diff options
| author | Maze Winther <mazewinther@gmail.com> | 2026-03-25 16:47:22 +0100 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2026-03-29 15:48:22 +0200 |
| commit | 8db3bead13441a5882d8689dfc6a9f09c82375d9 (patch) | |
| tree | e9d0cafa93904ffcbec3188c37961bcc16c6422d /apps | |
| parent | 39ea298a9ccba3104c549c0ca079c231981811f5 (diff) | |
| download | opencut-8db3bead13441a5882d8689dfc6a9f09c82375d9.tar.gz | |
feat: masks, properties refactor, shaders, storage migrations, and more
Diffstat (limited to 'apps')
678 files changed, 33841 insertions, 8396 deletions
diff --git a/apps/web/content/changelog/0.3.0.md b/apps/web/content/changelog/0.3.0.md index 09c7bfbd..345688fa 100644 --- a/apps/web/content/changelog/0.3.0.md +++ b/apps/web/content/changelog/0.3.0.md @@ -12,4 +12,71 @@ changes: text: "Added a changelog link to the footer." - type: fixed text: "Media asset cards in the grid view were larger than their thumbnails, leaving empty space around each item. Cards now size to their content." + - type: improved + text: "Playback performance is dramatically better. The editor used to slow to a crawl during playback, and audio would stutter when interacting with elements mid-play. Both are fixed. Playback now runs at a consistent 60fps." + - type: fixed + text: "Project thumbnails now generate correctly even when the timeline is empty. If you set a background color or gradient with no clips, the thumbnail reflects that instead of staying blank." + - type: fixed + text: "Clicking a selected element no longer keeps the rest of the selection." + - type: improved + text: "More vertical space between timeline tracks. Selection outlines on adjacent tracks no longer overlap each other." + - type: fixed + text: "Track labels on the left side of the timeline were misaligned with the tracks on the right." + - type: improved + text: "Holding Shift or Ctrl while drag-selecting in the timeline now adds to your existing selection instead of replacing it. Matches how Shift/Ctrl+click already worked." + - type: improved + text: "Timeline track rows now highlight when they contain a selected element, making it easier to see which tracks are active at a glance." + - type: fixed + text: "Clicking in the empty space below timeline tracks now seeks the playhead." + - type: fixed + text: "Timeline vertical scroll now works anywhere in the panel, not just over the track labels. The header no longer scrolls with the tracks." + - type: new + text: "Scale now has separate width and height controls. You can stretch or squash elements independently on each axis." + - type: improved + text: "System fonts (Arial, Helvetica, Times New Roman, and others) now appear in the font picker alongside Google Fonts." + - type: fixed + text: "MP4 exports with audio failed on Firefox. The export now completes successfully regardless of browser." + - type: improved + text: "Your projects can disappear if your disk runs low on space. OpenCut now asks the browser to protect them." + - type: fixed + text: "Opening the mask or effects panel for one element, then selecting a different element, would keep the wrong panel open and hide the transform handles for the new selection. Each element now remembers its own panel state independently." + - type: new + text: "Volume control for audio and video elements, both in the properties panel and inline on timeline clips." + - type: new + text: "Speed control for video and audio clips. Includes a maintain pitch option so audio doesn't chipmunk or deepen when you change the rate." + - type: improved + text: "Audio waveforms have gotten an upgrade. The old ones were inaccurate, prone to crashing, and not very useful. The new ones are RMS-based, properly scaled, and only render what's visible so they don't slow things down." + - type: improved + text: "The timeline now opens scrolled to the bottom, so your main video track is visible right away instead of being hidden above the fold." + - type: fixed + text: "Snap guides didn't show when moving a full-canvas element to the center of the frame." + - type: fixed + text: "The rotation handle could float above the editor UI when an element was near the top of the canvas. It now clips to the preview area." + - type: fixed + text: "Images with a blur effect at 0% intensity would disappear completely when a blurred background was also active. Now 0% blur correctly renders the image unchanged." + - type: fixed + text: "Section titles in the properties panel showed the wrong text color when the section wasn't collapsible. Non-collapsible titles now use the correct muted style." + - type: new + text: "Masks. Hide or reveal parts of any video or image layer. Choose from split, rectangle, ellipse, star, heart, diamond, text, and custom masks. Adjust position, size, rotation, feather, and stroke in the properties panel, or drag the handles in the preview." + - type: improved + text: "The settings panel has been redesigned with a cleaner layout and better organization." + - type: new + text: "Layout guides are back and expanded. TikTok was the only option before. Now includes a grid guide plus TikTok, Instagram Reels, YouTube Shorts, and Snapchat Spotlight." + - type: new + text: "Canvas backgrounds are back. Set a blur, solid color, or gradient as the canvas background from the new Background tab in the settings panel." + - type: fixed + text: "Blur looked pixelated at higher intensities instead of producing a real blur. Both the canvas background blur and the blur effect are now fixed." + - type: new + text: "Custom canvas size. Instead of being locked to a handful of presets, you can now enter any width and height you want." + - type: new + text: "Preview zoom and panning. Zoom into the canvas to work on fine details, and pan around to navigate when zoomed in." + - type: new + text: "Stickers panel now has content. Browse and add logos, country flags, and shapes." + - type: improved + text: "You can now select multiple assets in the assets panel. Useful for deleting several at once." + - type: fixed + text: "Auto-generated captions were sometimes inaccurate. The underlying issue has been fixed." + - type: new + text: "You can now import transcript files to generate captions instead of running auto-transcription." + --- diff --git a/apps/web/next.config.ts b/apps/web/next.config.ts index 2f509d2a..334e486e 100644 --- a/apps/web/next.config.ts +++ b/apps/web/next.config.ts @@ -51,6 +51,10 @@ const nextConfig: NextConfig = { protocol: "https", hostname: "api.unisvg.com", }, + { + protocol: "https", + hostname: "cdn.brandfetch.io", + }, ], }, }; diff --git a/apps/web/package.json b/apps/web/package.json index a00c9671..9c8f229d 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -16,13 +16,9 @@ "db:push:prod": "cross-env NODE_ENV=production drizzle-kit push" }, "dependencies": { - "@ffmpeg/core": "^0.12.10", - "@ffmpeg/ffmpeg": "^0.12.15", - "@ffmpeg/util": "^0.12.2", "@hello-pangea/dnd": "^18.0.1", - "@hookform/resolvers": "^3.9.1", "@hugeicons/core-free-icons": "^3.1.1", - "@hugeicons/react": "^1.1.4", + "@hugeicons/react": "^1.1.6", "@huggingface/transformers": "^3.8.1", "@opencut/env": "workspace:*", "@opencut/ui": "workspace:*", @@ -38,15 +34,12 @@ "@types/culori": "^4.0.1", "@upstash/ratelimit": "^2.0.6", "@upstash/redis": "^1.35.4", - "@vercel/analytics": "^1.4.1", - "aws4fetch": "^1.0.20", "better-auth": "^1.2.7", "botid": "^1.4.2", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.0.0", "culori": "^4.0.2", - "dayjs": "^1.11.13", "drizzle-orm": "^0.44.2", "embla-carousel-react": "^8.5.1", "eventemitter3": "^5.0.1", @@ -67,21 +60,19 @@ "react-hook-form": "^7.54.0", "react-icons": "^5.4.0", "react-markdown": "^10.1.0", - "react-phone-number-input": "^3.4.11", "react-resizable-panels": "^2.1.7", "react-window": "^2.2.7", - "recharts": "^2.14.1", "rehype-autolink-headings": "^7.1.0", "rehype-parse": "^9.0.1", "rehype-sanitize": "^6.0.0", "rehype-slug": "^6.0.0", "rehype-stringify": "^10.0.1", "sonner": "^1.7.1", + "soundtouchjs": "^0.3.0", "tailwind-merge": "^3.5.0", "tailwindcss-animate": "^1.0.7", "unified": "^11.0.5", "use-deep-compare-effect": "^1.8.1", - "vaul": "^1.1.2", "wavesurfer.js": "^7.9.8", "zod": "^3.25.67", "zustand": "^5.0.2" @@ -104,7 +95,6 @@ "raw-loader": "^4.0.2", "sharp": "^0.34.5", "tailwindcss": "^4.2.1", - "tsx": "^4.7.1", "typescript": "^5.8.3" } } diff --git a/apps/web/postcss.config.mjs b/apps/web/postcss.config.mjs index 6ba14df9..61e36849 100644 --- a/apps/web/postcss.config.mjs +++ b/apps/web/postcss.config.mjs @@ -1,8 +1,7 @@ -/** @type {import('postcss-load-config').Config} */ const config = { - plugins: { - "@tailwindcss/postcss": {}, - }, + plugins: { + "@tailwindcss/postcss": {}, + }, }; export default config; diff --git a/apps/web/public/flags/ad.svg b/apps/web/public/flags/ad.svg new file mode 100644 index 00000000..199ff198 --- /dev/null +++ b/apps/web/public/flags/ad.svg @@ -0,0 +1,150 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ad" viewBox="0 0 640 480"> + <path fill="#d0103a" d="M0 0h640v480H0z"/> + <path fill="#fedf00" d="M0 0h435.2v480H0z"/> + <path fill="#0018a8" d="M0 0h204.8v480H0z"/> + <path fill="#c7b37f" d="M300.4 136.6c7.7 0 10.9 6.6 18.6 6.6 4.7 0 7.5-1.5 11.7-3.9 2.9-1.6 4.7-2.5 8-2.5 3.4 0 5.5 1 7.3 4 1 1.6 1.8 4.9 1.3 6.7a40 40 0 0 1-2.7 8.3c-.7 1.6-1.3 2.5-1.3 4.2 0 4.1 5.6 5.5 9.4 5.6.8 0 7.7 0 12-4.2-2.3-.1-4.9-2-4.9-4.3 0-2.6 1.8-4.3 4.3-5.1.5-.1 1.3.3 1.7 0 .7-.3.4-1 1-1.4 1.2-1 2-1.6 3.6-1.6q1.3-.1 2.5.7.5.7 1 .8c1.2 0 1.8-.8 3-.8a5 5 0 0 1 2.3.6c.6.3.6 1.5 1.4 1.5.4 0 2.4-.9 3.5-.9 2.2 0 3.4.8 4.8 2.5.4.5.6 1.4 1 1.4a6 6 0 0 1 4.8 3c.3.4.7 1.4 1.1 1.5.6.3 1 .2 1.7.7a6 6 0 0 1 2.8 4.8q-.1 1.2-.5 2.2c-1.8 6.5-6.3 8.6-10.8 14.3-2 2.4-3.5 4.3-3.5 7.4 0 .7 1 2.1 1.3 2.7-.2-1.4.5-3.2 2-3.3a4 4 0 0 1 4 3.6l-.3 1.8a10 10 0 0 1 4-1.4h1.9c3.3 0 7 1.9 9.3 3.8a21 21 0 0 1 7.3 16.8c-.8 5.2-.3 14.8-13.8 18.6 2.5 1 4.2 3 4.2 5.2a4.5 4.5 0 0 1-4.4 4.7 4 4 0 0 1-3.5-1.4c-2.8 2.8-3.3 5.7-3.3 9.7 0 2.4.4 3.8 1.4 6s1.8 3.5 3.7 5.1q1.3-2.4 4-2.6 2.7-.1 3.9 2.2c.2.5 0 .9.3 1.4.3.6.8.7 1.1 1.3.5 1 0 1.8.5 2.7.3.7.9.8 1.2 1.4.4 1 .5 1.6.5 2.7 0 3-2.7 5.2-5.7 5.2-1 0-1.4-.4-2.3-.3 1.7 1.7 3 2.5 4.3 4.5a18 18 0 0 1 3 10.3 22 22 0 0 1-2.8 11.2 20 20 0 0 1-7 8.5 35 35 0 0 1-16 6.4 74 74 0 0 1-11 1.4l-14.1.8c-7.2.4-12.2 1.5-17.3 6.6 2.4 1.7 4 3.5 4 6.4q-.2 4.7-4.7 6.2c-.7.2-1.2 0-1.9.4s-.7 1.3-1.4 1.7a6 6 0 0 1-3.8 1 8 8 0 0 1-6.4-2.5c-2.2 1.8-3 3.4-5.5 4.9-.8.4-1.2 1-2.1 1-1.5 0-2.2-1-3.4-1.8a23 23 0 0 1-4.4-4c-2.3 1.3-3.6 2.4-6.3 2.4a7 7 0 0 1-4-1c-.6-.5-.8-1.2-1.5-1.6s-1.3-.3-2.1-.7c-3-1.3-5-3.5-5-6.8 0-2.9 1.8-4.7 4.4-6-5-5-10-5.8-17-6.2l-14-.8c-4.4-.3-6.8-.7-11-1.4-3.3-.5-5.2-.7-8.2-2.1-10.2-4.8-16.8-11.3-18-22.5-.2-1-.2-1.5-.2-2.5 0-5.8 2.3-9.4 6.4-13.5-1-.3-1.7 0-2.8-.3-2.5-1-4.4-2.7-4.4-5.5q-.1-1.4.5-2.6c.4-.6 1-.7 1.2-1.4.2-1 0-1.6.4-2.5.3-.5.8-.6 1-1.2 1-1.9 2-3.4 4.1-3.4q2.7.1 3.8 2.5c1.8-.8 2.2-2.1 3.2-3.7a16 16 0 0 0 1.4-13.3c-.4-1.5-.6-2.5-1.8-3.7q-1.4 1.4-3.4 1.4c-2.9 0-5-2.5-5-5.3a5 5 0 0 1 3-4.6c-1.6-1.4-3-1.5-4.7-2.6-2.6-1.6-3.5-3.4-5.2-6-1.2-1.6-1.5-2.8-2-4.7a19 19 0 0 1-1-7.8c.6-5 1.5-8 4.6-11.9 1.8-2.3 3-3.7 5.8-4.9 2.3-1 3.7-1.7 6.2-1.7l2 .1a7 7 0 0 1 2.8.8c.4.2 1.1.9 1.1.4s-.3-.8-.3-1.3c0-2 1.5-4 3.6-4 1.5 0 2.1 1.4 2.9 2.7q.6-1 .7-2.3c0-3.4-1.9-5.2-4-7.9-4.7-5.8-10.5-8.5-10.5-16q0-3.2 3-4.9c.5-.3 1.3 0 1.8-.3s.4-1 .7-1.4q.7-.9 1.6-1.6c1-1 2-.6 3.1-1.5q.8-.7 1.2-1.4c1.3-1.6 2.5-2.4 4.6-2.4q1.3-.1 2.5.4l1 .5q.5-.5 1.5-1.1a4 4 0 0 1 2.2-.6c1.1 0 1.8.6 3 .6l.8-.6c1-.7 1.5-1 2.7-1s1.8.3 2.8 1c1 .5 1 1.3 2 1.8l1.5.4c2.6.9 4.5 2.6 4.5 5.3q.1 2.1-1.4 3.5c-.9.7-1.7.6-2.8 1a16 16 0 0 0 11.3 3.5c4.2 0 9.3-1.7 9.3-5.9 0-2-1-3-1.8-4.8a19 19 0 0 1-2.1-8.5c0-2.8.3-4.5 1.9-6.7s3.6-2.9 6.5-2.9"/> + <g fill="none" stroke="#703d29"> + <path stroke-linejoin="round" stroke-width=".7" d="M272.4 159a4 4 0 0 0 2.4 2.4c.8.3 2.7.2 3.8-1.4 1-1.2 1-2.8.6-4a5 5 0 0 0-1.7-2.2z"/> + <path stroke-linecap="round" stroke-width=".7" d="M401 236.1c-1.2-2.9-4.3-1.6-4.4 0-.5 3.7 2.7 4.8 5 4.2a4 4 0 0 0 2.5-2q1-1.6.4-3.7l-.8-1.6-1.3-1.2q-1.2-.7-3.4-.6c-5.5 0-10.4 6.5-12 13.4-.6 2.2-1.3 7.3-.3 12a22 22 0 0 0 5.9 11.3 26 26 0 0 0 9.9 5.8 8 8 0 0 0 4 .1c3.2-.7 4.7-3.8 3-7-1.3-2.5-5.3-4-7.2-.6q-.3.5-.4 1.5c0 .9.4 2 1 2.4 1.5.9 3.8.6 3.7-2"/> + <path stroke-width=".8" d="M383.8 274a11 11 0 0 1 6.6-3.7q4.4-.4 8.2 2a19 19 0 0 1 10.8 17c0 3.6-1 7.5-2 9.4-.8 1.7-3 9-15.3 14-7.1 3-18 3.6-25.7 4-10.4.3-20 .7-25.5 7.6"/> + <g stroke-width=".7"> + <path d="M386.4 285.7q-.4-1.5.8-3.3c1.2-1.6 3.7-2.1 6-1a7 7 0 0 1 2.5 2.2l1.1 1.6q1 1.7 1 2.5c2.5 7-1.4 14.5-6.5 17.6-4 2.4-8.7 3.4-14.4 4-2.5.4-4 .3-6.5.5h-16.8c-2.9.3-5 .4-7.6.8q-2.4.3-5.4 1-.9 0-1.8.4l-1.2.3q-5.5 1.6-9.8 4.2-1.3.7-2.5 1.7l-1.3 1.2c-2 2-3.9 4-4.4 6.7v1.6c0 1.8 1.4 4.3 5.4 5m5.5-170c.8 1.4 1.3 2.3.8 3.9q-.9 2.7-3.6 2.8c-4 0-6.3-4.8-4.5-7.8 3.2-5.3 9.3-2.3 15 .3-.3-1.3-.8-1.8-.7-3.5.1-4.2 3.2-6 4.5-10 .7-2.3 1-4.3-.7-6q-2.2-1.8-5.1-.6c-3.8 1.5-8.5 5.9-16.6 6-8.2-.1-12.8-4.5-16.7-6q-3-1.2-5.1.7c-1.7 1.6-1.4 3.6-.7 6 1.3 3.8 4.4 5.7 4.5 10 0 1.6-.4 2-.7 3.4 5.7-2.6 12-5.9 15-.3 1.7 3.2-.5 7.7-4.5 7.7q-2.7 0-3.6-2.7-.5-2.2.8-4"/> + <path stroke-linecap="round" d="M314.6 159.9a5 5 0 0 1 2.4 5c-.2 2.5-.8 3.1-2.8 4.5m2.4-3.8q0 2.2-2.3 3.1"/> + </g> + <path fill="#c7b37f" stroke="none" d="m276.7 153.3.7.5.8.8.5 1 .2.8v1.9l-.2.8-.5.6-.6.6-.9.5-1 .2-1 .2-1-.5-.9-.6-.5-.8-.4-1v-.4z"/> + <path stroke-linecap="round" stroke-width=".7" d="M275.2 157.2c-.3-1.7-2.2-2-3-1-1.1 1.5-.3 4 2 4.7a4 4 0 0 0 3.9-1.4c1-1.3.9-2.8.5-4a5 5 0 0 0-1.7-2.2c-2.7-2-7.1-1.6-8.6 2-1.8 4.4 2.2 7.8 6 10.3 4.6 3.2 10 3.8 14 3.8 9.2-.1 16.2-4.5 20.7-7q1.7-.9 2.7.2a2 2 0 0 1-.3 2.7"/> + <path stroke-width=".7" d="m248 281.2-2 .7-2 1.6-1 1.3-1.1 2-.5 1.5-.4 1.8-.2 1.4m19-10.1-.1 1.8-.3 1.2-1 2.2-1.3 1.8-1.5 1.2-1.1.5-1.6.4"/> + <path stroke-width=".8" d="M319.7 329.1c-.3 1.7-1.9 3.6-5.3 4.2l-.6.2"/> + <path stroke-width=".9" d="M404.2 276.2a18 18 0 0 1 5.6 13.5c0 3.6-1 7.5-2 9.4-.8 1.7-3 9-15.3 14a85 85 0 0 1-25.6 4c-10.3.3-19.8.7-25.4 7.3"/> + <path stroke-width=".6" d="M387.5 282.9c.8-1 3.5-2.4 5.8-1.1a6 6 0 0 1 2.3 2"/> + <path stroke-width=".9" d="m401.6 273.8 1.4.5a7 7 0 0 0 4 0c2.8-.8 4.6-3.4 3.2-6.9a6 6 0 0 0-1.8-2.1"/> + <path stroke-linecap="round" stroke-width=".7" d="M240.3 199.8c-2 1.1-3.3 1.4-4.8 3.1a28 28 0 0 0-2.6 6.8m46-51.7q-.1 2.7-3 3.2"/> + <path stroke-width=".6" d="M397.1 192a19 19 0 0 1 18.6 19.8c0 16-9.9 18.5-13.8 19.6"/> + <path stroke-width=".7" d="M398.4 192c8.1-.3 16.5 5.7 16.9 20.7.3 11.7-8 17-12 18"/> + <path stroke-width=".6" d="m393.8 248.4.1-1.6.6-2.5.7-2 .9-1.6 1-1.3m7.8-3.4v1.5l-.5 1-.7 1.1-.8.6-1.2.5h-1.1l-.8-.1m-14.3-52.8.3-1.7.8-1.6 1-1.5 1.6-2.2 1.4-1.4 2-2.2 2-1.9 1.1-1.3 1.5-1.9 1.4-2 .8-1.7.5-2.2.1-2.7-.2-.8m-12.3 128.2 1.6-.4 1.2-.6.7-.7.5-.8.3-1.2v-.9m-158.2-12.1h2.7l1.6-.6m5-36.5-.2 1.4-.4.6-.4.6-.7.5-.7.3-1 .1h-.6m9.9-15.5-.3 2.1-.5 1-.8 1.2-1.2.9-1.2.6-2.3.5m15.3-39.7-.5 1.3-.5 1-.8 1-1 1-1.2.5-1.1.3-.6-.1m.3-6.2v1"/> + <g stroke-width=".6"> + <path stroke-linecap="round" d="M254.3 224a7 7 0 0 1-2.1 1.4m150.5 44.8.5.2c1.4.8 4.2-.2 3.4-2.4"/> + <path d="M397.8 239.6c1 1.3 2.9 1.7 4.4 1.3a4 4 0 0 0 2.5-2q1-1.6.4-3.7l-.9-1.6-1.3-1.5-.4-.2m6.4 34 .1-.7a4 4 0 0 0-1.3-3l-.8-.8m.4.5c0-1.8-1.5-3.2-3.4-3.5m-4.2 2.8-1.3-1a16 16 0 0 1-4.3-10.7c0-4.2 1.6-8.4 3.6-10M341.2 324l1.8-1.6 1.2-1 2.3-1.4 2.2-1 1.6-.5 3-.6 3.6-.6m-29.5 19.4a17 17 0 0 1-7.6 6.1 18 18 0 0 1-7.6-6.1"/> + <path stroke-linecap="round" d="M314.4 332.6a10 10 0 0 1-2.2 4.2"/> + <path d="m314.7 330.5-.4 2.2M312 337l-1 1-1.7.9-2 .6m-5.6-177.8c.3-.8.5-1.4.5-2.6-.1-4.2-3.2-6.1-4.5-10-.7-2.3-1-4.3.7-6q2.2-2 5-.6c4 1.5 8.6 5.8 16.7 6-8.1-.2-12.8-4.5-16.6-6-2-.8-3.8-1-5.3.5-1.7 1.6-1.2 3.8-.5 6.1 1.3 3.9 4.2 5.8 4.3 10q-.1 1.6-.5 2.6M320 148c8-.4 14.9-5.8 17.1-6.3 2-.4 3-.2 4.5 1.1-1.4-1.3-3-1.2-5-.5-3.8 1.5-8.4 5.8-16.6 6m79.6 112.9a16 16 0 0 1-6.2-12.4c0-4.1 1.7-8.4 3.6-10m-70 97.6c-1.3 2-4.3 5-7.6 6.2a18 18 0 0 1-7.6-6.2"/> + <path stroke-linecap="round" d="m306.7 163.7 2.3-1.3c1-.6 2.3-.5 2.9.2s.7 2-.2 2.8"/> + <path d="M294.7 169.3c5.5-1.2 10-3.6 13.4-5.5M340.3 328c.5.3.8 1 .8 1l.3.8c.3 1.5-.7 2.4-2 2.6-1.7.2-3-.8-3.5-2M294.4 169c5.5-1.1 10-3.6 13.4-5.5m97.6 106.9c-1 .4-1.6.3-3-.2l-1.8-1a21 21 0 0 1-8.4-9 19 19 0 0 1-1.7-4.6 12 12 0 0 1-.5-3.3 26 26 0 0 1 4.7-15.3c1.1-1.6 2.1-2.5 4.2-2.6m-143.7-39.3a7 7 0 0 1 2.7 5.7c0 3.1-2.6 8.2-9 10a8 8 0 0 1-6.3-.8"/> + <path d="M256.3 205.6q1.6 1 1.6 3.3 0 1.6-1.9 3.7a12 12 0 0 1-8.8 4q-3 .1-6-1.7a9 9 0 0 1-3.8-5.4"/> + <path d="M256.2 212.3q1.8 1.8 1.7 4.6.1 3.9-3.7 7-.8.8-2 1.5m129.5-22.1v3.5m-.3-4.4v5m.3-15.8v6.6m-.3-8v8.9m-1.9 82a19 19 0 0 1-4.2 5.6 20 20 0 0 1-5.8 4.1 25 25 0 0 1-6.6 2.2 33 33 0 0 1-6.8.9c-2.5 0-3.9 0-6.4-.2s-4-.6-6.7-.8c-2.2-.2-3.4-.4-5.6-.3a28 28 0 0 0-11 1.8c-2.6 1-5.7 3-6.3 3.8a22 22 0 0 0-6.4-3.8 22 22 0 0 0-5.1-1.4c-2.3-.4-3.5-.4-5.8-.4s-3.4.1-5.6.3c-2.6.3-4 .6-6.7.8-2.5.2-3.9.3-6.4.2a33 33 0 0 1-13.4-3 20 20 0 0 1-6.4-4.8m42.1 53.4 1.8-.2m30.3-2.4 1.8-.1 1.7-.7 1.2-.8 1.7-2 .3-.6.3-1.7v-.8m47-136.7c.7-2.6-.2-5.4-2.8-5.3m-132 46.5a8 8 0 0 1-3.5 4.7m3.6-46.7a7 7 0 0 1-3.6 4c-1.9.8-4 0-5.2-.8"/> + <path stroke-linecap="round" d="M243.8 202.4c1.5.8 3.1-.4 2.8-2.4a3 3 0 0 0-2.5-2.2"/> + <path d="M250.2 286.6q.3.5.8.8c.7.2 1.2.4 1.9-.5.8-1.1.3-2.8-.5-3.9a5 5 0 0 0-5.8-1q-1.2.6-2.6 2.2l-1.1 1.6q-1 1.7-1.1 2.4c-2 5.9.4 12 4.1 15.7"/> + <path stroke-linecap="round" d="m340.2 327.8.7.8.2.9c.3 1.5-.7 2.4-2 2.6-1.6.2-2.8-.8-3.3-2"/> + <path d="M389.4 154.8a7.4 7.4 0 0 1 6.3 7c0 4.4-1.5 6-3.8 9.2-2.5 3.4-10.7 9.6-10.7 16.7q-.2 6.4 4.3 8.4c2 1 4.3 0 5.4-1 2.6-2.4 1.5-6.5-1.2-7-3.2-.6-3.9 4.6-.7 4.3m17.9 69a4 4 0 0 0-3.6-3 3.7 3.7 0 0 0-3.7 3.7q0 1.6 1 2.6"/> + <path d="M383.9 195.1a7 7 0 0 0-2.7 5.7c0 3.1 2.6 8.2 9 10 2.4.7 4.8.6 6.2-.3m-156-10.3a9 9 0 0 0-4.8 3.5 17 17 0 0 0-2.2 12.7 16 16 0 0 0 2.3 5.6l1 1.2 1.2 1m64 92c4.9 2.1 8.4 3.7 11.4 8.5a10 10 0 0 1 1.2 4.9c0 2.7-1 5.7-3.3 7.6a8 8 0 0 1-6.7 2c-1.9-.2-3.7-1.6-4-2.6M254 224.1c2.7 2.2 3.9 4.2 3.9 7.5a8 8 0 0 1-4 7.5"/> + <path stroke-linecap="round" d="M251.5 236.4c4 5.1 6.3 8.1 6.4 14.1.1 5.7-1.7 9.6-5 13.7"/> + <path d="M329.8 169.3a4 4 0 0 0 1.5-2.2q.8-2.2-.2-4 1.3 2 .7 4c-.1 1-.8 1.5-1.6 2.3m51.5 86.1v16.2l-.1 2.5-.3 1.7"/> + <path d="M381.4 254v19.9l-.5 2.6m.5-43v14.6m.3-13.4v11.8m0-26.8v8.8m-.3-9.9v11m.3-19v3.5m-.3-4.2v5m-1.8 65.2-.4.7a19 19 0 0 1-4.1 5.7 20 20 0 0 1-5.9 4 25 25 0 0 1-6.5 2.2c-2.7.6-4.2.8-6.9.9-2.5 0-3.9 0-6.3-.2-2.7-.2-4.1-.5-6.8-.8-2.2-.2-3.4-.3-5.6-.3s-3.5 0-5.7.4a22 22 0 0 0-5.2 1.4c-2.7 1.1-5.7 3-6.4 3.8-.6-.8-3.7-2.7-6.3-3.8a22 22 0 0 0-5.2-1.4c-2.2-.4-3.5-.4-5.8-.4s-3.4.1-5.6.3c-2.6.3-4 .6-6.7.8-2.5.2-3.9.3-6.3.2a33 33 0 0 1-13.5-3 20 20 0 0 1-5.8-4.1l-2.5-2.8m-2-3.2a10 10 0 0 1-2.3 7.7c-.8.9-2.6 2.6-5 2.6-3.7 0-4.8-2.5-5-3.2"/> + <path d="M255.6 278.9q1 1 1.9 2.5c1 1.8.6 4.8-.1 6.2l-.3.4m-20.3 18q3.3 3.8 10.9 7.1c7.1 3 18.1 3.6 25.7 4 10 .3 19.3.7 25 7m17.3-4a12 12 0 0 1 4 5.5m-7.3 11.5-.7.7a8 8 0 0 1-6.6 2c-2-.2-3.8-1.6-4.3-2.6m-5.4-2.9.3.4a8 8 0 0 0 5.1 2.4m27 0a18 18 0 0 1-7.7 6.1 18 18 0 0 1-7.6-6.1l-.3-.5m15.6.4.7.7a8 8 0 0 0 6.7 2 6 6 0 0 0 4-2.5l.5-.7"/> + <path d="m339 336.6-.7 1.2-1.1 1-1.7.7h-1.6"/> + <path d="M343 325.3a8 8 0 0 1 2.4 2.9q.4 1 .5 2.3a6 6 0 0 1-1.5 4.2 8 8 0 0 1-5.4 2.4h-.4m.2-.2a7 7 0 0 1-5.2-2.2m63.7-67.9a24 24 0 0 1-4.8-6.4 19 19 0 0 1-1.7-4.5 12 12 0 0 1-.5-3.3 26 26 0 0 1 4.6-15.3c.7-.8 1.4-1.8 2.1-2.2m-1.3-75.9c2.5.2 4.8 3 4.8 5.7 0 3.8-1.3 5.5-4.4 9.3-2.6 3.2-10.6 9-10.3 14.5q.1 1.6 1.1 2.8m-3.2 3.5a7 7 0 0 0 2 1.4 5 5 0 0 0 4.3-.3M369 153a6 6 0 0 1 2.2 2.6c1.8 4.5-2.2 7.9-6 10.4a21 21 0 0 1-8.3 3.3"/> + <path d="M364.6 161.6a4 4 0 0 1-3.1-1.5l-.7-1m-15 4.9-1.2-1q-1.7-1.4-.8-4.4c.6-1.9 3.7-7.2 3.8-10.9.2-5.6-2-9-5.3-10.2"/> + <path stroke-linecap="round" d="m347.3 146.5-.1 2-.6 2.2-1 3-1 1.9-.8 1.9-.4 1.3-.2 1 .1.9m38 126.3.6.8c.7 1 3.2 3 5.5 3 3.7 0 4.6-2.6 4.7-3.2.5-2.9-.5-3.6-2-4.5 0 0-.8-.4-1.9-.2"/> + <path d="M237 274.4a7 7 0 0 1-3.7 0c-2.9-.9-5.2-3.6-4-7m13.4-31.8q.4.5.4 1c.4 3.8-2.8 4.8-5 4.2a6 6 0 0 1-3-2.3 5 5 0 0 1-.7-2.3m22-23.6q.9.7 1.3 1.7m-1.1-8.5q.8.7 1.1 1.3"/> + <path stroke-linecap="round" d="M257.9 210.5a9 9 0 0 1-1.6 2.4 12 12 0 0 1-8.8 4q-3 .1-6-1.7a10 10 0 0 1-4-5.6"/> + <path d="M255.4 195.3a8 8 0 0 1 2.4 3.4"/> + <path stroke-linecap="round" d="M257.8 203.2c-.9 3-3.5 6.6-8.6 7.9-2.4.6-5.6-.2-6.6-1"/> + <path d="M240 202.6c.3 2.6 2 4.6 5.4 4.6 4.7.1 7.6-6.7 3.4-11.5"/> + <path stroke-linecap="round" d="M229.4 225.5q1 1.3 2.4 2.4a17 17 0 0 0 6 3.3m5.2.5c4.2-.5 6.6-3.7 6-7.3-.3-2.8-2.8-5-4.6-5.1"/> + <path d="M249.8 188.1c1.9 0 3 1.6 2.9 3"/> + <path stroke-linecap="round" d="M249.4 163a12 12 0 0 0 5 5.9m144.2 31c1.7 2.3.6 7-4 7a5 5 0 0 1-4.5-2.5"/> + <path d="M381.7 169.1V185"/> + <path stroke-linecap="round" d="M243.8 202.3c1.4 1 3.3-.7 2.5-2.6-.5-1.2-2.2-2.6-4.7-.9-2.8 1.9-2 7.8 3.2 7.9 4.7 0 7.6-6.8 3.4-11.6-4-4.6-11.3-3.6-16 .2A21 21 0 0 0 225 207a23 23 0 0 0 0 9.2 21 21 0 0 0 3 7.5l1.3 1.7c.8.8 1 1.2 2 2a15 15 0 0 0 10.4 3.7c4.6-.2 7.3-3.4 6.8-7.3-.4-3.8-4.2-5.7-6.7-3.9-1.7 1.2-2.3 4.9.7 5.8 1.6.5 3.1-1.7 2-3M374 150.9q4-2.2 6.3 1a10 10 0 0 1 1.6 7.2 9 9 0 0 1-3.5 5.8"/> + <path stroke-linecap="round" d="M380.5 152c3.1-2 6.5-1.1 8.3 1.6 1.3 2 1.7 3.6 1.6 6.1a11 11 0 0 1-5.7 9.2"/> + <path d="M395 159.2c2.6.2 4.6 2.5 4.6 5.1 0 3.8-1 5.5-4 9.3-2.7 3.3-10.6 9-10.4 14.6 0 2.1 1.8 4 3.3 4.2"/> + <path stroke-linecap="round" d="M395.4 202.3c-1.5 1-3.3-.6-2.5-2.4.5-1.2 2.2-2.8 4.7-1.1 2.7 1.9 2 7.8-3.3 7.9-4.7 0-8-6.6-3.4-11.6 4-4.6 11.7-3.7 16.5.1 2 1.6 6.1 6 7 12 1 7 .9 15.6-6.4 21-3 2.1-7 3.1-10.6 3-4.6-.2-7.3-3.5-6.8-7.4.5-3.8 4-5.4 6.7-3.9s2.3 5.4-.7 5.8c-1.7.2-3.1-1.7-2-3"/> + <path d="M392.9 199.9c.8-3.5 3.7-3.8 6.2-3.8 6.5.1 11.1 8 11.2 15.5 0 9.5-4 15.2-11 15.5-1.9 0-5-.8-5-3"/> + <path stroke-linecap="square" d="M397 198.3c6.9 1.6 9.3 7.8 9.3 13.8 0 4.9-.5 11.6-10 13.9"/> + <path d="M408.4 265.3a3.9 3.9 0 1 0-6.3 2.4"/> + <path stroke-linecap="round" d="M394.4 259.4c1.4 2 3 4.1 6.3 6m-1.3 10.5c-3.2-2.2-9.5-5-15-2.2a8 8 0 0 0-4.4 4.4 10 10 0 0 0 1.8 9.5c.9 1 2.7 2.6 5 2.7 3.8 0 4.7-2.6 4.8-3.2.4-2.8-1.2-3.9-2-4.1-.7-.3-2.8-.2-3.2 1.3q-.3.9.2 2"/> + <path stroke-linecap="round" d="M340.5 328.4c1 2.2-.2 3.2-1.6 3.4-2.2.3-3.3-1.4-3.4-3a4.4 4.4 0 0 1 4.3-4.7c2.3 0 4.1 1.5 5 3.5q.5 1 .5 2.4a6 6 0 0 1-1.4 4.1 8 8 0 0 1-5.4 2.5c-4.2.1-7.5-3.8-7.5-7.8 0-7.7 11.4-12 16-13a84 84 0 0 1 17.9-2.4c3.5-.1 6.2 0 10.1-.5 3.5-.3 5.4-.5 9-1.3a27 27 0 0 0 12.6-6.4c2.9-2.7 4.5-4.5 5.9-8.2a17 17 0 0 0-1.3-13.9 14 14 0 0 0-10.3-6.8c-3.7-.5-7 1.1-9 4.8-1 1.8-.6 4.8.1 6.2a6 6 0 0 0 4.8 3c3.8 0 4.7-2.6 4.8-3.2.4-2.8-1.2-3.9-2-4.2-.7-.2-2.8-.1-3.2 1.4q-.3.9.2 2"/> + <path stroke-linecap="round" d="M337.2 316.2c-4.8 2.1-8.4 3.7-11.4 8.5a10 10 0 0 0-1.2 4.9c0 2.7 1.1 5.7 3.3 7.6a8 8 0 0 0 6.7 2c2-.2 3.7-1.6 4-2.6"/> + <path d="M385.1 224.1c-2.3.8-3.9 4.2-3.9 7.5a8 8 0 0 0 4 7.5"/> + <path stroke-linecap="round" d="M387.6 236.4c-4 5.1-6.3 8.1-6.4 14.1 0 5.7 1.7 9.6 5.1 13.7"/> + <path d="m365.9 152 .3-.5c1.7-2.4 4.7-3.1 6.9-1.5 2.6 2 3.3 5.4 2.6 9q-.9 3.3-4 5.5"/> + <path stroke-linecap="round" d="M265.1 150.8q-3.9-1.9-6.3 1a9 9 0 0 0-1.6 7.2c.6 2.7 1.4 3.8 3.5 5.8"/> + <path d="M258.6 152a6 6 0 0 0-8.3 1.6 9 9 0 0 0-1.6 6.1c.2 4.2 2.8 7.6 5.8 9.2"/> + <path d="M249.7 154.8a7 7 0 0 0-6 6.6c0 4.5 1 6.3 3.5 9.6 2.5 3.4 10.7 9.6 10.7 16.7q.2 6.4-4.3 8.4c-2 1-4.3 0-5.4-1-2.6-2.4-1.5-6.5 1.2-7 3.3-.6 3.9 4.6.7 4.3"/> + <path d="M244 159.2c-2.5.2-5 2.3-5 5 0 3.8 1.5 5.6 4.6 9.4 2.6 3.3 10.1 9 9.9 14.5 0 2-1.5 4.6-2.9 4.3"/> + <path stroke-linecap="round" d="M238 236.1c1.3-2.9 4.4-1.6 4.6 0 .4 3.7-2.8 4.8-5.1 4.2a4 4 0 0 1-2.5-2 5 5 0 0 1-.4-3.7l.9-1.6 1.2-1.2q1.3-.7 3.4-.6c5.5 0 10.4 6.5 12 13.4.6 2.2 1.3 7.3.3 12a22 22 0 0 1-5.8 11.3 26 26 0 0 1-10 5.8 7 7 0 0 1-3.9.1c-2.8-.9-4.6-3.5-3.2-7 1.2-2.6 5.4-4 7.3-.6q.3.5.4 1.5c0 .9-.4 2-1 2.4-1.4.9-3.7.6-3.6-2"/> + <path d="M233.8 270.4c1 .4 1.6.3 2.9-.2l1.8-1c2.6-1.5 5.6-3.8 8.4-9.1a19 19 0 0 0 1.7-4.5q.4-1.6.6-3.3a26 26 0 0 0-4.8-15.3c-1.1-1.6-2-2.5-4.2-2.6m-9.5 31a3.9 3.9 0 1 1 6.3 2.3"/> + <path d="M232.2 261.4a4 4 0 0 1 3.7-3 3.7 3.7 0 0 1 3.6 3.7 4 4 0 0 1-1 2.6"/> + <path d="M239.4 261.3a16 16 0 0 0 6.2-12.4c0-4.1-1.6-8.4-3.6-10"/> + <path stroke-linecap="round" d="M244.7 259.4a17 17 0 0 1-6.3 6"/> + <path d="M254.6 273.7q-1.4-3.2-5.8-3.5-4.3-.3-8.2 1.9a19 19 0 0 0-10.8 17 25 25 0 0 0 2 9.5c.9 1.6 3 9 15.3 14a86 86 0 0 0 25.7 3.9c10.4.4 20 .8 25.6 7.6"/> + <path stroke-linecap="round" d="M239.7 275.9c3.3-2.2 9.5-5 15.1-2.2a8 8 0 0 1 4.3 4.4 10 10 0 0 1-1.8 9.5c-.9 1-2.7 2.6-5 2.7-3.8 0-4.7-2.6-4.8-3.2-.4-2.8 1.2-3.9 2-4.2.7-.2 2.8-.1 3.2 1.4q.4.9-.2 2"/> + <path d="M252.7 285.7q.6-1.6-.8-3.3a5 5 0 0 0-6-1q-1.1.6-2.4 2.2-.7.7-1.2 1.6-1 1.7-1 2.5c-2.5 7 1.5 14.4 6.5 17.6 4.4 2.8 8.8 3.6 14.4 4 2.5.3 4 .3 6.5.5h16.8c3 .3 5.1.4 7.6.8q2.5.3 5.4 1 .9 0 1.8.4l1.2.3q5.5 1.6 9.8 4.2 1.3.7 2.5 1.7l1.3 1.2c2 2 4 4 4.4 6.7v1.6c0 1.8-1.4 4.3-5.3 5"/> + <path d="M298.6 328.4c-1 2.2.2 3.2 1.6 3.4 2.2.3 3.3-1.4 3.5-3a4.4 4.4 0 0 0-4.4-4.7 6 6 0 0 0-5 3.5 7 7 0 0 0-.5 2.4 6 6 0 0 0 1.4 4.1 8 8 0 0 0 5.4 2.5c4.2.1 7.5-3.8 7.5-7.8 0-7.7-11.4-12-16-13a84 84 0 0 0-17.9-2.4c-3.5-.1-6.2 0-10.1-.5-3.5-.3-5.4-.5-9-1.3a27 27 0 0 1-12.5-6.4 17 17 0 0 1-4.7-22 14 14 0 0 1 10.3-6.9q5.9-.7 9 4.8c1 1.8.6 4.8-.1 6.2a6 6 0 0 1-4.8 3c-3.8 0-4.7-2.6-4.8-3.2-.4-2.8 1.2-3.9 2-4.2.7-.2 2.8-.1 3.2 1.4q.3.9-.2 2"/> + <path stroke-linecap="round" d="m273.3 152-.4-.5c-1.7-2.4-4.7-3.1-6.9-1.5-2.6 2-3.3 5.4-2.5 9a9 9 0 0 0 4 5.5"/> + <path d="M366.8 159.6c-4 4.4-8.1 5.8-14.1 6-2 0-5.5-.6-7.6-2.1-1.3-1-2.8-2.6-1.9-5.5.6-1.9 3.7-7.2 3.8-10.9.3-5.6-1.9-8.7-5.3-9.9-6.2-2.2-13 4-17 5.4-2.1.7-3.2.8-5.1.8-2 0-3-.1-5.2-.8-4-1.4-10.7-7.6-17-5.4-3.4 1.2-5.5 4.3-5.3 10 .1 3.6 3.2 9 3.8 10.8 1 2.9-.5 4.5-1.9 5.5-2 1.5-5.7 2.1-7.5 2-6-.1-10.1-1.5-14.1-5.9"/> + <path stroke-linecap="round" d="M297.3 314.4c.8.3.2-.2 5.3 2a22 22 0 0 1 11.3 8.9 11 11 0 0 1 .9 7.3"/> + <path d="M297.7 336a8 8 0 0 0 3.2.9c4.2.1 7.5-3.8 7.5-7.8 0-2.8-1.5-5.2-3.6-7"/> + <path stroke-linecap="round" d="M298.6 328.4c-1 2.3.4 3.5 1.8 3.7 2.2.2 3.4-1.4 3.6-3a5 5 0 0 0-2.2-4.2"/> + <path d="M390.1 154.8c3.2 0 6 3.6 6 7.2 0 4.3-2.2 6.9-3.9 8.8q-1.9 2.3-4.4 4.7"/> + <path stroke-linecap="round" d="M386.3 151.4a9 9 0 0 1 2.8 2.4c1.3 2 1.7 3.7 1.6 6.2-.2 4.2-3.2 7.1-6 9m-4.7-17.6.6.7c1.9 2.2 2 5.4 1.6 7.2a8 8 0 0 1-3.8 5.4m-5-14.4c2.6 2 3.4 5.4 2.5 9q-1 3.6-4.2 5.2m11.1 41.1c.3 1 .9 1.3 1.5 2a14 14 0 0 0 6.2 3.5q3.7.9 6.3-.9m-163 54q2 .1 3.3 2.3.3.4.4 1.5 0 1.5-1 2.2c-1.5 1-4 .5-4-2"/> + <path d="M241.5 231.3c5 1 9.7 6.9 11.2 13.3.6 2.3 1.3 7.3.3 12a22 22 0 0 1-6 11.4l-2.1 1.9-1 .7m-8-12.1c2 0 3.8 1.9 3.8 4a4 4 0 0 1-1 2.6"/> + <path d="M234.6 260.7c2.1 0 4.1 2 4.1 4.2a4 4 0 0 1-1.4 3"/> + <path stroke-linecap="round" d="M254 239.5a18 18 0 0 1 3.8 7.7m0 8.5a17 17 0 0 1-1.5 4 18 18 0 0 1-3.6 4.7"/> + <path d="M254.3 224.3q2.7 2.2 3.5 4.8"/> + <path stroke-linecap="round" d="M257.9 219.5a10 10 0 0 1-3.4 4.6m-9.2-17.2 2.2-.6 1.3-1 .8-1.1.7-1.8.3-1.5"/> + <path d="m241 199.3-2.5.8a9 9 0 0 0-3.5 3 17 17 0 0 0-2.2 12.7 16 16 0 0 0 2.3 5.6l1 1.4c1.4 1.3 2.6 2 4.6 1.7"/> + <path stroke-linecap="round" d="M253 189.8c-.3 1.3-1 2.9-3 2.7"/> + <path d="M245.7 198.5c-2-1.9-6-2.4-10.1.2L234 200l-1.4 1.6a18 18 0 0 0-2.4 5c-.7 3-.7 5.6-.6 6.3q0 1.5.3 2.7 1 4.2 2.3 6.2c.9 1.5 3 5 7.7 5.4 1.8.1 4.8-.7 5-3"/> + <path stroke-linecap="round" d="M363.8 157c.3-1.6 2.3-1.9 3-1 1.2 1.6.4 4.2-2 4.9a4 4 0 0 1-3.8-1.4c-1-1.3-.9-2.8-.5-4q.4-1.2 1.7-2.2c2.7-2 7.1-1.6 8.6 2 1.8 4.4-2.2 7.8-6 10.3-4.6 3.2-10 3.8-14 3.7-9.2 0-16.1-4.4-20.7-7q-1.7-.7-2.7.3a2 2 0 0 0 .3 2.7"/> + <path stroke-linecap="round" d="M365.6 155.5c1 0 1.2.4 1.5.8 1.2 1.5.3 4.1-2 4.9m17.8 51.5c-3.5 3.8-.2 10.3 2.4 11.8.9.7 1.3.3 2 .7"/> + <path d="M383.1 205.4q-1.5 1-1.6 3.3a5 5 0 0 0 1.4 4 14 14 0 0 0 9.3 3.7q3 .1 6-1.7a9 9 0 0 0 3.8-5.4m-20.8 61.8-.2 2.5a19 19 0 0 1-2 7 19 19 0 0 1-4.2 5.6 20 20 0 0 1-5.9 4 25 25 0 0 1-6.5 2.3 44 44 0 0 1-13.2.6c-2.7-.2-4.1-.5-6.8-.8-2.2-.1-3.4-.3-5.6-.3a28 28 0 0 0-10.9 1.9c-2.7 1-5.7 3-6.4 3.8-.6-.9-3.7-2.8-6.3-3.8a22 22 0 0 0-5.2-1.5c-2.2-.4-3.5-.4-5.8-.4s-3.4.2-5.6.4c-2.6.2-4 .6-6.7.7-2.5.2-3.9.3-6.3.2a33 33 0 0 1-7-.8 25 25 0 0 1-6.5-2.2 20 20 0 0 1-5.8-4.1 19 19 0 0 1-4.2-5.7 19 19 0 0 1-2-6.9c-.2-1-.2-2.5-.2-2.5V169.3h123.2z"/> + </g> + <g fill="#c7b37f" stroke="#c7b37f"> + <path stroke-width=".3" d="M248 285.6a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0zM232.5 268q.2-2.1 1.8-2.3c1.6-.2 1.7 1 1.7 2.3q-.2 2-1.7 2.2-1.6-.2-1.8-2.2z"/> + <path stroke="none" d="M241.3 223.6q.2-1.7 1.7-1.8 1.6.2 1.7 1.8c.1 1.6-.7 1.8-1.7 1.8s-1.7-.8-1.7-1.8M272 158c0-1 .5-2 1.4-2q1.5 0 1.8 1.6c0 1-.5 2-1.4 2q-1.4 0-1.8-1.6"/> + </g> + <g stroke="#c7b37f" stroke-linecap="round" stroke-width=".6"> + <path d="M239.3 234q-.6.1-.8.5-.4.3-.6.9l-.2 1.2m4.7 26.7 1-1 .6-1 .5-1 .7-1.3m-1.3 14-1.5.7-1.1.6-1.3.8-1.2 1m15-37.9-.8-.8-1-.8-.9-.8"/> + <path stroke-linecap="butt" d="m254.2 225-1.2.5-1.5.3"/> + <path d="m237.4 208.4.5 1.5q.3 1 .9 1.7a8 8 0 0 0 2.6 2.7l1.5.8m-1-5.8 1.3.6a7 7 0 0 0 3 .6l1.8-.1m7.2-40.7-2-1.2q-1.2-.7-2-1.5l-1.1-1.3-.8-1.3m7.5-4.6.6 1.7 1.4 2c1 1 1.7 1.3 2.8 2.2m1.4-6 .7 1.6.8 1.2 1.3 1.3q1 .7 2 1.1"/> + </g> + <path fill="#703d29" stroke-width=".2" d="M333.3 151.6c0-1.7-1.7-1.8-2.4-1.8-1.8 0-2.3 1.1-4.6 2.3a12 12 0 0 1-6.7 2 12 12 0 0 1-6.7-2c-2.3-1.2-2.7-2.3-4.6-2.3a2.3 2.3 0 0 0-2.2 2.4v.9l.3.2q0-1 .5-1.7a2 2 0 0 1 1.6-.8c1.8 0 2.5 1.2 4.8 2.4 3 1.6 4.2 1.9 6.7 2a12 12 0 0 0 6.8-2c2.3-1.2 3-2.5 4.8-2.5q.9 0 1.3 1v.9l.2.1z"/> + </g> + <g fill="#703d29"> + <path d="M264.4 294c.5-.5.9-.3 1-.6q0-.2-.3-.3l-.9-.2-.8-.4h-.5c-.1.4 1 .4.6 1.4l-.8 1.2-2.6 3-.2.1v-4.3l.1-1.8c.2-.4.8 0 .9-.4q0-.2-.3-.3t-1.1-.3l-1-.5h-.6l.1.3q.5.2.5 1v7.4q0 .7.2.7l.4-.3z"/> + <path d="M267.5 295.2c.3-1.1 1-.4 1-.8q.1-.2-.2-.3l-1.3-.4-1.2-.4h-.4c-.1.5 1.1.5.8 1.5l-1.7 5.5c-.3 1-1 .6-1.1 1v.1l1.2.4 1.6.5h.3c.2-.4-1.2-.3-.7-1.7zm3.7 1q.3-.7.9-.4 1.6.6 1 2.5c-.2.6-.4 1.2-2 .8q-.6-.1-.6-.5l.7-2.3zm-2.8 5c-.5 1.4-1.2.8-1.3 1.2q0 .2.3.3l1.6.4.8.3h.4c.1-.5-1-.3-.7-1.5l.6-2q0-.6.6-.3.8.1.8.8l.3 2q.1 1.4 1 2 1 .1 1.4-.4l-.2-.2h-.3s-.3 0-.3-.3l-.7-3.6q.1-.2.8-.3a2 2 0 0 0 1-1.3c.1-.5.4-2.2-1.8-2.9l-2.1-.5-1.2-.4h-.3c-.1.5 1.1.4.7 1.7zm8.4 2.5c-.4 1.4-1.4.5-1.5 1q0 .3.3.3l1.5.3 1.4.4q.4.2.6-.1c0-.3-1.3-.3-1-1.8l1.3-5.2q0-.8.6-.5l1 .2c1.1.3.5 1.5 1 1.6q.2-.1.2-.6l.1-1v-.4l-3.3-.7-3.2-.8q-.2 0-.2.2l-.5 1.5q-.2.3 0 .4c.5.1.5-1.5 1.7-1.2l.9.2q.6 0 .4.8zm12.7-3.3c.4-.6.8-.5.9-.7q0-.2-.4-.3h-.9l-.9-.3q-.3-.1-.4.1c-.1.4 1 .2.8 1.3q0 .3-.6 1.3l-2 3.3-.3.2v-.2l-.7-4-.1-1.8c0-.5.7-.2.7-.5q.1-.2-.4-.3l-1.1-.1q-.6 0-1-.3-.4-.1-.6.1l.1.2q.7.2.7.9l1.3 7.3.3.7.4-.3zm.6 6.8q0 .3.2.5l1.7.7c1.4.2 2.6-.7 2.8-2.2.3-1.5-.3-2.1-1.4-2.9-1.3-.9-1.8-1.1-1.7-2q.3-1 1.4-1c1.8.3 1.6 2.6 1.8 2.6q.4 0 .3-.4l.2-1.6v-.4h-.6c-.4 0-.7-.5-1.6-.7q-2-.1-2.5 2-.1 1.6 1.2 2.4c1.6 1.1 2.2 1.4 2 2.4q-.3 1.5-1.7 1.3c-1.2-.2-1.6-1.4-1.8-2.6q0-.3-.2-.3-.2.1-.2.5v1.7zm15.8-4.5c.3-.7.8-.6.8-.9q0-.2-.4-.2h-.9l-.9-.1q-.3 0-.4.2c0 .4 1 0 1 1.1q0 .3-.5 1.4l-1.8 3.5-.1.3-.1-.3-1.1-4-.3-1.6c0-.5.7-.3.7-.6q.1-.2-.4-.2h-1.2l-1-.2q-.4-.1-.6.1l.2.2q.6.2.7.8l2.1 7.1.4.7q.2.1.3-.4z"/> + <path d="M307.6 308.5c0 1.2-1 1-1 1.5q0 .2.3.1h2.2l.4-.1c0-.6-1.4.2-1.4-2v-4.2l.1-.1.2.1 5.1 6.3.3.1.2-.3v-6.7c0-1.3 1-1 1-1.3l-.3-.2h-2.3q-.2 0-.2.2c0 .4 1.3.2 1.3 1.3v4l-.1.4-.4-.3-4.2-5.3q-.1-.4-.4-.3h-1.8l-.2.1c0 .6 1.2-.2 1.2 2.1zM318 303c0-1.1.8-.7.8-1.1q.1-.2-.4-.2h-2.6s-.3 0-.3.2c0 .4 1.1 0 1.1 1.2v5.7c0 1.1-.8.8-.8 1.2l.2.2h2.8q.3 0 .3-.2c0-.4-1.2.2-1.2-1.3zm4.5 5.5c0 1.5-1.2 1-1.2 1.4q0 .3.4.2h3q.5 0 .5-.3c0-.3-1.4 0-1.4-1.4V303q-.1-.7.5-.6h1c1.2-.1.8 1.2 1.3 1.2q.2-.1.1-.6l-.1-1q0-.3-.2-.4l-3.3.1h-3.3l-.2.3-.1 1.6.1.4c.5 0 .2-1.6 1.4-1.6h.9q.5-.1.6.6v5.6zm6.3-2.2h-.4l.1-.5.7-2.2v-.2l.2.1 1 2.1.2.4q0 .3-.4.2zm1.8.5c.3 0 .3 0 .8 1l.2.8c0 .7-.7.6-.7 1q0 .2.4 0h1.2l1.3-.1q.4 0 .4-.2c0-.4-.6 0-1-.7l-3.4-7-.3-.4q-.2 0-.3.4L327 309c-.2.7-.8.7-.7 1h2.3q.4 0 .5-.3c.1-.3-1.2 0-1.3-.9l.2-1q.3-1 .6-.8l2.1-.2zm8.3-5c-.1-.8 0-.8 1.2-1 2-.2 1.4 1.3 2 1.2q.2-.1 0-.6l-.1-1.1q0-.2-.3-.2-1.4 0-2.4.3l-2.8.4q-.3 0-.3.2c.1.5 1.3 0 1.4 1l.7 5.5c.2 1.5-.7 1-.6 1.5h.2l1.4-.1 1.2-.1q.5 0 .5-.3c0-.3-1.2.1-1.4-1.2l-.2-1.7q-.2-1 .3-1h.8c1.1-.2 1 1.1 1.3 1q.4-.2.1-.5l-.3-2.1q-.1-.4-.2-.3c-.3 0-.1 1.1-1 1.2l-.7.1q-.6.2-.6-.5zm4 2.8c.4 2.3 2.1 3.7 4.2 3.3 3.4-.7 3.5-3.6 3.2-5.3-.5-2.5-2.3-3.7-4.4-3.3-2.5.5-3.5 2.7-3 5.3m1.1-1c-.3-1.6 0-3.4 1.7-3.7 1.4-.3 3 .8 3.4 3.4.3 2 0 3.6-1.8 4s-3-2-3.3-3.6zm8.3-4.1q0-.9.6-.9 1.6-.2 2.1 1.6c.2.7.3 1.4-1.3 1.8q-.5.1-.8-.2l-.5-2.3zm0 5.7c.4 1.4-.5 1.3-.5 1.6q.2.3.4.1l1.6-.4 1-.2q.3 0 .2-.2c0-.4-1 .3-1.3-1l-.5-2c0-.4-.2-.4.4-.5q.6-.3 1.1.3l1.3 1.6c.5.6 1 1.3 1.8 1.1q.9-.2 1-.9l-.2-.1-.3.1s-.3.1-.4 0l-2.4-2.9.5-.6q.4-.6.2-1.6c-.1-.5-.7-2.1-3-1.6l-2.1.6-1.2.2q-.3 0-.2.2c0 .5 1.1-.2 1.4 1zm8.7-2c.3 1.4-1 1.2-.9 1.6q.1.3.5.2l1.4-.5 1.5-.3q.5.1.4-.4c0-.3-1.3.4-1.7-1l-1.3-5.3q-.2-.7.3-.7l1-.2c1.1-.4 1.1 1 1.5.9s0-.5 0-.7l-.4-1s0-.3-.2-.2l-3.2.9-3.2.7v.3l.1 1.6q0 .4.3.4c.5-.1-.3-1.6 1-1.9l.8-.2q.6-.2.7.5zm5.5-7.3c-.3-1 .6-.9.4-1.3h-.3l-1.4.4-1.2.3s-.3 0-.3.2c.1.4 1.2-.2 1.5.8l1.6 5.6c.2 1-.6 1-.5 1.3q0 .2.2.1l1.1-.3 1.6-.4q.4 0 .3-.3c-.1-.3-1.1.5-1.5-.9zm2.3 2.7c.7 2.3 2.6 3.4 4.7 2.7 3.2-1.1 3-4.1 2.4-5.7-.8-2.4-2.8-3.3-4.8-2.7-2.4.9-3.2 3.2-2.3 5.7m1-1c-.6-1.7-.6-3.5 1.1-4 1.3-.5 3 .4 3.9 2.9.6 1.8.5 3.6-1.2 4.2-1.8.6-3.2-1.5-3.8-3.2zm7.6-5.5q-.2-.9.4-1 1.7-.3 2.4 1.4c.2.6.4 1.3-1.1 1.9q-.6.2-.8 0zm.8 5.6c.6 1.4-.4 1.4-.2 1.7q0 .3.4.1l1.5-.7.9-.2q.3-.1.2-.3c-.2-.4-1 .4-1.4-.8l-.8-1.9q-.4-.5.3-.7.6-.3 1.1.3l1.6 1.4c.5.5 1.1 1.1 2 .8.3-.2.9-.7.7-1l-.2-.1-.2.2h-.5l-2.8-2.5.4-.7a2 2 0 0 0 0-1.6c-.1-.6-1-2-3.1-1.2l-2 .9-1.2.4-.2.2c.2.4 1.1-.4 1.6.8l2 5z"/> + </g> + <g fill="#fedf00" transform="matrix(.64 0 0 .64 0 16)"> + <path fill="#d52b1e" d="M412.7 249.3h82.1v82h-82.1z"/> + <path id="ad-a" fill="#fff" d="M451.2 313.8s0 3-.8 5.3c-1 2.7-1 2.7-1.9 4a13 13 0 0 1-3.8 4q-3 1.9-6 1.6c-5.4-.4-8-6.4-9.2-11.2-1.3-5.1-5-8-7.5-6q-2 1.7-.3 4.6a9 9 0 0 0 4.1 2.8l-2.9 3.7s-6.3-.8-7.5-7.4c-.5-2.5.7-7.1 4.9-8.5 5.3-1.8 8.6 2 10.3 5.2 2.2 4.4 3.2 12.4 9.4 11.2 3.4-.7 5-5.6 5-7.9l2.4-2.6 3.7 1.2z"/> + <use xlink:href="#ad-a" width="100%" height="100%" transform="matrix(-1 0 0 1 907.5 0)"/> + <path d="m461.1 279 10.8-11.7s1.6-1.3 1.6-3.4l-2.2.4-.5-1.2-.1-1.1 3-.7V260l.3-1.3-3.2.2.3-1.4.5-1 1.9-.4h1.9c1.8-3.4 9.2-6.4 14.4-1 3.8 4 3 11.2-2 13.2a6 6 0 0 1-6.8-1.1l2-4c2.7 1.7 5-.3 4.8-2.4-.2-2.7-2-4.3-4.3-4.5q-3.5-.1-5 3c-.6 1.3-.3 2.2-.5 3.6-.2 1.5 0 2.3-.5 3.8a9 9 0 0 1-2.4 3.6l-11 12-43 46.4-3.2-3z"/> + <path fill="#fff" d="M429.5 283s2.7 13.4 11.9 33.5c4.7-1.7 7.4-2.8 12.4-2.8s7.6 1 12.3 2.8A171 171 0 0 0 478 283l-24.2-31z"/> + <path d="m456.1 262.4 16.8 21.7s-2.2 10.5-9 26.3c-2.7-.6-5-1.1-7.8-1.3zm-4.7 0-16.8 21.7s2.2 10.5 9 26.3c2.7-.6 5-1.1 7.8-1.3z"/> + </g> + <g fill="#d52b1e"> + <path fill="#fedf00" d="M322.3 175.5h52.6V228h-52.6z"/> + <path d="M329.7 175.5h7.8V228h-7.8zm15 0h7.8V228h-7.8zm15 0h7.9V228h-7.9z"/> + </g> + <g fill="#d52b1e" stroke="#d52b1e" stroke-width=".5"> + <path fill="#fedf00" stroke="none" d="M264.3 273.5q.1 1.6 1.4 4.3c1 1.5.6 1.4 2.7 3.8a15 15 0 0 0 4 2.9 33 33 0 0 0 15 2.6q4-.2 6.6-.7a71 71 0 0 1 11-.6q2.2 0 4.7.6c3.5.7 7 2 7 2v-54.7h-52.6V271l.2 2.4z"/> + <path stroke-width=".3" d="m270.4 283.1 2.5 1.5 3.4 1.2v-52.2h-5.9zm29.2 2.4v-51.9h-5.8v52.8l5.8-.7zm11.7-51.9h-5.8v52.1l5.8 1zm-23.4 0V287s-3.8.2-5.8 0v-53.4z"/> + </g> + <g transform="matrix(.64 0 0 .64 0 16)"> + <path fill="#fedf00" d="M585.5 402.4a21 21 0 0 1-2.2 6.6c-1.5 2.3-1 2.3-4.3 6a26 26 0 0 1-13 7 52 52 0 0 1-16.6 1.6q-6.3-.4-10.3-1c-3.8-.6-6.7-.9-11-1h-6.2a83 83 0 0 0-18.3 4.2V340h82.2v58.5z"/> + <g id="ad-b"> + <path fill="#d52b1e" d="m524.6 347-.6.2-.8.8q-.5.5-1.2.8l-.6.5c-.3.3 0 .6-.3 1q-.1.5-.6 1t-1 1l-1.2 1-.3.1h-.6l-.8.8.3.6.8 1.4q.2.6.5.8.7.3 1.3.1l2 .5 1.5.8q.6.4 1.3.5h1.8v.3l2 1-.1.4q-.2.5-.1.8 1 2.9 1.5 3.2.8.4 1.1 1.5l-.3.3q-1 .8-1.7 1.8c-.7 1.2-1.2 1.2-.3 2.8l1.5 2.4.8 2q.3 1 .3 2l1 .3.7-.6.6-1.2v-1q-.3-.2-.2-.7c0-.4.5-.3.7-.6.3-.5-.4-.8-.7-1.1-.6-.7-1.4-.9-1.6-1.9q-.1-.3.4-.7l2-1.8q.4.2 1 .1l1.3.4h1.6l.1.6c.1 1-.1 3 .2 3.5l.3.6.2.6v2l-.2 1.7q0 .6-.5 1t-1 .7v1l1.1.5 1.3.3.7-.3.1-.6.5-.5.9-.1q.2-.3 0-.8 0-.8-.3-1.6l-.1-2.8q0-.8.2-1.5c.1-1 .4-1.4.6-2.2l.4-2.5a24 24 0 0 0 10.1-.6q1.2 1 2.7 1.6v1q0 .4.2.7l.3.3q.4 0 .7-.2t.2-.7v-.7h1.8v1.1q.2.4.5.4h.6q.3-.4.3-1v-.7l1-.4v.9l-.3.9c-.2.6-.5.8-.8 1.4q-.4.8-1 1.5l-.6.7-.6.9-.9 1c-.7.6-1.2.2-2 .9l-.3 1 1.4.6 1.3.2.4-.2q0-.5.3-.8t.7-.4q.6 0 1-.2.4-.6.7-1.5a13 13 0 0 1 3-3.9l1.7-1.4q.4-.4.5-1l-.2-.6-.2-1c1.5.7 1 .7 1.2 1.4.3.6 0 1 .1 1.7.1.8.5 1.1.5 1.9q0 1.1-.3 2.3 0 1-.5 2a4 4 0 0 1-1.1 1.5l-.6.5-.1 1 1.1.4 1.6.4.4-.3c.2-.7 0-1.7.4-1.7q.6 0 .8-.3v-.7l.7-4.5.4-1.9.4-1.7c.7-2-.2-2.3-1-3.6q-.7-.9-.7-1.5v-5.7l.4-.2c1.2-.7 1.7-.9 2.4-2.5l.3-1.5v-1l-.4-1-.6-.8c-.7-1-1.7-1.1-2.7-1.5-1.5-.5-2.5-.4-4-.5-1.8-.2-2.7-.2-4.4 0-2 0-3.1.4-5.1.7l-4.9.4c-2.3 0-4.4-.5-5.8-.4-2.4.2-2.5.8-6.2 1.1l-3.8.2-2.2-.7c.9-.3 1.1-.5 1.5-1s.2-.7.6-1.1l.7-1-.9-.4h-1l-1.2.3-.8.6-2.2-1.2a9 9 0 0 0-3-.9zm2 11.8"/> + <g fill="none" stroke="#fedf00" stroke-linecap="round"> + <path d="m568.8 359.5-.8.3q-1.2.5-2.6.5c-2.6.2-4.3-1.1-7-.9-1.4.1-2 1.2-3.5 1.6l-1.7.2.5-1s-1.2.3-2 .3l-1.6-.2 1-1-1.3-.2-1-.7 1.7-.3c1.5-.4 2-1.2 3.9-1.4 1.1 0 3 0 7.6.8 3 .5 4.4.2 5.5-.3q1-.5 1.1-1.8 0-1.2-.8-1.8l-1.1-.4"/> + <path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M524.8 350.6q-.7 0-1.3.3-.6.5-1 1.1.7.3 1.2.3t.8-.5q.4-.5.4-1.2z"/> + <path d="m536 363.8 1 2.3c.2.8 0 1.2.2 2v1.6m6.8-7-.3 1.3-1 3.5v.7m-11-4c.9.2.6 3.3 1.9 4"/> + <path stroke-linecap="butt" d="m560.1 369.8.4-.3a8 8 0 0 0 2.7-1.8"/> + <path d="M552.4 368c3.5-.9 5.9-2.6 7.6-2.9m-4-1.5h.8c1.5-.3 1.7.6 2.7 1.2 1.9 1 2.1 2.3 4.3 3.4l.4.1.8.4"/> + <path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M517.7 354.5h.7l.8-.2q.4 0 .7.2.2 0 .3.3t.1.5q0 .3-.6.4-.3 0-.5-.3v-.4a1 1 0 0 1-.9 0z"/> + </g> + <path fill="#0065bd" d="m525.1 364.2-2-.9 1-.5.5-1.3q.1-1 .7-1.4t1.1-.1q.7.1.9.7 0 .8-.3 1.5l-.2 1.4q0 .6.4 1l-2-.4zm-1 1a.6.6 0 1 1 .7.5.6.6 0 0 1-.7-.6zm-1.7-16.6h-.2l-.6-1.2-.3-1.2v-2q0-.5-.2-.9c0-.2-.4-.3-.3-.4h.4q.5 0 1 .4t.6 1l.4 1.5.3.8.5.6-.7.8zm3.6 10.6 2.2 1a9 9 0 0 0 3.5-3.8c.9-1.8 1-2.7 1.4-4.4l-1.8-.5h-.4c-.5 1.8-.7 2.7-1.6 4.2q-1.2 2-2.6 3zm5 18.2.8-1.3 1.4-1.1h.4a9 9 0 0 1-.5 2.8l-.4 1-.5.5c-.5-.8-1.3-1.3-1.3-2zm33 1.8 1.4.6 1.5.9v.5l-1.5.2h-2.3l-.6-.4c.5-.7.8-1.6 1.4-1.8zm-9.8-2 1.4.5 1.5 1v.4a9 9 0 0 1-2.7.3l-1-.1-.7-.3c.6-.7.9-1.7 1.5-1.8m-17.4 2.1 1.5.5 1.5 1v.5a9 9 0 0 1-2.8.2h-1l-.6-.4c.5-.7.8-1.6 1.4-1.8m-9-29.8q-1-.6-.6-1.6l.6-.4q.2-.4 0-.8l-.1-1-.2-1q-.1-.8.4-1.6.5-.5.8-.6.2.3 0 .8 0 .6.3 1.2l.7 1.3.4 1.4-.2 1.2-.6.8-.8.4z"/> + </g> + <use xlink:href="#ad-b" width="100%" height="100%" y="36.6"/> + </g> + <path fill="none" stroke="#703d29" stroke-width=".5" d="M264.1 175.5h52.6V228h-52.6zm58.2 0h52.6V228h-52.6zm-58 98q.1 1.6 1.4 4.3c1 1.5.6 1.4 2.7 3.8a15 15 0 0 0 4 2.9 33 33 0 0 0 15 2.6q4-.2 6.6-.7a71 71 0 0 1 11-.6q2.2 0 4.7.6c3.5.7 7 2 7 2v-54.7h-52.6V271l.2 2.4zm110.4 0a13 13 0 0 1-1.4 4.3c-1 1.5-.6 1.4-2.7 3.8a15 15 0 0 1-4 2.9c-1.3.7-2.3 1-4.4 1.6a33 33 0 0 1-10.6 1q-4-.3-6.5-.7l-7.2-.6H334q-2.2 0-4.7.6c-3.5.7-7 2-7 2v-54.8H375v37.5l-.2 2.4z"/> +</svg> diff --git a/apps/web/public/flags/ae.svg b/apps/web/public/flags/ae.svg new file mode 100644 index 00000000..651ac852 --- /dev/null +++ b/apps/web/public/flags/ae.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ae" viewBox="0 0 640 480"> + <path fill="#00732f" d="M0 0h640v160H0z"/> + <path fill="#fff" d="M0 160h640v160H0z"/> + <path fill="#000001" d="M0 320h640v160H0z"/> + <path fill="red" d="M0 0h220v480H0z"/> +</svg> diff --git a/apps/web/public/flags/af.svg b/apps/web/public/flags/af.svg new file mode 100644 index 00000000..4dbe4556 --- /dev/null +++ b/apps/web/public/flags/af.svg @@ -0,0 +1,81 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-af" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#000001" d="M0 0h640v480H0z"/> + <path fill="#090" d="M426.7 0H640v480H426.7z"/> + <path fill="#bf0000" d="M213.3 0h213.4v480H213.3z"/> + </g> + <g fill="#fff" fill-rule="evenodd" stroke="#bd6b00" stroke-width=".5" transform="translate(1 27.3)scale(1.06346)"> + <path d="M319.5 225.8h8.3c0 3.2 2 6.6 4.5 8.5h-16c2.5-2.2 3.2-5 3.2-8.5z"/> + <path stroke="none" d="m266.7 178.5 4.6 5 57 .2 4.6-5-14.6-.3-7-5h-23l-6.6 5.1z"/> + <path d="M290 172.7h19.7c2.6-1.4 3.5-5.9 3.5-8.4 0-7.4-5.3-11-10.5-11.2q-1.4-.1-1.9-1.3c-.5-1.6-.4-2.7-1-2.6-.4 0-.3 1-.7 2.4q-.6 1.3-2 1.6c-6.4.3-10.6 5-10.5 11.1.1 4 .6 6.4 3.4 8.4z"/> + <path stroke="none" d="M257.7 242.8H342l-7.5-6.1h-69.4z"/> + <path d="m296.4 219.7 1.5 4.6h3.5l-2.8-4.6zm-2 4.6 1 4.6h4l-1.5-4.6zm7 0 2.8 4.6h5.9l-4.6-4.6zm-34.5 10.4c3.1-2.9 5.1-5.3 5.1-8.8h7.6q0 3 1.8 3h7.7v-4.5h-5.6v-24.7c-.2-8.8 10.6-13.8 15-13.8h-26.3v-.8h55.3v.8H301c7.9 0 15.5 7.5 15.6 13.8v7h-1l-.1-6.9c0-6.9-8.7-13.3-15.7-13.1-6 .1-15.4 5.9-15.3 13v2.2l14.3.1-.1 2.5 2.2 1.4 4.5 1.4v3.8l3.2.9v3.7l3.8 1.7v3.8l2.5 1.5-.1 3.9 3.3 2.3h-7.8l4.9 5.5h-7.3l-3.6-5.5h-4.7l2.1 5.4h-5l-1.3-5.4h-6.2v5.8H267zm22.2-15v4.6h5.3l-1-4.6H289z"/> + <path fill="none" d="M289.4 211.7h3.3v7.6h-3.3z"/> + <path fill="none" d="M284.7 219.8h3.2v-5.6c0-2.4 2.2-4.9 3.2-5 1.2 0 2.9 2.3 3 4.8v5.8h3.4v-14.4h-12.8zm25.6 3.3h4v3.2h-4zm-2.4-5.3h4v3.1h-4zm-3.9-5.4h4v3.1h-4zm-3.3-4.5h4v3.1h-4z"/> + <path fill="none" d="m298 219.8 4.2.2 7.3 6.4v-3.8l-2.5-1.8v-3l-3.6-2v-3.3l-3.5-1.2V207l-1.7-1.5z"/> + <path d="M315.4 210.3h1v7.1h-1z"/> + <g id="af-a"> + <path d="M257.3 186.5c-1.2-2-2.7 2.8-7.8 6.3-2.3 1.6-4 5.9-4 8.7v5.8c-.1 1.1-1.4 3.8-.5 4.5 2.2 1.6 5.1 5.4 6.4 6.7 1.2 1 2.2-5.3 3-8 1-3 .6-6.7 3.2-9.4 1.8-2 6.4-3.8 6-4.6z"/> + <path fill="#bf0000" d="M257 201.9a10 10 0 0 0-1.6-2.6 6 6 0 0 0-2.4-1.8 5 5 0 0 1-2.4-1.5l-.8-1.5v-2l-.3.3c-2.3 1.6-4 5.9-4 8.7v2.3q.2.8.6 1.3l1.1.8 2.7.7a7 7 0 0 1 2.6 2 11 11 0 0 1 1.8 2.6l.2-.8c.8-2.7.7-5.9 2.6-8.5z"/> + <path fill="none" d="M249.8 192.4c-.5 3.3 1.4 4.5 3.2 5.1 1.8.7 3.3 2.6 4 4.4m-11.7 1.5c.8 3 2.8 2.6 4.6 3.2s3.7 3 4.5 4.8"/> + <path d="m255.6 184.5 1-.6 17.7 29.9-1 .6z"/> + <path d="M257.5 183.3a2 2 0 1 1-4 0 2 2 0 1 1 4 0zm15.2-24h7.2v1.6h-7.2zm0 3.1h7.2v13.8h-7.2zm-.4-5h8c.2-2.7-2.5-5.6-4-5.6-1.6.1-4.1 3-4 5.6z"/> + <path fill="#bd6b00" stroke="none" d="M292.6 155.8c-1.5.6-2.7 2.3-3.4 4.3s-1 4.3-.6 6.1q.1 1 .5 1.5.3.5.6.5.5 0 .7-.3l.2-.8q-.2-3 .3-5.4a8 8 0 0 1 3-4.4q.4-.3.5-.7l-.3-.7q-.7-.5-1.5-.1m.2.4q.6-.2 1 .1l.1.2-.3.4a8 8 0 0 0-3.1 4.6 17 17 0 0 0-.3 5.6l-.2.6s0 .1-.2 0l-.4-.3-.4-1.2q-.4-2.9.7-6 1.1-2.9 3-4z"/> + <path fill="#bd6b00" stroke="none" d="M295.2 157.7q-2.3 1.2-3 4.2a14 14 0 0 0-.3 5.9q.5 2 1.6 2 .5.2.8-.3t.2-1q-.6-2.5-.3-5.1.4-2.6 2.2-4.1.5-.4.5-.8l-.2-.6q-.7-.5-1.5-.2m.2.5q.6-.2 1 0l.1.3-.3.4a7 7 0 0 0-2.4 4.4q-.4 2.8.2 5.2v.8l-.5.1c-.3 0-1-.5-1.2-1.7-.3-1.7-.2-3.9.3-5.7q.8-2.9 2.8-3.8"/> + <path d="M272.3 187.4h8v11h-8zm.5 17.4h7.7v2.4h-7.7zm-.2 4.1h8v8.7h-8zm-.6 10.5h8.7v4.9H272zm1.1-16.6h7l1.4-2.4h-9.6zm9.4-8.6.1-6h4.8a17 17 0 0 0-4.9 6z"/> + <path fill="none" d="M273.6 196.7c0 1.3 1.5.8 1.5.1v-5.6c0-1 2.4-.8 2.4-.1v6c0 1 1.7.9 1.6 0v-7c0-2.2-5.5-2.1-5.5-.1zm0 13.3h5.7v7h-5.7z"/> + <path d="M277.2 213h2v1h-2zm-3.5 0h2v1h-2zm2-3h1.5v3h-1.5zm0 4h1.5v3.1h-1.5zM244 139c.4 5.5-1.4 8.6-4.3 8.1-.8-3 1-5.1 4.3-8.1zm-6.5 12.3c-2.6-1.3-.7-11.5.3-15.8.7 5.5 2 13.3-.3 15.8z"/> + <path d="M238.4 151.8c4.4 1.5 8-3.2 9.1-8.7-3.6 5-9.5 5-9 8.7zm-3.3 5.1c-3.4-.9-1.4-11.7-.7-16 .7 4.5 3.1 14.5.7 16zm1.2-.3c.2-3.7 3.9-2.7 6.5-4.7-.5 2-2 5.2-6.5 4.7zm-4.2 5c-3.4-1-1.4-12.6-1.6-17.4 1 4.2 4.2 16.3 1.6 17.4zm1.6-.5c2.8.9 6.5-1 6.8-4.3-2.5 1.7-6.3.4-6.8 4.3z"/> + <path d="M229.5 166.7c-3.2.3-1.8-9.6-1.8-18.8 1.2 8.6 4.5 16.5 1.8 18.8z"/> + <path d="M230.7 166.3c2.2 1 6.1-.7 7.2-4.4-4 1.7-6.6 0-7.2 4.4zm25.6-22.2c-.6 4.9-2.6 7.7-5.5 7.2-.8-3 1.6-5 5.5-7.2zm-7.8 12.4c4.9.7 6.6-3 10-7.9-4.7 3.4-10.2 4-10 8z"/> + <path d="M247 156c-2.6-3.2 0-7.3 2-10.7-.4 5.1 1.3 8-2 10.7zm-1 5.3c-.4-3.2 5-3.9 7.4-5.6-.9 1.8-2 6.7-7.5 5.6z"/> + <path d="M244.8 161.3c-3.7-.4-2.2-6.7.5-10.1-1.1 4.8 2 8.1-.5 10.1z"/> + <path d="M242 166.6c-4.2-2-1.5-7.2 0-10.3-.6 4.1 2.8 7.2 0 10.2z"/> + <path d="M242.8 166c2.2 3 6.5-.8 7.4-5.2-3.7 3.1-6.5 2.6-7.4 5.3zm-9.6 20.3c-.4-4.3 2.8-12 .5-16.2-.3-.6.7-2.1 1.4-1.2 1 1.5 2 5.7 2.5 4.1s.5-4.6 2-5.2c1-.3 2.3-.6 1.9 1-.4 1.4-1.2 3.4-.3 3.5.5 0 2-2 3.3-3 1-.8 2.6.6 1 1.8-4.8 4-9.5 5.9-12.3 15.2zm-8.7 64.5c-.6 0-1.3-.3-.6.6 5.7 7 7.3 9 15.6 8 8.3-1.1 10.3-3.4 16.2-6.7a15 15 0 0 1 11.2-1c1.6.5 2.6.5 1.4-.7s-2.5-2.7-4-3.8a18 18 0 0 0-12.7-2.7c-6 1-11.1 4.9-17.2 6.4a25 25 0 0 1-9.9 0zm47.8 12.5c1 .2 1.7 2.2 2.3.9.8-2.3.2-4-.8-3.9-1.2.3-3.1 3-1.5 3z"/> + <path stroke="none" d="M220.6 183q-1.8-2 1-1.9c1.4 0 4.2 1 5.3.1 1-.7.5-3.7 1-5 .2-.9.7-2 2-.2 3.6 5.8 8 12.8 10 19.6 1 3.8 0 9.8-3.4 13.8 0-3.4-1.2-5.7-2.7-8.6-2-3.7-9.1-14-13.2-17.9z"/> + <path d="M235.5 213.4c4 0 4.7-5.3 4.7-6.8-2 .4-5.4 3.7-4.7 6.8zm34.5 51.9c2.8.6 2.7-6.2-.2-9.1 1.3 4.4-2 8.4.1 9zm-1.2-.1c.2 3.2-8-.4-10-3 4.8 2.1 9.8.4 10 3zm-3.5-4.6c.3 3.1-7 .3-9.3-2.1 4.9 1.6 9-.5 9.3 2zm1.3.4c2.9.7 2.4-6.4-.4-8.8 1.4 4.7-1.8 8.1.4 8.8zm-3-4.3c2.9.7 1.2-5.4-.9-7.8.4 4.4-1 7.5 1 7.8zm-1.5 0c.3 3.2-5.4.8-7.6-2.3 4.8 1.5 7.3-.3 7.6 2.3zm-1.5-2.5c1.8-1.3-.1-4.8-3.7-4.6.4 2.1 1.6 5.9 3.7 4.6zm14 14.7c.1 3.2-8 1.6-10.6-1.8 5.2 1 10.3-.8 10.5 1.8zm-32.4-5.8c.3 3.2-8.6-.4-10.8-3.4 4.7 1.6 10.5.8 10.8 3.4zm5.4 1.3c1.9-1.3-1.9-4.7-5-5.5.4 2.1 3 6.8 5 5.6zm.6 2.3c.2 2.9-9.5 1.3-12-1.4 8.3 1.5 11.7-1.1 12 1.4z"/> + <path d="M252.8 268.6c1 2.7-8.3 2-11.6.5 5.3 0 10.8-2.4 11.6-.5z"/> + <path d="M257.1 270.6c1 2.4-7.6 2.4-11.8 1 5.6 0 10.8-3.4 11.8-1zm6.3 1.3c1.6 2.9-7.6 3.1-10.5 1.7 5.2-.7 9.2-4 10.5-1.7zm-10.7-4.9c-2.9 1.8-2.7-3.6-5-7.3 3.6 3.3 7 5.6 5 7.3z"/> + <path d="M257.9 269c-2.4 2.1-4.4-5.3-6.6-9.5 3.6 4 8.8 7.7 6.6 9.4zm6.8 2c-2 2.4-8-7-10.2-12 3.3 3.9 11.8 10 10.2 12zm-5.8 7.2c-1 3.6-16.2-3.4-18-7.1 8.8 4.6 18.2 3.6 18 7zm-48.7-73.8c-.4-.5-1.4 0-1.2 1.1.3 1.5 2.5 9.2 6.3 11.8 2.7 2 17 5.1 23.4 6.5q5.3 1 8.9 5.3a94 94 0 0 0-3-9.8c-1.2-3-4.4-6.2-7.8-6.3-6.1-.3-14.1-.8-20-3.3a16 16 0 0 1-6.7-5.3z"/> + <path d="M245.5 234.9c2 1.4 4.1-3.7 1.7-8.6-.1 4.7-3.8 6.3-1.7 8.6z"/> + <path d="M247.4 239.6c2.7.8 3.5-4 1.8-7.8.3 4.1-4.3 6.6-1.8 7.8z"/> + <path d="M249.5 243.4c2.6 1.3 3.5-3.6 1.7-7.1.2 4.5-3.7 5.9-1.7 7z"/> + <path d="M248.4 243.7c-1 3-7-2.7-8-5.8 3.7 3.7 8.7 3.2 8 5.7z"/> + <path d="M245.7 239c-1.2 3-8.7-5-10.4-8.7 3.7 3.7 11.2 6.5 10.4 8.6z"/> + <path d="M244.2 234.3c-1.2 3.5-9.3-5.8-11.7-9.1 4 3.6 12.6 6.6 11.7 9.1zm-.3-3.4c3-.6-.1-3-3.7-6.9-.1 4.1.5 7 3.7 6.9z"/> + <path d="M239 228.5c1.3-1.3-1.1-1.9-4.1-5.3-.5 2.3 2.8 6.5 4.2 5.3zm14 15.2c1.6 1 2.6-2.3.7-5.2-.5 3.2-2.1 4-.7 5.2zm-34.2-20.3c-3.3 2-8.6-6-10-9.3 2.9 3.8 10.6 7.2 10 9.3z"/> + <path d="M221.7 228c-1.9 2-7.7-3.5-9.7-6.3 3 2.7 10.5 3 9.7 6.3z"/> + <path d="M224.8 232.2c-.6 2.8-9-3.5-11-6.5 3.6 3.5 11.6 3.2 11 6.5z"/> + <path d="M223.5 235.3c-1.3 2.5-8.2-3.8-9.9-7 4.3 3.6 11 4.5 10 7zM220 223c2.1-2.3 1.2-3.4-.4-7-.8 3.7-2.1 5.2.4 7zm2.9 4.3c4 .2 0-4.6-1-8.7.4 4.6-1 8.3 1 8.7z"/> + <path d="M225.4 231.1c2.7-.6 2-4.5-.2-9.2.5 5.1-2.3 8 .2 9.2zm-1 7.7c-1 3-8.8-4-10-6.8 4 3.4 10.7 4.5 10 6.8z"/> + <path d="M229.1 243.6c-1.1 3-9.3-3.2-11.8-6.6 4.9 4 12.4 3.6 11.8 6.6z"/> + <path d="M233.9 248.5c-1.3 4.3-9.9-2.6-12.4-6 5.4 4.2 13 3 12.4 6zm-8-11c2.3 1.1 3.2-5.4 1.9-10.1 0 5-4.7 8.8-2 10z"/> + <path d="M229.8 242.7c2.8.8 2-6.3-.5-11-.3 4.7-2.3 9 .5 11zm5 4.9c3 .1 1-6.1-1.6-9.6.4 4.5-1 9 1.6 9.6zm-5.5 2.6c-1 1.6-3.2-1.3-7-3.5 3.4 1 7.4 2 7 3.5zm-1.8-52.7c3-2.2.7-6.2 0-10-1 3.6-3.4 8.4 0 10zm0 5.3c-4.5-.5-3.8-6.1-4-9.7 1.4 4.9 5 5.7 4 9.8zm.6-.7c3.7-.2 3.5-4.4 3.7-8.6-1.9 3.9-4 4.5-3.7 8.6z"/> + <path d="M228 207.3c-3 .3-4.4-2.6-5-7 2.7 4.1 5.1 2.8 5 7zm1-.3c3.7.5 3-3.8 3-7-1.2 3-4.2 4-3 7z"/> + <path d="M223.2 205.2c.3 2.8 2.1 7.6 5 6.5 1.1-3.4-2.6-4.1-5-6.5z"/> + <path d="M229 212c-1.2-2.4 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 7zm-11.9-29.2c2.3-2.4.3-6.4-.4-10.2-1 3.6-2.5 8.4.4 10.2zm0 4.6c-4 .5-5-7.7-5.5-11.3 1.4 4.9 6 7 5.5 11.4zm.8 0c2.8-1.5 2.2-4.7 3-7-1.8 2.9-3.6 3.3-3 7z"/> + <path d="M217 192.8c-4.1.3-6.6-8.8-6.8-12.4 1.3 4.9 7.4 7.5 6.9 12.4zm.9-.2c4-.9 3.5-3.5 2.9-7.6-1.3 4.2-3.5 3.3-2.9 7.6z"/> + <path d="M217 198c-4.6.8-4.3-6.6-8-11.9 3.2 4 9 9 8 11.9zm1-.3c3.6.2 4-5.1 3.8-7.3-.9 2.2-5 4.2-3.7 7.4z"/> + <path d="M209.8 192.3c1.7 5.7 4.2 11.4 7.2 11 1.5-3.3-2.9-3.7-7.2-11z"/> + <path d="M218.1 202.4c-1.2-2.5 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 6.9zm-7.1-3.6c2.5 5.1 3.6 11 7 10.1 1.3-4-3.8-4.8-7-10.1z"/> + <path d="M218.7 208c-1.5-2.8 2.7-3.7 3.8-7.4.5 4.8 0 8.3-3.8 7.3zm7.2-34.5c2.4.6 5-2.1 4.1-6.2-2.8.6-4 3.2-4.1 6.2zm-7.9-2.1c.2 1.2 1.7 1.3 1.2-.4a5 5 0 0 1 0-3.4 8 8 0 0 0 0-4.6c-.4-1-1.8-.4-1.2.4s.7 2.8.2 3.7q-.7 2.2-.2 4.3zm22.9 16c-1 1.3-2.9.4-1.4-1.5 1.2-1.5 3-2.8 3-4.4.2-2 1.3-5 2.4-6.1s2.4.4 1.2 1.2c-1.3.8-2.2 4.4-2.1 5.8-.1 2-2 3.5-3.1 5zm-3-2.3c-1 1.4-2.4.5-1.6-1.7.7-1.5.8-3.5 1.6-4.6 1.2-1.7 3-3.1 4.1-4.2 1.2-1 2 0 1 1a27 27 0 0 0-3.3 4c-1.4 2.2-.8 4-1.8 5.5zm-15.7-7.2c-.1 2 1.5 2.4 1.4-.4 0-3-2.2-5.8-1-10.3.8-2.2.8-6.3.4-8.4s-2-.8-1.3.9c.6 2-.1 5.6-.6 7.5-1.5 5.4 1.2 8 1 10.7zm4.3-11c-.2 1.9-1.8 2-1.3-.5q.6-2.9 0-5.3c-.6-2.1-.4-5.7 0-7.2.5-1.6 2-.7 1.4.5a10 10 0 0 0-.3 5.9c.6 2 .5 4.8.2 6.7zM210.9 204c.8.9 2 .3 1-1-1-1-.7-1.2-1.3-2.4-.6-1.4-.5-2.1-1.2-3-.7-1-1.6 0-1 .7.8 1 .6 1.6 1 2.5 1 1.5.7 2.3 1.5 3.2zm20.4 24.6a9 9 0 0 1 4.4 6.7 16 16 0 0 0 2 7.1c-2-.5-3-3.7-3.3-6.8-.3-3.2-2-4.5-3-7zm5.1 5.9c1.7 3.1 4 4.3 4.2 6.6.2 2.7.4 2.8 1.1 5.4-2-.5-2.5-.7-3-4.7-.3-2.8-2.6-4.7-2.3-7.3z"/> + <path stroke="none" d="M289 263.3c1 1.8 2 4.5 4 4 0-1.3-2.1-2.3-4-4m3 .6c3.7 1.6 7 1.2 7.5 3.6-3.6.4-5-1-7.6-3.6zm-16.1-12.7a14 14 0 0 1 5 7.7 29 29 0 0 0 3.6 7.8 13 13 0 0 1-5.3-7.4c-.7-3-1.6-5.3-3.3-8zm3.1 0c2.8 2.2 5.4 4.8 6.2 7.9.8 2.9 1.3 5.1 3.2 8-3-1.9-4.1-4.7-5-7.8-.7-3-2.5-5.2-4.4-8zm9.2 7.3a1 1 0 0 1 .7-1.2l2.6-.8c1-.3 1.6.4 1.6.9v2q0 .9-.7.9-1.2 0-2.4.7-1 .5-1.5-.5zm10.6 0q0-1-.6-1.2a5 5 0 0 0-2.4-.4q-1.3 0-1.1.6v2.1c0 .8 0 .8.4 1q1.3-.1 2.5.6.9.4 1.1-.6z"/> + </g> + <use xlink:href="#af-a" width="100%" height="100%" x="-600" transform="scale(-1 1)"/> + <g stroke="none"> + <path d="M328.5 286.6q-.1 1.8 1 3.1a19 19 0 0 0-13.8 1.1c-1.8.8-4-1-1.9-2.7 3-2.3 9.7-1 14.7-1.5m-57.5 0a7 7 0 0 1-.4 3c4.4-1.7 9.1-.2 13.6 1.6 3 1.3 3.3-1 2.8-1.7a7 7 0 0 0-5-2.9zm3.8-21.7q-2-.7-4 1.4c-4.3 4.2-9.4 8.3-13.5 11.6-1.5 1.3-3 3.7 3.4 6 .3.2 5 2 8 2 1.3 0 1.3 1.8 1 2.3-.5 1-.1 1.4-1.1 2.3-1.1 1 0 2.1 1 1.3 3.6-3.2 9.6-1.1 15.3.7 1.4.4 3.8.3 3.8-1.6s1.5-3.4 2.4-3.5c2.4.4 14 .5 17.5.1 2-.3 2.2 2.9 3.3 4 .8.9 3.7 1.1 5.8.2 4-1.8 10-1.8 12.5 0 1 .7 1.9 0 1.3-.7-.8-1-.7-1.6-1.1-2.4-1-2-.2-2.4.8-2.5 11-1.5 14.6-5.2 11.2-8.3-4.4-3.8-9.2-7.7-13.4-12.2-1.2-1.2-2-1.7-4.3-.7a67 67 0 0 1-25.3 5.9 76 76 0 0 1-24.6-5.8z"/> + <path fill="#bd6b00" d="m326.6 265.5-1.6.4c-9 3.2-17.2 5.4-25.7 5.4-8.3 0-17-2.4-24.9-5.6a2 2 0 0 0-1.5 0q-.8.2-1.3.7a116 116 0 0 1-11.8 10.3c-.7.5-.6 1.8.5 2.2 8.3 3 16.4 8.5 39.6 8.3 23.5-.2 31.8-5.6 39.2-8.1q.8-.3 1.3-1l.1-.8-.6-.8c-4.3-3.5-8.8-6.3-11.8-10.4q-.5-.7-1.5-.5zm0 .5q.9 0 1.1.3c3 4.3 7.7 7 11.9 10.5l.4.7v.4q-.3.5-1 .7c-7.6 2.6-15.7 8-39 8.2-23.2.2-31.2-5.3-39.5-8.3-.8-.4-.7-1.2-.4-1.4q6.4-4.9 11.8-10.4l1.1-.6h1.2a68 68 0 0 0 25 5.6c8.7 0 17-2.2 26-5.3l1.5-.4z"/> + <path d="M269.7 114.6c0-1.4 2-1.5 1.8.4-.3 2.3 4.5 8.3 4.9 12 .3 2.5-1.5 4.6-3.2 6a7 7 0 0 1-6.8.5c-.9-.8-1.7-3.3-1-4.3.2-.3 1.3 3.7 3.7 3.7 3.3 0 6-2.5 6-4.7.2-3.8-5.3-9.8-5.4-13.6m9.5 9.4c.6-.4 1.4 1.3.8 1.7s-1.5-1.3-.8-1.8zm1.5-3.5c-.3.2-.8 0-.7-.2a12 12 0 0 1 3.6-3.3c.4-.2 1 .4.8.7a11 11 0 0 1-3.7 2.8m12.6-10c.3-.6 2.1-1.3 2.6-1.7.4-.5.6.4.4.7-.3.7-1.9 1.7-2.6 1.8q-.6-.1-.4-.7zm4.3.3a8 8 0 0 1 2.5-3.4c.5-.3 1.3 0 1.1.4a9 9 0 0 1-2.9 3.3c-.3.3-.8 0-.7-.3m-3.7 2.7q-.3.5.1.8 1 .3 2 0c.6-.4.3-2.9-.5-1.6-.6.8-1 .6-1.6.8m-7.3 5.6c-1.3-1 .4-2.4 1.7-1.4 2.7 2-4 9.8-7.6 13.4-.7.7-1.3-1-.4-1.9a34 34 0 0 0 6.7-7.6c.4-.5.7-1.6-.4-2.5m15.3-6.6c.1-1-1.6 0-1.6-1.3 0-.7 1.9-1.2 2.7-.4 1.3 1.4.3 3.7-2 3.9-1.8 0-5 2.7-4.5 3.2.5.7 5.4 1.1 8.3.7 1.8-.3 1.4 1.3-.4 1.5s-3.2 0-4.8.6c-2 .5-2.8 3-3.9 4-.2.2-.8-.8-.6-1.2.8-1.2 2-3 3.4-3.6.8-.3-2.4-.4-3.4-.7-.8-.2-.6-1.3-.3-1.9.4-.8 3.4-3.9 4.7-3.8 1.1 0 2.3-.3 2.4-1m5 .2 1.5-1.8c.3-.3.9 0 .8.8-.1.7-1 1.2-1.5 1.7-.5.3-1-.4-.7-.7zm6.5-2.3c.9 0 1 1.6.2 1.8-.6.2-1-1.7-.2-1.8m-2.1 5c0 1.5.7 1.4 2 1.3s2.4 0 2.4-1.2c0-1.3-.7-2.5-1-1.6-.1.8-.3 2.2-.8 1.6-.4-.5-.2-.6-1 .2-.5.5-.5-.2-.8-.6-.2-.3-.8.2-.8.4zm-9.2 7.2c-.3 1.9 0 4.5.9 4.5 1.2 0 3.6-4 4.8-6.2.7-1.2 1.8-1.4 1.3-.1-.7 1.9-.6 6 0 7.2.4.6 3-.6 3.4-1.5.8-1.7.1-4.8.4-6.7.1-1.2 1.3-1.5 1.2-.3l-.1 7.5c0 1 2.9 2.4 3.3-.6.2-1.8 1.2-3.7 0-5.7-.8-1.3 1.1-1.2 2.1.6.7 1.2-.6 3.2-.5 4.7 0 2.4-1.8 3.8-3.1 3.8-1.2 0-2-1.5-3-1.5s-2.2 1.7-3 1.6c-3.6-.2-1.7-5.3-2.8-5.4-1.2 0-2.5 5-4 4.9-1.4-.2-3-4.2-2.3-5.8.5-1.6 1.5-2 1.4-1m16.9-8c-1.7-1 0-3.7.9-2.8 1.6 2 3.2 6.5 4.4 6.9.7.2.6-3.4 1.1-5 .4-1.3 1.8-.9 1.6.7-.1.5-2 6.4-1.8 6.6a47 47 0 0 1 3.3 7.8c.3 1.2-1.1.4-1.3.2-.9-1.4-2.4-6.5-2.4-6.2l-1.7 7.7c-.2 1-1.7.8-1.3-1 .3-1.4 2.3-8.3 2.2-8.6a17 17 0 0 0-5-6.3"/> + <path d="M322 131.2c-.4 0-1.2 1 1.2 1.5 3.1.6 6.6-.5 7.6-3.6 1.3-3.7 2-7.2 2.7-8.5.8-1.5 1.8-1.4 1-3.6-.5-1.7-1.5-1.2-1.7-.3-.5 2.3-2.6 10-3.3 11.3q-1.8 3.8-7.5 3.2"/> + <path d="M328.4 119c-.4-.7-1.2 0-1 .7a1 1 0 0 0 1.2 1c.7 0 2.2.1 2.2-1 0-.8-.7-1.5-1.1-.6q-.8 1.1-1.3 0zm.7-3c-.2.2 0 1.1.3 1a7 7 0 0 0 3.3-.8c.2-.2.1-.7-.2-.7-1 0-2.6 0-3.4.5m8.8 2.3c.8-1.2 2.8-1.3 2 .4l-6.3 12.3c-.8 1.4-1.4.7-.8-.4.7-1.4 4.9-12 5.1-12.3"/> + <path d="M330.2 133c-.2-.8-1.5-2-1.3.2.2 3.8 5.5 2.6 7 1.3s.3 4.3 2.2 4.9c1 .3 3-1.1 4-2.4 2.7-3.5 4.5-8.6 7-12 1-1.4-.5-2.4-1-1.3-2.4 3.8-5.2 11.6-8.3 13.6-2.5 1.6-1.7-2-1.8-3.2-.1-.8-1.1-2-2.4-.9a6 6 0 0 1-3.7 1.2c-.7 0-1.4 0-1.7-1.4"/> + <path d="M339.6 126c0-.3-1.1-.4-1 .7 0 .8 1 1 1.1 1 1.5-1.2-.3-.6-.1-1.8zm-2.3 4.4c-.3 0-.6 1 .2 1.1l3.9-.2c.4 0 .6-.9-.4-.8-1.2 0-2.7-.3-3.7 0zm-62-16.6c.5 0 1.6 1.4 1.5 1.9 0 .2-1.2 0-1.5-.3s-.2-1.6 0-1.6m-5.3 10.4c-1 .6.2 1.7 1 1.2 2.8-1.9 7-3.8 8-7.5.3-1.2 1.4-3.1 2.5-3.5 1-.5 2.6 1.9 3.6 0 .6-1 2.7.7 3.2-.4.6-1.3.3-2 .3-3.4 0-.8-.7-1-1.2.3l-.1 1.6q-.4.4-1 .2c-.2-.2 0-.7-.6-1q-.4-.1-.8.2c-.7 1.3-1 2.5-2.1 1-.9-1-1.4-3.1-2-.3-.2 1-1.7 2.4-2.6 2.4-1.1 0-.8-3-3.2-2.5-1.3.3-1.2 2.7-1 3.5.3 1.3 4 .4 3.7 1.2-.6 2.7-4.4 5.4-7.7 7m-22.7 13.2c-.1.5.5 1.7 1.1 1.8.6 0 1-1.3.8-1.8-.2-.3-1.8-.3-1.9 0m3.3 4.9c-.4-.4-1.6.7-.6 1.5.5.5 2.5 1.1 3 .2.8-1.2-.7-5.5 0-6 .5-.5 2.8 2.8 4 3 2.7.4 2-4.6 5-4.2 1.9.2 2.1-2.2 1.8-3.8-.2-1.5-2.6-3.6-3.7-4.6-1.4-1.2-2.1 1-1.2 1.6 1.2 1 3.3 2.9 3.6 4.1.1.6-1.4 1.8-2 1.5-1.4-.8-2.6-4-3.8-4.7-.4-.2-1.4.3-1 1.3.6 1.1 3 2.7 3.1 3.9.1 1-1 3.2-1.8 3.2s-3-2.7-3.7-4c-.4-.5-1.5-.5-1.7.4a22 22 0 0 0 .5 5.5c.2 1.6-.9 1.7-1.5 1.1m-4-8.6c-.4.4.8 1.2 1 1 .4-.4 2.1-2.3 1.8-3-.3-.6-2.6-2-3-1.3-.7 1.1 2.2 1.7 1.7 2zm4.1-8.4s.8 2.5 1.4 1.4c.4-.7-1.4-1.4-1.4-1.4m1.2 4c-.2 0-1 .7-.5 1 .8.4 2.9.8 2.4-.7-.3-.9 3.2 0 2.3-2.4a4 4 0 0 0-1.7-1.7c-.4 0-1.5.5-.8.9.5.2 2 1.1 1.5 1.7-.7.6-1.1-.3-1.9-.1-.4 0-.1 1.2-.4 1.5 0 .2-.7-.4-.9-.3zm5.5-9.5a4 4 0 0 0-1.2 2q.1.5.5.5a3 3 0 0 0 1.2-1.9c0-.3-.2-.8-.5-.6m2.8-.3c-.8-1 1-2.6 1.7-.5.5 1.3 5.5 7.9 6.5 10.1.8 1.5 0 2.1-.9 1-2.5-3.2-4.6-7.2-7.3-10.6m5.2.1c.9-1 2.7-3 2.2-4s-1.5-1-1.7-.7c-1 1.3.8 1 .5 1.4q-.8 1.3-1.3 2.6c-.1.3.1.9.3.7m77.8 3.2c-.7-.5.6-3 1.5-2 2.3 2.7 3.4 11.6 4.1 18.3 0 0-1 .9-1 .7 0-3.5-1.5-14.4-4.6-17m-53.1-8.6c-.8-1.8 1.1-2.4 1.4-1.2 1.3 5.8 4.5 10.2 7 14.1.7 1.2 0 2-1.7.8-1.2-.8-2.5-3.9-3-4-1.2-.2-3.8 5-9.1 3.5-1.4-.4-1.3-4.5-1.4-6.3 0-.9 1-1 1 0 0 1.7 0 5.2 2.1 5.4 1.8 0 5.6-2.4 6.4-4.4s-1.9-5.9-2.7-8z"/> + <path d="M344.6 138.4c.4-1.2 6.1-10.8 6.9-12.9.4-1 2 1.8.4 3.3-1.4 1.2-5.5 8-6.3 10.4-.4 1-1.4.5-1-.8"/> + <path d="M354.3 129.3c1-4 3.6.6 1.3 2.8-3.4 3.4-4.5 9.9-10 10.9-1.4.3-4-.7-4.8-1.3-.3-.2.2-1.6 1.1-.9 1.3 1 4.1 1.3 5.6.1a25 25 0 0 0 6.8-11.6m-57 12.7c-.3.3-1 .3-1.1.7-.3 1.4 0 2.2-.3 3.6s-1.3 1.4-1.2.3c0-1.4 1.3-3.5.4-3.6-.6-.1-1-.9-.4-1.3q1.5-.9 2.4-.4.5.3.2.7"/> + <path d="M296.5 140c-1.4 1.4-2.8 1.9-4.1 3.5-.6.6-.5 1.5-.9 2.4-.3.9-1.4 1-1.7.9-.5-.4-.4-2-1-1.2s-.9 2-1.7 2-2-1.5-1.3-1.5c2.3-.3 2.2-2 3-2.2 1-.1 1 1.5 1.7 1.2.4-.2.7-2.1 1.2-2.6 1.5-1.6 2.7-2.4 4.3-3.6.7-.6 1.3.5.5 1.2zm5.3 5c-1.2.2-1 1.7-.6 1.8.5.3 1.4.4 1.7-1.3.2-.7.3 3.5 1.8 1.9 1-1 3.1.2 4-1 .7-.9 1-1.5.4-2.7-.2-.3-1-.2-1 .7s-.5 1.7-1.3 1.6c-.4-.1.2-1.9-.2-2.4h-.7c-.3.4.3 2.2-.6 2.4-1.2.2-.6-1.2-1-1.4-1.7-.8-1.8.2-2.5.3zm9-3c.9-.2.6-.2 2-1.3.5-.4.6.8.5 1.3 0 .7-1 .2-1.3.9-.4.9-.2 3-.4 3.8 0 .4-.8.4-.8 0-.2-1 .1-2 0-3.3 0-.4-.5-1.1 0-1.3zm-5-2.5-.2 2.3c0 .5 1 .2 1 .1 0-.8.2-2 0-2.3q-.5-.3-.8-.1"/> + <path d="m299.5 130.2-1.4 5.6-2-3.8v3.9l-4.4-5.2 1.5 5.6-4-3.4 2.2 3.8-7-4.5 4.4 5.2-5.6-2.8 4 3.4-9-3.4 8.7 4.3a29 29 0 0 1 12.6-2.6q7.5.1 12.5 2.6l8.8-4.3-9 3.4 4-3.4-5.5 2.8 4.3-5.2-7 4.5 2.2-3.8-4 3.3 1.5-5.5-4.3 5.2V132l-2 3.8z"/> + </g> + </g> + <path fill="#fff" d="m311.3 295-.3 2.6h-.4l-.1-1.8-.5-1.6-.5-1.3-1-1.4.8-2.2a7 7 0 0 1 1.5 2.4 9 9 0 0 1 .5 3.2m7-4.2q0 1-.5 1.5-.3.5-1.3.7l.4 1.5v2l-.1 1.3h-.4l-.1-1.3-.2-1-.4-1-.7-1.4-1-1.7.6-2 1 1q.4.3 1 .3 1.2 0 1.2-1.3h.4v1.4m6.4 4.8-.5 2.1q-.6 0-.8-.7l-.4-1.3-.1-1.7-1 .2a2 2 0 0 1-1.3-.4 1 1 0 0 1-.5-1q0-1.4.7-2.3.8-1 1.5-1.1.7 0 1 .4l.3.9v2q0 1.3.3 1.9 0 .4.8 1m-2-3.5q0-.9-.8-.8l-.6.1q-.2.1-.2.3 0 .5 1 .5zm8.7 3-.3 2.6q-.8-.5-1.4-2l-1.3-4.1-1.8 5.5-.8.7v-2.5q.9-1 1-1.5l.8-1.7.5-2.7h.4l.9 2.7q.3 1 .9 1.6l1 1.4"/> + <path fill="#bf0000" d="M350.8 319.4q.6.6.7 1.2l.4 1.6-.8.1-1-1.5-1.1-1.2-1.7-1.5-2-1.7q-.6-.3-.6-.5l-.3-.8-.2-1.6 2.7 2.2 2.5 2.2zm-9.5-5.8-.2 2H338l.3-2zm8.4 8.9-7.6 2.3-1.3-2 6.5-2-.7-.8-.9-.6a1 1 0 0 1-.4 1l-1 .6a3 3 0 0 1-1.8 0 2 2 0 0 1-1.3-.7 4 4 0 0 1-.7-2.2q0-1.5.9-1.8 1.1-.3 3 .7a8 8 0 0 1 3 2.4zm-5.8-4-.8-.3h-.6l-.5.3v.6l.5.2h.6l.4-.3zm-8-1.6-.5 2-3.2-.3.5-2zm7.5 7.7-1.7.4H340l-1.5-.4q-.5.8-1.5 1.2l-1.6.6-1.2.3-1-2 1.1-.3 1.3-.4.9-.5-1-.5h-.9l-.2.3h-.5q-.8-1.2-.3-2c.5-.8.9-.8 2-1a7 7 0 0 1 2.6-.2q1.2.1 1.5.9.2.3.2.7l-.4 1.2h1.1l1.7-.3zm-8 1.8-1.6.3a3 3 0 0 1-2.2-.4 6 6 0 0 1-1.7-2.6l-.8-2.2a2 2 0 0 0-.8-1l-.9-.5.6-2.1q.9.4 1.4 1l1 1.7.5 1.5 1.1 2.2q.5.4 1 .3l1.7-.2zm-7-7.5-1 1.9-3-.7 1-1.9zm1.8 8.4-7.5.7-.4-2 6.2-.7-.6-.8-1-.6.5-2q1 .6 1.6 1.3.5.8.8 2.1zm-6 1-2.2-.2-1.7-.5-1.3.4h-3.7l-1.2-.3q-.4-.3-.8-1a4 4 0 0 1-1.5 1l-1.7.1h-1.7l.2-2.1h1.7q1.2.1 2.1-.4a2 2 0 0 0 1.3-1.8l.7.1-.1 1.3q0 .4.3.7.4.3 1 .3h1.5q1.5 0 2-.2.9-.2 1-1.1l.1-.4s.3 0 .5-.2l.5-.2v.7l-.3 1.1 2 .5q.1-.3-.1-.7l-.3-.6.1-.3.3-.2 1-.9.5 1v1zm-11.3-8.7-2 1.3-1.3-.9-1.4 1-1.9-1 1.8-1.3 1.5.8 1.5-1 1.8 1m-3 8.2-7.3-1.2.8-2 6.2 1q0-.6-.2-1l-.5-.8 1.6-1.7q.6.8.7 1.6t-.5 2.1zm-6.1-1-1.6-.3q-1.3-.3-1.5-1.2-.3-.9.8-2.8l1.2-2q.4-.7.3-1.2l-.3-.7 2.2-1.6q.4.8.3 1.4 0 .8-.7 1.8l-.8 1.4a6 6 0 0 0-.9 2.2q0 .6.5.7l1.6.4zm-3.8-8-2.5 1.1-1.8-1.7 2.6-1zm-1 6.6-1.6 1.4-1.7.6-2.4-.1-2.8-.7a8 8 0 0 1-3.4-2q-.9-1.2 0-2.2a7 7 0 0 1 2-1.6q1.1-.7 3.8-1.6l.4.5-2.8 1.2q-.8.4-1.3 1t.2 1.6a11 11 0 0 0 6.3 2.2q1.8 0 2.3-.7.4-.4.5-1l.2-1.6 2.5-1.5-.1 1.5a4 4 0 0 1-1 1.6z"/> +</svg> diff --git a/apps/web/public/flags/ag.svg b/apps/web/public/flags/ag.svg new file mode 100644 index 00000000..243c3d8f --- /dev/null +++ b/apps/web/public/flags/ag.svg @@ -0,0 +1,14 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ag" viewBox="0 0 640 480"> + <defs> + <clipPath id="ag-a"> + <path fill-opacity=".7" d="M-79.7 0H603v512H-79.7z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#ag-a)" transform="translate(74.7)scale(.9375)"> + <path fill="#fff" d="M-79.7 0H603v512H-79.7z"/> + <path fill="#000001" d="M-79.6 0H603v204.8H-79.7z"/> + <path fill="#0072c6" d="M21.3 203.2h480v112h-480z"/> + <path fill="#ce1126" d="M603 .1V512H261.6L603 0zM-79.7.1V512h341.3L-79.7 0z"/> + <path fill="#fcd116" d="M440.4 203.3 364 184l64.9-49-79.7 11.4 41-69.5-70.7 41L332.3 37l-47.9 63.8-19.3-74-21.7 76.3-47.8-65 13.7 83.2L138.5 78l41 69.5-77.4-12.5 63.8 47.8L86 203.3z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ai.svg b/apps/web/public/flags/ai.svg new file mode 100644 index 00000000..9c2ea339 --- /dev/null +++ b/apps/web/public/flags/ai.svg @@ -0,0 +1,29 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ai" viewBox="0 0 640 480"> + <defs> + <path id="ai-b" fill="#f90" d="M271 87c1.5 3.6 6.5 7.6 7.8 9.6-1.7 2-2 1.8-1.8 5.4 3-3.1 3-3.5 5-3 4.2 4.2.8 13.3-2.8 15.3-3.4 2.1-2.8 0-8 2.6 2.3 2 5.1-.3 7.4.3 1.2 1.5-.6 4.1.4 6.7 2-.2 1.8-4.3 2.2-5.8 1.5-5.4 10.4-9.1 10.8-14.1 1.9-.9 3.7-.3 6 1-1.1-4.6-4.9-4.6-5.9-6-2.4-3.7-4.5-7.8-9.6-9-3.8-.7-3.5.3-6-1.4-1.6-1.2-6.3-3.4-5.5-1.6"/> + </defs> + <clipPath id="ai-a"> + <path d="M0 0v120h373.3v120H320zm320 0H160v280H0v-40z"/> + </clipPath> + <path fill="#012169" d="M0 0h640v480H0z"/> + <path stroke="#fff" stroke-width="50" d="m0 0 320 240m0-240L0 240"/> + <path stroke="#c8102e" stroke-width="30" d="m0 0 320 240m0-240L0 240" clip-path="url(#ai-a)"/> + <path stroke="#fff" stroke-width="75" d="M160 0v280M0 120h373.3"/> + <path stroke="#c8102e" stroke-width="50" d="M160 0v280M0 120h373.3"/> + <path fill="#012169" d="M0 240h320V0h106.7v320H0z"/> + <path fill="#fff" d="M424 191.8c0 90.4 9.7 121.5 29.3 142.5a179 179 0 0 0 35 30 180 180 0 0 0 35-30c19.5-21 29.3-52.1 29.3-142.5-14.2 6.5-22.3 9.7-34 9.5a78 78 0 0 1-30.3-9.5 78 78 0 0 1-30.3 9.5c-11.7.2-19.8-3-34-9.5"/> + <g transform="matrix(1.96 0 0 2.002 -40.8 62.9)"> + <use xlink:href="#ai-b"/> + <circle cx="281.3" cy="91.1" r=".8" fill="#fff" fill-rule="evenodd"/> + </g> + <g transform="matrix(-.916 -1.77 1.733 -.935 563.4 829)"> + <use xlink:href="#ai-b"/> + <circle cx="281.3" cy="91.1" r=".8" fill="#fff" fill-rule="evenodd"/> + </g> + <g transform="matrix(-1.01 1.716 -1.68 -1.031 925.4 -103.2)"> + <use xlink:href="#ai-b"/> + <circle cx="281.3" cy="91.1" r=".8" fill="#fff" fill-rule="evenodd"/> + </g> + <path fill="#9cf" d="M440 315.1a78 78 0 0 0 13.3 19.2 179 179 0 0 0 35 30 180 180 0 0 0 35-30 78 78 0 0 0 13.2-19.2z"/> + <path fill="#fdc301" d="M421.2 188.2c0 94.2 10.2 126.6 30.6 148.5a187 187 0 0 0 36.5 31.1 186 186 0 0 0 36.4-31.1c20.4-21.9 30.6-54.3 30.6-148.5-14.8 6.8-23.3 10.1-35.5 10-11-.3-22.6-5.7-31.5-10-9 4.3-20.6 9.7-31.5 10-12.3.1-20.7-3.2-35.6-10m4 5c14 6.5 22 9.6 33.5 9.4a76 76 0 0 0 29.6-9.4c8.4 4 19.3 9.2 29.6 9.4 11.5.2 19.4-3 33.4-9.4 0 89-9.6 119.6-28.8 140.2a176 176 0 0 1-34.2 29.4 176 176 0 0 1-34.3-29.4c-19.2-20.6-28.7-51.3-28.7-140.2z"/> +</svg> diff --git a/apps/web/public/flags/al.svg b/apps/web/public/flags/al.svg new file mode 100644 index 00000000..e85d95f0 --- /dev/null +++ b/apps/web/public/flags/al.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-al" viewBox="0 0 640 480"> + <path fill="red" d="M0 0h640v480H0z"/> + <path id="al-a" fill="#000001" d="M272 93.3c-4.6 0-12.3 1.5-12.2 5-13-2.1-14.3 3.2-13.5 8q2-2.9 3.9-3.1 2.5-.3 5.4 1.4a22 22 0 0 1 4.8 4.1c-4.6 1.1-8.2.4-11.8-.2a17 17 0 0 1-5.7-2.4c-1.5-1-2-2-4.3-4.3-2.7-2.8-5.6-2-4.7 2.3 2.1 4 5.6 5.8 10 6.6 2.1.3 5.3 1 8.9 1s7.6-.5 9.8 0c-1.3.8-2.8 2.3-5.8 2.8s-7.5-1.8-10.3-2.4c.3 2.3 3.3 4.5 9.1 5.7 9.6 2 17.5 3.6 22.8 6.5a37 37 0 0 1 10.9 9.2c4.7 5.5 5 9.8 5.2 10.8 1 8.8-2.1 13.8-7.9 15.4-2.8.7-8-.7-9.8-2.9-2-2.2-3.7-6-3.2-12 .5-2.2 3.1-8.3.9-9.5a274 274 0 0 0-32.3-15.1c-2.5-1-4.5 2.4-5.3 3.8a50 50 0 0 1-36-23.7c-4.2-7.6-11.3 0-10.1 7.3 1.9 8 8 13.8 15.4 18s17 8.2 26.5 8c5.2 1 5.1 7.6-1 8.9-12.1 0-21.8-.2-30.9-9-6.9-6.3-10.7 1.2-8.8 5.4 3.4 13.1 22.1 16.8 41 12.6 7.4-1.2 3 6.6 1 6.7-8 5.7-22.1 11.2-34.6 0-5.7-4.4-9.6-.8-7.4 5.5 5.5 16.5 26.7 13 41.2 5 3.7-2.1 7.1 2.7 2.6 6.4-18.1 12.6-27.1 12.8-35.3 8-10.2-4.1-11 7.2-5 11 6.7 4 23.8 1 36.4-7 5.4-4 5.6 2.3 2.2 4.8-14.9 12.9-20.8 16.3-36.3 14.2-7.7-.6-7.6 8.9-1.6 12.6 8.3 5.1 24.5-3.3 37-13.8 5.3-2.8 6.2 1.8 3.6 7.3a54 54 0 0 1-21.8 18c-7 2.7-13.6 2.3-18.3.7-5.8-2-6.5 4-3.3 9.4 1.9 3.3 9.8 4.3 18.4 1.3s17.8-10.2 24.1-18.5c5.5-4.9 4.9 1.6 2.3 6.2-12.6 20-24.2 27.4-39.5 26.2-6.7-1.2-8.3 4-4 9 7.6 6.2 17 6 25.4-.2 7.3-7 21.4-22.4 28.8-30.6 5.2-4.1 6.9 0 5.3 8.4-1.4 4.8-4.8 10-14.3 13.6-6.5 3.7-1.6 8.8 3.2 9 2.7 0 8.1-3.2 12.3-7.8 5.4-6.2 5.8-10.3 8.8-19.9 2.8-4.6 7.9-2.4 7.9 2.4-2.5 9.6-4.5 11.3-9.5 15.2-4.7 4.5 3.3 6 6 4.1 7.8-5.2 10.6-12 13.2-18.2 2-4.4 7.4-2.3 4.8 5-6 17.4-16 24.2-33.3 27.8-1.7.3-2.8 1.3-2.2 3.3l7 7c-10.7 3.2-19.4 5-30.2 8l-14.8-9.8c-1.3-3.2-2-8.2-9.8-4.7-5.2-2.4-7.7-1.5-10.6 1 4.2 0 6 1.2 7.7 3.1 2.2 5.7 7.2 6.3 12.3 4.7 3.3 2.7 5 4.9 8.4 7.7l-16.7-.5c-6-6.3-10.6-6-14.8-1-3.3.5-4.6.5-6.8 4.4 3.4-1.4 5.6-1.8 7.1-.3 6.3 3.7 10.4 2.9 13.5 0l17.5 1.1c-2.2 2-5.2 3-7.5 4.8-9-2.6-13.8 1-15.4 8.3a17 17 0 0 0-1.2 9.3q1.1-4.6 4.9-7c8 2 11-1.3 11.5-6.1 4-3.2 9.8-3.9 13.7-7.1 4.6 1.4 6.8 2.3 11.4 3.8q2.4 7.5 11.3 5.6c7 .2 5.8 3.2 6.4 5.5 2-3.3 1.9-6.6-2.5-9.6-1.6-4.3-5.2-6.3-9.8-3.8-4.4-1.2-5.5-3-9.9-4.3 11-3.5 18.8-4.3 29.8-7.8l7.7 6.8q2.3 1.5 3.8 0c6.9-10 10-18.7 16.3-25.3 2.5-2.8 5.6-6.4 9-7.3 1.7-.5 3.8-.2 5.2 1.3 1.3 1.4 2.4 4.1 2 8.2-.7 5.7-2.1 7.6-3.7 11s-3.6 5.6-5.7 8.3c-4 5.3-9.4 8.4-12.6 10.5-6.4 4.1-9 2.3-14 2-6.4.7-8 3.8-2.8 8.1 4.8 2.6 9.2 2.9 12.8 2.2 3-.6 6.6-4.5 9.2-6.6 2.8-3.3 7.6.6 4.3 4.5-5.9 7-11.7 11.6-19 11.5-7.7 1-6.2 5.3-1.2 7.4 9.2 3.7 17.4-3.3 21.6-8 3.2-3.5 5.5-3.6 5 1.9-3.3 9.9-7.6 13.7-14.8 14.2-5.8-.6-5.9 4-1.6 7 9.6 6.6 16.6-4.8 19.9-11.6 2.3-6.2 5.9-3.3 6.3 1.8 0 6.9-3 12.4-11.3 19.4 6.3 10.1 13.7 20.4 20 30.5l19.2-214L320 139c-2-1.8-8.8-9.8-10.5-11-.7-.6-1-1-.1-1.4s3-.8 4.5-1c-4-4.1-7.6-5.4-15.3-7.6 1.9-.8 3.7-.4 9.3-.6a30 30 0 0 0-13.5-10.2c4.2-3 5-3.2 9.2-6.7a86 86 0 0 1-19.5-3.8 37 37 0 0 0-12-3.4zm.8 8.4c3.8 0 6.1 1.3 6.1 2.9s-2.3 2.9-6.1 2.9-6.2-1.5-6.2-3c0-1.6 2.4-2.8 6.2-2.8"/> + <use xlink:href="#al-a" width="100%" height="100%" transform="matrix(-1 0 0 1 640 0)"/> +</svg> diff --git a/apps/web/public/flags/am.svg b/apps/web/public/flags/am.svg new file mode 100644 index 00000000..99fa4dc5 --- /dev/null +++ b/apps/web/public/flags/am.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-am" viewBox="0 0 640 480"> + <path fill="#d90012" d="M0 0h640v160H0z"/> + <path fill="#0033a0" d="M0 160h640v160H0z"/> + <path fill="#f2a800" d="M0 320h640v160H0z"/> +</svg> diff --git a/apps/web/public/flags/ao.svg b/apps/web/public/flags/ao.svg new file mode 100644 index 00000000..b73b1ec5 --- /dev/null +++ b/apps/web/public/flags/ao.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ao" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="red" d="M0 0h640v243.6H0z"/> + <path fill="#000001" d="M0 236.4h640V480H0z"/> + </g> + <path fill="#ffec00" fill-rule="evenodd" d="M228.7 148.2c165.2 43.3 59 255.6-71.3 167.2l-8.8 13.6c76.7 54.6 152.6 10.6 174-46.4 22.2-58.8-7.6-141.5-92.6-150z"/> + <path fill="#ffec00" fill-rule="evenodd" d="m170 330.8 21.7 10.1-10.2 21.8-21.7-10.2zm149-99.5h24v24h-24zm-11.7-38.9 22.3-8.6 8.7 22.3-22.3 8.7zm-26-29.1 17.1-16.9 16.9 17-17 16.9zm-26.2-39.8 22.4 8.4-8.5 22.4-22.4-8.4zM316 270l22.3 8.9-9 22.2-22.2-8.9zm-69.9 70 22-9.3 9.5 22-22 9.4zm-39.5 2.8h24v24h-24zm41.3-116-20.3-15-20.3 14.6 8-23-20.3-15h24.5l8.5-22.6 7.8 22.7 24.7-.3-19.6 15.3z"/> + <path fill="#fe0" fill-rule="evenodd" d="M336 346.4c-1.2.4-6.2 12.4-9.7 18.2l3.7 1c13.6 4.8 20.4 9.2 26.2 17.5a8 8 0 0 0 10.2.7s2.8-1 6.4-5c3-4.5 2.2-8-1.4-11.1-11-8-22.9-14-35.4-21.3"/> + <path fill="#000001" fill-rule="evenodd" d="M365.3 372.8a4.3 4.3 0 1 1-8.7 0 4.3 4.3 0 0 1 8.6 0zm-21.4-13.6a4.3 4.3 0 1 1-8.7 0 4.3 4.3 0 0 1 8.7 0m10.9 7a4.3 4.3 0 1 1-8.7 0 4.3 4.3 0 0 1 8.7 0"/> + <path fill="#fe0" fill-rule="evenodd" d="M324.5 363.7c-42.6-24.3-87.3-50.5-130-74.8-18.7-11.7-19.6-33.4-7-49.9 1.2-2.3 2.8-1.8 3.4-.5 1.5 8 6 16.3 11.4 21.5A5288 5288 0 0 1 334 345.6c-3.4 5.8-6 12.3-9.5 18z"/> + <path fill="#ffec00" fill-rule="evenodd" d="m297.2 305.5 17.8 16-16 17.8-17.8-16z"/> + <path fill="none" stroke="#000" stroke-width="3" d="m331.5 348.8-125-75.5m109.6 58.1L274 304.1m18.2 42.7L249.3 322"/> +</svg> diff --git a/apps/web/public/flags/aq.svg b/apps/web/public/flags/aq.svg new file mode 100644 index 00000000..c7e35362 --- /dev/null +++ b/apps/web/public/flags/aq.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-aq" viewBox="0 0 640 480"> + <path fill="#3a7dce" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M157.7 230.8c-3.5-7.8-3.5-7.8-3.5-15.6-1.8 0-2 .3-3 0-1.1-.3-1.5 7.2-4.8 5.8-.5-.8 2.4-6.2-.7-8.5-1-.7.2-5.2-.2-7.2 0 0-4 2.4-7-5.8-1.5-2.2-3.5 2-3.5 2s.9 2.4-.7 3c-2.2-1.8-3.9-.8-6.7-3.4s.6-5.4-4.8-7.5c3.5-9.8 3.5-7.9 12.2-11.8-5.2-4-5.2-4-8.7-9.8-5.2-2-7-4-12.2-7.8-7-9.9-10.5-29.5-10.5-43.2 4.4-4.6 10.5 15.7 19.2 21.6l12.2 5.9c7 3.9 8.7 7.8 14 11.7l15.6 6c7 5.8 10.5 13.6 15.7 15.6 5.7 0 6.8-3.7 8.6-3.9 10.3-.6 15.5-2 17.5-5.5 2.1-2.8 7 1.6 21-4.3l-1.7-7.9s3.7-3.4 8.7-2c-.1-3.5-.5-13 4.5-17.4-3-3.5 1.8-9 2-10.7-1.4-8.6 1.4-8.7 2-11.3.6-2.5-2.4-1.7-1.6-5.2.9-3.5 6-4.3 6.6-7.2.7-2.9-1.1-14.3-1.3-16.8 9.4-2.8 12.4-11.4 15.7-7.8C264 70 265.8 66 276.3 66c1.4-3.6-3.9-6.7-1.8-7.9 3.5-.5 6.1-.2 10.2 5.7 1.3 2 1.6-2.7 2.9-3.2s4.4-.5 4.9-2.8c.5-2.4 1.2-5.6 3-9.5 1.4-3.2 2.5 1.3 3.8 7.5 7.4.3 24 2.1 31 4.3 5.2 1.5 8.7-1.5 13.7-2.2 3.7 4.2 7.2 1 9.2 10 2.7 4.8 7.3.4 8.3 1.8 5.8 18.1 25.8 5.9 27.4 6.2 2.5 0 5.6 8 7.7 7.9 3.2-.6 2.3-3.1 5.2-2.1-.8 6.8 5.6 14.6 5.6 19.7 0 0 1.5.9 3-.6 1.4-1.6 2.7-5.4 4-5.3 3 .5 22 6 25.8 7.9 1.7 3.5 3.3 5.3 6.8 4.7 2.8 2.1.8 5 2.4 5.1 3.5-2 4.7-4 8.2-2.1 3.5 2 7 5.9 8.7 9.8 0 2-1.8 9.8 0 21.6.9 3.9 9.7 32.3 9.7 35.2 0 4-2.7 6-4.5 9.9 7 5.9 0 15.7-3.5 21.6 26.2 5.9 14 17.6 34.9 11.7-5.2 13.8-3.4 12.7 1.8 26.4-10.4 7.8-.2 10.2-7.1 20-.5.7 4.1 8.6 10.5 8.6-1.7 15.6-7 9.8-5.2 33.3-13.7-.3-8.2 17.6-17.4 15.7.5 11.2 5.2 12.2 3.4 23.5-7 2-7 2-10.4 7.9l-5.2-2c-1.8 9.8-5.3 11.8 0 21.6 0 0-6.8.2-8.8 0-.1 3.4 3 4.3 3.5 7.8-.2 1.4-9.9 7.6-17.4 7.9-2 4.8 5.2 10 4.8 12.4-8.2 1.8-11.8 13-11.8 13s4.2 2 3.5 4c-2.2-1.8-3.5-2-7-2-1.7.5-6 0-10 7.7-4.5 1.6-6.6 1-10 6-1.5-4.7-3.7.1-6.3 2-2.7 1.8-6.2 6.5-6.7 6.3.1-1.4 1.6-6.3 1.6-6.3L399 437c-.7.1-.5-5.7-2.2-5.5s-6.4 7.3-8 7.5-2.1-2.2-3.5-2-4 7.5-5 7.7c-1 .1-5-4.5-8.3-3.8-17.1 6.8-19.9-13.4-22.5-2-3.6-2.2-3-1-6.7.1-2.3.7-2.5-3.4-4.6-3.4-4.1.2-4 4.6-6.2 3.3-1.8-9.2-13-7.6-14-11.5s4.8-4 6.6-6.8c1.4-4-1.5-5.6 4.3-9.4 7.5-5.7 6.8-19.8 4.9-25.3 0 0-5.9-17.7-7-17.7-3.5-1-3.5 6.5-8.6 8.6-10.5 4-29-9.9-32.2-9.9-2.9 0-16.5 3.6-16-4-2 7.4-9.5 1.7-10 1.7-7 0-4.3 6.1-9 5.9-2.1-.8-23.6-2.3-23.6-2.3v4l-26.1-11.8c-10.5-4-5.3-13.7-22.7-7.8v-11.8h-8.7c3.5-23.6 0-11.8-1.8-33.4l-7 2c-7-10.6 9.8-8.6-5.2-15.7 0 0 .3-11.7-3.5-7.8-.7.5 1.8 5.8 1.8 5.8-14-2-17.4-5.8-17.4-21.5 0 0 11.4 1.8 10.4 0-1.6-3-3.7-22-3.4-23.4-.1-2.6 10.7-9 8.6-15.2 1.4-.6 5.3-.7 5.3-.7"/> + <path fill="none" stroke="#fff" stroke-linejoin="round" stroke-width="2.5" d="M595.5 297.6q-.9 2 .1 3.6c1.1-1.7.2-2.4 0-3.6zm-476-149.4s-3-.4-2.4 2.3c1-2 2.3-2.2 2.4-2.3zm-.3-6.4c-1.7 0-3.8-.2-3 2.5 1-2.1 3-2.4 3-2.5zm12.7 36.3s2.6-.2 2 2.5c-1-2-2-2.4-2-2.5z" transform="scale(.86021 .96774)"/> +</svg> diff --git a/apps/web/public/flags/ar.svg b/apps/web/public/flags/ar.svg new file mode 100644 index 00000000..c753da10 --- /dev/null +++ b/apps/web/public/flags/ar.svg @@ -0,0 +1,32 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ar" viewBox="0 0 640 480"> + <path fill="#74acdf" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 160h640v160H0z"/> + <g id="ar-c" transform="translate(-64)scale(.96)"> + <path id="ar-a" fill="#f6b40e" stroke="#85340a" stroke-width="1.1" d="m396.8 251.3 28.5 62s.5 1.2 1.3.9c.8-.4.3-1.6.3-1.6l-23.7-64m-.7 24.2c-.4 9.4 5.4 14.6 4.7 23s3.8 13.2 5 16.5c1 3.3-1.2 5.2-.3 5.7 1 .5 3-2.1 2.4-6.8s-4.2-6-3.4-16.3-4.2-12.7-3-22"/> + <use xlink:href="#ar-a" width="100%" height="100%" transform="rotate(22.5 400 250)"/> + <use xlink:href="#ar-a" width="100%" height="100%" transform="rotate(45 400 250)"/> + <use xlink:href="#ar-a" width="100%" height="100%" transform="rotate(67.5 400 250)"/> + <path id="ar-b" fill="#85340a" d="M404.3 274.4c.5 9 5.6 13 4.6 21.3 2.2-6.5-3.1-11.6-2.8-21.2m-7.7-23.8 19.5 42.6-16.3-43.9"/> + <use xlink:href="#ar-b" width="100%" height="100%" transform="rotate(22.5 400 250)"/> + <use xlink:href="#ar-b" width="100%" height="100%" transform="rotate(45 400 250)"/> + <use xlink:href="#ar-b" width="100%" height="100%" transform="rotate(67.5 400 250)"/> + </g> + <use xlink:href="#ar-c" width="100%" height="100%" transform="rotate(90 320 240)"/> + <use xlink:href="#ar-c" width="100%" height="100%" transform="rotate(180 320 240)"/> + <use xlink:href="#ar-c" width="100%" height="100%" transform="rotate(-90 320 240)"/> + <circle cx="320" cy="240" r="26.7" fill="#f6b40e" stroke="#85340a" stroke-width="1.4"/> + <path id="ar-h" fill="#843511" stroke-width="1" d="M329 234.3c-1.7 0-3.5.8-4.5 2.4 2 1.9 6.6 2 9.7-.2a7 7 0 0 0-5.1-2.2zm0 .4c1.8 0 3.5.8 3.7 1.6-2 2.3-5.3 2-7.4.4q1.6-2 3.8-2z"/> + <use xlink:href="#ar-d" width="100%" height="100%" transform="matrix(-1 0 0 1 640.2 0)"/> + <use xlink:href="#ar-e" width="100%" height="100%" transform="matrix(-1 0 0 1 640.2 0)"/> + <use xlink:href="#ar-f" width="100%" height="100%" transform="translate(18.1)"/> + <use xlink:href="#ar-g" width="100%" height="100%" transform="matrix(-1 0 0 1 640.2 0)"/> + <path fill="#85340a" d="M316 243.7a1.8 1.8 0 1 0 1.8 2.9 4 4 0 0 0 2.2.6h.2q1 0 2.3-.6.5.7 1.5.7a1.8 1.8 0 0 0 .3-3.6q.8.3.8 1.2a1.2 1.2 0 0 1-2.4 0 3 3 0 0 1-2.6 1.7 3 3 0 0 1-2.5-1.7q-.1 1.1-1.3 1.2-1-.1-1.2-1.2c-.2-1.1.3-1 .8-1.2zm2 5.4c-2.1 0-3 2-4.8 3.1 1-.4 1.8-1.2 3.3-2s2.6.2 3.5.2 2-1 3.5-.2l3.3 2c-1.9-1.2-2.7-3-4.8-3q-.7 0-2 .6z"/> + <path fill="#85340a" d="M317.2 251.6q-1.1 0-3.4.6c3.7-.8 4.5.5 6.2.5 1.6 0 2.5-1.3 6.1-.5-4-1.2-4.9-.4-6.1-.4-.8 0-1.4-.3-2.8-.2"/> + <path fill="#85340a" d="M314 252.2h-.8c4.3.5 2.3 3 6.8 3s2.5-2.5 6.8-3c-4.5-.4-3.1 2.3-6.8 2.3-3.5 0-2.4-2.3-6-2.3"/> + <path fill="#85340a" d="M323.7 258.9a3.7 3.7 0 0 0-7.4 0 3.8 3.8 0 0 1 7.4 0"/> + <path id="ar-e" fill="#85340a" stroke-width="1" d="M303.4 234.3c4.7-4.1 10.7-4.8 14-1.7a8 8 0 0 1 1.5 3.4q.6 3.6-2.1 7.5l.8.4q2.4-4.7 1.6-9.4l-.6-2.3c-4.5-3.7-10.7-4-15.2 2z"/> + <path id="ar-d" fill="#85340a" stroke-width="1" d="M310.8 233c2.7 0 3.3.6 4.5 1.7 1.2 1 1.9.8 2 1 .3.2 0 .8-.3.6q-.7-.2-2.5-1.6c-1.8-1.4-2.5-1-3.7-1-3.7 0-5.7 3-6.1 2.8-.5-.2 2-3.5 6.1-3.5"/> + <use xlink:href="#ar-h" width="100%" height="100%" transform="translate(-18.4)"/> + <circle id="ar-f" cx="310.9" cy="236.3" r="1.8" fill="#85340a" stroke-width="1"/> + <path id="ar-g" fill="#85340a" stroke-width="1" d="M305.9 237.5c3.5 2.7 7 2.5 9 1.3 2-1.3 2-1.7 1.6-1.7s-.8.4-2.4 1.3c-1.7.8-4.1.8-8.2-.9"/> +</svg> diff --git a/apps/web/public/flags/arab.svg b/apps/web/public/flags/arab.svg new file mode 100644 index 00000000..9ef079f6 --- /dev/null +++ b/apps/web/public/flags/arab.svg @@ -0,0 +1,109 @@ +<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" version="1.0" id="flag-icons-arab" viewBox="0 0 640 480"> + <path fill="#006233" d="M0 0v480h640V0Z" class="arab-fil0 arab-str0"/> + <g fill="#fff" fill-rule="evenodd" stroke="#fff"> + <path stroke-width=".4" d="M1071.9 2779.7c-25.9 38.9-7.2 64.2 19.5 66 17.6 1.3 54.2-24.9 54.1-55.7l-10-5.6c5.6 15.8-.2 20.8-12.1 31.6-23.5 21.3-71.5 22.8-51.5-36.3z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/> + <path d="M1277.2 2881.7c145.8 4.1 192.2-137 102.2-257.8l-8.9 13.3c5.8 56.3 14.2 111.8 15 169.5-17.6 20.7-43.2 13-48.3-10 .3-31.2-9.9-57.6-22.8-82.8l-7.2 13.3c8.4 20.7 17.5 44 19.4 69.5-41.6 49.9-87.6 60-70.5-5.6-32.9 57.5 16.9 98 73.3 9.5 12.1 60.4 58.9 22.9 61.7 9.9 5.1-39.6 2.5-103.4-7.8-153.8 40.6 70.3 42 121 20.4 154.9-24 37.7-76.2 55.3-126.5 70.1z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/> + <path d="M1359.9 2722.2c-31.2 2.3-47.2-4.1-30.3-27.2 16.7-22.6 32.3-4.6 36.5 25.6 3.9 28.3-54.8 64.4-75.1 64.4-30.7 0-44.9-39.5-16.6-75-36.4 103.6 78.6 43.5 85.5 12.2zm-21.6-24c-3.8-.2-6.6 6.5-4.7 7.8 5.5 3.8 14.2 1.5 15.1-.4 1.9-4.2-5.1-7.2-10.4-7.4z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/> + <path d="M1190.5 2771.1c-30 59-.1 83.4 38.4 76.6 22.4-4.1 50.8-20 67.2-41.7.3-47.8-.4-95.2-4.6-141.5 15-17.9-1.3-17.8-7-37-2.6 11.2-8.9 23.3-2.8 32q6.6 70 6.6 142.2c-30.2 24.3-52.9 33.3-69.1 33.1-33.5-.3-40.7-28.5-28.7-63.7z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/> + <path d="M1251.8 2786.7c-.5-44.5-1.2-95-5.2-126.1 15.6-17.3-.8-17.7-5.9-37.1-3 11-9.6 23-3.8 31.9 2.6 47.6 5.1 95.2 5.6 142.8 3.6-2.3 7.7-3.2 9.3-11.5z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/> + <path stroke-width=".4" d="M1135.4 2784.6c-3.8-4.8-6.5-10.2-9.6-14.9-.5-6.7 4-12.9 4.6-16.3 5.1 7.9 8.1 13.9 12.2 17.8m5.4 3.1c7.5 3 16.7 3 25.2 3.2 32.8.6 67.3-4.8 63.6 39.6a66 66 0 0 1-65.2 61.9c-41.7-.4-77.3-46.4-13-131.1 6.2-1 14.3.7 21 1.3 11.5.9 23.3-.2 36.8-11-1.6-27.9-1.6-54.3-5-79.5-5.8-8.9.8-20.8 3.8-31.9 5.1 19.4 21.4 19.8 5.9 37.2 3.7 28 4.1 56.5 4.1 73.5-7.8 11.9-13.9 24.5-36.7 29.3-23.3-3.4-33.8-36-58.1-25.2 6.7-29.4 68.4-36.1 74.6-12.9-4.1 24.2-61.7 14.5-77 92.7-4.7 24.1 20.7 46.3 46.8 44.5 25.5-1.7 52.7-19.4 55.4-49.2 2.1-24.9-33-22-47.7-21.7-21.4.5-34.9-2.8-43-7.5m21.9-53.9c3.8-3.6 17.1-6.1 21.9-.3q-5.5 3.5-10 8.1c-5-2.6-8.3-5.2-11.9-7.8z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/> + <path d="M1194 2650.9a49 49 0 0 1 5.3 21c-2.2 10.4-11.1 20.1-20.3 20.4-5.7.2-12.1-1.4-16.6-10.3-.5-1.1-2.9-3.7-5.2-2.5-10.1 16.6-17.6 23.6-26.7 23.5-18.2-.3-12.8-16.5-29.6-21.5-7-.2-18.5 6.9-24.4 20.8-22.4 63.5-42.8-.2-34.1-29.8 1.3 28.3 8.1 45.1 15.1 44.6 5.1-.5 9.6-12.3 16.1-24.7 5-9.5 17-26.6 29.7-26.6 11.6.3 4.3 21.6 27.5 21.3 11.2-.2 21.5-8.8 31.9-26 2.3-.4 2.9 3.7 3.4 5.1 1.6 5.9 11.8 22.1 25.6 7.3-.7-3.2-.4-8.5-3.9-9.6z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/> + <path stroke-width=".4" d="M1266.9 2598.3c-12.3 6.1-21.3.5-26.4-4.9 8.9-1.8 15.8-5 17.8-12-4-9-13.5-12.9-26.9-13-17.9.5-27.1 7.7-28.2 17.6 8.3.3 15.8-2 19 6-14.7 7.2-32 9.8-50.8 9.7-30.8 1.6-35.3-12.3-43.4-24.5-.6-.8-3.3-2.1-4.7-1.9-9.5 0-16.5 33.2-27.2 33.1-10.7-1.4-8.3-21.4-11.4-32.8-2.6 17.9 3.3 84.5 36.4 12.2 1-2.4 2.4-1.7 3.3.3 8.9 20.2 27 27.2 46.5 28.2 16.3.9 37.1-6.2 59.4-18.8 5.9 6.5 10.6 13.9 23 15.3 14.5.7 30-9.8 33.5-22.8 1.8-6.7 2.1-19.9-5-20.1-9.9-.3-17.1 23.7-14.8 45.3.2-.3 1.3-5.4 1.3-5.4m-43.8-28.8c6.5-3 12.8-4.4 17.8 2.2a27 27 0 0 0-8.4 4c-2.8-2.2-6.6-3.3-9.4-6.2zm47.8 14.9c1.6-7.1 2.5-12.8 8.3-16.5 1.2 7.5 1.4 11.7-8.3 16.5zm39 11c-1.9-6.1-3.8-11.4-4.4-18-1.4-13.4 10.1-21 20.5-19.9 10.7 1.1 17.8 5.1 28 8.6 8 2.7 18.8 4.8 29.1 7.7 5.8 2.6 0 9.4-1.5 10.3-25.8 10.1-44.1 26.1-60.5 26.8q-14.6.7-26.4-19c-.5-25.4-1.4-55.2-3.9-73.9 3.8-3.8 4.6-6.6 6.4-9.7 2 24.7 2.8 50.7 3.3 76.9 2.1 4.5 4.7 8.3 9.4 10.2zm16.5 2c-13.8 3.9-12.1-7.8-13.4-15-1.5-8.4-.5-17.9 10.2-15.5 13.9 3.7 26.6 8.6 38.9 13.8z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/> + <path stroke-width=".4" d="m1314.3 2621.3 1.9 9.3h1.5l-.6-8.7" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="m1094.2 2718.5 7-7.2 8.1 6.9-7.5 6.7zm17.8-2.4 7.1-7.2 8.1 6.9-7.5 6.7zm-49.5-74.6 7.1-7.2 8.1 6.9-7.5 6.7zm3.2 21.2 7.1-7.2 8 6.9-7.5 6.7zm128.5 35.5 6.5-5.3 6 6.5-6.8 4.8zm-85.8-135.7 4.6-4.7 5.3 4.5-4.9 4.4zm11.7-1.5 4.6-4.8 5.3 4.6-4.9 4.3zm245.6 53.7-4.4 3.7-4.2-4.3 4.6-3.4z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/> + <path stroke-width=".4" d="m1158.7 2747.4-.5 7.9 12.6 1.2 10.1-7.6z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/> + <path d="m1265.2 2599.8 3.7-.8-.4 10.3-2.3.9z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/> + </g> + <path fill="#fff" d="M320 326.3c51.6 0 93.6-38.2 93.6-85.2a82 82 0 0 0-32.6-64.4 70 70 0 0 1 19.2 48c0 40.8-35.9 73.9-80.2 73.9s-80.2-33.1-80.2-74c0-18.3 7.2-35.1 19.2-48a82 82 0 0 0-32.6 64.6c0 46.9 42 85.1 93.6 85.1" class="arab-fil2"/> + <g fill="#fff" stroke="#000" stroke-width="8"> + <path d="M-54 1623c-88 44-198 32-291-28-4-2-6 1-2 12 10 29 18 52-12 95-13 19 2 22 24 20 112-11 222-36 275-57zm-2 52c-35 14-95 31-162 43-27 4-26 21 22 27 49 5 112-30 150-61z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M0 1579c12 0 34-5 56-8 41-7 11 56-56 56v21c68 0 139-74 124-107-21-48-79-7-124-7s-103-41-124 7c-15 33 56 107 124 107v-21c-67 0-97-63-56-56 22 3 44 8 56 8z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M54 1623c88 44 198 32 291-28 4-2 6 1 2 12-10 29-18 52 12 95 13 19-2 22-24 20-112-11-222-36-275-57zm2 52c35 14 94 31 162 43 27 4 26 21-22 27-49 5-112-30-150-61z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M3 1665c2 17 5 54 28 38 31-21 38-37 38-67 0-19-23-47-69-47s-69 28-69 47c0 30 7 46 38 67 23 16 25-21 28-38 1-6 6-4 6 0z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + </g> + <g fill="#fff" stroke="#000" stroke-width="8"> + <path d="M-29 384c-13-74-122-79-139-91-20-13-17 0-10 20 20 52 88 73 119 79 25 4 33 6 30-8z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M4 386c11-76-97-112-110-129-15-18-17-7-10 14 13 45 60 98 88 112 23 12 30 17 32 3z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M93 430c10-91-78-105-101-134-15-18-16-8-11 13 10 46 54 100 81 117 21 13 30 18 31 4z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M66 410c-91-59-155-26-181-29-25-3-33 13 10 37 53 29 127 25 156 14 30-12 21-18 15-22zm137 40c-28-98-93-82-112-94s-21-9-17 13c8 39 75 82 108 95 12 4 27 10 21-14z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M190 467c-78-63-139-16-163-23-18-5-10 7-3 12 50 35 112 54 160 32 19-8 20-10 6-21zm169 64c1-62-127-88-154-126-16-23-30-11-22 26 12 48 100 101 148 111 29 6 28-4 28-11z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M355 542c-81-73-149-49-174-56-25-6-35 9 4 39 48 36 122 43 153 36s23-14 17-19zm145 107c-23-106-96-128-114-148-17-20-35-14-20 34 18 57 77 107 108 119 30 13 28 3 26-5z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M499 663c-59-95-136-92-160-105-23-14-39-2-8 39 36 50 110 78 144 80s28-7 24-14z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M575 776c34-108-44-148-52-166-9-18-18-18-23 1-22 77 49 152 60 167 11 14 13 7 15-2z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M559 806c-27-121-98-114-114-131-17-17-19-5-16 17 8 59 79 99 111 119 10 6 22 13 19-5zm68 142c49-114-9-191-27-208-18-16-29-23-23 0 8 35-20 125 23 191 14 22 16 43 27 17z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M601 971c11-70-29-134-72-159-25-15-26-11-26 10 2 65 63 119 81 149 17 28 16 7 17 0z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M590 1153c-36-132 39-208 62-223 22-16 36-22 26 3-15 37 1 140-56 205-18 22-25 45-32 15z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M598 1124c30-115-35-180-55-193-19-13-31-18-22 3 12 32-1 122 49 178 16 19 22 38 28 12z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M561 1070c-54 58-55 143-31 193 15 29 17 27 31 6 38-61 15-149 17-188 1-37-11-17-17-11z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M650 1162c0 80-49 145-101 165-30 11-30 8-26-16 14-90 83-123 108-152 24-28 19-5 19 3z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M464 1400c88-80 41-136 45-188 2-28-9-21-19-11-56 55-59 153-47 191 5 17 13 15 21 8z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M582 1348c-29 88-106 142-171 145-38 2-37-1-24-27 49-94 136-105 175-129 36-22 23 2 20 11z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M343 1513c114-57 91-152 112-176 15-17-3-15-12-9-67 39-121 101-122 167 0 25 2 28 22 18z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M187 1619c144 23 211-86 253-96 22-5 6-14-5-15-96-11-218 34-255 84-15 20-15 24 7 27z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M333 1448c-29 95-137 173-218 179-38 3-38-1-24-26 65-118 178-138 218-168 34-26 27 6 24 15zM29 384c13-74 122-79 139-91 20-13 17 0 10 20-20 52-88 73-119 79-25 4-33 6-30-8z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-4 386c-11-76 97-112 110-129 15-18 17-7 10 14-13 45-60 98-88 112-23 12-30 17-32 3z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-93 430c-10-91 78-105 101-134 15-18 16-8 11 13-10 46-54 100-81 117-21 13-30 18-31 4z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-66 410c91-59 155-26 181-29 25-3 33 13-10 37-53 29-127 25-156 14-30-12-21-18-15-22zm-137 40c28-98 93-82 112-94s21-9 17 13c-8 39-75 82-108 95-12 4-27 10-21-14z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-190 467c78-63 139-16 163-23 18-5 10 7 3 12-50 35-112 54-160 32-19-8-20-10-6-21zm-169 64c-1-62 127-88 154-126 16-23 30-11 22 26-12 48-100 101-148 111-29 6-28-4-28-11z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-355 542c81-73 149-49 174-56 25-6 35 9-4 39-48 36-122 43-153 36s-23-14-17-19zm-145 107c23-106 96-128 114-148 17-20 35-14 20 34-18 57-77 107-108 119-30 13-28 3-26-5z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-499 663c59-95 136-92 160-105 23-14 39-2 8 39-36 50-110 78-144 80s-28-7-24-14z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-575 776c-34-108 44-148 52-166 9-18 18-18 23 1 22 77-49 152-60 167-11 14-13 7-15-2z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-559 806c27-121 98-114 114-131 17-17 19-5 16 17-8 59-79 99-111 119-10 6-22 13-19-5zm-68 142c-49-114 9-191 27-208 18-16 29-23 23 0-8 35 20 125-23 191-14 22-16 43-27 17z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-601 971c-11-70 29-134 72-159 25-15 26-11 26 10-2 65-63 119-81 149-17 28-16 7-17 0z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-590 1153c36-132-39-208-62-223-22-16-36-22-26 3 15 37-1 140 56 205 18 22 24 45 32 15z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-598 1124c-30-115 35-180 55-193 19-13 31-18 22 3-12 32 1 122-49 178-16 19-22 38-28 12z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-561 1070c54 58 55 143 31 193-15 29-17 27-31 6-38-61-15-149-17-188-1-37 11-17 17-11z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-650 1162c0 80 49 145 101 165 30 11 30 8 26-16-14-90-83-123-108-152-24-28-19-5-19 3z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-464 1400c-88-80-41-136-45-188-2-28 9-21 19-11 56 55 59 153 47 191-5 17-13 15-21 8z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-582 1348c29 88 106 142 171 145 38 2 37-1 24-27-49-94-136-105-175-129-36-22-23 2-20 11z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-343 1513c-114-57-91-152-112-176-15-17 3-15 12-9 67 39 121 101 122 167 0 25-2 28-22 18z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-187 1619c-144 23-211-86-253-96-22-5-6-14 5-15 96-11 218 34 255 84 15 20 15 24-7 27z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + <path d="M-333 1448c29 95 137 173 218 179 38 3 38-1 24-26-65-118-178-138-218-168-34-26-27 6-24 15z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/> + </g> + <path fill="#006233" d="M359.6 128.9c-4.4-3-20.8-1.3-23.9-3.3 5.9 4.5 19 1.3 24 3.3zm39.7 7.6c-3.5-5.7-24.4-9.6-27.5-14.7 5.5 9.8 21.6 8.5 27.5 14.7m-3 6.6c-7.8-6.8-25.8-4-31.3-8 12.7 10.4 19.7 2.3 31.2 8zM351 112.8c4.9 2.4 11 4.7 14 10.3-3.5-4.3-9.8-6-15-9.6q.5-.1 1-.7m77 44c-3.1-6.4-14-13.4-14.9-15.8 3 8.3 12 10.3 14.8 15.8zm2.7 11.3c-9.4-13.4-24.1-12-30-17 4.5 4.9 21.4 8 30 17m21.8 20.7c.7-14.3-11-19.6-11.4-27.7-.3 9.6 12 22.6 11.4 27.7m-5.8 7.7c-2.4-12.4-18.3-13.2-21.1-20.5 0 6.8 18.7 13.9 21 20.5zm13.1-7c8.5 9.4 2.6 23.7 6.1 34.1-4.2-7.7-2.1-26.9-6-34.1zm-13.8 40c12.6 12.5 7.5 26.3 12.6 32.3-6.3-8.3-5.4-24.5-12.6-32.2zm26.3 1.8c-10.9 10.9-4.3 27.3-10 35 6.4-6.6 5.5-27 10-35m-13.7 0c-1.4-12.6-14.3-19.2-15.4-26-1.5 6.8 12.4 17.5 15.4 26m-6.5 30c2 8.8-5.7 27.6-3.3 33.4-5.2-10 4.4-29 3.3-33.3zm16.6 20.1c-5.1 15.6-15.5 14.6-18.7 24 2.3-9 16-17.1 18.7-24m-33.5 7.3c-6.8 10.5-1.2 22.4-6.8 29.9 8-7.5 3.7-21.4 6.8-29.9m16.4 28.6c-8.2 13.9-25.1 12.6-31.9 22.6 6.8-12.6 27.7-14.7 32-22.6zm-29.8-1.7c-14.5 9.2-10 18.8-21.1 29 13.8-10.2 12.7-21.5 21.1-29m-6.8 37.2c-14-.5-34.2 16.2-46.4 14.9 12.2 2.4 34.7-12.6 46.4-15zm-22.7-15c-1 13-37.6 21.4-41.5 30.1 4.4-11.5 36.6-20 41.5-30zm-82.8-240c-4.7-3.7-10.4-6.7-12-10.3 1.2 4.7 5.8 8 10.5 11.3.5-.2 1-.9 1.5-1.1zm-8 3.7c-7.3-3.2-15.7-3-19.5-7.4 2.4 4.4 10.3 6.1 17.1 8.5q1.2-.7 2.4-1zm-21.1 27.3c4.4-3 20.8-1.2 23.9-3.2-5.9 4.5-19 1.3-24 3.2zm-39.7 7.7c3.5-5.7 24.4-9.6 27.5-14.7-5.4 9.8-21.6 8.5-27.5 14.7m3 6.6c7.8-6.8 25.9-4 31.3-8-12.7 10.4-19.7 2.3-31.2 8zm31.3-20c4.4-8.6 17-9.6 20.4-14.8-5 7.7-15.7 9-20.4 14.8m36-7.5c13-5.5 25.7-.8 31.8-3.4-7.5 3.6-25.4 1.9-31.7 3.4zm-98.9 41.2c3-6.4 13.8-13.5 14.8-15.8-3 8.3-12 10.3-14.8 15.8m-2.8 11.3c9.4-13.4 24.1-12 30-17-4.4 4.9-21.3 8-30 17m-21.8 20.7c-.7-14.3 11-19.6 11.5-27.7.2 9.6-12 22.6-11.5 27.7m5.8 7.7c2.4-12.4 18.3-13.2 21.1-20.5 0 6.8-18.7 13.9-21 20.5zm-13.1-7c-8.4 9.4-2.6 23.6-6 34.1 4.1-7.7 2-26.9 6-34.1m13.8 40c-12.6 12.5-7.5 26.3-12.6 32.3 6.3-8.3 5.4-24.5 12.6-32.2zm-26.2 1.8c10.8 10.9 4.2 27.3 9.8 35-6.3-6.6-5.4-27-9.8-35m13.6 0c1.4-12.6 14.3-19.2 15.4-26 1.5 6.8-12.4 17.5-15.4 26m6.5 30c-2 8.8 5.7 27.6 3.3 33.4 5.2-10-4.4-29-3.3-33.3zm-16.6 20.1c5.2 15.6 15.5 14.6 18.8 24-2.4-9-16-17.1-18.8-24m33.5 7.3c6.8 10.5 1.2 22.4 6.8 29.9-8-7.5-3.7-21.4-6.8-29.9m-16.4 28.6c8.2 13.9 25.1 12.6 32 22.6-6.9-12.6-27.8-14.7-32-22.6m29.8-1.7c14.5 9.2 10.1 18.8 21.1 29-13.8-10.2-12.6-21.5-21.1-29m6.8 37.1c14-.4 34.3 16.3 46.4 15-12.1 2.3-34.7-12.6-46.4-15m22.8-15c.9 13.1 37.5 21.4 41.5 30.2-4.5-11.5-36.6-20-41.6-30.1zM301 116c2.8-11.5 17-13.6 18.8-20.5-.7 7.3-17.4 15.4-18.8 20.5m41.5-28.6c-2 8.8-17.3 13.7-19.4 20.3.7-9 16.4-14 19.4-20.3m-12 20.8c7.3-10.7 22.3-8 27.5-14.1-3.8 7.2-22.3 7.4-27.5 14z" class="arab-fil0"/> + <path fill="none" stroke="#f7c608" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.8" d="M429.8 240c0 55.5-49.3 100.4-110.3 100.4-60.9 0-110.3-44.9-110.3-100.3 0-55.5 49.4-100.4 110.3-100.4 61 0 110.3 45 110.3 100.4z"/> + <path fill="#f7c608" d="m298 340.5-.5 1.2q-.5 1.3-2.1 1.2l-8-1.9 2.6-7.7 8 1.7q1.5.4 1 1.8l-.2 1m-19-4.8.4-1.2q.5-1.4 2-1l7.8 2.5-2.5 7.7q-4.2-1-7.9-2.3c-.8-.4-1-2-.7-2.9"/> + <path fill="#006233" d="m296.4 339.8-.3.9q-.5 1-1.7.8l-6.6-1.6 1.8-5.6c2.4.7 4.9 1.2 6.6 1.5q1.3.4 1 1.4l-.2.7m-15.8-4 .3-1q.4-.8 1.6-.6 2.8 1 6.5 2l-1.8 5.6-6.5-1.9c-.7-.4-1-1.5-.7-2.1"/> + <path fill="#f7c608" d="m267.7 330.8-.7 1q-.9 1.2-2.4.7c-2-1.2-4.7-2.5-7-3.9l4.8-6.8 7.1 3.7q1.2.8.5 2l-.6 1m-16.7-9.6.7-1q1-1.2 2.3-.5 2.8 2 6.7 4.4l-4.9 6.8-6.7-4.2c-.7-.7-.4-2.3 0-3"/> + <path fill="#006233" d="m266.5 329.7-.6.8q-.6.8-1.9.3c-1.6-1-3.8-2-5.8-3.2l3.5-4.9c2 1.3 4.3 2.4 5.9 3.1q1 .6.5 1.6l-.5.6m-13.8-7.9.5-.8q.7-.8 1.8-.2l5.6 3.6-3.5 4.9q-3.1-1.7-5.6-3.5c-.6-.5-.5-1.7-.1-2.2"/> + <path fill="#f7c608" d="m241.8 313.7-1 .8q-1.3.8-2.6 0c-1.5-1.6-3.7-3.5-5.5-5.5l6.7-5.3c2 2.1 4.2 4 5.7 5.4q1 1-.1 2l-.9.8m-13-13.4 1-.9q1.2-.8 2.3.2a73 73 0 0 0 5 6l-6.7 5.2q-2.9-3-5.2-5.8c-.5-.8.3-2.2 1-2.8"/> + <path fill="#006233" d="m240.9 312.4-.8.6q-.8.6-1.9-.2l-4.6-4.6 4.9-3.8 4.7 4.5q.7 1 0 1.7l-.7.5m-10.8-11.2.7-.6q1-.6 1.8.2 1.8 2.3 4.3 5l-4.9 3.7-4.3-4.8c-.4-.6.1-1.7.6-2.1"/> + <path fill="#f7c608" d="m222.2 290.7-1.3.5q-1.3.4-2.4-.6l-3.6-6.8 8.1-3.3c1.3 2.5 2.7 5 3.8 6.6q.5 1.3-.8 2l-1 .4m-8.4-16.2 1.2-.6q1.5-.4 2.2.8a71 71 0 0 0 3 7l-8 3.3a60 60 0 0 1-3.3-6.8c-.2-1 1-2.1 1.9-2.5"/> + <path fill="#006233" d="m221.7 289.2-.9.3q-1 .4-1.8-.6l-3-5.6 5.8-2.4 3.2 5.5q.4 1.2-.5 1.6l-.8.3m-7-13.5 1-.3q1-.4 1.6.6l2.5 5.8-5.7 2.4-2.7-5.7c-.2-.7.6-1.6 1.2-1.9"/> + <path fill="#f7c608" d="m210.5 263.5-1.4.2a2 2 0 0 1-2-1.2l-1.5-7.4 8.8-1.1a64 64 0 0 0 1.7 7.3q0 1.4-1.4 1.7l-1.2.2m-3-17.7 1.4-.2q1.5-.1 1.8 1.2.1 3.3.7 7.5l-8.8 1.1-1-7.4c.2-.9 1.7-1.7 2.6-1.8"/> + <path fill="#006233" d="m210.5 262-1 .1q-1 .1-1.5-1l-1.1-6.2 6.3-.8 1.3 6.1q.1 1.1-1 1.4l-.8.1m-2.5-14.7 1-.2q1.2 0 1.3 1.1.2 2.8.7 6.2l-6.3.8q-.6-3.1-.8-6.1c0-.7 1.1-1.4 1.8-1.5"/> + <path fill="#f7c608" d="m207.7 234.5-1.4-.2q-1.5-.2-1.6-1.7c.3-2 .5-4.8 1-7.4l8.7 1.2a65 65 0 0 0-.7 7.4q-.3 1.4-1.8 1.3l-1.2-.2m2.6-17.7 1.4.1q1.4.4 1.4 1.7a69 69 0 0 0-1.7 7.4l-8.8-1.2q.6-3.8 1.4-7.4c.4-.8 2.1-1.2 3-1"/> + <path fill="#006233" d="M208.2 233h-1q-1-.4-1.1-1.5l.8-6.1 6.3.8-.6 6.2q-.2 1.1-1.4 1h-.8m2.1-14.9 1 .2q1.1.2 1 1.4-.7 2.6-1.3 6l-6.3-.7 1.1-6.2c.3-.7 1.5-1 2.2-1"/> + <path fill="#f7c608" d="m214 206-1.3-.6q-1.3-.5-1-2c1-2 2-4.6 3.2-6.9l8 3.4a70 70 0 0 0-3 7q-.6 1.1-2 .7l-1.2-.5m8-16.4 1.3.6q1.3.6.8 2l-3.8 6.6-8.1-3.4q1.7-3.6 3.6-6.7c.6-.7 2.4-.7 3.2-.3"/> + <path fill="#006233" d="m215 204.7-1-.4c-.6-.2-.8-1-.6-1.6l2.6-5.7 5.8 2.4-2.5 5.8q-.6 1-1.6.6l-.8-.3m6.7-13.6.9.4q1 .4.5 1.6l-3.2 5.5-5.7-2.4q1.4-3.1 3-5.6c.4-.6 1.7-.7 2.3-.4"/> + <path fill="#f7c608" d="m228.9 180.2-1.1-.9q-1-.9-.4-2.2c1.6-1.6 3.4-3.9 5.2-5.8l6.8 5.3a72 72 0 0 0-5 6 2 2 0 0 1-2.4 0l-.9-.6m12.8-13.7 1 .8q1.2 1 .2 2.2l-5.7 5.3-6.8-5.3q2.8-3 5.6-5.5c.8-.5 2.5 0 3.2.5"/> + <path fill="#006233" d="m230.2 179.2-.8-.6q-.7-.7-.1-1.7l4.3-4.9 4.8 3.8-4.2 5q-.8.8-1.8.2l-.6-.5m10.6-11.4.8.6q.7.7 0 1.6l-4.8 4.6-4.8-3.8q2.3-2.6 4.6-4.6c.7-.5 2-.2 2.4.2"/> + <path fill="#f7c608" d="m251 159.2-.7-1q-.7-1.2.4-2.3c2-1.1 4.4-2.8 6.8-4.2l4.8 6.8a78 78 0 0 0-6.7 4.4 2 2 0 0 1-2.2-.4l-.7-1m16.5-9.8.7 1q.8 1.4-.4 2.1-3.3 1.5-7.2 3.7l-4.8-6.8q3.5-2.2 7-3.9c1-.2 2.4.7 2.9 1.4"/> + <path fill="#006233" d="m252.7 158.6-.6-.7q-.4-1 .4-1.7l5.7-3.5 3.4 4.8-5.5 3.7q-1.1.6-1.8-.3l-.5-.6m13.7-8.2.6.8q.4.9-.5 1.5l-6 3.1-3.4-4.8 5.8-3.3c.8-.2 1.9.4 2.3.9"/> + <path fill="#f7c608" d="m279 144.9-.5-1.3q-.2-1.3 1-2l7.9-2.3 2.5 7.7a83 83 0 0 0-7.8 2.6q-1.4.3-2-1l-.3-1m18.8-5.4.4 1.3q.3 1.3-1 1.8l-8.1 1.7-2.5-7.7a85 85 0 0 1 8-2c.9 0 2 1.3 2.3 2"/> + <path fill="#006233" d="m280.6 144.7-.3-1q-.1-.8 1-1.4l6.5-2 1.8 5.6-6.5 2q-1.2.4-1.6-.6l-.3-.7m15.7-4.4.3.9q.3 1-1 1.4-3 .5-6.6 1.4l-1.8-5.5 6.6-1.6c.8-.1 1.6.8 1.8 1.4"/> + <path fill="#f7c608" d="M310 138.2v-1.3q.2-1.3 1.7-1.7l8.2-.2v8.1a84 84 0 0 0-8.2.4q-1.6 0-1.6-1.5v-1m19.7-.2v1.2q-.1 1.4-1.7 1.5l-8.2-.4V135q4.3 0 8.2.2c1 .2 1.7 1.7 1.7 2.6"/> + <path fill="#006233" d="M311.8 138.5v-1q0-.9 1.3-1.2l6.9-.1v5.8q-4 0-6.9.3-1.2-.1-1.3-1v-.9m16.3-.1v.9q0 1-1.3 1l-6.8-.2v-5.8l6.8.1c.8.2 1.3 1.2 1.3 1.9"/> + <path fill="#f7c608" d="m340 139.6.3-1.2q.5-1.2 2.1-1.2l8 1.8-2.5 7.8-8-1.6q-1.4-.5-1.1-1.9l.3-1m19 4.7-.4 1.2q-.5 1.4-2 1l-7.8-2.4 2.5-7.8q4.1 1 7.8 2.3c.8.4 1 2 .8 2.8"/> + <path fill="#006233" d="m341.5 140.3.2-.9q.5-1 1.7-.8l6.6 1.5-1.7 5.6-6.7-1.4q-1.1-.4-1-1.4l.3-.7m15.8 4-.3.8q-.4 1-1.6.7l-6.5-2 1.7-5.6q3.5.9 6.6 1.9c.7.3 1 1.5.7 2"/> + <path fill="#f7c608" d="m370.2 149.1.7-1q.9-1.2 2.4-.7c2 1.1 4.7 2.4 7.1 3.8l-4.7 6.9a81 81 0 0 0-7.3-3.6q-1.2-.9-.5-2.1l.7-1m16.8 9.5-.8 1a2 2 0 0 1-2.2.5l-6.7-4.3 4.7-6.9q3.7 2 6.8 4.2c.7.6.4 2.2-.1 3"/> + <path fill="#006233" d="m371.5 150.2.5-.8q.6-.7 1.9-.4l5.8 3.2-3.4 5-6-3.1q-1-.6-.4-1.6l.4-.7m14 7.9-.6.8q-.6.8-1.8.2l-5.6-3.6 3.4-4.9 5.7 3.4c.6.6.5 1.7.1 2.3"/> + <path fill="#f7c608" d="m396.3 166 1-.9q1.2-.8 2.5 0l5.6 5.5-6.6 5.3a75 75 0 0 0-5.8-5.3q-1-1 .1-2l.9-.8m13.2 13.3-1 .9a2 2 0 0 1-2.4-.2 72 72 0 0 0-5-5.9l6.7-5.3 5.2 5.7c.4.8-.3 2.3-1 2.8"/> + <path fill="#006233" d="m397.2 167.3.7-.6q.8-.5 2 .1l4.6 4.6-4.8 3.8-4.8-4.5q-.8-.9 0-1.6l.7-.5m11 11-.8.7q-.9.6-1.8-.2l-4.3-4.9 4.8-3.8 4.4 4.7c.4.7-.1 1.8-.6 2.2"/> + <path fill="#f7c608" d="m416.1 188.9 1.3-.6q1.4-.4 2.4.7l3.7 6.6-8.1 3.5q-2-4-4-6.6-.5-1.3.9-2l1-.5m8.6 16.2-1.3.5c-.8.4-1.8 0-2.1-.7a71 71 0 0 0-3.1-7l8-3.4 3.3 6.9c.2.9-1 2-1.8 2.4"/> + <path fill="#006233" d="m416.6 190.4.9-.4q1-.4 1.8.6l3 5.5-5.8 2.5-3.2-5.5q-.4-1 .5-1.6l.8-.3m7 13.5-.8.3q-1 .4-1.7-.6-1-2.6-2.6-5.8l5.8-2.5 2.8 5.7c.1.8-.7 1.7-1.3 2"/> + <path fill="#f7c608" d="m428 215.9 1.4-.2a2 2 0 0 1 2.1 1.2l1.5 7.3-8.8 1.3a65 65 0 0 0-1.7-7.3q-.1-1.4 1.4-1.7l1.1-.2m3.2 17.7-1.4.2q-1.5.1-1.8-1.3l-.8-7.4 8.8-1.3 1 7.5c0 .9-1.6 1.7-2.5 1.8"/> + <path fill="#006233" d="m428 217.4 1-.1q1.1 0 1.5 1l1.2 6.1-6.3 1-1.3-6.2q-.2-1.2 1-1.3l.8-.2m2.6 14.7-1 .2q-1.1 0-1.4-1l-.7-6.3 6.3-.9q.7 3.3.9 6.2c0 .7-1.1 1.4-1.8 1.5"/> + <path fill="#f7c608" d="m431.1 244.9 1.4.1q1.5.3 1.7 1.8l-.9 7.4-8.8-1.1c.4-2.7.6-5.5.6-7.5.1-.8 1-1.4 1.9-1.2l1.1.1m-2.4 17.8-1.4-.2q-1.5-.2-1.4-1.7 1-3.1 1.6-7.3l8.8 1q-.6 4-1.3 7.4c-.4.9-2.1 1.3-3 1.2"/> + <path fill="#006233" d="M430.6 246.4h1q1 .4 1.2 1.5l-.8 6.2-6.3-.8.6-6.2q.1-1.1 1.3-1.1h.9m-2 14.9-1-.1q-1.1-.2-1-1.4.7-2.7 1.2-6.1l6.3.8-1 6c-.3.8-1.6 1.2-2.2 1"/> + <path fill="#f7c608" d="m425.1 273.5 1.3.5q1.3.7 1 2l-3 7-8.2-3.3a66 66 0 0 0 3-7q.6-1.2 2-.8l1.2.4m-7.9 16.5-1.2-.5q-1.4-.7-.9-2 1.9-2.8 3.8-6.6l8.1 3.3-3.5 6.7c-.6.7-2.4.7-3.3.3"/> + <path fill="#006233" d="m424.2 274.8 1 .3q.7.5.6 1.7l-2.6 5.7-5.9-2.3 2.5-5.8q.6-1 1.6-.8l.8.4m-6.5 13.6-1-.3q-1-.6-.4-1.6l3-5.5 5.9 2.3-3 5.6c-.5.6-1.8.7-2.4.4"/> + <path fill="#f7c608" d="m410.5 299.4 1.1.8q1 1 .4 2.3c-1.6 1.6-3.4 3.8-5.2 5.8L400 303c2-2 3.8-4.3 5-6q1-.9 2.3-.1l.9.7m-12.6 13.8-1-.8q-1.2-1-.3-2.1 2.6-2.2 5.7-5.5l6.8 5.3-5.5 5.6c-.8.5-2.5 0-3.2-.6"/> + <path fill="#006233" d="m409.2 300.4.8.6q.7.6.1 1.7l-4.3 4.8-4.9-3.7q2.6-2.8 4.2-5 .9-.8 1.8-.2l.6.5m-10.4 11.5-.8-.6q-.8-.7 0-1.7l4.6-4.5 5 3.7q-2.4 2.6-4.7 4.7c-.6.4-1.8.1-2.4-.3"/> + <path fill="#f7c608" d="m388.5 320.5.7 1q.7 1.3-.3 2.3l-6.7 4.3-5-6.8a78 78 0 0 0 6.7-4.4 2 2 0 0 1 2.2.4l.7.9m-16.4 10-.7-1q-.8-1.3.4-2.2l7.2-3.7 4.8 6.8-7 4c-.9.2-2.3-.7-2.9-1.4"/> + <path fill="#006233" d="m386.9 321.1.5.8q.5.8-.4 1.7l-5.6 3.5-3.5-4.8 5.6-3.7q1-.6 1.7.2l.5.7m-13.6 8.3-.6-.8q-.4-.9.5-1.6l6-3.1 3.4 4.8q-3 1.9-5.8 3.3c-.7.3-1.9-.3-2.2-.8"/> + <path fill="#f7c608" d="m360.8 335.1.4 1.2q.3 1.4-1 2l-7.8 2.5-2.6-7.8a75 75 0 0 0 7.7-2.6q1.5-.2 2 1l.4 1m-18.8 5.5-.4-1.3q-.3-1.4 1-1.8 3.6-.6 8-1.8l2.7 7.8-8 2c-1 0-2-1.3-2.3-2"/> + <path fill="#006233" d="m359 335.3.4.9q.2 1-1 1.5l-6.4 2-1.9-5.6 6.4-2q1.3-.4 1.7.6l.2.7m-15.6 4.5-.3-.9q-.2-1 1-1.4l6.6-1.5 1.9 5.6-6.6 1.6c-.8 0-1.7-.8-2-1.4"/> + <path fill="#f7c608" d="M329.7 342v1.3q-.1 1.4-1.6 1.7c-2.4 0-5.4.3-8.2.3l-.1-8.1a82 82 0 0 0 8.2-.5q1.6 0 1.6 1.5v1m-19.6.4v-1.2q0-1.4 1.6-1.5l8.2.3v8.1l-8.2-.1c-.9-.2-1.6-1.7-1.6-2.6"/> + <path fill="#006233" d="M328 341.8v.9q-.1.9-1.4 1.2l-6.8.2v-5.7q4-.1 6.8-.4 1.2 0 1.4 1v.8m-16.4.3v-1q0-.9 1.3-1 3 .3 6.9.2v5.8H313c-.8-.2-1.4-1.3-1.4-1.9"/> +</svg> diff --git a/apps/web/public/flags/as.svg b/apps/web/public/flags/as.svg new file mode 100644 index 00000000..82459dec --- /dev/null +++ b/apps/web/public/flags/as.svg @@ -0,0 +1,72 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-as" viewBox="0 0 640 480"> + <path fill="#006" d="M0 0h640v480H0Z"/> + <path fill="#bd1021" d="m-.6 240 640-240v480Z"/> + <path fill="#fff" d="m59.7 240 580-214.3v428.6"/> + <path d="M474 270.4c5.1.3 5 5.4 5 5.4l18 .4c2.3-6.3 4.8-5.6 9.2-2.4a33 33 0 0 0 8.7 4.2c1.7-9 14.5-7.2 14.5-7.2 5.6-13 6-12.9 2.7-14.5a11 11 0 0 1-4.6-4.5c-3-3.7-4.6-9.1-5-12.4s-4.2 1.6-5 .6c-.6-1-6.3-.4-6.3-.4 1.4 1.5-3.4.6-3.4.6.5.4 0 1.7 0 1.7-.4-.6-4.1-1.2-4.1-1.2l-1.1 1.6c-2-.8-6-.7-6-.7a20 20 0 0 0-10.9 2.8c-1.6.9-7.4 3.8-12.3 8.5-4.7 4.6-7.4 4-7.4 4-1.4 5.2-12.8 11.5-12.8 11.5-1.8 1.6-7.6 2.4-10.5 0s0-6.9 0-6.9c1.2-2 2.2-1.9 2.3-9 .1-4.7 5-8.5 10-14 6.3-6.8 15-18 15-18 0 3.4 1.8 4 1.8 4 1.7-3.5 4.2-6.3 4.2-6.3q.3.4.5.4l3-3.6c-.5-.3-6 0-11 4.4s-8.4 3-8.4 3c-3.5-1.2-3.8-4-3.8-4-2.5-10.9 7.4-18.7 7.4-18.7-13.4-3.2-3.7-20.3 13-27.5s16.4-10.5 16.4-10.5a13 13 0 0 1 1.8 3c.1 0 1.4-1.9 11-6.1 9.6-4.3 14.2-8 14.2-8 1.2 2.4 1 4 1 4 26.3-9.1 52-30.2 52-30.2.8 1.7.5 4.4.5 4.4 4.2-4 19.7-13.2 19.7-13.2a9 9 0 0 1-4.6 8.2l.8 2.3a360 360 0 0 0 14.4-9.5c4.3 3.7.4 9.8.4 9.8 1.6-.3 2.6-1.6 2.6-1.6 1.2 6.4-5.9 12-5.9 12 1.3 0 3.3-1.3 3.3-1.3-1.3 7-14.4 14.6-14.4 14.6 1.9 1.8 0 4-1.6 5-1.5 1-4.3 3.3-3.4 4.2s6.7-3.2 6.7-3.2c1 2.9-6.5 8.6-6.5 8.6 5.2.7 19.6-5.9 19.6-5.9-1.1 5.6-6.6 10-13.3 12.5s-6.4 3-6.4 3c1.2.8 10.5-1.8 10.5-1.8-2.8 6.2-12.5 10.5-12.5 10.5 2.7 2.3 6.3-.4 10-2.9a58 58 0 0 1 14-6.4c5.3-1.9 9.2-.5 9.2-.5a12 12 0 0 1 8.4.6c8.7.7 9.6 3.9 9.6 3.9 1 .2 1.7.6 4 2.3 2.1 1.6 2 6.6 2 9.2-.2 2.4-.9 2.4-1.3 3q-.5 1.2-.5 2.5c0 1-2.2 6.9-15.7 6.9h-20.3c-1.2 0-2.5.7-2.5.7-5.7 2.8-2.7-2-9.4 3.6s-10.2 4.6-10.2 4.6A90 90 0 0 1 568 221c-4 2.6-3.3 2.3.3 3.8s8.8 0 8.8 0c-3.4 2.3-1 3.4-1 3.4 4.4-2.7 7.2-1.7 7.2-1.7 1.4 3.9-3.8 10-3.8 10 2 .3 5.8 0 5.8 0-1 2.7-4.6 5.6-7.4 6.4-2.7 1-2.3 1.3-1.4 3 .7 1.6.1 3.3.1 3.3-4.8-3.3-5-.4-5-.4-.5 4-.4 9.6-.4 9.6-3.4-1.7-3.5.5-3.5.5-1 3.6-5.1 7.7-5.1 7.7-.2-2.2-2.2-2.8-2.2-2.8-2.2 4.2-6.1 6.7-6.1 6.7-.5 3.5.5 8.6.5 8.6-2.6-.6-3.5-.6-4 0-.3.7.6 1 .6 1l33.4.8c.5 0 2.5.3 2.5 3.8 0 3.7-3 3.9-3 3.9l-36.4-.9s.1 1-1.8 2-1.2-1.1-1.7 3.4-7.8-.4-7.8-.4c-1.2 1.8-4 4-4 4-1.7-5-3.4-6.4-6-2.2s4.8 3.6 4.8 3.6 42.8-6.3 45.1-6.5 4.9-.1 6 3.1-5.3 3.8-5.3 3.8l-44 4.8c-.9 2.6-4.5 2.4-4.5 2.4.3 2.5-2.3 4-3.6 5-1.4.8-5.6.5-5.6.5-5 3.4-7.6.7-7.6.7-3.3 1.4-5.4.8-8.1-.4-2.8-1.2-2.5-4.5-2.5-4.5l-27.8 3a7 7 0 0 0-2.2 1.2c1 1.3-2 4.3-2 4.3.9.5 2.5 2.1 2.7 5.5.2 3.7-4.5 4.3-2.2 7 2.3 2.5 6.7.3 11.5-2s9.5-2 11.5-2 7.8 1.6 11.4 2.8 4.8.4 5-1.4 1.9-2.3 1.9-2.3c-.5 1.8.5 2.6.5 2.6a11 11 0 0 0 3.7-1.3c-.2 1.4-2 2.2-2 2.2-3.4 2.3 1.4 1.5 1.4 1.5a44 44 0 0 1 15.4-1.5 123 123 0 0 1 14.3 5.2c.4-1.2.1-4 .1-4 3 .8 4.2 2.5 4.2 2.5 1.2-1.2.4-3.4.4-3.4 9.7 5.5-2 8-5.1 9s-3 2.3-3 2.3a28 28 0 0 1 6.4-1.3c2.2-.2 1.4 0 6.5-1 5.2-1 7.8 1.2 7.8 1.2-4.3.2-5.5 1.5-5.5 1.5 2.6 1.7 0 3.4 0 3.4-3.8-5-7.2.1-7.2.1a15 15 0 0 1 6.4 1.4l5.4 2.7c3.6 1.6 2.9.6 5.6 1.6 2.8 1 1.7 3.7 1.7 3.7a7 7 0 0 0-3.7-3c-.2 3-3.1 3.5-3.1 3.5 3.6-4-4.1-5.8-7.8-5.7-3.6 0-6.3 2.4-6.3 2.4 7.3 6.9 12.3 4.6 12.3 4.6-.9 2.5-6.9 1.5-6.9 1.5 2.8 2.2 2.5 3.6 2.5 3.6-1.5-1.4-4-.7-9.2-4-5.2-3.5-9.9-2.3-9.9-2.3 5.2 5.3-1.8 8.6-1.8 8.6-2.6 1.6 1 3.5 1 3.5-3.2.6-3.6-2.6-3.6-2.6-1.7-.4-4.2 1.6-4.2 1.6.2-3.2 4.6-1.6 4.6-5 .2-3.5-4-6.2-16.3-4.5s-16-2.2-16-2.2c-1 0-1.2 1-1.2 1 2 2 2.9 2.8 2.6 4.2-.4 1.3.6 1.8.6 1.8-2.3-.2-2.4-2.8-2.4-2.8 0 1.1-.5 1.2-1.3 2.3s0 2.7 0 2.7c-1-.8-2.7-1.8-1-4.3 1.2-1.8-2.7-4.2-2.7-4.2-1.5-1.5-5.6 0-5.6 0a15 15 0 0 1-13.3-3.7c-1 0-2.9-.6-2.9-.6-8.9 4-16.7-4.6-16.7-4.6-6.7 1.3-9.8-2-11.8-5.2a12 12 0 0 0-5.2-5c-2.6-1.6-5.2-6.2-2.6-8.7 2-2.1 1.5-2.6 1.5-2.6-3.5-5.9 6.1-7.7 6.3-9.2.3-2 2.3-3.3 4.5-3.4s2.2 0 3.7-1.4c1.3-1.5 4 .3 4 .3.7-.4 5.5-4.1 9.7-2.2 4.3 1.9 7.9.6 7.9.6 3-.7 28-4 28-4 1.5-2.5 2.7-5.4 9.6-7s12-6 12-6c-1.2-1.2-3.2-1.2-4.2-1.3-1.1 0-3.2-2-3.2-2-1.3.6-2 .3-11 5.8-8.1 5-8.3-4.8-8.3-4.8H479c-.3 3.7-3 5.2-3 5.2l-6.5.3c-3.6-1.8-3.6-8.2-3.6-8.2-19.4.3-30.1 7.2-30.1 7.2-22-11.2-39.2-13.8-39.2-13.8a122 122 0 0 0 40.8-10.2 63 63 0 0 0 28.5 9c.5-5.4 4.1-6.7 4.1-6.7z"/> + <path fill="#ffc221" d="M442.3 314.6c-5.5 3.2-4.5 5-4 6s.5 2-1 3.6c-1.5 1.5-1.4 2-1.4 2 .3 5.4 4 6.6 5.7 8 1.4 1 3.6 4.5 3.6 4.5 2.9 4.1 5.9 4.2 8.1 4.2 2.3 0 2-.3 1-1.3l-3.4-2.7a18 18 0 0 1 5.9 4.1c5.6 6.2 10.8 5.4 13.1 5.2s2-1.7 2-1.7l-2.4-.4c-8.5-.8-11-6.4-11-6.4a24 24 0 0 0 15.6 6c2.4-.1 2.3.6 1.7.8l-2.4-.2c-1.1 0-1.1.3-.9.8q.6.5 2.7.4c1.4 0 .3.1 3.8 2.8 3.6 2.8 12.3.5 12.3.5-5.7-1.3-6.4-4-6.4-4-7.7 1-10.8-3.6-10.8-3.6a33 33 0 0 0-5.6-3.5 9 9 0 0 1-5-5.8c1.3 1.8 3.7 3.8 6.7 4.6s3.8 1.2 3.8 1.2a4 4 0 0 1-2.3-.2c-3-1-1.3.3-1.3.3 3.4 2.7 4.3 2.5 4.3 2.5 8.6.9 4.3-2.6 4.3-2.6 6.2 1.5 7.2-.8 7.2-.8 1.3 2.7 6 1.7 6 1.7-6.2 3-1.5 2.1-1.5 2.1 6.3-1.1 7.6.5 7.6.5 1.6 1.5 3.4 1.4 3.4 1.4s1.2 0 3.5.4c2.4.5 6.2 2.5 9.6 2.2 3.5-.5 4 .6 4 .6-.6-.3-2.2-.5-4.8.7-2.7 1.3-7.4 1.6-14.2 0s-7.4-1.3-7.4-1.3a9 9 0 0 1 3.4 4c.3 1.2 1.5 1.2 1.5 1.2.5-1.5 2.5-2.1 2.5-2.1a27 27 0 0 0 5 2.8c.4-.7 0-1.3 0-1.3 2.6 2.5 5.6 1.7 5.6 1.7.8-.5.6-2 .6-2 1 0 1.2.6 2 1.2.7.4 3 .1 3 .1-.8-.4-1.5-1.7-1.5-1.7 3.5-2.3 11-1.3 11-1.3 5.3 1 4.7 4.5 4.7 4.5a10 10 0 0 1 2.5 2.1c.5-1.2 0-2.5 0-2.5 2.6 1.2 3 4 3 4 3-3.2-2.7-6.8-2.7-6.8 2.7-.4 5.7-.2 7.5 0a14 14 0 0 1 6.6 3.1c2.1 1.7 5.9 2.5 5.9 2.5-.1-.7-2.2-2-2.7-2.2s-.6-.9-.6-.9c1.9.4 3.1.2 3.1.2-6.4-4-8.1-5.9-8.1-5.9 2.4.3 3.8-1.2 3.8-1.2-5.1 0-5.4-1.2-5.4-1.2.7.1 3.1.7 6.2.1s7.2 0 7.2 0c-2.2-3.6-10.7-3-13.5-2.8s-3.8-.2-3.8-.2c.4-.2.9-.6 3-.7 2.2 0 4.3.2 6.8-1.6 2.3-1.6 5.7-1 5.7-1-.8-1.6-4.7-2.2-8 0-3.5 2.1-6.5 1.5-6.5 1.5 5.3-.8 6.9-2.7 6.9-2.7-1.6-.4-2.5.1-5.8.8-3.2.6-4-.5-4-.5 3.5-2.1 6-3 6-3-3-.6-5.8-2-5.8-2-3.2 3-5.6 4.6-11.7 1.6-6-3.2-9.2-2.8-9.2-2.8a14 14 0 0 1 14.8.6c4 2.3 5 .4 5 .4-1.2-.7-1-1.5-1-1.5 9.6 4.9 13.8 2 15.9.5s-1-3.4-1-3.4c-.2 3-4 4.6-7.2 3.5-3-1-6-2.4-10.4-4.3s-10-.8-15.1.2c-5.2 1.1-5.9.6-6.4.2s-.7-1.7-3.4-.6c-2.6 1.1-8.8-1.8-12.6-2.7s-10.1-.5-15.5 2.5c-5.4 3.1-8.2 2.3-9.8 1.6-1.6-.8-2.7-2.8-.9-4.6s2-2.3 1.8-5c-.2-2.6-2.8-4.2-2.8-4.2 2.4-2.5 3-3 2.2-4-.8-1.2.4-1.2 1.8-1.8s.8-.7.5-1.5-1.2-.6-1.2-.6c-3.1.1-4.9-.8-4.9-.8-5.2-2.4-10.1 2.3-10.1 2.3-3-2.3-3.7-.7-4.2-.2q-.8.9-3 1c-1.2.2-3.1.7-3.8 1.9 0 0-.6 1 .1 2 0 0 .8 1.2-.6 2.7-1.5 1.5-2 1.8-1.5 3.3q.6 2-.3 3.3s-.7-.7-.5-1.7q.3-1.5 0-2s-1.5 1.4-1.8 2.4c0 0-.6-1.6 1.6-3.7q3.1-2.9 2.4-4c-.4-.6-2 .4-2.3.6z"/> + <path d="M448.4 338s-2.7-2-2.4-4.9c.3-2.7.3-3 0-3.7 0 0-.5.3-.4 1.4s-.2 2.1-.3 2.3c0 0-1.3-2.3-2-2.8 0 0 .6-2.4-.2-3.4q-1-1.5-2.4-.8c-1.2.4-2.1 1.5 2 4.8 0 0 1.5 1.3 2.5 3.9s2.8 3 3.1 3.2zm13-7.8s-.1-1.5 1.3-4.3a6 6 0 0 0 .3-5.6c-.3-.8-.6-.5.9-1.7 1.7-1.5-.7-3.4 2.3-6 0 0 1.8-1.6 2.3-2.3 0 0-3 1.6-5.2 2.5-2 .8-9.6 4.6-8 7.1 1.8 2.5 1.6 2.7 1.3 3.8 0 0-4.6-2.5-3-6.4 0 0 .8-1.5 2.7-3.4 1.8-1.6.8.4 4.3-1.7 0 0 2.7-1.6 4.3-3.9 0 0-2 1.2-2.6 1.4 0 0-4 .8-5.8 2.5-1.6 1.7-5.1 4.7-4 8 0 0-4-.4-5-4.7 0 0-7.6 9.4 8.4 13.8 0 0 3 .8 5.6 1z"/> + <path fill="#ffc221" d="M531.6 299c6-1 40.4-6.2 43.6-6.5 3.4-.3 4.7-.8 5.9 2 1.3 3-4.8 3.1-4.8 3.1l-41.1 4.7c-2 .2-2.5-.6-2.5-.6l-1.5-2s-.5-.6.4-.8z"/> + <path fill="#5a3719" d="M447.3 317.7s-4.4 9.3 13 11.6q-.1-.1.8-2.5c.8-1.5 2.3-4.5.8-6.4s1.2-.9 1.5-3.4c.5-2.5-.2-2.2 1-3.8 0 0-5.4 2-7.6 4.5-2 2.4 2.9 4.2 0 6.9 0 0-2.5-1-4-3.6 0 0-3.3 0-5.5-3.3"/> + <path d="M464.5 329.2s4.3 3.7 9.4 3.6c5.1-.3 7.4-1.6 8.7-3.6 0 0 1 1.5 1 2.6 0 0 4.4-3.7 12-.5s5.4 2.3 7.1 2.5c0 0-3.3-.5-10.7 2.9-7.7 3.5-27.7 2.3-27.6-7.5z"/> + <path fill="#5a3719" d="M457.3 312.6s1.9.3 3.8-1.9c0 0-2.6.5-3.8 2zM442.6 330s-3.6-2.8-1.3-3.4c0 0 1.7-.3 1.3 3.4"/> + <path d="M521.2 347.8s2-3.5 7.5-3.5 6.1 2.6 13.1 3c0 0-8.4 2.4-14.2.3-3-1.1-5.8-.2-6.4.2"/> + <path fill="#5a3719" d="M466.3 331.7s8.4 5 15.7-.5q.2 0 1.2 2s5.6-5.4 15.5.4c0 0-1.2-.1-5.9 1.8-6.1 2.7-21.4 4.5-26.5-3.8z"/> + <path d="M498.3 336.7s8 1 14.7.6c4.1-.2 8.6-1 6.4.4-2.3 1.3-1.1 1.5 8.4.7 9.4-1-.1 1.7 6.4 2.6 0 0-15.9 8-35.9-4.3"/> + <path fill="#5a3719" d="M519.2 331.7s4.6-1.7 9 .3c4.3 2 3.6 2.2 6.5 2.5 0 0-2 2.9-6.7.6s-6-2.8-8.8-3.4m5.2 14.3s4.6-2.3 9.6 0c.6.4 2 1 3.3 1.2 0 0-3.8 1.3-7.8 0-1.7-.5-3-.9-5.1-1.2m-22.7-8.2s10.3 1 15.8-.1c0 0-6.4 3 9.7 1.7 0 0 3.5-.4 3 .1-.3.5-.6 1 1.2 1.5 0 0-12 5.4-29.7-3.2"/> + <path d="M450.7 329.2s.2.7 2.4 1.7a9 9 0 0 1 4 3.9 6 6 0 0 0 3.5 2.9s-8 1.7-11.6-2.6c0 0-2.7-3 1.6-6"/> + <path fill="#5a3719" d="M513.7 347.6s-3.1-.2-7.5-1.7c-4.3-1.5-5.4-.2-7.9-2-2.4-1.9-7.3-.7-8.2-.6-1 .1-3.6 0-.3-2.1 0 0-2.6 0-3.6-1.4 0 0-1.2 1.2-5.6.8 0 0 2 3-6 2.1a10 10 0 0 0 11.1 3c0 .2-.5 2.5 3 3.5 3.8.9 4.5 1.6 6.4 2.3 0 0 .3-1.5-4.6-5 0 0 2.6-.2 6.4.7s12.2 3.1 16.8.4m2 3.7s.8 1.8 3.2 1.4a17 17 0 0 1 10.2.8s.7-3.2-7-3.4c0 0-4.8.2-6.4 1.2m-65.2-21s-3 2.5-.3 5c2.4 2.3 6.2 2.1 8 2 0 0-1-.6-2-2-1-1.5-1-2.5-3-3.4-2.1-.9-2.3-1.1-2.7-1.6m-3-12.6s-4.6 9.3 13 11.6q-.2-.1.7-2.5c.6-1.5 2.1-4.5.8-6.4-1.6-1.9 1.1-.9 1.5-3.4s-.3-2.2 1-3.8c0 0-5.5 2-7.7 4.5-2 2.4 2.9 4.2 0 6.9 0 0-2.5-1-4-3.6 0 0-3.3 0-5.5-3.3z"/> + <path d="M493.3 339.3s3.7-.6 13 2.9c9.4 3.4 13.3 2.6 14.6 2.5 0 0-5.2 2.8-13.4-.8-7.2-3.2-7.6-2-14.2-4.6"/> + <path fill="#ffc221" d="M551.8 337.2s2 0 3.4.5c0 0 .7-.7 2.7-1 0 0-1.3-1.2-6.1.5m-6.4-5.2s2.1 0 2.8-1.2c0 0-1.1-1.3-2.8-2 0 0 .4 1.6 0 3.2m-71.7-23.8s-.5-1 1.8-1.4l31.3-4.5s1.5 0 1.7 1c.3 1.1-.1 1.9-7.2 2.7l-25.6 3.2s-1.9.3-2-1"/> + <path fill="#ffc221" d="M502 306.9s0 4.1 4.2 4.7c4 .6 5.5-.2 6.5-2.3.3-.7 1.6-5-.2-5.3q-1.4-.2-2.9.3c-1.4.7-2.7 1.4-2.3 2 1 1.6 1.2 2 1 2-1.2.3-1.8-.6-2-1.2-.3-.8.5-1.2-2.2-.8q-1.9 0-2 .6zm17.5-3.2c2 .3 1.9 4.8-.6 6.9-2.8 2.2-5.4 1.3-5.4 1.3-1.4-.5-1.2-.4-.1-2 1-1.5 1.5-3.6.9-5q-.2-.8 1-1s2-.4 4.2-.2"/> + <path fill="#ffc221" d="M521.3 304.1s1.6 2-.4 5.5c0 0-.8 1 1.1.9 1.8-.2 6.1-2.2 5.7-4.8 0 0-.2-.6-1.3-.6s-.2-.5.3-.8c.4 0 1.9-.6-1.9-3 0 0-.6-.6-1.3-.3-.6.2-2.6 1-2.6 2.2q.2.9.4 1z"/> + <path fill="#ffc221" d="M525.4 300.9s3 2.1 3 2.8-.3 1.5.5 1.3c.8 0 4-.7 3-2.8q-1-3-3.2-3.4c-1.5-.6-1.9.1-3.2 1.1 0 0-.9.6-.1 1m-16.1 3s.5-1.5-2.2-2.2c0 0 1.1-1 3.4-.4 2.2.4 2 2 2 2.1 0 0-1.8 0-3.2.5m5.8-.4s3-.5 4.5-.4c0 0-1.6-3.3-5.7-2.3 0 0 1.5 1.8 1.2 2.7m5.3-.8s0-1.1 2.6-2.1c0 0-1.2-1.2-3-1-2 0-2.5.7-2.5.7s2.3.8 2.9 2.4m1-3.6s1.7.4 2.7 1.3c0 0 1.5-1.7 2.8-2 0 0-2.5-1.4-5.5.7"/> + <path fill="#5a3719" d="M435.8 290.9s7.2-6.2 11.2-5.4 2 .2 6.4-.5 9-1.1 10.8-.9c0 0-5.4-3.8-14.9-3.7 0 0-6.6 2.3-11.3 5.3 0 0-8.9-4.9-18-2 0 0 9.9 3.7 15.8 7.2"/> + <path fill="#ffc221" d="m512.2 301.4 1.2-.2s2 2.5.6 2.5c-1.2 0-.8-.3-1-1a2 2 0 0 0-.8-1.3m-9 .2s-.8 1 .6.8c1.7-.3 1.4 0 3.1-1.3 0 0 1.2-1.1 3.2-.4 0 0 1.8.6 3.2-.1 1.4-.8 1.7-.7 2.5-.6s.8.2 1.7-.6c1-.7 2.8-.1 3.9-1s2.5-.2 0-2c0 0-.5-.5-.5-1 0 0 1 .4 1.8 1 .8.8 2 .5 2.2.4 0 0 .2-2.3 2.3-4.3 2.3-2 2.3-2.2 1-2.2s-3.5-.6-4.3 0-7.2 4.8-11 5.5-7.3 1.8-9.7 5.8m-101.3-23.4s11.7 3 14.3 4.2c0 0 .6-1.9-4.7-3.4 0 0 12.9-.4 26.4 5.8 0 0 6.6-5.6 27.7-3.9 0 0 0-1.8.2-3.3 0 0-14.8-.4-28.4-8.7 0 0-12.3 6-35.5 9.3m64.7 5.6c-.7-11.8 3.8-13 3.8-13s2.1 0 4.4.5c0 0-3.6 4.3-2.6 12.8 0 0 .4 1.3-2.7 1.3s-2.9-1.5-2.9-1.5z"/> + <path fill="#5a3719" d="M469.8 291.7s-2.3-2.3-2.5-4.9c0 0 0-.6 2.2-.6s2.5-.2 3 1.1 2 4 2.3 4.3z"/> + <path fill="#ffc221" d="m474.5 285.7-.2-4.5c.1-6.6 1.2-6 1.7-5.2h2.3s-1.7-7.4-3.7-3a19 19 0 0 0-1.5 10.4q.1 3 .6 4z"/> + <path fill="#5a3719" d="M500.2 285.7s4.3.8-2.3 2.3c0 0 .3 8.2 8.2 2.5 0 0 4.7-3 8-4.2 0 0 1.6-.6 1.4-1.8 0 0 .2-1.5-1.5-1.1 0 0-1.4 0-2.3-.3 0 0-1-1.2-1.6-.8-.6.5-2.1.2-.9 1.7 1.2 1.4 1.5 1 2 .6s3.1-1.4.9.7-4.2-1.2-5-1.8zm-22 1h-2s-1 1.6-1.7-1l-.7 1.6s2.3 8.8 4.4-.6"/> + <path fill="#ffc221" d="M475.4 276.6s-1 5.8.3 9.2l21.1.5s-.2-4 0-9.7H494s-.5 4.6 0 7.5h-.5s-.4-4 0-7.5H491s-.4 4.3 0 7.5h-.5s-.4-3.7 0-7.5H488s-.5 3.9 0 7.5h-.6s-.5-3.9 0-7.5h-2.7s-.6 3.6 0 7.5h-.5s-.6-3.6 0-7.5h-2.7s-.6 4.2 0 7.5h-.6s-.4-4 .1-7.5h-2.5s-.7 3.5 0 7.5h-.7s-.4-3 .2-7.5zm22.3 10.4s-.5-10.2 1.4-13c2-2.6 2.5-2 5.8 0 3.4 2.2 7.7 4.5 8.5 4.8.6.3 1.6.5 1.6 2.4s.3 2.4-2.6 0a9 9 0 0 0-2.7-1.8c-2.6-.9.6.5 1.5 1.9.8 1 1.5 1-.6 1.5a219 219 0 0 0-12.9 4.2"/> + <path d="M505 279.6s-1.5-1.8.5-2.3 2.1 3 2.5 5.1c.3 2.2-2.5-2.1-2.8-2.7zm-2.7 9s-2.3.9-.7 1.6c1.4.7 5.5-2.7 4.2-2.5-1.6.3-3.5 1-3.5 1zm3-3s2-.3 1.6.5c-.3 1-1 .4-1.4.2s-1.6-.7-.1-.8z"/> + <path fill="#ffc221" d="M516 282.8s.6 4 4 5c0 0 2 .4 1.5-1.3 0 0-.3-1.5-.6-2-.3-.7-1.6-1-1.8-1.1-.2 0-.3-.5.6-.2 1 .3 1 .4 1-.3s-.6-.4-1.4-.8c-.4-.2 0-.4.3-.3.4 0 1.3.3 1.3-1 0 0 .1-.8-.9-.8-1.1 0-1-.6-.7-.7s1.5.8 1.9-.6-1.6-.5-1.4-1.2c.3-.8 1.7.3 1.7-.5.2-.8 1.3-1.1-.6-1.4-.9-.1 0-.6 1-.4s1.6-1.2 2.3-1.6 4.2-2.6-.6-1.9-6.1 3-6.3 3.5a13 13 0 0 0-1.3 7.6"/> + <path fill="#ffc221" d="M527 285.8q1-.1 1.4.5c.8 1.6-1 1-2 2.2s-1 1-2.4.5-2-2.5-2-2.5q0-1 1.2-.6s2.3.2 3.9 0zm-5-.8s0 .4.9.5c.7 0 3 .3 4.5-.1 0 0 .4-.1.2-1 0 0 0-.7-1.2-.4-1.3.2-3 0-3.7-.1q-1-.4-.8 1zm-.2-2.9s-.1 1.3 1.1 1.4c1.3.2 2.9.2 3.5 0 .5 0 1.4-.2 1.5-1 0-.7.2-1.2-1.3-.8s-3.4 0-3.6 0c-.1 0-1.2-.3-1.2.4m.5-2.5s-.3.6-.2 1.2q0 .7 2.5.7c2.5 0 3-.2 3.2-.7.1-.7.5-1.3-.7-1-1.3.1-3 .2-3.6 0q-1-.5-1.2-.2"/> + <path fill="#5a3719" d="M582.1 286s0 1 .9 2.2l-45.2-1.3s.6-.4.8-2.2z"/> + <path fill="#ffc221" d="M522.7 277.8s-.4 1.1.4 1.4q1.2.4 4 .1s1 0 1.3-1 .3-.4-2.3-.8c0 0-.8-.3 1.5-.3 0 0 1.4 0 1.5-.2.3-.2 2-1.7-.3-1.5-2.3 0-1.1-.5 0-.5s1.6.3 2 0 0-.2-.7-.8-.1-.5.3-.1q.6.6 1.3 0c.7-.6-.4-1.2 0-1 .3 0 .6.8 2 0 1.6-.7 3.5-.3 4 0 .6.5 2.2 1 3.1 0 1-.8-1.1-1.7-.3-1.8 1-.1 1.6.2 1.9-.5.4-.8-1.4-1.4.3-1.8s.2-5-.3-5.5c0 0-1.9 1.1-3.8 4.3-2.1 3.3-3.3 5.2-6 4.2-3.9-1.5-6 .6-6.5 1-1 .6 2 .8.2.9-1.7 0-1.7.2-1.8.4q-.2.4.3.6c.3 0 .9.6-.1.6s-1.8-.3-1.5.9l.6.3c.6 0 .8.8-.3.8q-1 0-.8.3m4.1 11.3s-.7.5.3.6c1.2 0 1.7.3 2.1-.3s1.8-.4.8-1.2-1.6-.3-3.2 1z"/> + <path fill="#ffc221" d="M531.5 275.5s3.8-3.5 6.9-1.2c3.2 2.5 3.4 2.8 3.5 2.9 0 0 .4.3-.4 1-.9.8 0 .8.9.3s1 0 1.4.5c.5.5 1.1.8-.3.8h-4.6s-2.1.2-1-.7c1-.9.8-1.9.3-2-.6 0 0 .6-.3 1q-.6.6-1.9.7-2 .3-.2 1c1.1.4-.2.7-.8.7s-3.5.2-.5.6-.3.3 2 1.5c2.4 1.4.6 4.3-.3 4.6 0 0-1 .5.2.4 1.3-.2 2-.3 1 .4-.8.6-2.6 2.9-5 1.2 0 0-1.2-.6.8-.7s-1.6-.5-2.3-1c-.5-.3-3-2.7-1.5-2.5 1.6.4 1-.5.1-.8s-1-1.6 0-1.4 2 .9 3 .8q1.2 0-1.2-.8c-1.7-.6-2.4-.7-2-2 .4-1.5 2.3.5 1.8-.6-.4-1-2-.5-1.2-1.9s1-.8 1.5-.6c.3.1 1 0-.1-.8-.8-.5 0-1.3.2-1.4"/> + <path d="M534.2 276.5s0-.5.8-.4c.6 0 .4-.2.6-.4.2 0 1.9.5.3 1-.6.3-1.6.2-1.6-.2z"/> + <path fill="#ffc221" d="M537.9 280.5s-1.3.6-.2 2c1 1 1 1.5 1 2.2-.1.8 43.4 1.3 43.4 1.3s0-2.9 1.8-4.5z"/> + <path fill="#5a3719" d="M582.8 285.2s.2-2.4 1.6-3.1c.7-.5 1.6-.3 2 1.6.6 2.7-1.7 5.1-2.7 4s-.8-2.5-.8-2.5z"/> + <path fill="#7b3c20" d="M532.9 295.4s2.9-2.5 3.4-3.6c0 0 7.8 5.6 7.3.4l.2-2.6s2.9.3 3.3-2l-7.3-.3s-.8-.1-2 1.1c-1 1.2-3.4 2.5-5.5 1.4 0 0-1-.8-1.9 0-1 .5-1 .7-.2 1.5s2.4 2.9 2.7 4zm16.8-15.4-4.3-.2s-1.5-2.2-4.6-4.6c0 0-.9-.4.8-1.8q2.5-2.3 2.3-3.5c0-.6 0-1.7.6-1 .6.8 5 4.9 5.8 3.7q.8-1.6.7-2.1c.2-.4.3-1.5 1-.3s1 .8 1.1 3.8c0 0 0 3 .5 4 0 0-5.6-1.7-3.8 2zm-18.6-9.2s3.3 2 5-.6c1.5-2.5 2.6-2.8 1.4-5.3-1.2-2.3 0-3.4.9-4.4s1.8-.8 1.8-4.6c.2-3.9 2.8-5 4-6.3s4.2-3-.4-3.7c-4.4-.8-13.4-3-15.7-6.5s-3.3-1.5-3.3-1.3-.8 2.7 1.5 7.3 4.2 7.6 6.5 9 4.2 2.3 3 5.4-3 8.6-4.7 11"/> + <path fill="#5a3719" d="M543.2 261s.6 8 6.3 10.8c0 0 1.3-3 .8-6.1 0 0 1.9.1 2.4 1 0 0 0-2.3-2.6-3.2-2.7-.7-1.4-6-.4-6.5s.6-1.7 0-2.6-.8-2.3 1.4-1.7 2-.6.5-1.7c-1.3-1.1-1.3-2.5.7-2.5s5-1.9 3.2-2.4c-2-.6-2.5-1.3 0-2 2.7-.8 4-1.7 2-2-2-.2-3.3-.9-1.4-1.2s-.3-2.3-2.5-2.3c-2.3-.2-7 .7-3.3-2.3s-5.4-.8-1.6-2.8-1.3-1.1-2-1.1-.7 0-.4-1-.5-1.6-1.7-.9c-1 .6-1 .6-1-.7 0-1.5-1.3-.4-2.1 0-.9.3-3 1.9-3.9 1-.7-.9-1.2-1.7-3.8-.2s-2 .2-2-.5 1-3.4-2.4-.5-.7-3-3.5-1-3 2.4-3.5 1.5c-.5-1-1-1.7-4 .3-3.1 1.9-.8-1.3-.5-2 .5-.6 1.8-5-.9-1.6 0 0-1.3 2.4-4.2-1.9 0 0-3 4.3-3.9 2.4-.8-2-1.5-2-2.6-.8-1 1.2-.2-.1-.7-1.2s-.7-2.9-5.8.8 1.8 1-2.1 2.7-13.5 7-4.8 5.9c8.7-1.3-4.2 3.3-1.2 4.2 3 .8 2 3.5 13.4.3 11.2-3 9.4-.4 15.2-3 5.8-2.4-1.4.9 6.4.8 7.7-.2 1.3 0 2.8 1.6s8 5.3 14.1 6c6.1.6 7.7-1.7 5.9 1-1.8 2.6-2.4 3.6-3.4 4.6-1 .8-4 3-4 6.6 0 3.7-4.8 4.3-3 8.3l4.1-4z"/> + <path fill="#5a3719" d="M553.3 269.9s-1.4-1-1.4-2.8c0 0 1 .2 1.4.8 0 0 3.5-4-.8-5.4-4.1-1.4-2-5.3-.6-5.3s1.7-.3.4-2c-1.2-1.5-1-1.6 1.3-2s2.1-1 1-1.5l-1.9-1.6s6.8-2.9 4.6-4.3 0-1 2-2.3c2-1.4 2.2-1.7 2.5-2.3 0 0-2 .3-3.4 0 0 0 1.7-.9 0-2.3s-2.3-2.6-5-2-1.8-.2-.8-1.3.6-1.7-1.3-2c0 0 .2-1.2 1.7-2.5 0 0-3.7.2-5-.4 0 0 1.6-1 1.6-2.3 0 0-2 .7-4.5.5 0 0 1.5-1.3 1.5-2.4 0 0-4.4 1-6.4 2.5q-.2.2-.8-.6c-.4-.4-.6-1-5.5.6 0 0 .5-2.2 1.7-3s1-2.6-6.5 2.1c0 0-1-.6-1.9-2.9 0 0-1.7 2.3-2.9 3.1 0 0-1 .5-1-1 .2-1.5-.7-.5-1.4 0-.8.4-1.3 1.5-1-1.5s-1-3.6-1-3.6-2.3 3.3-3.7 3.7c0 0-2.5-2.4-3.4-4s-.8-2.2-1.7.6c-.9 2.7-2 3-2 3s-1.5-1.3-1.6-2c0 0-.3.7-.8 1 0 0-1.3-1.5-1.2-3.7 0 0-8.2 4.5-9.2 7.2 0 0-7.7-.5-10.8.1 0 0 .7-2.4 2.7-3.7 0 0-2-.2-2-2.3 0 0 1.6.2 2.6 0s-1.4-3.1 1.1-3.2 4.2 1.2 3-2.2c-1-3.3-.6-3.3-.6-3.3s4.4 2.6 5.1 1.9c.8-.6-.5-2 3.4-1.4s2.8-1.5 4.4-1.7c1.5 0 2.3 1 1.3-6.1s4.8 3.5.9-7.2c0 0-1-3.3-3.3-4.7 0 0-.6 2.3-3.2.3s-7.8-2.8-5.6-4.4 3.2-3.9 2.6-5.2c0 0-2.6 2.6-7 .7-3.6-1.5-4.4 1.3-8 .5 0 0 0-1 3.1-3.4 3-2.3-1.8.8-3.6 1.3s-2.4 0 1.5-3.1c4-3 12-8.5 11-13 0 0 1.8 2.3 6.7.6s8.6-2.3 10-5a23 23 0 0 1 6.4-5.6c1.1-.5 2.4-1 .9 1.5-1.6 2.4-4 6.6-10.8 9.4s-9.5 4.8-10.7 6.3-7.4 4.8-3.3 4.3c4-.7 10.9 0 7.6-1-3.2-.9-6.9.6-3.9-2.1s3.5-3.6 7.9-5.4 9.2-6.1 8.7-1.6-8.6 9.1-10.6 10.6c-2 1.4-1.2 1.2-1.2 1.8s-.4 1.8-1.2 2.3c-.8.6-.5 1.2-.3 2.4.2 1.3-.2 1.8.4 2s1.2.2 1.4 1.1.6 1 1.8 1q1.8-.3 2 .6c0 .7 1.2 1.7 1.3-.4.1-2.2 1-2.5-1.2-1.5s-2.6.6-2.6-.4-.2-.8-1-.9c-1 0-1.3-1.3.3-2.2 1.6-.8 1.6 0 3.6-1.6s2-2 2.3-3c.3-.7-2.9 2.4-4.4 3-1.5.8-1-.5-.8-2.1.3-1.7 4-4 5.7-4s5.6 1 4 3.3c-1.7 2.3-6.4 5.2-4.5 5.4 2.1.2 2.4-.6 3.6.4s0 3.2-.4 4.4a8 8 0 0 1-2.2 2.7s-2.2-3.8-2.1-.8c0 3.1-.5 4.2 0 4.3s2.8 1.7 3.6 1.7-4.1 2.3-2 2.5c2 .1 5.3-1 6.4-3 0 0-4.2-1-5.9-2.6 0 0 4.9-1.2 3.5-5.8 0 0 4.9 1.3 2.7 3.5-2 2.1-3.3 1.8-1.5 2.4q2.8 1 2.7 1.2c-.1.2 1.3.6.5 1.6-.7 1-.7 2.6 0 2.5.5 0 2.6-1 .9-2s1.9-.8.4-1.7c-1.6-1-2-1.1-2.4-1.6-.5-.3 19.7-12.2 9.5-7.8 0 0 2.1-4.6 5.1-4.6s3.2 2.3 1.5 4.2c-1.7 1.7-2.8 4.6-6.7 5.2 0 0 5.6 2.7-1 7.2 0 0-1.5.7-1 1.2s4.5-1.7 5-3a6 6 0 0 1 3-3 38 38 0 0 0 11.2-9.6c2.3-3.9 2.8-4 7.2-7.5s3.6-2.8 4.2-3.6c.5-.9.7-2.3 2.7-3.4s9.8-5.4 12.3-7.2c2.4-1.8 7.4-5 9.6-7.8s8-6.2 9.4-5.6-.2 2.8-3.5 5.4c-3.5 2.5-12 9.3-13.3 10.4a45 45 0 0 1-11.2 6.6c-2.7.3-2.4 1.3-4 3s-5.3 5.4-6.5 6.4-4.3 3-4.4 4.5.5 1.6-1.9 3.8a50 50 0 0 1-11.9 8.1s4.5 1.6 1.8 4.6c-2.6 3-2.5 2.6-2.6 2.8 0 0 6.7-1 2 4.3 0 0-1 1.5 1.1 0 2.3-1.9 1.4-4.1 1-4.5 0 0 3.7-2.3 7.9-2.3q6 .1.2-1.4s2.7-3.2 5-1.6c2.2 1.5 1.4 2.5-.9 3.8-2.4 1.2-5.8 1.7-8.5 3.2 0 0 5 1 7.6-1.1 2.6-2 2.8-1 3-.6.5.4.8 1-.4 2.6s-1.3 1.8-1.2 2.2c0 .4-.1 1.5-2.5 2-2.3.3-3.5 1.3-2.6 2.4.7 1.2.7 4-1.2 3.7-2-.3-1.6-1.9-2.3-2.5-.8-.6-1.9-1.5-5.4.2-3.6 1.9-3.8-.3-3.7-1.5 0 0-2.3 2-4.2.2s-.2-2.6 1-3.5c1-1 5.5-3 2.8-2.5-2.7.3-6.7.4-7.6-1.6-1-2.1 2-1.9 2.4-1.7.5.2 2.3 1.7 2.5-.3 0-2 3-2.3 2-2.6s-2.5.9-2.9 1.3c0 0-2-2.9-5.4-2-3.4 1 1 .7 2 .8.8.2.3 1.8-2.7 4.6s-1.7 1.8.5 1.8 7.9 0 4.6 2.6c-3.2 2.7-4.5 4-6 3.6-1.8-.5 0-1.6.8-2.1s1.2-1.2-.4-.6-2.1.7-3.4-1.5-.8-1.6-.2-3.1 1.8-3 .4-2.5c-1.6.6-1.4.7-1.3-1s-1.7-2.1-1.7-2.1.8 1.7.1 2.8q-1 1.4.4 1.6c1 .4 2 1.3.6 2.3s-1.2.7-.4 1.3c1 .7 2.3 1.3.9 2.7s-.3 1 .4 1c.8 0 2.3.6 2.3 2 0 1.2 0 1.5 2.3.3 2.3-1.3 6.7-1.1 6.7.6s-.6 2.3 1.8.8 3.5 1.4 5.2 0c1.6-1.5 2.6-2.8 4.6-.4s1.3 3-1 4.8 1.1.4 2.9-.5 6.7-1.5 9.5-.2c2.9 1.2 3.7 1 5.8 0 2.1-.8 3.2-1 6.3 1.1 3.3 2.2 5.7 2.6 7.4 2.5 0 0-3.5 1.4-7.5 1.6q-5.8.6-6.7 1.6s2.3 1.5 2.8 3.2c0 0 2.6-.3 3.8.2 0 0-.6 1.9 1 2.9s2.7 1.4 1.5 2.7 1.9.8.1 2.7-2.1 3-2.2 4.5c0 1.6.4 1.8-1.1 2-1.6.1.2 1.9-.5 4-.7 2-5 1.7-4.8 7.2 0 0 1.2-2.7 3.8-5 2.5-2.4 2.6-2.6 2.5-4 0-1.4-.1-1.1 1.2-2.2 1.4-1-.6-2 .8-3.6 1.3-1.5.2-1.2 1.8-2.7 1.5-1.6-1.5-1.7.2-3.3 1.5-1.6-4-3.5-2.3-4.5 1.5-1 4.3-2.4-5-2.3 0 0 2.3-3.6 10-2.9 0 0-2 1.6-2.2 3l1.6.5s-.4 1.1-1.9 2.3c0 0 4.2 2.3 4.9 3.8 0 0-2.6.8-3.3 1.8 0 0 1.2 1.3 1.6 3 0 0-2.9-.4-3.2 1.7s-1.3.7-1.3 2 .1 1.7-.9 2c-1 0-.1 1.1 0 1.8.2.7.6 2.3.4 2.8 0 0-1.5 0-2.1.2 0 0 .4 3-1.3 3.5s1 1-.9 1.3-1.5.5-3.7 4.5c0 0 1.9-1 3.8-2.4 2-1.3-.2-1 3-4 3.3-3.3 2.7-3.5 2.4-5.1-.2-1.6-.3-3 .9-4.5s1.5-3.2 5.7-3c0 0-1.2-2.8-2.7-3.5 0 0 2-1.3 4-1.5 0 0-1.8-2.3-5.6-4.4 0 0 3-2.6 3.9-3.9 0 0-1.5.3-2.7 0 0 0 .6-1.3 3.4-3.1 0 0 1.5 1.4 1.4 2.9 0 0 4.8-2.7 7.5-2.4 0 0 1.4 3.4-5.3 10 0 0 4.2.3 6 0 0 0-1 3.2-6 5-5 2 1 4.2-4.1 3.8s-3.5 1.3-3.4 3.9.3 5.3.2 6c0 0-4-1.3-4 2.6.1 4-2 4.8-2.5 5.1 0 0-1.2-1-3-1.7 0 0-2.5 4.9-6.5 7.7"/> + <path fill="#7b3c20" d="M547.4 220.5s1.4-.2 3.8 1.2c2.3 1.5 4.6-1.5 2-2.3s0-1.8 2.4.2c2.4 1.9 3.3.9 4.2.3.8-.7 1.9-1.1.3-2.2s1-.6 2.3.3c1.2.7.7 1.5.6 1.7-.2.2-.3 2.9 2 .5 2.4-2.5 3.7-4.8 3.6-6 0 0 1.3.8 1.5 2.3s2-.8 2.6-1.6 1.6-3 1.5-4.4c0 0 1.6 2.5 4 0s1.4-1 4.2-1.7a18 18 0 0 0 8.5-5.2c2-2.5 2.1-.8 4.6-1.4s7.7-4.2 8.2-6.1.3-3.1-.4-2.4c-.7.6-.4 0-1.5-.6s-2.7.9-2.7.9 1.6 1.2.3 1.7c-1.2.6-2.3 2.3-4.6 1.6s-4.8 2.2-4.8 2.2 2 1.6-.7 2.7c-2.7 1-2.3 1.4-3.9.2 0 0-2.9 3.7-4.6 4.5 0 0-.7 0-1.2-.8 0 0-2 2.1-2.8 2.5 0 0-1.3-1-2.3-1.5 0 0-2.3 2.9-4.2 3.7 0 0-.6-1-1.8-1.7 0 0-.6 3.6-4.6 5.8 0 0 .2-1-1.8-2.3 0 0-5 4.3-6.9 4.7s-.2-.9 0-1.5c.4-.5 1.6-2.3-.8-3s-2 .5-2.5.7-.6-.4-2.2-.2-1.3.9-2 1.2c-.8.2-3.6-.5-3.4 1.4.1 1.8 1.5 3.1-1 4.2-2.5 1 1 .8 4.1.4"/> + <path fill="#5a3719" d="M557.5 215.3s.6-2.5-1.5-3.5c0 0 13.2-2.1 3.2-7.2 0 0 11.9-2.3 9-6.1-2.7-3.8-5.4-3-5.8-3s2.5-2.1 3.3-1.8 10.2 3.9 7.8.7c-2.4-3-2.2-2.9-2.6-3.8 0 0 3.1 0 7.9 4.6 0 0 1-1 .9-2.9 0 0 3.3 1 4.4 2 0 0 .6-1.2.3-1.8 0 0 3 1.5 4 3.2 0 0 1.3-1.2 1.5-2.6 0 0 3 1.3 3.7 2.2 0 0 1-1.3.6-3 0 0 4.9 1.3 5.5-1.6 0 0 4.9 1 1.7 2.9-4 2.5-.4-.6-4.6 2.3-3.2 2.3-5 4.9-6.6 4.4-1.1-.5-2.5 2.9-4 1.3-1.5-1.7-1.5-1-2.7.7a25 25 0 0 1-2.8 3.5s-.8-.5-1.6-1.2c0 0-.8 1.6-2 2.8 0 0-1-1.3-2.6-2 0 0-2.3 2.7-3.8 3.7 0 0-1.4-1.4-2.9-1.9 0 0-.2 3.8-3.1 5.7 0 0-.6-1.2-2.6-2 0 0-1.4 2.3-4.6 4.3z"/> + <path fill="#5a3719" d="M550.6 209.5s-1.6 1.2-.6 2.5 1.1-.2 2.4-.3c1.3-.2 17.5-3 2.8-7.3 0 0 .7-.6 3.1-.8 2.6-.3 11.8-2.7 7.5-6s-7.9 1.1-4.3-2.8c3-3.1.6-4.6.6-4.6s-8.5 5.6-10.4 6.7c-1.8 1-4.6 3-1.4 4 3.3 1 5.4-3.4 5.7-2.4s-6.4 4.8-5.4 6.4c.9 1.8.7 3.3 2.4 2.9s6 .8 2.5.7c-3.7-.1-5 1-5 1z"/> + <path d="M556.4 201.3s-1.5 1.1.5.6 5.9-1.4 5.2-2.4-3.4.2-5.7 1.8"/> + <path fill="#7b3c20" d="M582.4 184.5s7.5-.2 10.5 1.9q4.3 3.1 5.5 3.8s-.1 2.8-5 .7c0 0 .4 1.4-.2 2.8 0 0-1.7-1.2-3.8-1.7 0 0-.4 1-1 1.7 0 0-2.1-2.2-4.6-2.9 0 0-.4 1.1-.8 1.6 0 0-2.6-1.6-4.6-1.6 0 0 .4 1.7 0 2.3 0 0-5.4-4.3-10.3-3.8 0 0 2.3 3.5 3.8 5.1 0 0-9.8-.7-8-6 1.5-5.3-.2-4 6.2-4z"/> + <path fill="#5a3719" d="M536.3 199.1s-1.1 1 0 1.7c1.1.8 5-2 5.5-2.4s2-.4 0 1.1-3.8 3-5 4.6c0 0 6.4-1.8 10.6-5.4 4.3-3.7-.1-1.3 7-4.8 7.3-3.5 11.1-9.1 7.2-8.5s-7.3 5-10.4 6.7c-3 1.7-4.7 2-4.2 1s2.7-.6 6.9-4c4.1-3.3 3.2-3 3.2-4.2s-1.5-4 4.7-7.4c6.2-3.3 25.6-14.5 27.3-18.5 0 0-5.7.6-13.2 6.1a70 70 0 0 1-13.4 8.8c-2 .8-1.8.2-3.1 1.9a172 172 0 0 1-10.1 9.8c-1.3 1-1.8 1.6-1.9 3.8 0 1-8.4 7.3-11 9.7z"/> + <path fill="#5a3719" d="M562 184.3s-1.5.6-3 0c-1.3-.7-.8-3.6 2.5-5.5a50 50 0 0 1 12.6-4.8s-.5 3.8-10.1 7.1c0 0 .6 2-2 3.2"/> + <path fill="#aa5323" d="M565.4 181.8s.3 1 0 1.8c0 0 17.9 1.7 27.1-9.2 0 0-12.7 1.2-17.7 4.3 0 0 3.2-4 12.7-7.3s13.4-7.4 14.2-9.7c0 0-12 4.3-17.7 4.3 0 0-1.2 0-2.3.5-1.1.7-8.8 6.2-10.8 7.2 0 0 4.3-.4 5.9-1.8 0 0-3 8-11.4 10z"/> + <path fill="#5a3719" d="M531 192s-2.3 1.7-1.3 2.4c1 .9 2.6 1 6-1.9 3.6-3 12.1-10.2 6.8-10.5 0 0-7-.4-6.7 3.8s-4.4 6-4.8 6.2m-15.9-2.5s4.6 2.7 2.8 4.9c0 0 14-11.8 10-14.4-3.8-2.6-6.9 2.3-6 2.7 1 .6 3-.4 2.3.6a77 77 0 0 1-9 6.2zm-3.6-3.8s3 1 3.2 2.3c.1 1.2 9.2-6.4 6.8-9.7-1.1-1.5-6-2-6.4.8-.2 3 4.6-.3 3 1.8-2.2 2.7-5.9 4.4-6.6 4.8m32.6-6.4s-1.9 1.4-.1 2.3c1.8.7 2.8-.6 3.7-1.3s5.3-4 6.2-6 2.5-2.7 4.1-3.7 12.6-6.6 19.5-12.7c6.8-6.1 4-4.5 11-8.4s11.7-7.5 13.2-11.8c0 0-3.3 1-6.2 3l-10.7 6.5c-1.3.5-3 .6-4 1.6s-1 2.3-4.3 5c-3.5 2.9-21 15.3-23.2 17z"/> + <path fill="#aa5323" d="M530 183.4s2-1 5.6-.8 17.8-13.6 22-16.3a342 342 0 0 0 18.7-13.8c1.8-1.8 2-3.6 3.6-4.6 1.5-1 3-.9 6.4-2.9s20.3-12 19.3-17.8c0 0-25 15-30.7 19.8a375 375 0 0 1-24.7 17.7c-2.8 1.9-5 5-9.9 8.8-4.7 3.9-9.5 7.2-10.3 10z"/> + <path fill="#aa5323" d="M524.8 178s4.6-.4 5.2 1.9c0 0 10-6.8 12.2-9.6s-.8-1.2 4.9-4.9a594 594 0 0 0 27-19.1c2.7-2.3 7.8-5.5 11.9-8.2 4-2.8 19.9-10.6 18.1-17l-14.2 9.5c-2.7 1.8-3.9.8-6.5 2.9s-8.5 6.3-9.5 7.6a161 161 0 0 1-14.4 11c-4.4 3-14.1 8.6-18.9 12.8l-15.8 13.2z"/> + <path fill="#aa5323" d="M510.4 176.8s2.3 0 3.1.9c0 0 4.3-3.9 8.9 0 0 0 16.8-11.5 18.5-14.4 1.7-2.8 4.5-2.9 11-7.6 6.6-4.8 10.7-6.9 15-10.2 4.4-3.4 8.1-7.3 11.2-9.3s11-7.2 9.8-11.7c0 0-6.5 3.6-10.6 8.2-4.2 4.6-3.8.7-8.1 4.5a83 83 0 0 1-16.3 11.7c-5.5 2.7-2.2 2.4-6.2 5-3.9 2.5-3.6 2-5 2.5a10 10 0 0 0-5.1 3c-1.6 1.7-5.4 4-9.6 6.5a107 107 0 0 0-16.6 10.9"/> + <path fill="#aa5323" d="M515.5 168s-1-1.9.7-3.3 4.6-4.8 5-7 .1-1.9 4.8-3.8a188 188 0 0 0 38.2-21.6c1.8-1.5 6.4-4.6 8.3-6.2 0 0 .8 2.5-1.2 4.2a222 222 0 0 1-21.5 14.9 77 77 0 0 0-9.6 5.5c-1.9 1.6-1.6 2-10.2 6.3-8.5 4.1-9 4.6-8.7 4.9s4.2-1.3 6-2.4 8.8-4.3 11-6a69 69 0 0 1 7-5 296 296 0 0 0 18-11.2c3.5-2.7 4.5-3.5 5.3-3s2 .4.4 2-6.7 6-8.7 7.3-8.1 5-9.8 5.8c-1.7 1-2.4 2.5-3.4 3.2s-3.7 2.7-7 3.5-4 3.3-6.3 4.8c-2.3 1.4-18 10-18.5 10.3 0 0 .9-1 .2-3.2"/> + <path fill="#aa5323" d="M570.3 132.4s-.9.8-.4 1.2c.6.6 2.8 2.2 5.6-.6a107 107 0 0 1 12.5-10c2.3-1.5 3.6-2.8 3.5-4.7 0 0-11.4 6-21.2 14.1m15.6-1s1.7-2.9 6-5.7c4.3-2.7 10.8-6.7 11.5-7.6 0 0 1.6 1.7-1.7 3.8l-10.8 7c-.7.7-2 1.6-5 2.5"/> + <path fill="#7b3c20" d="M499 163s-4.8 2.6-3.1 4.2c1.7 1.5 4.2 1 5.4.6l3.2-1c.4 0 4.5-1.3 5.6-3.2s3.8-4.2 6-5.8 3-3.2 2.7-4.3zm-28.4 22s3.4-2 8-.7c0 0-.2-1.1-1-1.7 0 0 5.7-1.5 6.9-4s1.5-2 2.5-2.6c1.2-.8 8.7-6.8 7.8-8.1s-1-3.1-1.7-3.7c0 0-1.5 2.1-9 5.7-7.2 3.6-15.4 6.2-21.4 14.2s-5.3 12.6 2 14.7c0 0 5-3.2 17.6-2.1 12.4 1.1 16.6 5.8 17.4 6.6.8.9 3.3 4 .9 9.1 0 0 2.5 1.1 2.6-1.3.3-2.3.4-1.8 1-1.5s1.3.5 1-1.4a18 18 0 0 0-2.3-7.2c-1.1-1.5.2-.8.9-.6s3.3 2.5 1.8-1.5c-1.5-3.8-2-2-2-1.8 0 .3-.4 1.2-3.8-1.4a27 27 0 0 0-8.8-4.4c-2.3-.6-.7-.6.7-1 1.4-.6 3.1-.8 3.8-2.4 0 0-1.4.3-3.8-.6a13 13 0 0 0-11.5 2s1.2-4.5-2.5-4.3c-3.6.3-6.2.2-10 3.2 0 0-.3-4.6 3.4-7s3.2-1 5.2-1.6 2.3-2.7 1.4-3.4c0 0 4.8.9 12.8-5.8 0 0-4.3 5.7-9.5 6.8 0 0-.9 3-5.7 3.7s-4.6 3.4-4.6 4.1z"/> + <path fill="#5a3719" d="M457 212.7s2.2-14.1 15.5-15.1c11.4-1 15.1.5 17.4 1.3s8 2.4 5.8 4.2-3.5 1.5-3.5 1.5 2.5-2.9.2-3.3c-2.3-.5-2.4.9-2.7 2-.4 1.3-.5 2.6-1.6 3.6 0 0-1.2-1.4-2.9-.2s-.2 1.2.5 1 1.5-.5 1.3.5-1 2.8-3.8 4.2-2.6 1.3-5.8 1.9c-3.3.5-6.3 1.8-10.5 5.3-4.2 3.6-8.7 2.4-9.6-1.5-.8-3.4-.4-5.4-.4-5.4z"/> + <path d="M472 212.2s1.2-2.7-1-4c0 0-6.9 1.2-9-.9 0 0 7.5-.4 12.2-2.3 4.6-1.7 3.3-3 1.7-3.4s-4.6.5-4.9 2c0 0-1-1.6.2-2.6a5 5 0 0 1 4.7-.8c1.7.4 3.1 1.2 8.6-1.6 0 0 3.1.7 3.3 2.8 0 2.2-.3 3-.6 3.3q-.3.8-1.3 1c-.6-.2-1.5-.3-2.3 1.2a9 9 0 0 1-2.6 3.7s1.5-4.6-2.5-5.7c0 0-3.3 2-5.8 2.1 0 0 3.2 3-.8 5.2z"/> + <path fill="#5a3719" d="M479.3 203.8s-1.6-1.6.4-1.9c2-.1 4.6 1.4 4.2 2.7-.6 1.2-3 1.1-4.6-.8"/> + <path fill="#fff" d="M592.6 181.6s-3.7 1-.2 3.3c3.4 2.3 5 4.2 7.5 4.8 2.5.7 5 1.5 5 4s-.5 3.5-1.9 5.2.8 2.4 2.6 1.5l4.5-2.2c1.1-.7 3-.6 1.4.3-1.9 1-3.7 1.5-1.4 1.5 2.3.1 16.2.4 19.1-.6s6.8-1.2 7-5c0 0 .2-1.6 1.3-2.4 1-.7 1.8-2.3.2-1.2q-2.4 1.8-3 1.3c-.3-.3-.5-.6.7-1.1s1.8 0 2.9-1.5c1-1.6 1-1.4.4-2s-1.8-1-1.2-1.8 1.2-3-1.4-1.7-7.6 4.8-10 5.3c-2.2.5-4 1.2-7.1 1.8s-5 1.4-8.5 3.3c-3.3 1.8-3-1.1-2.5-1.5 0 0 1.3 2.3 4.7-.7 3.4-2.9 2.3-.1 10.6-2.9s6.3-3.1 9.5-4.8 6.4-1.8 4-4c-2.2-2.4-2.4-2.5-5.3 0a35 35 0 0 1-16 6.4s18.8-8 16.9-9.2a21 21 0 0 0-5.3-2.5c-1.3-.3-1.7-.6-4.7.8s-3.5 1.6-4.3 1.7q-1.6-.1-7 2.4c-3.6 1.9-5.5 2.6-8 4 0 0 1.7-3.3 9.1-5.5s11.1-4.2 10.4-4.6-2.7-.8-4-.5c-1.5.3-1-.1-5.6 1.7s-2.6 1.4-6.2 2.2c-3.7.7-5.1 1.5-6.9 2.3 0 0 .8-1 3.1-1.9 1.3-.4-1.3-.9 2.2-1h1a32 32 0 0 0 8.6-3.3c-.7-.1-5.1-.6-9.5 1.6-4.5 2-2.5 1.3-4 1.5-1.6.4-5 2.4-6 3.4-1.1.9-2.7 1.5-2.7 1.5z"/> + <path fill="#5a3719" d="M482.7 201.8s1.8.5 2.2 1.8c.5 1.2 1.6-.6 1.6-1.1-.1-.6-1.2-3-3-1.9-2 1.1-1 1.1-.8 1.2"/> + <path fill="#7b3c20" d="M477.9 226s3.7-1.8 6.9-1.5c0 0-1.3-4.4.9-3.7 2.1.8 1.5.4 2 .4 0 0 .1-2.9-.5-4 0 0 2.3.5 4.6.5 0 0-2.2-4.1.2-7a7 7 0 0 0 4.2 3.4v-2.3s1.7-.3 3 .4c1.4.8 2.5-7.6-1.5-9.3 0 0-1 1.5-4.7 2.3s-3.7 1.5-5.2 4.3-3 2.9-6.2 5c-3 2-5 6-5 6.4 0 0 1.5 2 1.3 5.1"/> + <path fill="#999" d="M603.1 177.8c1.3-.2-1.4-.9 2-1h1a32 32 0 0 0 8.7-3.3c-.7-.1-5.1-.6-9.5 1.5s-2.5 1.4-4 1.7c-1.6.3-5 2.3-6 3.3-1.1.9-2.7 1.5-2.7 1.5s-3.7 1-.2 3.4c3.4 2.3 5 4.2 7.5 4.8 2.5.7 5 1.5 5 4a7 7 0 0 1-1.9 5.2c-1.3 1.7.8 2.4 2.6 1.5l4.5-2.2c1.1-.7 3-.6 1.3.3-1.8 1-3.6 1.5-1.3 1.5 2.3.1 16.2.4 19.1-.6s6.8-1.2 7-5c0 0 .2-1.6 1.3-2.4 1-.7 1.8-2.3.2-1.2-1.5 1.1-2.8 1.7-3 1.3s-.5-.6.7-1.1 1.8 0 2.9-1.5c1-1.6 1-1.4.4-2l-1-.9s-.9-.7-1.9-.1a28 28 0 0 1-7 2.7q-2.2.2-6.5 2.4c-4.3 2.2-8.2 4.6-9 1.7l-2.8 1c-3.4 1.8-3-.7-2.5-1.4 0 0-1.8 2-1.7.2 0-1.8 1.2-1.5 3.3-2.1s5-2 3.8-3-2.7 1-4.2 1.8c-1.4.7-4.3 1.2-4.8-.9s-.4-3.6-4.3-3.8c-4-.2-3.9-2.7-2.8-3.8s2-2.8 5.7-3.5z"/> + <path d="M615.6 196.9s6.1-2.8 11.7-4.1c5.7-1.3 1.2.2.3.4-1 .3-9.7 3.2-11.8 4.2-2 1-1.7.2-.2-.4zm1.4 1.3s6.9-2.3 8.2-1.4c1.3 1 .2.6-1.3.8-1.6.1-5.7.8-6.8.8s-.1-.2-.1-.2m11-2.5s1.4-.2 1.5.4c.1.4-.6.5-1.3.4s-1.3-.5-.1-.8z"/> + <path fill="#fff" d="M446 255.9s-.3-6.2 2.8-9.2 17.8-18.5 20.1-22.8c0 0 2 1.3 2 3.8 0 0 2.5-4.3 4.5-6 0 0 1.7 1.8 1.5 5.4 0 0 3.5-1.9 9-1.9 0 0-2 2.4-2.1 3.9 0 0 7.6-1 11.7-.3 0 0-10.6 6-7.7 6.5 3.1.5 6.2 0 6.2 0s-3.4 3.3-8.8 4c0 0 6.9 0 8.2 1.5 0 0-6.6 1-12 5 0 0-.4-.2-.4-1.7 0 0-.3 1.4-1.8 2.7-1.5 1.2-5.1 4-6.5 5.3s-3.8 4-6.6 4c0 0 .6-2.1-1.4-2.8a6 6 0 0 0-6 1.5s-7 .1-9.4.5c0 0 1.6-2.6 3-2.6 1.6 0 7.6 1 8.1-3.2.6-4-3.8-3-2.2-5.4 1.7-2.4 1.3-2.2 1.4-2.6 0 0-1.4.8-2.2 3a11 11 0 0 1-4.2 6 15 15 0 0 0-4.8 5s-1.3 0-2.4.4"/> + <path fill="#fff" d="M452.8 252.2s.3-.8 2.3-1.2c2.2-.3 2.3-1.3 2-1.8s-1.5-.4.5-2.8c0 0 .8.3 1.2.8.6.6 2.9 5.5-6 5"/> + <path fill="#999" d="M447.9 247.9c0 4 5.3 2.5 5.3 2.5a21 21 0 0 0-3.8 3.6c.4-2-3-2.5-3-2.5a12 12 0 0 1 1.5-3.6m19.3-21.5 1.7-2.5s2 1.3 2 3.8c0 0 2.5-4.3 4.5-6 0 0 1.7 1.8 1.5 5.4 0 0 3.5-1.9 9-1.9 0 0-2 2.4-2.1 3.9 0 0 7.6-1 11.7-.3 0 0-10.6 6-7.7 6.5 3.1.5 6.2 0 6.2 0s-3.4 3.3-8.8 4c0 0 6.9 0 8.2 1.5 0 0-2 .3-4.6 1.2 0 0-1.9-1.8-7.6-1.5 0 0 4.4-2.6 8-3.4 0 0-1.6-2-4-.1 0 0-4.9-3.3-.8-6.2 0 0-2.8-.5-4.7.8 0 0 0-2.3 2.1-3.3 0 0-5.4-1-6.7 3 0 0-1-1.5-.5-3.4 0 0-3.3 1.9-4.8 4 0 0-.5-4-2.6-5.5M456.8 252q-1.4.3-4 .2-.2-.1 1.3-1s.4.8 2.7.8"/> + <path d="M466.6 236.7s2.5 2 3.3 3c0 0 2.3-1.4 3-2.7 0 0 1.9 1.1 2.4 2.8 0 0 1.3-.8 1.5-2 0 0 3 .6 4.2 1.6 0 0 .4-3 0-4.8 0 0 2.1.2 3.4.7 0 0-1.2-2 5-4.5 0 0-4.7 1.1-6.5 3 0 0-2 .2-2.9-.4v4.5s-1.2-.6-3.5-1.1c0 0-.6 1-1 1.2 0 0-1.5-1.2-2.1-2.7 0 0-2.3 2.1-3 3 0 0-2.3-1.6-3.8-1.6"/> + <path fill="#ffc221" d="M452.5 267.3s1 .4 3.3-1.4 8.7-5.9 9.2-9.2c.7-3.3-2-3.4-4-2.5-2.2 1-1.3 2.7-1.2 3.4 0 .6.2 2.9-3.3 6z"/> + <path fill="#ffc221" d="M451.9 268.3s-5.2-2.2-.6-4.5 6.7-2.9 7.2-4.9c.6-1.9.2-1.5-1.5-.7-1.7.7-8.2 3.8-9.2 1 0 0 2.7 1 6-.6 3.4-1.7 6.2-2.1 4-2.8a37 37 0 0 0-11 .5c-1.4.4-1 .3-1.3 1.6-.2 1.3-1.6 4-2.2 4.7-.5.8-1.8 4 .6 5.5a9 9 0 0 0 8 .2"/> + <path d="M449.9 257s-1.3.2-1 .7q.3.6 1 .4c.3 0 1-.2 1.1-.5 0-.3-.8-.7-1.1-.5z"/> + <path fill="#fff" d="M451.5 267.1s-2.4-1.1.4-2.6 5.6-3 6-3.6c0 0-1.3 1.9-6.4 6.2"/> +</svg> diff --git a/apps/web/public/flags/asean.svg b/apps/web/public/flags/asean.svg new file mode 100644 index 00000000..189ae020 --- /dev/null +++ b/apps/web/public/flags/asean.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="flag-icons-asean" viewBox="0 0 640 480"> + <path fill="#0039a6" d="M0 0h640v480H0z"/> + <circle cx="320" cy="240" r="144" fill="#fff"/> + <circle cx="320" cy="240" r="137.3" fill="#ed2939"/> + <use xlink:href="#asean-a" transform="matrix(-1 0 0 1 640 0)"/> + <g id="asean-a" fill="#f9e300"> + <path d="M357 240c24-14.4 35-43.2 35-72h-11v1c0 9.6-1.5 44.6-27.9 71a106 106 0 0 1 27.9 71v1h11c0-28.8-11.5-57.6-35-72"/> + <path d="M377.6 169v-1h-11.5v1.4c0 9.6-2 43.2-20.7 70.6 19.2 27.4 20.7 61 20.7 70.6v1.4h11.5v-1c0-9.6-2.4-44.6-27.8-71a106 106 0 0 0 27.8-71"/> + <path d="m341.1 240 1-1a130 130 0 0 0 20.1-69.6V168h-10.5v2c0 10-1.5 42.2-14.4 70a182 182 0 0 1 14.4 70v2h10.5v-1.4c0-9.6-1-39.9-20.1-69.6"/> + <path d="M333.4 240a178 178 0 0 0 14.4-72h-11v3.4c0 12-1 41.2-7.2 68.6a336 336 0 0 1 7.2 68.6v3.4h10.6v-2c0-10-1-43.1-13.5-69.5"/> + <path d="M325.8 240a331 331 0 0 0 6.7-68.6V168h-10.6v144h10.6v-3.4c0-11.5 0-41.2-6.7-68.1"/> + </g> +</svg> diff --git a/apps/web/public/flags/at.svg b/apps/web/public/flags/at.svg new file mode 100644 index 00000000..9d2775c0 --- /dev/null +++ b/apps/web/public/flags/at.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-at" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 160h640v160H0z"/> + <path fill="#c8102e" d="M0 0h640v160H0zm0 320h640v160H0z"/> +</svg> diff --git a/apps/web/public/flags/au.svg b/apps/web/public/flags/au.svg new file mode 100644 index 00000000..96e80768 --- /dev/null +++ b/apps/web/public/flags/au.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-au" viewBox="0 0 640 480"> + <path fill="#00008B" d="M0 0h640v480H0z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/> + <path fill="red" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/> + <path fill="#fff" d="M120.5 0v240h80V0zM0 80v80h320V80z"/> + <path fill="red" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/> + <path fill="#fff" d="m527 396.7-20.5 2.6 2.2 20.5-14.8-14.4-14.7 14.5 2-20.5-20.5-2.4 17.3-11.2-10.9-17.5 19.6 6.5 6.9-19.5 7.1 19.4 19.5-6.7-10.7 17.6zm-3.7-117.2 2.7-13-9.8-9 13.2-1.5 5.5-12.1 5.5 12.1 13.2 1.5-9.8 9 2.7 13-11.6-6.6zm-104.1-60-20.3 2.2 1.8 20.3-14.4-14.5-14.8 14.1 2.4-20.3-20.2-2.7 17.3-10.8-10.5-17.5 19.3 6.8L387 178l6.7 19.3 19.4-6.3-10.9 17.3 17.1 11.2ZM623 186.7l-20.9 2.7 2.3 20.9-15.1-14.7-15 14.8 2.1-21-20.9-2.4 17.7-11.5-11.1-17.9 20 6.7 7-19.8 7.2 19.8 19.9-6.9-11 18zm-96.1-83.5-20.7 2.3 1.9 20.8-14.7-14.8-15.1 14.4 2.4-20.7-20.7-2.8 17.7-11L467 73.5l19.7 6.9 7.3-19.5 6.8 19.7 19.8-6.5-11.1 17.6zM234 385.7l-45.8 5.4 4.6 45.9-32.8-32.4-33 32.2 4.9-45.9-45.8-5.8 38.9-24.8-24-39.4 43.6 15 15.8-43.4 15.5 43.5 43.7-14.7-24.3 39.2 38.8 25.1Z"/> +</svg> diff --git a/apps/web/public/flags/aw.svg b/apps/web/public/flags/aw.svg new file mode 100644 index 00000000..413b7c45 --- /dev/null +++ b/apps/web/public/flags/aw.svg @@ -0,0 +1,186 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-aw" viewBox="0 0 640 480"> + <defs> + <clipPath id="aw-a"> + <path fill-opacity=".7" d="M0 0h288v216H0z"/> + </clipPath> + </defs> + <g clip-path="url(#aw-a)" transform="scale(2.2222)"> + <path fill="#39c" d="M0 0v216h324V0z"/> + <path fill="#ff0" d="M0 144v12h324v-12zm0 24v12h324v-12z"/> + </g> + <path fill="#9cc" d="m142.7 28 2.9 3zm-3 6 3 3zm5.9 0 3 3z"/> + <path fill="#ccf" d="m139.7 37 3 2.9-3-3m5.9 0 3 3z"/> + <path fill="#6cc" d="m136.7 42.8 3 3z"/> + <path fill="#c66" d="m142.7 42.8 2.9 3z"/> + <path fill="#6cc" d="m148.6 42.8 2.9 3z"/> + <path fill="#ccf" d="m136.7 45.8 3 3zm11.9 0 2.9 3z"/> + <path fill="#fcc" d="m139.7 48.7 3 3zm5.9 0 3 3z"/> + <path fill="#6cc" d="m133.8 51.7 3 3z"/> + <path fill="#c00" stroke="#fff" stroke-width="3.7" d="m142.2 34-20.7 78.5L42.8 134l78.4 20.5 21 78.4 20.9-78.4 78.4-21-78.4-20.9-21-78.4z"/> + <path fill="#6cc" d="m151.5 51.7 3 3z"/> + <path fill="#9cf" d="m133.8 54.6 3 3zm17.7 0 3 3z"/> + <path fill="#fcc" d="m136.7 57.6 3 3zm11.9 0 2.9 3z"/> + <path fill="#69c" d="m130.8 60.5 3 3z"/> + <path fill="#c33" d="m137.7 62.5 1 2zm11.8 0 1 2z"/> + <path fill="#69c" d="m154.5 60.5 3 3z"/> + <path fill="#9cf" d="m130.8 63.5 3 3zm23.7 0 3 3z"/> + <path fill="#fcc" d="m133.8 66.4 3 3zm17.7 0 3 3z"/> + <path fill="#69c" d="m127.9 69.4 3 3zm29.5 0 3 3z"/> + <path fill="#9cc" d="m127.9 72.3 3 3zm29.5 0 3 3z"/> + <path fill="#cff" d="m127.9 75.3 3 3zm29.5 0 3 3z"/> + <path fill="#69c" d="m125 78.3 2.9 2.9z"/> + <path fill="#fcc" d="m130.8 78.3 3 2.9zm23.7 0 3 3z"/> + <path fill="#69c" d="m160.4 78.3 3 2.9z"/> + <path fill="#9cc" d="m125 81.2 2.9 3z"/> + <path fill="#c33" d="m131.8 83.2 1 2zm23.6 0 1 2z"/> + <path fill="#9cc" d="m160.4 81.2 3 3z"/> + <path fill="#cff" d="m125 84.2 2.9 3zm35.5 0 3 3z"/> + <path fill="#fcc" d="m127.9 87.1 3 3zm29.5 0 3 3z"/> + <path fill="#9cc" d="m122 90 3 3z"/> + <path fill="#c33" d="m128.9 92 1 2zm29.5 0 1 2z"/> + <path fill="#9cc" d="m163.3 90 3 3z"/> + <path fill="#ccf" d="m122 93 3 3zm41.3 0 3 3z"/> + <path fill="#fcc" d="m125 96 2.9 3zm35.5 0 3 3z"/> + <path fill="#9cc" d="m119 99 3 2.9z"/> + <path fill="#c33" d="m126 100.9.9 2zm35.4 0 1 2z"/> + <path fill="#9cc" d="m166.3 99 3 2.9z"/> + <path fill="#ccf" d="m119 101.9 3 3zm47.3 0 3 3z"/> + <path fill="#fcc" d="m122 104.8 3 3zm41.3 0 3 3z"/> + <path fill="#9cc" d="m116 107.8 3 3z"/> + <path fill="#c33" d="m122 107.8 3 3zm41.3 0 3 3z"/> + <path fill="#9cc" d="m169.2 107.8 3 3zm-62 3 3 2.9z"/> + <path fill="#ccf" d="m110.2 110.7 3 3zm65 0 2.9 3z"/> + <path fill="#9cc" d="m178 110.7 3 3zm-79.6 3 3 3z"/> + <path fill="#ccf" d="m101.3 113.7 3 3z"/> + <path fill="#fcc" d="m113.1 113.7 3 3z"/> + <path fill="#c33" d="m116 113.7 3 3zm53.2 0 3 3z"/> + <path fill="#fcc" d="m172.2 113.7 3 3z"/> + <path fill="#ccf" d="m184 113.7 3 3z"/> + <path fill="#9cc" d="m187 113.7 2.9 3z"/> + <path fill="#69c" d="m86.6 116.6 3 3z"/> + <path fill="#9cc" d="m89.5 116.6 3 3z"/> + <path fill="#cff" d="m92.5 116.6 3 3z"/> + <path fill="#fcc" d="m104.3 116.6 3 3z"/> + <path fill="#c33" d="m109.2 117.6 2 1zm67.9 0 2 1z"/> + <path fill="#fcc" d="m181 116.6 3 3z"/> + <path fill="#cff" d="m192.8 116.6 3 3z"/> + <path fill="#9cc" d="m195.8 116.6 3 3z"/> + <path fill="#69c" d="m198.7 116.6 3 3zm-121 3 3 3z"/> + <path fill="#9cc" d="m80.7 119.6 3 3z"/> + <path fill="#cff" d="m83.6 119.6 3 3z"/> + <path fill="#fcc" d="m95.4 119.6 3 3z"/> + <path fill="#c33" d="m100.3 120.6 2 1zm85.6 0 2 1z"/> + <path fill="#fcc" d="m189.9 119.6 3 3z"/> + <path fill="#cff" d="m201.7 119.6 3 3z"/> + <path fill="#9cc" d="m204.6 119.6 3 3z"/> + <path fill="#69c" d="m207.6 119.6 3 3zm-138.8 3 3 2.9z"/> + <path fill="#9cf" d="m71.8 122.5 3 3z"/> + <path fill="#fcc" d="m86.6 122.5 3 3z"/> + <path fill="#c33" d="m91.5 123.5 2 1zm103.3 0 2 1z"/> + <path fill="#fcc" d="m198.7 122.5 3 3z"/> + <path fill="#9cf" d="m213.5 122.5 3 3z"/> + <path fill="#69c" d="m216.4 122.5 3 3z"/> + <path fill="#6cc" d="m60 125.5 3 3z"/> + <path fill="#9cf" d="m63 125.5 2.9 3z"/> + <path fill="#fcc" d="m74.8 125.5 2.9 3zm135.8 0 2.9 3z"/> + <path fill="#9cf" d="m222.3 125.5 3 3z"/> + <path fill="#6cc" d="m225.3 125.5 3 3zm-174.2 3 3 2.9z"/> + <path fill="#ccf" d="m54 128.4 3 3z"/> + <path fill="#fcc" d="m65.9 128.4 3 3z"/> + <path fill="#c33" d="m70.8 129.4 2 1zm144.7 0 2 1z"/> + <path fill="#fcc" d="m219.4 128.4 3 3z"/> + <path fill="#ccf" d="m231.2 128.4 3 3z"/> + <path fill="#6cc" d="m234.2 128.4 3 3z"/> + <path fill="#9cc" d="m42.3 131.4 3 3z"/> + <path fill="#ccf" d="m45.2 131.4 3 3z"/> + <path fill="#fcc" d="m57 131.4 3 3zm171.3 0 3 3z"/> + <path fill="#ccf" d="m240 131.4 3 3z"/> + <path fill="#9cc" d="m243 131.4 3 3zm-206.6 3 3 2.9z"/> + <path fill="#c66" d="m51.1 134.3 3 3zm183 0 3 3z"/> + <path fill="#9cc" d="m249 134.3 2.9 3zm-206.6 3 3 3z"/> + <path fill="#ccf" d="m45.2 137.3 3 3z"/> + <path fill="#fcc" d="m57 137.3 3 3zm171.3 0 3 3z"/> + <path fill="#ccf" d="m240 137.3 3 3z"/> + <path fill="#9cc" d="m243 137.3 3 3z"/> + <path fill="#6cc" d="m51.1 140.3 3 2.9z"/> + <path fill="#ccf" d="m54 140.3 3 2.9z"/> + <path fill="#fcc" d="m65.9 140.3 3 2.9z"/> + <path fill="#c33" d="m70.8 141.2 2 1zm144.7 0 2 1z"/> + <path fill="#fcc" d="m219.4 140.3 3 2.9z"/> + <path fill="#ccf" d="m231.2 140.3 3 2.9z"/> + <path fill="#6cc" d="m234.2 140.3 3 2.9zm-174.2 3 3 3z"/> + <path fill="#9cf" d="m63 143.2 2.9 3z"/> + <path fill="#fcc" d="m74.8 143.2 2.9 3zm135.8 0 2.9 3z"/> + <path fill="#9cf" d="m222.3 143.2 3 3z"/> + <path fill="#6cc" d="m225.3 143.2 3 3z"/> + <path fill="#69c" d="m68.8 146.2 3 2.9z"/> + <path fill="#9cf" d="m71.8 146.2 3 2.9z"/> + <path fill="#fcc" d="m86.6 146.2 3 2.9z"/> + <path fill="#c33" d="m91.5 147.1 2 1zm103.3 0 2 1z"/> + <path fill="#fcc" d="m198.7 146.2 3 2.9z"/> + <path fill="#9cf" d="m213.5 146.2 3 2.9z"/> + <path fill="#69c" d="m216.4 146.2 3 2.9zm-138.7 3 3 3z"/> + <path fill="#9cc" d="m80.7 149.1 3 3z"/> + <path fill="#cff" d="m83.6 149.1 3 3z"/> + <path fill="#fcc" d="m95.4 149.1 3 3z"/> + <path fill="#c33" d="m100.3 150 2 1zm85.6 0 2 1z"/> + <path fill="#fcc" d="m189.9 149.1 3 3z"/> + <path fill="#cff" d="m201.7 149.1 3 3z"/> + <path fill="#9cc" d="m204.6 149.1 3 3z"/> + <path fill="#69c" d="m207.6 149.1 3 3zm-121 3 2.9 2.9z"/> + <path fill="#9cc" d="m89.5 152 3 3z"/> + <path fill="#cff" d="m92.5 152 3 3z"/> + <path fill="#fcc" d="m104.3 152 3 3z"/> + <path fill="#c33" d="m109.2 153 2 1zm67.9 0 2 1z"/> + <path fill="#fcc" d="m181 152 3 3z"/> + <path fill="#cff" d="m192.8 152 3 3z"/> + <path fill="#9cc" d="m195.8 152 3 3z"/> + <path fill="#69c" d="m198.7 152 3 3z"/> + <path fill="#9cc" d="m98.4 155 3 3z"/> + <path fill="#ccf" d="m101.3 155 3 3z"/> + <path fill="#fcc" d="m113.1 155 3 3z"/> + <path fill="#c33" d="m116 155 3 3zm53.2 0 3 3z"/> + <path fill="#fcc" d="m172.2 155 3 3z"/> + <path fill="#ccf" d="m184 155 3 3z"/> + <path fill="#9cc" d="m187 155 2.9 3zm-79.7 3 3 3z"/> + <path fill="#ccf" d="m110.2 158 3 3zm65 0 2.9 3z"/> + <path fill="#9cc" d="m178 158 3 3zm-62 3 3 2.9z"/> + <path fill="#c33" d="m122 161 3 2.9zm41.3 0 3 3z"/> + <path fill="#9cc" d="m169.2 161 3 2.9z"/> + <path fill="#fcc" d="m122 163.9 3 3zm41.3 0 3 3z"/> + <path fill="#ccf" d="m119 166.8 3 3z"/> + <path fill="#c33" d="m126 168.8.9 2zm35.4 0 1 2z"/> + <path fill="#ccf" d="m166.3 166.8 3 3z"/> + <path fill="#9cc" d="m119 169.8 3 3zm47.3 0 3 3z"/> + <path fill="#fcc" d="m125 172.7 2.9 3zm35.5 0 3 3z"/> + <path fill="#ccf" d="m122 175.7 3 3z"/> + <path fill="#c33" d="m128.9 177.6 1 2zm29.5 0 1 2z"/> + <path fill="#ccf" d="m163.3 175.7 3 3z"/> + <path fill="#9cc" d="m122 178.6 3 3zm41.3 0 3 3z"/> + <path fill="#fcc" d="m127.9 181.6 3 3zm29.5 0 3 3z"/> + <path fill="#cff" d="m125 184.5 2.9 3z"/> + <path fill="#c33" d="m131.8 186.5 1 2zm23.6 0 1 2z"/> + <path fill="#cff" d="m160.4 184.5 3 3z"/> + <path fill="#9cc" d="m125 187.5 2.9 3zm35.5 0 3 3z"/> + <path fill="#69c" d="m125 190.4 2.9 3z"/> + <path fill="#fcc" d="m130.8 190.4 3 3zm23.7 0 3 3z"/> + <path fill="#69c" d="m160.4 190.4 3 3z"/> + <path fill="#cff" d="m127.9 193.4 3 3zm29.5 0 3 3z"/> + <path fill="#9cc" d="m127.9 196.3 3 3zm29.5 0 3 3z"/> + <path fill="#69c" d="m127.9 199.3 3 3zm29.5 0 3 3z"/> + <path fill="#fcc" d="m133.8 202.2 3 3zm17.7 0 3 3z"/> + <path fill="#9cf" d="m130.8 205.2 3 3z"/> + <path fill="#c33" d="m137.7 207.2 1 2zm11.8 0 1 2z"/> + <path fill="#9cf" d="m154.5 205.2 3 3z"/> + <path fill="#69c" d="m130.8 208.2 3 2.9zm23.7 0 3 3z"/> + <path fill="#fcc" d="m136.7 211.1 3 3zm11.9 0 2.9 3z"/> + <path fill="#9cf" d="m133.8 214 3 3zm17.7 0 3 3z"/> + <path fill="#6cc" d="m133.8 217 3 3zm17.7 0 3 3z"/> + <path fill="#fcc" d="m139.7 220 3 3zm5.9 0 3 3z"/> + <path fill="#ccf" d="m136.7 222.9 3 3zm11.9 0 2.9 3z"/> + <path fill="#6cc" d="m136.7 225.9 3 3z"/> + <path fill="#c66" d="m142.7 225.9 2.9 3z"/> + <path fill="#6cc" d="m148.6 225.9 2.9 3z"/> + <path fill="#ccf" d="m139.7 231.8 3 3zm5.9 0 3 3z"/> + <path fill="#9cc" d="m139.7 234.7 3 3zm5.9 0 3 3zm-3 6 3 2.9z"/> +</svg> diff --git a/apps/web/public/flags/ax.svg b/apps/web/public/flags/ax.svg new file mode 100644 index 00000000..0584d713 --- /dev/null +++ b/apps/web/public/flags/ax.svg @@ -0,0 +1,18 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ax" viewBox="0 0 640 480"> + <defs> + <clipPath id="ax-a"> + <path fill-opacity=".7" d="M106.3 0h1133.3v850H106.3z"/> + </clipPath> + </defs> + <g clip-path="url(#ax-a)" transform="matrix(.56472 0 0 .56482 -60 -.1)"> + <path fill="#0053a5" d="M0 0h1300v850H0z"/> + <g fill="#ffce00"> + <path d="M400 0h250v850H400z"/> + <path d="M0 300h1300v250H0z"/> + </g> + <g fill="#d21034"> + <path d="M475 0h100v850H475z"/> + <path d="M0 375h1300v100H0z"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/az.svg b/apps/web/public/flags/az.svg new file mode 100644 index 00000000..35575221 --- /dev/null +++ b/apps/web/public/flags/az.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-az" viewBox="0 0 640 480"> + <path fill="#3f9c35" d="M.1 0h640v480H.1z"/> + <path fill="#ed2939" d="M.1 0h640v320H.1z"/> + <path fill="#00b9e4" d="M.1 0h640v160H.1z"/> + <circle cx="304" cy="240" r="72" fill="#fff"/> + <circle cx="320" cy="240" r="60" fill="#ed2939"/> + <path fill="#fff" d="m384 200 7.7 21.5 20.6-9.8-9.8 20.7L424 240l-21.5 7.7 9.8 20.6-20.6-9.8L384 280l-7.7-21.5-20.6 9.8 9.8-20.6L344 240l21.5-7.7-9.8-20.6 20.6 9.8z"/> +</svg> diff --git a/apps/web/public/flags/ba.svg b/apps/web/public/flags/ba.svg new file mode 100644 index 00000000..93bd9cf9 --- /dev/null +++ b/apps/web/public/flags/ba.svg @@ -0,0 +1,12 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ba" viewBox="0 0 640 480"> + <defs> + <clipPath id="ba-a"> + <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#ba-a)" transform="translate(80)scale(.9375)"> + <path fill="#009" d="M-85.3 0h682.6v512H-85.3z"/> + <path fill="#FC0" d="m56.5 0 511 512.3V.3z"/> + <path fill="#FFF" d="M439.9 481.5 412 461.2l-28.6 20.2 10.8-33.2-28.2-20.5h35l10.8-33.2 10.7 33.3h35l-28 20.7zm81.3 10.4-35-.1-10.7-33.3-10.8 33.2h-35l28.2 20.5-10.8 33.2 28.6-20.2 28 20.3-10.5-33zM365.6 384.7l28-20.7-35-.1-10.7-33.2-10.8 33.2-35-.1 28.2 20.5-10.8 33.3 28.6-20.3 28 20.4zm-64.3-64.5 28-20.6-35-.1-10.7-33.3-10.9 33.2h-34.9l28.2 20.5-10.8 33.2 28.6-20.2 27.9 20.3zm-63.7-63.6 28-20.7h-35L220 202.5l-10.8 33.2h-35l28.2 20.4-10.8 33.3 28.6-20.3 28 20.4-10.5-33zm-64.4-64.3 28-20.6-35-.1-10.7-33.3-10.9 33.2h-34.9L138 192l-10.8 33.2 28.6-20.2 27.9 20.3-10.4-33zm-63.6-63.9 27.9-20.7h-35L91.9 74.3 81 107.6H46L74.4 128l-10.9 33.2L92.1 141l27.8 20.4zm-64-64 27.9-20.7h-35L27.9 10.3 17 43.6h-35L10.4 64l-11 33.3L28.1 77l27.8 20.4zm-64-64L9.4-20.3h-35l-10.7-33.3L-47-20.4h-35L-53.7 0l-10.8 33.2L-35.9 13l27.8 20.4z"/> + </g> +</svg> diff --git a/apps/web/public/flags/bb.svg b/apps/web/public/flags/bb.svg new file mode 100644 index 00000000..cecd5cc3 --- /dev/null +++ b/apps/web/public/flags/bb.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-bb" viewBox="0 0 640 480"> + <path fill="#00267f" d="M0 0h640v480H0z"/> + <path fill="#ffc726" d="M213.3 0h213.4v480H213.3z"/> + <path id="bb-a" fill="#000001" d="M319.8 135.5c-7 19-14 38.6-29.2 53.7 4.7-1.6 13-3 18.2-2.8v79.5l-22.4 3.3c-.8 0-1-1.3-1-3-2.2-24.7-8-45.5-14.8-67-.5-2.9-9-14-2.4-12 .8 0 9.5 3.6 8.2 1.9a85 85 0 0 0-46.4-24c-1.5-.3-2.4.5-1 2.2 22.4 34.6 41.3 75.5 41.1 124 8.8 0 30-5.2 38.7-5.2v56.1H320l2.5-156.7z"/> + <use xlink:href="#bb-a" width="100%" height="100%" transform="matrix(-1 0 0 1 639.5 0)"/> +</svg> diff --git a/apps/web/public/flags/bd.svg b/apps/web/public/flags/bd.svg new file mode 100644 index 00000000..16b794de --- /dev/null +++ b/apps/web/public/flags/bd.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bd" viewBox="0 0 640 480"> + <path fill="#006a4e" d="M0 0h640v480H0z"/> + <circle cx="280" cy="240" r="160" fill="#f42a41"/> +</svg> diff --git a/apps/web/public/flags/be.svg b/apps/web/public/flags/be.svg new file mode 100644 index 00000000..ac706a0b --- /dev/null +++ b/apps/web/public/flags/be.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-be" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#000001" d="M0 0h213.3v480H0z"/> + <path fill="#ffd90c" d="M213.3 0h213.4v480H213.3z"/> + <path fill="#f31830" d="M426.7 0H640v480H426.7z"/> + </g> +</svg> diff --git a/apps/web/public/flags/bf.svg b/apps/web/public/flags/bf.svg new file mode 100644 index 00000000..47138225 --- /dev/null +++ b/apps/web/public/flags/bf.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bf" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#de0000" d="M640 479.6H.4V0H640z"/> + <path fill="#35a100" d="M639.6 480H0V240.2h639.6z"/> + <path fill="#fff300" d="m254.6 276.2-106-72.4h131L320 86.6 360.4 204l131-.1-106 72.4 40.5 117.3-106-72.6L214 393.4"/> + </g> +</svg> diff --git a/apps/web/public/flags/bg.svg b/apps/web/public/flags/bg.svg new file mode 100644 index 00000000..af2d0d07 --- /dev/null +++ b/apps/web/public/flags/bg.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bg" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v160H0z"/> + <path fill="#00966e" d="M0 160h640v160H0z"/> + <path fill="#d62612" d="M0 320h640v160H0z"/> +</svg> diff --git a/apps/web/public/flags/bh.svg b/apps/web/public/flags/bh.svg new file mode 100644 index 00000000..7a2ea549 --- /dev/null +++ b/apps/web/public/flags/bh.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bh" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0"/> + <path fill="#ce1126" d="M640 0H96l110.7 48L96 96l110.7 48L96 192l110.7 48L96 288l110.7 48L96 384l110.7 48L96 480h544"/> +</svg> diff --git a/apps/web/public/flags/bi.svg b/apps/web/public/flags/bi.svg new file mode 100644 index 00000000..a4434a95 --- /dev/null +++ b/apps/web/public/flags/bi.svg @@ -0,0 +1,15 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bi" viewBox="0 0 640 480"> + <defs> + <clipPath id="bi-a"> + <path fill-opacity=".7" d="M-90.5 0H592v512H-90.5z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#bi-a)" transform="translate(84.9)scale(.9375)"> + <path fill="#18b637" d="m-178 0 428.8 256L-178 512zm857.6 0L250.8 256l428.8 256z"/> + <path fill="#cf0921" d="m-178 0 428.8 256L679.6 0zm0 512 428.8-256 428.8 256z"/> + <path fill="#fff" d="M679.6 0h-79.9L-178 464.3V512h79.9L679.6 47.7z"/> + <path fill="#fff" d="M398.9 256a148 148 0 1 1-296.1 0 148 148 0 0 1 296 0z"/> + <path fill="#fff" d="M-178 0v47.7L599.7 512h79.9v-47.7L-98.1 0z"/> + <path fill="#cf0921" stroke="#18b637" stroke-width="3.9" d="m280 200.2-19.3.3-10 16.4-9.9-16.4-19.2-.4 9.3-16.9-9.2-16.8 19.2-.4 10-16.4 9.9 16.5 19.2.4-9.3 16.8zm-64.6 111.6-19.2.3-10 16.4-9.9-16.4-19.2-.4 9.3-16.9-9.2-16.8 19.2-.4 10-16.4 9.9 16.5 19.2.4-9.3 16.8zm130.6 0-19.2.3-10 16.4-10-16.4-19.1-.4 9.3-16.9-9.3-16.8 19.2-.4 10-16.4 10 16.5 19.2.4-9.4 16.8z"/> + </g> +</svg> diff --git a/apps/web/public/flags/bj.svg b/apps/web/public/flags/bj.svg new file mode 100644 index 00000000..0846724d --- /dev/null +++ b/apps/web/public/flags/bj.svg @@ -0,0 +1,14 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bj" viewBox="0 0 640 480"> + <defs> + <clipPath id="bj-a"> + <path fill="gray" d="M67.6-154h666v666h-666z"/> + </clipPath> + </defs> + <g clip-path="url(#bj-a)" transform="matrix(.961 0 0 .7207 -65 111)"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#319400" d="M0-154h333v666H0z"/> + <path fill="#ffd600" d="M333-154h666v333H333z"/> + <path fill="#de2110" d="M333 179h666v333H333z"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/bl.svg b/apps/web/public/flags/bl.svg new file mode 100644 index 00000000..f84cbbae --- /dev/null +++ b/apps/web/public/flags/bl.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bl" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#000091" d="M0 0h213.3v480H0z"/> + <path fill="#e1000f" d="M426.7 0H640v480H426.7z"/> +</svg> diff --git a/apps/web/public/flags/bm.svg b/apps/web/public/flags/bm.svg new file mode 100644 index 00000000..f43a5ebc --- /dev/null +++ b/apps/web/public/flags/bm.svg @@ -0,0 +1,97 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bm" viewBox="0 0 640 480"> + <path fill="#cf142b" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M559.7 130.6v161.6c0 43.1-86.2 57.2-86.2 57.2s-86.4-14-86.4-57.4V130.6h172.5z"/> + <path fill="#2f8f22" d="M559.7 292.2c0 43.1-86.2 57.2-86.2 57.2s-86.4-14-86.4-57.4c0 0 0-3.5 1.8-5.4 0 0-1 7.1 4.5 12.6 0 0-4.3-7.8 0-15.3 0 0-1.7 9.8 4.4 15.3 0 0-3.3-7.9.4-16.7 0 0-1.8 14.3 4.7 17.3 0 0 1.8-8.4-.8-13.6 0 0 4.5 1.8 4.3 13.8 0 0 1.4-1.8 1.8-10.5 0 0 .2 10 3.5 12.3 0 0 1.2-1-.3-5.5-1.6-4.4.6-6 1-6 0 0-.8 5 3.4 8.8 0 0-1.8-7.9.7-9 0 0-.6 6.7 4.8 8.1 0 0 .3-1.9-.8-4 0 0-1-2.5-.3-4.5 0 0 1.7 6 4 7 0 0-1.4-3.6 0-7 0 0 .2 5 4.7 7.1 0 0-3-4-1.9-8.2l28.7 1.4 15 .7 44.7-3 7.6-6.7s3.1 4.1-1.8 10.8c0 0 4.8-.8 6.3-8.3 0 0 2 4.1-.7 8.8 0 0 5.3-5.4 6-11.3 0 0 2.1 5.8-2.9 12 0 0 4.4-1.6 6.3-8.1 0 0 1.6 4-2.7 9.5 0 0 8.1-4.1 7.9-13 0 0 3.3 4.8-.5 11.6 0 0 4-3.7 4.5-9.3 0 0 2.3 2.5-.2 9.4 0 0 5-4.8 5.8-9.9 0 0 1 4.8-3.2 10.8 0 0 2.9-.8 5.7-6.6 0 0 .7 2.4-1.8 6.6 0 0 2.8-.5 4.6-5.9 0 0 .3 3.2-.5 6 0 0 2.1-1.3 2.6-7.3a9 9 0 0 0 1.2 4.4v.8z"/> + <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M515.4 198.7s-3 .6-7-.6c-3.8-1.2-5.3-.7-6.5 0 0 0 1.5-3.1-2.3-5.6 0 0 1.2 3.2-.5 4.6 0 0-.7.7-1.6-.3 0 0-1.3-1.5-2.8-2.4 0 0 3.3-1.2 2.7-4.5s-2.4-3.6-3.3-4.1a6 6 0 0 0 0 2.4s-3.5-2 1.2-4.7 4-4.4 3.1-5.8a13 13 0 0 0-3.5-3.6s1 1.6.7 2.9c-.1 1.2-2.4 2-2-.1.5-2.4 0-2 0-4.3 0 0 4.2 1.4 6-2.8 0 0 1.6-4.3-3.8-6.4 0 0 1.3 1.8.7 3 0 0-1.2 2.2-2.5.6s-2.2-2.2-2.1-4.2c0 0 4.9.7 3.6-4.7 0 0-.9 3.6-7.2-1.2 0 0 4.2-4.2 2.5-7.6 0 0-.5-1.5-4.9-.7 0 0 3.8-2.4 2.3-4.5 0 0-.9-1.3-4.6.4 0 0 1.5-2.3-2.1-5 0 0-2.4 1.2-3.6 2.4 0 0-2.4-3-4-4.3 0 0-2.8 1.1-3.5 4.3 0 0-1.3-1.5-4.3-2.4 0 0-1.4 2.8.5 5 0 0-1.4 0-4-1.1 0 0-2.8-1.2-2.3 1.1.3 2.4.6 3 1.2 4.2 0 0-6.5-1.5-6.2 2a9 9 0 0 0 3 6.2s-3.5 4.8-6.6 1.2c0 0-1.2 1.2 1.2 4.2 0 0 2.4 2.5.3 4.2 0 0-2.5 2-3.7-2 0 0-4.1 4.1.8 7.2 0 0 3 1.8 6.3-1 0 0-1 8-4 6.4 0 0-1.9-1.2 1.4-2.9 0 0-4.8-.6-5.5 4 0 0-.6 3.5 3.5 5 0 0 3.1 1.2 0 3.6 0 0-2.5 1.7-.9 4.4 0 0 1.8 2.8-2.9 3.2 0 0-2.4 0-3.3-.4 0 0-1 2-.4 4 0 0-2.3-1.7-7.5.2-5.2 2-4.9.6-5.2 1.2l-1.6 2.4s2.8 3.6 2.9 3.3l-.6 4 1.4.6 10.8-4.8 11-5.7 8.9.4 5.6 1.3 7.2.6 5.4-2.8h7.6l8.4 4.2 9.5 5.7 5 1 3.9-.3v-7.8z"/> + <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M428.2 207.7s4.2 2.2 6-.3c0 0 2.2-4.4-2.8-6 0 0 2.8-3.2-.2-6.2 0 0-1.6-1.6-4.2-.5 0 0-1.2-2.3-3.7-2.2 0 0-2.4 0-3 2.5 0 0-3.2-1.2-4.9.6 0 0-3 3.2 1.1 5.8l2.9.3 2.8-1.4 3.3.9s-.9 3.2 2.7 6.5z"/> + <path fill="#64b4d1" stroke="#000" stroke-width="1.2" d="M521.6 200.1a7 7 0 0 1 6.9 3.8c2.6 6.2-3 9.6-3 9.6.4 1.3.5 3.2.5 3.2 7.8 1 6.4 9.8 6.4 9.8l-2.6-2.2c-4.5-1.8-9.3 2.2-12.6 8.6-3.4 6.6-1.8 9.5-1.2 17.3.6 7.7 13 12.4 13 12.4l-9.7 25c-3.8 10-12 5.9-14.3 3.7-2.3-2-2.9-.8-4 0-1.1 1 5.3 6-6.5 10.8-11.7 4.7-13.7 8.3-15.7 9.5s-10 .5-10.8-.6c-1-1-.4-1-3.5-2.9-3-1.7-8.2-3.5-13.8-6.2s-5.4-6.2-5.3-6.9c0-.7 1.9-6.5-4.7-1.9-6.5 4.7-12.1-2.2-12.1-2.2-1.2-1.7-6.8-16.4-6.8-16.4a92 92 0 0 0-4.3-12s-.4.8 4.5-2c4.8-2.7 7-7.3 8.7-11.9s0-12.5-.6-14c-.6-1.6-4.2-8.9-8.7-10.4-4.4-1.6-7.5 2.4-7.5 2.4s-1.3-9 6.6-10c0 0 0-1.8.4-3.1 0 0-5.6-3.4-3-9.6 0 0 1.8-4.3 6.8-3.8l-1.1 2.4s-1.2 12.6 17.2 4.2c18.5-8.6 18-10.2 28.7-4.8l7.6-.1s11-5.3 14.7-3c3.5 2.3 16.3 9.4 16.3 9.4s12.4 4.7 14.9-4z"/> + <path fill="#fff" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M465.8 255s-.6-3.9-1.2-6.4c0 0-1.5-3.9 1-6.8l2.8-3.3s1.8-2.4 4-2.7c0 0 2.3 0 2.4-.5.3-.5 2.8-4.5 8.6 0 0 0 1.8-3 4.8-3.6 0 0 3-.8 4.5 1.4 0 0 3.5-2.6 6.4 1.7 0 0 4.1-2.4 7.2 2.3 0 0 4-2 6.4 2.1 2.5 4.3 2 6 2 6l2 6.8 6.5 8-15.2 5.8h-7l-13.7 3.6-24.3 1.9-6.7-8 9.6-8.3z"/> + <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M445.3 295.5s-3.6.1-5.5 1.2c-1.8.8-3.3 1.8-5.4 3.2 0 0-1 1.3-5.2.5 0 0-7.2-1.7-7.2 4 0 0-8.8.6-5.2 8.3 0 0 2.3 6 7.3 1.8 0 0-3.2 4.5 3 6.3 0 0 4.4 1.2 5.8-3.5 0 0 .7-1.8-1-4 0 0 2.1-.4 3.6-2.7 0 0-4.6 5.8.5 8 0 0 6.3 1.5 6.6-5 0 0-.6-3.2 2-4.3 0 0 5-1.2 7-6.6 0 0-7-3.9-6.3-7.2zM430.6 238s-5.6-2.5-8.4 0c0 0-3.5-2.2-7.5 0 0 0-3.7 2.4-6.3 5.2 0 0-1.8 1.5-1.2 6.4 0 0 1 3.5.5 5.1 0 0-1.2-.2-3.7 2.8 0 0-3.1 3.5-6 .3 0 0 1 4.6 6.1 3.8 0 0-2.5 2-.3 7 0 0 1.6 3.6-1 8.2 0 0 4.5-1.8 4.4-7.2 0 0-.5-3.6 1-6 0 0-1.5 2.2 1.6 7.1 0 0 2.4 3.6.5 7.2 0 0 4.4-1.6 4-7s-3-3.2-1.4-8.2c0 0 .5 2.6 1.8 4a7 7 0 0 1 2.4 7s2.6-3.4 2-6.8a13 13 0 0 0-1.3-4.4l8.4-4.8 4.3-7.5z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M417.8 259.5s-3.5-.2-4-3m-6.1-1.8s1.2 0 2.4 1.2c0 0 .7 1.2 1.9 1"/> + <path d="M423 249.2s-1.8 0-3-.8c0 0-.9-.7-1.5.4 0 0-1 1.6.8 2.3 0 0 2.2 1.2-1.2 3.4 0 0 4-1.6 2.4-3.6 0 0-1.8-1.2-1.2-1.7 0 0 .2-.4 1 0 .6.6 2 .4 2.7 0"/> + <path fill="#784421" stroke="#000" stroke-width="1.2" d="m477.6 259 2.1-.6-14-48h-.4z"/> + <path d="M431.2 312.3s-3.2-1.9-6 .3c0 0 .4-1.2 2.4-1.7 0 0 1.2-3.2 4.3-2.9 0 0-1.3 1.6-3 2.8 0 0 1.8.2 2.4 1.5z"/> + <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M419.7 319.8s-5.2-3.2-2.3-8.7c0 0 .8-1.5 2.3-1.2 0 0 3.3 1 .8 5.5 0 0-1.4 2.9-.8 4.5zm10.5 5.3s-7.4-3.4-5.1-9.2c0 0 .7-2 2.4-1.8 0 0 2.8.2 2.3 4 0 0-.9 3.6.4 7z"/> + <path d="M428.7 303.6s-2.3 1.7-3.1 2.8c0 0-1-1.2-2.2-1.8 0 0 1.5-.3 2.2.3 0 0 1.2-1 3-1.3z"/> + <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M435.2 323.6s6-1.4 4.8-7.5c0 0-.6-2.6-3-2.2 0 0-3 .8-1 4.6 0 0 1.1 2.6-.8 5.1z"/> + <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="m461.6 196.7 5.7 1.9s5.4 2.3 12.3 0l5.2-2-3.5 5.4v2.9l2.1 3.2s-1.3.6-5.4-2c0 0-4.4-3.4-9.6 0 0 0-3 2-5.4 2l3.5-3.8-1.3-3.5-3.6-4.3z"/> + <path fill="#fff" d="M437.5 316.5s.2-.4 0-.5l-.5.2s-.6 1 0 2.4c0 0 .5.9.3 1.8v.4s.3-.1.3-.4c0 0 .4-.8-.2-1.8 0 0-.6-1.4.1-2.1"/> + <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M518 207.7s-4.2 2.2-6-.3c0 0-2.1-4.4 2.9-6 0 0-2.8-3.2.1-6.2 0 0 1.6-1.6 4.2-.5 0 0 1.2-2.3 3.7-2.2 0 0 2.4 0 3 2.5 0 0 3.3-1.2 5 .6 0 0 2.8 3.2-1.2 5.8l-2.9.3-2.9-1.4-3 .9s.8 3.2-3 6.5z"/> + <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M484.8 204.4s0 .8-.8 1c0 0-1 .3-1.5-.9v-.3c0-.5-.3-2 1.4-3.3 0 0 2.6-2.1 7.6.5a192 192 0 0 0 14.8 7.5s3.1 1.6 7.9 1.8c0 0 6.5.5 9.3-4.1 0 0 2.1-3.5 0-5.8 0 0-.9-1-2.3-.8a3 3 0 0 0-1.8 1.2s-1 1.4.1 2.5c0 0 1.6 1 2.2-1 0 .2.5 1.7-.4 2.9 0 0-4 6-14.9-.1l-14.3-8.1s-7.1-3.7-11.6 2.1c0 0-3.4 4.8 1.1 7.9 0 0 3.4 2 5.4-1.2 0 0 1.8-3.1-1-4.4 0 0-2.4-1.2-3.3 1.2-1 2.4 1.8 3 2 1.3 0 0 0-.4.3 0z"/> + <path fill="#e4cb5e" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M428 229.2v-9c0-.8 0-1.2 1.2-2.2 1-.8 2.1-2.3 3.7 1.7 0 0 3.2-3.5 4.2-4 0 0 2-1.5 3.3.7 0 0 1.6-2.6 3-3.2 0 0 3.2-2 3.3 4.2l2.5-2.4s2-1.5 4.2.7c0 0 3.5 3.6 4 4.6 0 0 .8 1 1 2.7 0 0 0 2 1 3 0 0 1.1 1 2.2 1.2 0 0 2.5.1 3.6 2.6 0 0 .3-.5 1.6 11.2v21.5l-14.4 17.1-23.1-6.6-9.2-3.9-2.2-6.6 9-5.9 4.8-13-1.5-9.3-2.2-5.2z"/> + <path fill="#784421" stroke="#000" stroke-width="1.2" d="m491.6 240.4 1.2-1.5 2.5-2s4 10.4 4.2 12.7v3.2s6 1.6 7.2 10.7l-5 9.2-7.8-4.4-2.3-1.5z"/> + <path fill="#fff" d="M418.3 312.4s.2-.3 0-.6l-.5.4s-1.5 1.7-.2 4.4c0 0 0 .4.3.2 0 0 .3 0 0-.3 0 0-1.1-2.4.4-4z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M441.7 310.6s.1-.8-.4-1.6q-.2 0-.2-1.5m5.6-90.1s0 2.3.7 4c.6 1.6 2.9 4.5 3 5.9"/> + <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M501 295.5s3.6.1 5.5 1.2c2 .8 3.4 1.8 5.5 3.2 0 0 1 1.3 5.2.5 0 0 7.2-1.7 7.2 4 0 0 8.7.6 5.2 8.3 0 0-2.4 6-7.4 1.8 0 0 3.2 4.5-3 6.3 0 0-4.4 1.2-5.7-3.5 0 0-.8-1.8 1-4 0 0-2.1-.4-3.5-2.7 0 0 4.5 5.8-.5 8 0 0-6.3 1.5-6.7-5 0 0 .5-3.2-2-4.3 0 0-5-1.2-7.2-6.6 0 0 7.2-3.9 6.5-7.2z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m443.8 227.4 6 47.8m-4.5-47.9 6.6 44.6m-5.5-44.8 7.8 44.2"/> + <path fill="#784421" stroke="#000" stroke-width="1.2" d="m458.6 267.5 2.2-.7-14-48h-.5z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m450.7 225.3 14.1 35.5m-15-35 13.6 37"/> + <path fill="#fff" d="M427.6 321.6s-1.7-1.5-1.4-4.3c0 0 0-.6-.3-.7 0 0-.3-.1-.3.6 0 0-.5 2.9 1.5 4.5q0 .2.4.2v-.3z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m451.5 224.8 14.3 32.4m-18.3-30.4 9 43.7"/> + <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M520 259c-6.3-3.6-7.7-11.4-7.7-11.4a25 25 0 0 1 1.6-14.3c4-8.6 11.1-10.3 11.1-10.3s-6.9 4.8-8.8 11.2c0 0-1.4 5.5-.6 10.7.8 5.5.5 4.1 1.8 8.3l2.6 6z"/> + <path fill="#784421" stroke="#000" stroke-width="1.2" d="m492.7 238.7-26.6 8.5-1.4 12c-6.3 9.1-19.2 10.7-19.2 10.7l10 10.7 19 4 10.2-7.8 9.2-8.4c-1-4.5-.5-11.2-.5-11.2 0-1.2.5-3.8.5-3.8s-1.5-10.7-1.2-14.5z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M465 256.2s17.6-5.5 28-10m-36.4 20s22-4 37.3-12.8l5.6-3.8"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m499.5 252.8-6 4.4s-24.5 11.2-43.2 11.6m43.1-3.6S474.6 275 464 275"/> + <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M515.8 238s5.6-2.5 8.4 0c0 0 3.6-2.2 7.6 0 0 0 3.6 2.4 6.2 5.2 0 0 1.8 1.5 1.2 6.4 0 0-1 3.5-.3 5.1 0 0 1.1-.2 3.5 2.8 0 0 3.3 3.5 6 .3 0 0-.8 4.6-6 3.8 0 0 2.4 2 .3 7 0 0-1.6 3.6 1 8.2 0 0-4.6-1.8-4.4-7.2 0 0 .4-3.6-1-6 0 0 1.4 2.2-1.7 7.1 0 0-2.4 3.6-.4 7.2 0 0-4.5-1.6-4-7 .3-5.4 3-3.2 1.3-8.2 0 0-.4 2.6-1.7 4a7 7 0 0 0-2.4 7s-2.6-3.4-2-6.8c.6-3.5 1.2-4.4 1.2-4.4l-8.3-4.8-4.2-7.5z"/> + <path fill="#fff" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M420.6 268.4s.8-3.7 4.3-2.4c0 0 1.2-6 7.7-6.2s6.8 6.4 6.8 6.8c0 0 2-2.8 5.1-2.5 0 0 5.5-.3 3.6 8.5l1 1.2s4.1-9.9 12.7-7.4c0 0 8.4 2.6 3 10.7 0 0 4.2 5.5 7.6 5 3.6-.5 6.7-1.6 10.2-7.8 3.6-6.2 11.7-7.2 13.7-6.8 2 .3 3.7 1.8 4 3.2 0 0 4.3-14.3 19.8-12.2l6.2 3.3 2.4 1-3.6 10-8.4 19.2-6.6 2-6.8-3.9-2.4 1.2v5.9l-9 6.4-6.2 2.5-6.8 4.8-1.7 4.2s-3.7-1.7-8 0l-1.4-3.6-4-3.7-15.6-7.4-2.7-9-2.9-1.3-3.2 3.6-4.5.6-7-4.8-7.4-21z"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M488.2 198s-6-.2-5.7 6"/> + <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M527 263.3c-10.2-3.2-13-14.3-13-14.3a26 26 0 0 1 1.2-15.5c4.8-11 12.7-11 12.7-11a4 4 0 0 1 4.5 3.2c.4 2.4-1.3 3.3-1.3 3.3-2.7 1.5-4.5-.5-4.5-.5-1.2-1.6-.3-2.9-.3-2.9.7-1 2-.4 2-.4 1.3.2 1 1.6 1 1.6s.4-1.6-1.2-1.8c0 0-3.2-.7-6.8 3.8 0 0-4.7 6.1-4.7 14.1 0 0-.6 14.8 14.7 18.6 0 0-1.6 2.4-4.6 11.1 0 0-3.3 11.2-6.4 17.3 0 0-4.3 8.6-13.9 5.1 0 0-5.6-2.5-5.6-6.5 0 0-.3-3.8 3-4 0 0 3.3-.3 3.3 2.5 0 0 0 3-3.5 2.4 0 0-1.2-.3-1.1-1.5 0 0 .2-1.2 1.8-.6 1.5.6 0 0 0-.1 0 0-.6-.3-1.2 0 0 0-.6 0-.6 1q-.2.2.7 1.1l1.7.2s1 2 3 2.7a8 8 0 0 0 7.1-1.2 11 11 0 0 0 3-4.3 113 113 0 0 0 5.2-13.5s1.8-5.7 3.4-8.7z"/> + <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M498 291.4s2-.2 2 1.5c0 0-.1 2.4-3.2 1.9 0 0-3-.6-2-4 0 0 .8-2.3 3.6-2 0 0 2.8 0 4 3.8 0 0 1 3.3-.7 6-1.8 3-6.2 5-8.4 6 0 0-8.7 3.3-11.3 5.3 0 0-4 2.9-2.2 5.6 0 0 .7 1.1 1.7 1.1 0 0 1.2 0 1.3-1.2 0 0 0 .7-.7 1 0 0-.8.4-1.7-.3 0 0-1-1-.2-2.4 0 0 1-1.6 3.6-.6 0 0 2 1.1 1.2 3.3 0 0-.9 2.1-3.4 2 0 0-1.9 0-3.2-1.2-2-2.1-2-6-.2-8 0 0 1.5-2.1 4.7-3.6l9-3.5q4-1.5 6.4-4.1s1.3-1.4 1.8-4c0 0 .4-2-.8-2.4l-1.2-.3z"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M498.2 291.4s2.1-.4 3.5 2.2c0 0 .7 1.5.8 2.5m.7-9s-2.1.3-1 3.4c1.1 2.9 3 3.7 3.5 4.2"/> + <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M461.6 204.4s0 .8 1 1c0 0 .8.2 1.3-.9v-.3c0-.5.3-2-1.2-3.3 0 0-2.8-2.1-7.8.5 0 0-4 2-6.7 3.6 0 0-7.1 3.8-8 4 0 0-3.2 1.6-8 1.8 0 0-6.5.5-9.2-4.1 0 0-2.2-3.5 0-5.8 0 0 .8-1 2.2-.8q.9 0 1.8 1.2s1 1.4-.1 2.5c0 0-1.6 1-2.2-1 0 .2-.3 1.6.5 3 0 0 4 5.9 14.8-.3l14.3-8s7.2-3.7 11.6 2c0 0 3.4 4.8-1 8 0 0-3.3 2-5.5-1.2 0 0-1.6-3 1-4.4 0 0 2.4-1.2 3.5 1.2 1 2.4-2 3-2.2 1.3 0 0 0-.4-.1 0zm-35.2 54.7c6.3-3.5 7.8-11.5 7.8-11.5 1.4-8-1.7-14.3-1.7-14.3-4-8.6-11-10.3-11-10.3s6.8 4.8 8.7 11.2c0 0 1.6 5.5.6 10.7-.8 5.5-.5 4.1-1.8 8.3z"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M458.4 198s6-.2 5.6 6"/> + <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M419.3 263.3c10.3-3.2 13-14.3 13-14.3a26 26 0 0 0-1.1-15.5c-4.8-11-12.7-11-12.7-11a4 4 0 0 0-4.5 3.2c-.3 2.4 1.3 3.3 1.3 3.3 2.8 1.5 4.6-.5 4.6-.5 1.1-1.6.2-2.9.2-2.9-.7-1-2-.4-2-.4-1.2.2-1 1.6-1 1.6s-.3-1.6 1.2-1.8c0 0 3.2-.7 6.8 3.8 0 0 4.8 6.1 4.8 14.1 0 0 .6 14.8-14.8 18.6 0 0 1.7 2.4 4.6 11.1 0 0 3.4 11.2 6.6 17.3 0 0 4.2 8.6 13.7 5.1 0 0 5.6-2.5 5.6-6.5 0 0 .4-3.8-3-4 0 0-3.3-.3-3.3 2.5 0 0 0 3 3.6 2.4 0 0 1.2-.3 1-1.5 0 0-.2-1.2-1.7-.6-1.6.6 0 0 0-.1 0 0 .5-.3 1.1 0 0 0 .6 0 .6 1q.2.2-.7 1.1l-1.5.2s-1 2-3.2 2.7a8 8 0 0 1-7-1.2 11 11 0 0 1-3-4.3 114 114 0 0 1-5.3-13.5s-1.8-5.7-3.2-8.7l-.6-1.2z"/> + <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M448.5 291.4s-2-.2-2 1.5c0 0 0 2.4 3.2 1.9 0 0 3-.6 1.9-4 0 0-.7-2.3-3.6-2 0 0-2.7 0-4 3.8 0 0-.9 3.3.8 6 1.8 3 6.2 5 8.3 6 0 0 8.7 3.3 11.4 5.3 0 0 3.9 2.9 2.1 5.6 0 0-.6 1.1-1.7 1.1 0 0-1.2 0-1.3-1.2 0 0 0 .7.7 1 0 0 .9.4 1.7-.3 0 0 1-1 .2-2.4 0 0-1-1.6-3.4-.6 0 0-2.2 1.1-1.2 3.3 0 0 .7 2.1 3.2 2 0 0 2 0 3.2-1.2 2-2.1 2-6 .4-8 0 0-1.7-2.1-4.8-3.6-1.9-.6-5.5-2.1-9-3.5q-4.1-1.5-6.5-4.1s-1.3-1.4-1.8-4c0 0-.3-2 .9-2.4l1.2-.3z"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M448.2 291.4s-2.1-.4-3.4 2.2c0 0-.7 1.5-.9 2.5m-.7-9s2.2.3 1.1 3.4c-1.2 2.9-3 3.7-3.6 4.2m27.4-91.1s5.2-3.3 10.4.3m-39.7 31.3s.7-3-2.6-8c0 0-2.2-4.7-3.2-7.5m7.4-3.3 2.3 6.6 3 6.8"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M441.2 238.3s2 2.1 1.8 5.6m-8.1-7.9s2.1 1 1.9 6.8c0 0-.1 4 3 6.2m-5.3 1.4s6.7-.7 7.2 3.5c0 0 0 4 2.4 4.3 0 0 3.3.3 4 3.6m-11.4-6.8s1.2 1.7 2.4 2.6m6.2-7s1.6 2.7 2 4.1m5.3-35s1.6 2.1 3.1 3m3.1 9.6s3.4 1.6 3 10c0 0-.6 5 .9 7.7"/> + <path fill="#784421" stroke="#000" stroke-width="1.2" d="m443.1 226.6.4.8s6 .3 9.1-3.8l-.3-.8s-5.3-.3-9 3.8z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M464.7 258.5s20.6-6 28.6-9.6"/> + <path fill="#784421" stroke="#000" stroke-width="1.2" d="m462.5 220.5-.2-.6 10.1-4 .3.8z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m463.4 220.1 6.8 33.3m-5.6-33.6 7.7 33m-6.4-33.6 8.4 32.9m-5-34.1 11.5 24.6m-10-25 12.3 24.2M471.8 217l13.4 24.3m-15.5 12.4 5.2-1.6m-9.1-1.6s15.2-4.5 27-9.2M465.4 252s19.5-5 27.2-8.8m-21.2 24.6 1 3.3 2.8-1-1-3.1m5-1.3 1 3 2.8-.9-1-3m-16-17.6-.2-4.2 25.5-7.7 1.3 3.6m-16 .8 1.3 3.8m7.6-6.4 1.6 3.6m.5-4.3 1.6 3.3m.4-4 1.6 3.6m0-4 2.8-1.6 1.2 3.1m-2.6-2.3 1.4 3.3"/> + <path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M429.5 283.1s-5-5.1 0-10c0 0-5.5-2.6-4.6-7m13.6 21s-5.3.7-3.7-9.4c0 0-2.2 4-2.9 6a5 5 0 0 0 2 5.4c.9.6 5.5 1.8 7-1.2m-8.3-16.2s-2.1 1.9-.6 5.4m2.8-5s.2 3.5 2 5.4m-.5-6.7s0 4 2.9 6.6m-1.5-8s0 4.5 3.4 7.4m13.5-.7s1.6-3.9 5.2-3.6c0 0-1.7.8-1.7 2.5 0 0-.2 3 2.9 3.2 0 0 2.5.4 3.8-1"/> + <path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M463.1 293.1s-8.9-4.2-8-10.1c0 0 .4-3.6 4-5.4m-2 3.8s-.8 2.5 1 4.3m1.1-6s-1.2 2.8.7 4.8m1.5-6.3s-1.4 2.4.2 4.5m-8.4 11s4.8 4.3 8.6 4.3m-10.1-2.9s4.5 3.6 7.4 4.2m-9-3.2s5.5 4.9 9 5.2m13.7 4.6s-5.5 3-1.2 6.2m-2.4-9.4 9-4.6m-6.7 6.2s9-5.5 11.7-6.7m-7 7.2s7.7-5.2 11.9-7.5m-6.8 7.1s5.3-4 10.5-7.1m1.7-5.1s-2.6-3.9-11.2 0c0 0 3.3-2.9 9.5-5.2m8.5-16.3s.8 3.1 0 5"/> + <path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M486.5 285.7s1.8-2.6 6.3-4c0 0 1.2 3 4.8 2.5 0 0 5.2-1.1 3.6-7 0 0-1.1-4.2-7.2-4.7m18.1-7.3s6.1 1.2 6 6.1c0 0 .6 7.6-7.4 9m6.6-12s1.6-3.7 5.5-5.2m-4.6-2.2s1.7 2.8 2.8 3.1m-3.6-1s1.5 2.1 2 2.5m-2.6-.5 1.5 1.6M485 235.8s1.2-2 4.3-1.2m12.1 15.8s2-7.8 8.5-5m-2.6-.6s.6-3.6-1-5.5m-3.6 5.2s.9 1.5.1 2.7"/> + <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M516.2 325s7.4-3.3 5.1-9.1c0 0-.7-2-2.4-1.8 0 0-2.8.1-2.3 4 0 0 1 3.8-.5 7z"/> + <path fill="#fff" d="M518.8 321.6s1.7-1.5 1.5-4.3c0 0-.2-.6 0-.7 0 0 .4-.1.4.6 0 0 .5 2.9-1.4 4.5q0 .2-.4.2-.2 0 0-.3z"/> + <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M526.7 319.8s5.2-3.2 2.4-8.7c0 0-.9-1.5-2.4-1.2 0 0-3.2 1-.7 5.5 0 0 1.2 2.9.7 4.5z"/> + <path fill="#fff" d="M528 312.4s-.2-.3 0-.6l.4.4s1.5 1.7.3 4.4c0 0-.1.4-.5.2v-.3s1.2-2.4-.2-4z"/> + <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M511 323.6s-5.8-1.4-4.7-7.5c0 0 .6-2.6 3.1-2.2 0 0 3 .8 1 4.6 0 0-1.1 2.6.7 5.1z"/> + <path fill="#fff" d="M508.8 316.5v-.5s.4 0 .5.2c0 0 .6 1 .1 2.4 0 0-.5.9-.2 1.8l-.3.4-.2-.4s-.3-.8.2-1.8c0 0 .6-1.4 0-2.1z"/> + <path d="M515.2 312.3s3.4-1.9 6 .3c0 0-.2-1.2-2.4-1.7 0 0-1-3.2-4.2-2.9 0 0 1.2 1.6 3 2.8 0 0-1.8.2-2.4 1.5m2.4-8.7s2.4 1.7 3.2 2.8c0 0 .9-1.2 2-1.8 0 0-1.2-.3-2 .3 0 0-1.1-1-3-1.3z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M504.8 310.6s-.3-.8.3-1.6c0 0 .4-.6.2-1.5m23.4-48s3.5-.2 4-3m6-1.8s-1.2 0-2.2 1.2c0 0-.9 1.2-2 1"/> + <path d="M523.6 249.2s1.8 0 2.7-.8c0 0 1.1-.7 1.7.4 0 0 1 1.6-.8 2.3 0 0-2.2 1.2 1.3 3.4 0 0-4.2-1.6-2.4-3.6 0 0 1.8-1.2 1-1.7 0 0-.2-.4-.9 0-.7.6-2.1.4-2.6 0"/> + <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M526 205.6s.8-1.2.5-4.4 2.6-3.7 3.6-2.8c0 0 1.2 1 0 3.1a8 8 0 0 1-4.1 4.1z"/> + <path fill="#fff" d="M527 203s1.2-1.1.6-3.6l.2-.2h.3s.6 2.8-.6 4.2c0 0-.2.3-.5 0z"/> + <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M525.1 204.4s0-1.4-2.3-3.6c-2.4-2.4-.5-4.4 1-4.4 0 0 1.3 0 2 2.3a8 8 0 0 1-.7 5.7z"/> + <path fill="#fff" d="M524.8 201.4s0-1.6-2.2-3.3v-.4h.4s2.3 1.8 2.3 3.8q0 .2-.3.3-.1.1-.2-.4"/> + <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M522 203.3s-.7-1-3.5-2.1c-2.9-1-2.2-3.5-1-4 0 0 1.3-.5 2.6 1.1a8 8 0 0 1 1.8 5z"/> + <path fill="#fff" d="M520.6 201.3s-.6-1.4-3.2-2.1l-.2-.3.3-.1s2.9.6 3.7 2.4l-.1.3s-.3 0-.4-.2z"/> + <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M523.7 204.4s-1.3.5-4.4-1-4.4 1.1-3.8 2.3c0 0 .5 1.6 2.8 1.2a8 8 0 0 0 5.4-2.4z"/> + <path fill="#fff" d="M516.6 205.4s1.4 1 3.9 0h.3s0 .2-.2.3c0 0-2.6 1.2-4.4.1v-.3z"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M519.3 194.7s1.4.8 1.2 2.5"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M526 195s.6 1.9 0 3"/> + <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M420.2 205.6s-.8-1.2-.5-4.4c.4-3.4-2.5-3.7-3.5-2.8 0 0-1.2 1-.2 3.1a8 8 0 0 0 4.2 4.1z"/> + <path fill="#fff" d="M419.1 203s-1-1.1-.6-3.6v-.2h-.4s-.5 2.8.7 4.2c0 0 .2.3.3 0z"/> + <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M421.2 204.4s0-1.4 2.4-3.6c2.3-2.4.4-4.4-1-4.4 0 0-1.6 0-2 2.3a8 8 0 0 0 .6 5.7z"/> + <path fill="#fff" d="M421.5 201.4s0-1.6 2-3.3c0 0 .3-.3 0-.4h-.2s-2.4 1.8-2.4 3.8q-.1.2.4.3.1.1.2-.4"/> + <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M424.3 203.3s.6-1 3.5-2.1c2.8-1 2-3.5.9-4 0 0-1.2-.5-2.6 1.1a8 8 0 0 0-1.8 5z"/> + <path fill="#fff" d="M425.6 201.3s.6-1.4 3.2-2.1l.2-.3-.2-.1s-2.9.6-3.7 2.4v.3s.4 0 .5-.2"/> + <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M422.5 204.4s1.4.5 4.4-1 4.4 1.1 4 2.3c0 0-.7 1.6-3 1.2a8 8 0 0 1-5.4-2.4z"/> + <path fill="#fff" d="M429.6 205.4s-1.3 1-3.9 0h-.2v.3s2.8 1.2 4.5.1q.2 0 0-.3z"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M427 194.7s-1.5.8-1.2 2.5"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M420.2 195s-.6 1.9 0 3"/> + <path d="M486.7 177.6s1 2.7.6 5.2c-.3 2.4.2 2.9 1 3.4.7.3 2.4-.4 2.5-2.2 0 0 2 3.8-1.8 6.3 0 0-2.7 1.7-5-.4-.8-.9-1.2-3-.7-5 0 0 .6-2.7-.5-5.5 0 0 1.6 1.6 1.2 4.9 0 0-.8 6 3.6 5.6 0 0 3 0 3-3.6 0 0-1.1 1.2-2.4.8a2.4 2.4 0 0 1-1.8-2.8c.1-1.6.6-4.3.3-6.7M482 187s-.4 4.8-4.6 5.9c0 0 .6-.9-.3-3.3 0 0-1-1.2-1-3.3 0 0-1.2 1 .3 3.8 1 1.7 0 3.6-.1 3.7-.4.1 6.9-1 5.6-6.7zm-5.6-4.5s-1.1-1.2-1.2-3.8c0-2.7-.5-3.4-.9-3.6 0 0 .5 2.3.4 3.6a7 7 0 0 0 .4 3s-2.4.3-3.9-3c-1.3-3.3-2.7-3-3.4-3 0 0 .8.1 2.4 3 1.6 3 2.1 3.7 6.2 3.7zm-10.8-7s1.2 3.2 1.4 4.8c0 0-3.1-1-4-3.5 0 0-3.2 1-2 4.7 0 0-2.9-1-4.2-3.2 0 0 1.6 1.2 3.1 1.7 0 0-.2-3.1 3.6-4.2 0 0 .6 2.7 2.6 3.3zm5-5.4s1.2 1.5 3.4 1.5a4 4 0 0 0 3.2-1.5s-.1 2.6-3.2 2.7c0 0-3.3 0-3.3-2.7zm-13.4 18.5 2 1.9s1.2 1.2 2-.3c0 0 1.3-2.4 2.9-2.2 0 0-1.2.7-2.4 3 0 0-.2.7-1.2.8-.5 0-1 .2-1.8-.7q-.2 0-1.5-2.4zm16.7-29.4c-3.2 0-.5 2.4-.5 2.4 0 4-3.1 5.4-5.3 4.2s-.4-4-.4-4-2.4 1.5-1 3.9c1.6 2.4 5.7 1.2 7.2-.9 1.5 2.2 5.7 3.3 7.1.9 1.7-2.4-.8-4-.8-4s1.8 2.9-.5 4c-2.1 1.3-5.4 0-5.2-4 0 0 2.7-2.5-.5-2.5zm2-4.4s1.2 2 1 5c0 0 .9-3-1-4.9zm-10 4.7s-.3-2.2-2.4-2.4c0 0 1.9 1.3 2.4 2.4m16 0s.3-2.2 2.5-2.4c0 0-1.8 1.3-2.4 2.4zm-19.2 3.2s1.6.5 2.6-.7zm-5.4-13.1s1.9-.1 3.8 2.7c0 0-1.9 1-2.4 1.6 0 0 0-1 1-1.7 0 0-.4-1.4-2.4-2.5zm32 0s-2-.1-3.9 2.7c0 0 2 1 2.4 1.6 0 0 0-1-1-1.7 0 0 .4-1.4 2.5-2.5zm-14.7 2.2s1.7.5 3.8-.7c0 0 2.6-1.4 4.3 0 0 0-1.4-.7-4.3.7 0 0-2.7 1.6-3.8 0"/> + <path fill="#fff" d="M476.4 153.6s1.4-2.5 6-2c0 0-1.3 3.6-6 2"/> + <ellipse cx="479.4" cy="152.8" fill="#784421" rx=".8" ry="1.1"/> + <ellipse cx="479.4" cy="152.8" rx=".5" ry=".7"/> + <path d="M466.8 148.1s2.8.3 4.6 1.2c0 0 1.8 1.2 3.8-.3 0 0 2.2-1.4 3.7-3.1 0 0-3.5 2.3-4.8 2.7 0 0-1.2-1-1.5-2.3 0 0 0-1 2-2.7 0 0-2.5.8-3 2.9a7 7 0 0 0 1.4 2.3s-.4.3-1.6-.6c0 0-2.8-.8-4.6 0zm7.2 17c-2.4 2.1 0 1.9 0 1.9s2.4.2 0-2zm-1.4-13.2s-1.8.5-4-.7c0 0-2.6-1.4-4.3 0 0 0 1.5-.7 4.3.7 0 0 2.9 1.6 4 0"/> + <path fill="#fff" d="M470.8 153.6s-1.5-2.5-6-2c0 0 1.2 3.6 6 2"/> + <ellipse cx="467.7" cy="152.8" fill="#784421" rx=".8" ry="1.1"/> + <ellipse cx="467.7" cy="152.8" rx=".5" ry=".7"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M560 130.6v161.6c0 43.1-86.2 57.2-86.2 57.2s-86.4-14-86.4-57.2V130.6z"/> + <path fill="#006" d="M0 0h320v240H0z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/> + <path fill="#fff" d="M120.5 0v240h80V0zM0 80v80h320V80z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/> +</svg> diff --git a/apps/web/public/flags/bn.svg b/apps/web/public/flags/bn.svg new file mode 100644 index 00000000..f544c25e --- /dev/null +++ b/apps/web/public/flags/bn.svg @@ -0,0 +1,36 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-bn" viewBox="0 0 640 480"> + <path fill="#f7e017" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 33.3v213.4l640 100V233.3z"/> + <path fill="#000001" d="M0 146.7v100l640 200v-100z"/> + <g fill="#cf1126" transform="translate(-160)scale(.66667)"> + <path d="M695.7 569.7a117 117 0 0 1-49.4-17.2c-2.4-1.6-4.6-3-5-3s-.6 1.9-.6 4.1c0 6.4-2.6 9.6-9 11.3-6.2 1.6-15.6-1.6-23.2-8a68 68 0 0 0-24.7-13.5 40 40 0 0 0-28 3.6 9 9 0 0 1-2.8 1.3c-1.1 0-1-6.9.2-9 1.5-3 5.1-5.8 9.4-7.3 2.2-.8 4-1.8 4-2.3s-.8-2-1.7-3.6q-4.3-7.9 3.4-13.9c5.2-4 14-4.6 21.7-1.7l4 1.4c1 0 .4-1.5-2.4-5.6-3.2-4.7-3.9-7-3.5-12.7a15 15 0 0 1 13.5-13.5c5.8-.4 9.4 1.6 18 9.7a144 144 0 0 0 86 41.6c8.3 1 24.8.5 34.5-1a156 156 0 0 0 81.8-40.8c6.4-6 9.4-7.6 14.7-7.6 4.5 0 7.7 1.4 11 5 3 3.3 4 6.4 3.6 11.5-.2 3.2-.7 4.7-2.6 7.9-2.8 4.5-2.3 5 3.2 2.8 7.6-3 16.9-1.6 21.9 3.2 4.4 4.2 4.8 8.4 1.4 14-1.3 2.1-2.3 4-2.3 4.4 0 .6 1 .8 5.5 1.6 6 1 9.5 5.4 9.5 12.2 0 2-.3 3.7-.6 3.7s-2.6-.9-5-1.9c-7-2.9-11-3.6-19.2-3.5-6.2 0-8.3.3-12.6 1.7a58 58 0 0 0-19.5 11.5c-6.4 5.7-10.4 7.5-16.6 7.4q-8.7 0-11.8-5c-1.1-1.8-1.3-2.8-1-6.8.2-2.6.1-4.7 0-4.7-.3 0-2.5 1.4-5 3.1A81 81 0 0 1 778 560a182 182 0 0 1-82.3 9.7"/> + <path d="M706.3 525.2a136 136 0 0 1-97.9-55.7c-24.4-33.2-32-77.1-24.6-117.2 4-18.3 12-36.6 25.5-49.6a115 115 0 0 0-8.7 74.3c9 49.8 51 91.9 101.3 99.2 20 5.7 40.5-.4 59.5-6.5 42-14.8 74-54.6 77.8-99.1 3.3-24-.3-49.1-11.2-71 6.2 3.3 14 16.2 18.6 24.8 16 31 16.7 68.1 7.3 101.2-12.8 42.1-45 79-87.5 92.4a166 166 0 0 1-60 7.2z"/> + <g id="bn-a"> + <path d="M512 469.9c-2.5-.4-5.3 2.1-4.3 4.7 1.8 2.6 5 4 7.8 5.2a54 54 0 0 0 23.2 3.6 50 50 0 0 0 17-3c3-1 6.8-2 8-5.4 1.3-2.1-1-4.3-3.1-3.9-3 .7-6 2-9 2.9a58 58 0 0 1-20.3 2 54 54 0 0 1-14.4-4.2c-1.6-.7-3.1-1.7-4.9-1.9"/> + <path d="M514.8 459.5c-2.5-.4-4.7 2.6-3.7 5 2 2.8 5.3 4.3 8.4 5.6a42 42 0 0 0 17 2.9h1.5a38 38 0 0 0 14.4-2.8c2.7-1.1 6.1-2.2 7.3-5.2.9-1.7.2-4.1-2-4.3-1.8 0-3.5 1.2-5.3 1.7a44 44 0 0 1-20.6 3.2c-4.4-.5-8.5-2.1-12.5-4-1.5-.7-2.8-1.8-4.5-2z"/> + <path d="M518.3 449.6c-2.2-.3-3.7 2.2-3.3 4.1.3 1.8 1.8 3 3.1 4a30 30 0 0 0 18.6 5.3h1.6a28 28 0 0 0 12-2.8c2.5-1 5.4-2.3 6.3-5.2.4-1.3.6-3.2-.9-4-1.6-.8-3.1.5-4.5 1a34 34 0 0 1-15.5 3.9 27 27 0 0 1-13.1-4c-1.5-.7-2.7-2-4.3-2.3"/> + <path d="M481.5 302.7c-3.2 3.3-.7 9.3-1 13.5 1.8 13.2 3.9 26.5 8.8 39 6 12 18.8 18.5 26.5 29.2 2.8 5.1 1.8 11.3 2.4 17q.5 23 0 46c7 3.6 14.5 7 22.5 5.7 4.7-1.1 13.5-1.8 14.5-6.5l-1-79.5c-2.7-8.1-11-12.3-17.1-17.5a156 156 0 0 1-14.2-16.1c-2.6-4.5-12.9-6-9.2 1.6 2.2 6.7 7.7 11.6 9.1 18.6.3 3.9 5 11 1 13.2a25 25 0 0 0-10.7-10c-4.4-3.3-11.7-4.7-13.3-10.5a43 43 0 0 0-11-22c1.5-7.4 0-16.7-6.4-21.5z"/> + <path d="M491.4 304.2c-3 .5-2.8 4.2-1.5 6.2a27 27 0 0 1 1.1 13.4 44 44 0 0 1 10.6 21.7c0 3 3.2 4 5.3 5.5 4.9 3.1 10.3 5.4 14.7 9.3.9 1 1.6 2 1 0-.7-2.6-1-5.4-3-7.3-2.8-3-6.2-5.6-10.2-6.4-.3-4.2-2.3-8-4.1-11.6-2-3.5-4.1-7.2-7.5-9.4 0-6.1 0-12.5-2.6-18.2-.8-1.4-2-3.1-3.8-3.2"/> + <path d="M499.7 306.6c-2 .6-1.6 3.2-1 4.7a54 54 0 0 1 1 13.2c3.9 3 6.2 7.4 8.4 11.6q2.2 4.2 3.1 8.9c3.1 1 5.8 3 8.2 5-1-2.8-3-5-4.5-7.7s-3-5.6-3.7-8.7c-3-3.1-4.6-7.6-4-12 .2-4.7-1.3-9.6-4.5-13.2-.8-.8-1.8-1.7-3-1.8"/> + <path d="M509.2 308c-1.2.2-1.8 1.2-2.4 2.1-.3.9.8 1.8 1 2.8a22 22 0 0 1 1.4 10.4q0 3.9 2 7a4 4 0 0 1 3.5-2.8c.5 0 1.4.2 1-.7q-.4-7.3-2.8-14a10 10 0 0 0-2.8-4.5q-.4-.4-1-.3z"/> + </g> + <use xlink:href="#bn-a" width="100%" height="100%" transform="matrix(-1 0 0 1 1440 0)"/> + <path d="M715.7 476a36 36 0 0 1-29.9-24c.3-2.2 3 1.2 4.3 1.5a19 19 0 0 0 8 2.6c3.5 1.5 5.7 5 9.1 6.9 1.6 1.2 7.2 3.6 6.1-.3-1.3-2-2.2-4.6-1-7 1.8-4.1 4.7-7.7 7.7-11.2 2.1-.7 3.6 3.6 5.1 5 2.1 3.3 4.7 7.3 3.4 11.3-1.2 1.5-2 6 1.3 4.6 4-1.8 7.3-4.8 10.6-7.6 3-2 6.7-2.1 9.7-4 1.5-.3 4.4-3.1 5-1.6a45 45 0 0 1-7.4 12.3 32 32 0 0 1-18.8 10.9q-6.6 1.2-13.2.6"/> + <path d="M731.5 460.2q.4-4-1.7-8-3.3-6.2-8-11.9c-2.8-1.6-4.3 3.7-6.1 5.2-2.9 4.3-6.5 8.7-6.7 14-1.6 2.5-4.6-2-5.9-3.5a19 19 0 0 1-4-12 51 51 0 0 1 3.6-20.6c2-5.6 5.1-11 4.8-17 .2-4.7-.7-9.7-4.4-12.8-3.6-2.8 2.3-3.4 4.1-2 3.2.3 4.9 5.5 7.8 4.2 1.1-2.7 1.4-6 3.8-8.1 2.3-3.2 4.7 1.3 5.5 3.5 1.7 1.8 0 6.5 2.6 6.6 3.2-2.3 5.5-6 9.6-6.9 1.7-1 4.5 0 2.3 1.8-3 2.9-5.6 6.4-6.2 10.7-.9 5.3.4 10.7 2.7 15.4 4.5 9.4 8 20 5.7 30.5-1 4.6-4.2 8.6-8 11.3-.5.3-1.3.3-1.5-.4"/> + <path d="M726.7 389.6a21 21 0 0 0-5.6-7c-2.4 0-3.9 3-5.5 4.6-1.1 2.1-2.5 5.6-5.3 2.9-4.5-2.6-5.2-8.3-5.2-13-.3-7.6 2.8-14.7 5.5-21.6 1.7-4.3 1.3-9.2.2-13.6-1.3-5-5.4-8.6-8.5-12.6.2-1.5 4.2-.7 5.7-.4 3.4.9 5.4 3.8 7.9 6 1.8-.6 1-4.2 1.9-5.9 0-2.4 3.2-5.5 4.5-2.1 2 2.2 0 6.5 2.5 7.8 2.4-.9 3.6-3.5 5.8-4.7a8 8 0 0 1 7.8-.5c.9 2.2-2.6 4-3.6 6a20 20 0 0 0-3.8 18c1.4 5 3.8 9.5 4.7 14.5a40 40 0 0 1-.5 17.2c-.9 3.4-3.8 5.6-6.8 7q-1-1.1-1.7-2.6"/> + <path d="M711.6 326.9c-3.4-2.5-4.5-4.8-4.5-9.5 0-2.3.5-3.6 2-5.8q3.6-4.7-1.3-3.3-7.8 2.3-8-4.3c0-2.2.4-3.1 3.3-6.7q3.6-4.1 2.8-4.8-.6-.7-9 7.8a124 124 0 0 1-11.4 10.6c-9.8 6.6-19.2 7.6-23.5 2.5-2.2-2.6-2.1-4 .4-5.6a27 27 0 0 0 4.4-3.7 86 86 0 0 1 16.1-11.6q5.5-2.9 2.1-3c-3 0-12.5 6.2-19.8 12.8-2.1 2-5.2 4.2-6.8 5a25 25 0 0 1-13.9 1c-2.2-.7-6.3-4.5-6.3-5.9 0-.3 1-1.1 2-1.8a30 30 0 0 0 4.6-3.2c5.8-5 16.8-10.3 25.5-12.2 2.8-.5 1.7-2-1.4-1.8a56 56 0 0 0-25 11.7c-8.3 6.9-20.8 6.2-24.8-1.3-.7-1.3-1.2-2.5-1-2.7a93 93 0 0 0 20.4-7.8 52 52 0 0 1 18.1-6.5c2.8-.5 3-1.9.3-2.2-3.6-.4-9 1.4-18.5 6-12.3 6.1-15.8 7.2-22.2 6.8-6-.4-9.3-1.9-14-6.4-3.2-3-7.6-10.5-6.8-11.4a64 64 0 0 0 15.8 1.3c8.3 0 10.6-.2 15-1.5a84 84 0 0 0 24-12.1 58 58 0 0 1 36.8-13.6c12.4 0 20.2 2.8 27.2 9.9 2.4 2.4 4.4 3.9 4.7 3.6s.6-4.5.7-9.3c0 0 3.7-.4 4.5.7 0 7.7 0 8.4 1.2 8.4q1.2-.1 2-2c1-2.5 5-6 9.2-8.2 9-4.5 24.7-4.7 37.3-.3a62 62 0 0 1 16.7 9.5 90 90 0 0 0 24 12c6.8 2 19 2.5 25.1 1l5.4-1c2.3 0-1.6 7.6-6.2 12.1-8.4 8.2-19.3 8.1-34.6-.1-9.6-5.2-21-8-21-5.2q0 1 1.5 1 5 0 18.7 6.5a54 54 0 0 0 18.3 6.5q3.5 0 .2 4.7-3.5 5-11.7 5c-5.3 0-8.3-1.1-13-5-8-6.6-27.6-14-26.9-10q.2 1 3.2 1.5a56 56 0 0 1 23.1 11l5.9 4.3c1.1.6 1.1.8.2 2.5-1.4 2.8-5.2 4.9-9.2 5.3q-7.6 1-14.5-5c-10-8.3-19.3-14.3-22.3-14.3q-3.7.1 3 3.7a80 80 0 0 1 15.8 11c2 1.9 4.3 3.7 5 4.1 1.9 1 1.8 2.4-.2 5s-5.4 3.8-9.7 3.3c-8.6-.9-15.4-5-26-16a71 71 0 0 0-8.2-7.8q-2 .2 2.2 5c3.4 3.7 4 5.8 2.7 9-1.1 2.6-3 3.3-6.8 2.2q-6-1.5-2 3.1c3.8 4.9 3.3 10.7-1.5 14.8a12 12 0 0 1-3.4 2.3q-.8-.1-2.3-2.4-4.3-6.9-8.7 0l-2 3z"/> + <path d="m726.7 233-5.2 4-4.6-3.4v27.8h9.8z"/> + <path d="M694.9 204.3a88 88 0 0 1-9 32.3l11.1-10.3 7.7 9.2 8.4-9.4 8.5 8 8.2-8.3 8.5 10 7.4-8.2 12.6 9c-4.6-10-10.7-18.6-10-32.8-12.1 9-41 10.6-53.4.4z"/> + <path d="M717 197.6q-7-.2-13.4 1a20 20 0 0 0-7.8 3c.3 8.6 41 12.1 51.9.2a20 20 0 0 0-8.2-3.3c-4-.8-8.6-.8-12.9-1v7.1H717z"/> + <path d="M724.9 154h-6.3v49.4h6.4z"/> + <path d="m724.9 155.2-2.4 23.7 24.3 11.9-12.3-16.5 16.8-5.5zm-2.7-6.1c-3.7 0-6.4 1.4-6.4 3s2.7 3 6.4 3 6.4-1.4 6.4-3-2.7-3-6.4-3"/> + </g> + <g fill="#f7e017"> + <path d="M314 375.9q3.8-1.1 5.3-5.6c.5-1.6.9-3.2.8-3.6-.2-1-1.4-1-2.6.1-.9.7-1 1.1-.8 2.6.7 3.7-.7 4.7-7.7 5.4-.7 0-2.8 0-4.5-.3q-5.1-.6-3.4 1l2.1.9c1.9.5 8.8.2 10.8-.5m14.7-.6c.4-.4 1.7-1 3-1.5q2.4-.6 3.3-2.2c2.1-3 1.7-5.7-1.3-9.3-1.7-2-2.4-1.9-3.7.3-1.2 1.8-1.1 2 .5 2.4q1.4.4 2.1 1.6 2.7 4.8-1.4 5c-2.4 0-3 .4-3.7 2l-.6 1.9c0 .6 1 .5 1.8-.2m-4.8-3.5c.4-1.3.6-3.5.5-8a33 33 0 0 0-.3-6.4c-.4-.4-2.3.8-2.6 1.7a3 3 0 0 0 .5 2.1c.6 1.2.7 2.4.5 7q-.5 8.9 1.4 3.6"/> + <path d="m312.6 369 .7-5c.1-1.7.5-3.8.7-4.7q1-3.5-1.8-1.6l-1.3 1 .2 3.3c.3 3-.2 8.5-.9 10.7q-.3.9.9-.5c.6-.7 1.3-2.2 1.5-3.3zm-10 1.6c2.4-2 2.1-5.6 2.7-8.4 0-1.9 1.2-4.1.4-5.8-2.3.4-3.7 2.6-2.5 4.7 0 2.5 0 5.2-1.3 7.4-1 1.5-4.4 1.1-4.2-1 .8-3-2.9-1.5-4.3-.7-1.1.8-3.5.9-2.6-1-.6-2.7-3.9-1-5.7-1-1.7 0-.1-3.5-2.6-3-4.5-.3-9.5.1-13.5-2.6-2.3-1.1-2-3.9-.7-5.7 1.4-2.4 1.8-5.5 4-7.4 2.3-2.1-2-1.2-3-.5-2.2 1.2-.2 4.3-2 6-1 1.8-2.4 4.2-4.8 3.9-3.5-.7-5.5-4-8-6-2.2-.5-1 3.4.2 4.2a22 22 0 0 0 7.4 3.6c2.6-.5 2.7 3 5 3.5 4 2 8.6 2.5 13.1 2.8 1.8.1.8 3.3 3.1 2.6 1.3.4 4.3-.5 4.4 1-2 2.4 1.9 2.3 3.3 2 1.9-.4 4.2-1 4.7 1.4 1.5 1.7 4.3 1.4 6.2.5z"/> + <path d="M262.8 350.4a24 24 0 0 0 2.4-4.2 16 16 0 0 1 2-3.6q1.6-2-1.4-1.6-1.4.2-1.5 1.5a23 23 0 0 1-2.5 7c-1.7 2.5-1.7 2.6-1 2.6q.6-.2 2-1.7m-25-15.7c-1.9 0-2 1.2-.2 1.8q1.4.4 2.3 2.3c1.7 3.5 2.8 4.2 7.5 4.6l3 .2.2 1.9q.1 1.7.5 1.8l2.6-1c2.2-1.2 4.3-3.8 4.3-5.5 0-1-1.8-2.2-3.4-2.2-.7 0-2 .6-3.1 1.4-3.4 2.4-7 2-9-1.2q-2.3-4-4.7-4zm16.3 6.5q1.3 0 .6 2a.9.9 0 0 1-1.7 0c-.4-1 .1-2 1-2zm126.5-4c-1.3 0-1.6.2-2.4 1.4-1.3 1.9-1.4 6-.2 7.4.7.9.8.9 2.3.2 2.2-.9 2.6-.8 2.5.3 0 3-4.2 8.7-8.6 11.7a10 10 0 0 0-2.4 2c-.3.8 1.3.7 3.3-.4a21 21 0 0 0 7.9-8c1.1-2.3 1.3-3 1.5-7 0-3.8 0-5-.6-6.2-.8-1.4-1-1.5-2.8-1.5h-.5zm.1 2.5c1 0 1 .2 1.2 1.6q.1 1.4-.7 2.3c-.8.7-1 .7-1.6-.4-1-1.6-.4-3.5 1.1-3.5m-20.2 28.5c3.9-2 6.2-4.1 7.6-7.2l1.3-3.1c0-.6-1.9-1.5-3-1.5s-1.4-.8-1-3c.5-2.1 0-4.8-1-4.8q-.7.1-1.3 1.1c-.6 1-.7 1.4-.2 2.7q1 3-1.7 4.9-1.3 1-1.3 2l.1 1 2.1-1 2-1.2 1.1 1q1.1.8 1.2 1.7c0 2.4-6.8 6.4-11.4 6.8-2.5.2-3 0-3.8-.8q-1-1-.7-2l.5-2.6q.5-3-2 .6c-1.2 2-1.6 4.1-.9 5.2.6 1 4.4 1.8 7.2 1.6q2.5 0 5.2-1.4m26-14.5c2.4-2.5 3.5-5.5 3.5-10v-3.5l2-1c2.7-1.2 5.2-3.7 5.2-5.1q0-2.1-1.8.2c-.9 1.1-2 1.8-6 3.7-1 .4-1.1.7-1.4 5-.2 5-1 6.8-3.7 10.2-1.7 2-1.8 2.4-.6 2.4.5 0 1.8-.9 2.8-2zm-26.7-2.8c.2-.7-1.2-1.2-1.7-.6q-.5.4-.2.9c.4.6 1.6.4 1.9-.3m36.8-9.5c.3-.8-1.1-1.3-1.7-.7q-.4.5-.1 1c.4.6 1.6.4 1.8-.3m-44.3-25.9q-1.4 1-2.1 2.3c-.5.3-.1.6.1 1 1.7 1.7 2.4 4.2 3.2 6.5.8 2.7 1.8 5.6 1 8.4-.3 1-1.2 2.1-2.4 1.8-2-.1-4-.7-6-.7-1.9.1-3.3 1.8-5.1 1.6-1.2 0-1.2-2.4-2.2-1.7-.6 1.3-.3 2.7-.4 4q.5.3 1.1.2h3.7c.2 1.2.2 2.7 1 3.7q2 .4 4-.5c1.2-.6 1.4-2.1 1.8-3.3.4-1.3 2-1 3-1.5a6 6 0 0 0 4-5.7c-.2-3.9-1.6-7.4-2.8-11l-1.5-4.9zm-6 21.8c1.3 0 1.9 1.6 1.6 2.7-.5 1.5-2.4.6-2.7-.5-.7-1-.3-2.3 1-2.2z"/> + <path d="M296 324.8q-1 0-2 .7c-3.5 2.5-4.5 5.4-2 6.6q2.6 1.1-1.5 3.2c-4 2-7.5 1.7-14.2-1q-2.3-1-1.7 1c.4 1.5 1.8 2.3 5.1 3 3.6 1 8 .7 10.8-.5a14 14 0 0 0 4.3-3.4l2.2-2.3 2.5.3c3.1.4 3.2.4 3.2 1.9 0 1.2 0 1.2 2.9 1.5l4.7.2q1.9 0 2.4.9c.6.7.9.8 5.6.4 4.4-.4 5.2-.4 7.2.3q2.3.6 4.1.5c3.4-.4 8-3.1 8.7-5.1 0-.3 1.3-.7 2.7-1q5-1.1.4-1.8a23 23 0 0 1-4.6-1.1 12 12 0 0 0-3.5-.9c-1.7 0-3.3 1-3.3 2.2 0 .7.2.8 2.3.6 1.8-.2 2.4-.1 3.4.7q1.1.9 1 1.3c-.5.8-4.5 2.6-6.2 2.9a5 5 0 0 1-3-.5c-1.6-.8-3.8-.9-4.3-.2q-.3.4-1.3-.5l-1-1-2.4 1q-3.4 1.6-3.3-.2c0-.5-.7-.6-4.2-.3-3.9.2-4.3.1-5-.7q-1-.9-.2-1.7c.4-.8.4-1 0-1.5q-.4-.6-2.5 0c-3.9 1-5 .5-5-2.5q-.2-3-2.3-3m-1 2.8q.3 0 .7.4.5.6.3 1.3c-.3.9-2 .9-2.3 0q-.3-.8.5-1.3z"/> + <path d="M288 330.4c2.4-1.5 2.4-1.4 2.7-5.5.2-3 .2-3.2-.6-3.2q-1.8 0-1.8 3.7c0 1.6-.2 2.3-1 3-2 2-6.8 1.1-7.5-1.3q-.3-1 1.1-3c2.1-3 1.7-3.8-1-1.5-1.7 1.6-2 1.6-1.7.3q.4-2-1.8-1.4-1.1.2-1.3 1.6-.3 1.2-1.3 1.5c-1.2.3-3.2-.8-3.2-1.8 0-.7 3-4.4 6.9-8.4 1.4-1.5 2.6-3 2.6-3.1q-.2-.4-1.7-.4-2 0-1.8.8c0 .4-1.9 3-4.3 5.7-5 5.6-5.4 6.7-3 8.2a6 6 0 0 0 6.6-.2l1.6-1.1v2c0 2.5.5 3.5 2.5 4.5a8 8 0 0 0 8-.4m104.4-34.6c-1.8 1.1-.4 3.4 0 5-.8 2-3.5 2.6-5.5 3-2.8.5-4.8 2.8-5.8 5.3-.6 1.6-2 4-3.5 1.6-1.3-1.3-3.7-2.4-5.2-.8-1.2 1.1-1.5 2.7-2 4.2-.7-1.1-1-2.8-2.4-3.2-2.4.3-1.5 3.3-.4 4.5 1 1.5 2 3.3 1 5-1 2-4 3.4-5.7 1.7-1.6-.9-.5-4-2.2-4.2-.8.6-.8 3.9-2.1 2.1-1-1.5-.4-3.6-1.6-4.9-1.3.2-2.4 2.5-2 3.7 1.8 2.4 2.6 5.4 3.3 8.3.4 1.2-.1 3.5 1 4 .7-1.9 0-4 .6-5.9 1.8-.2 3.7.6 5.5.2 2.7-.3 4.7-2.6 5.6-4.9q.3-2.7-.1-5.4c2 .4 4.2.4 6.2 1 1 1.5-.3 3.7-.6 5.3-1 3.4-3.7 5.8-6.2 8-1.1.7-1.2 2.4.3 1.5a15 15 0 0 0 7.5-8c1.1-2.6.2-5.5 1-8.1 1-2 3.5-1.6 5.4-1.6s3.5-2.3 2.9-4.2c-.6-2.2 1.7-3.2 3.2-4 2.1-1 3.7-3.1 3.5-5.5 0-1.3 0-3.6-1.7-3.7m-7.3 12.5c2.2.6-.4 4.8-1.6 2.1-.4-1 .5-2.1 1.6-2.1m-10.3 3c2.9-.1 1.8 4-.6 2.2-1.3-.7-.9-2.2.6-2.2M270 327.6q0-.6-.6-.7c-.7 0-1.2.7-.9 1.3.4.7 1.3.3 1.5-.6m34-3.6q0-1-.8-.8c-1.1.2-1.3 1.7-.1 1.7q.9 0 .9-1zm-42-20.4c-1.3-.3-2.2.9-2.7 2q-1.4 2.8-4 4.3-2 .4-3.9-.8c-1.3-.7-1-2.3-1.6-3.4-1-.8-2.7.3-2.6 1.5-.1 1.6 1.3 2.5 2.6 3.1 1 .7 2.6 1 3 2.3 0 1.1.4 2.4 1.7 2 1.5 0 2 1.8 1.3 2.9a6 6 0 0 0-.7 4c.7.7 1.4-1 2-1.4l1-1.4q4 .4 8 .4c2 0 3.5-1.2 4.7-2.6 1.8-1.8 3.2-3.9 5.1-5.4 1.4-.4.7-3-.8-2.2-1.3.5-1.7 2-2.6 2.9a31 31 0 0 1-5 5.2c-1.5.6-3.1.3-4.6 0-.6-.5 1.2-1 1.5-1.6q1.4-1.1 2.3-2.7c-.5-1-1.9-1-2.9-1-2.4.2-4.3 2.3-6.8 2.5-1.9 0-.9-2 0-2.7q2.5-3 5.1-5.7c.5-.6 2.3-1.2 1.2-2q-.6-.2-1.3-.2m1.2 10c1.3.7-.8 1.8-1.6 1.7-1.1.3-1.2-.8-.2-1q.9-.6 1.8-.7m-3.8 2.6c.7 0 2.2.7.8 1.1-1 .8-2-.8-.8-1.1"/> + <path d="M289.4 317.8c0-1-1.6-.8-1.8.2q-.3.8.8.6 1-.1 1-.8m74.7-6.6c.2-.9-1-1.5-1.7-.8s0 1.9.8 1.7q.6-.1 1-.9zM248 302.1c1.1-1 1.2-1.1.7-3.3-.8-3.1-.7-3.5.5-3.8 1.5-.3 5.3 1.7 6 3.3.8 1.3.7 1.4-.4 2.4-1.2 1.1-1.2 2.4 0 2.4 1 0 3.7-2.6 3.7-3.5 0-1.3-3-4.4-5.4-5.5a11 11 0 0 0-4.6-1c-3.1 0-3.5.7-2.7 4.2q1.4 6.4-3.7 1.6a10 10 0 0 1-3.5-8.6q0-6 5.1-6.6 3.5-.6 0-1.2c-3.6-.6-6.6 1.8-7.7 6-1.3 4.7 1.6 10.4 6.7 13.3 2.7 1.5 3.7 1.6 5.3.3m139.2-5.2q.5-.5.5-1.4.1-1.3 1.1-2.4 1-1.4 1-1.8c0-.8-1.3-.8-2.3 0q-1.8 1.4-2 0l1.2-.9q2.4-1.1.4-2.1c-1.7-.8-3.5.6-3.6 3-.1 1.6 0 1.8 1.2 2.5s1.3 1 1.1 2q-.3 2.6 1.4 1.1m13-1.4q1.6-1.6 1.8-2.2t1.9-2c2.8-2 3.5-4 2.2-7.3-.5-1.3-2-3-5.5-6a26 26 0 0 0-5.4-4.4c-.9 0-.7 3.4.2 3.7 1.7.6 2.8 1.3 5.4 3.7 3.2 2.8 4.6 5.5 3.8 7-.7 1.4-1.7 1-4.5-2a14 14 0 0 0-3.2-2.9q-.5.1-.5 1.4-.1 1.4 2 3.5c2.3 2.6 2.5 4.1.7 5.5l-1.4 1a33 33 0 0 0-9-10q-.5 0-.5 1.4c0 1.3.2 1.7 1.2 2.2a38 38 0 0 1 7 7l1.8 2zm6-16.8c-.5-1.2-8.4-9.4-9.3-9.4q-.6 0-.4 1.8c0 1.6.3 1.8 1.4 2.1a20 20 0 0 1 4.6 3.7 17 17 0 0 0 3.7 3zm-47.8 92.6a1.2 1 0 1 1-2.3 0 1.2 1 0 1 1 2.3 0m4.2-1.4a1.2 1 0 1 1-2.4 0 1.2 1 0 1 1 2.4 0"/> + </g> +</svg> diff --git a/apps/web/public/flags/bo.svg b/apps/web/public/flags/bo.svg new file mode 100644 index 00000000..7658e3f6 --- /dev/null +++ b/apps/web/public/flags/bo.svg @@ -0,0 +1,673 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bo" viewBox="0 0 640 480"> + <path fill="#007934" d="M0 0h640v480H0z"/> + <path fill="#ffe000" d="M0 0h640v320H0z"/> + <path fill="#d52b1e" d="M0 0h640v160H0z"/> + <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m368.6 210.7-98 97.9-1.3-1 98-97.8 1.3 1z"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M374.7 204.5c-.4.7-1.4 2.5-1 3.8l-2-1.5q.7 1.4-.1 1.8c-.3.4-1.4.3-2.1.2q1 .7 2.4 1h2c-.7.3-2.2.8-3.3 1-.5.1-1.6.2-2 0-.6.5-1.9-.4-1.3-1q-.4-.5-.4-1.4-.1-1.2.7-3l.5 1.7q.4.8 1.1 1.4-.5-.8.1-1.8.9-.7 2-.2l-1.9-1.3c.8 0 3.3-1 4.1-1.5l4.9-3.8z"/> + <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m387 222.8-125.7 70.9-.9-1.2 125.7-71 1 1.3z"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M394.9 218.3c-.6.6-2.2 2-2.2 3.4l-1.4-2q.2 1.4-.7 1.7c-.4.4-1.4 0-2-.3a5 5 0 0 0 2 1.5l1.7.6c-.6.1-2.3.3-3.4.2-.5 0-1.5-.2-1.9-.6-.7.4-1.6-.8-1-1.2l.2-1.4q.3-1.2 1.6-2.8v1.8q.1.7.5 1.6-.2-1 .7-1.7 1-.5 2 .3l-1.4-1.7c.8.1 3.5-.2 4.4-.5l6-2.5c-1.7 1-4.6 3-5.1 3.6z"/> + <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m376.3 217.5-113 85.2-1-1.1 112.9-85.2 1.1 1z"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M383.4 212.1c-.5.6-1.8 2.3-1.6 3.6L380 214q.4 1.4-.4 1.7c-.4.4-1.5.2-2.1 0q.9.8 2.2 1.2l1.9.3c-.7.3-2.3.6-3.4.6-.5 0-1.6 0-2-.3-.6.5-1.7-.6-1.1-1.1q-.2-.5-.1-1.4a6 6 0 0 1 1.1-3l.2 1.8q.3.8.9 1.6-.4-.9.4-1.8 1-.5 2 0l-1.6-1.5c.7 0 3.3-.6 4.2-1s3.8-2 5.5-3.1c-1.4 1.2-4 3.5-4.4 4z"/> + <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m271.4 210.7 98 97.9 1.3-1-98-97.8-1.3 1z"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M265.3 204.5c.4.7 1.4 2.5 1 3.8l2-1.5q-.7 1.4.1 1.8c.3.4 1.4.3 2.1.2q-1 .7-2.4 1h-2c.7.3 2.2.8 3.3 1 .5.1 1.6.2 2 0 .6.5 1.9-.4 1.3-1q.4-.5.4-1.4.1-1.2-.7-3l-.5 1.7q-.4.8-1.1 1.4.5-.8-.1-1.8-.9-.7-2-.2l1.9-1.3c-.8 0-3.3-1-4.1-1.5l-4.9-3.8z"/> + <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m253 222.8 125.7 70.9c.2-.3.6-1 .9-1.2l-125.7-71-1 1.3z"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M245.1 218.3c.6.6 2.2 2 2.2 3.4l1.4-2q-.2 1.4.7 1.7c.4.4 1.4 0 2-.3a5 5 0 0 1-2 1.5l-1.8.6c.7.1 2.3.3 3.4.2.6 0 1.6-.2 2-.6.7.4 1.6-.8 1-1.2l-.2-1.4a6 6 0 0 0-1.6-2.8v1.8q-.1.7-.5 1.6.2-1-.7-1.7-1-.5-2 .3l1.4-1.7a17 17 0 0 1-4.4-.5l-6-2.5c1.7 1 4.6 3 5.1 3.6z"/> + <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m263.7 217.5 113 85.2 1-1.1-112.9-85.2-1.1 1z"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M256.6 212.1c.5.6 1.8 2.3 1.6 3.6l1.7-1.7q-.4 1.4.4 1.7c.4.4 1.5.2 2.1 0a5 5 0 0 1-2.2 1.2l-1.9.3c.7.3 2.3.6 3.4.6.5 0 1.6 0 2-.3.6.5 1.7-.6 1.1-1.1q.2-.5.1-1.4a6 6 0 0 0-1.1-3l-.2 1.8q-.3.8-.9 1.6.4-.9-.4-1.8-1-.5-2 0l1.6-1.5a15 15 0 0 1-4.2-1c-1-.4-3.8-2-5.5-3.1 1.4 1.2 4 3.5 4.4 4z"/> + <path fill="#00e519" stroke="#000" stroke-width=".1" d="M300.1 283.4c4-2.6 15.1-4 16.7-3.6-8 6-16 6.3-16.7 3.7z"/> + <path fill="#ffe533" stroke="#000" stroke-width=".1" d="M300.2 283.5c.7 2.6 8.7 2.4 16.6-3.6a69 69 0 0 1-16.6 3.6z"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M300.2 283.5c.7 2.6 8.7 2.4 16.6-3.6a69 69 0 0 1-16.6 3.6z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M300.1 283.4a41 41 0 0 1 16.7-3.6c-8 6-16 6.3-16.7 3.6z"/> + <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M347.6 220.2 322 272.5c-1.3 1-2.3-.3-2.7-.2-1.5 1.7-3.6 2-4 2.5-1.8 2.4-.8 4.3-.7 4.5 1.3 1.8-1.6 3.5-1.5 4-.6 1-2.7.9-3.1 2l-4.8 9.3c-.6.5-3.7 6.1-3.7 6.1-2 0-10.2-5.2-10.4-5.1 4.6-7.3 15.6-18.5 15.3-19.2 3.1-5.2 8-10.9 10.1-10.8 3-1.6 4.5-5.7 4-6.6 2.2 0 3.5-1.4 3.6-1.5l18.8-37.6c1.6-.5 1.4.1 1.9 1 0 0 1-1.2.9-1.3.9-.4 1.8.2 1.8.6z"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M348.6 208.8c-.6 1 .2 1 .5 1.1l1 .3c1.3 0 2 .7 2 1l-30 61.3c-1.3 1-2.5-.3-2.9-.1l20.6-41.8 10-18.8-2.8-1.2q-1.2-.4-.7-1.6l12.6-21.6-10.2 21-.1.4"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M348.6 208.8c-.6 1 .2 1 .5 1.1l1 .3c1.3 0 2 .7 2 1l-30 61.3c-1.3 1-2.5-.3-2.9-.1l20.6-41.8 10-18.8-2.8-1.2q-1.2-.4-.7-1.6l12.6-21.6-10.2 21-.1.4"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M308.8 272.4c-3 0-4.6 2-2.7 4.7m1.4-2.4c-1 .6-1.7-.3-1.7-.3m15.2-13c-1.5 5.6-4.3 9.3-5 10.4-2 2.2-3.9 7.2-3.5 8.1l-8.1 13.3"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M322 272.7c-1.4-.5-5.7-4.5-10-3.8-3.3 3.8-5.3 7.7-5.9 8.2q6.1 4.9 7.6 5.4c.7-.4 1-1.5 1-1.5.9-1-.2-1.7-.2-1.7.2-2.5 2-4.2 3.8-4.3 2.2-.2 1.6-.4 1.9-.4 1-.6 1.8-1.9 1.8-1.9z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M322 272.7c-1.4-.5-5.7-4.5-10-3.8-3.3 3.8-5.3 7.7-5.9 8.2q6.1 4.9 7.6 5.4c.7-.4 1-1.5 1-1.5.9-1-.2-1.7-.2-1.7.2-2.5 2-4.2 3.8-4.3 2.2-.2 1.6-.4 1.9-.4 1-.6 1.8-1.9 1.8-1.9z"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M317.6 272.8c-2 0-4 .9-4.8 2.6l4.8-2.6"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M317.6 272.8c-2 0-4 .9-4.8 2.6m-3.5.7q.3.6 1.1.5.9-.4.6-1-.4-.8-1.2-.5t-.5 1zm2.5-3.4q.3.6 1.2.4.8-.3.5-1t-1.2-.5q-.8.4-.5 1z"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M345.3 226.1q1.3-.5.8-2l-4.7-1.7s-.6 0-1 .7.1 1.2.1 1.2l4.8 1.8"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M345.3 226.1q1.3-.5.8-2l-4.7-1.7s-.6 0-1 .7.1 1.2.1 1.2l4.8 1.8"/> + <path fill="#00e519" stroke="#000" stroke-width=".1" d="M294.5 286c3.9-2.7 15-4.2 16.6-3.8-7.8 6.2-15.8 6.5-16.6 3.9z"/> + <path fill="#ffe533" stroke="#000" stroke-width=".1" d="M294.6 286c.7 2.7 8.7 2.3 16.5-3.8a62 62 0 0 1-16.5 3.9z"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M294.6 286c.7 2.7 8.7 2.3 16.5-3.8a62 62 0 0 1-16.5 3.9z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M294.6 286a40 40 0 0 1 16.6-3.9c-7.9 6.2-16 6.6-16.6 4z"/> + <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m340.7 222-24.4 52.8c-1.3 1-2.4-.3-2.7-.2-1.5 1.7-3.6 2.1-4 2.5-1.8 2.5-.7 4.4-.6 4.6 1.3 1.8-1.5 3.5-1.4 4-.6 1-2.7.9-3.1 2.1-.1-.1-4.2 8.4-4.6 9.3-.6.5-3.5 6.2-3.5 6.2-2.1 0-10.3-5-10.5-5 4.4-7.3 15.1-18.7 14.9-19.4 3-5.3 7.7-11 9.9-11 3-1.6 4.3-5.7 3.7-6.6 2.3-.1 3.5-1.5 3.7-1.6l18-37.8c1.6-.6 1.3 0 1.9 1 0 0 1-1.2.9-1.4.9-.4 1.7.2 1.8.6z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m340.7 222-24.4 52.8c-1.3 1-2.4-.3-2.7-.2-1.5 1.7-3.6 2.1-4 2.5-1.8 2.5-.7 4.4-.6 4.6 1.3 1.8-1.5 3.5-1.4 4-.6 1-2.7.9-3.1 2.1-.1-.1-4.2 8.4-4.6 9.3-.6.5-3.5 6.2-3.5 6.2-2.1 0-10.3-5-10.5-5 4.4-7.3 15.1-18.7 14.9-19.4 3-5.3 7.7-11 9.9-11 3-1.6 4.3-5.7 3.7-6.6 2.3-.1 3.5-1.5 3.7-1.6l18-37.8c1.6-.6 1.3 0 1.9 1 0 0 1-1.2.9-1.4.9-.4 1.7.2 1.8.6z"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M341.4 210.6c-.5 1 .3 1 .6 1.2l1 .3q2 .2 2 1l-28.7 61.7c-1.3 1-2.5-.3-2.9 0l19.7-42.2 9.6-19-2.8-1q-1.2-.4-.7-1.7l12-21.8-9.6 21.1-.2.4"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M341.4 210.6c-.5 1 .3 1 .6 1.2l1 .3q2 .2 2 1l-28.7 61.7c-1.3 1-2.5-.3-2.9 0l19.7-42.2 9.6-19-2.8-1q-1.2-.4-.7-1.7l12-21.8-9.6 21.1-.2.4"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M303 275c-3-.2-4.6 2-2.6 4.6m1.3-2.4c-1 .6-1.7-.3-1.7-.3m15-13.3c-1.5 5.7-4.2 9.4-4.7 10.6-2.2 2.2-3.9 7.3-3.5 8.1l-7.8 13.4"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M316.1 275c-1.3-.5-5.8-4.5-10-3.7-3.3 3.9-5.1 7.8-5.7 8.3a50 50 0 0 0 7.7 5.3c.7-.4 1-1.5 1-1.5.8-1-.2-1.8-.2-1.8 0-2.4 1.8-4.2 3.6-4.3 2.2-.2 1.6-.4 1.9-.4 1-.6 1.7-2 1.7-2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M316.1 275c-1.3-.5-5.8-4.5-10-3.7-3.3 3.9-5.1 7.8-5.7 8.3a50 50 0 0 0 7.7 5.3c.7-.4 1-1.5 1-1.5.8-1-.2-1.8-.2-1.8 0-2.4 1.8-4.2 3.6-4.3 2.2-.2 1.6-.4 1.9-.4 1-.6 1.7-2 1.7-2z"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M311.8 275.1c-2 0-4 1-4.7 2.7l4.7-2.7"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M311.8 275.1c-2 0-4 1-4.7 2.7m-3.6.8q.4.6 1.2.4.8-.4.5-1t-1.2-.5q-.8.4-.5 1zm2.4-3.5q.4.6 1.3.5.8-.4.5-1-.4-.8-1.2-.5t-.6 1z"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M338.5 228q1.3-.5.7-2l-4.7-1.6s-.5 0-1 .7.2 1.2.2 1.2l4.8 1.8"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M338.5 228q1.3-.5.7-2l-4.7-1.6s-.5 0-1 .7.2 1.2.2 1.2l4.8 1.8"/> + <path fill="#00e519" stroke="#000" stroke-width=".1" d="M340.6 283.3a39 39 0 0 0-16.8-3.7c8 6.1 16.1 6.3 16.8 3.7z"/> + <path fill="#ffe533" stroke="#000" stroke-width=".1" d="M340.6 283.3c-.7 2.7-8.8 2.4-16.8-3.6a63 63 0 0 0 16.8 3.6z"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M340.6 283.3c-.7 2.7-8.8 2.4-16.8-3.6a63 63 0 0 0 16.8 3.6z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M340.6 283.3c-4.2-3-15.8-4-16.9-3.7 8 6 16.2 6.3 16.9 3.6z"/> + <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m292.7 219.3 25.7 52.9c1.3 1 2.4-.3 2.7-.2 1.6 1.7 3.7 2.1 4.2 2.5 1.8 2.4.8 4.4.7 4.6-1.4 1.8 1.5 3.5 1.4 4.1.6 1 2.7.8 3.2 2l4.8 9.3c.7.5 3.7 6.2 3.7 6.2 2.1 0 10.3-5.3 10.5-5.2-4.6-7.3-15.7-18.7-15.4-19.4-3.1-5.2-8.1-11-10.2-10.9-3-1.6-4.5-5.7-4-6.6-2.3 0-3.6-1.5-3.7-1.6l-19-37.9c-1.6-.5-1.3.1-1.9 1 0 0-1-1.2-.9-1.3-.9-.5-1.8.2-1.8.5z"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M291.7 207.8c.5 1-.2 1-.5 1.2l-1.1.3c-1.2 0-1.9.7-1.9 1l30.2 61.9c1.3 1 2.5-.3 3-.1l-20.8-42.3-10-19 2.7-1.1q1.2-.3.7-1.6l-12.7-21.9 10.2 21.2.2.4"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M291.7 207.8c.5 1-.2 1-.5 1.2l-1.1.3c-1.2 0-1.9.7-1.9 1l30.2 61.9c1.3 1 2.5-.3 3-.1l-20.8-42.3-10-19 2.7-1.1q1.2-.3.7-1.6l-12.7-21.9 10.2 21.2.2.4"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M331.9 272.1c3 0 4.6 2.1 2.7 4.7m-1.4-2.3c1 .6 1.7-.4 1.7-.4M319.5 261c1.6 5.7 4.4 9.5 5 10.6 2.2 2.2 4 7.3 3.7 8.2l8.1 13.4"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M318.6 272.4c1.3-.4 5.7-4.6 10-3.8 3.4 3.8 5.4 7.7 6 8.2q-6.1 5-7.7 5.5c-.7-.4-1-1.5-1-1.5-.9-1 .2-1.8.2-1.8-.1-2.4-2-4.2-3.8-4.3-2.3-.2-1.6-.4-2-.4-1-.6-1.7-1.9-1.7-1.9z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M318.6 272.4c1.3-.4 5.7-4.6 10-3.8 3.4 3.8 5.4 7.7 6 8.2q-6.1 5-7.7 5.5c-.7-.4-1-1.5-1-1.5-.9-1 .2-1.8.2-1.8-.1-2.4-2-4.2-3.8-4.3-2.3-.2-1.6-.4-2-.4-1-.6-1.7-1.9-1.7-1.9z"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M323 272.5c2 0 4 1 4.8 2.7l-4.8-2.7"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M323 272.5c2 0 4 1 4.8 2.7m3.6.6a1 1 0 0 1-1.2.5.7.7 0 0 1-.5-1q.3-.7 1.2-.5.8.4.5 1zm-2.5-3.4q-.4.6-1.3.5-.7-.4-.5-1 .4-.8 1.2-.5t.6 1z"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M295 225.4a1.4 1.4 0 0 1-.8-2l4.8-1.8s.5.1 1 .7-.2 1.2-.2 1.2l-4.8 1.9"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M295 225.4a1.4 1.4 0 0 1-.8-2l4.8-1.8s.5.1 1 .7-.2 1.2-.2 1.2l-4.8 1.9"/> + <path fill="#00e519" stroke="#000" stroke-width=".1" d="M345.6 286a38 38 0 0 0-16.6-3.8c7.9 6.2 15.9 6.5 16.6 3.9z"/> + <path fill="#ffe533" stroke="#000" stroke-width=".1" d="M345.6 286c-.8 2.7-8.7 2.3-16.5-3.8a62 62 0 0 0 16.5 3.9z"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M345.6 286c-.8 2.7-8.7 2.3-16.5-3.8a62 62 0 0 0 16.5 3.9z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M345.6 286a40 40 0 0 0-16.6-3.9c7.8 6.2 15.9 6.6 16.6 4z"/> + <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m299.5 222 24.4 52.8c1.3 1 2.3-.3 2.7-.2 1.5 1.7 3.6 2.1 4 2.5 1.7 2.5.7 4.4.6 4.6-1.4 1.7 1.5 3.5 1.4 4 .5 1 2.6.9 3 2.1.2-.1 4.2 8.4 4.7 9.3.6.5 3.5 6.2 3.5 6.2 2 0 10.3-5 10.5-5-4.4-7.4-15.2-18.7-15-19.4-2.9-5.3-7.7-11-9.8-11-3-1.6-4.3-5.7-3.7-6.6-2.3-.1-3.6-1.5-3.7-1.6L304 222c-1.6-.6-1.4 0-2 1 0 0-.9-1.2-.8-1.4-.9-.4-1.8.2-1.8.6z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m299.5 222 24.4 52.8c1.3 1 2.3-.3 2.7-.2 1.5 1.7 3.6 2.1 4 2.5 1.7 2.5.7 4.4.6 4.6-1.4 1.7 1.5 3.5 1.4 4 .5 1 2.6.9 3 2.1.2-.1 4.2 8.4 4.7 9.3.6.5 3.5 6.2 3.5 6.2 2 0 10.3-5 10.5-5-4.4-7.4-15.2-18.7-15-19.4-2.9-5.3-7.7-11-9.8-11-3-1.6-4.3-5.7-3.7-6.6-2.3-.1-3.6-1.5-3.7-1.6L304 222c-1.6-.6-1.4 0-2 1 0 0-.9-1.2-.8-1.4-.9-.4-1.8.2-1.8.6z"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M298.8 210.6c.4 1-.3 1-.6 1.2l-1 .3q-2 .2-2 1l28.7 61.7c1.3 1 2.5-.3 2.9 0L307 232.5l-9.6-19 2.7-1q1.4-.4.8-1.7L288.8 189l9.7 21.1.2.4"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M298.8 210.6c.4 1-.3 1-.6 1.2l-1 .3q-2 .2-2 1l28.7 61.7c1.3 1 2.5-.3 2.9 0L307 232.5l-9.6-19 2.7-1q1.4-.4.8-1.7L288.8 189l9.7 21.1.2.4"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M337.2 275c3-.2 4.5 2 2.6 4.6m-1.4-2.4c1 .6 1.8-.3 1.8-.3m-15-13.3c1.4 5.7 4.2 9.4 4.7 10.6 2.1 2.2 3.8 7.3 3.5 8.1l7.8 13.4"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M324 275c1.4-.5 5.8-4.5 10.1-3.7 3.2 3.9 5.1 7.8 5.7 8.3a54 54 0 0 1-7.8 5.3c-.6-.4-1-1.5-1-1.5-.7-1 .3-1.8.3-1.8 0-2.4-1.8-4.2-3.6-4.3-2.3-.2-1.6-.4-2-.4-1-.6-1.7-2-1.7-2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M324 275c1.4-.5 5.8-4.5 10.1-3.7 3.2 3.9 5.1 7.8 5.7 8.3a54 54 0 0 1-7.8 5.3c-.6-.4-1-1.5-1-1.5-.7-1 .3-1.8.3-1.8 0-2.4-1.8-4.2-3.6-4.3-2.3-.2-1.6-.4-2-.4-1-.6-1.7-2-1.7-2z"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M328.4 275.1c2 0 4 1 4.7 2.7l-4.7-2.7"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M328.4 275.1c2 0 4 1 4.7 2.7m3.6.8a1 1 0 0 1-1.2.4q-.8-.4-.6-1 .4-.7 1.3-.5.7.4.5 1zm-2.5-3.5q-.4.6-1.2.5-.8-.4-.5-1 .4-.8 1.2-.5t.5 1z"/> + <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M301.6 228q-1.2-.5-.7-2l4.7-1.6s.6 0 1 .7-.2 1.2-.2 1.2l-4.8 1.8"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M301.6 228q-1.2-.5-.7-2l4.7-1.6s.6 0 1 .7-.2 1.2-.2 1.2l-4.8 1.8"/> + <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m315.3 250.7 35.5-38-1.4-.9-35.6 38z"/> + <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M349.8 212.2c-1.2-1-3.4-2.2-5-1.8-.5-2.2 2.5-4.4 3.8-4-.3 2.3 3.2 3.8 3.1 3.8z"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M352.1 210.4c1 .8 1.4.8 2.8 1.6 1.4.7 3.2-1.1 4.1-1.7 0 0 1 3.4-1.1 5.6-2 2.3-4.6 2.8-6.5 2.1 0 0 2.6-2.5 1.5-3.6-1-1.1-1.4-1.2-2.5-1.9"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M-27.7-406.5h4.1v2.2h-4.1z" transform="matrix(-.67726 .73575 -.82314 -.56784 0 0)"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m308.2 290.3-1 9 1.8-2.2c.3-.6 1.5-2.1 1.8-7.4 0 0-1-2.9-1.4-2.9-.7-.4-1.2 3.5-1.2 3.5zm2.2-20.1-2.7 15.8c0 .5 1.3 1.6 2.1-1.2l1.5-10.5z"/> + <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m315.9 284.6-1.4-2-.4 3.1s2 1.5 1.7 4.3l.4-.6.2-1s.5-2 .5-3.1z"/> + <path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M307.3 299.4s3.3-3 3.5-9.7l.4-1.9s0 1.5.8.4c.6-1.5.6-2.8.6-2.8s1.2-1.6 1.6.3l-1.2 9.6-.3 2s-.7-1-1.4.1-1.8 2.7-4 2zm4-25.1-1.5 10.5s1.2.6 1.4 3c.1 1.2.6.6.8.4.2-.8 0-2.3 0-2.3l.6-7.3s-1.2-3.4-1.3-4.3z"/> + <path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m310.1 298.8-.2 2.6s1 0 1.7-1.2c.8-1.1 1-2.8 1-2.8s-.7-1.1-1.3 0c-.5 1-1.2 1.4-1.2 1.4zm1.8-10.6c.6-1 .8-2.6.7-2.8l-.7.5c.2 1.2 0 2.3 0 2.3z"/> + <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M315.3 287.1a4 4 0 0 0-1.3-1.5l-1.5 12s-.4 3-2.3 3.7c0 0 1.1 10.3 4.5 7.5.4-.4 1-3.6.9-5.5l-.9-6a27 27 0 0 1 .5-4.7l.6-2.6c.2-.2 0-1.8-.5-2.9z"/> + <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m316.9 285.3 1 1c.3 0-2.3 19.3-2.3 19.3s0-2-.7-6c-.6-3.2.2-7.5.9-9.6 0 0 .8-.5 1-4.7z"/> + <path fill="#f7e214" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m312.6 278.8-.7 7.1s1.8-2.4 2.2-.2l.4-3.2s-1.5-2.4-2-3.7z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M311.3 287.8s-.6-6.1-3.6-1.8a10 10 0 0 0 0 3c0 .8.9 1.8 1.2 2.3.7 1 1.3-.2 1.3-.2s.7-1 1-3.3z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M287.8 237c-.1-3.5-1.2-9.3-1.3-13.3l-12-12.2s-1.4 9.9-5.8 15.5l19 10"/> + <path fill="#ffe000" stroke="#000" stroke-width=".1" d="M288.7 237.3c.5-2.4 1-5 1.5-10.2l-7.7-7.6c0 3.2-3.6 8.1-3.9 14"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M295.3 244.7c1-4.3-1.3-4.8 2-10.8l-7.2-6.8c-1.3 4-2.2 6.6-2 10l6 4.4"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M267.6 270c-1.5-4.2.5-12.7.2-18-.1-3.5 2.5-16.7 2.4-20.6l-14.1-8.8s-.6 14.3-2.3 29.9q-2 12.1-.4 21.5c1.5 8.7 3 12.2 6.5 15.9 6.3 6.5 19.7 2.7 19.7 2.7 11.3-2.3 17.8-9.4 17.8-9.4s-3.7.8-9.6 1.4c-13-.9-18.2 2.4-18.6-11"/> + <path fill="#f7e214" stroke="#000" stroke-width=".1" d="m305.4 278.8.2-.1-5.9 1.9-8 .6c-17.2.4-15-10.3-14.3-27.5.1-6.6 1.4-14.8 1-17.7l-11.5-6.6c-3.8 10.6-2.6 18-3.3 23.5-.4 6-1.7 17.4.2 22.4 2.7 11.6 11.8 11.2 24.2 10.1 6.1-.5 9.4-2 9.4-2l8-4.6"/> + <path fill="#007a3d" stroke="#000" stroke-width=".1" d="M305.6 278.5a34 34 0 0 1-6 2.2l-8 .8c-12.5 1-19.8-7.7-18.2-27.6 0-7 .2-10.2 2.6-19.5l7 4v.7c-.5 2-1.5 7-1.5 9.2 0 16 10.1 28.2 23.9 30.3h.2"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M260 230.6c1 2 8 12.5 12 14.5m-11-7.6c1.3 2 9.8 14 13.6 14.6m-15.5 3.6c2 2.4 4 7 9.7 10m-7 3.3c4 3.7 13.6 11.6 23 12m-23-6c2 2.3 6.2 13.3 24 8.3m-26.7-6.3c1.2 2.6 10.1 17.3 26 11.6"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M277.8 264.8c-1.5-4.3.5-12.7.2-18.1-.1-3.5 1.5-15.5 1.5-19.5l-13.2-9.9s-.6 14.3-2.3 30a84 84 0 0 0-1.5 23.9c1.8 10 6.6 12.8 7.5 13.6 6.7 6 22 5.4 23.5 4.9 10.8-4 15.6-10.8 15.6-10.8s-5.2-.1-11.1.5c-13-1-19.7-.4-20.1-13.8"/> + <path fill="#ffe000" stroke="#000" stroke-width=".1" d="M315.6 273.5h.2l-5.9 1.8-8 .6c-17.2.5-15-10.2-14.3-27.5.1-6.5.3-12.4 0-15.3l-10.3-7.6c-3.8 10.7-2.8 16.7-3.5 22.2-.4 5.8-1.7 17.3.2 22.3 2.7 11.7 11.8 11.2 24.2 10.2 6.1-.5 9.4-2.1 9.4-2.1l8-4.6"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M315.9 273.4c-2.4 1.2-6 2.1-6 2.1l-8 .8c-12.5 1-19.8-7.7-18.2-27.6 0-7-.3-7.5 2.2-16.9 3.8 2.5 11.1 8.8 11.1 8.8s-2 2.8-1.5 6.7c0 16 6.4 24 20.2 26.1l1.5-13"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M270.1 225.3c1.2 2 8.1 12.6 12 14.6m-10.8-7.7c1.2 2 9.7 14 13.5 14.7m-15.5 3.6c2 2.3 4 7 9.7 10m-7 3.3c4 3.6 13.6 11.6 23 12m-23-6c2 2.3 6.2 13.2 24 8.3m-26.7-6.4c1.2 2.7 10.1 17.3 26 11.7"/> + <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="m256.2 224-.7 6q-.2 6.6.1 9.8c0 .2.9 5.5.6 5.8-1 1.1-1.1 1.2-2.2.4-.1-.2.5-5.6.5-6.3l.4-9.9c0-1 1-6.4 1-6.4s0-1.2.3.5"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m256.2 224-.7 6q-.2 6.6.1 9.8l.7 5.8c-1 1.1-1.2 1.6-2.3.7-.1-.2.5-5.9.5-6.6l.4-9.9c0-1 1-6.4 1-6.4s0-1.2.3.5z"/> + <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M256 222.2s-1 6-1.2 9.6l-.3 7.9-.5 4.5c-.1.7.1.2 0 .2-.9.5-1.5.1-2-.3-.2-.1 1.4-3.8 1.4-4.5.9-10.8 2.4-17 2.4-17s-.6 3.7.3-.4"/> + <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M256 222.2s-1 6-1.2 9.6l-.3 7.9-.5 4.5c-.1.7.1.2 0 .2-.9.5-1.5.1-2-.3-.1-.1 1.4-3.8 1.5-4.5.8-10.8 2.3-17.1 2.3-17.1s-.6 3.8.3-.3zm-.4 17.3s-1 .4-1 .2m0-1.3s.7 0 .8-.2m0-1s-.6.3-.8 0m.8-1.6h-.6m.6-1.5h-.6m.5-2.1s-.3.1-.4-.1m.5-1.7h-.5m-.5 9.5s-.9.2-1-.1m1.1-2s-.9.1-1-.1m1-1.3h-.7m.9-1.5h-.7m.7-1.7h-.5m.7-1.5h-.6m.6-1.7s-.4.3-.4 0m0 9s-.9 0-.9-.3m12.8-19.8-.7 6a63 63 0 0 0 0 9.8c0 .3 1 5.5.7 5.8-1 1.2-1.1 1.3-2.2.4-.1-.1.5-5.5.5-6.3l.4-9.8c0-1.1 1-6.5 1-6.5s0-1.1.3.6"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m266.4 218.7-.7 6a73 73 0 0 0 .1 9.8l.7 5.8c-1 1.2-1.2 1.6-2.3.7-.1-.1.5-5.8.5-6.6l.4-9.8c0-1.1 1-6.5 1-6.5s0-1.1.3.6z"/> + <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M266.3 217s-1.2 6-1.3 9.5l-.3 8-.5 4.4v.3c-.9.5-1.5 0-2-.4-.2 0 1.4-3.7 1.4-4.5a127 127 0 0 1 2.4-17l.3-.4"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M266.3 217s-1.2 6-1.3 9.5l-.3 8-.5 4.4v.3c-.9.5-1.5 0-2-.4-.2 0 1.4-3.7 1.4-4.5.9-10.8 2.4-17 2.4-17zm-.5 17.2s-1 .5-1 .2m0-1.2s.7 0 .8-.3m0-1s-.6.4-.8.1m.7-1.7h-.5m.6-1.5h-.6m.5-2s-.4 0-.4-.2m.5-1.7h-.5m-.5 9.6s-.9.1-1-.2m1.1-1.9s-.9 0-1-.2m1-1.3h-.7m.9-1.4h-.7m.7-1.7-.5-.1m.7-1.4-.6-.1m.6-1.6s-.4.2-.4 0m0 9s-.9 0-.9-.4"/> + <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M274.3 211.3s.5 5.1.2 8c-.3 3.5-.3 4.5-.6 6.6v3.9c.8.5 1.5.2 2 0 .3-.1-1-3.3-1-4 .5-8.9-.4-14.3-.4-14.3l-.2-.2"/> + <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M274.3 211.3s.5 5.1.2 8c-.3 3.5-.3 4.5-.6 6.6v3.8c0 .5-.1 0 0 .1.8.5 1.4.2 2 0 .2-.1-1-3.3-1-4 .5-9-.4-14.3-.4-14.3zm-.3 14.6s.9.2 1 0m-.8-1.7s.9.2 1 0m-1-1.2h.9m-.8-1.2h.7m-.5-1.4h.5m-.5-1.3h.5m-.4-1.4s.4.2.4 0m-1 7.4s1 .1 1-.1"/> + <path fill="#005000" stroke="#000" stroke-width=".1" d="M306 221.7h.8z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M316.7 256.4s-.3-.2-.4 0l.1.2zm-1 1.1 2.1-.1"/> + <path fill="#e8a30e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M292.2 284.2c-.2 3-7.4 6.6-12.7.1-5.7-4.5-4.5-11.4 0-12.3l54.7-53.3c2.2-1.2 2.4-2.3 3.5-3.5 2.3 2.5 7 6.8 9.6 9q-2.6 1.9-3.2 3.5z"/> + <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M337.8 215c2.6-3.5 12.8 5.8 10 8.7-2.6 2.8-12.4-5-10-8.6z"/> + <path fill="#cccccf" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M347 223c-2 1.4-9.3-4.8-8.1-7.2 2-2.2 10.1 5.7 8 7.2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M344 227.9a16 16 0 0 1-9.9-9m-23 44.8a16 16 0 0 1-11.4-11.6m9.1 14.3a16 16 0 0 1-11.4-11.6m-2.1 25.8c-5.8-1.8-10.4-6-12.2-12.1m9.8 14.8a18 18 0 0 1-12.3-12.2"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M279.4 285q-.4 2-2.1 1.4m13.7-2c-2.1 3.5-4.5 2.4-6.5 2.5"/> + <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M276.4 285.2q.2 1.6 1.7 1.6a2 2 0 0 0 1.7-1.6q-.1-1.6-1.7-1.6c-1.6 0-1.7 1-1.7 1.9"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M279.5 284.9q-.5 2-2 1.3m13.5-1.7c-2.1 3.4-4.5 2.3-6.5 2.4"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m331.8 290.3 1 9-1.8-2.2c-.3-.6-1.5-2.1-1.8-7.4 0 0 1-2.9 1.4-2.9.7-.4 1.2 3.5 1.2 3.5zm-2.2-20.1 2.7 15.8c0 .5-1.3 1.6-2.1-1.2l-1.5-10.5z"/> + <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m324.1 284.6 1.4-2 .4 3.1s-2 1.5-1.7 4.3l-.4-.6-.2-1s-.5-2-.5-3.1z"/> + <path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M332.8 299.4s-3.4-3-3.6-9.7l-.4-1.9s0 1.5-.8.4c-.6-1.5-.6-2.8-.6-2.8s-1.2-1.6-1.6.3l1.2 9.6.3 2s.7-1 1.4.1 1.8 2.7 4 2zm-4.1-25.1 1.5 10.5s-1.2.6-1.4 3c-.1 1.2-.6.6-.8.4-.2-.8 0-2.3 0-2.3l-.6-7.3s1.2-3.4 1.3-4.3z"/> + <path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m329.9 298.8.2 2.6s-1 0-1.7-1.2c-.8-1.1-1-2.8-1-2.8s.7-1.1 1.3 0c.5 1 1.2 1.4 1.2 1.4zm-1.8-10.6a6 6 0 0 1-.7-2.8l.7.5c-.2 1.2 0 2.3 0 2.3z"/> + <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M324.8 287.1a4 4 0 0 1 1.2-1.5l1.5 12s.4 3 2.3 3.7c0 0-1.1 10.3-4.5 7.5-.4-.4-1-3.6-.9-5.5l.9-6a27 27 0 0 0-.5-4.7l-.6-2.6c-.2-.2 0-1.8.5-2.9z"/> + <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m323.1 285.3-1 1c-.3 0 2.3 19.3 2.3 19.3s0-2 .7-6c.6-3.2-.2-7.5-.9-9.6 0 0-.8-.5-1-4.7z"/> + <path fill="#f7e214" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m327.4 278.8.7 7.1s-1.8-2.4-2.2-.2l-.4-3.2s1.5-2.4 2-3.7z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M328.7 287.8s.6-6.1 3.6-1.8c0 0 .2 2.4 0 3 0 .8-.9 1.8-1.2 2.3-.7 1-1.3-.2-1.3-.2s-.7-1-1-3.3z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M352.2 237c.1-3.5 1.2-9.3 1.3-13.3l12-12.2s1.4 9.9 5.8 15.5l-19 10"/> + <path fill="#ffe000" stroke="#000" stroke-width=".1" d="M351.3 237.3c-.5-2.4-1-5-1.5-10.2l7.7-7.6c0 3.2 3.6 8.1 3.9 14"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M344.7 244.7c-1-4.3 1.3-4.8-2-10.8l7.2-6.8c1.3 4 2.2 6.6 2 10l-6 4.4"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M372.4 270c1.5-4.2-.5-12.7-.2-18 .1-3.5-2.5-16.7-2.4-20.6l14.1-8.8s.6 14.3 2.3 29.9q2 12.1.4 21.5c-1.5 8.7-3 12.2-6.5 15.9-6.3 6.5-19.7 2.7-19.7 2.7-11.3-2.3-17.8-9.4-17.8-9.4s3.7.8 9.6 1.4c13-.9 18.2 2.4 18.6-11"/> + <path fill="#f7e214" stroke="#000" stroke-width=".1" d="m334.6 278.8-.2-.1 5.9 1.9 8 .6c17.2.4 15-10.3 14.3-27.5-.1-6.6-1.4-14.8-1-17.7l11.5-6.6c3.8 10.6 2.6 18 3.3 23.5.4 6 1.7 17.4-.2 22.4-2.7 11.6-11.8 11.2-24.2 10.1-6.1-.5-9.4-2-9.4-2l-8-4.6"/> + <path fill="#007a3d" stroke="#000" stroke-width=".1" d="M334.4 278.5a34 34 0 0 0 6 2.2l8 .8c12.5 1 19.8-7.7 18.2-27.6 0-7-.2-10.2-2.6-19.5l-7 4v.7c.5 2 1.5 7 1.5 9.2 0 16-10.1 28.2-23.9 30.3h-.2"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M380 230.6c-1 2-8 12.5-12 14.5m11-7.6c-1.3 2-9.8 14-13.6 14.6m15.5 3.6c-2 2.4-4 7-9.7 10m7 3.3c-4 3.7-13.6 11.6-23 12m23-6c-2 2.3-6.2 13.3-24 8.3m26.7-6.3c-1.2 2.6-10.1 17.3-26 11.6"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M362.3 264.8c1.4-4.3-.6-12.7-.4-18.1.2-3.5-1.4-15.5-1.4-19.5l13.2-9.9s.6 14.3 2.3 30a84 84 0 0 1 1.5 23.9c-1.8 10-6.6 12.8-7.5 13.6-6.7 6-22 5.4-23.5 4.9-10.8-4-15.6-10.8-15.6-10.8s5.2-.1 11.1.5c13-1 19.7-.4 20.1-13.8"/> + <path fill="#ffe000" stroke="#000" stroke-width=".1" d="M324.4 273.5h-.2l5.9 1.8 8 .6c17.2.5 15-10.2 14.3-27.5-.1-6.5-.3-12.4 0-15.3l10.3-7.6c3.8 10.7 2.8 16.7 3.5 22.2.4 5.8 1.7 17.3-.2 22.3-2.7 11.7-11.8 11.2-24.2 10.2-6.1-.5-9.4-2.1-9.4-2.1l-8-4.6"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M324.1 273.4a34 34 0 0 0 6 2.1l8 .8c12.5 1 19.8-7.7 18.2-27.6 0-7 .3-7.5-2.2-16.9-3.8 2.5-11.1 8.8-11.1 8.8s2 2.8 1.5 6.7c0 16-6.4 24-20.2 26.1l-1.5-13"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M369.9 225.3c-1.2 2-8.1 12.6-12 14.6m10.8-7.7c-1.2 2-9.7 14-13.5 14.7m15.5 3.6c-2 2.3-4 7-9.7 10m7 3.3c-4 3.6-13.6 11.6-23 12m23-6c-2 2.3-6.2 13.2-24 8.3m26.7-6.4c-1.2 2.7-10.1 17.3-26 11.7"/> + <path fill="#f7e214" stroke="#000" stroke-width=".1" d="m383.8 224 .7 6q.3 6.6-.1 9.8c0 .2-.8 5.5-.6 5.8 1 1.1 1.1 1.2 2.2.4.1-.2-.5-5.6-.5-6.3l-.4-9.9c0-1-1-6.4-1-6.4s0-1.2-.3.5"/> + <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="m383.8 224 .7 6q.3 6.6-.1 9.8l-.7 5.8c1 1.1 1.2 1.6 2.3.7.1-.2-.5-5.9-.5-6.6l-.4-9.9c0-1-1-6.4-1-6.4s0-1.2-.3.5z"/> + <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M384 222.2s1 6 1.2 9.6l.3 7.9.5 4.5c.1.7 0 .2 0 .2.9.5 1.5.1 2-.3.2-.1-1.4-3.8-1.4-4.5-.9-10.8-2.4-17-2.4-17s.6 3.7-.3-.4"/> + <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M384 222.2s1 6 1.2 9.6l.3 7.9.5 4.5c.1.7-.1.2 0 .2.9.5 1.5.1 2-.3.2-.1-1.4-3.8-1.4-4.5-.9-10.8-2.4-17.1-2.4-17.1s.6 3.8-.3-.3zm.4 17.3s1 .4 1 .2m0-1.3s-.7 0-.8-.2m0-1s.6.3.8 0m-.7-1.6h.5m-.6-1.5h.6m-.5-2.1s.4.1.4-.1m-.5-1.7h.5m.5 9.5s.9.2 1-.1m-1.1-2s.9.1 1-.1m-1-1.3h.7m-.9-1.5h.7m-.7-1.7h.5m-.7-1.5h.6m-.6-1.7s.4.3.4 0m0 9s.9 0 .9-.3"/> + <path fill="#f7e214" stroke="#000" stroke-width=".1" d="m373.6 218.7.7 6a73 73 0 0 1-.1 9.8c0 .3-.8 5.5-.6 5.8 1 1.2 1.1 1.3 2.2.4.1-.1-.5-5.5-.5-6.3l-.4-9.8c0-1.1-1-6.5-1-6.5s0-1.1-.3.6"/> + <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="m373.6 218.7.7 6a73 73 0 0 1-.1 9.8l-.7 5.8c1 1.2 1.2 1.6 2.3.7.1-.1-.5-5.8-.5-6.6l-.4-9.8c0-1.1-1-6.5-1-6.5s0-1.1-.3.6z"/> + <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M373.7 217s1.2 6 1.3 9.5l.3 8 .5 4.4v.3c.9.5 1.5 0 2-.4.2 0-1.4-3.7-1.4-4.5a127 127 0 0 0-2.4-17l-.3-.4"/> + <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M373.7 217s1.2 6 1.3 9.5l.3 8 .5 4.4v.3c.9.5 1.5 0 2-.4.2 0-1.4-3.7-1.4-4.5-.9-10.8-2.4-17-2.4-17zm.5 17.2s1 .5 1 .2m0-1.2s-.7 0-.8-.3m0-1s.6.4.8.1m-.7-1.7h.5m-.6-1.5h.6m-.5-2s.4 0 .4-.2m-.5-1.7h.5m.5 9.6s.9.1 1-.2m-1.1-1.9s.9 0 1-.2m-1-1.3h.7m-.9-1.4h.7m-.7-1.7.5-.1m-.7-1.4.6-.1m-.6-1.6s.4.2.4 0m0 9s.9 0 .9-.4m-10.5-22s-.5 5.2-.2 8.1c.3 3.5.3 4.5.6 6.6v3.9c-.8.5-1.4.2-2 0-.2-.1 1-3.3 1-4-.5-8.9.4-14.3.4-14.3l.2-.2"/> + <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M365.7 211.3s-.5 5.1-.2 8c.3 3.5.3 4.5.6 6.6v3.8c0 .5.1 0 0 .1-.8.5-1.4.2-2 0-.2-.1 1-3.3 1-4-.5-9 .4-14.3.4-14.3zm.3 14.6s-.9.2-1 0m.8-1.7s-.9.2-1 0m1-1.2h-.9m.8-1.2h-.7m.5-1.4h-.5m.5-1.3h-.5m.4-1.4s-.4.2-.4 0m1 7.4s-1 .1-1-.1"/> + <path fill="#005000" stroke="#000" stroke-width=".1" d="M334 221.7h-.8z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M323.3 256.4s.3-.2.4 0l-.1.2zm1 1.1-2.1-.1"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M291.7 215.5c0-2.1 2-3.3 2.2-3.6 1-.6 1.7-1.2 3.7-1.5l.2.9c0 .3-.5 1.6-2 2.7a12 12 0 0 1-4.1 1.5z"/> + <path fill="#a05a2c" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m291.6 214.7 29.7 38.4 1.4-1.3-30.2-39.1z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M291.2 207.2s3.2-.4 2.8-2.2-2.6-1.8-3.5-1.9c-1 0-4 .7-4.8 1.5-.9 1-2.7 2.5-2.1 5s1.3 4.4 2.3 6 .7 3.2.4 3.9c0 .3-.4 1.3.4 1.6 1.2.5 1.5.5 2.5-.6s2.5-3 2.5-5c0-2.1 2-3.3 2.2-3.6 1-.6 1.7-1.2 3.7-1.5 0 0-.7-1.2-1.8-1-1.1 0-3.4-1-4.6-2.2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M291.2 207.2s3.2-.4 2.8-2.2-2.6-1.8-3.5-1.9c-1 0-4 .7-4.8 1.5-.9 1-2.7 2.5-2.1 5s1.3 4.4 2.3 6 .7 3.2.4 3.9c0 .3-.4 1.3.4 1.6 1.2.5 1.5.5 2.5-.6s2.5-3 2.5-5c0-2.1 2-3.3 2.2-3.6 1-.6 1.7-1.2 3.7-1.5 0 0-.7-1.2-1.8-1-1.1 0-3.4-1-4.6-2.2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M291.2 207.2c-.4 0-1.7-.6-2.6-.3-.9.4-2.7 1.4-2.4 3m10.4-.3s-1.8.8-3.1 1.7c-.6.3-2.4 2-3.5 3.2-1 1-1.3 2.4-3.5 3.9m9-9-1.4 1q-.9.6-1.2 1.3"/> + <path fill="#e8a30e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M347.8 284.2c.2 3 7.4 6.6 12.7.1 5.7-4.5 4.5-11.4 0-12.3l-54.7-53.3c-2.2-1.2-2.4-2.3-3.5-3.5a133 133 0 0 1-9.6 9 10 10 0 0 1 3.2 3.5z"/> + <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M302.2 215c-2.6-3.5-12.8 5.8-10 8.7 2.6 2.8 12.4-5 10-8.6z"/> + <path fill="#cccccf" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M293 223c2 1.4 9.3-4.8 8.1-7.2-2-2.2-10.1 5.7-8 7.2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M296 227.9a16 16 0 0 0 9.9-9m23 44.8q8.6-2.5 11.4-11.6m-9.1 14.3q8.7-2.6 11.4-11.6m2.1 25.8c5.8-1.8 10.4-6 12.2-12.1m-9.8 14.8a18 18 0 0 0 12.3-12.2"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M360.6 285q.5 2 2.1 1.4m-13.7-2c2.1 3.5 4.5 2.4 6.5 2.5"/> + <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M363.6 285.2q-.2 1.6-1.7 1.6a2 2 0 0 1-1.7-1.6q.1-1.6 1.7-1.6c1.6 0 1.7 1 1.7 1.9"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M360.5 284.9q.5 2 2 1.3m-13.5-1.7c2.1 3.4 4.5 2.3 6.5 2.4"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M339.6 175.5c1.8 2.9 4.4 8 5.2 12a23 23 0 0 1-7 20.8c-5.2 4.7-13.3 6-16.7 6.8s-5.7 1.8-6.3 2.5q-.1-.7.5-1.6c1.6-.7 4.1-1 7.8-1.8 7.2-1.5 14.8-4.2 19-12.2 5.4-10.3 2.2-18.4-2.5-26.4z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M341.6 206.2a.4.6 49.9 0 1-.6-.6.4.6 49.9 1 1 .6.6z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M346.6 205q-1.7.7-3 1l-3.7 1.4c-.8.3-1.6 1.3-1.6 1.3s1.2 1.3 2.6 1.1q1.6-.2 2.3-.7c.6-.3.6-.6 1.4-1.2 1-.7 1.6-2 2-3zm-5.7 1.1q-.6.7-1.6.5l-.2.2q1 .1 2-.5z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M346.6 205q-1.7 1.6-4.7 2.8a14 14 0 0 1-5 1l-.2.3c1.4-.1 3.4-.4 5-1.1a15 15 0 0 0 4.9-3zm-2.4 4.6c-2-.1-3 .5-4.8.9s-3.7-.5-4.8 1.1c4.4 2.9 7.6 1 9.6-2z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M340.2 213.6c-.8-.8-8-3.2-9.2-.5 1.7 2 6.8 2.4 9.2.5z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m338.5 215.5-2.5-.4c-1-.1-1.3-.3-1.9-.4-1-.1-2.3-1.6-6-.5 1.4 3.4 6.4 4 10.4 1.3zm1.6-1.9c-3.8.8-8.3 0-10.1-1l-.3.2a16 16 0 0 0 10.4.8zm4-4c-2.2 1.5-5.2 2.6-11.4 1.8v.2c8.5.7 9.3-.8 11.4-2z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M338.5 215.5c-3 .1-4.7 1.4-10.3-1.3l-1.4-.6-.5.2 1.4.4c7 3 6.8 1.6 10.8 1.3z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M327.3 211.6a.4.6 66.2 1 0 .4.7.4.6 66.2 0 0-.4-.7z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M327.1 212.3c-.6.1-.8.9-.8 1.3l-.4.2q.2-1 1.2-1.7z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M346 186.8a.4.6 15.8 1 1-1-.2.4.6 15.8 0 1 1 .2z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M341.6 203.2c-.1-2.1-1.1.8-3.2-3.9-.6-1.4-.6-2.2-1-4.3 1.2 1.8 3 2.3 3.8 3.6s.5 3.5.4 4.6z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M337.5 195.2s1 2.4 2.4 4a8 8 0 0 1 1.8 3.7"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M338.5 197.2c1.3 1.7 3 3.8 3 6h.3c-.3-2.8-2-4.1-3-5.6zm10.8 2.7q-1.6 1-2.7 1.4l-1.4.9-1.4.5c-.7.5-2 2-2 2s1.3 1.1 2 1c2.4-.5 3.1-1.4 4.3-2.3 1-.8 1-2.5 1.2-3.5z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m340.7 204.8-.2.4c1.3-.2 3.5-1.5 5-2.2 1.8-1 3-1.7 3.7-3a9 9 0 0 1-3.9 3c-1.5.7-3.7 2-4.6 1.8zm9.4-9.5q-1.3 1.2-2.4 1.8l-1.3 1.1-1.2.8c-.6.6-1.5 2.2-1.5 2.2s.7.7 1.4.4c2.4-.3 3.1-1.4 4-3.5q.9-1.4 1-2.8z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M341.5 199.4a.6.4 62 1 0 .8-.3.6.4 62 0 0-.8.3z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m342.5 201.6-.2.3c2.9-1.3 6.6-3.9 7.8-6.5a17 17 0 0 1-7.6 6.2zm8.3-10.7q-1.2 1.3-2.2 2l-1 1.1-1.2.9c-.5.6-1.2 2.2-1.2 2.2s.8.9 1.5.5l2.1-1.6c.5-.4.6-1.4 1.2-2.2q1-1.4.8-2.9z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M348.7 193.8q-2.1 2.6-4.6 3.8l-.2.4c2.6-1.5 3.7-2.8 4.9-4.1zm1-5.6q-.6 1.4-1.6 2l-.8 1.2-1 .9-.7 2.1s.6.6 1.2.2l1.8-1.6 1-2.2a4 4 0 0 0 .2-2.6zm-4.3-1.1-.5 1.6v-.4q0-.6.4-1.3z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M348.4 191a13 13 0 0 1-3.8 4v.3c2.2-1.6 3-3 3.8-4.2zm-5.6 10q-.2-.8-.6-1.4.4.7.4 1.6l.1-.3z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M341.9 181.3a.4.3 39.5 0 1-.5.5.4.3 39.5 0 1 .5-.5z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m343.1 182.5-1.2-.8 1.3 1v-.2zm5.6.4c-1.2 2.4-3.9 4-2.8 7.5 2.8 2.6 3-4.5 2.8-7.5z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M346.1 177.7c-.5 2.4-2.6 4.4-1.2 7.6 4 1 2-4.3 1.2-7.6z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.7 174c2 3.7 2.5 5.9.2 8.3 0 0-1.3-1.1-1.6-3.3-.2-1.8 1.2-4 1.4-5z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M340.4 171.8c.5 2.4-1.5 3.5 1.4 6.5 2.1-2.4 1.1-3-1.4-6.5z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M339.6 176c-3.3.3-2-2.6-3-5.3 2 1.5 4.7 2.1 3 5.3zm2.2 4.4c-1-4.4-4-2.6-5.6-4.6.9 2.9 2.1 4.8 5.6 4.6zm1.4 4.1q-4 0-6.2-4.4c2.7 1.2 5.7 1.4 6.2 4.4z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.6 188.3c-1-1.2-1-2-1.5-2.7a9 9 0 0 0-3-3.7c0 3 .4 6.5 4.5 6.4z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M344.2 191.6a20 20 0 0 0-5.6-5.7c1 2.2.6 6.3 5.6 5.7z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.7 196c-5-.1-4.5-4.8-4.5-7l2.8 3.5c.9 1 1.8 2.2 1.7 3.5z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.1 198.8c-.4-1 0-1.4-1-2.3-1-1-2.8-2.7-3.7-4.6-.1 1.7-.2 4.4 1.2 5.3 1 .7 2 .9 3.5 1.6zm-4.3 7.3c-3.9-3-1.6-5.6-1.2-7.9 1 2.6 3.7 4.8 1.2 7.9zm1.6-29.2c-1.3-2.3-2-3.6-3.7-6 2 2.7 2.8 4.5 3.9 6.4"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M338.9 206.8c.1-3-.7-5.7-1.3-8.5.5 3 1.3 6 1 8.8zm4.6-7.4c-.4-1.8-4.1-3-5-7.5.7 4.4 4.5 5.5 4.8 8zm.8-2.5-.1.5c-.6-3-4-4.4-5-8.4 1.5 4.3 4.3 4.9 5.1 7.9zm.7-4.4c-1.7-2.6-4.1-3.6-6.4-6.7 2.1 3 4.8 4.4 6.4 7zm0-3.5q-3-1-6-7.1c1.4 3 3 5.8 6 7.6zm-1-4c-2.1-1.7-5-2.8-7-4.9 1.7 2 5 3.3 7.1 5.2v-.3zm-1.6-4.3c-2.2-1.5-4.4-2-6.2-4.8 1.5 2.8 3.8 3.5 6.3 5zm6.3 2.2c-.8 3.1-1.5 6.3-3.6 8.4v-.4c1-.5 2.5-3.7 3.6-8zm-2.6-5.1c-.1 3.2 0 6.5-1.7 8.3l-.1-.3c1.6-1.4 1.5-5 1.8-8zm-2.2-3.6c.5 2.8.6 5.3-.2 9.5l-.1-.3c.4-2.4 1-5 .3-9.2zm-3.4-2.3c1.1 2.4 2 4.8 1.2 7.4l-.2-.3c.9-2.4-.1-4.7-1-7zm-4.4 31.2c1.4 3.2-.4 5.6-2.5 7-1.6-4.7 1.8-4.2 2.5-7z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M336.2 203.1c.2 2-2 4.2-2.6 7.6l-.3.2c1-4 3-5.6 2.9-7.8z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M343.7 181.2a.3.4 1.9 1 1-.6-.1.3.4 1.9 0 1 .6.1z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.5 183v-1.6h-.2v1.7z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M342.8 180.9a.3.4 2 0 1-.5.2.3.4 2 0 1 .5-.2z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m343.2 182.3-.5-1.1.4 1.4v-.2z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M344.7 186.9a.4.3 80.5 1 1-.7 0 .4.3 80.5 0 1 .7 0z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m344.9 188.6-.4-1.4h-.1l.4 1.6v-.2z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M343.6 187.2a.4.3 57 1 1-.5.5.4.3 57 0 1 .5-.5z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m344.8 188.6-1.2-1v.1l1.3 1.1z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M343.4 199.1a.3.4 12.7 1 1-.7-.2.3.4 12.7 0 1 .7.2z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M342.8 200.8q.3-.7.2-1.5l-.4 1.7z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M344 199.9a.3.4 50.5 1 0 .5.4.3.4 50.5 1 0-.5-.4z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m342.7 201 1.3-.8v.1l-1.3 1z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M340.7 205a.3.4 40.4 1 1-.4-.6.3.4 40.4 0 1 .4.5z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m339.5 206.2.9-1.3h-.1l-1 1.3z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M338.8 204.5a.5.6 10 0 0 1 .1.5.6 10 1 0-1 0z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M339.4 205c-.3.7 0 1 0 1.2l-.1.3q-.4-.5-.1-1.5zm-12.1 9.5q-1-.1-1.3-.8h-.3q.5.9 1.5 1v-.3z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M327.3 215.2a.6.4 9.5 0 1 .2-.9.6.4 9.5 1 1-.2.8z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M332.7 206a5.5 5.5 0 0 1-4 6.4c-.9-4 2.8-4 4-6.3z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M332.7 206.1a21 21 0 0 1-4.8 7.2h-.5c2.7-2.1 4.2-4.9 5.3-7.2z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M327.8 213.3a.5.4 9.8 1 1-.4-.7.5.5 9.8 0 1 .4.7z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m326 213.8 1.4-.7h-.1l-1.7.6h.3zm2.5-5c0 1.2-1 2.4-2 3.2s-1 1.2-2.2 1.6c-1.2-2.8 2.8-3.3 4.2-4.8z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M328.5 208.8c-1.3 2.5-3.5 3.8-4.7 5.4h-.1c1.6-2.2 3-2.7 4.8-5.4z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300.4 175.5c-1.7 2.9-4.4 8-5.1 12a23 23 0 0 0 7 20.8c5.2 4.7 13.3 6 16.6 6.8s5.8 1.8 6.4 2.5q.1-.7-.5-1.6c-1.6-.7-4.2-1-7.8-1.8-7.2-1.5-14.9-4.2-19-12.2-5.4-10.3-2.2-18.4 2.5-26.4z"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M314.1 213.6c-.2.4-4 3.7-7.5 3.5-2.5-.2-2.9-.8-2.9-.8s-.2-.7 2-1.1 6.2-2 8.4-1.6z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M303.8 216.3c2.7.3 5.5-.8 7.7-1.6"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M311.2 208.7a11 11 0 0 1 4.6 3.7c.9 1.5.7 1.9.7 1.9s-.2.3-1.3-1c-1-1.2-3.4-3.3-4-4.6z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M316.5 214.2c-.9-1.7-2.5-3-3.7-4.2"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300.3 175.8c-.1-.3.3-3.4 2-4.4 1.3-.7 1.8-.5 1.8-.5s.3.3-.5 1.3c-1 1-2.1 3.2-3.3 3.7z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M304 171c-1.4.7-2.3 2.2-3 3.4"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.4 177.4c-.2-.2-1-3-.2-4.7.5-1.3.9-1.4.9-1.4s.3 0 .1 1.3-.2 3.8-.8 4.8z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M300 171.4q-.7 2.1-.6 4.4"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.4 177.5c.2 0 2.7-.8 3.9-2.1q1-1.4.8-1.3c-.2.1-.2-.2-1.1.5-1 .8-3 2-3.6 2.9z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M304 174.1q-1.5 1.7-3.3 2.6"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.2 179.6a10 10 0 0 1-.9-5.2c.3-1.6.6-1.7.6-1.7s.4 0 .4 1.4c0 1.5.3 4.2-.1 5.5z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M298 172.7c-.5 1.7-.2 3.6 0 5"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.3 181.6c-.3-.2-2.3-3-2-5.2 0-1.7.5-2 .5-2s.3-.1.6 1.4c.3 1.6 1.2 4.3.9 5.8z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M295.7 174.5c-.2 1.8.5 3.7 1 5.2"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.2 184.1a10 10 0 0 1-2.4-4.7c-.2-1.5 0-1.8 0-1.8s.4-.1.8 1.3 1.6 3.9 1.6 5.2z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M293.9 177.7c.1 1.7 1 3.4 1.5 4.8"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.2 179.6c.3 0 3.2-.2 4.6-1.7 1-1 1-1.5 1-1.5s-.2-.3-1.4.4c-1.1.8-3.4 1.8-4.2 2.8z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M303.7 176.5c-1 1.2-2.7 1.9-4 2.5"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.3 181.6c.2 0 3.2 0 4.6-1.4 1.1-1 1-1.4 1-1.4s0-.3-1.2.3-3.6 1.5-4.4 2.5z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M303 178.9q-2 1.5-4.1 2.2"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.4 184.2c.2 0 3.4-.2 4.9-1.7 1-1.1 1-1.5 1-1.5s-.1-.4-1.4.3c-1.2.8-3.7 1.8-4.5 2.9z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M302.3 181q-2 1.9-4.3 2.5"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.8 183s-.3-.5-.3-1q.1-.9.2-.8l-.2-.2-.1.9v.3l-.5-.5-.1-.4h-.2l.3.7c.5.4.8 1.1.8 1.1"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.6 180.3a.5.4 83.5 1 1 .1 1 .5.4 83.5 1 1-.1-1z" overflow="visible" style="marker:none"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.8 180.3a.4.5 19.3 1 1-.3 1 .4.5 19.3 1 1 .3-1z" overflow="visible" style="marker:none"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m296.7 183 1-.7q.4-.6.3-.7h.2l-.4.8-.2.2.6-.1.4-.2.1.1-.6.4-1.3.3"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.4 181.6a.4.5 45.6 1 0-.8.8.4.5 45.6 1 0 .8-.8z" overflow="visible" style="marker:none"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.4 180.8a.4.5 19.8 1 0-.3 1 .4.5 19.8 1 0 .3-1z" overflow="visible" style="marker:none"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.4 186.9c-.2-.2-2.4-2.6-2.8-4.8-.3-1.6 0-1.9 0-1.9s.3-.1.8 1.3 2 4 2 5.4z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M292.6 180.3c.2 1.8 1.2 3.5 2 4.9"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.6 186.9c.3 0 3.5-.4 5-2 1-1.3 1-1.7 1-1.7s-.2-.4-1.4.5-3.8 2-4.6 3.2z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M301.5 183.2c-1 1.4-2.8 2.2-4.2 3"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.2 189.6c.3 0 3.5-.9 5-2.6 1.1-1.3 1-1.7 1-1.7s-.1-.2-1.4.7c-1.2 1-3.8 2.5-4.6 3.6z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M301.2 185.4c-1.1 1.4-3 2.4-4.3 3.2"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295 189.6c-.3 0-3.3-2.2-3.8-4.5-.3-1.7 0-2 0-2s.5-.3 1.2 1.2c.7 1.4 2.5 3.8 2.7 5.3z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M291.3 183.2c.3 1.8 1.5 3.5 2.5 4.8"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.2 193a11 11 0 0 0 4.6-3.6c.9-1.5.7-1.8.7-1.8s-.2-.3-1.3 1c-1 1.2-3.4 3.1-4 4.5z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M300.5 187.7q-1.7 2.4-3.8 4"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295 193.2c-.3 0-3.6-1.7-4.4-4-.7-1.6-.4-2-.4-2s.4-.4 1.3 1 3.1 3.5 3.5 5z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M290.3 187.2c.5 1.8 2 3.4 3.2 4.6"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295 191.6s-.4-.5-.5-1v-.9h-.3v.8l.2.4-.6-.4-.3-.5-.2.2.5.6c.6.2 1.1 1 1.1 1"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M293 189a.6.4 69.4 1 1 .4 1.2.6.4 69.4 1 1-.4-1.1z" overflow="visible" style="marker:none"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M294.3 188.7a.4.6 5.2 1 1 0 1.2.4.6 5.2 1 1 0-1.2z" overflow="visible" style="marker:none"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295 191.6s.6-.5.8-1l.2-.8h.3l-.3.8-.1.4.6-.3.4-.4.1.2-.6.5c-.6.1-1.2.7-1.2.7"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.5 189.4a.4.6 31.5 1 0-.6 1 .4.6 31.5 1 0 .6-1z" overflow="visible" style="marker:none"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.3 188.9a.4.6 5.7 1 0-.1 1.1.4.6 5.7 1 0 0-1.1z" overflow="visible" style="marker:none"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.4 196.2a12 12 0 0 1-5.1-4c-1-1.7-.8-2.1-.8-2.1s.2-.3 1.4 1c1.3 1.4 3.8 3.6 4.5 5.1z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M289.5 190.2c1 1.8 2.8 3.3 4.2 4.6"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.6 196.2c.4 0 4-1.9 5-4.4.6-1.8.3-2.3.3-2.3s-.4-.3-1.4 1.2c-1 1.4-3.4 3.8-3.9 5.5z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M300.9 189.6c-.7 2-2.3 3.7-3.6 5"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.6 199.3c.3-.1 3.7-2.3 4.5-4.8.7-1.9.4-2.3.4-2.3s-.4-.3-1.3 1.3c-1 1.5-3.2 4-3.6 5.7z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M301.5 192.3c-.7 2-2.2 3.8-3.4 5.2"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.3 199.3c-.4 0-4.7-1.3-6.2-3.8-1-2-.9-2.5-.9-2.5s.4-.4 1.8 1c1.5 1.4 4.5 3.5 5.3 5.2z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M289.3 193.1c1.1 2 3.3 3.6 5 4.8"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300.1 205.7c.3-.2 2.6-3 2.8-5.6.2-1.8-.2-2-.2-2s-.3-.2-.8 1.4c-.5 1.7-1.8 4.6-1.8 6.2z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M302.8 198.1c-.1 2-1 4-1.8 5.6"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300 205.6c-.5.2-5.4 0-7.7-2.1-1.6-1.6-1.5-2.2-1.5-2.2s.2-.5 2.1.5 5.7 2.3 7 3.8z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M290.9 201.4c1.7 1.7 4.4 2.6 6.5 3.4"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.2 203c-.4.1-4.8-1-6.8-3.1-1.6-1.6-1.5-2.1-1.5-2.1s.2-.4 2 .8c1.6 1.2 5 3 6.3 4.5z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M290 197.9c1.6 1.7 4 3 5.8 4"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.4 203c.4-.2 3.6-2.9 4-5.6.2-2-.2-2.5-.2-2.5s-.5-.2-1.2 1.5c-.7 1.8-2.6 4.7-2.6 6.5z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M302.2 195c-.2 2.2-1.5 4.3-2.5 6"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m297.4 201.5-1-.8-.5-.9h-.3l.8 1.2-.8-.1-.5-.3v.2l.7.4c.7 0 1.6.5 1.6.5"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M294.2 199.8a.7.5 45.9 1 1 1 1 .7.5 45.9 1 1-1-1z" overflow="visible" style="marker:none"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.4 198.8a.7.5 71.6 1 1 .4 1.3.7.5 71.6 1 1-.4-1.3z" overflow="visible" style="marker:none"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.5 201.4s.4-.6.4-1.3l-.1-1h.2l.1 1.3.6-.5.2-.6.2.1-.4.8c-.6.5-1 1.4-1 1.4"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.1 198.2a.5.7 8 1 0-.2 1.3.5.7 8 1 0 .2-1.3z" overflow="visible" style="marker:none"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.6 198.1a.7.5 72.2 1 0 .4 1.3.7.5 72.2 1 0-.4-1.3z" overflow="visible" style="marker:none"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M301.8 207.6c-.3.2-4.3 1-6.8-.3-1.8-.9-2-1.4-2-1.4s0-.5 2 0c1.8.4 5.2.7 6.8 1.7z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M293.1 206c2 1 4.4 1.2 6.3 1.4"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M302 207.5c.2-.1 2-2.5 1.9-4.8 0-1.7-.4-2-.4-2s-.3-.2-.6 1.3-1 4-.9 5.5z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M303.5 200.8c.2 1.8-.4 3.6-.9 5"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M305.5 210.3c-.3.3-5 1.5-8 .3-2-1-2.1-1.5-2.1-1.5s0-.5 2.2-.1c2.1.3 6.2.4 8 1.3z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M295.5 209.2c2.2 1 5 1 7.3 1.1"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M305.8 210.3c.2-.3 1.2-3.8 0-5.6-1-1.4-1.5-1.3-1.5-1.3s-.4 0 0 1.5c.3 1.5.5 4.3 1.5 5.4z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M304.4 203.4c1 1.4 1.1 3.4 1.3 5"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M303.3 208.7s-.5.4-1.2 0q-.9-.6-.8-.7l-.3.2 1 .7.3.2-.9.2-.6-.1v.3h1l1.5-.5"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.5 208.7a.8.5 24.1 1 1 1.4.7.8.5 24.1 1 1-1.4-.7z" overflow="visible" style="marker:none"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300.3 207.2a.8.5 49.9 1 1 1 1.2.8.5 49.9 1 1-1-1.2z" overflow="visible" style="marker:none"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M303.4 209s.6-.5.2-1.2l-.6-.9.1-.2.7 1 .2.3.2-.9v-.6h.2v1l-.5 1.5"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M303.7 205.1a.8.5 69.5 1 0 .6 1.5.8.5 69.5 1 0-.6-1.5zm-1.5.8a.8.5 43.7 1 0 1 1 .8.5 43.7 1 0-1-1z" overflow="visible" style="marker:none"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M308.3 211.8c-.3.4-4.2 3-7.4 2.3-2.3-.4-2.6-1-2.6-1s-.1-.6 2-.8c2.2-.1 6-1 8-.5z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M298.4 213.1c2.5.6 5.2 0 7.3-.5"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M310.8 212.6s-.5.7-1.3.5l-1.2-.5-.3.3 1.3.4.5.1-.9.6-.7.1v.3l1.2-.3c.2 0 1.4-1 1.4-1"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M306.6 214a.9.6 5.4 1 1 1.7.2.9.6 5.4 1 1-1.7-.1zm.4-2a.9.6 31.2 1 1 1.5 1 .9.6 31.2 1 1-1.5-1z" overflow="visible" style="marker:none"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M309.5 212.2c.2-.3.7-4-1-5.6-1.1-1.2-1.7-1-1.7-1s-.5.1.1 1.5 1.4 4.2 2.6 5.1z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M306.8 205.6c1.4 1.2 1.9 3.2 2.3 4.7"/> + <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M311.4 213s.2-.7-.5-1.2q-1-.7-1.1-.6v-.4l1.2.7.4.3c.4.3 0-.8-.2-1l-.4-.7.3-.2.5 1 .2 2"/> + <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M309.7 209a.9.6 42.7 1 0 1.3 1.1.9.6 42.7 1 0-1.3-1.2zm-1.2 1.5a.9.6 17 1 0 1.7.6.9.6 17 1 0-1.7-.6z" overflow="visible" style="marker:none"/> + <path fill="#452c25" d="M319.1 209s-2.3 5.4-1.5 6c0 0 2.4-4.3 4.4-5.8 1.1-1 1.8 0 2-1 0-.8-3-2.1-3-2.1l-1.8 2.7"/> + <path fill="none" stroke="#000" stroke-width=".2" d="M319.1 209s-2.3 5.4-1.5 6c0 0 2.4-4.3 4.4-5.8 1.1-1 1.8 0 2-1 0-.8-3-2.1-3-2.1l-1.8 2.7"/> + <path fill="#452c25" d="M310.6 213.1s-3.4 6-2.5 6 4.5-7.5 4.5-7.5l-1.3.2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M310.6 213.1s-3.4 6-2.5 6 4.5-7.5 4.5-7.5l-1.3.2z"/> + <path fill="#452c25" d="M311.6 211.5s-3.6 5.8-2.7 5.9c1 .1 4.8-7.4 4.8-7.4l-1.3.1z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M311.6 211.5s-3.6 5.8-2.7 5.9c1 .1 4.8-7.4 4.8-7.4l-1.3.1z"/> + <path fill="#452c25" d="M312.3 210.5s-4 5.4-3.2 5.6c1 .2 5.4-7 5.4-7l-1.3.1z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M312.3 210.5s-4 5.4-3.2 5.6c1 .2 5.4-7 5.4-7l-1.3.1z"/> + <path fill="#452c25" d="M313.4 209.5s-4.8 4.9-3.9 5.2 6.2-6.2 6.2-6.2l-1.2-.1z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M313.4 209.5s-4.8 4.9-3.9 5.2 6.2-6.2 6.2-6.2l-1.2-.1z"/> + <path fill="#452c25" d="M313.6 207.7s-4.2 5.4-3.3 5.6 5.5-6.9 5.5-6.9l-1.3.1-1 1.2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M313.6 207.7s-4.2 5.4-3.3 5.6 5.5-6.9 5.5-6.9l-1.3.1-1 1.2z"/> + <path fill="#452c25" d="M312.5 212.4s-4 5.5-3.2 5.6c1 .2 5.4-7 5.4-7l-1.3.1z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M312.5 212.4s-4 5.5-3.2 5.6c1 .2 5.4-7 5.4-7l-1.3.1z"/> + <path fill="#452c25" d="M314.8 211.3s-2.4 4.5-2.1 4.6c.3.2 3.1-2.5 4.6-5.2 1.4-2.6-2.6.5-2.6.5"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M314.8 211.3s-2.4 4.5-2.1 4.6c.3.2 3.1-2.5 4.6-5.2 1.4-2.6-2.6.5-2.6.5"/> + <path fill="#452c25" d="M315 210.8s-2.3 5.5-1.5 6c0 0 3-3.3 3.7-5.9s0-.1 0-.1l-.2-2.9-2 2.7"/> + <path fill="none" stroke="#000" stroke-width=".2" d="M315 210.8s-2.3 5.5-1.5 6c0 0 3-3.3 3.7-5.9s0-.1 0-.1l-.2-2.9-2 2.7"/> + <path fill="#452c25" d="M313.8 210.4s-4.7 4.8-3.9 5.1 6.3-6.1 6.3-6.1l-1.3-.1-1 1z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M313.8 210.4s-4.7 4.8-3.9 5.1 6.3-6.1 6.3-6.1l-1.3-.1-1 1z"/> + <path fill="#452c25" d="M314.2 211s-4.7 5-3.9 5.2 6.2-6.2 6.2-6.2h-1.2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M314.2 211s-4.7 5-3.9 5.2 6.2-6.2 6.2-6.2h-1.2z"/> + <path fill="#452c25" d="M314.6 211.8s-4.8 4.9-4 5.2c1 .3 6.3-6.2 6.3-6.2h-1.2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M314.6 211.8s-4.8 4.9-4 5.2c1 .3 6.3-6.2 6.3-6.2h-1.2z"/> + <path fill="#452c25" d="M315 205.1s-3.6 4.5-3 5.3c.4.8 3.6-2 4.7-4 1-2-1.7-1.4-1.7-1.4"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M315 205.1s-3.6 4.5-3 5.3c.4.8 3.6-2 4.7-4 1-2-1.7-1.4-1.7-1.4"/> + <path fill="#452c25" d="M314.8 209.9s-3 5.8-2.2 5.5c.8-.4 3.8-4.7 4.2-5.7.3-1 .2-2 .2-2l-2.3 1.5.2 1.1"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M314.8 209.9s-3 5.8-2.2 5.5c.8-.4 3.8-4.7 4.2-5.7.3-1 .2-2 .2-2l-2.3 1.5.2 1.1"/> + <path fill="#452c25" d="M314.8 208s2.5-4.6 0 .9-3.4 4.5-3.4 4.5c-.2-.3 2.2-4 2.2-4s1.7-2.8 2.1-3.1"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M314.8 208s2.5-4.6 0 .9-3.4 4.5-3.4 4.5c-.2-.3 2.2-4 2.2-4s1.7-2.8 2.1-3.1"/> + <path fill="#452c25" d="M317.5 207.4s2.8-4.6 0 .9-3.9 4.5-3.9 4.5c-.2-.3 2.5-4 2.5-4s2-2.8 2.4-3.1"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M317.5 207.4s2.8-4.6 0 .9-3.9 4.5-3.9 4.5c-.2-.3 2.5-4 2.5-4s2-2.8 2.4-3.1"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M316.5 205.5s-3.5 4.5-3 5.2 3.7-2 4.7-4-1.7-1.4-1.7-1.4"/> + <path fill="#e8a30e" d="M352.8 251a32.8 37 0 1 1-65.6 0 32.8 37 0 1 1 65.6 0"/> + <path fill="none" stroke="#390" stroke-width=".8" d="M293.7 251c0-17 12-30.2 26.3-30.2s26.3 13.1 26.3 30.3" color="#000" font-family="Sans" font-weight="400" overflow="visible" style="line-height:normal;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none"/> + <path fill="#007934" stroke="#eee" stroke-width=".1" d="M287.2 253c1 19.5 15.3 35 32.8 35s31.9-15.5 32.8-35z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M352.8 251a32.8 37 0 1 1-65.6 0 32.8 37 0 1 1 65.6 0z"/> + <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M314.5 225.4q-.4 2 .7 3.6 1 1.4.9 2.7l-.7.5-5.5-3.7 3.7 5.5-.2.2a5 5 0 0 0-3-.3 5 5 0 0 1-3.7-.8 5 5 0 0 0 3.1 2.1 5 5 0 0 1 2.6 1.3l-.2.8-6.6 1.3 6.6 1.3v.3a5 5 0 0 0-2.4 1.9 5 5 0 0 1-3 2q2 .5 3.6-.7a5 5 0 0 1 2.7-.9l.4.7-3.6 5.6 5.4-3.7.3.2a5 5 0 0 0-.4 3 5 5 0 0 1-.7 3.6 5 5 0 0 0 2-3.1 5 5 0 0 1 1.4-2.5l.8.2 1.3 6.5 1.3-6.5h.3a5 5 0 0 0 1.8 2.3 5 5 0 0 1 2.1 3.1 4 4 0 0 0-.7-3.6 5 5 0 0 1-.9-2.8l.7-.4 5.5 3.7-3.7-5.5.2-.3q1.5.7 3 .4a5 5 0 0 1 3.7.7 5 5 0 0 0-3.1-2 5 5 0 0 1-2.6-1.4l.2-.8 6.6-1.3-6.6-1.2v-.4a5 5 0 0 0 2.4-1.8 5 5 0 0 1 3-2 5 5 0 0 0-3.6.7 5 5 0 0 1-2.7.8l-.4-.7 3.7-5.5-5.5 3.7-.3-.2q.7-1.5.4-3a5 5 0 0 1 .7-3.6 5 5 0 0 0-2 3 5 5 0 0 1-1.4 2.6l-.8-.2-1.3-6.5-1.2 6.5h-.4a5 5 0 0 0-1.8-2.3 5 5 0 0 1-2-3.1z" overflow="visible" style="marker:none"/> + <path d="M325.9 236.7c-1.7-1.4-3.8-1.6-4.9-.6q-1.3 1.7.2 3.8l-.3.2a5 5 0 0 1-.3-4.1c1.5-1.3 3.7-1.4 5.2.7"/> + <path d="M323.3 236.3c-1 0-1.2.2-1.6.5l-.7.4.1.2q.3 0 .9-.6.6-.4 1.3-.3c1.3 0 2 1 2.1 1s-.7-1.2-2.1-1.2"/> + <path d="M325 237.5c-1-1-2.7-1-3.4 0h.2c.8-1 2.5-.6 2.6 0"/> + <circle cx="323.1" cy="237.4" r=".6"/> + <path d="M321.6 237.6c.7.6 2.2.7 3.3-.1h-.5q-1.2 1-2.5 0"/> + <path d="M325 237.8c-1.2 1-2.4.9-3.1.5q-.9-.7-.6-.6l.8.4q.9.5 2.9-.2m-3.5 2a.4.4 0 1 1-.6.5c0 .1-.3.6-.9.6h-.1l.1.2.9-.2a.6.6 0 1 0 .6-1m.9 3c-.7-.5-1-1-1.7-1l-.7.1h-.1l.1.2c.3 0 .7-.3 1.2 0zm-.3 0c-1.4-.5-1.7-.2-2.1-.2h-.1l.1.3c.6 0 .9-.4 2.1-.1"/> + <path d="M322.4 243c-1.6-.2-1.1.8-2.4.8h-.1l.1.2c1.6 0 .9-.9 2.4-1m-8.2-6.3c1.6-1.4 3.7-1.6 4.8-.6q1.3 1.7-.2 3.8l.3.2a5 5 0 0 0 .3-4.1c-1.5-1.3-3.7-1.4-5.2.7"/> + <path d="M316.7 236.3c1 0 1.2.2 1.6.5l.7.4-.1.2-.9-.6q-.6-.4-1.3-.3c-1.3 0-2 1-2.1 1s.7-1.2 2.1-1.2"/> + <path d="M315 237.5c1-1 2.7-1 3.4 0h-.2c-.8-1-2.5-.6-2.6 0"/> + <circle cx="-316.9" cy="237.4" r=".6" transform="scale(-1 1)"/> + <path d="M318.4 237.6c-.7.6-2.2.7-3.3-.1h.5q1.3 1 2.5 0"/> + <path d="M315 237.8c1.2 1 2.4.9 3.1.5q1-.7.6-.6l-.8.4q-.8.4-2.9-.2m3.5 2a.4.4 0 1 0 .6.5c0 .1.3.6.9.6h.1l-.1.2-.9-.2a.6.6 0 1 1-.6-1m-.9 3c.7-.5 1-1 1.7-1l.7.1h.1l-.1.2c-.3 0-.7-.3-1.2 0zm.3 0c1.4-.5 1.7-.2 2.1-.2h.1l-.1.3c-.6 0-.9-.4-2.1-.1"/> + <path d="M317.6 243c1.6-.2 1.1.8 2.4.8h.1l-.1.2c-1.6 0-.9-.9-2.4-1"/> + <path fill="#007934" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M323.2 258.4q2.5.4 4.7-.3a10 10 0 0 1 4.2-.6c0-.2.5-.3.2-.5l-1.8-.6q-1.4-.8-2.7-2c-.1 0-.6-.3-.6-.5 2.2 3.2 7.5 1.5 12 1.2.4.1 1.5-.2 2.4-.5 1-.4 3.6 0 4.3-.5l-1.3-1c-.6-.8-2.3-.7-3-1.5-1.3-1.5-3.3-1.9-4.9-3q-.6-.3-1.6-.3c-.6-.6 0-.5-5-4.7-4.5-1.8-4.2-3.2-7-4.3-1-.5-1.9-1.4-2.7-1.1a30 30 0 0 0-6.3 3c-1.2.6-2.7 2-3.8 2.8-.2.2-3.4 2.9-7 4.8a115 115 0 0 1-9.2 4.8c8-.4-7.3 2.3 29.1 4.8z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M303.3 249c2-1 10-5.3 12.4-8.4-.4 0 .6 1 .5 1.4.8 0 .4-1 1-1q.7 0 1.3-.3c.5 0 .2.2.2.4q-1.2 1.7-3.2 2.9l.2.4q.7 0 1.1-.2l.1-.3q.5.3.1.7c-.3.6-1.4.5-1.8 1a6 6 0 0 1-1.5 1.7q.7-.8 1.7-1c1 0 1.3-.7 2.2-.9.9-.1 1.5-.9 2.2-1.4-.3.4-.9.7-.7 1.2l.6.2c-.7.8-2 1.4-2.4 2.4-.4-.2-.7.2-1 .2-.4.1-.3.8-.6 1q-1.7 1.2-2.3 2.7l-1.3.7c-.7.3-4.6 3.4-4.7 3-.3-2.1-4.3 1.6-13.3-1.6m30.6-.1-.2-.2c.1-.3-.5-.4-.5-.7 1 0 1.8 1.2 2.5.5.1-.1-.3-.4.4-.6l-.1-.2h-.8l-.8-.3q-.6-.3 0-.6c1-.1 1.9.5 2.6.2l1.7-.5c.3-.1 1.2 0 .9.2q-.4.2-1 .2-.8.2-1.4.6c.3 0 .2.3.7.2l2-.4v-.5h.3c-.3-.5.6-.2 1-.6l.1.1c-.5.2-.3.5-.4.8q-.2 0-.2.2c.2.2.2-.2.5 0h.6q.6 0 .5-.4-.5-.3-.6-.8l-.1-.1q.8 0 1.1.4t.8.7c.8.2.7-.2.7-.6.7 0 1.6.3 1.4.6q-.2.5-1 .5c-.8 0-.2.3-.4.3q-.7 0-1 .2-.2.4.3.9h1.8q.2-.4.9-.6c.4-.3-.2-.5-.5-.7-.3 0 0-.1 0-.3.3-.3.9 0 1-.2l.1-.8q.4 0 .4.3l.7-.2q.5.1.4.4-.8.3-.7.8c0 .2-.5.3-.3.5q.5.4.5.9.5.5 1.6.3c-.2-.7 1.4-.4 2-.5q.1 0 0-.2-.4-.2-.3-.6l-.1-.1c1 .3 2.8.8 3.6 1.4-1 .2-2.8-.2-3.8 0a15 15 0 0 1-3.7.6l-1.6-.3m-11.3-.7-.4-.1"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M321.2 259.1c2 0 2.2 1.4 3.5.1 1.1.2 2.2-.2 2.2-.3 2.7.6 11.1-.2 10.6-.8-.9-1-2.3-1.4-3.4-2.2l-1.1-.4c-.7-.2-1.5 0-2-.3l-2.6-1.5-1.2-1.4q-1-.5-2-.7-1.2-.7-2.2-1.9l-1.1-.4c-.7-.3-1.2-1.1-1.9-1-1 .2-1.7 1-2.8 1.6-1 .4-1.4 1.1-2.2 1.6-.2.2-2.6 1.8-5.3 2.9l-6.6 2.5s2.4 1.7 8 1.5l3.4 1 1.9-.3z"/> + <path fill="#007934" stroke="#000" stroke-width=".1" d="M309.8 254.8c1.2-.6 6-2.9 7.4-4.5-.1 0 .5.5.4.7.5 0 .2-.4.6-.5l.8-.1q.3 0 .1.2-.8.8-2 1.5l.2.2h.7v-.3q.4.2.1.4c-.2.4-.9.3-1.1.6l-1 .9q.5-.4 1.1-.5l1.3-.5q.9-.2 1.4-.8-.4.3-.4.7l.4.1c-.4.4-1.2.7-1.5 1.2l-.6.1-.4.6q-1 .6-1.4 1.4l-.8.4c-.4.2-2.8 1.8-2.8 1.6-.2-1.1-2.6.5-8-1.2"/> + <path fill="#00a6de" stroke="#000" stroke-width=".1" d="M320 214.2c-18.1 0-32.8 16.5-32.8 36.9S301.9 288 320 288s32.8-16.5 32.8-37c0-20.3-14.7-36.9-32.8-36.9zm0 8.2c13.2 0 24.7 12.3 24.7 28.7s-11.5 28.6-24.7 28.6-24.7-12.2-24.7-28.6 11.5-28.7 24.7-28.7z" color="#000" font-family="Sans" font-weight="400" overflow="visible" style="line-height:normal;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none"/> + <path fill="#e8a30e" d="M324.7 266.8q.1.2-.4.3t-.5-.2q0-.2.5-.2.4-.2.4 0z"/> + <path fill="#e8a30e" d="m324.8 266.8-.5.2h-.5q0-.2.5-.3h.5zm-2.8 9c.8-2.2 1-3.8-.2-6 2-1.9 3.3-1.2 4.6 0-1.2 2.3-1 4-.2 6a4 4 0 0 1-4.2 0"/> + <path fill="#e8a30e" d="M324 268.6v7.7h.1v-7.7z"/> + <path fill="#e8a30e" d="M324.4 268.6a45 45 0 0 0-.3 7.7q0-4.2.4-7.6zm.7-2.4c-.4.4-.6.4-.4 1q.5-.4.4-1"/> + <path fill="#e8a30e" d="M324.3 266.4c.2.3.6.4.3 1q-.4-.3-.3-1"/> + <path fill="#e8a30e" d="M324.3 267c.2.3.5.3.3.9-.3-.3-.4-.3-.4-.8z"/> + <path fill="#e8a30e" d="M324.2 267.4q.4.2.3 1c-.4-.4-.3-.4-.3-1"/> + <path fill="#e8a30e" d="M324 267.9q.6.1.4 1c-.4-.4-.2-.5-.4-1"/> + <path fill="#e8a30e" d="M324 268.4c.2.2.6.3.4 1-.3-.4-.4-.4-.4-1m1.3-1.7q-.5 0-.6.8.6-.3.6-.8"/> + <path fill="#e8a30e" d="M325.3 267.1q-.5.1-.7.7c.6-.2.5-.2.7-.7"/> + <path fill="#e8a30e" d="M325.2 267.6c-.2.1-.6 0-.7.7.6-.3.6-.2.7-.8z"/> + <path fill="#e8a30e" d="M325.2 268.1q-.5-.2-.7.7.4-.1.7-.7"/> + <path fill="#e8a30e" d="M325 268.6c-.4.1-.5 0-.6.7.5-.3.4-.2.5-.7zm.2.3c-.7 2.1-.8 4-.7 7.4h.1c0-3.4.1-5.2.8-7.3h-.1zm1.2-2.2c-.4.3-.6.2-.5.8q.5-.1.5-.8"/> + <path fill="#e8a30e" d="M325.6 266.8q.5.2.1 1-.4-.4 0-1z"/> + <path fill="#e8a30e" d="M325.4 267.4c.3.3.5.3.2.8q-.3-.2-.2-.8"/> + <path fill="#e8a30e" d="M325.3 267.7q.3.3.1 1c-.3-.4-.3-.4-.1-1"/> + <path fill="#e8a30e" d="M325 268.1q.6.4.3 1c-.4-.4-.2-.5-.3-1"/> + <path fill="#e8a30e" d="M324.9 268.6q.5.4.2 1c-.3-.4-.3-.4-.2-1m1.6-1.4c-.2.2-.6 0-.7.7q.6-.1.7-.6z"/> + <path fill="#e8a30e" d="M326.4 267.7q-.4-.1-.8.5c.6-.1.6 0 .8-.5"/> + <path fill="#e8a30e" d="M326.3 268c-.3.2-.7 0-.9.7.7-.2.6-.2.9-.6z"/> + <path fill="#e8a30e" d="M326.1 268.6c-.2 0-.6-.2-.8.5.4 0 .4-.2.8-.5"/> + <path fill="#e8a30e" d="M325.8 269q-.4-.1-.7.6c.5-.2.5-.1.7-.6m.1.4c-1 1.9-1.1 3.6-.7 6.8l.2-.1c-.4-3-.2-4.7.6-6.6zm1.6-2.2c-.5.2-.7.2-.7.8q.5-.2.7-.8"/> + <path fill="#e8a30e" d="M326.7 267.2c.1.3.4.5 0 1-.3-.5-.2-.5 0-1"/> + <path fill="#e8a30e" d="M326.4 267.8q.4.2 0 .8c0-.4-.2-.4 0-.9z"/> + <path fill="#e8a30e" d="M326.2 268c.1.3.4.5 0 1-.3-.4-.2-.4 0-1"/> + <path fill="#e8a30e" d="M326 268.5c0 .3.4.5 0 1-.3-.5 0-.5 0-1"/> + <path fill="#e8a30e" d="M325.7 268.9c.2.3.5.5 0 1q-.2-.4 0-1m1.8-1.1c-.2 0-.6-.1-.8.5.6-.1.5 0 .8-.5"/> + <path fill="#e8a30e" d="M327.3 268.2q-.4-.2-.8.4c.6 0 .6 0 .8-.4"/> + <path fill="#e8a30e" d="M327.1 268.5q-.4-.1-.8.5c.6 0 .5 0 .8-.5"/> + <path fill="#e8a30e" d="M327 269c-.3 0-.7-.3-1 .4.5 0 .5-.1 1-.4m-.5.4q-.4-.1-.7.5c.5-.1.5 0 .7-.5m-3-.7q.3 3.5.4 7.6h.1q.2-4.2-.4-7.6zm-.6-2.6c.4.4.5.4.4 1q-.5-.3-.4-1"/> + <path fill="#e8a30e" d="M323.7 266.4q-.6.2-.4 1 .5-.3.4-1"/> + <path fill="#e8a30e" d="M323.7 267q-.5.3-.3.8c.2-.3.3-.2.3-.7z"/> + <path fill="#e8a30e" d="M323.8 267.4q-.4.1-.3 1c.4-.4.3-.4.3-1"/> + <path fill="#e8a30e" d="M324 267.9q-.6.1-.5 1c.5-.4.2-.5.4-1z"/> + <path fill="#e8a30e" d="M324 268.4q-.6.1-.4.9.4-.3.4-.9m-1.3-1.8c.2.2.6.2.6.8-.5-.3-.5-.2-.6-.8"/> + <path fill="#e8a30e" d="M322.7 267.1q.5 0 .6.7c-.5-.3-.5-.2-.6-.7"/> + <path fill="#e8a30e" d="M322.8 267.5c.2.1.6.1.6.8q-.6-.2-.6-.8"/> + <path fill="#e8a30e" d="M322.8 268c.2.1.7 0 .7.8q-.4-.2-.7-.7z"/> + <path fill="#e8a30e" d="M323 268.5c.3.2.5.1.5.8q-.5-.2-.5-.8m-.2.5-.2.1c.7 2 1 3.9.9 7.2h.1a19 19 0 0 0-.8-7.3m-1.2-2.4c.4.3.5.3.5.8q-.5-.1-.5-.8"/> + <path fill="#e8a30e" d="M322.4 266.7q-.5.3-.2 1c.3-.4.3-.4.2-1"/> + <path fill="#e8a30e" d="M322.6 267.3q-.6.3-.2.9c.2-.4.3-.4.2-.9"/> + <path fill="#e8a30e" d="M322.7 267.6q-.5.4-.1 1c.3-.4.2-.4.1-1"/> + <path fill="#e8a30e" d="M323 268.1q-.6.3-.3 1c.4-.5.1-.5.2-1z"/> + <path fill="#e8a30e" d="M323 268.6c-.1.2-.5.4-.1 1q.3-.4.2-1zm-1.5-1.5c.2.1.6 0 .7.7-.6-.2-.5-.2-.7-.7"/> + <path fill="#e8a30e" d="M321.6 267.6q.4-.1.7.5c-.5-.1-.5 0-.7-.5"/> + <path fill="#e8a30e" d="M321.7 268q.5-.1.8.6c-.6-.2-.6-.2-.8-.7z"/> + <path fill="#e8a30e" d="M321.9 268.5c.2 0 .6-.2.8.6q-.5 0-.8-.6"/> + <path fill="#e8a30e" d="M322.2 269q.4-.1.6.5c-.5-.2-.4-.1-.6-.6zm0 .5h-.2c.9 2 1 3.6.7 6.6h.2c.3-3 .2-4.6-.8-6.6zm-1.7-2.5c.4.3.6.2.6.8q-.5-.1-.6-.8"/> + <path fill="#e8a30e" d="M321.3 267c-.1.3-.4.6 0 1 .3-.4.2-.4 0-1"/> + <path fill="#e8a30e" d="M321.6 267.6q-.5.3-.1.9c.1-.4.3-.4 0-.9z"/> + <path fill="#e8a30e" d="M321.8 268q-.4.2 0 1c.2-.5.2-.5 0-1"/> + <path fill="#e8a30e" d="M322 268.4c-.1.3-.4.5 0 1 .3-.5 0-.5 0-1"/> + <path fill="#e8a30e" d="M322.3 268.8q-.5.4-.1 1 .3-.4 0-1zm-1.8-1.2q.4-.1.8.5-.7.1-.8-.5"/> + <path fill="#e8a30e" d="M320.6 268q.5-.1.9.5c-.6-.1-.6 0-.9-.5"/> + <path fill="#e8a30e" d="M320.8 268.4q.5-.1 1 .5c-.7-.1-.7 0-1-.5"/> + <path fill="#e8a30e" d="M321 268.9c.3 0 .7-.3 1 .5-.5 0-.5-.3-1-.5"/> + <path fill="#e8a30e" d="M321.4 269.3q.4-.1.7.5c-.5-.1-.4 0-.7-.5m2.2-3.2c.3.4.5.4.3 1q-.4-.4-.3-1"/> + <path fill="#e8a30e" d="M324.3 266.4q-.4.1-.4 1 .6-.3.4-1"/> + <path fill="#e8a30e" d="M324.4 267q-.6.2-.4.8c.2-.3.3-.2.4-.7z"/> + <path fill="#e8a30e" d="M324.4 267.4q-.4.1-.4 1c.4-.4.4-.4.4-1"/> + <path fill="#e8a30e" d="M324.5 268q-.6 0-.5.8c.5-.3.3-.4.5-.9z"/> + <path fill="#e8a30e" d="M324.5 268.4c-.2.2-.6.3-.4.9.3-.3.4-.3.4-.9m-1.2-1.8c.2.2.6.2.6.8-.5-.3-.5-.3-.6-.8"/> + <path fill="#e8a30e" d="M323.3 267q.4.1.6.8-.6-.2-.6-.8"/> + <path fill="#e8a30e" d="M323.4 267.4c.2.2.6.2.6.9-.5-.4-.5-.3-.6-.9"/> + <path fill="#e8a30e" d="M323.4 268c.2.1.7 0 .6.8-.4-.2-.3-.4-.6-.8"/> + <path fill="#e8a30e" d="M323.6 268.5c.2.1.4.1.4.8-.4-.4-.4-.3-.4-.8m-.4.3c.5 2.5.7 4.7.6 7.5h.2q.2-3.7-.7-7.5m-1-2.4c.4.4.6.3.5 1q-.5-.4-.5-1"/> + <path fill="#e8a30e" d="M323 266.6q-.5.2-.2 1c.3-.4.3-.4.2-1"/> + <path fill="#e8a30e" d="M323.1 267.2q-.5.2-.2.8.3-.3.2-.8"/> + <path fill="#e8a30e" d="M323.3 267.5q-.5.3-.2 1 .4-.3.2-1"/> + <path fill="#e8a30e" d="M323.5 268q-.6.3-.3 1c.4-.4.2-.5.3-1"/> + <path fill="#e8a30e" d="M323.6 268.5c-.2.3-.6.4-.3 1q.4-.4.3-1M322 267q.6-.1.8.6c-.6-.2-.6-.1-.8-.6"/> + <path fill="#e8a30e" d="M322.1 267.4c.2.1.7 0 .8.6-.6-.2-.6-.1-.8-.6"/> + <path fill="#e8a30e" d="M322.3 267.8c.2.1.6 0 .7.7q-.7-.1-.7-.7"/> + <path fill="#e8a30e" d="M322.4 268.3c.2 0 .6-.1.8.7-.5-.1-.5-.3-.8-.7"/> + <path fill="#e8a30e" d="M322.7 268.8q.4-.1.6.6c-.5-.2-.5-.1-.6-.6m-.8.9q.9 2 .7 3.7l-.3 2.5h.1q1-3.6-.5-6.2"/> + <path fill="#e8a30e" d="m322.5 269.2-.1.1c.8 2.1.9 4 .7 7h.1c.2-3 .1-5-.7-7zm-1.4-2.4c.4.3.5.2.5.8q-.5-.1-.5-.8"/> + <path fill="#e8a30e" d="M321.8 266.9c-.1.2-.4.4 0 1q.4-.4 0-1"/> + <path fill="#e8a30e" d="M322 267.4c-.1.3-.4.4 0 1 .1-.4.2-.4 0-1"/> + <path fill="#e8a30e" d="M322.3 267.8c-.2.2-.5.4 0 1 .2-.5.1-.5 0-1"/> + <path fill="#e8a30e" d="M322.5 268.2c-.2.3-.5.5 0 1 .2-.5 0-.5 0-1"/> + <path fill="#e8a30e" d="M322.7 268.7c-.1.2-.5.5-.1 1q.4-.4.1-1m-1.7-1.3q.4-.1.8.5c-.6-.1-.6 0-.8-.5"/> + <path fill="#e8a30e" d="M321.1 267.8q.5-.1.8.5c-.5-.1-.5 0-.8-.5"/> + <path fill="#e8a30e" d="M321.3 268.1c.2.1.7 0 .9.6-.6-.1-.6 0-.9-.6"/> + <path fill="#e8a30e" d="M321.5 268.7c.2 0 .6-.3.9.5-.5 0-.5-.2-.9-.5"/> + <path fill="#e8a30e" d="M321.9 269c.3.1.4 0 .6.6-.4-.1-.4 0-.6-.5zm-2-1.6q.7.1.8.7-.5 0-.7-.7z"/> + <path fill="#e8a30e" d="M320.7 267.4c0 .3-.3.5.2 1 .2-.5.1-.5-.2-1"/> + <path fill="#e8a30e" d="M321 267.9c0 .3-.3.5.1.9.1-.4.2-.4 0-.9z"/> + <path fill="#e8a30e" d="M321.3 268.2c0 .3-.3.5.1 1 .2-.5.2-.5 0-1z"/> + <path fill="#e8a30e" d="M321.6 268.6c0 .3-.4.5.1 1 .2-.6 0-.5 0-1z"/> + <path fill="#e8a30e" d="M322 269c-.2.3-.5.6 0 1q.2-.4 0-1m-2-1q.4-.2.9.4c-.6 0-.6 0-1-.4z"/> + <path fill="#e8a30e" d="M320.2 268.4c.2 0 .6-.2.9.4-.6 0-.6 0-.9-.4"/> + <path fill="#e8a30e" d="M320.4 268.7q.5-.2 1 .4c-.6 0-.6 0-1-.4"/> + <path fill="#e8a30e" d="M320.7 269.2c.2 0 .6-.3 1 .4-.5 0-.5-.2-1-.4"/> + <path fill="#e8a30e" d="M321.1 269.5q.4-.1.8.5c-.5 0-.5 0-.8-.5m3.8-.7a26 26 0 0 0-.7 7.5h.2q-.2-4 .7-7.4zm1-2.3c-.4.3-.5.3-.5.9q.5-.2.5-.9"/> + <path fill="#e8a30e" d="M325.1 266.6q.5.4.2 1c-.3-.4-.3-.4-.2-1"/> + <path fill="#e8a30e" d="M325 267.3q.6.2.2.8c-.2-.3-.3-.3-.2-.9z"/> + <path fill="#e8a30e" d="M324.9 267.6q.5.2.2 1-.5-.4-.2-1"/> + <path fill="#e8a30e" d="M324.7 268q.5.4.2 1c-.4-.4-.1-.5-.2-1"/> + <path fill="#e8a30e" d="M324.5 268.5c.2.3.6.5.3 1-.3-.4-.3-.4-.3-1m1.6-1.5c-.2.2-.6 0-.7.7q.6-.1.7-.7"/> + <path fill="#e8a30e" d="M326 267.5q-.4-.1-.7.6c.5-.2.5-.1.7-.6"/> + <path fill="#e8a30e" d="M325.9 267.9q-.5-.1-.8.6c.6-.2.6-.1.8-.6"/> + <path fill="#e8a30e" d="M325.7 268.4c-.2 0-.6-.2-.7.6q.4 0 .7-.6"/> + <path fill="#e8a30e" d="M325.4 268.8c-.2.1-.4 0-.5.7q.5-.1.5-.7m.2.4c-.9 2.1-1 4.1-.8 7h.2c-.2-3-.1-4.9.7-7zm1.5-2.3c-.5.3-.6.2-.6.8q.4-.1.6-.8"/> + <path fill="#e8a30e" d="M326.3 267c.1.2.4.5 0 1-.3-.5-.2-.5 0-1"/> + <path fill="#e8a30e" d="M326 267.5q.6.4.1 1c-.1-.5-.2-.5 0-1z"/> + <path fill="#e8a30e" d="M325.9 267.8c.1.3.4.5 0 1-.3-.4-.2-.4 0-1"/> + <path fill="#e8a30e" d="M325.6 268.3q.5.4.1 1c-.3-.5 0-.5-.1-1"/> + <path fill="#e8a30e" d="M325.4 268.7q.5.3.1 1c-.2-.4-.3-.4-.1-1m1.7-1.2c-.2.1-.6 0-.8.5.6 0 .6 0 .8-.5"/> + <path fill="#e8a30e" d="M327 268q-.4-.2-.8.4c.6-.1.5 0 .8-.5z"/> + <path fill="#e8a30e" d="M326.8 268.3q-.5-.1-.8.5c.6-.1.5 0 .8-.5"/> + <path fill="#e8a30e" d="M326.6 268.8c-.2 0-.6-.3-.8.5.4 0 .4-.3.8-.5"/> + <path fill="#e8a30e" d="M326.3 269.2q-.5-.1-.7.5.4 0 .6-.5zm0 .5c-1.1 2-1 4-.6 6.3h.2l-.3-2.9a6 6 0 0 1 .8-3.3h-.1zm1.9-2c-.5.1-.7 0-.8.6q.6 0 .8-.7z"/> + <path fill="#e8a30e" d="M327.4 267.5c0 .3.3.6-.2 1-.2-.5-.1-.5.2-1"/> + <path fill="#e8a30e" d="M327 268q.4.4 0 .9c-.1-.4-.2-.4 0-.9"/> + <path fill="#e8a30e" d="M326.8 268.3q.3.4-.1 1c-.2-.5-.2-.5.1-1"/> + <path fill="#e8a30e" d="M326.5 268.7c0 .3.4.6-.1 1-.2-.6 0-.5 0-1z"/> + <path fill="#e8a30e" d="M326.2 269c.1.4.4.7 0 1-.2-.4-.2-.4 0-1m2-.8c-.3 0-.6-.2-1 .4.6 0 .6 0 1-.4"/> + <path fill="#e8a30e" d="M327.9 268.6c-.2 0-.6-.2-.9.3.6 0 .6 0 .9-.3"/> + <path fill="#e8a30e" d="M327.7 268.9c-.3 0-.7-.2-1 .4.7 0 .6 0 1-.4"/> + <path fill="#e8a30e" d="M327.4 269.4c-.2 0-.6-.4-1 .3q.6 0 1-.3"/> + <path fill="#e8a30e" d="M327 269.7q-.4-.2-.8.4.5.1.8-.4m-3.5 2.7h1.1q1.1 0 1.2.4t-1.2.3h-1.1q-1.2 0-1.3-.4c-.1-.4.6-.3 1.3-.3"/> + <path fill="#e8a30e" d="m322.7 272.4-.4.6h.4l.4-.6zm.9 0-.4.6h.4l.4-.6zm.9 0-.4.7h.4l.4-.7zm.8 0-.3.7h.4l.3-.6h-.2z"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="m316.5 268.8.5 2.7.2.2v1.1l.5 1.6.3.6h.4l.1.2-.2.2h-.6l-.3-.1v-.3h-.2l-.1-.6-.8-1-.2-.5-.3-.3c-.5-1-1-3-1-3m-6.4-1 1.8.4-.5 2.6q-.4 1-.2 1 .2.7 1.1 2.3l.6.4.5.3h.5l.1-.2-.5-.2c0-.3-.5-.8-.5-1.2-.3-.7-.2-.7-.2-1.5l.5-1.6q.4-1 .5-2l-.8-1.7-.5-.7m-1.6-1.1c-2.9 1-1.7 3.5-.9 3.6m9.2-8.1.4-1v-.4l-.7.9"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M319.2 262.4h.4v-.6q-1-.4-1-.7v-.2c0-.2-.8-.3-1-.4l-.4-.2h-.2c-.8 0-1.1.7-1.2 1.2 0 0-.2 2.1-.5 3l-.2.3-.2.2-4.2-.2c-.8 0-1.8.7-1.8.7s-1 .6-1.1 1.6q-.1.5.1 1c1 2.7 1.8 0 2.1.1h.4c.5 0 1.4 1.5 2.7 1.8 4 .9 5-1.2 5-5.8v-.2l.2-.4v-.8l1-.2.2-.1"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="m317.3 261 .4-1v-.4l-.9 1m-8.9 7.6.7 1.8q-.1.6-.3.7h-.2l-.2.6v.6c0 .7.4 2.2.4 2.3q.2 0 .3.2v1.2q.1.3.3.3h.6l-.4-.4v-.2q0-.3.3-.5v-.3l-.1-.2-.1-.9v-1.1l.2-.2.1-.2 1-.6.8-1 .2-.5v-.2l-.3-.9-.6-.8m5.9 1.8c-.5.4-1.8.7-1.8 1 0 0 0 1.6-.2 2.2l-.3.6-.2.7-.3 1v.3l.4.3h-.4l-.6-.2V274l-.2-1.4.1-1-.1-3.6m4.7-5.4q.3.4 1.3.1.2.3.6-.2m-.3-.5h.2s.1 0 0 0z"/> + <path d="M317.8 261.4q.3.4.6.1-.3-.3-.5-.1z"/> + <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M329.1 272.9v2.9c.2.2 1 .2 1.2 0v-17.2h-.9v4.9l-.1.8v3.2q-.2.4 0 .8v.7l-.1.8z"/> + <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M329.1 273.6c.3.2 1 .1 1.2 0m-1.2-.7h1.2m-1.2-.8h1.2m-1.1-.7h1.1m-1.1-.8h1.1m-1.1-.8h1.1m-1-.8h1m-1-.7h1m-1-.8h1m-1-.8h1m-1-.8h1m-1-.8h1m-1-.8h1m-1-.7h1m-1-.8h1m-1-.8h1m-.9-.8h.8m-.8-.8h.8m-.8-.8h.8m-.8-.7h.8m-1 15.5h1.1m-1.2.7h1.2"/> + <path fill="#007934" fill-rule="evenodd" stroke="#e7e7e7" stroke-width=".1" d="M331.5 257h2.1l-.8-.3h2.2l-1-.5 2.2.1-1-.5c.9 0 1.2 0 2 .2l-.9-.5 2.5-.2a9 9 0 0 0-8 .8l1-1.1h-.7q.5-.6 1.2-1l-.7.1 1.4-1-.9.1 1.6-1.1h-1l2-1.3c-3.3.4-5.1 2.8-5.3 4.8a7 7 0 0 0-6.6-3.6q1.5.5 2.4 1l-1 .1q1.1.3 2 1h-1l1.8.8-.8.1 1.5.8h-.8c1 .4 1.1.6 1.3.7a8 8 0 0 0-7.3 3l2.2-1-.5.8q.9-.6 2-1l-.4.7 1.8-1-.4.8 1.7-.7-.5.7 1-.4a6 6 0 0 0-2.9 5.8l.9-2v1l1-2v1l1-2v1l1.1-1.9v.8l.3-.6.7-.9.2.3q.4.7.5 1.8l.2-.9c.3.7.7 1.8.7 2.4l.2-1c.3.5.6 1.8.7 2.3l.3-.9q.4 1.3.5 2.3c.8-3-.4-4.9-1.8-6.3q.6.2 1.3 1l-.3-.9 1.5 1.4-.2-.8q.9.8 1.5 1.6l-.2-1a6 6 0 0 1 1.3 1.8l-.1-1q1 1 1.3 1.7c0-2.7-3.1-5-6-5.3z"/> + <path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M330.3 257.1c3.1-.5 7.2 2.3 7.2 5.3l-1.3-1.8.1 1-1.3-1.7.2 1q-.6-.8-1.5-1.6l.2.8-1.5-1.4.3 1q-.8-1-1.3-1.1m-1.8-1.5c-1.9-1.2-5.8-1-8.7 2.3l2.2-.9-.5.8q.9-.6 2-1l-.4.7 1.8-1-.4.8 1.7-.7-.5.7 1-.4"/> + <path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M329.7 256.6c-.4-2.2-3-4.8-6.9-4.6q1.5.5 2.4 1l-1 .1q1.1.3 2 1h-1l1.8.8-.8.1 1.5.7-.7.1c1 .4 1 .6 1.2.7m1.5 1c-2.6.8-5.1 3.3-4.7 6.7 0-.4.5-1.5.8-2v1l1-2v1l1-2v1l1.1-1.9v.8l1-1.5m-1.6.2-.5 1.4m-.5-.8-.5 1.9m-.5-1-.5 2"/> + <path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M329.9 258.6v-.6" class="bo-fil1 bo-str2"/> + <path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M332.6 261.3v1.3m-1-3 .1 1.6m-1-2.7.1 1.3m4.8-.4.6 1.2m-2-2.1.8 1.4m-2-1.8.7 1.2m-10.6-.8a5 5 0 0 1 1.7-1.2m-.2 1c.4-.6.6-.9 1.6-1.3m-.2 1q.5-.6 1.7-1.1m-.4 1.2q.7-.6 1.6-1m-3.7-4q1.2 0 2.2.6m-1.2.4q1 0 1.8.4m-1 .4q1 0 2 .6m-1.3.2a4 4 0 0 1 1.7.6m.9.2a9 9 0 0 1 8.5-1.2l-2.4.2q.6.1.8.4h-2q.6 0 1 .4H334l1 .3h-2.2l.8.3q-1.4 0-2 .2m4.8-1.6a6 6 0 0 0-2.2-.4m1 .7a6 6 0 0 0-2.5-.2m1.3.6a7 7 0 0 0-2.5-.2m1.3.7a5 5 0 0 0-2-.1m.8 1q.5.5.8 1.1m-3-3.1c.2-2 2-4.4 5.3-4.8l-2 1.3h1q-.9.4-1.6 1.1h.9l-1.4 1 .7-.1-1.2.9h.7l-1 1.1m2-4q-.8.2-1.6.7m1 .4-1.5.5m.9.4q-.7.2-1.5.7m1 .2a3 3 0 0 0-1.4.8m-.5 2.4-.3 1.1m1.2-2c1.8 1.6 4.1 3.7 3 7.6a6 6 0 0 0-.4-2.2l-.3.9a7 7 0 0 0-.7-2.4l-.2 1-.7-2.4-.2.9q0-1.4-.7-2"/> + <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="m293.3 233.5 1.3.7.3-.6q.2-.5.1-.6 0-.3-.5-.5t-.7-.2q-.3 0-.5.4l-.2.5q0 .2.2.3m1.6 1 1.7.8h.3l.3-.5.3-.6v-.4l-.2-.2-.3-.2q-1.1-.6-1.7.3l-.4.7m-2.6-.8.6-1.2.6-.7.6-.4h.9q.3.1.4.6.2.3.1.7l1-.6 1 .1q.4.3.6 1t-.4 1.7l-.7 1.3-.3.7-1.4-.9-1.8-1-1.5-.7.3-.6m9-10.8q-1.2 1 .3 2.6.8 1 1.5 1 .6.2 1.3-.3.5-.4.4-1a3 3 0 0 0-.8-1.5q-.8-1-1.4-1.2-.8-.1-1.4.4m3.8-.2q.7 1 .7 2a3 3 0 0 1-1.2 2 3 3 0 0 1-2 .7 2 2 0 0 1-1.8-1 3 3 0 0 1-.7-2q0-1 1-2a3 3 0 0 1 2-.7q1.1 0 2 1m8-2.6.3 1 1.9-.7h.3l.3.7-.5.1-2.4.7-.7.2-.4-1.6-.5-2-.5-1.5.6-.2.7-.2.3 1.6.6 2m9.2-3v-1.6h.8l.7.1-.3 1.7-.2 2-.1 1.6h-.7l-.7-.1.3-1.7.2-2m9.9 5.3 3.1-2.7.4.2.4.2-4.7 3.6-.5-.3.2-2 .4-3.8 1.2.7-.5 4m8.4 4 1.2-1.3.4.6.5.4-1.3 1.1-1.5 1.4-1.1 1.1-.5-.5-.5-.5 1.3-1 1.5-1.4m5 10 1.3-1.4h-2l.7 1.4m-1.1-1.3-2 .1-.1-.3-.2-.4h5.9l.3.6-4 4.3-.2-.7-.3-.6 1.4-1.3-.4-.8-.4-1" font-family="Linux Biolinum" font-size="100" font-weight="700" letter-spacing="60" style="line-height:125%;text-align:center" text-anchor="middle" word-spacing="0"/> + <path fill="#e8a30e" stroke="#000" stroke-linecap="square" stroke-linejoin="round" stroke-width=".1" d="m325 280.6-.8 2.2h-2.4l1.9 1.5-.7 2.2 2-1.3 1.8 1.3-.6-2.2 1.8-1.4h-2.3zm9-3.9-.7 2.2H331l1.8 1.5-.7 2.2 2-1.3 1.9 1.3-.7-2.2 1.9-1.4h-2.4zm14.2-25-.8 2.3h-2.3l1.8 1.4-.6 2.3 1.9-1.4 1.9 1.4-.7-2.3 1.9-1.4h-2.4zm-6.7 17.9.7 2.2h2.4l-1.9 1.4.7 2.3-2-1.4-1.9 1.4.7-2.3-1.8-1.4h2.3zm4.7-8.2.8 2.2h2.3l-1.9 1.5.7 2.2-1.9-1.3-2 1.3.8-2.2-1.9-1.4h2.3zm-31.1 19.2.8 2.2h2.3l-1.9 1.5.7 2.2-2-1.3-1.8 1.3.6-2.2-1.8-1.4h2.3zm-9.2-3.9.8 2.2h2.4l-2 1.5.8 2.2-2-1.3-1.9 1.3.7-2.2-1.9-1.4h2.4zm-14-25 .7 2.3h2.3l-1.8 1.4.6 2.3-1.9-1.4-1.9 1.4.7-2.3-1.9-1.4h2.4zm6.6 17.9-.7 2.2h-2.4l1.9 1.4-.7 2.3 2-1.4 1.9 1.4-.7-2.3 1.8-1.4h-2.3zm-4.7-8.2-.8 2.2h-2.3l1.9 1.5-.7 2.2 1.9-1.3 2 1.3-.8-2.2 1.9-1.4h-2.3z"/> + <path fill="#e7e7e7" d="M321 248.1v-.5h.1l-.8-.5h-.7l-.8.5v.5h2.3"/> + <path fill="#e7e7e7" d="M321 248.1v-.5h.1l-.8-.5v-.7h-.6v.7l-.9.5v.5h2.3zm.3.6v.2h-2.6v-.2z"/> + <path fill="#e7e7e7" d="M321.3 248.7v.2h-2.6v-.2zm-2.5 0v-.5h.1v.5-.5h-.1v-.1h2.4v.1h-.2v.5-.5h.1v.5"/> + <path fill="#e7e7e7" d="M318.9 248.7v-.5zv-.5h-.1v-.1h2.4v.1h-.2v.5-.5h.1v.5"/> + <path fill="#e7e7e7" d="M319.4 248.6v-.4h-.4v.4z"/> + <path fill="#e7e7e7" d="M319.1 248.3v.2h.2v-.2zm1.8.3v-.4h-.3v.4z"/> + <path fill="#e7e7e7" d="M320.7 248.3v.2h.1v-.2zm.2-.3v-.3h-.3v.3z"/> + <path fill="#e7e7e7" d="M320.7 247.7v.2h.1v-.2zm-1.3.3v-.3h-.4v.3z"/> + <path fill="#e7e7e7" d="M319.1 247.7v.2h.2v-.2zm.8.3v-.3h-.3v.3z"/> + <path fill="#e7e7e7" d="M319.7 247.7v.2h.1v-.2zm.7.3v-.3h-.3v.3z"/> + <path fill="#e7e7e7" d="M320.1 247.7v.2h.2v-.2zm.4.2v.8h-1v-.8z"/> + <path fill="#e7e7e7" d="M320.5 247.9v.8h-1v-.8zm-1 .2h1m-.9.6v-.6m.7.6v-.6m.5-.5-.5-.4h-.6l-.5.4zm-1-.5h.4m-.3-.1h.2zm.1 1h.1zm.3 0h.1"/> + <path fill="#e7e7e7" fill-rule="evenodd" d="M319.8 246h.4v.4h-.4z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M320 245.6v.4m-.2-.2h.4"/> + <path fill="#452c25" d="M317.1 210.3s-2.3 5.4-1.5 6c0 0 3-3.3 3.7-5.9s0-.2 0-.2l-.2-2.8-2 2.7"/> + <path fill="none" stroke="#000" stroke-width=".2" d="M317.1 210.3s-2.3 5.4-1.5 6c0 0 3-3.3 3.7-5.9s0-.2 0-.2l-.2-2.8-2 2.7"/> + <path fill="#452c25" d="M317.6 207.7s-2.8 6-2.1 6.4c0 0 2.3-2.7 3-4.8.5-2.1 0-.1 0-.1l.7-3.9"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M317.6 207.7s-2.8 6-2.1 6.4c0 0 2.3-2.7 3-4.8.5-2.1 0-.1 0-.1l.7-3.9"/> + <path fill="#452c25" d="M320.5 206.4s-2.8 6-2.1 6.4c0 0 2.3-2.7 3-4.8.5-2.2 0-.2 0-.2l.7-3.8"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M320.5 206.4s-2.8 6-2.1 6.4c0 0 2.3-2.7 3-4.8.5-2.2 0-.2 0-.2l.7-3.8"/> + <path fill="#452c25" d="m356.8 195.6 3.4 1.9s.8.7-1 .3a42 42 0 0 1-12.8-6.4c-3.3-2-4.3-2-4.3-2l4.5.1z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m356.8 195.6 3.4 1.9s.8.7-1 .3a42 42 0 0 1-12.8-6.4c-3.3-2-4.3-2-4.3-2l4.5.1z"/> + <path fill="#452c25" d="m358 194.8 3.3 1.9s.8.7-1 .3a45 45 0 0 1-12.8-6.4c-3.3-2.1-.6 1.7-.6 1.7l.5-2.5 10.5 5z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m358 194.8 3.3 1.9s.8.7-1 .3a45 45 0 0 1-12.8-6.4c-3.3-2.1-.6 1.7-.6 1.7l.5-2.5 10.5 5z"/> + <path fill="#452c25" d="M363.5 196.6s-4-.7-5.4-1.8c0 0 .2.5-1.7-.4 0 0 .7 1.7-4.8-2s-3.6-2-3.6-2l1.6-.3 9.3 3.7z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M363.5 196.6s-4-.7-5.4-1.8c0 0 .2.5-1.7-.4 0 0 .7 1.7-4.8-2s-3.6-2-3.6-2l1.6-.3 9.3 3.7z"/> + <path fill="#452c25" d="m342.6 198.1 1.4 1.9s-.5 1.8-5.1-1.7-4.4-3.2-4.4-3.2l2.6-.3 5.6 3.2"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m342.6 198.1 1.4 1.9s-.5 1.8-5.1-1.7-4.4-3.2-4.4-3.2l2.6-.3 5.6 3.2"/> + <path fill="#452c25" d="M336.6 199s2.2 2.9 1.7 3.2-3 .2-4.8-2.5c-1.9-2.8 0-.2 0-.2v-4.4z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M336.6 199s2.2 2.9 1.7 3.2-3 .2-4.8-2.5c-1.9-2.8 0-.2 0-.2v-4.4l3.2 3.8"/> + <path fill="#452c25" d="M338.8 197.8s2.1 2.6 1.9 3-3.2.2-5.5-2.5c-2.3-2.6-.3-3.4-.3-3.4l3.9 2.7"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M338.8 197.7s2.1 2.7 1.9 3.1-3.2.2-5.5-2.5c-2.3-2.6-.3-3.4-.3-3.4z"/> + <path fill="#452c25" d="M350.6 196.2s6 2.5 1.6 2.4c0 0-8.6-2.3-13-6.2l1.2-1.6 10.2 5.2"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M350.6 196.2s6 2.5 1.6 2.4c0 0-8.6-2.3-13-6.2l1.2-1.6 10.2 5.2"/> + <path fill="#452c25" d="M353.8 195.4s3.1 2 3.4 2.7-10-1.9-15.3-6.3l2.4-1.2 9.4 4.8z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M353.8 195.4s3.1 2 3.4 2.7-10-1.9-15.3-6.3l2.4-1.2 9.4 4.8z"/> + <path fill="#452c25" d="M344.5 197.2s2.3 1.9 2 2.1-5-.5-8.6-3.3l.4-1.7z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M344.5 197.2s2.3 1.9 2 2.1-5-.5-8.6-3.3l.4-1.7 6.2 2.8"/> + <path fill="#452c25" d="M348.4 197s2.3 1.6 1.8 1.8-2.2 1.6-10.7-3.4l-1-.6 1.3-2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M348.4 197s2.3 1.6 1.8 1.8-2.2 1.6-10.7-3.4l-1-.6 1.3-2z"/> + <path fill="#452c25" d="M339.7 192.4s2.8 2.4 2.4 2.8-3.6-.4-5-1.5c-1.5-1-2.6-2.4-2.6-2.4l3-.7z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M339.7 192.4s2.8 2.4 2.4 2.8-3.6-.4-5-1.5c-1.5-1-2.6-2.4-2.6-2.4l3-.7z"/> + <path fill="#452c25" d="m336.4 188.3 5 3s4.1 2.8 3.7 3.1-3.7-.8-6-2c-2.2-1.3-5-4-5-4"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m336.4 188.3 5 3s4.1 2.8 3.7 3.1-3.7-.8-6-2c-2.2-1.3-5-4-5-4"/> + <path fill="#452c25" d="M333.2 202.4s1 2.4.4 2.6-2-.2-3-2.3c-1.2-2.2 1-1.3 1-1.3z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M333.2 202.4s1 2.4.4 2.6-2-.2-3-2.3c-1.2-2.2.7-1.3.7-1.3z"/> + <path fill="#452c25" d="M334.9 200.9s1.4 2.3 1.1 2.6c-.3.2-2.2 1-4.2-2s2.1-2.3 2.1-2.3z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M334.9 200.9s1.4 2.3 1.1 2.6c-.3.2-2.2 1-4.2-2s2.1-2.3 2.1-2.3z"/> + <path fill="#452c25" d="M330.7 190.4s4.8 9.3 4.4 9.8-2.3 0-3.4-2.5-1.9-5.6-1.9-5.6z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M330.7 190.4s4.8 9.3 4.4 9.8-2.3 0-3.4-2.5-1.9-5.6-1.9-5.6z"/> + <path fill="#452c25" d="M336.3 192.8s4 3.3 3.2 3.8q-1.2.8-4.8-2.5c-2.3-2.3 1.6-1.5 1.6-1.5"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M336.3 192.7s4 3.5 3.2 3.9q-1.4.8-4.8-2.5c-3.4-3.3 1.6-1.4 1.6-1.4z"/> + <path fill="#452c25" d="M334.4 192.8s2.8 5.3 2.5 5.8c-.4.5-2.5-1.3-3.6-2.7-1-1.3-1.9-3.3-1.9-3.3"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M334.4 192.8s2.8 5.3 2.5 5.8c-.4.5-2.5-1.3-3.6-2.7-1-1.3-1.9-3.3-1.9-3.3"/> + <path fill="#452c25" d="M312.9 203.6s-.2 3.1 0 3.3c.2.3 1.7.3 1.8-2 .1-2.4-.3-2.5-.3-2.5z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M312.9 203.6s-.2 3.1 0 3.3c.2.3 1.7.3 1.8-2 .1-2.4-.3-2.5-.3-2.5l-1.5 1.1"/> + <path fill="#452c25" d="M313.8 199.9s-1 3.4 0 4.1 1.9-3.4 2-4.3c0-1-2 .2-2 .2"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M313.8 199.9s-1 3.4 0 4.1 1.9-3.4 2-4.3c0-1-2 .2-2 .2z"/> + <path fill="#452c25" d="M314.6 204.3s.2 3.2.8 3.4 1.6-1 1.6-1.8-1-2.8-1-2.8l-1.4 1"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M314.6 204.3s.2 3.2.8 3.4 1.6-1 1.6-1.8-1-2.8-1-2.8l-1.4 1"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M314.6 200.4s-1 3.5 0 4.2 1.9-3.4 2-4.4c0-.9-2 .2-2 .2z"/> + <path fill="#452c25" d="M314.7 194.8s-1.6 1.7-1.6 2.6 2.4-1.2 2.6-1.6-1-1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M314.7 194.8s-1.6 1.7-1.6 2.6 2.4-1.2 2.6-1.6-1-1-1-1z"/> + <path fill="#452c25" d="M313.6 194s-1.3 2.3-1 3 1.6-.5 2.2-1.4-1.2-1.7-1.2-1.7"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M313.6 194s-1.3 2.3-1 3 1.6-.5 2.2-1.4-1.2-1.7-1.2-1.7z"/> + <path fill="#452c25" d="M331.5 190.8s2 3.8 1.5 4q-1 .1-2.3-1.9c-.8-1.1.8-2.1.8-2.1"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M331.5 190.8s2 3.8 1.5 4q-1 .1-2.3-1.9c-.8-1.1.8-2.1.8-2.1z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M331.6 198.6s.7 3.3 0 3.6c-1.2.5-2-2.3-2-3.4s2-.2 2-.2zm-2.6 5.1s.2 2.5-.2 2.7c-.3.2-1.2.2-2.1-1.8l-.5-1.2 2.3-1.2.5 1.3"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M331.4 203.2s.2 2.5-.3 2.6c-.5 0-1.9-.8-2.5-2.3-.6-1.8 2.4-1.3 2.4-1.3z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M329 195.3s2.6 6 2.1 6.7c-.8 1.7-3.2-3.5-3.9-5.6-.8-2.2 1.7-1 1.7-1z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M327.7 196.3s3.6 6.5 2.1 6.6c-1.5.2-4.3-4.6-4.7-5.8-.5-1 2.6-.8 2.6-.8z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M327.5 197.7s1.8 6.2.6 5.6c-1-.5-2.5-5.2-2.6-6.2s2 .6 2 .6zm6.2-8.8s2.7 4.1 1.8 4.2c-.8.2-4-2.7-4-3.2-.1-.5 2.2-1 2.2-1z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M332 189s3.5 4.8 2.4 5c-1 .2-1.1-.5-1.1-.5s-2.8-2.5-3-3.1c-.1-.6 1.6-1.4 1.6-1.4m3.5.1s2.4 2.5 1.8 3.3-4-3.1-4.4-3.6 2.9.2 2.9.2m-6 3.5s3.8 7.5 3 8.2c-.6.8-4.9-5.6-5-6.5-.2-.9 2-1.8 2-1.8"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M327.5 193.2s1.5 2.3 1.4 3.6c0 1.2-2.3-1.8-2.5-2.4s1-1.2 1-1.2zm3.1-1.2s1.2 2.4.8 3.1-2-1.4-2.5-2.3 1.7-.8 1.7-.8z"/> + <path fill="#452c25" stroke="#000" stroke-width=".2" d="M325 194.4s2 2 1.9 3.1-2.8-1.6-3-2c-.3-.6 1.2-1.1 1.2-1.1z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M337.2 188.4s2.8 2.5 2.4 3c-.5.3-4.3-2.4-4.9-3-.6-.5 2.5 0 2.5 0z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="m334.8 188.2 2.2 1.9s2 1.3 1.7 1.7-3.6-1.1-4.1-1.8q-.8-1.2-.6-1.4zm7.3.6s8.4 3.4 8 4.2c-.3.8-8.8-2.7-10-3.7-1.4-.9 1.8-.6 1.8-.6"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M342.4 189.8s6.3 3.6 5.5 4-5.2-1-7.5-2.5l-3.3-2.5 2.8-.6zm-15.5 4.4s1.2 2.4.8 3c-.4.8-1.5-.5-2.1-1.4s1.3-1.6 1.3-1.6zm.3 5.4s1 3.5-.1 4.2c-1.1.6-1.8-3.6-1.8-4.5s1.9.3 1.9.3z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M322.3 193.8s3.5-1.5 4.1-1.4c0 0 .8-.2 1.1-.5l1.3-1s-.6-4.3 3.9-3.8l11.5 1.1a45 45 0 0 1 6.5 2l9 3.9 4 2.3c.8.5-.1.1-.1.1s-10.7-5.7-14.5-6.4c-1-.2 0 1 0 1l-3.4-1.3a6 6 0 0 0-2.9-.6 6 6 0 0 1-2.2-.3c-.6-.2-3.8-.3-4.4-.4l-1-.2.3.4-1.6-.2-.5.6s-1.5.3-1.6-.2-1 2.3-1.3 3c-.4.9-1.9.9-2.3 1.4l-1 .9c-.2.1-1.3.8-1.7.8l-2.9.2-.6-1zm4.6 10-.1 3.3c-.2.2-1.8.1-1.8-2.2s.5-2.4.5-2.4l1.5 1.2"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M327.3 201.4s-.3-1.4-.5-1.6 0-.3 0-.3-.5-1.4-.9-1.6c-.3-.2.1-.4.1-.4s-.6-1-1-1.2c-.4-.3 0-.4 0-.4s-.5-1.2-1.5-1.8c0 0-.7-.7-1.4-.9q-1.2-.4-4.5-.3c-2.2 0-3.2 1.5-3.2 1.5l-.1 1.8.3-.2-.5 2.2c0 .5.5 1.4.5 2.5v1q.2 1.5.8 2.9v.2c.2-.2.5.6.7 1 0 0 0 1 .2.6l.6 1.1c0 .2.5 1.4.5.9 0-.6.4 1.3.4 1.5l.5-.7.2.8h.5l-.2.8s1.2-1 1.3-1.4v-.6l.4-.4.6-1s1.5 1.2 1.7 1.7l.3.7.4-.3.3.8.3-.4.2.6.1.3c.1.1.4.2.8-.6q.8-1.7.6-2c0-.3.3.2.3.2s.6-1 .5-1.6.3-.4.3-.4v-2.2q.2-.4.3-.3l-.2-2.3c-.2-.2.3-.2.3-.2z"/> + <path d="M324.3 196.7q.4.1.6.6-.2-.6-.6-.8zm.3 1.2q.7.8.5 1.8v.1q.1-1.1-.5-2zm1.1.7a3 3 0 0 1 .4 1.6q.1-1-.4-1.7m.4 2.5q0 .6-.2 1v.2zm-.4 1.9v.7-.8m.7 0q.3.2.3.6v-.1l-.3-.7zm0-2.6.4.5v-.2l-.5-.5zm-1.4 2v1zm-.7.7v1-1.1z"/> + <path fill="#452c25" d="M310.7 194.3s-.8 3.2-.2 3.5c1.3.7 2-2.2 2.2-3.2.1-1.2-2-.3-2-.3"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M310.7 194.3s-.8 3.2-.2 3.5c1.3.7 2-2.2 2.2-3.2.1-1.2-2-.3-2-.3z"/> + <path fill="#452c25" d="M312.6 194.3s-1.6 1.7-1.6 2.6 2.4-1.3 2.6-1.7-1-.9-1-.9"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M312.6 194.3s-1.6 1.7-1.6 2.6 2.4-1.3 2.6-1.7-1-.9-1-.9z"/> + <path fill="#452c25" d="M285 194.5s-3.3 1.7-3.6 2.4 10-1 15.8-5l-2.3-1.4z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M285 194.5s-3.3 1.7-3.6 2.4 10-1 15.8-5l-2.3-1.4z"/> + <path fill="#452c25" d="M289 195.2s-6 2.2-1.7 2.3c0 0 8.7-1.8 13.3-5.4l-1.1-1.7z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M289 195.1s-6 2.3-1.7 2.4c0 0 8.7-1.8 13.3-5.4l-1.1-1.7z"/> + <path fill="#452c25" d="M298 189s-6.5 3.4-5.8 3.7 5.3-.6 7.7-2l3.4-2.4-2.9-.8-2.5 1.6z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M298 189s-6.5 3.4-5.8 3.7 5.3-.6 7.7-2l3.4-2.4-2.9-.8-2.5 1.6z"/> + <path fill="#452c25" d="M295.5 196.3s-2.3 1.9-2 2.1 5-.5 8.6-3.4l-.5-1.7z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M295.5 196.3s-2.3 1.9-2 2.1 5-.5 8.6-3.4l-.5-1.7-6.2 2.9"/> + <path fill="#452c25" d="M291.5 196s-2.2 1.7-1.7 1.8 2.3 1.5 10.6-3.9l1-.6-1.5-2-8.4 4.5"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M291.5 196s-2.2 1.7-1.7 1.8 2.3 1.5 10.6-3.9l1-.6-1.5-2z"/> + <path fill="#452c25" d="M289.8 189.6a66 66 0 0 0-13.9 7.2l17.9-7m11.2 10.6s-1.5 2.3-1.2 2.5 2.1 1.2 4.3-1.7c2-3-2-2.5-2-2.5z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M305 200.4s-1.5 2.3-1.2 2.5 2.1 1.2 4.3-1.7c2-3-2-2.5-2-2.5z"/> + <path fill="#452c25" d="M306.6 202s-1 2.4-.5 2.6 2-.1 3.2-2.2c1.2-2.2-.6-1.1-.6-1.1zm-3.3-3.5s-2.2 2.7-1.7 3.1c.4.4 3 .3 4.9-2.4l-.5-2.5-2.7 1.7"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M306.6 202s-1 2.4-.5 2.6 2-.1 3.2-2.2c1.2-2.2-.6-1.1-.6-1.1zm-3.3-3.5s-2.2 2.7-1.7 3.1c.4.4 3 .3 4.9-2.4l-.5-2.5-2.7 1.7"/> + <path fill="#452c25" d="M301.2 197.1s-2.2 2.6-2 3c.2.5 3.2.3 5.6-2.2s.5-3.5.5-3.5l-4 2.6"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M301.2 197.1s-2.2 2.6-2 3c.2.5 3.2.3 5.6-2.2s.5-3.5.5-3.5l-4 2.6"/> + <path fill="#452c25" d="m297.4 197.3-1.4 1.9s.3 1.8 5.1-1.5l4.5-3-2.5-.5z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m297.3 197.2-1.3 2s.3 1.8 5.1-1.5l4.5-3-2.6-.5z"/> + <path fill="#452c25" d="m282.2 194.5-3 1.3s-.7.6 1 .7c1.8 0 5.5-.5 11.9-4 2.8-1.7 4.7-3.3 4.7-3.3l-2.4-.8-12.2 6z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m282.2 194.5-3 1.3s-.7.6 1 .7c1.8 0 5.5-.5 11.9-4 2.8-1.7 4.7-3.3 4.7-3.3l-2.4-.8-12.2 6z"/> + <path fill="#452c25" d="M277 196.4s4.4-.5 6-1.6c0 0-.3.5 2-.4 0 0-1.2 2 5.3-2 6.5-3.8 0 0 0 0l7.2-4.1-.4-.8-14.7 6.2c-1 .3-5.4 2.7-5.4 2.7"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m290.3 192.4 7.2-4.1-.4-.8-14.7 6.2c-1 .3-5.4 2.7-5.4 2.7s4.4-.5 6-1.6c0 0-.3.5 2-.4 0 0-1.1 2 5.3-2z"/> + <path fill="#452c25" d="M308.5 202s-.4 3.4.1 3.5 2-1 2.6-3c.6-2.2-2.4-2-2.4-2l-.4 1.3"/> + <path fill="none" stroke="#000" stroke-width=".2" d="M308.5 202s-.4 3.4.1 3.5 2-1 2.6-3c.6-2.2-2.4-2-2.4-2l-.4 1.3"/> + <path fill="#452c25" d="M310.8 203.5s-.3 2.4 0 2.6c.4.3 1.3.4 2.3-1.6s.5-1.3.5-1.3l-2.3-1.2-.5 1.3"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M310.8 203.4s-.3 2.5 0 2.7c.4.3 1.3.4 2.3-1.6s.5-1.3.5-1.3l-2.3-1.2z"/> + <path fill="#452c25" d="M311.4 199s-1.9 4-.8 4 2.5-3 2.7-3.7-1.9-.3-1.9-.3"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M311.4 199s-1.9 4-.8 4 2.5-3 2.7-3.7-1.9-.3-1.9-.3z"/> + <path fill="#452c25" d="M311.3 199s-.8 4.5.2 4c1-.3 1.6-3.7 1.7-4.4s-2 .4-2 .4"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M311.3 199s-.8 4.5.2 4c1-.3 1.6-3.7 1.7-4.4s-2 .4-2 .4z"/> + <path fill="#452c25" d="M312.8 199.4s-1.1 3.5 0 4.2c1 .7 1.8-3.4 1.9-4.3 0-1-2 .1-2 .1"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M312.8 199.4s-1.1 3.5 0 4.2c1 .7 1.8-3.4 1.9-4.3 0-1-2 .1-2 .1z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M308.4 198.3s-1 3.2-.4 3.5c1.2.6 2.3-2.2 2.4-3.3.1-1.2-2-.2-2-.2zm-7.9-6.6s-2.8 2.4-2.5 2.7 3.6-.2 5.1-1.3l2.1-1.5-2.5-1.6z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M303 189.3s-1.8 1.5-1.5 1.9 3.6-1 4.2-1.7.6-1.3.6-1.3z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M304.9 189s-2.5 2.1-1.9 2.9 4-2.6 4.5-3-2.9 0-2.9 0"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="m303.8 188.2-5 2.3s-4.2 2.7-3.8 3 3.7-.6 6-1.7a38 38 0 0 0 5-3.1m-.9 2.1s-5.3 4.7-4.5 5.1c.8.5 4.4-1.4 6.8-3.7"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M305.8 192.4s-3 5-2.7 5.6c.4.5 2.6-1.2 3.7-2.5s2-3.2 2-3.2"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M307.6 192.8s-3.3 6.1-3 6.6c.4.5 2.4.1 3.5-2.3s1-4 1-4z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M309.5 193.1s-3.7 7.6-3 8.3 4.8-5.7 5-6.6c.3-1.6-2-1.8-2-1.8m-7.7-4.9s-3.3 1.6-2.7 2c.7.2 3.8-1.2 4.2-1.3s-1.5-.7-1.5-.7z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M302.3 188.6s-2 1.6-1.6 2c.4.5 3.5-1.2 4-1.7.7-.5-2.4-.3-2.4-.3zm4.3.2s-2.8 3.7-2 3.8c.9.2 4.1-2.4 4.2-2.8 0-.5-2.2-1-2.2-1z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M307.8 189.6s-3 3.7-2.1 4 1-.4 1-.4 2.3-2 2.4-2.5-1.2-1.2-1.2-1.2"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M308.7 190.5s-2.1 3.7-1.6 4 1.5-.8 2.4-1.9-.8-2.1-.8-2.1z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M309.3 192.2s-1.3 2.3-1 3 1.6-.5 2.2-1.3-1.2-1.7-1.2-1.7zm.5 6.5s-.8 3.2-.2 3.5c1.3.7 2-2.2 2.2-3.2.1-1.2-2-.3-2-.3z"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M315.7 194.4s-.9-.3-1.5-.3c0 0-1.9-1.4-3-1.6-1-.1 0-.2 0-.2s-.2-2.4-.5-2.6c0 0-.1-2.5-1.7-2.6s-5.1.1-5.7-.1-2.6-1-6.3 0c-3.8 1-11.2 4.3-11.6 4.4-.4 0 8.5-2 11-3l3.3-.5s-2.8 1.4-.2.8 2 0 2 0-.2.6 1.3.3c1.4-.4 1.4 0 1.4 0s1.7.6 3-.2c0 0 .7 2.3 1.6 2.6 0 0 1 2.2 3.1 2.6l1.2.9 1.2.4 1.3-1"/> + <path fill="#452c25" stroke="#000" stroke-width=".1" d="M298.3 188s-8.6 3-8.3 3.9c.4.8 9-2.4 10.3-3.2 1.4-1-2-.7-2-.7"/> + <path d="m321.8 194.6.5.2-.3-.3-.7-.3.1.2zM315 201l.3.8v-.2q0-.4-.3-.7zm1.2-6.5.9-.2v-.1l-.9.1zm1.7-.2.8-.1v-.1zm-3 1.5v.2zm-.1 4.6v.7-.1z"/> + <path fill="#bd8759" d="M316.6 213.9s-1 .7-1 1l-.2.8s.8-.1.7.3c0 0 .3.2.8-.8q.6-1.5 1.1-1.5.6.2 1 .6.2.4.8.3s-.4-.6-.2-.7l.6-.1s-.3-.7-.9-.8q-1-.2-1-.6c.2-.2 1-2.4 1-2.4l-1-1.5-.5 1.3.2 1-1 2.1c0 .1-2.4 1-2.7 1l-.8.9v.5s.3-.4.4-.2q0-.2.6-.2l.1.2.5-.4.1-.1.6-.1"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M316.6 213.9s-1 .7-1 1l-.2.8s.8-.1.7.3c0 0 .3.2.8-.8q.6-1.5 1.1-1.5.6.2 1 .6.2.4.8.3s-.4-.6-.2-.7l.6-.1s-.3-.7-.9-.8q-1-.2-1-.6c.2-.2 1-2.4 1-2.4l-1-1.5-.5 1.3.2 1-1 2.1c0 .1-2.4 1-2.7 1l-.8.9v.5s.3-.4.4-.2q0-.2.6-.2l.1.2.5-.4.1-.1.6-.1"/> + <path fill="#bd8759" d="M323.1 209.2v2.1q0 .6-.2 1.1t-.7.5c-.3 0-1 0-1.2.3l-.3.4s.5-.3.6 0l-.2.6.9-.2.8-.3.4.2v1c0 .4 0 1.2.3 1.2l.4-.5.5.5-.1-1.2-.3-1 1.5.6q.2.4.5.5c.1 0 0-.5.2-.5h.4s-.4-.8-1-1l-1.2-.6-.3-.9v-2.8l-1-.2"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M323.1 209v2.3q0 .6-.2 1.1t-.7.5c-.3 0-1 0-1.2.3l-.3.4s.5-.3.6 0l-.2.6.9-.2.8-.3.4.2v1c0 .4 0 1.2.3 1.2l.4-.5.5.5-.1-1.2-.3-1s1.4.5 1.5.7l.5.4c.1 0 0-.5.2-.5h.4s-.4-.8-1-1l-1.2-.6-.3-.9v-2.8z"/> + <path fill="#dcddde" d="M315 197.3s0-1.3.3-1.4c0 0 .1-1.2 1.7-1 0 0 .5-.9 1.4-.4 0 0 .8-.4 1.3-.2l1 .7s.7-.1 1 .1.2 1.1.2 1.1.8.6.8 1.1v.9s.3.3.2.7q-.2.8-.4 1c-.1 0 0 1-.3 1.3l-.8.5c-.2 0-.6.6-1 .6-.3 0-.8-.5-.8-.7s-.6-.4-.6-.4-1 1.2-1.8 1-1.1-.8-1.2-1l-.3-1s-.8-.4-.7-.9c0-.4.4-1 .4-1z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m317.8 212-.2-.1m.6-.9-.3-.1m0 .6h.2m5.5.5.5.2m-.2-.6h-.3m.4-.5h-.5m0 1.8.4.1m-.4.5h.2m-.1 1.6h.3m-5.1-2-.3.1m1-.1q-.2.1-.3.4m-4.5.5.4.3m10-1-.3.3m.7-.1v.2"/> + <path fill="#d9c0b9" d="M313.4 215h.6s-.3.7-.2.8-.5-.3-.3-.7"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M313.4 215h.6s-.3.7-.2.8-.5-.3-.3-.7z"/> + <path fill="#d9c0b9" d="M315.6 215.5s-.7 1 .1 1.5c0 0 0-1 .6-1.1z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M315.6 215.5s-.7 1 .1 1.5c0 0 0-1 .6-1.1z"/> + <path fill="#d9c0b9" d="m319.6 214.5-.2-.5.2-.3h.6s.4.9 0 1.3c0 0 0-.5-.2-.5z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m319.6 214.5-.2-.5.2-.3h.6s.4.9 0 1.3c0 0 0-.5-.2-.5z"/> + <path fill="#d9c0b9" d="M321 213.4h.3l.1.3v.3l-.3.2s-.5-.2-.4.5c0 0-.3-1.2.2-1.3"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M321 213.4h.3l.1.3v.3l-.3.2s-.5-.2-.4.5c0 0-.3-1.2.2-1.3z"/> + <path fill="#d9c0b9" d="m323.5 215.9.4-.4.4.2-.3 1.2-.2-.3z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m323.5 215.9.4-.4.4.2-.3 1.2-.2-.3z"/> + <path fill="#d9c0b9" d="m326 214.8.5 1s.6-.6-.2-1.5z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m326 214.8.5 1s.6-.6-.2-1.5z"/> + <path d="m323.3 195.9.2.2v-.1zm.1 2.2.4.7v-.2l-.4-.7zm-.4-1.6.5.6v-.2zm.5 3.5q0 .5-.2.8v.2q.3-.5.2-1.1zm.5 1v.6zm1.8 3.9.1 1.3-.1-1.5zm-.3.8-.4 1 .4-.8zm-10.3-2.9.7 1.2v-.1zm1.8 0-.5-.4v.2c.2 0 .3.4.5.4zm-1 1.8.5 1v-.2l-.5-1zm1.2.4.5.8v-.1q-.1-.5-.5-.8m0 1.3.2.7v-.1zm1.1.3.1.7v-.9.2m-.5 1q0 .5.3 1v-.2zm.2-4.4.8.3v-.1zm.2 1.2 1 .4-1-.6zm.3 1.2.6.6v-.1zm.4 1.6.2.7-.2-.8zm1-4v.5zm2.3-.9-.2.5v.1l.2-.4zm1 0v.9zm.2 1.6v.7-.8m.7 1.5q0 .5-.5.8v.1q.5-.2.5-.8m-2.4-1.5-.2.4v.1zm.3 1.8-.4.4v.1q.3 0 .4-.3zm-.9 1q-.4-.6-.3-1.3v-.1q-.2.8.3 1.5v-.2m-1-1-.1.5v-.6m2.6 1.3q0 .4-.3.7v.1l.3-.6zm1.7.7-.5.7v.2zm.8.8-.2 1.3v.1zm1-1.6v.5zM315 202l.1 1.3v-.2l-.1-1z"/> + <path fill="#fff" d="M318.8 196.3c.7-.6 1.7-1.3 2.7-1v-.2c-1-.2-2 .5-2.7 1.1zm3.5.8c-.8-.5-2-.6-2.7 0 .7-.5 2-.3 2.7.2zm-2.8 1.1q.6 1.5.5 3 .1-1.5-.5-3m-1.1.6v3zm1.5-.7q1.6.4 2.4 1.7v-.1a4 4 0 0 0-2.4-1.7zm-.8 1.3-.2 1.8q.3-.8.2-1.8m1.4-.1a3 3 0 0 1 1.2 2v-.1a3 3 0 0 0-1.2-2m-4.3 1.7q.3-.5.8-.7v-.1q-.6.1-.8.7zm1.4-5q-.2-.9-1-1.2v.1q.8.4 1 1.2zm-.8 0-1.5-.2v.1q.7 0 1.5.3zm1.5 0q.1-.9-.4-1.3.5.4.4 1.2m1.8.7q.8-.3 1.5-.2v-.2l-1.5.2zm.9 1.2a3 3 0 0 1 1.7 1v-.3a3 3 0 0 0-1.7-1zm-3.1 2c-.2.6 0 1.5-.9 1.8v.2c.8-.3.7-1.1.9-1.8z"/> + <path fill="#fff" d="M319.5 199q.6 1 .5 2.2v.3q.2-1.4-.5-2.7zm1-.1q1.1.2 1.4 1.4v-.2a2 2 0 0 0-1.4-1.5zm0 1q.3.9.1 1.8v.2c.3-.7 0-1.5 0-2.2v.2m-.4-2.6q1.1-.3 2.2.3v-.3q-1.1-.6-2.2-.2zm-1.4-1.5q.2-.9 1.2-1.3v-.2q-1 .3-1.3 1.3zm-.6.4q-.1-1-.7-1.9v.2q.5.8.6 1.8zm-.6.4a2 2 0 0 0-1-1.4v.3q.8.4 1 1.3zm-1-.3-1.2-.5v.2q.7.1 1.2.5zm2.2 3q.2 1-.2 1.9v.2q.5-1.1.2-2.3z"/> + <path fill="#fff" d="M319.4 198.9q.4 1 .4 2a6 6 0 0 0-.4-2.3zm.5-1q1 .4 1.7 1v-.3a4 4 0 0 0-1.7-.9zm-1.7-1.4v-1.7zm-1.2-.4-1.2-.8v.2l1.2.9zm-.2 3.3q-.4.3-.6.8v.2l.6-.7zm.9.5q0 .8-.6 1.2v.2q.6-.6.6-1.3s0-.3 0 0m2.1-3.6c.4-.6 1.3-.7 1.9-.9v-.2c-.6.2-1.5.2-2 .8v.3m-4 0-.5-.3v.2l.4.2v-.2m.1 3-.4.3v.2l.4-.2zm.5.1-.6.6v.2l.6-.6zm1 .3c-.1.6-.8 1.2-.3 1.8v-.2c-.3-.5.2-1 .4-1.4zm.7 0q0 .9-.2 1.7v.2l.2-2m1.9-.6q.6.7 1 1.8v-.2a5 5 0 0 0-1-1.9zm.2-.5q1.1.7 2 1.8v-.2q-.9-1.1-2-1.8z"/> + <path fill="#fff" d="M320.5 197.8h.8l.6.5.6.4.3.9v-.2l-.2-.7q-.1-.3-.5-.5l-.7-.4-.9-.2z"/> + <path fill="#fff" d="m322.3 199.3.2.6v-.1l-.2-.7zm-2-3.6 1.5-.4v-.3l-1.5.4zm-2 .2q0-.3.3-.7l.4-.8v-.3l-.4.7-.4.9zm-1.7 4.6.1 1.3v-1.2s0-.1 0 0m1 .7q-.3.4-.1 1v-.2zm.8-.5-.2.7v.2zs0-.2 0 0m0-1.5v.4zm-.3.2v.3-.7zm-.5-.2-.1.5v.2l.1-.4zm-.4 0-.8.6v.3l.8-.7zm-.6 0-.5.3v.3q.3 0 .5-.3v-.2m-1-.3-.4.2v.2q.3 0 .4-.2zm2.9 0v.4-.6zm.4-.2.1.6v-.7.1m.3 0v.3h.1l-.1-.6zm.4-.2.4.2v-.2l-.4-.2zm.2-.3.6.3v-.3l-.6-.3zm.5-1h.4v-.2l-.4-.1zm-.3-.6.4-.3v-.3l-.4.4zm-.4-.5.2-.5v-.2zm-.3-.2.4-.8v-.2l-.4.7zm-.9-.8v.9zm-1.3.2.2.3v.6l.1-.5-.3-.6zm-.2.5-.6-.4v.2l.6.5zm.8.2q0-1-.2-1.7v.3q.3.5.2 1.2zm1.2-.7v-.2z"/> + <path fill="#fff" d="m317.7 196.3.2-1v-.2l-.2 1zm3.5 2q.5 0 .7.6v-.4q-.2-.5-.7-.6zm-1 2v.7h.1v-1 .3m-.8-.5v1.2s0 .2 0 0v-1.4zm-.4.4-.3 1.2v.3s0 .1 0 0l.3-1.2zm.5.2v1.4-1.6zm-2.6.2v.5q.2-.4 0-.8zm1.2-.8v.4-.8zm.3 0h.1v.2-.2l-.1-.5v.2zm.4-.3.1.3v-.3l-.1-.4v.3m.8-.2.5.6v-.4l-.5-.6zm.5-.8.3.6v-.4l-.3-.5zm-4.3-2-.4-.2v.4l.4.3zm1.3-.5v.2zv-.4.2zm1-1v.8q-.2 0 0 .2v.1l.1-1.2v-.1.2m.2 1.5.5-.7v-.3l-.5.6zm.7 0 .2-.3v-.4l-.2.2v.4m1 .2h-.8v.4h.8zm-.3.9 1 .6v-.4l-1-.6z"/> + <path fill="#fff" d="m320 198 .8.5v-.4l-.8-.5v.2zm-2-1.4.1-.5v-.2.6m-2.3-1q.3.5.9.8l.6.7s.1-.4 0-.4l-.6-.6-1-.9v.4m.6 1-.4-.4v.3l.4.5zm-.3 2.5-.3.6v.4l.3-.6zm.3.4-.1.6v.3zv-.2zm1 1.8q.3-1 .2-2v.2q0 .8-.2 1.4zm.6-1.5v.9-1.3.2zm.6-.2q.3.3.2 1v.1q.2-.7-.2-1.5z"/> + <path fill="#fff" d="m318.6 199.3.3 1.7v-.3l-.2-1.7v.3m.5-.1.6 1v-.3l-.6-1zm1.1-1q-.1-.2-.5-.1v.3q.3 0 .5.2v-.3"/> + <path fill="#fff" d="M319.7 198.1h1.1v-.4h-1c-.1 0 0 .4 0 .4m.6-3q-.4.7-.5 1.3v.3s0 .1 0 0q0-.6.5-1.1zm-1.5.4.2 1v-.4l-.2-1zm-.3.5-.3-.5v.4l.2.5v-.3m-.5.2-1.2-.6v.4l1.2.6s.1-.4 0-.4"/> + <path fill="#dba05f" d="m318.5 196.2-2.2.4-1.8.2-1.3-.4c-.3 0-1.6-.2-2 .3l-.9.8c-.1.1-.7.6-.7.9q0 .4.4.5c.3 0 .9.6.9.7 0 .3.8.5 1.5.5 1.3 0 2-.7 4-.5 1 .2 3-.7 3.4-1.2q.7-.7.2-1.7c-.3-.6-1.4-.5-1.5-.5"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m318.5 196.2-2.2.4-1.8.2-1.3-.4c-.3 0-1.6-.2-2 .3l-.9.8c-.1.1-.7.6-.7.9q0 .4.4.5c.3 0 .9.6.9.7 0 .3.8.5 1.5.5 1.3 0 2-.7 4-.5 1 .2 3-.7 3.4-1.2q.7-.7.2-1.7c-.3-.6-1.4-.5-1.5-.5z"/> + <path d="m311.4 198.1.1-.1.1-.2.4-.3h.5-.2.2-.2l-.3.1z"/> + <path fill="none" d="m311.3 198 .4-.4.6-.3h.3"/> + <path fill="none" d="m312 197.4-.4.3q-.1.3-.3.3m.7-.5h.5m-.6 0h.5"/> + <path d="m312.4 197.9-.2.1-.1.1-.3.2-.3.1.4-.2-.4.2.4-.1-.3.1h.1s.3 0 .7-.4"/> + <path fill="none" d="m312.3 197.8-.3.2-.3.2-.2.1m.4-.1.2-.2.2-.2m-.4.4-.3.1m.4-.1-.3.1"/> + <path fill="#c6262c" d="M312.9 196.5s0-.6-.6-.8l-1.3-.2-.5.2-.6.2-.1.2q-.3.3-.3.6c.2.3 0 .3.2.3s-1 .3-.8.8c.3.6.5.4.6.3l.5-.2.7-.7 1-.4h.5z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M312.9 196.5s0-.6-.6-.8l-1.3-.2-.5.2-.6.2-.1.2q-.3.3-.3.6c.2.3 0 .3.2.3s-1 .3-.8.8c.3.6.5.4.6.3l.5-.2.7-.7 1-.4h.5z"/> + <path d="M312.2 197.8q0 .2-.3.3h-.3s.1-.4.3-.4z"/> + <path fill="#d9c0b9" d="M308.6 200.2s-.7-1.2 1.2-1.8c0 0 .6.3.8.6 0 0-.4.5-1.5.7 0 0-.5.1-.5.5"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M308.6 200.2s-.7-1.2 1.2-1.8c0 0 .6.3.8.6 0 0-.4.5-1.5.7 0 0-.5.1-.5.5z"/> + <path fill="#d9c0b9" d="M308.8 200s.8.2 1.3-.2q.7-.4.7-.1l-.2-.7-1 .5q-.6.1-.8.5"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M308.8 200s.8.2 1.3-.2q.7-.4.7-.1l-.2-.7-1 .5q-.6.1-.8.5z"/> + <path fill="#7a2e26" d="M311 199.6h.5v-.1zm-.3-2-.1.2v.1zm.5.2.3-.2v-.1q-.3 0-.3.2zm.5.8.2-.2h-.2zm.4-.2.4-.3v-.1zm-.7-.7q0 .2-.3.4v.1q.2-.1.3-.4m.3 2q.6 0 1-.2h-1zm1.6 0q.6-.5 1-1.3a2 2 0 0 1-1 1v.2m.3-.8q.4-.2.6-.8v-.1l-.6.8zm-.2-2 .7.4v-.1l-.7-.4zm6.3 1q.2-.8-.2-1.4.4.6.2 1.2zm-4.8-.7c.3.2 1 .7.8 1.2.3-.5-.4-1-.8-1.3zm2.1 2 .1-.3v.3"/> + <path fill="#5e3f17" d="m317.9 199.2.5-.2m-8.5-.3q-.6.1-1 .7.4-.6 1-.6"/> + <path fill="#842116" d="M309.7 197.3q.2 0 .3.2v.1-.3l-.3-.1m.7.4-.1-.6v.5m.6-.5q0-.5-.3-.6v.1q.3.2.3.6zm.5-.1q0-.5-.2-.6v.1l.2.3zm-.8-.7c.4-.2 1.4-.3 1.8.2v-.2c-.4-.4-1.4-.3-1.8 0"/> + <path fill="#7a2e26" d="M309.5 198.1v-.5s-.1 0 0 .1zm4.7 1.4.3-.5-.3.3zm.7 0 .1-.3v-.1.3m4.3-2.4v.8zm-.5.5v.7q.2-.4 0-.9zm-.4.3"/> + <path fill="#452c25" d="M324.3 210.5v.2l.1.1-.1-.4z"/> + <path fill="#dcddde" d="M314.4 195c-1.7 0-3.3-1-3.3-1a3 3 0 0 1-2.3-2.4c-.8-.4-1.6-2.5-1.6-2.5-1.3.7-3 0-3 0s0-.4-1.4 0c-1.5.3-1.3-.3-1.3-.3s.6-.6-2 0 .2-.8.2-.8c-.8.2-3.3.4-3.3.4q-1.3.2-2.8.8l-2.3.6-6.8 3-5.5 2.1c.2 0 3.4-2.1 7.5-4a88 88 0 0 1 10.3-3.9 10 10 0 0 1 6.5 0c.6.2 4.2 0 5.7 0 1.6.3 1.8 2.9 1.8 2.9.3.1.4 2.6.4 2.6s-1 0 .1.1c1 .2 2.9 1.7 2.9 1.7h.7s.4-.5.9-.7l1.5-.5h2l2 .3 1.2.3h.5c1-.5 3-1.2 3.4-1.1 0 0 .7-.2 1.1-.5l1.3-1s-.6-4.5 3.9-4l11.5 1.2a44 44 0 0 1 6.5 1.8l5.2 2.4 4 1.7c2.3 1 4 2.4 4 2.4l-3.7-1.8-2.6-.9-3.6-1.7c-3.5-1.6-3.5-1.7-4.9-1.8-1 0 .7 1.2.7 1.2l-4.1-1.7a6 6 0 0 0-2.9-.5 6 6 0 0 1-2.2-.3c-.6-.2-3.8-.3-4.4-.4l-1-.2.2.4-1.5-.3-.5.7s-1.5.3-1.6-.2-1 2.2-1.3 3-2.2.6-2.7 1l-1.6 1h-1.3c-.6 0-.1 0-1 .3 0 0-.9 0-1.2-.2l-1.4-.4-3.5-.2a5 5 0 0 0-2.7 1.1"/> + <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M314.4 195c-1.7 0-3.3-1-3.3-1a3 3 0 0 1-2.3-2.4c-.8-.4-1.6-2.5-1.6-2.5-1.3.7-3 0-3 0s0-.4-1.4 0c-1.5.3-1.3-.3-1.3-.3s.6-.6-2 0 .2-.8.2-.8c-.8.2-3.3.4-3.3.4q-1.3.2-2.8.8l-2.3.6-6.8 3-5.5 2.1c.2 0 3.4-2.1 7.5-4a88 88 0 0 1 10.3-3.9 10 10 0 0 1 6.5 0c.6.2 4.2 0 5.7 0 1.6.3 1.8 2.9 1.8 2.9.3.1.4 2.6.4 2.6s-1 0 .1.1c1 .2 2.9 1.7 2.9 1.7h.7s.4-.5.9-.7l1.5-.5h2l2 .3 1.2.3h.5c1-.5 3-1.2 3.4-1.1 0 0 .7-.2 1.1-.5l1.3-1s-.6-4.5 3.9-4l11.5 1.2a44 44 0 0 1 6.5 1.8l5.2 2.4 4 1.7c2.3 1 4 2.4 4 2.4l-3.7-1.8-2.6-.9-3.6-1.7c-3.5-1.6-3.5-1.7-4.9-1.8-1 0 .7 1.2.7 1.2l-4.1-1.7a6 6 0 0 0-2.9-.5 6 6 0 0 1-2.2-.3c-.6-.2-3.8-.3-4.4-.4l-1-.2.2.4-1.5-.3-.5.7s-1.5.3-1.6-.2-1 2.2-1.3 3-2.2.6-2.7 1l-1.6 1h-1.3c-.6 0-.1 0-1 .3 0 0-.9 0-1.2-.2l-1.4-.4c-.5-.2-3.1-.2-3.5-.2a5 5 0 0 0-2.7 1.1"/> + <path fill="#452c25" d="M314.6 194.4s-.2.2-.2.5v.2"/> + <path fill="#574f4c" d="m323.3 194 .7.5-.1-.1-.7-.6v.1"/> +</svg> diff --git a/apps/web/public/flags/bq.svg b/apps/web/public/flags/bq.svg new file mode 100644 index 00000000..0e6bc76e --- /dev/null +++ b/apps/web/public/flags/bq.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bq" viewBox="0 0 640 480"> + <path fill="#21468b" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 0h640v320H0z"/> + <path fill="#ae1c28" d="M0 0h640v160H0z"/> +</svg> diff --git a/apps/web/public/flags/br.svg b/apps/web/public/flags/br.svg new file mode 100644 index 00000000..719a763c --- /dev/null +++ b/apps/web/public/flags/br.svg @@ -0,0 +1,45 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-br" viewBox="0 0 640 480"> + <g stroke-width="1pt"> + <path fill="#229e45" fill-rule="evenodd" d="M0 0h640v480H0z"/> + <path fill="#f8e509" fill-rule="evenodd" d="m321.4 436 301.5-195.7L319.6 44 17.1 240.7z"/> + <path fill="#2b49a3" fill-rule="evenodd" d="M452.8 240c0 70.3-57.1 127.3-127.6 127.3A127.4 127.4 0 1 1 452.8 240"/> + <path fill="#ffffef" fill-rule="evenodd" d="m283.3 316.3-4-2.3-4 2 .9-4.5-3.2-3.4 4.5-.5 2.2-4 1.9 4.2 4.4.8-3.3 3m86 26.3-3.9-2.3-4 2 .8-4.5-3.1-3.3 4.5-.5 2.1-4.1 2 4.2 4.4.8-3.4 3.1m-36.2-30-3.4-2-3.5 1.8.8-3.9-2.8-2.9 4-.4 1.8-3.6 1.6 3.7 3.9.7-3 2.7m87-8.5-3.4-2-3.5 1.8.8-3.9-2.7-2.8 3.9-.4 1.8-3.5 1.6 3.6 3.8.7-2.9 2.6m-87.3-22-4-2.2-4 2 .8-4.6-3.1-3.3 4.5-.5 2.1-4.1 2 4.2 4.4.8-3.4 3.2m-104.6-35-4-2.2-4 2 1-4.6-3.3-3.3 4.6-.5 2-4.1 2 4.2 4.4.8-3.3 3.1m13.3 57.2-4-2.3-4 2 .9-4.5-3.2-3.3 4.5-.6 2.1-4 2 4.2 4.4.8-3.3 3.1m132-67.3-3.6-2-3.6 1.8.8-4-2.8-3 4-.5 1.9-3.6 1.7 3.8 4 .7-3 2.7m-6.7 38.3-2.7-1.6-2.9 1.4.6-3.2-2.2-2.3 3.2-.4 1.5-2.8 1.3 3 3 .5-2.2 2.2m-142.2 50.4-2.7-1.5-2.7 1.3.6-3-2.1-2.2 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2M419 299.8l-2.2-1.1-2.2 1 .5-2.3-1.7-1.6 2.4-.3 1.2-2 1 2 2.5.5-1.9 1.5"/> + <path fill="#ffffef" fill-rule="evenodd" d="m219.3 287.6-2.7-1.5-2.7 1.3.6-3-2.1-2.2 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2"/> + <path fill="#ffffef" fill-rule="evenodd" d="m219.3 287.6-2.7-1.5-2.7 1.3.6-3-2.1-2.2 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2m42.3 3-2.6-1.4-2.7 1.3.6-3-2.1-2.2 3-.4 1.4-2.7 1.3 2.8 3 .5-2.3 2.1m-4.8 17-2.6-1.5-2.7 1.4.6-3-2.1-2.3 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2m87.4-22.2-2.6-1.6-2.8 1.4.6-3-2-2.3 3-.3 1.4-2.7 1.2 2.8 3 .5-2.2 2.1m-25.1 3-2.7-1.5-2.7 1.4.6-3-2-2.3 3-.3 1.4-2.8 1.2 2.9 3 .5-2.2 2.1m-68.8-5.8-1.7-1-1.7.8.4-1.9-1.3-1.4 1.9-.2.8-1.7.8 1.8 1.9.3-1.4 1.3m167.8 45.4-2.6-1.5-2.7 1.4.6-3-2.1-2.3 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2m-20.8 6-2.2-1.4-2.3 1.2.5-2.6-1.7-1.8 2.5-.3 1.2-2.3 1 2.4 2.5.4-1.9 1.8m10.4 2.3-2-1.2-2.1 1 .4-2.3-1.6-1.7 2.3-.3 1.1-2 1 2 2.3.5-1.7 1.6m29.1-22.8-2-1-2 1 .5-2.3-1.6-1.7 2.3-.3 1-2 1 2.1 2.1.4-1.6 1.6m-38.8 41.8-2.5-1.4-2.7 1.2.6-2.8-2-2 3-.3 1.3-2.5 1.2 2.6 3 .5-2.3 1.9m.6 14.2-2.4-1.4-2.4 1.3.6-2.8-1.9-2 2.7-.4 1.2-2.5 1.1 2.6 2.7.5-2 2m-19-23.1-1.9-1.2-2 1 .4-2.2-1.5-1.7 2.2-.2 1-2 1 2 2.2.4-1.6 1.6m-17.8 2.3-2-1.2-2 1 .5-2.2-1.6-1.7 2.3-.2 1-2 1 2 2.1.4-1.6 1.6m-30.4-24.6-2-1.1-2 1 .5-2.3-1.6-1.6 2.2-.3 1-2 1 2 2.2.5-1.6 1.5m3.7 57-1.6-.9-1.8.9.4-2-1.3-1.4 1.9-.2.9-1.7.8 1.8 1.9.3-1.4 1.3m-46.2-86.6-4-2.3-4 2 .9-4.5-3.2-3.3 4.5-.6 2.2-4 1.9 4.2 4.4.8-3.3 3.1"/> + <path fill="#fff" fill-rule="evenodd" d="M444.4 285.8a125 125 0 0 0 5.8-19.8c-67.8-59.5-143.3-90-238.7-83.7a125 125 0 0 0-8.5 20.9c113-10.8 196 39.2 241.4 82.6"/> + <path fill="#309e3a" d="m414 252.4 2.3 1.3a3 3 0 0 0-.3 2.2 3 3 0 0 0 1.4 1.7q1 .8 2 .7.9 0 1.3-.7l.2-.9-.5-1-1.5-1.8a8 8 0 0 1-1.8-3 4 4 0 0 1 2-4.4 4 4 0 0 1 2.3-.2 7 7 0 0 1 2.6 1.2q2.1 1.5 2.6 3.2a4 4 0 0 1-.6 3.3l-2.4-1.5q.5-1 .2-1.7-.2-.8-1.2-1.4a3 3 0 0 0-1.8-.7 1 1 0 0 0-.9.5q-.3.4-.1 1 .2.8 1.6 2.2t2 2.5a4 4 0 0 1-.3 4.2 4 4 0 0 1-1.9 1.5 4 4 0 0 1-2.4.3q-1.3-.3-2.8-1.3-2.2-1.5-2.7-3.3a5 5 0 0 1 .6-4zm-11.6-7.6 2.5 1.3a3 3 0 0 0-.2 2.2 3 3 0 0 0 1.4 1.6q1.1.8 2 .6.9 0 1.3-.8l.2-.8q0-.5-.5-1l-1.6-1.8q-1.7-1.6-2-2.8a4 4 0 0 1 .4-3.1 4 4 0 0 1 1.6-1.4 4 4 0 0 1 2.2-.3 7 7 0 0 1 2.6 1q2.3 1.5 2.7 3.1a4 4 0 0 1-.4 3.4l-2.5-1.4q.5-1 .2-1.7-.4-1-1.3-1.4a3 3 0 0 0-1.9-.6 1 1 0 0 0-.8.5q-.3.4-.1 1 .3.8 1.7 2.2 1.5 1.5 2 2.4a4 4 0 0 1 0 4.2 4 4 0 0 1-1.8 1.6 4 4 0 0 1-2.4.3 8 8 0 0 1-2.9-1.1 6 6 0 0 1-2.8-3.2 5 5 0 0 1 .4-4m-14.2-3.8 7.3-12 8.8 5.5-1.2 2-6.4-4-1.6 2.7 6 3.7-1.3 2-6-3.7-2 3.3 6.7 4-1.2 2zm-20.7-17 1.1-2 5.4 2.7-2.5 5q-1.2.3-3 .2a9 9 0 0 1-3.3-1 8 8 0 0 1-3-2.6 6 6 0 0 1-1-3.5 9 9 0 0 1 1-3.7 8 8 0 0 1 2.6-3 6 6 0 0 1 3.6-1.1q1.4 0 3.2 1 2.4 1.1 3.1 2.8a5 5 0 0 1 .3 3.5l-2.7-.8a3 3 0 0 0-.2-2q-.4-.9-1.6-1.4a4 4 0 0 0-3.1-.3q-1.5.5-2.6 2.6t-.7 3.8a4 4 0 0 0 2 2.4q.8.5 1.7.5h1.8l.8-1.6zm-90.2-22.3 2-14 4.2.7 1.1 9.8 3.9-9 4.2.6-2 13.8-2.7-.4 1.7-10.9-4.4 10.5-2.7-.4-1.1-11.3-1.6 11zm-14.1-1.7 1.3-14 10.3 1-.2 2.4-7.5-.7-.3 3 7 .7-.3 2.4-7-.7-.3 3.8 7.8.7-.2 2.4z"/> + <g stroke-opacity=".5"> + <path fill="#309e3a" d="M216.5 191.3q0-2.2.7-3.6a7 7 0 0 1 1.4-1.9 5 5 0 0 1 1.8-1.2q1.5-.5 3-.5 3.1.1 5 2a7 7 0 0 1 1.6 5.5q0 3.3-2 5.3a7 7 0 0 1-5 1.7 7 7 0 0 1-4.8-2 7 7 0 0 1-1.7-5.3"/> + <path fill="#f7ffff" d="M219.4 191.3q0 2.3 1 3.6t2.8 1.3a4 4 0 0 0 2.8-1.1q1-1.2 1.1-3.7.1-2.4-1-3.6a4 4 0 0 0-2.7-1.3 4 4 0 0 0-2.8 1.2q-1.1 1.2-1.2 3.6"/> + </g> + <g stroke-opacity=".5"> + <path fill="#309e3a" d="m233 198.5.2-14h6q2.2 0 3.2.5 1 .3 1.6 1.3c.6 1 .6 1.4.6 2.3a4 4 0 0 1-1 2.6 5 5 0 0 1-2.7 1.2l1.5 1.2q.6.6 1.5 2.3l1.7 2.8h-3.4l-2-3.2-1.4-2-.9-.6-1.4-.2h-.6v5.8z"/> + <path fill="#fff" d="M236 190.5h2q2.1 0 2.6-.2.5-.1.8-.5.4-.6.3-1 0-.9-.4-1.2-.3-.4-1-.6h-2l-2.3-.1z"/> + </g> + <g stroke-opacity=".5"> + <path fill="#309e3a" d="m249 185.2 5.2.3q1.7 0 2.6.3a5 5 0 0 1 2 1.4 6 6 0 0 1 1.2 2.4q.4 1.4.3 3.3a9 9 0 0 1-.5 3q-.6 1.5-1.7 2.4a5 5 0 0 1-2 1q-1 .3-2.5.2l-5.3-.3z"/> + <path fill="#fff" d="m251.7 187.7-.5 9.3h3.8q.8 0 1.2-.5.5-.4.8-1.3t.4-2.6l-.1-2.5a3 3 0 0 0-.8-1.4l-1.2-.7-2.3-.3z"/> + </g> + <g stroke-opacity=".5"> + <path fill="#309e3a" d="m317.6 210.2 3.3-13.6 4.4 1 3.2 1q1.1.6 1.6 1.9t.2 2.8q-.3 1.2-1 2a4 4 0 0 1-3 1.4q-1 0-3-.5l-1.7-.5-1.2 5.2z"/> + <path fill="#fff" d="m323 199.6-.8 3.8 1.5.4q1.6.4 2.2.3a2 2 0 0 0 1.6-1.5q0-.7-.2-1.3a2 2 0 0 0-1-.9l-1.9-.5-1.3-.3z"/> + </g> + <g stroke-opacity=".5"> + <path fill="#309e3a" d="m330.6 214.1 4.7-13.2 5.5 2q2.2.8 3 1.4.8.7 1 1.8c.2 1.1.2 1.5 0 2.3q-.6 1.5-1.8 2.2-1.2.6-3 .3.6.7 1 1.6l.8 2.7.6 3.1-3.1-1.1-1-3.6-.7-2.4-.6-.8q-.3-.4-1.3-.7l-.5-.2-2 5.6z"/> + <path fill="#fff" d="m336 207.4 1.9.7q2 .7 2.5.7t.9-.3q.5-.3.6-.9.3-.6 0-1.2l-.8-.9-2-.7-2-.7-1.2 3.3z"/> + </g> + <g stroke-opacity=".5"> + <path fill="#309e3a" d="M347 213.6a9 9 0 0 1 1.7-3.2l1.8-1.5 2-.7q1.5-.1 3.1.4a7 7 0 0 1 4.2 3.3q1.2 2.4.2 5.7a7 7 0 0 1-3.4 4.5q-2.3 1.3-5.2.4a7 7 0 0 1-4.2-3.3 7 7 0 0 1-.2-5.6"/> + <path fill="#fff" d="M349.8 214.4q-.7 2.3 0 3.8c.7 1.5 1.2 1.6 2.3 2q1.5.5 3-.4 1.4-.8 2.1-3.2.8-2.2 0-3.7a4 4 0 0 0-2.2-2 4 4 0 0 0-3 .3q-1.5.8-2.2 3.2"/> + </g> + <g stroke-opacity=".5"> + <path fill="#309e3a" d="m374.3 233.1 6.4-12.4 5.3 2.7a10 10 0 0 1 2.7 1.9q.8.7.8 1.9c0 1.2 0 1.5-.4 2.2a4 4 0 0 1-2 2q-1.5.4-3.1-.2.6 1 .8 1.7.3.9.4 2.8l.2 3.2-3-1.5-.4-3.7-.3-2.5-.5-1-1.2-.7-.5-.3-2.7 5.2z"/> + <path fill="#fff" d="m380.5 227.2 1.9 1q1.8 1 2.3 1t1-.2q.4-.2.7-.8t.2-1.2l-.7-1-1.8-1-2-1z"/> + </g> + <g stroke-opacity=".5"> + <path fill="#309e3a" d="M426.1 258.7a9 9 0 0 1 2.5-2.6 7 7 0 0 1 2.2-.9 6 6 0 0 1 2.2 0q1.5.3 2.8 1.2a7 7 0 0 1 3 4.4q.4 2.6-1.4 5.5a7 7 0 0 1-4.5 3.3 7 7 0 0 1-5.2-1.1 7 7 0 0 1-3-4.4q-.4-2.7 1.4-5.4"/> + <path fill="#fff" d="M428.6 260.3q-1.4 2-1.1 3.6a4 4 0 0 0 1.6 2.5q1.5 1 3 .6t2.9-2.4q1.4-2.1 1.1-3.6t-1.6-2.6c-1.4-1.1-2-.8-3-.5q-1.5.3-3 2.4z"/> + </g> + <path fill="#309e3a" d="m301.8 204.5 2.3-9.8 7.2 1.7-.3 1.6-5.3-1.2-.5 2.2 4.9 1.1-.4 1.7-4.9-1.2-.6 2.7 5.5 1.3-.4 1.6z"/> + </g> +</svg> diff --git a/apps/web/public/flags/bs.svg b/apps/web/public/flags/bs.svg new file mode 100644 index 00000000..5cc918e5 --- /dev/null +++ b/apps/web/public/flags/bs.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bs" viewBox="0 0 640 480"> + <defs> + <clipPath id="bs-a"> + <path fill-opacity=".7" d="M-12 0h640v480H-12z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#bs-a)" transform="translate(12)"> + <path fill="#fff" d="M968.5 480h-979V1.8h979z"/> + <path fill="#ffe900" d="M968.5 344.5h-979V143.3h979z"/> + <path fill="#08ced6" d="M968.5 480h-979V320.6h979zm0-318.7h-979V2h979z"/> + <path fill="#000001" d="M-11 0c2.3 0 391.8 236.8 391.8 236.8L-12 479.2z"/> + </g> +</svg> diff --git a/apps/web/public/flags/bt.svg b/apps/web/public/flags/bt.svg new file mode 100644 index 00000000..20aef3a6 --- /dev/null +++ b/apps/web/public/flags/bt.svg @@ -0,0 +1,89 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bt" viewBox="0 0 640 480"> + <path fill="#ffd520" d="M.1 0h640.1v480H.1z"/> + <path fill="#ff4e12" d="M.1 480h640.1V0z"/> + <g stroke="#000" stroke-width=".5"> + <g fill="#fff" stroke-width=".4"> + <path d="M345.4 150c-4-1.3-6.6.7-6.4 5.9 0 5.1 2.8 8 6.8 6.1z"/> + <path d="M348.9 140.4c-3.3-2.6-6.4-1.5-8 3.4s.1 8.6 4.5 8z"/> + <path d="M354.4 131c-2.8-3-6-2.4-8.4 2.2-2.3 4.6-1.3 8.5 3.2 8.7zm-3.6 45.5c-4.9 1.8-5.4 8.5-2.3 12.6 3 4.1 8.7 4.9 11.8 0z"/> + <path d="M345.1 162.3c-4.6-1.5-8.8 4.7-9.5 10.3-.9 7-11 9.4-5.4 20.1 1.2-6.8 5.7-10.6 9.3-10.8s9-1 11.3-5.4zm14.7 27.6c-5.4 1.3-6.2 8.5-2.3 13.6 3.3 4.4 13.7 3.4 13.4-1zm15.3 43.4c.3-4.7-7.2-6.5-10.8-5.6s-10.5-.1-12-4c-1.4 3.1.5 6.5 5.7 8.2 4 1.2 3.9 4 2.7 5.4 3 .5 11.7.5 14.4-4z"/> + <path d="M370.9 203.7c-5.3-2.4-8.4 1.2-10.4 4.6-3 5-12.1-1.4-15.2 5.3 4.2-1.8 8.4 2 10.4 3.3 5.7 3.7 16.6 2.6 18.2-6.2z"/> + <path d="M374 209.8c-5.3 4-7.4 8.8-7.2 12 .1 3.2 4.6 10.3 9.5 10.7 2.8-5.8 4.3-18-2.3-22.7zm-22 24.9c0-2 2.8-2.7 4.8-2 1.9.6 4.9 2.5 3.8 4.6zM323 224c-.5-2.3 3.2-6.3 8.2-4.1s5.7 6.4 3.6 8.1z"/> + <path d="M335.2 228.4c-.4-1.3 3.3-3.9 9.4-2.4 6.2 1.6 7.7 5.6 7.5 8.7zm-12.9-4.3c3.3-2.4 2-7-.9-8.5-5.2-2.6-3.3-9.2-6.7-10.5-3.3-1.3-6.5-3.6-6.7-6-1.6 3.3-.6 6.2 1.7 8.3 2.3 2-1.8 10.4 1.2 12.6zm-69-1.8c-2.7-4.2-9.1-3.5-11.8-.5s-2.3 7.3.2 9.3zm15.5-6.3c-1-5.7-7.9-6.3-11.6-4.9-3.8 1.4-6.3 7.1-3.9 11.2z"/> + <path d="M279 215.2c2.5-4.7-2.3-11.8-7.7-12.8-4.5-1-9.8-.9-11.6-5.3-1 3.8 1.8 6.3 5.2 8.5 3.3 2.2-.6 7.8 4.8 11z"/> + <path d="M278.6 215.4c-1.2-3.4 1.1-8 5.7-7.6 4.7.3 7.3 3.6 5.3 7.9z"/> + <path d="M288.9 215.7c-.7-3.6 2.2-7.8 6.8-6.8s6.6 4.7 4 8.5l-10.8-1.8z"/> + <path d="M299 217.3c-.4-3.6 2.7-7.6 7.2-6.4s6.4 5 3.6 8.7l-10.7-2.3zm-77.6 59c-8.7 0-10.8 2-12 11-1.6 11 13.5 12.3 12-11z"/> + <path d="M225.2 264.7c-13.2-5-20.4 16-33.6 12.2 4.7 7.5 16.1 0 20.4.8 7.2 1.3 22.8-1.4 13.2-13zm-8.6 28.7c-6.6-3-13.6 7-12.4 11.5 1.7 5.5 16.7 1 12.4-11.5zM186 336.7c3.6 1 8 3 7.2 10s-14 21.1-25.8 22c-11.8.7-16 15-26.3 11 9.6-1.8 9.6-12.6 17-16-5.4-2-8.2 10.3-15.2 10.3s-10.3 11.1-18.8 10.3-9.3 13.5-26.4 13.7c-13 .1-29 15.3-34.9 8.7 12.7-1.8 17.8-8.8 25.3-16.5 12-12.3 25.7-6.8 30.4-17.7a32 32 0 0 1-18.3 5.4c-8-.2-16.6 12.6-25.5 7 5.1-.7 8.5-2.9 13.9-8.6 5.5-5.8 13.7-2 20.1-8 10-9.2 18.7-1.5 28.3-13-2.7-1.4-8.5-.5-13.9 2.4-5.4 2.8-12.3-2-18.5 1.4.7-7.6 15.2-3.3 24.2-8.5 10.2-6 18.6-4.2 26.6-3.5-11.2 0-15.5-10.7-31-7.6-6.7 1.4-12.1-9.3-18.8-3.9.2-4 7.2-7.2 14.4-3.3s10.1-3.4 24.5 5.7c6 3.7 16.1-2.4 22.5 1.6-.8-2.4-4.5-4-8.8-3.6 2.7-5.6 20.2-4.9 27.8.7z"/> + <path d="M197.4 328.3c-5.6-4.4-13.5.9-19-1.2 0 3.6 1.9 9 7.8 11.1 1.8-1.3 10-8.4 11.2-9.9z"/> + <path d="M206.3 315.8c-8.9-4.5-10.4 6.7-17.4 4.4.3 3.2 2.9 7.2 8.5 8.1z"/> + <path d="M211.6 305.6c-13.1-5.1-14.8 7.5-22.5 5 1.8 4.4 12.8 6.8 18.5 5.2zm18-55.2c-3.5-5-10.8-1-12 4.9-1.1 5.8 1.7 13.9 6.6 12z"/> + <path d="M238.5 235c-6-1.5-13-.8-12.2 5-2.4 1.1-3 8.7 3.3 10.4z"/> + <path d="M242.5 231c-6-7-12.5-6.9-16.2-4-6.9 5.5-13.5 2.4-13.7 7.8 4.1-3.2 7.8.6 11-.5 3.4-1.2 5.9 5.3 15.2 2.6zm-14.3 103.9c.9 1.7 6.4 2.4 9.1-.4 3.6-3.8-.3-14.2-6-15-5.7-.7-6.2 11.8-3.1 15.4z"/> + <path d="M221.8 335.1c8 3 11.5-3.7 7.2-8a80 80 0 0 1-7.2 8z"/> + <path d="M191.4 346.2c-1.6 4.7-9.6 5.4-18.6 19.8s-17.6 8.4-19.8 18.3c10.8-8.7 19.3-3 25.8-11.6 9.7-13.1 17.8-11.2 21.6-20 5.4-12.7 29-12.4 30.4-32.3-8-1.5-33.3 19.9-39.4 25.8zm203.2-194.7c10.3 3.4 10.5 16.7 22.4 21.1s13 15 22.7 12.4c-9-2.5-8.4-12.9-17.8-15.5-11-3-15.2-19.8-24-22.4m44 74.3c1.8 4.2 1.5 11.5-5 13.4 3.5 2.2 8.7.2 11.5-4.6-4.2 9.4-1.4 17.9 5.3 19.6-3.2-6.6 4-9.7 1.7-14 4.2 1.9 8 7.7 7.8 11.3 5.6-6.2-4-14.5-2.3-20.3zM375 287.6c-6.3-5.5-9 1.5-12-1-3-2.2-6.8-2.5-8.3-.3 5.4.2 2.8 4.4 13.3 5.4-10.5.7-8.6 12.5-15.6 11.9 7.4 7 11.3-6.3 17.4-4.1-1.8.5 2.8 4.7-.4 10.4 5.2-.1 7.3-7.3 8-11zm-139 60.2c-2.2-2-9-2.9-11.5-1.3-2.6 1.5-1.7 2 1.4 2.2s7 5.2.4 5.5c-3.1.1-2 7.6-8.5 8.1 2.6 3.2 10.2 1.1 12.9-2.4-.5 2.9 3.3 5.5 1.8 9 4.7.5 2-9.7 9.5-9.2-3 .4-1.8 7.4 3.6 5.6-3.2 1.5-1.5 5.3 2 4.4-2.2.7-3 3.7.2 5.4 3.1-4.3-.4-19.5-11.7-27.3zm280.6-142.1a17.9 17.9 0 1 0 0-35.7 17.9 17.9 0 0 0 0 35.7z"/> + <path d="M423.4 227.2c5.5-5.1 13.7-7.7 19.4-3.8 5.6 3.8 24.4 8.4 33.7 2s13.7-9.8 17.8-9q4.5 6.8 11.4 7.2c1.4 1.6 6.5 2.8 9.3 2.5 4.1 1 9.1-.3 13.1-4.7 6.2 1 12-3.7 14.2-10.7 6.6-.7 7-8 2.8-13-3.8-.7-.9-13.8-14.9-11.2 6 3.6 1.4 10.8 6.3 14.2-3.3 0-7.7 1.4-8.7 6.4 1.3-3.4-.2-5.8-1-6.5 0-3-6.5-10.3-12.7-7.6 4.4 1 2 8 5.2 10.8a8 8 0 0 0-6.2 3.3c-1.7-3-7.6-6-11.2-6.3 0-1-.2-3-.7-4.1-1.6-3.1-3-6.8-2.3-11.5a48 48 0 0 0-7.2 11.4c-4.9-3.4-17 1.5-22.7 2.8s-24.7-1.8-29-6.4a49 49 0 0 0-21-9.8c-11-3.2-11-15.2-23.1-23.5-.3 15 22.4 62.4 27.5 67.5zM297.2 341.1a17.3 17.3 0 1 0 0-34.6 17.3 17.3 0 0 0 0 34.6z"/> + <path d="M256 327.8c3.5 4.5 9.4 4.2 11.9 3.9 2 5.4 8.6 5.2 11.4 8.2s12.5 2.7 15.3 1c-2.5-.2-5.9-1.8-9-4.5-4-3.2-2.2-9.8-5.2-12a11 11 0 0 0 2.2-8.6c2.4-1.4 4.2-3.7 4.4-4.9a15 15 0 0 0 9.6-4.1c2.2 2 7.7-.6 10.7 2.8.6-8.5-7.5-13-13-10.1-2.1-1.2-7.9-.4-9 1.1-1.7-.8-6.8 1.8-9 3.5 2.5-1.4 2.9-5.7 1.9-7.2 2.2-1 4.6-3.9 4.9-6 3 .5 7.7-1.6 9.7-1.1-3.3-4.4-8.8-6-14.5-5.5-5.9.3-8.4 4.4-9.2 8.8-3.4 2.1-4.6 9-3.3 11.5-2 0-3.9 1.9-4.6 3a27 27 0 0 0-9.4-2m1.3-7c-1.2-3.4.3-6.4 1.1-9 2-6.8.8-8.6-5.3-7.7a47 47 0 0 0 4.2 16.7z"/> + <path d="M248.6 282.3c1.6 1.6 7 2.3 7.6-2.6.7-5.6-1.6-7.8-6.5-5.6-.4 1.3-.8 6.5-1 8.2z"/> + <path d="M249.8 273.9c2 .8 6.5 2.5 9-2.3 2-4-.7-7-5-6.8-1 1.2-3 5.3-4 9.1z"/> + <path d="M253.6 264.4c.5 1.6 5.8 6.7 9.6 3 3.9-3.7 3.9-9.3-1.9-11.3-1.5.2-6.2 5.6-7.7 8.3z"/> + <path d="M261.3 256c1.1 3.3 4.8 8.8 11.5 6.3s3.8-11 .7-12.7a33 33 0 0 0-12.2 6.5z"/> + <path d="M273.5 249.6c-.5 2.9 0 10.6 9.2 10.5 9.1-.2 6.6-10.9 4.2-12.4-3.7 0-10 .1-13.4 2z"/> + <path d="M287.3 248c-1 2.3-3.3 16.7 14.6 12.7 2.3-.5 8.3-13.8-14.6-12.6z"/> + <path d="M297.1 249.4c-1.8 1.8 2.8 16.3 15 13.9 12-2.5 1.9-16.3-15-14z"/> + <path d="M307.4 251.6c-2 4 1 15.8 15.9 15.8 13.5 0-.7-15.6-15.9-15.8z"/> + <path d="M319.1 255c-1 2.3-2.1 14.8 15.5 15.9 12.7.8 9.6-17.3-15.5-15.9z"/> + <path d="M338 260.3c-2.1 3.9-4.4 13.5 14.9 14.3 12.3.5 4.7-14-14.8-14.3z"/> + <path d="M354.1 263.3c-2.8 3.8-.7 11.4 6.5 12.8 9 1.8 10.3-6.7 4.1-10.8-6.2-4-10.6-2-10.6-2z"/> + <path d="M363 265c-2.1 3.7-.9 12.4 12.8 12.4 2.8 0 13.6-11-12.9-12.3zM257.1 433a20 20 0 1 0 0-40 20 20 0 0 0 0 40z"/> + <path d="M404.1 141.7a35 35 0 0 0-5.4 8c-6.7 20 11.2 35 21.6 56.7a63 63 0 0 1-5.6 60.7c-4.4 5.8-3.1 7.5-8.8 13.4-2.2 2.3-4.6 5.2-3.8 13.4 3.6-1.3 8.7 2 9.7 5 2.6-1.4 6.2-.9 7.5.7 4.4-2 8-1 11.9 3 3.3-.4 7 0 10.3 3.7 1.8-3.6 5.4-5 8-4.1-.3-4.7 4.3-8 8.4-6.2a7.6 7.6 0 0 1 9.8-9c4.7-3.6 14-3.9 18.6 1.5-8.3-2.3-8 6.5-15 5.7 1.8 5.1-2.8 8.1-7.4 9.8 3-1.4 6.2-3.1 7.2-1.3 2.6-2.3 7.7-1.4 9-.3 3.4-1 6.7-.2 8.2 3.9 4.7 2.8 7.8 10 4.4 15.4-1-5.6-4.9-5.4-6.4-7.7-3.6 1.3-7.2 1.3-8.3-1-2 2-9 3.9-12 .8-1.2 4.6-5.2 8.5-9.9 8.5 1.3 3.6-2.3 9.7-5.1 12.8 4.4 2.3 3 7.5 2 10.6 6.8 1 1 7 12.7 10.8-5.7 1.8-16.8 0-18.3-7-5.7-.2-9.5-5.9-9.3-11.8-4.4-4.1-5-10 1-14.2-5.1 1.6-8-6.7-15.4-3.3-3.7 1.7-13.5-1.2-13.4-4.6-1.5 2.5-11 1.5-12.2-2.9-3.1 1.7-10.3-1.1-10.2-5.4-4 1.8-9.4-1.4-9.1-5.5-3.8-.5-4.2-3.9-4-6.7-3.3-1.6-2.4-4.8-1-8.6-2.4-2.6-1.4-6.2.4-9.6-2.5-2.6-2-5.6-1.3-9.3-12.3-1-27.8-4-63.3-14.9-53.6-16.5-68 22.2-56.2 46.4 13.7 28-1.5 34 3.1 54.8 5 1 7.5 5.2 7.2 9.6 3 .1 5 2.8 4 8a9 9 0 0 1 7.6 2.3c1.8-3.4 7.8-4.2 10.8-.3 6.7-.5 10.1 5 9.8 11.6a18 18 0 0 1-1.5 19.3c.4-2.7 0-6.5-.1-8.9-.3-4.2-6.2-5.1-5.6-8.6-3 .3-6-1.4-7-3.7a7 7 0 0 1-6.6 1.3c3.4 1.5 6.2 7.7 5.1 11.8 1.8 3.1 1.4 8.8-.7 11.2-1 5-5 6.8-10 4.6 2.9-1.8 3.9-5 3.8-7.7a10 10 0 0 1-2.9-6.3c-5 .8-12-3.5-13.2-5.2a20 20 0 0 0-20 20.1c-.6-4.1-5.8-8.2-5.1-11.7-3.1-9.5 1.3-18.4 13.9-20.2-1.6-3.6 3.8-7.3 1.8-11.4a97 97 0 0 0-14.7-20.1c4.4-7.5 3-17.5.5-23.7-3.7-8.9-7.2-6.7-20.3 7.7-21.4 23.5-50 17-75.2 32.5-6.7 4-13.4 5.6-6.2-1.6s26.2-14.4 38.6-20.6c23.2-11.6 42.8-30.9 50.5-68.5 18.1-88.4 85-59.2 127.2-42.8 39.7 15.5 32.5-19.5 12.4-40.7-24.2-25.3-19.3-45.3-8-61.3 20.3-2.8 59.4 4.3 51.5 11.1z"/> + <path d="M475.9 358.8a22 22 0 1 0 0-44.1 22 22 0 0 0 0 44z"/> + </g> + <g fill="none" stroke-width=".4"> + <path d="M391.8 142.7c-5 21.7-.8 31.5 6.4 41 14.9 19.7 26.8 64.6 9.8 94"/> + <g stroke-linecap="round"> + <path d="M417.5 252.3c2-.7 6-3.2 6.8-7.4m-5.2-2c.6-3.7 6.4-5.3 6.5-9.3m-6.4-5.2c-.4-3.9 5.8-7.4 4.9-11.2m-8.3-2.7c-.5-2.2 5.2-6.3 3.6-9.8m-7.8-3.8c-1.2-2.4 2.7-5.2 1-7.8m-7.2-3c-.4-1.6 2-5.3.7-7.5m-6.9-5.2c.5-.7 2.6-2.2 1.8-4.1m-6-5.3c.8-.4 3.3-1.2 3-3"/> + <path stroke-linejoin="round" d="M266 410.9c-5-1.8-11.5.7-12.8 5.1m3.9 4c.6-4.4 7.3-6.3 9.3-4.3-4.2-2.3-6.3 6-2.5 6.2m34.6-103.8c-3 1.6-4 7.2 0 11.5m4.6-10.2c-2.1 1.8-2 7.2 1.2 8.5-2.7-2 0-5.3 2-5.4 1.9-.1 3.2 2.2.8 4.5m177 5.2c-7.2-2-13 6.4-6.4 13.9-.2-7.2 5-12 11.3-10.7m-3 5a2.7 2.7 0 0 0-2.7 2.7c0 1.4 1.2 2.8 3.2 2.8 1.3 0 2.4-1.5 2.4-2.7m22.6-161c1.2 4.4 7.2 6.3 12 5.2m0-2.8c-3.7.1-6.8-3.4-6.6-6.3 0 2.2 5 3.2 6.6 1.8"/> + <path d="M267.9 331.7c-1-2.6 3-5.2 3.2-7.6.1-2.5 4.6-4.4 9.3.2m-2.2-27.4-2.5 1.2m11.4 12.8c-1.1 0-3.4 0-4.6-.9m0 5.8c-.8.5-2.8 1.2-4 1.5m-40.1 76.3c-.2 2.3 2.2 5.7 3.4 6.7m6.6-12.2a10 10 0 0 0-1.3 7.6m20.5 0c-2.3-1.5-.8-5.4-1-8-.3-2.6 2.7-6.7 8.5-3.2M246 381c2.3-.4 4.7-.3 6.3.4m23-7.7a8 8 0 0 0-1.4 4m12.3-4.3c-1.8 0-3.4 1.3-4.2 2.6m-20.8-68.5c2 .7 7.4 4 7.6 7.4m14.3-24.2c-6.3-.1-8.8-6.5-4-6.5m15.3 15.2c-2.4 1-1.3 5.2 2.2 7.3m-17.3 33.1c-1.2-1.6.4-6 4.4-4.7m5 51.7c.3-4 5.2-6.2 7.2-1.8m-25.5 13c-.3-4.3 2-5.7 3.8-6 2-.2 4.7 1.4 6 4.2m-48.1 5c.2-2.6 2.4-5.3 4.7-4.9m231-109.4c-1.7 1.2-2.8 6.7 3.5 7.2M458 296c0 .6.8 1.5 1.3 2m29 8.3c-1.6-1.3-6 4-2 7.7m-39 35.6c-.9-3.7 2.5-4.7 5.8-3.9m-14-22.2c2-1.2 4-2.7 6.4-3.3m-7.4 17.5c0-3 1.6-5.7 3-6.4m8.4-29.1a16 16 0 0 0 2.4 9.2m28.2-9q-3 .7-4.2 2.9m2.1 7.7q1.6-1.3 2.4-2.3m46.3-110.2c0 3.6-4.5 5.6-7.5 3.3m17.3-3.1c2 1.5 8.9 0 7.3-4M528 221.4a11 11 0 0 1-4.9-3m19.1-7.7c-2.3.5-3.9 0-5-.5m-31.6 13.4a17 17 0 0 0 6.5-1.6M502 200.8q-2.5-.3-3.9.8m29.8 5.5a11 11 0 0 1-3 5.2"/> + <path stroke-linejoin="round" d="M497.5 212.8c3.2-1.4 7.2 9.5 15 5.7m.6-11.4a11 11 0 0 0-1.8 5.6"/> + </g> + <path d="M359 190.4c1-.2 2.9-.5 3.3-1.8M226.5 310.3c3.9 2.2 6.6 5.9 5 11.4m172.1-143.2c1.2.8 5.5.8 8 0m3 2.6c0 1.8.5 8.6-3 10m1.3-.8c3.2 1 9.6.6 11.7-5.3m-4.5 5c1.7 2.6 2.2 7.6-2.8 10.3m4-6c3.8 1.2 12.4 1.4 11.5-6m-3 6c2.7 3.5 14 7.8 12.2.3m-22.5 10c4.3 1.1 10.5-1.9 8-9.6m12.3 3.9c.6 3 15 6 13.1-.7m-2.7 3.9c2.7 6.2 17 5.7 12.5-2.6m-2.3 6.5c2.8 3.4 15.5 1.4 10.4-7m-.1 6.8c7.9 6 17-2.5 7-8.7m4.6 6.8c7 5.5 15.5-4.5 9.4-7.3m-64.4 5c2.2.6 6.8.4 7.9-3.6m-1.8 2.7c-.2 5.8 9.6 8 12.1 1.3m-3.3 3.7c1.8 3.9 10.5 5.4 11.9-.1m-1.4 2.6c1.4 3.8 8.9 3.4 11-.6m-2.8 2.6c2.3 5 11.9 5 14-2.3m-1.6 3.2c3.7 2.3 11.7 1.4 11-5.8m-1.5 5.2c5.6 4.5 13.4.1 9.5-7.5m-.3 13.4c3-.5 4.5-6.4 1.4-8m-70 9c6-3.3 7.3-9 3-14.5m2.2 8.9c3.9 2.3 11.2-.2 12.5-5.8m-7.2 6.4c2.2 2.8 2.6 6.3-.3 9.5m2-5.9c6.9-4.2 15.4 3.6 9 8.4m-1-8.8c1.5-.4 4.2-3.2 4.4-6.4m-1.4 9.4c2.9-3 22.2 3 10 9.3m-1-17.4c3.8 1.4 5.7 6.7 0 8.5m5 4.4c4-4.3 17-1.6 12.3 3.8m-3.1-5.5c2.3-7.9 16.1-3 11.6.2m-14.4-8c.4 1.5.5 5.3-2 7.4m13.6-9a6 6 0 0 1-.8 5.3m9.5-5.2c.8 1.4 2 4.1-.8 6.3m-109.4-65.5c.1 7.3 2.7 12.2 12.6 7.6m-9.5 1.1c-5 6.6.6 13.7 10.3 6.6M365 165c6.7 7.2 18.7 2 11-9m8 15.2c-1.2 7.1 4.6 8.5 9.3 5.3m-34.2-10.3c1.2 7.1 8.5 12.7 15.6 8.4m-6.9 1.4c0 10.2 14 11.3 17.3.8m-5 6.4c4.5 9.3 14.3 5.5 17.5-.1m-27.4-14.7c1.8 4.5 5.4 9.5 13.7 5.8m-39.5-8c1.2 3.7 7.9 8.2 15.6 3m-10.8 1.8c-4.2 6 4 11.7 14 2.7m-9.1 4.7c1.6 8.5 5 15.4 17 4.4m-6 4.4c4.4 5.4 11.1 8.7 17.4-.4"/> + <path d="M387.3 188.8c-.4 6.5.8 9.7 5.9 9.4 4-.2 7.7-3.3 9.9-6.7m-10.8 6.7c-.2 7.4 5.6 13.2 16.5 5.7m-12 3c-2 5.5 4.1 14.5 16.2 9.9m-41.9-24.6c-.7 7 5.8 11.8 16.4 2.7m-11.2 5.1c.4 5.8 7 12.8 16.6 2.7m-12 4.7c-.7 9.9 8.4 12.7 16.1 5.1M367.2 200c2 .2 3.7-1.6 4.7-3m-.4 10.2c1.8.4 5-1.2 6-3.3m-1.4 15c2 2.3 9 .7 9.9-2.3m-2.2 2.2c3.8 9 14.1 8.7 18.4-1.5m-2 3.6c2 5.3 6.9 8.6 14.9 6.8m-11-1.4c-4.5 7.3 1.4 16 11.5 7.5m-9 3.5c-.5 4.6 3.7 9.9 9.5 10.5m-28.6-24c-1.5 10.4 6 15.4 15.3 9.8m-26.2-4.8c2.4 1.9 6.8 2.1 11 .6m5 6c-2.4 8.8 6.6 15.1 14.3 5.3M380 230.2c.2 4.5 4.5 9.4 12.1 8m21.3 9c-5.2 3.4-6.2 9.6 1 13.6m-13.6-15.4c.2 5.2 2.7 8.2 8.5 8.7m-16.1-11.4c-7.8 7-.2 15.3 9 8.3m-3.6 2.2c-2.6 8.1 7 13 12.2 4.8m-28.2-22c-2.8 8 .8 13.2 7.4 12.7m-17.6-14.3c.4 4.8 4.5 6.5 9.2 5.4m-6.2-.4c-3.5 6.7 1.8 10.3 8.8 7.8m21 15c-1 4.2-.4 7.2 5.9 8.7m-5.4-2.7c-7.6 3.4-8.3 10.8-2.4 15.5m-3.8-23.7a7.6 7.6 0 0 0 1.2 12.3m-35-35.8c-4.3 4.3-.2 16.2 9.5 9.7m15.7 5.3c-6 5-3.3 13.8 6.5 11.4m-16.3-15c-3.1 8.7-.2 11.8 6.8 11.9"/> + <path d="M359.3 236.1a8.2 8.2 0 0 0-1.5 12.2c2.3 2.6 6.7 1.4 8-1.9m-17.6-13.8c-5.9 7.6 0 16.6 8.4 14m23.3 8.6c-6 2.1-10.7 7.6-7 12.5 2.3 2.8 11.8 3.2 14.5-7.8M369 248.1c-3.5 5-2.4 9.8 4 12.2m-4.4-2.8c-3.8 2-6.2 4.5-5.3 9m-3.1-16.9c-1.4 6 .3 9.8 4 11.6m-4.1-4.4c-5.8-.4-8.8 2-6.8 7.8m.5-6.4c-5.7-2-6.6-7-4.1-12m-.8 7.6c-6.2.2-9 3.3-9 7.5"/> + <path d="M340.5 229.7c-4.5 1.9-6 8-4.3 11.3s7 3.6 10.2 1.4M328 224.9c-4.1 4.6.6 13.7 8 11.5m-18.6-15.1c-3.8 5.4.4 14.4 10.3 11.8m.5 25.1c-1-6.4 5.7-10.6 14-2.3m-4-13a10 10 0 0 0-3.3 8.5m-28-33.2c-4.3 7.2.9 13.8 10 11.2m13.8 6.7c-6 6-4 12.1.5 15.6m-4.4-8.5c-9.1.1-9.6 10.7-2.2 14m-4.7-24.6c-3.8 2.6-5 9.7 1.5 12.5m-1.8 3.4c-3.9-1.8-8.5.4-8.1 4.9m2.3-4.8c-3.5-8.2-13.6-6.8-12.7 1.7m15.5-11.9c-2.1.4-6.5 1.7-8.2 5m.6-14.3a7 7 0 0 0 2.5 11.4M296.7 216c-.8 5.6 1.4 8.3 8.4 7.8m-6-.7c-2.6 6.7 1 9.7 8 9.3m-6.4-1c-4.1 4.9-1.3 10.1 2.7 12.3m-4.6-6.1c-7.4-1-8.5 7.6-6 11.5"/> + <path d="M292.9 215.5c-4.5 2-7.1 7.6-4.7 11 2.5 3.5 7.4 2.4 10 .6m-8.4 1c-3.8 5.7-.4 10 3.6 11.6"/> + <path d="M275.3 214.8c-3 3.1-1.1 9.4 6 9.6 5.9 0 8.8-5.4 7-9.3m-8 9.3c-2.3 5.1-.8 10.7 8 9.8m3.6 8c-5.3-2.4-12.6 0-9.5 6.5m-.7-15.6c-2.2 3.1-1.5 7.5 1 10.2m-1.4-2c-3.6.7-7.1 2.6-5 8.3m-.5-4.6c-4.6-1.4-10.5 2-7 6.7m-.7-4.5c-4-.7-8.7 3.6-4.9 7.8m-1.5-3.5c-3.6 1-7.9 5-4.1 8.3m22.3-28.5c-5.2 2.3-5.7 8.1-3.3 12.4m-2.2-23c-7.7 3-7.6 13.2 1 16.4m-3.7-2.3c-4.6 2.7-5.5 7.9-2.4 11.2m-5.7-29.2c-3 1-2.8 10.5 5.4 10.3m-13.9-7.1c-6.2 4.1 1.3 14.5 11.3 7m-5.5 2.7c-.9 4.2.3 8.8 7.1 9.4m-6.7-3.8c-4.9 1.8-5.8 11.9 3 12.7m-18.6-21.8c-6.3 5.8 5.2 10.8 9.4 2.4m-18.1 7.2c-3.1 3.8 7.7 13.6 12.5-2.8m1.1-.3q.4 6 7.3 6.5m0 3.7c-7.7 1.2-10.1 10.7-1.6 12.8m-12.5-14c-.3 3.5 3.5 6.5 7.7 5.9m3.9 7.8c-7 1.6-7.9 10.6-1.7 10m-3.2 8.4c-5.8-1.7-6-8.6-.8-11.2"/> + <path d="M245.7 267.8c-4.9 3-3 10-.4 11s4.7-.2 5-2.4m-.5 10c.6 3.3-11.9 2-5.5-8.4m0 8.9c-4.2 6.6 2.6 12 6.9 6.3m-6.4 1.6c-1.7 5.3 4.7 9.1 8.8 5M231 245.4c-2.3 4.7 9.3 6.5 10-3.3m-13.2 10.3c-2.3 9.3 15.2 7.4 10.7-4.6m.4 6.2a8.2 8.2 0 0 0 11.6-6.3m-5.3 6.6a10 10 0 0 0 4.7 6.3m-13.1-3.9c-.8 5 4.3 9.2 10 8.8m-9.1-3.9c-2.8 3.9-3.7 11.3 5.2 11.8M224 263c-1.4 4 7 8.1 11.8 1.5m-14.4 8.7c-.7 3 6.8 7 11-5.8m-3.3 6.5c1.8 3.2 7.9 5.8 11.6-.5m-6 3.9c-1.6 4.5 2.7 8.7 7.8 7.5m-17.5-8.5c-1 6.4 6.5 10.1 11 6.8m-15.9-4c-2.2 8.2 8.4 11.3 12.4 5.1m-2.7 2.5c.4 4.6 7.6 8.6 13.2 4.8m-26.1-1c-.5 2.1 8.1 4.2 9.4-3m-4.4 4.9c2 5.2 9 6.5 13 0m-2.3 2.6c1 5 7.2 7.7 12.8 4.3m2.3 2c-1.4 6.5 5.4 11.8 9.6 8.2m-20.6-9.4c-2 7.2 7 11.3 12 7.3m-22.8-11c-.5 6.8 4.8 10.8 10.8 7.8m-22.3-7c-1.8 4.3 7.8 7.9 12.3 4.2m-18.2 7.7c2.5 2.8 11 0 11.7-6.3m-2.3 4.6c3.1 3.6 10.5 5.6 13.4-2.2m-2.6 4c0 5.6 9.8 9.6 13-.6m11.7 2c-1 2.7 1.2 7 5.7 7.5m-13.9-9.2c-.6 3 3.9 7.4 8.7 5.7m.9 1.3c-1.3 3.3-.2 8.1 4.3 8m-3.9-1.8c-3.4 2.8-2 7.9 2.9 8m-4.6-3.2c-4.8 3.2-3.1 10.3 3.2 9.9M239 313c0 7 8.7 8 10.3 1.6m-3.3 4c-1.3 4.2 2 8.2 7.3 7m-6.3 42.8c1.2 1.7 6-1.2 4.7-4s-6.4-1.3-5.8 1.7m4.6-2.9c.6-5.6-6-6.5-7.7-1.6m2.4-2.9c1.7-2.8-4-6.7-6.3-2.5m2-1.7c1.6-4.1-4.8-6-5.3-2.2m-1.5-5.4c.8-2 8-.8 5 3.5m5.5 5.1c2.8-2.6-2-7.8-5-6m24 13.9c-2.2.2-4.5 1.7-2.9 6.5 1.2 3.3 6.1 3.4 6.9 1.5"/> + <path d="M260.5 365.9c-2.2-1.5-7 1-4.8 5.6 1.6 3.5 5.8 2 6.4.2m-14 .8c1.2 2 6.6 1 7.6-1m-3.8-5.4c1.2-.8 3.3.2 3.7 1.2m-4-33c-3.8 2.5-1.5 10 4.3 8m-5.6-1.9c-3 2.3-.2 9.6 5.3 6.8m-4.3 0c-2.1 2.1-.1 7.8 5.2 6.7m-6-3.8c-1.2-.5-4.2-.2-5.5 1.8m2.1-28c-2.8 2.8-1.4 8.3 3.8 8.8m-4.8-3c-4 2-4 10 4 10.3m-4.3-1.3c-2.3 1.8-1.2 8.8 4.6 7.9m-2.8-.3c-.8.9-1 3-.2 3.9m-2.3-6.5c-2 0-4.8 1.5-5.5 3.7m-3.7-7.5c.7-2 7.1-2 7.6 4.1m.6-7.2c-.9.2-2.6 1-3 2.8m.2-21.7c-2.7 2.6-4 10.5 4.3 12m-9.9 4.4c0-2.1 5.8-4 7.8-.8M232 322.8c.8 1.6 4.8 3.8 7.2 2m-28-14.6a6.3 6.3 0 0 0 7.2 6.5c4.3-.5 5.2-4.2 3.9-6.7m-3.2 6.9c-2.9 3.4.6 8.3 3.8 6.9m-.6-9.4c1.7-.6 7.2-1.4 8.9 1.2m-26.8-.2c-1.3 2 6.7 3.9 9.4.2m-2.7 1.9c-.3 2.6 1 7 7.6 5.1"/> + <path d="M219.8 326.6c1-2.2-3.8-5.8-7.6-1.8s.6 8.5 2.9 7M202.7 318c-2 3.4 5.5 9.5 9.8 3.8"/> + <path d="M197.7 323.8c-2.7 2.8.7 7.9 4.7 6.3 4.1-1.5 3.7-5.8 2.7-6.9"/> + <path d="M192.5 329c-2.2 2 0 6.6 3 6.6s4.9-2.3 4.3-5.4m5-1.6c-.4 3 4 5 6.9 2.2m0-5.4c.5-.6.2-1.7-.5-2.3m-23.4 9.8c-2.5 2 3 7.6 6.3 2.5m13.1-3.5c-1.6 1.5 1 5.5 3.6 4.3m-12.4-1.5c.4 2.7 5.8 4.8 9.2.6m-6.3 2.1c-.8 1.8.9 4.5 3 4.2m48.3 11.8c-2 3.9 4.4 8.5 9 3.7m-4.4 2.1c-1 2.1.2 5.1 2 6.2m-8-1.7c.4-2 3.2-3.8 5.7-2.9m-9-2.2c.3-1.8 2.6-3.5 4.4-3m147.2-77.4c-9.2.1-5.3 14.8 2.6 11.9m-5.6-1c-1.8 2.9 1.7 7.6 5.6 4.8m-1 .6c-2.8 4.5 6.9 11.4 10.8 4.3m-3.1 2.7c0 4.3 12.5 7 10.7-1.5m-1.2 4.6c3 5 14 5.5 12.9-2m-2.5 5.2c2.3 3.4 13.2 5.4 12.8-1.5m-56.7-40.8c1.5 4 6.8 5.4 12.6 3m-16-.2c3.7 2.3-1.6 12.9-7.1 8.6m7.2-2c4 1.9 8.9.5 10.3-5.2m-2.5 4.4c.4 3 4.7 5.3 10.2 4.1m-20.1-1c5.2 4.4-2.3 13.4-5.7 9.3m7.6-6c2.5 1.8 8.8.8 9.4-4m-2.8 4c.5 3.1 3 4.3 6.4 4.4m-14.4-.1c2.6 3.6 9 4.6 11.9-.1m-2.9 2.7c-.2 3.4 3.6 6.3 7.6 5.5M375 295c3.3 1.7 7-4.7 4.1-9m-.2 15.7c4 .2 4.5-5.8.7-9.2m8.4 14.7c3.4-.8 2.3-8.1-5.8-8.7m16 14.1c3.2-.9.6-9-8.3-8.5m20.5 11.4c2.2-3.4-5-9-11-6m17 10.6c4 1.2 6.8-9.4-5.9-7.7m13.3 7.7c3.5-1 6-7.2-4.2-5.2m12 5.7c3 1.6 4.4-7.5-5-5m-47-23c3.9 2.1 10-.4 9.4-5.3m-1.5 4.2c1.3 2.3.8 6.8-1.7 8m2-2.6c2.6 1 6.1.1 8.2-4m-3.6 4c.7 1.8 1 5.4-.7 7.2m1.3-4.1c2.9 1.6 6.2-.5 7.6-3.5m-1.8 2.6c2 1.3 3.9 7.3.4 9.8m2-2.8c2.4 0 6 0 8.3-3m-1.7 1.7c2.2.6 4.8 4.2 3.9 7.4m.1-1.1c2.5-.3 6.7-2 7.9-5m-1.2 2a7 7 0 0 1 3.2 6.5m0-2.1c2.5-.1 4.7-1.4 5.3-4.1m-.6 1.8c1.8.6 4 2.7 4.1 5.1m-.3-1.5q2.6-.5 4.3-3.2m4.9-.3c2.3 2.3-.8 10-5.6 8.6m-43.9-164.7c-4.7 2.9-18.3 2-11.6-9.2m13 1.6c-9.5 3.8-21-3.5-9-11.3m-3.2-2.6c-7.8 0-13.1 12.6-2.6 17M348.6 138c-2 4 5.3 8.4 10.3 4.4 3.9-3.1 3.6-11.5 1.3-14.7m-15.6 19.8c-2.6 8.5 16.4 9 13.4-4.5m-14.4 17.2c.6 6.4 18.1 4.3 12.5-8.7m2-3.6c1.4 2 5.3 5.3 11.9 4.6m-9-13.5c.6 2.3 4.5 4 9.5 2.3M185.4 334.8c-4.5 3.1 2.4 8.1 4.9 2.6m-8.4-.2c-4.4 3.2 2.4 8.2 4.9 2.7m-8.6-.3c-4.4 3.2 2.4 8.1 5 2.7m-8.8-.5c-4.3 2.3.7 7.8 5 3m-9.2-.9c-4.3 2.3.7 7.8 5 3m16.6-9.6c-.1 3.3 6.1 4.6 8.4-.3m-4.5 3.3c-2 2.5 1.6 5.5 3.5 4.4m-11.8-4.8c-.2 2.8 5.2 4.4 7.8 1.3m-4.9 1.6c-1.7 2.2 1.7 5.3 4 4.4m-10.5-4.8c.2 2.2 3.3 4.7 6.6 3.3m-4.6-.3c-1.3 1.1-.7 3.8 1.1 4.7m-7.8-5c-.5 2 2.9 5.6 6.4 3.3m-5.7-1c-2 1.7-1.8 4.1.8 4.5m-5.8-4.7c-.2 1.4 1.5 3.6 3.7 3.3m-14.7-3.4c-2 1.1 3.2 6.7 6.5 1.5m-11.6.8c-2.6 1.2 3.8 7.4 6.7 1.1m10-1.3c-2 .4-3.3 3.3-1.6 4.5m-5-3.5c-.2 1.2 2.3 3 4.3 2.4m-5.9-1.9c-2 1.2-.9 4.6 1.4 4.1m-8.3-1.8c-1.8 1.3-.5 4 2 3.4m1.3-3.6c0 .7 1.7 1.8 3 1.3m-12.5-2.5c-2.3 1-2.1 6.6 5.5 3.6m-10.6-1.3c-3.2 1.5-2.1 5.8 4.8 1.7m.5.3c-.8.7-1.7 3.5 1.5 2.4m-7.2-1c-1.3 1.1-.5 3.5 2.3 2.6m-9-2.2c-2.3 1.3 2.8 3.1 6.2-.5m-4.6 2.1c-1 1-1 4.1 1.6 3m-8.2-1.7c-1.5 1.1 1 2.7 6 .5m-4 1.1c-1.9 1.5-1.7 3.4 1 2.8m-6.4-2c-2 1.9.9 3.1 4.4 1.6m-4.4.5c-3.4 1.5-1.9 4.4.2 3.3m113.8 6.5c-.8 1.7 1.8 3.1 4.3 2.7 2.3-.3 4.6-2.3 2.8-5m.1 3.4c2.4 1.8 6.5-.3 6.5-3"/> + </g> + <g fill="#fff" stroke-width=".4"> + <path d="M396.8 103c-10.3-5-31.7-14.6-37.8-6.9 5.6-2.3 21.8.1 35.2 12.5z"/> + <path d="M403 102.5c-11.9-13.9-19-10.8-27.5-15.5-8-4.5-20.8-5.4-23.3 1.7 11.7-5.7 22.5 3 29.2 4.2 9 1.4 14.2 8.5 16.9 11.7l4.7-2zm44.9-1.8c-6.2-14.1-19.4-10.4-25.2-16.4-8.5-8.8-30-17-39-10.9 19.6-1 28 13.5 38.4 18.6 7.5 3.6 15.5 11.3 25.8 8.7z"/> + <path d="M424.7 99.2c-10.5-13.1-26.8-24.7-34.2-20.4 9.8.6 12.9 7.4 19.8 11.8 7 4.3 3.9 10.7 14.4 8.6zm-50.2 23.2c-11-4.1-32.7-6.2-42.8 6.4 16.8 2.9 42 1.3 42.8-6.4z"/> + <path d="M372.4 127.3c-11-5.2-19.7 2-30.1 1-19.8-2-34-.8-35.8 8.8 11.3-10.2 30.4-1.8 38.1-3.9s36.3-.3 45.3 3.6c-4.6-5.7-11.8-7.2-17.5-9.5zm34.8-29.5c-2.6-8.5-2.4-17.5 10.3-16.9-3.2-4-15-6-17 8.9-14-10.3-29.4-12.1-32.2-3.2 7.2-6.2 18.4-1.7 31.8 13.5a24 24 0 0 1 7.1-2.3z"/> + <path d="M387.9 109.5c-8-5.2-18.8-13.5.1-16.9-8-4.3-20-2.4-18.7 12.5-21.6-8.7-37.1-5.8-40.4 2.9-3.6 9.5 9.8 14.8 12.1 8.7-2.4 1-10.8-1.8-6.4-7.2s26.8-1.3 48.1 9.8c6 3 26.3 2.6 5.2-9.8z"/> + <path d="M382.2 123.7c-6.1-12.6-26.1-1.2-30.1-13.4-5.6 17.9 28.4 8 30.1 13.4zm127.1 13.6c4.2 2.1 7.8-1.2 1.4-3.7 4.2 2 7.9-1.1 1.5-3.7 4.2 2 7.8-1.1 1.4-3.7-1.7 1.7-4.1 8-4.3 11.1zm2.2-24.2c9.3-9.8-.7-13.1 10.6-23.2 9.3-8.2 1.8-13.7 10.5-20 2.9-2.1 9-6.2 9.6-10.4 3.7 9.3-11.6 10.6-10.6 25.5.7 9.5-5.8 8.7-8.2 24.8-.5 3.3-2.9 10.8-11.9 3.3z"/> + <path d="M515.6 117.5c5.2-11 11.1-10.9 14-15.2 5.4-8.3 16.8 1.4 26.5-6-1.7 10.5-14.7 6.8-20.4 13.5s-10.3 9.7-20 7.7z"/> + <path d="M517 121.1c9-7.2 15.6-2.4 21.8-6.2 15.7-9.5 22 2 36-2.6-3.6 9-24.4 1.3-33.4 8s-40.7 13.2-24.5.8zm-26.3 51.4c-.2-4.1-4-9.4-9.4-10-5.4-.7-7.8-6.4-11.9-6.6-4.1-.3-6.8-8.5-12.5-8.4-5.6.1-8 7.5 5.3 14.2s28 14.4 28.5 10.8zm-16.8 3.5c-5.6.2-6.4 8.5-11.8 8.7 7.4 4 12.9-1.8 16.7-7L474 176z"/> + <path d="M478.6 177c-5 4.1-6.4 12.7.7 15.2-4.2-5.9 7.5-8.5 3.9-14z"/> + <path d="M483.4 177.3c-3.8 7.4 6.1 8.3 3.5 14 5.7-1.3 6.6-12 1.4-14.8l-4.9.7z"/> + <path d="M445.6 161.3c9.3-.5 17.7 4.5 23.4 12.6 3.6 5.1 15.7 7.2 19.9 3 4-4 1.8-12.8-8.5-10-2.6-4.3-10-2.8-13.7-6.4s-17.5-13.9-21.1.8z"/> + <path stroke-linecap="round" d="M480.4 167c-2.5.5-3.3 4.7-1.7 6.9m7-4.4c.7 1.3.2 3.1-.2 4m-25.2-11.8c4.7.2 5.6 3.7 10.8 5"/> + <path d="M457.1 150a161 161 0 0 1 37.6 12.3c8.1 4.6 20.7 6 31.6 2.8 11-3 32.2-5.9 31.1 7.8 5.8-6.9-1.5-14.2-16.2-15.5.3-6.7-6.9-12.7-12-8.7 4.7-.7 8.8 8.2-.6 11.8a8.4 8.4 0 0 0-11.7-9.8c4.4 1.3 9 8.8-1 11.6-6.3 1.8-15.4-.5-22.2-4.6s-45-19-36.6-7.8z"/> + <path d="M498.6 143.3c-5.1 2.3-1.8 7.7-9.7 10.8-8 3-13.6 10.1-11.8 16.2 5.4-11.9 15-11.3 18.3-16s8.3-11.4 3.2-11z"/> + <path d="M500 144c-.2 9.4-7.6 6-4.7 19.2.9 4.1 2.6 10.8-.3 17.5 8.3-6 3-18.7 6.7-23.5 1.8-2.4 4.2-6 5-9-1.9 5.3-1.7 15.4 3.5 18-4.2-10 11.5-18.3.7-30-1.6 3-6.5 8-10.8 7.8zm-26.2-9.4c1.3 2 2.6 6.8 1.4 9.6 2.6-1.6 6.3-5.6 7.5-8.3 5.3.8 7.3 7.3 2.3 10.2 3 0 8.4 0 11.3-3.5-3.6-4-14.8-10.2-22.5-8z"/> + <path d="M393.7 116.1a10 10 0 0 0-4.8-2c-7.8-1.6-3.7-8.6 2.9-8.5 14.2-15.5 22.1-3.6 39.4-8.4 6-1.8 10.2-1.3 13.4.2 7.8-5.2 16.8-3.8 23.4 2.3a5 5 0 0 1 3-2.4c6.1-1.7 11 3.4 12.7 10.1 4.7-.8 10.1 1.5 13.7 4.7q7.4-3.8 9.5 0c4.4-2 10-3.4 12.9 3.6s-6.7 4.9-8.3 19.6c-1 9-11 12.6-19 7.2-12.8-8.7-25.3-10-31.5 3-6.1 13.2-11 20.8-26 16.5a16 16 0 0 0-16.7 6.5c-4.4 6-11 .4-19 1 10-1.5 6.1-4 14.9-4.6 8-.5 5.9-8 11-9-20 5.1-19.3-2.4-35.8 2.8 7.2-9.3 18.6-4.1 24.2-9.5-14.9-.3-21.6-10-28.3-6-10.5 6.5-6 24.8-33.5 23.2-13.4-.7-21.9 1-29.8 9 13.9-28.8 32.8-13 42-22.1a68 68 0 0 0 12.3-14.7 6 6 0 0 1 4-3.2c-22.9-7.2-9-18.5 13.4-19.3z"/> + <path stroke-linecap="round" d="M506.9 112q.5 1.2.5 3c0 5.6-8.5 5.8-9 14.2-.3 4.4-.8 6.8-3.7 6.3s-5.6-5.1-2.8-10.5"/> + <path d="M398 107.7a11 11 0 0 0-6.2-2.1m52.8-8.3c6.8 3 10.1 10 20 10.4 9.6.3 15.5 14.2 31.5 5.1l1.2-.6M468 99.7a13 13 0 0 0-1.4 8.2m-29.8 21c-12 0-15.2 6.1-15.2 12s5.7 13.7 15.7 13.7 15.5-6.2 15.5-12.9-6.2-12.9-16-12.9z"/> + <path d="M439 154.3c-.2-3.3-6.3-2.8-6-5.4s3.3-3.6 3.3-7.2 5.4-3.9 7.2-1c1.8 2.8 7.2 8.3 8.4 5.5m-8.4-5.5a10 10 0 0 0-.4 13.1m4.3-8.8c-1 2-1.2 5-.1 6.8"/> + <path fill="none" d="M495.5 135.6c9.5.8 11-9.7 4-10.3m-15.7-17.8c-3.2-4.2-10.8-5.6-11 3.2"/> + <path d="M472 120.8c-3.2-8-11.5-9.1-15.8-5.1-3.7 3.3-3.8 12 4 13.8 2.8-3.3 8-7.5 11.8-8.7zm-3.5-5c-4.7-4.1-11.5 3.7-5.3 10.8m-83 8.7c3.2-.7 7.7.8 14.7 4 4.3 2.1 17.5 6.5 25.7 2.1-8.5 3.1-15-9.7-21.4-8.2-6.4 1.6-18.2 4-23.1-.8 12 .8 18.5-8.8 32.4-.5a24 24 0 0 0 13.1 3.6c-11.3-13.6-26.2-4.9-27.8-16 6.8 7.4 23.5-1.6 32 12.1m-29.5-10c-1.6-2-1-4-2.6-5.5"/> + </g> + <path stroke="none" d="M483.8 107.5c-2.8-3-9-.7-7.2 5.4a10 10 0 0 1 7.2-5.5zM466.3 124a21 21 0 0 1 5.7-3.2 12 12 0 0 0-3.8-5.2c-1.5-1-5.7 4.7-1.9 8.3z"/> + <path fill="none" stroke-linecap="round" stroke-width=".4" d="M458.7 113.5c-4.6-3.1-8.9-2.8-10.3-.3-3.3 0-6.1 2.4-6.2 7.2m7.1 2.1c-5.5-3.8-13.1-2.4-12.6 6.1m-3.4 4.9c2.7-2.2 6.6-3.8 9.6 0m31.8-8.4c-1 1.4-1.8 3.6-.1 7-2-2.8-7.2-2.8-12.8 4.4m25.1-11.8c-6.7.8-6.5 5.2-1.1 7m-46.5-23.4c-5.7-1.1-9.8 2.2-2 5m12.8-8.8c-8-2-11.2.1-7.6 2m-15.5 30c-.2 2.9 1.3 6.6 6 2.4m-4.4 6.1q.1 1.3-.7 2.4m-17.9-40c-4.9-1.5-5.8-6 0-5.6m-1.6 16c-5.4-1.9-5.4-7.1-1-6.6m11 3.8c-6.3-1.5-6.5-5.9-1.8-5.2m2.6-8.2c-3.4-.2-8.5 3.5.1 5.7m9.3 1.8c-7.9-1.1-7.7 2-3.1 4.1m9-11.6c-6-1.1-8.1 2.5-4 4m-15 18.3c-1.5-1.2-2.7-7 4.3-5.3m10.3 3.5c-4.7-1.3-9.2 3.4-4.9 6m11.2-11.5c-5-1-9.2.5-6.5 2.3"/> + <path fill="#fff" stroke-width=".4" d="M483.6 107.5a10 10 0 0 0-7 5.4"/> + </g> +</svg> diff --git a/apps/web/public/flags/bv.svg b/apps/web/public/flags/bv.svg new file mode 100644 index 00000000..40e16d94 --- /dev/null +++ b/apps/web/public/flags/bv.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bv" viewBox="0 0 640 480"> + <defs> + <clipPath id="bv-a"> + <path fill-opacity=".7" d="M0 0h640v480H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#bv-a)"> + <path fill="#fff" d="M-28 0h699.7v512H-28z"/> + <path fill="#d72828" d="M-53-77.8h218.7v276.2H-53zM289.4-.6h381v199h-381zM-27.6 320h190.4v190.3H-27.6zm319.6 2.1h378.3v188.2H292z"/> + <path fill="#003897" d="M196.7-25.4H261v535.7h-64.5z"/> + <path fill="#003897" d="M-27.6 224.8h698v63.5h-698z"/> + </g> +</svg> diff --git a/apps/web/public/flags/bw.svg b/apps/web/public/flags/bw.svg new file mode 100644 index 00000000..3435608d --- /dev/null +++ b/apps/web/public/flags/bw.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bw" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#00cbff" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 160h640v160H0z"/> + <path fill="#000001" d="M0 186h640v108H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/by.svg b/apps/web/public/flags/by.svg new file mode 100644 index 00000000..948784ff --- /dev/null +++ b/apps/web/public/flags/by.svg @@ -0,0 +1,18 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="flag-icons-by" viewBox="0 0 640 480"> + <defs> + <clipPath id="by-a"> + <path d="M0 0h200v608h8v284l-8 8H0z"/> + </clipPath> + </defs> + <path fill="#ce1720" d="M0 0h640v480H0Z"/> + <g fill="#fff" clip-path="url(#by-a)" transform="matrix(.52885 0 0 .53333 5 0)"> + <g id="by-c"> + <path id="by-b" d="M36 0v14h-9v14H16v16H8v13H-8V24H8V6H-8V0Zm26 77v15h-8v12h-8V92h-8V77h-8V57h8V42h8V30h8v12h8v15h8v20Zm-17-1h10V58H45ZM19 183h8v-18h-8zm54 0h8v-18h-8ZM-8 305H6v13h6v16h9v15h12v-15h9v-16h8v-13H38v-15h21v10h13v17h11v19h-8v14h-7v13h-6v14h-9v12h-7v11h-9v14H24v-15h-9v-14H8v-9H-8v-23H8v-20H-8Z"/> + <use xlink:href="#by-b" transform="matrix(-1 0 0 1 200 0)"/> + <path d="M96 0v32h8V0h32v14h-8v14h-12v16h-8v13H92V44h-8V28H72V14h-8V0Zm-2 274v-11h-6v-13h-7v-14h-8v-14h-8v-10h-9v-14H44v14h-9v10h-7v14h-8v14h-6v13H8v17H-8v-44H8v-20H-8v-33H8v14h10v14h10v-14h10v-14h8v-18h-8v-14H28v-14H18v14H8v14H-8v-41H8v-19H-8V77H8v13h8v16h11v13h9v15h7v12h14v-12h7v-15h9v-13h11V90h8V77h16v13h8v16h11v13h9v15h7v12h14v-12h7v-15h9v-13h11V90h8V77h16v28h-16v19h16v41h-16v-14h-10v-14h-10v14h-10v14h-8v18h8v14h10v14h10v-14h10v-14h16v33h-16v20h16v44h-16v-17h-6v-13h-6v-14h-8v-14h-7v-10h-9v-14h-12v14h-9v10h-8v14h-8v14h-7v13h-6v11zm2-167v27h8v-27zm-4 58v-14H82v-14H72v14H62v14h-8v18h8v14h10v14h10v-14h10v-14h16v14h10v14h10v-14h10v-14h8v-18h-8v-14h-10v-14h-10v14h-10v14zm4 46v27h8v-27z"/> + </g> + <use xlink:href="#by-c" transform="matrix(1 0 0 -1 0 900)"/> + <path d="M-8 408H8v14h7v8h8v14h7v12h-7v14h-8v8H8v14H-8Zm216 0v84h-16v-14h-7v-8h-8v-14h-7v-12h7v-14h8v-8h7v-14ZM62 459h8v-18h-8zm76 0v-18h-8v18zm-42-59h8v-18h-8zm0 100v18h8v-18Zm-50-75h14v-11h10v-10h5v-10h6v-14h8v-14h4v-13h14v13h4v14h8v14h6v10h5v10h10v11h14v50h-14v11h-10v10h-5v10h-6v14h-8v14h-4v13H93v-13h-4v-14h-8v-14h-6v-10h-5v-10H60v-11H46Zm50 9v-15h-8v-10h-8v25h8v9h5v14h-5v9h-8v25h8v-10h8v-15h8v15h8v10h8v-25h-8v-9h-5v-14h5v-9h8v-25h-8v10h-8v15z"/> + </g> + <path fill="#007c30" d="M110 320h530v160H110Z"/> +</svg> diff --git a/apps/web/public/flags/bz.svg b/apps/web/public/flags/bz.svg new file mode 100644 index 00000000..d81b16c2 --- /dev/null +++ b/apps/web/public/flags/bz.svg @@ -0,0 +1,145 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-bz" viewBox="0 0 640 480"> + <defs> + <radialGradient id="bz-a"> + <stop offset="0" stop-color="#ffef5d"/> + <stop offset="1" stop-color="#ea5700"/> + </radialGradient> + <radialGradient id="bz-b"> + <stop offset="0" stop-color="#952d1a"/> + <stop offset="1" stop-color="#570a00"/> + </radialGradient> + <radialGradient xlink:href="#bz-a" id="bz-c" cx="247.1" cy="238.3" r="36" fx="247.1" fy="238.3" gradientTransform="scale(1.22624 .8155)" gradientUnits="userSpaceOnUse"/> + <radialGradient xlink:href="#bz-a" id="bz-d" cx="322" cy="152.9" r="10.6" fx="322" fy="152.9" gradientTransform="scale(.93615 1.06821)" gradientUnits="userSpaceOnUse"/> + <radialGradient xlink:href="#bz-b" id="bz-e" cx="364.2" cy="237.8" r="36" fx="364.2" fy="237.8" gradientTransform="scale(1.2242 .81686)" gradientUnits="userSpaceOnUse"/> + <radialGradient xlink:href="#bz-b" id="bz-f" cx="468.1" cy="156.1" r="10.7" fx="468.1" fy="156.1" gradientTransform="scale(.95596 1.04607)" gradientUnits="userSpaceOnUse"/> + </defs> + <path fill="#ce1126" d="M0 0h640v480H0z"/> + <path fill="#003f87" d="M0 34.3h640v411.4H0z"/> + <circle cx="320" cy="240" r="188.6" fill="#fff"/> + <circle cx="320" cy="239" r="156.3" fill="none" stroke="#552300" stroke-width="3.9"/> + <path fill="#007f00" d="M302 73.2c14-15.2 26.9 2.3 26.5 10.6C328.2 92 314 110 301 95.5c13.4 3.4 17.4-11.5 24.1-11.7-6.7.2-9.5-14.6-23.2-10.6zm-147.2 119c-7.4-19.4 14-23 21.3-19 7.3 3.9 17.3 24.6-1.6 29.6 9-10.4-2.7-20.5.2-26.6-2.9 6-17.5 2-19.9 16M471.9 173c19.4 7.6 7.6 25.8-.2 28.4-7.9 2.7-30-4-21-21.2 1.6 13.6 17 12 19.7 18.1-2.6-6.2 10.3-14 1.5-25.3M218.8 377.4c-20.7-2-14.3-22.7-7.5-27.4s30-4.3 26 14.7c-5.3-12.6-19.7-6.8-24-12 4.3 5.2-6 16.3 5.5 24.7m209.3-15c.3 20.7-21.1 16.8-26.6 10.6s-7.7-29 11.8-27.3c-12 6.6-4.6 20.2-9.4 25 4.8-4.8 17.1 4 24.2-8.2zM170 153c-1.9-20.6 19.8-18.3 25.7-12.6 6 5.8 10 28.4-9.6 28.2 11.5-7.6 3-20.5 7.4-25.6-4.4 5-17.3-2.8-23.5 10m22.2 193c-20.5-3.5-12.7-23.7-5.6-27.9s30.1-2.3 25 16.4c-4.5-13-19.3-8-23.1-13.6 3.8 5.5-7.2 16 3.7 25zM354.3 74c18.6-9.2 24.3 11.7 21 19.3-3.2 7.5-23 19.4-29.8 1.3 11.2 7.9 20.3-4.7 26.7-2.4-6.4-2.3-3.7-17-17.9-18.2M394 388.3c-9.3 18.5-26.5 5.3-28.5-2.7s6.5-29.3 23-19c-13.8.5-13.4 16-19.8 18 6.4-2 13.3 11.4 25.3 3.7m90.5-178.7c15.6 13.7-1.7 26.8-10 26.7-8.2-.1-26.8-13.8-12.5-27-3 13.4 12 17 12.4 23.6-.3-6.7 14.5-9.8 10-23.3zm-263-108.8c4.7-20 24.5-11.2 28.4-3.9s.5 30-18 23.8c13.3-3.7 9.3-18.6 15-22-5.7 3.4-15.5-8-25.4 2.1m-61.6 172.5c-18.2-10-4.2-26.5 4-28.1 8-1.7 29.2 7.7 18 23.7.2-13.7-15.4-14-17.2-20.5 1.8 6.5-12 12.7-4.8 25zm263.6-159.6c20.6-3 19.4 18.7 14 24.8-5.5 6.2-28 11.4-28.9-8 8.2 11 20.8 1.9 26.2 6-5.4-4.1 1.9-17.3-11.3-22.8M306.3 408.1c-19 8.4-23.8-12.7-20.3-20 3.6-7.5 23.9-18.6 30-.1-11-8.4-20.5 3.8-26.8 1.3 6.3 2.5 3 17.2 17.1 18.8M476.8 293c8.6 18.8-12.6 23.7-20.1 20.2s-18.8-23.6-.2-29.7c-8.4 10.9 4 20.3 1.4 26.6 2.5-6.3 17.3-3 19-17.1zm-325.1-60.6c-12-17 8-25.7 16-23.6s22.8 19.8 5.7 29.2c6.2-12.3-7.6-19.3-6.3-25.9-1.3 6.6-16.5 6.1-15.4 20.2zM264 395.6c-19.6 7.1-23-14.2-18.9-21.4 4-7.2 25-16.9 29.9 2-10.3-9.1-20.7 2.4-26.8-.5 6 2.9 1.8 17.3 15.8 19.9m-5.7-314c11.6-17.2 27-2 28 6.3.9 8.1-10.3 28.2-25.4 15.8 13.8 1.3 15.4-14 22-15.2-6.6 1.2-11.7-13-24.6-7zm200.2 252.1c1.3 20.6-20.3 17.7-26 11.7-5.8-5.9-9.1-28.6 10.4-27.8-11.7 7.2-3.6 20.4-8.2 25.4 4.6-5 17.3 3.3 23.8-9.3m-5.3-194.4c20.4 4 12 24 4.7 28s-30.2 1.3-24.4-17.2c4 13.1 19 8.7 22.6 14.4-3.6-5.7 7.7-15.7-3-25.2zm-258.4-14.6c.2-20.6 21.5-16.2 26.8-9.9s7 29.3-12.4 27c12.2-6.3 5-20 10-24.7-5 4.7-17-4.5-24.4 7.6M169 311c-18.6-9.4-5.1-26.4 2.9-28.3s29.5 6.7 19 23c-.4-13.7-16-13.4-18-19.8 2 6.4-11.6 13.1-4 25zM392 91c19.5-7.3 23 14 19 21.2s-24.9 17.1-29.9-1.7c10.4 9 20.7-2.6 26.9.3-6.2-2.9-2-17.3-16-19.8m-41.3 314.8c-15.2 14.2-26.7-4.1-25.8-12.3s16.3-25.3 28.2-9.9c-13-4.3-18 10.4-24.9 10 6.8.4 8.5 15.3 22.5 12.2m132.7-158c14.2 15.1-4.4 26.5-12.6 25.5s-25.4-16.3-9.8-28c-4.4 13 10.3 18 10 24.7.3-6.7 15.4-8.4 12.4-22.2"/> + <path fill="#005800" d="M301 95.5c13.4 3.4 16.7-11.3 23.5-11.5-4 4.7-14.2 16.7-23.5 11.5m1-22.3c14-15.2 26.9 2.3 26.5 10.6-11.5-20-15-17-26.6-10.6zM174.4 202.8c9-10.4-2.8-19.9 0-26 2.6 5.6 8.9 20.1 0 26m-19.7-10.7c-7.4-19.3 14-22.9 21.3-19-23.1 1.4-22 6-21.3 19m295.9-11.8c1.6 13.5 16.7 11.3 19.3 17.5-5.9-2-21-7.1-19.3-17.6zm21.2-7.3c19.4 7.6 7.6 25.8-.3 28.4 14.7-17.8 10.5-20 .3-28.4M237.3 364.7c-5.3-12.6-19.2-6.4-23.4-11.7 6.2.3 22 1.2 23.4 11.7m-18.5 12.7c-20.7-2-14.3-22.7-7.5-27.4-9.2 21.1-4.6 22.1 7.5 27.4m194.5-31.7c-12 6.6-4.2 19.6-9 24.3-.4-6-1.3-21.8 9-24.3m14.8 16.7c.3 20.7-21.1 16.8-26.6 10.6 22.3 6.6 22.7 2 26.6-10.6M186 168.4c11.5-7.5 2.7-19.8 7-25 1 6.1 3 21.8-7 25M169.9 153c-1.9-20.6 19.8-18.3 25.7-12.6-22.7-4.9-22.8-.2-25.7 12.6m41.5 181.5c-4.4-13-18.7-7.6-22.5-13.2 6.1.7 21.9 2.7 22.5 13.2M192.1 346c-20.5-3.5-12.7-23.7-5.6-27.9-10.6 20.5-6 21.8 5.6 27.9M345.4 94.6c11.3 7.9 19.7-4.7 26.1-2.5-5.4 3-19.3 10.6-26 2.5zm8.9-20.6c18.6-9.2 24.3 11.7 21 19.3-3.5-22.8-8-21.1-21-19.3m34.2 292.6c-13.8.5-12.8 15.6-19.3 17.6 2.5-5.6 9-20 19.3-17.5zm5.5 21.7c-9.3 18.5-26.5 5.3-28.5-2.7 16.7 16 19.2 12 28.5 2.7m68-179c-3.1 13.4 11.9 16.3 12.2 23-4.9-3.8-17.2-13.7-12.2-23m22.5.3c15.6 13.7-1.7 26.8-10 26.7 19.9-12 16.7-15.4 10-26.7m-252.6-89c13.3-3.6 8.8-18 14.6-21.5-1 6-4 21.5-14.6 21.6zm-10.4-19.8c4.7-20 24.5-11.2 28.4-3.9-20-11.7-21.6-7.2-28.4 4zm-39.5 168c.1-13.6-15.2-13.3-17-19.8 5.6 2.7 19.9 9.7 17 19.9zm-22 4.5c-18.3-10-4.3-26.5 3.9-28.1-16.8 15.9-13 18.6-4 28.1zm248.6-142.8c8.2 11 20.2 1.6 25.6 5.7-6.1 1.2-21.7 4.1-25.6-5.7m14.9-16.8c20.6-3 19.4 18.7 14 24.8 3.7-22.7-1-22.5-14-24.8M316 388c-11-8.4-19.9 3.9-26.1 1.4 5.5-2.8 19.7-9.8 26-1.4zm-9.7 20.1c-19 8.4-23.8-12.7-20.3-20 2.7 22.8 7.2 21.4 20.3 20m150.2-124.7c-8.4 10.9 4 19.7 1.5 25.9-2.8-5.4-10-19.5-1.5-26zm20.3 9.5c8.6 18.8-12.6 23.7-20.1 20.2 23-2.8 21.6-7.2 20.1-20.2m-303.3-55c6.2-12.3-7.7-18.6-6.4-25.2 3.8 4.8 13.5 17.3 6.4 25.2m-21.8-5.7c-12-16.9 8-25.5 16-23.5-22.1 7-19.8 11-16 23.6zm123.3 144c-10.3-9.1-20 2.5-26.2-.4 5.7-2.4 20.4-8.5 26.2.3zm-11 19.4c-19.6 7.1-23-14.2-18.9-21.4 1.1 23 5.7 21.9 18.9 21.4m-3-291.9c13.7 1.3 14.7-13.8 21.3-15-3.1 5.3-11.4 18.8-21.4 15zm-2.7-22.2c11.6-17.1 27-1.8 28 6.3-14.5-18-17.6-14.3-28-6.3M443 317.6c-11.7 7.2-3.3 19.8-7.9 24.8-.7-6.1-2.3-21.8 8-24.8zm15.6 16.1c1.3 20.6-20.3 17.7-26 11.7 22.4 5.7 22.7 1 26-11.7m-25-183.6c4 13.1 18.5 8.3 22.1 14-6-1-21.8-3.5-22-14zm19.7-10.8c20.4 4 12 24 4.7 28 11.3-20.1 6.8-21.6-4.7-28m-244 2.6c12.2-6.4 4.7-19.6 9.6-24.2.3 6.1.8 21.9-9.6 24.2m-14.4-17.2c.2-20.6 21.5-16.2 26.8-9.9-22-7.1-22.6-2.4-26.8 10zm-4 181c-.3-13.7-15.6-12.8-17.6-19.2 5.7 2.4 20.2 9 17.6 19.2M169 311c-18.5-9.4-5-26.4 3-28.3-16.2 16.4-12.3 19-3 28.3m212.2-200.4c10.4 9 20-2.8 26.2 0-5.7 2.6-20.3 8.7-26.2 0M392 91c19.5-7.3 23 14 19 21.3-1.2-23-5.8-21.9-19-21.3m-38.9 292.6c-13-4.3-17.4 10.2-24.2 10 4.3-4.5 15.4-15.8 24.2-10m-2.4 22.2c-15.2 14.2-26.7-4.1-25.8-12.3 10 20.7 13.8 17.9 25.8 12.3M461 245.3c-4.4 13 10.2 17.3 9.9 24-4.5-4.2-15.8-15.3-9.9-24m22.4 2.5c14.2 15.1-4.4 26.5-12.6 25.5 21-9.9 18.1-13.6 12.6-25.5"/> + <g fill="#730000" stroke="#000" stroke-width=".5"> + <path d="M349 120.3s.6-1.3 1.7-.6c1 .8 1.3 4.2 1.3 4.2l-1.6.8s.9-1.3-1.3-4.4zm-8.8 30.7s.8-1-.3-3.4l1.5-.5s.6 1.8-.2 3.9h-1m27-5.4-3.7 2.3 1.9.8 4.5-2.6-2.7-.5m-49.7 14.6c-1 .8-1 2.1-1.7 3-.4.7-2 1.8-2 3-.2 1.1-.3 1.9.2 3.5.6 1.5 3 8.5 2 13.7-1 5.3-.6 7.5-.3 8.3.4.8 1.6 3 2.3 3 1.6-.2.9-.7 1.5-1.7 1.4-2.5 0-22.2-.7-27.6-.5-4.2-2.5-8-2.7-8.4l-.8-2.6c-1.5-3.5-3.3-6.5-3.3-13.9 0 0-4.7 1.1-8.8-8.2-2.2-4.7-5.3-4.2-9-5.7l1.6-1.1s3.2 1.6 4.7 1.6c1.6 0 1-3.2 1-3.2l1.7-1.5v6.8c0 3.1 4.3 7.4 6.8 8.7 1.6.8 3.6-2.4 3.1-5.6-.5-3 0-7.3 0-7.3l2.2 1.3s-.8 1.3-.6 2.1 1.3-.7 2.1-1.5q-.1.1 1 .2l-2.3 4c-.8 1.2-.8 6.2-.8 8 0 2 .7 6.2.7 7.6 0 1 1.8 5 3.3 7.4l1.6 3.5c1.2 1.9 1.3 3.2 2 4.7q.6 1.1 1.6 7l.7 7c.2 2.4 2.2.6 4.5-1 2.4-1.8 2.4-6 2.4-6s1.8-1.6 1.5-.7c-.2 1 1 2 1 2-1.4 3.3-.6 2.9.9 2.8s6.5-4 6.5-4c.7-.2 3.8-.2 3.3 0s-1.4 1.7-1.4 1.7l3.3-.4c-1.1.9-5.5 3.4-6.5 4a91 91 0 0 1-8.6 4.1c-2.3 1-6.7 3.2-6.9 5.4 0 2.3.3 8.3 0 10.3l-1 10.6h-10.4s2-7.6 0-9.7c-2.1-2.1-7-8.4-10-10.5-3.2-2 2-.5 2-.5v-2.1l4.8 5.7s8.3-7.3 0-17.3c-2.6-3.1-5.3-7.9-7.3-8.4-2.2-.6-3.3-1-6.9 0-3.7 1.1-12.6 1.1-16.3-4.8l3.1-.5 2.7-1s-1.1 3.7 6.3 3.7 8.4 0 7.8-6.8l2.2-1.1 1.6 1.5s-1.1 3.8-.5 5.3c.5 1.6 3 2.7 5.1 4.2q1.4 1 2.2.8c.9-.1 1-.1 2.2-1.3 1.8-2 1.4-1.8 3.2-3.4l1-1.6z"/> + <path d="M319 155c.5-.4 1.2-1.9 2-3.1 1.1-2 2.5-3.2 4-5.6 1.5-2.2 2-5.6 1.5-7.9l1.4.8v3.7l2.7-2 .8.4s-5.9 6-11.3 15.9zm-51.3-20.3c.8 1.4 1.6 4 3.9 6l1.6-.4s-3.6-4.2-3.6-6l-1.9.4m9.2-2.4s.5 5-.8 6.9l1.6-.8s1-3.4.7-5.3zm51.4-15.7s-.3 7 1.1 11.3l1.9-.5s-.3-1.3 1.2-1.9c1.6-.5 5.3-2 7.2-3.6l-.6-1.6s-2.8 2.3-4.2 2.9c-1.3.5-2 1-3.1.7s-2.4-2-1.6-6l-1.9-1.3m20.7 32.8s-.4 5-.2 7.2l1.7.4s-.4-6 .7-6.5l-2.2-1m7.5 3.7s-1.9 3.2-4 3.5l3.4-.7s1-.5 2.4-2l-1.8-.8"/> + </g> + <g fill="#289400" stroke="#030" stroke-width=".5"> + <path d="m326.6 138.4 1.3.8 1.3.2 3.2 2.6c1.2 1 1.2-.2 1.2-.2l.8 3.1h1l-.2 3.2 1.8-1.6 2.2 1.9s1.5-1.4 2.3-1.4 1.1-.8 1.1-.8h.1q-8-3.6-5.9-7.6c2.6-4.4 6.8-1.6 8.1-1l19 10.2s1.3-.8.4-1.6-1.4-2.7-1-3.5c.2-.8 2.4 2.4 3.4 2.7l3.5.7v-1s3 2.2 3 3.3c0 0 2.3-1.2 1.5-1.9s3.5 1.7 3.7 3l1-1c-.2 0 .2-3.2 1.3-4.6a5 5 0 0 1 2-1.9s1-1.7 2-1.7c0 0-1-.6-1.4-1.4-.5-.8-1.6-1.2-1.6-1.2s1.4-1 1.8-1.5q.7-.8.8-.7c.1.1-2.2-1.9-3.8-2.2 0 0-.1-2.5-2-2.7h.8s-1.4-2.8-2.8-2.8c0 0 .9-1 1.6-1.1 0 0-1.6-2.2-3.9-1.4l1.5-.6s-1-1.1-4.4-.6c0 0 .3-1.3-1.2-2.4 0 0-1.2 0-1.2 1 0 0-1.2-1-2.7-1-1.4 0 .5 1.6.5 1.6s-2-1.3-3.1-1c0 0 .5-2.2-.8-3.3 0 0-1.4.7-1.8 1.7l-.4-1s-2 2.4-2.4 1.7c-.3-.4-.6-2-.6-2l-1.1 1.7.2-2.4s-1.4.8-2.5 3.3c0 0-1.3 1.3-1.3 2.4 0 0-1.1-1.2-2 0-1 1.4 0 1.1 0 1.1s-.5.5-1.5.7l.2.8s-1.2-.7-2.2-.4l.5 1.2s-2.6.2-2.7-2c0 0-2.1-1-2.4.2l-1.6 1s-.5-1-1.3-1.2c-1-.3-.2 1.3-.2 1.3s-.3-1.2-1.5-1.8c-1.2-.5-.2 1-.2 1s-1.5-1.2-.8-2.2c0 0-1.4 1.4-.7 2.7l-1 .7s-.5-.5-.4-1c0-.3-1.7 1.3-1.7 1.3s-1-2.6 0-2.6c.1 0-1.8 0-2.1 2.2 0 0-1.3 0-2.5.4s1 1.3 1 1.3-2-.4-3 .2l.7.9s-.7-.7-2.4-.1.4.8.4.8-1.7-.4-2.6 0 .3 1 .3 1-3.2-1-3.7-.6c-.5.3 1 1.8 1 1.8s-2 .5-2.3 2l1.8.7s-.8.4-1.2 1.1 1.2.4 1.2.4-2.2 1.6-2.2 2.8c0 0 1.6.5 2.7-.7s.4-.8.4-.8l.1.8s2.3-1 2.3-1.6c0-.5-.4.8-.4.8l2.2-1.2z"/> + <path d="m324.7 108-.5-2.2 5 .6.9-2s2.4 1 3.1 1.8c0 0 4.6-1.2 6-.7l-.6 2.1s4.2.3 5.6.8c1.2.5-.6 1.6-.6 1.6s4.8.6 6.8 1.8c2.2 1.3 2.2 2.4 1.1 2.7l2.6 4.2s-4.2.5-5 1.5c-.7 1.1-1.5-1-1.5-1l-.8 2.9s-2.6-1.4-3.7-2.4c0 0-1.3 1.6-.5 2.4l-4.8-3.1s-2-.3-2 1.5l-3-3.4-2.6.8s-.8-1-1.7-1.4c-1.1-.2-.3 1.4-.3 1.4l-1.6-1.9-1.6-1.8s-1.3 1.8-2.4 1.8-1-1.2-.8-2.1c.3-.8-3.1-1-3.4 0 0 0-1-4 2.6-5l3.7-1zm-19 13.3-1.6 1.6-1-.5-1.9 2.1-.4-1.1-1 1.7-1.7-.6-.8 1.3-1.5-.3s-1.2 1.2-2 1.5c-.8.2 0-1.8 0-1.8s-1.2 2-2 2-.6-1-.6-1-.5 1.4-1.4 1.6c-.9 0-.5-1-.5-1l-1.6 1.2v-1l-.7-.3s.4-1.8 1.1-2.2-.7-1.5-.7-1.5l.7-.8s-2-.5-2-.1c0 0 1-2.6 2.4-3.1l.1-3s1.4-1.1 2.6-1.2c1.4-.2-.4-2.3-.4-2.3l3.2-1.8.4-2.3 4.7.4 1-2 3.8 1 3.3-1.7 2.3 2.7 3.5.3v3.1s4.1 1.3 4.6 1.7c0 0-.8 2.5-.8 3 0 0 3-.8 3.8-.6l.4 3.4s5 1.6 5.3 2.5c0 0-1 .7-1.7 1.6 0 0 .6 3 .6 4l-.4.5s-1.4-1.3-2.6-1.5l-1 2.1-1.7-1.1h-1.1s-.9-1-1.6-1v-1l-1.4.9s-2.2-1.1-2.2-1.8l.1-1.5-2.2 1.5s-.5-1.1-.4-1.6-.9 1.1-.9 1.1-1.2-2-1-2.4l-.4 1.7s-2.3-.8-2.6-2.4z"/> + <path d="M274.5 130.9s4.1 2 4.1 3c0 0 1.1-2.1.5-3l1.6 1.1s.5-1.9-.1-2.5c-.5-.5 3.5-2.1 4.4.5 0 0 2.4-2.5-2.3-4.7 0 0-.4-1.6 2.5-1.2 0 0-.2-1-.9-1.3h2.7s-1.6-1.4-4-1.8-1-.7-1-1.2c-.2-.5 0-2.2 0-2.2s-1.4-.5-2.5 0l.4-.4s-2.5-.7-3.5-.1c0 0-1.5-.6-1.3-2.1 0 0-1.5-.1-2.1 1.4 0 0-1.4 1.6-3.3 1.6-.3 0-1.7-.8-1.7-.8l-1.2 2.7H265l.5 1s-2.8-.8-3.7 0c0 0 1.1 1.7.8 2.8 0 0-2.2.4-2.7.8s.8.7.8.7-2.6.8-3.2 1.6l1 .7-1.2 1.6 1 .2-2.5.8c-.9.3 1.5.5 1.5.5l-1.1 1 1.8.3s-1.4 4-1.5 5.8c0 0 2.2-2.7 2.8-3l-1.8 3s3.4-1 3.7-1.6l.5-1 .1 1.6s1.3-1.7 1.5-2.4 2 .7 2 .7v-1l2.4.7q1-.2.8-.3l1.6-.2-.3 1.4s1.2-.8 1.5-1.6c.2-.8.8 0 .8 0l.8-3.1zm-13.4 13.8 1.6 3.3c-1.3 0-3.1 1.5-3.1 1.5.3 5.4-1 5.1-1 5.1.3 1-.3 2.8-.3 2.8l7.7-4.6.1-.5 9.2-4.3.3.5 2.6-1.5 1.9 4.9-1.9 1c.1 1.7 2.1 4.6 2.1 4.6l2.4-.6 2.7-1v1c0-.3 2.9-1.3 2.9-1.3l1.3 1.3c1-.1 2.7-2.5 2.7-2.5l2 .8s.7-1.2.7-2 2.6-.8 2.6-.8l1.7 1.2 2.3-1.8s.7 1.3 1.6 1.5 3.4 2 3.4 1.6 1-2.5 1-2.5l4.1 1.6c-.5-1.8-2-4-2-4s2-1.6 1.7-2-1.6 0-1.6 0l1.2-2.4h-1.6l.5-.6-2.5-1 1.3-2.8c-.6-.7-7.3-2-7.3-2l1.6-1.5s-.8-1.2-1.6-1.2-4.9.1-5-.3l-1.8-1.8-2.6 1.9-1.3-.4-2.2.8s0 1.3-.3.4-2.3-2.8-2.3-2.8c-.4.7-3 3.8-3 3.8s-.5 1.7-1.3.5c-1-1.2-3-2.4-3.4-1.5-.2 1.1-2.1 2-2.5 1.8-.4-.3-2.5-.1-2.7.5-.1.7-2.5 2.4-2.5 2.4-1.4-.7-3.8-.3-3.8-.3s-.7 1.1-.8 2zm44.2 39.6v-2l2.3 1.5 1.4-1.5 1.8 1.7 1-1.7v2.8l2.7-2.3 1.5.6v-2.2s1.9-3.1 1.1-3.7l1.6-.5s-2.7-2.6-3.4-3.1c-.8-.6-1.9-.6-1.9-.6s-2-2-3.4-2.7c-1.3-.5-2 .6-2 .6s-.8-1.5-2.2-1.8c-1.3-.3-1.3 1-1.3 1s-1-1-2.2-1.4c-1.3-.6-.4 1.2-.4 1.2l-4.5-1.4.6 1.4-4.2-1.1.5 1.5-3-.5-.2 1.3-4.2.8.8 1.4-2.6-1.1v1.9l-3 1 1.1 1-4.7 2.4c-.7.5 1.6 1.6 1.6 1.6l-4.2-.6 1.6 1.4-3.7 3.4 2.6 1.9-1.6 2.3 4 .8 1.5 2.6 3.2-.6v3l4.7-3.7s3.4 3 3.7 2.1c.2-.8.2-3.4.2-3.4h1.7V187l1.2 1 2.2-3.1 2.8 3.9 2.2-5zm19.1-11.8-.4-4.5-1.4 1.4.6-4.2-2.2-.4.8-4.1-1.6-.8.4-2 1.6-1.1 2.8-2.8 6.6.1.7-2.1 4.7.8c.8.8 3.3-1.8 3.3-1.8h1l1 2s3.4-.4 5 .6l-1.9 2.6 3.5.3 2.3.5 2.4-.8 3.2-.2.7 1.3h3l-1 1.1 3.8 1.8-.8.8s2.2.8 3.7.8h.8s.8 1.8-.3 2.6c0 0 1.1 2.6 3.4 3.1 2.4.5 2.4.5 2.7 1s0 3.2-2.7 3.2v2.7s-2 1.8-2.3 2.6l-1.6-1s-1.3 1.5-1.3 2.5c0 0-3.5-4.5-4.7-4.7-1.4-.2-1 2.6-1 2.6l-3.8-3.1-.5 2.1-3.1-2.6-1.9 1.3-3.3-3.5-3.2.4 1.2-1.6h-3.9l-.7-3.4-.6 2.8-2.4-1.6-3 3.3s-.4-.4-.9-2c-.5-1.5-1.8 2-1.8 2l-1.1-2.5-1.3 2.4s-1-1.8-2.1-2.4c-1-.5-2 3-2.4 4.5zm.6 10.3.2-1.6 5.6-2.2 4.7-1.7 2.3-1.1 1.1 1.9 1.4-2.7 2.1 2.8 1.2-1.5 1.8 1.4h1.6l.3 2s3.9.3 4.2-.5.8 2.7.8 2.7l3.7.5.8 4.2s1.8 3.9 1.2 5.4c-.5 1.7-2-2-2-2s-.3 2.9-.6 3.7-5-.8-5-.8l-2 3.9s-2.2-3.1-3.2-3.1-1 3.1-1 3.1l-4.5-5.3c-1.3-1.5-1.6 1.6-1.6 1.6s-2-3.4-2-4.4-1.9-2.2-1.9-2.2-3.2 3.7-5.6 4.7c0 0 .3-2.3-.5-3-.7-.9-3 1.5-3 1.5s-1.7-3.6 0-7.4z"/> + </g> + <g fill="none" stroke="#004b00" stroke-width=".5"> + <path d="m350.8 124.5.5 2s1.8-.4 3-.3l-.7 2.2s2.3-.4 3.4.3l-.5 1.2 2.7 1.2-2.5 2s4 1.5 4.9 2.7c0 0-2.7 1.8-3 1.7-.5-.2-.2.8.5 1.7l-2.2-.1s.9 2 .8 2.8c-.2.8-3.8.6-3.8.6m14.1-5.3s.7-3.9-.4-4.9c0 0 2.5 2.2 4.2 2.3s0-3.2 0-3.2 2.3 1.2 3.5 1.5c1.2.2-.9-2.4-.9-2.4s.7-1.3 2.7-.1m-45.4-15.5s0-1-.3-1.4c-2.4-3.2 2.4 2.4 3.4 2.6m4.5 0s1.6 1.2 2.3 1.2c.8 0-.5-3.1-.9-3.5-.3-.4 2.9 1.3 4 1.4 1.2.3 1.4-2 1.4-2s3.6.7 4.4 1.2m-25-.7-.5-3m-24.2 12.7c-.2-.3 1-2 .5-2.9 0 0 .7.6 1.4.7s.4-2.2.4-2.2l.7.3s2-1 1.7-1.8 1.4 1.2 1.4 1.2 1.1-1.2 1.1-1.7 1.4 1.2 1.4 1.2 1.5-.3 1.5-1.2 1.8.3 1.8.3.8-1 .7-1.8m-19.7 9.8s.9-2-.1-3.4m-23.6 9.8c0-1 .5-3.6 0-4s1 .4 2.2.7m9.3-.4c-1.2-1.1-1.9-1.7-3.7-1.7m-16.2 8.3c.3-.7.8-2.4.5-3.3m25 51.7 1.3-2.6 1.6 3.7 1-2.3.4.7 2.4-2.5 2.5 3.8m40.7-16.5 1.7-3.3 2.3 1.2 1-3.3 2.4 1.5 1.3-3 2.7.7.2-2.2s1.8 1 2.3 1.9c.6.7 0-2.7 0-2.7l2.2 1s1.5-1.6-.6-2.4"/> + <path d="m343.6 163.1 2.3 3.4 2-2.2 1.7 3.8 2.3-1.4 3.2 1.9 1.5-1.2 3.5 2.5 1.4-3 3.2 1 2-3.5m-84.4-9.2s1.4-2.3 1-3.4c-.7-1 2.8 1.8 2.8 1.8s.7-2.3.3-3.4c-.6-1 3.9 3.2 3.9 3.2s.7-3.7 0-4.4c-.8-.8 4.3 1 4.3 1s2-.6 1.2-1.6c-.8-1.1 3.4 1.5 3.4 1.5s1-2.6 0-3.6 3.2 1.3 3.2 1.3l-1.6-2.8 3.4.2-.3-3.2m30.3 45.1 2.2-1 2 2 2.2-3.5 2.6 2.5.4-2.5 2.8 1.2.6-1.6 3.1 1.7.3-2.4 1.6.5.3-1.5"/> + </g> + <path fill="#9dd7ff" d="M283.1 298.1a70 70 0 0 1-6-13l42.4-37.2 42.3 37.1a65 65 0 0 1-6.2 13.3l-.3.5-3.2-1.2s-1.4 1.3-2.5 1.4c-1.4.2-2.7-1.3-2.7-1.3s-1.8 1.6-3.7 1.3c-1.9-.2-2.6-1.4-2.6-1.4s-2 1.6-3.4 1.3c-1.2-.3-2.1-1.2-2.1-1.2s-1.2 1.5-2.8 1.2-3-1.2-3-1.2-2.5 1-4 1.3c-1.6.3-3-1.4-3-1.4s-2 1.4-2.8 1.4-3.7-1.4-3.7-1.4-3 1-4.1 1-4-1.3-4-1.3-2.9.8-4.1.8c-1.4 0-3.4-.8-3.4-.8s-2.3 1.1-3.6.8q-2.2-.6-2.4-.8c-.2-.2-2.6 1.1-4.2.8s-3.4-1.4-3.4-1.4-.3.8-3.4 1.4"/> + <path fill="#fff" stroke="#000" stroke-width=".7" d="M319.5 205.1V248l-42.3 37.4a84 84 0 0 1-4.4-27.1V205h46.7"/> + <path fill="#ffd83c" stroke="#000" stroke-width=".7" d="M319.5 205.1V248l42.2 37.4a84 84 0 0 0 4.3-27.1V205h-46.5"/> + <g stroke="#000" stroke-width=".5"> + <path fill="#730000" d="M292.2 289.2c3.2 1.7 2 1.2 8.7 3.5a62 62 0 0 0 20.7 2.8c8 0 12.4-.7 15-1.4s3.1-1.8 3.1-1.8l-6.5 6.7s-26.3 1.4-31-1.7c-2-1-6-4.2-10-8z"/> + <path fill="none" d="M330.8 276.8s8.4 4.8 0 14m-37.8-1 12-11.6-1.3 15.4m6.3 1.4v-25.8m20.8 25.8v-27.4m-10.5 27.9V266"/> + <path fill="#ff0018" d="m310 270.6-5.4 1.7 5.4.6v-2.3m10.3-4-5.8 2.1 5.8.2v-2.4m10.5 1.6-5.8 2.2 5.8.3V268zm3.4 12.4c-.3-1.1 3.4-1 3.4-1s1 3.9 0 6.3l-3.1-.6s.3-2.6-.3-4.7z"/> + <g fill="#fff"> + <path d="m294.8 288.1 10.3-10-.5 6s-5.3 3.5-5.3 5.9l-4.5-1.9m5.5 2.1s1-3.1 4-4.7l-.3 6.3zm14.7-17.3s4.2-.6 7.4 0c0 0-.5 4.2 0 5 0 0-5.8-1.4-8.1.8 0 0-.8-4 .7-5.8zm-8.9 1s4.2-.5 7.4 0c0 0-.8 4.8-.3 5.5 0 0-4.7-2.6-7-.4 0 0-1.6-3.3 0-5z"/> + <path d="M305.9 279.4s4.2-.4 7.3 0c0 0-.5 4.3 0 5 0 0-5.5-1.2-7.8.8 0 0-1.1-3.9.5-5.8zm8.4-.7s6-.8 9.1-.3c0 0-1.2 3.4.3 5.7 0 0-6.5-1.7-9 .3 0 0-2-3.9-.4-5.7zm-9 6.5 8.2.6s-.8 6-.3 6.7c0 0-6.6-1.5-7.8.6 0 0-2.2-5.4 0-7.9zm9.2 0s7-.5 10.3 0c0 0-1.9 4.5.2 8.4 0 0-9.2-2.6-10.5-.5 0 0-2.1-5.4 0-7.9zm10.8-12.3s4.2-.6 7.3 0c0 0-.5 4.2 0 5 0 0-5.8-1.4-8 .8 0 0-.9-4 .7-5.8zm0 5.8s4.2-.5 7.3 0c0 0-.5 4.2 0 5 0 0-5.8-1.3-8 .7 0 0-.9-3.9.7-5.7zm.5 6s4.2-.6 7.4 0c0 0-1 6.6-.6 7.4 0 0-4.8-2.3-7-.3 0 0-1.4-5.2.2-7z"/> + <path d="M334.5 285.2s1.3 5 3 5.6l-2.2 2.8s-2.9-2-3.2-4.4c0 0 1.9-2.1 2.4-4z"/> + </g> + </g> + <g stroke="#000" stroke-width=".6"> + <path fill="#006ac8" stroke="none" d="M355.4 298.7a66 66 0 0 1-36 28.3 67 67 0 0 1-36.3-28.8h.1c3-.7 3.4-1.5 3.4-1.5s1.8 1.1 3.4 1.4 4.2-.8 4.2-.8 1 .5 2.4.8 3.6-.8 3.6-.8 2 .8 3.3.8 4.1-.8 4.1-.8 3 1.3 4 1.3c1.1 0 4.2-1 4.2-1s2.9 1.4 3.7 1.4c.7 0 2.8-1.4 2.8-1.4s1.4 1.7 3 1.4c1.5-.2 4-1.3 4-1.3s1.4.9 3 1.2 2.8-1.2 2.8-1.2.9.9 2.1 1.2c1.4.3 3.3-1.3 3.3-1.3s.8 1.2 2.7 1.4c1.8.3 3.7-1.3 3.7-1.3s1.3 1.5 2.7 1.3c1.1-.1 2.5-1.4 2.5-1.4l3.3 1"/> + <path fill="none" stroke-width=".5" d="M353.7 301.2c-1.4.1-1.6-.8-1.6-.8s-2 1.6-3.8 1.3c-2-.3-2.9-1.5-2.9-1.5s-2 1.6-3.4 1.3a5 5 0 0 1-2.3-1.1s-1.3 1.4-3 1.1-3-1.1-3-1.1-2.7 1-4.4 1.3c-1.6.3-3-1.5-3-1.5s-3.8 1.2-4.6 1.2c-.9 0-3.6-1.2-3.6-1.2s-1.9 1.1-3 1.1-4.2-1.3-4.2-1.3-3 .8-4.3.8c-1.4 0-3.5-.8-3.5-.8s-2.5 1-3.9.8l-2.4-.8s-2.7 1-4.4.8c-1.6-.4-3.6-1.4-3.6-1.4s-.3.7-3.5 1.4h-.1"/> + <path fill="#5ac800" d="M293.1 305.2s-.3.7-2.8 1.2l-.7.2.6-.2-.7.3a44 44 0 0 0 11.7 11c4.5 3 9.6 6.6 18.4 9.2a71 71 0 0 0 17.8-9c6-4.5 9.2-7.2 12.6-11.7-2.7 1.5-2.3 1.5-3.7 1.3-1.3-.3-2.3-1.3-2.3-1.3s-1.3 1.5-3 1.3c-1.6-.3-3-1.3-3-1.3s-2.2 1.5-4.4 1.4c-1.6-.1-3-1.6-3-1.6s-3.8 1.3-4.6 1.3c-.9 0-3.6-1.3-3.6-1.3s-1.9 1.2-3 1.2-4.2-1.4-4.2-1.4-3 .8-4.3.8-3.4-.8-3.4-.8-2.5 1-4 .8c-1.3-.3-2.4-.8-2.4-.8s-2.7 1-4.4.8c-1.6-.3-3.6-1.4-3.6-1.4z"/> + <path fill="#ffd800" d="M319.6 326.9a89 89 0 0 0 17.1-8.6c-1 0-4-1-2.9-1.2 0 0-1.2 1-2.3 1s-4.2-1.3-4.2-1.3-3 .7-4.3.7c-1.4 0-3.4-.7-3.4-.7s-2.6 1-4 .7l-2.4-.7s-2.8 1-4.4.7-3.6-1.3-3.6-1.3-2.4 1.3-4 1.4a55 55 0 0 0 18.4 9.3z"/> + </g> + <g stroke="#000" stroke-width=".5"> + <path fill="#b34b00" d="M313.2 249c1.9-1.6 3-3 2.3-4.2-.7-1-1.8.6-3 .2 0 0-2-1.1-2.5-2-1-1.2-2.5-2.3-3.3-3.4-.9-1-4.2-5.3-9.1-10.3-1.5-.9-1.1-4.4-2.2-5.5 0-.8-10-10.6-13.4-14-1.5-1.1-2.2-1.8-4.7.5-2 1.7-2.7 3.6-.1 5.8l12.8 11.7c1.9 1.8 4.5 2.1 5.6 3l13 13.4c1.7 1.4 2.5 2.4 1.5 3.6-1 2 .1 2.3.3 2.3.2.1 1.1.1 1.7-.4z"/> + <path fill="none" d="m280.7 214 13.4 13.2"/> + <path fill="#fff" stroke-width=".6" d="m298.8 220 1.1-2.5c.2-.4 3.8-6.2 5.6-6.3l11.3 8.2c0 .5-5 7.8-5.3 7.2 0 0-13.2-5.5-12.7-6.6z"/> + <path fill="#ccb8c8" stroke="none" d="M306 222c-1.6-1.2-4.1-2.4-6.2-3.8l-.9 2c.7.8 10 5.1 11.6 6 0 0-1.8-2-4.6-4.2z"/> + <path fill="none" stroke-width=".4" d="m299.8 218 5 3.1c2.7 2 4.4 4 6.4 5.2"/> + <path fill="#782121" d="m277.1 253 25.5-31.7c.5-.4 2.9-.4 3.2 2l-24.2 33s-2.7-.3-4.5-3.4z"/> + <path fill="#730000" d="M362.7 253.3c-1 .7-2.4.8-2.4.8-1.7-1.9-3-4-5.4-6.5l-25.5-31.3 2.7-2.6 23 26.9c.6.7 4.6 4.9 8.4 9.8 0 0 .3 2-.8 2.9z"/> + <path fill="#fff" d="m338.1 220.3-4-5s-3.2.5-3.8 2.1c0 0-2.2 3.7-8.2 4.1 0 0 1.7 7 8.6 10.7 0 0 2.5-7.2 5-8.4 0 0 2.5-1.9 2.4-3.6z"/> + <path fill="#730000" d="M327.9 242q-.9-.3-2 .4c-.9.5-1.8.3-1.7-.7 0-.8 0-.7 1-1.4a6 6 0 0 1 5-.5l-2.3 2.1m27.8-27.7c-.2-.7-.4-1.4.3-2.2s.7-2.2-1-1.5q-2.7 1-.9 5.4z"/> + <path fill="#fff" d="m327.3 242.5 28.9-28.7 7.1 7.6s-1.5-.6-2-.2.5 1.9.5 1.9-1.3-.5-1.9-.1c-.7.4 0 2 0 2s-1.2-.8-1.8-.5c-.5.4 0 2.3 0 2.3s-1.5-.5-2-.1c-.3.4 0 2 0 2s-1.5-.7-2.3 0 .4 1.9.4 1.9-2-.8-2.7.4.1 2.2.1 2.2-1.6-.7-2-.4c-.4.4 0 2.3 0 2.3s-1.3-.8-2.2.2.1 2 .1 2-1.3-.8-2-.4.2 2.2.2 2.2-1.2-.9-2.1 0 0 2 0 2-1-1-2.2 0c-1 1 0 2.1 0 2.1s-1.5-.8-2.1 0 .2 1.9.2 1.9-1.2-.7-2-.3c-.7.4 0 2.1 0 2.1s-1.1-1.3-1.6-.6 0 2.4 0 2.4-1-1.3-1.6-.6c-.7.6.4 2 .4 2s-2-.8-1.5-.8z"/> + <path fill="#7e4b7e" stroke="none" d="m354.5 216.2-2.2 2.2.5 7.7s.5-2.2 1.1-.7c0 0 .2-1.8.7-1.5-.4-.2 0-7.8 0-7.8m-4.3 4.3-1.6 1.5.6 7.7s.4-2.9 1.1-.6v-8.6m-17.6 17.2-1.5 1.7.4 4.7s.5-3 1.1-.7l-.2-2.6z"/> + <g fill="none" stroke="#7e4b7e" stroke-width=".9"> + <path d="M330.9 218.3c1 1 4 5 4 5m-2.6-2.9c-.2.6-.6 2.3-1.5 3.2m2-2.8c-.2.4-.2 1.7-1.5 3m2-2.4q-.3 1-.8 1.7m1-1q-.1.5-.4.8m-3.2-2.7a29 29 0 0 1-4.8 2.8m4-1.8a14 14 0 0 1-3.1 2.2m2.8-1c-.5.4-1.5 1.4-2.3 1.7m1.8-.5q-.7.7-1.5 1.1"/> + <path stroke-linecap="square" d="M311.3 224.7c.3-.6.9-1.8 1.6-2.8 1-1.4 1.3-1.6 1.8-2"/> + </g> + </g> + <path fill="#289400" stroke="#060" stroke-width=".5" d="M217 303.4c1.5.7 0-4.8.5-6.8.6-2.2 4.8 5.2 6.8 6.2 2.2 1 15.3-5.2 15.3-5.2l3.1-5.8 1.7 4.8s3.6-4.2 4.6-5.8c1.1-1.6 0 3.1-1 4.7-1.1 1.5 3.1 2.1 2.6 5.3-.5 3 4.2-2.2 4.2-2.2l12.1 1s2-7.3 5.3-11.5l1 4.8 5-5.1a66 66 0 0 0 41.3 39.2 67 67 0 0 0 40.2-36.6l6.7 7s5.3-1.6 6.3-2.2a70 70 0 0 1 15.5 5.6c1 .7.3-3.5.3-3.5s5.8 1.1 5.3 4.2c0 0 1.2-2.9 2.3-3.4s3.6 2.7 4.2 3.7c.5 1 13 2.6 14.7 3.6 0 0 1.3 1.6 1.3 2.7 0 0 2.7-.3 4.7-.3 0 0-1.5.8-1.5 2.4q0 2.5-2.4 3.6c-1.5.8 0 1.4 2 1.6 2.2.3 0 3-4.1 4.5 0 0-1 2.3.8 3.1 0 0-3.7.3-4.2-.8 0 0-1.3 2.5-1.3 3.8 0 0-4-1.3-5-1.9 0 0-1.6 1.6-.5 2.3 0 0-7.1-.7-8.5-3.4 0 0-2.5.8-2 1.7 0 0-5-3.4-6.6-3.4l-1 1.7s-3.5-2-4.5-2-.2 1.5-.2 1.5l-4.8-2.9-1.9 3-5-2.7c-1-.8-1.2 1.6-2 1.9 0 0-1.6-2.2-3.7-1.9 0 0-.8 2.6-.5 3.4l-7.1-1.5c-1.1-.3-.5 1.2 0 2.3 0 0-4.5-1.3-5.5-2l-.3 2s-3.7-.3-4.5-1l-2.3 3.1h-3.5l-.7 2.9s-6.6-1.9-7.2-.8c-.5 1 .3 2.6.3 2.6l-5.7-.7-.5 2.3s-6.7-2-8.2-1c0 0-2 2-3.4 2.6-1.3.5 0-.8 0-.8l-2-2.9s-2.4 1.3-3.8.8-5.5 2-6.8 1.3c0 0 0-1.9-1.1-2.4-1-.4-2.8-.4-3.6.8l-2.2-3c-1.2-2.2-3.1.1-3.1.1l-.3-2.5-3.6-.3c-2.2-.3-2.6-2.2-2.6-2.2s-5.6.6-6.4.3l1.4-1.3s-7.6 1.6-9.2 1c-1.7-.5 1.8-2.6 1.8-2.6l-8.4-2c-1.3-.4-9 1.2-10 1.2s-1.6-1.8-1.6-1.8-1.8 1.6-3.4 2.1c0 0-1.3-3.1-.5-3.4 0 0-5 1.3-5.3 2.6 0 0-1.2-2-1-3 0 0-2.4 3.8-3.5 4.6-1 .8-.2-1.9-.2-1.9s-2.9 3.7-4 4v-2.6s-8.4 4.5-10.7 3.9c0 0 0-1.9.8-2.4l-5.3-.2-4.2-1.1c-1.3-.2 1.9-1.6 4-1 0 0-5.8-2.1-7.6-1 0 0-.8-2.2 2.3-3 0 0-4-3.9-6.3-3.6 0 0 2.6-1.6 4.8-.8 0 0-2.5-6.6-4-7.4 0 0 5.5-1 7.1-.2z"/> + <path fill="#730000" stroke="#000" stroke-width=".5" d="M208.9 188.8 280 152c.3-2-.7-3.4-1.9-5-20.3 10-38.8 22.2-61.4 29.5-1.3.5-12.5 5.2-18.3 12.1a8 8 0 0 0-2 4.5s.2 3.1.9 4c0 0 .1.8 1.2 1.5 0 0 .7.3 1.1.2s1.4 0 2.6-2a52 52 0 0 1 6.7-8z"/> + <path fill="#fff" stroke="#000" stroke-width=".5" d="m266.1 152.4 9.2-4.4s3.1 2.3 2.8 5c0 0 .7 6 8.2 10.2 0 0-6.3 8-17.4 8.6 0 0 1.2-10.4-1.1-13.5 0 0-.4.4-.2-.1.3-1-.2-4.5-1.7-5.3z"/> + <path fill="none" stroke="#7e4b7e" stroke-width=".8" d="M276.9 153.6c-2 .8-8.3 4.1-8.3 4.1m5.2-2.1c0 1-.6 3.3 0 5m-.8-4.7c0 .5-.8 2.2 0 4.6m-1-4.1c-.2 1-.4 1.5 0 2.6m-.8-2v1.2m5.8-1.5c.3.7 2.9 4.8 4.5 6.5m-4.1-4.7c.3.8 1.7 3.6 2.8 4.7m-3-3c.4 1 1.1 2.7 2 3.7m-2-1.8a8 8 0 0 0 1.1 2.5"/> + <g stroke="#000" stroke-width=".5"> + <path fill="#b34b00" d="m342.3 148.3 26.1 12.8c5.2 2.5 7.1.2 10 1.5l51.6 26.2c4.5 2 7 2.5 6.3 4.8-.1 3.7 1.7 3.7 2.2 3.8.4 0 2.1-.2 2.8-1.2l.6-.6c.6-.6.5-.7.7-1 2.1-3 3.3-5.8 1-7.5-2.5-1.3-2.8 1.5-5.6 1.2 0 0-4.8-1.8-6.6-3.1-3.2-1.8-7.8-3.9-8.8-5-3.3-.6-28-14.6-42.1-21.6-1.5-1.2-2.3-5.9-5.3-7.4-.8-1.3-19.8-10-29.8-15-3.6-1.3-5.7-2.2-8.3 2.3-2.3 4.4-1.8 6.8 5.2 9.8z"/> + <path fill="none" d="m344.5 142.8 29.2 14.6"/> + </g> + <g fill="#ffa54b" stroke="#000" stroke-width=".5" transform="translate(-40)scale(.96)"> + <path fill="url(#bz-c)" d="M309.7 165.1c-.2.6-.7.2-.7.4-.4 2.2-.3 3.3-.8 4.5a7 7 0 0 1-3.1 2.6c-2 .7-4.5 3.1-8.5.9l-.6-.5s1.1 4.1-3 6.2l-15.7 8.2s-1.5 2.8-.5 6.5c0 .6.3 1.1-.3 1.5-1 .7-2.7 2.8-3.7 6 0 0-3-1.3-3-3.2s1.2-3 1.5-4.4c.3-1.3 1-4.7.7-5.7-.4-1.1-2.3-1.5-3-2-.6-.3-1.4.5-1.3 1.4.1 1 .8.8 1.6 1 0 0-.9 2-.8 3.4l-9.2 4.8 1.6 2.3c.4.7 1.3 10.2 4 14.7s3.7 3.2 4.3 3.8l2 2c.8.5 4 .8 4.5-1a9 9 0 0 1 3.2-4.1c2-1.6 6-5.4 6-7.2 0 0 2.3 6.8 2 12.4 0 0 8.5 1.7 16.1 1.9 7.6 0 11.5-1.5 11.5-1.5s1-6.4.6-7.7c0 0 1.2 4.2 2.2 5.6 1 1.8 2.1 5.3 4.3 5.5 2.2.1 4-2.1 4.2-3v-6.8h8.7s3.8 1.5 5 1.3 2-1.3.8-1.7l-.4-.3c1.2 0 2.6.7 2.6.7h4.3l-.1-.5c-.3-1.2-2.6-2.2-4.2-3-1.6-.5-3.5-1.2-4.7-1.3a20 20 0 0 0-6.2.4c-.8 0-3.9.4-5.8 1.3-.5.3-1 .4-.8-1 .3-1.3.2-7.8-1.3-10.5-1.2-2-1-3.6-.9-5.2a87 87 0 0 0 0-8.8c-.3-1.7-2.5-4-6.6-4.4-3.8-.5-7-3.7-7.3-6.2-.3-2.6.4-7.2.8-9.3"/> + <g fill="none"> + <path fill="url(#bz-d)" d="M292.4 153.6c-.7 3.3-.7 6.1-.6 9.3.1 2.1 1.1 4.6 2 6.7a10 10 0 0 0 2.8 3.9c3.6 2.3 7-.2 8.9-1a6 6 0 0 0 2.7-2.5c.5-1.2.3-2.1.8-4.5l.7-.4c1-1.5.7-2 1.2-3s-.5-2.2-1.8-2q1.1-3 .4-5.9c-.2-.6.5-2.2-.6-1.8-4.6 1.8-10 1.4-14.8 1.4-.4 0-.8-.8-1.4-.7l-.3.5"/> + <path fill="#000001" d="M292 155.3q-.8-.5 0-3.2c.7-2 0-2 1.1-3.2s.9-1.6 1.6-1.9 2.8-.2 3.5-.5a11 11 0 0 1 9-.3c1.5.8 2.5 2.8 3.4 3.6 1 .7 1.7 3.6 1.5 7.9-.3 4.3-1.2 3.5-1.2 3.5s-1.2-2-2.2-.3c0 0 0-1.7.2-3 .1-1.1-.6-3.4.1-4.9 0 0-5.8 1.8-8.7 1.7-3-.2-7.4-.9-7.6-1.6l-.7 2.2"/> + <path fill="#fff" stroke="#fff" d="M295 151.8c-.3-.6-1.8-2.9-.6-3.6 1-.6.4 2.8 2 3.5 0 0-.6 1.5-1.4.1z"/> + <path d="m298.3 160.1-.9 3.2m10.6 1.6c.2.6.4.3 1 .4m.3-4c.5-.5 1.2-.2.8 1.3m-17.7-4.9 2.8 1c1.5.6.6 2.9.2 4.3-.2.7-1 2-.6 2.5.5.8 1.1.3 2 .4 0-.3.6-.5.8-.5.7 0 1.1.5 1.7.3s.5-1.2.3-1.7m-.1-4.5c0-.4 1-.8 1.5-.9 2.1-.4 3.6-.7 5.4.5m-5.7 11.1c-1.8.4-3.6.7-5.2-.2m0-.8c.8-.4 1.1-.8 2.1-.3l1.1-.4q1.1 0 2.2.8m-5.5.3c1-.3 3.3-.3 5.4.1"/> + <path fill="#fff" stroke-width=".3" d="M292.3 160.1c.7 0 1.6-.9 3.2.3 1.1.8-1.8 1.5-1.3 1.4-1.4.2-1.8-.5-1.9-1.2zm8.4.8c.7-1.4 1.8-1 2.8-.8 1 .3.7.1 1.7.7-1.2.1-.9.2-1.7.6q-1.4.8-2.3.3-.5-.3-.7-1 0 .3.2.3z"/> + <path fill="#000001" stroke-width=".3" d="M293.8 161.4q.6-.1.7-.8 0-1-.7-1-.8 0-.9 1 0 .7.9.8zm8.6.2q.6 0 .7-1a1 1 0 0 0-.8-.8q-.6 0-.7.8.1 1 .8 1z"/> + </g> + <g id="bz-g"> + <g fill="none"> + <path d="M345.9 213.7a4 4 0 0 0-1.9-1.4l-2-1-2.4-.9m.5 2.6-.9-.5-1-.2-.2-.2a4 4 0 0 1-2.4-1.3m-62.8-9.3c1 .7 3.2 2.2 3.4 5.1a11 11 0 0 0 1 3M264 202c.5 1.7.6 7.4 6 13.4m-5-21.4c-.4 1.1-1 2.2.2 3m14.4 10.7c1.1-2.6 4.6-2.4 4.6-4.8"/> + <path d="M284.8 207.3c-.3-2.9-1-4.5-.4-8.7.2-1.2.4-5.9 0-8.1 0 0 1.6 7.8-3.7 9.3m34.4 12.5c0-4 1-6.2 1-6.2 1.2-5.6-1.2-7.7-.3-9.1.9-1.2 2-3.8.5-8.9 0 0 2.8 10.5-4.5 10.5-7.5 0-7.2-2.7-7.2-2.7"/> + <path d="M284.4 190.5c0 2 0 8.4 9 8.4 2.8 0 5.8-2 7.4-3.3m2.2-2.7q-.4-3-.3-7m-13.6-3.4c2.4-.3 4.4-.6 9-.6m.2-6.3c.5 2.2-.3 5.8 4 6.3m4.3-7.1c-.6 1.6-.6 3.3-.8 4.4m.2 2.7c1.7 0 5-1.1 9-.3m1.4 22.8c.9 1.6 1 3.8 3.6 6.2m-31.7-11.4c.2 1.3-1.8 5.7-.3 9.3a12 12 0 0 1-1.2 11m6.7-19c-.9 1.7-2.3 3.3-2.6 4.7m6.6-1.6c0 1-2.7 8.7-4.7 10.9 0 0 3.6 1.4 3 6.6m7.4-21c0 1.2-.2 1.6 1 2.4m2.4 0c1.3 1.6 5.5 6.5 4.6 9.2m-7.4-6.5c.3 1 .3 6.3-.6 9m-2.1-.2c-1.1 0-2.8.8-3 2.7m8.7-3c1.1-.3 3.3 1.6 3.3 7m15.7-10.2c-2.1.6-3 1.7-2.4 1.1-1.1 1-2.2 1.6-2.2 1.6"/> + </g> + <path fill="#000001" stroke-width=".3" d="M289.8 198q1 0 1.1-1-.1-.6-1.1-.7-.9.1-1 .8.1.8 1 .9zm23 .3q1 0 1.1-1-.1-.6-1-.7t-1.1.8c-.1.8.5.9 1 .9z"/> + <path fill="#fff" d="M280.5 239.8c1.3-8 5-14.5 5.1-15.2 0 0 3.9.9 10.6 1.5s8.4.4 11.5.2l6.8-.8s1.2 2.4 1.3 4.8c.3 5.2 2.3 27.7 2.5 33.7 0 0 .8 3.6.8 12.3 0 9.6 2.6 29 2.6 39.4l-2.6.5s-14.5 1.1-14.5-.8c0-2.1-.8-27 1.4-42.1 0 0-.5-3-1.4-5.5s-4.3-10-4.3-11.7c0 0-5.7 16-6 18.8-.3 2.6-1.2 38.4-1.7 41.3 0 0-8.2 6.3-9.3 7-1.1.4-9-3.4-9.3-4.4a211 211 0 0 1 4.6-33.2c1.4-7.1.6-8.4.6-10.4s.1-27.5 1.3-35.4z"/> + <path fill="none" d="M294.3 275q-.8 3.4-3.6 5.7m-2.7-53.6c-.3 1.3-2.3 7.3-7.2 10.9m14.3-9.8c-1.1 3.6-5.5 22.7-6.3 45.4m-.3 7.1-1.7 20.8m-.8 3a71 71 0 0 0-2.7 18.7m32.2-36c-.2 2-1 15.7 3.6 28m-18.5-86c-.3 2.3-.8 16.7-.8 17.8s1.6 2.8 2.4 3c0 0-1.6.6-2 6m-4-12.8c-.3 1.7-2 8.5-3 11.3m13-25.5s5 1 5.3 0c0 0 1.6 29.5 3.8 46m-11.2-42.2-.6 16.5m2.5 2.1s1.9 2.8 1.4 4m-17.8-28 3 .8m5.2 1.6c-.3.9-.6 4.6-.6 4.6m8.8 38.9c.6.8 1.4 2 .8 4.4"/> + <path fill="#9b5f00" d="M285 224.4s0-3.2 1.1-4.8c0 0 3.5.7 8.4 1.2q7.4 1 12.6.5c3.7-.4 7.4-1.3 7.4-1.3s1 4.8.5 5.5c0 0-4 .8-8.3 1a86 86 0 0 1-14.5-.8 57 57 0 0 1-7.3-1.3z"/> + <path fill="#fff" d="m288 224.8.7-4.8h1l-.2 5.1-1.4-.2m22-4.1.1 5.5 1.3-.2-.1-5.6-1.3.3m-15.6 0-.4 5.3h.7l.7-5.3h-1"/> + <path d="M276.8 320.8q-.6 2-1 5.5c0 .5-.6 3.3 1 3.4 1 0 1.4-2.9 1.4-2.9s-1 3.3.3 3.7c1.8.4 2-3.6 2-3.6-.2 1.1-1.4 4 .3 4.3 1.9.3 2.4-3.9 2.4-3.9s-1.6 4.2.3 4.3c1.7 0 1.7-4 1.7-4s-.9 5 1.5 4.5c1.4-.2 1.7-2 2-3 .4-1.5 1.3-3.4.2-6.6-.8-2.3-.5-3-.5-3s-2.9 2.2-5.1 3.6c-1 .6-6.5-2.3-6.5-2.3zm29.7-4.4c-.5-.3-.4 1.9-.6 2.9s.2 3.2 3.6 3 6.7-1 8.9-.5c2.1.6 5.3.7 7 .7q2.5 0 3.7-.5c.7-.3 2.2.4 3 .4s1.7-1 1.6-1.8c0-1.3-1.3-1.3-3-1.4a22 22 0 0 1-5-1c-1.1-.3-3.1-1.5-5.7-2l-5.9.2c-1 0-7 .3-7.6 0z"/> + </g> + <g fill="none"> + <path fill="#ffb366" d="M255.7 189.8c-.5.3-1.1-2 .4-2.9 0 0 .4-2 2-2.1 0 0 1.4-1.9 3.3-1.7 0 0 2.2-1.5 3-1.3.9.1 3 2.1 3 2.9.2.7 0 1.9-.5 2.4s-1-.1-1.1-1c0 0 .4 1.6-.8 2.2s-1.1.2-1.2-.6c0 0-.4 1.6-1.2 1.9s-1.3-.5-2-.5c0 0 1.1.9.4 1.5q-1.2.6-2-.1c-.5-.5-1.2-1.9-3.3-.6z"/> + <path d="M265.7 186c-.5-1.5-2.2-3-4-2.8m2.2 4.4-.8-1.2c-.9-1.5-2.8-1.4-4.4-1.8m2.4 4.5c-.6-.4-.8-1.2-1.4-1.5q-1.4-.8-3.3-.7"/> + </g> + </g> + <g stroke="#000" stroke-width=".5" transform="translate(-40)scale(.96)"> + <path fill="url(#bz-e)" d="M439.1 165.1c.7-.3.5.6.6 1 .4 1.3.4 2.7.9 3.9s.8 1.5 1.8 2c1.6 1 6.4 3.6 9.8 1.5l.7-.5s-1.3 4.1 3 6.2l15.6 8.2s1.5 2.7.6 6.5q-.5.9.2 1.5c1 .7 2.6 2.8 3.8 6 0 0 3-1.3 3-3.2s-1.3-3-1.6-4.4c-.2-1.3-1-4.7-.6-5.7.4-1.1 2.1-1.5 2.8-2 .7-.3 1.6.5 1.3 1.4 0 1-.8.8-1.6 1 0 0 1 2 .8 3.4l9.4 4.8-1.6 2.3c-.5.7-1.5 10.2-4.2 14.6s-3.7 3.3-4.2 4l-2.1 1.8c-.6.5-3.8.9-4.5-.9a9 9 0 0 0-3.1-4.1c-2-1.6-6-5.4-6-7.2 0 0-2.3 6.8-2 12.4 0 0-8.4 1.7-16.2 1.9-7.6 0-11.5-1.5-11.5-1.5s-1-6.4-.6-7.7c0 0-1.2 4.2-2 5.6-1.1 1.8-2.2 5.3-4.4 5.5-2.2.1-4-2.1-4.2-3v-6.8h-8.7s-3.8 1.5-5 1.3-1.9-1.3-.9-1.7l.4-.3a7 7 0 0 0-2.5.7H402l.1-.5c.3-1.2 2.6-2.2 4.3-3 1.6-.5 3.3-1.2 4.6-1.3 1.9-.2 3.2-.1 6.2.4.8 0 4 .4 5.8 1.3.5.3 1 .4.8-1-.3-1.3-1.2-5.5.3-8.3 1-1.9.9-3.5.8-5.2-.2-1.7-1.1-5.6-1.1-7.3 0-5.7 4.4-8 8.2-9.2 4.3-1.4 7.1-2.8 7-5.3-.2-2.7.5-7 .1-9"/> + <g fill="none"> + <path fill="url(#bz-f)" d="M456.3 153.6a20 20 0 0 1 1.2 5.3c0 1.2-.5 1.4-.1 2.8.7 2.4-.8 5-2.5 8-.8 1.2-1.4 3-2.7 3.8-3.4 2.1-7.5-.4-9.6-1.3a4 4 0 0 1-2-2.2q-.5-1.6-.8-4c0-.3 0-1.2-.6-.9-1.3-1.4-1-2-1.6-3-.5-1 1-2.2 2-2a10 10 0 0 1-.2-5.9c.2-.6-.6-2.2.5-1.8 4.5 1.8 10 1.4 14.8 1.4.4 0 .7-.8 1.3-.7l.3.5"/> + <path fill="#000001" d="M456.8 155.3c.4-.4.1-2.3-.4-4.3-.1-1-1-1.5-2-2.6s-1.6-1-2.3-1.4c-.6-.2-2-.2-2.8-.5-.6-.3-2.2-.1-3.7.1-2 .3-3.2.2-4.7 1s-2.8 1.8-3.3 3.3c-.4 1-1 2.5-.8 6.8s1 3.5 1 3.5 1.1-1.7 1.9-.6l-.3-3.6q-.2-1.8.5-4.6s4.6 1.7 9 1.7c3 0 7-.3 7.1-1l.7 2.2z"/> + <path d="M450.4 160.1c.7 1.8.1 1.3.4 2.4m-10.2 2c0 .8-.6.6-1 .6"/> + <path d="M456.9 158.8c-1-.7-2.7-.2-3.5.1-1.5.7-.7 2.3-.2 3.7.2.7 1 1.7.5 2.4-.4.8-.7.4-1.6.5 0-.3-.8 0-1.1 0-.6 0-1 .4-1.5.2s-.5-1.2-.3-1.7m.1-4.5c0-.4-1.3-.8-2.7-.9-2.3 0-2.5.1-4.2 1.3m11.5 9q-.5-1.1-2.1-.4c0-.2-1.6-.4-1.6-.4q-1 0-2.1.7m5.6.6c-1-.6-3.3-.2-5.6-.2m.2.8c1.7.5 3.5.8 5.2 0"/> + <path fill="#fff" stroke-width=".3" d="M456.4 160.1c-.7 0-1-.9-3.1.3-1.1.7 1.8 1.5 1.4 1.4 1.2.2 1.6-.5 1.7-1.2q.2-.3 0-.5zm-8.3.8c0-.8-1.8-1-2.9-.8-1 .3-.5.1-1.5.7 1 .1.7.2 1.6.6.9.5 1 .9 2.3.3q.5-.2.8-1 0 .3-.3.3z"/> + <path fill="#000001" stroke-width=".3" d="M455.1 161.4a1 1 0 0 1-.8-.8q0-1 .8-1 .6 0 .7 1 0 .7-.7.8zm-8.7.2q-.6 0-.7-1 .1-.8.8-.8.9 0 .7.8 0 1-.8 1z"/> + </g> + <use xlink:href="#bz-g" width="100%" height="100%" fill="#730000" transform="matrix(-1 0 0 1 748.8 0)"/> + <g fill="none"> + <path fill="#730000" d="M491.6 193.5c.5.2 2-2 .5-3 0 0-.5-2-2-2 0 0-1.4-2-3.4-1.7 0 0-2-1.5-2.9-1.4-1 .2-3 2.2-3 3-.2.5 0 1.8.5 2.4s1-.1 1-1c0 0-.3 1.5.9 2.2s1.1 0 1.2-.7c0 0 .3 1.6 1.1 2 .9.2 1.4-.5 2-.5 0 0-1 .8-.3 1.3s1.5.3 2 0c.6-.5.3-1.8 2.4-.6z"/> + <path d="M482.5 189.8c.5-1.8 2.2-3.2 4-2.9m-2 4.4q.1-.6.5-1.2c1-1.6 3-1.6 4.6-1.9m-2.5 4.5c.6-.4.8-1.1 1.4-1.4a5 5 0 0 1 3.2-.7"/> + <path fill="#730000" stroke="none" d="M482.3 186.8c-.9.7-1.8 1.8-1.9 2.2 0 .7 0 1.9.5 2.5q1 .6 1.1-.8c0 .5 0 1.5.8 2 1.3.7 1.2.1 1.3-.7 0 0 .3 1.6 1 2 .9.2 1.4-.5 2-.5 0 0-1 .8-.3 1.3s1.5.3 2 0c.6-.5.3-1.8 2.5-.6q.5.1 1-1.1l-7.7-5.5z"/> + <path d="M480.7 188.2c-1.5 2.6.5 4.1 1.1 2.6-.1 2.4 1.7 2.3 2.3 1.5.7 2.5 1.9 1.4 3 1.2-1.3 2.3 1.4 1.6 2 1 1-1.3 1.4-.2 2-.3l1.3-1.3m-8-5.7q-2.5 1.5-2.6 3.7m5-2.2q-2.7 1.5-2.6 3.7m5.4-1.7c-1.7.9-1.8 1.7-2.5 2.8"/> + </g> + </g> + <path fill="#5ac800" d="m238.5 310.7-.2-4.5 1.9 1.6.4-3.4c.8-.2 2.1 1.3 2.1 1.3l-.2-3.4 2.8 3.1s-.2-2.6.8-4.2c0 0 2.2 1.9 2.2 4 0 1.9 1.8-2.6 1.8-2.6l1.6 5 1.3-1.9 1 4 2.4-3.5 1.8 4 4.2-.3.5 2.4 1.9-2 2.4 1.5s2-.6 3.1-.6 2.4 1.4 2.4 1.4.8-1.4 1.5-1.9 1.9.8 2.2 1.6l1.6-2.9s2 2 2.3 2.9c0 0 .3-2.4.8-3.2.5-.7 1.2.3 1.8 1.3l1.3-4.2s1.4.3 2.3 1.9c1.1 1.5 1.1-2.4 1.1-2.4s2.4 3.2 3 5.3c0 0-16.2 5.6-27.6 4a306 306 0 0 1-24.5-4.3m110.9-.5s.7-2.1 1.8-3.2c0 0 2 2.4 2 3.2l1.7-1 1.6 1.5 1.8-1.3 1.8 1.6 3.2-1.4 1.3 1.4 5-.6 1.8.8 1.8-2.3 1.6 1.8 2.7-2.6s1.3 1 1.5 1.8c0 0 2.2-1 2.7-1.8 0 0 2-.8 2.3.5 0 0 1.3-1 1.2-2-.1-1.2 1.5-.4 2 1 0 0 .5-2.2 2-2.4 0 0 1.2 1.3.9 3.7 0 0 2.3-1.9 3.4-2.1 0 0 .5 2.6-.3 5 0 0 2.4-4 3-2.7.1.8.7 3.5.1 5.3l2.2-1.3.8 2.6 2.3-.5s-13.9 2.1-27 .9-25.3-5.9-25.3-5.9m-9.6 9.7c.6-.4-4.4 10.3-16.5 10.9-16.9.8-31.3-7.7-31.3-7.7s1.8-2.9 2.9-3.7c0 0 2.3 1.9 3 4.2 0 0 .4-1.5 1.2-2.9 0 0 2.9 1.4 3.4 3.2 0 0 1-1.8 1.8-2.3.8-.6 1.6 2 1.6 3.6 0 0 1.9-2 3-2 0 0 2 1 2.6 4.3 0 0 2-1.8 2.6-1.5 0 0 2.3 1.5 1.8 3.7-.3 1.2 2.3-1.4 5.5-2.2l2.9 2.2 3.4-4.7s2.1.8 2.1 2c0 0 1-3.7 1.8-4 .8-.5 1.8 1.1 1.8 2.2 0 0 .3-2.8 1.9-3.4 0 0 1.6 1 1.6 2.1 0 0 1.6-3.2 2.9-4"/> + <path fill="none" stroke="#060" stroke-width=".5" d="m238.5 310.7-.2-4.5 1.9 1.6.4-3.4c.8-.2 2.1 1.3 2.1 1.3l-.2-3.4 2.8 3.1s-.2-2.6.8-4.2c0 0 2.2 1.9 2.2 4 0 1.9 1.8-2.6 1.8-2.6l1.6 5 1.3-1.9 1 4 2.4-3.5 1.8 4 4.2-.3.5 2.4 1.9-2 2.4 1.5s2-.6 3.1-.6 2.4 1.4 2.4 1.4.8-1.4 1.5-1.9c.8-.5 1.9.8 2.2 1.6l1.6-2.9s2 2.1 2.3 2.9c0 0 .3-2.4.8-3.2.5-.7 1.2.3 1.8 1.3l1.3-4.2s1.4.3 2.3 1.9c1.1 1.5 1.1-2.4 1.1-2.4s2.4 3.2 3 5.3m58.7-.8s.8-2.1 1.9-3.2c0 0 2 2.4 2 3.2l1.7-1 1.6 1.5 1.8-1.3 1.8 1.6 3.2-1.4 1.3 1.4 5-.6 1.8.8 1.8-2.2 1.6 1.7 2.7-2.6s1.2 1 1.5 1.8c0 0 2.2-1 2.7-1.8 0 0 2-.8 2.3.5 0 0 1.3-1 1.2-2-.1-1.2 1.5-.4 2 1 0 0 .5-2.2 2-2.4 0 0 1.2 1.3.9 3.7 0 0 2.3-1.9 3.4-2 0 0 .5 2.5-.3 4.9 0 0 2.4-4 3-2.7.1.8.7 3.5.1 5.3l2.2-1.3.8 2.6 2.3-.5m-109.8 8s1.8-3 2.9-3.7c0 0 2.3 1.8 3.1 4.2 0 0 .3-1.6 1-3 0 0 3 1.4 3.5 3.2 0 0 1-1.8 1.9-2.3.7-.6 1.5 2 1.5 3.6 0 0 1.9-2 3-2 0 0 2 1 2.6 4.4 0 0 2-1.9 2.6-1.6 0 0 2.4 1.6 1.8 3.7-.3 1.2 2.3-1.4 5.5-2.1l2.9 2.1 3.4-4.7s2.1.8 2.1 2c0 0 1-3.6 1.8-4 .8-.5 1.9 1.1 1.9 2.2 0 0 .3-2.8 1.8-3.4 0 0 1.6 1 1.6 2.1 0 0 1.6-3.2 3-4"/> + <g fill="#fff"> + <path d="M319.5 361.9c22 .2 35-7.8 42-12.6 16.8-11.2 20.3-11.6 23-11.4 3.1.3 7.7 1.3 8 4 .2 4.3-6.6 6.1-10.5 6.1s-14.5-2.6-14.5-2.6l-2.7 1.9c1.8.8 23.2 8 27.3 1.2s8.4-17.9 8.4-17.9-4.7-8.4-15.1-8.4c-10.6 0-20.8 6.7-27.6 11.7s-15.5 11.8-38.3 11.8c-22.9 0-31.6-6.8-38.4-11.8-6.9-5-17.1-11.7-27.6-11.7a18 18 0 0 0-15.2 8.4s4.2 11 8.4 18c4.1 6.7 25.5-.5 27.3-1.4l-2.6-1.8S261 348 257 348s-10.9-1.8-10.6-6c.2-2.8 4.8-3.8 8-4.1 2.7-.2 6.2.2 22.9 11.4a72 72 0 0 0 42.2 12.6"/> + <path d="M284.1 336s0-1.9-.3-4.6c-.4-3.5-2.4-4.4-4-3.9-1.2.4-3.3 3-3.3 3v.1l-3-1.8a18 18 0 0 1 6.3-3.6c1 0 14.5 5.4 18.8 9.1 1 1 1.8 7 1.2 9a47 47 0 0 1-15.7-7.2m-6.5 13.6s-2.9 3-3 8.3c0 6.3 4.5 6.6 7.5 6.5 3.7 0 6.6-2.1 6.5-8.9 0 0-6-2.5-11-6m77.1-13.6.4-4.6c.4-3.5 2.4-4.4 4-3.9 1 .4 3.2 3 3.2 3v.1l3-1.8c-.7-1-5.2-3.6-6.2-3.6s-14.5 5.4-18.8 9.1c-1 1-1.8 7-1.3 9a46 46 0 0 0 15.7-7.2zm6.5 13.7s2.9 3 3 8.3c.2 6.3-4.5 6.6-7.5 6.5-3.6 0-6.5-2.1-6.5-8.9 0 0 6-2.5 11-6"/> + </g> + <path fill="#69f" d="M271.3 345.4S260.9 348 257 348s-10.9-1.8-10.6-6c.2-2.8 4.8-3.8 8-4.1 2.3-.2 5.3 0 17 7.5m96.1 0S378 348 382 348c3.9 0 10.7-1.8 10.4-6-.2-2.8-4.8-3.8-7.9-4.1-2.3-.2-5.4 0-17 7.5m-83.4-9.3-3.1-2.3-4.5-3.2s2.1-2.7 3.2-3c1.7-.6 3.7.3 4.1 3.8.3 2.7.3 4.7.3 4.7m-7.1 27.6c1.8 1 3.9 1 5.1.8 3.7 0 6.6-2.1 6.5-8.9 0 0 4.5 2.3 11.8 4 0 0 1.2 1.5 1.4 4.4.3 2.5-1.4 5.1-3.3 5 0 0-10.3-2-16.5-3-3.7-.7-5-2.3-5-2.3m77.7-27.6 3.2-2.3 4.4-3.2s-2.1-2.7-3.2-3c-1.6-.6-3.6.3-4 3.8zm7.1 27.6c-1.8 1-3.9 1-5.1.8-3.6 0-6.5-2.1-6.5-8.9 0 0-4.5 2.3-11.7 4 0 0-1.3 1.5-1.5 4.4-.2 2.5 1.5 5.1 3.4 5 0 0 10.3-2 16.5-3 3.6-.7 5-2.3 5-2.3"/> + <g fill="none" stroke="#000" stroke-width=".7"> + <path d="M319.5 361.9c22 .2 35-7.8 42-12.6 16.8-11.2 20.3-11.6 23-11.4 3.1.3 7.7 1.3 8 4 .2 4.3-6.6 6.1-10.5 6.1s-14.5-2.6-14.5-2.6l-2.7 1.9c1.8.8 23.2 8 27.3 1.2s8.4-17.9 8.4-17.9-4.7-8.4-15.1-8.4c-10.6 0-20.8 6.7-27.7 11.7s-15.4 11.8-38.2 11.8-31.6-6.8-38.4-11.8c-6.9-5-17.1-11.7-27.6-11.7s-15.2 8.4-15.2 8.4 4.2 11 8.4 18c4.1 6.7 25.5-.5 27.4-1.4l-2.7-1.8S261 348 257 348s-10.9-1.8-10.6-6c.2-2.8 4.8-3.8 8-4.1 2.7-.2 6.2.2 22.9 11.4a72 72 0 0 0 42.2 12.6z"/> + <path d="M271.3 345.4S260.9 348 257 348s-10.9-1.8-10.6-6c.2-2.8 4.8-3.8 8-4.1 2.3-.2 5.3 0 17 7.5zm96.2 0S378 348 382 348c3.9 0 10.7-1.8 10.4-6-.2-2.8-4.8-3.8-7.9-4.1-2.3-.2-5.4 0-17 7.5zm-83.4-9.3-3.1-2.3-4.5-3.2s2.1-2.7 3.2-3c1.7-.6 3.7.3 4.1 3.8.3 2.8.3 4.7.3 4.7z"/> + <path d="M284.1 336s0-1.9-.3-4.6c-.4-3.5-2.4-4.4-4-3.9-1.2.4-3.3 3-3.3 3v.1l-3-1.8a18 18 0 0 1 6.3-3.6c1 0 14.5 5.4 18.8 9.1 1 1 1.8 7 1.2 9a47 47 0 0 1-15.7-7.2m-6.5 13.6s-2.9 3-3 8.3c0 6.3 4.5 6.6 7.5 6.5 3.7 0 6.6-2.1 6.5-8.9 0 0-6-2.5-11-6z"/> + <path d="M280.1 351.1s-2.3 2.5-2.7 6.5c-.2 3.1 1.8 4.9 4.5 4.7 3.7-.2 5.1-5.3 3.4-8.1l-5.2-3"/> + <path d="M277 363.7c1.8 1 3.9 1 5.2.8 3.6 0 6.5-2.1 6.4-8.9 0 0 4.5 2.3 11.8 4 0 0 1.2 1.5 1.4 4.5.3 2.4-1.4 5-3.3 4.8L282 366c-3.7-.7-5-2.3-5-2.3zm77.7-27.6 3.3-2.3 4.4-3.2s-2.2-2.7-3.3-3c-1.6-.6-3.6.3-4 3.8z"/> + <path d="m354.7 336 .4-4.6c.4-3.5 2.4-4.4 4-3.9 1 .4 3.2 3 3.2 3v.1l3-1.8c-.7-.9-5.2-3.6-6.2-3.6s-14.5 5.4-18.8 9.1c-1 1-1.8 7-1.3 9a46 46 0 0 0 15.7-7.2m6.5 13.6s2.9 3 3 8.3c.2 6.3-4.5 6.6-7.5 6.5-3.6 0-6.5-2.1-6.5-8.9 0 0 6-2.5 11-6z"/> + <path d="M358.7 351.1s2.4 2.5 2.8 6.5c.3 3.1-1.9 4.9-4.5 4.7-3.7-.2-5.1-5.3-3.4-8.1l5.1-3"/> + <path d="M361.9 363.7c-2 1-4 1-5.2.8-3.6 0-6.5-2.1-6.5-8.9 0 0-4.5 2.3-11.7 4 0 0-1.3 1.5-1.5 4.5-.2 2.4 1.5 5 3.4 4.8l16.5-2.9c3.6-.7 5-2.3 5-2.3z"/> + </g> + <path fill="none" stroke="#fff" stroke-width=".7" d="M299.6 361.4s3.3 2.4-.7 5.3m-9-6.8 10 4.3m-8.3-2.1 7.2 3.1m-4.6-5 5.4 2.5m39.7-1.3s-3.3 2.4.6 5.3m9-6.8-10 4.3m8.4-2.1-7.2 3.1m4.6-5-5.4 2.5"/> + <path stroke="#000" stroke-width=".7" d="m261 331.4.3.7v.8a2 2 0 0 1-1.2 1.6 3 3 0 0 1-2.2.4l-1-.4-1-.6-.3.4-.4-.1.4-2.9.5.1q0 .6.2 1l.3 1 .7.6q.3.3.9.4h.7a1 1 0 0 0 .9-.6l.2-.6-.1-1-.7-.7-.8-.5-.8-.6q-.7-.4-1-1t-.1-1.4q0-.5.4-.8a3 3 0 0 1 1.5-1h1l1 .4.8.6.3-.4.5.1-.5 2.8-.5-.1v-1l-.4-.8-.5-.7-.8-.4-1 .2q-.6.3-.6.8v1l.7.7.8.5 1.3 1q.3.1.5.5m12 1.6-.5-.1-.5-.1q-.3 0-.5.3l-.6 1-1.8 3.1a2 2 0 0 1-1.9 1.3h-1.1l-1-.5-1-.8-.7-1-.1-1 .2-.8 2.4-4.3.1-.4v-.3l-.3-.3-.4-.3.2-.3 3.1 1.7-.2.3-.3-.1-.4-.1h-.4l-.2.3-2.2 4-.3.7v.8l.2.7.9.8 1 .3a2 2 0 0 0 1.5-.5l.5-.6 1.6-3 .5-1v-.6q0-.2-.4-.5l-.4-.3.2-.4 3 1.7-.2.3m4.3 7.5a2 2 0 0 1 0 1.8l-.8.8-1 .3-1-.1-.9-.4-3.5-2 .2-.4.8.3h.3l.3-.3 3-5.3.1-.3-.1-.4-.3-.3-.3-.2.2-.4 3.4 2 .7.5.6.7a2 2 0 0 1 0 1.6l-.6.6-.7.3h-.7l-.8-.2v.1l.6.6zm-.6-1.8q.3 0 .5-.3l.5-.6q.3-.6.2-1.2-.2-.4-.9-.9l-.4-.2-.4-.3-1.6 2.8.6.4.8.3zm-.6 2.7q.4-.6.1-1.3 0-.6-1-1.1l-.5-.4-.4-.1-1.5 2.5v.7q.2.3.7.5.8.4 1.4.3.7-.3 1.2-1zm18.9 4.3h-.5l-.6-.1q-.2 0-.4.4l-.5 1-1.5 3.3q-.2.6-.7 1l-1 .4h-1.1a4 4 0 0 1-2.2-1l-.7-.8-.3-1 .2-.9 2-4.5v-.4l-.1-.3-.3-.3-.4-.2.2-.4 3.3 1.4-.2.4-.4-.1h-.7l-.2.3-1.9 4.3-.2.7a2 2 0 0 0 .4 1.4q.3.4 1 .7l1 .2a2 2 0 0 0 1.5-.7l.4-.6 1.3-3.1.3-1v-.7l-.4-.4-.5-.3.2-.4 3.1 1.4-.1.3m9.2 10.8-3.6-1v-.4h.6l.4.1.4-.2.2-.3 1.7-5.8h-.1l-4.8 6h-.3l-.6-7.9-1.5 4.8-.2 1.1.1.6.5.4.5.3-.2.4-3.2-1v-.4h1.1q.3 0 .5-.4l.3-1 1.2-4.2.1-.6-.1-.4-.4-.4-.5-.2.1-.4 2.8.8.6 6.7 3.5-4.5.3-.5.2-.4 2.7.8-.1.4h-.5l-.4-.1-.3.1-.1.4-1.7 5.8v.3l.1.3.8.4-.1.4m8.7-2.6a2 2 0 0 1 .7 1.7l-.4 1q-.3.4-.8.6t-1 .3h-1l-4-.5v-.4h.9l.3-.2.1-.4.8-6v-.3l-.3-.3-.4-.2h-.3v-.5l3.9.5.9.2.7.4a2 2 0 0 1 .6 1.5l-.2.8-.6.5-.6.3-.8.2.8.3zm-1.3-1.5.4-.5.2-.7-.3-1.1q-.3-.5-1.1-.5l-1-.1-.4 3.2h1.6zm.5 2.8q0-.8-.3-1.3-.5-.4-1.4-.6l-.7-.1h-.4l-.3 2.9.2.6.8.3q.8.1 1.5-.4.4-.4.6-1.4zm11.4 2.6h-2.2l-1.4-2-1.3-1.8h-1v2.7l.1.4.3.2h.4l.5.1v.4h-3.6v-.4h.4l.4-.1.2-.2.1-.4v-6.4l-.3-.3h-.4l-.4-.1v-.4h4.9l.9.4.6.6a2 2 0 0 1 0 1.8l-.4.7-.7.4-.8.3 1 1.4q.5.5 1 1.4l1 .8.8.1zm-3.1-6.2q0-.8-.4-1.2-.5-.5-1.3-.5h-1v3.6h.8q.8 0 1.3-.5t.6-1.4zm13 5.6-3.6.3v-.4l.7-.2.3-.2v-.3l-.9-1.8-3 .2-.2.7-.1.6-.1.4v.3q0 .3.4.3l.9.1v.4l-3.2.3v-.4l.4-.1.7-.6.2-.5 1.1-3.6 1.1-3.6h.5l3.4 7 .2.3.7.4h.4v.4zm-3.7-3.1-1.6-3.2-1 3.4zm15.7-6.7-.4.2-.8-.9q-.6-.4-1-.3h-.3l-.6.2-1.4.4.9 3.2 1-.2.6-.3.3-.4.1-.4v-.6l.4-.2.9 3.2-.4.1-.3-.5-.4-.4-.5-.2-.6.1-1 .3.8 2.8s0 .2.2.3l.3.2h.4l.4-.1.1.4-3.5 1-.1-.4.4-.2.4-.2.2-.3v-.3l-1.6-5.9-.2-.3-.3-.2h-.9l-.1-.3 6.4-1.8.6 2m9.4-.7 1 2.4-6 2.8-.2-.3.4-.3.3-.2.1-.3v-.4l-2.7-5.4-.2-.3h-1.2l-.2-.3 3.3-1.6.2.4-.4.2-.3.3-.2.3.1.4 2.5 5q0 .4.3.6l.3.2h.4l.7-.3.4-.2.4-.3.3-.2.2-.3.2-2 .3-.2m4.5-8.3 1.5.8 1.2 1.4.6 1.7v1.6l-.7 1.5-1.2 1a4 4 0 0 1-3.2.4l-1.4-.7-1.2-1.4-.6-1.7v-1.7a4 4 0 0 1 2-2.4l1.5-.6zm2.3 5.6-.2-1.3-.7-1.4-1-1.3-1-.8-1-.2q-.7 0-1.2.3-.6.4-.9 1l-.3 1q0 .7.3 1.3a7 7 0 0 0 1.5 2.6q.5.6 1 .8l1.2.3q.5 0 1.1-.3a2 2 0 0 0 1.2-2zm10.5-5.7-1.9 1.3-2.3-.9-2-.6-.8.5 1.6 2.1.2.3h.4l.3-.1.4-.3.3.4-3 2-.2-.3.6-.5v-.7l-3.6-5-.2-.2h-.4l-.7.3-.3-.4 3.2-2.2.9-.5.9-.2.8.1a2 2 0 0 1 1.1 1.4v.8l-.2.7-.5.8 1.6.5 1.6.5 1.2.1h.4l.4-.3zm-6.2-3.3q-.4-.6-1-.7-.7-.2-1.3.3l-.8.6 2 3 .7-.5q.6-.4.8-1.2.1-.7-.4-1.5zm13.2-2 .7 2.4-6.6 2.4-.2-.4.8-.4.2-.3v-.4l-2.2-5.6-.1-.3-.4-.1h-.9l-.1-.3 6.1-2.3.7 1.9-.4.1-.8-.7-.9-.3-.4.2-.6.2-1.2.4 1.1 3.1 1-.3q.3 0 .5-.3l.3-.4v-1.1l.4-.1 1.1 3-.4.2-.3-.5-.4-.3-.5-.2-.6.2-.9.3.9 2.4.2.5.3.3h.5l.7-.3.5-.2 1-.4.2-.3.2-1v-1l.5-.1m7.1-5.8q.6.4 1 1.3.5.7.6 1.7v1.8l-.8 1.5a4 4 0 0 1-2.7 1.6 4 4 0 0 1-3-.9l-1-1.2-.6-1.7v-1.9l.8-1.5a4 4 0 0 1 2.7-1.5h1.6zm-.1 6q.3-.6.3-1.3v-1.5l-.4-1.5-.7-1.2-.9-.7-1.1-.1q-.8 0-1.2.5-.5.4-.7 1l-.3 1.2a7 7 0 0 0 .4 3l.7 1.1q.3.6.9.7.4.3 1.2.2l1-.5.8-1z"/> + <path fill="none" stroke="#000" d="M366 205.1v53c0 10.6-1.4 52.6-46.5 69-45.3-16.4-46.7-58.4-46.7-69v-53H366"/> +</svg> diff --git a/apps/web/public/flags/ca.svg b/apps/web/public/flags/ca.svg new file mode 100644 index 00000000..c9b23b49 --- /dev/null +++ b/apps/web/public/flags/ca.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ca" viewBox="0 0 640 480"> + <path fill="#fff" d="M150.1 0h339.7v480H150z"/> + <path fill="#d52b1e" d="M-19.7 0h169.8v480H-19.7zm509.5 0h169.8v480H489.9zM201 232l-13.3 4.4 61.4 54c4.7 13.7-1.6 17.8-5.6 25l66.6-8.4-1.6 67 13.9-.3-3.1-66.6 66.7 8c-4.1-8.7-7.8-13.3-4-27.2l61.3-51-10.7-4c-8.8-6.8 3.8-32.6 5.6-48.9 0 0-35.7 12.3-38 5.8l-9.2-17.5-32.6 35.8c-3.5.9-5-.5-5.9-3.5l15-74.8-23.8 13.4q-3.2 1.3-5.2-2.2l-23-46-23.6 47.8q-2.8 2.5-5 .7L264 130.8l13.7 74.1c-1.1 3-3.7 3.8-6.7 2.2l-31.2-35.3c-4 6.5-6.8 17.1-12.2 19.5s-23.5-4.5-35.6-7c4.2 14.8 17 39.6 9 47.7"/> +</svg> diff --git a/apps/web/public/flags/cc.svg b/apps/web/public/flags/cc.svg new file mode 100644 index 00000000..a42dec66 --- /dev/null +++ b/apps/web/public/flags/cc.svg @@ -0,0 +1,19 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cc" viewBox="0 0 640 480"> + <defs> + <path id="cc-a" d="m0-360 69.4 215.8 212-80.3L156-35.6 351 80.1 125 99.8l31.1 224.6L0 160l-156.2 164.3 31.1-224.5L-351 80l195-115.7-125.5-188.9 212 80.3z"/> + <path id="cc-b" d="M0-210 54.9-75.5l144.8 10.6-111 93.8 34.7 141L0 93.3-123.4 170l34.6-141-111-93.8 145-10.6z"/> + </defs> + <path fill="green" d="M0 0h640v480H0z"/> + <circle cx="320" cy="240" r="66.7" fill="#ffe000"/> + <circle cx="340.8" cy="240" r="54.9" fill="green"/> + <circle cx="109.8" cy="173.3" r="69.8" fill="#ffe000"/> + <path fill="#802000" stroke="#7b3100" stroke-width="1.5" d="M105 226h17.5s.7-1.6-.2-2.4c-1-.8-4.7-1-3.7-3.8 2-5.8 2.4-4 3.7-17.8a739 739 0 0 0 2-35.5h-2.6s.5 6.7-1 15.5c-1.4 8.8-1.9 9.5-3.5 16.3a64 64 0 0 1-3.3 11.2c-1.4 4-1.6 4.1-3.8 7.8-2.3 3.6-1.5 2.2-2.7 4.4-.7 1.1-1.4.8-1.9 1.6s-.5 2.7-.5 2.7z"/> + <path fill="green" d="M118.3 122.5a23 23 0 0 1-1.2 9.2 27 27 0 0 0-2.3 9.8c-1.8.6-3.7-3.9-5.5-1.2 1.3 3.7 4.4 6.6 6.4 9.9.4 1 3.4 3.7 1.6 4.3-4.3-1.5-5.4-7-8-10.3a19 19 0 0 0-15.5-10c-2.5.1-10.4-.5-8.4 3.7 3 2 6.8 3.4 9.8 5.7 2.3.2 6.3 4 6.1 5.4-4-1.6-5.8-3.5-10-5.2-5.8-2.2-13.7-.9-17 4.8-.5 1.5-1.4 5.8.5 6.3 2.2-3.4 5.3-7.3 9.9-6.2 3.6.3-4 6.7-1.1 5.4 1-.4 3-1.8 4.6-2 1.5 0 2.3 1 3.4 1.2 2.3.3 3 1.2 2.7 1.8s-1 0-3.3.8c-1.1.4-1.7 1.4-3 1.9s-4.2.5-5.2 0c-3.7-1.5-9.7-1.3-10.8 3.3 0 2-1.8-.2-2.6.7-.7 2.2-.8 4.4-4 4.2-2 2-4 4.2-6.6 5.7 1.5 3.4 7.3-3.4 7-.5-2.5 3.5 1.4 4.2 3 1.5 2.9-3 6.5-6.7 10.7-3.6 2 1.9 3.2-1 4.7-1 1 2.5 2.1.2 3.2-.5 1.7-.2 1.2 2.2 3.2.7 4.1-2.7 9.1-.4 13.1-3 4.3-2 .6 1.5-.5 2.9-1.9 3.6-.3 8.4-4.3 10.6-1.7 4.3 1.9 10-1.7 13.2-.5 2 4.6 1.8 6 2.6 2.6 0 0-5.8 2.5-6.6 3.4 2 3.2-3.8 2.5-5.6.4-4 .6-8.6 2.6-12.3 2.2-4.5 4.2 1.9 1.8 3.7-1.4 4.1-3.4 9.4-.3 13.3 1 .2 1.7 2.4 2.8 3 1.2.7 2.8-.1 3-2.1 1.6-6 .8-12.4 3-18.3 1.5-1.8 3.6-.3 4.5 1.4 3 3.5 5.1 7.8 8.7 10.7a15 15 0 0 1 7.8 7.3c0 2.6 7.4 3 5.2 0-2.1-2.7-.7-5.6 1.4-7.5 1.2.3.9-1.8 0-1-1.5-.3-1.6-3 .4-1.7 3.5 1.1-.2-2.5-1.5-2.6-2.9-1.8-6.2-3.8-7.6-7 3.8 0 7.7 2.1 11.5.9 3.1-1.6 6.2 0 7.3 2.8 2.4-.4 1.4-2.8 0-3.6 1.7-.7 3-2.2.8-3.5-1-1.4 1.5-4-1.7-3.8.1-2.5-.8-4.7-3.5-5.6-2.7-2.2-10.6 3.4-10.3-1.7-.8-2.8 3.2-.4 4.3-1.8 1.1-3-5.5-2.6-3.3-5 1.4-.8 8.1-2.1 2.9-3.1a8 8 0 0 1-7-1.1c-1.9 3.1-7.2-1.8-6.3 3.8-.7 2.1-5.5 7.6-6.8 3.4 1-3.3 6.8-4.3 5-8.8-.3-2.7-2.6.5-3.6.3-.6-1.7 1.6-3.8 3.2-4.2 3 2.4 3-3 6-2.5 2.1-.5-.7-1.4-1.3-1.8.6-1.5 3.9-2.3.7-3.7-2.9-2-5 2.1-7.3 2.3-2.2-2.5 2-3.7 3.2-5 .1-1-2.4-.3-1.7-1.2.7-1.1 5.2-1.2 3-3a15 15 0 0 0-10.2.6c-2 .6-2.5 5-4.2 4.8-.7-2 .3-5.8-2.4-6.3m15 42.3c2.4-.4 0 3.7-1 3.6 0-1.4-3.6-1.3-1.3-2.6a7 7 0 0 1 2.3-1"/> + <g fill="#ffe000" transform="translate(0 80)scale(.0635)"> + <use xlink:href="#cc-a" width="100%" height="100%" x="7560" y="4200"/> + <use xlink:href="#cc-a" width="100%" height="100%" x="6300" y="2205"/> + <use xlink:href="#cc-a" width="100%" height="100%" x="7560" y="840"/> + <use xlink:href="#cc-a" width="100%" height="100%" x="8680" y="1869"/> + <use xlink:href="#cc-b" width="100%" height="100%" x="8064" y="2730"/> + </g> +</svg> diff --git a/apps/web/public/flags/cd.svg b/apps/web/public/flags/cd.svg new file mode 100644 index 00000000..b9cf5289 --- /dev/null +++ b/apps/web/public/flags/cd.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cd" viewBox="0 0 640 480"> + <path fill="#007fff" d="M0 0h640v480H0z"/> + <path fill="#f7d618" d="M28.8 96H96l20.8-67.2L137.6 96h67.2l-54.4 41.6 20.8 67.2-54.4-41.6-54.4 41.6 20.8-67.2zM600 0 0 360v120h40l600-360V0z"/> + <path fill="#ce1021" d="M640 0 0 384v96L640 96z"/> +</svg> diff --git a/apps/web/public/flags/cefta.svg b/apps/web/public/flags/cefta.svg new file mode 100644 index 00000000..f748d08a --- /dev/null +++ b/apps/web/public/flags/cefta.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cefta" viewBox="0 0 640 480"> + <path fill="#039" d="M0 0h640v480H0z"/> + <circle cx="320" cy="249.8" r="30.4" fill="none" stroke="#fc0" stroke-width="27.5"/> + <circle cx="320" cy="249.8" r="88.3" fill="none" stroke="#fc0" stroke-width="27.5"/> + <path fill="#039" d="m404.7 165.1 84.7 84.7-84.7 84.7-84.7-84.7z"/> + <path fill="#fc0" d="M175.7 236.1h59.2v27.5h-59.2zm259.1 0h88.3v27.5h-88.3zM363 187.4l38.8-38.8 19.4 19.5-38.7 38.7zM306.3 48.6h27.5v107.1h-27.5z"/> + <circle cx="225.1" cy="159.6" r="13.7" fill="#fc0"/> + <circle cx="144.3" cy="249.8" r="13.7" fill="#fc0"/> + <circle cx="320" cy="381.4" r="13.7" fill="#fc0"/> + <circle cx="320" cy="425.5" r="13.7" fill="#fc0"/> + <circle cx="408.3" cy="249.8" r="13.7" fill="#fc0"/> + <path fill="#fc0" d="m208.3 341.5 19.5-19.4 19.4 19.4-19.4 19.5zm204.7 21 19.5-19.5 19.5 19.5-19.5 19.4z"/> +</svg> diff --git a/apps/web/public/flags/cf.svg b/apps/web/public/flags/cf.svg new file mode 100644 index 00000000..a6cd3670 --- /dev/null +++ b/apps/web/public/flags/cf.svg @@ -0,0 +1,15 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cf" viewBox="0 0 640 480"> + <defs> + <clipPath id="cf-a"> + <path fill-opacity=".7" d="M-12.4 32h640v480h-640z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#cf-a)" transform="translate(12.4 -32)"> + <path fill="#00f" d="M-52 32h719.3v119H-52z"/> + <path fill="#ff0" d="M-52 391.6h719.3V512H-52z"/> + <path fill="#009a00" d="M-52 271.3h719.3v120.3H-52z"/> + <path fill="#fff" d="M-52 151h719.3v120.3H-52z"/> + <path fill="red" d="M247.7 32.5h119.9V512H247.7z"/> + <path fill="#ff0" d="m99.3 137.7-31.5-21.8-31.3 22L47.4 101 16.9 78l38.2-1 12.5-36.3L80.3 77l38.1.7L88.2 101"/> + </g> +</svg> diff --git a/apps/web/public/flags/cg.svg b/apps/web/public/flags/cg.svg new file mode 100644 index 00000000..f5a0e42d --- /dev/null +++ b/apps/web/public/flags/cg.svg @@ -0,0 +1,12 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cg" viewBox="0 0 640 480"> + <defs> + <clipPath id="cg-a"> + <path fill-opacity=".7" d="M-79.5 32h640v480h-640z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#cg-a)" transform="translate(79.5 -32)"> + <path fill="#ff0" d="M-119.5 32h720v480h-720z"/> + <path fill="#00ca00" d="M-119.5 32v480l480-480z"/> + <path fill="red" d="M120.5 512h480V32z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ch.svg b/apps/web/public/flags/ch.svg new file mode 100644 index 00000000..b42d6709 --- /dev/null +++ b/apps/web/public/flags/ch.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ch" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="red" d="M0 0h640v480H0z"/> + <g fill="#fff"> + <path d="M170 195h300v90H170z"/> + <path d="M275 90h90v300h-90z"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/ci.svg b/apps/web/public/flags/ci.svg new file mode 100644 index 00000000..e400f0c1 --- /dev/null +++ b/apps/web/public/flags/ci.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ci" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#00cd00" d="M426.8 0H640v480H426.8z"/> + <path fill="#ff9a00" d="M0 0h212.9v480H0z"/> + <path fill="#fff" d="M212.9 0h214v480h-214z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ck.svg b/apps/web/public/flags/ck.svg new file mode 100644 index 00000000..18e547b1 --- /dev/null +++ b/apps/web/public/flags/ck.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ck" viewBox="0 0 640 480"> + <path fill="#006" d="M0 0h640v480H0z"/> + <path fill="#fff" fill-rule="evenodd" d="m471.6 213 5.2-16.7-14-10.6 17.6-.2 6-16.5 5.6 16.5 17.7.5-14.1 10.5 5 16.7-14.5-10m27.1 13 10.4-13.9-9.7-14.8 16.7 5.8 11-13.5v17.6l16.4 6.4-16.8 5-.8 17.5-10.2-14.4m-98.4 15-.7-17.5-16.8-5.2L431 198v-17.4l10.9 13.5 16.8-5.6-9.8 14.7 10.3 14-17-4.5m-39.6 40.9-7.4-15.8-17.4 1.8 12.8-12.3L384 211l15.2 8.2 13.3-11.8-3.4 17.4 14.9 8.9-17.3 2.5M389 291.8l-13.3-11.1-15 9.2 6.4-16.7-12.9-11.6 17.3.7 7-16.4 4.3 17.2 17.2 1.5-14.6 9.8m3.2 60.4-16.5-4.8-10.1 14.5-.7-17.9-16.4-5.5 16.1-6.2v-18l10.7 14.1 16.4-5.6-9.6 15m29.5 50.8-17 2.4-3.5 17.4-7.8-16-17.1 1.6 12.2-12.3-7.1-16.4 15.3 8.5 12.8-11.8L393 362m45 38-15.1 8.2 2.6 17.6-12.7-12.4-15.6 7.6 7.3-15.9-12.3-12.9 17.3 2.6 8-15.5 3.4 17.4m53.8 9-8.3 15.3 11.7 13.2-17.4-3.3-8.9 15-2.4-17.3-17.2-4 15.8-7.4-1.7-17.5 12.2 12.8m57.4-13.1-.5 17.4 16.3 6.4-17 5-1.2 17.5-10-14.3-17 4.4 10.8-13.9-9.4-14.7 16.6 5.7M559 209.8l12 12.6 15.9-7.4-8.3 15.8 11.5 13.1-17-2.8-9 15.5L562 239l-17-3.5 15.7-8m34.2 21 5.5 16.6 17.5.3-14.2 10.7 4.7 16.8-14.1-10-14.6 10.1 5.4-16.8-13.8-10.6 17.6-.4m19.5 33.2-2 17.4 15.7 7.7-17.3 3.6-2.7 17.3-8.7-15.1-17.4 2.9 12-13-8.1-15.5 16 7.2m3 39.8-7.8 15.6L603 379l-17.4-2.7-8.4 15.3-3-17.3-17.4-3.3 15.6-8-2.3-17.4 12.6 12.3m-9.8 39.1-14.7 9.2 3.8 17.3-13.5-11.5-15 8.6 6.3-16.3-13.1-12.1 17.4 1.5 7-16 4.4 17.2"/> + <path fill="#006" d="M0 0h320v240H0z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/> + <path fill="#fff" d="M120.5 0v240h80V0zM0 80v80h320V80z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/> +</svg> diff --git a/apps/web/public/flags/cl.svg b/apps/web/public/flags/cl.svg new file mode 100644 index 00000000..5b3c72fa --- /dev/null +++ b/apps/web/public/flags/cl.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cl" viewBox="0 0 640 480"> + <defs> + <clipPath id="cl-a"> + <path fill-opacity=".7" d="M0 0h682.7v512H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#cl-a)" transform="scale(.9375)"> + <path fill="#fff" d="M256 0h512v256H256z"/> + <path fill="#0039a6" d="M0 0h256v256H0z"/> + <path fill="#fff" d="M167.8 191.7 128.2 162l-39.5 30 14.7-48.8L64 113.1l48.7-.5L127.8 64l15.5 48.5 48.7.1-39.2 30.4z"/> + <path fill="#d52b1e" d="M0 256h768v256H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/cm.svg b/apps/web/public/flags/cm.svg new file mode 100644 index 00000000..70adc8b6 --- /dev/null +++ b/apps/web/public/flags/cm.svg @@ -0,0 +1,15 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cm" viewBox="0 0 640 480"> + <path fill="#007a5e" d="M0 0h213.3v480H0z"/> + <path fill="#ce1126" d="M213.3 0h213.4v480H213.3z"/> + <path fill="#fcd116" d="M426.7 0H640v480H426.7z"/> + <g fill="#fcd116" transform="translate(320 240)scale(7.1111)"> + <g id="cm-b"> + <path id="cm-a" d="M0-8-2.5-.4 1.3.9z"/> + <use xlink:href="#cm-a" width="100%" height="100%" transform="scale(-1 1)"/> + </g> + <use xlink:href="#cm-b" width="100%" height="100%" transform="rotate(72)"/> + <use xlink:href="#cm-b" width="100%" height="100%" transform="rotate(144)"/> + <use xlink:href="#cm-b" width="100%" height="100%" transform="rotate(-144)"/> + <use xlink:href="#cm-b" width="100%" height="100%" transform="rotate(-72)"/> + </g> +</svg> diff --git a/apps/web/public/flags/cn.svg b/apps/web/public/flags/cn.svg new file mode 100644 index 00000000..10d3489a --- /dev/null +++ b/apps/web/public/flags/cn.svg @@ -0,0 +1,11 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cn" viewBox="0 0 640 480"> + <defs> + <path id="cn-a" fill="#ff0" d="M-.6.8 0-1 .6.8-1-.3h2z"/> + </defs> + <path fill="#ee1c25" d="M0 0h640v480H0z"/> + <use xlink:href="#cn-a" width="30" height="20" transform="matrix(71.9991 0 0 72 120 120)"/> + <use xlink:href="#cn-a" width="30" height="20" transform="matrix(-12.33562 -20.5871 20.58684 -12.33577 240.3 48)"/> + <use xlink:href="#cn-a" width="30" height="20" transform="matrix(-3.38573 -23.75998 23.75968 -3.38578 288 95.8)"/> + <use xlink:href="#cn-a" width="30" height="20" transform="matrix(6.5991 -23.0749 23.0746 6.59919 288 168)"/> + <use xlink:href="#cn-a" width="30" height="20" transform="matrix(14.9991 -18.73557 18.73533 14.99929 240 216)"/> +</svg> diff --git a/apps/web/public/flags/co.svg b/apps/web/public/flags/co.svg new file mode 100644 index 00000000..ebd0a0fb --- /dev/null +++ b/apps/web/public/flags/co.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-co" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#ffe800" d="M0 0h640v480H0z"/> + <path fill="#00148e" d="M0 240h640v240H0z"/> + <path fill="#da0010" d="M0 360h640v120H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/cp.svg b/apps/web/public/flags/cp.svg new file mode 100644 index 00000000..b8aa9cfd --- /dev/null +++ b/apps/web/public/flags/cp.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cp" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#000091" d="M0 0h213.3v480H0z"/> + <path fill="#e1000f" d="M426.7 0H640v480H426.7z"/> + </g> +</svg> diff --git a/apps/web/public/flags/cr.svg b/apps/web/public/flags/cr.svg new file mode 100644 index 00000000..5a409eeb --- /dev/null +++ b/apps/web/public/flags/cr.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cr" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#0000b4" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 75.4h640v322.3H0z"/> + <path fill="#d90000" d="M0 157.7h640v157.7H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/cu.svg b/apps/web/public/flags/cu.svg new file mode 100644 index 00000000..053c9ee3 --- /dev/null +++ b/apps/web/public/flags/cu.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cu" viewBox="0 0 640 480"> + <defs> + <clipPath id="cu-a"> + <path fill-opacity=".7" d="M-32 0h682.7v512H-32z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#cu-a)" transform="translate(30)scale(.94)"> + <path fill="#002a8f" d="M-32 0h768v512H-32z"/> + <path fill="#fff" d="M-32 102.4h768v102.4H-32zm0 204.8h768v102.4H-32z"/> + <path fill="#cb1515" d="m-32 0 440.7 255.7L-32 511z"/> + <path fill="#fff" d="M161.8 325.5 114.3 290l-47.2 35.8 17.6-58.1-47.2-36 58.3-.4 18.1-58 18.5 57.8 58.3.1-46.9 36.3z"/> + </g> +</svg> diff --git a/apps/web/public/flags/cv.svg b/apps/web/public/flags/cv.svg new file mode 100644 index 00000000..aec89949 --- /dev/null +++ b/apps/web/public/flags/cv.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cv" viewBox="0 0 640 480"> + <defs> + <clipPath id="cv-a"> + <path fill-opacity=".7" d="M-123.4 0h682.6v512h-682.6z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#cv-a)" transform="translate(115.7)scale(.94)"> + <path fill="#fff" d="M-123.4 233H723v206h-846.5z"/> + <path fill="#081873" d="M-122.8 0h846v256.6h-846zm.3 385.9h852.1V512h-852.1z"/> + <path fill="#de3929" d="M-122.5 302.6h846v39.6h-846z"/> + <path fill="#ffce08" d="m131 399.2 6.6 20.4H159l-17.4 12.7 6.6 20.5L131 440l-17.4 12.7 6.7-20.5-17.4-12.7h21.5M317 250.4l6.7 20.5H345l-17.4 12.6 6.6 20.5-17.4-12.7-17.4 12.7 6.6-20.5-17.4-12.6h21.6m-222 64.4 6.6 20.5h21.5L99 368.6l6.7 20.4-17.4-12.6L70.9 389l6.6-20.4-17.4-12.7h21.5M317 329.5l6.7 20.4H345l-17.4 12.7 6.6 20.4-17.4-12.6-17.4 12.7 6.6-20.5-17.4-12.7h21.6m-40.5-161.7 6.7 20.4H298l-17.4 12.7 6.6 20.5-17.4-12.7-17.4 12.7 6.7-20.5-17.5-12.7h21.6m-64.5-45.2 6.7 20.5h21.5l-17.4 12.6 6.6 20.5-17.4-12.6-17.4 12.6 6.7-20.5-17.4-12.6H192m-64.5 2.9 6.7 20.5h21.5l-17.4 12.6 6.7 20.5-17.5-12.7-17.4 12.7 6.7-20.5-17.4-12.6H121m-34.8 43.2 6.6 20.5h21.6l-17.5 12.6 6.7 20.5-17.4-12.7-17.4 12.7 6.6-20.5L58 271h21.5m119.2 149.4 6.7 20.5h21.5l-17.4 12.6 6.7 20.5-17.5-12.7-17.4 12.7 6.7-20.5-17.4-12.6H192m82.2-41.7 6.6 20.4h21.5L285 432.3l6.7 20.5-17.4-12.7-17.5 12.7 6.7-20.5-17.4-12.7h21.5"/> + </g> +</svg> diff --git a/apps/web/public/flags/cw.svg b/apps/web/public/flags/cw.svg new file mode 100644 index 00000000..bb0ece22 --- /dev/null +++ b/apps/web/public/flags/cw.svg @@ -0,0 +1,14 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cw" viewBox="0 0 640 480"> + <defs> + <clipPath id="cw-a"> + <path fill-opacity=".7" d="M0 0h682.7v512H0z"/> + </clipPath> + <path id="cw-b" d="m0-1 .2.7H1L.3 0l.2.7L0 .4l-.6.4.2-.7-.5-.4h.7z"/> + </defs> + <g clip-path="url(#cw-a)" transform="scale(.94)"> + <path fill="#002b7f" d="M0 0h768v512H0z"/> + <path fill="#f9e814" d="M0 320h768v64H0z"/> + <use xlink:href="#cw-b" width="13500" height="9000" x="2" y="2" fill="#fff" transform="scale(42.67)"/> + <use xlink:href="#cw-b" width="13500" height="9000" x="3" y="3" fill="#fff" transform="scale(56.9)"/> + </g> +</svg> diff --git a/apps/web/public/flags/cx.svg b/apps/web/public/flags/cx.svg new file mode 100644 index 00000000..3a83c23f --- /dev/null +++ b/apps/web/public/flags/cx.svg @@ -0,0 +1,15 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cx" viewBox="0 0 640 480"> + <path fill="#0021ad" d="M0 0h640v480H0z"/> + <path fill="#1c8a42" d="M0 0h640v480z"/> + <circle cx="320" cy="240" r="57.8" fill="#ffc639"/> + <path fill="#1c8a42" d="M284.7 214c4 5.5 10 14.6 14.8 12.2 3.7 0 5.7.3 6.2 2.8a37 37 0 0 0 33-14.3s.8 0 .5-4.5c0-2 2.8-1.6 2.8-1 .4 1 .4 1.7.9 1.8 1-.4 2.7-3 4-4.6q.3-1 .2-2.4c.7-1.7 2.4-1.3 2.8-.4l.6 1.6c1.8 1.2 5 0 5.2 0 .3-1.4 1.2-1.2 1.2-1.2 1.2-.3.7-.2 1.5.2-.7 7.7 1.5 8 1.3 12 .1 4.4-1.3 5.6-1.3 7.3.4 2 7 2.1 4.6 3.9-2 1 0 3-3 3.8-8.8 4.5-10.4 8.3-10.4 8.3s-2.2 4.2-2.5 4.2c-1.5 2.8-3.3 1.2-4.4 2.6-.5 1.7-1 5.5 0 7.4.5 2.7 0 4.2-.7 6.9-.6 5.6-2.8 6.5-3.1 8.4-1 2.2.2 12-.8 12-6.5.2-11.5-1.2-14.1-1.7 2.5-10.9 1.5-20.4 1.5-21.4-.6-7.8-11.6-5.9-13.3-7-1.4-.2-2.3-1.3-2.7-1.8-1.6-.2-2.2-.6-3.7-.7-.8.4-.3.8-2 1.3-4.5.5-6.4-3.8-6.4-3.8.2-1.5-9.9.3-15.3-1-2.3 1.3-3.3 5-5.1 5.4 0 1.1-3-1-3.6-2-.2-3.4 2.8-4.8 2.8-4.8 2.4-1.7 3.8-2 5-3.1.5-2.9.2-5 1.5-7.1 1-1.7 2.5-1 3.5-1.6 1.1-.8 1.6-5.6.6-7l-4.7-4.2c-1.4-4.1 1.7-6.8 2.6-6.5"/> + <path fill="#ffc639" d="M561.9 142.4c-2.6-10.3-26-32.7-43.7-46.9-4.2-2.8-7-1.1-6.4 3 2.2 3.6 3.8 7.6 6 11.3.6 2.5 1.8 4.2 2.4 6.6 0 0 .2 4.2.6 4.6 5.4 6 6.2 11.1 6.2 11.1a49 49 0 0 0 11.5 15.6c6.2 3.9 1.6 16 1.8 22.5 0 4-2.9 3.6-5.5 3-20.1-18.5-40.1-18.5-57.8-23.9-6.8-.7-7 2.6-4.7 4.4a129 129 0 0 0 39.1 29.6l7.7 4.8 8.8 7.3c6.8 4.4 7.3 8.4 7.3 8.8.2 8.2-4.2 14.6-5.5 17.2-2.3 8.7-7 10.2-7 10.2-37.6 25.4-57.4 32-118.4 24.1-1-.4-6.8.5 0 3 15.5 5.2 53.7 13.5 90.6-4 9-6.2 14.8-4.2 21.3-8a287 287 0 0 1 28.3-15.4c8.3-4.5 31.3-9.4 36.6-13.8 6.1-.5 12.4-1.3 12.8-6.5 2-1.3 5-.3 7.2-4.6 4.8-.9 4-2.6 4-2.6-1.2-3.4-5.8-4.8-9-7.3-4.8-1.6-8-2-11.5-.4l-3.3 1.5s-5.1-.7-5.1-1.1c-11.4-.6-10.3-38.3-14.3-54z"/> + <path fill="#1c8a42" d="M588.6 204.2a2.8 1.8 16 1 1-5.4-1.7 2.8 1.8 16 0 1 5.4 1.7"/> + <g fill="#fff" transform="matrix(.64 0 0 .64 0 80)"> + <path id="cx-a" d="m188.2 191-12.8-12-12.9 11.8 1.4-17.4-17.3-2.8 14.5-9.8-8.6-15.2 16.7 5.3 6.5-16.2L182 151l16.7-5-8.8 15 14.4 10-17.3 2.5z"/> + <path d="m233.4 335.5-13.8-9.1-13.4 9.6 4.8-15.5-13.6-9.5 16.6-.4 5-15.5 5.6 15.3 16.7-.1L228 320l5.3 15.4z"/> + <use xlink:href="#cx-a" width="100%" height="100%" x="2.5" y="269.1"/> + <use xlink:href="#cx-a" width="100%" height="100%" x="-112.1" y="123.2"/> + <use xlink:href="#cx-a" width="100%" height="100%" x="108.4" y="85"/> + </g> +</svg> diff --git a/apps/web/public/flags/cy.svg b/apps/web/public/flags/cy.svg new file mode 100644 index 00000000..ee4b0c78 --- /dev/null +++ b/apps/web/public/flags/cy.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cy" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path id="cy-a" fill="#435125" d="m307.8 398.6-.2-.2h-.1l-1.3-1.4-3.8-4.5-4.9-6.3-.6-.9-6.2-1.9-4.6-2.1 2.4-2.7 8.4 3.5 6.2 1.3 11.5 8.5-3.3 2.9-3.3 3.5.7-.5.8.6zm-42.6-12.8a32 32 0 0 1-16-4.5s.7-1.3 2.3-2.4c1.6-1.2 4.4-2.5 9-2.6q8.2 0 19.5 5.4a29 29 0 0 1-14.8 4zm-23.5-5.2q-1.6 0-2.6-1a5 5 0 0 1-1.1-2.4 12 12 0 0 1-.3-3.4l1.3-.2c2 0 3.6 1.7 4.3 3.4q.6 1.5.2 2.5t-1.8 1zm41.3-4.8c-13.9-2-19.8-7-22.3-10.9-2.6-4.1-2-8-2-8s.8-.2 2-.2c3.8 0 13.2 1.9 22.3 19zm-28.5-2.8q-8.9 0-13.4-3a8 8 0 0 1-3-3.3l-.4-1.6a18 18 0 0 1 7.2-1.4 27 27 0 0 1 18.9 8.7q-5.1.6-9.3.6m-28.7-1c-6.2 0-14.8-2-20.2-7.3 0 0 5.9-1.5 12.4-1.7h1.2q8.9 0 13.4 3.4 1.5 1.2 1.7 2.2t-.8 1.7q-2.1 1.5-7.2 1.6h-.5zm-20.3-10.5a3 3 0 0 1-2-1 5 5 0 0 1-.8-2c-.3-1.4-.2-2.8-.2-2.9l1-.2q1.4.1 2 1a6 6 0 0 1 1.4 2q.4 1.3 0 2.2c0 .4-.6 1-1.3 1zm46.9-1q-1.6 0-2.6-1a5 5 0 0 1-1.1-2.4 12 12 0 0 1-.3-3.4l1.3-.2c2 0 3.7 1.7 4.3 3.4q.6 1.5.3 2.5-.5 1-2 1zm-22.8-1c-12.6-.4-19.2-4-22.4-7a15 15 0 0 1-3.4-4.3q-.7-1.6-.7-2 .2-.5 3-.4h.4c4.2 0 12.9 1.8 23 13.7zm13.6-1.2a31 31 0 0 1-18.9-9.3 19 19 0 0 1-4.1-7s1.2-.3 3-.4h1c5 .1 14.3 2.4 19 16.7m-52-5a42 42 0 0 1-9.5-1c-5.3-1.4-7.6-3.4-8.6-4.9a5 5 0 0 1-.8-2v-.8s3.5-1 8.4-1.1a35 35 0 0 1 7.4.6 22 22 0 0 1 12.8 8.1s-4 1.2-9.7 1.2zm23.5-8.4a3 3 0 0 1-2.5-1 5 5 0 0 1-1.1-2.4c-.4-1.6-.3-3.2-.3-3.4l1.2-.3h.1c2 0 3.6 1.8 4.3 3.5q.6 1.5.2 2.4-.5 1-1.9 1.1zm-17.6-2.5a39 39 0 0 1-9.6-4.2c-4.4-2.7-9.9-7.5-10.5-15l1-.1h.3c1.3 0 4 .3 7.3 2.8q6.3 4.9 11.5 16.5m11.5-.4a31 31 0 0 1-7.6-4.9 49 49 0 0 1-13.3-18.6s.9-.5 2.3-.6h.6c2 0 4.9.9 8.1 4.4q5.7 6 10 19.7zm-29.9-.9c-3.9 0-5.2-2-5.6-3a6 6 0 0 1-.4-3l2-.2a8 8 0 0 1 6.5 3c.2.4.8 1.4.3 2.3q-.6 1-2.8 1zm-8.5-10.8a51 51 0 0 1-9-.7c-3.4-.6-5.3-3.5-6.4-5.9-1-2.5-1.4-5-1.4-5 10.6.3 15.7 3.4 18 6a9 9 0 0 1 2.6 5.5s-1.6.2-3.8.2zm11-11-2.4-3.4c-1.3-2-2.4-4-2.4-5.6 0-1.7-.4-5-.6-7l-.6-4.5c.3 0 6.6 2.4 6.6 8.4s-.6 12-.6 12zm-8.2-.6h-.2a44 44 0 0 1-18.2-10.8q-2.6-3-3.1-9.4c-.2-3 0-5.5 0-5.8l1.1-.1q2 0 5 2a40 40 0 0 1 5.2 4.4c3.2 3.2 5.7 6.4 5.7 6.4.3.4 2 3.7 3.5 6.9a22 22 0 0 1 1.6 4.6q.2.9 0 1.4l-.3.4h-.4z"/> + <use xlink:href="#cy-a" width="100%" height="100%" transform="matrix(-1 0 0 1 593.7 0)"/> + <path fill="#d47600" d="m519 76.4-1.8.7-.8.3-2.2-.1-2.2 1-3.8 2.6-.1.1-1.5.4-1.3-.6-.7.4-.3 1.5-.7 1.1-.9.6-3 .3-2.5 1.4-3.4-1-1.5.7-3.3 3-1.7.7h-.5l-2.3-.1-.9.3-1.4 1.3-2.6.2-.9.6-1.3 2.6L476 96l-.8.1-.8-.3-.7.1-.3 1.7-.6.7-1.8.6-1.4 1.2-1.3.6h-2l-1.7 1-3.1.2-1.3 1.2-.3.3-.6.3-1 .6-.2.2-1.2-.2-1.4.5-.6-.8-1 .5-1.2.1-1.6-.7-1.3-.6-.9.2-.3 1.5v.2l-1 1.2-1.7 1.1-.2.3-2 2.6-3.8 4-3.2 1.6-3.3 1-2.3 1.9-6 3-9.7 4.8-2 .6-2.8.4-5 1.9-4.4 1.3-.3.1-.8.3-6.3 1.9-2.9-.4-1.7.7-4.5-.5h-3.1l-2 .4-3.7 1.8-6.3 3-2 2-3.2 1.6-3.8 1.2v-1.6l-1.3.4-1 .3-3 .4h-1.7l-1.1-.3h-.2l-6.2 2.1-7 .7-3.5 1.1H333l-1.6.5-3.2.4-1.2-.3-.2-.1-9.4.4-4.3-.5-2 .5-3.5-1.2-5-.6-1.2-.3-2.6-.8-1.2.7-1 .1-2-.8h-.8l-1.8.6-1-.2-1-.8-2.1-.3-1.4-1.1-7.5 1-2-.6-6.9-2h-1l-1.4 1-2 .8-1.9.4-2.4.1-2.8-.7-2.8-1.4-1.1-.3-2.4.3h-.7l-4.4-2.3-5.6-3.5-3.8-1.9-1.5-.2-.2.7.7 2.2.3 2.3v2l-.1 1.3.3 1.1 1.4 1.6.6 1.5.4 4.2v4.3l-.7 6.8-.2 1-.8 3.6-.7 3.3-2.9 8.7-.7 1-2 1.3-4.3 3-3.2 1.8-1 .4-2.6.2H219l-2-1.1-2-.5-2.6-1.9-2.8-.6-3.2-1.8-.8-1-1.7-.2-2.4-.7-.9-.3-.6-.1-3-.1-2.9-1.3-1.5-.4h-2l-2.1 1-1.1.4-1.4-.5h-1l-1 1.7-.2.3-.8.4h-1.7l-.8.3-1.1.5-1 .4-.5.2h-.3l-.5.2h-.6l-1.2-.6-.6-.3-1-.2-.5.3-.1 1.9-.5 1.1-1.6 1.4-1.6 1.4-1 1.6-3 6.7-1.9 2.7-.5.7-2 2.1-1.7 1.3-3.9 3-3.7 1.5-3.2.6h-1.6l-3-.4-2.6-.8-3-1.8-3.1-2.6-4.7-4.5-.6-.4-.2-.1-1.4-1h-1.1l-.4.8-.3 1-.2.9-.5 5v.3l.3 2.1 3.6 5 1 2.6.2.3.7 1.2.6 1 1.3 3.6-.9 2 .4 1.4-1 .8-.2 1.2 3.1 4 .7 1.7-.7 2.4-1.3 1.4-.3.3.2 1 1.4 1.4 2.5 2.2 1.3 3.2 1 1 1.2-.3.6.5h1l1 1 .6.2 1 .5.8 1 .1 3.2 1.5 3.8v2.5l1 1.5.2 1.2-.5 3.3 1.2 1 1.2-.2.8.1 1.3 1.1 1.6 2.4 1.6-.2 1 .4 4.7 4.3 1 .6.9.4 1 1 1.4-1h.2l1.6-.2.7.5 1.4.9h1.7l4 1.2 1.6.4 3.4 2.1 1.5.9.8.7 1.2 1 2.2 1 2 .4 1 .2.9.3 4.2 1.7 2.3.5 2 .8 1.6.5h1.2l1.6-1.3h1.5l1.3.2 1.3-.2 2-1.2.3-.6 1.4-.6 4.8-.6 1.4.4 3.6-1.5 2.4.6 2-.7 4.7 1 1.2.9 1.4 1.5h1.7l-.7 1.1 2 2.2 1.9 2.7.1.4 1.3 3.9 1 1.4.7 1.9v1.2l-1 .9-.2.4v.2l.2.5.4-.2.7-.4 1-.2 1.6.2 1.1.1 1.7-.8 1.2-.6 1.8.8h2l.9.3 2.4 1.1 1.2.1.4-.3.3-.6-.1-.8-1-1.1-2-2.4-.8-1.2-.6-1.7-.2-2.2-.2-1.5.3-2 .5-.7.4-1.6.1-.4 1.2-1.5 3-2 3.2-2.8 2.5-1.7 2.6-1.1v-.3l.4.1 6.6-2.3 3-.5 20 1.4.7-.2.7-1.9.3-.3.3-.2 2.2-1 1-.2 2.8.7 1.2.3 1.9-1h1.3l2.7-1.5h1.7l.7-.2 3.3-2.4 3.1-.9.8-.4.3-.2 3.3-1.7 2-1.6 1.8-1 2-.4 5-.4 1.1-1.7 2.2-.3 1.3-1.5 1.5-.6 1.1-1.6 1-1.3 1.2-.7 4.1-.3 4.8.6.7-.4 1-3.9 1.2-.7 3-4.5v-1.6l.1-1.4.5-2-.3-3.4.4-3.6 1.9-4.5 1.7-1.8 2.7-1.9 1.4-.6 2-.3h.2l.5-.2h9.2l2.3-.1 5.7 1h.4l1.9.7 2.2 1.7 2.4 2.3.4.4 1.5.7.5.2 1.2-.2 1.8-1 1.4-1 1.8-1v-.2l1.1-1.5.4-.7 3.6-1.4 4.2-.2.5-.3h.2l1.1-1.4h1l2.6 1 1.7-.4 1.4.5 1.1-.1 2-.3 2.3 1.6 1.3.2 4.5 2.6h.4l.2.1.5-.2.8-.2h.1l.1.1.6.7.7.1.8-1-.3-.6-.1-.2-1.7-.3-1.4-2.5 1.4-1.5-2.2-2.6-.4-.5v-.1l-.8-1.2-3.8-5.8-5-4-1.7-1.3-.6-.5-2.7-2.7-1.9-2.5-.2-.5-.4-.9-1.1-2.4-2-1.5-1.6-1.8-3.4-4.6-.5-.7-.8-.5h-1.7l-.1-.2h-.1v-.1l.8-.8 1-.2.3-.9-1.7-4.9v-.2l-.1-1.5 1.3-7.1.2-.9 2.4-4.7 1.4-1.2 1.6-3.1 1.4-2 1.3-1.3.2-.1 2.3-1.4 2-.3 1.9-.3 3.3 1h3l.7-.1 1.4-.2 2.3-.7 1.1-.7.6-.8 1.2-4 .4-1.3.7-1.4 4.3-4.9 3.2-3 7.2-5.2 3.5-2.1 1.8-1.1 16.1-7.2 4.2-4.2 2.2-2.2 3.8-2.6 4.5-1.9 4-3 .8-1.1 1-3.5 1-.2.7-1.7.3-.5 3.1-2.2.4-.2 12.3-6.2 1.8.3 1-1.5 3.5-.6h.7l.9-.5.7-1.3v-.3l.1-3.4.8-.9.4-2.2.4-.6.4-.5 1-.7z"/> +</svg> diff --git a/apps/web/public/flags/cz.svg b/apps/web/public/flags/cz.svg new file mode 100644 index 00000000..7913de38 --- /dev/null +++ b/apps/web/public/flags/cz.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cz" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v240H0z"/> + <path fill="#d7141a" d="M0 240h640v240H0z"/> + <path fill="#11457e" d="M360 240 0 0v480z"/> +</svg> diff --git a/apps/web/public/flags/de.svg b/apps/web/public/flags/de.svg new file mode 100644 index 00000000..71aa2d2c --- /dev/null +++ b/apps/web/public/flags/de.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-de" viewBox="0 0 640 480"> + <path fill="#fc0" d="M0 320h640v160H0z"/> + <path fill="#000001" d="M0 0h640v160H0z"/> + <path fill="red" d="M0 160h640v160H0z"/> +</svg> diff --git a/apps/web/public/flags/dg.svg b/apps/web/public/flags/dg.svg new file mode 100644 index 00000000..dfee2bb9 --- /dev/null +++ b/apps/web/public/flags/dg.svg @@ -0,0 +1,130 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-dg" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#000063" fill-rule="evenodd" d="M640 416.2c-7.2 6.7-13.3 22-32.4 22-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 0-24.8 23.2-36.2 23.2v41.7c11.4 0 17.1-23 36.3-23 28.5 0 38 32.4 76 32.4 19.1 0 28.6-32.5 47.7-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.5-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.2 32.4-15.8zm0-81.2c-7.2 6.7-13.3 22-32.4 22-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 0-24.8 23.2-36.2 23.2v41.8c11.4 0 17.1-23.1 36.3-23.1 28.5 0 38 32.5 76 32.5 19.1 0 28.6-32.5 47.7-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.5-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.5-32.5 47.5-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.2 32.4-15.8zm0-81.1c-7.2 6.7-13.3 22-32.4 22-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 0-24.8 23.2-36.2 23.2v41.8c11.4 0 17.1-23.2 36.3-23.2 28.5 0 38 32.5 76 32.5 19.1 0 28.6-32.5 47.7-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.5-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.5-32.5 47.5-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.2 32.4-15.8zm0-81.1c-7.2 6.6-13.3 22-32.4 22-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 0-24.8 23.2-36.2 23.2v41.7c11.4 0 17.1-23 36.3-23 28.5 0 38 32.4 76 32.4 19.1 0 28.6-32.5 47.7-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.5-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.5-32.5 47.5-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.3 32.4-15.9zm0-81.3c-7.2 6.7-13.3 22.1-32.4 22.1-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 .1-24.8 23.3-36.2 23.3v41.8c11.4 0 17.1-23.1 36.2-23.1 28.5 0 38.1 32.5 76.2 32.5 19 0 28.5-32.5 47.6-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.4-32.5 28.7 0 38.2 32.5 76.3 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.3 32.4-15.9v-48Zm0-81c-7.2 6.6-13.3 22-32.4 22C569.5 32.5 560 0 531.4 0c-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5C198 32.5 188.6 0 160 0c-19 0-28.6 32.5-47.6 32.5C74.2 32.5 64.7 0 36.2 0 17.2 0 11.4 23.2 0 23.2v41.9C11.4 65 17.1 42 36.2 42c28.5 0 38.1 32.4 76.2 32.4 19 0 28.5-32.4 47.6-32.4 28.6 0 38.1 32.4 76.3 32.4 19 0 28.4-32.4 47.4-32.4 28.7 0 38.2 32.4 76.3 32.4 19 0 28.6-32.4 47.6-32.4 28.6 0 38.1 32.4 76.2 32.4 19 0 28.6-32.4 47.6-32.4 28.6 0 38.2 32.4 76.2 32.4 19 0 25.2-9.2 32.4-15.8z"/> + <path fill="#a24300" fill-rule="evenodd" stroke="#fff" stroke-width="2.1" d="m474.8 131.7-3.5 329c0 17.3 15.7 17.3 17.4 0l-3.5-329Z"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="1.8" d="m510.7 254-11-11.9-2.6 12.1-4.7-17.5-4.5 8.8-.8-18.6-4.4 8.8-.8-18.6-4.4 8.8L475 204l-4.4 8.8L468 191l-4.5 8.8-2.5-21.9-1.3-11 2.2-4.3 5.8 2.1 9.1 8.7 18.3 17.4-11.3-4.3 18.3 17.4-11.4-4.3 18.3 17.3-11.4-4.2 16.6 14-11.3-4.2 16.5 14-11.3-4.2 12.6 15.2-13.1-7.6 3 14.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M510.7 254 462 162.6m33.1 28.2L469 175.6l-5.4 24.1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m502.2 203.8-26.3-15.1-5.3 24.1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m509.1 216.8-26.2-15-5.4 24"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m514.3 226.7-24.5-11.9-7 21"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M519.5 236.5 495 224.6l-7 21"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m520.8 247.4-22.3-16.2-1.4 23"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="m383 97.9 17.8 6.8-5.2-13.5 15.6 15.3-1.5-11 12.6 18.4-1.5-11 12.6 18.4-1.5-11 16.3 20.8-1.5-11 16.3 20.8-1.4-11 16.2 20.8 8.2 10.4.7 5.5-6.7.6-14-4.3-28.2-8.7 13.3-1.1-28.1-8.7 13.3-1.1-28.1-8.7 13.3-1.2-24.4-6.2 13.3-1.1-24.4-6.2 13.3-1.2-21.5-9.3 17.1 1.3L383.1 98z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m383 97.9 103.7 68.7m-48.9-12.4 34.1 2.6-10.3-26.9"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m423 144.4 34 2.6-10.3-27"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m408.2 134.6 34 2.6-10.3-27"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m397 127.2 30.5.1-6.7-24.4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m386 119.8 30.4.2-6.7-24.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m377.8 109.4 31.1 5.7-13.2-23.9"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="M589.8 120.8 575 131.7l16.4 1.8-22.9 5.4 12.2 3.6-24.7 1.8 12.2 3.6-24.7 1.8 12.1 3.7-28.9 3.6 12.2 3.6-28.9 3.6 12.2 3.6-28.9 3.6-14.5 1.8-6-1.8 2.2-5.4 10.7-9 21.3-18.1-4.6 10.8 21.3-18-4.6 10.8 21.3-18-4.6 10.8L553 119l-4.5 10.9 17-16.3-4.5 10.8 19-12.6-8.7 12.7 18.6-3.6z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m589.8 120.8-117 50.6m34.1-32.5-17.4 25.3 32.7 3.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M523.7 131.7 506.2 157l32.7 3.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m540.4 124.4-17.5 25.3 32.7 3.7"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m553 119-13.3 23.5 28.5 5.4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m565.5 113.6-13.3 23.5 28.5 5.4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m580 111.8-19.4 21.7h30.7"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="M587.4 230.3 569 225l6.6 13-17.1-14 2.6 10.7-14.5-17.2 2.7 10.8-14.5-17.3 2.6 10.8-18.5-19.4 2.7 10.8-18.5-19.4 2.7 10.8-18.5-19.4-9.2-9.7-1.3-5.4 6.6-1.2 14.5 3.2 29 6.4-13.2 2.2 29 6.4-13.2 2.2 29 6.4-13.2 2.3 25 4.2-13.2 2.2 25 4.2L569 211l22.3 7.5h-17l13 12z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m587.4 230.3-110.6-60.2m50 8.4-34.2.2 13.2 26"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m542.6 187.1-34.2.2 13.2 26"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m558.4 195.7-34.2.2 13.2 26"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m570.3 202.2-30.3 2.3 9.3 23.8"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m582.2 208.7-30.3 2.2 9.2 23.8"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m591.3 218.4-31.5-3.2 15.8 22.8"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="1.8" d="m395.2 236.6 9.3-13-14.1 2.1 17.4-9.9-11.1-.5 20-7-11.1-.6 20-7-11.1-.6 23-9.6-11.2-.5 23-9.7-11.1-.5 23-9.6 11.5-4.9 5.6.3-.4 5.3-6.3 10.4-12.6 20.8.8-10.6-12.6 20.8.7-10.7-12.6 20.8.7-10.6-9.6 18.2.7-10.6-9.6 18.2.7-10.6-12.2 15.4 3.7-13.2z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m395.2 236.6 83-71m-19.1 36.5 7.3-26.4-28.2 4.1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m447.2 212.3 7.3-26.4-28.2 4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m435.3 222.4 7.4-26.4-28.2 4.1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m426.4 230 4.4-23.8-25.2 1.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m417.5 237.6 4.4-23.8-25.2 1.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m406 242.4 10-23.5-25.6 6.8"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="m563 66.2-17.9 12-2.9-12.9-10.5 17.8-2-8.5-8.6 18.2-1.2-8.4-6.7 18.7-3.8-9-6.7 22.7-3.8-9-6.7 22.7-3.9-9-6.7 22.7-3.3 11.4 1.9 4.5 7.2-2.4 12.4-9.2 25-18.4-14.4 4.7 24.9-18.5-14.4 4.8 24.9-18.5-14.4 4.8 25-14.4-17 4L566 83.3l-16.3 4.2 19.7-15.6-17 8.1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m556 72.7-25.8 22.2-50 65.2"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m519.3 132.8-28.6 13.5-2.4-20.8"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m530.2 119.2-29 13.4-2.3-20.8"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m540.5 105.5-28.7 13.4-2.2-20.7"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m549.1 95.3-26.8 9.9-3-17"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M559 85.5 530.2 95l-1-16.4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m562.8 76.2-26.6 13.6 5.2-20.6"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="m466.1 43.8 8 18.2 10.3-9.6-1.7 19.8 6.8-6.4-3.7 19.4 6-6.6-5.5 19 8.7-6-8 22.3 8.6-6-8 22.5 8.7-6-8 22.4-4 11.2-4.4 3-4.8-5.3-5-13.4-10-26.9 9.4 10.5-10.1-27 9.4 10.6-10-27L468 93l-12.5-23.4 12 11.1-14.4-23.9 11.3 11-7.3-22.2 9.6 14.6z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m468.2 52.4 8.5 30.5 3.2 78"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m463 120.2 16.2 24.3 14.7-16.7"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m462 103.7 16.5 24.4 14.7-16.7"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m461.5 87.3 16.4 24.4L492.3 95"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m460.4 74.9 16.8 20.4 13-13"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m458 62 18.7 21 11-13.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m460.3 52.4 14.4 23.5 8.1-19.9"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="1.9" d="m359 178 23.3-16.2-11.7-6 20.5 3.4-7-9.3 19.8 7.5-7-9.3 19.9 7.4-7-9.2 24 8.1-7-9.3 23.3 12.1-7-9.3 24 8.2 11.7 6 3.5 4.6-4.7 3.3-12.9 1.8-20.7 8.6 3.8-7.4-25.7 3.6 9.3-6.4-26.3 7.6 9.4-6.5-22.2 8.3 9.9-10.4-22.8 12.2 10-10.4-18.8 13 10.5-14.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m366.3 173.6 24.2-10.5 12.9-1.8 10.7-.2 18.5 1.2 16.7.7 33 3.7"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m447.2 176.9 18.5-11.4-18.8-14.7"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m426.5 175.2 22.7-12.2-18.7-14.8"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m411.7 174.8 20.9-12.5-19-13.7m-29.5 29.6 19.3-16.9-15.6-8.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m375.5 179.3 15-16.1-12-4.5m18.4 17.7 19-15.2-15.2-10.4"/> + <g fill-rule="evenodd"> + <path fill="#c00" stroke="#000" stroke-width="1pt" d="m541.5 1173.3-1.7-229.1-61.1-107c-15.3-52.6-7.8-78 17-79.8 24.7-1.6 49.2 13.6 84.8 15.3s28.9-59.4 81.5-57.7 144.3 32.3 222.3 37.4c78.1 5 118.8-27.2 208.8-30.6s113.7 42.4 118.8 42.4 30.6-18.6 56-22c25.5-3.4 34 10.2 34 10.2s-1.7 57.7-13.6 91.6c-11.9 34-54.3 90-56 90s-15.3 249.5-15.3 251.2-675.5-6.8-675.5-11.9z" transform="matrix(.12934 0 0 .11906 367.5 215.5)"/> + <g stroke="#000" stroke-width="1pt"> + <path fill="#fff100" d="M531.5 584.6s-68-52-69.8-177.1c-1-72 34.4-124 123-124 124 0 301.1 53.1 301.1 53.1v17.7s-141.7-53.1-301.2-53.1c-70.8 0-106.3 52-106.3 105.2 0 88.6 71 178.3 71 178.3v141.7h-17.8z" transform="matrix(-.12934 0 0 .11906 596.6 257.6)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 594.5 257.4)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 596.8 252.6)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 598 247.6)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 598.9 242.4)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 598.7 236.8)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 591.2 261.7)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 596.7 231.4)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 592.5 227.1)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 586.8 224.3)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 581 223.9)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 575 224)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 568.8 225)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 562.7 225.7)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 556 226.6)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 550.4 228.1)"/> + </g> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 369.5 257.4)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 367.2 252.6)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 366 247.6)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 365.2 242.4)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 365.4 236.8)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 367.3 231.4)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 371.4 227.1)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 377.2 224.3)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 382.9 223.9)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 389 224)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 395.2 225)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 401.4 225.7)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 407.9 226.6)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 413.6 228.1)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 372.8 261.7)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M531.5 584.6s-68-52-69.8-177.1c-1-72 34.4-124 123-124 124 0 301.1 53.1 301.1 53.1v17.7s-141.7-53.1-301.2-53.1c-70.8 0-106.3 52-106.3 105.2 0 88.6 71 178.3 71 178.3v141.7h-17.8z" transform="matrix(.12934 0 0 .11906 367.5 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="3" d="M1240.2 531.5s15.3-35.4 70.9-35.4c37.8 0 70.8 35.4 70.8 70.8v70.9h35.5v-70.9c0-35.4 35.4-70.8 70.8-70.8 53.2 0 70.9 35.4 70.9 35.4s0-106.3-70.9-106.3c-53.1 0-70.8 35.4-70.8 35.4s17.7-53.1 17.7-106.3-35.4-88.6-35.4-88.6c0 6.8-35.5 35.5-35.5 88.6s17.7 106.3 17.7 106.3-17.7-35.4-70.8-35.4c-70.9 0-70.9 106.3-70.9 106.3z" transform="matrix(.04311 0 0 .04536 398.7 310.9)"/> + <path fill="#fff100" stroke="#000" stroke-width="3" d="M1240.2 531.5s15.3-35.4 70.9-35.4c37.8 0 70.8 35.4 70.8 70.8v70.9h35.5v-70.9c0-35.4 35.4-70.8 70.8-70.8 53.2 0 70.9 35.4 70.9 35.4s0-106.3-70.9-106.3c-53.1 0-70.8 35.4-70.8 35.4s17.7-53.1 17.7-106.3-35.4-88.6-35.4-88.6c0 6.8-35.5 35.5-35.5 88.6s17.7 106.3 17.7 106.3-17.7-35.4-70.8-35.4c-70.9 0-70.9 106.3-70.9 106.3z" transform="matrix(.04311 0 0 .04536 444.5 310.9)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M531.5 832.7V673.2s35.4 53.2 88.6 53.2c43.5 0 88.6-70.9 88.6-70.9s41.5 53.2 88.6 53.2c42 0 88.5-68.6 88.5-68.6s43.2 68.6 88.6 68.6c45.5 0 88.6-53.2 88.6-53.2s46.3 70.9 106.3 70.9c53.1 0 70.9-53.2 70.9-53.2v159.5z" transform="matrix(.12934 0 0 .11906 367.5 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M708.7 832.7v-124S815 744 815 832.7z" transform="matrix(.12934 0 0 .11906 344.5 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M708.7 832.7v-124S815 744 815 832.7z" transform="matrix(-.12934 0 0 .11906 619.4 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M602.4 832.7C602.4 744 708.7 688 708.7 688S815 744 815 832.7z" transform="matrix(.12934 0 0 .11906 367.5 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M602.4 832.7C602.4 744 708.7 688 708.7 688S815 744 815 832.7z" transform="matrix(.12934 0 0 .11906 413.3 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M584.6 847.5c0-88.6 124.1-159.4 124.1-159.4s124 70.8 124 159.4h-248z" transform="matrix(.12934 0 0 .11906 390.4 255.9)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M1275.6 655.5c-35.4-17.7-166-35.4-376.3-35.4s-350 17.7-385.5 35.4c-35.4 17.7-35.4 53.2 0 70.9s175.3 35.4 385.5 35.4 340.9-17.7 376.3-35.4 35.4-53.2 0-70.9z" transform="matrix(.12788 0 0 .11906 367 278.7)"/> + <path fill="gray" d="M527.9 365.2c0 4.2-38.2 4.2-45.9 4.2-8.3 0-45.8 1.2-45.8-4.2 0-4.2 37.8-4.2 45.8-4.2s45.9.8 45.9 4.2"/> + <path fill="#c00" d="M440.8 350c0 1.4-1 2.6-2.3 2.6s-2.3-1.2-2.3-2.6 1-2.5 2.3-2.5 2.3 1.2 2.3 2.5m87 0c0 1.4-1 2.6-2.3 2.6s-2.3-1.2-2.3-2.6 1-2.5 2.3-2.5 2.3 1.2 2.3 2.5"/> + <path d="M486.6 348.8c0 1.3-2.1 2.4-4.6 2.4s-4.6-1.1-4.6-2.5 2-2.5 4.6-2.5 4.6 1.2 4.6 2.5z"/> + <path fill="#006300" d="M508.6 348.8c0 1.3-1.6 2.4-3.5 2.4s-3.4-1.1-3.4-2.5 1.6-2.5 3.4-2.5 3.5 1.2 3.5 2.5zm-47.2 0c0 1.3-1.5 2.4-3.4 2.4s-3.5-1.1-3.5-2.5 1.5-2.5 3.5-2.5c1.9 0 3.4 1.2 3.4 2.5z"/> + <path fill="#fff100" stroke="#000" stroke-width="2.2" d="M1257.9 496s35.4-53 70.9-53h35.4v35.3c0 53.2-53.1 71-53.1 71h141.7s-53.2-17.8-53.2-71V443h35.5c35.4 0 70.8 53.2 70.8 53.2V354.3s-35.4 53.2-70.8 53.2h-35.5V372c0-53.1 53.2-70.8 53.2-70.8H1311s53.1 17.7 53.1 70.8v35.5h-35.4c-35.5 0-70.9-53.2-70.9-53.2v141.8z" transform="matrix(.0739 0 0 .06804 379.9 300.5)"/> + <path fill="#fff100" stroke="#000" stroke-width="3.3" d="M1381.9 549.2h70.9s-53.2-17.7-53.2-70.9V443h35.4c35.5 0 71 53.2 71 53.2V354.3s-35.5 53.2-71 53.2h-35.4V372c0-53.1 53.2-70.8 53.2-70.8h-70.9z" transform="matrix(.03696 0 0 .05953 385 309.3)"/> + <path fill="#fff100" stroke="#000" stroke-width="3.3" d="M1381.9 549.2h70.9s-53.2-17.7-53.2-70.9V443h35.4c35.5 0 71 53.2 71 53.2V354.3s-35.5 53.2-71 53.2h-35.4V372c0-53.1 53.2-70.8 53.2-70.8h-70.9z" transform="matrix(-.03696 0 0 .05953 579 309.3)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M903.5 602.4a17.7 17.7 0 1 1-35.4 0 17.7 17.7 0 0 1 35.4 0z" transform="matrix(.12934 0 0 .11906 367.5 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="2.2" d="M1257.9 496s35.4-53 70.9-53h35.4v35.3c0 53.2-53.1 71-53.1 71h141.7s-53.2-17.8-53.2-71V443h35.5c35.4 0 70.8 53.2 70.8 53.2V354.3s-35.4 53.2-70.8 53.2h-35.5V372c0-53.1 53.2-70.8 53.2-70.8H1311s53.1 17.7 53.1 70.8v35.5h-35.4c-35.5 0-70.9-53.2-70.9-53.2v141.8z" transform="matrix(.0739 0 0 .06804 379.9 256.2)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M903.5 602.4a17.7 17.7 0 1 1-35.4 0 17.7 17.7 0 0 1 35.4 0z" transform="matrix(.12934 0 0 .11906 367.7 213.7)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M850.4 655.5h70.9v53.2h-71z" transform="matrix(.12934 0 0 .11906 367.5 215.5)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M850.4 683.3h70.9v202.5h-71z" transform="matrix(.12934 0 0 .11906 367.5 215.5)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 422.4 251.2)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 422.4 245.8)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 422.4 240.8)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 422.4 235.5)"/> + <path d="M486.9 356.8c0 1-2.1 1.7-4.8 1.7s-4.5-.7-4.5-1.7 2-1.7 4.6-1.7 4.7.8 4.7 1.7M529 361c-.3.7-2.6.8-5.1 0-2.6-.5-4.4-1.4-4.2-2 .3-.8 2.6-.8 5.1-.2 2.6.6 4.4 1.5 4.2 2.2m-17.7-2.8c0 .8-2.3 1.3-5 1.2-2.5-.2-4.6-1-4.5-2 .1-.8 2.4-1.2 5-1s4.7.9 4.5 1.8m-77.5 2.8c.2.7 2.5.8 5 0 2.6-.5 4.5-1.4 4.2-2-.3-.8-2.5-.8-5-.2-2.6.6-4.4 1.5-4.2 2.2m18.5-3.2c.1.8 2.4 1.3 5 1.1s4.7-1 4.5-1.9c0-.7-2.3-1.3-5-1.1-2.5.2-4.6 1-4.5 1.9"/> + </g> + <path fill="#012169" d="M0 0h320v240H0Z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0Z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5Zm-92 10 3 17.5-96 72H0ZM320 0v1.5l-124.5 94 1-22L295 0ZM0 0l119.5 88h-30L0 21Z"/> + <path fill="#fff" d="M120.5 0v240h80V0ZM0 80v80h320V80Z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0Z"/> +</svg> diff --git a/apps/web/public/flags/dj.svg b/apps/web/public/flags/dj.svg new file mode 100644 index 00000000..9b00a820 --- /dev/null +++ b/apps/web/public/flags/dj.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-dj" viewBox="0 0 640 480"> + <defs> + <clipPath id="dj-a"> + <path fill-opacity=".7" d="M-40 0h682.7v512H-40z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#dj-a)" transform="translate(37.5)scale(.94)"> + <path fill="#0c0" d="M-40 0h768v512H-40z"/> + <path fill="#69f" d="M-40 0h768v256H-40z"/> + <path fill="#fffefe" d="m-40 0 382.7 255.7L-40 511z"/> + <path fill="red" d="M119.8 292 89 270l-30.7 22.4L69.7 256l-30.6-22.5 37.9-.3 11.7-36.3 12 36.2h37.9l-30.5 22.7 11.7 36.4z"/> + </g> +</svg> diff --git a/apps/web/public/flags/dk.svg b/apps/web/public/flags/dk.svg new file mode 100644 index 00000000..563277f8 --- /dev/null +++ b/apps/web/public/flags/dk.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-dk" viewBox="0 0 640 480"> + <path fill="#c8102e" d="M0 0h640.1v480H0z"/> + <path fill="#fff" d="M205.7 0h68.6v480h-68.6z"/> + <path fill="#fff" d="M0 205.7h640.1v68.6H0z"/> +</svg> diff --git a/apps/web/public/flags/dm.svg b/apps/web/public/flags/dm.svg new file mode 100644 index 00000000..5aa9cea5 --- /dev/null +++ b/apps/web/public/flags/dm.svg @@ -0,0 +1,152 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-dm" viewBox="0 0 640 480"> + <defs> + <clipPath id="dm-a"> + <path fill-opacity=".7" d="M-85 0h682.7v512H-85z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#dm-a)" transform="translate(79.7)scale(.94)"> + <path fill="#108c00" d="M-258.3 0H769.2v512H-258.3z"/> + <path fill="#ffd600" d="M-260 178.2H772.6v50.1H-260z"/> + <path fill="#ffd600" d="M181 0h48.5v512h-48.4z"/> + <path fill="#000001" d="M227.8 0h48.4v512h-48.4z"/> + <path fill="#000001" d="M-260 226.6H772.6v50.2H-260z"/> + <path fill="#fff" d="M-260 276.8H772.6v50.1H-260z"/> + <path fill="#fff" d="M276.2 0h48.5v512h-48.5z"/> + <rect width="273.8" height="275" x="-394.6" y="-393.9" fill="#e72910" ry="137.5" transform="scale(-1)"/> + <g stroke-width="1pt"> + <path d="m250.5 137 5.6-16 5.1 15.7s17.1.5 17.1.2-13.5 10.3-13.5 10.3l6.1 17.6c-.2-.5-14.8-10.9-14.8-10.9s-14.8 10.4-14.5 10.4 5.6-17 5.6-17l-13.3-10.1 16.6-.3z"/> + <path fill="#ffe700" d="M251.3 137.7 256 124l4.4 13.6s14.9.4 14.9.2-11.7 9-11.7 9l5.2 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 5-14.8 5-14.8l-11.6-8.8 14.4-.2z"/> + <path fill="#108c00" d="m253.3 140 2.8-8 2.6 7.9s8.5.2 8.5 0-6.7 5.2-6.7 5.2l3 8.8c-.1-.3-7.4-5.4-7.4-5.4l-7.2 5.2c.2 0 2.8-8.5 2.8-8.5l-6.6-5z"/> + </g> + <g stroke-width="1pt"> + <path d="m356.9 211.8 5.6-16 5 15.7s17.2.6 17.2.3-13.5 10.3-13.5 10.3l6 17.6c-.2-.5-14.7-10.9-14.7-10.9s-14.8 10.4-14.5 10.4 5.6-17 5.6-17L340.3 212l16.6-.3z"/> + <path fill="#ffe700" d="m357.6 212.6 4.9-13.9 4.4 13.7s14.8.4 14.8.2-11.7 9-11.7 9l5.3 15.1c-.2-.4-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 4.9-14.8 4.9-14.8l-11.5-8.7z"/> + <path fill="#108c00" d="m359.7 214.9 2.8-8 2.5 7.8 8.6.2-6.8 5.1s3.2 9 3 8.8c0-.3-7.3-5.4-7.3-5.4l-7.3 5.1 2.8-8.5-6.6-5z"/> + </g> + <g stroke-width="1pt"> + <path d="m325.9 330.6 5.6-16 5 15.8s17.2.5 17.2.3-13.5 10.3-13.5 10.3l6 17.5c-.2-.5-14.7-10.8-14.7-10.8S316.7 358 316.9 358s5.7-17 5.7-17l-13.3-10z"/> + <path fill="#ffe700" d="m326.6 331.4 4.9-13.8 4.4 13.6s14.8.5 14.8.2-11.7 9-11.7 9l5.3 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 4.9-14.8 4.9-14.8l-11.5-8.7z"/> + <path fill="#108c00" d="m328.7 333.7 2.8-8 2.5 7.9s8.6.3 8.6.1-6.8 5.2-6.8 5.2l3 8.7c0-.2-7.3-5.4-7.3-5.4l-7.3 5.2 2.8-8.5-6.6-5z"/> + </g> + <g stroke-width="1pt"> + <path d="m177.2 330.6 5.6-16 5 15.8s17.1.5 17.1.3-13.5 10.3-13.5 10.3l6.2 17.5c-.3-.5-14.8-10.8-14.8-10.8S168 358 168.2 358s5.7-17 5.7-17l-13.3-10z"/> + <path fill="#ffe700" d="m178 331.4 4.8-13.8 4.4 13.6s14.8.5 14.8.2-11.7 9-11.7 9l5.3 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 4.9-14.8 4.9-14.8l-11.5-8.7z"/> + <path fill="#108c00" d="m180 333.7 2.8-8 2.5 7.9s8.6.3 8.6.1-6.8 5.2-6.8 5.2l3 8.7c0-.2-7.3-5.4-7.3-5.4l-7.3 5.2 2.8-8.5-6.6-5z"/> + </g> + <g stroke-width="1pt"> + <path d="m150 208.7 5.6-16 5.1 15.8s17.1.5 17.1.2-13.5 10.4-13.5 10.4l6.1 17.5c-.3-.5-14.8-10.8-14.8-10.8S140.8 236 141.1 236s5.6-17 5.6-17l-13.3-10z"/> + <path fill="#ffe700" d="m150.8 209.5 4.8-13.8 4.5 13.6s14.7.5 14.7.2-11.7 9-11.7 9l5.3 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.5 9 4.8-14.8 4.8-14.8l-11.5-8.7z"/> + <path fill="#108c00" d="m152.8 211.8 2.8-8 2.6 7.9 8.5.1-6.7 5.2 3 8.7c-.1-.2-7.4-5.4-7.4-5.4l-7.2 5.2c.2 0 2.8-8.5 2.8-8.5l-6.6-5z"/> + </g> + <g stroke-width="1pt"> + <path d="m324.6 174.1-5.6 16-5-15.7s-17.2-.5-17.2-.3 13.5-10.3 13.5-10.3l-6-17.5c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.5-10.3-5.6 17-5.6 17l13.3 10z"/> + <path fill="#ffe700" d="M323.9 173.3c0 .3-5 13.9-5 13.9l-4.3-13.6s-14.8-.5-14.8-.3 11.7-8.9 11.7-8.9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.7z"/> + <path fill="#108c00" d="m321.8 171-2.8 8-2.5-7.8s-8.6-.3-8.6-.1 6.8-5.2 6.8-5.2l-3-8.7c0 .2 7.3 5.4 7.3 5.4l7.3-5.2c-.2 0-2.9 8.5-2.9 8.5l6.7 5-8.3.2z"/> + </g> + <g stroke-width="1pt"> + <path d="m367.3 290.3-5.6 16-5-15.8s-17.2-.5-17.2-.2S353 280 353 280l-6-17.6c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.5-10.3-5.6 17-5.6 17L384 290z"/> + <path fill="#ffe700" d="m366.6 289.5-4.9 13.8-4.4-13.6s-14.8-.4-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.8z"/> + <path fill="#108c00" d="m364.5 287.2-2.8 8-2.5-7.9s-8.6-.2-8.6 0 6.8-5.2 6.8-5.2l-3-8.8c0 .3 7.3 5.4 7.3 5.4l7.3-5.2c-.2 0-2.9 8.6-2.9 8.6l6.7 5z"/> + </g> + <g stroke-width="1pt"> + <path d="m261.4 375.3-5.6 16-5-15.8s-17.2-.5-17.2-.3 13.5-10.3 13.5-10.3l-6-17.5c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.5-10.3-5.6 17-5.6 17L278 375z"/> + <path fill="#ffe700" d="m260.7 374.4-4.9 14-4.4-13.7s-14.8-.5-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.7-14.3.3z"/> + <path fill="#108c00" d="m258.6 372.2-2.8 8-2.5-7.9s-8.6-.3-8.6-.1 6.8-5.2 6.8-5.2l-3-8.7c0 .2 7.3 5.4 7.3 5.4l7.3-5.2-2.8 8.5 6.6 5z"/> + </g> + <g stroke-width="1pt"> + <path d="m162 290.3-5.7 16-5-15.8s-17.2-.5-17.2-.2 13.5-10.3 13.5-10.3l-6-17.6c.2.5 14.7 10.8 14.7 10.8L171 263l-5.7 17 13.3 10.1-16.6.3z"/> + <path fill="#ffe700" d="m161.2 289.5-4.9 13.8-4.4-13.6s-14.8-.4-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.8z"/> + <path fill="#108c00" d="m159.1 287.2-2.8 8-2.5-7.9s-8.6-.2-8.6 0 6.8-5.2 6.8-5.2l-3-8.8c0 .3 7.3 5.4 7.3 5.4l7.3-5.2-2.8 8.6 6.6 5z"/> + </g> + <g stroke-width="1pt"> + <path d="m198.7 175.8-5.6 16-5.2-15.7s-17-.5-17-.3 13.5-10.3 13.5-10.3l-6.1-17.5c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.6-10.3-5.6 17-5.6 17l13.2 10z"/> + <path fill="#ffe700" d="m197.9 175-4.9 14-4.4-13.7s-14.8-.5-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.8 14.8-4.8 14.8l11.4 8.7-14.3.3z"/> + <path fill="#108c00" d="m195.8 172.8-2.8 8-2.5-7.9s-8.5-.3-8.5-.1 6.7-5.2 6.7-5.2l-3-8.7c0 .2 7.3 5.4 7.3 5.4l7.3-5.2-2.8 8.5 6.6 5z"/> + </g> + <g transform="translate(-250.6 359.4)scale(1.04)"> + <g fill="#009200" stroke="#000" stroke-width="2.5" transform="matrix(.16 -.02 0 .18 429.8 -215.6)"> + <ellipse cx="680.2" cy="586.1" rx="30.8" ry="189.8" transform="matrix(1.4 0 0 1 -534.3 263.7)"/> + <ellipse cx="680.2" cy="586.1" rx="30.8" ry="189.8" transform="matrix(1.5 0 0 1 -547.2 267)"/> + <ellipse cx="680.2" cy="586.1" rx="30.8" ry="189.8" transform="matrix(1.2 0 0 1.1 -365 214.1)"/> + </g> + <g stroke="#000" transform="translate(72.9 -9.8)"> + <path fill="#a95600" stroke-width=".5" d="M388.5-53c6-.3 3.4-3.3 6.4-5 3-1.6 7.3-.6 8.6 1.4s.3 4 2 4 47-2.5 48.6-.9 2 5 .3 6.3c-1.6 1.4-58.9 3-60.9 1.6s-5-7-5-7.4z"/> + <path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.15 0 0 .1 340.4 -81.7)"/> + <path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.15 0 0 .1 344.4 -81.6)"/> + <path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.15 0 0 .1 348.7 -81.8)"/> + <path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.15 0 0 .1 352.7 -81.8)"/> + <ellipse cx="478.4" cy="-41.1" fill="#a95600" stroke-width=".4" rx="3.5" ry="3.4" transform="matrix(1.1 .02 -.02 1.15 -75.6 4.7)"/> + </g> + <g fill="#009200" stroke="#000" stroke-width="2.5" transform="rotate(-5.8 688.4 -625.2)"> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 369.8 -361.6)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 364 -362.7)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 360.6 -370.6)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .35 369.3 -399.4)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 377.4 -379)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 373.2 -382.2)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 368 -386.7)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 363 -389.5)"/> + </g> + <path fill="#804bff" stroke="#000" stroke-width=".5" d="M482.6-141s-11.7 10-10.1 36.9c1.8 27 26.5 39.5 26.5 39.5s6.2-7.7 5.2-29.5c-2-31.8-13.8-45.7-13.8-45.7l-7.8-1.3z"/> + <g fill="#009200" stroke="#000" stroke-width="2.5" transform="rotate(4.5 181 769.9)"> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 369.8 -361.6)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 364 -362.7)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 360.6 -370.6)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .35 369.3 -399.4)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 377.4 -379)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 373.2 -382.2)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 368 -386.7)"/> + <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 363 -389.5)"/> + </g> + <ellipse cx="624.4" cy="606.1" fill="#c90000" stroke="#000" stroke-width="1pt" rx="58.3" ry="186.5" transform="matrix(.16 -.06 .06 .15 369.6 -145)"/> + <g fill="#009200" stroke="#000" transform="rotate(1 242.4 -1957.8)"> + <ellipse cx="218.1" cy="356.8" stroke-width="1.5" rx="10.8" ry="12.9" transform="matrix(.4 0 0 .3 445 -230.5)"/> + <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 457.2 -236)"/> + <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 452 -236)"/> + <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.37 0 0 .27 449.5 -233.5)"/> + <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.37 0 0 .27 449 -238)"/> + <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 447 -238.8)"/> + <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 448 -241.6)"/> + <ellipse cx="218.1" cy="356.8" stroke-width="1.5" rx="10.8" ry="12.9" transform="matrix(.4 0 0 .3 432.8 -243.5)"/> + <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.37 0 0 .27 446 -243.5)"/> + <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 444.2 -247)"/> + <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 436.1 -243.2)"/> + <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 437.4 -243.9)"/> + <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 439 -247)"/> + </g> + <g fill="#009200" stroke="#000" transform="matrix(.18 0 0 .2 421 -216.8)"> + <ellipse cx="528.7" cy="564.5" stroke-width="2.5" rx="67.4" ry="205.6" transform="matrix(.98 -.3 .36 .87 -245.8 324.4)"/> + <ellipse cx="528.7" cy="646.1" stroke-width="2.5" rx="13.3" ry="40.8" transform="rotate(-23.4 630.5 660.9)"/> + <path stroke-width="1.5" d="M139.9 644c0 57.7-18.8 86.2-34.6 110.3 7.5-32.5 13-52.6 13-110.3s29.5-85.3 40.3-102c-4.2 16.7-18.7 44.3-18.7 102z" transform="matrix(1.88 -.46 .95 1.18 -352.3 -10)"/> + <path stroke-width="1.5" d="M139.9 644c0 57.7-18.8 86.2-34.6 110.3 7.5-32.5 13-52.6 13-110.3s29.5-85.3 40.3-102c-4.2 16.7-18.7 44.3-18.7 102z" transform="matrix(1.88 -.46 .95 1.18 -348.4 44)"/> + <path stroke-width="1.5" d="M139.9 644c0 57.7-18.8 86.2-34.6 110.3 7.5-32.5 13-52.6 13-110.3s29.5-85.3 40.3-102c-4.2 16.7-18.7 44.3-18.7 102z" transform="matrix(1.87 -.5 .98 1.16 -362 105.8)"/> + <ellipse cx="528.7" cy="646.1" stroke-width="1.4" rx="13.3" ry="40.8" transform="matrix(1.8 -.4 .7 1.64 -915.6 -221)"/> + <ellipse cx="528.7" cy="646.1" stroke-width="1.6" rx="13.3" ry="40.8" transform="matrix(1.63 -.23 .54 1.35 -739.5 -91.8)"/> + <ellipse cx="528.7" cy="646.1" stroke-width="1.6" rx="13.3" ry="40.8" transform="matrix(1.63 -.2 .5 1.36 -750.6 -91.8)"/> + <ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.3 -.2 .47 1 -531 47.6)"/> + <ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.33 -.13 .4 1.03 -517.9 12.2)"/> + <path stroke-width="2.1" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(1.03 -.5 .46 1.18 12.8 -14.5)"/> + <ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.33 -.13 .4 1.03 -519.5 -34.4)"/> + <ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.33 -.1 .38 1.04 -534 -40.1)"/> + <path stroke-width="2.9" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.67 -.47 .46 .8 39.5 143.3)"/> + <path stroke-width="2.9" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.67 -.47 .46 .8 51.1 125.8)"/> + <path stroke-width="2.1" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.94 -.64 .64 1.1 -40.2 -10.7)"/> + <path stroke-width="2.7" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.67 -.52 .46 .88 68.6 71.2)"/> + </g> + <g fill="#804bff" stroke="#000" stroke-width="2.5"> + <path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.16 0 0 .22 458 -214.3)"/> + <path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.16 0 0 .22 456.6 -220.2)"/> + <path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.16 0 0 .22 454.8 -225.8)"/> + <path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.16 0 0 .22 450.9 -232.2)"/> + </g> + <g transform="rotate(1 -589.6 681.6)"> + <path fill="#804bff" stroke="#000" stroke-width="2.5" d="M211.2 247.3c21.7-12 56.6-9.8 79.7 11.2 19.4 17 45.3 75.2 70.3 92.8a58 58 0 0 1-42.2-15.2c-28.8 15.5-38.1 16.7-64 15.7-35.8-1.4-62.4-17.7-68-40.6-6.3-21.8 4.8-52.5 24.2-63.9z" transform="matrix(.2 -.04 .05 .18 407.8 -213.6)"/> + <ellipse cx="287.2" cy="323" fill="red" stroke="#000" stroke-width="2.5" rx="14.2" ry="15" transform="matrix(.25 0 0 .13 401.8 -215.2)"/> + <ellipse cx="204.6" cy="348.3" fill="#ff0" stroke="#000" stroke-width="2.5" rx="23.3" ry="15.9" transform="matrix(.2 -.08 .07 .17 398.7 -208)"/> + <circle cx="283.9" cy="333.9" r="5.8" transform="matrix(.2 0 0 .2 411.3 -233.7)"/> + <path fill="#ff0" stroke="#000" stroke-width="6.6" d="M516.8 260.3c4.4 18-6.7 43-33.1 52.6-26.8 13.2-46.1 41.8-55.7 88-47.2-103.2-23-148.3 20.6-160.3 37.4-14.4 60.4-13.4 68.2 19.7z" transform="matrix(.1 0 0 .08 417.9 -191.5)"/> + <circle cx="199" cy="362.4" r="4.7" transform="matrix(.2 0 0 .2 418.7 -235)"/> + </g> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/do.svg b/apps/web/public/flags/do.svg new file mode 100644 index 00000000..6de2b268 --- /dev/null +++ b/apps/web/public/flags/do.svg @@ -0,0 +1,121 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-do" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0Z"/> + <path fill="#002d62" d="M0 0h272v192H0Zm368 288h272v192H368Z"/> + <path fill="#ce1126" d="M0 288h272v192H0ZM368 0h272v192H368Z"/> + <path fill="#201b18" d="M307.4 196.6a35 35 0 0 0-19 4.9c-2.6 1.6-3.2 2.1-1.8 4.7l-3.3 1.1a38 38 0 0 0-6 2.7c-1.2.7-1.6 1.2-2.5 2.1l5.3-.4-.7 1.2q-1.3 1.8-2.3 3.7 2.1-1.5 4.6-2.8c3.8-2 10.7-2 13.5-5.4.7-.9.3-1.4-.3-2.8 2-.6 2.9-1.1 5.4-1.7 6.1-1.4 10.3.3 13.3-.5q1.6-.2 1.9-1.7l-.5-3h10c0 1.7-1.7 4 1.4 4.7 2.8.8 8.4-.8 13.3.5l5.4 1.8-.5 1.3q-.4.8.2 1.4.8 1 2 1.6a22 22 0 0 0 5.6 2c5.7 1.3 6.2 1.7 10.5 4.6-.3-.9-2.3-3.9-3-5l5.3.5c-1-1.4-3.7-2.9-5.3-3.5l-6.5-2.4q1-1.5.5-3a24 24 0 0 0-7.7-4.3l-7-1.6-6.8-.7c-.3-.3.6-2-.8-3.3q-1.3-.9-3.3-1c-5-.5-11.6-.3-16.6 0q-2.2 0-3.3 1c-1 1-1.1 1.5-1 3.3"/> + <g fill="#002d62"> + <path d="M308.7 200.1c.8-.6.9-.8 2-1.2 2.6-.9 6.6-.8 9.3-.8q3.3 0 6.5.2c3.2.2 3.4.5 4.9 1.7q.5-2.1.6-4.5c.1-1.8-1-2.3-2.5-2.6-2.6-.6-7-.5-10-.5a63 63 0 0 0-9.7.6c-1.2.4-2.2 1.4-2 3 0 .9.6 3.6 1 4.1z"/> + <path d="M289.4 208.7c.4-.4.1-.8 2.2-2a35 35 0 0 1 9.3-3.4q4-.7 8-.3 2 .3 4 .1s1.3-.3 1.7-.6c.4-.4.4-1.4.4-1.4-.9-.7-3.4 1.8-5.6 1-.7-.2-1-1.4-1.2-2.3l-.8-2.7a35 35 0 0 0-15 2.8c-1.8.8-4.6 2.2-5.7 3.3-1 1 0 2.4.6 3.1.6.9 1.6 2 2 2.4zm35.6-7.6c-.2 1.4.8 1.8 2.1 2 2.7.4 6.7-.8 12 .2a35 35 0 0 1 6.4 2c.8.4 3.6 1.6 4.1 2.2l1 1.2c.3-.1 1.8-2 2.1-2.4.7-.7 1.5-2 .6-3.1a25 25 0 0 0-5.7-3.3 39 39 0 0 0-7.8-2.1c-2.5-.4-7.6-.8-7.6-.8s-.3 4.7-1.6 5.1c-2.5.8-3.8-1.4-5.6-1"/> + <path d="M345 207c-.2.6-.5.7.9 1.8 3 2.6 8.4 2.7 11.6 4.1 1.7.8 2.6 1.4 4.1 2.3-.1-.5-2-3.2-2.5-4l4.9.2-.2-.2c-2.2-1.9-7.9-3.7-10.7-4.6l-2.5 2.8q-.4.6-1.3.4-1.2-.6-2-1.5c-.6-.5-1.6-1.3-2.3-1.4zm-20-6.4c1.7.1 1.9.4 3 1l1.8.2c.9 0 1-.2 1.2-.9.3-1-1.3-1.6-2-1.7l-3.5-.6zm-10 0-.4-2c-1 0-6 .8-5.6 2.3q.1.9 1 1c2.2.1 2.6-1.2 5-1.3m-25.2 8.4c.7 1.3 2.6-1 3.7-1.8.6-.5.7-.4 1.4-.7l-.4-.7-2.7 1.3c-.8.5-1.8 1-2 2z"/> + <path d="M345.1 206.5q.4 0 .8.3c1.6.9 3.5 3.3 4.3 2.4.4-.5-1.3-1.7-1.8-2l-2.8-1.3zm-50.2.5c.2.7.5.8-.8 1.9-3.2 2.5-8.4 2.7-11.7 4.1-1.7.7-2.6 1.3-4 2.2 0-.4 2-3.2 2.5-4l-5 .3.3-.2c2.2-2 7.8-3.7 10.6-4.7l.9 1 1.6 1.9q.4.5 1.3.3c.9-.2 1.6-1 2-1.4.6-.5 1.6-1.4 2.3-1.4"/> + </g> + <path fill="#eac102" d="M295.7 199.8q-.7 0-1.3.3c-.1 0-.5.2-.2.3l.3.6.3.9.5 1.4q0 .3.2.3l.8-.3q.5-.1.8-.7l.2-.5v-.4l-.2-.6-.4-.8q-.3-.3-.7-.4zm-.2.3q.4 0 .6.5l.4.7.2 1.3q-.1.3-.5.5-.3 0-.4-.3l-.2-.6-.4-1-.2-.8q0-.3.4-.3zm1.7-.9.3.3.2.6.1.5.2.7.2.6v.6s0 .2.1 0h.5q.2 0 .3-.2l-.2-.3-.2-.8-.2-.5-.1-.4-.3-.9v-.3q0-.2-.3 0zm3-.8q-.5 0-.8.3l-.3.9v.8l.6 1.2.7.4h.6q.5-.2.7-.7l.1-.8v-.7l-.4-.7-.5-.5zm0 .2q.3 0 .5.6l.4 1.2.1.5v.7q-.3.3-.7.1l-.4-.5-.2-.8-.1-.6q-.2-.4 0-1zm2.3-.5-.3.5.1.7.4.4.9.5q.4 0 .4.4v.5q0 .3-.4.2l-.4-.2-.4-.6-.2.1v.6l.4.2.5.2.6-.2q.3 0 .4-.4v-.7a1 1 0 0 0-.6-.8l-.6-.3-.6-.5q0-.4.2-.5h.6l.3.5q.1.2.1 0v-.6l-.6-.2-.6.1zm11.2-4.4-.9.2-.4.1.2.4v1.5l.1.8v.6q-.2.2.2.1h.6v-.3l-.1-.6v-.6l.6-.1q.7-.2.9-.8a1 1 0 0 0-.4-1zm0 .3q.4 0 .4.5v.5q0 .5-.5.6-.2 0-.3-.2v-.6q-.2-.4 0-.7h.3zm2.6-.4q-.4 0-.3.3l-.2.7-.2 1-.3 1.2v.3h.5v-.8s0-.2.1-.1h.8v.6q0 .2.2.3h.7q.2-.2-.1-.4l-.2-.7-.3-.9-.1-.5-.3-1zm-.2.8.4 1.3q.1.2-.2.2-.3.1-.5-.1l.1-.5.2-.7zm3-1h-1.3v.5l-.1.4.3-.3q.1-.2.4-.2h.3v2.9l-.1.2h.9q.2 0 0-.1v-3q0-.2.3 0h.2l.2.4h.2l-.1-.5q0-.2-.2-.3zm2.8 0h-.8s-.2 0-.1.1q.2.2.1.5v2.5l-.2.4h1l-.1-.3v-1.2q.3 0 .3.3l.2.5q0 .3.3.5.3 0 .5.3l.3.1-.2-.3-.3-.8-.2-.5q0-.2.2-.2l.5-.4v-.6l-.2-.5-.4-.3-.6-.1zm.3.2q.3 0 .4.3l.2.4v.4q-.2.3-.5.4h-.5v-1.3q0-.2.4-.2m2.2.4v1.2l-.1 1.4-.2.4s0 .1 0 0l.4.1h.5q.1 0 0-.2v-2.7l.2-.4v-.2h-1zm2.5-.2-.3.9-.1.5-.3.8q-.1.7-.4 1-.2.2 0 .2h.5q.2 0 0 0v-.6q0-.3.3-.2h.6l.1.6q-.1.4 0 .4h.7s.2 0 0 0l-.1-1-.2-1-.1-.9-.1-.5s0-.2-.2-.1h-.4zm0 .8.2.6v.8c.2.3-.2.1-.3.1q-.4 0-.3-.2l.1-.4.2-.5zm6.5 3.5.1.4v3.2h1.9v-.8q-.3.5-.7.5h-.5v-2.9l.1-.4zm2.3 3.6h1l-.2-.4v-2.9l.2-.3h-1c0 .2.2 0 .2.3v2.9zm1.5-3.7.1.4v1.2l-.1 1.4-.1.5s-.2.1 0 .1l1.1.2q.5 0 .8-.2.6-.4.4-1 0-.2-.3-.5l-.4-.3.7-.5q0-.5-.2-.8l-.2-.2-.5-.1zm.8.4.6.1q.3.4 0 1l-.2.1h-.5v-.8zm-.2 1.5q.5 0 .8.3l.1.7q0 .6-.6.6-.3 0-.3-.3zm1.8 2 .3.2.9.2.8.1.2-.5q0-.3-.2-.1a1 1 0 0 1-.9.1q-.3 0-.3-.4l.2-1.2.4.1q.3 0 .4.4l.1-.3v-.7c-.1 0-.2.4-.4.2q-.4 0-.4-.2l.1-.8q.5-.1.9.3l.3.3v-.7l-.5-.2-1.3-.3c-.3 0 0 .2 0 .3l-.2 1.7-.2 1.2zm3-2.8v.6l-.3 1.6-.2 1c0 .1-.4.2-.1.3l.7.2v-.3l.2-.7.1-.4q.2.1.2.4 0 .6.3 1.1l.6.5-.2-.5v-1.4l.5-.2q.3-.5.2-1l-.6-.8-1.2-.4zm.8.4.6.4q.1.6-.1 1.1-.3.3-.6.1-.4 0-.3-.2l.2-1zm1.5 1.2.5-.2s.3-.1.4 0v.4l-.1.7-.4 1.6-.3.4q0 .2.3.2l.6.2v-.4l.2-1.2.4-1.6q.3 0 .5.3l.2.5v-.4l.1-.4-.8-.3-.6-.3-.7-.2zv.1m3.4.7q-.2 0-.3.4 0 .3-.3.5l-.9 1.4-.4.4q-.1.2.2.3l.4.1q-.2-.2 0-.5 0-.3.3-.3l.6.4v.5q-.2.1-.2.4l.5.3s.3.2.2 0v-.8l.1-.5v-.8l.2-1.2v-.4zm-.3.7s.1.1 0 .2v1.3q-.1.1-.4 0t-.2-.4l.4-.6zm2.2.5-.1.6-.4.6-.4.7-.5 1h-.2l.5.5.6.6q.6.4 1.1.1l.5-.5.3-.6v-1q0-.7-.5-1.2l-.6-.6zm.6.9q.5.3.4.8 0 .8-.5 1.4-.3.5-.7.6t-.6-.3l.2-.6.8-1.4q0-.3.3-.5z"/> + <path fill="#006300" d="m308.8 279.2 2.5 1 1.8 3.4c.7.5.6.4 1.3.6l-4.3 1.8c-1.2.4-.7 1.5-.1 1.7s2-.3 2.4-.5q3-1.4 6-3.3c.3-.2 1.7-1.1 2-1l7.6 4.2c.6.3 1.7 1 2.3.6q.6-.4.5-1-.2-.7-.8-.7l-4.1-1.8.9-.3c.3-.2-.2-.7.2-.6l1.9-3.1 2.3-.9c0-2.1-17.8-3.5-22.4-.1"/> + <path fill="#ff0" d="M310 286.5c-.6.2-.5 1.4.8 1 .9-.3.2-1.3-.8-1m19 0q-.5.6.2 1 .6.2 1-.2c.5-.4.1-.6-.2-.8s-.1-.2-.4 0z"/> + <path fill="#006300" stroke="olive" stroke-width=".2" d="M345.8 216v.3c1.7 3.2 1 1.7 2.4 5.9l-.8-1.1-2-3-.4-.6c-.2.3.4 2 .6 2.5.5 2 2.1 4.4 3.3 6.3l-.9-.7c-1-.8-.7-.6-1.3-1.7l-1.4-3-.8-2.2-.2.2v.9l.6 3.6c-.8-.3-.6-.4-1.3-1-.2 0-.4-.6-.6-.6l-.7-.8c-.1.4 1 2.4 1.2 2.6.4.6 1.8 1.6 2 2a14 14 0 0 0 2.1 3.7l.9 1.1-1.9-1.8-3.4-3c0 .4.6.8.9 1l2.3 2.6 2.2 2.8 1.5 2.5-.8-1.1-2.3-2.8q-1.2-1.3-2.6-2.4l-2-1.4c0 .3 1.9 2.7 3.2 3.4l1.2 1.3 1.2 1.3 1.9 3 .9 1.5c-.7-.2-4-4-4.7-4.7s-1-1-1.8-1.5c0 .4 2.3 3 2.8 3.5l.5.6 1 1.1c.6.8 1.8 2.2 2.2 3l.7 1.4-1.5-2-.9-1c-.7-.8-1.9-2.2-2.8-2.8l-2.2-1.3c-.1.2.4.6.6.8l.9.8a22 22 0 0 1 3.1 3.4q.9.8 1.4 2l-.7-.7-.7-.7-1.6-1.2-3.6-1.8c0 .3 1.3 1 1.6 1.2.7.5 2 1.2 2.5 1.9l.7.7q.8.7 1.3 1.6l1.2 1.7 1 2 1.3 4.5-1.7-4.6c-.4-1-1.4-3.8-2.8-3.3q-.7.4-1 1.2c-.3.7-.8-.2-2 2a18 18 0 0 0-1.2 4.3v.7c.3-.1.5-.9.6-1.2.5-1.4 1-2.3 1.9-3.6l-1.1 4.9q.5-.3.6-1l1.4-3.7c1.6 1.1 2 7.2 2.3 9.3l-1.1-3-1.7-2.8c-1 .1-1 1.4-1.2 2.1q-.4-.8-1.3-1c-.5 0-.8.8-.9 1.4v2.2l.4 1.6.2.2.3-4.1c.6.3 1.8 3 1.6 4-.6 4-1 5.3-3.1 8.6l-1.2 1.7-.6.8-.7.8c1.1-2 1.6-2.7 2.4-4.9a24 24 0 0 0 1.2-5v-.9q-.4.1-.4.7c-1.8 5.7-2.1 6-5.1 11l.5-3.3q-.2 0-.3.6l-.2.6a18 18 0 0 1-1.6 3.6l.4-1.1.7-3.4v-.7c-.3 0-.4.6-.5 1l-1.4 3.3v-.3q.2-1.2.1-2.5v-.3q-.4.4-.5 1l-.3 1c-.7 1.9-1.5 3.1-2.5 5-.6-.1-.2 0 0 0l5.7 1.1c2.8-.1 4.6-.3 7.4 0 .4 0 2.1.3 2.4 0l-2.5-.9-2.7-.6 7.5-.2-.6-.4c-1.3-.5-4.6-.7-6-.8 2.5-.2 4.4-.4 6.8-.4.7-.2 2.9.5 2-.5-1-.6-3.8-.7-4.7-.6l4.4-.2c.7-.2 5.3.8 3.7-.2-1.3-.7-4-1.2-5.4-1.4q1.1-.8 2.3-1.3l5.3-1.7c2-.3 3.5-1.3.9-.9l-5 .8 1.3-.7q2-.8 4-1.3.3 0 .3-.2l-.2-.1h-.8a65 65 0 0 0 7-2q.5 0 .9-.2l-.2-.1-6.4.8-2 .3 5-2c.4 0 1.6-.2 1.8-.5q-.4-.2-1.1 0l-4.7 1.2-1.8.5c5.6-2.1 3.4-1.5 8.6-2.5q1 0 1.1-.4l-3-.2q-1.6 0-2.7.3l2.2-1.9c.6-.5.3-.7 1.4-.7h2c-.8-.9-1-.5-1.8-.9l1-1 .5-1q.2-.1 0-.2h-.3l-2.3 2c-.4.2-.3.2-.9.2l-3 .6 3-2.1 1.7-1c.5-.2 1.6-.6 1.7-.8l-3.6.9-3 1.5a46 46 0 0 1 5.8-5.2c.2-.1.8-.4.9-.7h-.3c-1 .2-3.2 1.7-4 2.1l-3.8 2.8 2.7-2.6.5-.5 1.1-1q1.2-.8 2.2-2l1.1-.9c.3-.2 1-.7 1-1l-4.4 2.7-2.1 1.5-2.1 1.6q1.3-2.2 2.9-4.1a46 46 0 0 1 4.7-4.4l1.2-1v-.2c-.4 0-1.6.9-1.9 1.1a39 39 0 0 0-4.7 4l-.7.8-2 2.4-2.4 3.6c.5-2.2 2-4 3.2-5.2l2.7-3 .4-.5a10 10 0 0 0 3-5.8l-1.3 1.8-.7.7-5.4 6.3c.2-.9 1.3-2.8 1.8-3.5a63 63 0 0 1 5.6-7.5l.3-.3q.1-.4.8-.9l1-.8c-.5-.5-2.4.6-2.7.9-2.4 1.6-4.1 3.9-5.9 6.1a26 26 0 0 1 2.4-5.7q.7-1.3 1.6-2.5l1.6-2.4q-.6.2-1 .8l-.5.4c-2 2.3-3.3 4.8-4.8 7.5.1-1.3 1.3-3.7 2-4.8l2.8-4.2c-.5-.1-2 1.6-2.3 2q-1 1.2-1.8 2.6a31 31 0 0 0-2.7 5.5l-.2.4c.1-1.8 2-6.1 2.7-7.6l1.6-2.2.5-.7 1.1-1.4 1.1-1.5c-.7-.2-3.2 2.6-3.7 3.2l-1.7 2.5c.3-1.4 1.3-3.3 2.1-4.5l2.1-2.7.7-1c-.8 0-4 3.7-4.7 4.5l-.7 1.1-1.1 1.7-.2.3-.2.3a37 37 0 0 1 1.4-5.3l2-4.5c-.5 0-1.6 1.4-1.9 1.8l-1.2 2.5c.1-1.2 1.8-5 2.4-6.5q-.4.2-.8 1l-2.3 3.8c.1-1.3 1-2.6 1.5-3.7-1 .4-2.8 4.2-3.2 5.3l-.5 1.6-.2.6q.1-4.2 1-8.5-.4 0-.5.6l-.3.7-.6 1.6-.8 3.4c-1.2-1.7-1.5-4.8-3.9-8.4-.7-1.1-1-1.2-2-2zm1.3 33.8c1 2.8 1.3 3.7 2 6.6l-.2.3-.4 1.2-.8-2.5c-.2-1 .2-2.8-.2-3.1-.2.5-.2.5-.2 1.4l-.5-1c-.5-1.6-.6-1.1-.2-2q0-.5.5-.9z"/> + <g fill="#008f4c"> + <path d="M354.4 245.1c.4-3.8 5-12.8 6.5-13 .2 0-1.6 2.5-2.8 5a57 57 0 0 0-3 7.3l-.7 2.6zm10.2-2.3s-.8.9-1.9 1.8a44 44 0 0 0-9.6 13.8c-2 5-1.5 3.7-.9 1.3a35 35 0 0 1 9.7-15.1c1.4-1.2 2.8-2.1 2.7-1.8m-11.8-8.6c0-3.4.4-4.6 2.4-8.8 1.2-2.7 1.7-3.5 1.9-3.3l-.3 1a50 50 0 0 0-3.4 11.7l-.4 1.7zm-5.6 19.4a20 20 0 0 1-1.4 8.8c-.7 1.8-3.5 6-4.2 6.4-.3 0-.2 0 .5-1a22 22 0 0 0 5-13.4q-.2-4 .1-.9z"/> + <path d="M355.8 250.3c.4 1.2.5 4 0 5.5a11 11 0 0 1-7.2 7.5l-1.3.3 1.2-.7a12 12 0 0 0 7.3-11q0-1.4-.2-1.6v-.8z"/> + <path d="m365.7 257.9-4.4.8-9.3 1.6-.1-.3a169 169 0 0 1 13.8-2.1m-18.5-39.7c1.5 1.8 1.8 2.6 2.6 5.7.5 2 .6 2.6.5 2.6l-.4-.7a34 34 0 0 0-3.2-7.7l-.6-1zm-1.6 2.2c.6 2.2 1.1 3 3.3 5.3q2 2 1.9 1.7 0-.2-.4-.6a34 34 0 0 1-4.6-6.9l-.6-1s0 .7.4 1.5m13.4 7c-2.4 2.2-6.3 9.2-5.7 10.3.1.1 1.1-1.5 2.2-3.6a48 48 0 0 1 3.4-5.8l1.4-2zm1 1.8c-2.6 2.4-6.9 10.2-6.3 11.4.1.2 1.2-1.6 2.4-4a54 54 0 0 1 3.9-6.4l1.5-2.1zm-15.2-7.1c.4 2.3.8 3 2.6 5.6q1.8 2.4 1.7 2l-.3-.6a34 34 0 0 1-3.7-7.5l-.5-1.1z"/> + <path d="m348.4 226.7 2.6.7q-.1-.3-.7-.4c-1.7-.5-6.4-2.6-6.5-3.4l-1-1.5s4 4 5.6 4.6m16.2 8.3c-3.6 2.5-10 11.2-9.5 12.8 0 .3 1.7-1.7 3.6-4.4a66 66 0 0 1 5.7-7.3l2.1-2.3s-1 .5-1.9 1.2m-.5 5.3c-1.6 3.2-7.7 9.3-9 9a15 15 0 0 1 3.1-3.3 52 52 0 0 0 5-5.4l1.6-2q0 .5-.7 1.7m-21.4 22c-.6 3.1-4.5 9.8-5.7 9.9-.1 0 .7-1.7 2-3.7a47 47 0 0 0 3-5.8l1-2zm10-18.9q-1.2-3.2-5-6.6c-2.4-2.2-3.2-2.5-1-.5a29 29 0 0 1 6.3 8.8s0-.8-.3-1.7m1.8 25.5c-2.8-.8-10-.7-10.5.1 0 .2 1.6.2 3.8.1a47 47 0 0 1 8 .3zm-3 1.2c-2.9-.7-10-.3-10.5.6h3.7a47 47 0 0 1 8.2-.1zm-3.2 1.6c-2.8-.7-10 0-10.5.8l3.8-.2a48 48 0 0 1 8.1-.2z"/> + <path d="M346.4 273.5c-2.3-1-8.6-1-9-.3-.2.2 1.3.3 3.2.2l5.2.3 1.8.3zm11.2-8.9c-6 1.7-13 2.7-13.4 4.1 0 .2 2.6-.2 5.2-1.2a56 56 0 0 1 7.5-2.4c1.5-.3 2.7-.6 2.7-.8 0 0-1 .4-2 .3m7.6-3.7-5.2 1-8 1.5c-2.4.5-2.9.6-3 .3l-.2-.3a198 198 0 0 1 16.4-2.5m-1.8-1.5-4.3 1.2-9 2.5-.2-.2a169 169 0 0 1 13.5-3.5"/> + <path d="M362 252.4c-4.1 1.7-12.2 8.8-12 10.5 0 .3 2-1.3 4.4-3.6a64 64 0 0 1 7-5.8l2.6-1.8z"/> + <path d="M365 254.4c-4 .3-13.3 4.4-13.5 6 0 .3 2.1-.5 4.9-2a56 56 0 0 1 7.8-3.2l2.8-.8z"/> + <path d="M364.8 254.8c-10.3 8.7-16.1 13-18.2 12-.3 0 3.8-2.4 7.3-4.7a78 78 0 0 0 9.4-7l3-2.7zm-11 2.8c2-3.4 3-4.4 7.5-7.2 2.9-1.8 3.9-2.4 4-2l-1 .8a56 56 0 0 0-11.8 10.7zm1.1-9.8c.4-3.8 6.8-16.5 8.2-16.7.2 0-1.5 2.5-2.7 5a57 57 0 0 0-3 7.3l-2.8 7zm-2.7-14.6c-1.1-2.6-1.2-3.6-.4-7.2q.7-3.3 1-3v.9a29 29 0 0 0 .2 11s-.5-.8-.8-1.7m2 13.9a15 15 0 0 0-4.5-6c-2.2-2-2.9-2.3-.9-.4a26 26 0 0 1 4.9 6.6l.7 1.3zm-10 2.9c2-7.4 3.7-6.1 3.7-6.1 4.4 4.2 2.2 18.7 2.2 18.7 0-29.6-5.9-12.6-5.9-12.6"/> + <path d="M345.9 249.5c2-7.4 2.5-7 2.5-7 3.7.7 3.5 17 3.5 17-1.6-28-6-10-6-10m-2 5.7c0-5.3 1-4.5 1-4.5 3 2.7 4 13 4 13-4.6-20.8-5-8.5-5-8.5m9-15.5c-.8-2.9-3.6-5.8-6.4-9.5-3.5-3.2-4.6-3.7-1.5-.7 2 1.2 6 7 7.2 10.5q1 2 1.2 2c.2 0 0-1.1-.4-2.3z"/> + <path d="M352.7 237.2a18 18 0 0 0-5.2-7.4l-1.6-1.5A60 60 0 0 1 353 239c.1 0 0-.9-.3-1.8m-15 29.3c-.1 1.5-1.8 5.1-2.4 5.2l.8-2 1.7-4v.8zm-1.4.9c-.2 1.6-1.9 5.1-2.5 5.2l.8-1.9a24 24 0 0 0 1.8-4.1v.8zm2.2.1c-.2 1.6-1.9 5.2-2.5 5.2l.9-1.9a24 24 0 0 0 1.7-4.1z"/> + </g> + <path fill="#00873f" d="M284 227c0 .8.2 1 .6 1.5V227z"/> + <g fill="none" stroke="#006300" stroke-width=".6" transform="translate(-106.1 -20.4)scale(.85227)"> + <path d="m455.2 304-.9-.8m1.8-4.6-.8-1m-1.7 13.5c-.3-2.1-1.5-2.8-1.5-2.8m11.3 30c-5.4-6-7.1-16.7-7.1-16.7 1.7-4.6 4-5.6 4-5.6m-4 5.5c-1.8-7-1.3-14.2-1.3-14.2a71 71 0 0 1 3.4-16.8m-3.5 19.3c1.4-6.6 6.9-5.8 6.9-5.8"/> + <path d="M454.8 311c5-2 4.3-6.3 5.2-8 1.3-2.7 2.3-3.5 2.3-3.5m-2.6 32.9c-1.7-4.2.3-5 .3-5m-1 3.6c-2.1-2.7-4.8-2.5-4.8-2.5m3.9-10.3c1.3-2.4 0-4.8 0-4.8m.6 16.3-3.8-4.9m2.3-30.4c.5-2-1-2.9-1-2.9"/> + <g transform="translate(442 224.2)scale(.1567)"> + <path id="do-a" fill="red" stroke-width="2" d="M91.4 426a6 6 0 1 1-12 0 6 6 0 0 1 12 0z"/> + </g> + <use xlink:href="#do-a" width="100%" height="100%" transform="matrix(.1567 0 0 .18128 444.6 235.3)"/> + <use xlink:href="#do-a" width="100%" height="100%" transform="translate(443.7 248.3)scale(.1567)"/> + <use xlink:href="#do-a" width="100%" height="100%" transform="translate(440 252)scale(.16899)"/> + <use xlink:href="#do-a" width="100%" height="100%" transform="translate(438.7 256.2)scale(.16899)"/> + <use xlink:href="#do-a" width="100%" height="100%" transform="translate(440.3 257.8)scale(.16899)"/> + <use xlink:href="#do-a" width="100%" height="100%" transform="translate(463.2 286)scale(.12289)"/> + <use xlink:href="#do-a" width="100%" height="100%" transform="translate(464.3 287.3)scale(.12289)"/> + <path d="M458.8 316.6a2 2 0 0 0-1.1-1.2m14.7 24.1c1.6 1.2 2 .5 2 .5"/> + </g> + <g fill="#006300"> + <path d="M298.2 271.8c-.9-3-.7-3.6-.7-3.6m-6.5-1.7s-.5-1.2.4-1.9c.4-.4 2.5.8 3.6-3.9q0-.2-2.1.7v-.4s-.4-1-.2-2.3c0 0 .7-1.1.7-1.6 0 0-1.3-.5-4 2.9 0 0-.2-.7-2.1-2 0 0-1 3-.5 4.6.4 1.3.4 1.8 1.8 2.7 0 0 1 .5 1.2 2l1.2-.1zm-2 3.4q-.3.4-1.3.6c-3.3.4-5.2-4-5.2-4-.1-1 .3-.5 1-.2.9.3 1.2 0 2.2 0 1.4-.2 2.9 1.1 2.9 1.1.8.8 1 2.3 1 2.3zm-4-8c-3.4-1.5-5.5.2-5.5.2-.2.2.2.3.2.3 2.2.3 1.5.1 2.4 1.4 1.6 2.2 4.4 1.7 4.4 1.7.5.2 1.1.8 1.1.8-.2-1.9-2.5-4.4-2.5-4.4zm-6-14c-.7-.5-.6.4-.6.4-1.4-2.5-5.3-2.7-5.3-2.7l-.5-.3c-.6 0 .2 1.3.2 1.3 1.1 3.1 2.2 3.5 2.2 3.5-1.3.7-3.4-.9-3 .3 2.1 2.1 3.5 2.4 3.5 2.4 2.6.7 3.7 0 3.7 0q1 1.5 1 1.3c2.4.7 2.9 2 2.9 2 0-2.6-1-5.7-1-5.7a12 12 0 0 0-3.1-2.5"/> + <path d="M297.2 272.7c-1.3.4-1.4 1.3-1.4 1.3-1.2 1.7-5.6 0-5.6 0-1.4-.3-1-.7-1-.7l1.6-1a9 9 0 0 1-2.7-5c3.6-.7 4.7 0 4.7 0-.2-1.4-1.4-1.4-1.4-1.4-.3-.5.3-.5.3-.5a8 8 0 0 1 5 2.3c1.2 1.7.8 3.4.8 3.4.3 1.7-.3 1.6-.3 1.6M282.3 258c-1.8-.5-2.8 0-2.8 0-1 .4-2.6-.6-2.6-.6-2.2-1.9-2.6-3-2.6-3 0-.3 1.9-.3 1.9-.3 2.6 0 3.2.5 3.2.5 1.3.7 1.2 1.4 1.6 1.7l1.4 1q.5.9-.1.7m3.4 1c1.3-1.5 3-.5 3-.5 2.5.3 3.3-2.6 3.3-2.6l1-1.7c.1-.7-1.1-.1-1.1-.1-2.2.5-2.3.7-2.3.7l.4-3.4c0-.6-.6-.2-.6-.2-3.1 1.8-3.5 3.1-3.5 3.1l-1.3-2.4c-.4-1-.7.1-.7.1-.6 3-.3 3.2-.3 3.2.4 1.6.8 2 .8 2q.9 1.4.7 1.4z"/> + <path d="M304.2 267c-.5.1-1.8 2.2-1.8 2.2-1.6-3-3.7-3.4-3.7-3.4-.4.1 0 .8 0 .8.7 1.6 0 2.8 0 2.8q-.2 1.6 0 1.4c-2.5-1.3-2.6-1.1-2.6-1.1 0 1.6 1.8 4.5 1.8 4.5l4.5-1 1.5-.2c1.2-3.6.3-6 .3-6M284 250.8c1.6.7 1.7 1.8 1.7 1.8.4 1.3 4.1 1.7 4.1 1.7 3-.3 2.7-1 2.7-1-1.7-1.4-1.2-1.3-2-2-1.3-1.3-3-1.4-3-1.4-2.3.4-2.8 0-2.8 0-.9.4-.7.9-.7.9m-3.6-5.4c-.7-2.7 1.7-6 1.7-6 2 3.8 1.7 4.8 1.7 4.8a25 25 0 0 1-1.7 4.5c-.4-2-1.4-2.3-1.7-3.3"/> + <path d="M279 246.5c-2.5 0-5-2.9-5-2.9 3.9-1 4.7-.4 4.7-.4a23 23 0 0 1 3.6 2.5c-1.8 0-2.3.8-3.2.8z"/> + <path d="M277 242.8c-1.6.3-3-1.3-3-1.3-2.2-3-1.5-4-1.5-4l.4.3c.7.6 2 .8 2 .8-3.6-2.2-1.2-7.1-1.2-7.1.4-.5.6.7.6.7a5 5 0 0 0 1.8 2c.8 1 .8 1.4.8 1.4.3-1.6.8-1.2.8-1.2.4 1.3 1.9 2.3 2 3.2.6 2.5.2 2.8.2 2.8q-.4 2.3-.3 2.5c-1.4-.5-2.5 0-2.5 0zm8.4 6c.8-1.2 0-3.3 0-3.3-.3-2.3 3.1-4.5 3.1-4.5 1 1.9.9 3 .9 3l3.2-.8c.1 1.4-1.3 3.6-1.3 3.6 2.1.6 2.9-.4 2.9-.4-1 4.7-5.6 3.8-5.6 3.8a9 9 0 0 0-3.2-1.4"/> + <path d="M278.3 234.9c.3-2.9.8-3 .8-3 .3.1.4 1.4.8 1.6 1.8.8 1.8 2.8 1.8 2.8 0 2.3-.4 2-.4 2-2.5 0-3-3.4-3-3.4m8.3.6c.9-3.3.3-3.6.3-3.6-.3 0-1 1.3-1.6 1.4-2.3.1-3 2.3-3 2.3-1 2.5-.5 2.4-.5 2.4 2.8 1 4.5-1.4 4.8-2.5"/> + <path d="M278.4 229.5c.3-3.3 1-3.5 1-3.5.3.2.5 1.7 1 1.9 2 1 2 3.2 2 3.2 0 2.7-.4 2.5-.4 2.5-3 0-3.7-2.9-3.6-4zm9.4.8c1-3.2.4-3.5.4-3.5-.4 0-1.1 1.3-1.6 1.3a4 4 0 0 0-3.2 2.2c-.9 2.5-.4 2.5-.4 2.5 2.7 1 4.4-1.3 4.8-2.5m3.8 9c2.7-2 2.5-2.6 2.5-2.6-.3-.2-1.7.4-2.1.2-2-1.3-3.9 0-3.9 0-2.2 1.4-1.8 1.6-1.8 1.6 1.6 2.5 4.4 1.6 5.3.9z"/> + <path d="M291.5 241.1c2.6-1.1 2.5-1.6 2.5-1.6-.2-.3-1.5 0-1.8-.3-1.4-1.2-3.1-.6-3.1-.6-2.1.8-1.8 1-1.8 1 .9 2.2 3.3 2 4.2 1.5m-8.7-15.4c-1-3 2-7 2-7l1 3.4c2.4-2.5 4.6-2.9 4.6-2.9l-.1 2a7 7 0 0 0 2.3-.6c-.4 2.4-3.4 4.9-3.4 4.9-1.2.7-2.6.4-2.6.4-2.2.7-2.7 2.1-2.7 2.1-.2-1.3-.4 0-1.1-2.3m4.4 10c1.4-1.7 3.5-1 3.5-1 2 .2 3.7-1.8 3.7-1.8a6 6 0 0 1 1.4-1.8c0-.5-.6-.4-.6-.4l-1.1.3c.9-3.3.4-3.4.4-3.4l-.5.2c-.5 1.5-2.6 1.4-2.6 1.4-.1-2.2-.6-1.9-.6-1.9-.3.6-1 1-1 1-2.1 2-2.1 2.9-2.1 2.9.1 2.4-.5 4.6-.5 4.6z"/> + </g> + <g fill="#00863d"> + <path d="m286.8 247.7 1.4-1c.5-.3.3-.2.5-.7l.5-.7-.3.9 1.4-.8q-.1.4-.9.8l-1 .6-1.9 1.6c1.8-.4 1.4-.1 2.3-.2 1.9-.3 2.8-3 3.4-4.5a10 10 0 0 0-3.5 1.1c-1.2.8-1.2 1.6-1.9 3zm-4.8 6.7q-.1-.6-.6-1c-.5-1-.5-1.2-1.2-2.3l-.5-1c.2 0 .6.8.9 1v-1q.3 0 .2.6c0 1 0 .9.6 2l1.3 2.2q0-.6-.3-1c-.4-1.4.5-3.1-3-5.2l-.9-.5c0 1.7.3 4.5 1.8 5.4l1 .4zm-.8-21.5-.4-1.3c-.2-.4 0-.3-.4-.5l-.4-.5.5.2-.4-.8c-.3-.4-.2-.1-.5-.7.6-.1 1.2 1.7 1.3 2.1.5 1.4.4 1.2 1.3 2.3 0-.2-.4-.5-.4-.8-.2-.7.6-1.7-.2-3.4-.5-1-1.5-1-2-1.9l-.4-.8-.4 1.8c0 1.2.2 2.7 1 3.5q.6.5 1.4.8m4.5-8.5.8-.8.8-.7-.1-.8c.2 0 0 0 .3.5l1-1.4c0 .3-.4 1-.6 1.2q-.2.6-.8 1l-1.6 2 1-.3c1-.2 1.4-.3 2.1-1.5a10 10 0 0 0 1.2-3.8c-1.5.6-3.1 1.3-3.9 2.7q-.3.6-.2 2zm-9.5 14.3c-.5-1-1.7-2.4-1.8-3l-.2-1.3q.3 0 .2.2l.2 1 .5 1c0-.7 0-.4.2-1 .3.4-.1 1 .2 1.6l.8 1.2c0-1 .6-2.4-.4-3.7q-.6-.7-1.3-1l-.9-1.4c-.7 1.5-.5 4.5.9 5.5l.8.5.4.2zm6.8-6c.6-.4.4-.6 1.8-1.7l.9-.9.9-.9c.1.3-.8 1.2-1.1 1.6h.6c-.1.4-.5.1-1 .3-.3 0-1.4 1.3-1.7 1.6l.8-.2c.9-.2 1.5 0 2.4-1.2.8-1 1-2.3 1.5-3.5-1.2.3-2.7 1-3.4 1.6-1 1-.9 1.7-1.2 2.6zm-4.8 9.3-.8-.8c-.5-.3-.6-.3-1.2-.4l-2-1.1q.2-.2.8.4l1 .4-.2-.5q.2 0 .3.2v.3c1 .1.8.1 1.7.7q0-.5-.4-.6l-.5-.5-.4-.6c-.8-1.2-1.7-.7-2.2-.8l-1.5-.6a6 6 0 0 0 1.7 3.1q.6.7 1.6.9zm-.8 7.5-1-.7q-.2-.2-.6-.2l-.7-.2h.7l-.3-.3-1-1q.3-.1.5.2l2.3 1.8 1.1.6c0-.6-1-2.4-1.8-2.8l-3.7-1 1.5 2.8c1 1.5 1.2 1 2 .9zm1.8-8.1-1.4-4.6q.2.1.3 1l.4.9.3-.7v.9c-.2.4-.2.3 0 .8l.6 1.6v-1c.3-1 .5-1.6 0-2.8q-.9-1.4-2-2.5l-.3 1.8c-.2 1.2-.1 2.8.8 3.5.8.6.3.1 1.3 1zm2.7 5.8v-4.7q.3.2.2.4v1.5l.4-.7q.3.2-.1.6l-.4.8.1 2.1.4-.8q1-1.2.8-2.8l-1.2-3.4-.8 1.6-.5 1.9c-.3 1.6.2 1.9.7 2.7zm1.9-20.3c0-.4.2-2.5.1-2.7l-.2-.4-.2-.9q.3 0 .4.6v.1l.1-.6c0-.4 0-.2.2-.6l.1.2v.3l-.3 4.3.4-.8c.3-.7 1-2 .9-2.8l-.8-4.1-.8 1.6c-.5 1.1-1 2.8-.7 4l.7 1.6zm-11 23.6 1.1 1c.7.5 2.3 1.2 3.1 1.2l1.8-.4-.2-.8-1 .1h-1.2l-1-.2c-.6-.2-.4 0-.9-.4l2 .3c-.6-.4-.4-.2-.8-.7.3 0 .9.5 1.2.7l1.6-.1-.1-1q-1.4-.5-2.9 0c-1.7.6-1 .4-2.7.3m2.2 4.3c0 .3 1.8 2.3 2.2 2.5l3.9.1-1.7-.7c-.8-.3-.8-.2-2 0q0-.4 1-.4l-1.5-.5-.2-.2h.5l4 1.5-1.1-1c-1.6-2-3.2-1.4-5.1-1.3m13.3-21.3.5-1c.3-.7-.1-.7 0-1.5q.3-.2.3.7l.7-1.6c.2.6-.9 2.6-1.1 3.2l-.4 1c1-1 2-1.5 2.2-2.4l.1-4q-1 .9-2 2.1-.8 1.4-.4 3.5zm-1.8 24.2 1-.5c1.5-.4.9.3 1.8-1l-.2.7c.7-.3.8-.7 1.3-1.2.2.3-.2.7-.4.9-.9.8-1.7.5-2.2.7l-1 .5c1.1-.2 1 0 2 .2 1.8.3 2.4-1.6 3-2.8l.5-.8a10 10 0 0 0-4.5 2.2l-.6.6z"/> + <path d="M286.4 247.5c.6-.6.5-2.1 1-3q0-.3.3-.4 0-.2.3-.2c.1.2-.3.4-.4.7l-.3 1 .1-.1.1-.2q.6-.7 1.6-1.2l-.7-2.4-1.2 1-1 1.2c-.8 1.5.1 2.2.2 3.6m-.4 10 1.6-2.6v-1.2c.2 0 .1-.1.3.7.5-.8.2-.7.8-1l-.8 1.4-1.5 2.5c.4 0 .9-.6 1.1-.9l.6-.5.7-.4.7-3.6a10 10 0 0 0-2.7 2c-1 1.2-1 1.6-.8 3.6m3.5-9 2-.3q0 .4-.9.4l-3.6.1.9.5.8.4q1 .5 2.1 0l2.7-2.4c-1.4.3-.6.4-2.5 0l-1 1zm-14.5-5c.6 1.2 2.3 2.6 3.8 2.4.7 0 .8-.3 1.2-.7h-.1l-.2-.1c-1.2-.3-1.3-.2-2.5 0l.5-.3-.9-.2-.8-.4q.1-.2.4 0c1.5.5 1.9.4 3.6.7-.2-.5-1.5-1.2-2.2-1.3-1.2-.1-1.6.5-2.8-.1m10 13.6-.5-3.3q.3 0 .3.9l.6 3c0-1.2.4-2 .1-3.2l-1.2-2.2a9 9 0 0 0-.3 2.7c0 1 .3 1.3.8 1.9zm4.5-33.7.4-.5.5-.4q-.1.4-.6 1t-.9.8c-.7 1-.6.8-1.8 1.3 2.4.2 3.8-2.4 4.8-4.2-2.3.3-1.9.5-2.1 1.2zm.8 10.4.7-1.1c.4-.6.6-.2 1.3-.8-.2-.2-.2-.1-.9.1l1.2-1.5c-.7.1-2 2.3-2.3 2.8l-.8.9c.5-1.4.3-2.7 1-3.3l3.7-2.3q-.2 1.5-.9 3-.8 1.5-3 2.2m-9.2 4.4-1.1-1.6-.5-2.2c.3 0 .3.6.3.9l.3 1c.2-.8-.1-.3.3-1 .2.5-.3 1.1 0 1.5l.7 1c.3-1 .3-2.3-.3-3l-1.7-1.8c-.4.6-.4 2.4 0 3.3.3 1 .7 1.2 1.3 1.5zm1.4-.3c.5-.5 1.5-1 1.7-1.3l1.4-2c-.3-.1-.5.5-.7.7l-.6.9c0-.8.2-.2 0-1-.4.4-.2 1.2-.6 1.5l-1.1.8c0-1.1.5-2.5 1.4-3l2.5-1.4c.2.9-.5 2.8-1.1 3.6-.8 1-1.2 1-2 1zm4.6.3c.6 0 2.5 0 3-.4l.8-.3c0 .2 0 0-.3.4h1.1c0 .1.2.1-.6.2l-2 .2-2.7.3c1.8.6 2 1.6 4 .8 1.6-.6 2-1.2 3-2.4-2.6.6-2.8-1.5-5.2 0z"/> + <path d="M290.4 239.7c.6 0 .3 0 .9.2-.3.2-1.4 0-1.8 0h-1.8q1 1.3 2.9 1c1.3-.1 1.7-.4 2.7-1l-2-.7zm-.8 11.5-.9-.5c-1-.5-2 0-2.5 0l-1.3-.2a6 6 0 0 0 2.4 1c1.7.3.5.7 2.3-.3m.2 1.2.5.5-.5-.2-.1 1.2 2.3-.3-2-2.2zm-3 .7 1.4-1q-.6-.4-1.5-.5l-1.3-.5.7 1zm6.7-20.6q-.8.7-1.7 1.2c-.9.4-1.8 0-2.4.6 1.5-.1 2.5.5 3.7-.6q1.1-1.2 2-2.6l-1.2.4-.3.5c-.3.4 0 0 0 .5zm-5 35 1 2.2 1.6 2 1-.7 1.3-.4c-.7-.3-.7-.6-1.1-.7h-1.7c.1-.3 0-.2.8-.2h.8l-1.6-1.2 1.6.9v-1.1c.4 0 .1.7.3 1.3q.3.4 1 .7t1.2.4l1.3.4c-.5-.8-.2.1-1.1-1.8a3 3 0 0 0-1.4-1.6c-1.5-.9-3.3-.3-5-.2m1.9-2.3v-2.7l-.3-2.1q.2 0 .3.4l.1.6c.2-1 .3-1 .8-1.6 0 .2-.5 1-.6 2l-.1 2.7.2-.3.3-.3.5-.6c1.3-2 .5-3.2.5-3.8l.4-2-1.8 1.3c-1 1-2 2.8-1.3 4.3l.5 1 .4 1.1z"/> + <path d="m289.7 273 1.8.6c1.1.4 3 .5 3.8-.6.5-.6.8-.7 1.3-1.2l-2.2.5c-.6.2-.6.6-1.1 1l-.4.3q.2-.5.8-1.1h-1.8q.1-.3 1.3-.2c1.5-.2 1.8-.6 3.4-.8h.3c-2.4 0-3-1.7-5.9.4zm11-1.5v-1.2c-.5-.4-.5-.6-.8-1.2l.9.8q-.1-1.1-.5-2.2c.3 0 .4.8.5 1.1.4 1.4 0 2.5.3 3l.7 1c.2-1 1.3-1.7 0-4.1-.7-1.5-1.3-1.8-2.5-2.7.1.7.3 1 .2 1.8l-.4 1.6c-.2 1.3.3 1.2.5 1.3zm-12-2.3-.3-.8c-1 0-1.3.4-2.8-.6q-.3-.1-.5-.6l1.6 1-.6-1q0-.2.1 0h.2l.7 1h1l-.2-.7q0-.4-.3-.6l-1.4-.6-1.6.2-1.6-.3c0 .3.7 1.3.8 1.6.7 1 2.5 2.3 4 1.7zm-8.4-7.5h.1l.2.1 1.1.8c.5.4.5.7 1.1 1.2 1 .9 2.1.8 3.5 1l-.6-.7c-1.1-1.2-1-1.1-1.6-1H283c0-.2.7-.2 1.2-.3l-.7-.3c-.6 0-.2 0-.9-.2.3-.4 1.8.2 2.5.8l1.6 1.8-.8-1.7c-.8-1.5-3-2-4.5-1.7l-1 .2zm9.5 3.9c-.5-1.8-1.5-2.6-1.7-3.7-.2-.7-.1-.7 0-1.4.4.5-.3.8.8 2.6 0-.6-.2-.8-.1-1.5l.4-1.4c-.1-.3-1.4-1.5-1.7-1.9-.2 1.6-.6 3-.1 4.6s1.4 1.3 2.4 2.7m8.6 8 1.1-.2-.7-1c-.5-.7-.4-.7-.2-1l.1.6.4.4q.3.5.8.9-.2-.7 0-1.2l.1.2.1 1 1.3-.4c-.9-1.5-2.5-2-4-2.6l.4 1.8zm-2-3.2-.5-1c-.4-1-.4-1.3-1.2-2.2l-.4-.4-.3-.3v-.1c.2 0 .8.6 1 .8.5.4 1.6 2.8 2 3.5l-.2-1c.4-1-.5-2.4-1-2.7l-3.5-1.5q.6.5 1 1.2c.2.6.3.1 1.2 1 1 1.1 1 2.4 2 2.7z"/> + <path d="m302.9 270.4.1-.5c.2-.3 0-.2.3-.4q.2.2-.1.7l-.7 2.5c.8-.1.7-.1 1-.7q.4-.6.5-1.3l-.1-3.3-1 1.3c-.5.7-.2.3 0 1.7m-10.6-7.5c.3-.1.8-.8 1.1-1 .1.2-.5.9-.7 1-.6.6-.2 0-1 1 1.6.2 2.2-1.8 2.7-2.8l-1.5.4q-.2 0-.2.3l-.1.4q0 .4-.3.8z"/> + </g> + <g fill="#ce1126" stroke="#000" stroke-width=".2"> + <path d="m307.6 281.8 1.9 1-1.1 2.1c.8-.1 3.6-1.1 4.6-1.4-.3-.7-.4-.7-.3-1.6l-.3-1.5-2.3.8zm24.8-.3-1.9 1 1.1 2c-.8 0-3.6-1-4.6-1.3.3-.7.4-.8.3-1.6l.3-1.5 2.3.8z"/> + <path d="M314.4 284.8a12 12 0 0 0 4-1.4c.4.3 2.1 0 2.1 0l1.1-.2a10 10 0 0 0 3.8 1.6c1.9-.1 2-1.6 2-1.6l-.3-1.3c1-1.6 0-2.8 0-2.8-.6-.6-3.5.3-3.5.3-2 1-2 .5-2 .5-.6-.8-2.6-.7-3.5 0l-2.5-.6c-2.2-.9-2.5-.4-2.5-.4-.8 1-.5 2-.5 2l.1 1c-.4 2.8 1.8 3 1.8 3z"/> + <path d="M321.6 282.4c4.7 1.1 4.4 1.8 4.4 1.8-.3.5-1.7-.2-1.7-.2-3.6-1.2-2.7-1.6-2.7-1.6zm-2.9 0c-4.7 1.1-4.3 1.8-4.3 1.8.3.5 1.6-.2 1.6-.2 3.7-1.2 2.7-1.5 2.7-1.5z"/> + <path fill="#aa241e" d="M319 279.3c-2 .3-.5 1.8-.4 2.8 0 .5-.5 1.3 0 1.5.5.3 1.5 0 2.1 0 .8 0 1.3 0 1.2-1 0-.7-.3-1-.3-2 0-.6.1-1.4-.6-1.4z"/> + <path fill="none" d="M321.7 280.4c5.3 0 5-.9 5-.9m-5 2.5c5.4.7 4.7 1.5 4.7 1.5m-7.9-1.6c-5 1-4.5 1.9-4.5 1.9m4-3.5c-5.1.3-4.6-.5-4.6-.5"/> + </g> + <path d="M298.1 274c-2.7 1-4.5 1.6-7 3.1l-3.3-5a7 7 0 0 0-2.2-1.8c-1.5-.7-2-.5-3 .3l-.6-1.3c-1.3-2.3-2.7-3.3-4.1-5.2l-1.4-1.5-.4-.5q.8 2.7 1.3 5.7-1.2-.8-2.4-1.3a9 9 0 0 0-3-.5l1 .9a12 12 0 0 1 3.3 5.5 17 17 0 0 0 4.2 6.5l2 1.5c2 .8 1.9 0 2.6-.3a31 31 0 0 0 4.2 5.8 8 8 0 0 0 7.5 1.9q1.6-.4 3-1.2c3.4-2 1.7-3.6 1.3-5.2l7.2-2c5.6-1 16-1.2 22.7-.2.6.1 7.3 1.9 8 2.3a5 5 0 0 0-.6 2.9c0 1.1 1 1.7 2 2.2a10 10 0 0 0 6.4 1.3 8 8 0 0 0 4.9-3.2c1.8-2 2.3-3.2 3.2-4.7 0 0 .5.5.9.6.3.1 1.5 0 1.8-.2q1.1-.6 2-1.5a16 16 0 0 0 4.1-6.6 12 12 0 0 1 4.3-6.3c-2.8.1-3.8.9-5.4 1.8l.6-3 .7-2.7-3.5 4-1.7 2.1c-1.1 1.8-.9 1.8-1.3 2.4-4-2.2-5.8 3.1-8.4 6.4-5-2.8-9.3-3.6-15.2-4.7l-3.5-.4a89 89 0 0 0-22.7.2c-3.8.5-6.1 1.2-9.5 2z"/> + <g fill="#ce1126"> + <path d="M293 285.5c.5-1.3 1-1.6 2.2-2.1 3.6-1.7 5.4-2.4 9.5-3.5a53 53 0 0 1 7.2-1.3 67 67 0 0 1 12.3-.4 55 55 0 0 1 20.6 5.1c1.5.7 1.3.8 2.2 2.2 1-.8 1.9-2.4 2.5-3.4l1-2c.4-1.1-.3-1.5-.8-1.9-1.8-1.6-5.3-3-8.3-3.8a87 87 0 0 0-42.7 0 25 25 0 0 0-9 4.4c-.8.9.4 2.5.8 3.2l1 2z"/> + <path d="M280.5 274.2c1.4.3 2 .7 2.9 2 2 2.8 2.1 4.8 5.6 8.6a6 6 0 0 0 2.6 2.1 8 8 0 0 0 4.2.6 9 9 0 0 0 3.5-1.2s1.3-.7 1.7-1.2.4-1.5.4-1.5c-1-.3-3 1.7-4.2 2.5-2.2 1.5-3 1-4.7-.5-1.3-1.1-1.8-2.4-2.7-4-.4-.6-1-1.5-.8-2.5l1.7-1.7-2.1-3.2c-.8-1.3-1.3-2.2-2.4-3-.6-.5-1.9-1.2-2.8-.7l-2 2q-.5.7-.9 1.7"/> + <path d="m278.1 268.8-2.1-1.3-2.7-1 1.5 1.7c1.6 2 1.6 3.8 3 6.4a16 16 0 0 0 4.2 5q1.6 1.3 2.4.3c.1-.5-1.1-1.3-1.7-1.6l-2.1-1.4c-1.6-1.6-.4-3.5.8-4.9l.8-1c.2-.6-1.1-2.4-1.8-3.3s-2.5-3-3.4-3.8l.5 2.5zm23.2 14.3-.6-1.5c-.9.1-5.1 2-6.1 2.6-.3.2-1.5 1.1-1 1.7 1.7 1.8 4.2-.8 5.6-2a3 3 0 0 1 2-.8z"/> + <path d="M285 279.7c-.3-.1-.3-.6-1.2-1.3-.4-.3-2.6-1.5-3-1.9 0 0-.6-.5-.6-1.2.1-.6.6-.7.6-.7 2 0 4.2 4.8 4.1 5zm74.6-5.4c-1.5.3-2 .7-2.9 2-2 2.8-2.1 4.8-5.6 8.6-.8.9-1.4 1.6-2.7 2.1a8 8 0 0 1-4.1.6 9 9 0 0 1-3.6-1.2s-1.3-.7-1.6-1.2l-.4-1.5c1-.4 3 1.7 4.1 2.5 2.3 1.5 3.1 1 4.7-.5 1.4-1.1 1.9-2.4 2.8-4 .4-.6 1-1.5.8-2.5l-1.7-1.7 2-3.2c1-1.3 1.4-2.2 2.5-3 .6-.5 1.9-1.2 2.8-.7l1.9 2q.6.7 1 1.7"/> + <path d="m362 268.9 2.1-1.3 2.6-1-1.4 1.7c-1.7 2-1.7 3.8-3 6.4a17 17 0 0 1-4.2 5c-1 .8-2.1.8-2.4.3-.1-.5 1-1.3 1.7-1.6l2.1-1.4c1.6-1.6.4-3.5-.8-4.9l-.8-1a9 9 0 0 1 1.8-3.3l3.3-3.8q-.1 1.2-.5 2.5zm-23.2 14.3.6-1.5c.9.1 5.1 2 6.1 2.6.3.2 1.5 1.1 1 1.7-1.7 1.8-4.2-.8-5.7-2q-.7-.6-2-.8"/> + <path d="M355.2 279.8c.2-.1.2-.7 1.1-1.4.4-.3 2.6-1.4 3-1.8 0 0 .6-.5.5-1.2s-.5-.7-.5-.7c-2 0-4.2 4.8-4.1 5z"/> + </g> + <path fill="#eac102" d="M297.4 277h-.6l-.9.4v.3q.2.1.2.5l.2.6.2.8.2.8v.3l.7-.2q.3-.1 0-.2l-.2-.6-.1-.6q.2-.2.3.1l.5.5.6.3h.6q-.5-.3-.7-.7l-.5-.6q.4-.3.5-.8a1 1 0 0 0-.4-.9zm-.2.2q.3 0 .4.3t.1.7l-.3.4q-.2.3-.5 0l-.2-1q0-.3.3-.3zm1.4-.7q.2.1.2.4l.2.7.2.7v.5l.2.6v.3l1.8-.5q.3 0 .2-.2v-.6q-.2.1-.3.4l-.9.4q-.2 0-.2-.3l-.1-.4-.2-.7h.7q.2.2.3 0v-.5c-.1 0-.1-.4-.3-.3l-.2.4-.5.1-.1-.5q-.1-.4.1-.5h.8c.1 0 .3.3.3 0l-.2-.5h-.5zm4.1-1.1h-.7l-.8.3c-.2.1.2.2.2.4v.5l.2.5.1.8.1.7v.4q.4 0 .7-.2.3 0 0-.2v-.5l-.2-.6 1-.5.4-.7-.2-.7-.4-.2zm-.3.2.5.4.1.7q0 .2-.3.3l-.4.2-.1-.4-.2-.8q0-.3.2-.3zm3.3-.9.3.3v.5l.2.6v.5l.1.7-.7.5-.3-.2-.2-.5-.1-.7-.1-.7-.1-.5v-.3l-.8.1c-.2.2.1.2.1.4l.1.5.2 1v.5q0 .3.3.5t.5.3q.6 0 1.1-.3l.3-.5-.1-.8-.1-.8-.1-.6v-.6h-.4zm2.6-.5-1 .2-.5.1.2.4q0 .6.2 1.1v.7l.1.8v.3l.5-.1h.6l.7-.3.3-.3.2-.4q0-.3-.3-.7l-.4-.2q-.3 0 0-.2l.3-.5-.1-.5q-.1-.3-.5-.3h-.3zm-.5.3q.4 0 .7.2v.6q0 .3-.4.4-.3.1-.4-.1zm.3 1.5.5.1q.3.2.2.6l-.1.5-.6.2q-.2-.2-.2-.5v-.9zm1.7-2s.2 0 .1.2l.1.6v.5l.1.7v1.2h1.4l.6-.1v-.9q0 .3-.3.4l-.3.2h-.3l-.4-.1v-.7l-.1-1.2v-1h-.4l-.4.1zm2.5-.3.1.2.1.4v.4l.2 1.6v.4s-.2.2-.1.3l1-.1-.1-.2-.1-.4-.1-.7v-.6l-.1-.8v-.5s.2-.2 0-.2zm4 2q-.3 0-.4.3t-.4.3-.6-.3l-.3-.5v-1.4q0-.3.2-.5.3-.1.7.1l.2.5q.3.1.2-.2l.1-.4-.5-.2a1 1 0 0 0-1.1.2l-.3.3-.1.4-.2.6.3 1.2q0 .3.4.5l.5.2.7-.2q.3-.1.4-.4l.2-.4zm1.3-2.5h-.4l-.1.8-.2.5-.2 1.3-.3.7v.1h.7l-.2-.3v-.5q.1-.2.4 0l.5-.1.2.6s-.2.3 0 .3h.7q.1-.2 0-.4l-.3-.8-.3-1-.3-1zm-.3.8.4 1.3-.2.1h-.4v-.4l.1-.6zm4.3-1-1 .1.2.3v2.9c0 .1-.4.3-.1.3h1.4l.4-.3.4-.5.1-.7v-.7l-.2-.6-.3-.4-.4-.2-.5-.1zm0 .3q.4 0 .6.3l.1.5v1.4l-.2.6-.3.2-.5-.1v-2.6q0-.3.4-.3zm3-.1-.5.1-.5.6-.2.8v.8l.2.5a1 1 0 0 0 1 .8q.5 0 .8-.4l.4-.7v-1.2l-.2-.6-.4-.6zm0 .2q.5.1.5.5l.1.6v.9l-.1.6-.3.5q-.2.2-.4 0-.2-.1-.3-.4v-1.9l.2-.6zm1.4 3.5h.6l-.1-.4v-.6l.1-.6.1-.6.1-.5.1.5v.7l.2.6v.6q0 .4.3.4t.2-.3l.2-1 .2-.5.3-.9v2.5c0 .1-.3.3 0 .3h.6q.2.1 0-.1v-3.1s.2-.2 0-.2h-.7l-.2.5-.2.7-.1.7s-.1.2-.1 0v-.6l-.1-.4-.2-1q0-.1-.4-.2h-.4v1.2l-.2 1.3-.1.5q0 .3-.3.4zm3.3.3.6.1h.3l-.2-.4v-.6l.2-.5v-1.6l.2-.2q0-.2-.2-.1l-.7-.1s.2.2.1.3v1.7l-.1.5v.5zm1.1.3h.7l-.1-.5v-.9l.1-.6v-.6l.3.5.8 2q0 .3.2.4.3 0 .2-.3v-.5l.1-.5v-.6l.2-.6v-.6s.4-.2.2-.3h-.6l.2.4-.1 1.1-.1.6-.2-.5-.3-.6-.2-.6-.3-.7-.6-.1q-.1 0 0 .4v1.4l-.1.6-.1.6q0 .3-.3.4zm3-3q.3.3.2.4v.5l-.1.5-.1.7v.5l-.1.3v.3l-.2.2.3.1.5.1s.1 0 0-.1v-1l.1-.5v-.4l.2-.6v-.4l.2-.4h-.4l-.4-.2zm1.1 2.4a2 2 0 0 0 .4 1.3q.1.2.4.3h.6l.4-.2.3-.5-.3.2q-.3.2-.7 0l-.3-.4v-1.7l.3-.5.3-.2q.3 0 .4.3l.1.5q0 .3.2.1l.2-.5q0-.3-.3-.4l-.3-.2h-.8l-.3.4q-.3.2-.4.6l-.1.7zm3.5-1.3-.6 1.4-.2.5-.3.7-.3.4q-.2.1 0 .2l.5.1q.2 0 0-.3v-.4h.9v1l.5.2q.3 0 .2-.1v-.8l-.1-.6v-2.1zm0 .8v1.5l-.6-.1.1-.5.4-.7zm1.5 3.3v-1.4l.2-.5v-.6q.3-.2.2.1l.3 1 .2.6.2.9q0 .3.3.3l.2-.6.1-.6.2-1 .2-.8s.4-.2.1-.3l-.5-.1.1.4v.6l-.2.5-.1.6q-.2-.2-.2-.5l-.2-.7-.2-.7-.1-.5-.5-.3q-.3-.1-.2.2v1l-.3 1-.1.6-.3.4c-.2.2.2.2.3.3zm3.4-2.3-.3.7-.4.7-.8 1.3s-.2.2 0 .2l.5.2v-.8l.5.1q.3 0 .4.3l-.1.6q-.2 0 0 .2l.3.1.4.1v-3.6zm0 .7v1.6l-.5-.2s-.3 0-.2-.2l.3-.7z"/> + <g transform="matrix(.89273 0 0 .89274 -125.5 -33.3)"> + <path fill="#fff" d="M474.5 281v40.6c0 3.6 0 5.9 1.8 8.1a11 11 0 0 0 6 4.2c1.7.3 7.7.2 9.8.2 4.6-.3 5.2.8 7 3 2-3.1 4.1-3.2 8.2-3 2 0 6.6.1 8.4-.3a9 9 0 0 0 5.4-3.3c2.4-2.7 2.2-6 2.2-9.6v-38.3c0-1.8-.2-1.3.7-2.2l5.8-6H468l6.4 6.7z"/> + <path fill="#002d62" d="M493.8 299v-24.7h-25.5l6.3 6.7v18z"/> + <path fill="#ce1126" d="M504 299v-24.7h26l-6.7 7.1v17.7zm-10.2 10.3h-19.3l-.1 15.6c.9 6.8 6 9.2 10.4 9.1h9z"/> + <path fill="#002d62" d="M504 309.3h19.4V325c-.5 6.8-6 9.2-10.5 9.1h-9z"/> + <path fill="none" stroke="#000" stroke-width=".5" d="M474.6 281v40.6c0 3.6 0 5.8 1.8 8.3a9 9 0 0 0 6 4c1.7.3 7.7.2 9.8.2 2.7 0 3.9-.2 5.7 1.6.6.6.7.8 1.1 1.5a8 8 0 0 1 3-2.8c1.4-.5 3.8-.3 5.4-.3 2.1 0 6.6.1 8.4-.3a11 11 0 0 0 5.4-3.3c2.4-2.7 2.2-6 2.2-9.6v-38.3c0-1.8-.2-1.3.7-2.2l5.8-6h-61.7z"/> + <path fill="#eac102" stroke="#000" stroke-width=".3" d="M498 280.4v2.8h-3v2.3h2.8v10h2.3v-10h2.9v-2.3h-2.9v-2.8z"/> + <g id="do-b"> + <path fill="#fff" d="M481.9 284v4.6l-1.9-2 .3 32c0 4.7 3.4 8.6 7.6 8.6s7.6-3.8 7.7-8.5l-.3-16.4-2-2.2-.1-1.7z"/> + <path fill="#002d62" d="M481.9 284.2v4.6l-1.9-2 .2 18.2 8.2 7.9v-17.4l-.2-.4v-3z"/> + <path fill="#ce1126" d="m490.8 295.5 2.4 3v1.1l-2.4-2.5zm4.5 7 .2 11.4c-1.2 2.2-3.6 1-3.6 1l.1-15.8z"/> + <path fill="#002d62" d="M495.6 319.6c-3.2 2.4-4-1-4-1a4 4 0 0 0 4-3z"/> + <path fill="#ce1126" d="M480.2 309.7a54 54 0 0 0 8 7.5c1 7.7 5.5 5.1 7.1 4-1 3.6-3.9 6.2-7.4 6.2-4.2 0-7.6-3.9-7.6-8.6z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M493.2 299.6v-1.1L481.9 284v4zM480 286.7l.3 31.9c0 4.7 3.4 8.6 7.7 8.6 4.1 0 7.5-3.8 7.6-8.5l-.3-16.4z"/> + <g fill="#eac102" stroke="#000" stroke-width=".1"> + <path d="M486.2 281.2q-1-1.9-.1-2.6l-3-3 .9 4.2c.8-.2 1.4 0 2.2 1.4zm-3-5.6 3 5.6"/> + <path d="m498 300.7-.7.3-12-20.4.8-.4z"/> + <path d="M485 280.6q-.2-.4.5-.7t.8 0q0 .3-.5.7t-.8 0zm-4 1.6q-1.3-1.8-.4-2.6l-3.3-2.6 1.4 4q1-.6 2.3 1.2zm-3.7-5.2 3.7 5.2"/> + <path d="m495.3 300-.7.4-14.4-18.7.6-.5z"/> + <path d="M479.8 281.8q-.2-.4.3-.8t.9-.1q.1.3-.4.7-.7.5-.8.1zm.4 4.6q-1.5-1.8-.7-2.6l-3.6-2.2 1.8 3.9c.8-.4 1.4-.4 2.5.9zm-4.3-4.8 4.3 4.7"/> + <path d="m495.7 302.9-16.4-17 .6-.5 16.4 17z"/> + <path d="M478.9 286q-.2-.2.3-.8.5-.5.8-.2.2.3-.3.8t-.8.2z"/> + </g> + </g> + <use xlink:href="#do-b" width="100%" height="100%" transform="matrix(-1 0 0 1 998.3 0)"/> + <g stroke="#000" stroke-width=".2"> + <path fill="#ce1126" d="m496.7 314.5-.6 10.1c-.6 0-1.9-.1-2-1 0-.4 1.3-8.7 1.3-9.5z"/> + <path fill="#002d62" d="m495.8 314.1-.3 3.1c.2 1 1.4.8 2 .9l.2-5.2-2 1.2z"/> + <path fill="#002d62" d="M495.9 327c1.6-2 4.8-.5 4.8-.5 3.4.8 2.5-3.1 2.5-3.1-.7-7.8-1.5-13.2-1.5-13.2l-5 3.4z"/> + <path fill="#002d62" d="M495.9 327.2c-.4 2.3 2 2 2 2 2.7 0 1.9-3 1.9-3-3-.9-4 1-4 1z"/> + <path fill="#ce1126" d="m497.8 312.7-.2 9c.1 2.1 2.5 1 2.5 1q1-.3 1.2-.1v-2.8c4-.3 3-2.6 3-2.6-1.6-7.6-1.8-7.3-1.8-7.3z"/> + <path fill="none" d="M501.3 319.8c-2.5 0-3.6 1-3.6 1v.2"/> + <path fill="#fff" d="m501 326.4-.9-15.1 1.8-1.2 1.5 14.2v.1c0 2.7-2.4 2-2.4 2z"/> + </g> + <g fill="#fff" stroke="#000"> + <path fill="#000001" stroke="none" d="m488.2 302.2 6.8 12.4 14.7-9.7-7.7-11.2z"/> + <path stroke-width=".3" d="m488.5 302.1 13.7-8 7.6 10.8-14.6 9.4z"/> + <path fill="#000001" stroke="none" d="m495.4 313.5 13.7-8.8-1-1.7-6.9-9.3-5 4-6.3 3.5-1.1-.7.2 1.5z"/> + <path stroke-width=".1" d="M496.2 297.8c-2-1-4.4 2-5 2.6-.8.6-2.1.3-2.1.3l6.2 11c1.8.8 3-1.5 3.8-2.3 1.6-1.3 3.4-1.2 3.4-1.2z"/> + <path stroke-width=".1" d="M496.4 297.9c0-2.4 3-3.1 3.7-3.6s1-1.9 1-1.9l7 10.6c-.2 2-2.6 2.3-3.6 2.8-1.8 1-2 2.5-2 2.5zm-1.4 13.9-6.1-11v1.2c4.6 7.5 6.5 11.5 6.5 11.5z"/> + <path fill="#000001" stroke="none" d="M490.9 302.2v.2l.1-.1.2.1h-.2l.1.2.2-.2-.3.3-.2-.4h-.1l.4-.3v.2zm.4-.3.2.4v.2-.1l-.1-.1-.2-.3zm.5-.3h-.2v.1h.4v.3h-.2v.1l-.1-.1h.2q.2 0 0-.1h-.1l-.2-.1v-.2h.1v-.1zm.5.2h-.2v-.1l.1-.1v-.1h-.1v.1-.2l.2.1zm0 0v-.1l-.1.1zm.1-.4.1-.1h.1l.2.2-.1.2v-.1l-.1-.1v-.1zv.2h.1l-.1.2v-.2zh-.1zm.3-.4.1.1h.1v.3h.1-.1l-.2-.2zm.3 0h.2l.1.1v.2a.1.1 0 0 1-.2 0zm0 0v.1l.2.2v-.3zm-1.6 2 .1.2v-.1l.2.2h-.2l.1.1h.1l.1-.1v-.1.2l-.3.2v-.1l-.2-.3.3-.3v.1h-.1zm.7.2-.3-.2.1-.1v.1h.2q0-.2-.1-.1v-.1.2zm.3-.3v.2h-.2v-.2zh-.1l.1-.2.1.1.1.2zm.2-.4h.2l.1.1v.2l-.2-.2zv.4l-.1-.2-.1-.1v-.1zm.4-.3v.3h.2v.2h-.2l-.1-.1v-.1h-.1v-.2h.1zm0 0v.2q.2 0 0 0zm.2.4s-.1 0 0 .1zm.3-.5h-.2l.1.2zh-.2v-.3h.2zm-.1 0h-.1zm0-.4.3.4h.1l-.2.1v-.1zm.4 0 .1.3v.1l-.1-.1-.1-.2zm.2-.1.1.2v.1a.1.1 0 0 1-.2 0zm0 0v.3h.2v-.2zq0-.2 0 0m-2 2.2.1.2q-.1-.2-.2 0h.2l.2.1v.2l-.2.1-.2-.1h.3v-.1h-.4v-.3zm.6 0-.2.2h.2v.1h-.3v-.3a.1.1 0 0 1 .2 0zm-.1.1h-.1zm.2-.3v.2h.2v.1l-.2.1-.1-.1v-.1h-.1v-.3h.1m0 0v.2s.1 0 0 0zm.2.4s-.1 0 0 0m.2-.7.2.3-.2.2-.2-.3.2.2h.1v-.1zm.3-.1v-.1h.2l.1.2-.1.2v-.2zs-.1 0 0 0v.4l-.2-.2v-.2zm.6-.6h-.2v.1h.4v.3h-.2v.1l-.1-.1h.2v-.1h-.3v-.3h.1v-.1zm.5.2-.1.1h-.1v-.3.1-.2a.1.1 0 0 1 .2 0zm0 0-.1-.1v.1zm.1-.4.1-.1h.1l.2.2-.1.2-.1-.2v-.1zv.2h.1l-.1.2v-.2l-.2-.1zm.4-.5.3-.1.1.3v.2l-.1.1h-.1v-.1h.1v-.2zm.7-.2.1.3h.1-.1l-.1.2h-.1l-.2-.3h.1l.1.2h.1zh-.1zm.4.1h-.2v-.3.1-.1h.2v.1h.1zm0 0-.1.1zm.1-.4.2.2-.1.1-.1-.1zv.2h.1l-.1.2zh-.2zm-2.7 4.7h-.2l-.1.2.1.2h.3v-.2.3h-.3l-.1-.4.2-.1zm.6 0-.2.2v.2-.2l-.1-.4zh.1l-.2.1zm0 0h-.3v.2l.2-.1zm.2-.2.1.2h.1l-.2.1v-.1zh-.1l.2-.2h.1q.2 0 0 .2v.1zm0 0 .1-.1a.1.1 0 0 0 0-.2l-.2.1zm.6 0h-.2l-.1-.4h-.1l.1-.1v.1l.2.3zm.1-.8h-.2l.2.4h.1l-.2.2v-.2l-.1-.3h-.1v.2l-.1-.1zm.4-.2h.2v.3l.1.1-.2.2-.2-.1v-.2h-.2l.2-.2v.1l.1.2.1.1h.2a.1.1 0 0 0 0-.2l-.2-.2zm.7 0zl-.4.2-.1-.4h-.1l.2-.1v.1l.1.3h.1zm.1-.5h.3l.1.3-.3.2-.2-.1v-.3zm0 0a.1.1 0 0 0 0 .2v.2h.2l.2-.1-.1-.2zm1-.6v.7l-.4-.3h.1l.3.2v-.3s0-.1-.1 0zm.4.3-.2.2v-.2l-.2-.3.1-.1v.1zm.2-.1-.1.1zl-.2-.3h-.1l.2-.2v.2zm.3-.2-.2.2v-.1l-.2-.4h-.1l.2-.1v.1zm-4 4.2v-.2h.2v.1a.1.1 0 0 1 .2.1v.2l-.1.1q.2-.2 0-.2h-.1a.1.1 0 0 0 0-.2zm.4-.3v-.2l.3.4h.1l-.1.2v-.2zm.7-.5.2-.1v.4q0 .2.1 0v.1l-.2.1v-.2l-.3-.1zl.2.1zm.8 0h-.2v-.5l.3.3zm0 0v-.2h-.2v.1zm.1-.3.2.1v-.1h.1v.2a.1.1 0 0 1-.2 0zv-.1a.1.1 0 0 1 .2 0zm0 0h.2l-.1-.1s-.1 0 0 .1zm.6-.2v.2a.1.1 0 0 1-.2 0l-.1-.1v-.2a.1.1 0 0 1 .2 0h-.1v.2a.1.1 0 0 0 .2 0zm.1-.2.2.3h-.1zm.4.1zh-.2v-.1l.1-.1v-.1h-.1v.1-.1h.1zm0 0v-.1zm.1-.6.2-.1.1.3v.2s-.1 0 0 0v-.1zm.4 0 .2.2.1-.1v.1a.1.1 0 0 1-.2 0v-.3h.2zm0 0h.2s0-.1-.1 0zm.4-.3zv.1h-.2.1zh-.2v-.2zm.4-.2.1.2v.1q-.2.2-.2 0l-.2-.1v-.1l.2.2h.1zm.2-.2v.2h.2v.2h-.2.2v-.2h-.3zm.6 0zh-.2v-.1l.1-.1v-.1h-.1v.1-.1h.1zm0 0v-.1h-.2zv-.1zm-4.5 3.5.2.4h.1-.1zs-.1 0 0 0v-.2zm.3 0h.2v.3h-.1l-.2-.2zm0 0 .1.3h.1v-.2zm.4-.3zh-.1s0 .1 0 0za.1.1 0 0 1 0 .2v.1h-.2.2v-.2h-.2zm.2-.3s.1 0 0 0m.1.1.2.3v.2-.3zm.4-.2.2.2v.1l-.2.1-.2-.1v-.2l.2.2s.1 0 0 0zm.5 0-.1.2h-.2v-.3h.1v-.2h-.1zm0 0h-.2v-.1q-.2 0 0 .1v.1h.1zm0-.3.2.2v.1h-.1zm.2-.2h.2l.1.2v.1a.1.1 0 0 1-.2 0zm0 0zl.1.2h.2v-.2zm.4-.2zh.2v.2h-.1s0 .1 0 0h-.1.2v-.1h-.3a.1.1 0 0 1 0-.2zm.5-.4.3.4v.2-.2h-.4v-.3zm.1.3h-.2l.1.2h.1zm.3-.5.1.3v.1h-.2l-.1-.2h-.1.1l.1.2h.1v-.3h-.1zm.2 0 .1.2.1-.1v.1a.1.1 0 0 1-.2 0v-.3h.1zm.3-.5.3.4v.1l-.1-.1zm.3.2h.2v-.1h.1v.2a.1.1 0 0 1-.2 0zv-.2a.1.1 0 0 1 .2 0zm0 0 .2-.2h-.1s-.1 0 0 .1zm-3.7 3.1.1.3.1-.2h.1l.1.2h.1l-.1.2v-.2l-.1-.1h-.1v.3h.1-.1v-.1zm.7.2q-.2.2-.2 0v-.2q0 .2-.1 0h.2zq0 .2 0 0m0 0-.1-.2zm0-.4h.2v.3h-.2l-.2-.3zm0 0 .2.2h.1v-.2zm.4-.3.2.3-.1.1v-.1l-.1-.1zm.4.2h-.2v-.1l.1-.1h-.1l.1-.1zs0 .1 0 0m0 0v-.2l-.1.1v.1zm.1-.4h.2l.1.2v.1zv.2h.1l-.1.1-.1-.2h-.1v-.1zm.8-.3v.2a.1.1 0 0 1-.2 0h-.1v-.3a.1.1 0 0 1 .2 0h-.1l-.1.1.1.2a.1.1 0 0 0 .2 0zm0-.3v.1zv.4h.1l-.1.1-.1-.2s-.1 0 0 0v-.2zm.2 0 .2.1v-.1h.1v.2a.1.1 0 0 1-.2 0za.1.1 0 0 1 .2 0zm0 0h.2zs-.1 0 0 0v.1zm.2-.5v.1zm.1.2.2.2v.2l-.1-.2zm.5 0-.1.2h-.2v-.3h.1v-.2h-.1zs.1 0 0 0v.1zm0 0-.1-.1v.2zm0-.4h.3v.4h-.2zm0 0v.2l.2.1h.1v-.1l-.1-.1zm-1-9.2.2.1a.1.1 0 0 0-.3 0v.1h.3a.1.1 0 0 1 .1.2h-.1l-.1.1v-.1h.1v-.1h-.2q-.1-.2 0-.2zm.2-.1.2.3h.1l-.1.1-.1-.2v-.1zm.3 0 .2.2v-.3.4zm.4-.3a.1.1 0 0 1 .2 0v.3l-.2-.1a.1.1 0 0 1 0-.2m0 0v.2h.2v-.1s-.1-.1-.1 0zm.4-.2h-.1v.1h.2v.2h-.1v-.1h-.1v-.2zm.2-.1zl.1.2s-.1.1-.2 0h-.1a.1.1 0 0 1 0-.2zm0 0v.2h.2v-.1zm.1-.3h.2v.2zm.3 0s.1 0 0 0v.2h.2l-.2.1zh-.1zm.2-.1zl.1.2h-.3a.1.1 0 0 1 0-.2zm0 0zh.1v-.1zm.3-.2zs.1 0 0 .1v.1h-.1.2zm-2 2.4q0-.2.1 0l.1.1-.1.1v.1h.1l-.1.1zm0 0h.2q0 .2 0 0v-.1zm.3-.2h.2v.1za.1.1 0 0 1 0-.2.1.1 0 0 1 .2 0zm0 0 .2-.1zm.3-.3s.1 0 0 0v.2h.2l-.2.1zm.2 0v-.2h.3l.1.1v.1-.1l-.1-.1h-.1v.2h.1l-.1.1v-.2zl.1.2v.1-.1zm.6-.2h-.1v-.1q0-.2 0 0h-.1v-.1h.1zm0 0zm.1-.3h.2v.2h.1-.1v-.1zl.1.2zm.3-.1h.2a.1.1 0 0 1-.2 0 .1.1 0 0 1 0-.2h.1zm0 0 .1-.1h-.1zm.5-.2a.1.1 0 0 1-.2 0h-.1a.1.1 0 0 1 0-.2h.2-.2v.2zm0-.2zh.1v-.1.2a.1.1 0 0 1-.2 0zv-.1h.1zm0 0q0-.2-.1 0m.2-.2v.4h.1l-.2-.2zm.3 0h.2a.1.1 0 0 1-.2 0 .1.1 0 0 1 0-.2.1.1 0 0 1 .2 0zm0-.5q.2 0 .1.1zm.2.2.1.2h.1-.1zm.2-.2zs.1.1 0 .2h-.1.2s0-.1-.1 0h-.1zm-2.7 3h.2v-.1.1za.1.1 0 0 1 0-.2h.1zm0-.1q0-.2-.1 0m.3-.2zv.1zv.2h.1v.1zm.4-.3v-.1h.2v-.1h.1l.1.2-.1-.2h-.1v.4h.1-.1v-.1zl.1.2h-.1zm.3-.5s.1 0 0 0m.1.1.2.3h-.1zm.2 0v-.1h.2s.1.2 0 .2v.3zm.2 0q0 .2.1 0zm.4-.1h-.1v-.2.1h-.1v-.1h.2zs0 .1 0 0m0 0v-.1h-.1q0 .2.1.1m0-.5.2.3v.1zm.5.2v-.2s-.1 0 0 0v-.1zm0 0-.1-.1zv-.1zm0-.3v-.1h.2v.3h-.1l-.2-.3zm0 0 .1.2h.1v-.2zm.3-.2q.2 0 0 0l.1.2v.1zm.4 0h-.2l.1-.2h-.1.1zm0 0s0 .1 0 0m-2.6 2.4zv.2h-.1.1v-.1h-.2zm.2 0h.2v.1a.1.1 0 0 1-.2 0zv-.1h.1zm0 0v-.1zm.2-.3v.2h.1l-.1.1zm.2 0zh.1v-.1.1za.1.1 0 0 1 0-.2.1.1 0 0 1 .2 0zm0 0q0-.2 0 0m.4-.4.2.3zs-.1 0 0 0m.3-.1zv.2h-.1.1v-.1h-.2zm.2-.1.1-.1.2.2v-.2h-.1v-.1l.1.3zm.4-.2zv-.1za.1.1 0 0 1-.2 0v-.3h.1zm0 0q0-.2-.1 0m.2-.3v.4h.1l-.2-.2zm.5 0a.1.1 0 0 1-.1.2h-.2v-.3h.1v-.2zm0 0h-.1q0-.2-.1 0v.1zm.2 0h-.1v-.2h-.1.3zm0 0v-.2l-.1.1s0 .1.1 0zm.3-.3h-.2v-.4zm0 0v-.1h-.2l.1.2zm0-.2.2.1h.1v-.1.1a.1.1 0 0 1-.2 0 .1.1 0 0 1 0-.2h.1zm0 0h.2q0-.2-.1 0zm.3-.3v.2h.1l-.1.2v-.1zm.4 0v.2l-.1-.1v-.2.1h-.1v-.1h.2zm0 0h-.1q0 .2.1.1zm.1-.2v-.1h.2v-.1h.1l.1.2-.1-.2h-.1v.4h.1-.1v-.1zl.1.2zm.5-.2h.2v.1a.1.1 0 0 1-.2 0l-.1-.1a.1.1 0 0 1 0-.2.1.1 0 0 1 .2 0zm0 0v-.1zm.2-.2v-.2h.2v.2h.1v.1l-.1-.2zv.4l-.1-.2zm.2-.4v.2h.2-.2zh-.1v-.2m.3.1h.2v-.1.2a.1.1 0 0 1-.2 0v-.3zm0 0q0-.2 0 0m-4.5 3.8h.2v-.1h.1l.1.2-.1-.1h-.1v.2h.1-.1v-.1zl.1.2zh-.1zm.3-.5s.1 0 0 .1zm.1.2.2.2h-.1zm.3-.2-.1.1zv.2h-.2v-.3zm.5 0h-.2v-.4zs.1 0 0 0m0 0h-.2l.1.2zm0-.4.2.3zm.3-.1h-.1v.1zv.2h-.1.1zh-.2v-.2zm.4 0a.1.1 0 0 1-.2 0 .1.1 0 0 1 0-.2zh-.2l.1.2h.1zm0-.3.2.3h.1-.1zm.2 0h.2v.3h-.1v.1h.1-.1zm0 0 .2.2v-.2zm.2-.4s.1 0 0 0m.1.1.2.3zm.1-.2.2.4h.1-.1zm.3 0zl.1.2-.1.1-.2-.1a.1.1 0 0 1 0-.2zm0 0v.2h.2v-.1zm.3-.2v.1h.1s.1.1 0 .2h-.1.2s0-.1-.1 0h-.1zm-1.7 4.3v-.2h.1za.1.1 0 0 1 .2.1v.2h-.1v-.2zm.6-.1-.2.2v-.4h-.1v.1-.1h.2v.3h.1zm.4-.7.2-.1v.6-.1l-.1-.1-.3-.1zv.1l.2.1zm.7 0-.1.1-.1-.1a.1.1 0 0 1 0-.2h.2s0 .1-.1 0v.2zm.1-.3zl.1.1-.1.2-.2-.2zm0 0v.1l.1.1h.1v-.2zm.3-.1v-.2h.1l.1.2v.1zv.2h.1v.1l-.2-.2zm.3-.3zl.1.2s0 .1-.1 0h-.2a.1.1 0 0 1 0-.2zm0 0v.3l.2-.1v-.1zm.5 0a.1.1 0 0 1-.2.1v-.1a.1.1 0 0 1 0-.2h.1l-.2.1.1.1zm0-.2h.2v.1zv-.1h.1zm.2-.3v.2h.1v.1zm.3 0h.2v-.1.1a.1.1 0 0 1-.2 0 .1.1 0 0 1 0-.2zm0 0q0-.2 0 0m.1-.2.1.2h.1l-.1.1zm.2-.1zs.1.1 0 .1v.1h-.1.2zm.2-.4.3.4h-.1zm.5.3h-.2zv-.1h.2zm0 0zm-4 3.3.2.2v-.3.4zm.3-.2.1.1h.1v-.1.2h-.1zv-.1a.1.1 0 0 1 .2 0zm0 0q0-.2 0 0m.3-.3v.1zv.4h.2-.2v-.2h-.1zm.4.1v.1h-.2v-.4zs.1 0 0 0m0 0h-.2l.1.2zm.3-.2-.1.1h-.1v-.2s-.1 0 0 0zv.2zm0 0s0 .1 0 0m.3-.1h-.2v-.2h.1v-.2h-.1zm0 0-.1-.2h-.2v.1zm.2 0q.2 0 0 0v.1zm0-.5.2.2v-.2zl.1.3v.2s-.1 0 0 0v-.2zm.4-.5.3.4h-.1zm.5.2-.1.1s-.1 0 0 0zv-.1h.1zm0 0-.1.1s0 .1 0 0zm0-.3.2-.1.2.2v-.2h-.1v-.1l.1.3-.2-.1zm.5-.2h.2v.1a.1.1 0 0 1-.2 0 .1.1 0 0 1 0-.2zm0 0v.1m.2-.3v.2h.1l-.1.2v-.1zm.5 0a.1.1 0 0 1-.1.2h-.2v-.3h.1v-.2zv.1zm0 0q0-.2-.1 0v.1h.2zm.2 0v-.2s-.1 0 0 0h-.1v-.1h.2zm0-.1v.2zm.3-.2h-.2v-.4zm0 0h-.2l.1.2h.1zm.3-.5q.2 0 .2.2l-.2.1-.1-.1zm0 0v.4h.2l-.1-.2h-.1zm.3-.2zh-.1zv.2l-.1.1.1-.1h-.2v-.2zm-4.6 3.8v.2l.2-.1.2.2h-.1l-.1-.2zl.1.2h-.1zm.6.1-.1.1h-.1v-.2zm0 0s0 .1 0 0m0-.3v.2h.1l-.1.1-.1-.2zm.4 0v.2l-.2-.1zs-.1 0 0 0h-.1zs0 .1 0 0m0 0v.1h.1zm.1-.5.2.3h.1l-.1.1-.2-.3zm.2-.1.2.3v.1-.1l-.1-.1s-.1 0 0 0zm.3 0h.2v.2h-.1l-.3-.2v-.1zm0 0v.2h.2v-.2zm.2-.2v.2h.1l-.1.1-.1-.2zm.2 0zh.2v-.1.1a.1.1 0 0 1-.2 0za.1.1 0 0 1 0-.2.1.1 0 0 1 .2 0zm0 0q0-.2 0 0m.4-.3zh.2v.2h-.1v-.1h-.1zm.2.1"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/dz.svg b/apps/web/public/flags/dz.svg new file mode 100644 index 00000000..5ff29a74 --- /dev/null +++ b/apps/web/public/flags/dz.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-dz" viewBox="0 0 640 480"> + <path fill="#fff" d="M320 0h320v480H320z"/> + <path fill="#006233" d="M0 0h320v480H0z"/> + <path fill="#d21034" d="M424 180a120 120 0 1 0 0 120 96 96 0 1 1 0-120m4 60-108-35.2 67.2 92V183.2l-67.2 92z"/> +</svg> diff --git a/apps/web/public/flags/eac.svg b/apps/web/public/flags/eac.svg new file mode 100644 index 00000000..59d02d21 --- /dev/null +++ b/apps/web/public/flags/eac.svg @@ -0,0 +1,48 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-eac" viewBox="0 0 640 480"> + <path id="eac-a" fill="#fff" fill-opacity="1" fill-rule="nonzero" stroke="none" stroke-dasharray="none" stroke-miterlimit="4" stroke-opacity="1" stroke-width="3.1" d="M0 326.4h640V348H0z"/> + <use xlink:href="#eac-a" width="600" height="330" transform="translate(0 -194.4)"/> + <path id="eac-b" fill="#0087ff" fill-opacity="1" fill-rule="nonzero" stroke="none" stroke-dasharray="none" stroke-miterlimit="4" stroke-opacity="1" stroke-width="3.1" d="M0 348h640v132H0z"/> + <use xlink:href="#eac-b" width="600" height="330" transform="translate(0 -348)"/> + <path fill="red" d="M0 290.4h640v36H0z"/> + <path fill="#000001" d="M0 153.6h640v36H0z"/> + <path fill="#ff0" d="M0 206.4h640v67.2H0z"/> + <path id="eac-c" fill="#008300" fill-opacity="1" fill-rule="nonzero" stroke="none" stroke-dasharray="none" stroke-miterlimit="4" stroke-opacity="1" stroke-width="3.1" d="M0 273.6h640v16.8H0z"/> + <use xlink:href="#eac-c" width="600" height="330" transform="translate(0 -84)"/> + <g transform="translate(41.1 674.6)scale(.87273)"> + <path fill="#fff" stroke="#000" stroke-width="2" d="M319.6-589.5a80 80 0 0 0-56.7 136.3l-34.2 11 3.1 7.8-11 2.4 8 25.6h181.6l7.9-25.6-11-2.4 3.1-7.9-34.2-10.9a80 80 0 0 0-56.6-136.3z"/> + <path fill="#008300" d="m230.5-431.6 7 22.6h164.2l6.9-22.6z"/> + <path fill="#fff" d="m234.9-428.7 5.1 16.8h159.1l5.1-16.8H275.4z"/> + <path d="M140.8 811.3q0 2.6-.6 5-.6 2.3-2.1 4t-4 2.8-6.4 1q-3.5 0-6-.8-2.6-.9-4.3-2l2.7-6.3q1.5.9 3.3 1.5t3.7.7q3 0 4.3-1.5 1.3-1.4 1.3-4.9v-23.5h8.1zm22 12.8q-3.9 0-6.6-1-2.8-1.1-4.6-3t-2.7-4.5q-.8-2.7-.8-5.8v-22.5h8.1V809q0 2.2.5 3.7t1.4 2.5 2 1.4q1.3.4 2.8.4 3 0 4.8-1.8t1.8-6.2v-21.8h8.2v22.5q0 3.1-1 5.8-.8 2.6-2.6 4.6t-4.7 2.9q-2.8 1-6.6 1zm32.2-36.8q1 1.7 2.2 4.3l2.6 5.4 2.6 6 2.5 5.8 2.4-5.8 2.6-6 2.6-5.4q1.2-2.6 2.2-4.3h7.4l1 8 .7 9.3q.4 4.8.6 9.7l.5 9.1H217l-.4-11.5-.8-12.5-2 4.9-2.4 5.3q-1 2.7-2.1 5.1l-1.8 4.1h-5.7l-1.7-4.1-2.2-5.1-2.3-5.3-2-4.9q-.6 6.3-.8 12.5l-.4 11.5h-8l.5-9.1.6-9.7.8-9.2 1-8.1zm51.4 36.8q-3.8 0-6.6-1-2.8-1.1-4.6-3t-2.7-4.5q-.8-2.7-.8-5.8v-22.5h8.1V809q0 2.2.5 3.7t1.4 2.5 2 1.4q1.3.4 2.8.4 3 0 4.8-1.8t1.8-6.2v-21.8h8.2v22.5q0 3.1-1 5.8-.8 2.6-2.6 4.6T253 823q-2.8 1-6.6 1zm22.6-36.8h8.2v36.1h-8.1zm29.8 14.8 4.2-7.4q2-3.7 3.6-7.4h9q-3 5.8-6.2 11.3t-6.7 11v13.8h-8.1v-13.7q-3.6-5.5-6.8-11t-6.2-11.4h9.5q1.6 3.7 3.6 7.4zm40.2 21.3-1.3-3.8-1.4-4h-14l-1.5 4-1.2 3.8H311l3.9-10.8 3.5-9.3 3.5-8.3q1.7-4 3.5-7.7h7.8q1.8 3.7 3.5 7.7l3.4 8.3 3.6 9.3 3.9 10.8zm-9.8-28q-.2.9-.8 2.2l-1.2 3.1-1.5 4-1.6 4.4h10.3l-1.6-4.5-1.5-3.9-1.2-3zm48.9 6.7 4.2-7.4q2-3.7 3.6-7.4h9q-3 5.8-6.1 11.3-3.2 5.5-6.8 11v13.8h-8v-13.7l-6.8-11q-3.2-5.6-6.1-11.4h9.4l3.6 7.4zm40.2 21.3-1.3-3.8-1.4-4h-14l-1.4 4-1.3 3.8h-8.4l3.8-10.8 3.6-9.3 3.4-8.3q1.7-4 3.6-7.7h7.7q1.8 3.7 3.5 7.7l3.5 8.3 3.6 9.3 3.8 10.8zm-9.7-28-.8 2.2-1.2 3.1-1.5 4-1.6 4.4h10.2l-1.6-4.5-1.5-3.9-1.2-3zm59.8 28-1.3-3.8-1.4-4h-14l-1.4 4-1.3 3.8h-8.4l3.8-10.8q1.8-5 3.6-9.3l3.4-8.3q1.7-4 3.5-7.7h7.8q1.8 3.7 3.5 7.7l3.4 8.3 3.6 9.3 3.9 10.8zm-9.8-28-.7 2.2-1.2 3.1-1.5 4-1.7 4.4h10.3l-1.6-4.5-1.5-3.9-1.2-3zm23.2 28v-36.1H506v6.8h-16v7.6h14.2v6.8h-14.3v15zm40.5-36.5q8.1 0 12.4 2.9t4.4 9q0 3.8-1.8 6.2-1.7 2.3-5 3.7l2.3 3 2.3 3.7 2.3 4 2 4h-9l-2.1-3.6-2-3.5-2.2-3.3-2-2.8h-4v13.2h-8.2v-35.6q2.7-.5 5.5-.7l5-.2zm.5 6.9H521l-1.3.2v9.8h2.3q4.6 0 6.6-1.2t2-3.9-2-3.7q-2-1.2-6-1.2zm23.7-6.5h8.1v36.1h-8.1zm37.8 36.1q-1.1-1.8-2.6-3.8l-3.3-4.1q-1.7-2.1-3.6-4t-3.7-3.4v15.3h-8.2v-36.1h8.2v13.6q3.2-3.3 6.3-6.9l6-6.7h9.7q-3.7 4.4-7.5 8.4t-7.8 8.2q4.3 3.6 8.3 8.6t7.8 11zm39.7 0-1.2-3.8-1.4-4h-14l-1.5 4-1.2 3.8h-8.5l3.9-10.8 3.5-9.3 3.5-8.3q1.7-4 3.5-7.7h7.8q1.8 3.7 3.5 7.7l3.4 8.3 3.6 9.3 3.9 10.8zm-9.7-28-.7 2.2-1.2 3.1-1.6 4-1.6 4.4h10.3l-1.6-4.5-1.5-3.9-1.2-3zm45.3-8.1q1 1.7 2.1 4.3l2.6 5.4 2.6 6 2.5 5.8 2.4-5.8 2.6-6 2.6-5.4q1.2-2.6 2.2-4.3h7.4l1 8 .7 9.3q.4 4.8.6 9.7l.5 9.1h-7.9l-.4-11.5-.8-12.5-2 4.9-2.4 5.3q-1 2.7-2.1 5.1l-1.8 4.1h-5.7l-1.7-4.1-2.2-5.1-2.3-5.3-2-4.9q-.6 6.3-.8 12.5l-.4 11.5h-8l.5-9.1.6-9.7.8-9.2 1-8.1zm61.4 36.1-1.4-3.8-1.3-4h-14.1l-1.4 4-1.3 3.8h-8.4l3.8-10.8 3.6-9.3 3.4-8.3q1.7-4 3.6-7.7h7.7q1.8 3.7 3.5 7.7 1.8 4 3.5 8.3l3.6 9.3 3.8 10.8zm-9.8-28-.8 2.2-1.2 3.1-1.5 4-1.6 4.4h10.2l-1.6-4.5-1.5-3.9-1.2-3zm34 21.8q1.7 0 2.8-.3t1.8-.7q.7-.6 1-1.2.2-.7.2-1.5 0-1.8-1.7-3t-5.7-2.5l-3.6-1.4q-1.7-.9-3.1-2-1.4-1.3-2.3-3-1-1.8-1-4.3t1-4.5 2.7-3.4 4.2-2.2q2.4-.7 5.5-.7 3.6 0 6.3.7 2.6.8 4.4 1.8l-2.4 6.4q-1.5-.8-3.4-1.4t-4.4-.6q-3 0-4.2.8t-1.3 2.5q0 1 .5 1.6t1.3 1.3l2 1 2.5.9q2.8 1 4.9 2 2 1 3.4 2.4t2.1 3.2.7 4.4q0 5-3.6 7.9-3.5 2.7-10.6 2.7-2.4 0-4.4-.3-1.9-.2-3.4-.7l-2.6-.8-1.7-1 2.3-6.4q1.6.9 4 1.6 2.3.7 5.8.7m42.2-29.9h8.2v36.1h-8.2v-15.3h-13.6v15.3h-8.2v-36.1h8.2V801h13.6zm40.6 36.1-1.2-3.8-1.4-4h-14l-1.5 4-1.2 3.8h-8.5q2-5.8 4-10.8 1.7-5 3.5-9.3l3.4-8.3q1.7-4 3.5-7.7h7.8q1.8 3.7 3.5 7.7l3.4 8.3 3.6 9.3 3.9 10.8zm-9.7-28-.7 2.2-1.2 3.1-1.6 4-1.6 4.4h10.3l-1.6-4.5-1.5-3.9-1.2-3zm33.7-8.5q8.2 0 12.5 2.9t4.3 9q0 3.8-1.7 6.2-1.8 2.3-5 3.7l2.3 3 2.3 3.7 2.3 4 2 4h-9l-2.1-3.6-2.1-3.5-2-3.3-2.2-2.8h-4v13.2h-8.1v-35.6q2.6-.5 5.4-.7zm.5 6.9H851l-1.3.2v9.8h2.3q4.6 0 6.6-1.2t2-3.9-2-3.7q-2-1.2-6-1.2zm23.7-6.5h8.2v36.1h-8.2zm37.8 36.1q-1-1.8-2.6-3.8-1.4-2-3.2-4.1-1.7-2.1-3.6-4t-3.8-3.4v15.3h-8v-36.1h8v13.6q3.2-3.3 6.4-6.9l6-6.7h9.6q-3.7 4.4-7.4 8.4t-7.8 8.2q4.3 3.6 8.3 8.6t7.8 11zm14.4-36.1h8v36.1h-8z" aria-label="JUMUIYA YA AFRIKA MASHARIKI" font-family="Times New Roman" font-size="52.1" font-weight="700" style="-inkscape-font-specification:"Ubuntu Bold"" transform="matrix(.18901 0 0 .21163 219.5 -590.5)"/> + <g id="eac-d" fill-rule="evenodd"> + <path fill="#008300" d="m230.5-431.6 10.4-2.8-3.2-5.7 17.9-6.7v6.1h5.5v9.3h-30Z"/> + <path fill="#fff" d="M258.5-431.4h-21.8l21.8-5.9zm-4.8-9.2H244l10-3.8zM241-439l2.2 4 14.5-4z"/> + </g> + <use xlink:href="#eac-d" width="600" height="330" transform="matrix(-1 0 0 1 639.1 0)"/> + <path fill="#ff0" stroke="#000" stroke-width="1.2" d="M317.7-580A70.8 70.8 0 0 0 294-443.4v-7.8a63.5 63.5 0 0 1 25.2-121.6h.5a63.5 63.5 0 0 1 25.6 121.6v7.8A70.7 70.7 0 0 0 319.6-580z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".9" d="m339-458.3.1 10.6c-6.4 1-13.5 7.6-15.4 8.8s-5 3.8-6.7 3.6c-2.9-.4-.8-2.7-.8-2.7s-2 2.4-3.4 1.3c-1.4-.9.8-2.7.8-2.7s-.7 1-2.2.5c-1.4-.4-.4-2-.4-2s-3.8 2-4.5 1.3c-1-1.3.4-2.5.4-2.5l8.9-7.5s-5.8 2.1 0 0c4.9-2 6.3.8 8.5.6a28 28 0 0 0 10.2-5.1c1.7-1.7 1.2-3.5 2.5-4s2-.2 2-.2z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="m300-457.5-.1 9.8c6 .8 12.7 7.2 14.5 8.4 1.7 1.1 4.7 3 6.3 2.8 2.6-.3 2-1.3 2-1.3s1.2.6 2.8 0 .8-1.7.8-1.7 2.4.7 3.4-.6c1-1.1-1-2.3-1-2.3s1-.7-.6.2-4.8-2.8-8-3c-3.3 0-3.6 3.2-5.6 1.7-2.1-1.6 1.6-4.2 2.9-4.6 5.1-1.7 9.9.4 3.7-2-3.2-1.2-5.7 1.1-7.8 1-2.2-.1-7.6-3-9-4.6-1.6-1.6-1.2-3.2-2.4-3.7q-1.8-.4-2-.1z"/> + <path fill="none" stroke="#000" stroke-width=".8" d="m326.4-439.5-4.3-1.8m1.1 3.7-5-3"/> + <g id="eac-e" fill="#008300" fill-rule="evenodd" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-opacity="1" stroke-width=".4"> + <path d="M291.8-462.6c-12.4 6-13-9.8-18.6-9.6 10.5-7 8.8 6 18.6 9.6zM287-480c-6.2 11.3 8.3 12.8 7.8 18.3 7.1-9.6-5-8.8-7.8-18.3z"/> + <path d="M281-475.6c-15.3 2.6-11.1-10.6-17.5-11.7 13.5-4 7.7 6.2 17.5 11.7z"/> + <path d="M279.4-491.2c-8.4 9.9 3.7 10.4 2.3 15.6 8.7-8-.3-7.7-2.3-15.6zm-8.8 1.8c-15.2-2.2-5.6-17.7-10.2-21 12.5.9 4.4 14.5 10.2 21z"/> + <path d="M276.4-509c-14 6.7.1 13.9-5.4 20 13.8-.7 1.6-9.7 5.4-19.8zm-7.8.5c-16.3-7.4.7-21.4-2.2-26.5 11.1 11.3-5.8 15.5 2.2 26.5z"/> + <path d="M279-527.3c-14 1.8-7 14.7-9.9 19.3 11-2.5 2.2-9 10-19.3zm-6.8-3.9c-7.9-12 5.3-14.7 6.2-20.8 3.8 15.8-5.2 10.7-6.2 20.8z"/> + <path d="M288-541.2c-13-3.7-10.6 9.4-15 12.5 11 1.8 8.7-8.7 15-12.5zm-6-5.6c-2.6-10.4 2.6-8.7 8.5-13.3 3.2 8.4-4.7 7.4-8.5 13.3zm16.6-1.6c-10-7.4-11.1 2.6-16.3 4 9.6 5.7 10-2.8 16.3-3.9zm-6-5c.3-4.5 6.3-10.4 12.5-8.4-.3 7.5-7.5 9.4-12.5 8.5z"/> + </g> + <use xlink:href="#eac-e" width="600" height="330" transform="matrix(-1 0 0 1 639.1 0)"/> + <path fill="none" d="M304.6-557s7.3-2 14.7-1.8c7.3 0 14.7 2 14.7 2"/> + <path d="m188.2-240.9.8 4.7 2.5-.5q1-.1 1.3-.5t.3-1.5h.3l.7 4h-.3l-.4-1-.6-.4h-1.1l-2.6.5.6 3.9.3 1 .3.1h.6l2-.3 1.4-.4.8-.7q.5-.6.8-1.8h.4l-.5 3-9 1.6-.1-.3h.4l.7-.4q.3-.2.3-.5v-1.2l-1.4-7.6q0-1.1-.4-1.3-.4-.3-1.1-.2h-.4v-.2l9-1.6.5 2.6h-.3l-.6-1.2-.8-.4h-1.2zm17.2 5.7h-4.6l-.8 1.9-.3 1q0 .3.3.5t1.1.3v.3h-3.7v-.3q.7 0 1-.3l1-1.8 4-9.8h.4l4.2 9.9q.5 1.2.9 1.5t1.1.4v.4h-4.7v-.3q.7 0 1-.3.2-.2.2-.5l-.3-1.2zm-.2-.7-2-4.8-2.1 4.9zm17.8-5.5-.4 4h-.3a5 5 0 0 0-1-2.8 4 4 0 0 0-2.3-1.2 4 4 0 0 0-2.2.2 4 4 0 0 0-1.9 1.6q-.7 1.2-1 3.2a7 7 0 0 0 0 2.8q.3 1.4 1.2 2 1 1 2.3 1.1 1 .2 2-.1t2.3-1.6l.3.2q-1.2 1.4-2.5 2-1.3.5-3 .2-2.9-.5-4-3a6 6 0 0 1-.6-4q.3-1.7 1.3-3t2.6-2a6 6 0 0 1 5.6.8l.4.3.5-.1.4-.6z" font-family="Times New Roman" font-size="18" font-weight="400" style="line-height:125%;text-align:start" transform="translate(167 -386.8)scale(.74556)"/> + <path fill="red" d="M317.2-550.3q-1.5 0-2.9.4a13 13 0 0 1-7 5.8l-.6.2a13 13 0 0 1-9.7.3 42 42 0 0 0-7.6 6.5 13 13 0 0 1-2 9.5 13 13 0 0 1-7.2 6.4q-1.5 4.9-1.7 10c2 1.5 3.7 4.4 4.4 7.9l.2.7c.7 3.8 0 7.4-1.4 9.5q2 4.7 5 8.7c2.4-.2 5.6 1 8.4 3.1l.5.5c3 2.5 4.8 5.6 5 8.2q4.6 2.4 9.7 3.5c1.8-1.7 5-3 8.6-3h.7c3.9 0 7.3 1.2 9.2 3q5.1-1.1 9.6-3.5a13 13 0 0 1 5-8.3 14 14 0 0 1 9-3.5q3-4 5-8.5a13 13 0 0 1-1.5-8.9v-.6q1.4-6 4.7-8.6a41 41 0 0 0-1.7-10 13 13 0 0 1-6.8-5.9l-.4-.6c-2-3.4-2.6-7-2-9.5a39 39 0 0 0-7.9-6.7 13 13 0 0 1-9 0l-.7-.3a14 14 0 0 1-7.6-6q-2.4-.3-5-.3zm8 81.9"/> + <path fill="#fbf014" stroke="#000" stroke-width=".4" d="M354.7-509.4a35.1 35.1 0 1 1-70.3 0 35.1 35.1 0 0 1 70.3 0z"/> + <path fill="#fbf014" stroke="#000" stroke-width=".4" d="M351.7-509.4a32.2 32.2 0 1 1-64.4 0 32.2 32.2 0 0 1 64.4 0z"/> + <g fill-rule="evenodd" stroke="#000" stroke-width=".4"> + <path fill="#0087ff" d="m310-525.2 10.6 1.9-1.4 10.6-9 6.2-5-5.5.3-8.7z"/> + <path fill="#fff" d="m307-517.4-4.2.2h-.4v.2h-.1l-.1.3-.4.2v.2l-.3.2-.4.2h-.1l-.1-.4h-.6l-.3.1v-.5l-.1-.1v-1h.2v-.9l.1-.2v-.2l.3-.3.3-.1v-.3l.1-.3.1-.1-.1-.2-.3.2-.3-.2v-.6l.3-.2.1.1.2-.8.3-.3-.2-.5.2-.3-.1-.4.9-.3v-.3l.1-.4.4-.1.3-.2.2.5v.3h.2l.2-.4.2-.1v-.3l.6-.7.2-.2.4-.2h.4l.3-.4v-.4h.2l.2-.2-.1-.3v-.7h-.2v-.2l-.2.3-.2-.1v-.3h-.6l-.2-.4-.2.1v.3l-.2-.1v-.4h-.4l.1-.4.4-.7v-.4l-.4-.4.3-.8.4-.4v-.5l-.3.1.4-.5.7-.3h.4l.6.4.2-.1h.3l.5-.4.5.4v.3h.4l.1.2h.3v-.3l.7-.3 1-.1.9-.5.5.4h1.1l1.7-1.5 5.2 1.2-.3 9-5.4 3-.3-.2-.1.1h-.1v-.5h-.3v.6h-.4l-.4-.2v-.2h.4v-.1l-.3-.1h-.3v-.2l.3-.2v-.1l-.3.2-.2-.1-.2.1.2.3-.3.2v.2l-.4-.1v.2h.2l-.6.4-.2-.2v-.1l-.3.2h-.4v-.1l.4-.1-.1-.1h-.3v-.3l-.1.3h-.2v.5h-.4l-.1-.2s-.3 0-.2.2v.3l-.3-.2h-.2v.3h-.2l-.4-.2.2.3h-.4l-.2.1.2.2.1.2.2.2-.1.1h-.1l-.3.3h-.2l-.1.3-.2.1.1.2h.1v.2h-.1l-.4.4v.1h.3z"/> + <path fill="#fff" d="m314.2-517.3 11.5 6.3.1.9-.4.2.1.4.4.1.1.4 4.5 3.2.3-.2.4.2.1-.4.3-.3.5-1.1-.3-.1.2-.4h.2l.4-.5v-.4l-.2-.3.3.1.4-.9.4-.1.1-.7.2-.2s-.2-.8 0-1.1 1.3-.3 1.3-.3l.6-.7v-.2l.4-.3-.4-.7.8.2.6-.2h.4l.6-.8v-.3l-1.9-2.4v-11.7l1.1-1 1.8-2.5-.5-.2-1.8.2-.5-.6h-.2l-.1-.4-.4-.2-3 1.4-.1.5-.7.6v.4h-.2l-.2-.1-3.1-.7-.2.2h-1l-3.7-2.7h-2.7l-.6-.2v-.3h-5l-1 1 .2 1.3h.5l.2.6h.5l-.1.6h-.1v.7l.2.3.3.2v.5l.6.3.1.7.4.2v.3l-.2.4.4.6-.1.4.2.5v.2l-.1.6-.3.2-.1.4h-.2v.8h-.5l-.2.3-.3-.1v.7l-.3.4h-.3v.3l-.4.2-.1.5v.5l-.5.2v.9l.3.1h.2l-.1.3.3.1.2.5.4-.3v-.3h.5l.6-.3.2.4.2.3h-.4l-.1.2h-.3l-.5-.1v.2l.2.2-.3.2-.1-.2-.3.1h-.2l-.3-.2v.4h-.2l-.2.5.3.3.3.2-.3.4zm17.6 21.8.4-.3v-.2h.4l.2-.5v.5l-.2.2v.3h-.2v.3l-.1-.2zm-1.2-5.6v-.7l-.1-.1.4-.3v-.4l.5-.2v.4h-.3v.6l.2.3v.3l.3.2.3.4v.3l-.3.1-.4-.5-.4.1zm1.5-2.6v-.4l.2-.4-.3-.8h.4l.1.4h.2v-.3s.2-.1.2 0l-.1.9.1.4-.2.3-.3.3z"/> + <path fill="#fff" d="m334.4-487.5-1.3 1-1.8.8-.5.3h-.9l-.7.2-.4.2-.5.5-.8-.5h-1l-.3.3v.5l-.7.3h-.3l-.3.2-1-.1-.4-.4-.5.1-.8.6-.4-.1v-.2h-.3l-.2.2-.5-.1v-.4h-.3l-.4-.6h-.5l-.1.3-.4.3-.4-.1h-1.5l-.4-.7h-.4l-.4-1v-.5l.2-.2v-.6l-.4-.3.1-1-.1-.2-.1-.4-.7-.7v-.3l-.8-.6h-.3v.6l-.4-.1-.2-.3-1 .2-.4-.5-.5.1-.4-.3h-.5l-.4-.4h-.9l-.2-.6h-.6l-.2-.1h-.7v-.3l-.8-.1-.4-.3v-.5l-.6-.3-.5.1-.2-.6-.5-.4-.1-.6-.7-1v-.4l-.4-.4v-.8l-.3-.4v-.4h.2v-.3l-.5-.4-.2-.4-.8-.6h-.6l-.7-.8v-.4l.3-.4h.4l.1-.3v-.3l-.7-1v-.5l.3-.2-.1-.6-.6-.6v-.6l.1-.5v-.2l.6-.2.3-.2.3-.3v-.3l.6-.2v-.3l.5-.6v-.3l.3-.5.7-.3v-.2l.5-.3v-1l-.2-.1h-.3l-.3-.1h-.5v-.3l.3-.4-.2-.2.3-.6 1-.1v-.7l.1-.3-.4-.5v-1l-.2-.3v-.3l-.5-.3-.4-.7h.6l.3-.3h3.5l.1.3v.4l-.2.5-.1.3v.2l-.1.4v.4l-.2.2v.3l-.2.2h.3v.5l-.2.4h.8l-.3.6-.1.4.1.6.4-.4.3.3v-.5l.1-.4.4.2.1-.2-.2-.4.4-.4.4.5.3.1.2.5.3-.6.1.4h.4v.4l.3.4-.4.2v.5h.3v-.5h.4l-.2-.5-.1-.4.4-.6h.4l.2.5h.7l.6-.6.8-.3-.2-.5h-.2l-.3.3-.9-.1-.3-.2-.2.2h-.3l-.8-.3v-.3l-.2-.1.4-.2.2.3h.2l.3-.1.4.3.6-.1v-.3l-.4-.1v-.3h.7l.1-.2.5-.2-.3-.4v-.2l1 .2-.5-.4.1-.4.6.4v-.2l-.4-.3.6-.6 11.6 6.3.1.9-.4.3v.4h.5v.4l4.5 3 .3.5-.3.3-.2.4-.1.7-.2.4v.6l-.4.4-.3.7v.5l.3.4-.2.6.5.4h.3l.9 1 .4.4.2.5-.2.5-.3.1-.3 1v.6l.4.4-.1.4-.2.6-.2.6.2.6.2.5.2.2v.4h-.2l.3.5.4.2v.8h-.1v.2l.4.3.2 1-.2.3v.2h.6l.2.5.4-.1.7.3.3.5z"/> + </g> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M298.1-512.9c-.3-.3 1-1 .8-1.5q0-1.3 1.6-1.7l.6-.4c.3.2.3.7.6.4s1-1.3 1.5-1.1c-.3.4.3 1.2.7 1.5l.6 1.9q-.2.9-1.4.6c-.8-.3-1 .3-1.6-.2-.1.7 0 1.3-.9 1.6q-.9 0-1-.3-.7-.8-1.2 0-.2-.2-.3-.8" class="eac-landxx eac-rw"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M298.4-512.1c.5-1.1 1.1.1 1.3.1 1.5.2 1.5-.1 1.8-1.5.8.6.5 0 2.2.4-.3 0-1 .8-.5.8-.4 1.1.5 1.1 1.1 1-.3.4.5.6-.3 1-.5.3-.5 0-.5.7l-.6.1c-.1.2.3.6.2.6q0 .2-.6.8t-1.3 1l-.7.2-1-1.8q0-.8-.3-1.6v-.9q-.5-.4-.8-1" class="eac-landxx eac-bi"/> + </g> +</svg> diff --git a/apps/web/public/flags/ec.svg b/apps/web/public/flags/ec.svg new file mode 100644 index 00000000..88c50bf6 --- /dev/null +++ b/apps/web/public/flags/ec.svg @@ -0,0 +1,138 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ec" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#ffe800" d="M0 0h640v480H0z"/> + <path fill="#00148e" d="M0 240h640v240H0z"/> + <path fill="#da0010" d="M0 360h640v120H0z"/> + </g> + <g fill-rule="evenodd"> + <path d="M269.6 290.8 197 367.3l-1.2-1.6 72.4-76.5 1.2 1.6zm50.4 12.5-94.8 100-1.6-1.6 94.7-100z"/> + <path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2z" transform="matrix(-.07 -.07 -.1 .1 265 429.6)"/> + <path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2z" transform="matrix(-.07 -.07 -.1 .1 240.6 390.5)"/> + </g> + <path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M301.2 272.8s-17.7 336.6 53.1 336.6S460.6 574 460.6 574l-.8-185z" transform="matrix(.45 0 0 .64 72.4 -59.8)"/> + <path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M344.5 304.2c0 17.7-7.9 269.8 27.5 269.8s88.6-17.7 88.6-17.7l-.8-167.3z" transform="matrix(.45 0 0 .64 72.4 -59.8)"/> + <path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M367.5 321.2c0 17.7 4.5 217.4 40 217.4h53.1l-.8-149.6z" transform="matrix(.45 0 0 .64 72.4 -59.8)"/> + <path fill-rule="evenodd" d="m206.2 116 72.4 76.5 1.3-1.6-72.4-76.5z"/> + <path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M301.2 272.8S265.8 609.4 372 609.4c88.5 0 88.5-53.1 106.2-53.1l-17.7-124z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/> + <g stroke="#000"> + <path fill="none" stroke-width="2.3" d="M269.6 155.2c1.1 0 28.3-94 119-147.2" transform="matrix(.4 -.03 -.05 .35 135.1 147.4)"/> + <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.14 -.22 .3 .14 175.9 257.4)"/> + <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.18 -.1 .1 .17 177.6 256.7)"/> + <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.18 .12 -.13 .33 181 96.4)"/> + <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.17 -.03 -.03 .33 179.3 159.3)"/> + <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.06 .25 -.17 .2 228 45.5)"/> + <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.2 -.2 .2 .24 150.3 241)"/> + <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.22 -.22 .25 .2 135.6 282.1)"/> + <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.26 .1 -.2 .32 130.8 147.7)"/> + <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.15 .2 -.32 .22 178.5 103.3)"/> + <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.08 .1 -.14 .16 250.7 102.6)"/> + <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.1 0 -.08 .17 238 136.4)"/> + <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(0 .14 -.14 .08 287.4 81.1)"/> + <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.07 .1 -.25 .15 220.7 115.6)"/> + <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.13 .22 -.33 .2 207 70.1)"/> + <path fill="none" stroke-width="2.4" d="M269.6 155.2c1.1 0 28.3-94 119-147.2" transform="matrix(.35 -.2 .14 .28 111.8 227.8)"/> + <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.18 -.1 .1 .17 200.3 224.6)"/> + <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.18 -.1 .1 .17 211.1 218.3)"/> + <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.2 -.1 .07 .13 166.8 232.7)"/> + <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.2 -.1 .07 .13 170 231.3)"/> + <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.2 -.1 .07 .13 168.1 234.3)"/> + <path fill="red" fill-rule="evenodd" stroke-width=".3" d="M252.7 167.3q.5 1.4-1 2.3c-1.5.9-2 .2-2.4-.7s0-1.8 1-2.3 2-.2 2.3.7z"/> + <path fill="red" fill-rule="evenodd" stroke-width=".3" d="M255 164.9q.5 1.4-1 2.3c-1.5.9-2 .2-2.5-.6s0-1.9 1-2.4 2-.1 2.4.7z"/> + <path fill="red" fill-rule="evenodd" stroke-width=".3" d="M255.5 166c.4.8 0 1.9-1 2.3s-2 .2-2.4-.6 0-1.8 1-2.3 2-.2 2.4.6z"/> + </g> + <path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M336.6 308.3c0 17.7-35.4 212.6 53.2 265.7 35.4 17.7 88.5-17.7 88.5 0l-17.7-141.7z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/> + <path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M372 343.7c0 17.7-17.7 159.4 35.5 194.9 35.4 35.4 124 25.8 124 25.8l-70.9-132.1z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/> + <path fill-rule="evenodd" d="m183.8 158 94.8 100 1.7-1.6-94.8-99.9z"/> + <path fill="#cececc" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="m460.6 184.3 17.7 35.4v17.7c-.8-1.3 0 17.7-17.7 17.7S443 219.7 443 219.7s-17.7 35.4-17.7 70.9 17.7 53.1 17.7 53.1-2.6-36.7 17.7-35.4c20.4 1.2 17.7 17.7 17.7 17.7v35.4h17.8V219.7l17.7-35.4-27.2-53.2-26 53.1z" transform="matrix(.14 -.14 .1 .1 86.3 192.2)"/> + <path fill="#cececc" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="m557.8 95.7-26.3 70.8 17.7 53.2-35.4-17.7 35.4 53.1v35.5H567V255l35.5-53.1-35.5 17.7 17.8-53.2-26.9-70.8z" transform="matrix(.1 -.16 .14 .1 114 183.8)"/> + <path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c0 35.8 20.9 187.8 22.6 191.5.1 4.5-4.8 6.4-7.1.9-6.6-17.4-20.8-160-21.3-193.3-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(.4 0 0 .3 43.8 69.8)"/> + <path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(.38 .1 -.15 .3 76 38.2)"/> + <path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width=".7" d="M186.7 151.5c0 1-1 2-2.2 2s-2.2-1-2.2-2 1-1.8 2.2-1.8q2 .2 2.1 1.8zm-3.2 4c0 17.9 10.5 93.9 11.3 95.8 0 2.2-2.3 3.2-3.5.4-3.3-8.7-10.4-80-10.7-96.6-.1-6.9 1.9-7.4 4.2-7.3 1.9.1 4.1 1.9 4.1 4 0 2.4-2.9 4.3-5.4 3.7z"/> + <path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(.48 .15 -.2 .48 16.7 31.6)"/> + <g fill-rule="evenodd"> + <path d="m370.4 290.8 72.5 76.5 1.3-1.6-72.5-76.5zM320 303.3l94.8 100 1.6-1.6-94.7-100z"/> + <path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2z" transform="matrix(.07 -.07 .1 .1 375 429.6)"/> + <path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2z" transform="matrix(.07 -.07 .1 .1 399.4 390.5)"/> + </g> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#ffdf00" stroke="#000" d="M301.2 272.8s-17.7 336.6 53.1 336.6S460.6 574 460.6 574l-.8-185z" transform="matrix(-.45 0 0 .64 567.6 -59.8)"/> + <path fill="#0000c4" stroke="#000" d="M344.5 304.2c0 17.7-7.9 269.8 27.5 269.8s88.6-17.7 88.6-17.7l-.8-167.3z" transform="matrix(-.45 0 0 .64 567.6 -59.8)"/> + <path fill="#e10000" stroke="#000" d="M367.5 321.2c0 17.7 4.5 217.4 40 217.4h53.1l-.8-149.6z" transform="matrix(-.45 0 0 .64 567.6 -59.8)"/> + <path d="m433.8 116-72.4 76.5-1.3-1.6 72.4-76.5z"/> + <g fill="#005b00" stroke="#000"> + <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.16 -.07 .08 .35 309.5 211)"/> + <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.2 -.05 .07 .4 291.5 182.6)"/> + <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.23 .14 -.03 .4 296.5 69.4)"/> + <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.25 .03 .02 .44 274.4 115)"/> + <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.18 .17 -.04 .35 330 67)"/> + <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.23 0 .03 .4 280.6 141.9)"/> + <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.2 -.07 .07 .38 290.1 196.8)"/> + <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.2 -.03 .05 .4 292.7 166.8)"/> + <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.22 .15 -.05 .38 305 65.5)"/> + <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.24 .05 0 .44 278.9 97.7)"/> + <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.17 .17 -.06 .33 339 70)"/> + <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.24 .02 0 .4 276.4 128)"/> + </g> + <path fill="#ffdf00" stroke="#000" d="M301.2 272.8S265.8 609.4 372 609.4c88.5 0 88.5-53.1 106.2-53.1l-17.7-124z" transform="matrix(-.58 0 0 .62 630.4 -10.2)"/> + <path fill="#0000c4" stroke="#000" d="M336.6 308.3c0 17.7-35.4 212.6 53.2 265.7 35.4 17.7 88.5-17.7 88.5 0l-17.7-141.7z" transform="matrix(-.58 0 0 .62 630.4 -10.2)"/> + <path fill="#e10000" stroke="#000" d="M372 343.7c0 17.7-17.7 159.4 35.5 194.9 35.4 35.4 124 25.8 124 25.8l-70.9-132.1z" transform="matrix(-.58 0 0 .62 630.4 -10.2)"/> + <path d="m456.2 158-94.8 100-1.7-1.6 94.8-99.9z"/> + <path fill="#cececc" stroke="#000" d="m460.6 184.3 17.7 35.4v17.7c-.8-1.3 0 17.7-17.7 17.7S443 219.7 443 219.7s-17.7 35.4-17.7 70.9 17.7 53.1 17.7 53.1-2.6-36.7 17.7-35.4c20.4 1.2 17.7 17.7 17.7 17.7v35.4h17.8V219.7l17.7-35.4-27.2-53.2-26 53.1z" transform="matrix(-.14 -.14 -.1 .1 553.7 192.2)"/> + <path fill="#cececc" stroke="#000" d="m557.8 95.7-26.3 70.8 17.7 53.2-35.4-17.7 35.4 53.1v35.5H567V255l35.5-53.1-35.5 17.7 17.8-53.2-26.9-70.8z" transform="matrix(-.1 -.16 -.14 .1 526 183.8)"/> + <path fill="#e10000" stroke="#000" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c0 35.8 20.9 187.8 22.6 191.5.1 4.5-4.8 6.4-7.1.9-6.6-17.4-20.8-160-21.3-193.3-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(-.4 0 0 .3 596.3 69.8)"/> + <path fill="#0000c4" stroke="#000" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(-.38 .1 .15 .3 564 38.2)"/> + <path fill="#e10000" stroke="#000" stroke-width=".7" d="M453.4 151.5c0 1 1 2 2.1 2s2.2-1 2.2-2-1-1.8-2.2-1.8q-2 .2-2.1 1.8zm3 4a1152 1152 0 0 1-11.2 95.8c0 2.2 2.3 3.2 3.5.4 3.3-8.7 10.4-80 10.7-96.6.1-6.9-1.9-7.4-4.2-7.3-1.9.1-4.1 1.9-4.1 4 0 2.4 2.9 4.3 5.4 3.7z"/> + <path fill="#0000c4" stroke="#000" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(-.48 .15 .2 .48 623.3 31.6)"/> + </g> + <g fill-rule="evenodd" stroke="#000" stroke-width="1pt"> + <path fill="#e10000" d="M478.4 698a53 53 0 0 0 53.1 0V556.3h-35.4c17.7 53.1 17.7 106.3-17.8 141.7z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/> + <path fill="#0000c4" d="M513.8 609.5c0 88.5-42.5 108.2-42.5 126 17.7 0 29.5-8.3 42.5-19.7 17.7-17.8 19.4-107.7 17.7-106.3z" transform="matrix(.35 0 0 .7 123.5 -90)"/> + <path fill="#0000c4" d="M478.4 609.5c-.9 51.7-44.8 99.6-36.5 110.2 9.4 9.5 36.5-21.7 71.9-4 17.7-17.7 19.4-107.6 17.7-106.3z" transform="matrix(.35 0 0 .7 123.5 -90)"/> + <path fill="#ffdf00" d="M513.8 609.5c0 88.5-40.7 94.4-40.7 118 17.7 0 40.6-12.9 40.7-11.7 17.7-17.8 19.4-107.7 17.7-106.3z" transform="matrix(.35 0 0 .46 112.5 51)"/> + <path fill="#ffdf00" d="M478.4 609.5c-.9 51.7-43.8 95.7-35.5 106.3 9.5 9.4 35.5-17.8 70.9 0 17.7-17.8 19.4-107.7 17.7-106.3z" transform="matrix(.35 0 0 .46 112.5 51)"/> + <path fill="#e10000" d="M478.4 698a53 53 0 0 0 53.1 0V556.3h-35.4c17.7 53.1 17.7 106.3-17.8 141.7z" transform="matrix(-.58 0 0 .62 630.4 -10.2)"/> + <path fill="#0000c4" d="M513.8 609.5c0 88.5-42.5 108.2-42.5 126 17.7 0 29.5-8.3 42.5-19.7 17.7-17.8 19.4-107.7 17.7-106.3z" transform="matrix(-.35 0 0 .7 516.5 -90)"/> + <path fill="#0000c4" d="M478.4 609.5c-.9 51.7-44.8 99.6-36.5 110.2 9.4 9.5 36.5-21.7 71.9-4 17.7-17.7 19.4-107.6 17.7-106.3z" transform="matrix(-.35 0 0 .7 516.5 -90)"/> + <path fill="#ffdf00" d="M513.8 609.5c0 88.5-40.7 94.4-40.7 118 17.7 0 40.6-12.9 40.7-11.7 17.7-17.8 19.4-107.7 17.7-106.3z" transform="matrix(-.35 0 0 .46 527.5 51)"/> + <path fill="#ffdf00" d="M478.4 609.5c-.9 51.7-43.8 95.7-35.5 106.3 9.5 9.4 35.5-17.8 70.9 0 17.7-17.8 19.4-107.7 17.7-106.3z" transform="matrix(-.35 0 0 .46 527.5 51)"/> + </g> + <g fill-rule="evenodd" stroke="#000"> + <path fill="#908f8a" stroke-width="4.5" d="m198.6 78-89.7 35.4 89.7 35.4 44.8-17.7 22.4 17.7 22.4 35.4 22.5-35.4 22.4-17.7H1535V95.7H333l-22.4-17.8c0-17.7 4.7-35.4 22.5-35.4h89.6c0-17.7-44.8-53.1-134.5-53.1-89.6 0-134.5 35.4-134.5 53.1h89.7c17.7 0 22.4 17.7 22.4 35.5l-22.4 17.7z" transform="matrix(.12 0 0 .22 217.8 324.4)"/> + <path fill="#b74d00" stroke-width="1.8" d="M204.3 95.7H541v17.7H204.4zm0-17.8H541v17.8H204.4zm0-17.7H541V78H204.4zm0-17.7H541v17.7H204.4zm0-17.7H541v17.7H204.4zm0-17.8H541v17.8H204.4zm0-17.6H541V7H204.4z" transform="matrix(.28 0 0 .27 216 334.6)"/> + <path fill="#908f8a" stroke-width="3.3" d="m423.2 60.2 137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.25 0 0 .27 171.9 315.2)"/> + <path fill="#908f8a" stroke-width="3.3" d="m423.2 60.2 137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.25 0 0 -.27 171.9 382.2)"/> + <path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124z" transform="matrix(.28 0 0 .27 159.6 315.2)"/> + <path fill="#908f8a" stroke-width="3.3" d="m423.2 60.2 137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.25 0 0 .27 216.2 315.2)"/> + <path fill="#908f8a" stroke-width="3.3" d="m423.2 60.2 137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.25 0 0 -.27 216.2 382.2)"/> + <path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124z" transform="matrix(.28 0 0 .27 238.4 315.2)"/> + <path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124z" transform="matrix(.28 0 0 .27 204 315.2)"/> + <path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124z" transform="matrix(.28 0 0 .27 194 315.2)"/> + </g> + <g fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt"> + <path d="M655.5 396.9c0 88-55.6 159.4-124 159.4s-124-71.4-124-159.4 55.5-159.5 124-159.5 124 71.4 124 159.4zm-17.7 0c0 78.2-47.6 141.7-106.3 141.7s-106.3-63.5-106.3-141.7c0-78.3 47.6-141.8 106.3-141.8s106.3 63.5 106.3 141.8z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/> + <path d="M579.8 250c-14.9-8.1-31.2-12.6-48.3-12.6s-33.4 4.5-48.3 12.5l7 16.4a83 83 0 0 1 82.7 0z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/> + <path d="M579.8 250c-14.9-8.1-31.2-12.6-48.3-12.6s-33.4 4.5-48.3 12.5l7 16.4a83 83 0 0 1 82.7 0z" transform="matrix(.58 0 0 -.62 9.8 479.3)"/> + </g> + <path fill="#a7cfff" fill-rule="evenodd" d="M379.6 235.9c0 48.5-27.7 87.8-61.7 87.8s-61.6-39.3-61.6-87.8 27.6-88 61.6-88 61.7 39.4 61.7 88"/> + <path fill="#afff7b" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M637.8 396.9c1.1 26.6-4.6 39.6-11.9 67.3-1.9 3-11-6.5-16.4-11.2s-7.8 4.2-14.6-3c-6.7-7.4-11 2-16-4.2s-51.3-7-51.3-7.6c4.6-2.2 28.2.2 24.4-11.1-4.3-11.8-31-.4-34.6-15.4-2.5-15-53.6-15.6-57.3-19.2 1.5 5.6 39.8 8 38.9 22.5-.9 6-37.7 7.7-41.3 12.7-3 6.3 29-1.7 30.1 6 0 3.2-4.7 0-21.3 5-8.4 2.5 15.4 10.3 6.4 14.6s-28.3 6.2-27.5 8c3 9 44.7 19.6 40.6 21.1-14.8 6.6-22.6 10.9-29.7 14.7a168 168 0 0 1-31.1-100.2c31.7-11.4 25-13.8 83.6-13.8s78 2.3 129 13.8z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M637.8 396.9c-8 0-16.4 3.4-25 3.4s-17.5-3.5-26.5-3.5-19.3 4.6-28.5 4.6c-9.3 0-17.4-4.5-26.7-4.5s-18.6 3.4-27.8 3.4-18.3-3.5-27.2-3.5-17.7 3.5-26.2 3.5-16.8-3.5-24.7-3.5q.2-29.4 8.4-55.1c27 2 11-15.7 27-15.7a33 33 0 0 1 25.3 9.8c2.4 0 14.4-11.4 27.9-9.8s8.5 27.3 26.4 28.6c9 6.8 14.3 11.1 26.7 13.9 17.7 1.6 68.4-2.5 68.7-.2a188 188 0 0 1 2.2 28.6z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/> + <path fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M549.9 474c0-5.7 13.5-9.5 13.5-18.6s-12-9.3-12.4-17.8c-.2-3.5 10.3-7 14.9-7.4s8.5 7.4 8.5 9.1-4.7-4.2-8.6-4.3-12.3.6-12.3 2.3c0 3.4 14.8 7.6 13.7 19-1.1 11.2-12.7 14.6-12.7 18s5 12.8 5 12.8-9.7-7.5-9.7-13.2z" transform="matrix(.2 0 0 .48 217.2 59.5)"/> + <path fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M549.9 474c0-5.7 13.5-9.5 13.5-18.6s-12-9.3-12.4-17.8c-1-4 11.8-6.6 16.4-6.9s10 8 10 9.6-5.4-5.2-9.3-5.3-14.6.6-14.6 2.3c0 3.4 14.8 7.6 13.7 19-1.1 11.2-12.7 14.6-12.7 18s5 12.8 5 12.8-9.7-7.5-9.7-13.2z" transform="matrix(-.2 0 0 .48 445.8 59.1)"/> + <path fill-rule="evenodd" d="M333 264.9c0 1.3-.7 2.4-1.5 2.4s-1.4-1.1-1.4-2.5.6-2.4 1.4-2.4 1.5 1.1 1.5 2.5m17 9h.4v19.5h-.5zm4.1-1.6h.5V292h-.5z"/> + <path fill-rule="evenodd" d="M352.6 281.2v-.5l4 .7v.5z"/> + <path fill="#b74d00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M497.3 478s26 11.4 31.7 18.2 3.4 6.8 3.4 6.8l57.7 2.3c0-3.4 10.2-3.4 12.5-11.4s2.3-10.2 2.3-10.2l-18.1 5.7 1-10.2H572l-2.3 10.2-34-1.1L538 461l-6.8 1.1-1 26c-1.2 0-31.8-7.9-33-10.1z" transform="matrix(.58 0 0 .62 7 -9.5)"/> + <path fill="#fede00" fill-rule="evenodd" stroke="#fede00" stroke-width="1pt" d="M440.5 316.3s37.7-11.2 92.1-10.4 92.1 12.8 91.3 12.8-10.4-18.4-10.4-18.4-38.4-10.5-81.7-11.3c-43.2-.8-80.9 8-80 8.8z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/> + <path fill="#38a9f9" fill-rule="evenodd" d="m306 169.8 13.6-.2.2 7.9-13.6.3zm-31.2 4.3L270 182l16.2-2-1.3-7.7-10.1 2zm13.7-3 13.6-1.1.6 7.8-13.5 1.2zm48.9-.7-13.5-1-.5 8 13.5.8zm29.2 5 4.9 9.6-14.6-3.6 1.6-7.7 8 1.6zm-11.8-3-13.4-1.7-1 7.8 13.5 1.8z"/> + <path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="m532.6 323.5-2.5-13.5-7.6 11.5 2.8-13.5-11.3 7.7 7.6-11.3-13.4 2.8 11.5-7.6-13.5-2.5 13.5-2.6-11.5-7.6 13.4 2.8-7.7-11.3 11.4 7.7-2.8-13.5 7.6 11.5 2.5-13.5 2.6 13.5 7.5-11.5-2.7 13.5 11.3-7.7-7.7 11.3 13.5-2.8-11.5 7.6 13.5 2.6-13.5 2.5 11.5 7.6-13.5-2.8 7.7 11.3L540 308l2.8 13.5-7.6-11.5z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/> + <path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M547 293.9c0 9.3-6.6 16.8-14.8 16.8s-14.8-7.5-14.8-16.8S524 277 532.2 277s14.8 7.6 14.8 17z" transform="matrix(.57 0 0 .5 18.3 21.8)"/> + <path fill-rule="evenodd" d="M320.7 170.6c0 .5-1.3 1-2.8 1s-2.8-.5-2.8-1 1.2-1 2.8-1 2.8.4 2.8 1m6 0q-.2.9-2 1c-1.8.1-2.2-.5-2.2-1s1-1 2.1-1 2.1.4 2.1 1"/> + <path fill="none" stroke="#000" stroke-width="1pt" d="m529.4 297.9.8.8c-1.9-2-1-1.2 1.6 3.2 2.4-.5 3.1-1.4 4.8-2.4" transform="matrix(.56 -.18 .17 .6 -26.7 90.6)"/> + <path fill="none" stroke="#000" stroke-width="1pt" d="m527.8 304.3.8.8c-1.9-2-1-1 3.2 1.6 4 .5 8.1-1.2 10.5-4" transform="matrix(.58 0 0 .62 8.7 -10.2)"/> + <path fill="#b7e1ff" fill-rule="evenodd" d="M281.4 194.8s1 8-5.1 18-5.1 6.4-5.1 6.4 2.8 5.5 2.3 5.5-4.7-5-4.7-5l-5 5.5s4.6-8.5 4.1-8.5-1.4-3-1.4-3l3.7-1.5s5.6-10.4 5.6-9.9-16.7 11.4-16.7 11.4zm3.7 3c-.5 0 2.3 8 4.7 12 2.3 4 2.3 8.9 2.3 8.9l7.9 4-10.2-15.4 6.5 2.4zm0 20.9s5.6 6 6 8 .5 6.4.5 6.4l-2.3-5-3.3 4.5s2.4-7 1.9-7.5-3.7 2.5-3.7 2.5 1.4-4 1.4-4.4 0-3-.5-4.5m-27.9 13.9c1.9-1.5 5.6-2.5 5.6-2.5s-2.3 4-2.8 4-1.8 0-2.8-1.5m64.1-21.8s12.1 7.4 12.1 7.9-7.9-3.5-7.9-3.5zm-21.8-15.5c1 .5 17.7 14.4 17.2 14.4s-7.4-4-7.4-3.4v3.4l-3.8-7.9-.9 3zm4.2 22.4 4.6 9.4 4.7-1s-8.8-8.4-9.3-8.4m14.4-6 .5 9s2.7 2.5 2.7 2-2.7-10.5-3.2-11"/> + <path fill="#984000" fill-rule="evenodd" d="M182.6 89.5s21-11.6 44.9-20.2a304 304 0 0 1 54.2-14.4c7 0 19.2 17.8 21.2 17.8s10.1-5 20.3-5 16.1 8 18.2 8h18.2c2 0-6.1-19.8 0-18.8 3 .5 28.8 4.5 52.8 12.2 24 7.8 58 21.6 58 21.6S414.9 98 400 95.9c-2 1 0 13-3 7.7-4.6-1-21.7-3.7-24.7-3.7s-8.7 3.4-16.8 5.4c-8 2-18.2 5-18.2 5l13.2 20.7-16.2 8s-10.1-23.8-14.2-23.8-6 16.8-11.1 15.8-7-15.8-11.1-19.8c-4-3.9-25.4-5.4-33.5-7.3-8-2-21.1-3.5-28.2-5.5s-14.2 5-17.2 5 4-6 1-7-5 3-7 3-23.3-4-25.3-5 5-4.9 3-4.9z"/> + <path fill="gray" fill-rule="evenodd" stroke="#772600" stroke-width="3.7" d="M463-65c0 21.2-20.6 38.4-45.9 38.4S371.3-43.8 371.3-65s20.5-38.3 45.8-38.3S463-86.1 463-65z" transform="matrix(.22 0 0 .26 231.6 96.5)"/> + <path fill="#984000" fill-rule="evenodd" stroke="#772600" stroke-width="5.3" d="M284.7-60c6.7-6.6 15-16.6 36.7-16.6 5-1.7 5-11.7 16.6-11.7s8.3 10 16.7 13.4c8.3 3.3 76.6-3.4 76.6-3.4s6.6 5 6.6 11.7-5 11.6-6.6 11.6-68.3-5-73.3-3.3-8.3 3.3-20 3.3-15-11.6-23.3-11.6-16.6-1.7-30 6.7z" transform="matrix(.27 0 0 .32 205.4 100.7)"/> + <path fill="none" stroke="#772600" stroke-width="3.5" d="M487.9-76.6h26.6c9.6.1 12.9 3 21.7 3.3h23.3c8.5-.3 13-2.3 21.6-3.3 14.5-.2 9.6-1.3 6.7-10-2.6-6.5-3-9.6-6.7-13.3-1.4-8-4.6-10.8-5-20-1.5-7-4.3-11.7-1.6-20 3.8 5.7 5.3 8 15 8.4 10 0 13.9-.3 20 3.3 4.6 4.9 10.8 3.3 20 3.3 7.6 1.4 8.9 5.3 14.9 8.3 7.1 4 11.7 5 21.6 5 8 1.5 15 2.6 20 5 4.3 5.1 11 6.4 20 6.7 5 0 9-.5 13.3-1.7 7.7.4 15.5 0 25 0 6.2 7.2 7.6 9.9 18.3 10 7.4 5.2 13.6 6 20 8.3h25c9 .7 11.8 4.4 20 6.7a201 201 0 0 0 21.6 8.3 108 108 0 0 0 21.7 1.7c6.1 3.2 13.6 3.4 18.3 6.6 6.9 1.5 16.3 3.3 21.6 5 8.8 1.2 12.2 4 20 5 6.7 2-2.2 3.6-6.7 5-9.8-.3-10.5-4-20-5-5-2.9-12.6-2.5-20-5h-1.6c6.6 4 13 6.5 10 13.4-8.5 0-15.4-1.1-23.3-1.7-8.4-1.6-12.2-3.3-21.6-3.3 9.4-2.3 11.8.2 18.3 3.3 2.4 8-2.8 5-11.7 5-7.6-2.7-12.2-6-21.6-6.7h-20c9.9.4 12 4.1 18.3 8.4.5 2.6-.1 2.4-5 3.3-5.2-4.5-11.9-6-20-8.3-7.9-.3-16.2-1-23.3-3.4-4.9-.3-4.1-6.1 6.7 3.4 6.5 3.8 8.8 7 8.3 10-8.6-2.2-12.8-5.6-18.3-8.4a61 61 0 0 0-23.3-3.3c-8.6-2.3.9-3.6 6.6 5 12.4 8.8-1.6 5-6.6 3.3-7.5-2.1-15.3-5.2-21.7-6.6-5-1.5-9.4-2.9-15-3.4 8.7.8 11.6 3.9 15 10 8.8 6-.4 3.1-8.3 1.7-5-4.4-11.5-6.7-15-11.7-8.3-4.1-8.6-9-3.3 1.7 1.3 3.4 1 10.8 1.6 11.7-6.1-6.7-4.8-8.4-11.6-8.4-4.7-3.2-11.5-5.7-15-10-6.4-.6-6.8-2.9-13.3-5 5.3 6.3 12.4 12.5 16.6 18.4 7.6 4.2 9.7 8 15 11.6 2.1 3.7 8 6.7 1.7 1.7-7.2-7-12.5-8.7-23.3-13.3-6.2-5-8.4-7-15-11.7-9-2.9-5.5-4.5 0 5 6.3 5.8 11.1 12.2 16.6 16.7a68 68 0 0 0 15 13.3c1.5 2.2 6 2.6 0 3.3-5-4.6-12.4-7.5-18.3-11.7-8.3-2.3-12.2-6.6-18.3-11.6-4-5.9-10.4-10.4-15-15-9.6-3.8 1.9 3.6 5 8.3 2.1 6.1 4.8 11 6.6 16.7 2.8 5.5-8.4-1.3-11.6-3.3a57 57 0 0 0-21.7-8.4 298 298 0 0 0-20-3.3c-7.5-2 4.1 4.8 8.4 11.7 8.4 7.9-8.3 1.4-13.3 0a125 125 0 0 0-25-1.7c-10.7.6-3 2 0 6.6 3.3 2.6 5.6 8 5 10-7-1-13-3-21.7-3.3-7 2.3-15.3 1.7-23.3 1.7-.3 4.2 1.5.6 5 5 5.8 2.3 9.6 5.1 8.4 8.3h-48.3c-5.3 1.4 1.1.7 5 6.7-2.2 5.4-5 3.3-11.7 3.3-4.5-1.8-13.6-2.6-18.3-5-4.7 0-4.3-1.2-8.3-1.7 14 10 7 7.5 15 15 1.3.5 4.5 1.7 1.6 1.7M371.3 73.3c-1 0-3.2-5.4-6.6-10-2.4-6-5.4-2.6-8.4-11.7.4-9.4.7-11 0-20-6.8-4.8-9.7-6.2-15-15-8.4-7 1.3-19 2.9-27.8-7.4-1.6-11 11.5-22.3 16.2-8.2 5.5-1-11.4-5-21.2-2.7-13.9-10.8 7-13.8 12.9-5.5 3.7-7.2 8.5-15 1.6 0-5.1 4.9-19.5 2.8-22.3-7.8 3.9-18 15.5-26.1 17.3-8.2-1.7 1.7-14.8 1.7-24.5-3-1-14.7 25.8-19.5 26s-2.7-26-5-25.4c-3.5 5-10.6 15.4-15.5 19-9.5-1.3 1.4-17.5 2.8-23.5 1.6-7.2-8.9 13.8-14.5 15.1-4.1 3.6-12.2 6-15 6.7 3.2-6.2 19-18.7 18-22.3-9.3.3-23.4 12.5-31.3 14-5.2 0-12.4 1.7-13.3 1.6.4-8 19.4-14.6 22.4-19.5-9.3 1.5-27.2 9.7-32.4 16.2-6.2 1.3-14 3-20 0 .9-7.5 14.9-22 18-26.8-8.5 3.7-12.7 6.6-21.7 8.3-1.7 1.7-6.5 5.3-5 1.7 2.7-7 6.7-10 10-15-7.5 1.4-10.3 5.7-18.3 10-5.1.2-19.7 14.9-24.6 15.1a69 69 0 0 1-28.3 13.3c-7.6 1.4-11.3 3-15 6.7 3.8-6.7 9.6-13 15-16.6a30 30 0 0 1 15-13.4c1.9-2.3 7.1-2.9 1.6-3.3-4.7 4.2-12.7 9-16.6 11.7-5.1 3.2-11 6.4-13.4 5 2.7-7.2 7.5-9 11.7-15 8.8-5.6 0-2-6.7 0-4.3 3.8-12 6.7-18.3 10-7 1.8-11.7 6-20 8.3 0 2.4 2.4-4.3 3.4-6.7 6.8-7.4 8.6-9.5 16.6-11.6 2-2.9 4.4-1.7-1.6-1.7-4.6 4-10.8 6.2-16.7 10-5.9 1.3-13.6 1.7-21.6 1.7-10.4 1.2-9.5 2 0-3.4 5.3-5 9.7-3.7 10-10-6.3 4.6-14 8-21.7 11.7-6.4.2-8.1 1.7-15 1.7 3.3-3.4 5.3-7.7 10-10 7-7.7-4.4-1.5-6.7 0h-25c-4.4 5.6-.2 0 3.4-3.4 4.3-2.2 8.8-5.1 8.3-6.6-5 4.3-10.7 6.3-15 10-4.6 1.4-10 2-10 3.3 3.7-5.3 9.6-8.6 13.4-13.3 5.6-1.2 10.4-3 11.6-5h-23.3 16.6c8.5 0 15.7-.8 23.4-1.7 13.2-2.2-1.2-3.3-8.4-3.3-1.3-2.6 4.2-4 10-5C-6.7-69-.4-71.1 5-73.3a45 45 0 0 0 13.3-6.6c-5 .2-5 1.4-10 1.6 7.5-.5 12.8-1.6 21.7-1.6a239 239 0 0 0 21.6-8.3c3-3.6 4.2-3.4-3.3-3.4 6.7-2.1 16.2-3.2 21.6-5a94 94 0 0 0 20-6.6c4.9-3.3 7.7-7.2 13.3-10 6.5 4.4 6.6 5 18.3 5 9.4-.1 15.2-2.4 20-6.7 7.2-2 8.5-5.4 16.7-6.6a134 134 0 0 0 23.3 1.6c8-2.1 15.7-6 21.6-10 5.1-2.5 11.2-6.1 16.7-8.3 6 3.1 10.8 5.6 18.3 6.7 7.7-1.2 11.8-5 18.3-6.7a28 28 0 0 1 15-8.3c9.7-4.8 9 1.5 13.3 6.6 5 5.2 11.4 2.7 18.3 5 3.9 6 6.7 10 11.7 13.3 3.9 4.8 8.5 6 16.7 6.7 3 4 .6 6.8 6.6 8.3 2.4 2.6 6.5 3.6 10 5" transform="matrix(.27 0 0 .32 205.4 104.9)"/> + <path fill="none" stroke="#782600" stroke-width="3.1" d="M468.7 30.8v.8c0-2.3 0-1 1.7 3.4.6 3.6-.8 3.2-2.5 5.8-.3 3.7-.8 6.4-.8 10.8-.6 3.6-2.6 7-4.2 10-1.6 3.1-8.5 4.9-8.3 9.2-4 1.1-4.1-1.5-4.2-5.9-2.4-2.7-3.2-6.4-5-10-1-3.4-3.4-6-5-10-2.4-3.7-4.5-4.8-6.6-9.1-.9-2-.7-4.6-2.5-5.8-2.7-3.5-4.5-4-9.2-4.2-3.6.8-5 2.4-8.3 3.3-2.6.9-7.6.6-10.8 1.7-.8 1.3 1.6 2 2.5 5-2.2 1.8-3 4.9-4.2 7.5-2 2.5-3.3 3.7-4.2 7.5 1.4 2.3.2 5.4-1.6 7.5-.6 3.8-2.5 5.9-3.4 9.1-2.6 1.9-3.6 3.6-5.8 6.7-1.9 2.7-3.6 2.5-8.3 2.5-3.7-1-4.2-3-7.5-4.2q-.2-1.3-1.7-1.6" transform="matrix(.27 0 0 .32 205.4 104.9)"/> + <path fill="#812e00" fill-rule="evenodd" d="M307.6 125.5s-.4 5-3.6 8.3-9.8 7.1-9.8 7.1 8.9-4.2 9.8-3.3-5.7 8.3-5.7 8.3 8.7-7.7 9.8-7.7 3.6 7.5 4.6 7.3-2-9.5-1.6-11c.4-1.4 0-9.3 0-9.3l-3.4.3zm20.5-.6s-.4 5.3-3.6 8.8-9.8 7.6-9.8 7.6 8.9-4.5 9.8-3.5-5.7 8.8-5.7 8.8 8.7-8.2 9.8-8.2 3.6 8 4.6 7.8-2-10.2-1.6-11.7c.4-1.6 0-10 0-10zm-28.7-48c0 .9-1 1.7-2.1 1.7s-2.2-.8-2.2-1.8 1-1.8 2.2-1.8 2.1.8 2.1 1.8z"/> +</svg> diff --git a/apps/web/public/flags/ee.svg b/apps/web/public/flags/ee.svg new file mode 100644 index 00000000..8b98c2c4 --- /dev/null +++ b/apps/web/public/flags/ee.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ee" viewBox="0 0 640 480"> + <path fill="#1791ff" d="M0 0h640v160H0z"/> + <path fill="#000001" d="M0 160h640v160H0z"/> + <path fill="#fff" d="M0 320h640v160H0z"/> +</svg> diff --git a/apps/web/public/flags/eg.svg b/apps/web/public/flags/eg.svg new file mode 100644 index 00000000..88e32b3a --- /dev/null +++ b/apps/web/public/flags/eg.svg @@ -0,0 +1,38 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-eg" viewBox="0 0 640 480"> + <path fill="#000001" d="M0 320h640v160H0z"/> + <path fill="#fff" d="M0 160h640v160H0z"/> + <path fill="#ce1126" d="M0 0h640v160H0z"/> + <g fill="#fff" stroke="#c09300" transform="translate(-40)scale(.8)"> + <path stroke-linejoin="round" stroke-width="1.3" d="m450.8 302.4 68.5 63.6-4.9-115.5c-.7-17.5-15.9-13.5-27-7.2-11.1 7.2-24 7.2-37.4 2.5-13.5 4.7-26.3 4.7-37.4-2.5-11-6.3-26.3-10.3-27 7.2L380.7 366z"/> + <path id="eg-a" fill="#c09300" stroke="none" d="m393.5 246.5-4.8 112.3-8 7.2 4.9-115.5a24 24 0 0 1 7.9-4m9.6 8-4 94-8 8.2 4.8-108.5c1.6 1.6 6.3 5.5 7.2 6.3m8.7 7.2-3.1 78.4-6.5 6.3 4-89.4c1.6 1.5 4.8 3.8 5.6 4.7m9.5 4-3.1 66.8-6.3 5.1 3.1-74.3c1.6.7 4.7 2.4 6.3 2.4m8.8 0-2.3 55.7-6.5 6.3 2.5-61.3c1.5 0 5.6 0 6.3-.7"/> + <use xlink:href="#eg-a" width="100%" height="100%" transform="matrix(-1 0 0 1 900 0)"/> + <path fill="#c09300" stroke-width="1.1" d="m453.2 315 9.6 43.8-3.2 3.2-3.3-2.5-5.4-39 2.3 39-3.2 4-3.1-4 2.3-39-5.5 39-3.3 2.5-3.2-3.2 9.6-43.7h6.4z"/> + <g id="eg-b" fill="none" stroke-linejoin="round" stroke-width="1.3"> + <path fill="#fff" stroke-width="1.2" d="m428.5 295.8-19.1 67.7 26.3 4 11.1-50.9z"/> + <path d="m422.2 319 2.3 5.5 12.4-11.8"/> + <path d="m430.8 305 2.6 24.3 7.9-10.4m-3.2 4 4.3 15m1.7-5.5-8.7 13.2m2.7 13.2-2.8-13.2-2.4-13.4-5.9 7.9-2.5-9.1-8.2 8.4 4.1 15.2 5.8-9.4 3.1 9.6 6-9.2"/> + <path d="m415 362 5.3-7.5 3.4 11.5 4.8-8 3.1 9.6"/> + </g> + <use xlink:href="#eg-b" width="100%" height="100%" transform="matrix(-1 0 0 1 900 0)"/> + <g stroke-linecap="round" stroke-linejoin="round" stroke-width="1.3"> + <path stroke-width="2.4" d="M450 393.8c20 0 39-1.6 50.2-4.7 4.7-.9 4.7-3.3 4.7-6.5 4.8-1.6 2.4-7.2 5.7-7.2-3.4 1-4-5.5-8-4.7 0-5.6-5.7-6.3-10.4-4.7-9.5 3.1-26.3 3.9-42.2 3.9-16-.8-32.6-.8-42.2-4-4.7-1.5-10.3-.8-10.3 4.8-4-.8-4.7 5.6-8 4.7 3.3 0 .8 5.7 5.6 7.2 0 3.2 0 5.6 4.8 6.5 11 3.1 30.2 4.7 50.1 4.7"/> + <path d="M422.9 363.5c6.4.9 13.6 1.6 19.2.9 3.2 0 5.5 5.5-.9 6.3-5.5.7-14.3 0-19-.8a231 231 0 0 1-18.4-4c-5.6-2.4-1.6-7 1.6-6.4a105 105 0 0 0 17.5 4m54.2 0c-6.4.9-13.6 1.6-19 .9-3.4 0-5.7 5.5.7 6.3 5.6.7 14.3 0 19-.8 4-.8 12.8-2.3 18.4-4 5.6-2.4 1.6-7-1.6-6.4a105 105 0 0 1-17.5 4"/> + <path d="M403 360.4c-4.8-.9-7 4.7-5.5 7.9.7-1.6 4-1.6 4.7-3.2.9-2.4-.7-2.4.9-4.7zm19.2 14.7c0-3.2 3.1-2.8 3.1-6 0-1.5-.8-4-2.4-4a3.4 3.4 0 0 0-3.2 3.2c-.7 3.1 2.5 3.6 2.5 6.8m22.7-9.1c4.7 0 4.2 6.3 2 9.5 0-2.3-4-3.2-4-4.8 0-2.4 3.6-2.4 2-4.7m52-5.6c4.9-.9 7.2 4.7 5.6 7.9-.7-1.6-4-1.6-4.7-3.2-.9-2.4.7-2.4-.9-4.7M478 375c0-3.2-3.2-2.8-3.2-6 0-1.5.8-4 2.4-4a3.4 3.4 0 0 1 3.2 3.2c.7 3.1-2.5 3.6-2.5 6.8zm-23-9c-4.7 0-4.2 6.3-2 9.5 0-2.3 4-3.2 4-4.8 0-2.4-3.6-2.4-2-4.7"/> + <path stroke-width=".9" d="M404.7 362c1.6 0 4 .7 4.7 1.6zm7.9 2.4c.8 0 4 .7 5.5 1.6zm28.6 3.2c-1.5 0-4.7 0-5.5.7l5.5-.8zm-8.7 0c-.9-.9-4-.9-5.6 0zm62.8-5.6a8 8 0 0 0-4.7 1.6zm-7.8 2.4c-1 0-4 .7-5.6 1.6zm-28.7 3.2c1.5 0 4.7 0 5.6.7l-5.6-.8zm8.7 0c.9-.9 4-.9 5.6 0z"/> + <g fill="#c09300" stroke="none"> + <path d="M403.3 374.6q-.8-.3-.6-1 .3-1 1-.8c.4 0 .9.6.9.8l-.4.7-.2.1q-.1.3-.7.2m55 3.9q-.4-.2-.6-.7c0-.4.6-1 1-1l.8.4q.5.6-.1 1.2-.5.3-1.1 0zm.3 2.5q-.5-.2-.6-.8t.5-.9l.4-.2.4.2q.6.2.7.8 0 .5-.7.8-.4.3-.7 0z"/> + <path d="M407.8 370q-.7.1-1.2.6c-.6.1-1.4.5-2 0-.6-.1-1.4 0-1.5.8.1.7 1 1 1.6.6.4-.5 1.5-.9 1.7 0-.5.8-.4 1.7-.8 2.4q-.1.7-.5 1.3-.8 0-1.4.3a2 2 0 0 0-1.6.8q-.7.9-.9 2c.1.6 1 .8 1.6.9l2 .6 3.2.9 4.8 1.1.5.1c.7.2 1-.5 1-1l1-3.6c.2-.5.5-1.5-.4-1.3q-.7.6-1.6.8c-.9 0-.4 1 0 1.3q0 1-.5 1.8-.9.3-1.8-.2c-.5 0-1.7-.3-1.2-1l.5-1.8.5-2c-.4-.7-1 .3-1.5.4s-1.6.3-1 1c.6.4.2 1.1 0 1.7 0 .7-.8 1-1.4.7-.6 0-1.5-.5-1-1.1l.5-1.8.7-2q0-1 .6-1.8c0-.7.5-1.3.5-2q0-.4-.4-.4zm-3.7 7.3h.3q.3.3 0 .6l-.3.2q-.7 0-.6-.3l.3-.3zm-1 5q-.7-.5.3-1.3.4-.3.9.1.9.6 0 1.3-.2.3-.5.2t-.7-.2zm3 1a1 1 0 0 1-.6-1.1q.1-.6.9-.5.9-.1.9.7 0 .5-.3.7zm89.2 0q-.3-.1-.3-.5 0-.6.8-.9.9-.5 1.2.2.5.8-.1 1.2-.2.4-.8.3-.7 0-.8-.2zm-85 1.2q-.6-.1-.6-.8 0-.4.2-.6l.6-.2.6.1q.8.6.3 1.2t-1.2.3zm21.8 1-.2-.3q0-.9.2-1.7l.2-1.5.4-2.8q0-.8.2-1.4 0-1.2.2-2.2c0-.3.3-1 .6-.6q.6.8 1.4 1.5c.4.3 0 .7-.3.8q-.6.3-.5 1l-.2 1.2-.2 2-.1 1.8-.2 1.2q.1.7-.4 1.1-.6.3-1-.1zm29.7-9.8-1.3 1.2c-.6.5.5.7.6 1.1q.3.9.2 1.8.3.9.2 1.7c0 .7-.8.5-1.2.9q-.6.4-1 1l-.4 1.6c0 .5-.3 1 0 1.4l.1.2h.5l1.5-.1 3.7-.3 2.2-.2c.6.1.9-.5.9-1-.4-.7-.1-1.4-.4-2l-.2-2.2c0-.6-.7-.8-1-.4l-1.2.9c-.3.6.6.6.8 1l.1 1.5c.1.6-.5.6-1 .7q-.9.4-1.5-.3-.2-.7-.2-1.5l-.3-2.7-.3-3.2c0-.5-.1-1.2-.8-1.1m-.6 8.2h.3v.8l-.3.1-.4.1h-.2q-.3-.3.1-.8zm-30-9.2c-.3 0-.8.7-1.2.6-.9.1-.8 1-.1 1.3v.8c.1.8-.4 1.5-.3 2.3l-.3 2.6q-.4 1.4-.4 2.7c-.1.8-.7.5-1.2.3v-1q0-1.2-1.2-1.2-1-.1-.8-1.1.6-.4 1.5-.3c1 .2.9-1.1.4-1.6s-1.2-1-1.4-1.6q0-1.3-1.2-2.1c-1.1-.1-2 .8-2.3 1.8q-.8 0-1.4.4c-.7.2-1.7 1.4-.7 1.9.5.1 2.2.5 1.4 1.2q-.7 1-1.9.6c-.7 0-1.5-.4-1.5-1.2q0-1.2-.4-2.3c-.2-.8-1.1-.6-1.2.2q-1 1-.1 2 .3 1.2-.3 2.2c-.2 1-1.2 1-1.9 1.2-.3.2-1.6 0-1.1.7a4 4 0 0 0 2.4.3q1.2-.2 2-1.4c.5-.5 1.4-.2 2.2-.2.7 0 1.5.5 2.3.1.2-.5 1.2-1.5 1.5-.5q.2 1.4 1.5 1.2c.9 0 .5.6.5 1.2q.2 1.3 1.5 1.8h.8q1.2-.3 1.8-1.4l.5-2.2.4-3.4q.3-1.5.4-3.2l.3-2.3q0-.6-.5-.4m-6.7 4.1q.2 0 .2.5t.5.8v.3l-.8.2q-.7 0-1.2-.5l-.2-.2.3-.2.5-.5q.4-.4.7-.4m66-7.9-1.7.3c-1 0-1.5 1-.5 1.6.6 1.5 1.5-.4 2.5-.2 1.4.2 1.5 1.8 1.8 3q.1 1.6.7 3.3c1 1.1-.7 1.8-1.4 1-.6-.7-2-1.5-2.7-.6-.9.4-1 1.6-1.7 2-1.2.3-1.3-1.2-2-1.8-.6-.9-1.7-1-2.6-1.2-.4-.9-.2-2.4-1-3-.8.3-2.2 1.7-1 2.4 1 1-.5 1.4-1 2q-1.1 1.4-1 3c-1.3.7-1.5-.8-1.7-1.7 0-1.1-1-.8-1.7-.4q-1.3.8-2 2v2c.2.9 1.2.5 1.8.4 1-.4 1.4.7.6 1.3-.6.6-2.2.3-2 1.4h1.6c1-.3 2.2-1.1 2.3-2.3.2-1 1.7-.9 2.5-1.1 1-.3 2.3-.4 2.6 1 .7.7 2.2 1.5 3 .5a2 2 0 0 0 1.1-2.3c-.1-.8 1.3-.8 1.7-.3.5.8 2.1.6 2.9 0s1-1.6 2.2-1.6l5.4-1.5c1.4-.3-.2-1.2-.6-1.8-1-.5-2 1.7-3.2.6-1-.7-.9-2-1.2-3.1-.3-1.4-.2-3-1.2-4q-1-1-2.5-.9m-6.8 9.5.5.2q.6.4.7 1 0 .2-.3.3l-.5.2q-.5-.1-.7-.5v-.4q-.3-.5 0-.6zm6.5.4q.5 0 .8.3.2.5-.4.8l-.5.2-.4-.3q-.3-.1-.3-.4.1-.5.8-.7zm-9 0q.3 0 .4.2.3.2.3.6v.6q.2.3-.6.2c-.8-.1-.7 0-.7-.6q0-.5.3-.7t.4-.2zm-5.4 1.5.4.4q0 .4-.2.6-.6.2-1 0v-.1q-.3-.2 0-.3v-.1l.2-.3zm9.2 1.2.5.1v.6h-1.2l-.1-.2q0-.3.2-.4zm-17.1 4.8q-.3 0-.1-.2.3-.4.8-.6a3 3 0 0 0 1.4-1l.4-1-.1-1.4a2 2 0 0 0-.8-1q-.6 0-.8-.6l.4-.9.6-1.2q.6-.3.8.2l.5 1q.4.4.6 1l.4 1 .2 1.3-.2 1.6-.6.8q-.4.5-1 .7-.4.3-.9.4H468zm-6.9.4q-.3-.2-.3-.6c0-.4 0-.3.3-.6q.4-.6 1.4 0t1 .1q.2-.4 1-.5l.5.2q.3.2.3.7c0 .5 0 .5-.3.8q-.3.2-.7.2a1 1 0 0 1-.8-.6q0-.4-.2-.1l-.2.1q-.4.1-.8.5l-.5.1q-.4 0-.7-.3m-19.8-8.9q-1.2.1-1.5 1.3c.2.7.8 1.5.4 2.2.3 1-.8 1.4-1.5.9q-.4-1.5-1.3-3c-.8-.2-1.1 1.1-1.7 1.6.3.7 1.1 1.4 1.2 2.3q.1 1.6-1.1 2.4c-.7.7-1.7.5-2.5.6-1 .6.7.8 1.2.8q1.6.3 3-.8c.7-.3.6-1.7 1.5-1.8l4.8.3c.8.2 2.1-.1 2.7.5 0 1 1 1.8 1.9 2.2.5.2 1-.5 1.5-.6 1-.3.7-1.5 1.3-2h5c.2 0 .3-.5.6-.7l-.2-1.9c-.3-.8 0-1.8-.5-2.5-.9-.2-1.6.5-2.4.6q-1.6.7-1.8 2.3c-.5.9-1.4-.2-1-1l-.1-1c-.5-.5-1.4-.3-2.1-.4l-3-.2q-1.5.1-2.7-.1c-1 0-1-1-1-1.8zm2 3.7 1 .1h1.3q1.5.3 3 .2.3 0 .6.4v2q0 .5-.2.8l-.2.2-.7-.5v-1.4l-.7-.3-2.6-.1-2-.1q-.5 0-.9-.4-.2-.4.4-.7zm11.3.3q.2 0 .2.3l.2.5q0 .2-.2.2-.8.3-1.2 0l.2-.6z"/> + </g> + </g> + <path stroke-width="1.1" d="M450 327.2c32.6-25 29.8-61.8 29.8-61.8l-2.5.2c-6.9 0-23.2-4-27-8.9-4 4.5-20.8 9-27.6 9l-2.5-.3s-2.9 36.7 29.8 61.8z"/> + <path stroke-width=".9" d="M477.2 268h-.8c-6.2 0-20.6-3.1-26.2-7.9-5.8 4.4-20.5 8-26.6 8l-.8-.1a73 73 0 0 0 2.6 18.7 71 71 0 0 0 24.6 37.1 71 71 0 0 0 24.6-37.2 73 73 0 0 0 2.6-18.6z"/> + <path fill="#c09300" stroke="none" d="M439.4 265a62 62 0 0 1-16.6 3l.1 4.1a73 73 0 0 0 2.5 14.5 71 71 0 0 0 14 26.8zm20.6 0v49.2a71 71 0 0 0 14.6-27.6 73 73 0 0 0 2.5-14.5l.1-4h-.8c-3.8 0-10.4-1.2-16.4-3.2z"/> + <g stroke-width="1.3"> + <path stroke-width="1.2" d="M462.3 253c.7.1-.9-3.5-.9-3.5 1.8 1.8 8.4 2.3 8.4 2.3-4-1.8-8-15.1-7.5-25.8.4-10.6-1.5-14.8-3-16.4-2-2-8.5-3.8-12.7-4-2.5-.1-2 1.8-2 1.8-4.5-1.1-9-1.6-11-.2-1.8 1.2-2.2 7.5-.8 6.4 3.3-2.7 6.2-.2 8.2 2.7 1.8 2.5 1.7 9.7-.9 18.2a60 60 0 0 1-10 17.7c4 0 9.6-3.5 9.6-3.5l-1.3 5.5c4.2-2 7.5-5.1 7.5-5.1l4 4.2c1.3-1.8 4-4.2 4-4.2s3.3 3.5 8.4 4z"/> + <path fill="none" d="M446.1 227.6s-2.2 16.4-6.4 21m10-21.5s-1 16.7-3.8 22m6.9-21.3s0 18.2 1 21.3m3-20.4s.8 15.3 4.6 20.8"/> + <path fill="#c09300" stroke-width=".3" d="M442 219.6a8 8 0 0 0-1-3.3c-2-3-4.9-5.4-8.2-2.7 0 0 1.1-3.5 3.6-3.6 1.8-.1 6.1 1.4 9.9 7.8 0 0-2.8-.6-3.5 0-1.2 1-.7 1.8-.7 1.8z"/> + <path fill="#c09300" stroke-width=".3" d="M432.4 209.3q.4-1.6 1.3-2.1c2-1.4 6.4-1 10.9.2 0 0-.4-1.9 2-1.8 4.2.2 10.6 2 12.6 4a8 8 0 0 1 1.5 2.4c-1-1.4-3.8-1.3-4.5-1.2-1 .1-1.7 0-3.1.4q-1.2.3-2.3.8c-.4.4-.8 1.6-1.4 1.6-1 0-1-.2-1.3-.5q-.4-1-.9-1-1.6.2-5-2.5c-2.3-1.8-3.2-2.2-6-2-3 .2-3.8 1.9-3.8 1.9z"/> + <circle cx="448.8" cy="210.7" r="1.2" stroke="none"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/eh.svg b/apps/web/public/flags/eh.svg new file mode 100644 index 00000000..6aec7288 --- /dev/null +++ b/apps/web/public/flags/eh.svg @@ -0,0 +1,16 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-eh" viewBox="0 0 640 480"> + <defs> + <clipPath id="eh-a"> + <path fill-opacity=".7" d="M-158.7 0H524v512h-682.7z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#eh-a)" transform="translate(148.8)scale(.94)"> + <path fill="#000001" d="M-158.3 0h680.9v255.3h-680.9z"/> + <path fill="#007a3d" d="M-158.3 255.3h680.9v255.3h-680.9z"/> + <path fill="#fff" d="M-158.3 148.9h680.9v212.8h-680.9z"/> + <path fill="#c4111b" d="m-158.3 0 340.4 255.3-340.4 255.3Z"/> + <circle cx="352.3" cy="255.3" r="68.1" fill="#c4111b"/> + <circle cx="377.9" cy="255.3" r="68.1" fill="#fff"/> + <path fill="#c4111b" d="m334 296.5 29.1-20.7 28.8 21-10.8-34 29-20.9-35.7-.2-11-34-11.2 33.9-35.7-.2 28.7 21.2-11.1 34z"/> + </g> +</svg> diff --git a/apps/web/public/flags/er.svg b/apps/web/public/flags/er.svg new file mode 100644 index 00000000..48a13b47 --- /dev/null +++ b/apps/web/public/flags/er.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-er" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#be0027" d="M0 0h640v480H0z"/> + <path fill="#b4d7f4" d="m0 480 640-.3V240z"/> + <path fill="#239e46" d="m0 0 640 .3V240z"/> + <path fill="#f3e295" d="M186.2 360.4c-10.7 3-16.8 11.3-16.7 19.1l52.8-.2c.4-8.4-6.5-16.2-17-19.3 51.6-1 96.4-20.4 104.6-32.8-8-3.5-17.4 2.1-24 .8 15.7-7.3 63-37.9 55.3-70.7-6 18.2-24 33.3-31.8 37.4 17.7-26.8 41.8-54.8 20.9-76.4 1 12.5-8 26.3-12 27.4 10.3-28.4 20-64-2.1-87.4 2.9 8.5 1.7 32.4-2.3 33.5-1.2-19.3-4.5-59.8-24.8-59.3 6.4 5.8 9.2 21.4 9.4 37.2a58 58 0 0 0-21.1-27 118 118 0 0 0-41.5-42.2c1.8 12.7 3.3 22.7 21 35.9-9.2-.6-18.4-18.1-28.3-18.6-7.9-.4-14 7.1-26.9 2.8 1.4 4.2 7.4 6.1 8.7 9.2-2.8 2-9.3-.3-14.7-3 7.5 10 19 16 28.8 14 11.7-2.2 24.2-1 36.2 5.8a63 63 0 0 1-22.5.6c6.9 7 11.5 11.7 23.6 11.6 10.7 0 16.4-5.8 19.1-2.2 6.8 8 11.3 16 17 25.4-12.5 1.3-8.7-14.1-22.6-22-7.9 16 9 35.2 20.3 43.2a65 65 0 0 0 7.1 31.5c3.5 6.5 8 13.2 6.3 27.9-6.9-5-13.5-21.8-11-35.1-8.6 2.3-12 17.4-8 25 3 5.7 5 16.8 1.6 21.7-3.4 4.6-3.7 4-3.7 14 .1 5.8-3.2 12.8-8.5 17.7a36 36 0 0 0 1.1-15.8c-4.2 7.2-14.9 14.6-18.2 22.4s-4.1 21.2-20 24.3c-20.6 4-27.7 7.6-40.8 13-1.5-10 2.9-31 11.3-29.7 8.1 1.4 33-8.6 24-29.5-1.7 6.6-7.5 13-13.9 13.3 6.9-8.8 19-18 13.1-32.8a43 43 0 0 1-16.3 18c8.4-16 1-21-9-7.6-3.8 5.1-6.1 15.4-8.5 28.5-4-10.6-3.7-24.6-8.4-36-4.8-12.3 6.5-15.5 11.8-14.5 13 3.5 34.9 3.5 33.3-18.1-5.7 7.3-15.5 9.5-26.2 7 12-8.8 21.4-25.3 8-34a31 31 0 0 1-16.9 24.1 51 51 0 0 1-.3-24.8c-5.2 5.6-9 17-12.1 30.2-.3-13 2.2-22.3 4-29.3 2.8-10.1 9.6-3.5 20-2.8 10.2.6 24-5 21.4-18.7-3.4 5.5-10.5 7.6-17.7 7 8.7-5.3 23.8-14.6 15.5-29-3.5 5.4-4.6 10-14.7 11.7 2.6-6 3-14.7 11-18-14-2.9-22 6.3-26.2 20.7-1.6-10-3.6-13.6-4-21 7.6-8.3 8.4-24.8-8-28.4a35 35 0 0 0 1.2 17.4c-7.7-4.6-18.5-7.1-25.8-.7 5 5.3 12.5 10 24.2 4.2-2.8 9-10 7.5-19.8 4 6 11.3 13.6 13.3 22 12 4.4 11.6 4.6 20.4-8.3 37.2.6-10.4-.1-18.2-8.4-26.7-7.2-7-13 .3-1.8 15.8-6.8-5-14.4-15-16.7-25.1-2.2 12.4-.2 27.1 6.7 35.4-3.3 3.5-7-.4-12.5-9 2 27.4 13.7 32.7 29.4 26.6.4 15 .4 28.9 1.3 47-9.1-13.2-20.7-23-27.1-25.4-2 7.3 5.5 17 9.8 22.3-6.5-1.4-20.5-12-20.5-12-1.4 12.1 14.3 23.4 24.5 28.4-12-.5-17.3-5-25-12.4.2 33.8 36.6 27.9 43.5 22.7l3 52.5c-10.3-1.8-9.5-5-18.3-5.7-24.5-1-43.9-29.4-50.3-50.3-1.9 3.4-.4 7-2.1 11.3-4-10.3-9-23.6-15.9-29.8 1.8 6 2 12.1 1.4 23.3-2.4-7.2-4.5-9.5-4.7-18 .1-6.5 6.3-11.3 6-20.5-.3-6.7-6.4-21.3-7.3-32.5-3 11.6-4.8 23.8-9.4 31 2.3-12.4 1.6-21 5.4-29.3 4.4-8.7 8.1-16.6 5.2-25.4-2.8 3.4-1.9 6.5-9 14.8-1.5-9 9.2-23.5 19.6-29.3 7.3-3.8 16.5-17.6 10.5-27-6.9 5-10 11.6-19.7 23 7-27 25-34.2 46.5-34.3 4.7 0 14.3-1.7 17-8-6 2.3-13.2 2.6-19.6 1.4 4.7-6.9 14.4-6 23.6-6 7.1 0 18.3-1 22.8-11.2a51 51 0 0 1-31 1.9c13.7-7 35-7.8 46-17.1-12.5-9.3-43.7 2.2-63.4 15.7 5.5-5 14.2-14 19-21.2-10.8-5.2-38 25-47.4 43-9 5-12.5 13-16 18.5 4.7-16.1 5.2-27.8 9.2-41C80 138 92.6 194.6 86 208.2c.8-15 .1-34.1-6-44-9.4 7.2-10.2 49.5-1.4 84.7-3.2-9.4-9.2-18.2-11.1-29.7-14 25.4 8.2 55.5 26.7 79.2-14-7.3-27.7-22.9-36.8-36 2.5 45.6 50 55 57.4 66.2-10-4.7-29.1-13.9-37.3-4.2a99 99 0 0 1 32.3 12.1c12.4 15.4 35.7 22.2 76.4 23.9"/> + </g> +</svg> diff --git a/apps/web/public/flags/es-ct.svg b/apps/web/public/flags/es-ct.svg new file mode 100644 index 00000000..4d859114 --- /dev/null +++ b/apps/web/public/flags/es-ct.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-es-ct" viewBox="0 0 640 480"> + <path fill="#fcdd09" d="M0 0h640v480H0z"/> + <path stroke="#da121a" stroke-width="60" d="M0 90h810m0 120H0m0 120h810m0 120H0" transform="scale(.79012 .88889)"/> +</svg> diff --git a/apps/web/public/flags/es-ga.svg b/apps/web/public/flags/es-ga.svg new file mode 100644 index 00000000..573ca45d --- /dev/null +++ b/apps/web/public/flags/es-ga.svg @@ -0,0 +1,187 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-es-ga" viewBox="0 0 640 480"> + <g font-size="12"> + <path fill="#fff" fill-rule="evenodd" d="M0 0h640v480H0z"/> + <path fill="#09c" d="M640 410.1 91.7-.1H0v68.4L550.4 480H640z"/> + </g> + <g font-size="12"> + <path fill="#005bbf" d="M316.4 352.3c-64 0-62-60.3-62-60.3v-92.8h124V292s2.2 60.3-62 60.3"/> + <path fill="none" stroke="#000" d="M296.6 401.2c-60 0-58.1-56.5-58.1-56.5v-86.9h116.3v86.9s2 56.5-58.2 56.5z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#d81126" d="M315.8 141s-13.2-6.5-25.7 3c0 0-22.5-3.3-24.2 18.3 0 .8-.2 2.4.2 3 .5.4.9 1.3.9 1.9q.1.9.5 1.2l.6 1.8c0 1.2-.3 1.7 1 2.9 1 1 1 4.3 1 5.3s.6 3.5 1 4c.6.6 1.4 2 1.4 3.2 0 1 .5 4.2.2 5s1.3 1.8 2.6 2.2 17 5.6 40.1 5.1c23-.3 31.4-1.6 41-5a2.3 2.3 0 0 0 1.6-2.4 7 7 0 0 1 .3-3.3c.4-.6 3.2-5 2.6-5.7-.6-.9-.6-2.6 0-3.2s2.2-4 2.5-5.3.4-3 1-3.3c.6-.5.8-2 1-2.4a4 4 0 0 1 1.2-1.7s1-5.5.4-8.1c-.7-2.7-4.8-14.2-21-11.8 0 0-12.2-9.3-30.2-4.8"/> + <path fill="none" stroke="#000" stroke-width="1.5" d="M296.1 203.2s-12.4-6-24.1 2.8c0 0-21.1-3-22.7 17.2 0 .8-.2 2.3.2 2.8q.7.8.8 1.8t.5 1.1q.2.3.5 1.7c0 1.1-.2 1.6.9 2.7 1 1 1 4.1 1 5s.6 3.3 1 3.8 1.3 1.8 1.3 2.9.4 4 .2 4.7 1.2 1.7 2.4 2.1 16 5.2 37.6 4.8c21.6-.3 29.4-1.5 38.4-4.7a2 2 0 0 0 1.5-2.3c-.2-.6 0-2.6.3-3.1.4-.5 3-4.6 2.4-5.3-.5-.8-.5-2.4 0-3s2.1-3.7 2.4-5 .4-2.7 1-3.1.7-1.9.8-2.2a4 4 0 0 1 1.2-1.6s1-5.1.4-7.6-4.5-13.3-19.8-11c0 0-11.4-8.7-28.2-4.5z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#bcac0b" d="M360.1 181c-50.1-15.8-89-.7-89-.7s.5 1.7.9 2.3 1 1.8 1 2.7v3c0 .8-.4 4 2.4 3.9 0 0 35-13.7 80.4.7 0 0 1.3-1 1.3-2.6a9 9 0 0 1 1-4.3c.6-.9 2-3.6 2-5"/> + <path fill="#c8b100" fill-opacity=".9" d="M313.6 264.9h-21.9s-2.1 19.5 14.8 25.5v1.7h3.5v2.4s-6.2 5.5-.8 12v1.8h.9v3.2h1v5s-.8 18.2-18.7 27v1H340v-1c-17.9-8.7-18.7-27-18.7-27v-5h1v-3.2h1v-1.9c5.2-6.4-1-12-1-12v-2.3h3.7v-1.7c16.7-6 14.6-25.5 14.6-25.5h-27.1"/> + <path fill="none" stroke="#000" d="M294 319.3h-20.5s-2 18.3 13.8 23.9v1.6h3.3v2.2s-5.8 5.2-.7 11.2v1.8h.8v3h1v4.7s-.8 17-17.6 25.2v1h44.7v-1c-16.7-8.1-17.5-25.2-17.5-25.2V363h1v-3h.8v-1.8c5-6-.8-11.2-.8-11.2v-2.2h3.4v-1.6c15.7-5.6 13.7-23.9 13.7-23.9z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M286.6 342.9h19.7m-19 1.5h18.4m-15 2.5h11.5m-12.3 11.5H303m-12.4 1.4h11.6m-11.6 2.8h11.5m-18.5 23.2h25.5m-32.7 5.9h40m-41.5.9h43" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#ccc" d="M316.4 263.8a14 14 0 1 0 0-27.9 13.9 13.9 0 0 0 0 27.8"/> + <path fill="none" stroke="#000" d="M296.6 318.3a13 13 0 1 0 0-26.1 13 13 0 0 0 0 26z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#ccc" d="M284 223h-8.6v-8.8h-7.7v8.7H259v7.7h8.7v8.5h7.7v-8.5h8.5V223"/> + <path fill="none" stroke="#000" d="M266.3 280h-8.1v-8.2H251v8.2h-8.2v7.2h8.2v8h7.2v-8h8V280" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#ccc" d="M374.2 223h-8.7v-8.8H358v8.7h-9v7.7h8.8v8.5h7.6v-8.5h8.7z"/> + <path fill="none" stroke="#000" d="M350.8 280h-8.1v-8.2h-7.2v8.2h-8.2v7.2h8.2v8h7.2v-8h8.1V280" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#ccc" d="M328.5 212h-8.7v-8.6H312v8.5h-8.5v7.7h8.5v8.8h7.7v-8.8h8.7V212"/> + <path fill="none" stroke="#000" d="M308 269.7h-8.2v-8h-7.2v8h-8v7.2h8v8.2h7.2v-8.2h8.2v-7.2" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#ccc" d="M284 260.5h-8.6v-8.8h-7.7v8.8H259v7.7h8.7v8.5h7.7v-8.5h8.5v-7.7"/> + <path fill="none" stroke="#000" d="M266.3 315.2h-8.1V307H251v8.2h-8.2v7.2h8.2v8h7.2v-8h8v-7.2" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#ccc" d="M374.2 260.5h-8.7v-8.8H358v8.8h-9v7.7h8.8v8.5h7.6v-8.5h8.7z"/> + <path fill="none" stroke="#000" d="M350.8 315.2h-8.1V307h-7.2v8.2h-8.2v7.2h8.2v8h7.2v-8h8.1v-7.2" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#ccc" d="M284 298.4h-8.6v-8.6h-7.7v8.6H259v7.7h8.7v8.6h7.7v-8.5h8.5v-7.8"/> + <path fill="none" stroke="#000" d="M266.3 350.7h-8.1v-8.1H251v8.1h-8.2v7.2h8.2v8.1h7.2v-8h8v-7.3" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#ccc" d="M374.2 298.4h-8.7v-8.6H358v8.6h-9v7.7h8.8v8.6h7.6v-8.5h8.7z"/> + <path fill="none" stroke="#000" d="M350.8 350.7h-8.1v-8.1h-7.2v8.1h-8.2v7.2h8.2v8.1h7.2v-8h8.1v-7.3" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#005bbf" d="M316.3 122.4a8.4 8.4 0 1 0 0-16.8 8.4 8.4 0 0 0 0 16.8"/> + <path fill="none" stroke="#000" d="M296.5 185.8a7.8 7.8 0 1 0 0-15.7 7.8 7.8 0 0 0 0 15.7z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="M324 112.5h-6.8v-11h2.7v-2.2h-2.7v-2.7h-2.1v2.6h-2.7v2.2h2.6v11.1h-6.4v1.5H324z"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".5" d="M303.8 176.6h-6.4v-10.4h2.5v-2h-2.5v-2.5h-2v2.4h-2.5v2.1h2.4v10.4h-6v1.4h14.5v-1.4" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="M282.9 132.3s6.2-.7 9.7.7c0 0-4 4.7-3.2 10.8a15 15 0 0 0 2 6.4 11 11 0 0 1 1.3 7h1.2s1.1-5-.8-7.8a11 11 0 0 1-1-11c2-4 4.9-5.7 4.9-5.7a18 18 0 0 0 12.1-1.4c2-1.4 3-3.4-.6-3.5-3.8-.2-10-.1-14.2 3.1 0 0-2.2-2.6-13.4-1.4s-19.2 6-21.8 16.1c-1.3 5.2 3.5 16 7.9 18.5 0 0-.1-1.7.3-3 0 0-7.5-8.4-5.3-16.2s11.3-12.8 20.9-12.6"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".7" d="M265.2 195.1s5.8-.6 9.1.7c0 0-3.8 4.4-3 10.1.4 3 1 4.5 1.9 6 .8 1.3 1.7 4.3 1.2 6.6h1.1s1.1-4.8-.7-7.4a10 10 0 0 1-1-10.3c1.9-3.8 4.6-5.3 4.6-5.3 3 1.2 9.6 0 11.4-1.3s2.8-3.2-.6-3.3c-3.5-.2-9.3-.1-13.3 2.9 0 0-2.1-2.4-12.6-1.3-10.5 1.2-18 5.7-20.4 15.1-1.2 4.8 3.3 14.9 7.4 17.3 0 0-.1-1.6.3-2.8 0 0-7-7.9-5-15.2 2.2-7.2 10.6-12 19.6-11.8z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M303.9 130.8c2-.2 3.5-.5 3.4-.8 0-.3-1.6-.3-3.5-.2q-3.2.3-3.4.8c0 .3 1.6.3 3.5.2"/> + <path fill="none" stroke="#000" stroke-width=".7" d="M278.3 195.4s-2 2 0 0 6.4-3.2 8.9-2.7c2.4.6-.5.9-1.3 1s-2.4.3-4.8 0" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="M349.5 133s-6-.7-9.7.7a16 16 0 0 1 1.3 17c-1 1.7-1.9 4.8-1.4 7.2h-1s-1.3-5 .7-7.9a11 11 0 0 0 1-10.9 13 13 0 0 0-4.8-5.7c-3.3 1.3-10.4 0-12.3-1.4s-3-3.3.8-3.6c3.6-.2 9.9 0 14.1 3.2 0 0 2.2-2.6 13.5-1.3 11 1.1 19.2 6 21.6 16 1.3 5-3.4 15.9-7.8 18.4 0 0 0-1.7-.3-3 0 0 7.5-8.3 5.3-16-2.3-7.9-11.2-12.9-21-12.7"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".7" d="M327.7 195.8s-5.7-.7-9.1.6a15 15 0 0 1 1.2 16c-.9 1.5-1.8 4.4-1.3 6.7h-1s-1.2-4.7.7-7.4a10 10 0 0 0 .9-10.2 13 13 0 0 0-4.5-5.4c-3.1 1.3-9.7 0-11.5-1.3s-2.8-3.1.7-3.3c3.4-.2 9.3-.1 13.3 3 0 0 2-2.5 12.6-1.3 10.4 1.1 18 5.6 20.3 15 1.2 4.8-3.2 14.9-7.3 17.3 0 0 0-1.6-.3-2.8 0 0 7-7.8 4.9-15.1s-10.5-12-19.6-11.8z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M328.5 131.4c-1.9 0-3.4-.4-3.4-.7s1.6-.3 3.5-.2c2 .2 3.6.5 3.6.7 0 .3-1.6.4-3.7.2"/> + <path fill="none" stroke="#000" stroke-width=".7" d="M314.6 196s2.1 2 0 0c-2-1.9-6.4-3.2-8.8-2.6-2.5.5.4.8 1.2.9.9 0 2.5.4 4.9 0" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="M310.5 126v24c-.2 2.3 2.9 5.7 5.1 6.6 0 0 5.4-1.7 5.7-6.6v-25h-1.8v21.7c0 2.1-1.5 6.2-3.6 6.8 0 0-3.8-.6-4-6.8v-21.1l-1.4.6"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".7" d="M291.1 189.3v22.3c-.2 2.2 2.7 5.3 4.8 6.2 0 0 5-1.6 5.3-6.2v-23.5h-1.7v20.4c0 2-1.4 5.8-3.3 6.4 0 0-3.6-.6-3.8-6.4v-19.8l-1.3.6" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M258 158.7a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M241.8 219.8a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M256.1 152.1a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M240.1 213.7a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M257 144.2a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M241 206.3a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M261.4 137.6a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M245.1 200.1a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M266.7 132.8a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M250 195.6a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M273.5 130.1a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M256.4 193.1a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M280.5 129a2.9 2.9 0 1 0 0-5.8 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M263 192a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M287.3 128.5a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M269.3 191.6a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M293.3 129a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.8"/> + <path fill="none" stroke="#000" d="M275 192a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M310.4 126.8a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M291 190a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M316 128.3a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M296.2 191.4a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M316 149.5a2.9 2.9 0 1 0 0-5.8 2.9 2.9 0 0 0 0 5.8"/> + <path fill="none" stroke="#000" d="M296.2 211.2a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M374.7 160.5a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M351.3 221.5a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M376.2 153.5a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M352.7 215a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M375 146a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M351.6 208a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M372 139.1a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M348.7 201.5a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M366.7 134.3a2.9 2.9 0 1 0 0-5.8 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M343.8 197a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M360.4 131.1a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M337.9 194a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M353.2 129.5a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M331.1 192.5a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M346.7 129a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M325 192a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M340.7 128.2a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M319.4 191.3a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M344.5 151.4a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.8"/> + <path fill="none" stroke="#000" d="M323 213a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M346 146a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M324.4 208a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M322.1 127.8a2.9 2.9 0 1 0 0-5.8 2.9 2.9 0 0 0 0 5.8"/> + <path fill="none" stroke="#000" d="M302 190.9a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M308.3 127a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M289 190.1a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M304.9 126.8a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M285.8 190a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M286.7 151.5a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M268.8 213.1a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M285.9 144.8a2.9 2.9 0 1 0 0-5.8 2.9 2.9 0 0 0 0 5.8"/> + <path fill="none" stroke="#000" d="M268 206.8a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M288 138.2a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M270 200.6a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M300.5 127.5a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M281.7 190.6a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M295.7 129.4a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M277.2 192.4a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M291.2 133.2a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M273 196a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M316 131.5a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M296.2 194.4a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M316 137a2.9 2.9 0 1 0 0-5.8 2.9 2.9 0 0 0 0 5.8"/> + <path fill="none" stroke="#000" d="M296.2 199.5a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M316 142.7a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M296.2 204.9a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M325.8 127a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.8"/> + <path fill="none" stroke="#000" d="M305.4 190.2a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M329.6 126.2a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M309 189.4a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M334 126.8a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M313.2 190a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M345 139a2.9 2.9 0 1 0 0-5.6 2.9 2.9 0 0 0 0 5.6"/> + <path fill="none" stroke="#000" d="M323.5 201.4a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M338.5 129.5a2.9 2.9 0 1 0 0-5.8 2.9 2.9 0 0 0 0 5.8"/> + <path fill="none" stroke="#000" d="M317.3 192.5a2.7 2.7 0 1 0 0-5.4 2.7 2.7 0 0 0 0 5.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M342.5 133.4a2.9 2.9 0 1 0 0-5.7 2.9 2.9 0 0 0 0 5.7"/> + <path fill="none" stroke="#000" d="M321.1 196.1a2.7 2.7 0 1 0 0-5.3 2.7 2.7 0 0 0 0 5.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="m315.7 176-7.4 3.8 6.7 4.3 8-4z"/> + <path fill="none" stroke="#000" stroke-width=".5" d="m296 236-7 3.6 6.3 4 7.5-3.8-6.8-3.8" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="m299.3 176.8-11.2 1.7s-.2 6.1.3 7.5l11.7-1.5s.5-5.7-.8-7.7"/> + <path fill="none" stroke="#000" stroke-width=".5" d="m280.6 236.8-10.5 1.6s-.2 5.7.3 7l10.9-1.4s.5-5.3-.7-7.2z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#058e6e" fill-opacity=".9" d="M298.1 179s-6.8.6-8.5 1.2v4s4.6-.7 8.6-1V179"/> + <path fill="none" stroke="#000" stroke-width=".5" d="M279.5 238.8s-6.4.6-8 1.2v3.8s4.3-.7 8.1-1l-.1-4" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="m331.4 177 11.3 1.8s.1 6.1-.4 7.5l-11.5-1.5s-.6-5.6.6-7.7"/> + <path fill="none" stroke="#000" stroke-width=".5" d="m310.7 237 10.6 1.7s.1 5.7-.4 7l-10.8-1.4s-.5-5.3.6-7.2z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#058e6e" fill-opacity=".9" d="M332.8 179.3s6.7.6 8.4 1.2v4.1s-4.6-.8-8.6-1v-4.3"/> + <path fill="none" stroke="#000" stroke-width=".5" d="M312 239.1s6.3.6 7.9 1.2l-.1 3.8s-4.2-.7-8-1l.1-4" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="none" stroke="#000" stroke-width=".5" d="M254.2 241.8s37-13.7 84.2 1.2m-82.7 6.7s35.9-13.4 80 .6m-79.8-9 7.2 2.1-5 5.4" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="red" d="m273 188.5 4.5-3.7-5-1s.7.8.6 1.5v3.2"/> + <path fill="none" stroke="#000" stroke-width=".5" d="m256 247.8 4.2-3.5-4.7-.9s.6.7.5 1.4zm81.6-5.1-7.7 1.4 5.2 6" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="red" d="m357.7 188.8-3.1-3.2 4.4-.5s-1.2.8-1.2 1.5.2 1.6 0 2.2"/> + <path fill="none" stroke="#000" stroke-width=".5" d="m335.3 248-2.9-3 4.2-.4s-1.2.7-1.2 1.4v2zm-70-6.2q1 0 1.2-1-.2-.7-1.2-.9-1.1.1-1.2 1 0 1.2 1.2 1zm20.6-2.3q1.1 0 1.2-1 0-.8-1.2-.9c-1.2-.1-1.2.4-1.2 1q0 .8 1.2.9zm0 3.3q1.1 0 1.2-.9 0-1.2-1.2-1c-1.2.2-1.2.5-1.2 1s.5 1 1.2 1zm20.3-3.1q1-.1 1.2-1c.2-.9-.6-1-1.2-1q-1.1.1-1.2 1 0 1.2 1.2 1zm20.1 3.7q1.1-.1 1.2-1 0-1.2-1.2-1c-1.2.2-1.2.5-1.2 1s.5 1 1.2 1zm-.3 2.6q1 0 1.2-1-.2-.8-1.2-.9-1.1.1-1.2 1 0 1.2 1.2 1zm-19.8-3q1 0 1.2-1-.2-.8-1.2-.9-1.1 0-1.2 1t1.2 1zm-40 3q1.2 0 1.3-1-.2-.8-1.2-.9-1.1.1-1.2 1 0 1.2 1.2 1z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="M270.5 170.6s.1 7.7 5.1 6.6 4.5-7.3 4.8-7.7q.9-.4 1-.3c.1.1.6 6.1 5.3 5.4 4.7-.8 4.5-8.3 4-9.5l1-.4s1.8 8.8 7.2 7.5c5.3-1.3 4.8-6.8 4.8-6.8h.4s1.2 6 5.6 5.5c4.2-.3 5-1.7 4.5-7.7l3-.5s-1.1 8.6 4 8.6c5.2-.4 5.4-4.4 5.7-5.2h.9s.2 6.1 4.6 6.1c4.2 0 5-5.1 5-7.1l4.4.2s-4.5 8 2 9c6.4 1.1 6.6-5 6.6-5h1.3s-.2 8 3.3 8.1c3.6.2 5.7-1 6-7l2 .7s-1.6 9.7-8.3 8c-3.6-1-4.7-5-4.5-6.1 0 0-2.5 4.4-7.4 3-4.8-1.4-4.2-4.9-4.2-6 0 0-3 5.4-7 4.2-3.6-1-5-2.3-5-4.9 0 0-1.8 4.2-5.3 4-3.6-.1-5.4-2.4-5.6-4.3 0 0-.7 3.9-5.5 4.2-3.2 0-5-1.5-5.8-3.7 0 0-1 3.9-5.5 4.5-2.9.3-5.8-1.3-6.4-4 0 0-.8 5.3-5.4 6s-5.7-2.5-5.7-2.5-1 4-4.7 5q-5.6 1.3-7.2-4.5c-.8-3.7-.5-5.3-.5-5.3z"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".7" d="M253.6 231s.1 7.2 4.8 6.2 4.2-6.9 4.5-7.2q.8-.4.9-.3c.1.1.6 5.7 5 5s4.2-7.7 3.7-8.9l1-.3s1.7 8.2 6.7 7 4.5-6.4 4.5-6.4h.4s1.1 5.6 5.2 5.2 4.8-1.6 4.3-7.2l2.7-.5s-1 8 3.9 8c4.8-.3 5-4.1 5.3-4.8h.8s.2 5.7 4.3 5.7 4.8-4.8 4.8-6.7l4 .2s-4.2 7.5 1.9 8.5 6.2-4.8 6.2-4.8h1.2s-.2 7.5 3.1 7.7c3.4.1 5.4-1 5.7-6.6l1.9.7s-1.6 9-7.9 7.4c-3.3-.9-4.4-4.7-4.2-5.7 0 0-2.3 4.2-6.9 2.8-4.5-1.3-4-4.5-4-5.5 0 0-2.7 5-6.5 3.9-3.4-1-4.7-2.2-4.7-4.6 0 0-1.7 3.9-5 3.7-3.4-.1-5-2.2-5.2-4 0 0-.7 3.6-5.2 3.9-3 .1-4.7-1.4-5.4-3.4 0 0-.9 3.6-5.2 4.2-2.7.3-5.4-1.2-6-3.7 0 0-.7 4.9-5 5.5-4.4.7-5.4-2.3-5.4-2.3s-.9 3.8-4.4 4.7q-5.3 1.1-6.7-4.2c-.8-3.5-.5-5-.5-5z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="M280.9 171a1.8 1.8 0 1 0 0-3.6 1.8 1.8 0 0 0 0 3.5"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".7" d="M263.3 231.3a1.7 1.7 0 1 0 0-3.3 1.7 1.7 0 0 0 0 3.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="M304.1 167.2a1.8 1.8 0 1 0 0-3.5 1.8 1.8 0 0 0 0 3.5"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".7" d="M285.1 227.8a1.7 1.7 0 1 0 0-3.3 1.7 1.7 0 0 0 0 3.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="M327.8 168a1.8 1.8 0 1 0 0-3.6 1.8 1.8 0 0 0 0 3.5"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".7" d="M307.3 228.5a1.7 1.7 0 1 0 0-3.3 1.7 1.7 0 0 0 0 3.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="M351.1 171.7a1.8 1.8 0 1 0 0-3.5 1.8 1.8 0 0 0 0 3.5"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".7" d="M329.2 232a1.7 1.7 0 1 0 0-3.3 1.7 1.7 0 0 0 0 3.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="M314.9 165.3h-1.6c-.4 1.6-3.9 2.5-3.9 2.5-.4-1.2.6-3 .6-3-4-1.1-4-2.4-4-2.4.6-1.4 4.3-1.6 4.3-1.6-1-1.2-.9-3.2-.9-3.2 2.5.2 4.5 2.7 4.5 2.7s-2.4-1.3-2.1-5.6c0 0 1.3 0 2.1.9 0 0 0-4.7 2-5.3h.2c1.9.6 1.9 5.3 1.9 5.3.8-1 2.1-.9 2.1-.9.3 4.3-2.1 5.6-2.1 5.6s2-2.5 4.5-2.6c0 0 0 2-.8 3.2 0 0 3.6.1 4.3 1.5 0 0 0 1.4-4 2.3 0 0 .8 1.9.5 3.2 0 0-3.6-1-3.9-2.6H315"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".7" d="M295.2 226h-1.5c-.4 1.5-3.6 2.4-3.6 2.4-.4-1.2.5-2.9.5-2.9-3.7-1-3.7-2.2-3.7-2.2.5-1.3 4-1.5 4-1.5-1-1.1-.8-3-.8-3 2.3.2 4.2 2.5 4.2 2.5s-2.3-1.2-2-5.2c0 0 1.2 0 2 .8 0 0 0-4.4 1.8-4.9h.2c1.8.5 1.8 4.9 1.8 4.9.8-.9 2-.8 2-.8.3 4-2 5.2-2 5.2s1.9-2.3 4.2-2.4c0 0 .1 1.8-.7 3 0 0 3.4.1 4 1.4 0 0 0 1.3-3.8 2.2 0 0 .8 1.7.5 3 0 0-3.3-1-3.6-2.5z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M315.7 166.1a3.2 3.2 0 1 0 0-6.4 3.2 3.2 0 0 0 0 6.4"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M296 226.8a3 3 0 1 0 0-6 3 3 0 0 0 0 6z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M315.7 164.7a1.8 1.8 0 1 0 0-3.6 1.8 1.8 0 0 0 0 3.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M296 225.5a1.7 1.7 0 1 0 0-3.4 1.7 1.7 0 0 0 0 3.4z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="m340.4 167.4 1.6.3c0 1.6 3.2 3.3 3.2 3.3.6-1 0-3 0-3 4.2-.2 4.5-1.6 4.5-1.6-.3-1.4-3.8-2.4-3.8-2.4 1-1 1.4-2.9 1.4-2.9-2.4-.4-4.9 1.5-4.9 1.5s2.7-.6 3.2-5c0 0-1.2-.2-2.1.4 0 0 1-4.5-.9-5.3l-.2-.1c-2 0-3 4.6-3 4.6-.6-1.1-2-1.2-2-1.2-1 4 1 5.8 1 5.8s-1.4-2.8-3.8-3.5c0 0-.5 2 0 3.2 0 0-3.5-.5-4.4.7 0 0-.3 1.4 3.3 3.2 0 0-1.1 1.6-1 3 0 0 3.5-.4 4.2-1.8l1.6.3 2.2.4"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".7" d="m319.1 228 1.5.3c0 1.5 3 3.1 3 3.1.6-1 .1-2.9.1-2.9 3.9-.1 4.1-1.4 4.1-1.4-.2-1.4-3.5-2.3-3.5-2.3 1-.9 1.3-2.7 1.3-2.7-2.3-.4-4.6 1.4-4.6 1.4s2.5-.6 3-4.6c0 0-1.1-.3-2 .3 0 0 .9-4.2-.8-5l-.2-.1c-1.9 0-2.8 4.3-2.8 4.3-.6-1-1.8-1.1-1.8-1.1-1.1 3.8.9 5.4.9 5.4s-1.4-2.6-3.6-3.2c0 0-.5 1.8 0 3 0 0-3.3-.5-4.1.6 0 0-.3 1.3 3.1 3 0 0-1.1 1.5-1 2.8 0 0 3.3-.3 4-1.7l1.5.3 2 .4" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M339.2 168a3.3 3.3 0 1 1 1.5-6.4 3.3 3.3 0 0 1-1.4 6.4"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M318 228.6a3 3 0 1 1 1.4-6 3 3 0 0 1-1.3 6z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M339.6 166.7a1.8 1.8 0 1 1 .8-3.6 1.8 1.8 0 0 1-.8 3.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M318.4 227.3a1.7 1.7 0 1 1 .7-3.3 1.7 1.7 0 0 1-.7 3.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="m290.5 167-1.6.2c-.3 1.7-3.6 3.2-3.6 3.2-.5-1.3 0-3.2 0-3.2-4-.4-4.1-1.8-4.1-1.8.4-1.4 4-2.2 4-2.2-1-1-1.1-3-1.1-3 2.3-.2 4.6 2 4.6 2s-2.5-.9-2.8-5.1c0 0 1.4-.4 2.2.4 0 0-.5-4.6 1.3-5.4h.2c2 .3 2.6 4.8 2.6 4.8.7-1 2-1 2-1 .8 4.2-1.4 5.7-1.4 5.7s1.7-2.6 4-3.2c0 0 .5 2-.3 3.4 0 0 3.7-.4 4.4 1 0 0 .2 1.3-3.6 2.8 0 0 1 1.7 1 3 0 0-3.6-.6-4.3-2.2l-1.5.4-2.2.2"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".7" d="m272.3 227.6-1.5.2c-.2 1.6-3.3 3-3.3 3-.5-1.2 0-3 0-3-3.7-.4-3.9-1.7-3.9-1.7.4-1.3 3.8-2 3.8-2-1-1-1.1-2.8-1.1-2.8 2.2-.2 4.4 1.8 4.4 1.8s-2.4-.8-2.7-4.8c0 0 1.3-.3 2.1.4 0 0-.5-4.3 1.2-5h.2c1.9.2 2.4 4.5 2.4 4.5.7-.9 2-1 2-1 .7 4-1.4 5.4-1.4 5.4s1.6-2.5 3.8-3c0 0 .4 1.9-.3 3.1 0 0 3.4-.3 4.1 1 0 0 .2 1.2-3.4 2.6 0 0 1 1.6.9 2.8 0 0-3.3-.5-4-2l-1.4.3-2 .2" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M291.4 167.8a3.2 3.2 0 1 0-.8-6.4 3.2 3.2 0 0 0 .8 6.4"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M273.2 228.4a3 3 0 1 0-.8-6 3 3 0 0 0 .8 6z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M291.2 166.3a1.8 1.8 0 1 0-.4-3.5 1.8 1.8 0 0 0 .4 3.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M273 227a1.7 1.7 0 1 0-.4-3.3 1.7 1.7 0 0 0 .4 3.3z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="M362.9 174s-.9-2.2-2.7-1.5-1.6 1.1-3.2 1.1c0 0-.6-2 .2-2.9 0 0-2.5-1-3.2-3.2 0 0 1.4-1.6 4.7-1 0 0 0-1.5.3-2.3 0 0 3.6 1 3.6 3.1 0 0-1.1-3.8.8-6.6 0 0 1.6.6 1.5 2.4 0 0 .8-3.6 5.6-2.6 0 0-2.6 2.3-2.7 3.4-.2 1-2.4 2.9-2.5 3.5a4 4 0 0 1-.8 2.3c-.7.6-.8 1.7-.8 2s0 1.8-.8 2.2"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".7" d="M340.2 234.1s-.8-2-2.5-1.3-1.5 1-3 1c0 0-.6-1.9.2-2.7 0 0-2.4-.9-3-3 0 0 1.3-1.5 4.4-.9 0 0-.1-1.5.3-2.2 0 0 3.3 1 3.3 2.9 0 0-1-3.6.8-6.2 0 0 1.5.6 1.4 2.3 0 0 .7-3.4 5.2-2.5 0 0-2.4 2.2-2.5 3.2s-2.2 2.7-2.3 3.3-.2 1.5-.8 2.1-.7 1.6-.7 2c0 .2 0 1.6-.8 2z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M360.2 169.7a3.2 3.2 0 0 1 5.1-2q0 1-.8 2c-.7.6-.8 1.7-.8 2a3 3 0 0 1-.4 1.8h-.5a3 3 0 0 1-2.6-3.8"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M337.7 230.1a3 3 0 0 1 4.8-1.8q0 .9-.8 1.8c-.6.6-.7 1.6-.7 2a3 3 0 0 1-.4 1.6h-.5a3 3 0 0 1-2.4-3.6z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M361.6 170a1.8 1.8 0 0 1 3.2-.8l-.3.5c-.7.6-.8 1.7-.8 2v.3h-.6q-1.6-.3-1.4-2.1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M339 230.4a1.7 1.7 0 0 1 3-.7l-.3.4c-.6.6-.7 1.6-.7 2v.2h-.6q-1.6-.3-1.3-2z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fc0" d="M269 173s.9-2 2.7-1.2c1.7 1 1.5 1.2 3.2 1.2 0 0 .6-2 0-2.8 0 0 2.5-.8 3.2-3 0 0-1.3-1.7-4.6-1.3 0 0 .2-1.6-.2-2.3 0 0-3.5.8-3.6 2.7 0 0 1.2-3.7-.5-6.6 0 0-1.7.7-1.7 2.4 0 0-.5-3.7-5.3-3 0 0 2.4 2.5 2.4 3.6s2.2 3 2.2 3.6.2 1.7.8 2.4.7 1.7.6 2.1c0 .2 0 1.7.8 2.2"/> + <path fill="#bcac0b" stroke="#000" stroke-width=".7" d="M252.2 233.3s.8-2 2.5-1.2 1.4 1.1 3 1.1c0 0 .6-1.8 0-2.6 0 0 2.4-.7 3-2.8 0 0-1.2-1.6-4.3-1.2 0 0 .2-1.5-.2-2.2 0 0-3.3.8-3.4 2.6 0 0 1.2-3.5-.4-6.2 0 0-1.6.6-1.6 2.2 0 0-.5-3.4-5-2.7 0 0 2.3 2.3 2.3 3.3s2 2.8 2 3.4c0 .5.2 1.6.8 2.2s.6 1.6.5 2c0 .2 0 1.6.8 2z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M271.8 168.9a3.2 3.2 0 0 0-5-2.1q0 1 .8 1.9c.7.6.7 1.7.6 2.1q-.1.4.4 1.8h.4a3.2 3.2 0 0 0 2.8-3.7"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M254.8 229.4a3 3 0 0 0-4.6-2q0 .9.7 1.8c.6.6.6 1.6.5 2q-.1.5.4 1.7h.4a3 3 0 0 0 2.6-3.5z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="#fff" d="M270.4 169.1a1.8 1.8 0 0 0-3.2-1l.4.6c.7.6.7 1.7.6 2.1v.2h.7c1 0 1.6-1 1.5-1.9"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M253.5 229.6a1.7 1.7 0 0 0-3-.9l.4.5c.6.6.6 1.6.5 2v.2h.7c.9 0 1.5-.9 1.4-1.8z" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="none" stroke="#000" stroke-width="1.5" d="M257.2 251.6s33.8-13.2 76.4.3" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="none" stroke="#000" stroke-width=".5" d="M338.4 241.1c-47.1-15-84.7-.8-84.7-.8" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + <path fill="red" d="m315.7 177.9-4 2 3.6 2.2 4.3-2z"/> + <path fill="none" stroke="#000" stroke-width=".5" d="m296 237.8-3.8 1.9 3.4 2.1 4-2-3.6-2" transform="matrix(1.06667 0 0 1.06758 0 -76)"/> + </g> +</svg> diff --git a/apps/web/public/flags/es-pv.svg b/apps/web/public/flags/es-pv.svg new file mode 100644 index 00000000..63c19f41 --- /dev/null +++ b/apps/web/public/flags/es-pv.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-es-pv" viewBox="0 0 640 480"> + <path fill="#D52B1E" d="M0 0h640v480H0z"/> + <path fill="#009B48" d="M0 0h53.1l133.4 100.1 133.5 100L586.9 0H640v39.9l-133.4 100L373.2 240 640 440.2V480h-53.1L453.5 380 320 279.9 53.1 480H0v-39.8l133.4-100.1L266.8 240 0 39.9v-20z"/> + <path fill="#FFF" d="M288.1 0h63.8v208.1H640v63.8H351.9V480h-63.8V271.9H0v-63.8h288.1v-104z"/> +</svg> diff --git a/apps/web/public/flags/es.svg b/apps/web/public/flags/es.svg new file mode 100644 index 00000000..a296ebf7 --- /dev/null +++ b/apps/web/public/flags/es.svg @@ -0,0 +1,544 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-es" viewBox="0 0 640 480"> + <path fill="#AA151B" d="M0 0h640v480H0z"/> + <path fill="#F1BF00" d="M0 120h640v240H0z"/> + <path fill="#ad1519" d="m127.3 213.3-.8-.1-1-1-.7-.4-.6-.8s-.7-1.1-.4-2q.5-1.2 1.4-1.5l1.5-.5 1-.4 1.3-.3.5-.3 1-.2 1-.2 1.6.1h4.8c.4 0 1.2.3 1.4.4l2 .7c.5.1 1.6.3 2.2.6q.8.5 1.1 1l.5 1v1.1l-.5.8-.6 1-.8.6s-.5.5-1 .4-4.8-.8-7.6-.8-7.3.9-7.3.9"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="m127.3 213.3-.8-.1-1-1-.7-.4-.6-.8s-.7-1.1-.4-2q.5-1.2 1.4-1.5l1.5-.5 1-.4 1.3-.3.5-.3 1-.2 1-.2 1.6.1h4.8c.4 0 1.2.3 1.4.4l2 .7c.5.1 1.6.3 2.2.6q.8.5 1.1 1l.5 1v1.1l-.5.8-.6 1-.8.6s-.5.5-1 .4-4.8-.8-7.6-.8-7.3.9-7.3.9z"/> + <path fill="#c8b100" d="M133.3 207q.1-2.1 1.3-2.3 1.3.1 1.4 2.4c0 1.3-.6 2.4-1.4 2.4s-1.3-1.1-1.3-2.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M133.3 207q.1-2.1 1.3-2.3 1.3.1 1.4 2.4c0 1.3-.6 2.4-1.4 2.4s-1.3-1.1-1.3-2.5z"/> + <path fill="#c8b100" d="M134 207q0-2 .7-2.1c.3 0 .6 1 .6 2.1q0 2-.6 2.2c-.4 0-.6-1-.6-2.2"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M134 207q0-2 .7-2.1c.3 0 .6 1 .6 2.1q0 2-.6 2.2c-.4 0-.6-1-.6-2.2z"/> + <path fill="#c8b100" d="M133.8 204.5q.1-.7.8-.8 1 0 1 .8-.1.8-1 .9c-.9.1-.8-.4-.8-.9"/> + <path fill="#c8b100" d="M135.3 204.2v.6h-1.4v-.6h.5V203h-.7v-.6h.7v-.5h.5v.5h.6v.6h-.6v1.2z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M135.3 204.2v.6h-1.4v-.6h.5V203h-.7v-.6h.7v-.5h.5v.5h.6v.6h-.6v1.2h.4"/> + <path fill="#c8b100" d="M135.9 204.2v.6h-2.5v-.6h1V203h-.7v-.6h.7v-.5h.5v.5h.6v.6h-.6v1.2z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M135.9 204.2v.6h-2.5v-.6h1V203h-.7v-.6h.7v-.5h.5v.5h.6v.6h-.6v1.2h1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M134.9 203.7q.6.2.6.8-.1.8-.8.9-1 0-1-.9 0-.6.7-.8"/> + <path fill="#c8b100" d="M134.7 213.2H130v-1.1l-.3-1.2-.2-1.5c-1.3-1.7-2.5-2.8-2.9-2.5q.1-.5.5-.7c1.1-.7 3.5 1 5.2 3.6l.5.7h3.8l.4-.7c1.8-2.7 4.1-4.3 5.2-3.6q.4.2.5.7c-.4-.3-1.6.8-2.9 2.5l-.2 1.5-.2 1.2-.1 1.1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M134.7 213.2H130v-1.1l-.3-1.2-.2-1.5c-1.3-1.7-2.5-2.8-2.9-2.5q.1-.5.5-.7c1.1-.7 3.5 1 5.2 3.6l.5.7h3.8l.4-.7c1.8-2.7 4.1-4.3 5.2-3.6q.4.2.5.7c-.4-.3-1.6.8-2.9 2.5l-.2 1.5-.2 1.2-.1 1.1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M126.8 206.8c1-.5 3 1.1 4.6 3.6m11-3.6c-.8-.5-2.8 1.1-4.5 3.6"/> + <path fill="#c8b100" d="m127.8 215.3-.5-1a27 27 0 0 1 14.7 0l-.5.8-.3.8a23 23 0 0 0-6.6-.8c-2.6 0-5.2.3-6.5.8z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m127.8 215.3-.5-1a27 27 0 0 1 14.7 0l-.5.8-.3.8a23 23 0 0 0-6.6-.8c-2.6 0-5.2.3-6.5.8l-.3-.6"/> + <path fill="#c8b100" d="M134.6 217.7c2.4 0 5-.4 5.9-.6q1-.3 1-.8 0-.3-.4-.4c-1.4-.5-4-.8-6.5-.8s-5 .3-6.4.8q-.3 0-.4.3 0 .6 1 .9c1 .2 3.5.6 5.8.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M134.6 217.7c2.4 0 5-.4 5.9-.6q1-.3 1-.8 0-.3-.4-.4c-1.4-.5-4-.8-6.5-.8s-5 .3-6.4.8q-.3 0-.4.3 0 .6 1 .9c1 .2 3.5.6 5.8.6z"/> + <path fill="#c8b100" d="m142.1 213.2-.5-.5s-.6.3-1.3.2c-.6 0-.9-1-.9-1s-.7.7-1.3.7-1-.6-1-.6-.7.5-1.3.4-1.2-.8-1.2-.8-.6.8-1.2.8c-.6.1-1-.5-1-.5s-.4.6-1.1.7-1.4-.6-1.4-.6-.5.7-1 1c-.5 0-1.2-.4-1.2-.4l-.2.5-.3.1.2.5a27 27 0 0 1 7.2-.9q4.5 0 7.4 1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m142.1 213.2-.5-.5s-.6.3-1.3.2c-.6 0-.9-1-.9-1s-.7.7-1.3.7-1-.6-1-.6-.7.5-1.3.4-1.2-.8-1.2-.8-.6.8-1.2.8c-.6.1-1-.5-1-.5s-.4.6-1.1.7-1.4-.6-1.4-.6-.5.7-1 1c-.5 0-1.2-.4-1.2-.4l-.2.5-.3.1.2.5a27 27 0 0 1 7.2-.9q4.5 0 7.4 1z"/> + <path fill="#c8b100" d="M134.7 210.7h.2v.4q0 1 1 1a1 1 0 0 0 1-.7l.2-.3v.4q.3.8 1.1.8 1 0 1-1v-.1l.4-.4.2.5-.1.4a1 1 0 0 0 1 1q.6 0 .9-.5l.2-.2v.3q0 .5.4.7l1-.4.7-.7v.4s-.5.8-1 1q-.3.4-.8.3-.5 0-.7-.6-.3.3-.7.2-1 0-1.4-.8-.5.5-1.1.5a2 2 0 0 1-1.2-.6l-1 .4a2 2 0 0 1-1.3-.6 1.6 1.6 0 0 1-2.4.2 2 2 0 0 1-1.2.6l-1.1-.5q-.4.8-1.4.8l-.7-.2q-.2.5-.7.6t-.9-.2l-1-1 .1-.5.8.7q.8.5.9.4.4-.1.4-.7v-.3l.2.2q.3.5.9.5a1 1 0 0 0 1-1v-.9l.4.4v.1q.1 1 1 1t1.1-.9v-.3l.2.3q.3.6 1 .7 1 0 1.1-1v-.3h.3"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M134.7 210.7h.2v.4q0 1 1 1a1 1 0 0 0 1-.7l.2-.3v.4q.3.8 1.1.8 1 0 1-1v-.1l.4-.4.2.5-.1.4a1 1 0 0 0 1 1q.6 0 .9-.5l.2-.2v.3q0 .5.4.7l1-.4.7-.7v.4s-.5.8-1 1q-.3.4-.8.3-.5 0-.7-.6-.3.3-.7.2-1 0-1.4-.8-.5.5-1.1.5a2 2 0 0 1-1.2-.6l-1 .4a2 2 0 0 1-1.3-.6 1.6 1.6 0 0 1-2.4.2 2 2 0 0 1-1.2.6l-1.1-.5q-.4.8-1.4.8l-.7-.2q-.2.5-.7.6t-.9-.2l-1-1 .1-.5.8.7q.8.5.9.4.4-.1.4-.7v-.3l.2.2q.3.5.9.5a1 1 0 0 0 1-1v-.9l.4.4v.1q.1 1 1 1t1.1-.9v-.3l.2.3q.3.6 1 .7 1 0 1.1-1v-.3h.3z"/> + <path fill="#c8b100" d="M134.6 213.3q-4.5 0-7.3 1l-.3-.2.1-.3a27 27 0 0 1 7.5-1q4.6 0 7.6 1l.1.3-.3.2a27 27 0 0 0-7.4-1"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M134.6 213.3q-4.5 0-7.3 1l-.3-.2.1-.3a27 27 0 0 1 7.5-1q4.6 0 7.6 1l.1.3-.3.2a27 27 0 0 0-7.4-1z"/> + <path fill="#fff" d="M131.8 214.4q0-.4.5-.4a.4.4 0 0 1 .4.4q0 .3-.4.4a.4.4 0 0 1-.5-.4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M131.8 214.4q0-.4.5-.4a.4.4 0 0 1 .4.4q0 .3-.4.4a.4.4 0 0 1-.5-.4z"/> + <path fill="#ad1519" d="M134.7 214.5h-1q-.2 0-.3-.3l.3-.3h2l.2.3-.3.3h-1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M134.7 214.5h-1q-.2 0-.3-.3l.3-.3h2l.2.3-.3.3h-1"/> + <path fill="#058e6e" d="M130 214.9h-.7q-.2 0-.3-.2l.2-.3.7-.1.7-.1q.3 0 .4.2a.3.3 0 0 1-.3.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M130 214.9h-.7q-.2 0-.3-.2l.2-.3.7-.1.7-.1q.3 0 .4.2a.3.3 0 0 1-.3.4h-.7"/> + <path fill="#ad1519" d="m127.3 215.3.3-.4h.7l-.4.6z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m127.3 215.3.3-.4h.7l-.4.6-.6-.2"/> + <path fill="#fff" d="M136.6 214.4q0-.4.4-.4a.4.4 0 0 1 .5.4.4.4 0 0 1-.5.4.4.4 0 0 1-.4-.4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M136.6 214.4q0-.4.4-.4a.4.4 0 0 1 .5.4.4.4 0 0 1-.5.4.4.4 0 0 1-.4-.4z"/> + <path fill="#058e6e" d="M139.3 214.9h.6a.3.3 0 0 0 .4-.2l-.3-.3-.6-.1-.7-.1q-.3 0-.4.2 0 .3.3.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M139.3 214.9h.6a.3.3 0 0 0 .4-.2l-.3-.3-.6-.1-.7-.1q-.3 0-.4.2 0 .3.3.4h.7"/> + <path fill="#ad1519" d="m142 215.4-.3-.5h-.7l.3.6z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m142 215.4-.3-.5h-.7l.3.6.6-.1"/> + <path fill="#ad1519" d="M134.6 217.1a25 25 0 0 1-6-.6 26 26 0 0 1 12.1 0q-2.5.6-6 .6"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M134.6 217.1a25 25 0 0 1-6-.6 26 26 0 0 1 12.1 0q-2.5.6-6 .6z"/> + <path fill="#c8b100" d="m142 212-.1-.3q-.3 0-.4.2 0 .4.2.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m142 212-.1-.3q-.3 0-.4.2 0 .4.2.4z"/> + <path fill="#c8b100" d="M137.3 211.2q0-.3-.2-.4l-.2.3q0 .3.2.4l.3-.3"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M137.3 211.2q0-.3-.2-.4l-.2.3q0 .3.2.4l.3-.3z"/> + <path fill="#c8b100" d="m132 211.2.1-.4q.3 0 .3.3t-.2.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m132 211.2.1-.4q.3 0 .3.3t-.2.4z"/> + <path fill="#c8b100" d="m127.3 212 .1-.3q.3 0 .4.2 0 .4-.2.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m127.3 212 .1-.3q.3 0 .4.2 0 .4-.2.4z"/> + <path fill="#c8b100" d="m134.6 208.5-.8.5.6 1.3.2.1.2-.1.7-1.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m134.6 208.5-.8.5.6 1.3.2.1.2-.1.7-1.3-.9-.5"/> + <path fill="#c8b100" d="m132.8 210.5.4.5 1.3-.4.1-.2-.1-.2-1.3-.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m132.8 210.5.4.5 1.3-.4.1-.2-.1-.2-1.3-.3-.4.6"/> + <path fill="#c8b100" d="m136.4 210.5-.3.5-1.3-.4-.2-.2.2-.2 1.3-.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m136.4 210.5-.3.5-1.3-.4-.2-.2.2-.2 1.3-.3.3.6"/> + <path fill="#c8b100" d="m129.3 209-.7.7.9 1 .2.1.1-.1.3-1.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m129.3 209-.7.7.9 1 .2.1.1-.1.3-1.3-.8-.3"/> + <path fill="#c8b100" d="m128 211.2.4.5 1.2-.6v-.2l-.1-.2-1.3-.1-.3.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m128 211.2.4.5 1.2-.6v-.2l-.1-.2-1.3-.1-.3.6"/> + <path fill="#c8b100" d="m131.5 210.5-.3.6H130l-.2-.2.1-.3 1.2-.6z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m131.5 210.5-.3.6H130l-.2-.2.1-.3 1.2-.6.5.5"/> + <path fill="#c8b100" d="M126.6 211.4v.6l-1.4.2-.2-.1v-.2l1-.9z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M126.6 211.4v.6l-1.4.2-.2-.1v-.2l1-.9.6.4"/> + <path fill="#c8b100" d="M129.2 210.9q0-.5.5-.5t.5.5l-.5.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M129.2 210.9q0-.5.5-.5t.5.5l-.5.4z"/> + <path fill="#c8b100" d="m140 209 .7.7-.9 1-.2.1-.1-.1-.3-1.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m140 209 .7.7-.9 1-.2.1-.1-.1-.3-1.3.8-.3"/> + <path fill="#c8b100" d="m141.4 211.2-.5.5-1.2-.6v-.2l.1-.2 1.3-.1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m141.4 211.2-.5.5-1.2-.6v-.2l.1-.2 1.3-.1.3.6"/> + <path fill="#c8b100" d="m137.8 210.5.3.6h1.3l.2-.2-.1-.3-1.2-.6z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m137.8 210.5.3.6h1.3l.2-.2-.1-.3-1.2-.6-.5.5"/> + <path fill="#c8b100" d="m142.5 211.4.1.6 1.3.2.2-.1v-.2l-1-.9z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m142.5 211.4.1.6 1.3.2.2-.1v-.2l-1-.9-.6.4"/> + <path fill="#c8b100" d="m134.2 210.4.4-.4q.5 0 .5.4l-.5.5z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m134.2 210.4.4-.4q.5 0 .5.4l-.5.5z"/> + <path fill="#c8b100" d="M139.1 210.9q.1-.5.5-.5l.5.5-.5.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M139.1 210.9q.1-.5.5-.5l.5.5-.5.4z"/> + <path fill="#c8b100" d="m124.8 212.2-.6-.7c-.2-.2-.7-.3-.7-.3q0-.2.6-.3l.4.2v-.2s.3 0 .4.3v1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m124.8 212.2-.6-.7c-.2-.2-.7-.3-.7-.3q0-.2.6-.3l.4.2v-.2s.3 0 .4.3v1z"/> + <path fill="#c8b100" d="M124.8 212q.3-.3.5 0t.2.5l-.5-.1q-.3-.2-.2-.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M124.8 212q.3-.3.5 0t.2.5l-.5-.1q-.3-.2-.2-.5z"/> + <path fill="#c8b100" d="m144.3 212.2.6-.7.7-.3q0-.2-.6-.3l-.4.2v-.2s-.3 0-.4.3v.7z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m144.3 212.2.6-.7.7-.3q0-.2-.6-.3l-.4.2v-.2s-.3 0-.4.3v.7z"/> + <path fill="#c8b100" d="M144.3 212q-.1-.3-.5 0-.3.2-.1.5l.5-.1q.3-.2.1-.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M144.3 212q-.1-.3-.5 0-.3.2-.1.5l.5-.1q.3-.2.1-.5z"/> + <path fill="#c8b100" d="M124 223h21.4v-5.5H124z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M124 223h21.4v-5.5H124z"/> + <path fill="#c8b100" d="M126.2 226.8h16.9a1.4 1.4 0 0 1-1-1.2q.1-1 1-1.3h-16.9q1 .3 1 1.3a1.3 1.3 0 0 1-1 1.2"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M126.2 226.8h16.9a1.4 1.4 0 0 1-1-1.2q.1-1 1-1.3h-16.9q1 .3 1 1.3a1.3 1.3 0 0 1-1 1.2z"/> + <path fill="#c8b100" d="M126.6 226.8h16q1 0 1 .7t-1 .8h-16q-.9-.1-1-.8 0-1 1-.8"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M126.6 226.8h16q1 0 1 .7t-1 .8h-16q-.9-.1-1-.8 0-1 1-.8z"/> + <path fill="#c8b100" d="M126.6 223h16q1 .1 1 .7t-1 .6h-16q-.9 0-1-.6.1-.5 1-.6"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M126.6 223h16q1 .1 1 .7t-1 .6h-16q-.9 0-1-.6.1-.5 1-.6z"/> + <path fill="#005bbf" d="M149.6 317.4q-2.2 0-3.7-.8a8 8 0 0 0-3.8-.8q-2.1 0-3.7.8a8 8 0 0 1-3.8.8q-2.3 0-3.7-.8a8 8 0 0 0-3.7-.8 8 8 0 0 0-3.7.8 8 8 0 0 1-3.8.8v2.4q2.3 0 3.8-.9a8 8 0 0 1 3.7-.8q2.2 0 3.7.8c1.5.8 2.2.9 3.7.9a8 8 0 0 0 3.8-.9q1.6-.8 3.7-.8 2.3 0 3.8.8c1.5.8 2.2.9 3.7.9z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M149.6 317.4q-2.2 0-3.7-.8a8 8 0 0 0-3.8-.8q-2.1 0-3.7.8a8 8 0 0 1-3.8.8q-2.3 0-3.7-.8a8 8 0 0 0-3.7-.8 8 8 0 0 0-3.7.8 8 8 0 0 1-3.8.8v2.4q2.3 0 3.8-.9a8 8 0 0 1 3.7-.8q2.2 0 3.7.8c1.5.8 2.2.9 3.7.9a8 8 0 0 0 3.8-.9q1.6-.8 3.7-.8 2.3 0 3.8.8c1.5.8 2.2.9 3.7.9z"/> + <path fill="#ccc" d="M149.6 319.8a8 8 0 0 1-3.7-.9 8 8 0 0 0-3.8-.8q-2.1 0-3.7.8c-1.6.8-2.3.9-3.8.9s-2.8-.4-3.7-.9a8 8 0 0 0-3.7-.8 8 8 0 0 0-3.7.8q-1.5.8-3.8.9v2.3q2.3 0 3.8-.9a8 8 0 0 1 3.7-.7q2.2 0 3.7.7a8 8 0 0 0 7.5 0 9 9 0 0 1 7.5.1 8 8 0 0 0 3.7.8z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M149.6 319.8a8 8 0 0 1-3.7-.9 8 8 0 0 0-3.8-.8q-2.1 0-3.7.8c-1.6.8-2.3.9-3.8.9s-2.8-.4-3.7-.9a8 8 0 0 0-3.7-.8 8 8 0 0 0-3.7.8q-1.5.8-3.8.9v2.3q2.3 0 3.8-.9a8 8 0 0 1 3.7-.7q2.2 0 3.7.7a8 8 0 0 0 7.5 0 9 9 0 0 1 7.5.1 8 8 0 0 0 3.7.8v-2.3"/> + <path fill="#005bbf" d="M149.6 322a7 7 0 0 1-3.7-.8 8 8 0 0 0-3.8-.7q-2.1 0-3.7.7-1.5.9-3.8.9c-2.3 0-2.8-.4-3.7-.9a8 8 0 0 0-3.7-.8 8 8 0 0 0-3.7.8q-1.5.8-3.8.9v2.3q2.3 0 3.8-.9a10 10 0 0 1 7.4 0 7 7 0 0 0 3.7.9 8 8 0 0 0 3.8-.8q1.6-.8 3.7-.8 2.3 0 3.8.8c1.5.8 2.2.8 3.7.8z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M149.6 322a7 7 0 0 1-3.7-.8 8 8 0 0 0-3.8-.7q-2.1 0-3.7.7-1.5.9-3.8.9c-2.3 0-2.8-.4-3.7-.9a8 8 0 0 0-3.7-.8 8 8 0 0 0-3.7.8q-1.5.8-3.8.9v2.3q2.3 0 3.8-.9a10 10 0 0 1 7.4 0 7 7 0 0 0 3.7.9 8 8 0 0 0 3.8-.8q1.6-.8 3.7-.8 2.3 0 3.8.8c1.5.8 2.2.8 3.7.8V322"/> + <path fill="#ccc" d="M149.6 326.7a8 8 0 0 1-3.7-.8q-1.6-.8-3.7-.8a8 8 0 0 0-3.8.8q-1.5.8-3.8.8a7 7 0 0 1-3.7-.9 8 8 0 0 0-3.7-.7q-2.2 0-3.7.8c-1.5.8-2.3.8-3.8.8v-2.3a8 8 0 0 0 3.8-.9 10 10 0 0 1 7.4 0 8 8 0 0 0 3.7.9 8 8 0 0 0 3.8-.8q1.5-.8 3.8-.8t3.7.8c1.5.8 2.3.8 3.7.8z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M149.6 326.7a8 8 0 0 1-3.7-.8q-1.6-.8-3.7-.8a8 8 0 0 0-3.8.8q-1.5.8-3.8.8a7 7 0 0 1-3.7-.9 8 8 0 0 0-3.7-.7q-2.2 0-3.7.8c-1.5.8-2.3.8-3.8.8v-2.3a8 8 0 0 0 3.8-.9 10 10 0 0 1 7.4 0 8 8 0 0 0 3.7.9 8 8 0 0 0 3.8-.8q1.5-.8 3.8-.8t3.7.8c1.5.8 2.3.8 3.7.8v2.3"/> + <path fill="#005bbf" d="M149.6 329a8 8 0 0 1-3.7-.8q-1.6-.8-3.7-.8a8 8 0 0 0-3.8.8q-1.5.8-3.8.8a7 7 0 0 1-3.7-.9 8 8 0 0 0-3.7-.7q-2.2 0-3.7.8c-1.5.8-2.3.8-3.8.8v-2.3a8 8 0 0 0 3.8-.8q1.5-.8 3.7-.8t3.7.7a8 8 0 0 0 7.5 0q1.5-.6 3.8-.7t3.7.8c1.5.8 2.2.8 3.7.8z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M149.6 329a8 8 0 0 1-3.7-.8q-1.6-.8-3.7-.8a8 8 0 0 0-3.8.8q-1.5.8-3.8.8a7 7 0 0 1-3.7-.9 8 8 0 0 0-3.7-.7q-2.2 0-3.7.8c-1.5.8-2.3.8-3.8.8v-2.3a8 8 0 0 0 3.8-.8q1.5-.8 3.7-.8t3.7.7a8 8 0 0 0 7.5 0q1.5-.6 3.8-.7t3.7.8c1.5.8 2.2.8 3.7.8z"/> + <path fill="#c8b100" d="m126.2 308 .2.5c0 1.5-1.3 2.6-2.7 2.6h22a3 3 0 0 1-2.7-2.6v-.5z"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="m126.2 308 .2.5c0 1.5-1.3 2.6-2.7 2.6h22a3 3 0 0 1-2.7-2.6v-.5z"/> + <path fill="#c8b100" d="M126.6 306.5h16q1 0 1 .8 0 .6-1 .7h-16q-.9 0-1-.8.1-.6 1-.7"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M126.6 306.5h16q1 0 1 .8 0 .6-1 .7h-16q-.9 0-1-.8.1-.6 1-.7z"/> + <path fill="#c8b100" d="M123.7 316.7h22V311h-22z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M123.7 316.7h22V311h-22z"/> + <path fill="#ad1519" d="M122 286.7c-2.2 1.2-3.7 2.5-3.4 3.2q.2.8 1.8 1.6c1.5 1.1 2.5 3 1.7 4a5.5 5.5 0 0 0-.1-8.8"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M122 286.7c-2.2 1.2-3.7 2.5-3.4 3.2q.2.8 1.8 1.6c1.5 1.1 2.5 3 1.7 4a5.5 5.5 0 0 0-.1-8.8z"/> + <path fill="#ccc" d="M126.8 305.6h15.6V229h-15.6v76.5z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M138 229.2v76.3m1.7-76.3v76.3m-12.9 0h15.6v-76.4h-15.6v76.5z"/> + <path fill="#ad1519" d="M158.4 257.7a50 50 0 0 0-23.3-2c-9.4 1.6-16.5 5.3-15.9 8.4v.2l-3.5-8.2c-.6-3.3 7.2-7.5 17.6-9.2a43 43 0 0 1 9.2-.7c6.6 0 12.4.8 15.8 2.1v9.4"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M158.4 257.7a50 50 0 0 0-23.3-2c-9.4 1.6-16.5 5.3-15.9 8.4v.2l-3.5-8.2c-.6-3.3 7.2-7.5 17.6-9.2a43 43 0 0 1 9.2-.7c6.6 0 12.4.8 15.8 2.1v9.4"/> + <path fill="#ad1519" d="M126.8 267.3c-4.3-.3-7.3-1.4-7.6-3.2q-.3-2.2 3.8-4.5l3.8.3z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M126.8 267.3c-4.3-.3-7.3-1.4-7.6-3.2q-.3-2.2 3.8-4.5l3.8.3v7.4"/> + <path fill="#ad1519" d="M142.5 261.5q4.1.6 5.7 1.9l.1.2c.5 1-1.9 3-5.9 5.4v-7.5"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M142.5 261.5q4.1.6 5.7 1.9l.1.2c.5 1-1.9 3-5.9 5.4v-7.5"/> + <path fill="#ad1519" d="M117.1 282c-.4-1.2 3.8-3.6 9.8-5.8l7.8-3.2c8.3-3.7 14.4-7.9 13.6-9.4v-.2c.4.4 1 8 1 8 .8 1.3-4.8 5.5-12.4 9.1-2.5 1.2-7.6 3-10 4-4.4 1.4-8.7 4.3-8.3 5.3l-1.5-7.7"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M117.1 282c-.4-1.2 3.8-3.6 9.8-5.8l7.8-3.2c8.3-3.7 14.4-7.9 13.6-9.4v-.2c.4.4 1 8 1 8 .8 1.3-4.8 5.5-12.4 9.1-2.5 1.2-7.6 3-10 4-4.4 1.4-8.7 4.3-8.3 5.3l-1.5-7.7z"/> + <path fill="#c8b100" d="M125.8 254c1.9-.6 3.1-1.5 2.5-3q-.6-1.3-2.8-.6l-2.6 1 2.3 5.8.8-.3.8-.3zm-1.2-2.7.7-.3q1-.3 1.4.8.4.8-.5 1.5l-.6.3zm7.3-2.5-.9.3h-.8l1.3 6.1 4.3-.8-.2-.4v-.4l-2.5.6zm8.4 5.2q1.2-3.3 2.7-6.4h-1l-1.8 4.6-2.4-4.3-1 .1h-1l3.5 6zm8.8-4.7.4-.9a3 3 0 0 0-1.7-.6q-2.6 0-2.8 1.7c-.2 2.1 3.2 2 3 3.4q-.2 1-1.4.8-1.3 0-1.4-1.2h-.3l-.4 1.1a4 4 0 0 0 1.8.6q2.7.2 3.2-1.7c.2-2-3.3-2.1-3.1-3.4q0-.8 1.3-.7 1 0 1.2.9z"/> + <path fill="#ad1519" d="M277.9 211.6s-.7.8-1.3.9c-.5 0-1.1-.5-1.1-.5s-.5.5-1 .6-1.4-.6-1.4-.6l-1 1-1.1-.3c-.1-.1-.3.4-.7.6h-.4l-.6-.4-.7-.7-.5-.3-.4-1v-.5q0-1 2.2-1.7a4 4 0 0 1 2 0q.9-.8 3-.8c2.1 0 2.4.3 3 .7a6 6 0 0 1 2.9-.7q2.1 0 3 .8.8-.3 2 0 2.2.6 2.2 1.7v.5l-.4 1-.6.3-.6.7-.6.3s-.3.2-.4 0q-.6-.3-.7-.5c-.1-.2-.6.4-1 .2s-1-1-1-1-.9.8-1.4.7c-.6-.1-1-.6-1-.6s-.7.6-1.2.5-1.2-.9-1.2-.9"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M277.9 211.6s-.7.8-1.3.9c-.5 0-1.1-.5-1.1-.5s-.5.5-1 .6-1.4-.6-1.4-.6l-1 1-1.1-.3c-.1-.1-.3.4-.7.6h-.4l-.6-.4-.7-.7-.5-.3-.4-1v-.5q0-1 2.2-1.7a4 4 0 0 1 2 0q.9-.8 3-.8c2.1 0 2.4.3 3 .7a6 6 0 0 1 2.9-.7q2.1 0 3 .8.8-.3 2 0 2.2.6 2.2 1.7v.5l-.4 1-.6.3-.6.7-.6.3s-.3.2-.4 0q-.6-.3-.7-.5c-.1-.2-.6.4-1 .2s-1-1-1-1-.9.8-1.4.7c-.6-.1-1-.6-1-.6s-.7.6-1.2.5-1.2-.9-1.2-.9z"/> + <path fill="#c8b100" d="M276.5 207.6c0-1 .6-2 1.3-2s1.3 1 1.3 2-.5 1.8-1.3 1.8q-1.2-.1-1.3-1.9"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M276.5 207.6c0-1 .6-2 1.3-2s1.3 1 1.3 2-.5 1.8-1.3 1.8q-1.2-.1-1.3-1.9z"/> + <path fill="#c8b100" d="M277.3 207.6q0-1.7.5-1.8.6.2.7 1.8c.1 1.6-.3 1.7-.6 1.7q-.6-.2-.6-1.8"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M277.3 207.6q0-1.7.5-1.8.6.2.7 1.8c.1 1.6-.3 1.7-.6 1.7q-.6-.2-.6-1.8z"/> + <path fill="#c8b100" d="m271 215.3-.5-1a27 27 0 0 1 14.8 0l-.6.8-.3.8a23 23 0 0 0-6.6-.8c-2.6 0-5.2.3-6.6.8z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m271 215.3-.5-1a27 27 0 0 1 14.8 0l-.6.8-.3.8a23 23 0 0 0-6.6-.8c-2.6 0-5.2.3-6.6.8l-.2-.6"/> + <path fill="#c8b100" d="M277.8 217.7c2.4 0 5-.4 5.9-.6q1-.3 1-.8 0-.3-.4-.4a24 24 0 0 0-6.5-.8c-2.5 0-5 .3-6.4.8q-.3 0-.4.3 0 .6 1 .9c1 .2 3.5.6 5.8.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M277.8 217.7c2.4 0 5-.4 5.9-.6q1-.3 1-.8 0-.3-.4-.4a24 24 0 0 0-6.5-.8c-2.5 0-5 .3-6.4.8q-.3 0-.4.3 0 .6 1 .9c1 .2 3.5.6 5.8.6z"/> + <path fill="#fff" d="M283.5 208.4q0-.3.4-.4.5 0 .5.4t-.5.4a.4.4 0 0 1-.4-.4"/> + <path fill="none" stroke="#000" stroke-width=".2" d="M283.5 208.4q0-.3.4-.4.5 0 .5.4t-.5.4a.4.4 0 0 1-.4-.4zm-.2-1.4a.4.4 0 0 1 .4-.4q.4 0 .4.4t-.4.4a.4.4 0 0 1-.4-.4zm-1.1-1q0-.3.4-.3t.4.4-.4.4a.4.4 0 0 1-.4-.5zm-1.4-.4q0-.3.4-.4.5 0 .5.4t-.4.4q-.5-.1-.5-.4zm-1.4 0q0-.3.5-.3t.4.4q0 .3-.4.4a.4.4 0 0 1-.5-.4z"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".3" d="m287.8 211.2.2-1a2.7 2.7 0 0 0-2.7-2.8q-.8 0-1.3.3"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m283 209.2.2-.8q-.2-1.8-2.5-2-1 0-1.6.4"/> + <path fill="none" stroke="#000" stroke-width=".2" d="M288.2 210q0-.5.4-.5t.4.4-.4.4q-.5 0-.4-.4zm-.2-1.6q0-.3.4-.4a.4.4 0 0 1 .5.4q0 .3-.4.4-.5 0-.5-.4zm-1-1.1a.4.4 0 0 1 .5-.4q.3 0 .4.4a.4.4 0 0 1-.4.4.4.4 0 0 1-.5-.4zm-1.3-.7q0-.4.5-.4t.4.4q0 .5-.4.5a.4.4 0 0 1-.5-.5zm-1.4.1q0-.3.5-.4.6 0 .4.4t-.4.4q-.4-.1-.5-.4z"/> + <path fill="#c8b100" d="m285.3 213.2-.5-.5s-.6.3-1.3.2c-.6 0-.9-1-.9-1s-.7.7-1.3.7-1-.6-1-.6-.7.5-1.3.4-1.2-.8-1.2-.8-.6.8-1.2.8c-.6.1-1-.5-1-.5s-.3.6-1.1.7-1.4-.6-1.4-.6-.4.7-1 1c-.5 0-1.2-.4-1.2-.4l-.1.5-.3.1.1.5a27 27 0 0 1 7.3-.9q4.3 0 7.3 1l.2-.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m285.3 213.2-.5-.5s-.6.3-1.3.2c-.6 0-.9-1-.9-1s-.7.7-1.3.7-1-.6-1-.6-.7.5-1.3.4-1.2-.8-1.2-.8-.6.8-1.2.8c-.6.1-1-.5-1-.5s-.3.6-1.1.7-1.4-.6-1.4-.6-.4.7-1 1c-.5 0-1.2-.4-1.2-.4l-.1.5-.3.1.1.5a27 27 0 0 1 7.3-.9q4.3 0 7.3 1l.2-.6z"/> + <path fill="#fff" d="M271.3 208.4q0-.3.4-.4.5 0 .4.4a.4.4 0 0 1-.4.4.4.4 0 0 1-.4-.4"/> + <path fill="none" stroke="#000" stroke-width=".2" d="M271.3 208.4q0-.3.4-.4.5 0 .4.4a.4.4 0 0 1-.4.4.4.4 0 0 1-.4-.4zm.2-1.4q0-.4.4-.4t.5.4q0 .5-.5.4a.4.4 0 0 1-.4-.4zm1-1q.1-.3.5-.3t.5.4q0 .3-.5.4a.4.4 0 0 1-.4-.5zm1.4-.4q0-.3.5-.4.6 0 .4.4t-.4.4q-.4-.1-.5-.4zm1.4 0q0-.3.5-.3.3 0 .4.4 0 .3-.4.4a.4.4 0 0 1-.5-.4z"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".3" d="m267.8 211.2-.2-1a2.7 2.7 0 0 1 2.7-2.8q.8 0 1.4.3"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m272.7 209.2-.3-.8c0-1 1.2-2 2.6-2a3 3 0 0 1 1.5.4"/> + <path fill="none" stroke="#000" stroke-width=".2" d="M266.6 210q0-.5.4-.5t.4.4a.4.4 0 0 1-.4.4q-.3 0-.4-.4zm.1-1.6q.1-.3.5-.4.5 0 .4.4t-.4.4q-.4-.1-.4-.4zm1-1.1q0-.4.5-.4a.4.4 0 0 1 .4.4.4.4 0 0 1-.4.4.4.4 0 0 1-.5-.4zm1.3-.7q0-.4.5-.4.3 0 .4.4 0 .5-.4.5a.4.4 0 0 1-.5-.5zm1.4.1q0-.3.5-.4a.4.4 0 0 1 .4.4.4.4 0 0 1-.4.4q-.5 0-.5-.4z"/> + <path fill="#c8b100" d="M277.9 210.7h.2v.4q.1 1 1 1a1 1 0 0 0 1-.7l.2-.3v.4q.3.8 1.1.8 1 0 1-1v-.1l.4-.4.2.5-.1.4a1 1 0 0 0 1 1q.6 0 .9-.5l.2-.2v.3q0 .5.4.7l1-.4c1-.5.7-.7.7-.7v.4s-.5.8-1 1q-.3.4-.8.3-.5 0-.7-.6l-.7.2q-1 0-1.4-.8l-1.1.5q-.8 0-1.2-.6l-1 .4q-.9 0-1.4-.6-.4.6-1.2.6-.6 0-1-.4a2 2 0 0 1-1.3.6q-.6 0-1.1-.5-.4.8-1.4.8-.4 0-.7-.2-.2.5-.7.6t-.9-.2l-1-1 .1-.5.8.7q.8.5.9.4.4-.1.4-.7v-.3l.2.2q.3.5.9.5a1 1 0 0 0 1-1v-.9l.4.4v.1q.1 1 1 1t1.1-.9v-.3l.2.3q.4.6 1 .7 1 0 1.1-1v-.3h.2"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M277.9 210.7h.2v.4q.1 1 1 1a1 1 0 0 0 1-.7l.2-.3v.4q.3.8 1.1.8 1 0 1-1v-.1l.4-.4.2.5-.1.4a1 1 0 0 0 1 1q.6 0 .9-.5l.2-.2v.3q0 .5.4.7l1-.4c1-.5.7-.7.7-.7v.4s-.5.8-1 1q-.3.4-.8.3-.5 0-.7-.6l-.7.2q-1 0-1.4-.8l-1.1.5q-.8 0-1.2-.6l-1 .4q-.9 0-1.4-.6-.4.6-1.2.6-.6 0-1-.4a2 2 0 0 1-1.3.6q-.6 0-1.1-.5-.4.8-1.4.8-.4 0-.7-.2-.2.5-.7.6t-.9-.2l-1-1 .1-.5.8.7q.8.5.9.4.4-.1.4-.7v-.3l.2.2q.3.5.9.5a1 1 0 0 0 1-1v-.9l.4.4v.1q.1 1 1 1t1.1-.9v-.3l.2.3q.4.6 1 .7 1 0 1.1-1v-.3h.2z"/> + <path fill="#c8b100" d="M277.8 213.3q-4.5 0-7.3 1l-.3-.2.1-.3q3-1 7.5-1t7.6 1l.1.3-.3.2a27 27 0 0 0-7.4-1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M277.8 213.3q-4.5 0-7.3 1l-.3-.2.1-.3q3-1 7.5-1t7.6 1l.1.3-.3.2a27 27 0 0 0-7.4-1z"/> + <path fill="#fff" d="M275 214.4q0-.4.5-.4a.4.4 0 0 1 .4.4.4.4 0 0 1-.4.4q-.5 0-.5-.4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M275 214.4q0-.4.5-.4a.4.4 0 0 1 .4.4.4.4 0 0 1-.4.4q-.5 0-.5-.4z"/> + <path fill="#ad1519" d="M277.9 214.5h-1q-.2 0-.3-.3l.3-.3h2l.2.3-.3.3h-1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M277.9 214.5h-1q-.2 0-.3-.3l.3-.3h2l.2.3-.3.3h-1"/> + <path fill="#058e6e" d="M273.2 214.9h-.6a.3.3 0 0 1-.4-.2l.3-.3.6-.1.7-.1q.3 0 .4.2a.3.3 0 0 1-.3.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M273.2 214.9h-.6a.3.3 0 0 1-.4-.2l.3-.3.6-.1.7-.1q.3 0 .4.2a.3.3 0 0 1-.3.4h-.7"/> + <path fill="#ad1519" d="m270.5 215.3.3-.4h.7l-.4.6z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m270.5 215.3.3-.4h.7l-.4.6-.6-.2"/> + <path fill="#fff" d="M279.8 214.4q0-.4.4-.4t.5.4q0 .3-.5.4a.4.4 0 0 1-.4-.4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M279.8 214.4q0-.4.4-.4t.5.4q0 .3-.5.4a.4.4 0 0 1-.4-.4z"/> + <path fill="#058e6e" d="M282.5 214.9h.7l.3-.2-.2-.3-.7-.1-.7-.1q-.3 0-.4.2 0 .3.3.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M282.5 214.9h.7l.3-.2-.2-.3-.7-.1-.7-.1q-.3 0-.4.2 0 .3.3.4h.7"/> + <path fill="#ad1519" d="m285.1 215.4-.2-.5h-.7l.3.6z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m285.1 215.4-.2-.5h-.7l.3.6.6-.1"/> + <path fill="#ad1519" d="M277.8 217.1a25 25 0 0 1-6-.6 25 25 0 0 1 6-.7q3.6 0 6.1.7-2.5.6-6 .6"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M277.8 217.1a25 25 0 0 1-6-.6 25 25 0 0 1 6-.7q3.6 0 6.1.7-2.5.6-6 .6z"/> + <path fill="#c8b100" d="m285.2 212-.1-.3q-.3 0-.4.2l.1.4q.3 0 .4-.3"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m285.2 212-.1-.3q-.3 0-.4.2l.1.4q.3 0 .4-.3z"/> + <path fill="#c8b100" d="M280.6 211.2q0-.3-.3-.4l-.2.3q0 .3.2.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M280.6 211.2q0-.3-.3-.4l-.2.3q0 .3.2.4z"/> + <path fill="#c8b100" d="M275.2 211.2q0-.3.2-.4l.3.3-.2.4q-.3 0-.3-.3"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M275.2 211.2q0-.3.2-.4l.3.3-.2.4q-.3 0-.3-.3z"/> + <path fill="#c8b100" d="m270.5 212 .1-.3q.3 0 .4.2l-.1.4q-.3 0-.4-.3"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m270.5 212 .1-.3q.3 0 .4.2l-.1.4q-.3 0-.4-.3z"/> + <path fill="#c8b100" d="m277.8 208.5-.8.5.6 1.3.2.1.3-.1.6-1.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m277.8 208.5-.8.5.6 1.3.2.1.3-.1.6-1.3-.9-.5"/> + <path fill="#c8b100" d="m276 210.5.4.5 1.3-.4.1-.2-.1-.2-1.3-.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m276 210.5.4.5 1.3-.4.1-.2-.1-.2-1.3-.3-.4.6"/> + <path fill="#c8b100" d="m279.6 210.5-.3.5-1.3-.4-.1-.2v-.2l1.4-.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m279.6 210.5-.3.5-1.3-.4-.1-.2v-.2l1.4-.3.4.6"/> + <path fill="#c8b100" d="m272.5 209-.7.7.9 1 .2.1.2-.1.2-1.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m272.5 209-.7.7.9 1 .2.1.2-.1.2-1.3-.8-.3"/> + <path fill="#c8b100" d="m271.1 211.2.5.5 1.2-.6v-.2l-.1-.2-1.3-.1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m271.1 211.2.5.5 1.2-.6v-.2l-.1-.2-1.3-.1-.3.6"/> + <path fill="#c8b100" d="m274.7 210.5-.3.6h-1.3l-.2-.2.1-.3 1.2-.6z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m274.7 210.5-.3.6h-1.3l-.2-.2.1-.3 1.2-.6.5.5"/> + <path fill="#c8b100" d="M269.8 211.4v.6l-1.4.2-.2-.1v-.2l1-.9z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M269.8 211.4v.6l-1.4.2-.2-.1v-.2l1-.9.6.4"/> + <path fill="#c8b100" d="M272.4 210.9q0-.5.5-.5l.5.5-.5.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M272.4 210.9q0-.5.5-.5l.5.5-.5.4z"/> + <path fill="#c8b100" d="m283.2 209 .7.7-.9 1-.2.1-.1-.1-.3-1.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m283.2 209 .7.7-.9 1-.2.1-.1-.1-.3-1.3.8-.3"/> + <path fill="#c8b100" d="m284.6 211.2-.5.5-1.2-.6v-.2l.1-.2 1.3-.1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m284.6 211.2-.5.5-1.2-.6v-.2l.1-.2 1.3-.1.3.6"/> + <path fill="#c8b100" d="m281 210.5.3.6h1.3l.2-.2-.1-.3-1.2-.6z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m281 210.5.3.6h1.3l.2-.2-.1-.3-1.2-.6-.5.5"/> + <path fill="#c8b100" d="M285.7 211.4v.6l1.4.2.2-.1v-.2l-1-.9z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M285.7 211.4v.6l1.4.2.2-.1v-.2l-1-.9-.6.4"/> + <path fill="#c8b100" d="M277.4 210.4q0-.3.5-.4.4 0 .4.4t-.4.5z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M277.4 210.4q0-.3.5-.4.4 0 .4.4t-.4.5z"/> + <path fill="#c8b100" d="M282.3 210.9q.1-.5.5-.5t.5.5q0 .6-.5.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M282.3 210.9q.1-.5.5-.5t.5.5q0 .6-.5.4z"/> + <path fill="#c8b100" d="M277 205.4q.1-.8.8-.8 1 0 1 .8c0 .8-.5.8-1 .8a1 1 0 0 1-.8-.8"/> + <path fill="#c8b100" d="M278.5 205.1v.6H277v-.6h.4v-1.3h-.5v-.5h.5v-.6h.6v.6h.6v.6h-.6v1.2h.4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M278.5 205.1v.6H277v-.6h.4v-1.3h-.5v-.5h.5v-.6h.6v.6h.6v.6h-.6v1.2h.4z"/> + <path fill="#c8b100" d="M279 205.1v.6h-2.4v-.6h1v-1.3h-.7v-.5h.6v-.6h.6v.6h.6v.6h-.6v1.2h1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M278.1 204.6q.6.1.6.8t-.9.8a1 1 0 0 1-.8-.8q0-.6.6-.8"/> + <path fill="#c8b100" d="m268 212.2-.6-.7-.7-.3q0-.2.6-.3.3 0 .4.2v-.2s.3 0 .4.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m268 212.2-.6-.7-.7-.3q0-.2.6-.3.3 0 .4.2v-.2s.3 0 .4.3z"/> + <path fill="#c8b100" d="M268 212q.3-.3.5 0 .4.2.1.5l-.5-.1q-.2-.2 0-.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M268 212q.3-.3.5 0 .4.2.1.5l-.5-.1q-.2-.2 0-.5z"/> + <path fill="#c8b100" d="m287.5 212.2.6-.7c.2-.2.7-.3.7-.3q0-.2-.6-.3l-.4.2v-.2s-.3 0-.4.3v.7z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m287.5 212.2.6-.7c.2-.2.7-.3.7-.3q0-.2-.6-.3l-.4.2v-.2s-.3 0-.4.3v.7z"/> + <path fill="#c8b100" d="M287.5 212q-.2-.3-.5 0t-.1.5l.5-.1q.3-.2.1-.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M287.5 212q-.2-.3-.5 0t-.1.5l.5-.1q.3-.2.1-.5z"/> + <path fill="#c8b100" d="M267.2 223h21.4v-5.5h-21.4z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M267.2 223h21.4v-5.5h-21.4z"/> + <path fill="#c8b100" d="M286.3 226.8h-16.9q1-.4 1-1.2 0-1-1-1.3h17-.1q-1 .3-1 1.3 0 .8 1 1.2"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M286.3 226.8h-16.9q1-.4 1-1.2 0-1-1-1.3h17-.1q-1 .3-1 1.3 0 .8 1 1.2z"/> + <path fill="#c8b100" d="M269.9 226.8h16q1 0 1 .7t-1 .8h-16q-1-.1-1-.8.1-1 1-.8"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M269.9 226.8h16q1 0 1 .7t-1 .8h-16q-1-.1-1-.8.1-1 1-.8z"/> + <path fill="#c8b100" d="M269.9 223h16q1 .1 1 .7t-1 .6h-16q-1 0-1-.6t1-.6"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M269.9 223h16q1 .1 1 .7t-1 .6h-16q-1 0-1-.6t1-.6z"/> + <path fill="#005bbf" d="M263 317.4q2.1 0 3.7-.8a8 8 0 0 1 3.7-.8q2.2 0 3.8.8c1.6.8 2.3.8 3.7.8q2.3 0 3.8-.8a8 8 0 0 1 3.6-.8 8 8 0 0 1 3.7.8q1.6.8 3.8.8v2.4a8 8 0 0 1-3.8-.9 8 8 0 0 0-3.7-.8q-2.2 0-3.6.8-1.5.8-3.8.9a8 8 0 0 1-3.7-.9 8 8 0 0 0-3.8-.8 8 8 0 0 0-3.7.8q-1.5.8-3.8.9v-2.4"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M263 317.4q2.1 0 3.7-.8a8 8 0 0 1 3.7-.8q2.2 0 3.8.8c1.6.8 2.3.8 3.7.8q2.3 0 3.8-.8a8 8 0 0 1 3.6-.8 8 8 0 0 1 3.7.8q1.6.8 3.8.8v2.4a8 8 0 0 1-3.8-.9 8 8 0 0 0-3.7-.8q-2.2 0-3.6.8-1.5.8-3.8.9a8 8 0 0 1-3.7-.9 8 8 0 0 0-3.8-.8 8 8 0 0 0-3.7.8q-1.5.8-3.8.9v-2.4z"/> + <path fill="#ccc" d="M263 319.8q2.1 0 3.7-.9c1.6-.9 2.3-.8 3.7-.8q2.2 0 3.8.8c1.6.8 2.3.9 3.7.9a8 8 0 0 0 3.8-.9 8 8 0 0 1 3.6-.8q2.3 0 3.7.8 1.6.8 3.8.9v2.3a8 8 0 0 1-3.8-.9 8 8 0 0 0-3.7-.7q-2.2 0-3.6.7-1.5.8-3.8.9a7 7 0 0 1-3.7-.9q-1.5-.6-3.8-.7a8 8 0 0 0-3.7.7 8 8 0 0 1-3.8.9v-2.3"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M263 319.8q2.1 0 3.7-.9c1.6-.9 2.3-.8 3.7-.8q2.2 0 3.8.8c1.6.8 2.3.9 3.7.9a8 8 0 0 0 3.8-.9 8 8 0 0 1 3.6-.8q2.3 0 3.7.8 1.6.8 3.8.9v2.3a8 8 0 0 1-3.8-.9 8 8 0 0 0-3.7-.7q-2.2 0-3.6.7-1.5.8-3.8.9a7 7 0 0 1-3.7-.9q-1.5-.6-3.8-.7a8 8 0 0 0-3.7.7 8 8 0 0 1-3.8.9v-2.3"/> + <path fill="#005bbf" d="M263 322q2.1 0 3.7-.8 1.6-.6 3.7-.7 2.2 0 3.8.7c1.6.7 2.3.9 3.7.9a8 8 0 0 0 3.8-.9 8 8 0 0 1 3.6-.8 8 8 0 0 1 3.7.8q1.6.8 3.8.9v2.3a8 8 0 0 1-3.8-.9 8 8 0 0 0-3.7-.7q-2.2 0-3.6.7-1.5.9-3.8.9t-3.7-.8a8 8 0 0 0-3.8-.8 8 8 0 0 0-3.7.8q-1.5.8-3.8.8V322"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M263 322q2.1 0 3.7-.8 1.6-.6 3.7-.7 2.2 0 3.8.7c1.6.7 2.3.9 3.7.9a8 8 0 0 0 3.8-.9 8 8 0 0 1 3.6-.8 8 8 0 0 1 3.7.8q1.6.8 3.8.9v2.3a8 8 0 0 1-3.8-.9 8 8 0 0 0-3.7-.7q-2.2 0-3.6.7-1.5.9-3.8.9t-3.7-.8a8 8 0 0 0-3.8-.8 8 8 0 0 0-3.7.8q-1.5.8-3.8.8V322"/> + <path fill="#ccc" d="M263 326.7a8 8 0 0 0 3.7-.8q1.6-.8 3.7-.8 2.2 0 3.8.8c1.6.8 2.3.8 3.7.8q2.3 0 3.8-.9a8 8 0 0 1 3.6-.7q2.3 0 3.7.8a8 8 0 0 0 3.8.8v-2.3a8 8 0 0 1-3.8-.9 8 8 0 0 0-3.7-.7q-2.2 0-3.6.7-1.5.8-3.8.9t-3.7-.8a8 8 0 0 0-3.8-.8 8 8 0 0 0-3.7.8q-1.5.8-3.8.8v2.3"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M263 326.7a8 8 0 0 0 3.7-.8q1.6-.8 3.7-.8 2.2 0 3.8.8c1.6.8 2.3.8 3.7.8q2.3 0 3.8-.9a8 8 0 0 1 3.6-.7q2.3 0 3.7.8a8 8 0 0 0 3.8.8v-2.3a8 8 0 0 1-3.8-.9 8 8 0 0 0-3.7-.7q-2.2 0-3.6.7-1.5.8-3.8.9t-3.7-.8a8 8 0 0 0-3.8-.8 8 8 0 0 0-3.7.8q-1.5.8-3.8.8v2.3"/> + <path fill="#005bbf" d="M263 329a8 8 0 0 0 3.7-.8q1.6-.8 3.7-.8 2.2 0 3.8.8c1.6.8 2.3.8 3.7.8a8 8 0 0 0 3.8-.9 8 8 0 0 1 3.6-.7q2.3 0 3.7.8 1.6.8 3.8.8v-2.3a8 8 0 0 1-3.8-.8 8 8 0 0 0-3.7-.8 8 8 0 0 0-3.6.7 8 8 0 0 1-3.8.9q-2.2 0-3.7-.8t-3.8-.8q-2.1 0-3.7.8c-1.6.8-2.3.8-3.8.8v2.3"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M263 329a8 8 0 0 0 3.7-.8q1.6-.8 3.7-.8 2.2 0 3.8.8c1.6.8 2.3.8 3.7.8a8 8 0 0 0 3.8-.9 8 8 0 0 1 3.6-.7q2.3 0 3.7.8 1.6.8 3.8.8v-2.3a8 8 0 0 1-3.8-.8 8 8 0 0 0-3.7-.8 8 8 0 0 0-3.6.7 8 8 0 0 1-3.8.9q-2.2 0-3.7-.8t-3.8-.8q-2.1 0-3.7.8c-1.6.8-2.3.8-3.8.8v2.3z"/> + <path fill="#c8b100" d="m286.3 308-.1.5c0 1.5 1.2 2.6 2.7 2.6h-22c1.5 0 2.7-1.2 2.7-2.6l-.1-.5z"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="m286.3 308-.1.5c0 1.5 1.2 2.6 2.7 2.6h-22c1.5 0 2.7-1.2 2.7-2.6l-.1-.5z"/> + <path fill="#c8b100" d="M269.9 306.5h16q1 0 1 .8 0 .6-1 .7h-16q-1 0-1-.8.1-.6 1-.7"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M269.9 306.5h16q1 0 1 .8 0 .6-1 .7h-16q-1 0-1-.8.1-.6 1-.7z"/> + <path fill="#c8b100" d="M266.9 316.7h22V311h-22z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M266.9 316.7h22V311h-22z"/> + <path fill="#ad1519" d="M290.6 286.7c2.1 1.2 3.6 2.5 3.4 3.2q-.2.8-1.8 1.6c-1.6 1.1-2.5 3-1.8 4a5.5 5.5 0 0 1 .2-8.8"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M290.6 286.7c2.1 1.2 3.6 2.5 3.4 3.2q-.2.8-1.8 1.6c-1.6 1.1-2.5 3-1.8 4a5.5 5.5 0 0 1 .2-8.8z"/> + <path fill="#ccc" d="M270.1 305.6h15.6V229h-15.6v76.5z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M281.4 229.1v76.3m1.8-76.3v76.3m-13 .2h15.5V229h-15.6v76.5z"/> + <path fill="#ad1519" d="M254.2 257.7a50 50 0 0 1 23.3-2c9.3 1.6 16.4 5.3 15.9 8.4v.2l3.5-8.2c.6-3.3-7.3-7.5-17.6-9.2a54 54 0 0 0-9.2-.7c-6.7 0-12.4.8-15.9 2.1z"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M254.2 257.7a50 50 0 0 1 23.3-2c9.3 1.6 16.4 5.3 15.9 8.4v.2l3.5-8.2c.6-3.3-7.3-7.5-17.6-9.2a54 54 0 0 0-9.2-.7c-6.7 0-12.4.8-15.9 2.1v9.4"/> + <path fill="#ad1519" d="M285.7 267.3c4.4-.3 7.3-1.4 7.7-3.2q.2-2.2-3.8-4.5l-3.9.3z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M285.7 267.3c4.4-.3 7.3-1.4 7.7-3.2q.2-2.2-3.8-4.5l-3.9.3v7.4"/> + <path fill="#ad1519" d="M270 261.5a13 13 0 0 0-5.7 1.9v.2c-.5 1 1.8 3 5.8 5.4v-7.5"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M270 261.5a13 13 0 0 0-5.7 1.9v.2c-.5 1 1.8 3 5.8 5.4v-7.5"/> + <path fill="#ad1519" d="M295.4 282c.4-1.2-3.8-3.6-9.7-5.8-2.8-1-5-2-7.8-3.2-8.3-3.7-14.4-7.9-13.6-9.4v-.2c-.4.4-1 8-1 8-.8 1.3 4.8 5.5 12.4 9.1 2.4 1.2 7.6 3 10 4 4.3 1.4 8.7 4.3 8.3 5.3l1.4-7.7"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M295.4 282c.4-1.2-3.8-3.6-9.7-5.8-2.8-1-5-2-7.8-3.2-8.3-3.7-14.4-7.9-13.6-9.4v-.2c-.4.4-1 8-1 8-.8 1.3 4.8 5.5 12.4 9.1 2.4 1.2 7.6 3 10 4 4.3 1.4 8.7 4.3 8.3 5.3l1.4-7.7z"/> + <path fill="#c8b100" d="m263.9 254.4 2.1-6.6h-.5l-.5.1-1.4 4.8q-1.6-2-2.7-4.1l-1 .2h-1l4 5.7h.5zm6-6.6h-1.8v6.2h4.2v-.7h-2.6zm6.8 1 2 .3v-.7l-5.8-.5v.8h2l-.4 5.6h1.6l.5-5.4m2.4 6 .8.2.8.2.7-2.9.6 1.2.8 2.1 1 .2q.6 0 1 .3l-.3-.7-1.3-2.9q1.6 0 2.1-1.2.3-.8-.7-1.5-.8-.4-1.7-.5l-2.4-.5zm3-5.2c.7.2 1.5.3 1.5 1v.5q-.5 1.3-2 .9zm8 7-.2 2 .8.5.9.5.5-7-.7-.3-6.1 3.8.5.3.4.2 1.7-1.2 2.3 1.3zm-1.7-1.5 2-1.4-.2 2.3z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M182.2 192.4c0-1 1-2 2-2s2.2 1 2.2 2c0 1.1-1 2-2.1 2a2 2 0 0 1-2.1-2z"/> + <path fill="#ad1519" stroke="#000" stroke-width=".3" d="M205.7 175.4c6.3 0 12 1 15.7 2.4a32 32 0 0 0 14.6 2.3c2.7 0 6.5.8 10.3 2.4a27 27 0 0 1 7.4 4.7l-1.5 1.4-.4 3.8-4.1 4.7-2 1.8-5 3.9-2.5.2-.7 2.1-31.6-3.7-31.7 3.7-.8-2.1-2.5-.2-4.9-4-2-1.7-4.1-4.7-.5-3.8-1.5-1.4a28 28 0 0 1 7.5-4.7 26 26 0 0 1 10.2-2.4q3 .3 6.6-.2a30 30 0 0 0 8-2q5.6-2.4 15.5-2.5z"/> + <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M206.2 217.1c-11.8 0-22.4-1.4-29.9-3.6a1 1 0 0 1-.8-1.2q0-.8.8-1.2a109 109 0 0 1 29.9-3.6c11.7 0 22.3 1.4 29.8 3.6a1.3 1.3 0 0 1 0 2.4c-7.5 2.2-18 3.6-29.8 3.6"/> + <path fill="#ad1519" d="M206.1 215.6c-10.6 0-20.2-1.2-27.5-3.1 7.3-2 16.9-3 27.5-3.1a115 115 0 0 1 27.6 3c-7.3 2-17 3.2-27.6 3.2"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M206.9 215.7v-6.3m-1.7 6.3v-6.3"/> + <path fill="none" stroke="#000" stroke-width=".2" d="M203.6 215.7v-6.3m-1.6 6.3v-6.3"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M200.6 215.7v-6.3m-2.8 5.9v-5.7m1.3 5.8v-6m-3.8 5.6v-5.2m1.3 5.4v-5.6"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M192 214.8V210m1 4.7V210m1.2 5v-5m-3.4 4.7v-4.5"/> + <path fill="none" stroke="#000" stroke-width=".5" d="M189.7 214.5v-4.2m-1.2 4.1v-4"/> + <path fill="none" stroke="#000" stroke-width=".6" d="M186 214v-3m1.3 3.2v-3.5m-2.5 3.1V211"/> + <path fill="none" stroke="#000" stroke-width=".7" d="M183.7 213.6v-2.3m-1.3 2v-1.8m-1.2 1.6v-1.3"/> + <path fill="none" stroke="#000" stroke-width=".9" d="M179.8 212.8v-.7"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M213.7 215.3v-5.8m-2.9 6v-6.1m-2.1 6.2v-6.3"/> + <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M206 207.4a108 108 0 0 0-30 3.9c.6-.3.5-1-.3-3-1-2.5-2.4-2.4-2.4-2.4 8.3-2.5 20-4 32.8-4a123 123 0 0 1 33 4s-1.5-.1-2.5 2.3q-1.2 2.8-.2 3c-7.5-2.2-18.4-3.7-30.3-3.7"/> + <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M206.1 201.9c-12.9 0-24.5 1.5-32.8 4a1 1 0 0 1-1.3-.6 1 1 0 0 1 .7-1.3 121 121 0 0 1 33.4-4.2c13.2 0 25.2 1.7 33.5 4.2q1 .4.7 1.3t-1.3.6c-8.4-2.5-20-4-32.9-4"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M206.1 215.6c-10.6 0-20.2-1.2-27.5-3.1 7.3-2 16.9-3 27.5-3.1a115 115 0 0 1 27.6 3c-7.3 2-17 3.2-27.6 3.2z"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="M197 204.8q0-.9 1-1 .9.1 1 1 0 1.2-1 1a1 1 0 0 1-1-1"/> + <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M206.1 205.6H203a1 1 0 0 1 0-2h6.4q.9.1 1 1 0 1.2-1 1h-3.2"/> + <path fill="#058e6e" stroke="#000" stroke-width=".4" d="m190.3 206.5-2.3.2q-.9 0-1.2-.8a1 1 0 0 1 1-1.1l2.2-.3 2.4-.3q.9 0 1.1.9 0 .9-.9 1l-2.3.4"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="M181 206.7q.1-1 1.1-1t1 1-1 1a1 1 0 0 1-1-1"/> + <path fill="#ad1519" stroke="#000" stroke-width=".4" d="m174 208.5 1.2-1.6 3.3.4-2.6 2-1.8-.8"/> + <path fill="#058e6e" stroke="#000" stroke-width=".4" d="m222 206.5 2.3.2q.9 0 1.1-.8a1 1 0 0 0-.9-1.1l-2.2-.3-2.4-.3a1 1 0 0 0-1.1.9q0 .9.9 1l2.3.4"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="M213.3 204.8q0-.9 1-1c1-.1 1 .5 1 1s-.4 1-1 1a1 1 0 0 1-1-1m15.8 1.9q.1-1 1-1t1.1 1q0 .9-1 1a1 1 0 0 1-1-1"/> + <path fill="#ad1519" stroke="#000" stroke-width=".4" d="m238.2 208.5-1.1-1.6-3.3.4 2.6 2 1.8-.8"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M177.3 212.8c7.4-2.1 17.6-3.4 28.8-3.4 11.3 0 21.4 1.3 28.9 3.4"/> + <path fill="#c8b100" d="m182.3 183.8 1.4 1 2-3.2a7 7 0 0 1-3.6-7.2c.2-4.1 5.2-7.6 11.7-7.6q5 .1 8.5 2.4l.2-1.8a17 17 0 0 0-8.7-2.1c-7.4 0-13.2 4.1-13.5 9.1a9 9 0 0 0 3 7.6z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="m182.3 183.8 1.4 1 2-3.2a7 7 0 0 1-3.6-7.2c.2-4.1 5.2-7.6 11.7-7.6q5 .1 8.5 2.4l.2-1.8a17 17 0 0 0-8.7-2.1c-7.4 0-13.2 4.1-13.5 9.1a9 9 0 0 0 3 7.6l-1 1.8"/> + <path fill="#c8b100" d="M182.4 183.8a9 9 0 0 1-4-7.3q.2-5 5.3-8a9 9 0 0 0-3.4 6.8 9 9 0 0 0 3 6.7z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M182.4 183.8a9 9 0 0 1-4-7.3q.2-5 5.3-8a9 9 0 0 0-3.4 6.8 9 9 0 0 0 3 6.7l-.9 1.8"/> + <path fill="#c8b100" d="M160.1 187.1a9 9 0 0 1-2.3-5.9q0-2 1-3.8c2-4.2 8.4-7.2 16-7.2q3 0 5.9.6l-1 1.4a26 26 0 0 0-4.9-.4c-7 0-12.8 2.7-14.5 6.3a7 7 0 0 0-.7 3.1 7 7 0 0 0 2.7 5.6l-2.6 4.1-1.3-1z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M160.1 187.1a9 9 0 0 1-2.3-5.9q0-2 1-3.8c2-4.2 8.4-7.2 16-7.2q3 0 5.9.6l-1 1.4a26 26 0 0 0-4.9-.4c-7 0-12.8 2.7-14.5 6.3a7 7 0 0 0-.7 3.1 7 7 0 0 0 2.7 5.6l-2.6 4.1-1.3-1z"/> + <path fill="#c8b100" d="M162.7 173.3a11 11 0 0 0-4 4.1 9 9 0 0 0-.9 3.8q.1 3.5 2.3 5.9l-1.5 2.5a10 10 0 0 1-2.3-6.5c0-4 2.5-7.5 6.4-9.8"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M162.7 173.3a11 11 0 0 0-4 4.1 9 9 0 0 0-.9 3.8q.1 3.5 2.3 5.9l-1.5 2.5a10 10 0 0 1-2.3-6.5c0-4 2.5-7.5 6.4-9.8z"/> + <path fill="#c8b100" d="M206 164.4c1.7 0 3.2 1.1 3.5 2.6q.4 2.1.4 4.5v1.1c.1 3.3.6 6.3 1.3 8.1l-5.2 5-5.2-5c.7-1.8 1.2-4.8 1.3-8.1v-1.1q0-2.4.4-4.5c.3-1.5 1.8-2.6 3.5-2.6"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M206 164.4c1.7 0 3.2 1.1 3.5 2.6q.4 2.1.4 4.5v1.1c.1 3.3.6 6.3 1.3 8.1l-5.2 5-5.2-5c.7-1.8 1.2-4.8 1.3-8.1v-1.1q0-2.4.4-4.5c.3-1.5 1.8-2.6 3.5-2.6z"/> + <path fill="#c8b100" d="M206 166q1.6.1 1.8 1.4.3 1.8.4 4.2v1q.2 5 1.2 7.7l-3.4 3.2-3.4-3.2q1-2.7 1.2-7.7v-1l.4-4.2a2 2 0 0 1 1.8-1.4"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M206 166q1.6.1 1.8 1.4.3 1.8.4 4.2v1q.2 5 1.2 7.7l-3.4 3.2-3.4-3.2q1-2.7 1.2-7.7v-1l.4-4.2a2 2 0 0 1 1.8-1.4z"/> + <path fill="#c8b100" d="m229.7 183.8-1.3 1-2-3.2a7 7 0 0 0 3.6-6.3v-.9c-.2-4.1-5.3-7.6-11.7-7.6a15 15 0 0 0-8.5 2.4l-.2-1.8a17 17 0 0 1 8.7-2.1c7.4 0 13.2 4.1 13.4 9.1a9 9 0 0 1-3 7.6z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="m229.7 183.8-1.3 1-2-3.2a7 7 0 0 0 3.6-6.3v-.9c-.2-4.1-5.3-7.6-11.7-7.6a15 15 0 0 0-8.5 2.4l-.2-1.8a17 17 0 0 1 8.7-2.1c7.4 0 13.2 4.1 13.4 9.1a9 9 0 0 1-3 7.6l1 1.8"/> + <path fill="#c8b100" d="M229.6 183.8a9 9 0 0 0 4.1-7.3c0-3.2-2.1-6.1-5.3-8a9 9 0 0 1 3.4 6.8 9 9 0 0 1-3.2 6.7z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M229.6 183.8a9 9 0 0 0 4.1-7.3c0-3.2-2.1-6.1-5.3-8a9 9 0 0 1 3.4 6.8 9 9 0 0 1-3.2 6.7l1 1.8"/> + <path fill="#c8b100" d="M252 187.1a9 9 0 0 0 2.2-5.9 9 9 0 0 0-.9-3.8c-2-4.2-8.4-7.2-16-7.2a29 29 0 0 0-6 .6l1 1.4a25 25 0 0 1 5-.4c7 0 12.8 2.7 14.4 6.3q.7 1.5.7 3.1a7 7 0 0 1-2.6 5.6l2.5 4.1 1.3-1z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M252 187.1a9 9 0 0 0 2.2-5.9 9 9 0 0 0-.9-3.8c-2-4.2-8.4-7.2-16-7.2a29 29 0 0 0-6 .6l1 1.4a25 25 0 0 1 5-.4c7 0 12.8 2.7 14.4 6.3q.7 1.5.7 3.1a7 7 0 0 1-2.6 5.6l2.5 4.1 1.3-1z"/> + <path fill="#c8b100" d="M249.3 173.3a11 11 0 0 1 4 4.1 9 9 0 0 1 .9 3.8 9 9 0 0 1-2.3 5.9l1.6 2.5a10 10 0 0 0 2.3-6.5c0-4-2.6-7.5-6.5-9.8"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M249.3 173.3a11 11 0 0 1 4 4.1 9 9 0 0 1 .9 3.8 9 9 0 0 1-2.3 5.9l1.6 2.5a10 10 0 0 0 2.3-6.5c0-4-2.6-7.5-6.5-9.8z"/> + <path fill="#fff" d="M204.2 181.4q.1-1.7 1.8-1.8c1.7-.1 1.9.8 1.9 1.8s-.9 1.7-1.9 1.7a2 2 0 0 1-1.8-1.7"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M204.2 181.4q.1-1.7 1.8-1.8c1.7-.1 1.9.8 1.9 1.8s-.9 1.7-1.9 1.7a2 2 0 0 1-1.8-1.7z"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="M204.2 178q.1-1.7 1.8-1.8c1.7-.1 1.9.8 1.9 1.8s-.9 1.7-1.9 1.7a2 2 0 0 1-1.8-1.7m.4-3.7q.1-1.2 1.4-1.3 1.4.1 1.5 1.3-.1 1.3-1.5 1.4c-1.4.1-1.4-.6-1.4-1.4m.4-3.3q0-.9 1-1c1-.1 1 .5 1 1s-.4 1-1 1a1 1 0 0 1-1-1m.2-2.8q.1-.8.8-.8t.9.8q0 .7-.9.8a1 1 0 0 1-.8-.8"/> + <path fill="#c8b100" stroke="#000" stroke-width=".4" d="m206.2 191.8 1.2.2a4.6 4.6 0 0 0 4.5 6 5 5 0 0 0 4.4-3c.1 0 .5-1.7.7-1.7s.1 1.8.2 1.7c.3 2.3 2.4 3.8 4.7 3.8a4.6 4.6 0 0 0 4.7-5l1.5-1.5.7 2a4 4 0 0 0-.4 1.9 4.4 4.4 0 0 0 4.5 4.2q2.5 0 3.8-1.9l.9-1.2v1.5c0 1.5.6 2.8 2 3 0 0 1.7.1 4-1.6 2.1-1.7 3.3-3.1 3.3-3.1l.2 1.7s-1.8 2.8-3.8 4c-1 .6-2.7 1.3-4 1q-2.1-.5-3-2.6a7 7 0 0 1-3.3 1 7 7 0 0 1-6.1-3.7 7 7 0 0 1-10.4-.3 7 7 0 0 1-4.6 1.8 7 7 0 0 1-5.7-3 7 7 0 0 1-5.7 3 7 7 0 0 1-4.7-1.8 7 7 0 0 1-10.4.3 7 7 0 0 1-6 3.7 7 7 0 0 1-3.4-1q-.8 2.1-3 2.7c-1.2.2-2.9-.5-4-1.1-2-1.2-3.8-4-3.8-4l.2-1.7s1.2 1.4 3.4 3.1 3.9 1.6 3.9 1.6c1.4-.2 2-1.5 2-3v-1.5l1 1.2a5 5 0 0 0 3.7 2c2.5 0 4.5-2 4.5-4.3a4 4 0 0 0-.4-2l.8-1.9 1.5 1.5v.6c0 2.4 2 4.4 4.6 4.4 2.4 0 4.4-1.5 4.7-3.8 0 0 0-1.6.2-1.7s.6 1.7.7 1.6a5 5 0 0 0 4.5 3.1 4.6 4.6 0 0 0 4.5-6l1.2-.2"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="M238.6 197.7q.4-1.4-.6-1.8-.9-.2-1.5 1.1-.4 1.4.6 1.8.9.2 1.5-1.1m-20.5-4c0-.8-.3-1.6-1-1.6q-.8 0-1.2 1.4 0 1.3.9 1.6 1-.1 1.3-1.4m-23.9 0c0-.8.4-1.6 1-1.6q1 0 1.2 1.4 0 1.3-.9 1.6-1-.1-1.2-1.4m-20.6 4q-.3-1.4.6-1.8 1-.2 1.5 1.1t-.5 1.8q-1 .2-1.6-1.1"/> + <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M182.7 184a5 5 0 0 1 2.2 2.9s0-.3.6-.6 1-.3 1-.3l-.1 1.3-.3 2.2-.7 1.6a2 2 0 0 0-1.5-.4 2 2 0 0 0-1.2.9s-.7-.6-1.2-1.3l-1.1-2-.7-1.1s.5-.2 1.1 0q.9.1.8.2a5 5 0 0 1 1-3.4m.4 9.8-.6-1q0-.7.3-1.2s-.9-.5-1.8-.7c-.7-.2-2-.2-2.3-.2h-1l.2.5.5.7a5 5 0 0 0-3 2 5 5 0 0 0 3.5 1l-.2.8v.6l1-.4c.3-.1 1.5-.5 2-1 .8-.4 1.5-1.1 1.5-1.1m2.7-.5.2-1.1-.6-1 1.4-1.3 2-.9 1.1-.4v.6l-.2.8a5 5 0 0 1 3.4 1 5 5 0 0 1-2.9 2l.7 1.2h-1c-.4 0-1.6 0-2.3-.2l-1.8-.7"/> + <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M182.2 192.4c0-1 1-2 2-2s2.2 1 2.2 2c0 1.1-1 2-2.1 2a2 2 0 0 1-2.1-2"/> + <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M206.1 180.8a6 6 0 0 1 1.9 3.7s.2-.3.9-.5q1.1-.3 1.2-.2l-.5 1.4-.8 2.4-1 1.7a2 2 0 0 0-1.7-.7q-1 0-1.6.7-.2-.1-1-1.7l-.8-2.4-.5-1.4 1.2.2q1 .4.9.5.2-2.2 1.8-3.7"/> + <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M204.6 191.8a2 2 0 0 1-.5-1.2q0-.8.4-1.3s-.8-.7-1.8-1c-.7-.4-2-.7-2.5-.7l-1.2-.2.2.6.4.9a6 6 0 0 0-3.7 1.7q1.6 1.5 3.7 1.6l-.4 1-.2.6 1.2-.2c.4-.1 1.8-.4 2.5-.7 1-.4 1.9-1 1.9-1m3 0a2 2 0 0 0 .1-2.6s.9-.7 1.8-1a8 8 0 0 1 2.5-.7l1.2-.3-.1.7-.4.9q2.2.2 3.6 1.7a6 6 0 0 1-3.6 1.6l.5 1.6-1.2-.2-2.5-.7c-1-.4-1.8-1-1.8-1m22-8a5 5 0 0 0-2.2 3l-.7-.6-1-.3.2 1.3c0 .3 0 1.3.3 2.2q.4 1.6.6 1.6a2 2 0 0 1 1.5-.4q.9.2 1.3.9l1.1-1.3q1-1.4 1.1-2l.7-1.1s-.4-.2-1 0l-1 .2a5 5 0 0 0-1-3.4m-.3 9.8q.5-.4.6-1l-.2-1.2s.8-.5 1.7-.7c.7-.2 2-.2 2.3-.2h1.1l-.3.5-.4.7a5 5 0 0 1 2.9 2 5 5 0 0 1-3.5 1l.2.8v.6l-1-.4c-.3-.1-1.4-.5-2-1-.8-.4-1.4-1.1-1.4-1.1m-2.8-.5-.2-1.1q0-.7.6-1s-.6-.8-1.4-1.3c-.6-.4-1.7-.8-2-.9l-1-.4v.6l.2.8a5 5 0 0 0-3.5 1q1 1.4 3 2l-.5.7-.3.5h1c.4 0 1.7 0 2.3-.2l1.8-.7"/> + <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M226 192.4c0-1 1-2 2-2s2.1 1 2.1 2a2 2 0 0 1-2 2 2 2 0 0 1-2.1-2m23.2 4.4c-.4-.5-1.4-.4-2.2.2q-1.2 1.2-.5 2.2 1 .8 2.3-.3c.7-.6 1-1.6.5-2"/> + <path fill="#c8b100" stroke="#000" stroke-width=".4" d="m246.3 198 .7-1c.7-.6 1.8-.7 2.3-.2l.1.2s1-2 2.3-2.6 3.4-.5 3.4-.5a3 3 0 0 0-2.9-2.8 3 3 0 0 0-2.4 1l-.2-1s-1.3.3-1.9 1.8 0 3.6 0 3.6-.3-.9-.7-1.5a8 8 0 0 0-2.4-1.6l-1.3-.7-.1.5v.8a8 8 0 0 0-3.7.5 5 5 0 0 0 2.5 2.2l-.8.7-.4.5 1.3.2 2.5.2 1.7-.2m-80.3 0q0-.6-.7-1c-.7-.7-1.7-.8-2.2-.3l-.2.3s-1-2-2.3-2.7-3.3-.5-3.3-.5a3 3 0 0 1 2.8-2.8q1.6 0 2.4 1l.2-1s1.3.3 2 1.8c.5 1.5-.1 3.6-.1 3.6s.3-.9.8-1.5a8 8 0 0 1 2.4-1.6l1.3-.7v1.3a8 8 0 0 1 3.7.5 5 5 0 0 1-2.5 2.2l.8.7.4.5-1.2.2-2.6.2-1.7-.2"/> + <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M163 196.8q1-.7 2.4.3 1.2 1 .4 2c-.5.6-1.5.5-2.2-.2s-1-1.6-.5-2m41-6.3q.2-1.8 2-2c1.8-.2 2.1.9 2.1 2 0 1-1 2-2 2a2 2 0 0 1-2.1-2"/> + <path fill="#005bbf" stroke="#000" stroke-width=".3" d="M201.8 160.6c0-2.2 1.9-4 4.3-4s4.2 1.8 4.2 4-1.9 4-4.3 4a4 4 0 0 1-4.2-4"/> + <path fill="#c8b100" stroke="#000" stroke-width=".3" d="M205 149.3v2.2h-2.4v2.2h2.3v6.3H202l-.2.6q0 .9.3 1.6h7.9q.3-.7.3-1.6l-.2-.6h-2.8v-6.3h2.3v-2.2h-2.3v-2.2z"/> + <path fill="#ccc" d="M206.5 330.6a82 82 0 0 1-35.5-8.2 23 23 0 0 1-12.8-20.4v-32h96.4v32a23 23 0 0 1-12.8 20.4 81 81 0 0 1-35.3 8.2"/> + <path fill="none" stroke="#000" stroke-width=".5" d="M206.5 330.6a82 82 0 0 1-35.5-8.2 23 23 0 0 1-12.8-20.4v-32h96.4v32a23 23 0 0 1-12.8 20.4 81 81 0 0 1-35.3 8.2z"/> + <path fill="#ccc" d="M206.3 270h48.3v-53.5h-48.3z"/> + <path fill="none" stroke="#000" stroke-width=".5" d="M206.3 270h48.3v-53.5h-48.3z"/> + <path fill="#ad1519" d="M206.3 302c0 12.6-10.7 22.9-24 22.9s-24.2-10.3-24.2-23v-32h48.2v32"/> + <path fill="#c8b100" stroke="#000" stroke-width=".5" d="M168.6 320.9c1.5.8 3.6 2 5.8 2.6l-.1-54.7h-5.7z"/> + <path fill="#c8b100" stroke="#000" stroke-linejoin="round" stroke-width=".5" d="M158 301.6a24 24 0 0 0 5.5 15v-47.5h-5.4z"/> + <path fill="#c7b500" stroke="#000" stroke-width=".5" d="M179.4 324.7a27 27 0 0 0 5.6 0v-55.9h-5.6v56z"/> + <path fill="#c8b100" stroke="#000" stroke-width=".5" d="M190 323.5a19 19 0 0 0 5.8-2.5v-52.2H190z"/> + <path fill="#ad1519" d="M158.1 270h48.2v-53.5H158z"/> + <path fill="none" stroke="#000" stroke-width=".5" d="M158.1 270h48.2v-53.5H158z"/> + <path fill="#c8b100" stroke="#000" stroke-width=".5" d="M201 316c2.4-2 4.6-6.8 5.4-12.2l.1-35H201l.1 47.3z"/> + <path fill="none" stroke="#000" stroke-width=".5" d="M206.3 302c0 12.6-10.7 22.9-24 22.9s-24.2-10.3-24.2-23v-32h48.2v32"/> + <path fill="#ad1519" d="M254.6 270v32c0 12.6-10.8 22.9-24.1 22.9s-24.2-10.3-24.2-23v-32h48.3"/> + <path fill="none" stroke="#000" stroke-width=".5" d="M254.6 270v32c0 12.6-10.8 22.9-24.1 22.9s-24.2-10.3-24.2-23v-32h48.3"/> + <path fill="#c8b100" d="m215.1 294.1.1.5q-.1 1-1.1 1a1 1 0 0 1-1.1-1v-.5h-1.5a2.5 2.5 0 0 0 1.8 2.9v3.9h1.6V297a3 3 0 0 0 1.7-1.6h4.4v-1.2zm21.8 0v1.2h-4l-.3.6 4.6 5.2-1.2 1-4.6-5.3-.2.1v8.7h-1.6V297h-.2l-4.8 5.2-1.2-1 4.7-5.3-.2-.4h-4V294h13zm2.6 0v1.2h4.4q.5 1.2 1.7 1.6v3.9h1.6V297a3 3 0 0 0 1.8-2.4v-.5h-1.6l.1.5q-.1 1-1 1-1.1 0-1.2-1l.1-.5zm-6.7 22.1a16 16 0 0 0 3.7-1l.8 1.4a18 18 0 0 1-4.3 1.2 3 3 0 0 1-2.6 2 3 3 0 0 1-2.5-2 18 18 0 0 1-4.6-1.2l.8-1.4q2 .8 4 1a3 3 0 0 1 1.5-1.3v-6.7h1.6v6.7q1.1.3 1.6 1.4zm-11-2.2-.8 1.4a17 17 0 0 1-3.6-3.1q-1.4.3-2.5-.5a2.4 2.4 0 0 1-.3-3.5l.1-.1a15 15 0 0 1-1.3-4.8h1.7a13 13 0 0 0 1 4q.8 0 1.4.2l4.1-4.5 1.3 1-4.1 4.5q.8 1.5-.1 2.8a15 15 0 0 0 3.1 2.6m-6-4.8q.6-.7 1.5 0c.9.7.5 1 .1 1.4a1 1 0 0 1-1.6.1 1 1 0 0 1 0-1.5m-2.2-4.5-1.6-.3-.3-4.3 1.7-.6v2.5q0 1.4.2 2.7m1.4-5.3 1.7.4v2.2c0-.8.3 2.1.3 2.1l-1.7.6-.3-2.7zm5.6 13.7a16 16 0 0 0 4.8 2.6l.4-1.6a14 14 0 0 1-4-2zm-.8 1.4a17 17 0 0 0 4.8 2.6l-1.2 1.1a19 19 0 0 1-4-2zm2.2-9.4 1.6.7 3-3.3-1-1.4zm-1.3-1-1-1.4 3-3.3 1.6.7zm18.1 9.9.8 1.4a17 17 0 0 0 3.6-3.1q1.4.3 2.5-.5a2.4 2.4 0 0 0 .3-3.5l-.1-.1a15 15 0 0 0 1.3-4.8h-1.7a13 13 0 0 1-1 4l-1.4.2-4.1-4.5-1.3 1 4.1 4.5a2.4 2.4 0 0 0 .1 2.8 15 15 0 0 1-3.1 2.6m6-4.8a1 1 0 0 0-1.5 0 1 1 0 0 0-.1 1.4 1 1 0 0 0 1.6.1 1 1 0 0 0 0-1.5m2.2-4.5 1.6-.3.3-4.3-1.7-.6v2.5q0 1.5-.2 2.8zm-1.4-5.3-1.7.4v2.2c0-.8-.3 2.1-.3 2.1l1.7.6.3-2.7zm-5.6 13.7a16 16 0 0 1-4.8 2.6l-.4-1.6a14 14 0 0 0 4-2zm.8 1.4a17 17 0 0 1-4.8 2.6l1.2 1.1a19 19 0 0 0 4-2zm-2.2-9.4-1.6.7-2.9-3.3 1-1.4zm1.3-1 1-1.4-3-3.3-1.6.7zm-20.1-8.7.5 1.6h4.5l.5-1.6zm21.1 0-.5 1.6h-4.5l-.5-1.6zm-11.6 21.9q.1-1 1.1-1a1 1 0 0 1 1.1 1q-.1 1-1 1a1 1 0 0 1-1.2-1m1.9-7.8 1.7-.4v-4.3l-1.7-.5zm-1.6 0-1.7-.4v-4.3l1.7-.5z"/> + <path fill="#c8b100" d="M211.5 294.2q.4-1.5 1.8-2V287h1.6v5.3q1.3.5 1.7 1.6h4.4v.3h-6a1 1 0 0 0-1-.6q-.6 0-1 .6zm12.2 0v-.3h4.1l.2-.3-5-5.7 1.2-1 5 5.6.2-.1V285h1.6v7.3h.3l4.9-5.5 1.2 1-4.9 5.5.3.6h4v.3zm21.6 0a1 1 0 0 1 1-.6q.7 0 1 .6h1.6q-.4-1.5-1.8-2V287h-1.6v5.3q-1.2.4-1.7 1.6h-4.4v.3zm-30.2-15 6 6.8 1.3-1-6.1-6.7.3-.6h4.4V276h-4.4a3 3 0 0 0-2.5-1.7 2.6 2.6 0 0 0-2.7 2.5 3 3 0 0 0 1.8 2.4v5.2h1.6v-5.2zm32 0v5.3h-1.7v-5.2l-.4-.2-6 6.8-1.3-1 6.2-6.9-.1-.3h-4.5V276h4.5a3 3 0 0 1 2.4-1.7 2.6 2.6 0 0 1 2.7 2.5 2.5 2.5 0 0 1-1.9 2.4zm-16.1 0v3.3h-1.7v-3.2a3 3 0 0 1-1.7-1.6h-4V276h4a3 3 0 0 1 2.5-1.7q2 .1 2.5 1.7h4v1.6h-4a3 3 0 0 1-1.6 1.6m-17.8 4-1.7.4v4.3l1.7.5zm1.6 0 1.7.4v4.3l-1.7.5zm30.6 0-1.7.4v4.3l1.7.5zm1.6 0 1.7.4v4.3l-1.7.5zm-25.5.8 1.6-.7 2.9 3.3-1 1.4zm-1.3 1-1 1.4 3 3.3 1.6-.7zm18.5-1.1-1.6-.7-3 3.3 1 1.4zm1.2 1 1 1.4-3 3.3-1.5-.7zm-20.3 9 .5-1.6h4.5l.5 1.6zm-6.7-17q0-1 1.2-1a1 1 0 0 1 1 1q0 1-1 1a1 1 0 0 1-1.2-1m12.1.8-.5 1.6H220l-.5-1.6zm0-1.6-.5-1.6H220l-.5 1.6zm15.7 17.8-.5-1.6h-4.5l-.5 1.6zm4.4-17q.1-1 1.1-1a1 1 0 0 1 1.1 1q-.1 1-1 1a1 1 0 0 1-1.2-1m-16.1 0q.1-1 1.1-1a1 1 0 0 1 1.1 1q-.1 1-1.1 1a1 1 0 0 1-1.1-1m6.2.8.5 1.6h4.6l.5-1.6zm0-1.6.5-1.6h4.6l.5 1.6zm-5.9 5-1.7.5v4.3l1.7.5V281m1.7 0 1.6.5v4.3l-1.6.5z"/> + <path fill="none" stroke="#c8b100" stroke-width=".3" d="M232.7 316.3a16 16 0 0 0 3.7-1.1l.8 1.4a18 18 0 0 1-4.3 1.2 3 3 0 0 1-2.6 2 3 3 0 0 1-2.5-2 18 18 0 0 1-4.6-1.2l.8-1.4q2 .8 4 1a3 3 0 0 1 1.5-1.3v-6.7h1.6v6.7q1.1.3 1.6 1.4zm-4.7-20.4-.2-.5h-4V294h4l.2-.4-5-5.6 1.2-1 5 5.5h.2V285h1.7v7.3h.2l4.9-5.5 1.2 1-4.9 5.5.3.6h4v1.5h-4q0 .3-.3.5l4.7 5.3-1.3 1-4.6-5.3-.2.1v8.7h-1.6V297l-.2-.1-4.8 5.3-1.2-1 4.7-5.3m-12.8-16.7 6 6.8 1.3-1-6.1-6.7.3-.6h4.4V276h-4.4a3 3 0 0 0-2.5-1.7 2.6 2.6 0 0 0-2.6 2.5 3 3 0 0 0 1.7 2.4v5.2h1.6v-5.2zm6.5 34.8-.8 1.4a17 17 0 0 1-3.6-3.1q-1.4.3-2.5-.5a2.4 2.4 0 0 1-.3-3.5l.1-.1a15 15 0 0 1-1.2-4.8h1.6a13 13 0 0 0 1 4q.8 0 1.4.2l4.1-4.5 1.3 1-4.1 4.5q.8 1.5-.1 2.8a15 15 0 0 0 3.1 2.6zm-8.4-13.1V297a3 3 0 0 1-1.8-2.4q.2-1.6 1.8-2.4V287h1.6v5.3q1.3.4 1.7 1.6h4.4v1.5h-4.4a3 3 0 0 1-1.6 1.6v3.9h-1.7m2.3 8.3q.7-.7 1.6 0c.9.7.5 1 .1 1.4a1 1 0 0 1-1.6.1 1 1 0 0 1 0-1.5zm-2-4.5-1.7-.3-.3-4.3 1.7-.6v2.5q0 1.4.3 2.7zm1.4-5.3 1.6.4v2.2c0-.8.3 2.1.3 2.1l-1.7.6-.3-2.7v-2.6zm5.5 13.7a16 16 0 0 0 4.8 2.6l.4-1.6a14 14 0 0 1-4-2l-1.2 1m-.8 1.4a17 17 0 0 0 4.8 2.6l-1.2 1.1a19 19 0 0 1-4-2l.4-1.7"/> + <path fill="none" stroke="#c8b100" stroke-width=".3" d="m221.9 305.1 1.6.7 3-3.3-1-1.4-3.6 4m-1.3-1-1-1.4 3-3.3 1.6.7-3.6 4m-7.6-9.5q.1-1 1-1 1.1.1 1.2 1-.1 1-1.1 1.1a1 1 0 0 1-1.1-1zm25.7 19.4.8 1.4a17 17 0 0 0 3.6-3.1q1.4.3 2.6-.5a2.4 2.4 0 0 0 .2-3.5l-.1-.1a15 15 0 0 0 1.3-4.8h-1.7a13 13 0 0 1-1 4l-1.4.2-4.1-4.5-1.3 1 4.1 4.5a2.4 2.4 0 0 0 .1 2.8 15 15 0 0 1-3 2.6zm8.4-13.1V297a3 3 0 0 0 1.8-2.4q0-1.6-1.8-2.4V287h-1.6v5.3q-1.2.4-1.7 1.6h-4.4v1.5h4.4q.5 1.2 1.7 1.6v3.9zm-2.3 8.3a1 1 0 0 0-1.6 0 1 1 0 0 0-.1 1.4 1 1 0 0 0 1.6.1 1 1 0 0 0 0-1.5zm2-4.5 1.7-.3.3-4.3-1.7-.6v2.5q0 1.4-.2 2.7zm-1.3-5.3-1.7.4v2.2c0-.8-.3 2.1-.3 2.1l1.7.6.3-2.7v-2.6m1.6-20.1v5.2h-1.6v-5.2l-.4-.2-6 6.8-1.2-1 6-7v-.2h-4.5V276h4.4a3 3 0 0 1 2.5-1.7 2.6 2.6 0 0 1 2.6 2.5 3 3 0 0 1-1.8 2.4zm-16 0v3.2h-1.7v-3.2a3 3 0 0 1-1.7-1.6h-4V276h4q.7-1.6 2.5-1.7c1.8-.1 2.2.7 2.5 1.7h4v1.6h-4a3 3 0 0 1-1.6 1.6zm8.8 33.8a16 16 0 0 1-4.8 2.6l-.4-1.6a14 14 0 0 0 4-2l1.2 1m.8 1.4a17 17 0 0 1-4.8 2.6l1.2 1.1a19 19 0 0 0 4-2l-.4-1.7m-27.4-31.4-1.7.5v4.3l1.7.5v-5.2m1.7 0 1.6.4v4.3l-1.6.5V283m30.5 0-1.7.5v4.3l1.7.5V283"/> + <path fill="none" stroke="#c8b100" stroke-width=".3" d="m247.1 283.1 1.7.5v4.3l-1.7.5V283m-8.6 22-1.6.7-2.9-3.3 1-1.4 3.5 4m1.3-1 1-1.4-3-3.3-1.6.7 3.6 4m-18.2-20 1.6-.7 3 3.3-1 1.4-3.6-4m-1.3 1-1 1.4 3 3.3 1.6-.7-3.6-4m18.5-1.1-1.6-.7-3 3.3 1 1.4 3.6-4m1.2 1 1 1.4-3 3.2-1.5-.6 3.5-4m-20.3 9 .5-1.6h4.5l.5 1.6h-5.5m0 1.5.5 1.6h4.5l.5-1.6h-5.5M213 277q0-1 1.2-1 1 0 1 1c0 1-.4 1-1 1a1 1 0 0 1-1.2-1zm12.1.8-.5 1.6h-4.5l-.5-1.6h5.5m0-1.6-.5-1.6h-4.5l-.5 1.6h5.5m20.1 18.5q.1-.9 1.1-1 1 .1 1.1 1-.1 1-1 1.1a1 1 0 0 1-1.2-1zm-4.4-.7-.5-1.6h-4.5l-.5 1.6h5.5m0 1.5-.5 1.6h-4.5l-.5-1.6h5.5m-11.6 21.9q.1-1 1.1-1t1.1 1c.1 1-.5 1-1 1a1 1 0 0 1-1.2-1zm1.9-7.8 1.7-.4v-4.3l-1.7-.5v5.2m-1.6 0-1.7-.4v-4.3l1.7-.5v5.2m15.7-32.6q.1-1 1.1-1a1 1 0 0 1 1.1 1q-.1 1-1 1a1 1 0 0 1-1.2-1zm-16.1 0q.1-1 1.1-1a1 1 0 0 1 1.1 1q-.1 1-1 1a1 1 0 0 1-1.2-1zm6.2.8.5 1.6h4.6l.5-1.6h-5.5m0-1.6.4-1.6h4.6l.5 1.6h-5.5m-6 5-1.6.5v4.3l1.6.5V281m1.7 0 1.6.5v4.3l-1.6.5V281"/> + <path fill="#058e6e" d="M227.7 294.7a2.6 2.6 0 0 1 2.6-2.5 2.6 2.6 0 0 1 2.6 2.5 2.6 2.6 0 0 1-2.6 2.4c-1.4 0-2.6-1-2.6-2.4"/> + <path fill="#db4446" d="M230.9 229.7v-.6l.1-.3-2.3-.1a6 6 0 0 1-2.3-1.2q-1-1-1.6-1.2c-1.3-.2-2.3.4-2.3.4s1 .4 1.7 1.3 1.5 1.3 1.8 1.4c.6.2 2.6 0 3.1.1z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M230.9 229.7v-.6l.1-.3-2.3-.1a6 6 0 0 1-2.3-1.2q-1-1-1.6-1.2c-1.3-.2-2.3.4-2.3.4s1 .4 1.7 1.3 1.5 1.3 1.8 1.4c.6.2 2.6 0 3.1.1z"/> + <path fill="#ed72aa" stroke="#000" stroke-width=".4" d="M238.1 227.5v1.4c.2.6-.1 1.2 0 1.5q0 .5.3.9l.2.9-.7-.5-.6-.4v1l.6 1.1 1 1.3c.2.5.1 1.4.1 1.4s-.4-.7-.8-.8l-1.2-.7s.7.8.7 1.5l-.3 1.6c-.1.2-.3-.7-.8-1.1l-1-.9s.4 1.2.4 2v2.3l-.9-1-1-.7c0-.2.5.6.6 1.1s.3 2.3 1.8 4.5c1 1.3 2.3 3.6 5.3 2.9s1.9-4.8 1.3-6.7a17 17 0 0 1-1-4.6c0-.8.6-2.9.5-3.3a8 8 0 0 1 .2-3.1l.9-2.3.4-1.3.1-1.3.7 1.3.1 1.5s.1-1 1-1.6 1.8-1.1 2-1.4l.3-.5c-.1 0 0 1.8-.6 2.6l-1.7 2s.7-.3 1.2-.3h.9s-.6.4-1.4 1.6c-.8 1-.5 1.2-1 2.1s-1 1-1.7 1.5c-1 .8-.5 4.2-.4 4.7.2.5 2 4.5 2 5.5s.2 3.2-1.5 4.6c-1.1 1-3 1-3.4 1.2-.4.3-1.2 1.1-1.2 2.8s.6 2 1 2.4c.6.5 1.2.2 1.3.6l.5.7q.3.3.2.8c0 .3-.8 1.1-1.1 1.7l-.8 2.4c0 .2-.1 1 .1 1.3 0 0 .9 1 .3 1.2-.4.2-.8-.2-1-.2l-.9.5q-.3-.1-.4-.8l-.1-.7q-.3 0-.4.5c0 .2 0 .8-.3.8l-.8-.5c-.2 0-.8-.2-.8-.4q.1-.6.7-1 .8-.1.5-.5t-.7 0c-.3.4-.8 0-.7-.2v-.8c0-.2-.4-.5.1-.8s.8.2 1.4.1q.8 0 1-.6.3-.6-.2-1.4l-.9-.8-.3-.9v2.2l-.7-.8c-.3-.3-.6-1.3-.6-1.3v1.3l.2.8c-.1.1-.8-.7-1-.8l-1-1-.4-1.4v-1.5l.4-1h-1.4c-.7 0-1.2-.3-1.5.2q-.4.8.2 2.8.5 1.8.4 2.1l-.7.8h-.9l-1.2-.3h-1.3l-1.1-.3c-.3.1-.8.3-.6.7q.1.8-.5.7l-.9-.2q-.8 0-.8-.4t.4-.7q.3-.5 0-.5h-.6q-.3.4-.8.4-.3-.1-.4-1c-.1-.9-.7-1.2 0-1.1.5 0 1.3.4 1.4 0q.2-.4-.2-.7c-.4-.3-.8-.4-.3-.7l.7-.5c.1-.2.4-.8.7-.6.6.2 0 .7.6 1.3s1 1 2 .8q1.4 0 1.3-.5l-.1-1v-1s-.4.3-.5.6l-.4.8v-2l-.2-.8-.3.9-.1 1s-.7-.5-.5-1.5l.1-2c.2-.3.7-1.5 2-1.6h2.6l2-.3s-2.8-1.4-3.5-1.9a10 10 0 0 1-2-2l-.6-1.6s-.5 0-1 .3l-1.2 1-.7 1 .1-1.2v-.8s-.4 1.2-1 1.7l-1.4 1v-.8l.2-1s-.4.8-1.1 1c-.7 0-1.8 0-1.9.4q.2.8 0 1.4c0 .3-.4.5-.4.5l-.8-.4-.7.2c-.1.1-.3-.4-.2-.7s.7-.6.5-.8l-.8.2c-.3.1-.8.3-.8-.2q.2-.6 0-1 0-.4.2-.6l1.2-.1q0-.4-.8-.6-1-.2-.5-.8.3-.2.5-.6c.1-.2.2-.7.7-.5.5.3.4.8 1 1a4 4 0 0 0 2-.2l1.5-1 1.5-1-1-.8q-.5-.7-1-1l-1.8-.6-1.7-.5.8-.3q.4-.5.8-.6h.3-1.4c-.3-.1-1-.6-1.3-.6l-.8.1s.8-.4 1.4-.5l1-.1s-.9-.3-1.1-.6l-.6-1q-.2-.3-.6-.5l-1 .3q-.6 0-.6-.6l-.1-.5c-.2-.3-.6-.8-.2-1h1.4q-.2-.4-.8-.8c-.4-.2-1-.5-.7-.8l.8-.5c.2-.3.3-1 .7-.7.4.2.8 1.2 1.1 1.1s.3-.8.3-1c0-.4 0-1 .2-.9l1 .5q.8-.1 1 .2 0 .5-.6 1-.4.6-.3 1.4.4 1 1.2 1.4t1.7.9c.5.3 1.7 1.2 2.1 1.3l.8.4s.5-.2 1.1-.2 2.1 0 2.6-.2 1.3-.6 1-1c-.1-.6-1.3-1-1.2-1.4q0-.5 1.2-.4c.8 0 1.8.1 2-1q.5-1.4-.8-1.8c-1-.2-1.8-.2-2-1q-.4-1-.2-1.1.3-.3 1.4-.4 1.3 0 1.9-.2l.6-.9c.3-.2 1.4-.4 1.4-.4s1.4.7 2.7 1.7l2.2 2.1"/> + <path d="m228.1 226.8-.2-.6v-.3s.8 0 .7.3q0 .2-.3.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m228.1 226.8-.2-.6v-.3s.8 0 .7.3q0 .2-.3.3z"/> + <path d="M232 225.4v-.4s.7 0 1 .3c.5.4.9 1 .9 1l-.8-.4h-.5l-.3-.1v-.3z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M232 225.4v-.4s.7 0 1 .3c.5.4.9 1 .9 1l-.8-.4h-.5l-.3-.1v-.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m237.3 231.3-.4-.7-.3-.4"/> + <path fill="#db4446" d="M217.4 226.6s.5.4.8.4h.8s.2-.5.1-.8c-.2-1.2-1.2-1.4-1.2-1.4s.3.7.1 1z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M217.4 226.6s.5.4.8.4h.8s.2-.5.1-.8c-.2-1.2-1.2-1.4-1.2-1.4s.3.7.1 1z"/> + <path fill="#db4446" d="M215.2 227.6s-.4-.7-1.3-.6-1.4.8-1.4.8h1.2c.3.3.4 1 .4 1l.7-.6z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M215.2 227.6s-.4-.7-1.3-.6-1.4.8-1.4.8h1.2c.3.3.4 1 .4 1l.7-.6z"/> + <path fill="#db4446" d="M214.2 230.6s-.8.1-1.2.6-.3 1.3-.3 1.3.4-.5.9-.5l1 .2-.1-.8z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M214.2 230.6s-.8.1-1.2.6-.3 1.3-.3 1.3.4-.5.9-.5l1 .2-.1-.8z"/> + <path d="m228.2 230.5.3-.5.3.5z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m228.2 230.5.3-.5.3.5h-.7"/> + <path d="m229 230.5.3-.5.4.5z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m229 230.5.3-.5.4.5h-.8"/> + <path d="m228.6 227.3.8.3-.7.4-.1-.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m228.6 227.3.8.3-.7.4-.1-.6"/> + <path d="m229.5 227.6.7.2-.5.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m229.5 227.6.7.2-.5.4-.2-.6"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M224.2 233.7s-.7.2-1 .6q-.4.9-.3 1c.1.1.6-.5 1.5-.3l1.2.3 1.3-.3s-.7.8-.7 1.3l.2 1.1c0 .7-.6 1.6-.6 1.6l1-.3 1.7-.8.9-1s-.2 1 0 1.4l.2 1.6.8-.6q.5-.2.9-.7l.3-1s0 .8.4 1.3l.6 1.6s.3-.8.6-1.1l.7-1-.1-.9.4.8m-11 .6s.5-.8 1-1l1.1-.8.9-.4m1 5 1.3-.8 1-1"/> + <path fill="#db4446" d="M216.6 240.4s-.4-.5-1.1-.3c-.7 0-1.2.9-1.2.9s.6-.2 1-.1.6.4.6.4l.4-.4z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M216.6 240.4s-.4-.5-1.1-.3c-.7 0-1.2.9-1.2.9s.6-.2 1-.1.6.4.6.4l.4-.4z"/> + <path fill="#db4446" d="M215.8 243.2s-.6 0-1.1.3c-.5.4-.5 1.2-.5 1.2s.4-.4.8-.3l.9.2v-.6c.2-.4-.1-.8-.1-.8"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M215.8 243.2s-.6 0-1.1.3c-.5.4-.5 1.2-.5 1.2s.4-.4.8-.3l.9.2v-.6c.2-.4-.1-.8-.1-.8z"/> + <path fill="#db4446" d="M217.2 245.8s0 .8.3 1.3c.4.5 1.1.5 1.1.5l-.3-.7.3-.8q.1-.1-.7-.3z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M217.2 245.8s0 .8.3 1.3c.4.5 1.1.5 1.1.5l-.3-.7.3-.8q.1-.1-.7-.3zm16 1.3s2 1.2 1.9 2.2c0 1-1 2.3-1 2.3"/> + <path fill="#db4446" d="M224.2 252.6s-.4-.6-1.1-.6-1.4.7-1.4.7.8-.1 1 .2l.5.6.5-.3z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M224.2 252.6s-.4-.6-1.1-.6-1.4.7-1.4.7.8-.1 1 .2l.5.6.5-.3z"/> + <path fill="#db4446" d="M222.2 255.3s-1-.1-1.4.3-.4 1.3-.4 1.3.6-.6 1-.5q.9.1 1 .3v-.7l-.3-.7"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M222.2 255.3s-1-.1-1.4.3-.4 1.3-.4 1.3.6-.6 1-.5q.9.1 1 .3v-.7l-.3-.7z"/> + <path fill="#db4446" d="M224 258.1s-.3.7 0 1.1 1 .8 1 .8-.3-.4-.2-.8c.1-.3.7-.8.7-.8l-1.4-.2"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M224 258.1s-.3.7 0 1.1 1 .8 1 .8-.3-.4-.2-.8c.1-.3.7-.8.7-.8l-1.4-.2z"/> + <path fill="#db4446" d="M236 259.3s-.8-.2-1.2 0c-.5.3-.8 1.4-.8 1.4s.7-.6 1.2-.5q.9.1 1 .3v-.8z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M236 259.3s-.8-.2-1.2 0c-.5.3-.8 1.4-.8 1.4s.7-.6 1.2-.5q.9.1 1 .3v-.8z"/> + <path fill="#db4446" d="M236.4 262.2s-.6.6-.4 1.1l.6 1s0-.7.2-1l1-.3-.7-.5z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M236.4 262.2s-.6.6-.4 1.1l.6 1s0-.7.2-1l1-.3-.7-.5z"/> + <path fill="#db4446" d="M239.4 263s-.3.8.2 1.3l1 .5q-.2-.3-.2-1.1.3-.7.5-.7l-.8-.2-.7.3"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M239.4 263s-.3.8.2 1.3l1 .5q-.2-.3-.2-1.1.3-.7.5-.7l-.8-.2-.7.3z"/> + <path fill="#ffd691" stroke="#000" stroke-width=".5" d="M208.8 316.4q3 1 3 3.8c0 2.3-2.2 4-5 4-3 0-5.3-1.7-5.3-4 0-1.7 1-3.6 3-3.8l-.2-.4-.7-.7h1.2l.8.5.5-.7.6-.5.6.6.3.5.7-.4.8-.3s0 .4-.2.7l-.1.7"/> + <path fill="#058e6e" stroke="#000" stroke-width=".5" d="M206.3 326.7s-3.8-2.6-5.5-3c-2-.4-4.5 0-5.5 0 0 0 1.2.8 1.8 1.4.5.5 2.3 1.5 3.3 1.8 3 .8 6-.2 6-.2m1 .2s2.4-2.5 5-2.9c3-.4 5 .3 6.2.6l-1.5.8c-.5.3-2 1.5-4 1.6-2 0-4.4-.3-4.8-.2l-.9.1"/> + <path fill="#ad1519" stroke="#000" stroke-width=".5" d="M206.7 323.8a5 5 0 0 1 0-7.1 5 5 0 0 1 1.5 3.5 5 5 0 0 1-1.5 3.6"/> + <path fill="#058e6e" stroke="#000" stroke-width=".5" d="M205.7 329s.6-1.5.6-2.7l-.1-2.1h.8s.3 1.1.3 2l-.1 2.4-.7.1-.8.3"/> + <path fill="#fff" d="M254 190.7q.1-.9 1-1 1 .1 1.1 1-.1 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M254 190.7q.1-.9 1-1 1 .1 1.1 1-.1 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M255.4 188.2q.1-1 1.1-1t1 1c0 1-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M255.4 188.2q.1-1 1.1-1t1 1c0 1-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M256.4 185.2q.1-.9 1-1 1 .1 1.1 1c.1.9-.5 1-1 1a1 1 0 0 1-1.1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M256.4 185.2q.1-.9 1-1 1 .1 1.1 1c.1.9-.5 1-1 1a1 1 0 0 1-1.1-1z"/> + <path fill="#fff" d="M256.5 182q.1-.9 1-1 1 .1 1.1 1-.1 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M256.5 182q.1-.9 1-1 1 .1 1.1 1-.1 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M255.7 179q.1-1 1-1 1.1 0 1.2 1c.1 1-.5 1-1.1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M255.7 179q.1-1 1-1 1.1 0 1.2 1c.1 1-.5 1-1.1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M254.1 176.1q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M254.1 176.1q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M252 173.8q0-1 1-1c1 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M252 173.8q0-1 1-1c1 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M249.4 171.8q.1-.9 1.1-1a1 1 0 0 1 0 2q-1 0-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M249.4 171.8q.1-.9 1.1-1a1 1 0 0 1 0 2q-1 0-1-1z"/> + <path fill="#fff" d="M246.5 170.3q0-1 1-1c1 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M246.5 170.3q0-1 1-1c1 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M243.3 169.1q.1-.9 1.1-1a1 1 0 0 1 0 2 1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M243.3 169.1q.1-.9 1.1-1a1 1 0 0 1 0 2 1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M239.9 168.5q0-.9 1-1c1-.1 1 .5 1 1s-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M239.9 168.5q0-.9 1-1c1-.1 1 .5 1 1s-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M236.6 168.3q0-.9 1-1c1-.1 1 .5 1 1s-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M236.6 168.3q0-.9 1-1c1-.1 1 .5 1 1s-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M233.3 168.5q.1-1 1-1t1.1 1c.1 1-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M233.3 168.5q.1-1 1-1t1.1 1c.1 1-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M230.1 168.5q.1-1 1-1t1.1 1c.1 1-.5 1-1 1a1 1 0 0 1-1.1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M230.1 168.5q.1-1 1-1t1.1 1c.1 1-.5 1-1 1a1 1 0 0 1-1.1-1z"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="M231.7 171.2q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1m.6 3.1q0-1 1-1c1 0 1 .4 1 1q0 .9-1 1a1 1 0 0 1-1-1m0 3q.2-.9 1.1-1a1 1 0 0 1 0 2 1 1 0 0 1-1-1m-1 2.8q.1-.9 1-1 1 .1 1.1 1 0 1-1 1a1 1 0 0 1-1-1m-1.9 2.6q.1-.9 1-1 1.1.1 1.2 1 0 1.2-1.1 1-1 0-1-1"/> + <path fill="#fff" d="M227.6 166.5q.1-.9 1.1-1a1 1 0 0 1 0 2 1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M227.6 166.5q.1-.9 1.1-1a1 1 0 0 1 0 2 1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M224.8 165q0-1 1-1c1 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M224.8 165q0-1 1-1c1 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M221.6 164q.1-1 1-1t1.1 1q-.1.9-1 1-1-.1-1.1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M221.6 164q.1-1 1-1t1.1 1q-.1.9-1 1-1-.1-1.1-1z"/> + <path fill="#fff" d="M218.3 163.4q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1.1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M218.3 163.4q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1.1-1z"/> + <path fill="#fff" d="M215 163.5q.1-1 1.1-1t1 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M215 163.5q.1-1 1.1-1t1 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M211.7 164q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M211.7 164q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M208.6 165.1q.1-.9 1-1 1 .1 1.1 1c.1.9-.5 1-1 1a1 1 0 0 1-1.1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M208.6 165.1q.1-.9 1-1 1 .1 1.1 1c.1.9-.5 1-1 1a1 1 0 0 1-1.1-1z"/> + <path fill="#fff" d="M156 190.7q0-.9 1-1c1-.1 1 .5 1 1q0 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M156 190.7q0-.9 1-1c1-.1 1 .5 1 1q0 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M154.5 188.2q.1-1 1-1t1 1c0 1-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M154.5 188.2q.1-1 1-1t1 1c0 1-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M153.5 185.2q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M153.5 185.2q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M153.4 182q.1-.9 1-1 1 .1 1.1 1-.1 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M153.4 182q.1-.9 1-1 1 .1 1.1 1-.1 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M154.2 179q.1-1 1-1t1 1c0 1-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M154.2 179q.1-1 1-1t1 1c0 1-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M155.8 176.1q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M155.8 176.1q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M158 173.8q0-1 1-1c1 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M158 173.8q0-1 1-1c1 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M160.5 171.8q0-.9 1-1c1-.1 1 .5 1 1s-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M160.5 171.8q0-.9 1-1c1-.1 1 .5 1 1s-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M163.5 170.3q0-1 1-1c1 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M163.5 170.3q0-1 1-1c1 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M166.6 169.1q.1-.9 1-1a1 1 0 0 1 0 2 1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M166.6 169.1q.1-.9 1-1a1 1 0 0 1 0 2 1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M170 168.5q.1-.9 1.1-1a1 1 0 0 1 0 2q-1 0-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M170 168.5q.1-.9 1.1-1a1 1 0 0 1 0 2q-1 0-1-1z"/> + <path fill="#fff" d="M173.4 168.3q0-.9 1-1c1-.1 1 .5 1 1s-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M173.4 168.3q0-.9 1-1c1-.1 1 .5 1 1s-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M176.6 168.5q.1-1 1-1t1.1 1c.1 1-.5 1-1 1a1 1 0 0 1-1.1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M176.6 168.5q.1-1 1-1t1.1 1c.1 1-.5 1-1 1a1 1 0 0 1-1.1-1z"/> + <path fill="#fff" d="M179.8 168.5q.1-1 1-1 1.1 0 1.2 1c.1 1-.5 1-1.1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M179.8 168.5q.1-1 1-1 1.1 0 1.2 1c.1 1-.5 1-1.1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="M178.2 171.2q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1m-.7 3.1q0-1 1-1c1 0 1 .4 1 1q0 .9-1 1a1 1 0 0 1-1-1m-.2 3q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1m.9 2.8q.1-.9 1-1 1 .1 1.1 1-.1 1-1 1a1 1 0 0 1-1.1-1m1.8 2.6q.1-.9 1-1a1 1 0 0 1 0 2 1 1 0 0 1-1-1"/> + <path fill="#fff" d="M182.3 166.5q.1-.9 1-1a1 1 0 0 1 0 2 1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M182.3 166.5q.1-.9 1-1a1 1 0 0 1 0 2 1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M185.2 165q0-1 1-1c1 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M185.2 165q0-1 1-1c1 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M188.3 164q.1-1 1-1t1.1 1q0 .9-1 1c-1 .1-1-.5-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M188.3 164q.1-1 1-1t1.1 1q0 .9-1 1c-1 .1-1-.5-1-1z"/> + <path fill="#fff" d="M191.6 163.4q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M191.6 163.4q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M194.9 163.5q0-1 1-1c1 0 1 .4 1 1q0 .9-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M194.9 163.5q0-1 1-1c1 0 1 .4 1 1q0 .9-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M198.2 164q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M198.2 164q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1z"/> + <path fill="#fff" d="M201.3 165.1q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M201.3 165.1q.1-.9 1-1 1 .1 1.1 1 0 1.2-1 1a1 1 0 0 1-1-1z"/> + <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M174.7 228.9h-1v-1h-1.5v3.6h1.6v2.5h-3.4v7h1.8v14.3h-3.5v7.3h27.2v-7.3h-3.5V241h1.8v-7h-3.4v-2.5h1.6V228h-1.6v.9h-.8v-1h-1.6v1h-1.1v-1h-1.6v3.6h1.6v2.5H184v-7.8h1.7v-3.5H184v.9h-1v-1h-1.5v1h-.9v-1H179v3.6h1.7v7.8h-3.3v-2.5h1.6V228h-1.6v.9h-.9v-1h-1.8zm-6 33.7H196m-27.3-1.8H196m-27.3-1.8H196m-27.3-1.7H196m-27.3-2H196m-23.8-1.6h20.2m-20.2-1.8h20.2m-20.2-2h20.2m-20.2-1.7h20.2m-20.2-1.8h20.2m-20.2-1.8h20.2m-20.2-1.7h20.2m-22-1.8h23.8m-23.8-1.8h23.8m-23.8-1.8h23.8m-23.8-1.8h23.8m-20.4-1.7h17m-10.2-1.8h3.4m-3.4-1.8h3.4m-3.4-1.8h3.4m-3.4-1.7h3.4m-5.1-2.2h6.8m-12 7.5h3.6m-5-2.2h6.6m-6.7 32.6v-1.8m0-1.8v-1.7m-1.8 1.7v1.8m3.4 0V259m1.7 3.6v-1.8m0-1.8v-1.7m0-2v-1.6m0-1.8v-2m-1.7 7.4v-2m-3.4 2v-2m7 0v2m1.5-2v-1.6m-5.1-1.8v1.8m3.5-1.8v1.8m3.3-1.8v1.8M179 252v-2m1.7-1.7v1.7m0-5.3v1.8m-1.7-3.6v1.8m1.7-3.5v1.7m-3.3-1.7v1.7m-3.5-1.7v1.7m-1.6-3.5v1.8m3.3-1.8v1.8m3.4-1.8v1.8m1.7-3.6v1.8m-3.3-1.8v1.8m-3.5-1.8v1.8m-1.6-3.6v1.8m6.7-1.8v1.8m-3.4-5.3v1.8m15.3-1.8h-3.5m5-2.2h-6.6m6.7 32.6v-1.8m0-1.8v-1.7m1.8 1.7v1.8m-3.4 0V259m-1.7 3.6v-1.8m0-1.8v-1.7m0-2v-1.6m0-1.8v-2m1.7 7.4v-2m3.4 2v-2m-7 0v2m-1.5-2v-1.6m5.1-1.8v1.8m-3.5-1.8v1.8m-3.3-1.8v1.8m1.7-1.8v-2m-1.7-1.7v1.7m0-5.3v1.8m1.7-3.6v1.8m-1.7-3.5v1.7m3.3-1.7v1.7m3.5-1.7v1.7m1.6-3.5v1.8m-3.3-1.8v1.8m-3.4-1.8v1.8m-1.7-3.6v1.8m3.3-1.8v1.8m3.5-1.8v1.8m1.6-3.6v1.8m-6.7-1.8v1.8m3.4-5.3v1.8m-7 18v-2m0-5.4v-1.8m0 5.4v-1.8m0-5.3v-1.8m0-1.8v-1.7m0-3.6v-1.8m0-1.7v-1.8m-8.3 4.6h3.5m3.3-5.3h3.4m3.3 5.3h3.5"/> + <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M186.8 262.6v-4.7c0-.8-.4-3.5-4.6-3.5-4 0-4.4 2.7-4.4 3.5v4.7z"/> + <path fill="#c8b100" stroke="#000" stroke-width=".4" d="m179.3 258.2-2.2-.3c0-.9.2-2.2.9-2.6l2 1.5c-.3.2-.7 1-.7 1.4zm6 0 2.2-.3c0-.9-.2-2.2-.9-2.6l-2 1.5c.3.2.7 1 .7 1.4zm-2.2-2.3 1-2-2-.4-1.7.4 1.1 2zm-4.2-5.5v-4.9c0-1.3-1-2.4-2.5-2.4s-2.4 1-2.4 2.4v4.9zm6.8 0v-4.9c0-1.3 1-2.4 2.5-2.4s2.4 1 2.4 2.4v4.9zm-1.7-12 .4-4.4h-4.2l.2 4.4zm3.3 0-.4-4.4h4.4l-.5 4.4zm-10 0 .2-4.4h-4.2l.5 4.4z"/> + <path fill="#0039f0" d="M185.3 262.6v-4c0-.7-.5-2.7-3.1-2.7-2.4 0-2.9 2-2.9 2.7v4zm-6.9-12.7v-4.2c0-1-.6-2.2-2-2.2s-2 1.1-2 2.2v4.3h4zm7.8 0v-4.2c0-1 .7-2.2 2-2.2s2 1.1 2 2.2v4.3h-4z"/> + <path fill="#ad1519" d="M190.8 269.8c0-9.7 7-17.6 15.6-17.6s15.6 7.9 15.6 17.6-7 17.5-15.6 17.5-15.6-7.8-15.6-17.5"/> + <path fill="none" stroke="#000" stroke-width=".6" d="M190.8 269.8c0-9.7 7-17.6 15.6-17.6s15.6 7.9 15.6 17.6-7 17.5-15.6 17.5-15.6-7.8-15.6-17.5z"/> + <path fill="#005bbf" d="M195.4 269.7c0-7 5-12.8 11-12.8s11 5.7 11 12.8-5 13-11 13-11-5.8-11-13"/> + <path fill="none" stroke="#000" stroke-width=".6" d="M195.4 269.7c0-7 5-12.8 11-12.8s11 5.7 11 12.8-5 13-11 13-11-5.8-11-13z"/> + <path fill="#c8b100" d="M201.2 260.9s-1.3 1.4-1.3 2.7a6 6 0 0 0 .6 2.4q-.4-.8-1.4-.8-1.3.1-1.4 1.3l.2.8.5.9q.2-.5 1-.5 1.1 0 1 1v.2h-1.2v1h1l-.8 1.5 1-.4.8.9.8-.9 1 .4-.7-1.5h1v-1h-1.1v-.3a1 1 0 0 1 1-1q.6 0 1 .6l.4-1 .2-.7a1.4 1.4 0 0 0-1.4-1.3q-1 0-1.4.9s.6-1.2.6-2.5-1.4-2.7-1.4-2.7"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M201.2 260.9s-1.3 1.4-1.3 2.7a6 6 0 0 0 .6 2.4q-.4-.8-1.4-.8-1.3.1-1.4 1.3l.2.8.5.9q.2-.5 1-.5 1.1 0 1 1v.2h-1.2v1h1l-.8 1.5 1-.4.8.9.8-.9 1 .4-.7-1.5h1v-1h-1.1v-.3a1 1 0 0 1 1-1q.6 0 1 .6l.4-1 .2-.7a1.4 1.4 0 0 0-1.4-1.3q-1 0-1.4.9s.6-1.2.6-2.5-1.4-2.7-1.4-2.7z"/> + <path fill="#c8b100" d="M199.2 269.9h4.1v-1h-4.1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M199.2 269.9h4.1v-1h-4.1z"/> + <path fill="#c8b100" d="M211.4 260.9s-1.3 1.4-1.3 2.7.6 2.4.6 2.4q-.3-.8-1.4-.8-1.3.1-1.4 1.3l.2.8.5.9q.3-.5 1-.5a1 1 0 0 1 1 1v.2h-1.2v1h1l-.8 1.5 1-.4.8.9.8-.9 1 .4-.7-1.5h1v-1h-1.1v-.3a1 1 0 0 1 1-1q.7 0 1 .6l.4-1 .2-.7a1.4 1.4 0 0 0-1.4-1.3q-1 0-1.4.9s.6-1.2.6-2.5-1.4-2.7-1.4-2.7"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M211.4 260.9s-1.3 1.4-1.3 2.7.6 2.4.6 2.4q-.3-.8-1.4-.8-1.3.1-1.4 1.3l.2.8.5.9q.3-.5 1-.5a1 1 0 0 1 1 1v.2h-1.2v1h1l-.8 1.5 1-.4.8.9.8-.9 1 .4-.7-1.5h1v-1h-1.1v-.3a1 1 0 0 1 1-1q.7 0 1 .6l.4-1 .2-.7a1.4 1.4 0 0 0-1.4-1.3q-1 0-1.4.9s.6-1.2.6-2.5-1.4-2.7-1.4-2.7z"/> + <path fill="#c8b100" d="M209.4 269.9h4.1v-1h-4.1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M209.4 269.9h4.1v-1h-4.1z"/> + <path fill="#c8b100" d="M206.3 269.6s-1.3 1.5-1.3 2.8.6 2.4.6 2.4q-.3-.8-1.4-.9-1.3.1-1.4 1.4l.2.7.5 1q.2-.6 1-.6a1 1 0 0 1 1 1v.3h-1.2v1h1l-.8 1.5 1-.4.8.9.8-1 1 .5-.7-1.5h1v-1h-1.1v-.3a1 1 0 0 1 1-1q.6 0 .9.6l.5-1 .2-.7a1.4 1.4 0 0 0-1.4-1.4q-1 0-1.4 1s.6-1.2.6-2.5-1.4-2.7-1.4-2.7"/> + <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M206.3 269.6s-1.3 1.5-1.3 2.8.6 2.4.6 2.4q-.3-.8-1.4-.9-1.3.1-1.4 1.4l.2.7.5 1q.2-.6 1-.6a1 1 0 0 1 1 1v.3h-1.2v1h1l-.8 1.5 1-.4.8.9.8-1 1 .5-.7-1.5h1v-1h-1.1v-.3a1 1 0 0 1 1-1q.6 0 .9.6l.5-1 .2-.7a1.4 1.4 0 0 0-1.4-1.4q-1 0-1.4 1s.6-1.2.6-2.5-1.4-2.7-1.4-2.7z"/> + <path fill="#c8b100" d="M204.3 278.6h4.1v-1h-4.1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M204.3 278.6h4.1v-1h-4.1z"/> + <path fill="#c8b100" d="M237.6 223.4h-.3l-.3.4q-.4.3-.8 0l-.1-.4h-.5q-.4-.3-.1-.7v-.5h-.3l-.1.2q-.3.4-.7.2v-.2h-.3c-.5.2-.7-1-.7-1.2l-.2.2s.2.7.1 1.2l-.3 1.2a9 9 0 0 1 2.9 1.6 9 9 0 0 1 2.2 2.3l1.2-.5c.6-.2 1.3-.2 1.3-.2l.2-.2c-.3 0-1.5.1-1.5-.4v-.2h-.2q-.3-.3 0-.7l.2-.1v-.3h-.3l-.2.1q-.4.5-.8 0l-.1-.4h-.5q-.4-.3 0-.8l.2-.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M237.6 223.4h-.3l-.3.4q-.4.3-.8 0l-.1-.4h-.5q-.4-.3-.1-.7v-.5h-.3l-.1.2q-.3.4-.7.2v-.2h-.3c-.5.2-.7-1-.7-1.2l-.2.2s.2.7.1 1.2l-.3 1.2a9 9 0 0 1 2.9 1.6 9 9 0 0 1 2.2 2.3l1.2-.5c.6-.2 1.3-.2 1.3-.2l.2-.2c-.3 0-1.5.1-1.5-.4v-.2h-.2q-.3-.3 0-.7l.2-.1v-.3h-.3l-.2.1q-.4.5-.8 0l-.1-.4h-.5q-.4-.3 0-.8l.2-.3z"/> + <path d="M235.4 224h.2v.3h-.1q-.1-.1 0-.2"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M235.4 224h.2v.3h-.1q-.1-.1 0-.2z"/> + <path d="m236.3 224.8-.3-.2v-.2h.1l.4.3.3.2v.2h-.2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m236.3 224.8-.3-.2v-.2h.1l.4.3.3.2v.2h-.2l-.3-.3"/> + <path d="m234.6 223.7-.2-.2s-.1 0 0-.1l.3.1.3.1v.2h-.1z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m234.6 223.7-.2-.2s-.1 0 0-.1l.3.1.3.1v.2h-.1l-.3-.1"/> + <path d="M233.7 223h.2v.2h-.2s-.1-.1 0-.2"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M233.7 223h.2v.2h-.2s-.1-.1 0-.2z"/> + <path d="M237.3 225.5v-.2h-.3l.1.2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M237.3 225.5v-.2h-.3l.1.2z"/> + <path d="m237.9 226.2.2.2h.1v-.2l-.2-.2-.2-.2h-.1v.2z"/> + <path fill="none" stroke="#000" stroke-width=".1" d="m237.9 226.2.2.2h.1v-.2l-.2-.2-.2-.2h-.1v.2l.2.2"/> + <path d="M238.8 227v-.3h-.3v.2h.3"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M238.8 227v-.3h-.3v.2h.3z"/> + <path fill="#c8b100" d="M236.2 221.1h-.6l-.1.9v.1h.2l.7-.5-.3-.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M236.2 221.1h-.6l-.1.9v.1h.2l.7-.5-.3-.5"/> + <path fill="#c8b100" d="M234.6 221.6v.5l.9.1h.1v-.2l-.5-.7z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M234.6 221.6v.5l.9.1h.1v-.2l-.5-.7-.5.3"/> + <path fill="#c8b100" d="m236.4 222.6-.4.3-.6-.7v-.1h1.1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m236.4 222.6-.4.3-.6-.7v-.1h1.1v.5"/> + <path fill="#c8b100" d="M235.3 222h.4v.3h-.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M235.3 222h.4v.3h-.3z"/> + <path fill="#c8b100" d="m233.2 221.1-.2-.7-.4-.4s.4-.2.8.1 0 .9 0 .9z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m233.2 221.1-.2-.7-.4-.4s.4-.2.8.1 0 .9 0 .9z"/> + <path fill="#c8b100" d="m234.2 221.4-.4.4-.6-.6v-.2h1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m234.2 221.4-.4.4-.6-.6v-.2h1v.4"/> + <path fill="#c8b100" d="m233.1 221 .3-.1v.3q0 .3-.2.2z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m233.1 221 .3-.1v.3q0 .3-.2.2z"/> + <path fill="#c8b100" d="M238.3 222.5h-.5l-.3.7v.2h.2l.8-.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M238.3 222.5h-.5l-.3.7v.2h.2l.8-.4-.2-.5"/> + <path fill="#c8b100" d="M236.7 222.8v.5l.8.2h.1v-.2l-.4-.7z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M236.7 222.8v.5l.8.2h.1v-.2l-.4-.7-.5.2"/> + <path fill="#c8b100" d="m238.4 224-.5.2-.4-.7v-.2h.1l.9.2z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m238.4 224-.5.2-.4-.7v-.2h.1l.9.2-.1.5"/> + <path fill="#c8b100" d="M237.3 223.2h.4v.4h-.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M237.3 223.2h.4v.4h-.3z"/> + <path fill="#c8b100" d="m240.2 224.3.1.5-.8.3h-.2v-.2l.4-.8z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m240.2 224.3.1.5-.8.3h-.2v-.2l.4-.8.5.2"/> + <path fill="#c8b100" d="m240 225.8-.5.1-.3-.8v-.1h.2l.8.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m240 225.8-.5.1-.3-.8v-.1h.2l.8.3-.1.5"/> + <path fill="#c8b100" d="m238.6 224.3-.2.5.9.3h.1v-.1l-.3-.8z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m238.6 224.3-.2.5.9.3h.1v-.1l-.3-.8-.5.1"/> + <path fill="#c8b100" d="M239.5 225.2v-.3h-.4v.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M239.5 225.2v-.3h-.4v.3z"/> + <path fill="#c8b100" d="M240.8 227h.8l.5.3s.1-.4-.3-.7c-.3-.3-.8.2-.8.2z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M240.8 227h.8l.5.3s.1-.4-.3-.7c-.3-.3-.8.2-.8.2z"/> + <path fill="#c8b100" d="m240.3 226.1-.3.5.8.5v-.1h.2l-.1-1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m240.3 226.1-.3.5.8.5v-.1h.2l-.1-1-.6.1"/> + <path fill="#c8b100" d="M241 227s.1-.1 0-.2h-.3q-.3 0-.1.2z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M241 227s.1-.1 0-.2h-.3q-.3 0-.1.2zm38-21.9v.6h-2.4v-.6h1v-1.3h-.7v-.5h.6v-.6h.6v.6h.6v.6h-.6v1.2h1"/> + <path fill="none" d="M134.4 217.1v-1.2m-.4 1.2v-1.2m-.2 1.2v-1.2m-.3 1.2v-1.2"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M133.2 217.1v-1.2m-.5 1.1v-1m.2 1v-1m-.7 1v-1m.2 1v-1m-.9 1v-1m.2 1v-1m.3 1v-1m-.7 1v-1m-.3.9v-.8m-.1.8v-.8m-.5.7v-.6m.2.6v-.6m-.4.5v-.5m-.2.5v-.4m-.3.3v-.3m-.3.3v-.2"/> + <path fill="none" stroke="#000" stroke-width=".2" d="M129.2 216.6v-.2"/> + <path fill="none" d="M135.7 217v-1m-.5 1v-1m-.4 1.2V216m143 1.1V216m-.4 1.1V216m-.3 1.1V216m-.3 1.2V216"/> + <path fill="none" stroke="#000" stroke-width=".1" d="M276.6 217.1V216m-.6 1v-1m.3 1v-1m-.8 1v-1m.3 1v-1m-.9 1v-1m.2 1v-1m.2 1v-1m-.6 1v-1m-.3.9v-.8m-.2.8v-.8m-.4.7v-.6m.2.6v-.6m-.5.6v-.6m-.2.5v-.4m-.3.4v-.4m-.2.3v-.2"/> + <path fill="none" stroke="#000" stroke-width=".2" d="M272.6 216.6v-.2"/> + <path fill="none" d="M279.1 217v-1m-.6 1v-1m-.4 1.1V216"/> +</svg> diff --git a/apps/web/public/flags/et.svg b/apps/web/public/flags/et.svg new file mode 100644 index 00000000..3f99be48 --- /dev/null +++ b/apps/web/public/flags/et.svg @@ -0,0 +1,14 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-et" viewBox="0 0 640 480"> + <defs> + <clipPath id="et-a"> + <path fill-opacity=".7" d="M-61.3 0h682.7v512H-61.3z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#et-a)" transform="translate(57.5)scale(.94)"> + <path fill="#ffc621" d="M-238 3.5H800v498H-238z"/> + <path fill="#ef2118" d="M-240 342.5H799.3V512H-240z"/> + <path fill="#298c08" d="M-238 0H800v180H-238z"/> + <circle cx="534.2" cy="353" r="199.7" fill="#006bc6" transform="matrix(.54 0 0 .54 -25.8 74)"/> + <path fill="#ffc621" d="m214.3 188.2-6.5 4.5 23.5 33 6.3-4zm29.4 78-9.7-6.8 4-12.7-48.1.7-14-10.7 65.7-.7 12.2-36.9 6.6 15zm76.5-70.7-6.3-4.8-24.3 32.4 5.6 4.7zM254.8 247l3.5-11.2h13.3L256.4 190l6-16.5 20.5 62.4 38.8.5-12.2 10.7zm90.6 51.2 2.7-7.4-38.3-13.3-2.8 7zm-69.1-46.4 11.7-.1 4.1 12.6 38.8-28.5 17.6.6-53.1 38.7 11.5 37.2-14-8.4zm-19.8 102 7.9.2.3-40.5-7.4-.5zm22-80.3 3.8 11.1-10.7 8 39.4 27.7 5 16.8-53.6-38-31.5 22.7 3.5-16 44-32.3zm-103.3 13 2.3 7.5 38.7-12.2-2-7.2zm83.2-4-9.4 7.1-10.8-7.7-14.2 46-14.4 10 19.5-62.7-31.4-23 16.3-1.6z"/> + </g> +</svg> diff --git a/apps/web/public/flags/eu.svg b/apps/web/public/flags/eu.svg new file mode 100644 index 00000000..b0874c1e --- /dev/null +++ b/apps/web/public/flags/eu.svg @@ -0,0 +1,28 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-eu" viewBox="0 0 640 480"> + <defs> + <g id="eu-d"> + <g id="eu-b"> + <path id="eu-a" d="m0-1-.3 1 .5.1z"/> + <use xlink:href="#eu-a" transform="scale(-1 1)"/> + </g> + <g id="eu-c"> + <use xlink:href="#eu-b" transform="rotate(72)"/> + <use xlink:href="#eu-b" transform="rotate(144)"/> + </g> + <use xlink:href="#eu-c" transform="scale(-1 1)"/> + </g> + </defs> + <path fill="#039" d="M0 0h640v480H0z"/> + <g fill="#fc0" transform="translate(320 242.3)scale(23.7037)"> + <use xlink:href="#eu-d" width="100%" height="100%" y="-6"/> + <use xlink:href="#eu-d" width="100%" height="100%" y="6"/> + <g id="eu-e"> + <use xlink:href="#eu-d" width="100%" height="100%" x="-6"/> + <use xlink:href="#eu-d" width="100%" height="100%" transform="rotate(-144 -2.3 -2.1)"/> + <use xlink:href="#eu-d" width="100%" height="100%" transform="rotate(144 -2.1 -2.3)"/> + <use xlink:href="#eu-d" width="100%" height="100%" transform="rotate(72 -4.7 -2)"/> + <use xlink:href="#eu-d" width="100%" height="100%" transform="rotate(72 -5 .5)"/> + </g> + <use xlink:href="#eu-e" width="100%" height="100%" transform="scale(-1 1)"/> + </g> +</svg> diff --git a/apps/web/public/flags/fi.svg b/apps/web/public/flags/fi.svg new file mode 100644 index 00000000..470be2d0 --- /dev/null +++ b/apps/web/public/flags/fi.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-fi" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#002f6c" d="M0 174.5h640v131H0z"/> + <path fill="#002f6c" d="M175.5 0h130.9v480h-131z"/> +</svg> diff --git a/apps/web/public/flags/fj.svg b/apps/web/public/flags/fj.svg new file mode 100644 index 00000000..332ae61d --- /dev/null +++ b/apps/web/public/flags/fj.svg @@ -0,0 +1,120 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-fj" viewBox="0 0 640 480"> + <path fill="#68bfe5" d="M0 0v480h640V0z"/> + <g stroke-miterlimit="4.8"> + <path fill="#fff" d="M420.9 193.2v136.4c0 44.6 80.6 71 80.6 71s80.5-26.4 80.5-71V193.2z"/> + <path fill="#d21034" d="M490.3 241.2v61.4h-69.4v22.3h69.4v71.5l11.2 4.3 11.1-4.3V325H582v-22.4h-69.4v-61.4z"/> + <path fill="#d21034" d="M420.9 193.2H582V246H420.8z"/> + <g stroke-miterlimit="3"> + <g fill="#fff" stroke="#000" stroke-width=".8" transform="translate(-96.9 97.5)scale(.66486)"> + <ellipse cx="798.2" cy="192.2" rx="13.6" ry="11"/> + <ellipse cx="798.2" cy="186.5" rx="12.1" ry="6.1"/> + <ellipse cx="798.2" cy="198.8" rx="12.1" ry="6.1"/> + <ellipse cx="798.2" cy="192.2" rx="12.1" ry="6.1"/> + </g> + <path fill="#ffd100" stroke="#000" stroke-width=".8" d="m578 235.4-1.3-3.6s-3.6-1.5-3.9-3.4c-.6-5.1-2.4-7-5.2-7.8a6 6 0 0 0-4.5.5c-.8 1.2-5 1.2-7.2 1.3-2.3 0-2.4-1-2.4-1-1.7 0-2.5-1.3-2.5-1.3-1.1-2.3-2-3.2-2.6-3.5 3 0 5.2-1.3 8.6-4.8 3.6-3.8 6.2-2.4 6.2-2.4-1.8 3.6.6 3.3.6 3.3 4.8-2.5.6-8.7-.8-8.4-1.5.3-1.9-.7-1.9-.7 0 1.1-1.6 1.6-1.6 1.6 1.2-7.1-3-9-3-9-.6.6-1 1.9-1 1.9-1.2 4.3-5.1 3.6-9.5 1.5-4.4-2-16 2.2-19.7 3.7s-10.4 3.7-16.4.4-7.5-2.8-9.9-2.1c-2.3.6-6.5 1.6-8 .8a9 9 0 0 0-3.4-.9c.4-.2-.2-1.2-.2-1.2-1.9-2.5.2-4 .2-4s-3.4 1-2 6.8l.6.8s.4 1.9 1.4 2.4v.4s.9-.4 1.1.8 1.6 0 2.1-1c0 0-.9 5.4 5.7 6.7 0 0-.7-.9-.5-1.4.3-.6-.8-1-.7-1.8s-1.6-1.2-.3-1.9 2-1.9 5-.1c2.9 1.7 5.2 1.3 5.2 1.3s-1.8-3.6-.8-3.6 5.4 5.4 7.5 5.2c2.2-.3 6.4-2.8 8.5-1.9 0 0 .2-1 8.2-2.4s18-5.4 21.7-1.9c0 0 .4 2.8 2 3.5 0 0-.3 5.8-10.2 2.6l-3.6-1s-.6-1.7-19.5 3.2c0 0-1.1.4-1.9.9s-1.7-.3-5.5 1c-3.7 1.5-17.7 6-26.3 4.4-1.9-.6-3.6-.3-3.7-.6 0-.3 1 .1 1 .1q-.9-1-.9-.8c-7.2-.8-6-4-6-4l.4 1c1.2-1.6-.4-5.2-.4-5.2h-.1v-.3l.5-.4c3.5-3 7.5-3.5 7.5-3.5-2.4-3-7.4-1.4-7.4-1.4.1-3.5-1.4-7.7-1.4-7.7a12 12 0 0 0-7.7 4.7c-.2-3.7-4.9-5.8-4.9-5.8 1.8 2.1.7 7.2.7 7.2h.2-.5l-.1 1.1h-.2s-1.7.6-3.7 5.2c0 0-.2 1-1 2v-.4s-2.3 3-7.4 0c0 0-7-4.1-9.6-4-2.4.2-4 1.3-3.9 2 0 0-5.7-.4-7.6 2.8 0 0-4.3 1.6-.6 5 0 0 .5 1.6 1.5 2.4 0 0-.1-3.2.7-2.3l.5.6c.1.4.5 1.6 1.2 2.3l.6-.2c0-.8.2-1.8.4-2.2h.2l1 1.6 1-.6c.6 0 1.3.5 1.3.5l1.3-1.1c1.3.2 1.7-2.4 1.7-2.4a4 4 0 0 0 3.1-.5c.6 2 5.2 4.3 5.2 4.3h.2l-.6.4c2.1 1.5 6 1.1 6 1.1-1.6.6-1.4 3.7-1.4 3.7-1 .4-1 1.3-1 1.3 3.2 1.3 5.3.2 5.3.2v1.2c-1.3 2.7-1.9 5.4-1.9 5.4h.1v.2s-5.7 2-8.1 4.7c0 0-.3-.8-1-.8s-2.8-1.8-3.8-2.1-2.5.3-3-.2c-.3-.4-.1-3.6-.8-4l-.7-2c-.4 1-2.4.8-2.4.8l-.8.6-.8-.1q-.3.1-.5 1l-.3.3v-.6c-.3.3-1.1-.1-1.4-.1q-.3 0-.5.9l-1.9.1c-.3.2 0 2.6 0 2.6-2.3 1.2-1.2 3.1-1.2 3.1 1.2 6 11.5 3.3 12.3 4.1s2.6 1 3.5 1c1 0 2.1 2.2 3.4 2.4s0-1.8 6.1-3.2 8.2-4 8.2-4c1.9-.4 2.4-2.7 2.5-3.6l.2 1.4c.3 2.1-1.2 3-1.2 3l5.3-1.7c2.1-.5 1.8-2.4 1.8-2.4 2 5.8 5.7 6.2 5.7 6.2.7-2.2.6-2.9.6-2.9h1.7c0-1.3-1-2.2-1.7-2.6l2.6 1.5 1-.1c0 .9 1.3 1.7 1.3 1.7l.2-1.2c1.2 1.6 3.4 1 3.4 1l-.2-.8c4.7 2.9 12.2-.8 12.2-.8 2 .4 2.3-.8 2.3-.8 2.2.3 2.8-1.3 2.8-1.3 5.3-.4 9.1-4.2 9.1-4.2 2.7-.2 2.8-2.1 2.8-2.1s2.6.5 5.2-2.7c6-8.5 14.8-4 14.8-4l-5.1.3c-13.5-.1-7.9 9-7.9 9h.8c1.3.2 5.7 3.7 4 6.2v.2c-2.8 3.7-7.8.2-9.3-3-1.4-3.2-4.4-2.5-4.4-2.5s-7.5 1.3-4.4 7.3c.1 1.5 1 3.2 3.8 4.8 1.5 2.2 6.5 2.4 10.1 1.6C524 244 533 240 533 240c.7-2 3-1.5 5-4.4 2-2.8-2.9-3.8-4-5.4-1-1.5.3-1.2.3-1.2 4.4 2.3 4.8-5.2 4.8-5.2a7 7 0 0 0 4.3 5.5c2.3-2.3.6-7.2.6-7.2 5.7 10.2 9.1 8.5 9.1 8.5-3-1.8-1.5-4.4-1.5-4.4 2.7 10.8 14 1.4 14 1.4-.6 1.6 0 2.5 1 3.5s2.2 1.4 1.6 3.3c-.5 1.8-5.8 1.4-5.8 1.4s-5-.2-4.6 4c.3 1 3.6 1.4 5 1.1 0 0-.6.2 1.3.4h2.2c2.1 0 4.5-.4 4.5-.4 2.9-.6 2.4-1.6 2.4-1.6 4.5-.8 5-3.8 5-3.8z"/> + <path d="M429.6 216.7s.3-.5.7-.6q.6 0 1.2.8l.3-.2s-1.2-1.8-.8-3q.4-1 1.6-1.1v-.3q-1.5.3-1.8 1.3l-.2.7q0 1 .5 1.7l-.8-.2a1 1 0 0 0-.8.6zm141 24c-3 .5-7.5.7-7.9-.2 0-.2 0-.8 2.4-2.4l-.2-.5q-3.1 2-2.7 3c.7 1.8 7.2.8 8.5.6zm-58.4 1.7q-1-1.6 1-4.3l-.5-.3q-2 3-1 5z"/> + <path d="M508.1 237.8q0 2.9 3.9 5.1l.3-.5q-3.6-2.2-3.6-4.6c-.2-2.5 2.5-4.5 2.6-4.5l-.3-.4c-.2 0-3 2.1-2.9 5zm52 .7c-.8 1.3-.5 2.8-.5 2.8h.5c0-.1-.2-1.4.5-2.5a3 3 0 0 1 2-1.2v-.5q-1.7.3-2.4 1.4zM441 215.1h-.2v.2s-.2 1.6-1 2h-.6l-1.3-.7q-.2-.3-.8-.2a2 2 0 0 1-.4-1.4q.1-1 1.6-2l-.2-.3q-1.5 1-1.7 2.3c0 1 .5 1.6.5 1.6v.1h.2q.3-.1.6.2l1.4.8h1c.7-.5 1-1.9 1-2.2 3.2.7 5.8-3.3 6-3.4l-.3-.2s-2.7 4-5.8 3.2"/> + <path d="M433.1 214.5a3 3 0 0 0 .4 2q.5.8 1 .9.7 0 1.2-.6l.6-.4.3.2.2-.2-.5-.3q-.5 0-.8.5t-1 .5q-.3 0-.8-.8a2 2 0 0 1-.3-1.7c.4-1.4 2.1-2.5 2.1-2.5l-.1-.3c-.1 0-1.9 1.2-2.3 2.7m-4.4 20.7q.2-.8 1.3-1.4c-.2 0 .6.6 1.3.6l.5-.3c.2.2 1.4 1.3 1.4 2.7q0 .5-.2.9l.3.1c.9-2.1-1.4-4-1.4-4h-.2l-.4.3c-.6 0-1.3-.6-1.3-.6q-1.4.6-1.6 1.6zm10.3-5.4c-.7.1-2.5.4-3.1 1.4q-.4.6-.1 1.2l.2.6c.6 1.6 1.2 3.2 1.9 3.6l.1-.3c-.6-.3-1.2-2-1.7-3.4l-.2-.6a1 1 0 0 1 0-1c.5-.7 2.2-1 3-1.1.4 0 .5 1.5.6 2.4h.3c-.1-1.4-.3-2.8-1-2.8"/> + <path d="M433.9 231.4q-.4.6-.3.9c0 .1.2 4 2 4.8l.1-.3c-1.6-.7-1.8-4.5-1.8-4.6l.2-.6q.4-.4 1.6 0l.1-.3q-1.3-.4-1.9 0z"/> + <path d="M432.4 231.7c-.8.6-.7 2.2-.7 2.3h.3s0-1.6.6-2q.4-.3 1 0l.1-.4q-.8-.3-1.3 0z"/> + <g transform="translate(-96.9 97.5)scale(.66486)"> + <path d="M862.3 169.5s1.3 3 1.3 5.3q0 .6-.3 1l-.5-1.3-.3 1s-.6 1.4.3 2.9q1.8 3 9 3.7v.1l-.4.1-.2.2v.4q.2.6 1.8.5l.7.1.6.2-.1-.1q1.6 0 3.6.8l-1 .2 1.1.5c.1 0 8.7 3.5 12.2 6.3-1 .9-5.3 4-12.7 2.2l-1.2-.3.8 1s4.9 5.6 5.9 9c-1.7 0-8.2 0-10.5-2l-.5.5s3 4.6 3.8 8.1c-1 .2-3 .3-4.3-1.4l-.6-.7-.3 2c-.6-.5-1.4-1.1-1.4-1.9v-.4l-1.8.3-3.8-2.3-.6-.4-.4.7.6.3c.8.6 2.2 1.7 2.3 3.3H863v.5c0 .3 0 1.4-.9 3.7-1.1-.2-5.3-1.7-7.8-8.8l-.8.2v.2c0 .7-.2 2.3-2.4 2.9l-6.5 2a5 5 0 0 0 .8-2.8v-.8l-.2-2.6q-.1-2.2 1.4-3l-.4-.8c-.1 0-9.6 3.9-14.3 2.3.2-1 1-4.2 2.6-7.6l-.2.2c.3-.2.6-.6.3-2.2v-.5l-.5.2s-3 1.4-7.4-.2q0-.7 1.2-1.4l.3-.1v-.8c0-1.2.1-4 1.8-4.6l-.2-.8s-5.1.4-8.2-1.3a11 11 0 0 1 4.5-1.9h.3v-.4a6 6 0 0 0-.5-2.3c1.2.4 2.6.7 3.1.3l.2-.1-.2-3.1h-.8l.1 2.6-3-.7-1.2-.4.8 1a4 4 0 0 1 .7 2.4 13 13 0 0 0-5 2.3l-.5.4.5.3c2.4 1.6 6.1 1.8 8 1.7a8 8 0 0 0-1.3 4.5v.4a3 3 0 0 0-1.5 2.2v.3l.2.1a11 11 0 0 0 7.9.5v.9c-2 4.2-3 8.3-3 8.3v.4h.3c3.9 1.6 10.7-.5 13.8-1.6q-.6 1-.7 2.5l.3 3.4c0 2.3-1.5 3.2-1.6 3.2l.3.8 8-2.4c1.8-.5 2.5-1.6 2.8-2.5 3.1 7.4 8 8 8.3 8.1h.3l.1-.3a14 14 0 0 0 1-4l2.4-.1v-.5q0-1-.4-1.8l1.4.8 1.3-.2c.3 1.3 1.9 2.4 2.1 2.5l.5.3.3-1.7c2 1.7 4.7 1.2 4.9 1.2l.3-.1v-.4c-.4-2.7-2.2-5.9-3.3-7.6 3.5 1.6 9.9 1.5 10.2 1.5h.4v-.5a30 30 0 0 0-5.6-9c8.2 1.5 12.6-2.8 12.8-3l.3-.3-.4-.2a54 54 0 0 0-11.6-6.3l.9-.2-1-.5a13 13 0 0 0-5.8-1.4c-1-1.2-1.5-1.3-1.6-1.4-5.6-.6-7.6-2.1-8.4-3.3v-.3l.2-.3q.7-1 .7-2.6c0-2.6-1.3-5.5-1.3-5.6z"/> + <path d="M836.8 167.9s-.6 3-3.2 4.5q-3 1.6-7.6-.3l-.4-.1v.4a5 5 0 0 0 2 3.2q2 1.5 5.9 1.2c-.9 1-3.6 4.4-3.6 7.8v.5c.4.2 4.6 1.4 6.6-1.1 0 1 .4 4.5 1.7 5.8q1.1 1.3 1 2.7l-.2 1.4-.2.6.5-.4c.2-.1 4.1-3 5.3-6.7 0 0 .7-1 1.9-1.3v.5c0 1.5.6 4.1 4.8 5.7l.3.1v-1c0-1.1 0-3 1.1-4a3 3 0 0 0 .6-3.3c.9.2 2.9.9 3.7 2.4 1.2 2.2 5.3.4 5.5.4l-.1-.5s-1.8.4-2.9-.3a2 2 0 0 1-.8-1.5l-.2-2.4q0-1.5-.7-2.2c.5 0 1.6 0 2 1 .8 1.6 3.3 1.7 3.4 1.7l.9.1-.7-.5s-2.2-1.4-1.8-3.3l.3-1.4c.6-2.5 1.6-6.6.7-9.2l-.4.2q.3 1 .3 2.2c0 2.2-.7 5-1 6.7l-.4 1.4v.5q.2 2 1.3 2.7c-.7-.1-1.7-.5-2-1.3-.7-1.4-2.3-1.4-3-1.3l-.6.1.4.4q1 .5.8 2.3l.2 2.3q.2 1.2 1 1.8 1 .5 1.7.5c-1.2.3-2.9.5-3.5-.6-1.1-2.2-4.3-2.7-4.4-2.8h-.5l.2.4s.4.6.4 1.4q0 .8-.7 1.7c-1.1 1.1-1.3 3.2-1.3 4.3v.4c-3.6-1.5-4.2-3.7-4.2-5v-1l.2-.3h-.4a4 4 0 0 0-2.5 1.8 15 15 0 0 1-4.7 6.2l.1-1q.1-1.4-1-2.9c-1.5-1.4-1.7-6-1.7-6v-.8l-.4.7c-1.6 2.8-6.2 1.4-6.3 1.4-.2-3.5 4-8.1 4-8.2l.4-.4h-.6q-4 .5-6.2-1a5 5 0 0 1-1.6-2.5q4.5 1.7 7.6.1a7 7 0 0 0 3.4-4.8c3-6.6 5.5-7.7 5.5-7.7l-.1-.4c-.2 0-2.8 1-5.8 8"/> + <path d="M843.5 158h-.2l-2.4 3.3h.7a31 31 0 0 1 19.7 9.2l.3.3 2.3-2.5-.2-.3c-6.5-10.2-20.1-10-20.3-10zm.2.9c1.6 0 13.2.3 19.2 9.3l-1.3 1.4a33 33 0 0 0-19.3-8.9z"/> + <path d="M841.6 164.8a11 11 0 0 0-2.1 4.8l.1.4a7 7 0 0 0-2 5.5q0 2 .6 3.8l.3.7c1.2 3.4 2.3 6.4 7.8 4.6 5.2-1.6 5.4-2 6.7-4.2l.4-.5c.7-1.2 1.5-1.4 2.3-1.7 1-.3 2-.6 3-2.4l.8-1.3c1-1.3 2.2-3 2.3-5h-.4a10 10 0 0 1-2.2 4.7l-1 1.4a4 4 0 0 1-2.6 2.2 4 4 0 0 0-2.6 1.8l-.4.6c-1.2 2.1-1.4 2.4-6.5 4s-6-.9-7.2-4.4l-.3-.7c-1.4-3.8-.3-7.6 1.6-9l.6-.5-.9.1v-.1c0-.7.7-2.6 2-4.5 1.2-1.6 4-3.1 4-3.2l-.2-.4c-.2.1-2.9 1.7-4.1 3.3"/> + <path d="M839.2 178.7q1.3.8 3.7 0c0 .5 0 1.7 1 2.5q1.8 1.5 5.5.6v-.5q-3.6.9-5.2-.5a3 3 0 0 1-.9-2.4v-.4l-.3.2q-2.2 1-3.6 0c-1.5-1-1.4-3.7-1.4-3.7h-.4s-.2 3 1.6 4.2"/> + <path d="M842 175q-.8.4-.8 1.1v.3c.2 1.2 1.5 2 2.6 2.3s2.6.4 3.1-.3q.4-.4 0-1.7a3.7 3.7 0 0 0-4.8-1.7zm2 3.3c-1-.3-2.2-1-2.3-2 0 0-.1-.7.5-.9a3.3 3.3 0 0 1 4.2 1.6q.4.7.1 1c-.3.5-1.4.6-2.5.3m-.4 2.7c-.3 2.5 0 2.6.1 2.6h.2l.2-.1 1.4-2-1.8-.8v.3zm.5.4.7.3-.8 1.1zm-4.2-2.4-.1 2.3 2-2.4-2-.2zm.4.2h.6l-.6.8z"/> + <path d="M838.5 178.2s1.5 2.9 1.8 4q.3 1 2 1.7t2.7-.1l1.3-1.1q.5-.7 1-.5v-.5q-.8 0-1.3.6l-1.3 1c-.8.6-1.7.4-2.2.2q-1.6-.6-1.8-1.5c-.3-1-1.7-3.9-1.8-4zm2-8.6a5 5 0 0 0-2.4 2.8l.4.1s.7-1.8 2.1-2.5a3 3 0 0 1 2.4 0l.1-.4q-1.4-.6-2.7 0zm10.8 5.2c.2 0 3.2 2.4 1.5 5.2l.3.3c2-3.3-1.5-5.9-1.5-6zm-9.2.4s-.5 1.7 2 2.3c0 0-2.3 0-2.5-.6-.1-.6 0-1.9.5-1.7m7.5 2q0 .3-.3.3l-.3-.2q0-.3.3-.3t.3.3zm.2 1.2q0 .2-.2.2l-.3-.2.3-.3q.2 0 .2.3"/> + <circle cx="848" cy="177.8" r=".3"/> + <path d="M848.8 179.4a.3.3 0 1 1-.6 0q0-.2.3-.2zm-7.1-7.3a.3.3 0 0 1-.6 0 .3.3 0 0 1 .5 0z"/> + <circle cx="841.6" cy="173.2" r=".3"/> + <circle cx="840.1" cy="172.7" r=".3"/> + <path d="m840.8 174.3-.2.3a.3.3 0 0 1 0-.6zm4.8-9.6s3.5 2.2.1 6.3c0 0 1.7-1.3 1.8-3.4s-1.2-3.8-2-2.9zm13.5 5.9c-1.2.6-2.8-.5-3.6-1.5s-2.5-1.3-3.6.6c-1 1.8-2.5 2.5-2.5 2.5s1.5-.8 3-2.5 2.4-.3 3.9.5c1.4.8 1.7 1 2.7.5v-.1z"/> + <path d="M858.8 170.9a2 2 0 0 1-2.2-.1c-1-.8-1.7-1.8-2.8-1.2-1.2.6-3.3 2.2-3.3 2.2s3.5-2.4 4.2-1.8c.6.5 2.2 1.8 3.1 1.4z"/> + <path d="M856.1 172.3c-1.1-.8-2.2 1-3.1.8-1-.2-1.7-1.8-1.7-1.8s.8 1.6 2 1.3c1.3-.4 2.1-1.2 2.9-.6s-.1.3-.1.3"/> + <path d="M854.4 172.6a2 2 0 0 1-2.4-1.9s.7 1.8 2.6 1.5z"/> + <path d="M854.3 171.2q.3.8-.5.8-1.1 0-1-.8c0-.5 1.4-.4 1.5 0m-7.8-3a1 1 0 0 1-.7.6q-.6 0-.5-.6c.1-.6 0-.7.5-.7s.7.3.7.7"/> + <path d="M844 165.7s3.8 0 2 4.7c0 0 1.4-2.3.5-4-1-1.6-2.3-1.2-2.3-1.2s-.4.3-.2.5"/> + <path d="M844 167.6q0 1.4 1.8 2.9l.3-.4q-1.7-1.3-1.7-2.5c0-1.2.6-1.3.6-1.3l-.3-.3s-.7.6-.8 1.6z"/> + <path d="M844.8 168.4q.2.8 1.2 1.2l.2-.4q-.8-.3-1-1c-.2-.8.4-1.7.4-1.7l-.4-.3s-.7 1.2-.4 2.2m5.1 2.6s.7 1.5-.3 3.1l-1 1.6s1.2-2.3.7-3.2.6-1.5.6-1.5m14.6 15.8c3.8.7 12.5 7.5 12.5 7.5l.5-.6c-.3-.3-8.9-7-12.9-7.7zm3.4 9.5c.2 3.5 4 5.6 4 5.7l.5-.7s-3.5-2-3.7-5zm-9.3.8c0 3.8 3.6 8.4 3.8 8.6l.6-.5s-3.6-4.6-3.6-8.1zm-12.1.4q.8 1.9.4 2.2-.5.5-.6.4l.1.8q.6 0 1.2-.8.6-1-.4-3z"/> + </g> + <g fill="#fff" stroke="#000" stroke-width=".2"> + <path d="M429.6 216.3s.1 1.7 1.4 2.7c0 0-.1-1.8.3-2.6 0 0-.7-.8-1.7-.1zm2.6 1s.3 1.6 1.2 2.3l.6-.1s.2-2 .5-2.2-1.3.7-2.3 0z"/> + <path d="m434.5 217.3 1 1.6 1.2-.7-.2-1.8s-.7-.2-2 .9zm4.7.3-1.3 1.1s-.7-.5-1.2-.5l.2-1.7s1-.7 2.3 1.1zm-9.3 16s-.2-2.4 0-2.5c0 0 1 .3 1.4 0 0 0 .5 1.8.4 2.6-.2.8-1.1.5-1.8 0zm6-2.4s-.1-2 .2-2.3c0 0 2 .3 2.4-.8l.7 2s-2.1-.3-3.4 1z"/> + <path d="M433.8 231.6s.3-2.1.7-2.2c0 0 1 .3 1.3-.1v2.6s0-1.1-2-.3zm-2.3.3s.5-1.9.8-1.9 1 .5 1.4.2v1.4s-1.6-.4-1.9 1.9z"/> + </g> + </g> + <g fill="#00a651" stroke="#000" stroke-width=".8"> + <path stroke-width=".5" d="M461.7 270.4s5.2 4.9 3.9 9.2c0 0 3.3-7.3-.3-9.5-3.6-2-3.7-.5-3.6.3z"/> + <path fill="#964b36" stroke-width=".5" d="M455 275.1s-1.3 2 .2 3.3c0 0-1.7 2.4-.4 4.4 0 0-1 2.1-.8 4.4 0 0-.8 3.5 1 5.1 0 0 2 1 3 .1 0 0 1.7-2.6.6-5.3 0 0 1.2-2.3-.2-5.2 0 0 .4-1.6-.7-3.5 0 0 .7-1.2.1-2.2 0 0-2.5-2.7-2.8-1z"/> + <path stroke-width=".5" d="M456.5 269s-6.2-12-10.6-12.5-4.6-4.8-4.6-4.8.5 2 4 2 10.2 5 11 8.7c.7 3.7 1.5 3.2 1.5 3.2z"/> + <path stroke-width=".5" d="M456.5 268.1s2.3-15.1 12.2-15.4c9.9-.2 6.6.8 9-.8 0 0-6.6 3.4-10.7 4-4.2.4-7.6 8.5-7.4 10 0 1.5-2.3 4.4-3.4 3.4s.3-1.2.3-1.2z"/> + <path stroke-width=".5" d="M458.8 273.8s2.3-6 6.1-4c0 0-3-5.8-8.4-.8 0 0 2.4 3.3 2.3 4.8zm-7.5-6s3.2 13.4-1.8 17.5c0 0 .2-6.9-2.9-11-3-4.2 3-8.7 4.7-6.5z"/> + <path stroke-width=".5" d="M451.7 270.1s5.9 5.7 6.2 7.6c.4 1.8 1.8-5.7-1-7.8s-5.7-2.5-5.7-2.5l.5 2.8z"/> + <path fill="#964b36" stroke-width=".5" d="M440.8 285s.5 2.3 2 2.8c0 0 0 1.7 1.4 2.2 0 0-.7 1.5.4 2.4 0 0-.2 3 .8 3.5 0 0 2.7-.1 3.6-.9 0 0 .5-1.9-1-3.8 0 0 .3-1.8-1.2-2.8 0 0 .5-2.5-1.4-3.4 0 0-.3-2-1.4-3 0 0-2.2 3.1-3.2 3z"/> + <path stroke-width=".5" d="M443.7 282s-7.7-2.8-12 1.2c0 0 6.6 1 7.4 2.3s4.9-2.2 4.6-3.5z"/> + <path stroke-width=".5" d="m441.3 286.8-1.4-1c-.7-.6-7.2-2.3-8.1 4 0 0-2.4-6.3 1-7 3.5-1 6.2 1 8.5 4m-5-12.8s2.3 5.2 3.2 5.4 1.5-.6 1.5-.6-3.1-4.6-4.8-4.8zm-1.8-7.9s-2-6.6-4.4-4.8-1.8 6.5-1.8 6.5-4.7-5-2-8.8 8.2.4 8.2 7.1z"/> + <path fill="#964b36" stroke-width=".5" d="M439.9 279.8s0 1.3.9 1.6 2.5 1 2.5.3-1.3-3.7-1.8-3.3-1.4.4-1.6 1.4z"/> + <path stroke-width=".5" d="M438.4 272s-.3-5.7 3.5-7.9c0 0 .7.2 1.1-1 0 0-3 7.3-2.1 11l-.1.4"/> + <path stroke-width=".5" d="M439.1 265s6.8-14 15-9.1c0 0-8.6 1.7-11.7 7.9l-3.1 4.6z"/> + <path stroke-width=".5" d="M435.5 270.1s-2-9.4-3.3-10.6c-1.2-1.3-3.3-2.6-5.9-.5 0 0 4.4-3.9 9-.6 4.7 3.2 3.7 8.4 3.7 8.4l-.5 6.5-3.1-2.9"/> + <path stroke-width=".5" d="M442.8 281.3s-8.3-15.7-13.7-4.5c0 0-1 2.9.1 4 0 0-3-2.3-1.6-7.8s10.5-3 13.2 1.5 3.3 6.8 3 7c-.4.3-1-.2-1-.2zm23.3 4.5s6-12.4 9.5-6.8c0 0 1 2.8-.5 4 0 0-2.4-3-4.5.6-2.2 3.5-1.3 3.2-1.3 3.2s-2.2.6-3.2-1z"/> + <path stroke-width=".5" d="M475 283s3.3 1.7 2.2 5.2c0 0 4.4-8.4-1.6-9.2 0 0 1.1 2.7-.5 4zm.5-8.6s7.9 2.3 8.1 5.7c0 0 1.4-6.6-3.1-8.6 0 0-5.4 1-5 3z"/> + <path stroke-width=".5" d="M479 264c3.4-6.6 7.6 2.1 7.6 2.1s1.5-6.9-2.7-8.1c-4.3-1.3-7 14.7-7 14.7l-5 1s1.3-13.8 8.8-15h1"/> + <path stroke-width=".5" d="M473 268s-4.8-9.8-8-10.8 1.7-2.5 3.7-.6 5.8 4.3 5.4 9.3zm-5 13.4s1.4-6.6 5.2-8.6 7.3-1.3 7.3-1.3-4.5 1-5.3 3.3-2 2.4-2 2.4z"/> + <path fill="#964b36" stroke-width=".5" d="M466 285.8s-2 4-1.6 4.6c0 0-2.2 3.3-1.3 5 0 0 2.2 1.7 3.2 1 0 0 2.6-3.7 1.9-5.7 0 0 1.8-2.4 1.1-3.9 0 0-2.6.1-3.2-1z"/> + <path fill="#000001" stroke="none" d="M455 278.6c.2.1 1.5.7 2.3.4l.6-.5-.5-.2c-.3.6-1.7.1-2.1-.1l-.2.4zm-.1 4-.2.5c.1 0 2.7.5 3.9-.6l-.4-.4c-1 .9-3.3.4-3.4.4zm-.7 4.4-.3.4s3 2.1 4.9-.2l-.5-.3c-1.5 1.9-4 .2-4.1 0zm-11.5.6.1.3c.1 0 2.6-1 2.8-2.9h-.3c-.1 1.6-2.5 2.6-2.6 2.6m1.4 2.3v.3c.2 0 2.5-.2 2.9-1.8h-.3c-.4 1.3-2.5 1.5-2.6 1.5m.5 2.4v.3c.1 0 2.7.1 3.6-1.3l-.3-.2c-.8 1.3-3.3 1.2-3.3 1.2m19.7-1.7s1.1 1.2 2.4 1.1a2 2 0 0 0 1.7-.8l-.4-.4q-.6.7-1.3.7c-1 0-2-1-2-1z"/> + </g> + <g fill="#964b36" stroke="#000" stroke-width=".3"> + <path d="m542 299.8-.3.3.4-.3zm9.3-2.3-.3-.2-.4-.8h-.3l-.7-1.4v-.7s-.2 0-.3-.2v-1.6l-.1-.5-.3-1.1v-1l-.1-1 .1-.9v-5.4l-.1-1-.1-.4v-1.6 2.6l-.2-4.3-3.4-1.6s-.3 6.2-.2 7c0 .9.4 6.7.2 7.4l-.5 4.3s-1.6 1.2-2.2 2.4c-.7 1.3-.5 1.7-.7 1.7l1.5-.2-1.1.8.7.1.2.2.2-.2c.3 0 .5.4.7.3l.4-.2.2-.4h1.1q.5-.2.9-.7.3-.3.7-.3l1 .3q.3 0 .5-.2l.4-.6.8-.1.4.1h.6l.3.2.2-.4z"/> + <path d="M544.5 299.7h.6v.2h.2l.3.2h.3l.4.1q.3.1.6-.1t.6.2q.1.2.2 0l.1-.1.3-.1.3-.1.4-.2.4.2h.2l.7-.5h1.4l.2-.3.7.4c.1.1.7.2.6-.2s-.4-.1-.5-.4v-.6l-.3-.4h-.4l-.2-.6-.3.2q-.2 0-.3-.3c-.3-.3-.4.2-.7.1q-.3-.2-.5-.7t-.5-.4q-.2.3 0 .7h-.5q-.2 0-.3.2-.2.7-.7.6h-.4l-.5.2h-.4l-.4-.4a.1.1 0 0 0-.2 0l-.1-.2q-.2 0-.3.3l-.1.5-.3.4-.4.1c-.2 0-.4.3-.4 0-.2-.4.3-1.1-.2-1l-.3.2v.7c-.1.3-.7.8-.6 1 0 .3.4 0 .4 0l.2.4c.2.3.7-.4.7 0m-2.1-2.7v-.2l-.4-.1q-.3.1-.5.4c-.2.4-.2 1-.6 1h-.5v1s-.2 0-.2.2q0 .4.4.2h1l.5-.1q.3 0 .5-.2l.2-.4v-.4l.3-.4c.1-.7-.6-.2-.5-.9"/> + </g> + <g stroke="#000" stroke-width=".5"> + <path d="M550.8 277.9q-.1 1.5-1.4 1.6-1.2-.1-1.4-1.6.2-1.5 1.4-1.6 1.3.1 1.4 1.6zm-4.5-2q-.1 1.5-1.4 1.6c-1.3.1-1.4-.7-1.4-1.6q.2-1.6 1.4-1.6c1.2 0 1.4.7 1.4 1.6z"/> + <path d="M548.7 276.5q-.1 1.6-1.4 1.6-1.3-.1-1.4-1.6.1-1.5 1.4-1.6 1.3.1 1.4 1.6z"/> + <path d="M546.4 278q-.1 1.5-1.4 1.6-1.3-.1-1.4-1.6.1-1.5 1.4-1.6 1.3.1 1.4 1.6z"/> + <path d="M548.5 279.3q-.1 1.4-1.4 1.6-1.2-.1-1.4-1.6.2-1.6 1.4-1.7 1.3.1 1.4 1.6z"/> + </g> + <path fill="#00a651" stroke="#000" stroke-width=".5" d="M549.2 261.5s13.9-19.4 28.8.7c0 0 .1 2-1.3 4.2l-.3-1.7-1 .3-.2-1-1.6-.1.5-2.2-1.7 1.4.2-1.5-2 2 .3-4.3-2.2 3.7.3-2.5-.8 1.1-.4-1.5-.7 1.5-1-.7v1l-1.8-1.5-.6 2-.9-2.2-.2 1.5-.9-1.7-.1 1.9-2.9-1.3.6 1.8-1.3-1 .2 1-1.9-.4.2 1.1-2-.4.3 1-2.7-.3 1 1-.3.6s15-5 16 13.8l-2.7 1.3.8-1.5-.8-.5-2.3-1.7.7-2.4-.8.3-.1-1.4-.4.2-.9-1.3-.2.5-.6-1.7-.7 1.2-.3-2.8-1 1.8-.2-1-.3.6-1.3-1.5-.4 1-.5-.8-.3 1-1.4-1.4v1l-1-.7-.3.5-2.1-1.1-.1 1-1.2-1-.3 1s13.6 7.8 9.4 20.4l-.8 1.6-.2-4.2-1.3 2.2.9-4.9-.9 1-.1-2-1.1 2-.4-2.2-.5.6-.8-3.2-.6 1.3-1-3.6-.8 1.5-.5-3.1-.5 1.9-1.5-2.8-.2 1.1-.9-2.2-.5.7s-2.5-.1-3.3-.7-2.8 3.7-2.8 3.7l.2-2.6-.9 1.8v-1.8l-1.6 5.3-.4-3.8-.8 3.3-.4-1-.3 1.3-.5-.5-.4 1.5-.8-.6v2l-.8-1-.6 3-.4-1.2v1.3l-.6-.7-.6 3-1-1.3v2.2l.3 1.6-1-.5.4 2.6s-3.9-7.2.8-14.2c4.6-7 10.9-9 10.9-9l-.7-.6v-.6l-3.8 1.9v-1.1l-1 .8-.2-1.2-.6 1.1-.1-.5-1 1.4-.4-2-.6 2.4-.6-1.7-1.3 3.5V270l-1 2.8-.4-3-.7 3.4v-3l-1.2 3-.7-3-.5 3-.8-2.3-.7 3.4-1.2-3-.6 4.5-.7-1.8-.2 3.3-.8-2 .8 4.2-1-1.6.3 2.6-1.6-2.9v3.4l-.8-1.1-.4 1.3s-.3-13 8.6-15.6 14.6.8 14.6.8l-3.4-2.8.4-.9h-1.2l.5-1-2.7.1.8-1-2 .3v-.6l-1.3 1 .5-1.2-1.7 1.2-.1-1.7-1 1.4-.4-1.5-4 4 1-4.1-.7.9-.1-1-1.1 1.8-.3-1.2-.5 1.5-.4-1.8-.8 1.8-1-1.6-.3 2.1-.6-1.1-.8 1.6-1-1v1l-2-.9.4 1.5-1.5-1.2-.4 2-.8-1-.7 2.5-.6-2.4-.6 1.9s7.8-20.2 27.6-7c0 0 2.2 2.1 2.7 3.6s.1.2.1.2l-.4-13.9.8 6 .5-2-.1 3 2-4.3s-2.4 7.2-1.5 9.9c0 0 .9-8.4 3.9-9.4l-2.8 6 .9-.1-.6 1.2h.7l-.9 2-.5 1 .5 1z"/> + <path d="m547.1 269.6.4.4s1.3-1.4 3.4.4l.3-.4c-2.5-2.1-4-.4-4-.4zm-.6-6.8v.5l.9-.4-.7 1.2 1.5-.5-1.8 2.3.4.3 2.9-3.7-1.8.6.8-1.3-1.6.6.3-1.9h-.5z"/> + <path d="m543.9 263 .6 1.3-1-.4 2.9 5.2.4-.5-.6 1.5.5.2 1.2-3.2-.4-.3-1 1.3-1.8-3.1.8.3-.8-1.7 1.1.6v-1.9h-.5v1l-1.8-1.1zm-1.9 6.4.2.5q1.2-.5 2-.2.7.6.7 1l.5-.2s-.2-.9-1-1.2q-.9-.5-2.4.1m2.3 5.4-.5-2.8h.6l.4 2.7zm3.8-.4-.7-2.2.5-.1.7 2zm1.4 1.5-.5-2.1.5-.1.6 2.1z"/> + <path fill="#00a651" stroke="#000" stroke-width=".5" d="M442.6 340.2s-2.4-1-3.5-.2c-1 .7-.9 1.9-1.8 1.8 0 0 3.6.8 4.3-.1l1-1.2m.4.7s-1.6 2-1 3.3c.5 1.2 1.7 1.3 1.4 2.2 0 0 1.5-3.3.8-4.3s-1-1.1-1-1.1m-2.8-5.8s-2.5.8-2.8 2c-.2 1.4.6 2.1-.1 2.7 0 0 3.2-1.8 3.1-3v-1.5m1.2.7s1.2-2.3.5-3.4c-.8-1.2-2-1-1.8-2 0 0-1 3.5 0 4.4l1.1 1m-2.2-.9s0-2.6-1-3.2c-1.2-.7-2.2-.1-2.5-1 0 0 .7 3.6 1.8 4l1.5.3m4.4 4.2s2.7-1 3 2-.2 2-.2 2-1.4-3.2-3-3.7z"/> + <path d="m443 341.3.2 2.2h.4l-.3-2.2 1-4.9h-.4l-1 4.9z"/> + <path d="m440.5 340.6-.1.3c1.3.5 3-1 3.1-1l-.2-.3s-1.7 1.3-2.8 1m3.4-2.9-6-3 .2-.5 6 3z"/> + <path d="m439.5 337-.4-.4 1.2-1.2.4.4zm2.1-.6-1.3-2.8.5-.2 1.3 2.8zm1.8 3.4v.6c1.7-.1 2 1 2 1l.6-.2c0-.3-.7-1.5-2.6-1.4"/> + <path fill="#fff" stroke="#000" stroke-width=".7" d="M471.2 341c2-1 2.4-5 2.4-5-.5 1.4-4.2 2.9-4.2 2.9 2.7-1.7 6-9.4 6-9.4-.8 2.7-8 5-12.6 7.6s-2.2 10-2.2 10c-1.3-.9-3.8-4.8-4.3-8.3s-1.8-4.9-5-5.3c-3.1-.4-5 3.2-5 3.2l-4.7 2.4 4.8.2s3.4 1.1 3.4 3.8-3 13.3 2 19.3c3.3 4.1 16 6.5 16 6.5"/> + <path fill="#fff" stroke="#000" stroke-width=".7" d="M461.9 349.3s1-4.8 4.1-4.6 4-3.6 5.9-4.1c1.9-.6 11.5-3.2 12.5-7.8 0 0-.9 7.6-9.7 11.4 0 0 7.1-2.3 8-3.9 0 0-3.2 6.8-10.9 7.9 0 0 7.2-.6 8.2-2.5 0 0-3.2 4.2-8.5 4.8 0 0 5 2 6.2.3 0 0-2.7 3.2-6 3.4l1 .2s-3.2 3.8-6.7 1.3-3.6.6-3.6.6"/> + <path fill="#fff" stroke="#000" stroke-width=".7" d="M469 356.5s4.1 6.8 4.5 10.4c0 0 7.8 8.5 10.7 9 0 0-1.4.6-4-1.5 0 0 2.2 2.2 2.6 2.3s-1.7-.2-2-.8l1.4 1.5-.5-.2s-1-.1-1.6-.5c-.5-.4-.1 1-.1 1s-1.2-.3-1.6-.7.1.9.1.9l-1-.3-.8.5s0 .5-.5 0c-.5-.3-1.4 0-1.4 0s-.6.6-1 .2c-.3-.4-1.5 1.6-1.5 1.6l-5-12.3"/> + <path d="m473.9 378.7-6.4-12.2.6-.4 6.4 12.3zm5.6-.8-11-12.3.6-.5 11 12.3zm2.5-1L469.5 365l.5-.5 12.5 11.7z"/> + <g transform="translate(-96.9 97.5)scale(.66486)"> + <path d="M823.4 360.8s-1.2-2.2-2.3-1.3q-1.5 1.1-1.8.9s1 0 1.7-.5q1-1 2.4 1zm-6.6-1 .7 1.4-.8 2.3.6.2.7-2.5-.7-1.6z"/> + <path d="M823.2 360.5s-1 1-2.2.8l-1.3-.3h1.8c.7 0 1.6-.3 1.7-.5"/> + <path d="M822.9 360.7s-1.2-1.2-2-.8c0 0 1.4-.5 2.2.7z"/> + <path d="M822.7 360.5s-1.3.9-2.7 0l-.1-.2h.2s1.7.7 2.6.2"/> + <circle cx="821.6" cy="360.3" r=".4"/> + </g> + <path d="M450 359.6s-.7 1.2-.3 2c.3.7 2 1 2.1 2s.8 1 1.5 1l.9-.3s-3.1-1.6-4-4.3z"/> + <g fill="#964b36" stroke="#000" stroke-width=".5"> + <path stroke-width=".3" d="M549.4 334.8s5.6-7.4 10.6-5.5l8.1 3s.1 4.9-2.5 4.9-5.2-5-7.6-3.5a13 13 0 0 0-4.5 4.2c-.1.7-6.3.8-4.1-3.1z"/> + <path d="M528.2 370.4s-1.6 1.6-.9 2 2.1 0 2.1-.6-1-1.6-1.2-1.4z"/> + <path d="M527 372s-3-1.7-5.2 2.2c-2.3 3.8-4.1 10.1-5.4 11-1.3.8 12.8-6.2 13-9.2 0 0 .9-3.8-.6-3.7s-1.6.2-1.9-.4z"/> + <path stroke-width=".3" d="M527.3 372.4s-3 .7-3.6 4.9-4.7 6.3-5 6.5m49.4-51.6s-4.4 1.6-3.7 4.7"/> + </g> + <path fill="#fff200" stroke="#000" stroke-width=".3" d="M533.7 341.3s.2-10.6 8.9-10.2c1.6.2.8 2.1.8 2.1s2-1.3 2.8.8c0 0 2.7-1.2 3 1.5 0 0 3-.4 2.6 2 0 0 2-.5 2 1.2 0 0 2.3-.9 2 1.5 0 0 2.6-1.7 2.3 1.4 0 0 2.6-1.9 3.5 1.2 1 3.2-2.6 9.8-6.1 11.5"/> + <path d="M557.9 342s1.1 8.2-3.5 11.3l.1.2c4.9-3 3.7-11.5 3.7-11.6h-.3zm-5.7 9 .2.2c3-2.9 3.7-10.6 3.7-11h-.3s-.7 8-3.6 10.8m-2.7-1.9h.3a26 26 0 0 1 4.1-10.3l-.2-.1s-3.8 5.5-4.2 10.4m-2.2-1.4h.3c.5-5.7 4.4-10 4.4-10.1l-.2-.2s-4 4.5-4.5 10.3m-3-2h.3c.3-6.7 4.8-10 4.8-10l-.2-.3s-4.6 3.4-5 10.4zm-2.8-1.6h.3c-.2-6.2 4.5-10 4.6-10l-.2-.2s-5 3.8-4.7 10.2m-5-2.3h.3a10 10 0 0 1 6.8-8.4v-.3a11 11 0 0 0-7.1 8.7"/> + <path fill="#00a651" stroke="#000" stroke-width=".3" d="M528.6 354.2s-1.5-9.9 4.4-13c0 0 1.1-.2 1.7 1.2 0 0 3.1-1.3 3.2 1.3 0 0 1.6-1.2 2 .5 0 0 3.3-.7 2.7 1.8 0 0 2.8-.8 2.5 1.6 0 0 2.8-1 2.4 1 0 0 3-.6 2.2 1.8 0 0 3.7-.4 2.6 2.1 0 0 2.7-.7 2 1.4 0 0 3.6.7 2 3a24 24 0 0 1-9.8 7"/> + <path fill="#00a651" stroke="#000" stroke-width=".3" d="M525.4 364.1s-2.4-8.2 2.2-10.3c0 0 .9-.2 1 .6 0 0 1-1.3 1.8-.1 0 0 2.3-1.1 2.9.6 0 0 1.5-1.3 2.3.6 0 0 1.5-.6 1.5 1 0 0 2-1 2 1 0 0 2-.8 1.5 1.2 0 0 3 .5 2.1 1.9 0 0 2.7.7 1.7 1.8 0 0 2.8-.3 1.3 1.6 0 0 2.2-.7 1 1.7s-5.2 5-8 5.4"/> + <path fill="#00a651" stroke="#000" stroke-width=".3" d="M528.3 370.6s-5.1-5-2.7-6.4c0 0 1 .3 1.5 1.4 0 0 1.2-1.8 2 0 0 0 1.8-.6 1.8.7l1.4 1s1.7-.1 1.4 1c0 0 1.9-.3 1.8.7 0 0 1.6.1 1.5 1.2 0 0 2.8.5 1.5 1.9 0 0-4.8 1-8.3-.4 0 0-1.7-.6-1.9-1.1z"/> + <path d="M545.9 362.4v.3a36 36 0 0 0 8.6-8.7l-.3-.2c0 .1-5.4 7.5-8.3 8.6m-1.8-1.3.2.3c2.6-1.5 7.9-8.5 8-8.8l-.1-.2c-.1.1-5.5 7.2-8 8.7zm-1.5-.6.2.2a48 48 0 0 0 7-10.3l-.2-.1s-4.2 7.9-7 10.2m-1.3-1.8h.3c.5-3.8 6-9.9 6-10l-.3-.1c-.2.2-5.5 6.2-6 10.1m-10.9-4.7h.3c-.4-5.5 4.1-11.5 4.2-11.5l-.3-.2s-4.7 6.2-4.2 11.7m2.9.5h.3c-.8-4.4 4.4-10.6 4.4-10.7l-.2-.2c-.2.3-5.3 6.4-4.5 10.9m4.4 1.6h.3c-.2-5 4.6-10 4.7-10l-.2-.3c0 .1-5 5.2-4.8 10.3m-10.5 9h.3c-1.8-4.7 1.2-10.6 1.3-10.6l-.3-.2s-3.1 6.1-1.3 10.9zm2 .4.3-.1c-1.6-4.7 1-11 1-11l-.2-.2s-2.7 6.5-1.1 11.3m8.3 4.7v.2c5-1.7 8.3-6.3 8.3-6.3l-.3-.2s-3.2 4.5-8 6.3m-1-1.1v.3c4-1.8 7.7-6.8 7.7-6.8l-.2-.2s-3.7 5-7.5 6.7m-1-.4.2.3c3-2.3 7-8 7-8l-.2-.2s-4 5.7-7 7.9m-5-2.9h.4a21 21 0 0 1 2.5-10.9l-.3-.1s-3.2 6-2.5 11zm2.2 1.4.2.2c3.2-2.9 4.3-10.6 4.3-11h-.3s-1 8-4.2 10.8m2.2.8.2.3a17 17 0 0 0 5.7-9.5h-.3s-1.2 6-5.6 9.3zm.5-13.4v.9l-3.4 11 .3.1 3.4-11c-.5-5.4 4.2-11.3 4.3-11.3l-.3-.2s-4.3 5.3-4.3 10.5"/> + <path d="M539 357.3c0 .2-1.1 7.7-5.2 10.5l.2.3c4.2-2.9 5.2-10.3 5.2-10.7 1.8-2.1 6-9.7 6-9.7l-.2-.2s-4.2 7.6-6 9.8m-12 8.3c0 .1.6 4 1.4 5.2l.3-.1c-.8-1.3-1.5-5.1-1.5-5.2l-.3.1zm1.9 0-.1 5.3h.3v-5.3z"/> + <path d="m529 371 .3.1c1.3-2.8 1.7-4.8 1.7-4.8h-.3s-.4 1.9-1.7 4.7m.3.1.2.3a7 7 0 0 0 3-4h-.3s-.6 2.4-2.9 3.7m.5.2v.3c2.4-.2 4-3.1 4-3.3h-.2s-1.6 2.8-3.8 3"/> + <path d="M530 371.5v.3c3.9-.3 5.6-2.6 5.6-2.7l-.2-.1s-1.7 2.2-5.4 2.5"/> + <path d="M530.3 371.5v.3c.1 0 5 1.1 6.7-1.4l-.3-.2c-1.5 2.4-6.4 1.4-6.4 1.3"/> + <path fill="none" stroke="#000" stroke-width="2.8" d="M420.9 193.2v136.4c0 44.6 80.6 71 80.6 71s80.5-26.4 80.5-71V193.2z"/> + </g> + <path fill="#012169" d="M0 0h320v240H0z"/> + <path fill="#FFF" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/> + <path fill="#C8102E" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/> + <path fill="#FFF" d="M120.5 0v240h80V0zM0 80v80h320V80z"/> + <path fill="#C8102E" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/> +</svg> diff --git a/apps/web/public/flags/fk.svg b/apps/web/public/flags/fk.svg new file mode 100644 index 00000000..a0dace83 --- /dev/null +++ b/apps/web/public/flags/fk.svg @@ -0,0 +1,90 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-fk" viewBox="0 0 640 480"> + <defs> + <linearGradient xlink:href="#fk-a" id="fk-c" x1="444.4" x2="470.9" y1="592.2" y2="577.1" gradientTransform="matrix(-1.08448 0 0 1.26674 909.5 -414.7)" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#fk-a" id="fk-g" x1="851.8" x2="646.2" y1="369.9" y2="369.9" gradientTransform="matrix(.85733 0 0 .9624 -161.5 .3)" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#fk-a" id="fk-d" x1="458.2" x2="520.5" y1="562.5" y2="552.8" gradientTransform="matrix(-1.01941 0 0 1.3554 909.5 -414.7)" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#fk-a" id="fk-e" x1="472.4" x2="445.3" y1="578.7" y2="580.2" gradientTransform="matrix(1.08448 0 0 1.26674 49.7 -414.7)" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#fk-a" id="fk-f" x1="518" x2="456.4" y1="553.7" y2="558.1" gradientTransform="matrix(1.01941 0 0 1.3554 49.7 -414.7)" gradientUnits="userSpaceOnUse"/> + <linearGradient id="fk-a"> + <stop offset="0" stop-color="#a43907"/> + <stop offset="1" stop-color="#fff"/> + </linearGradient> + <linearGradient xlink:href="#fk-a" id="fk-h" x1="388.5" x2="677.4" y1="507.2" y2="508.8" gradientTransform="matrix(.88927 0 0 1.54542 50.4 -413.6)" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#fk-a" id="fk-i" x1="579.8" x2="556.8" y1="504.9" y2="505.9" gradientTransform="matrix(.91096 0 0 1.52008 49.7 -414.7)" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#fk-a" id="fk-j" x1="581.4" x2="558.9" y1="512" y2="514.3" gradientTransform="matrix(-.88927 0 0 1.54542 908.8 -413.6)" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#fk-a" id="fk-k" x1="552" x2="589.8" y1="517.9" y2="503.9" gradientTransform="matrix(-.91096 0 0 1.52008 909.5 -414.7)" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#fk-a" id="fk-b" x1="444.4" x2="470.9" y1="592.2" y2="577.1" gradientTransform="matrix(.85733 0 0 .9624 -162.4 -.6)" gradientUnits="userSpaceOnUse"/> + </defs> + <path fill="#012169" d="M0 0h640v480H0z"/> + <path fill="#012169" fill-rule="evenodd" d="M0 0h400v200H0z"/> + <path fill="url(#fk-b)" fill-rule="evenodd" stroke="#fff" stroke-width="10" d="M412.9 308.9a11.3 12.7 0 0 0-1.7 0c-3 .6-7.6 11.3-10 17.6-4.1 5.4-6.2 9.6-7.8 12.7-.7 1.2-1.7 2.6-1.4 4.2-6 1.6-6.3 7.4-6.3 9.6 0 2.5.7 3.7.7 3.7l3.6 7.5v.1c3.8 9 9.4 20.9 12.7 21.8 4.4 1.5 16-3.3 24.8-11.7a140.6 157.8 0 0 0 53.2 12.1c20.4 0 38.7-5.5 53-12.1 8.8 8.4 20.4 13.2 25 11.7 3-1 8.7-13 12.6-21.8l3.5-7.6s.7-1.2.7-3.6c0-2.2-.3-8-6.3-9.6.3-1.6-.6-3-1.3-4.3-1.7-3.2-3.8-7.4-7.7-13-2.6-6.2-7.2-16.7-10-17.2-4.2-.8-13 1.5-13 2.4v.4l-17.7 18.6c0 .5.9 14 4.3 26a126 141.5 0 0 1-43.3 8.2c-17 0-31.5-3.4-43.2-8.3a116.6 130.9 0 0 0 4.3-26L424 311.8v-.4c0-.7-6.8-2.5-11.1-2.5zm4.4 23c2.3 0 4.6 2.2 6.5 4.4l-.1 1.3a67.5 75.7 0 0 1-2.8 10.2 73.6 82.6 0 0 1-12.2-9.9c1.9-2.3 5-5.4 8.2-5.8h.4zm126.6 0h.4c3.3.6 6.3 3.7 8.3 6a73.4 82.4 0 0 1-12.3 10 67.1 75.4 0 0 1-2.8-10.3 14.6 16.4 0 0 1-.2-1.3c2-2.3 4.3-4.3 6.6-4.3zm-142.4 26.4q3.6 3.1 9.1 6.8a10.5 11.8 0 0 1-3.2 1.6q-2.4.5-4.7 0a15 16.8 0 0 1-1-5.6 60.3 67.7 0 0 1-.2-2.8zm158.2 0-.1 2.8a15 17 0 0 1-1 5.5 10.3 11.5 0 0 1-8-1.5q5.6-3.7 9.1-6.8z"/> + <path fill="url(#fk-c)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M426.2 339.6s-6.1-11.1-11.1-10.2c-5.1.7-10 7.8-10.2 8.2a44.5 52 0 0 1-7.5-9.5c.3-.4 7.8-20.9 12-21.8 4-.9 12.7 1.5 12.7 2.3z"/> + <path fill="url(#fk-d)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M439.8 327.7c0 .8-2.2 30.2-10.9 40.4-8.6 10.3-23 16.6-28.2 15.1-5-1.6-16.5-31.3-16.5-31.3s12.2 14.2 21.3 11.8 14.6-20.1 16.3-28.9c1.7-8.6.3-25.7.3-25.7l17.8 18.6z"/> + <path fill="url(#fk-e)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M532.9 339.6s6.2-11.1 11.2-10.2c5 .7 9.8 7.8 10.2 8.2a44.5 52 0 0 0 7.5-9.5c-.4-.4-7.9-20.9-12-21.8s-12.8 1.5-12.8 2.3z"/> + <path fill="url(#fk-f)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M519.3 327.7c0 .8 2.2 30.2 10.9 40.4 8.7 10.3 23 16.6 28.2 15.1 5-1.6 16.6-31.3 16.6-31.3s-12.3 14.2-21.4 11.8-14.5-20.1-16.2-28.9c-1.8-8.6-.4-25.7-.4-25.7z"/> + <path fill="url(#fk-g)" fill-rule="evenodd" stroke="#000" stroke-width="1.5" d="M401.2 326.2c-4 5.5-6.1 9.8-7.9 13q-2.5 4.7 3.2 14c4.3 6.7 39 33.4 84.1 33.4 45.2 0 79.8-26.6 84-33.4q6-9.4 3.3-14c-1.7-3.2-3.9-7.5-7.9-13 0 8.3-28.7 38.5-79.4 38.5s-79.4-30.2-79.4-38.5z"/> + <path fill="url(#fk-h)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="m557.7 378.8 7.8-15.1-3.9-3.2c-1 3.8-5.5 5.1-6.3 10-.7 4.7 3 9.4 2.4 8.3z"/> + <path fill="url(#fk-i)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M564.8 374.5s1.4-6.8-3-7.6-6.8 3.8-6.1 2c.6-2 3.2-4 3.7-10.7.3-6.7-.4-10.3-.4-10.3s1.8-8.7 8.8-7.5c7.2 1.3 7.5 7.6 7.5 9.9a9 9 0 0 1-.6 3.5z"/> + <path d="m539.2 351.7 1.5 2.8 1-.6-.7-2 .1-.3 1.7-1.2 4.4 8.7v.5l-1 .7.5.8 4.2-3-.4-.8-1 .6h-.3l-4.4-8.8 1.6-1.2h.4l1 1.6 1-.7-1.5-2.8-8 5.7zm-10.5 6.7.4.8.9-.4.3.1 3.9 8.9-.1.4-.8.6.3.8 4.1-2.5-.3-.8-.9.4h-.4l-1.8-4.3 4.3-2.4 1.8 4v.5l-1 .6.4.9 4.2-2.5-.4-.8-.9.4-.3-.2-3.8-8.8v-.4l.8-.6-.3-.8-4.1 2.5.3.8 1-.5.3.2 1.5 3.6-4.2 2.5-1.6-3.7.2-.4.8-.5-.4-.9zm-2.4 7.6.2.8 1.2-.3.4.1.9 3.7-.8.4q-3.9 1.1-5.3-3.7c-.8-3.2.2-5.6 2.5-6.4a3.5 4 0 0 1 1.4-.1l.3.2.8 1.7 1.2-.4-.7-3q-2 0-3.5.6c-3.6 1.3-5.2 4.5-4.3 8.2s3.9 5.4 7.2 4.3a11.3 12.7 0 0 0 3.4-2L530 366l.2-.4.9-.4-.3-.9zm-9.7 10.3 4.7-1.7-.3-.9-1 .2-.3-.1-2.6-9.6.1-.3 1-.5-.2-.8-4.7 1.6.3.9 1-.3.4.2 2.5 9.5-.2.4-1 .4.3.9zm-25.5 4.6 8.3-.8-.3-3.4-1 .1-.2 2-.2.3-3.5.4-.4-4.9 2-.2.3.3.2 1.3h1l-.4-4.4h-1v1.4l-.2.4-2 .1-.4-4.4 3.1-.3.2.2.4 1.7 1.1-.1-.2-3-7.8.8v.9h1l.3.3.7 9.9-.1.3-1 .2v1zm-12.4-12.3v1h1l.2.3.1 9.9-.2.3-.9.2v.8h4.4v-.9h-1l-.2-.4V375h4.4v4.6l-.2.3-.9.1v1h4.4v-1h-1l-.1-.4-.2-10 .2-.3h1v-1h-4.5v1l1 .1.2.3v4l-4.3.1-.2-4 .3-.3h.9v-1zm-9.4-.3v3.3h1l.3-2 .2-.3h1.9v10.2l-.3.4h-1v1h4.6v-.9l-1-.1-.3-.4.1-10h1.8l.3.2.3 2h1v-3.3zM455 378.9l8 .4.2-3.3h-1l-.3 1.9-.2.2-3.5-.1.2-5 1.9.2.2.3.2 1.4h.8l.2-4.3h-.9l-.2 1.2-.2.3h-2l.2-4.6 3 .2.2.2.1 1.7h1.1v-2.9l-7.5-.4v.9l1 .2.1.3-.4 9.9-.2.3h-1v.9zm-18.6-5.4 4.4 1.6.2-.8-1-.5v-.4l2.5-9.5.3-.2 1 .3.2-.8-4.3-1.7-.2.9.9.4.2.4-2.7 9.4-.2.3-1-.3zm-7.6-3.3a8.4 9.4 0 0 0 2.6 1.6c2.4.8 4.3-.2 4.8-2.2a3 3.5 0 0 0-.5-3.2l-1.8-2q-.9-1.2-.6-2.5.5-1.5 2.2-1l1 .7v.3l-.2 2 1 .3.8-2.8a8 9 0 0 0-2.5-1.7c-2-.8-3.8.3-4.4 2.2a3.2 3.5 0 0 0 .4 2.8q.7 1.4 1.5 2 1.3 1.5 1 2.9-.5 1.6-2.4 1a4 4.5 0 0 1-1.2-.8l-.1-.3.4-2.2-1.1-.4zm-9.8-4.6 7.4 4 1.2-3-1-.5-.9 1.7-.3.1-3.1-1.8 1.8-4.3 1.8 1v.3l-.3 1.3.8.5 1.6-4-.8-.4-.7 1.1-.3.2-1.7-1 1.6-4 2.7 1.5.1.3-.4 1.6 1 .5 1-2.6-6.8-3.9-.4.8.8.6.1.4-3.6 9h-.3l-.9-.3zm-1.1-15-3.7-2.9-.5.8.7.7.1.4-4.6 8.2-.4.1-.7-.5-.5.8 3.6 2.8q2 1.5 3.6 1.4 2.5-.3 4-3c1.8-3.4 1.3-6.6-1.6-8.8m-1.6 0 .8.6q3 2.2.5 6.6-2.6 4.5-5.4 2l-.8-.4 5-8.7zm29.3 13-.1.8.9.3.1.4-1.7 9.7-.3.2h-1v.8l4.1 1 .2-.8-1-.4-.1-.3.7-4.1h.3c1.5.4 1.8 1.3 1.8 3.2q0 1.3.8 2.7.4.7 1.4.9a10.1 11.4 0 0 0 1.5.2l.1-.8h-.1q-1.5-.3-1.5-1.8c-.2-1 0-2-.4-3a2.6 2.9 0 0 0-1.3-1.4q2.6 0 3-2.5.6-3.1-2.9-4zm3 1.7.6.2q2.1.6 1.7 2.9-.4 2.6-2.8 1.8l-.5-.1.9-4.8zm54.2 1 .1 1h1l.3.2 1.4 9.8-.2.3-1 .3.2.8 4.5-.8v-1l-1.1.2-.3-.3-.6-4h.3c1.6-.5 2.2.2 3 1.9.3.8.5 1.6 1.5 2.2q.6.4 1.8.3a12 13.6 0 0 0 1.6-.5l-.1-.9h-.2q-1.5.5-2.2-.9-.5-1.3-1.3-2.5-.6-.8-1.8-.8 2.6-1.2 2.3-3.7-.4-3.1-4.2-2.5zm3.5.5h.7q2.4-.6 2.8 1.8t-2.2 3h-.6l-.8-4.8z"/> + <path fill="url(#fk-j)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="m401.5 378.8-7.8-15.1 3.9-3.2c1 3.8 5.5 5.1 6.3 10 .7 4.7-3 9.4-2.4 8.3z"/> + <path fill="url(#fk-k)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M394.3 374.5s-1.4-6.8 3-7.6 6.8 3.8 6.2 2c-.7-2-3.3-4-3.7-10.7s.3-10.3.3-10.3-1.7-8.7-8.8-7.5c-7.1 1.3-7.5 7.6-7.5 9.9 0 2.2.7 3.5.7 3.5z"/> + <path fill="#0072c4" fill-rule="evenodd" stroke="#fff" stroke-width="3.9" d="M480.5 356.1s-82-27-81.4-129.4l.6-135.6H561l.6 134.8c.5 102.4-81.4 130.1-81.4 130.1z"/> + <g fill-rule="evenodd"> + <path fill="#bcbcbc" d="m410.3 123.6 2-2 3.7-2.4c1-.6 3-1.1 3.7-1.6a9.2 10.3 0 0 0 3-2.8c.2-1.7.5-3 .5-5a12 12 0 0 1 3.6-2c1.7-.6 2-1.4 3.8-1.7 1-.4 2.8-.4 4.4-.4s2.7 1.4 4.2 1.6c1.8.8 2.6 1.4 4.1 2.8a8 8 0 0 0 2.6 3c1.1.6 2.2 1.6 3.4 2 1.5.9 2.7 1.4 3.8 2.8 1 .8 1.4 2 2.3 2.7a26.5 29.7 0 0 0 3.4 2.8c1.5 1.1 3 2 5.2 1.7 1.3 0 2.6-.3 4 0q2.7-.1 4.8.5 2.6 0 4.8.4 2.2.3 4.7.3 2.2.6 4.8.4h9.5q2.6 0 4.7.4a37.4 42 0 0 0 4.7-.4q2.6-.1 5-.4h5.8c1.5.5 3.4.8 4.4 1.7 1.4.4 2 1.1 3.4 1.5a11 11 0 0 1 3.4 2.8 18.1 20.3 0 0 1 2.7 4.4c1 1.5 1.3 3.3 2 5.2q.6 2.6.7 5.5.5 2.6.3 5.6-.3 2.8-1 5.5-.1 3-.7 5.2c-.2 1.6-.6 2.7-.7 4.7v5.6c0 1.8-.4 3.2-.6 5.1a52 58.4 0 0 0-2.4 6 10.8 12 0 0 0-2.7 3.2c-.7.5-1.1 1.3-1 1.6 1.4.5 1 1.6 1 3.5l.7 5.2c.1 2 .5 3 1 4.4.6.8.7.4-.7.4q-1.7 1.2-2.3-1.2a8.8 9.9 0 0 1-1.4-4.4q-.3-2.9-1-4.8c-.2-2.2-.7-2.2-2.7-2.4q-1.4-1.2-4-1.1c-2 0-2-.2-2 2v5.6l-1.5 4.3c-1 .8-1.4 2.2-2.7 3.2-.5 1.8-1.4 2-3 2.4l-2-2.8c1-1.8 1.7-2 2.3-4 .8-1.6 1.2-2.6 1.7-4-.7-1.2-1.3-1.8-2-3.5a19.3 21.6 0 0 1-1.7-4.4c-1.1-.4-2.9-.5-3.7-1.2-1.7-.4-2.1 1.7-4 1.7h-4.8c-2.1 0-2.6 1.2-4.4 1.1q-.8.2-3.7 0c-1.5.6-3.2.4-4.8.4q-2.4-.2-4.4-.8-2.2-.8-4.7-1.2c-2 0-2.7.2-4 1.2-1 .7-2.6 2.3-3.7 3.2-.5 1.3-.8 3.5-1.5 5.1-.3 1.7-.9 2.6-1.2 4a13.5 15.1 0 0 0-1 4.8c-.2 2.6-.7 2.3-2.1 1.6l-2-3.6c.2-2 .7-3 .7-5.1-.4-1.7-1.1-1.5-2-.5 0 2.1 0 3.7-.8 4.8a4.4 5 0 0 1-2 3.1 5 5 0 0 1-2.7 2.8q-.2 0 0-1.6c-.8-1.7 0-3.3 0-5.5 0-2-.2-3.3.4-5.1 0-2-.8-3.8-1-5.2-.7-1.5-1.1-2.2-2.8-2.8-1.2-.6-3-1.2-3.7-2.5a7 7.9 0 0 0-3.1-2.7c-1.5-.6-2.3-1.2-3.4-2-1-1.3-1.9-1.8-2.3-3.5-.7-1.2-.8-3.5-1.3-5.2a15.9 17.8 0 0 0-1-4.7 17.8 20 0 0 0-1-4.8l-1.1-5.2q.1-2.9-.4-5.5v-5.6c-.2-1.7-.3-4-.6-5.2 0-2.1-.3-3.3-.8-4.8-.7-1.4-.7-2-2-2.3q-1.3 1.8-4 2c-1.2-.3-3-.6-4.4-1.2-1.4-.4-2.2-1-3.3-1.7a31.7 35.5 0 0 0-2.1-3c-.2-2.1-.6-3.2-.7-5.3 0-1.5 0-.6 1.4-2.7"/> + <path fill="#fefefe" d="m430.3 138 .3-.4c-.6.7-.4.3 1-.3.6-.4 2-1.4 2.5-2 .6-.3 1.7-.7 2.2-1.3q.9-1.2 2.2-2.2c.9-1 1.7-1.3 2.8-2 1.3-.2 1.9-.8 3.1-.3 1.2.3 1.7.3 2.6-.9q1.7-.9 2.5-2.4v-1.8c0 1.8-.4 2.5-1.5 3-.7 1.1-1.8 2.2-2.2 3.2-.7 1.2-.9 1.9-1.6 2.5-.7.9-1.7 1.4-2 2.8.4.7 0 1 .8 1.1.7.7 1.4.4 2.4 0a10.4 11.7 0 0 0 1.9-3.3l1.7-2.9q1.2-.7 1.6-2.2 1.5-1 2.5-2c.7-.4 1-.9 2-1.1a4.4 5 0 0 1-.7 3.1c-.2 1.6-.1 2.3.3 3.3.7.6.6 1 1 2 .4-1 .6-2.7.7-3.9v-.2c0 1.1 0 2.8-.3 3.6 0 1.6.4 2.4.8 3.6q.5 1 1.1 1.4c0-1.6.5-2.6.6-4.1l.4 3.9q.1 1.9 1 3.3c.5.4.7 1.5.9.6.6-2 .6-4 1-6.2 0-1 0-2.6.5-3.3l-.6 3.3c.1-1 .2-2.5.6-3.3v-.4a28.6 32 0 0 1 .5 4.6q-.1 1.8.2 3.6 1-.7 1.7-2.5a13.3 15 0 0 1 1.9-3.1l-2 3a13.3 15 0 0 1 2-3v-.2a29.5 33.1 0 0 0-.2 3.8q0 2.2.2 3.7c.3 1.5.6 1.7.7 3.3q-.1 1.4.2 2c1 .3 1-.3 1.2-2l.5-4.7c0-2.1.2.3.5 1a9.5 10.7 0 0 1 .7 3.8q0 1.3.2 2c1-.5 1.3-1.7 2-2.3.4-1.4 1-2 1.4-2.8 1.2-.3 1.2-.9 1.2-2.5q-.2-2.2.3-4a30 33.7 0 0 0 .9-3.7c.4-.2.9.5 1.2 1.2q.6 1.4.4 3.6a14 14 0 0 0 1.3 3.4 11 12.3 0 0 0 1.6 2.8c.3.9.3 2.5.3 3.7 1-1.2 1-3 1.1-4.8-.1-1.2-.1-2.8-.4-4q-.1-1.9-.5-3.3-1.2-.4-.2-2c.7-.7 1.6-.4 2.8-.2.7.7.9 1.1 1 2.8q-.1 2.2.5 3.6c.4.8.9 1.4 1.2 2.8.3.4.6 1 1.1.3.3-.8.5-2.4.8-3.4q.3-1.5 1.1-2c0 1.6 0 2.5.6 3.7l1.1 3.1c.5.4.6 1.3 1.3 1.7l.2-4.5v-4q.1-1.6.7-3c.8 1.1.8 1.5.8 3 .7-.3.8-1 1.1-1.9.5-.6.8-.8 1 .6q.2 2.2.7 4.2c.5.6 1 2.2 1.6 2.8a12 13.5 0 0 0 1.5 2.3c.4.8.4 1.4 1.5 1.6q0-2.9-.3-5.6c0-1.6-.3-2.2-.5-3.7-.4-.9-.6-2.4-.5-2.8a8 9 0 0 1 2.2 3.4l1.5 3.7a14.7 16.5 0 0 1 1.8 2.8c.9.8 1.3 1.7 2.2 2.5.4.5 1.5.8 1.7.5q0-2.3-.7-4.4a6.6 7.4 0 0 0-.8-3.4c-1-.9-1.7-1.5-2.2-2.8-.3-.4-.3-.6-.4-1.4a19.3 21.6 0 0 1 3.4 3.9 5.1 5.8 0 0 0 1.9 2c.4.6 1.8 1.4 2.8 1.6a4.1 4.6 0 0 0 2.4 1.7l-2.4-1.6a4.1 4.6 0 0 0 2.4 1.6v.4a9.5 10.7 0 0 0-1.4-4.6 6.4 7.2 0 0 0-2.2-3 6.8 7.6 0 0 0-2.4-2.5c-.6-.9-1.6-2.4-2.2-2.8 1.1-.9 2.3.4 3.4 1 1 1.2 1.8 2.7 2.4 3.4a13.2 14.8 0 0 0 2.2 3.7q1.4 1 2.6 2.2c1.4.4.9-.1.5-1.4q-.6-2.2 1-.6.9 1 2.4 2 .6 1 1.6.6c.3-.4.3-.4.3-.8q-.6-2.8-2.2-3.7-1-1.3-2.2-2.5c-.5-.8-1-1.3-1.4-2.3l1.4 2.2c-.5-.8-1-1.2-1.4-2.2h-.2c1.4 0 2 .5 3 1.2a5 5.6 0 0 1 2.2 2q.9.9 1.7 2.1l2.4 2c.8 1.2 1 2 1 3.6.4.9.5 2.5.7 3.4-.2 1.6-.7.3-.8-.6-.1-1.2-.6-1.1-1.4-.8 0 1.7.2 2.2.7 3.4a5.9 6.6 0 0 1-.9 2.8c-.6.4-.7-.8-1.2-1.4 0-1.7-.5-2-1.5-2.8v1.1q1 1.7 1.2 3.9a8.8 9.9 0 0 1 .6 3.7q0 2-.3 4c0 1.4-.3 2-.3 3.6v7.9a17 19.2 0 0 0-.2 3.6l.2-3.6q-.2 1.5-.2 3.6v.2l-1.2-4a7.5 8.5 0 0 1-1.6-3l-.5-3.6c-.4-1-.8-2-1.5-1.4-.3 2 0 3.3.7 5.3.4 1.3.4 2.5.8 3.7.5 1.5 1 1.6 0 3.3-.6 1-.8 1.2-1 2.3-.9.5-1.1.8-1.2 2l-1.4-3.7q-.8-2.2-1.2-4c-.6-.9-1.3-2.4-2-3l-1.8-3.3c-1-1.3-1.2-2-2-2.6-.1-.5-.4-1.3-1-.8q0 2 .3 3.9c.3 1.6.7 2.5.8 4.2v3q-1-2.3-1.7-4.4c-.6-.9-1.1-2.5-1.7-3q-.5-1.7-1.2-2.9c-.1-.8-.5-.8-.8-1.4 0 1.6.5 2.2.8 3.3.5 1.2.6 2.9.5 3.5q-.8-3-2-6l-1.8-3.7c-.8-.9-1.5-1-2.2-1.6a4.3 4.9 0 0 1-1.7-1.4q.4 2.1 1 3.6l.9 3.7c-.2 2-.6-.5-1-1.4-.2-1.6-.7-2.4-1.1-3.3l-2-2c-.7-.3-.4 0-.4 1q-.1 2.6.5 4 .6 1.2.5 3.4c-.1 1.4-.3 2.4-.3 4v2.1c-.5-1.1-1-1.9-1.5-3.3q-.9-1.8-1.6-3.7c-.5-.2-1.5-.4-2 0 .2 1.4.7 2 .8 3.7-1 1-.8 1.4-1.4-.3-.6-1.3-1.2-1.2-2-2-1.2-.1-.8-1-1.1-2.3q0-1.5-.3-3c-1.3 0-2 0-2.9.8-.3.8-.2 2.5 0 3.7v3.9c-.3 1-.7 1-1 2.3-.4 1.1-.5 2.5-.9 3.3-.9.9-.5 1-1-.5v-9c0-1.5.3-2.3.3-3.7-.5-1.1-.6-1.4-2.2-1.4a6 6 0 0 0 0 2.8q0 2.2.3 3.7l.2 3.6q0 2.3-1 3.3c-.8.4 0 1-.9 1.3a11 12.3 0 0 1-2.6-2q-1.3-.5-3.1-.6c-1.6 0-1.6-.2-2.2-1.6a23 25.8 0 0 1-1-4.6c-.5-1.3-.6-2.2-1-3.7a4.5 5.1 0 0 0-1.4-2c-.3 1.6-.6 2.7-.6 4.3-.3.7-.4 2.4-.6 3-.4-.7-.6-2.4-1-3.5-.3-1.7-.7-2.8-2.3-2.2-1.6 0-1.6 0-1.6 2l1.9 3.2v4c0 1.6 0 2.1-1 2.4q-.6-2.5-2.2-4.7c0-1.1-.4-.8-1.4-.8q-1-.1-1.7.3v2.4q-.6.3-1.1-.5c-.5.9-.2 2 0 3a10 10 0 0 1-1.2 3.2c-.2-.4-.4-.2 0-.2l-4.4-1.7c-.7 0-1.4 1-1.8 1.7-1.3.4-1.8.8-3.2.8l-3 .2q-1.4.4-3.2.4c-.6-.3-1.8-.3-2.1-.6.5-.8 1-1.2 1.4-2.5a14.7 16.5 0 0 0 2-2l1.8-2.3c.4-1.4 1-1.6 1.7-2.2 1.5 0 1.7.6 3.1.8 1.4.6 2.2.9 3-.3 1-.5 2-1.4 3.2-1.6l2.4-1.7c1-.7 1.5-1.5 2.4-2.3.3-1.1 1-2 .7-3.3q-1.8-.7-3 .5c-.9 1-1 1.4-2.3 2.2-1 .4-1.4.9-2.6 1.2-1 .4-2.2.2-3.3.2s-2.5 0-3.1.4q1.6-1.4 3.3-2c1-.7 1.4-1 2.7-1.2.6-.8 1.1-.8 1.4-2.2.4-1.6-1-1.1-2-.5-.9.2-2 1-2.8 1.3a10.5 11.8 0 0 1-3 .6c-.4-.5.1-.9.4-1.6 1-.5 1.3-.7 1.4-2-1.3.2-1.7.7-2.9.8a18 18 0 0 1-3.8.6h-3.3c-1.2 0-1.8-.3-3.2-.3-1-.6-1-.8-1-2.5.8-1 1.5-.8 3-.8l2.6-1.5q1.4-.3 1.2-1h-3.3c-1.4-.7 0-1 .7-1.5 1 0 2.3 0 3 .5 1.5 0 2-.5 3.1-1.6 1-.8 1.5-1.4 2.5-2l1.9-2.2q1.5-1.4 2.2-2.6 1-.5.7-1.4c-1.5.2-2.2.9-3.2 1.7a7.3 8.2 0 0 1-1.9 1.6 6 6.7 0 0 1-3.1 1.3q-1.7-.1-3.3-.4c-1.3-.1-.2-.5.2-1.1q1-.6.5-2-1.6-.3-3.3-.2h-3.4c-1.3 0-1.8-.4-2.7-.9-.2-.8 0-.5 1-.5a13.2 14.8 0 0 0 3.1-.6c1.1-.3 1.3-.8 1.5-2.2q-2 0-3.1-.3zm-20.7-6.5c-.2-2-.7-3.1-.7-5.2 0-1.5 0-.6 1.4-2.7l2-2 3.7-2.4c1-.6 3-1.1 3.7-1.6a9.2 10.3 0 0 0 3-2.8c.2-1.7.4-3 .4-5q2-1.5 3.7-2c1.7-.6 2-1.4 3.8-1.7 1-.4 2.8-.4 4.4-.4s2.7 1.4 4.2 1.6c1.8.8 2.6 1.4 4 2.8.8 1.2 1.4 2.2 2.7 3 1.1.6 2.2 1.6 3.4 2 0 1.4.3 1.2-.6 1.2-.1 1.5-.4 1.3-1.7 1.4a5.9 6.6 0 0 1-2.2-2.3c.6-1.4.3 1.2 0 1.7-.5.6-.9 1.2-1.6.6-.4-1.4-.7-2.3-.7-4-.2-1.7-.7-.5-1 .3-.3 1.5-.2 2 .3 3.1q-1.9 0-3.1-.3-1.4-.4-3 .6c-1.2.9-.7.9-.2 2q1.6.6 3 1.6l3.3-.8c1.1-.5 2.2-.2 3.3 0l1.7.8q0 1.5-.3 2.3c-.4.4-1 1.4-1.7 1.6a11.8 13.2 0 0 1-3.2 1.5c-1.5 0-2.1.4-3.2 1-.1 1.6-.5 1.9-1.7 2.4a7.5 8.5 0 0 1-3.3.8q-1.1 0-1.7-.3a9.4 10.5 0 0 0 2-3.3c.2-.7.6-1 .2-1.5-1.4 0-1.8 0-2 1.6s-.6 1.9-1.6 2.4l.7-3.7a18.3 20.6 0 0 1-3 .3c-.8.5-1.1.7-.8 1.6q-1.6.5-3.4 0c-1 0-.4-.5-1.2-1q-.6-1.5-2.2-1.4c-.5.8-1.4 1-2 1.6q-1.5.4-2.7-.5c-1.2 0-1 .4-.7 1.4.5.3 0 .7.7.8.7.7 1.3.9 2.6.9q1.5-.4 3.4-.3c1.2 0 1 .3 1 1.6-.8.7-2 .6-3.2.6a12.2 13.7 0 0 1-2.9-.8c-1 0-2-.3-2.8 0-.4.5-1.5.7-.2.8.5.6 3.3.3 3.4 1.3.7.8.5 1.9-.6 1.9a1.6 1.8 0 0 0-1.7 0l-3.1.1c1.8.2-1.3-2.2-2-3.2"/> + <path fill="#bcbcbc" d="m417.1 122.2-1.4 1-2.9 2.3c-.5.5-.5.8-1.1.8 1-.1 1.6-.5 2.6-1q2-.2 3-1.2c.7-.2 0-1.3-.2-2zm11-13.2c.2 0 .5.8 1 1.4q.6 1.4.7 3 .6-1.8 1-3.9c-.4-.8-.4-1-1.5-1.1 0 .8.2.2-1.2.6"/> + <path fill="#c4c4c2" stroke="#000" stroke-width=".9" d="M349.4 417.7c-.5 0 .8-.5 1.3-.6q.4-1.1 1.3-1.8 1.6 0 2.2 1.1c1 .3 1.3.7 2.4.9.5.4 1 .4 0 .7q-1 .4-2.6.4a7 7 0 0 0-2.6.7c-1.5 0-1.3 0-2-1.4z" transform="matrix(1.08448 0 0 1.26674 42.6 -410.2)"/> + <path fill="#bcbcbc" d="M432.5 109.2v.3q0-1.2.2 1.2a6.6 7.4 0 0 1 .5 3.3 5 5.5 0 0 0 1.5-2.5c0-2.2-.4-2.1-2.2-2.3m8.8 32.3h.3c-.8 0-.3 0 .9-.8.8-.6 1.5-1.6 2.6-2a9.5 10.7 0 0 1 3.1-2c.6-.3 1.1-.8 1.7-.2q0 1.9-1.5 2.5-.9 1.2-2 1.6c-.8.5-1.7.5-2 1.5-1.3.7-1.5.5-3-.6zm4.6 8.2c.3-.4 1.9-2.2 2.6-2.8a11 12.3 0 0 1 2.4-2.8l2.2-3.1 1.9-2.8c0 1.2-.2 2.8.2 3.6a5.1 5.8 0 0 1-.8 3.4q-.6 1.4-2.2 2.3c-1 .6-1.6.8-2.5 1.6a19 21.4 0 0 1-2.2 1.4c-.7.3-.4.3-1.6-.8m-7.5 6.4h.3c-.7 0-.4 0 1-.8q1.3-1.6 3-2.2a7.5 8.5 0 0 0 3-.9c.5-.1 1-.5 1.3 0 .8 1.2 1 1.5-.2 2.3a6.9 7.7 0 0 1-2.4 1.4c-.6.5-1.8.5-3 .8-.8 0-1.4.1-1.8-.6l2 .6c-1 0-1.5.1-3.2-.6m10.3 0v-.2q-.1 1.2.5-1.2c1-1.6 1.2-2.5 2.4-2.8.5-.8 1.5-1 2.6-1.4.5.8.1 1.8 0 2.8q-.6 1.5-1.7 2.6c-.7.5-1 1.1-2.2 1.4-.8 0-.3 0-1.6-1.2"/> + <path d="M425.3 119.7q0 1.2-1.2 1.4c-1.2.2-1.2-.7-1.2-1.4q.2-1.3 1.2-1.4 1.1 0 1.2 1.4"/> + </g> + <g fill="#005120" fill-rule="evenodd" stroke="#002b0d" stroke-width="1pt"> + <path d="M351.8 479.6h.9c-2.8 0-1.1-.2 3.5 3.5 2-1.6 2-1.8 3.5 1 1 1.5 1.2-.2 2.7-1.8.7 3.2 1.1 6.5 3.5 3.5 2.8 0 5.6-.2 7.1.9 1.8 3.3 1.2-.6 2.6.9 4 .4 3.9-3.4 8.1-4.4 2.6 3.3 3.8.8 7-.8 2.5.6 4.8 4.3 5.3.7 2-3.2 2.1-3 3.5 0 2 1.8 2.8-.8 4.4-1.7q4.3 2.5 10.6.9c.8 2.9 2.6 1.6 4.5.8 3.9 1.7 5.2 2.2 9.7 0 2.2-2.6 1 .1 2.6 1.8 3.3-1 2.4-1.2 6.2-.9 3.9 0 4.2 0 5.3-2.6 2 1.9 2.6 3.3 5.3.9 4.2 0 2.9.5 5.3-1 1.9 4 2.3 1.2 4.5 2.7a15 15 0 0 1-6.2 7c-1.7 3-2.8 6-6.2 7.2-2.5 2.5-5.2 4-8 6.2-3.8 1-8 .8-12.3.8H388c-2.6 1.4-7 2-10.6 2.7-4 0-8.7 0-11.5-.9-1.9-1.9-5.2-4-7-6.2-2-1.5-2-4.4-3.6-6.2-1.4-2.5-2-6.5-3.5-8.8z" transform="matrix(1.08448 0 0 1.26674 47.3 -411.4)"/> + <path d="M437.5 487.6v.8c0-2.4.1-1.1-1.8 3.6-.3 1.1-1.2 1.4-2.6 1.8m-3.5-2.7h.9c-3.3 3-5.5 4.5-6.2 8l6.2-8c-3.3 3-5.5 4.5-6.2 8m-7.1-12.4s-.1 3.1-.9 4.4m-2.6 1.8v.8zm-7.1-5.3h.9-1c.4 0 .7 0 0 0zm-49.5 0c.4 0 2.2 2.8 4.4 4.4-.5 2.6-1.4 5.6 0 8m2.7-7.1c.4 0 2.1 2.8 4.4 4.4l-4.4-4.4c.4 0 2.1 2.8 4.4 4.4v.9c0-2.8-.2-5.6.9-7.1 1 1.7 2.2 4.3 2.6 1.8 5-.2 7.4-1.6 10.6-2.7 0 1.3-.2.7 1 1.8m60-3.6h.9c-1.7 1.4-3 4.3-4.4 6.2m-32.7-8.8h7" transform="matrix(1.08448 0 0 1.26674 47.3 -411.4)"/> + </g> + <path fill="#fff" fill-rule="evenodd" d="M425.9 214.3c-11.5 0-15.4 13.5-26.9 13.5h-.6v.8q0 14 1.8 26.2c10.6-.8 14.5-13.4 25.7-13.4 11.5 0 15.3 13.4 26.8 13.4s15.4-13.4 26.9-13.4 15.4 13.4 26.9 13.4 15.3-13.4 26.8-13.4c11 0 15 12.5 25.6 13.4a139 156.1 0 0 0 1.9-27h-.7c-11.5 0-15.3-13.4-26.8-13.4s-15.4 13.5-26.8 13.5-15.4-13.5-27-13.5c-11.4 0-15.3 13.5-26.8 13.5s-15.3-13.5-26.8-13.5zm0 52.7c-9 0-13.2 8.2-20.2 11.8a111 124.5 0 0 0 8.6 20.5c3.3-2.8 6.7-5.2 11.6-5.2 11.5 0 15.3 13.5 26.8 13.5s15.4-13.5 26.9-13.5 15.4 13.5 26.8 13.5 15.4-13.5 26.9-13.5a18.3 20.6 0 0 1 11.3 5 112 125.7 0 0 0 8.6-20.4c-6.7-3.7-11-11.7-20-11.7-11.4 0-15.3 13.5-26.8 13.5S491 267 479.6 267s-15.4 13.5-26.9 13.5-15.3-13.5-26.8-13.5m53.7 52.7c-11.5 0-15.4 13.5-26.9 13.5-10.9 0-14.9-12-25-13.4a132 132 0 0 0 39.3 33c3.6-3.2 7.3 3.6 12.5 3.6s9-6.9 12.5-3.8a129.1 145 0 0 0 39-32.7c-9.8 1.7-14 13.3-24.6 13.3-11.5 0-15.3-13.5-26.8-13.5"/> + <g transform="matrix(.86465 0 0 .97062 -175.4 2.5)"> + <path fill="none" stroke="#512007" stroke-width=".5" d="M332.5 541.4a110 110 0 0 1 10.5-3l16.3 15.7-13.4 2.7z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="none" stroke="#512007" stroke-width=".6" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 31.3 6.7-31.1m-4.4 31.2 5.6-31.2m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 0 1 4.4-1.2m-3.8-3.2 4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7 3.2.5" transform="matrix(1.06 0 0 1.03 276.8 -178)"/> + <path fill="none" stroke="#512007" stroke-width=".4" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 30.1 6.7-30m-3.7 27.7c.2-1.7 4.9-27.6 4.9-27.6m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 0 1 4.4-1.2m-3.8-3.2 4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7 3.2.5" transform="matrix(-1.25 0 0 1.76 1290.4 -502)"/> + <path fill="none" stroke="#512007" stroke-width=".5" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 30.1 6.7-30m-3.7 27.7c.2-1.7 4.9-27.6 4.9-27.6m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 0 1 4.4-1.2m-3.8-3.2 4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7 3.2.5" transform="matrix(-1.25 0 0 1.3 1321.3 -302)"/> + <path fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="m395.3 572.2.9-73s2.6-.3 2.6 0-.3 72.7-.6 73-3.2.5-2.9 0zm28.5-69.8-.6 61.3-2 2.4.6-63.7z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M363 560.2s3 30 36.4 29.1 42.7-30.2 42.7-30.2l-14.5-.6c-.3 0-11.6 14-26.2 13.7s-19.2-3.8-22.4-6.7-6-7.3-6-7.3l-17-6.7 1 6.4zm90.3-3-1-4v-3.4l1.6-3.6s-25.3 3.7-25.3 4l-.1 6.8 24.8.1z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="none" stroke="#512007" stroke-width=".5" d="m448.5 549.8-.6 6h4.1l-.3-6zm-4.3.3-.3 6.4 2.6-.3.3-6.1zm-4.4 6.4v-5l2.6-.9.3 5zm-5-.3.6-4.4 3 .3.2 4.7zm-5.5 0 .3-3.8 3-.3v4.4zm-67.4 3.7c.9 0 7.6 1.5 7.6 1.5l7 9.3" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="none" stroke="#512007" stroke-width=".5" d="M366.8 561.1c.3.3 6.1 19.8 34 19.8s34.6-22.1 34.6-22.1" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="none" stroke="#512007" stroke-width=".5" d="M439.8 559.4s-13.4 29-39 27c-25.5-2-29.6-11.6-31.6-16.6s-3.2-9-3.2-9" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M373.2 558.2c.3-1.7.3-54.4.3-54.4l-1.7-.2-.3 53.7 1.7 1zm-41.5-17.1 22 10.7-.5 1.5S332 543.3 332 543s.2-1.5-.3-2z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M341.8 537.9c0 .8 3.2 18.6 3.2 18.6s2 .3 2 0l-3.4-18.3zm20.4.5c1.1 0 21-3.2 21-3.2l-.4 3.2-19.5 2z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M365 514.3c.7 0 7 3.2 9.7 2.4s.9-3 1.4-3c.6 0 2.6 1.5 3.8.3s2-4.6 1.5-4.3-16 5.8-16.3 4.6z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M362.5 521.6c1.1.3 23.8-6.1 23.8-6.1s0 2-.3 2l-23.5 6.1z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M415 512.6s1.5 3.5 3 2.9 2.9-1.8 2.9-1.8 1.2 3 3.2 2.4 3.2-3.8 3.2-3.8 2 .6 2.9.3 2-5 2-5zm-1.7 28.2c-.3.6 1.5 2 3 2s2-2 2.3-1.4c.3.5.3 3.2 4 2.3s3.8-3.5 3.8-3.5-1.1.9 1.5 1.2 5.2-3.8 5-3.8c-.4 0-19 3.5-19.6 3.2z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M363.4 513.1a5 5 0 0 0 .2 2.7l19-6.4s.8-1.5 0-1.5-19.5 5.8-19.3 5.3zm25-4c.5 0 19.4-6.1 19.4-6.1s.3 2.6 0 2.6l-17.7 5.2-1.8-1.7z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M413.3 521.9s-2.9 3.2-2 7.5c.9 4.4 2 8.2 2.3 8.2s3.5-5.8 7-6.1 9.9 3.2 9.9 3.2-.9-7-.6-10.2 5.2-8.7 5.2-8.7l-21.8 6z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M386.9 516.6s-.6 2.7-.3 2.7l24.7-6.4V511l-24.4 5.5z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#b6b6b4" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M355.5 551.8s-5.8-.8-5.5.6c.3 1.5 2.9 2.9 3.2 3.8s-.9 4 .9 3.8c1.7-.3 3.4-1.5 3.4-2.4l-.3-5z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M387.8 537.3v2l20.9-2.9-.6-1.5z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M363 540.8c.4 0 0 2.6 2.4 2 2.3-.6 2.9-2 2.9-2s.6 3.2 3.8 2.9 5-3.8 5-3.8.2 2.6 2.2 1.7 2.6-2.9 2.6-2.9l-18.3 2.6zm0-17.2s-2.6.9-1.7 6.1 3 8.2 3.2 8.2 2.6-5 6.1-5.8c3.5-1 9.6 2.6 9.6 2.6s-.6-4.7.3-9a18 18 0 0 1 3.8-7.6s-20.4 5.5-21.2 5.5z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="m411.9 538.7.3 1.8s21-2.6 21-3c0-.2 0-2-.4-2-.3 0-20.6 3.5-21 3.2zm-.3-18.6.3 2 24.7-6.6s.6-1.8.3-1.8-24.7 7.3-25.3 6.4z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="none" stroke="#512007" stroke-width=".5" d="M414.2 510.8s-.3 1.8 0 1.8 18.3-4.4 18.3-4.7 1.8-2 .3-1.7c-1.4.3-18 5.5-18.6 4.6zm38.7 33.7-18-28.4m-2.4 19.7c.3-.8 1.2-18.3 1.2-18.3" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M389 510c1 .2 3.1 3.2 4.3 2.6s2.9-2.4 2.9-2.4-.3 3.5 2 3c2.4-.6 2.7-3 2.7-3s1.7 1 3.2 0c1.4-.8 2.8-5.2 2.3-5.2s-16.9 5.2-17.5 5zm-.6 8.4c0 .6-3 5.2-2 9.6s2.5 8.4 2.8 8.4 4.7-4.6 8.5-5.5 9.3 2.9 9 2.9-1.5-4.4-1.5-7.6 4.4-13 4.4-13zm0 21c0 .2.8 2.2 2.9 2.2s2.3-2 2.3-2-.3 3.5 2.9 3.2 4.3-3.5 4.3-3.5.3 1.8 3 .9c2.6-.9 6-3.8 5.8-3.8s-21 3.8-21.3 3z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <use xlink:href="#fk-l" width="992.1" height="496.1" transform="translate(-6.6 7.3)"/> + <use xlink:href="#fk-l" width="992.1" height="496.1" transform="translate(6.6 3.8)"/> + <use xlink:href="#fk-l" width="992.1" height="496.1" transform="translate(0 11)"/> + <path id="fk-l" fill="#be0f17" fill-rule="evenodd" stroke="#512007" stroke-width=".6" d="M409 477a1.9 1.9 0 1 1-3.8 0 1.9 1.9 0 0 1 3.8 0z" transform="matrix(.04 -1.07 1.02 .04 251.6 668)"/> + <path fill="none" stroke="#512007" stroke-width=".5" d="M398.2 500c0-.2 9 3.8 9 4.1s32 42.8 32.3 42.8m-16-42.8 8.2 3.5 2.6 6.4m-61.4-10.4c-.3 0 9 7 9 7l1.2 5.7M341.3 546c4-1.7 32.2-26.4 32.2-26.4m-39.8 21.7 31.7-26.7m21.2 4 30 49.8m-3.6-29.2s3.5 11.7 7 13.5a86 86 0 0 1 7.6 4.6" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="none" stroke="#512007" stroke-width=".5" d="M412.6 539.5s2.5 13.8 6 16.4 7 5.5 7 5.5" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <path fill="none" stroke="#512007" stroke-width=".5" d="M391 439s3.4 19.2 10.4 23.6l12.8 8.1" transform="matrix(1.25 0 0 1.3 256.3 -299.5)"/> + <path fill="none" stroke="#512007" stroke-width=".5" d="M390.7 438.7s7.5 15.2 14 19.8c6.3 4.7 15 9 15 9M366.3 440c2 3.5 1.7 10.2 4 12.5a66 66 0 0 1 5.8 7.6m-9.3-19.9c1.2 1.7 4.4 10.4 6.4 13 1.5 2.4 16.3 17.2 16.3 17.2" transform="matrix(1.25 0 0 1.3 256.3 -299.5)"/> + <path fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M384.6 471.1a2.2 2.2 0 1 1-4.4 0 2.2 2.2 0 0 1 4.4 0zm10.7 4.7a1.9 1.9 0 1 1-3.8 0 1.9 1.9 0 0 1 3.8 0zM409 477a1.9 1.9 0 1 1-3.8 0 1.9 1.9 0 0 1 3.8 0zm11.9-4.5q-.1 1.6-1.6 1.7-1.5-.2-1.6-1.7c0-.9.7-1.8 1.6-1.8q1.5.1 1.6 1.8zm9.6-5.7q-.2 1.5-1.9 1.6c-1 0-1.9-.7-1.9-1.6s.9-1.6 1.9-1.6q1.7.1 1.9 1.6z" transform="matrix(1.25 0 0 1.3 256.3 -299.5)"/> + <path fill="red" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M374.1 404.4c-.9.6-15.4 4.1-13.4 3.8s13.7 3 13.4 2 0-5.2 0-5.8zm24.7-4.3c-.6 0-9 3.2-8.7 3.2s9.6 2.6 9.3 2-.3-4.4-.6-5.2zm25.3 2.9c-.6.3-10.5 2.6-8.7 2.9s8.4 2.6 8.4 2c0-.5 0-4.6.3-5z" transform="matrix(1.25 0 0 1.3 256.3 -299.5)"/> + <path fill="none" stroke="#512007" stroke-width=".5" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 30.1 6.7-30m-3.7 27.7c.2-1.7 4.9-27.6 4.9-27.6m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 0 1 4.4-1.2m-3.8-3.2 4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7 3.2.5" transform="matrix(1.25 0 0 1.3 256.3 -299.5)"/> + <path fill="none" stroke="#512007" stroke-width=".5" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 31.3 6.7-31.1m-4.4 31.2 5.6-31.2m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 0 1 4.4-1.2m-3.8-3.2 4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7 3.2.5" transform="matrix(1.25 0 0 1.36 225.3 -323.4)"/> + <path fill="none" stroke="#512007" stroke-width=".5" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 30.1 6.7-30m-3.7 27.7c.2-1.7 4.9-27.6 4.9-27.6m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 0 1 4.4-1.2m-3.8-3.2 4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7 3.2.5" transform="matrix(-1.25 0 0 1.32 1259.2 -307.3)"/> + <path fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="m426.4 558.5 27.6.6.3-2-28.5-.3zm1.2-7.3c3.2 0 27.3-4.6 27.3-4.6s.9-3 0-3-27.3 5.6-27.3 5.6z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/> + <use xlink:href="#fk-l" width="992.1" height="496.1" transform="translate(0 5.5)"/> + </g> + <path fill="#012169" d="M0 0h320v240H0z"/> + <path fill="#FFF" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/> + <path fill="#C8102E" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/> + <path fill="#FFF" d="M120.5 0v240h80V0zM0 80v80h320V80z"/> + <path fill="#C8102E" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/> +</svg> diff --git a/apps/web/public/flags/fm.svg b/apps/web/public/flags/fm.svg new file mode 100644 index 00000000..c1b7c977 --- /dev/null +++ b/apps/web/public/flags/fm.svg @@ -0,0 +1,11 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-fm" viewBox="0 0 640 480"> + <defs> + <clipPath id="fm-a"> + <path fill-opacity=".7" d="M-81.3 0h682.6v512H-81.3z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#fm-a)" transform="translate(76.3)scale(.94)"> + <path fill="#6797d6" d="M-252 0H772v512H-252z"/> + <path fill="#fff" d="m259.8 123-32.4 22.2 12.4-35.9-32.5-22.2h40.1l12.4-35.9 12.4 36h40l-32.4 22.1 12.4 35.9M259.8 390l-32.4-22.2 12.4 36-32.5 22.1h40.1l12.4 35.9 12.4-36 40 .1-32.4-22.2 12.4-35.9m-188.4-92.4L79.3 306l1.4-38-37.5-11.7 38.4-11.7 1.3-38 22.3 30.8 38.4-11.8-24.6 30.7 22.4 30.7m274.2-11.7 24.6 30.7-1.4-38 37.5-11.7-38.4-11.7-1.3-38-22.3 30.8-38.4-11.8 24.6 30.7-22.4 30.7"/> + </g> +</svg> diff --git a/apps/web/public/flags/fo.svg b/apps/web/public/flags/fo.svg new file mode 100644 index 00000000..f802d285 --- /dev/null +++ b/apps/web/public/flags/fo.svg @@ -0,0 +1,12 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-fo" viewBox="0 0 640 480"> + <defs> + <clipPath id="fo-a"> + <path fill-opacity=".7" d="M-78 32h640v480H-78z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="0" clip-path="url(#fo-a)" transform="translate(78 -32)"> + <path fill="#fff" d="M-78 32h663.9v480H-78z"/> + <path fill="#003897" d="M-76 218.7h185.9V32H216v186.7h371.8v106.6H216V512H109.9V325.3h-186z"/> + <path fill="#d72828" d="M-76 245.3h212.4V32h53.1v213.3H588v53.4H189.5V512h-53V298.7H-76z"/> + </g> +</svg> diff --git a/apps/web/public/flags/fr.svg b/apps/web/public/flags/fr.svg new file mode 100644 index 00000000..4110e59e --- /dev/null +++ b/apps/web/public/flags/fr.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-fr" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#000091" d="M0 0h213.3v480H0z"/> + <path fill="#e1000f" d="M426.7 0H640v480H426.7z"/> +</svg> diff --git a/apps/web/public/flags/ga.svg b/apps/web/public/flags/ga.svg new file mode 100644 index 00000000..76edab42 --- /dev/null +++ b/apps/web/public/flags/ga.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ga" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#ffe700" d="M640 480H0V0h640z"/> + <path fill="#36a100" d="M640 160H0V0h640z"/> + <path fill="#006dbc" d="M640 480H0V320h640z"/> + </g> +</svg> diff --git a/apps/web/public/flags/gb-eng.svg b/apps/web/public/flags/gb-eng.svg new file mode 100644 index 00000000..12e3b67d --- /dev/null +++ b/apps/web/public/flags/gb-eng.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gb-eng" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#ce1124" d="M281.6 0h76.8v480h-76.8z"/> + <path fill="#ce1124" d="M0 201.6h640v76.8H0z"/> +</svg> diff --git a/apps/web/public/flags/gb-nir.svg b/apps/web/public/flags/gb-nir.svg new file mode 100644 index 00000000..e22190aa --- /dev/null +++ b/apps/web/public/flags/gb-nir.svg @@ -0,0 +1,132 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-gb-nir" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <rect fill="#fff" fill-rule="evenodd" rx="0" ry="0"/> + <rect id="gb-nir-a" width="640" height="96" y="192" fill="#c00" fill-rule="evenodd" rx="0" ry="0"/> + <use xlink:href="#gb-nir-a" width="600" height="300" transform="matrix(0 .75 -1 0 560 0)"/> + <path fill="#ebeae3" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M355.2 146.6c3-4.8 1.2-8-3.4-8.9 0 0-14.9 4.8-31 5.3-16 .5-35-4-35-4-3.5 2.1-2.7 7.2-1 10.4 0 0 16.8 5.6 36 5a111 111 0 0 0 30.1-5.5c3.7-1.2 4.3-2.2 4.3-2.3z"/> + <path fill="#fff" stroke="#161111" stroke-width="1.6" d="m320 357.6-30.9-64.2-70.9 5.4 40-58.8-40-58.8 71 5.4 30.8-64.1 30.9 64 70.9-5.3-40 58.8 40 58.8-71-5.4z"/> + <path fill="#b02320" fill-rule="evenodd" stroke="#000" stroke-width="1.3" d="M319.5 122.2c38.8 6.4 37.4 8.2 37.4 8.2l10.1-30.2s1.1-6-1.7-9.6-10.5-1.6-10.5-1.6-1-4.9-4.5-6c-3.4-1.2-16 4.5-20 5.8s-6 2.5-11.5 2.4c-5.5 0-15.4-5-17.3-6-1.7-.9-4.4-1.8-6.9-1.7-2.4 0-5 .7-6.3 2.4s-1.2 3.9-1.2 3.9-2-1.3-5.2-1.3-5 .4-6.5 2.1-3.4 6.5-3.4 6.5l3.6 8.2.2 11.3 7.5 12z"/> + <path fill="#ebeae3" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M355.7 139.3s2 2.3 1.9 3.2c-.1.8-1 1.5-1 1.5s.7.6.5 1.5-1.4 1-1.4 1 .3.8-.5 1.2c-.7.4-3.8 1-3.8 1s-15-4.2-31-4.2-35 5.2-35 5.2-2-.7-2-2c-.2-1.2.1-2.1.1-2.1s-1 0-1.3-.9c-.4-1.3.1-2.3.1-2.3s-.7.2.1-1.5c.6-1.3 1.5-1.7 1.5-1.7s16.8-6 36-6.1 35.8 6 35.8 6.2z"/> + <path fill="none" stroke="#000" stroke-width="1.1" d="M276.2 101.5s-.6-2.2.8-4.1a4 4 0 0 1 4.7-1.4c.8.4.7 1.3 1.7 1.5 1 .3 1.8-.5 1.8-.5"/> + <path fill="#fc0" fill-opacity=".9" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="m369.8 106.6-5.8 12-2.3.4s-1.4-.8-5.4-.5c-2.8.2-3.7 1-3.7 1l5.2-12s.4 2.5 1 4c.8 2 3.7 3.7 3.7 3.7s.4-2.3-.4-5a56 56 0 0 0-2.8-7.3z"/> + <path fill="#121116" stroke="#121116" stroke-linejoin="round" stroke-width="1.2" d="M316.5 69.2h6.5v27.7h-6.5z"/> + <path fill="#f6ca1f" fill-rule="evenodd" stroke="#000" d="m276.6 120.2 4.1 9s17.9-7 38.9-6.8c31.5.2 40.5 6.5 40.5 6.5l4.6-11.1-3.5 2-3.6 2.3-4 1.5-5-.3-4.4-3.2-2.2-4.7-3.7 3.4-6.6 1.4-6.4-1.6-5.6-7.1s-4.2 7.9-9.6 8.4c-7.7.6-12.1-3.7-12.1-3.7s-2.9 6.4-7.6 7.5c-7.5 1.9-13.7-3.5-13.8-3.5z"/> + <g stroke-width="2.2"> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M348.4 65.7c0 1.8-1.4 3.4-3.3 3.4a3.4 3.4 0 0 1-3.4-3.4 3.4 3.4 0 0 1 3.4-3.5 3.4 3.4 0 0 1 3.3 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M343.5 67.4s2.7 0 3-1.1-.2-2.6-.2-2.6 1.3 1.4 1 2.5q-.5 1.4-1.7 1.7a3 3 0 0 1-2-.5z"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M340.3 69.5c0 1.8-1.5 3.4-3.4 3.4a3.4 3.4 0 0 1-3.4-3.4A3.4 3.4 0 0 1 337 66a3.4 3.4 0 0 1 3.4 3.3"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M335.3 71.2s2.8 0 3-1.1-.2-2.6-.2-2.6 1.3 1.5 1 2.6q-.5 1.4-1.7 1.6a3 3 0 0 1-2-.5z"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M358 63.4c0 1.9-1.6 3.4-3.4 3.4a3.4 3.4 0 0 1-3.4-3.4 3.4 3.4 0 0 1 3.3-3.4 3.4 3.4 0 0 1 3.4 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M353 65.2s2.7 0 3-1.2-.2-2.5-.2-2.5 1.3 1.4 1 2.5q-.5 1.5-1.7 1.6a3 3 0 0 1-2-.4z"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M368.6 65.6c0 1.8-1.5 3.4-3.3 3.4a3.4 3.4 0 0 1-3.4-3.4 3.4 3.4 0 0 1 3.4-3.4 3.4 3.4 0 0 1 3.3 3.3"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M363.7 67.3s2.7 0 3-1.1-.2-2.6-.2-2.6 1.3 1.4 1 2.6q-.5 1.3-1.7 1.6a3 3 0 0 1-2.1-.5"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M376.8 72.3c0 1.8-1.5 3.4-3.4 3.4a3.4 3.4 0 0 1-3.4-3.4 3.4 3.4 0 0 1 3.4-3.4 3.4 3.4 0 0 1 3.4 3.3"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M371.9 74s2.7 0 3-1.1-.2-2.6-.2-2.6 1.3 1.5.9 2.6q-.4 1.4-1.7 1.6-1 .1-2-.5"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M380.3 83.3c0 1.9-1.5 3.4-3.4 3.4a3.4 3.4 0 0 1-3.3-3.4 3.4 3.4 0 0 1 3.3-3.4 3.4 3.4 0 0 1 3.4 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M375.4 85s2.7 0 3-1.1-.2-2.6-.2-2.6 1.3 1.5.9 2.6q-.4 1.4-1.7 1.6a3 3 0 0 1-2-.5"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M379 94.4c0 2-1.5 3.4-3.4 3.4a3.4 3.4 0 0 1-3.3-3.3 3.4 3.4 0 0 1 3.3-3.5 3.4 3.4 0 0 1 3.4 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M374 96.2s2.8 0 3-1.2c.3-1-.1-2.5-.1-2.5s1.3 1.4.9 2.5-.7 1.4-1.7 1.6a3 3 0 0 1-2-.4z"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M374 104.2c0 1.9-1.5 3.4-3.3 3.4a3.4 3.4 0 0 1-3.4-3.4 3.4 3.4 0 0 1 3.4-3.4 3.4 3.4 0 0 1 3.3 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M369.1 106s2.7 0 3-1.2c.3-1-.2-2.5-.2-2.5s1.3 1.4 1 2.5q-.5 1.5-1.7 1.6a3 3 0 0 1-2-.4z"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M332.3 72.4c0 1.9-1.5 3.4-3.3 3.4a3.4 3.4 0 0 1-3.4-3.4 3.4 3.4 0 0 1 3.3-3.4 3.4 3.4 0 0 1 3.4 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M327.4 74.2s2.7 0 3-1.2-.2-2.5-.2-2.5 1.3 1.4 1 2.5q-.5 1.5-1.7 1.6-1.2.3-2.1-.4"/> + <g stroke-width="2.7"> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M322.1 71.5a3 3 0 0 1-2.8 2.9 3 3 0 0 1-2.8-2.9 3 3 0 0 1 2.8-2.8 3 3 0 0 1 2.8 2.8"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M318 73s2.3 0 2.5-1-.1-2-.1-2 1 1.1.8 2q-.5 1.3-1.4 1.4a3 3 0 0 1-1.8-.4"/> + </g> + <g stroke-width="2.7"> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M322.2 75a3 3 0 0 1-2.8 3 3 3 0 0 1-2.8-3 3 3 0 0 1 2.8-2.8 3 3 0 0 1 2.8 2.8"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M318 76.5s2.3 0 2.6-1c.2-.8-.2-2-.2-2s1 1.2.8 2q-.3 1.3-1.4 1.4a3 3 0 0 1-1.7-.4z"/> + </g> + <g stroke-width="2.7"> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M322.4 80.3a3 3 0 0 1-2.8 2.8 3 3 0 0 1-2.9-2.8 3 3 0 0 1 2.9-2.9 3 3 0 0 1 2.8 2.9"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M318.3 81.8s2.2 0 2.5-1-.2-2.1-.2-2.1 1 1.2.8 2q-.3 1.4-1.4 1.4a3 3 0 0 1-1.7-.3"/> + </g> + <g stroke-width="2.5"> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M322.7 85.8a3 3 0 0 1-3 3.1 3 3 0 0 1-3.1-3 3 3 0 0 1 3-3.2 3 3 0 0 1 3 3.1"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M318.2 87.4s2.5 0 2.7-1-.2-2.3-.2-2.3 1.2 1.3.9 2.3c-.4 1-.7 1.2-1.5 1.4a3 3 0 0 1-1.9-.4"/> + </g> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M323 93.3c0 1.8-1.5 3.4-3.4 3.4a3.4 3.4 0 0 1-3.3-3.4 3.4 3.4 0 0 1 3.3-3.5 3.4 3.4 0 0 1 3.4 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M318 95s2.8 0 3-1.1-.1-2.6-.1-2.6 1.3 1.5.9 2.6c-.4 1-.7 1.4-1.7 1.6a3 3 0 0 1-2-.5z"/> + <g stroke-width="2.4"> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M322.7 108.5c0 1.8-1.4 3.2-3.2 3.2a3 3 0 0 1-3.2-3.2c0-1.7 1.4-3.2 3.2-3.2a3 3 0 0 1 3.2 3.2"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M318 110.2s2.6 0 2.8-1.1c.3-1-.1-2.4-.1-2.4s1.2 1.3.8 2.4q-.4 1.3-1.5 1.5-1 .1-2-.4"/> + </g> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M313.6 72.3c0 1.9-1.6 3.4-3.4 3.4a3.4 3.4 0 0 1-3.4-3.4 3.4 3.4 0 0 1 3.4-3.4 3.4 3.4 0 0 1 3.4 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M308.6 74s2.7 0 3-1c.3-1.2-.2-2.6-.2-2.6s1.3 1.4 1 2.5q-.5 1.5-1.7 1.6a3 3 0 0 1-2-.4z"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M305.2 69c0 1.9-1.5 3.4-3.4 3.4a3.4 3.4 0 0 1-3.3-3.4 3.4 3.4 0 0 1 3.3-3.4 3.4 3.4 0 0 1 3.4 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M300.3 70.8s2.7 0 3-1.2c.2-1-.2-2.5-.2-2.5s1.3 1.4 1 2.5c-.5 1.1-.8 1.4-1.8 1.6q-1 .3-2-.4"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M297.2 65.3c0 1.8-1.5 3.4-3.3 3.4a3.4 3.4 0 0 1-3.4-3.4 3.4 3.4 0 0 1 3.3-3.5 3.4 3.4 0 0 1 3.4 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M292.3 67s2.7 0 3-1.1-.2-2.6-.2-2.6 1.3 1.5 1 2.6q-.5 1.4-1.7 1.6a3 3 0 0 1-2.1-.5"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M288 63.3c0 1.9-1.4 3.4-3.3 3.4a3.4 3.4 0 0 1-3.4-3.4 3.4 3.4 0 0 1 3.4-3.5 3.4 3.4 0 0 1 3.4 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M283.1 65s2.7 0 3-1.1-.2-2.6-.2-2.6 1.3 1.5 1 2.6q-.5 1.4-1.7 1.6a3 3 0 0 1-2-.5z"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M277.2 65.8c0 2-1.5 3.4-3.3 3.5a3.4 3.4 0 0 1-3.4-3.4 3.4 3.4 0 0 1 3.4-3.5 3.4 3.4 0 0 1 3.3 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M272.3 67.6s2.7 0 3-1.1-.2-2.6-.2-2.6 1.3 1.4 1 2.5q-.5 1.4-1.7 1.7a3 3 0 0 1-2-.5z"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M269.6 73.5c0 1.9-1.5 3.4-3.4 3.4a3.4 3.4 0 0 1-3.3-3.4 3.4 3.4 0 0 1 3.3-3.4 3.4 3.4 0 0 1 3.4 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M264.7 75.2s2.7 0 3-1.1-.2-2.6-.2-2.6 1.3 1.5.9 2.6q-.4 1.4-1.7 1.6a3 3 0 0 1-2-.5"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M266.4 84.2c0 1.9-1.5 3.4-3.3 3.4a3.4 3.4 0 0 1-3.4-3.4 3.4 3.4 0 0 1 3.3-3.4 3.4 3.4 0 0 1 3.4 3.3"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M261.5 86s2.7-.1 3-1.2-.2-2.6-.2-2.6 1.3 1.5 1 2.6q-.5 1.4-1.7 1.6a3 3 0 0 1-2.1-.5z"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M267.8 95.3c0 2-1.5 3.5-3.3 3.5a3.4 3.4 0 0 1-3.4-3.4 3.4 3.4 0 0 1 3.3-3.5 3.4 3.4 0 0 1 3.4 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M262.9 97.1s2.7 0 3-1.2c.3-1-.2-2.5-.2-2.5s1.3 1.4 1 2.5q-.5 1.5-1.7 1.7a3 3 0 0 1-2-.5z"/> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M273 105.5c0 1.8-1.5 3.4-3.4 3.4a3.4 3.4 0 0 1-3.3-3.4 3.4 3.4 0 0 1 3.3-3.5 3.4 3.4 0 0 1 3.4 3.4"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M268 107.2s2.8 0 3-1.1-.1-2.6-.1-2.6 1.3 1.4 1 2.5q-.6 1.5-1.7 1.7a3 3 0 0 1-2.1-.5z"/> + <g stroke-width="2.8"> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 0 1-6.4 6.5 6.5 6.5 0 0 1-6.5-6.5 6.5 6.5 0 0 1 6.4-6.5 6.5 6.5 0 0 1 6.5 6.5" transform="matrix(.31597 -.08466 .13499 .50378 109.4 30)"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M276.3 120.7s1.6-.5 1.5-1.6c0-1.1-.7-2.4-.7-2.4s1.1 1.1 1.2 2.3q0 1.4-.6 1.8-.6.3-1.4-.1"/> + </g> + <g stroke-width="2.8"> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 0 1-6.4 6.5 6.5 6.5 0 0 1-6.5-6.5 6.5 6.5 0 0 1 6.4-6.5 6.5 6.5 0 0 1 6.5 6.5" transform="matrix(.31758 .0784 -.125 .50636 260 -40.2)"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M362.3 119.8s1.7.4 2.1-.7c.5-1 .5-2.5.5-2.5s.5 1.6 0 2.6-.8 1.3-1.4 1.3q-.7 0-1.2-.7"/> + </g> + </g> + <path fill="#b3a192" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="m316.7 53.8.3 5.7s-6.8.6-7 1.2c-1.4 3 1.5 7 1.5 7s2.3-1.8 8-1.8c5.5 0 8.3 1.4 8.3 1.4s1.4-2.3 1.4-4-.6-3.4-.6-3.4l-3.6-.4h-2.5l-.2-5.8z"/> + <path fill="#f0ddcb" stroke="#121116" stroke-linejoin="round" stroke-width=".6" d="M326.4 62.6q-.2 1.1-1.2 1.2-1.2-.1-1.3-1.1.2-1.1 1.2-1.2 1.1.1 1.3 1.1m2.7.7q0 1-1.2 1.2c-1.2.2-1.3-.6-1.3-1.2q.1-1.1 1.3-1.2t1.2 1.2m-5.5-.7q-.2 1-1.2 1.2-1.1-.2-1.2-1.2 0-1.3 1.1-1.2t1.3 1.2m-5.6 0q-.1 1.2-1.3 1.3-1.1-.1-1.2-1.2t1.2-1.2c1.2-.1 1.3.5 1.3 1.2m-3.1.2q-.1 1-1.3 1.2-1.1 0-1.2-1.2c-.1-1.2.5-1.2 1.2-1.2s1.3.5 1.3 1.2m5.7-3.5q-.1 1-1 1a1 1 0 0 1-1.2-1q.1-1 1.1-1t1 1m0-4.7q0 .9-1 1a1 1 0 0 1-1-1q0-1 1-1c1 0 1 .4 1 1m0 2.5q0 1-1 1c-1 0-1-.4-1-1q0-.9 1-1c1-.1 1 .4 1 1m-8.8 6.5q0 1.1-1.2 1.2-1 0-1.2-1.2 0-1 1.2-1.1c1.2-.1 1.2.5 1.2 1.1"/> + <path fill="#916c68" stroke="#4d3126" stroke-linejoin="round" stroke-width=".6" d="M320.9 62.4q-.1 1.1-1.4 1.2a1.3 1.3 0 0 1-1.3-1.2q.1-1.2 1.3-1.3 1.2.1 1.3 1.3"/> + <g stroke-width="2.5"> + <path fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M322 45.5a2.5 2.5 0 0 1-2.4 2.5 2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.6 2.5 2.5 0 0 1 2.5 2.5"/> + <path fill="#a3afb8" fill-rule="evenodd" d="M318.4 46.8s2 0 2.2-1c.2-.7-.1-1.8-.1-1.8s1 1 .7 1.9q-.4 1-1.2 1.2a2 2 0 0 1-1.6-.3"/> + </g> + <path fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M280 130.1s2.2 2.1 2.8 4 1.5 6.8 1.5 6.8 23.2-6.5 34.6-6 37.7 6.3 37.7 6.3l1-5.7c.5-3 2.7-6.3 2.7-6.3s-25.1-7.8-41-7a116 116 0 0 0-27.3 3.5z"/> + <path fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M314.7 36h10s-2.5 1.7-3 3.4c-.4 1.4-.3 3.7-.3 3.7s2.7 0 4-1l3.7-2.9v12.7s-2.5-2.3-4-3.1a14 14 0 0 0-3.5-1.3s0 2 .8 3.3 4.3 5.8 4.3 5.8l-14.3.5s3.4-3.5 4.8-6.1c.9-1.7.5-3.5.5-3.5s-2.4 0-3.6.9-3.4 3.3-3.4 3.3V39.5s1 2.4 3 3.3 3.8.4 3.8.4.4-2.4-.4-4c-.8-1.5-2.6-3.2-2.4-3.1z"/> + <path fill="#fc0" fill-rule="evenodd" stroke="#121116" stroke-width="1.2" d="M313.9 76.5s-7.1-.1-13.2-3.7-12.3-7.4-21.3-5.3c-1.8.5-8.6 3.5-11.6 13.2a26 26 0 0 0 2.4 18.7 50 50 0 0 0 5.6 7.4l3.7-2.5s-9.3-8-8.2-18.2c1-10.3 6.2-12.7 6.2-12.7s6.4-5 14.9-.3a80 80 0 0 0 25.3 8.7c.6-.1-4-5.4-3.8-5.3z"/> + <path fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="m274.5 115-3.8-7.4 11.4-4.4s-2.8 3.6-3.4 6.2c-.8 3.2-.5 5.9-.5 5.9s1-.8 2.3-2.9c1-1.5 2.6-7.3 2.6-7.3l5.1 16.3s-2.6-2.6-4.5-2.9c-2-.4-4.6.3-4.6.3l-3 1z"/> + <path fill="#fc0" fill-rule="evenodd" stroke="#121116" stroke-width="1.2" d="M326.7 76.3s7.1 0 13.2-3.7c6.1-3.6 12.2-7.3 21.3-5.2 1.8.4 8.6 3.4 11.6 13.1a26 26 0 0 1-2.5 18.7l-3.6 5.9-4.4-1.6s8.1-7.3 7-17.6-6.2-12.7-6.2-12.7-6.4-5-14.9-.2-16.8 6.8-16.8 6.8-7.8 2-8.5 1.8c-.7 0 4-5.4 3.8-5.3z"/> + <path fill="#fc0" stroke="#121116" stroke-linejoin="round" stroke-width="1.2" d="M323 69.3h3V97h-3zm-10-.2h3.5v27.7H313z"/> + <path fill="#fc0" stroke="#121116" stroke-linejoin="round" stroke-width="1.2" d="M329.2 62.7c0 5-4.3 9-9.7 9s-9.7-4-9.7-9 4.3-8.9 9.6-8.9c5.4 0 9.8 4 9.8 8.9"/> + <path fill="#fc0" fill-rule="evenodd" stroke="#000" d="m310.9 96.8 16.7-.2s-2 1.2-3.7 4.2c-1.6 3-1.4 4.8-1.4 4.8s2.5 0 4.3-1.3a26 26 0 0 0 3.8-3.7v15.3s-1.3-2-3.3-3c-2-1.3-4.8-1.3-4.8-1.3h-5.7s-2.6.2-3.7 1a29 29 0 0 0-3.7 3.2l-.3-14.6s.8 2.6 3.5 3.6 4.2 1 4.2 1 0-3.4-1.4-5a33 33 0 0 0-4.5-4z"/> + <path fill="#f6ca1f" fill-rule="evenodd" stroke="#000" stroke-width=".9" d="M320.2 108.8s2.4 5.7 5.3 8.2c1.6 1.5 6.6 2.6 8.8 2 5-1.3 8.6-5.3 8.6-5.3s-.2 4.4 3 6.9q4.5 3.5 8.2 2.3c2.7-.7 10-6.2 10-6.2l1.6 1.3s-4.3 4.2-8.7 6.3c-2.3 1.2-9.3.5-11.5-1.3-2.3-1.8-3.6-6.1-3.6-6.1s-1.4 2.8-4.4 3.8-7 1-10.9-.2c-2.5-.8-5.9-4.3-6.5-5.5-.6-1.1-.4-1.8-.4-1.8s-2 5.4-5.8 6.9a19 19 0 0 1-11.5.4c-3.6-1-3.9-3.1-3.9-3.1s-.2 5.7-8 7.3c-8 1.6-14.2-4.1-14.2-4.1l1.1-1.7s4.4 5 11.2 4.6 9-9.2 9-9.2 3 4.5 11 4.6 10.2-10.3 10.2-10.3z"/> + <g fill="#fc0" stroke="#000" stroke-width="1.1"> + <path fill-rule="evenodd" d="M300.6 112.1s0-2.7.7-3.6c.8-1.1 2-1.2 2.6-1s1.4.8 1.3 2.8-.7 2.8 0 3.6c.5.7.6 1.2 1.7 1q1.6-.1 1.3-1.5c-.3-1.4-.5 0-.7-.8s1-4.6.8-6.9c-.2-2.2-1-4-2.8-4.5q-2.3-.8-4.5.7c-1.4 1-3.3 4.5-3.3 4.5v7.5l3-.2v-1.6z"/> + <path fill-rule="evenodd" d="M295 114.1s-1.2-2.5-2-3a3 3 0 0 0-2.8 0c-.6.5-1 1.4-.1 3.1s1.7 2.4 1.4 3.3c-.2.9 0 1.4-1.1 1.7q-1.6.5-1.9-1c-.2-1 .6 0 .4-1-.1-.8-2.8-3.7-3.5-5.9q-1.2-3.3.8-5.2 1.8-1.6 4.3-1.2c1.8.4 4.9 2.9 4.9 2.9l3 6.8-2.8 1z"/> + <path fill-rule="evenodd" d="M294.4 92.1s-3 5-2.3 8.8 4.6 12 4.6 12v1l2.2-.2-.5-1.1s1-9.8.4-12.9a33 33 0 0 0-4.4-7.6zm4.7 22.7s1.5 1.7 3.2 2.6c2 .9 2.8 1 3.5.3.6-.4.4-2.2-.3-2.7s-1.4-.2-1.5.3q-.2 1.1-1 .4c-1-.4-3-1.7-3-1.7zm-2.3.4s-.6 2.2-1.8 3.7c-1.4 1.6-2.1 2-3 1.7-.7-.1-1.3-1.8-.9-2.6.4-.7 1.2-.8 1.5-.4q.6 1 1.1 0l2-2.7z"/> + <path stroke-linejoin="round" d="M302.4 113.4c.2.6-1.8 1.5-4.3 1.9s-4.6.3-4.8-.4c0-.6 1.9-1.5 4.4-2s4.6-.2 4.7.5"/> + </g> + <g fill="#fc0" stroke="#000" stroke-width="1.1"> + <path fill-rule="evenodd" d="M345.6 113.2s1-2.5 2-3.1c1.1-.8 2.2-.5 2.7 0 .6.3 1 1.2.3 3-.8 1.7-1.6 2.4-1.4 3.3.3 1 .2 1.4 1.3 1.6q1.7.5 1.8-1c.1-1-.5 0-.4-1 0-.8 2.6-3.9 3.2-6q1-3.5-1-5.3-2-1.6-4.5-.9c-1.7.5-4.7 3.1-4.7 3.1l-2.6 7 2.9.9z"/> + <path fill-rule="evenodd" d="M339.7 113.1s-.2-2.7-.9-3.5c-.9-1.1-2-1.1-2.6-1-.7.3-1.4 1-1.2 2.9.2 2 .8 2.8.3 3.6s-.6 1.2-1.7 1.1q-1.7 0-1.5-1.4c.2-1 .6 0 .8-.9.1-.8-1.3-4.5-1.2-6.8 0-2.2.8-4 2.5-4.6q2.3-1 4.5.5c1.5 1 3.6 4.3 3.6 4.3l.4 7.4h-3z"/> + <path fill-rule="evenodd" d="M346.8 92.3s-4.5 3.6-5.2 7.4.1 12.8.1 12.8l-.3 1 2 .6v-1.2s4.4-8.8 4.9-12a32 32 0 0 0-1.5-8.6zm-3.5 22.9s.8 2.1 2.1 3.5c1.5 1.6 2.2 1.9 3.1 1.6.7-.2 1.1-2 .7-2.6s-1.2-.7-1.5-.3q-.6.9-1.1 0l-2.2-2.6zm-2.3-.5s-1.3 1.9-3 2.8c-1.9 1.1-2.7 1.2-3.5.6-.6-.3-.5-2.1.1-2.7q1.2-.6 1.6.2.3 1 1 .4l2.8-2z"/> + <path stroke-linejoin="round" d="M346.9 115c-.1.7-2.3.8-4.8.3s-4.4-1.4-4.3-2 2.3-.8 4.8-.3 4.4 1.4 4.3 2"/> + </g> + <path fill="#cca715" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M279 129.9s.6 2 1.7 1c1.2-1.1 17.3-7.5 40-7.5s37.5 6.3 38.4 6.7c.9.3 1.3.8 2 0 .8-1-.7-2.3-.7-2.3s-15.8-6.7-40.4-6.6c-24.7.1-40.6 7.1-40.6 7.1s-1 .8-.3 1.6z"/> + <path fill-rule="evenodd" d="M307.9 139.3s.7-2 2-2.4c1-.3 2.5.7 2.5.7s-1.9-.2-2.5.2c-.5.3-.7 1.2-.7 1.2s.4-.8 1.9-.7h1.6s-2.5.3-3 1 2.3 1 2.3 1-4.5 0-5-.2-1-1.2-2-1c-1 .4-2 1.3-2 1.3s1.1-2 1.8-2 1.2 0 1.8.3zm-16.8 3.6s.3-2 1.5-2.7c1-.5 2.7.2 2.7.2s-2 .2-2.5.6-.4 1.4-.4 1.4.3-.8 1.7-1l1.6-.3s-2.4.7-2.8 1.5c-.5.8 2.5.6 2.5.6s-4.4.8-5 .7c-.7-.2-1.2-1-2.1-.5s-1.8 1.5-1.8 1.5.8-2.1 1.5-2.3 1-.2 1.8 0zm30.9-4.3s.8-2 2-2.3 2.7.8 2.7.8-2-.3-2.6 0c-.5.3-.7 1.2-.7 1.2s.4-.7 1.9-.5l1.6.1s-2.5 0-3.1.8c-.6.6 2.3 1.1 2.3 1.1s-4.5-.2-5-.5-1-1.2-2-1-2 1-2 1 1.2-1.8 1.9-1.8 1.1 0 1.8.4zm14.1 1.6s1-1.9 2.4-2c1-.2 2.4 1 2.4 1s-1.8-.4-2.5-.2-.9 1-.9 1 .5-.6 2-.3l1.6.4s-2.5-.2-3.2.4 2.1 1.4 2.1 1.4-4.4-.8-5-1.1c-.4-.4-.7-1.4-1.7-1.3s-2.2.8-2.2.8 1.5-1.6 2.2-1.5q1 0 1.7.5zm14 2.5s1-1.4 2.1-1.5c.9 0 1.9 1.1 1.9 1.1s-1.5-.5-2-.4-.8.8-.8.8.5-.5 1.6-.1l1.3.4s-2-.4-2.6 0 1.6 1.4 1.6 1.4-3.5-1-4-1.3c-.3-.3-.4-1.1-1.2-1.1-.9 0-1.9.5-1.9.5s1.3-1.3 1.9-1.1q.7 0 1.3.5z"/> + <path fill="#0f6545" stroke="#000" stroke-linejoin="round" stroke-width=".7" d="M305 129.7c.4 1.7-1.6 3.5-4.4 4s-5.3-.3-5.6-2 1.6-3.4 4.4-4 5.3.3 5.6 2z"/> + <path fill="#cecfc1" d="M298.8 129.4q0 .7-1 1-1 .1-1.3-.5 0-.7 1-1 1 0 1.3.5"/> + <path fill="#0f6545" stroke="#000" stroke-linejoin="round" stroke-width=".7" d="M344.1 131.8c-.5 1.6-3 2.2-5.8 1.4s-4.4-2.9-4-4.5c.6-1.6 3.2-2.3 5.9-1.4s4.5 2.8 4 4.4z"/> + <path fill="#cecfc1" d="M338.8 128.5q-.3.7-1.3.4-1-.4-.9-1 .3-.7 1.3-.5 1 .4.9 1z"/> + <path fill="#1f2d86" stroke="#000" stroke-linejoin="round" d="M314.6 126h10.1v5h-10.1z"/> + <path fill="#707c8b" d="M318.9 127q0 .5-1 .5c-1 0-1-.2-1-.5q.1-.4 1-.4 1.2 0 1 .4"/> + <path fill="#9f1209" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="m286 131 1.6 5-3 1.7s-1.5 1-3 .2c-1.4-.7-2.2-3-1.4-4 1.5-1.8 5.7-3 5.7-2.9z"/> + <path fill="#8f322f" d="M283.4 134.6q-.1 1.3-1.5 1.5c-1.4.2-1.4-.7-1.4-1.5q.1-1.4 1.4-1.5c1.3-.1 1.5.6 1.5 1.5"/> + <path fill="#e2a494" d="m282 134-.2.7h-.5l-.4-.5.2-.7.5-.1q.4 0 .4.6"/> + <path fill="#9f1209" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="m353.9 131.7-1.7 4.4 4 2s1.7.8 2.8-.1 1.2-2.8.4-3.7-5.6-2.6-5.5-2.6z"/> + <path fill="#aa675d" d="M358.6 135.2q-.1 1-1.3 1c-1.2 0-1.2-.4-1.2-1s.6-1 1.2-1q1.2.1 1.3 1"/> + <path fill="#e2a494" d="M357.4 135q0 .5-.3.7h-.6l-.3-.6q0-.5.3-.6h.6q.3 0 .3.6z"/> + <path fill="#f5d8bc" d="M328.6 126.4a1 1 0 0 1-.8.7 1 1 0 0 1-.7-.7 1 1 0 0 1 .7-.7q.7 0 .8.7m4.3.2a1 1 0 0 1-.7.7 1 1 0 0 1-.8-.7 1 1 0 0 1 .8-.6q.6 0 .7.6m-2.2 1.7q0 .8-1 .9c-1 .1-.8-.4-.8-.9s.4-.9.9-.9.9.4.9 1zm2 2.8a1 1 0 0 1-.6.7 1 1 0 0 1-.8-.7 1 1 0 0 1 .7-.7q.8 0 .8.7zm-4.1-.5a1 1 0 0 1-.7.7 1 1 0 0 1-.7-.7 1 1 0 0 1 .7-.7q.6 0 .7.7m-20.9-3.5a1 1 0 0 1-.5.8 1 1 0 0 1-.9-.5 1 1 0 0 1 .6-.8 1 1 0 0 1 .8.5m4.3-.7a1 1 0 0 1-.6.8 1 1 0 0 1-.8-.5 1 1 0 0 1 .5-.8 1 1 0 0 1 .9.5m-1.8 2.1q0 .9-.6 1a1 1 0 0 1-1.1-.6c-.1-.4.2-1 .7-1a1 1 0 0 1 1 .6m2.7 2.3a1 1 0 0 1-.5.8 1 1 0 0 1-.9-.5 1 1 0 0 1 .5-.8 1 1 0 0 1 .9.5m-4.2.4a1 1 0 0 1-.5.8 1 1 0 0 1-.9-.5 1 1 0 0 1 .6-.8 1 1 0 0 1 .8.5m-19.2-.2a1 1 0 0 1-.4 1 1 1 0 0 1-.9-.4 1 1 0 0 1 .4-1 1 1 0 0 1 1 .4zm4.1-1.3a1 1 0 0 1-.4 1 1 1 0 0 1-.9-.5 1 1 0 0 1 .4-.9 1 1 0 0 1 1 .4zm-1.4 2.4a1 1 0 0 1-.5 1 1 1 0 0 1-1.1-.4 1 1 0 0 1 .5-1.1 1 1 0 0 1 1.1.5m3 1.8a1 1 0 0 1-.4 1q-.6 0-1-.5c-.4-.5.1-.7.5-.9a1 1 0 0 1 .9.4m-4.1 1a1 1 0 0 1-.4 1 1 1 0 0 1-1-.4.7.7 0 0 1 .5-1 1 1 0 0 1 1 .4zm56.2-5.8q-.2.6-1 .5a1 1 0 0 1-.5-1q.1-.5 1-.4.6.2.5.9m4.4 1.3q-.1.7-.9.6a1 1 0 0 1-.6-1q.2-.6 1-.5.6.2.5 1zm-2.7 1.2a1 1 0 0 1-1.1.7 1 1 0 0 1-.8-1.1 1 1 0 0 1 1.2-.7q.8.3.7 1.1m1.5 3.5q-.2.6-1 .5a1 1 0 0 1-.5-.9q.1-.6.9-.5.7.2.6 1zm-4.3-1.6q-.2.6-.9.5a1 1 0 0 1-.5-.9q.2-.6.9-.5.6.2.5.9"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M356 89s-2 1.9-4.5 1.9a7 7 0 0 1-4.6-1.6c-.8-.5.2-2 .2-2"/> + <path fill="none" stroke="#000" stroke-width="1.1" d="M312.9 92.8s-3.7-.7-5.3-1.2-1.1-1.5-3-1.4c-1.7.1-3.5 1.4-3.1 3.2s1.7 2 3 1.7c1.2-.4.8-2.6-.8-2.4-1.7 0-.3 1.5-.3 1.5"/> + <path fill="none" stroke="#000" d="M287.3 90s1 1.5 3.7 1.2c2.7-.2 3.7-1.6 3.8-2.3.2-.6 0-1.8-.5-2.3s-2.3-.7-2.3-.7"/> + <g stroke="#161111" stroke-width="1.6"> + <path fill="#c00" d="M339.2 270.4c2.5-2.5 6.5-5.2 8.7-11 2-5.6 3-15.7 5-20.8 2.5-8.8 7.5-17.4 1.5-16.8-5.7.6-7.5 6-9.6 10-1 1.5-3.3 4.7-3.7 6.5-.1-3-1.7-11.9-2-20.8-.3-8.4 0-17-.3-20.3-.2-4.3-.2-8.3-1.2-11.4-.5-1.5-2.6-3-3.8-2.9-2.2 0-3.6 2-4 3.9l-.2 2.8c-.2 2.4 0 5.5-.2 8.3-.1 3 .2 6.2 0 9-.2 5.4-.6 10.5-.8 11.5 0-2-1-11.7-1.3-20.9l-.2-10c0-2.6 0-5.4-.2-7.4q-.6-5-4-5c-1.8 0-4.2 1.3-5 5q-.4 3.2-.3 7.4l.2 8c-.2 10.5-.4 21.5-.8 24.8 0-1-1.1-6.5-1.4-13.9l-.4-9.6-.3-9.6c0-1.6-.7-6.2-3.7-6-1.7-.2-3.4 1-4 5.3-.4 2.5-.4 6.6-.5 9.9-.1 6-.4 11.4 0 16.9l.1 7.7c0 .4-.9-2.9-1.3-7.4l-.8-8.6c0-2.3-.1-5.7-.3-8.5-.2-2.1-.1-4.5-2.5-4.3-2.4.1-3.8 1-4.3 5-.4 2.7-.4 8.5-.5 10.5.2 5.3-1.2 17.7-1.8 21.2-.2 2.5-1.2 5.7-1.6 9.2a70 70 0 0 0 1 20.6c2 7 7 10.2 6.8 15s0 13.3 0 17c0 3.8 3.3 4 10 2.6 11.2-2.4 17.3 2.4 26.4-1.2-1.1-10.4 1.1-16.7 1-20.5zm-6.5-24.7c2.3-6.4 5.2-8.9 8-10.2"/> + <path fill="none" d="M307.4 239.2q5.2-2 10.6-3.6c4.3-1.2 8.5-3 13-3.6q3-.9 6.4-1m-36.1 42c.4-.3 1 .2 1.4.3q1 .4 2 .3h4q2.5.1 4.3-1m10 .6 1.6.9c.8.3 1.8.4 7.3 0 3.5.2 6.5-2.8 7.4-3.6"/> + </g> +</svg> diff --git a/apps/web/public/flags/gb-sct.svg b/apps/web/public/flags/gb-sct.svg new file mode 100644 index 00000000..f50cd322 --- /dev/null +++ b/apps/web/public/flags/gb-sct.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gb-sct" viewBox="0 0 640 480"> + <path fill="#0065bd" d="M0 0h640v480H0z"/> + <path stroke="#fff" stroke-width=".6" d="m0 0 5 3M0 3l5-3" transform="scale(128 160)"/> +</svg> diff --git a/apps/web/public/flags/gb-wls.svg b/apps/web/public/flags/gb-wls.svg new file mode 100644 index 00000000..d7f57912 --- /dev/null +++ b/apps/web/public/flags/gb-wls.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gb-wls" viewBox="0 0 640 480"> + <path fill="#00ab39" d="M0 240h640v240H0z"/> + <path fill="#fff" d="M0 0h640v240H0z"/> + <g stroke="#000" stroke-width="1.4"> + <path fill="#d21034" d="M419 70.8h-.1zm-.1 0a694 694 0 0 0-111.8 75c-17 14.9-12.2 26.7-12.9 40 .6 9-1.9 17.4-7.4 22.4l-37.8 7.6-3.6-10.4c1.1-5.4 5.5-8 14.9-4.7.7-6.8-4.9-9.6-11.3-12-2.3-1.8-5-3-4.7-9-1-13.5 20.6 1 20.8 1s-.8-13.7-10.7-16.4c-5.4-1.9-7.7-7.6-5.6-11.8 4.3-8.7 12.5.6 18.7 1-.2-5.7-1.8-9.7-6.7-14.2-2.6-1.7-9-2.9-9.2-5.6-.1-3.6 6-5.2 14.5-4.2-1.8-5.1-7.5-8.4-15.3-10.8l-4.6-8.1c-2.2-4-3.2-4.2 1.9-11.8 4.5-3 10.6-7.2 15.2-10.1l-5-.6c.6-5.5.7-7.4 2-16.5-5 6.7-11 5.5-16.6 8.2 0 0-15.6 2.8-20.7 9.5l-39.4-2c-8.4 1.1-15.5 3.5-16.9 11.6-19.1 2-39.1.3-53.7 18.5 10-.4 18.6-2.8 29.8-1.4 0 0 9.5.2 11.4 10.3.2.4 3.3.4 3.3.4l3.6 2.8 1.4-3.8 3.2 2.2 1-4.2 3.2 2.2.2-5 4.2 3v-6.7s15.6 0 20.4 10c.2.1-43.7 8-86.1 4.3l12.2-6c-15.4-3.2-30-6-43.6-16.7 5.1 19.4 31.7 42.1 37.2 42l-5.2-9.4 46 2c1.7 5.1 1 10.8 5 15.3 0 0-2.5 8.4 3.2 11.8.2.4 6.7-17 6.7-17s2 4.7 4 7.8c3-15 19.4-17.5 19.4-17.5l3.4 8c-5.1.8-11.5 11.2-8 17-3.5 0-9.6 10.1-7.7 15.6-2.9 2.9-10 6.7-8.3 18.8-5.6 1.2-9 11.5-7.2 22.5-8.8 8.1-6.6 23 1.2 29.1-3.2 3-5.2 5.1-5.2 8.7-3.1-1.1-6-.2-7.3 1.8-3.8-3.9-9.2-7.2-13-3.6-1-4.6-7-9.6-13.5-9a12 12 0 0 0-9-13s-1.5-22.6-8.3-30c-.7-4 .4-6.8 6-10.2 5.7-3 6.9-5.3 6.4-13.9 2.3-5.7 4-11.5-3-15.4.2 6.8-1.8 10-4.6 13-3.3-.4-4.4 3.4-6.6 5-3.1-4.1 6.5-10.6-.6-19.9-.4-.4-5-12-16.3-11.8 5.3 3.1 7.6 8.4 7.6 13.9a41 41 0 0 0-1.8 29.3c-4.7-7-7.4-20.4-11.3-22.7-3.4-.7-5-8.7-18.3-6.4 5.7 1.5 7.6 5.9 9 9.8-3.4 1.8-1.7 6.6.9 9.9-.5 7.7 4.1 12.2 11 15L85.6 237c-2.7-.3-7 10.4-8.6 10.7-2.7 1.7-7.4 6.2-2 7.5-1.6 5.7-3.1 9.2-11.7 10.4 0 0 9 5.4 16.6-3.8 8-.2 5.4-9.8 9.3-14 0-.3 2.3-1.7 5.5-10.2 1.4 7.6 9.2 30.8 26.7 42.3 15.3 16.4 28 31.9 27.8 53.7a54 54 0 0 0 12.3-22.7 89 89 0 0 1 30.8-3.6c-1.8 3.9-3.9 7.6-1.3 10-7.4 2.6-9 8-6 13.3-7.8 5.3-8.3 8.7-8.4 17.5-14.5 18.5-23.4 17.9-37.7 13-4.6-2.7-12-6.6-15.3-4.5-6.1-4.2-15-4.8-16.5 4.6 4.7-3.9 7.4-3.1 11.1.6-.7 1.9-1.3 3.7 1.4 4.8l-3.6 4c-6.6-1-15.6-1-17.9 8.7 3.4-2.9 11-3.5 17-.8l3.5 1.2.4 4.6s-9-1.4-11.4 13.3c8.4-9 14.4-6.7 14.4-6.7 3.3 4.8 15.3 4.1 24-3.8 12.1-6.8 15.7 3 23.5-3.4 6.5-4.8 14.2-1.6 19.5 4 6.1 2.3 12.5 4.2 17.5 0 0 0 6.2-3.9 12.3 2.4 0-7-5-10.9-11.8-11l-2-2c-6.5-1.4-13.7-.8-19.4-4a58 58 0 0 1 14.1-27c9.3-10 16.2-14.6 28-29.9-.5 8.7 6.1 18.3 9.6 27 0 0 7-11.1 8-20.3.3 0 8.9-4.4 12.5-8.3 7.8 4.9 20.4-3.8 28.6-11 5 2 8.9 1.8 14.7 0-4.7 9.6 2.7 18.5 14.5 22.2 1 8.4 9.6 10.2 22.5 10.2.6 5 8.3 5.7 8.3 5.7-5 2.2-7.4 4.5-7.3 9.6-5 0-8.7 1.3-10 7-6.9.2-13.9.7-19.8 4-6.3-.9-14-3.5-18.9-8.6-2.5-2.1-3.2-5.2-7.6-6.4-2.8-3.3-6.2-2.6-7.3.6-2.9-2.3-13.8-3.3-15.7 7 5.2-3.7 9.7-5.1 13-.5-1.8 3.1 4.2 5 9.4 6.2 3.7.2 10.2 3.6 12.2 9.2a20 20 0 0 1-16.7-2.6 11 11 0 0 0-13-.8c-4.4-2.8-14.7 2.5-15.1 10.9 4.3-4 8.3-6 12.3-3.4-2 .4-1.3.6-1 1.8l10 5.8c-5 1.3-9.6 3.3-7.4 12.5 0 0 4-8 13-5 .2-.3 1.3 2.8 3.9.7 3.9-4.4 12.8-6.4 20.7-7.2 6.3-.7 12.6-2.6 18 1 5-2.5 10.4-4.2 16-.2 6.6 2 11.4 9.8 19.7 6.3 4.2-3 9.3-3 14.5 2.8 0-7.4-5.5-9.9-13.3-11.5l-5.4-3.2c-5-.8-10 .1-15.1-2.3a92 92 0 0 0 57.7-42.4l12.5 4.4c3 .2 3.2 1.2 9.3 3 .2-8.9-3.7-18.1-19.8-19l-21-8c-4.6-4.8-6.6-14.9-.9-20.8 5.6-5 6.6-4.4 10.3-10.5 4.5-.4 8.7 4.2 12.8 4.2 2 5.9 13.4 11 20.6 9.3 4.5 4 13 6.2 22.5 3a18 18 0 0 0 20.5 3c2.2 2.2 6.8 4 12 2.8.5 0 2.8 5.8 8.5 7.9-2.5 2.4-1 13 1.7 16.9a17 17 0 0 0-.9 12.7c-5.8 3.7-7 6.5-4.4 12.8-7.6 12.3-16.7 13.7-25.3 10l-9.3-6-9.8-9.6c-1.7-1.6-5.2-2-5.9 1.4 0 0-12.6-2.8-13.7 7.9 5.3-5.1 12.7-.6 12.7-.4s-1.8 1.4-.4 3.4c.3-.3 9.3 3.3 17.2 6.7 4.3 1.7 5.3 2.2 7.2 3.2l-7.2-3.2a33 33 0 0 0-11-2.9c-4.4-.4-9.2-1-11.4 2.4-4.8 2-12.4 3.7-12 12.7 3.2-5.4 7.7-5.1 13.4-4.6l-.4 1.2c6.2 2.8 5-.8 10.8-1.3a44 44 0 0 1 15.3 2.5c-4.5 1.3-10.7.7-13.6 4-.6 1-2.5.6-1.6 3.2 0 0-9-.2-11.3 12 9-5.7 15.9-5.5 16-5.5l2.9.6 11-7.3c.3 0 10.6-4.6 15.3.6 4.2 2 8.6 2.2 13-.4 8.4-3.7 16.3-4 24 1.2l7.1 4.2 3-2s8-2.2 13.8 4.9c-2.4-12.3-11.2-12.7-11.2-12.7l-2-1.8-12.4-4.9c-1.9-4.5-6.4-8-1.9-13.4 4.7-23.1 10.2-40.4 1.2-63.8 8.4 3.6 14.7 14.8 25.2 10.9 0-9.4-34.6-27.3-61-41.6C508 264 560 232.1 540 191.5l9.4-29.4c4.5 9 13.5 15.8 21.6 18.7-6.7-12.7-10.5-51.6-6.7-78.4a627 627 0 0 1-57.1 60c10 2.4 18.9.7 28.6-.5l-8.2 17c-26.6-15.7-57.8-4-58 16.8.9 24.2 30.8 27.7 48.1 19.2-3.4 22.1-54.2 14-54.2 14-18-6.2-35.1-5.2-54-5 3.9-12.1 25.7-22.9 42.4-18.1-23.3-26.2 3.3-58.7 35.4-68.6-35-11.6-4.9-38.3 21.3-57.4 0 0-75.3 31.7-82.2 31.6-21.4-1.6-15.6-27-7.4-40.6zm-236.4 30.4q2.8 0 5.5.6c3.4.9 7.5 1.3 7.5 2.4-1.6 2.6-5.5 5.7-9.3 5.6s-6-2.5-7.2-8.2q.8-.4 3.5-.4zm317 89.4c5 0 10.9 2 16.6 8.2-2.7 8-26.8 12-28.4.2-.5-3.6 4.6-8.3 11.8-8.4z"/> + <path fill="none" stroke-linejoin="round" d="m207.4 171.2 3.7 5.3m-.2.1s0 7.2 1.5 7.3m-3.3 3.9 3.8 6.3m-10.5 1.6c.2 0 4.7 5.2 4.7 5.2m3.9-4c0 .2 4.2 8.1 4.5 8.1m-10-2.6s1.4 9.6 2.7 9.3m-9 8.3 4.2 6.5m3.7-13.3s2.3 9.1 4.1 8.3m1.9-13.8c.1.2 4.3 6.1 5.4 5.3m-1 2.3 4 8m-10.6-1.8 3.3 9.4m-11-4.6s3 10.1 5.7 8.5m-6.8 5s.2 5.3 2.8 5.6m1.8-8.3c0 .2 2.7 3.8 2.7 3.8m5-10.1 2.1 3.5m4.9-10 3.3 4.1M206 176.7c.1 4.5 7.2-1.6 10-5.4m-13 21s7.7-5.5 13.7-13.8m-16.3 26.9c5.5-1.5 15.6-13.7 17.6-20.2m-18.7 32.3c1.5.7 20.3-13 20.8-22.9M198.8 228c0-.1 17.2-4.4 24.3-23.3M198 242.3s27.5-16.5 29-28.6M412.4 270s-1.8 14.2-16 16.4m20.5 9c.1-.2 13.6-15 10.1-19.5m21.1 5.2s-.2 10.3-8.6 17.4m25.4-14.4s.3 12.4-5 17.4m20.4-10s-6 11.7-8.1 12.9m7.9 7.8s7.8 2 10.3-3.2m-8.3 20.1s7.2 1.3 10.6-5.6m-11.4 18.7s5.9 5 9.9-1.6m-94-94.4s-.7 25.3 34.8 30.4c39.7 11 58.5 5.2 60.8 49.7-1.5 17-3.6 36-16 28.7m-117.4-85.5s5.7 10.1 12.5 9.4c9-2.6 12.3 2.9 12.3 2.9m-49-2.2s15 7.3 27.7-4.5m-26-6c1.3 17.5-20.1 27.5-28.6 25.8m29.6 41c.1 0 11.6-6.8 9.3-11.6m-32.1 1.5c.3-.4 19.3-2.2 22.8-9m-31.6-19s26.9.2 28.7 5.1m7-21s-26.2 44.9 22.2 44.9m-50-45.5s-5.6 16.7-13.6 22.4m-14.2-28.2s9.7 18.8 0 28.1M261 280.8c.1.3 3.1 26.7-3.5 34.2m-9.2-33.4s1 16.8-4 22.8 1.2 18.4 1.2 18.4m-60.5 8s3.6 6.3 8.5 4.1m-2.5-17.8s8 3.5 10.7 2.2m-2-30.4s-11.8 3.3-7.3 17.3c6.8 5.5 13.4 4.6 13.4 4.6m-29.4 37.4c-.1 0 1.4 11 9 2.7 5.3-11.2 22-42.6 25.9-53.4m7.8-5.1s-8.1-6.3-7.8 2.5c-.2 5.5 2.5 6.8 2.5 6.8.3 4 3.8 9.6 6.6 4.5 1.2-5-.8-7.2-.8-7.2m4.7-9c-7.3-.4-11.3 15.7 2.8 5.6m4.8-11s-1.8 2.5-4.7-.2c-1.5-2.6-6.8 12 2.5 12.5 1.7-4.3 6.8-5.5 6.8-5.5m4.4-13.8s-4.2 2-5.7 1.7c-5 1.1-4 12.8 2.3 12.1 2.2-2.5 4.5-6 4.5-6m-40.3-23c-.2 0-16.5 25.7 9.1 32.5m198-71s-10 8.4-.7 22c-31-.5-47.5 13.8-48.8 23.4-39.4-2.8-32.2 8.8-45 12.6-17.1-14.3-42.2-6.3-40.6 8-11.4-16.1-29-8.3-31.2-4.3s-1.3-19.8-1.3-19.8-11.5 5.2-19.4 14.6v-19.9c-9.6 2-18.9 2-28.8 1.8m-25.9-7.3s14.3 8 32-2.8M166 226.3s11 10 32 6.8m-25-29.7s2.4 8.1 26.3 8.6M181 184.6s9 11 21.2 9.3m-13.5-25s3.5 6 16.8 7m-9-24.5s7 7.6 15 6.3M238 89.3s3.1-3 8.3-1.5m-10.5 17.8s-9.6-.3-9-4c.8-4.4 10.2-7.5 10.2-7.5s12.5-8 14.4-10.8m-56.6 44 12.2 23.3 5.8-8.8 3 6 5-8.7 8.6 5.5-3.2-10.7 7.2-.5s-2-5.1-8.4-6.2c1.7-1.3 7.7-5.3 7.7-5.3s-3.4-4-8.8-4.1c1.8-1.9 4.2-6.5 4-6.5l-5.3-1.2s12.2 4 21.6-1.6M221 89.7c.1.1-.7 4.8-3.3 7.5m-43.7 5.3s7.5-2 13.1-.9 13.1 3.2 13.1 3.2 9-1.2 11.9-3.3m-56.8 6s-1 3.6-1.4 6c0 1.7-5.5 4-5.5 4m10.3-17.4s4.8 6 5 9.5c.1 3.4-3.6 6-3.6 6M109 141l-5-8 4.5-1.6m90.5 121c-4-5.2 3-84.2 17.7-104.8-5.1 37.2 12 75.2 16.3 75m-79-97s6.8 2.5 20.7-8.6m18.9 26.8 10 .1m300.3-62s-166.7 77.8-169.1 82c28.1-8.6 147.5-28.5 150.4-26.8-7 1.7-151.9 35-158.7 43 36.2-1.2 111.9 11.6 123.8 24C424.5 198.3 347.6 187 324 192c17.2 4.1 83.2 46.8 83.2 53.6-10-9.5-89.3-42.2-92.4-39 18.2 10.9 43.9 51.4 43.9 61.3-5.3-8.4-51.2-57.7-53.9-54.5 4.9 6.7 14.5 64.9 9.6 67.6 0-7-17.8-58-19.3-59.4-3.6 1-26.3 62-21.8 67.8-3-20.4.5-63 6-61.3-10 1.5-41.7 43.4-38.3 50 1-10.5 2.4-17.4 20.4-52.1-20 1.2-61.2 27.1-68.2 36.4 5.6-16.5 40.5-44.4 55.8-46.4m72-60.7c17.6-9.8 72-29.7 108.4-44.4m-142.6 97s12-.2 24-32.8c11.8-44.6 105.7-94.3 107.6-103.6M128 252.8s-2.8 6-6.2 7.6m19.7 1.4s-3.7 7.2-4.6 10.6m17.5-7s3 9.8.5 14.4m-36.4-40.1c-9.4 5.3 5.4 39 50.1 42.2m-7.2-18.2s-1.2 6 7.2 18c-2.4 13.4 10.2 23.9 15.2 25.6m-26-164.2 1.4-3.6 1.5 4 2.5-.1 1.6-4 1.4 4h2.4l1.5-4.4 2.3 4.2h2l1.5-5 3 3.6 1.2-.4 1-5.2 3.1 3.6 1-.5 1.4-5 2.5 3.7 1.3-.4 1.2-4.3 2.4 4m-39 6.2 18.8-.3c6 0 15.8-8.3 26.7-5.7m-84.9 46s3.1 6.8 7.4 3m-14.6 1.5s-6 16.2 1.2 20m-9.8-37.8s0 3.8 8-2m-32.5 86.7s6.3 2 5.3 6.7m-3-80.8s4 1.9 7.8-4m34.2 189.7c6.1-.4 7.5 2.4 13 2.4 6.6.2 12.9-2.4 21-4.7m53.1 15c-.2 0-3 5.8-.5 8.7m-87.5-8.2s9.8-8 15-3.1c4.9 1.7 7.6 1.4 7.6 1.4m-17.5-21.3s2.4 6.2-5.6 5.3m-2.4 9s5.1 3.2-.7 7.5m3.8 5.8s7 1 2.9 6.7M346 341.6s19 2 20 3.4c2.2-2.3 19.2-16.2-1.7-18.1a19 19 0 0 1-18.3 14.7zm-6.8 9.5c7.1 5.7 4.2 9.1 26.6-5.9m-36.8 13s10.5 11.4 18.2-2.4m-38.3 6.5-14.3 7.5M269 380.3s8.7-7.4 12.7-3.5 21.3-3.4 21.3-3.4M275.5 348s3 6-2.8 6.7m-8.5 11.9s3 5.6-2.8 7m9.5 8.1s9 .5 5.8 7.3m78.4-8.5s-5 4.2-1.3 9m73-39s5.7 2.8-1.1 7.5m-5.7 9.9s4.3 4.5 1.4 8.2m10.6 9s5.9 1.7 5.2 6.6m77.8-11s-5 3.7-2.3 8.4M427 236.3c11.8-1.4 28.8 25 37.5 30.1m51.9-67.4s6 5.3.7 18m10.4-38.2c1.7 1.3 8.1 4.8 12.4 12.8m4.1-52.2-8.3 22.5m17.6-23.6s-1.6 20-4 24M516 198.8c-2.7 8-26.8 12-28.4.2-.9-6 14.2-15.3 28.4-.2z"/> + <path stroke-linejoin="round" d="m182.3 101.3 9.3 1.7s-6.5 8.8-9.3-1.7z"/> + </g> +</svg> diff --git a/apps/web/public/flags/gb.svg b/apps/web/public/flags/gb.svg new file mode 100644 index 00000000..79913831 --- /dev/null +++ b/apps/web/public/flags/gb.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gb" viewBox="0 0 640 480"> + <path fill="#012169" d="M0 0h640v480H0z"/> + <path fill="#FFF" d="m75 0 244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0z"/> + <path fill="#C8102E" d="m424 281 216 159v40L369 281zm-184 20 6 35L54 480H0zM640 0v3L391 191l2-44L590 0zM0 0l239 176h-60L0 42z"/> + <path fill="#FFF" d="M241 0v480h160V0zM0 160v160h640V160z"/> + <path fill="#C8102E" d="M0 193v96h640v-96zM273 0v480h96V0z"/> +</svg> diff --git a/apps/web/public/flags/gd.svg b/apps/web/public/flags/gd.svg new file mode 100644 index 00000000..b3d250db --- /dev/null +++ b/apps/web/public/flags/gd.svg @@ -0,0 +1,27 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-gd" viewBox="0 0 640 480"> + <defs> + <g id="gd-c"> + <g id="gd-b"> + <path id="gd-a" fill="#fcd116" d="M0-1v1h.5" transform="rotate(18 0 -1)"/> + <use xlink:href="#gd-a" transform="scale(-1 1)"/> + </g> + <use xlink:href="#gd-b" transform="rotate(72)"/> + <use xlink:href="#gd-b" transform="rotate(144)"/> + <use xlink:href="#gd-b" transform="rotate(216)"/> + <use xlink:href="#gd-b" transform="rotate(288)"/> + </g> + </defs> + <path fill="#ce1126" d="M0 0h640v480H0z"/> + <path fill="#007a5e" d="M67.2 67.2h505.6v345.6H67.2z"/> + <path fill="#fcd116" d="M67.2 67.3h505.6L67.2 412.9h505.6z"/> + <circle cx="319.9" cy="240.1" r="57.6" fill="#ce1126"/> + <use xlink:href="#gd-c" width="100%" height="100%" transform="translate(320 240)scale(52.8)"/> + <use xlink:href="#gd-d" width="100%" height="100%" x="-100" transform="translate(-30.3)"/> + <use xlink:href="#gd-c" id="gd-d" width="100%" height="100%" transform="translate(320 33.6)scale(31.2)"/> + <use xlink:href="#gd-d" width="100%" height="100%" x="100" transform="translate(30.3)"/> + <path fill="#ce1126" d="M102.3 240.7a80 80 0 0 0 33.5 33.2 111 111 0 0 0-11.3-45z"/> + <path fill="#fcd116" d="M90.1 194.7c10.4 21.7-27.1 73.7 35.5 85.9a63 63 0 0 1-10.9-41.9 70 70 0 0 1 32.5 30.8c16.4-59.5-42-55.8-57.1-74.8"/> + <use xlink:href="#gd-d" width="100%" height="100%" x="-100" transform="translate(-30.3 414.6)"/> + <use xlink:href="#gd-c" width="100%" height="100%" transform="translate(320 448.2)scale(31.2)"/> + <use xlink:href="#gd-d" width="100%" height="100%" x="100" transform="translate(30.3 414.6)"/> +</svg> diff --git a/apps/web/public/flags/ge.svg b/apps/web/public/flags/ge.svg new file mode 100644 index 00000000..ab08a9ab --- /dev/null +++ b/apps/web/public/flags/ge.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ge" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="red" d="M272 0h96v480h-96z"/> + <path fill="red" d="M0 192h640v96H0z"/> + <path fill="red" fill-rule="evenodd" d="M146.8 373.1c1-16.8 4-31.1 4-31.1s-9.8 1-14.8 1-14.8-1-14.8-1 3 14.3 4 31.2c-16.9-1-31.2-4-31.2-4s1 7.4 1 14.8-1 14.8-1 14.8 14.3-3 31.2-4c-1 16.9-4 31.2-4 31.2s7.4-1 14.8-1 14.8 1 14.8 1-3-14.3-4-31.2c16.9 1 31.2 4 31.2 4s-1-9.8-1-14.8 1-14.8 1-14.8-14.3 3-31.1 4zm368-288c1-16.8 4-31.1 4-31.1s-9.8 1-14.8 1-14.8-1-14.8-1 3 14.3 4 31.1c-16.9-1-31.2-3.9-31.2-3.9s1 7.4 1 14.8-1 14.8-1 14.8 14.3-3 31.2-4c-1 16.9-4 31.2-4 31.2s7.4-1 14.8-1 14.8 1 14.8 1-3-14.3-4-31.1c16.9 1 31.2 4 31.2 4s-1-10-1-14.9 1-14.8 1-14.8-14.3 3-31.2 4zm-368 0c1-16.8 4-31.1 4-31.1s-9.8 1-14.8 1-14.8-1-14.8-1 3 14.3 4 31.2c-16.9-1-31.2-4-31.2-4s1 7.4 1 14.8-1 14.8-1 14.8 14.3-3 31.2-4c-1 16.9-4 31.2-4 31.2s7.4-1 14.8-1 14.8 1 14.8 1-3-14.3-4-31.2c16.9 1 31.2 4 31.2 4s-1-9.8-1-14.8 1-14.8 1-14.8-14.3 3-31.1 4zm368 288c1-16.8 4-31.1 4-31.1s-9.8 1-14.8 1-14.8-1-14.8-1 3 14.3 4 31.2c-16.9-1-31.2-4-31.2-4s1 7.4 1 14.8-1 14.8-1 14.8 14.3-3 31.2-4c-1 16.9-4 31.2-4 31.2s7.4-1 14.8-1 14.8 1 14.8 1-3-14.3-4-31.2c16.9 1 31.2 4 31.2 4s-1-9.8-1-14.8 1-14.8 1-14.8-14.3 3-31.2 4z"/> +</svg> diff --git a/apps/web/public/flags/gf.svg b/apps/web/public/flags/gf.svg new file mode 100644 index 00000000..f8fe94c6 --- /dev/null +++ b/apps/web/public/flags/gf.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gf" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#000091" d="M0 0h213.3v480H0z"/> + <path fill="#e1000f" d="M426.7 0H640v480H426.7z"/> +</svg> diff --git a/apps/web/public/flags/gg.svg b/apps/web/public/flags/gg.svg new file mode 100644 index 00000000..f8216c8b --- /dev/null +++ b/apps/web/public/flags/gg.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-gg" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#e8112d" d="M256 0h128v480H256z"/> + <path fill="#e8112d" d="M0 176h640v128H0z"/> + <path id="gg-a" fill="#f9dd16" d="m110 286.7 23.3-23.4h210v-46.6h-210L110 193.3z"/> + <use xlink:href="#gg-a" width="36" height="24" transform="rotate(90 320 240)"/> + <use xlink:href="#gg-a" width="36" height="24" transform="rotate(-90 320 240)"/> + <use xlink:href="#gg-a" width="36" height="24" transform="rotate(180 320 240)"/> +</svg> diff --git a/apps/web/public/flags/gh.svg b/apps/web/public/flags/gh.svg new file mode 100644 index 00000000..5c3e3e69 --- /dev/null +++ b/apps/web/public/flags/gh.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gh" viewBox="0 0 640 480"> + <path fill="#006b3f" d="M0 0h640v480H0z"/> + <path fill="#fcd116" d="M0 0h640v320H0z"/> + <path fill="#ce1126" d="M0 0h640v160H0z"/> + <path fill="#000001" d="m320 160 52 160-136.1-98.9H404L268 320z"/> +</svg> diff --git a/apps/web/public/flags/gi.svg b/apps/web/public/flags/gi.svg new file mode 100644 index 00000000..a5d7570d --- /dev/null +++ b/apps/web/public/flags/gi.svg @@ -0,0 +1,32 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-gi" viewBox="0 0 640 480"> + <path fill="#da000c" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 0h640v321.6H0z"/> + <g stroke="#000" transform="translate(-160)scale(1.875)"> + <g id="gi-a" fill="#da000c" stroke-linecap="square"> + <path fill="#000001" stroke="none" d="M196.6 116.3h64v44h-64z"/> + <path d="M229.8 153.9h-39l-8.7 5.7v6h47.7m-16.3-37c5.6 0 10.2 4.7 10.2 10.5v14.7h7.3v-56h-40.3v56h12.6v-14.7c0-5.6 4.5-10.5 10.2-10.5z"/> + <path fill="#000001" stroke="none" d="M204.5 60h18.6v34h-18.6z"/> + <path d="M223 88.7h-16.2v-5.8h-11.9v5.8h-8v-5.8H182v10.4h41m-36.2 0h35v4.5h-35zm14-45.7V83h6v-9.7c0-3.6 2.5-6.6 6.1-6.8h.4a7 7 0 0 1 6.8 6.8V83h5.7V47.6zm-2.3-4.8v4.8h29.3v-4.8zm-3.7-9.1v9.1h35v-9.1h-5.3v4.7h-6.6v-4.7h-10v4.7h-6.5v-4.7zM182 159.6h48m31-2.8h-32.4l-9.8 4.7v7H261"/> + <path stroke-linecap="butt" d="M218.8 161.5H262"/> + </g> + <use xlink:href="#gi-a" width="100%" height="100%" transform="matrix(-1 0 0 1 512 0)"/> + <g fill="#f8d80e"> + <g stroke-linecap="round"> + <path stroke-width=".8" d="M273.3 150q-3.9 1.6-7.5 3.8a72 72 0 0 0-8.9 6q-1.6 1-2.7 2.4c-1 .8-2 2-1.8 3.5 0 .6.8-.8 1.4-.9a4 4 0 0 1 3.1-.4q2.1-2 4.4-3.4a77 77 0 0 1 13-7.6z"/> + <path d="M260.4 157.4v3.9m2.4-5.6v3.9m2.4-5.4v3.8m2.5-5.3v4"/> + <path stroke-width=".8" d="m238.9 150.2-1.2 3.3a87 87 0 0 1 15.8 8q2.7 1.6 4.8 3.9c.3.8-.5 1.5-1.3 1.2-.7-.2-1.5-.5-2.2 0-1.1.5-2.1 2.2-.5 2.7 2.4 1.6 6.1.9 7.2-1.8.6-1.4.7-3.2-.5-4.4-2-2.3-4.8-4-7.4-5.7a89 89 0 0 0-14.7-7.2z"/> + <path d="m254 158-.3 3.4m3.1-1.7-.8 3.3m3.8-1-1.8 2.6m2.7 3.6-2.6-1.4m3.4-1.4-3 .3m-.8 4-.2-2.6m-1-.3-2.4 1.8m-9.4-15.7v3.1m6.3.3v3.5m-3.2-5.2v3.3"/> + </g> + <path d="M235.8 227.6v8h5v-4h6.9v4h5.4v-8zm0 11v8H253v-8h-5.4v4h-6.9v-4z"/> + <path d="M253 193.7h5v58h-5z"/> + <path d="M253 198.7h5v50h-5zm2.6-19.3 10.6 6.2-10.6 6.2-10.7-6.2zm-14.3 4h-2.7v4.4h2.7l14.3 8.3 14.2-8.3h2.8v-4.4h-2.8l-14.2-8.3z"/> + <path d="M255.3 164.3a5 5 0 0 0-4 5.1v11.2a5 5 0 0 0 4.6 4.6 5 5 0 0 0 4.8-2.8l-1.7-1a3 3 0 0 1-3 1.8c-1.6 0-2.9-1.6-2.7-3.1v-11.2a3 3 0 0 1 3-2.6c.6-.2 1.5.7 1.9 0 .6-.9-.4-1.5-1-2zm5.8 3.9a5 5 0 0 1-1.9 1.6v7.5l2 1.1v-10.2z"/> + </g> + <g fill="#da000c"> + <path fill="#000001" stroke="none" d="M240.8 38.4h29.3v53.2h-29.3z"/> + <path d="M238.8 38.4v44.5h9.3V69.7c0-3 2-7.3 7.9-7.3s8 4.3 8 7.3V83h9.2V38.4zm15.8 5h2.8v15.2h-2.8zm-8.3 3h3v11.1h-3zm16.5 0h2.9v11.1h-3zM235.6 32v6.3h40.8V32zm-3.8-7.4V32h48.5v-7.4h-6.1v4h-7v-4h-7.8v4h-6.8v-4h-7.9v4H238v-4zm-9 73.2v4.6h66.5v-4.6z"/> + <path d="M220 82.9v15h72v-15h-6.8v5.8H276v-5.8h-12.2v5.8H248v-5.8h-12.2v5.8h-9v-5.8z"/> + <path stroke-linejoin="round" d="M228.7 102.4v54.4h12.8v-20.4c0-9.5 6.4-14 14.5-14 7.8 0 14.5 4.5 14.5 14v20.4h12.8v-54.4z"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/gl.svg b/apps/web/public/flags/gl.svg new file mode 100644 index 00000000..eb5a52e9 --- /dev/null +++ b/apps/web/public/flags/gl.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gl" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#d00c33" d="M0 240h640v240H0zm80 0a160 160 0 1 0 320 0 160 160 0 0 0-320 0"/> +</svg> diff --git a/apps/web/public/flags/gm.svg b/apps/web/public/flags/gm.svg new file mode 100644 index 00000000..8fe9d669 --- /dev/null +++ b/apps/web/public/flags/gm.svg @@ -0,0 +1,14 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gm" viewBox="0 0 640 480"> + <defs> + <clipPath id="gm-a"> + <path fill-opacity=".7" d="M0-48h640v480H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#gm-a)" transform="translate(0 48)"> + <path fill="red" d="M0-128h640V85.3H0z"/> + <path fill="#fff" d="M0 85.3h640V121H0z"/> + <path fill="#009" d="M0 120.9h640V263H0z"/> + <path fill="#fff" d="M0 263.1h640v35.6H0z"/> + <path fill="#090" d="M0 298.7h640V512H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/gn.svg b/apps/web/public/flags/gn.svg new file mode 100644 index 00000000..40d6ad4f --- /dev/null +++ b/apps/web/public/flags/gn.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gn" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="red" d="M0 0h213.3v480H0z"/> + <path fill="#ff0" d="M213.3 0h213.4v480H213.3z"/> + <path fill="#090" d="M426.7 0H640v480H426.7z"/> + </g> +</svg> diff --git a/apps/web/public/flags/gp.svg b/apps/web/public/flags/gp.svg new file mode 100644 index 00000000..ee55c4bc --- /dev/null +++ b/apps/web/public/flags/gp.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gp" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#000091" d="M0 0h213.3v480H0z"/> + <path fill="#e1000f" d="M426.7 0H640v480H426.7z"/> +</svg> diff --git a/apps/web/public/flags/gq.svg b/apps/web/public/flags/gq.svg new file mode 100644 index 00000000..64c8eb22 --- /dev/null +++ b/apps/web/public/flags/gq.svg @@ -0,0 +1,23 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gq" viewBox="0 0 640 480"> + <path fill="#e32118" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 0h640v320H0z"/> + <path fill="#3e9a00" d="M0 0h640v160H0z"/> + <path fill="#0073ce" d="M0 0v480l180-240z"/> + <g stroke="#000"> + <path fill="#fff" d="M281.6 191.8h76.6V272c0 27-35.2 6.2-38.2 20.6-5.2-14.8-38.2 6.6-38.2-22.2z"/> + <path fill="#73452b" stroke-width=".2" d="M325.4 279.8s-1 1-2.8.2-2-51.4-2-51.4c4-4.4 7.2-5.8 7.2-5.8l2.4 2c-9 4.6-8.2 11.2-7.4 22.6.2 4.2.2 9.6 1.2 14.8 1.4 6.6 4.2 12.2 4.4 16.4.2 2.6-3 1.2-3 1.2z"/> + <path fill="#73452b" stroke-width=".2" d="M319.2 221.6h3.6c-3 29-.4 46.2-.4 54.6 0 2.8 1.6 3.8 1.4 3.8-3.6 4-5.4-.2-5.4-.2z"/> + <path fill="#a36629" stroke-width=".2" d="M313.6 279.8c-3.4 1.6-3.8-1.6-3.6-2 7.4-15 10.6-48 3.8-51.6l.4-3.2c2.6.8 5 4.2 5 4.2 1 37 0 52.2-.6 52.8-3.6 3.8-5-.6-5.2-1"/> + <path fill="none" stroke-width=".2" d="M313.4 279.2c-.6-3.2 5.2-11.4 4.8-20m5 7q2.8 7.4 2.2 13.6"/> + <path fill="#009a3b" stroke-width=".2" d="M331 208c1.2-1.4 1.2-1.4 3.4-1.4.4-3 5.4-3 5.8.8 4-.8 4.8 1.6 3.2 4 3.8-1 7.2 0 6.2 4.4 6.8 1.8 4.2 6.6 1.2 7.6-.4 3-3.2 4-7 2.8-4.8 3.4-7.6 2.2-9.8-1.2-5.4.8-5.8-.4-8.2-3.4-4.2 1.8-5 1.8-8.6-.4-.2 2.8-1.2 2-3 1.8q.4 5.6-4.4 4c2.4 5-3.8 7.2-6.8 3-2.8.2-3-.6-4.4-1.6-1.2 4-5.6 3.4-6.4 1.2-5.6-.8-5-3.8-.4-4 .4-3.2 3.2-2.6 5-2.2.2-2 1.4-1.6 2.4-1.2q-1-2 1.6-2.6c-2.6-3.4-1-4.6 1.6-5.8-1.4-3.2 1-3 2.8-3.2-.2-3.4.8-4 4.4-4.4-.4-1.2.2-2.2 2.2-2.2-1.2-3.4.4-4.2 4-3.6.6-5 11.2-2.6 10.4 4.2 3 .4 4 1 4.8 3.4z"/> + <path fill="none" stroke-width=".2" d="M309.6 206.2c.8.4 1.8 0 2 2.2 1.6-2.8 3.6-1.2 3.6 2m11-5.8c-.8 1.2-3.8 1.2-3.4 4.4-1-1.4-3-1.8-3.8-.4m12-.6c0 .8-.2 3.2-1 4.4m13.4-1c.2.2-2.8 0-4.2 1m11.6 11c-.8-.4-2.4-1.4-3.6.2 0-.8 0-3-2.2-3m-1.2 5.6c0-2-.4-2.6-.8-3.2m-5.8.4c-1.6-1.2-3.2.6-3.2 1.6m-8.4-3.4c0-.8-.6-2.4.8-3M302.8 230c.4-2 1.8-2 1.6-3-.2-1.6-2-3-4.2-.8m4.2.8q2-.5 2.8.4m-6.2-7.8c.8-.8 2.8-.6 4 0m0-4.8c1 0 2.8-.4 3.4 1.4 2.2-3.4 3.8-3 4.2-2.2m4-.4c1.6-.6 4.4 1 6 3.8.8-2.2 2-1.8 3.2-2m7.6 2c2.6-1.2 4.2 1.2 5 2.2 1.2-1.6 2.2-1.6 3.4-1.6m-32.6 4.2c.6-1 2-1.2 3-.6-.2-1.8 1-2.6 1.8-2.2"/> + <path fill="gold" stroke-width=".7" d="m317.4 180.5-4.4.2-2.2 4-2.4-3.8-4.4.2 2-4-2.4-3.7 4.6-.2 2-4 2.4 3.8 4.4-.2-2 4zm-18.8 1.5-4.4 1-1.2 4.3-3.2-3.2-4.2 1 1.2-4.2-3-3.2 4.2-1.1 1.2-4.3 3.2 3.2 4.4-1-1.4 4.3zm-18.2 3.7-4 2-.2 4.4-3.8-2.4-4 2 .4-4.5-3.8-2.4 4-2 .4-4.5 3.6 2.5 4-2-.2 4.4zm42.8-5.2 4.4.2 2 4 2.4-3.8 4.4.2-2-4 2.4-3.7-4.4-.2-2.2-4-2.4 3.8-4.4-.2 2 4zM342 182l4.2 1 1.2 4.3 3.2-3.2 4.2 1-1.2-4.2 3.2-3.2-4.4-1.1-1.2-4.3-3.2 3.2-4.2-1 1.2 4.3zm18 3.7 4 2 .2 4.4 3.8-2.4 4 2-.2-4.5 3.6-2.4-4-2-.2-4.5-3.8 2.5-4-2 .4 4.4z"/> + <g fill="#fff" stroke-width=".7"> + <path d="m365.4 270.4 5 7.2 4.6-6.8-3.2-5.8zm-31.8 21 .4 7.2s2 0 3.8-.6c1.6-.6 3-1.8 3-1.8l-.2-3.8zm-26.8 0-.4 7s-1.8 0-3.6-.4c-1.6-.4-3-1.4-3-1.4l-2-4.8zm-32.2-21-5.2 7.2-5.6-9.2 4.2-4.4z"/> + <path d="M299.6 305.8c0 6.8 41.2 6.8 41.2 0v-9.6c0 5-41.2 4-41.2 0z"/> + <path d="M262.8 283.6c3.6 18.4 36.8 18.8 36.8 18.8v-6.2c-.8-2.4.6-3.2 6-4 2.2-.2 1.2-3.4 1.2-3.4s-14.4 2.6-24.6-1.4c-13.8-5.6-15.8-16.4-15.8-16.4s-1 8.4-3.6 12.6zm114.6 0c-3.4 18.4-36.6 18.8-36.6 18.8v-6.2c.6-2.4-.8-3.2-6.2-4-2.2-.2-1-3.4-1-3.4s14.4 2.6 24.6-1.4c13.6-5.6 15.2-16.4 15.2-16.4s1.4 8.4 4 12.6z"/> + <path d="M265.4 276.6c-9.2-5-2-10.2-1.2-25 1.4 9 11.6 12.8 10.4 18.6-4.2.2-6.2-6.2-8.2.8zm109.4 0c9.2-5.2 1.6-10.2.8-25-1.4 9-11.4 12.8-10.2 18.6 4 .2 6-6.2 8 .8l1.4 5.4z"/> + </g> + <path stroke="none" d="m271 283.4 1 .8-2.2 2.4q-1.4 1.4-.5 2.2 1 1 2-.4l2.5-2.6.8.8-2.4 2.8c-1.3 1.5-2.5 1.2-3.6.2-.8-.8-1.4-2 0-3.5zm4 3.4 1 .6-.2 4.8 2.2-3.4 1 .6-3.2 5.2-1.2-.6.2-4.8-2.2 3.4-1-.6zm1.8 8.4 2.8-5.6 1 .6-2.6 5.4zm4.4-4.8-2.2 5.8 2.2.8q2.8.9 3.6-1.9 1.2-2.6-1.6-3.9zm.8 1.4c2 .7 2.2 1.5 1.6 3-.6 1.3-1 1.8-3 .8zm5.8.8-3.6 5.4 1.4.4.8-1.4 2.4.6.2 1.4 1.4.2-1.4-6.4zm.4 1.4.4 2.4-1.6-.2zm3-.9-.2 6.2h2.3c2.2.1 2.8-1 2.9-3 0-1.8-.7-3-2.9-3zm1.2 1c2.2.1 2.5.8 2.5 2.3-.1 1.5-.4 2.1-2.6 1.8v-4zm19.8 7.7v6.4h1.4v-2.4s1.2 0 2.2-.2q1.2-.2 1.3-2 0-1.8-1.9-1.8zm1.4 1h1.4c1.1 0 1 1.8 0 1.8h-1.4zm5.8-1-2.6 6.4h1.4l.6-1.6h2.6l.6 1.6h1.4l-2.6-6.4zm.6 1.4 1 2.4h-1.8zm3.4 3.8 3.4-4.2h-3v-1h4.8v1L325 307h3.6v1.2h-5.2zm20.2-12.4 1.2-.2.6 3.6q.2 2-1.3 2.5c-1 .4-2.4 0-2.5-1.7l1-.2q.4 1.3 1 1 .8-.4.6-1.4zm2-.4 1.1-.2.6 3q.2 1.9 1.5 1.7t.9-2l-.7-3.1 1.2-.2.8 3.3c.4 2-.6 2.7-2 3-1.1.2-2.4 0-2.8-2zm6.2 2.8 1-.4c.5.9 1.2.8 1.8.6q1.2-.8.5-1.4c-.6-.3-2 .2-2.7 0q-1.4-.6-1.2-1.7.2-1.4 1.7-1.7 1.6-.6 2.7 1l-1.2.4q-.7-.9-1.4-.4c-.4.2-1 .5-.6 1 .2.5 1.7.2 2.5.2s1.4.6 1.5 1.3q.4 1.6-1.5 2.2c-1.5.6-2.9 0-3.1-1.1m5.4-5-1.6.8-.4-1 4.4-1.8.4.8-1.6.8 1.8 4.4-1 .6zm2.6-2.2 1-.6 2.8 5.2-1 .6zm6.8.4 1.2-.4a2.4 2.4 0 0 1-2.4 3.3c-3 0-3.4-3.4-2.9-4.5.8-1.9 3-1.8 4-.8l-1 .8c-.6-.8-2-.3-2 .4a3 3 0 0 0 1.4 3c1 .4 2.4-.8 1.7-1.8m-.6-4.2 1-.8 3.6 4.8-1 .8zm3.8-3-1 .8 2.2 6 1-1-.6-1.2 1.8-1.6 1.2.6 1-.8zm.4 1.4 2 1-1.2 1.2z"/> + </g> +</svg> diff --git a/apps/web/public/flags/gr.svg b/apps/web/public/flags/gr.svg new file mode 100644 index 00000000..599741ee --- /dev/null +++ b/apps/web/public/flags/gr.svg @@ -0,0 +1,16 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gr" viewBox="0 0 640 480"> + <path fill="#0d5eaf" fill-rule="evenodd" d="M0 0h640v53.3H0z"/> + <path fill="#fff" fill-rule="evenodd" d="M0 53.3h640v53.4H0z"/> + <path fill="#0d5eaf" fill-rule="evenodd" d="M0 106.7h640V160H0z"/> + <path fill="#fff" fill-rule="evenodd" d="M0 160h640v53.3H0z"/> + <path fill="#0d5eaf" d="M0 0h266.7v266.7H0z"/> + <path fill="#0d5eaf" fill-rule="evenodd" d="M0 213.3h640v53.4H0z"/> + <path fill="#fff" fill-rule="evenodd" d="M0 266.7h640V320H0z"/> + <path fill="#0d5eaf" fill-rule="evenodd" d="M0 320h640v53.3H0z"/> + <path fill="#fff" fill-rule="evenodd" d="M0 373.3h640v53.4H0z"/> + <g fill="#fff" fill-rule="evenodd" stroke-width="1.3"> + <path d="M106.7 0H160v266.7h-53.3z"/> + <path d="M0 106.7h266.7V160H0z"/> + </g> + <path fill="#0d5eaf" d="M0 426.7h640V480H0z"/> +</svg> diff --git a/apps/web/public/flags/gs.svg b/apps/web/public/flags/gs.svg new file mode 100644 index 00000000..29db9b94 --- /dev/null +++ b/apps/web/public/flags/gs.svg @@ -0,0 +1,133 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-gs" viewBox="0 0 640 480"> + <defs> + <linearGradient id="gs-b"> + <stop offset="0" stop-color="#d5dfff"/> + <stop offset="1" stop-color="#fff"/> + </linearGradient> + <linearGradient id="gs-a"> + <stop offset="0" stop-color="#474747"/> + <stop offset="1" stop-color="#f50"/> + </linearGradient> + <linearGradient xlink:href="#gs-a" id="gs-c" x1="109.3" x2="110.9" y1="218.5" y2="173.4" gradientTransform="matrix(1.178 0 0 .50849 388 38.3)" gradientUnits="userSpaceOnUse"/> + <linearGradient id="gs-d" x1="125.9" x2="126" y1="316.4" y2="337.2" gradientTransform="matrix(.96067 0 0 .6235 388 38.3)" gradientUnits="userSpaceOnUse"> + <stop offset="0" stop-color="#b50000"/> + <stop offset="1" stop-color="#ffc500"/> + </linearGradient> + <linearGradient xlink:href="#gs-b" id="gs-e" x1="407.9" x2="456.4" y1="149.4" y2="147.4" gradientTransform="matrix(.4361 0 0 1.37349 388 38.3)" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#gs-a" id="gs-f" x1="215.8" x2="229" y1="103" y2="103" gradientTransform="matrix(.57794 0 0 1.03641 388 38.3)" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#gs-b" id="gs-g" x1="117.6" x2="78.2" y1="1040.4" y2="1003.7" gradientTransform="matrix(1.9991 0 0 .29962 388 38.3)" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#gs-b" id="gs-h" x1="264.7" x2="255" y1="246" y2="226.4" gradientTransform="matrix(.69142 0 0 .86628 388 38.3)" gradientUnits="userSpaceOnUse"/> + </defs> + <path fill="#006" d="M0 0h640v480H0z"/> + <path fill="#6a4c2d" stroke="#000" d="M471 345s-2.6 6.8-4 6.8c-1.6 0-7-3-7-3s-3.9 6.4-6 6.7c-2 .4-7.4-.9-7.4-.9s-5.2 0-5.4-.7c-.2-.8.2-2.3.2-2.3s-7.5 6-9.1 5.6c-1.7-.3-7.3-7.4-7.3-7.4l-1 3.7-10.6-.4-9.3-6s-5.2 8.6-5.4 8.4-9.1 2.1-9.1 2.1l-.6-1.7-6-3.5s4.7-6.5 4.7-6.7-2.2-1-2.2-1l-3.4 2.8-6.9 4.5-6.9-3.2 3-5.6.4-4 5.4-8.3 66.2-64.3 32.6 60.2z"/> + <path fill="#fff" stroke="#000" d="m518 348.8 17.3-.6-7.4-3.6 65.7-2.5-9.3-3.5-8.2-11.2-34-2.5s-2.6-2-6.7-1c-.2-2.6-3.4-6-3.4-6l-21-1.7-13 9 8.8 22.6z"/> + <path fill="url(#gs-c)" stroke="#000" d="m451 156 1.8-6s3-5 3-7.4c0-2.2 2.3-4.9 2.3-4.9s6.9-2 8.4 2.3c7.4-11.3 16.2-.6 16.2-.6l2.4-2.8 5-6s7 6.5 7 7.6c.2 1.2 1.3.4 1.3.4l7.6-.6a9 9 0 0 0 2.9 8.2c2.7 1.6 5.1 11 5.1 11z"/> + <path fill="#656263" stroke="#000" d="M518 226.1c1.4-.8 5.5-2.1 5-8.2s-5.7-6.8-8.7-6.6-5.5 2.8-5.5 2.8l-9.8-6.2s4.9-30.7 10-32.6c5-3.5 5.8-5 5.8-5.8 0-.9-1.8-2.9-1.8-2.9l-31.7-3.7-30 3.5s-2.2 3.6-2 5c.4 1.4.5 2.9 5.8 7 6 4.6 10 30.8 10 30.8s-8.3 4.2-8.9 3.6c-.5-.5-3-1-4.3-.8s-5.7 2.5-5.7 8.2c0 5.8 4.4 9.1 4.4 9.1s28.6-3.3 32.9 4.6c4.1-9.5 31.3-6.2 34.6-7.8z"/> + <path stroke="#000" stroke-linejoin="round" d="M548.9 194.2s.3-3.3 2.7-4.9 18.2-2.4 22 0 5.2 14.1 5.2 14.1 2.4 4.1 2.6 7.2c.1 3 .5 5 .5 5s12.6 16.5 12.8 31.4c1.4 10.1 1.1 37.2-2.9 47.5a43 43 0 0 1-5.5 21.3s1.3 2.2 1.1 4.6-1.4 4.6-1.4 4.6l18.5 9.1-6.8-2.5 6.8 5.7-7.7-3.6 4.5 4.6c-.1-.2-11.2-5.1-11.2-5.1l5 4.7-8.5-4s5 5.5 5 5.2l-7.4-3.2.4 2.7s-5.8-.3-5.8-4.6a19 19 0 0 1-4.7-3.8l-13.2-2.2-14.9-44.6 3.5-75.2 1-3.8z"/> + <path fill="#fb0" stroke="#000" d="M539 434.8s-7.7-16-11.5-16.3c-3.4-6.6 12-60 41.7-63.1 16.3 1.3 1.3 18.8-9.4 13.4a45 45 0 0 0 6.7 11.5s-21.3 9.2-27.6 54.5zm-102.3 2.3s6.3-18.3 10.1-18.5c3.9-.2-10.1-60.9-40.6-61.3-16.4 1.3-1.3 18.9 9.5 13.5a45 45 0 0 1-6.8 11.5s21.5 9.2 27.8 54.8z"/> + <path fill="#00713d" stroke="#000" d="M464.6 323c0-.2-7.6 2.3-2.7 10.5.3-3.2 3.7-5 3.7-5s-5.1 6 .3 11.1c.7-4.8 3.8-6.3 3.8-6.3s-3.9 11.2 0 13.5c.5-4.5 3.3-6.5 3.3-6.5s-3.4 10-.3 12.3c.3-3.8 2.9-5.5 2.9-5.5s-1.5 10.5 2.5 11.2c0-3.7 3-7.3 3-7.3s-1.3 8.5 5 8.9c0-3.2 1.2-6.9 1.2-6.9s2.9 9 7 7.6v-7.7s2.7 8.6 7.7 7c-.7-2.4.3-5.3.3-5.3s2.6 5.4 7.4 3.6c.8-1.6-.2-4.8-.2-4.8s7 7.2 9 2.9c2.2-4.3-5.5-5.8-5.5-5.8h5.2s-1.7-4.4-8.7-5.4c2.4-1 4.9-.2 4.9-.2s-1.5-5.5-8.7-6.1c2.8-1 6-.3 6-.3s-1-5.2-9-6.7c1.3-1.4 4.7-1 4.7-1s-3.2-4.9-6.8-4.6-36-3.3-36-3.2z"/> + <path fill="none" stroke="#3ec26d" stroke-linecap="round" d="M496.6 349.5s3 1.4 2.8 2.6m-1.1-4.9s3.7 2.6 3.6 4.5m-.3-5.8s2.9 1.8 3 4.7m1.9-3.6s1.4 3.2 1 3.8m1.9-2.1c.2 2.5-.2 2.8-.2 2.8m-36-18.5s3.5 2.2 3.2 5.3m-3.4-2.7s1.6 1.6 1.3 2.6m3-5.2s2.3 3.2 1.5 5.4m2.4-3.3s1 2 0 3m1.8-2.1s1.2 2 .1 2.7m-1.5 3.9s3.2.7 3.7 3.1m-1.8-5.3s3.4.2 3.8 3.8m.7-5.1s2.3 4 1.9 5.2m2.4-4.8s.9 3.7.2 5m2.6-3.5v4.3m-4.2-10.2s2 .8 2 2.9m-.1-4.8s2.7 1.5 2.5 4.5m.7-5.7s2.3 2.7 1.5 5.8m2.5-5.2s-.8 3.5-.4 4.9m3-2.5s-1.5 1.1-.7 2.6m-12.7 10.8s.5 2.6 0 3m-3.3-4.6s1.6 3 1 4.4m-4.6-4.5s1.9 2.2 1.8 4m-4.8-3.6s1.8 1.7 1.6 2.7m-3.1-.1s1.7 1.8 1.6 2.1"/> + <path fill="#fff" stroke="#000" d="m441.3 229.3 24.3-.5s16 0 17.7 5.2c3-6.9 17-6.5 17-6.5l25-.8.5 60.6c-5 23.6-22 40.2-40.7 47.3a62 62 0 0 1-41.2-47.7z"/> + <path fill="#006b00" stroke="#000" d="m450 229 35.3 94.2 32-96.2c-10 .6-31.2-1.6-33.9 7.5-4-8.1-26.4-4.9-33.5-5.5z"/> + <path fill="#ffc900" stroke="#006b00" stroke-linecap="round" stroke-width=".5" d="M474 280c1.4.7 1.3-25.5 3.1-26.3l1.4-5.5c-1.5-2.7-8.4-2.6-11-.2l1.7 4.8c3.5 5.6 2.8 27.8 4.8 27.2z"/> + <path fill="#cdad56" stroke="#000" stroke-linejoin="round" d="M464.5 77s2.5-2.9 2.6-3.5 11.4-1.2 18-13.7c3.8-6.5 0-2.7 0-2.7L485 54s4.6-4.4 3-6.8c-1.8-2.4-1.2 3-4 3-2.7-.1-1.2-6-1.2-6s-.2-.6-1-1c-1.1.2-.8 2.2-1.8 2.4-1 .3-2-4.7-2-4.7s-1.7-2.3-3.1 4.8c.8 7.7 5.6 6.2 5.6 11.2s-4.3 8.8-5.5 9c-1.3 0-.8-4.3-.8-4.3s-.7-2-1.1-2 2.5-.5 2-6.1c-1-6.8-1.8 1.6-3.6 1.2-1.9-.3-.5-6.2.2-7 .7-.6-.8-3.4-4.8 3.8-.3 3.6-.8-.9-1.6-.6-1.3 2.8-1.1 4.8.8 7.4 2.9 2.7 4.7 5.3 4.6 6.6-.1 1.4-1.6 4.5-3.7 4.5-2 0 .1-3.8 0-5 0-1.3-3.5-5.8-3.5-5.8s-2.4-3.9-2.1-4-.3-.7-1.4 3.3-2.5-2.6-2.5-2.6-1.6 4.9 1.8 7.8c-2.6-.3-2.8.7-2.8.7 0 1.4 3.5 2 4 4.3.4 2.4-3.7 3.8-3.7 3.8s1.7 2.3 6.5-2.3c.1 3-1.8 5-1.8 5 1.6.7 2.8.6 3 2.5z"/> + <path fill="#cdad56" stroke="#000" stroke-linejoin="round" stroke-width=".9" d="M449 77s-2.2-3.2-2.3-3.8-10.4.8-15.3-11.8c-3.2-6 0-2.5 0-2.5l.2-2.9s-3.4-4.1-2-6.3c1.5-2.2 1 2.8 2.8 2.8 2.3-.1 1-5.4 1-5.4s.2-.6 1-.9c.9.1 1.3 3.2 2.1 3.4s2.7-3.6 3.3-4.4c.8-.1.7-3.2 2 3.3-.7 6.9-6.4 5.5-6.4 10s3.6 8.1 4.7 8.2c1 .2.7-3.8.7-3.8s.6-1.8 1-1.8c.3 0-3.4.7-3-4.5.8-4.8 2.7.3 4.3 0s-.2-5 .2-5.8c.1-.8 2.4-3.9 3.3 3 .3 3.3 2-2.7 2.7-2.5 1.2 2.6-.5 6-2.1 8.4-2.4 2.4-3.5 5-3.4 6.2 0 1.3.6 2.8 2.4 2.8s.5-2.2.6-3.3 3-4.8 3-4.8c.6-1 .1-2.6.7-3.4 1 0 1.4-1.3 2.3 2.3 1 3.6 2.1-2.4 2.1-2.4s1.4 4.5-1.5 7.2c2.2-.3 2.4.6 2.4.6 0 1.2-1 1.7-1.4 4a4 4 0 0 0 1.1 3.3s-1.4 2.2-5.5-2a7 7 0 0 0 1.6 4.5c-1.4.7-2.4.6-2.6 2.3z"/> + <path fill="#ffc900" d="M511.3 243c-2-1.8-2.3-.2-3.4-.6q-.7-.4-1.3-1.1-.6-.6-1.4-.8l-.6 1.7c-.2.6.6 1.5.6 2.4q-.1 2-2.3 2.7c.5-.9.7-.9.6-2 0-.5-1.6-1.5-1.4-2 .2-.9.7-1.8.4-2.7-.7.5-1.5.2-2.2.5-.5.3-.6 1.3-1.3 1.7s-2.5.2-4-.6c.9-.7 1.6-.2 2.5-1 .4-.2.4-1.7.9-2l1.9-1-.8-1.6c-.4-.5-2.1-.4-2.5-.8-.8-1-.7-2.1-1.4-3 2 .7 1.7 1.7 2.2 1.6q1.6-.7 2.5-.3c.9.4 1.4 1.5 2 1.7l.6-1.9c.2-.6-.8-1.5-.7-2.1.4-1.1 1.4-2.1 1.8-3.3l.4 3.1c.1.6 1.2.9 1.2 1.4.1.6-.5 1.8-.5 2.4l2-.2c.7-.1 1-1.5 1.6-1.6 1.2-.2 2-.1 3.3 0-1 .9-1.6.8-2.1 1.6-.5.3.1 1.4-1.1 2.2-.5.3-1.8 0-2.2.3l1.2 1.3c.4.5 2.1.7 2.5 1.2q1.3 1.4 1 2.9zm-54.3 1c2-1.9 2.3-.2 3.4-.7q.7-.3 1.3-1t1.4-.9l.6 1.8c.2.5-.6 1.5-.6 2.3.2 1.3.7 2.3 2.3 2.8-.5-1-.7-1-.6-2 0-.6 1.6-1.6 1.4-2.1-.2-.8-.7-1.8-.4-2.6.7.4 1.5.2 2.2.4.5.3.6 1.3 1.3 1.7s2.5.2 4-.6c-.9-.7-1.6-.2-2.5-.9-.4-.3-.4-1.8-.9-2-.4-.4-1.5-.8-1.9-1.1l.8-1.6c.4-.5 2.1-.4 2.5-.8.8-1 .7-2.1 1.4-3-2 .7-1.7 1.7-2.2 1.6q-1.6-.6-2.5-.3c-.9.3-1.4 1.5-2 1.7l-.6-1.9c-.2-.5.9-1.5.7-2-.4-1.2-1.4-2.2-1.8-3.4l-.4 3.2c-.1.5-1.2.8-1.2 1.3-.1.6.5 1.9.5 2.4l-2-.2c-.7 0-1-1.4-1.6-1.6-1.2-.2-2-.1-3.3.1 1 .8 1.6.8 2.2 1.5.4.4-.2 1.5 1 2.2.5.3 1.8 0 2.2.3l-1.2 1.4c-.4.4-2.1.6-2.5 1q-1.2 1.5-1 3"/> + <path fill="#ffc900" stroke="#006b00" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="M509.4 249.2c-1.9 1.5-14.3 4.6-14.4 15.3s2.2 13.2-.1 13.5c-4.5 0-5.1-12-5-17.3s.3-4.5.3-4.5 3 .8 2.8 3.4 3-6.4 1.9-8.8c2 2 4.7 1.2 4.7 1 0 0-1.5-1.7-2.2-3-.6-1.1 2.3.8 2.3.8s.2-2-2.4-2c-3.3 0 .5-1 .5-1s2 1.7 3.2-.2a11 11 0 0 0-3.4-2.3s-1.8-3.4-4.2-4c-2.8-.7-2.5 1.2-5.7.9-.6 1.2-.6 1.4.7 1.8-2.2 1.5-1 4.4-1 4.4s3.4-1.4 3.3 1c-.1 2.5-2 2-3.3.5-1.2-.6-1.6.7-1.6.7l1.8 2s-3.4-.2-4.3 2.1c1.9-.1 3 .4 3 .4s-4 1.8-4.4 2.7-.5-1-.7-1l-3.8-1.4-1.3 5.9s2.6 2.5 4 1.7 4-3.3 5.5-2.6c-4.5 3.4-9 8.3-11.4 9-.6-.6-2.8-2.7-3.7-1.6-.9 1-.2 2.4 1 2.3 1-.2-3.8 1-2.8 3.1 1 2 1 1.9 1.8 1.4 1-.6-.7-.7 2.6-1.7s3.2-1.9 3.2-1.9-.7 1.5-2.5 2c-1.7.3-3.1.3-2.8.9.4.5 1.2 1.5 1 2-.3.6 3.6-2.8 4.7-.1 2.6-.2 4.4-3.4 3.1-5.3.2 2 1.4 2.7.7 3.7-.8.9 6-3.2 2.7-5.6.8 2 1 3.6 1 3.6s1.5 0 1.9-.6-.8 1.5-.3 1.9 3 2.7 2 4.3c-.7-1-.8-2.4-1.6-2.3s-4 2.5-5.9 2.6 2.3 7 2.3 7-2.9-.3-3.3 0-2.3-2.5-2.6-.9c-.7 2 .6 1.2.6 1.2s-1.7-.8-2.6.2-1.7 1.9-1.1 2.3 3.4.4 3.8.3-3.2.2-3.4.6c-.3.4-.8 2 0 2.5.7.5 2.7-.3 2.8-.7s.2 1.5.2 1.5 3.3.3 3.3-3.1.3 2.4.3 2.4 3.3.6 3.4-2.8.4 2.3.4 2.3 2.2-.7 2.2-1.2-.1 6.7-1.7 8.8c-2.4-1.6-4 1-4 1s.2 4 0 5 1.6-.6 1.7-1c.2-.4 2.5-1.5 2.6-1.7l.8-1.7s-.6 2-1.4 2.2c-1 .3-1.8 1.2-1.4 2 .3.9 1.7 1.4 2.2 2.2s2.3-4.7 2.3-4.7l.2 1.2s2.3-.6 2.5-1.7c.3-1-2.4-2-.2-3.8s0 1.7 0 1.7.7 2.6 1.2 2.6 1.8-5 .6-6.2 1.9 1.5 1.9 1.5 1.8-5-.2-5.7l-2.8-1s1-1.3.5-1.4c-.5-.2 2.7 3 3.2 2.1s1.3-3.2-2.4-4.6-.1-5.1-.1-5.1 2.3 2.7 4 1.2c1.6-1.5-.2-1.5-.2-1.5s4.7-3 4.9-4.5c-1-.1-2.5.1-2.5.1s2.7-1.7 2-4.6c-1 1.5-2.4 1.5-2.4 1.5s2.3-2.3 2-4.5c-1.4 1.1-1.3 2-2.2 1.7s-2.4-8.9 1.1-9.4c3.6-.6 1.7 4.2 1.8 4.2s5.4-2.2 0-5.7c1.3-.4 4 2 4 2s-1.2-6-7-2.3q2-2.4 3.5-2.2c1.2.3 5.3-.1 5.3-1.3-1-.8-3.2.4-4.4 0-1.1-.4 8.2-1.1 7.4-5.7"/> + <path fill="none" stroke="#006b00" stroke-linecap="round" stroke-width=".5" d="M469 252.7s5.1-2.9 7.6.7m2.1 5.4c-.1 0-1.8 1.8-2.2 1.8m5.6 3.9s4.8.4 7.8-4.6"/> + <path fill="none" stroke="#006b00" stroke-linecap="round" stroke-width=".5" d="M487.2 263s.4 2.7 1.2 2.7-1.3.7-2 .2c.8 1.2 1.3 3.4 0 4.2"/> + <path fill="#e80000" stroke="#006b00" stroke-linecap="round" stroke-width=".5" d="M484.8 297.3s-1.6 1.9-3.7 2"/> + <path fill="none" stroke="#006b00" stroke-linecap="round" stroke-width=".5" d="M486.7 288.6s-1-5.5-.4-6.8c.4-1.8 2-2.5 3.4-4.8"/> + <path fill="none" stroke="#006b00" stroke-linecap="round" stroke-width=".5" d="M486.2 284.6s-1.3 3.3-6.9 2.2m8.4-10.3s.4 4.3-4.7 2.7m-1.5-22.2s-2 1.8-1.3 4.4"/> + <path fill="#006b00" d="M489.1 252.1s2.7-1 3.2-1.6a8 8 0 0 0 1.7-2.4c.2-.8-1.8-2-.8-3.8q1-1.4 3 0c1.6 1-1.3-3-2.8-3.2-1.6-.1-2.6 1.1-3 .8-.4-.2.1 1.1-.5 1.1s1.3 1.1 1.2 1.8 2 3 1.9 3.5-3.2 3.7-3.9 3.8"/> + <path fill="#ffc900" stroke="#ffc900" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="M491 243.2q1.6-.5 1.2 1z"/> + <path fill="#e80000" stroke="#006b00" stroke-linejoin="round" stroke-width=".5" d="M483 303.7s-.5 2.9.5 3.1q.1-1.6.5-2.1zm-2.5-3.5c-1-.1-2.5.8-2 1.8.7-.7 1.4 0 2-.7v-1zm0-2s-1.5-.2-1.7.9q1.4-.4 1.7 0z"/> + <path fill="#e80000" stroke="#006b00" stroke-linejoin="round" stroke-width=".6" d="M474.1 282.2s1 .3 1.2 1.3c.7-.4 1-2.6-1.2-1.3zm-2.3 2.4s2-1.2 2.1 0l-.8.7c-.3 0-.8-.8-1.3-.7zm-.1 3.9s1.2-1 1.6-.4c.5.8-.4.7-.4.7zm-1.7-21.9s-1.5-.6-2.1.5c1 .2 1.3.5 1.8.9-.2-.5-.4-1.2.3-1.4zm-2.9 8.3s0-1.9 1-2.6q.5.4.8 1.2c-.6.2-1.4.2-1.8 1.4zm3.9-1.3s-1.6.8-1 1.7c.5-.7 1.1-.5 1.1-.5v-1.2z"/> + <path fill="#ffc900" stroke="#006b00" stroke-linejoin="round" stroke-width=".6" d="M468.7 255.8c-.6.7.7 2.2 2.1 2 .4-1.6-1.7-2.5-2-2z"/> + <path fill="none" d="M468.7 252.6c-.3.8.9 1.9 1.5 1.6.3-.8-1.2-2.2-1.5-1.6"/> + <path fill="#e80000" stroke="#006b00" stroke-linejoin="round" stroke-width=".6" d="M470.2 254.6s.3 1.3 1.5 1a4 4 0 0 0-1-1.9c0 .3.1.8-.5.9zm.8 3.7s.7.8 2-.7c-.6.1-1.6-.4-1.6-.4s0 1-.4 1.1z"/> + <path fill="#ffc900" stroke="#006b00" stroke-linejoin="round" stroke-width=".6" d="M468.6 252.8c-.5.7.3 1.7 1.7 1.5.3-1.7-1.3-2-1.7-1.5z"/> + <path fill="url(#gs-d)" d="M469.2 246.3s5.5-1.6 8.4.8c3 2.3 3 .2 3 .2s4.2 1.6 5.4 1.2c1.2-.3-.9.2.8-.9 1.7-1-3.4.3-3.8-1.9-.8-1.3 0-3-1.7-2.4-1.2-1.6.8-2.7.3-4.4-1.2 1-1.9-.3-2.9 2-2.3-.5-.3-3.8-2.9-4.1 0 2.3-1.9 2.4-2 3.8-1.1.8-6 3.7-4.6 5.7"/> + <path fill="#c01500" stroke="#000" d="M406 425c3.6-1 22.9 4.2 30.3 12.2-1.6-14.3-5.5-25.1-5.5-25.1s-11.5-3.3-13-1.7a81 81 0 0 0-11.8 14.5zm-5.9-65.7q-2 .1-4 3.4c-1.6 3.8-2.7 13.5-5 15.8-2.2 2.2-4.3 2.4-4.3 4.5 0 2 .3 6.7 6.3 8.5 6.1.3 15.8-9.7 15.8-9.7s5-5.4 7-11.2c-11.7 4-20-6.8-15.8-11.3zm169.6 63.4a53 53 0 0 0-30.4 12.1c1.6-14.1 5.5-25 5.5-25 1.3-.3 11.3-3.2 12.8-1.6 2.3 2.4 9.7 9.7 12.1 14.5zm5.5-65.3c1.3.2 1.8 2 3 4.2 1.5 3.9 3 9.4 5.3 11.6 2.3 2.3 4.3 5.6 4.3 7.6s-.5 4.8-6.5 6.6c-6 .2-14.8-7.6-14.8-7.6s-5-5.3-7-11.2c11.7 4 19.2-6.3 15.7-11.2z"/> + <path fill="#fb0" stroke="#000" d="M393.4 412.5s12.1 8.4 12.4 12.2c32.7-48.5 116.1-63.6 163.7-3.4 6.3-8.3 12.8-11 12.8-11-50-65.4-149.7-57.3-189 2.2z"/> + <path fill="#1e5aa6" stroke="#000" d="m517.4 227 4.8-.1-8.5 10.8 10.2 11.9-20.1 25.3 19 22.8a58 58 0 0 1-7.8 14l-10.9-12L524 275l-16.2-18.4zm-68.1 2.2h-5l9.5 10.4-10.1 12.6 21 22.8-17.4 23.3c2 5 5 10.8 8.3 15l10.3-13.1-21.2-23.6 15.5-19.7z"/> + <path fill="#1e5aa6" stroke="#000" d="m473 290.4-7.6 10 26.8 31c4.8-2.4 8.5-5.1 12.5-8.4l-14-16.1 5.7-16.7 8.2 9.4-25.5 32.6q-6.6-2.7-13.3-8.2l13.5-17.1zm-8.3-15.5 4.8 6.1-3.1-8.3zm34.9 5.4 4-5.2-1.5-2z"/> + <path fill="none" stroke="#fff700" stroke-linecap="round" d="M556 195s4.8-4 8.1-4"/> + <path fill="none" stroke="#fff700" stroke-linecap="round" d="M556.7 194.5c.1-.1 28.1-4 29-5m-28.9 5.2 31.4-2.7m-31.5 2.8s33.3-1.5 35.3.2"/> + <path fill="none" stroke="#fff700" stroke-linecap="round" d="M556.6 194.7s32.6.3 33.2 1m-33.1-1 31.4 2.6m-31.7-2.3s32 2.8 35 6.8"/> + <path fill="none" stroke="#fff700" stroke-linecap="round" d="M593.1 207.5c0-.1-10.8-12.9-36.8-12.7"/> + <path fill="none" stroke="#fff700" stroke-linecap="round" d="M556.4 195s18 1.3 23.7 7.6"/> + <path fill="none" stroke="#fff700" stroke-linecap="round" d="M556.7 194.8s11.7-2.2 23.9 12.5"/> + <path fill="url(#gs-e)" stroke="#000" d="M549.4 208.2s16.1.6 16.1 2.2-12 4.6-12.2 11.2c-.1 6.7 9.2 7.2 9.9 15.6.6 8.4-7.3 9.6-9 11.9-1.5 1-5.3 13-4.8 20s2.5 30.5 6.2 35.3c2.8 2.2 7 9.3 11.7 7 4.6-2.1 1.4-10.2 1-12.4-.5-2.2 1.8-5.9 1.8-9.2 0-3.4-1.7-6-1.5-6.8s12.8 3 12 15.5-5.9 8.7-5.9 8.7 1.6 15.4-2.3 17.4c-7.2 3.8-12.4-.8-12.4-.8l.7 3.2-5.5-2.8s-7-10-8.5-14.5a126 126 0 0 1-2.9-28.5c.7-4.3 1.1-29.3.8-30.6-.3-1.2-1.6-22.1-.8-25.3s5.7-17.1 5.6-17.1z"/> + <path fill="#ff7000" stroke="#000" d="M532 204s11.2-10.9 17.7-9.6c3.3 0 .2 2.4.2 2.4s5.7.4 6.5 3c.1 1-2.7 1.4-2.7 1.4s2.3.5 2.5 2.5c.2 2.1-24 .5-24.3.4z"/> + <path fill="none" stroke="#000" d="M532.6 203.6s12-1.6 17.1-6.7"/> + <path fill="none" stroke="#000" d="M544.8 200.3s8.9-.4 8.9 1"/> + <path fill="#fff" stroke="#000" stroke-linejoin="round" d="M576.3 329.9s7.6-1.8 9.7-4.5c1.2-1 7.9 10-9.7 4.5z"/> + <path fill="none" stroke="#fff" stroke-linecap="round" d="M574.3 267s1 5.8-1.8 9.8c-1.4 1.6-5.7 4.3-5.7 6.2s1.6 4.4 1.3 6.6-2.7 4.5-2.6 6.4c0 1.9 2.7 12 2.4 12.2m-7.6-60.2s-6 2-7.3 8"/> + <path fill="#c75b00" stroke="#000" d="M557.8 200.3s2 5.7 8.7.3c-4.3-5.9-8.7-.2-8.7-.3z"/> + <path d="M562.7 200q0 .5-.7.6t-.7-.6.7-.5q.6 0 .7.5"/> + <path fill="#fff" stroke="#000" d="M503.4 187s12.6 13.7 20.7 13.5c1.5 4-3.7 7.8-5.7 9.5-4.2-1.3-8 .3-17.6-11.6.6-7.6 2.7-11 2.6-11.4zm17-31.8c1.7-5 5-9 7.8-9.5-.8-3.8 5.9-20.9 25.3-27.4 1.2 8.7-8.3 17.4-8.3 17.4s28.7-5 34.5-12.2c-.6 3.2-6.4 23.6-37 23.4 11.6 11-3.7 19.8-10.2 17.1 12-9.2-3.5-14.7-12-8.8z"/> + <path fill="#cccccd" stroke="#ccc" d="M530.2 148.1c5.8-3.7 7.9-3.7 12.7-3l-3.5.6s-.3.5 1.8 2.4c-2.4-.6-4.4-2-11 0z"/> + <path fill="none" stroke="#000" d="M528 145.7s11.4-6 17.8-10.2"/> + <path fill="#00f" stroke="#000" d="M518.2 210s15.7 4.3 17.5-18.2c-3.4-9.8-8.1-31-.9-37-6.6-4.6-14 .2-14 .2-.4 1-6.3 9.5 1.7 24.3-19-5-11.3 13-11.3 13 .8-3 10.9-5.6 13.4 8.8 1 3.6-6.8 9-6.4 9z"/> + <path fill="#00f" stroke="#000" d="M535.9 192s16.6-9 16.2-30c-14.2.4-19.2 18.6-19.2 18.6z"/> + <path fill="#fff" stroke="#000" d="M461.3 190.9s-12.3 10.7-19.3 7.3c-5.1 3-11.2-2.4-11.2-2.4s7 26.3 32.6 7.3a61 61 0 0 0-2-12.2z"/> + <path fill="#00f" stroke="#000" d="M441.9 197.7c1-5.5 5.3-8.2 8.8-3 4.6 1 9.2-18-7.2-14.8 4.6-24.7-9.2-33.9-9.2-33.9s-4.9 27.4-2.6 32.4c2.2 5-3.3-9.3-21-13.4-.3 20.7 19.8 30.3 19.8 30.3s5.6 5.2 11.4 2.4z"/> + <path fill="none" stroke="#000" d="M443.5 179.7s-7.7 6.6-6 15.5m-5.7-16.3s-1.8 6.3 2 15.4"/> + <path fill="none" stroke="#000" d="M430.6 196.4s3.6-5.8 11.3 1.6"/> + <path fill="#fff" stroke="#000" d="M432.1 156.3c0-.2-11.7 0-4.8 11.9-5.1 1.6-16.7-6-8.7-16-26.3-.7-37-13.3-37-24.9 7.7 8 26.2 4.8 32.7 9.7-8-7.4-6.4-17.7-6.4-17.7s22.4 6.7 26.4 26.6c-1.3 3.9-1.9 10.7-2.2 10.4z"/> + <path fill="none" stroke="#000" d="M414 136.5c4.4 4.4 15.5 5.7 21.1 10.6"/> + <path fill="#cccccd" stroke="#ccc" stroke-width=".7" d="M419.2 149.5s9.2-1.2 11.9 2c-3.6 0-4.8-.9-10 1 1.4-.7 1-2 1.8-2s-3.3-1-3.7-1z"/> + <path fill="#923f00" stroke="#000" d="M465 77.5s5.1-4.5 10.6-.5c-2.5 7.4-11.4 4.6-11.4 4.6s.3 3.7-.6 5.5c1.8 1.4 3.2 5.8 3.2 5.8s9.2-2.2 11.2 1.8c3.5-.5 6 0 6 0s7.2-1.8 9.7-1.8 10.5 2 11.3 3.6c.7 1.4 3.4 11.4 5.2 11.2 1.8-.1-4.3 2.4-6-.1-1.6-2.5-1.1 3.3-1.1 3.3s5 5.3 5.6 6.5-3.1 10.8-.3 17.5c-2.5.2-2.7 2.8-2.7 2.8-.1 3-3.8 3.7-3.8 3.7l-1-4-2.4 1.5 1-3.1s3.4-8.3 3.7-11-3.1-7.4-5.8-7.4-4.6 8.5-4.6 8.5-1.3 6.3-.9 7l-1.8-2.1s-1.1 3.8-2 5c-1 1.2-2.9 1.6-2.9 1.6s-1.3-3.8-.8-5.3 7.2-7.3 6.6-11.4 0-3.2-.1-3.3c-.2-.2-3.6-3.1-3.7-4.8s-4.5 2.1-10.1 1c-1.7 3-2 10.5-2 10.5s-.5 9 .6 10c1.2 1.1-3 3.3-3 3.3l-2.9 4-1-2.3-2.1 1.5 1.2-3c-.1-2.3 2.9-8.4 2.9-13.6s.3-10.8.3-10.8-5.4-.3-5.3 5.4c.1 5.6-1.3 6-1 7.5.3 1.7 1.7 6.3 1.3 7.6-.4 1.4-2.2 1.8-2.2 1.8l-.5.7s-5.5 2.6-5.3 3.6l-.2-3-.3-4.3s3.3-2 3.3-7.2-.7-6-.6-7.2.9-5.5.7-6c-.1-.4-3 1.3-4 1.3s1.7-3.1 2-5.4c.3-2.2-3 2.1-5.7-.4 1.3-2.7 3.1-3.6 3.4-5.6.3-2.1-2 1.7-4.1.2.2-2 2.2-3.7 2.2-3.7s-1.7-.2-2.4 0c-1.3-.4 1.5-2.5 1.7-5.5s-1.7-4.1-1.7-4.3c0-.1-3-2.6-3.4-3.7-.4-1-.4-2.2-.4-2.2s-5 3.6-10.7-4c5.3-4.5 11-1.2 11-1.2s1.5-4.2 8.3-3.9 8.2 4.2 7.9 3.8z"/> + <path fill="#00f" stroke="#000" d="M502.4 154.2c.1 0 12.6.4 12.7 7.1.2 6.7-3.8 5-4 5l-9-1.2z"/> + <path fill="#fffeff" stroke="#000" d="M490.3 152.4s15.6-.1 14.7 6.7-4.8 5.4-4.8 5.4l-7.6-.6z"/> + <path fill="#00f" stroke="#000" d="m481.5 151.7 9 .7s5.5.7 5.2 6c-.2 5.1-5.5 5.2-5.5 5.2l-8.8-.5z"/> + <path fill="#fff" stroke="#000" d="M460.4 154.2c-.2 0-12.6.4-12.8 7.1 0 6.7 3.9 5 4 5l9.1-1.2z"/> + <path fill="#00f" stroke="#000" d="M472.5 152.4s-15.6-.1-14.7 6.7c.8 6.8 4.8 5.4 4.8 5.4l7.5-.6z"/> + <path fill="#fff" stroke="#000" d="m481.3 151.7-9 .7s-5.5.7-5.3 6c.3 5.1 5.6 5.2 5.6 5.2l8.8-.5z"/> + <path fill="#5e0043" stroke="#000" d="M505.4 226.7s6.5-9.5 9.3-8.5c2.4.8.5 8.2-.6 8.9zm-44.4 1.7c-2.1-2.8-5-10.7-7.8-8.5-2.4.8-.6 8.2.6 8.9z"/> + <path fill="none" stroke="#000" d="M465.2 209.5s12.7 7.8 16.8 8 17.3-10.1 17.3-10.1"/> + <path fill="#5e0043" stroke="#000" d="m466.5 179 2.4-3 12.1 6 12.4-5.5 2.4 2.6-13.8 9.7z"/> + <path fill="#474747" stroke="#474747" stroke-linejoin="round" d="M456.8 178.8a51 51 0 0 1 10.3 18.7c1.4 7.9-.8-10.9-.8-10.9s9.7 4.8 10 7.8 4.6-.2 4.8-.7l-28-18.2zm48-.5s-10.2 13.4-9 28c-2.1-7-.4-18.5-.4-18.5l-2.2 1.4s-2.4 9.9-5.3 11.4q-.6-1.7-.4-1.6c.2.1-3.1 4-3.7 4.4s.2 13.7.2 13.7 1 9.6 2.2 9.5l-3 1.7-1.3-25.6 2.9-2.9s3.8-4.7 4.1-9.2c-1.6 1.4-3.5 1.8-3.5 1.8s-.5 6.5-2 7.4c-1.6 1-1.6 2.6-1.6 2.6l-.4-8.5z"/> + <path fill="none" stroke="#000" stroke-linecap="round" d="m481.4 193.8 2 40.5"/> + <path fill="none" stroke="#000" d="M456.5 213.2s4.7 2.7 6.4 11c15.2-1.1 20 4.2 20 4.2s12.4-6 18.2-4.8c2-4.3 7.8-9.7 7.8-9.7"/> + <path fill="#b4b6b9" stroke="#000" d="m450.2 173.5 31.2 20.4 28.2-18.9s5.8-3.2 5.3-5.5c-.5-2.4-2.5-1.5-3.5-1-1 .3-29.5 20.5-29.5 20.5l-30.2-19.2s-2.2-.7-2.6.8c-.4 1.4.8 2.2 1.1 2.9z"/> + <path fill="#474747" stroke="#474747" stroke-linejoin="round" d="M506 168.2s-8-3.4-8-.5c0 3 .3 3.3 1.6 5.2 1.3 1.8-1 3-1 3l-.8-2c-.4-1.3-4.7-2.2-5-3.8-.5-1.5.8-3.9-1.7-4.2-2.6-.3-5.1 1-5.6 4a61 61 0 0 1-3.9 9.8l.5-15.6c5.6.4 16 1.6 24.1 2.6-2.4-.4 1 .1.8 1-.2.6-1 .7-1 .5zm-28.2-3.9a37 37 0 0 0-10.4 1.9c-1.8 1 3 2.7 2.3 4-.6 1.5-.7 4.4-3 3.8s-9.8-4.4-10-5.7c-.3-1.2-1.8-1.3-1.8-1.3s21.8-3 22.9-2.7z"/> + <path fill="none" stroke="#000" d="M481.2 162.5v19.1m-14.7-41.7-9 14.6"/> + <path fill="url(#gs-f)" stroke="#000" d="M482.6 139.5s3.8 5.2 3.4 6.7c1.5 1.2 3.3 6 3.3 6"/> + <path fill="none" stroke="#000" d="M497.3 138.7s-8.2 11.6-8 12.5"/> + <path d="M455.1 83.4q-.5 1-2.3.6-1.8-.7-1.7-1.8c.2-.7 1.3-1 2.4-.6 1 .3 1.8 1.1 1.6 1.8m3.4-.2q.5 1 2.3.5t1.7-1.8c-.2-.6-1.3-.9-2.4-.5-1 .3-1.8 1.1-1.6 1.8"/> + <path fill="#ff7000" stroke="#000" stroke-linejoin="round" d="M555 324s-3.2.5-3 .8c0 .3-9 .6-9.1.3-.2-.3-1.4 1.5-1.4 1.5l1.5-.9s2.2 2.3 2.8 2.1c.7-.1-.3 1 0 1.1.1.2.8-.4.8-.4l14.8-.2zm5.4 4.5-12 .4s-3.1 2.8-3.3 3.4 2 .9 2 .9l.6 2.3 1.6-.6s10.3 1.5 19.7-.6c4.8-1.6 5.7-3.6 2.3-4.9-3.3-1.2-10.8-.8-10.9-.9z"/> + <path fill="url(#gs-g)" stroke="#000" d="m519 353.4 21.7-1-4-3.4 59-2.4-2-4.7-66.1 2.7 8 3.7-18 .5.6 1.9-4.7-.2s5.3 2 5.4 3z"/> + <path fill="url(#gs-h)" stroke="#000" d="M543.4 232.9c-1.7-.9-9.4-2-17.9 3.6l.4 19.6s12.5-6.7 18.5-5.2c-.3-6-.3-13.8-1-18z"/> + <path fill="none" stroke="#000" d="m422.7 292.4-51.4 51m74.4-50.7-41.8 55m39.9-69.3-55.7 67.5m-1.7-.9 5.4-6.4m62.6-26.3-21.6 29.8m-.9 3.9.5 11.4m31.9-34.7-23 28.8m18.9-2.3 9.3-15.3m-5.7-2.9-11.2 12.6m7.8-24.6-7.6 9.3m-2.3-22.9s-23.3 34.1-22.9 37m20.5-41.4c-.6.3-20.1 26.2-20.1 26.2m-1.1 8.2-3.6 4.3m-4.5 6.5-5.4 7.1"/> + <path fill="#8a9396" stroke="#2b2b2b" d="M420.2 213.8s-1.6 5 0 7.5 11.5 22.5 11.5 22.5 6.8-8.3 9.3-8.5c2.4-.3 1.3 21.6 1.3 21.6s-4 3.8-6.5 3.6 6 8.6 5.8 16-11.2 44.5-15.3 45.1c-4 .7 1.8-6.7 1.6-8.8-.3-2-1.4-.6-2.3-2.9s1.4-5.6 1-7.9c-.5-2.2-2.6-1.8-2.8-3.4s1.4-2 1.1-3.8-2.7-1.4-2.4-3c.2-1.5.4-.8.2-3.8-.2-2.9-.7 2-3.2 2.3s-4.5 5.9-4.5 5.9-5 7-9.9 3.8c3 6.3.7 9-.5 9.2-1 .3 1 5-1.8 5.2s2 10.6-1 11.5c3.3 1.6.6 3.6.6 3.6s-7.8.7-6.1 10.9c-23-8.2-34.3-22.1-34-36.4s4.7-27 15.7-31.7c3.2-11.8 8.6-24.4 8.6-24.4s-.9-5.2-.2-8.6a17 17 0 0 1 3.8-6.7s-.4-8.2-.2-12.2 1.8-5.9 2-8.1c.2-2.3-.7-13.8 1.6-15.8s6.5-1.8 8.8-3.2c2.2-1.3 5.2-3.8 8.1-3.6 3 .2 5.4 2.3 5.4 2.3s11 0 11.7 4.2-2.2 6-2.2 6 1.6 6-5.2 11.6z"/> + <path fill="#cecfcf" stroke="#2b2b2b" d="M410.4 198.2c.3.7-.5 1.8-1.8 2.5s-2.7.8-3 .2q-.4-1.2 1.7-2.5c1.4-.8 2.7-.8 3-.2z"/> + <path d="M408.5 199.4q-.1.7-.8.7t-.9-.7q0-.8.9-.8.7 0 .8.8"/> + <path fill="none" stroke="#2b2b2b" stroke-width=".5" d="M425 206.8s2.7 12.2-.5 20.7m1.4-26s5.3 7 4.6 15.8m-4.1-17.3c.1 0 4.5 3.7 4.3 6.3m-3.3-7.9s3 2 3.6 4.1"/> + <path fill="none" stroke="#000" d="M426 197.2s-10.5 17-9.1 27.7"/> + <path fill="none" stroke="#2b2b2b" stroke-width=".5" d="M426.7 196.6s-14 8.3-16.5 35.4"/> + <path fill="none" stroke="#000" d="m425.2 201.6-5.6 4.2"/> + <path fill="none" stroke="#2b2b2b" stroke-width=".5" d="M405 233.5s7.8-32.2 21.5-36.9"/> + <path fill="#2b2b2b" stroke="#2b2b2b" d="M431.9 244.4s7.4-9.3 9.1-9 1.2 21.6 1.2 21.6-5.5 4.1-6.7 4c-1.2-.2 6.2 10 6 13.7-.1 3.8-.3 3.8-.3 3.8s0-2.2-1.7-5.8c-1.8-3.7-.7-7.8-12-17-2.7-5.6 5.6 3.5 7.3 2.1s-3-13.2-3-13.4z"/> + <path fill="none" stroke="#2b2b2b" d="M418.7 192s-3.1.8-3.5 2c-.5 1.4-2.3 2.6-3.3 2.2s-2.8-2-2.8-2"/> + <path fill="#2b2b2b" stroke="#2b2b2b" stroke-linejoin="round" d="M401 202.9s-4.7 4.6-2.4 5.2 4.7-3.7 4.7-3.7 0 7.3 2 6.1c2-1.1 7.7-5.2 7.7-5.2s2-.2 2.5 0c.4.1 5.3 4.4 8.6 2.8-1.9 4.8-4 5.4-4 5.4s-3.4 4.4-7.8 3.4-5.5-2.8-5.5-2.8-3.7.2-4.8-1.5l-1.6-2.6s-2 2-2.7 1c-.5-1 0-6.7 3.3-8.1z"/> + <path fill="none" stroke="#2b2b2b" d="M427.5 196.4s-8.6-2.6-11.6 1.7-2.3 6.6-.7 7"/> + <path d="M428.8 196.1c0 1-.7 1.9-1.6 1.9s-1.6-.9-1.6-1.9q.1-1.7 1.6-1.8 1.5.2 1.6 1.8"/> + <path fill="#2b2b2b" stroke="#2b2b2b" d="M403.7 218.2s3.5 5.4 7.7 6.9-3 2.7-7.1 0c-3-4.2-2.2-7.2-2.2-7.2s.8-.8 1.6.3zm30.1 31.9s-9.9-13.7-12.7-14.5c-2.9-.7 2.2-1.3 5.2 1.6s-.8-4.7-.8-4.7z"/> + <path fill="#2b2b2b" stroke="#2b2b2b" stroke-linejoin="round" d="M402.7 329.6c3.8-1 20.4 9.5 24 12.1 3.8 2.7 11.6 1 11.6 1s-3.6 2.2-5.8 2.7c-2.3.5 6.6.5 6.6.5s-21.1 5.9-42.6-5.4c-2-8.8 4.6-10.8 6.2-10.9z"/> + <path fill="#2b2b2b" stroke="#2b2b2b" d="M427 253.5s-2.9-.5-4.3-2.1-3.4-5.7-5.5-7.4c-2.1-1.6-12.6-7.4-16.4-7s-5-.4-5.5-.9-2 .2-1.7 2.2-3 6.3-1.8 8.3a62 62 0 0 0 7.7 10.6c1 .3.4 4.8.4 4.8s4.8 4.9 6 5.1c1.2.3 2.5 1.2 2.3 2.4-.1 1.1-5.3 7.4-5.3 7.4s-5.5 3-5.6 4.5c0 1.7 1.4 5 5.8 6.1a41 41 0 0 0 16.8-.8c.6-1 1.6-7 1.2-7.7-.4-.6-3.3-2.4-4.8-2.2-1.5.3-2.9 1.5-2.7 1.8s-2.1 1.4-2.1.3 4.4-6 4.8-5.5 6.6 1 7.8 4.1c1.1 3.1 1.1 5.4 4.4 5 3.2-.3 7.8-3.3 8.2-9.5a13 13 0 0 0-4.7-11c-1-.7-4.4-2.7-4.7-3.7s-1-4-.4-4.8z"/> + <path fill="#2b2b2b" stroke="#2b2b2b" d="M368.3 281s10.5-2.7 13.2-2.6c2.7 0 13 4.8 16 7.7s9 9.8 13 9.2 5.2-1.4 5.2-1.4l-1.6 3s-3.2.9-4.9.5c-1.6-.4-4.8-1.5-8-4.6-3.1-3-13-11.5-21.3-10.9s-13.1 8.8-13.1 8.8 0-4 .4-4.9c.3-.8-1.8 2-1.8 2z"/> + <path fill="#2b2b2b" stroke="#2b2b2b" d="M407 289.2s2.6.7 7 .7c4.3 0 6.6-1.9 6.6-1.9l-.3-1.7.7-2.3s3.3 3.3 3.3 4-1.4 1-1.4 1l-.5-1.7-1.1 1.5s-6.3 5-9.8 4.2c-3.4-.7-6.6-3-5.7-3.5s1.3-.3 1.2-.3zm-15.3 8.8s-3.8 0-5.5.8-2.3 1.8-3.5 1.7c-1.1-.2-2-1.6-1.7-2.2.5-1 2.8-2.2 7-1.9s3.7 1.6 3.7 1.6zm13.3 10.3c0-.2-.3-5.5-2.4-7.7a6 6 0 0 0-5.8-1.9c-1.2.3 4.2 2.7 4.8 4.2.5 1.6 2.3 6 1.8 7s-1.3-3-4.7-4.2c-3.3-1.2-7.9-.5-7 1 1 1.4 4.7 0 6.6 3.3a60 60 0 0 1 3.3 6.5l.7-2.3 1.6-.4.3-4.4z"/> + <path fill="#2b2b2b" stroke="#2b2b2b" stroke-linejoin="round" d="m402.3 325.7-3.5-7s-1-4.3-4-5.5-6.8-1-6.8.4c-.1 1.5 6.2 3.4 6.6 4.2s.2 2.2-.3 2.3-3.4-1-4.8-.7-2.2 2.2-4.3 1.6c-2.1-.5-3.9-7.2-3-8 .7-.6-1.6 1.3-2.1-.5-.5-1.7.7-7.2-.1-7.9s-4.8-3-4.8-3.5c-.1-.5.2-27 22.3-5-9.5-11.3-13.2-10-15-10.1-1.2 0-9.9.7-12 11.7-2.2 11-4.8 4.1-4.8 4.1s-.4 4.8 1.9 6.1c2.3 1.4-1.1 5.3-1.1 5.3s-4.2-10-3.5-14.5c-.9 3.5-.8 12.3 4.4 21.8a71 71 0 0 0 27.2 19.1c8-12.3 7.7-13.8 7.7-14z"/> + <path fill="#8a9396" stroke="#2b2b2b" stroke-linejoin="round" d="M387.8 325.8s4.4.5 5.6 2.8c1.3 2.3 1.8 5.8 1.8 5.8.8-1.5 1-2.7 2.6-3.8 1.5-1.1 2.6-1.3 2.5-2 0-.9-4.8-5.8-7.1-6.1-2.4-.3-6.5 2.6-6.5 2.6s-.8 1 1 .7z"/> + <path fill="none" stroke="#8a9396" stroke-linecap="round" d="M398 337.4s11.6 5.3 30.6 5.6"/> + <path fill="none" stroke="#2b2b2b" stroke-linecap="round" d="M436.7 283.6s-1 9.7-8.5 29"/> + <path fill="none" stroke="#2b2b2b" d="M435.2 289.6s-2.3 7-8.5 12.2"/> + <path d="m401.3 410.3 2-2.2.6.5-.1.2-.2.3v.2l.2.2 2.6 2.3.2.2h.2l.1-.2q.4-.4.5-.8.2-.4.1-.8 0-.5-.4-1l.8-.4 1.2 2-3.2 3.6-.6-.5.2-.3.1-.2v-.2l-.2-.2-2.6-2.3-.3-.2h-.1l-.3.2-.2.2zm4.4-4.9 3.7-3.6 1.8.9-.3.7-1-.2-.6.2q-.3.1-.6.5l-.7.6 1 1.1.3-.2q.3-.2.3-.4v-.2l-.2-.3-.2-.2.6-.6 1.8 1.9-.6.5-.2-.1-.3-.3h-.2l-.4.3-.2.2 1 1 .2.2h.1l.2-.2.4-.3.6-.8q.2-.4.1-1 0-.4-.3-.9l.8-.4 1 2.3-3.8 3.7-.6-.6h.2l.2-.4v-.2l-.2-.3-2.4-2.4-.3-.2h-.2l-.2.1-.2.2zm7.7-7.4q1.2-1 2.4-.9 1.3.1 2.2 1.2.6.7.8 1.5t-.1 1.6-1.1 1.5q-1 .9-2.2.9-1.4 0-2.4-1.2-1-1-.8-2.3t1.2-2.3m.7.7q-.5.5-.5 1.2 0 .8.7 1.6t1.5 1q.6 0 1.1-.4t.6-1q0-.9-.8-1.7-.4-.5-1-.8-.4-.2-.9-.2t-.7.3m6.1-6.2.5-.3.1.1 2.9-2v-.2l.4-.3 1.9 1.3-.5.7-.7-.3q-.4-.2-.8-.1l-.4.1-.1.1v.2l2.1 3 .2.3h.3l.5-.3.4.7-2.4 1.8-.5-.7.1-.1.3-.3v-.2l-.1-.3-2.1-3-.2-.2-.1.1q-.2.1-.3.4-.2.3-.2.7l.1.8-.8.2zm5.6-3.5 4.4-2.8 1.7 1.3-.6.7-.8-.4h-.7q-.3 0-.7.3l-.8.5.8 1.3.2-.2.4-.2v-.3l-.1-.4-.1-.2.7-.4 1.3 2.3-.7.4-.1-.3-.3-.3h-.2l-.4.2-.3.1.8 1.3.1.2h.1l.3-.1.4-.3.8-.6.3-.9v-1l.8-.2.5 2.4-4.6 2.8-.4-.7.1-.1.3-.3q.1 0 0-.2v-.3l-1.8-2.9-.3-.3h-.1l-.3.1-.2.1zm6.2-3.8 3.5-1.8.7-.3q.4-.2.9-.1.4 0 .7.2l.5.6q.4.7.1 1.3-.2.6-.8 1l1.8.8h.1l.3.1h.3l.2-.1.3-.1.3.7-1.7 1-3-1.5-.5.2.6 1.1.2.4h.5l.2-.2.4.8-2.7 1.4-.4-.8.3-.1.2-.2.1-.2-.1-.3-1.6-3.1-.2-.2q0-.1-.2 0h-.3l-.2.1-.4-.7zm2.6-.2.7 1.4.8-.4q.5-.2.7-.5l.2-.4v-.5l-.4-.3h-.4l-.7.2zm4.4-3.4 3.6-1.6.7-.2h.9q.4 0 .7.2l.5.7q.3.6 0 1.2t-.9 1l1.8.9.4.1h.5l.2-.2.4.8-1.8.8-3-1.6-.4.2.5 1.1.2.4h.4l.3-.1.3.7-2.7 1.3-.4-.8.3-.1.2-.2.1-.2-.1-.3-1.4-3.2q0-.2-.2-.3h-.5l-.2.2-.3-.8zm2.6 0 .6 1.5.9-.4.7-.4q.2-.2.2-.5v-.4l-.3-.4h-.5l-.7.2-1 .4zm6.8-3.9 1.3-.5 3.4 3.9.4.3h.5l.2.8-2.7 1-.3-.8.2-.1q.2 0 .3-.2v-.2l-.2-.2-.4-.5-1.7.6v1l.3.1.4-.1.3.8-2.3.8-.3-.8q.2 0 .3-.2l.1-.1v-.4zm1 3.2 1.1-.4-1.1-1.4zm3.8-4.9 2.7-.8 2.1 3.3v-4l2.8-.7.2.8-.3.1q-.2 0-.3.2v.4l1 3.4.1.2.2.1h.6l.2.7-2.9.9-.2-.9h.2q.3 0 .3-.2l.1-.1v-.3l-1-3.7-.1 5.4-.8.2-2.8-4.4 1 3.7.1.1.2.1h.3l.3-.1.2.8-2.4.7-.3-.8h.3l.3-.2v-.5l-1-3.3v-.3l-.2-.1h-.6zm12.4-3.3 3.2-.6h1q.5 0 .8.2t.6.5l.3.7q.1.8-.4 1.4-.5.7-1.5.9l-1 .2.2 1.1v.3h.8l.1.8-3 .6v-.8h.1l.4-.2v-.5l-.6-3.3v-.4l-.2-.1h-.6zm2.4.6.4 1.7h.5l.7-.3.3-.4v-.5q0-.4-.4-.6-.3-.1-.8 0zm4.2-1.8 3.8-.5h.8l.8.2q.4.2.6.5.3.3.3.7.1.7-.3 1.2t-1.1.8l1.4 1.3.3.2.2.1h.6v.8l-1.9.3-2.3-2.4h-.5l.2 1.2v.4l.2.2h.6v.8l-3 .4v-.9h.2l.3-.1.2-.2v-.3l-.5-3.5v-.3h-.8zm2.4.7.2 1.6h1l.7-.3.4-.3v-.5l-.1-.4-.4-.2h-.8zm8.8-1.9q1.4-.1 2.4.7 1 .9 1 2.3 0 1-.3 1.7-.4.7-1 1.2-.8.4-1.8.5-1.4 0-2.3-.6-1.1-.9-1.2-2.4 0-1.4.8-2.4t2.4-1m0 1q-.7 0-1 .6-.6.6-.5 1.7 0 1 .6 1.6.4.5 1.1.5t1.1-.6q.5-.6.4-1.7 0-.7-.3-1.2t-.6-.7q-.4-.3-.8-.2m4.6-1.1h3.4l1 .1.7.4.4.6.2.8q0 .8-.6 1.3t-1.7.5h-1v1.5l.4.1h.3v.9h-3v-.9h.5l.1-.1v-.4l.1-3.4v-.4l-.1-.1h-.6zm2.3 1v1.8h.6l.7-.1.3-.3q.2-.2.2-.5 0-.5-.3-.7t-.8-.2zm4.5-1 3.8.3.8.1.8.4q.3.2.5.6l.1.8q0 .7-.6 1-.5.5-1.2.6l1.2 1.5v.1l.2.3h.2l.3.1h.3v.9l-2-.1-1.9-2.8h-.5v1.6h.6v1l-3-.3v-.8h.6l.2-.2v-.3l.2-3.5v-.3l-.3-.2h-.4zm2.2 1.2-.1 1.6h.9q.5.1.8 0 .3 0 .4-.2t.2-.5v-.4l-.4-.3-.8-.1h-1zm5.4-.6 3 .4v.9h-.3q-.3-.1-.4 0l-.2.4-.4 3.4v.4h.1l.3.2h.3l-.1.9-3-.4.1-.9h.2q.3.1.4 0h.1l.1-.3.4-3.5v-.5h-.4l-.3-.1zm6.5.9 1.4.3 1 5q0 .4.2.5l.4.2-.2.8-2.9-.5.2-.8h.5l.1-.1v-1l-2-.3-.3.6v.2q-.1.1 0 .2h.1l.4.2-.1.8-2.4-.4.1-.8h.4l.2-.1.2-.3zm-.8 3.3 1.3.2-.3-1.8zm5.9-2.4 2.7.7.2 4 2-3.4 2.7.7-.2.8h-.3q-.2-.2-.3 0-.2 0-.2.3l-.9 3.4v.4l.3.1.3.1-.2.9-2.9-.8.2-.8h.3l.3.1h.2v-.4l1-3.7-2.7 4.7-.8-.3-.3-5.1-.9 3.6v.2l.1.2h.3l.3.1-.2.9-2.5-.6.2-.9h.3l.3.1h.1l.2-.4.8-3.4v-.4l-.3-.1-.3-.1zm12.5 3.5 3 1.1 1 .5.5.6.2.7-.1.8q-.3.7-1 1-.8.3-1.8 0l-1-.4-.4 1v.5l.3.2h.3l-.3.9-2.9-1 .3-.9h.2l.4.2h.1l.2-.4 1.2-3.2v-.5l-.3-.2h-.2zm1.7 1.7-.6 1.7.5.2.7.1.5-.1.3-.5q.1-.4-.1-.7t-.6-.4zm4.6.6 3.5 1.6.7.4q.4.2.6.6l.3.7-.2.8q-.3.7-.9.9h-1.3l.5 1.9.2.3.1.2.3.2h.2l-.3.9-1.8-.8-.8-3.3-.5-.2-.5 1.1v.6l.2.1.3.2-.4.7-2.7-1.2.3-.8.3.1.3.1h.2l.1-.3 1.4-3.2.1-.3v-.2l-.2-.1h-.2l-.2-.1zm1.7 1.9-.7 1.5.9.3q.4.3.7.3l.5-.1q.2-.1.3-.4.1-.2 0-.4l-.1-.4-.7-.4-1-.4zm8.5 2.9q1.3.7 1.7 1.9t-.3 2.5q-.4.8-1.1 1.2-.7.5-1.6.5-.8 0-1.7-.5-1.2-.6-1.7-1.7-.5-1.3.3-2.6.6-1.3 1.9-1.7t2.5.4m-.4.9q-.6-.4-1.3-.1t-1.2 1.3q-.5.9-.4 1.7.1.6.8 1 .6.3 1.2 0t1.2-1.2q.4-.7.4-1.2t-.2-1zm5 1.5.5.3v.2l3 1.9.1-.1.5.3-.5 2.2-.8-.2v-.8q0-.4-.2-.7l-.3-.4h-.2l-.1.2-1.9 3-.2.4v.1l.1.1.4.3-.4.7-2.6-1.6.5-.7.1.1.4.2h.1l.3-.4 2-3v-.3h-.1q-.2-.2-.6-.2l-.6.1-.7.4-.6-.6zm5.6 3.8 4.2 3-.6 2-.8-.2v-1l-.2-.6q-.2-.3-.6-.5l-.7-.6-1 1.3.3.2.4.2h.3l.2-.4.2-.2.6.5-1.5 2.1-.6-.4.1-.2.2-.4v-.2l-.4-.4-.3-.1-.8 1.1-.1.3.2.3.4.3 1 .4q.4.1.8 0t1-.5l.4.7-2 1.4-4.3-3 .5-.8.1.1.4.2h.2l.2-.3 2-2.8.2-.3v-.1l-.3-.3-.2-.1zm6.9 8.8 2.3 2-.5.6-.2-.1-.2-.2h-.2l-.3.3-1.2 1.5-.7-.6.1-.5-1-.2-.7-.5q-.7-.6-1-1.3-.2-.8 0-1.6 0-.8.6-1.6.6-.7 1.4-1t1.6-.1 1.5.6l.5.6.4.7.3-.1.5.4-.9 2-.8-.4v-1.1l-.1-.7-.4-.5-.8-.3-.9.2q-.4.2-.9.8l-.6 1v1.1q.1.4.5.7l.5.3h.5l.4-.2.1-.2.2-.3v-.1l-.3-.3-.2-.2zm6.7 2 1 1-1.9 4.8q-.2.3-.1.5l.2.3-.6.7-2-2 .5-.7.1.2.3.1h.2l.2-.3.2-.5-1.4-1.3-.6.3-.2.1v.3l.3.3-.6.6-1.7-1.6.6-.6.2.2h.2l.4-.1zm-2.4 2.3.9.9.7-1.7zm6.5 1.4.4.4-.1.2 2.4 2.5h.2l.4.3-1 2-.8-.3.2-.8v-.7q0-.3-.2-.5h-.2l-.2.1-2.5 2.5-.3.3v.2l.3.4-.6.6-2-2.2.6-.6v.2l.4.2h.2l.3-.2 2.6-2.5.1-.2v-.1l-.5-.3h-.7l-.8.2-.3-.8 2-1z"/> + <path fill="#012169" d="M0 0h320v240H0Z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0Z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5Zm-92 10 3 17.5-96 72H0ZM320 0v1.5l-124.5 94 1-22L295 0ZM0 0l119.5 88h-30L0 21Z"/> + <path fill="#fff" d="M120.5 0v240h80V0ZM0 80v80h320V80Z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48ZM136.5 0v240h48V0Z"/> +</svg> diff --git a/apps/web/public/flags/gt.svg b/apps/web/public/flags/gt.svg new file mode 100644 index 00000000..7df9df57 --- /dev/null +++ b/apps/web/public/flags/gt.svg @@ -0,0 +1,204 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-gt" viewBox="0 0 640 480"> + <defs> + <radialGradient xlink:href="#gt-a" id="gt-d" cx="447.4" cy="308.3" r="16.5" gradientUnits="userSpaceOnUse"/> + <radialGradient id="gt-a"> + <stop offset=".2" stop-color="#f9f0aa"/> + <stop offset="1" stop-color="#b07e09"/> + </radialGradient> + <radialGradient xlink:href="#gt-a" id="gt-e" cx="451.6" cy="313" r="10.9" gradientUnits="userSpaceOnUse"/> + <radialGradient xlink:href="#gt-a" id="gt-f" cx="454.1" cy="308.6" r="9.8" gradientUnits="userSpaceOnUse"/> + <radialGradient xlink:href="#gt-a" id="gt-g" cx="458.4" cy="307.1" r="17.4" gradientUnits="userSpaceOnUse"/> + <radialGradient xlink:href="#gt-a" id="gt-j" cx="446" cy="252.4" r="13" gradientUnits="userSpaceOnUse"/> + <radialGradient id="gt-m" cx="477.9" cy="215.3" r=".3" gradientUnits="userSpaceOnUse"> + <stop offset=".3" stop-color="#a50a0a"/> + <stop offset="1" stop-color="#4c0505"/> + </radialGradient> + <radialGradient id="gt-n" cx="489.1" cy="210.3" r=".3" fx="489.1" fy="210.3" gradientTransform="scale(.97707 1.02346)" gradientUnits="userSpaceOnUse"> + <stop offset="0" stop-color="#fff"/> + <stop offset="1" stop-color="#fff" stop-opacity="0"/> + </radialGradient> + <linearGradient id="gt-h" x1="473.9" x2="472.4" y1="259.2" y2="232" gradientUnits="userSpaceOnUse"> + <stop offset=".2" stop-color="#b07e09" stop-opacity="0"/> + <stop offset="1" stop-color="#b07e09"/> + </linearGradient> + <linearGradient id="gt-i" x1="483.1" x2="485.5" y1="296.7" y2="326.6" gradientUnits="userSpaceOnUse"> + <stop offset=".2" stop-color="#b07e09" stop-opacity="0"/> + <stop offset="1" stop-color="#b07e09"/> + </linearGradient> + <linearGradient id="gt-k" x1="451.5" x2="455.4" y1="249.5" y2="240.6" gradientUnits="userSpaceOnUse"> + <stop offset=".2" stop-color="#f9f0aa"/> + <stop offset="1" stop-color="#b07e09"/> + </linearGradient> + <linearGradient id="gt-l" x1="473.3" x2="475.9" y1="237.2" y2="270.4" gradientUnits="userSpaceOnUse"> + <stop offset=".2" stop-color="#f9f0aa"/> + <stop offset="1" stop-color="#b07e09"/> + </linearGradient> + </defs> + <path fill="#4997d0" d="M0 0h640v480H0Z"/> + <path fill="#fff" d="M213.3 0h213.4v480H213.3Z"/> + <g transform="matrix(.81133 0 0 .8264 -69.4 -8)"> + <g stroke="#24420e"> + <path fill="none" stroke-width=".4" d="M452.1 377.5c2.7-.4 4.2-1.2 6-1.8m2.3-4.1a13 13 0 0 1 3 4.7m-8.1-5.1a13 13 0 0 1 3 4.2m-49.5-136.6c-1 1.6-3 2.7-4.8 3.4m-.3-.2q-.2-2.2 0-4.4m-1.9 5c0 .4.4 1.4.6 2m2.1 1-2 .3m-4-.9c0 2.6.3 5.6.5 7.9m-1.8-1q.7 1.3 1.6 1.9m-4.6 6.5q.8 1.2 1.3 4m3.7-4.7-2 1.5m1.7 4.4q-1.5 1.3-3.5 2.1m-3.8 40.4a16 16 0 0 0 4 4.7m.6 1.7a8 8 0 0 1-3-1m4.4 8.5 1.7 1m-.4 3.4q1.8 1.4 3.7 3.9m-1.4 2.8q2.1.5 3.2 1m-1 2.5h2m1.3-5.3-.5 4.2m1 1.6.4-1.6m4.7 6-.1 3.2m39.2 27.9-1.2 1.6m-2.4-3.9-.7-1.8"/> + <g stroke-width=".2"> + <path fill="#406325" d="M486.1 385a8 8 0 0 0-3.3-2.7c-7.7-4-15.4-5.9-24-7.3-2.1-.3-4.1-2.2-6.2-3.2-5-2.3-10.5-3.2-15.3-5.7-.3-.1-1.5-.8-2-1.5-2-2.2-5.5-2.9-7.6-5-8.4-7.8-17.2-15-21.8-25.5-5.6-12.7-12.5-25.8-11.6-40.2.6-9.2-.7-18.4 1.5-27 3.4-13 7.6-25.7 15.4-36.4l-1.3.8a104 104 0 0 0-15.4 36.3c-2.3 8.7-1 18-1.5 27-1 14.5 6 27.6 11.5 40.3 4.6 10.4 13.5 17.7 21.8 25.6 2.2 2 5.6 2.7 7.6 5l2 1.5c4.9 2.4 10.4 3.3 15.4 5.7 2 1 4 2.8 6 3.2a77 77 0 0 1 24.2 7.2 8 8 0 0 1 3.3 2.7l1.3-.9"/> + <g fill="#67923d"> + <path d="M406.3 331.6a47 47 0 0 1-.2-23.5c6.7 13 4.5 23.7.2 23.5zm45.9 45.4a49 49 0 0 0-21.9 11.4c15.1.1 24-7.3 21.9-11.4zm7.5-4.3a60 60 0 0 1-14-26.5c15 10.9 18.9 24.3 14 26.5z"/> + <path d="M454.6 372.8a55 55 0 0 1-16-22.8c15.3 8.2 20.3 20.2 16 22.8zM439 366c1-7.8-5.6-24.2-7.5-26-3 16.5 3 27.6 7.5 26zm-27.3-24.3a42 42 0 0 1 .5-21c5.5 11.7 3.3 21.2-.5 21zM398 264.9a51 51 0 0 1 21-16c-6.8 14.6-18 19.9-21 16z"/> + <path d="M398.7 259.3a52 52 0 0 1 17.4-20c-3.7 15.7-13.7 23.2-17.4 20zm27.9 99.2a55 55 0 0 1-7.3-26.4c11.2 12.5 12 25.3 7.2 26.4zM397.9 322c-7 1.1-21.4-4.6-23-6.3 14.6-3.2 24.4 2 23 6.3zm-2.2-9.7c.8-5.5 8.6-15.8 10.3-16.6-1 12-7.4 18.6-10.3 16.6zm51.3 58.6a57 57 0 0 0-26.1 13.6c18 .1 28.7-8.7 26.1-13.6z"/> + </g> + <g fill="#406325"> + <path d="M406.4 331.5c4.2.2 6.4-10.4-.3-23.4a79 79 0 0 1 .3 23.4zm11.2 20a49 49 0 0 0-21.7-11.2c8.9 12.1 19.9 15.1 21.7 11.2zm-24.4-53a57 57 0 0 0-14.8-24c1.5 17.2 10.6 26.7 14.8 24zm8.4 34.3c-5-3.7-19-5.4-21-4.8 10.2 8.4 20.2 8.5 21 4.8zm-9.4-24.8a42 42 0 0 0-16.9-13.8c5.5 12.4 14.6 17 16.9 13.7zm2.8-47.6c.8-7.6-5.6-23.4-7.4-25.2-2.9 16 2.9 26.7 7.3 25.2zm4.4-14.9c2.7-6.5.8-22.4-.5-24.4-6.4 13.5-3.8 24.6.5 24.4z"/> + <path d="M404.4 237.8a40 40 0 0 0 3.5-19.4c-7.2 9.7-7 18.9-3.5 19.4zm6-6.1a39 39 0 0 0 9-17.4c-9.7 7-12.2 15.8-9 17.4zm-16.1 43.2c.1.9-1-8.2-10-18.3.4 14.8 6.2 20.4 10 18.3zm32.6 85.8a53 53 0 0 0-25.8-6c12.6 10.4 24.9 10.6 25.8 6zM439 366c-4.6 1.5-10.5-9.5-7.6-26a99 99 0 0 0 7.5 26zm13.3 11c2 4.1-6.8 11.5-21.8 11.4 12-5 21.2-9.9 21.8-11.3zm7.3-4.4c4.9-2.3 1.1-15.5-14-26.4 8.6 13.2 14.5 24.6 14 26.4z"/> + <path d="M454.6 372.7c4.2-2.7-.7-14.5-16-22.7 9.5 11.2 16.2 21 16 22.7zm-42.8-31c3.7.2 6-9.3.5-21 .7 11 .4 20-.5 21zM398 265c3 3.8 14-1.4 20.9-16a91 91 0 0 1-20.9 16z"/> + <path d="M398.9 259.3c3.6 3.2 13.5-4.3 17.2-20-8 11.3-15.6 19.8-17.2 20zm27.7 99.1c4.7-1.1 4-13.8-7.3-26.3 5 13.5 8 24.8 7.3 26.3zM397.7 322c1.4-4.3-8.3-9.4-22.8-6.3 12.3 2.2 22 5 22.8 6.3zm-1.9-9.6c2.9 1.8 9.1-4.7 10.3-16.7a69 69 0 0 1-10.3 16.7zM447 371c2.5 5-8 13.7-26 13.6 14.2-5.9 25.3-11.8 26-13.6z"/> + <path d="M399.4 326.3a45 45 0 0 0-17-15.8c5 13.6 14.2 19.1 17 15.8z"/> + </g> + <g fill="#67923d"> + <path d="M392.4 274c4-4.7 17.5-9.2 19.6-9-8 10.5-18 12.6-19.6 9zm25.1 77.5c-1.8 4-12.7 1-21.7-11.1a84 84 0 0 0 21.7 11.1zm-24.4-53c-4.2 2.7-13.1-6.8-14.7-24 6.6 13.3 13 23.5 14.7 24zm8.4 34.3c-.7 3.7-10.7 3.6-20.8-4.7a74 74 0 0 0 20.8 4.7zm-9.5-24.9c-2.3 3.2-11.2-1.3-16.7-13.7 8.2 8 15.5 13.7 16.8 13.7zm2.8-47.6c-4.4 1.6-10.1-9-7.3-25 2.7 13.5 6 24.2 7.3 25zm4.5-14.9c-4.3.3-6.9-10.8-.5-24.3-.8 12.8-.5 23.3.5 24.3zm5-7.6c-3.4-.6-3.7-9.7 3.6-19.4a66 66 0 0 0-3.6 19.4zm6-6.1c-3.1-1.7-.7-10.4 9-17.3a66 66 0 0 0-9 17.3z"/> + <path d="M394.3 274.9c-3.9 2.1-9.6-3.5-10-18.3q7.7 17.6 10 18.3zm32.5 85.8c-.9 4.6-13.1 4.4-25.7-5.9 13.2 4.3 24.3 6.7 25.7 5.9zm-8.2-9.5A41 41 0 0 1 412 332c9 8.7 10.2 18.1 6.8 19.2zm-16.8-25c-3.6-5.8-4-20.9-3-23 8.3 11.9 7.3 22.7 3 23zm-2.7.1c-2.7 3.3-11.9-2.1-16.8-15.8a77 77 0 0 0 16.8 15.8z"/> + </g> + <g fill="#406325"> + <path d="M392.4 274c1.6 3.6 11.4 1.5 19.5-8.9-12 6.8-16.7 9.8-19.5 8.9zm9.3 52c4.3-.3 5.3-11-3-22.8a73 73 0 0 1 3 22.9zm17 25.2c3.4-1 2.2-10.5-6.7-19.2 4.4 9.7 7.2 18 6.7 19.2z"/> + <path d="M394.2 291.8c2-8.4-1.7-22.6-4.3-25.6-4.7 15.4-.2 26.6 4.3 25.6z"/> + </g> + <path fill="#67923d" d="M394 293.8c-6 1.3-8.7-12-4.1-27.1 1 13.5 2.8 26.1 4 27z"/> + <path fill="#67923d" d="M392.7 293.7a53 53 0 0 1 9-24.7c2 15.8-4.5 26.3-9 24.7z"/> + <path fill="#406325" d="M392.8 293.6c4.5 1.6 10.9-8.8 8.9-24.6-3.5 13.3-7.5 23.8-8.9 24.6z"/> + <path fill="#67923d" d="M394.1 303.3a50 50 0 0 1 10.6-23.7c.8 16.2-6.3 25.9-10.6 23.7z"/> + <path fill="#406325" d="M394.2 303.4c4.2 2.2 11.3-7.4 10.5-23.5-4.4 12.8-9 22.9-10.5 23.5z"/> + </g> + <g fill="#ba1f3e" stroke="#511124" stroke-width=".2"> + <circle cx="396.8" cy="251.3" r="1.1"/> + <circle cx="405.2" cy="245.1" r="1.1"/> + <circle cx="401.6" cy="241.7" r="1.1"/> + <circle cx="392.5" cy="313.1" r="1.3"/> + <circle cx="395" cy="297.1" r="1.3"/> + <circle cx="408.2" cy="334.5" r="1.3"/> + <circle cx="402.4" cy="336.4" r="1.3"/> + <circle cx="446.7" cy="367.6" r="1.3"/> + <circle cx="449.6" cy="374.7" r="1.3"/> + </g> + </g> + <g stroke="#24420e"> + <path fill="none" stroke-width=".4" d="M561.1 259c.7.6 1.2.8 2.3 1.9m-6.6-18.9c0-1.4-.6-3.7-.9-5m3.5 3q0 2.8-1.1 5.4m-4.2-.5q2.6 2.5 5.3 3.9m3.8 1.2q.2 3-.7 6m.4 1.5 1.3-2.3m-1.9 12.2c1.4.3 2.8 2 3.5 3.5m.5-1.3 1.6-2.2m1.7 30.8-2.4 3.4m-4 0c.8 1.4 1.6 3 2.6 4m2.5 5.9a13 13 0 0 1-4.5 4m.2 4.5c-1.1.8-2.5 3-3.7 4.7m8.4-20.2-2.1.9m-1.4-7.4 1.2 1m-9.3 37.4h-2m-2.1-1.8.6 1.6m-7.6 5.1q-.3 2.8.1 5.6m4.3-9 1 2.2m3.9-.1-2.5.3M522 365.6l-1 1.8m11.9-4q-2.2.2-4.1-.2m-5.5 6-3-1m-14.7 2.7c-.9.7-2 2.4-3 4m-.6-4.5c-2.4 1.3-3.2 3.7-4.4 5.8m2.8 2.8q-2.4-.7-5.3-2m16.7-.7c-2.3-1.2-4.7-1-7.1-1.4m10.8-.4q-5.5-1-10.3-.1m7.8-2.6-1.4-.6m-5.6 5.5-2.3-1.3m57.9-49.2q-1.9 1.4-3.7 3.9m1.8-79.6-2.2-.8"/> + <g stroke-width=".2"> + <path fill="#406325" d="M474.4 384.9q1.4-1.8 3.3-2.7c7.7-4 15.4-5.8 24-7.2 2.1-.4 4.1-2.3 6.2-3.2 5-2.4 10.5-3.3 15.3-5.7.3-.2 1.5-.9 2-1.6 2-2.2 5.5-2.9 7.6-5 8.4-7.8 17.2-15 21.8-25.5 5.6-12.7 12.5-25.8 11.6-40.2-.6-9.2.7-18.4-1.5-27a105 105 0 0 0-15.4-36.4l1.3.8a104 104 0 0 1 15.4 36.4c2.3 8.6 1 17.9 1.5 27 1 14.4-6 27.5-11.5 40.3-4.6 10.4-13.5 17.6-21.8 25.5-2.2 2-5.6 2.7-7.6 5l-2 1.5c-4.9 2.4-10.4 3.4-15.4 5.7-2 1-4 2.8-6 3.2A77 77 0 0 0 479 383a8 8 0 0 0-3.3 2.7l-1.3-.8"/> + <g fill="#406325"> + <path d="M553.6 334.6c2.8-7.4 0-24.8-1.4-27-6.7 15.4-3.4 27.6 1.4 27z"/> + <path d="M546.5 341.6c2.3-5.6.7-19.3-.4-21-5.5 11.7-3.3 21.3.4 21zm16.9-74.1a47 47 0 0 0-19.3-14.6c6.2 13.3 16.5 18.2 19.3 14.6z"/> + <path d="M561.8 259.5a43 43 0 0 0-14.5-16.7c3.1 13 11.4 19.3 14.5 16.7zm4.7 14.9c-3.5-4-15.2-7.9-17-7.7 7 9 15.6 10.9 17 7.7zm-2.8 46.4a40 40 0 0 0 20.3-5.7c-12.9-2.8-21.5 1.9-20.3 5.7zm-.2-5.7c0-5.6-6.3-16.8-8-18-.5 12 4.9 19.5 8 18z"/> + <path d="M564 301.4a50 50 0 0 0-10.6-23.6c-.8 16.2 6.3 25.8 10.6 23.6zm-53 75.3a48 48 0 0 0 22.2 11c-8.8-12.3-20.1-15.1-22.1-11z"/> + </g> + <g fill="#67923d"> + <path d="M553.6 334.4c-4.9.6-8.1-11.4-1.4-26.8-.5 14.2.2 25.7 1.4 26.8zM500.2 378a50 50 0 0 1 21.9 11.5c-15.1.1-24-7.3-22-11.4zm0-7.9c2-8 15-21.2 17.5-22.1-3.6 17.1-13.7 25.5-17.5 22.1zm21.3-4.1a54 54 0 0 1 7.5-26c3 16.4-3 27.5-7.5 26zm21.5-14.6a49 49 0 0 1 21.6-11.2c-8.9 12.1-19.8 15.1-21.7 11.2zm25.7-53.3c1-6.3 9.7-17.9 11.6-18.9-1.2 13.6-8.3 21-11.6 19z"/> + <path d="M557 336.2a51 51 0 0 1 24.4-5.5c-11.8 9.7-23.5 9.8-24.4 5.5zm10.3-24.5a44 44 0 0 1 17.7-14.4c-5.8 13-15.3 17.8-17.7 14.4zm-1.5-45.6c0-7.6 8-22.7 10-24.2 1.1 16.1-5.7 26.2-10 24.2zm-6.9-25.9a40 40 0 0 1-.1-20c5.5 10.9 3.7 20 0 20z"/> + <path d="M554.6 238a50 50 0 0 1-10.4-22.1c11.8 9.3 14.4 20.4 10.4 22.1zm11.7 34.5c-.3.9 3-7.7 14.2-15.3-4 14.3-11 18.3-14.2 15.3zm-34.1 89.9a61 61 0 0 1 29.2-6.7c-14.2 11.8-28.2 12-29.2 6.7zm14.3-20.8c-3.7.2-6-9.3-.5-21-.7 11-.4 20 .5 21zm16.9-74.1c-2.7 3.6-13-1.2-19.2-14.6a79 79 0 0 0 19.2 14.6zm-1.7-8c-3.1 2.6-11.3-3.6-14.4-16.7 6.7 9.4 13 16.5 14.4 16.7zm4.8 15c-1.4 3.1-9.9 1.3-16.9-7.7 10.4 5.9 14.5 8.4 17 7.7zm-2.6 46.2c-1.3-3.8 7.3-8.3 20.2-5.5a69 69 0 0 0-20.2 5.5zm-.4-5.6c-3.2 1.5-8.5-5.9-8-17.9a69 69 0 0 0 8 18z"/> + <path d="M563.9 301.6c-4.3 2.2-11.3-7.4-10.5-23.5 4.4 12.8 9 22.9 10.5 23.5zm-52.7 75.1c2-4.2 13.1-1.4 22 10.8-11-6.7-20.5-11.3-22-10.8z"/> + </g> + <g fill="#406325"> + <path d="M521.5 365.8c4.6 1.6 10.5-9.4 7.6-25.9-2.8 14-6.2 25.1-7.6 26z"/> + <path d="M531.8 360.6a55 55 0 0 0 4.6-27c-10 13.6-9.4 26.3-4.6 27zm-31.7 17.5c-2 4.1 6.7 11.5 21.8 11.3-12-4.8-21.2-9.8-21.8-11.3zm.2-8.1c3.8 3.4 13.8-4.9 17.4-22-8.1 12.4-15.7 21.8-17.4 22zm42.7-18.6c1.8 4 12.7 1 21.7-11.1a84 84 0 0 1-21.7 11.1zm25.8-53.3c3.3 2.1 10.3-5.3 11.5-18.8a75 75 0 0 1-11.5 18.8zM557 336.2c1 4.4 12.5 4.2 24.4-5.5-12.5 4-23 6.2-24.3 5.5zm10.4-24.6c2.5 3.4 11.9-1.4 17.7-14.4a75 75 0 0 1-17.7 14.4zM566 266c4.2 2 11-8 9.8-24-4 13-8.4 23.3-9.9 24zm-7-25.9c3.5.1 5.4-9-.2-20 1 10.5 1 19.1.2 20zm-4.3-2.2c4-1.7 1.4-12.7-10.4-22a82 82 0 0 1 10.4 22zm11.6 34.7c3.2 3 10.2-1 14.2-15.4q-11.8 15.1-14.2 15.4zm-34 89.9c1 5.2 14.9 5 29-6.7-14.9 4.8-27.4 7.6-29 6.7z"/> + <path d="M539.1 354.8a41 41 0 0 0 3.6-20.1c-7.5 10-7.2 19.5-3.6 20zm19.6-28.7c3.6-5.7 4-20.9 3-23-8.3 11.9-7.3 22.7-3 23z"/> + </g> + <path fill="#67923d" d="M531.8 360.5c-4.8-.6-5.3-13.3 4.5-26.8-3.6 13.8-5.4 25.4-4.5 26.8zm35.2-68.3c-1-7.8 4-20.1 6.6-22.5 2.6 14.4-2.7 24-6.6 22.5zm-27.9 62.5c-3.6-.5-3.9-10 3.6-20a67 67 0 0 0-3.6 20zm23.4-104.2c-2.2-6 0-20 1.2-21.8 5.3 12.2 2.6 22.1-1.2 21.8zm-58.1 120.1c2.5-8 16.2-21 18.8-22-4.3 17.5-15 25.6-18.8 22zM559 329a45 45 0 0 1 16.9-15.8c-5 13.6-14.2 19.1-17 15.8zm-.2-3c-4.3-.4-5.3-11 3-22.9a73 73 0 0 0-3 22.9z"/> + <path fill="#406325" d="M567 294c5.2 1.9 9-9.8 6.6-23.9a98 98 0 0 1-6.6 24z"/> + <path fill="#406325" d="M567.8 293.6c.5-7.5-7-23-9-24.7-2 15.8 4.5 26.3 9 24.7zm-5.3-43.2c3.9.4 6.5-9.4 1.2-21.7.4 11.5-.2 20.8-1.2 21.7zm-58 120.1c3.8 3.7 14.4-4.4 18.7-21.8-8.8 12.3-17 21.6-18.7 21.8zm54.6-41.5c2.8 3.3 12-2.1 17-15.8a77 77 0 0 1-17 15.8z"/> + <path fill="#67923d" d="M567.7 293.5c-4.5 1.7-10.9-8.7-8.9-24.5 3.5 13.2 7.5 23.7 8.9 24.5z"/> + </g> + <g fill="#ba1f3e" stroke="#511124" stroke-width=".2"> + <circle cx="564.6" cy="254.9" r="1.1"/> + <circle cx="568.4" cy="266.8" r="1.1"/> + <circle cx="569.8" cy="304.3" r="1.3"/> + <circle cx="564.6" cy="297.3" r="1.3"/> + <circle cx="549.9" cy="337.2" r="1.3"/> + <circle cx="556.2" cy="339.9" r="1.3"/> + <circle cx="513.8" cy="372.3" r="1.3"/> + <circle cx="506.8" cy="377.3" r="1.3"/> + <circle cx="557.1" cy="249.3" r="1.1"/> + </g> + </g> + <g id="gt-b" fill="#8c959d" stroke="#485654" stroke-width=".1"> + <path d="M434.3 336.3c-.2 1 .8 2.3 2 2 .5 0 .7-.5.2-.5q-.7.2-1.2-.3a2 2 0 0 1-.4-2z"/> + <path stroke="none" d="M437.2 338.3c-1 1.2-2.5 1.7-3.4.9q-1-.9-.5-2l-1 1.3s.6 1.3 1.6 1.8c1.3.5 3-.3 4-1.6.8-1 1.6-2.4 1-3.6a4 4 0 0 0-2-1.7l-1 1q.8-.2 1.7.4c1.3 1 .6 2.5-.4 3.5"/> + <path fill="#485654" stroke="none" d="m437.2 338.3-1.1 1q-.7.4-1.5.3l-.7-.3-.5-.6-.3-.7q-.1-.4.2-.8l.1.1-1.1 1.3v-.1l1 1.3.7.4.8.1a3 3 0 0 0 1.6-.5q.8-.4 1.3-1l1-1.4q.4-.7.3-1.6l-.2-.8a4 4 0 0 0-1.9-1.6h.1l-1 1.1h-.1q.3-.2.7-.2l.8.2q.7.4.9 1.2.1.8-.2 1.4-.3.8-.9 1.2m0 0q.6-.4.8-1.2t.2-1.4q-.2-.7-.9-1-.7-.5-1.3-.2h-.1l1-1.2a4 4 0 0 1 2 1.7q.3.3.3.8 0 1-.4 1.7-.3.8-1 1.4-.5.7-1.3 1.1-.7.5-1.7.5a2 2 0 0 1-1.6-.6l-1-1.4 1-1.3h.2l-.1.8.2.7.5.5q.2.3.6.3.8.1 1.5-.2z"/> + <path fill="#6c301e" stroke="#351710" stroke-linejoin="round" stroke-width=".2" d="m515.2 249.3-40.1 39.5L434 328l-4.6 5.4c-2 2.3-4.4 5.3-7.2 8-.5.7-1.1.4-1.7.8-1.8 1-3.7 2.8-5 4.3L403.2 360q-1.2 1.2-.4 2l6.6 8.8c1.2 1.2 2.6 1.8 3.2.8 3.1-5.5 11-13.8 14-20.3 1.7-4 3.9-11.1 5.5-12.8 2-2.2 7.1-7.8 11.8-12.7l1-1q.3-.6.9-1c23.5-24 50.7-53.1 70.5-73.6z"/> + <path d="M431.9 328.1q-1.7-.2-2.9-1.4c1.2.4 2.4.8 3.5.3z"/> + <path fill="#b2b6ba" stroke-width=".2" d="m557 220.1-31.8 26.2q-.5.5-.9 0l-2.9-2.4v-.6l1.4-1.4q.2-.2-.1-.6l-.6-.6q-.4-.1-.7.2l-1.4 1.5q-1.2.1-1.4 1.4c-19.2 18.7-35.8 35.4-54.9 53.8l-22.6 21.6c-.8 1-4.3 2.9-6.6 4.4q-1.3.8-1.8 1.5l-1.8 5.5c-.6 1.2-2.5 4-2.5 4.2l3.8 3.7 11.1-11.9.9-1a13 13 0 0 0-2.6-2.7l-.7-.5q0-.4.5-.7c26.4-25.6 55-53.7 78.2-76.6h1l2.9 3.1q1 1 1.7.4l31.9-28.5z"/> + <path fill="#485654" stroke="none" d="M431 330.4h.6l.5-.1.7-2.4.8-2.4q-.3-.3-.7-.4.4 0 .7.4l-.7 2.4-.7 2.4-.6.2z"/> + <circle cx="438.2" cy="328.1" r=".6" fill="none" stroke-width=".2"/> + <circle cx="434.4" cy="331.9" r=".6" fill="none" stroke-width=".2"/> + <path fill="#485654" stroke="none" d="m441 322.4-1.8-1.6z"/> + <path d="m502.2 259 3.5 3.5.6-.6-3.5-3.4-.6.6z"/> + </g> + <use xlink:href="#gt-b" width="100%" height="100%" transform="scale(-1 1)rotate(-2.8 -9.3 19640.2)"/> + <g stroke="#24420e" stroke-width=".2"> + <path fill="#67923d" d="M434 365.4a56 56 0 0 0-29.3.9c16.3 8 29.5 4.6 29.2-1zm89 3.3c7.8-3.3 26.8-.7 29.1 1-16.2 7.9-29.5 4.5-29.2-1z"/> + <path fill="#406325" d="M433.8 365.5c.3 5.5-12.8 8.9-29.1.9 15.3 1 27.8.4 29-1zm89.2 3.3c-.2 5.5 12.9 8.9 29.2.9-15.3 1-27.8.4-29.1-1z"/> + </g> + <g id="gt-c"> + <path fill="#b2b6ba" stroke="#485654" stroke-width=".2" d="M508.5 360a238 238 0 0 0-76.1-68c3.5-.2 11.4 3.9 14.7 6 23.9 15.4 44.3 35.8 65.6 59.8-1.2 1.2-2 2-3.4 3z"/> + <path fill="#8c959d" d="M510.6 359.8 509 361c-23-29.6-55-57.9-76.7-69 30.1 13.8 55.4 41.7 78 67.6h.1z"/> + <path fill="#485654" d="M510.6 359.8 509 361a303 303 0 0 0-35.2-38 285 285 0 0 0-30.4-24.3q-5.4-3.6-11.1-6.7v-.2q12 5.6 22.5 13.3 10.5 7.6 20 16.6a360 360 0 0 1 18.3 18.5q8.9 9.7 17.4 19.5zm0 0q-8.6-9.9-17.5-19.4a355 355 0 0 0-18.3-18.5q-9.5-8.9-20-16.6t-22.4-13.2v-.2a196 196 0 0 1 21.7 14.3 285 285 0 0 1 38.2 35.1 314 314 0 0 1 16.8 19.8z"/> + <g fill="#fab81c" stroke="#6c301e" stroke-width=".1"> + <path stroke-width=".2" d="M517.5 355q-3 .9-5.3 2.3c-.2 1.4-2 3-3.5 3.3l-.6-.8h-.2l-.6.3q-1-.1-1.6 1c-.4 1 .3 2.3 1.2 3.1 1 .7 1.4 1 2.4 1 1.1-.3 1.7-1.3 2-1.6 3.7 4.5 6.5 7 11.2 10.6 2.1 0 3.2-1.3 2.5-2.8q-.4-.8-1.3-.6v-.5c2.4-2.2 3.5-5 .9-9.8-2.2-4-4.7-5.4-7-5.4h-.1zm6.2 4.6q.7 1 1 2c1.6 3 .3 6.7-2.3 7.8h-.2c.4-.7-.8-2.2-1.4-1.7.3-.7-.7-2-1.5-1.7.4-.7-.5-1.9-1.4-1.5.4-.7-.3-1.8-1.3-1.6.3-.8-.4-1.8-1.3-1.6q0-1.1-.5-1.5c1-.8 2.3-2.1 3.4-2.7 2.7-1.2 4.4 1 5.5 2.5z"/> + <path d="M524.9 362.8q-.8-.6-.6-1.1.4-.6 1.2-.2t.7 1q-.4.6-1.3.3z"/> + <path d="M524.6 361.8q-.8-.5-.6-1.2.4-.5 1.2-.1t.7 1q-.4.6-1.3.3z"/> + <path d="M524 360.6q-.8-.4-.6-1 .4-.6 1.2-.3.8.6.6 1.1t-1.2.2z"/> + <path d="M523.2 359.6q-.8-.5-.6-1.1.4-.5 1.2-.2.8.6.7 1.1-.4.6-1.3.2z"/> + <path d="M522.2 358.6q-.9-.5-.6-1v-.2c.2.1.7.2.6-.1v-.2l.6.2q.8.6.6 1.1t-1.2.2z"/> + </g> + <path fill="#fab81c" d="M511.3 363.6c.7-1.8 2-3.4 3.5-3.8m-3.3 4.1c1.3.2 3.3-1.3 3.8-2.6m-2.6 4c1.6.4 3.3-1.2 4-2.4m-2.5 4c2 0 3.1-1.3 3.7-2.4m-2.2 3.9c1.7 0 3.2-1.3 3.6-2.4m-2.2 3.8q2.8-.2 3.7-2m-2 3.4c1.7.1 3-.9 3.4-1.8m-1.6 3.3c1.6 0 2.7-1 3.1-2"/> + <path fill="#6c301e" d="M511.3 363.6a7 7 0 0 1 2.3-3.2q.4-.4 1.2-.6l-1.2.6-1 1a8 8 0 0 0-1.3 2.2m.2.3 1.2-.2 1-.6 1-.8.6-1-.6 1a5 5 0 0 1-2 1.4q-.6.3-1.2.2m1.2 1.4h1.2l1-.6a6 6 0 0 0 1.7-1.8l-.7 1-.9.9-1 .5zm1.5 1.6q.6 0 1.1-.2l1-.5 1-.8.6-1a4 4 0 0 1-1.5 1.9l-1 .5zm1.5 1.5q1.2 0 2.1-.8a5 5 0 0 0 1.5-1.6q-.1.5-.6 1l-.8.7-1 .6zm1.4 1.4q.6 0 1.1-.2a5 5 0 0 0 2-1l.6-.9-.6 1q-.4.4-1 .6-1 .6-2 .5zm1.7 1.4a5 5 0 0 0 2-.5l.8-.5.6-.8q-.1.5-.5.8a4 4 0 0 1-3 1zm1.8 1.5 1-.1.8-.4.7-.6.6-.8a3 3 0 0 1-3.1 1.9"/> + </g> + <use xlink:href="#gt-c" width="100%" height="100%" transform="scale(-1 1)rotate(-3.4 -13.8 16470.8)"/> + <g stroke="#24420e" stroke-width=".2"> + <path fill="#406325" d="M409.2 240a52 52 0 0 0 19.5-17.9c-15.6 4.2-22.7 14.3-19.5 18zm145.8 4.7a50 50 0 0 0-15.6-19.9c2.8 15.2 12 22.8 15.6 20z"/> + <path fill="#67923d" d="M409.2 240c-3.3-3.6 3.8-13.6 19.4-17.8-11 8.4-19.2 16.2-19.4 17.8zm145.8 4.7c-3.7 3-12.7-4.6-15.5-19.7 7.2 11 14 19.5 15.5 19.7z"/> + </g> + <g stroke="#999270" stroke-width=".2"> + <path fill="url(#gt-d)" d="M452.2 318.1s-6.1.7-7.9-7.8c-1.8-9.1 5.3-10 5.3-10s8.1-.9 13.2-1l2.2 18z"/> + <path fill="url(#gt-e)" d="M453 315.4s-4 .7-4.8-5.6c-.6-4.5 2.2-5.1 2.2-5.1l9.2 1.6v8.2z"/> + <path fill="url(#gt-f)" d="M450.4 304.7s6-.4 9-.8l1.3 5.7-7.1.4s-.5-5.1-3.2-5.3z"/> + <path fill="url(#gt-g)" d="M449.2 300.4s7.5-1.9 8.5 6.4c.2 2.2-1 7.2-4.7 8.6l13.9-1.5-1.3-15-4.6.4s-10 .3-11.8 1z"/> + <path fill="#f9f0aa" d="M452.2 318.1s51.9-3.5 57.2-3.3c15.8-8.6 0-42.5-13.3-61.5 1.5-4.3-29.9-13.9-44-13q-2.8 0-5.2.3c-7.7.8-7.8 10.7-4.7 17 3 6 30.4 55 11.2 60.3z"/> + <path fill="url(#gt-h)" d="M507.8 273.3c-3.5-7.3-7.7-14.3-11.7-20 1.5-4.3-29.9-13.9-44-13q-2.8 0-5.2.3c-7.7.8-7.8 10.7-4.7 17 1 1.8 4.3 8 7.9 15.7"/> + <path fill="url(#gt-i)" d="M455 285c5.6 14.6 8.7 30-1.6 32.9l-1.2.2s52-3.5 57.2-3.3c8.6-4.7 7.8-16.8 3.2-30"/> + <path fill="url(#gt-j)" d="M447.4 243.5c-3.7 0-4.7 3.6-4.6 5.8.1 6 4.6 6.2 4.6 6.2l6-.3 2.8-12.2z"/> + <path fill="url(#gt-k)" d="m447.4 243.5 8.8-.5 1 9.1-7.8.4s2.5-7.3-2-9z"/> + <path fill="url(#gt-l)" d="M496.1 253.3c6.7-1 6.6-10 2-13.7-15.5-.6-35.8-.1-50.6 1 1.7 0 6.4.4 6.9 6.5a8 8 0 0 1-3 7 7 7 0 0 1-4 1.4h3.6l3-.4c21-2.7 42-1.8 42-1.8z"/> + <path fill="#b07e09" stroke="none" d="M458.5 267.4q-.2-.5-.8-.8-.5.1-.5-.4h.8l1.6-.2q.5.3 0 .5c-.5 0-.2.5-.1.8l1.3 3q.2.6.7.7l1.1-.1q.3-.4.2-1c-.1-.3.5-.2.5 0l.4 1.4q0 .2-.4.1l-3 .2c-.3 0-.8.3-1 0 0-.4.6-.2.6-.5l-.3-1zm4.8-.4q-.1-.4-.7-.7-.5.1-.6-.4.3-.2.7 0l1.7-.2c.3 0 .4.5 0 .4q-.4.1-.2.7l1.5 3.4q0 .4.5.6.4 0 .7.3-.1.3-.6.1l-1.6.2q-.4 0-.5-.3c-.1-.3.5 0 .6-.4q0-.4-.4-1l-1.1-2.6zm4.5.8q.2.2.5 0 .5 0 .6-.4 0-.8-.7-1.2-.5-.3-1.1-.2l.1.5zm.6 1.6.6 1q.4.2.8 0 .5-.1.4-.5-.1-1.1-1.2-1.5h-1l.2.5zm-2-2.4q-.2-.6-.7-1-.4.1-.7-.2c0-.3.6-.1.8-.2.9 0 1.8-.3 2.6 0q1.2.4 1.5 1.6 0 .6-.6.8l.5.1q1 .3 1.4 1.2.4.6 0 1.3-.7.5-1.4.4l-2.3.2c-.3 0-.4-.5 0-.5q.4-.1.2-.6l-1.3-3zm7.4-1.9q.4.1.5.5l.3.9q-.4.1-.6-.4-.3-.4-.7-.4h-1.2q-.2.3.1.6l.6 1.4q.4 0 .8-.3c0-.2-.3-.7.2-.6q.3.4.4.9l.5 1.1c-.3.3-.5-.1-.6-.4q-.4-.4-1-.3v.3l.6 1.5q.4.4 1 .3.6.1 1-.4c.2-.2-.3-.7 0-.8q.5.1.5.6t.3.8q-.1.3-.4.2l-3 .2c-.4 0-.9.2-1-.2 0-.3.7-.1.6-.5l-.4-1-1.1-2.7q-.2-.6-.8-.7c-.2 0-.6 0-.4-.4h1zm2.3 1.3q-.1-.5-.7-.9-.5.1-.7-.4h1c.8 0 1.6-.3 2.4 0q1.3.3 1.6 1.8 0 .6-.7.8c-.3 0 .2.1.3.2q1 .5 1.4 1.5c.1.2.5.7.6.2s.6 0 .5.3q-.1.6-.7.6t-1.1-.6q-.5-1-1.3-1.7l-.8-.2v.5l.6 1.2q.4.4 1 .3c.3.1.2.6-.2.5h-1.7c-.3.2-.9 0-.7-.3q.6 0 .5-.5l-1-2.6zm1.4 1h.9q.4-.2.2-.7-.2-.8-.9-1.2c-.2 0-.8-.2-.9.1l.7 1.6zm7.2 1.6q.2.5.6.7.4 0 .7.3-.1.3-.6.2h-1.6q-.5.2-.6-.3c.2-.2.7 0 .7-.4l-.5-1.1-1.1-2.9q-.3-.4-.7-.3-.6-.1-.7.4.2.5 0 .8-.4-.1-.5-.5t-.4-1q.2-.2.5-.1l4.2-.2q.5 0 .5.5l.4 1q-.3.3-.6-.3t-.9-.7l-.8.2.2.7zm3.8-.9q-.2.1-.1.4v.8q.3.4.8.4c.2 0 .1.5-.2.4h-1.2c-.3.1-.8-.1-.5-.4q.3 0 .5-.3v-5q.4-.3.6.2l3.6 4.5q.3.4.8.4c.3 0 .4.5 0 .4h-2.2q-.2-.3.2-.4c.3 0 0-.4-.1-.6l-.6-.8zm1.1-.5q.2 0 0-.2l-1.3-1.7v2h1.3zm3.1-1.8c-.1-.4-.3-1-.8-1q-.6 0-.5-.4h1.7q1-.2 2 .1 2.4.9 3 3.4 0 1-.6 1.6-1.2.6-2.5.3l-1.4.1c-.3 0-.4-.5 0-.4q.5-.2.2-.7zm2 2.5q.1.5.5 1h1q.7-.2.7-.9a5 5 0 0 0-.6-2.1q-.6-1-1.8-1.4h-1v.4zm-21.1 12.4q.1.5.8.6c.2 0 .7 0 .7.4q-.4.2-.8 0l-1.5.2h-.9q-.3-.2.1-.4.5 0 .6-.4l-.2-.8-1.2-2.8q-.1-.4-.7-.3-.4.1-.7-.2c0-.3.5-.2.7-.4l1-.3q.3 0 .3.3zm.7-4.5h2c.4 0 .2-.5.4-.5q.5.2.4.7 0 .7-.6.6H475l.5 1.2.6-.2c1 0 2.2.6 2.6 1.6q.4.8 0 1.5-.6.7-1.6.6-.8 0-1.4-.6c-.1-.2-.1-.7.2-.6q.7 0 .7.6.3.2.7.1.5 0 .6-.5 0-.8-.5-1.4-.3-.6-1.3-.7l-.8.1q-.4-.1-.4-.5l-.7-1.9.2-.1zm6.9 1q-.2-.7-.9-1c-.2 0-.7-.1-.4-.4h1.6q1.1-.2 2.1.1 2.4.9 3 3.4.1 1-.7 1.6-1.1.4-2.4.3l-1.3.2c-.3 0-.4-.5 0-.5q.4-.1.2-.7zm2 2.5.6 1h1q.6-.3.6-1 0-1-.7-2.1t-1.8-1.3h-1v.4zm6.4-4.3q.4.1.5.5t.3.8q-.4.3-.6-.3-.1-.4-.6-.5h-1.3v.6l.6 1.4q.5 0 .8-.2c.2-.2-.3-.7.2-.6q.4.2.4.8l.5 1.1c-.1.4-.5 0-.6-.3q-.3-.4-.8-.3-.4 0-.2.2l.6 1.5q.4.4 1 .3.7 0 1-.3c.2-.2-.2-.6 0-.8q.6.1.5.5l.3 1h-.4l-3.1.2q-.5.2-.9-.1c-.2-.4.5-.2.6-.5l-.3-.9-1.1-2.9q-.2-.5-.8-.7c-.2 0-.6 0-.4-.4h1zm-27.2 14.3q.3.7 1 .8 1.3.3 2.2 1.1.5.6.5 1.4-.1.8-1 1-.8.3-1.7-.1c-.2-.1-.1.4-.5.3q-.2-.4-.2-.9l-.4-1q.2-.3.5.2.5 1 1.6 1.1.7 0 .8-.6-.1-.8-.8-1.2l-2-.8a2 2 0 0 1-1-1.6q.1-.7.8-.9t1.6 0q.2-.2.6-.1l.2.6.3.9q-.4.2-.5-.2-.4-.7-1-.8-.6 0-1 .3zm6.6-1.7q.5.1.5.5l.2.8q-.2.3-.5-.2-.1-.4-.7-.5h-1.2v.6l.5 1.4q.5 0 .8-.2c.2-.2-.2-.6.1-.7q.5.2.5.7l.4 1.3q-.3.3-.5-.3-.2-.4-.8-.3-.4 0-.3.2l.6 1.5q.2.4.7.3.7 0 1.2-.3.1-.4 0-.8.5-.2.6.3l.2 1q-.1.3-.4.2l-3 .2c-.4 0-.8.3-1 0 0-.4.5-.3.6-.6l-.2-.8-1-3q0-.5-.7-.6-.5 0-.4-.4h1zm4.2 4.2q.2.5.6.7.6-.1.8.2c0 .4-.5.2-.7.2l-1.6.2q-.4 0-.6-.2c0-.4.5-.2.6-.4l-.1-.8-1-3q-.2-.6-.7-.7-.5.1-.5-.4h.7q1-.2 2.2-.2a2 2 0 0 1 1.7 1.2q.3.7 0 1.3-.8.5-1.7.6-.2 0 0 .3zm-.6-1.8h.7q.5-.2.4-.7 0-.7-.5-1.2t-1.1-.2v.5zm6.2 1.5q0 .4.5.6.5 0 .7.3c.2.3-.5.2-.7.2l-1.6.1q-.4 0-.5-.3c.2-.2.7 0 .7-.4l-.3-1.2-1-2.9q-.1-.3-.7-.2-.4 0-.7.3v.8q-.4.2-.4-.3l-.4-1q.1-.3.5-.3l4.1-.2q.5 0 .5.5l.4 1q-.3.2-.5-.2-.3-.6-1-.7h-.8l.2.7zm2.1-3.3q0-.6-.6-.8-.4.1-.6-.4h.6l1.8-.2c.3-.1.5.4.2.4s-.6.2-.5.5l.5 1.6.7 2.2q.1.3.5.4.6-.1.6.4h-.7l-1.6.2c-.2 0-.6-.2-.4-.4q.5 0 .6-.4l-.3-1.2zm5.8-1.6q.4.1.4.5l.2.8q-.3.3-.5-.2-.1-.5-.7-.6H485v.7l.5 1.3.8-.2c.2-.1-.2-.6.1-.6q.5.1.5.6.1.7.4 1.3-.3.3-.5-.2t-.8-.4c-.1 0-.5 0-.3.2l.5 1.5q.3.4.7.4.7 0 1.2-.3l.1-.9q.5-.1.5.4l.2 1q0 .3-.4.2l-3 .1h-1c-.1-.4.5-.3.6-.5l-.1-.8-1-3q0-.6-.7-.7c-.2 0-.6-.2-.4-.4h1l2.9-.2zm2 1q-.2-.6-.8-.7c-.3.1-.5-.6 0-.4h1.5l.7.9 2.2 2.9-.1-.3.4-3.6c.2-.2.7 0 1-.2.3 0 1 0 .8.4q-.7 0-.6.6l1.2 3.6q.1.6.8.5c.3 0 .3.6 0 .5H494q-.7.2-.7-.3c.3 0 .8-.2.6-.6l-1-3.2v.4l-.2 3-.1.8q-.4 0-.5-.3l-2.9-3.7.2.3.9 2.9q.2.5.8.5.4.4-.2.4h-1.5q-.4-.2 0-.4.6-.2.2-.8zm8.7.8h.5q.5.1.7-.4 0-.7-.5-1.2-.6-.3-1.2-.2v.5zm.5 1.6.4 1q.5.2.9.1.4 0 .4-.5 0-1-.9-1.5h-1v.3zM496 288q0-.6-.6-1-.5 0-.6-.3c-.1-.3.5 0 .7-.1h2.7q1.2.4 1.3 1.6-.1.6-.7.9h.5q.8.3 1.2 1.2.4.6 0 1.3-.7.5-1.5.4l-2.3.1c-.3 0-.4-.5 0-.4q.5-.1.2-.7zm5.1-.2q0-.6-.6-1-.5 0-.6-.3c.2-.3.6 0 1-.1h2q1.3.1 1.7 1.4.2.8-.4 1.2l-.4.2q1 .4 1.4 1.2l.5.8q.3.1.3-.3c.4-.2.6.3.4.6q-.4.6-1 .4a1 1 0 0 1-.8-.6l-1-1.7q-.5-.3-.9-.1v.4l.5 1.2q.3.4.8.4c.4 0 .4.5 0 .4h-2.5c-.2-.5.4-.3.6-.5l-.2-.9zm1.3 1c.1.3.6 0 .8 0q.5-.1.4-.5 0-.8-.5-1.3-.5-.3-1-.1-.2.1 0 .5l.3 1.3zm6.9-2.6q.4.1.4.5t.3.8q-.4.3-.6-.2 0-.5-.6-.6h-1.3q-.2.2 0 .6l.4 1.4q.5 0 .8-.2c.3-.1-.1-.5.2-.7q.5.1.4.7.1.7.4 1.3-.3.3-.5-.2-.1-.5-.7-.4c-.1 0-.5-.2-.4 0l.5 1.7q.2.4.7.3.7 0 1.2-.2l.1-.8q.6-.2.5.3l.2 1q-.1.3-.4.2h-3.1q-.5.1-.8 0c-.3-.4.2-.3.4-.5s0-.5 0-.7l-.9-3.1q0-.6-.6-.7-.8 0-.5-.4h1zm-32.8 13.1q0-.6-.6-1-.6 0-.5-.3l1-.1h2.4q2 .5 2.6 2.3.4 1.2-.2 2.3-.9.9-2.2.8-1 0-1.9.2c-.2.1-.6-.1-.4-.4q.6 0 .6-.5l-.4-1.5zm1.6 2.5q.1.5.4.9.5.2 1 0 .7 0 .9-.9a4 4 0 0 0-.4-2.2 2 2 0 0 0-1.5-1.2h-1.1v.4zm7.1-4.5q.4.1.4.5l.2.9q-.4.2-.5-.2-.2-.5-.6-.6h-1.3q-.2.2 0 .6 0 .8.3 1.4.5 0 .8-.2c.2-.2-.1-.6.2-.7q.4.2.4.7l.3 1.3c0 .3-.5 0-.5-.2q-.1-.5-.7-.4c-.1 0-.5-.1-.3.1q0 .7.4 1.6.1.4.7.3.7 0 1.2-.3l.2-.8q.3-.2.4.4l.2 1q-.2.2-.5.1l-3 .2q-.5.2-.9 0-.2-.4.4-.4.4-.3.1-.7l-.7-3.2q-.2-.6-.6-.7-.6 0-.5-.4h1zm6.5 4.1q0 .5.6.7.4 0 .7.2c.1.3-.4.2-.6.2l-1.7.1h-.8q-.4-.2.1-.4.5 0 .7-.4l-.1-.8-.7-2.8q0-.4-.6-.3-.4.2-.7-.1c0-.4.5-.3.7-.4l1.1-.4q.3 0 .3.3zm3.7-3.3q0-.7-.7-.8-.6 0-.8.3-.2.6.4 1l.9.5.2-.6zm.8 2.9q-.2-.7-1-1l-.5-.1a1 1 0 0 0-.4 1q.3 1 1 1 .6.2 1-.4v-.5zm1-.2q0 .8-.6 1.3-.8.5-2 .2-.9-.2-1.2-1.2 0-.8.5-1.4c.1 0 .5-.1.2-.2q-.9-.3-1-1.2-.3-.8.5-1.3a2 2 0 0 1 2.6.7q.3.7 0 1.2l-.6.5q.8.1 1.2.8.3.2.3.6zm3.2.6q.4 0 .5-.4c.1-.2 0-.7.3-.6q.3 0 .3.6.1.6-.4 1.1-.3.2-.8.1h-1.7q-.4.2-.7 0v-.7q.4-1 1-1.6.7-.4.8-1.1l-.2-1.2a1 1 0 0 0-1.4-.3q-.5.3-.3.7c.2.2.6 0 .7.4q.2.5-.3.6t-1-.7q-.2-.9.6-1.4t1.7-.2 1.2 1.2q.2.6-.1 1.3l-1.7 1.7q-.2.2-.1.6.2-.3.5-.2zm3.9-.4q0 .4.6.6.4 0 .7.2c.2.3-.3.3-.5.3h-2.7q-.2-.4.2-.4t.7-.4v-.8l-.7-2.8q-.1-.4-.5-.3t-.7 0c-.2-.4.3-.4.5-.5l1.2-.4q.4 0 .4.3z"/> + </g> + <g fill="#448127" stroke="#34541f" stroke-width=".2"> + <path fill="url(#gt-m)" stroke="#4c0505" d="M475.8 219.4 472 224c-1.2 5.2 1.8 9.2 7.7 12.6 4.7 3 13.5 3.7 16.3 1.3l-13.7-13z"/> + <path d="m503.6 354.3-2-2.5a101 101 0 0 1-32.7 28.6c15.1-4.2 25-15.2 34.7-26.1zM488.1 390a456 456 0 0 1 18.2-32.3l-2.1-2.7c-7.4 12.2-16 26.7-16 35zm41.8-114.5a62 62 0 0 0-4.3-13 127 127 0 0 0-43.8-44v-.3h.4l-.1-.1h.4l-.2-.3h.4l-.3-.4h.4l-.3-.3h.5l-.3-.4h.4l-.4-.3.6-.1-.5-.3.5-.1-.4-.3.6-.2-.5-.3.6-.3-.6-.4.7-.2-.8-.3.7-.4h-.8l.5-.7h-.7l.3-.5h-.6l.3-.5-.7.1.3-.6-.6.4.2-.7-.7.4.1-.7-.6.5.1-.7-.5.5v-.7l-.5.6v-.7l-.4.5-.2-.6-.4.6-.1-.7-.3.7-.2-.7-.3.7-.2-.6-.2.6-.2-.6-.2.8-.2-.7-.3.8-.3-.7v.8l-.4-.7v.8l-.5-.6v.8l-.4-.6v.7l-.4-.3.2.7-.5-.3.2.6-.4-.2.1.6h-.4l.2.4h-.3l.2.4a9 9 0 0 0-.4 3.5c0 .2.6.4.7.6l.2.6c-1.6 2.6-3 4.6-3.1 7.6 1.2-1.6 2.6-3.6 4.4-3.6-.9 1.5-1.3 6.1-.3 6.8l.8-1.3q0 1.5.4 2.3.4-1 1-1.7 0 2.3.6 3.3.7-1.1 1.6-1.6-.4 1.3-.3 2.7.9-1.4 1.9-2.5c-.4 1.6 0 2.8.4 4.5.4-2 .6-2.3 1.5-3.1.1 1.9-.2 3.6.2 4.7.8-1.7 1.4-1.5 2-2.6-.2 1.6-.5 3.3 0 4.7a5 5 0 0 1 1.9-2.6c0 2.2.5 1.8-.8 3.7.6.2 2.5-.4 3.6-.9-.5 1.2-.4 2.1-.9 3q1.5-1 2.9-2.4c-.4 1.4-1.5 2.8-1 4.1q.6-2 2.3-2.5c-.2.7-.3 2.2-1.3 2.9 2.4.2 3.4-1.4 4.6-2.7-.1 1.3 0 2.4 1.6 4.3-.3-2.4.2-1.9 1.3-3.3.6 2.1 1.2 4.4 3.4 6-1-2.3-1-3.5-.6-4.9.3 1.5 1.7 3.3 2 4.6q.3-2.4 1-4a20 20 0 0 1 1.4 5.6q.8-1.5 1.1-3c19.8 20.5 24.2 46.7 2.5 74.4 7.8-5.2 9.8-13.5 14.1-20.6-4.2 9.3-6 19.7-13.5 27.4 7.2-6.2 8.7-11.9 13-17.9-4.5 12.5-11 26.2-19.8 38.8l4.8 5.2 4-6.9c9.4-15.4 24.7-37.5 17-71.1z"/> + </g> + <path fill="#eac102" stroke="#a08307" stroke-width=".2" d="M473.2 215.3c-1 .2-1.4.6-2.2 1.4q1.4.3 2.6.3.3-.2.3-.6l-.2-1c0-.2-.6-.1-.8 0z"/> + <path fill="#a08307" d="m471 216.7 2.2-.5z"/> + <circle cx="477.7" cy="215.4" r=".8" stroke="#000" stroke-width=".1"/> + <ellipse cx="477.9" cy="215.3" fill="url(#gt-n)" rx=".3" ry=".4"/> + <g fill="#34541f"> + <path d="M488.2 389.7a83 83 0 0 1 7.4-17.2 200 200 0 0 1 7.1-12.2l2.6-4-2.5 4-7 12.3a134 134 0 0 0-7.6 17zm-18.9-9.5a76 76 0 0 0 29.7-23.1 154 154 0 0 0-11.2 11.8 70 70 0 0 1-18.5 11.3m37.3-29.3q1.2-1.6 2.2-3.3a136 136 0 0 0 6-10.2l3.8-7 3.7-7-1.7 3.5-1.8 3.6a256 256 0 0 1-7.7 13.8zm5.9-25.1a58 58 0 0 0 8.5-13.4 73 73 0 0 0 6-23l-.1 4a59 59 0 0 1-5.8 19 60 60 0 0 1-8.6 13.4"/> + <path d="M510.9 320a52 52 0 0 0 8.7-12.5A96 96 0 0 0 524 297l.3-.9.3-.9.6-1.8a42 42 0 0 0 .2-15.4 58 58 0 0 0 .7 7.7q0 4-.7 7.7l-.6 1.9-.3.9-.4.9-4.4 10.6a52 52 0 0 1-3.8 6.6 36 36 0 0 1-5 5.8z"/> + <path d="M505 349.2q1.9-2.4 3.6-5l1.8-2.5 1.7-2.5 3-5.4 2.6-5.5q2.7-5.5 5-11.3a79 79 0 0 0 5.3-23.8 58 58 0 0 0-2.6-24.2 52 52 0 0 1 2.8 24.2 80 80 0 0 1-5.3 23.9q-2.3 5.7-5 11.2l-2.8 5.5q-1.3 2.8-2.9 5.4l-1.7 2.6-1.8 2.5-3.6 5z"/> + <path d="M507.8 352.3a443 443 0 0 0 13.4-23.5 82 82 0 0 0 8.7-39.2q0-6.8-1.2-13.4h.1q1.3 6.7 1.2 13.4a103 103 0 0 1-3.6 26.7 82 82 0 0 1-5 12.6 443 443 0 0 1-13.5 23.4zM480 220.8h1.4a14 14 0 0 1 4.1 1.3 36 36 0 0 1 9 6.8 38 38 0 0 0-9-6.6 19 19 0 0 0-5.5-1.5"/> + </g> + <g fill="#448127"> + <path d="M496.4 231.6s3 1.8 4.7 4.4c0 0-4.7-.9-8-4.6"/> + <path fill="#34541f" d="M496.4 231.6a14 14 0 0 1 4.8 4.4l.1.2h-.2a15 15 0 0 1-4.4-1.8q-2-1.2-3.7-3a15 15 0 0 0 5.9 3.8l2.2.7v.2a11 11 0 0 0-2.2-2.5z"/> + <path d="M489.6 230.7s7.2 4.6 8.3 5c0 0-1.7-3.5-5.1-5"/> + <path fill="#34541f" d="m489.6 230.7 4.1 2.5 3.1 1.8 1 .6v.1a11 11 0 0 0-2.1-2.9 11 11 0 0 0-2.9-2.1 8 8 0 0 1 3 2 11 11 0 0 1 2.1 3l.2.2-.3-.1-2.1-1.2z"/> + <path d="M492.5 228.4s3.7 1.6 4.6 4.3c0 0-6.8-2.8-8-4.3"/> + <path fill="#34541f" d="M492.5 228.4a11 11 0 0 1 2.8 1.6l1.1 1.2.8 1.5v.2h-.2a77 77 0 0 1-7-3.7l-.9-.8.9.7 1 .6a36 36 0 0 0 6.1 3h-.1q-.2-.7-.8-1.3l-1-1.2a11 11 0 0 0-2.7-1.8"/> + <path d="M486.8 231.3s6.6 4.7 8.6 4.7c0 0-2-3.3-5.4-4.7"/> + <path fill="#34541f" d="m486.8 231.3 7.4 4.3 1.2.3-.1.2a12 12 0 0 0-2.3-2.8 13 13 0 0 0-3-2 11 11 0 0 1 4.4 3.2l1 1.5.2.1h-.2q-.7 0-1.3-.3l-1-.5a33 33 0 0 1-6.3-4"/> + <path d="M486.8 232.7s3.4 3 5.4 3c0 0-2-3.3-5.4-4.8"/> + <path fill="#34541f" d="m486.8 232.7 4 2.5.6.2.8.2-.1.1a12 12 0 0 0-2.3-2.7 13 13 0 0 0-3-2 11 11 0 0 1 4.4 3.1l1 1.5.2.2h-.2l-1.6-.4a12 12 0 0 1-2.6-1.7z"/> + <path d="M485 226.2s7.2 5.1 8 7.9c0 0-6.4-3-7.6-4.5"/> + <path fill="#34541f" d="M485 226.2a52 52 0 0 1 7.5 6.6l.7 1.2v.3l-.2-.1-6.8-3.9-.8-.7.8.7 1 .6a37 37 0 0 0 6 3l-.2.2-.7-1.2a29 29 0 0 0-5-5z"/> + </g> + <g stroke="#24420e" stroke-width=".2"> + <path fill="#406325" d="M445 370.3a42 42 0 0 1-20.4 4.8c10-8.2 19.7-8.4 20.4-4.8zm69.8 4.5c5.2 4.7 21 8 23.5 7.4-10.6-10.7-22.1-11.8-23.5-7.4z"/> + <path fill="#67923d" d="M445 370.3c-.7-3.7-10.5-3.4-20.4 4.8a70 70 0 0 1 20.4-4.8zm69.9 4.4c1.4-4.4 12.8-3.3 23.4 7.5a84 84 0 0 0-23.4-7.5z"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/gu.svg b/apps/web/public/flags/gu.svg new file mode 100644 index 00000000..3b95219a --- /dev/null +++ b/apps/web/public/flags/gu.svg @@ -0,0 +1,19 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gu" viewBox="0 0 640 480"> + <path fill="#be0027" fill-rule="evenodd" d="M0 0h640v480H0z"/> + <path fill="#3b5aa3" fill-rule="evenodd" d="M25.6 27.3h589.5v428.4H25.6z"/> + <path fill="#cbe0e5" fill-rule="evenodd" d="M314.4 413.2a10 10 0 0 0 8.4.1c137.8-73.3 137.8-274.3.1-346.6a10 10 0 0 0-8.7.2c-134.3 73.4-134.7 272.1.1 346.3z"/> + <path fill="#add2d9" fill-rule="evenodd" d="M314.4 416.9c2 1.7 6.4 1.5 8.4 0 101.5-76 102-123.3 97.6-123.3h-201c-3 0 1.8 48.2 95 123.3"/> + <path fill="#fdf9a1" fill-rule="evenodd" d="M235.3 331.2a39 39 0 0 1 27.9 1.7c7.6 4 12 4 20.2 4 8.6.2 15.3 6.5 24.6 6.8 17.1.4 24.3 8.9 11 9-6.2 0-19.7-4.3-26.2-3.4-13.6 1.4-22.2 4.4-35 18.7l14.8 10c12.8-5.1 14.9-11 22-11.2 8-.3 10.7-5.2 20-5.2a93 93 0 0 0 33-3.2c14.8-3.4 7.8-13.8-1.2-17.5-7.3-3.1-20.8-.1-29.2-3.2-6.4-2.5-1.2-6.5 2.3-7.3 3.4-.7 7.1.5 11.4 1.2 7.7.6 17.4-.1 24.1-1.2 14-2.1 13.4-6.2 20-6.3 5-.3 8.7-1.7 12-4.1 4-2.7 8.1-8 12.9-7.8l12.7.5-18 40.4-50.7 51.7-26.3 10-57.8-37.7-29.1-44.7z"/> + <path fill="#179a3b" fill-rule="evenodd" d="m301.8 292 116-.6 2-10.3s-4.1-.6-7.5-.8c-4.1-.3-11.3 4.4-16 4.3-3.5 0-7.3-6-10.7-6-6 0-6.4 5.3-12 5.5-4.5-.2-6.4-3.6-12.3-3.2s-5.6 3.7-13.3 3.5c-10.2-.3-14.3-9.1-22.5-9.2-13.6-.2-14 13-23.8 16.7z"/> + <path fill="#fdf9a1" fill-rule="evenodd" d="m301.8 294.4 119.4-.6v-3.2l-122.2.6z"/> + <path fill="#a79270" fill-rule="evenodd" d="M350.8 330.3c1.9 7 3.8 9.4 11.2 11.3 7.3 1.7 18.5-5.4 11.6-12.3-6.6-6.4-13.6-8-19.5-13.8-12.5-12.3-31.3-42.5-31.3-63.8 0-18.3-1.8-55.8-1.8-91.3 0-2.3-7 6.4-7 8.8.4 31.3.4 55 1.6 86.6 2 23.1 13 38.7 22.7 52.7 4.3 6.8 10.6 14 12.5 21.8"/> + <path fill="#239e46" fill-rule="evenodd" d="M259.6 160.9c-1.5 3 3.6-.9 4.8-1.3 6.7-2.4 9.3-10.8 20.8-5.7 9 3.9 21.1 1.6 14.8 5.6-7.8 4.7-23.5 9.9-23.8 33.2 1.3 2.2 1.4 1.9 2.5-.6 2.4-5.4 13.7-20.1 19.3-18.9 2.3.6 8.9-6.7 9-4.6.7 5.8-9 17.6-8.8 33.3 0 3.7 4.5 4.9 6.6 2.3 2.2-2.3 3.4-4.6 7.2-7.6 6.6-5.4 4.8-28.6 5.6-27.5 4.7 6 5.4 23.3 12.4 30.3 5.9 5.9 10.6 3 9.3-5-2.5-16.4-10.2-11.7-13.9-28.6-.8-3.3-1-6.2 3.4-4.9 5.3 1.6 8.5 4 12.4 10 4 5.8 11.4 11.3 15.7 14.6 7.5 5.8 10.2.8 6.6-6.6a40 40 0 0 0-21-18.2c-6.2-2.2-8.4-2.4-13.8-3.4-1.5-.3-3-3.4-.4-5.1a43 43 0 0 1 19.6-7.7c6.7-.2 12 5.2 16.7 6.6 9.4 2.4 9.4-3.5 5.2-8-3.4-3.7-10.6-10-17.3-9.1-13.5 1.7-12.6 1.3-21 6.8-3 1.8-6.4 3.8-5.1 1.6 3-5.5.2-4.5 4.9-10.1 3.6-4 6.3-7 10-8 3.4-.9 8-4.5 9.3-6.4 3.4-4.6.5-7.3-4.7-5.7-4.6 1.2-7 4.2-10 5-7.4 2.4-13.3 19-14.2 21.4-1.1 2.8-2.4 1.4-2.2-1 1-11.7 2-31.5-2-39.6-6.4-12-5.8-6.4-8.2-.7-3.6 9-2.3 17.5 0 26.3 1 4.4 4.6 9.4 5.3 12.9.5 2.7-1.6-.8-2.8-2.5-3.9-6-6.8-10-13.2-13.3a35 35 0 0 0-20.2-2c-1.8.6 2 3.2 3.5 4.4 4.3 3.4 12.4 4.5 18 7.9 4.6 2.9 8.2 4.7 9.8 8.7.6 3 1.6 7.4-.4 7.3-5.1-.3-13-4.8-29.4-3-8.4 1.2-15.6 8.3-20.3 16.9"/> + <path fill-rule="evenodd" d="M295.3 310.6h4.7v7.9h-4.7z"/> + <path fill="#fdf9ff" fill-rule="evenodd" d="M271.7 257.9c18.8 26 49 41.2 49.6 53h-58.8c13.5-16.2 21.8-27.2 9.2-53"/> + <path fill="#a68861" fill-rule="evenodd" d="M254.6 311.5c25.6 5.7 56.1 8.9 75.6-.8.2 5.7-6.3 14-11.7 14h-49c5.7-.9 9-2.6 18.2-3l-26 .2c-3 .1-8-7.6-7.1-10.4"/> + <path fill="#be0027" fill-rule="evenodd" d="M312.6 425c2.6 1.5 6.7 1.4 9 .2 147.8-78.7 147.9-294.4.2-372a11 11 0 0 0-9.4.2c-144 78.8-144.4 292 .2 371.7zm.7-17.7a9 9 0 0 0 8 .1c123.6-72.8 125.1-265.1.1-334-2.4-1.8-5.9-1.2-8.3 0-118.4 70.1-125 254.5.2 333.9"/> + <path fill="#bd0728" d="M268.8 225.4q3.4 0 6 1.4 3.5 1.8 4.3 6.6H276q-.6-2.6-2.6-4-1.8-1.2-4.7-1.2-3.3 0-5.7 2.7-2.3 2.5-2.3 7.6 0 4.2 1.9 7 2 2.7 6.3 2.7 3.3 0 5.4-1.9 2.3-1.9 2.3-6.2H269v-2.7h10.6v13h-2.1l-.8-3.2q-1.6 1.9-3 2.7-2.2 1.2-5.5 1.2-4.3 0-7.5-2.8-3.4-3.6-3.4-9.7t3.3-9.7q3.2-3.5 8.2-3.5m-.6 0" aria-label="G" font-family="helvetica" font-size="25.6"/> + <path fill="#bd0728" d="M292.4 226.1v15.2q0 2.6 1 4.3 1.4 2.7 5 2.7 4.1 0 5.7-2.8.8-1.6.8-4.2V226h3.4v13.8q0 4.4-1.4 7-2.1 4.3-8.2 4.3-6.3 0-8.5-4.4-1.2-2.5-1.2-6.9V226zm6.3 0" aria-label="U" font-family="helvetica" font-size="25.6"/> + <path fill="#bd0728" d="m338.4 240.5-3.7-10.7-4 10.7zM333 226h3.7l9 24.5h-3.8l-2.4-7.3h-9.7l-2.7 7.3h-3.3z" aria-label="A" font-family="helvetica" font-size="25.6"/> + <path fill="#bd0728" d="M357 226h4.9l6.9 20.7 7-20.7h4.7v24.4h-3.2v-20.6l-7 20.6h-3.1l-7-20.6v20.6H357z" aria-label="M" font-family="helvetica" font-size="25.6"/> +</svg> diff --git a/apps/web/public/flags/gw.svg b/apps/web/public/flags/gw.svg new file mode 100644 index 00000000..d470bac9 --- /dev/null +++ b/apps/web/public/flags/gw.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-gw" viewBox="0 0 640 480"> + <path fill="#ce1126" d="M0 0h220v480H0z"/> + <path fill="#fcd116" d="M220 0h420v240H220z"/> + <path fill="#009e49" d="M220 240h420v240H220z"/> + <g id="gw-b" transform="matrix(80 0 0 80 110 240)"> + <path id="gw-a" fill="#000001" d="M0-1v1h.5" transform="rotate(18 0 -1)"/> + <use xlink:href="#gw-a" width="100%" height="100%" transform="scale(-1 1)"/> + </g> + <use xlink:href="#gw-b" width="100%" height="100%" transform="rotate(72 110 240)"/> + <use xlink:href="#gw-b" width="100%" height="100%" transform="rotate(144 110 240)"/> + <use xlink:href="#gw-b" width="100%" height="100%" transform="rotate(-144 110 240)"/> + <use xlink:href="#gw-b" width="100%" height="100%" transform="rotate(-72 110 240)"/> +</svg> diff --git a/apps/web/public/flags/gy.svg b/apps/web/public/flags/gy.svg new file mode 100644 index 00000000..569fb562 --- /dev/null +++ b/apps/web/public/flags/gy.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gy" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#399408" d="M2.4 0H640v480H2.4z"/> + <path fill="#fff" d="M.2 0c-.9 0 619.6 241.5 619.6 241.5L0 479.8z"/> + <path fill="#ffde08" d="M.3 20.2c3.4 0 559 217.9 555.9 220L1.9 463.2.3 20.3z"/> + <path fill="#000001" d="M1.9.8c1.8 0 290.9 240.9 290.9 240.9L1.8 477z"/> + <path fill="#de2110" d="M.3 33.9c1.6-15 260.9 208.4 260.9 208.4L.2 451.7V33.9z"/> + </g> +</svg> diff --git a/apps/web/public/flags/hk.svg b/apps/web/public/flags/hk.svg new file mode 100644 index 00000000..4fd55bc1 --- /dev/null +++ b/apps/web/public/flags/hk.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-hk" viewBox="0 0 640 480"> + <path fill="#EC1B2E" d="M0 0h640v480H0"/> + <path id="hk-a" fill="#fff" d="M346.3 103.1C267 98 230.6 201.9 305.6 240.3c-26-22.4-20.6-55.3-10.1-72.4l1.9 1.1c-13.8 23.5-11.2 52.7 11.1 71-12.7-12.3-9.5-39 12.1-48.9s23.6-39.3 16.4-49.1q-14.7-25.6 9.3-38.9M307.9 164l-4.7 7.4-1.8-8.6-8.6-2.3 7.8-4.3-.6-8.9 6.5 6.1 8.3-3.3-3.7 8.1 5.6 6.8z"/> + <use xlink:href="#hk-a" transform="rotate(72 312.5 243.5)"/> + <use xlink:href="#hk-a" transform="rotate(144 312.5 243.5)"/> + <use xlink:href="#hk-a" transform="rotate(216 312.5 243.5)"/> + <use xlink:href="#hk-a" transform="rotate(288 312.5 243.5)"/> +</svg> diff --git a/apps/web/public/flags/hm.svg b/apps/web/public/flags/hm.svg new file mode 100644 index 00000000..815c4820 --- /dev/null +++ b/apps/web/public/flags/hm.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-hm" viewBox="0 0 640 480"> + <path fill="#00008B" d="M0 0h640v480H0z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/> + <path fill="red" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/> + <path fill="#fff" d="M120.5 0v240h80V0zM0 80v80h320V80z"/> + <path fill="red" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/> + <path fill="#fff" d="m527 396.7-20.5 2.6 2.2 20.5-14.8-14.4-14.7 14.5 2-20.5-20.5-2.4 17.3-11.2-10.9-17.5 19.6 6.5 6.9-19.5 7.1 19.4 19.5-6.7-10.7 17.6zm-3.7-117.2 2.7-13-9.8-9 13.2-1.5 5.5-12.1 5.5 12.1 13.2 1.5-9.8 9 2.7 13-11.6-6.6zm-104.1-60-20.3 2.2 1.8 20.3-14.4-14.5-14.8 14.1 2.4-20.3-20.2-2.7 17.3-10.8-10.5-17.5 19.3 6.8L387 178l6.7 19.3 19.4-6.3-10.9 17.3 17.1 11.2ZM623 186.7l-20.9 2.7 2.3 20.9-15.1-14.7-15 14.8 2.1-21-20.9-2.4 17.7-11.5-11.1-17.9 20 6.7 7-19.8 7.2 19.8 19.9-6.9-11 18zm-96.1-83.5-20.7 2.3 1.9 20.8-14.7-14.8-15.1 14.4 2.4-20.7-20.7-2.8 17.7-11L467 73.5l19.7 6.9 7.3-19.5 6.8 19.7 19.8-6.5-11.1 17.6zM234 385.7l-45.8 5.4 4.6 45.9-32.8-32.4-33 32.2 4.9-45.9-45.8-5.8 38.9-24.8-24-39.4 43.6 15 15.8-43.4 15.5 43.5 43.7-14.7-24.3 39.2 38.8 25.1Z"/> +</svg> diff --git a/apps/web/public/flags/hn.svg b/apps/web/public/flags/hn.svg new file mode 100644 index 00000000..11fde67d --- /dev/null +++ b/apps/web/public/flags/hn.svg @@ -0,0 +1,18 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-hn" viewBox="0 0 640 480"> + <path fill="#18c3df" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 160h640v160H0z"/> + <g id="hn-c" fill="#18c3df" transform="translate(320 240)scale(26.66665)"> + <g id="hn-b"> + <path id="hn-a" d="m-.3 0 .5.1L0-1z"/> + <use xlink:href="#hn-a" width="100%" height="100%" transform="scale(-1 1)"/> + </g> + <use xlink:href="#hn-b" width="100%" height="100%" transform="rotate(72)"/> + <use xlink:href="#hn-b" width="100%" height="100%" transform="rotate(-72)"/> + <use xlink:href="#hn-b" width="100%" height="100%" transform="rotate(144)"/> + <use xlink:href="#hn-b" width="100%" height="100%" transform="rotate(-144)"/> + </g> + <use xlink:href="#hn-c" width="100%" height="100%" transform="translate(133.3 -42.7)"/> + <use xlink:href="#hn-c" width="100%" height="100%" transform="translate(133.3 37.3)"/> + <use xlink:href="#hn-c" width="100%" height="100%" transform="translate(-133.3 -42.7)"/> + <use xlink:href="#hn-c" width="100%" height="100%" transform="translate(-133.3 37.3)"/> +</svg> diff --git a/apps/web/public/flags/hr.svg b/apps/web/public/flags/hr.svg new file mode 100644 index 00000000..dde825c3 --- /dev/null +++ b/apps/web/public/flags/hr.svg @@ -0,0 +1,58 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-hr" viewBox="0 0 640 480"> + <path fill="#171796" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 0h640v320H0z"/> + <path fill="red" d="M0 0h640v160H0zm320 364.1c51.3 0 93.3-42 93.3-93.3V160H226.7v110.8c0 51.4 42 93.4 93.3 93.4z"/> + <path fill="#fff" d="M320 362.6a92 92 0 0 0 91.6-91.5V161.8H228.5V271a92 92 0 0 0 91.5 91.5z"/> + <g fill="red"> + <path d="M267.1 165.2H232v38.7h35.2zm0 77.4h35.3v-38.7H267zM232 270.9q0 5.3.6 10.4h34.6v-38.7H232zm105.7-28.3h-35.2v38.7h35.2zm0 77.4h35.2v-38.7h-35.2zm35.2 21.2A89 89 0 0 0 393 320h-20v21.2zM267.1 320h35.3v-38.7H267zm-20.1 0a89 89 0 0 0 20.1 21.2V320zm79.1 38.7q5.9-.4 11.5-1.6V320h-35.2v37.1a87 87 0 0 0 11.4 1.6q6.2.4 12.3 0"/> + <path d="M407.4 281.3q.6-5.1.6-10.4v-28.3h-35.2v38.7zm-69.8-38.7h35.2v-38.7h-35.2zm0-77.4h-35.2v38.7h35.2zm70.4 38.7v-38.7h-35.2v38.7z"/> + </g> + <path fill="#fff" d="m410 158.8 21.8-49.5-16.6-26.8-27.6 10.2-19.4-22.2-25.4 14.7L320 66.5l-22.7 18.6-25.5-14.6-19.4 22.2-27.6-10.3-16.6 27 21.8 49.4a218 218 0 0 1 90-19.3c32 0 62.5 6.9 90 19.3"/> + <path fill="#0093dd" d="m253 94.8-27.4-10-15.3 24.7 5.9 13.3 14.8 33.7a220 220 0 0 1 34.6-12z"/> + <path fill="#fff" stroke="#000" stroke-width=".3" d="M251.4 119.3a13 13 0 0 1 1.6 6.2c0 7.3-6 13.3-13.4 13.3a13.4 13.4 0 0 1-13.1-10.8 13 13 0 0 0 11.7 6.9 13.4 13.4 0 0 0 13.2-15.6z"/> + <path d="m227.6 114 1-4.9-3.8-3.2-.1-.1.2-.1 4.6-1.6 1-4.8v-.2l.2.1 3.7 3.2 4.6-1.6h.2v.2l-1 4.8 3.7 3.2.2.2h-.3l-4.6 1.6-1 4.8v.2l-.1-.1-3.7-3.2-4.6 1.6h-.3z"/> + <path fill="#f7db17" d="m233.6 107.6 3.5 3 4.3-1.5zm0-.2 7.8 1.6-3.4-3zm-8.3-1.6 7.8 1.5-3.5-3zm7.8 1.7-7.8-1.5 3.4 3zm.4-.3 5.2-6-4.3 1.5zm-5.6 6.4 5.2-6-4.3 1.5zm5.3-5.9-5.2 6 4.3-1.5zm5.6-6.4-5.2 6 4.3-1.5zm-5.6 6-2.6-7.6-.9 4.5zm2.7 8-2.5-7.5-.9 4.5zm-2.4-7.6 2.6 7.5.9-4.5zm-2.7-8 2.5 7.5 1-4.5z"/> + <path fill="#171796" d="M297.5 87.4 272.1 73 253 94.9l12.6 49.6a220 220 0 0 1 36.1-6z"/> + <path fill="red" d="M262.5 132.2a232 232 0 0 1 38.2-6.4l-1-12.9a246 246 0 0 0-40.4 6.7zm-6.3-25a258 258 0 0 1 42.4-7l-1.1-12.7a271 271 0 0 0-44.5 7.4z"/> + <g transform="translate(-160)scale(.00237)"> + <path fill="#0093dd" d="m212105 36890-23 13-9517-7794-9497 7778 1788 21560c2543-210 5113-322 7709-322 2608 0 5190 113 7744 325l1795-21560z"/> + <g id="hr-a"> + <path d="M202545 46585c-18-2-44 10-69 45-186 250-359 469-545 720-195 61-242 180-167 348-261-26-291 193-302 432-250-379-522-482-814-307-11-230-187-338-439-392-180-10-319-65-436-145-60-42-110-64-170-106-126-88-226-5-172 74 267 434 535 868 802 1302-14 80 6 151 88 204 47 133 93 265 140 397-11 38-21 75-32 113-221-105-443-118-664-133-170-8-287-50-361-137-54-63-91-26-92 82-3 534 162 1014 599 1492-231 4-462 11-694 21-79 6-95 39-73 104 126 304 339 579 822 766-208 112-327 285-357 520-9 224-75 382-212 455-60 32-81 65-24 106 253 185 565 193 895 112-157 270-226 553-198 850 208 56 412 15 614-52-29 61-44 175-52 309-7 115-41 229-104 343-32 33-65 84 4 102 336 91 648 52 915-47 0 243 2 487 76 727 18 58 70 102 125 26 155-214 322-396 527-517 31 90 75 168 156 215 96 55 147 170 153 343 0 30-2 60 35 90 149 7 514-380 589-597 206 121 284 246 439 461 55 76 99 29 128-25 62-243 67-481 66-724 267 99 579 138 915 47 69-19 36-70 4-102-62-114-105-250-113-365-9-133-14-226-43-287 202 68 405 108 614 52 29-297-53-579-211-850 330 80 655 73 908-112 57-41 35-74-24-106-136-73-203-231-212-455-30-235-149-409-357-520 483-187 696-463 822-766 22-66 6-99-73-104-231-10-480-24-711-27 437-478 606-961 604-1495-1-108-38-146-92-82-74 87-179 137-348 146-222 15-435 24-656 128-11-38-21-75-32-113 46-132 106-260 153-393 82-53 102-123 88-204 267-434 513-868 781-1302 54-79-46-162-171-74-60 42-110 64-170 106-117 80-257 134-437 145-251 54-417 167-428 397-293-175-564-73-814 307-11-239-41-457-302-432 75-168 17-291-178-352-186-250-458-470-644-720-31-35-51-47-69-45z"/> + <g fill="#f7db17"> + <path d="M205075 47978c-51-26-124 17-162 95s-33 170 19 196c40 20 84-6 119-56l22-36c2-3 4-6 5-9 38-78 49-163-2-188zm-5008 0c52-26 124 17 162 95s39 165-13 191-103-24-141-102-60-158-9-184zm4539 905c-32 0-59 27-59 59s26 59 59 59 59-26 59-59c0-32-26-59-59-59m-4032 0a59.1 59.1 0 1 0 .2 118.2 59.1 59.1 0 0 0-.2-118.2m4294-304c-754-91-1506-133-2260-133s-1509 41-2269 115c-26 8-21 90 14 86 756-73 1507-113 2256-113 743 0 1485 40 2228 129 39 4 54-80 32-84z"/> + <path d="M200319 48495c768-75 1530-117 2289-116 754 0 1507 42 2261 133l111-184c-32 10-62 9-90-5-76-38-92-161-36-274 56-114 164-175 240-138 39 19 62 62 68 114l446-739c-204 130-328 214-581 252-281 41-409 139-368 307 38 156-57 133-201 54-314-171-541 71-652 353-73 186-159 181-168-13-4-70 0-131-7-200-21-223-89-286-216-224-161 78-175 25-137-58 28-60 86-128 66-221-9-67-66-92-151-98-182-244-467-483-649-727-182 244-374 483-556 727-86 5-142 30-152 98-20 93 52 157 80 217 38 82 23 135-137 57-127-61-186-3-207 220-7 69-10 139-13 209-9 194-95 199-168 13-111-282-352-524-667-353-145 79-203 102-182-54 23-172-107-266-388-307-253-37-377-122-581-252l419 682c12-25 29-45 53-57 76-38 184 24 240 138 56 113 40 237-36 274-10 5-21 8-32 10l100 163zm4389 911c-7 3-7 4-24 11-46 19-80 66-134 124-57 60-128 125-211 188-12 10-25 19-44-6s-7-35 6-44c80-62 149-124 204-182 30-32 56-63 77-92-95-11-190-21-284-30-79 24-157 55-222 95-59 35-107 77-137 125-8 14-16 27-44 11-27-16-19-30-11-44 35-58 91-107 158-147 33-20 69-38 106-54-107-9-214-18-321-25-22 13-42 29-61 47-20 19-39 42-56 67-9 13-18 26-44 8s-18-31-8-44c19-29 41-54 64-77l9-9c-80-5-161-10-241-14-2 2-5 5-8 7a340 340 0 0 0-93 126c-6 15-12 29-41 18-29-12-23-26-17-41 12-29 27-55 45-81 8-11 18-22 27-33-115-5-230-9-344-12-4 5-9 8-14 11q-37.5 22.5-66 51c-28.5 28.5-35 40-48 63-8 14-16 28-43 12-28-16-20-29-12-43 16-28 35-54 59-77 7-7 14-13 21-19-122-2-244-4-365-4q-180 0-360 3c8 7 15 13 22 20 23 23 42 49 59 77 8 14 16 27-12 43s-35 2-44-12q-19.5-34.5-48-63c-28.5-28.5-41-36-66-51-6-3-12-7-15-12-115 2-230 6-345 11 11 11 20 23 29 35 19 25 33 52 45 81 6 15 12 29-17 41s-35-3-41-18c-9-24-22-46-38-67-15-21-34-41-55-59-4-3-7-6-10-10-81 4-162 8-243 13 4 4 9 8 13 12 24 23 45 48 64 77 9 13 18 26-8 44s-35 5-44-8c-18-26-36-48-56-67s-41-35-64-49c-1-1-3-2-5-3-110 7-220 14-330 23 43 18 85 38 122 61 67 40 124 89 158 147 8 14 16 27-11 44-27 16-35 3-44-11-29-48-78-90-137-125-72-44-159-77-246-102h-2c-90 7-179 15-268 24 22 33 51 68 86 106 55 58 124 120 204 182 13 9 25 19 6 44s-32 15-44 6c-83-64-155-128-211-188-37-38-99-111-135-140-196-90-354-127-575-147-153-14-318-9-458-79 36 85 75 164 126 229 53 68 120 121 209 147 8 2 21 16 22 25 28 157 84 286 169 386 52 60 114 110 188 149-75-81-132-166-172-251-67-142-90-286-77-420 1-16 3-32 34-29 32 3 30 19 29 35-11 123 9 256 72 387 56 118 159 237 291 346 24 19 0 63-29 55-154-44-290-123-383-231-89-104-149-237-180-397-94-32-165-90-222-164-47-60-85-131-118-205 28 428 182 801 456 1137 61 75 165 182 255 216 92 35 95 100-20 101-34 1-69 1-105 1 84 31 164 66 233 105 127 73 217 162 224 273 1 16 2 32-29 34-32 2-33-14-34-29-6-86-82-160-192-223-113-65-259-117-402-160-154 0-312-1-459 3 39 28 80 57 131 84 82 44 188 86 343 122 89 21 166 52 233 91 71 42 130 93 177 150 10 12 20 25-5 45s-34 8-45-5c-42-52-95-98-159-135q-91.5-54-216-84c-161-38-272-81-358-128-75-40-131-82-184-123 180 393 450 573 835 689 23 7 43 13 61 19 3 1 6 1 9 2 86 21 175 40 266 55 92 15 166 28 261 37 16 1 32 3 29 34-3 32-19 30-34 29-99-9-174-22-266-38q-87-15-171-33c-26 6-64 9-107 12-232 14-420 225-435 494 0 5 0 11-1 16 88-80 179-157 273-212 117-68 239-103 364-69 15 4 31 8 22 39-8 31-23 27-39 22-106-28-212 3-316 63-108 63-213 158-315 253-24 147-82 285-205 377 61 34 104 65 163 45 86-39 172-78 261-108 91-31 184-52 282-57 16-1 32-1 33 31s-14 32-31 33c-91 4-179 24-264 53-75 26-149 58-222 91 221 47 460-1 667-79 60-22 105-42 133-41 51-30 112-53 172-79 66-28 132-51 182-57 16-2 32-4 35 28 4 32-12 33-28 35-112 13-127 21-222 79 0 21-66 57-126 96-36 24-70 52-87 67-95 86-144 181-188 287-29 70-52 145-68 224 55-108 121-211 201-303 94-108 208-201 345-265 14-7 29-13 42 15 13 29-1 35-15 42-129 60-236 147-324 250-90 103-161 222-219 345-31 64-8 1-42 86 110-122 212-224 323-307 132-100 283-157 418-133 15 3 31 6 26 37s-21 28-37 26c-116-21-250 32-369 121-121 92-244 223-366 361 184 26 366-26 542-85 91-30 183-135 239-152 19-24 38-46 57-67 33-37 67-71 102-100 12-10 24-20 45 4s8 34-4 45c-33 28-65 60-96 94-32 35-62 73-92 113-6 8-13 17-24 16-60 70-151 162-172 240-57 210-25 370-122 576 71-38 128-81 175-134 53-60 94-135 128-230 37-104 95-195 167-270 75-77 165-136 261-172 15-5 30-11 41 19s-4 35-19 41c-87 32-169 86-238 157-66 68-119 151-153 247-37 102-81 183-141 250-44 50-95 91-156 127 52-3 78-10 121-7 79-6 211-66 279-119 66-51 116-120 154-206 6-15 13-29 42-16s23 27 16 42c-42 96-99 174-173 231-56 43-121 75-196 93 161-5 311-42 467-100 65-24 87-168 127-208 32-58 66-112 105-158 47-56 101-101 164-127 15-6 29-12 41 18 12 29-3 35-17 41-52 21-98 60-139 108-36 42-68 93-98 147 10 73-51 228-53 305-7 205-2 409 53 612 53-71 107-134 162-192 0-5 0-10 1-15 18-106 33-219 40-332 7-112 7-223-6-329-2-16-4-32 27-35 32-4 34 12 35 28 14 111 14 226 7 340-6 90-16 180-30 269 54-51 53-51 77-103 37-80 59-159 67-237 9-80 5-157-13-230-4-15-7-31 24-38s35 8 38 24c19 80 25 165 14 252-8 65-24 132-49 199 56-42 114-82 178-122-4-75-5-153-3-227 2-68 7-134 18-190 4-20 7-40 47-33s37 27 33 48c-9 50-14 111-16 177-2 78 0 162 4 243 5 82 49 185 125 230 103 62 158 163 186 274 16-145 17-280 3-400-17-143-55-267-114-368-8-14-16-27 12-44 27-16 35-2 43 12 63 110 104 241 122 393 17 146 13 310-13 488 102-82 381-258 352-594-7-27-16-52-28-75-7-14-14-28 14-42s35 0 42 14c17 33 30 69 39 110 5 24 8 49 11 76 13-7 45-43 51-39 24 16 58 38 80 54-21-60-35-120-42-178-10-87-5-172 14-252 4-15 7-31 38-24s27 23 24 38c-18 73-22 151-13 230 9 77 31 157 67 237 4 8 8 16 5 25 24 21 47 42 70 65-13-84-22-170-28-255-8-115-7-230 7-341 2-16 4-32 35-28s29 20 27 35c-13 106-13 217-6 329 7 113 22 225 40 332 1 2 1 5 1 7 54 59 95 120 152 196 55-203 73-407 66-612-2-76-69-227-65-302-30-55-63-107-100-151-41-49-87-87-139-108-15-6-29-12-18-41 12-29 27-24 41-18 62 26 117 71 164 127 38 45 72 98 103 154 57 7 78 179 143 212 154 57 298 94 453 100q-112.5-28.5-195-93c-74-57-131-135-173-231-6-15-13-29 16-42s35 2 42 16c38 86 88 156 154 206 85 66 289 124 400 127-61-37-113-78-157-128-59-67-104-148-141-250-34-95-87-179-153-247a642 642 0 0 0-238-157c-15-6-29-11-19-41 11-29 26-24 41-19 96 36 186 94 261 172 72 74 130 166 167 270 34 95 75 169 128 230 47 54 105 98 177 135-98-207-66-367-122-577-35-129-232-277-193-320 45-51 133 88 248 127 175 59 357 111 540 85-122-138-244-269-366-361-119-90-237-140-352-120-16 3-31 6-37-26-5-31 10-34 26-37 135-24 269 32 401 132 111 84 201 175 311 298-18-47 0-14-30-77-59-123-130-241-220-345-89-102-196-189-324-250-14-7-28-13-15-42 13-28 28-22 42-15 137 65 251 157 345 265 81 93 147 198 203 307-15-81-39-157-68-227-44-106-93-201-188-287-62-56-209-140-208-179-29-15-33-11-63-24-61-26-121-46-164-52-16-2-32-4-28-35 4-32 19-30 35-28 50 6 115 28 182 56 33 14 66 43 98 60 53 4 139 47 208 74 206 78 446 126 666 79-73-33-147-65-223-91-85-29-172-49-264-53-16-1-32-1-31-33s17-31 33-31c98 4 191 26 282 57 89 30 175 69 261 108 59 27 101-7 163-45-123-92-181-230-205-376l-2-2c-102-95-207-190-315-253-104-60-210-91-316-63-15 4-31 8-39-22-8-31 7-35 22-39 125-33 247 1 364 69 94 55 186 132 274 213 0-6-1-11-1-17-15-270-203-480-435-494-78-5-189 21-186-32 4-59 97-44 234-86 385-116 655-296 836-690-54 41-110 83-186 124-86 47-198 91-358 128-82 19-154 48-216 84-64 38-117 84-159 135-10 12-20 25-45 5s-14-32-5-45c47-57 106-108 177-150 67-39 145-70 233-91 155-36 261-78 343-122 51-27 92-55 131-84-148-4-305-3-459-3-143 44-289 96-402 160-110 63-186 136-192 223-1 16-2 32-34 29-32-2-31-18-29-34 8-111 97-200 224-273 69-39 149-74 233-105-35 0-70 0-104-1-116-2-112-66-20-101 90-34 190-141 251-216 271-334 412-714 456-1130-33 72-69 140-115 198-57 73-128 131-222 164-31 160-91 293-180 397-92 108-216 185-369 230-29 8-52-35-29-55 132-109 221-226 278-344 62-131 83-264 72-387-1-16-3-32 29-35 31-3 33 13 34 29 12 134-10 278-78 420-40 85-97 170-172 251 73-39 136-89 187-149 85-100 141-229 170-386 1-8 14-22 22-25 89-27 155-79 209-147 51-65 90-143 126-228-140 69-304 64-457 78-213 19-369 68-554 152z"/> + <path d="M204649 49231c-680-88-1359-113-2041-114-684 0-1369 40-2058 112-20 6-15 33-14 46 2 28 37 35 121 27 643-60 1285-93 1932-93 674 0 1351 21 2038 102 33 9 77-85 22-81z"/> + <path fill-rule="evenodd" d="M200570 49160c683-71 1362-110 2038-110 675 0 1349 40 2025 127l31-127c-17 9-37 15-58 15a123 123 0 1 1 113-171l60-170c-724-84-1446-122-2171-122-729 0-1459 38-2193 107l58 164c22-32 59-54 101-54a123 123 0 1 1 0 246c-12 0-25-2-36-6l33 94-2 7zm3067-416a123 123 0 1 0 0 246 123 123 0 1 0 0-246m0 64a59.1 59.1 0 0 0 0 118c32 0 59-27 59-59s-26-59-59-59m-1082-91a123 123 0 1 0 123 123c0-68-55-123-123-123m0 64a59.1 59.1 0 1 0 .2 118.2 59.1 59.1 0 0 0-.2-118.2m-1064-40a123 123 0 1 0-.2 245.8 123 123 0 0 0 .2-245.8m0 64c-33 0-59 26-59 59s26 59 59 59a59.1 59.1 0 0 0 0-118"/> + </g> + <path d="M202601 47974c-14-68-49-129-100-175-51-47-116-78-187-88-33-4-39-58-7-68 60-20 114-67 157-133 45-69 79-157 95-256 5-34 64-35 69-1 15 84 51 153 97 208 55 66 125 112 193 138 31 12 25 63-8 68-59 9-105 42-141 87-50 62-81 145-100 221-8 33-62 31-69-2zm33-118c20-52 47-103 81-146 28-34 60-64 99-84-51-30-100-70-143-120-28-34-53-73-73-116-19 59-45 112-75 158-31 47-67 86-108 116 50 19 95 47 134 82 34 31 63 68 85 110m799 5115-515 206c-17 7-35 14-48-21-14-34 4-41 21-48l515-206c17-7 35-14 48 21 14 34-4 41-21 48m59-326-604 328c-16 9-33 18-51-15s-1-42 15-51l604-328c16-9 33-18 51 15s1 42-15 51m-1826-65 604 328c16 9 33 18 15 51s-34 24-51 15l-604-328c-16-9-33-18-15-51s34-24 51-15m51 322 515 206c18 7 35 14 21 48-14 35-31 28-49 21l-515-206c-17-7-34-14-21-48 14-35 31-28 48-21zm224 434c137 33 261 48 358 31 88-16 155-60 191-146v-493c-107-1-212-15-303-41-109-31-170-98-201-178-41-107-27-235-4-329 5-18 9-36 45-27s32 27 27 45c-20 82-33 194 1 284 23 60 69 110 152 133 91 25 198 38 307 38 107 0 214-13 304-40 82-24 148-69 192-123s65-117 57-176c-5-36-24-62-49-80-34-24-82-35-128-37-47-2-94 7-142 16-25 5-50 9-77 13-19 2-37 5-42-32s14-40 32-42c23-3 48-8 73-12 52-10 105-20 159-18 60 2 121 18 168 51 42 29 72 72 80 131 11 80-16 163-73 233-53 65-131 119-229 147-83 24-178 38-274 42v483c3 5 3 11 2 16 37 82 102 125 188 141 97 18 221 2 358-31 18-5 36-9 45 27 8 37-9 41-28 45-146 35-279 51-388 32-92-17-165-58-215-132-49 74-124 115-215 132-109 20-242 4-388-32-18-4-37-8-28-45 8-36 27-32 45-27zm356 210 402-9c19 0 38-1 38 37 1 38-18 38-37 38l-402 9c-19 0-37 1-38-37s18-38 37-38m593-3082c151-125 293-227 423-297 133-72 254-111 359-106 19 1 37 1 36 39-1 37-20 37-39 36-92-4-200 32-322 97-125 67-263 166-410 289-14 12-29 24-53-5s-9-41 5-53zm-605 56c-141-130-298-240-445-314-139-71-268-108-363-100-19 2-37 4-40-34-4-37 15-39 34-40 110-10 252 31 404 107 152 77 315 191 461 325 14 13 28 25 2 53-25 27-39 15-53 2zm-213 1004c37-83 83-155 136-219 53-63 112-119 174-170 14-12 29-24 52 5 24 29 9 41-5 53-59 48-114 101-164 160-49 59-91 125-125 201-8 17-15 34-49 19s-27-32-19-49m371-1734c49 66 88 139 114 223 26 82 40 175 39 279 5 80 6 165-7 249-13 86-42 170-97 246-43 60-101 97-165 113-53 13-109 10-164-7 29 100 51 208 6 308-8 18-33 27-51 18-43-22-86-43-128-62s-84-36-127-51l-1-1c-95-37-173-73-236-112-65-39-115-80-150-124l1 2c-44-49-72-106-88-170-14-55-20-114-22-174-72-39-138-78-194-116-64-43-118-87-161-131-13-14-26-27 1-53s40-12 53 1c39 40 89 80 150 121 60 40 128 81 204 121 124 13 247 51 370 109 106 50 211 115 317 192 13 7 19 16 27 20 8 6 16 13 25 19 51 22 104 28 152 16 47-11 90-39 122-84 48-66 72-139 84-214 12-77 11-157 6-234v-2c1-97-12-183-35-258-24-76-58-142-102-201-11-15-22-30 7-52s41-7 52 7zm-375 1047c-104-77-207-141-311-190-105-49-210-83-314-98q3 72 18 135c13 52 35 99 71 138l1 1c30 37 73 72 130 107 60 36 134 71 225 106l-1-1c45 16 89 34 133 54 31 14 61 28 93 44 19-83-10-179-37-267-2-8-5-15-9-29zm776-1003c-44 59-79 125-102 201-24 76-36 161-35 258v2c-5 77-6 158 6 234 12 75 37 148 84 214 32 45 75 72 122 84 48 12 101 6 152-16l25-19c6-4 13-12 27-20 105-77 211-143 317-192 123-58 246-95 370-109 75-40 144-80 204-121s111-81 149-121c13-13 26-27 53-1s14 39 0 53c-43 44-97 88-161 131-57 38-122 77-194 116-2 61-8 119-22 174-16 63-44 121-88 170l1-2c-35 44-85 85-150 124-63 38-141 75-237 112l-1 1c-43 15-85 32-127 51-43 19-85 40-128 62-18 9-43 0-51-18-45-100-23-208 6-308-55 18-111 20-164 7-64-15-122-53-165-113-55-76-84-160-97-246-13-85-12-169-7-249-1-104 13-196 39-279 26-84 65-158 114-223 11-15 22-30 52-7 30 22 19 37 7 52zm940 715c-105 15-209 49-314 98-104 49-207 113-311 190-4 13-6 21-8 29-27 88-56 184-37 267 31-15 62-30 93-44 44-20 87-38 133-54l-1 1c91-35 165-70 225-106 58-34 100-70 131-107l1-1c35-39 57-86 71-138 11-42 16-87 19-135z"/> + <path fill-rule="evenodd" d="M203459 50602a216.4 216.4 0 0 0 0 433 216.6 216.6 0 0 0 0-433m0 69c-81 0-147 66-147 147s66 147 147 147 147-66 147-147-66-147-147-147m0 60a87 87 0 1 0 .1 174.1 87 87 0 0 0-.1-174.1m-1697-124c119 0 217 97 217 216s-97 217-217 217a216.6 216.6 0 0 1 0-433m0 69c81 0 147 66 147 147s-66 147-147 147-147-66-147-147 66-147 147-147m0 60a87 87 0 1 1-.1 174.1 87 87 0 0 1 .1-174.1"/> + </g> + <use xlink:href="#hr-a" width="100%" height="100%" transform="rotate(-2.2 -55532.8 156275.8)"/> + <use xlink:href="#hr-a" width="100%" height="100%" transform="rotate(2.2 459865.8 156275.8)"/> + </g> + <path fill="#171796" d="m387.2 94.9-19.3-22-25.2 14.5-4.3 51.1a220 220 0 0 1 36.2 6z"/> + <path d="M347.7 98q1.2-.4 2.6.3.5.1.8.6.5-.5 1.2-.8a4 4 0 0 1 1.8-1q1.4-.7 2.7-.9h2.8q1.2 0 2.3.6l2 1q1.2.7 2.2 1a9 9 0 0 0 4.5.5q.8-.2.2.4c-3.3 2-5.9.2-8.1-.6l2.1 1.7q1 1.2 3.5 2.4a8 8 0 0 0 5 .7l.4.1-.1.5a5 5 0 0 1-2.6.7 10 10 0 0 1-5.2-1.3q-2-1.1-3.3-2.4a8 8 0 0 0-3-1.4 6 6 0 0 0-2.9 0q.4.1.6.4.6.4 2 .5.6 0-.5.7a2 2 0 0 1-1.6.8c-1 .6-1.3.2-1.7-.2l-.2.8v.4l.2.7q0 .3.2.4.3.3.3.7t.3.4l.6.6q.8.4 1 1.2.6.3.7.9.3 0 .6.4l2.6.1q1.2.2 2 1.2h1.2l1.3-.3h2.3q.8.3 1.2.8.8.6 1.8.2a3 3 0 0 1 2.4 0l1-.2q.6-.4 1-.4 1-.2.9.8 0 .3-.3.4-.4.8-1.3.7-.2.6-.5.8.4 1.3-.7 1.2 0 .4-.6.4a1 1 0 0 1-1 .5l.4.6c.4.7-.2 1-.8 1v1.2q1 .6.2 1.2.6 1.1-.5 1.6 0 .7-.3 1-.4.2-.3.6.4.9-.2 1.2l-.2.1-.2.2-1.5 1h-.2a10 10 0 0 1-1.8 2.4q0 .8-1 1.1l-.3.4q.6.4.2 1l-1.3.8q-1.5.4-2-.2-.5-.5 0-.7-1 0-.8-.7 0-.3.3-.1.6 0 1-.3l.5-.6q.1-1 1.1-1.3.8-.3 1.4-1.2l.9-1.5-.3-.7-.5-.6q-.7 0-.7-.5h-.3l-.7.2-1.1 1q-.3.5-.7.5c-1 .1-1.5 1.2-2 1.7q-.3.2-.4.7 0 1-.4 1h-.8q.4.4 0 .9-.2.4-.8.4l-1.6-.2q-.5-.3-.5-.7-.4-.2-.3-.5 0-.3.4-.2l.6-.2a5 5 0 0 1 1.8-1.4l.7-.7q.1-.8 1-1.4l.1-.6v-.3q-.3-.5-.1-1v-.6q-1.6.8-1.6-.1-.7.6-1 0-.6.3-1.2.1l-.8.2-.4.7q0 .7-.5 1.5l-.7 1.5-.1.5q0 .9-.5 1l-.4.8v.2q.2.5-.2 1l-1 .6h-1q-.5-.4-.3-.6h-.5l-.4-.3q-.2-.3.1-.5l.9-.6q0-.3.4-.4.3-.6.6-.7l.7-1.5q.2-.2.1-.4l.1-.3s.2-.1 0-.2a1 1 0 0 1 .2-1.2c.3-.4.6-1.4.3-2v-.8h-.3q-.3-.2-.6.2l-.4.6q-.2 1.3-1 1.6v1.2q0 .7-.2.7t-.5.5l-.1.3q.4.5-.1 1-1 .8-2.2.3-.9-.4-.7-.8c-.8 0-.7-.7 0-.9q1.2-.3 1.9-1.4 0-1.2.7-1.4 0-.8.4-1.4.3-.6.2-1.3-.6-.4 0-1 .2 0 0-.2-.4-.1-.3-.5t-.2-.2q-.8-.2-.2-.7.2-.1 0-.4l-.1-.4q-.4-.4 0-.9l-.4-.8q-1.1 0-.6-.9l.7-.6q.3-.5.2-.8c-.2-.6.5-1 1-1.4l-.1-.4q-.4-.5.1-.8l-.1-.5q-1.1.2-.4-1-.8-.5.5-1.5v-.4l-1 .3q-.5.3-.9.1l-.4-.4-.2-.6c-1 0-1.1-.7-.6-1q.5-.4.7-.9.4-.8 1.3-1.5v-.5l-.7-.3-.6-.7q-.2 0 0-.4-.7-.6-.3-1"/> + <g fill="#f7db17"> + <path d="M364.5 122h-.2l-.8.7q-.5-.2-.2.1l-.2.2q0 .4-.5.4h-.1v-.7l-.1.4v.4q-1.1.6-1.9 1.7l-.4.8c0 .2 0 .9-.3.9h-.2q0-.1-.4 0h-1c-.2.2.4.2.7.3q.2.2.1.5c-.2.7-1.8.5-2.3.2q-.2-.2-.2-.5h.3q.3 0 .5-.2v-.1h-1.2.2l.7-.3a5 5 0 0 1 1.9-1.4l.8-.7q.1-.9.8-1.5l.3-.7v-.3q-.4-.6-.1-1v-.9l.8-.6v.8l-.2.3v.3-.3l.3-.2.7-.4.7-.6v1l-.6.7v.1h.1l.5-.7 1-.6v1z"/> + <path d="m349 113 .2-.2.4-.6.5-.6-.4.7-.4.5v.2q0 .4.3.7l.3-.4.4-.4.5-.6h.1l-.2.4-.3.3-.4.3-.2.4v.3c-.2.3-.5.5 0 .7l.1.5-.1.7q-.2.3.1.2l.4-.4.3-.4.4-.5.1-.5h.1l-.1.6-.5.5-.2.4-.3.4q.2.2.2.7h.1l.2-.2.2-.4h.1l-.2.4-.2.3q.3.2 0 .5-.5.4 0 .7v1.2l.1.3h-.1v-.3q-.6.9-.7 1.8c-.6.1-.5.8-.6 1.3a4 4 0 0 1-1.9 1.5q-.3 0-.5.3 0 .3.4.2.8-.6.2.2v.3c.5.4 1.6.5 2.2.2q.6-.4.2-.9 0-.8.8-1.2v-.4l.1-1.3.2-.1c.2 0 .6-.7.7-1.3v-.4q.1-.3.3 0 0-.3.2-.4.3-.6.8-.4l-.1-.8v-1l.2-.2.3-.7.3-.7h.1l-.3.7-.3.8v.1l-.1 1 .2.9.2.4v.6c.4.6 0 1.7-.3 2.2l-.1.8q.2.3-.1.6v.1q0 .3-.2.5l-.7 1.6q-.5.1-.6.7-.4.1-.4.4l-.9.6q-.3.1.2.4.3 0 .6-.4t.2 0l-.2.7.7.3q.7-.2 1.2-.6t.1-.8h-.5l-.5-.3 1 .2v-.3l.5-.8q.5-.2.4-.9l.1-.5.7-1.6q.6-.6.5-1.4 0-.3.3-.3l.3-.5.1-.4.2-.2v-.5l-.1-.4-.1-.2v-.2h.1v.3q.3.3.2.5v.5l-.2.2v.3l.6-.1.4-.5.2-.6-.1.7-.3.3q.6.2 1 0V119l.4-.7q.2 0 0 0l-.2.8v1q.1.6.5.3l.4-.2v-.1l1.8-1.6v.1l-.8.7-.8.7v.3q0 .5.6.3l.6-.2.3-.2.5-.3.5-.3.1-.6.7-1.3a2 2 0 0 0 1.1-1.1h.1l-.4.7-.7.5-.7 1.2-.1.5v.9q.3 0 .7-.3l.7-.7.2-.5.4-.4h.1v.1l-.4.3-.2.5v1.1l1-.5v1q0 .5.4.8l.5-.6.3-.3.2-.2.3-.2-.2.3-.2.2-.3.2v.5h.6q-.1.7.5.6v-.5l.1-.5h.1l-.1.5v.5q.2.4.7.6l.2-.5v-.4h.1v.5l-.3.5v.5l.2-.3.3-.4q.2 0 0 0 0 .3-.2.4l-.2.4.2.2c-.6 1-1.3 2.5-2.5 3q-.9.2-1 1.2l-.5.6-1.2.3q0 .4.3.4l.7-.3q.2.2-.5.8v.1c.4.6 1.4.4 1.9.2q.8-.2 1.2-.9.1-.3-.2-.6c-.8.1-.6-.6 0-.3q.3 0 .3-.3.9-.3 1-1 1-1 1.6-2.1.2-.3.1-.5l.2-.5.1-.4h.1v.5l-.2.3q0 .2.2.2l1.5-1q0-.4.4-.4l.2-.1q.1-.5-.2-.8-.1-.5.4-.7.3-.4.2-1v-.5l.1.3v.1q.5-.1.7-.6 0-.5-.3-.8l-.6.2.7-.4.3-.2c.2-.3-.3-.5-.5-.6l-.7-.7v-.1l.7.6v-1.1l-.2-.4-.5-.4-.1-.5.2.4.4.4h1c.3-.3-.2-.7-.3-.9l-.1-.5h.1l-.2-.2h-.1v-.2l.2.1.2.2h.1q.4 0 .7-.5l-.3-.4-.5-.3v-.1h.1l.8.8q.4 0 .6-.3l-.2-.4-.3-.4q.3 0 .4.3l.2.5.4-.1c.3-.2 0-.8 0-1h-.1l-.2-.2h.2l.2.1.4-.6c0-.4 0-.2.5-.3q.5.2.9-.6.2 0 .2-.3 0-.4-.3-.4-.7 0-1 .3v.3l-.2-.2-1.1.2h-.2l.2.3.1.4-.2-.4-.3-.4-1-.2.2.1.2.2v.1l-.2-.2-.2-.2-.9.2-.6.2.4.5.2.6-.3-.6-.4-.4h-.5l.2.3-.3-.4-.5-.2.2 1.5-.2-.9-.1-.7-.2-.2-.6-.4-.2.7.1-.8-1-.2.5.8.3.5v.5l-.1-.5-.3-.4-.3-.5-.3-.4h-.4.1v.3-.2l-.2-.1h-.8a5 5 0 0 1 1 2.3l-.4-1.2-.7-1h-.6l.4.4q0 .1 0 0l-.3-.1-.3-.2h-.3l-.1.1 1 1.1-.6-.6-.6-.4h-.6l.5 1.7h-.1l-.2-.8-.3-.9h-.4l.3 1.6v.1l-.2-1-.3-.8-1.3-1 .4 1.1v.1l-.2-.7-.4-.6h-1.3q.4.2.4.6 0-.3-.6-.7h-.6l.3.3.2.5.2.6.4.4s.1 0 0 0q0 .1 0 0l-.5-.3-.2-.7-.2-.4-.3-.4h-.7l.2.8.1 1h-.1v-1l-.3-.8-.6-.5v.3h-.1v-.3q-.2-.7-.6-.8v.4l-.2.4h-.1l.1-.5v-.4q0-.9-.8-1.2v.2l-.1.5h-.1v-.8l-.5-.5v.7l-.4.8h-.1l.3-.8.1-.8-.2-.3v.2h-.1v-.2l.1-.1v-.1l-.3-.5-.2.5h-.1l.1-.3.1-.3-.1-.2-.1.2-.2.2v-.1l.1-.2.1-.2v-.2l-.2-.7h-.3l-.5.4v-.1l.4-.3.4-.1v-.2l-1 .3-.9-.2h.8l1.1-.2.2-.6h-.5l.6-.1v-.2q.1-.3.4 0 .3 0 .4.3.4.2.9-.2h-.2v-.1h.3q.9.1 1.4-.5h-1l-.6-.2.7.1h1l.5-.3a5 5 0 0 1-2-.6l-.6-.3q-.8 0-1.4.3l-.3-.3-.4-.2h-.6s-.1 0 0 0h1.2l1.7-.3 1.7-.2v-.2q.5-.5.3-.9t-.8-.7h-1.3l-.8.1.6.4.4 1v.1h-.2l-.4-1c-.1-.2-.6-.3-.7-.4l-1.3.2-.7.4h.8q.4.3.6.8v.1h-.2l-.5-.7c-.4-.2-1.2 0-1.6.3l-.6.6h-.2v-.2l.7-.6.7-.4 1-.5 1.3-.2-.5-.5h-.8q-.7.2-1.5.7h.5l.1.2h-.9l-1.5 1.2q-.7 0-1 .2l-.1.6-.2.7q-.8.7-1.3 1.5l-.3.5.3.1v-.2l.2-.4h.1l-.1.4v.5h-.2l-.1-.2h-.3l-.3.2-.2.3q0 .4.5.3c.6 0 .1.4.4.7l.5.4h.5q0-.6.2-.6l.2-.4v.2l-.1.2v.4l1-.2q1.2-1 .4 0l-.1.2-.2.6c-.2.1-1 .8-.7 1q.4 0 .3.2-.3.4-.3.9h.3l.7-.6.5-.8h.1l.3-.8q0-.3.3-.7l.3.3h.5l.2-.3h.1l-.3.4h-.5l-.3-.3-.5 1.4v.1l-1.2 1.4.2.5 1-1 .8-1-.3.6v1.1h-.1v-.9l-.3.3-1 1q-.6.3-.2.7l.3-.3.4-.3h.1v.1l-.4.3-.4.3.1.3h.1l.8-.6v.1l-.7.6h-.1c-.3.3-1.2.8-1 1.2l.6-.2.6-.5v.1l-.6.5v.2-.1l-.7.1q.2.6-.3 1c0 .1-1 .9-.6 1z"/> + <path d="m349.4 100.1-.6-.3-.5-.5q-.3-.2-.1-.3l.2-.1h.3l.2.2h.1l-.2-.2-.4-.1h-.4l-.2-.5.4.1.2.1-.2-.2h-.2a3 3 0 0 1 2.1.2q.5.1.8.6l-.2.2q-.7 0-1 .2-.2.2-.2.6z"/> + </g> + <path d="m365 121.8-.4.2q0-.4.3-.6v.2zm2 4.2-.4.4-.5.4v-.1l.4-.4.4-.4zm1.3-1.6-.2.3h-.1l.2-.3zm-.7 0-.2.3-.5.4v-.1l.4-.3.1-.4zm1.2-1.6-.1.2-.1.2h-.1zm1 0v.5l-.3.5.1-.5zm-.4-6q.4.8.4 1.5l.1-.6a1 1 0 0 0 .3-1.1h.1v.6l-.3.6-.2 1h-.1v-.1q.1-.9-.4-1.8zm-.8 1v.3h-.1v-.4zm-.2 1.4.2 1.4.1-.1.3-.3h.1l-.3.3-.2.4-.1-.9zm1 .5.1 1.2v-.6zm1-.2v1.7l.1.6-.3-.6v-.6l.2-.5zm.5-1.5-.1.3v.2h-.1v-.6zm-.5-2.6v.2q.2 0 0 0zs-.1 0 0 0m.2-2v.8l-.2.3v.6h-.1v-.6l.3-.4zm-2-.7q.5.3.8.7t.3.9l-.6-.2v1.8q-.3.7-1 1a4 4 0 0 0 0-1.8h.1v1.6l.7-.8a4 4 0 0 0 .1-1.9l.6.2q0-.4-.3-.8l-.7-.6zm5.2-1v.2h-.1v-.2s0-.1 0 0zm-1.2 0 .3.1.1.2v.1l-.2-.2zm-1.8.5.3.5v.6q-.2 0 0 0l-.1-.6zm-6 .5v.4l-.1.1zm1-.6.2.4v.1h-.1v-.1l-.1-.3zm2.4 1.6v.3-.2h-.1zm.8-1.8v.4a.1.1 0 0 0 0-.2q-.2-.1 0-.1zm-5.5.3.2.7.3.4v.4h-.1v-.4l-.2-.3-.2-.4zm2.2 1.5.2.7v.7q0 .5.2.8l.6.7-.1-1 .3-1q.2 0 .3-.3v-.4h.1v.4l-.3.5-.3.9.2 1h-.1q-.6-.3-.8-.8l-.2-.8v-.7l-.2-.6h.1zm-.9 1.4q0 .4-.2.7l-.4.6h.3l.7-.6.3-.3-.2.4-.3.2v.4-.2l-.1-.1-.4.2-.4.2v-.1l.4-.7zm-1 0v.1h-.1z"/> + <path d="M363 113.7q.2.4.2 1l-.4.8-.5.6-.2.6.2-.3.5-.3 1.1-.9h.1l-1.2 1-.4.3-.4.5q0-.6.2-1l.5-.6.4-.8zm2.3 3.5.1.4.1.1q.3.4.3.8l-.1 1h-.1l-.4-1-.8-.6v-.1q.6.3.9.7l.3.6v-.6l-.1-.7-.1-.2q-.3-.3-.2-.4zm1 0 .1.2h-.1l-.2-.2zm1 .3-.2.7-.2.7.2-.7zm.7 4v-.2zm-.7-1.2v.3l-.2.4v-.4l.1-.4h.1zm-1 0h.1v.1zm-1.1-.6-.1.2v.2h-.1v-.4h.1zm-1.7 1.8-.1.2v.2s-.1.1-.2 0v-.2l.2-.3zm-4.8 4.6v.2l-.2.1q-.2 0 0 0zm.8-.4-.1.2h-.2l.1-.1v-.1zm1-.6-.2.1v-.2zm1.5-3.8-.1.4v.4h-.1v-.9h.1zm1-10.3-.1.3-.2.3h-.1l.2-.3v-.3l.1-.1zm-1-1 .1 1v-.5zm-1.4 1.7-.4-.4-.1-.4.2.4zm1.5 2.6v.2h-.1v-.2zm-2-2 .6 1 .1.8q.3 0 .4-.3v-.9l.3-.6.1-.5h.1l.4.8.3.9h-.1l-.3-.9-.3-.6v.4l-.3.5-.1 1-.4.3v.4h-.1l-.2-1.2-.5-1zm1.2 5v.3l-.1.4h-.1v-.8h.1q.2 0 0 0zm-2.2.9v.3l-.1-.3zm1.9-2.5-.2.6-.3.5-.3.6v.7l-.1-.7q0-.3.3-.7l.3-.5.2-.6zm-.5-.8v.6l-.5.6-.4.5-.2.5h-.1l.2-.6.5-.5.3-.5zm-2.4 1.2q0 .6-.2 1-.1.5-.6.8h-.1v-.1q.4-.3.6-.8.3-.3.2-1zm-3 1.7v.2l.1.1v.1h-.1l-.1-.2v-.2s-.1 0 0 0zm-1.3 0v.7l.4.6.1.5v.4l.4-.5.2-.6v.6l-.5.6h-.1v-.5l-.2-.4-.3-.7-.1-.7zm.2 4.2.1-.8h.1l-.1.8zm-.2 1.1v-.4s0-.1.1 0v.4zm-.8 2 .2-.3.2-.3h.1l-.2.4-.2.2q-.2 0 0 0zm-1.1-6.6v.2h-.1v-.2zm-2 4.5v-.2h.1v.3zm5-8-.3 1q0 .5.3.7.4.3.5.7v-.4q.2-.2 0-.4h.1v1h-.1v-.2l-.5-.6q-.4-.2-.4-.8l.2-1zm-.4-1.3v.8l-.3.7-.2 1q0 .6.3 1v.1a3 3 0 0 1-.2-2.1l.2-.7v-.8zm-2.3 3.3v.4l.1.5-.3-.5zm-1-.4v.6l-.1.3.1.2v.1l-.2-.3v-.4l.1-.2zm5.8-8.6a2 2 0 0 0 .3 1.5l-.4-.7zm-.7.7.5 1.7h-.1l-.5-1.6v-.1zm-3.6.1q-.5.8-.6 1.3l.2.9.2.8-.2.8V111l-.3-1q0-.5.6-1.2zm3.3-1.4v.5l-.4.4-.3.4v.7-.7l.3-.5.3-.4zm-3.5.3v.7q0 .3-.4.6l-.4.6-.1.7h-.1l.1-.8q0-.3.4-.6l.4-.6v-.6zm2 .1v.2l.1.3-.2-.2zm0-.5-.5.4-.2.7.2.5v.7-.7l-.3-.4a2 2 0 0 0-.5 1.2q0 .8.5 1.5h-.1a3 3 0 0 1-.5-1.5q0-.7.6-1.3 0-.5.2-.8l.5-.4zm-.7-.8q0 .5-.2.7l-.2.3-.1.4h-.1v-.4l.3-.4q.2-.2.2-.6v-.1zm5.7 6 .1.5v.4-.4zm0 2v.6l-.2.6-.3.6.2-.6.2-.6v-.7h.1zm-1.2-1.8a3 3 0 0 1 .7 2.5h-.1a2 2 0 0 0-.6-2.4zm0 2-1 1.4-.5 1-.1-.6-.2-.4-.3-.9.3-.8.3-.6v-.6h.1l-.3 1.3-.3.7q0 .5.2.8l.3.8.5-.8.5-.6.3-.7zm-3.2-1 .4 1.4v.1h-.1l-.3-.7zm-1.7 1v.3h-.1zm.6-1.6-.1.5-.3.5.2-.5v-.5zm-1.6 3.1a3 3 0 0 1-.3-1.7q0-.7.6-1l.4-.7q.2-.3.1-1c-.1-.7.1 0 .1 0v1l-.6.7-.5 1q0 .7.3 1.7zm-1-1.1v.3l.1.4-.2-.4zm4.6-3.2.3.8q.1.5-.2.9h-.1l.2-.9zm1.4-1.1a2 2 0 0 1 0 1.7l-.2-.8-.5-.5q0-.1.1 0l.6 1v-.6zm.8-1.2.4.8v1.5l.2.4-.2-.4v-.5l-.1-1-.4-.7h.1zm-2.2-.2-.3.5v.7-.7q0-.3.2-.5.2 0 0 0zm-4.4 3-.3 1-.8.7.7-.7q.3-.4.3-1zm0-1.6v.5l-.3.5.1-.5v-.5zm2.9-.2v1h-.1zm.7-1.3q-.3.4-.3.8l.2.7.3 1.2q0 .5-.4 1.1l.3-1.1-.3-1.2-.2-.7q0-.5.3-.8zm-4.6-8.1 1-.5q.6 0 1.2.3h.8-.8q-.6.7-1.1.7a1 1 0 0 1-.9-.2q0-.1 0 0a1 1 0 0 0 .9 0q.3 0 1-.5l-1-.1-1 .4z"/> + <path d="m351.6 101 .3.3-.3.2-.2-.2zm1.8 1.6.8-.7v.1l-.2.3-.5.4v-.1zm3.7-1.6h.3l.3.2h-.5l-.1-.1zm-2 .1.3-.4.7-.1v.1h-.7zq-.2 0 0 0m.2.4v-.3l.3-.1h.1l-.3.2v.2zm-3.6 1.1-.1.3v.3l-.1.1v-.4zm1 .5v.2zm-.6-1.1h.6l-.3.1zs-.1 0 0-.1m.6-2-.2.1-.1.2h-.1l.2-.3zm-1 .2h-.2v.2h-.1v-.2zm-.7 0-.1.1-.1.2h-.1l.1-.2.2-.2zm-.8.7-.4.4v-.1zm0 .9-.2.2q-.2 0 0 0v-.2zq.2 0 0 0m-.7.2v.3l-.1.1v-.4zm1 1.4v.6h-.1v-.6zm-.6-.4v.3h-.1v-.3zm-.6-4.5.5.4v.1h-.1l-.2-.3-.2-.1zm5.2 6.7a2 2 0 0 1 0 1.4h-.1a2 2 0 0 0 0-1.3v-.1zm-1.7 2q0-.4.3-.7l.4-.6q.3-.3.3-.7v-.7h.1a2 2 0 0 1-.3 1.5l-.4.5zm-2.2-.6.2-.3.3-.1-.2.2zm-.4-.2.3-.3.3-.2v.1l-.3.2zq-.2 0 0 0m2.3-2.2h.5v.1h-.6q0-.1 0 0zm-1.2-.1q.2 0 0 0m24.2 7 .2.3h-.1v-.1l-.2-.2zm-26.8 12.5.3.3h.5v.1h-.5l-.4-.3q0-.1 0 0z"/> + <g fill="red"> + <path d="M368.9 99.6h1.7q-.9.5-2 .7l.3-.4zm-1.4-.1h1.2v.4s0 .2-.2.3v.1h-1.3l.3-.5v-.4zm-10.5-3q1-.3 2-.2l.5.4q.2.3.1.8l.1.1h.1l-.1-1-.3-.2h.2a5 5 0 0 1 2.1.6q.3.3.2.5l-.3.5v.2h.2l.3-.7v-.3l1.7.8v.5l-.5.3v.1l.1.1q.4 0 .6-.4v-.4l1.2.6v.3q0 .3-.3.4v.1q.4 0 .6-.4v-.3l.4.1 1.3.4.1.4-.2.3v.2c-1.4-.1-2.7-.9-4.1-1.4l-.5-.2-1.6-.6-.1-.1-1.5-.4h-1.7l-.1-.8-.5-.4z"/> + <path d="m354.6 97 2-.5q.6.2.7.5v.6l-1.7.2-.7-.6-.3-.1zm7.4 3.9-.5-.4a7 7 0 0 0-3-.8q.4-.6.3-1.1l-.7-.8h1l2 .6v.8q0 .3-.5.7v.1q.6-.2.7-.7v-.8l1 .6 1 .8q0 .5-.3.8h-.9v.2z"/> + <path d="m364 102.4-1.8-1.4q.6 0 1-.2.2-.2.3-.8l1.1 1 .6.5v.6l-.4.2h-.7z"/> + <path d="m366.2 103.8-2-1.3h.7l.4-.2.1-.4v-.2l2.1 1.4q0 .4-.3.5l-1 .1z"/> + <path d="m368.4 104.7-2-.8q.6 0 1-.2.3 0 .3-.5l1.3.6v.4l-.5.4s-.1 0 0 0z"/> + <path d="M373.2 104.2s.4-.1.2 0q-2.2 1.4-4.8.5.4-.1.6-.4v-.5l1.7.4-.1.3-.5.3s-.1 0 0 .1q.5 0 .6-.3l.2-.4h2zm-9.7 24-.2.4-1.2.3q0 .4.3.4l.7-.3q.2.2-.5.8v.1c.4.6 1.4.4 1.9.3a3 3 0 0 0 1.3-1l-.3-.6q-.6.1-.5-.2zm-15.1-4.8q-.5.5-1 .6t-.6.3q0 .3.4.2.8-.6.2.2v.3c.5.4 1.6.5 2.2.2q.6-.3.2-.9v-.2h-.6l-.4-.3zm10 3.5h-.1c-.2.2.3.2.6.3q.3.2.2.5c-.3.7-1.9.5-2.4.2q-.2-.2-.2-.5h.3l.6-.2v-.2h-.2l-.4.2h-.5l-.2-.2h.2l.7-.2.1-.1q.8 0 1.3.2m-7.2-.4-.2.3-.9.6q-.2.1.2.4.4 0 .6-.4.3-.4.2 0l-.2.7.7.3q.8-.2 1.2-.6t.1-.8h-.5l-.5-.3zm2.8-26.4h.3l.6.1 1.7-.3 1.7-.2v-.2q.4-.4.3-.9l-.8-.7h-1.3l-.8.1.6.4.4 1h-.2q0-.5-.3-.9l-.8-.4-1.3.2q-.4 0-.7.3l.8.1q.5.2.6.8h-.1l-.5-.6c-.4-.2-1.3 0-1.7.2l-.6.6zm-2.3-.4.7-.6.7-.4 1-.5 1.3-.2-.5-.5-.8-.1-1.5.8h.5l.1.2h-.9l-1.3 1q.5.1.7.4"/> + </g> + <path fill="#0093dd" d="m409 156.5 20.8-47-15.3-24.7-27.3 10-12.7 49.8a219 219 0 0 1 34.5 11.9"/> + <path fill="#fff" d="M382.6 113a252 252 0 0 1 39.6 13.7l-8 18.2a232 232 0 0 0-36.5-12.7z"/> + <path fill="red" d="m415.4 142 5.4-12.2a249 249 0 0 0-39-13.5l-3.2 12.4a236 236 0 0 1 37 12.8z"/> + <path d="M385.6 125.8q.5-.4 1.1-.1l1-.2.6-.2q.3 0 0-.3v-.3q-1-.7-1.2-1.5-.5 0-.5-.3h-.5q-1-.1-1.3-.5l-.6-.4-.3-.3q-.3-.6.2-.7h.7l.9-.1q.4 0 .9-.6v-.4s0-.2.2-.1a1 1 0 0 1 .8.5q.8 0 1.2.7 1 .1 1.2.5 0 .3-.5.6v.2l.4.4 1 .7q1.5-.1 4.8 2a19 19 0 0 1 4.1 1.2h.9q3.6-.7 6.8 1.5 1.2.2 2.2.7.7.3 1.6.3a8 8 0 0 1 2.6.7q1.6.3 2.4 1.2.6.8-.2 1.2-.4.8-1.8.3-1 0-2-.9-1.2-.4-2.4-1.3l-1.3-.6h-.8v.2q.4.3.4.8v1q0 .5.7.9l1 .4q.3 0 .3.3l.4 1.7.4.3c.6.5.2 1-.3 1l-1.3.8q-.6.2-.7-.2l-.4-.2c-.5-.4-.1-1 1-.7l.2-.2v-.9l-.3-.2-1-.6q-1-.8-2.4-1.4-1-.1-1.8-.7h-.8q-.3 0-.5.2t-.8.2h-1.6q-.6 0-1 .3-.3.3-.7 0l-.3-.2q-.5 0-.5-.2-.7-.1-.6-.4c-.6-.1-.3-.6 0-.6l1.4.1q.8.1 1.2-.2l.5-.5a4 4 0 0 1-1.8-.5q-1.6-1.1-2.8-.3-.2.3-.6.1h-.5q-.7.1-1.3-.1a4 4 0 0 1-1.8 0q-.9.5-1.2.2l-.6-.4q-.6-.2-.5-.3-.6 0-.5-.4-.2-.3 0-.4.6-.3 1 0 .4 0 .6.3h.6q.2-.2 1-.2l.7-.2v-.2q-.5-.1-.9-.7a3 3 0 0 1-1.5-.5q-.6 0-1-.3h-2.9a1 1 0 0 1-1 .2l-.8-.5q-.4-.1-.4-.4-.5-.3 0-.5.3-.2 1 0z"/> + <path fill="#fff" d="M401.2 130.5s0-.2-.3 0q-1.2.1-2.2-.4-1-.7-2-.8l.7-.4h1.5q1 0 2 .4.6.3 1 .8l.8.7h-.7z"/> + <path d="M403 94.7v.2l.9 4.9-3.7 3.2-.2.1.2.1 4.7 1.6 1 4.9v.2l.2-.1 3.7-3.3 4.6 1.6h.3v-.1l-1-4.9 3.7-3.2.2-.2h-.3l-4.6-1.6-1-4.9V93l-.2.1-3.7 3.3z"/> + <path fill="#f7db17" d="m400.6 103 3.5-3 4.4 1.4zm8.5-1.7 3.4-3 4.4 1.5zm7.8-1.3-3.4 3-4.4-1.5zm-8.4 1.6-3.5 3-4.3-1.5zm-5-6.4 4.3 1.4.8 4.6zm5.5 6.4 4.4 1.5.9 4.5zm5.1 6.1-4.3-1.5-.9-4.5zm-5.6-6.4-4.3-1.5-.9-4.5zm3-7.7 1 4.6-3.5 3zm-2.7 8.1.8 4.6-3.4 3zm-2.8 7.5-.9-4.5 3.5-3zm2.8-8-.9-4.6 3.5-3z"/> +</svg> diff --git a/apps/web/public/flags/ht.svg b/apps/web/public/flags/ht.svg new file mode 100644 index 00000000..8e8efc46 --- /dev/null +++ b/apps/web/public/flags/ht.svg @@ -0,0 +1,116 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ht" viewBox="0 0 640 480"> + <path fill="#d21034" d="M0 0h640v480H0z"/> + <path fill="#00209f" d="M0 0h640v240H0z"/> + <g fill="#f1b517" stroke="#000" stroke-width=".2"> + <path fill="#fff" stroke="none" d="M244.3 179.7h151.4v120.5H244.3z"/> + <path fill="#016a16" stroke="#016a16" stroke-width=".3" d="m350.5 266.8-31 1-30.7.3s-15.8 5.8-22.3 7.1-5.6 3.4-10.5 4.6c-4 .9-4.5 1.1-6.8 1.3-1.5 0-3.2 1.2-5 2.4v16.7h151.5v-15.9q-2.4-1.3-4.8-2c-2.2-.8-3.7-1.6-7.7-2.5-5-1.1-4.2-3.3-10.6-4.6-6.5-1.3-22.1-8.4-22.1-8.4z"/> + <g transform="translate(-80)scale(1.6)"> + <g id="ht-a"> + <path d="M244.5 143.5h1.4l2.6 10.7-.6 3.4z"/> + <path fill="#fff" d="m243 136.3 1 8.3h1l-2-8.2z"/> + <path d="m245.7 154.6-4.3-11.5 1.6-.1 5 14z"/> + <path fill="#fff" d="m239.4 136.5 1.8 8h1.4z"/> + <path d="m241.9 150.6-2.5-5.5 1-.2 4.7 9z"/> + <path fill="#fff" d="m236 138.8 2.9 7.6h1.4l-4.2-7.6z"/> + <path fill="#0a328c" d="m242.3 151.4-11.5-12.5c-3.6 2.8-2.9 8-2.9 8l13 10.2z"/> + <path fill="#d20014" d="m248.9 158.2-8.5-8.6c-3.6.2-.8 5.5-.6 6.2l9 7.7z"/> + <path d="M248.1 156.8 230.6 138l-.7.5 18.6 20.6zm-18.5-20-.4-.5v-.9l-3.6-2.3 1.6 3.7 1.3.2.3.4z"/> + <path d="M227.7 138.1a8 8 0 0 1 2.7-2.2l1 1.5-2.2 1.8-1.5-1z"/> + <path fill="#0a328c" stroke="#0a328c" d="m225.8 141.3.6 1c.4-.1 4-3.5 4-3.5h2.7l.7-.9c-2-2-3.7.3-3.7.3z"/> + <path fill="#d20014" stroke="#d20014" d="M228 143c0-1 1.8-3.2 2-3.3 1.3.4 2.5 1.2 3.9-1.8-1.2 1.4-3.5 0-3.5 0l-1 .8v.4l-3 2.8z"/> + <path fill="#0a328c" d="m237.3 154.7-14.4-11.4c-2.5 2.5-.4 10.2-.4 10.2l14 7.6.7-6.4z"/> + <path fill="#d20014" d="m249.2 164-11.9-9.6c-4 .6-.8 6.5-.6 7.2l12.5 6.8z"/> + <path d="m248.7 162-25.6-19.2-.5.6 26.8 21zm-26.8-20.2-.4-.4-.2-.8-4-1.7 2.3 3.3h1.3l.4.4z"/> + <path d="M220.3 143.4a8 8 0 0 1 2.3-2.6l1.2 1.3-1.8 2.1z"/> + <path fill="#0a328c" stroke="#0a328c" d="M219 146.6v1.1c.4-.2 3.7-3.7 3.7-3.7l2.5-.5.6-.8c-1.8-2.1-3.7.7-3.7.7z"/> + <path fill="#d20014" stroke="#d20014" d="M221 148.5c-.2-1 1.2-3.8 1.4-4 1.6.5 3 1.2 3.5-2-1 1.6-3.5.4-3.5.4l-.8 1v.5l-2.5 3.3z"/> + <path fill="#0a328c" d="m236.2 161.7-18.5-10.5c-1.3 2.3-.1 5.5.5 6 0 1.5-.6 2.3.7 5.5q.6 3.2 2.7 5c1.6 6.4 8.2 6.9 10.7 1.6z"/> + <path fill="#d20014" d="m248.3 168.5-12.5-7.3c-4 .5 0 8 .3 8.7l12.2 4.3z"/> + <path d="m246.2 165.8-28.3-15-.5.6 30 16.7zM216.5 150l-.5-.3-.3-.8-4.1-1 2.7 2.9 1.2-.2.6.3z"/> + <path d="M215.2 151.8q.4-1.4 1.8-3l1.4 1.1-1.4 2.4z"/> + <path fill="#0a328c" stroke="#0a328c" d="m214.1 155.2.6 1.2 3-4.6 2.5-.9.5-1c-2-1.8-3.5 1.4-3.5 1.4z"/> + <path fill="#d20014" stroke="#d20014" d="M216.8 156.8c-.2-1 .5-4.2.7-4.3 1.5.5 2.8.6 3.2-2.6-1 1.5-3.3 1-3.3 1l-.7 1 .1.4-2 4z"/> + </g> + <use xlink:href="#ht-a" width="100%" height="100%" transform="matrix(-1 0 0 1 499.9 0)"/> + </g> + <g transform="translate(-80)scale(1.6)"> + <path fill="#016a16" stroke="#016a16" d="m248.8 125.6-.5 9h2.9l-.4-9 3-.3-.3-3.6-7.5.3v3.2z"/> + <g id="ht-b" fill="#016a16"> + <path d="M249.8 121.9c-7.8-7.8-13.9-4-15.3-2.9 1 .2 1.8-.4 2.3-.5l-1 1.2s2.5-1 2.8-1c-.4.3-.8 1-.8 1 .2 0 1.6-1.1 1.8-1.1-.4.4-.5 1.5-.5 1.5l1.2-.5c.3.2-.1.6.1.6 2-.2 4.7 1.7 5 2.3"/> + <path d="M247.9 123.3c-.8-1.8-15.6-5-18.6.3 1.2.3 2.3-1 2.3-1v1.2l1.9-1.6-.7 1.6 1.5-1.3v1.3l2-2-.3 1.1 1.7-.7-.2 1"/> + <path d="M247.2 123.6c-3.8-2.5-9.6-.8-9.6-.8-3.8 2-5.8 1.7-6.2 5.6.3-.1 1.3-1.4 1.3-1.4l.8 1.5.2-2.1.6 1.7 1-2.8.2 1.9 1.4-1.9.6.6.6-1.5.6 1s1-.6 1.5-.3l1-1.2.3.9 1-1 .3.7.9-.8v.6h3"/> + <path d="M246.4 124c-2.7 0-10.3 2.9-12.2 5.8l1.3-.6.3 1.2.5-1.2.1 1q.4-1.2 1.2-.1l.2-1.1.3 1 .5-1.1s.3 1.2.5 1.2c0 0 .8-2.2 1.2-2.3l.1 1.4.5-1.4.5 1v-1.4l.6 1s.2-1 .6-1.2l.8.7 3.4-2.5"/> + <path d="M246.9 124.7c-3.5 1.3-6.7 6.2-6.4 8.2 1.5-2 1.2-1.7 1.9.6 0 0 .2-2 .5-2.2l.5 1.4.1-1.9h.5l-.1-1.1.7.5c-.2-.7-.3-.9.4-1.5 0 0-1 .1-.2-1.5l.7.6s-.2-.7 0-1l2.6-.8"/> + <path d="m247.2 125-1.3 2.6.7.2-1.6 1.1 1.3-.1s-2 .7-2.2 2.7l2-1s-1.7 1.8-2 2.9l1.3-1s-1.2 1.2-1 3l.9-1c-.2 2.3-.2 2.5.8 4.2 0 0-.2-2.6 0-3l2.3 2.4-1.2-3.3s1.4 2 2.2 1.9l-1.8-2.7 1.8 1.4-2-3 1.8.6s-1.3-1.7-1.2-2.8l1.3 1.4s-.5-1.5-.4-2l.7.1-1.3-1.4.9-.2-.1-1 .6-.1v-1.1m-1.1 0c-2.2 3-1.1 7.5-2.4 9.9"/> + </g> + <use xlink:href="#ht-b" width="100%" height="100%" transform="matrix(-1 0 0 1 499.9 0)"/> + <path d="M251 166.5s1.1-10 1.1-14.2c0-3.4-.8-10.8-.8-10.8H248s-.5 7.4-.4 10.8c0 4.2 1.1 14.2 1.1 14.2z"/> + <path d="M247.7 142h4l-.5-2.7h-2.9z"/> + <path d="M248 139.8h3.5l-.7-2.7h-2.2z"/> + <path d="M248.2 137.7h3l-.6-2.7h-1.9z"/> + <path d="M250.7 134.7h-2l-.3 1h2.5zm.4 29.7h-2.6m2.8-2h-3m3.4-2h-3.8m4-2.1h-4m4-2.2h-4.1m4.2-2h-4.4m4.4-1.7h-4.6m4.6-2.2h-4.6m4.5-2.1h-4.5m4.3-2.2h-4.1m3.9-2h-3.7"/> + <path fill="#0a328c" stroke="#0a328c" d="M250 119c-.8-.3-2.3-1.3-1.9-1.9l.7-1.2c1-2.2 0-1.4 0-2-.2-.8 3.8-.2 3.8 1.3 0 .5-.3.2-.2 2.6l-.8 1.5z"/> + <path d="m250.4 125-1-.9.3-7.1 1 .3-.3 7.6z"/> + <path fill="#d20014" stroke="#d20014" d="M251.7 119.3c.6-.4 1-1.5.6-2.1-1-1.3-1.7-.8-3.4-1.4-.3.4-1 1-.9 1.6 2.3 1 1.4.2 2.2.3.4 0 .6.5 1.5 1.5z"/> + </g> + <g transform="translate(-80)scale(1.6)"> + <use xlink:href="#ht-c" width="100%" height="100%" transform="matrix(1 0 0 -1 0 320.4)"/> + <path fill="#016a16" stroke="#fff" stroke-linecap="round" d="M238.4 161.8c0 1.2-.9 2.3-1.9 2.3s-1.8-1-1.8-2.4v-1.2h3.7z"/> + <ellipse cx="236.5" cy="160.1" fill="#fff" stroke="none" rx="1.8" ry=".9"/> + <path fill="#016a16" stroke="#f1b517" d="m236.1 161-.3-3.2h1.4l-.2 3.3h-.9z"/> + <path id="ht-c" fill="#016a16" stroke="#fff" stroke-linecap="round" d="M238.5 160.1q-.4.8-2 .9c-1.6.1-1.7-.4-2-.9v.4q.2 1.1 2 1.2 2 0 2.1-1.2z"/> + <g id="ht-d"> + <path d="m246 172.8-7-2.2-3.1-5.3-10.9-.5.4 4 9.3 1.7.8 1.6 10.7 3z"/> + <path fill="#503200" d="m238.7 174.3-11.2-16.5-.5.5 11 16.4z"/> + <path fill="#fff" d="m228.6 158.5-1.2-2q-.4-.6-1.1-.2-.6.4-.2 1.1l1 1.9z"/> + <path d="m240 164.1-22.5-2.3-.6 3.3 22.4 2.3z"/> + <path d="m217 161-.5 4.5h1l.6-4.1zm3.8.7-.2 4.1h.6l.5-3.5zm15.3 1.8-.6 3.8h1.1l.5-3.8zm3.3.1-.7 4.4 1.2.2.4-2.3q.1.8 1 .8 1-.1 1-1t-1-1a1 1 0 0 0-1 .6l.3-1.6zm-8 .7-3.2 3.5.4.4 4-2.7zM224 173l3.1-3.5-.3-.4-4 2.7zm8.1-.9-3.7-2.9-.4.3 3 3.8zm-9.3-6.7 3.9 2.8.4-.3-3-3.8zm4.2-2.3.4 4.6h.5l1.2-4.5zm1.2 11-.3-4.5h-.6l-.7 4.6zm5.1-6-4.8.4v.5l4.8.6zm-11.4 1.5 4.7-.7v-.4l-4.8-.5v1.6z"/> + <ellipse cx="227.7" cy="168.6" rx="1.3" ry="1.2"/> + <path fill-rule="evenodd" stroke-linecap="round" d="M234.4 168.6c0 3.5-3 6.5-6.7 6.5a6.6 6.6 0 0 1-6.7-6.5c0-3.6 3-6.5 6.7-6.5a6.6 6.6 0 0 1 6.7 6.5zm-1.3 0a5.3 5.3 0 0 1-5.4 5.2 5.3 5.3 0 0 1-5.4-5.3 5.3 5.3 0 0 1 5.4-5.1 5.3 5.3 0 0 1 5.4 5.2z"/> + <path d="m223.5 165.3-1-.8m8.5 0 1-1m1 9.2-1.1-.9m-8.4 1.9 1-1m21.7-10.6 1.1 6-.9.4-1-6.3z"/> + <path fill="#fff" d="M245.6 161.4c-.5-.3-1.2.1-2.4-1.3-1.9 1.7 0 2 .2 3.7.5.2.9-1.4 2.3-1.5l2.3-.2-.5-.7z"/> + <path fill="#fff" d="m246.4 162.5-.2-1.7c-.3-.7-1-.1-1 .2l.2 1.7z"/> + <path fill-rule="evenodd" d="M240.8 167.4v1.6c-.6.2-.5.6-.5 1.2v4.7q-.3.5-1 .6-.6.6 1 1l1 .1q2.2-.6 1-1-.7-.3-1-.6v-1.2h1c.2 0 .7-.6.7-1.1v-2.5c0-1.4-1-1.6-1.4-1.5v-1.3zm1.6 2.7c0-.4-.6-.8-.8-.8q-.5.2-.7.9v1c0 .4.3 1.6.9 1.7q.4-.1.6-.8z"/> + <path fill="#fff" d="M234.3 172.3c-.7-.2-.7 1.2-.7 1.2h1q.8.4.6 1.2c-.3.2-2.2-.5-2.3 0 .3 1.9 2.9 2.6 3.8 1.8s1.1-3-1.8-3.7zm.6.6-.3.6"/> + <path d="m215 173-1-4m2.1 3.8-1.5-3.1m4 2.3-3.3-1.8m4.8 1.4-6.2-2.7"/> + <path fill="#d20014" stroke="#d20014" d="m210.2 166-2.6.1c-.2.1.5.9.4 1.1-.6 1.1-4.4 1-4.7.8-.5-.5 3.5-.8 3.6-1 0-.4-.6-1.2-.5-1.7 0-.7 1.7-1 1.7-1z"/> + <path fill="#503200" d="m213.2 168-5-4.2s-.3-.2-.5 0 0 .4 0 .4l5.4 4.4.1-.5z"/> + <path d="m218.2 172.2-4.2-3.6-.3-1-.8.6c-.3.2-.6.8-.6.8h1.1l3.6 3.4 1.1-.2z"/> + <circle cx="232.5" cy="177.1" r=".7"/> + <circle cx="230.6" cy="175.7" r=".7"/> + <circle cx="228.1" cy="176.6" r=".7"/> + <circle cx="224.2" cy="177.4" r=".7"/> + <circle cx="222.5" cy="177.6" r=".7"/> + <circle cx="220.8" cy="177.6" r=".7"/> + <circle cx="219.2" cy="177.6" r=".7"/> + <circle cx="220" cy="176.3" r=".7"/> + <circle cx="221.6" cy="176.4" r=".7"/> + <circle cx="223.1" cy="176.2" r=".7"/> + <circle cx="222.4" cy="175" r=".7"/> + <circle cx="220.8" cy="174.9" r=".7"/> + <path fill-rule="evenodd" d="M236.5 178c0-.3-.8-.2-.8-.6s1.2 0 1.3.3c.7-.6 1-.2 1.4 0q1-1.2 2-.2c.4-.4 1.4-.3 1.7.2q1-.8 1.7 0 .3-.5.7 0c.3-.7 1.2-.5 1.6 0 .3-.4.7-.1 1.1.1q.6-.3.8 0c0 .4-.6.3-.6.6s.4 0 .4.4c0 .3-.6.4-.7 0-.3.4-1.1.2-1.2-.2a1 1 0 0 1-1.2 0q-.5.3-.8 0c-.5.5-1.4.4-1.7-.2h-.3a1 1 0 0 1-1.5 0q-1.2.8-1.9 0c-.5.7-1.4.7-1.5 0-.4.3-1.2.4-1.2 0 0-.2.7-.1.7-.4zm1.6.1q0 .3-.4.3t-.4-.3.4-.2zm1.9-.2q0 .3-.6.3t-.5-.3q0-.2.5-.3t.5.3zm3.5.2q0 .3-.5.3t-.4-.3q0-.2.4-.3.6 0 .5.3zm-1.9 0q0 .3-.5.3t-.4-.4.4-.4q.5 0 .5.4zm4 0q0 .2-.3.3-.5 0-.5-.4t.5-.3q.3 0 .4.3zm-1.2 0q0 .3-.2.3t-.3-.3q0-.3.3-.2zm2.4.1q0 .3-.3.4-.2 0-.3-.4t.3-.3q.3 0 .3.3z"/> + </g> + <use xlink:href="#ht-d" width="100%" height="100%" transform="matrix(-1 0 0 1 499.9 0)"/> + <path fill="#0a328c" stroke="#0a328c" d="M249.8 165.7c-2.5 0-4.5 1-4.5 2.1l.2.6c.5.6 2.3 1 4.4 1q3.2 0 4.2-.9.3-.3.3-.7c0-1.1-2-2-4.6-2z"/> + <path d="M254.4 168v7c0 .9-2 1.5-4.5 1.5s-4.6-.6-4.6-1.5v-7c0 .8 2 1.5 4.5 1.5 2.6 0 4.6-.7 4.6-1.5z"/> + <path fill="#d20014" stroke="#d20014" d="M245.3 168v1l2.2 7 1.8-5.4 2 5.5 1.3-5.2 1.8 3.5v-1.9l-1.6-3.4-.6.2-1 3.8-1.5-3.6h-.7l-1.5 3.6-1.6-4.4q-.6-.3-.6-.7z"/> + <path fill="#0a328c" stroke="#0a328c" d="M254.4 173.7v1.3c0 .9-2 1.5-4.5 1.5s-4.6-.6-4.6-1.5v-1.3c0 .9 2 1.5 4.5 1.5 2.6 0 4.6-.6 4.6-1.5z"/> + <path d="m251.7 175-1.1.2v1.3l1.2-.1zm-4.8-.1v1.3l1.1.2v-1.3zm-1.6-1.2v1.3q0 .4.5.7v-1.3q-.5-.3-.5-.7zm9.1.2q-.1.3-.8.7v1.3q.8-.3.8-.9z"/> + <path fill="none" d="M254.4 168v7c0 .9-2 1.5-4.5 1.5s-4.6-.6-4.6-1.5v-7"/> + <path fill="#fff" stroke="#fff" d="M253.4 167.5c0 .5-1.6 1-3.5 1-2 0-3.6-.5-3.6-1s1.6-.9 3.5-.9c2 0 3.6.4 3.6 1z"/> + <path d="m248.7 168.2.2 1.2h1l.1-1.2zm4.1-.3-1 .2.1 1.2 1-.2zm-5.4-2-.7.3.1 1 .6-.2zm2.4-.3h-.3l.2 1.2h.6l.2-1.2zm2.7.4-.1 1 .7.3v-1zm-6.5 2.8.2-1.3-1-.5v1.5zm8.4-.3v-1.3l-.8.3zm9.3-8.5c.8 0 2 1 2.1 2.5 0 1-1.7 1-1.7 1 0 .5-1 .9-1.8 1s.2-1.5.2-1.5c-.5-1.3.2-2.7.2-2.7z"/> + <path d="M262.5 163h.8s0 .3.2.3.3-.4.3-.4h1.2"/> + <path fill="#d20014" stroke="#f1b517" d="M264.1 160.9c.7-.5.1-1.5-.4-1.5h-1c-.6 0-1.4.6-1.3 1q.1.8.8.6c.2 0 .6-.6.8-.6s1 .6 1.1.5z"/> + <path fill-rule="evenodd" d="M214.2 174.8q-.8.3-.5 1.5l-7.4 2.4c-.1-.5 1.2-1.8 1.2-1.8.3.1.6.9.6.9 0-1.6 1.6-2.6 1.6-2.6-1-.2-3.7 1-4 1.4 0 0 1-.2 1.2 0 0 0-2.2 2.3-2.3 3 .4.7 4 1.3 4 1.3 0 .2-1 1-1 1 1.5.2 3.7-.8 4.3-1.4 0 0-1.7-.2-3-1.3 0 0 .2.7 0 1 0 0-2-.6-2.3-1 0 0 5-1.2 7.4-2 .1.5.6 1.3 1.2 1.1q.4-.3 0-1.4l.6.2q.7 0 .7-.7t-.7-.7l-.7.5c-.1-.5-.4-1.4-.8-1.3zm2 1.6q0 .3-.4.3a.3.3 0 0 1-.4-.3q0-.3.4-.4.4 0 .3.4z"/> + <path d="M293 177.9c.2-.4 0-2.2 0-2.2-.5 0-1 .7-1 .7.5-1.6-.8-4-.8-4 .9.1 3.9 3 4 3.6 0 0-1.3-.5-1.5-.4.3 1.5 1.3 2.2 1.7 3 0 0-1.7.3-1.6 1.8h-1.1c-.4-.5.1-1.3.1-1.3l-7.7-3.2c-.5-.2-1.6-.8-1.4-1.4.1-.5 2 .3 2.4.5z"/> + <path d="m285.6 176.5 1-1.6c.3-.5-.4-1-.9-.4l-1 1.5c-.4.9.5 1.1 1 .5z"/> + </g> + <g fill="#fff" stroke-width=".3"> + <path d="m290.2 288.6-.1-3-3.5.3-.2 3.1z"/> + <path d="m264.4 292.7-4.7-2.7c19.4 1.8 23.4-5 28.1-5.3 3-.3 3.3 3.2-2.3 1.5l1.5 3.6s-13.8 7.8-27.4 4.6zm84.8-4.1.1-3 4.3.2.2 3.1z"/> + <path d="m375.9 292 4.5-2.5c-22.4.7-17.3-3.6-28.4-4.8-3-.4-5 3.4 2.2 1.5l-1.4 3.6h3.5c7.6 5 17.8 5.5 24.6 3.9z"/> + <path d="M285.5 286.3v5s12.3 4.6 34.4 4.6c22.2 0 34.4-4.6 34.4-4.6v-5s-9.3 4.3-34.4 4.3-34.4-4.3-34.4-4.3z"/> + </g> + <path fill="#000001" stroke="none" d="m287.3 291.3 1.1-3.7.5.2-1 3.2 2 .5-.2.5zm3.6-1.6v-.7l.2-.7.6.2-.2.6-.3.7zm5.3-.3.5.2-.4 2.1-.4 1-.5.4h-1l-.9-.4-.4-.6.1-1 .5-2.2.5.1-.5 2.2v.8l.2.4.5.2h1l.4-1zm.6 4 .6-3.7h.6l1.5 3.4.5-3h.5l-.6 3.9-.5-.1-1.6-3.3-.5 3zm4 .7.6-3.8h.5l-.5 3.8h-.5zm1.6-1.7q0-1 .7-1.4a2 2 0 0 1 1.4-.4q.6 0 1 .3l.5.8q.3.5.1 1l-.3 1-.8.7-1 .1-1-.3-.5-.8zm.5 0q0 .8.3 1.2.3.5.9.5t1-.3.5-1v-1l-.5-.5-.7-.3q-.5 0-1 .3-.3.3-.5 1.2zm3.7 2.3.3-3.8h.6l1.8 3.2.2-3h.5l-.3 3.9h-.5l-1.9-3.2-.2 3zm5.6.4.1-3.8 2.7.1v.5l-2.1-.1-.1 1.1 1.9.1v.5l-2-.1v1.8zm3 .1 1.5-3.8h.6l1.5 4h-.6l-.4-1.3h-1.7l-.4 1.2zm1-1.5h1.4l-.4-1-.2-.9-.2.8-.5 1.1zm3.1 1.6v-3.8h.6v3.8zm2.5 0V292h-1.3v-.4h3.1v.4h-1.3v3.4zm4 0-.3-4h.6l.1 3.4h2v.4zm2.6-.2 1.2-4h.6l2 3.7h-.7l-.5-1h-1.7l-.3 1.3zm1-1.7h1.4l-.5-1-.4-.9-.1.8zm4.7 1.2-.4-3.8 2.6-.3.1.5-2.1.2v1.2l2-.2v.5l-1.9.2.2 1.7zm3-2.1a2 2 0 0 1 .2-1.6 2 2 0 0 1 1.3-.7l1 .1q.6.1.8.6l.4 1-.1 1-.6.8-.9.4-1-.1-.8-.6zm.5-.1q0 .6.5 1t1 .3q.7-.1 1-.5t.2-1.2l-.3-.8-.6-.5h-.7q-.6 0-1 .4-.2.4-.1 1.3m4.1 1.3-.6-3.8 1.7-.3h.8q.3 0 .5.2l.3.6q0 .4-.2.7t-.7.5l.3.1.5.5 1 .9h-.7l-.7-.6-.5-.5-.3-.2h-.6l-.6.1.4 1.7zm.2-2.2 1-.2.6-.2.3-.6-.2-.4h-.7l-1.3.1zm6.3-.4h.5q0 .6-.3 1l-1 .6h-1l-.8-.6-.5-1v-1q.1-.6.5-.9l.9-.4h1q.6.3.8.8l-.5.2-.5-.5h-.7l-.7.3-.3.7v.7l.4.8q.2.4.6.4h.7l.6-.3q.3-.3.3-.8m1.4 1-1-3.7 2.7-.7.2.4-2.3.6.3 1.1 2.1-.5.2.4-2.2.6.4 1.2 2.4-.6v.4z"/> + </g> +</svg> diff --git a/apps/web/public/flags/hu.svg b/apps/web/public/flags/hu.svg new file mode 100644 index 00000000..baddf7f5 --- /dev/null +++ b/apps/web/public/flags/hu.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-hu" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#fff" d="M640 480H0V0h640z"/> + <path fill="#388d00" d="M640 480H0V320h640z"/> + <path fill="#d43516" d="M640 160.1H0V.1h640z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ic.svg b/apps/web/public/flags/ic.svg new file mode 100644 index 00000000..81e6ee2e --- /dev/null +++ b/apps/web/public/flags/ic.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ic" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#0768a9" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 0h213.3v480H0z"/> + <path fill="#fc0" d="M426.7 0H640v480H426.7z"/> + </g> +</svg> diff --git a/apps/web/public/flags/id.svg b/apps/web/public/flags/id.svg new file mode 100644 index 00000000..3b7c8fcf --- /dev/null +++ b/apps/web/public/flags/id.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-id" viewBox="0 0 640 480"> + <path fill="#e70011" d="M0 0h640v240H0Z"/> + <path fill="#fff" d="M0 240h640v240H0Z"/> +</svg> diff --git a/apps/web/public/flags/ie.svg b/apps/web/public/flags/ie.svg new file mode 100644 index 00000000..049be14d --- /dev/null +++ b/apps/web/public/flags/ie.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ie" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#009A49" d="M0 0h213.3v480H0z"/> + <path fill="#FF7900" d="M426.7 0H640v480H426.7z"/> + </g> +</svg> diff --git a/apps/web/public/flags/il.svg b/apps/web/public/flags/il.svg new file mode 100644 index 00000000..f43be7e8 --- /dev/null +++ b/apps/web/public/flags/il.svg @@ -0,0 +1,14 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-il" viewBox="0 0 640 480"> + <defs> + <clipPath id="il-a"> + <path fill-opacity=".7" d="M-87.6 0H595v512H-87.6z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#il-a)" transform="translate(82.1)scale(.94)"> + <path fill="#fff" d="M619.4 512H-112V0h731.4z"/> + <path fill="#0038b8" d="M619.4 115.2H-112V48h731.4zm0 350.5H-112v-67.2h731.4zm-483-275 110.1 191.6L359 191.6z"/> + <path fill="#fff" d="m225.8 317.8 20.9 35.5 21.4-35.3z"/> + <path fill="#0038b8" d="M136 320.6 246.2 129l112.4 190.8z"/> + <path fill="#fff" d="m225.8 191.6 20.9-35.5 21.4 35.4zM182 271.1l-21.7 36 41-.1-19.3-36zm-21.3-66.5 41.2.3-19.8 36.3zm151.2 67 20.9 35.5-41.7-.5zm20.5-67-41.2.3 19.8 36.3zm-114.3 0L189.7 256l28.8 50.3 52.8 1.2 32-51.5-29.6-52z"/> + </g> +</svg> diff --git a/apps/web/public/flags/im.svg b/apps/web/public/flags/im.svg new file mode 100644 index 00000000..fe6a59a1 --- /dev/null +++ b/apps/web/public/flags/im.svg @@ -0,0 +1,36 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-im" viewBox="0 0 640 480"> + <defs> + <clipPath id="im-a"> + <path fill-opacity=".7" d="M-77.6 0H605v512H-77.6z"/> + </clipPath> + </defs> + <g clip-path="url(#im-a)" transform="translate(72.8)scale(.94)"> + <path fill="#ba0000" fill-rule="evenodd" d="M629.4 512H-102V0h731.4z"/> + <path fill="#ffef00" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M281 376c.2-.6.6-6.8.4-6.8s-9.4-10.9-9.2-10.9 11.8 2.6 11.8 2.2 4.7-11.5 4.7-11.7l5.6 13.5 11.5 5-8 6.7 1.7 13c0 .3-8-7.6-8-7.6l-8.9 1s-1.2-4-1.6-4.4z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="2.6" d="M218.7 206.9c-7.7 4-37 37.5-41 42.7a77 77 0 0 1-16.8 23.4c-7.3 5.5-11.3 13-10.3 20 0 9 4.9 15 8.8 21.1q3.7 4.4 8.8 5c6.9.8 7.5 3 11 4.2 13.4 18.4 33.6 32 48 42.7a68 68 0 0 1 18 12.4c4.2 8.2 3.4 16 2.8 20L237.3 439c-1.9 11 7.8 8.6 8.3 6.4 4.3-5.7 10.8-1.7 20-34.3l12.8-17.1s4.9-2 4.9-2.5c7.5-9 1.8-14-2.5-15.7l-9.2-3.4s-10.8-10.8-11.3-10.8c-5.1-14.9-30.3-46.6-36.1-51-4-4.3-6-6-9.8-8.4-5.9-2.8-7.8-3.8-11.4-5.2-3-1.2-.9-4.5 1-6 20-10.9 35.7-22.9 54.8-35.1l3-2-6.9-39.2-31.8-11.2q-2.4 1.7-4.4 3.4z"/> + <path fill="#ffec00" fill-rule="evenodd" d="M245.3 413.1c0-.4 20-4 20-4l-2.5 7.4-19.7 6z"/> + <path fill="none" stroke="#000" stroke-width="2.2" d="M193.6 338.5a38 38 0 0 1 21.6-20.4"/> + <path fill="none" stroke="#000" stroke-width="2.4" d="M244.6 413.3c1.3-.3 7-2 8.6-2.3q2.7-.5 5.2-1.4c2-.4 3.2-.8 5.2-1.1l5-1.4M241 425.6l2.5-2c1.1-.4 5-2 6.5-2.3l4.7-1.4 4.6-1.2q2.2-.9 4.4-1.4"/> + <path fill="none" stroke="#000" stroke-width="2.2" d="M249 341.4h-.2c.8 0 .3 0-.9 1.4-.4 1.1-4 3.7-6.8 3.7l-4.7.3-1.3-.3m13.7 53.5h1.4l4.2.3c1.5 0 2.9.4 4.3.4l4.7.4 4.7.3c1.4.1 2.2.3 3.7.3l-3.7-.3c1.4.1 2.2.3 3.7.3m-32.7 33 2.3-2c1-.3 4.6-2 6-2.2l4.2-1.5 4.3-1q2-1 4-1.5m5.8-41.2c-.8 2.3.3 2.9.7 3.9a12 12 0 0 0 5.7 3.4c1.2.3 2 .6 3.4 1.2q1.1.1 2 .5m-124.4-94.8h.3c-.9 0-.3.1 1.1-1 1-1.1 1.7-1.6 2.6-2.7m14.4 24c.2 0 16.6-8.2 18.3-10l3.7-2.9 2.6-1.7 2.3-2.7c1-.9.5-1.8 1.4-2.9l1.3-3.8m20.8 12.2c.1.6-.2 2.4-.2 3.8 0 1.6-2.1 6.5-4.6 8"/> + <path fill="none" stroke="#000" stroke-width="2.2" d="m192.6 307.8 6.7 2.1c5 1.8 15.4 8.4 16.5 9.3 1 .8 3 1.6 3.6 2.5q1.7 1.5 2.9 3.2 1.6 1.8 2.5 3.4a113 113 0 0 1 13.4 24.5c.7.7 1 1.7 1.7 2.8.6 1.4 1.3 2 2 3.1 1 .7 2.2 2 3.4 2.6 1.3 1.1 2.5 1.5 3.5 2.3 1.3.6 16.3 10 17 10.5 1.4 1.1 5.5 5.4 2.6 8.6-1.2 1-2.4 2.5-3.4 3q-1.8 1.6-3.9 2.2c-6.7 2-10.2 1.3-11.5 1.3h-1.4m-88.8-114.9c2 .8 1.2.2 2.9 1 1.2.5 2 .5 3 1 1.3.3 4.7 1 6.3 2.6 1.2 1 2 2 3.4 2.7a22 22 0 0 0 4.6 2.4q2.5 1.1 5 1.3h7.8-4 4"/> + <path fill="#ffe606" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M159 293.3c4.2-.3 11.3 1 11.5 1l9.4-.2c5-.4 6-2.3 6.8-3.7 1.9-2.8 3.1-3.8 4.6-6 2.2-1.6 5.4 2.3 5.5 2.3 8 7.6 1.6 16.8 1.2 17.1-4 3.7-4.9 3.9-7.3 1.6-2.4-2.9-3.1-4.2-5.1-5.2-3.9-1.8-11.8-.4-12-.4l-4.1 1.6c-2 .7-3.2 2.4-6.5 3-3.5.2-4.6-.1-6.3-2.9-2.3-3.5-1.2-7.8 2.3-8.2z"/> + <path fill="#ffef00" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M381.8 120.7c-.6 0-6.3 2.8-6.2 3 .1.1-4.8 13.5-4.9 13.4-.1-.2-3.5-11.7-3.9-11.5s-12.3 1.6-12.4 1.7l9-11.5-1.3-12.5 9.8 3.8 10.5-8c.2-.1-2.7 10.8-2.7 10.8l5.2 7.2s-3 3-3.1 3.6z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="2.6" d="M265 257.9c7.1 4.7 50.7 13.9 57.3 14.8a77 77 0 0 1 28.6 3.2c8.3 3.6 16.8 3.4 22.5-1 7.8-4.2 10.6-11.4 14-18a12 12 0 0 0 0-10c-2.6-6.4-1-8-1.6-11.6 9.4-20.8 11.4-45 13.6-62.9-.2-10.5.9-18.5 2-21.7a32 32 0 0 1 16-12.2l40.7-10.6c10.6-3.8 3.7-11 1.5-10.4-7-1-6.8-8.6-39.7-.7l-21.2-2.7s-4-3.3-4.5-3c-11.5-2.1-13.1 5.3-12.5 9.8l1.6 9.8s-4.1 14.6-3.9 15c-10.5 11.8-26 49.6-27 56.9-.5 6.8-3 5.5-2.4 12.2 0 5.2-.6 2 1.1 12.6.5 3.2-3.5 3-5.7 2-19.2-12-37.4-19.9-57.5-30.5l-3.1-1.6-30.8 25.2 5.8 33.2q2.6 1.3 5.1 2.2z"/> + <path fill="#ffec00" fill-rule="evenodd" d="M431.7 133.6a375 375 0 0 1-13.3-15.4l7.6-1.5 14.8 14.3z"/> + <path fill="none" stroke="#000" stroke-width="2.2" d="M392 215.2a38 38 0 0 1-28.4-8.8"/> + <path fill="none" stroke="#000" stroke-width="2.4" d="M432.2 134.1c-1-.9-5.2-5-6.2-6.4l-3.8-3.8c-1.3-1.5-2.3-2.4-3.6-4l-3.6-3.6m29.6 15c-.3 0-2-.7-3-1.2-.8-.9-4.2-3.4-5.1-4.6l-3.5-3.4c-1.2-1.3-2.1-2-3.3-3.5l-3.4-3"/> + <path fill="none" stroke="#000" stroke-width="2.2" d="m367.3 165.5.1.3c-.4-.8-.2-.3 1.7 0 1.2-.2 5.2 1.7 6.5 4.1.8 1.1 2 2.8 2.6 4l.4 1.3m40-38.2-.2-.2-.6-1-1.8-3.9-1.7-3.9-2-4.2c-.8-1.5-1.2-2.8-2-4.4-.7-1.2-.8-2-1.6-3.3l1.6 3.3c-.7-1.2-.8-2-1.6-3.3m44.8 12.3-2.8-1c-.8-.7-4-3-5-4l-3.3-3c-1-1.3-1.9-2-3-3.3l-3.2-2.7m-38.9 15c2.5-.4 2.5-1.6 3.1-2.5.5-1 .9-3.5.2-6.6l-.6-3.5q-.5-1.2-.5-2m-21.7 154.8-.1-.2c.4.8.2.3-1.6-.5l-3.5-1m13.9-24.3c-.1-.2-15.3-10.4-17.7-11-1.4-.7-2.7-1-4.3-1.8l-2.8-1.4c-1.3-.2-2.4-.7-3.5-.7-1.2-.4-1.9.4-3.2.2l-4 .7m.5-24.1c.4-.4 2.2-1 3.4-1.7 1.4-.7 6.7-1.3 9.2.1"/> + <path fill="none" stroke="#000" stroke-width="2.2" d="m365.7 231.2-1.5-7a100 100 0 0 1 0-18.8c.2-1.3 0-3.4.5-4.5q.5-2 1.3-4l1.7-3.9c.7-4 12-20.1 12.8-20.9l2-2.7q.6-1.4 1.6-3c1-1.1 1.2-2 1.8-3.2.1-1.1.6-2.9.6-4.2.3-1.7 0-3 .3-4.1-.2-1.5.7-19.2.8-20 .3-1.8 2-7.5 6.2-6.5 1.5.5 3.3.8 4.4 1.5 1.4.4 2.6 1.5 3.7 2.3 5 4.9 6.1 8.2 6.8 9.4l.7 1.2M352.6 276l-.1-.2q.5 1-.3-1.1c-.1-1.3-.5-3-.7-4.2-.3-1.3-.9-2.7-.7-3.5-.5-1.3-.2-2.3 0-3.6.3-1.6.5-2.7.5-4.2.2-2 0-3.2.1-5-.5-1.5-.6-2.7-1.3-4.2l-2-4-2-3.5 2 3.4-2-3.4"/> + <path fill="#ffe606" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M369.5 267.6c-2.3-3.6-4.7-10.4-4.8-10.5l-4.7-8.2c-2.8-4-5-4-6.6-4-3.4-.3-4.9-1-7.4-1.1-2.6-1.2-.7-5.9-.8-6 2.7-10.6 14-9.6 14.4-9.4 5.1 1.7 5.7 2.4 4.9 5.6-1.3 3.5-2 4.8-2 7 .3 4.2 5.5 10.5 5.5 10.6l3.4 2.8c1.6 1.4 3.7 1.6 5.8 4.3 1.9 2.9 2.2 4 .6 6.8-2 3.8-6.2 4.9-8.3 2.1z"/> + <path fill="#ffef00" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M105.2 168.7c.5.4 5.8 3.7 6 3.5s14-3.4 13.8-3.2-7.8 9.3-7.4 9.5 8 9.4 8.2 9.5l-14.5-1.2-9.8 7.8-2.2-10.2L87 180c-.2-.1 10.5-3.6 10.5-3.6l3.2-8.3s4.1.7 4.7.6z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="2.6" d="M284 191.3c0-8.7-16.2-50.2-19-56.1a77 77 0 0 1-13-25.7c-1.5-9-6.3-16-13-18.4-7.9-4.1-15.5-2.5-22.8-1.8-3.6.7-6.7 2.7-8.4 5.5-4 5.7-6.1 5.2-8.9 7.7-22.5 3.5-43.8 15.1-60 23a68 68 0 0 1-19.3 10.2 32 32 0 0 1-19-6.6l-31.1-28.3c-9-6.7-11.2 3-9.5 4.5 3 6.4-3.5 10.3 21.2 33.6l9.3 19.2s-.5 5.2 0 5.4c4.4 10.8 11.6 8.1 15 5.1l7.3-6.7s14.5-4.6 14.7-5c15.6 2.3 55.8-5.3 62.4-8.5 6-3.3 6.3-.5 11.5-4.7 4.3-2.9 2-.6 10-7.9 2.4-2 4.3 1.3 4.8 3.7.4 22.7 3.8 42.2 5.9 64.8l.4 3.5 38 12 24.6-23-1-5.6z"/> + <path fill="#ffec00" fill-rule="evenodd" d="M88.7 119.8c.3.3-5.6 19.6-5.6 19.6l-5.4-5.5 3.8-20.3z"/> + <path fill="none" stroke="#000" stroke-width="2.2" d="M178.8 108.4c7.2 8 9.5 21.2 8.2 28.6"/> + <path fill="none" stroke="#000" stroke-width="2.4" d="M89 119.1c-.3 1.3-1.5 7.2-2 8.7l-1.2 5.3-1.4 5.2q-.3 2.5-1 5m-3.7-33c.1.3.5 2 .6 3.1-.2 1.2-.5 5.4-1 6.9l-.9 4.8-1 4.6-.8 4.6"/> + <path fill="none" stroke="#000" stroke-width="2.2" d="m150.7 156.3.1-.3c-.4.8 0 .3-.8-1.4-.9-1-1.4-5.3-.2-7.8l2-4.3.8-1M98.8 129l-.1.2-.6 1-2.2 3.7c-.6 1.3-1.7 2.3-2.3 3.6l-2.4 4-2.6 4-2 3.2 2-3.2-2 3.2m-14.2-44.3c.2.2.7 1.9.8 3-.2 1-.4 5-.8 6.3l-.7 4.4c-.4 1.6-.5 2.7-1 4.3l-.5 4.2M104 151c-1.7-1.9-2.7-1.2-3.8-1.3a12 12 0 0 0-5.7 3.5q-1 1.3-2.6 2.5c-.5.8-.9 1-1.4 1.5M232 90.4l-.1.3c.4-.8.1-.4.5 1.5.5 1.3.5 2.2 1 3.4m-27.9 1.8c0 .2-.3 18.5.5 20.9.2 1.5.6 2.7.8 4.6l.4 3c.6 1.2.7 2.4 1.4 3.3.3 1.3 1.3 1.4 1.9 2.5.7.9 2 2.4 2.8 3m-20.5 12.9c-.6-.2-2-1.4-3.2-2-1.4-.8-4.9-4.9-5-7.8"/> + <path fill="none" stroke="#000" stroke-width="2.2" d="m206.5 121.6-5 5a94 94 0 0 1-15.8 10.3c-1.2.6-2.7 2-4 2.1q-2 .8-4 1.1a113 113 0 0 1-28.7 1.5l-3.4-.2q-1.4.2-3.3.2c-1.6-.1-2.4.2-3.7.3-1 .6-2.7 1.1-3.9 1.9q-2.1 1-3.6 2c-1 .9-16.4 9.8-17.2 10.2-1.6.7-7.3 2.5-8.8-1.6q-.8-2.6-1.1-4.5c-.5-1.4-.2-3-.2-4.4 1.4-6.9 3.6-9.6 4.2-10.8l.7-1.2M251 108l-.1.3q.6-1-.8.8-1.6 1.3-3.1 3c-1 .8-1.8 2-2.6 2.4q-1.2 1.3-3 2a20 20 0 0 0-3.8 1.9c-1.7.8-2.7 1.7-4.2 2.6-1 1.2-2 2-2.8 3.4q-1.2 1.8-2.3 3.9l-1.8 3.5 1.8-3.5-1.8 3.5m11.7 73.1.3-.5q-.7 1.5.1-.9c0-1.8.5-4.1.5-5.8q.5-2.7.6-5.5 0-3-.4-6l-.3-5.6q0-2.6-.6-5l-.4-4.8q0-1.8-.5-3.4l-1.2-5.1-1-4.1c-.2-1.6-1-3.6-1.4-4.9a14 14 0 0 1-1.1-3.4q-1-1.7-1.3-3.6l-1.6-3.7-1.4-3.6-1.5-4q-.6-.8-.8-1.4"/> + <path fill="#ffe606" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M234.9 98.5a59 59 0 0 1-6.2 9.7l-4.2 8.4c-1.8 4.6-.7 6.5.1 7.8 1.7 3 2 4.6 3.2 6.8.5 2.8-4.5 3.8-4.5 3.9-10.4 3.6-15.7-6.4-15.7-6.9-1.4-5.2-1.2-6 2-7.1 3.6-.9 5-1 6.8-2.2 3.5-2.6 5.9-10.3 6-10.4l.4-4.4c.3-2-.6-4 .4-7.2 1.4-3.2 2.2-4 5.4-4.3 4.2-.3 7.5 2.6 6.3 5.9z"/> + <path fill="#ffef00" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M221.3 199.7c-1.6-1.5 29.4 11.2 33.7 11.3 5.8-2.1 29.9-22.4 29.9-22.4.2 2 1.1 7.1 3.4 8.2-9.3 7.5-17.7 14.8-27 22.3.6 12-1.5 24.7 4.5 38 0 0-7.2.2-7.2 0-6.4-6.4-8.7-37.2-8.7-37.2l-30.6-13.6c1.5-1 2.6-3.9 2-6.7z"/> + <path fill="none" stroke="#000" stroke-width="2.2" d="M250.8 231.3c.5-.4-5.6 2.8-7.2 3.6-28.1 15-42.6 37-43.5 37.8l-2.2 3.4-2.3 3-3.6 4.7c-.2.6.4-.3.2.2m77.9-70.6a79 79 0 0 0 6.5 4.7c26.2 18.2 52.3 21.1 53.5 21.5l4 .5 3.8.5c1.4.2 4.4.8 5.8 1.2.6-.2-.5-.3 0-.4"/> + </g> +</svg> diff --git a/apps/web/public/flags/in.svg b/apps/web/public/flags/in.svg new file mode 100644 index 00000000..bc47d749 --- /dev/null +++ b/apps/web/public/flags/in.svg @@ -0,0 +1,25 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-in" viewBox="0 0 640 480"> + <path fill="#f93" d="M0 0h640v160H0z"/> + <path fill="#fff" d="M0 160h640v160H0z"/> + <path fill="#128807" d="M0 320h640v160H0z"/> + <g transform="matrix(3.2 0 0 3.2 320 240)"> + <circle r="20" fill="#008"/> + <circle r="17.5" fill="#fff"/> + <circle r="3.5" fill="#008"/> + <g id="in-d"> + <g id="in-c"> + <g id="in-b"> + <g id="in-a" fill="#008"> + <circle r=".9" transform="rotate(7.5 -8.8 133.5)"/> + <path d="M0 17.5.6 7 0 2l-.6 5z"/> + </g> + <use xlink:href="#in-a" width="100%" height="100%" transform="rotate(15)"/> + </g> + <use xlink:href="#in-b" width="100%" height="100%" transform="rotate(30)"/> + </g> + <use xlink:href="#in-c" width="100%" height="100%" transform="rotate(60)"/> + </g> + <use xlink:href="#in-d" width="100%" height="100%" transform="rotate(120)"/> + <use xlink:href="#in-d" width="100%" height="100%" transform="rotate(-120)"/> + </g> +</svg> diff --git a/apps/web/public/flags/io.svg b/apps/web/public/flags/io.svg new file mode 100644 index 00000000..3058f7df --- /dev/null +++ b/apps/web/public/flags/io.svg @@ -0,0 +1,130 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-io" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#000063" fill-rule="evenodd" d="M640 416.2c-7.2 6.7-13.3 22-32.4 22-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 0-24.8 23.2-36.2 23.2v41.7c11.4 0 17.1-23 36.3-23 28.5 0 38 32.4 76 32.4 19.1 0 28.6-32.5 47.7-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.5-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.2 32.4-15.8zm0-81.2c-7.2 6.7-13.3 22-32.4 22-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 0-24.8 23.2-36.2 23.2v41.8c11.4 0 17.1-23.1 36.3-23.1 28.5 0 38 32.5 76 32.5 19.1 0 28.6-32.5 47.7-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.5-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.5-32.5 47.5-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.2 32.4-15.8zm0-81.1c-7.2 6.7-13.3 22-32.4 22-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 0-24.8 23.2-36.2 23.2v41.8c11.4 0 17.1-23.2 36.3-23.2 28.5 0 38 32.5 76 32.5 19.1 0 28.6-32.5 47.7-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.5-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.5-32.5 47.5-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.2 32.4-15.8zm0-81.1c-7.2 6.6-13.3 22-32.4 22-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 0-24.8 23.2-36.2 23.2v41.7c11.4 0 17.1-23 36.3-23 28.5 0 38 32.4 76 32.4 19.1 0 28.6-32.5 47.7-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.5-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.5-32.5 47.5-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.3 32.4-15.9zm0-81.3c-7.2 6.7-13.3 22.1-32.4 22.1-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 .1-24.8 23.3-36.2 23.3v41.8c11.4 0 17.1-23.1 36.2-23.1 28.5 0 38.1 32.5 76.2 32.5 19 0 28.5-32.5 47.6-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.4-32.5 28.7 0 38.2 32.5 76.3 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.3 32.4-15.9v-48Zm0-81c-7.2 6.6-13.3 22-32.4 22C569.5 32.5 560 0 531.4 0c-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5C198 32.5 188.6 0 160 0c-19 0-28.6 32.5-47.6 32.5C74.2 32.5 64.7 0 36.2 0 17.2 0 11.4 23.2 0 23.2v41.9C11.4 65 17.1 42 36.2 42c28.5 0 38.1 32.4 76.2 32.4 19 0 28.5-32.4 47.6-32.4 28.6 0 38.1 32.4 76.3 32.4 19 0 28.4-32.4 47.4-32.4 28.7 0 38.2 32.4 76.3 32.4 19 0 28.6-32.4 47.6-32.4 28.6 0 38.1 32.4 76.2 32.4 19 0 28.6-32.4 47.6-32.4 28.6 0 38.2 32.4 76.2 32.4 19 0 25.2-9.2 32.4-15.8z"/> + <path fill="#a24300" fill-rule="evenodd" stroke="#fff" stroke-width="2.1" d="m474.8 131.7-3.5 329c0 17.3 15.7 17.3 17.4 0l-3.5-329Z"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="1.8" d="m510.7 254-11-11.9-2.6 12.1-4.7-17.5-4.5 8.8-.8-18.6-4.4 8.8-.8-18.6-4.4 8.8L475 204l-4.4 8.8L468 191l-4.5 8.8-2.5-21.9-1.3-11 2.2-4.3 5.8 2.1 9.1 8.7 18.3 17.4-11.3-4.3 18.3 17.4-11.4-4.3 18.3 17.3-11.4-4.2 16.6 14-11.3-4.2 16.5 14-11.3-4.2 12.6 15.2-13.1-7.6 3 14.3z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M510.7 254 462 162.6m33.1 28.2L469 175.6l-5.4 24.1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m502.2 203.8-26.3-15.1-5.3 24.1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m509.1 216.8-26.2-15-5.4 24"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m514.3 226.7-24.5-11.9-7 21"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M519.5 236.5 495 224.6l-7 21"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m520.8 247.4-22.3-16.2-1.4 23"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="m383 97.9 17.8 6.8-5.2-13.5 15.6 15.3-1.5-11 12.6 18.4-1.5-11 12.6 18.4-1.5-11 16.3 20.8-1.5-11 16.3 20.8-1.4-11 16.2 20.8 8.2 10.4.7 5.5-6.7.6-14-4.3-28.2-8.7 13.3-1.1-28.1-8.7 13.3-1.1-28.1-8.7 13.3-1.2-24.4-6.2 13.3-1.1-24.4-6.2 13.3-1.2-21.5-9.3 17.1 1.3L383.1 98z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m383 97.9 103.7 68.7m-48.9-12.4 34.1 2.6-10.3-26.9"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m423 144.4 34 2.6-10.3-27"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m408.2 134.6 34 2.6-10.3-27"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m397 127.2 30.5.1-6.7-24.4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m386 119.8 30.4.2-6.7-24.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m377.8 109.4 31.1 5.7-13.2-23.9"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="M589.8 120.8 575 131.7l16.4 1.8-22.9 5.4 12.2 3.6-24.7 1.8 12.2 3.6-24.7 1.8 12.1 3.7-28.9 3.6 12.2 3.6-28.9 3.6 12.2 3.6-28.9 3.6-14.5 1.8-6-1.8 2.2-5.4 10.7-9 21.3-18.1-4.6 10.8 21.3-18-4.6 10.8 21.3-18-4.6 10.8L553 119l-4.5 10.9 17-16.3-4.5 10.8 19-12.6-8.7 12.7 18.6-3.6z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m589.8 120.8-117 50.6m34.1-32.5-17.4 25.3 32.7 3.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M523.7 131.7 506.2 157l32.7 3.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m540.4 124.4-17.5 25.3 32.7 3.7"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m553 119-13.3 23.5 28.5 5.4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m565.5 113.6-13.3 23.5 28.5 5.4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m580 111.8-19.4 21.7h30.7"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="M587.4 230.3 569 225l6.6 13-17.1-14 2.6 10.7-14.5-17.2 2.7 10.8-14.5-17.3 2.6 10.8-18.5-19.4 2.7 10.8-18.5-19.4 2.7 10.8-18.5-19.4-9.2-9.7-1.3-5.4 6.6-1.2 14.5 3.2 29 6.4-13.2 2.2 29 6.4-13.2 2.2 29 6.4-13.2 2.3 25 4.2-13.2 2.2 25 4.2L569 211l22.3 7.5h-17l13 12z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m587.4 230.3-110.6-60.2m50 8.4-34.2.2 13.2 26"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m542.6 187.1-34.2.2 13.2 26"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m558.4 195.7-34.2.2 13.2 26"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m570.3 202.2-30.3 2.3 9.3 23.8"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m582.2 208.7-30.3 2.2 9.2 23.8"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m591.3 218.4-31.5-3.2 15.8 22.8"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="1.8" d="m395.2 236.6 9.3-13-14.1 2.1 17.4-9.9-11.1-.5 20-7-11.1-.6 20-7-11.1-.6 23-9.6-11.2-.5 23-9.7-11.1-.5 23-9.6 11.5-4.9 5.6.3-.4 5.3-6.3 10.4-12.6 20.8.8-10.6-12.6 20.8.7-10.7-12.6 20.8.7-10.6-9.6 18.2.7-10.6-9.6 18.2.7-10.6-12.2 15.4 3.7-13.2z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m395.2 236.6 83-71m-19.1 36.5 7.3-26.4-28.2 4.1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m447.2 212.3 7.3-26.4-28.2 4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m435.3 222.4 7.4-26.4-28.2 4.1"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m426.4 230 4.4-23.8-25.2 1.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m417.5 237.6 4.4-23.8-25.2 1.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m406 242.4 10-23.5-25.6 6.8"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="m563 66.2-17.9 12-2.9-12.9-10.5 17.8-2-8.5-8.6 18.2-1.2-8.4-6.7 18.7-3.8-9-6.7 22.7-3.8-9-6.7 22.7-3.9-9-6.7 22.7-3.3 11.4 1.9 4.5 7.2-2.4 12.4-9.2 25-18.4-14.4 4.7 24.9-18.5-14.4 4.8 24.9-18.5-14.4 4.8 25-14.4-17 4L566 83.3l-16.3 4.2 19.7-15.6-17 8.1z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m556 72.7-25.8 22.2-50 65.2"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m519.3 132.8-28.6 13.5-2.4-20.8"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m530.2 119.2-29 13.4-2.3-20.8"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m540.5 105.5-28.7 13.4-2.2-20.7"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m549.1 95.3-26.8 9.9-3-17"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M559 85.5 530.2 95l-1-16.4"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m562.8 76.2-26.6 13.6 5.2-20.6"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="m466.1 43.8 8 18.2 10.3-9.6-1.7 19.8 6.8-6.4-3.7 19.4 6-6.6-5.5 19 8.7-6-8 22.3 8.6-6-8 22.5 8.7-6-8 22.4-4 11.2-4.4 3-4.8-5.3-5-13.4-10-26.9 9.4 10.5-10.1-27 9.4 10.6-10-27L468 93l-12.5-23.4 12 11.1-14.4-23.9 11.3 11-7.3-22.2 9.6 14.6z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m468.2 52.4 8.5 30.5 3.2 78"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m463 120.2 16.2 24.3 14.7-16.7"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m462 103.7 16.5 24.4 14.7-16.7"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m461.5 87.3 16.4 24.4L492.3 95"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m460.4 74.9 16.8 20.4 13-13"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m458 62 18.7 21 11-13.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m460.3 52.4 14.4 23.5 8.1-19.9"/> + <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="1.9" d="m359 178 23.3-16.2-11.7-6 20.5 3.4-7-9.3 19.8 7.5-7-9.3 19.9 7.4-7-9.2 24 8.1-7-9.3 23.3 12.1-7-9.3 24 8.2 11.7 6 3.5 4.6-4.7 3.3-12.9 1.8-20.7 8.6 3.8-7.4-25.7 3.6 9.3-6.4-26.3 7.6 9.4-6.5-22.2 8.3 9.9-10.4-22.8 12.2 10-10.4-18.8 13 10.5-14.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m366.3 173.6 24.2-10.5 12.9-1.8 10.7-.2 18.5 1.2 16.7.7 33 3.7"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m447.2 176.9 18.5-11.4-18.8-14.7"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m426.5 175.2 22.7-12.2-18.7-14.8"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m411.7 174.8 20.9-12.5-19-13.7m-29.5 29.6 19.3-16.9-15.6-8.5"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m375.5 179.3 15-16.1-12-4.5m18.4 17.7 19-15.2-15.2-10.4"/> + <g fill-rule="evenodd"> + <path fill="#c00" stroke="#000" stroke-width="1pt" d="m541.5 1173.3-1.7-229.1-61.1-107c-15.3-52.6-7.8-78 17-79.8 24.7-1.6 49.2 13.6 84.8 15.3s28.9-59.4 81.5-57.7 144.3 32.3 222.3 37.4c78.1 5 118.8-27.2 208.8-30.6s113.7 42.4 118.8 42.4 30.6-18.6 56-22c25.5-3.4 34 10.2 34 10.2s-1.7 57.7-13.6 91.6c-11.9 34-54.3 90-56 90s-15.3 249.5-15.3 251.2-675.5-6.8-675.5-11.9z" transform="matrix(.12934 0 0 .11906 367.5 215.5)"/> + <g stroke="#000" stroke-width="1pt"> + <path fill="#fff100" d="M531.5 584.6s-68-52-69.8-177.1c-1-72 34.4-124 123-124 124 0 301.1 53.1 301.1 53.1v17.7s-141.7-53.1-301.2-53.1c-70.8 0-106.3 52-106.3 105.2 0 88.6 71 178.3 71 178.3v141.7h-17.8z" transform="matrix(-.12934 0 0 .11906 596.6 257.6)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 594.5 257.4)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 596.8 252.6)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 598 247.6)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 598.9 242.4)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 598.7 236.8)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 591.2 261.7)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 596.7 231.4)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 592.5 227.1)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 586.8 224.3)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 581 223.9)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 575 224)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 568.8 225)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 562.7 225.7)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 556 226.6)"/> + <path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 550.4 228.1)"/> + </g> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 369.5 257.4)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 367.2 252.6)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 366 247.6)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 365.2 242.4)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 365.4 236.8)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 367.3 231.4)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 371.4 227.1)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 377.2 224.3)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 382.9 223.9)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 389 224)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 395.2 225)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 401.4 225.7)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 407.9 226.6)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 413.6 228.1)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 372.8 261.7)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M531.5 584.6s-68-52-69.8-177.1c-1-72 34.4-124 123-124 124 0 301.1 53.1 301.1 53.1v17.7s-141.7-53.1-301.2-53.1c-70.8 0-106.3 52-106.3 105.2 0 88.6 71 178.3 71 178.3v141.7h-17.8z" transform="matrix(.12934 0 0 .11906 367.5 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="3" d="M1240.2 531.5s15.3-35.4 70.9-35.4c37.8 0 70.8 35.4 70.8 70.8v70.9h35.5v-70.9c0-35.4 35.4-70.8 70.8-70.8 53.2 0 70.9 35.4 70.9 35.4s0-106.3-70.9-106.3c-53.1 0-70.8 35.4-70.8 35.4s17.7-53.1 17.7-106.3-35.4-88.6-35.4-88.6c0 6.8-35.5 35.5-35.5 88.6s17.7 106.3 17.7 106.3-17.7-35.4-70.8-35.4c-70.9 0-70.9 106.3-70.9 106.3z" transform="matrix(.04311 0 0 .04536 398.7 310.9)"/> + <path fill="#fff100" stroke="#000" stroke-width="3" d="M1240.2 531.5s15.3-35.4 70.9-35.4c37.8 0 70.8 35.4 70.8 70.8v70.9h35.5v-70.9c0-35.4 35.4-70.8 70.8-70.8 53.2 0 70.9 35.4 70.9 35.4s0-106.3-70.9-106.3c-53.1 0-70.8 35.4-70.8 35.4s17.7-53.1 17.7-106.3-35.4-88.6-35.4-88.6c0 6.8-35.5 35.5-35.5 88.6s17.7 106.3 17.7 106.3-17.7-35.4-70.8-35.4c-70.9 0-70.9 106.3-70.9 106.3z" transform="matrix(.04311 0 0 .04536 444.5 310.9)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M531.5 832.7V673.2s35.4 53.2 88.6 53.2c43.5 0 88.6-70.9 88.6-70.9s41.5 53.2 88.6 53.2c42 0 88.5-68.6 88.5-68.6s43.2 68.6 88.6 68.6c45.5 0 88.6-53.2 88.6-53.2s46.3 70.9 106.3 70.9c53.1 0 70.9-53.2 70.9-53.2v159.5z" transform="matrix(.12934 0 0 .11906 367.5 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M708.7 832.7v-124S815 744 815 832.7z" transform="matrix(.12934 0 0 .11906 344.5 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M708.7 832.7v-124S815 744 815 832.7z" transform="matrix(-.12934 0 0 .11906 619.4 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M602.4 832.7C602.4 744 708.7 688 708.7 688S815 744 815 832.7z" transform="matrix(.12934 0 0 .11906 367.5 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M602.4 832.7C602.4 744 708.7 688 708.7 688S815 744 815 832.7z" transform="matrix(.12934 0 0 .11906 413.3 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M584.6 847.5c0-88.6 124.1-159.4 124.1-159.4s124 70.8 124 159.4h-248z" transform="matrix(.12934 0 0 .11906 390.4 255.9)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M1275.6 655.5c-35.4-17.7-166-35.4-376.3-35.4s-350 17.7-385.5 35.4c-35.4 17.7-35.4 53.2 0 70.9s175.3 35.4 385.5 35.4 340.9-17.7 376.3-35.4 35.4-53.2 0-70.9z" transform="matrix(.12788 0 0 .11906 367 278.7)"/> + <path fill="gray" d="M527.9 365.2c0 4.2-38.2 4.2-45.9 4.2-8.3 0-45.8 1.2-45.8-4.2 0-4.2 37.8-4.2 45.8-4.2s45.9.8 45.9 4.2"/> + <path fill="#c00" d="M440.8 350c0 1.4-1 2.6-2.3 2.6s-2.3-1.2-2.3-2.6 1-2.5 2.3-2.5 2.3 1.2 2.3 2.5m87 0c0 1.4-1 2.6-2.3 2.6s-2.3-1.2-2.3-2.6 1-2.5 2.3-2.5 2.3 1.2 2.3 2.5"/> + <path d="M486.6 348.8c0 1.3-2.1 2.4-4.6 2.4s-4.6-1.1-4.6-2.5 2-2.5 4.6-2.5 4.6 1.2 4.6 2.5z"/> + <path fill="#006300" d="M508.6 348.8c0 1.3-1.6 2.4-3.5 2.4s-3.4-1.1-3.4-2.5 1.6-2.5 3.4-2.5 3.5 1.2 3.5 2.5zm-47.2 0c0 1.3-1.5 2.4-3.4 2.4s-3.5-1.1-3.5-2.5 1.5-2.5 3.5-2.5c1.9 0 3.4 1.2 3.4 2.5z"/> + <path fill="#fff100" stroke="#000" stroke-width="2.2" d="M1257.9 496s35.4-53 70.9-53h35.4v35.3c0 53.2-53.1 71-53.1 71h141.7s-53.2-17.8-53.2-71V443h35.5c35.4 0 70.8 53.2 70.8 53.2V354.3s-35.4 53.2-70.8 53.2h-35.5V372c0-53.1 53.2-70.8 53.2-70.8H1311s53.1 17.7 53.1 70.8v35.5h-35.4c-35.5 0-70.9-53.2-70.9-53.2v141.8z" transform="matrix(.0739 0 0 .06804 379.9 300.5)"/> + <path fill="#fff100" stroke="#000" stroke-width="3.3" d="M1381.9 549.2h70.9s-53.2-17.7-53.2-70.9V443h35.4c35.5 0 71 53.2 71 53.2V354.3s-35.5 53.2-71 53.2h-35.4V372c0-53.1 53.2-70.8 53.2-70.8h-70.9z" transform="matrix(.03696 0 0 .05953 385 309.3)"/> + <path fill="#fff100" stroke="#000" stroke-width="3.3" d="M1381.9 549.2h70.9s-53.2-17.7-53.2-70.9V443h35.4c35.5 0 71 53.2 71 53.2V354.3s-35.5 53.2-71 53.2h-35.4V372c0-53.1 53.2-70.8 53.2-70.8h-70.9z" transform="matrix(-.03696 0 0 .05953 579 309.3)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M903.5 602.4a17.7 17.7 0 1 1-35.4 0 17.7 17.7 0 0 1 35.4 0z" transform="matrix(.12934 0 0 .11906 367.5 257.6)"/> + <path fill="#fff100" stroke="#000" stroke-width="2.2" d="M1257.9 496s35.4-53 70.9-53h35.4v35.3c0 53.2-53.1 71-53.1 71h141.7s-53.2-17.8-53.2-71V443h35.5c35.4 0 70.8 53.2 70.8 53.2V354.3s-35.4 53.2-70.8 53.2h-35.5V372c0-53.1 53.2-70.8 53.2-70.8H1311s53.1 17.7 53.1 70.8v35.5h-35.4c-35.5 0-70.9-53.2-70.9-53.2v141.8z" transform="matrix(.0739 0 0 .06804 379.9 256.2)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M903.5 602.4a17.7 17.7 0 1 1-35.4 0 17.7 17.7 0 0 1 35.4 0z" transform="matrix(.12934 0 0 .11906 367.7 213.7)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M850.4 655.5h70.9v53.2h-71z" transform="matrix(.12934 0 0 .11906 367.5 215.5)"/> + <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M850.4 683.3h70.9v202.5h-71z" transform="matrix(.12934 0 0 .11906 367.5 215.5)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 422.4 251.2)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 422.4 245.8)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 422.4 240.8)"/> + <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 422.4 235.5)"/> + <path d="M486.9 356.8c0 1-2.1 1.7-4.8 1.7s-4.5-.7-4.5-1.7 2-1.7 4.6-1.7 4.7.8 4.7 1.7M529 361c-.3.7-2.6.8-5.1 0-2.6-.5-4.4-1.4-4.2-2 .3-.8 2.6-.8 5.1-.2 2.6.6 4.4 1.5 4.2 2.2m-17.7-2.8c0 .8-2.3 1.3-5 1.2-2.5-.2-4.6-1-4.5-2 .1-.8 2.4-1.2 5-1s4.7.9 4.5 1.8m-77.5 2.8c.2.7 2.5.8 5 0 2.6-.5 4.5-1.4 4.2-2-.3-.8-2.5-.8-5-.2-2.6.6-4.4 1.5-4.2 2.2m18.5-3.2c.1.8 2.4 1.3 5 1.1s4.7-1 4.5-1.9c0-.7-2.3-1.3-5-1.1-2.5.2-4.6 1-4.5 1.9"/> + </g> + <path fill="#012169" d="M0 0h320v240H0Z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0Z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5Zm-92 10 3 17.5-96 72H0ZM320 0v1.5l-124.5 94 1-22L295 0ZM0 0l119.5 88h-30L0 21Z"/> + <path fill="#fff" d="M120.5 0v240h80V0ZM0 80v80h320V80Z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0Z"/> +</svg> diff --git a/apps/web/public/flags/iq.svg b/apps/web/public/flags/iq.svg new file mode 100644 index 00000000..80445147 --- /dev/null +++ b/apps/web/public/flags/iq.svg @@ -0,0 +1,10 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-iq" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 160h640v160H0z"/> + <path fill="#ce1126" d="M0 0h640v160H0z"/> + <path fill="#000001" d="M0 320h640v160H0z"/> + <g fill="#007a3d" transform="translate(-179.3 -92.8)scale(1.75182)"> + <path d="m325.5 173.2-1.4-1q-.6-.7 1.2-.2 3.3 1 5.3-.8l1.3-1.1 1.5.7q1.5.8 2 .7c.7-.2 2.1-2 2-2.6 0-.7.6-.5 1 .3.6 1.6-.3 3.5-2 3.9q-1 .3-2.6-.3c-1.4-.5-1.7-.5-2.4 0a5 5 0 0 1-5.9.4m5.8-5.3a8 8 0 0 1-1-4q.1-.9.8-.6c1 .3 1.2 1 1 3q0 2.7-.8 1.6m-67.6-1.9c-.1 1.3 2.4 4.6 3.5 5.2-.8.3-1.7.2-2.4.5-4 4-18.4 18-21 21.4 7.8.2 16.4-.1 23.7-.4 0-5.3 5-5.6 8.4-7.5 1.7 2.7 6 2.5 6.6 6.6v17.6H216a9.7 9.7 0 0 1-12.3 7.5c2-2 5.4-2.8 6.6-5.7 1-6.4-2-10.3-4-14a24 24 0 0 0 7-3.6c-2.3 7 6.2 6.3 12.4 6.1.2-2.4.1-5.2-1.7-5.6 2.3-.9 2.7-1.2 6.6-4.4v9.6l46.1-.1c0-3 .8-7.9-1.6-7.9-2.2 0 0 6.2-1.8 6.2h-35.7v-6c1.5-1.6 1.3-1.5 11.6-11.8 1-1 8.3-7.6 14.6-13.7zm89.1-.3c2.5 1.4 4.5 3.2 7.5 4-.3 1.3-1.5 1.8-1.8 3.1v27c3.4.7 4.2-1.3 5.8-2.3.4 4.3 3.2 8.5 3 12h-14.5zm-19.4 14.5s5.3-4.5 5.3-4.7V199h3.8l-.1-26.3c1.5-1.6 4.6-3.8 5.3-5.4v42h-33.4c-.5-8.7-.6-17.7 9.6-15.8V190c-.3-.6-.9.1-1-.7 1.6-1.6 2.1-2 6.5-5.8l.1 15.5h3.9zm-12.6 18.6c.7 1 3.2 1 3-.8-.3-1.5-3.5-1-3 .8"/> + <circle cx="224" cy="214.4" r="2"/> + <path d="M287 165.8c2.5 1.3 4.5 3.2 7.6 4-.4 1.2-1.5 1.7-1.8 3v27c3.4.7 4.1-1.2 5.7-2.3.5 4.3 3.2 8.6 3.1 12H287z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ir.svg b/apps/web/public/flags/ir.svg new file mode 100644 index 00000000..8c6d5162 --- /dev/null +++ b/apps/web/public/flags/ir.svg @@ -0,0 +1,219 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ir" viewBox="0 0 640 480"> + <defs> + <clipPath id="ir-a"> + <path fill-opacity=".7" d="M-85.3 0h682.7v512H-85.3z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#ir-a)" transform="translate(80)scale(.9375)"> + <path fill="#fff" d="M-192 0h896v512h-896z"/> + <path fill="#da0000" d="M-192 343.8h896V512h-896z"/> + <g fill="#fff" stroke-width="1pt"> + <path d="M-21.6 351h49v3.3h-49zm7.3 16.8h3.4v3.3h-3.4zm41.9 0v3.3h-9.8v-3.4zm5.2-16.8h3.4v20h-3.4z"/> + <path d="M52.4 367.7v3.4H33.8v-3.4zm-34.6-7.9H21v11.3h-3.3z"/> + <path d="M49.6 351H53v20h-3.4zm-8.4 0h3.3v20h-3.3zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/> + <path d="M17.8 359.9H21V371h-3.3z"/> + <path d="M17.8 359.9H21V371h-3.3z"/> + <path d="M17.8 359.9H21V371h-3.3zm-39.3 0h3.3V371h-3.3zm28.8 0h3.4V371H7.3zm-14.3 0h3.4V371H-7z"/> + <path d="M9.6 367.7v3.4H-5.5v-3.4zm1-8.7v3.4H1V359z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M-102.2 351h49v3.3h-49zm7.3 16.8h3.4v3.3H-95zm41.9 0v3.3h-9.8v-3.4zm5.2-16.8h3.4v20h-3.4z"/> + <path d="M-28.2 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.3v11.3h-3.3z"/> + <path d="M-31 351h3.4v20H-31zm-8.4 0h3.3v20h-3.3zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/> + <path d="M-62.8 359.9h3.3V371h-3.3z"/> + <path d="M-62.8 359.9h3.3V371h-3.3z"/> + <path d="M-62.8 359.9h3.3V371h-3.3zm-39.3 0h3.3V371h-3.3zm28.8 0h3.3V371h-3.3zm-14.3 0h3.4V371h-3.4z"/> + <path d="M-71 367.7v3.4h-15v-3.4zm1-8.7v3.4h-9.6V359z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M58.3 351h49v3.3h-49zm7.3 16.8H69v3.3h-3.4zm41.9 0v3.3h-9.8v-3.4zm5.3-16.8h3.4v20h-3.4z"/> + <path d="M132.3 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/> + <path d="M129.5 351h3.4v20h-3.4zm-8.4 0h3.4v20H121zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/> + <path d="M97.7 359.9h3.4V371h-3.4z"/> + <path d="M97.7 359.9h3.4V371h-3.4z"/> + <path d="M97.7 359.9h3.4V371h-3.4zm-39.3 0h3.4V371h-3.4zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371h-3.4z"/> + <path d="M89.6 367.7v3.4H74.4v-3.4zm1-8.7v3.4H81V359z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M622.7 351h49v3.3h-49zm7.3 16.8h3.4v3.3H630zm41.9 0v3.3H662v-3.4zm5.3-16.8h3.3v20h-3.4z"/> + <path d="M696.7 367.7v3.4H678v-3.4zm-34.6-7.9h3.4v11.3H662z"/> + <path d="M694 351h3.3v20h-3.4zm-8.5 0h3.4v20h-3.4zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/> + <path d="M662 359.9h3.5V371H662z"/> + <path d="M662 359.9h3.5V371H662z"/> + <path d="M662 359.9h3.5V371H662zm-39.2 0h3.4V371h-3.4zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371h-3.4z"/> + <path d="M654 367.7v3.4h-15.2v-3.4zm1-8.7v3.4h-9.6V359z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M138.7 351h49.1v3.3h-49zm7.4 16.8h3.3v3.3h-3.3zm41.8 0v3.3h-9.8v-3.4zm5.3-16.8h3.4v20h-3.4z"/> + <path d="M212.8 367.7v3.4h-18.6v-3.4zm-34.7-7.9h3.4v11.3h-3.4z"/> + <path d="M210 351h3.4v20H210zm-8.5 0h3.4v20h-3.4zm-44.8 8v3.4h-17.9V359zm39.3 0v3.4h-17.9V359z"/> + <path d="M178.1 359.9h3.4V371h-3.4z"/> + <path d="M178.1 359.9h3.4V371h-3.4z"/> + <path d="M178.1 359.9h3.4V371h-3.4zm-39.3 0h3.4V371h-3.4zm28.8 0h3.4V371h-3.4zm-14.2 0h3.3V371h-3.3z"/> + <path d="M170 367.7v3.4h-15.1v-3.4zm1-8.7v3.4h-9.6V359z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M219.5 351h49v3.3h-49zm7.3 16.8h3.4v3.3h-3.4zm41.9 0v3.3h-9.8v-3.4zM274 351h3.3v20H274z"/> + <path d="M293.5 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/> + <path d="M290.7 351h3.4v20h-3.4zm-8.4 0h3.4v20h-3.4zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/> + <path d="M258.9 359.9h3.4V371h-3.4z"/> + <path d="M258.9 359.9h3.4V371h-3.4z"/> + <path d="M258.9 359.9h3.4V371h-3.4zm-39.3 0h3.3V371h-3.3zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371H234z"/> + <path d="M250.8 367.7v3.4h-15.2v-3.4zm1-8.7v3.4H242V359z"/> + </g> + <path fill="#239f40" d="M-192 0h896v168.2h-896z"/> + <g fill="#fff" stroke-width="1pt"> + <path d="M300.7 351h49v3.3h-49zm7.3 16.8h3.4v3.3H308zm41.9 0v3.3H340v-3.4zm5.3-16.8h3.3v20h-3.3z"/> + <path d="M374.7 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3H340z"/> + <path d="M372 351h3.3v20H372zm-8.5 0h3.4v20h-3.4zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/> + <path d="M340 359.9h3.5V371H340z"/> + <path d="M340 359.9h3.5V371H340z"/> + <path d="M340 359.9h3.5V371H340zm-39.2 0h3.4V371h-3.4zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371h-3.4z"/> + <path d="M332 367.7v3.4h-15.2v-3.4zm1-8.7v3.4h-9.6V359z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M381.4 351h49v3.3h-49zm7.3 16.8h3.4v3.3h-3.4zm42 0v3.3h-9.9v-3.4zm5.2-16.8h3.4v20h-3.4z"/> + <path d="M455.4 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/> + <path d="M452.7 351h3.3v20h-3.3zm-8.5 0h3.4v20h-3.4zm-44.8 8v3.4h-17.9V359zm39.3 0v3.4h-17.9V359z"/> + <path d="M420.8 359.9h3.4V371h-3.4z"/> + <path d="M420.8 359.9h3.4V371h-3.4z"/> + <path d="M420.8 359.9h3.4V371h-3.4zm-39.3 0h3.4V371h-3.4zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371h-3.3z"/> + <path d="M412.7 367.7v3.4h-15.1v-3.4zm1-8.7v3.4H404V359z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M462.2 351h49v3.3h-49zm7.3 16.8h3.4v3.3h-3.4zm41.9 0v3.3h-9.8v-3.4zm5.2-16.8h3.4v20h-3.4z"/> + <path d="M536.2 367.7v3.4h-18.6v-3.4zm-34.7-7.9h3.4v11.3h-3.4z"/> + <path d="M533.4 351h3.4v20h-3.4zm-8.4 0h3.3v20H525zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/> + <path d="M501.6 359.9h3.3V371h-3.3z"/> + <path d="M501.6 359.9h3.3V371h-3.3z"/> + <path d="M501.6 359.9h3.3V371h-3.3zm-39.4 0h3.4V371h-3.4zm28.9 0h3.3V371h-3.3zm-14.3 0h3.4V371h-3.4z"/> + <path d="M493.4 367.7v3.4h-15.1v-3.4zm1-8.7v3.4h-9.6V359z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M543.4 351h49v3.3h-49zm7.3 16.8h3.4v3.3h-3.4zm41.9 0v3.3h-9.8v-3.4zm5.2-16.8h3.4v20h-3.4z"/> + <path d="M617.4 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.3v11.3h-3.3z"/> + <path d="M614.6 351h3.4v20h-3.4zm-8.4 0h3.3v20h-3.3zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/> + <path d="M582.8 359.9h3.3V371h-3.3z"/> + <path d="M582.8 359.9h3.3V371h-3.3z"/> + <path d="M582.8 359.9h3.3V371h-3.3zm-39.3 0h3.3V371h-3.3zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371H558z"/> + <path d="M574.6 367.7v3.4h-15.1v-3.4zm1-8.7v3.4H566V359z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M-183.8 351h49v3.3h-49zm7.3 16.8h3.4v3.3h-3.4zm42 0v3.3h-9.9v-3.4zm5.2-16.8h3.4v20h-3.4z"/> + <path d="M-109.8 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/> + <path d="M-112.5 351h3.3v20h-3.3zm-8.5 0h3.4v20h-3.4zm-44.8 8v3.4h-17.9V359zm39.3 0v3.4h-17.9V359z"/> + <path d="M-144.4 359.9h3.4V371h-3.4z"/> + <path d="M-144.4 359.9h3.4V371h-3.4z"/> + <path d="M-144.4 359.9h3.4V371h-3.4zm-39.3 0h3.4V371h-3.4zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371h-3.4z"/> + <path d="M-152.5 367.7v3.4h-15.2v-3.4zm1-8.7v3.4h-9.6V359z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M-21.6 143.4h49v3.4h-49zm7.3 17h3.4v3.2h-3.4zm41.9-.2v3.4h-9.8v-3.4zm5.2-16.8h3.4v20.2h-3.4z"/> + <path d="M52.4 160.2v3.4H33.8v-3.4zm-34.6-7.9H21v11.3h-3.3z"/> + <path d="M49.6 143.4H53v20.2h-3.4zm-8.4 0h3.3v20.2h-3.3zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/> + <path d="M17.8 152.3H21v11.3h-3.3z"/> + <path d="M17.8 152.3H21v11.3h-3.3z"/> + <path d="M17.8 152.3H21v11.3h-3.3zm-39.3 0h3.3v11.3h-3.3zm28.8 0h3.4v11.3H7.3zm-14.3 0h3.4v11.3H-7z"/> + <path d="M9.6 160.2v3.4H-5.5v-3.4zm1-8.7v3.3H1v-3.3z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M-102.2 143.4h49v3.4h-49zm7.3 17h3.4v3.2H-95zm41.9-.2v3.4h-9.8v-3.4zm5.2-16.8h3.4v20.2h-3.4z"/> + <path d="M-28.2 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.3v11.3h-3.3z"/> + <path d="M-31 143.4h3.4v20.2H-31zm-8.4 0h3.3v20.2h-3.3zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/> + <path d="M-62.8 152.3h3.3v11.3h-3.3z"/> + <path d="M-62.8 152.3h3.3v11.3h-3.3z"/> + <path d="M-62.8 152.3h3.3v11.3h-3.3zm-39.3 0h3.3v11.3h-3.3zm28.8 0h3.3v11.3h-3.3zm-14.3 0h3.4v11.3h-3.4z"/> + <path d="M-71 160.2v3.4h-15v-3.4zm1-8.7v3.3h-9.6v-3.3z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M58.3 143.4h49v3.4h-49zm7.3 17H69v3.2h-3.4zm41.9-.2v3.4h-9.8v-3.4zm5.3-16.8h3.4v20.2h-3.4z"/> + <path d="M132.3 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/> + <path d="M129.5 143.4h3.4v20.2h-3.4zm-8.4 0h3.4v20.2H121zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/> + <path d="M97.7 152.3h3.4v11.3h-3.4z"/> + <path d="M97.7 152.3h3.4v11.3h-3.4z"/> + <path d="M97.7 152.3h3.4v11.3h-3.4zm-39.3 0h3.4v11.3h-3.4zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3h-3.4z"/> + <path d="M89.6 160.2v3.4H74.4v-3.4zm1-8.7v3.3H81v-3.3z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M622.7 143.4h49v3.4h-49zm7.3 17h3.4v3.2H630zm41.9-.2v3.4H662v-3.4zm5.3-16.8h3.3v20.2h-3.4z"/> + <path d="M696.7 160.2v3.4H678v-3.4zm-34.6-7.9h3.4v11.3H662z"/> + <path d="M694 143.4h3.3v20.2h-3.4zm-8.5 0h3.4v20.2h-3.4zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/> + <path d="M662 152.3h3.5v11.3H662z"/> + <path d="M662 152.3h3.5v11.3H662z"/> + <path d="M662 152.3h3.5v11.3H662zm-39.2 0h3.4v11.3h-3.4zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3h-3.4z"/> + <path d="M654 160.2v3.4h-15.2v-3.4zm1-8.7v3.3h-9.6v-3.3z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M138.7 143.4h49.1v3.4h-49zm7.4 17h3.3v3.2h-3.3zm41.8-.2v3.4h-9.8v-3.4zm5.3-16.8h3.4v20.2h-3.4z"/> + <path d="M212.8 160.2v3.4h-18.6v-3.4zm-34.7-7.9h3.4v11.3h-3.4z"/> + <path d="M210 143.4h3.4v20.2H210zm-8.5 0h3.4v20.2h-3.4zm-44.8 8v3.4h-17.9v-3.3zm39.3 0v3.4h-17.9v-3.3z"/> + <path d="M178.1 152.3h3.4v11.3h-3.4z"/> + <path d="M178.1 152.3h3.4v11.3h-3.4z"/> + <path d="M178.1 152.3h3.4v11.3h-3.4zm-39.3 0h3.4v11.3h-3.4zm28.8 0h3.4v11.3h-3.4zm-14.2 0h3.3v11.3h-3.3z"/> + <path d="M170 160.2v3.4h-15.1v-3.4zm1-8.7v3.3h-9.6v-3.3z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M219.5 143.4h49v3.4h-49zm7.3 17h3.4v3.2h-3.4zm41.9-.2v3.4h-9.8v-3.4zm5.3-16.8h3.3v20.2H274z"/> + <path d="M293.5 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/> + <path d="M290.7 143.4h3.4v20.2h-3.4zm-8.4 0h3.4v20.2h-3.4zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/> + <path d="M258.9 152.3h3.4v11.3h-3.4z"/> + <path d="M258.9 152.3h3.4v11.3h-3.4z"/> + <path d="M258.9 152.3h3.4v11.3h-3.4zm-39.3 0h3.3v11.3h-3.3zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3H234z"/> + <path d="M250.8 160.2v3.4h-15.2v-3.4zm1-8.7v3.3H242v-3.3z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M300.7 143.4h49v3.4h-49zm7.3 17h3.4v3.2H308zm41.9-.2v3.4H340v-3.4zm5.3-16.8h3.3v20.2h-3.3z"/> + <path d="M374.7 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3H340z"/> + <path d="M372 143.4h3.3v20.2H372zm-8.5 0h3.4v20.2h-3.4zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/> + <path d="M340 152.3h3.5v11.3H340z"/> + <path d="M340 152.3h3.5v11.3H340z"/> + <path d="M340 152.3h3.5v11.3H340zm-39.2 0h3.4v11.3h-3.4zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3h-3.4z"/> + <path d="M332 160.2v3.4h-15.2v-3.4zm1-8.7v3.3h-9.6v-3.3z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M381.4 143.4h49v3.4h-49zm7.3 17h3.4v3.2h-3.4zm42-.2v3.4h-9.9v-3.4zm5.2-16.8h3.4v20.2h-3.4z"/> + <path d="M455.4 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/> + <path d="M452.7 143.4h3.3v20.2h-3.3zm-8.5 0h3.4v20.2h-3.4zm-44.8 8v3.4h-17.9v-3.3zm39.3 0v3.4h-17.9v-3.3z"/> + <path d="M420.8 152.3h3.4v11.3h-3.4z"/> + <path d="M420.8 152.3h3.4v11.3h-3.4z"/> + <path d="M420.8 152.3h3.4v11.3h-3.4zm-39.3 0h3.4v11.3h-3.4zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3h-3.3z"/> + <path d="M412.7 160.2v3.4h-15.1v-3.4zm1-8.7v3.3H404v-3.3z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M462.2 143.4h49v3.4h-49zm7.3 17h3.4v3.2h-3.4zm41.9-.2v3.4h-9.8v-3.4zm5.2-16.8h3.4v20.2h-3.4z"/> + <path d="M536.2 160.2v3.4h-18.6v-3.4zm-34.7-7.9h3.4v11.3h-3.4z"/> + <path d="M533.4 143.4h3.4v20.2h-3.4zm-8.4 0h3.3v20.2H525zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/> + <path d="M501.6 152.3h3.3v11.3h-3.3z"/> + <path d="M501.6 152.3h3.3v11.3h-3.3z"/> + <path d="M501.6 152.3h3.3v11.3h-3.3zm-39.4 0h3.4v11.3h-3.4zm28.9 0h3.3v11.3h-3.3zm-14.3 0h3.4v11.3h-3.4z"/> + <path d="M493.4 160.2v3.4h-15.1v-3.4zm1-8.7v3.3h-9.6v-3.3z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M543.4 143.4h49v3.4h-49zm7.3 17h3.4v3.2h-3.4zm41.9-.2v3.4h-9.8v-3.4zm5.2-16.8h3.4v20.2h-3.4z"/> + <path d="M617.4 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.3v11.3h-3.3z"/> + <path d="M614.6 143.4h3.4v20.2h-3.4zm-8.4 0h3.3v20.2h-3.3zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/> + <path d="M582.8 152.3h3.3v11.3h-3.3z"/> + <path d="M582.8 152.3h3.3v11.3h-3.3z"/> + <path d="M582.8 152.3h3.3v11.3h-3.3zm-39.3 0h3.3v11.3h-3.3zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3H558z"/> + <path d="M574.6 160.2v3.4h-15.1v-3.4zm1-8.7v3.3H566v-3.3z"/> + </g> + <g fill="#fff" stroke-width="1pt"> + <path d="M-183.8 143.4h49v3.4h-49zm7.3 17h3.4v3.2h-3.4zm42-.2v3.4h-9.9v-3.4zm5.2-16.8h3.4v20.2h-3.4z"/> + <path d="M-109.8 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/> + <path d="M-112.5 143.4h3.3v20.2h-3.3zm-8.5 0h3.4v20.2h-3.4zm-44.8 8v3.4h-17.9v-3.3zm39.3 0v3.4h-17.9v-3.3z"/> + <path d="M-144.4 152.3h3.4v11.3h-3.4z"/> + <path d="M-144.4 152.3h3.4v11.3h-3.4z"/> + <path d="M-144.4 152.3h3.4v11.3h-3.4zm-39.3 0h3.4v11.3h-3.4zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3h-3.4z"/> + <path d="M-152.5 160.2v3.4h-15.2v-3.4zm1-8.7v3.3h-9.6v-3.3z"/> + </g> + <path fill="#d90000" d="M-68.8 339.5h6V350h-6zm160.5 0h6V350h-6zm-283.7 0h6V350h-6zm81.5 0h6V350h-6zm80.9 0h6V350h-6zm40 0h6V350h-6zm40.9 0h6V350h-6zm80.4 0h6V350h-6zm203 0h6.1V350h-6zm-162.1 0h6V350h-6zm40 0h6V350h-6zm40.5 0h6V350h-6zm40.4 0h6V350h-6zm323.2 0h6V350h-6zm-242.7 0h6V350h-6zm40.8 0h6V350h-6zm41.3 0h6V350h-6zm38.8 0h6V350h-6zm41.3 0h6V350h-6zm40.4 0h6V350h-6zm119.7 0h6V350h-6zm-38.8 0h6V350h-6zm-808.9 0h6V350h-6z"/> + <path fill="#239e3f" d="M-68.8 162.6h6v10.5h-6zm160.5 0h6v10.5h-6zm-283.7 0h6v10.5h-6zm81.5 0h6v10.5h-6zm80.9 0h6v10.5h-6zm40 0h6v10.5h-6zm40.9 0h6v10.5h-6zm80.4 0h6v10.5h-6zm203 0h6.1v10.5h-6zm-162.1 0h6v10.5h-6zm40 0h6v10.5h-6zm40.5 0h6v10.5h-6zm40.4 0h6v10.5h-6zm323.2 0h6v10.5h-6zm-242.7 0h6v10.5h-6zm40.8 0h6v10.5h-6zm41.3 0h6v10.5h-6zm38.8 0h6v10.5h-6zm41.3 0h6v10.5h-6zm40.4 0h6v10.5h-6zm119.7 0h6v10.5h-6zm-38.8 0h6v10.5h-6zm-808.9 0h6v10.5h-6z"/> + <g fill="#da0000"> + <path d="M279.8 197.5c8.4 10.4 34.5 67.6-15.7 105.2-23.7 17.8-9 18.6-8.3 21.6 38-20.1 50.3-47.5 50-72-.2-24.4-13.2-46-26-54.8"/> + <path d="M284.8 194.8a73.3 73.3 0 0 1 15.7 112.4c27.2-6 62-86.4-15.7-112.4m-57.6 0a73.3 73.3 0 0 0-15.6 112.4c-27.3-6-62-86.4 15.6-112.4"/> + <path d="M232.2 197.5c-8.4 10.4-34.5 67.6 15.7 105.2 23.6 17.8 9 18.6 8.3 21.6-38-20.1-50.3-47.5-50-72 .2-24.4 13.2-46 26-54.8"/> + <path d="M304.2 319.1c-14.9.2-33.6-2-47.5-9.3 2.3 4.5 4.2 7.3 6.5 11.7 13.2 1.3 31.5 2.8 41-2.4m-95 0c14.9.2 33.6-2 47.5-9.3-2.3 4.5-4.2 7.3-6.5 11.7-13.2 1.3-31.5 2.8-41-2.4m27.3-138.7c3 8 10.9 9.2 19.3 4.5 6.2 3.6 15.7 3.9 19-4.1 2.5 19.8-18.3 15-19 11.2-7.8 7.5-22.2 3.2-19.3-11.6"/> + <path d="m256.4 331.6 7.8-9 1.1-120.1-9.3-8.2-9.3 7.8 1.9 121z"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/is.svg b/apps/web/public/flags/is.svg new file mode 100644 index 00000000..a6588afa --- /dev/null +++ b/apps/web/public/flags/is.svg @@ -0,0 +1,12 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-is" viewBox="0 0 640 480"> + <defs> + <clipPath id="is-a"> + <path fill-opacity=".7" d="M0 0h640v480H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="0" clip-path="url(#is-a)"> + <path fill="#003897" d="M0 0h666.7v480H0z"/> + <path fill="#fff" d="M0 186.7h186.7V0h106.6v186.7h373.4v106.6H293.3V480H186.7V293.3H0z"/> + <path fill="#d72828" d="M0 213.3h213.3V0h53.4v213.3h400v53.4h-400V480h-53.4V266.7H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/it.svg b/apps/web/public/flags/it.svg new file mode 100644 index 00000000..20a8bfdc --- /dev/null +++ b/apps/web/public/flags/it.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-it" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#009246" d="M0 0h213.3v480H0z"/> + <path fill="#ce2b37" d="M426.7 0H640v480H426.7z"/> + </g> +</svg> diff --git a/apps/web/public/flags/je.svg b/apps/web/public/flags/je.svg new file mode 100644 index 00000000..70a8754e --- /dev/null +++ b/apps/web/public/flags/je.svg @@ -0,0 +1,62 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-je" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0Z"/> + <path d="m1.3-2.4 637.4 484.8m-637.4 0L638.7-2.4" color="#000" style="-inkscape-stroke:none" transform="matrix(.99998 0 0 .99028 0 2.3)"/> + <path fill="#cf142b" d="M0-2.4v29.2L280.5 240 0 453.3v29h44L320 270l275.8 212.4H640V453L359.5 240 640 26.7v-29h-44L320 209.8 44-2.4Z" color="#000" style="-inkscape-stroke:none" transform="matrix(.99998 0 0 .99028 0 2.3)"/> + <path fill="#cf142b" stroke="maroon" stroke-miterlimit="140.8" stroke-width=".5" d="M364.2 65c10.8 44 4.8 98.2-44.2 128.4-49-30.2-55-84.4-44.2-128.4 11.6-10.5 64.2-17 88.4 0z"/> + <path fill="gold" stroke="#806600" stroke-miterlimit="135.2" stroke-width=".2" d="M295.1 91a7 7 0 0 1-2.4-.4 6 6 0 0 1-1.4-2l-2.7.2a7 7 0 0 1-2.1-1.2 4 4 0 0 0 2.2-.9l-2.5-.5q-1.2-.6-2.1-1.3 1.3-.1 2.1-.8l-2.4-.3-1.7-1.3q1.3 0 2.2-1l-2.3-.1-2.4-1.6a5 5 0 0 0 2.6-.8l-.6-1c-.6-1.2-1.8-.7-2.7-1.1a2 2 0 0 1-1.4-1.8c0-.9.4-2.3 2.4-2-1-1.6.1-2.7 1.2-3.2s2-.2 2.7 1.5l1.4-.8a2 2 0 0 1 1.8.6v1.2c-.3.6-1 1-1 1.8-.3.8.5 2.4.5 2.4s4 3.2 5.7 4.8l2.8 3h4.1l.3 6.6H295z"/> + <path fill="#377bc8" stroke="#2c5aa0" stroke-miterlimit="135.2" stroke-width=".2" d="M284.2 69.2a2 2 0 0 1 .7 2.4q.3.5 1 .4a1 1 0 0 0 .7-1.3c-.4-.3-.5-1.1-2.4-1.6zm-4.5.5-1.1.1a2 2 0 0 1 1.6 2q.6.2 1-.1a1 1 0 0 0 .2-1.5c-.4 0-.8-.5-1.6-.5zm-1.3 4.2c-.5.1-1.2-.4-2.7.8a2 2 0 0 1 2.3 1q.5 0 .9-.4a1 1 0 0 0-.5-1.4z"/> + <path fill="gold" stroke="#806600" stroke-miterlimit="135.2" stroke-width=".2" d="M317.6 94c-.6-.2-1.5-1-2.2-1a2 2 0 0 0-1.7 1 2 2 0 0 0 .4 1.5l1.3.8a4 4 0 0 0-1 1.6 2 2 0 0 0 .6 1.1q.4.8 1.2.8l1.5-.1.1 1.1a2 2 0 0 0 2.1 1.1 1 1 0 0 0 1.2-.6c.3-.4.3-1.4.7-1.9l1.9-1.6q1 .7.6 2l1.6-1.4.5-1.8a2 2 0 0 1 .8 2l1.6-1.2.8-2q1 1.1.5 2.3a6 6 0 0 0 1.7-1.6l.4-1.6q2.6 0 2.8-1.4c0-.5-.6-1.3-1.9-1.6l-.6-1.2v-1.1a5 5 0 0 1 1.5-2l2.8-1.5-.6-2.9-6.5-1-7.4 1.8c1.4.6 4.3 2.7 4.1 3.5 0 .3-.7.6-1 1q-.2.5.2 1c.2.4 1 .5 1.3.9q.3.6 0 1c-.5.7-2.2 1-3 1.3l-4 2.1a6 6 0 0 1-2.2-.4z"/> + <path fill="gold" stroke="#806600" stroke-miterlimit="135.2" stroke-width=".2" d="M333.1 85.1s-.1 2.4-1.1 3a2 2 0 0 1-1.4.1 2 2 0 0 1-1-1l-.3-1.1-2.3-.7q-1.8 0-3.6.6a8 8 0 0 1 2.7-3.2l3.9-.3z"/> + <path fill="gold" d="M343.6 69.4c1.1-.1 3.4-.6 4.2-1.3l1.4-1.4q-.2 3.3-3.8 4.7a14 14 0 0 1-6.2.8l-3.8-.8c1.4 1.4.7 2.4-1 3 0 0 .2-1.3-.2-1.5q-1.7-.4-3.5.8a7 7 0 0 1-3 .6 8 8 0 0 1-3.6-.5c-.8-.2-2.3-1.3-2.8-1.2-1.4.2-3 .4-3.7 1.4q-.3.5 0 1.2a4 4 0 0 0 2.6 1.5q4.2.9 8.4.3l9.6-1.9c3-.5 6.8-1.4 9-1.9a34 34 0 0 1 8.9-1c5.3.1 7 2.8 6.9 5.6-.2 2.8-3.3 4.1-6 5-4.8 1.4-11.4.6-15.6.4l2 1.6c.8.6 1.2 1.8 2 2 1.3.4 3.2-.4 4.5-.4 1.9-.2 5 0 5 0l1.3-.8h1.2q1 .3.8 2 .3.4 1 .6h1.7l1.6.8-1.5.5-.7.7q1 0 2 .3l1.2 1-1.3.2-.8.6s1.6-.1 2.2.3l1.1 1.2h-1.3l-.8.4 1.6 1.2q.5.7.6 1.6l-1.1-.6h-.8l.2 2.2c0 .6 1 1.2 1 1.6a1 1 0 0 1-.1 1.2 2 2 0 0 1-2.2.7l-1-.6-.9 1c-.5.4-.6.4-1.3.4a2 2 0 0 1-1.3-.5l-.7-1.6-1.6.3a2 2 0 0 1-1.5-.7 2 2 0 0 1 .3-1.8c.4-.4 1.6-.5 2.2-.8a5 5 0 0 0 1.6-1.3l-3.8-3-1.6-2.1s-3.4 1-4.7 1a26 26 0 0 1-6.4 0c-4.8 0-8-6.6-12.3-8.2a5 5 0 0 0-3.3 0c-5 1-10.4 6.8-15.3 8q-3.2.6-6.4.7l-1.3 1.7a7 7 0 0 1-2.6.5l-1 2.3a7 7 0 0 1-2 1.3 3 3 0 0 0 0-2.3l-1.5 2-2.2 1.1c.2-.6.5-1.3 0-2.1l-1.2 1.8q-1 .7-2 1a2 2 0 0 0 0-2.3l-1.2 1.9-2.6 1.3a4 4 0 0 0 .4-2.4h-1.2c-1.5 0-1.6 1.3-2.3 1.9a3 3 0 0 1-2.4.4c-.8-.4-1.7-1.4-.5-3-2 .2-3-1-3-2.2 0-1 .3-1.9 2.4-1.8l-.2-1.4a1.4 1.4 0 0 1 1.5-1.2q.6 0 1.2.6c.4.4.5 1.1 1.2 1.6.8.6 2.7.5 2.7.5a50 50 0 0 1 6.2-2.8c1.3-.4 5-1 5-1V81a87 87 0 0 1 13 1.1l5.2-.3s8.4-1.3 12.4-1.7q3-.3 6.1-.2c3 .2 5.6.9 8.6 1q3.2.5 6.4.3c3.5-.2 9.7 0 11.7-3a2 2 0 0 0-.6-2.6 3 3 0 0 0-3-.8q-1.4.2-1.7 1.2a1 1 0 0 0 .3 1.1q.3.6 1.1.9a4 4 0 0 1-2.2-.3 6 6 0 0 1-1.4-2.2 2 2 0 0 0-.5 1.5q0 1 .7 1.6a4 4 0 0 1-2.4-.8 7 7 0 0 1-.9-2.2 2 2 0 0 0-.8 1.6q.1.8.5 1.7a5 5 0 0 1-2.2-1.2 6 6 0 0 1-.7-2.2l-9 1.8-9.5 1.6a24 24 0 0 1-11.3-.8c-1.6-.8-2.4-1.3-2.8-2.7a3 3 0 0 1 1-2.7 10 10 0 0 1 5-2.6 76 76 0 0 1 8.8-1.6 34 34 0 0 1 9.5.4c1.4.2 3-.1 3.3-.6.4-.4 1-.8.2-1.8q1.2 0 1.8 1.2c.3.4 0 1.6 0 1.6z"/> + <path fill="none" stroke="#806600" stroke-miterlimit="135.2" stroke-width=".2" d="M343.6 69.4c1.1-.1 3.4-.6 4.2-1.3l1.4-1.4q-.2 3.3-3.8 4.7a14 14 0 0 1-6.2.8l-3.8-.8c1.4 1.4.7 2.4-1 3 0 0 .2-1.3-.2-1.5q-1.7-.4-3.5.8a7 7 0 0 1-3 .6 8 8 0 0 1-3.6-.5c-.8-.2-2.3-1.3-2.8-1.2-1.4.2-3 .4-3.7 1.4q-.3.5 0 1.2a4 4 0 0 0 2.6 1.5q4.2.9 8.4.3l9.6-1.9c3-.5 6.8-1.4 9-1.9a34 34 0 0 1 8.9-1c5.3.1 7 2.8 6.9 5.6-.2 2.8-3.3 4.1-6 5-4.8 1.4-11.4.6-15.6.4l2 1.6c.8.6 1.2 1.8 2 2 1.3.4 3.2-.4 4.5-.4 1.9-.2 5 0 5 0l1.3-.8h1.2q1 .3.8 2 .3.4 1 .6h1.7l1.6.8-1.5.5-.7.7q1 0 2 .3l1.2 1-1.3.2-.8.6s1.6-.1 2.2.3l1.1 1.2h-1.3l-.8.4 1.6 1.2q.5.7.6 1.6l-1.1-.6h-.8l.2 2.2c0 .6 1 1.2 1 1.6a1 1 0 0 1-.1 1.2 2 2 0 0 1-2.2.7l-1-.6q-.3.6-.9 1a2 2 0 0 1-1.3.5 2 2 0 0 1-1.3-.6l-.7-1.6-1.6.3a2 2 0 0 1-1.5-.7 2 2 0 0 1 .3-1.8c.4-.4 1.6-.5 2.2-.8a5 5 0 0 0 1.6-1.3l-3.8-3-1.6-2.1s-3.4 1-4.7 1a26 26 0 0 1-6.4 0c-4.8 0-8-6.6-12.3-8.2a5 5 0 0 0-3.3 0c-5 1-10.4 6.8-15.3 8q-3.2.6-6.4.7l-1.3 1.7a7 7 0 0 1-2.6.5l-1 2.3a7 7 0 0 1-2 1.3 3 3 0 0 0 0-2.4l-1.5 2-2.2 1.2c.2-.6.5-1.3 0-2.1l-1.2 1.8q-1 .7-2 1a2 2 0 0 0 0-2.3l-1.2 1.9-2.6 1.3a4 4 0 0 0 .4-2.4h-1.2c-1.5 0-1.6 1.3-2.3 1.9a3 3 0 0 1-2.4.4c-.8-.4-1.7-1.4-.5-3-2 .2-3-1-3-2.2 0-1 .3-1.9 2.4-1.8l-.2-1.4a1.4 1.4 0 0 1 1.5-1.2q.6 0 1.2.6c.4.4.5 1.1 1.2 1.6.8.6 2.7.5 2.7.5a50 50 0 0 1 6.2-2.8c1.3-.4 5-1 5-1V81a87 87 0 0 1 13 1.1l5.2-.3s8.4-1.3 12.4-1.7q3-.3 6.1-.2c3 .2 5.6.9 8.6 1q3.2.5 6.4.3c3.5-.2 9.7 0 11.7-3a2 2 0 0 0-.6-2.6 3 3 0 0 0-3-.8q-1.4.2-1.7 1.2 0 .7.3 1 .4.6 1.1 1s-1.7 0-2.4-.4a5 5 0 0 1-1.2-2.1 2 2 0 0 0-.5 1.5q0 1 .7 1.6a4 4 0 0 1-2.4-.8 7 7 0 0 1-.9-2.2 2 2 0 0 0-.8 1.6q.1.8.5 1.7a5 5 0 0 1-2.2-1.2 6 6 0 0 1-.7-2.2l-9 1.8-9.5 1.6a22 22 0 0 1-11.3-1c-1.6-.6-2.4-1.1-2.8-2.5a3 3 0 0 1 1-2.8 10 10 0 0 1 5-2.5 76 76 0 0 1 8.8-1.6 34 34 0 0 1 9.4.4c1.4.2 3-.1 3.4-.6s1-.8.1-1.8a2 2 0 0 1 1.8 1.2c.3.4 0 1.6 0 1.6z"/> + <path fill="gold" d="M307.6 82.3c1 .7 2-.1 2.2-.2L309 81l-.2-2c0-1.6.6-1.9.6-1.8l1.6-.7a2 2 0 0 0 .7-1.5l-.2-1.9c-1.6 0-2 .1-2.4.6l-.2-1.6-.6-1.2-.5-.6q-.1.7-.6 1.1l-.6-2.1-1.2-1-1.5.2-1.6 1.6.1-1.3-.8.2-1.1.7-1 1.2c0-.7-.4-1-1.7-1.9l-1.2 1.6a2 2 0 0 0-.2 1.6q.4.8 1 1.5c0-.1.4.5-.5 1.8l-1.3 1.5-1.3.5c.3.9.4 1.3 1.8 1.5-3 2.2-3.4 5.7-1 8.7l.9-1.5a4 4 0 0 0 1 2.6c.2.3.4 2 .8 2.4l1 1s.3-1.3.9-1.5l2-.6c.9-.3 2.1-1.9 2.1-1.9l-.2 2c4-1.4 5-4.2 4-7.9"/> + <path fill="#504416" d="M299.8 77.4a8 8 0 0 1-.8 4l2.5 1 2.7.4c-.3-1.1.8-3.2 1.3-3.8h-1.9l-.8-.8-1.6.3z"/> + <path fill="#fff" d="M300.2 78a3 3 0 0 0 0 2l.8-1.6zm3.8 1.2-.2 1.8a3 3 0 0 0 1-1.7zm-3.8 1.3a3 3 0 0 0-1 1.7h.9zm3.3.9-.7 1.6.6.4a3 3 0 0 0 .1-2m-3-8.6q-.7 0-1 .6 0 .8 1 1.2a1.4 1.4 0 0 0 1.7-.7q.1-.7-1.2-1zm5.4 1.6q-.6-.1-.8.4a1.4 1.4 0 0 0 1.1 1.4q1.3.3 1.6-.5 0-.9-1-1.2z"/> + <path fill="#d1b948" d="m300.5 72.6-.5.1-.6.6.2.9q.4.4.9.6 1.4.3 1.8-.8l-.2-.8-1-.4zm0 .4h.5l.8.4q.4.2.3.5a1.2 1.2 0 0 1-1.5.7l-.8-.6v-.6l.3-.4zm5.4 1.2h-.2l-.7.5a1.4 1.4 0 0 0 1.2 1.6q.6.3 1 0 .5 0 .6-.6l-.1-.8-1-.5zm0 .3.8.1q.5.1.8.4.2.3.1.7l-.5.5h-.9a1.2 1.2 0 0 1-1-1.4q0-.2.5-.3z"/> + <path fill="gold" d="M300.6 71.7a1 1 0 0 0-1 .2l-.2.7h.4l.7.1 1.3.6h1.5l-1.2-.7c-.5-.2-1-.8-1.6-1zm7 2q-.9-.1-1.6 0l-1.4-.1 1.2.8 1.5.2.6.2.4.3.3-.6a1 1 0 0 0-1-.8m-8.6 7.7c-1.3 3.5 4 5.2 4.8 1.4a11 11 0 0 1-4.8-1.4"/> + <path fill="#806600" d="m299 81.1-.2.3a3 3 0 0 0 0 2.4 2.8 2.8 0 0 0 5.4-.8v-.4h-.3a11 11 0 0 1-4.8-1.3zm.1.4A14 14 0 0 0 304 83a3 3 0 0 1-1.1 1.7 4 4 0 0 1-2.2.2 4 4 0 0 1-1.6-1.4 3 3 0 0 1 0-1.9z"/> + <path fill="#377bc8" stroke="#2c5aa0" stroke-miterlimit="135.2" stroke-width=".2" d="M301.3 78.4a15 15 0 0 0-.8 7.2c1.6-1.8 2.4-4.2 3-6.4q-.2-.3-.5-.4l-.4-.6-.7.4-.6-.1z"/> + <path fill="gold" d="m305.4 68.2-1.5.3-1.6 1.6v-1.3l-.7.2-1.2.7-1 1.1c.4 0 1.6-1 2-.9s.2 1 .5 1.1c.5 0 1-.8 1.6-1.2a3 3 0 0 1 1.6-.8 2 2 0 0 1 1 1.6q.4 1.3.9 1.9c.3.1.6-.8 1-.8.5.2.7 1.7 1.1 2l-.2-1.6-.7-1.2-.5-.6q-.1.6-.6 1.1l-.5-2.1zm-6.5 5.7c-.6 1 0 2 1.2 2.1l-.4 1.1.6 1.3 1.2.4 1-.4.9 1 1 .2 1.3-.8.5-.9h.8l.8-.4.2-.9a2 2 0 0 1-2.6.4 2 2 0 0 1-.5 1.4 1 1 0 0 1-1 .2 2 2 0 0 1-1.2-1q-.7.5-1.2.5a1.4 1.4 0 0 1-1-1 2 2 0 0 1 .5-1.4c-2.4-.7-1.6-1.4-2.2-1.8zm-1.3.3-2 2.8-1.3.5c.3.9.4 1.3 1.8 1.5-3 2.2-3.4 5.7-1 8.7l.9-1.5a4 4 0 0 0 1 2.6c.2.3.4 2 .8 2.4l1 1s.3-1.3.9-1.5l2-.6c.9-.3 2.1-1.9 2.1-1.9l-.1 2c4-1.4 5-4.2 3.9-7.9 1 .7 2-.1 2.2-.2l-.8-1.2-.2-2-.2-1.1-.5 1.7v1.8a5 5 0 0 1-1.9-1l.8 4q0 1.3-.4 2.7a7 7 0 0 1-1.7 1.7l.3-2.4c0-.8-.4-3-.4-3l-.8 3-1.3 2c.3-2.1.2-2.2-.1-3 0 0-.5 2.6-1.5 3.7l-1.6.8-.8.6-.6-1.8-1.2-2.4c-.3-1.2 1.3-3.6 1.3-3.6q-.9.2-1.9 1.4l-1.3 1.8-.5-2.4a5 5 0 0 1 .7-2.2 22 22 0 0 1 3.4-3.3 5 5 0 0 1-3 0s1.3-1.3 1.4-1.6a4 4 0 0 0 .6-2zm5.2 1.2h-1.3v.6l.6.2.8 1 1.7-.5.3-.4-1.6-.9z"/> + <path fill="none" stroke="#806600" stroke-miterlimit="135.2" stroke-width=".2" d="M307.6 82.3c1 .7 2-.1 2.2-.2L309 81l-.2-2c0-1.6.6-1.9.6-1.8l1.6-.7a2 2 0 0 0 .7-1.5l-.2-1.9c-1.6 0-2 .1-2.4.6l-.2-1.6-.6-1.2-.5-.6q-.1.7-.6 1.1a4 4 0 0 0-1.8-3.2q-1.9.1-3.2 1.8l.2-1.2-.8.2-1.1.7-1 1.2c0-.7-.4-1-1.7-1.9l-1.2 1.6a2 2 0 0 0-.2 1.6q.4.8 1 1.5c0-.1.4.5-.5 1.8l-1.3 1.5-1.3.5c.3.9.4 1.3 1.8 1.5-3 2.2-3.4 5.7-1 8.7l.9-1.5a4 4 0 0 0 1 2.6c.2.3.4 2 .8 2.4l1 1s.3-1.3.9-1.5l2-.6c.9-.3 2.1-1.9 2.1-1.9l-.2 2c4-1.4 5-4.2 4-7.9z"/> + <path fill="#806600" d="M297.8 70.2a3 3 0 0 0-.6 1.6l1 1.7.4-2.4c0-.4-.8-1-.8-1Zm2.1 2.1-.3.1-.6.6.8-.4h.3q.6.5 1.2.7h1.9l-.2.8s-.7.2-1 .5l-.3.4-.3.3v.8h.2q.7.2.8 1l.2.2h.7q.5-.5 1.3-.3h.1l.1-.1q.3-.2.2-.6V76l-.1-.6-.4-1 .1-.9a5 5 0 0 0 1.6 1.2l1.4.1.3.2.5.6q0-.5-.2-.8-.2-.2-.5-.2l-1.3-.2a4 4 0 0 1-1.5-1l-.3-.2-.1.2-.3 1.2.4 1.2.1.7v.1a2 2 0 0 0-1.7.5h-.1a3 3 0 0 0-1.2-1.3v-.3l.1-.2.4-.3 1-.8q.3-.5.3-1v-.4h-.3a4 4 0 0 1-1.8.2l-1.2-.6h-.3zm-1 1.4a2 2 0 0 0-.3 1.7q.5.6 1.2.8l-.1.2-.2.8q.2.8.8 1.4a2 2 0 0 0 1.3.4l.8-.4.6.8a2 2 0 0 0 1.3.3 2 2 0 0 0 1.8-1.5v-.1a2 2 0 0 0 1.4-.2q.6-.7.7-1.6c-.4.3 0 .8-1 1.4a1 1 0 0 1-1.1 0l-.4-.3v1l-.3.5q-.5.5-1.2.5l-.8-.2-.6-.8v-.5l-.3.3-.5.3-.5.1-.9-.3a2 2 0 0 1-.8-1.2l.2-.5.2-.4.2-.4h-.4a1 1 0 0 1-1-.6c-.6-.6 0-1-.1-1.5m12 .2s-1 0-1.3.4l-.8 2.3 1.6-1a3 3 0 0 0 .5-1.7"/> + <path fill="#2b2200" d="M301 73.1a.6.6 0 0 0-.2 1.1.6.6 0 1 0 .2-1zm5.4 1.6a.6.6 0 0 0-.2 1 .6.6 0 1 0 .2-1"/> + <path fill="#377bc8" stroke="#2c5aa0" stroke-miterlimit="135.2" stroke-width=".2" d="M280.2 91.5c-.5.3-1.2-.2-2.7 1a2 2 0 0 1 2.4 1q.5 0 .8-.6a1 1 0 0 0-.5-1.4zm33.9 1.6c-.5.3-1.2-.2-2.7 1a2 2 0 0 1 2.4 1 1 1 0 0 0 .8-.5 1 1 0 0 0-.5-1.5zm-36.4 2c-.4.3-1.2.2-2.1 1.9a2 2 0 0 1 2.6 0q.5-.3.5-1a1 1 0 0 0-1-1zm37 2.6c-.4.4-1.2.3-1.9 2a2 2 0 0 1 2.5-.2q.6-.2.5-.8a1 1 0 0 0-1.2-1zM280.1 99l-.6.2c-.2.5-.9.8-.8 2.7a2 2 0 0 1 2.2-1.3q.4-.5 0-1a1 1 0 0 0-.8-.6zm73.8.3h-.5c-.1.5-1 .8-1.1 2.7a2 2 0 0 1 2.4-1l.2-1.1a1 1 0 0 0-1-.6zm-35.2 1.2-.6.3c0 .5-.8.8-.5 2.7a2 2 0 0 1 2-1.4q.3-.7 0-1a1 1 0 0 0-.8-.6zm43.8.2a1 1 0 0 0-1 .6c.2.5-.3 1.2.8 2.7a2 2 0 0 1 1.1-2.3 1 1 0 0 0-.5-1zm-4.8.6q-.3 0-.7.4c0 .4-.6 1 .1 2.8a2.4 2.4 0 0 1 1.7-2 1 1 0 0 0-.3-1z"/> + <path fill="gold" stroke="#806600" stroke-miterlimit="128.6" stroke-width=".2" d="M295.2 127a6 6 0 0 1-2.2-.3 6 6 0 0 1-1.5-1.8H289l-2-1a4 4 0 0 0 2.1-1l-2.4-.3-2-1.3c.7-.2 1.5-.2 2-.8l-2.1-.3-1.8-1.2a3 3 0 0 0 2.2-1l-2.3-.2-2.2-1.5a4 4 0 0 0 2.4-.6l-.5-1c-.6-1.2-1.8-.8-2.6-1.1a2 2 0 0 1-1.3-1.6c-.1-.9.3-2.2 2.3-2-1-1.4 0-2.5 1-3q1.6-.8 2.6 1.4l1.4-.8a1.4 1.4 0 0 1 1.6.6q.3.6 0 1.2-.5.6-1 1.6c-.2.8.6 2.4.6 2.4s3.8 3 5.5 4.6l2.6 2.7h3.8l.3 6.3z"/> + <path fill="#377bc8" stroke="#2c5aa0" stroke-miterlimit="128.6" stroke-width=".2" d="M284.8 106.3a2 2 0 0 1 .6 2.3q.4.5 1 .4a1 1 0 0 0 .6-1.2c-.4-.4-.4-1-2.2-1.5zm-4.2.5h-1.2a2 2 0 0 1 1.6 2 1 1 0 0 0 1 0 1 1 0 0 0 0-1.5c-.2 0-.6-.5-1.4-.5zm-1.3 4c-.5 0-1.1-.3-2.6.8a2 2 0 0 1 2.2 1q.7 0 .9-.5a1 1 0 0 0-.5-1.3z"/> + <path fill="gold" stroke="#806600" stroke-miterlimit="128.6" stroke-width=".2" d="M316.6 130c-.6-.2-1.4-1.1-2.1-1.1a2 2 0 0 0-1.6 1 2 2 0 0 0 .4 1.4l1.2.9-.8 1.4a1 1 0 0 0 .5 1.1c.4.5.4.7 1.2.8l1.2-.1q0 .6.3 1a2 2 0 0 0 1.9 1q.8 0 1.2-.5c.2-.4.2-1.4.6-1.8l1.8-1.6c.8.5.7 1.1.6 1.9l1.5-1.2.5-1.9a2 2 0 0 1 .8 2l1.6-1.2.7-1.7a2 2 0 0 1 .4 2 6 6 0 0 0 1.6-1.6l.5-1.4q2.4-.1 2.6-1.3c0-.5-.6-1.3-1.8-1.5l-.7-1.2v-1.1a5 5 0 0 1 1.5-1.8l2.7-1.6-.6-2.6-6.2-1-7 1.7c1.3.6 4.1 2.6 4 3.4-.2.2-.9.5-1.1.8q-.2.7.2 1c.3.5 1 .6 1.2.9a1 1 0 0 1 0 1c-.4.7-2 .9-2.8 1.2l-3.8 2a5 5 0 0 1-2.2-.4z"/> + <path fill="gold" stroke="#806600" stroke-miterlimit="128.6" stroke-width=".2" d="M331.4 121.4s-.1 2.3-1 2.8a2 2 0 0 1-1.5.3 2 2 0 0 1-.8-1.1l-.3-1-2.3-.7a13 13 0 0 0-3.3.6 8 8 0 0 1 2.4-3l3.8-.3z"/> + <path fill="gold" d="M341.4 106.5c1-.1 3.2-.6 4-1.2l1.2-1.3q0 3-3.6 4.4a13 13 0 0 1-5.9.7l-3.5-.8c1.3 1.5.6 2.4-1 3 0 0 .3-1.3-.2-1.5-1-.4-2.2.2-3.4.8a7 7 0 0 1-2.8.6 9 9 0 0 1-3.4-.5c-.8-.2-2.2-1.3-2.7-1.2-1.3.3-2.8.4-3.5 1.4a1 1 0 0 0 0 1.2 4 4 0 0 0 2.5 1.3q4 .9 8 .3c2.8-.4 6.2-1.2 9-1.7l8.8-2a33 33 0 0 1 8.4-.7c5 0 6.6 2.5 6.5 5.1-.2 2.8-3.2 4-5.8 4.8-4.6 1.4-10.8.6-14.7.5l1.9 1.4c.7.6 1 1.7 2 2 1.1.3 3-.4 4.2-.5l4.8.1q.4-.5 1.2-.8h1q1 .3.8 1.9l.9.5c.6.2 1.3 0 1.7.2l1.5.6-1.5.6-.6.6 2 .3q.5.3 1 1H359l-.8.7s1.6-.1 2.2.3l1 1-1.2.2-.8.3 1.6 1.1.5 1.6-1-.6h-.8l.2 2.1c0 .5.8 1.1 1 1.5q.3.8-.2 1.2a2 2 0 0 1-2 .6l-1-.6-.8 1q-.5.5-1.3.3a2 2 0 0 1-1.3-.4l-.6-1.5-1.5.3a2 2 0 0 1-1.4-.7 2 2 0 0 1 .2-1.7c.4-.5 1.6-.5 2.2-.8l1.4-1.2-3.5-2.9-1.6-2-4.5 1a25 25 0 0 1-6 0c-4.6 0-7.6-6.3-11.7-7.8a5 5 0 0 0-3.2 0c-4.8 1-9.9 6.4-14.6 7.6a44 44 0 0 1-6 .7 5 5 0 0 1-1.3 1.6q-1.2.5-2.4.5l-1 2.1a7 7 0 0 1-2 1.3q.5-1.2 0-2.2l-1.3 1.9-2 1.1c0-.6.3-1.3 0-2l-1.3 1.7q-.8.7-1.9 1a2 2 0 0 0 0-2.2l-1.1 1.7-2.4 1.3q.5-1.2.3-2.2H286c-1.3 0-1.4 1.1-2.1 1.7a3 3 0 0 1-2.2.4c-.9-.4-1.7-1.4-.6-3-1.9.3-2.8-.9-2.8-2 0-.9.3-1.8 2.2-1.7l-.2-1.3a1.4 1.4 0 0 1 1.5-1q.6-.1 1.1.4c.4.4.5 1 1.2 1.6a6 6 0 0 0 2.6.4 48 48 0 0 1 5.8-2.6c1.3-.4 4.8-1 4.8-1v-8.7h3.1c2.6 0 9.3 1 9.3 1l4.8-.3s8-1.2 12-1.6a39 39 0 0 1 5.7-.2c3 .1 5.4.8 8.1 1q3.2.3 6.2.2c3.3-.1 9.2 0 11-3a2 2 0 0 0-.4-2.3 3 3 0 0 0-3-.8c-.6.1-1.5.6-1.5 1.2q-.1.6.2 1.1l1 .8a4 4 0 0 1-2-.3 6 6 0 0 1-1.3-2.1 2 2 0 0 0-.5 1.4 2 2 0 0 0 .7 1.6 4 4 0 0 1-2.3-.8l-.9-2.1a2 2 0 0 0-.8 1.5q.1.8.6 1.6a5 5 0 0 1-2-1.1 6 6 0 0 1-.9-2.1l-8.5 1.6a101 101 0 0 1-9 1.6q-6.7.9-10.8-.8-2.1-.7-2.6-2.4a3 3 0 0 1 .8-2.7 9 9 0 0 1 4.8-2.4 73 73 0 0 1 8.4-1.6 32 32 0 0 1 9 .5c1.4.1 2.8-.2 3.2-.6s1-.8.2-1.8q1.1 0 1.6 1.2c.3.4 0 1.6 0 1.6z"/> + <path fill="gold" stroke="#806600" stroke-miterlimit="128.6" stroke-width=".2" d="M341.4 106.5c1-.1 3.2-.6 4-1.2l1.2-1.3q0 3-3.6 4.4a13 13 0 0 1-5.9.7l-3.5-.8c1.3 1.5.6 2.4-1 3 0 0 .3-1.3-.2-1.5-1-.4-2.2.2-3.4.8a7 7 0 0 1-2.8.6 9 9 0 0 1-3.4-.5c-.8-.2-2.2-1.3-2.7-1.2-1.3.3-2.8.4-3.5 1.4a1 1 0 0 0 0 1.2 4 4 0 0 0 2.5 1.3q4 .9 8 .3c2.8-.4 6.2-1.2 9-1.7l8.8-2a33 33 0 0 1 8.4-.7c5 0 6.6 2.5 6.5 5.1-.2 2.8-3.2 4-5.8 4.8-4.6 1.4-10.8.6-14.7.5l1.9 1.4c.7.6 1 1.7 2 2 1.1.3 3-.4 4.2-.5l4.8.1q.4-.5 1.2-.8h1q1 .3.8 1.9l.9.5c.6.2 1.3 0 1.7.2l1.5.6-1.5.6-.6.6 2 .3q.5.3 1 1H359l-.8.7s1.6-.1 2.2.3l1 1-1.2.2-.8.3 1.6 1.1.5 1.6-1-.6h-.8l.2 2.1c0 .5.8 1.1 1 1.5q.3.8-.2 1.2a2 2 0 0 1-2 .6l-1-.6-.8 1a2 2 0 0 1-1.3.5 2 2 0 0 1-1.3-.6l-.6-1.5-1.5.3a2 2 0 0 1-1.4-.7 2 2 0 0 1 .2-1.7c.4-.5 1.6-.5 2.2-.8l1.4-1.2-3.5-2.9-1.6-2-4.5 1a25 25 0 0 1-6 0c-4.6 0-7.6-6.3-11.7-7.8a5 5 0 0 0-3.2 0c-4.8 1-9.9 6.4-14.6 7.6a44 44 0 0 1-6 .7 5 5 0 0 1-1.3 1.6 7 7 0 0 1-2.4.5l-1 2.1a7 7 0 0 1-2 1.3q.5-1.2 0-2.2l-1.3 1.9-2 1.1c0-.6.3-1.3 0-2l-1.3 1.7q-.8.7-1.9 1a2 2 0 0 0 0-2.2l-1.1 1.7-2.4 1.3q.5-1.2.3-2.2H286c-1.3 0-1.4 1.1-2.1 1.7a3 3 0 0 1-2.2.4c-1-.4-1.7-1.4-.6-3-1.9.3-2.8-.9-2.8-2 0-.9.3-1.8 2.2-1.7l-.2-1.3a1.4 1.4 0 0 1 1.5-1q.6-.1 1.1.4c.4.4.5 1 1.2 1.6a6 6 0 0 0 2.6.4 48 48 0 0 1 5.8-2.6c1.3-.4 4.8-1 4.8-1v-8.7h3.1c2.6 0 9.3 1 9.3 1l4.8-.3s8-1.2 12-1.6a39 39 0 0 1 5.7-.2c3 .1 5.4.8 8.1 1q3.2.3 6.2.2c3.3-.1 9.2 0 11-3a2 2 0 0 0-.4-2.3 3 3 0 0 0-3-.8c-.6.1-1.5.6-1.5 1.2a1 1 0 0 0 .2 1l1 .9a5 5 0 0 1-2.2-.4 4 4 0 0 1-1.1-2 2 2 0 0 0-.5 1.4 2 2 0 0 0 .7 1.6 4 4 0 0 1-2.3-.8l-.9-2.1a2 2 0 0 0-.8 1.5q.1.8.6 1.6a5 5 0 0 1-2-1.1 6 6 0 0 1-.9-2.1l-8.5 1.6a101 101 0 0 1-9 1.6q-6.7.9-10.8-.8-2.1-.7-2.6-2.4a3 3 0 0 1 .8-2.7 9 9 0 0 1 4.8-2.4 73 73 0 0 1 8.4-1.6 32 32 0 0 1 9 .5c1.4.1 2.8-.1 3.2-.6s1-.8.2-1.8q1.1 0 1.6 1.2c.3.4 0 1.6 0 1.6z"/> + <path fill="gold" d="M307 118.8c1 .6 2-.2 2.3-.2l-.8-1.2-.3-1.8c0-1.6.5-1.8.6-1.6l1.4-.8q.6-.5.8-1.3l-.2-1.9c-1.5 0-1.8.2-2.2.6l-.3-1.5-.5-1.2-.6-.5q0 .7-.6 1l-.4-2a1.6 1.6 0 0 0-2.6-.8l-1.6 1.5.2-1.2-.8.2-1 .7-1.1 1.1q.2-.8-1.6-1.7l-1.1 1.6a2 2 0 0 0-.1 1.4l.8 1.4c.1 0 .5.4-.4 1.7l-1.2 1.4q-.6.5-1.3.5c.4.8.5 1.2 1.8 1.4-3 2-3.2 5.4-1 8.3q.3-.8.9-1.4a4 4 0 0 0 .8 2.5c.3.3.5 1.8.8 2.3l1 1s.3-1.3.9-1.5l2-.6a7 7 0 0 0 2-1.7l-.3 1.8q5.5-2.1 3.7-7.5"/> + <path fill="#504416" d="M299.6 114a8 8 0 0 1-.8 4l2.6 1 2.4.2c-.2-1 .8-3 1.2-3.6h-1.7l-.8-.8-1.5.3-1.4-1z"/> + <path fill="#fff" d="M300 114.7a3 3 0 0 0 0 1.9l.7-1.6zm3.6 1.1-.2 1.7a3 3 0 0 0 1-1.6h-.8zM300 117a3 3 0 0 0-.9 1.6l.7.1zm3.2 1-.8 1.5.7.3a3 3 0 0 0 0-1.9zm-2.9-8.2q-.7 0-.9.4-.1.8 1 1.3a1.3 1.3 0 0 0 1.6-.6q0-.8-1.1-1zm5.2 1.4q-.5 0-.8.4a1.3 1.3 0 0 0 1 1.4q1.3.4 1.5-.5.3-.8-1-1.1l-.8-.2z"/> + <path fill="#d1b948" d="M300.3 109.6h-.4l-.5.6q-.1.5.1.8.3.5.8.6a1.4 1.4 0 0 0 1.8-.8l-.3-.6-1-.5zm0 .2.5.1.8.4a.4.4 0 0 1 .2.5 1 1 0 0 1-1.4.6l-.7-.4-.2-.7.4-.4zm5.2 1.3h-.2l-.7.5a1.4 1.4 0 0 0 1.2 1.6h1q.4-.3.6-.7l-.3-.8-.8-.4zm0 .3.7.1q.4 0 .8.4l.1.6-.5.4h-.8a1 1 0 0 1-1-1.2q0-.4.5-.3z"/> + <path fill="gold" d="M300.4 108.6a1 1 0 0 0-1 .3c-.2.1-.2.6-.2.6h.6l.5.2 1.3.5h1.4l-1.2-.6c-.4-.2-.8-.9-1.4-1m6.6 2c-.4-.2-1 .1-1.5 0l-1.3-.1 1.2.8 1.4.2.6.2.4.2.2-.5a1 1 0 0 0-1-.8m-8 7.4c-1.4 3.2 3.8 4.8 4.6 1.3a11 11 0 0 1-4.6-1.3"/> + <path fill="#806600" d="M298.8 117.6v.3a3 3 0 0 0 0 2.3 2.6 2.6 0 0 0 5-.8v-.3h-.2a10 10 0 0 1-4.6-1.3l-.2-.1zm.2.5a13 13 0 0 0 4.5 1.2 3 3 0 0 1-1 1.7 3 3 0 0 1-2 .2 3 3 0 0 1-1.6-1.4 3 3 0 0 1 0-1.7z"/> + <path fill="#377bc8" stroke="#2c5aa0" stroke-miterlimit="128.6" stroke-width=".2" d="M301.1 115.2a14 14 0 0 0-.8 6.7c1.6-1.6 2.4-4 2.9-6.1l-.5-.4-.3-.5-.7.3z"/> + <path fill="gold" d="m305 105.4-1.4.2-1.6 1.5v-1.2l-.6.2-1.2.7-1 1c.6 0 1.7-1 2-.8.4 0 0 1 .5 1s.9-.6 1.5-1.1q.9-.8 1.6-.7a2 2 0 0 1 .9 1.4q.3 1.3.8 1.8c.3.2.6-.8 1-.7s.6 1.6 1 1.9l-.2-1.5-.6-1.2-.5-.5q-.1.6-.6 1l-.5-2zm-6.3 5.5c-.5.8.2 1.7 1.3 1.9l-.5 1 .7 1.2 1 .4 1.1-.4.7 1 1 .2 1.3-.8.5-.8h.8l.6-.4.2-.8q-1 1-2.4.4a2 2 0 0 1-.4 1.3 1 1 0 0 1-1 .2 2 2 0 0 1-1.1-.9q-.7.4-1.1.4a1.4 1.4 0 0 1-1-1 2 2 0 0 1 .4-1.3c-2.4-.7-1.6-1.3-2-1.6zm-1.2.2-1.8 2.6q-.6.5-1.3.5c.4.8.5 1.2 1.8 1.4-3 2-3.2 5.4-1 8.3q.3-.8.9-1.4a4 4 0 0 0 .8 2.5c.3.3.5 1.8.8 2.3l1 1s.3-1.3.9-1.5l2-.6a7 7 0 0 0 2-1.7l-.3 1.8c3.9-1.3 4.8-4 3.7-7.5 1 .6 2-.2 2.3-.2l-.8-1.2-.3-1.8v-1.1l-.6 1.6v1.7l-1.8-.8q.5 1.8.8 3.7 0 1.3-.5 2.5l-1.6 1.7.3-2.3-.3-2.8-.8 2.7-1.2 2c.1-2 0-2.2-.2-2.9 0 0-.5 2.5-1.3 3.6l-1.6.7-.7.6-.6-1.7-1.2-2.2c-.3-1.2 1.2-3.6 1.2-3.6q-.9.2-1.7 1.4l-1.3 1.6-.5-2.2q0-1.2.7-2.1c.6-1 3.3-3 3.3-3a4 4 0 0 1-2.8 0l1.2-1.7a4 4 0 0 0 .5-1.9m5 1.1h-1.2v.5l.5.3.8 1 1.6-.5.3-.4-1.5-.8z"/> + <path fill="none" stroke="#806600" stroke-miterlimit="128.6" stroke-width=".2" d="M307 118.8c1 .6 2-.2 2.3-.2l-.8-1.2-.3-1.8c0-1.6.5-1.8.6-1.6l1.4-.8q.6-.5.8-1.3l-.2-1.9c-1.5 0-1.8.2-2.2.6l-.3-1.5-.5-1.2-.6-.5q0 .7-.6 1a4 4 0 0 0-1.6-3q-1.8.1-3 1.7v-1.2l-.6.2-1 .7-1.1 1.1q.2-.8-1.6-1.7l-1.1 1.6a2 2 0 0 0-.1 1.4l.8 1.4c.1 0 .5.4-.4 1.7l-1.2 1.4q-.6.5-1.3.5c.4.8.5 1.2 1.8 1.4-3 2-3.2 5.4-1 8.3q.3-.8.9-1.4a4 4 0 0 0 .8 2.5c.3.3.5 1.8.8 2.3l1 1s.3-1.3.9-1.5l2-.6a7 7 0 0 0 2-1.7l-.3 1.8q5.5-2.1 3.7-7.5z"/> + <path fill="#806600" d="M297.7 107.2a3 3 0 0 0-.5 1.6l.9 1.6.5-2.2c-.1-.4-.8-1-.8-1zm2 2-.3.2q-.4 0-.4.4l.7-.2h.2l1.2.6h1.9l-.3.8-.9.4-.4.4-.2.4v.6h.2a1 1 0 0 1 .8.9l.2.2.2.1h.4a1 1 0 0 1 1.2-.3h.1l.1-.1.3-.6v-.4l-.2-.4c0-.4-.3-1-.3-1l.1-.8 1.5 1.1 1.3.1q.3 0 .3.2l.4.5-.1-.8-.5-.2-1.3-.1-1.4-1-.2-.2-.1.2a2 2 0 0 0-.4 1.2l.4 1 .2.7-.2.3a2 2 0 0 0-1.5.4h-.1a3 3 0 0 0-1.2-1.3v-.3l.2-.1q0-.3.3-.3l.9-.8q.3-.4.4-1v-.3h-.3l-1.6.1-1.2-.5h-.3zm-.9 1.4a2 2 0 0 0-.2 1.6q.4.6 1 .8v.1l-.2.8q.1.9.8 1.3.5.5 1.2.4l.8-.2.5.6q.6.4 1.3.3a2 2 0 0 0 1.6-1.4v-.2a2 2 0 0 0 1.4-.1 2 2 0 0 0 .6-1.5c-.3.3 0 .8-.8 1.3q-.6.3-1.1 0l-.4-.3v.9l-.3.5-1 .6a1 1 0 0 1-1-.3l-.4-.7-.2-.5-.2.3-.4.2-.5.2q-.6 0-.8-.3a2 2 0 0 1-.7-1.2v-.5q0-.3.3-.4l.1-.3h-.4a1 1 0 0 1-1-.5c-.5-.7 0-1 0-1.5m11.4.2s-1 0-1.2.4l-.8 2 1.6-.7q.4-.9.4-1.6z"/> + <path fill="#2b2200" d="M300.8 110a.5.5 0 0 0-.2 1.1.5.5 0 1 0 .1-1zm5.1 1.6a.5.5 0 0 0-.1 1 .5.5 0 1 0 .1-1"/> + <path fill="#377bc8" stroke="#2c5aa0" stroke-miterlimit="128.6" stroke-width=".2" d="M281 127.6c-.5.2-1.2-.2-2.5 1a2 2 0 0 1 2.2.8 1 1 0 0 0 .8-.5 1 1 0 0 0-.5-1.3zm32.3 1.5c-.5.2-1.1-.2-2.5 1a2 2 0 0 1 2.2.9q.7 0 .8-.6a1 1 0 0 0-.5-1.3zm-34.7 1.8c-.4.3-1.2.2-2 1.8a2 2 0 0 1 2.4 0q.6-.2.6-.8a1 1 0 0 0-1-1zm35.2 2.5c-.3.4-1 .4-1.8 2a2 2 0 0 1 2.4-.2 1 1 0 0 0 .6-.8 1 1 0 0 0-1.2-1zm-32.8 1.4-.5.2c-.2.4-.9.8-.8 2.5a2 2 0 0 1 2-1.2 1 1 0 0 0 .1-1 1 1 0 0 0-.8-.5zm70.2.2h-.4c-.2.6-1 .8-1 2.6a2 2 0 0 1 2.1-1q.4-.5.3-1a1 1 0 0 0-1-.6zm-33.4 1.2-.6.3c0 .5-.8.8-.5 2.6a2 2 0 0 1 2-1.4 1 1 0 0 0 0-1 1 1 0 0 0-.9-.5zm41.6.2a1 1 0 0 0-1 .6c.2.4-.2 1 .9 2.5a2 2 0 0 1 1-2.1 1 1 0 0 0-.5-1zm-4.4.5-.8.4c0 .5-.6 1 .1 2.6a2 2 0 0 1 1.6-1.7q.1-.7-.2-1z"/> + <path fill="gold" stroke="#806600" stroke-miterlimit="103.2" stroke-width=".2" d="m303.1 158.7-1.7-.3-1.2-1.4h-2l-1.6-.8a3 3 0 0 0 1.6-.8l-1.9-.3-1.6-1c.6-.2 1.2-.1 1.6-.7l-1.7-.2-1.5-1a2 2 0 0 0 1.8-.7l-1.8-.1-1.7-1.2a4 4 0 0 0 1.8-.5l-.4-.8c-.4-1-1.4-.7-2-.9a2 2 0 0 1-1.1-1.4c0-.7.3-1.7 1.8-1.6-.8-1 0-2 .9-2.4.8-.2 1.5-.1 2 1.2l1.2-.7a1 1 0 0 1 1.4.6v.9q-.6.5-.8 1.3a4 4 0 0 0 .4 1.9s3 2.4 4.4 3.7c.8.7 2 2.2 2 2.2h3l.3 5z"/> + <path fill="#377bc8" stroke="#2c5aa0" stroke-miterlimit="103.2" stroke-width=".2" d="M294.8 142q.8 1 .5 2l.8.2a1 1 0 0 0 .5-1c-.4-.2-.4-.8-1.8-1.1zm-3.4.5h-.8a2 2 0 0 1 1.2 1.6l.8-.1a1 1 0 0 0 0-1.1c-.3 0-.5-.4-1.2-.4zm-1 3.2a3 3 0 0 0-2 .6 2 2 0 0 1 1.7.8q.4.1.6-.4a1 1 0 0 0-.3-1z"/> + <path fill="gold" stroke="#806600" stroke-miterlimit="103.2" stroke-width=".2" d="M318 161c-.6-.1-1.3-.8-1.8-.8a2 2 0 0 0-1.3.8 1 1 0 0 0 .3 1.2l1 .6-.7 1.2q0 .5.4.9.3.5.9.6l1.1-.1q0 .5.2.8a2 2 0 0 0 1.6.8q.5.2.9-.4.1-.6.5-1.4l1.4-1.3q.8.6.5 1.5l1.2-1q.4-.6.4-1.4.8.7.6 1.6l1.2-1 .6-1.4q.7.7.4 1.6l1.3-1.2.3-1.2q2 0 2.1-1 .1-.8-1.4-1.2l-.5-1v-.8a4 4 0 0 1 1.2-1.5l2.2-1.3-.5-2.1-5-.8-5.7 1.4c1 .4 3.4 2 3.2 2.7l-.8.8q-.2.2.1.8.6.2 1 .6v.8c-.3.5-1.6.7-2.3 1-1 .4-3 1.6-3 1.6l-1.7-.4z"/> + <path fill="gold" stroke="#806600" stroke-miterlimit="103.2" stroke-width=".2" d="M328 154.2s0 1.9-.7 2.3q-.6.4-1.2.1a1 1 0 0 1-.7-.8l-.2-.8-1.8-.5q-1.4 0-2.7.5a6 6 0 0 1 2-2.5l3-.3 2.4 2z"/> + <path fill="gold" d="M333.8 142.2c.8 0 2.2-.4 2.7-1l.8-1a4 4 0 0 1-2.3 3.6 7 7 0 0 1-4 .5l-2.4-.5c1 1 .5 1.8-.6 2.4 0 0 .2-1-.2-1.2q-1-.4-2.1.5-.9.5-2 .6a5 5 0 0 1-2.2-.4c-.5-.3-1.4-1-1.7-1-.8.2-2 .3-2.4 1v1a3 3 0 0 0 1.6 1.1q2.7.7 5.3.2 3.1-.6 6.1-1.4c2-.4 4.3-1 5.8-1.5a18 18 0 0 1 5.6-.6c3.2 0 4.4 2 4.3 4.1-.2 2.2-2.2 3.2-3.9 3.8-3 1.1-7.2.5-9.7.4l1.3 1.2c.4.4.6 1.4 1.2 1.6.8.2 2-.3 2.8-.4h3.2l.8-.6h.8q.5.2.4 1.5l.6.5h1.1l1 .6-.9.4-.5.6 1.3.1.8.8-.8.1-.6.6s1-.1 1.5.2l.6.8h-.8l-.5.4 1 .9q.3.6.3 1.3l-.6-.5-.6-.1.2 1.8c0 .4.6.8.7 1.2q.2.5-.2 1-.4.7-1.3.4l-.7-.4-.4.8q-.4.3-1 .2l-.7-.4-.5-1.2-1 .3q-.6 0-1-.6a1 1 0 0 1 .2-1.3q.6-.5 1.5-.6l1-1-2.5-2.4-1-1.6s-2 .8-2.9.8a14 14 0 0 1-4 0c-3.1 0-5.1-5-7.8-6.2a3 3 0 0 0-2.1 0c-3.2.7-6.6 5.1-9.6 6l-4 .6-.9 1.3-1.6.3-.6 1.8-1.3 1a3 3 0 0 0 0-1.7l-1 1.4-1.3 1a2 2 0 0 0 0-1.6l-.8 1.3-1.3.8a2 2 0 0 0 0-1.7l-.7 1.3-1.6 1a3 3 0 0 0 .2-1.8h-.8c-1 0-1 1-1.4 1.5a2 2 0 0 1-1.5.3q-1.1-.4-.4-2.3a1.6 1.6 0 0 1-1.9-1.6q-.1-1.4 1.5-1.5v-1q.1-1 .8-.9.5 0 .8.4t.8 1.2a3 3 0 0 0 1.7.4l4-2.1 3.1-.8v-7h2q3.2.3 6.2.9l3.2-.3s5.4-1 7.8-1.2q2-.4 3.9-.3c1.9.2 3.6.8 5.4.8q2 .4 4 .3c2.3-.2 6.2 0 7.4-2.4a2 2 0 0 0-2.3-2.6q-.8.3-1 1 0 .5.2.8t.7.8a2 2 0 0 1-1.4-.4l-.9-1.6-.3 1.2q0 .6.4 1.2a2 2 0 0 1-1.5-.7l-.6-1.6q-.4.5-.4 1.1 0 .8.3 1.4a3 3 0 0 1-1.4-1l-.5-1.6-5.6 1.3-6 1.3q-4.4.6-7.2-.7a3 3 0 0 1-1.6-2 3 3 0 0 1 .5-2.1 6 6 0 0 1 3.2-2l5.5-1.2a18 18 0 0 1 6 .3q1.2.3 2-.4a1 1 0 0 0 .2-1.4q.8.1 1 1z"/> + <path fill="gold" d="m337.4 140.2-1.6 2.1a7 7 0 0 1-3 1.1 11 11 0 0 1-3-.2l-2.8-.9.8 1.8-1.6-.1-1.6.8q-1.4.2-2.4-.2c-.8-.1-1-.4-1.7-.3l-.7.3 2.1 1.2 2 .3 1.3-.3 1.4-.8 1.2-.1.3.5v.8l.8-.8.1-.5-.2-1 1.6.3 1.8.2 2-.4 1.8-.8.9-1.1zm5.2 5.4-1.3.5a2 2 0 0 0-.6 1.7l-.8-2.1c-.8.8-.8 1.8-1 2.7l-.8-2.5a5 5 0 0 0-1.4 2.3 5 5 0 0 1-.5-2h-.2c-2.6.4-8.2 2.3-12.6 2.7-2.4.2-5.2 0-6.7-1a3 3 0 0 1-1.3-2l-.2 1 .8 1.3 1.6 1 3 .7 3.4-.4 2-.1 10-2.4v1.3l.8.8.8.5-.2-1.1v-.8l.4-.5.5 1.4.7.6 1 .2-.5-.7v-.9l.3-.8.5 1.3.5.5h1.3l-.8-.7-.2-.8.6-.7 1.1-.3 1 .4.6.7.2 1-.1.8c1.7-1.6 0-3.6-2-3.6zm3.4 1.6a5 5 0 0 1-1.1 2.8c-3 3.3-9.8 2.2-13 1.1l-1.4-.2-.8-.3-2-.3-3.9.3c-2.4.2-7.8 1.2-7.8 1.2l-3.2.3a46 46 0 0 0-6.2-.8h-2v1.1l2.8.6h-.4l-1.9 3.6-.4-1.6-.1 2.5-.4.7-2.4.6-2.4 1-1.8 1.4-1.8-.5-.8-1.3q.2 1 .7 2c.5.5 2 .6 2 .6l3.3-2 1.6-.6a4 4 0 0 0 1.6 1.2c0-1.6 1-1.6 2.4-2.4v1s2.7-1 3.4-1.8a5 5 0 0 0 1.1-1.9 5 5 0 0 0 .1-2.1h1.8c2.7-.1 5.6-1.3 8.2-1.6 2-.4 4.5-.8 6.4-.4 1.6.3 2.2 1 3.6 2 1.2.8 2.4 3.2 4 3.2 0 0 .9 0 1.4-.2l2-.5 2.4.2c.7-1 1-1 1.2-.8q.6.4.1 1.3a2 2 0 0 0 1.9.8q-.7.6-1 1.3a3 3 0 0 1 1.7.3l-.8 1.2 1.6.3q-.7.3-.8.8l1.3 1q-.8 0-1 .3l.9 1.7-.2-1.6.6.2q.4 0 .6.5l-.2-1.3-1-.9.4-.3h.8l-.6-.9c-.4-.3-1.5-.2-1.5-.2l.6-.6h.8l-.8-.9-1.3-.1.5-.6.9-.4-1-.6h-1.1l-.6-.5q.1-1.2-.4-1.5h-.8q-.6.2-.8.7h-3.2c-.8 0-2 .5-2.8.3-.6-.2-.8-1.2-1.2-1.6l-1.3-1.2h2.9l3 .2h1.8c2.2-.6 4.7-1.2 5.7-3.8v-2zm-22.4 5.1a6 6 0 0 0-2.4.5 30 30 0 0 0-5.1 3.5l-3.2 2a18 18 0 0 1-4.6.6s-.4 1.6-1 1.9c-.4.3-1.5-.3-1.5-.3l-.1 1.3-.5 1.4-.3-1-.8-1-.4 1.4-.9 1.4-.2-.8-.8-1.2-.4 1.4-.5 1-.2-.5-.8-1.2-.7 1.5-.6.8-.2-1.2a1 1 0 0 0-1-.3c-1 .2-1.5 1.2-2.1 2.1q-.4.4-.4 0v-.7l-.7-.3c-.4.3.8-1.2.8-1.2l-1.6-.1c-.4-.1.1 0 .1-.8s-.8-.8-.5-.8l1.3.1s-.4-.4-.2-.8c0-.1.5-.4.6-.8a1 1 0 0 0-.5-1c-.1.4-.8.2-.8.7v1.1q-1.7.1-1.5 1.5a1.6 1.6 0 0 0 2 1.6c-.9 1.2-.3 2 .3 2.3a2 2 0 0 0 1.5-.3c.5-.5.5-1.5 1.4-1.5h.8a4 4 0 0 1-.2 1.9l1.6-1 .8-1.4a2 2 0 0 1 0 1.7l1.2-.8.8-1.4a2 2 0 0 1 0 1.7l1.3-1 1-1.4a3 3 0 0 1 0 1.7l1.3-1 .6-1.7q.8 0 1.6-.4l.8-1.3 4-.5c3.2-1 6.5-5.4 9.7-6.2a3 3 0 0 1 2 0c2.8 1.3 4.9 6.4 7.8 6.4 1.4 0 2.1.3 4 0l3-.9 1 1.6 2.4 2.4-1 1c-.3.2-1.1.2-1.4.6a1 1 0 0 0-.1 1.3q.3.4 1 .6l.9-.3.4 1.2q.4.4.8.5.7.1 1-.4l.4-.8q.3.4.7.5a1 1 0 0 0 1.3-.5c.3-.3 0-1.3-.1-1.7v1.2a.8.8 0 0 0-1.5 0 1 1 0 0 1-.7-.8l-.2 1q0 .4-.3.6c0-1-.7-1-1.2-.8v-1l-1 .5c-.3 0 0-.2-.2-.5 0-.3-.6-.2-.4-.3l1.5-.8 1-1.4-2.5-2.4-1.5-2.4a26 26 0 0 1-4.8 1 7 7 0 0 1-3.4-.4c-1.8-.9-2.8-3.1-4.3-4.3q-1.4-1.4-3-1.9z"/> + <path fill="none" stroke="#806600" stroke-miterlimit="103.2" stroke-width=".2" d="M333.8 142.2c.8 0 2.2-.4 2.7-1l.8-1a4 4 0 0 1-2.3 3.6 7 7 0 0 1-4 .5l-2.4-.5c1 1 .5 1.8-.6 2.4 0 0 .2-1-.2-1.2q-1-.4-2.1.5-.9.5-2 .6a5 5 0 0 1-2.2-.4c-.5-.3-1.4-1-1.7-1-.8.2-2 .3-2.4 1v1a3 3 0 0 0 1.6 1.1q2.7.7 5.3.2 3.1-.6 6.1-1.4c2-.4 4.3-1 5.8-1.5a18 18 0 0 1 5.6-.6c3.2 0 4.4 2 4.3 4.1-.2 2.2-2.2 3.2-3.9 3.8-3 1.1-7.2.5-9.7.4l1.3 1.2c.4.4.6 1.4 1.2 1.6.8.2 2-.3 2.8-.4h3.2l.8-.6h.8q.5.2.4 1.5l.6.5h1.1l1 .6-.9.4-.5.6 1.3.1.8.8-.8.1-.6.6s1-.1 1.5.2l.6.8h-.8l-.5.4 1 .9q.3.6.3 1.3l-.6-.5-.6-.1.2 1.8c0 .4.6.8.7 1.2q.2.5-.2 1-.4.7-1.3.4l-.7-.4-.4.8a1 1 0 0 1-1 .3l-.7-.5-.5-1.2-1 .3q-.6 0-1-.6a1 1 0 0 1 .2-1.3q.6-.5 1.5-.6l1-1-2.5-2.4-1-1.6s-2 .8-2.9.8a14 14 0 0 1-4 0c-3.1 0-5.1-5-7.8-6.2a3 3 0 0 0-2.1 0c-3.2.7-6.6 5.1-9.6 6l-4 .6-.9 1.3-1.6.3-.6 1.8-1.3 1a3 3 0 0 0 0-1.7l-1 1.4-1.3 1a2 2 0 0 0 0-1.6l-.8 1.3-1.3.8a2 2 0 0 0 0-1.7l-.7 1.3-1.6 1a3 3 0 0 0 .2-1.8h-.8c-1 0-1 1-1.4 1.5a2 2 0 0 1-1.5.3q-1.1-.4-.4-2.3a1.6 1.6 0 0 1-1.9-1.6q-.1-1.3 1.5-1.5v-1q.1-1 .8-.9.5 0 .8.4t.8 1.2a3 3 0 0 0 1.7.4l4-2.1 3.1-.8v-7h2q3.2.3 6.2.9l3.2-.3s5.4-1 7.8-1.2q2-.4 3.9-.3c1.9.2 3.6.8 5.4.8q2 .4 4 .3c2.3-.2 6.2 0 7.4-2.4a2 2 0 0 0-2.3-2.6q-.8.3-1 1l.2.8.7.8a3 3 0 0 1-1.6-.4l-.7-1.6-.3 1.2q0 .6.4 1.2a2 2 0 0 1-1.5-.7l-.6-1.6q-.4.5-.4 1.1 0 .8.3 1.4a3 3 0 0 1-1.4-1l-.5-1.6-5.6 1.3-6 1.3q-4.4.6-7.2-.7a3 3 0 0 1-1.6-2 3 3 0 0 1 .5-2.1 6 6 0 0 1 3.2-2l5.5-1.2a18 18 0 0 1 6 .3q1.2.3 2-.4a1 1 0 0 0 .2-1.4q.8.1 1 1 .2.5 0 1.1z"/> + <path fill="gold" d="M310.2 152.2c.8.4 1.6-.2 1.8-.3l-.6-.8-.3-1.6c0-1.2.5-1.3.5-1.3l1.1-.5q.5-.5.7-1.1l-.2-1.5c-1.2 0-1.5 0-1.8.4l-.2-1.2-.5-1-.4-.3q0 .5-.4.8l-.5-1.6a1.4 1.4 0 0 0-2-.7l-1.2 1.2v-1l-.5.2-.9.6-.8.9q.2-.6-1.3-1.4l-.9 1.2-.1 1.2.7 1.1s.4.4-.3 1.5l-1 1-1 .4c.2.8.3 1 1.3 1.2-2.4 1.6-2.5 4.3-.8 6.6l.8-1.2q0 1.2.7 2c.2.3.3 1.6.6 2l.7.7s.4-1 .8-1.1l1.6-.5a6 6 0 0 0 1.6-1.5l-.2 1.6c3.1-1.2 3.8-3.2 3-6"/> + <path fill="#504416" d="M304.2 148.3a6 6 0 0 1-.6 3.1l2 .8 2 .3c-.2-.8.6-2.4 1-3h-1.5l-.6-.6-1.1.3-1.2-.8z"/> + <path fill="#fff" d="M304.6 148.8a2 2 0 0 0 0 1.5l.5-1.2zm2.8 1-.1 1.3q.5-.6.7-1.3zm-2.8 1a2 2 0 0 0-.8 1.2h.6l.2-1.3zm2.5.6-.6 1.2.5.3a2 2 0 0 0 0-1.5zm-2.3-6.6q-.6-.1-.7.4-.2.7.8 1a1 1 0 0 0 1.2-.5q0-.6-.8-.8zm4.2 1.2q-.6 0-.7.3a1 1 0 0 0 .8 1.1q1 .3 1.2-.4.3-.7-.8-1z"/> + <path fill="#d1b948" d="M304.8 144.8h-.3l-.5.5.2.6q.2.4.6.5a1 1 0 0 0 1.4-.6l-.2-.6-.8-.4zm0 .2h.4l.6.4q.3 0 .2.3-.4.7-1.1.5l-.6-.4-.1-.5.3-.3zm4.2 1h-.2l-.6.3a1 1 0 0 0 1 1.3h.7l.5-.6-.2-.5-.6-.4zm0 .2h.5q.4 0 .7.4v.4l-.4.4h-.6a1 1 0 0 1-.8-1q0-.2.4-.2z"/> + <path fill="gold" d="m304.8 144-.8.2v.4h.3l.5.2 1 .5 1.2-.1-1-.5c-.4-.1-.7-.7-1.2-.8zm5.4 1.5H308l1 .6 1 .1.6.2.3.2.1-.4a1 1 0 0 0-.8-.7m-6.5 6c-1 2.6 3.1 4 3.7 1a8 8 0 0 1-3.7-1"/> + <path fill="#806600" d="M303.6 151.2v.2a2 2 0 0 0 0 1.8 2.2 2.2 0 0 0 4-.6v-.3h-.2a8 8 0 0 1-3.6-1zm.2.3a11 11 0 0 0 3.6 1 3 3 0 0 1-.8 1.4 3 3 0 0 1-1.6.1 3 3 0 0 1-1.3-1 2 2 0 0 1 0-1.5z"/> + <path fill="#377bc8" stroke="#2c5aa0" stroke-miterlimit="103.2" stroke-width=".2" d="M305.4 149.2a12 12 0 0 0-.6 5.4 12 12 0 0 0 2.4-5l-.5-.2-.2-.4-.6.2z"/> + <path fill="gold" d="m308.6 141.4-1.2.1-1.2 1.2v-1l-.5.2-1 .6-.8.8c.4 0 1.3-.8 1.6-.7.3 0 .1.8.4.8q.4 0 1.2-.8.8-.7 1.2-.6.6.3.8 1.1.2 1.2.6 1.5c.3.1.5-.7.8-.5.4 0 .5 1.3.9 1.4l-.2-1.2-.5-1-.4-.3q-.1.5-.5.8l-.4-1.6zm-5 4.4q-.6 1.1.9 1.6l-.3.8.4 1 1 .2.8-.3.6.8.8.2 1-.7.4-.7h.6l.5-.2.3-.7a2 2 0 0 1-2.1.3l-.3 1-.8.2-.8-.7q-.6.4-1 .3a1 1 0 0 1-.8-.8 1 1 0 0 1 .3-1c-1.8-.5-1.2-1.1-1.6-1.3zm-1 .2-1.6 2-1 .4c.3.8.4 1 1.4 1.2-2.4 1.6-2.5 4.3-.8 6.6l.8-1.2q0 1.2.7 2c.2.3.3 1.6.6 2l.7.7s.4-1 .8-1.1l1.6-.5a6 6 0 0 0 1.6-1.5l-.2 1.6c3.1-1.2 3.8-3.2 3-6 .8.4 1.6-.2 1.8-.3l-.6-.8-.3-1.6v-.8l-.5 1.3v1.3l-1.4-.7.6 3q0 1-.4 2l-1.2 1.4.2-1.8-.3-2.3-.7 2.2-1 1.6c.2-1.6.2-1.7 0-2.4a9 9 0 0 1-1.1 2.9l-1.2.6-.6.5-.5-1.4-1-1.8c-.2-.9 1-2.8 1-2.8q-.6.1-1.3 1.1l-1.1 1.3-.4-1.8a3 3 0 0 1 .5-1.6 17 17 0 0 1 2.7-2.6 3 3 0 0 1-2.3.1l1-1.3q.5-.7.5-1.6zm4 .8h-1v.5l.4.1.6.8 1.4-.4.2-.3-1.2-.6z"/> + <path fill="none" stroke="#806600" stroke-miterlimit="103.2" stroke-width=".2" d="M310.2 152.2c.8.4 1.6-.2 1.8-.3l-.6-.8-.3-1.6c0-1.2.5-1.3.5-1.3l1.1-.5q.5-.5.7-1.1l-.2-1.5c-1.2 0-1.5 0-1.8.4l-.2-1.2-.5-1-.4-.3q0 .5-.4.8a2 2 0 1 0-3.7-1v-1l-.5.1-.9.6-.8.9q.2-.6-1.3-1.4l-.9 1.2-.1 1.2.7 1.1s.4.4-.3 1.5l-1 1-1 .4c.2.8.3 1 1.3 1.2-2.4 1.6-2.5 4.3-.8 6.6l.8-1.2q0 1.2.7 2c.2.3.3 1.6.6 1.9l.7.8s.4-1 .8-1.1l1.6-.6 1.6-1.4-.2 1.6c3.1-1.2 3.8-3.2 3-6z"/> + <path fill="#806600" d="m302.7 142.9-.5 1.2.8 1.3.4-1.8c0-.3-.7-.8-.7-.8zm1.6 1.6h-.2q-.3 0-.4.5.3 0 .5-.3h.3l1 .5h1.4l-.2.6-.7.4-.2.3-.3.3v.6h.1q.6.2.6.8h.1l.2.1h.5a1 1 0 0 1 1-.2v-.1l.3-.4v-.3l-.1-.4c0-.3-.4-.8-.4-.8q0-.4.2-.7.5.6 1.2.8.5.3 1 .2h.2l.4.6v-.7l-.5-.1-1-.1-1.1-.8-.2-.2-.2.2-.1 1 .2.7.1.6v.2a2 2 0 0 0-1.3.4 2 2 0 0 0-1-1v-.3l.1-.1.3-.3.7-.5.3-.9v-.2h-1.6l-.9-.3h-.2zm-.8 1a1 1 0 0 0-.1 1.3q.3.5.8.6v.2l-.1.6q0 .7.5 1t1 .4l.7-.2.4.4q.5.4 1 .4a1.4 1.4 0 0 0 1.3-1.2v-.1l1.2-.2q.4-.4.4-1.1c-.3.2 0 .6-.6 1h-.9l-.3-.3v.7l-.2.4a1 1 0 0 1-1 .5l-.6-.1-.4-.6v-.4l-.3.2-.3.2h-.4l-.7-.2-.6-.8.1-.5.2-.3.1-.2h-.3a1 1 0 0 1-.8-.5c-.4-.5 0-.8 0-1.2zm9.2.2s-.8 0-1 .3l-.6 1.7 1.3-.7z"/> + <path fill="#2b2200" d="M305.1 145.1a.4.4 0 0 0 0 .8.4.4 0 1 0 0-.8m4.2 1.2a.4.4 0 0 0-.1.8.4.4 0 1 0 0-.8z"/> + <path fill="#377bc8" stroke="#2c5aa0" stroke-miterlimit="103.2" stroke-width=".2" d="M293.8 159.2c-.3 0-.8-.2-1.6.8a1.4 1.4 0 0 1 1.4.6l.6-.4a1 1 0 0 0-.4-1zm21.4 1.2a3 3 0 0 0-2 .8 2 2 0 0 1 1.8.6l.7-.4a1 1 0 0 0-.5-1zm-23 1.4c-.2.3-.8.2-1.2 1.5a1.4 1.4 0 0 1 1.6 0l.4-.7a.7.7 0 0 0-.8-.8zm23.4 2c-.2.4-.8.3-1.4 1.6a2 2 0 0 1 1.9-.1l.4-.7a1 1 0 0 0-.8-.8zm-21.7 1.2-.4.1a3 3 0 0 0-.5 2q.5-.9 1.3-1l.1-.7zm46.4.1-.2.1a3 3 0 0 0-.7 2 1.4 1.4 0 0 1 1.4-.8l.2-.8zm-21.5 1-.5.1a3 3 0 0 0-.4 2.2 2 2 0 0 1 1.6-1.1v-.8zm27 .1q-.4 0-.6.4-.1 1.3.5 2.1-.1-1 .7-1.7l-.3-.8zm-3 .4-.5.4a3 3 0 0 0 .1 2 2 2 0 0 1 1-1.4l-.1-.8z"/> + <path fill="gold" stroke="#806600" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="M378.7 21.3V21l.8-1.6a9 9 0 0 0-6.9 2 18 18 0 0 0-2.8 3.7 12 12 0 0 0-.8 3.2l-1.9-1.6-1.3-.4a5 5 0 0 0-3.2 1.5 6 6 0 0 0-1.5 3c-.4 1.6 0 3.2-1 4.6l-1.6 1.8a8 8 0 0 0 2.7.6 4 4 0 0 0 2.8-1.5c.6-.8.9-1.9 1.8-2.5a1 1 0 0 1 1.2-.2c.5.2.6 1.2.4 1.6l-1 3.4-1.8-.4-1.4.8-.6.3h0l1.2 1.8.5.2h0l-.4.2-3.3 1.6-.4.2h0l-2.4.1-1.6-.2-2.4-.8-.7-.4-1.3-1.4a12 12 0 0 1-2.1-4.3 6 6 0 0 0 5-5.7v-.8l-.1-.4-.3-1-.3-.6-.6-1-.4-.4a5 5 0 0 0-3.5-1.7h-1.3a6 6 0 0 0-3.2 1.6 6 6 0 0 0-1.4 2.2l-.2.8-.1 1.3h0a6 6 0 0 0 3.2 5.2l-2.7 2.6a15 15 0 0 1-8.7 4 14 14 0 0 1-10.6-3 12 12 0 0 1-2.3-2.8h1.3l1.6-1.6h.1l-.5-.4-1.2-1h-.5l.4-3.8c0-.6.4-1.6 1-1.6a2 2 0 0 1 1.4.8c.8 1 .4 2.1.8 3.2a5 5 0 0 0 2.4 2.6q1.7.5 3.3.4l-.9-2.4c-.6-1.8.5-3.2.8-5a6 6 0 0 0-.2-3.6 6 6 0 0 0-3-2.8h-1.6l-2.8.8s.8-2.4.5-3.6a15 15 0 0 0-1.6-4.8 23 23 0 0 0-3.5-3.7 23 23 0 0 0-3.5 3.7 15 15 0 0 0-1.6 4.8c-.2 1.2.5 3.6.5 3.6l-2.8-.8H311a6 6 0 0 0-3 2.8 6 6 0 0 0-.2 3.6c.3 1.8 1.4 3.2.8 5l-1 2.4q1.7.1 3.3-.4a5 5 0 0 0 2.4-2.6c.5-1 .2-2.3 1-3.2q.4-.8 1.2-.8c.7 0 1.1 1 1.1 1.6l.4 3.7h-.5l-1.6 1.6 1.6 1.5h1.3a12 12 0 0 1-2.4 2.8 14 14 0 0 1-10.6 3 15 15 0 0 1-8.6-4l-2.6-2.6a6 6 0 0 0 3.4-5.2h0a6 6 0 0 0-1.8-4.2 6 6 0 0 0-3.3-1.6l-.3-.2h-1a5 5 0 0 0-3.4 1.8 7 7 0 0 0-1.3 2l-.3 1v1.2a6 6 0 0 0 4.7 5.7 12 12 0 0 1-2.1 4.3l-1.4 1.4-.8.4-2.3.8-1.6.2-2.3-.1h0l-.4-.1-3.4-1.7-.3-.2h0l.5-.2 1.2-1.8h0l-.6-.3-1.4-.8-1.7.4-1.1-3.3c-.2-.5-.1-1.5.4-1.7a1 1 0 0 1 1.2.2c.8.6 1.2 1.8 1.8 2.5a4 4 0 0 0 2.8 1.5 8 8 0 0 0 2.7-.6l-1.6-1.8c-1.1-1.4-.6-3-1-4.7a6 6 0 0 0-1.5-3 5 5 0 0 0-3.2-1.4l-1.3.4-2 1.6a12 12 0 0 0-.7-3.2 18 18 0 0 0-2.8-3.7 9 9 0 0 0-6.8-2l.7 1.6v.3h.1l8.2 18.4-1.1.2-1.2 2 1.9 1 2.4-.6 2 5.8-2 .2h0c-.4.5-.6.5-.6 1h0q0 .6.4 1h0l.3.2h0l.5.3h1l.2 1.3-.1-.1v2l-1.2 2.6L274 59l.8 2.1.6-.4.1.7h-.3l.5 1h0l-.7.2q-.5.4-.5 1h0q0 .4.3 1h0l.8.5q5.8-.8 12.2-1.3l4-.3q10.6-.6 21.3-.6h13.6c4.3 0 13.3 0 21.4.6l2.2.2 2.3.1 5.3.5 6.4.8h0l.3-.2.7-.7v-.6h0q0-.6-.5-1h0l-.7-.1.2-.9h0l.2-.9.5.4.8-2 2-2.4-1.2-2.8V52h-.2l.3-1.3.9.1h0q.3 0 .4-.2.8-.6.8-1.3h0q0-.5-.6-1h0l-2.3-.2 2.2-5.9 2.5.7 2-1-1.2-2-1.2-.2 8.3-18.3h.1z"/> +</svg> diff --git a/apps/web/public/flags/jm.svg b/apps/web/public/flags/jm.svg new file mode 100644 index 00000000..269df038 --- /dev/null +++ b/apps/web/public/flags/jm.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-jm" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#000001" d="m0 0 320 240L0 480zm640 0L320 240l320 240z"/> + <path fill="#090" d="m0 0 320 240L640 0zm0 480 320-240 320 240z"/> + <path fill="#fc0" d="M640 0h-59.6L0 435.3V480h59.6L640 44.7z"/> + <path fill="#fc0" d="M0 0v44.7L580.4 480H640v-44.7L59.6 0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/jo.svg b/apps/web/public/flags/jo.svg new file mode 100644 index 00000000..d6f927d4 --- /dev/null +++ b/apps/web/public/flags/jo.svg @@ -0,0 +1,16 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-jo" viewBox="0 0 640 480"> + <defs> + <clipPath id="jo-a"> + <path fill-opacity=".7" d="M-117.8 0h682.6v512h-682.6z"/> + </clipPath> + </defs> + <g clip-path="url(#jo-a)" transform="translate(110.5)scale(.9375)"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#000001" d="M-117.8 0h1024v170.7h-1024z"/> + <path fill="#fff" d="M-117.8 170.7h1024v170.6h-1024z"/> + <path fill="#090" d="M-117.8 341.3h1024V512h-1024z"/> + <path fill="red" d="m-117.8 512 512-256-512-256z"/> + <path fill="#fff" d="m24.5 289 5.7-24.9H4.7l23-11-15.9-19.9 23 11 5.6-24.8 5.7 24.9L69 233.2l-16 19.9 23 11H50.6l5.7 24.9-15.9-20z"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/jp.svg b/apps/web/public/flags/jp.svg new file mode 100644 index 00000000..cc1c181c --- /dev/null +++ b/apps/web/public/flags/jp.svg @@ -0,0 +1,11 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-jp" viewBox="0 0 640 480"> + <defs> + <clipPath id="jp-a"> + <path fill-opacity=".7" d="M-88 32h640v480H-88z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#jp-a)" transform="translate(88 -32)"> + <path fill="#fff" d="M-128 32h720v480h-720z"/> + <circle cx="523.1" cy="344.1" r="194.9" fill="#bc002d" transform="translate(-168.4 8.6)scale(.76554)"/> + </g> +</svg> diff --git a/apps/web/public/flags/ke.svg b/apps/web/public/flags/ke.svg new file mode 100644 index 00000000..3a67ca3c --- /dev/null +++ b/apps/web/public/flags/ke.svg @@ -0,0 +1,23 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ke" viewBox="0 0 640 480"> + <defs> + <path id="ke-a" stroke-miterlimit="10" d="m-28.6 47.5 1.8 1 46.7-81c2.7-.6 4.2-3.2 5.7-5.8 1-1.8 5-8.7 6.7-17.7a58 58 0 0 0-11.9 14.7c-1.5 2.6-3 5.2-2.3 7.9z"/> + </defs> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#000001" d="M0 0h640v144H0z"/> + <path fill="#060" d="M0 336h640v144H0z"/> + <g id="ke-b" transform="matrix(3 0 0 3 320 240)"> + <use xlink:href="#ke-a" width="100%" height="100%" stroke="#000"/> + <use xlink:href="#ke-a" width="100%" height="100%" fill="#fff"/> + </g> + <use xlink:href="#ke-b" width="100%" height="100%" transform="matrix(-1 0 0 1 640 0)"/> + <path fill="#b00" d="M640.5 168H377c-9-24-39-72-57-72s-48 48-57 72H-.2v144H263c9 24 39 72 57 72s48-48 57-72h263.5z"/> + <path id="ke-c" d="M377 312c9-24 15-48 15-72s-6-48-15-72c-9 24-15 48-15 72s6 48 15 72"/> + <use xlink:href="#ke-c" width="100%" height="100%" transform="matrix(-1 0 0 1 640 0)"/> + <g fill="#fff" transform="matrix(3 0 0 3 320 240)"> + <ellipse rx="4" ry="6"/> + <path id="ke-d" d="M1 5.8s4 8 4 21-4 21-4 21z"/> + <use xlink:href="#ke-d" width="100%" height="100%" transform="scale(-1)"/> + <use xlink:href="#ke-d" width="100%" height="100%" transform="scale(-1 1)"/> + <use xlink:href="#ke-d" width="100%" height="100%" transform="scale(1 -1)"/> + </g> +</svg> diff --git a/apps/web/public/flags/kg.svg b/apps/web/public/flags/kg.svg new file mode 100644 index 00000000..e26db953 --- /dev/null +++ b/apps/web/public/flags/kg.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" id="flag-icons-kg" viewBox="0 0 640 480"> + <path fill="red" d="M0 0h640v480H0Z"/> + <path fill="#ff0" fill-rule="evenodd" d="m340.7 146.6 2.7-52q0-.4-.4-.5-.3 0-.5.4l-13.3 50.1-.1.5a5.9 5.9 0 1 0 11.6 1.5m14.4 4.4 10.8-51q.2-.3-.3-.5-.3 0-.5.3L344 147.2l-.2.5a5.9 5.9 0 1 0 11.3 3.3m13.5 6.6 18.7-48.6a.5.5 0 0 0-.8-.4L358.2 152l-.2.4a5.9 5.9 0 1 0 10.6 5m12.3 8.7 26-45a.5.5 0 0 0-.7-.6l-34.7 38.6-.3.4a5.9 5.9 0 1 0 9.7 6.6m10.8 10.4 32.8-40.4v-.6h-.7l-40.3 32.6-.4.4a5.9 5.9 0 1 0 8.6 8m9 12 38.7-34.8q.3-.3 0-.7h-.6L394 179l-.4.2a5.9 5.9 0 1 0 7.2 9.3m7 13.3 43.7-28.4a.5.5 0 0 0-.4-.8l-48.4 18.6-.5.3a5.9 5.9 0 1 0 5.6 10.3m5 14.2 47.5-21.2a.5.5 0 0 0-.3-.8l-50.7 10.8-.5.1a5.9 5.9 0 1 0 4 11m2.5 14.9 50.4-13.4q.3-.1.3-.5-.1-.4-.5-.4l-51.8 2.7h-.5a5.9 5.9 0 1 0 2.1 11.6m.3 15 51.8-5.4q.4-.1.4-.5 0-.3-.4-.5l-51.6-5.4h-.5a5.9 5.9 0 1 0 .3 11.8m-2.1 14.8 52 2.7a.5.5 0 0 0 .1-.9l-50.1-13.3-.5-.1a5.9 5.9 0 1 0-1.5 11.6m-4.4 14.4 51 10.8q.3.2.5-.3 0-.3-.3-.5l-47.5-21-.5-.2a5.9 5.9 0 1 0-3.3 11.3m-6.6 13.5 48.6 18.7a.5.5 0 0 0 .4-.8L408 278.2l-.4-.2a5.9 5.9 0 1 0-5 10.6m-8.7 12.3 45 26a.5.5 0 0 0 .6-.7l-38.6-34.7-.4-.3a5.9 5.9 0 1 0-6.6 9.7m-10.4 10.8 40.4 32.8a.5.5 0 0 0 .7-.7l-32.7-40.3-.4-.4a5.9 5.9 0 1 0-8 8.6m-12 9 34.8 38.7a.5.5 0 0 0 .8-.6L381 314l-.3-.4a5.9 5.9 0 1 0-9.3 7.2m-13.3 7 28.4 43.7q.2.3.6.2.3-.2.2-.6l-18.6-48.4-.3-.5a5.9 5.9 0 1 0-10.3 5.6m-14.2 5 21.2 47.5q.1.5.5.3.4 0 .3-.6l-10.8-50.7-.1-.5a5.9 5.9 0 1 0-11 4m-14.9 2.5 13.4 50.4q.1.3.5.3.4-.1.4-.5l-2.7-51.8v-.5a5.9 5.9 0 1 0-11.6 2.1m-15 .3 5.4 51.8a.5.5 0 0 0 1 0l5.4-51.6a6 6 0 0 0-5.9-6.4 6 6 0 0 0-5.9 6.2m-14.8-2.1-2.7 52a.5.5 0 0 0 .9.1l13.3-50.1.1-.5a5.9 5.9 0 1 0-11.6-1.5m-14.4-4.4-10.8 51a.5.5 0 0 0 .8.2l21.1-47.4.2-.5a5.9 5.9 0 1 0-11.3-3.3m-13.5-6.6L252.7 371q-.1.4.2.6t.6-.2l28.3-43.5a6 6 0 0 0-2.3-8.3 6 6 0 0 0-8 2.8m-12.4-8.6-26 45a.5.5 0 0 0 .7.6l34.7-38.6.3-.4a5.9 5.9 0 1 0-9.7-6.6m-10.8-10.4-32.8 40.4v.6q.4.3.7 0l40.3-32.6.4-.4a5.9 5.9 0 1 0-8.6-8m-9-12-38.7 34.8a.5.5 0 0 0 .6.8l44.9-26 .4-.3a5.9 5.9 0 1 0-7.2-9.3m-7-13.3-43.7 28.4a.5.5 0 0 0 .4.8l48.4-18.6.5-.3a5.9 5.9 0 1 0-5.6-10.3m-5-14.2-47.5 21.2q-.5.1-.3.5 0 .4.6.3l50.7-10.8.5-.1a5.9 5.9 0 1 0-4-11m-2.5-14.9-50.4 13.4a.5.5 0 0 0 .2 1l51.8-2.8h.5a5.9 5.9 0 1 0-2.1-11.6m-.3-15-51.8 5.4a.5.5 0 0 0 0 1l51.6 5.4h.5a5.9 5.9 0 1 0-.3-11.8m2.1-14.8-52-2.7a.5.5 0 0 0-.1.9l50.1 13.3.5.1a5.9 5.9 0 1 0 1.5-11.6m4.4-14.4-51-10.8q-.3-.2-.5.3 0 .3.3.5l47.4 21.1.5.2a5.9 5.9 0 1 0 3.3-11.3m6.6-13.5L189 172.7a.5.5 0 0 0-.4.8l43.5 28.3.4.2a5.9 5.9 0 1 0 5-10.6m8.7-12.3-45-26h-.7q-.1.3.1.7l38.6 34.7.4.3a5.9 5.9 0 1 0 6.6-9.7m10.4-10.8-40.4-32.8h-.6q-.3.3 0 .7l32.6 40.3.4.4a5.9 5.9 0 1 0 8-8.6m12-9-34.8-38.7a.5.5 0 0 0-.7.6l26 44.9.2.4a5.9 5.9 0 1 0 9.3-7.2m13.3-7-28.4-43.7a.5.5 0 0 0-.8.4l18.6 48.4.3.5a5.9 5.9 0 1 0 10.3-5.6m14.2-5-21.2-47.5a.5.5 0 0 0-.8.3l10.8 50.7.1.5a5.9 5.9 0 1 0 11-4m14.9-2.5-13.4-50.4q-.1-.3-.5-.3-.4.1-.4.5l2.7 51.8v.5a5.9 5.9 0 1 0 11.6-2.1m15-.3-5.4-51.8a.5.5 0 0 0-1 0l-5.4 51.6v.5a5.9 5.9 0 1 0 11.8-.3m-5.9 6.3a89.2 89.2 0 1 1 0 178.4 89.2 89.2 0 0 1 0-178.4m0 10.7a78.5 78.5 0 1 1 0 157 78.5 78.5 0 0 1 0-157m-65.6 102a155 155 0 0 1 32-44l6 4a155 155 0 0 0-34.1 48.4 70 70 0 0 1-3.9-8.3m71.1-40.6q2.8 2.3 5.4 4.8l5.8-4.5-5.4-4.7zm-11.4-8.7 5.9 4.3 5.9-4.3-5.9-4.3zm.6 18.3 5.3 5 5.3-5-5.3-5zm-11.4-9.3q3 2.2 5.8 4.5l5.4-4.8-5.8-4.4q-2.7 2.2-5.4 4.7m35.2-16.9q-3-2.3-6-4.3l-6.7 4 6 4.3zm10.4 8.6-5.3-4.6-6.4 4 5.5 4.6zm-36-16.6q3.5-2.3 7.1-4.3l7 4.3-7 4zm-11.5 8q3-2.3 6-4.3l6.7 4-6 4.3zM291 215l5.3-4.6 6.4 4-5.5 4.6zm-32.7-10.2a157 157 0 0 1 21.5 10.6 153 153 0 0 0-28.6 37.4 71 71 0 0 1 7-48m6-9.2q13 4.2 25.6 11l-5.3 4.6q-11.6-6.4-23.6-10.8 1.6-2.6 3.3-4.8m7.5-8.3q14.6 4 29.2 11.3l-6 4.2q-13.5-6.7-27.3-11.2zm11-8.4.6.2.8.2q14.8 4 29.7 11.5l-7.4 4.3a187 187 0 0 0-30.2-11.6q3-2.5 6.4-4.6m68.6-3.4-.8.3q-15.4 4.5-30.5 11.8-14.8-7.2-30-11.7l-.5-.1q-.5 0-.8-.3a70 70 0 0 1 62.6 0m12.5 8-.7.2q-15 4.4-29.6 11.4-3.6-2.3-7.4-4.3a145 145 0 0 1 31.3-11.9q3.4 2.2 6.4 4.6m8.5 8q-13.8 4.5-27.2 11.3l-6-4.2q14.5-7.4 29-11.3zm6.7 8.8q-12 4.4-23.6 10.8l-5.3-4.5q12.6-7 25.6-11 1.8 2.1 3.3 4.7m9.7 52.4a153 153 0 0 0-28.6-37.4 157 157 0 0 1 21.5-10.6 70 70 0 0 1 7.1 48m-7 19.1a155 155 0 0 0-34-48.3q3-2.2 6-4.1a157 157 0 0 1 31.9 44 70 70 0 0 1-3.9 8.4m-10.9 15c-8.6-22-20.6-39.9-34.7-54.2l5.6-4.7c14.6 14.4 27 32 35 51.9a71 71 0 0 1-5.9 7m-13.3 10.9-.9-2.5c-7.7-21-18.6-38.2-31.4-52.3l5.3-5.3a151 151 0 0 1 34 55 71 71 0 0 1-7 5m-67.9 4 .9-2.8c6.5-19 16.8-36 29.5-50.3 12.7 14.4 23 31.3 29.5 50.3l1 2.8a70 70 0 0 1-60.9 0m-14.1-9a151 151 0 0 1 34-55l5.3 5.3a158 158 0 0 0-31.4 52.3l-1 2.5a70 70 0 0 1-7-5m-12-13c8-19.9 20.3-37.4 34.9-51.8l5.6 4.7a157 157 0 0 0-34.7 54.2q-3.1-3.4-5.9-7"/> +</svg> diff --git a/apps/web/public/flags/kh.svg b/apps/web/public/flags/kh.svg new file mode 100644 index 00000000..a7d52f2c --- /dev/null +++ b/apps/web/public/flags/kh.svg @@ -0,0 +1,61 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-kh" viewBox="0 0 640 480"> + <path fill="#032ea1" d="M0 0h640v480H0z"/> + <path fill="#e00025" d="M0 120h640v240H0z"/> + <g fill="#fff" stroke="#000" transform="matrix(1.2 0 0 1.2 85.6 -522)"> + <g stroke-linejoin="bevel"> + <path d="M139 623.5h113.8v43.8H139z"/> + <path d="M247 647.6h3.5v16.5H247zm-108-8.1h113.8v5H139zm0-7h113.8v4.6H139z"/> + <path stroke-width=".9" d="M139 625.7h113.8v4.3H139z"/> + <path d="M169 647.6h3.6v16.5H169zm49 0h3.6v16.5H218zm-78 0h3.5v16.5H140zm7 0h3.5v16.5H147zm7.5 0h3.5v16.5h-3.5zm7.5 0h3.5v16.5H162zm62.8 0h3.6v16.5h-3.6zm7.5 0h3.6v16.5h-3.6zm7.5 0h3.6v16.5h-3.6z"/> + <path stroke-linejoin="miter" d="M94.5 669.5a9 9 0 0 0 4.4-5.3H292a9 9 0 0 0 4.4 5.3z"/> + </g> + <path d="M193 556.8s-.1-4.1 2.3-4.2c2.3 0 2.2 4.2 2.2 4.2zm-12.5 54.5v-5.5c0-2.8-2.8-3-2.8-5 0 0-.4-3 .4-4.4 1.1 4 3 3.3 3 1.6 0-1.4-1-2.8-3.3-6.3-.8-1.1-.3-4.6.7-5.9q.4 4.5 2.2 4.5 1.3.1 1.4-2c0-2-1.3-3-2-4.8a5 5 0 0 1 1.1-5.3c.5 3 .4 4.2 1.7 4.2 2.7-.9 0-4.8-.6-5.8-.6-1.1 1-3.4 1-3.4.8 2.7 1 2.9 2 2.6 1.2-.3 1-2-.4-3.4q-1.3-1.6.2-3.3c1 1.9 2.2 1.8 2.3.6l-.8-4.4H204l-.9 4.3c-.2 1.2 1.4 1.5 2.4-.5 1 1 1.1 2.4.2 3.3-1.4 1.4-1.6 3.1-.4 3.4 1 .3 1.2 0 2-2.6 0 0 1.5 1.5 1 3.4-.6 1-3.3 5-.6 5.8 1.3 0 1.2-1.2 1.7-4.2a5 5 0 0 1 1 5.3c-.6 1.8-2 2.8-2 4.8q.2 2.1 1.5 2 1.8 0 2.2-4.5c1 1.3 1.5 4.8.7 6-2.3 3.4-3.4 4.8-3.4 6.2 0 1.7 2 2.4 3-1.6.9 1.4.5 4.4.5 4.4 0 2-2.7 2.2-2.8 5v5.5zm7.2-46-.4-3.1h15.9l-.4 3.1zm1-3.2-.2-2.5H202l-.3 2.5zm2.3-2.6-.3-2.6h9l-.1 2.6zm33 110c-2-.7-5-2.9-5-5v-24.3l2.6-3.4H169l2.5 3.4v24.3c0 2.1-2 4.3-4 5z"/> + <path stroke-linejoin="bevel" d="M178.2 647.6h3.6v16.5h-3.6zm30.4 0h3.6v16.5h-3.6z"/> + <path d="M168 609.2v27.6h54v-27.6a4 4 0 0 0-2.6 2.8v11.8h-48.7V612s-.6-2-2.8-2.8z"/> + <path d="M214.6 669.5c-1.8-.7-5.6-2.9-5.6-5v-27.2c.4-1.5 2.4-2.4 3.7-3.4H177c1.7 1 3.6 1.7 4.3 3.4v27.2c0 2.1-3 4.3-4.8 5z"/> + <path d="M219.4 634.2v-19.6h-4.9v-1.9h-38.8v2h-5v19.5zM207 669.5c-1.8-.7-4.3-2.9-4.3-5v-23.2l1.4-2.1h-17.7l1.5 2v23.3c0 2.1-2.6 4.3-4.3 5z"/> + <path d="M190.7 639.2h9v30.3h-9z"/> + <path stroke-linejoin="bevel" d="M204.4 632.5c0-2 5.8-2.1 8.8-3.8h-36c3 1.7 8.7 1.8 8.7 3.8l1.2 3.9 15 .6z"/> + <path d="M211.4 611.3c0-4.9.2-6.7 1.7-6.7V620c-3.7 1.4-6.3 6-6.3 6h-23.2s-2.6-4.6-6.3-6v-15.5c1.8 0 1.8 2 1.8 6.7zm1.7-2c0-5.6 4.9-6.2 4.9-6.2v5c-1.9-.1-2.8 1.6-2.8 4 0 2.5 1.5 2.5 1.5 2.5v14.2h-3.6z"/> + <path d="M177.3 609.3c0-5.6-4.9-6.2-4.9-6.2v5c1.9-.1 2.8 1.6 2.8 4 0 2.5-1.5 2.5-1.5 2.5v14.2h3.6z"/> + <g fill="none" stroke-width=".8"> + <path d="M186.8 570.6H204m-19.2 5.4h21m-23 6.5h24.9m-27 7.9h29.5m-30.2 9h30.4"/> + <path stroke-width="1" d="M170.8 629h48.6m-33.2 0h18v6.6h-18z"/> + </g> + <path d="M184 614.2c3 3.6 2.6 9.7 2.6 13.3H204c0-3.6-.4-9.7 2.6-13.3zm9.7-41-2.4-1.3v-3.5c1 .3 2 .4 2.2 2 .3-2.3 1-2.1 1.9-3 1 .9 1.5.7 1.9 3 0-1.6 1.2-1.7 2.1-2v3.5l-2.3 1.2z"/> + <path d="m193.5 578.9-4-2.8V573c1.5.3 3 .5 3.2 2.2.4-2.5 1.3-3.7 2.7-4.7 1.3 1 2.2 2.2 2.7 4.7.1-1.7 1.7-1.9 3-2.2v3.2l-3.9 2.7z"/> + <path d="m193.2 587.8-4.5-4v-4.7c1.6.4 3.4.6 3.6 3.1.5-3.5 1.5-5.4 3-6.8 1.6 1.4 2.6 3.3 3.2 6.8.2-2.5 2-2.7 3.6-3.1v4.7l-4.6 4zm8.4 5.3-4 5.7h-4.7l-4.1-5.7zm-15.2 9.5q2.9 1.5 3 7.6H201q.1-6.1 3-7.6z"/> + <path stroke-linejoin="bevel" d="M204.2 593v-5.6a5 5 0 0 0-3.8 3.3c0-2-2.5-6.3-5.2-8.5-2.7 2.4-5.3 6.4-5.2 8.4q-.8-2.4-3.8-3.2v5.7z"/> + <path stroke-linejoin="bevel" d="M205 602.6V597q-3.2.9-4.1 3.3c0-2-2.7-6.3-5.7-8.5-3 2.5-5.8 6.4-5.7 8.5q-.8-2.3-4.1-3.3v5.7z"/> + <path stroke-linejoin="bevel" d="M207.4 614.3v-6.6a10 10 0 0 0-5.1 3.8c0-3.5-4-9-7.1-10.7-3.2 1.8-7.1 7.4-7.1 10.7a10 10 0 0 0-5.2-3.8v6.6z"/> + <path stroke-linejoin="bevel" d="M206 629v-6.8c-2.4.9-3 3.1-3.8 4.7.3-6.9-3.8-14.2-7-16.1-3.2 1.9-7.4 9.4-7 16-.8-1.4-1.5-3.7-3.8-4.6v6.7z"/> + <path d="M204.4 639.2v-6.8c-2.5.6-2.6 1.5-3.4 3 .3-4.1-2.6-8.8-5.8-10.6-3.2 1.8-6 6.5-5.8 10.6-.8-1.5-.9-2.4-3.4-3v6.8z"/> + <g id="kh-a"> + <path d="M99 664.2v-20.4c-.7-2.6-3-5-4.6-5.4v-18l3.7 2 4.3 18.9v23z"/> + <path d="M99 664.3v-20.5c-.7-2.6-3-5-4.6-5.4v-19.2c2.5 0 3.7 3.2 3.7 3.2l4.3 18.9v22.9z"/> + <path d="M96.3 669.5c1.7-.7 4.2-2.9 4.2-5v-25.6l-1.2-2H143l-1.7 2v25.6a6 6 0 0 0 3.4 5z"/> + <path d="M135.8 669.5c-1.7-.7-4.2-2.9-4.2-5v-24.3l3.6-3.4h-29.6l3.6 3.4v24.3c0 2.1-2.5 4.3-4.2 5z"/> + <path d="M131.7 669.5c-1.7-.7-4.3-2.9-4.3-5v-22l2.4-3.3H111l2.4 3.3v22c0 2.1-2.5 4.3-4.3 5z"/> + <path d="M116 639.2h8.9v30.4h-9z"/> + <path stroke-linejoin="bevel" d="M103.7 647.6h3.6v16.5h-3.6zm30.8 0h3.5v16.5h-3.6zm-33.9-27.8h4.4v17h-4.4zm0-3.2h4.3v3.2h-4.3zm35.6 6.9h6.1v13h-6.1z"/> + <path d="M104.9 636.6v-29c1.2 0 1.4 4.3 4.2 4.3 1.5 0 1.4-1.8.5-3.2-.7-1.3-1.6-3-.4-6.3.9 2.5 3.1 3.3 2.7 1.8-.7-2.7-2.8-3.2-1.2-7.3.5 3.4 2.7 3.3 2.2 1.3-.6-2.3-1.9-3.3-.3-6.5.9 3.7 2 3.5 2 1.2 0-3.4 0-7 4.2-8.3 0 0 .3-3 1.9-3s1.8 3 1.8 3c4.3 1.3 4.2 5 4.2 8.3 0 2.3 1.1 2.5 2-1.2 1.6 3.2.3 4.2-.3 6.5-.5 2 1.7 2.1 2.2-1.3 1.6 4.1-.5 4.6-1.2 7.3-.4 1.5 1.8.7 2.7-1.8 1.2 3.3.3 5-.4 6.3-.8 1.4-1 3.2.5 3.2 2.8 0 3-4.2 4.2-4.2v28.9zM98 614.7v22.1h2.5v-22.1q-1.3-.7-2.5 0z"/> + <path d="M98.2 629c3.1 1.6 6.2 3.5 7 7.8h-7zm43.2-6.6v14.4h2v-14.4q-1-.5-2 0z"/> + <path d="M143.4 629c-3.1 1.5-6.2 3.3-7 7.7h7zm-20.6-33.7 1.8-1.5v-2q-.8 0-1.5 1a5 5 0 0 0-2.5-3 5 5 0 0 0-2.6 2.9q-.6-.9-1.5-1v2l1.8 1.6z"/> + <path d="m123.8 600.2.8-1.9v-2.5q-.8 0-1.5 1a5 5 0 0 0-2.5-3 5 5 0 0 0-2.6 2.9q-.6-.9-1.5-.9v2.5l.8 1.9z"/> + <path d="m124 606.8 2.6-3.3v-3.2q-1.3 0-2.2 1.6c-.7-2.3-2-2.7-3.8-3.8-1.9 1-3.2 1.5-3.8 3.7-.8-1.1-1.3-1.4-2.3-1.5v3.2l2.7 3.3z"/> + <path d="M124.7 613.3s3.2-2.7 3.3-4.2v-3.5c-1.2.1-2.3.4-3.2 1.9-.8-2.9-2-3.7-4.2-5-2.3 1.3-3.5 2.1-4.2 5-1-1.5-2-1.8-3.3-2v3.6a15 15 0 0 0 3.3 4.2z"/> + <path d="M126 625.3s4.4-4.7 4.5-6.6v-5.4q-2.5.2-4.4 3.6-1.3-6.6-5.5-9.8c-3 2.2-4.6 5.3-5.6 9.8q-1.9-3.4-4.3-3.6v5.4c.3 1.9 4.4 6.6 4.4 6.6z"/> + <path d="M126 632.4s3.7-3.7 4.5-5.3v-5.4q-2.5.3-4.4 3.5a14 14 0 0 0-5.5-9.2c-3 2.2-4.6 4.7-5.6 9.2q-1.9-3.2-4.3-3.5v5.4c1 1.6 4.4 5.3 4.4 5.3z"/> + <path d="M127.5 636.6c-1-4.7-2-8.2-7.1-11.7-5.2 3.5-6.1 7-7.2 11.7z"/> + <path d="M130.2 639.2v-6.8c-2.4 1-4.5 2.3-5.3 3.8-.8-3.8-2.5-5.4-4.6-7.7-2.1 2.3-3.5 4-4.4 7.7-.8-1.5-2.9-2.9-5.2-3.8v6.8z"/> + </g> + <use xlink:href="#kh-a" width="100%" height="100%" transform="matrix(-1 0 0 1 390.7 0)"/> + <path d="M72.7 694.3H318v12.5H72.7zm-6.5 12.5h258.3v12.5H66.2zm19.4-31.3H305v8.1H85.6z"/> + <path d="M79.2 683.6h232.4v10.6H79.2zm10.2-14.3h212v6.2h-212z"/> + <path d="M112.4 669.3h16v50h-16z"/> + <path d="M116 669.3h8.9v50h-9zm71 0h16v50h-16z"/> + <path d="M190.7 669.3h9v50h-9zm71.5 0h16v50h-16z"/> + <path d="M265.7 669.3h9v50h-9z"/> + <path fill="none" d="M99 664.2h193M115.8 713h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m65.8 37.5h8.6m-8.6-6.3h8.6m-8.6-6.2h8.6m-8.6-6.3h8.6m-8.6-6.2h8.6m-8.6-6.3h8.6m-8.6-6.2h8.6m66.2 37.5h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2"/> + </g> +</svg> diff --git a/apps/web/public/flags/ki.svg b/apps/web/public/flags/ki.svg new file mode 100644 index 00000000..fda03f37 --- /dev/null +++ b/apps/web/public/flags/ki.svg @@ -0,0 +1,36 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ki" viewBox="0 0 640 480"> + <defs> + <clipPath id="ki-a"> + <path fill-opacity=".7" d="M-86.3 0h682.6v512H-86.3z"/> + </clipPath> + </defs> + <g clip-path="url(#ki-a)" transform="translate(81)scale(.9375)"> + <path fill="#e73e2d" fill-rule="evenodd" d="M-164.3 0h835.8v306.5h-835.8z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M204.3 282.1c-19.4-15.2-55.6-10-61.6-51.3 27.7 21.5 22.7-1.2 64 19.3z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M209.5 263.4c-13.9-20.4-50-26.6-43-67.7 19.9 28.9 22 5.7 55.2 37.9z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M215.8 250c-5-24.1-36-43.6-13.8-79 7.2 34.4 18 13.8 36.4 56.2z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M230.3 237.6c2.7-24.5-20.8-52.6 11.1-79.4-3.6 34.9 13 18.7 17.5 64.6z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M243.3 227.7c12.4-21.3 2.5-56.5 42.6-67.9-17.6 30.3 4.2 22.3-10.5 66z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M262 230.3c18.6-16.2 20.4-52.8 62-50.9-26.3 23.2-3 22.5-31 59.4z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M278.6 239.9c22.5-10.1 34.9-44.5 74.1-30.5-32 14.5-9.5 20.7-47 47.7z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M292.5 255c24.4-3.4 46-33 79.7-8.4-34.7 4.9-15 17.1-58.5 32.5z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="m379.5 259.6-112.1 2.5 4.7 30.2z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="m363 218.4-103.8 39.9 17.3 33.3z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="m280.6 280.7 53.7-97.6-82.4 76.7z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="m279.5 272.6 17.2-109.4-53.8 97.2z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="m273 263.7-18-110.2-20 110.7z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="m263.7 254.3-52.3-92 20 111.8z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="m255.6 253.6-81.1-68.5 57.6 98z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="m146 218.9 87 71.9 13.4-37.6z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="m232.1 260.9-102.3-1.5 101.9 34z"/> + <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M315.1 279.2a61.4 61.4 0 1 1-122.7 0 61.4 61.4 0 0 1 122.7 0z"/> + <path fill="#005989" fill-rule="evenodd" d="M-165.1 303.4h839.9V512h-840z"/> + <path fill="#fff" fill-rule="evenodd" d="M-165.6 454c15.6 7.2 38 25.3 62 25.3 40-.3 41-27.4 81.6-26.1 40.7 1 33.3 29.6 88.2 29.5 45.4-.2 60-34.7 99.2-30.6 29-1.5 40.8 32.7 85.3 33.2 46.2 1 63.1-37.3 92-34.1 31 0 41 30.8 84.3 31 55.2.3 64.9-32 99.3-30 24.6-.5 44 23.7 80 24.3 28.6.5 52.7-21.2 69-29l.7-36.8c-17 6.3-42.4 27.1-67.7 27.3-36.6 1.4-59.1-24-84.5-23.7-30.4.3-42.5 31.3-94 31.3-47.2 0-58-31.3-88.4-31.3-29.7.2-38.8 34-90.3 33.4-42-.5-58.3-32.3-88-32-31.5 0-64 30.9-99 29.4-48-2-58.5-29.4-90-29.4-23.5 0-49 25.6-77.3 26-28.2.5-59.9-25.5-62.8-26zm0-73c15.6 7.3 38 25.4 62 25.4 40-.3 41-27.4 81.6-26.2 40.7 1 33.3 29.7 88.2 29.5 45.4 0 60-34.6 99.2-30.5 29-1.5 40.8 32.7 85.3 33.1 46.2 1 63.1-37.2 92-34 31 0 41 30.8 84.3 31 55.2.3 64.9-32 99.3-30 24.6-.5 44 23.7 80 24.3 28.6.5 52.7-21.2 69-29l.7-36.8c-17 6.3-42.4 27-67.7 27.3-36.6 1.3-59.1-24-84.5-23.7-30.4.3-42.5 31.3-94 31.3-47.2 0-58-31.3-88.4-31.3-29.7.2-38.8 34-90.3 33.4-42-.5-58.3-32.3-88-32-31.5 0-64 30.8-99 29.3-48-2-58.5-29.4-90-29.4-23.5 0-49 25.7-77.3 26.1s-59.9-25.5-62.8-26l.4 38.3z"/> + <path fill="#fff" fill-rule="evenodd" d="M-165.6 309c15.6 7.2 38 25.2 61.9 25.2 40-.2 41-27.4 81.6-26.1 40.6 1 33.2 29.6 88.1 29.5 45.3-.1 60-34.7 99-30.5 29-1.5 40.8 32.7 85.3 33.1 46.1 1 63-37.3 92-34.1 30.8 0 41 30.8 84.2 31 55 .3 64.7-32 99.2-30 24.5-.5 43.9 23.7 79.8 24.3 28.7.5 52.7-21.2 69-29l.7-36.8c-17 6.4-42.3 27.1-67.7 27.3-36.4 1.4-59-23.9-84.4-23.7-30.3.3-42.4 31.3-94 31.3-47 0-57.8-31.3-88.2-31.3-29.7.3-38.8 34-90.1 33.4-42-.5-58.3-32.2-88-32-31.5 0-64 30.9-98.8 29.4-48.1-2-58.5-29.4-90-29.4-23.5 0-48.9 25.6-77.2 26-28.2.5-59.8-25.4-62.8-26l.4 38.3z"/> + <path fill="#ffc84b" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.8" d="M136.8 76c61-4.2 50-9.4 74.5-13.4 31 4.3 34.5 23 51.8 34.5 0 0-6.5 22-27.7 18.9-2.9-8.8 10.2-11.6-27.5-34.6-22-1.3-61.3 3.9-71-5.4zm189.3 33.9-44 1.8v10.9c29.7 1 35-3 44-12.7z"/> + <path fill="#ffc84b" fill-rule="evenodd" stroke="#d8aa3f" stroke-linejoin="round" stroke-width="1.7" d="M174.8 108c7.7-3.9 11.5-2.3 18.2-2.5 4.5 8.3 8.8 9 18.8 10a50 50 0 0 0 39.9 21.8c29.9-.8 39.4-21.7 59.5-24h21.2c-3.5-6-6.3-9.5-14-9.9-15.8-.8-36.2-.4-54 3.6l-25.1 6.3c-7.4-3.6-25.3-22.4-36.8-22-6.7 1.8-6.7 4.1-10 6.7-6.5 2.8-13 1.4-17.7 10z"/> + <path fill="#ffc84b" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M205.1 99a3.2 3.2 0 1 1-6.3 0 3.2 3.2 0 0 1 6.3 0z"/> + <path fill="#ffc84b" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.8" d="M225.6 107.8c44.9-54.1 84.1-47.5 135.3-51.2 1.7 6.3 1 15.7-23.3 24-33.4 5-93.1 40.2-93.4 40.2-11.1-.6-18.9-12.2-18.6-13z"/> + <path fill="none" stroke="#d9a43e" stroke-linecap="round" stroke-width="1.8" d="M317.9 72.5 351 74m-36.7 4 24.1 2"/> + </g> +</svg> diff --git a/apps/web/public/flags/km.svg b/apps/web/public/flags/km.svg new file mode 100644 index 00000000..414d65e4 --- /dev/null +++ b/apps/web/public/flags/km.svg @@ -0,0 +1,16 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-km" viewBox="0 0 640 480"> + <defs> + <clipPath id="km-a"> + <path fill-opacity=".7" d="M0 0h682.7v512H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#km-a)" transform="scale(.9375)"> + <path fill="#ff0" d="M0 0h768.8v128H0z"/> + <path fill="#fff" d="M0 128h768.8v128H0z"/> + <path fill="#be0027" d="M0 256h768.8v128H0z"/> + <path fill="#3b5aa3" d="M0 384h768.8v128H0z"/> + <path fill="#239e46" d="M0 0v512l381.9-255.3z"/> + <path fill="#fff" d="M157.2 141.4c-85-4.3-123.9 63.5-123.8 115.9-.2 62 58.6 113 112.8 110C117 353.5 81.2 314.6 81 257c-.3-52.1 29.5-97.5 76.3-115.6z"/> + <path fill="#fff" d="m156 197-12-9.3-14.6 4.6 5.2-14.4-8.8-12.4 15.2.6 9-12.3 4.3 14.7 14.4 4.8-12.6 8.5zm-.3 52.1-12-9.4-14.6 4.6 5.3-14.3-8.9-12.4 15.3.5 9-12.2 4.2 14.6 14.5 4.9-12.7 8.5zm.2 52.6-12-9.4-14.5 4.6 5.2-14.3-8.8-12.4 15.2.5 9-12.2 4.3 14.6 14.4 4.8-12.6 8.6zm-.2 53-12-9.3L129 350l5.3-14.4-8.9-12.4 15.3.6 9-12.3 4.2 14.7 14.5 4.8-12.7 8.5z"/> + </g> +</svg> diff --git a/apps/web/public/flags/kn.svg b/apps/web/public/flags/kn.svg new file mode 100644 index 00000000..47fe64d6 --- /dev/null +++ b/apps/web/public/flags/kn.svg @@ -0,0 +1,14 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-kn" viewBox="0 0 640 480"> + <defs> + <clipPath id="kn-a"> + <path fill-opacity=".7" d="M-80.1 0h682.7v512H-80.1z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#kn-a)" transform="translate(75.1)scale(.9375)"> + <path fill="#ffe900" d="M-107.8.2h737.6v511.3h-737.6z"/> + <path fill="#35a100" d="m-108.2.2.8 368.6L466.6 0z"/> + <path fill="#c70000" d="m630.7 511.5-1.4-383.2-579 383.5z"/> + <path fill="#000001" d="m-107.9 396.6.5 115.4 125.3-.2 611.7-410.1L629 1.4 505.2.2z"/> + <path fill="#fff" d="m380.4 156.6-9.8-42.2 33.3 27 38-24.6-17.4 41.3 33.4 27-44.2-1.5-17.3 41.3-9.9-42.2-44.1-1.5zm-275.2 179-9.9-42.3 33.3 27 38-24.6-17.4 41.3 33.4 27-44.1-1.5-17.4 41.3-9.8-42.2-44.1-1.5z"/> + </g> +</svg> diff --git a/apps/web/public/flags/kp.svg b/apps/web/public/flags/kp.svg new file mode 100644 index 00000000..ad1b713f --- /dev/null +++ b/apps/web/public/flags/kp.svg @@ -0,0 +1,15 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-kp" viewBox="0 0 640 480"> + <defs> + <clipPath id="kp-a"> + <path fill-opacity=".7" d="M5 .1h682.6V512H5.1z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#kp-a)" transform="translate(-4.8 -.1)scale(.93768)"> + <path fill="#fff" stroke="#000" d="M776 511.5H-76V.5h852z"/> + <path fill="#3e5698" d="M776 419H-76v92.5h852z"/> + <path fill="#c60000" d="M776 397.6H-76V114.4h852z"/> + <path fill="#3e5698" d="M776 .6H-76V93h852z"/> + <path fill="#fff" d="M328.5 256c0 63.5-53 115-118.6 115S91.3 319.5 91.3 256s53-114.8 118.6-114.8 118.6 51.4 118.6 114.9z"/> + <path fill="#c40000" d="m175.8 270.6-57-40.7 71-.2 22.7-66.4 21.1 66.1 71-.4-57.9 41.2 21.3 66.1-57-40.7-58 41.3z"/> + </g> +</svg> diff --git a/apps/web/public/flags/kr.svg b/apps/web/public/flags/kr.svg new file mode 100644 index 00000000..6947eab2 --- /dev/null +++ b/apps/web/public/flags/kr.svg @@ -0,0 +1,24 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-kr" viewBox="0 0 640 480"> + <defs> + <clipPath id="kr-a"> + <path fill-opacity=".7" d="M-95.8-.4h682.7v512H-95.8z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#kr-a)" transform="translate(89.8 .4)scale(.9375)"> + <path fill="#fff" d="M-95.8-.4H587v512H-95.8Z"/> + <g transform="rotate(-56.3 361.6 -101.3)scale(10.66667)"> + <g id="kr-c"> + <path id="kr-b" fill="#000001" d="M-6-26H6v2H-6Zm0 3H6v2H-6Zm0 3H6v2H-6Z"/> + <use xlink:href="#kr-b" width="100%" height="100%" y="44"/> + </g> + <path stroke="#fff" d="M0 17v10"/> + <path fill="#cd2e3a" d="M0-12a12 12 0 0 1 0 24Z"/> + <path fill="#0047a0" d="M0-12a12 12 0 0 0 0 24A6 6 0 0 0 0 0Z"/> + <circle cy="-6" r="6" fill="#cd2e3a"/> + </g> + <g transform="rotate(-123.7 191.2 62.2)scale(10.66667)"> + <use xlink:href="#kr-c" width="100%" height="100%"/> + <path stroke="#fff" d="M0-23.5v3M0 17v3.5m0 3v3"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/kw.svg b/apps/web/public/flags/kw.svg new file mode 100644 index 00000000..3dd89e99 --- /dev/null +++ b/apps/web/public/flags/kw.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-kw" viewBox="0 0 640 480"> + <defs> + <clipPath id="kw-a"> + <path fill-opacity=".7" d="M0 0h682.7v512H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#kw-a)" transform="scale(.9375)"> + <path fill="#fff" d="M0 170.6h1024v170.7H0z"/> + <path fill="#f31830" d="M0 341.3h1024V512H0z"/> + <path fill="#00d941" d="M0 0h1024v170.7H0z"/> + <path fill="#000001" d="M0 0v512l255.4-170.7.6-170.8z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ky.svg b/apps/web/public/flags/ky.svg new file mode 100644 index 00000000..aeaa7e08 --- /dev/null +++ b/apps/web/public/flags/ky.svg @@ -0,0 +1,103 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ky" viewBox="0 0 640 480"> + <path fill="#006" d="M0 0h640v480H0z"/> + <path fill="#012169" d="M0 0h320v240H0z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/> + <path fill="#fff" d="M120.5 0v240h80V0zM0 80v80h320V80z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/> + <g stroke="#fff" stroke-linejoin="round" stroke-width="9.6" transform="translate(-306.8 -21.2)scale(.87136)"> + <use xlink:href="#ky-a" width="100%" height="100%"/> + <use xlink:href="#ky-b" width="100%" height="100%"/> + <use xlink:href="#ky-c" width="100%" height="100%"/> + <use xlink:href="#ky-d" width="100%" height="100%"/> + <use xlink:href="#ky-e" width="100%" height="100%"/> + <use xlink:href="#ky-f" width="100%" height="100%"/> + <use xlink:href="#ky-g" width="100%" height="100%"/> + </g> + <g stroke="#000" stroke-width="1.4" transform="translate(-306.8 -21.2)scale(.87136)"> + <g id="ky-b" fill="#fcea83"> + <path d="M754.4 449.6c2.9 7.6 23.5 17.7 47.5 4.8 16.3-9.2 26.8-22 36.9-45 2.8-5.8 4.3-13-2.4-17.3-5.3-3.9-14-8.2-17.8-12l-5.2-4.8q1.5 1.3 2.8 3.3c9.6 11.5-.4 28.3-11 38.4-7.7 7.2-21.5 24.9-41.7 8.1-4.3-3.8-14.4 12-9 24.5zm291.4 0c-3.4 7.6-24 17.7-47.5 4.8-16.2-9.2-26.8-22-37.3-45-2.4-5.8-3.9-13 2.8-17.3 5.3-3.9 14-8.2 17.8-12 1.9-2 3.3-3.4 5.2-4.8q-1.5 1.3-2.8 3.3c-9.6 11.5.4 28.3 10.5 38.4 7.7 7.2 22 24.9 42.2 8.1 4.3-3.8 13.9 12 9 24.5z"/> + <path d="M900.1 490.8c38.3 0 97.3-17.3 129-77.7 5.2-10 0-15.3-6.3-18.6a73 73 0 0 1-19.2-14c7.7 7.7 6.2 13 1 21.6-24.5 40.8-58 61.4-104.5 61.4s-80-20.6-104.5-61.4c-5.2-8.6-6.7-13.9.5-21.5a66 66 0 0 1-19.2 13.9c-6.2 3.3-11.5 8.6-6.2 18.6 31.6 60.4 91 77.7 129.4 77.7z"/> + </g> + <path id="ky-c" fill="#c8102e" d="M811.4 409.8c-1-4.8-7.1-2.9-9 2.9a68 68 0 0 1-6.8-10.6c-5.7-8.6-6.7-14.4 1.5-22.5 3.8-3.8 11.5-8.2 16.7-3.4 11 9.1 5.3 24-2.4 33.6zm176.9 0c1-4.8 7.7-2.9 9.6 2.9q3.7-5 6.7-10.6c5.7-8.6 6.7-14.4-2-22.5-3.3-3.8-11-8.2-16.7-3.4-10.6 9.1-5.3 24 2.4 33.6zm-233.9 39.8c-4.8-7.2-8.6-26-9.6-30.7-1.4-4.3-1.9-8.2 3.4-10 5.3-2 10 4.7 12.4 10.5s6.3 14.3 10.6 24.9c-10.6-6.2-19.2-2-16.8 5.3zm291.4 0c4.3-7.2 8.1-26 9.6-30.7 1-4.3 1.9-8.2-3.4-10-5.3-2-10 4.7-12.4 10.5s-6.3 14.3-10.6 24.9c10.6-6.2 18.7-2 16.8 5.3z"/> + <g fill="#00493d" stroke="none"> + <path d="m782.2 406.4-3.8 2c-1 .4-1 1.4-1 1.9h-.5L775 406h.5c0 .4.5 1 1.4.4l8.2-4.3q1.4-.8.5-1.4l.4-.5 2.4 4.8h-.4c-.5-.5-1-1-2-.5l-3.3 2 1.4 2.8 3.9-1.4c1-.5.4-1.5.4-2h.5l2 4.4c-.5-.5-1-1-2-.5l-8.1 4.3q-1.4.8-.5 1.4l-.5.5-2.4-4.3.5-.5c.5.5 1 1 2 .5l3.8-2zm8.2 6.3q1.4-.6.4-2h.5l4.8 7.2-3.3 2.4v-.4c1.9-1.5 1.9-3.4 1.4-3.9s-1-1-1-1.4c-.4 0-.4-.5-1.4.5l-3.4 2.4c.5.4 1 1.9 3.4.4h.5l-5.3 3.9v-.5c2.4-2 1.4-3.4 1-3.8l-3.4 2.4c-1 .4-1 1-1 1.4.5 0 .5.5 1 1 .5 1 2 1.9 4.3 1l.5.4-3.8 1.4-4.8-7.6h.5c.4.4 1 1 1.9.4zm7.6 18.2-3.3 2.8c-.5.5-.5 1.5 0 2h-.5l-3.4-3.4.5-.5c.5.5 1 1 2 0l6.2-6.2q1.4-.6.4-2l3.4 4q-1-.9-2 0l-2.8 2.8 2.4 2.4 2.9-2.4c1-1 .5-1.4 0-2l.5-.4 3.3 3.8h-.5c-.4 0-1-.4-1.9.5l-6.2 5.8q-1.4 1.3-.5 1.9v.5l-3.3-3.9c.4 0 1.4.5 1.9 0l3.3-3.3zm7.2 10.1 1.5 1.4 1.9-4.3s-1.5.4-3.9 1.9zl-.5.4-1-1c-.4.5-.9.5-1.4 1-1.4 1-1 1.5-.4 2v.4l-2.4-2.4h.4l2-.5 9.5-5.2.5.4s-.5.5-4.8 10.1c0 1-.4 1.4 0 2.4l-3.8-3.3.5-.5q1 1.5 1.9 0c0-.5.5-1.5.5-2l-1.5-1.4.5-.5zm3.8 9.5.5-.5q.6.8 2 0l6.2-8.1-.5-.5c-1-.5-2.4-.5-3.8 1v-.5l1.9-2.4 7.2 5.3-2.4 2.8h-.5c1.4-1.4 1-3.3 0-3.8v-.5l-6.2 8.2c-1 .5-.5 1.4 0 1.9h-.5z"/> + <path d="m821.5 452.4-2.4 3.4c-.5 1 0 1.4.5 2l-.5.4-3.8-2.9v-.5q1.3.9 1.9-.4l5.3-7.2q.4-1.4-.5-2l.5-.4 3.8 2.8v.5c-1-.5-1.4-.5-2 .5L822 452l2.9 1.9 2.4-3.4q.4-1.3-.5-1.9l.5-.5 3.8 2.9v.5q-1-.9-2 .5l-4.7 7.6c-1 .5-.5 1 0 1.5v.4l-4.3-2.8h.5q.7.1 1.4-.5l2.4-3.8zm9.6 13.5.5-.5q1 .9 1.9-.5l3.8-8.1c.5-1 0-1.5-.5-2l8.2 3.9-2 3.8-.4-.5c1.4-1.9 0-3.8-.5-4.3-.5 0-1-.5-1.4-.5-.5 0-.5 0-1 1-.5.5-1.9 3.3-1.9 3.3.5.5 1.4 1.5 3.4-1h.4l-2.8 5.8-.5-.4c1.4-3-.5-3.4-1-3.4l-1.9 3.8c-.5 1 0 1.5.5 1.5v.5zm13.9 6.7c-1.4-1-1.4-3.9 0-6.7 1-3 2.9-5.3 4.8-4.4 1.4.5 1 3.4 0 6.3-1.5 3.3-3.4 5.2-4.8 4.8h-.5c3.4 1.4 5.8-.5 7.2-3.9 1.4-2.8 1-6.2-2-7.6-2.8-1.5-5.7.4-7.1 3.8s-1 6.7 2 7.7zm14.8.9 2-5.7q.4-1.4-.5-2l2.4.5v.5c-.5 0-1 0-1.5 1l-1.9 5.7c-1 2.4-2.4 4.3-5.2 3.4-2-.5-3.4-2.9-2.4-5.3l2.4-6.2q.4-1.4-.5-2v-.4l4.3 1.9v.5c-.5-.5-1.4-.5-1.4.5L855 472c-.5 1.9-.5 3.8 1 4.3q2.2.7 3.7-2.9zm4.4-6.2q.1-.6-.5-.5l3.3.5 3 9.1 1.4-5.8q.4-1.3-.5-1.9l2.8.5-.4.5c-.5 0-1 0-1.5 1l-2.4 10.5h-.4l-3.9-11.5-2.4 7.7c0 1.4.5 1.4 1 1.9v.5l-2.9-1v-.5c.5.5 1.4 0 1.4-1l2.4-8.6zm16.3 9.6c-1 4.3-3 5.3-3.9 5.3h-1s-.4-.5 0-1l1.5-9.6c.5-.5.5-1 1-.5h1c.9 0 1.8 2 1.4 5.8l1.4.5c1-4.8-1-6.8-3.4-7.2-1.9-.5-4.8-1-4.8-1v.5c.5.5 1.5.5 1 2l-1.4 8.5q-.8 1.5-1.5 1.5h-.4l4.7 1c2.4.4 4.8 0 5.8-5.3zm4.3-3.9c0-1-1-1.4-1.5-1.4v-.5l8.7 1-.5 3.8c0-2.4-1.5-3.3-2.4-3.3q-.7-.6-1.5-.5c-.4 0-.4 0-.4 1.4l-.5 3.9c.5 0 1.9.4 2.9-2.4l-.5 6.2h-.5c0-2.9-1.4-2.9-2-2.9l-.4 4.3c0 1 0 1 .5 1l1 .5c1.4 0 2.8-.5 3.8-3.4h.5l-1 3.8-9.1-1c1 0 1.4-.4 2-1.3zm15.8 5.8c0 4.3-1.5 5.7-2.9 5.7-.5-.4-.5-.4-1-.4l-.4-.5.5-10q-.1-.7.4-.6h1c1 0 2.4 1.5 2.4 5.8h1.9c0-4.8-2.4-6.2-4.8-6.2-2-.5-4.8-.5-4.8-.5v.5c.5 0 1.5.4 1.5 1.4l-.5 9.1q-.1 1.5-1 1.4v.5h4.3c2.4 0 4.8-1 5.3-6.2h-2zm13.9 3.8c0 1 .5 1 1.4 1v.5l-5.3.4c.5-.4 1.5-1 1.5-1.9l-1-9c-.5-1-1-1-1.9-1v-.5l5.3-.5c-.5.5-1.5 1-1 2zm4.8 1v-.5q.9 0 1-1.4l-2-10h-.5c-1 .4-1.9 1.3-1.4 3.3h-.5l-.5-3.4 8.7-1.4.4 3.3h-.4c0-1.9-1.5-2.4-3-2.4h-.4l2 10q0 1.5 1.4 1.5v.5zm20.6-9.6-2-5.7c0-1-.9-1-1.4-1v-.5l2.4-1v.5c-.5.5-.5.5-.5 1.5l2 6.2c.4 2 .4 4.8-2.4 5.8-2 .4-4.3-.5-4.8-3.4l-2-6.2c-.4-1-.9-1-1.4-1l-.5-.5 4.8-1.4v.5c-.4.5-1 1-.4 1.9l1.4 6.2c.5 2 2 2.9 3.3 2.9 1.5-.5 2-2.4 1.5-4.8m5.3-3.4c2.3-1 1.9-2.3 1.4-3.8-.5-1.4-1.4-2.4-2.4-1.9-.5 0-1 .5-.5 1zl.4.5 1 3.9q1 1.4 2 .4v.5l-4.4 2-.5-.5c1-.5 1-1 1-2l-3.4-8.1c-.5-1.4-1-1-1.9-1v-.4l4.8-2c2-.4 3.8 0 4.8 2q.6 3.4-2.4 4.8c-.5 0-1 .4-1 .4z"/> + <path d="M957.1 472c-1.4.6-3.3-1.4-4.8-4.7-1.4-2.9-1.4-5.8 0-6.2 1.5-.5 3.4 1.4 4.8 4.3 1.5 2.9 1.5 5.7 0 6.7 3-1 3.9-4.3 2.4-7.7-1.4-2.9-4.3-4.8-7.2-3.8a5.6 5.6 0 0 0-2.4 7.7c1.5 3.3 4.4 5.2 7.2 3.8zm.5-13.3h-.9l2.8-2 8.7 4.8-3-5.2c-.4-1-1.4-1-1.8-1v-.5l2.4-1c-.5.6-1 1 0 2l4.8 9.6-.5.5-10.6-5.8 3.9 7.2c.4 1 1.4 1 1.9.5v.5l-2.4 1.4v-.5q.7-.7 0-1.9l-3.8-7.7zm21.6 1.4v-.5c0-.5.5-1 0-1.9l-5.8-8.1h-.5c-1 .4-1.4 2.4 0 3.8l-.4.5-2-3.4 7.2-4.8 2 3c-1.5-1.5-3-1.5-3.9-1l-.5.4 5.8 8.2q1 1.4 2 .5v.4z"/> + <path d="m984.5 448.6 2.8 3.4c.5.4 1.5.4 2 0v.4l-3.9 3.4v-.5q.7-.6 0-1.9l-5.7-7.2c-.5-1-1-.5-2-.5l3.9-3.3v.5c0 .4-.5 1 0 1.9l2.4 2.8 2.8-1.9-2.3-3.3c-.5-1-1.5-.5-2-.5l3.9-3.4v.5q-.7.6 0 2l5.7 7.1q.8.8 1.5 0l.4.5-3.8 3.4-.5-.5c.5-.5 1-1 .5-2l-2.9-3.3zm4.3-10.1c-.5-.4-1.5-.4-2 0v-.4l6.3-5.8 2.9 2.9h-.5c-1.5-2-3.4-1-4.3-.5 0 .5-.5.5-1 1l.5 1.4 2.9 2.9c.4-.5 1.9-1.5 0-3.9h.4l3.9 4.4v.4c-2.4-2.4-3.4-1-3.9-.4l3 2.8c.4 1 .9 1 .9 1l1.4-1.4c.5-.5 1-2 0-4.8h.5l1.9 3.3-6.2 6.2-.5-.4c.5-.5 1-1 0-2zm11.5-13.4c-.5.5-.5 1.5.4 2 1 .9 2 .9 3.9 0 1-.5 2.8-1 4.3.4 2.4 2.4 1.4 4.3 1 5.3-.5.5-1.5 1-2 1.4q-.6-.1-.5.5v.5l-3.3-2.9h.5c1.9 1 3.8 1.4 4.8 0 1-1 0-2-.5-2.4-1-1-2-1-3.4 0-1.4.5-3.3.5-4.8-.5-1.9-1.9-1.9-3.3-1-4.8l2-1.4c.5 0 .5 0 0-1l3.4 2.4h-.5c-2.4-1-3.9-.4-4.3.5m4.3-3.8c-1-.5-1.5 0-2 .5h-.4l5.3-7.7 3.3 2.4-.5.5a3.3 3.3 0 0 0-4.3 0c0 .5-.5 1-.5 1.4q-.7.1.5 1c.5.5 3.4 2.4 3.4 2.4.5-.5 1.4-1.5-.5-3.4v-.5l4.8 3.9c-2.9-1.5-3.4 0-3.8.4l3.3 2.4 1.4.5q.1-.8 1-1.4c.5-1 1-2.4-1-4.3l.5-.5 2.4 2.9-4.8 7.2h-.5c.5-1 .5-1.5-.4-2.4zm12.9-8.6-1.4 2.4c-2-2-2.9-3.4-2.9-3.4zh1c.5 0 1.4.4 1.9.4 1.4.5 1 1 .5 2h.5l2.4-4.4c-1 1-1.5.5-2.4.5-10.1-1.9-11-2.4-11-2.4v.5l7.6 8.6c.5.5.5 1.5.5 2h.5l1.4-2.4-.5-.5c-.5 1-1 1.4-1.9 0l-1-1 1.5-3.3zm-2.9-10.6c-.4.5-.4 1.5 1 2s2 0 3.4-1 2.8-2 4.7-1c3 1.5 2.4 3.9 2 4.8l-1.5 2v.9l-3.8-2c2.4.5 4.3 0 4.8-1.4.5-1-.5-1.9-1-2.4q-1.3-.5-3.3 1c-1.5 1.4-3 2-4.8 1q-3.2-1.6-2-3.9c0-1 1-1.4 1.5-1.9 0-.5 0-.5-.5-1v-.4l3.9 1.9h-.5c-2.4-.5-3.9.5-3.9 1.4"/> + </g> + </g> + <g stroke="#000" stroke-width="1.4" transform="translate(-306.8 -21.2)scale(.87136)"> + <g id="ky-d" fill="#073163"> + <path fill="#fff" d="M863.2 232.5c-6.2 1.4-10.5 1.9-16.3-3.4-3.8-3.8-2.9-10.5 1-13 4.3-2.8 8.1-4.7 13.4-3.3s19.2 14.4 15.8 14.9c-3.4 0-8.6 3.3-13.9 4.8zm14.8-23c2-1.5 4.4-2.4 10.6-3 5.8-.4 10-.4 11.5 4 2 5.2 3.4 11.4 7.2 14.3-2.4 1.4-14.4 2.9-18.7.5-5.7-2.9-7.2-14-10.5-15.8zm41.3.5c1.9-1.5 4.3-1.5 10.5-1s8.6 1 10 5.3c1.5 4.8 0 11 3 15.3-3 1-12.5 1-15.9-2.4-5.2-3.8-4.8-14.9-7.6-17.3z"/> + <path d="M948 212.8c-4.3-1-7.2-1.4-9 0 2.3 2.9.4 14.4 5.2 18.2 3.3 2.4 12 3 13.9-2.4 2.4-4.8 2.4-12-10-15.8zm-49.3-4.8c1.4-1.4 4.3-1.9 10-1.9 6.3 0 10 1 12 4.8 2 4.8 1.4 11 4.8 14.9-1.4 1.9-14.4 1.9-18.2-1-5.3-3.4-5.8-14.4-8.6-16.8zm-40.7 4.3c0-2.4 3.3-2.8 12-3.3 8.5-1 9-.5 11.9 5.7 1.4 3.4 3.3 9.1 7.2 11-10.6 2.5-14 3.9-19.7.5a29 29 0 0 1-10-10.5c-.5-1.4-.5-2.9-1.5-3.4z"/> + </g> + <g fill="#f9d050" stroke-width=".6"> + <g id="ky-f"> + <path d="M881 163.5c-10.1-7.7-22.1-14.9-33.1-16.3a280 280 0 0 1 32.6 25.4"/> + <path d="M886.7 156.3c-12-8.2-25.9-17.3-39.3-18.2a124 124 0 0 1 33 27.8m21.6-23a93 93 0 0 1 23.5-32.2c-4.8 10.1-10 30.7-12.5 38.9"/> + <path d="M912.6 140.5A48 48 0 0 1 937 115a101 101 0 0 0-18.2 35"/> + <path d="M916.9 150a85 85 0 0 1 37.8-31.6c-12 12-29.7 34-34 42.7m2.9-.5c8.6-4.8 25.9-12.5 38.3-10-7.6 2.8-30.6 13.3-40.7 23"/> + <path d="M921.7 157.2c8.1-8.6 23-21.5 38.8-26.8-11.5 11-36 36-39.3 39.8M898.7 152c-5.8-17.8-14.4-34.5-27.3-39.8a131 131 0 0 1 21 48.9m-4.8-9.6c-9.5-11.5-22.5-23-37.3-25.4a90 90 0 0 1 33 38.8"/> + <path d="M893 151c-12-21.6-21.2-25.4-26.4-29.7 4.3 8.1 14.8 29.7 21 38.8"/> + <path fill="none" d="M869 149.6a58 58 0 0 1 17.2 16.7"/> + <path d="M869 159.6c2.8 2.4 8.1 5.3 12.9 9.6m44.1-2.4c4.8-3.8 15.3-10 20.6-12m-24 8.7c4.8-6.3 14.4-14.9 17.8-17.8m-4.4-12a287 287 0 0 0-18.2 22.6m5.8-26.9a157 157 0 0 0-12 21.1m-25.9-20.1c2.9 7.7 8.2 20.6 10 25.9m-14.3-17.8c2 3 5.8 9.6 7.2 14.4"/> + </g> + <g id="ky-g"> + <path d="M897.7 136.1c0-4.3 2.9-9 5.8-9 3.3 0 5.7 5.7 5.7 9 0 3.9-2.9 7.2-5.7 7.2-3 0-5.8-2.8-5.8-7.2z"/> + <path d="M891.5 140c.5-4.8 3.8-8.6 6.7-8.2s4.3 6.3 3.8 9.6c-.5 3.8-3.8 6.7-6.2 6.2-2.4 0-4.8-3.3-4.3-7.6zm12.9 1.4c-1-4.3 1-9 3.9-9.6 2.8-.4 5.7 4.3 6.2 8.2 1 3.8-1.5 7.6-3.9 7.6-2.3.5-5.7-1.9-6.2-6.2z"/> + <path d="M897.2 145.2c0-4.7 2.9-9 5.8-9 3.3 0 5.7 5.2 5.7 9 0 3.9-2.8 7.2-5.7 7.2s-5.8-2.8-5.8-7.2z"/> + <path d="M888.6 147.6c0-4.3 3.4-9 6.2-9 3 0 5.8 5.7 5.8 9 0 3.9-3.4 7.2-5.8 7.2-2.8 0-6.2-2.8-6.2-7.2zm17.7-1.9c0-4.3 3-9 5.8-9 3.3 0 5.7 5.7 5.7 9 0 3.9-2.8 7.2-5.7 7.2s-5.8-2.9-5.8-7.2z"/> + <path d="M904.4 149.6c0-4.8 3.4-9.1 6.2-9.1 3 0 5.8 5.2 5.8 9 0 3.9-2.9 7.3-5.8 7.3-2.8 0-6.2-3-6.2-7.2z"/> + <path d="M896.8 153.9c0-4.8 2.8-9.1 5.7-9.1 3.4 0 5.8 5.7 5.8 9 0 4-3 7.3-5.8 7.3-2.9 0-5.8-3-5.8-7.2zm-12 0c0-4.8 2.4-9.1 4.8-9.1s4.3 5.7 4.3 9c0 4-2.4 7.3-4.3 7.3-2.4 0-4.8-3-4.8-7.2zm26.8-.9c0-4.4 2.4-8.7 4.8-8.7s4.8 5.3 4.8 8.6c0 4.3-2.9 7.2-4.8 7.2-2.4 0-4.8-2.9-4.8-7.2z"/> + <path d="M914.5 161c1-4.7 3.8-8.6 5.7-8 2 .4 2.4 6.1 1.5 9.5-.5 4.3-3.4 6.7-5.3 6.2-2-.4-2.9-3.8-2-7.6z"/> + <path d="M905.4 159.6c.5-4.3 3.3-8.6 5.7-8.1 2.9 0 4.3 5.7 3.9 9-.5 4.4-3 7.3-5.3 6.8-2.4 0-4.8-3.4-4.3-7.7zM892 161c-1.5-4.7-4.4-8-6.3-7.6s-2.4 6.2-1.4 9.6c1 3.8 3.8 6.2 5.7 5.7 1.5-.4 3-3.8 2-7.6z"/> + <path d="M888.6 160.1c0-4.3 2.4-8.6 4.8-8.6 2.9 0 4.8 5.3 4.8 8.6 0 4.3-2.4 7.2-4.8 7.2-2 0-4.8-2.9-4.8-7.2z"/> + <path d="M895.8 162c0-4.8 2.9-9 5.7-9 3.4 0 5.8 5.2 5.8 9 0 3.9-2.9 7.2-5.8 7.2-2.8 0-5.7-2.9-5.7-7.2zm2.4-52.7c-1 3.8-4.3 7.2-2 12.5-4.2-1.5-8-2-11.4 1.9 4.3-.5 8.1 1 10 3.8-3.8-.5-5.7 1.5-6.7 3.9 3.4-1 6.7-2 8.2-1.5-1.5 1.5-3.9 3.8-4.3 5.8 2.8-2.4 6.2-2 8.1-3.4-1.4 3.4 1.4 6.7 3.8 10-.4-4.7 2.4-8 1-10.5 4.3 1 4.8 4.8 11 4.8-2.4-1.4-3.8-6.2-6.7-6.2 1.4-.5 7.2-1 8.2 0-1-2-4.4-3.8-6.3-3.8 2-2 5.3-5.8 7.7-6.8-3.4.5-8.6 1-10.5 3.9 4.7-3.9 3.8-11 9-12-2.8-.5-7.1 1.4-10.5 4.8 1.5-2.9 1.5-6.7 3.4-7.7-3.9 1-8.2 5.8-9.6 8.2a18 18 0 0 0-2.4-7.7z"/> + <path d="M900.6 117c0 1.4 0 4.3-.5 5.2m6.7-5.7c-1 1-2.9 4.3-2.9 7.2"/> + <path fill="none" d="M909.7 122.2a8 8 0 0 0-3.4 4.4"/> + </g> + </g> + <g id="ky-e" fill="#059334"> + <path d="M858.9 169.7q-5.1-.1-8.2-3.8c-3.3-4.4-12.4-6.3-16.3-2.4-1.4 1-3.3 1-4.7 1.4-2.4 0-5.3 2.4-4.4 7.2 2-1.5 2.4 0 3.9 0 1-.5.5.5.5 1.4 0 2.4 5.2 7.2 10 6.7 5.3 0 7.7 2 8.6 3 1.5 1.3.5.9 1.5 3.3 1.4 1.4 1.9 1.9-.5 3.8a9.7 9.7 0 0 0 0 14.9c6.2 4.7 22 12 39.8-2 17.2-13.4 44-5.7 46-1 2.4 4.9 3.3 7.7 3.8 10.1.5 2 2.9 3.9 6.3 3.4 3.3 0 7.1 1.4 9 2.9 2.5 1.4 5.8 1 4.9-3.4-2-13.4-10.1-15.3-11-21.5 4.7.4 8 .4 10-1.5 1.4-1.9 3.3-5.3 5.3-6.2 1.4-1 1.4-2-.5-1.5-2.4.5-3.8 1.5-8.2 1-22-2.4-83.8-19.2-95.8-15.8z"/> + <path fill="#000001" d="M956.7 186a35 35 0 0 0-9.2 9.6c-4.7 6.2-19.1 12.4-36.9 12.4-17.2 0-27.7-2.8-35.4-9a61 61 0 0 0-10.6-6.8c-5.2-2.4-6.2-7.7-4.8-12-1.4 2.4-2.3 4.8-5.2 4.3-2 0-5.8 0-4.8 2-.5-1-.5-2.4-1-3l-1-.9c1.5 1 4.9-1.9 7.3-1.9 1.9.5 4.3-1.9 3.8-4.8l-1.4-6.2c3.8-2 54.1 7.2 64.2 8.1 10 .5 38.8 4.8 35 8.2z"/> + <path d="M865.6 167.8c4.8-4.8 10.5-7.2 16.3-5.8h1.4c3-2.4 9.6-2.9 13.5-1h1.9c5.7-1.9 16.7 0 20.6 3.9l1.4 1c13-1 20.6 4.7 29.7 13.9 1 1 2.4 2.8 4.8 3.3 2.9.5 3.4 2 1 3.4a38 38 0 0 0-10 9c-4.4 5.8-18.3 11.6-35.6 11.6-16.7 0-26.8-3-34.5-8.7-4.3-3.3-7.6-5.2-10-6.7-2.9-1-6.7-4.8-5.3-8.6 1-3.8-1.4-8.6-3.3-13.4 1.4-1 5.2-2.4 7.1-1.4z"/> + <g fill="#00493d"> + <path d="M950.4 179.8c-9-9.2-16.7-14.9-29.7-14 0 .5 0 2-.5 3a66 66 0 0 1 23.5 17.7c2-2 5.3-4.3 6.7-6.7zm-31.1-14.9c-3.9-3.8-14.9-5.8-20.6-3.8 0 1.9 0 4.8-1 6.7 3.4 1.4 6.2 4.8 9.1 8.1 2-.5 6.7-1.9 9.1-2.4a44 44 0 0 0 3.4-8.6zm-22.5-3.9c-3.9-1.9-10.6-1.4-13.5 1-1 2-1.4 5.8-1.4 7.7 2 0 4.8 1.4 5.7 2.4 3-1 6.8-2.9 8.2-4.3.5-2 1.4-4.8 1-6.7zm-31.2 6.8c4.8-4.8 10.5-7.2 16.3-5.8-1 1.5-1.4 4.3-1.4 7.2-5.3-.5-12 1-14.9 2.9z"/> + <path d="M941.8 187.4a64 64 0 0 0-22-16.8c0 .5-1 2.4-1.5 3.9 2.9 4.3 8.6 13.9 11 19.2 2.4-1 9.1-3.9 12.5-6.3zM905.4 198a179 179 0 0 0 1.4-19.7c2.4-.5 7.2-1.9 9.1-2.4 2.4 3.9 8.2 14 10.6 18.7-5.8 1.4-15.4 3.8-21.1 3.4zm-16.8-23c2.4-1 5.8-3 8.1-4.8 2 1.4 5.8 4.8 7.2 6.7 0 4.3-1.4 16.8-1.9 21-3.8 0-10-.9-13.4-2.8.5-7.2 1-15.3 0-20.1zm-24 5.7c.5-1 1-4.3 1-5.7 3.8-2.4 13.4-4.8 20.6-1 .5 4.8 0 16.8-.5 19.7a96 96 0 0 0-21-13z"/> + </g> + <g fill="none"> + <path fill="#000001" stroke="none" d="M840.7 172c-1 0-1.5-2.8-3.4-2.8-.5 0-1.9.5-2.4 0q.1 1.6 1 2.4c.5 1.4 2.9.5 4.8.5z"/> + <path d="M840.7 180.2c5.7 0 6.7-7.2 9.6-7.6m-6.3 8.1c4.3 2 7.7-8.1 11-7.7m-19.6-4.7c1.4 0 2.4-2 4.8.4q1.7 1.5 3.4 1.5m-1 5.2c-2 3-5.3 4.8-7.2 3.9m-1-15.8c-1.4 1-2.3 2.8-3.3 4.3m-1.4 2.8v2.4"/> + </g> + </g> + </g> + <g stroke-width="1.4" transform="translate(-306.8 -21.2)scale(.87136)"> + <path id="ky-a" fill="#fff" d="M989.7 233v93.4c0 81-38.3 108.8-89.6 130.8-51.3-22-90-49.8-90-130.8v-93.5h179.6z"/> + <path fill="#c8102e" d="M900.1 312c4.3 0 11-3.8 16.8-9.6 6.2-6.7 16.8-9 27.8 0s17.7 5.3 23.5 0c5.7-5.2 10.5-7.2 21.5-7.2V233H810v62.3c11 0 15.8 2 21.6 7.2 5.7 5.3 12.4 9.1 23.5 0 11.5-9 21.5-6.7 28.2 0 5.3 5.8 12 9.6 16.8 9.6z"/> + <path fill="#0b50a0" d="M900.1 360c5.8 0 17.3-6.3 20.1-7.7 10.6-6.3 18.2-.5 24.5 2.4 6.7 2.8 19.1 6.2 26.8 0s12-5.8 17.3-5.8c1-7.2 1-14.4 1-22.5v-5.8c-6.8-1.4-10.1.5-17.3 6.8s-15.4 4.8-26 1c-10-4.4-20-12-30.1 0a24 24 0 0 1-16.3 8c-7.2 0-13.4-4.7-16.3-8-10.5-12-20.1-4.4-30.2 0-10.5 3.8-19.2 5.2-26.3-1-6.7-6.3-10.1-8.2-17.3-6.8v5.8c0 8.1.5 15.3 1.4 22.5 5.3 0 9.2-.5 16.8 5.8s20.6 2.8 26.9 0c6.7-2.9 14.3-8.7 24.9-2.4 2.9 1.4 13.9 7.6 20.1 7.6zm0 20.6a51 51 0 0 0 23.5-7.2c9.6-5.3 16.3-3 25.9 1.9 10 4.8 18.2 3.3 24 0 2.8-2 5.2-5.8 11.4-4.3-2.8 12-7.2 22.5-12.4 31.1a33 33 0 0 1-25-1.9c-10-4.8-22.5-7.7-29.2-3.4a36 36 0 0 1-18.2 5.8c-5.3 0-12-2-18.2-5.8-6.7-4.3-19.2-1.4-29.2 3.4a33 33 0 0 1-25 2q-8-13.2-12.4-31.2c6.2-1.5 8.6 2.4 11.5 4.3a24 24 0 0 0 23.5 0c10-4.8 16.7-7.2 26.3-2a51 51 0 0 0 23.5 7.3m0 76.6a192 192 0 0 0 51.3-29.7c-3.9-1.4-6.2-.5-9.6-2.9s-13.4-3.3-22 1.5a39 39 0 0 1-39.3 0c-8.7-4.8-18.7-3.9-22-1.5s-5.8 1.5-9.7 3a185 185 0 0 0 51.3 29.6"/> + <g stroke="#000"> + <path fill="#f9d050" d="M887.6 256.4c.5 1-.4 3.4 0 4.3 1 2 1 3 2.4 3.9h3.4c10.5 0 23-4.3 33.5-4.3 10.1 0 16.3 3.3 22 3.3 3.4 0 6.3-2.4 6.3-4.8s-3.8-3.8-12-3.8c-11.5 0-17.7 2.9-27.3 2.9-14.4 0-16.8-5.3-16.8-7.7s2.4-5.7 10.1-5.7q3.7 0 5.3-1.5c.5-1 1.9-2.9 4.8-4.3 3.3-2 10 0 13.4-2.4 0 2-2.9 4.8-5.3 5.8 4.8-1.5 10-1.5 11 2.4-2.4-1.5-6.2-.5-7.6 0-2 .4-2.9 1-4.8 1.4 1.9-.5 2.9 3.3 5.7 3.3-2.8 2.4-7.6 2.4-12.4.5-1.5-.5-5.3-1.9-7.7-1.9-4.8 0-7.7 1-7.7 2.9 0 2.4 3 3.8 11.5 3.8 8.7 0 13.5-2.4 26.4-2.4-1-1.4.5-2.9-1.4-4.3 4.8 0 10 1.4 12 4.8-.5-3.4 2.3-6.2 1.4-9.1 2.9.5 5.3 3.3 5.7 5.7 0-1.4 2-1.4 2-2.8a7 7 0 0 1 3.8 7.6c1.4-2.4 2.9-1.4 3.8-4.3 1 2 .5 7.7-2.9 9.6 3-2 7.2-2 10.1 1.4-2.9-.4-4.3 1-5.7 1.5A44 44 0 0 1 948 267c-7.6-.5-8.6-2-13.4-2 2.9.5 8.6 6.3 14 6.3q5 .1 7.1-.5c1.4-.5 3.8 0 5.7 1 1.5 1.4 4.4 2.8 6.3 2.4q-.8 2.7-2.9 3.3c2.4 1.5 1 2.4 3.4 4.3-1 0-2 1-3.4.5 1.4 1.4 1.4 3.4 2.9 4.3-.5 0-2 .5-2.9 0 1.4 2 0 4.3 1.4 5.3 1.5 2-1.4 4.3-3.8 2.4.5 1.4-1 2.9-2.4 2.4s-2.4-2-2-2.4c0-.5 0-.5.6-1-1 1.5-2.9 1.5-3.9 1-.4-.5-1-1-1-1.4-3.3 1-4.7-2-4.2-3.4s3.3-2 4.3-1.4c1 .4 1.9 1 2.9 0q1.5-.9 1.4-2.4c0-1.5-1.4-5.8-7.7-5.3-7.2.5-18.7-1.4-24.4-3.4-.5-.4-1-.4-1.5-1 0 2-1.9 3-1.9 4.9 0 2.4 1 4.3 3.9 5.2-1.5 2.4-3.9 2-4.8.5 0 1.5-2 2.4-2 4.3-.4-1-1-1.4-1.4-2.4-1.4 3.4-5.3 5.3-7.2 4.4-2.4 1.9-5.2 1.4-6.2-.5-1.4 1-3.4 1-4.3 0 0 1.4-1 1-1.5 2.9 0 1-1.9 1.4-2.8 1-1-.6-1.5-2.5-.5-3.4q-2.3 1.5-3.8 0c0-1 0-2.4 1-3h.9c-1-.4-2.4 0-3.4-.4-1-1-1-2-.5-2.9.5-.5 2-1.4 3-.5l.4.5q.1-1.7 1-1.9c1-.5 2.3-.5 3.8 1 1 1.4 1.9 1.4 4.8 1 2.4 0 6.2-2.5 9-4.9-8-1.4-3.3-6.7-.9-8.6-1.9-.5-4.8-.5-6.7.5-10 5.3-20.6 11.5-27.3 9.6a6 6 0 0 0 1 2.8c-1.5 0-4.4 0-5.3-1.4-.5 1-1.4 3.4-.5 5.3-1-1-3.8-2-5.3-2.4 1 1 0 2.9.5 4.3-1.4-1.4-3.8-2.4-4.8-1.4s-2.9 1.4-4.3 1a8 8 0 0 1-3.8 2.8c0-1 0-2.4-.5-2.9-.5 1.5-2 3.4-3.8 4.3 0-1 0-2.4-.5-3.3 0 1.9-3.8 2.9-4.3 4.3q.6-2.3.5-3.8a7 7 0 0 1-4.8 3.3c.4-1 1-2 .4-2.9-.4 2-3.3 3-5.7 2.4 0 1-2 2.4-4.3 1-1.5-.5-2.4-2-1.5-2.9-1.9 0-3.8-1.9-2.8-3.3l.4-1.5c-1.4-1-1.9-2.9-.4-4.3.4-.5 1.9-.5 2.8-.5 0-3.8 3.4-3.8 4.8-1 1 1.5 3.9 3.9 6.3 3.4 1 0 1.4-.5 2.4-.5a43 43 0 0 0 12-6.2q.5-2 .4-3.3c-1.9 1-3.8 1.9-4.8 3.3v-1.4c-1.4 0-3.8-.5-4.8-.5.5-.5 1-2.9 2-3.4-2.4.5-4.8 0-6.8-.4 1-1 1-2.4 1.5-3.9-1 .5-3.4-.4-5.3 0 .5-1.4 1-3.3 2.4-3.8q-3 .6-6.7-1c2 0 2.9-2.4 4.3-2.4-3.8 0-4.8-1.9-6.7-2.8 1.4.4 2.4-1 3.8-1-1.4-.5-3.8-2.9-2.8-4.3q-.6 1-2 2c-1 .4-2.8 0-4.3-1.5-1-2-.5-4.3 1.5-4.8a2.3 2.3 0 0 1-1.5-3.9c.5-1 2.4-2.3 3.4-1l1.4 2c-.5-1-.5-2.9-.5-4.3.5-1.4 1.5-1.4 3-2 1.3 0 2.3 1.5 2.3 3 0 1.4.5 2.3 1 4.3l.4-2c0-1.9 2.4-1.4 3.9-1 1.4.6 1.9 3.4 0 4.9-1 1-.5 2.4.5 3.3 3.3 5.3 9 9.6 13.9 10.1q.1-3 2.4-5.3c0-1 .4-2.4 1-3.3.4-2.9 1.8-4.3 3.7-3.4-.4-.5-1-1-1-1.4-1.4-1.5-2.8-3.9-1.8-5.8s3.8-1.4 4.8-.4c-.5-3 2.8-5.3 2.8-6.8.5 1.5 1.5 3.4 1 4.8.5-1.9 3.8-4.3 6.2-5.2-1 1.4 2 3.8 1.5 5.2 1-2.4 4.8-3.8 7.6-3.8-1 1-1 2.9-1 3.8 1.5 0 4-.4 4.9-1.9 0 2-1 3.9-2 4.8.5-.5 2.4-.5 3.9-.5-1.5 1.5-1 3-2.4 3.9 1.9-1 4.3-1 4.8 1 1 1.4-.5 3.8-1.5 5.2-1 .5-1.9 1.4-2.4 1.4z"/> + <g fill="none"> + <path d="M858 262.2c-3.4 1.4-4.4 4.8-4.9 6.7"/> + <path d="M857.5 265.5c-4.8 3-6.8 5.3-5.8 10.6m8.1 3.9c3-1 4.8-2 7.2-6.3"/> + <path d="M865.6 275.6c-1 2 0 5.3-1.4 6.7a9 9 0 0 0 4.8-6.7"/> + <path d="M866.6 280.9c1.9-1 4.8-3.9 6.2-7.2-.5 1.4 0 3.8-1 5.3 2.4-2.4 3.4-3.9 3.9-6.3l.4 2c1-1 2-2 2-3.9m-.1 1.4v2.4c2-1.4 2.5-3.3 2.5-5.7"/> + <path d="M880 271.8c2.9-2 3.3-4.8 3.3-9.1m0 4.8c2-1.5 2.4-2.4 2.4-6.8m-6.2-12.9c-1 0-2 .5-2 2 0 .9-1.4 2.3-1.4 3.8q-.6 2.8-2.8 1.9c-1.5-1-1.5-1-1.5-2.4 0-2 2.4-2.4 2.4-4.3.5-1 1-2.4 1.5-2.4-2.4 1.4-5.8.4-6.3-2.4"/> + <path d="M883.8 249.2c-1 .5-2-1-3.3-.4-.5 0-2 .4-2.4 0"/> + <path d="M877.1 251.6c.5.5 2.9 1.5 5.3.5-2 .5-3.4-1.9-1.5-3.3m-8.1-2c-2 0-3.4 1.5-2.9 3 .5 1.4 2.4 1.4 3.8.4m-4.3 20.6q.9-1 1-2 1.6 0 2.4-.9c1.9 0 3.3-1.4 3.8-2.8 1 0 1.5-2.4 2-3.4.4.5 1.4 0 1.9-2 1 .6 2.4 0 2.8-1.4m-19.6-3.3c0 .5-1 1.4-2 2 .5.9 0 3.3-.9 3.7.5 1 0 2.4-.5 3.4 0 .5.5 2 .5 2.4m4.8-21.1c-1 2.4-.5 5.3 1.4 5.8"/> + <path d="M866.6 253c-.5 2.5-.5 5.8-1 7.3-.5 1-1.4 4.3 2.4 5.2 4.3 1 6.7.5 9.1-6.7m7.2 18.7c0 .5-.5 1.5-1.4 1.5m4.7-2.4c0 1-1 2.4-1.4 2.8m4.8-3.8c0 1 0 2.4-1 2.9m-28.2-32.6c.4 0 1 1 1.4 1.9-1.4-1-2.9 1.4-2 2.9m-.9 3.3-1.9 1.5m.5 2.8c-.5 0-1 .5-1.4.5m-21.6-9.1c0-.5 0-.5.5-1m-4.8-.4c-.5 0-.5 0-1-.5m1.4 7.2h1m-2.9-2.9a5 5 0 0 0-2.8-1.4m29.2 19.2c-3.4 2.8-4.8 5.2-5.3 8.6m8.6-6.3a11 11 0 0 1-3.8 4.4m-14.8 10a11 11 0 0 1-9.6-1.4c-.5-.5-1-.5-1.5-1m25.4-4.2c-.4 1.8-1 4.2-1.9 4.7 3.9-2 7.2-4.8 7.7-9.1M827.7 289c1.5-.5 3 .5 3.9-.5m79.5-15.3c1 .5 2.4 1 2.9 1.4.5-1 2.4-2.4 3.8-2.8m-40.7 11.5c-.5-2 .5-4.3 3.4-5.3m-22.1 13.4c.5-1 .5-2.4 1-3.3m-22.1 4.8c-.5 1-1.4 1.9-1.4 2.8m-5.8-1.9s0-.5.5-.5c1-.4 2.4-1.4 2.9-2.4m61.8-3.8c-1 .5-1.4 0-1.9-.5m1.4 2.9s-.4.5-1 .5m3.4 1.9q-.8.9-1.4 1m15.3 0q1.4-.6 2-3.4m-8.2 2.9c1.4-.5 2.4-1.5 3.8-2.9m9.6-1q-.1-1.5.5-2.8m35 7.2c-1-1-1-2.4.5-3.4 1-.5 1.4-1 2.4-1.4"/> + <path d="M924.5 276c-7.6-3.3-7.1-7.6-13.4-7.1m47.5 22.1c.5.4 0 1.9 0 2.3m4.3-2.3c-.5 1.4-.5 1.9-.5 3.3M926 245.9h-4m-36.3 16.3c0 1 1.5 2.9 5.3 2.9-.5 0-1-.5-1-.5m-2.4-8.2c-.4.5-1 0-1 0-.9-1 .6-2.8 2-3.8q-2 .6-3.4.5c-1 2.9-3.8 4.3-5.7 2.4-.5 1.9-2.9 4.3-4.8 3.8q-2.8-1.6-2-3.8c-2.3 2.8-5.2 1-6.1 0-.5-1 0-3.4 1-6.3"/> + </g> + <path stroke="none" d="M918.3 274.6c-1.4 1-2.9 0-4.3 1.5-1 1 .5 1.4 1.4 1.4-.4 1.5-.4 2 2 2-1 1.4 1.9 1.9 1.4 3.8a5 5 0 0 0 1-4.8c-.5-1.5-3-2.4-1.5-3.9"/> + <path fill="#073163" stroke="none" d="M874.7 259.3q-2.8-1.6-2-3.8-.7 1.4-2.3 1.4c-2 4.3-4.3 8.2-7.2 8.2-3.4.4-2.9 3.8-.5 3.8 5.3 1 7.7-1 12-9.6m-47.4-11.5c1.4-1.4.4-2.9-.5-3.3-1.5-.5-4.3 0-5.8 2.3 1.5-.4 3-.4 3.4.5.5 1 1.4 2 2.9.5m2.4-8.6c3.3 0 4.3.5 4.7 1.9.5 1-.4 2.4-1.4 2.4-1.4 0-2.9-1-2.4-1.4.5-1 .5-2.4-1-3zm9.5 7.6c2.4.5 3.4-1 2-2.8q-.8-2.4-4.4-2c2.4 1.5 0 3.9 2.4 4.8m-17.7 8.2a4 4 0 0 0 4.8 2c1.4-.6 2-2 1.4-3-1-1.4-2.4-1.9-2.8 0-1 2-2.4 1.5-3.4 1m7.2 29.2c-1-1.9-3.8-1.9-6.2 0 1-.5 2.8 0 3.3 1s1.5 1 2 1c.4-.5 1.4-1 .9-2m3.8-2.8c0-2.4-3.3-3-5.2-2 1 0 2.4 1 2.4 2 .4 1 1.4 1.4 1.9 1.4q1.5-.8 1-1.4zm-4.8 8.6c-2.8-.5-4.3 2.9-4.3 5.2.5-1.4 2-2.3 3.4-1.9q2 0 1.9-1.4c.5-1 0-1.4-1-2zm.5 8.1c1 .5 2-.5 2.4-1.9 0-1 2-1 2.4-.5 1 .5 1 2.4-.5 3.4-1 .5-3.3 1-4.3-1m66.6-14.4c-1-.4-3.3-1.4-5.2 0 1.4-.4 2.4.5 2.8 1.5 0 1 1.5 1.4 2 .5.4-.5 1-1.5.4-2m-4.3 3.4c-1.9-1-4.3 1.4-4.8 3.4a7 7 0 0 1 3.4-1.5q1.7.6 1.9-1 .9-.7-.5-.9m2.5 3.9c-1.5 0-3.4 1.9-3.4 3.8q.7-1.6 2.4-1c1 0 2.4-.5 2.4-1.4q0-1.5-1.5-1.5zm4.2 3.8c-1-.5-2.4 0-2.4 1.4s0 2.9-.4 3.4q1.5-1.4 2.8-2c.5-.4 1-1.9 0-2.8m54.2-4.3c-1-1-2.4-.5-2.9.4s-1 3.4 0 5.3c0-1 1-2.4 2-2.4 1.4-.5 1.8-2.4.9-3.3m2.9 1.9c-2 1-2 4.3-.5 6.2 0-1 .5-2.4 1.4-2.9 1.5 0 2-1.9 1.5-2.8-1-1-2-.5-2.4-.5m5.7 1.9c-1-.5-2 .5-2 1.4-.4 1.5.6 3.4 2 4.3q.1-1.6 1-2.4c1.4-1 1-2.8-1-3.3m4.3-.5c-1 0-1.9 1.4-1 2.9q.6 1.5 3.4 1c-.5 0-1.4-1.5-1-2q.7-1.7-1.4-1.9"/> + </g> + <g id="ky-h"> + <path fill="#f9d050" d="m831.1 383.4 24-73.8 24 73.8-62.9-45.5H894Z"/> + <path fill="#024919" d="m835.9 376.7 49.8-36.4h-61.3l49.3 36.4-18.6-58.4z"/> + </g> + <use xlink:href="#ky-h" width="100%" height="100%" x="90.1"/> + <use xlink:href="#ky-h" width="100%" height="100%" x="45" y="52.2"/> + <path fill="none" stroke="#000" d="M989.7 233v93.4c0 81-38.3 108.8-89.6 130.8-51.3-22-90-49.8-90-130.8v-93.5h179.6z"/> + </g> +</svg> diff --git a/apps/web/public/flags/kz.svg b/apps/web/public/flags/kz.svg new file mode 100644 index 00000000..2fac45bd --- /dev/null +++ b/apps/web/public/flags/kz.svg @@ -0,0 +1,36 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-kz" viewBox="0 0 640 480"> + <path fill="#00abc2" d="M0 0h640v480H0z"/> + <g fill="#ffec2d"> + <g transform="matrix(.48 0 0 .48 345.8 201.6)"> + <circle r="134.6"/> + <g id="kz-c"> + <g id="kz-b"> + <path id="kz-a" d="M0-152.9c8-.1 11-5.1 11-11.1 0-8-11-46.1-11-46.1S-11-172-11-164c0 6 3 11.1 11 11.1"/> + <use xlink:href="#kz-a" width="100%" height="100%" transform="rotate(90)"/> + <use xlink:href="#kz-a" width="100%" height="100%" transform="scale(-1)"/> + <use xlink:href="#kz-a" width="100%" height="100%" transform="rotate(-90)"/> + </g> + <use xlink:href="#kz-b" width="100%" height="100%" transform="rotate(22.5)"/> + <use xlink:href="#kz-b" width="100%" height="100%" transform="rotate(45)"/> + <use xlink:href="#kz-b" width="100%" height="100%" transform="rotate(67.5)"/> + </g> + <use xlink:href="#kz-c" width="100%" height="100%" transform="rotate(11.3)"/> + </g> + <g transform="translate(-172.8)scale(.48)"> + <path d="M1075.8 655c-3.5 6.3-5.6 13.6-10 19.3-13.6-12.3-33.2-12-50.4-12.7-14.2-.8-29.6-2.1-40.6-12.2-11.5-9.5-21-21.7-33.8-29.4a83 83 0 0 1-33.1-15.3c-20.2-16.5-31.8-41-51.6-58-3.7-3.6-8.2-6.5-12.4-9.6-4 1-2.2 9.6-7.1 5.2-2.7-2-9.4-2.1-10 .6 6 8 12.1 17 13 27.2-4.2.4-11.5-.9-13.5.6a84 84 0 0 0 20.4 21.3c-3.8.6-11.3.3-12.8 1.8a59 59 0 0 0 26.8 14.7c2 2.8-3.1 8.2 1.3 10.6 2.5 1 10.9 2.8 5.1 5.7-4 2.6-2.5 8.9 2.6 8.7 3.2 1.7 10.4 2 11 5-2.9 2.8-11.7 6.2-4.2 9a52 52 0 0 0 23.1 6.7c-4 3.4-9 5.3-13.1 8.5 18.5 10.9 39 18 59.4 25 8 2.6 16.3 5.1 24.7 6.7-24.4-1.4-48-8.6-70.2-18.5q-17.2-7.6-34.8-14.2c5.1-2.7 11.1-3.4 16.5-5.7-11.2-2.2-23.3-3-33-9 1.4-2.8 7-2.9 10.2-4.3 6-1.4 9.6-3 1.3-3.6-8.4-2.3-18-1.3-25.5-6.3.5-3 8.3-2 11.4-3.3 4-.7 8.4-1.3 11.6-4-13-5.3-30-1.5-40.2-13-2.3-4.4 7.3-.9 10-1.6 7 0 14.5 2.2 21.2-.6-19-8.3-39.3-16-53.7-31.4-1.6-2.5-6.4-9.3-2.5-10.1 11.2 1.5 19.3 13.7 31.4 11.8 1.6-2.1-7-5.6-9.2-8.7a229 229 0 0 1-46.8-51c-.8-6.7 9.5-7.7 12.2-2.6 13.4 13 25.5 28 42.2 36.8 6 2.9-3.4-3.4-4.6-5.7a299 299 0 0 1-40.9-57.9c-2-3.8-5.1-10.7.7-12.7 5.7-2.9 11.5 1 14.4 6 11.3 14.3 19.7 31.3 33.8 43.2-12-23.3-24.9-48-25.2-74.8.3-5.2.6-13 7.7-12.9 6-.9 5 6.7 7 10.3 5.8 19.8 8.3 41.2 20 58.6-2.5-14.6-6.4-29.7-3.8-44.6.6-5 6-6.4 9.7-3.4 2.9 7 3.5 15.9 6.1 23.5a237 237 0 0 0 93 127.2 245 245 0 0 0 123.3 42.3q6 .5 11.9.7m136.4 91.1c-7.2 4.4-12.8-3.4-18.8-5.7-4.4 2.4-4.8 10.2-8.8 14-4.8 5.5-10.8-1.6-10.3-7-5.8 4.9-8.7 16-18 14.4-4.5-3.6-7.8-11.2-11.2-2.5-2.7 4.2-10 10.2-13.9 3.8-1.2-5.6-4-12.2-7-3.3-2.2 6.4-9 11-15.4 8.2-3.6-2.9 2.8-13.7-1.7-13-6.8 4.6-10.8 15.7-20.3 14.8-3.7-4 2.3-11.1-1.8-15.7-4.7 6.1-10 15.1-18.3 15.7-4-3.2.2-12.5-2.4-13.8-8.4 5-17.4 14.1-28 11.3 4.1-16 21.5-21.5 36-22.7 25.1-3.1 51.5 2.6 75.7-6.5 3.9-2.4 13.3-5.7 10-11.2-3-4.4 7.7-2.7 8.7-7.8-.6-6.4 5-5.5 10.4-6 24.4-1.1 48.5 4 72.8 4.9 1.8 11.8-11.3 20.1-22 16.5-5 .8-12.5-11.6-11-2.6-1 4.8-.4 11-4.7 14.2m-207.4-24.2c5.6 5.1 9.6-1 14.9-3.3a197 197 0 0 0 48.3-27.3c9.2-7.6 17.2-17.5 29.6-20 24.2-7.3 49.9-6.4 74.1-13.2 18.5-25.2 49.8-34.3 76.1-48.8 5.9-1.8 8.2-6.7 10-12 10-15.9 23.7-29.9 39.9-39.5a37 37 0 0 1 25.4-4.6 42 42 0 0 1-13.7 26.5c5.9-.1 11-3.8 16.8-3.6 2 10.6-9.4 16.1-15.5 22.7 3.4.8 16.4 1.8 9.3 5.2-9 6.2-19.3 10.5-27.6 17.8 7.7 1.4 8.6 3 .8 5.8-4.3 2.8-12.4 3.8-13.2 9.4 5.8 3.6-2.6 7-5.9 8.2-6.2 1.5-12.8 4.2-4.5 9-3.1 4.7-9.9 5.7-15.4 5.2 1.7 5.4 4.1 11.4-2.8 13.8a108 108 0 0 1-53.6 22.4c24.5 1.8 49.8-2.7 70.7-16 2.8-3.3 17.3-6.9 9.2-9.6-3.8-1.6-12-3.4-12.6-6.3 11.4-7 25.7-4.5 37.9-8.6.3-4-9.3-2.9-12.9-3.8-8.5-.7-8-2.9.2-3.7 10.4-2.8 22.2-3.3 31-10-7.1-3.4-16.1-.5-23.7-3.2 12.9-5.6 28.1-6.2 39.7-14.7 5.3-5.9-6.8-4-10.3-3.9-7.1 1.3-10.4-2.2-2.3-5.1 13.9-10.3 31.4-16.9 41.2-31.7 2.3-3.3 5.4-13.3-2-9.8-9.6 3.3-18.1 14.1-29.2 10.8 21.8-16.9 42.4-36 57.3-59.3.8-6.8-9.8-7.5-12.5-2.2-14 13.4-26.6 29.3-44.5 37.8a281 281 0 0 0 43.6-56.4c2.7-6 9.8-13.3 6-20-6.3-5.2-14.1-.4-17.3 5.7-10.9 14.2-19.1 30.7-33 42.3 12.1-23.3 24.8-48.2 25-75 0-5.6-1-13.8-8.6-12.7-6 1-4.5 10-7 14.5-5.4 18.4-8 38.3-19 54.3 2.5-14.9 6.8-30.5 3.5-45.5-1.6-6.8-12.5-3.9-11 2.8-13 65.9-57.3 123.5-115 156.8-26.5 15-56 24.6-86.2 29-8 1.7-16.8.7-24.5 3.5-18.8 14.3-30.1 38.4-53.8 45.9-10.7 5.3-24.5 6.4-32.1 16.2a9 9 0 0 0-.8 4.2m51.7-10.3q-5.4.2-10.6 1.7c-4.7.7-9.2 2.3-13.8 3l-1.9.4-3.1.3a11 11 0 0 1 0 5.1 6 6 0 0 1-1.4 2q-.9 1.2-2.2 1.8a7 7 0 0 1-2.6.7q-1.3.1-2.7-.4-1.3-.4-2.5-1.5l-2.8.5h-2.6l-2.8-1-2.6-1.3c-3.4 2-7.2 3.9-9.3 7.4a11 11 0 0 0-1.6 5.3q-.2 3.6 1.4 7c.4.6.7-2.3 1.8-2.7q3-2.4 6.7-3.3c2-1 1.7 0 .9 1.6-.2.9-1.3 4 .2 2.4a65 65 0 0 1 21.6-4.1q15.9-1.5 31.8-1.5l30 .6c4.8.2 9.6 1.2 14.3.4 1.1-.3 2.9-.3 3.6-1-2.2-1.2-4.7-1.3-7-1.6h-19.1c-5.3-.5-10.8-.6-15.8-2.6-1.4-.5-2.6-1.8-3.9-.4a24 24 0 0 1-5.9 1.3q-5.3.2-10.2-1.8 3.6-4.7 7.7-9l-6.2-1.3z"/> + <circle cx="1020" cy="720.9" r="2.4"/> + <circle cx="1019.8" cy="720.5" r="1" stroke="#ffec2d" stroke-width=".4"/> + </g> + <g transform="scale(.48)"> + <g id="kz-f"> + <g id="kz-e"> + <path d="M120 73s-9.6-8.2-12.9-4.1c-5.2 6.5 16.2 39 16.2 50.4 0 18.8-12.6 23.9-28 26.5-10.4 1.8-27.3-.7-27.3-.7 3.2-4.3 5.3-5.6 10.6-5.9-6-3-12-9.8-12-20.3 0-16.1 6.6-22.8 6.6-41C73.2 68 65 55 65 55c14.6 1.5 21.8 15 17.7 25.8a7 7 0 0 0 6.3-1.9c1 3-.6 6.5-2.9 9.5 1.8 1 3.2.4 6-.2-.2 3-2 6.4-6.6 9.5 13.2-3.4 21.2 5.7 21.2 15.3 0 7.3-5 12.5-10 12.5-1.6 0-4-.7-5.3-1.7-1 2-.4 4.7.5 6.7-3.6-1-6-3.2-4.3-7.7q-4.2-.3-6.5-3 2.3-3 6.5-3c-2-4.2.3-6.5 3.6-8.4 0 0-2.1 8.4 3.2 8.4 2.4 0 4.6-.7 4.6-4.3 0-3.1-2.7-7.4-9-7.1s-11.3 4.3-11.3 14.3c0 9.2 7.5 13.8 17.3 14 8.8.4 15.5-4.4 15.5-13.5C111.5 108 94 80.4 94 69.6c0-8.1 7.2-12.7 14.4-12.7 9.2 0 17 9.2 17 9.2l-5.4 6.8z"/> + <path id="kz-d" d="M122 292.1c0 20.3-18.2 30.7-32.5 30.7-19.2 0-29.5-11.5-29.5-26.6 0-8.5 1.6-13.9 5.5-22l44.2-91.7a27 27 0 0 0 2-12.2c0-8.2-8-14.9-16.3-15-7.6-.3-16 7-16 15.3 0 10.1 5.3 14.6 10.7 14.6 6.6 0 9.2-2.7 9.2-7.4q-.2-4.7-3.8-4.6c-5.7 0-4 7.6-4 7.6a5.2 5.2 0 0 1-3.9-7 10 10 0 0 1-5.5-3.3q2.2-2.3 5.5-3c-1.3-4.4.5-6.5 4.3-7.5a8 8 0 0 0-.5 4.8c6-1.8 15.3 1 15.3 11.4s-7.2 19.1-20.7 17c3.2 1.5 4.8 4.6 5.2 8.1-2.5-1-5.2-1-5.2-1 1.6 2.7 3.8 5 3.7 10.6-2.5-1.2-4.9-3.3-8-2 5 10-1.2 23.6-17 26.8q8.6-10.3 8.6-21.3c0-23.5-6.5-27.4-6.5-43.8a24 24 0 0 1 10.5-19.2v.3A14 14 0 0 1 68 145a62 62 0 0 1 34 .3 25 25 0 0 1 18 12 36 36 0 0 1 0 28.9c-6.3 13-35.7 75.6-44.9 95.2q-3 6.3-3.1 13.4c0 12 11 16.2 17.2 16.2 7.5 0 15.2-5.7 15.2-12.8 0-4.5-2.5-7.3-6-7.3-8.5 0-8 7.2-6.3 11.8-5.3-2.4-8.3-6.6-7.5-11a14 14 0 0 1-8.4-4.8c2-2.6 4.6-4.6 8.4-4.7-1.7-6.9 3-9.8 7.5-11.4-1.4 5-2.4 10.9 6.3 10.9 6.3 0 11.2 1 14.1 5.2l.7-27c.4-8.1-10.8-8-18-5.5 2.7-9.3 8.2-14.4 21-13.1a10 10 0 0 1-6.4-9.8c0-7.6 6.2-16 10.2-18.5l2 79z"/> + <use xlink:href="#kz-d" width="100%" height="100%" transform="matrix(1 0 0 -1 0 645)"/> + </g> + <use xlink:href="#kz-e" width="100%" height="100%" transform="matrix(-1 0 0 1 240 0)"/> + </g> + <use xlink:href="#kz-f" width="100%" height="100%" transform="matrix(1 0 0 -1 0 1000)"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/la.svg b/apps/web/public/flags/la.svg new file mode 100644 index 00000000..6aea6b72 --- /dev/null +++ b/apps/web/public/flags/la.svg @@ -0,0 +1,12 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-la" viewBox="0 0 640 480"> + <defs> + <clipPath id="la-a"> + <path fill-opacity=".7" d="M0 0h640v480H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#la-a)"> + <path fill="#ce1126" d="M-40 0h720v480H-40z"/> + <path fill="#002868" d="M-40 119.3h720v241.4H-40z"/> + <path fill="#fff" d="M423.4 240a103.4 103.4 0 1 1-206.8 0 103.4 103.4 0 1 1 206.8 0"/> + </g> +</svg> diff --git a/apps/web/public/flags/lb.svg b/apps/web/public/flags/lb.svg new file mode 100644 index 00000000..bde2581d --- /dev/null +++ b/apps/web/public/flags/lb.svg @@ -0,0 +1,15 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-lb" viewBox="0 0 640 480"> + <defs> + <clipPath id="lb-a"> + <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/> + </clipPath> + </defs> + <g clip-path="url(#lb-a)" transform="translate(80)scale(.9375)"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#EE161F" d="M-128 384h768v128h-768zm0-384h768v128h-768z"/> + <path fill="#fff" d="M-128 128h768v256h-768z"/> + </g> + <path fill="#00A850" d="M252.1 130c-7.8 15.5-13 15.5-26 26-5.2 5.1-13 7.7-2.6 13-10.5 5.1-15.7 7.7-20.9 18.1l2.6 2.6s10-4.8 10.4-2.6c1.8 2.1-13 10-14.9 11.3l-11 7c-13.1 10.3-21 7.7-28.7 23.3l26-2.6c5.2 18.2-13 20.8-26 28.6l-20.9 13c5.3 18.2 20.9 7.8 33.9 2.6l2.6 2.6v5.2l-26 13s-30.8 17.6-31.3 18.2c-.2 1 0 5.2 0 5.2 10.4 2.6 26 5.2 36.5 0 13-5.2 15.6-10.4 31.2-10.4a101 101 0 0 1-52 20.8v10.4c15.6 0 26 0 39-2.6l33.8-10.4c7.8 0 15.7 7.8 13 15.6-7.7 28.6-39 23.4-49.4 46.8L213 369c10.4-5.2 20.8-10.3 33.8-7.7 15.6 5.2 15.6 15.6 36.4 20.8l-5.2-13c5.2 2.6 10.4 2.6 15.7 5.2 13 5.2 15.6 10.4 31.2 7.8-13-15.6-15.6-13-26-23.4-10.4-15.6-15.7-39 0-41.6l18.2 5.2c18.2 2.6 18.2-2.6 44.2 7.8 15.7 5.2 20.9 13 39 7.8-7.7-18.2-36.3-31.2-54.6-36.4 20.9-13 15.6 5.2 44.3-2.6v-5.2C369.3 278 361.4 265 332.8 265l44.3-5.2v-5.2s-43.7-11.4-44.7-11.9c.3-1.3 1.4-3.3 4.3-4.5 8.3 5.4 33.3 4.8 34.8 4.7-.8-6.4-12.7-11.7-23-16.9 0 0-44.7-27.5-44.9-29.9.9-7 18.3 1.1 37 6.5-5.2-10.4-15.6-15.6-26-18.2l15.6-2.6c-10.4-23.4-36.4-20.8-52-31.2-10.5-7.8-10.5-13-26.1-20.7z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.2" d="M224 303c1.9-6.1 4.4-11.6-7.2-16.9s5.8 21.1 7.2 17zm13.7-12.3c-2.3.3-3.6 8.8 1.1 11.2 5.2.8 1-11.1-1.1-11.2m13.5-1c-2.4.8-2.5 12.8 6 10.6 8.6-2.1 0-11.5-6-10.5zM267 259c1.8-3-.1-15-7.4-10s5 10.8 7.4 10m-16-10c2.3-.9 2.5-8.3-4-6.3-6.3 1.9 2.3 7.8 4 6.3m-14.4 2.9s-4.5-6.2-8-4.9c-4.3 4.2 8.3 5 8 4.9M187 271.7c1.9.2 16-2.3 20.9-7.8s-25.1 2.3-25.1 2.4 2.8 4.9 4.2 5.4m141.1-35c.7-1.3-7.5-7.1-12.4-4.8-1.3 4.3 12.4 5.7 12.4 4.8m-27.8-14c1.6-2.2-3.5-11.3-13.7-6.2-10.2 5 10.7 9.8 13.7 6.3zm-32.1-5.3s2.5-8.2 8.6-6.6c7 5.3-8.3 6.9-8.6 6.6m-6-6.2c-1-2.3-7.3-1-14.6 3.9-7.4 4.7 16.8 1.4 14.6-4zm18.7-22.1s6.5-3 8.5 0c2.7 4.3-8.6 0-8.5 0m-5.5-2.9c-1.3-2.6-8.5-2.9-8.3 1-1.2 3 9.4 2.4 8.3-1m-17.2 0c-.7-1.5-11 0-14 6.2 5 2.4 16.3-2.3 14-6.2m-22 6.3s-13.4 8.3-14.3 14.3c.4 5.2 16.8-9.4 16.8-9.4s1.4-5.8-2.4-4.9zm-14.9-7.5c.4-1.7 6.7-5.6 7.2-5.3.5 1.7-5.1 6.3-7.2 5.3m4.3 31.6c.3-2.5-16-2.3-9.9 5.2 5.2 6.3 11-4.1 9.9-5.2m-15 10.7c-.8-1.6-2-6-4.2-6.4-1.9 0-11.7 2-12.5 3.6-.4 1.3 4.1 9.4 5.6 9.6 1.8.7 10.9-6 11.2-6.8zm88.4 55.2c.5-1.8 17.3-7.5 23-2 6.8 9.3-23.4 5-23 2m46 10.9c3.7-6.2-11.3-13.6-17.6-6.5 2.2 8.5 14.6 11.6 17.6 6.5"/> + </g> +</svg> diff --git a/apps/web/public/flags/lc.svg b/apps/web/public/flags/lc.svg new file mode 100644 index 00000000..bb256541 --- /dev/null +++ b/apps/web/public/flags/lc.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-lc" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#65cfff" d="M0 0h640v480H0z"/> + <path fill="#fff" d="m318.9 42 162.7 395.3-322.6.9z"/> + <path fill="#000001" d="m319 96.5 140.8 340-279 .8z"/> + <path fill="#ffce00" d="m318.9 240.1 162.7 197.6-322.6.5z"/> + </g> +</svg> diff --git a/apps/web/public/flags/li.svg b/apps/web/public/flags/li.svg new file mode 100644 index 00000000..7a4d1832 --- /dev/null +++ b/apps/web/public/flags/li.svg @@ -0,0 +1,43 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-li" viewBox="0 0 640 480"> + <path fill="#002b7f" d="M0 0h640v240H0z"/> + <path fill="#ce1126" d="M0 240h640v240H0z"/> + <g fill="#ffd83d" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="scale(.8)"> + <g id="li-a"> + <path stroke="none" d="m216.4 122.3-1.9 62.5h-63.4c-7.8-15.2-14.2-28-14.2-45.5 0-14.6 11.5-26.2 28-26.2 17.5 0 36.8 5.9 51.5 9.2"/> + <g stroke-width="1.5"> + <path d="M144.5 125.2v36m5-39.7v48m5.2-50.5v57.2m5-58.4v44.9m5.1-45.1v45.3m5.1-47v47m5.1-47v47m5.1-46.5v47m5.1-46.5v46.9m5.1-44v47m5-46.5v52.9m5.2-52.9v47m5-47v47"/> + <path fill="#000001" d="M176.4 118c10.8 1.7 34.4 12.8 31.7 27.7-3.8 21.2-16.2 12.7-32.6 9.7l-12.4 4.1c-4.5 4.5-11 8.7-15.4 3.2h-7.4v28.8h81.4V122z"/> + </g> + <circle cx="212.8" cy="113" r="4.9"/> + <circle cx="201.7" cy="110.3" r="4.9"/> + <circle cx="190.4" cy="107.5" r="4.9"/> + <circle cx="179.1" cy="105.6" r="4.9"/> + <circle cx="167.8" cy="104.5" r="4.9"/> + <circle cx="156.8" cy="105.1" r="4.9"/> + <circle cx="146.2" cy="108.7" r="4.9"/> + <circle cx="137.3" cy="115.3" r="4.9"/> + <circle cx="131" cy="124.4" r="4.9"/> + <circle cx="127.9" cy="135.2" r="4.9"/> + <circle cx="128" cy="146.3" r="4.9"/> + <circle cx="130.2" cy="157.2" r="4.9"/> + <path d="m215 119.5-.5 6.5c-12.3-2-29.7-8.8-46-8.8-15 0-26.6 6-26.6 21.2 0 14.9 6.3 28.5 14.7 42.3l-8.7 4c-7.8-15-14.3-28-14.3-45.4 0-14.6 11.5-29 31.3-29 17.5 0 35.4 6 50.1 9.2"/> + </g> + <use xlink:href="#li-a" width="100%" height="100%" transform="matrix(-1 0 0 1 444 0)"/> + <path d="m222 53.1-5.2 9.7 5.2 9.6 5.1-9.6L222 53zm0 24.4-5.2 9.6 5.2 9.7 5-9.8zM203.6 75l8.1 5.1 8.1-5.1-8-5.2zm20.5 0 8.1 5.1 8.2-5.1-8.2-5.2z"/> + <circle cx="222" cy="75.1" r="3.9"/> + <circle cx="222" cy="100" r="10.5"/> + <path fill="none" stroke-width="1.5" d="M219.3 89.9v6.6a63 63 0 0 0-7.4.8m20.2 0a62 62 0 0 0-7.5-.8v-6.6m-12.8 12.7a61 61 0 0 1 10.2-.9q5.2 0 10 .9"/> + <path d="M211.8 117.7c-1 17-3 34.5-9.7 47.1l10.8-4.4c3.8-14.3 4.6-32.8 5.7-41.6zm20.4 0-6.9 1.1c1.2 8.8 2 27.3 5.7 41.6l10.8 4.4c-6.6-12.6-8.6-30-9.6-47.1"/> + <path d="M222 154.7c-13 0-22.5 6-23 21.6-3.2-5.6-16.5-23-29-20.7-7.4 1.4-14 11.7-12.8 23.4-6.2-17.6-24.1-20.5-37.3-10 11.7 9.5 16.9 37.8 26.7 50h150.7c9.8-12.2 15-40.5 26.7-50-13.1-10.5-31.1-7.6-37.2 10 1-11.7-5.5-22-13-23.4-12.4-2.3-25.7 15.1-28.9 20.7-.5-15.5-10-21.6-23-21.6z"/> + <g stroke-width="1.5"> + <path fill="#000001" d="M297.1 219c0 5.6-33.6 11.7-75.1 11.7s-75.2-6-75.2-11.7c0-5.5 33.7-8.5 75.2-8.5 41.4 0 75.1 3 75.1 8.5"/> + <circle cx="222" cy="114.4" r="3.5"/> + <circle cx="222" cy="122" r="3.7"/> + <circle cx="222" cy="130.2" r="4.1"/> + <circle cx="222" cy="139.3" r="4.7"/> + <circle cx="222" cy="149.4" r="5.1"/> + <path fill="#000001" stroke="none" d="M220 159.2q-1 0-1 1.4l.6 4.3c.2 1.5 1 1 1.3 0 .2-1.2.1-2 .2-4.1q-.2-1.6-1.2-1.6zm4 0q-1 0-1.1 1.6c0 2.1 0 2.9.2 4s1 1.6 1.3 0l.5-4.2c.2-1-.4-1.4-.9-1.4m-7.7.6a1 1 0 0 0-1 1l.4 3.8c.2 1.5 1.3 1 1.4 0q.2-1.3 0-3.9 0-.9-.6-1h-.2zm11.1 0q-.5 0-.7 1l.2 3.8c0 1 1.2 1.5 1.3 0 0-1.5.4-2.7.4-3.7q-.1-1-1-1.1zm-15.4 1.7q-1 .3-.8 1.3.5 2 .6 4c0 1.1.9.7 1 0l.1-4q-.1-1.5-1-1.3zm19.6 0q-.5.1-.6 1.3l.2 4c0 .7 1 1.1 1 0q0-2 .5-4 .1-1-.7-1.3zm-59 .2q-1 .1-.6 1.5c.6 1.4 1.3 2.2 1.9 3.6s1.4.5 1.1-.4l-1.4-3.7q-.5-1-1-1m98.8 0q-.6 0-1 1c-.9 1.9-1.2 2.8-1.5 3.7-.2 1 .6 1.7 1.2.4l1.8-3.6q.4-1.4-.5-1.5m-94.8 0q-.8.3-.5 1.3 1 1.8 1.8 3.8c.4 1.1 1.4.8 1-.2l-1-3.7q-.7-1.4-1.3-1.2m90.5 0q-.6.1-1 1.2c-.7 2-.8 2.6-1.1 3.7-.4 1 .6 1.3 1 .2l1.8-3.8q.3-1-.4-1.3zm-85.5 1q-1 .3-.6 1.9l1.6 3.7c.6 1.4 1.5 1.1 1.3.2l-1.2-4.5q-.5-1.5-1.1-1.3m80.8 0q-.7-.1-1.2 1.3-1 3.2-1.1 4.5c-.3 1 .7 1.2 1.2-.2q1-2 1.6-3.7.4-1.6-.5-1.9m-93.2.7c-.6 0-1 1-.7 1.7.5 1 .9 1.4 1.4 2.6.6 1.2 1.2.3 1-.5q-.5-1.2-.8-2.8-.3-1.1-1-1zm105.6 0q-.6-.1-1 1l-.7 2.8c-.2.8.4 1.7 1 .5l1.4-2.6c.3-.7-.2-1.6-.7-1.7m-67 2.8c-.7 0-1.3.8-1 1.5l1.1 3.7c.4 1.3 1.3.7 1.2-.2l-.5-4q-.3-1-.9-1zm28.4 0q-.6 0-.8 1l-.6 4c0 .9.9 1.5 1.2.2l1.2-3.7c.2-.7-.4-1.5-1-1.5m-14.2 1.2c-.8 0-.9 1-.9 1.7a12 12 0 0 1-2 6.4c-1 1.2-2.3.9-3.5.2l-3.3-2.2c-1.4-1-2.4-.4-.8 1.9 4.6 6.6 9.6 12.2 9.6 23q0 1.8.9 1.7c.9-.1.8-.4.8-1.8 0-10.7 5-16.3 9.6-23 1.6-2.2.6-2.8-.7-1.8l-3.3 2.2c-1.3.7-2.6 1-3.5-.2a12 12 0 0 1-2-6.4c-.1-.7-.2-1.7-1-1.7zm-35.3-1.6h-.2q-.4.1-.3 1l1.1 3.9c.3 1 1.4.7 1.2-.5l-.6-3.1q-.4-1.2-1.2-1.3m70.6 0q-.8 0-1.2 1.3c-.4 1.4-.4 1.8-.6 3-.3 1.3.9 1.5 1.1.6l1.2-4q0-.8-.4-.9zm-91.6.4q-1.1.2-.4 1.8c.6 1.2 1.7 2.6 2.2 3.5s1.4.2.8-.8-.8-2.3-1.6-3.8a1 1 0 0 0-1-.7m112.5 0q-.5 0-1 .7l-1.5 3.8c-.6 1 .2 1.6.7.8s1.6-2.3 2.2-3.5c.6-1 .2-1.8-.4-1.8M134 169.5c-.6 0-.8 1.2-.2 2l2.6 2.7c.8.8 1-.2.6-1l-1.8-2.7q-.7-1-1.2-1m175.9 0q-.5 0-1.1 1l-1.9 2.7c-.4.8-.2 1.8.7 1l2.6-2.7c.6-.8.4-2-.3-2m-170.8 1q-1 0-.5 1.3l1.9 3.8c.5 1 2 1.3 1.4-.2l-1.3-3.8q-.6-1-1.5-1zm165.8 0q-1 0-1.6 1.1l-1.2 3.8c-.6 1.5.9 1.2 1.4.2l1.8-3.8q.6-1.3-.4-1.3m-175.6.4c-.8 0-.8.7-.1 1.2l3 2.3c1.3 1 1.7 0 1-.8s-1.2-1.6-2.9-2.5zm185.3 0-1 .2c-1.6.9-2.3 1.7-3 2.5-.6.9-.1 1.8 1.1.8l3-2.3c.8-.5.7-1.2 0-1.2zm-109.6.7q-.8 0-.7 1.2l1 3.6c.2 1.1 1.5 1.1 1.3 0l-.7-3.9q-.2-.9-.8-1h-.1zm33.8 0q-.5 0-.8 1l-.7 3.9c-.2 1 1.1 1 1.3-.1l1-3.6q.2-1.1-.6-1.2zm-64-2q-.6.1-.2 1.7a26 26 0 0 1 1.6 9q-.5 1.6-1.9 1l-2.8-1.7c-.8-.5-1.7.1-.5 1.1 6 5 10.3 10.7 12 17.6.2 1.4 1.1 1.6.9 0-1.4-8.7-1.7-15.9.4-20.3.8-1.7 0-3.3-1.2-.6-.9 1.8-2.2 2.5-3.3 1a48 48 0 0 1-4-7.7q-.3-1-.8-1.1zm94.1 0q-.5 0-.8 1c-.7 2-2.9 6.2-4 7.8s-2.4.8-3.2-1c-1.3-2.7-2-1.1-1.3.6 2.1 4.4 1.8 11.6.5 20.3-.3 1.6.6 1.4 1 0a32 32 0 0 1 11.8-17.6c1.2-1 .3-1.6-.5-1l-2.8 1.5q-1.5.8-1.9-1c-.2-1.2.2-3.9 1.7-9q.2-1.3-.3-1.6zM144.4 172c-.5 0-1 .4-.7 1.2.4 1.4 1.2 2.8 1.5 3.6s1.2.5 1-.7l-.5-3.1q-.2-1-1.3-1m155.1 0q-1 0-1.3 1l-.4 3.1c-.2 1.2.7 1.6 1 .7.2-.8 1-2.2 1.4-3.6q.3-1.2-.7-1.2m-136.3-1.7c-.6-.1-.7 1.5-.2 2.2l2.8 3.1c.8 1 1.3.1.8-.7l-2.6-3.8q-.5-.8-.8-.8m117.5 0q-.3 0-.8.8l-2.6 3.8c-.5.8 0 1.7.9.7l2.7-3.1c.5-.7.5-2.3-.2-2.2m-132 4q-.7-.1-.5 1 .3 1.6.8 3.1c.3 1 1 .9 1-.1l-.3-3.2a1 1 0 0 0-1-.9zm146.5 0a1 1 0 0 0-1 .8l-.3 3.2c0 1 .8 1.2 1 .1l.9-3q.1-1.3-.6-1.2zm-133.4 1.4c-.6 0-1.1.7-.4 1.6 1.1 1.5 2.4 2.5 2.9 3s1.5.4.8-.7l-2.3-3.5q-.3-.6-1-.4m120 0q-.4 0-.6.4l-2.4 3.5c-.7 1.1.4 1.3.9.8s1.7-1.6 2.9-3.1c.7-1 .1-1.6-.5-1.6zm-140.7 4.1q-.7 0 0 1.3a17 17 0 0 1 3.3 6.4c.1 1.4-.5 1.4-1.1 1.4-1.9 0-2.8-1.4-4.4-1.8-1.7-.3-2 .5-.8 1.4a53 53 0 0 1 14.7 13.8c1 1.9 2.3 2.5 1.6.8a24 24 0 0 1-2.4-12.6c.5-2.8 1.2-4.6 1.1-6.2 0-1.5-1-1.4-1.3 0l-1 2.8c-.4.5-1.8.8-3-.9a48 48 0 0 0-5.6-5.8q-.5-.5-1-.6zm161.7 0q-.5 0-1.1.6a48 48 0 0 0-5.5 5.8c-1.3 1.7-2.7 1.4-3 1l-1-2.9c-.4-1.4-1.3-1.5-1.4 0 0 1.6.6 3.4 1.1 6.2s0 7.2-2.3 12.6c-.8 1.7.6 1 1.6-.8a53 53 0 0 1 14.6-13.8c1.2-.9 1-1.7-.7-1.4s-2.6 1.8-4.4 1.8c-.6 0-1.3 0-1.2-1.4s1.8-4.4 3.3-6.4q.8-1.4 0-1.3"/> + <path d="m150.1 212.7 2 6.1m2-7.3 1.8 6.2m2.6-7 1.2 6.4m2.8-7.1 1.3 6.3m3.8-6.8 1 6.4m4.5-6.4 1.1 6.3m4.3-8.1.8 6.4m4.2-6.1.8 6.4m4.1-7 .8 6.4m4-7 .5 6.5m4.8-6.5.4 6.5m4.4-6.8.3 6.5m4.9-6.8.3 6.4m5.7-6.6.3 6.5m79 .2-2 6.1m-2-7.3-1.7 6.2m-2.6-7-1.2 6.4m-2.8-7.1-1.3 6.3m-4-6.8-1 6.4m-4.4-6.4-1.1 6.4m-4.2-8.2-.8 6.4m-4.3-6.1-.8 6.4m-4-7-.9 6.4m-4-7-.5 6.5m-4.8-6.5-.4 6.5m-4.3-6.8-.3 6.5m-5-6.8-.2 6.4m-5.8-6.6-.2 6.5m-7.2-7v7.2"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/lk.svg b/apps/web/public/flags/lk.svg new file mode 100644 index 00000000..cbd660a5 --- /dev/null +++ b/apps/web/public/flags/lk.svg @@ -0,0 +1,22 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-lk" viewBox="0 0 640 480"> + <path fill="#ffb700" d="M0 0h640v480H0z"/> + <path fill="#ff5b00" d="m26.7 240 88-213.3h88v426.6h-88z"/> + <path fill="#005641" d="M26.7 26.7h88v426.6h-88z"/> + <path fill="#8d2029" d="M229.3 26.7H616v426.6H229.3z"/> + <path id="lk-a" fill="#ffb700" stroke="#000" stroke-width="1.1" d="M579.3 408.6s3.6 7.3 7.6 10.4c6 4.4 18 4 23.3 9.3 6.1 6.1-.5 14.2-.5 15l.4 4.2s-4.2 0-6 .3c-2.6.4-3.6 2.6-8.6 2.3-12.3-.8-11.8-12-12.5-21.5-.6-3.6-2-8.4-2.9-12-.7-3-.8-8-.8-8z"/> + <use xlink:href="#lk-a" width="100%" height="100%" transform="matrix(-1 0 0 1 845.3 0)"/> + <use xlink:href="#lk-a" width="100%" height="100%" transform="matrix(1 0 0 -1 0 480)"/> + <use xlink:href="#lk-a" width="100%" height="100%" transform="rotate(180 422.7 240)"/> + <g transform="translate(0 -76)"> + <use xlink:href="#lk-b" width="100%" height="100%" stroke="#000" stroke-width="5.6"/> + <g id="lk-b" fill="#ffb700"> + <path d="m363.5 415.8 2.3-1.4 1 1.4c1.3 1.8 5 1.7 7.4 0l1.9-1.5 1.6 1.4c2 1.9 5.8 1.9 8.3 0 1.7-1.2 2-1.3 3-.3.7.6 2.7 1.2 4.4 1.5 3.2.4 3.2.4 5-2.4 1.6-2.3 1.8-3.2 1.5-5.5l-.6-5.3c-.2-2.6-.1-2.6 3.6-4l5.4-2c1.5-.9 5.7-5.8 5.7-6.8 0-.2-1.6-.6-3.6-.8q-12-1.4-4.1-13c8.3-13 13.4-25.5 13.4-33.4q0-5.3.7-4c1.9 3.1-1.5 16.4-6.5 26l-2 3.8 1.9-.4c1-.3 7.4-3 14-6 18.2-8.2 24.4-9.8 36.2-9.3 9.9.4 14 2.3 21 9.6 3.7 4 7.3 6.7 13.8 10.8 13.8 8.6 14.4 9.4 15.1 19.6s.3 10.9-7.5 12.6q-10.2 2.3-12 9-1 3.4 4 .1l2.5-1.6 1.1 1.6c1.5 2.1 4.5 2.1 7 0l2-1.5 2 1.5c3 2.5 7 1.9 8.2-1.2q.3-.8 2 .7c2.3 2 8 2.8 8.6 1.2.2-.6-.2-2-1-3.2-3.3-5-4.4-7.3-4.4-10 0-3.8 1-5.7 5.4-8.7 5.2-3.8 6.8-8.6 2.8-8.6-2.4 0-4.9-2.2-6.5-5.7-3.2-7.2-2.5-15.2 2.3-28.6a58 58 0 0 0 5.4-25.2c0-7.4-.2-8.6-1.8-12.7a45 45 0 0 0-4.6-8.1l-2.8-3.7 3.5-3c10.8-8.9 8.6-23.5-4.4-29.1-4-1.8-5-1.9-12-1.9-4 0-10.5.6-14 1.3a98 98 0 0 1-14.2 1.2c-6.8 0-8-.2-10.6-1.6-2.7-1.4-3.2-2.1-3.7-5.5a2 2 0 0 0-1.1-1.5c-1-.3-5.2 3.4-5.8 5-.4.9-.6.8-1.5-.3a13 13 0 0 1-2-3.6q-1.6-4.9 4.2-7.6l3-1.4-1.8-1.1c-3.6-2.3-9.8-.7-12 3-.7 1-1.4 2-1.6 2s-1.4-1-2.6-2.3c-4.7-4.6-3.1-11.4 3.2-13.4 3.3-1.1 6.3-.3 6.9 2 1 3.3 3.8-1.1 3.3-5.2-.3-2.7-.3-2.8 1.6-2.8 2.6 0 8 3.4 9.8 6 2 3.1 1.8 8-.4 11.6l-1.7 2.8 2.3-.4c3.2-.7 6.4-2.7 8-5.2a12 12 0 0 0 .4-10.4c-1.5-2.7-1.3-3.1.9-2.2 3.6 1.5 5.6 3.2 7 6.1 1.4 2.6 1.5 3.2.8 6a17 17 0 0 1-2.2 4.8c-1.2 1.6-1.3 1.9-.3 1.9 1.8 0 5.4-1.7 6.7-3 .7-.8 1.7-2.5 2.2-4l1-2.5 1 2c1.5 2.7 4.5 5.2 8.1 6.8 3.9 1.6 5.5 1.7 3.5.2-1.4-1-4-8.5-3.1-9.2a51 51 0 0 1 11.7 9c5.7 5.1 9.3 6.8 14.5 6.8 6.7 0 10.6-5.8 7.6-11.3-1.7-3.2-5.6-3.7-8-1q-1.5 1.8-1 3.7c.4 1.6.3 1.8-1.2 1.8-2 0-5.8-2.5-12.6-8.2a102 102 0 0 0-32.1-18.7 70 70 0 0 0-24.3-1.3c-6.4 1.2-14 4.9-18.2 8.8-7.3 7-7.4 16.3-.3 24.8l2 2.4-1.3 2.2a9 9 0 0 0 .4 10.4c1 1.4 2 2.5 2.3 2.5q.3-.2.5-2 .3-4.1 3.4-5.2c1.8-.7 3-.3 11.2 3 8.7 3.4 23 3.6 38.2.6a43 43 0 0 1 20 .2c7.2 3 8.8 10.7 3.6 16.5-2.3 2.6-4.4 3.6-11.7 5.6a54 54 0 0 1-19.5 1.5c-10.8-.1-14.7.1-19 1-4.9 1-7.8 1.1-21.8.8l-16.3-.4 1.8 1.4 3.1 2.3c1.3.7 1.2.8-.6 1.5-1 .4-3.4.7-5.3.7h-3.3l-.4 2.8a10 10 0 0 0 0 4q.6 1.4-.8.8c-.7-.3-2.6-.8-4.3-1.1a27 27 0 0 1-5-1.6c-1.9-1-2.1-1-2.8.3-.6 1-6.2 5.2-7 5.2a27 27 0 0 0-2.2-7.5c-1-2.1-1.9-4.5-2.2-5.2q-.4-1.6-1-.3c-.3.5-.7 2-1 3.2a16 16 0 0 1-1.8 4.6l-1.5 2.2-1-1.9c-1-2-2.6-4.2-3.2-4.2q-.3 0-.7 1.5c-.5 1.6-4.4 6.3-5.4 6.3-.3 0-.6-1.3-.6-3 0-1.5-.3-2.9-.7-2.9q-.6.1-.7 1c0 1.2-3.3 5-4.5 5q-.8 0-1.7 1c-1.2 1.3-2.2 1.1-1.7-.4a9 9 0 0 0-.4-3.8l-1-3.2q-.2-.7-4 .5c-4 1.3-5.4 1-3.3-.6.8-.6 2-2.7 2.6-4.6.7-2 1.7-3.7 2.2-3.9q1.1-.4-.2 1.2a6 6 0 0 0-1.1 2.6c0 .5-.5 1.8-1 2.9s-1 2-.9 2.1 1.7-.5 3.5-1.3l3.2-1.6v1.4c0 .8.4 2.8.9 4.5l.9 3 2.2-1c2.2-1 4.3-4.6 4.3-7.5 0-1.4.8-1.2 1.2.3 0 .4.6 2.1 1 3.7l1 2.8 1.5-1.8c.9-1 1.9-3 2.3-4.3.8-2.4 2-3.5 2-1.7 0 1.2 3.4 5.8 4 5.4.4-.2 1-1.9 1.5-3.8 1-4 2.5-6.6 3.5-6q.6.4.3 1c-.2.2.6 2.8 1.8 5.6l2.6 6.3c.4 1 .8 1 3.3-1.3 1.5-1.4 3-2.9 3.1-3.4.3-.8.6-.7 2 .2a25 25 0 0 0 9.5 2.8c.2-.2.4-2 .4-4l.1-3.7 2 .4c1 .3 3.3.3 5 0l3-.4-2.7-2c-1.5-1-3-2.3-3.4-2.9s-1.7-1.2-3.2-1.3c-4.1-.4-11.4-4.4-11.4-6.4q.2-.4 2.2 1.4c2.8 2.5 6.6 4 10 4h2.4l-1.5-2a12 12 0 0 1-2-5.2c-.2-3-.5-3.4-3.6-5.5a35 35 0 0 1-5-4.3l-1.7-1.9-.9 2.3q-.8 2.1-1.3 2.3c-.2 0-1.2-.8-2-1.7a7 7 0 0 0-2-1.6c-.3 0-1 1.2-1.8 2.7l-1.4 2.7-1-1.5a24 24 0 0 0-3-3.4q-1.9-1.6-1.3-1.8c.4 0 1.7 1 3 2.3l2.2 2.3 1-1.7a6 6 0 0 0 .5-3.8q-.6-2.6.3-.7a16 16 0 0 0 3 3l2.2 1.8 1.5-2.7c1.5-2.8 1.5-2.8 2.1-1.1 1 2.1 7.5 7.5 13 10.6q1.5.8-1-5a13 13 0 0 1-.8-4c0-1.8-.5-2.6-2.8-4.4a11 11 0 0 1-5-8.4c-.3-1.7-.9-3.5-1.4-4.1q-.9-1.7-.6 2.6c.2 2.1-.1 4.7-.6 5.8l-.8 2-.6-1.7c-.4-.9-2-2.5-3.5-3.5s-2.6-2-2.4-2.2 1.8.7 3.5 2c2.7 2.1 3.2 2.3 3.6 1.4.4-1 0-5.6-.8-8.8-.4-1.6-.4-1.6 1.6.4q2 1.9 2.9 6.2c.8 3.8 1.2 4.5 4.7 7.6 2.1 1.9 4 3.3 4.1 3.2.2-.2.4-5 .6-10.8.4-11.1 0-13.8-2.7-17.2l-1.4-1.8 2.2-2.3a16 16 0 0 0 4.7-8.8l.4-2.7-2.4 2.3c-2 1.9-3 2.3-5.3 2.3s-3.2-.4-4.7-2a20 20 0 0 0-8.3-4.8q-1.7-.6-1.6.6c0 .6-.6 2.2-1.4 3.7l-1.4 2.6-3-3c-1.9-1.7-4-3.2-5.7-3.6-4.1-1-4.3-1-4.3 2.1q-.1 7.1-5.6 2.5c-2.8-2.4-5-3-10.3-2.3l-4 .4.7 1.8c.6 1.5.5 2.2-.8 3.9-2.1 2.8-4.8 4-9 4-2 0-4.4.4-5.4.9s-3.6 1-5.7 1.2c-2 .2-4.3.6-5 .8-1 .4-1 0-.7-2.2.5-3.4-2-6-5.7-6-4.9 0-7.1 4.4-5.2 10.2l1 3.8a23 23 0 0 0 5.2 6.6c2.6 2.6 5 5.3 5.4 6a9 9 0 0 0 3 2.5l2.2 1.2-.3-2.4q-.5-4 1.6-1.1c.5.6 1.8 1.7 2.8 2.3 1.7 1 2 1 2 .2 0-.6.3-1.9.7-2.9l.7-1.8 1.3 2.5c.7 1.4 3 4.5 5.1 7 4.1 4.7 6.7 10 5.4 11.2-.6.5-2 .5-5-.1-2.2-.4-5-.7-6.2-.5-2.3.3-2.5 0-1-1.8 1.5-2 1.2-2.3-1.8-2.3-3.5 0-12.2-1.7-15.6-3-3.2-1.3-4-1-5 2.1l-1.7 5.6-1 3 3.6-.3a37 37 0 0 0 5.5-1 6 6 0 0 1 2.2-.3c.2.1-.3 1.3-1 2.7l-1.4 2.4 2.2-.4c1.2-.3 3-.9 4-1.4 1.8-.8 2-.8 3.4 1.5q2.7 4 3.3-.3.4-4.6 3.2 1.4c1.8 3.8 3.6 5.2 4 3q.3-1.4 2.1-2.8 3.3-2.2 4.7 1.3c1 2.5-1.2 5-7.4 8.8a43 43 0 0 0-21.7 31c-1.9 11.8 4 24 15.6 32.9 5.6 4.2 14.5 8.6 13.9 7-2.4-7.3-2.3-21 .1-23.3.4-.4.3 1-.3 3.1-2 7.9-1 14.1 4 28.7 4.4 13.2 3.8 18.9-2.6 22.6-2 1.2-3.3 1.4-8.8 1.3-6 0-6.7 0-8.6 1.6a16 16 0 0 0-4.3 8.6q0 1.9 4-.4z"/> + <path d="m460.5 415.5 2.5-1.6 1.7 1.6c2.2 2.1 4.9 2 7-.1q1.6-1.6 1.9-1.5l.9 1.6q.7 1.3 3.6 1.5c2.3.1 3 0 4-1.4l1-1.7 2.5 1.6c6.8 4.4 10.4-.2 7.3-9.3-1.5-4.6-.6-7.2 4.3-13 2.1-2.5 3.8-5.2 3.8-6 0-1.1-.4-1.3-3.2-1.2-2.6 0-3.4-.3-4.8-1.8q-3.4-3.8.4-8.6l2-2.5-3.6-2.4a60 60 0 0 1-8-7.1 26 26 0 0 0-17.5-9l-4.7-.5v3.6c0 4.5 2.2 8.9 8 16.3 6.6 8.4 7 9.7 7.3 20.7l.3 9.3-2 1.8c-1.7 1.6-2.4 1.9-8 2.2-5.3.3-6.5.6-8 2a9 9 0 0 0-3.4 5.3c-.3 1.5-.2 1.8.9 1.8.7 0 2.4-.7 3.8-1.6m-142.2-24a6 6 0 0 0 1-3c0-1 .6-1.4 3.2-1.8l3.1-.4-2-1.7c-2.5-2-2.8-3.5-.6-3.5s5.8-2.2 6.4-3.9q.3-1.4-.4-2.3c-1.2-1.4-3.5-1.2-3.9.4-.5 1.6-1.2 1.6-3 0-2.5-2.5-2.6-7.6 0-10.6 1.1-1.4 1.1-1.4-.4-2.9-1.6-1.6-2.8-4.6-2-5.4.2-.2 1.5 0 2.8.5 2 .6 2.7.6 3.5 0 2.3-1.9-.2-4.3-4-3.7q-2.2.4-2.4-.8c-.2-.6-1.5-1.4-3-1.8-2.7-.7-2.7-.7-2.7 1.2q0 3-3.4 1.1c-1.8-1-3.5-.2-3.5 1.7q0 2.7 5 2.4c2.4-.1 2.5 1.7.2 4.3l-1.7 2 1.3 1.9c2 2.8 1.8 7.5-.3 9.9l-1.7 1.8-1.1-1.5c-1.6-2-3.7-1.9-4.3.3-.3 1.4 0 2 1.8 3.6 1.2 1 3 1.8 3.9 1.8 2.3 0 2.2 1.9-.2 3.7l-2 1.5 3 .4c1.6.3 3 .7 3 1 0 1.3 2 5.2 2.6 5.2q.8-.2 1.8-1.5z"/> + <path d="M356.5 374.9c2.7-1 8.5-6 8.5-7.1 0-.4-1.6-2.2-3.6-4-4-3.6-8.5-9.9-9.7-13.5-.6-2-3.5-5.2-11.7-13.2l-10.9-10.5-3.1.8c-1.8.4-3.9.8-4.7.8-1.5 0-1.5 0 .5 1.6l2 1.6 3-1.6c2.7-1.6 2.8-1.6 3.1-.3.2.7-.2 2-1 2.9-.7.9-1.1 2-1 2.3q.3.6-1.5 1.6c-2 1-3.5 4.3-1.9 4.3 1.5 0 4.7-4 4.3-5.3q-.2-1.2.2-1.6c1.3-.7 1.2 2.4 0 4-.8.8-1.2 1.8-1 2.2q.2.6-1.6 1.6c-2 1-3.5 4.3-1.9 4.3s4.7-3.8 4.4-5.2q-.3-1.2.1-1.7c.9-.4 1.3 2 .6 3.2a2 2 0 0 0 0 2.2c.7 1.3 0 3.7-1.3 4.5q-.8.5 1.2 2c2 1.4 2 1.6 2 8 0 5.4.2 6.8 1.2 7.7q1.3 1.5 1.2 0c-.1-1.5 2-2.4 3.5-2.4.5 0 3.4 2.5 6.5 5.5s6.4 5.7 7.3 5.8l2.2.4c.3 0 1.7-.3 3.1-1zm-33.3-26.1c0-1.7-3.6-3.6-7.9-4-3.5-.5-3.5-.4-3.5 1.3 0 1.4.5 2 3 3 3.8 1.7 8.4 1.5 8.4-.3"/> + <path d="M327.1 348.6c1.8-1.6 2.6-3.4 1.5-3.4s-4.4 2.8-4.4 4c0 1.6.6 1.5 3-.6zm-3.7-5.1q.3-1.3-2.3-2.5c-4-1.7-8.6-2.6-9.7-1.7-2.1 1.7-.7 3.9 2.6 4.3 1.4.1 3.2.5 4.1.9 2.6 1 5 .5 5.3-1m0-5.3c.2-1.3-.7-1.8-8-4.4-5.5-2-7.9-1-6.1 2.3.6 1.1 1.6 1.6 3.9 2 1.7.2 4 .7 5.1 1.1q4.6 1.5 5-1zm3.6-4.9c1.1-1.1 2-2.4 2-3 0-1.5-4.3 1.3-4.9 3.3q-.8 3.5 3-.3zm-3.6-.3q.3-2.4-7.6-4.1-5.8-1.3-5.3 1.4c.2 1 1.5 1.7 5 2.8 5.9 1.8 7.6 1.8 7.9-.1m5-7.4c6.8-3 7.3-10.5 1-12.5q-3.8-1.2-5.2 1.4c-.8 1.4-.3 3.8.7 3.8q.6.1.7 1c0 2.7-10.2 3.8-14.4 1.7-1.5-.7-2-2.7-.9-2.7 1 0 1.6-2 1.1-3.3q-1-3-5.3-1.8c-6.3 1.6-6.1 9 .3 12a34 34 0 0 0 22 .4"/> + <path d="M324.3 319.8q.5-.7-.4-1.4-2-1.8.2-4.7c1.2-1.4 1.3-3.6 1.7-25.1.7-37.1 3.5-65 7.1-71.8 1.5-2.6 1.3-2.6-2.5 0a36 36 0 0 0-11.7 13.6c-6.2 11.5-8.3 27-8.3 60.2 0 18.8.1 21.3 1.2 23 1 1.8 1 2.4.4 4.2-.5 1.1-.7 2.3-.5 2.5 1.4 1.3 11.4 1 12.8-.5m56.1-35.4c.3-.3-.2-2-1-3.6-1.2-2.6-1.7-3-3.4-3a65 65 0 0 1-23-6.4c-5.1-2.3-7-2.8-7.5-2.2-1.6 1.5 1 5 5 6.9a64 64 0 0 0 18.3 3.7c2.7 0 2.8 0 1.2 2.3l-1 1.6h3l5 .6c3 .7 3 .7 3.4.1"/> + <path fill="#000001" d="M412 301.1c0-1-2.9-3.5-5.7-5.2-2.3-1.3-2.7-1.4-2.7-.3 0 1.6-1.4 5.7-2 5.7q-.6-.2-1-1.7c-.3-1-1.4-3-2.5-4.3l-2-2.5-1.4 2.3c-1.4 2.2-3.9 4.3-5 4.3-.2 0-.3-1.2 0-2.5q.2-2.6-.5-3t-.8.2c0 .8-3.4 4.6-4 4.6q-.6-.1-1-2.4l-.8-4.8q-.2-1.7 1 2l1.6 4.1 1.6-2.5a11 11 0 0 0 1.6-3.4q0-.8.7-.5c.4.2.9 1.9 1.1 3.7l.5 3.4 1.8-2 2.6-3.2c.7-1.2.8-1.2 2.3 0 .8.8 2.1 2.5 2.9 3.9s1.5 2.4 1.6 2.3l.6-3.2.4-3c.1-.5 5.4 3 7.4 4.7 1.2 1.1 2.4 1.9 2.6 1.7s.4-1.8.4-3.7c0-2.8-.3-3.6-2-5.1-2-1.8-2-1.8-2.8-.5-1 1.7-2.1 1.7-2.1 0 0-1.2-3.8-5.9-4.7-5.9q-.6.2-1.8 2.3c-1.2 2.1-1.5 2.3-1.7 2.3-1 0-6.3-6-6.3-7q0-1.3 1.3.8a21 21 0 0 0 3.1 3.6c2 1.8 2.8 1.4 3.6-2.1q.5-1.6 1-1.8c.8 0 5.4 4.9 6 6.5l.7 1.6.5-1.8q.9-3.2 2.3-.2c.4.8 2.4 2.6 4.4 3.8l3.7 2.4.7-2.4q.8-2 1.2-1.6c.4.5-.6 4.5-1.3 5.3 0 .1-1.3-.6-2.6-1.5l-2.5-1.8v3.2c0 1.7-.2 3.8-.4 4.6-.5 1.6-1.7 2-1.7.6zm-18.5-25.4c-4.4-3.6-5-4.4-5-6.2l.1-1.8.3 1.7c.2 1 1.4 2.6 2.8 3.8l2.6 2 1.5-1.8c.9-1 1.6-2.2 1.6-2.6 0-1.2.2-1.1 3.2 1.5 2.6 2.3 2.7 2.3 3 .8.3-.8.2-2.4 0-3.5q-1.5-4.4.5-1.6l2.4 2.8c1 1.1 1.1 1.1 1.5-.3.3-.9.5-2.4.5-3.4v-1.9l2.3 2.7c2.3 2.6 2.5 2.7 3.1 1.4.5-.7.8-2.4.8-3.7q0-2.6.6-1.6c.8 1.2.3 4.2-1.1 6.8l-1 2-1.3-2.1c-1.7-2.6-2.3-2.6-3.3.2q-1.4 4-2.7.8c-.6-1.3-.8-1.1-1.2 1.7l-.5 3-3-2.3-3-2.3-1.5 1.5c-.7.9-1.3 2-1.3 2.4q-.1 1.5-1.9 0m39-13.6c-1.5-1.4-2.6-2.8-2.4-3q.5-.5.6-.2l3 3c3.4 3.6 2.7 3.7-1.1.2zm-52-5.4c-1.4-2-1.3-3.2.5-5.4 1.2-1.5 1.8-1.7 4-1.4 1.5.1 4.6 1.4 6.9 2.8a21 21 0 0 0 11 3l-1.7-2.8q-3.4-4.8.4-1.7c2.6 2.1 5.7 2.7 12.7 2.5l3.4-.1-2-2c-2.7-2.7-1.9-3 1.2-.3 2.8 2.5 2.7 2.7-3.4 3.3a23 23 0 0 1-7.6-.5c-3.4-1-3.6-.9-2.9.2q.7 1.1 1.3 1.2t.7.8c0 1.3-7.4.1-11-1.6-8-4.1-9-4.5-11-3.9a4 4 0 0 0-2.4 2.3c-1.3 3.3 3.4 5.9 5.3 3 .6-.9.5-1.4-.5-2.5q-2.1-2 .6-1c1.3.5 1.4 3.6.2 4.8-1.3 1.3-4.5 1-5.7-.7"/> + <path fill="#000001" d="M412.4 248.6c-1-1-.2-1.2 4.3-1.3 5.6-.1 9-1 13-3.6 3.2-2 4.1-1.6 1 .5-2.7 2-7 3.4-11.3 3.8l-5.1.7q-1.4.3-2-.1z"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/lr.svg b/apps/web/public/flags/lr.svg new file mode 100644 index 00000000..e482ab9d --- /dev/null +++ b/apps/web/public/flags/lr.svg @@ -0,0 +1,14 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-lr" viewBox="0 0 640 480"> + <defs> + <clipPath id="lr-a"> + <path fill-opacity=".7" d="M0 0h682.7v512H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#lr-a)" transform="scale(.9375)"> + <path fill="#fff" d="M0 0h767.9v512H0z"/> + <path fill="#006" d="M0 0h232.7v232.8H0z"/> + <path fill="#c00" d="M0 464.9h767.9V512H0z"/> + <path fill="#c00" d="M0 465.4h767.9V512H0zm0-92.9h767.9v46.2H0zm0-93.2h766V326H0zM232.7 0h535.1v46.5H232.7zm0 186h535.1v46.8H232.7zm0-92.7h535.1v46.5H232.7z"/> + <path fill="#fff" d="m166.3 177.5-50.7-31-50.4 31.3 18.7-50.9-50.3-31.4 62.3-.4 19.3-50.7L135 95h62.3l-50.1 31.7z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ls.svg b/apps/web/public/flags/ls.svg new file mode 100644 index 00000000..a7c01a98 --- /dev/null +++ b/apps/web/public/flags/ls.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ls" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#009543" d="M0 336h640v144H0z"/> + <path fill="#00209f" d="M0 0h640v144H0z"/> + <path stroke="#000" stroke-width="1.6" d="M319.6 153c-2.7 0-5.4 3-5.4 3l.3 32.4-10.3 10.7h8.3v18.5l-49 66-7.2-2.6-12.7 27s31.3 19.6 76.7 19c49.8-.5 76.9-19.9 76.9-19.9l-13-26.6-6.5 2.8-49.6-65.6v-19.1h8.2L325.1 188v-32.2s-2.7-3-5.5-2.9z"/> + <path fill="none" stroke="#000" stroke-width="8" d="M336.7 230.4h-33.9s-12.2-25.9-10.3-44c2-18.4 12.6-27.1 26.6-27.3 16.6-.1 25.2 8.1 27.8 26.6 2.6 18.3-10.2 44.7-10.2 44.7z"/> + <path fill="#fff" d="M260.5 292.1c-.6.7-4.7 8.9-4.7 8.9l7-1.5zm4 10.5-7.4 2.4 8.9 3.5zm3.3-10.3 3.7 10.9 9-2.6-2.3-5.2zm5.8 14.8 1.2 4.4 12 3-4.8-10.2zm13.2-9.3 4.3 10.2 9-3.5-3-4.5zm6 13.9 1.4 3.8 14 2-5.9-9.2-9.6 3.4zm13.4-11 5.2 9.1 13-4.8-1.4-3.5-16.8-.7zm7.6 12.4 2.7 4.8 16.2-.5-6-9-13 4.7zm17.1-12 4.4 7.6 10.4-5-2.8-4zm17 5.8-10.3 5.1 2.7 4.5 13.8-2.2zm3.3-8 5.3 6.7 8.7-6.9-3-3zm15.9 3.5-8.3 6.3 2.2 3.9 11.4-3zm11.4-13 2 2.9-5.7 8.5-5.9-7.6zm3.9 7.3 3.5 7-7 2.4-.6-3.3 4-6z"/> +</svg> diff --git a/apps/web/public/flags/lt.svg b/apps/web/public/flags/lt.svg new file mode 100644 index 00000000..90ec5d24 --- /dev/null +++ b/apps/web/public/flags/lt.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-lt" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt" transform="scale(.64143 .96773)"> + <rect width="1063" height="708.7" fill="#006a44" rx="0" ry="0" transform="scale(.93865 .69686)"/> + <rect width="1063" height="236.2" y="475.6" fill="#c1272d" rx="0" ry="0" transform="scale(.93865 .69686)"/> + <path fill="#fdb913" d="M0 0h997.8v164.6H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/lu.svg b/apps/web/public/flags/lu.svg new file mode 100644 index 00000000..cc122068 --- /dev/null +++ b/apps/web/public/flags/lu.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-lu" viewBox="0 0 640 480"> + <path fill="#ed2939" d="M0 0h640v160H0z"/> + <path fill="#fff" d="M0 160h640v160H0z"/> + <path fill="#00a1de" d="M0 320h640v160H0z"/> +</svg> diff --git a/apps/web/public/flags/lv.svg b/apps/web/public/flags/lv.svg new file mode 100644 index 00000000..6a9e75ec --- /dev/null +++ b/apps/web/public/flags/lv.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-lv" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#981e32" d="M0 0h640v192H0zm0 288h640v192H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ly.svg b/apps/web/public/flags/ly.svg new file mode 100644 index 00000000..1eaa51e4 --- /dev/null +++ b/apps/web/public/flags/ly.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ly" viewBox="0 0 640 480"> + <defs> + <clipPath id="ly-a"> + <path d="M166.7-20h666.6v500H166.7z"/> + </clipPath> + </defs> + <g clip-path="url(#ly-a)" transform="matrix(.96 0 0 .96 -160 19.2)"> + <path fill="#239e46" d="M0-20h1000v500H0z"/> + <path fill="#000001" d="M0-20h1000v375H0z"/> + <path fill="#e70013" d="M0-20h1000v125H0z"/> + <path fill="#fff" d="M544.2 185.8a54.3 54.3 0 1 0 0 88.4 62.5 62.5 0 1 1 0-88.4M530.4 230l84.1-27.3-52 71.5v-88.4l52 71.5z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ma.svg b/apps/web/public/flags/ma.svg new file mode 100644 index 00000000..7ce56eff --- /dev/null +++ b/apps/web/public/flags/ma.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ma" viewBox="0 0 640 480"> + <path fill="#c1272d" d="M640 0H0v480h640z"/> + <path fill="none" stroke="#006233" stroke-width="11.7" d="M320 179.4 284.4 289l93.2-67.6H262.4l93.2 67.6z"/> +</svg> diff --git a/apps/web/public/flags/mc.svg b/apps/web/public/flags/mc.svg new file mode 100644 index 00000000..9cb6c9e8 --- /dev/null +++ b/apps/web/public/flags/mc.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-mc" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#f31830" d="M0 0h640v240H0z"/> + <path fill="#fff" d="M0 240h640v240H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/md.svg b/apps/web/public/flags/md.svg new file mode 100644 index 00000000..e9ba506a --- /dev/null +++ b/apps/web/public/flags/md.svg @@ -0,0 +1,70 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-md" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#00319c" d="M0 0h213.3v480H0z"/> + <path fill="#ffde00" d="M213.3 0h213.4v480H213.3z"/> + <path fill="#de2110" d="M426.7 0H640v480H426.7z"/> + </g> + <path fill="#ff1900" fill-rule="evenodd" stroke="#000" stroke-width=".7" d="m360.4 320.4 24.2 35c1.4 2 2.7 3.9.7 5.2s-1.4 6.4 0 8.4c2.7 3.9 6 4.5 8 3.2l18.4-11.6c2-1.2 2.7-4.5 0-8.4-1.5-2-6-4.5-8-3.2-2.1 1.3-3.5-.7-4.8-2.6l-24.3-35"/> + <path fill="#a77b3b" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M177.2 696.3c0 24.4-9.6 44.3-21.3 44.3s-21.3-19.9-21.3-44.3S144.3 652 156 652s21.3 19.8 21.3 44.3z" transform="matrix(.52728 -.42386 .44358 .50386 -32.4 20)"/> + <path fill="#ff1900" fill-rule="evenodd" stroke="#000" stroke-width=".7" d="m262 306.1-21.5 36.7c-1.2 2-2.4 4-4.5 3-2.1-1.2-6.6 1.7-7.8 3.8-2.4 4-1.5 7.2.7 8.4l19.2 10.2c2 1.1 5.4.2 7.8-3.8 1.1-2.2 1.4-7.3-.7-8.4s-1-3.2.3-5.2l21.4-36.7"/> + <path fill="#a77b3b" fill-rule="evenodd" stroke="#000" stroke-width="1.7" d="M331.2 280.6h-19.6c-.6.6-6.2 35.6-12.2 49-7.3 16.3-29.2 30.7-29.2 30.7s13.1 4 17 6.6c1-.3 22-4.7 24.4-30.3 2.4 25.6-14.6 37.3-14.6 37.3s24.4 7 24.4 23.3c0-16.3 24.4-23.3 24.4-23.3s-12.2-11.7-14.7-37.3c5 25.6 23.5 30 24.5 30.3 3.9-2.6 17-6.6 17-6.6s-21.9-14.4-29.2-30.7c-6-13.4-11.6-48.4-12.2-49zm-83-116.7 36.6 11.7c12.1 0 24.4-11.7 24.4-23.4.4-26-9.8-35-12.2-35l4.8-4.6-7.3-7s2.5-12.1 26.9-11.7 24.4 11.7 24.4 23.3-12.2 11.7-12.2 35c0 11.7 12.2 23.4 24.4 23.4l36.6-11.7v116.7H248.1z"/> + <g fill="none" stroke="#000"> + <path stroke-width=".5" d="m302.2 292.2 14.6 15 14.7-15 14.6 15 29.3-15 14.3 15.8 15-15.8 21.6 15.8 22.3-15.8 14.6 15 14.7-15" transform="matrix(.16672 0 0 .46773 253.9 31.9)"/> + <path stroke-width=".2" d="m432.3 435.8-7.1 39m10.6-39v39m7.1-39v39m7.1-39 3.5 39m3.6-39 3.5 39" transform="matrix(.68905 0 0 .65843 16.2 -144)"/> + </g> + <g stroke="#000" stroke-width="2.5"> + <path fill="#a77b3b" fill-rule="evenodd" d="M318.9 361.4c35.4 17.7 35.4 53.2 35.4 70.9-1.2 16.1 0 354.3 0 354.3s-2.3-20-17.7-35.4L319 733.5l-17.7-17.7c-13-11.8-17.7-35.5-17.7-53.2v-248s0-17.8 35.4-53.2z" transform="matrix(-.68905 0 0 .65843 443.4 -144)"/> + <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(-.68905 0 0 .65843 443.4 -237.3)"/> + <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(-.68905 0 0 -.65843 443.4 530.2)"/> + <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(-.68905 0 0 .65843 443.4 -190.7)"/> + <path fill="none" d="m301.4 557-.2 158.8" transform="matrix(-.68905 0 0 1.24911 443.4 -566.8)"/> + <path fill="none" d="m301.4 539.3-.2 176.5" transform="matrix(-.68905 0 0 1.12111 431.4 -464)"/> + <path fill="none" d="m301.4 539.3-.2 176.5" transform="matrix(-.68905 0 0 1.2559 419.2 -548.3)"/> + </g> + <g stroke="#000" stroke-width="2.5"> + <path fill="#a77b3b" fill-rule="evenodd" d="M318.9 361.4c35.4 17.7 35.4 53.2 35.4 70.9-1.2 16.1 0 354.3 0 354.3s-2.3-20-17.7-35.4L319 733.5l-17.7-17.7c-13-11.8-17.7-35.5-17.7-53.2v-248s0-17.8 35.4-53.2z" transform="matrix(.68905 0 0 .65843 199.3 -144)"/> + <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(.68905 0 0 .65843 199.3 -237.3)"/> + <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(.68905 0 0 -.65843 199.3 530.2)"/> + <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(.68905 0 0 .65843 199.3 -190.7)"/> + <path fill="none" d="m301.4 557-.2 158.8" transform="matrix(.68905 0 0 1.24911 199.3 -566.8)"/> + <path fill="none" d="m301.4 539.3-.2 176.5" transform="matrix(.68905 0 0 1.12111 211.4 -464)"/> + <path fill="none" d="m301.4 539.3-.2 176.5" transform="matrix(.68905 0 0 1.2559 223.6 -548.3)"/> + </g> + <path fill="#a77b3b" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M177.2 696.3c0 24.4-9.6 44.3-21.3 44.3s-21.3-19.9-21.3-44.3S144.3 652 156 652s21.3 19.8 21.3 44.3z" transform="matrix(.63605 .25323 -.26502 .60778 361.1 -165.2)"/> + <path fill="red" fill-rule="evenodd" d="M248.1 175.6h146.5v70H248.1z"/> + <path fill="#564dff" fill-rule="evenodd" d="M248.1 245.6h146.5v35c0 23.3-36.6 23.3-73.2 46.6C284.7 304 248 304 248 280.6z"/> + <path fill="none" stroke="#ff0" stroke-width="2" d="M336.6 485.4h212.6V645c0 35.4-53.1 35.4-106.3 70.9-53.1-35.5-106.3-35.5-106.3-71V485.5z" transform="matrix(.68905 0 0 .65843 16.2 -144)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M385.6 129.9S335 185.4 335 238.5s53.1 70.9 53.1 70.9-17.7 0-17.7 70.8c0 35.5 53.1 17.8 53.1 35.5s-.7 60.5 0 88.6c0 17.7-35.4 0-35.4 17.7 0 8.8 26.6 53.1 53.2 53.1s53.1-44.3 53.1-53.1c0-17.7-35.4 0-35.4-17.7v-88.6c0-17.7 53.1 0 53.1-35.5 0-70.8-17.7-70.8-17.7-70.8s53.2-17.7 53.2-70.9-50.7-108.6-50.7-108.6 28.5 73.2 28.5 108.6c0 17.7-13.3 53.2-48.7 53.2 0 0-9-17.8-17.7 0 0 0-10.2-17.8-17.7 0-2.6 6-7.2-17.8-17.8 0-4.4 4.7-8-17.8-17.7 0-17.7 0-53.1-17.8-53.1-53.2s32.9-108.6 32.9-108.6z" transform="matrix(.48234 0 0 .30917 108.5 140.1)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M382.7 248c-3.6 3.6 4.6 61.3 7 63.8 3.6 3.5 24.9 3.5 28.4 0 2.5-2.5 0-56.7-3.5-60.2-3.6-3.6-29.4-6-32-3.6z" transform="matrix(.48234 0 0 .30917 110.4 201.6)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M382.7 248c-3.6 3.6 4.6 61.3 7 63.8 3.6 3.5 24.9 3.5 28.4 0 2.5-2.5 0-56.7-3.5-60.2-3.6-3.6-29.4-6-32-3.6z" transform="matrix(-.48234 0 0 .30917 532.4 201.6)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M414.6 228.5a16 16 0 1 1-32 0 16 16 0 0 1 32 0z" transform="matrix(.5544 0 0 .38542 82.7 183.7)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M414.6 228.5a16 16 0 1 1-32 0 16 16 0 0 1 32 0z" transform="matrix(.55441 0 0 .38543 118 183.7)"/> + <path fill-rule="evenodd" d="M336.8 307.5c0 1.5-2 2.7-4.3 2.7-2.4 0-4.3-1.2-4.3-2.7s2-2.7 4.3-2.7 4.3 1.2 4.3 2.7m-22.3 0c0 1.5-1.9 2.7-4.2 2.7s-4.3-1.2-4.3-2.7 1.9-2.7 4.3-2.7c2.3 0 4.2 1.2 4.2 2.7"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="m439.4 550-7.8-10.3-12.8 1.7 1.8-12.8-10.3-7.7 10.3-7.8-1.8-12.8 12.8 1.8 7.8-10.3 7.8 10.3 12.7-1.8-1.7 12.8 10.2 7.8-10.2 7.8 1.7 12.7-12.8-1.7z" transform="matrix(.67225 0 0 .64237 26 -133.3)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="m496 591.7 21.3 10.7 21.3-10.7-21.3-10.6z" transform="matrix(.68905 0 0 .65843 16.2 -144)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="m496 591.7 21.3 10.7 21.3-10.7-21.3-10.6z" transform="matrix(.68905 0 0 .65843 -88.8 -144)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M535 659c-3.5-7-14.1-10.6-21.2-10.6s-14.2 0-21.3 10.7c0-14.2 10.5-21.3 21.3-21.3a23 23 0 0 1 21.2 21.3z" transform="matrix(.59753 -.3279 .34316 .57097 -165.2 86.5)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M386.2 652a7 7 0 1 1-14.1 0 7 7 0 0 1 14.1 0z" transform="matrix(.68905 0 0 .65843 13.7 -155.7)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M386.2 652a7 7 0 1 1-14.1 0 7 7 0 0 1 14.1 0z" transform="matrix(.68905 0 0 .65843 8.8 -139.4)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M386.2 652a7 7 0 1 1-14.1 0 7 7 0 0 1 14.1 0z" transform="matrix(.68905 0 0 .65843 6.4 -148.7)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M386.2 652a7 7 0 1 1-14.1 0 7 7 0 0 1 14.1 0z" transform="matrix(.68905 0 0 .65843 18.6 -139.4)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M386.2 652a7 7 0 1 1-14.1 0 7 7 0 0 1 14.1 0z" transform="matrix(.68905 0 0 .65843 21 -148.7)"/> + <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M386.2 652a7 7 0 1 1-14.1 0 7 7 0 0 1 14.1 0z" transform="matrix(.68905 0 0 .65843 13.7 -146.4)"/> + <g fill-rule="evenodd"> + <path fill="#da4500" d="M297.8 120.4c-12.4 0-14 2-19.6 3.9 0-5.4 13.8-11.7 26-11.7 0 3.9-3.2 7.8-6.4 7.8"/> + <path fill="#cac9c7" d="M316.5 108c0 2.5-2.2 4.6-4.9 4.6s-4.9-2.1-4.9-4.7 2.2-4.6 4.9-4.6 4.9 2 4.9 4.6z"/> + <path fill="#ff0" stroke="#000" stroke-width="1.1" d="M361.4 357.9v10.6h17.7v53.1h10.7v-53.1h17.7v-10.6h-17.7v-14.2H379v14.2z" transform="matrix(.68905 0 0 .65843 16.2 -144)"/> + <path fill="#da4500" d="M304.3 112.6a79 79 0 0 0-29.3 3.9c0-7.2 8.4-15.6 22.8-15.6 3.2 0 6.5 7.8 6.5 11.7"/> + </g> + <g fill-rule="evenodd"> + <path fill="#008500" stroke="#000" stroke-width=".7" d="M67.3 613c-14.2-14.2-16.6-21.4 3.6-10.1l283.7 247.5-3.4 7L67.4 613z" transform="matrix(.38821 .29653 -.14073 .23692 237.4 71.3)"/> + <path fill="#008f00" d="M228.4 330.4c.8-10.6-18.6-22-19.4-21.3-.7.8 1.2 7 4.9 10.1-7-3.6-14.4-5.8-14.6-4.3-.6 2.2 11 7.2 12 9.2 0 1.4-8.6 1.2-8.4 2.6s24.3 13.6 25.5 3.7M209 299.6c.8-10.6-18.6-22-19.3-21.3-.8.7 1.1 6.9 4.8 10.1-7-3.6-14.4-5.9-14.6-4.3-.5 2.1 11 7.2 12 9.2.1 1.4-8.5 1.2-8.4 2.6.2 1.4 24.3 13.5 25.5 3.7m-14.8-28c.8-10.6-18.6-22-19.4-21.3s1.2 6.9 4.9 10.1c-7-3.6-14.4-5.9-14.6-4.3-.5 2.1 11 7.2 12 9.2 0 1.4-8.5 1.2-8.4 2.6.2 1.4 24.3 13.6 25.5 3.7m-14.6-30.4c.7-10.5-18.6-22-19.4-21.3-.8.8 1.2 7 4.8 10.2-7-3.7-14.4-5.9-14.5-4.3-.6 2.1 11 7.2 11.9 9.1.1 1.4-8.5 1.3-8.3 2.7s24.2 13.5 25.5 3.6"/> + <path fill="#008f00" d="M184.6 239.9c9.4-5.7 7.5-27.4 6.5-27.6-1.1-.1-5.2 5-5.7 9.8-1.1-7.6-3.6-14.6-5-13.8-2.1.8.4 12.7-.7 14.6-1 1-6-5.8-7-4.8-1.2 1 2.8 26.7 12 21.8zm13.6 26.6c10.8-2.4 16.7-23.4 15.7-23.9s-6.6 3-8.7 7.4c1.6-7.5 1.7-14.9 0-14.6-2.3.1-4 12.1-5.7 13.5-1.3.6-3.7-7.3-5-6.8-1.4.6-6.6 26.1 3.7 24.4m16.2 27.2c9.9-4.8 10-26.6 9-26.8-1-.3-5.5 4.5-6.5 9.2-.4-7.7-2.2-14.8-3.7-14.1-2.2.6-.8 12.6-2 14.4-1.2.9-5.5-6.3-6.7-5.4s.4 26.8 10 22.7zm17.6 35.6c10.3-3.9 12.8-25.5 11.8-25.9s-6 4-7.5 8.6c.4-7.7-.6-15-2.2-14.4-2.3.4-2.1 12.5-3.5 14.2-1.3.7-4.8-6.8-6-6-1.3.6-2.5 26.7 7.4 23.5"/> + </g> + <path fill="#ff1900" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M209 776c0 7.8-10.2 14.2-23 14.2s-23-6.4-23-14.2 10.3-14.2 23-14.2 23 6.4 23 14.2z" transform="matrix(.60164 .32097 -.3359 .5749 389.6 -146.8)"/> + <g fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width=".5"> + <path d="M156 414.6v-7.1h7v-7.1h7v7h7.2v7.2H170v17.7h-7v-17.7zm7 60.2h7v205.5h-7z" transform="matrix(.49887 .1571 -.1826 .4713 451.4 -3.7)"/> + <path d="M159.4 676.8h14.2v56.7h-14.2zM156 439.4h21.3c14.1 0-3.6 39-3.6 39h-14.1s-17.8-39-3.6-39zm17.6-5.4c0 3-3.1 5.4-7 5.4s-7.1-2.4-7.1-5.3 3.1-5.4 7-5.4 7.1 2.4 7.1 5.4z" transform="matrix(.49887 .1571 -.1826 .4713 451.4 -3.7)"/> + </g> + <path fill="#ff1900" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M209 776c0 7.8-10.2 14.2-23 14.2s-23-6.4-23-14.2 10.3-14.2 23-14.2 23 6.4 23 14.2z" transform="matrix(.57449 -.36357 .38048 .54895 -2.3 4.2)"/> +</svg> diff --git a/apps/web/public/flags/me.svg b/apps/web/public/flags/me.svg new file mode 100644 index 00000000..297888c7 --- /dev/null +++ b/apps/web/public/flags/me.svg @@ -0,0 +1,116 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-me" viewBox="0 0 640 480"> + <path fill="#d3ae3b" d="M0 0h640v480H0z"/> + <path fill="#c40308" d="M24 24h592v432H24z"/> + <path fill="#b96b29" d="M424.5 236.1a58 58 0 0 0 19.4-9.2c7-5.6 8.3-10.1 8.8-12.5s.8-4.3-1-3c-1.8 1.4-7.1 5.6-10.7 7.6-3.7 2-7 3-9 3.6-2 .5-3.6.9-1.7.1 2-.7 8.1-2.9 13-7.7 4.7-4.8 8.5-12 8.6-16.4s-.3-4-1.7-3c-1.4 1.1-6.4 7.3-9.3 9.7a90 90 0 0 1-9.7 6.9c-2.3 1.3-5.5 2.8-1-.3s13-10.3 16.5-19.7a35 35 0 0 0 2.7-15.8c0-1-.8-2.8-1.6-1.1s-6.5 13-11 18c-4.6 4.8-3.5 3.9-4.6 4.7s-2.7 2.2-.5-.6a51 51 0 0 0 12.2-31.7c0-3.6-1.5-8.6-2.2-10.1s-1.4-2.6-1.7-.9a191 191 0 0 1-5.8 18.4 75 75 0 0 1-6.7 12.8c-.8 1.1-2.8 3.6-.6-.5a77 77 0 0 0 7-27.6 44 44 0 0 0-2.6-20.9c-1.6-3.1-3-4.2-3-4.2s.3 7.8-2 19-5.7 17-5.7 17-1.5 1.7-.5-1a62 62 0 0 0 1.4-34.5c-2.3-7.5-6.2-11.3-6.2-11.3-1 10.7-.9 24.5-4.8 35.7-.7-.7-1.7-1.9-2.1.6a63 63 0 0 1-7 19.4c-4.8 8.8-6.8 10-6.8 10l-1.5-3.4c-.6-1.2-1-1.8-1.8-.2s-3.5 7.8-9.4 14.6-9.2 10.2-9 15.3c.1 5 2.8 7.7 6.4 10s4.2 3.6 3.7 6.4-3.8 3.7-6.6 3.8-6.2-.1-7.5.6-1.3 2.5-2.6 3.7c-1.2 1.3-1.8 2-3 2.2l-1 .1c-.2-13.5 5-19.5 5-19.5l-14.6-17.1-2.2 1-.4-.6a11 11 0 0 1-2.6-7.8c.7 0 2.2.6 3.5.3s.3-1.6 0-2.8c-.5-1.3-.9-5.7-.6-7.3l.4-2.3s2.1 2.3 3.4 2.3 1.2-1.3 1.4-2.8c.3-2.2 1.3-5 3-6.5 0 0 2.4 1.6 5 1.6s6.2-.7 9-3.5c3-2.7 2.9-3.3 2.9-3.3s5.3 1.8 9.3 2 8.3-.4 10.4-4.7-.6-8.2-1-8.8c-.6-.7-1.9-1.2-1.9 0s.1 4.4-2.4 6c-2.4 1.6-4.3 1.5-6.6.8a21 21 0 0 0-13.1-.4 17 17 0 0 1 6.1-4.2c3-.9 4.8.4 5.8 1.6s1.9 3 2.7.3.3-6-1-8a8 8 0 0 0-7.2-3c-3 .2-4 .7-4 .7s-1.5-4.3-5.3-5a21 21 0 0 0-14 3s-3.1.7-6.4-.2a21 21 0 0 1-5.4-2.8l1.1-3.5 1.9-.6c1-.4.7-.7.9-1.5.1-.8-1.8-2.2-1.8-2.2s-.3-2.5 2.9-4.1l2.8-1.4s1.9.3 2.6-.2.8-1 .8-1 1.4-.4 2-1.2q.6-1.5.2-3.1c-.4-1-.9-1.2-.4-1.7s1-1.6 1-2.4l.1-1s1.1-.4 1-2c0-1.7-.9-2.3-1.4-2.5l-.9-.1s0-1-.9-2.3l-1.4-2c-.1 0 .6-.4.3-1.5s-1.1-1.7-1.9-2c-.7-.2-1.5 0-1.5 0l-3.7-2.1-1.5-.8s0-1-.4-1.6c-.5-.5-1.5-.8-2-.8s-1 .3-1 .3l-6-1.4c-1.8-.2-1.9-.4-1.9-.4s-3.8-1.8-5.2-2l-2-.5s1.6-1.8 1.7-4a6 6 0 0 0-2.8-5l-1.6-.8V93l2.8.3.2-4.6-2.7.3.4-2.7h-5.8l.4 2.7-2.8-.2.3 4.5 3-.4-.4 1.7s-1 .2-2 .9a5 5 0 0 0-2.6 4.7c0 2.2 1.3 4 1.3 4l-1.8.4c-1.5.3-5.3 2.1-5.3 2.1s0 .2-1.8.4l-6 1.4s-.6-.3-1-.3-1.6.3-2 .8-.5 1.6-.5 1.6l-1.4.8-3.7 2.1s-.8-.2-1.6 0q-1.2.5-1.8 2c-.3 1.1.3 1.6.3 1.6s-.6.5-1.5 1.9a6 6 0 0 0-.9 2.3l-.8.1c-.6.2-1.5.8-1.5 2.5s1 2 1 2v1c.1.8.6 2 1.1 2.4.5.5 0 .7-.3 1.7q-.6 1.6.2 3c.5 1 2 1.4 2 1.4s0 .3.7.9 2.6.2 2.6.2l2.9 1.4c3.2 1.6 2.9 4 2.9 4s-2 1.5-1.8 2.3 0 1.1.9 1.5l1.9.6 1 3.5a21 21 0 0 1-5.4 2.8c-3.2.9-6.4.2-6.4.2a21 21 0 0 0-13.9-3c-3.8.7-5.4 5-5.4 5s-1-.4-4-.8c-3-.3-5.8 1-7.1 3-1.4 2.1-1.8 5.3-1 8.1s1.6.9 2.6-.3 2.8-2.5 5.8-1.6c3 1 6 4 6.2 4.2 0 0-.5-.3-3.9-.8-3.7-.5-6.9.4-9.2 1.2s-4.2.8-6.7-.8c-2.4-1.6-2.4-4.8-2.4-6s-1.3-.7-1.8 0-3 4.6-1 8.8 6.3 5 10.4 4.7c4-.2 9.3-2 9.3-2s0 .6 2.8 3.3a13 13 0 0 0 9 3.5c2.7 0 5-1.6 5-1.6 1.7 1.5 2.7 4.3 3 6.5.2 1.5.1 2.8 1.4 2.8 1.4 0 3.5-2.3 3.5-2.3l.4 2.3a26 26 0 0 1-.6 7.3c-.4 1.2-1.4 2.6 0 2.8 1.3.3 2.7-.2 3.5-.3 0 3.2-.7 5.3-2.6 7.8l-.4.6-2.2-1-14.6 17.1s5.3 6 5 19.6l-1-.2c-1.2-.2-1.8-1-3-2.2-1.3-1.2-1.4-3-2.6-3.7s-4.8-.5-7.5-.6-6-1-6.6-3.8.1-4 3.7-6.4c3.6-2.3 6.3-5 6.4-10s-3-8.5-9-15.3-8.6-13-9.4-14.6-1.2-1-1.8.2l-1.5 3.3s-2-1.2-6.8-10a63 63 0 0 1-7-19.3c-.4-2.5-1.4-1.3-2-.6-4-11.2-3.8-25-4.9-35.7 0 0-3.9 3.8-6.2 11.3-2 6.8-2 14.9-1.3 22 .6 6.7 2 10.7 2.7 12.5 1 2.7-.5 1-.5 1s-3.4-5.8-5.7-17-2-19-2-19-1.4 1-3 4.2a44 44 0 0 0-2.6 21 77 77 0 0 0 7 27.5c2.2 4 .2 1.6-.6.5a71 71 0 0 1-6.7-12.8c-2-5.5-5.6-16.6-5.8-18.4s-1-.6-1.7.9-2.3 6.5-2.2 10.2a51 51 0 0 0 12.2 31.6c2.2 2.8.5 1.4-.5.6s0 .1-4.5-4.7a92 92 0 0 1-11-18c-.9-1.7-1.6.1-1.7 1.1s-.7 6.5 2.7 15.8 12 16.7 16.5 19.7c4.5 3.1 1.3 1.6-1 .3a90 90 0 0 1-9.7-6.9c-2.9-2.4-7.9-8.6-9.3-9.7s-1.7-1.4-1.7 3c.1 4.4 3.9 11.6 8.7 16.4s11 7 12.9 7.7.3.4-1.7-.1a40 40 0 0 1-9-3.6 93 93 0 0 1-10.7-7.6c-1.8-1.4-1.6.6-1 3 .5 2.4 1.9 6.9 8.8 12.5a58 58 0 0 0 19.4 9.2c2.9.8.9.8.9.8l-6.8-1.4a71 71 0 0 1-16.7-7.3c-2.3-1.5-2.7-2-2.4 1a20 20 0 0 0 8.9 12.9 50 50 0 0 0 17.2 4.8c2.5.1 1.8.4.7.5a51 51 0 0 1-19.2-3.2l-.5-2c-.2-1.2-.9-1-1.2-.8-.4.3-.7.5-2 1.1s-1.3-.1-1.4-.5l-.3-3q-.1-1.1-1.1-.6l-4.7 2c-1 .4 0 1.3.5 2.3l1.5 2.6-3.7 1c-.8.2-.6.8-.3 1.4l1.9 4.6c.3.8 1.1.3 1.1.3l2.7-1.6 1 3.7s-1.3.3-2.7 1.2c-1.3 1-1 2.3.7 2.7s3.6 1.4 5.7 5.3c2.2 3.9 2.7 10.9 4 22 1.4 11 8.4 16.6 9.4 17.3s.4 1.3.4 1.3-1 1.4-.5 3.5a5 5 0 0 0 3.2 3.8c1 .3.7 1.3.7 1.3s-.5 2.3 0 6.7c.5 4.3 4 9.1 5 10 1 .8 1 1.2 1 1.6-.2.3-.9 0-2 1a12 12 0 0 0-3.4 3.6c-.8 1.6-.5 2.5-.2 4.5.2 2.1 3.3 4 3.3 4s-.6.1-.7 1.7 1 3.2 2.4 4.4c1.3 1 4 1.6 4 1.6l.3 2.2c.2 1 1.9 1.9 3 2.5s3.3.3 4.2-.2q1.3-.5 2 1c.6 1 .4 4.4.4 5.8s-.8 2.8-.4 3.5 1.8.2 3.2-.5c1.3-.8 1.6-.2 2.8.5a9 9 0 0 0 3.5 1.4c.5 0 .3-1.3.3-2.3s.2-3.4.7-3.8c.2-.2 2.3-.3 3.8-1 .7-.3 1.7-.6 1.7-1.3.1-.7-1-.7-3.2-1.9s-2.7-1.8-4.2-2.8c-1.4-1-.7-1.3-.7-1.8s.7-.9 1-1.4c.2-.6 0-1.8 0-1.8l1.8-1.8 2-2.3c.8-.6 2-3.6 2.7-4.5.8-1 2.5-2 3.6-3.4a30 30 0 0 1 11.3-7.6s-.1 2.6 1 3.9 2.6-1 7.5-4.5 8.6-4.7 8.6-4.7l2.4 3.3c1.3 1.6 2.5-.1 8.5-8.5 4.8-6.5 11-12.6 13.5-14.8l1.3.6-.4 1c-.5 1.8-1.4 3-2.6 5.3-1.1 2.4-3 3-5 6.2s-2.4 5.5-2.6 8.8 1.7 4 1.7 4-3 3-4 5.2-1.3 6.7-1.3 6.7-.5.2-1.6 2.5-3.1 2.6-6 5.5c-3 3-6.2 4.2-7.7 5-1.5 1-1 1.9-.7 3s2.5 2.4 5 3.3c2.3.9 3.2.5 4.8.5 1.7-.1.4 1.2-.3 1.9s-1.6 3.1-1.5 5.8 2.2 2 4.7 1.6a28 28 0 0 0 5.3-1.6l-.2.8c-.3.7-.4 1.3-.4 3.4q0 3 1 3.7c.5.6 1.8-.6 2.7-.9.9-.2 2.4-1.1 4.6-1.6s3-1.5 3-1.5-.5.7-.6 2.2c-.2 1.6-.1 3.8.2 5.2a9 9 0 0 0 2.9 4.2c1.5 1.4 1.8.8 3-1 1-1.7 3.3-3.9 3.3-3.9l1.7 5.5c1.5 4.9 6.5 9 6.5 9s5-4.1 6.5-9l1.6-5.5s2.3 2.2 3.4 4 1.5 2.3 3 1a9 9 0 0 0 2.8-4.3c.3-1.4.4-3.6.3-5.2q-.5-2.2-.7-2.2c-.2 0 .8 1 3 1.5s3.8 1.4 4.7 1.6 2.1 1.5 2.7 1q1-.8 1-3.8c0-2.1-.1-2.7-.4-3.4l-.3-.8s2.9 1.2 5.4 1.6 4.5 1 4.6-1.6a10 10 0 0 0-1.4-5.8c-.7-.7-2-2-.4-2 1.7.1 2.5.5 5-.4 2.3-1 4.4-2.1 4.8-3.3s.9-2-.7-3c-1.5-.8-4.7-2-7.6-5-3-2.9-5-3.2-6-5.5-1.1-2.3-1.6-2.5-1.6-2.5s-.5-4.5-1.4-6.7c-1-2.2-4-5.2-4-5.2s2-.7 1.7-4c-.2-3.3-.5-5.5-2.5-8.8-2.1-3.2-4-3.8-5-6.2-1.3-2.4-2.2-3.5-2.7-5.2l-.4-1 1.8-.8c2.4 2.2 8.7 8.2 13.5 14.8 6 8.4 7.2 10.1 8.5 8.4l2.4-3.2s3.7 1.2 8.6 4.7c5 3.5 6.4 5.7 7.5 4.4q.9-1 .8-2.6a104 104 0 0 1 11.8 4.2c4.3 1.8 4.7 2.8 8.1 5.4s8.2 2.5 12.8 1a304 304 0 0 0 21.6-7.5c4.9-2 8.4-4 9-4.9.4-1 1-3.7 1-4.7s-1-2.4-1.4-2.7q-.4-.5-.1-1.6c0-.6-.3-2.5-1-3.3-.8-.8-.7-1.1-.6-3.5.2-5-3.4-11.4-8.4-13.4 0 0-.2-.6-.6-1l-1-.6v-3.5q0-.7.6-.4c.3.2.9.9 1.7 1.1q1.2.2 1.5-1.3c.2-1 .8-2.8 1.2-3.7s-.1-1-.5-1.2l-2.2-.4q-.8-.1-.4-.5l1-2c.8-1 .1-1.1-.6-1.4l-4.9-1.3c-.9-.2-1 .6-1 1v2.6c0 .6-.5.4-.9.3l-1.7-1.2q-1-.5-1.3.7l-1.3 4.3q-.3 1.4.2 1.6c.3.2 2 0 3 0s.3.6.3.6l-1.3 2.3q-.6 1-1.8.8h-2s-5.3.2-9.2 3-5 5.3-5.6 6.7-1.3 1.1-1.9 1.6-2.3 2.3-2.3 3.4.4 1.7-1.3 2.8-3 5.9-.8 8.3 3.2 5 4 6.2c.6 1.2 0 1.7-.7 1.7s-1.8-1-2.9-1.8l-8.5-6.5c-2.3-1.7-.6-1.5-.6-1.5s.6 0 1.9-.5q2-1 .2-1.7a17 17 0 0 1-4.6-2.6c-.7-.7-1-1.4.3-2.1s4.2-2.6 2-3.2l-7.3-1.8c-2.2-.6-2.4-1.2-2.4-1.2l1.5-2.1s1.1-1.7-.2-1.9-4.8-.6-7.8-2a19 19 0 0 1-11.3-12.5v-.1c1.2 2.2 3.8 6.4 7.8 6.5 5.5.2 6.1-1.5 4.9-3.3-1.3-1.8-2.7-3.4-3-4-.4-.5-.5-1.2 1 .2 1.4 1.3 4 5.9 12.3 5.4 8.2-.6 8.2-2.2 8.2-2.6 0-1.6-1.7-1.9-2.7-2.9-.5-.5-.8-1.2.9-.6s5.7 1.4 11.3.2c2.1-.5 8-3 8.5-6 0 0-3.7-.2-6.3-1.3-2.5-1-4-2-1.3-1.4 2.7.5 8 1.6 12.7 0 2.7-.9 6.2-3 6.2-7.1 0 0-5-1-6.9-1.8q-2.7-1-2.5-1.2c.2-.2 7.3 2.3 13.8-1s6.9-7.9 6.9-9q-.1-1.4-.2-1.3a50 50 0 0 1-16.3 1s12.5-.4 18.8-4.2 6.7-11.5 6.7-11.5-7.1 2.6-11.6 3.1-7.2.5-8.3.4-1.8-.4.7-.5a49 49 0 0 0 17.2-4.8c5.3-3.1 8.6-9.7 8.9-12.8s0-2.6-2.4-1c-2.3 1.4-11 5.9-16.7 7.2l-6.8 1.4s-2.2-.1.7-.9zm-225.2 14.4-2.5 1.4-1.3-2.7q-.3-.8.2-.8l2.3-.4h.3zm76.8 45a20 20 0 0 1-8.8 7c-3 1.4-6.3 1.8-7.7 2s-.2 2-.2 2l1.4 2s-.2.6-2.4 1.3c-2.2.6-5 1-7.2 1.7s.6 2.5 2 3.2q1.6 1.1.2 2.1c-.7.7-3.2 2.2-4.6 2.6q-1.8.7.2 1.7c1.4.5 5 1.2 5 1.2l-2.3 1.8a19 19 0 0 1-8.7 3q-3.9.3-11.7 0l-5.8-.3-.5-4.3a22 22 0 0 0-3-7.8l-3.7-5 .2-1.5q.3-1-.5-3.3c-.6-1.5-3.6-3.8-3.6-3.8l-.2-3.2c0-1.6-1-7.7-2-10.6s-5.7-10.5-7.8-14a39 39 0 0 1-4.3-19.8l.5-1.3a13 13 0 0 0 3.5 3.2c6.3 3.8 18.8 4.2 18.8 4.2s-1.4.4-5.9.4-10.4-1.4-10.4-1.4-.2.3-.2 1.4.3 5.6 6.9 9c6.5 3.2 13.8 1 13.8 1s-.6.5-2.5 1.1-7 1.8-7 1.8c0 4 3.6 6.2 6.3 7.2 4.7 1.5 10 .4 12.7-.1 2.8-.6 1.2.3-1.3 1.4-2.6 1.1-6.3 1.3-6.3 1.3.6 3 6.4 5.5 8.6 6 5.5 1.2 9.6.4 11.2-.2 1.7-.6 1.4.1.9.6-1 1-2.7 1.3-2.7 2.9 0 .4 0 2 8.2 2.6 8.2.5 11-4 12.4-5.4s1.3-.7 1-.1-1.8 2.1-3 4c-1.3 1.7-.7 3.4 4.8 3.2 4 0 6.6-4.4 7.8-6.6v.1l.3.3-2.4 5.3zm66.4-178.2-1.1-2s3 1.4 5 3.5c1.8 2 1.7 3.2 2 4.2s0 2.9-.3 4.7q-.5 2.5.1 3.4l.7 1-2.7.8c-1.3.6-3 1-4 .2q-1.4-1.1-.5-1.8c.6-.5 2.8-1.2 3-5s-1.5-7.6-2.2-9m-17 10.3c.8-1.8 1-3.5.5-7.2-.4-3.1-1-5.7-1.2-9 0 0 2.3.4 5.6 3.4s4 6.1 4 7.6-.7 3.4-.9 4.8c0 1.5.4 2.8.4 2.8s-1.1.5-2.2 1.3c-1.1.7-1.9 1.2-3.5 1-1.7 0-2.7-.7-3.7-1.2l-1.5-.6s1.9-1.1 2.6-3zm-16-12.8a14 14 0 0 1 5.6-3.5c-.1 3.4-.7 6-1.2 9-.5 3.8-.3 5.5.5 7.3.7 1.8 2.6 2.9 2.6 2.9s-.6 0-1.6.6-2 1.2-3.6 1.3c-1.7 0-2.4-.4-3.5-1.1L306 130s.5-1.3.4-2.7-1-3.3-1-4.8c.1-1.6.8-4.6 4.1-7.7m-11.8 18.3c-1 .8-2.7.4-4-.2l-2.6-.8s.3-.3.6-1q.6-.9.1-3.4c-.3-1.8-.5-3.7-.3-4.7s.3-2.2 2.1-4.2c1.9-2.1 5-3.6 5-3.6l-1.2 2.1c-.7 1.4-2.5 5.3-2.2 9s2.5 4.5 3 5q.9.7-.6 1.8zm43.8 31.7c-3.2 1.7-5 1.3-5 2.7.2 1.3 3.1 2.3 3.1 2.3s-3 3.2-5.3 4.6c-2.3 1.5-5 2.4-5 2.4s-1 .2-.4 1.6a5 5 0 0 0 2.2 2.9l1.1.5s-4 4.3-5.8 5.7a15 15 0 0 1-4.3 2.5c-1.4.6-.7 3-.4 4 .4 1 1.6 2.5 2.4 2.7s1 .8 0 2.2c-.7 1.1-3 4-4 5.6h-.1l-4.2-5.6c-.9-1.4-.6-2 0-2.2.8-.2 2-1.6 2.4-2.7.3-1 1-3.4-.4-4a15 15 0 0 1-4.2-2.5 80 80 0 0 1-5.8-5.7l1-.5a5 5 0 0 0 2.3-2.9c.5-1.4-.4-1.6-.4-1.6s-2.7-1-5-2.4c-2.4-1.4-5.4-4.6-5.4-4.6s3-1 3-2.3c.2-1.4-1.6-1-4.9-2.7-3.2-1.8-4.3-4.1-4.3-4.1s3.8-1.3 5.7-5a7 7 0 0 0 .7-3.6h.1c6 2 13.1 2.8 19.4 2.8a63 63 0 0 0 19.3-2.8h.2a7 7 0 0 0 .7 3.6c1.9 3.7 5.6 5 5.6 5s-1 2.3-4.3 4z"/> + <path fill="#d4af3a" d="M361.2 237.8c0-10.2 4.7-16.7 4.7-16.7l-12.7-14.6c-12.2 4.7-23.3 5-33.2 0-9.9 5-21 4.7-33.1 0L274 221.1s4.7 6.5 4.7 16.6-2 17.8-3.1 22.7c-1.2 5-2.1 14.1.5 20.7a26 26 0 0 0 16.7 17c11.3 4.8 17.3 7.3 21.2 10.6 4 3.2 5.9 5.9 5.9 5.9s2-2.7 6-6c3.9-3.2 9.8-5.7 21-10.4a26 26 0 0 0 16.8-17.1c2.7-6.6 1.7-15.8.5-20.7-1.1-5-3-12.5-3-22.6"/> + <path fill="#b96b29" d="M357.2 242c-1.6-9.8 4-18.3 4-18.3l-10.9-12.8c-8.4 4.7-20.1 4.1-30.3-.6-10.1 4.7-21.8 5.3-30.2.6l-11 12.8s5.7 8.5 4 18.3c-1.5 9.7-5 25-4.1 31.3s5.3 13.6 9.8 17.4a58 58 0 0 0 16.2 8.7 47 47 0 0 1 15.3 10s1.5-1.5 3.7-3.2 7-5 11.7-6.8a59 59 0 0 0 16.1-8.7c4.6-3.8 9-11.1 9.9-17.4.8-6.3-2.6-21.7-4.2-31.4z"/> + <path fill="#1d5e91" d="M356.1 243.1a33 33 0 0 1 3.2-19l-9.8-11c-8.4 4.4-18.5 3.3-29.5-.6-11 3.9-21.1 5-29.4.7l-9.9 11s4.7 8.4 3.2 18.9-4 22.4-3.6 29.4l.2 1.4h9s.5-.6 1.5-1 1.3-.7 1.3-.7.2-1.8 1.2-2.2q1.5-.5 2-.4.7 0 1.3-.6c.5-.6 2-1.8 2.6-3.6s1-2.6 1-3.8.4-3 .4-3-.2-.6-1.1-.3-1-.6-1.2-1.5c0-.9 0-2.7.5-3.6l.7-1.1-.4-1.5s-5.7 1.2-6.7-3.3-1.1-6.5-1.3-7q0-.7-1-.7c-.8 0-2.4-.4-3.6-2.7-1-2.3-1.2-3.3-.8-4.2s.9-.5 1-.3c.3.3 1.8 2.5 2.4 1.9s.3-.6-.6-2.3c-.8-1.8-.5-2.3-.4-3.2l-.3-2.5q.1-.8 1-.6.9.4 1.3 1c.2.2.3.6.8.4.5-.3.2-1.9.2-2.4q.1-1 1.3-.5a2 2 0 0 1 1.2 1.8q0 1 .3 1.1c.3.1.6-.9.7-1.4 0-.6.4-1.5.9-.7q.8 1.1.5 2.8c-.2 1.1.2.5-.2 2.4-.4 2-.6 2.8-.5 4.2s0 2.3.8 4c.7 1.8 1.3 3.8 2.6 3.9h1.7s1.5-2.8 2.6-3.5q2-.7 4-.9 1.5-.2 1.5-.8c0-.2-.3-.3-1.7-.5s-2.5-.5-2.6-1.6c0-1 .3-2-.6-2-1 0-3.2-.8-4-2.2s-.6-1.8-.5-2.7c0-.8 1.1-2.4 1.8-.9.7 1.6 1.1 1.8 1.7 2 .5.4 1.3.5 1-.5q-.7-1.4-.6-2.5.2-1.1 1.2-1.2l3.4-1 1-.2s.1-.7 1.4-1a9 9 0 0 1 3-.5q1 .2 2.7-.4a6 6 0 0 1 2.9-.7 4 4 0 0 1 1.9.8q.6.6.4 1.4t.8.8q1.3 0 2.3.3c.8.3 1.8.7 1.2 1.5s-.7 1.7-1.2 1.7q-.5.1-.5.7-.5.4.1.8c.5.3.5.6 1.2 1.2s1.6 1.3.6 2.3-2.7 1.8-2.7 1.8-1 .5.1 1.1 1.7 2 2.1 2.3l1.2.8c.3.1.2 1 .2 1l-1.5.8q-1.2.7-2.5.8c-1.3.1-1.3 0-1 .7l1.1 2 .3 1.2s1.4.3 2.6.3l4.3-.2c2.6-.3 3.4-.4 5.9-.1 2.5.2 2.9.2 3.5.4l1.4.6s3.5 0 5.5-.5 2.4-1.7 2.1-2.4-.2-1.6-3.6-2c-3.5-.6-4.8-.4-7.5-.9s-7-1.9-7.7-5.3 2-4.8 3.3-5.5l5.8-2.3c1.4-.5 3.9-1 6.5-.7 2.7.4 4.2 1 5.3.5 1-.7 1.9-.2 1.7.8s-1.3 2.9-4.3 3.8-6.6 1-8.5.5-3.4-1.3-4.6-.9-2.5 1.9-1.3 3.7c1.3 1.7 7.9 2.3 9.6 2.4 1.8.2 8.3-.2 10.2 3s.3 6.9-1.8 7.7a29 29 0 0 1-5.7 1.5l-1.7.3s.8 1.7.8 2.4-.1 2 .7 2.6q1.3.9 3.3.7c1.4-.1 3 .8 3.1 2l.6 5.5c.2 2.5 0 4.5 0 4.5s0 1-.4 1.9c-.3 1-2 4.4-2 4.4h9.5l.2-1.4c.4-7.1-2-19-3.6-29.5z"/> + <path fill="#6d8c3e" d="M281.6 278.6a27 27 0 0 0 11.6 14.3c8.2 5 11.8 4.3 19.5 9.3s7.2 5.8 7.3 5.8-.4-.8 7.3-5.8 11.3-4.4 19.5-9.3a27 27 0 0 0 11.6-14.3h-76.7z"/> + <path fill="#d4af3a" d="M288.3 237.2c.9 1 1.5 1.2 2.9 1q1.8.2 1.9 2c.2 1 .2 3.5 1.2 5.8s4.2 2.5 4.2 2.5q.1-1.8 1-3.9c0-.2.5-1.2-.7-1.2s-1.1-.5-1.8-1.6c-.7-1-2-4-2.4-6a16 16 0 0 1 .6-5.7q.6-1.6 0-1.9h-1s.2 1-.1 1q-.5.1-.8-1c-.3-.7-.5-.6-1-.6s-.5.5-.1 1c.3.4.1 1.3.1 1.3l-1.4-1c-.5-.2-1.4.2-1.5.8-.1.5.3 2 1.2 2.7s1 2.2.6 3c-.2.6-1.5.5-1.8.2a1 1 0 0 0-1.2 0c-.4.5-.8.7.1 1.6m-.5-2.5-.7-.6-.5-.7-.1.7c0 .5.6 1.2.6 1.2zm2-6.4q.7 0 .4-.7-.5-.9-1-1-.5-.2-.6-.1l.5 1.3q0 .8.6.5zm2.4-2q-.1.8.4.5t.3-1l-.6-.7-.3-.2s.2 1 .1 1.5zm3.4.6-.1-1s0 .6-.3 1c-.2.3-.1.2 0 .5q.4.3.4-.5m5.4 23.5c.7 1.6 2.4-.9 4-2.9s1.5-.4 1.3 1.2a8 8 0 0 0 1 4.5c.7 1 1.2.4 1.5-.4.2-.7.5-2.4 1-3.2.5-.7 1 0 1 .6.1.7 1 2.2 1.7 3.1.8 1 1.2-.3 1.5-1.4l.7-3.5c.2-.6 1 0 1 0l1.6 1.5c1 1 1.1-.6 1.2-1.4s-.1-2.5.2-2.8 1.2.4 2.5 1 1.3-.6 1.2-1.3a7 7 0 0 0-2-3.4q-1.6-1.6-1-2.5c.4-.5 1.7 0 2.6-.1l1.8-.3c.7-.2.7-.8.7-.8s-.5-.8-1.4-1.6-1.4-1.4-2.5-1.6-2.6 0-2.6 0l-.2-.4q-.2-.4-.6 0l-1.2 1.1q-.6.6-1 .5c-.2-.2.3-.6.3-.6s.5-.4 1-1.4q.9-1.6.3-2.6c-.4-.4-1.5 0-2.2 0-.6 0-1 .2-1-.2 0-.3.6-.1 1.4-.2s1.3-1 1.5-1.9.5-.6 1-.2q.7.7 1 0l1-1.8q.9-1.4.3-2.6c-.6-.8-2-.7-2.6-.2q-1 .6-1.1 2.1c-.2 1.2-.5.5-.5.2 0-.4-.4-1-.2-1.5q.2-.8 0-1c-.2-.2-.1-1-1.2-1.1a9 9 0 0 0-3.5.3c-1 .2-.9 1.2-.9 1.2l-1.7.1-2.8.7q-1.2.2-1.1.7l.1 1.1s.7 0 1 .3.2.5-.2.7q-.6.1-.6.7 0 .8.7.7t2.3.4c1.6.5 1.3 1.4 1.2 2 0 .5-1.5 1.2-2.3 1.2s-1 .1-1 .6 1 .4 1 .4l2.6.3c1.7.2 2 .6 2.8 1.2s.2.9-.2 1q-.7.6-1.5 1t-1.5.7c-.5.1-1.8 0-4.2 1s-3.3 4.1-3.3 4.1l1.4-.7q1.8-.8 3.8-2c1.2-.7 1.2.4.6 1.5s.6.9 1 .6l2-1.3c1.2-.6.8.4.8.4s-.4.7-.5 2.5c-.1 1.7 1.7 0 2.5-1 .9-1.1 1.2 0 .6 1.2-.6 1.3-1.8 2.3-2.5 2.3s-1.2-.8-1.3-1.2c0-.4.3-1.7-.1-2s-1.7 0-2.6.6-1 .1-1.3-.4c-.2-.4.3-.6.1-1q-.4-.2-1 .2l-2.8 1.5c-1.7.9-1.6 1.3-1.6 2.5s.3 1.5 1 3"/> + <path fill="#d4af3a" d="m316.7 224.2 1-.5 1.5-.3q.9-.2.4-.8 0-.5-1.4-.5c-.9 0-1.5.5-2 .7l-1.1.4.4.6q.7.7 1.2.4m3.8 3.7.8-.2 1.3-.6q.8-.1 1.2-1c.4-.8-.4-.8-1.5-1q-1.5-.3-1.7.5c-.1.4 0 .8-.5 1.6s0 .7.4.7m-.3 1c-1 0-2.3 1.5-2.7 1.8q-.4.5-.2.6l.4 1.2c.2.7.2 1.7.2 1.7h.8q.8 0 1.6-.7a4 4 0 0 1 1.8-.7c.9-.2 1.3-.3 2.2-.8s-.5-1.4-1.5-2.2a4 4 0 0 0-2.6-1zm-14 3.6q1.2-.2 1.2-1 0-1.1-1.5-.9c-2.6.3-5.1-.7-5.6-3.2 0 0-.8 1.6.8 3.4s4.3 1.8 5.1 1.7m-8.9 41 .5.4h4q.9-.4.7-1.2 0-.7 1-4.7c.5-2.6 1.5-4.5 1.9-5.6s-.4-1.4-.7-2l-.8-2.5c-.1-.6-1-.5-1.6-.5-.5 0-.6.9-.7 1.7l-.8 5.1c-.4 2-2.7 4.7-3.3 5.3q-1 .9-1.6.8c-.4 0-1.4 0-1.8.3a2 2 0 0 0-1 1.6c0 .6.9 1 .9 1l1-.8q.6-.5 1.5-.6t.5.4c-.2.3-.1.4.3 1.2zm-6-.2q-.6.1-.7.6h2.6l-.3-.7q-.6-.3-1.7 0z"/> + <path fill="#d4af3a" d="m294.8 273.2-1 .7h2.9q.1-.4-.2-.9c-.7-.5-1.3 0-1.7.2M319 272q-.4 0-1 .6t-.7 1.2v.1h1.3v-.1q0-.5.7-1.1c.5-.5 0-.7-.3-.7m2.3 1.3q0-.6-.4-.7l-1 .8-.5.5h1.7z"/> + <path fill="#d4af3a" d="M332.3 260.4c.8-.6.7-.8.7-1.5q0-.8-.3-1a6 6 0 0 0-2.8-.8c-1.1 0-3.4.3-4.2.8s-1.3 2.7-1.3 3.8q0 1.3.5 1.2c.5-.1.8-.8.8-.8l1.8 2.5c.7 1 .4 1.4 0 2.2-.2.8-1.4 2.9-2.2 3.3-1 .5-1.6 0-2.6-.1q-1.5-.2-2.3.7c-.8.9 0 1.1.4 1.1q.5-.1 1.2.5c.3.3.1 1.2 0 1.6h5.2c.9-.4 1.5-1.6 1.7-2.3.3-.7 1.4-1.7 2-2.2.5-.5.5-.8.5-2s-.2-1.7-.6-2.5c-.5-.8-.8-2-.6-2.6 0-.7 1.2-1.4 2-2z"/> + <path fill="#d4af3a" d="M323.7 247.4c.6.9.3 1-.4 1.2a9 9 0 0 1-2.8.2c-1.1-.1-1.1 0-1.1.6a5 5 0 0 1-.8 2.7c-.7 1-1.6.6-2 .2q-.9-.5-1 .4l-1.2 2.1c-.5 1-.9 1-1.3.9s-.7-.7-1.1-.7q-.6-.2-1.6-1.8c-.6-.9-.9.1-1.3 1q-.4 1.3-1.5 1.2c-.7 0-1.6-1.5-2-2.3s-.7-1.6-1.3-1.6-1.7 1.4-2.4 1.7q-1 .6-1.3-.2-.5-.4-1.1 1.2-.4 1.8.6 2.3c.6.3 1.7-.5 2.5-1s1.1-.5 2-.5.7 1.4 1 3.3c.4 2 1.5 2.2 1.5 2.2s.4.3 1.3-1.1 1-3 1.8-3 1 .2 1.8 1.4 1.5 2 2 1.1.9-2.1 1.5-2.6 1-.6.4.3-.8 1.7.4 1.4 5.7-2.2 7.6-2.6l4.7-.5 4-.3c1 0 1 0 1.1-.7 0-.7-.5-.5-2.3-.5q-2.5 0-4.3.4-2 .3-1.6-.2.1-.4 2-.7l6-.5c1.6 0 1 .5 1 1.5-.2 1 0 2.6.2 3.5 0 1 .1 1.3 1 2.7s3.7 2.2 4.5 2.6c.9.5.7 0 .7-.8s.7-.8 1.4-.3 2 .7 2.9 1q1.1.2 1 .8l.2 2.4c0 1 0 1.2-.4 1.8l-2 2.3s-.8 0-2.3.4c-1.6.3-2.1 1.1-2.3 1.7-.1.7.3.9.4 1.1v.8h.4l.5-.8c.6-.7 2-.9 2.9-.5q.8.7.5 1.3h3.6l2-3.9a6 6 0 0 0 .6-2.6c0-1.2.2-5.8 0-6s0-1.1 0-2.4c-.1-1.3 0-2.3-2.4-2.5s-3.2-1.2-4-2-.6-2.7-1.2-5-2.3-2.6-5-3.1a23 23 0 0 0-7-.5c-2.2.2-4.8.5-6.2.4-1.5-.2-1.2.2-.7 1z"/> + <path fill="#d4af3a" d="m337.3 273.4-.5.5h2.4l-.2-.7q-.6-.5-1.7.2m4.4-.2-.8.7h2.5v-.3c-.1-.4-.9-.8-1.7-.4m-61 1.6.5 2.3h77.6l.6-2.3h-78.8zm52.3-37.1c2.4 1.6 10.2 1.7 13.9 2.4 3.6.8 3.4 3.6 2.3 5-1.2 1.5-6.3 1.7-7.2 1.8.5.3 1.2 1.4 1.2 1.4l2.1-.2a11 11 0 0 0 6.1-2c1.9-1.6 1.8-4 .1-5.8-1.6-1.6-4.3-1.8-7-2.1s-5-.5-8-1q-4.7-.9-4.7-3.6c0-2.7 1.7-2.8 2.9-3.1s3.1-.9 4.9-.2c1.7.6 3.7.7 7.1.3 3.4-.5 4.2-2.8 4.2-2.8s-.4.2-2.2.2c-1.7 0-3-.7-6-.7-3.2 0-4.3 1-5.8 1.6-1.5.5-5.4.9-6.5 3.4-1.2 2.5.1 3.7 2.6 5.4"/> + <ellipse cx="312.6" cy="226" fill="#b96b29" rx="1.5" ry="1.4"/> + <path fill="#b96b29" d="M344 228.4c-2-.2-4.5.4-4.5.4s.5.4 1.2.3l3.7.3c1.9.3 3.2-.6 3.2-.6z"/> + <path fill="#1d5e91" d="M325.6 264.6c-.5-.8-.6-.7-1.2-.2s-1-1.2-1.1-2.2l.4-4.1s-2.6.5-4 1l-4 .9q-1.6.4-2.4.4c-.6-.2-1.9-.2-2.9-.2s-1 .2-2 1.2-1.3 1.5-2 3.4a20 20 0 0 0-1.4 6l-.7 3.1h12.2l.5-1.2a3 3 0 0 1 1.4-1.4c.5-.2 1-.2 1.2-.8q.4-.8 1.4-1.2 1.2-.4 2.8.1c1 .3 1.4-.4 1.7-.8l1-1.6c.5-.7 0-1.3 0-1.3l-1-1.1zm19.5.3c-.1-.7 0-.8-.5-.9q-.7 0-1.7-.5c-.6-.2-.5 1.4-.5 1.4s-1.5.2-3.1 0-3.5-1.7-4.2-2.2l-1.4-1.5-1 .7q-.7.6-1 2.4c0 1 1.3 2.2 1.4 3.2s-1.2 3.1-1.8 4a9 9 0 0 0-1.2 2.4h5.9l.6-1c.6-.6 1.6-.7 1.6-.7l.2-.8q.3-.8 2.3-1.8c1.5-.5 3.3-.6 3.3-.6s.7-.6 1.2-1.4 0-2 0-2.7z"/> + <path fill="#d4af3a" d="M296.2 329.6c1.1.4 3.2-.4 4.2-1.6s1.4-3.2 2.1-4.3l1.3-1.9s-.2 1.8-1.2 4.3a16 16 0 0 0-.8 6.8c.4 2.7 2.2 3.1 3.2 2.7q1.4-.4 3-3.2l1-2c.6-1.3 1.2-3.5 1.5-3.4.7.1.3 1.6 0 2.6-.5 2-1.5 5-1.6 7 0 1.7.2 5 2 5.2 1.8.1 2.8-1.5 3.8-5.2s1.2-5 1.7-5 .4 2.6.4 3.7a18 18 0 0 0 1.6 7.4c.9.8 1.6.7 1.6.7s.7.1 1.6-.7 1.6-6.3 1.6-7.4c0-1 0-3.6.5-3.6s.6 1.2 1.6 4.9 2 5.3 3.8 5.2c1.9-.2 2-3.5 2-5.3s-1.1-4.8-1.6-6.9q-.6-3.1 1.6.8l1.3 2.5q1.6 2.4 2.6 2.7c1 .4 2.8 0 3.2-2.7s-1.6-10.5-1.6-10.5l1 1.3c.7 1.1 1 3 2 4.3s3.1 2 4.2 1.7q1.5-.6.4-6.1c-1.1-5.5-4-5.7-6.4-8.6a32 32 0 0 1-4-8.2 27 27 0 0 0-7.9 5.6l-5.9 6.3s-1-1.3-5.8-6.3a27 27 0 0 0-8-5.6c-.2.6-2.2 5.2-4.4 7.9-1 1.3-2.5 2.3-3.6 3.6a12 12 0 0 0-2.4 5.3q-1.2 5.5.5 6z"/> + <path fill="#d4af3a" d="m296 342 2.2-2c0-.1 1-.8.8.9-.3 1.6-.8 5-.5 6.4s.5 2.7 2.3 1.6c1.8-1 2.3-1.7 3.1-2.6s1.8-1.3 1.6.1c-.3 1.4-.9 3.6-.6 6.4q.6 4.5 3.6.9a32 32 0 0 0 3.5-5.9c.5-1.2 1.6-2.2 1.6 0 0 4.8 1.1 11.8 6.4 13.6 5.3-1.8 6.4-8.8 6.4-13.6 0-2.2 1.1-1.2 1.7 0a32 32 0 0 0 3.5 5.9q2.9 3.5 3.5-.9c.3-2.8-.3-5-.5-6.4s.6-1 1.5-.1 1.3 1.5 3 2.6c1.9 1 2-.2 2.4-1.6s-.2-4.8-.5-6.4.8-.8.8-.8l2.1 2a6 6 0 0 0 3.4 1.2s.9-5-1.2-8c-2-3-2.9-4-2.9-4s-1.1 0-2-.4c-1-.3-1.8-1-1.8-1v2.8l3.1 3.1c.6.8 1.8 2 0 .8l-3.1-2.4s-.4 2.5-1.1 3.2c-.7.6-1.8.7-2.2.5l-.4-.1-.2 1s1.6 3 1.8 4.1q.4 1.8-.8-.5c-.7-1.5-2.2-3.5-2.8-4.5-.6-1.1-1.6-1.8-1.5-.5s-.5 3.9-1 4.8q-.6 1.3-.7 1.2l1.1 4c.1.7 0 1.5-.5.6l-2.1-4.2s-2.1 0-2.7-.7-1.6-2.9-1.6-2.9-.8 3-1.5 4-2.4 1.8-2.4 1.8l-.2 6q-.1 1.4-.6 1.3t-.5-1.3l-.3-6s-1.6-1-2.3-1.9c-.7-1-1.6-3.9-1.6-3.9s-1 2.3-1.5 3c-.6.5-2.7.6-2.7.6s-1.6 3.4-2.2 4.2c-.5.9-.6.1-.5-.5l1.1-4.1s-.3-.3-.7-1.2c-.5-1-1-3.4-1-4.8.1-1.3-.8-.6-1.5.5s-2 3-2.8 4.5-1 1.7-.8.5 1.8-4.1 1.8-4.1l-.1-1-.5.1q-.8.4-2.2-.5c-.7-.6-1-3.2-1-3.2l-3.2 2.4c-1.8 1.2-.6 0 0-.8l3.2-3.1v-2.8s-1 .7-1.8 1c-1 .4-2.1.4-2.1.4l-2.9 4c-2 3-1.2 8-1.2 8s2 0 3.4-1.3zm25.8 33.5L320 373s-.4.8-1.8 2.4a43 43 0 0 1-4.5 4s.3 4.2 1.8 6.5c1.3 1.9 2.5 3.6 4.5 5q2.9-2.1 4.5-5c1.6-2.3 1.9-6.5 1.9-6.5s-3.2-2.4-4.6-4z"/> + <path fill="#b96b29" d="M319.4 380.6c0 1 0 3.4.6 3.4s.5-2.4.6-3.4l.2-3.3h-1.6s0 2.3.2 3.3"/> + <path fill="#d4af3a" d="M320 151.3c-5.7.1-12.3-.7-16-2l-3.8.8a52 52 0 0 0 19.8 3.3c8.8-.1 13.8-1 19.8-3.3l-4-.8a51 51 0 0 1-15.8 2m20.5-4.7c-.4-.4-3-2.2-3.7-2.5-.6-.4-.1-1.3 0-1.6s3-1.2 4.6-1.7 1.4-.7 1.4-.7-1-1.1-6.8-1.7c-5.8-.7-16-.5-16-.5s-10.2-.2-16 .5-6.8 1.7-6.8 1.7-.2.3 1.4.7a19 19 0 0 1 4.6 1.6c.1.4.6 1.3 0 1.6l-3.7 2.6q-.8.8.2 1c1 .2.7 0 2.7-.4a94 94 0 0 1 35.2 0c2 .4 2 .4 2.7.4q1-.2.2-1"/> + <path fill="#d4af3a" d="M333.9 149c-4-.4-6.5-1-13.9-.9s-10 .5-13.9 1c2.5 1 6.6 1.5 13.9 1.5s11.4-.5 13.9-1.5zm-15-57.5-.1 2.8 3-.2-.3-2.7 3.3.5.1-2.6-3.4.3.6-2.9h-3.8l.7 2.9-3.3-.3v2.6zm6.5 7.1h-4v-3.4l-1.3-.2-1 .1v3.5h-4.3a5 5 0 0 0-.2 2h11v-.6z"/> + <path fill="#1d5e91" d="M320.1 105a6 6 0 0 0 5.2-3.4H315a6 6 0 0 0 5.2 3.5zm2.3-9.5v2.4h2.7a5 5 0 0 0-2.7-2.4m-4.5 0a5 5 0 0 0-2.8 2.4h2.8z"/> + <path fill="#b96b29" d="m323.3 140-3.3-1.5-3.3 1.7c-1.2.5-1 .4-1.4 1.2q-.4 1.2.6 1.4l4.1 2 4.6-2q1-.5.4-1.5-.2-.7-1.7-1.3"/> + <path fill="#d4af3a" d="m320 139.3-3.5 1.7 3.6 1.9 3.5-1.9zm0-12.3s-.3 1.2-.7 1.8q-.7.7-.6 1.7c0 .6.8 1 1.3 1s1.2-.4 1.3-1q0-1-.6-1.7c-.4-.6-.7-1.8-.7-1.8"/> + <circle cx="320" cy="132.8" r=".7" fill="#d4af3a"/> + <path fill="#d4af3a" d="M317.6 129.4s1.1-1.3 1.6-2.2l.8-1.5.8 1.5c.4.9 1.6 2.2 1.6 2.2s1.6-1 2.6-4c1-3.2-.3-6.6-.7-10.1l-.8-9.8a7 7 0 0 1-3.5 1 7 7 0 0 1-3.6-1s-.3 6.2-.8 9.8-1.6 6.9-.6 10c1 3.2 2.6 4 2.6 4z"/> + <ellipse cx="320" cy="122.3" fill="#b96b29" rx="2.8" ry="2.7"/> + <ellipse cx="320" cy="115.8" fill="#b96b29" rx="2.7" ry="2.6"/> + <ellipse cx="320" cy="109.7" fill="#b96b29" rx="2.6" ry="2.5"/> + <ellipse cx="320" cy="121.8" fill="#d4af3a" rx="1.5" ry="1.4"/> + <circle cx="320" cy="115.4" r="1.4" fill="#d4af3a"/> + <ellipse cx="320" cy="109.2" fill="#d4af3a" rx="1.3" ry="1.2"/> + <path fill="#b96b29" d="M319.9 336q.3.1.2-1.2l.4-4c.2-1.2-.3-1.1-.6-1-.3 0-.5.9-.5 1.4l.1 4.2q0 .7.4.7z"/> + <path fill="#d4af3a" d="m290.4 359.1 5.2-3.6a12 12 0 0 0 4-4h-1q-1-.1-1.1-1.5l.2-4.1c.2-1.8-.3-3.3-.3-3.3s-1.2 1.1-3 2c-2 1-2.7.6-2.7.6l-.4-1.9-2 3.7c-1.1 2-4.2 4.2-6.4 5.8a29 29 0 0 1-6.4 4c-1.8.7-.7 1.5-.7 1.5s1.8 1.8 6.5 2.7c4.6.8 6.9-1 8.1-1.9"/> + <path fill="#d4af3a" d="M306.8 357.3q-2.6-.1-3-2.6c-.2-1.2 0-5.7 0-5.7l-1.1 1.2c-.7.8-2 1-2 1l-1 1.6a9 9 0 0 1-3 3.2l-4.6 3.2a28 28 0 0 1-4.3 3.1 7 7 0 0 0-3.6 4.7c-.5 2.4 0 3.1 1.8 3s2 0 5-.7c3-.8 7.3-4.1 10.4-6 3-2 5.4-6 5.4-6"/> + <path fill="#d4af3a" d="M315 360s-1.2-1.6-1.7-3.4l-1.3-5.4-1.5 3.3c-1 2.1-2.7 2.7-2.7 2.7s0 .9-1.5 2.7a21 21 0 0 1-5.7 4.8c-2.1 1.2-5 3-6.4 5.1-1.5 2.2-1.7 4.4-1 5.4.8 1 1.8-.1 3.2-.9 1.4-.7 5.5-1.3 11.2-4.4 5.6-3 7.4-9.9 7.4-9.9"/> + <path fill="#d4af3a" d="M317.5 372.7c1.5-2.4 1.8-8 1.8-8l-1.3-1c-.8-.7-2.2-2.9-2.2-2.9l-2 3.8c-1 1.8-1.5 2.4-3.6 4.3-2.1 2-5 3.9-6.2 6-1.2 2-.5 6.1.3 7.5s2 1 3-.1l3.7-3.3c2.1-1.8 5-4 6.5-6.3"/> + <path fill="#b96b29" d="M299 325.3c.8-1.7 1.7-3.7 2.5-4.8l1.3-2.2s-2 1.8-2.8 3.1q-1.2 2-1.7 4-.6 2.3.7 0zm8 1.5.5-1.9s.3-1 .1-1.1q-.5-.2-1.6 2.5c-.5 1.8-1.4 4.5-1.2 4.6s1.8-3 2.2-4.1m6.3 5 .3-.8s.7-2 .7-2.5-.2-1-.8.1-.6 2.2-.7 2.6c0 .5-.7 2.1-.5 2.3s.6-.9 1-1.7M293.7 351l-.8-.5-1.3 1.5q-1.1.8-2 1.7a8 8 0 0 1-2.7 2.3q-2 1-1.6 1.1c.3.2 1.2-.3 1.2-.3s.3 0 1.9-1 2-1.4 3-2.3 2.3-2.5 2.3-2.5m6.8 8.1c.6-.6 1.3-1 1-1.4q-.6-.5-1.4.2l-2.8 2.6-2 1.5c-.7.6-2.3 1.4-3 1.8s-.1.5-.1.5l1.2-.5 2.5-1s.7-.3 1.6-1 2.4-2 3-2.7m7.9 5.5c.5-1 0-.8-.9-.4-.8.3-2.7 2.4-3.8 3.1q-1.6 1-3 1.6c-.9.4-.9.7-.8.9q.1.3.8 0l1.6-.9 1-.2q.8 0 2.4-1.6c1.2-1 2.2-1.5 2.7-2.5m3.7 7.2c-1.4.8-3.8 2.7-4.5 4q-1 1.9-.8 2.3c.2.2.9-.2 1.2-.7l.9-1.2s2.4-2.4 3.3-3a8 8 0 0 0 2.6-3c.4-1 .1-1.4.1-1.4s-1.5 2.1-2.8 3"/> + <path fill="#c52126" d="M275 170a22 22 0 0 0-8.3-2.6c-3.7-.3-6.5.2-9.5 1q-3.2.9-5.7.3c-2.6-.7-4.6-3-5.3-6 0 0-2.4 3.1 0 6.5a7 7 0 0 0 4.4 2.9c5 1 10-2 14.3-2.4 4-.2 7.3 2.4 7.3 2.4s1 .8 2.3 0q2.3-1.1.5-2.2z"/> + <path fill="#d4af3a" d="m260.3 317.5-1.2-.2c-.7 0-2.2-.6-2.7-.8q-.7-.4-1.6.3c-.4.5-4 2.7-4 2.7h6c2 0 3.5-2 3.5-2"/> + <path fill="#d4af3a" d="M277.4 316.4v-.5l-.8-1.8s-1 .6-1.9 1.5c-1.2 1.3-2.4 3-3 3.7-1 1.3-2.4 2.5-1.2.5s1.6-3 2.6-4.4l1.5-2-3.4-.5c-2.5-.3-4.1-1.3-5.3-2l-3.3-1.9s-4.3 1.9-5.9 2.3-2.6.6-1 1.4 2.9 1 3.7 1.5a11 11 0 0 0 4.6 1.2c1.4 0 3.9 0 3 1q-1.5 1.6-3.2 6a20 20 0 0 0-1 7v2.5s1.8-2 6.6-5 6.6-4 7.5-4.4 1.3-.4 1.1-1.5z"/> + <path fill="#d4af3a" d="m295.6 302-.9-.4h-.2a15 15 0 0 0-4.6 4.2c-1.2 1.9-2.4 2-1.1 0a18 18 0 0 1 3.2-4.2l1-.8a53 53 0 0 1-7.3-4.2l-1.6 2.5c-1 1-3.3 2-3.3 2s1.8-2 2.4-3.3l.8-2.5a32 32 0 0 1-4.8-4.6 18 18 0 0 1-4.1 7.4c-3.8 4.2-11.3 6.3-11.3 6.3s-2.6.3-.5.9c2.2.5 3.7 1.5 7.8.8l5-1.1c.6-.2 2 0 0 .7-2 .8-6.9 1.5-8.7 1.4-1.9-.2-4.4-.6-1.8.8s3.8 2 5.4 2 2.3.5 3.9.5 2-.3 3-.5q1.9-.3 2 .6c0 .4-1.6 1.7-1.5 4.7q.1 4.7.5 6c.3 1 1 2.4 1.4 3.2.5.8.7 1.7 1.1-.1s1.5-4.4 1.9-6.1.6-1.8.7-2.7c.2-.9 1.2-1.6.7 0l-1.3 5.2c-.3 1.5-1.1 4.2.2 2 1.4-2 6.4-7.7 7.3-8.8l2-2.8c.7-.8 2.4-1.9 3.3-3.1a29 29 0 0 1 3.9-4zm-69.5-129.2c0 3.1 3.5 9 5.5 12.2q2.7 4.5 2 4.6c-.2.2-1-1.4-2.1-2.8s-3.2-4.7-5-7.2c-1.6-2.5-4.2-8.4-4.5-8.9-.4-.5-.5-.9-1.4-.2s-2.5 7.2-.5 11.6 5 7.6 6.3 9.2 3 4 2.7 4.1c-.3.2-.8-.4-2.3-2L221 187a52 52 0 0 1-3.8-6q-.4-.6-.8-.2c-.5.6-1.4 1.9-1 5.4a17 17 0 0 0 5.3 10.2c2.3 2.4 4.6 4.5 4.2 4.9-.3.3-2.7-1.8-4.3-3.3-1.6-1.6-5.5-5.4-6.4-6.5s-2.1-.5-2 3.7c0 4.3 4.7 8.5 6.6 10.9 2 2.3 4.4 3.7 4.2 4.2s-2.2-.7-3.4-1.6l-7-4.6c-1-.7-1.4.6-.2 4.6s4.7 7.2 6.8 8.7 5.4 3.3 5.2 3.8q-.4.4-3.6-1.1a39 39 0 0 0-6-2.3c-1.6-.5-1.6.7-1.6.7s-.3 3.5 2.2 6.2a13 13 0 0 0 8 4.3c2.6.5 3 .6 3 1q-.1.5-1 .5l-5.4.2q-3.3 0-3.4 1.6c-.1 1.6-.1 2.3 3.3 4.6s7.2 2.6 8.8 3 1.7.4 1.4.9-1.1.4-3.6.7c-2.6.2-4.1 1.2-4.5 2-.3.6.2 2.6 2.3 4q2.9 2 8.8 1.6c4-.3 5-.3 5.1.3.2.7-1.2 1-3.2 1.2-2 .4-3.5.4-4.7 1.3-1.1 1-.2 2.9 1.7 4.3 2 1.4 6.8 1.4 8.8 1.3 2-.2 5-.9 5.3-.4s-1.5 1.4-3.6 2.1c-2 .8-2.7 1.2-3 2.1-.5.9-.1 1.7 2.3 2.6 2.5 1 6.1 1 8 0q2.8-1.2 3.2-.8.4.5-.4 1.1c-.4.5-2 1.8-4 2.3-2.1.6-2.3.6-3 2.2q-1 2.7 4.8 3.2c3.8.1 8.8-1.4 10.4-2.3q2.2-1.4 2.5-.8.4.3-.6 1.1c-.8.6-3.4 2.5-4.7 2.8-1.2.3-1.4 1.3-1.4 2.1 0 1-.3 2.6 3 3.5q5.3 1.4 11-2.4a8 8 0 0 0 2.2-2 28 28 0 0 1 .2-8q-1.2 0-3.4-.9c-2-.8-2.8-2.6-3.3-3.6q-.6-1.3-2-.8-1 .5-2.6.6a8 8 0 0 1-5.3-2.8c-1.8-2-1.4-4-1.5-5 0-1-1.7-.3-2.5-.3s-3.1-.4-5.3-1.9c-2.1-1.4-2.1-3.4-2.3-4.3q-.5-1.2-1.7-1.6c-.7-.2-1.8-.5-3.3-1.7a7 7 0 0 1-2-4.4c-.1-.8-1-.8-4-2.4s-2.7-4.7-2.6-6 1.5-2.3 1.5-2.8-1-.6-2-1.2-3.5-1.6-3.6-5.4c0-3.7 2.4-4.1 2.4-4.1l-1.4-.8c-1-.6-3.8-2.5-3.8-4.7s1-3.2 1.8-3.8 2.7-1 2.7-1-1.3-.9-1.8-2.6-.7-3.9.5-5.4c1.3-1.6 3.4-1.6 4.6-1.6s2.1.6 2.5.3q.7-.3 0-1.5a7 7 0 0 1 0-3.7c.3-.8.4-2.2 3.2-3.2s6 1 6.9 1.6c.9.5.5-.8.5-1.7 0-1-2-3.3-4.2-6.6a73 73 0 0 1-5.6-10.2 66 66 0 0 1-4.5-13.4c-.3-1.6-1-.8-1-.8s-.6.2-2.2 4.1a25 25 0 0 0-1.6 10.5"/> + <path fill="#d4af3a" d="M276.5 241.4c-1.7-.1-4-1-5.7-3.6-1.7-2.5-4.3-3-8.8-3-4.4.1-6.5-2-7.6-5.2-1.1-3 .1-6.6 4.7-8.9 4.6-2.2 6.7-4.7 6.8-8.6.2-3.9-4.5-8.7-9.3-14.1-4.7-5.5-8.4-13.2-8.4-13.2s-1.4 1.8-1.4 3.7c0 1.8.7 3.7 0 4.2s-1-.8-3.7-2-5-1.4-6.7.6 0 5.4 1.5 7c1.6 1.7 2.9 3 2.4 3.5s-2.7-.9-3.5-1.4-2.6-2.5-5.3-2.3-3.6 1-3.8 3.3c-.3 2.3 2.4 4.2 4.1 5.1q2.6 1.4 2 2-.6.3-1.7-.3a8 8 0 0 0-4.3 0c-1.4.6-3.6 2.5-1.5 4.8s6.4 3.2 7.2 3.3c.9.2 1.3 0 1.4.6s-1.8.7-4.1.8c-2.4.1-3 2.4-2.7 4 .3 1.8 4.2 3.7 6.4 4 2.1.4 2.9 0 3 .7q.3.8-1.4 1.2c-1.2.3-3.5.6-4 2.5s-.5 2.7 1.3 4.4c1.8 1.6 4.8 1.4 5.6 1.2.9-.2 2-1.1 2.8-.3.9.9-.8 1.6-2.3 2.6s-1.3 3 1.2 4.4 5 .9 6 .5c1-.3 2.4-2 3.1-1 .7 1.1-2.2 1.5-3.4 3-1.2 1.4-.7 3.8 1.7 5.3s6.4.4 7-.2q1.2-1 2.1-.3c.9.7-.2 1.9-.8 3-.5 1.3-1.4 4.8 2.2 6.2s6.9-1.7 7.5-2.3q1-.8 1.7-.5.6.5-.1 1.4c-.5.6-1.4 3.2 1.2 5a6 6 0 0 0 4.7 1l2-7.2h-.6q-.4.2-.4.7t-.2.4q-.3 0-.8.5-.8.6-1.1.5c-.3-.2 1-.8 1.2-1.2.3-.4 1-1 1-1.4q0-.5.9-1.1l.4-.6a101 101 0 0 0 1.7-12.7zM203 187.6a37 37 0 0 0 9.3 12.1l-1-3.2c-.4-1.4-.2-2.9-.2-2.9s-1.3-1.7-3.8-5.6c-2.6-3.9-3.9-9.6-3.9-9.6s2.4 5.7 4.2 8.8c1.8 3 4 5.5 4 5.5s.6-2.7 1.2-2.8q.7-.2 1.3.8.8.8.9.6l-1.6-2.8-1.5-2.2c-1.5-2.3-4.6-6.6-6.1-10.9-1.6-4.3-5.1-15.1-5.7-18.3s-1.2-1.4-1.8.9a28 28 0 0 0-1 10.7 54 54 0 0 0 5.7 18.9m5 21 3.5 2.5-.6-1.7-.3-2.9-2.8-2.5a42 42 0 0 1-5.6-6c-3-3.6-.6-1.4 1.8 1.2s7 6.3 7 6.3v-.8a3 3 0 0 1 .7-1.9c.4-.6.2-.6-2.4-2.6a75 75 0 0 1-17.6-24.4s-1.4 9 4 18.7c5.4 9.9 10.8 13 12.2 14.1zm28.5 56.3c3-1.2 2.1-4.1 2.1-4.1s-1.8.5-3.5 1.2-5.8 1.8-7.4 1.8-1.7-.2-1.7-.4 1.2 0 3.6-.4a29 29 0 0 0 7.2-3.1q1-.7-.4-.7a5 5 0 0 1-2.4-.9c-.4-.3-1.5.1-4.2.8a51 51 0 0 1-21.5.7c-.6-.2-1.3.2.7 3.7 2.1 3.5 9.4 5.3 14.4 5.3s10.1-2.8 13-3.9zm-13.4-7.2c5.2 0 7.1-1.5 7.1-1.5l-.7-1.3c-.7-1-.6-2.9-.6-2.9l-3.4.6c-2.1.3-4.6.6-7.4.1s-1.6-.8.6-.5c2.2.2 6.4-.6 7.8-1s.8-1-.1-1.3-3.5-1.9-3.5-1.9-6.3.8-12.1.2c-6-.7-9.6-2.2-10.8-2.4s-1.2.3-1.2.3-.3.6 1.8 3.7c2 3.2 6 5.3 9.3 6.3q5.3 1.6 13.2 1.6m-1.4-12.2-.5-1.3c-.3-1 .6-1.9.6-1.9s-1.2-.3-5.1-.8-4.1-.8-6.5-1.3-4-1.3-4-1.5q.2-.4 2.3.6c1.4.5 7.4 1.2 9.9 1.5q3.7.6 4.3.4c.5-.3 2-.7 2-.7l-2.4-.5a8 8 0 0 1-3.2-1.3c-.7-.5-.9-.6-4-1-3.3-.3-5.8-1.3-11.5-3.4s-10-4.6-11.1-5.5c-1.2-1-1-.3-.8 1 .3 1.1.3 2.6 3.2 6 2.8 3.3 4.2 4.8 11.5 7.4s15.3 2.3 15.3 2.3M200.2 228a41 41 0 0 0 15.5 6.4c.4-.4-.4-2 0-2.8.4-1.1 1-1.1 2.6-1.2s.5-.4.2-.4l-3-.7c-2.6-.7-5.2-1.1-8.7-2.4-3.5-1.4-4.6-2.3-4.5-2.6s1.6.8 5 2c3.2 1.3 7 1.8 9 2.3 2.1.4.3-.5-.7-1s-2.3-2.8-2.3-2.8-2.3-.4-6-1.5a49 49 0 0 1-10-4.2q-1.7-1-3.3-2.2l-5.1-3.7c-1.3-1-1-.2-.8.4s1 3.2 3 6.1c2 3 2.7 3.8 9.1 8.3m-1-12.7c6.3 5 11.7 6.6 12.6 7s.9-.2.7-.7-.3-2.2-.3-2.2l-4.8-2.8a80 80 0 0 1-7.1-4.7c-1.9-1.3-.8-1.2-.2-.7s3.1 2 5.7 3.6l6.4 3.9s.1-.9.7-1.4 1.8-.4 1.8-.4l-1-1.3c-.4-.6-2.5-1.3-4.9-2.4a58 58 0 0 1-9.6-6.8c-3-2.6-9-9.1-9.5-9.7q-.6-.7-.7.3c0 .6-.2 1 .4 4s3.5 9.4 9.8 14.3m22.3-47.2q1.1 2.2 2 3.6l1.4 2.4s.2-.5 0-1.4q-.2-1.2 0-3.5l.3-2.3-.5-1.9-1.5-7c-.5-2.7-1-6.4-.9-9.7s.5-1.6.5 0a62 62 0 0 0 2.8 17.2s0-.9.5-2.1q.8-2 2-4.2c.5-1.6.3-1.9.3-1.9s-2.2-10.6-2.8-15.6-1.5-18.1-1.5-18.1c-3.3 3.2-5.7 11.8-6 20-.4 6 .6 11.7.9 14q.7 6.8 2.5 10.5m-7.2 16.8c.1-2.4.7-4.3 2.2-4.8 0 0-1.3-2.4-2.5-5.8a46 46 0 0 1-1.9-7.7c-.8-5.6-1.5-11.5.2-2 1.7 9.7 3.7 13 3.7 13l2.5 4a17 17 0 0 1-.4-4.9c.1-1.9.4-4.5 1-6.5 0 0-3-6-4.9-13a82 82 0 0 1-3.2-22.7s-3 2.3-4 13.9a69 69 0 0 0 7.3 36.5m33.3 88.6-2-1.3c-1.4-.9-1-3.7-1-3.7l-1.4 1a19 19 0 0 1-3.7 2.2c-1.5.6-2.2 1-3 1.2q-1.4.4 0-.5c.8-.4 1-.7 3-1.4 1.9-.8 5.7-4.2 5.7-4.2l-2.5-.1c-1.6 0-3.6-.9-3.6-.9s-1.6 1.4-8 4.2a50 50 0 0 1-11.8 3.5s.7 3.2 3.8 4.3c2.5 1.1 6 1.8 12.9.2a44 44 0 0 0 11.6-4.5m8.4 6.5c.5-2.7-1-4.6-1-4.6l-1.3 1.1c-1 .9-2.4 2.5-5 3.9-2.8 1.3-3.7 1.2-1.1-.2s6.4-5.3 6.4-5.3l-1-.4c-1-.4-2.8.3-10 4.6s-11.4 4.5-11.4 4.5 3.2 3.9 12 3.6c8.7-.3 11.8-4.5 12.4-7.2m16.5-3.1s-1 1.3-2.3 2.2-4.7 1.4-4.7 1.4l-.8 1.2c-.7 1-2.2 3-3.7 4-1.6 1.2-4 2-4.1 1.6s1.4-.8 2.9-1.8 2.8-2.6 3.8-3.7-.4-1-.4-1h-3.5c-1.7-.2-1.4 0-1.9.7l-2.4 3-4.4 5.1c-1 1.2-.2 1.5-.2 1.5s.4.7 4.3 1.2c2.4.2 5 0 7.8-1.6a23 23 0 0 0 5.2-4.5c4.6-5.1 4.4-9.3 4.4-9.3m2 10.5-1.4 1.8 1.2-3q.5-.9 1-1.4-1.1-2.1-1.6-4.7c-.5 1.4-1.8 5.5-3.4 8.1-2 3.2-3.8 4.4-2.7 5.3q2 1.4 6-.2c2.4-1.2 3.1-3.3 3.5-5l-1.2-2.1-1.3 1.2z"/> + <ellipse cx="274" cy="158.6" fill="#d4af3a" rx="1.8" ry="1.6"/> + <path fill="#d4af3a" d="M270.3 155.5c1.6 0 2.4-.8 4.2-.6q3.3.4 8.6 3.3a15 15 0 0 0 9.8.9q1.5-.6 2.9-1.4c4.2-2.4 3.2-7.1 3.2-7.1a17 17 0 0 1-10.7 3.2l1 .8c.5.6 1.7 1.4 1.3 1.7s-2-1.2-3.2-2.2a19 19 0 0 0-6.5-3.2c-3.3-1-7-1-9.5.4s-2.7 3-2.3 3.7q.3.6 1.1.5zm46.2 34.7c-.8-.2-2.1-.4-3.8-2a71 71 0 0 1-6.3-7q-.8-1.2.9-2c1.1-.5 2-2 2-2s-2.6-1-4.3-2.2a44 44 0 0 1-6.2-5.7c-.6-1-.3-1 .5-1.3q1.1-.6 1-.8c-.1-.2-1.8-1.2-3.5-2.6l-4-3.6c-2.6 1-6.7.6-8.9.2-3.8-.7-6.6-2.3-6.6-2.3l-.6 1.8c-.5 1.2-2.3 1.8-4 .7s-1.4-3.7-1.4-3.7-1.5-1-4.4-2q-4.3-1.7-7.8-.2c-2.4 1.1-3.6 4.4-3.6 7 0 2.4 1.4 1.3 1.6 1s.9-2.1 3.9-2.6 5.7 1 9.2 3.8 4.1 3 5.9 4.8c1.7 1.8.3 2.7-2.6 3.7-3 1-6.8-1-6.9-.9-.6.3 1.3 3 3.8 4 2.6 1 5.8.3 8.3-.8 1.7-.6 2 0 2.6.6a15 15 0 0 1 4 9 4 4 0 0 0 2.6-3c0-.6.2-1.8 1.2-1 1 1 1.7 6 1.7 8.2s-.7 5.3-.7 5.3h.7l2.3-1.2c1.1-.7 1.2 0 1.2 1.3s.4 3.6 2 7.8 4.1 5.5 4.1 5.5.5-.8 1-2.5.8-4.8.8-7.7c0-2.8-.8-8.8-.8-8.8s3.5 4.2 7 5.2c3.6 1 7.2.4 8.7-1.3s.1-2.5-.6-2.7"/> + <path fill="#d4af3a" d="M293 201s-1 2.5-1.7 3.3l-.8 1s1 1 2.6 1.4l3 .8s-1.8-2.4-2.4-4.1l-.7-2.3zm21.4-1.3-.8-2.1a15 15 0 0 1-8.2-1.7s1.7 3.3 3.3 4.5l1.9 1.2s-1.7.3-3.9-2c-2.2-2-3.1-4.6-3.1-4.6s.5 5.8-.4 9.3l-1.1 4s4.6.9 9.8-.6c5.2-1.4 5.6-1.9 5.6-1.9s.6-.1-.2-1.2a28 28 0 0 1-2.9-5z"/> + <path fill="#b96b29" d="m305 187-1.8-2.3s-.5.5 0 1.3a15 15 0 0 0 4.3 3.7 11 11 0 0 0 3 1.2v-.4s-3.9-1.7-5.5-3.5m-6.3 12-.4-8.3c0-1-.7-.8-.7-.8l-.8.3 1.6 10.6c.1 1.2.7 1 1 1-.6-.3-.7-2.5-.7-2.8m-9.8-31.4c-.6-.6-2-1-.7.4s3 3.2 3.5 4.7c.5 1.4.8 3.3 0 2.9s-1.5-.4-2.4-1.2a15 15 0 0 0-3.2-2.1c-.7-.2-2 0-1 1a25 25 0 0 0 4 3.6l4 2.6 1.9 1.3s-.9-6-2.5-8.5a26 26 0 0 0-3.6-4.7m-32 99.2a7 7 0 0 1-2.8 1.3s-.8 0-.8.2 1 0 1.8-.1a8 8 0 0 0 2.6-1.4c.5-.4 1.2-.8 1-1.4-.3-.6-.6.5-1.8 1.4m10.3 5.5-2.2 1.8-1.3.7q-1 .4-.9.6 0 .3.9 0c.9-.3 2.7-1.7 3.4-2.3q1.1-.7.7-1t-.6.2M225.3 198c.4.4.8 1 1 .9q.3-.3-.5-1l-.8-.9-1.1-1.5c-.4-.4-1-.7-.3.3zm-3.2 7 1.4 1.3c.5.5.8 1.1 1.1.8s-.7-.9-1.2-1.5l-1.4-1.4-1.2-.8zm1.2 11.2c.8.9 2 1.1 2.1.8q.3-.5-.7-1l-2.3-1.4-1.4-1.1q-.7-.7-1-.6c-.1.1 1.1 1.5 1.5 1.7q.6.3 1.8 1.6m2.3 9q.2-.5-.6-.5l-1.6-.2s-1.3-.5-1.3-.2c-.1.3 1 .8 1.5.8l1.4.4q.5.2.6-.3m1 9.8c-1.4 0-2.6-.3-2.7 0-.1.1.6.5 1.3.7q1.4.4 3 .4c1 0 1-.2 1-.6 0-.5-1.2-.5-2.6-.5m11 10.8q-.3-.2-1.5 0-1.4.5-2.8.5l-2.4-.1-.9.2q.2.2 3 .4c1.7.2 2.9-.2 3.7-.3q1.2-.3 1-.7zm4.6 7.6a6 6 0 0 1-2.2.4l-2.2.3s-.8 0-.6.4c0 .3.3 0 1-.1h2.3l2.5-.5c.7-.1 1.5-.5 1.2-1s-1.2.2-2 .5m8.9 5.8-2.4 1.8-1.2.6q-.9.6-.6.8c.2.2.6-.3 1-.5.5-.1 1.8-1 2.5-1.6s1.6-1 1.5-1.5q-.2-.5-.8.4m-14.8-74.8 1.7 2.3c1.6 1.9.7.1.3-.4l-3.4-4.5c-.8-.9-.9-.5-.5 0zm-3.2 9.8c.2-.2-.3-.4-1.2-1.5l-2.6-3.3s-.5-1-.7-1c-.1.1.6 1.8 1.3 2.5s1.7 2 2.2 2.7q.6 1 1 .6m4.2 18.5c0-.5-1.7-.5-2.5-.6l-2.2-.5s-1.6-.3-1.7 0q0 .2 1.2.5l3.4.8c1 .1 1.8.3 1.8-.2m-4.2-10q1.6 1.4 2.5 1.7.8.8 1.4.5.3-.6-1.3-1.1-1.5-.8-1.4-.9l-1-.5c-.6-.3-1.4-.6-.2.3m9.9-6.5-1.4-1s-.8-.8-1-.5 1 1 1.5 1.6c.6.5 1.6 1.9 2 1.6.6-.3-.4-1.1-1.1-1.7m-6.5 25.7-1.6.4q-1.1.3.5.4c1.1 0 1.5-.3 2.7-.5q1.6-.2 1.3-.7t-1.2 0zm1.7 9.3c0 .2.8 0 1.4-.2s1.8-.9 2.5-1q.9-.3.7-.8c-.2-.5-.8 0-1.7.2s-2 1.2-2 1.2-.8.4-.9.6m12 5.6q1.3-.7.7-1-.3-.5-1.2.2l-2 1.5-1 .5q-1.1.4-1 1c.1.1 1.2 0 1.7-.6s2-1 2.8-1.6m5.7 7.5c.3-.3 1.3-.6 1.8-1 .4-.3.7-1.3.3-1.4q-.3 0-1.3 1l-3.5 2.4-.7.3c-.8.2-.4.5.2.4q.8 0 1.8-.7zm8.3 7.1a10 10 0 0 0 2.3-1.7c.5-.4 1.1-1 .7-1.3q-.4-.3-1.3.6l-2.1 2.2s-.3 0-1 .7c-1 .7 0 .5.2.3z"/> + <path fill="#d4af3a" d="m295.2 143.5 3.2 1.4 3.4-2.4-4-1z"/> + <ellipse cx="309.2" cy="142.1" fill="#b96b29" rx="3.2" ry="3.1"/> + <circle cx="309.2" cy="141.4" r="1.9" fill="#d4af3a"/> + <path fill="#d4af3a" d="M302.4 131.4c.9.3 2 .2 2 .2s.3-1.4-.5-2.1l-2-1.7-.5-.6-.1 2c0 .8.3 1.9 1.2 2.2z"/> + <circle cx="304.2" cy="133" r=".6" fill="#d4af3a"/> + <path fill="#d4af3a" d="m299.8 132.4-.8.9s.6 0 1.2.4q.8.7 1.8.6c.7 0 1-.7.8-1q0-.8-1.5-1.3c-1-.4-1.3 0-1.5.4m2.2 3.7c-2 .2-4.7-2-4.7-2q-.4 2.6-3 3l.1.1s1.6.8 3.5 1.1a7 7 0 0 0 2.5-.2c1-.2 2.3-.5 3-1 1.2-.7.8-2.6.8-2.6s-.2 1.5-2.2 1.6m-7.9-2c-.8-.3-2-.9-2.6-1-.5 0-1.2 0-1.1.9s1.1 1.4 2 1.4q1.3 0 2.1-.6 1-.4-.4-.7m-6.3-3.4q-1.5-1-1.7-.9c-.2.1-.6 1.6-.3 2.6q.5 1.3 2 1.2c.8 0 2-.5 1.7-1.2a5 5 0 0 0-1.7-1.7"/> + <ellipse cx="288.6" cy="135.1" fill="#d4af3a" rx=".7" ry=".5"/> + <path fill="#d4af3a" d="M290.6 127.3a11 11 0 0 1 2-9.3c2.5-3.6 7-5.1 7-5.1l1.5-1.8c1.4-1.5 4.2-3.4 4.2-3.4l-5.2 1.5a2.3 2.3 0 0 1-2.2 2.4q-.8 0-1.3-.4c-1 .1-4.4 2.2-5.3 2.9l.3 1.2a2.3 2.3 0 0 1-2.2 2.3q-.6 0-1-.2l-.3.5-1.7 3.7q1 .6 1 2-.2 2.1-2 2.3v1.5c.1.7.4 1.2 1.7 1.6 1.3.3 3.1 2.6 3.1 2.6.1 0 1-1.6.4-4.3"/> + <path fill="#d4af3a" d="M298.6 110.3q.8-.7.2-1.4-.7-.5-1.5.1-1 .8-.2 1.4.6.5 1.5-.1m-8.5 5.7q.9-1 .3-1.7-.8-.6-1.8.1c-1 .7-.6 1.3-.2 1.7q.7.6 1.8-.1z"/> + <circle cx="285.1" cy="123.2" r="1.3" fill="#d4af3a"/> + <path fill="#d4af3a" d="M313.3 105q-1 .2-3.8 1.6 2.1.1 2.3 1.9c0 1-1.1 2.2-2.4 2.2a2 2 0 0 1-2.2-2.2l.1-.7-1.7 1.2a18 18 0 0 0-7.2 8c-2 3.8-2.8 8-2 10.4 1 2.5 4.2 3 4.3 3q-.2 0-.5-.8l.3-1.6v-2.1s.8-.1 1.2.4l1.4 1.7 1.6 1.5s.6-1 .6-2.1-.7-2.3-.9-4.3c-.1-2 1-5.5 2.8-8 2-2.6 5.5-5 6.6-5.5a2 2 0 0 0 1.3-1.7l.3-2c0-1.2-1-1.1-2-.9z"/> + <path fill="#d4af3a" d="M309.2 109.5c.7 0 1.4-.7 1.4-1.3q-.1-1-1.3-1-1.3 0-1.4 1c-.1 1 .6 1.3 1.3 1.3m6.2 24.4q1.7.4 2.6-.2c.6-.4.7-1.3.1-1.8a2 2 0 0 0-2.1-.2l-2 1.3s.4.5 1.4.9"/> + <path fill="#d4af3a" d="M318.6 135c-.4.6-.7.9-1.8 1-1 0-2.3 0-3-.8l-1.3-1.7h-1.2s-.4 1.7-1 2.1-2.5.6-3.3 0c-.9-.7-1.6-1.4-1.8-1.3q-.3.2.9 1.4c1.2 1.2 1.5 1.3 2.9 1.3h8s1.6 0 2-1q.7-1.4.3-1.7t-.7.7"/> + <path fill="#d4af3a" d="M306.4 133.7c1.2.6 1.9.2 2.3-.3l.6-.8-1.7-.7q-.8-.7-1.5-.6l-.6.1s-.3 1.6 1 2.2z"/> + <ellipse cx="300.7" cy="121.9" fill="#b96b29" rx="2.7" ry="2.6"/> + <path fill="#b96b29" d="M305.3 112.7c-1-.7-2.6-.4-3.5.6-.9 1.1-.7 2.6.4 3.3 1 .7 2.6.4 3.5-.6.8-1.1.7-2.6-.4-3.3"/> + <ellipse cx="300.6" cy="121.5" fill="#d4af3a" rx="1.6" ry="1.5"/> + <path fill="#d4af3a" d="M304.2 113a2 2 0 0 0-2 .8q-.4 1 1 1.4c1.7.3 2.5-1.8 1-2.2m-40.7 206s-4.1 2-5.4 2.3l-1.6.4s-2.8 2.5-4.9 3.8a18 18 0 0 1-7.1 2.4c-3.2.4-12 .3-16 .1s-6.4.8-8.1 2.7-2.1 4.7 0 6.8c2.2 2.1 4.6 1 5.4-.2.8-1.3.4-3 0-3.7-.3-.8.7-1 1.8-1.1a24 24 0 0 1 10.7 2.3c1.3.7.6.8-.3.7q-1.4-.2-3.5-1.1-2.4-1-4-1c-1.6 0-.7.5-.5.9l1 1.6c.1.4-.3 1.9-.3 1.9l.5 1 .8-1.5c.2-.5-.1-1.5.1-2q.5-.7 1.7.4a7 7 0 0 1 1.8 3.5c.3 2-.3 3.3-.3 3.3s.8.7 1 1.1l-.3 2.3s.6.3 1-.7c.6-1 1.2-3 1.3-3.6s.6-1.9 1.4-1q1.3 1.6 1.5 2.6l.2 1s1.8-1.7 2.4-2.8a17 17 0 0 1 3.6-3.9c1.7-1.4 4.6-4.2 6-5.2s5.2-3 6.4-3.6c1.1-.7 1.3-.8 1.5-2.7s1.2-3.8 1.6-5.1zm-65.8-73.7c0-.4-.7-1.5-.8-2.1s-.8-.3-.8-.3-1.3.8-2.3 1c-1 .3-1 0-1.2-.6l-.5-3.2c-.2-1-.4-1-.8-.8l-2.4 1c-.9.3-.6.7-.3 1.2l1.6 3.1c.5.7 0 1-.4 1.3l-2.3.6q-1.3.5-.8 1c0 .3.8 1.7 1.1 2.3s.7.2.7.2 1.1-1 2-1.4 1-.3 1.2.4l1.5 4.8q.3.9 1 .4l1.6-.4c.5-.2.7-1.3.7-1.3l-2.5-4.4c-.5-1 0-1.1.4-1.2s1.6-.2 2.6-.5.7-.8.7-1.2zm22.3 96.5c-.1-.8 0-1.7-.6-2.3a8 8 0 0 1-1.8-3c-.3-1 .3-1.6.2-2.2s-1-.6-1.7 0c-.8.7-1.9 1.3-1.9 3.2s.7 4.2 3.4 5c2.6.8 2.6.2 2.4-.6zm2.7-.9s-.5-.3-.8.2c-.2.5-.2.7.5 1.9.7 1 1.2 1.3 2 1.8s.2-.5.1-.8l-.2-1c-.2-.5-.3-.5-.3-1.3s-1.3-.8-1.3-.8"/> + <path fill="#d4af3a" d="M226 350c.5-.8 1-1 2.1-1.5a15 15 0 0 1 4.2-1c.7 0 2.5-1.4 2.2-3-.3-1.4-1.4-2-2.3-2.2q-1.6-.5-2.1.2-.4.8-2 1.4c-1.6.6-1.1.7-1.8 1-.6.1-.1.5-.7 1s-1.3 0-2.1-.3-1-.4-1.9-.4l-3.4-.2h-.7c-.6 0-.6 0-.9.6s.1 2.1.7 2.9 2.6 1 3.9 1.5l3 .8c1.2.1 1.3 0 1.8-.8m12.2 1.2c1-.7.4-2 .2-2.7s-1.7-.9-2.5-.9q-1-.1-1.5.4t-2 1.2c-1.2.3-2 .7-3.6 1.3-1.5.6-2 1.6-2.6 2s-1.9 0-1.9 0-.9-.2-1.2 0q-.4.5.6 1.5c.6.6 1.8.6 3 1 1.4.4 1.6 0 2.1-.3s1-1 1.8-1.6c1-.6 3-.7 3.9-.8 1-.1 2.6-.4 3.7-1.1m0-4.6c.4.4 1 1 1.3.3s1-2 .6-2.8q-.8-1.4-1-1.5l-1 3q-.6.6 0 1zm-4-7c0-1.2-1-2.8-1-2.8s-.3 1.2-.9 2.2l-1 1.6 1.7.4c.5 0 1.1 0 1.1-1.3zm-7.6 2.8q2-.4 2.7-1.3c.6-.5 1-1.9.6-2.6s-1.4-1.4-1.8-1.4h-.8s-.4 1.3-1 2q-1 .7-1 1.9c0 .8-.1 1.7 1.3 1.4m2.8-6.3a2 2 0 0 0-.6-1.9l-.8-.7-.2 1.6-.1.6.7.6c.4.1 1 .4 1-.2m-17.3-35.7 1-6a39 39 0 0 0-6.3-15.4c-2.4-3.8-5-10-6-13.2a37 37 0 0 1-2-10c0-2.3 1-3.5 1-3.5s.5-.6.1-1-1 0-1.7.6a8 8 0 0 0-1.5 2.6l-.3 1.1s-1.2-.3-3.3-.1q-3 .2-3 .8-.2.5 1.7 1.4c1.5.6 2.4.9 3.1 1.7.8.9 2.6 5.2 3.2 7.3s1.8 7.8 2.3 12.2a49 49 0 0 0 4 14.4c.8 1.5 4.5 8.5 7.7 7zm3.7 10.4c-1.4.8-1.3 6.4-.7 9.3s3.4 6.5 4.3 7.5 1 1 1.5.7l.7-.2s1.2-.5 2.1-1.2.6-2.5.4-4c-.1-1.6-1.4-4.8-3.6-8.5-2.2-3.6-3.3-4.4-4.7-3.6m1.5-4.5c0-1.9-1.6-3.2-3.4-3.2q-1.4 0-2.1.6c-1.9 1.7-.7 5.8 2 5.8q1.5.1 2.7-.8 1-1 .8-2.4m26.5 52.7a7 7 0 0 1-2.2-1.2 10 10 0 0 1-3.1-3c-.3-.7-.3-.7-1.4-.4-1 .4-2.5.3-3.6.4-1 0 .2 1.3 1 2.4.7 1.2.4 5.1.4 5.1l-.1.9q-.2 1 .2 1 .3.4 1.3-1c.8-.9 2.2-3.2 2.2-3.2l1.4.3c1.2.3 3.1.1 4.1-.2s.6-1-.2-1.1"/> + <path fill="#d4af3a" d="M239.2 362q-.7-.1-1 .2l-.6 1.4q-.1.4.2.9l.8.5s.4.5.8.7.5-.4.5-.9l.3-1.9q0-.8-1-.9"/> + <path fill="#1d5e91" d="M435 324.2q-2-.6-1.9-.8 0-.3-1 .7c-.3.8-2 1.8-2 1.8s-2.2.6-2.5 2.2c-.3 1.5.8 2 1.8 1.9 1.1-.2 3.7-.7 4.9-2.1 1.1-1.4 1.3-2.2 1.5-2.7s.4-.7-.9-1zm3.5-12.4a15 15 0 0 0-7.4-9.9l-2.1 7.5c-.5 1.8-.5 1.7.9 2l6.7 1.6c.9.3 2.4 1 1.9-1.2m-20.6-3.2c1 .1 1-.3 1.3-1.7l2.1-8.2s-4.5-.1-8.5 1.8c-3.9 1.9-5.6 5.4-5.6 5.4s1 .4 3.7 1 6 1.5 7 1.6zm-10.5 9.3-2.2-.4s1 3.8 2.7 6 3.5 3.2 7 3.3 6-1.9 6.5-3.4 1.1-2.6 1.1-2.6-6.2-.8-8.8-1.4z"/> + <path fill="#d4af3a" d="m406.3 315.5 15.5 3q1.7.6 2.2.2c.3-.3.5-.5 1.6-.9s1.1-1.5 1.1-1.5l.4-2.2c.2-1 .8-1.4 2-.1 1.3 1.3 1.5 3.2 1.7 5 .3 2 3.2 2.4 4.4 2.6q1.5.3 2.3-1.3c.7-1 1-3.2 1.2-4.6s0-1.2-1.4-1.6l-9.3-2.2c-1.2-.2-1-1-.7-1.9.1-.8 2.8-9.2 2.8-9.2a19 19 0 0 0-7.7-2.3l-2.3 10c-.3 1.3-1.2 1.3-2.5 1-1.4-.2-11.3-2.5-11.3-2.5l-.8 1.8a16 16 0 0 0-1.1 5.2c0 1.2.4 1.2 1.9 1.5"/> + <path fill="#d4af3a" d="M440.3 323.3c-1.3-.9-2.3-1.1-3 .5s-.7 4-2.4 5.6c-1.8 1.7-4.2 3.4-6.6 3.2s-3.7-.7-3.2-3.5 4.3-3.6 5.1-5q1.4-2.4-.6-4.2c-1.3-1.1-3.1-1.3-3.6-1a8 8 0 0 0-2.8 3.7c-.7 2-1.2 3.7-2.8 5a12 12 0 0 1-9 2c-3.1-.8-4.3-1.8-5.5-5-1.2-3.1-2.6-8.3-3.2-9-.7-.5-1.5-1-2.8 0-1.4 1-1.5 2.4-1.7 3.6q-.5 1.7 1.4 4.1c1.4 1.7 2.8 3.3 3.3 5s2 4.4-.1 4.5c-2.2.2-3.2.2-4.8-1.4-1.7-1.6-8.2-6-10-7.4l-2.5-2q-4.5 0-9-3.3s1.8 4.4 2.1 6.1l.3 2.6 9.1 4.6a168 168 0 0 1 10.3 5.8c2.5 1.5 4.7 4 9.1 3 4.5-.9 13.5-3.6 16.5-4.5 2.9-.9 11-2.9 14-5 3-2 3.2-1.9 3.7-4q.7-2.8-1.3-4m-17.2-31 2.2-.3c1.5-.1 1 1.3.7 1.9l-1.4 2.7c-.6 1 .2 1.2.6 1.4l2.3.6c1.3.3 1-.6 1-1l.3-3.8c.1-.9 1-.6 1.2-.5l1.7 1q1 .3 1-.4l.8-2c.2-1-.4-.8-1-.8h-2.4c-1 0-.4-1-.4-1l1.3-2.1c.6-.9.4-1-.2-1.2l-2.8-.7q-.7-.1-.7.3l-.1 2.7c0 .7 0 1-1 1q-1 0-2-1.1c-.7-.8-1-.5-1-.2l-.8 3c-.2.7.1.6.6.6zm4.8 21.8s-.1 1.7-.3 2.3c-.2.7-.6 1.6.1 1.8q1.2.4 1.8.4c.5-.1.3-1 0-1.7a6 6 0 0 0-1.1-2.2zm10.5 7q.4.7 1 .7.8.3 1-.5.3-1.2-.5-2.2c-.5-.8-.8-1.3-1.1-.2q-.7 1.4-.4 2.2m-36.7-7 1.4.4s0-1.7.3-2.8c.2-1.2.7-2 .3-2q-.6 0-1 .9c-.3.5-1.1.6-1.4 2s.1 1.4.4 1.4z"/> + <circle cx="408.9" cy="311.2" r="2.3" fill="#b96b29"/> + <circle cx="415.5" cy="312.8" r="2.4" fill="#b96b29"/> + <circle cx="434.6" cy="316.9" r="2.4" fill="#b96b29"/> + <circle cx="422.1" cy="314.4" r="2.4" fill="#b96b29"/> + <circle cx="423.8" cy="308.6" r="2.4" fill="#b96b29"/> + <circle cx="425.5" cy="302.9" r="2.4" fill="#b96b29"/> + <circle cx="409.1" cy="310.9" r="1.2" fill="#d4af3a"/> + <circle cx="415.6" cy="312.6" r="1.2" fill="#d4af3a"/> + <circle cx="434.8" cy="316.6" r="1.2" fill="#d4af3a"/> + <circle cx="422.2" cy="314.1" r="1.2" fill="#d4af3a"/> + <circle cx="424" cy="308.4" r="1.2" fill="#d4af3a"/> + <circle cx="425.7" cy="302.6" r="1.2" fill="#d4af3a"/> + <path fill="#d4af3a" d="m349.5 359.1-5.2-3.6a12 12 0 0 1-3.9-4h1q1-.1 1-1.5.1-1.3-.2-4.1c-.2-1.8.3-3.3.3-3.3s1.3 1.1 3.1 2c1.9 1 2.6.6 2.6.6l.5-1.9 2 3.7c1 2 4.1 4.2 6.3 5.8 2.2 1.7 4.6 3.4 6.4 4s.8 1.5.8 1.5-1.8 1.8-6.5 2.7c-4.7.8-7-1-8.2-1.9"/> + <path fill="#d4af3a" d="M333.2 357.3q2.6-.1 3-2.6c.2-1.2-.1-5.7-.1-5.7l1.2 1.2c.6.8 2 1 2 1s.2.6.9 1.6a9 9 0 0 0 3 3.2c1.6 1 3.5 2.2 4.7 3.2a28 28 0 0 0 4.2 3.1 7 7 0 0 1 3.6 4.7c.6 2.4.1 3.1-1.7 3s-2 0-5-.7c-3-.8-7.3-4.1-10.4-6s-5.4-6-5.4-6"/> + <path fill="#d4af3a" d="M325 360s1.2-1.6 1.6-3.4l1.4-5.4 1.4 3.3a5 5 0 0 0 2.8 2.7s0 .9 1.5 2.7a21 21 0 0 0 5.6 4.8c2.2 1.2 5 3 6.5 5.1 1.5 2.2 1.6 4.4 1 5.4-.8 1-1.8-.1-3.2-.9-1.5-.7-5.6-1.3-11.2-4.4-5.6-3-7.5-9.9-7.5-9.9z"/> + <path fill="#d4af3a" d="M322.5 372.7c-1.6-2.4-1.8-8-1.8-8l1.3-1c.7-.7 2.2-2.9 2.2-2.9l2 3.8c1 1.8 1.4 2.4 3.6 4.3 2 2 5 3.9 6.1 6 1.3 2 .6 6.1-.2 7.5s-2 1-3.1-.1L329 379c-2.1-1.7-5-4-6.5-6.3"/> + <path fill="#b96b29" d="M341 325.3c-.8-1.7-1.8-3.7-2.5-4.8l-1.3-2.2s2 1.8 2.8 3.1q1.2 2 1.6 4 .6 2.3-.6 0zm-8 1.5-.5-1.9s-.3-1-.2-1.1q.5-.2 1.6 2.5c.6 1.8 1.5 4.5 1.3 4.6s-1.9-3-2.2-4.1m-6.3 5-.4-.8s-.6-2-.6-2.5.2-1 .7.1.6 2.2.7 2.6c.1.5.7 2.1.5 2.3s-.5-.9-1-1.7zm19.5 19.2.9-.5 1.2 1.5q1.2.8 2 1.7a8 8 0 0 0 2.8 2.3q2 1 1.5 1.1c-.2.2-1.1-.3-1.1-.3s-.4 0-2-1c-1.5-.9-1.9-1.4-2.9-2.3zm-6.8 8.1c-.6-.6-1.2-1-.9-1.4q.6-.5 1.3.2l2.9 2.6 2 1.5c.7.6 2.3 1.4 3 1.8s0 .5 0 .5l-1.2-.5-2.4-1-1.7-1c-1-.7-2.4-2-3-2.7m-7.8 5.5c-.5-1 0-.8.8-.4.9.3 2.8 2.4 3.9 3.1q1.5 1 3 1.6c.8.4.8.7.8.9q-.1.3-.8 0l-1.7-.9-1-.2q-.8 0-2.4-1.6c-1.1-1-2.1-1.5-2.6-2.5m-3.7 7.2c1.4.8 3.8 2.7 4.4 4q1 1.9.9 2.3c-.3.2-1-.2-1.2-.7l-1-1.2s-2.4-2.4-3.2-3a8 8 0 0 1-2.7-3c-.3-1 0-1.4 0-1.4s1.4 2.1 2.8 3"/> + <path fill="#c52126" d="M365 170a22 22 0 0 1 8.3-2.6c3.6-.3 6.4.2 9.5 1q3.1.9 5.6.3c2.6-.7 4.6-3 5.3-6 0 0 2.4 3.1 0 6.5a7 7 0 0 1-4.3 2.9c-5.1 1-10.1-2-14.3-2.4-4.1-.2-7.3 2.4-7.3 2.4s-1 .8-2.4 0q-2.1-1.1-.4-2.2z"/> + <path fill="#d4af3a" d="m379.6 317.5 1.2-.2c.7 0 2.2-.6 2.7-.8q.9-.4 1.6.3c.5.5 4.1 2.7 4.1 2.7h-6c-2.1 0-3.5-2-3.5-2z"/> + <path fill="#d4af3a" d="M362.6 316.4v-.5l.8-1.8s1 .6 1.8 1.5c1.2 1.3 2.5 3 3 3.7 1 1.3 2.5 2.5 1.3.5s-1.6-3-2.6-4.4l-1.6-2 3.4-.5c2.5-.3 4.2-1.3 5.3-2l3.3-1.9s4.3 1.9 6 2.3c1.6.4 2.5.6 1 1.4-1.6.8-3 1-3.7 1.5a12 12 0 0 1-4.6 1.2c-1.5 0-4 0-3 1a22 22 0 0 1 4.2 13l-.1 2.5s-1.8-2-6.6-5a71 71 0 0 0-7.4-4.4c-.9-.4-1.3-.4-1.2-1.5z"/> + <path fill="#d4af3a" d="m344.4 302 .8-.4h.3c.5.3 3.4 2.3 4.6 4.2s2.4 2 1 0a18 18 0 0 0-3.2-4.2l-1-.8a53 53 0 0 0 7.3-4.2q.6 1.1 1.7 2.5c1 1 3.2 2 3.2 2s-1.8-2-2.4-3.3l-.8-2.5a32 32 0 0 0 4.8-4.6c.3 1.3 1.3 4.2 4.2 7.4 3.7 4.2 11.2 6.3 11.2 6.3s2.6.3.5.9c-2.1.5-3.6 1.5-7.8.8l-5-1.1c-.5-.2-2 0 0 .7 2.1.8 7 1.5 8.8 1.4s4.4-.6 1.7.8c-2.6 1.4-3.7 2-5.3 2s-2.3.5-4 .5c-1.5 0-2-.3-3-.5q-1.8-.3-1.9.6c0 .4 1.5 1.7 1.5 4.7q0 4.7-.6 6c-.3 1-1 2.4-1.4 3.2s-.6 1.7-1-.1-1.5-4.4-1.9-6.1l-.8-2.7c-.1-.9-1.1-1.6-.6 0l1.2 5.2c.4 1.5 1.1 4.2-.2 2-1.3-2-6.4-7.7-7.2-8.8l-2.1-2.8c-.7-.8-2.4-1.9-3.2-3.1a29 29 0 0 0-4-4zm69.5-129.2c-.1 3.1-3.5 9-5.5 12.2q-2.9 4.5-2.1 4.6c.3.2 1.1-1.4 2.2-2.8l4.9-7.2c1.7-2.5 4.2-8.4 4.6-8.9s.4-.9 1.3-.2 2.6 7.2.5 11.6c-2 4.4-5 7.6-6.2 9.2s-3 4-2.7 4.1c.3.2.7-.4 2.3-2a47 47 0 0 0 9.6-12.5q.3-.5.8 0c.5.5 1.4 1.8 1 5.3a17 17 0 0 1-5.3 10.2c-2.3 2.4-4.6 4.5-4.3 4.9.4.3 2.7-1.8 4.3-3.3 1.6-1.6 5.6-5.4 6.4-6.5 1-1 2.2-.5 2.1 3.7 0 4.3-4.7 8.5-6.7 10.9-2 2.3-4.3 3.7-4.1 4.2s2.1-.7 3.4-1.6l7-4.6c.9-.7 1.3.6.1 4.6s-4.6 7.2-6.7 8.7c-2 1.5-5.4 3.3-5.2 3.8q.5.4 3.5-1.1c2-1 4.3-1.8 6-2.3 1.6-.5 1.6.7 1.6.7s.4 3.5-2.1 6.2a13 13 0 0 1-8 4.3c-2.6.5-3 .6-3 1s.4.5 1 .5l5.3.2q3.5 0 3.5 1.6c0 1.6 0 2.3-3.3 4.6-3.5 2.3-7.3 2.6-8.9 3s-1.6.4-1.3.9 1 .4 3.6.7c2.5.2 4 1.2 4.4 2 .3.6-.2 2.6-2.3 4q-2.9 2-8.7 1.6c-4-.3-5-.3-5.2.3q0 1 3.2 1.2c2 .4 3.6.4 4.7 1.3s.3 2.9-1.7 4.3c-1.9 1.4-6.7 1.4-8.7 1.3-2-.2-5.1-.9-5.3-.4s1.5 1.4 3.5 2.1c2.1.8 2.7 1.2 3.1 2.1s0 1.7-2.4 2.6a12 12 0 0 1-8 0q-2.7-1.2-3.2-.8-.3.5.4 1.1c.4.5 2 1.8 4.1 2.3 2 .6 2.3.6 3 2.2s-1.1 3-4.9 3.2c-3.7.1-8.7-1.4-10.3-2.3q-2.2-1.4-2.5-.8-.5.3.6 1.1c.8.6 3.3 2.5 4.6 2.8s1.4 1.3 1.4 2.1c0 1 .4 2.6-3 3.5-3.3.8-7.3.2-10.9-2.4a8 8 0 0 1-2.2-2 28 28 0 0 0-.3-8q1.2 0 3.4-.9c2-.8 2.8-2.6 3.3-3.6s1.2-1 2-.8q1.1.5 2.7.6a8 8 0 0 0 5.3-2.8c1.7-2 1.4-4 1.5-5 0-1 1.6-.3 2.4-.3s3.2-.4 5.3-1.9c2.2-1.4 2.2-3.4 2.4-4.3q.5-1.2 1.7-1.6c.7-.2 1.7-.5 3.2-1.7s2-3.5 2-4.4c.2-.8 1-.8 4-2.4s2.8-4.7 2.6-6c0-1.3-1.5-2.3-1.5-2.8s1-.6 2-1.2 3.6-1.6 3.6-5.4c0-3.7-2.4-4.1-2.4-4.1l1.5-.8c1-.6 3.7-2.5 3.7-4.7s-1-3.2-1.7-3.8-2.7-1-2.7-1 1.2-.9 1.8-2.6c.5-1.7.7-3.9-.6-5.4s-3.4-1.6-4.5-1.6-2.2.6-2.6.3q-.6-.3 0-1.5c.4-.8.4-3 .1-3.7s-.4-2.2-3.3-3.2-5.9 1-6.8 1.6c-1 .5-.5-.8-.5-1.7 0-1 1.9-3.3 4.1-6.6 2.2-3.4 3.2-5.1 5.7-10.2A66 66 0 0 0 409 159c.4-1.6 1-.8 1-.8s.7.2 2.2 4.1a25 25 0 0 1 1.7 10.5"/> + <path fill="#d4af3a" d="M363.4 241.4c1.7-.1 4-1 5.7-3.6 1.7-2.5 4.3-3 8.8-3 4.5.1 6.6-2 7.7-5.2 1-3-.2-6.6-4.8-8.9-4.5-2.2-6.6-4.7-6.8-8.6-.1-3.9 4.6-8.7 9.3-14.1s8.5-13.2 8.5-13.2 1.4 1.8 1.4 3.7c0 1.8-.7 3.7 0 4.2s.9-.8 3.7-2c2.7-1.2 5-1.4 6.7.6s0 5.4-1.6 7c-1.5 1.7-2.8 3-2.4 3.5s2.8-.9 3.5-1.4 2.6-2.5 5.3-2.3 3.6 1 3.9 3.3-2.4 4.2-4.2 5.1q-2.6 1.4-2 2 .7.3 1.7-.3a8 8 0 0 1 4.3 0c1.4.6 3.6 2.5 1.6 4.8-2.1 2.3-6.4 3.2-7.3 3.3-.8.2-1.3 0-1.4.6s1.8.7 4.2.8c2.3.1 3 2.4 2.7 4-.4 1.8-4.3 3.7-6.4 4-2.2.4-3 0-3.1.7q-.3.8 1.4 1.2c1.2.3 3.6.6 4 2.5s.5 2.7-1.3 4.4c-1.8 1.6-4.7 1.4-5.6 1.2s-1.9-1.1-2.8-.3.8 1.6 2.3 2.6 1.4 3-1.1 4.4-5 .9-6 .5c-1-.3-2.5-2-3.2-1-.7 1.1 2.2 1.5 3.4 3 1.2 1.4.8 3.8-1.6 5.3s-6.4.4-7.1-.2q-1.2-1-2-.3c-.6.5.2 1.9.7 3 .5 1.3 1.5 4.8-2.2 6.2s-6.9-1.7-7.5-2.3q-1-.8-1.7-.5-.6.5.2 1.4c.4.6 1.4 3.2-1.2 5a6 6 0 0 1-4.7 1q-1-2.9-2-7.2h.5q.5.2.5.7-.1.4.2.4c.3 0 .3.2.8.5q.6.6 1 .5c.3-.2-.9-.8-1.2-1.2s-1-1-1-1.4q0-.5-.8-1.1l-.5-.6-1.2-7.2-.4-5.5zm73.7-53.8c-3.9 7.8-9.3 12.1-9.3 12.1l1-3.2c.3-1.4.1-2.9.1-2.9s1.4-1.7 3.9-5.6 3.8-9.6 3.8-9.6-2.3 5.7-4.1 8.8c-1.9 3-4 5.5-4 5.5s-.7-2.7-1.2-2.8q-.8-.2-1.4.8-.7.7-.8.6l1.5-2.8 1.6-2.2c1.4-2.3 4.5-6.6 6-10.9a169 169 0 0 0 5.7-18.3c.7-3.2 1.3-1.4 1.9.9s1.4 5.7.9 10.7a54 54 0 0 1-5.6 18.9m-5 21-3.5 2.5.5-1.7.3-2.9 2.9-2.5a42 42 0 0 0 5.6-6c2.9-3.6.5-1.4-1.9 1.2-2.3 2.6-6.9 6.3-6.9 6.3v-.8a3 3 0 0 0-.7-1.9c-.4-.6-.2-.6 2.3-2.6a74 74 0 0 0 17.6-24.4s1.5 9-4 18.7c-5.4 9.9-10.8 13-12.2 14.1m-28.5 56.3c-3-1.2-2.2-4.1-2.2-4.1s1.8.5 3.5 1.2a36 36 0 0 0 7.5 1.8c1.6 0 1.6-.2 1.7-.4s-1.3 0-3.7-.4a29 29 0 0 1-7.2-3.1q-1.1-.7.5-.7a5 5 0 0 0 2.3-.9c.4-.3 1.5.1 4.2.8a51 51 0 0 0 21.5.7c.7-.2 1.4.2-.7 3.7s-9.3 5.3-14.4 5.3-10-2.8-13-3.9m13.4-7.2c-5.2 0-7.2-1.5-7.2-1.5l.7-1.3c.7-1.1.6-2.9.6-2.9l3.4.6q3.3.6 7.5.1c4.2-.5 1.6-.8-.6-.5a29 29 0 0 1-7.8-1c-1.4-.5-.9-1 0-1.3s3.5-1.9 3.5-1.9 6.3.8 12.2.2 9.6-2.2 10.8-2.4c1.1-.2 1.1.3 1.1.3s.3.6-1.7 3.7c-2 3.2-6 5.3-9.4 6.3a50 50 0 0 1-13.1 1.6m1.3-12.2.6-1.3c.3-1-.6-1.9-.6-1.9s1.2-.3 5-.8c4-.5 4.2-.8 6.5-1.3q3.8-1 4-1.5 0-.4-2.2.6a94 94 0 0 1-14.3 1.9c-.4-.3-2-.7-2-.7l2.4-.5a8 8 0 0 0 3.2-1.3c.7-.5 1-.6 4.1-1 3.2-.3 5.8-1.3 11.5-3.4 5.6-2 10-4.6 11-5.5 1.2-1 1.1-.3.8 1-.3 1.1-.2 2.6-3.1 6-2.9 3.3-4.3 4.8-11.5 7.4s-15.4 2.3-15.4 2.3m21.4-17.6a41 41 0 0 1-15.5 6.4c-.3-.4.4-2 0-2.8-.3-1.1-1-1.1-2.6-1.2-1.5-.1-.5-.4-.1-.4l3-.7c2.5-.7 5.1-1.1 8.6-2.4 3.6-1.4 4.6-2.3 4.5-2.6s-1.6.8-4.9 2c-3.2 1.3-7 1.8-9 2.3-2.2.4-.4-.5.6-1s2.4-2.8 2.4-2.8 2.3-.4 6-1.5a49 49 0 0 0 10-4.2l3.2-2.2 5.2-3.7c1.3-1 .9-.2.7.4s-1 3.2-3 6.1c-2 3-2.7 3.8-9 8.3zm1-12.7c-6.2 5-11.7 6.6-12.6 7s-.8-.2-.7-.7l.3-2.2 4.8-2.8c2.5-1.4 5.3-3.4 7.2-4.7 1.8-1.3.7-1.2.1-.7s-3.1 2-5.7 3.6l-6.4 3.9s0-.9-.6-1.4-1.9-.4-1.9-.4l1-1.3c.5-.6 2.6-1.3 4.9-2.4s6.5-4.2 9.6-6.8 9.1-9.1 9.5-9.7q.6-.8.7.3c0 .6.3 1-.4 4s-3.4 9.4-9.7 14.3zM418.5 168q-1.1 2.2-2 3.6L415 174v-1.4q.3-1.2 0-3.5l-.2-2.3q.1-1.1.4-1.9l1.6-7c.4-2.7.9-6.4.8-9.7s-.5-1.6-.5 0-.1 4-.6 7.8-2.1 9.4-2.1 9.4-.1-.9-.6-2.1l-1.9-4.2c-.6-1.6-.4-1.9-.4-1.9s2.3-10.6 2.8-15.6l1.6-18.1c3.2 3.2 5.6 11.8 6 20 .4 6-.6 11.7-1 14q-.7 6.8-2.5 10.5zm7.2 16.8c0-2.4-.6-4.3-2.2-4.8 0 0 1.4-2.4 2.6-5.8a45 45 0 0 0 1.8-7.7c.9-5.6 1.6-11.5-.1-2-1.7 9.7-3.8 13-3.8 13l-2.4 4c.3-1.7.4-3 .3-4.9 0-1.9-.3-4.5-1-6.5 0 0 3-6 5-13a81 81 0 0 0 3.1-22.7s3 2.3 4 13.9a68 68 0 0 1-7.3 36.5m-33.2 88.6 1.9-1.3c1.5-.9 1-3.7 1-3.7l5.2 3.2c1.4.6 2.1 1 3 1.2 1 .3.7 0 0-.5-.8-.4-1-.7-3-1.4-2-.8-5.8-4.2-5.8-4.2l2.5-.1c1.6 0 3.6-.9 3.6-.9s1.6 1.4 8 4.2a50 50 0 0 0 11.8 3.5s-.6 3.2-3.7 4.3c-2.6 1.1-6 1.8-13 .2a44 44 0 0 1-11.5-4.5m-8.4 6.5c-.6-2.7 1-4.6 1-4.6l1.3 1.1c1 .9 2.3 2.5 5 3.9s3.7 1.2 1-.2a39 39 0 0 1-6.3-5.3l1-.4c1-.4 2.7.3 10 4.6 7.1 4.3 11.4 4.5 11.4 4.5s-3.2 3.9-12 3.6c-8.7-.3-11.9-4.5-12.4-7.2m-16.6-3.1s1 1.3 2.3 2.2 4.8 1.4 4.8 1.4l.8 1.2c.6 1 2.1 3 3.7 4 1.5 1.2 4 2 4 1.6.2-.3-1.3-.8-2.8-1.8s-2.9-2.6-3.9-3.7.5-1 .5-1h3.5c1.7-.2 1.3 0 1.8.7l2.4 3 4.4 5.1c1 1.2.3 1.5.3 1.5s-.5.7-4.4 1.2c-2.4.2-5 0-7.7-1.6a23 23 0 0 1-5.2-4.5c-4.7-5.1-4.5-9.3-4.5-9.3m-2 10.5 1.5 1.8s-.7-2-1.3-3l-.9-1.4q1-2.1 1.6-4.7c.4 1.4 1.7 5.5 3.4 8.1 2 3.2 3.8 4.4 2.6 5.3s-3.4 1-6-.2c-2.4-1.2-3-3.3-3.4-5l1.2-2.1q.5.2 1.3 1.2"/> + <ellipse cx="-365.9" cy="158.6" fill="#d4af3a" rx="1.8" ry="1.6" transform="scale(-1 1)"/> + <path fill="#d4af3a" d="M369.7 155.5c-1.6 0-2.5-.8-4.3-.6a26 26 0 0 0-8.5 3.3 15 15 0 0 1-9.8.9q-1.5-.6-2.9-1.4c-4.3-2.4-3.2-7.1-3.2-7.1a17 17 0 0 0 10.6 3.2l-.9.8c-.6.6-1.7 1.4-1.4 1.7s2-1.2 3.3-2.2 3.2-2.2 6.5-3.2 7-1 9.4.4 2.7 3 2.4 3.7q-.4.6-1.2.5m-46.2 34.7c.8-.2 2-.4 3.8-2a69 69 0 0 0 6.3-7q.8-1.2-1-2c-1-.5-1.9-2-1.9-2s2.5-1 4.3-2.2 5.6-4.8 6.2-5.7c.5-1 .3-1-.5-1.3q-1.2-.6-1-.8c.2-.2 1.8-1.2 3.5-2.6l4-3.6c2.6 1 6.6.6 8.8.2 3.8-.7 6.7-2.3 6.7-2.3l.6 1.8c.5 1.2 2.2 1.8 4 .7s1.4-3.7 1.4-3.7 1.4-1 4.4-2q4.3-1.7 7.7-.2c2.4 1.1 3.6 4.4 3.6 7 0 2.4-1.3 1.3-1.6 1s-.8-2.1-3.8-2.6-5.8 1-9.2 3.8-4.2 3-6 4.8c-1.6 1.8-.3 2.7 2.7 3.7s6.7-1 6.9-.9c.5.3-1.3 3-3.9 4s-5.8.3-8.3-.8c-1.7-.6-2 0-2.5.6a15 15 0 0 0-4 9 4 4 0 0 1-2.6-3c-.1-.6-.3-1.8-1.2-1-1 1-1.8 6-1.8 8.2s.7 5.3.7 5.3h-.7l-2.3-1.2q-1.3-.8-1.2 1.3c.1 2.1-.4 3.6-2 7.8s-4 5.5-4 5.5-.5-.8-1-2.5a33 33 0 0 1-.8-7.7c0-2.8.7-8.8.7-8.8s-3.4 4.2-7 5.2-7.1.4-8.6-1.3-.2-2.5.6-2.7"/> + <path fill="#d4af3a" d="M347 201s1 2.5 1.6 3.3q.9 1.2.9 1c0-.2-1.1 1-2.7 1.4l-3 .8s1.8-2.4 2.4-4.1l.7-2.3zm-21.5-1.3.9-2.1a15 15 0 0 0 8.1-1.7s-1.6 3.3-3.3 4.5l-1.8 1.2s1.6.3 3.8-2c2.2-2 3.2-4.6 3.2-4.6s-.5 5.8.4 9.3l1 4s-4.6.9-9.8-.6c-5.2-1.4-5.6-1.9-5.6-1.9s-.6-.1.2-1.2a28 28 0 0 0 3-5z"/> + <path fill="#b96b29" d="m335 187 1.7-2.3s.6.5 0 1.3a16 16 0 0 1-4.2 3.7c-1.6.9-3.1 1.2-3.1 1.2v-.4s4-1.7 5.5-3.5zm6.3 12 .4-8.3c0-1 .6-.8.6-.8l.8.3-1.5 10.6c-.2 1.2-.7 1-1 1 .5-.3.6-2.5.7-2.8m9.8-31.4c.6-.6 1.9-1 .6.4s-3 3.2-3.4 4.7c-.5 1.4-.8 3.3 0 2.9s1.4-.4 2.3-1.2c1-.7 2.6-2 3.3-2.1s2 0 1 1a25 25 0 0 1-4 3.6l-4 2.6-2 1.3s1-6 2.6-8.5a26 26 0 0 1 3.6-4.7m32 99.2c1.2 1 2.8 1.3 2.8 1.3s.7 0 .7.2-.9 0-1.8-.1a8 8 0 0 1-2.6-1.4c-.4-.4-1.1-.8-.9-1.4s.6.5 1.8 1.4m-10.4 5.5 2.3 1.8 1.3.7q.9.4.8.6 0 .3-.8 0c-.7-.2-2.8-1.7-3.5-2.3q-1-.7-.7-1 .4-.2.6.2m42-74.4c-.4.4-.9 1-1 .9q-.3-.3.4-1l.8-.9 1.1-1.5c.4-.4 1-.7.3.3zm3.1 7-1.3 1.3c-.5.5-.9 1.1-1.2.8s.7-.9 1.2-1.5l1.4-1.4 1.3-.8zm-1.2 11.2c-.8.9-2 1.1-2 .8q-.3-.5.7-1a24 24 0 0 0 4.6-3c.2 0-1 1.4-1.4 1.6q-.6.3-1.9 1.6m-2.2 9q-.2-.5.5-.5l1.6-.2s1.3-.5 1.4-.2-1 .8-1.6.8l-1.4.4q-.5.2-.5-.3m-1 9.8c1.4 0 2.6-.3 2.7 0q-.2.3-1.4.7c-.7.3-2 .3-3 .4q-1.2 0-1-.6c0-.5 1.3-.5 2.7-.5m-11 10.8h1.4c.8.3 2.1.5 2.8.5l2.4-.1 1 .2c0 .2-1.3.2-3 .4-1.8.2-3-.2-3.8-.3q-1.1-.4-.9-.7zm-4.6 7.6 2.1.4 2.3.3s.7 0 .6.4c-.1.3-.4 0-1-.1h-2.4q-1.6-.2-2.5-.5c-.7-.1-1.5-.5-1.1-1s1.1.2 2 .5m-9 5.8 2.5 1.8 1.1.6c.8.4.7.6.6.8s-.6-.3-1-.5l-2.5-1.6c-.7-.6-1.6-1-1.4-1.5q.1-.5.8.4zm14.9-74.8-1.7 2.3c-1.6 2-.7.1-.4-.4l3.4-4.5c.8-.9 1-.5.5 0zm3.2 9.8c-.2-.2.3-.4 1.1-1.5l2.7-3.3.6-1c.2.1-.6 1.8-1.3 2.5s-1.6 2-2.1 2.7q-.7 1-1 .6m-4.3 18.5c0-.5 1.8-.5 2.6-.6l2.2-.5s1.6-.3 1.6 0q0 .2-1.2.5l-3.3.8c-1 .1-1.9.3-1.9-.2m4.3-10-2.5 1.7q-1 .8-1.4.5-.4-.6 1.2-1.1l1.5-.9 1-.5c.5-.3 1.3-.6.2.3m-10-6.5 1.4-1s.9-.8 1-.5c.2.3-1 1-1.5 1.6-.5.5-1.5 1.9-2 1.6s.5-1.1 1.2-1.7zm6.6 25.7 1.5.4q1.2.3-.4.4c-1.6.1-1.6-.3-2.7-.5s-1.5-.3-1.3-.7q.3-.4 1.2 0zm-1.8 9.3c.1.2-.8 0-1.4-.2s-1.7-.9-2.4-1q-.9-.3-.7-.8c.2-.5.7 0 1.6.2s2 1.2 2 1.2l1 .6zm-12 5.6q-1.2-.7-.7-1 .4-.5 1.2.2l2 1.5 1.1.5c.5.2 1.2.7 1 1-.2.1-1.2 0-1.7-.6s-2-1-2.9-1.6m-5.6 7.5c-.4-.3-1.4-.6-1.8-1-.5-.3-.8-1.3-.4-1.4q.4 0 1.4 1l3.5 2.4.7.3q.9.4-.2.4c-.7-.1-1-.1-1.8-.7zm-8.4 7.1a9 9 0 0 1-2.2-1.7c-.5-.4-1.2-1-.8-1.3q.6-.3 1.4.6l2.1 2.2s.2 0 1 .7 0 .5-.3.3z"/> + <path fill="#d4af3a" d="m338.2 142.5 4-1 2.5 2-3.1 1.4z"/> + <ellipse cx="-330.8" cy="142.1" fill="#b96b29" rx="3.2" ry="3.1" transform="scale(-1 1)"/> + <circle cx="-330.8" cy="141.4" r="1.9" fill="#d4af3a" transform="scale(-1 1)"/> + <path fill="#d4af3a" d="M337.5 131.4c-.8.3-1.9.2-1.9.2s-.3-1.4.5-2.1l2-1.7.5-.6v2c.1.8-.3 1.9-1.1 2.2"/> + <circle cx="-335.8" cy="133" r=".6" fill="#d4af3a" transform="scale(-1 1)"/> + <path fill="#d4af3a" d="m340.2 132.4.8.9s-.7 0-1.2.4q-.9.7-1.9.6a1 1 0 0 1-.8-1q.1-.8 1.5-1.3c1-.4 1.3 0 1.6.4m-2.2 3.7c2 .2 4.6-2 4.6-2q.5 2.6 3 3v.1s-1.7.8-3.5 1.1a7 7 0 0 1-2.5-.2 11 11 0 0 1-3-1c-1.2-.7-.9-2.6-.9-2.6s.2 1.5 2.2 1.6zm7.8-2c.8-.3 2-.9 2.6-1 .5 0 1.3 0 1.1.9 0 1-1 1.4-2 1.4s-1.5-.3-2-.6q-.9-.4.3-.7m6.3-3.4q1.6-1 1.7-.9c.1.1.6 1.6.3 2.6s-1 1.2-1.9 1.2-2.1-.5-1.8-1.2q.5-.8 1.7-1.7"/> + <ellipse cx="-351.3" cy="135.1" fill="#d4af3a" rx=".7" ry=".5" transform="scale(-1 1)"/> + <path fill="#d4af3a" d="M349.4 127.3c.5-2.7.4-5.6-2-9.3a16 16 0 0 0-7-5.1L339 111c-1.4-1.5-4.3-3.4-4.3-3.4l5.2 1.5a2.3 2.3 0 0 0 2.3 2.4q.6 0 1.3-.4c1 .1 4.4 2.2 5.2 2.9l-.3 1.2a2.3 2.3 0 0 0 2.3 2.3l1-.2.3.5 1.6 3.7q-1 .6-1 2c0 1.3 1 2.3 2 2.3v1.5q.1 1-1.7 1.6c-1.3.3-3 2.6-3 2.6-.2 0-1.1-1.6-.4-4.3z"/> + <path fill="#d4af3a" d="M341.3 110.3q-.6-.7-.1-1.4.6-.5 1.5.1c.9.6.6 1 .2 1.4q-.6.5-1.6-.1m8.5 5.7q-.8-1-.2-1.7.8-.6 1.7.1 1 1 .2 1.7t-1.7-.1"/> + <circle cx="-354.8" cy="123.2" r="1.3" fill="#d4af3a" transform="scale(-1 1)"/> + <path fill="#d4af3a" d="M326.6 105q1 .2 3.8 1.6-2.1.1-2.3 1.9c0 1 1.2 2.2 2.5 2.2s2.2-1.1 2.2-2.2q0-.4-.2-.7l1.8 1.2c4.2 2.8 5.1 4.1 7.2 8 2 3.8 2.8 8 1.9 10.4s-4.2 3-4.2 3 .4-.3.4-.8l-.2-1.6c-.2-1 0-2.1 0-2.1s-.8-.1-1.2.4l-1.5 1.7-1.5 1.5s-.7-1-.7-2.1.8-2.3 1-4.3c0-2-1-5.5-2.9-8a22 22 0 0 0-6.6-5.5 2 2 0 0 1-1.3-1.7l-.2-2c-.1-1.2 1-1.1 2-.9"/> + <path fill="#d4af3a" d="M330.8 109.5c-.8 0-1.4-.7-1.4-1.3q0-1 1.3-1 1.2 0 1.3 1 0 1.4-1.2 1.3m-6.2 24.4c-1 .4-2.2.1-2.7-.2s-.7-1.3 0-1.8a2 2 0 0 1 2-.2l2 1.3s-.3.5-1.3.9"/> + <path fill="#d4af3a" d="M321.4 135q.3.9 1.7 1c1.1 0 2.3 0 3-.8l1.3-1.7h1.3s.4 1.7 1 2.1 2.4.6 3.3 0 1.6-1.4 1.7-1.3q.3.2-.8 1.4c-1.1 1.2-1.5 1.3-3 1.3H323s-1.6 0-2-1q-.7-1.4-.3-1.7.2-.3.7.7"/> + <path fill="#d4af3a" d="M333.5 133.7c-1.2.6-1.9.2-2.3-.3l-.5-.8 1.7-.7q.7-.7 1.5-.6l.6.1s.2 1.6-1 2.2z"/> + <ellipse cx="-339.3" cy="121.9" fill="#b96b29" rx="2.7" ry="2.6" transform="scale(-1 1)"/> + <path fill="#b96b29" d="M334.7 112.7c1-.7 2.6-.4 3.5.6.8 1.1.7 2.6-.4 3.3-1 .7-2.6.4-3.5-.6-.9-1.1-.7-2.6.4-3.3"/> + <ellipse cx="-339.4" cy="121.5" fill="#d4af3a" rx="1.6" ry="1.5" transform="scale(-1 1)"/> + <path fill="#d4af3a" d="M335.8 113q1.2-.2 1.9.8.5 1-1 1.4c-1.7.3-2.5-1.8-1-2.2z"/> +</svg> diff --git a/apps/web/public/flags/mf.svg b/apps/web/public/flags/mf.svg new file mode 100644 index 00000000..6305edc1 --- /dev/null +++ b/apps/web/public/flags/mf.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-mf" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#000091" d="M0 0h213.3v480H0z"/> + <path fill="#e1000f" d="M426.7 0H640v480H426.7z"/> +</svg> diff --git a/apps/web/public/flags/mg.svg b/apps/web/public/flags/mg.svg new file mode 100644 index 00000000..5fa2d244 --- /dev/null +++ b/apps/web/public/flags/mg.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-mg" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#fc3d32" d="M213.3 0H640v240H213.3z"/> + <path fill="#007e3a" d="M213.3 240H640v240H213.3z"/> + <path fill="#fff" d="M0 0h213.3v480H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/mh.svg b/apps/web/public/flags/mh.svg new file mode 100644 index 00000000..7b9f4907 --- /dev/null +++ b/apps/web/public/flags/mh.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-mh" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#3b5aa3" d="M0 0h639.9v480H0z"/> + <path fill="#e2ae57" d="M0 467 639.9 0v87L0 480z"/> + <path fill="#fff" d="M22.4 480 640 179.2l-.1-95.5L0 480zm153-464.8L169 118l-27-65.6 10.4 69.8-41.9-56.4 27.5 64.3-55-42.6 42.8 53.6-62.1-27.6 54.4 41.2-67.7-9 64 25.4L14 180.3l100.6 6.7-63.7 26.2 67-9-54.3 40 63-27.6-43 54 54.6-41.3-27 62.9 43.6-54.7-11.8 68.1 27.5-63.7 6.2 100.7 9.7-100.4 23.7 64-9-69 43.4 54.8-28.6-64 54.6 44-43.4-54.9 64.9 27-57.4-41.9 69.9 11.8-67-25.7 104.1-6.5-104-9.7 68.5-22.8-71 9 58.6-41-66 26.5 45.6-55.3-55.6 43.4 26.7-66.4-43.1 56.4 9.3-70.4-25.7 66.5-9.6-102.8z"/> + </g> +</svg> diff --git a/apps/web/public/flags/mk.svg b/apps/web/public/flags/mk.svg new file mode 100644 index 00000000..4f5cae77 --- /dev/null +++ b/apps/web/public/flags/mk.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-mk" viewBox="0 0 640 480"> + <path fill="#d20000" d="M0 0h640v480H0z"/> + <path fill="#ffe600" d="M0 0h96l224 231.4L544 0h96L0 480h96l224-231.4L544 480h96zm640 192v96L0 192v96zM280 0l40 205.7L360 0zm0 480 40-205.7L360 480z"/> + <circle cx="320" cy="240" r="77.1" fill="#ffe600" stroke="#d20000" stroke-width="17.1"/> +</svg> diff --git a/apps/web/public/flags/ml.svg b/apps/web/public/flags/ml.svg new file mode 100644 index 00000000..6f6b7169 --- /dev/null +++ b/apps/web/public/flags/ml.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ml" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="red" d="M425.8 0H640v480H425.7z"/> + <path fill="#009a00" d="M0 0h212.9v480H0z"/> + <path fill="#ff0" d="M212.9 0h214v480h-214z"/> + </g> +</svg> diff --git a/apps/web/public/flags/mm.svg b/apps/web/public/flags/mm.svg new file mode 100644 index 00000000..42b4dee2 --- /dev/null +++ b/apps/web/public/flags/mm.svg @@ -0,0 +1,12 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-mm" viewBox="0 0 640 480"> + <path fill="#fecb00" d="M0 0h640v480H0z"/> + <path fill="#34b233" d="M0 160h640v320H0z"/> + <path fill="#ea2839" d="M0 320h640v160H0z"/> + <g transform="translate(320 256.9)scale(176.87999)"> + <path id="mm-a" fill="#fff" d="m0-1 .3 1h-.6z"/> + <use xlink:href="#mm-a" width="100%" height="100%" transform="rotate(-144)"/> + <use xlink:href="#mm-a" width="100%" height="100%" transform="rotate(-72)"/> + <use xlink:href="#mm-a" width="100%" height="100%" transform="rotate(72)"/> + <use xlink:href="#mm-a" width="100%" height="100%" transform="rotate(144)"/> + </g> +</svg> diff --git a/apps/web/public/flags/mn.svg b/apps/web/public/flags/mn.svg new file mode 100644 index 00000000..6a38a71f --- /dev/null +++ b/apps/web/public/flags/mn.svg @@ -0,0 +1,14 @@ +<svg xmlns="http://www.w3.org/2000/svg" fill="#ffd900" id="flag-icons-mn" viewBox="0 0 640 480"> + <path fill="#da2032" d="M0 0h640v480H0Z"/> + <path fill="#0066b3" d="M213.3 0h213.4v480H213.3Z"/> + <circle cx="106.7" cy="181.8" r="40"/> + <circle cx="106.7" cy="163.6" r="43.6" fill="#da2032"/> + <circle cx="106.7" cy="170.9" r="29.1"/> + <path d="M109.7 76.4a9 9 0 0 0-5.2 7.5c-.2 2.5.9 5.3 1 7.7 0 4.2-4.3 5.6-4.3 11.5 0 2 1.9 4.3 1.9 9.6-.4 2.8-2 3.5-3.7 3.7a3.6 3.6 0 0 1-3.6-3.7 4 4 0 0 1 1-2.5l.4-.3c.8-.9 2-1.2 2-3.4 0-1.1-.8-2.2-1.5-4.2s-.2-5.2 1.4-7.1c-2.6 1-4.1 3.4-5 5.6-.8 2.7 0 4.2-1.2 6.5-.7 1.4-1.5 2-2.3 3.2-1 1.4-2 4.4-2 5.9a18.2 18.2 0 0 0 36.3 0c0-1.5-1.1-4.5-2-5.9-.9-1.2-1.7-1.8-2.4-3.2-1.2-2.3-.4-3.8-1.3-6.5-.8-2.2-2.3-4.6-4.9-5.6 1.6 2 2 5.2 1.4 7.1-.7 2-1.4 3-1.4 4.2 0 2.2 1.1 2.5 2 3.4l.3.3a4 4 0 0 1 1 2.5 3.6 3.6 0 0 1-3.6 3.7c-2-.3-3.5-1.2-3.7-3.7 0-7 3-7.4 3-12.6 0-7.4-6.6-10.9-6.6-16.3 0-1.8.4-5 3-7.4M26.7 229H63v174.5H26.7Zm123.6 0h36.4v174.5h-36.4zm-80 0H143l-36.3 21.8Zm0 29H143v14.6H70.3Zm0 101.9H143v14.6H70.3Zm0 21.8H143l-36.3 21.8Z"/> + <circle cx="106.7" cy="316.4" r="36.4"/> + <g fill="#da2032" transform="translate(-38.8 32.7)scale(.72727)"> + <circle cx="200" cy="363.5" r="10"/> + <circle cx="200" cy="416.5" r="10"/> + <path d="M200 334a29.5 29.5 0 0 1 0 59 23.5 23.5 0 0 0 0 47v6a29.5 29.5 0 0 1 0-59 23.5 23.5 0 0 0 0-47z"/> + </g> +</svg> diff --git a/apps/web/public/flags/mo.svg b/apps/web/public/flags/mo.svg new file mode 100644 index 00000000..f638b6cb --- /dev/null +++ b/apps/web/public/flags/mo.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-mo" viewBox="0 0 640 480"> + <path fill="#00785e" d="M0 0h640v480H0z"/> + <path fill="#fbd116" d="m295 108.7 40.5 29.5L320 90.5l-15.5 47.7 40.6-29.5z"/> + <g id="mo-a"> + <path fill="#fff" d="M320 331.6H217.5l-3.8-4H320a2 2 0 0 1 1.4 2q0 1.4-1.4 2m0-31.3a13 13 0 0 0 1.2-7.6 12 12 0 0 0-1.2-3.8 82 82 0 0 1-32.5 19 81 81 0 0 1-23.5 3.5h-63.1l5.8 8h61c20 0 38.2-7.2 52.3-19.1m-109.6-24.7a32 32 0 0 1-9.7 2 81 81 0 0 0 60.8 27.5 81 81 0 0 0 58.5-25 441 441 0 0 0 4.5-58.8 441 441 0 0 0-4.5-67.7c-6.6 6-19 18.7-24.8 38.3A81 81 0 0 0 292 215a81 81 0 0 0 13.7 45 81 81 0 0 1-17-49.5q.1-18.8 7.8-34.7a33 33 0 0 1-7.5-13 81 81 0 0 0-10.5 40c0 18 5.9 34.7 15.9 48.1a95 95 0 0 0-73.4-29.4 33 33 0 0 1 6.8 8.9 95 95 0 0 1 68.6 29.4 95 95 0 0 0-61-22.2 95 95 0 0 0-36.7 7.3 81 81 0 0 0 82.6 52.2q-7 1.3-14.4 1.3a81 81 0 0 1-56.4-22.8zM320 364.4h-53.1a144 144 0 0 0 53.1 10.1 11 11 0 0 0 1.3-5 11 11 0 0 0-1.3-5.1m0-24.5h-93.6l7.8 6.2H320a5 5 0 0 0 1.3-3.1 4 4 0 0 0-1.3-3.1m0 12.5h-76.7a144 144 0 0 0 14.4 8H320a8 8 0 0 0 1.2-4.2 8 8 0 0 0-1.2-3.8"/> + <path fill="#fbd116" d="m200.5 174.8 25.4 23.6-6.7-34-14.6 31.4 30.3-16.8zm36.9-32 34.7.6-27.7-21 10.1 33.3 11.3-32.9z"/> + </g> + <use xlink:href="#mo-a" width="100%" height="100%" transform="matrix(-1 0 0 1 640 0)"/> +</svg> diff --git a/apps/web/public/flags/mp.svg b/apps/web/public/flags/mp.svg new file mode 100644 index 00000000..26bfa221 --- /dev/null +++ b/apps/web/public/flags/mp.svg @@ -0,0 +1,86 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-mp" viewBox="0 0 640 480"> + <defs> + <clipPath id="mp-a"> + <path fill-opacity=".7" d="M0 0h640v480H0z"/> + </clipPath> + </defs> + <g clip-path="url(#mp-a)"> + <path fill="#0071bc" fill-rule="evenodd" d="M-160 0h960v480h-960z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.9" d="M370 365.7s15.2-16.1 29.8-13c4.4-17 21-18.4 21-18.4s-1.7-18.7 19.5-22.8c.6-12.7 13.5-23.3 13.5-23.3s-2.6-19.7 10.8-24.3c-8.2-15.6 2.8-27 2.7-27.3-.2-.3-14-24.8-1.6-31.8-13-11-8.8-23.4-8.8-23.4s-14.2-3.7-9.1-20.7c-11.7-2-14-20.9-14-20.9s-18 3.7-20.2-12c-12 1.9-13.2-9.8-13.4-9.8-.1 0-23.5 6.3-28.2-11.4-9.1 4.7-13-3.7-13-3.7s-13 6.5-20.8-6c-15.5 9.7-24.2-.4-24.2-.4s-20.3 13.4-27 3c-12 12.2-22.8 7-22.8 7s-9 16-23.7 12c-3.3 14.9-20.2 15.2-20.2 15.2s1.8 13.1-18.4 16.7c-2.6 15.5-13.2 18-13.2 18s1 15.2-8.5 20c3.4 8.5-5.4 18.9-5.4 18.9s9.4 11.7-3.4 24.9c12.3 3.2 3.4 24.4 3.4 24.4s17 7.6 6.3 21.7c12.2 4 8.4 13.6 8.5 19.3 7.8 3.5 14.6 1.8 11.3 17.4 23.8 2.7 12.6 15.8 12.6 15.8s11 .5 6.7 9.3c20.3-.5 23.3 15.2 23.3 15.2s18.8-5 21.3 2.3-8.2 56.7-8.2 56.7-16 0-27.8-12.8c-27.8-.7-21.6-19-22-19-.5 0-9.3 3.4-13.8-11.9-18.6 3.8-18-11.8-18.2-12s-8.3-3.8-5.3-11.5c-19.1 1.7-17.7-17-17.7-17-4.2-1.7-5.7-5.6-5.1-9.5-2.5-.9-19.5-1.2-10.7-23.6-16.2-9.8-6.1-21-6.1-21s-22.4-11.6-5.1-25c-13-19 1-28.5 1-28.5s-17.9-18.1.3-31c-3-27.5 13.4-34.1 13.4-34.1s-8.6-22.4 14.8-31.8c1.5-22.7 17.9-23.3 17.9-23.3s.4-18 26.2-16.2c5-16.1 22.5-12.9 22.5-12.9s5.4-19.5 29.3-10.1c12.1-23.7 30.2-11.6 30.2-11.6s11.4-7.4 17-5c7.3-12.5 22.8-.6 32.7 1.9 3.7-1.5 16.6-11.2 26.5 1 13.2-8.5 24.5 7 24.5 7s18.1-9.2 26.6 11.8c38.5-3.5 33 21.7 33 21.7s30.2-6.9 23.6 23.3c27.6 1.9 24.8 20 24.8 20s17.4 13.2 9.8 25c15.5.8 9.8 15.7 9.8 15.7s11.9 4.6 2 23c22.7 18.1 4.4 36.2 4.3 36-.2-.1 12.1 14.6 1 31.6 3.4 27-10.2 33.8-10.2 33.8s3.5 17.5-11.7 22.4c-.3 20.5-19.7 23-19.7 23s5.2 9-14 18.3c-.8 13.7-20.8 14.8-20.8 14.8s-1.9 25.2-27.4 18.4c-6.1 20.2-36 14.2-36.6 14-.5-.3-5.7-43.4-5.7-43.5z"/> + <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.9" d="M185 124s6.4 5.6 5.2 14-6 19.9-5 28.5c.6 3.5.3 9.7.3 9.7s-5.7-8.2-5.8-17 6.2-17.1 6.2-23.6-1.1-11.7-1-11.5zm-3.2 2.6s-8.4 8-9.5 15.7c-.8 4-1 22.7-1.2 31-.2 2.5-1.2 12.5-1.4 16.2-.3 3.6 6.1-6.2 6.5-14.3-.2-8.3-.2-25.8.6-28.5.8-3.4.6-7.1 1.8-10.5z"/> + <g fill="#ffd200" fill-rule="evenodd" stroke="#ef8a10"> + <path stroke-width="1.9" d="M366 100.5s10.8-5 14-14.4-9.5-9.4-11.1-6.4c-1.7 3 1.4 10.3.6 12.3s-5.2 6.6-3.5 8.4z"/> + <path stroke-width="2.5" d="M269.8 103.9s7-9.7 5.2-19.4c-1.9-9.6-12.8-3.6-12.8-.2s6.2 8.3 6.5 10.4-1.3 8.4 1 9.1zm-19.1 5.7s7-9.7 5.2-19.3-12.8-3.7-12.8-.3 6.3 8.4 6.6 10.5-1.3 8.3 1 9.1zm-21.1 6.5s7-9.6 5.2-19.3c-1.9-9.7-12.8-3.7-12.8-.3s6.2 8.4 6.5 10.5-1.3 8.3 1 9.1zm-15 14.9s7.1-9.7 5.3-19.3-12.8-3.7-12.8-.3 6.3 8.4 6.5 10.5-1.3 8.3 1 9.1zM199 145.4s7-9.7 5.2-19.4-12.8-3.6-12.8-.2 6.3 8.3 6.6 10.4-1.3 8.4 1 9.2z"/> + <path stroke-width="1.9" d="M235 61.7s-9.4 7.4-10.2 17.2 11.3 7 12.2 3.7c1-3.3-3.7-9.7-3.4-11.8.3-2 3.5-7.7 1.4-9zm31.3-9.6s-9.3 7.4-10.2 17.2 11.3 7 12.3 3.7-3.8-9.8-3.5-11.9 3.5-7.7 1.4-9zm-116.7 84.5s2 11.8 10.2 17.3 11.5-6.6 9.1-9-10.3-1.4-12-2.6-5-6.8-7.3-5.7zm-15.6 40s0 12 7.3 18.7 12.4-4.7 10.4-7.4-10-3-11.4-4.5c-1.5-1.6-4-7.5-6.3-6.7zm36 44.8s-4.2-11.2-13.3-15c-9.1-3.6-10 8.8-7.2 10.7 2.9 1.8 10.4-.7 12.3.2s6.3 5.6 8.3 4zm-7.4-19.4s7.2-9.5 5.6-19.1-12.7-4-12.8-.6c0 3.4 6 8.5 6.3 10.6s-1.5 8.3.9 9.2zm225.6-91.9s10.8-5 14-14.3-9.5-9.4-11.1-6.5c-1.7 3 1.4 10.4.6 12.3s-5.2 6.7-3.5 8.5zm32.8 16.4s6.4-10.1 3.9-19.6-13-2.8-12.8.6c.2 3.3 6.8 7.9 7.2 10s-.7 8.4 1.7 9zm89.6 93s-4.3-11.1-13.4-14.9c-9.1-3.7-10 8.8-7.2 10.6 2.9 1.9 10.5-.7 12.3.2 2 1 6.3 5.7 8.3 4.1zm-43.8 7s.2-12 7.5-18.6 12.4 4.9 10.4 7.6c-2.1 2.7-10 2.8-11.6 4.3-1.4 1.5-4 7.4-6.3 6.6zm-7-126.8s-11.3-4.3-20 0c-9 4.4-.2 13.4 3 12.5s6.4-8.3 8.4-9.1 8.4-1 8.5-3.4zM434 78.3s-11.1-4.3-20 0c-8.8 4.4-.1 13.4 3.2 12.5 3.2-1 6.4-8.3 8.3-9.1s8.4-1 8.5-3.4zm-38-20.4s-9.5 7.3-10.4 17c-1 9.8 11.2 7.1 12.2 3.9 1-3.3-3.7-9.8-3.4-11.9s3.6-7.6 1.6-9zm-24.8-6s-4.4 11.1-.1 20 13.3.2 12.4-3-8.2-6.5-9-8.4-.9-8.5-3.3-8.6zm-70.5 43s7.7-9.2 6.6-19c-1.1-9.7-12.5-4.5-12.7-1.1-.3 3.4 5.6 8.8 5.7 10.9s-1.9 8.2.4 9.1z"/> + </g> + <path fill="#8c8a8c" fill-rule="evenodd" stroke="#000" stroke-width="1.9" d="M342.8 114.4s18.5 1.2 19.4 11.8-4.4 17.1-4.4 17.1 2.3 23-15.8 29.7c-19.4 2.3-49.9.5-49.9.5s-9 2.2-12.6-16.3a305 305 0 0 1-4.6-31.6s1.8-10.4 14.9-11c13-.7 52.8 0 53-.2z"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-width="1.9" d="M357.7 143.2s-10 12.4-9 17.5"/> + <path fill="#8c8a8c" fill-rule="evenodd" stroke="#000" stroke-width="1.9" d="M344.3 172.3c2.5 2.1 4.8 4.4 5.3 12l1 15.4 13 116.6 11.4 84.3.8 13s-2.7 9.7-10.4 10.5c-5.5 11.6-35.7 15-38.7 14.9-2.7-.2-12.3-4.2-18.1-3.7s-16 4.4-20.5 3.8-14.8-4.2-16.6-11.6c-12.7-4-14.7-13.7-14.7-13.7l13.7-97.5 13.3-123.4s1.6-16.4 8.2-18.9c6.9-.6 42.4.7 52.3-1.7z"/> + <path fill="none" stroke="#000" stroke-width="1.9" d="m274.4 341.1-2.7 86.3m86.5-74.9 7.6 71.2"/> + <path fill="none" stroke="#000" d="m136.6 296.3-.3 1m358.7-4.1.3 1"/> + <path fill="none" stroke="#6b18b5" stroke-linejoin="round" stroke-width="1.9" d="M127 179.8s5.6 7.9 6.7 12.4c1 4.5 2.9 13.4 5.3 17 2.5 3.7 16.6 23.9 17.4 32.3.1 5.6-5.9 15-14.7 15.2-5.6-.2-19.8-3.8-20.4-16-.6-12.3 4.3-12.5 5-20 .5-7.4.7-40.7.7-40.9z"/> + <path fill="none" stroke="#6b18b5" stroke-linejoin="round" d="M224.5 72.8s-6 .4-10.4 2.9c-3.5 2.1-9.5 5.3-13.6 11-10.6 8.2-26.5 12-31.5 19-3 4.6-2.8 15.7 4.7 20.5 4.8 2.7 19 7 25.8-3.1s2.7-13 6-19.6a117 117 0 0 1 19-30.7zM367 58s-4.4-4-9.3-5.5c-4-1-10.6-.6-17.5-1.3-13.3-1.8-27-11.4-35.3-10.2-5.4 1-13.3 9-11.5 17.6 1.3 5.4 7.3 16.2 19.4 14.1s12-4.8 19-7c17.4-9.7 35-7.7 35.2-7.7zm141.4 137.4c1-2.3-.9-6.6-2.2-11.5-1.2-4-3.1-10-7.7-15.5-5.4-12.2-4.5-29-10-35.4-3.7-4-14.6-6.6-21-.4-3.9 4-11.4 16.6-3.2 25.7s11.8 5.7 17.4 10.5c13.5 9 20 25 26.7 26.6zM503.5 302c1.9-2.5 5.2-7.4 4.8-11.5-.3-3.2 1.5-13 1.7-17.3 1.2-13.3 9.5-24.2 7.2-35.7-1.3-5.4-9.2-13-17.8-10.8-5.2 1.6-17 8-14.3 20s6.6 11.7 9.1 18.7c7.3 14.5 2.7 31.7 9.3 36.6z"/> + <path fill="none" stroke="#000" stroke-width="1.9" d="M405.5 386.8s-2.3 4.4 6.8 8.2m11.3-18.4s10-2.5 16.8 0m13.2-25.4c0 .2-1.4 4.5 6.6 10.8m-.8-22s5.9 4.3 15.8 4m-75.4 8.6s.3 11.5-5.6 16.8m25.4-34.5s9.7 2.4 17.7-1.6m44.6-15.3s2.1 3 12.9 2.5m-54.9-9.3c.3.2 12.7 4.2 20.5.6m4.2-47.8s.5-.7 4.3 12.7m5.2-50.4s-.5 7.1-6.2 10.2m42.9-39.4s-8.4 6.8-6.8 9.5m-34.7-14.4s4.3 7.3-2.8 12.3M448.2 161s7.5-.3 10.8 6.1m-24.8-27.3h5.7m24-26c0 .1 1.5 1.5-1.4 4.5m-52-3.8s4 6.2 3.3 13.9m19.8-35.1c1.8-.2 7.7-2.8 7.7-2.8m-33.4-22c-.1 0-2.2 7.7 1.6 10.5m-11.1 25c0 8.4 6.6 6.3 2 14.3M382.2 97a57 57 0 0 0-10.4 9.4m-16.4-13.7s4.4 4.3 3.3 10.2m-16-13.7s-2.2 6.6-5.1 8.3m-18-10c-.1.3-3.6 7.8-6 9.1m-25.6-9c.2 0 3.5 7-.8 12m-6.5-48c.2.2.7 5.4-2.6 10m-28.7 1.9c0 .1 1.4 5.9-7.8 7.8m-9.9 45.2c.2.3 8.9 1.7 8.9 1.7M210 136.6c.2-.2 10.6-3.3 10.6-3.3m-27.4 16.3c.3 0 7.3 1.3 9 .4m-14 6s2.3 1.3.4 13m-34.2-43.5 4.2 6.2m-18.5 26c0-.2 4.2 6.2 9.8 7.4m23 25.2a49 49 0 0 0 8-2M170 213.8c.2 0-.1-4.3 5.2-7.3M163 224.7c0 .2 5 6.4 8.5 7.3m-11.5 4.7c.6-.2 6-4.9 12.2-4.5m-13.9 20.6s.2 5.4 16.2 4m-14.6 15c0-.2 4.7-10.8 14.2-14.8m-1.4 28.4s1.4-4.6 9.4-7.7m-.5 25.5s5.7-4.7 7.8-5.3m-.7 19.3s3.5 3.6 12.2-2.7m-54 5.6c1-.2 13.7-3.1 18 3.5m-13 7s13.4-1.8 15.1-.4m32.7 3.1s-1.8 3.7 14.7-2.4m5.8 9c-3 5 .7 9-3.2 11.3m-47-4.3c.5-.4 6-2.3 5.2-10.3m-.2 22.3c.7-.2 9.9-4.2 11.8-2.1m6.3 13.7s1.2-8.2 3.8-9m10 21.3s7.7-.1 11-2.6m3.8-25c.2.2 7.1 3.8 22 .2m-16.4 33s2 10.6 2 13"/> + <g fill="#de2010" fill-rule="evenodd" stroke="#000" stroke-width="1.5"> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(1.60885 -.2011 .2072 1.65762 94.8 75)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(1.60885 -.2011 .2072 1.65762 93.4 57.3)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(1.58497 -.3417 .35206 1.633 78 74)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(1.4455 -.73446 .7567 1.4893 55.9 163)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(1.4455 -.73446 .7567 1.4893 48.9 147.1)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(1.3781 -.85423 .88011 1.41987 40 167.4)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(1.28907 -.98346 1.01327 1.32812 33.8 193)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(1.1329 -1.15994 1.19508 1.16722 35.3 239)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(1.02138 -1.25922 1.29739 1.05234 34.3 262.7)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(.79817 -1.41132 1.45408 .82236 51.9 315)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(.66642 -1.4781 1.52289 .6866 56.8 337.4)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(.56582 -1.51945 1.5655 .58296 57.9 352.4)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(.4482 -1.5582 1.60543 .46178 63 370.4)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(.20288 -1.60864 1.65738 .20903 94.7 408.9)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(.06506 -1.62008 1.66918 .06703 106.3 427.4)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(.06506 -1.62008 1.66918 .06703 88.8 428)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(-.36132 -1.5806 1.62852 -.37226 172.5 473.5)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(-.49045 -1.54542 1.59227 -.50531 188.3 485.8)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(-.67103 -1.476 1.52073 -.69138 221.9 499.1)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(-.7945 -1.41337 1.4562 -.81858 241.4 508.3)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(-.94339 -1.31867 1.35863 -.97197 271.6 515.4)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(-1.05159 -1.2341 1.27151 -1.08344 292.4 520.2)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(-1.13737 -1.15553 1.19056 -1.17183 308.9 526.1)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(-1.2301 -1.05628 1.08829 -1.26738 331.4 529.6)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(-1.33573 -.91908 .94693 -1.3762 362.5 526.1)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(-1.47374 -.67597 .69645 -1.51841 415.9 504)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(-1.52895 -.53958 .55593 -1.5753 438.7 497.5)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(-1.61445 -.12005 .15429 -1.33344 500.5 406)"/> + <path d="M232.8 119c0-2-.8-4-2-5q-2.2-1.6-4.2 0c-2 1.6-2.1 3-2.1 5q.1 3.3 2 5.1 2.3 1.6 4.2 0c1.9-1.6 2.2-3 2.1-5z" transform="matrix(-1.58082 -.36035 .37125 -1.62873 468.4 480.8)"/> + </g> + <path fill="#ffe300" fill-rule="evenodd" d="M480 194.7q3.1-3.5 6.7-2.1c-1-6.1-2.8-8.2-5.2-7.4-2.3.7-3.4 3.8-1.5 9.5m3.3 18.2c2.3-2.1 4.3-2.6 6.8-1.6-.4-6-2.2-8.3-4.6-7.7-2.4.5-3.6 3.6-2.2 9.3m-7.8-35q2.1-4 6-3.7c-2.5-5.6-4.8-7.1-7-5.8-2 1.3-2.2 4.6 1 9.6zm-8.1-16.6q2.1-4.1 6-3.7c-2.5-5.7-4.9-7.2-7-5.9s-2.2 4.6 1 9.6m-19.5-30.5q1.4-4.4 5.2-4.6c-3.3-5.2-5.9-6.3-7.7-4.7s-1.5 5 2.5 9.3M435 117.5c1-3 2.4-4.4 5-4.8-3.4-5-6-6-7.8-4.4-1.8 1.7-1.4 5 2.8 9.2M408.3 95c0-3.2 1-5 3.3-6.2-4.8-3.7-7.7-3.8-8.8-1.7s.2 5.1 5.5 7.9m14 10.5q.5-4.5 4.3-5.5c-4.2-4.5-6.9-5.2-8.4-3.3s-.7 5.1 4 8.8zm-30-19.3c-.3-3.1.5-5 2.7-6.5-5.2-3.2-8-3-9-.8s.8 5.1 6.4 7.3zM376.2 79c-.8-3-.3-5 1.7-6.8-5.6-2.4-8.4-1.9-9 .5s1.5 4.9 7.3 6.3m-17.5-5.4c-1.1-3-.8-5 1.1-7-5.8-1.9-8.5-1.1-9 1.3-.3 2.4 2 4.8 7.9 5.7m-17.3-3.4q-1.8-4.1.7-7c-6-1.5-8.6-.5-8.8 2-.3 2.4 2.2 4.6 8.1 5m-18.2-1.4q-2.4-3.9 0-7c-6.1-.9-8.7.4-8.6 2.8 0 2.5 2.7 4.4 8.6 4.2m-35.7 2.7q-3.2-3.2-1.8-6.8c-6 .6-8.2 2.4-7.6 4.8s3.7 3.6 9.4 2m17.6-2.3q-2.8-3.6-.9-7c-6.1-.2-8.5 1.3-8.2 3.8.3 2.4 3.2 4 9 3.2zm-34.9 6q-3.6-2.7-2.7-6.4c-6 1.5-7.8 3.6-6.9 5.8 1 2.3 4.2 3 9.6.6m-33 15.2q-4.1-2-3.9-5.8c-5.6 2.6-7 5-5.6 7 1.3 2 4.6 2.2 9.5-1.2m16-8.1q-4-2.4-3.2-6.2c-5.9 1.8-7.6 4-6.5 6.2s4.4 2.8 9.6 0zm-45.6 28.8q-4.4-1-5-5c-5 3.8-5.8 6.4-4.1 8.1s5 1.2 9-3.1zm14.1-11.6q-4.4-1.4-4.6-5.2c-5.2 3.2-6.3 5.8-4.7 7.7 1.6 1.8 5 1.5 9.3-2.5m-26.7 24q-4.4-.7-5.4-4.5c-4.6 4.1-5.2 6.9-3.3 8.4 1.9 1.6 5 .7 8.7-4zM183.7 138q-4.7-.2-5.8-3.8c-4.2 4.5-4.6 7.2-2.6 8.6s5.1.2 8.4-4.8m-9.4 15c-3.2.2-5-.7-6.4-3-3.4 5.1-3.4 8-1.2 9s5.1-.6 7.6-6m-8.3 16q-4.3 1-6.7-2.2c-2.7 5.5-2.3 8.3 0 9 2.3.8 5-1.2 6.7-6.9zm-6.6 16.3c-3 1.1-5 .8-7-1-1.8 5.8-1 8.5 1.5 8.9 2.4.3 4.7-2 5.5-8zm-4.5 18.2q-4 2-7-.5c-1.4 6-.4 8.5 2 8.7 2.5.3 4.7-2.2 5-8.2m-1.8 15.2q-3.7 2.1-7 .5c-.7 4.9.6 6.8 3 6.6s4.3-2.4 4-7.1m307-72.2q1.5-4.4 5.3-4.6c-3.2-5.2-5.7-6.3-7.6-4.8-1.9 1.6-1.6 5 2.3 9.4m25.2 85q3.3-3.3 6.8-1.6c-.4-6.1-2.2-8.3-4.6-7.8s-3.6 3.6-2.2 9.4"/> + <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.9" d="M461.3 132s-7 6.9-5.7 15.2 6.5 18.6 5.5 27.3-2.5 14.3-2.5 14.3 8-9.1 8-18c.2-8.7-5.4-20.3-5.4-26.7s.3-12.2.1-12zm12.7 28s-5.3 4-4.8 13 10 25.8 10 25.8 6.8 14 6.5 17.7 1.3-3.5.6-11.5-11-25.8-11-25.8-2.2-3.6-2-9.7.8-9.4.8-9.5z"/> + <path fill="#6b18b5" fill-rule="evenodd" d="M313 47.4c0-1.8-2.2-3.4-4.8-3.4s-4.7 1.6-4.7 3.4 2 3.4 4.7 3.4 4.7-1.5 4.7-3.4zm2 8c0-1.8-2.2-3.3-5-3.3-2.6 0-4.8 1.4-4.8 3.2s2.2 3.3 4.9 3.3 4.8-1.5 4.8-3.3zm6-9.4s-5.6 4.1-3.3 5.8 8.6-3.6 8.6-3.6zm163.3 95.4q0-1.9-1.4-2.9a3 3 0 0 0-3 0q-1.4 1-1.4 2.9c0 1.9.5 2.3 1.4 2.9a3 3 0 0 0 3 0q1.4-1 1.4-2.9m-2.1-8c0-2-1.4-3.5-3-3.5s-3.1 1.6-3.1 3.6 1.4 3.5 3 3.5 3.1-1.6 3.1-3.5zm1.5 16.2q-.2-1.7-1.2-1.8c-1-.1-1.2.8-1.2 1.8s.5 1.9 1.2 1.9 1.2-.9 1.2-1.9m4.9-14.4q-.2-2-1.2-2.1-1.1.2-1.2 2c-.1 1.8.5 2.2 1.2 2.2s1.2-1 1.2-2.1m-13.4 1.4q-.2-1.6-1.2-1.7c-1-.1-1.2.8-1.2 1.7s.5 1.8 1.2 1.8 1.2-.8 1.2-1.8m2.1 11.4c0-1.5-1.1-2.7-2.5-2.7s-2.5 1.2-2.5 2.7 1 2.8 2.5 2.8 2.5-1.2 2.5-2.8m-6.6-5c0-1.3-1-2.4-2.1-2.4s-2.2 1-2.2 2.4 1 2.4 2.2 2.4q1.8-.1 2-2.4zm-1-6.8a2 2 0 0 0-1-1.7 2 2 0 0 0-1.9 0 2 2 0 0 0-.9 1.7 2 2 0 0 0 1 1.8 2 2 0 0 0 1.8 0q1-.6 1-1.8m30.1 34.4c-2.7-3.6-7.1-5.1-9.8-3.4-2.6 1.7-2.6 6 .2 9.7 2.7 3.6 7 5.1 9.7 3.4 2.7-1.8 2.7-6 0-9.7zm7.8 66.7c.5-4.5-1.6-8.4-4.8-8.8-3.2-.3-6.2 3-6.8 7.4s1.7 8.3 4.9 8.7 6.2-3 6.7-7.3m1.6 38.8c1-4.4-.9-8.5-4-9.2-3.2-.6-6.5 2.4-7.4 6.8-.9 4.3 1 8.4 4 9 3.2.7 6.5-2.3 7.4-6.7zm7.5-36.4c0-1.7-1.2-3.1-2.6-3.1s-2.7 1.4-2.7 3.1 1.2 3.2 2.7 3.2 2.6-1.4 2.6-3.2m-6.5 7.3-5.4 6.2s-5.1.1-4.8 1.8 7 6.6 7 8.6c-.1 2 4.4-.5 4.4-.5l3.7-11.1s-.2-7.7-2.2-7.6-2.5 2.5-2.7 2.6m-357.4-2.4a2.6 2.6 0 1 0-5.1 0 2.6 2.6 0 0 0 5.1 0m2.5-8c0-1.4-1.2-2.6-2.6-2.6s-2.6 1.2-2.6 2.7 1.2 2.7 2.6 2.7a3 3 0 0 0 2.6-2.7zM134 199.2c-1-2.2-3-3.4-4.5-2.7s-2 3-1 5.2 3 3.4 4.5 2.7c1.6-.7 2-3 1-5.2m6.5 23.4c-1.4-2.8-4.1-4.4-6.2-3.5s-2.7 3.9-1.4 6.7 4 4.4 6.2 3.5 2.7-3.9 1.4-6.7m6.8 17.2c.5-3.5-1-6.8-3.2-7.2s-4.4 2-4.9 5.5 1 6.7 3.3 7.2 4.4-2 4.8-5.5m-11 2.5c1.4-3.3.9-6.8-1.1-7.8s-4.8.7-6.2 4-.9 6.7 1.2 7.8 4.7-.7 6.1-4"/> + <path fill="#6b18b5" fill-rule="evenodd" d="M131.3 234.8c0-1.7-1.3-3-2.9-3s-2.9 1.4-2.9 3 1.3 3 3 3 2.8-1.3 2.8-3m-2.3-7.5c0-1.5-1.2-2.7-2.6-2.7a2.7 2.7 0 0 0-2.6 2.8c0 1.4 1.2 2.7 2.6 2.7s2.6-1.3 2.6-2.8m2.4-14.3c0-2.6-1.1-4.6-2.5-4.6s-2.5 2-2.5 4.6 1.1 4.6 2.5 4.6 2.5-2 2.5-4.6m7.8-1.1c.3-2.5-.5-4.7-2-5-1.3-.1-2.7 1.8-3 4.3-.4 2.5.5 4.7 1.9 4.9s2.7-1.7 3-4.2zm55-110c1.1-3.6 0-7.2-2.3-8-2.3-.9-5 1.3-6 4.9s0 7.2 2.3 8c2.3.9 5-1.3 6-4.9m-10.4 15.9c3-2.7 4.4-6.3 3-8.1-1.5-1.9-5.2-1.2-8.3 1.4s-4.3 6.2-2.9 8c1.5 1.9 5.2 1.3 8.2-1.3m-6-8.8c3-2.3 4.2-5.4 2.8-7s-5-1-8 1.2c-3.1 2.3-4.4 5.4-3 7s5 1 8.1-1.2zm23.5-15.5c2-1.6 2.9-3.8 2-4.9-1-1-3.5-.7-5.6.9s-2.9 3.7-1.9 4.8 3.4.7 5.5-.8"/> + <path fill="#6b18b5" fill-rule="evenodd" d="M189 108.5c1.4-2.2 1.5-4.5.2-5.2s-3.5.4-4.9 2.6-1.5 4.5-.2 5.2 3.5-.5 4.9-2.6m17.7-9.3c2.2-1.9 3-4.3 2-5.5-1.2-1.2-4-.6-6.2 1.2s-3 4.3-1.9 5.5 3.9.6 6.1-1.2m-32 21.6c2 0 3.6-1.1 3.4-2.3 0-1.1-1.9-2-4-1.9-2 .1-3.6 1.2-3.4 2.3.1 1.2 2 2 4 2zm38.7-33.1c1.4-2.2 1.5-4.5.2-5.2-1.2-.7-3.4.4-4.8 2.6s-1.5 4.5-.2 5.2 3.4-.4 4.8-2.6"/> + <path fill="#ffd200" fill-rule="evenodd" stroke="#ef8a10" d="M446.8 153.4s6.4-10.1 4-19.7-13-2.7-12.8.7c.2 3.3 6.8 7.9 7.2 10s-.8 8.3 1.6 9z"/> + <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.3" d="M324.9 69.3s23 .9 23.1 15.8c0 2.3 0 5-.8 11.7 4.6-2.5 7.6-9.3 7-13.7.1-15.1-20.5-25.5-29.3-13.8z"/> + <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.3" d="M310.3 68.6s18.5-3.8 18.7 11c.1 15-6 17.3-6 17.3s14.3-3 14.4-18.1-18.3-21.9-27.1-10.2z"/> + <path fill="#f7df73" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.5" d="M373.3 390s86.8-24.6 113-131C471 368.1 376 403 376 403l-2.8-13z"/> + <path fill="#8c1800" fill-rule="evenodd" d="M382.2 396.6c2.7 0 9.3-7.4 13.1-8.2s4.2-4.7-.1-4.8c-4.4-.2-8.2 5-8.2 5s-3.8 3.2-7.8 3.6-1.4 5.4 3 4.4"/> + <path fill="#8c1800" fill-rule="evenodd" stroke="#8c1800" stroke-width="2.5" d="M432.2 359.3s-9 5.2-7.8 6.5 9.3-5 9.5-5c.1-.2 3.4-4.2-1.7-1.5z"/> + <path fill="#8c1800" fill-rule="evenodd" d="M400.7 383s-2.7-1 4.2-3.6c7-2.7 6.5-5.8 8.8-7.1 2.2-1.3 7-4.7 8-2.7s-5 6-6.5 6.4c-1.4.4-8.3 6.8-10.3 7.3q-3 .8-4.2-.3"/> + <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="3" d="M445.6 346c-6 6.7-6 6.5-6 6.5"/> + <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="2.8" d="m454.5 335.2-5.7 6.9"/> + <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="2.5" d="m463.4 321-6.4 10.2"/> + <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="2.3" d="m470.9 306.6-5.3 10.5m8.6-18-1.6 3.6"/> + <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.4" d="m478 289-1.4 4.4"/> + <path fill="#f7df73" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.5" d="M160.3 216s52-14.7 67.6-78.5c-9.1 65.5-66 86.2-66 86.2z" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/> + <path fill="#8c1800" fill-rule="evenodd" d="M250.7 394.4c-2.7 0-9.2-7.5-13-8.3s-4.2-4.8.1-5c4.4 0 8.1 5.1 8.1 5.1s3.8 3.3 7.7 3.8 1.4 5.4-2.9 4.4"/> + <path fill="#8c1800" fill-rule="evenodd" stroke="#8c1800" stroke-width="1.5" d="M195.5 197.6s-5.4 3.2-4.6 4c.7.7 5.5-3 5.6-3.1s2-2.5-1-.9z" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/> + <path fill="#8c1800" fill-rule="evenodd" d="M232.4 380.6s2.6-1-4.2-3.7-6.5-6-8.7-7.2-7-4.7-8-2.7 5 6 6.5 6.4c1.4.5 8.2 7 10.2 7.5q3 .8 4.2-.3"/> + <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.8" d="m203.5 189.7-3.5 3.9" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/> + <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.7" d="m208.9 183.2-3.4 4.1" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/> + <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.5" d="m214.2 174.7-3.8 6.1" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/> + <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.4" d="m218.7 166.1-3.2 6.3m5.2-10.9-1 2.2" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/> + <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width=".8" d="m223 155.5-.9 2.7" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/> + <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.3" d="M490.4 239.3c.5 6.7 7 13 4.4 24.7-3.2 13.3-14.8 44.7-12.8 50.2-3.4-4.7-2.8-9-3-15.6-.4-6.5 9.4-30.9 10.3-39.1 0-7.4.7-17.5 1.1-20.2z"/> + <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.3" d="M490.4 239.4s10.7 13.5 10.1 24.2-6.5 23.2-4.5 28.7a22 22 0 0 1-4.6-14.2c-.3-6.5 5.3-13.8 4.1-20.9-1.1-7-5.2-17.8-5-17.8zm-349.3 3c-.4 6.7-5.4 12.7-2.8 24.3 3.2 13.3 15 30 13 49.2 3.5-4.7 4.5-10 4.8-16.5s-13-28.5-13.8-36.8c0-7.4-.8-17.5-1.2-20.2z"/> + <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.3" d="M141.1 242.6s-10.4 13-9.8 23.7c.1 7.1 13.2 36.8 11.2 42.4 3.5-4.7 4.4-4.1 4.3-11.2-3.8-18.3-10.7-29.9-9.5-37s4-18 3.8-18z"/> + <path fill="#fff" stroke="#000" stroke-dashoffset="1" stroke-linecap="square" stroke-linejoin="round" stroke-width="1.7" d="m100 125.8 22 68.2h72l-58 42.2 22.1 68.2-58-42.1-58 42.1 22-68.2L6 194h71.8z" transform="matrix(1.16516 0 0 1.16534 202 -23.6)"/> + </g> +</svg> diff --git a/apps/web/public/flags/mq.svg b/apps/web/public/flags/mq.svg new file mode 100644 index 00000000..b221951e --- /dev/null +++ b/apps/web/public/flags/mq.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-mq" viewBox="0 0 640 480"> + <path fill="#231f1e" d="M0 0h640v480H0z"/> + <path fill="#00a650" d="M0 0h640v240H0z"/> + <path fill="#ef1923" d="m0 0 320 240L0 480z"/> +</svg> diff --git a/apps/web/public/flags/mr.svg b/apps/web/public/flags/mr.svg new file mode 100644 index 00000000..d859972c --- /dev/null +++ b/apps/web/public/flags/mr.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-mr" viewBox="0 0 640 480"> + <path fill="#cd2a3e" d="M0 0h640v480H0z"/> + <path fill="#006233" d="M0 72h640v336H0z"/> + <path fill="#ffc400" d="M470 154.6a150 150 0 0 1-300 0 155 155 0 0 0-5 39.2 155 155 0 1 0 310 0 154 154 0 0 0-5-39.2" class="mr-st1"/> + <path fill="#ffc400" d="m320 93.8-13.5 41.5H263l35.3 25.6-13.5 41.4 35.3-25.6 35.3 25.6-13.5-41.4 35.3-25.6h-43.6z"/> +</svg> diff --git a/apps/web/public/flags/ms.svg b/apps/web/public/flags/ms.svg new file mode 100644 index 00000000..4367505b --- /dev/null +++ b/apps/web/public/flags/ms.svg @@ -0,0 +1,29 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ms" viewBox="0 0 640 480"> + <path fill="#012169" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M384.9 111h205.5l-.3 146.3c1.7 58.7-34.9 95.2-102.3 111.7-47.9-12-103-36.5-103.2-110z"/> + <path fill="#00a2bd" stroke="#000" stroke-width="1.8" d="M389.4 115.4h196.4l-.2 140.2c1.6 56.3-33.4 91.2-97.8 107-45.8-11.4-98.5-35-98.6-105.4z"/> + <path fill="#a53d08" d="M584.3 272.2c-7.2 53.7-48.6 77.2-96.5 89.7-42.5-11.4-88.2-29.6-97-89.5z"/> + <path d="m480 141.5-.3-17.6 14 .1.1 17.5H532l.1 13.7-38.3.2-.3 161.4-13.6.1-.2-161.7-38 .2v-14z"/> + <path fill="#ff9a08" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="m449 278.8 35 36.3c12.1-13.3 3.7-63-12.2-72.1-1.9 5.9-5.1 13-8.6 15.2-7.5 5.2-26.1 11.2-19.9 15 1.4-1.9 5.1-3.7 6.9.6 2 6.9-7.8 7.3-7.8 7.3s-6.2-.8-7.3-7c-1-6.4 9.3-12.2 10.2-12.6.8-.3 14.3-4 16.6-15.9 2.9-11.8 5.8-10 6.3-10.2 17.7 1.7 29.2 33.3 29.9 55.5s-9 37-10.8 38c-1.7.9-42-47.9-42-47.9z"/> + <path fill="#ff9a08" stroke="#000" stroke-width=".8" d="m474.6 245 .2 65.5m-4.2-64.2.3 59.4m-4.5-50.8.2 47.2m-3.7-43.9.2 39.1m-3.9-37.3v33m-4-30.4v26.1m-3.5-24v20"/> + <g fill="none" stroke="#ffdf00" stroke-linecap="round" stroke-width="1.8"> + <path stroke-width=".8" d="m448.5 283 36 41.2"/> + <path stroke-width="1.4" d="M486.3 257s16.4 35.7 1.2 65m-43.2-46.6s1.2-3.1 2.7-1.8m-5.5-7.3s-6.6 5.7-3 9.5"/> + </g> + <path fill="#008021" stroke="#000" stroke-width=".3" d="M494 175.4c2.3-2 3.6-3.3 5.1-3s3.5 0 5-.4a31 31 0 0 1 12-.4c1 .2 2.5.7 4.6 2.5s5.2 5 4.2 13.6-.7 12.3-1.2 17.2c-.8 8.5-2.7 15.5-6 15 4.5 8 5 15 8 20.5s4.8 16.8 3.7 29c-1.2 12.3-4.4 39.7 5.3 58.2-1.6 1.1-5.5 0-9-3.7s-5-3.6-7.8-1.4c-8.8 6.7-17 14.8-29.1 6.7-2.8-1.8-3.6-4-1.6-9.7 5-14 7.5-33.4 6.7-42.4z"/> + <path fill="#ffe1cf" stroke="#000" stroke-width=".3" d="M502.3 166.8a10 10 0 0 1-.1 6.8 9 9 0 0 0 .5 8.4c2.7-4 6.6-3.2 9-5.4 2.2-2.3 2.7-4.5 4.4-5-1.7-1.5-4.3-3.2-3.8-7.5.6-4.4 6.7-8 1.2-14.6a8 8 0 0 0-13.4 1.2c-.3.8.2 2.4-.7 3.4a8 8 0 0 1-2.1 2q-1 .6-.2 1.6.3.4 1 .4l-.8 1.5q-.4.4.2 1c-.5 1.3.4 1.5-.2 2.5s-1.2 2 .6 3c.6.3 3 .8 4.4.7zm-22.5 23c-3.2.8-8.4-.6-12.3-.2-1.8.2-3.2-.7-3-2.4s.6-4.4.2-6.8a32 32 0 0 1 3.8-14.8 33 33 0 0 0 3.8-11.6c0-1.9.2-3.9 1.8-5 1.2-.7 1.4-1.4 1.8-2 1-1.5 2-1.8 2-1q.2.7-.5 1.6c1-.8 2.8-1.8 3.2-2 .4-.4 2.4-1.8 2.5-.4q1.3-.6 1.6 0 .2.6-.3 1c.6 0 1.2.9 0 1.8.7-.2 1.3.8.2 1.7-1 1-2.4 1.6-2.7 2.4s-3.2 2.9-4.3 3.3c-1.1.5-1.2 1.1-1.2 2.7 0 17.8-2 16.3-2 20.7 0 1-.3 2.1.8 1.8a15 15 0 0 1 4.6-.9v10zm.7 38.2c5.2-2.6 11.2-3.6 14.3-4.4a62 62 0 0 0 10.4-4.4c2.5-1.3 4.5-3 5.9-3.5a7 7 0 0 0 3.8-3.2 50 50 0 0 0 6.9-21.8c0-4-1-8.6-5-5.4a30 30 0 0 0-8.8 13.2c-1.6 6.4-3 7.9-3.3 9.1-.4 1.3-1.6 1.3-3.2 1.6a27 27 0 0 0-13.6 6.4 136 136 0 0 1-14.2 9.2c-3.7 2.1-4.4 2.3-5.2 4q-1.2 2.5-2.2 3.6-1.2 1.2-.8 2.6c.1.8-.2 4.2-.3 5.4s.3 1.4.7 1.5c.4 0 1-.2 1.3-1.6-.2 1.4 1.7 1 1.8-.1 0 1.5 2 .6 2-.8 0 1 1.7.3 1.7 0q.5-2 1.2-3.4c.6-1.4 1.3-3.2 2.7-4 1.5-1.2.8-2.4 3.9-4zm37.4 94.5c.3 1.3 1 2.7 1.2 3.6s-.2 1.1-.4 1.6a33 33 0 0 0-2.8 8.8c0 1.2-1 2.4-1.3 3.2q-.8 1.2.8 2.3c.4.3 2-.2 2.1-1q1.2.9 2.1-.5 1 .7 2-.7c.5.3 1.3-.3 1.6-.8.8.4 1.6 0 1.6-1.6q.1-.7.5-1.3.3-.7.3-1.7c0-.7.3-2 .9-2.8.6-1 1.5-2.5 1.1-4-.4-1.4-1-1.3-1.5-3.2-1.3-1.4-3-3.2-4.8-3.4-1.8 0-2.8 1.1-3.4 1.5zm-32.9 9.9c1.7 1.6 5.3 1.6 7.8-1-.9-.4-3-1.4-3.8-2a12 12 0 0 1-4 3z"/> + <path fill="#870f00" stroke="#000" stroke-width=".3" d="M501.4 149c.6-4 3.5-4 5.3-3.5.8.1 2.6.3 4.4-.2 3.4-.9 6 .3 5.6 3.6 1 .7 2 2.3 1.7 3.7q-.3 2 1.4 2.1c1.3.2 4 1.8 2.2 4 1.7 1 3 3.7 2.1 5.4s-3.6 2.1-4.8.5c-1.3.6-3.3.7-4.6-.6-.9 1-3 .9-3.5 0q-.6-1.4-1.9-1.7c-.9-.3-1-2.8.4-3.1q-.1-1.3.3-2t-.8-1.8c-.8-.7-1.5-3-.7-4.4-1.4.5-4.4-.9-5-1.8q-1.2-1.4-2.1-.2z"/> + <g fill="none" stroke="#000" stroke-width=".3"> + <path d="M502.3 166.8c2.2-.3 3-1.6 4.6-1.6m-9.4-4.7.5.3q.7.4 1.4.4m-1.3-3.1 1 .6m4.2-9.7c-1.3-1.3 2.2-3.8 6-.2.8.8 2.5.8 3 .6m-3.8 1.6c1.8-.4 4.3-.4 5.1 1.6s2.3.6 3.5 3c1.2 2.3 3 4.8 5 3m-7.4 5.4a4 4 0 0 1-.4-3.2c-.7-.8-.4-2.5 0-3.3m-4.6 1.7c0 .7 1 2 2.4 2.2m7.2 3.2q-1-1.4-.5-3.2"/> + <path d="M510.9 153c0 1.1.6 2.5 1.6 3 .3.6 1.4 2.2 3.8 2m.4-9a11 11 0 0 0-5.2-2.6m-8.8 35.6c-2 2.7-3.2 6.4-2.4 11.6 1 5.2 2.4 12.8-1.3 16.2m18.6 10.1c-2.6-.7-6.4-.7-8.5.9-2 1.5-5.6 1.6-7.9.4"/> + <path d="M512 219.6c-2.3.4-3.3 2.1-3.3 6.4 0 4.2-1 10.4-.2 16.6m-.6-21.1c-1.6.4-3.2.4-2.8 4.5m-5.1 0c.1-2.4 1-4.8 2.6-4.3m14.1 4.9c0-5.6-1.2-7.1-2.8-7 2.2 0 3.7.3 4.7 9.2.6 6.8 2 9 3.7 14.4 4.1 13.6 2 34.5 4.1 42m-12.9-57a71 71 0 0 1-.4 49.3c4.8 13.4 9.6 23.1 10.5 28.6m-23.9-48c.8-2.9-2.2-3.2.4-13.3q1.6-6.4.6-8.4"/> + <path d="M500.7 242.4c-1 4.4 3.3 12.8 1.2 19m-5.5 1.1c0 4 .9 9 .7 13-.2 3.9 1.4 5.7 3.2 9.4 6.8 13.4 11.2 22.9 10.7 35.5-.2 2.4.6 7.2-1.8 8.6m-12.6 3.4c.7 0 1.4-.4 2.3-2.4a65 65 0 0 0 2.4-23m1.4 9.6c.4 2.6.4 8-1.3 12.4"/> + <path d="M507.1 308.7c1 5.6 1 10.7.1 14.3m-2.4 0c.2 2.2 1.2 8-.5 8.5m9.2-35.3c4.3 6.7 7.6 23.2 11.2 26.6m-7.6-2.6c0-1.8-.1-4.4-1.2-5.6M471 239.4c.1-1.2-.1-2.4 1.3-4.4m-3.3 5.2c.2-4.4.1-4.8 1.4-6m-3.2 6.1c0-3.2-.3-4.3 1-6.3m14.9-88.8-4.5 3.4m5.8-2.4q-.7.2-5 3.6m5.1-1.8c-1 .4-2.6 2-4.2 3.2m-2.9-3.5-1.6 1.6M517.5 341c-.2-.2-.2-1.3.3-2.4m1.9 1.9c-.4-.3 0-1.7.2-2.6m1.7 1.9q-.7-.4 0-2m1.5 1.2q-.4 0 .1-1.8"/> + </g> + <path d="M500.5 152.7c.8 1 1.7 1 1.8 1.6.2.8.3.8.4 1s-.4.2-.6 0h-1.4c-.4 0-.8-.5-.6-.5q.4-.1.2-.4 0-.5.4-.7l-.1-.3c-.2-.3-.3-1-.1-.8zm.5-1.1a6 6 0 0 1 3.4 1.6c.7.8.1.6-.2.6s-1-.2-1.4-.6a5 5 0 0 0-1.9-1.2c-.3 0-.6-.4 0-.4z"/> + <path fill="#012169" d="M0 0h320v240H0z"/> + <path fill="#FFF" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/> + <path fill="#C8102E" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/> + <path fill="#FFF" d="M120.5 0v240h80V0zM0 80v80h320V80z"/> + <path fill="#C8102E" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/> +</svg> diff --git a/apps/web/public/flags/mt.svg b/apps/web/public/flags/mt.svg new file mode 100644 index 00000000..5d5d7c80 --- /dev/null +++ b/apps/web/public/flags/mt.svg @@ -0,0 +1,58 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-mt" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0Z"/> + <path fill="#cf142b" d="M320 0h320v480H320Z"/> + <g fill="#fff" stroke="#000" stroke-width="96" transform="translate(161.8 160.6)scale(.0147)"> + <path fill="none" stroke="#cf142b" stroke-width="512" d="M-2048-7168h4096v3890.8A1094 964 45 0 1 3277.2-2048H7168v4096H3277.2A964 1094 45 0 1 2048 3277.2V7168h-4096V3277.2A1094 964 45 0 1-3277.2 2048H-7168v-4096h3890.8A964 1094 45 0 1-2048-3277.2Z"/> + <path stroke="none" d="M2024-3275.2A1094 964 45 0 1 3275.2-2024v4048A964 1094 45 0 1 2024 3275.2h-4048A1094 964 45 0 1-3275.2 2024v-4048A964 1094 45 0 1-2024-3275.2Z"/> + <path stroke-width="48" d="M-2024-7144h4048V7144h-4048zm-5120 5120H7144v4048H-7144Z"/> + <path d="M-1792-6912h3584V6912h-3584zm-5120 5120H6912v3584H-6912Z"/> + <circle r="3200"/> + <circle r="2368"/> + <g id="mt-a" stroke-linejoin="round" stroke-width="48"> + <path d="M3084-2565c-111 85-322 302-450 461l-119-74c163-141 389-350 514-499zm-101-185c-201 59-585 172-749 276l-36-52c69-99 147-506 144-622l125 28c-41 100-81 314-92 453 129-23 435-123 522-186z"/> + <path d="M3240.8-2291.9h-158.6a600 330 45 1 0-242.3 173.3l112.1-133.7 138.1 138.1-154.5 154.4a1070 940 45 0 1-974.1-1283 1070 940 45 0 1 1279.3 950.9z"/> + </g> + <use xlink:href="#mt-a" transform="rotate(90)"/> + <use xlink:href="#mt-a" transform="scale(-1)"/> + <use xlink:href="#mt-a" transform="rotate(-90)"/> + </g> + <g transform="translate(161.8 160.6)scale(.0147)"> + <path d="M-2541 1790c-72-126-167-287-219-329 32-22 75-54 97-60-1 80 120 246 120 246l178-117c-50-77-94-136-130-159 44-32 91-59 104-62 1 39 24 104 92 184 0 0 166-88 220-156l70 114c-78 15-428 233-532 339m-247-1517c-187 34-282 193-250 372 32 181 194 305 372 275 178-31 279-195 245-385s-180-296-367-262m27 108c150-27 276 46 297 162s-72 231-223 258-271-69-288-166c-18-99 63-227 214-254m366-1100c-62 98-199 188-320 271-17-86-81-141-155-146-79-4-160 59-174 101-20 58-45 307-45 307 156-12 497 15 614 58l14-132c-77 20-251-16-251-16l4-58 180-142c23-18 158-144 162-234 1-28-23-21-29-9m-361 441c-71 2-219-6-260-24 16-143 60-194 136-187 70 7 144 47 124 211m682-1772c-136 11-306 139-302 249 1 58 21 138 98 196 76 58 155 75 218 63 61-11 162-96 161-143 0-46-108-174-176-174l113-121c29 70 145 172 188 185-49 117-110 239-238 298-128 60-261 57-382-57-114-108-70-316 2-397 79-89 226-127 229-196zm638-673 24 454s9 161-28 261l141-99c-55-44-44-179-44-179l228-122s108 69 97 153l194-79c-113-43-253-142-253-142zm73 141 208 138-203 109zm1018-474c-26 111 2 330 43 512 141-13 249-27 297-87l13 150c-139 0-292 16-432 38 2-205-19-474-77-590zm1059 67c-65 94-119 308-147 492 136 40 242 66 309 27l-43 145c-129-50-278-92-416-123 76-189 155-448 144-576zm1071 485-396 225s-140 81-246 93l151 80c15-68 141-119 141-119l212 149s-14 129-94 156l157 138c-11-120 14-291 14-291zm-94 128-31 249-189-133zm304 932-62-117c102-8 409-188 550-280l22 40-132 603c118-47 305-145 356-199l70 133c-131-19-374 101-558 213l-18-32 113-587s-305 138-341 226m930 872c-12-89-14-150-57-170l-5-37 109-18c45 117 96 443 89 527l-112 18-5-31c37-42 0-196 0-196-166 17-455 64-496 121l-26-154c59 20 350-11 503-60M2388 752c62-98 201-187 322-269 17 86 80 142 155 146 79 5 160-56 174-99 21-58 47-306 47-306-156 10-496-19-613-63l-15 132c77-19 251 17 251 17l-4 58-181 141c-24 18-160 143-165 233-1 28 23 20 29 10m365-439c71-1 219 8 260 26-17 143-62 194-138 186-70-8-143-48-122-212m-566 836-93 160c72-11 172 46 253 99 27 72 133 256 125 436l120-206c-53-24-115-50-155-243 158-59 276-78 326-50l106-180c-123 74-412 150-460 134-50-29-192-73-222-150"/> + <circle cx="1475" cy="2361" r="125"/> + <circle cx="-1475" cy="2361" r="125"/> + </g> + <g transform="translate(161.8 201.5)scale(.0147)"> + <path d="M195 268c-13 9-48-9-56-37 0 9-2 37-19 53-41 39-85 20-120 20s-79 19-120-20c-17-16-19-44-19-53-8 28-43 46-56 37-12-9-6-48 18-64-8 2-36 9-56-2-50-27-45-75-56-108s-43-69-18-120c10-21 36-32 44-35-29 1-56-27-52-41 5-15 44-21 67-3-6-7-20-31-16-54 10-56 57-66 85-87 29-21 53-62 109-54 23 3 41 24 47 31-10-27 8-62 23-62s33 35 23 62c6-7 24-28 47-31 56-8 80 33 109 54 28 21 75 31 85 87 4 23-10 47-16 54 23-18 62-12 67 3 4 14-23 42-52 41 8 3 34 14 44 35 25 51-7 87-18 120s-6 81-56 108c-20 11-48 4-56 2 24 16 30 55 18 64M-93 128c16 12-27 48-10 93 19 53 72 37 103 37s84 16 103-37c17-45-26-81-10-93s38 40 85 39c57-3 58-57 67-87 10-30 42-75-3-110-37-30-86 0-92-19s50-23 64-69c15-55-37-72-62-91-26-18-59-62-106-31-39 27-26 82-46 82s-7-55-46-82c-47-31-80 13-106 31-25 19-77 36-62 91 14 46 70 50 64 69s-55-11-92 19c-45 35-13 80-3 110 9 30 10 84 67 87 47 1 69-51 85-39"/> + <path d="M0 199c-9 0-20-21-14-38-3 5-14 17-28 19-34 5-48-20-65-32-17-13-45-19-51-52-3-14 6-29 9-33-14 11-37 7-40-2-3-8 14-25 31-25-5-1-20-8-26-20-15-31 4-52 11-72 6-20 3-49 33-65 12-7 29-3 34-1-15-10-18-33-11-39 8-5 29 6 34 22 0-5 1-22 11-31 25-24 51-12 72-12s47-12 72 12c10 9 11 26 11 31 5-16 26-27 34-22 7 6 4 29-11 39 5-2 22-6 34 1 30 16 27 45 33 65 7 20 26 41 11 72-6 12-21 19-26 20 17 0 34 17 31 25-3 9-26 13-40 2 3 4 12 19 9 33-6 33-34 39-51 52-17 12-31 37-65 32-14-2-25-14-28-19 6 17-5 38-14 38M0 85c11 0 4 30 25 44 25 17 43-6 57-16s42-20 33-49c-7-25-37-27-34-38 3-10 29 6 50-10 24-19 7-43 2-59-6-16-6-46-37-47-26-1-37 27-46 21s15-26 6-50c-11-29-39-20-56-20s-45-9-56 20c-9 24 15 44 6 50s-20-22-46-21c-31 1-31 31-37 47-5 16-22 40 2 59 21 16 47 0 50 10 3 11-27 13-34 38-9 29 19 39 33 49s32 33 57 16c21-14 14-44 25-44"/> + <circle r="48"/> + </g> + <g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="36"> + <path stroke-width=".7" d="M137.9 185.8a588 588 0 0 1 48 0"/> + <path stroke-width=".4" d="m160 143.3 1.3 1.5m2 19.2q-.1 2 .2 3.2m-3.2-3c.4.5 1 2.3 1 3"/> + <path fill="#fff" stroke-width=".5" d="M170.2 185.6c-.6.2-1.6.8-1.6 1.3s1.2.6 1.6.7c-.7.2-2.7.6-3.6.2-.6.3-5.2-.7-6.2-.7-.6 0-1.4-.6-1.3-1.7 0-.2.2-.8.7-1-.3-.6 1.1-1.5 2.5-2.4-2 .3-4.7-.5-5.4-1.3-1.6-.6-2.3 0-3 1.4 0 2.4-1.3 3.6-3 3.4-1-.2-1.3.3-1.6.5l3.3 1c2.2 2 1 3.6.5 4s-1.7.1-2.4.1c-.8 0-.8.3-1 .4q-1 .5-1.3.2c0-.3.3-1.7 1.2-1.9.5 0 1.5-.3 1.5-.8s-1.8-.4-3.2-.9c-1.1-.4-1.5-1-1.1-2.9.3-2 2.7-2.3 3.9-2.3-.2-.8 0-2.3 1-3.3 1.6-1.5 4-1 6.1-.8 1.2-.7 3.4-1.7 5.6-1.8 2 0 10.6-2.3 14.5-1.8-1-1.3-.7-4.4.9-5.3 2-1.2 4.2 2 4.8 1.4s-.7-1.4-2.2-3c-.4-.6-.3-.6-.3-.8q0-.8.3-1.2c.2-.1 1.4.3 1.7.8q.7 1 1.3.5c.5-.4-.2-.2-.5-1-.1-.5-.5-.9-.4-1.3a7 7 0 0 1 2.3-1.6l.9 1.3c.7 1.1 1.4.8 1.9 1.6q0 .6.5 1.7a10 10 0 0 0 3.5 3.6q.5.3.6.7 0 .7-.4 1c-.2.2-1 .2-1.6-.1q-1.4-.8-2.1-.7c-1.4.2-2.3 2.4-4.3 2.4-1.8-.2-3-2.9-4.1-2.1s2.5 3 2 4c.4.2.9 1 .7 1.7a6 6 0 0 0 3.9-2.7q1.5-2 2.2-2.2c.6-.3 1.3 0 1.3.5l.9.3q.6.5.2 1l-.6-.4q-.5 0-1.2.6l-1.2 1.7-2 2.2q.3.8.2 1.5l.7.2q.2.1 0 .7c0 .5-2 2.7-2.4 2.6-.8 0-1.4-1-1.3-1.3-.9.4-1.3-.6-1.3-1a7 7 0 0 1-2.2 1.5q-.6.3-.8-.4c-.1.4-1.3.8-1.6.9-1.5.3-3.1 1-4.6 1l-3.8-.1z"/> + <path fill="#fff" stroke-width=".3" d="M175.5 171.4c0 .6-.9 2 .4 3.2.8.6 2.1 1.1 2.5 2 .4.7-.1 1.3-.3 1.3-.8-.2-1.9 1.2-2.3 2.2-.4-1.4-1.3-1-2.5-.8q.3-2.3-2.6-2.6c.3-.3-.2-.7-.6-1.1s-1.8-.1-2-.4c0-.3.7-1 .3-1.5-.4-.7-2-.3-2.6-.5q.3-1-.2-2c-.5-1-2.2-.5-3.1-.7q1.1-.8.6-2.1c-.4-1-2.4.1-2.4-1 .1-.5 2.4-.8 3.3-.9s3.7.7 6.5 1.3c.6.6 5 1.9 5 3.6"/> + <path stroke-width=".5" d="M182.8 182.6a20 20 0 0 0 4.1-2.8m-25.6-1c1.2 0 3.9.4 4.7 1.4.7 1 1.2 2.7-4.1 4 1.6 0 4-.3 4.8-.1.8-.2 2.5-.7 3.2-.5-.3.1-1.2.4-1.2 1q0 .5 1.1.8m5.1-3.6c1.9.4 4.6-.2 5 1.8"/> + <path stroke-width=".4" d="M181.2 166.8c.5.6 2 1.5 2.7 2 1 .8 1.4-.1.7-1.4"/> + <path stroke-width=".3" d="M168.1 175.2a30 30 0 0 1 6.1-.7m-8.4-1.3c3-.8 6.2-.5 8.2-.5m-.5 6.4 2.6-2.5m-5.4 0c1-.3 2.6-1 4-1.2m-4.2-7.6c1.6-1.5 3.4-1.3 5.2-2.2 1-.6 2-2 3-3.1q.6-.7 2-.7 2.2.3-.1.7c-1.2.2-1.3.7-1.7 1.6-.4.8 0 1.7.2 2.3l-.8 2.2q0 .4.5 1.1m-16.3.8c4-.9 10 .7 11.1.7"/> + <path stroke-width=".2" d="M187.7 177c1.3-.7 1.3-2 3-2.6m-6.6 9.1c1.7-.8 2-1.5 3-2.2m.9-13.7q-.4 0-.8-.3-.4-.6-.1-.8.1-.3.7.2c.6.5.3.7.2.9m.3 3c-.8.2-1-.5-1.7-.6-.9-.2-1.4.4-1.4.9s.5 1 1 1 1-.3 2.1-.2m-3.8-7.2q1 .2 1.7-.2"/> + <path fill="#fff" stroke-width=".1" d="M162.7 150.7a.4.2 75 0 1-.2-.7.4.2 76 0 1-.2-.7.4.2 77 0 1-.2-.7.4.2 79 0 1-.1-.7.4.2 80 0 1-.2-.7.2.4-8 0 1-.1-.7.2.4-7 0 1-.1-.8.2.4-5 0 1-.1-.7.2.4-3 0 1-.1-.7.2.4-1 0 1 0-.8.2.4 1 0 1-.1-.7.2.4 4 0 1 0-.8.2.4 6 0 1 0-.8.2.4 9 0 1 .1-.7.2.4 12 0 1 .2-.8.2.4 15 0 1 .1-.7.2.4 19 0 1 .2-.8.2.4 23 0 1 .3-.7.2.4 27 0 1 .3-.7.2.4 31 0 1 .3-.7.2.4 35 0 1 .5-.7.2.4 40 0 1 .5-.7.2.4 45 0 1 .5-.6.2.4 49 0 1 .6-.7"/> + <path stroke-width=".1" d="m163.6 150.4-.9.3m.7-1-.9.3m.8-1-1 .3m.9-1-1 .3m.9-.9-1.1.2m1-1-1.2.3m1-1-1.1.3m1.1-1-1.2.2m1.2-.8h-1.4m1.4-.7h-1.4m1.4-.7h-1.5m1.5-.7h-1.5m1.6-.7-1.6-.1m1.7-.6-1.6-.2m1.7-.4-1.7-.3m1.9-.4-1.7-.4m1.9-.2-1.8-.5m2-.2-1.8-.6m2 0-1.7-.7m2 .2-1.7-1m2.1.4-1.8-1m2.2.5-1.7-1.2m2.1.7-1.6-1.4m2.1 1-1.6-1.6m2.1 1-1.5-1.7"/> + <path fill="#fff" stroke-width=".5" d="m173 140.7-2.5.3c-.2.5-.2 1.9-.2 2.4 2.3 2.3 4.6 5.2 4.8 7.9a5 5 0 0 1 1.6 2.3c1.7-.9 3.4-2.3 4.8-2.7 1-.2 2.6-.3 3.5.2l5.6 3.4q1.8 1.2 2.6 2.6c.5.8.6 2.3.4 2.7l-3.4-1q-.2-.8.3-1.7c.2-.6.2-.6-.3-1q-.6-.3-1 0-.7 0-1.2-.6a21 21 0 0 0-4.5-2.2q-1-.2-2.2.6c-.4.6-1.6 2.4-2.5 3.3q-.3.3-.1.8l3.6.1c1.4.2 3 1.6 3.8 2.5 3.5 3.2 4.8 5 5.9 6q.9.7 1 1.8h-3.4q0-1.8-.4-2.8c-.4-.5-1.1-.3-1.4-.3q-.5-.1-1-1c-.5-1-2.3-2.3-3.1-2.8s-1.1-.3-2-.4q-1-.3-2.5 0c-.9.3-3.4 1.1-5.7 1.4-.8.4-3.3.8-6 1.4-2 .4-6.5 1.2-7.4 1.2-.3 2.1-2.6 5.2-3.2 5.5q-1 1.5-.2 2c.5.5 3.9.5 4.7.5l2.9.1c.5.1 1.3.8 2.2 1.3.6.3.7.7 1.1 1.3l.8 1.2h-4q-.1-1.6-1-1.7c-.6.4-1.3.9-2.1.6-3.1-.2-5.1 0-8-.3-.9 0-1.6-1.2-1.3-2.3q.4-1.4 0-2.6c-.3.3-1.5 1.4-2.1 2.2-1 1.1-.4 2.3 0 3 .5.5 3.9 3.7 4.3 4.6.3.6 1.7 1.6 3 2.7q.7 1.3 1.8 2.1h-5l.2-1.3c0-.3-.3-.9-1-.8s-1.2-.7-1.4-1.3-2.5-3.6-3.2-4.2l-3-2.9c-.4-.1-.5-.8 0-1.3a13 13 0 0 0 2-3.8c.3-.9 0-1-.2-1.2a20 20 0 0 1-5.4-6 7 7 0 0 1-4-.3q-1.7-1-2.9.4c-.4.7-.4 1.8.3 2.3q1.5 1.3 3.3 3.4c1 1.3.1 2.3-1.3 3.5.2.5 0 .4.2 1.3.5.7.5 2.4-.1 2.7q-1 .5-2 1.6c-.8.9-1 0-.8-1.4.2-.9-.5-1.6-1.1-2.3s-.3-2.6 0-3.2c.5-.6.8-1.7 0-2.6-.9-.8-2.5-2.6-2.3-5a3.8 3.8 0 0 1 5.2-3.3c3 1.3 4.7 1 5.6.8q1.2-2.2 3.8-3.8c1.7-1 5-2.3 8.3-2.8l8.1-3c1.1-.2 1-1.2 1-1.8-1-5.5-.8-11.3 3.7-14.2.5-.5.3-1.7 1-2.6l1.3 2.2c2 .7 5.4 1.9 6.8 2.6l1.7.5q.7.2 1 1 .3 1-.4 1.5c-.3.1-1.9-.4-2.3 0q0 .5 1.4 1c.3.2-.3 1-.7 1q-.5 0-.9-.3-1.5-.3-3-1"/> + <path stroke-width=".5" d="M167.3 137.1c0 3.4 1.1 5.1 3 6.3m6.4 10.2a10 10 0 0 1 0 4m-24.7 13c2.5-1.1 4.8-4 4.7-5.8 0-1-.9-2.5-3.1-2.6m3 2.6c.8.3 2.3.1 3.5.3m12.6-8.3c2 .1 4.6 1.3 6 1.2m-7 2.8c1.8.4 1.8 1.2 5.3 1m-6-12.2c1.9 0 3 1 4 1.7"/> + <path stroke-width=".3" d="M156.3 166.4q2.1.2 3-1.4m8-27.9c0 2.8 1 3.5 3.2 3.9"/> + <path stroke-width=".2" d="M178 137.6c-.1.7-.2 1.3 1 1.2m-6.1-3.1c-.9 2.2 3.6 2.5 3.7 4m-25 14.7c2.2 1 2 5.3 2 7.8"/> + <path fill="#fff" stroke-width=".2" d="M175.6 139.7c-.7 1.4-2.3 3.5-3.8 4.6q-3.5 2.6-8.1 3.7-.7.3-1.6.1-1 0-1.7-1.4c-.2-.4-.1-2.6.7-2.9a6 6 0 0 1 2.4-.4q.9 0 1 .8-.1.8-1 .7c-.6-.2-1.5-.6-2-.2-.4.2-.7 1.2-.4 1.7q.5 1 1.1 1l1.3-.1q4.4-1.2 7.8-3.6c1.5-1 3-3.4 3.6-4.4zm-12 4.3c-.9-.2-2.4 0-2.5.4q1-.5 2.5 0 .5-.1 0-.4m6-7.5.3-.7c.1-.1-.2-1.7 1.4-.9 1.7 1 .4 1.7.3 1.8l-.4.7"/> + <path stroke-width=".4" d="m166.7 135 9.5 5"/> + <g stroke-width=".3"> + <path fill="#fff" d="M154.7 135.4a28 28 0 0 1-6.4-.5c-.8-.1-3.1 3.2-4.3 3.4-1.2.3-2.4-2.4-4.1-1.8-.9.7 0 4-.5 4.3-.5.5-2-1.6-3-1-1 .8.8 5.1.3 5.6s-2.6-1.9-3.3-1.4.7 7.2 0 7.5c-.6.4-3.7-1.8-4-.9-.5 1 4.3 3.1 5.6 3.2l1.3-.5c.4.2 4.2.5 4.6.5l2.1-2.2c3.3-4.3 7-8.3 11.7-8z"/> + <path d="m140.2 136.5 6.3-.3m-10.1 3.6 3-1m-6 5 2.9-1.2m-7 8 4-3.6m3 6.2c1.7-3 5-6.2 7.9-7.9m-10.7 6.2c2.4-2.9 9.1-7.6 11.3-8m-5.4-2.7c2.8-1.2 6.8-1.4 10-1.7m-5.5-.8c.4 0 5.2-.6 7.3-.5m-14.5 7.7q5.4-3.3 11.5-5.3"/> + </g> + <path fill="#fff" stroke-width=".4" d="M168.2 191.2c.3.1.6.8.6.8s-.6.3-.8.2l-29.5-8.8c-.8-.2-.5-1.6.4-1.3zm-28-41q-.4-1.1-1.2-1.3c-.2 0-.9.7-.8.9 0 .4.9 1 1.2 1zm2.7 1-2.5 2.5c-.3.3.3.8.6.5l2.5-2.4c.3-.3-.3-.9-.6-.6m-1.2 2.4 7.7 7.9 1.5.2-.2-1.6-8-7.6z"/> + <path stroke-width=".1" d="m149.8 160.6-7.6-7.6"/> + <path fill="#fff" stroke-width=".5" d="M160 138.6q0-.7.5-1c.5-.3.3-.1.6 0l.8.5q.3.2.4 0 0-.4.3-.8l.2-.2q.3 0 .2-.3t.3-.4c.2 0 .6.3.6 0l.3-1.6c.6.1.4-.6.6-.6.6.2.9-.8.5-1.2q.1-1.1 1.7-1c-.1-.5-.9-.7-1.4-1.4s-2-1.6-3.8-1.6-3.1 1.6-3.8 2.3-2 1-2.3 1l-1-.4H153c-.6 0-.8.4-1.5.3-.4 0-2 0-2.5.2s0 1.2.5 1.3c.2 0 1.5 0 2 .3s2 .4 2.6.1c1.3-.4 2.1.4 3.5.8l.5.1q.1 1.2-.4 1.1h-1.2l-1.3-.6q-.9 0-1.2.2c-1.7.7-7.7 5.4-8.3 6.5-.7 1.2-1.7 1.9-2.6 3.7-.5 1-1.5 2.2-2.1 3.8-1 .5-2.1 1.4-2.3 1.7q0 .4.4.6 0 .3.6.5-.1.4.4.4 0 .5.5.7l2.4-2.5q.2-1.7 1-2.8a41 41 0 0 0 3.4-4.9c.3-.4 3.2-1.5 4-2.2a14 14 0 0 0 0 4.6c.5 2 1.1 3.3 1.5 5s0 2.7 0 3.5q0 .7 1 1c.5.4 2.9 0 3.6.3l3.1.6a5 5 0 0 1 3.5.6c.6.5 1.7 3 2.1 4s2.6 2.1 3 2.7c.5.5.9 2 .8 2.7q-.2 1 .7.8c.5 0 2.5.3 2.8.5.4.2 1.2.9 1.5.9s1.7.2 2.4.1.6-1.1.3-1.2l-2-.4a8 8 0 0 1-2.7-2.1q-.8-1.2-1.3-2.5l-3.1-4.5-1.6-3.8c-.3-.7-.8-.7-1.3-.9-1.8-.5-2.5-.7-4.4-1-1.3-.3-1.6-.4-1.8-1.4 0-.8-.6-2.2-.3-3.2l.4-1.8c0-.5.4-1.3.4-1.7l.2-3zm1.4 8.2c-.2 0-1 .2-1.5 0-.1 0 0-.4 0-.4s-.2-.3 0-.4q-.1-.2 0-.4-.3-.3 0-.5l1.4-.1q.4.9.1 1.8"/> + <path stroke-width=".5" d="M158.1 135.1c.4.3.4 0 1.1-.2s1.3.4 1 1q-.4 1 .6 1.2c1 .2 1-.7 1.2-1l.7-.7c.2-.8 1-.6 1.5-.5m1-1.9c-.3.2-1.2-.5-1.4-1.1q-.3-1.3-1.8-1.4c-1.5-.1-3 .6-3.3 1.7l-.3 1.7q-.6 0-.7.2l-.1.8m-6.3 6.3 2-1"/> + <path stroke-width=".3" d="M153.4 140.3c.5 1.3 1 2.6 1.7 3m1.1.5q1.2.6 2.5.2m-5.1 9.5c2.1 0 3 1 4.7 1.6 1.8.5 4.2.2 6.5 1.3m-11.9-9.7q1 .6 2 .6m.9 0q1.8.4 2.3 1.4m-2.8 1.1c1 1 3 1.8 4.2 1.8"/> + <path stroke-width=".2" d="M157 136c.9 3.2 1 4.4 3.2 5m-4.1-5.1c1 3.1 2 4.8 4.1 5m-5-5.4c1 3.1 2.4 5.3 5 5.4m11.6 24.8q-.6-.4-1-1.3l-.7-1.6-.5.3q-.6 0-.2-.4l.4-.2-.6-1.2q-.3 0 .2-.3t.4 0l.6 1.2.4-.2c.3-.2.5.3.2.4l-.5.2.8 1.6c.4.7.5.9.5 1.5m-.1-3.4-2.4 1.3m-2.2-1.8 3.2-1.6m-3.7 1 3.3-1.6"/> + <path stroke-width=".1" d="m140.1 153 1.1-1m-1.5.5 1-1m-1.6.5 1.1-1m19.8-4.6h1m-1.1-.8h1m-1 .4h1m1.3-9.2.6.3"/> + </g> +</svg> diff --git a/apps/web/public/flags/mu.svg b/apps/web/public/flags/mu.svg new file mode 100644 index 00000000..82d7a3be --- /dev/null +++ b/apps/web/public/flags/mu.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-mu" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#00a04d" d="M0 360h640v120H0z"/> + <path fill="#151f6d" d="M0 120h640v120H0z"/> + <path fill="#ee2737" d="M0 0h640v120H0z"/> + <path fill="#ffcd00" d="M0 240h640v120H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/mv.svg b/apps/web/public/flags/mv.svg new file mode 100644 index 00000000..10450f98 --- /dev/null +++ b/apps/web/public/flags/mv.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-mv" viewBox="0 0 640 480"> + <path fill="#d21034" d="M0 0h640v480H0z"/> + <path fill="#007e3a" d="M120 120h400v240H120z"/> + <circle cx="350" cy="240" r="80" fill="#fff"/> + <circle cx="380" cy="240" r="80" fill="#007e3a"/> +</svg> diff --git a/apps/web/public/flags/mw.svg b/apps/web/public/flags/mw.svg new file mode 100644 index 00000000..137ff878 --- /dev/null +++ b/apps/web/public/flags/mw.svg @@ -0,0 +1,10 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-mw" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#f41408" d="M0 0h640v480H0z"/> + <path fill="#21873b" d="M0 320h640v160H0z"/> + <path fill="#000001" d="M0 0h640v160H0z"/> + <path fill="#f31509" d="M220.5 141c22.3-49.2 84.5-72.8 138.8-52.5a98 98 0 0 1 58 52.5zm-26 6.4a332 332 0 0 1-52.4-7.8c-4.1-1.3-4.3-3.6-3.8-5.3s3.1-3.6 6.2-3c5.6 1.4 28.8 7 50 16.1m124.6-85.9c-4.2-21-5.2-44-4.8-48C314.7 9.6 317 9 319 9s4.7 1.8 4.7 4.7c0 5.3-.1 27-4.6 48zm11.6.5a249 249 0 0 1-.3-48.2c.8-3.9 3.2-4.4 5.1-4.2 2 .1 4.5 2.1 4.2 5-.5 5.3-2.6 26.9-9 47.4m10.4 1.3c-.2-21.3 3-44.3 4.1-48 1.1-3.9 3.6-4.2 5.5-3.9 2 .3 4.3 2.5 3.8 5.3-1 5.3-5.2 26.6-13.4 46.6m11 2.2c1.8-21.2 7.3-43.8 8.8-47.5s4-3.8 5.8-3.4c2 .5 4 2.8 3.3 5.6-1.6 5.1-7.7 26-17.8 45.3zm10.9 3.2c3.9-21 11.5-43.1 13.3-46.7 1.9-3.5 4.3-3.5 6.2-2.9 1.8.6 3.7 3.2 2.7 5.8A264 264 0 0 1 363 68.7m10.1 3.8c5.8-20.7 15.5-42 17.7-45.5 2.2-3.4 4.6-3.1 6.4-2.3 1.8.7 3.4 3.4 2.1 6-2.5 4.8-12.5 24.4-26.2 41.8m10 4.7a263 263 0 0 1 22-43.9c2.4-3.2 4.9-2.7 6.6-1.8a4.4 4.4 0 0 1 1.5 6.1c-3 4.6-14.9 23.4-30.1 39.6m9.4 5.5c9.7-19.4 23.3-39 26.1-42s5.2-2.3 6.8-1.3a4.4 4.4 0 0 1 1 6.2c-3.5 4.4-17.2 22.1-34 37zm8.8 6.2c11.6-18.6 27-37 30.1-39.7 3-2.8 5.4-2 6.9-.8a4.3 4.3 0 0 1 .3 6.2c-3.8 4.1-19.1 20.7-37.3 34.3m8.3 6.9a284 284 0 0 1 33.8-37.2c3.3-2.5 5.5-1.5 6.9-.3a4.3 4.3 0 0 1-.3 6.3c-4.1 3.8-21 19.1-40.4 31.2m7.6 7.5A278 278 0 0 1 454.4 69c3.6-2.3 5.7-1.1 7 .3 1.2 1.3 1.5 4.4-1 6.2a306 306 0 0 1-43.2 27.8m6.5 7.8A297 297 0 0 1 464 79.6c3.7-2 5.7-.6 6.8.9 1.2 1.4 1.1 4.5-1.4 6.1-4.8 3-24.3 15.6-45.7 24.5m5.9 8.3a307 307 0 0 1 43-28.1c4-1.7 5.9-.2 6.9 1.3 1 1.6.6 4.6-2 6a321 321 0 0 1-48 20.8zm5.4 9.6a313 313 0 0 1 45.8-24.4c4.1-1.4 5.8.3 6.6 1.9.9 1.6.3 4.6-2.6 5.8-5.3 2.2-27 11.4-49.8 16.7m4.2 9.2a320 320 0 0 1 48-20.8c4.2-1 5.7.8 6.4 2.5.6 1.6-.3 4.6-3.2 5.5-5.5 1.9-28 9.3-51.2 12.8m3.4 9.8a325 325 0 0 1 49.8-16.9c4.2-.6 5.6 1.2 6.1 3 .5 1.7-.7 4.5-3.7 5.3-5.7 1.3-28.8 7-52.2 8.6M307.8 62a252 252 0 0 1-9.7-47.4c0-3.9 2.3-4.8 4.2-5 2-.1 5 1.5 5.2 4.3.5 5.3 2.6 26.9.4 48.1zm-11 1.3a251 251 0 0 1-14.3-46.4c-.4-4 1.8-5 3.7-5.3s5 1 5.6 3.8a263 263 0 0 1 5 47.9m-11 2.2A259 259 0 0 1 267 20.3c-.8-3.9 1.3-5.1 3.2-5.6s5 .6 5.9 3.4c1.5 5.1 7.7 26 9.6 47.3zm-10.5 3A264 264 0 0 1 252.5 25c-1.1-3.8.8-5.2 2.6-5.8s5.1.2 6.2 2.8c2 5 10.2 25.4 14 46.4zM265.2 72a270 270 0 0 1-27-41.5c-1.4-3.7.4-5.3 2.2-6s5-.2 6.4 2.4c2.5 4.8 12.5 24.5 18.4 45.1m-10.3 5a276 276 0 0 1-31-39.2c-1.7-3.5-.1-5.2 1.6-6.1s5-.6 6.6 1.9c3 4.6 15 23.3 22.8 43.4m-9.4 5.4A285 285 0 0 1 211 45.7c-2.1-3.4-.7-5.2 1-6.3 1.5-1 5-1 6.7 1.4 3.4 4.3 17.1 22 26.8 41.5zm-8.7 6a292 292 0 0 1-37.9-33.9c-2.4-3.2-1.1-5 .4-6.2a5.5 5.5 0 0 1 6.8.8c3.8 4 19.2 20.7 30.7 39.3m-8.5 7a299 299 0 0 1-41-30.7c-2.8-3-1.7-5-.3-6.3a5.5 5.5 0 0 1 6.9.3c4.2 3.7 21 19 34.4 36.6zm-7.4 7A307 307 0 0 1 177.2 75c-3-2.8-2.1-4.8-.8-6.2 1.2-1.4 4.5-2.1 6.9-.3a292 292 0 0 1 37.6 34zm-7 8.2a313 313 0 0 1-46.2-23.8c-3.3-2.5-2.6-4.7-1.5-6.1 1.1-1.5 4.3-2.5 6.9-.9 4.8 3.1 24.3 15.5 40.8 30.8m-6.3 8.8c-22.2-7-44.9-17.6-48.4-19.9-3.6-2.2-3-4.4-2.1-6s4-2.8 6.8-1.4c5 2.7 25.8 13.5 43.7 27.3m-5.3 9c-22.8-5.3-46.3-14-50.1-16-3.7-2-3.5-4.2-2.6-5.8s3.7-3.1 6.6-2c5.3 2.3 27 11.4 46.1 23.8m-4.2 9a329 329 0 0 1-51.4-12.2c-4-1.6-3.8-3.9-3.2-5.5.7-1.7 3.5-3.4 6.4-2.5 5.6 1.9 28 9.3 48.2 20.2"/> + <path fill="#f31509" d="M194.5 147.4a332 332 0 0 1-52.4-7.8c-4.1-1.3-4.3-3.6-3.8-5.3s3.1-3.6 6.2-3c5.6 1.4 28.8 7 50 16.1"/> + <path d="M129.4 141.5h381.2v12.6H129.4z"/> + </g> +</svg> diff --git a/apps/web/public/flags/mx.svg b/apps/web/public/flags/mx.svg new file mode 100644 index 00000000..e3ec2bc5 --- /dev/null +++ b/apps/web/public/flags/mx.svg @@ -0,0 +1,382 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-mx" viewBox="0 0 640 480"> + <defs> + <radialGradient xlink:href="#mx-a" id="mx-b" cx="842.3" cy="103.7" r="25.9" gradientTransform="matrix(.14152 .03595 -.03453 .14198 213.1 162.4)" gradientUnits="userSpaceOnUse"/> + <radialGradient xlink:href="#mx-a" id="mx-c" cx="651.5" cy="550.5" r="25.9" gradientTransform="matrix(-.13441 -.05384 .04964 -.12489 397.9 -24.3)" gradientUnits="userSpaceOnUse"/> + <radialGradient xlink:href="#mx-a" id="mx-d" cx="380.8" cy="740.4" r="25.9" gradientTransform="matrix(.07536 .00282 -.00343 .14804 412.4 -203.6)" gradientUnits="userSpaceOnUse"/> + <linearGradient id="mx-a"> + <stop offset="0" stop-color="#fff"/> + <stop offset="1" stop-color="#f15770"/> + </linearGradient> + </defs> + <path fill="#ce1126" d="M426.7 0H640v480H426.7z"/> + <path fill="#fff" d="M213.3 0h213.4v480H213.3z"/> + <path fill="#006847" d="M0 0h213.3v480H0z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m355.8 289.4.2 4.5 1.7-1.1-1.3-3.7z"/> + <circle cx="355.6" cy="288.2" r="1.4" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m361.1 296.4-3.2-3.1-1.5 1.2 4.5 2.6z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M360.9 298.2q-.7-1 .3-2 1.2-.7 2 .2.7 1-.3 2-1.2.7-2-.2z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m386.3 249.6 3.4 3.3.4-1.7-3.1-2z"/> + <circle cx="385.9" cy="248.7" r="1.4" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M395.2 251.6 390 253l.5-1.7 4.4-.4z"/> + <circle cx="396" cy="250.8" r="1.4" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m378 276.8-3.2-4.8.5-.3 3.5 4.2z"/> + <circle cx="374.5" cy="270.8" r="1.4" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m378.1 277 4 .7.1-.5-3.3-1.4z"/> + <circle cx="383.3" cy="277.7" r="1.4" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M284.6 288q-.1 1.2-1 1.2-1.2 0-1-1.2c.2-1.2.5-1.3 1-1.3s1 .7 1 1.4z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m284.6 290.3 1 5-1.3-.5-.4-4.3z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M285.7 288.6c.6.7-.4 1.9-1.4 2.2s-2.4-.2-2.4-1.2 1.6-.5 2-.6c.6-.2 1.2-1.2 1.8-.4z"/> + <ellipse cx="277" cy="296.3" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" rx="1.6" ry="1.1"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m279.6 296 4.8-.2-.8-1-4 .4z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M280 295.4c.5 1.3.5 3-.9 2.7-1.4-.1-1-1.4-1.2-1.8-.2-.9-1-1.7-.2-2.5s2 .4 2.3 1.6z"/> + <ellipse cx="264.4" cy="269.2" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" rx=".9" ry="1.4"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m264.4 272.4.1 4.6-1.2-1v-3.8z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M266.2 271c.3 1-1.3 1.6-2.4 1.4s-1.9-.7-1.7-1.7 1.5-.8 2-.5 1.8-.8 2.1.7z"/> + <ellipse cx="256.2" cy="276.5" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" rx="1.6" ry=".7"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m259.1 276.5 3.6-.3 1.6 1.2-5.3-.2z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M257.8 274.5c1 0 1.6 1.1 1.5 2.3q-.4 1.8-2 2c-.9-.2-.8-1-.8-1.2 0-.3.5-.7.6-1s-.3-1.3-.1-1.6q0-.5.8-.5zm-3-28.3c-.4.6-1.2 1.1-1.6.9s-.2-1.2.2-1.8q.7-1 1.4-.8.6.6 0 1.7z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m250.7 253.5 2-4.8-.2-.3-2.4 3.4z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M252.4 248.7q-1.4-1-1-2.3c.4-.7 1.2-.2 1.2-.2l.8.7c.4.2 1 0 1.4.6.5.6.2 1.2-.1 1.4s-1.5.4-2.3-.2zm-8.5-.6q1.1.7.9 1.5-.5.7-1.8 0-1-.6-.8-1.5.5-.7 1.7 0z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m246 250.2 3.8 2.2-.1 1.8-4.1-3.5z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M246 250.6q-1.2 1.3-2.3.7c-.7-.5-.1-1.2-.1-1.2l.8-.7c.2-.4 0-1 .7-1.4s1.2 0 1.3.3c.1.4.3 1.5-.4 2.3z"/> + <path fill="#aa8c30" d="m356.6 289.8-.4.4-.3 1v-1.5l.5-.3zm.2-.9s-.3.5-1.1.5-1.2-.4-1.3-.8q-.2-.5.2-1.2c.2-.5-.4.4-.4.4v1l.6.6.5.2h.4l.7-.2.4-.3zm4.2 7.3s-.4.2-.7.1c-1.9-.6-3.5-1.8-3.5-1.8l3.8 2.4zm2.4 1.1s0 .7-.8 1q-1 .4-1.5-.1c-.5-.5-.4-.6-.4-1.2l-.1.6.4.8.8.4.5-.1.5-.2.4-.5.3-.5zm24.3-47.6-.1.4v.7l-.9-1 .4-.5zm-.5-1.2c0 .7-.9 1.6-1.6 1.3q-1.2-.5-.9-1.8l-.2.3.1 1.1.7.6h.9l.6-.3.4-.7zm10 1.8s-.1-.4 0 0-.6 1.7-1.4 1.6q-1-.3-1-1.4c0-.6-.1.2-.1.2v.8l.5.4.6.4.6-.2.7-.3.2-.6v-.9z"/> + <path fill="#aa8c30" d="M393.8 251s0 .4-.4.7l-1.3.7 2.8-.8-.2-.7zm-17.1 22.5-.1.5v.8l-1.6-2.5.5-.3zm-.9-2.4c-.2.7-1.4 1-2 .8-.5-.4-1-1.6-.3-2l-.4.2-.1.7.2.7.6.7.5.1.8-.2.6-.4s.4-1.3.1-.6m5.6 5.7s0 .3-.5.3h-1.6l2.6.6.2-.6z"/> + <path fill="#aa8c30" d="M384.6 277.5c.3.8-.5 1.7-1.5 1.4s-1.3-1.3-1-1.8l-.2.6.2.8.6.6h1.3l.6-.7.2-.7-.1-.2zm-99 11.1c.3.3-.1 1.5-1.2 2q-1.7.4-2-.4-.4-.7-.3-.8l-.2.2.2.6.5.5 1 .2.8-.1.7-.5.4-.3.3-.5v-.6z"/> + <path fill="#aa8c30" d="m284.6 291.1-.3.4-.3.8v-1.4l.5-.3zm-3.8 4s0 .3.2.5l1 .3h-1.8l-.2-.7h.8zm-.6 1.2v.2l-.1.5q-.1.9-1 .9a1 1 0 0 1-1-1.1l-.2-.6v.6l.4 1 .7.3h.5l.5-.2.2-.6.1-.5zm-4.7-.1s.2.8 1.2.8 1.2-.2 1.2-.2v.3l-.2.2H276l-.3-.3-.3-.5v-.3zm-9.4-25.4v.4c-.1.3-.7 1-1.8 1q-1.4 0-1.8-.7t-.4-.8v.5l.4.7 1.1.5h1l1-.3.5-.5.1-.6zm-1.7 2.3s-.4 0-.6.2l-.4.4v-1.3h1zm-4.7 3.4.5.3c.5.3 3.1.5 3.1.5h-4.1l.1-.8zm-.5 0-.2.6c-.2.5-.7 1.6-1.6 1.4-.9-.1-.7-.8-.7-.8v-.4l-.2.7.2.4.4.2.7.1.4-.2.6-.5.2-.5.2-.6zm-2.2.2s0 .2-.7.2-1.7-.3-1.7-.3l.4.4.5.2h1.3zm-2-29s0 .5-.3.8c-.4.3-1.3.5-1.8.2s-1.5-1.3-1.5-1.3l.4.8.7.6 1 .3 1-.2.4-.4.2-.3z"/> + <path fill="#aa8c30" d="M252 249.1v.6l-.2 1.1.9-2-.4-.2zm-5.4 1.5.2.5c.2.5 2.3 2.6 2.3 2.6l-3.3-2.9.4-.5zm-1 .3s-.5.3-1 .3c-.3 0-1 0-1-.4l.1-.7-.3.6.1.4.5.3h.7l.6-.3.2-.2zm-1.5-1.4h-.5c-.7 0-1.4-.8-1.4-.8l.5.8 1 .5z"/> + <path fill="#9ca168" d="M399.9 240.2c-.3 3.8-4.1 5.8-6.1 7.2s-3 3.2-3 3.2l-.6 2.2-.3 1.5-.1.5q.2.6.3 2l-.1 4.3 2.7-1.9 1.9-.7.6-.1s-2.2 2.1-3 4.4-2.4 7.2-5.3 8.8c-3 1.6-4.8 1-5.7 1.8l-1 1-1.3 1.8-1 1.2-.9.7-.6.4-.2 1.7-.7 2.4s.6-.4 1.3-.5h1.3s-.5.6-.7 1.3c-.2.6.1 4.6-3.6 7-3.8 2.3-13.4 2-13.4 2l-1.8.7-1.7 1.3-1.6 1.7v.4s-1.3 1.5-2.1 2l-2.8 1.9 2.2.1 3.5 1.5s-2.2 0-3.6.5c-1.5.6-8.2 4.4-11.4 4.3s-8-4.9-8-4.9l-2-1.4-3.5-.7-4.3-.2v-.6l.1-.7s1.5-.2 3.8.1c2 .2 2.7 1 4.4 1.1q2.6.2 3.5-.3c.7-.3 5.9-4.7 5.9-4.7l5.8-2 2.3.3 1 .2.9.3-1 1-1.4 1.1.7.6 3.7-.6 1.2.3.3.2q0-.5.6-1.3c.4-.6 2.5-2.3 3.4-2.9l1.4-1c.3-.3 1.5-3.3 1.5-3.3l.1-1.6 4.1-4 2.8-2.9 1.2-3.3-.2-.7s1 1 .9 3c-.2 2.2-.7 2.9-.7 2.9s2.8-2 4.3-2.6q1.8-.6 2.4-.5c.4-.2 1.5-.9 2.1-1.8.8-1.2 1-1.5 1-2l.2-2.8-.3-7 2.4-5.4 3.5-3.1.7-.4-.4 1.2v1.5s1.8-2.5 2.7-2.9l.5-.3.8-2 .3-3v-3l-.5-2.3-1.7-4.3v-5.8l-1.2-1.6s1.1 0 2.5 2a14 14 0 0 1 1.9 5l3.3-10.3s.9 1.2 1.5 3.3l.8 3.3 1.4-2.8.1 1c.2 1 2.3 2.1 2 6m-67.3 65s-.7-1.6-3.9-3.2c-3.1-1.5-5.5-1.8-5.5-1.8v1.1l5 2.2 2.4 2z"/> + <path fill="#717732" d="M355.4 295.6c.3-.4 3-2.8 4.4-3.5s3.2-.8 3.2-.8c1.9-.4 2.2-.1 6.6-2.5s5.3-5.2 6.2-5.9c.8-.7 2.3-.8 2.3-.8l-3.4 3.9a29 29 0 0 1-5.8 4.5 18 18 0 0 1-7.6 1.8 8 8 0 0 0-4 2c-1.3 1-2 2.2-2 2.2s-.2-.5 0-.9zm12-12.7c-4 3.7-5.3 7.2-5.3 7.2l5.4-4.9c1.9-1.8 4.5-2.6 5.6-3.7 1.2-1.1 1.3-2 2-2.7l1.3-1s-1.8-1.4-9 5.1m-8.5 8.6s1.7-.8 2.4-2.3c.5-1.2.2-1.5 1-2.8 0 0 4.2-4 5.7-5.8 2.6-3.1 1.4-5.7 1.4-5.7s.3 1.3-.8 2.7c-1 1.4-6.5 5-7.2 7.2-.6 2.2-.3 2.3-.6 3.4-.6 2.6-1.9 3.3-1.9 3.3m-2.8 10.5s-2.1-1.4-4.5-1.3c-4.9.4-9 3.4-12.2 3.4-3.1.1-4.4-1.5-6.9-3.2-2.6-1.8-9.2-1.5-9.2-1.5v.3s4.4 0 6.4.6c3.6 1 5.6 4.8 9.7 4.6 5.5-.3 9.9-3.6 12-3.6 3.8 0 4.7.7 4.7.7m-24-2.4s3.7.6 6.6-1.5c3-2.1 6.4-5 8.3-5.2 2 0 4 .4 4 .4s-2.5-1-4.4-1q-3-.2-5.8 1.3c-1.8 1.1-2.7 3-4.6 4.3a13 13 0 0 1-4.1 1.7m-.7 5q-.9.1-1.3.3c-.2 0-1.3-1.2-3-2-1.6-1-4-1.4-4-1.4s-.3 0 .3.2l3.8 1.5a9 9 0 0 1 2.6 2.1c.1.3.6.9 1.5.8q1.4-.1 1.2-1-.2-.5-1.1-.5m2.6-3.6s1.5.8 4 .8c5.2-.2 8.6-3.8 12-5 3.4-1.4 5.2-.3 5.2-.3s.1-.2 0-.2a7 7 0 0 0-3.9-1.2c-5.7 0-11.2 3.7-13.5 4.7q-3.6 1.3-3.8 1.2m56-39.9c-1.8 1.9-4.5 7.7-5.6 9.3-1.2 1.6-2.7 2-3.3 2.7-.6.6-2.7 3.5-3.2 4.1-.5.7-.6.5-1 .8q-.6.4.1.2c.6-.1.8-.5 1.6-1.5 1-1 .9-1.4 2.3-2.7 1.4-1.2 3.9-2.6 5.1-4.2 1.3-1.5 3.8-7.5 5.2-9s4-2.4 4-2.4-2-.6-5.3 2.7zm-9 11.1s-.1-1 1.2-2.6 1.7-1.3 2.8-3.6q1.3-3.4 2.3-6.9c.9-2.4 2.3-4.8 2.3-4.8s-1.3.2-2.7 2a35 35 0 0 0-4.8 8.7c-1.1 3.4-1.1 7.2-1.1 7.2m-1.7 2.2s.5-.2.5-3.2c.1-2.9-.1-7 .7-9 .9-2 5.4-7 5.4-7s-1.9.5-4.5 2.5-3.7 4.7-3.6 6.7 1.3 4.2 1.4 6.1l.1 4zm10.5-20.1s1.1-4 1.6-5 .5-1.5 2.7-4c1.3-1.5 2.6-2.4 3.1-4.4s.6-7.7.6-7.7-.6.5-1.1 1.5-.1 4.7-1 6.4-2.7 5.6-3.7 6.5c0 0-.2-2.9.2-5.7.3-3 1.3-3.8 1.7-5.7s.2-6.7.2-6.7-1.5 1.5-2.3 3.4-1.2 5-1.2 7.5.5 4.5.6 5.9.2 2-.4 3.6l-.6 2-.7 2.6zm-3.5-21.6s1.4 1.7 1.2 3.6c-.3 2-1 4.5-.2 6.5.7 2 1.9 2.2 2.2 3.4s.3 3.4.3 3.4.6-4.3.2-5.5c-.5-1.1-.7-.6-1.3-1.8s0-4.7-.4-6.7-2-2.9-2-2.9"/> + <path fill="#9ca168" d="M306.7 304.8s.4-1 3.1-2.4a34 34 0 0 1 7.3-3c.3.3-.3 1.8-.3 1.8l-2.6.8-2.1 1.2-2.5 1.6z"/> + <path fill="#9ca168" d="M313.6 297.7c-3.4.1-5.3 1-6 1-.2.1-.7.5-1.2.3a5 5 0 0 1-1.5-1.5l-.7-.7-.2 2.5-5-4.4-.6 3-.7 1.3-5-4.8.2 3.7-1.4.1-3.6-2.5-1 .4 1.2 2.2-4.6.3-1 .8-1 1v.4h1.9c.4-.2.6-.7.7-.5.2.2.3 1.2.9 1.1s2.7-1.7 4.2-1c1.7.8-2.2 2-1.8 3.1s3.2.7 4 .3c.6-.3 2.7-3 3.6-2 1.2 1.4-2.5 2.5-1.8 3.9s2.7 1 3.7.4 3.4-4.1 3.9-3.4c.9 1.4-2 2.7-1.3 3.7.8 1 2.3 0 3.4-.8s1.5-2.5 3-3.3c1.4-.8 1.3-.5 1.7-.5s1.5-1.1 1.5-1.1l3.5-1.5 1.6.2.9.4 1.7.2.2-1.4s-2-1-3.3-1zm-27.4 0 .7-1.3-.4-.6s-1.2-.7-2.3-1.8a7 7 0 0 0-2-1.6L280 291l-.8-2.8-.5-.9-1.3.6-1.7-6.1-.3-1.1h-.7l-1.5 3.6-1.5-2.3-.4-5-1 1-1.3 1.4-2.3-4.6s-.1-.1-.3.3c0 .3-.3 1.8-.1 2.6a26 26 0 0 1-6-5.2l-1-2.5 1-2 .5-2.6-2.2.9-.4-5.7-.3-1.8-2.7 3.8-1-1.7v-3.6l-.7-.2-1 2s-1.1-2-1.6-2.5c.1-.8.2-2.9-.3-4.5-.6-2-1.3-3.1-1-4.8.2-1.6.9-1.8.8-2.5 0-.8-1.2.5-.8-.5s3.8-3.2 3.1-4.4c-.7-1.1-4 1.9-3.3-.1s4-2 4.2-4.9c.1-1.7-3 1.1-3.3.2-.3-.8 2-2.6 1.9-3.8 0-1 .4-1.2-.2-1.8s-2.6 2.3-2.6 2.3l-2-.7-.8 3-.6 2.5-2.6-1.5.7 3.1.6 3-2.7-.7 1.4 2.6 1.9 2 1.1 1.5.9.4 1 1.1.5 1.7.6 1.9.1 1.8v2.4l-.1.4v1.1c-.5 0-1.4-.8-1.7-.3s1.6 2 1.2 2.4c-.3.4-3-.5-3.2.3-.2 1 .2 2.2 1.8 2.6s5.3 1.2 4.7 2c-.6.7-4.7-2.3-4.5-.1a4 4 0 0 0 2.6 3.4c1 .4 5.1 0 4.9 1-.3.9-3.3-.4-3.6 1s2.1 1.6 2.6 1.6 2.2-.1 2.9.4l4.3 4.1 4.6 3.4c-.8 0-2.4-.3-2.6.3s6 3 4.2 3.8-3.8-2-4.3-.4 1.2 3 2.2 3.6 6.7.1 5.6 1.4-5.3-.8-5.3.7 2.7 4 4.2 3.9c1.4 0 3-2.4 3.6-1.1s-1 1.7.3 2 2.3-1.4 4-1c1.5.3 4 1.3 5.4 2.5z"/> + <path fill="#717732" d="M308.4 304.1c1 0 1 .6 1.2.6s1.8-1.5 3.3-2.3a18 18 0 0 1 4-1.4l.1.2s-2.8.7-4.2 1.7l-3 2.1q-.3.5-1.7.7c-1 0-1.4-.6-1.4-.9 0-.2.7-.7 1.7-.7m8.5-4.3s-.9.1-1.3-.3a4 4 0 0 0-2.6-.8 7 7 0 0 0-4 1.8q.1.2-1.4 1.3.6 0 2-1a7 7 0 0 1 3.6-1.4c1-.2 1.7.4 2.2.7.5.4 1.4.3 1.4.3zm-50.5-20.6v-.7l-2.2-1.1c-1.6-1-5-3.8-5-3.8l2.8 2.7c1.4 1.3 4 2.9 4 2.9zm35.6 25.2 1.5-2.1q1.5-2 1.9-2.2 0-.5-.7-1.4l-.2-1.2s.4.8 1 1.3l1.1 1s1.4-.2 1.4-.5q0-.3-.2-.5c-.3-.1-.5.2-1.1 0-1.3-.6-1.8-2.6-2.6-2.6-.8-.1-.2 2-.6 2-1.1.2-2-4.3-5-4.5-2 0-2.3.3-2.4.7 0 .5 2.5 3.1 1.6 3.5s-3.5-4.2-5.5-4.2c-1.9 0-2 .7-2 1.1.2.4 2.2.8 1.8 2.2s-2.5-2-4.3-1.9-2 .3-2 .9c-.1.5.6 1.2.3 1.4s-1.4.1-2.3.7-2.1 2.4-2.1 2.4 1.2-1.7 2.7-1.9h5.6l-1.1-.8c-.6-.5-1.1-1.6-1.1-1.6l1.7 1.5c.8.7 1.9 1.2 1.9 1.2s1.7.2 1.8.4q.3.3-.8 1.3l-1.7 1.7 2-1.6 1.5-1.2 1.4.2q.3 0-.8-1.7l-1.6-2.5s1 .9 2 2.3c1.1 1.3 1 2 1.4 2l1.4.1q.7 0-.4 1.7-1.4 2.5-1.2 2.5c.2 0 .8-1.2 1.6-2 .7-.8 1.1-1.7 1.5-1.8h1.5l-.8-1.6c-.6-1-.8-2.6-.8-2.6s.6 1.4 1.4 2.5l1.3 1.9 1.4-.1.3.1c0 .5-.2.7-.7 1.8zM280.5 292l1.7.5c0-.1-1.7-1-2.1-2.4s0-4.4-.8-4.3c-.7 0-1.1 2.1-1.8 1.7-.8-.4.2-4.4-.6-6-.8-1.7-2.6-2.9-3-2.3s-.3 4.2-1.5 3.5.1-4-.2-5.3c-.4-1.5-1.2-2.5-1.9-2.1s.3 3-.7 3-.9-1.9-1.3-2-.6.3-.9 0c-.2-.4 0-1.7-.6-1.6s-.5 1.2-.3 1.7l.7 1.8c.2.4 1 .9 1 1.2q-.2.5-1 .6h-1.9s1.4.4 1.9.4 1.4-.2 1.7.2c.2.5 1.4 2 1.4 2s.3-.8.4-2.2 0-2.7 0-2.7.5 1.6.4 2.7c0 1-.4 3-.4 3s1.1.8.8 1c-.3.3-1.5.3-2.8.3-1.4 0-3.3-.5-3.3-.5a14 14 0 0 0 6.7 1.3l1.8 2s.9-1.5 1-3v-3l.4 2.8c0 1.3-.4 3.6-.6 3.8a5 5 0 0 1-1.9 1l-3.5.5s2.2.3 3.8 0c1.5-.4 1.7-.9 2.2-.6l.8.7 1.3 1c.1.1-.7.4-1 .7l-1.5.7 2.2-.7 1.1-.4.5.2-.1-1.2-.3-1.8s.5.8.7 1.6l.1 1.6s.2.2 1.4.6m-31.1-35.6s.3-1.7.3-3.6a14 14 0 0 0-1.9-5.8l1-1.4-1.2 1-1.2-.5-.9-1 1.2.8.7.1-.5-2-1.9-1c-1.3-.6-2.5-1.8-2.5-1.8l2.8 1.5q1.5.5 1.6.4l1.6-.6 1.7-1.1s-1 .6-1.8.7l-1.6.3-.3-2.4-1.1-1.1c-.9-1.2-1.6-2.9-1.6-2.9s1 1.2 1.7 1.7 1.4 1.5 1.4 1.5l1.6-1 2.8-2-2.7 1.3-1.6.7s-.2-1 0-1.5.8-1.2.7-1.6c0-.5-.4-.3-.5-.7-.2-.3.4-2.6.4-2.6l.1 1.2c0 .5-.2 1 .4 1s3.2-2.7 3.6-3.2.8-1.8-.6-1.3-1 1.8-2.2 1.7c-.4 0-.8-1.5-1.2-1.2s-1.4 1.3-1.6 2.4.2 2.6-.4 3.1-1-1.8-2.2-1.5-1.5 2-1.3 2.6 2.7 3.5 2 4c-.9.3-2.9-2.6-4-.6-1 1.9 3.4 4 4 4.4.5.5 0 .6.8 1.6s1.8 1.2 2.4 1.8a13 13 0 0 1 2.1 5.9zm11.7 17.1s-1-1.2-.7-3.3 1.8-5.7 1.3-6.2-2 2.2-2.4 1.6.9-4.3.2-5.8-.7-2.5-2-2.3c-1.3.1-1.8 4.4-2.5 3.6-.6-.7.4-2.6 0-3.7q-.6-1.4-1.3-1.2c-.7.2-1 2.2-1.4 2.1-.5 0-1.2-2.3-2.2-2-.9.3 2.3 4.5 2.3 4.5s.5-.5.8-1.2l.6-1.5s.3 1.3 0 1.9-.3 1.7-.3 1.7-.8.3-2.1 0l-2.3-.7s.8.6 2.1 1l2.7.7 2 2.7.8-2.1 1.3-3.5-.6 3.9-.7 3s-1 0-2.6-.3l-3.6-.8 3.6 1.2 2.8.7 1.4 1.9 1-1.5 1-1.8s-.3 1.4-.7 2.3l-.7 1.4-1.8.2h-2.5a20 20 0 0 0 4.5.9s0 .5.7 1.3z"/> + <path fill="#fff" d="M314.4 310.8s-.6-.6-1.4-1q-1.3-.6-1.2-.4l-.4-.1.8-2 5.5-5.3.9-5.3h3.4v7.2l1 .5 6.2 3.7v1.6l-1 .4-.7.4-2.3.2-4-3-1.8-1.7-3 4z"/> + <path fill="#016848" d="m318.8 296.7-.1 1c0 .9 0 5.2-.2 5.8s-3.2 1.8-4.9 3.3-1.8 2.6-1.8 2.6-.5 0-1.6.4c-1 .4-1.5 1-1.5 1s.6-2.6 3.4-5c2.7-2.6 4-2.8 4.4-3.2.3-.4 0-5 0-5.5q.3-.5.7-.4zm7 15.7.8-1.1 1-.8-1.5-.8c-1.5-.6-2.3-.4-3.3-1.2l-2.2-2-1.5 1.2 1.7 2c.9.8 2.7 1.1 3.5 1.6l1.6 1.1z"/> + <path fill="#cd202a" d="M321.5 296.6s1.7 0 1.9.2l.2.6c0 .1 0 4-.2 5.3a8 8 0 0 1-1.4 3l-4 3.7c-1.2 1.2-2.4 2.8-2.4 2.8l-.8-1q-.6-.5-.6-.9a10 10 0 0 1 3.3-3.4c2-1.3 3.6-2.8 4-4.9.3-2 0-5.4 0-5.4"/> + <path fill="#cd202a" d="M332.5 310s-.4-.4-1.8-.4l-1.5.1s-.8-1-2-1.7c-1.2-.8-2.1-.7-3.5-1.6-1.3-.8-2-2.1-2-2.1l1-2s1.2 1.5 2.4 2.4 3.7 1.7 4.6 2.4z"/> + <path fill="#30c2dc" stroke="#0872a7" stroke-width=".5" d="M345 286.4s-3.6-1.4-3.4-2.7c.3-1.2 8.3-3.3 8.3-3.3l.1-2.1s-1.2-.1-3.2.5-5.2 1.6-8.6 1.6l-34.4-2.2c-3.7-.3-6-6-6-6l-1.8.4s.5 2.7-.4 3a65 65 0 0 1-13.9-6l-.6 2.6s7.3 4 7.1 5.5c-.2 1.4-2.4 1.3-2.4 1.3l1 1.8c.3 0 12 .6 12.3 4.1 0 1.5-3 2.3-3 2.3l1 1.2v.6s6.7 0 8.5 1 2.7 2.6 5 3.8c2.2 1.3 17.3 1 19.6.3 2.7-.7 4.3-3.7 8.7-5 4.3-1.4 5.7-1.4 5.7-1.4z"/> + <circle cx="284.5" cy="280.7" r="2.1" fill="#fff" stroke="#0872a7"/> + <circle cx="296.4" cy="270.9" r="2.1" fill="#fff" stroke="#0872a7"/> + <circle cx="346.5" cy="286.6" r="2.1" fill="#fff" stroke="#0872a7"/> + <path fill="#f8c83c" d="M275.1 267.8c-.7 1.6 2 4.6 4 5q2.6.3 3.2-1.1a3 3 0 0 0-.4-2.5c-1.2-1.7-6-3-6.8-1.4"/> + <path fill="#fff" d="M281 270.2c0-1-1.6-1.9-2.6-1.9s-2 0-1.8.5 2.7 1.3 2.8 1.6-.8.6-.4 1q.8.4 1.4-.2.6-.3.7-1z"/> + <path fill="#f8c83c" d="M297.7 288.3c.4 1.4-.7 2-2 2.7-1.5.6-4.3.2-5-.9-.6-1.1 1-3 2.8-3.4s3.8.3 4.2 1.6"/> + <path fill="#fff" d="M294.8 289c.5 0 .6 1 1 .8.5 0 1-.8.8-1.3s-1-1.3-1.8-1.2c-.8 0-3 2-2.8 2.5q.4.7 1.2.3c.4-.2 1-1 1.6-1z"/> + <path fill="#f8c83c" d="M349.2 281c1.3 1.7 3.6.2 4.2-.5s2.4-1.7 1.7-2.8c-.8-1.1-2-1-3-1-.8 0-2.6 1.4-2.9 2-.3.5-.6 1.6 0 2.4z"/> + <path fill="#fff" d="M349.6 280s.1-1.9 1.8-2c1 0 1 .3 1.8.7.7.4 1-.5 1-.5s0 1.3-1.1 1.3-.8-.5-2-.7c-1-.2-1.5 1.1-1.5 1.1z"/> + <path fill="#f9aa51" stroke="#953220" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="m321.9 276.4-.9-.6h-2.8l-3.4.1 3.4 9.9 4 5.8 1.6.6 3.1-.2.6-1.6-1.2-9.5z"/> + <path fill="#f9aa51" stroke="#953220" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="m310.6 277 .2-1.1 1.8-.1 2.2.1s2.3 2.9 3.1 4.7 1.7 4.8 2.7 6.6c1 1.9 3.2 5 3.2 5h-4l-2-.6-5.6-9z"/> + <path fill="#f9aa51" stroke="#953220" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="M308.2 275.8h2.6a14 14 0 0 1 3.9 5.4c1 2.8.5 3.2 1.8 6.2 1.4 2.9 3.2 4.9 3.2 4.9s-3.9.2-6-.2c-2.3-.4-3-.3-3.6-1l-1.7-1.3h-2.2l.5-3.1-.6-6.9.1-3.5zm23.4 1.8-3.7-1.5-7-.4.6 3.6a30 30 0 0 0 2.6 7.7c1.1 2 2.2 4.4 2.8 5s4.6-1.1 4.6-1.1l2.6-.4-.3-2.8-.4-1 .6-8-.6-1.2z"/> + <path fill="#f9aa51" stroke="#953220" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="M307.1 277.7c0 .8 1 .9 1.2.8s1-.3 1-1.5-.7-2.1-2.2-2.2c-1.4 0-2.5 1.7-2.5 3 0 1.2 1.2 1.8 1.2 2.3 0 0-1.2 1.1-1.1 3.1s1.6 3.6 1.6 3.6-1.7 1.3-1.7 2.7 1.3 2.3 2.6 2.3c1.2 0 2.8-.8 2.8-1.8s-1-1.7-1.7-1.7q-1.1.2-1.1.8m25.6-10.9c0 .9-.6 1-1 1s-1.2-.4-1.2-1.5c0-1 1.4-1.6 2.4-1.6s2.4 1.2 2.4 2.7-1 2.6-1 2.6.6.3.6 2.2-1.2 3.3-1.2 3.3 1.6.6 1.6 2.6-1.4 2.6-2.3 2.6c-1 0-2.6-.5-2.6-1.9s.8-1.8 1.5-1.8q1.1.2 1.3 1.5"/> + <path fill="#953220" d="m309.5 288.6.4.6q.2.7.8 1.4c.8.7 7.2 1 9.2 1s7.8.2 8.9-.4c1-.7 1.2-1.8 1.9-2.3l.9-.4-.9.7v1.4l.5.8s-.1.4-.8.8q-1 .5-2.3.6c-1 .1-13.2.1-15.2-.2s-1.8-.3-2.4-.7l-1-1 .3-.8-.3-1.4zm20-11.8 1 .5s-.9.3-1.6 2.3-.1 2.5-.6 2.7-5.8 0-5.8 0l-1-2.1z"/> + <path fill="#231f20" d="M346.4 276s-.9-.3-1.3-1q-.8-1.4-.5-2c.4-.1 1 .5 1 1.1s.8 2 .8 2zm10.4-2.8s.7 1.2 1 1.3l1.2.6s-1.5 0-2-.4l-1-1.5z"/> + <path fill="#231f20" d="M360 274.2s-1 .5-1.6.2q-1.4-.5-1-1t.8.2c.4.4 1.8.6 1.8.6m5.3-4.5s-.8.6-1.3.6-1.5-.2-1.5-.4 1.3-.4 1.6-.3zm-8-10.5s-1.1.4-1.5 1-.3 1.2.2 1.2.6-.7.6-1zm-5.2 2.9s-.9.5-1 1c-.3.5-.5 1.6 0 1.6s.7-.8.7-1.2c0-.5.3-1.4.3-1.4"/> + <path fill="#8cbebf" stroke="#04534e" stroke-width=".5" d="m342.8 268.4-2.9 3s6.6 3.7 11.7 3.5c5-.1 10.8-4 11.2-5 .4-.7 0-4.3-.6-5.4s-4.2-3.8-5.5-3.7-3.7 1.9-5.8 4c-2.2 2.1-2 3.9-5 3.7z"/> + <path fill="#0c8489" d="M342 269.6s7 1 9.1-.8 4.3-5.3 5.7-6c1.4-.9 2-.9 2-.9l1.6 1.1 1.8 1.5.6 3.4v1.8l-2.2 1.8-4 1.9-4 1.2-3.2-.1-6.7-2-1.7-1.1-.4-.4z"/> + <path fill="#04534e" d="M352.8 265.5q0-.7 1-.6c1 .1 1 .2 1 .8s-.5 1.4-1 1.4-1-1-1-1.6m2.8 1.8q0-.9 1-.8c.7 0 1.3.7 1.3 1.2s-.5 1-1.1 1-1.2-.9-1.2-1.4m-1 4.2q.1-1 1.1-.8 1 0 1 1a1.2 1.2 0 0 1-1.1 1.2q-1-.2-1-1.4m-3.7-1.3c0-.7.7-1 1.3-1q1 .2 1 1.4c0 1.2-.4 1.3-1 1.3s-1.3-1-1.3-1.7m-5.9.7a1.4 1.4 0 1 1 3 0 1.4 1.4 0 0 1-3 0"/> + <path fill="#8cbebf" d="M355.6 267.3c0-.5.7-.8 1-.8q.8.1.8.8 0 1-.7 1-.8-.1-1-1zm-1 4q.2-.8 1.2-.8c1 0 1 .3 1 .8s-.5 1-1 1q-1 0-1.1-1zm-3.7-1.2c0-.6 1-.9 1.5-.9q.4 0 .3 1 0 1.1-.7 1.2c-.7.1-1-.7-1-1.3zm1.8-4.7q.1-.6.8-.5c.7.1.6.1.6.7s-.3 1-.6 1q-.7-.2-.8-1.2m-7.7 5.1q.1-1.1 1.4-1.3 1.8-.2 1.7 1c0 .6-1 1.8-1.8 1.8s-1.3-.8-1.3-1.5"/> + <path fill="#231f20" d="M347.7 269.4s-1 .1-1.5.6-.5 1-.3 1.2.7-.3.8-.6c0-.2 1-1.2 1-1.2m4.7-1s-1 .6-1 1.3q-.1 1 .2 1c.3 0 .5-.9.4-1.2s.4-1.2.4-1.2z"/> + <path fill="#231f20" d="M353.2 269.3s-.6 0-1 .4q-.9.9-.6 1 .6 0 .8-.5c0-.2.8-.9.8-.9m1-5.4-.8.6c-.2.2-.5 1-.2 1q.4.3.8-.5zm3.5 2.3s-.9 0-1.2.5q-.6.7 0 .8.4 0 .6-.5c.1-.4.6-.8.6-.8m-.5 4.1s-.2.7-.8 1q-.7.6-1 .1 0-.6.4-.7z"/> + <path fill="#04534e" d="M362.8 267.5s.4 2-1.3 3-6.4 4.2-10.9 3.8-9.6-3-9.6-3l-.7.4 1.2.5 3.4 1.4 4 1.2 2.5.1 2.1-.2 4-1.3 3.3-1.7 1.8-1.4.4-.6v-1.9z"/> + <path fill="#231f20" d="M274.9 242.2s1 .9 1 1.6q-.3 1.2-.7 1c-.3-.2-.3-1-.3-1.3zm7.7 7.1s-.3 1.4-.9 1.5c-.5.1-.9-.4-.8-.7l.8-.2zm-16.8 1s.4.8 1 1q1.1-.2 1-.6-.2-.2-.8-.2zm3 6s.7.6 1.5.7a1 1 0 0 0 1.3-.7c0-.2-1-.2-1.3 0s-1.5 0-1.5 0m5.3 4.4s1.4-.2 1.6-.6.6-1 .3-1.3-.5.5-.7.9c-.1.3-1.2 1-1.2 1"/> + <path fill="#8cbebf" stroke="#04534e" stroke-width=".5" d="M282.6 257.1s1-6-4-10.4c-5-4.3-8.1-3.2-9.8-1.6s-3.2 6.7 2 11.3c5.3 4.5 11.7 3 11.7 3z"/> + <path fill="#0c8489" d="M267.6 250.7s-.1-3.4 1.5-4.4c1.5-1 6.8-1.8 9.3 3.1s2.7 7.4 2 10h-2.7l-4.3-1.8-3.5-2.6z"/> + <path fill="#04534e" d="M282 258s-.9 1-2.7 1c-1.7-.2-10-2.3-12-9.8v1.7l.1.5.6 1.5 1.7 2.5 2.2 1.9 2.8 1.4 2 .6 2.5.4h1.5z"/> + <path fill="#04534e" d="M277.7 255.9q0-.9.8-.7c.8.2 1-.2 1 .4s-.4 1.6-1 1.6q-.7-.2-.8-1.3m.3-4q0-.7 1-.8.8 0 .9.9 0 .7-1 .8-.8-.1-.9-.8zm-3.7 4.4q0-.6 1-.7c1-.1 1 .3 1 .7s-1 .8-1.5.8-.5-.5-.5-.8m-.4-4.6c0-.6.3-.4.8-.4s1.2.1 1.2.7-.7 1.4-1.2 1.4-.8-1.2-.8-1.7m-3.4.7q0-1 .9-1.1c.9-.1 1.3.6 1.3 1.1q-.1.9-1.1 1-1-.1-1.1-1m.6-4q0-.7 1-.5 1 0 1.1.7c0 .5-.7 1.2-1.4 1.2s-.7-1-.7-1.5zm3.7-.5q.1-.5 1-.3 1 0 1.1 1c.1 1-.7 1-1.3 1s-.8-1.2-.8-1.6z"/> + <path fill="#8cbebf" d="M271 248.3q.2-.6.8-.7.8-.1.9.7-.1.8-.8.9-1-.1-.8-1zm-.6 4q0-.9.7-1 1-.2 1 .5-.1 1-1 1.1c-.9.1-.7-.1-.7-.6m4.4-4.3q0-.5.8-.4 1 0 .8.5-.1.7-.8.7-1-.1-.8-.8m-.9 3.9q.1.9 1 1 1.2 0 1-1c0-.6-.6-1-1-1s-1 .4-1 1m4.3-.6q0 .8 1 .9.8 0 .9-.9c.1-.9-.5-.9-1-.9s-1 .4-1 1zm-4.1 5q.2-.8.9-.9 1 0 .9.7c0 .4-.8 1-1.2 1q-.7 0-.6-.9zm3.6-.7q0-.7 1-.6.8 0 .8.6-.1 1-1 1c-.9 0-.8-.5-.8-1"/> + <path fill="#231f20" d="M278.7 249.4s.5.7.6 1.3v1.2q-.5 0-.7-.9c-.1-.5 0-1.6 0-1.6zm-3.2-3.3s.4.5.4 1 0 1-.3 1-.3-.4-.3-.8zm-3.7.5s.4.5.4 1 0 1-.3 1-.3-.4-.3-.8z"/> + <path fill="#231f20" d="m270.5 247.3 1 .4q.5.7.3 1-.3.2-.6-.4zm2.8 3.8s.7 0 1.1.5q.8.4.5.9-.4.1-1-.5zm-3.4 0 1 .3q.5.5.2.8-.2.2-.6-.4zm8.3 2.5.2 1.4q.1.9-.2 1c-.3.1-.3-.7-.3-1 0-.5.3-1.4.3-1.4"/> + <path fill="#231f20" d="m277.3 254.9.8.5q.4.4.1.6l-.4-.5zm-3.7.2.9.3c.2.2.3 1 .2 1.1q-.1.1-.6-.3z"/> + <path fill="#04534e" d="M272.1 243.8s-3.2.7-3.8 2.9c-.6 2-.7 4.4-.7 4.4l-.4-2.7.6-1.7 1-1.6 1.4-1 1.3-.4zm10.2 12.5s.4-.8-.6-3.4-3-6-3-6l1.6 1.8 1.2 2 .6 1.8.5 1.7v1.6l-.3.6z"/> + <path fill="#231f20" d="M285.6 252.2s1.2.7 1.3 1.1q.3.6-.1.7-.6 0-1-.7zm-4.8 12.8s.6-1 1.3-1.3q1-.6 1.4-.1.1.4-1 .9zm8.1 3.1s.8-.4 1.3-1q.7-.8.4-1-.5-.4-1.1.5c-.3.4-.6 1.5-.6 1.5m-.9-.7s.3-1 .6-1.4q.4-.5 1-.3.2.4-.2.9z"/> + <path fill="#8cbebf" stroke="#04534e" stroke-width=".5" d="M301.5 261.2s-5-7.2-12.8-7.6a7.4 7.4 0 0 0-8 7c.2 1.6 2.6 5.2 10.9 5.8s9.6-3.9 10-4.1c.3-.2-.1-1-.1-1z"/> + <path fill="#0c8489" d="M295.6 256.3s2 1.5 3 2.8q1.2 2 .5 2.3c-.5.2-5-4-8.8-4.9-3.7-.9-6.9 0-7.6 1.7s-.4 4.5 1.2 5.6c1.8 1 9.7 2.3 9.7 2.3l3.7-.5 2.3-1.3.5-1.3.6-1.6.2-.7-1.9-2z"/> + <path fill="#04534e" d="M289.2 257.3q-.1.6-1 .7c-.9.1-.9-.3-.9-.7q0-.8 1-.9c1-.1 1 .4 1 .9zm-4.6 1.6q.2-.6 1-.4 1 0 1 .8c0 .8-.8 1.1-1.3.9q-.8-.5-.7-1.3m5 2.7q0-1 1-1 1.1 0 1.2 1c.1 1-.8 1.2-1.5 1.2s-.7-.6-.7-1.2"/> + <path fill="#8cbebf" d="M285.8 262.7q.2-.7 1-.6t1 1c.1.9-.5.9-1 .9s-1-.8-1-1.3"/> + <path fill="#04534e" d="M292.5 264.5q0-.7.7-.8.8 0 1 .7-.1.8-1 .9a1 1 0 0 1-.7-.8m3-2.3q0-.6.8-.4 1.1.1 1 .8-.3 1-1.1.8-.7-.2-.7-1.2"/> + <path fill="#8cbebf" d="M289 256.9q0 .6-.7.6-1 0-.9-.6t.6-.6q1 0 1 .6m-2.5 1.9c0 .5-.7.7-1 .7q-.8 0-.8-.7t.8-.6q1.1 0 1 .6m1 3.8q.1.6-.5.7-1 0-1-.7-.1-.6.5-.7 1 0 1.1.7zm4-1.3c0 .4-.7 1-1.2 1s-.6-.9-.6-1.3.4-.7.8-.7 1 .6 1 1m5.8 1.3c0 .4-.7.4-1 .4q-.8-.1-.8-1-.2-.7 1-.7c.5 0 .8.8.8 1.3m-3.4 1.7q0 .8-.7.8a1 1 0 0 1-.8-.8q.1-.6.8-.6.9 0 .7.6"/> + <path fill="#231f20" d="M294.4 262s.8-.3 1.5-.3q.8.1.6.4t-.7.2l-1.4-.4zm-3.3 2.8s.6-.4 1.1-.5q.8-.2.8.4 0 .4-.6.3zm-2.2-5s1.4.6 1.7 1.1q.5.8.1.9t-.8-.5z"/> + <path fill="#231f20" d="m288.5 261.6 1.6-.3q.7 0 .7.2t-.5.3zm-3.4 0s1.2.2 1.5.5q.4.5.1.7c0 .2-.6.1-.8 0z"/> + <path fill="#231f20" d="M285 263.3s.4-.7.8-.8 1-.1 1 .1c.1.2-.4.5-.7.6zm-1-5.1 1.2.3q.6.5.4.7t-.8 0c-.5-.4-.7-1-.7-1zm2.6-3s1.2.4 1.6 1q.5.8.1.9l-.9-.4c-.3-.3-.8-1.4-.8-1.4z"/> + <path fill="#04534e" d="M300 263.7s-2.3 2-7.7 1.9-10.4-2.5-11.6-5l.5 1.2 1.2 1.6 3.8 2 4.3.9 3.3.2 3.2-.6 2.5-1.1.4-.7zm.8-2.5s-.9-1.2-2.2-2.3c-1.2-1.2-6.2-4.4-6.2-4.4l4 1.8 2.7 2.2 1.8 2z"/> + <path fill="#231f20" d="M301 256.4s1.4.5 1.6.8l.5.6s-.3 1-.6.6l-.8-.9zm4-2.2s1.3.5 1.8 1.1q.6 1.1.2 1.3c-.2 0-1-.7-1.2-1l-.7-1.4z"/> + <path fill="#231f20" d="M306.4 254s1.2.8 1.4 1.2.5 1 .1 1c-.3.2-.9-.4-1-.8l-.6-1.5zm6.8 1.5s1 .4 1 1.2v1.3l-.7-.7v-.7l-.3-1zm1.8.7s.8.7.9 1.2.2.8-.3 1q-.6-.1-.6-1zm-12.3 15s.6.2 1.2 0q.9-.4.9-1-.2-.8-.8-.2c-.4.4-.2.6-.5.8zm6.8 1.8s.9-.2 1.5-.9q1-.9.5-1.2c-.4-.2-1 0-1 .5zm5.5.1 1.3-.9q.8-.6.4-1c-.3-.5-.6-.2-.8 0l-.2.7z"/> + <path fill="#231f20" d="M316.7 273.1s.8-.9 1-1.4q.3-.9-.1-1-.7.1-.8.9z"/> + <path fill="#8cbebf" stroke="#04534e" stroke-width=".5" d="M299.9 264.1c0-2.4 3.5-8 7.5-8 1.6 0 4.9 1 7.5 2.1 2.2 1 3 2 4.4 2.4s3.7.1 3.7.1l5-.5-4 5.7-1.4 1.2s-1.2 2.4-4.7 3.8c-3.6 1.4-9.5.4-12.2-.3s-6-3.2-5.8-6.5z"/> + <path fill="#04534e" d="M299.9 264.1h.2q0-.8.6-2.1a12 12 0 0 1 2.7-3.8q1.7-1.7 3.9-1.8 1.3 0 3.4.6l4.1 1.4q1.5.8 2.4 1.5l2 1 2 .2 1.8-.1 4.4-.5-3.6 5.2-1.4 1.2v.1a9 9 0 0 1-4.6 3.7q-2 .6-4.5.6c-2.8 0-5.9-.5-7.6-1a8 8 0 0 1-3.8-2.1 6 6 0 0 1-1.8-4h-.5q.1 2.6 2 4.4a9 9 0 0 0 4 2.3c1.7.4 4.8 1 7.7 1a14 14 0 0 0 4.7-.7 9 9 0 0 0 4.9-4h-.3l.2.1 1.4-1.3 4.3-6.2-5.6.7h-.1l-3.4-.1-1.9-1q-.9-.7-2.5-1.4l-4.2-1.5q-2-.6-3.4-.6h-.1q-1.5 0-3 1a11 11 0 0 0-3.3 3.5 8 8 0 0 0-1.4 3.7z"/> + <path fill="#0c8489" d="M324 264.9q-.7.4-1.4.3c-.5 0-11.6-6.7-15-6.4s-6.8 1.7-6.9 5.3c0 3.5.8 3.5 1.5 4.5s7.5 2.5 7.5 2.5h4.1l3.3-.4 3-1.6 1.5-1.3 1.1-1.3z"/> + <path fill="#04534e" d="M306.5 263q0 1.3-1 1.3t-1.1-1c-.1-1 .4-1 1-1q1-.1 1 .8zm1.1-3q.2-.9 1.2-.8 1.1 0 1.2.8 0 1-1.2 1-1 0-1.2-1m6.7 1.8q0-.8 1-.9.8 0 .9 1c.1 1-.4.8-1 .8a1 1 0 0 1-1-.9zm1.3 4q.1-1 1-1t1.2.8q.2 1.3-.8 1.3c-.6 0-1.4-.4-1.4-1zm-3.2 2.7q.1-1 1-1 1.1 0 1.2 1-.1.8-1 .9-1.1 0-1.2-1zm-6-1q0-1 .9-1a1 1 0 1 1 0 1.9 1 1 0 0 1-1-1z"/> + <path fill="#8cbebf" d="M306.4 263q0 .9-1 1a1 1 0 0 1-1-1q0-.9 1-.8c1 .1 1 .2 1 .7zm3.3-3.2q0 .8-.8.9c-.5 0-1.3-.4-1.3-.9s.5-1 1-1q1 .1 1 1zm6.4 1.7q0 .8-1 .9c-1 .1-.9-.4-.9-.9q0-.7 1-.8c1-.1.9.4.9.8"/> + <path fill="#04534e" d="M312.7 264.2q0 1.1-1 1.2t-1.1-1c-.1-1 .3-1 1-1s1 .2 1 .8z"/> + <path fill="#8cbebf" d="M308 267.2q0 .9-1 1c-1 .1-1-.5-1-1s.6-.8 1.2-.8.8.3.8.8m4.5-3a1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1 1 1 0 0 1 1 1m5.2 1.3q0 1-1 1t-1.1-1c-.1-1 .2-.8.8-.8q1.1 0 1.3.8m-3.3 2.7q0 1-1 1-1.3 0-1.1-1 .1-.8 1-.8t1 .8z"/> + <path fill="#231f20" d="M314.8 265s1.6-.2 1.9 0q.4.6.1 1c-.1 0-.8.1-1-.1 0-.3-1-1-1-1zm-1.7-5.4s1.3.3 1.8.9q.6.9.4 1.1-.4.3-1-.2zm-3.7 2.6s1.5.8 1.8 1.3q.5.6.2 1c-.1.2-.8 0-1-.3 0-.3-1-2-1-2"/> + <path fill="#231f20" d="M308.7 263.3s1.7.2 2 .5q.8.4.8.6-.1.4-.5.4l-1.2-.5-1-1zm-1.9-4.8s1.7.2 2 .5.5 1 .1 1.2q-.6.1-1-.5l-1-1.2zm-3.6 2.5s1.5.8 2 1.4q.6.6 0 1c-.4 0-.9-.7-.9-1z"/> + <path fill="#231f20" d="m302.8 263 1.5-.2c.5 0 1.2-.1 1.2.2s-.6.5-1 .4zm8.6 5.6s1.1-.7 1.7-.6q.7 0 .7.4c0 .4-.7.3-.9.3zm-6-.9s.4-.6.9-.7q.6 0 .7.2-.1.4-.6.6h-1z"/> + <path fill="#04534e" d="M322.6 266.6s-1.6 2-4 3a14 14 0 0 1-7.2 1.1 15 15 0 0 1-11.2-5.2l.4 1.1 2 2.6 2.3 1 3.5 1 3.3.3h2.5l3-.5 1.9-.7 1.3-.8 1-.8 1.2-2zm-3-5.9s-1 .3-3-.9-4.3-2.8-8.8-2.8-5.9 3-6.2 3.2l2-2.6 2-1.1 1.7-.3h1.5l2 .6 1.7.6 2.1.7 1.8 1 2.2 1.1zm6 1.4h-3.4c-.8 0-.8.2-1 .4l-.2.4-.8-1.7 3.5-.5 2 .7-.2.6z"/> + <path fill="#0c8489" stroke="#04534e" stroke-width=".5" d="M320.7 280.4q.3.9 1.1 1h1.6l3.6-.3 1.2-1.4.8-3.2 1-1.2 3.3-1.9 2.8-.8 1.9-.2 2.5-.8 1.9-1 .8-1.2.8-1.8-.8-2.5-2-2.7-3.4-1.3H335l-3 1.1-5.5 1.3s-3 1.3-4.3 3.7c-1.3 2.3-1.2 3-1.5 6-.2 3.2 0 7.2 0 7.2z"/> + <path fill="#8cbebf" d="M322.2 279.2c1 0 .2-1.7 1.4-3.8s2.6-4.6 3-4.6.4.4.9.3 1.2-.8 1.2-1 0-1.3 1-2c.8-.8 2.1-1.9 2.7-2q1-.3 1 0c.1.3-.3.7.1.8s1.4.1 1.6-.5l.2-1s.6-.5 1.8-.3 1.3.2 1.4.7-.5.5-.4.8v.6c.2.2.4 1 1.2 1 .8-.1 1.1-.6 1.1-.6l.3-.4s.2-.5-.1-.7q-.4-.4 0-.3c.4.1 1.6 1.8 2 1.1s.5-1.7.2-2l-1.9-2.7-3-1-4 .3-4 2.2-3.6 2s-.2 2.9-.8 2.3c-.7-.5-1.6-2-1.9-1.5s-.9 2.7-1.3 3.8c-.3 1-1.4 4.4-1.3 5.6s.8 2.9 1.2 2.9"/> + <path fill="#8cbebf" d="M325.8 274.4q-.6.1-.8.5-.3.3-.2 1c0 .3.7.7.7.7h.5l1-.3.3-.8q-.1-.7-.4-.6zm6.2-5c-.6-.3-.8.1-1 .3v.5s.2.8.4 1c.3 0 1.1.3 1.3 0q.5-.2.5-.9c0-.7-.7-.7-.7-.7zm5 1.1q-.1-.3-.9-.2-.6 0-.6 1 .4.9 1.2.6c.5-.1.4-.8.4-.9zm-14.4 1c0 .3.5 1 1.2.9a1.3 1.3 0 0 0 1.2-1c0-.4-.4.3-1 .5s-.7.2-1 0q-.3-.5-.4-.4"/> + <path fill="#04534e" d="M327.3 275.5s0 .6-.4 1q-.7.4-1 .3-.5 0-.8-.3l-.3-.7s.5.8 1.3.6a2 2 0 0 0 1.2-.9m13.3-8.3s0 .6-.5.9q-.6.4-1 .3-.4 0-.7-.4c-.6-1-.3-1.5-.3-1.5s.4 1.6 1.3 1.5a2 2 0 0 0 1.2-.8m-11.9 2.9s-.4 1.2-1.2 1.2c-.9 0-.8-.2-.7-.4 0-.1.3.2.7 0 .4 0 1.2-.8 1.2-.8m2.3-.3s0 1 .2 1.2q.5.5 1 .5.6.1.9-.4.3-.8.1-.8l-.2.5q-.4.4-.8.3-.6 0-.8-.3zm4.3-4.3s.2.7-.3 1.2-1.5.2-1.5.2.8.3 1.2-.2.6-1.2.6-1.2"/> + <path fill="#04534e" d="M321.7 281.1s5.3 0 5.7-.8c.4-.7-.4-3.6 2.7-5.8 3.2-2.2 5.7-2.2 7.4-2.3 1.7-.2 5.3-1.3 6-4.5.3-2-2.3-2.2-3.3-4-1-2-3.6-1.2-3.8-1.2s-3 0-4.3 1.3c-.9.8-.8 1.8-1.1 2.2s-4 0-4.3.6c-.4.6.1 1.7-.2 2-.2.3-1-.8-1-.8l.2-2.8 4.5-2.6 5-2.8 3.5.1 3.5 1.8 1.7 2s.3.8.5 2.3l-.2 2c-.8 2.8-3.7 4.8-6.7 5a14 14 0 0 0-7 2.5c-1.4 1-2.1 5.3-2.1 5.9 0 .5-6.6.1-6.6.1z"/> + <path fill="#231f20" d="M324 270.8q-.6.4-.8 0c-.2-1 .3-2.2.3-2.2v1.6l.5.3zm3.2-.6c-.2-.1-.1-1 0-1.3.2-.3 1.7-1.4 1.7-1.4l-.6 1.5c-.2.4-.7 1.3-1 1.2zm-1.2 5.3q-.4 0-.3-1c.1-1 1-1.6 1-1.6l-.4 1.2.2 1q-.1.4-.5.4"/> + <path fill="#231f20" d="M328.4 274s-.5.6-1 .9q-.9.6-1.4.6c-.4 0 .1-.8.3-.9zm4.5-6.4s-.6.5-.9 1.2q-.5 1.2-.1 1.4c.3.2.7-.8.8-1.1z"/> + <path fill="#231f20" d="M334.6 269.9s-.5-.4-1.2-.6q-1-.2-1.2.2c0 .2-.6.5-.3.7s.6-.3.8-.3q.3-.3.9-.2zm-1-4.5c.3.3.7-.2 1-.6l.7-1.2-1 .7c-.4.3-.9 1-.7 1.1m6.9-.1s-1 .4-1.2.8q-.6.6-.4 1c.3.3.6-.2.8-.5zm-2 4.6s-.3.6-.9 1q-1 .6-1.3.3 0-.4.3-.7l.8-.2z"/> + <ellipse cx="328.8" cy="207.4" fill="url(#mx-b)" rx="2.9" ry="4.3" transform="rotate(8.7)"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m295.4 247-1.7 4.2 1.4-.2.7-3.8z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M296.1 245.1q-1 0-1.2 1 0 1.2 1 1.4 1 0 1.2-1 0-1.2-1-1.4z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m369.7 255.8-4.2 4 1.7.4 2.9-3.8z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M371.6 254.1a1.5 1.5 0 0 0-2 .6q-.7 1.1.4 2 1.2.4 2-.7c.4-.6.2-1.5-.4-1.9z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="m262.8 233 2.2 4.9 1-1.4-2.6-3.7z"/> + <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M261.9 230.9q-.9.8-.1 1.9c.4.6 1.3.7 1.8.2q.9-.9.1-2a1.3 1.3 0 0 0-1.8-.1z"/> + <path fill="#aa8c30" d="M296.6 245.3s.3.1 0 0c-.5 0-1.4.4-1.4 1a1 1 0 0 0 1 1c.5 0-.2.2-.2.2l-.7-.2-.2-.4-.2-.5.1-.6.4-.5.5-.2h.3z"/> + <path fill="#aa8c30" d="M295.6 248.1s-.3 0-.5.3l-.7 1.1 1-2.3.4.2zm76.4 6.4s.3.4-.1 0c-.4-.3-1.8-.2-2.1.5q-.5 1.2.6 1.7c.6.2-.2 0-.2 0l-.7-.5-.1-.6v-.7l.5-.6.7-.3h.7l.3.2z"/> + <path fill="#aa8c30" d="M369.4 257.3s-.3-.2-.8 0l-1.4.9 2.3-2.2.5.6zm-107-26.7s.4-.1 0 .1-.8 1.4-.3 2q1 .7 1.7 0c.4-.5 0 .2 0 .2l-.7.4h-.6l-.6-.3-.4-.6v-.8l.2-.5.3-.3.3-.2z"/> + <path fill="#aa8c30" d="M264 233.8s-.3.1-.2.6l.3 1.5-1.2-2.7.7-.2z"/> + <ellipse cx="337.6" cy="-128.1" fill="url(#mx-c)" rx="4.6" ry="3.1" transform="rotate(62.9)"/> + <path fill="#e92736" d="M262.6 241.2s1 .2 1.5 0 .6-.7.7-.8.3-.6.2-1l-1-1.4-1-.1-.2-.5c-.3 0-1.7 1.6-1.5 1.8.3.3.4 0 .5.1v1.1c0 .3.8.8.8.8"/> + <path fill="#e92736" d="M264 238.1c.1.3.7 1 .9 1q.5.3 1 0c.3 0 1-.7 1-1l-.1-.7c-.2-.3-.1-1-.4-1.1q-.2 0-.5-.3v-.7c-.3-.3-2.6 1.1-2.4 1.4l.5.1z"/> + <path fill="#e92736" d="M269.2 237.6c.2-.4.1-1.5-.1-1.8s-.6-.3-.7-.4l.3-.5c.2-.4-2.6.1-2.4.4s.6.1.6.3l-.5.6.3 1.1q0 .3.2.5l.6.2h1.4q.2 0 .3-.5zm22 12.8s.3.7.8 1h1l.6-.5c.2-.2.4-1.2.3-1.4 0-.2-.5-.6-.5-.8l.2-.4c-.1-.2-2-.2-2 .2l.2.3c0 .2-.5.5-.6.7-.2.1 0 1 0 1z"/> + <path fill="#e92736" d="M293.8 249.5c0 .2-.2 1 0 1.1q.1.5.5.8h1.2l.4-.6c.1-.3.6-.7.5-.9q-.2-.2-.1-.4l.3-.5c.1-.3-2.1-1-2.2-.7l.2.4c0 .2-.7.6-.8.8"/> + <path fill="#e92736" d="M297.3 252.5c.3-.2 1-.9 1-1.1l-.2-.7.5-.1c.1-.2-1.6-1.6-1.7-1.3l.2.5-.7.1-.5.8q-.2.2-.2.5l.2.4c.1.2.8.9 1 .9zm66 5.5s0 .8.4 1.2q.5.4.8.4h.7l1-1-.2-1c0-.4.3 0 .3-.2s-1.6-1.1-1.7-.8c-.1.2.2.3 0 .4l-.8.2c-.2 0-.5.8-.5.8"/> + <path fill="#e92736" d="m366 258.5-.8.8q0 .5.2.8c0 .2.7.6 1 .5l.5-.2c.2-.1.8-.2.8-.4l.1-.4.6-.2c.2-.2-1.2-1.7-1.4-1.5q-.1.3 0 .4c-.2 0-.9 0-1 .2"/> + <path fill="#e92736" d="M366.4 262.2h1.4l.4-.5.4.2c.2 0 0-2-.3-1.8l-.2.4-.5-.3-1 .1s-.2 0-.3.2l-.2.4v1q0 .2.3.3"/> + <path fill="#f7e204" d="M264.2 239c.2.4-.1 1.2-.3 1.4s-1.3-.1-1.3-.3v-.8c.2-.2.6-.7.9-.6q.5.1.7.4zm.3-1.3q-.2.5.2.7c.1.2 1 .4 1.2.3s.6-1.5.4-1.7l-.7-.2c-.2 0-1 .6-1.1.9m2.7-1.3v.7l1 .5c.3 0 .5-1 .5-1.1q0-.3-.3-.4l-1.2.2zm26.1 13.7c0 .4-.7.7-.9.7s-.7-1-.6-1q.2-.4.5-.5.5-.1.9.2zm1.1-.6q-.3.2-.3.6c0 .2.3.8.5.9s1.2-.5 1.3-.7q0-.4-.4-.6l-1-.2zm2.4 1q-.3.1-.4.5s0 .6.3.8.8-.2.9-.3v-.4c0-.2-.8-.6-.8-.6m68.6 8.2c-.2.2-.9.2-1 0-.3 0-.3-1-.1-1q.2-.3.6-.2.5 0 .6.6zm1 .1q-.5 0-.6.3c-.1.1-.2.7 0 .9.1.1 1.2.2 1.3 0v-.5zm1 2h-.5q-.3.1-.4.7c0 .2.7.3.8.3l.3-.2-.1-.8z"/> + <ellipse cx="438.6" cy="-93" fill="url(#mx-d)" rx="2.2" ry="4.5" transform="rotate(47.9)"/> + <path fill="#a8ac71" d="M285.8 199.3s-3.8.3-6.5-.1-2-7.3-2.1-7.5c0-.2-1.6-1.8-1.4-3.3s5.2-5.5 5.8-5.8c.5-.1 1.5.3 1.5.3s1.2-1.2 1.6-1.2.9.7.8 1c-.2.3-1.9 1.3-2 2-.2.8 0 1.5-.5 2.3s-1.4 1.7-1.5 2.4-.4 1.1 0 1.4 2.1 0 3.5-.6 2-1.5 2.1-1.4c.2 0-.8 1.7-2.3 2.4s-2.5 1.3-3.3 1.2c0 0-.8 2 1.8 2.2 2.6 0 4-.6 4-.6zm-15 16s2 .8 2 3-2.1 4.1-2 8c0 4 .6 4 5.8 8.3a6 6 0 0 1 1.6 2.5c.3 1.3 1.2 8.9 6.2 8.9s5.8-3.3 5.8-3.3l-2.2-3.1s-1.7.5-2.7.3a3 3 0 0 1-2.3-2.1c-.6-1.2-.7-4.1-1.6-5.4-2-3.2-5.8-3.7-5.9-7 0-3.4 2.3-3.7 1.7-7.7-.7-4-5.4-5.8-5.4-5.8l-1.9-.8-.7 4z"/> + <path fill="#f1a720" d="M284.7 187.6c1.7-.4.7-4.8.7-4.8l-1.2 1s.8 1 .8 2-.3 1.8-.3 1.8"/> + <path fill="#a8ac71" d="m287.8 231.5-.9-.7c-.6-.4-3.2-2.6-2.8-8.9.5-7.2 11-11 11.6-13.8.8-3.2 3.1-4.5-5.2-11l-2 2.2 3.5 2.6s.7-.4.8.6c0 1-1 1.7-1.2 2.5-.2.7-5.4 4.3-5.8 4.6l-3 2.4s-1.3 1.3-2.5 4.1c-1.3 2.8-.7 6.4-.7 6.4s0 7.6 8.2 9"/> + <path fill="#78732e" d="m282.7 235.5.6 2.7-1.7.6h-.7l-.5.2-1.3 1.2h-.3s-.2 0-.3-.8l-.2-1.5 1.6.7h.6l.3-.1.7-1.5zm-4.8.5-.8-1-1-.9 1.2-.6h1.2l-.2 1.5zm2.7-4.3s.8.3 1 1l.6 1.2-2-.2-1.4-.4 1-1.4zm-.7 11.9s-.4-.3-.7-.9l-.4-1.6 1.3-.3 1.5.7h.4l-.3.8-1.5 1.3zm5-4.1s-1-.4-1.2-1q-.3-.6-.4-.4l-.3 1.5-.5 1.5.2.2 1.1-.3.9-.9.3-.6zm-4.7 4.8 1.4.7 1.2.5.6-.6.7-1.3v-.1l-3 .3zm4.4-1.2 2.7-1.6.1-1.4-.5-.4h-1.5l-.5 1.8zm-1.8 2.5s1.8.8 5-.4c1.4-.5 1.7-1.2 1.7-1.2l-1.3-.5-1.2 1zm-2.5-20.3-.4-1.4-.1-1.1.9.5 1.3 1-1 .7zm2.2 3.7-.9-1-.6-1.2 1 .2 1.1.6z"/> + <path fill="#c6c7a6" d="M276.6 187c-.2.7-.4 1.9.5 2 .4.2 2.3 0 4.5-2.4 1-1.2 1-2.4 1-2.4l.5-1.3s-.9-.6-2.2.2-4.3 4-4.3 4z"/> + <circle cx="282.5" cy="183.6" r=".4" fill="#1c242f"/> + <path fill="#a8ac71" d="m279.7 184-1.7 1.7s1.4-.4 2.6-1.5c.6-.6 2-.8 2.6-.7.4.1.2-.4 0-.5-.3-.3-1.4-.4-1.6-.3z"/> + <path fill="#78732e" d="M284.1 224.5v-2.2l-.9.8-.8 1.1 1.3.5zm-4.5-2.6v-2.3c0-1 .5-3.1.5-3.1l.6 1.4 1.5 2.4.5.4-1.3 1-1.4.4zm4.5-.6.3-1c.1-.6.5-1.4.5-1.4v.1l-2 1.7.8.7h.5m-3.7-6s.2-.6 1-1.5l1.3-1.8.6 2.4.4 2v.4l-.7.2c-.2 0-1.6 0-1.8-.3zm4.8 2.9.8-.9 1-1-3.2.6.5 1zm-2-6.7s.3 0 1.2-1c.8-.8 1.3-.7 1.3-.7l.3 3.4-1.6-.5z"/> + <path fill="#78732e" d="m287.3 216.2 2-2-3.3-1 .6 2.3zm1.4-5.2.2-3.3s-.7.3-1.5 1l-1.2.9.4.6 1 .7h1zm2.8-3.2V205s-.5.8-1 1.2l-.9.8.9.6h1zm1.2 3.5 1.6-1.3 1.5-1.7-4.2-.3.2 1.7 1 1.6zm-9.6-13.8-.2 1.8h3.5l-.9-1.2-1-.6-1-1zm6.6 16.2c.2 0 1.1-.8 1.6-1.2.4-.5 1.2-1 1.2-1l-3.3-.3v2.2zm6.3-5.9s.4-1.3.3-2.6l-.2-1.8-2.5 1.7.4 1.2 1 1z"/> + <path fill="#78732e" d="M291.8 204.8s.7-1 .8-1.4v-.4h2l1.1.2h.2l-.9 1.1-1.2.7-1.5.2zm4-2-1.3-2-.8-1-1 2.7v.3h3z"/> + <path fill="#fff" d="m271.6 222.2-.3.8s1.3-.7 2.3-.7 2.1 1.3 2.1 1.3l.2-.9s-1.3-1.3-2.2-1.3c-.8-.1-2 .8-2 .8zm.7-5.8.3.4c0 .1.1-1 1.4-1.5 1.4-.6 2-.1 2-.1s-.2-.8-.8-1q-.8-.2-1.8.5a4 4 0 0 0-1.1 1.7m4.4 4.4s-.6-1.4-1.6-1.6c-1.1-.3-2.5.5-2.5.5l-.2.7s1.5-.8 2.5-.4c1.1.5 1.5 1.7 1.5 1.7l.3-1zm-5-5.1.4.5s-.2-1.4.5-2.1l1.1-1-.6-.3s-.9.5-1.2 1.1a3 3 0 0 0-.2 1.8m-.5-2.3c.3-.8 1.2-1 1.2-1l-.3-.3h-.5s-.5.3-.9 1c-.3.9-.3 2-.3 2l.6.3s-.1-1.4.2-2m7.8-19.2q1.4-.4 1.5-.3c.1.1-1.3 1.3-.7 2.9q-1 2.1-.9 2.3h.7l.4-1.8c.8 1.3 2 2 2 2h1s0-1.3.4-2.4h.1a5 5 0 0 0 2 1.5v-.4s-1.1-.6-1.7-1.5l-.1-.1a4 4 0 0 1 1.8-1.7l.7.6.2-.2-.5-.7h-.6l-1.8 1.7-.8-1.5-.4-.2s-1.1.1-2 1.7c-.2-1.2 1.1-2.4 1.1-2.4v-.5l-2.4.6c-1 .3-1.7 1.2-1.7 1.2v.8s1-1.1 1.7-1.6m1.5 2.2c.6-1 2-1.5 2-1.5s0 .7.7 1.7c-.5.9-.8 2.2-.8 2.2s-1-.6-1.9-2l-.2-.3zm-7.6 21.1v.8s.8-.9 2-1 2.3 1 2.3 1 0-1-.2-1.2c-.1 0-1.1-.6-2-.6s-2.1 1-2.1 1m21.4-11.2-.5-1 .6-.3 1.7-1.6-.4-.6h-1.6l-1.4-.1.5-1.7.6-1.4-.6-.5s.2.5-.8.6-2.8-.8-2.8-.8v.4l2.5.7q.9 0 1.2-.3l-.5 1.3-.3 1 .2.2v.8l1.4.1 1.6.1s-.8 1-1.7 1.5h-.3l-1-1.5-.1.5.7 1.2-1.5-.1-.4.4v2.5l-1.8-.6-.3.3v-.1l-.4.4s-.4 1.4-.3 3.1v.1a5 5 0 0 1-2.4-1.3l-.4.3s-.3 1.4 0 3.2c-1.3-.3-2.5-1.5-2.5-1.5l-.5.5.7 4.7h-.7c-1.4 0-2.3-1.3-2.3-1.3l-.4 1s.6 2.7 2 4l.4.2c-1.3 1-2.8 1.2-2.8 1.2v.9l2.2 1.5-1.6 1 .2.5 1.8-1.3 1.8.5v-.5l-1.5-.3.1-.1c.5-.4 1.4-1.8 1.4-1.8v-1s-.5 0-1.1-.6c1.8-1.2 1.9-1.8 1.9-1.8l.4-.6s-.7-.3-1.1-1.2l2.9-.7.2-.2s-.7-1.2-1-2.6l3 .6.4-.4-.5-2.4c1.8 0 3.2.2 3.2.2l.3-.3s-1-1.9-1-3h4l.3-.5s-1.4-1-1.7-1.5m-10.5 15.5s-.5 1-1.4 2l-.2.2-.5-.2q-1.5-1.1-1.4-1.3l2.5-1.6zm.9-3.2-2 2-.4-.5c-.8-1.2-2-2.1-1.8-3.8 0 0 .7 1.2 2.2 1l1-.1c.4 1 1 1.4 1 1.4m2-2.5-2.7.7-.1-.5c-.5-1.6-.5-4-.5-4s1 .8 2.6 1.2zm-.5-3c-.2-1.4.1-2.9.1-2.9s.8.8 2.3 1q.2 2.2.3 2.1zm5.8-2.2s-1 .4-2.8.1v-3.5l2.3.7zm0-3.1h-.2V205s1 .3 1.7.2c.2.4 0 .5.5 1.2l1.1 1.3s-2.3.2-3.2 0zm-7.6 18.6-.1-.5s-1 .7-1.2 1.4l-.3-.1-2-.8.2.4 1.8.8h.2l-.5 1.4.2.3.5-1.7 1.2.1-.2.8-.4 1.5.5.3h2l-.3-.4-.7-.1h-1.1l.3-1.2.3-.8-.3-.7-1 .2zm-11.3-1.3c1.3 0 2.3.9 2.3.9v-.6s-1-1.4-2.1-1.4-2.5 1.2-2.5 1.2v1.2s1-1.3 2.3-1.3m13.3 19.4c-1.3.6-2.7.6-2.7.6l.8-1.5c2.5-.8 3-2.4 3-2.4l-.2-.7s-.6 1.6-2.6 2.4c.4-1.2.7-3.2.7-3.2l-.7-.2s-1 1.3-2 1.6a8 8 0 0 0 .8-2.7l-.3-.5s-.7.6-1.7.8h-.6c.6-.8 1.7-3.2 1.7-3.2l-.2-.5s-.8 2.1-1.7 3.2l-.3.4c-1-.3-2.2-1-2.2-1l.1.3s.8.6 1.8 1l-1.3 1.2v1l3 .4c-1 1.6-2 2.1-2 2.1l.5.7s1.3 0 3.7-.6q-1 1.8-1.2 1.8c-.2 0 2.2.2 3.7-.6s2-1.6 2-1.6l-.4-.4s-.4 1-1.7 1.6m-6.9-4 1.2-1.5c1.6.3 2-.1 2-.1s.3.8-.6 2.3c-1.1 0-2.6-.8-2.6-.8zm1.4 3 1.3-1.6.3-.3c1.5 0 2.3-1.3 2.3-1.3s.2 1.2-.5 2.7c-1.9.7-3.4.5-3.4.5m-1.9-9.8c1.5 0 3.3.7 3.3.7l-.2-.7-2.9-.6a4 4 0 0 1 1.6-1.6l-.5-.3s-.6.1-1.4 1.5l-.2.4h-.3a5 5 0 0 0-2.4.7l.2.4s1.1-.5 2.3-.5l-.7 2.4.3.6zm-3-6.2-.3-.7s-1.5-.6-2.7 0c-1.1.5-2 1.9-2 1.9l.5.9s.8-1.5 1.9-1.9 2.6-.2 2.6-.2m3 2.4-1-.6s-1.7.5-2.2 1.1-1.1 2.1-1 2.5q.5.7.7.7c.2 0 .3-1.5 1.1-2.3s2.4-1.4 2.4-1.4m-3.9-.5a5 5 0 0 1 2-1l-.7-.5s-1.5.2-2.2.9l-1.8 2.1.9.9s1.2-1.8 1.8-2.4m5.2-44.7c.8-1 1.6-1 1.9-1h.6l-.8 2.5c-.2 1-.7 1.2-1 1.9s-1.1 1.8-1.2 2.8q.1 1.5.5 1.7c.3.1.8-.4.7-.7 0-.3-.3 0-.4 0q-.2 0-.3-.9c-.1-.6.7-2.2 1-2.8s1-1.1 1-2l.7-2.5-1.3-.3q-1.1 0-1.9 1.2c-.4.6-1.7 1.1-1.7 1.1s1.4 0 2.2-1"/> + <path fill="#78732e" d="M285.2 194.5h-2.5l.7 2zm-3-.1-.5-.4-.3-.3-.9.5-.5 1.9.3.3 2-2zm-.3 5-1.8-2.7-1 2.2.5.2 1.2.2h1.1zm7.4 44.7a9 9 0 0 1-4.8 1.5 7 7 0 0 1-3.4-1 4 4 0 0 1-1.5-1.7q-.8-1.7-1-4-.3-2-1.1-3.6c-.8-1.3-2.4-2.1-3.8-3.3a7 7 0 0 1-2.8-5.2v-.8q.1-2.5 1-4.5c.9-2 1.2-2.5 1.2-3.5v-.5q-.6-1.1-1.5-1.9c-.9-.8-1.2-.8-1.2-.8l-1-.2-.1.3 1 .2v-.1.1l1.3 1q.9.7 1.1 1.5v.4q-.1 1.4-1 3.3a12 12 0 0 0-1.2 4.7v.8a8 8 0 0 0 3 5.5c1.5 1.1 3 2 3.7 3.2q1 1.9 1.3 5 .3 1.3.8 2.5c.5 1.2.9 1.5 1.6 2a7 7 0 0 0 3.7 1c2.7 0 4.9-1.6 4.9-1.6z"/> + <path fill="#78732e" d="m287.2 239.2-1.3.4q-.8 0-1.7-.8a4 4 0 0 1-1.2-2.3q-.1-1.3-1-3.3c-.5-1.5-2-2.6-3.5-3.7-1.3-1.1-2.6-2.2-2.9-3.4v-.7q.1-1.5.8-3.1a11 11 0 0 0 .9-4.8c-.2-2-1.7-3.5-3.2-4.5l-2.8-1.4-.1.3h.2c.5.3 1.8.9 3 1.8q2.1 1.4 2.6 3.8v.8q0 2.2-.9 3.9c-.9 1.7-.9 2.2-.9 3.2l.1.8c.3 1.3 1.6 2.4 3 3.6 1.5 1 3 2.2 3.5 3.5q.8 2 .9 3.2.1 1.4 1.2 2.5 1 1 2 .9l1.4-.4z"/> + <path fill="#a8ac71" d="M296.4 231.6s1.7.4 1.6 1.8a13 13 0 0 1-.8 3.4l-2.4-2.2 1.3-1.2.5-.7z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M266.4 214.5s-1.7.6-2.1-.1c-.4-.8-.2-1.4-.2-1.5s-1-.3-1-1.3c.1-1 1.4-.9 1.6-.9s.4-1.5 1.3-1.4c.8 0 1.2 1 1.2 1z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M268.3 215s-1.5.8-2 0c-.4-.7 0-1.6-.1-1.8-.2-.1-1-.4-.9-1.3.2-.9 1.1-.6 1.4-.8.3-.1.6-1.4 1.5-1.2.9.3 1 1 1 1l-1 4.1z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M270.8 215.3s-.5 1-1.5.8-.7-1.7-.9-2c-.1-.3-.9-.5-.8-1.4.2-1 1.1-.9 1.5-1s.7-1.6 1.4-1.4 1.3 1.1 1.2 1.5c0 0-1.5.5-1.7 1.5s.8 2 .8 2z"/> + <path fill="#af7029" d="m293.7 231.2-2.2-2.6c-.9-1.3-2.3-2.7-2.3-2.7l-2.2-1.1-1.4-2.4-.2-2.8.6-1.6.8-1.2s-4.6 1.7-2.2 10.5c1 3.8 3.5 4.3 3.5 4.3l4.3-.3h1.3z"/> + <path fill="#816c2a" d="M291.6 201.7q.5 0 .8.4l.2.6v.4c-1.6 3.4-4.8 5-7.8 7a14 14 0 0 0-3.8 4 12 12 0 0 0-1.6 6.8c.1 5 2 7.8 4.2 9.3a10 10 0 0 0 5.2 1.5h.4l1.4-.1 3-.2 1.8.1.9.4.2.5q0 .6-.6 1.2l-1 .7.2.3 1-.8q.6-.6.7-1.4 0-.3-.3-.7t-1.1-.5l-1.8-.1c-2 0-4.5.3-4.5.3v.2-.2h-.3a9 9 0 0 1-5-1.5c-2.1-1.4-4-4-4-9v-.4q0-4 1.5-6.3c1.4-2.4 3.7-3.8 6-5.3a14 14 0 0 0 5.5-5.7v-.5l-.2-.8q-.2-.4-1-.5z"/> + <path fill="#fff" d="M297.8 232.7s-1 2-1.4 2c-.2 0 1 .3 1.3.8l-.3.5s-1.2-.9-2-1v-.6l1.1-.7a4 4 0 0 0 .9-1.7z"/> + <path fill="#fcca3d" d="m302 234-2.7.8-1.3-1s0-1-.5-1.5l-1.6-1c-.6-.2-2.5-.2-2.5-.2l-5-5.3 2 .2 2.8-.4 2.7-.2 1.4.2 1.6.4.8.7.8.8.8 1.3.6 1.6.2 1.7v1.9z"/> + <path fill="#af7029" d="M302.2 233.8s-1 .3-2.2.3l-2-.2-.2.9-.5 1.3v3.2l2.6.5 1.4-.5.7-3.5z"/> + <path fill="#fcca3d" d="M301.5 232.5v1.2l.6.2v-1.2zm-2.5-30-.3-2.1-.8-1.5-1.1-1.5-1.2-1.3-.6-.5-.3-.5-2.9.2-1.4 1.7s3.8 2.8 5.3 5.8a7 7 0 0 1 2.8 1.7l.1-.2z"/> + <path fill="#af7029" d="M296.3 205q-.2 3.1-.8 3.7l1.8-2 1.2-2.2a7 7 0 0 0-2.8-1.7q.6 1 .6 2.1z"/> + <path fill="#816c2a" d="m300.3 237.9-1.4-1.6q-1.1-1-1.3-1l-.2.4h.1l1.2.8 1.3 1.6z"/> + <path fill="#6f5b24" d="M302 235.5s-.3 1-1.3 1.8c-1 1-2.2 1.5-2.2 1.5l2.8 1 1.9-1.7z"/> + <path fill="#404118" d="m302.4 237.8-.2.3-.5.5-.4.5.6-3 .6 1v.4z"/> + <path fill="none" stroke="#78732e" stroke-width=".2" d="M285.8 199.3s-3.8.3-6.5-.1-2-7.3-2.1-7.5c0-.2-1.6-1.8-1.4-3.3s5.2-5.5 5.8-5.8c.5-.1 1.5.3 1.5.3s1.2-1.2 1.6-1.2.9.7.8 1c-.2.3-1.9 1.3-2 2-.2.8 0 1.5-.5 2.3s-1.4 1.7-1.5 2.4-.4 1.1 0 1.4 2.1 0 3.5-.6 2-1.5 2.1-1.4c.2 0-.8 1.7-2.3 2.4s-2.5 1.3-3.3 1.2c0 0-.8 2 1.8 2.2 2.6 0 4-.6 4-.6z"/> + <path fill="#ab6d29" stroke="#4d2a15" stroke-width=".4" d="M318.7 170.6s-7-1.3-7 4.5c.1 1.9.5 2.5 2 3 1.5.3 4.4.5 7 2.7s2.7 4 2.7 5.3c0 1.4-.7 2.6-.7 2.6l1.6 7.7 1.6 5.7 4.8-2.7 2.8-8.5-3.6-15.2z"/> + <path fill="#4d2a15" d="M325.6 200s2.5-1 3-3c.3-.5-2.4-2.9-2.4-2.9-.1 0 1.3.7 2 1.3q1 1 1.3.8c.2-.1 1.3-2.7.9-3.3s-1.1-2-2.1-2.6-2.4-.6-2.4-.6 1.9-.6 2.8 0c1 .5 1 1 1.1.9.1-.3-.2-2.9-.6-3.7q-.4-1.3-2-1.6c-1.1-.2-2.3-.1-2.3-.1s1.6-.9 2.8-.6c1.3.3 1.3 1 1.4.8s-.6-2.4-1-3a7 7 0 0 0-2.1-1.8l-1.8-.2h-.6s1-.6 2.1-.5 1.3.5 1.4.4q.3 0-.8-.7c-1.1-.7-4.2-2-4.2-2h-3.3s0-.8 1-1q1.3 0 1-.1c0-.3-2.6-.8-2.6-.8H316l-3 .3s.2-.5.7-.9q.6-.5 1.3-.6c1-.3-.6-1.1-.6-1.1l.9-1.3 3.9.3 8.2 4.8 3.9 3.3 2.4 6.2-.7 10.8-5.5 4.5-2.4.3z"/> + <path fill="#d2a567" d="M318.4 173.3s-.2-.7-.2-1.7.2-.9.2-.9-2.7-.3-4.6 1.2-.8 4.1-.8 4.1.8-.8 1.9-1.2 3-.3 3-.3c.2-.2-.4-1-1.1-1.1l-2.1-.2s.8-.5 2.2-.4 1.6.5 1.6.5z"/> + <path fill="#8f4620" d="m326.7 200.9-1.8.6 1 7.5 7.2 12.1 3.7-.6 1.3-2.3 1 .5c.4.4 1.8 2.8 3 3.3s1.7.2 2.7 1c1 1 4.9 6.6 5 6.8.3.2-.1-2.4-.1-2.4l-1.2-3.4-1.4-2.4-.3-.6h2l1.2.8 2 1.5.9 1.2.5 1.2.2 1 .5 1.6 1 2.3 1.3 2.1.4-.9-.6-2.5-2-6-1-2 1.9 1.2c.4.1 1.8 2.2 1.8 2.2l.9 2.2.6 2 .4 1.7.7 1.9 1-.7-.1-1.3-1-4.2-.4-4.5s.6 0 1.2.7l1.2 2.3.5 4.1.7 3.8 1.2 3.8 1.2 2.4.9 1.3v-2l-1.6-16 .2-.6s.2-.1.8.7c.5.7 1 1.9 1 1.9l.5 2.5.2 1.7.3 3.3.5 3.5 1.6 3.8.9 2 .5-2.4-.8-17.1.4-.5s.9.7 1.2 1.3l.8 1 .6 3.8.4 10.7.4 2.8 3.2-28.2 2-.4.2-.6-1.5-1-3.2-5-2.1-4.9-3.8-7-6.6-8-5.2-4.3-1.9-1.3.4-1 1-1.7-.1-.1h-.9l-2.2.4-2.2-.7-4.4-3-4.6-2.3-2.8-1-6.6-1.6-6.6-1h-3l-2.6.5s-1.4.6-1.8 1.5-.5 1.4-.4 2.6c.2 1.3 1 1.9 2.8 2.7 1.8.7 6.2 3.6 6.2 3.6l2 2.1.8 1 .2.8 1.4 11.1-2.8 6z"/> + <path fill="#ab6d29" d="M333.8 218.2s1.2 2 2.9.5c1.7-1.6-.8-6-.7-6.3 0-.3.7-.3.7-.3l1.3 2.2s.7 1.3.4 3.2-2.1 3.7-2.1 3.7l-2.2-.5z"/> + <path fill="#4d2a15" d="m375.3 244.2-1.6-4.5-.4-3.5c0-.6-.3-7.9-.5-9.3 0-1.4 0-3-.2-3.1l-1.6-2.2-.7-.7.5-.3s.6.6.7.3q.3-.7-.6-4.5c-.7-2.5-3.9-8.3-3.9-8.3l.4.2.9 1 1.8 1.5 4.1 1.5 2.2.3 1.4 2.9s1 4.9 1 7.4q.2 3.4-1.2 7c-1 2.4-1.2 10.3-1.3 11.5-.1 1.3-.6 2.5-.6 2.5l-.5.3z"/> + <path fill="#8f4620" d="M375.3 231.2s.8-1 1.2-2.4.5-12.4-.8-13.7a10 10 0 0 0-4-2.3c-.2 0 1 3.5 1 3.5l.8 1.4.6 1.8c.1 1 .9 3.1 1 6z"/> + <path fill="#4d2a15" d="M369.3 238s.5-5.1.3-9c-.3-3.7-.6-4.2-1-4.9a32 32 0 0 1-2.5-6.3c-.9-3.2-1.5-5.6-2-6.2s-1.7-2-2-1.6-.3 1.1-.3 1.1l-1.5-.4-.4-1 .5-1.6v-.7l-.3-1.1 2 1.6 4.2 2.8 2 8.6 2 5.3.2 9-.2 8-1-3.5zm2.4-24.7s1 1 1.7 1.4 1.8 1.1 1.6 1.2l-2-.8-1.2-.8v-1z"/> + <path fill="#4d2a15" d="M363.7 236s.8-1.8.7-4.1a49 49 0 0 0-1.6-8.6c-.4-.7-2-1.7-3.5-4.8s-1.3-3.8-2.3-5c-1-1-2-2.4-2-2.4l.3-3.3 3.6 1.8 1.6.8 1.8 8.7 1.6 2.5.7 3.5.9 8 .4 6.6-.2.5zm-4.2-3.7s.1-2.5-.5-4.8q-.9-3.5-1.9-4.8c-.7-.7-2.5-2.6-4.1-5-1.6-2.5-3.9-5-3.9-5v-3.3l2 1.5 2.4 1.2 1 3.7 1.2 2.7 1.8 2.4 1.2 1.1.7 4 .4 2.3 1 3.2-.4 1.7zm-3 0-1-.9s.6-.6.3-2q-.4-1.8-1.2-3.7l-1-2.3-4.5-4c-1-1-2.7-2.6-3.7-3.3l-1.8-.8-.5-4s1.3 1.8 2.1 2l2.1.8 2.8 5 1 1.3 2.6 2 1 2.2.9 2.5 1 3.4.1 2zm-5.5-1s-1.7-2-2-3.2c-.2-1.2.2-1.2-.3-2.6s-2.3-3.5-3.7-4.6c-1.4-1.2-3.4-2.8-3.3-3.8q.3-1.2.4-1l.8.8 4.5 4.7 1.4 2.5 1 3.1.7 1.5.7 1.8zm16-23.3s3.1 3.8 4 .3c.3-1.6-1.2-4.6-1.2-4.6s-2.8-5-3.8-6.2l-5.7-7.3-3.5-1.6 1.2 2s2.6 2.6 5.9 8.4c3.3 5.7 2.7 8.9 2.7 8.9zm-17.8-23s6.1 5.2 10 10.8 5.5 9.4 4.7 10.2c-1 .7-3.4-.4-4.4-2s-1.8-4.4-5.5-8.6-5.5-4.8-5.5-4.8l-2.7-4.3zm-3.2 12.5s3.6 3 6 5.4l3.4 4.2 1.4 1.4s-.9-1.5-.4-2 1.1-.3 1.1-.3l-11.5-12zm-.7.3s1.2 2.3 3 4.1l4.1 4 .8 2.9s-5.2-4-5.2-3 1.2 3 1.2 3l-1.6-1-2.2-3.1-1.3-2.8-1.5-3.8z"/> + <path fill="#4d2a15" d="M329.5 210.2s2.7 2.4 4.2 0c1.5-2.3.3-5 .3-5s3.9 5.6 5 .3c.2-1-2.4-4.6-2.4-4.6l1-.9 1.9 3.3s1.8-.8 1.8-3-1.9-5.3-1.9-5.3l1.8 2s3.6 0 3.7-2c0-2.2-3-4.5-3-4.5s2.4.1 2.4-1.3-3.4-2.4-3.4-3.3 1-2.4 2.5-1.5 3.5 1.4 4.4-.2c.8-1.6-.1-2-.1-2l-2.1-.4-3.4-1.8-2.7-1-2.8-.4 1 2 .8 5.8v2.6l.5 5.8-1.4 4.7-.7.9-.5.6-1.2 2.6-1.6 1.8-2.2 2.7z"/> + <path fill="#ab6d29" d="M348.8 220.9s-.7-1.7-2.2-2.9a8 8 0 0 0-3.8-1.2l4 4.2zm5.6 1s-1.3-2.6-2.8-4.2-2.5-3.6-3-3.6h-.6l.4 3.3 2.7 2.7s2.6 2 3.3 1.8m4.6-.2s-.6-3-2.2-6c-1.5-2.8-3.1-4-3.1-4l.4 3 1.2 3 2 3zm3.8-1.7s1-6.2 0-8c-.9-1.6-2.7-2-2.7-2l-.6 1 .6 4.3 1.5 3.4zm3.7-10.3s.9.4 2 2.5a40 40 0 0 1 2.6 8.6c0 .3-.5.2-.7.2-.2-.1-3.9-6-3.9-6l-.6-5.4z"/> + <path fill="#d2a567" d="M340.4 216.8s2-.4 2-1c0-.8-2.4-2.2-2.2-3.3 0-.5 2 .1 2.1-.3s-2-3.6-1.3-4.4 2.4 3.5 2.4 3.5 1 2 .7 3.2c-1.2 3.6-3.7 2.3-3.7 2.3m4.6-4.4c.1-.3 3.1.4 3.1.2.2-.7-2.7-3-2.7-3s-.6-1.2-.4-1.4 2 .2 2 0c.2-.3-2-3.2-2-3.7s.6 0 .6 0 1.7 1.7 2.6 3.2c1 1.4 1.8 2.6 1.5 4.9-.4 2.5-5 .6-4.7-.2m13.6-4.6s-.5-2-.2-2.3l1.1-.5s-1.6-1-2.4-1q-.9-.2-1 0c-.2.4 1.3 2.4 1.3 2.4z"/> + <path fill="#d2a567" d="M349.4 209.4s4.7 1.2 4.9.8-3.7-4-3.7-4-.3-.6-.2-.8 1.7-.3 2.2.1 0 1.2.1 1.5c.2.3 1.7 2.5 2 2.1.2-.3-.4-3-.3-3.3s1.8 1.6 2.3 1.9 3 2.3 3.3 1.4c.3-1 .4-1.1.3-1.7 0-.6.9 2.6-.3 3s-2.6-.4-2.6-.4l-1.1-.8-.6-.7s.7 2.5-.2 2.7l-1.7.2-2-.2zm10.7-3.2s5 3 5.4 2.5-1.2-7.5-1-8.2c.3-.6 4 7.9 2.2 9-1.4 1-2 .3-2 .3l-2.5-1.3zm13.8 12.6 1 .5.7.2-1.4.2-.3-1zm-4.8-16.4.7.3.7.3s-.4.3-.6.2h-.4zm-1.4-2.5s.5.3 1.1-.2q.9-.7.6-1c0-.2-1-.2-1.4-.5q-.4-.4-.3-.6h-1.1l-.4.1zm4.3 14.4s1.5 1 2 1 1.1.5 1 .6c0 .1-1.2.2-1.8-.1q-.8-.3-.7-.1zm-8.1-22.5h1.2c.2.2 0 1.2-.3 1.5l-1 .5-1.6-2.2zm-7.1-6.4h1.5q.8 0 1.5.6c.4.3.9 3.3.6 3.8-.2.6-3.6-2-3.7-2.1 0-.3-1.5-2.5-1.5-2.5zm-3.2-1.4s2.5.2 2.2-1.3a3 3 0 0 0-1.3-2.3l-2.9 2.1zm-6.5-2.8s.7.4 1.4 0c.7-.2 2.6-2.7 4-3s1.7-.3 2 0c.2.4 0 1.8-.2 2.2s-4.4 2-4.4 2l-1.5-.1-1.3-.5zm-.7-4.5c-.7-1.4-1.7-2-2.2-1.9-.4.1 1.4 1.5 1.7 3.5q.3 3.1.2 3.4l.8.1.2-.7.1-.5v-.5l-.1-1-.2-.9-.2-.6zm-5.8-2a15 15 0 0 0-5.5-3.7c-.2 0 4 2.5 5 4 .9 1.7.9 3.9 1.3 4.2s.8-.2.9-.2.3-.5.2-.7l-.2-1-.7-1-.4-.8zm-5.5-2.3c-2.4-2-6.6-3-10-3-3.5-.2-5.3.2-4.8 2s2 2.8 5 2.8c2.9 0 3.6-.3 5.2.2a10 10 0 0 1 3.6 2c.5.5-1.1-1.5-2.6-2.6l-2.5-1.7c-.1 0-.3-.7 1.7-.4s4.7 1.6 5.5 3.3.6 2.6.6 3 .7-.2.7-.2l.3-.9s0-.6-.3-1.4c-.4-.7-.5-1-1.4-2-.9-1.1-1-1-1-1zm-9.6 28.5c1.5 0 4.8-2.8 5.2-6.7s-1.9-11.9-2.5-12.7c-.5-.9 1-.4 1.7.4a25 25 0 0 1 2.5 10.6c0 4.2-.8 5.3-3 7.5-2.2 2-4 1.8-4 1.8zm5.1 11.6s.7 1 1.6.6c1.5-.5 3.8-1.7 3.8-3.8 0-1.4-1.8-2.7-1.9-3.2v-1l1.6.4.5 2.2s.6.7 1.3.4c.6-.2 2.5-1.6 2.2-3-.3-1.2-2-2.9-2.2-3.5v-1.2l1.6.2.4 2s.4.6 1.3.4 2.4-1.7 2-2.5l-1.5-2.6v-.9l.5.4s.6.2 1.8-.1c1.1-.4 2.3-1.2 2.3-2s-1-1.6-1-2v-.6h.8l1 1.2.1 1.4-.3 1.2-1.4 1.6-1.4.6h-.4l.8 1.4-.2 2-1.3 1.2-1.7 1-.1 1.9-1 2-2 1.2h-.7l-.2 1.2-1.4 2-2.3 1.5-1.7.3-1-1.4z"/> + <path fill="#d2a567" d="M343.4 191.4s4 1.1 3.8-1.4c0-1.3-3.8-4.5-4-5s-.2-1.3-.2-1.3l1.9 1.8s2.5.6 3.2-.9c.7-1.4.1-2.3 0-2.3l.6-.1 1.1.2-.1 2.2-1.3 5.5s.3 2.2-1.4 2.3c-1.7.2-3.6-1-3.6-1m3.7 29.5s0-1.1-.8-2c-.9-.7-2.5-1.4-2.8-1.6l2.8 3.5zm5.6.2s-2-2.4-2.3-3.3c-.5-.8-1.5-2.6-2.3-2.7-.8 0 .8 3 .8 3l3.2 2.9zm5.4 0-2.1-4.2c-.4-.9-1.3-3.4-2.3-4.1s.1 1.1.1 1.1l1.1 3.3 1.9 2.9zm3.9-2.4s-.1-2.7-.5-4.6c-.3-1.8-1.7-3.4-1.8-3.3v3.3zm8.1 2-2-4.7c-.5-1.6-1.8-4.1-2-4.2l.4 3 1.7 4.7zm7-8.5s-1.2-1.2-3.9-2.3-5.4-1.2-5.4-1.2l.3.4 1.3 1 2.8 1.5 3.7.9 1.3-.3z"/> + <path fill="#202020" d="M348.2 213.8s0 2.4 1.3 3.8c1.2 1.5 4 4 4.6 4.6s1 3.4 1.9 5.8 1 4.4 1.4 5.1 1.1 1.8.5 1.7q-.8-.2-1.4-1.7c-.3-.9-.2-.9-.2-2 0-1.3-1.8-7.5-2.7-8.1-.9-.7-4.8-4-6.4-6.3-1.5-2.3-1.2-2.8-1.2-2.8z"/> + <path fill="#202020" d="M354.6 229.3q-1-2.7-1.2-4.3a16 16 0 0 0-4.4-4.2c-.6-.3-1.9 0-2.4-.3l-3.7-4s-.5.5-.3.6c.1.1 3.4 3.7 4.6 4.8 1.2 1.2 1.9 3.7 2.7 5.7s.5 1.6.6 2.5q.3 1.5 1.3 1.5t.6-.4a10 10 0 0 1-2.2-3.5c-.7-1.7-1.5-4.9-2.5-6l-.3-.3 1.3-.2c.8 0 4.1 3 4.4 4 .3.8 0 1.2 1.4 4.2s2 3.7 2 3.7h.2s-1.2-2-2-3.8zm-5.2-19.9s2.5 1.5 3.2 1.7l1.2.3s.4 4.4 2.1 6.8c1.8 2.5 3.2 3.4 3.2 3.4s0 4.8 1.4 8 1.5 7.3 1.2 8c-.3.6-1.4-2-2-4.3l-2-6.2a13 13 0 0 0-2.5-4.4c-.8-.7-.2-.6.3-.2s1.7 2 2.5 4.5 1.1 5 1.5 5q.8 0 .8-.9c0-.4-.6-1.8-1-4.1a17 17 0 0 0-1.2-4.7c-.4-.6-1-.7-2.4-3.4a20 20 0 0 1-2.5-5.3c-.2-1.2 0-1-.2-1.3-.2-.1-.4 0-1.6-.6-1.1-.6-2-2.3-2-2.3"/> + <path fill="#202020" d="M355.7 208.5s1.4 1.2 2.3 1.5 2 .4 2 .4-.3 4.2 1.3 6.9 3.3 4.2 3.3 4.2.3 1 .8 6.8l.7 8.3c.1 2.3.2 10.6-.1 10.3-1.3-1-.2-5.4-.9-7.3s-1.6-2.1-2.8-7.4c-1.2-5.2-.4-6.4-1.3-8.3s-2-2.2-2-2.2 1.6.4 2.3 2 .7 6 1.3 8.2c1.2 4.9 2.9 7.4 2.9 7.4s-.4-6.2-.8-9.7-.5-6.4-1.1-7.7c-.7-1.4-2.1-2.4-3-4.2s-1.1-5.3-1.5-6.2-.6-.6-1.2-.8c-2-.8-2.2-2.2-2.2-2.2"/> + <path fill="#202020" d="M360.1 206.2s1.3 1.5 3.1 2.6c1.8 1 2.8.7 3 1 .3.2-.3 3.8 1.6 7.2s2.6 3.5 2.6 4l.6 13.9c.3 3.4.5 14.8-.9 14.8s-.1-8.5-.8-10.4-.7-1.4-1.3-3-.7-7.8-1.8-11.5c-.8-2.8-1.6-3.2-1.6-3.2s1.4.7 2 3 .8 10 1.5 11.1c.8 1.3 1.8 2.8 2 4a157 157 0 0 0-.4-15.6c-.3-1-3.5-6.6-3.7-9.7-.3-3.2-.4-3.5-.7-3.7s-1.1 0-2.6-1.5c-1.5-1.4-2.6-3-2.6-3"/> + <path fill="#202020" d="M367.3 208c0-.3 1 1.7 3.7 2.8 2.9 1.2 5.6 1 6 1.3.3.3 2 4.5 2.1 10.2s-1 5.1-1.8 10-1 14.8-1.5 16.3c-.2.5-.5.8-.8 1.7-.3 1 .2 2.8-.7 2.8s-1-1.4-1-2.1 1-3.5 1-6.2-.6-3-1-6.2-.4-13.5-.8-14.5c-.3-1-2.1-3.1-2.1-3.1s1.9 1.2 2.4 2.6c.4 1.3.5 12.7 1 15s.3-.5.5-1.8.9-7 .8-10-1.4-9.4-2.4-10.5l1.1 2q.1.3.8.7l1 .5s-.6 0-1-.3l-.6-.4a24 24 0 0 1 1.3 8c.1 5.2-.7 16.4.1 16.5s.7-6 1.5-11.2c.8-5 2-5.8 1.6-9.9s-1.4-8.6-2.3-9.2-3.4-.3-5.6-1.8c-2.2-1.4-3.4-2.9-3.3-3.2m-35.8 5.7s.8.4 1.7 0c1-.5 3.5-2.5 3.5-3.3v-1.6s0 .3.7.4c.8.1 2.8-1.4 3-2.4a8 8 0 0 0-.1-3.1c-.2-.4.6.3 1 0 .4-.4 2.4-1.7 2.4-3s-1.1-2.6-1.1-2.6 1 .2 1.6 0c.5-.1 2.5-1.3 2.4-2.4 0-1.2-.7-3-2.3-3.2 0 0 1.2.3 2.3-.1q1.5-.5 1.5-2.3c0-1.2-2.3-4-2.6-4.2s2.4.8 3-.3q1.1-1.6.7-2.5c-.2-.7-.8-.8-.8-.8s1.2.3 2.8-.5 3-2 3.8-1.9c.8 0-2.3 1.7-2.5 2.6q.1.6 2.3 2l.2.3c.7.3 3 .4 3.3.5.2.2-2.4.1-2.2.3a34 34 0 0 1 5.7 5.4l1 .5 1.3.3h-1.6l3.3 4.7q0 .3.9.8l1.1.2c.1.2-1.4 0-1.3.2l3.3 6s-3-5.3-6.7-9.5-4.7-4.7-4.8-4.4c-.2.4 2.7 4.1 4.3 6.7s3 5.9 3 5.9-3.7-7.8-9-12.6-5.8-5.5-6.3-5.4c-.6.2-1 3.8-.7 4.5s4.2 3.6 7.4 7.5c3.3 3.8 7.5 10.4 7.5 10.4s-3-4.7-8-10-6.9-6.6-7.3-6.5-.4 1-1 1.8c-.6.7-1.8.6-1.8 1s4.2 4.3 5 4.7c.9.5 1.4.3 2 .6l1.4 1-1.6-.5q-1.1-.4-1.3 0a21 21 0 0 0 4 4.6c.6.3 1 .1 1.7.4.8.3 2 1.1 2 1.1s-1.3-.7-2.1-.8q-1.3-.2-1.2.2c.1.4 2.6 3.6 2.5 3.6s-4-4.6-7.3-7.5-4.8-3.6-5-3.5 0 1-.9 1.3q-1.4.3-1.5.7c0 .3 3 3 5 5.4l4 4.5-4.5-4.3q-3.4-3.1-3.8-3c-.2.2-.2 1.3 0 1.6s4.6 5.4 4.4 5.5c-.1.2-5-6-5.4-6-.3 0-.5.7-.8 1s-1.8.4-1.8 1c0 .4 7 7.3 6.9 7.5 0 0-5.8-5-6-4.7s2.4 5 2.2 5.2c-.1 0-3.4-5-3.7-5s-.2.6-1 1.3c-1 .8-2 .4-2 .8 0 .3 4.8 5.7 4.7 5.8-.2.1-5-5.1-5-4.8q-.3 0-.2.7c.3 1.3 1.4 3.6 1.3 3.8 0 0-1.6-3.2-2-3-.4 0-.4.7-1.2 1.1s-1.3.4-1.3.7.8 1 1.2 1.7.7 2.4.7 2.4-.5-1.4-1.1-2.3q-1-1.4-1.9-1.5c-.9-.1-.8.5-.8.5z"/> + <path fill="#202020" d="M377 212s1.5 0 1.7-.4c.2-.3-.6 0-2-1.6s-5-12.1-9-17.4c-6.6-8.7-12.7-12.7-12.7-12.7s7.3 4.2 13 12.4c5.6 8.4 7 14.9 8.6 16.6s3.2 2 3 2.5q0 .7-.9 1l-2 .1zm-48-2.2.3.1c.3 0 2.3-1.9 2.2-2.5 0 0-1-.3-1.6-1-.7-.8-.9-1.9-.9-1.9s.7 1.3 1.2 1.6q1 .7 1.8.3c.3-.2 3.2-2.4 3-3.2 0 0-.9 0-1.8-.6s-1-2-1-2 .6 1.1 1.5 1.5q1.4.5 2 0c.2-.3 2-3 1.8-3.7 0 0-1 0-1.8-.5s-1.3-2.2-1.3-2.2.6 1.3 1.7 1.5c1.1.3 2-.4 2.2-1.2s.8-3.7-.2-4.5c0 0-1.4.5-2.4 0s-1.4-1.9-1.4-1.9.9 1.2 2 1.4q1.7 0 1.9-1a6 6 0 0 0-.1-3c-.4-1-1.1-.8-1.3-2.2 0 0-.3.5-1.8.5s-2.3-1.6-2.3-1.6 1.2 1 2.4 1a2 2 0 0 0 1.6-1.9c0-.7-.6-1.4-1-2.1-.2-.8-.3-1.7-.5-1.6s-.5.8-2 .6-1.8-1.3-1.8-1.3 1 .7 2 .7q1.3-.1 1.3-1c0-.6-.3-1.7-2.2-3.3l-3.5-2.7a22 22 0 0 0 6.6 5.3s1.7.6 2 0q.3-.9-.5-2.4c-.5-1-2-2.6-2-2.6s1.6 1.3 2.3 2.7c.8 1.3.4 2.2.5 2.6s3.3 1.6 4 1.1q1-.8-.2-2.3l-1-1.8s.7.8 1.2 1.8q1 1.5.8 2.1l-.6.9 2.3 1.3c1 .6 2.3 1 2.5.8q.3-.6.2-2.2c-.1-1-.7-2.7-.7-2.7s.7 1.6.8 2.7-.1 2 .1 2.4 1.1.5 1.1.5-.6.4-2 0c-1.5-.4-7.7-3.6-8-3.3s2.9 2.3 4.3 3.7c1.5 1.3 2.2 2.8 2.2 2.8s-1.1-1-2.2-1.6-4.4-2.3-4.7-2 1.3.5 1.4.7c.1.3-1 1.3-1 1.8s4.7 3.7 4.5 4c-.1.4-1.2 1.3-1.4 1.2-.1 0-2.5-1.8-2.5-1.6s1.4 1.5 1.4 1.7c0 .3-1 .8-.8 1.4s2.6 2.6 2.6 3.3-1.4 1.3-1.1 1.7l1.5 2s-1.4-.9-1.8-1.4-1.3-1.5-1.5-1.3-1 2-1 2.5c.2.4 1.3 1 1.5 2.3.2 1.1-.2 2.4-.3 2.4s-1.6-2-2-2.1q-.4 0-.9.6c-.5.6-1.2 2.1-1 2.4 0 .3 1.6.7 1.6 1.9a3 3 0 0 1-1 2.3l-2.1-2.4c-.2 0-2.2 2.3-2.3 2.6 0 .2 1.4 1.3 1.2 1.7-.3.4-1.3-.2-1.8.1l-1.7.7c-.2 0-.5-.6-.5-.6"/> + <path fill="#202020" d="m355 180 .5-1c.3-.3 1.5-1.7 1-2-.4-.2-2 .3-3 .2s-1.7.2-4.6-2.3c0 0-9.3-6.4-23.6-7.3-4.6-.2-6.6 1.4-6.8 2.2 0 .2 1.2-1.8 5.7-1.7 2 0 16.5 1.1 24 7 .4.3 2.9 2.7 5.2 2.4 2.3-.2 2.8-.5 2.7-.2 0 .4-.7 1.2-.9 1.6l-.3 1.1zm-25 2v-.2c-.2-.4-1.1-1.7-2.7-3.1a37 37 0 0 0-8-4.3c-.3-.1 6 2.9 7.7 4.5z"/> + <path fill="#d2a567" d="M330 192.2s-.4-.6-1.7-1.4l-2.5-1.1 3 .7a5 5 0 0 1 1.1 1.8zm-.8-5.3s-.4-.6-2.1-1.2-2.2-.5-2.2-.5 1.6-.7 2.8 0a3 3 0 0 1 1.5 1.6zm-1-4.5s-.4-.8-2-1.3q-2.4-.8-2.6-.7c-.2.1 1.6-.4 3.2.2 1.5.6 1.4 1.8 1.4 1.8m-2-2.8s-.4-.6-3.3-1.3c-3-.7-4-.7-4-.7s4.1-.4 5.2.1 2.2 1.9 2.2 1.9zm-5.3-3s-1.8-.6-3.5-.7-4.4.1-4.4.1 5-.8 6.3-.5c1.4.3 1.6 1 1.6 1z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M304.5 238.4s.9 1.6 2.6 1.6c1.8.1 3.1 2.6 3.1 2.6l-1.9 1.9-4.6.2-1.5-2.4zm0-1.6c.2-.3-1.3-3.3-2.4-3.8s.4 1 .2 1.6-.4 1.4-.3 1.5c0 0 .9 1.4.4 2-.4.5 2.2-1.3 2.2-1.3z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M303.8 241.4s.8.4 1.4.2c.7-.2 1.3-.9 1.3-.9m-3.6-.5s2.6-1.9 2.4-2.9-.7-1-1-.9a7 7 0 0 0-2.1 1.7c-.1.3.7 2.1.7 2.1z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M301 241.5s.6 1.3 1.4 1.3 2-.7 2-1.2c.1-.5-.8-1.5-1.3-1.7-.6-.3-1.9.4-1.9.4z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M303.4 239.8c0 .4-1.7 1.2-2.3 1.2s-1.6-1.3-1.2-1.5l1.5-.4c.4-.2.5-.8.7-.8.3 0 1 .1 1.1.5q.4.6.2 1z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M301.8 240.9s-2.6 3.4-3.7 3.3c-1-.2.5-5 .5-5l1.2.6q1.4.3 2 1z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M297.2 238.4s3.3.6 3.4 1.1-1.5 1.3-2.5 1.3-.9-2.4-.9-2.4z"/> + <path fill="#202220" d="M289 243.4s.5 1.6 1.9 1.7 2.8-1.5 2.8-1.5l-3.4-1.3z"/> + <path fill="#4b4139" d="m289 243.4.4.9q.4.7 1.5.9h.1c1.4 0 2.7-1.6 2.7-1.6l-3.4-1.4zl1.3-1 3.3 1.3v-.1l-.2.2c-.4.4-1.4 1.2-2.4 1.2h-.1a2 2 0 0 1-1.4-.8l-.3-.6v-.1l-.1-.1z"/> + <path fill="#202220" d="M290 243s.5 1.2 2.4 1.2 3.3-1.5 3.3-1.5l-3-2.3z"/> + <path fill="#4b4139" d="M290 243s.5 1.2 2.4 1.3c2 0 3.4-1.5 3.4-1.5l-3-2.5-3 2.7zl2.8-2.5 2.9 2.3v-.1a5 5 0 0 1-3.2 1.4 3 3 0 0 1-2-.6l-.3-.4z"/> + <path fill="#4b4139" d="M290.2 243.3s.9.6 1.8.7 2.2-.3 2.2-.3l-1.1.4-.8.1-.8-.1-.6-.3zv-.2z"/> + <path fill="#202220" d="M292.4 241.6s.8 2 2.6 1.8c1.7-.2 1.7-1.2 1.7-1.2l-2-2.8z"/> + <path fill="#4b4139" d="m292.4 241.6.5 1q.6.8 1.8 1l.3-.1q1.2-.2 1.5-.7t.3-.6l-2-3zl2.4-2.1 1.9 2.7c0 .2-.3 1-1.8 1.1h-.2a2 2 0 0 1-1.7-.8l-.4-.6v-.2z"/> + <path fill="#4b4139" d="M292.6 242s1 1.3 2 1.3a3 3 0 0 0 1.5-.4v.1l-.5.3-.8.1h-.8l-.7-.5zm-3.2 2s.8.9 1.5.9a5 5 0 0 0 1.9-.6h.1l-.2.1-.8.4-.9.3-.7-.1-.6-.4-.3-.4z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M297 238.3c.8-.2 2.4 2 2.4 3.2s-.5 2.7-1.3 2.7-2.6-1.7-3-2.5q-.8-1.2-.5-1.9c.3-.4 2.4-1.5 2.4-1.5zm-8 .2s-1.4-1-1.9-.5-.3 2.3 0 2.6c.4.4 2-.8 2-.8z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M288.8 239.7s-1.8.2-1.8 1 .9 1.6 1 1.8c.2.1 1.8-.7 1.8-.7z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M289.5 241.1s-1.8.6-1.8 1.2.8 1.7 1.3 1.7 1-1 1.2-1.3c.3-.2-.7-1.6-.7-1.6zm.8-5.1s-.3-.5-1-.2c-.8.3-1.6 1-1.5 2.3.1 1.1.6 2 .6 2l2.7-1z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M290.5 238s-2.2.8-2.3 1.7q0 1.4 1 2c.7 0 2.6-1.8 2.6-1.8z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M292.5 241.7s-2.2 1.5-2.5 1.5-1.2-1.2-1-2 1.7-1.3 2.3-1.6c.6-.2 1.2 2.1 1.2 2.1zm2-8.2s-.7-.6-2-.5-2.4 2-2.6 2.8c-.2.9 0 2.6.5 2.8.5.3 3.3-2 3.3-2l.8-3z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M291.8 240.3c-1-.1-1.8-1.5-1.7-2.3s2-2.2 3-2c1 .1.8 2.5.8 2.5s-1.2 1.9-2.1 1.8z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M294.7 240s-.4 1.2-1.4 1.7q-1.4.5-2-.7c-.6-.8.2-1.2.6-1.6.5-.4 1.7-.7 1.7-.7l1.1 1.4z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M293.2 237.2s-1 .8-.4 1.8 1 1.4 1.8 1.5q1.1.2 1.9-.9c.6-.7 1.5-1 1.4-2q-.1-1.4-1-1.8c-.5-.3-2.2 0-3.7 1.4z"/> + <path fill="#202220" d="M296.2 233s-1-.5-1.9 0q-1.3.9-1.5 2.4l.2 2.3s1.2-.4 2-1q1-.8.8-1.1c0-.2-.4-.4-.4-1.2 0-1.4.8-1.5.8-1.5z"/> + <path fill="#4b4139" d="M296.2 233s-1.2-.3-1.9.1a3 3 0 0 0-1.3 1.9q-.3 1.1-.1 1v-1.4q.6-1.3 1.6-1.7c.8-.3 1.7 0 1.7 0z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="m328.8 257 1.6-.8 2-1.2.4 2.2-1.8 1.4h-1.5l-.9-.7.2-1z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M326.4 257.2h1c1.1 0 1.2-.3 1.4-.3.2.1.5 1.3.5 1.3l-.4.7-1.5.9-1.3-.8-.1-1.8zm12.1-.8s-.3-.5-.9-1l-2.2-1.9v5l2.3-.1 1.1-1.5z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M326.4 257.2s-.4-.5-1.3-.4-2 .9-2.1 1.5 0 2.6.5 3q.7.6 2.2.3c1-.3 6.4-3.6 6.4-3.6l-1.4.3c-.7.2-1.4-.1-1.4-.1s-.7.8-1.6 1q-1-.2-1.2-.9z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="m330 258.9-1.2.5-1.3.6.4 1.6 2.3.5 1.4-1.1v-1.6l-1.7-.5zm10.4-1.2-.8-.8-1-.5-1.3 1.5v1l1.2.7.9.2 1.1-.8z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M332.6 257s-1 .4-1.5.8l-1.2 1c0 .2 1.1 1.4 1.1 1.4l1.2.1 2.5-1.7-.2-1.6zm9.5 2-.5-.7q-.7-.6-1.2-.6c-.3 0-1.3 1.5-1.3 1.5v.4l.8 1 1.6.5 1.1-1.2z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-linecap="round" stroke-linejoin="round" stroke-width=".3" d="m338 260.8 1.2.2s0 .3.3.5.3 0 .3 0 .2 1.2 1.4 2c0 0 1.4.6 2 .2.8-.4.7 0 .7 0l2-2.4s0-.5-.5-.5c0 0 .4-1.6-1-2-1.2-.2-2.2.2-2.2.2s-1 1.8-1.6 1.6l-.8-.5-.7-.9s-.4.1-.9-.2-.9-1.1-.9-1.1-.7-.1-1-.4l-.5-.8-1.9 1.4s0 .5-1.1 1.3-1.7.8-1.7.8-.4 1.7-1.6 1.4-2-1.6-2-1.6-.9-.2-1.4.6c-.6.7-.9 1-.9 1.7 0 .8.5 1.8 1 2.2.3.3 1.5 1.3 3 .6 1.4-.8.9-2 .9-2l.8-.5c.9-.6 1.8-1.5 2.5-1.7"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M335.8 250.8v3.2s.4 2.9-.2 3.7c-.6 1-2.9.7-3.2 0-.3-.8-.2-3.2-.2-3.2z"/> + <path fill="#f8c83c" stroke="#977c2e" stroke-linecap="round" stroke-linejoin="round" stroke-width=".3" d="M333.3 260.5s-.5.8 1 1q.6 0 .9-.4.4-.7.3-.8c-.1-.1-.2 1.2 1.2 1.2 1.4.1 1.3-1.3 1.3-1.3"/> + <path fill="#202220" d="M321.2 263.1s-.8-1.4.1-1.9 1.5 0 2.1 0 .4-1.4.3-1.7l-.7-1.2c-.2-.2-3.5.2-3.4 2.3 0 2.1 1.6 2.5 1.6 2.5m5 5.2s-1-1.5-.4-2.4 1-.3 1.2-.4q.5 0 0-1.6-.9-1.4-1.4-1.5c-.4 0-2.3 1.4-2 3.2a4 4 0 0 0 2.6 2.7m18.2-1.8s3.5 1.5 3.7-2c.2-2-1.5-3.3-2-3.3q-.5 0-1.3 1-1.1 1.2-.9 1.6c.3.3 1.3-.3 1.8.8.7 2-1.3 1.9-1.3 1.9"/> + <path fill="#4b4139" d="M326.2 268.3s-2.7-.6-2.7-3.3c0-1.8 2-2.6 2-2.6s-1.8 1-1.8 2.6c-.1 2.7 2.5 3.3 2.5 3.3m-5-5.2s-1.6-.3-1.7-2.6c-.2-2.3 3.5-2.2 3.5-2.2s-3.5.2-3.4 2.4 1.6 2.4 1.6 2.4m23.2 3.4s.7.3 1.5.3 1.8-.3 2-1.6c.4-1.3.3-2-.6-3.1-.6-.9-1.2-.8-1.2-.8s.6 0 1 .8c.6.8 1.3 1.6.8 3.1s-2 1.5-2.5 1.5z"/> + <path fill="#904720" d="m302.6 192.4-.6-.2.4-1 1.9-.7 1.8-.1 2-.1.8.6 1 2.3-3.6 2.2-.6.2-.2-1-.6-1.4z"/> + <path fill="#202020" d="m337 245.5-.3-5.5-14.8 4.6 5.8 5.5z"/> + <path fill="#d2a567" d="m309.4 235.9-1.2-1-1.4-.8h-1.1l-.2.3.2.5 1.3 1.6 2.3 1.2.8.7.5.2-1.1-2.7zm-.3 2.3.8.2.9 1 .5 1 .7 1.3.2.8-1.6-.3-4.8-1.5.4-1.2.8-.7.7-.3 1-.2z"/> + <path fill="#d2a567" d="M312.2 242.2h.8l.6-.5-.3-1.8.3-5.8-3.9-4.6-.8 2.6 1.1 4.7.9 2.8z"/> + <path fill="#ab6d29" d="M309.4 231.7s-.2.4.1 2c.3 1.5.9 4.9 2.2 7.2l-1.3-1.9s-2-4.6-1.7-8.2.7.8.7.8zm2.9 2.9s-.9 1-1 1.9v2.2s0-1 .8-1.3.7 2.3.8 2.6l.5-4.7zm.4 9.6-4.4-1q-3.5-1.5-3.4-2.3c0-.6 4 .1 4.6.2l2.4 1h1l1.9-.8.2 2zm-7.3-.8s1 .8.5 1a4 4 0 0 1-2.3.3l4.2 1 .9-.7z"/> + <path fill="#d2a567" d="M304.2 242.2c.2-.2.3.7 1.8.8s2.2-.2 2.2-.2l.7.4.8.2-.7 1.1-2.8-.8-1.5-.8z"/> + <path fill="#ab6d29" d="m314 240.3.8 1 .5-2.4v-2.5l-1.6-1z"/> + <path fill="#4d2a15" d="m309.7 236.1-1.3-2.1-1.7-3.1 1-1.8 1.3 1.8s-.4 1.3-.1 2.5c.2 1.2.8 2.7.8 2.7"/> + <path fill="#d2a567" d="M300.8 244s.6-.9 1.9-1l2.4.2 2.6 1.4.6.9-5-.7z"/> + <path fill="#8f4620" d="m314 235 .2 4c0 1 .7 2 .6 2.3q-.2.5-1 .9c-.6.2-2 0-2 0s1.3-.2 1.4-.5-.4-1.4-.5-2.4.1-2.2-.3-2.2q-.5.2-.8.6s.4-3.8.8-4.2 1.6 1.6 1.6 1.6z"/> + <path fill="#ab6d29" d="M304.7 243s-.5-.4-.5-.8c0-.3.6 1.6 3.4 1.5 2.8 0 2.6-.2 2.6-.2h1.3s-.3 1.3-.5 1.4l-2.2 1.4-.7.4v-.2l-.3-2.1-2.4-1z"/> + <path fill="#8f4620" d="M309.7 236.1s-3.2-3.3-4.3-5.5-.4-5.2-.4-5.2l3 4s-.4.7-.3 2c.2 1.2 2 4.7 2 4.7"/> + <path fill="#ab6d29" d="M307.6 248.3c0-.3-.2-1 .4-1.8 2-2.4 6.8-4 6.8-4v2.8l-6.2 3z"/> + <path fill="#8f4620" d="M308 246c.3-.1 1.4-1 1.4-1.3q0-.4-2.1-.7c-1.5-.3-2.6-1-2.6-1s1.7 1.4 2.4 1.7q.9.3.5.7zm8.3.7s-.9-1.3-1.2-2.1-.3-2.1-.3-2.2l-1 .7-2 .7s2 0 2 .6-3 1-3 1c0 .1 2.4-.4 2.3.1s-1.2.7-2.5 1.2l-2.3 1-.7.5s.6.4 1.5.3c.9 0 2.9-.5 2.9-.5l3.8-1.5z"/> + <path fill="#ab6d29" d="M316.3 246.7s-1-.3-1.8-4.8-.6-5.7-.6-5.7l1.8 1.3 1.7 3z"/> + <path fill="#8f4620" d="M316.9 239.3s-.9 2.5-.9 4q-.2 2 .3 3.4c.5 1.4 1.8 2.3 1.8 2.3l.7-.6.3-2 .1-3.4z"/> + <path fill="#202020" d="M319.4 242.7s.4 6.3-1.2 6.5c-.7 0-1.9-2.4-1.9-2.5 0 0 1.4 2.3 2 2.1 1-.4.6-6.6.6-6.6zm-3.1 4s-.3 0-.7-.8c-.4-.7 0 .6-3.4 1.8s-4.6.5-4.6.5 1.1 1 4.5 0 3.1-1.3 3.6-1.4z"/> + <path fill="#ab6d29" d="M310 238.7s.6.5 1.2 1.7l1 2h.2s-.4-1.3-1-2.2l-2.2-3.1z"/> + <path fill="#8f4620" d="M308 246.5s.3-1.1 0-1.4-.7 0-3-.2l-4.2-.9s1.6 1 3 1.4l3.5.8.5.1z"/> + <path fill="#202020" d="m308 246.5-.2-.5c-.3-.3-.7.1-3.5-.7s-3.5-1.3-3.5-1.3 1 1 3.4 1.5z"/> + <path fill="#ab6d29" d="M309.3 238.2s-2.1.1-2.8.7-1.6 2-1.6 2l1.3.1s-.1-1.2.5-1.9q1.1-.7 2.6-.9"/> + <path fill="#8f4620" d="M305.3 234.2s.8 1.2 1.7 1.5q1.5.6 2.2 1.2c.4.4.9 1.8.9 1.8s-3-1.3-3.7-2z"/> + <path fill="#8f4620" d="M308.2 235s-.3-.5-1.1-.9-1.4-.3-1.7-.1-.1.2-.1.2l1 1.7.7-.2s-1.6-1-1.3-1.3c.8-.7 2.5.5 2.5.5z"/> + <path fill="#202020" d="m316.3 231.1 17-8.7 8 11.1-14.7 4-7.7.6-3.8-2.7z"/> + <path fill="#4d2a15" d="m339 235.9 21 18.2-2.3 1.6-5-1.4-10.2-10.1-3.8-3.8z"/> + <path fill="#4d2a15" d="m366 250.5-12-9.1-15.3-11.5.4 5.5 17.4 16 5.7 2.7 3-.8 1.4-1.6z"/> + <path fill="#803f1d" d="M339 237.6s6 6.9 10.6 10.4 9 7.3 10 6.7c.8-.5.5-1 .5-1l-21.3-17.5z"/> + <path fill="#4d2a15" d="m353.8 255.1-2.1 1.7-2.5-1-13-13.2.7-2.5 1.8.3z"/> + <path fill="#202020" d="M366 250.5s-1.6 3.8-5 2.9-22-18.5-22-18.5v1.8s18.8 17.3 22.5 18 6.6-2.5 6.2-2.8z"/> + <path fill="#803f1d" d="M336.9 240.4s6 7.7 9.1 10.5c3.2 2.9 6 5 7.2 4.8s-.7-1.7-.7-1.7l-9.1-9-4.7-4.6s-1.8-.7-1.8 0"/> + <path fill="#202020" d="M338.4 240.4s15.2 15.5 16.4 15.9c2.5.7 6.2-2 6.2-2l-1.3-.7-.2.5s-.7 1.6-4 .9-16.6-15.1-16.6-15.1z"/> + <path fill="#4d2a15" d="m344 255.3-5.5-6.4-1.2-2.1-.3-2.7 11 11.1-1.5 1-1.4-.4z"/> + <path fill="#202020" d="M354.1 255.5s-1.3 2-3.2 1.6a5 5 0 0 1-2.8-1.7L337.5 245l-.3-1.6s11.7 12.3 13.7 12.8c1.6.4 2.7-1.4 2.7-1.4z"/> + <path fill="#202020" d="M348.2 255.1s-.5 1.6-2 1.4c-1.6-.3-2-.9-2-.9l-6.6-7.7-.1-2s6.8 9.3 8.3 9.8 2-1 2-1z"/> + <path fill="#b07229" d="M341.3 234.9s6.3 5.4 6.8 5.6c.5.3 2.7.4 2.8.7.2.3-1.4 0-1.5.3-.1.4 3.2 3 3.7 3.1.5 0 3.2 0 3.1.4 0 .3-1.8 0-1.9.4s2.9 2.7 3.4 2.8 3.9 0 3.9.4c0 .3-2.7 0-2.7.5.1.6 4.6 3.4 4.4 3.8s-5.4-3.5-5.5-3.3c-.2.2-.4 1.4-.7 1.6s0-1.6-.2-2.4-3.4-3.1-3.7-2.9 0 1.7-.4 1.7.1-1.7-.2-2.3a16 16 0 0 0-3.6-3c-.4 0-.1 1.3-.4 1.5s-.2-1.5-.6-2-7-6.5-6.7-7z"/> + <path fill="#4d2a15" d="M330.5 252.3s0 2.4-1 2.8c-1.1.3-3.1-4.4-3.1-4.4l-.5-4.4 3.1 3zm8.4-1.2V250c0-.6-.3-1.5-.3-1.5l-.2-2.4-.6-1.7-.4-1h-.7l-1.7 1.2-.5 1.6.8 3 .8 2.7 1.3.4 1.5-1z"/> + <path fill="#4d2a15" d="M336.8 255.3c.3-.1-.4-3.4-.4-3.4l-2-4.8-.5-1.7-1.5-.6-1 1.2.2 1.9s1.5 3.2 2.2 4.3 2.3 3.3 3 3.1"/> + <path fill="#202020" d="M335 245a6 6 0 0 1 1.4 2.6s1.3 3.6 1.1 4-1 .3-1 .3 1.8 1.8 2.3 1.6.3-2 .1-2.4-.7 0-1-.5c-.1-.4-.8-2.7-.8-4.2v-2.7c.2-.3 1.5 3 1.5 4.7l.6.7-.6-3.2-.7-2.3.3-1.5v-1s.6.5.9.5q.5.2.8-2c.2-1.5-.1-6-.1-6l-6.8 9z"/> + <path fill="#202020" d="M335 244.3s-.3 2.4.6 4.8l1.3 3c.2.3.2 2.9-.1 3.2 0 0-1.8-4.4-2.4-6.6q-.7-3-1-3.2l-.8-.2z"/> + <path fill="#4d2a15" d="M334.4 257c.2 0 0-1 0-1l-.2-2.3-2.4-4.9-2.6-2.3-1.4-2-.2 4s2 4 3.1 5c1.3 1.2 3.3 3.6 3.7 3.5"/> + <path fill="#202020" d="M324.7 246s.4 1.1.4 1.8v1.4l1.8 3.5c.9 1.5 1.7 3.1 2.4 2.8s1-1.5 1-1.7c.1-.1-.8 1.3-1.2 1.1a40 40 0 0 1-2.3-6.6l-1-.8-1.1-1.4zm7 5.5-1.7-3.1q-1-1.6-1.4-1.7c-.2 0-.5-2-.5-2s.7 1.3 1.6 1.7q1.4.8 2 .7l.2 2z"/> + <path fill="#5c3a1d" d="M327.4 248.3s.5 1.4 1.4 2.7 2.3 2.9 2.3 2.9-1.6-1.6-2.5-2.8l-1.4-2.8z"/> + <path fill="#202020" d="M332 246.7s.5-1.2.8-1.3l1.2-.3s-.7-.1-1.2-.8l-1.3-1.3.4 2zm-.4.4s2 4 2.4 5.5c.5 1.3.4 3.4.4 3.4s-.2-1.5-.6-2.7l-2.4-5c-.1-.3.2-1.2.2-1.2"/> + <path fill="#4d2a15" d="m334.2 244.4.5-6-.5-2.2-2.7-6s-.1.8-.8.8a6 6 0 0 1-3.1-1.8 9 9 0 0 0-.2 4.8l5.3 9.9z"/> + <path fill="#8b441f" d="M323.8 248.3s.8 1 1.3 1c.4-.2.3-2.1-.3-3.2-.6-1-7-9.6-8-10.1s7 12.3 7 12.3"/> + <path fill="#8b441f" stroke="#5c3a1d" stroke-width=".1" d="M328.1 244.8c.2.4.6 3.1-.5 3.4-1.5.3-8.5-9.4-9.6-10.7 0 0-4.4-2.8-4.5-3.5s4.7 1 4.7 1l9.5 9z"/> + <path fill="#202020" d="M323.8 248.3s-.8-1.3-.9-2.3l-.4-1.9c0-.3-5.2-7.7-5.7-8.2s-2.3-1.4-2.3-1.4l.3 2.4s1.6 3 4 5.7z"/> + <path fill="#4d2a15" d="M331.6 247c.7-.3.4-2.7.1-3.5l-4.4-9.4-1.3.4-2.3-1.8-1.4-1.5s.5 2.1.4 3.1v1.6l3.3 5.9zm4.7-5.2 1-1.3-.5-4.4-2.8-9.4s-.7.1-1.4-.3-1.4-1.3-1.4-1.3l.7 5.7 2.9 8 .2 2.3z"/> + <path fill="#202020" d="M327.7 244s-2.8-3-3.7-4.5l-1.7-3s-.8.3-1.8 0c-1-.5-2.2-1.8-2.2-1.8s-.8 1.5 3.2 5.6c4.6 4.6 6.2 3.7 6.2 3.7"/> + <path fill="#8b441f" d="M334.4 245c1.2-.4 1.1-5.4 0-8.7-1-3.3-2.9-6.2-2.9-6.2s2.3 5.4 2.8 7.5c.4 2.2 0 3.7-.4 3.6s-.4-1.3-1.3-3.4q-1.6-2.8-1.6-2.6c0 .2 3.3 8.8 2.3 8.6s-5.3-9.9-5.5-10.2-.4.4-.4.4 4 12.2 7 11"/> + <path fill="#4d2a15" d="m337 221.3 2 4.2.6 4.4.2 3.7s0 7.4-.8 7.6c-1 .1-1.4-.7-1.4-.9l-1.7-8.3-1.7-8.5.6-.6.2-1.2 1.3-.1z"/> + <path fill="#8b441f" d="M331.6 247c.8 0 0-2 0-2s-.6 1-1.2.3-1.3-3.1-1.3-3.1l-.5-1.5s-.6 1.6-1.3 1.6-4.6-6.4-4.6-6.4l-.4.6s5.4 11.1 9.3 10.6z"/> + <path fill="#202020" d="M329.1 242.2s.7-1.6.4-3c-.3-1.5-2.2-5.1-2.2-5.1s-.6.1-1.4-.2l-2.2-1.2a38 38 0 0 0 5.4 9.5m3.1-2.3s-.5-3.4-2-6.6c-1.6-3.1-2.6-4.1-2.6-4.1v3.5s1.5.5 2.6 2.4c1 2 2 4.8 2 4.8m4.3-5.8s-.3-3.7-.8-5.8l-1.2-5s0-.2.3-.4h.6c.8.3 1.1 2.2 1.1 2.2l-.1-3.1-.3-.5h-1.4s.3 1-.1 1.3c-.3.3-.6-.2-.7-.3l-.2.4.4 2-.1 1.7s.5 2.2 1.2 3.5c.6 1.4 1.3 4 1.3 4m3.3-.5s.6-5.3-.6-8.7-2.2-4.2-2.2-4.2l-.6.6s1.8 3 2.4 5.6zm-5.4 2.7s-.6-4.1-1.3-6.8l-1-3.6-1.1-1s.7 2.7.6 3.6l-.1 1.4s.5 1.4 1.3 2.6z"/> + <path fill="#904720" d="M337.2 242.9c1 0 .1-6-.3-7.5-.4-1.6-3-8.8-3-8.8s3 10.3 2.8 10.8c-.3.8-1.5-3.1-1.7-3-.2 0 2.2 6.9 1.3 7-.8 0-1.3-1.5-1.3-1.5l.1 1.5s.6 1.4 2.1 1.5"/> + <path fill="#904720" d="M338.5 239.9c.7 0-.2-5.7-.7-8.2l-2-7.5s1.5 3.5 2.3 7.5 1.4 9 .6 9.2c-.8 0-1.2-.8-1.2-.8v-.9s.3.7 1 .7"/> + <path fill="#312317" d="M328.8 246.5c0 .4 0 2.4-1 2.2s-2.9-1.9-3.3-3c0 0 2.2 2.5 3 2.4.8 0 .8-2.5.6-3.2 0-.6.6 1.6.6 1.6z"/> + <path fill="#d2a567" d="M334.1 219.5s1.4.9 2.4.3a4 4 0 0 0 1.8-3q.2-1.1-.7-2.4c-.7-.9 1 .7 1 2.3s0 4.3-2.5 5c-2.5.5-1.4-.2-1.4-.2z"/> + <path fill="#8f4620" d="M332.1 214.7s1.6 2.6 2.2 5q.9 3.3.2 3.3t-.7-.9c0-.6-1.7-7.4-1.7-7.4"/> + <path fill="#1e2121" d="m304.1 218 10.6 15.3 13.2-15-8.3-8.6z"/> + <path fill="#4d2a15" d="m317.5 208.5-.6 2.4 1.3 4.1 2.2 2.3 2.5 1.7.6-2 .6-2.2.7-.2 1.6.6 1-1.5 1.8-3.1-.4-1.2-.4-.9-2.7-4.6-.9 1.7-.8.5-1.6-.8-1.8 2.4-2.3-1z"/> + <path fill="#5c3818" d="M323 219s.4-.3.6-1.6c.2-1.2.2-4.9-.1-6.4s-1.3-4.4-1.5-4.2 1.5 3.3 1.3 7c-.3 3.6-.2 4.6-1 5-.7.3.6.2.6.2z"/> + <path fill="#5c3818" d="M323.6 212.8s1.7 2.5 2.5 1.6.5-4 0-5.3l-1.2-3 .5-.6.9 3.4c.3 1.4 1.3 5.2.1 6-1.1.6-2.8-1.5-2.8-1.5z"/> + <path fill="#8f4620" d="M317.9 214.6s.6-1 1.4-1q1.1.2 1 .3l.6 2 1.2 2.2 1 1-.5.6-.9.2-2.5-1.4-.7-1-.6-3z"/> + <path fill="#d2a567" d="M322 236.3c-.8.5-2.7-.5-3.7-1.4l-6.8-6.7-.8-3.2 2.2.6 3.9-1.7.7-1.3 4.6-2.4 2.6-1.4 5.5-.1 1.4-2.7s1.8 3.2 2.1 4.5c.4 1.4.3 5.4-.2 5.7s-2.3-1.2-2.6-1.3c-.2-.1 1.4 5.7 0 6s-3.6-2.2-3.6-2.2 1 5.2-.2 5.2a10 10 0 0 1-5-2.6s1.3 4.3 0 5z"/> + <path fill="#8f4620" d="m321 229.6 1.1 1.7c.3.4 0 2.9-.2 3.4-.3.9-1.6-1.2-2.3-3l-2.2-3.8c0-.4 3.5 1.7 3.5 1.7zm10.8-12.9s2 8.1 1 8.4-3.6-2.6-4-3l-4-6.4-.8-.8.2-.4 1.7.6z"/> + <path fill="#8f4620" d="M317.9 232.3c-.4.3-1.3-1-1.7-1.4l-3-3.3a12 12 0 0 1-2.2-2.5c0-.3-.8-1.1-.8-1.1l.7-1h.9s5.4 4.2 5.7 5c.4.6.6 4.1.4 4.3m8 0c-.2.3-3.7-2.3-5.2-4.4s-3-4-3.5-5l-.6-1.9 1 .2s8.8 10.8 8.4 11.2zm1.3-3.7c-.2.3-1.7-.9-2.7-2.1s-.4-2.9-.4-2.9 3.3 4.8 3.1 5m2-.5c-.5.3-2.5-2.2-4.2-5-1.3-2-1.6-2.3-1.8-2.5-.5-.3-1.4-.4-1.4-.4l-.2-.3 1-.2.6-.8 1-1.3 4.3 8.5s1 1.9.7 2"/> + <path fill="#ab6d29" d="M318.3 234.9c0 .3 0 .6-1.2.5a21 21 0 0 1-9.9-7.8l-3-5 1.1-1.4 9.6 11z"/> + <path fill="#8f4620" d="M318.3 234.9q-.1.7-1.1.5c-.6-.2-3-1-6.9-5.3a33 33 0 0 1-5.3-7.4l-.2-1.8 1.2-.5 6.5 10z"/> + <path fill="#4d2a15" d="M324.6 230.6s-2-1.5-3.2-3a24 24 0 0 1-3.8-5.7c.1-.7 1.2-.7 1.2-.7v-1.8l.2-.6 1.9.8 2.3 2.9.9 1.1s1.5 3.7 1.2 4-2.4-2-2.7-1.7 2.4 4.4 2 4.7m-3.7-1s.7 1 .4 1.7-.5 1-1.5-.4a16 16 0 0 0-2.3-3c0 .1.1 2.3-.3 2.3s-2-1.9-3-3.3l-2.5-3.9v-2l-.1-2.5.3.9.4.7 3.6 4.2 1-.7 2.1 4zm-13.5-6.1s2.8 4.8 5.3 7.5a17 17 0 0 0 5.6 3.9l-8.4-9.9zm21.2 2.8a12 12 0 0 1-3-3.4c-1-1.6-1.9-4-1.8-5l.4-3.4s2.8 3 3.4 4.3c.5 1.4 1.7 3.3 1.4 3.5-.2.2-2.1-1.3-2.4-1s2.3 4.8 2 5m3.2-3c-.3.1-1.8-1.6-2.1-2.6l-.6-3.2-1.2-3v-3.3l1.4-.2 1.9 2.7s.7 1.5.7 3.7.3 5.6 0 5.8zm-22.5 8a42 42 0 0 1-4-6l-1-2.9.5.4s.8 3.2 4.7 7.1c4 4 4.9 4.2 4.9 4.2s.7 2.2.4 3c0 0-2.9-2.6-5.5-5.7z"/> + <path fill="#202020" d="M313.6 235.9s-3.4-3-6-6.4a47 47 0 0 1-4.4-6.6l1.2-1a46 46 0 0 0 9.2 14m4.7-1-6-6.1c-2-2.2-3-4.4-3-4.4l1.6.6s.7 1.7 2 3.5zm-.8-7s-2.1-2.6-3.1-4.2l-2-3.8s2.8 3.3 3.6 3.5.9 0 .9 0-.4 1.2-.1 2.2zm.9-10.6s.3 1.9.1 3c-.2 1-.8 1-.8 1a16 16 0 0 0 4 4l-1.8-2.7c-.5-1-1.3-2-1-2.8.4-1 2.1.6 2.6 1l2.6 2.8s-.8-2.5-1.8-3.4z"/> + <path fill="#202020" d="m327 222.8-1.7-4.2-1.6-5.2v2.8c-.1 1.2-.5 3-1 3.3s-.7.3-1.7 0 .7.5.7.5 1 0 1.4-.5.5-1.5 1-1.4 1 1.7 1.3 2.4z"/> + <path fill="#202020" d="M323.7 213.4s2 2.3 3 1.3c.8-1 .3-4 .3-4s1.2.5 1.6.2c.4-.4.2-1.5.2-1.5s2.3 3.2 3.3 5.3c1.1 2 1.6 5.8 1.6 5.8s-1.8-3-2.7-5.8c-.9-2.6-2.1-3.8-2.3-3.5a5 5 0 0 0-.3 3c.2 1 1 2.1 1.5 3.5l1.1 3.4-1.6-2.5q-1-1.1-1.7-1.6c-.4-.4-1-1.2-1.7-1.4-.6-.3-1.8-.9-1.8-.4s-.3-1-.3-1z"/> + <path fill="#171717" d="M316.8 223.3a27 27 0 0 0 4.2 6.3s-2-1.8-2.8-3a16 16 0 0 1-1.4-3.3"/> + <path fill="#8f4620" d="M330.2 223.9c-.3 0-1.3-.3-1.4 0 0 .4.6 1.8 1.3 2.5q1 .9 1.1.6.2-.2-.2-1.4v-1.7c-.1-.3-.8 0-.8 0"/> + <path fill="#d2a567" d="m306 209.4-1.3.7-1.4 3 .4 5.3 2.1 3c.8 1.2 3.5 4.2 4.2 4s1.4-2.3 1.5-3.4l.2-3.2 1.8 2.3c1.1 1.3 2 2.4 2.6 2.3.5 0 2-3.2 2-3.6.1-.4-3.8-10-3.8-10l-1.8-1-6.6.6z"/> + <path fill="#ab6d29" d="m314.8 217.4 1 3.7c.5 1.2 0 2.3.3 2.3s2.3-2.7 2.3-4 0-2.5-.5-6.3.2-5 .2-5l-1.2-1-2 4.2zm-7-2.2.7 5c.3 1.2 1 3.3 1.4 3.2s1.6-3.3 1.7-4.4c0 0-.9-1.6-.8-5.5 0-4-.4-4.4-.4-4.4z"/> + <path fill="#45392d" d="M302.5 207.5s-3.1 4.6-3 7c0 2.5.4 2 1.1 4.2s1.1 5.6 1.2 5.9c0 .2.5-.2.5-.5z"/> + <path fill="#ab6d29" d="M302.5 208s-2.7 4.3-2.5 6.6.5 2.3 1.3 4.4c.8 2 .8 5.4.8 5.4s1-.2 1.9-.9c1-.7 1.8-2.1 1.8-2.1l-1-2.1-.6-2-.8-1 .2-4.1.7-3v-1l-1.8-.1z"/> + <path fill="#dbad6c" d="M317.2 215.3s-1.3-.3-1.9-.6-.8-1.1-.8-1.1l.4-.8z"/> + <path fill="#d2a567" d="M303 208.5s-2 4.3-1.7 7.2 1.9 6.6 2 6.7l.1-1v-8.7l.9-2.8v-1.5z"/> + <path fill="#8f4620" d="M307.8 209.5s.3 1.2.1 1.8c-.2.5-1.2 1.2-1.6 2s-1 2.8-1 2.8.4-1.1 1-1.8q1-1.2 1-.8c.2.4.4 2 .3 2.3q-.4.3-1 2c-.4 1.3 0 2.4 0 2.4l.5-2.2c.2-.6.7-1 .7-1l1 2.4s0-1.1.3-2c.1-.8 1-2 1.3-2s.8-.1-.3-.7c-.4-.2-.1-4.2.1-4.4s1.9-.2 1.7-.8l-1.6-2.2c-.1-.1-2.5 2.2-2.5 2.2"/> + <path fill="#dbad6c" d="m317 218.1-1.5-.3c-.5 0-.6-.6-.6-.6l.2-.6 1.2.7z"/> + <path fill="#8f4620" d="m304.4 218.6-.5 1.5c-.3.7-.4 1.6-.4 1.6l-.4-3.3-.3-2.4c-.2 0-.7.7-.7.7s0-1.6.3-2.3.5-1.8.3-2q-.6 0-1 .7l-.8 1.3s.3-1.3.6-1.9 1.8-2.2 2-2.8q.5-1.2.4-1.4h1s1 .8 1 1.5c0 .4-1 .9-1 1s-.8-.1-1 3.2.6 3.2.5 4.6m9.4-8.7s.2 1.8 0 2.4l-1.1 1.8c-.4.7-.4 2.4-.4 2.4l.5-1.4.7-1q.3.1.8 1.7l.8 2.5s-.2-1.2.1-1.2.5-.1.9.2l.9.8s0-.5-.7-1.1-1-.6-1.1-1.5q-.3-1.6-.2-2.2c0-.3.5.3.9.7l1.5 1.4-.7-1v-3q-.1-1.7.4-2.1c.3-.3.4-1.6.2-1.8-.1-.2-3.5 2.4-3.5 2.4"/> + <path fill="#1e2121" d="M324.6 206.1a24 24 0 0 0 1.5 7.1s-1-2-1.6-3.6-.9-3.5-1.3-3.6-1 .8-1 1.5.5 3.3 1.1 4.2-1-1.2-1.3-2.3l-.7-2.2s-.4 1-.3 2c.2 1.1 1.1 2.7 1.1 2.7l-1-1-.6-.7s0 1.5.4 2.1l1.2 1.7-1.3-1-.4-.8s.2 2.1.6 3.3l1.5 3s-1.2-1-2-2.9-1.2-7.3-1-8.1l1.1-1.9c.6-.8 1.3-4.7 1.3-4.7s.9 3.6 1.5 4.3q1 1 1.2 1zm-8.6-1 .8 1.3.6 1s-1 1.1-2.3 2c-1.2 1-2.8 2-3.1 1.5q-.5-.9-.4-1c.1-.1 1.4-.8 2.4-1.8a7 7 0 0 0 1.6-2.2l.5-.9zm-10.9 3.5s.2 2.2 1.2 2.2 3.7-2.9 3.9-3 .4-.8.4-1l-.2-.8s-3 3-4 3.2c-.9 0-1.3-.6-1.3-.6m.1-3-.3 2 .2.9c.1.1-2.2.7-2.5 0-.4-.6-.1-1.6-.1-1.6h1.5c.6-.2 1.2-1.3 1.2-1.3m20.3-3.1 1.5 3.2 1.4 2.8s-1.4-1.7-1.9-2l-1.2-1 .2-1.1z"/> + <path fill="#dbad6c" d="M302.1 207h1.3l.8-.2.9-1.2s-.5 1.4-.2 2.5c.3 1 1 1.1 1.2 1.1a4 4 0 0 0 2.2-1.1c.9-1 2.1-1.9 2.1-1.9s-.3 1.3.2 2.7q.7 1.8 2.2.4c1-.8 2-2.2 2.6-2.8l.7-1 1.1-1 1-5.4-.5-.7-1.4.7-1.7-.7-.5-.7-1 1.7-1 .6-.5.1-1.2.3-.5-1.1-.3-.8-.6-.3-2.4 2.5-1.4-.1-1.3 2.2-1 1.3-1 2.4z"/> + <path fill="#8f4620" d="M313.9 201.5s.2 1.3-.5 3.6-1.6 3.9-1.6 3.9 2.4-1.5 3.6-4.2c1.1-2.6.9-5.7.9-5.7zm3-2.5s.2.4 0 2.4l-.8 4 .6 1.2c.4.7 1.2 1.8 1.7 1.6s1.6-.9 2.2-2.2 1.1-2.7 1.4-2.9q.3-.1.4.2c0 .1.3 1.3.9 1.8.5.5 1.3 1.3 1.6 1 .4-.2.8-.9.7-1.2l-1.3-4-1.6-4-1-1.6-2.8.3z"/> + <path fill="#ab6d29" d="M321.7 195.3s.8 1.7.9 3.6c0 1.8-.4 3.8-.4 3.8s.2-2.3 0-3.7l-.7-2.7z"/> + <path fill="#4d2a15" d="M325.6 202.6v2.3c-.2.8-1.3-.5-2-3s-.5-3-1-4.3l-.9-2.2 1.5-.3zm-7 4.6s2.8-1.5 3.1-6.2c.2-2.1-1.2-5.7-1.2-5.7s0 3.8-1 6.2l-1.9 4s.7-.2 1-.6l.8-1.1s.1.7-.1 1.6l-.6 1.8zm-2.3-8.1s-.1 1-1.3 2c-1 .9-3.1 1.9-3.1 1.9s1.5-1.4 2-2.6.1-2 .1-2-.2.6-.8 1.1-1.6.6-1.6.6 0-.6.7-1.3l.2-.7c.3-1 1.1-2.3 1.1-2.3s.7 1.4 1.3 2z"/> + <path fill="#1e2121" d="M324.7 193.6a18 18 0 0 0 .9 9s-1.4-2.2-1.7-3c-.4-1-.4-2.3-.7-3l-1-1c-.3-.2-1-.1-1-.1s.8-.4.8-1.1v-1l1.4.3h1.3zm-6 9.8s1.4-2 1.8-4.6 0-3.5 0-3.5-.6 0-1.1-.5-1.3-1.8-1.3-1.8.2 1.4 0 3c-.4 1.6-1.8 3-1.8 3s.8.4 1.4 0c1.5-.9 1.4-2.5 1.4-2.5s.3.2.3 2.2-.7 4.7-.7 4.7"/> + <path fill="#8f4620" d="M301.2 206.9c-.3 0 1-2 1.8-3.4l2.1-3.4s.3.3.8.3a4 4 0 0 0 2.4-1.7 7 7 0 0 0 1-2.5c0-.3-.1 1.8 1 3 1 1.1.9 1 1.3 1 0 0 0 1.4-.4 2.7l-.8 3.3s.2-2.5-.3-3.2-.6 0-1 1c-.3.9-1.1 1.5-1.1 1.5s.6-1.1 1-2.3.2-1.2 0-1.2q0-.2-.6.4-.8.7-.9.6c-.1-.1.5-.4.7-1l1-1.8q.4-.5.4-1t-.2-.7-1.4 1.2l-1.3 1.3-.9 2.6-1 2.8-.6.4.9-2.4 1-3.4q-.5-.5-.8 0l-2 2.8c-1 1.4-1 3.1-1.2 3.2l-1-.1z"/> + <path fill="#874f20" d="M325.7 192.1c0 .2 0 1.2-1 1.5a4 4 0 0 1-2.3-.2c-.2 0-.2-1.4-.2-1.4z"/> + <path fill="#b27129" d="M306 195.4s-.2.9-.8 2c-.5 1.2-1.4 2.2-1.3 2.4s.6.7 1.4.6 1.1-4.8 1.1-4.8l-.1-.2z"/> + <path fill="#dbad6c" d="M318.4 192.7s-.3 6.4-2.1 6.4-2.7-3.2-2.7-3.2-.1 4.3-2.4 4.3c-1 0-2.1-3.4-1.9-4 0 0-.4 2.3-1.5 3.2-2.2 1.7-3.5.9-3.6.6 0-.3 1.8-2 2-4.6 0 0 .4.1 1-.6s.7-1.6 1.3-1.5c.5.2 3-1 3-1l1.4-1.7s.2.5 1.2-.2a4 4 0 0 0 1.3-1.7l2.7 2.3z"/> + <path fill="#b27129" d="m311.4 186.6 2.7 3.8.6-.5q.7.8.4 1.2c-.4 1-1.3 2.3-.5 3.7 0 0-.3-.8.1-1.8s.7-1.4 1-1.3c.2 0 .6 5.8 1 5.8.3 0 .9-2.7.9-4.5s.3-.3.5 0c.2.4 1.8 3 3.1 2.6s1.2-2.8 1.2-3.3-1-3.7-1-3.7l-6.1-3.9-.5 1.6c-.3 1-3.4.3-3.4.3"/> + <path fill="#8f4620" d="M320 186s.4.4 1 1.9.7 6.4-.1 6.4-2.3-1-2.6-1.6 0-3.1-.4-3.8a8 8 0 0 1-1.2-2.7l.1-2 1.4-.5z"/> + <path fill="#4d2a15" d="m319.6 184.5 2.6 3.9 2.3 3.3 1.2.4a2.5 2.5 0 0 1-3.2.5c-.9-.5-.4-2-1.5-4.5s-3.2-3.6-3.2-3.6l.7-.7z"/> + <path fill="#1e2121" d="M318.2 182.4s2.3 1.5 3.1 3.2 1.3 2.7 2.3 4.3 2.1 2.1 2 2.2c0 .1-.7.3-1.2 0a5 5 0 0 1-1.4-1.6l-2.4-4.2c-.5-.7-2.3-2-2.3-1.9s.5.5 1.5 2.1a7 7 0 0 1 1.2 3.1l-1.1-2c-1-1.5-2.8-3.3-2.9-3s1 1.9 1.5 2.9l1.3 3.3-1.8-3c-1-1.5-1.2-1.3-1.6-1.8l-1.4-1.8s1 .3 1.8-.3c1-.6 1.4-1.5 1.4-1.5"/> + <path fill="#8f4620" d="M312.3 186.7s1.5.3 2.3.2h1.1s.5.6.5 1.4-.5 2.1-.8 2.2c-.2 0-.2-1.3-.5-1.8z"/> + <path fill="#b27129" d="M313.1 190.6s.5 1.6.1 3.9-1.7 4.6-2 4.6-.2-2.6-.4-4v-.4l-.5 1.6.4-2.6-.1-.8 1.6-2z"/> + <path fill="#8f4620" d="M310.3 192.3c-.5.5-1.2.4-1.8.6s-.9 1-.9 1 .5-.3.7-.2c.3.1.5.1.1 1.2s-2.2 3-2.1 3c0 0 2-1.5 2.5-2.5.7-.9.6-1.4.8-1.8 0-.3.8-.7 1-.7q.3-.2.6.7l.6 2.6.8-2.6c.2-1 .2-2.9.2-2.9l-.6-.1c-.5-.1-1.5-1-1.5-1s.2 2-.5 2.7z"/> + <path fill="#dbad6c" d="M318.3 180.8s.6 1.5-.7 2.6q-.5.5-1.4.6l-1.7-.6-4-1.6-2-.6-1-.3.2-1.1h3l3 1.2 1.3.5 1.1.2h.9l.7-.2.4-.3z"/> + <path fill="#ab6d29" d="M318.3 180.8c0 .3-.3 1.1-.6 1.3-.3 0-.8.3-2 0s-2.3-1-3.6-1.3q-1.9-.6-3.3-.7c-1.4-.1-.5-.4-.5-.4s2.3-.3 4.3.5c2 .7 2.9 1.2 4 1.2 1.4 0 1.7-.6 1.7-.6"/> + <path fill="#4d2a15" d="M307.6 179.6h.9l.7-.3c.1-.1 0 .5-.2.7s-1 .1-1.2.1z"/> + <path fill="#dbad6c" d="M315.3 184.4s1.3 1.3 1 2.4l-2.7-1.2-4.2-1.7-2.3-.7-.3-.4.6-.8.2-.8 2.8.4 3 1z"/> + <path fill="#dbad6c" d="M312.4 186.3s2.4 3.1 1.8 4.1l-5.6-3.5-2 3.3-4.7-2.3s3.8-3 4.2-3.5l.5-.7 2 .4 3.4 1z"/> + <path fill="#ab6d29" d="M311 181.6s2 .5 3.3 1.2 3 .8 3 .8-.6.7-2 .8c-.4 0-1.4-.8-2-1.3s-2.6-1-2.6-1z"/> + <path fill="#4d2a15" d="M307.6 180.6s1.4.3 2.2.7c1 .3 1 .2 1.2.1q.4-.1.3-.2c-.1-.1.2 1-.5 1s-1-.3-1.8-.7c-1-.4-1.5 0-1.5 0v-1z"/> + <path fill="#ab6d29" d="M315.4 186s1 .7.9.9l-1.6.4a3 3 0 0 1-2-.4c-.6-.2-1-1.3-2.5-2l-2.8-.9-1.3-.2 1-.4 3.2.6 2.8.9 1.7.8.6.4zm-5.4 2 .6 2.6-.4 1.5-.8.6-.8-.3-.3-.5s.4-.6 0-1.1c-.3-.6-2-1.2-2-1.2s.7-1.3 1.4-1.6c.8-.3.4-1.2.4-1.2z"/> + <path fill="#4d2a15" d="M306.8 182.8s.5.4 1.5.5q.8 0 2.2.5l1-.3-.5.4c.9.2 2 .7 2.5.9a6 6 0 0 1 2 1.3l-2-1-3-.9c-2-.3-4-.2-4.3-.4-.4 0 .1-.1.4-.3.2-.2.2-.7.2-.7"/> + <path fill="#ab6d29" d="M314 189.8s.7.7 0 .9-2.4.2-3.2-.7l-.6-1.2-2.4-1.7c-.7-.5.3-.5.3-.5l3.6 1.5z"/> + <path fill="#4d2a15" d="M314 189.9s-1.2-1.8-4.9-3.3l1.2-.2h-2l-.8-.3c-2-.6-2-.6-2.2-.8q-.2-.3-.6.3l-.7 1a5 5 0 0 1 2.5-.1c1.1.3 1 .7 1 1-.1.5-1.4 2-1.3 2.1.2 0 1-1.5 2-1.3q1.3.6 1.2.8c-.1.2 0-.6-.2-.8s-1.3-1.3-1-1.3q.6 0 3.3 1.2c1.8.9 2 1.1 2.6 1.7z"/> + <path fill="#dbad6c" d="M308.1 187s2.8.8 2.7 3.8-2.3 2.4-2.5 1.3.3.5 1 .4q1.2-.3 1-2.2 0-1.4-1-2.2l-1.2-1z"/> + <path fill="#6c3f18" d="M296 179.9s.4.2-.4 2.3-1.3 2.8-2.5 4.2c-2.2 2.4-3.2 2.5-3 3.5s1.1.8 1.3.8 4.3-6 4.3-6l.9-3.5-.2-1-.3-.3z"/> + <path fill="#dbad6c" d="M306.1 175.6s1.2 1.8.8 5c-.3 3.4-4.7 6.3-4.7 6.3l-6.4 4.4-2.7-.2h-.8l-.9-.5-.5-1.2.9-1 2.3-2.3 1.4-2s.7-1.3.8-2.5l-.2-1.7.5.8.3 1.8-.2 2 1.6-1.2 2.2-1s.7 0 1-1.3c.5-1.2.9-3 .9-3.8l-.1-1.8h.3c.2 0 .7 1.2.7 1.7l.4 2.8 1-1 1-1.5z"/> + <path fill="#904720" d="M306.8 192.2s.5.4.3 1.6-1.1 1.8-1.6 1.8V194l-1.4-1.2-1.5-.4.3-.3c.1-.2 1.7-.8 1.7-.8z"/> + <path fill="#ab6d29" d="M305.7 192.2s.5.4 1.2.3 1-1.3.6-1.8-.2 1-.7 1.3c-.4.1-1-1.2-1.5-1.3-.7-.1-1.6.3-1.9.7s1 0 1 0l.7.3h.5z"/> + <path fill="#904720" d="M296.5 187.6s.8.3 1.7.1l3.1-1 1.8-1.3c.7-.7 3.1-2.2 3.4-5.1.2-3-.4-4.7-.4-4.7s3.5 3.8.5 8.2c-2 2.8-3.8 3.7-3.8 3.7s3.4-1 3.7-.2-.1 2-.2 2.3c0 0 1.9.4 2.2 1.4.1.6-2.2-.7-4-.2s-2.5 1.4-2.5 1.4-.4-.5-2-.5c-1.5 0-2.2.7-3.1.7-1 0-3.7-.6-4.2-1.4l1.8-2.2c.8-1.6 2-1.2 2-1.2"/> + <path fill="#ab6d29" d="M303.8 179.7s1.3-1.3 1.8-2.3l.5-1.8c0-.2.2 1-.6 2.3s-1.7 2-1.7 2z"/> + <path fill="#904720" d="M303.4 176.7s1.1 4.4 0 6.1c-1.3 1.8-6.5 4.1-6.5 4.1s4-2.1 5.2-4.6 1.1-4.5 1.1-4.5z"/> + <path fill="#1e2121" d="M298.2 187.7s1.7 0 2.6-.6l2.3-1.7s-1.2 1-1.6 1q-.6-.1-.5-.9s-.3.8-1 1.4c-.8.5-1.8.8-1.8.8m3.9-5.4s1.4-1.4 1.4-4.4-1.2-2.5-1.2-2.5 1 .7.7 3c-.2 2.3-1 4-1 4zm1.7.3s1.6-.3 2.1-1.3.6-2.7.6-2.7-.2 1.7-.7 2.3-2 1.7-2 1.7m-1 9.5s.8-1.5 1.9-1.1 1 1.2 1 1.2-.4-.6-1.2-.7-1.6.6-1.6.6zm-2.9-2.7 3.7-1 3-1s-1.2 1.3-3 2.3c-1.6 1-3 1-3 1s3.2-1.4 3.4-2c0 0-3 .9-4 .7z"/> + <path fill="#fff" d="M296.2 185.8a2.6 2.7 67.8 0 1-3 4.4"/> + <path fill="#f16e16" d="M296.1 186.1a2.3 2.4 67.8 0 1-2.7 3.8"/> + <path d="M295 187.4a1 1 0 1 1-.8 1.4"/> + <path fill="#d5d3ca" d="M295.2 188.6a.3.3 0 1 1-.6-.1l.3-.3a.3.3 0 0 1 .3.4"/> + <path fill="#ab6d29" d="M296.8 184.2s1.6-1.5 1.9-3.5q.3-3.1.1-3.2l.9 1 .3 1.4-.5 2.6 1.6-.8c.6-.8 1.5-4.2 1.2-6.3 0 0 .4 1-.2 3.8-.6 2.9-1 3.2-3.2 4.4a10 10 0 0 0-3.8 4.2l-2.3 3 1.6-2.6c.8-1.8 1.7-2.8 1.7-2.8z"/> + <path fill="#904720" d="M296.1 185.4s.7-2 .7-3.1-.7-2.4-.7-2.4 1-.1 1 2.2c.1 2.4-.4 2.6-1 3.3"/> + <path fill="#4d2a15" d="M299.2 182.8s.7-1.7.7-3c0-1.1-1-2.3-1-2.3s1.1.3 1.2 2.4c.1 2.2-.2 2.2-1 3z"/> + <path fill="#ab6d29" d="M292.1 191s-.6-.8-.5-1.3 0-.7 1.4-2.2a13 13 0 0 0 2.5-3c.3-.9 1.5-3 .6-4.6 0 0 .6 2.4-.8 4.3a16 16 0 0 1-3.3 3.7q-1.5 1-1.2 1.7 0 .9.3 1c.4.3 1 .3 1 .3z"/> + <path fill="#6c4119" d="M305.5 195.6s.3 0 .5-.3.2-1-.3-1.6a3 3 0 0 0-1.7-1.1l-2-.4s.4.8 1.3 1.3c.4.2 1.2 0 1.6.4s.6 1.7.6 1.7"/> + <path fill="#6c4119" d="M305.5 195.6s1.5-.5 1.6-2l-.1-1.2s.2.5.8.7l.6-.2s-1 2.8-3 2.7z"/> + <path fill="#bf802d" d="m294.8 195.3.8.8.9 1 3.7-1 1.2-1.2-1-1.6h-2.7l-3 2z"/> + <path fill="#f9c83a" stroke="#8f4620" stroke-width=".4" d="m303.8 194-.7-.9-.7-.6c-.6-.3-2.8-.3-2.8-.3l-1.6.3s-.5.5-1.3.3l-2.6-1-1.9-.7s-1.3-.6-1.6-.5-1.5 1.3-1.5 1.3-.2.7.3.7-.7.2-.7.2-2.8 1.6-3.2 4.4c-.5 2.7 4.6 6.8 6.5 4.7 0 0-2.8-2-2.2-3.7q.7-2.6 4-3c2.1 0 2.3-.3 3.2-1s2.7-1 4 .3-5 2.7-5 2.7l.7 1s7.7-2.7 7-4.1z"/> + <path fill="#fcf3d8" d="M289.4 200.7s-3.1-.8-2.9-3.7c.3-2.8 3-3.9 3.4-4s.3-1.6.8-1.8a2 2 0 0 1 2 .5l1.4.8s-5.5 2.4-5.5 5.6c0 2.1.8 2.5.8 2.5z"/> + <path fill="#fdeaaf" d="M303.8 193.8s-.4.2-.5 0c-.6-1-2-1.4-3-1.3-1.5 0-2.4.5-3.4.5s-.7-.1-1.8-.2c-1.1 0-3.5-1.8-4-1.6q-.9.5-.8 1.1c.1.4-1 .4-1 .1-.2-.2.7-1.7 1.7-1.7 2.6 0 4.6 1.7 5.8 1.7s1.7-.7 3.4-.7 3.5.8 3.6 2z"/> + <path fill="#513625" d="M295.2 195.8s1.3-.2 2.2-.6l2.2-.8-2 1.2-2 .5z"/> + <path fill="#f9c83a" d="M290.8 202.3c-.2 0-1.3 0-3-1.1-1.8-1.2-2.3-3.2-2.3-3.2s-.4-1.9 1.4-3.8 2.1-1.3 2.2-1.2v.1l-1.7 1.3-.7 1.3-.7 1.2v1.4l.8 1.5 2.5 1.5z"/> + <path fill="#8b5122" d="M289.8 191.4v-.2.3-.3.3-.3l-.3.2h.2v-.2l-.2.2.2-.2h-.2v.2l.2-.2h-.2.2-.2.2-.2.2l-.2-.1.2.1-.2-.1-.1.1-.4.5-.2.6v.1q0 .5.4.6h1.4l.1-.4-.3-.2-.7.1h-.3v-.4l.3-.5zl.1-.2-.3-.2-.2.3.3.2z"/> + <path fill="#f9c83a" d="m295.1 194.1-3.8 1.1c-.3.2 1.2 0 2.4 0l1.3.1.9-.2c1.4-.5 4.4-1.6 4.7-.3.2 1-4.1 2-4.1 2v.5l3.4-.9 1.9-1 .5-.9-1.7-1.2H298l-1.2.3z"/> + <path fill="#8f4620" d="M289.7 199.5c.3.8.9 2 1.6 2.3 0 .1-.5.5-1.7.1-1.2-.3-3-.7-4.1-4v.7l.7 1.3 1.1 1.2 1.9 1.1 1.2.3 1-.2.6-.4-1.1-1-1.4-2.3z"/> + <path fill="#fcca3d" d="M302.1 232.6v1.2h-.7v-1.5zm-4.7-34.4-1.2-1.4-.8.1 1.2 1.8z"/> + <path fill="#816c2a" d="m302 235.5-1.7-1-2.4-.6v.3h.2l2.1.6 1.7 1zm0-3.1h-3l-1.3.7.1.2a4 4 0 0 1 2.6-.7l1.4.1v-.3zm-.4-2.7-2.6 1.4-1.6 1.2.2.2.5-.4 2.6-1.6 1-.5zm-1.7-2.7s0 .7-.3 1.2l-.6.8-2.5 2.6.2.3 2.5-2.7.7-.8q.4-1 .3-1.4zm-2.1-1.2a4 4 0 0 1-.2 2.2l-1 2.2-.4.9-.2.3.2.2s1.3-2.2 1.7-3.5q.3-.7.2-1.5v-.9zm-2.1-.3v1.2q0 1-.2 1.7l-.7 1.8-.3 1 .3.1 1-2.8q.3-.8.2-1.8v-1.2zm-1.6 0v1.2l-.3 2-.5 2.5h.3l.2-.8.3-1.7c.3-1 .3-3.2.3-3.2zm-1.8.3v2.9l-.4 2.5h.3l.4-2.4.1-1.4v-1.6zm-1.3.2v.2l-.3 2.2-.6 1.9-.2 1h.3l.8-2.9.3-2.2v-.2zm-1.6 0v.7q.1 1-.4 2l-1.3 1.6-.7.4-.2.2.1.3s1.7-1 2.4-2.3q.5-1.2.5-2.2v-.7zm-.9-.3v.2l-1 1.9-1.3 1.1-.8.5.2.3s1.4-.8 2.1-1.7l1.1-2.2h-.3zm-1.5-.7v.1l-1 1.3q-.2.3-.9.6l-.6.4.1.3.7-.4 1-.7.7-.9.3-.6zm-.7-1-.3.3-.9 1-.5.4-.4.3.1.3.7-.4c.7-.6 1.5-1.7 1.5-1.7zm-.4-.6-.2.2-.9.6-.8.3v.4l.6-.3c.7-.3 1.5-1 1.5-1zm-.2-.7-.8.4-.6.3-.4.2v.3q.3 0 .5-.2l1.4-.7zm-.4-1.3-.5.5-.9.3v.3a2 2 0 0 0 1.2-.5l.5-.4zm.1-2.2-.6.5q-.5.4-.7 1h-.1v.5l.2-.2.2-.2q.1-.4.7-.9l.5-.5zm10.7-12.8h1.6l.1-.2v-.1h-.1v.3-.1h-.2.1-.1v-.2l.1.1v-.1.1-.1h-1.5zm0-1h.2l.6-.2q.6-.2 1-.6l.5-.3h.3v-.4l-.6.2-1 .7-.8.3zm0-1.5.7-.2 1.2-.8q.6-.4 1-.4v-.3l-.8.2-1.2.7-1 .5v.3zm-.6-1.4 1.5-1 1.6-1.2-.1-.3-1.7 1.2q-.8.8-1.5 1l.2.4zm-1-1.5 3.2-2.3-.2-.3-3.2 2.3zm-1.5-1.6a21 21 0 0 1 3.4-2.3l-.2-.2-1.5 1-1.9 1.3zm-1-1 2.6-1.8.8-.5-.1-.3-.8.5-2.7 2z"/> + <path fill="#78732e" d="m294.5 195.4.1.1 2.5 2.5q1.6 1.9 1.8 4.1v.5a10 10 0 0 1-2.5 5c-2 2.3-4.8 4.4-7 6.4a18 18 0 0 0-3 3.1 6 6 0 0 0-1.2 3.7 6 6 0 0 0 1.1 3.4 4 4 0 0 0 3.9 2c1.8 0 3.8-.7 5.6-.7q2.4-.2 4.4 1.9c1.3 1.4 1.7 3.6 1.7 5.7q0 2.4-.4 4.2l-.4 1.8h.3s.8-2.8.8-6c0-2.1-.4-4.5-1.8-6a6 6 0 0 0-4.6-1.9c-1.9 0-3.9.6-5.6.6a4 4 0 0 1-3.6-1.8 6 6 0 0 1-1-3.3v-.1q0-2.4 1.9-4.3c1.8-2 4.5-4 7-6.2 2.3-2.2 4.4-4.5 4.7-7.5v-.5c0-1.8-1.1-3.5-2.3-4.8l-2.3-2.2z"/> + <path fill="#a8ac71" d="m292.1 198.4-.4-.3-.3.1.6.5zm1 1-.3-.3h-.1l.2.4z"/> + <path fill="#78732e" d="m294.5 201-.2-.4-.2.2zm1 1.5-.1-.3h-.3l.4.5zm.7 1.5-.2-.4v.4zm0 1.5v-.4l-.2-.1v.5zm0 1v-.5l-.1-.1v.6zM284 221.1l.1-.7c.1-.3-.3.1-.3.1v.5z"/> + <path fill="#fff" d="m284 222.1-.3.1.1.5.1-.2z"/> + <path fill="#78732e" d="M284 223.9v-.4h-.2v.6z"/> + <path fill="#fff" d="M284 224.9v-.4h-.1v.4zm.3 1.4v-.4l-.2.1zm.4 1.4-.1-.5h-.2l.2.6z"/> + <path fill="#a8ac71" d="m285.6 229.7-.2-.3h-.2zm1.5 1.4-.5-.3c-.3-.3-.1.2-.1.2l.4.2zm9.8.8-.4-.3q-.2-.1.2.4c.1.3.2-.1.2-.1"/> + <path fill="#fff" d="m297.7 232.5-.3-.3v.3h.2z"/> + <path fill="#a8ac71" d="M297.9 233q-.2-.1-.2.1l.2.3zm0 1.3v-.5q0-.1-.1 0v.5z"/> + <path fill="#fff" d="m297.4 235.7.2-.4h-.2zm-14.8-52s.5-.2.1.4l.3-.5h-.5z"/> + <path fill="#f9c83a" d="m294.6 195 .4.3h-.5z"/> + <path fill="#8f4620" d="m295 195.3-.7.1c-.2 0 .2-.2.2-.2l.4.1z"/> + <path fill="#977c2e" d="M301 239.1s.3 0 .5-.3-.1.4-.1.4l-.3.1-.2-.2z"/> +</svg> diff --git a/apps/web/public/flags/my.svg b/apps/web/public/flags/my.svg new file mode 100644 index 00000000..115f864d --- /dev/null +++ b/apps/web/public/flags/my.svg @@ -0,0 +1,26 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-my" viewBox="0 0 640 480"> + <g clip-path="url(#my-a)"> + <path fill="#C00" d="M0 0h640v480H0z"/> + <path fill="#C00" d="M0 0h640v34.3H0z"/> + <path fill="#fff" d="M0 34.3h640v34.3H0z"/> + <path fill="#C00" d="M0 68.6h640v34.3H0z"/> + <path fill="#fff" d="M0 102.9h640V137H0z"/> + <path fill="#C00" d="M0 137.1h640v34.3H0z"/> + <path fill="#fff" d="M0 171.4h640v34.3H0z"/> + <path fill="#C00" d="M0 205.7h640V240H0z"/> + <path fill="#fff" d="M0 240h640v34.3H0z"/> + <path fill="#C00" d="M0 274.3h640v34.3H0z"/> + <path fill="#fff" d="M0 308.6h640v34.3H0z"/> + <path fill="#C00" d="M0 342.9h640V377H0z"/> + <path fill="#fff" d="M0 377.1h640v34.3H0z"/> + <path fill="#C00" d="M0 411.4h640v34.3H0z"/> + <path fill="#fff" d="M0 445.7h640V480H0z"/> + <path fill="#006" d="M0 .5h320v274.3H0z"/> + <path fill="#FC0" d="m207.5 73.8 6 40.7 23-34-12.4 39.2 35.5-20.8-28.1 30 41-3.2-38.3 14.8 38.3 14.8-41-3.2 28.1 30-35.5-20.8 12.3 39.3-23-34.1-6 40.7-5.9-40.7-23 34 12.4-39.2-35.5 20.8 28-30-41 3.2 38.4-14.8-38.3-14.8 41 3.2-28.1-30 35.5 20.8-12.4-39.3 23 34.1zm-33.3 1.7a71 71 0 0 0-100 65 71 71 0 0 0 100 65 80 80 0 0 1-83.2 6.2 80 80 0 0 1-43.4-71.2 80 80 0 0 1 126.6-65"/> + </g> + <defs> + <clipPath id="my-a"> + <path fill="#fff" d="M0 0h640v480H0z"/> + </clipPath> + </defs> +</svg> diff --git a/apps/web/public/flags/mz.svg b/apps/web/public/flags/mz.svg new file mode 100644 index 00000000..0f94c3a1 --- /dev/null +++ b/apps/web/public/flags/mz.svg @@ -0,0 +1,21 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-mz" viewBox="0 0 640 480"> + <defs> + <clipPath id="mz-a"> + <path fill-opacity=".7" d="M0 0h682.7v512H0z"/> + </clipPath> + </defs> + <g clip-path="url(#mz-a)" transform="scale(.9375)"> + <path fill="#009a00" fill-rule="evenodd" d="M0 0h768v160H0z"/> + <path fill="#fff" fill-rule="evenodd" d="M0 160h768v16H0z"/> + <path fill="#000001" fill-rule="evenodd" d="M0 176h768v160H0z"/> + <path fill="#fff" fill-rule="evenodd" d="M0 336h768v16H0z"/> + <path fill="#ffca00" fill-rule="evenodd" d="M0 352h768v160H0z"/> + <path fill="red" fill-rule="evenodd" d="M0 0v512l336-256z"/> + <path fill="#ffca00" fill-rule="evenodd" d="m198.5 333-51.2-37.5L96.1 333l19.9-60.3-51.5-37.1 63.5.2 19.3-60.4 19.4 60.5 63.5-.3-51.5 37.1z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M102.8 290.9h37c3 3.3 9.5 4.7 15.8 0 11.6-6.4 34 0 34 0l4.4-4.7-10.7-35.2-3.9-4.2s-8.3-5-24-3.3-21.2-.5-21.2-.5-13.7 1.6-17.6 3.6l-4.4 4.4z"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M110.3 281.8s35.2-4.4 45.4 9.1c-5.7 4-10.8 4.3-16.2.3.8-1.5 12.6-13.8 42.7-9.7"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="m148 246.6-.3 38.8m31.7-38.3L186 278"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="m117 246.6-3.7 16"/> + <path fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="m78.9 295.1 8.6 10.2q1.5.9 2.9 0l12.8-15.4 5.4-6.7q1.3-1.6 1-3l10.4-9.3 2.2.2c-1-.2-1.7-.7-1-1.8l2.4-1.8 1.8 2.3s-2.6 3.4-2.9 3.4h-2.8l-5.4 4.9 2.4 2 3.5 9.8 4.4-3.1-2.8-10 6.1-6.7-2.3-3.6 1.6-2s21.3 13.4 29.6 9.8c.2 0 .5-9.6.5-9.6s-22.2-2.3-22.7-6.7 5-5 5-5l-2.4-3.2.5-1.8 3.9 4.8 8.7-7.4 51.5 58.6c2.8-1.1 3.4-1.8 3.6-4.6L155 241.5l3.8-4.1c.8-.9 1-1.2 1-2.6l6-5.1a7 7 0 0 1 3.8 3L186 219c.4.4 1.7.8 2.6.4l26.9-25.9-29.3 20.7-1-.7c0-.9 1-1 0-2.6-1.2-1.4-2.9 1.3-3.1 1.3s-4.3-1.4-5.2-3.2l-.2 4.7-7.5 7-5.7-.3-8.2 8-1 3 1.3 2.7s-4.4 3.8-4.4 3.6c0-.3-.9-1.2-1-1.3l3.8-3.4.5-2.3-1.2-2c-.4.3-5.2 5.4-5.5 4.8l-14-15.5.8-2.9-8.7-9.5c-3.2-1.1-8.3-1.3-9.3 5.7-.8 1.6-7.4.2-7.4.2l-3.6.8L85.2 241l11.3 13.6 23.2-29.3.7-8.3 4.8 5.4q2.5.5 4.7-.5l13.7 15.3-2.3 2.3 2 2.2 2.4-1.6.9 1.3-3.1 2.1c-1.8-1.2-3.6-2.7-3.5-5l-7.7 6.4-.3 1.2-22.9 19-2 .3-.5 6 14.9-12.4v-1.8l1.5 1.3 11.6-9.3s.8 1 .5 1-10.3 9.3-10.3 9.3l-.2 1-1.8 1.6-1-.8-14 12.4h-2l-7.7 7.7c-2 .2-3.7.4-5.4 1.5z"/> + </g> +</svg> diff --git a/apps/web/public/flags/na.svg b/apps/web/public/flags/na.svg new file mode 100644 index 00000000..35b9f783 --- /dev/null +++ b/apps/web/public/flags/na.svg @@ -0,0 +1,16 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-na" viewBox="0 0 640 480"> + <defs> + <clipPath id="na-a"> + <path fill-opacity=".7" d="M0 0h640v480H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#na-a)"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#3662a2" d="m-26.4.2.8 345.6L512.5 0z"/> + <path fill="#38a100" d="M666.4 479.6 665 120.3 122.3 479.8l544-.2z"/> + <path fill="#c70000" d="m-26 371.8.4 108.2 117.5-.1L665.4 95.4l-.7-94.1-116-1L-26 371.7z"/> + <path fill="#ffe700" d="m219.6 172-21.8-13.2-12.6 22.1-12.2-22.2-22 12.9.6-25.4-25.4.2 13.2-21.8-22.1-12.5 22.2-12.3-12.8-22 25.4.6-.1-25.5 21.7 13.2L186.3 44l12.2 22.2 22-12.9-.6 25.4 25.4-.2-13.2 21.8 22.1 12.5-22.2 12.3 12.8 22-25.4-.6z"/> + <path fill="#3662a2" d="M232.4 112.4c0 25.6-20.9 46.3-46.6 46.3s-46.6-20.7-46.6-46.3 20.8-46.2 46.6-46.2 46.6 20.7 46.6 46.2"/> + <path fill="#ffe700" d="M222.3 112.4a36.5 36.5 0 1 1-73 0 36.5 36.5 0 0 1 73 0"/> + </g> +</svg> diff --git a/apps/web/public/flags/nc.svg b/apps/web/public/flags/nc.svg new file mode 100644 index 00000000..fa155516 --- /dev/null +++ b/apps/web/public/flags/nc.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-nc" viewBox="0 0 640 480"> + <path fill="#009543" d="M0 0h640v480H0z"/> + <path fill="#ed4135" d="M0 0h640v320H0z"/> + <path fill="#0035ad" d="M0 0h640v160H0z"/> + <circle cx="240" cy="240" r="157.3" fill="#fae600" stroke="#000" stroke-width="5.3"/> + <path stroke="#000" stroke-width="6.4" d="M213.3 263.5h53.3M213.3 224h53.3M240 83.2V352"/> + <path fill="#000001" d="M176.6 384.4c64.2 26.3 124.4 1.7 124.4 1.7s-22.7-24.6-34.3-34.2c-11.4-9.4-44.8-9-56.2 0a489 489 0 0 0-33.9 32.5"/> + <ellipse cx="240" cy="312.5" fill="#000001" rx="17.6" ry="25.6"/> + <ellipse cx="240" cy="243.7" fill="#000001" rx="21.3" ry="13.5"/> + <circle cx="240" cy="181.3" r="21.3" fill="#000001"/> + <path fill="#000001" d="M265.6 101.9s1.8 3-2 10c-18.6 33.5-37.3 34.2-40.8 37.1-4 3.2-5.6 3-5.6 3 .3-2.9.5-14.6.7-15.7 2.9-15.7 26.5-15.5 45-31.5 2.9-2.5 2.7-3 2.7-3zm-62.4 72s4.3 12 4.8 24c1 19.2 19.4 19.7 32 19.7v-10.7c-9.5 0-17.7-1.4-24.5-15.4a123 123 0 0 0-12.3-17.6m-.5 154.6s6.7-8.3 14.6-27.7c4-10.1 13.8-16 22.7-16v-15c-20.3 0-30 7.5-31 18.6a329 329 0 0 1-6.3 40.1"/> + <path d="M276.8 173.9s-4.3 12-4.8 24c-1 19.2-19.4 19.7-32 19.7V207c9.5 0 17.7-1.4 24.5-15.5q5.4-9.3 12.3-17.6m.5 154.7s-6.7-8.4-14.6-27.8c-4-10.1-13.8-16-22.7-16V270c20.3 0 30 7.5 31 18.6a329 329 0 0 0 6.3 40"/> +</svg> diff --git a/apps/web/public/flags/ne.svg b/apps/web/public/flags/ne.svg new file mode 100644 index 00000000..39a82b82 --- /dev/null +++ b/apps/web/public/flags/ne.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ne" viewBox="0 0 640 480"> + <path fill="#0db02b" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 0h640v320H0z"/> + <path fill="#e05206" d="M0 0h640v160H0z"/> + <circle cx="320" cy="240" r="68" fill="#e05206"/> +</svg> diff --git a/apps/web/public/flags/nf.svg b/apps/web/public/flags/nf.svg new file mode 100644 index 00000000..fd61b25c --- /dev/null +++ b/apps/web/public/flags/nf.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-nf" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#fff" d="M194.8 0h250.4v480H194.8z"/> + <path fill="#198200" d="M0 0h194.8v480H0zm445.2 0H640v480H445.2z"/> + <path fill="#198200" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".7" d="M313.5 351.3v52.6l21.3.2s-6.8-45.8-3.1-52c3.7-6 7.2-5.2 7.2-5.2s13.9 4.2 15.4 3.5c1.5-.6-.2-5.2 7.2-4.6 2.4-.9 1.1-5 3.3-5.2s44.5 11.8 53.7.4c-2.4-6.4-10.7-.5-12.9-.2-2 0-10.3-4-15.1 0-4.4-3.3-24.4-5.5-24.4-5.5-2.6-2.6 47.6 1.3 50.5-.7 5.9-5.9-11-5.2-13.6-3.3a15 15 0 0 0-14.2-.6c-1.7-4.1-18-2.4-27-3.5-3-1.7-2.5-2.7-.5-3.8 19 .8 37.8 3.3 56.8 2.5 5.1-6.7-6.5-9.3-13.6-3.5-4.2-7-12.7-.3-18.4-1s-3-7.6 4.2-6.5 20.1-.4 22.5-3.7-1.4-6.7-13.3-3.5c-4-4-13 0-17.1 1.3-5.6-3.1-18.5-.5-22.8.6-4.3-2.6 22.5-7 22.5-7 10.4-.2 16.3-2 19.5-2.8 15.7-8.4-.2-9.3-8.4-3.2-5.1-4-10 .3-14.6 1.8a38 38 0 0 1-13.4 2c0-.6 12.6-8.3 12.6-8.3s15.3-1.1 18.4-1.5c3-.5 18.8-8.5-2.7-3.1-7.4.6-11.8.2-14.7.4-16.5-1.7 1.6-3.3 1.6-3.3s23.4-2.1 23.7-3.3c.4-9-19.1-4.8-19.3-4.8 0-6.5-18.2.2-18.2 0-3.5-2 2-4.1 2-4.1 4.8-1.2 12-1.6 13.9-3.1 0 0 13.6-.1 15.2-3.7-3.3-9.3-28.8 1.6-32.2 3.2-4.6 0 3-7.4 3.3-7.6.2-.3 21-1.1 30.9-14.5.7-8.1-11.6 4.6-11.6 4.6-1-10.6-13.4.7-20.6 1.5-7.3 1-7.5-3.3-2.5-4 5-.6 10.8-.1 13.6-7.8 2.9-7.7 11.4.4 13-2.4 1.5-2.9-3.1-5.3-3.1-5.3s6.4-6.6-4-6.3c-10.2.2-23.6-1.4-23.6-1.4s10.7-4.1 20.8-4c10 .3 4.6-7.1-5-7.1s-14.7-3.3-14.7-3.3l16.4-6.2-1-4.6s9.6-7.7-4-5.9l-15.2 2-27.4 4.1c-.2 0-7.4-2.2-.4-4s31.8-6.7 35.5-5.4-.4-9.2-13.6-10.5S331 184 331 184s-8.5-3.1-.6-5.7c7.9-2.7 20.4.9 20.4.9s14-4.2 2.4-6-15.3 1.6-20.6 1.8c-2.1-2.7 18.2-3.3 19.5-5.5-2.2-4-14.8 0-22.2 0-3-1.3-3.3-3.5.3-4.8 7.5-.3 14.6.1 22.1-.2-.2-4 0-8.7-.2-12.8-9.6-1.7-20.8 1.3-26.1 1 1.4-4.3 22-5.5 24.3-6.7 4.8-6-20.1 0-20.4 0-4.3-.6-4-3.4-1.3-5 6.4-.7 20.6 1 19.6-3.4-.8-4-10-1.9-13.6-1-3.8.9-9.3.2-9.3.2-2.3-3.2 21.5-1.9 21.3-4.4-.3-2.8-15.1-.8-20.2-.6-3.9-2.7 19-4.5 19.3-4.8.9-7.3-15.3 0-18.4 0s-1.5-4.6-1.5-4.6 6.3-2.9 6.1-3.3a22 22 0 0 0-5.2-2c-.5 0 0-5 0-5s5.2-4 4.8-5.1-6.2.9-6.2.9v-4.4s4.2-.4 4.6-2.4c.5-2-5-2.2-5-2.2l-2.2-23-2 21.5-7.2 1s5 2.9 6 5.8c.8 2.8-6.2 2-6.2 2s5.7 4.8 6.1 6.5c.5 1.8-7.9 2.2-7.9 2.2s7 5 7.5 7.9c.4 2.8 0 4.4 0 4.4s-11.6-10.1-19-7.3c-4 2 8.8 3 17.2 10.3 0 1.7-20.5-5-21.2-.8.4 1.1 21.9 4.2 23.4 7-7.8.3-24-1.7-23.4.9-1.7 3 15.2 1.3 22.3 3.7 2.1 2.4 1.9 4.4-1.7 4.6-6.9-3.3-22.1-5.7-22.2-1.5.1 1 15.8.4 21.5 4.1-7.6 1.8-33.4-3.5-33.5-1 .7 1.3 4.8 6.5 11.8 6.3s23.3 2.8 24.4 5-21.1-4.6-29.4-.6c-8.4 4 23.9 1.5 29.1 6.3 5.3 4.9-10.5-.4-10.5-.4s-22-3-25.2-1.5c-3.3 1.5-7 5-7 5s2.2 4.4 4.4 3.5-.7 2.7-.7 2.7 30.7 7.4 37.5 14-39-10.3-39-10.3-18.5 6.8 1 7.2c-2.2 3.3 1.2 5.3 1.2 5.3s32.4 6.8 35.7 12-22.1-5-27.9-7.9c-5.7-2.8-21.9 1.8-21.7 2.9.3 1 8 2.6 8.1 4.6.3 2-9.4 2.6-9.4 4.4 0 1.7 41 10.3 52 19.5s-32.2-11-32.2-11 2.4 3.3 0 4.2c-2.5.9-11-12.3-25-4.2-2.6 3.4 12.2 6 16 6.4-1.3 3.3-2.4 4.4 2.8 7.7s-10.3-4.8-10.3-4.4l1.1 5.7c-4.8-4-10.7-5.1-16.2-1.1 0 0-.2 4 5.5 6.4-3.1 6.3 3.5 4.3 14 10.3-15.6-4.1-16.9 3.5-5.7 5.2s41.9 2.9 49.1 12.3-10.3-3.6-12.3-4c-.4.3-.8 4.9-.8 4.9-4.7-2.7-9-5.2-14.6-6.3-.5.9-.3 2.1-.8 3-5-3.7-9.5-6.2-16.9-6.6l-.9 3.5s-6.1-7.7-18.2 0c-6.7 4.9 25.5 1.8 30.7 7.5 5.3 5.7 1.1 6.6 1.1 6.6l-13.1-4.9s-15.6-2.8-20 .7 64 12 66 21.5c1.4 5-16-5.4-31.1-9.9l-1.8 5s-6-6-12.7-7c-.2 0 1.3 6 1.3 6s-16.8-8-25.4-3.8 29.8 6.4 33.3 10.3-11.6-2.6-13 0c-1.2 2.7-19.9-4.8-19.6-1.3s2.6 5.5 2.6 5.5 38.8 3.7 40.1 8.3-21.5-2.6-21.5-2.6-2.2 3.3-.4 4.8c1.7 1.6-13.2-8.7-11.8-2-4.9-1.9-17.4-7.8-15.6-3.2s35.3 11.2 35.3 11.2-14.7 1-14 4.8c-19-11.5-18.5-4.2-18-4s-24.4-6.1-5.7 4 10 8.3 10.3 8.5c.2.2 2 5 1.5 5s-12.7-6.5-16.9-7-23.9 5.5-2.8 14.8 34-2.2 45.6-1c11.6 1.4 17 3.4 16 7-1.1 3.8-11.9-12.1-23.2 1.7-13-2.6-21.7-4-15 5.4-21-7.9-34 2.4-7.4 6.6 26 .8 42-6.4 42-6.4s4.5 8.1 10.8 2.4 6.6 2.2 6.8 2.2l6.2-2.6z"/> + <path fill="#fff" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".8" d="M316 320.2v-3.7s-8.2-1.5-12.3-.7c-2.3-1.3-4.6-3.1-7.5-1.6-.5 1.2 5.3 4.3 7.2 4.3a41 41 0 0 0 12.7 1.7zm0 6s-8.3-3.1-11.6.4c.5 3.7 9.7 5.5 11.7 4.5 1.9-1 0-4.8-.1-5zm14 1.4v2.6s9.8 1.9 11.6-.2-8-3.5-11.7-2.4zm-.5-10.2.3 2.9s8.6 1.9 11.9-2.8-7.5 0-12.2-.1m.4-10v2s6.5 1 8-1.8c1.4-2.8-7.8 0-8-.2m-13.4-6c-1-1.3-4.5-4.8-13.8-5.8-6.5 0 11.7 9.5 13.8 5.9zm13.2-9.7-.2 2.7s22-6.6 27.1-6.1c4.6-1.3 5.6-4.5 5.4-4.5-4-2.9-22.9 2.3-32.3 7.9m.5-7.8-.3 2.6s15.5-3 19.7-6-19.2 3.5-19.4 3.4m-.6-7.6v2.6s10.3-.4 12.5-2.4c1.3-2.1-9.2-.3-12.5-.2m21.6 21.7s5.4.8 6.4-.8c-.2-2.8-6.4 1-6.4.8M330 266.6l.1 5.7s24.9-7.9 26.5-9.3c1.5-1.5 5-6-26.6 3.6m-.7-7.9v4.2s10-.8 14.6-4.5-14.6.4-14.6.3m-12-9.3.6 3.7-32.9-10.6c.1 0-1.6-5.4 32.3 6.9m.5-13.3c0 .4 0 3.6-.2 3.5 0 0-22.8-9.5-23.7-8.7-3-7 24 5.4 24 5.2zm11.1 6 .4 3.1s14-2.9 14.8-4.3-15.2 1.2-15.2 1.1zm.3 7.4c.2.7.4 3.3.4 3.3s5.6-.5 6.5-1.8c.8-1.3-6.9-1.5-6.9-1.5m-.8-17v3s15.4-3 17-4.4c1.7-1.5-17.3 1.4-17 1.4m0-8.5c0 .2-.5 3.1-.1 3.1s18.6-3 21.5-5.7c2.8-2.5-21 2.9-21.3 2.6zm-.2-14.9v3.3s11.8-2.5 14-5-14 2-14 1.7m-2-21.6.2 4.8s16-2.2 18.2-4.8c2.3-2.7-18.5 0-18.4 0m-7.4-36.5v3s-7.5-.3-5.7-1.6 5.7-1.1 5.7-1.4m7 4 .2 4.2s9.7-1 10.4-2.5-10.4-1.6-10.6-1.6zm-.6 6s.2 2.6.4 2.6 3.9-.3 4.7-1.3-4.7-1-5-1.3zm-8.2 11.8c0 .3.3 4 0 3.8s-21.2-6.1-23.2-6c-1.9 0-2.4-4.9 23.2 2.2m1.7 6.9c0 .7.5 4.6-.3 4.4-.7-.2-14.3-4.5-12.9-5.8s13.2 1.7 13.2 1.4m-1.2 29 .1 3.5s-23.7-7.2-24.5-8.4-3.1-6.8 24.4 4.9m1 8.5v3.3l-32.2-11.3s-2.6-8.4 32.1 8z"/> + <path fill="#fff" stroke="#000" stroke-linejoin="round" stroke-width=".8" d="m280.3 328.7-.2 3.5s-6.2-1.8-8.2-5.3c3.6-1 8.5 1.9 8.4 1.8z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ng.svg b/apps/web/public/flags/ng.svg new file mode 100644 index 00000000..81eb35f7 --- /dev/null +++ b/apps/web/public/flags/ng.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ng" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#008753" d="M426.6 0H640v480H426.6zM0 0h213.3v480H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ni.svg b/apps/web/public/flags/ni.svg new file mode 100644 index 00000000..e4861f5a --- /dev/null +++ b/apps/web/public/flags/ni.svg @@ -0,0 +1,129 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ni" viewBox="0 0 640 480"> + <defs> + <linearGradient id="ni-f" x1="498.7" x2="500.6" y1="289.1" y2="283.4" gradientUnits="userSpaceOnUse"> + <stop offset="0" stop-color="#510000"/> + <stop offset=".3" stop-color="#8a0000"/> + <stop offset="1" stop-color="#a00"/> + </linearGradient> + <linearGradient id="ni-g" x1="501.4" x2="502.9" y1="291.4" y2="287.4" gradientUnits="userSpaceOnUse"> + <stop offset="0" stop-color="#ff2a2a"/> + <stop offset="1" stop-color="red"/> + </linearGradient> + <linearGradient id="ni-b" x1="484.8" x2="484.8" y1="311.7" y2="317.6" gradientUnits="userSpaceOnUse"> + <stop offset="0" stop-color="#F5F549"/> + <stop offset="1" stop-color="#97C924"/> + </linearGradient> + <linearGradient id="ni-a"> + <stop offset="0" stop-color="#025"/> + <stop offset=".5" stop-color="#04a"/> + <stop offset="1" stop-color="#025"/> + </linearGradient> + <linearGradient xlink:href="#ni-a" id="ni-h" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#ni-b" id="ni-v" x1="484.8" x2="484.8" y1="311.7" y2="317.6" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#ni-a" id="ni-o" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#ni-a" id="ni-p" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#ni-a" id="ni-q" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#ni-a" id="ni-r" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#ni-b" id="ni-u" x1="484.8" x2="484.8" y1="311.7" y2="317.6" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#ni-a" id="ni-x" x1="98.9" x2="125" y1="1440.2" y2="1440.2" gradientTransform="scale(4.45715 .22436)" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#ni-a" id="ni-j" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#ni-a" id="ni-l" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#ni-a" id="ni-m" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#ni-a" id="ni-i" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#ni-b" id="ni-s" x1="484.8" x2="484.8" y1="311.7" y2="317.6" gradientUnits="userSpaceOnUse"/> + <linearGradient xlink:href="#ni-a" id="ni-y" x1="47.9" x2="61.7" y1="3054.2" y2="3054.2" gradientTransform="scale(9.12405 .1096)" gradientUnits="userSpaceOnUse"/> + <clipPath id="ni-c"> + <path d="m500 226.4-63.7 110.3h127.4z"/> + </clipPath> + </defs> + <path fill="#0067c6" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 160h640v160H0z"/> + <path fill="#c8a400" d="m248 239.5 8 .5v-1.2l-3-.2.2-3.8 3.3-2.4.1-1.5-3.5 2.5q-.2-1.4-1.4-2-1.2-.4-2.3.3-1.1 1-1 2.5zm1.2-1.1.3-4q0-1 .8-1.8a1 1 0 0 1 1.5.5q.4 1.5.1 3.2l-.1 2.2zm-.2-11.2 7.8 1.8 1.8-7.6-1.1-.2-1.5 6.4-2.4-.5 1.4-5.8-1.1-.3-1.4 5.8-2-.5 1.4-6.2-1.2-.2zm2.8-10.5 7.6 2.7.4-1.1-3-1 1.2-3.5q.5-1.5-.1-3a3 3 0 0 0-2-1q-1.4.2-2 1.5-.9 1.6-1.3 3.4zm1.5-.7 1.2-3.4q.4-1 1.3-1.5a1 1 0 0 1 1.2.9c.2 1-.3 2-.6 3l-.7 1.9zm2.7-9 4.3 2.6q1.3.7 2.7.2a7 7 0 0 0 2.4-3c.4-1 .8-2.2.2-3.2q-1-1.3-2.7-2l-2.7-1.6-.6 1 4 2.4q1.1.6 1.1 1.9a6 6 0 0 1-1.2 2.5q-.7 1-2 1-1.2-.4-2.2-1.2l-2.7-1.5-.6 1zm5.8-9.3 6.3 4.8 3-3.8q1-1.4.7-3a3 3 0 0 0-2-1.4q-.8.1-1.2.4c.2-.9-.5-1.7-1.2-1.9-1-.3-2 .3-2.6 1l-2 2.5zm1.6-.3q1-1.5 2.2-2.8c.4-.4 1-1 1.5-.6.5.2.7.9.4 1.3q-.6 1.2-1.6 2.3l-.8 1.1zm2.6 2 2.3-3c.4-.4 1-1 1.6-.8q1 .3.8 1.3-.6 1.4-1.8 2.7l-1 1.3zm3-10.2 5.5 5.8 4.7-4.5-.8-.8-3.8 3.6h-.1l-4.7-5zm7-6.2 4.9 6.3 1-.7-5-6.3zm7.2-4.9a7 7 0 0 0-2 1.8 4 4 0 0 0-.1 4.2 4 4 0 0 0 1.6 1.5 4 4 0 0 0 2 .4 7 7 0 0 0 2.7-1 5 5 0 0 0 2-2q.6-1.2.3-2.4l-1 .4c.2 1.6-.8 2.4-2 3q-2.8 1.8-4.6-.5c-1.1-1.9 0-3.4 1.6-4.4 1.1-.7 2.2-1.2 3.2-.5l.9-.8a3 3 0 0 0-2-.6q-1.3 0-2.6 1zm9.5-4.7-.9 9 1.3-.5.2-2.8 4-1.6 2.2 1.8 1.2-.5-6.8-5.9zm1 1 2.7 2.2-3 1.2zm16.5-6 .5 8 4.3-.2q2-.1 3.1-1.4c1-1 1.2-2.7.7-4.1a4 4 0 0 0-2.7-2.4q-1.8-.2-3.6 0l-2.3.2zm1.2 1.1 3.5-.1a3 3 0 0 1 1.8.5q1.3 1 1.2 2.5a3 3 0 0 1-2 2.4l-1.9.3-2.2.1zm10-1.5-.5 8 7.8.4v-1.1l-6.6-.4.1-2.4 6 .3v-1.1l-5.9-.3.1-2.2 6.4.4v-1.2zm20.8 3.3-2.9 7.5 1 .4 2.4-6v-.2l.2.3 2.8 8 1.3.5 2.9-7.5-1-.4-2.3 6-.1.2-.2-.3-2.7-8zM353 176l-3.7 7-1-.5 3.6-7.1zm6 3.5a7 7 0 0 0-2.4-1 4 4 0 0 0-4 1.5 4 4 0 0 0-.6 2.1q0 1 .6 2.1.6 1 2 2a6 6 0 0 0 2.7 1 4 4 0 0 0 2.2-.7l-.8-.9c-1.4 1-2.5.3-3.6-.4q-2.9-1.9-1.4-4.5c1.2-1.8 3.1-1.3 4.7-.3 1 .7 2 1.5 1.8 2.7l1 .4a3 3 0 0 0-.3-2q-.6-1.2-1.9-2m7.6 5.7-8.3 3.4 1 .9 2.6-1 3.3 2.8-.7 2.7 1 .9 2.1-8.8zm-.3 1.4-.8 3.4-2.5-2zm6.4 4.2-6.2 5 .7 1 2.5-2 2.4 3-.7 4 .9 1.1.8-4.2q1.2.9 2.5.4 1.2-.6 1.4-1.8-.2-1.6-1.3-2.8zm-.2 1.6 2.6 3.2c.4.6.9 1.4.4 2-.3.6-1.1.6-1.6.2q-1.4-1.1-2.4-2.6l-1-1.1zm9.5 11.1-9 .4.7 1.2 2.8-.1 2.2 3.8-1.6 2.3.7 1.2 4.9-7.6zm-.7 1.2-2 3-1.5-2.8zm5.9 9.4q-.7-2.2-2.7-3.4a4 4 0 0 0-4.5 1q-1.3 1.7-.7 3.9.5 2.4 2 4.1l-.6.2.4 1.1 3.8-1.3-1.5-4.1-.8.3 1 3-1.2.5a7 7 0 0 1-2.1-3.8q-.6-1.8.5-3.2c1-1 2.6-1.3 3.7-.5s1.7 2.1 2 3.4q.5 1.5-.4 2.6-.2.1.1.4l.3.5a3 3 0 0 0 1.1-2.2 7 7 0 0 0-.4-2.5m2.3 6.3-4.5.8a4 4 0 0 0-1.9.8 3 3 0 0 0-.8 1.5v2.4q.4 1.4 1 2.3.5 1 1.2 1a4 4 0 0 0 2 0l4.5-.8-.2-1.1-4.4.8c-2 .4-2.6-.6-3-2.4s0-3 1.9-3.3l4.4-.9zm2.4 13.6-8.3-3.6.1 1.4 2.6 1 .3 4.4-2.4 1.5.1 1.3 7.7-4.7zm-1.2.7-3 1.9-.2-3.2zm-136.5 20-1.2.3 1.3 4.9 1.2-.3zm131.6 0 1.2.3-1.3 4.9-1.2-.3zm-119.2 20.5-9 1 .8 1.1 2.8-.3 2.4 3.6-1.4 2.5.8 1 4.3-7.8zm-.7 1.3-1.7 3-1.8-2.6zm4.1 3.6-5.7 5.3.8.8 4.8-4.5-2.6 7 1 .9 6.8-2-4.7 4.3.8.8 5.7-5.3-1.2-1.2-7 2 2.6-6.7zm8.3 8.4-4.8 6.5 6.2 4.6.7-.9-5.3-4 1.5-2 4.7 3.7.7-1-4.7-3.5 1.3-1.7 5 3.8.7-1zm7.8 5.8-3.7 7 1 .6 1.5-2.8 3.4 1.8.8 4 1.3.7-.9-4.2q1.5.5 2.5-.6.9-.9.6-2.1c-.2-1-1.3-1.6-2.1-2.1zm.5 1.5 3.6 2c.6.4 1.3.9 1.2 1.6 0 .7-.7 1-1.3.9q-1.7-.5-3.2-1.4l-1.5-.8zm8.6 3.2-3 7.4 1 .5 3-7.4zm7.2 2.5a7 7 0 0 0-2.6-.4 4 4 0 0 0-3.4 2.6 4 4 0 0 0 0 2.1q0 1.1 1 2a6 6 0 0 0 2.4 1.3 5 5 0 0 0 2.9.2 3 3 0 0 0 2-1.2l-1-.6c-1 1.3-2.3 1-3.6.5q-3.2-1-2.5-4c.7-2 2.7-2 4.4-1.5 1.2.4 2.3 1 2.4 2.1l1.2.2a3 3 0 0 0-.9-2 5 5 0 0 0-2.3-1.3m8 1.8-5.2 7.3 1.3.2 1.6-2.3 4.4.7.9 2.6 1.3.2-3-8.5zm.5 1.3 1.2 3.4-3.2-.5zm18.3-1.2q-1.4.2-2.4.9a4 4 0 0 0-1.7 3.9q.1 1 1 2 .6.7 1.8 1 1.1.3 2.8 0t2.6-1.2a3 3 0 0 0 1.1-2h-1.2c-.3 1.6-1.5 2-2.8 2.2q-3.3.6-4.1-2.3c-.4-2.1 1.3-3.1 3-3.5 1.3-.2 2.5-.3 3.2.7l1-.4a3 3 0 0 0-1.6-1.3 5 5 0 0 0-2.7 0m5.3-1 2.3 7.7 7.5-2.2-.4-1.1-6.3 1.9-.7-2.4 5.7-1.7-.3-1-5.7 1.6-.6-2 6-1.8-.3-1.1zm8.7-2.7 3.3 7.3 1-.5-2.8-6 7.8 3.5h.5l1-.5-3.4-7.3-1 .5 2.8 6-8-3.6zm8.8-4.1.6 1 2.8-2h.2l3.7 5.7 1-.7-3.7-5.6v-.1l2.9-2-.6-.9zm8-5.6 5.4 6 .9-.9-2.1-2.3 2.8-2.6 4 .6 1.2-1-4.3-.6q.8-1.2.2-2.6-.6-1.2-1.9-1.2c-1 0-2 .8-2.7 1.4zm1.6.1 3-2.8c.6-.4 1.4-.9 2-.5q1 .7.3 1.6-1 1.4-2.4 2.6l-1.1 1-1.8-2zm7.7-9.4 3.6 8.3.8-1-1-2.6 2.7-3.4 2.7.6.9-1-8.8-2zm1.4.3 3.5.7-2 2.5zm2.1-4.8 6.7 4.3 3.5-5.4-1-.6-2.7 4.3-.1.2h-.1l-5.7-3.8z"/> + <g clip-path="url(#ni-c)" transform="translate(-80)scale(.8)"> + <path fill="#fff" d="m500 226.4-31.5 54.5-15.4 26.7h93.8l-14.7-25.4z"/> + <g id="ni-e"> + <g id="ni-d"> + <path fill="#17c0eb" stroke="#17c0eb" stroke-width=".1" d="m500 226.4-2.4 4 2.4 55 2.4-55z" opacity=".6"/> + <path fill="#fff" d="M500 277.5h-.1l.1 3 .1-3z"/> + </g> + <use xlink:href="#ni-d" width="100%" height="100%" transform="rotate(72 500 285.5)"/> + <use xlink:href="#ni-d" width="100%" height="100%" transform="rotate(144 500 285.5)"/> + <use xlink:href="#ni-d" width="100%" height="100%" transform="rotate(-144 500 285.5)"/> + <use xlink:href="#ni-d" width="100%" height="100%" transform="rotate(-72 500 285.5)"/> + </g> + <use xlink:href="#ni-e" width="100%" height="100%" transform="rotate(8 500 285.5)"/> + <use xlink:href="#ni-e" width="100%" height="100%" transform="rotate(16 500 285.5)"/> + <use xlink:href="#ni-e" width="100%" height="100%" transform="rotate(24 500 285.5)"/> + <use xlink:href="#ni-e" width="100%" height="100%" transform="rotate(32 500 285.5)"/> + <use xlink:href="#ni-e" width="100%" height="100%" transform="rotate(40 500 285.5)"/> + <use xlink:href="#ni-e" width="100%" height="100%" transform="rotate(48 500 285.5)"/> + <use xlink:href="#ni-e" width="100%" height="100%" transform="rotate(56 500 285.5)"/> + <use xlink:href="#ni-e" width="100%" height="100%" transform="rotate(64 500 285.5)"/> + <path fill="red" d="M500 265.8a44 44 0 0 0-29 10.8L456.4 302a45 45 0 0 0-.8 8.3h5a39.4 39.4 0 0 1 78.7 0h5a45 45 0 0 0-.7-8.3L529 276.6a44 44 0 0 0-29-10.8"/> + <path fill="#f60" d="M500 266.7a44 44 0 0 0-30.3 12.2l-12 20.9a44 44 0 0 0-1.3 10.4h4.3a39.4 39.4 0 0 1 78.6 0h4.3a44 44 0 0 0-1.3-10.5l-12-20.8a44 44 0 0 0-30.3-12.2"/> + <path fill="#ff0" d="M500 267.5a43 43 0 0 0-32 14.3l-8.7 15a43 43 0 0 0-2 13.5h3.3a39.4 39.4 0 0 1 78.7 0h3.5q0-7-2.1-13.4l-8.8-15.1a43 43 0 0 0-31.9-14.3"/> + <path fill="#0f0" d="M500 268.3a42 42 0 0 0-34.9 18.6l-2.8 4.9a42 42 0 0 0-4.3 18.5h2.7a39.4 39.4 0 0 1 78.6 0h2.7a42 42 0 0 0-4.3-18.5l-2.8-5a42 42 0 0 0-34.9-18.6z"/> + <path fill="#0cf" d="M500 269a41 41 0 0 0-41.2 41.3h1.9a39.4 39.4 0 0 1 78.6 0h1.9A41 41 0 0 0 500 269"/> + <path fill="#00f" d="M500 269.8a40.4 40.4 0 0 0-40.4 40.4h1.4a39 39 0 1 1 78 0h1.4A40.4 40.4 0 0 0 500 270z"/> + <path fill="purple" d="M500 270.7a39.6 39.6 0 0 0-39.6 40.3h.8v-.8a38.8 38.8 0 1 1 77.6.8h.8v-.8a39.6 39.6 0 0 0-39.6-39.6z"/> + <path fill="#510000" d="M500.4 288.1c-.7 0-1.2-.5-1.8-.6a2 2 0 0 0-.7 2.1c.3.1.3.4.9.9s.5.7.4 2c0 .4.1 1.5.6 1.6q.9.1 1.1-1.2.2-1 .7-1.6c.3-1.9-.2-2.6-1.2-3.2"/> + <path fill="red" d="M497.2 283.5c-.6 0-1.6 1-2 .5q-.4-.6 0-1.4a5 5 0 0 1 2.2-2.3q3.4-2 5 1c1.1 1.8 2.2 3.8 2.3 5.4 0 .5.3 1.4-.2 1.9-1.3 1.4-4.6-1.5-6.5-1-.6.1-1.4.6-2 .2-.4-.3 0-1 .3-1.3.6-.5 1.5-2.4 1.4-3.2 0-.4 0 .2-.5.2"/> + <path fill="url(#ni-f)" d="M497 282.6c-1.2.4-1 1-1.6 1.5.2.1.8.3 1.4-.3q.3-.3.7-.3l-.7.7a5 5 0 0 0-1.4 1.8c-.3.8-.4 1.7-.3 1.8 0 0 .4.8 1.5 1.2 2 .8 2.4 2.5 4.5 2.5 1.6 0 1.4-1.1 2.7-.9 1 .2 1.7-.7.6-1.2a14 14 0 0 0-5.4 0c-.4-4 0-2.6-.1-4.4-.1-1.7-.7-1.8 0-3.3-.5 1-1.2.8-2 .8z"/> + <path fill="#ff2a2a" d="m501 279.8-.1.6.3 1 .2 1q.1.4.7.6c.4.3 0 1 .3 1.1.2 0 .5-1 .5-1.2v-.7l-.5-.9-.2-.3-.8-.9-.3-.2-.2-.1z"/> + <path fill="url(#ni-g)" d="m501.3 287.4-2-.7c-1.3-.4-2.6-1.2-3.5-.8q-.4.1-.4.9c0 .5-.5 1.3 0 1s2.4.8 3 1.1c.3.2 1 .6 1.1 1 .2.6 0 1.8 0 2.4s.2 1.8.7 2q1 .1 1.3-1.3.3-1.2.8-1.9.6-.9 1.3-.9c.6 0 1.4.5 1.4-.2 0-.4-.4-.8-.2-1.4.1-.5-.4-.4-.9-.6z"/> + <path fill="#910000" d="M498.4 288.9c-.4-.2-2.3-1.5-3-1q-.4 0-.4-.3l.2-.9q0-.6.5-1c.7-.6 2.3.5 3.1.8z"/> + <path fill="#ff3a3a" d="M501.8 291.4c.9-1.6 1.5-1.4 2.6-1.4q.6 0 .4-.7c-.3.6-1.7 0-2.5.3-1.5.7-1.2 3.7-2 4 .8.7 1.1-1.7 1.5-2.2"/> + <g fill="url(#ni-h)"> + <path fill="#fff" d="m453.1 307.6-10 17.3H557l-10-17.2h-93.8z"/> + <g id="ni-n" fill="url(#ni-i)"> + <path id="ni-k" fill="url(#ni-j)" d="m449.7 321.4-4.7.3-.5.9q3.5-.6 7.2-.7c3.2 0 6.2.8 9.7.8h4.6c3.5 0 6.4-.8 9.7-.8s6.3.8 9.8.8h4.6c3.5 0 6.4-.8 9.7-.8s6.3.8 9.8.8h4.5c3.5 0 6.5-.8 9.8-.8s6.3.8 9.8.8h4.5c3.5 0 6.5-.8 9.8-.8q3.8.2 7.5.7l-.5-1-4.4-.2h-4.5c-3.5 0-6.5.7-9.8.8-3.3 0-6.3-.8-9.8-.8H522c-3.5 0-6.5.7-9.8.8-3.3 0-6.3-.8-9.8-.8H498c-3.5 0-6.5.7-9.8.8-3.3 0-6.3-.8-9.8-.8h-4.5c-3.5 0-6.5.7-9.8.8-3.3 0-6.2-.8-9.7-.8z"/> + <use xlink:href="#ni-k" width="100%" height="100%" y="-1.1" fill="url(#ni-l)"/> + <use xlink:href="#ni-k" width="100%" height="100%" y="-2.2" fill="url(#ni-m)"/> + </g> + <use xlink:href="#ni-n" width="100%" height="100%" y="-3.3" fill="url(#ni-o)"/> + <use xlink:href="#ni-n" width="100%" height="100%" y="-6.7" fill="url(#ni-p)"/> + <path fill="url(#ni-q)" d="M453.2 307.5v.2h93.7l-.1-.2zm-.2.3-.1.3H547l-.1-.3h-94zm-.2.4-.2.3h94.8l-.2-.3zm-.3.5-.3.5h95.6l-.3-.5zm-.4.7-.3.5h96.4l-.3-.5zm-.4.7-.2.4h97l-.2-.4zm-.4.7-.2.4H549l-.3-.4zm-.4.7-.3.6h98.8l-.3-.6H451z"/> + <path fill="url(#ni-r)" d="M457.4 312.3c3.4.7 3.7 0 3.7 0zm81.5 0s.3.7 3.7 0z"/> + </g> + <g fill="#ccd11e"> + <g id="ni-t"> + <path fill="url(#ni-s)" d="M530.6 297c-1.7 0-2.2.9-2.2.9-2.7 10.6-11.8 21.3-22.6 21.3h-8V330h61.4l-6.2-11c-9.7-1.4-17.6-11.3-20.1-21.1 0 0-.6-.9-2.3-.9"/> + <path fill="#97c924" d="M530.6 297.5q-1.1 0-1.5.3l-.3.3a34 34 0 0 1-8.4 14.7c-4 4.1-9 6.9-14.6 6.9h-7.7v9.9H559l-5.7-10q-7.2-1.2-12.4-6.8a34 34 0 0 1-8.4-14.7l-.3-.3a3 3 0 0 0-1.6-.3"/> + <path fill="#ede71f" d="M530.6 297.5h.4v10.8a13 13 0 0 1-2 6.4c-.5 1.6-1 1-2.3 2.9a25 25 0 0 1-5.2 1.2c-2.5.4-8 .8-10.9.1a23 23 0 0 0 9.8-6l2.1-2.5a34 34 0 0 0 3-4.4l1-2 1.3-2.9 1-3 .3-.3.6-.2z"/> + <path fill="#c6cb24" d="M530 298.9c-.5 6-2.3 13.2-6.7 17.8-1.6 1.3-3.7 2.6-5.6 2.3 6.7-5.5 10.8-14 12.2-20.1z"/> + <path fill="#9ecb34" d="M524.5 309.3c-1 2.7-4.8 6.7-8.8 10h-2.9c2.5-.2 8.3-5 11.7-10"/> + </g> + <use xlink:href="#ni-t" width="100%" height="100%" x="-15.3"/> + <g fill="#c6cb24"> + <path fill="url(#ni-u)" d="M502.2 298c2.8 10.5 11.8 21.2 22.6 21.2h8.1V330h-65.8v-10.8h8c10.8 0 19.9-10.7 22.6-21.3 0 0 .6-.8 2.3-.8s2.2.8 2.2.8z"/> + <path fill="#97c924" d="M500 297.5q1.1 0 1.5.3l.3.3a34 34 0 0 0 8.4 14.7c4 4.1 9 6.9 14.6 6.9h7.7v9.9h-65v-10h7.7c5.5 0 10.6-2.7 14.6-6.8a34 34 0 0 0 8.3-14.7l.3-.3a3 3 0 0 1 1.6-.3"/> + <path fill="#ede71f" d="M499.3 297.5h-.3l-.6.3-.3.3-1 3-1.2 3-1 1.9a34 34 0 0 1-3 4.4l-2.1 2.4a23 23 0 0 1-9.8 6.1c2.8.7 4 0 6.5-.4q3.1-.4 6-1.2c1.5-2 1-1.3 1.5-2.9 1.2-2.2 3-4.2 3.4-6.7 1.6-3 1.9-8.6 1.9-10.2"/> + <path d="M499.3 298.9c-.4 6-2.3 13.2-6.7 17.8-1.6 1.3-3.6 2.6-5.6 2.3 6.8-5.5 10.9-14 12.3-20.1"/> + <path fill="#9ecb34" d="M493.8 309.3a31 31 0 0 1-8.8 10h-2.8c2.5-.2 8.2-5 11.6-10"/> + <path fill="#ede71f" d="m501 297.6.5.2.4.3 1 3 1.2 3 1 1.9a34 34 0 0 0 3 4.4l2.1 2.4a24 24 0 0 0 9.8 6.5c-7.3 0-10.4-.6-13-4a19 19 0 0 1-4.2-7c-.5-2-2-6.5-1.9-10.7z"/> + <path d="M501.5 298.9c.4 6 2.2 12 6.6 16.6 1.6 1.4 3.6 2.6 5.6 2.3a31 31 0 0 1-12.2-18.9"/> + </g> + <g id="ni-w"> + <path fill="url(#ni-v)" d="M484.8 297c-1.8 0-2.3.9-2.3.9-2.5 9.8-11.8 22.3-21.5 23.8l-4.8 8.3h49v-11.3c-8.8-2.4-15.9-11.7-18.2-20.8 0 0-.5-.8-2.3-.8z"/> + <path fill="#97c924" d="M484.8 297.5q-1.2 0-1.6.3l-.3.3a43 43 0 0 1-8.1 15c-3.4 4.3-9.7 8.6-14 9l-4.3 7.5h48v-10.7a23 23 0 0 1-9.5-6 34 34 0 0 1-8.4-14.8l-.3-.3z"/> + <path fill="#93bc30" d="M483.4 298.9c-.6 9-5.6 20.5-11.3 22.4-1.9.7-5.1.9-6.2 1a36 36 0 0 0 17.6-23.4z"/> + <path fill="#ede71f" d="M484.8 297.5h-.5v10.8q.2 3.3 2 6.4l.2.5c.5 1.1.8 1.5 2.3 2.7a22 22 0 0 0 14.8 4q-1.7-1.4-3.4-2.4l4.5-.5a23 23 0 0 1-9.7-6.2l-1.4-1.5-.6-.8a35 35 0 0 1-3.2-4.5l-1-2-1.6-3.9-.6-2-.3-.3-.6-.2-1-.1z"/> + <path d="M485.4 298.9c.5 6 2.3 13.2 6.7 17.8 1.6 1.3 3.6 2.6 5.6 2.3a39 39 0 0 1-12.3-20.1"/> + <path fill="#9ecb34" d="M489.6 307.3a35 35 0 0 0 14.6 14.9h2.5c-4.4-2.4-11.5-5.8-17-15z"/> + </g> + <use xlink:href="#ni-w" width="100%" height="100%" x="-15.4" fill="#c6cb24"/> + </g> + <path fill="#fff" d="M556.5 324.7c-.6.2-4.4-.2-6.4 0l-1.3.3h-3.3c-3.6 0-6.7 1-10.1 1s-6.5-1-10-1H522c-3.6 0-6.7 1-10.1 1s-6.5-1-10-1h-3.4c-3.6 0-6.7 1-10 1-3.5 0-6.5-1-10.1-1H475c-3.6 0-6.6 1-10 1s-6.5-1-10.1-1h-3.4c-2.8 0-6.2.6-8.9.8l-6.3 10.9h127.4z"/> + <path fill="url(#ni-x)" d="M548 323.1h-.6c-3.2.1-5.6 1.1-11.2 1.1s-6.2-1-12.6-.8c-6 0-8.4 1.2-11.7 1.2s-8.4-.7-12.5-.3-8.8 1.3-12 1.3c-3.9 0-7.8-.7-11.8-.3s-6 1.5-11.1 1.5c-4.4 0-9-.7-12.8-.7-3.4 0-7.2 1-10 1.4l-.9 1.5c2.3-.3 8.6-1.3 10.8-1.3 2.4 0 10.7.5 15.3.3 4.7-.1 5.2-1.2 10.7-1.2 3.8 0 6.6.4 10.5.4 2.5 0 4.7-1.2 8.4-1.2l2.8-.1c3.1-.5 8.4 0 12 .2 3.3.2 5.5-.6 9-.7l4.4-.1c3.5-.2 6.4.6 9.7.6 3.2-.2 6.4-1 9.8-1l4.5-.2c2.3 0 5.9 0 8.3.5l-.8-1.4c-2.4-.1-5.3-.7-8.2-.7"/> + <g id="ni-A"> + <path id="ni-z" fill="url(#ni-y)" d="M450.3 334.8c-3.4 0-6.4.8-9.6.9l-3.6-.3-.5.8h6c3.5 0 6.4-.8 9.6-.9 3.3.1 6.2 1 9.7 1h4.5c3.4 0 6.4-.9 9.6-1 3.3.1 6.3 1 9.7 1h4.5c3.5 0 6.4-.9 9.7-1 3.2.1 6.1 1 9.6 1h4.5c3.4 0 6.4-.9 9.7-1 3.2.1 6.2 1 9.6 1h4.5c3.5 0 6.4-.9 9.6-1 3.3.1 6.2 1 9.7 1h4.5l1.8-.1-.5-.8-3.2.3c-3.3 0-6.2-1-9.7-1h-4.5c-3.4 0-6.4 1-9.6 1-3.3-.1-6.2-1-9.7-1h-4.5c-3.4 0-6.4 1-9.6 1-3.3-.1-6.2-1-9.7-1h-4.5c-3.5 0-6.4 1-9.6 1-3.3-.1-6.2-1-9.7-1h-4.5c-3.4 0-6.4 1-9.6 1-3.3-.1-6.2-1-9.7-1h-4.5z"/> + <use xlink:href="#ni-z" width="100%" height="100%" y="-1.3"/> + <use xlink:href="#ni-z" width="100%" height="100%" y="-2.6"/> + </g> + <use xlink:href="#ni-A" width="100%" height="100%" y="-3.9"/> + <use xlink:href="#ni-A" width="100%" height="100%" y="-7.7"/> + <path fill="#97c924" d="m443.9 324.7-2.5 4.2c2.9-.5 7.1-1.7 10.7-1.7s8 .9 12.4 1c5 0 7-1.2 11-1.6s8 .5 12 .6c3.1 0 7.9-1.1 12-1.5 4-.5 7.7.3 12.5.3 4.9.1 5.7-1.2 11.6-1.3 6.4-.1 7 .9 12.6.9 4.2.2 7.9-.9 11.7-1.1s5.5 0 8.3 0l-1.9-3.2-101.3 2.3z"/> + <path fill="#fff" d="m550 324.6 4 .3 2.9.3-.4-.5c-.6.2-4.4-.2-6.4 0z"/> + </g> + <path fill="#c8a400" d="m320 179.9-25.7 44.5L268 270h104l-25.7-44.6zm0 2.4 25.2 43.7 24.7 42.8h-99.8l25.2-43.8z"/> +</svg> diff --git a/apps/web/public/flags/nl.svg b/apps/web/public/flags/nl.svg new file mode 100644 index 00000000..e90f5b03 --- /dev/null +++ b/apps/web/public/flags/nl.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-nl" viewBox="0 0 640 480"> + <path fill="#ae1c28" d="M0 0h640v160H0z"/> + <path fill="#fff" d="M0 160h640v160H0z"/> + <path fill="#21468b" d="M0 320h640v160H0z"/> +</svg> diff --git a/apps/web/public/flags/no.svg b/apps/web/public/flags/no.svg new file mode 100644 index 00000000..a5f2a152 --- /dev/null +++ b/apps/web/public/flags/no.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-no" viewBox="0 0 640 480"> + <path fill="#ed2939" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M180 0h120v480H180z"/> + <path fill="#fff" d="M0 180h640v120H0z"/> + <path fill="#002664" d="M210 0h60v480h-60z"/> + <path fill="#002664" d="M0 210h640v60H0z"/> +</svg> diff --git a/apps/web/public/flags/np.svg b/apps/web/public/flags/np.svg new file mode 100644 index 00000000..62428568 --- /dev/null +++ b/apps/web/public/flags/np.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-np" viewBox="0 0 640 480"> + <defs> + <clipPath id="np-a"> + <path fill-opacity=".7" d="M0-16h512v512H0z"/> + </clipPath> + </defs> + <g clip-path="url(#np-a)" transform="translate(0 15)scale(.9375)"> + <g fill-rule="evenodd"> + <path fill="#ce0000" stroke="#000063" stroke-width="13.8" d="M6.5 489.5h378.8L137.4 238.1l257.3.3L6.6-9.5v499z"/> + <path fill="#fff" d="m180.7 355.8-27 9 21.2 19.8-28.5-1.8 11.7 26.2-25.5-12.3.5 28.6-18.8-20.9-10.7 26.6-9.2-26.3-20.3 20.6 1.8-27.7L49 409l12.6-25-29.3.6 21.5-18.3-27.3-10.5 27-9L32.2 327l28.4 1.8L49 302.6l25.6 12.3-.5-28.6 18.8 20.9 10.7-26.6 9.1 26.3 20.4-20.6-1.9 27.7 27-11.4-12.7 25 29.4-.6-21.5 18.3zm-32.4-184.7-11.3 8.4 5.6 4.6a94 94 0 0 0 30.7-36c1.8 21.3-17.7 69-68.7 69.5a70.6 70.6 0 0 1-71.5-70.3c10 18.2 16.2 27 32 36.5l4.7-4.4-10.6-8.9 13.7-3.6-7.4-12.4 14.4 1-1.8-14.4 12.6 7.4 4-13.5 9 10.8 8.5-10.3 4.6 14 11.8-8.2-1.5 14.3 14.2-1.7-6.7 13.2z"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/nr.svg b/apps/web/public/flags/nr.svg new file mode 100644 index 00000000..ff394c41 --- /dev/null +++ b/apps/web/public/flags/nr.svg @@ -0,0 +1,12 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-nr" viewBox="0 0 640 480"> + <defs> + <clipPath id="nr-a"> + <path fill-opacity=".7" d="M-54.7 0H628v512H-54.7z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#nr-a)" transform="translate(51.3)scale(.9375)"> + <path fill="#002170" d="M-140 0H884v512H-140z"/> + <path fill="#ffb20d" d="M-140 234.1H884V278H-140z"/> + <path fill="#fff" d="m161.8 438-33-33-10.5 45.4-12-45-31.9 34 12.1-45L42 407.9l33-33-45.4-10.6 45-12-34-31.8 45 12L72 288l33 33 10.6-45.4 12 45 31.8-34-12 45 44.5-13.5-33 33 45.4 10.5-45 12 34 32-45-12.2z"/> + </g> +</svg> diff --git a/apps/web/public/flags/nu.svg b/apps/web/public/flags/nu.svg new file mode 100644 index 00000000..4067baff --- /dev/null +++ b/apps/web/public/flags/nu.svg @@ -0,0 +1,10 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-nu" viewBox="0 0 640 480"> + <path fill="#fedd00" d="M0 0h640v480H0z"/> + <path fill="#012169" d="M0 0h320v240H0z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/> + <path fill="#fff" d="M120.5 0v240h80V0zM0 80v80h320V80z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/> + <circle cx="160" cy="120" r="40.8" fill="#012169"/> + <path fill="#fedd00" d="m160 79.2 24 73.8-62.8-45.6h77.6L136 153M66.7 98.3l14 43.4L43.9 115h45.7l-37 26.8m200.7-43.5 14.1 43.4-36.9-26.8h45.7l-37 26.8M160 178.3l14.1 43.4-37-26.8h45.7l-37 26.8M160 18.3l14.1 43.4-37-26.8h45.7l-37 26.8"/> +</svg> diff --git a/apps/web/public/flags/nz.svg b/apps/web/public/flags/nz.svg new file mode 100644 index 00000000..935d8a74 --- /dev/null +++ b/apps/web/public/flags/nz.svg @@ -0,0 +1,36 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-nz" viewBox="0 0 640 480"> + <defs> + <g id="nz-b"> + <g id="nz-a"> + <path d="M0-.3v.5l1-.5z"/> + <path d="M.2.3 0-.1l1-.2z"/> + </g> + <use xlink:href="#nz-a" transform="scale(-1 1)"/> + <use xlink:href="#nz-a" transform="rotate(72 0 0)"/> + <use xlink:href="#nz-a" transform="rotate(-72 0 0)"/> + <use xlink:href="#nz-a" transform="scale(-1 1)rotate(72)"/> + </g> + </defs> + <path fill="#00247d" fill-rule="evenodd" d="M0 0h640v480H0z"/> + <g transform="translate(-111 36.1)scale(.66825)"> + <use xlink:href="#nz-b" width="100%" height="100%" fill="#fff" transform="translate(900 120)scale(45.4)"/> + <use xlink:href="#nz-b" width="100%" height="100%" fill="#cc142b" transform="matrix(30 0 0 30 900 120)"/> + </g> + <g transform="rotate(82 525.2 114.6)scale(.66825)"> + <use xlink:href="#nz-b" width="100%" height="100%" fill="#fff" transform="rotate(-82 519 -457.7)scale(40.4)"/> + <use xlink:href="#nz-b" width="100%" height="100%" fill="#cc142b" transform="rotate(-82 519 -457.7)scale(25)"/> + </g> + <g transform="rotate(82 525.2 114.6)scale(.66825)"> + <use xlink:href="#nz-b" width="100%" height="100%" fill="#fff" transform="rotate(-82 668.6 -327.7)scale(45.4)"/> + <use xlink:href="#nz-b" width="100%" height="100%" fill="#cc142b" transform="rotate(-82 668.6 -327.7)scale(30)"/> + </g> + <g transform="translate(-111 36.1)scale(.66825)"> + <use xlink:href="#nz-b" width="100%" height="100%" fill="#fff" transform="translate(900 480)scale(50.4)"/> + <use xlink:href="#nz-b" width="100%" height="100%" fill="#cc142b" transform="matrix(35 0 0 35 900 480)"/> + </g> + <path fill="#012169" d="M0 0h320v240H0z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/> + <path fill="#fff" d="M120.5 0v240h80V0zM0 80v80h320V80z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/> +</svg> diff --git a/apps/web/public/flags/om.svg b/apps/web/public/flags/om.svg new file mode 100644 index 00000000..4f1461a0 --- /dev/null +++ b/apps/web/public/flags/om.svg @@ -0,0 +1,115 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-om" viewBox="0 0 640 480"> + <defs> + <clipPath id="om-a"> + <path fill-opacity=".7" d="M0 0h640v480H0z"/> + </clipPath> + </defs> + <g clip-path="url(#om-a)"> + <path fill="#ef2d29" fill-rule="evenodd" d="M-3.3-21.6H699v553H-3.3z"/> + <path fill="#009025" fill-rule="evenodd" d="M174.6 317.3h535.7V525H174.6z"/> + <path fill="#fff" fill-rule="evenodd" d="M174.6-35.4h564.9v190h-565z"/> + <g stroke="#ef2d28"> + <g fill="#fff" fill-rule="evenodd" transform="matrix(.19848 0 0 .17744 111.3 -13.4)"> + <rect width="138.2" height="85" x="17.7" y="467.7" stroke-width="1.4" rx="11.3" ry="11.8"/> + <rect width="131.1" height="78" x="21.3" y="471.3" stroke-width="1.3" rx="10.7" ry="10.9"/> + <path stroke-width="1.3" d="m65 396 9.7.5.4 5.8 8 5.3 6.2-6.7 7.5 5.3-7 5.8 1.7 8 8.8-.5V430l-7-.4-3.6 6.6 8 7.5-6.2 6.2-6.7-6.6-9.7 2.6.5 9.7-10.6 1-1.4-9.4-8.8-4.8-4.9 6.6-7.5-4.9 4.4-7.5-5.3-4.8H34l-.4-13.7 7.5.9 5.3-8-6.2-6.2 8-7 5.7 5.7 9.7-1.8z" transform="matrix(.68108 0 0 .5852 38 260.7)"/> + <ellipse cx="68.9" cy="426.8" stroke-width="1.3" rx="11.1" ry="9.9" transform="matrix(.65819 0 0 .70224 38.8 209.6)"/> + <path stroke-width="1.3" d="m39 474.8-10.7 10.6m17.8-10.6-10.7 10.6m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m17.7-10.6L78 485.4m17.7-10.6L85 485.4m17.8-10.6L92 485.4m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m-17.7-10.6L78 485.4m46-10.6-10.6 10.6m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m0-10.6 10.6 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.7 10.6M85 474.8l10.6 10.6m-17.8-10.6 10.7 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.6 10.6M85 474.8l10.6 10.6m-46-10.6 10.5 10.6m-17.7-10.6 10.7 10.6m-17.8-10.6L46 485.4m-17.8-10.6L39 485.4m0 49.6-10.6 10.7M46 535l-10.7 10.7M53.2 535l-10.7 10.7M60.2 535l-10.6 10.7M67.3 535l-10.6 10.7M74.4 535l-10.6 10.7M81.5 535 71 545.7M88.6 535 78 545.7M95.7 535 85 545.7m17.7-10.7L92 545.7m18-10.7-10.7 10.7M117 535l-10.6 10.7M88.6 535 78 545.7m46-10.7-10.6 10.7m17.7-10.7-10.6 10.7m17.7-10.7-10.6 10.7m17.7-10.7-10.6 10.7m0-10.7 10.6 10.7M127.6 535l10.6 10.7M120.5 535l10.6 10.7M113.4 535l10.6 10.7M106.3 535l10.6 10.7M99.2 535l10.7 10.7M92 535l10.7 10.7M85 535l10.6 10.7M78 535l10.6 10.7M70.9 535l10.6 10.7M63.8 535l10.6 10.7M56.7 535l10.6 10.7M85.1 535l10.6 10.7m-46-10.7 10.5 10.7M42.5 535l10.7 10.7M35.4 535l10.7 10.7M28.4 535 39 545.7"/> + </g> + <g fill="#fff" fill-rule="evenodd" transform="matrix(.19848 0 0 .17744 19.1 -14)"> + <rect width="138.2" height="85" x="17.7" y="467.7" stroke-width="1.4" rx="11.3" ry="11.8"/> + <rect width="131.1" height="78" x="21.3" y="471.3" stroke-width="1.3" rx="10.7" ry="10.9"/> + <path stroke-width="1.3" d="m65 396 9.7.5.4 5.8 8 5.3 6.2-6.7 7.5 5.3-7 5.8 1.7 8 8.8-.5V430l-7-.4-3.6 6.6 8 7.5-6.2 6.2-6.7-6.6-9.7 2.6.5 9.7-10.6 1-1.4-9.4-8.8-4.8-4.9 6.6-7.5-4.9 4.4-7.5-5.3-4.8H34l-.4-13.7 7.5.9 5.3-8-6.2-6.2 8-7 5.7 5.7 9.7-1.8z" transform="matrix(.68108 0 0 .5852 38 260.7)"/> + <ellipse cx="68.9" cy="426.8" stroke-width="1.3" rx="11.1" ry="9.9" transform="matrix(.65819 0 0 .70224 38.8 209.6)"/> + <path stroke-width="1.3" d="m39 474.8-10.7 10.6m17.8-10.6-10.7 10.6m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m17.7-10.6L78 485.4m17.7-10.6L85 485.4m17.8-10.6L92 485.4m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m-17.7-10.6L78 485.4m46-10.6-10.6 10.6m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m17.7-10.6-10.6 10.6m0-10.6 10.6 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.7 10.6M85 474.8l10.6 10.6m-17.8-10.6 10.7 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.6 10.6m-17.7-10.6 10.6 10.6M85 474.8l10.6 10.6m-46-10.6 10.5 10.6m-17.7-10.6 10.7 10.6m-17.8-10.6L46 485.4m-17.8-10.6L39 485.4m0 49.6-10.6 10.7M46 535l-10.7 10.7M53.2 535l-10.7 10.7M60.2 535l-10.6 10.7M67.3 535l-10.6 10.7M74.4 535l-10.6 10.7M81.5 535 71 545.7M88.6 535 78 545.7M95.7 535 85 545.7m17.7-10.7L92 545.7m18-10.7-10.7 10.7M117 535l-10.6 10.7M88.6 535 78 545.7m46-10.7-10.6 10.7m17.7-10.7-10.6 10.7m17.7-10.7-10.6 10.7m17.7-10.7-10.6 10.7m0-10.7 10.6 10.7M127.6 535l10.6 10.7M120.5 535l10.6 10.7M113.4 535l10.6 10.7M106.3 535l10.6 10.7M99.2 535l10.7 10.7M92 535l10.7 10.7M85 535l10.6 10.7M78 535l10.6 10.7M70.9 535l10.6 10.7M63.8 535l10.6 10.7M56.7 535l10.6 10.7M85.1 535l10.6 10.7m-46-10.7 10.5 10.7M42.5 535l10.7 10.7M35.4 535l10.7 10.7M28.4 535 39 545.7"/> + </g> + <path fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="M538.6 531.5c1.7 166.6 24.8 202 3.5 202s-31.9-92.1-31.9-205.5 14.2-205.5 35.5-205.5-9 31.9-7.1 209z" transform="matrix(-.32136 -.12684 -.20158 .20221 345.9 61.4)"/> + <path fill="#fff" fill-rule="evenodd" stroke-width="1.2" d="m545.7 779.5-60.3 17.7c56.7 60.3 120.5 85 138.2 74.4s-31.9-35.4-78-92z" transform="matrix(-.19848 0 0 .17744 145.3 -13.4)"/> + <path fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="m547.3 786.9-51 14.7c56.7 60.3 112.8 77.4 127.3 70 14.6-7.3-30.3-28-76.3-84.7z" transform="matrix(-.19334 0 0 .17062 142.8 -8.1)"/> + <path fill="none" stroke-width="1.8" d="M353.1 634.2c.2 1.3.8 7.1 1.3 9.4 0 3.2.3 5.6.6 8.1.8 2.2.7 4.2 3.1 5a10 10 0 0 0 5 4.4 28 28 0 0 0 6.3 3.8 12 12 0 0 0 7.5.6l5.6-4.4c.4-2 .8-4.9 1.3-6.9a33 33 0 0 0-1.3 8.2c.2 3 1.3 4.4 2.5 6.8" transform="matrix(-.13978 0 0 .12414 123 20.4)"/> + <path fill="none" stroke-width="1.8" d="m389.4 681.7.6-.6c-1.5 1.5-.9.8 2.5-1.3q3.5-1.6 8.1-2.4h8.8c3.4 0 5.7.5 8.1 1.2 1.8 1.8 4.4 2.8 6.3 4.4a11 11 0 0 1 3.7 5c1.7 1.7 2.8 4.3 4.4 5.6.7 2.9 2.1 2.8 3.1 5-3 .2-5.3.6-6.9 2.5-2.6 1.3 2.2-1.3 3.2-2.5 2-.6 2.5-1.2 5.6-1.2 2.8-1 4.6.7 7.5 1.2 1.7 1 2.2 1.3 4.4 1.3" transform="matrix(-.13978 0 0 .12414 124.9 19.7)"/> + <path fill="none" stroke-width="1.8" d="M438.1 724.9c1.3 0 7.1 1.1 9.4 0 2.6-.7 4-2 5.6-4.4.8-1.7 0 3 0 5 .3 3.7 1.4 3.7 3.2 6.2 1.8 1.2 3.7 2.8 5.6 3.8a18 18 0 0 0 5.6 3.1q3.2 1.3 5.6 3.1c2.1 1.5 2 3.3 3.2 5.7-.3 3-.8 4.8-2.5 6.2-.8 2.1-2.4 4.2-3.8 5.6-1.5 3-3.3 4.3.6 5 2.2 1 3.4.2 5.7 0" transform="matrix(-.13978 0 0 .12414 127 18.2)"/> + <path fill="none" stroke-width="1.8" d="M480.6 771.7c1.6-.4 7-2.2 9.4-3.1h8.8c3.3.3 4 1.3 6.8 2.5 1.9 1.9 3.1 3.2 5.7 4.4 1.3 1.7 4 4.7 5 6.9a26 26 0 0 1 1.2 8c0 3.7-1 4.4-1.2 7.6a19 19 0 0 1-3.8 7.5q-.3 1-1.2 1.2" transform="matrix(-.13978 0 0 .12414 127.4 17.8)"/> + <path fill="none" stroke-width="2.3" d="M538.1 818c.4 0 1.2 2 2.5 3.7 2.9 3 3.2 3.2 7.5 3.2 4-.2 3.5-1.6 6.3-2.5 1.3-2 2.9-3.6 4.4-6.3 1-1.6 1.9-4.1 3-5.6 1.2-1.9 2.6-3.3 3.8-5 1.2-.5 1.6-1 3.2-1.3-3.6.6-4 1.9-6.3 3.8l-3.1 5.6c-.4 2.7-1.2 4.8-1.3 8.1 0 3.5 0 5.9 1.3 8.8 1.5 1.5 2.5 3.1 4.4 4.4a37 37 0 0 1 4.3 5l5.7 3.7c1.8 1.1 3.9 2.2 6.8 2.5 3.7-.3 4.8-1.3 7.5-2.5 2.4-1.7 4.2-2.8 6.3-4.4a21 21 0 0 0 4.4-5c3.3-.8 5.5-.5 7.5 1.3a17 17 0 0 1 4.3 4.4c1 .5 2.8 2 3.8 2.5" transform="matrix(-.09924 0 0 .09799 109.5 38.8)"/> + <path fill="none" stroke-width="1.9" d="M503.8 836.1c-.8.3-3.8 2.4-5 3.1-.8 2.7-2.1 4.1-2.5 7q-.9 4-.7 8.7c.7 3.2 2 5.5 3.2 8 2 1.4 3 2.4 5.6 3.8q3.6.7 8.1.7c2 .6 5.6.9 7.5 0 2.8-.4 4.9-1.5 6.9-2.5 2.3-1.3 3.7-2.6 6.2-3.8q2.1-2.6 5-5.6c1.6-2.1 2.7-3.3 3.8-5.6q-1.7 3.8-3.1 7.5c-1.5 2.6-2.3 3.6-2.5 6.8-1 2.6-.7 5.8-.7 8.8.3 2 .4 5.8 1.3 7.5v1.9" transform="matrix(-.12338 0 0 .12229 111.4 19.3)"/> + <path fill="none" stroke-width="1.2" d="M541.3 799.2v.7q.2-2.6-.7 2.5c-1.1 1.4-4 1.8-6.2 1.2-2-1.7-2-3-5.6-3.7-3.6.2-5 1.2-7 2.5a10 10 0 0 0-5 4.3c-.7 2.1-1.1 3.6 1.3 4.4a15 15 0 0 0 7 2.5c2.8 0 4.9-.3 6.2 1.3 2 2 1.8 3.2 1.8 6.8.7 1.1.8 4.4 1.3 5.7a11 11 0 0 0 5.6 1.2c.7-2 1.4-5.4 1.9-7.5.5-2.2.6-5.4 1.9-6.9a17 17 0 0 1 4.3-4.4 8 8 0 0 1 3.8-2.4c-2.5 1.2-2.8 2.6-3.1 5.6 2.1 1 2.7 1.8 6.2 1.9 3.5-.3 4.3-1.2 5.6-3.2.3 3.2 1.3 4.2 2 7 1.2 1.8 1.7 3.7 3 6.2-.5 3-1.7 3.1-1.8 6.8-.8 2.5-.8 4.8-2.5 6.3-.8 1-1.4 1.1-3.2 1.2 3.6 0 5.8-.4 8.2-1.8l5-3.8a24 24 0 0 1 7.5-3.8c2.9 0 5-.3 6.2 1.3q2.6 2 3.8 6.3c.5 3.2.8 5.4-.7 7.5-1 2.4-1.3 3.3 0 6.2 1.5 2 3.6 2.3 7 3.1q3.6-.2 6.2-1.2" transform="matrix(-.19848 0 0 .17744 145.3 -13.4)"/> + <g fill-rule="evenodd" stroke-width="1.3" transform="matrix(-.19848 0 0 .17744 145.3 -13.4)"> + <path fill="#fff" d="M531.5 359.6c0-165.2 8-299.4 17.7-299.4 9.8 0 17.7 134.2 17.7 299.4z" transform="matrix(1.4216 -.73423 .46161 .89375 -716.8 541)"/> + <path fill="#fff" d="M531.5 359.6c0-165.2 8-299.4 17.7-299.4 9.8 0 17.7 134.2 17.7 299.4" transform="matrix(1.1373 -.58739 .44532 .86221 -554.8 471.8)"/> + <path fill="#fff" d="M563.4 301.2c.2 18.9 0 40.2 0 60.2H535c0-20-.2-41.3 0-60.2z" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/> + <path fill="#fff" d="M559.8 304.7c.2 19 0 33.1 0 53.2h-21.2c0-20-.2-34.3 0-53.2z" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/> + <path fill="#fff" d="M542.1 311.8h14.2v39h-14.2zm0 0 14.2 39m-14.2 0 14.2-39m-14.2-198.4h14.2" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/> + <circle cx="545.7" cy="92.1" r="3.5" fill="#ef0000" transform="matrix(1.6046 .45375 -.36215 1.5787 -734.9 -170.8)"/> + </g> + <path fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="M538.6 531.5c1.7 166.6 24.8 202 3.5 202s-31.9-92.1-31.9-205.5 14.2-205.5 35.5-205.5-9 31.9-7.1 209z" transform="matrix(.32136 -.12684 .20158 .20221 -181.5 60.8)"/> + <path fill="#fff" fill-rule="evenodd" stroke-width="1.2" d="m545.7 779.5-60.3 17.7c56.7 60.3 120.5 85 138.2 74.4s-31.9-35.4-78-92z" transform="matrix(.19848 0 0 .17744 19.1 -14)"/> + <path fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="m547.3 786.9-51 14.7c56.7 60.3 112.8 77.4 127.3 70 14.6-7.3-30.3-28-76.3-84.7z" transform="matrix(.19334 0 0 .17062 21.6 -8.8)"/> + <path fill="none" stroke-width="1.8" d="M353.1 634.2c.2 1.3.8 7.1 1.3 9.4 0 3.2.3 5.6.6 8.1.8 2.2.7 4.2 3.1 5a10 10 0 0 0 5 4.4 28 28 0 0 0 6.3 3.8 12 12 0 0 0 7.5.6l5.6-4.4c.4-2 .8-4.9 1.3-6.9a33 33 0 0 0-1.3 8.2c.2 3 1.3 4.4 2.5 6.8" transform="matrix(.13978 0 0 .12414 41.4 19.7)"/> + <path fill="none" stroke-width="1.8" d="m389.4 681.7.6-.6c-1.5 1.5-.9.8 2.5-1.3q3.5-1.6 8.1-2.4h8.8c3.4 0 5.7.5 8.1 1.2 1.8 1.8 4.4 2.8 6.3 4.4a11 11 0 0 1 3.7 5c1.7 1.7 2.8 4.3 4.4 5.6.7 2.9 2.1 2.8 3.1 5-3 .2-5.3.6-6.9 2.5-2.6 1.3 2.2-1.3 3.2-2.5 2-.6 2.5-1.2 5.6-1.2 2.8-1 4.6.7 7.5 1.2 1.7 1 2.2 1.3 4.4 1.3" transform="matrix(.13978 0 0 .12414 39.5 19)"/> + <path fill="none" stroke-width="1.8" d="M438.1 724.9c1.3 0 7.1 1.1 9.4 0 2.6-.7 4-2 5.6-4.4.8-1.7 0 3 0 5 .3 3.7 1.4 3.7 3.2 6.2 1.8 1.2 3.7 2.8 5.6 3.8a18 18 0 0 0 5.6 3.1q3.2 1.3 5.6 3.1c2.1 1.5 2 3.3 3.2 5.7-.3 3-.8 4.8-2.5 6.2-.8 2.1-2.4 4.2-3.8 5.6-1.5 3-3.3 4.3.6 5 2.2 1 3.4.2 5.7 0" transform="matrix(.13978 0 0 .12414 37.4 17.6)"/> + <path fill="none" stroke-width="1.8" d="M480.6 771.7c1.6-.4 7-2.2 9.4-3.1h8.8c3.3.3 4 1.3 6.8 2.5 1.9 1.9 3.1 3.2 5.7 4.4 1.3 1.7 4 4.7 5 6.9a26 26 0 0 1 1.2 8c0 3.7-1 4.4-1.2 7.6a19 19 0 0 1-3.8 7.5q-.3 1-1.2 1.2" transform="matrix(.13978 0 0 .12414 37 17.2)"/> + <path fill="none" stroke-width="2.3" d="M538.1 818c.4 0 1.2 2 2.5 3.7 2.9 3 3.2 3.2 7.5 3.2 4-.2 3.5-1.6 6.3-2.5 1.3-2 2.9-3.6 4.4-6.3 1-1.6 1.9-4.1 3-5.6 1.2-1.9 2.6-3.3 3.8-5 1.2-.5 1.6-1 3.2-1.3-3.6.6-4 1.9-6.3 3.8l-3.1 5.6c-.4 2.7-1.2 4.8-1.3 8.1 0 3.5 0 5.9 1.3 8.8 1.5 1.5 2.5 3.1 4.4 4.4a37 37 0 0 1 4.3 5l5.7 3.7c1.8 1.1 3.9 2.2 6.8 2.5 3.7-.3 4.8-1.3 7.5-2.5 2.4-1.7 4.2-2.8 6.3-4.4a21 21 0 0 0 4.4-5c3.3-.8 5.5-.5 7.5 1.3a17 17 0 0 1 4.3 4.4c1 .5 2.8 2 3.8 2.5" transform="matrix(.09924 0 0 .09799 55 38.2)"/> + <path fill="none" stroke-width="1.9" d="M503.8 836.1c-.8.3-3.8 2.4-5 3.1-.8 2.7-2.1 4.1-2.5 7q-.9 4-.7 8.7c.7 3.2 2 5.5 3.2 8 2 1.4 3 2.4 5.6 3.8q3.6.7 8.1.7c2 .6 5.6.9 7.5 0 2.8-.4 4.9-1.5 6.9-2.5 2.3-1.3 3.7-2.6 6.2-3.8q2.1-2.6 5-5.6c1.6-2.1 2.7-3.3 3.8-5.6q-1.7 3.8-3.1 7.5c-1.5 2.6-2.3 3.6-2.5 6.8-1 2.6-.7 5.8-.7 8.8.3 2 .4 5.8 1.3 7.5v1.9" transform="matrix(.12338 0 0 .12229 53 18.6)"/> + <path fill="none" stroke-width="1.2" d="M541.3 799.2v.7q.2-2.6-.7 2.5c-1.1 1.4-4 1.8-6.2 1.2-2-1.7-2-3-5.6-3.7-3.6.2-5 1.2-7 2.5a10 10 0 0 0-5 4.3c-.7 2.1-1.1 3.6 1.3 4.4a15 15 0 0 0 7 2.5c2.8 0 4.9-.3 6.2 1.3 2 2 1.8 3.2 1.8 6.8.7 1.1.8 4.4 1.3 5.7a11 11 0 0 0 5.6 1.2c.7-2 1.4-5.4 1.9-7.5.5-2.2.6-5.4 1.9-6.9a17 17 0 0 1 4.3-4.4 8 8 0 0 1 3.8-2.4c-2.5 1.2-2.8 2.6-3.1 5.6 2.1 1 2.7 1.8 6.2 1.9 3.5-.3 4.3-1.2 5.6-3.2.3 3.2 1.3 4.2 2 7 1.2 1.8 1.7 3.7 3 6.2-.5 3-1.7 3.1-1.8 6.8-.8 2.5-.8 4.8-2.5 6.3-.8 1-1.4 1.1-3.2 1.2 3.6 0 5.8-.4 8.2-1.8l5-3.8a24 24 0 0 1 7.5-3.8c2.9 0 5-.3 6.2 1.3q2.6 2 3.8 6.3c.5 3.2.8 5.4-.7 7.5-1 2.4-1.3 3.3 0 6.2 1.5 2 3.6 2.3 7 3.1q3.6-.2 6.2-1.2" transform="matrix(.19848 0 0 .17744 19.1 -14)"/> + <g fill-rule="evenodd" stroke-width="1.3" transform="matrix(.19848 0 0 .17744 19.1 -14)"> + <path fill="#fff" d="M531.5 359.6c0-165.2 8-299.4 17.7-299.4 9.8 0 17.7 134.2 17.7 299.4z" transform="matrix(1.4216 -.73423 .46161 .89375 -716.8 541)"/> + <path fill="#fff" d="M531.5 359.6c0-165.2 8-299.4 17.7-299.4 9.8 0 17.7 134.2 17.7 299.4" transform="matrix(1.1373 -.58739 .44532 .86221 -554.8 471.8)"/> + <path fill="#fff" d="M563.4 301.2c.2 18.9 0 40.2 0 60.2H535c0-20-.2-41.3 0-60.2z" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/> + <path fill="#fff" d="M559.8 304.7c.2 19 0 33.1 0 53.2h-21.2c0-20-.2-34.3 0-53.2z" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/> + <path fill="#fff" d="M542.1 311.8h14.2v39h-14.2zm0 0 14.2 39m-14.2 0 14.2-39m-14.2-198.4h14.2" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/> + <circle cx="545.7" cy="92.1" r="3.5" fill="#ef0000" transform="matrix(1.6046 .45375 -.36215 1.5787 -734.9 -170.8)"/> + </g> + <g fill="#fff" fill-rule="evenodd" transform="matrix(.19848 0 0 .17744 19.1 -14)"> + <path stroke-width="1.3" d="M305.6 396.9c0 124 .5 170.7-5.6 177.1-5.8 6.9-167.1 0-167.1 35.4s132.8 71 172.7 71q79.8 0 79.7-106.4V397h-79.7z" transform="matrix(1.3333 0 0 1 -141.7 0)"/> + <path stroke-width="1.3" d="M265.8 396.9v17.7a321 321 0 0 0 106.2 0v-17.7a321 321 0 0 1-106.2 0z" transform="matrix(1 0 0 .99999 0 35.4)"/> + <path stroke-width="1.3" d="M265.8 396.9v17.7a321 321 0 0 0 106.2 0v-17.7a321 321 0 0 1-106.2 0z" transform="scale(1 .99999)"/> + <path stroke-width="1.3" d="M265.8 396.9v17.7a321 321 0 0 0 106.2 0v-17.7a321 321 0 0 1-106.2 0z" transform="matrix(1 0 0 .99999 0 17.7)"/> + <path stroke-width="1.3" d="M265.8 396.9v17.7a321 321 0 0 0 106.2 0v-17.7a321 321 0 0 1-106.2 0z" transform="matrix(1 0 0 .99999 0 53.1)"/> + <ellipse cx="256.9" cy="210.8" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 394.3)"/> + <ellipse cx="292.3" cy="246.3" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 391.1)"/> + <ellipse cx="327.8" cy="264" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 390.5)"/> + <ellipse cx="363.2" cy="264" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 390.5)"/> + <ellipse cx="398.6" cy="246.3" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 391.1)"/> + <ellipse cx="434.1" cy="210.8" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 394.3)"/> + <path stroke-width="1.3" d="M265.8 485.4 372 581.1m-95.6-95.7 95.7 85M290.5 489l81.6 70.9m-71-71 71 60.3M311.8 489l60.2 49.6M322.4 489l49.6 39m-39-39 39 28.3M343.8 489l28.4 21.2M354.3 489l17.8 14.2M365 489l7 7m-106.2 0L372 591.8m0-106.3L255 591.7m106.3-106.3-102.7 92.2m88.6-88.6-81.5 70.8m70.8-70.8-70.8 60.2M326 489l-60.2 49.6m49.6-49.6-49.6 39m39-39-39 28.3M294 489l-28.3 21.2m17.7-21.2-17.7 14.2m7-14.2-7 7m106.3 0L255 602.5m117-95.7L255 613m117-95.7L255 623.6m117-95.7L255 634.4m117-95.7L255 644.9m117-95.7L255 655.5m117-95.7L255 666.1m117-95.6L255 676.8m117-95.7-109.9 99.2M372 591.7l-99.2 88.6m95.6-74.4-78 70.9M365 620l-63.8 56.7m56.7-39-32 28.3m-60.1-159.4 102.7 92.1m-102.7-81.5 102.7 92.2M265.8 528l99.2 88.5m-99.2-78 99.2 88.7m-99.2-78 95.6 85m-99.2-77.9 95.7 85M262.2 567l88.6 78m-92.1-71 88.6 78M255 581l85 74.4m-85-63.8 81.5 70.9M255 602.3l71 63.7"/> + <path stroke-width="1.3" d="M265.8 396.9v17.7a321 321 0 0 0 106.2 0v-17.7a321 321 0 0 1-106.2 0z" transform="matrix(1 0 0 .99999 0 70.9)"/> + <path stroke-width="1.3" d="m255.1 613 63.8 56.7m-63.8-46 56.7 49.5m-56.7-39 49.6 42.6m-49.6-32 35.5 32M255 655.5l28.4 24.8M255 666.1l17.7 14.2"/> + <ellipse cx="256.9" cy="210.8" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 447.5)"/> + <ellipse cx="292.3" cy="246.3" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 444.3)"/> + <ellipse cx="327.8" cy="264" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 443.6)"/> + <ellipse cx="363.2" cy="264" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 443.6)"/> + <ellipse cx="398.6" cy="246.3" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 444.3)"/> + <ellipse cx="434.1" cy="210.8" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 447.5)"/> + <path stroke-width="1.3" d="m113.4 652 127.5-74.4m-134.6 70.8 120.5-70.8m-124 63.7 109.8-63.7M99.2 634.3l95.7-56.7M92 627.2l88.6-49.6m-85 39 60.2-35.5M92 609.4l46-28.3m-46 17.7 32-17.7m0 74.4 120.4-70.9M134.7 659 248 591.7m-102.7 70.9 106.3-63.8m-95.7 67.3 88.6-53.1M170 666.1l78-46m-67.4 49.6 67.3-39m-56.7 42.5 53.2-31.9m-39 32 42.5-24.9m-28.3 28.4L248 659m-14 17.8 17.7-10.6"/> + <path stroke-width="1.3" d="M265.8 396.9v17.7a321 321 0 0 0 106.2 0v-17.7a321 321 0 0 1-106.2 0z" transform="matrix(0 1 -.99999 0 655.5 308.3)"/> + <path stroke-width="1.3" d="m49.6 623.6 42.5-35.4m-42.5 10.6 42.5 42.5"/> + <path stroke-width="1.3" d="m260.1 388 5.6 26.6c35.5 5.9 65.3 5.9 100.8 0l11.1-26.6c-35.4 5.9-82 5.9-117.5 0z" transform="matrix(0 .63333 -.8 0 423.8 416.3)"/> + <path stroke-width="1.3" d="M258.7 350.8v-17.9c-10.7.2-17.8-10.5-17.8-21.2l-35.4.1c0 10.6-7 21.3-17.7 21.3v17.7z" transform="matrix(1.4983 0 0 1 -15.6 53.1)"/> + <path stroke-width="1.4" d="M296 343.7h45.6V365H296zm3.9-21.3h37.9v21.3h-38zm0-21.2h37.9v21.2h-38zm3.8-28.4H334v28.4h-30.3zm-1.3-24.8h33v24.8h-33z"/> + <ellipse cx="237.4" cy="161.2" stroke-width="1.3" rx="42.5" ry="33.7" transform="matrix(1.0333 0 0 1 75.3 63.8)"/> + <path stroke-width="1.3" d="M258.7 159.4c0 9.3 10.6 24.8 10.6 24.8-7.7 6.2-20.2 10.7-31.9 10.7s-26.3-2.6-31.9-10.7c0 0 10.6-15.4 10.6-24.7s-10.6-21.3-10.6-21.3a55 55 0 0 1 32-10.6c11.6 0 24 4.5 31.8 10.6 0 0-10.6 12-10.6 21.3z" transform="matrix(1.0333 0 0 1 75.3 63.8)"/> + <path stroke-width="1.3" d="M251.6 159.4c0 9.3 10.6 28.4 10.6 28.4-7.7 6-13 7-24.8 7s-19.2 1.1-24.8-7c0 0 10.6-19 10.6-28.4s-10.6-24.8-10.6-24.8c7.7-6 13-7 24.8-7 11.7 0 17.1 1 24.8 7 0 0-10.6 15.5-10.6 24.8z" transform="matrix(1.0333 0 0 1 75.3 63.8)"/> + <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.0333 0 0 1 75.3 60.2)"/> + <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.0333 0 0 1 163.2 60.2)"/> + <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.0333 0 0 1 119.3 60.2)"/> + <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.0333 0 0 1 119.3 24.8)"/> + <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.0702 0 0 1 80 226.8)"/> + <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.0702 0 0 1 140.6 226.8)"/> + <path stroke-width="1.3" d="M212.6 311.8h49.6l-24.8 31.9z" transform="matrix(1.0702 0 0 1 64.8 53.1)"/> + <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.427 0 0 1.3333 40.7 167.7)"/> + </g> + <g fill="#fff" fill-rule="evenodd" transform="matrix(.19848 0 0 .17744 18.8 -19.1)"> + <rect width="81.5" height="21.3" x="262.2" y="524.4" stroke-width="1.2" rx="4.3" ry="3.7"/> + <path stroke-width="1.2" d="M368.5 506.7c-9.8 0-17.7 8.3-17.7 18.5v16.1a18 18 0 0 0 17.7 18.5 18 18 0 0 0 17.7-18.5v-16a18 18 0 0 0-17.7-18.6zm0 7c-5.9 0-10.6 6.7-10.6 14.9v9.3c0 8.2 4.7 14.8 10.6 14.8s10.6-6.6 10.6-14.8v-9.3c0-8.2-4.7-14.8-10.6-14.8zm-92.1-3.5c-6 0-10.6 6.6-10.6 14.9v16.4c0 8.2 4.7 14.8 10.6 14.8s10.6-6.6 10.6-14.8V525c0-8.3-4.7-14.9-10.6-14.9zm0-7a18 18 0 0 0-17.7 18.5v23.2a18 18 0 0 0 17.7 18.5c9.8 0 17.7-8.3 17.7-18.5v-23.2a18 18 0 0 0-17.7-18.6z"/> + <path stroke-width="1.2" d="M248 517.3c-5.9 0-10.6 6.6-10.6 14.8v3.9c0 8.2 4.7 14.8 10.6 14.8 6 0 10.7-6.6 10.7-14.8v-3.9c0-8.2-4.8-14.8-10.7-14.8zm0-7a18 18 0 0 0-17.7 18.5v10.6a18 18 0 0 0 17.7 18.5c9.8 0 17.8-8.3 17.8-18.5v-10.6a18 18 0 0 0-17.8-18.6z"/> + <path stroke-width=".9" d="M478.4 237.4c-6 0-10.7 6.6-10.7 14.8v16.5c0 8.1 4.8 14.8 10.7 14.8s10.6-6.6 10.6-14.9v-16.4c0-8.2-4.8-14.8-10.6-14.8zm0-7a18 18 0 0 0-17.8 18.4V272a18 18 0 0 0 17.7 18.6c9.9 0 17.8-8.3 17.8-18.6v-23.2a18 18 0 0 0-17.7-18.5z" transform="matrix(1.8 0 0 1.1176 -655.5 242.2)"/> + <path stroke-width=".9" d="M478.4 237.4c-6 0-10.7 6.6-10.7 14.8v16.5c0 8.1 4.8 14.8 10.7 14.8s10.6-6.6 10.6-14.9v-16.4c0-8.2-4.8-14.8-10.6-14.8zm0-7a18 18 0 0 0-17.8 18.4V272a18 18 0 0 0 17.7 18.6c9.9 0 17.8-8.3 17.8-18.6v-23.2a18 18 0 0 0-17.7-18.5z" transform="matrix(1.8 0 0 1.1176 -425.2 245.7)"/> + <rect width="42.5" height="21.3" x="375.6" y="524.4" stroke-width="1.2" rx="2.3" ry="3.7"/> + <rect width="24.8" height="28.4" x="336.6" y="520.9" stroke-width="1.2" rx="1.3" ry="4.9"/> + <rect width="24.8" height="28.4" x="219.7" y="520.9" stroke-width="1.2" rx="1.3" ry="4.9"/> + <rect width="49.6" height="35.4" x="141.7" y="517.3" stroke-width="1.2" rx="2.6" ry="6.1"/> + <rect width="46.1" height="35.4" x="450" y="520.9" stroke-width="1.2" rx="2.5" ry="6.1"/> + </g> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/pa.svg b/apps/web/public/flags/pa.svg new file mode 100644 index 00000000..8dc03bc6 --- /dev/null +++ b/apps/web/public/flags/pa.svg @@ -0,0 +1,14 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-pa" viewBox="0 0 640 480"> + <defs> + <clipPath id="pa-a"> + <path fill-opacity=".7" d="M0 0h640v480H0z"/> + </clipPath> + </defs> + <g clip-path="url(#pa-a)"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#fff" fill-rule="evenodd" d="M92.5 0h477.2v480H92.4z"/> + <path fill="#db0000" fill-rule="evenodd" d="M323 3.6h358v221.7H323z"/> + <path fill="#0000ab" fill-rule="evenodd" d="M3.2 225.3h319.9V480H3.2zm211.6-47.6-42-29.4-41.7 29.6 15.5-48L105 100l51.6-.4 16-48 16.3 47.9h51.6l-41.5 30 15.9 48z"/> + <path fill="#d80000" fill-rule="evenodd" d="m516.9 413.9-42.4-27.7-42.1 28 15.6-45.6-42-28 52-.5 16.2-45.4 16.4 45.3h52l-41.8 28.5 16 45.4z"/> + </g> +</svg> diff --git a/apps/web/public/flags/pc.svg b/apps/web/public/flags/pc.svg new file mode 100644 index 00000000..5202d6d6 --- /dev/null +++ b/apps/web/public/flags/pc.svg @@ -0,0 +1,33 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-pc" viewBox="0 0 640 480"> + <path fill="#003da5" d="M0 0h640v480H0z"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(164.3 311.5 242.2)"/> + <path id="pc-a" fill="#fff" fill-opacity="1" fill-rule="nonzero" stroke="none" stroke-width=".7" d="m472.9 262.8-8.4 1.5-1.1 8.5-4.1-7.5-8.4 1.6 5.8-6.2-4-7.5 7.7 3.6 5.8-6.2-1 8.5z"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-10.3 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-30.9 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-20.6 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-51.5 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-72.1 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-61.8 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-41.2 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-92.7 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-113.3 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-103 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-133.9 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-154.5 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-144.2 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-123.6 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-82.4 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-175.1 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(174.6 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(143.7 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(123.1 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(133.4 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(154 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(-164.8 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(112.8 311.5 242.2)"/> + <use xlink:href="#pc-a" width="1000" height="700" transform="rotate(102.5 311.5 242.2)"/> + <path fill="none" stroke="#00aec7" stroke-width="13.7" d="M444.9 313A151 151 0 0 1 293 392"/> + <path fill="#fff" d="M474.3 288.5S449 277.2 398 277s-105.2 13.9-135.1 13.5c-30-.3-38.8-.3-56.7-3.7 0 0 27 9 55.8 11.6 28.7 2.7 95.2-10.4 128.4-12.5 34-2.1 60.4-2.1 83.8 2.6"/> + <path fill="#00aec7" d="M275 303.2s19.2 1 56-3c37-4 63-9.4 92.1-10.2s61.2 4.4 68 6.1c0 0-48.5-1.3-68.8 1.6s-73 9.5-100.7 10.2-37.3-3.2-46.6-4.7m-80.5-27.8s51 13.6 97.2 4.7c52.3-10.2 83-10 106.4-10 23.4-.2 47.9 5.7 47.9 5.7s-96-100.2-196.5-153.3c0 0-7.5 84.5-55 152.9"/> + <path fill="#fff" d="M274.2 197.5s-1.4-5.3-8.3-4.5c0 0 4.4-2 6.4-1 2 1.1 2.4 1.4 2 5.5m-16.8-9.4s1.5-.5 2.2-.3c0 0 1 3.3 3.2 4.5 0 0-3.8-.3-5.4-4.2m22.2 5a13 13 0 0 0-8.7-4.8c-1.8 0-6 3.5-6 3.5-1-2-.5-3.4-.5-3.4 2 .2 3.7 1 3.7 1-.8-2.6-2-3.8-2-3.8 4-1 8.8 2.5 8.8 2.5a17 17 0 0 0-11-6.8c-1.2-.1-2.7 1.6-2.7 1.6-7.8 0-9.9 4.3-9.9 4.3 3.3 5.1 10 6.3 10 6.3-11.8-1.3-11.5 8-11.5 8l10.9-5.7c-4.2 24.1-21 35-22.4 36.3-1.4 1.4-.5 3 1.5 3.2 1.1 0 2.5 1 6.2-3.4a65 65 0 0 0 16.4-35.4l.2.2c1.2 2.9.4 5.4.6 7.3s4.4 6 4.4 6 2.3-4.5 2-7.1c-.5-2.7-5.5-7.6-5.5-7.6 7.8-1.5 8.2 11.6 8.2 11.6 3-3.5 2.4-7.3 2.4-7.3s6.3-4.6 4.9-6.4"/> +</svg> diff --git a/apps/web/public/flags/pe.svg b/apps/web/public/flags/pe.svg new file mode 100644 index 00000000..33e6cfd4 --- /dev/null +++ b/apps/web/public/flags/pe.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-pe" viewBox="0 0 640 480"> + <path fill="#D91023" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M213.3 0h213.4v480H213.3z"/> +</svg> diff --git a/apps/web/public/flags/pf.svg b/apps/web/public/flags/pf.svg new file mode 100644 index 00000000..bea0354d --- /dev/null +++ b/apps/web/public/flags/pf.svg @@ -0,0 +1,19 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-pf" viewBox="0 0 640 480"> + <defs> + <clipPath id="pf-a"> + <path fill-opacity=".7" d="M0 0h640v480H0z"/> + </clipPath> + </defs> + <g clip-path="url(#pf-a)"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M80 0h480v480H80z"/> + <path fill="#083d9c" fill-rule="evenodd" stroke="#083d9c" stroke-width="2pt" d="M277.3 340.8s10.8-8.8 21.4-8.8 13.4 7.3 20.8 7.9c7.3.6 13.4-7.3 22.5-7.6s20.5 6.4 20.5 6.4l-39.8 12-45.4-10zm-22.9-13 135.4.7s-11.7-12.7-25.5-13c-13.8-.2-10 6-20.5 6.8-10.6.9-13.2-6.4-22.9-6.2s-15.2 6.2-22.5 6.5-16.7-7.3-22.3-7-25.5 8.7-25.5 8.7l3.8 3.6zm-17.3-16 167 .5c2.7-3.8-8.2-12.9-18.1-13.7-8.2.3-14 8.5-20.8 8.8s-14.4-8.5-22-8.2-15.5 8.2-23.1 8.2-13.2-8.5-22.9-8.5-14 9.3-21.4 8.8-13.8-9.4-20.8-9.4-18.7 10.5-21 10c-2.4-.7 2.9 4.3 3.1 3.4z"/> + <path fill="red" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.5" d="m301.3 218.9 38.4 10.2v-54.8c-17.6 1-32.2-33.4-1.2-35.7-30.5-4.4-34 3.5-37.5 12z"/> + <path fill="#083d9c" fill-rule="evenodd" stroke="#083d9c" stroke-linecap="round" stroke-width="5" d="m277 258.7 86.7.3"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-width="4" d="m281.1 238 10.3 13.7m-10.3 0 11.1-13.5M287 237l-.3 8.5m10.8-7.6 10.3 13.8m-10.3 0 11.1-13.5m-5.2-1.2-.3 8.5m11.1-7.6 10.3 13.8m-10.3 0 11.1-13.5m-5.2-1.2-.3 8.5m11.7-7.6 10.2 13.8m-10.2 0 11.1-13.5m-5.3-1.2-.2 8.5m11-7.6 10.3 13.8m-10.2 0 11.1-13.5M354 237l-.3 8.5"/> + <path fill="#ef7d08" fill-rule="evenodd" d="m218.7 259.6 36.9.3v-23.1l-42.2-2.1zm-1.8-32 39.3 3.9-.3-16.4-38.4-15.3-.6 27.9zm8-32.7 30.1 14.6 4.3-4.5s-2.8-1.9-2.6-3.7c0-1.7 2.8-2 2.8-4 0-1.7-3-2-3.1-3.7-.2-2 2.4-4 2.4-4l-27.2-23.7-6.8 29zm198 65h-39l-.3-22.6 42.8-3.2zM384.2 232l46.3-5.6-10-26.7-36.6 15.6zm33.7-39.6L384.5 210c-.5-2-.9-3.8-3.2-5.3 0 0 2-1.2 2-3.2s-2.6-2.4-2.6-3.5 2.4-2.2 2.6-4.9c-.3-1.8-2.6-4.4-2.2-4.9l26-19.8zm-72.4 39.1 16.7-.7.3-6.7zm-51-.5-17.5-.5v-7l17.6 7.5zm0-2-17.5-9v-11.8s-2 .3-1.8-2c.1-4.9 12.9 8.9 19.4 13.4zm51-1.1v-7.7s15.8-14.2 19.1-16.9c0 3-1.8 5.2-1.8 5.2v11.2zM243 163.8l17.8 19.7c.4-1.8 4.5-2.1 8.6-1.8s7.3-.3 7.3 2.6-2 2.5-2 4.6 3 1.9 3 4.5-2.2 2.1-2.2 4.1c0 1.7 2.4 1.8 2.4 1.8l16.6 16.1v-17.2l-34.2-53.7zm27.4-20.4 23.3 47.5s.2-43.8 4.1-46.1l-6.5-12zm101 1.9-26 46.2V172s2.2-3.2-1.2-3-7.5-.2-7.5-.2l10.4-36.6zM398 165c-.3.5-17.5 18-17.5 18-.8-2-6-1-11-1s-5.6 1.6-5.3 2.9c.5 3.3 2.2.8 2.2 4 0 3.1-2.4 2-2.7 4.2.3 2.7 3.8 2 1.7 4l-19.9 19.2v-18.2l37.1-57.6z"/> + <path fill="red" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.5" d="M309.8 268.4c-8.3 13.8-30.6 9.7-35.9 0-1.5-.4-.6-59.5-.6-59.5s-2.5-1.1-2.6-3 3.4-2 3.4-4.3-3.6-1.4-3.7-3.8c0-2.2 3.9-2 3.7-4-.2-2.4-4.3-2-4.5-4.2 0-1.7 3-3.2 3.8-4h-2.8l-6.4.1c-4.6 0 0 1 0 3.6 0 1.7-2.3 2.9-2.5 4.3-.1 1.6 3.2 2.6 3.3 4.5 0 1.6-3.3 1.7-3.2 3.3.2 2.5 3 3.1 2.9 4.7 0 1.5-3.6 2.1-3.7 3.3.2 2.4.6 60.8.6 60.8 5.7 29.8 38.8 37.3 48.2-1.8zm21.9 0c8.3 13.8 30.6 9.7 35.8 0 1.6-.4.7-59.5.7-59.5s2.5-1.1 2.6-3-3.2-2-3.2-4.3 3.4-1.4 3.4-3.8c0-2.2-3.5-2-3.3-4.2s3-2 3.1-4.2c.1-1.9-1.7-3-2.6-3.8h2.7l6.4.1c4.5 0 0 1 0 3.6 0 1.7 2.3 2.9 2.5 4.3 0 1.6-3.2 2.6-3.3 4.5 0 1.6 3.3 1.7 3.2 3.3-.2 2.5-3 3.1-3 4.7.1 1.5 3.7 2.1 3.7 3.3l-.5 60.8c-5.7 29.8-38.9 37.3-48.2-1.8z"/> + <path fill="#083d9c" fill-rule="evenodd" stroke="#083d9c" stroke-width="2pt" d="M301.7 295.6H339c.3-.3-8.4-13-18.6-12-11.5.3-19.3 12-18.7 12zm118.9-1h-51s6.6-3.8 8.4-7.4c3.3 1.8 2.4 3.6 9 3.9s12.9-7.5 19.2-7.2 14.4 11 14.4 10.8zm-201 0h51s-6.6-3.8-8.4-7.4c-3.3 1.8-2.4 3.6-9 3.9s-13-7.5-19.2-7.2c-6.3.3-14.4 11-14.4 10.8zm3.8-16 36.3.3s-2.3-5-2.6-11.1c-9.4-3.2-17 7-23.8 7.3-6.7.3-13.7-7.3-13.7-7.3zm194 0-36.4.3s2.3-5 2.6-11.1c9.4-3.2 17 7 23.8 7.3 6.7.3 13.7-7.3 13.7-7.3zM311 279l18.4-.5s.3-5.6-9.3-5.6-8.8 6.4-9.1 6.1zm-11.2-7.9a17 17 0 0 0 8.2-7.6l-12.6.3s-5.8 3.5-8.7 7.3zm40.8 0a17 17 0 0 1-8.2-7.6l12.6.3s5.8 3.5 8.7 7.3z"/> + <path fill="#de2010" fill-rule="evenodd" d="M-40 360h720v120H-40zm0-360h720v120H-40z"/> + </g> +</svg> diff --git a/apps/web/public/flags/pg.svg b/apps/web/public/flags/pg.svg new file mode 100644 index 00000000..7b7e77aa --- /dev/null +++ b/apps/web/public/flags/pg.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-pg" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#000001" d="m1.6 0-.5 480h640z"/> + <path fill="red" d="m640.6 480 .5-480H1.1z"/> + </g> + <path fill="#fc0" stroke="#fc0" stroke-width="1.1" d="m178 54-3.8-.2c-1.2-2.8-4.5-3.8-6.6-2.6L156 51l7.1 3.1C165 59 171 60 171 60c-.6 8.8-8.9-1.1-15.9 3.9-5 3-5 6.5-7.7 12.3-.9 1.6-4.4 5.8-4.4 5.8l5.9-.5L147 84l7-1-1.5 1.4c1 .2 8-1.7 8-1.7L160 85l8-2.9s1.6 1.3 3 1.9l1-4 4 1 1-4c6 8 8 16 19 18l-1-4 8.7 4 .9-1.7c4.8 3.4 8.7 3.3 11.4 3.7l-2-5 2 1-3-8 3 1-4-6 1.5-1-.5-3c6 2 14 5 15 12 1 11-11 14-19 13 6 5 17 3 22-2 2-2 3-5 4-8 1 3 3 7 3 11-1 9-13 12-21 13 9 5 25-1 26-14 0-11-7-16-10-21l-1-5.4 3 1.4s-1.8-3.3-2-4c0 0-3.1-8.5-4.2-10.4l2.2.4-8.2-10.3 2.3-.2S215.6 44 213 43l3-1c-6-3-13-1-19 3l1-3-1.8.2v-3.5L198 36l-3-1 2-5-3 1 1-5s-2.2 1-3.6.9l1.6-3.4c-1-1.5 0-4.5 0-4.5-7 1-8 2-12 8-6 11-4 16-3 27z" transform="matrix(2.21989 0 0 2.21194 1.1 0)"/> + <path fill="red" fill-rule="evenodd" stroke="red" stroke-width="1.4" d="M215.8 70.4c.5.9 6.2 3.6 10.4 6-1.1-4.6-9.4-5.6-10.4-6z" transform="matrix(2.21989 0 0 2.21194 1.1 0)"/> + <path fill="#fff" fill-rule="evenodd" d="m175 399-14.2-9-19 9.1 4.3-16.2-14.5-15.1 16.7-1 10-18.4 6.1 15.5 20.7 3.8-13 10.6zm36.2-79-6.6-3-6.3 3.6 1-7.2-5.4-4.9 7.1-1.3 3-6.6 3.5 6.4 7.2.8-5 5.2zm32-45.2-14.5-7-13.9 7.8 2.3-15.7-11.8-10.8 15.7-2.8 6.6-14.4 7.6 14 15.8 1.8-11 11.5zm-65.8-63-17-8.5-16.5 9.1 2.8-18.6-13.8-13 18.7-3 8-17 8.7 16.7 18.8 2.3-13.3 13.4zm-60.8 65.4-17-10-17 10.3 4.3-19.3-15.1-13 19.7-1.8 7.7-18.3 7.9 18.2 19.8 1.6-14.9 13z"/> +</svg> diff --git a/apps/web/public/flags/ph.svg b/apps/web/public/flags/ph.svg new file mode 100644 index 00000000..b910e24c --- /dev/null +++ b/apps/web/public/flags/ph.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ph" viewBox="0 0 640 480"> + <path fill="#0038a8" d="M0 0h640v240H0z"/> + <path fill="#ce1126" d="M0 240h640v240H0z"/> + <path fill="#fff" d="M415.7 240 0 480V0"/> + <path fill="#fcd116" d="M26.7 42.4 41 55l16.6-9.2-7.4 17.5 14 13-19-1.6-8.1 17.2-4.3-18.5L14 71l16.3-10zm323.8 172.3.4 19 18 6.3-18 6.2-.4 19-11.5-15.1-18.2 5.5 10.8-15.6-10.8-15.6 18.2 5.5zM37.2 388.1l8 17.2 19-1.6-13.9 13 7.4 17.5-16.6-9.1-14.4 12.4 3.6-18.7L14 409l18.9-2.4zm114.2-249-6.2 6.2 3.1 47-3 .3-5.7-42.9-5.1 5 7.6 38.4a48 48 0 0 0-17.2 7.1l-21.7-32.4H96l26.4 34.3-2.4 2-31.1-35.5h-8.8v8.8l35.4 31-2 2.5-34.3-26.3v7.1l32.5 21.7q-5.2 7.8-7.1 17.2L66.3 223l-5.1 5 42.9 5.7q-.3 1.6-.3 3.1l-47-3-6.2 6.2 6.2 6.2 47-3.1.3 3.1-42.9 5.7 5 5 38.4-7.6a48 48 0 0 0 7.1 17.2l-32.5 21.7v7.2l34.3-26.3 2 2.4-35.4 31v8.8H89l31-35.4 2.5 2L96 312.2h7.2l21.7-32.5q7.8 5.2 17.2 7.1l-7.6 38.4 5 5 5.7-42.9q1.5.3 3.1.3l-3 47 6.1 6.2 6.3-6.2-3.1-47 3-.3 5.7 43 5.1-5.1-7.6-38.4a48 48 0 0 0 17.2-7.1l21.7 32.5h7.2l-26.4-34.3 2.4-2 31.1 35.4h8.8v-8.8l-35.4-31 2-2.4 34.3 26.3v-7.2l-32.5-21.7q5.2-7.8 7.1-17.2l38.3 7.6 5.1-5-42.9-5.7q.3-1.5.3-3.1l47 3 6.2-6.1-6.2-6.2-47 3-.3-3 42.9-5.7-5-5-38.4 7.5a48 48 0 0 0-7.1-17.2l32.5-21.7v-7.1l-34.3 26.3-2-2.4 35.4-31v-8.9H214l-31 35.5-2.5-2 26.4-34.3h-7.2L178 200.2q-7.8-5.2-17.2-7.1l7.6-38.3-5-5-5.7 42.8-3.1-.3 3-47z"/> +</svg> diff --git a/apps/web/public/flags/pk.svg b/apps/web/public/flags/pk.svg new file mode 100644 index 00000000..4ddc19f8 --- /dev/null +++ b/apps/web/public/flags/pk.svg @@ -0,0 +1,15 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-pk" viewBox="0 0 640 480"> + <defs> + <clipPath id="pk-a"> + <path fill-opacity=".7" d="M-52.3 0h682.6v512H-52.3z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#pk-a)" transform="translate(49)scale(.9375)"> + <path fill="#0c590b" d="M-95 0h768v512H-95z"/> + <path fill="#fff" d="M-95 0H97.5v512H-95z"/> + <g fill="#fff"> + <path d="m403.7 225.4-31.2-6.6-16.4 27.3-3.4-31.6-31-7.2 29-13-2.7-31.7 21.4 23.6 29.3-12.4-15.9 27.6 21 24z"/> + <path d="M415.4 306a121 121 0 0 1-161.3 59.4 122 122 0 0 1-59.5-162.1A119 119 0 0 1 266 139a156 156 0 0 0-11.8 10.9A112.3 112.3 0 0 0 415.5 306z"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/pl.svg b/apps/web/public/flags/pl.svg new file mode 100644 index 00000000..0fa51452 --- /dev/null +++ b/apps/web/public/flags/pl.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-pl" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#fff" d="M640 480H0V0h640z"/> + <path fill="#dc143c" d="M640 480H0V240h640z"/> + </g> +</svg> diff --git a/apps/web/public/flags/pm.svg b/apps/web/public/flags/pm.svg new file mode 100644 index 00000000..19a9330a --- /dev/null +++ b/apps/web/public/flags/pm.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-pm" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#000091" d="M0 0h213.3v480H0z"/> + <path fill="#e1000f" d="M426.7 0H640v480H426.7z"/> +</svg> diff --git a/apps/web/public/flags/pn.svg b/apps/web/public/flags/pn.svg new file mode 100644 index 00000000..209ea71a --- /dev/null +++ b/apps/web/public/flags/pn.svg @@ -0,0 +1,53 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-pn" viewBox="0 0 640 480"> + <path fill="#00247d" d="M0 0h640v480H0z"/> + <path fill="#012169" d="M0 0h320v240H0Z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0Z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5Zm-92 10 3 17.5-96 72H0ZM320 0v1.5l-124.5 94 1-22L295 0ZM0 0l119.5 88h-30L0 21Z"/> + <path fill="#fff" d="M120.5 0v240h80V0ZM0 80v80h320V80Z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0Z"/> + <path fill="#f7e017" stroke="#000" stroke-width=".4" d="M410.1 252.3a57 57 0 0 0-19 27.8c-5.7 27.3-13.3 33.4-25 27.5 0 14.7 12.9 15.8 18.5 7.3 0 13.7 5 25.6 16.2 35.8 4.8 4.3 5.7 1.4 3.4-3.4-2.2-4.7-2.2-20-6.7-28.8 7.2 5.1 17.8 2.2 17-12-9.3 5.4-18.5 5.2-19.5-7.7-1.1-15 4.7-37 15.1-46.5zm-11-108.6c.7-5.5-.5-11-4.5-14.5-7.6-6.7-15.1-4.5-20.7 1-8.3-4.6-12.8 11.4-22.2 8.7 1.5 5.2 4 7.4 8.8 5.6-5 4.5 0 10-5.9 15.4 10.6 3.4 16.2-2.5 15.8-12.7a9.6 9.6 0 0 0 13.7-.7c-5.6-1.8-5.6-6.7-3.4-11.2 3.4-6.8 19.3-6.5 18.4 8.4z"/> + <path fill="#337321" stroke="#000" stroke-width=".4" d="M423.6 222.1c-12 6.4-33.8 3.7-35.9-12-2-15.5 13.1-22.5 17.2-24.5 6.3-3.2 11.3 2.5 9.2 9 7-2.4 8.6-10.6 5.2-15.3 9.3.7 17.8-6.3 21.4-16.2-3.2 3-12 1-19.3.5 2.2-2.5 2.2-7.3 1.5-9.8-7.6 7.9-18.7 4.3-33.3 27a1023 1023 0 0 0 9.6-37.1c.8-15-15-15.2-18.4-8.4 3.7 4.2 1.7 9 .4 16.5-1.6 8.7-5 29-7.9 35.8-.9-10.6-7.9-11.3-9.2-16.5-2 1.4-3.2 5-2.7 7.5-2.5-2.7-11.1.7-14.3-3.4-3.3 6.7 2 13.5 7.7 16.5-3.3.2-4 4.1-7.7 4.1 4.9 5.7 9.9 8 15.6 8.4 5.8.4 10 2.6 13.5 9.6 5.7 11.3 27.2 18.6 47.4 8.3z"/> + <path fill="#f7e017" stroke="#000" stroke-width=".4" d="M453.4 208.4c-6.8 18.7-25.3 32-33.6 34-14.2 3.5-43.2 17.6-51 24.8a9 9 0 0 1-3.2-1.3c-3.8-2.7-7-11.5-.2-19 21.2-19.8 44-11.2 58.2-24.8-12 6.3-33.8 3.6-35.8-12a55 55 0 0 0 54.5-16.2 98 98 0 0 1 11 14.5z"/> + <path fill="#337321" stroke="#000" stroke-width=".4" d="M410.1 252.3c-10.7 9-16.2 31.4-15.1 46.5q.5 6.2 3.3 8.8c.8-8.6 6.7-30.7 22-40.6 12.8-8.3 32.9-27 40.3-48.5a17 17 0 0 0-7.9-9.2c-7.4 20.2-27.1 29.9-42.6 43z"/> + <path fill="#316d3a" stroke="#000" stroke-width=".4" d="M446.5 199.7a50 50 0 0 1-20.9 16.8 11 11 0 0 0 2.5-6.8 77 77 0 0 1-40.4.5 55 55 0 0 0 54.6-16.2 21 21 0 0 1 4.2 5.7z"/> + <path fill="#337321" stroke="#000" stroke-width=".4" d="M365.4 247c-17.2 16-5.8 30.2 1 33.3-1.9 11.3 8.7 10 8.5 19.4 4.3-2.4 5.4-9 4.7-14.2 5.5 5.9 19.2-.7 22.1 10.2 1.9-12-7.4-24-18.9-22.8 4.8-4.3 2-11.3-2.5-13.1-.9 8.8-10.8 8.8-14.6 6-3.9-2.6-7-11.4-.3-18.9z"/> + <path fill="#f7e017" stroke="#000" stroke-width=".4" d="M402.7 349.6c-1.8 1-1.7 3.5-.5 5 2.3 3.2-1.7 10.4 6 11.9 2.2.5 4-1 4.8-3.5 2.4-7.1-5.2-7.9-5.9-11.3-.6-3.4-2.8-3-4.4-2.1z"/> + <path fill="#f7e017" stroke="#000" stroke-width=".4" d="M409.2 362.9c-2.5 1.2-4.8 2.8-3.7 11 .4 3.3.2 11.4-2.8 11.5 1.8 1 5.7 2 7.3-.2 1.5 2.6 5 1.8 6.3-1.3 1.8 1.4 4.3-1 4.3-3.2 1.5 1 4.7-.4 3.9-5.3 2 .7 4.4-.7 5.3-1.9-2.8-.6-10-4.4-11.6-7.4-1.7-3.1-6-4.6-9-3.2z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M370 134.7q1.8-2.4 4-4.6m39 34.5q3.1-1.6 8.4-1M410 385.2c-.8-1.1-1.1-5.8-.6-8.7m6.9 7.4c-1.3-1-3.6-4.3-4-7.1m8.3 3.9a19 19 0 0 1-6.3-8.9m10.2 3.6c-1.9-.4-7.6-4.1-10-8"/> + <path fill="#f7e017" stroke="#000" stroke-width=".4" d="M528.5 247.2c27.7 23.2 29.5 41.7 25.3 52.5-2.3-10.1-13.8-25.9-25.8-30z"/> + <path fill="#337321" stroke="#000" stroke-width=".4" d="M478.9 234h51.4v61c0 51.9-28.8 82.5-58.2 98.8A108 108 0 0 1 414 295v-61h36c0 3.2.4 8 4 12.7 8.6-.8 18.2-7.2 24.9-12.6z"/> + <path fill="#006ec7" stroke="#000" stroke-width=".4" d="M530.3 234v61q-.2 23.4-7 41.3L472 242.6l-51 93.7q-7-18-7.1-41.3v-61z"/> + <path fill="#f7e017" d="M524.8 331.9a116 116 0 0 1-3.8 10L472 251l-48.7 91c-1.3-2.8-2.9-7.3-3.8-10l52.7-97.6z"/> + <path fill="#f7e017" stroke="#000" stroke-width=".4" d="m495.3 365.3 5 2.3a36 36 0 0 0 2.2-19.8c-2.9 7.4-12.8 7.2-15.5 11.7q2.5 1.4 4.5 2.9c-3.4 3.4-11.3 9-15.8 10.4v-48.4c0-3.4-1.2-6.2-1.2-9v-10c0-2.3-.4-5.6-2.4-5.6s-2.5 3.3-2.5 5.6v10c0 2.8-1.1 6-1.1 9v48.4c-2.5-7.2-12.2-4.8-16.7-12a14 14 0 0 1 5.4-.2c-3.4-11.5-12.7-12.4-14.4-15.8 0 4.8-2 15.8 1.1 20.6q1.1-1.4 3-2.5c3.9 8.3 21.1 8.3 25.2 22.1 3.3-5 15-11 23.2-19.7z"/> + <path fill="#f7e017" stroke="#000" stroke-width=".4" d="M472.1 325c3.8 0 16-1.2 20.4-1.2 1.2 0 2.1-1.8 2.1-3.9s-.9-3.8-2-3.8c-4.5 0-16.6-1.2-20.5-1.2s-16 1.2-20.4 1.2c-1.2 0-2.1 1.7-2.1 3.8s1 3.9 2 3.9c4.5 0 16.7 1.2 20.5 1.2zm-2.5-19.8q-1.2-1-3-1c-2.6 0-4.7 1.8-4.7 4.1 0 2.4 2.1 4.3 4.7 4.3 2.5 0 4.6-2 4.6-4.3 0-1.8 2.6-1.8 2.6 0 0 3.7-3.2 6.7-7.2 6.7s-7.3-3-7.3-6.7c0-3.6 3.3-6.6 7.3-6.6a8 8 0 0 1 3.3.8z"/> + <path fill="#f7e017" stroke="#000" stroke-width=".4" d="M451.7 323.8c1.1 0 2-1.8 2-3.9s-.9-3.8-2-3.8"/> + <path fill="#f7e017" stroke="#000" stroke-width=".4" d="M453.4 323.8c1.1 0 2-1.8 2-3.9s-.9-3.8-2-3.8m11.1 8.4c1.4 0 2.5-2 2.5-4.6s-1-4.6-2.5-4.6m2.6 9.4c1.5 0 2.6-2.1 2.6-4.8s-1.1-4.8-2.6-4.8m8.7 9.7c1.5 0 2.6-2.2 2.6-4.9s-1.2-4.9-2.6-4.9m2.7 9.6c1.4 0 2.6-2 2.6-4.7 0-2.6-1.2-4.7-2.6-4.7m12.1 8.6c1.2 0 2.1-1.7 2.1-3.9s-.9-4-2-4m-43.7 47q2-1.4 4.8-2m41.1 2.4-1.4-1m3.8 3q5-5.1 7.3-11.7"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="M461.8 277.2c0-1.2.9-1.6 2-2.4 1.2-1 1.7-1.4 2.9-1.4h14.8q1.4-.1 1.3 1.3v20q.2 1.4-1.3 1.4h-19.7v-19.2"/> + <path fill="#e5e5e5" stroke="#000" stroke-width=".4" d="M477.8 297.8c2 0 1.6 0 3-1.4s1.3-1.3 1.3-2.6v-18.4q.1-1.4-1.3-1.2h-13.7c-1 0-1.5.4-2.7 1.3-1 .8-1.8 1.2-1.8 2.2v20.1z"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="M479.3 297.4q.1 1.4-1.4 1.3h-14.8q-1.5.1-1.3-1.3v-20.1q-.2-1.4 1.3-1.3h14.8q1.5-.1 1.4 1.3z"/> + <path fill="#96877d" stroke="#000" stroke-width=".4" d="M508 222.3c2.8 3.2 3.8 7.5 2.2 11.8H506c1.8-5.5.7-10.6-7-11.3-11.4-1-24.8 21.2-44.9 23.9-5.8-7-5.5-20.3 2-26.6a82 82 0 0 0-17.7-28.6 55 55 0 0 0-10.7-.7c3-6.4 11.3-13 18.1-15.7l3.4-4.5c.7-8.7 42-4.7 50.7.7 0 9.8 3.9 42.2 8.2 51z"/> + <path d="M458 228.2c-1-15-7.1-27.4-15.7-35.8a24 24 0 0 0 18-3c7.5-5 27-13.6 34-9.9.6 1.3 1 4 .5 5.9-1.7-4.5-20.4 2.4-25.7 4.6-5 2.3-7.3 5.5-5.5 12.6-3-2.5-2-4.8-5-6.6 1.2 2.9 2.2 8.2 2.6 12.5-1.2-3-3.2-9.6-7.6-13.5a74 74 0 0 1 5.6 34.8c3 0 9.8-3 12.4-5-2.3 3.3-9.2 5.7-13.5 6.6a22 22 0 0 0-3.3 11.8c-.3-4.2 1-14.3 3.1-15zm50-5.9c-3.8-4.2-10.7-6.4-19.6-4a28 28 0 0 1 6.8-2.3c-.3-2.3-2.4-12.5-2.8-15l2.5-1c1.3 6.1 2.8 13.1 3.8 16 .8.1 2.6.5 4.2 1.3-.7-2.4-4.5-19.4-4.4-21.2l3.4-1.8a138 138 0 0 0 6 28z"/> + <path fill="#96877d" stroke="#000" stroke-width=".4" d="M506 234c1.7-5.3.6-10.5-7-11.2-6-.5-12.4 5.3-20 11.3zm-49.9-48.5a45 45 0 0 1-14.8-1.5q.3-1.4 1.1-3.2a47 47 0 0 0-8.5 6.8c5.4 1.2 16.6 1.7 22.2-2.1z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M456 220q1.9 5.6 2.1 10.3m-12.4-55.2c-2 3-3.8 6.2-4.4 9a48 48 0 0 0 14.8 1.4"/> + <path fill="none" stroke="#000" stroke-width=".4" d="m438.4 191.5 4 .9c4 1.1 12.3 1.1 18-3s21-16.7 38.3-18"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M433.9 187.6c5.4 1.2 16.6 1.7 22.2-2.1a76 76 0 0 1 38.4-14.8"/> + <path fill="#337321" stroke="#000" stroke-width=".4" d="M528.5 247.2c19 13 33 25.7 37 46s11.7 25.7 21.2 20.3c-2.2 11.7-14 13-23.9 4 1 13.6-4.5 29.8-18.5 35.7-.9-8.1 4.5-14.6 3-21.2-.7-3-1-9.7 2.9-12.9-7.5 2.5-19.2-2.2-20.3-13.3 8.6 4 19.6 4.7 23.9-6.1s2.4-29.3-25.3-52.5zm23.9-105.6c5.9-15.3 21.2-13.7 26.4-7.2 15.1-8.6 17.2 10.8 30 7-.2 3.6-4.5 7-9.2 6.7 5 4.5-2 11.3 8.5 15.4-9 4.5-21.6-.2-25-12.7-3 5.9-13.5 5.9-17.8 1.2 9.2-2.5 8.6-11 3.4-14.5-5.3-3.4-14.5-2-16.3 4.1zm-45.7 33.8a82 82 0 0 0 22.3 34.8c10.8 10 27.1 7.4 36.3-2 .2 18.8-19.4 20.3-30.2 14.4-4.8-2.6-8.7-1.3-4.1 3 7 6.2 22.3 11 40.4 14.8 31.5 6.8 20.3 31.8 11 31.6 2.7 0 4.9-2.9 1-6.3-27.4-24.7-83-15-82.2-70-5.8 14.5-30 8.8-18.7-8.3 3.6 2.9 10 3.1 11.7-1.4 1.4-3.5.5-9.6-5.8-14.9 1 0 3.3 0 3-2.6.3 1.6 1.7 3.8 5.3 3 1 1.7 2 2.7 3.5 2.1.3 0 1.1-.5.8-2.1.2 3 3.8 4.1 5.7 3.9z"/> + <path fill="#f7e017" stroke="#000" stroke-width=".4" d="M535 222.6c13.1 8.5 28 8.5 41.5-7.2 4.3-5 11-9.3 15.8-9.7 4.8-.5 4.5-5 8.1-6-2.2-.6-3.1-3.3-6.5-3 8.5-2.9 6-9.7 10.1-13-3.4 1.3-8.6-3.7-13.5 2.7 1.3-3-.5-6.4-1.7-7.8.5 3.4-6.6 4-8 12.6-.7 4.8-3.4 4.6-3.8-2.9-.3-5.4-3-20.5-6-28.2-3.2-7.6-4-18.2.3-19.7a8 8 0 0 0-2.6-2.8c-5.3-3.4-14.5-2-16.3 4-5.8 15.4 10.6 24.2 9.3 40.9-2.5-12.4-22.6-15.6-22.4-27.8-6.5 3-5.6 8.4-3.1 12.7-4-6.3-13.3 4-21.2-4.5-1 11.3 9 15.5 17.1 16-4 7.2 1.4 13.3 6.8 15.3.2-12.6 26.1-7.5 26.4 14.2.2 18.5-19.7 20-30.3 14.2zm36.4 17.8c31.5 6.8 20.3 31.8 11 31.6-5.9-.2-11.5-5.1-11.8-9.4-6.8 3.6-5 10.7.2 13.5-14.2-1.6-20.2 7.7-20.5 18 2.6-4.8 10.4-5 13.4-4s10.5 1.5 13.5-2c-2.5 2.2 1.6 7.2-2 11 12-.4 17.1-11.5 15-16.3 15.4-14 12.5-36.8-18.8-42.4zm-24.1 107.2c2 1.2 1.8 4 .4 5.7-2.8 3.4 1.4 11.5-7.2 13q-3.9.3-5.2-4.2c-2.4-8 6.1-8.6 7-12.3s3.3-3.3 5-2.2z"/> + <path fill="#f7e017" stroke="#000" stroke-width=".4" d="M539.6 362.1c2.7 1.4 5.1 3.4 3.7 12.4-.7 3.7-.8 12.8 2.5 13-2 1-6.4 1.9-8-.5-1.9 2.8-5.7 1.8-7-1.8-2.2 1.6-4.8-1.3-4.7-3.7-1.8 1-5.3-.7-4.2-6-2.2.6-4.9-1-5.8-2.4 3.1-.6 11.2-4.5 13.3-7.8 2-3.4 7-4.8 10.2-3.2z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M537.7 387c1-1.2 1.5-6.5 1-9.7m-8 7.9c1.5-1 4.2-4.5 4.8-7.7m-9.5 4a22 22 0 0 0 7.4-9.7m-11.5 3.7c2-.4 8.6-4.3 11.4-8.6"/> + <path fill="#f7e017" stroke="#000" stroke-width=".4" d="M501.2 195.8c-.4 23 9.2 34.8 22.6 42.4-5-3-2.8-13.1-9.5-16.4 1.6-.1 4 2.1 8 1.2-2-4.2-5-10.8-12.4-11.7 2-.2 6 .5 8.8-.5-3.8-6-14-3.1-17.5-15zm-2.4-22q-1.2-.5-2.1-2.2c-3.6.8-5-1.5-5.3-3 .3 2.6-2 2.5-3 2.6 6.3 5.2 7.2 11.3 5.8 14.8-1.8 4.5-8 4.3-11.7 1.4-.5 9.6 12 12.7 16.5.7 0 2 2.6 1.8 3.2 4.5 3.2-5.2.8-12.7-3.4-18.8z"/> + <path fill="#337321" stroke="#000" stroke-width=".4" d="M479 128a27 27 0 0 1-8-18.9c.2-5 2.2-10.3 9.5-8-2.3 0-.7 4.4-3 4.9 1.8.7 4.4-.9 4.8-2 .4 1.6 3.4 1.2 3.6 3 1.1-.9-.1-5.3-1.8-6.2 1.2-.7 2-4.2 1.4-5.9-1.2.2-2.9 1.8-3.2 4.1.6-1.8-.1-6.3-3.3-7-.9 1.2-1.1 4.3.1 6-2.9-.7-7.2 1.2-8.2 3.7.2-3 .6-7.3 2.5-10 .6-.8-1-2.4-2.1-.3-2.2-4.3-8-6.5-10.7-4.4-2.6 2.2-6-1-8.2 2.4s-9.4 3.7-9 7.3c.2 2.2-.3 5.5-1.4 6.7-2.6 2.9 1.3 5 2 7.6-.5-8.5 13.1-25.2 26.8-18.7a30 30 0 0 0-2.7 11.6c-.6 7.7.6 18.5 8 24.9z"/> + <path fill="#c8102e" stroke="#000" stroke-width=".4" d="M483 101.1c0-2 3.5-4.7 8.2-4.6 5.7 0 10 5.2 14.6 4.7s2.4 2 1.4 2.8q-1.6 1-1.2 2.9c.3 1.2-.2 2-2 .9-4.1-2.6-8.2 1-13.6-1-4.5-1.7-7.2-2.7-7.4-5.7z"/> + <path fill="#96877d" stroke="#000" stroke-width=".4" d="M459.8 154.4a34 34 0 0 0-15-16.7l-.2-3.8a50 50 0 0 0 10.1-7.6c17 8 40-3.4 50.6-15.3l4 2.4-2 2.7-2.1-1.1a130 130 0 0 1-15.2 14.2c3.9 1 9.3 1.7 10.8 1.6 9.4-6.8 16.9-12.9 20.5-13.3l3 4-2.7 2-2.1-1.3a109 109 0 0 0-26.2 38.8c-6.3-1.4-28.9-.5-33.5-6.6z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M490 129.2q-2.4-.6-3.5-1.2a23 23 0 0 1-12.1 3.4"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M460.7 151.9c-1.5-8.4 1-17.8 5.2-20.6a34 34 0 0 0 34.8-.5"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M460.7 147.5c7.2-.2 23 1 26.7 1.5 3.9.6 10.3 2.2 9.4 4.1m-32.8-6.8 2.1-2-2-2.1-2.1 2z"/> + <path fill="#337321" stroke="#000" stroke-width=".4" d="M469 104.3c-2.6-3.6-9.8-4.8-11.3 0-.7 2.2-1.7 4.5-3.4 5.5s-1.3 4.1-.6 5.4c1.8 3.3.2 6.5 3.7 8.6 0-2.6 3.9-5.3 7.1-6 3.3-.6 8.3-3.6 9-6.8.6-3.4 1.8-6-4.5-6.7z"/> + <path fill="#96877d" stroke="#000" stroke-width=".4" d="M452.7 136.8h1v6.1l.5.3 5.3-3 .5.7-5.4 3.1v.6l5.4 3-.5.8-5.4-3-.5.3v6.2h-.9v-6.2l-.5-.3-5.3 3.1-.5-.8 5.3-3v-.7l-5.3-3 .5-.8 5.3 3 .5-.3z"/> + <path fill="#96877d" stroke="#000" stroke-width=".4" d="M460.7 151.8a10.7 10.7 0 1 1 .9-14 24 24 0 0 0-1.2 5.7 7.3 7.3 0 1 0-7.3 8c3.4 0 6.3-2.3 7.2-5.4 0 1.4 0 4.6.4 5.7z"/> + <path fill="#337321" stroke="#000" stroke-width=".4" d="M448.6 162c-.6-.8-1.9-3-1.7-4.5a6 6 0 0 1 3.8 1.5c-.1-1.2-.6-3.6-.3-4.8 1.2.5 3.8 2 4.7 3.6-.2-1.1-.7-4-.2-5.8 1.3.8 3.6 2.9 4 4.4.2-2.3 1-6 1.6-7 1 1 2.6 2 3.6 3.4.2-1.9 1.2-4 2.5-4.5 1 1 2.6 3.7 3 6.6 1-.3 2.3-2 2.9-3 .5 1 1.1 2.5.7 4.5 1.3-1.2 2.8-2.7 3-4.1 1 .7 2.7 2.4 3.1 4.2-.2-1.5 0-4.1-.5-5.6 1.6 1 3 2.5 3.3 4.2.5-1.6 1.5-4.4 2.4-5 .9 1.8 1.8 4 1.7 5.7.6-1.1 1.4-3.2 2.3-3.6.8 1.2.7 4 .5 5.4.8-1.1 2.3-2.5 3.2-3 0 .8.2 2.1 0 3.1a14 14 0 0 0 3.2-5.2c1.6.8 3.2 3.5 3.3 4.9 1.2-.5 3.4-2.5 4-3.6 0 .8.4 3 0 4.6.7-.7 1.3-2 1.7-2.6.4 1.1 0 3.8-.4 5.3a6 6 0 0 1 3.4-1.5 20 20 0 0 1-2.5 7.8c-10.8-3-33.5-4.1-56.3-5.4z"/> + <path fill="#f7e017" d="M486.4 102.3c0-.9 1.8-2.7 5.1-2.7 4 0 7.7 3 10.9 2.7s1.6.9 1 1.1q-1.2.5-1 1.2.6 1-1.4.4c-2.8-1-5.7.4-9.4-.4-3.2-.7-5.1-1-5.2-2.3"/> + <path fill="#f7e017" stroke="#000" stroke-width=".4" d="M452.1 168.8c-3.3 4-6.7 3.4-7.4.8s1.8-3.8.9-6.1 1.5-3.3 2.6-2.3 4.8-2.2 6.3 1.2c1.6 3.4 2.8 5.7 2 7-1 1.4-3.7.7-4.4-.6zm14.6-6.1c-.6-1.5 2.9-4.4 4.7-2.3 1.8 2 4.6-2.2 6.2 1s2 4.9 2.9 6.7c.7 1.8-4.3 2.7-5.9 1.2.2 1-4.4 1.9-5.6-1.2zm23.4 1.9c-.8-1.6 3.3-3.9 5.5-1 .5-1.2 4.6-1.4 4.9 2l.5 6.9c.1 1.3-2.5 2.6-4.3-.9-3.4.7-4.9-1.2-5.3-3.1s-.8-3-1.3-4z"/> + <path fill="#337321" stroke="#000" stroke-width=".4" d="M454.3 162.3c-.5-1.1 3-3.4 5.2-1.7s5.5-1.4 7 1.6c2.7 6.2 2.8 6.6 2 7.8s-4.5.7-5.4-1c-.1 1.2-3.3 1-4.9.1-1.8-1-3.1-4.8-3.9-6.8zm23.7.3c-.7-1.8 4.6-3.3 7-.2 1.1-1.1 3.7-1.2 5.1 2.2q2.2 4.8.7 6c-.8.6-3.5 1-4.4-.5-1.3.8-5.1.1-6-2q-1.2-3.2-2.3-5.5zm22.5 3.4c0-1.7 2.8-2.4 3.9 0 1 2.2 4.5.1 4.8 4 0 .7-.4 3.5-1.5 4.9-1 1.3-6.3 0-6.7-2.9z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M452.1 168.8c-1.2-1.7-2.9-4.4-5-1.5m16.1 1.7c-.8-.9-1.7-2.5-2-3.7m13.4 4c-.8-.6-2-1.7-2.6-2.9m1.6-3c2 .2 3.3 2 3.9 2.9s2 2.4 3 2.5m5.9 1.3q-1.2-1.6-1.5-2.8m.1-4.9 1.5 2.6m10.1 6.6a9 9 0 0 0-3.5-3.9m3.1-2.3c.1 3.3 4.5 3.6 4.7 6m3.5-5.4q.6 1 .6 3"/> +</svg> diff --git a/apps/web/public/flags/pr.svg b/apps/web/public/flags/pr.svg new file mode 100644 index 00000000..ec51831d --- /dev/null +++ b/apps/web/public/flags/pr.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-pr" viewBox="0 0 640 480"> + <defs> + <clipPath id="pr-a"> + <path fill-opacity=".7" d="M-37.3 0h682.7v512H-37.3z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#pr-a)" transform="translate(35)scale(.9375)"> + <path fill="#ed0000" d="M-37.3 0h768v512h-768z"/> + <path fill="#fff" d="M-37.3 102.4h768v102.4h-768zm0 204.8h768v102.4h-768z"/> + <path fill="#0050f0" d="m-37.3 0 440.7 255.7L-37.3 511z"/> + <path fill="#fff" d="M156.4 325.5 109 290l-47.2 35.8 17.6-58.1-47.2-36 58.3-.4 18.1-58 18.5 57.8 58.3.1-46.9 36.3z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ps.svg b/apps/web/public/flags/ps.svg new file mode 100644 index 00000000..362d4359 --- /dev/null +++ b/apps/web/public/flags/ps.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" id="flag-icons-ps" viewBox="0 0 640 480"> + <path fill="#009639" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 0h640v320H0z"/> + <path d="M0 0h640v160H0z"/> + <path fill="#ed2e38" d="m0 0 320 240L0 480Z"/> +</svg> diff --git a/apps/web/public/flags/pt.svg b/apps/web/public/flags/pt.svg new file mode 100644 index 00000000..2767cd4e --- /dev/null +++ b/apps/web/public/flags/pt.svg @@ -0,0 +1,57 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-pt" viewBox="0 0 640 480"> + <path fill="red" d="M256 0h384v480H256z"/> + <path fill="#060" d="M0 0h256v480H0z"/> + <g fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".6"> + <path d="M339.5 306.2c-32.3-1-180-93.2-181-108l8.1-13.5c14.7 21.3 165.7 111 180.6 107.8z"/> + <path d="M164.9 182.8c-2.9 7.8 38.6 33.4 88.4 63.8s92.9 49 96 46.4l1.5-2.8q-.9 1.6-4.3.6c-13.5-3.9-48.6-20-92.1-46.4-43.6-26.4-81.4-50.7-87.3-61a6 6 0 0 1-.6-3.1h-.2l-1.2 2.2zm175.3 123.8q-.7 1.3-3.5.8c-12-1.3-48.6-19.1-91.9-45-50.4-30.2-92-57.6-87.4-64.8l1.2-2.2.2.1c-4 12.2 82.1 61.4 87.2 64.6 49.8 30.8 91.8 48.9 95.5 44.2z"/> + <path d="M256.2 207.2c32.2-.3 72-4.4 95-13.6l-5-8c-13.5 7.5-53.5 12.5-90.3 13.2-43.4-.4-74.1-4.5-89.5-14.8l-4.6 8.6c28.2 12 57.2 14.5 94.4 14.6"/> + <path d="M352.5 193.8c-.8 1.3-15.8 6.4-37.8 10.2a381 381 0 0 1-58.6 4.3 416 416 0 0 1-56.2-3.6c-23.1-3.6-35-8.6-39.5-10.4l1.1-2.2c12.7 5 24.7 8 38.7 10.2A412 412 0 0 0 256 206a392 392 0 0 0 58.3-4.3c22.5-3.7 34.8-8.4 36.6-10.5zm-4.4-8.1c-2.4 2-14.6 6.3-36 9.7a388 388 0 0 1-55.8 4c-22 0-40.1-1.6-53.8-3.6-21.8-2.8-33.4-8-37.6-9.4l1.3-2.2c3.3 1.7 14.4 6.2 36.5 9.3a385 385 0 0 0 53.6 3.4 384 384 0 0 0 55.4-4c21.5-3 33.1-8.4 34.9-9.8zM150.3 246c19.8 10.7 63.9 16 105.6 16.4 38 .1 87.4-5.8 105.9-15.6l-.5-10.7c-5.8 9-58.8 17.7-105.8 17.4s-90.7-7.6-105.3-17v9.5"/> + <path d="M362.8 244.5v2.5c-2.8 3.4-20.2 8.4-42 12a434 434 0 0 1-65.4 4.4 400 400 0 0 1-62-4.3 155 155 0 0 1-44.4-12v-2.9c9.7 6.4 35.9 11.2 44.7 12.6 15.8 2.4 36.1 4.2 61.7 4.2 26.9 0 48.4-1.9 65-4.4 15.7-2.3 38-8.2 42.4-12.1m0-9v2.5c-2.8 3.3-20.2 8.3-42 11.9a434 434 0 0 1-65.4 4.5 414 414 0 0 1-62-4.3 155 155 0 0 1-44.4-12v-3c9.7 6.5 36 11.2 44.7 12.6a408 408 0 0 0 61.7 4.3c26.9 0 48.5-2 65-4.5 15.7-2.2 38-8.1 42.4-12m-107 68.8c-45.6-.2-84.7-12.4-93-14.4l6 9.4a250 250 0 0 0 87.4 14.3c34.7-1 65-3.7 86.3-14.1l6.2-9.8c-14.5 6.9-64 14.6-93 14.6"/> + <path d="m344.9 297.3-2.8 4c-10 3.6-26 7.4-32.6 8.4a296 296 0 0 1-53.7 5c-40.4-.6-73.5-8.5-89-15.3l-1.3-2.1.2-.4 2.1.9a287 287 0 0 0 88.2 14.5c18.8 0 37.5-2.1 52.6-4.8 23.2-4.7 32.6-8.2 35.5-9.8l.7-.4zm5.3-8.8-2 3.5c-5.4 2-20 6.2-41.3 9.2-14 1.9-22.7 3.8-50.6 4.3a347 347 0 0 1-94.2-14L161 289a390 390 0 0 0 95.4 14c25.5-.5 36.4-2.4 50.3-4.3 24.8-3.8 37.3-8 41-9.1v-.2l2.6-1z"/> + <path d="M350.8 237.6c.1 30-15.3 57-27.6 68.8a99 99 0 0 1-67.8 28.2c-30.3.5-58.8-19.2-66.5-27.9a101 101 0 0 1-27.5-67.4c1.8-32.8 14.7-55.6 33.3-71.3a100 100 0 0 1 64.2-22.7 98 98 0 0 1 71 35.6c12.5 15.2 18 31.7 20.9 56.7M255.6 135a106 106 0 0 1 106 105.2 105.6 105.6 0 1 1-211.4 0c-.1-58 47.3-105.2 105.4-105.2"/> + <path d="M255.9 134.5c58.2 0 105.6 47.4 105.6 105.6S314.1 345.7 256 345.7s-105.6-47.4-105.6-105.6S197.8 134.5 256 134.5zM152.6 240c0 56.8 46.7 103.3 103.3 103.3S359.2 296.8 359.2 240s-46.7-103.3-103.3-103.3S152.6 183.2 152.6 240"/> + <path d="M256 143.3a97 97 0 0 1 96.7 96.7 97 97 0 0 1-96.7 96.8c-53 0-96.7-43.6-96.7-96.8a97 97 0 0 1 96.7-96.7M161.6 240c0 52 42.6 94.4 94.4 94.4s94.4-42.5 94.4-94.4-42.6-94.4-94.4-94.4a95 95 0 0 0-94.4 94.4"/> + <path d="M260.3 134h-9.1v212.3h9z"/> + <path d="M259.3 132.8h2.3v214.7h-2.2V132.8zm-9 0h2.4v214.7h-2.3z"/> + <path d="M361.6 244.2v-7.8l-6.4-6-36.3-9.6-52.2-5.3-63 3.2-44.8 10.6-9 6.7v7.9l22.9-10.3 54.4-8.5h52.3l38.4 4.2 26.6 6.4z"/> + <path d="M256 223.8c24.9 0 49 2.3 68.3 6 19.8 4 33.7 9 38.5 14.5v2.8c-5.8-7-24.5-12-39-15-19-3.6-43-6-67.9-6-26.1 0-50.5 2.6-69.3 6.2-15 3-35.1 9-37.6 14.8v-2.9c1.3-4 16.3-10 37.3-14.3 18.9-3.7 43.3-6.1 69.6-6.1zm0-9.1a383 383 0 0 1 68.3 6c19.8 4 33.7 9 38.5 14.6v2.7c-5.8-6.9-24.5-12-39-14.9-19-3.7-43-6-67.9-6a376 376 0 0 0-69.2 6.2c-14.5 2.7-35.4 8.9-37.7 14.7v-2.8c1.4-4 16.6-10.3 37.3-14.3 19-3.7 43.3-6.2 69.7-6.2m-.6-46.2c39.3-.2 73.6 5.5 89.3 13.5l5.7 10c-13.6-7.4-50.6-15-94.9-14-36.1.3-74.7 4-94 14.4l6.8-11.4c15.9-8.3 53.3-12.5 87.1-12.5"/> + <path d="M256 176.7a354 354 0 0 1 61.3 4.3c16 3 31.3 7.4 33.5 9.8l1.7 3c-5.3-3.4-18.6-7.3-35.6-10.5s-38.7-4.3-61-4.2c-25.3-.1-45 1.2-61.8 4.2a109 109 0 0 0-33.3 10.3l1.7-3.1c6-3 15.3-6.7 31.1-9.6 17.5-3.2 37.4-4.1 62.4-4.2m0-9c21.4-.2 42.6 1 59.1 4a96 96 0 0 1 30.6 10l2.5 4c-4.2-4.7-20-9.2-34.1-11.6-16.4-2.9-36.7-4-58.1-4.2a361 361 0 0 0-59.5 4.4 97 97 0 0 0-29.6 9.1l2.2-3.3c5.8-3 15.2-5.8 27-8.1a357 357 0 0 1 59.9-4.4zM308.4 284a276 276 0 0 0-52.5-4c-65.5.8-86.6 13.5-89.2 17.3l-5-8c16.8-12 52.4-18.8 94.6-18.2q32.9.5 56.6 5l-4.5 8"/> + <path d="M255.6 278.9c18.2.3 36 1 53.3 4.2l-1.2 2.2c-16-3-33.2-4-52-4-24.3-.2-48.7 2.1-70 8.2-6.7 1.9-17.8 6.2-19 9.8l-1.2-2c.4-2.2 7-6.6 19.6-10 24.4-7 47.2-8.3 70.5-8.4m.8-9.2a327 327 0 0 1 57.3 5l-1.3 2.3a299 299 0 0 0-56-4.9c-24.2 0-49.9 1.8-73.3 8.6-7.5 2.2-20.6 7-21 10.7l-1.2-2.2c.2-3.4 11.5-7.9 21.7-10.8 23.5-6.9 49.3-8.6 73.8-8.7"/> + <path d="m349.4 290.5-7.8 12.3-22.7-20.1-58.6-39.5-66.2-36.3-34.3-11.7 7.3-13.6 2.5-1.3 21.3 5.3 70.4 36.3 40.6 25.6L336 272l13.9 16z"/> + <path d="M158.6 195.5c6-4 50.2 15.6 96.6 43.6 46.1 28 90.3 59.6 86.3 65.5l-1.3 2.1-.6.5c.1-.1.8-1 0-3.1-2-6.5-33.4-31.5-85.3-62.9-50.7-30.1-92.9-48.3-97-43.1zM351 290.4c3.8-7.6-37.2-38.5-88.1-68.6-52-29.5-89.6-46.9-96.5-41.7L165 183l.4-.5c1.2-1 3.3-1 4.2-1 11.8.2 45.5 15.7 92.8 42.8 20.8 12 87.6 55 87.3 67 0 1 .1 1.2-.3 1.8l1.7-2.6z"/> + </g> + <g transform="translate(0 26.7)scale(1.06667)"> + <path fill="#fff" stroke="#000" stroke-width=".7" d="M180.6 211a59 59 0 0 0 17.5 41.7 59 59 0 0 0 41.8 17.6 59 59 0 0 0 42-17.4 59 59 0 0 0 17.4-41.8v-79.2l-118.7-.2z"/> + <path fill="red" stroke="#000" stroke-width=".5" d="M183 211.1a56 56 0 0 0 16.8 40 57 57 0 0 0 40.2 16.8 57 57 0 0 0 40.2-16.6 56 56 0 0 0 16.7-40v-77H183v76.8m91-53.7v48.9l-.1 5.1a33 33 0 0 1-10 24 34 34 0 0 1-24 10c-9.4 0-17.7-4-23.9-10.2a34 34 0 0 1-10-24v-54z"/> + <g id="pt-e"> + <g id="pt-d" fill="#ff0" stroke="#000" stroke-width=".5"> + <path stroke="none" d="M190.2 154.4c.1-5.5 4-6.8 4-6.8.1 0 4.3 1.4 4.3 6.9z"/> + <path d="m186.8 147.7-.7 6.3h4.2c0-5.2 4-6 4-6 .1 0 4 1.1 4.1 6h4.2l-.8-6.4zm-1 6.4h17q.5 0 .6.7 0 .8-.6.8h-17q-.5 0-.6-.8 0-.7.7-.7z"/> + <path d="M192 154c0-3.3 2.3-4.2 2.3-4.2s2.3 1 2.3 4.2H192m-5.8-9h16.3q.5.1.6.8 0 .5-.6.6h-16.3q-.5 0-.6-.7 0-.5.6-.6zm.4 1.5H202q.5 0 .6.7t-.6.7h-15.5q-.6 0-.6-.7t.6-.7zm5-10.6h1.2v.8h.9v-.8h1.3v.9h.9v-1h1.2v2q0 .6-.5.6h-4.4q-.5 0-.6-.5zm4.6 2.7.3 6.4h-4.3l.3-6.5h3.7"/> + <path id="pt-a" d="M191 141.6v3.4h-4v-3.4z"/> + <use xlink:href="#pt-a" width="100%" height="100%" x="10.6"/> + <path id="pt-b" d="M186.3 139h1.2v1h.9v-1h1.2v1h.9v-1h1.2v2q0 .6-.5.6h-4.3l-.6-.6z"/> + <use xlink:href="#pt-b" width="100%" height="100%" x="10.6"/> + <path fill="#000001" stroke="none" d="M193.9 140.6c0-.6.9-.6.9 0v1.6h-.9z"/> + <path id="pt-c" fill="#000001" stroke="none" d="M188.6 142.8c0-.6.8-.6.8 0v1.2h-.8z"/> + <use xlink:href="#pt-c" width="100%" height="100%" x="10.6"/> + </g> + <use xlink:href="#pt-d" width="100%" height="100%" y="46.3"/> + <use xlink:href="#pt-d" width="100%" height="100%" transform="rotate(-45.2 312.8 180)"/> + </g> + <use xlink:href="#pt-d" width="100%" height="100%" x="45.7"/> + <use xlink:href="#pt-e" width="100%" height="100%" transform="matrix(-1 0 0 1 479.8 0)"/> + <g id="pt-f" fill="#fff"> + <path fill="#039" d="M232.6 202.4a8 8 0 0 0 2.2 5.7 7 7 0 0 0 5.3 2.4q3.2-.2 5.3-2.4a8 8 0 0 0 2.2-5.7v-10.8h-15z"/> + <circle cx="236.1" cy="195.7" r="1.5"/> + <circle cx="244.4" cy="195.7" r="1.5"/> + <circle cx="240.2" cy="199.7" r="1.5"/> + <circle cx="236.1" cy="203.9" r="1.5"/> + <circle cx="244.4" cy="203.9" r="1.5"/> + </g> + <use xlink:href="#pt-f" width="100%" height="100%" y="-26"/> + <use xlink:href="#pt-f" width="100%" height="100%" x="-20.8"/> + <use xlink:href="#pt-f" width="100%" height="100%" x="20.8"/> + <use xlink:href="#pt-f" width="100%" height="100%" y="25.8"/> + </g> +</svg> diff --git a/apps/web/public/flags/pw.svg b/apps/web/public/flags/pw.svg new file mode 100644 index 00000000..9f89c5f1 --- /dev/null +++ b/apps/web/public/flags/pw.svg @@ -0,0 +1,11 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-pw" viewBox="0 0 640 480"> + <defs> + <clipPath id="pw-a"> + <path fill-opacity=".7" d="M-70.3 0h640v480h-640z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#pw-a)" transform="translate(70.3)"> + <path fill="#4aadd6" d="M-173.4 0h846.3v480h-846.3z"/> + <path fill="#ffde00" d="M335.6 232.1a135.9 130.1 0 1 1-271.7 0 135.9 130.1 0 1 1 271.7 0"/> + </g> +</svg> diff --git a/apps/web/public/flags/py.svg b/apps/web/public/flags/py.svg new file mode 100644 index 00000000..abccd879 --- /dev/null +++ b/apps/web/public/flags/py.svg @@ -0,0 +1,157 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-py" viewBox="0 0 640 480"> + <path fill="#0038a8" d="M0 319.7h640V480H0z"/> + <path fill="#fff" d="M0 160h640v160H0z"/> + <path fill="#d52b1e" d="M0 0h640v160H0z"/> + <g fill="none" stroke="#000" transform="translate(-116.4)scale(1.45455)"> + <circle cx="300" cy="165" r="42.2" stroke-width="1.1"/> + <circle cx="300" cy="165" r="34.7" stroke-width=".5"/> + <circle cx="300" cy="165" r="26.6" stroke-width=".4"/> + </g> + <path d="m287.3 263.7-7.1 4.2-2.2-3.7-.7-1.6a2 2 0 0 1 .1-1.3q.3-.6 1-1 .5-.3 1.1-.3l1.1.2.8.6v-1.3l.3-.5 1.5-2.3 1.4 2.5-1.4 2.4-.3.8.1.6.1.2 3-1.7zm-5.5.3-.6-1-.4-.5-.5-.2-.5.1-.4.6q0 .3.4.9l.5 1zm-6.7-5.5-2.2-6.5 1.7-.6 1.3 4.1 1.3-.4-1.3-3.8 1.6-.5 1.3 3.7 1.5-.5-1.4-4.2 1.8-.5 2.2 6.6zm-2.9-9.7-.4-4.2q-.2-1.4.4-2.1.6-.9 1.8-1t2 .6q.7.7 1 2.2l.1 1.4 3-.4.4 2.6zm3.3-3-.1-.6q0-.7-.4-1l-.7-.2-.6.4q-.2.2-.2 1l.1.7zm-3.5-12.5.3-2.6 4.8.6 1.4.4q.6.3 1 .8t.6 1q.3.9.1 1.9l-.2 1.3q-.2.7-.5 1.1a3 3 0 0 1-1.8 1.3h-1.4l-4.9-.5.3-2.5 5 .5q.6 0 1-.2t.6-1a1 1 0 0 0-.3-1q-.4-.5-1-.6zm1-6 1.7-4.6q.3-1.2 1.1-1.5a2 2 0 0 1 1.6-.2q.7.3 1 .9.3.4.3 1 .5-.7 1.1-1a2 2 0 0 1 1.4 0 2 2 0 0 1 1.5 1.8v1l-.3 1-1.5 4.2zm4-1.4.4-1.1v-.8q0-.2-.4-.5h-.6l-.5.8-.4 1zm3 1 .5-1.2q.2-.6 0-1l-.4-.4h-.7l-.5.9-.4 1.2zm-3-9.6 1.3-2.2 5.4 3.2 2-3.4 1.8 1-3.4 5.6zm5-7.6 1.6-2 6.4 5.3-1.6 2zm11.1-4.3 2.2-1q.4 1 .5 1.7l-.3 1.5-1.2 1.5a4 4 0 0 1-2 1.1 4 4 0 0 1-2 0 5 5 0 0 1-2-1.6q-1.5-1.5-1.3-3.1a4 4 0 0 1 1.6-2.9 4 4 0 0 1 2.3-1q1-.2 2.3.5l-1.4 1.9-.6-.3h-.7l-.6.4a2 2 0 0 0-.6 1.4q.1.6.8 1.4.9 1 1.6 1.2.6.1 1.2-.4t.6-1q0-.7-.4-1.3m8.8-3.2-2.5 1.4.3 1.4-2.3 1.2-1.2-8.7 2.5-1.3 6.6 5.8-2.4 1.3zm-1.3-1.3-2.2-2.2.6 3zm7.8-8.5 3.8-.6h1.8q.8.1 1.3.7c.5.6.7.7.9 1.2q.4.7.4 1.5.3 1.4.1 2l-.6 1.4-1 .9-1.5.5-3.7.6zm2.9 1.4.8 4.5.6-.1q.8-.1 1-.4.4-.2.5-.7v-1.4q-.3-1.3-.8-1.7-.4-.5-1.5-.3zm7.8-2.8 6.8.3v1.8l-4.3-.2-.1 1.3 4 .2-.1 1.7-4-.2v1.6l4.4.2-.1 1.9-7-.3zm10 .8 2.4.6-1.5 6 4 1-.6 2-6.3-1.6zm13.2 4.4 3.7 2.2q1.2.7 1.4 1.6t-.3 2a3 3 0 0 1-1.7 1.3q-1 .2-2.3-.6l-1.2-.7-1.6 2.6-2.2-1.3zm.4 4.4.6.3 1 .3.6-.4v-.7q0-.4-.6-.8l-.6-.3zm7.2 9.6-2.1-2-1.2.7-2-1.7 8-4 2 2-3.4 8.1-2-1.8zm.8-1.7 1.4-2.8-2.7 1.6zm1 5.5 6.9-4.7 2.3 3.5 1 1.7-.1 1.2a2 2 0 0 1-1 1.1q-.5.4-1 .4l-1.2-.2-.8-.5.2.7-.2.6-.2.6-1.3 2.3-1.6-2.3 1.3-2.6.3-.7-.2-.7-.1-.2-2.8 2zm5.5-.6.7.9.4.4q.3.3.5.2l.5-.1.3-.6-.3-.9-.7-.9zm2.6 12.4-1-2.8-1.5.2-1-2.5 8.9-.1 1 2.6-6.5 6-1-2.6zm1.5-1.2 2.4-2-3.1.3zm2.1 9 1.7-.2.6 3.9-3.5.5-1.3-1.8-.6-2a5 5 0 0 1 .1-2.5 4 4 0 0 1 1.3-1.6 5 5 0 0 1 2.2-.9 5 5 0 0 1 2.4.2 4 4 0 0 1 1.7 1.4q.5.9.8 2.2v2l-.6 1.3q-.4.5-1.2.9l-.8-2.4q.4-.1.7-.6t0-1a2 2 0 0 0-.7-1.2q-.5-.5-2-.2a3 3 0 0 0-1.7.7q-.6.7-.4 1.5 0 .5.3.8l.5.8h.8zm5.4 12-.2 2.6-5-.4-1.3-.4-1-.8-.6-1.1-.2-1.8.2-1.3.5-1.2.8-.8 1-.4 1.4-.2 5 .5-.3 2.5-5-.4q-.8 0-1.1.3a1 1 0 0 0-.5 1q0 .7.3 1 .3.5 1 .5zm-9.1 8.8.9-2.8-1.2-.8.8-2.5 7 5.6-1 2.6-8.8.4.9-2.5zm1.9 0 3 .1-2.5-1.8zm3 6.8-1.5 2.4h-3.3l1.5 2.9-1.4 2.4-2.5-5.2-3-1.8 1.4-2.2 3 1.8z"/> + <g fill="#009b3a" stroke="#000" stroke-width=".1"> + <path d="M328.1 211.3s23.4 10.1 19.3 30.9-17 20.6-22.2 23c-5 2.2-8.6 5.5-10.6 5s-4.7-2-4.7-2-.2 3.5 3.9 4c4.1.7 9.5-5.3 12-6 2.6-.6 18.5-2.4 22.4-23.5 4.5-22.6-20-30.7-20-31.4z"/> + <path d="M339.9 215.8a3.2.8 75.1 0 1-1.5 0 3.2.8 75.1 1 1 1.5 0z"/> + <path d="M339.1 216a3.3.7 63.3 1 1-1.4.5 3.3.7 63.3 0 1 1.4-.5zm-2.3 1.5a3.1.8 17 0 1-.2 1.6 3.1.8 17 0 1 .2-1.6z"/> + <path d="M337.1 216.7a3.3.7 34.2 1 1-.7 1.3 3.3.7 34.2 1 1 .7-1.3z"/> + <path d="M338.1 216.3a3.3.7 46.2 1 1-1 1 3.3.7 46.2 0 1 1-1z"/> + <path d="m339.7 219.2-1 .6c-.3 0-.6-.3-1.2 0s-1 .9-1.1 1.2q-.1.6.9.1t1.2-1.1l1.3-.7.8-1.3c.3-.4 1.2-1 1.6-1.8q.4-1-.2-.9a3 3 0 0 0-1.2 1.3c-.2.4 0 1-.3 1.4zm7.3 2.4a1 4.8-1.6 1 1-2.2-.5 1 4.8-1.6 1 1 2.2.5z"/> + <path d="M345.8 221.5a5 1 77.5 1 1-2.2.1 5 1 77.5 1 1 2.1 0z"/> + <path d="M342 222.7a4.7 1.1 35 1 1-.7 2.2 4.7 1.1 35 1 1 .7-2.2z"/> + <path d="M342.8 221.6a5 1 50.9 0 1-1.4 1.6 5 1 50.9 1 1 1.4-1.5z"/> + <path d="M344.3 221.5a5.1 1 61.8 1 1-1.8 1 5.1 1 61.8 1 1 1.8-1z"/> + <path d="m345.6 226.4-1.8.4c-.3 0-.6-.7-1.5-.5q-1.4.4-2 1.2-.4.8 1.2.6c1.2-.2 1.6-1 2.2-1l2-.4c.2-.4 1-1.2 1.5-1.6s2-1 2.7-1.8.7-1.6 0-1.5a5 5 0 0 0-2 1.3c-.5.6-.4 1.5-.9 2zm5.1 4.9a1 4.8 8.7 1 1-2-1 1 4.8 8.7 1 1 2 1z"/> + <path d="M349.6 231a1 5-2 1 1-2-.3 1 5-2 1 1 2 .3z"/> + <path d="M345.7 231.4a4.7 1.1 46 1 1-1 2 4.7 1.1 46 1 1 1-2z"/> + <path d="M346.7 230.5a5 1 61.8 1 1-1.7 1.3 5 1 61.8 1 1 1.7-1.3z"/> + <path d="M348.1 230.7a5.1 1 72.5 1 1-1.9.7 5.1 1 72.5 1 1 2-.7z"/> + <path d="M348.5 235.8h-1.7c-.3 0-.5-.8-1.4-.8a3 3 0 0 0-2.1.8q-.6.7 1 .8c1.6.1 1.7-.5 2.3-.6h2l1.8-1.2c.6-.4 2.1-.6 3-1.3.7-.6.9-1.4.3-1.4a5 5 0 0 0-2.3.9c-.5.4-.6 1.3-1.2 1.7-.4.2-1.6 1.1-1.7 1m2.5 6.4a1 4.8 31.3 0 1-1.4-1.7 1 4.8 31.3 0 1 1.4 1.7"/> + <path d="M350.1 241.3a1 5 20.6 0 1-1.8-1.1 1 5 20.6 0 1 1.8 1.1m-3.7-1.2a4.8 1 70 0 1-1.8 1.5 4.8 1 70 0 1 1.8-1.5"/> + <path d="M347.6 239.7a1 5.1-4.9 0 1-2 .5 1 5.1-4.9 1 1 2-.5"/> + <path d="M349 240.4a1 5.2 5.5 1 1-2-.1 1 5.2 5.5 1 1 2 .1"/> + <path d="M347.3 245.3s-1.4-.5-1.6-.7-.1-.8-1-1.3a3 3 0 0 0-2.2 0q-.8.2.6 1c1 .6 1.8.2 2.3.4l1.8.9c.5-.2 1.6-.3 2.2-.4s2.1.4 3.2 0c.9-.3 1.3-1 .7-1.2a5 5 0 0 0-2.3 0c-.7.1-1.1 1-1.8 1-.5 0-1.9.4-2 .3m1 7.7a1.3 5.5 48.5 1 1-1.1-2.4 1.3 5.5 48.5 1 1 1 2.4"/> + <path d="M347.3 251.9a1.2 5.8 37.5 1 1-1.5-2 1.2 5.8 37.5 1 1 1.5 2"/> + <path d="M343.7 249.2a1.3 5.5-3.5 1 1-2.4 1 1.3 5.5-3.5 1 1 2.4-1"/> + <path d="M345.1 249.2a1.2 5.9 11.6 0 1-2.3-.2 1.2 5.9 11.6 1 1 2.3.1"/> + <path d="M346.3 250.4a1.2 6 22.1 1 1-2.1-.8 1.2 6 22.1 1 1 2.1.8"/> + <path d="m343 255.3-1.6-1.4c-.2-.3.1-1-.7-1.8s-1.8-1-2.4-1q-1 .2.3 1.6c1 1 2 .8 2.4 1.2q1 .7 1.7 1.6l2.6.4c.7 0 2.2 1.1 3.5 1.1 1 0 1.8-.5 1.2-1a5 5 0 0 0-2.6-1c-.8 0-1.5.8-2.2.6l-2.3-.3m-2.3 7.3a1.4 6 79.8 1 1 .3-2.9 1.4 6 79.8 1 1-.3 2.9"/> + <path d="M340.5 261a1.3 6.4 68.5 0 1-.5-2.6 1.3 6.4 68.5 0 1 .5 2.7"/> + <path d="M338.4 256.4a1.4 6 26.2 0 1-2.8-.5 1.4 6 26.2 1 1 2.8.5"/> + <path d="M339.9 257.2a1.3 6.5 41.8 0 1-2.3-1.5 1.3 6.5 41.8 0 1 2.3 1.5"/> + <path d="M340.3 259.1a1.3 6.5 52.7 1 1-1.6-2 1.3 6.5 52.7 0 1 1.6 2"/> + <path d="m334.4 261.7-.7-2.2c-.1-.4.6-.8.3-2a4 4 0 0 0-1.9-2.3q-1-.5-.5 1.6c.4 1.4 1.4 1.9 1.7 2.6l.8 2.4 2.2 1.9c.6.5 1.5 2.4 2.7 3.1 1 .7 2 .5 1.8-.2a6 6 0 0 0-2-2.4c-.7-.6-1.8-.3-2.5-.8-.4-.5-2-1.6-2-1.7"/> + <path d="M330.8 268a1.8 6.1 89 0 1 0-3.5 1.8 6.1 89 0 1 0 3.5"/> + <path d="M330 262.5a1.7 6.3 37.6 0 1-2.7-2.2 1.7 6.3 37.6 1 1 2.6 2.2"/> + <path d="M330.8 265.3a1.7 6.2 66.5 0 1-1.2-3.3 1.7 6.2 66.5 0 1 1.2 3.3m1.7-53.4a3.8.8 41.1 0 1-1.5.8 3.8.8 41.1 1 1 1.5-.8m-1.9 1.5a3.9.8 8.2 0 1 .3 1.6 3.9.8 8.2 1 1-.3-1.6"/> + <path d="M331.4 212.4a4 .7 26.8 1 1-.8 1.3 4 .7 26.8 0 1 .8-1.3M303.7 262s5.1 1.1 9.6 2.7 11.3 7.2 13.1 7.6c2 0 4.9-.7 6-3.6-3.2.8-5 2.1-8 .5-1.1-.4-4.6-3.6-8.5-5.3-3.8-1.7-11.5-3.6-11.5-3.6l-.7 1.7m5.5-46.5 5.9-3.1-6.5 1.7-.8 1.1 1.4.3"/> + <path d="M314.8 217c-2.3-.5-5.8-1.3-8-1.4 1.5-1.7 3.6-4.7 5-6.4-1 1.7-2.3 4-2.8 5.5 1.5.9 4 1.6 5.8 2.2"/> + <path d="m308.1 215.9 5.3-4.1-6.1 2.7-.6 1.3h1.4"/> + <path d="M313.7 216.9c-2.3-.5-5.8-1.3-8-1.5 1.4-1.7 3.5-4.7 4.8-6.6-.8 1.8-2.2 4.1-2.7 5.8 1.6.9 4.1 1.6 6 2.3"/> + <path d="m307.3 216.2 6.1-2.6-6.6 1.1-.9 1 1.3.5"/> + <path d="M313 217c-2.3-.3-6-.7-8.2-.6 1.3-2 3-5.3 4.1-7.3-.6 1.9-1.7 4.4-2 6.1 1.7.8 4.3 1.2 6.1 1.7"/> + <path d="m306.6 216.2 4.2-5-5.3 3.9-.3 1.3 1.4-.2"/> + <path d="M313 217.3c-2.5 0-6.4-.3-8.8 0 1.2-2.3 2.7-6 3.6-8.3-.4 2.1-1.3 5-1.4 6.9 1.8.6 4.6 1 6.6 1.4"/> + <path d="m305.8 217.4 5-4.9-6.1 3.5-.4 1.4h1.5"/> + <path d="M311.9 217.4c-2.7 0-6.8-.1-9.5.2 1.8-2.5 4.2-6.6 5.6-9.1-1 2.3-2.4 5.4-3 7.5 1.9.7 4.8 1 6.9 1.4"/> + <path d="m304 217.8 6.6-5.5-7.4 3.9-.8 1.6h1.6"/> + <path d="M311 217.6c-2.7.4-6.9.8-9.4 1.5 1.3-2.7 3.1-7 4.2-9.7-.6 2.4-1.7 5.6-2 7.8 2 .4 5 .3 7.1.4"/> + <path d="m303.2 218.9 5-7-6.3 5.7-.3 1.7 1.6-.4"/> + <path d="M309.4 218.4c-2.6.3-6.8.5-9.4 1 1.5-2.6 3.5-6.8 4.8-9.4-.8 2.3-2 5.5-2.4 7.7 2 .5 5 .5 7 .7"/> + <path d="m302.3 219.6 6.4-5.5-7.3 3.9-.7 1.6h1.6"/> + <path d="M308.7 218.7c-2.7.6-6.9 1.3-9.4 2.1 1.2-2.7 2.8-7.1 3.8-9.8-.5 2.4-1.4 5.6-1.6 7.8 2 .3 5 0 7.2-.1"/> + <path d="m301.2 220 4-7.7-5.4 6.6-.1 1.7 1.5-.7"/> + <path d="M308.7 219.1c-3 .8-7.4 1.8-10 2.8 1-3.1 2.1-8 2.9-11.1-.3 2.7-.9 6.3-.8 8.8 2.3.2 5.5-.3 7.8-.5"/> + <path d="m300.4 221.7 5.2-7.6-6.6 6.1-.3 2 1.7-.5"/> + <path d="M307.5 220c-2.8.9-7.2 2.1-9.8 3.3.8-3.2 1.8-8.1 2.4-11.2-.1 2.7-.5 6.3-.3 8.7 2.2.1 5.4-.6 7.7-.8"/> + <path d="m299.4 222.8 3.9-8.4-5.6 7.2v2l1.7-.8"/> + <path d="M306.4 221.2c-2.8.6-7.3 1.5-10 2.4 1.1-3 2.5-8 3.4-11-.4 2.7-1.1 6.4-1.1 8.7 2.2.3 5.4-.1 7.7-.2"/> + <path d="m298.4 223.6 6.4-6.6-7.5 4.9-.6 1.8 1.7-.1"/> + <path d="M305.2 222.3c-2.9.4-7.3.8-10 1.5 1.3-3 3-7.8 4-10.8-.6 2.7-1.5 6.3-1.7 8.7 2.2.5 5.4.4 7.7.6"/> + <path d="m297.2 223 4.3-8.3-5.9 7v1.9l1.6-.7"/> + <path d="M305.5 221.3c-3 1.3-8 3-10.9 4.6 1-3.7 2-9.5 2.6-13.1 0 3.1-.5 7.4-.3 10.1 2.5 0 6-1.1 8.6-1.6"/> + <path d="m296.6 225.4 5.2-9.4-6.9 8-.2 2.2 1.9-.8"/> + <path d="M304.3 222.5c-3 1.4-7.8 3.4-10.6 5.1.8-3.6 1.5-9.5 2-13 0 3-.2 7.3.1 10 2.5-.3 6-1.5 8.5-2.1"/> + <path d="m295.5 226.8 3.8-10.1-5.7 9 .2 2.3 1.7-1.2"/> + <path d="M303 223.3c-3 1.5-7.8 3.5-10.6 5.3.7-3.7 1.4-9.5 1.9-13.1 0 3-.2 7.3.2 10 2.5-.3 6-1.6 8.5-2.2"/> + <path d="m294.7 228 5.8-8.9-7.4 7.3-.3 2.2 1.9-.6"/> + <path d="M302.7 222.8c-2.7 2.2-7 5.4-9.4 7.8 0-3.8-.5-9.5-.8-13 .6 2.9 1.3 7 2.3 9.5 2.4-.9 5.5-3 8-4.2"/> + <path d="m295 228.5.6-10.7-2.8 10.4.8 2 1.4-1.7"/> + <path d="M302 223.8c-2.8 2.2-7 5.3-9.5 7.7 0-3.7-.5-9.5-.8-13 .7 3 1.3 7 2.3 9.5 2.4-.8 5.5-3 8-4.2"/> + <path d="m294.3 230.3 2.7-10.5-4.7 9.6.3 2.2 1.7-1.3"/> + <path d="M301.6 224c-2.5 2.6-6.6 6.4-8.9 9-.4-3.7-1.5-9.6-2.2-13.2 1 3 2.1 7.1 3.4 9.5 2.3-1.1 5.4-3.6 7.7-5.2"/> + <path d="m294.3 231.6.5-11.1-2.7 10.8.8 2 1.4-1.7"/> + <path d="M300.8 226c-2.7 2.2-7 5.5-9.6 8 0-3.8-.7-9.8-1-13.5.7 3 1.5 7.3 2.5 9.9 2.5-1 5.7-3.1 8.1-4.5"/> + <path d="m293.5 232.9 3.8-10.5-5.8 9.3.2 2.3 1.8-1.1"/> + <path d="M300.8 226c-2.5 2.5-6.3 6.4-8.5 9.1-.4-3.8-1.5-9.8-2.1-13.4 1 3 2 7.2 3.2 9.6 2.3-1.2 5.1-3.7 7.4-5.3"/> + <path d="m293.6 233.4-.4-11-1.8 11 1 1.9 1.2-1.9"/> + <path d="M299.6 226.8c-2.4 2.6-6.1 6.5-8.2 9.3-.5-4-1.8-9.8-2.5-13.5 1 3 2.3 7.2 3.5 9.6 2.2-1.2 5-3.8 7.2-5.4"/> + <path d="m293 234.5 1.2-11.2-3.3 10.6.7 2.2 1.4-1.6"/> + <path d="M299 227.2c-2 2.9-5.5 7-7.4 10-.8-3.8-2.5-9.5-3.5-13 1.3 2.8 2.8 6.8 4.2 9.1 2.1-1.4 4.7-4.2 6.8-6"/> + <path d="m293 235.6-.8-11.3-1.4 11.2 1 2 1.1-2"/> + <path d="M298.9 227.9c-2 3-5.3 7.3-7 10.4-1-3.8-3-9.5-4.2-13 1.4 2.8 3.1 6.8 4.7 9 2-1.5 4.5-4.5 6.5-6.4"/> + <path d="m293.6 236.6 1.2-11.3-3.2 10.6.6 2.3 1.4-1.6"/> + <path d="M298.4 229c-1.7 3.1-4.5 8-6 11.3-1.3-3.6-3.8-9-5.3-12.4 1.7 2.6 3.7 6.3 5.5 8.4 1.9-1.8 4-5.2 5.8-7.4"/> + <path d="m293.3 237.6-3.2-10.8 1 11.3 1.5 1.6.6-2.1"/> + <path d="M298.4 230.2c-1.8 3.2-4.8 8-6.3 11.3-1.3-3.6-3.8-9-5.4-12.3 1.7 2.6 3.8 6.3 5.6 8.3 2-1.8 4.2-5.1 6-7.3"/> + <path d="m293.4 239.6-1.2-11.3-1 11.3 1.1 2 1.1-2"/> + <path d="M298.6 231.2c-1.9 3.1-5 7.9-6.5 11.1-1.3-3.6-3.7-9-5.2-12.4 1.7 2.6 3.7 6.4 5.5 8.4 2-1.7 4.3-5 6.2-7.1"/> + <path d="m293.3 240.5-2.1-11-.1 11.2 1.3 1.8.9-2"/> + <path d="M297.8 232.8c-2 3-5.3 7.5-7 10.7-1.1-3.7-3.3-9.4-4.6-12.8 1.5 2.7 3.4 6.6 5 8.8 2.1-1.6 4.6-4.7 6.6-6.7"/> + <path d="m292.3 241.7 1-11.3-3.1 10.7.7 2.2 1.4-1.6"/> + <path d="M297.9 233c-1.7 3.3-4.6 8.3-6 11.6-1.4-3.5-4-8.8-5.7-12 1.8 2.4 4 6 5.8 8 2-1.9 4-5.3 5.9-7.5"/> + <path d="m292 242.7-3.5-10.6 1.3 11.2 1.5 1.6.6-2.2"/> + <path d="M297.4 233.9c-1.2 3.6-3.2 9-4 12.7-2-3.2-5.5-7.8-7.6-10.7 2.1 2.1 4.9 5.2 7 6.7 1.6-2.3 3.2-6 4.6-8.7"/> + <path d="m295 243.5-3.7-10.4 1.6 11.2 1.5 1.4.6-2.2"/> + <path d="M297.4 235c-1.2 3.6-3.2 9.1-4 12.7-2-3.2-5.4-7.7-7.6-10.5 2.1 2 4.9 5 7 6.6 1.6-2.3 3.2-6.1 4.6-8.8"/> + <path d="m295 245.3-4.8-9.7 2.8 10.8 1.7 1.2.4-2.3"/> + <path d="M297 235.9c-.7 3.7-2 9.5-2.5 13.2-2.3-2.9-6.3-7-8.7-9.4 2.3 1.7 5.4 4.4 7.7 5.5 1.3-2.5 2.4-6.5 3.5-9.3"/> + <path d="m295.4 246.8-2.6-10.9.4 11.3 1.4 1.7.8-2"/> + <path d="M297 237c-.4 3.9-1.2 9.8-1.2 13.5-2.6-2.5-6.9-6-9.5-8.1 2.4 1.4 5.7 3.6 8.1 4.4 1-2.6 1.8-6.8 2.6-9.7"/> + <path d="m295.5 247.6-6.9-7.8 5.2 9.5 2 .6-.3-2.3"/> + <path d="M297.2 238.4c-.4 3.8-1.2 9.7-1.3 13.4-2.6-2.5-6.9-6-9.5-8.2 2.5 1.4 5.8 3.7 8.1 4.5 1.1-2.6 1.8-6.8 2.7-9.7"/> + <path d="M296.3 249.4 291 240l3.3 10.7 1.7 1.1.3-2.3"/> + <path d="M297.5 240c-.3 3.8-.8 9.7-.8 13.5a117 117 0 0 0-9.8-7.6c2.6 1.2 6 3.3 8.3 4 1-2.7 1.6-7 2.3-10"/> + <path d="m297 251.2-6.6-8.3 4.8 9.8 1.8.8v-2.3"/> + <path d="M297.6 241.8c-.3 3.8-.8 9.7-.7 13.5-2.7-2.4-7.1-5.6-9.9-7.6 2.6 1.3 6 3.3 8.4 4 1-2.7 1.5-7 2.2-10"/> + <path d="m297.5 252.6-4.5-10 2.5 11 1.6 1.3.4-2.3"/> + <path d="M297.7 242.9c.2 3.9.2 9.8.6 13.6a134 134 0 0 0-10.4-6.2c2.6.9 6.1 2.4 8.6 2.8.7-2.9.8-7.1 1.2-10.2"/> + <path d="m298.3 252.2-8.3-5.7 7 7.8 2 .1-.7-2.2"/> + <path d="M298 243.3c.3 3.9.7 9.8 1.3 13.5-3-1.9-7.8-4.3-10.8-5.8 2.7.8 6.3 2.2 8.8 2.5.5-2.9.4-7.1.7-10.2"/> + <path d="m299.3 254.3-7-8 5.3 9.6 1.9.7-.3-2.3"/> + <path d="M298.6 244.8c.5 3.8 1 9.7 1.9 13.4-3-1.7-8-3.8-11-5.1 2.7.6 6.4 1.8 8.8 2 .4-3 .2-7.2.3-10.3"/> + <path d="m300.6 255.7-8.3-5.9 7 8 2 .1-.7-2.2"/> + <path d="M298.9 246.4c.7 3.8 1.7 9.7 2.7 13.3-3.1-1.5-8.2-3.1-11.3-4.1 2.8.3 6.5 1.2 9 1 .2-2.9-.3-7-.4-10.2"/> + <path d="m301.6 256.9-7-8.2 5.2 9.7 2 .8-.2-2.3"/> + <path d="M299.3 247.4c1.1 3.7 2.6 9.5 4 13-3.3-1-8.4-2-11.6-2.6 2.8 0 6.5.3 9-.1 0-3-1-7.1-1.4-10.2"/> + <path d="m302 256.9-9.7-2 9.1 4.5 1.9-.7-1.4-1.8"/> + <path d="M300 248.6c1 3.7 2.5 9.4 3.8 12.9-3.2-1-8.3-2-11.5-2.6 2.8 0 6.5.3 9 0 0-3-1-7.2-1.3-10.3"/> + <path d="m303.5 257.9-9.2-4.5 8.2 6.7 2-.2-1-2"/> + <path d="M299.5 249.2c1.8 3.4 4.5 8.7 6.5 11.7-3.4-.2-8.6 0-11.8 0 2.7-.5 6.4-1 8.7-2-.7-2.9-2.4-6.7-3.4-9.7"/> + <path d="m305 258.9-9.6-2.6 9 5 1.8-.5-1.3-2"/> + <path d="M300.4 250.7c1.9 3.3 4.6 8.6 6.7 11.6-3.4-.2-8.6 0-11.8.2 2.6-.7 6.4-1.2 8.6-2.2-.6-2.9-2.4-6.7-3.4-9.6"/> + <path d="m306.1 259.7-8.9-5.3 7.8 7.4h2l-.9-2.1"/> + <path d="M301.2 251.5c2.1 3.1 5.3 8 7.6 10.9a90 90 0 0 0-11.6 1.7c2.6-1 6.2-2 8.4-3.3-1-2.8-3.1-6.5-4.4-9.3"/> + <path d="m306.8 260.5-9.6-.3 9.5 2.9 1.7-1.1-1.6-1.5m5.6-46.6 6.9-1.1-6.9.1-1.2.6 1.2.4"/> + <path d="M316.2 215.4c-2-.6-5-1.6-7.1-2l7.4-3.5c-1.5 1-3.8 2.2-5 3.2 1.2.8 3.3 1.6 4.7 2.3"/> + <path d="m312 214.1 6.8-1.8-7 .9-1 .7 1.3.2"/> + <path d="M316.5 215.9c-2.4-.3-6-.7-8.3-.7 1.8-1.6 4.2-4.1 5.7-5.7-1 1.5-2.6 3.4-3.3 4.8 1.6.7 4.1 1.1 5.9 1.6"/> + <path d="m309.6 214.6 7-.8-6.8-.2-1.3.6 1 .4"/> + <path d="m314.7 216.1-7.5-1.3 6.9-3.8c-1.4 1-3.4 2.4-4.4 3.4 1.3.6 3.5 1.2 5 1.7"/> + <path d="m309 214.6 6.1-2.7-6.7 1.8-.8.8h1.4"/> + <path d="M314.5 216.9c-1.7-.7-4.5-2-6.2-2.5l4.4-4.8c-.8 1.3-2 3-2.6 4.4 1.2 1 3 2 4.4 2.9"/> + <path d="m309.3 215 4.8-2-5.2.6-.6 1 1 .4m-4 44.6h-9.8l10 2.5 1.6-1-1.8-1.5"/> + <path d="m307.1 260.2-10-2.3 9.6 4.7 2-.6-1.6-1.8"/> + <path d="m308.8 260.9-10-.5 10 3 1.7-1-1.7-1.5"/> + <path d="M302.5 253.9c2.5 2.8 6.4 7.4 9.1 9.9-3.3.5-8.3 1.8-11.4 2.7 2.4-1.2 6-2.6 8-4-1.4-2.6-4-6-5.7-8.6"/> + <path d="m310.1 261.4-10-3.3 9.4 5.6 2-.4-1.4-2"/> + <path d="M303.4 254.5c2.8 2.6 7 6.7 10 9-3.2.9-8 2.8-11 4 2.3-1.4 5.6-3.2 7.4-5-1.6-2.4-4.5-5.5-6.4-8"/> + <path d="m311 262-9.5 1.9 10 .6 1.4-1.3-2-1.2"/> + <path d="m309 261.4-9.8.8 10.1 1.7 1.6-1.2-2-1.3"/> + <path d="m310.8 262-10.2-1.7 10 4 1.8-.7z"/> + <path d="m312.5 262.5-10 .2 10.2 2.3 1.6-1.1z"/> + <path d="M305.7 256c2.8 2.6 7 6.8 9.9 9.2-3.3.7-8.3 2.4-11.3 3.4 2.4-1.3 5.8-2.9 7.7-4.5-1.6-2.5-4.4-5.7-6.3-8.2z"/> + <path d="m313.9 262.9-10.2-2.6 9.8 5 1.9-.6z"/> + <path d="M306.6 256.5c3 2.4 7.6 6.2 10.7 8.2-3.2 1.1-7.8 3.5-10.6 4.9 2.2-1.7 5.3-3.7 7-5.5-1.8-2.4-5-5.3-7-7.6z"/> + <path d="m314.8 263.4-9.3 2.6h10l1.3-1.5-2-1z"/> + </g> + <path fill="#fedf00" stroke="#000" stroke-width=".4" d="m327.6 249.5-7.6-5.3-7.6 5.3 2.9-8.4-6.7-5.2h8.6l2.8-8.4 2.8 8.4h8.6l-6.7 5.2z"/> +</svg> diff --git a/apps/web/public/flags/qa.svg b/apps/web/public/flags/qa.svg new file mode 100644 index 00000000..901f3fa7 --- /dev/null +++ b/apps/web/public/flags/qa.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-qa" viewBox="0 0 640 480"> + <path fill="#8d1b3d" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 0v480h158.4l97.8-26.7-97.8-26.6 97.7-26.7-97.7-26.7 97.7-26.6-97.7-26.7 97.8-26.7-97.8-26.6 97.7-26.7-97.7-26.7 97.7-26.6-97.7-26.7 97.8-26.7-97.8-26.6L256.1 80l-97.7-26.7 97.8-26.6L158.3 0z"/> +</svg> diff --git a/apps/web/public/flags/re.svg b/apps/web/public/flags/re.svg new file mode 100644 index 00000000..64e788e0 --- /dev/null +++ b/apps/web/public/flags/re.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-re" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#000091" d="M0 0h213.3v480H0z"/> + <path fill="#e1000f" d="M426.7 0H640v480H426.7z"/> +</svg> diff --git a/apps/web/public/flags/ro.svg b/apps/web/public/flags/ro.svg new file mode 100644 index 00000000..fda0f7be --- /dev/null +++ b/apps/web/public/flags/ro.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ro" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#00319c" d="M0 0h213.3v480H0z"/> + <path fill="#ffde00" d="M213.3 0h213.4v480H213.3z"/> + <path fill="#de2110" d="M426.7 0H640v480H426.7z"/> + </g> +</svg> diff --git a/apps/web/public/flags/rs.svg b/apps/web/public/flags/rs.svg new file mode 100644 index 00000000..6d4f74d7 --- /dev/null +++ b/apps/web/public/flags/rs.svg @@ -0,0 +1,292 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-rs" viewBox="0 0 640 480"> + <defs> + <clipPath id="rs-a"> + <path fill-rule="evenodd" d="M60 0h1200v900H60z"/> + </clipPath> + </defs> + <g clip-path="url(#rs-a)" transform="translate(-32)scale(.53333)"> + <path fill="#fff" d="M0 0h1350v900H0z"/> + <path fill="#0c4076" d="M0 0h1350v600H0z"/> + <path fill="#c6363c" d="M0 0h1350v300H0z"/> + <g transform="matrix(1 0 0 1.00437 0 -.3)"> + <path fill="#21231e" d="M473.4 259.4v-.2h1v.2l-.5.5-.6-.6zm1 0v.5h-.5l.4-.6zm-93 5.2-1 .2.3-.6 4.2-.2 4-.3 4-.2 3.8-.3 4-.2 3.6-.3 3.7-.2 3.7-.2 3.5-.2h3.4l3.3-.3 3.2-.2 3.2-.2 3-.2h3l3-.2 3-.2 2.7-.2h2.8l2.7-.2 2.5-.2h2.5l2.4-.3h2.2l2.2-.2h2.2l2-.2h2l2-.2h5.3v1h-5.5l-1.8.2h-2l-2 .2h-2.2l-2.2.2-2.4.2h-2.4l-2.5.2-2.5.2H446l-2.8.3h-2.8l-3 .3-2.8.2h-3l-3 .3-3.3.2-3.3.2-3.3.2h-3.5l-3.5.3-3.6.2-3.5.3-3.8.2-3.8.2-4 .3-4 .2-4 .3-4.2.2.5-.6zm-1 .2-.3-.5h.7zm6.4 31-6.5-31 1-.2 6.5 31-.5.7zm.5.5h-.4l-.2-.4.5.3zm95-4-.2 1h.2-5.8l-3 .2h-3l-2.8.2h-3l-3 .2h-6l-3 .2h-3l-3 .2h-3l-3 .2h-3.2l-3 .2h-3l-3 .2h-3l-3 .2h-3l-3 .2h-3l-3 .2h-3l-3 .2h-3l-2.8.2h-5.8l-2.7.2h-2.7v-1h5.8l2.7-.2h5.8l3-.2h3l2.8-.2h3l3-.2h3l3-.2h3l3-.2h3l3-.2h3l3-.2h3.2l3-.2h3l3-.2h3l3-.2h3l3-.2h3l3-.2h3l2.8-.2h3l2.8-.2h.2zm-.2 0h.2zm94.5 3.4 1 .2-.5.3h-2.8l-2.8-.2h-8.8l-2.8-.2h-3l-3-.2H551l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3.2-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2H485l-3-.2.2-1h2.8l3 .2h3l2.8.2h3l3 .2h3l3 .2h3l3 .2h3l3 .2h3l3 .2h3l3 .2h3.2l3 .2h3l3 .2h3l3 .2h3l3 .2h3l3 .2h5.8l2.7.2h3l2.7.2h2.8l-.5.5zm1 .2v.3h-.5l.5-.4zm6.5-31.2-6.5 31h-1l6.5-31.2.6-.4zm-.4-.6h.5v.6zm-93.7-4.8h1l-.6-.5h5.4l2 .2h2l2 .2h2l2.4.2h2.4l2.4.3h5l2.6.3h2.7l3 .3 2.8.2h3l3 .3 3 .3 3.3.2 3.3.2 3.4.2h3.4l3.6.3 3.6.2 3.7.2 3.6.3 4 .2 3.8.3 4 .2 4 .3 4.2.2v1l-4.3-.2-4-.3-4-.2-4-.3-3.7-.2-3.8-.2-3.6-.3-3.6-.2-3.5-.2h-3.4l-3.3-.3-3.3-.2-3.2-.2-3-.2h-3l-3-.2-3-.2h-2.7l-2.6-.3h-2.6l-2.6-.3h-2.5l-2.4-.2-2.3-.2h-2.2l-2.2-.2h-2l-2-.2h-2l-1.8-.2h-3.3l-.5-.6zm.4.5h-.5v-.6l.4.5zm.5-.8v.2h-1v-.2l.3-.5.6.5zm-1 0v-.4h.3l-.4.4zm-8 .3.2-1h8.8l.3.2v.8h-.5v.2h-.3l-.2-1h.2v.7h.2-8.2zm-8.1.2v-1l-.2 1h-.4l-.2-.2-.3-.3v-.5l.2-.2h9.4v1h-8.8l.2-.2v-.8h-.2.4v1zm0-1v1l-.6-.5.5-.5zm-.6.5v-.5h.5l-.6.5z"/> + <path fill="#edb92e" d="M583.5 264.2q4.6-10 11.2-18.7-17.6 13.2-18.7-4-1.2-.2-2.6-.2-13.5 21-26.2-5.8-17.4 27.6-29.2-1-20 25-33.6.2v-2q.6.4-1 0l-.3-.3-1 .2-.8-.2-.2.4q-1.9.2-1 0v2q-13.8 24.6-33.7-.4-11.8 28.6-29.2 1-12.5 27-26 6-1.6 0-2.7.2-1.1 17-18.8 4c4.6 5.5 8 12 11.3 18.6q50.9-2.2 101.3-5 50.8 2.8 101.5 5z"/> + <path fill="#21231e" d="m595 246-.6-1 .7 1-.3.4-.4.5-.4.4-.5.6-.4.5-.3.6-.4.6-.4.6-.5.5-.3.6-.4.6-.4.4-.3.6-.3.6-.3.6-.4.6-.3.5-.3.6-.4.5-.3.6-.3.7-.4.6-.3.6-.3.5-.3.6-.2.8-.3.6-.4.6-.2.6-.3.6-.3.6-.3.6-1-.4.3-.6.3-.7.3-.6.2-.5.4-.6.3-.7.2-.6.3-.6.3-.6.4-.6.3-.6.3-.6.3-.6.5-.6.3-.6.4-.6.3-.6.4-.5.2-.5.4-.6.4-.7.3-.6.4-.5.4-.6.5-.6.4-.5.3-.6.4-.6.4-.6.5-.5.4-.6.4-.5.7.7zm-19.2-4 .3-1 .5.5v1l.2 1v1l.3.7.2.8.3.7.3.7.2.6.4.5.3.5.4.4.5.3.4.3.4.3.5.2h.4l.5.2h1.9l.7-.2.7-.2.8-.3.8-.3.8-.3 1-.5.8-.6 1-.5 1-.7 1-.7 1-.7 1-1 .7 1-1 .7-1 .8-1 .7-1 .6-1 .5-1 .5-1 .5-.8.4-1 .3-.7.3-.8.2h-.8l-.8.2h-2l-.7-.3-.5-.2-.6-.3-.5-.5-.6-.4-.5-.4-.5-.5-.3-.5-.4-.7-.3-.7-.2-.7-.3-.8-.2-1v-.8l-.2-1v-1l.2.3zm.3-1 .4.2v.3zm-2.2.6-.8-.6.4-.2h2v.2h.4l-.2 1h-1.2v-.2h-1.2l.4-.2zm-.8-.6v-.2h.4zm-25.3-5.2-1-.6h1l.8 1.7.8 1.4.8 1.5.8 1.2.8 1.2.8 1.2.8 1 .8 1 .8.8.8.8.8.7.7.5 1 .4.7.3.8.3.7.3h2.3l.8-.2.8-.2.8-.3.8-.4.8-.6.8-.6.8-.7.8-.6 1-1 .7-1 .8-1 .8-1 1-1.4.8.6-.8 1.3-1 1-.7 1.2-1 1-.7 1-1 .7-.8.6-.8.6-1 .6-.7.4-1 .4-.8.2-1 .2h-3l-1-.4-.7-.3-1-.5-.7-.5-1-.6-.7-.7-1-.8-.8-1-.8-1-.8-1-.8-1.2-.8-1.3-.8-1.3-.8-1.5-.8-1.6-.8-1.7h1zm-1-.6.6-.7.4.8h-1zm-28.3-.5-.8-.6 1 .2.6 1.7.7 1.5.7 1.5.8 1.4.7 1.3.8 1.2.8 1 .8 1 .8.7.8.7.8.6 1 .5.7.4.8.2 1 .2h2.5l1-.3.8-.2 1-.4.8-.6 1-.7 1-.6 1-1 1-1 1-1 1-1.2 1-1.3 1-1.6 1-1.5 1.2-1.8 1 .6-1.2 1.7-1 1.5-1.2 1.5-1 1.3-1 1.3-1 1.2-1.2 1-1 1-1 .8-1 .7-1 .6-1 .4-1 .4-1 .4h-3l-1-.2-1-.3-.8-.6-1-.5-.8-.8-1-.8-.7-.8-1-1-.8-1-.8-1.3-.8-1.4-.8-1.5-.8-1.5-.7-1.7-.8-1.7h1zm-.8-.6.5-.6.5.8h-1zm-33.8.7h1v-.2l.8 1.5 1 1.4.8 1.2 1 1.2.8 1 1 1 .8 1 1 .8.8.7 1 .6 1 .4 1 .4.8.3 1 .3 1 .2h2l1-.2 1-.3 1-.3 1.2-.4 1-.6 1.2-.6 1-.6 1.3-.8 1-1 1.3-1 1.2-1 1-1.3 1.4-1.3 1.2-1.4 1.2-1.5.8.7-1.3 1.5-1 1.5-1.3 1.3-1.2 1.3-1.2 1-1.2 1-1 1-1.3 1-1.2.7-1 .6-1.3.6-1 .5-1.3.3-1.2.3h-1l-1.2.2h-1l-1.2-.2-1-.2-1-.3-1-.4-1-.5-1-.7-1-.6-1-1-1-.8-1-1-1-1.2-.8-1.2-1-1.3-.8-1.5-1-1.5v-.3zm0 .3v-.3zm1-2.3v2h-1v-2l.8-.5.3.5zm-1 0v-.8l.8.2-.8.5zm-1 .3 1-.4-.4-.3h1l-.2.2v.4l.4-1h.2v.2l.2.2v.6h-1.8l-.5-.3zm.5.3h-.3v-.3zm.3-1 .2.3-1 .4v-.4l.2-.7.6.2zm-.6-.4.4-.2.2.4zm-1 1 .2-1h.8l.2 1h-1zm-.4-.4-1-.4.7-.3h.8v1h-1zm-1-.4.3-.4h.3zm0 .4v-.4l1 .4-.2.4-.4.3zm.8.4v.3h-.4zm-1-.3h-1l.7.4v.2h.2v-.8h-.2.2l.2-.2h.4l.2 1h-1.9v-.2h-.2v-.5h.2v-.2h.2l.8.4zm-.7-.5.7-.3v.7zm-.3 2.5v-2h1v2.3zm1 0v.2zm-33.6 0-1-.5h1l1 1.4 1.3 1.4 1.3 1.3 1.2 1.2 1.2 1 1.2 1.2 1 1 1.2.7 1 .7 1.2.7 1 .6 1.2.4 1 .3 1 .3h1l1 .2h1l1-.2 1-.2 1-.2 1-.4 1-.5 1-.7.8-.7 1-.8.8-1 1-1 .8-1 1-1.2.8-1.2.8-1.4 1-1.5.8.5-1 1.5-.8 1.4-1 1.2-.8 1.2-1 1.2-1 1-.8 1-1 .8-1 .7-1 .8-1 .5-1 .4-1 .4-1 .3-1.2.2h-2.2l-1-.2-1.3-.3-1-.3-1.2-.5-1-.6-1.2-.6-1.2-.8-1.2-.8-1.2-1-1.2-1-1.2-1-1.2-1.4-1.2-1.3-1.3-1.5-1-1.5h.8zm-1-.5.3-.8.7.7zm-28.3 1.5-1-.4h1l1 1.6 1 1.4 1.2 1.5 1 1.2 1 1.2 1 1 1 1 1 1 1 .7 1 .8 1 .6.8.4 1 .3.8.4h2.8l.8-.2.8-.3.8-.5 1-.5.7-.6 1-.7.7-.8.8-1 .8-1 .8-1.3.8-1.3.8-1.4.8-1.5.7-1.6.8-1.8 1 .4-.8 1.7-.7 1.7-.8 1.5-.8 1.4-.8 1.3-1 1.2-.7 1-1 1-.7 1-1 .7-.8.7-1 .4-.8.5-1 .2-1 .2h-3l-1-.3-1-.3-1-.4-1-.6-1-.7-1-.8-1-1-1-1-1-1-1-1.4-1-1.3-1.2-1.5-1-1.5-1.2-1.7h1zm-1-.4.5-.8.5.7h-1zm-25.6 6.5v-1l.3.2 1 1.3.7 1.2.8 1 .8 1 .8.8 1 .8.7.8 1 .6.7.5.7.3.8.3.8.2.8.2h2.3l.8-.4.8-.3.8-.4.7-.5 1-.6.7-.8.8-.8.8-.8.8-1 1-1 .7-1.2.7-1.2.8-1.3.8-1.6.8-1.5.8-1.7 1 .4-1 1.7-.7 1.5-1 1.4-.7 1.3-.8 1.3-.8 1.2-.8 1-1 1-.8 1-.8.8-.8.7-1 .6-.7.5-1 .5-1 .3-.7.3h-2.6l-1-.2-.8-.2-1-.4-.8-.4-1-.6-.8-.6-.8-.7-1-1-.7-.8-1-1-.8-1-1-1.3-.7-1.4.4.2zm0-1h.2v.2l-.3-.2zm-2.2.8h-1l.4-.5h1.2v-.2h1.5v1H389v.2h-.4zm-1 0v-.4h.4zm-18 3.6-.6.7.6-1 1 1 1.2.6 1 .7 1 .6 1 .4.8.5 1 .4.7.3.8.3.8.3.8.2h.7l.7.2h1.7l.4-.2.5-.2.4-.3.4-.3.4-.3.4-.4.3-.5.2-.5.3-.6.3-.7.3-.7.3-.8v-.8l.3-1v-.8l.2-1h1v1l-.2 1-.2 1-.2 1-.2.7-.2.8-.3.8-.4.7-.2.6-.5.6-.4.5-.6.5-.5.4-.7.2-.6.2-.6.2h-3.3l-.8-.3-.8-.3-1-.3-.8-.4-1-.5-.8-.5-1-.5-1-.6-1-.7-1-.8-1.2-.8.7-.8zm11 18.5v1l-.4-.3-.3-.6-.2-.6-.3-.6-.3-.6-.4-.6-.3-.6-.3-.7-.3-.5-.4-.6-.4-.7-.3-.6-.4-.6-.3-.5-.4-.6-.4-.7-.4-.5-.3-.6-.4-.6-.4-.6-.4-.6-.3-.5-.4-.7-.3-.6-.3-.5-.4-.6-.4-.5-.4-.5-.4-.5-.4-.6-.4-.5-.4-.6-.4-.5.7-.8.4.5.4.6.4.5.4.6.4.5.4.5.4.5.4.6.4.6.4.5.3.6.4.6.4.5.4.6.4.6.3.6.5.6.3.6.3.6.5.6.3.6.3.6.5.6.3.7.3.7.4.6.3.6.4.5.4.6.3.7.3.7.3.6-.5-.3zm0 1h-.3v-.3zm101.4-6v1l-3.2.2h-3.2l-3 .3h-3.3l-3 .3-3.3.2H460l-3 .3-3.3.3h-3.2l-3 .3H444l-3 .3h-3.3l-3.3.2-3 .2h-3.3l-3.2.3h-3l-3.3.3-3.3.2h-3l-3.3.3h-3.2l-3 .2-3.3.2h-3.3l-3.2.2h-3l-3.3.3H384l-3 .2-.2-1h3.2l3.2-.3h3l3.3-.2 3.2-.2h3l3.3-.3h3.2l3-.3h3.3l3.2-.3h3l3.3-.2h3.2l3-.3h3.3l3.2-.3 3-.2h3.3l3.2-.3h3l3.3-.3 3.2-.2h3l3.3-.3 3-.3h3.3l3.2-.3 3-.2h3.3l3.2-.3 3-.3h.2zm101.2 5v1h-3l-3.3-.2-3-.2h-3.3l-3-.3h-3.3l-3.2-.3h-3l-3.3-.2-3.3-.2h-3l-3.3-.3-3.2-.2h-3l-3.3-.3h-3.3l-3-.3h-3.3l-3.2-.3-3-.3h-3.3l-3.3-.3h-3l-3.3-.3h-3l-3.3-.2-3-.2-3.2-.2h-3.2l-3.2-.3h-3l-3.3-.2.2-1h3l3.3.3 3.2.2 3 .2 3.3.2h3l3.3.3h3.2l3 .2 3.3.2 3.2.2h3l3.3.3h3l3.3.2 3.2.2h3l3.3.3h3.3l3 .3h3.3l3.2.3h3l3.3.3h3.3l3 .3h3.3l3.2.2h3.2l3 .2 3.3.2h3.2zm0 1v-1l.5.7zm.5-.3-.2.3h-.4z"/> + <path fill="#edb92e" d="m459.4 276.2 22.7-11.5 23 11.5-23 11.4z"/> + <path fill="#edb92e" d="M474 259.2v.2q-26.4 1-93.2 5.3l6.5 31c29.6-.8 64.3-2 94.8-3 30.7 1 65.3 2.2 95 3l6.5-31q-66.9-4.2-93-5.3v-.2q2.6-.5-8.4-.2c-7-.2-10-.2-8 .2z"/> + <path fill="#edb92e" d="m597.3 236.7-3.7-.6c-7 17.5-13.4 18-14.6 1.4 1.6-.6 1-3.3 2.8-2.2 1 .5 2-1 1.3-2q-2.9-2.2-5.4.4c-.8-2.7-3-4-5.4-2.8-1 .5-.7 2.5.4 2.4 1.8-.2 1 1.6 1.6 3-12.5 16.4-19 14.4-17.4-7.3-3-.7-6.5-1.3-9.6-2.4-11.5 23.3-19.7 24.3-26.4 3.4 1.4-1 1-3.8 3-3 1.3.6 2.3-1.5 1.2-2.4-2.4-2-5-1.3-6.8 1.3-1.4-3-4-4-6.6-2.2-1.2.7-.5 3 .8 2.6 2.3-.7 1.3 2.4 3 3.5-5 19.6-30.8 21-26.6-8.2q-3.5 0-6.6.2l-6.7-.2c4.2 29-21.5 27.8-26.6 8 1.6-1 .6-4 3-3.4 1.2.3 2-2 .7-2.7-2.6-1.7-5.2-.7-6.6 2.2-1.7-2.7-4.3-3.4-6.7-1.4-1 1 0 3 1 2.5 2.2-.8 1.8 2 3.2 3-6.7 21-15 20-26.4-3.4-3 1-6.5 1.7-9.5 2.3 1.6 21.6-5 23.6-17.4 7 .6-1.2 0-3 1.7-2.8 1 0 1.5-2 .4-2.4-2.4-1-4.5 0-5.3 2.8q-2.5-2.7-5.5-.4c-.8 1 .4 2.5 1.3 2 1.8-1 1.2 1.6 2.8 2.2-1.2 16.5-7.6 16-14.6-1.3l-3.7.7c0 4 1.3 8.5 3.8 11.7 10.6 13.5 18.5 10.4 18.8-4.7 14 16.4 24.4 14.3 26.2-3 11.7 21.8 30.5 11.4 31-2 5 19.4 33.5 19.2 35.4-3 1.8 22.2 30.3 22.4 35.4 3 .4 13.4 19.2 23.8 31 2 1.7 17.3 12.3 19.4 26 3 .4 15 8.3 18.2 19 4.7 2.4-3.2 3.8-7.6 3.7-11.7z"/> + <path fill="#21231e" d="m593.7 235.6 3.7.6-.2 1-3.6-.6-.4-.7zm-.5.3v-.4h.5zm-14.3 1 .2 1 .3-.6.2 1.4v1.4l.3 1.3.2 1.2.2 1 .3 1 .3 1 .3.7.3.7.3.6.3.5.3.5.4.2.3.2h1.3l.4-.3.4-.2.5-.4.4-.3.6-.6.5-.6.6-.7.7-1 .6-.8.7-1.2.6-1.2.6-1.3.7-1.3.5-1.5.7-1.6 1 .3-.8 1.6-.6 1.4-.7 1.4-.5 1.3-.7 1.3-.6 1-.6 1-.7 1-.7.8-.6.8-.6.6-.5.5-.6.3-.7.4-.5.2h-1.2l-.6-.2-.5-.2-.5-.4-.5-.4-.4-.6-.3-.6-.3-.8-.4-.8-.3-1-.2-1-.3-1-.2-1.3-.2-1.3-.2-1.5v-1.6l.3-.5zm-.5.4v-.4h.4zm3.5-2.7-.5 1v-.2h-.4v.2h-.2v.2l-.2.2v.3l-.2.3-.2.3v.2h-.2v.3h-.3v.2h-.3l-.2.2-.3-1v-.2h.2v-.2h.2v-.2l.2-.2v-.5h.2v-.4l.2-.2v-.3l.2-.2.2-.2h.2l.2-.2h1l.2.2zm.8-1 .6-1v.2h.2l.2.3v1.6h-.2v.2h-.2v.2h-.2v.2h-.2v.2h-.5v.2h-.8l-.3-.2.5-1v.2h.4v-.2h.2v-.2h.2v-.8zm.6-1v.2zm-6.3 1 1-.3-.8-.2h.2l.2-.3.2-.2.2-.2.3-.2h.2l.2-.2h.2v-.2h.4l.2-.2h2.3l.2.2h.2l.2.2h.2l.2.2h.2l.2.2.2.2-.6.8-.3-.2h-.2l-.2-.2-.2-.2h-.3l-.2-.2h-2.1v.2h-.3v.2h-.2l-.3.2v.2h-.3v.2l-.3.2zm1 .3-.7.5-.2-.8 1 .3zm-5.6-2.7-.4-1h.5l.3-.2h2.1l.4.2h.4l.2.3h.2v.2l.3.2h.2l.2.2v.2l.2.2v.2l.2.2.2.2v.2l.2.3v.2l.2.2v.2l-1 .3v-.5h-.2v-.3l-.2-.2v-.2h-.3v-.3h-.2v-.4h-.3v-.2h-.3v-.2h-.6v-.2h-2l-.2.2zm0 1.4.2 1h-.6v-.2h-.2l-.2-.2-.2-.2-.2-.2V231l.2-.2.2-.2.3-.2.4 1h-.2v1.2h.2zm2.2 3.7-.8-.6v.5-.2h-.2v-1h-.2v-1l-.2-.2h-.7v-1.2h.6l.3.2.2.2h.2v.2l.2.3v.4h.2v1.5h.2v.8zm0-.5h.2l-.2.4zm-18-6.6.3-1 .3.6v2l-.2 1.8v4.9l.3 1.4v1.3l.3 1 .2 1 .3 1 .4.8.3.8.4.5.5.5.4.3.4.3.5.2h1l.6-.2.7-.3.7-.4.8-.5 1-.4.7-.8 1-.8 1-1 1-1 1-1 1-1.4 1-1.4 1.3-1.4.8.6-1.2 1.5-1 1.3-1.2 1.3-1 1-1 1.2-1 1-1 .8-1 .8-.8.6-1 .5-.7.4-.8.3h-.8l-.8.2h-.7l-.7-.2-.6-.3-.6-.5-.5-.5-.4-.7-.5-.7-.4-1-.2-1-.2-1-.2-1.2-.2-1.3V229l.5.6zm.3-1h.3v.6zm-9.3-1.6-1-.4.7-.3.3.2h.3l.3.2h.3l.2.2h.3l.4.2h.6l.3.2h.3l.4.2h.6l.3.2h.5l.3.2h.7l.3.2h.6l.3.2h.5l.3.2h.8l.3.2h.3l-.3 1h-.8l-.2-.2h-.6l-.3-.2h-.8l-.3-.2h-.6l-.4-.2h-.7l-.4-.2h-.3l-.3-.2h-.6l-.3-.2h-.2l-.3-.2h-.6l-.4-.2h-.3l-.4-.2h-.4l-.3-.2h-.2l.7-.4zm-1-.4.3-.4h.4l-.6.4zm-26.2 3.2.6.8.3-.6.6 2 .5 1.7.7 1.6.6 1.6.7 1.4.7 1.2.6 1 .7 1 .7 1 .7.6.6.6.7.4.7.4.7.2h1.4l1-.2.6-.2.8-.4 1-.6.7-.6 1-.8 1-1 .8-1 1-1.2 1-1.3.8-1.4 1-1.6 1-1.7 1-1.8 1-2 1.2-2 1 .3-1.2 2.2-1 2-1 1.8-1 1.8-1 1.6-1 1.5-1 1.3-1 1.2-1 1-1 1-1 1-.8.7-1 .5-.8.4-1 .2-.8.2h-1.8l-.8-.3-.8-.3-.8-.5-.8-.6-.7-.8-.8-1-.7-1-.7-1-.7-1.4-.7-1.4-.7-1.5-.7-1.7-.6-1.7-.7-1.8.2-.6zm-.2.6v-.4l.2-.2zm3.8-3.6-.3 1h-.3l-.2-.2h-.2v.2h-.2v.2h-.2v.5h-.2v.4l-.2.3-.2.2v.2l-.2.3-.3.3-.2.3h-.2l-.5-.7.2-.2.2-.2v-.5h.2v-.4h.2v-.3l.2-.3v-.2l.2-.2.2-.3.2-.2h.2v-.2h.5v-.2h.7l.2.2zm.7-1.6.6-.8.2.2.2.2v.2l.2.3v1.3l-.2.3v.2l-.2.2h-.2v.2h-.2v.2h-.2l-.2.2h-1.1l.4-1h.7v-.2h.2v-.6h.2v-.7h-.2v-.2zm-7 1 1-.3h-1l.2-.3v-.3h.3l.2-.3.2-.3.2-.2.3-.3.3-.3h.2l.2-.3h.3l.2-.2h.5l.2-.2h2.2l.3.2h.2l.3.2h.3l.3.3h.2l.3.3.3.2-.6.8-.2-.2h-.2l-.2-.3-.4-.2h-.2l-.2-.2H521v.2h-.5l-.2.3h-.2v.2h-.2l-.2.3-.2.2-.3.3v.2l-.2.3-.2.2h-1zm1 .2-.6.7-.3-1 1 .2zm-7-2-.4-1h.3l.2-.2h.3l.4-.2h.2l.3-.2h.4l.3-.2h1.6l.2.2h.2l.3.2h.2l.2.3.3.2.2.2v.2l.3.2.2.2.2.2v.2l.3.2.2.3.3.4v.3l-.8.4-.2-.4-.2-.2v-.2l-.3-.2v-.2l-.3-.2-.3-.3h-.2v-.2h-.3l-.3-.2h-.2l-.3-.2h-.4l-.2-.2h-1.2l-.2.2h-.5l-.2.2h-.2l-.2.2-.2.2zm.5 1.7.3 1h-.5l-.2-.2h-.2l-.2-.2-.2-.2-.2-.2v-.2l-.2-.2V224l.2-.2.2-.3.3-.2.5 1h-.2v1.2h.2v.2h.4zm3.7 4-1-.2.2.5h-.2l-.2-.2h-.2v-.3h-.2l-.2-.3v-.4l-.2-.2v-.3l-.2-.2v-.4l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2h-.6l-.4-1h1.1l.3.2h.2v.4h.2v.3l.2.2v.2h.2v.5l.2.3v.5h.2v.4h.2l.2.2.2.2.3.6zm-.3-.5.3.2v.3zm-27-7.2v-1l.6.5-.3 2.7-.2 2.4v2.2l.2 2 .3 2 .4 1.7.5 1.5.7 1.4.6 1 .8 1.2 1 1 1 .7 1 .6 1 .5 1 .4 1.3.3h2.4l1.3-.2 1.2-.3 1.2-.5 1.2-.5 1-.7 1.2-1 1-.8 1-1 1-1.3 1-1.3.8-1.3.8-1.5.6-1.7.5-1.7 1 .2-.6 2-.7 1.6-.8 1.6-1 1.5-1 1.4-1 1.3-1 1-1.2 1-1.2 1-1.2.8-1.3.7-1.2.5-1.3.3-1.4.2h-2.5l-1.2-.3-1.3-.4-1.2-.5-1-.7-1-1-1-1-1-1-.8-1.5-.7-1.5-.6-1.6-.4-1.8-.3-2-.2-2.2V227l.2-2.6.3-2.7.5.6zm0-1h.7v.5l-.6-.5zm-6.6 1.2.2-1h4l.2-.2h2.1v1h-4.1l-.2.2h-2zm-6-.8h-1l.5-.4h5.1l.2.2h1.2v1h-4l-.3-.2h-2l.5-.6zm-1 0v-.5h.5zm-26.4 7.8.5.8.3-.5.6 1.7.5 1.7.7 1.5 1 1.4.8 1.4 1 1.2 1 1 1 1 1.2 1 1.2.6 1.2.5 1.2.5 1.2.3 1.2.2h2.4l1.2-.3 1-.3 1.2-.4 1-.7 1-1 .8-.8 1-1 .6-1.3.6-1.5.6-1.6.4-1.8.3-2v-2l.2-2.3-.2-2.5-.3-2.7h1l.3 2.6.2 2.5v2.2l-.2 2.2-.3 2-.5 1.8-.5 1.6-.7 1.5-.8 1.4-1 1.2-1 1-1 .8-1 .7-1.2.5-1.3.4-1.3.3H463l-1.2-.2-1.3-.3-1.3-.5-1.3-.6-1.3-.7-1.2-1-1.2-1-1-1-1-1.2-1-1.3-1-1.5-.7-1.6-.7-1.7-.6-2 .2-.5zm-.2.5v-.3l.2-.2zm3.7-4-.2 1-.2-.2h-.7v.2l-.2.2v.4l-.2.2v.5l-.2.2v.2l-.2.3v.2l-.2.2v.2h-.2v.3h-.3l-.2.2h-.2l-.4-.7.2-.2.2-.2h.2v-.3l.2-.2v-.5l.2-.2v-.5l.2-.3v-.3l.2-.2.3-.3.2-.2h.2l.2-.2h1.1zm.4-1.8.6-1v.2h.3v.3h.2v.2l.2.2v1.5l-.2.2v.2l-.2.2-.3.2-.2.2h-.9l.3-1h.4v-.4l.2-.2v-.8h-.2v-.2h-.2zm-6.7 2 .8-.6h-.8v-.2l.2-.3.3-.4v-.2l.3-.2.2-.2.2-.2.2-.2.2-.2.2-.2h.2l.3-.3.3-.2h.2l.3-.2h.5l.2-.2h1.6l.4.2h.2l.3.2h.2l.3.2.2.2h.3l-.6 1-.2-.2h-.2l-.2-.2h-.3l-.2-.2h-.5l-.2-.2h-1.3l-.2.2h-.3v.2h-.3l-.2.3-.2.2-.3.3-.3.3-.2.2v.2l-.2.2-.2.2v.3h-.2zm1 0-.5.7-.5-.8h1zm-7-1.2-.8-.8.2-.2.2-.2h.3l.2-.3h.2l.2-.2h.3l.3-.2h2.5l.3.2h.2l.3.2.2.2h.2l.2.3h.2l.2.2.2.2.2.3.2.2h.2v.4l.3.2-.8.6-.2-.2v-.3l-.3-.2-.2-.2-.3-.3-.2-.2h-.2l-.2-.2v-.2h-.2l-.2-.2h-.4l-.2-.2H441l-.2.2h-.2l-.2.2h-.2l-.2.3h-.2l-.2.3zm.5 1.6.4 1h-1.3l-.2-.2-.3-.2h-.2v-.2l-.2-.3v-.2l-.2-.2v-1.6l.2-.2.2-.2v-.2l.8.8-.2.2v1l.2.2.2.2h.4zm3.8 3.6-1-.4.2.6h-.2v-.3h-.3v-.2h-.2v-.3h-.2v-.5h-.2v-.6h-.2v-.5l-.2-.2-.2-.2h-.2v-.2h-.5v.2l-.5-1h.4l.2-.2h.6l.2.2.3.2h.2v.2l.2.2.2.3v.2l.2.2v.2l.2.3v.2l.2.2.2.2.2.2.2.2.2.6zm-.2-.6.3.2v.4l-.2-.6zm-26.6-2.5-.3-1 .5.4 1 2 1 2 1.2 2 1 1.6 1 1.6 1 1.5 1 1.4.8 1.2 1 1 .8 1 1 .8.7.6 1 .6.6.4.8.2.8.2h1.3l.7-.2.7-.4.7-.4.7-.6.7-.7.8-.7.6-1 .7-1 .8-1.3.6-1.4.7-1.5.7-1.5.7-1.8.6-2 1 .5-.7 2-.6 1.6-.7 1.7-.6 1.5-.7 1.4-.7 1.3-.7 1.2-.7 1-.8.8-.7.8-.7.6-.8.5-1 .4-.7.4H432l-1-.2-.7-.3-1-.5-1-.6-.8-.8-1-1-.8-1-1-1-1-1.2-1-1.3-1-1.5-1-1.6-1-1.8-1-1.8-1-2-1-2.2.5.3zm-.3-1h.3l.2.4zm-9 3h-1l.4-.6h.7l.3-.2h.6l.4-.2h.9l.3-.2h.5l.3-.2h.6l.4-.2h.3l.3-.2h.6l.3-.2h.5l.3-.2h.3l.4-.2h.3l.3-.2h.3l.3-.2h.3l.2 1h-.7l-.3.2h-.3l-.3.2h-.3l-.3.2h-.5l-.3.2h-.3l-.4.2h-.6l-.4.2h-.6l-.3.2h-.6l-.2.2h-.6l-.3.2h-.7l-.3.2h-.8v.2h-.4zm-1 0v-.5h.4zm-17.4 7 1 .3v-.5l1 1.4 1 1.4 1.2 1.3 1 1 1 1 1 1 1 .8.8.8 1 .6.6.4.8.4.7.3h.6l.6.2h.4l.5-.2.3-.2.5-.2.4-.5.3-.5.4-.7.2-.7.3-1 .2-1 .2-1v-2.7l.2-1.5v-5l-.2-1.8h1v2l.2 1.8v4.9l-.2 1.4v1.4l-.3 1.2-.3 1-.3 1-.2 1-.4.7-.4.7-.6.5-.5.5-.7.3-.7.2H402l-.6-.2-.8-.4-1-.5-.7-.5-1-.6-1-.8-1-.8-1-1-1-1-1-1.2-1-1.3-1.2-1.4-1-1.6-.2-.5zm0 .4v-.3.4zm2-3.7v1h-.6v.8l-.2.3v1h-.2v.3l-1-.4v-.4l.2-.2v-.9h.2v-.5l.2-.2v-.2h.4v-.2h1zm.3-1.4.3-1 .2.2h.2v.2h.2v.7h.2v1.2l-.2.2v.3l-.2.2-.2.2h-.2l-.2.2h-.5v-1h.4v-.2h.2v-.8l-.2-.2zm-5.7 2.7.7-.8-.8.2v-.2l.2-.3v-.3l.2-.3v-.2l.2-.2.2-.2v-.2l.3-.2v-.2l.3-.2h.2v-.3h.3l.3-.2.2-.2h.4v-.2h2.5l.3.2h.2l.3.2-.4 1-.3-.2h-.5l-.2-.2h-1.3l-.3.2h-.2v.2h-.2l-.2.2v.2h-.2l-.2.2v.2h-.2v.3l-.2.2v.2h-.2v.5l-.2.2-1 .3zm1-.3-.4.8-.7-.5zm-5.8-.2-.7-.6v-.2l.3-.2h.3l.2-.2h.2l.2-.2.3-.2h.2l.2-.2h2.1l.2.2h.2l.2.2h.2l.2.2.3.2.2.2h.2l.2.3v.2l-.7.8v-.2h-.3v-.2l-.3-.2-.3-.2h-.3v-.2h-.2l-.2-.2h-2v.2h-.3l-.2.2-.2.2zl-.2.2zm-.7-.6v-.2zm1.4 1.7.6 1h-1.3l-.3-.2-.2-.2v-.2h-.2l-.2-.2v-.3l-.2-.2v-.8l.2-.3h.2l.7.5v.8h.2v.2h.2v.2h.2zm3.6 2.7h-1l.3.5v-.2h-.3v-.2h-.3v-.3h-.2v-.2h-.2v-.2l-.2-.2v-.3h-.2v-.2l-.2-.3v-.2h-.7l-.6-.8h.2l.2-.2h1.1l.3.2.2.2v.2h.2v.4l.2.2v.5h.2v.2l.2.2.2.2h.2zm-.4-.5h.4v.4zm-14.7-.4v-1l.4.3.8 1.5.6 1.5.7 1.3.7 1.3.6 1.2.6 1 .6 1 .6 1 .5.6.6.7.5.7.6.4.5.5.3.2.5.2h1.1l.3-.3.3-.2.4-.4.3-.4.4-.5.3-.6.3-.8.3-.8.2-1 .3-1 .3-1.3.2-1.3v-1.4l.2-1.4h1v1.5l-.2 1.4-.2 1.3-.2 1.2-.2 1-.2 1-.3 1-.4.8-.4.8-.4.6-.4.6-.5.4-.5.4-.5.2-.6.2h-1.1l-.6-.3-.7-.4-.6-.4-.5-.6-.6-.6-.7-.7-.7-.7-.6-1-.6-1-.6-1-.6-1.2-.6-1.2-.7-1.4-.7-1.5-.6-1.7zm0-1h.3v.3zm-3.8.6 3.6-.6v1l-3.6.6-.5-.5zm-.5.5v-.4h.4zm4.7 11.4-.8.7-.3-.3v-.3l-.3-.3-.2-.3-.3-.3-.2-.3-.2-.3v-.4l-.3-.3-.2-.4-.2-.4v-.4l-.2-.4v-.4l-.3-.4v-.4l-.2-.3v-.4l-.2-.4v-.9l-.2-.3v-.8l-.2-.5V238l-.2-.5v-.7h1v1.9l.2.4v1.1l.2.5v.7l.2.3v.4l.2.4.2.3v.4l.2.5.2.3v.4l.2.3.2.4.2.2v.3l.3.4.2.2v.3l.3.3.2.4.2.3.2.3.2.3zm18.7-4.7-.8.7 1-.3-.2 1.4v1.4l-.2 1.3-.2 1.2-.2 1-.3 1-.2 1-.3 1-.4.7-.4.8-.4.7-.6.6-.5.5-.5.4-.7.3-.6.3h-.7l-.8.2h-.7l-.8-.2-.8-.2-.8-.2-1-.4-.7-.5-1-.7-1-.6-.8-.8-1-1-1-1-1-1-.8-1-1-1.3.8-.6 1 1.3 1 1 .8 1 1 1 1 .8.7 1 1 .5.7.6.8.5.8.4.7.2h.7l.7.3h1.4l.6-.2.4-.2.6-.2.4-.3.5-.5.4-.5.4-.6.4-.7.3-.8.3-.8.3-1 .4-1 .2-1 .2-1.2v-1.2l.2-1.3v-1.3l1-.4zm-1 .4V242l1 1zm27.3-3.2-1 .4 1-.2-.2 1.6v1.5l-.4 1.3-.4 1.3-.4 1.2-.4 1.2-.5 1-.7 1-.6 1-.6.7-.6.7-.8.6-.7.5-1 .4h-.8l-1 .3h-2.8l-1-.3-1-.4-1.2-.4-1-.6-1.2-.6-1.2-.8-1-.8-1.3-1-1.2-1-1.3-1.2-1.2-1.3-1.3-1.5-1.3-1.5.7-.7 1.2 1.5 1.3 1.4 1.2 1.2 1.2 1.2 1 1 1.3 1 1 .8 1.2.7 1 .7 1 .6 1 .4 1 .3 1 .2h1l.8.2h.8l1-.2.7-.3.7-.4.7-.5.7-.4.6-.6.6-.7.5-.8.5-1 .4-1 .5-1 .2-1.2.4-1.3.3-1.3v-1.5l.3-1.6h1zm-1 0 .2-1.5.8 1.5zm31.8-1.8-.8.3h1v1l-.3 1.4-.4 1.2-.4 1.2-.5 1-.6 1.3-.6 1-.7 1-.8 1-1 1-1 .7-1 .7-1 .7-1 .6-1.2.5-1.2.4-1.2.3h-3.8l-1.3-.2-1.3-.4-1.4-.4-1.3-.7-1.3-1-1.3-.8-1.3-1.2-1.3-1.2-1-1.5-1.3-1.6-1.2-1.8-1-2 .8-.5 1 2 1.2 1.6 1.2 1.7 1.2 1.4 1 1.3 1.3 1 1.2 1 1.3.7 1.2.6 1.2.5 1.3.5 1.2.2h3.6l1.2-.3 1-.3 1-.3 1.2-.5 1-.6 1-.7.7-.8 1-1 .6-.7.6-1 .6-1 .6-1 .4-1 .4-1.2.3-1V239h1zm35.6-3-1 .2h1l-.2 2-.4 2-.6 1.6-.6 1.7-.8 1.6-1 1.3-1 1.3-1 1-1.3 1-1.3 1-1.3.8-1.3.6-1.5.6-1.5.3-1.5.2h-1.5l-1.6.2-1.4-.2-1.6-.2-1.5-.3-1.5-.5-1.4-.6-1.4-.7-1.4-1-1.3-1-1.2-1-1-1.2-1-1.4-1-1.4-1-1.6-.6-1.6-.5-1.8 1-.3.5 1.7.6 1.6.8 1.5 1 1.3 1 1.3 1 1.2 1.2 1 1.2 1 1.3.8 1.3.7 1.4.5 1.4.5 1.4.3 1.5.2h4.4l1.5-.3 1.4-.4 1.3-.5 1.3-.5 1.3-.7 1-1 1.2-.8 1-1 1-1.3 1-1.4.6-1.4.7-1.7.5-1.7.4-1.8.2-2h1zm35.5 3-1 .2h1l-.4 1.8-.7 1.6-1 1.6-1 1.4-1 1.4-1 1.2-1.3 1-1.2 1-1.4 1-1.3.6-1.5.6-1.4.5-1.6.3-1.5.2-1.5.2h-1.6l-1.5-.2-1.4-.3-1.5-.4-1.4-.6-1.4-.6-1.3-.8-1.4-1-1.2-1-1-1-1.2-1.3-1-1.4-.7-1.7-.7-1.7-.5-1.7-.4-2-.4-2 1-.2.3 2 .3 1.8.5 1.7.6 1.6.8 1.3 1 1.4.8 1.2 1 1 1.2 1 1.2.8 1.3.7 1.3.6 1.4.6 1.4.3 1.4.2h4.5l1.4-.2 1.5-.3 1.4-.5 1.3-.5 1.3-.7 1.3-.8 1-1 1.2-1 1-1 1-1.4 1-1.3.7-1.5.6-1.6.5-1.7h1zm31 2h-1l1 .2-1.2 2-1.2 1.7-1.2 1.6-1.2 1.5-1.3 1.2-1.4 1.2-1.3 1-1.3.7-1.3.6-1.3.5-1.4.5-1.3.2H530l-1.3-.3-1.2-.3-1.2-.4-1-.5-1-.6-1-.7-1-.8-1-1-.7-1-.8-1-.6-1-.6-1-.5-1.2-.3-1.2-.3-1.2-.2-1.3v-1l1-.2v1.2l.2 1.2.3 1 .4 1.2.5 1 .6 1 .7 1 .7 1 .7 1 1 .8.8.7 1 .6 1 .6 1 .5 1 .4 1 .4 1.3.2 1.2.2h2.4l1.2-.3 1.2-.4 1.3-.4 1.2-.6 1.3-.7 1.2-1 1.2-1 1.2-1.2 1.2-1.3 1.2-1.6 1-1.6 1.2-2 1 .2zm-1-.2.8-1.5.2 1.6h-1zm27.2 3.2h-1l1 .3-1.4 1.5-1.3 1.4-1.2 1.2-1.3 1-1.2 1.2-1.2 1-1.2.8-1 .8-1.2.6-1 .6-1.2.4-1 .4-1 .2-1 .2h-2l-1-.3h-.8l-.8-.5-.8-.5-.7-.6-.8-.7-.6-.8-.6-1-.6-1-.5-1-.5-1-.4-1.4-.3-1.3-.3-1.4-.2-1.6-.3-1.6 1-.2.2 1.6.2 1.5.3 1.3.3 1.3.4 1.2.4 1 .5 1 .5 1 .6.8.6.7.6.6.6.5.7.6.6.3.8.2h.8l.8.2h.8l1-.2 1-.2.8-.3 1-.4 1-.6 1.2-.6 1-.6 1.2-.8 1.2-1 1-1 1.4-1.2 1.2-1.2 1.3-1.4 1.3-1.5zm-1-.4 1-1v1.4zm19 4.8.7.7-1 1.2-1 1-1 1-1 1-1 1-.8.7-1 .6-.8.6-.8.4-1 .4-.7.3-1 .3-.7.2h-1.5l-.7-.2-.6-.3-.6-.3-.6-.4-.6-.5-.5-.6-.4-.7-.4-.8-.4-.8-.3-1-.3-1-.3-1-.3-1-.2-1.3V246l-.2-1.3v-1.3h1v2.6l.2 1.3.2 1 .2 1.2v1l.4 1 .4.7.3.8.5.6.4.5.4.5.4.5.5.3.5.3.6.3h.6l.6.2h.6l.7-.2h.6l.7-.4.8-.5 1-.4.7-.5 1-.6.7-1 1-.7.8-1 1-1 1-1 1-1.2zm4-10.7v-1l.6.4v2.9l-.2.4v.7l-.2.4v.5l-.2.4v.3l-.2.4v.3l-.3.4v.4l-.2.4-.2.4v.3l-.3.3-.2.4-.2.3-.2.4-.2.3-.2.4-.2.4-.2.3-.2.4-.2.4-.3.3-1-.6.3-.2.3-.3.2-.3.2-.4.2-.3.2-.3.2-.3v-.5l.3-.3v-.3l.2-.5.2-.3v-.4l.3-.3v-.4l.2-.3v-.7l.2-.4v-.3l.2-.4v-.5l.2-.4v-1l.2-.4v-1.8l.5.5zm0-1h.6v.4l-.5-.5zm0 0v1zm0 1"/> + <path fill="#edb92e" d="M482 263h-22.5l-1.3.2H451l-1.3.2h-4.4l-1.2.2h-2.3l-6.3.4h-.3l-9 .4h-.8l-18.2 1.3h-.2l-26.4 2.4c-5 .6-6-5.3 0-6l26.3-2.2a984 984 0 0 1 37-2.2h2.4l15.4-.5h40.6l15.2.5h3.3a984 984 0 0 1 37 2.3l26.2 2c5.8.7 5 6.6 0 6l-26.4-2.3h-.3l-18.3-1.2h-.6l-9.2-.5h-.3q-3.3 0-6.4-.3h-2.3l-1.2-.2h-4.5l-1.3-.2H506l-1-.2z"/> + <path fill="#0c4076" d="M482 105a17.3 17.3 0 0 1 .1 34.7c-9.3 0-17-7.8-17-17.3s7.7-17.3 17-17.3z"/> + <path fill="#edb92e" d="M485.3 85c1.6-.2 3-1.5 3-3.2s-1.4-3-3-3.2c0-1.7-1.4-3-3.2-3a3 3 0 0 0-3 3c-1.6 0-3 1.5-3 3.2a3 3 0 0 0 3 3v6.5h-5.5a3 3 0 0 0-3-3c-1.8 0-3 1.3-3.2 3a3 3 0 0 0-3 3c0 1.8 1.3 3.2 3 3.2a3 3 0 0 0 3 3c1.8 0 3.2-1.2 3.2-3h5.5V119h6.3V97.6h5.5a3 3 0 0 0 3 3c1.8 0 3-1.4 3.2-3 1.7 0 3-1.5 3-3.2a3 3 0 0 0-3-3c0-1.8-1.4-3.2-3-3.2-2 0-3.2 1.4-3.2 3h-5.5V85z"/> + <path fill="#21231e" d="M487.8 81.8h1v1h-.2v.5h-.2v.3l-.2.3-.2.2v.2h-.2l-.2.2-.2.2h-.2v.2h-.2l-.2.2h-.2v.2h-.8l-.2.2h-.3v-1h.7V84h.2l.3-.2h.2v-.2h.2v-.2l.2-.2V83h.2l.2-.2v-.4l.2-.2zm-3-3.2h1l-.5-.5h.2l.3.2h.4l.3.2h.3l.2.2.2.2h.2v.2h.2l.2.2.2.3.2.2v.2h.2v.4h.2v.5l.2.2v.7h-1V81h-.2v-.4l-.2-.2V80h-.4v-.2h-.2v-.2h-.2l-.3-.2h-.2V79h-.8l-.4-.6zm.4.5h-.4v-.4zm-3-3v-1h.7l.2.2h.2l.3.2h.2l.2.2.2.2h.2v.3l.2.2.2.3.2.2v.2h.2v.4h.2v.8h.2v.3h-1V78h-.2v-.5h-.2v-.2l-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2l-.2-.2h-.4zh-.4zm-3.2 3v-1l-.5.6v-.8l.2-.2V77h.2v-.6h.2v-.2l.2-.2.2-.2.2-.2h.2v-.2h.3v-.2h.3l.3-.2h.4l.2-.2h.4v1h-.5v.2h-.3l-.2.2h-.2v.2h-.2v.2h-.2v.2l-.2.2v.2h-.2v.5h-.2v1l-.6.5zm.5-.4v.5h-.5zm-3 3.2h-1V81l.2-.3v-.5l.2-.2v-.2l.2-.2.2-.3.2-.2h.2l.2-.2h.2v-.2h.3v-.2h.5l.3-.2h.7v1h-.7l-.2.2h-.2l-.2.2-.2.2-.2.2-.2.2v.2h-.2v.4l-.2.2v.8zm3 3h-1l.5.6h-1V85h-.7v-.2h-.3v-.2h-.2l-.2-.2-.2-.2V84h-.2v-.2l-.2-.2-.2-.3v-.5h-.2v-1h1v1h.2v.4h.2v.2h.2v.2l.2.2h.2v.2h.2l.3.2h.7v.2h.2zm-.5-.4h.5v.5l-.5-.6zm-.5 7V85h1v6.3l-.5.5-.5-.5zm1 0v.4h-.5l.5-.5zm-6-.6h5.5v1h-5.5l-.5-.5zm0 1h-.5v-.5zm-3-3v-1h1.2v.2h.3l.3.2.3.2.3.2v.2l.2.2.2.3.2.3.2.3v.4l.2.2v.8h-1v-.7l-.2-.2V90h-.2v-.2h-.2v-.2l-.2-.2-.2-.2h-.2V89h-.4l-.2-.2h-.8zm-3.2 3v-1l-.5.4v-.8l.2-.3V90l.2-.3v-.2h.2v-.2l.2-.2h.2v-.3h.2l.2-.2.2-.2h.2V88h.7v-.2h1.1v1h-1l-.2.2h-.2v.2h-.2v.2h-.2l-.2.2v.2h-.2v.4h-.2v.8l-.2.2v.3l-.5.5zm.5-.5v.5h-.5zm-3 3h-1V93h.2v-.2h.2v-.3l.2-.3.3-.3v-.2h.2v-.2h.2v-.2h.2l.2-.2h.2V91h.7l.2-.2h.8v1h-.7l-.2.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2v.2h-.2v.5h-.2v.7zm3 3.2h-1l.5.5h-1v-.2h-.5l-.2-.2h-.2v-.2h-.2l-.2-.2-.2-.2v-.2h-.3v-.2l-.2-.2V96h-.2v-.4l-.2-.3v-.8h1v.9h.2v.2l.2.3h.2v.2h.2v.2h.2v.2h.2l.2.2h.5v.2h.4l.6.5zm-.5-.5h.5v.5zm3 3v1h-1l-.2-.2h-.3v-.2h-.3v-.2h-.2l-.2-.2-.2-.3v-.2h-.2v-.3h-.2V99h-.2v-.5l-.2-.2V98h-.2v-.5h1v.7h.2v.4h.2v.2l.2.2v.2h.2v.2h.2v.2h.2l.2.2h.2l.3.2h.6zm3.2-3v1l.5-.4v.8l-.2.2v.3h-.2v.3l-.2.3-.2.2-.2.2-.2.2-.3.2-.2.2h-.2l-.2.2h-.2l-.3.2h-.8v-1h.9v-.2h.2l.2-.2h.2v-.2h.2l.2-.2V99h.2v-.2l.2-.3v-.2l.2-.2v-.4zm-.5.6V97h.5l-.5.6zm6 .5h-5.5v-1h5.5l.5.6zm0-1h.5v.6zm-.5 22V97.6h1V119l-.5.5-.5-.5zm.5.5h-.5v-.5zm6.3 0H479v-1h6.3l.5.5zm.5-.5v.5h-.5zm0-21.4V119h-1V97.6l.5-.5.5.6zm-1 0V97h.5l-.5.6zm6 .5h-5.5v-1h5.5l.5.6zm0-1h.4v.6zm3 3v1h-1l-.3-.2h-.2l-.3-.2-.2-.2h-.2v-.2h-.2l-.2-.2v-.2h-.2v-.2l-.2-.2V99h-.2v-.2h-.2v-1l-.2-.2h1v.4l.2.2v.2l.2.3v.2h.2v.2h.2l.2.2v.2h.2l.3.2h.2v.2h1.1zm3.2-3v1l.5-.5v.7h-.2v.5l-.2.3v.4h-.2v.3h-.2v.2h-.2v.2h-.3v.2l-.3.2h-.3l-.2.2h-.3l-.2.2h-.8v-1h.9v-.2h.2v-.2h.2l.2-.2.2-.2V99h.2v-.2l.2-.2v-.2l.2-.2v-.6l.6-.6zm-.5.5V97h.5l-.5.5zm3-3h1v.9l-.2.3v.2h-.2v.6h-.2l-.2.2v.2h-.2v.2h-.3v.2h-.2v.2h-.3l-.3.2h-.2l-.3.2h-.7v-1h.8V97h.2v-.2h.2l.2-.2.2-.2h.2V96l.2-.3v-.2h.2v-.7l.2-.3zm-3-3.2h1l-.5-.6h.7l.2.2h.4l.3.2.3.2.3.2.2.2.2.3.2.2v.5h.2v.3h.2v.7l.2.3v.4h-1v-.6h-.2v-.4l-.2-.2-.2-.2v-.2h-.2l-.2-.2-.2-.2h-.2V92h-.5l-.2-.2h-.5l-.5-.5zm.5.5h-.5v-.5zm-3-3v-1h1.1l.2.2h.4v.2h.3v.2l.3.2.2.3h.2v.3h.2v.4l.2.2v.4h.2v.7h-1v-.8h-.2V90l-.2-.2-.2-.2-.2-.2-.2-.2h-.2V89h-.5v-.2h-.6zm-3.2 3v-1l-.6.5v-.9l.2-.2V90l.2-.3.2-.3.2-.3h.2v-.2l.2-.2h.2v-.2h.2l.2-.2h.3l.2-.2h.3l.2-.2h1v1h-1l-.3.2h-.2v.2h-.2l-.2.2v.2l-.2.2-.2.2v.2l-.2.2v.7l-.7.6zm.5-.5v.5h-.6zm-6-.5h5.5v1h-5.5l-.5-.5zm0 1h-.5v-.5zm.5-7v6.5h-1V85l.4-.6.6.5zm-1 0v-.4h.4zm.5 0v-.4zm-.5 0v-.4h.4z"/> + <path fill="#21231e" d="M499.8 122.4h-1v-1.7l-.2-1v-.7l-.3-.8-.2-.8-.2-.8-.3-.8-.3-.7-.4-.6-.4-.7-.4-.7-.5-.7-.5-.6-.5-.6-.6-.5-.7-.6-.6-.6-.6-.5-.5-.6-.7-.4-.7-.4-.6-.4-.8-.3-.7-.4-1-.3-.7-.2h-.8l-.8-.2h-.8l-1-.2h-1v-1h2l.8.2h1l.8.3.8.4.8.2.8.4.8.3.8.4.7.4.7.6.7.5.7.6.6.6.6.6.6.6.6.6.5.7.5.7.5.7.4 1 .4.6.4.8.3.8.3 1 .3.7.2.8v1l.2.7v2zM482 140.2v-1h1.8l1-.2.7-.2.8-.2.8-.2 1-.3.6-.2.8-.3.7-.4.8-.3.7-.4.6-.5.7-.5.6-.5.6-.6.5-.5.5-.6.5-.6.5-.6.4-.7.4-.6.4-.8.3-.7.3-1 .3-.6.3-.8.2-.8v-1l.2-.7v-1.6h1v2.8l-.2.8-.2.8-.3 1-.3.7-.3.8-.3.8-.3 1-.4.6-.5.7-.5.7-.5.7-.6.6-.6.7-.6.6-.6.5-.7.6-.7.5-.7.6-.7.4-.8.4-.8.4-.8.3-.8.4-.8.2-1 .2-.8.2h-.8l-1 .2h-1zm-17.5-17.8h1v1.8l.2.7v.8l.3.8.2.8.3.7.3 1 .3.6.5.8.4.7.3.8.5.6.5.6.5.7.6.5.5.6.5.5.7.5.6.5.7.4.7.4.7.5.7.3.7.3.8.4.8.2.8.2.8.2h1.8l.7.2v1h-1.8l-.7-.2-1-.2-.8-.2-.8-.2-1-.3-.7-.2-.8-.4-.8-.4-.7-.4-.7-.5-.7-.4-.7-.5-.7-.4-.7-.6-.5-.7-.5-.6-.5-.7-.5-.7-.5-.7-.4-.7-.4-1-.3-.7-.5-.8-.2-.8-.3-1-.2-.7v-1l-.2-.8v-1.8zm17.6-17.8v1h-1.7l-.7.2h-.8l-.8.3-.8.3-.8.3-.7.3-.8.2-.8.4-.7.4-.7.4-.6.5-.7.4-.6.5-.6.5-.6.6-.5.7-.5.6-.5.7-.4.7-.5.7-.4.7-.2.8-.3.8-.3.8-.2.8-.2.8v.8l-.2 1v1.7h-1v-2.8l.2-1 .2-.8.3-1 .2-.8.4-.8.2-.8.4-.7.4-1 .5-.6.5-.7.5-.7.6-.6.6-.6.7-.6.6-.6.6-.5.7-.4.7-.5.7-.3.8-.4.8-.3.8-.4 1-.2.7-.3h1l.8-.2h.8l1-.2h.8z"/> + <path fill="#edb92e" d="M499 118.8a18 18 0 0 1 0 6q-8.3-.3-17-.3-8.3 0-17 .3a18 18 0 0 1 .3-6l16.8-.3q8.6 0 17 .3z"/> + <path fill="#21231e" d="M499.8 122.4h-1V120h-.2v-1l1-.2v1.7l.2.2v1.6zm-.7 3 .2-1-.6.3v-.8l.2-.2v-1.1h1v2.2h-.2zm.6-.5v.3h-.5l.6-.4zm-17.5 0v-1H494l.4.2h4.8v1h-10.6l-.5-.2h-6zm-17.4 0 1-.3-.5-.4h4.7l.4-.2H482v1h-11l-.5.2H465l-.5-.3zm.6.3h-.5v-.4l.5.3zm-.7-3h1v2.4l-1 .3v-2.6zm.8-4v1l.5-.3v.8l-.2.2v2.5h-1v-3h.2v-.4l.5-.5zm-.5.5v-.4h.5zm17.3-.8v1h-9.1l-.5.2H466l-.7.2v-1h2.5l.5-.2h9l.5-.2h4.2zm17.5.8-1 .2.4.4h-3.6l-.5-.2h-10.3l-.5-.2h-2.1v-1h10l.5.2h6.1l.5.6zm-.5-.5h.4v.5z"/> + <path fill="#edb92e" d="M468.8 133.2c-3.6-2.3-4.3 1.2-4.2 4.7.4 13.2 3 25.8-.6 42-1.4 6.4-3.7 10-1.5 11.3q8.6 5 7.4 7.7c1.5 3.2 5.7 2.6 12 1.6 6.6 1 10.7 1.6 12.4-1.6-1-1.6 1.7-4.5 7.4-7.7 2.2-1.2 0-5-1.5-11.3-3.5-16.2-1-28.8-.7-42 0-3.6-.5-7-4-4.8a29 29 0 0 1-26.8 0z"/> + <path fill="#21231e" d="M465 138h-1v-1.5l.2-.3v-1.6l.2-.3v-.3h.2v-.4l.2-.2v-.3h.2l.2-.3.2-.2.2-.2h.2l.2-.2h1.8l.4.2.4.2h.3l.4.3-.4 1-.4-.3h-.2l-.3-.2h-.3l-.2-.2h-1.2v.2h-.2v.2l-.2.2v.2l-.2.2v.4l-.2.3v.4l-.2.2v2.5zm-.5 42-1-.2.3-1.5.3-1.4.3-1.6.2-1.4.2-1.5.2-1.4v-2.5l.2-1.4V154l-.2-1.2v-2.5l-.2-1.2V148l-.2-1.2v-1.2l-.2-1.3V142l-.2-1.3V138h1v3.5l.2 1.2v2.6l.2 1.2v1.3l.2 1.2v2.5l.2 1.2v1.3l.2 1.3v13.3l-.2 1.4v1.4l-.3 1.5-.2 1.4-.2 1.6-.2 1.4-.2 1.5-.3 1.6zm-1.8 11-.4.8-.3-.2-.2-.2-.2-.2-.2-.2v-.2l-.2-.3V188l.2-.3v-.4l.2-.3v-.4l.2-.4v-.5l.3-.4.2-.4v-.5l.3-.3v-.5l.3-.5v-.6l.3-.4.2-.6v-.6l.3-.6 1 .3-.2.7v.6l-.3.5v.6l-.2.5-.2.4v.6l-.3.4v.5l-.3.4v.4l-.2.4v.4l-.2.4v.4l-.2.3v.4l-.2.4v1.9zl.2.2zm7.6 7.8-1 .4v-.4h.2v-1l-.2-.2v-.2l-.2-.2v-.4l-.3-.2-.2-.2-.2-.3h-.3l-.2-.4-.3-.2-.3-.3h-.3l-.4-.4-.4-.3-.3-.2-.5-.2-.4-.3-.3-.3-.5-.3-.5-.3-.4-.3-.5-.3-.6-.2.5-1 .6.4.5.3.5.3.4.3.5.4.4.3.5.3.5.2.3.3.4.3.4.3.3.4.2.2.3.3.3.2.2.2.2.3.3.2.2.2v.2l.3.3v.2l.3.2v.5l.2.2v1.1l-.2.3v-.5zm-1 .4v-.4zm13 1-.2 1h.2-1.2l-.5.2h-1.2l-.6.2h-1l-.5.2h-4.7l-.4-.2h-.3l-.3-.2-.3-.2-.3-.2-.2-.2-.3-.2-.2-.2-.3-.3h-.2l-.2-.4-.2-.4 1-.4v.2l.2.3.2.2.2.2.2.2h.2l.2.2h.2l.3.2h.3l.3.2h.3l.2.2h4.3l.5-.2h1l.6-.2h1.1l.5-.2h.8zm-.2 0h.2zm12-1 1-.4v.4l-.3.4-.2.3h-.2l-.3.4-.2.2-.3.2-.3.2-.3.2-.4.2h-.3l-.3.2h-.4l-.4.2H486l-.6-.2h-.5l-.6-.2h-1.2l-.5-.2h-.6l.2-1h1.8l.5.2h.6l.6.2h1.1l.5.2h4.2l.3-.2h.3l.2-.2h.3l.2-.2.2-.2.3-.3.2-.2.2-.2v-.3l.3-.2v.5zm1-.4v.4zm6.5-8 .5 1-.5.3-.5.4-.5.3-.4.2-.4.2-.4.3-.4.3-.4.3-.4.3-.3.3-.3.3h-.3l-.2.4-.3.2-.3.3h-.2l-.2.4-.2.2-.2.2v.2l-.3.2v.7h-.2v1.2l-.8.5v-.2l-.2-.2v-1.3l.2-.2v-.3l.3-.3v-.3l.3-.2.2-.3.2-.3.3-.3.2-.2.3-.3.3-.4.4-.2.3-.3.4-.2.4-.3.4-.3.4-.2.4-.3.5-.3.5-.3.5-.2.5-.3.5-.3.5-.3zm-1.7-10.7 1-.2v.6l.3.6.2.6.2.5v.7l.3.5v.5l.2.4v.6l.2.5.2.5v.4l.2.3v.4l.2.4v.5l.2.3v.7l.2.3v1.8l-.2.3v.2l-.3.3h-.2l-.2.3-.3.2-.5-1h.2l.2-.2v-.4h.2v-2.5l-.2-.3v-.3l-.2-.3v-.4l-.2-.4v-.4l-.2-.4v-.4l-.3-.5v-.6l-.2-.4v-.6l-.3-.5v-.6l-.3-.6v-.5l-.2-.6-.2-.6zm-.7-42h1v5.9l-.2 1.4v1.2l-.2 1.2v1.3l-.2 1.3v2.5l-.2 1.2v2.6l-.2 1.2v9.3l.2 1.4v1.4l.2 1.3.2 1.5.2 1.5.2 1.4.2 1.5.3 1.3.3 1.5-1 .3-.3-1.5-.3-1.5-.2-1.4-.2-1.5-.2-1.3-.2-1.5v-1.4l-.2-1.4V167l-.2-1.3v-10.3l.2-1.3v-2.5l.2-1.3V149l.2-1.2v-1.3l.2-1.2V143l.2-1.2zm-3.3-4.4-.5-1h.4l.3-.2.2-.2h.3l.4-.2h1.2l.3.2h.2l.2.3v.2l.2.2h.2v.4l.2.2v.3h.2v.7l.2.3v1.5l.2.3v1.1h-1v-2.4l-.2-.3v-.8l-.2-.3v-.4l-.2-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-1.1l-.2.2h-.3l-.3.2-.3.2zm-27 0 .4-1 .8.5.7.5.7.4.7.2.7.3.8.2.8.3 1 .2.7.2 1 .2h.7l1 .2h.8l1 .2h4.6l.7-.2h1l.8-.3h.8l1-.3.7-.2.8-.3.8-.2.8-.3.7-.4.8-.3.7-.4.7-.3.5 1-.7.3-.7.4-.8.4-.7.3-1 .4-.7.3-.7.3-1 .2-.7.2-1 .2h-.8l-1 .2h-1l-.8.2h-4.6l-1-.2h-.8l-1-.2-.8-.2-1-.2-.7-.2-.8-.3-.8-.3-.8-.3-.8-.2-.8-.4-.7-.4-.7-.4z"/> + <g id="rs-b"> + <path fill="#edb92e" d="M363 212c-2-4-.3-9.8.3-11 .3-.8-.6-2.2-1-2.8-13-18.3-13.2-20-4.3-26.8 8-6 26.2-12 39.2-16.2 2.7-2 4.4-5 6.8-7.2-25 1.8-52 12-65.5 23.8-7.2 6.2 1.5 19 12.2 38 6.7 5 9.8 7 12.3 2.3z"/> + <path fill="#21231e" d="m362.8 200.7 1 .4v.2l-.2.2v.3l-.2.3v.5l-.2.2v.6l-.2.4v.7l-.2.3v1.6l-.2.4v2.5l.2.4v.4l.2.4v.4l.2.4v.3l.3.4-1 .3v-.4l-.3-.5v-.4l-.2-.4v-.4l-.2-.5v-.8l-.2-.6v-2.9l.2-.4v-1.2l.2-.3v-.4l.2-.2v-.6l.2-.3v-.6l.2-.2v-.2l.2-.2zm-1-2.2 1-.6v.2h.2v.4h.2v.4h.2v.2l.2.2v.4h.2v1.2l-1-.3v-.6l-.2-.2v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2zm-4-27.5.5 1-.8.5-.7.6-.7.6-.5.6-.6.5-.6.5-.5.6-.5.5-.3.4-.3.5-.3.5v.5l-.3.5v1.7l.2.6.2.8.2.7.4.8.4.8.4 1 .5 1 .6 1 .7 1 .7 1.3 1 1.2.7 1.3 1 1.4 1 1.5 1 1.5 1.3 1.7-.8.5-1.3-1.7-1-1.5-1-1.5-1-1.4-1-1.3-.8-1.2-.8-1.2-.7-1-.6-1-.7-1-.4-1-.6-1-.3-.7-.2-1-.2-.7v-.7l-.2-.7v-1.4l.2-.6.2-.6.2-.6.3-.6.4-.6.5-.5.5-.5.5-.5.6-.6.7-.5.7-.7.7-.6.7-.7zm39-16.2.7.8h-.2l-1.2.5-1.2.5-1.2.4-1.4.3-1.3.4-1.4.5-1.4.4-1.3.5-1.5.5-1.4.5-1.3.5-1.3.5-1.4.5-1.4.5-1.3.5-1.4.5-1.4.5-1.3.6-1.3.6-1.3.5-1.2.7-1.2.5-1.2.6-1 .5-1.2.6-1 .4-1 .6-1 .6-1 .5-1 .7-.7.6-.7.6-.6-1 .8-.5 1-.6.8-.7 1-.6 1-.6 1-.4 1-.6 1.2-.6 1.2-.5 1-.7 1.4-.6 1.3-.5 1.3-.6 1.3-.5 1.2-.4 1.4-.5 1.3-.5 1.3-.5 1.4-.5 1.3-.5 1.4-.5 1.4-.5 1.4-.4 1.4-.5 1.3-.4 1.3-.4 1.3-.4 1.3-.5 1.2-.4 1.3-.5 1.3-.4 1.2-.3zm.7.8h-.2zm6.6-7v-1l.4.8-.2.2-.3.2-.3.3-.2.3-.2.2-.2.2v.3l-.3.2-.2.2-.2.2-.2.3-.3.3-.2.3-.2.2-.2.3v.3l-.3.2-.2.3-.2.2-.3.2-.2.3-.2.2-.2.2h-.2l-.3.4-.3.2-.2.2-.3.2-.2.2-.3.2-.2.2-.6-.8v-.2l.3-.2.3-.2.2-.2.2-.2.2-.2.3-.2.2-.2.2-.2v-.2l.3-.3.2-.2.2-.2.2-.2v-.2l.3-.2.2-.2.2-.3.2-.3v-.3l.3-.2.2-.2.2-.3.2-.2v-.2l.4-.3.2-.2.2-.2.2-.3.2-.2h.3l.2-.3.4.8zm0-1 1.4-.2-1 1-.4-1zM338.8 172l-.7-.8 1.5-1 1.4-1.2 1.4-1 1.5-1.2 1.5-1 1.7-1 1.7-1 1.7-1 2-1 1.8-1 2-1 2-1 2-.8 2-1 2.2-.7 2-.8 2.3-.8 2.3-1 2.2-.6 2.3-.7 2.3-.6 2.4-.5 2.3-.6 2.4-.7 2.4-.5 2.4-.4 2.4-.4 2.4-.4 2.3-.3 2.3-.3 2.4-.3 2.3-.2v1l-2.3.2-2.3.3-2.3.3-2.3.3-2.4.4-2.3.4-2.4.4-2.3.5-2.3.6-2.3.5-2.3.6-2.3.7-2.2.7-2.2.7-2.2.8-2.2.8-2.2.8-2 1-2 .7-2.2 1-2 1-2 1-1.8.8-1.8 1-1.8 1-1.7 1-1.6 1-1.5 1-1.6 1-1.5 1.2-1.4 1-1.2 1.2zm12.2 37.3-.5.8-.2-.2-1-1.6-1-1.8-1-1.7-1-1.7-.8-1.7-1-1.6-.8-1.5-.8-1.5-1-1.5-.7-1.5-.8-1.4-.7-1.3-.7-1.4-.5-1.3-.6-1.3-.6-1.2-.4-1.2-.5-1.2-.3-1-.3-1-.4-1.2v-1l-.2-1v-2.8l.3-.8.3-.8.4-.7.5-.8.5-.7.6-.6.8.8-.6.5-.5.6-.4.7-.3.6-.3.7-.2.8v4.5l.4 1v1l.5 1 .4 1 .4 1.3.5 1.2.4 1.2.6 1.3.7 1.3.7 1.4.7 1.4 1 1.4.7 1.5 1 1.5.8 1.5 1 1.6.8 1.7 1 1.7 1 1.7 1 2 1 1.6h-.3zm-.5.8-.2-.2.2.3zm12.5 1.3v1l.5-.2-.3.4-.2.4-.3.4-.3.3-.3.2-.2.3-.3.2-.3.2h-.3l-.5.2h-2.1l-.4-.2-.5-.2-.4-.2-.3-.2-.5-.2-.4-.3-.5-.3-.5-.3-.4-.4-.6-.3-.5-.3-.5-.4-.6-.4-.5-.4-.6-.4-.5-.5.5-.8.7.4.5.3.6.5.6.3.5.5.4.4.5.2.4.3.4.3.5.3.4.3.4.2.5.2.4.2h.5l.3.2h1.5l.2-.2h.3l.2-.3.2-.2.3-.2.2-.3v-.3l.4-.4.2-.4.4-.4zm-.4.3v-.4h.4zm.4.6v-1l.5.3zm.5-.7.3.6h-.8z"/> + <path fill="#edb92e" d="m359 213.6-1-4.7q-1-4.3.5-8.3c-3-4.2-6.4-8.8-8.8-13.3-1.7-3.3-3-7-2-10.6 1-4 4.5-6.6 7.6-9 3.7-2.8 8.6-5.3 13.6-7.5q16.6-7 26.5-7l-4.2 3.8c-12 4-26.4 9.2-33.3 14.5-9 6.8-8.6 8.4 4.3 26.7.4.6 1.3 2 1 2.7-.6 1.2-1.8 7.2 0 11.4-1 2-2.6 1-4.2 1.2z"/> + <path fill="#21231e" d="m357.4 209 1-.2v.7l.2.2v.7h.2v.8l.2.3v.3l.2.3v.7h.2v.6h.2l-1 .4v-.3l-.2-.3v-.2l-.2-.3v-.5l-.2-.3v-.6h-.2v-.5l-.2-.3v-.7l-.2-.3v-.2zm.6-8 1-.6v.5l-.2.4v.2l-.2.2v1l-.2.2v.8l-.2.2v4.7l.2.3-1 .2v-.6l-.2-.2V203h.2v-1l.2-.2v-.5l.2-.2v-.2l.2-.3v.5zm1-.6v.5zm-9.7-12.8 1-.5v.6l.3.4.3.4v.4l.4.5.2.4.3.4v.5l.4.4.3.4.2.4.2.4.3.4.2.4.3.5.3.4.3.3.3.4.2.4.2.5.3.5.3.4.3.4.3.4.3.4.2.4.3.4.2.4.3.4.3.4.3.4.3.4-1 .6-.2-.4-.3-.4-.3-.4-.3-.4-.4-.4-.3-.4-.2-.4-.2-.4-.3-.4-.3-.4-.3-.5-.4-.4-.3-.3-.3-.4-.2-.4-.3-.5-.3-.5-.3-.4-.4-.4-.3-.4-.2-.5-.2-.4-.3-.5-.2-.4-.3-.4-.3-.4-.2-.4-.3-.5-.2-.4-.2-.5-.3-.5-.2-.4zm-2-11 1 .4-.2.3v4.1l.2.4v.3l.2.3v.7l.3.3v.4l.2.4v.6l.3.3v.3l.3.3v.2l.3.3v.3l.2.3-1 .6v-.3l-.2-.3-.2-.3v-.3l-.3-.4v-.3l-.3-.3v-.3l-.3-.3-.2-.3v-.3l-.2-.2v-.4l-.2-.3v-.3l-.2-.3v-.7l-.2-.4V180l-.2-.4V178l.2-.2v-.7l.2-.3zm7.7-9.2.6.8-.3.2-.3.3-.3.2h-.3l-.3.3-.2.3-.2.2-.3.3-.3.3-.3.2-.3.3-.2.2-.3.3-.4.3-.2.2-.3.3v.3l-.4.3-.2.3-.2.2-.3.3-.3.3-.2.3-.2.4v.3l-.3.3-.2.3v.3l-.3.3v.3l-.2.3v.4l-1-.3v-.4l.2-.4v-.4l.2-.4.2-.4v-.3l.3-.4.2-.2.2-.3.2-.3v-.3l.4-.5.2-.3.2-.2.3-.3.4-.3.2-.3.3-.2.2-.2.3-.3.2-.3.3-.2.3-.3.3-.2.3-.3.2-.2.3-.2.3-.3.3-.2h.4l.3-.4.3-.2zm13.7-7.5.4.8-.4.2-.4.2-.5.2-.5.2-.4.2-.5.2-.4.3-.6.2-.5.2-.5.2h-.5l-.4.3-.5.3-.3.2-.4.2-.5.3-.4.2-.4.2-.4.3-.5.2-.3.2-.4.3-.4.2-.5.2-.4.2-.2.3-.4.2-.4.2-.4.2-.3.3-.4.3-.4.2-.6-.8.3-.3h.4l.4-.4.4-.3.4-.2.4-.2.4-.2.4-.3.4-.2.4-.2.4-.2.4-.3.5-.2.5-.2.4-.2.4-.2.4-.3h.4l.5-.3.4-.3.6-.2.4-.2.5-.2.5-.3.4-.2.5-.2h.4l.4-.3.5-.2.5-.2.4-.2h.5zm27-6.4-.6-.7.5.7H394l-.6.2h-1.8l-.7.2h-.8l-.7.2h-.7l-.8.3-.8.2h-.7l-.8.2-.8.2-1 .2-.8.2-.8.3-1 .3-.8.3-1 .3-.8.2-1 .3-.8.3-1 .3-1 .5-1 .3-.8.4-1 .4-1 .4-1 .4-1 .4-.5-1 1-.4 1-.4 1-.4 1-.4 1-.3 1-.5 1-.3 1-.4 1-.3.8-.3 1-.3.8-.4 1-.2.8-.3h1l.8-.4.8-.2.8-.2.8-.2h.8l.8-.3.8-.2h.7l.7-.2h.8l.7-.2h1.4l.5-.2h1.9l.4.8zm-.3-1h1.4l-1 1zm-4.4 4 4-3.7.8.6-4 3.8-.3.2zm.7.8-.2.2zM358.3 172l-.6-1 .7-.5.7-.5 1-.5.7-.5.8-.5 1-.5.8-.4 1-.5 1-.4.8-.5 1.2-.4 1-.5 1-.3 1-.5 1.2-.5 1-.4 1.3-.5 1-.4 1.2-.5 1-.5 1.3-.5 1-.4 1.3-.4 1.2-.5 1.2-.4 1.2-.4 1.2-.5 1-.4 1.3-.3 1.2-.4 1-.3 1.2-.4.3 1-1.2.3-1 .3-1.3.4-1 .4-1.3.5-1.2.4-1.2.3-1.2.4-1 .4-1.2.6-1.2.4-1 .4-1.3.5-1 .3-1.3.5-1 .4-1.2.5-1 .4-1 .6-1.2.5-1 .5-1 .5-1 .5-1 .5-.8.5-1 .4-.8.4-.8.5-.8.4-.7.5-.7.4zm4.4 26-.8.5-1.3-1.7-1-1.5-1-1.5-1-1.4-1-1.3-.8-1.2-.8-1.2-.7-1-.6-1-.7-1-.4-1-.5-1-.4-.7-.2-1-.2-.7v-.7l-.2-.7v-1.4l.2-.6.2-.6.2-.6.3-.6.4-.6.5-.5.5-.5.5-.5.6-.6.7-.5.7-.7.7-.6.7-.7.6 1-.8.5-.7.6-.7.6-.5.6-.6.5-.6.5-.5.6-.5.5-.3.4-.3.5-.3.5v.5l-.2.6v2.2l.3.8.3.7.4.8.4.8.4 1 .6 1 .5 1 .7 1 .7 1.3 1 1.2.7 1.3 1 1.4 1 1.5 1 1.5 1.3 1.7zm1 3-1-.3v-1h-.2v-.2l-.2-.2v-.2h-.2v-.4l.7-.7.2.2v.4h.2v.2l.2.2v.2l.2.2v.4h.2v1.4zm.2 11.6-1-.5v.6l-.2-.4-.2-.5v-.4l-.2-.4v-.6l-.2-.4v-.5l-.2-.4v-5.4l.2-.4v-.7l.2-.4v-.5l.2-.3v-.4l.2-.2 1 .3v.2l-.2.2v.6l-.2.2v.6l-.2.3v1.1l-.2.4v5.1l.2.4v.8l.3.4v.4l.2.4zv.4zm0-.4v.4zm-5 1v1zh.2l.2-.2h1.4v.2h1.5l.2-.2h.2v-.2h.2v-.2l.2-.2.2-.3 1 .6-.2.2-.2.2v.2l-.2.2h-.2v.2l-.3.2h-.4l-.2.2h-.3v.2h-3v-1zm0 1v-1l.6.2-.5.7zm.6-.8.2.7h-.7l.6-.6z"/> + <path fill="#edb92e" d="M468 132.2q.3-3.6-.3 1.6-.5-1-1.4-1-1.6-.1-1.8 5.2l.2 2.8c-33-.7-52.7 4.3-57.7 14-4.2 7.8 3 21 13.6 36 1.3 1.8 1.2 1.6 0 3-1.8 2.3-3.8 6-2.3 9.2a24 24 0 0 1-21 1.5c-1-3-3.4-4.4-5.4-5.8-.5-.2-2-1-2-1.4l-10.2-31.6c-9.5-30.7 75.3-33.5 88.3-33.5"/> + <path fill="#21231e" d="m467.3 134 1-.4-1 .2V132h.2v-1.2l.2-.2.6-.3.3.3v1.6h-1V131l.4.2h.6v-.2 1l-.2.2v1.8h-1zm1 0-.2 1.6-.7-1.5h1zm-2-.7v-1h.7v.2h.4v.2h.2v.2h.2v.2h.2v.2h.2v.2l-1 .5v-.2h-.2v-.2h-.2v-.2zM465 138h-1v-1.8l.2-.3v-.9l.2-.3v-.7h.2v-.3l.2-.3.2-.3.2-.2h.2v-.2h.2v-.2h.5v1h-.2v.2h-.2v.2l-.2.2v.3l-.2.3v.6l-.2.2v2l-.2.3v.4zm-.3 3.3v-1l-.5.5v-2.3h-.2v-.4l1-.2v1.8l.2.2v1zm.5-.5v.5h-.5zM407.4 155l-1-.5.7-1 .7-.8.7-1 .8-.7 1-.8 1-.8 1-.8 1-.7 1.3-.7 1.2-.7 1.4-.6 1.6-.6 1.5-.5 1.7-.7 1.7-.5 1.8-.4 2-.5 1.8-.5 2-.3 2.2-.4 2.2-.3 2.2-.2 2.4-.3 2.4-.2 2.5-.2h2.5l2.7-.2h2.7l2.8-.2h9v1H453l-2.8.2h-2.6l-2.6.2-2.5.2-2.4.2-2.3.3-2.2.2-2.2.3-2 .4-2 .3-2 .4-1.8.4-1.8.4-1.7.5-1.6.5-1.5.6-1.5.5-1.3.5-1.3.7-1.2.6-1 .7-1 .7-1 .7-1 .7-.6.8-.7.8-.6.8-.6 1zm13.6 35.5-.8.6-1-1.3-1-1.4-1-1.4-1-1.5-.8-1.3-.8-1.4-1-1.3-.7-1.3-.8-1.3-.8-1.4-.7-1.2-.7-1.3-.6-1-.6-1.3-.5-1.2-.5-1.2-.5-1.2-.4-1-.5-1-.3-1.2-.3-1-.3-1-.2-1.2v-1l-.2-1V158l.3-.8.3-1 .2-.7.3-.8 1 .5-.4.7-.2.7-.2.8-.2.8v4.5l.2 1 .3 1v1l.5 1 .3 1.2.4 1 .5 1.2.5 1 .5 1.2.6 1.2.6 1.2.6 1.3.7 1 .7 1.4.8 1.3.8 1.3.8 1.3 1 1.3.8 1.4 1 1.3.8 1.4 1 1.4 1 1.5zm0 3.8-.8-.7.2-.3.2-.2h.2v-.2l.2-.2v-.4l-.2-.2v-.2h-.2v-.3h-.2v-.3h-.2l.8-.7.2.3.2.3v.2h.2v.4h.2v.2l.2.2v1l-.2.2v.2h-.2v.2l-.2.2-.2.2-.2.3zm-2.5 9-.4-.8-.2.7v-.3l-.2-.5v-.3l-.2-.3v-3.5l.2-.3v-.3l.2-.4.2-.3v-.3l.2-.3.2-.3v-.3l.3-.2v-.3l.3-.2.2-.3v-.2l.3-.3.2-.2v-.3l.3-.2.2-.2.8.7-.2.2-.2.2v.2h-.3v.3l-.3.3-.2.2v.3l-.3.3v.3l-.2.2-.2.3v.7l-.2.2v.2l-.2.3v.6l-.2.4v2.7l.2.3.2.3-.3.6zm.3-.5v.4l-.3.2zm-22 1.8 1-.3-.2-.3.6.2.7.3.5.2.6.2h.8l.6.2.6.2h.7l.6.2h5.7l.7-.2h.5l.7-.3h.6l.7-.2.6-.2.7-.2.7-.2.6-.2.6-.3.6-.3.6-.2.7-.4.6-.3.5 1-.6.2-.7.4-.6.4-.7.2-.6.3-.7.2-.6.2-.6.2-.7.2-.6.2h-.6l-.7.3h-.7l-.6.2h-.7l-.7.2h-5l-.7-.2h-.7l-.6-.3h-.7l-.7-.3-.6-.3-.7-.3-.6-.2-.8-.3-.3-.4zm.4.3-.2-.2v-.2zm-5.6-5.8.6-1 .2.2.2.2h.2l.2.2.2.2h.2l.2.2v.2h.3v.3h.3l.2.3h.2l.2.3.3.3.2.2.2.2.2.2v.2l.3.2v.2l.3.2.2.2v.2l.3.3.2.2.2.2v.2l.3.3v.3l.2.3-1 .3-.2-.2v-.3h-.2v-.3l-.2-.3-.2-.2v-.2l-.2-.2-.2-.2v-.2l-.3-.2-.2-.2-.3-.3-.2-.2-.3-.3h-.2l-.2-.3v-.2l-.3-.2h-.2v-.3h-.3l-.2-.2h-.2l-.2-.2h-.2l-.2-.3h-.2zh-.2zm-2-1.7.8-.3h.2v.2h.2l.2.2h.2v.2h.4v.2h.2l.2.2h.2l-.6 1-.2-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2zm-10.2-31.7 1-.3.2 1 .3 1 .2.8.3 1 .3 1 .3.8.4 1 .3 1 .3 1 .3 1 .3 1 .3.8.2 1 .4 1 .3 1 .2 1 .3 1 .3 1 .4 1 .3 1 .3 1 .3 1 .5 1 .3 1 .3 1 .5 1 .3 1 .3 1 .4 1.2.4 1 .3 1 .4 1.2-1 .3-.3-1-.2-1.2-.3-1-.4-1-.2-1-.3-1-.3-1.2-.4-1-.3-1-.3-1-.4-1-.3-1-.3-1-.3-1-.4-1-.4-1-.3-1-.4-1-.3-1-.3-.8-.3-1-.4-1-.3-1-.3-1-.3-.8-.3-1-.2-1-.3-1-.3-.8-.3-1-.4-.8-.2-1zm88.2-33.6h1l-.5.5h-5.4l-2.5.2h-2.8l-3 .2-3.3.2-3.5.2-3.7.3-3.8.3-4 .4-4 .5-4 .6-4.2.6-4 .7-4.2 1-4 .8-4 1-3.7 1-3.7 1.3-3.4 1.4-3.3 1.4-3 1.5-2.6 1.6-2.3 1.7-2 2-1.6 1.8-1.2 2.2-.8 2.2-.4 2.3v2.5l.7 2.7-1 .3-.6-2.8v-2.8l.3-2.6 1-2.4 1.2-2.2 1.8-2 2-2 2.5-2 2.7-1.6 3-1.5 3.3-1.6 3.5-1.3 3.6-1 4-1.2 3.8-1 4-1 4-.7 4.2-.6 4.2-.6 4-.6 4-.5 4-.4 4-.4 3.7-.4 3.5-.2 3.3-.2 3-.2h3l2.4-.2h5.4l-.6.4zm1 0v.5h-.5l.7-.5zm-.5 0h-.4zm.7 0v.5h-.6z"/> + <path fill="#fff" d="M405 190.2c3.5 0 6.4 2.8 6.4 6.4 0 3.5-3 6.4-6.4 6.4s-6.4-3-6.4-6.4c0-3.6 3-6.4 6.4-6.4"/> + <path fill="#21231e" d="M412 196.6h-1a6 6 0 0 0-3.4-5.3 6 6 0 0 0-2.6-.6v-1c2.3 0 4.6 1.2 5.8 3.2a7 7 0 0 1 1 3.6zm-7 7v-1c2.2 0 4.3-1.4 5.2-3.4a6 6 0 0 0 .7-2.6h1c0 2.3-1.4 4.6-3.4 6a7 7 0 0 1-3.6 1zm-7-7h1c0 2.2 1.4 4.3 3.4 5.3a6 6 0 0 0 2.6.5v1a7 7 0 0 1-5.8-3.3 7 7 0 0 1-1-3.6zm7-7v1a6 6 0 0 0-5.2 3.3 6 6 0 0 0-.7 2.6h-1c0-2.4 1.4-4.7 3.4-6a7 7 0 0 1 3.6-1z"/> + <path fill="#fff" d="M350.8 203.6c3.2 0 6 2.7 6 6s-2.8 6-6 6-6-2.7-6-6 2.7-6 6-6"/> + <path fill="#21231e" d="M357.2 209.6h-1c0-2-1-4-2.8-4.8a5 5 0 0 0-2.6-.7v-1a7 7 0 0 1 5.4 3 7 7 0 0 1 1 3.6zm-6.4 6.4v-1c2 0 4-1.2 4.8-3a6 6 0 0 0 .6-2.4h1c0 2-1.2 4.3-3 5.4a6 6 0 0 1-3.4 1m-6.5-6.4h1c0 2 1.2 4 3 4.8q1.2.6 2.5.6v1a7 7 0 0 1-5.5-3 7 7 0 0 1-1-3.4m6.5-6.5v1c-2 0-4 1.3-5 3a6 6 0 0 0-.5 2.6h-1c0-2.2 1.2-4.4 3-5.5a6 6 0 0 1 3.5-1z"/> + <path fill="#fff" d="M345 192.7c3.4 0 6 2.7 6 6s-2.6 6-6 6c-3.2 0-5.8-2.7-5.8-6s2.6-6 6-6z"/> + <path fill="#21231e" d="M351.5 198.7h-1c0-2-1.2-4-3-5a5 5 0 0 0-2.4-.5v-1q3.6.1 5.5 3a7 7 0 0 1 1 3.5zM345 205v-1c2 0 4-1 4.8-2.7a6 6 0 0 0 .7-2.6h1c0 2.2-1.2 4.3-3 5.5a6 6 0 0 1-3.4 1zm-6.3-6.3h1c0 2 1.2 4 3 4.8a5 5 0 0 0 2.4.6v1c-2 .2-4.2-1-5.3-3a7 7 0 0 1-1-3.3zm6.4-6.5v1c-1.8 0-3.7 1-4.6 2.8a6 6 0 0 0-.7 2.7h-1c0-2.2 1.2-4.4 3-5.5a6 6 0 0 1 3.4-1z"/> + <path fill="#fff" d="M339.8 181.7c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6"/> + <path fill="#21231e" d="M346.2 187.7h-1c0-2-1.2-4-3-5a5 5 0 0 0-2.4-.5v-1c2.2 0 4.3 1.2 5.4 3a7 7 0 0 1 1 3.5m-6.4 6.4v-1q3.2 0 4.7-2.7.7-1.2.7-2.6h1c0 2-1 4.3-3 5.4a6 6 0 0 1-3.4 1zm-6.4-6.3h1c0 2 1 4 3 4.8q1 .6 2.4.6v1a6 6 0 0 1-5.4-3 7 7 0 0 1-1-3.3zm6.4-6.5v1c-2 0-4 1.2-4.8 3a6 6 0 0 0-.6 2.5h-1c0-2.2 1-4.4 3-5.5a6 6 0 0 1 3.4-1"/> + <path fill="#edb92e" d="M444.3 202.2c3.4-.3 2.5 5.8 2 7.2q-1.3 2.6-3 .2c-.8-1.3-2.4-7.2 1-7.5z"/> + <path fill="#21231e" d="m446.6 209.6-1-.4h.2v-.7l.2-.3v-.5l.2-.3V204h-.2v-.3l-.2-.2v-.2l-.2-.2h-.2l-.3-.2h-.2l-.2-.2h-.3v-1h.7l.3.2h.3l.3.2v.2l.3.3.2.2.2.3v.2l.2.3v.7l.2.3v3.7l-.2.3v.5l-.2.3v.5h-.2zm-3.7.3.8-.7.2.3v.2h.2v.2h.2v.2h.7l.2-.2v-.2h.2v-.2h.2v-.3l1 .3v.2l-.2.2v.3h-.2v.2l-.2.2-.2.2h-.4v.2H444v-.2h-.2v-.2h-.2v-.2h-.2v-.3h-.2v-.3h-.3zm1.2-8.4v1h-.4v.2h-.3v.2h-.3v.3l-.2.2v.4h-.2v3.2l.2.2v.6l.2.2v.3l.2.2v.2l.2.2v.2h.2l-1 .7v-.5l-.2-.2v-.2l-.2-.4v-.2l-.2-.3v-.2l-.2-.3v-.7l-.2-.3v-3l.2-.3v-.3l.3-.3.2-.2.2-.3h.2l.2-.3.3-.2h.4l.2-.2z"/> + <path fill="#fff" d="M444.5 205.5c8-.6 6 13.8 4.4 17q-2.8 6.3-6.7.5c-2-3-5.8-17 2.2-17.5z"/> + <path fill="#21231e" d="m449.4 222.7-1-.4.2-.3.2-.4v-.4l.3-.5.2-.5v-.6l.2-.6.2-.7V217l.2-.7v-5.1l-.3-.7v-.6l-.3-.7-.3-.6-.3-.5-.3-.5-.3-.4-.3-.4-.4-.4-.5-.2-.5-.2-.5-.2h-1.4v-1h1.5l.6.2.7.2.5.4.6.4.4.4.4.5.4.7.3.6v.7l.3.6.2.7v.7l.3.8v6.3l-.3.7v.7l-.2.6v.6l-.3.6v.5l-.3.5v.4l-.3.3zm-7.5.5.8-.5.2.3.2.3.3.3.2.3h.2v.4h.3l.2.3.2.2h.4l.2.2h1v-.2h.3l.2-.3v-.2l.2-.2.2-.2h.2l.2-.4v-.3l.3-.3.3-.3.2-.4 1 .4-.3.4-.2.5-.2.3-.2.4-.2.3-.2.3-.2.2-.2.2-.2.3-.3.2h-.2v.3h-.4l-.2.2H445l-.4-.2h-.2l-.3-.3v-.2l-.4-.2-.2-.2-.2-.2-.3-.2-.3-.3-.3-.4-.2-.4zm2.5-17.2v-1zh-.6l-.7.2-.5.2-.5.3-.4.3-.5.4-.3.4-.3.4-.3.6-.2.5v.6l-.2.5v.7l-.2.7v.6l.2.7v1.4l.2.7v.8l.3.7v.6l.3.7.2.6.2.5.2.6.2.7.2.5.2.4.2.4.2.4.2.3-1 .5v-.3l-.3-.5-.2-.4-.2-.4v-.6l-.4-.5-.2-.7-.2-.6-.2-.7-.2-.7v-.7l-.3-.6v-.8l-.2-.7V213l-.2-.7v-.8l.2-.7v-.6l.2-.7v-.7l.4-.6.2-.6.4-.6.4-.5.4-.5.5-.4.6-.3.7-.3.7-.2h.8v1zm0-1v1z"/> + <path fill="#edb92e" d="M379.7 210.8c3.3-1 4 5 3.6 6.6q-.5 2.9-2.7 1c-1-1.2-4-6.5-1-7.6z"/> + <path fill="#21231e" d="m383.8 217.5-1-.2v-2.8l-.2-.3v-.7l-.2-.3v-.3l-.2-.2v-.3l-.3-.2-.2-.2-.3-.3-.3-.3h-.3l-.3-.2h-.6l-.4-1h1.5l.2.2.3.2.2.2.3.2.2.3.2.2v.3l.3.3v.4l.2.3v.3l.2.3v.3l.2.4v.6l.2.3v2.5zm-3.5 1 .7-.6h.2v.2h.2l.2.2h.2v.2h.4l.2-.2v-.2h.2v-.6h.2v-.3l1 .2v.4h-.2v.4l-.2.3v.2h-.2l-.2.2-.2.2h-.2l-.2.2h-1v-.2h-.3l-.2-.2h-.2v-.2h-.2zv-.2zm-.7-8.2.3 1h-.3l-.2.2h-.2v.2l-.2.2v.2l-.2.2v1.8l.2.4v.3l.2.3v.2l.2.3.2.3v.3l.2.3.2.3v.2l.3.2v.2l.2.2.3.3.2.2-.7.6h-.2v-.4l-.3-.2v-.2l-.3-.2v-.3l-.3-.2v-.2l-.2-.3v-.3l-.3-.3v-.4l-.2-.3v-.3l-.3-.3v-.7l-.2-.3V212l.3-.2.2-.3.2-.3.3-.2.2-.2h.2l.4-.3z"/> + <path fill="#fff" d="M380.7 214c7.7-2.5 9.2 12 8.4 15.5q-1.3 6.6-6.2 2c-2.6-2.4-9.7-15-2-17.5z"/> + <path fill="#21231e" d="m389.6 229.6-1-.2v-.8l.2-.4v-2.9l-.2-.7V223l-.3-.7v-.7l-.3-.8-.2-.7-.2-.6-.2-.7-.3-.7-.2-.6-.3-.6-.3-.4-.4-.5-.3-.4-.4-.3-.4-.4-.4-.4-.5-.2h-.5l-.5-.2h-1.1l-.6.3-.4-1 .7-.2h2.2l.7.2.7.2.5.4.5.5.5.4.4.5.4.5.4.6.3.7.3.6.3.6.3.7.2.8.2.8.2.7v.8l.3.7v1.5l.2.7v4.4zm-7 2.3.5-1 .5.4.2.2.3.3h.3l.3.3h.2l.3.3h.3l.2.2h1.4l.2-.2.2-.2.2-.3.3-.3v-.6l.2-.2v-.3l.2-.4v-.2l.2-.4 1 .2v.4l-.2.4v.4l-.2.4-.2.3v.3l-.2.3-.2.4v.3l-.3.2h-.2v.3l-.3.2h-.2l-.2.3h-.8l-.3.2h-.5l-.3-.2h-.2l-.3-.2h-.4l-.3-.3-.3-.2h-.3l-.3-.3-.3-.3-.2-.2-.3-.3zm-2-18.5.3 1-.7.2-.6.3-.4.3-.4.4-.4.4-.3.5-.2.5v.5l-.2.6v2.5l.2.6.2.7.2.6.2.7.3.7v.7l.4.6.3.7.4.6.4.6.3.6.4.6.4.5.3.4.3.4.4.4.2.4.3.3-.5 1-.3-.4-.3-.3-.4-.4-.4-.5-.3-.5-.4-.5-.4-.6-.3-.7-.5-.6-.3-.6-.4-.6-.3-.6-.3-.7-.3-.7-.3-.7-.3-.7-.2-.8-.2-.8v-.7l-.2-.7V218l.2-.7.2-.6.2-.6.3-.5.4-.5.6-.5.6-.4.7-.2.6-.3zm0 .5v-.5z"/> + <path fill="#edb92e" d="M464.2 137.8c-17.2-1.6-35 .2-52.3 7-14.8 6-13.4 23.2 4.6 47q-2.6 4.6-2.7 11h4.8c-1.3-2.8 0-6.4 1.8-9 1-1.5 1.3-1.2 0-3-10.7-15-17.8-28.2-13.6-36 5-9.7 24.6-14.7 57.7-14q0-1.4-.2-2.7l-.3-.2z"/> + <path fill="#21231e" d="m412 145.4-.3-1 1.7-.6 1.6-.6 1.7-.6 1.6-.5 1.6-.4 1.6-.5 1.6-.4 1.7-.4 1.5-.4 1.7-.4 1.6-.4 1.7-.3 1.6-.3 1.8-.3h1.6l1.7-.3 1.7-.2 1.7-.2 1.6-.2h3.3l1.6-.2h11.5l1.6.2h1.6l1.6.3v1l-1.7-.2h-4.9l-1.6-.2h-9.7l-1.6.2H443l-1.5.3-1.7.2-1.6.2-1.6.2H435l-1.7.4-1.6.3-1.7.3-1.6.4-1.6.3-1.7.5-1.5.4-1.6.4-1.8.5-1.6.6-1.6.6-1.7.6-1.6.6-1.6.6zm5 46.7-1-.4.2.5-1.7-2-1.5-2.3-1.5-2-1.3-2.2-1.3-2-1.2-2-1-2-1-2-1-2-.7-1.7-.6-1.8-.5-1.8-.6-1.7-.4-1.6-.3-1.7-.2-1.6v-4.4l.2-1.3.3-1.3.4-1.2.5-1.2.5-1.2.7-1 .8-1 .8-1 1-.7 1-.8 1.3-.8 1.4-.6 1.3-.5.4 1-1.2.5-1.2.6-1 .7-1 .8-1 1-1 .8-.6 1-.7 1-.5 1-.5 1-.3 1.2-.3 1.2-.2 1.2v3.8l.2 1.5.3 1.7.3 1.6.5 1.6.6 1.6.7 1.8.8 1.8 1 2 .8 1.8 1 2 1.2 2 1.2 2 1.4 2 1.4 2.2 1.5 2 1.7 2.3zm0-.5.2.3-.2.3v-.5zm-3 11v1l-.6-.6v-2.5l.2-.4v-1l.2-.4v-.7l.2-.5v-.4l.2-.2v-.4l.2-.3v-.3l.2-.3v-.4l.2-.3v-.3l.2-.3v-.3l.3-.3v-.3l.2-.2.2-.3v-.3l.3-.3v-.4l1 .5v.4l-.3.2v.3l-.2.2-.2.3v.3l-.2.3v.4l-.2.3v.3l-.2.4v.3l-.2.3v.3l-.2.4v.7l-.2.3v.8l-.2.4v.8l-.2.4v1.4l-.2.4v.7l-.5-.6zm0 1h-.6v-.6l.5.5zm4.3-.4 1-.4-.5.8h-4.6v-1h4.6l-.5.7zm1-.4.3.7h-.8l.4-.7zm1-9 .7.6-.2.2v.3l-.2.2-.2.2v.2l-.3.3v.4l-.2.3-.2.2v.3l-.2.3v.2l-.2.3v.7l-.2.2v.5l-.2.3v2.2l.2.3v.4l.2.2-1 .5v-.5l-.2-.3v-.7l-.2-.3v-2.7l.2-.3v-.3l.2-.2v-.3l.2-.3v-.3l.2-.4v-.3l.2-.3.2-.3v-.2l.2-.3.2-.3v-.3l.3-.3v-.3h.3l.2-.3zm0-2.5.7-.5.2.3.2.3v.2h.2v.4h.2v.4l.2.2v.5l-.2.2v.2h-.2v.2l-.2.2v.2h-.2v.3l-.2.2-.8-.6v-.2l.2-.2.2-.2v-.2h.2v-.4h.2v-.2h-.2v-.2l-.2-.2v-.3h-.2v-.3h-.2zm-13.8-36.5 1 .5-.4.7-.2.7-.2.8-.2.8v4.5l.2 1 .3 1v1l.5 1 .3 1.2.4 1 .5 1.2.5 1 .5 1.2.6 1.2.6 1.2.6 1.3.7 1 .7 1.4.8 1.3.8 1.3.8 1.3 1 1.3.8 1.4 1 1.3.8 1.4 1 1.4 1 1.5-.8.6-1-1.3-1-1.4-1-1.4-1-1.5-.8-1.3-.8-1.4-1-1.3-.7-1.3-.8-1.3-.8-1.4-.7-1.2-.7-1.3-.6-1-.6-1.3-.5-1.2-.5-1.2-.5-1.2-.4-1-.5-1-.3-1.2-.3-1-.3-1-.2-1.2v-1l-.2-1V158l.3-.8.3-1 .2-.7.3-.8zm57.7-13.7h1l-.5.5h-14.5l-2.6.2H445l-2.5.3-2.4.2-2.3.3-2.2.2-2.2.3-2 .4-2 .3-2 .4-1.8.4-1.8.4-1.7.5-1.6.5-1.5.6-1.5.5-1.3.5-1.3.7-1.3.6-1 .7-1 .7-1 .7-.8.7-.8.8-.7.8-.6.8-.6 1-1-.5.7-1 .7-.8.7-1 .8-.7 1-.8 1-.8 1-.8 1-.7 1.2-.7 1.3-.7 1.4-.6 1.6-.6 1.5-.5 1.7-.7 1.7-.5 1.8-.4 2-.5 1.8-.5 2-.3 2.2-.4 2.2-.3 2.2-.2 2.4-.3 2.4-.2 2.5-.2h2.5l2.7-.2h2.7l2.8-.2h9l-.6.6zm1 0v.5h-.5zm-1-2.3.7-.7v1.9h.2v1h-1v-2.3l-.2-.2v-.4.3zm.7-.7v.3-.2zm-1.2-.4.8.7v-.6.2h.2v.2l-.7.7v-.4h-.2v-.6zm0 .7-.3-.2.3-.4zm.8 0-.8-.6h.4zm-.4-.7h1l-.6.8-.4-.7z"/> + <path fill="#fff" d="M380.6 142.7c3.4 0 6 2.7 6 6s-2.6 6.3-6 6.3-6.2-2.7-6.2-6.2a6 6 0 0 1 6.2-6z"/> + <path fill="#21231e" d="M387.2 148.8h-1c0-2-1.2-4-3-5a6 6 0 0 0-2.6-.6v-1c2.2 0 4.5 1.2 5.6 3a7 7 0 0 1 1 3.6m-6.6 6.7v-1c2 0 4-1.2 5-3a7 7 0 0 0 .6-2.7h1a7 7 0 0 1-3 5.7 7 7 0 0 1-3.6 1m-6.7-6.7h1c0 2 1.2 4.2 3 5a6 6 0 0 0 2.6.7v1a7 7 0 0 1-5.6-3 7 7 0 0 1-1-3.7m6.6-6.7v1.2c-2 0-4 1.2-5 3a6 6 0 0 0-.6 2.6h-1c0-2.2 1-4.4 3-5.6a7 7 0 0 1 3.6-1z"/> + <path fill="#fff" d="M392.6 138.7c3.4 0 6.2 2.8 6.2 6.2 0 3.3-2.8 6-6.2 6a6 6 0 0 1-6-6c0-3.5 2.6-6.3 6-6.3z"/> + <path fill="#21231e" d="M399.3 145h-1c0-2.2-1.3-4.3-3.2-5.2a6 6 0 0 0-2.4-.6v-1a7 7 0 0 1 5.7 3 7 7 0 0 1 1 3.7zm-6.7 6.6v-1c2 0 4-1.3 5-3a6 6 0 0 0 .7-2.7h1c0 2.2-1.2 4.4-3.2 5.6a7 7 0 0 1-3.4 1zM386 145h1c0 2 1.2 4 3 5a6 6 0 0 0 2.6.6v1a7 7 0 0 1-5.6-3.2 7 7 0 0 1-1-3.5zm6.6-6.8v1c-2 0-4 1.2-5 3a6 6 0 0 0-.6 2.7h-1c0-2.4 1.2-4.7 3.2-5.8a7 7 0 0 1 3.4-1z"/> + <path fill="#edb92e" d="m394.2 144 2 2.4q-14.6 8.1-13 16.7.1 1.4 9.8 31.7 6.7 4.7 10 8.4c-.2.4.8 1.2.5 1.5.7 3-2.8 2.4-5 1.7-1.2-3-4.6-6-6.6-7.5-.5-.2-2-1-2-1.4l-10.2-31.6c-3-9.8 3.6-16.8 14.4-21.7z"/> + <path fill="#21231e" d="m396.3 147-.5-1v.7h-.2v-.2h-.2v-.2l-.2-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2h-.2l.8-.7.2.2h.2v.4h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2h.2v.2l.2.2v1zm.2-1 .3.6-.5.3zm-12.7 17-1 .2v-3.9l.2-.6.2-.5.2-.6.2-.5.3-.5.2-.5.3-.6.4-.5.3-.6.4-.6.5-.5.4-.6.6-.5.5-.5.6-.5.6-.6.5-.5.7-.4.7-.5.6-.5.8-.5.8-.5 1-.5.7-.5.8-.5.5 1-1 .4-.7.5-.8.4-.8.5-.8.4-.7.5-.7.4-.6.5-.7.4-.6.5-.6.4-.5.5-.6.4-.5.6-.5.5-.4.5-.3.5-.3.5-.3.5-.2.5-.2.5-.2.5-.2.5-.2.5v.5l-.2.5v3.1zm9.5 31.3-.6.8-.2-.2-.6-1.8-.7-1.8-.5-1.8-.6-1.7-.5-1.6-.5-1.5-.5-1.5-.5-1.5-.4-1.4-.4-1.2-.4-1.3-.4-1.3-.4-1-.3-1.3-.4-1-.3-1-.3-1-.3-1-.3-.8-.2-.8-.2-.8-.2-.6-.2-.7v-.5l-.3-.5v-.5l-.2-.4v-.8h-.2v-.3h1v.3l.2.3v.4l.2.3v.5l.2.5.2.6.2.7.2.7.2.7.2 1 .3.7.2 1 .2 1 .3 1 .3 1 .4 1 .4 1.2.3 1.2.3 1.3.5 1.3.4 1.4.5 1.5.4 1.5.7 1.6.5 1.6.5 1.7.6 2 .6 1.7.5 1.8-.2-.2zm-.6.8-.2-.2.2.3zm10.7 8.4-.7-.6v.6l-.2-.2-.2-.2-.3-.3-.2-.2-.2-.2-.3-.3-.2-.2-.2-.2-.2-.3-.3-.2-.3-.2-.2-.2-.3-.3-.3-.3-.3-.2-.4-.3-.3-.2-.4-.3-.4-.3-.3-.2-.4-.3-.4-.3-.4-.3-.3-.3-.5-.3-.4-.2-.3-.3-.4-.2-.4-.3-.5-.3-.4-.3-.3-.3.6-.7.4.3.4.3h.5l.4.4.3.3.4.3.4.3.5.3.3.2.4.3.3.4.4.3.2.2.4.2.3.3.2.2.3.3.3.3.3.2.4.3.3.2.3.3.3.3.2.2.3.3.3.3.3.3.2.2.3.2.2.3.2.2.2.3v.6zm0-.6.3.3-.3.4v-.6zm.6 1.6-1 .2.2-.5v.2h-.2v.2-.2l-.2-.2v-.2h-.2v-1.2l.8.6v-.2h.2v.2l.2.2v.2l.2.2v.7l-.2.2.2-.6zm-1 .2v-.3l.2-.2-.2.6zm-5 1.8 1-.4-.4-.3h.4l.2.2h.7l.4.2h2.3v-.2h.2v-1.4l1-.2v1.6l-.2.3v.2l-.2.2h-.2l-.2.2h-.4l-.2.2h-3l-.3-.2h-.5l-.3-.2h-.5l-.3-.4zm.2.3h-.2v-.3zm-6.6-7.5.6-1 .2.3h.2l.2.3h.2l.3.3.2.3.2.2.2.2.2.2h.2l.2.3.3.2v.3l.4.2.2.3.2.2.3.3.3.2.2.3.3.3.2.2.2.3.2.4.2.3.2.3.2.2.2.3v.3l.3.3v.4l.3.3v.3l-1 .4v-.3l-.2-.4-.2-.3v-.2l-.3-.2v-.3l-.2-.2-.2-.3-.2-.3-.2-.2-.2-.3-.2-.2-.2-.3-.3-.2-.2-.3v-.2l-.3-.3-.3-.2-.2-.2-.2-.2-.3-.2-.2-.2-.2-.2h-.2l-.2-.3h-.2l-.2-.3h-.2l-.2-.3h-.2l-.2-.2zm.6-1 .3.3-.3-.2zm-2.7-.7 1-.3.2.2h.2v.2h.2v.2h.4v.2h.2l.2.2h.2l-.6 1-.2-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2zm-10-31.7.8-.3.3 1 .3 1 .2.8.3 1 .3 1 .3.8.4 1 .3 1 .3 1 .3 1 .3 1 .3.8.2 1 .4 1 .3 1 .2 1 .3 1 .3 1 .4 1 .3 1 .3 1 .3 1 .5 1 .3 1 .3 1 .5 1 .3 1 .3 1 .4 1.2.4 1 .3 1 .4 1.2-1 .3-.3-1-.2-1.2-.3-1-.4-1-.2-1-.3-1-.3-1.2-.4-1-.3-1-.3-1-.4-1-.3-1-.3-1-.3-1-.4-1-.4-1-.3-1-.4-1-.3-1-.3-.8-.3-1-.4-1-.3-1-.3-1-.3-.8-.3-1-.2-1-.3-1-.3-.8-.3-1-.4-.8-.2-1zm15-22-.7.5h.6l-1 .6-1 .4-1 .5-.8.4-1 .5-.7.4-1 .5-.7.5-.8.5-.7.6-.7.6-.5.6-.7.6-.5.6-.6.7-.5.6-.4.7-.4.6-.4.7-.3.7-.3.7-.3.7v.8l-.2.7v.7l-.2.8v2.6l.3.8v1l.3.7-1 .3-.2-1v-.8l-.3-1V159l.2-1 .2-.7.2-.6.3-.8.4-.7.5-1 .4-.6.4-.7.6-.7.5-.7.6-.6.8-.6.6-.6.8-.6.7-.6.7-.5.8-.6 1-.5.7-.5 1-.5 1-.5.8-.5 1-.5 1-.5.6.2zm-.5-.3.4-.2.2.4z"/> + <path fill="#edb92e" d="m356 217-.4 2q-4.2.8-7.3.3 5.1-4.9 7.6-2.4z"/> + <path fill="#21231e" d="m355 218.8.4-2 1 .2-.3 2-.3.4-.6-.6zm1 0v.5h-.3zm-8 .2.7.7-.3-1 .2.2h4.1l.3-.2h1l.2-.2h.7l.2-.2h.3l.2 1h-.8l-.4.2h-.5l-.4.2h-1.3v.2h-3.7l-.4-1zm.2 1-1-.3.8-.7zm8.2-3-1-.2.2.5v-.2h-.6v-.2h-.6l-.2-.2H353v.2h-.6l-.2.3-.2.2h-.3l-.2.2-.3.2-.2.2-.3.2-.3.2-.2.2-.3.2-.4.3h-.3l-.3.4-.3.3-.7-.7.3-.3.3-.3.3-.3.2-.2.3-.2.3-.2.3-.3h.4l.3-.3h.3l.2-.3h.3l.3-.3h.6l.3-.2h.5l.4-.2h1.3l.2.2h.3l.2.2h.2l.2.2.3.3v.5zm0-.5v.5zm-.5.4h.4-.5zm.3-.5.2.2v.3z"/> + <path fill="#edb92e" d="M355.6 212.3c1.8.4 2 .7 2.7 1 1 0 2.4 0 3.3-1 4-2.2 4 2 2.5 5-1 2.4-.5 5 .6 7 1.2 2.2 1 3.2 0 4l-1.6 1q-1.6 1.8-2-.6c-3.8-1.6-5-5.3-6.2-8.6-1.7-4.7-7.8-5.8.8-7.7z"/> + <path fill="#21231e" d="M358.4 212.7v1h-.7v-.2h-.4l-.2-.2h-.4l-.2-.2h-.8l-.3-.2.2-1h.4l.2.2h.4l.2.2h.4v.2h.8v.2zm3-.7.5 1v-.2l-.2.2h-.3v.2h-.2l-.2.2h-.2l-.2.2h-2.1v-1h2.2l.2-.2h.2v-.2h.2zm3 5.6-.8-.4v-.3l.3-.4v-.5l.2-.2v-.6l.2-.3v-2.2h-.2v-.2h-.2v-.2h-1.2l-.3.2-.3.2-.3.2-.6-1 .4-.2.3-.2h.5l.3-.2h1.8l.2.2.2.2v.2l.2.3v.4l.2.3v2.4l-.2.3v.3l-.2.4v.3l-.2.3v.3zm.6 6.3-1 .4v-.4l-.2-.2v-.4l-.2-.2v-.2l-.2-.2v-.5l-.2-.2v-.8l-.2-.2v-2.3l.2-.2v-.3l.2-.3v-.3l.2-.2 1 .4-.2.2v.4l-.2.2v.8l-.2.2v2l.2.2v.5l.2.2v.4h.2v.2l.2.2v.4h.2zm0 4.6-.6-1h.2v-.2h.2v-1.6l-.2-.3v-.3l-.2-.2v-.2l-.2-.2v-.2l.8-.5v.2l.2.2v.2l.2.2v.2l.2.2v.2l.2.3v1.7l-.2.2v.2h-.2v.2h-.2v.2l-.2.2zm-1.6 1-.8-.7v-.2h.2l.2-.2h.2v-.2h.4v-.2h.2v-.2h.4v-.2h.2l.6.8h-.2v.2h-.4v.2h-.2l-.2.2h-.2v.2h-.2zm-.8-.7v-.2zm-1.8 0 .4-.8.3.4v.5h.2v.2h.4v-.2h.2v-.2h.2l.8.6-.2.2-.2.2-.3.2h-.2v.2h-1.1l-.2-.2v-.2l-.2-.2v-.4h-.2v-.7zm.4-.8h.3v.4zm-7-8 1-.3.2.2v.3l.2.3v.4l.2.3v.3l.3.3.2.4v.3l.2.3.2.3v.3l.3.3v.2l.2.3v.2l.3.3.2.3.2.2v.3l.3.2.2.3.2.2.2.2.2.2h.2l.3.3.3.2.3.2.3.2h.3l.2.2-.4 1-.3-.2-.4-.2-.2-.2-.4-.2-.3-.2-.2-.3-.3-.3-.2-.2-.3-.3-.3-.2-.2-.3-.2-.3-.2-.3-.3-.4-.2-.3-.2-.3-.2-.3v-.4l-.2-.3v-.3l-.3-.3v-.3l-.3-.2v-.3l-.2-.4v-.2l-.2-.3-.2-.3v-.3l-.2-.4v-.3zm1.4-8.4v1l-.6.2-.7.2h-.6l-.5.3h-.4l-.4.3h-.3v.3l-.2.2v.2h-.2v.2l.2.3.3.2.2.3.2.2.2.3.3.2v.3l.4.3.2.3.3.5.2.3.2.4.3.4.2.4v.5l.3.4-1 .3v-.4l-.3-.5-.2-.4-.2-.3-.3-.3-.2-.3v-.2l-.4-.3-.2-.3-.3-.3v-.4l-.3-.2-.3-.3-.3-.4v-.2l-.2-.3-.2-.4v-.6l.3-.3v-.2l.3-.3h.3l.4-.3.4-.3.5-.2h.4l.7-.3.8-.2zm0 1v-1zm0-1"/> + <path fill="#edb92e" d="M357 212.5c3.5 1.2 4-.7 6-.6-.8 5-1.7 7.7-7 5-3-1.6-6.7.7-7.4 2.3-.3.6-2-.6-2.6-2-2.6-5.8 6.7-6.4 11-4.8z"/> + <path fill="#21231e" d="m363.6 212-1-.2.5.6H362v.2h-.3l-.2.2h-.2l-.3.2h-.3v.2h-.7l-.2.2h-2l-.4-.2h-.3l-.3-.2.3-1h.3l.3.2h.4l.2.2h1.3l.2-.2h.2l.2-.2h.5l.2-.2h.2l.3-.2h.5l.2-.2h.4l.6.6zm-.5-.6h.7v.6zm-7.2 6 .4-1 .5.4.5.2h.4l.4.3h.3l.4.2h1.7l.2-.2.3-.3.2-.3v-.2l.2-.2.2-.3v-.3l.2-.3v-.3l.2-.2v-.4l.2-.4v-.4l.2-.4v-.9l.2-.5 1 .2v.5l-.2.5v.8l-.2.5v.4l-.2.4v.4l-.3.4v.3l-.2.4-.2.4v.2l-.3.3-.2.3-.2.2-.3.2-.2.2h-.2l-.3.2h-.3l-.3.2h-1.6l-.4-.2-.4-.2h-.4l-.4-.3-.5-.3-.5-.3zm-6.8 2-1-.3h.2v-.3h.3v-.3l.3-.2v-.2l.3-.2h.3l.2-.3.2-.2h.3l.2-.3h.3l.2-.3h.3l.3-.2h.3l.2-.2h.3l.4-.2h2.3l.3.2h.3l.3.2h.2l-.4 1h-.3l-.2-.2h-.5l-.3-.2h-1.8l-.3.2h-.3l-.3.2h-.3l-.2.3h-.2l-.3.2h-.2l-.2.2h-.2v.2l-.2.2h-.2v.3h-.2v.2h-.2v.2zm-3.5-2 1-.3v.4h.2v.4h.2v.2l.2.2h.2v.2l.2.2h.2v.2h.4v.2l.8.5v.2l-.3.2h-1v-.2h-.2l-.3-.2h-.2v-.2l-.2-.2-.2-.2h-.2v-.3h-.2v-.2h-.2v-.3h-.2v-.4h-.2zm11.8-5.4-.3 1-.4-.2h-.5l-.3-.2h-.5l-.5-.2h-5l-.5.2-.4.2h-.4l-.4.3-.4.3-.3.2v.2l-.4.2-.2.2v.3l-.3.2v1.6l.3.4.2.5-1 .5-.2-.5-.2-.6V215l.2-.6.2-.4.2-.4.3-.3.2-.4.3-.3.4-.3.4-.2.4-.2.5-.2h.5l.5-.3h1.1l.5-.2h3.3l.6.2h.5l.4.2.5.2h.3zm0 .5v-.5z"/> + <path fill="#fff" d="M458.8 124.5c3.4 0 6.2 2.7 6.2 6 0 3.5-2.8 6.3-6.2 6.3s-6-2.8-6-6.2a6 6 0 0 1 6-6z"/> + <path fill="#21231e" d="M465.5 130.6h-1c0-2-1.3-4.2-3.3-5a6 6 0 0 0-2.4-.6v-1a7 7 0 0 1 5.7 3 7 7 0 0 1 1 3.6m-6.7 6.7v-1c2 0 4-1.2 5-3a6 6 0 0 0 .6-2.7h1c0 2.3-1 4.5-3 5.7a7 7 0 0 1-3.6 1m-6.6-6.7h1c0 2 1.3 4.2 3.2 5a6 6 0 0 0 2.4.7v1a7 7 0 0 1-5.6-3.2 7 7 0 0 1-1-3.4zm6.6-6.6v1c-2 0-4 1.2-5 3a6 6 0 0 0-.6 2.6h-1c0-2.2 1.2-4.4 3.2-5.6a7 7 0 0 1 3.4-1"/> + <path fill="#fff" d="M446.3 124.5a6 6 0 0 1 6 6c0 3.5-2.6 6.3-6 6.3s-6-2.8-6-6.2 2.6-6 6-6z"/> + <path fill="#21231e" d="M453 130.6h-1c0-2-1.3-4-3.2-5a6 6 0 0 0-2.5-.6v-1c2.3 0 4.5 1.2 5.6 3a7 7 0 0 1 1 3.6zm-6.7 6.7v-1c2 0 4-1.3 5-3a7 7 0 0 0 .6-2.7h1c0 2.3-1.3 4.5-3.2 5.7a7 7 0 0 1-3.5 1zm-6.6-6.7h1c0 2 1.2 4.2 3 5a6 6 0 0 0 2.6.7v1a7 7 0 0 1-5.6-3.2 7 7 0 0 1-1-3.4zm6.6-6.6v1c-2 0-4 1.2-5 3a6 6 0 0 0-.6 2.6h-1a7 7 0 0 1 3-5.6 7 7 0 0 1 3.6-1"/> + <path fill="#fff" d="M433.8 125.5a6 6 0 0 1 6 6c0 3.5-2.6 6.3-6 6.3s-6-2.8-6-6.2 2.6-6 6-6z"/> + <path fill="#21231e" d="M440.4 131.6h-1c0-2-1.2-4-3-5a6 6 0 0 0-2.6-.6v-1a7 7 0 0 1 5.6 3 7 7 0 0 1 1 3.6m-6.6 6.7v-1c2 0 4-1.3 5-3a6 6 0 0 0 .6-2.7h1a7 7 0 0 1-3 5.7 7 7 0 0 1-3.6 1m-6.6-6.7h1c0 2.2 1.3 4.3 3.2 5.2a6 6 0 0 0 2.4.5v1a6 6 0 0 1-5.6-3.2 7 7 0 0 1-1-3.4zm6.6-6.6v1c-2 0-4 1.2-5 3a6 6 0 0 0-.6 2.6h-1c0-2.3 1.3-4.6 3.3-5.7a7 7 0 0 1 3.3-1z"/> + <path fill="#fff" d="M422.3 127.7c3.3 0 6 2.8 6 6.2 0 3.3-2.7 6-6 6s-6.2-2.7-6.2-6 3-6.3 6.3-6.3z"/> + <path fill="#21231e" d="M429 134h-1a6 6 0 0 0-3.3-5.2 6 6 0 0 0-2.4-.6v-1c2.2 0 4.4 1.2 5.6 3.2a7 7 0 0 1 1 3.5zm-6.7 6.5v-1c2 0 4-1.2 5-3q.6-1.5.6-2.6h1c0 2-1.3 4.3-3.3 5.5a7 7 0 0 1-3.4 1zm-6.7-6.6h1q.2 3.2 3 4.8a5 5 0 0 0 2.7.7v1a7 7 0 0 1-5.7-3 7 7 0 0 1-1-3.6zm6.7-6.8v1c-2 0-4.2 1.3-5 3.2a6 6 0 0 0-.7 2.5h-1q.1-3.9 3.3-6a7 7 0 0 1 3.3-.8z"/> + <path fill="#fff" d="M346.3 159.4a6 6 0 0 1 6 6.2c0 3.4-2.6 6.2-6 6.2s-6-2.8-6-6.2a6 6 0 0 1 6-6.2"/> + <path fill="#21231e" d="M353 165.6h-1c0-2-1.3-4-3.2-5a6 6 0 0 0-2.5-.7v-1c2.2 0 4.5 1 5.6 3a7 7 0 0 1 1 3.6zm-6.7 6.7v-1c2 0 4-1.2 5-3a7 7 0 0 0 .6-2.7h1c0 2.3-1.3 4.5-3.2 5.7a7 7 0 0 1-3.5 1zm-6.7-6.7h1c0 2 1.3 4.2 3.2 5a6 6 0 0 0 2.5.7v1a7 7 0 0 1-5.6-3 7 7 0 0 1-1-3.7zm6.7-6.7v1c-2 0-4 1.2-5 3a6 6 0 0 0-.6 2.6h-1a7 7 0 0 1 3-5.7 7 7 0 0 1 3.6-1z"/> + <path fill="#fff" d="M356.8 152.8c3.4 0 6.2 2.7 6.2 6 0 3.6-2.8 6.3-6.2 6.3s-6-2.6-6-6a6 6 0 0 1 6-6.2z"/> + <path fill="#21231e" d="M363.5 159h-1c0-2.2-1.3-4.2-3-5a6 6 0 0 0-2.7-.7v-1a7 7 0 0 1 5.7 3 7 7 0 0 1 1 3.6zm-6.7 6.6v-1a5.7 5.7 0 0 0 5.7-5.7h1a7 7 0 0 1-3 5.6 7 7 0 0 1-3.7 1zm-6.6-6.7h1c0 2 1.2 4 3 5a6 6 0 0 0 2.6.6v1a7 7 0 0 1-5.6-3 7 7 0 0 1-1-3.7zm6.6-6.8v1c-2 0-4 1.3-5 3.2a6 6 0 0 0-.6 2.5h-1c0-2.3 1.2-4.6 3-5.8a7 7 0 0 1 3.6-1z"/> + <path fill="#fff" d="M368.8 147c3.4 0 6 3 6 6.3 0 3.4-2.6 6.2-6 6.2s-6-2.8-6-6.2a6 6 0 0 1 6-6.2z"/> + <path fill="#21231e" d="M375.4 153.3h-1c0-2-1.2-4.2-3-5a6 6 0 0 0-2.6-.7v-1a7 7 0 0 1 5.6 3 7 7 0 0 1 1 3.7m-6.6 6.7v-1c2 0 4-1.3 5-3a6 6 0 0 0 .6-2.7h1a7 7 0 0 1-3 5.7 7 7 0 0 1-3.6 1m-6.7-6.7h1c0 2 1.4 4 3.2 5a6 6 0 0 0 2.6.7v1a7 7 0 0 1-5.7-3.2 7 7 0 0 1-1-3.5zm6.8-6.7v1c-2 0-4 1.2-5 3a6 6 0 0 0-.6 2.7h-1c0-2.3 1-4.5 3-5.7a7 7 0 0 1 3.6-1"/> + <path fill="#fff" d="M338.2 169.5a6 6 0 0 1 6 6.2c0 3.4-2.6 6.2-6 6.2s-6.2-3-6.2-6.3 2.8-6.2 6.2-6.2z"/> + <path fill="#21231e" d="M344.8 175.7h-1c0-2-1.3-4.2-3.2-5a6 6 0 0 0-2.4-.7v-1a7 7 0 0 1 5.6 3 7 7 0 0 1 1 3.7m-6.6 6.7v-1c2 0 4-1.3 5-3a6 6 0 0 0 .6-2.7h1c0 2.3-1.2 4.5-3.2 5.7a7 7 0 0 1-3.4 1m-6.7-6.7h1c0 2 1.2 4 3 5a6 6 0 0 0 2.7.7v1a7 7 0 0 1-5.7-3.2 7 7 0 0 1-1-3.5m6.7-6.7v1c-2 0-4 1.2-5 3a6 6 0 0 0-.7 2.7h-1c0-2.3 1.2-4.5 3.2-5.7a7 7 0 0 1 3.5-1"/> + <path fill="#edb92e" d="m454.2 276.3-22 12.8-23.4-10 22-12.8z"/> + <path fill="#21231e" d="m431 266.7-22 12.8-.4-1 22-12.7h.5v1zm-.4-1h.5-.4zm23.5 11-23.3-10 .4-1 23.4 10v1h-.3zm.4-1 1 .5-1 .5zm-22.4 13 22-13 .5 1-22 12.8h-.5zm.5.8-.2.2h-.3zm-23.4-11 23.4 10-.4 1-23.3-10v-1h.4zm-.3 1-1-.4 1-.4v1z"/> + <path fill="#c6363c" d="M431 270.6c5.8-.3 10.5 2.5 10.8 6.3.2 3.7-4.2 7-9.8 7.4-5.7.3-10.4-2.5-10.7-6.3-.2-3.6 4.2-7 9.8-7.4z"/> + <path fill="#21231e" d="M442.3 277h-1v-.7l-.2-.3v-.6l-.3-.3v-.2l-.3-.2-.2-.3-.2-.3-.3-.2-.3-.3-.2-.2-.3-.2h-.5l-.3-.3-.3-.2-.5-.2-.4-.2h-.3l-.4-.2h-.4l-.5-.3h-.9l-.5-.2h-.8l-.5-.2h-1l-.5.2v-1h3.6l.4.2.5.2h.5l.4.2.5.2.5.2.4.2.3.2.4.2.4.2.4.2.4.3.3.3.4.3.3.3.3.3.2.4.2.3.2.3.2.4v.3l.3.4.2.4v.8zm-10.3 8v-1l.4-.2h.9l.5-.2h.4l.4-.2h.5l.4-.3h.5l.4-.2.4-.2.4-.2.3-.2.4-.2.4-.3.4-.2.3-.2.3-.3.3-.2.3-.3v-.3l.3-.3.2-.4.2-.2v-.3l.2-.2v-.6l.2-.3v-1.1l1-.2v1.6l-.2.4v.3l-.3.5v.3l-.3.4-.3.3v.3l-.4.4-.3.3-.3.3-.3.2-.3.3-.4.3-.4.2-.4.3-.4.3-.4.2-.4.2-.5.2h-.4l-.4.2-.5.2h-.4l-.5.2h-.4l-.5.2h-1zm-11.2-6.8h1v.5l.2.3v.3l.2.3.2.3v.2l.3.3.2.2v.3l.4.2.2.3.3.2.2.2.3.2.4.2.2.2h.4l.4.3h.4l.4.2.4.2h.4l.5.2h1l.4.2h2.3v1H428l-.5-.2h-.4l-.5-.3h-.6l-.4-.3h-.4l-.5-.3-.3-.2-.3-.3-.4-.2-.4-.2-.3-.3-.3-.2-.3-.3-.3-.3-.3-.3v-.3l-.3-.3-.2-.3-.2-.4-.2-.3v-1l-.2-.4zm10.3-8 .2 1h-1.5l-.5.2h-.5l-.5.2-.4.2h-.5l-.4.3-.5.2-.4.2-.3.2-.4.2-.3.2-.3.3-.4.2-.3.3-.3.2-.2.3-.3.2-.2.3-.2.3-.2.4-.2.3v.3l-.3.3v.8l-.2.3v.6l-1 .2V277l.2-.4v-.3l.2-.4v-.5l.3-.3.2-.4.3-.3.2-.3.3-.3.2-.4.4-.3.4-.3.3-.3.4-.3.5-.2.3-.3.5-.3.4-.2.4-.2.6-.2h.4l.5-.2h.5l.5-.3h.5l.5-.2zl.5-.2z"/> + <path fill="#edb92e" d="m382.4 270 23.8 9-19.7 13c-5-1.6-9-19-4-22z"/> + <path fill="#21231e" d="m406 279.4-23.8-9 .4-1 23.7 9v1zm.3-1 1 .4-1 .5v-1zm-20 13.3 19.6-13.2.4.8-19.6 13.3h-.4zm.5 1h-.4zm-4.2-23.3-.4 1h.5l-.4.2-.4.3-.4.4-.2.5-.2.4-.2.7-.2.8v1.5l-.2.8v2.8l.3.8v1l.2.8.2 1 .2 1 .3.7v1l.5 1 .3.7.3.7.5.8.4.6.3.6.4.6.4.5.5.4.4.2.3.3.4.2-.3 1-.6-.3-.5-.3-.5-.3-.5-.5-.4-.6-.6-.6-.4-.7-.4-.7-.4-.7-.4-1-.3-.8-.3-1-.3-.8-.4-1-.2-.8-.2-1-.2-1v-.8l-.3-1v-5.2l.3-.8.2-.7.3-.6.3-.6.4-.5.4-.5.5-.4h.6zm-.5 0h.6-.5zm.4.4.2-.4zm-.3-.4h.6-.5z"/> + <path fill="#0c4076" d="M382.8 274.3c5.7-.6 10.5 2 11 5.8.3 3.8-4 7.4-9.6 8-3.6.3-6-3-6.3-6.3-.5-3.4 1-7 4.8-7.4z"/> + <path fill="#21231e" d="M394.2 280h-1v-.5l-.2-.3v-.3l-.2-.4-.2-.3-.2-.2-.2-.2-.2-.3-.2-.2-.3-.3-.2-.2-.3-.2-.3-.2-.4-.2-.3-.2-.4-.2-.3-.2h-.4l-.5-.3h-.4l-.4-.2h-.8l-.5-.2h-3.6l-.2-1h3.8l.4.2h.5l.4.2.4.2h.4l.5.3.4.2h.5l.4.3.2.2.4.3.3.2.2.3.3.3.3.3.2.2.3.3.2.3.2.3v.5l.3.4v.2l.2.4v.4zm-10 8.4v-1h1l.5-.2h.4l.6-.2.5-.2h.5l.4-.3.4-.2h.4l.4-.3.3-.3.4-.2.2-.2.4-.3.3-.2.2-.3.3-.2.2-.3.3-.3.2-.3.2-.2.2-.3v-.4l.3-.3v-.8l.2-.4v-1h1v1.6l-.2.3v.3l-.2.4-.2.3-.2.4-.2.3-.2.4-.3.4-.2.3-.3.3-.3.3-.5.3-.3.3h-.4l-.4.4-.4.2-.4.3h-.4l-.4.3-.5.2h-.5l-.4.3-.5.2h-.6l-.5.2h-.7l-.5.2h-.5zm-6.8-6.7h1v.7l.2.3v.3l.2.4v.3l.2.2v.2l.2.3.2.2v.3l.3.2.2.3v.2l.2.2h.2l.2.3h.2l.2.3.2.2h.3l.2.2h.2l.2.2h.2l.3.2h1.4v1h-2.1l-.3-.2h-.4l-.3-.3-.3-.2-.3-.2-.3-.2-.2-.2-.3-.2-.3-.2-.2-.2-.3-.3-.2-.2v-.2l-.3-.3-.2-.3v-.2l-.3-.4v-.3l-.3-.3-.2-.3v-.3l-.2-.3v-.6l-.2-.3v-.3zm5.4-8v1h-.2l-.4.2h-.8l-.3.3-.3.2-.3.2-.2.2h-.2l-.2.2v.2l-.3.2v.3h-.3v.3l-.2.3-.2.2v.7l-.2.3v.4l-.2.3v2.2h-1V279l.2-.3v-.3l.2-.2v-.3l.2-.3.2-.3v-.4l.3-.3.2-.3.2-.2v-.3l.3-.2.3-.2h.2l.3-.3.4-.2.3-.2h.3l.3-.2h.7l.4-.2h.4z"/> + <path fill="#fff" d="M457.5 280.4c1.7 0 3.2 1.5 3.2 3.2s-1.5 3.3-3.2 3.3-3.2-1.6-3.2-3.4 1.4-3.2 3.2-3.2z"/> + <path fill="#21231e" d="M461.2 283.6h-1v-.6l-.2-.2v-.2l-.2-.3v-.2h-.2v-.2h-.2v-.2h-.2l-.2-.2-.3-.2h-.2l-.2-.2h-.7v-1h1l.3.2.2.2h.2l.3.2v.2h.2v.2h.2v.3h.2v.2l.2.2v.2h.2v.2l.2.3v.5l.2.2v.2zm-3.7 3.8v-1h.4l.3-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2.2-.2v-.2l.2-.2v-1h1.2v.8l-.2.2v.3l-.2.2v.2l-.2.2-.2.3h-.2v.3h-.3l-.2.2-.3.2-.3.2h-.6v.2h-.6v.2h-.3zm-3.7-3.8h1v1h.2v.2l.2.2v.2l.2.2h.2v.2h.2v.2h.2l.2.2h.2v.2h1v1.2h-.7l-.2-.2h-.5v-.2h-.3l-.2-.2-.3-.2-.2-.2h-.2v-.3h-.2l-.2-.3-.2-.3v-.2l-.2-.3v-.3l-.2-.3zm3.7-3.7v1h-.9l-.2.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2l-.2.3v.5h-.2v.8h-1v-1.2l.2-.2v-.3h.2v-.3l.2-.2.2-.2v-.2h.4v-.2l.2-.2h.2v-.2h.5v-.2h.4v-.2h1z"/> + <path fill="#fff" d="M408.7 283c1.8 0 3.2 1.6 3.2 3.4s-1.5 3.2-3.3 3.2a3 3 0 0 1-3.2-3.2c0-1.8 1.4-3.3 3.2-3.3z"/> + <path fill="#21231e" d="M412.4 286.4h-1v-.9l-.2-.2v-.2l-.2-.2v-.2l-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.4l-.2-.2h-.8v-1.2h.7v.2h.7v.2h.3v.2h.3v.2h.3l.2.2.2.3h.2l.2.3.2.3v.3h.2v.6l.2.2v.9zm-3.7 3.7v-1h1v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.3h.2v-.5l.2-.2v-.4h1v.8l-.2.2v.3l-.2.2v.3h-.2v.3h-.2l-.2.3h-.2v.2h-.3l-.2.2h-.2v.2h-.3v.2h-.5l-.2.2h-.8zm-3.7-3.6h1v.8h.2v.5h.2v.2h.2v.2h.2v.2h.2l.2.2h.2v.2h.5v.2h.7v1h-1.2v-.2h-.3v-.2h-.2l-.2-.2-.2-.2h-.2v-.2h-.2v-.3h-.3v-.3h-.2v-.3l-.2-.2v-.2l-.2-.3v-.8zm3.7-3.8v1h-.7v.2h-.5v.2h-.2l-.2.2v.2h-.2l-.2.2v.2l-.2.2v.2h-.2v.7l-.2.3v.4h-1v-1l.2-.2v-.3l.2-.3.2-.3v-.3h.3v-.3h.2l.2-.2.2-.2h.2v-.2h.6l.3-.2h.5l.3-.2h.2z"/> + <path fill="#fff" d="M407 268.3c1.8 0 3.2 1.4 3.2 3.2s-1.4 3.2-3.2 3.2a3 3 0 0 1-3.2-3.2c0-1.8 1.4-3.2 3.2-3.2"/> + <path fill="#21231e" d="M410.7 271.5h-1v-.7l-.2-.2v-.3l-.2-.2h-.2v-.4h-.2v-.2h-.2l-.2-.2h-.2l-.2-.2h-.5v-.2h-.4v-1h.8v.2h.3l.3.2h.2l.3.2h.2v.2l.3.2.2.2.3.3.2.3v.3h.2v.4l.2.2v1zm-3.7 3.7v-1h1v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2.2-.2v-.4h.2v-1h1v1.2l-.2.2-.2.3v.3h-.2l-.2.3h-.2v.3h-.3v.2h-.2v.2h-.2l-.2.2h-.5l-.3.2h-.7zm-3.7-3.7h1v.8l.2.2v.4h.2v.2l.2.2v.2h.2v.2h.2v.2h.2l.2.2h.5l.2.2h.5v1h-.9l-.3-.2h-.2l-.3-.2-.3-.2h-.2l-.2-.2-.2-.3h-.3v-.3l-.2-.3v-.3h-.2v-.4l-.2-.2v-.8zm3.7-3.7v1h-.8v.2h-.5l-.2.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2l-.2.2v.3l-.2.2v.7h-1v-1.2h.2v-.6h.2v-.3h.2v-.3h.3l.2-.2v-.2h.3v-.2h.3l.2-.2h.4v-.2h.5l.2-.2z"/> + <path fill="#fff" d="M457.3 266.2c1.8 0 3.2 1.4 3.2 3.2s-1.4 3.2-3.2 3.2a3 3 0 0 1-3.2-3.2c0-1.8 1.6-3.2 3.3-3.2z"/> + <path fill="#21231e" d="M461 269.4h-1v-.8h-.2v-.3l-.2-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2h-.2l-.2-.2h-.2l-.3-.2h-.7v-1h1.1l.2.2h.3l.3.2.3.2.2.3h.2v.2h.2v.2h.2v.3h.2v.3l.2.2v.5l.2.2zm-3.7 3.7v-1h1.2v-.2h.2l.2-.2.2-.2v-.2h.2v-.2h.2v-.2l.2-.2v-.5h.2v-.8h1v1.1l-.2.2v.2l-.2.2-.2.3-.2.3-.2.2-.2.2-.2.2h-.2v.2h-.3v.2h-.4l-.2.2h-1zm-3.7-3.6h1v.5l.2.2v.3l.2.2v.2h.2l.2.2v.2h.2v.2h.2l.3.2h.2l.2.2h.7v1h-1l-.3-.2h-.3l-.3-.2-.3-.2v-.2l-.3-.2-.2-.2v-.2h-.2v-.3h-.2v-.6l-.2-.2v-.7zv-.2zm3.7-3.7v1h-.7v.2h-.4l-.2.2h-.2v.2h-.2v.2l-.2.2-.2.2v.4h-.2v.8h-1.2v-.5l.2-.3v-.4l.2-.2v-.2h.2v-.3h.2v-.3h.2v-.2h.3v-.3l.3-.2.3-.2h.3l.2-.2z"/> + <path fill="#edb92e" d="M371 237.4c2.3-.8 6 4.6 7 4.5 1.2-3-1.2-10.5-5.5-16.3-3-1-3.2-3-3.8-7.3-.2-1.3-2.7-.4-2.7 2 0 2.3-.3 3.6.3 5.6q.4 1.2-.8 2.3c4.5 1.8 5.6 4 5.4 9z"/> + <path fill="#21231e" d="m377.6 241.8 1 .3-.5.4h-.4l-.3-.2-.2-.2-.3-.3-.2-.2-.2-.2-.2-.2-.3-.3-.3-.2-.2-.2-.2-.3-.3-.2-.2-.2-.3-.2-.2-.3h-.3l-.3-.3h-.2l-.3-.3-.3-.2h-.2l-.3-.2h-.4l-.2-.2h-.4l-.4-1h1.3l.3.2h.3l.3.2.2.2h.3l.3.3.2.2h.3l.3.3.3.3v.2l.4.2.2.3.3.2v.2l.4.3.2.2.2.2.2.2.2.2.2.2h.2v.2h.3v.2zm1 .3-.2.4h-.3l.5-.3zm-6.3-15.8.4-1 .2.2.3.5.4.5.4.6.4.7.4.5.3.6.5.6.3.6.3.6.4.6.3.6.2.6.2.6.2.5.2.6.2.7.2.5v.6l.3.5v.6l.2.4v.5l.2.4v3.3l-.2.3-1-.2v-.3l.2-.3v-3.6l-.3-.5v-.4l-.2-.5-.2-.5-.2-.5v-.5l-.4-.6-.2-.7-.2-.5-.3-.6-.2-.6-.3-.5-.3-.5-.4-.6-.3-.7-.4-.5-.4-.6-.4-.6-.3-.5-.5-.5-.4-.5.3.2zm.4-1 .2.2-.3-.2zm-4.5-6.7h1v.7l.2.3v1l.2.3v.5l.2.3v.5l.2.2v.4h.2v.3l.2.2v.2h.2v.3h.2l.2.2v.2h.2l.2.2h.2l.2.2h.2l.2.2h.2l.3.2-.4 1h-.2l-.2-.2-.3-.2h-.2l-.2-.2h-.2l-.2-.3-.2-.2h-.2v-.2l-.3-.2-.2-.2-.2-.2v-.2l-.2-.2v-.2l-.2-.3v-.2l-.2-.2v-.3l-.2-.2v-.9l-.2-.3v-.6l-.2-.3V219l-.2-.5zm-1.7 1.8h-1v-1l.2-.2.2-.2v-.4h.2l.2-.3h.2l.2-.2.3-.2h.2l.2-.2h1.2v.2h.2v.3l.2.2v.2h-1.6v.2h-.2v.2h-.2v.2h-.2v.3l-.2.2v.8zm.3 5.6-1 .2v-.6l-.2-.2V224h-.2v-3.6h1v4.2l.2.2v.7l.2.2zm-1 2-.5.8v-1l.2-.2v-.2h.2v-.4h.2v-.4l-.2-.2v-.2l1-.3v1.8h-.2v.4h-.2v.2h-.2v.2l-.2.2h-.2zm-.5.8-.8-.3.7-.6v.8zm5 8.6h1zv-.5l.2-.5v-2l-.2-.3v-.7l-.2-.3v-.6l-.2-.3v-.2l-.2-.3-.2-.3v-.2l-.3-.3v-.2l-.3-.2-.2-.2-.3-.2-.2-.2-.3-.2h-.3l-.3-.3-.2-.2-.3-.2-.4-.2h-.3l-.4-.2.4-1 .4.2.5.2.4.2.3.2.3.2.4.2.3.2.3.2.3.2v.2l.4.3.2.3.3.3v.2l.3.3v.4l.3.3v.3l.3.3v.7l.2.3v.7l.2.4v2.9h-1zm1 0h-1l.5-.5.6.4zm-1 0v-.4h.5l-.4.4z"/> + <path fill="#edb92e" d="M368.8 218.5c-.4 1-.6 1.8-.7 3.4q0 1.5 1.2 3 1.2 1.6 3 2.6 1.2.9 2.3 3 1.1 2.3 1.2 4c0 3.5.8 6.7 2.4 7.3 1.2.3 1.6.2 2.4 0-.2-.6 0-1.5-.7-2.4a8 8 0 0 1-1.4-3.7c0-1-.5-1.6-.2-3.3.4-1.2 1-1.6 1-2.7-.3-2-2-6-4.3-6s-3.4-.3-4.6-3.4c-.3-1-1-1.6-1.2-2z"/> + <path fill="#21231e" d="m368.6 222-1-.2v-1.2l.2-.2v-1h.2v-.7h.2v-.4l1 .3v.4h-.2v1l-.2.2v1.5zm1 2.8-.8.6v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.4h-.2v-.5l-.2-.2v-.7l-.2-.2v-.7h1v1.1h.2v.7h.2v.4h.2v.4h.2v.2zv.2zm3 2.4-.6 1v-.2h-.4v-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.3v-.2h-.2l-.2-.2v-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2-.2-.2.8-.6.2.2.2.2v.2h.2l.2.2v.2h.2l.2.2.2.2h.2v.2h.2v.2h.3l.2.2.2.2h.2v.2zm2.4 3.2-1 .4v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2h-.2l-.2-.2h-.2l.5-1h.2v.2h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2h.2v.2l.2.2v.2l.2.2v.2h.2v.3h.2v.3h.2zm1.2 4.2h-1v-.8l-.2-.2v-.8h-.2v-.5h-.2v-.4h-.2v-.5h-.2v-.2l-.2-.2 1-.4v.4h.2v.4h.2v.5l.2.2v.3h.2v.6h.2v1h.2zm2 6.8-.3 1h-.3l-.2-.2-.3-.3v-.2l-.3-.2h-.2l-.2-.3v-.2h-.2v-.3l-.2-.2v-.3l-.2-.2v-.3l-.2-.2v-.5l-.2-.3v-.8l-.2-.3V236l-.2-.3v-1.5h1v2.1l.2.3v1.4l.2.2v.8l.2.2v.2l.2.2v.4l.2.2v.2l.2.2.2.2v.2h.2v.2h.2l.2.2zm1.7.8 1-.3-.5.5h-.4v.2h-1.4l-.2-.2h-.4l.3-1h.7v.2h1.2v-.2zm1-.3v.4h-.5l.4-.5zm-1.7-2 .8-.7h.2v.4h.2v.4h.2v.8l.2.2v1l-1 .4V241l-.2-.2v-.8h-.2v-.2zm-1.5-4h1v.8h.2v.8l.2.2v.2l.2.2v.2h.2v.5h.2v.2h.2v.2l-.7.7v-.2l-.2-.2v-.4h-.2v-.5h-.2v-.2l-.2-.3v-.2l-.2-.2v-.2l-.2-.3v-.4l-.2-.2v-.5zm-.2-3.4 1 .2v3l.2.2-1 .2v-.8l-.2-.2zm1-2.5h1v.7h-.2v.6l-.2.2v.2l-.2.2v.2h-.2v.6h-.2v.2l-1-.2v-.4h.2v-.4l.2-.2v-.2l.2-.2v-.2l.2-.2v-.9zm-4-5.5v-1h1.1l.3.2h.2l.2.2h.3l.2.2.2.2v.2l.3.2v.2l.3.2.2.3v.2l.3.3.2.2.2.3v.2l.2.3v.2l.2.3v.3l.2.2v.3l.2.2v.5l.2.3v.8h-1v-1l-.2-.2v-.4l-.2-.3-.2-.4v-.2l-.2-.2v-.3l-.3-.3v-.2l-.2-.2v-.3l-.2-.2-.3-.3-.2-.2-.3-.3-.3-.2-.3-.2h-.8zm-5-3.7 1-.4v.3l.2.3v.2l.2.2v.2l.2.2v.2l.2.2.2.2v.2h.2v.2h.2v.2h.4v.2h.7v.2h1.7v1H373l-.3-.2h-.4v-.2h-.3v-.2h-.3v-.3h-.3v-.2l-.2-.2-.2-.3-.2-.2v-.2l-.2-.2-.2-.4-.2-.2v-.3l-.2-.2zm-.4-2-1-.5h1.2v.4h.2v.2h.2v.2h.2v.4h.2v.2l.2.2v.2l.2.2-1 .4v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2h-.2v-.2zm-1-.5.5-1 .5 1zm.6.2.4.2zm-.5-.2.4-1 .5 1z"/> + <path fill="#edb92e" d="m360 227 2-1a6 6 0 0 1 4-.2c5.5 1.7 8 11.6 1.8 14q-1.8.2-3.4-3.3a21 21 0 0 0-4-6.8c-1-1-1-2-.4-2.6z"/> + <path fill="#21231e" d="m362 225.5.3 1h-.4v.2h-.4v.2h-.8v.2h-.2l-.2.2-.7-.7.2-.2v-.2h.4v-.2h.8v-.2h.4v-.2h.4zm4-.2-.2 1h-.5v-.2h-2.1v.2h-.7l-.2.2-.5-1h.4l.3-.2h.8v-.2h1.6l.2.2h.4zm2 15-.2-1h-.2l.5-.2h.6l.4-.4.4-.3.3-.4.3-.5.2-.4.2-.3.2-.5v-.5l.2-.5V232l-.3-.4-.2-.5-.2-.5v-.5l-.4-.4-.2-.5-.4-.3-.3-.5-.4-.3-.3-.5-.4-.3-.5-.3-.3-.4-.5-.2h-.4l.2-1h.6l.5.3.7.3.4.4.6.3.5.4.5.6.3.4.4.5.3.5.3.6.3.5.3.7.2.6v.6l.3.5v3.4l-.2.5-.2.6-.3.6-.2.5-.3.5-.4.5-.4.4-.4.3-.6.3-.6.3zm-4-3.6 1-.4v.4l.2.2.2.3.2.3v.2h.2v.5h.2v.2l.2.2.2.2h.2v.2h.2l.2.2h.8v1.2h-.8v-.2h-.5l-.2-.2-.2-.2-.2-.2-.2-.2v-.2h-.2l-.2-.2v-.2h-.2v-.3l-.2-.2v-.2h-.2v-.2l-.2-.2v-.2l-.2-.3-.3-.3zm-4-6.6.7-.6.2.2v.2h.2l.2.3v.3h.2l.2.3v.2l.2.2h.2v.3l.3.2v.2l.2.2.2.2v.4l.2.2.2.3v.3l.2.2.2.3v.3l.2.3v.3l.3.3.2.4v.3l.3.3v.3l-1 .4v-.6l-.2-.2v-.3l-.3-.2v-.3l-.2-.2v-.5l-.3-.3v-.2l-.2-.2v-.3l-.3-.2-.2-.3v-.2l-.3-.2v-.2h-.2v-.3h-.3v-.3l-.2-.2-.3-.3v-.2l-.2-.2h-.2v-.2l-.2-.2zm0-3.4v1l.3-.2v.2h-.2v.8h.2v.4l.2.2.2.2v.2l-.7.7h-.2v-.2l-.2-.2-.2-.2v-.3h-.2V227h.2v-.2h.2zm-.4 0h.4zm.4 1v-1l.3 1zm.3 0h-.2.3z"/> + <path fill="#edb92e" d="M362.8 227.7c5.4-2 9.4 8.3 4.3 10.2-2.6 1-2.8-2.4-3.4-4.3-.7-2.5-6-4-.8-6z"/> + <path fill="#21231e" d="m367.3 238.4-.4-1h.3l.3-.3.3-.2.2-.3.2-.3.2-.3v-.5l.2-.4v-2.7l-.2-.4-.2-.5-.2-.4-.2-.4-.3-.4-.3-.4-.2-.3-.4-.4-.3-.2-.3-.2-.4-.2-.4-.2h-.4l-.3-.2h-1.3l-.4.2-.4-1h.6l.5-.2h1.6l.5.3.5.2.4.2.4.4.5.4.4.4.3.4.3.5.2.4.3.6.3.5.2.6.2.6v.5l.2.5v1.6l-.2.5v.5l-.3.5-.2.4-.3.5-.4.3-.4.4-.4.2-.5.2zM363 234l1-.4.2.2v.6l.2.2v.8l.2.2v.4l.2.2v.2l.2.3.2.3v.2h.2v.2h.2l.2.2h1.2l.3.8h-.3l-.3.2h-1.2l-.2-.2h-.2v-.2l-.3-.2-.3-.3v-.2l-.2-.2v-.2h-.2v-.3l-.2-.2v-.4h-.2v-.8l-.2-.2v-.8l-.2-.2v-.2zm-.4-6.7.4 1h-.5l-.3.3h-.4l-.2.3h-.2l-.2.2v.2h-.2v.4h.2v.3l.2.2v.2h.3v.3l.3.2h.2l.2.2.2.2.2.2.2.2.2.3.2.3.2.2v.3l.3.2v.6l-1 .3v-.7l-.2-.2h-.2v-.3l-.3-.2h-.2v-.3l-.3-.2-.2-.2-.2-.2-.2-.2v-.2l-.2-.2h-.2v-.3l-.3-.3v-.2l-.2-.2v-.8l.2-.3v-.3l.3-.2.2-.2.3-.3.3-.2h.4l.4-.3.6-.2z"/> + <path fill="#0c4076" d="M363.4 229.3c2.6-1 6.2 5 3 6.5-2.3 1-4-.3-4.8-2-.7-2 0-3.8 1.7-4.5z"/> + <path fill="#21231e" d="m366.5 236.3-.4-1h.3l.2-.2h.2v-.2l.2-.2v-2l-.2-.3v-.3h-.2v-.4l-.3-.3-.2-.2-.3-.4-.2-.2-.2-.2h-.2v-.2l-.3-.2h-1.1l-.3-1h1.5l.4.3.3.2.2.3.2.2.3.2.2.2.2.3v.3l.3.3.2.4.2.3v.4l.2.4v2.6l-.2.3-.2.4-.2.3-.2.2h-.4l-.3.3zm-5.4-2.5 1-.3.2.3.2.3v.2l.2.3.2.2.2.2h.3v.2h.2l.3.2h.4v.2h1.3l.3-.2.5 1h-.7l-.2.2h-1.9l-.2-.2h-.2v-.2h-.3l-.2-.2-.3-.2-.3-.3-.3-.3h-.2v-.3l-.2-.3-.2-.3v-.2zv-.2zm2.2-5 .3 1h-.3l-.2.2-.2.2-.2.2-.2.2-.2.2v.2h-.2v.7l-.2.2v1.1l.2.2v.3l-1 .3v-.7l-.2-.3v-1.5l.2-.2v-.3l.2-.2.2-.3.2-.3v-.2l.3-.2v-.2h.3l.2-.2.3-.2h.2zm.2.5-.2-.5z"/> + <path fill="#fff" d="M400 179.7c3.6 0 6.4 2.8 6.4 6.4s-2.8 6.5-6.3 6.5-6.3-3-6.3-6.4 3-6.3 6.4-6.3z"/> + <path fill="#21231e" d="M407 186h-1c0-2-1.4-4.3-3.3-5.2a6 6 0 0 0-2.6-.6v-1c2.4 0 4.7 1.2 6 3.2a7 7 0 0 1 1 3.7zm-7 7v-1a6 6 0 0 0 5.3-3.3 6 6 0 0 0 .6-2.6h1c0 2.4-1.3 4.7-3.3 6a7 7 0 0 1-3.6 1zm-6.8-7h1a6 6 0 0 0 3.3 5.4 6 6 0 0 0 2.6.6v1a7 7 0 0 1-5.7-3.3 7 7 0 0 1-1-3.6zm7-7v1.2a6 6 0 0 0-5.3 3.2 6 6 0 0 0-.8 2.7h-1a7 7 0 0 1 3.3-5.8 7 7 0 0 1 3.6-1z"/> + <path fill="#fff" d="M395.4 169c3.5 0 6.4 3 6.4 6.4 0 3.6-3 6.4-6.4 6.4s-6.3-2.8-6.3-6.4c0-3.5 3-6.4 6.4-6.4z"/> + <path fill="#21231e" d="M402.3 175.4h-1c0-2.2-1.3-4.3-3.2-5.3a6 6 0 0 0-2.6-.5v-1q3.8.2 6 3.2a7 7 0 0 1 1 3.7zm-7 7v-1c2.3 0 4.4-1.4 5.4-3.3a6 6 0 0 0 .6-2.6h1c0 2.4-1.2 4.7-3.2 6a7 7 0 0 1-3.6 1zm-6.7-7h1a6 6 0 0 0 3.2 5.3q1.2.6 2.6.6v1a7 7 0 0 1-5.8-3.2 7 7 0 0 1-1-3.6zm6.8-7v1c-2 0-4.2 1.4-5.2 3.3a6 6 0 0 0-.6 2.7h-1c0-2.3 1.2-4.6 3.2-6a7 7 0 0 1 3.6-1"/> + <path fill="#fff" d="M410.7 131.5c3.4 0 6 2.7 6 6s-2.6 6.3-6 6.3-6.2-2.7-6.2-6.2a6 6 0 0 1 6.2-6z"/> + <path fill="#21231e" d="M417.3 137.7h-1c0-2.2-1.2-4.2-3-5a6 6 0 0 0-2.6-.7v-1a7 7 0 0 1 5.6 3 7 7 0 0 1 1 3.7m-6.6 6.6v-1c2 0 4-1.2 5-3q.6-1.5.6-2.6h1c0 2.2-1.2 4.5-3 5.6a7 7 0 0 1-3.6 1m-6.7-6.7h1c0 2.2 1.3 4.2 3.2 5a6 6 0 0 0 2.5.7v1a7 7 0 0 1-5.6-3 7 7 0 0 1-1-3.6zm6.7-6.6v1c-2 0-4 1.2-5 3a6 6 0 0 0-.7 2.6h-1a7 7 0 0 1 3-5.6 7 7 0 0 1 3.7-1"/> + <path fill="#fff" d="M400.4 136.2c3.5 0 6.3 3 6.3 6.4s-2.8 6.4-6.3 6.4-6.4-3-6.4-6.4 2.8-6.4 6.4-6.4"/> + <path fill="#21231e" d="M407.2 142.6h-1a6 6 0 0 0-3.3-5.3 6 6 0 0 0-2.6-.6v-1c2.3 0 4.6 1.2 5.8 3.2a7 7 0 0 1 1 3.6zm-6.8 7v-1c2 0 4.2-1.4 5.2-3.3a6 6 0 0 0 .6-2.7h1c0 2.3-1.2 4.7-3.2 6a7 7 0 0 1-3.6 1m-7-7h1c0 2.2 1.4 4.3 3.3 5.3a6 6 0 0 0 2.7.5v1a7 7 0 0 1-6-3.2 7 7 0 0 1-1-3.7zm7-7v1a6 6 0 0 0-5.3 3.3 6 6 0 0 0-.5 2.6h-1c0-2.4 1.2-4.7 3.2-6a7 7 0 0 1 3.7-1z"/> + <path fill="#fff" d="M392.8 145.3c3.5 0 6.3 2.8 6.3 6.4 0 3.5-2.7 6.4-6.2 6.4s-6.4-2.8-6.4-6.3c0-3.6 3-6.4 6.4-6.4z"/> + <path fill="#21231e" d="M399.6 151.7h-1a6 6 0 0 0-3.2-5.3 6 6 0 0 0-2.6-.6v-1c2.3 0 4.6 1.2 5.8 3.2a7 7 0 0 1 1 3.7m-6.8 7v-1c2 0 4.2-1.4 5.2-3.4a6 6 0 0 0 .6-2.6h1c0 2.3-1.2 4.6-3.2 6a7 7 0 0 1-3.6 1m-7-7h1c0 2 1.4 4.3 3.3 5.2a6 6 0 0 0 2.8.6v1a7 7 0 0 1-6-3.3 7 7 0 0 1-1-3.6zm7-7v1a6 6 0 0 0-5.3 3.3 6 6 0 0 0-.6 2.7h-1c0-2.4 1-4.7 3.2-6a7 7 0 0 1 3.6-1z"/> + <path fill="#fff" d="M391.5 156.7c3.6 0 6.4 2.8 6.4 6.4s-3 6.5-6.5 6.5-6.3-3-6.3-6.4 2.8-6.3 6.3-6.3z"/> + <path fill="#21231e" d="M398.4 163h-1c0-2-1.3-4.2-3.2-5.2a6 6 0 0 0-2.7-.6v-1c2.4 0 4.7 1.2 6 3.2a7 7 0 0 1 1 3.7zm-7 7v-1a6 6 0 0 0 5.4-3.3 6 6 0 0 0 .6-2.6h1c0 2.5-1.3 5-3.4 6a7 7 0 0 1-3.5 1zm-6.7-7h1c0 2.3 1.3 4.4 3.2 5.4q1.1.6 2.5.6v1a7 7 0 0 1-5.8-3.2 7 7 0 0 1-1-3.7zm6.8-6.8v1c-2 0-4.2 1.3-5.2 3.2a6 6 0 0 0-.6 2.7h-1c0-2.3 1.2-4.6 3.2-5.8a7 7 0 0 1 3.5-1z"/> + <path fill="#edb92e" d="M474.4 198q-4-7.5-8.6-9.6 6.4-19.8 2.7-51-.4-4.8-2.2-4.6-1.6-.1-1.8 5.2c.8 11.6 1.7 21.6 1.2 30.2-.5 7.6-2.3 14-4.2 21.2-.3 1 .4 1.7 3.8 3.7q4 2.4 4.7 5h1.5q3.8 1 3 0z"/> + <path fill="#21231e" d="m465.3 188.2 1 .3-.3-.6h.3l.3.2.3.2.2.2h.3l.3.3h.3l.4.4.2.2.3.2.2.3.3.3.3.3.3.3.3.2.3.3.3.3.2.3.2.5.3.3.3.4.2.3.3.4.3.3.2.4.3.4.3.5.2.5.3.4.3.4.3.5.3.5-1 .5-.3-.5-.2-.4-.3-.5-.2-.5-.3-.4-.3-.3-.2-.4-.3-.4-.3-.5-.3-.4-.2-.2-.3-.4-.4-.3-.2-.2-.3-.3v-.3l-.4-.3-.3-.4-.2-.3-.2-.2-.3-.2-.2-.2-.3-.2-.3-.2-.2-.2-.3-.2-.3-.2-.3-.2h-.3l-.3-.3-.4-.2-.3-.6zm.3.6h-.4v-.6zm2.4-51.5h1l.2 2 .2 1.8.2 2 .2 2v1.8l.2 1.8v1.8l.2 1.8v15l-.3 1.5-.2 1.5v1.5l-.3 1.5-.2 1.5-.2 1.4-.2 1.5-.2 1.3-.3 1.4-.3 1.3-.3 1.4-.3 1.3-.4 1.3-.3 1.3-.4 1.2-1-.3.4-1.2.4-1.3.4-1.3.3-1.3.3-1.2.3-1.3.3-1.4.2-1.3.3-1.4.3-1.5.2-1.4V172l.3-1.6V169l.2-1.7v-1.6l.2-1.6v-13.6l-.2-1.8v-2l-.2-1.7-.2-2-.2-1.8-.2-2-.2-2zm-1.7-4v-1h.6v.2h.3v.2h.2l.2.3h.2v.5h.2v.3l.2.2v.3l.2.2v.4l.2.4v.9l.2.3v.4h-1v-.9l-.2-.2v-.6l-.2-.2v-.5h-.2v-.5h-.2v-.2l-.2-.2h-.2v-.2h-.4zM465 138h-1v-1.7l.2-.3v-1l.2-.3v-.7h.2v-.3l.2-.3v-.3h.2l.2-.2.3-.2.2-.2h.5v1h-.2v.2h-.2v.2l-.2.2v.3l-.2.3v.6l-.2.2v1.6l-.2.4v.7zm1.2 30.2h-1V154l-.2-1v-2.8l-.2-1v-2l-.2-1v-1l-.2-1v-2l-.2-1V139l-.2-1 1-.2v1l.2 1.2v2l.2 1v2.2l.2 1v2l.2 1v2l.2 1v2.8l.2 1v12zm-4.3 21.3-1-.3.2-.6v-.7l.3-.8.2-.6.2-.7v-.7l.2-.7.2-.6.2-.7v-.6l.3-.6v-.6l.2-.6.2-.7v-.5l.2-.6.2-.8v-.6l.2-.7.2-.7v-.7l.2-.6v-.7l.2-.6v-.7l.2-.7v-.7l.2-.6V169l.2-.8h1v1.5l-.2.7v1.5l-.2.6v.7l-.2.8v.7l-.2.6v.8l-.2.7-.2.6v.8l-.2.6-.2.7v.7l-.3.7v.6l-.3.7v.6l-.3.6-.2.6v.6l-.3.7-.2.5-.2.7v.6l-.3.7-.2.7-.2.6v.7zm3.6 3-.5 1-.2-.2h-.3l-.3-.3-.3-.2h-.4l-.2-.3h-.2l-.3-.3h-.3v-.2l-.3-.2h-.2l-.2-.2-.2-.3h-.2v-.2h-.2l-.2-.2v-.2l-.2-.2v-1l1 .2v.5h.2v.2l.2.2h.2v.2h.2l.2.2.3.3h.2l.2.2.2.2h.2l.2.3h.3l.3.3.3.2h.3zm4.2 5.2.4 1-.7-.4v-.2l-.2-.2v-.3l-.2-.2v-.3l-.2-.3-.3-.3-.2-.3-.3-.2-.3-.3v-.2h-.3v-.2h-.3v-.2l-.3-.2h-.2v-.3h-.3l-.2-.2h-.3l-.2-.2-.2-.2h-.2l.6-1 .2.2h.2l.3.3.2.2.2.2h.2v.3h.4l.2.3.3.3.3.3.2.2.3.3v.3l.3.2h.2v.3l.3.2v.2h.2v.3l.2.2v.2l.2.3v.3l.2.2v.2l-.6-.3zm.4 1h-.5l-.2-.4zm1.4-1.2-.3 1h-1l-.4-.8h.2l.2-.2zm3.3.5h-1l.7-.4.2.2v.8l-.2.2h-.2v.2h-1.8l-.2-.2h-.3l-.2-.2h-.5l.3-1h.7l.2.2h1v.2h.7v.4zm-1 0v-1l.7.6-.8.4zm0 0h1l-1 .3z"/> + <path fill="#edb92e" d="M458.4 214.6c1.6-1 2-.8 2.4-1.4q.8-1.4.4-3.5c-.8-5.3 2.4-4.6 6-2.2 1.7 1 3.5 4 5 5.3s2.8 1.5 3.2 2v9.2c-.4.6-1.7.7-3.2 2-1.5 1.5-3.3 4.2-5 5.4-3.6 2.3-6.8 3-6-2.2q.4-2.1-.4-3.5c-.5-.7-.8-.4-2.4-1.4a7 7 0 0 1-2.3-2.2c-.4-.8 0-1.7 0-2.6s-.4-1.8 0-2.6q.9-1.2 2.4-2.2z"/> + <path fill="#21231e" d="m460.4 213 .8.5-.2.2-.2.2h-.4v.2h-.4l-.2.2h-.2l-.2.2h-.2v.2h-.5v.2l-.7-1h.6v-.2h.2l.2-.2h.2l.2-.2h.4v-.2h.4v-.2h.2zm.3-3.2 1-.2v2.9l-.2.3v.2h-.2v.2l-1-.5v-.2h.2v-.4h.2v-2.6zm6.7-2.8-.6 1-.3-.3-.3-.2-.3-.2-.4-.2h-.3l-.3-.2h-.3l-.3-.2h-.3v-.2h-.4l-.2-.2h-1.1v.2h-.2v.2l-.2.2v.6l-.2.3v2l-1 .2v-3l.2-.4v-.3l.3-.2.3-.2.2-.2h.2l.2-.2h.2l.2-.2h1.5v.2h.5l.3.2h.3l.4.3h.3l.3.2.4.2.3.2.3.2zm5 5.4-.6.7-.3-.2-.3-.3-.3-.3-.2-.2-.2-.2-.3-.3-.2-.2v-.2h-.2v-.3l-.3-.2-.3-.3-.2-.2v-.2l-.3-.2v-.2h-.3l-.2-.3-.3-.2-.2-.2h-.2l-.2-.2v-.2h-.3v-.2h-.2l.6-1 .2.2.3.2v.2h.3v.3h.3l.2.2.2.2v.2l.3.2h.2v.3l.3.3.2.2v.2l.3.2.3.3h.2v.3l.3.2.2.2.2.2.3.3v.2h.3v.3h.3v.3h.2zm3.5 2.4h-1.2v.3h-.2l-.2-.2h-.2v-.2h-.4l-.2-.2h-.2v-.2h-.3v-.2h-.3v-.2l-.3-.2-.3-.2-.2-.3.7-.6h.2v.2h.2v.2h.2v.2h.2v.2h.3l.2.2.2.2h.2l.2.2h.2l.2.2h.2v.2h.4v.2l.2.2v.2zm-.2-.2v.2zm0 4.8h-1v-4.5l1-.2v4.5zm-1 0h1zm1 5-1-.7v.3-4.4h1zm0-.4v.2zm-3.3 2.5-.7-.8h.2v-.2l.3-.2.3-.2h.3v-.2h.3v-.2h.2l.2-.2h.2v-.2h.4v-.2h.4v-.2l1 .5-.2.2-.2.2h-.2v.2h-.4l-.2.2h-.2v.2h-.4v.2h-.3v.2h-.2l-.2.2-.2.2v.2h-.3zm-5 5.3-.7-.8h.2v-.2l.3-.2.3-.2.2-.2.3-.3.2-.2.2-.2.2-.2v-.2h.3v-.3l.2-.3.2-.2v-.2l.3-.2.3-.2v-.2l.3-.2.2-.2v-.2h.3v-.3l.3-.2.2-.2h.2v-.3h.3v-.3l.8.8-.2.2-.2.2-.2.2v.2h-.3v.3l-.3.2-.3.2-.2.2-.2.2-.2.2v.2l-.3.2v.2l-.2.2h-.2v.3h-.3l-.2.3v.2h-.2l-.2.3-.2.2-.3.3-.3.3-.3.2zm-6.8-2.7 1 .3v2.6l.2.2v.2h.2v.2h1.7v-.2h.4l.3-.2h.3l.3-.3.3-.3h.3l.2-.3.3-.2.3-.2.6.8-.4.2-.3.3-.3.2h-.4l-.3.3-.3.2h-.3l-.2.3h-.4l-.3.2h-.4l-.3.2h-.9l-.3-.2h-.3l-.2-.3-.2-.2-.2-.2v-.3l-.2-.2v-.7l-.2-.3zm-.3-3 .8-.6v.2h.2v.4h.2v.6l.2.2v2.4l-1-.2v-2.5h-.2v-.4h-.2zm-2.3-1.3.7-.8h.2l.2.2h.2l.2.2h.2l.2.2h.4v.2h.2v.2h.2l.2.2.2.2-.8.6-.2-.2h-.2v-.2h-.4l-.2-.2h-.4v-.2h-.2l-.2-.2h-.2v-.2zm.7-.8.5.2zm-3-1.7.8-.5.2.2v.2h.2v.4h.2v.2h.2v.2h.2v.2h.2l.2.2.2.2h.2v.2h.2l-.5 1v-.2h-.2l-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2zm-.3-3h1v2.4l-.7.5v-.2h-.2v-.4l-.2-.2v-2.1zm.3-2.8.8.6v.4l-.2.2v1.8h-1V217h.2v-.4zm2.4-2.4.7 1h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2-.2.2-.2.2v.2h-.2v.2h-.2v.2l-1-.5h.2v-.2l.2-.2.2-.2v-.2h.2l.2-.2v-.2h.2v-.2h.2l.2-.2h.2v-.2l.2-.2h.2v-.2h.2zm.7 1 .5-.3z"/> + <path fill="#21231e" d="M475.5 220.2v1q-5.8.7-9.7 4.3c1.8-2.7 5.7-4.7 9.7-5.3m0-1.6v-.8q-5.8-.8-9.7-4.4c1.8 2.7 5.7 4.6 9.7 5.2"/> + <path fill="#edb92e" d="M461.2 207.3q1.6.6 3.4 2c1.6 1.5.6 4-1.5 6.6q-1 1.2-1 3.5.1 2.1 1 3.5c2.2 2.5 3.2 5 1.6 6.6q-1.6 1.4-3.4 2v-2.4q.4-2.1-.4-3.5c-.5-.7-.8-.4-2.4-1.4a7 7 0 0 1-2.3-2.2c-.4-.8 0-1.7 0-2.6s-.4-1.8 0-2.6q.9-1.2 2.4-2.2c1.6-1 2-.8 2.4-1.4q.8-1.4.4-3.5v-2.4z"/> + <path fill="#21231e" d="m465 209-.8.6-.2-.2-.2-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.4v-.2h-.5v-.2h-.2l-.2-.2h-.2l-.2-.2h-.2l.4-1h.2l.2.2h.2l.2.2h.3l.2.2h.2v.2h.3l.2.2h.2v.2h.3v.2h.2l.2.2.2.2.2.2zm-1.5 7.2-.8-.6.2-.3v-.2h.2l.2-.3.2-.3v-.2l.3-.2v-.5l.2-.2v-.2h.2v-.3l.2-.2v-.4h.2v-1.6l-.2-.3-.2-.2-.2-.2.7-.7.3.3v.2l.2.2v.2h.2v.5l.2.2v1l-.2.2v.4l-.2.2v.5l-.2.3v.3l-.3.2v.5l-.3.2v.3l-.3.2-.2.3v.2l-.3.2-.3.3-.2.2zm-1 3.3h-1v-.7l.2-.2v-1.2h.2v-1h.2v-.4l.2-.2v-.2h.2v-.2l1 .6h-.2v.4h-.2v.2l-.2.2v.9h-.2v1.4h-.2v.5zm1 3.2-.8.6v-.2h-.2v-.2h-.2v-.4h-.2v-1.1l-.2-.3V220h-.2v-.5h1v1.1l.2.2v.4l.2.2v.4l.2.2v.2h.2v.2zm1.5 7.3-.8-.8h.2v-.2h.2v-.3l.2-.2v-1.9l-.2-.2v-.2l-.2-.2v-.2l-.2-.3v-.2l-.2-.2-.3-.3v-.3l-.3-.2-.2-.2v-.2l-.3-.3-.3-.2.8-.6.2.2h.2v.4l.2.2.2.3h.2v.3l.3.3v.5l.3.3v.3l.2.2v.5l.2.2v.5l.2.2v.7l-.2.4v.4l-.2.2v.2l-.2.2v.2l-.3.2v.2zm-4.3 1.7 1-.2-.7-.4h.7v-.2h.4l.2-.2h.2l.2-.2h.2v-.2h.4v-.2h.2l.2-.2.2-.2h.2v-.2h.2v-.2l.8.8h-.2v.2h-.2v.2h-.2l-.2.2-.2.2h-.2l-.2.2h-.2v.2h-.4v.2h-.4v.2h-.5v.2h-.2l-.2.2h-.2l-.7-.3zm.7.4-.6.3v-.6l.6.4zm-.7-3 1 .3v2l-1 .3v-2.4zm-.3-3 .8-.6v.2h.2v.4h.2v.6l.2.2v2.4l-1-.2v-2.4h-.2v-.4h-.2zm-2.3-1.3.7-.8h.2l.2.2h.2l.2.2h.2l.2.2h.4v.2h.2l.2.2.2.2.2.2-.8.6-.2-.2h-.2v-.2h-.4l-.2-.2h-.4v-.2h-.2l-.2-.2h-.2v-.2zm0 0-.3-.2zm-2.3-2.4.8-.5.2.2v.2h.2v.4h.2v.2h.2v.2h.2v.2h.2l.2.2h.2v.2h.2v.2h.2l-.5 1v-.2h-.2l-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2zm0 0 .3.5zm-.3-3h1v2.4l-.7.5v-.2h-.2v-.4l-.2-.2v-2.2zm.3-2.8.8.6v.4l-.2.2v1.8h-1V217h.2v-.4zm2.4-2.4.7 1h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2-.2.2-.2.2v.2h-.2v.2h-.2v.2l-1-.5h.2v-.2l.2-.2.2-.2v-.2h.2l.2-.2v-.2h.2v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2h.2zm2.4-1 .8.5-.2.2-.2.2h-.4v.2h-.4l-.2.2h-.2l-.2.2h-.2v.2h-.5v.2l-.7-1h.6v-.2h.2l.2-.2h.2l.2-.2h.4v-.2h.4v-.2h.2zm.3-3.2 1-.2v2.9l-.2.2v.2h-.2v.2l-1-.5v-.2h.2v-.4h.2zm.5-2v-1l.5.6v2.1l-1 .2V207l.5.6zm0-1h.6v.6zm0 0v1h-.2zM361 226.3l.7-.3q-2.4-3.2-1.3-6.3c-1.3 1.6-1 4.2.6 6.6"/> + <path fill="#edb92e" d="M410.7 200c1.4 1.6 1.2 2 2 2.5q1.4.8 3.3 0c5-2 5 2 3.5 6.4-.7 2-2.8 4.3-3.7 6.2-1 1.7-.7 3-1 3.5l-4 .6-4 .5c-.6-.3-1-1.6-2.6-3s-4.4-3-6-4.6c-3-3.5-4.6-6.8.2-6.7q2 .1 3-1c.4-.7 0-1 .4-3q.5-1.9 1.4-3c.6-.8 1.5-.6 2.3-.7 1-.2 1.6-.7 2.5-.2q1.6.6 2.7 2.3z"/> + <path fill="#21231e" d="m413 202-.6 1-.2-.2-.2-.2-.2-.2v-.2h-.2v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.3-.3-.3.8-.6.3.2.2.3v.2h.2v.4h.2v.4h.2v.2l.2.2v.2h.2v.2l.2.2zm2.9 0 .2 1h-.5l-.2.2h-.8v.2h-1.2l-.3-.2h-.2l-.2-.2h-.2l.5-1v.2h.8v.2h1l.2-.2h.4l.2-.2zm4 7-1-.3v-.4l.2-.4v-.5l.2-.4v-.3l.2-.3v-.7l.2-.4v-1.7l-.2-.2v-.4h-.2l-.2-.3h-.2l-.3-.2H417l-.4.3h-.4l-.3-.8.3-.2h.5l.4-.2h1.8l.3.2h.3l.2.3.2.4v.2l.3.3.2.4v3.3l-.2.4v.4l-.2.4v.4l-.2.4v.4zm-3.7 6.4-1-.5v-.2l.2-.2.2-.2v-.2l.2-.2v-.4l.2-.2.2-.2v-.2l.2-.2.2-.2.2-.3.2-.2.2-.3.2-.2v-.2l.2-.2h.2v-.3l.2-.2v-.2l.2-.2.2-.3v-.2l.2-.2v-.2l.2-.3 1 .3v.2l-.2.3v.2l-.2.2-.2.3v.2l-.2.2v.3l-.3.2-.2.2v.2l-.2.2-.2.2v.2l-.2.2-.2.2v.2l-.3.2v.2l-.2.2-.2.2v.2l-.2.2v.4h-.3v.3l-.2.2-.2.2v.2zm-1.5 3.8-.2-1-.3.2v-.4h.2v-1l.2-.2v-.4l.2-.3v-.4l.2-.3v-.2h.2l1 .4-.2.2-.2.3v.3h-.2v.7h-.2v.9l-.2.2v.4l-.2.2v.2zm.3 0h-.2.3zm-4.3.6v-1h1.1v-.2h1.2v-.2h1.1l.3-.2.2 1h-.4l-.3.2h-.9l-.2.2h-1.3v.2h-.7zm0 0v-1 .5-.5zv-.5zm-4 .5.4-1h-.2 1.3l.3-.2h1.9l.2-.2.2 1h-.8v.2h-1.4v.2h-2zm.2 0h-.3.2zm-3-3 .5-1 .2.3.3.3h.2l.2.3.2.2.2.3.2.2v.2h.2v.2h.2v.2l.2.2v.2h.2v.2h.2v.2l-.4 1v-.2h-.2l-.2-.2-.2-.2v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.2-.2-.2-.2-.3v-.2h-.2v-.2h-.3v-.3zm-6-4.8.7-.6.2.2.3.3.3.3h.2v.3l.3.2h.3l.2.3h.2l.2.3.3.3.2.2.2.2h.2v.2l.3.2h.2l.2.3.2.2.3.3h.2l.2.3.3.2.2.2h.2v.2l-.5.8h-.3v-.2l-.3-.2h-.2v-.2l-.3-.2h-.3l-.2-.2-.2-.2h-.2v-.2l-.3-.2h-.2l-.2-.3h-.2v-.2h-.3l-.2-.2-.2-.2h-.2v-.3h-.3l-.2-.3-.2-.2h-.2v-.3h-.3v-.3l-.3-.2h-.2v-.3l-.3-.2zm.4-7.5v1H397l-.2.2h-.4l-.2.2v.2h-.2v1.5l.2.3v.3l.2.2.2.3.2.4.2.3.2.3.2.3.2.3.3.3v.2l.4.3.3.4-.8.5-.4-.3-.3-.3-.2-.4-.2-.4-.2-.3-.3-.4-.2-.3v-.4l-.3-.4v-.3l-.3-.3v-.3l-.3-.3V206l.2-.2.2-.2.2-.2.3-.2h.2l.3-.2h.7l.4-.2h.8zm2.5-.8.8.5-.2.2-.2.2h-.2v.2h-.2l-.2.2h-.2l-.2.2h-.5l-.2.2h-1.1v-1h1.4l.2-.2h.2l.2-.2h.2v-.2zv-.2zm.4-2.8 1 .2v.4h-.2v2h-.2v.4l-.2.2-1-.4h.2v-1.4l.2-.3v-.8zm1.4-3.2.8.6-.2.2v.2h-.2v.4h-.2v.4h-.2v.4l-.2.2v.4l-.2.2v.4l-1-.2v-.7l.2-.2v-.4l.2-.2v-.4h.2v-.4h.2v-.4h.2v-.2h.2v-.4zm.8.6.5-.7zm1.8-1.5.2 1H404v.2h-.4v.2h-.2l-.8-.5.2-.2.2-.2h.2v-.2h.4l.2-.2zm.2 1h-.7.6zm2.7-1.2-.5 1H406l-.2.2h-.4l-.2-1h.8l.2-.2h2.1zm3 3h-1v.2-.2h-.2v-.2l-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2l-.2-.2-.2-.2h-.2l-.2-.2.5-1v.2h.2l.2.2h.2v.2h.2v.2h.2l.2.2.2.2.2.2h.2v.2h.2v.2l.2.2.2.2.2.2v.2l.3.3zm-.2-.4h.2v.3-.4zm-.8.3h1l-1 .2v-.3zm0 .2v-.3.2z"/> + <path fill="#21231e" d="M410 219.4h-.7q-2.1-5.7-6.3-9.5c2.8 1.4 5.5 5.3 7 9.4zm1.4-.2.8-.2q-.8-5.9 1.5-11c-2 2.5-2.8 7-2.3 11.2"/> + <path fill="#edb92e" d="M418.3 202q-.2 2.2-1 4.3c-1 2-3.8 1.3-6.6-.7q-1.4-.9-3.4-.6t-3 1.7c-1.5 2.6-3.4 4-5.2 2.6q-1.6-1.6-2.7-3.5.8-.3 2-.3 2.1.1 3-1c.5-.7 0-1 .6-3q.2-1.9 1.2-3c.6-.8 1.5-.6 2.3-.7 1-.2 1.6-.7 2.5-.2q1.6.6 2.7 2.3c1.4 1.6 1.2 2 2 2.5q1.6.8 3.3 0 1.4-.6 2.3-.5z"/> + <path fill="#21231e" d="m417.7 206.5-1-.4.2-.2v-.5l.2-.2v-.4l.2-.2v-.9l.2-.2v-1.2h.2v-.4h1v1.1l-.2.3v1h-.2v.7h-.2v.7h-.2v.3l-.2.3zm-7.2-.5.5-.8.3.2h.2l.3.3h.2l.3.3h.2l.3.2.2.2h.2l.3.2h.4v.2h.7l.2.2h1v-.2h.2l.2-.2.2-.3.2-.2 1 .5-.2.2-.2.3-.3.3v.2h-.2l-.2.2h-.2l-.3.2h-2l-.2-.2h-.2l-.3-.2h-.2l-.2-.2h-.2l-.3-.2-.2-.2h-.2l-.3-.3-.2-.2h-.3l-.3-.3-.2-.2zm-3-.4-.3-1h1.1v-.2h1.3v.2h.6v.2h.4v.2h.2l.2.2-.5.8h-.2v-.2h-.4v-.2zm-2.7 1.3-.8-.6v-.2h.2v-.2h.2v-.2l.2-.2h.2v-.2h.2l.2-.2h.2l.2-.2h.3v-.2h.8l.2-.2h.5l.2 1h-.7v.2h-.4v.2h-.4l-.2.2h-.2v.2h-.2v.2h-.2v.2h-.2zm-6 2.7.6-.8h.3v.2h.5l.2.2h.5l.3-.2h.3v-.2h.3v-.2h.2v-.3h.3v-.3h.3v-.3l.3-.3.2-.2.2-.2v-.2h.3v-.4l.3-.2.8.5v.2l-.3.2v.3l-.3.2h-.2v.3l-.3.2-.2.2-.2.2-.3.3h-.2l-.2.3h-.2v.3h-.3l-.3.2h-.4l-.3.2h-1.2l-.2-.2h-.2l-.2-.2-.2-.2h-.2zm-2.7-4.4.5 1 .3-.8v.3h.2v.2l.2.2v.2h.2v.2l.2.2v.2h.2v.2l.2.2.2.2.2.2v.2h.2v.2h.2v.2h.2v.2h.2v.2h.2l-.6 1-.2-.2-.2-.2-.2-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.3h-.2v-.2h-.2v-.2h-.2v-.3h-.2v-.2h-.2v-.4h-.2v-.2h-.2V205zm0 .8-.4-.4.5-.3v.8zm2.4-1v1H397v.2h-.4l-.5-1h1.2v-.2zm2.5-.8.8.5-.2.2-.2.2h-.2v.2h-.2l-.2.2h-.2l-.2.2h-.7l-.2.2h-1.2v-1h1.4l.2-.2h.4v-.2h.2v-.2h.2v-.2zm.4-2.8 1 .3v.3l-.2.3v1.7h-.2v.7h-.2l-1-.4h.2v-1.4h.2v-1.3zm1.4-3.2.8.6-.2.2v.2h-.2v.4h-.2v.4h-.2v.4l-.2.2v.7h-.2v.5l-1-.3v-.7l.2-.2v-.4l.2-.2v-.4h.2v-.4h.2v-.4h.2v-.2h.2v-.4zm0 0 .4-.5zm2.6-1 .2 1h-.6v.2h-1v.2h-.2l-.2.2-.8-.6.2-.2.2-.2h.2v-.2h.4l.2-.2h1.4zm0 0h.6zm3 0-.6.8H406v.2h-.5l-.2-1h.8v-.2h2.1zm-.6.8.3.2zm3.3 1.6-.6.6-.2-.2h-.2v-.2l-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.2l-.2-.2.5-1v.2h.2l.2.2h.2v.2h.2v.2h.2l.2.2.2.2.2.2h.2v.2h.2v.2l.2.2.2.2.2.2v.2zm2 2.5-.6 1-.2-.2-.2-.2-.2-.2v-.2h-.2v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.3-.2-.3.7-.6.3.2.2.3v.2h.2v.2l.2.2v.4h.2v.2l.2.2v.2h.2v.2l.2.2zm-.6 1-.2-.2h.2zm3.5-1 .2 1h-.5l-.2.2h-.8v.2h-1.3l-.2-.2h-.2l-.2-.2h-.2l.5-1v.2h.6l.2.2h1.1l.2-.2h.4l.2-.2zm2.8 0h-1l.5.5h-1l-.2.2h-.4l-.2.2h-.2l-.3-1 .2-.2h.8v-.2h1.5l.5.4zm-.5-.5h.6l-.2.5-.5-.5z"/> + <path fill="#edb92e" d="M391.8 221.2c.7-1 1-.8 1.2-1.3q.2-1.4-1-3.2c-2.2-4.6.3-4.2 3.6-2.4q1.5.7 3 2 1.4 1.5 2.7 2.4c1.6 1.2 2.7 1.2 3 1.7q1.4 3 1.8 4.2.6 1.2 1.6 4.2c0 .4-1 .5-1.8 2-.7 1.2-1.2 3.5-2 4.7q-2 2.6-3.4 2.4-1.5 0-1.8-4.2a4 4 0 0 0-1.5-3c-.5-.6-.6-.4-2-1.2a9 9 0 0 1-2.4-2q-.7-1-1-2c-.3-1-.8-1.6-.7-2.4a4 4 0 0 1 .8-2z"/> + <path fill="#21231e" d="m392.5 219.7 1 .3v.2l-.2.2v.2h-.2v.2h-.2v.2h-.2l-.2.2v.2h-.2l-.8-.5v-.2l.2-.2.2-.2.2-.2h.2v-.2h.2zm-.8-2.7 1-.5v.4l.2.2v.4l.2.3v.2l.2.2v2l-1-.3v-1.2l-.2-.2v-.4h-.2v-.4h-.2v-.4zm4.2-3-.6.8h-.3l-.2-.3h-.3l-.3-.3h-.3l-.3-.2h-.3l-.2-.2h-.5l-.2-.2h-.6v1.5l.3.4.2.3.2.4.2.5-1 .5v-.4l-.3-.4-.2-.4v-.7l-.2-.2v-1.5l.2-.2h.2l.2-.2h.2l.2-.2h1.2l.2.2h.6l.3.3.3.2h.3l.3.2.2.2.4.2h.3zm2.8 2-.7 1v-.4h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.2l-.2-.2-.2-.2h-.2l-.2-.2.5-1v.2h.2v.2h.2l.2.2h.2v.2h.2l.2.2h.2v.2h.2v.2h.2l.2.2.2.2.2.2h.2v.2zm2.8 2.4-.6.8h-.2v-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2l-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.2l.6-1v.2h.2l.2.2v.2h.2l.2.2.2.2h.2v.2h.2v.2h.2v.2h.2l.2.2.2.2h.2v.2h.2zm3.3 2-1 .3v.2-.2h-.2v-.2h-.4l-.2-.2h-.2l-.2-.2h-.3l-.2-.2h-.3v-.2h-.3v-.2h-.3v-.2h-.3v-.2l.6-.8.2.2h.2v.2h.3l.2.2h.2l.2.2h.2v.2h.4l.2.2h.4v.2h.2l.2.2h.2v.3zm-.2-.3v.2zm1.7 4.5-1 .4v-.7l-.2-.2v-.4l-.2-.2v-.5h-.2v-.4l-.2-.3v-.3h-.2v-.5h-.2v-.5h-.2v-.3l1-.4v.4l.2.3v.2l.2.3v.2l.2.3v.3l.2.3v.4h.2v.4l.2.2v.4h.2v.4zm0 0-1 .4h.3l.3.2-.5-.5.6.5-.5-.5.6.5-.5-.5.2.4-.2-.3v.2l1-.5v.2-.4.4l-.4-.5.6.5-.5-.5.6.5-.5-.5h.4v.3zm0-.2v.2zm1.6 4.7-1-.2v.3-.5l-.2-.3v-.2l-.2-.3v-.3l-.2-.3v-.2l-.2-.2v-.4l-.2-.2v-.2l-.2-.2v-.4l-.2-.2 1-.5v.4h.2v.5h.2v.5l.2.2v.3l.2.3v.5l.2.2v.3l.2.2v.2l.2.2v.6zm0-.3v.3zm-1.7 2.4-1-.4.2-.2v-.2h.2v-.2l.2-.2v-.2h.2v-.2h.2l.2-.2h.2v-.2h.2v-.2l1 .2v.4h-.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2-.2.2zm-2.2 5-.7-.7.2-.3v-.2h.2v-.3l.2-.2v-.4l.2-.2v-.5h.2v-.4h.2v-.5h.2v-.2l.2-.3v-.2l.2-.3v-.2l.2-.2 1 .5-.2.2v.3h-.2v.4h-.2v.5l-.2.2v.3l-.2.2v.3l-.2.2v.3l-.2.2v.3l-.2.2v.3h-.2v.3h-.2v.3l-.2.2v.2zm-3.7 2.7.2-1h.4v-.2h.2l.2-.2h.2v-.2h.2l.2-.2.2-.2.2-.2.2-.2.2-.3.2-.2v-.2h.2v-.3l1 .7h-.2v.3h-.3v.3h-.2v.3h-.4v.4h-.2v.2h-.2l-.2.2-.2.2-.2.2h-.3v.2h-.4v.2h-1zm-2.2-5h1v.3l.2.2v1.1h.2v.5l.2.2v.3l.2.2v.2h.2v.2h.2v.2h.2v1h-.8v-.2h-.2l-.2-.2-.2-.2v-.3h-.2v-.2l-.2-.2v-.3l-.2-.3v-.4h-.2v-1l-.2-.2v-1zm-1.2-2.6.7-.6.2.2v.2h.2v.2l.2.2v.2h.2v.3l.2.2v.2h.2v.7h.2v.6l-1 .2v-1h-.2v-.4l-.2-.2v-.2h-.2v-.2h-.2v-.4h-.2v-.2zm-2-1 .4-.8h.3v.2h.4v.2h.4v.2h.4v.2h.4v.2h.2v.2l-.6.7h-.2l-.2-.2h-.4v-.2h-.4l-.2-.2h-.2l-.2-.2h-.3zm-2.5-2 .7-.6.2.2.2.2.2.2.2.2h.2v.2h.2v.2h.2l.2.2h.2v.2h.2l.2.2-.5 1v-.2h-.2v-.2h-.4v-.2l-.2-.2h-.2l-.2-.2-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2v-.2zm-1.2-2.3 1-.4v.2h.2v.4h.2v.5h.2v.4h.2v.2l.2.2-.7.7h-.2v-.4h-.2v-.4h-.2v-.4l-.2-.2v-.8h-.2v-.2zm-.6-2.5h1v.8h.2v.4l.2.2v.2l.2.2v.2l-1 .5v-1h-.2v-.4h-.2v-.6h-.2v-.8zm1 0v.2zm.4-1.5v-1l.3.8v.4h-.2v.2h-.2v.8h-.2v.2h-1v-.9l.2-.2v-.4l.2-.2v-.2h.2v-.4h.2v-.2h.2l.4.7zm0-1h1l-.7.8-.2-.8zm0 0v1l-.4-.8.4-.3zm0 1h-1l.6-.8.4.7z"/> + <path fill="#21231e" d="m406.5 226 .2 1q-2.1.6-3.6 1.8c-1.5 1.2-1.7 2-2.3 3.2q.4-2.1 2-3.7a7 7 0 0 1 3.8-2.2zm-.6-1.6-.5-1q-2.4 0-4.7-1t-4.4-2.8q1.6 2 4.3 3.3 2.5 1.1 5.2 1.5z"/> + <path fill="#edb92e" d="M391.4 213.8c1 .4 1.6.8 2.8 1.8q1.2 1 1.5 3 0 1.7-.3 3.8-.3 1.4.5 3.6.5 2.3 2 3.5c2.3 2.5 4 5 3.4 6.7a4 4 0 0 1-1.5 1.8q-.7-.8-1.4-2.2a8 8 0 0 0-1.5-3.5c-.5-.6-.7-1.3-2-2.2-1-.5-2-.3-2.6-1-1.2-1.6-3-5.5-1.3-7.2s2.3-2.7 1-5.6q-.6-1.5-.6-2.4z"/> + <path fill="#21231e" d="m394.5 215.2-.7.8-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2h-.2l-.2-.2h-.4l.3-1h.4v.2h.4v.2h.4v.2h.4v.2h.2v.2h.2l.2.2.2.2h.2v.2h.2v.2zm1.7 3.2-1 .2v-.6h-.2v-.7h-.2v-.4l-.2-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2l.7-.8h.2v.2l.2.2v.2h.2v.2l.2.2v.2h.2v.4l.2.2v.4h.2v.8h.2v.2zm-.3 4h-1V221h.2v-2.4l1-.2v3.3l-.2.2zm-1 0v-.3zm1.4 3.5-1 .2v-.5l-.2-.3v-.4l-.2-.3v-.8h-.2v-1.4h1v1.9h.2v.7h.2v.7h.2zm1.8 3.2-.7.7v-.2l-.2-.2h-.2v-.4h-.2v-.2l-.2-.3v-.2h-.2v-.2l-.2-.3v-.2h-.2v-.5l-.2-.2-.2-.3v-.4h-.2l1-.4v.2l.2.2v.2l.2.3.2.2v.3l.2.2v.2h.2v.2h.2v.4h.2v.2h.2v.2h.2v.2zm3.6 7.2-1-.4.2-.2v-1.3l-.2-.2v-.4l-.2-.2v-.2l-.2-.2-.2-.2v-.2l-.2-.2-.2-.2v-.2l-.3-.2-.2-.3v-.3l-.3-.2-.2-.2-.2-.3-.2-.2-.2-.2-.2-.2-.3-.3h-.2l.7-.8.3.2.2.2.2.3.3.4.3.2.2.2v.3l.3.3.3.2.2.3v.2l.3.2.2.3v.2l.2.2.2.2v.2l.2.2v.2l.2.3v.7l.2.2v1.2l-.2.2zm-2.4 1.8 1-.4-.8-.2.2-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.2l1 .4v.2l-.2.2v.2l-.2.2v.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2h-.2l-.2.2zm.8.2-.5.3-.3-.5zm-2-2.5 1-.3v.4h.2v.4h.2v.2h.2v.2l.2.2v.2h.2v.4l-.8.4v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2h-.2v-.4l-.2-.2v-.2zv-.3zm-1.5-3.3.8-.7v.2h.2v.2l.2.2v.2l.2.2v.2h.2v.5h.2v.4l.2.2v.4l.2.3v.7l-.8.2v-.4h-.2v-.5l-.2-.2v-.5h-.2v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2zm-2-2.2.4-1 .3.2.2.2h.2l.2.2.2.2.2.2v.2h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2l-.7.7-.2-.2v-.2h-.2v-.2h-.2v-.4h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.4v-.2zm-2.7-1.3.8-.6h.2v.2h.2v.2h.9l.2.2h.4l.2.2h.2l.2.2-.4 1v-.2h-.4l-.2-.2h-.9v-.2h-.4l-.2-.2h-.2l-.2-.2-.2-.2zm-1.2-7.8.7.7v.3h-.2v.3h-.2v2.2l.2.3v.5l.2.2v.2l.2.3v.2l.2.2v.2l.2.2v.2l.3.2v.2h.2v.3l.2.2-.7.7-.2-.3-.2-.3v-.2l-.2-.2v-.2h-.3v-.3l-.2-.3-.2-.4v-.2l-.2-.3v-.2l-.2-.2v-.6l-.2-.3v-2.1l.2-.3v-.2h.2l.2-.3.2-.3zm.7-5 1-.5v.5l.2.2v.3l.2.2v.7h.2v1.7l-.2.2v.2l-.2.2v.2h-.2v.3h-.2v.2l-.2.2-.3.3h-.2l-.2.3-.8-.6.2-.3h.2l.2-.3.2-.3.2-.2v-.3l.2-.2v-.2l.2-.3v-.7l-.2-.2v-.5l-.2-.2-.2-.4v-.2zm0-3v1l.4-.7v1.4h.2v1.1h.2l-1 .6v-.9h-.2v-.7l-.2-.2v-1l.4-.7zm-.6.5-.3-.7h.7l-.5.6zm.4.3v-1zm0-1"/> + <path fill="#edb92e" d="M434 226.2c-1.2 1-1.5 1-2 1.6q-.3 1.3.3 3.3c1.5 5-1.4 4.4-5 2.6-1.6-1-3.6-3.2-5.2-4.4-1.5-1-2.6-1-3-1.6l-1-4.3q-.1-1.2-1-4.4c.4-.7 1.4-1 2.5-2.5 1-1.7 2.2-4.7 3.6-6 3-3.2 6-4.5 6 1.3 0 1.4.3 3 1 3.6s1 .3 2.5 1q1.6 1 2.6 2c.7 1 .5 2 .7 2.8 0 1 .5 1.7.2 2.6q-.6 1.4-2 2.4z"/> + <path fill="#21231e" d="m432.6 228-1-.5h.2v-.4h.4v-.2h.4v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.8.8-.2.2h-.2v.2h-.2l-.2.2-.2.2h-.2v.2h-.4v.2zm0 2.9-.8.3v-.2l-.2-.2v-.7h-.2v-2.3h.2v-.2l1 .4v.2h-.2v2.1h.2v.7zm-5.4 3 .5-.8h.3l.3.3h.3l.3.3h.2l.3.2h.2l.3.2h.7l.2.2h.7v-.2h.2v-.4l.2-.3v-1.1l-.2-.3v-.3l-.2-.4 1-.4v.4l.2.4v.8l.2.3v1.1l-.2.4v.2l-.3.2-.2.2h-.2l-.2.2-.4.2h-1.2l-.3-.2h-.6l-.3-.3-.2-.2h-.3l-.3-.2-.4-.2-.3-.2zm-5.4-4.3.6-1 .2.2.3.2.2.3h.2v.3h.3v.3l.3.2.2.2h.2v.3h.3l.2.3.2.3.2.2.3.3h.2v.2l.2.2h.2l.2.2v.2h.3v.2h.2l.2.2.3.2-.5 1-.2-.2h-.2v-.2l-.3-.2h-.2l-.2-.2-.2-.3h-.2l-.2-.2h-.2v-.3h-.3l-.3-.3h-.2v-.3l-.3-.3h-.2l-.2-.3-.3-.3h-.2v-.2h-.3l-.2-.3-.3-.3-.3-.2-.3-.2h-.2zm-3.4-2 1-.2v-.2h.2v.2h.4l.2.2h.4v.2h.7l.2.2h.2l.2.2.3.2h.2l.2.2-.6 1v-.2h-.3v-.2h-.2l-.2-.2-.2-.2h-.3l-.2-.2h-.2v-.2h-.4l-.2-.2h-.2l-.2-.2h-.2v-.2h-.2v-.3zm.2.3v-.3zm-.6-4.2v-1l.5.4v.4l.2.2v1h.2v1.3h.2v1h.2v.5l-1 .2v-.7l-.2-.3v-.7l-.2-.3v-.7h-.2v-.8l-.2-.2v-.6l.4.4zm0-1h.5v.4zm-.5.6 1-.2v-.2l-.5-.2v1h-.3zm-.8-4.7 1 .4v-.2 1.1h.2v1.1l.2.3v.8l.2.2v.9l-1 .2V222l-.2-.2v-.8l-.2-.3v-.7h-.2v-.8l-.2-.2v-.3zm0 .3v-.3zm2.4-2.8 1 .5-.2.2-.2.2-.2.3-.2.2-.2.2h-.2v.2h-.2l-.2.2h-.2v.2h-.2v.2h-.2v.2h-.2l-1-.3h.2v-.4h.2v-.2h.4v-.2h.2l.2-.2.2-.2.2-.2h.2v-.2l.2-.2.2-.2v-.2h.2zm3.7-6.2.8.7h-.2v.3h-.2v.3l-.3.3v.2l-.2.2v.2h-.2v.3l-.2.3v.4l-.3.2v.2l-.2.2v.2l-.2.2v.2l-.2.2v.3l-.2.3v.2l-.2.2v.2h-.2v.2l-.2.2-.2.2-1-.4.2-.2.2-.3v-.2h.2v-.3l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.3l.2-.2v-.2h.2l.2-.3v-.2l.2-.2v-.3l.2-.2v-.2l.3-.2v-.2l.2-.2.2-.3v-.2l.2-.2h.2zm6.8 1.8h-1v-1.4l-.2-.4v-.6l-.2-.2v-.4l-.2-.2h-.3v-.2h-1.2l-.3.2-.3.2h-.2l-.3.3-.2.3-.3.2-.2.2-.3.2-.2.2-.3.2-.2.3-.8-.7.3-.3.3-.3.3-.2.2-.3.3-.3.4-.2.3-.2.2-.2h.2l.3-.3h.2l.3-.2h.3l.2-.2h1.2l.3.2.3.3.2.2.2.2.2.3v.6l.2.5v.4l.2.3v1.5zm1 3.3-.8.8-.2-.2v-.2h-.2v-.2l-.2-.2v-.6l-.2-.2v-.7l-.2-.2V212h1v2h.2v.3l.2.2v.2h.2v.2zm2.2 1-.4 1-.3-.2h-.2l-.3-.2h-.4v-.2h-.9v-.2h-.4v-.2h-.2v-.2l.6-.7v.2h.4v.2h.8l.2.2h.4l.2.2h.2l.2.2zm2.8 2.2-.8.6h-.2v-.2l-.2-.2h-.2v-.4h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2.3-1 .3.2h.2l.2.2.2.2h.2v.2h.2l.2.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2h.2zm-.8.6.4.5zm1.5 2.3-1 .2V220l-.2-.2v-.8h-.2v-.4l.7-.6v.2l.2.2v.2l.2.2v2.2h.2v.2zm0 3-.8-.4v-2.1l-.2-.2v-.4h1v1l.2.2v1.8zm-1.8 2.6-.7-.8h.2v-.2l.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.2h.2v-.2l1 .4-.2.2v.2l-.2.2v.2h-.2v.4h-.2v.2h-.2v.2l-.2.2-.2.2v.2h-.2l-.2.2zm-.7-.8"/> + <path fill="#21231e" d="m418 222.6-.2-1a14 14 0 0 0 7.8-5.3c-1.2 3-4.3 5.3-7.7 6.3zm.2 1.5q0 .6.3 1 5 0 9.2 3c-2-2.3-5.8-3.8-9.5-4"/> + <path fill="#edb92e" d="M432.7 233.3a11 11 0 0 1-3.4-1.5c-1.6-1.3-1.2-3.8.3-6.4q.6-1.4.2-3.5a6 6 0 0 0-1.4-3.5c-2.4-2.3-3.8-4.8-2.6-6.6q1.4-1.8 2.8-2.7.4 1 .4 2.5c0 1.4.3 3 1 3.6s1 .3 2.5 1q1.6 1 2.6 2c.7 1 .6 2 .7 2.8 0 1 .5 1.7.2 2.6q-.6 1.4-2 2.4c-1.2 1-1.5 1-2 1.6q-.3 1.3.3 3.3.4 1.4.4 2.3z"/> + <path fill="#21231e" d="m429 232.2.6-.8h.2v.2h.2l.2.2h.2l.2.2h.2l.2.2h.4v.2h.4l.2.2h.4l.2.2h.2l-.3 1h-.4v-.2h-.4l-.2-.2h-.3v-.2h-.4l-.2-.2h-.2l-.2-.2h-.2v-.2h-.2l-.3-.2h-.2v-.2zm0-7 1 .5v.2h-.2l-.2.4v.2l-.2.2v.2l-.2.3v.4l-.2.2v.5l-.2.2v1.5l.2.3v.2h.2v.3l.2.2.2.2-.6.8-.2-.2-.3-.3v-.2h-.2v-.3l-.2-.2v-.4l-.2-.3V228h.2v-.7l.2-.3.2-.3v-.3l.2-.2v-.3l.3-.3v-.5zm.3-3.3 1-.2v.8h.2v1.9l-.2.2v.7h-.2v.2l-1-.4h.2v-.6h.2V222zm-1.3-3.2.7-.7v.2h.2v.4h.2v.2l.2.2v.2l.2.2v.2l.2.2v.5h.2v.7l.2.2v.8h-1v-1.2l-.2-.2v-.4h-.2v-.4h-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2zm-2.7-7.2 1 .6h-.2v.7l-.2.2v.7l.2.2v.4l.2.2v.2l.2.2v.2l.2.2v.2l.3.2v.2l.2.2.2.2v.2l.3.3.2.3v.2l.3.2.2.2h.2l-.7.8-.2-.2-.2-.2-.3-.2-.2-.2v-.3l-.2-.2-.2-.2-.2-.2-.2-.2v-.2l-.3-.2-.2-.3h-.2v-.3l-.2-.2v-.3l-.2-.2v-.2l-.2-.3v-.4l-.2-.2v-1l.2-.3v-.2l.2-.2v-.2zm3.8-2.5-.8.4.7.3h-.2l-.2.2h-.2l-.2.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2-.2.2v.2h-.2v.2l-.2.2-1-.6h.2v-.2l.2-.2.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2h.2l.2-.2.2-.2h.2v-.2h.2l.2-.2.2-.2h.2v-.2zm-.6 0 .5-.5v.6h-.6zm1 2.8h-1v-2.1h-.2v-.4l1-.3v1h.2v2zm1 3.3-.7.8-.2-.2v-.2h-.2v-.2l-.2-.2v-.7l-.2-.2v-.7l-.2-.2V212h1v1.7h.2v.6l.2.2v.2h.2v.2l.2.2zm2.3 1-.4 1-.3-.2h-.2l-.3-.2h-.4v-.2h-.9v-.2h-.4v-.2h-.2v-.2l.6-.7v.2h.4v.2h.8l.2.2h.4l.2.2h.2l.2.2zm2.8 2.2-.8.6h-.2v-.2l-.2-.2h-.2v-.4h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2.3-1 .3.2h.2l.2.2.2.2h.2v.2h.2l.2.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2h.2zm-.8.6.4.5zm1.5 2.3-1 .2V220h-.2v-.8h-.2v-.4l.7-.6v.2l.2.2v.2l.2.2v2h.2v.2zm0 3-.8-.4v-2.2l-.2-.2v-.4h1v1l.2.2v1.8zm-1.8 2.6-.7-.8h.2v-.2l.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.2h.2v-.4h.2v-.2l1 .4-.2.2v.2l-.2.2v.2l-.2.2v.2h-.2v.2h-.2v.2l-.2.2-.2.2v.2h-.2l-.2.2zm-1.7 1.4-1-.5v-.2h.2v-.2h.2v-.2h.4v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.8.8-.2.2h-.2v.2h-.2l-.2.2-.2.2h-.2l-.2.2h-.2zh-.2v.2zm0 2.9-1 .3v-.7h-.2v-3h.2l1 .4h-.2v2.6h.2v.2zm-.2 2.8.3-1-.6.5v-1h-.2v-.9l-.2-.2 1-.5v.9h.2v1h.2v.7zm.7-.5v.7l-.7-.2zm-.5 0-.2.5zm.5 0v.7l-.7-.2z"/> + <path fill="#edb92e" d="M410.6 216.4c4 0 8 3.4 8.4 7.7.6 4.4-2.2 7.7-6 7.8-4 0-7.5-3-8.3-7.3-.7-4 1.8-8 6-8z"/> + <path fill="#21231e" d="m419.5 224-1 .2v-.8l-.2-.4v-.3l-.2-.4v-.3l-.2-.4-.2-.3-.2-.3-.2-.4-.2-.3-.2-.3-.3-.2-.2-.3-.3-.3-.2-.2-.3-.3-.3-.2-.3-.2-.4-.2h-.3l-.3-.3h-.4l-.3-.3h-.3l-.4-.2h-.3l-.3-.2h-1.5v-1h1.9l.4.2h.3l.4.3h.4l.4.3.4.2.3.2.5.2.3.3.3.2.4.2.3.3.3.3.3.3.3.4.2.3.2.4.3.4.2.4.2.4.2.4v.4l.2.4v.4l.2.4v.8zm-6.6 8.3v-1h.9l.2-.2h.6l.3-.2h.4l.2-.2.3-.2h.2l.2-.3h.2l.2-.3.3-.3.3-.2v-.2l.3-.3.2-.2v-.3l.3-.3.2-.4v-.3l.2-.3v-.7l.2-.3V224l1-.2v2.5l-.2.4v.8l-.3.4v.3l-.2.3v.4l-.3.3-.2.3-.3.3h-.2l-.2.4-.3.2-.3.3h-.3l-.3.3-.3.2h-.2l-.3.3h-.4l-.2.2h-.4l-.3.2H413zm-8.7-7.7 1-.2v.7l.2.5v.3l.3.4v.3l.3.3.2.4.2.3.2.3.2.3.2.3.3.3.2.3h.3l.2.3.3.3.2.2.3.2.3.2h.4l.3.3.3.2h.3l.3.2h.7l.3.2h1.2v1h-2l-.3-.2h-.4l-.4-.3h-.4l-.4-.3-.3-.2-.4-.2-.3-.2-.4-.2-.4-.2-.3-.3-.2-.2-.2-.2-.3-.3-.2-.3-.3-.3-.2-.4-.2-.3-.2-.3-.2-.4-.2-.3-.2-.4v-.4l-.2-.4-.2-.4v-.8zm6.2-8.7v1h-1l-.3.2h-.4l-.3.2h-.3l-.3.3h-.2l-.2.3-.3.2-.2.2v.2l-.3.2-.2.2-.2.3-.2.3v.2l-.2.3v.4l-.3.3v.6l-.2.3v.7l-.2.3v.7l.2.4v.8l-1 .2v-3.3l.2-.3v-.3l.2-.4v-.3l.3-.4v-.3l.3-.3.2-.3.2-.3.2-.3h.2l.2-.4.3-.2.3-.2.3-.2.3-.2.3-.2.3-.2h.3l.4-.2h.4l.3-.2h.9z"/> + <path fill="#edb92e" d="M411 218.6c2.8-.2 5.7 2.4 6 5.5.5 3.3-1.5 5.8-4.4 5.8-2.8 0-5.5-2.3-6-5.3s1.3-5.8 4.3-6z"/> + <path fill="#21231e" d="m417.6 224-1 .2v-.6l-.2-.3v-.2l-.2-.3v-.4l-.2-.2v-.2l-.2-.3-.2-.3v-.2l-.3-.2-.2-.2-.2-.3-.2-.2-.2-.2h-.2l-.2-.3h-.2l-.3-.3h-.2l-.2-.2-.4-.2h-.5v-.2h-1.1v-1h1.1l.4.2h.3l.2.2h.2l.3.2h.3l.2.3h.3l.2.2.3.2h.2l.3.3.2.3.2.2.2.2v.2l.3.3h.2v.4l.3.3v.3l.3.2.2.3v.3l.2.3v.8l.2.3zm-5 6.3v-1h1.1l.2-.2h.4l.2-.2h.2v-.2l.3-.2h.3v-.2l.3-.2v-.2h.2l.2-.3v-.2l.2-.2.2-.3v-.7l.2-.2v-1.6h1v2.2l-.2.3v.2l-.2.3v.2l-.3.3-.2.2v.3l-.3.2-.2.2-.2.2-.3.2-.2.2-.2.2h-.2l-.2.2h-.2l-.3.2h-.2l-.2.2zm-6.5-5.8h1l.2.4.2.4v.2l.2.3.2.3v.3l.3.2.2.2.2.2v.2l.3.2.2.2.3.3.2.2.2.2h.2v.3h.3l.2.2h.7l.2.2h1.1v1H411l-.4-.2h-.2l-.3-.2h-.2l-.2-.3h-.3l-.2-.3-.4-.3-.2-.3-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.3v-.2l-.3-.2-.2-.2-.2-.3v-.3l-.2-.3v-.3l-.2-.2v-.7zm5-6.4v1h-.6l-.2.2h-.5l-.2.2h-.2l-.2.2-.2.2h-.2l-.2.3v.2l-.3.2-.2.3v.2h-.2v.3l-.2.2v.2l-.2.2v.7l-.2.2v1.7h-1V222h.2v-.4l.2-.3v-.2l.2-.2v-.2l.3-.3v-.2h.2l.2-.3.2-.2.2-.2.2-.2h.2l.2-.2h.3l.2-.3h.2l.2-.2h.6l.3-.2h.6z"/> + <path fill="#0c4076" d="M411.2 220.7c2 0 3.6 1.5 4 3.5.2 2-1 3.6-3 3.6a4 4 0 0 1-3.7-3.4c-.3-2 1-3.6 2.7-3.7"/> + <path fill="#21231e" d="m415.6 224-1 .3v-.4l-.2-.2v-.4h-.2v-.3l-.2-.2-.2-.3-.2-.2-.2-.2h-.2l-.2-.2-.2-.2h-.2l-.2-.2h-.6v-.2h-.6v-1h1l.2.2h.2l.3.2h.3v.2h.3l.2.3v.2h.3l.2.2.2.2.2.3.3.2v.4h.2v.3l.2.3v.4zm-3.3 4.3v-1h.7l.2-.2h.4v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.5l.2-.2v-1.1l1-.3v2h-.2v.3l-.2.3-.2.3-.2.2h-.2v.2l-.2.2h-.2v.2h-.3l-.2.2h-.4v.2h-1zm-4.3-3.8 1-.2v.5l.2.3v.4h.2v.2l.2.2.2.2.2.3.2.2.2.2h.3v.2h.4l.3.2h.8v1h-1.3l-.2-.2h-.2l-.3-.2h-.2v-.2h-.2v-.2l-.3-.2-.3-.2v-.2h-.2v-.3h-.3v-.3l-.2-.2v-.2h-.2v-.5l-.2-.2v-.5zm2.7-3.8h1l-.5.5h-.7l-.2.2h-.2v.2h-.2l-.2.2-.2.2-.2.2v.2h-.2v.5h-.2v1.3l-1 .3v-1.8h.2v-.5h.2v-.3h.2v-.3h.3v-.3h.3v-.2h.3v-.2h.3v-.2zl.2-.2h.4l-.5.5zm1 0v.5h-.5zm0 0h-1l.5-.5zm-1 0v-.5h.5z"/> + </g> + <path fill="#fff" d="M482 183c4 0 7 3 7 7s-3 6.7-7 6.7c-3.6 0-6.7-3-6.7-6.8 0-4 3-7 6.8-7z"/> + <path fill="#21231e" d="M489.5 189.8h-1c0-2.3-1.4-4.6-3.5-5.6a6 6 0 0 0-3-.7v-1q4.1.1 6.4 3.5a7 7 0 0 1 1 3.8zm-7.4 7.4v-1q4-.2 5.8-3.4a6 6 0 0 0 .7-3h1c0 2.6-1.5 5.2-3.7 6.5a7 7 0 0 1-3.7 1zM475 190h1a6.4 6.4 0 0 0 6.3 6.2v1a7 7 0 0 1-6-3.4 7 7 0 0 1-1.2-4zm7.3-7.5v1a6 6 0 0 0-5.5 3.5 6 6 0 0 0-.7 3h-1q.2-4.2 3.5-6.4a7 7 0 0 1 3.8-1z"/> + <path fill="#fff" d="M482 171c4 0 7 3 7 7a6.8 6.8 0 1 1-13.7-.2c0-3.7 3-6.7 6.8-6.7z"/> + <path fill="#21231e" d="M489.5 178h-1c0-2.4-1.4-4.7-3.6-5.8a6 6 0 0 0-3-.6v-1q4.1.1 6.4 3.4a7 7 0 0 1 1 4zm-7.4 7.3v-1c2.5 0 4.7-1.4 5.8-3.4a6 6 0 0 0 .7-3h1c0 2.5-1.5 5-3.7 6.4a7 7 0 0 1-3.7 1zM475 178h1a6.4 6.4 0 0 0 6.3 6.3v1a7 7 0 0 1-6-3.4 7 7 0 0 1-1.2-4zm7.3-7.4v1a6 6 0 0 0-5.5 3.5 6 6 0 0 0-.7 3h-1c0-2.6 1.4-5 3.5-6.3a7 7 0 0 1 3.8-1z"/> + <path fill="#fff" d="M482 159.6c4 0 7 3 7 7a6.8 6.8 0 1 1-13.7-.2c0-3.7 3-6.8 6.8-6.8z"/> + <path fill="#21231e" d="M489.5 166.5h-1c0-2.4-1.4-4.7-3.6-5.7a6 6 0 0 0-3-.7v-1c2.6 0 5 1.5 6.4 3.6a7 7 0 0 1 1 4zM482 174v-1c2.5 0 4.7-1.5 5.8-3.6q.6-1.5.7-3h1c0 2.6-1.4 5-3.5 6.4a7 7 0 0 1-4 1zm-7.2-7.5h1c0 2.4 1.4 4.7 3.6 5.7a6 6 0 0 0 2.7.7v1a7 7 0 0 1-6-3.6 7 7 0 0 1-1.2-4zm7.3-7.4v1a6 6 0 0 0-5.5 3.6 6 6 0 0 0-.7 3h-1c0-2.6 1.4-5 3.5-6.4a7 7 0 0 1 3.8-1z"/> + <path fill="#fff" d="M482 127c4 0 7 3.2 7 7s-3 6.8-7 6.8a7 7 0 0 1 .1-13.8z"/> + <path fill="#21231e" d="M489.5 134h-1c0-2.4-1.4-4.7-3.6-5.8a6 6 0 0 0-3-.6v-1q4.1.1 6.4 3.4a7 7 0 0 1 1 4zm-7.4 7.3v-1q4-.2 5.8-3.4a6 6 0 0 0 .7-3h1c0 2.5-1.5 5-3.7 6.3a7 7 0 0 1-3.7 1zM475 134h1c0 2.3 1.4 4.6 3.5 5.6a6 6 0 0 0 2.8.7v1a7 7 0 0 1-6-3.4 7 7 0 0 1-1.2-4zm7.3-7.4v1a6 6 0 0 0-5.5 3.5 6 6 0 0 0-.7 3h-1c0-2.6 1.4-5 3.5-6.3a7 7 0 0 1 3.8-1z"/> + <path fill="#fff" d="M482 137.2c4 0 7 3 7 6.8s-3 7-7 7c-3.6 0-6.7-3.2-6.7-7s3-6.8 6.8-6.8z"/> + <path fill="#21231e" d="M489.5 144h-1c0-2.3-1.4-4.6-3.5-5.7a6 6 0 0 0-3-.6v-1c2.7 0 5.2 1.4 6.5 3.6a7 7 0 0 1 1 3.7m-7.4 7.4v-1c2.5 0 4.7-1.4 5.8-3.4a6 6 0 0 0 .7-3h1c0 2.6-1.5 5-3.7 6.4a7 7 0 0 1-3.7 1zM475 144h1c0 2.4 1.4 4.7 3.5 5.7a6 6 0 0 0 2.8.7v1a7 7 0 0 1-6-3.5 7 7 0 0 1-1.2-4zm7.3-7.4v1a6 6 0 0 0-5.5 3.6q-.7 1.6-.7 2.8h-1c0-2.5 1.4-5 3.5-6.2a7 7 0 0 1 3.8-1.2z"/> + <path fill="#fff" d="M482 148.2c4 0 7 3 7 6.8s-3 7-7 7c-3.6 0-6.7-3.2-6.7-7s3-6.8 6.8-6.8z"/> + <path fill="#21231e" d="M489.5 155h-1c0-2.3-1.4-4.6-3.6-5.7a6 6 0 0 0-3-.6v-1q4.1.1 6.4 3.4a7 7 0 0 1 1 4zm-7.4 7.4v-1c2.5 0 4.7-1.4 5.8-3.4a6 6 0 0 0 .7-3h1c0 2.6-1.5 5-3.7 6.4a7 7 0 0 1-3.7 1zM475 155h1c0 2.4 1.4 4.7 3.5 5.7a6 6 0 0 0 2.8.7v1a7 7 0 0 1-6-3.4 7 7 0 0 1-1.2-4zm7.3-7.4v1a7 7 0 0 0-5.5 3.5 6 6 0 0 0-.7 3h-1c0-2.5 1.4-5 3.5-6.3a7 7 0 0 1 3.8-1z"/> + <path fill="#edb92e" d="M487 195.5c1 1.6.7 2 1.4 2.4q1.3.8 3.4.4c5.3-1 4.5 2.3 2.2 6-1 1.7-3.8 3.5-5.2 5s-1.6 2.8-2 3.2h-9.2c-.5-.4-.7-1.7-2-3.2-1.5-1.5-4.2-3.3-5.3-5-2.4-3.7-3-7 2.2-6q2 .4 3.4-.5c.6-.6.3-1 1.3-2.5a7 7 0 0 1 2.2-2.3c1-.5 1.8-.2 2.6-.2 1 0 2-.3 2.8.2a7 7 0 0 1 2.2 2.3z"/> + <path fill="#21231e" d="m488.7 197.5-.7.8-.2-.2h-.2v-.4h-.2v-.4h-.2v-.4l-.2-.2v-.2l-.2-.2-.2-.3v-.2l.8-.6v.2h.2v.3l.2.2v.2h.2v.4h.2v.4h.2v.4h.2zm-.7.8-.3-.3zm3.8-.4v1h-2.4l-.2-.2h-.2l-.2-.2h-.3l-.2-.2.7-1v.2h.2v.2h.8l.2.2h1.9zm2.6 6.6-.8-.6.2-.3.2-.3.2-.4.2-.3v-.3l.3-.3v-.2l.2-.2v-.6l.2-.2v-1.3l-.2-.2h-.2v-.2h-.5l-.2-.2h-2l-.2-1h2.8l.3.2h.2l.2.2.2.2.2.2.2.2v.3l.2.3v1.7l-.2.3v.3l-.3.2v.4l-.3.3v.2l-.3.4v.3l-.3.2-.3.4zm-5.3 5.2-.6-.7.3-.2v-.2h.3l.2-.3v-.2h.3l.2-.2h.2v-.3h.2l.2-.3.2-.2h.2l.2-.3h.2v-.3l.3-.2h.2l.2-.3v-.2l.2-.2.2-.2h.2v-.3h.3v-.4h.3v-.3h.2v-.3l1 .6-.2.2-.2.3v.3l-.2.2h-.2l-.2.3v.2l-.3.2-.3.3v.2h-.3l-.2.3-.2.2h-.2l-.2.3-.2.2-.3.3-.3.3h-.2v.3l-.3.2h-.2v.3l-.3.2h-.2v.3h-.2l-.2.3zm-2.3 3.3v-1l-.3.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2h.2v-.2l.2-.2.2-.3.3-.3.8.6v.2l-.2.2-.2.2-.2.3v.2h-.2v.2l-.2.2v.2l-.2.2v.2h-.2v.4h-.2v.2l-.2.2v.2h-.5zm.3 0h-.2zm-5 .2v-1h4.7v1h-4.5zm0-1h.2zm0 0v1zm-4.7.8.6-.8h-.4 4.2l.2 1h-4.7l-.3-.2zm.3 0h-.2zm-2.4-3.2.7-.7v.2l.2.2.2.3.2.3.2.2v.2h.2v.4h.2v.4h.2v.4h.2v.4h.2v.2l-.5.8-.2-.2v-.2l-.2-.2v-.2h-.2v-.4h-.2v-.4l-.2-.2v-.2h-.2v-.2l-.2-.3-.2-.2-.2-.3-.2-.2zm-5.4-5.2 1-.6v.2l.2.3h.2v.3l.2.2h.2v.3h.3v.3l.2.2h.2l.2.3.2.2v.2l.3.2h.3l.2.3h.2l.2.2v.2h.2l.2.3h.2l.2.3h.2v.3l.3.2h.2v.3h.3v.3l-.6.8-.2-.2-.3-.3-.3-.2-.3-.2v-.2l-.2-.2h-.2l-.2-.3h-.2l-.2-.2h-.2v-.3l-.3-.2h-.2l-.2-.3v-.2h-.3l-.2-.3v-.2h-.3l-.2-.3v-.2l-.3-.2h-.2v-.3l-.3-.2-.2-.2-.2-.2zm2.7-6.7v1l-.6-.2h-2.1l-.2.2h-.2v.2h-.2v.4l-.2.2v1.1l.2.2v.3l.2.3v.2l.2.3.2.4v.3l.3.3.3.4.2.3.2.3-1 .6v-.4l-.3-.3-.2-.4-.2-.4v-.3l-.3-.4v-.4l-.3-.3v-.4l-.2-.3v-.6l-.2-.3v-1l.2-.2v-.2l.3-.2.2-.2.2-.2.4-.2h.3l.3-.2zm3-.5.8.8-.2.2h-.2l-.2.2h-.4l-.2.2h-3v-1h2.5l.2-.2h.4v-.2zm1.4-2.3.7.6v.3l-.2.2v.2h-.2v.4h-.2v.8h-.2v.2h-.2v.2l-.2.2-.8-.7h.2v-.4h.2v-.4h.2v-.2l.2-.2v-.4h.2v-.3h.2v-.3zm0 0 .2-.4zm2.3-2.4.5.8-.2.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2v.2h-.2v.2l-.2.2-.2.2v.2l-1-.6.2-.2.2-.2v-.2h.2v-.2l.2-.2h.2v-.2l.2-.2.2-.2h.2v-.2l.2-.2h.2v-.2h.2zm2.8-.3v1h-2.4l-.5-.7h.2v-.2h.4l.2-.2zm3 .3-.5.8h-.4v-.2H482v-1h2.5l.2.2h.2zm0 0 .3.2zm2 3.2v-1l-.4.8-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2v-.2l.4-.8h.2l.2.2.2.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2h.2v.2zm.4-.8.5.8h-1zm-.4-.2v1l-.4-.2zm-.4.8-.5-.8h1l-.4.8z"/> + <path fill="#21231e" d="m481.4 212.8-1-.2q-.7-5.6-4.3-9.6c2.8 1.8 4.8 5.7 5.4 9.8z"/> + <path fill="#edb92e" d="M494.2 198.3q-.6 1.7-2 3.5c-1.5 1.6-4 .5-6.5-1.6q-1.4-1-3.6-1a6 6 0 0 0-3.4 1c-2.5 2-5 3.2-6.6 1.6q-1.4-1.7-2-3.5h2.5q2 .6 3.4-.4c.6-.6.3-1 1.3-2.5a7 7 0 0 1 2.2-2.3c1-.5 1.7-.2 2.6-.2s2-.3 2.8.2q1.2.8 2.2 2.3c1 1.6.7 2 1.3 2.4q1.5.8 3.5.4 1.5-.3 2.4 0z"/> + <path fill="#21231e" d="m492.6 202-.7-.6v-.2l.2-.2.2-.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.3v-.4l1 .5v.4l-.2.2v.2l-.2.2v.4h-.2v.2l-.2.2v.3h-.2v.2h-.2v.2h-.2v.3l-.2.2-.2.2h-.2zm-7.3-1.4.7-.7h.2l.2.2.3.2.2.2.3.3h.3l.2.2h.2l.2.2h.2l.2.2h.2l.2.2h.4l.2.2h1.6l.2-.2.2-.2h.2v-.2l.8.7-.2.3h-.2v.3h-.3l-.3.2h-.3l-.2.2h-1.9l-.3-.2h-.3l-.2-.2h-.3l-.2-.2h-.3l-.2-.2-.2-.2h-.3l-.2-.3h-.3l-.2-.3-.2-.2-.2-.2-.2-.2-.3-.2zm.7-.7.5.3zm-4-.2v-1h2v.2h.7v.2h.4l.2.2h.2l.2.2h.2v.2h.2l-.7.8h-.2v-.2h-.2v-.2h-1v-.2h-1v-.2zm-3 .8-.7-.7v-.2h.2l.2-.2h.2v-.2h.2l.2-.2h.5v-.2h1.2v-.2h1v1h-1.5v.2h-.5l-.2.2h-.4v.2h-.2zm-7.3 1.5.7-.6.3.2.2.2h.2v.2h1.7v-.2h.5l.2-.2h.2v-.2h.3l.2-.2.2-.2h.3l.2-.3h.2l.2-.3.3-.2v-.2h.3l.7.6-.3.2-.2.2-.3.2-.2.2-.2.2h-.3l-.2.3h-.3l-.2.2h-.2l-.3.2h-.2l-.2.2h-.2l-.2.2h-.3l-.3.2H473l-.4-.2h-.2l-.2-.2-.2-.2zm-1.7-4 .2 1 .3-.7v.2l.2.2v.3l.2.2v.4l.2.2v.2h.2v.4h.2v.4h.2v.2h.2v.2h.2v.2l.2.2-.7.7h-.2v-.2h-.2v-.2h-.2v-.5h-.2v-.2h-.2v-.3l-.2-.2v-.2h-.2v-.4h-.2v-.4l-.2-.2v-.4h-.2l.4-.8zm-.4.7-.2-.6.6-.2zm3-.6-.2 1-.2-.2H470l-.2-1h2.4zm3-.5.7.8-.2.2h-.2l-.2.2h-.4l-.2.2h-2.8v-1h2.3l.2-.2h.4v-.2h.2zm.7.8-.5.4zm.6-3 .7.5v.3l-.2.2v.2h-.2v.4h-.2v.8h-.2v.2h-.2v.2l-.2.2-.8-.7h.2v-.4h.2v-.4h.2v-.2l.2-.2v-.4h.2v-.3h.2zm2.3-2.5.5.8-.2.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2v.2h-.2v.2l-.2.2-.2.2v.2l-1-.6.2-.2.2-.2v-.2h.2v-.2l.2-.2h.2v-.2l.2-.2.2-.2h.2v-.2l.2-.2h.2v-.2h.2zm2.8-.3v1h-2.3l-.5-.7h.2v-.2h.4l.2-.2zm3 .3-.5.8h-.4v-.2H482v-1h2.5l.2.2h.2zm0 0 .3.2zm2.4 2.4-.8.6-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.2-.2-.2v-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2v-.2l.4-.8h.2l.2.2.2.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2h.2zm1.3 2.3-.7.8-.2-.2h-.2v-.4h-.2v-.4h-.2v-.4l-.2-.2v-.2l-.2-.2-.2-.3v-.2l.8-.6v.2h.2v.3l.2.2v.2h.2v.4h.2v.4h.2v.4h.2zm-.7.8-.3-.3zm3.8-.4v1h-2.4l-.2-.2h-.2l-.2-.2h-.4v-.2h-.2l.7-1v.2h.2v.2h.8l.2.2h1.9zm3 .5-1-.4.3.8H492l-.2-1h2.4l.5.7zm-.5-.7h.6l-.3.7zm0 .5.4.2zm0-.5h.6l-.3.7z"/> + <path fill="#edb92e" d="M482 211.7c4.4 0 8 3.4 8 7.7s-3.6 7.8-8 7.8-7.6-3.5-7.6-7.8 3.5-7.8 7.7-7.8z"/> + <path fill="#21231e" d="m483 212.8.8-.2q.8-5.6 4.3-9.6a15 15 0 0 0-5 9.8z"/> + <use xlink:href="#rs-b" width="1350" height="900" transform="matrix(-1 0 0 1 964.3 0)"/> + <path fill="#edb92e" stroke="#21231e" d="M577 293.6c2 .3 3 1.5 3 2.8s-1 2.6-3 3l-1.6.2c-60.8 5.2-125.7 5.2-186.5 0l-1.6-.3c-2-.3-3-1.6-3-3 0-1.2 1-2.4 3-2.7l1.5-.3c60.7-5.2 125.6-5.2 186.4 0q.8 0 1.5.3z"/> + <path fill="#21231e" d="M412 298.4h-.2v-.2h-.2v-1h.4v-.2.2-.2h2.3l.7-.2h3l.7-.2h3l.7-.2h3l.8-.2h3.3l.7-.2h3.8l.7-.2h.8v1.2h-2.9l-.7.2H428l-.7.2h-2.7l-.8.2H421l.7.2h3.7l.7.2h2.9l.7.2h3.7l.7.2h1.5v1.2h-3.7l-.7-.2h-3.8l-.7-.2h-2.9l-.7-.2H420l-.6-.2h-2.9l-.7-.2H413zv-.2zm46.8-3.3v1.3H453l-.7.2h-6.6l-.7.2h-5l-1 .2h-3.5v-1.2h3.5l.8-.2h5.2l.7-.2h5.9l.7-.2h6.8zm23.3 0v1h-13.7l-.7.2h-8.8v-1h1.4l.8-.2H482zm23.5 0v1.3h-11.1l-.7-.2H482v-1zm23.3 1v1h-5.2l-.8-.2h-5.2l-.7-.2h-6.5l-.8-.2h-4.3V295h.7l.7.2h7.5l.8.2h5l.8.2h5.1l.6.2h2.3zm23.4 1v.2h.4v1h-.2l-.2.2h-3l-.7.2h-2.2l-.7.2h-3.8l-.8.2h-2.8l-.7.2H534l-.8.2h-3.6l-.8.2v-1.2h2.2l.7-.2h3.7l.8-.2h3.7l.7-.2h1.8-1.4l-.8-.2h-2.7l-.7-.2H533l-.6-.2h-3.6V296h6.5l.7.2h3l.8.2h2.8l.7.2h3l.7.2h3l.7.2h1.5zm-116.7 1.4h.2l.2.2v.8h-.2v.2h-.2zm93.3 1.2h-.2l-.2-.2v-.2h-.2v-.8h.2v-.2h.4v1.2zm-50.3-36.2v-1h3.8v1h-4zm-1.2-1h1.2v1h-1.2zm-.6 0h.6v1h-.6zm-1 0h1v1h-1zm-.8 0h.6v1h-.7v-1zm-.5 0h.4v1h-.5v-1zm-.8 0h.8v1h-.8zm-1.2 0h1.2v1h-1.2zm-1 0h1v1h-1zm-.2 0h.2v1h-.2zm-1 0h1v1h-1zm-2.5 1v-1h2.6v1zm-.3-1h.2v1h-.2zm-.2 0h.2v1h-.2zm-1 0h1v1h-1zm-.5 0h.4v1h-.4zm-.4 0h.4v1h-.4zm-1.2 0h1.2v1h-1.2zm0 0v1zm0 1h-.2zm-1.2-1h1.2v1l-1.2.2v-1zm-.4 0h.4v1.2h-.4v-1zm-.8.2h.8v1h-.8zm0 0h.3-.2zm-.3 0h.3v1h-.3zm0 1h-.5zm-1-1h1v1h-1zm-1 0h1v1h-1zm-.2 0v1zm-1 0h1v1h-1zm-.6 0h.5v1h-.4v-1zm0 0v1zm-4.2 1.2v-1h3.5v-.2h.4v1h-2.7l-.2.2h-.8zm-.6-1h.5v1h-.6v-1zm-1.7 0h1.6v1h-1.7zm-.2 0h.3v1h-.2v-1zm-1.3 0h1.4v1h-1.3zm-1 0h1v1h-1zm-.6 0h.7v1h-.6zm0 0v1.2-1zm-1.6.2h1.5v1h-1.5zm0 0v1zm-1.2 0h1.2v1h-1.2zm0 0v1zm-1.2 0h1l.2 1H444v-1zm-.8 0h.8v1h-.7zm-1.6.2h1.6v1h-1.5zm0 0v1zm-6.2 1.3v-1h1.7l.2-.2h3.9v1H436l-.2.2zm-.4-1h.3v1h-.2zm-9 1.4v-1h1.3l.3-.2h3.2l.3-.2h3.5v1h-5.1l-.3.2H426zm-.3-1h.2v1h-.3v-1zm-.5 0h.5v1h-.4zm-18.2 2.2v-1h1.8l.5-.2h1.7l.5-.2h2.4l.6-.2h2.6l.6-.2h2.2l.6-.2h2.8l.6-.2h1.2v1h-2.1l-.6.2h-2.7l-.6.2h-2.3l-.6.2h-2.8l-.6.2h-2.2l-.5.2H408l-.6.2h-.6zm-.3-1h.3v1h-.2zm0 0v1zm-26.3 3.4v-1h.7l1-.2h.8l.8-.2h1.6l.8-.2h1l.7-.2h1.6l.8-.2h1.8l.8-.2h.8l1-.2h1.7l.7-.2h1.7l.8-.2h1.8l.7-.2h1.6l1-.2h1.5l1-.2v1H405l-.7.2h-1.7l-.8.2H400l-.7.2h-.8l-1 .2H396l-.8.2h-1.7l-.8.2H391l-.8.2h-.8l-.8.2H387l-1 .2h-.7l-.8.2H383l-1 .2h-.8l-.8.2zm0-7v1h-.5l-.5.2h-.5l-.3.2-.4.2-.3.2h-.2l-.3.3-.2.2-.3.3v.5l-.2.2v1.1h.2v.3l.2.2.2.2.3.3.3.2h.2l.3.2h.3l.4.2h1v1h-1.6l-.4-.2-.4-.2-.3-.2-.3-.2-.3-.2-.4-.2-.2-.3-.2-.2v-.3l-.3-.3-.2-.3v-1.6l.2-.3.2-.3.2-.4.2-.3.2-.3.4-.3.3-.2.4-.2.3-.2h.4l.5-.2h.6l.5-.2zm26.3-2.3v1H405l-.7.2h-1.7l-.8.2H400l-.7.2H396l-.8.2h-1l-.7.2H392l-1 .2h-1.6l-.8.2h-.8l-.8.2h-1.7l-.8.2h-.8l-.8.2H381l-.8.2v-1h1.7l.8-.2h.8l.8-.2h.8l.8-.2h1.7l.8-.2h1.6l1-.2h.8l.8-.2h1.8l.7-.2h1.7l1-.2h.7l.8-.2h1.8l.7-.2h1.6l1-.2h2.5zm0 1v-1zm37-3.2v1.2H439l-1 .2h-2.3l-1.3.2H431l-1.2.2h-2.2l-1.3.2H424l-1.2.2h-2.3l-1 .2H417l-1.2.2h-1.2l-1 .2h-2.3l-1.3.2h-1l-1.2.2h-1.2v-1h2.2l1.2-.2h1l1.2-.2h2.2l1.3-.2h1l1.2-.2h2.3l1-.2h2.3l1.3-.2h2.4l1.2-.2h2.3l1-.2h3.5l1.2-.2h3.5l1-.2h2.5zm1 1-1 .2v-1h1v1zm.2 0h-.3v-1l.2 1zm.2 0h-.3l-.2-1h.4v1zm1.2 0h-1.2v-1h1.2zm0 0v-1zm15.4-1.4v1h-5.5l-.5.2h-6.5l-.4.2h-2.6v-1h5l.5-.2h7.7l.5-.2zm.8 1h-.8v-1h.8zm0 0v-1zm1.4 0h-1.4v-1h1.4zm.2 0h-.2v-1h.2zm0 0h-.2zm0 0v-1zm1.2 0h-1.2v-1h1.2zm.5 0h-.6v-1h.4v1zm.6 0h-.7l-.2-1h.8zm1 0h-1v-1h1zm.2 0h-.3v-1h.2v1zm.4 0h-.4v-1h.4zm3-1 .2 1H468v-1h3.3zm1.2 1h-1v-1l1-.2v1zm0 0v-1.2 1zm1.3-.2h-1.2v-1h1.2zm3.5-1v1h-3.5v-1zm0 1v-1zm1.3 0h-1.2v-1h1.2zm3.6-1v1h-3.5v-1h3.7zm3.8 0v1H482v-1zm1 1h-1v-1h1.2v1zm.2 0v-1zm3.6-1v1H487v-1h4zm1 1h-1v-1h1.2v1zm.2 0v-1zm1 0h-1v-1h1zm3.3-1v1H493v-1h3zm.5 1h-.4v-1h.5zm.3 0h-.3v-1h.3zm1 0h-1v-1h1zm.6 0h-.7v-1h.8zm.5.2h-.6v-1h.5v1zm1 0h-1v-1h1zm0 0v-1zm0 0h.3zm.3 0h-.2v-1h.3zm1.3 0h-1.3v-1h1.4zm0 0v-1zm0 0h.2zm1 0h-1v-1h1zm15.2-.6v1h-6l-.4-.2H504l-.6-.2h-.9v-1h6l.4.2h6.6l.4.2h1.7zm0 1v-1zm1.3 0h-1v-1h1zm.4 0h-.3v-1h.5v1zm.2 0h-.2v-1h.2zm1 .2h-1v-1h1zm37 1v1h-2.3l-1.2-.2h-1l-1.2-.2h-2.2l-1.3-.2H546l-1-.2h-1.3l-1-.2h-2.3l-1.3-.2H537l-1-.2h-4l-1-.2h-2.6l-1-.2H524l-1-.2h-2.4v-1h4.7l1.2.2h3.3l1.3.2h2.3l1.3.2h2.3l1 .2h2.4l1 .2h2.3l1.3.2h2.3l1 .2h2.3l1.2.2h1.2l1 .2h1.3l1 .2h1.3zm0 1v-1zm26.4 1.4v1H582l-.8-.2h-.8l-.8-.2H578l-.7-.2h-.8l-.8-.2H574l-.8-.2h-.8l-.8-.2h-1.8l-.7-.2h-1.5l-.8-.2H565l-.8-.2h-1.7l-.8-.2H560l-.8-.2h-1.6v-1h3.5l.8.2h1.6l1 .2h1.7l.7.2h1.7l.8.2h1.8l.7.2h.8l.8.2h1.8l.8.2h.8l.8.2h1.8l.7.2h.7l.8.2h1.8zm0 7v-1h1.6l.3-.2h.3l.3-.2.2-.2.2-.2h.2v-.3l.2-.2v-.2h.2v-1.4l-.2-.3v-.2h-.3l-.2-.3-.3-.2h-.2l-.3-.3-.4-.2h-.4l-.4-.2h-.4l-.5-.2v-1h.5l.6.2h.5l.5.3.4.3.4.2.3.2.4.3.3.3.2.3v.3l.3.2v.3l.2.3v1.3l-.3.3v.3l-.3.3-.3.4-.3.2-.3.2-.2.2-.3.2-.4.2h-.3l-.4.2H584zm-26.5-2.4v-1h1.8l.8.2h1.8l.8.2h1.8l.7.2h1.7l1 .2h.7l.8.2h1.8l.7.2h1.6l.8.2h1l.8.2h1.6l.8.2h1l.7.2h1.5l.8.2h1l.7.2v1h-1l-.8-.2h-1.6l-.8-.2h-.8l-.8-.2h-1.7l-.8-.2h-.8l-1-.2h-1.6l-.8-.2h-.8l-1-.2h-1.4l-.8-.2H566l-.7-.2h-1.6l-1-.2H561l-1-.2h-1.6zm0-1v1zm-.2 0h.3v1h-.4v-1zM539 265v-1h2.9l.5.2h3l.5.2h2.3l.6.2h2.2l.6.2h2.3l.5.2h2.4l.5.2v1h-1.7l-.5-.2h-2.3l-.6-.2H550l-.7-.2H547l-.6-.2h-2.9l-.6-.2H540l-.6-.2h-.6zm-.4-1h.5v1h-.4v-1zm-.2 0h.2v1h-.2zm-9.2.5v-1h4l.3.2h3.2l.3.2h1.3v1h-1.6l-.3-.2H533l-.4-.2h-3.3zm-.3-1h.2v1h-.3zm-6.4.7v-1h4.5l.2.2h1.7v1h-4.4l-.2-.2h-1.7zm0-1v1zm-1.5 0h1.7v1H521zm-.7 0h.8v1h-.7zm-1-.2h1v1H519zm-.2 0h.2v1-1zm-1 0h1v1h-1zm-.2 0v1zm-1.4 0h1.4v1h-1.4zm-.2 0h.2v1h-.2zm-.6 0h.6v1h-.7v-1zm-1 0h1v1h-1zm-1.4-.2h1.4v1h-1.4zm-.2 0h.2v1h-.2zm-1.6 0h1.6v1h-1.6zm-.6 0h.6v1h-.6zm-4.2 1v-1.2h3.3l.2.2h.8v1zm0-1.2v1zm-.5 0h.6v1h-.5zm-1 0h1v1h-1zm0 0v1zm-1.3 0h1.2v1h-1.3v-1zm-1 0h1v1h-1zm0 1h.6zm-.2-1h.3v1h-.3zm0 0h-.3zm-.8 0h.8v1h-.8zm-.4 0h.4v1h-.4zm-1.2 0h1.3v1H500v-1zm0 1h.2zm0-1v1zm-1 0h1v1h-1zm-.5 0h.4v1h-.6v-1zm-.4 0h.5v1h-.4zm-1 0h1v1h-1zm-.2 0h.2v1h-.2zm-.3 0h.3v1h-.3zm-2.6.8v-1h2.3v1H494zm-1-1h1v1h-1zm-.2 0h.2v1h-.2zm-1 0h1v1h-1zm-1.2 0h1.2v1h-1.3v-1zm-.8 0h.8v1h-.8zm-.4 0h.4v1h-.5v-1zm-.7 0h.7v1h-.7zm-1 0h1v1h-1zm-.7 0h.6v1h-.6zm-1.2 0h1.2v1H486v-1zm-3.7 1v-1h3.9v1h-4.1zm.4 1.8L460 276.6l-.4-1 22.7-11.3h.4v1zm-.5-1h.4-.5zm22.7 12.4-23-11.4.4-1 22.7 11.5v1h-.3zm.4-1 1 .6-1 .4zm-23 11.6 22.7-11.5.4 1-22.6 11.4h-.5v-.8zm.4 1h-.3zM460 275.7l22.8 11.5-.5 1-22.8-11.6v-1h.4zm-.4 1-1-.5 1-.5z"/> + <path fill="#0c4076" d="M482 269c5.8 0 10.4 3.2 10.4 7s-4.6 7-10.3 7-10-3.2-10-7 4.5-7 10-7z"/> + <path fill="#21231e" d="M493 276h-1v-.3l-.2-.3v-.5l-.2-.3v-.3l-.3-.3-.2-.4v-.3l-.3-.2-.2-.2-.2-.3-.3-.2-.3-.3-.3-.2-.3-.2-.2-.2-.4-.2-.4-.2-.3-.2-.4-.2h-.5l-.4-.3h-.4l-.5-.2h-.8l-.5-.2h-1.9v-1.2h1.7l.6.2h.5l.5.2h.5l.5.2h.4l.5.3.4.2.5.2h.5l.4.3.3.2.4.2.3.3.4.3.3.2.3.3.3.3.2.4.3.3.2.4.2.4.2.4v.3l.2.5v.4l.2.2v.8zm-11 7.4v-1h1.6l.5-.2h1.1l.5-.2h.5l.4-.3h.4l.5-.3h.4l.3-.3h.4l.4-.3.3-.2.4-.3.3-.2.3-.2.3-.3.2-.3.2-.2.3-.3v-.3l.3-.3h.2v-.4l.2-.3v-.7l.2-.3v-.3h1v.4l-.2.4v.4l-.2.4v.3l-.2.3-.2.3-.2.4-.2.3-.3.3-.2.3-.3.2-.3.3-.3.3-.4.3-.3.3-.4.2-.4.3-.5.2-.4.2-.4.2h-.4l-.5.3h-.4l-.5.3h-.5l-.5.2h-1.1l-.5.2zm-10.6-7.4h1v1l.2.3v.3l.2.2.2.3v.4l.3.3.2.3.3.2.2.3.3.3.3.2.3.2.2.3.3.2.4.2h.2l.4.3h.4l.4.3h.5l.3.3h.9l.5.2h1.5l.6.2h.5v1h-1.9l-.5-.2h-.5l-.5-.2-.5-.2h-.4l-.5-.3h-.4l-.4-.3-.4-.2-.4-.2-.4-.3-.4-.2-.3-.2-.4-.2-.4-.3-.3-.3-.3-.3-.2-.4-.3-.3-.2-.3-.2-.4v-.3l-.2-.4-.2-.4v-.8l-.2-.4v-.4zm10.7-7.4v1h-1.3l-.5.2h-.3l-.5.2h-.5l-.4.2h-.4l-.6.3h-.4l-.4.3-.4.2-.3.2-.5.2-.3.2-.3.2-.4.2-.3.3-.3.2-.2.3-.3.3-.2.3-.2.3v.3l-.2.2v.3l-.2.3v.7l-.2.3v.3h-1V275l.2-.5.2-.4v-.2l.3-.4.3-.3.2-.3.3-.3.2-.3.3-.2.3-.3.3-.2.3-.3.3-.3.4-.2.4-.2.4-.2h.4l.4-.3.5-.2.5-.2h.5l.5-.2h1l.5-.2h1.1l.6-.2h.5z"/> + <path fill="#edb92e" d="M482 211.7c4.4 0 8 3.4 8 7.7s-3.6 7.8-8 7.8-7.6-3.5-7.6-7.8 3.5-7.8 7.7-7.8z"/> + <path fill="#21231e" d="M490.4 219.4h-1v-1l-.2-.3v-.4l-.2-.3v-.4l-.2-.4v-.3l-.3-.3-.2-.3-.2-.3v-.3l-.3-.2-.2-.3-.2-.2-.3-.2-.3-.2-.2-.2-.3-.2-.3-.2-.4-.2h-.3l-.3-.3h-.4l-.3-.2h-.4l-.4-.2H482V211l.6.2h1.2l.4.2h.4l.4.2.3.2.4.2h.4l.4.3.3.3.4.2.4.2.3.3.3.3.2.3.3.2.2.3.3.3.2.3.2.5.2.3v.4l.3.4v.8l.2.4v.8l.2.4zm-8.3 8.3v-1h1.5l.3-.2h.3l.3-.2.4-.2h.3l.3-.2h.3l.2-.3.3-.2.2-.2.3-.2.3-.2.2-.3.2-.2.2-.2v-.3l.3-.3.2-.3.2-.4v-.3l.2-.4v-.7l.2-.4v-.8l.2-.4v-.4h1v1.2l-.2.4v.5l-.2.4v.3l-.3.4v.3l-.3.4-.2.3-.2.4-.3.4-.2.3-.3.3-.2.3-.3.3-.3.2-.3.3-.3.3-.3.2-.3.2-.3.2h-.4l-.3.2-.4.2h-.4l-.4.2H482zm-8-8.3h1v1.8l.2.3.2.3v.3l.2.3.2.3.2.2.2.3.2.3.2.3.2.3.2.3.3.2.2.3.3.3.3.2.4.2h.3l.3.3h.3l.4.3h.3l.3.2h.7l.4.2h.7v1h-1.6l-.4-.2h-.3l-.4-.3h-.4l-.4-.3-.4-.3-.3-.2-.5-.2-.3-.2-.3-.2-.4-.2-.3-.3-.3-.3-.2-.3-.3-.3-.2-.3-.2-.3v-.3l-.3-.4v-.3l-.3-.4v-.4l-.2-.5v-.4l-.2-.3zm8-8.3v1.2h-1.3l-.4.2h-.3l-.3.2h-.4l-.3.3h-.3l-.3.2-.3.2-.2.2-.3.2-.2.3-.3.3-.2.2-.2.3-.2.3-.2.4-.2.3-.2.3-.2.3v.3l-.2.3-.2.3v.7l-.2.3v1.1h-1v-1.6l.2-.4v-.4l.2-.4.2-.4v-.4l.3-.3v-.4l.3-.2.2-.3.3-.3.2-.3.3-.4.3-.3.3-.3.2-.2.3-.2.4-.3.2-.2h.4l.3-.2.3-.2h.4l.4-.2h.5l.4-.2h1.1z"/> + <path fill="#edb92e" d="M482 213.7c3.3 0 5.8 2.6 5.8 5.7 0 3.2-2.5 5.8-5.7 5.8-3 0-5.5-2.6-5.5-5.8 0-3 2.5-5.7 5.6-5.7z"/> + <path fill="#21231e" d="M488.3 219.4h-1V218h-.2v-.7l-.2-.2v-.2l-.2-.3-.2-.2v-.2l-.3-.2-.2-.2-.2-.2-.2-.2h-.2l-.2-.3h-.4l-.2-.3h-.2l-.3-.2h-.6l-.2-.2H482v-1h1.8l.3.2h.3l.2.2h.3l.3.3h.4l.2.3h.2l.3.3.3.2.2.2.2.2.2.3v.2l.3.3v.2l.3.3v.2l.2.3.2.3v.6l.2.2v1.3zm-6.2 6.3v-1h1.1l.2-.2h.3l.2-.2h.2l.2-.2h.4l.2-.2.2-.2h.2l.2-.3.2-.2h.2v-.2l.3-.2v-.2l.3-.3.2-.3v-.2l.2-.3v-.2l.2-.3v-1.3h1v2l-.2.3-.2.3-.2.4-.2.3v.2l-.3.2v.2l-.3.2-.2.3h-.2l-.2.3h-.2l-.2.3-.3.2h-.2l-.2.3-.3.2h-.2l-.3.2h-.3l-.3.2h-1.4zm-6-6.3h1v1.3l.2.3v.2l.2.3v.2l.2.2.2.4.2.2v.2h.3l.2.3.2.3v.2h.3l.2.3h.3l.2.2h.2v.2h.4l.2.2h.2l.3.2h.9v1h-1.5l-.3-.2h-.3l-.3-.2h-.2l-.3-.3-.3-.2-.3-.2-.3-.2h-.2l-.2-.3h-.2l-.2-.4-.2-.2-.2-.2-.2-.3-.2-.3v-.3l-.2-.3h-.2v-.4l-.2-.3v-.6l-.2-.3v-.9zm6-6.2v1H481l-.2.2h-.4l-.3.2-.3.3h-.5l-.2.3h-.2v.3l-.3.2h-.2l-.2.3v.3l-.2.2v.2l-.2.3v.2l-.2.2v.2l-.2.3v.4l-.2.2v.7h-1V218l.2-.4v-.3l.2-.3.2-.3v-.2l.2-.3.2-.2.2-.3.2-.2.2-.3.2-.2.2-.2.2-.2.2-.2h.3l.2-.3h.2l.3-.2h.2l.3-.2h.3l.3-.2h.5l.3-.2h.6z"/> + <path fill="#0c4076" d="M482 215.8c2 0 3.7 1.6 3.7 3.6S484 223 482 223c-1.8 0-3.4-1.6-3.4-3.6s1.6-3.6 3.5-3.6z"/> + <path fill="#21231e" d="M486.2 219.4h-1v-.8h-.2v-.3l-.2-.2v-.2l-.2-.2-.2-.2-.2-.3h-.2l-.3-.2h-.2l-.2-.2h-.2v-.2H482v-1h1.4v.2h.5v.2h.3v.2h.3v.3h.3v.2l.2.2.2.3.2.3v.2l.2.2.2.3v.4l.2.2v.6zm-4 4.2v-1h.6v-.2h.5l.3-.2h.2l.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.4h.2v-1h1v1l-.2.2v.2l-.2.2v.2l-.2.2-.2.3-.2.2-.2.2-.3.2-.3.3h-.3l-.3.2-.3.2h-1l-.3.2zm-4-4.2h1v1.3l.2.2v.2l.2.2.2.2.2.2.2.2.2.2h.2v.2h.4l.2.2h.8v1.2h-.7l-.2-.2h-.3v-.2h-.5l-.2-.2-.3-.3h-.2v-.2l-.2-.2h-.2v-.2l-.2-.3-.2-.3v-.2l-.2-.2-.2-.3v-1.4zm4-4v1h-1l-.2.2h-.2l-.2.2h-.2v.2h-.2l-.2.3-.2.2-.2.2-.2.3v.4h-.2v1h-1V218l.2-.2.2-.3v-.2l.2-.2.2-.2.3-.3.2-.2.2-.2h.2l.2-.2h.2l.2-.2h.3l.3-.2h.9z"/> + </g> + <path fill="#c6363c" d="M314.6 301.2v271.3c0 48.5 18.8 92.6 49.2 124.6A163 163 0 0 0 482 749a163 163 0 0 0 118.5-51.7c30.4-32 49.2-76 49.2-124.5V301.2h-335z"/> + <path fill="#fff" d="M313.4 300v277l.2 4.6.3 4.5.3 4.6.5 4.4.5 4.5.7 4.3.8 4.4 1 4.3 1 4.2 1 4.3 1.2 4.2 1.3 4 1.4 4.2 1.4 4 1.7 4 1.6 4 1.8 4 2 3.8 1.8 3.8 2 3.7 2 3.7 2.2 3.6 2.2 3.6 2.4 3.5 2.4 3.6 2.4 3.4 2.6 3.3 2.6 3.2 2.7 3.2 2.8 3 3 3.2 1.6-1.7-2.8-3-2.7-3-2.6-3.3-2.5-3.2-2.7-3.3-2.4-3.3-2.5-3.4-2.2-3.5-2.3-3.5-2-3.6-2-3.6-2-3.7-2-4-1.8-3.7-1.7-3.8-1.6-4-1.7-4-1.4-4-1.5-4-1.2-4-1.2-4.2-1-4-1-4.3-.8-4.3-.8-4.3-.7-4.3-.6-4.2-.4-4.5-.4-4.4-.2-4.5-.2-4.5V302.5h332.7V577l-.2 4.5-.3 4.4-.3 4.3-.5 4.5-.6 4.3-.7 4.4-1 4.3-.8 4.3-1 4.2-1 4-1.2 4.3-1.3 4-1.3 4-1.4 4-1.6 4-1.6 4-1.7 3.8-1.7 3.8-2 4-2 3.6-2 3.6-2 3.6-2.3 3.5-2.3 3.5-2.3 3.4-2.5 3.3-2.6 3.3-2.6 3.2-2.6 3.2-2.7 3-2.8 3-3 3-2.8 3-3 2.7-3 2.6-3.3 2.6-3 2.6-3.4 2.4-3.3 2.5-3.3 2.3-3.4 2.2-3.5 2.2-3.5 2-3.5 2-3.6 2-3.7 1.7-3.7 1.8-3.8 1.7-3.8 1.5-3.8 1.4-4 1.3-3.8 1.3-4 1-4 1-4 1-4 1-4.2.6-4 .6-4.3.5-4 .4-4.3.4-4.3.2H482v2.4h4.5l4.3-.2 4.3-.3 4.4-.4 4.2-.4 4.2-.6 4.2-.8 4-.8 4.2-1 4-1 4-1.2 4-1.2 4-1.4 4-1.4 3.8-1.6 3.7-1.6 3.8-1.7 3.7-2 3.7-1.8 3.5-2 3.5-2 3.6-2.3 3.4-2.2 3.4-2.4 3.3-2.5 3.3-2.4 3.2-2.6 3.2-2.7 3-2.7 3-2.8 3-3 3-3 2.8-3 2.8-3 2.7-3.3 2.6-3.2 2.5-3.3 2.5-3.4 2.4-3.5 2.3-3.4 2.3-3.6 2-3.6 2.2-3.7 2-3.7 2-3.8 1.7-4 1.8-3.8 1.6-4 1.6-4 1.4-4 1.4-4 1.3-4.2 1.2-4.2 1-4.3 1-4.2 1-4.3.7-4.4.7-4.3.5-4.5.5-4.4.4-4.5.3-4.4V577l.2-4.5V300z"/> + <g fill="#fff" stroke="#21231e"> + <path d="M483.7 734.8c1.4-.2 4 0 5.7-1.4 2.5-2 1.5-9.8 1.3-14.8q-1.5-38-3.5-128-3-.2-5 .2a12 12 0 0 0-5 0q-2 89.8-3.6 127.8c-.2 5-1.2 13 1.3 14.8 1.7 1.5 4.2 1 5.6 1.4h3z"/> + <path d="M499.6 734c-1.5 0-4 .5-6-.8-2.6-1.7-2.8-9.7-3-14.7a6148 6148 0 0 0-7.6-127.6q3-.8 5-.5.4 0 .7-.2c9.6 59.2 13.2 101.2 19.7 126.5 1 3.5 2.8 12.2-.2 15-1.7 1.7-4.2 1.6-5.6 2z"/> + <path d="M518.2 731.4c-1.5 0-3.8.8-6-.3-2.7-1.4-2.6-9.4-3.8-14.2-6.6-25.3-10.2-67.3-19.7-126.5q3-.9 5-1h.2c15 57.6 19.6 98.2 31.4 123.2 1 3.5 4 12.7 1.2 16-1.5 1.7-4 1.8-5.4 2.3l-3 .6z"/> + <path d="M537 726c-1.5.3-4 1.6-6 .7-3-1.2-3.5-9.7-5.6-14.2-11.8-25-16.3-66-31.7-124q2.9-1 5-1.3c1.3-.6 1-1 3-1.2 18 57.3 23.7 97 40.5 121.8 2.7 4 4.7 12 3 14.5-1.5 2-4 2.3-5.3 3zm-72.2 8c1.4 0 3.8.5 5.8-.8 2.7-1.7 3-9.7 3-14.7a7227 7227 0 0 1 7.7-127.6q-3-.8-5-.5l-.7-.2c-9.6 59.2-13.2 101.2-19.7 126.5-1 3.5-3 12.2 0 15 1.8 1.7 4.3 1.6 5.7 2l3 .3z"/> + <path d="M446 731.4c1.6 0 4 .8 6-.3 2.8-1.4 2.7-9.4 4-14.2 6.4-25.3 10-67.3 19.6-126.5q-3-.9-5-1h-.3c-15 57.6-19.6 98.2-31.4 123.2-1.2 3.5-4.2 12.7-1.3 16 1.5 1.7 4 1.8 5.4 2.3l3 .6z"/> + <path d="M427.3 726c1.5.3 4 1.6 6 .7 3-1.2 3.5-9.7 5.6-14.2 11.7-25 16.2-66 31.6-124q-2.9-1-5-1.3c-1.3-.6-1-1-3-1.2-18 57.3-23.7 97-40.5 121.8-2.6 4-4.6 12-2.8 14.5 1.4 2 4 2.3 5.2 3l3 .8zm99.7-43c-1.3 0-3.3 1-5.4 0-2.8-1.4-4.6-9-6-14-12-23.5-23-65.3-40.8-123.4 1.8-.7 3-1 4.5-1q1.5-.8 4.3-1.2c19.3 57.5 28 99 46.7 122 3 3.8 5.4 12 4 14.4-1.2 1.8-3.4 2-4.6 2.6z"/> + <path d="M512 685.8c-1.5 0-3.6.6-5.6-.5-2.6-1.6-3.5-9.4-4.5-14.3q-7.5-37.5-26.3-126 2.6-1 4.5-.8 1.7-.7 4.5-.8c15 58.7 18.3 102.6 32.4 125 2.6 4.2 4 12.5 2.3 14.8-1.3 1.7-3.5 1.7-4.8 2.2l-2.7.4z"/> + <path d="M496.4 687.6c-1.4-.2-3.5.3-5.4-1-2.4-1.7-2.4-9.6-2.8-14.6q-3.1-38-11.6-127.6 2.8-.6 4.6-.3 1.7-.4 4.5-.4c8 59.6 12.8 102.8 18 127.2 1 5 2.4 12.6.4 14.8-1.4 1.5-3.6 1.4-5 1.8l-2.6.2z"/> + <path d="M437.2 682.8c1.4 0 3.4 1 5.5 0 2.8-1.4 4.6-9 6-14 12-23.5 23-65.3 40.8-123.4-1.8-.7-3-1-4.5-1q-1.5-.8-4.3-1.2c-19.3 57.5-28 99-46.7 122-3 3.8-5.4 12-4 14.4 1.2 1.8 3.4 2 4.6 2.6z"/> + <path d="M452.4 685.8c1.4 0 3.5.6 5.5-.5 2.5-1.6 3.4-9.4 4.4-14.3q7.3-37.5 26.2-126-2.6-1-4.5-.8a12 12 0 0 0-4.4-.8c-15 58.7-18.3 102.6-32.4 125-2.5 4.2-4 12.5-2.2 14.8 1.3 1.7 3.5 1.7 4.7 2.2z"/> + <path d="M468 687.6c1.3-.2 3.4.3 5.3-1 2.4-1.7 2.4-9.6 2.8-14.6q3-38 11.7-127.6-2.8-.6-4.6-.3-1.5-.4-4.4-.4c-8 59.6-12.8 102.8-18 127.2-1 5-2.4 12.6-.4 14.8 1.5 1.5 3.7 1.4 5 1.8l2.7.2z"/> + <path d="M483.5 688c1.3 0 3.5.2 5.2-1.3 2.3-2 1.4-9.8 1.2-14.8-1.2-25.4-2-68-3.3-128a14 14 0 0 0-4.6 0q-1.7-.4-4.4 0c-1.2 60-2 102.6-3.2 128-.2 5-1 12.8 1.2 14.7 1.6 1.5 4 1 5.2 1.4z"/> + <path d="M516.5 648c-1 0-2.5 1-4 0-2.3-1.5-3.7-9.2-4.8-14-9.2-23.5-17.5-65.4-31.2-123.5q2-1 3.4-1 1.1-.9 3.3-1c14.7 57.4 21.3 99 35.7 121.8 2.4 3.8 4 12 3 14.5-.8 1.8-2.5 2-3.4 2.5z"/> + <path d="M505 651c-1 0-2.7.6-4.3-.6-2-1.5-2.7-9.4-3.4-14.3q-5.6-37.5-20-126 1.9-.8 3.4-.7 1.4-.6 3.4-.8c11.5 58.7 14 102.6 25 125.2 2 4 3 12.4 1.6 14.6-1 1.7-2.7 1.8-3.6 2.2l-2 .5z"/> + <path d="M493 652.7c-1 0-2.6.4-4-1-2-1.7-2-9.6-2.2-14.5q-2.2-38.1-9-127.7 2.2-.5 3.6-.3 1.4-.6 3.5-.4c6 59.6 9.7 102.7 13.6 127 .7 5 2 12.8.4 15-1.2 1.5-3 1.4-4 1.7z"/> + <path d="M447.8 648c1 0 2.5 1 4 0 2.3-1.5 3.7-9.2 4.8-14 9.2-23.5 17.5-65.4 31-123.5q-1.7-1-3.2-1-1.4-.9-3.4-1c-14.7 57.4-21.3 99-35.7 121.8-2.4 3.8-4.2 12-3 14.5.8 1.8 2.5 2 3.4 2.5z"/> + <path d="M459.4 651c1 0 2.6.6 4-.6 2.2-1.5 3-9.4 3.6-14.3q5.6-37.5 20-126a8 8 0 0 0-3.4-.7q-1.4-.6-3.4-.8c-11.4 58.7-14 102.6-24.8 125.2-2 4-3 12.4-1.7 14.6 1 1.7 2.7 1.8 3.6 2.2l2 .5z"/> + <path d="M471.3 652.7c1 0 2.6.4 4-1 2-1.7 2-9.6 2.2-14.5q2.3-38.1 9-127.7a10 10 0 0 0-3.6-.3q-1.4-.6-3.6-.4c-6.2 59.6-9.8 102.7-13.7 127-.7 5-2 12.8-.4 15 1.2 1.5 3 1.4 4 1.7l2 .2z"/> + <path d="M483.2 653.2c1-.2 2.7 0 4-1.4 1.7-2 1-9.7 1-14.7q-1.3-38-2.5-128-2.2-.2-3.6.2-1.2-.4-3.4 0-1.4 89.7-2.4 128c0 5-.8 12.7 1 14.6 1.2 1.5 3 1.2 4 1.4h2z"/> + <path d="M475 559q-.3 6.5-.3 14l-10.6 2.3c0 4.8 12 55.4 18 55.4 6.3 0 18.2-50.6 18.2-55.5l-10.6-2v-.2q0-7.5-.2-14c-2.2 2-4.7 5.2-7.3 8-2.4-2.8-5-6-7-8z"/> + </g> + <g id="rs-d"> + <path fill="#edb92e" stroke="#21231e" d="M412 584.5c-3 .2-7 2-18.5 12-5 10.2-10 20.5-17 29.4q-3.4 2.1-6 3.2a84 84 0 0 1-17-.5c-4.4-4-11.3-1.2-9 3.2-1.8 1.6 2.2 7.8 5.3 5.2 3-2.4 13-.2 16.4-1.4-1.3 3-10.4 5-16.8 5.5-5.8.2-5.4 6-3 10.5 2.7 1.8.5-.4 1.4.8 2.6 4 8.2 3.4 8.4-.4.2-4 13.8-9 15.8-12-2.5 6-8.2 11.5-11 17.3-3 3-5 3.7-1 10 4.4-.6 4.6-1.7 7.3.8 6-.6 7-2.4 6-7.2-1-5 3.2-14 4.6-16.6 1.2-2.4 1.5-4.8 2.8-6.3 2.2-2.5 12.6-7.7 15.2-6.3 5 2.7 8.7 1 9.3-3.7-1.6-1.2-.4-8-3.8-8.2-2.8-.3-4.4.6-7 2.7-4 3.2-6 5-7.4 4.6-3-.7 5.8-5 13.8-15.6 11-14.5 11.8-22 11.3-27z"/> + <use xlink:href="#rs-c" width="1350" height="900" transform="matrix(-1 0 0 1 801.6 0)"/> + <path fill="#edb92e" stroke="#21231e" d="M345.2 634.5c-4-2.3-6.3-2.2-8-.5-.7 1-1.8.5-1.2-1 2.7-6.3 7-7 10.7-4.2l2.8 2.7c-.6 1-3.8 2.3-4.3 3zm57.4-5.6c4.3-3 8.3-3.6 10.5-2 1.3 1 2.5.3 1.4-1.2-4.4-6.2-9.6-6.5-13.5-3q-1.7 1.5-2.8 3c1.3 1.6 4.3 3.2 4.4 3zM369 664.4c.2-.2-1-5.4-2.6-7q-2.2 1.4-4.3 3.5c-4.2 4.5-4 11 2.5 16.7 1.6 1.5 2.4 0 1.7-1.7-1-2.7.3-6.3 3-11.5zM352.6 651c-4 1.6-5.4 3.7-5.2 6.4 0 1.5-1 2-1.5.3-4.8-11.2.2-13.3 7.5-13 .4 2-.7 6.2-.8 6.2z"/> + <path fill="#21231e" d="m384 621.3 1 .6h-.2v1.8h.2v.4h.2v.2h.2l.2.3.3.2v.2h.4l.2.3h.2l-.6 1h-.2l-.3-.2h-.2l-.2-.2-.2-.2-.3-.3-.3-.3v-.2h-.2v-.3l-.2-.2v-.2h-.2v-.2l-.2-.2V622l.2-.3v-.2zm6.5.8-.8 1-.2-.2-.3-.2-.2-.2-.2-.2h-.3l-.2-.3-.2-.3-.3-.2-.2-.2-.3-.2h-.7l-.2-.2h-.7v.2h-.2l-.2.2v.2h-.2v.3l-.2.2-1-.7v-.3l.2-.2.2-.2.2-.2.3-.3h.3l.2-.2h.4v-.2h.8l.2.2h.4l.2.2h.2l.2.2h.2l.2.3h.2l.2.3h.2l.3.3.2.3.2.2.3.2.2.2h.3z"/> + <path fill="#21231e" d="m387.3 617.6 1 .6v.4h-.2v.8l.2.2v.2l.2.2v.2l.2.2.2.3.3.2h.2l.2.2h.2l.2.2.2.2h.2l-.6 1h-.2l-.3-.2-.3-.3h-.2l-.2-.2-.2-.2-.2-.3v-.2h-.2l-.2-.2v-.2h-.2v-.5h-.2V618h.2v-.3zm6.5.8-.7 1-.2-.3h-.2l-.2-.3-.3-.2-.3-.3h-.2l-.2-.3-.2-.2-.3-.2-.3-.2h-.3v-.2h-.8l-.2.2-.2.2-.2.2v.2l-.3.2-1-.6.2-.3v-.2h.3v-.3h.3l.3-.3h.2l.2-.2h.2v-.2h1.4l.2.2h.2v.2h.3l.3.3h.2l.2.2h.2l.2.3h.2l.3.3v.2l.3.2.3.2z"/> + <path fill="#21231e" d="m391 612.8 1 .6-.2.2v.6h-.2v1l.2.3v.3h.2v.4h.2l.2.3v.2h.2l.2.2.2.2.3.3.3.2h.2l.2.2-.6 1-.3-.2-.2-.2-.2-.2-.3-.2-.2-.2v-.2l-.3-.2v-.2l-.3-.2v-.2l-.3-.2v-.4l-.2-.3v-.2h-.2v-.7h-.2v-1l.2-.3v-.4l.2-.3zm7 1-.8 1-.3-.3-.3-.2-.3-.3-.3-.2v-.2l-.3-.2-.3-.2-.2-.2-.2-.2-.2-.2h-.2l-.2-.2-.3-.2h-.2l-.2-.2h-.7l-.2.2-.2.2-.3.3v.2h-.2v.4l-1-.6v-.3l.2-.2.2-.3v-.2l.3-.2.2-.2v-.2h.3l.2-.2h.3l.2-.2h1.2l.2.2h.2l.2.2.3.2h.3l.2.3.2.2h.3l.2.3.3.2.2.2.3.2.2.2.3.2.2.3.3.2z"/> + <path fill="#21231e" d="m394.8 607.7 1 .5v.5l-.2.3v1.7l.2.2v.3l.2.2v.2l.2.2.3.3v.2l.3.2.2.2h.2l.2.3.2.2.3.2v.2l-.6.8-.3-.2v-.2l-.4-.2-.2-.3-.3-.3v-.2l-.3-.3-.2-.2v-.2l-.3-.3v-.2l-.3-.2-.2-.2v-.2l-.2-.2v-.3l-.2-.3v-2.1l.2-.2v-.2l.2-.3zm7.6 1.3-1 .8-.2-.3-.3-.3-.3-.2-.3-.3-.3-.3v-.2l-.4-.2-.2-.2-.2-.2-.2-.2-.2-.2h-.2l-.2-.2h-.2l-.2-.2h-.3v-.2h-.7v.2l-.3.2-.2.3-.2.2v.2l-.3.2v.2l-1.2-.5.2-.3.2-.3v-.2l.3-.3.2-.2.2-.2.3-.2.3-.2h.5l.3-.2h.8l.3.2h.2l.3.2h.2l.2.3.3.3.2.2.3.2.2.2h.3l.2.3.3.3.2.2.3.3.3.4.3.3.4.3z"/> + <path fill="#21231e" d="m399 602.6 1.2.6v.2l-.2.2-.2.3v2.1l.2.2v.2l.2.2.2.2v.2l.2.2.2.2.2.2v.2l.3.2.2.2.2.2.3.2.2.2.3.2-.8 1-.3-.3-.2-.3-.3-.2-.3-.3-.2-.2-.3-.2-.2-.3v-.2l-.3-.2-.2-.2v-.2l-.3-.2v-.3h-.2v-.4l-.2-.2v-.2l-.2-.3v-2.6l.2-.2v-.2l.2-.2v-.2zm7.7 1.4-1 .8-.2-.3-.3-.3-.2-.3-.3-.3-.3-.3-.2-.2-.2-.3-.3-.3-.2-.2h-.2l-.2-.3-.2-.2h-.2v-.2h-1.3l-.3.2v.2h-.2v.3l-.3.2-.2.3v.2l-1.2-.6.3-.3.2-.3.2-.2.2-.3v-.2l.4-.2h.2l.2-.2h.2l.2-.2h1.7l.2.2.2.2h.2l.2.3h.3l.3.3.2.3h.3l.2.3.3.3.2.2.3.3.3.4.4.3.3.3z"/> + <path fill="#fff" stroke="#21231e" d="m462.6 580.6-9.5-5.4c-4 3-6.8 13.5 0 22.2 8.5 11 12 18.7 14 27.5 6.2-8 8.3-16.3 4.4-24.5-5.3-11-8.7-17-8.8-20z"/> + <path fill="#fff" stroke="#21231e" d="m470.4 573-9.5-5.4c-4 3-12.5 13.2-5.6 22 8.5 10.8 17.3 19 19.4 27.7 6.2-8 8.8-16.2 5-24.4-5.4-11-9.4-17.2-9.4-20z"/> + <path fill="#fff" stroke="#21231e" d="m449.4 569.2-9.5-5.4c-4 3-7 13.5-.2 22.2a65 65 0 0 1 14 27.5c6.2-8 8.4-16.3 4.4-24.4-5.3-11-8.7-17-8.8-19.8z"/> + <path fill="#fff" d="M405.5 469c.2 8.7-1.4 66.5-1.8 74.7s-4 13.7-8 17q-5.3-7.5-6-19.3c-.4-4 .4-58.7.7-70q9.4-25.5 15-2.4z"/> + <path fill="#21231e" d="M404 543.8h-1l.2-1v-2.6l.2-1.7v-4l.2-2.3v-5l.2-2.7v-2.8l.2-3v-3l.2-3v-6.2l.2-3v-6.2l.2-3v-5.8l.2-2.7v-7.4l.2-2V469h1v11.7l-.2 2.5v8.3l-.2 2.8v6l-.2 3.2v3l-.2 3.2v6l-.2 3v3l-.2 2.8v5.3l-.2 2.5v2.3l-.2 2v3.6l-.2 1.5v2zm-8.7 17 .8-.5h-.6l.3-.4.4-.4.4-.3.4-.3.3-.4.5-.4.3-.3.3-.5.4-.4.4-.4.3-.4.4-.5.3-.4.2-.5.2-.5.3-.5.3-.5.2-.6.2-.5.3-.6.2-.5.2-.5v-.7l.3-.6v-.6l.3-.7v-.7l.2-.7v-.7l.2-.8v-1.5h1v2.3l-.2.7v.8l-.3.6v.8l-.3.7-.2.6-.2.8-.2.6-.2.6-.2.6-.3.6-.4.5-.2.6-.3.5-.2.5-.3.5-.3.5-.3.5-.4.4-.4.5-.3.4-.5.5-.3.4-.4.3-.3.4-.4.3-.2.4-.4.3-.4.3h-.7zm.7.2-.4.3-.3-.4h.7zm-7-19.5h1v.6l.2.8v1.4l.2.7v.6l.2.7v.6l.3.6v1.5l.3.5v.7l.3.6.2.6.2.6.2.6.2.5.2.7.2.6.2.5.3.6.2.5.3.4.2.6.3.5.3.5.3.5.2.4.3.4.3.5.3.3-.7.6-.3-.6-.4-.4-.3-.5-.3-.5-.3-.5-.3-.6-.2-.6-.3-.5-.4-.7-.2-.5-.3-.6v-.6l-.3-.5-.3-.5-.2-.6-.2-.7-.2-.6v-.7l-.3-.6-.2-.6v-.7l-.3-.5v-.7l-.2-.7-.2-.6v-.6l-.2-.7v-1l-.2-.8v-1.5zm1-70.2.8.3v8l-.2 2.3V492l-.2 2.7v11.6l-.2 3v19l-.2 2.2v11h-1v-20.9l.2-2.7v-14.6l.2-2.8V489l.2-2.6v-8.9l.2-2v-4.2zm16-2.3h-1l-.4-1.3-.3-1.3-.4-1-.5-1.2-.4-1-.2-1-.4-.7-.4-.8-.4-.6-.4-.4-.4-.4-.4-.3-.3-.3h-.3l-.4-.2h-.7l-.4.3-.4.3-.5.5-.5.4-.5.5-.5.7-.5.7-.5.8-.5 1-.6 1-.5 1.2-.6 1.3-.6 1.3-.6 1.5-.6 1.6-1-.3.7-1.6.6-1.5.7-1.3.6-1.4.5-1.2.6-1 .5-1 .5-1 .5-.8.6-.7.5-.7.6-.6.6-.4.5-.4.6-.3.5-.2h1.1l.5.3.5.3.5.5.5.5.4.6.4.6.5.8.4.8.4 1 .5 1 .3 1 .4 1.4.4 1.3.4 1.4zm0 0"/> + <path fill="#fff" d="m368 454.8-2.6 79.6c-.8 7 8.4 49 13.5 57.4 12.3-5.3 15-33.8 12.6-61.6s.4-51.8 2.3-56.8c0-6.3-1-12.8-1-19.3-8 .5-17.2.4-25 .8z"/> + <path fill="#21231e" d="m365 534.4 2.4-79.6h1l-2.5 79.6h-1zm13.7 57 .3.8-.6-.2-.5-1-.6-1-.5-1.2-.7-1.4-.5-1.6-.6-1.6-.6-1.8-.6-2-.5-2-.6-2-.7-2.2-.6-2.2-.6-2.3-.4-2.3-.6-2.3-.5-2.3-.6-2.3-.6-2.3-.4-2.2-.5-2.2-.4-2.2-.3-2-.4-2.2-.3-2-.3-1.8-.3-1.7-.2-1.6v-1.4l-.3-1.3v-2.8h1v4.1l.2 1.5.2 1.6.3 1.7.3 1.8.3 2 .4 2 .4 2.2.5 2.2.4 2.2.4 2.3.5 2.2.4 2.3.6 2.3.5 2.4.6 2.3.7 2.2.5 2.2.6 2 .6 2.2.6 2 .6 2 .5 1.7.7 1.5.6 1.5.5 1.4.5 1.2.5 1 .5 1-.6-.3zm.3.8-.4.2-.2-.4zm12-62h1l.3 2.5v2.7l.3 2.6v2.6l.2 2.6v12.5l-.3 2.4-.2 2.5-.2 2.3v2.3l-.4 2.3-.4 2.2-.3 2-.6 2-.4 2-.6 2-.5 1.7-.8 1.7-.6 1.5-.7 1.5-1 1.5-.7 1.3-1 1.2-1 1-1 1-1 1-1 .6-1.3.6-.3-1 1-.4 1-.7 1-.7 1-1 1-1 .7-1 .8-1.3.8-1.4.7-1.5.6-1.5.6-1.6.5-2 .5-1.7.5-2 .4-2 .3-2 .3-2 .3-2.3v-2.3l.4-2.3V558l.3-2.3V538l-.2-2.6-.2-2.6-.2-2.6zm2.4-56.8h1v.2l-.2.5-.2.7-.2.7-.2 1-.2.8-.2 1-.2 1.2v1.2l-.3 1.3-.2 1.3-.2 1.4v1.6l-.3 1.6v1.7l-.3 1.7v2l-.2 1.8v2l-.2 2V520l.2 2.5.2 2.5.2 2.6v2.5l-1 .2v-2.6l-.3-2.5-.2-2.5V520l-.2-2.5v-20.1l.2-2v-2l.3-2v-1.7l.2-1.7.2-1.8.2-1.6v-1.4l.3-1.5.2-1.3v-1.2l.3-1V477l.3-1 .2-.8.2-.7.2-.7.2-.5zm1 0v.2zm-1.5-18.8v-1l.4.4v3.7l.2.6v2.5l.2.6v1.8l.2.6v2.4l.2.6v3.6l.2.6v2.4h-1V468l-.2-.5V465l-.2-.5v-1.9l-.2-.6v-1.7l-.2-.6v-3l-.2-.6V454l.5.6zm0-1h.4v.4l-.5-.4zm-24.6 1.2h-1l.4-.5h3.9l.8-.2h12.8l.8-.2h4.7l.8-.2h1.7v1h-4.1l-.7.2h-8l-.8.2h-7.1l-.8.2h-3.9l.4-.4zm-1 0v-.4h.4zm.5 0h.4-.5zm-.6 0v-.4h.4z"/> + <path fill="#fff" d="m353 468 1.8 79.5c-.4 7 11 48.5 16.4 56.5 12.6-9.8 10-49.8 8.2-62-4-24-3.2-52-2-56.5 0-6.3-.2-13.8-.6-20.4q-12 1.6-23.7 2.8z"/> + <path fill="#21231e" d="m354.3 547.5-1.7-79.6 1-.2 1.7 79.6h-1zm16.6 56 .5 1-.7-.2-.5-1-.6-1-.6-1.2-.5-1.2-.7-1.6-.6-1.6-.7-1.8-.7-1.8-.7-2-.5-2-.7-2.2-.7-2.2-.6-2.2-.7-2.3-.7-2.2-.7-2.3-.6-2.3-.6-2.3-.5-2.3-.6-2.2-.6-2.2-.5-2-.6-2-.4-2-.4-2-.4-1.6-.3-1.6-.3-1.3-.2-1.3v-1.2l-.2-1v-.8h1v1.8l.2 1 .2 1.3.2 1.5.2 1.5.3 1.7.4 2 .4 1.8.4 2 .5 2 .6 2.2.4 2.2.6 2.3.7 2.3.6 2.3.7 2.2.6 2.3.7 2.3.7 2.3.7 2.2.7 2 .7 2.2.8 2 .7 1.8.6 1.7.8 1.7.6 1.4.6 1.3.6 1.2.5 1 .6.7h-.7zm.5 1-.4.2-.2-.4h.7zM379 542l1-.2v1.2l.2 1.4.2 1.5.2 1.8.2 1.7v2l.3 2 .2 2v2l.2 2.3v12l-.2 2.4v2.3l-.3 2.4-.4 2.4-.3 2.4-.3 2.2-.4 2.2-.5 2.2-.4 2-.6 2-.7 2-.8 1.6-.8 1.7-1 1.5-1 1.3-1 1.4-1.2 1-.6-.8 1-1 1-1 1-1.4.8-1.4.8-1.6.8-1.7.6-1.8.6-2 .5-2 .6-2 .4-2.2.4-2.3.3-2.3.2-2.4v-2.3l.3-2.4V569l.2-2.2V560l-.2-2.3v-2.2l-.2-2v-2l-.2-2-.2-1.6-.2-1.8-.2-1.5v-1.3l-.3-1.2zm-2-56.7h1v.6l-.2.7-.2.7v1l-.2.8v2.4l-.2 1.3v2.8l-.2 1.6v15.2l.2 2v2.3l.3 2v2.4l.3 2.3v2.2l.3 2.2.4 2.3.2 2.4.3 2.2.2 2.3.3 2.2.4 2.3-1 .2-.5-2.3-.3-2.4-.3-2.3-.4-2.3-.2-2.4-.2-2.3-.2-2.3-.2-2.3-.2-2.2v-2.3l-.3-2.2V512l-.2-2v-16l.2-1.4v-1.3l.2-1.2v-2l.3-1v-.8l.2-.6v-.7.2zm-.2-20v-1l.5.6v3.4l.2.7v3.8l.2.6v6l.2.6v5.3h-1V480l-.2-.7v-5.7l-.2-.6v-4.5l-.2-.7v-2.4l.4.4zm0-1h.4v.6l-.5-.4zm-23.7 4v-1l.8-.2h.8l.7-.2h2.2l.7-.2h.8l.7-.2h.8l.7-.2h1.4l.7-.2h.8l.7-.2h.6l.8-.2h1.7l.6-.2h.7l.8-.2h.8l.7-.2h1.5l.8-.2h.7l.7-.2h.8l.7-.2v1h-.6l-.6.2h-.8l-.7.2h-1.6l-.7.2h-.8l-.8.2h-.8l-.7.2h-1.5l-.7.2h-.8l-.7.2h-.7l-.8.2H362l-.7.2h-.7l-.8.2h-.7l-.6.2H357l-1 .2h-.6l-.7.2h-.8zm.2-1v1l-.6-.6.5-.6zm-.6.4v-.6h.5l-.4.5z"/> + <path fill="#fff" d="m342.2 486.7 21-.5c-2 8.6-.5 35.6 3.2 56.2 3.3 19.3 8 69.3-12 81.3-12.5-26.4-3-52-9.2-75-5-24.3-6-44.6-3-62"/> + <path fill="#21231e" d="m363 486.7-20.8.5v-1l21-.5.4.6zm0-1h.7v.6zm3.8 56.6-1 .2-.3-2-.3-2-.3-2-.4-2-.3-2-.2-2-.2-2.2-.2-2-.2-2.2-.2-2-.2-2-.2-2-.2-2.2v-2l-.3-2v-2l-.2-2V499l-.2-1.7v-4.5l.2-1.4v-1.2l.2-1.2v-1l.3-1v-1l1 .3v.8l-.2 1v1l-.2 1.3v5.4l-.2 1.6v4.9l.2 1.8v4l.2 1.8v2l.3 2v2l.3 2 .2 2v2l.3 2.2.3 2 .2 2.2.3 2 .3 2 .3 2 .3 2.2.2 2 .3 2 .3 2zM354 624l.8-.6-.7-.2 2-1.2 1.5-1.4 1.5-1.6 1.4-1.8 1.3-2 1-2 1-2.3 1-2.6 1-2.5.6-2.8.6-2.7.4-2.8.4-3 .4-3 .3-3 .2-3v-3l.2-3v-6.2l-.2-3-.2-3v-3l-.4-3-.2-2.7-.3-2.7-.2-2.5-.4-2.5-.2-2.4-.3-2.2-.3-2-.3-2h.8l.4 1.8.3 2 .3 2.3.3 2.3.4 2.5.3 2.7.3 2.7.2 2.8.2 3 .2 2.8.2 3v15.5l-.3 3-.3 3.2-.4 3-.4 2.8-.5 3-.8 2.7-.7 2.7-.8 2.6-1 2.4-1 2.4-1.2 2.2-1.3 2-1.4 2-1.6 1.5-1.7 1.5-1.8 1.3zm.7 0-.5.4-.3-.5h.7zm-10-75.2 1-.2.5 2.2.4 2.2.4 2.2.3 2.2.3 2.2.2 2.3v2l.2 2.4v25.4l.2 2.4v2.4l.3 2.4.3 2.4.3 2.4.5 2.4.4 2.4.5 2.4.7 2.5.7 2.4.8 2.5 1 2.5 1 2.4-.8.5-1.2-2.6-1-2.5-.8-2.6-.8-2.5-.7-2.5-.5-2.5-.5-2.4-.4-2.5-.2-2.3-.3-2.5-.2-2.4V594l-.2-2.4V564l-.2-2.3-.2-2.3-.2-2.2-.4-2.2-.3-2-.5-2.3-.5-2v-.2zm-2.5-62.6v1l.5-.4-.3 1.6-.2 1.7-.2 1.7-.2 1.7-.2 1.7v1.8l-.3 1.8v3.5l-.2 2v7.3l.2 2v1.8l.2 2v2l.2 2 .2 2 .2 2 .2 2 .3 2 .2 2 .3 2.3.3 2 .3 2.2.4 2.2.4 2.2.4 2 .4 2.4.4 2.2-1 .2-.4-2.2-.4-2.3-.4-2.2-.4-2-.3-2.3-.4-2.2-.3-2-.3-2.2-.2-2-.3-2.2-.2-2-.2-2-.2-2v-2l-.2-2v-2l-.2-1.8v-13l.2-1.8v-1.8l.2-1.7.2-1.7.2-1.7.2-1.7.2-1.7.3-1.7.5-.4zm-.5.4v-.4h.5zm.5 0v-.4zm-.5 0v-.4h.5z"/> + <path fill="#fff" d="M422 454.4c0 8.7-3.2 66.5-4 74.6s-4.5 13.6-8.4 16.6q-5.1-7.5-5.5-19.3c0-4 2.3-58.7 3-70 7-17 11.8-17.4 15-2z"/> + <path fill="#21231e" d="M418.5 529h-1v-1l.2-1v-1.5l.2-1.7v-2l.2-2v-2.3l.3-2.4v-2.5l.3-2.7.2-2.8v-3l.3-3 .2-3 .2-3v-3l.3-3.2.2-3 .2-3.2v-3l.3-3V474l.3-3v-2.5l.2-2.4V464l.2-2v-2l.2-1.8v-3.7h1v5.6l-.2 2v2l-.2 2.3v2.6l-.3 2.6-.2 2.7v2.8l-.3 3-.2 3v3l-.3 3-.2 3v3.2l-.3 3-.2 3.2-.2 3v3l-.2 2.7-.2 2.6v2.6l-.3 2.4v2.3l-.3 2v2l-.2 1.5v1.5l-.2 1.2v1zm-9.3 17 .8-.6-.7-.2.4-.2.3-.3.4-.4.3-.3.4-.3.4-.4.4-.3.3-.4.4-.4.4-.4.3-.5.4-.4.3-.6.3-.4.3-.5.3-.5.3-.5v-.5l.4-.6.2-.5.3-.7v-.6l.3-.6.2-.5.2-.7.2-.6V532l.3-.8v-.8l.2-.7v-.7h1v1.6l-.2.7-.2.7v.7l-.2.7-.2.7-.2.8-.2.6-.2.6-.2.6-.3.6-.2.6-.3.6-.3.5-.2.5-.3.5-.3.5-.5.5-.3.5-.3.4-.4.4-.4.4-.3.4-.5.4-.4.4-.2.4-.4.3-.4.4-.3.4-.4.3-.4.3h-.8zm.7 0-.5.4-.3-.5h.7zm-6.4-19.7h1v2.8l.2.8v.7l.2.7v1.2l.3.6v.8l.2.6.2.7v.7l.3.6v.6l.3.5.2.6.2.6.2.6v.6l.3.5.3.6.2.4.2.5.3.5.3.5.2.5.3.4.4.4.3.5.3.4-.8.5-.3-.6-.4-.4-.3-.5-.3-.6-.3-.6-.3-.5-.3-.6v-.6l-.4-.5-.2-.6-.2-.6-.2-.4-.2-.6-.2-.6-.2-.6-.2-.6-.2-.7-.2-.6v-.7l-.3-.7v-.6l-.2-.7v-.6l-.2-.7v-1.4l-.2-.7v-1.5l-.2-.7v-1.5zm3-70 .8.3v-.2 2.6l-.2 1.6v2l-.2 2v2l-.2 2.4v2.5l-.2 2.6v2.8l-.3 2.8v2.8l-.2 3v2.8l-.2 3v3l-.2 2.8v3l-.3 2.7v2.7l-.2 2.7v7.3l-.2 2v3.8l-.2 1.6v3.3h-1v-6.8l.2-2V513l.2-2.4V508l.2-2.6.2-2.8v-2.8l.2-3V494l.2-3 .2-2.8v-3l.2-2.8v-3l.3-2.7V474l.2-2.5V469l.2-2.4v-4.2l.2-1.8V459l.2-1.5v-1.2zm16-2h-1v.2l-.3-1.4-.3-1.2-.3-1.2-.4-1-.3-1-.4-1-.3-1-.4-.6-.5-.6-.4-.5-.2-.5-.4-.4h-.4l-.3-.2h-1.1l-.4.2-.5.2-.4.4-.5.5-.5.6-.6.7-.5.7-.5 1-.6.8-.5 1-.6 1.2-.7 1.2-.6 1.4-.6 1.4-.6 1.6-1-.4.7-1.6.8-1.4.6-1.4.6-1.2.6-1.2.6-1 .6-1 .6-1 .6-.7.5-.7.6-.6.6-.6.6-.4.5-.3h.6l.5-.3h1.2l.5.3.5.4.5.4.4.5.4.6.4.5.4.8.3 1 .4.8.3 1.2.3 1 .4 1.3.3 1.4.3 1.3zm-.5 0h.6-.5zm.6 0"/> + <path fill="#fff" d="M385 407.2c-.6 18.7-1 59-.8 62.6a51 51 0 0 0 6.7 22.6c4-3 7.7-8.5 8.4-16.6.6-6.7.8-39.5 1-56-4.3-2.6-8.7-6-12.2-9.7l-3.2-2.8z"/> + <path fill="#21231e" d="M384.7 469.8h-1v-23.4l.2-2.4v-19.6l.2-2.4v-9l.2-2v-3.8h1v7.8l-.2 2.4v9.4l-.2 2.5v12.5l-.2 2.4v25.4zm6 22.2.5.8h-.7l-.3-.6-.3-.5-.4-.6-.4-.4-.3-.6-.4-.6-.3-.7-.3-.6-.2-.6-.3-.7-.3-.7-.3-.7-.3-.7-.3-.8-.2-.7-.3-.7-.3-.8-.2-.8-.2-.7-.2-.8v-.8l-.3-.8v-.8l-.3-.8v-.8l-.2-.8v-.8l-.2-.8v-.7l-.2-.7v-1.5h1v2.5l.2.8v.8l.3.7v.8l.2.8.2.8.2.8v.7l.2.7.3.8.2.7.2.8v.8l.4.7.2.7.3.7v.7l.4.6.3.7.3.7.2.6.3.6.3.5.3.6.4.6.3.6.3.5.3.4h-.7zm.5.8-.4.3-.3-.3zm7.7-17h1l-.2.8v.8l-.2.7v.8l-.3.7-.2.7v.7l-.2.5-.2.7-.2.6-.3.6v.6l-.4.6-.2.6-.3.5-.2.5-.3.6-.3.5-.3.5-.4.4-.4.5-.3.4-.5.6-.3.4-.4.4-.3.4-.4.4-.3.3-.3.4-.4.2-.4.3-.4.3-.6-.8.4-.3.3-.3.4-.3.4-.2.4-.4.4-.3.3-.3.4-.4.4-.4.3-.5.4-.4.3-.3.3-.5.3-.5.3-.4.3-.5.2-.6.3-.5.2-.5.3-.6.2-.6.2-.5.2-.6.2-.8.2-.6.2-.6v-.7l.3-.7v-.7l.2-.8v-.7l.2-.8zm1-55.5.6-.8.2.4v18.8l-.2 2.2v14.6l-.2 2v8.9l-.2 1.5v4.3l-.2 1v2.6h-1V471l.2-1.5v-6.3l.2-1.8v-12l.2-2v-20.8l.2-1.7v-5.1l.2.3zm.6-.8h.2v.4l-.2-.5zm-12.4-9.8v1l.4-1 .3.4.2.5.4.3.3.3.3.5.3.3.4.3.3.4.4.4.3.3.4.4.4.3.4.3.3.3.4.3.3.4.4.3.4.3.5.3.3.2.4.2.4.3.4.3.4.3.4.3.4.3h.4l.4.4.4.3.4.2.4.2.4.3-.6.8-.4-.3-.4-.2-.4-.3-.4-.3-.4-.2-.4-.3-.4-.3-.4-.3-.4-.2-.4-.3-.4-.3-.4-.3-.4-.4-.3-.3-.4-.3-.3-.3-.4-.3-.4-.3-.5-.2-.4-.3-.2-.3-.4-.4-.4-.3-.3-.3-.4-.3-.4-.5-.4-.3-.4-.3-.3-.5-.5-.3-.3-.4-.3-.3.2-.8zm-.3.8-1-.8h1.2l-.3.8zm-2.5-3.3h-1l1-.3.2.2.2.2v.2h.3v.3h.4v.2l.3.2.3.2v.2h.3v.2h.2v.2h.3l.2.2v.2h.2v.2l-.2.8v-1l-.3 1h-.2v-.2h-.2v-.2h-.2v-.2h-.2l-.2-.2v-.2h-.2l-.2-.2-.3-.3h-.3v-.3h-.3v-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2l1-.4zm-1 0v-1.4l1 1z"/> + <path fill="#fff" d="M400 419.3c-.4 20-.2 51.7 0 54.3a34 34 0 0 0 5.4 19.3c4-3.2 8-8.8 8.8-17 .5-5 2-26.4 2-42.8-5.3-1.7-12-10.4-16.3-14z"/> + <path fill="#21231e" d="M400.4 473.5h-1v-12.9l-.2-1.7v-33.7l.2-2v-4h1v14.5l-.2 2v37.1l.2.5v.3zm4.7 19 .7.8h-.7l-.3-.6-.3-.5-.3-.5-.2-.5-.3-.5-.3-.5-.2-.6-.3-.5-.2-.5-.3-.5-.2-.6-.2-.6-.2-.6-.2-.6-.2-.6-.2-.6-.2-.6v-.6l-.3-.7v-.6l-.3-.8v-.6l-.2-.7v-.8l-.2-.6v-.7l-.2-.8v-1.5l-.2-.7v-1.4h1v2.8l.2.7v.7l.2.7v.7l.2.7v.7l.2.6v.7l.3.6v.6l.3.5v.6l.3.7.3.6.2.6.2.5.2.5v.6l.4.5.2.7.3.5v.5l.4.5.2.5.3.5.2.5.3.5.3.4zm.7.8-.4.3-.3-.4zm8-17.3h1v1.7l-.3.7v.7l-.3.8v.7l-.2.7-.2.7-.2.5-.3.7v.6l-.4.6-.2.6-.3.5-.2.6-.3.6-.4.6-.2.5-.3.5-.4.5-.2.4-.4.6-.3.4-.3.5-.3.4-.4.3-.4.3-.4.4-.3.3-.5.4-.4.3-.3.3-.6-.8.5-.3.3-.3.4-.4.4-.3.3-.4.3-.4.3-.4.4-.4.3-.4.4-.4.3-.5.3-.4.4-.4.3-.5.3-.3.3-.6.3-.4.2-.5.3-.5.2-.5.3-.6.2-.6.2-.6.2-.6.2-.7.2-.7.2-.7v-.7l.3-.8v-.7l.2-.7v-.8zm2.4-42.3.4-1 .3.5v7.9l-.2 1.6v5.1l-.2 1.6v1.7l-.2 1.7v4.6l-.2 1.6v2.9l-.2 1.3v1.4l-.2 1.3v2.5l-.2 1v2.2l-.2 1v1.6l-.2.7v1.1h-1v-2l.2-.8v-1.8l.2-1v-2.2l.2-1.2v-2.7l.2-1.3v-1.5l.2-1.4V457l.2-1.6v-1.6l.2-1.6V449l.2-1.6V443l.2-1.6V433l.5.5zm.4-1h.3v.5zm-16-13.4h-1l.8-.4.5.2.4.4.5.4.5.4.5.5.4.4.4.4.5.5.4.6.5.4.4.5.5.4.5.6.5.5.5.5.5.6.6.5.5.6.7.5.5.6.5.5.6.5.5.5.5.4.6.4.4.4.5.3.4.3.5.3.4.3.5.2.4.2-.3 1-.5-.2-.5-.3-.5-.2-.6-.3-.6-.4-.6-.3-.5-.4-.6-.4-.5-.4-.6-.5-.5-.5-.5-.5-.5-.5-.6-.5-.5-.5-.7-.5-.5-.6-.5-.5-.6-.5-.5-.6-.5-.4-.5-.5-.5-.5-.5-.5-.5-.5-.5-.4-.4-.4-.5-.4-.4-.5-.6-.4-.4-.3-.4-.4.8-.3zm-1 0v-1l.8.6-.8.2z"/> + <path fill="#fff" d="M387 405.6 373 385c-2.8 10.2-6.3 82.8-2.2 88.8a36 36 0 0 0 6.4 19.3c4-3 9.8-8.5 8-16.7-1.6-8.2.4-62.3 2-70.7z"/> + <path fill="#21231e" d="m373.3 384.7 14.2 20.6-.8.5-14.3-20.5v-.4zm-1 .2.4-1 .5.7-.8.2zm-1.2 88.7h-1l.2.3-.5-.8-.3-1.2-.3-1.5v-1.8l-.3-2-.2-2.5v-2.6l-.2-2.8v-20.3l.2-3.7V431l.2-4 .2-3.6v-3.8l.3-3.7.2-3.7.2-3.4.3-3.5.2-3.2.3-3 .2-3 .3-2.5.3-2.4.2-2 .3-2 .3-1.3.4-1 1 .2-.3 1-.2 1.5-.3 1.8-.3 2-.2 2.4-.3 2.5-.3 2.8-.2 3-.3 3.3-.3 3.3-.2 3.4-.2 3.6-.2 3.7v3.7l-.3 3.8v3.8l-.2 3.7v3.8l-.2 3.6v19.6l.2 2.6.2 2.3.2 2v1.8l.4 1.5.3 1 .3.7zm0-.2v.2zm5.7 19.2.6.8-.7-.2-.3-.4-.3-.6-.3-.5-.3-.6-.3-.5-.2-.6-.3-.6-.3-.5-.3-.6-.4-.5-.2-.6-.3-.6v-.6l-.4-.6-.2-.6-.2-.6-.3-.6-.3-.6-.2-.7v-.6l-.3-.5-.2-.7v-.7l-.3-.6v-.6l-.2-.7v-.6l-.2-.7v-1.5l-.2-.7v-.7h1v1.4l.2.7v.6l.2.6v.7l.2.6v.7l.2.6.2.6v.6l.3.6.2.7.2.6.2.7v.6l.3.6.2.5.3.6.2.6.3.6.2.5.3.6.3.5.3.5.3.6.3.4.2.5.3.4.3.4.3.5.4.5h-.7zm.6.8-.4.3-.4-.5zm7.4-17 1-.3v.8l.2.7v3l-.2.7-.2.7v.7l-.3.7-.2.6-.2.6-.2.6-.3.6-.3.5-.4.6-.3.4-.4.5-.5.4-.3.5-.4.4-.4.4-.4.4-.5.5-.4.4-.3.5-.4.3-.4.4-.5.3-.4.3-.3.4-.4.3-.6-.8.4-.3.5-.3.4-.2.3-.4.3-.3.4-.3.4-.4.4-.3.4-.4.4-.5.4-.3.4-.4.4-.5.3-.5.5-.5.3-.5.3-.5.4-.5.3-.5.2-.6v-.6l.3-.5.2-.5.2-.7v-.6l.2-.6v-3.1l-.2-.7zM387 406v-1l.6.7-.2 1-.2 1v1.4l-.3 1.7-.2 2-.2 2v2l-.3 2.4v2.5l-.3 2.6v2.8l-.2 2.7-.2 2.8v3l-.2 2.8v3l-.2 3v8.5l-.2 2.8v13.5l.2 2v1.5l.2 1.4v1l.2 1-1 .2v-1l-.2-1v-1.5l-.2-1.7v-4l-.2-2v-15.5l.2-3V441l.2-3v-2.8l.2-3 .2-2.7v-2.8l.2-2.7.2-2.5V419l.3-2.3v-2.2l.3-2v-2l.3-1.5.3-1.4v-1.2l.3-1 .5.7zm0-1h.7v.7zm0 0v1l-.3-.2.4-.7zm0 1h-.2v-.2l.3.3z"/> + <path fill="#fff" d="M358 451.2q-1.2 17-1 23 .3 11.6 5.5 19.2c4-3 9-8.5 8.4-16.6-2-31.5 1.4-61 5.4-89.6-3.4-2.5-9-5-12.5-7.6q-10.4 57.3-6 71.6z"/> + <path fill="#21231e" d="M357.4 474h-1v-7.4l.2-.7V463l.2-.7V459l.2-1v-1.8l.2-1v-3l.2-1h1v2l-.2 1v2l-.2 1v2.8l-.2.7v3.2l-.2.7v4.2l-.2.6v4.3zm4.8 19 .6.8h-.7l-.3-.6-.3-.5-.3-.5-.2-.5-.2-.5-.3-.5-.3-.6-.2-.4-.3-.6-.2-.5-.3-.6-.2-.7-.2-.6-.2-.6-.2-.5-.2-.6v-.7l-.3-.6v-.7l-.3-.6v-.7l-.2-.6-.2-.6v-.7l-.2-.7v-1.4l-.2-.7v-1.5l-.2-.7v-.7h1v2.2l.2.7v1.2l.2.7v.6l.2.6v.7l.2.5.2.7v.6l.3.6v.6l.3.6.2.6.2.6.2.6.2.6.2.5.2.6.2.6.3.6.2.5.2.5.2.5.3.5.3.5.3.5.3.5.3.4zm.6.8-.4.3-.3-.3h.8zm7.6-17h1v3.7l-.3.7v.6l-.2.7v.7l-.4.6-.2.6-.2.6-.3.6-.3.6-.3.5-.2.6-.3.5-.4.5-.2.5-.4.4-.4.5-.4.4-.3.6-.4.4-.5.4-.4.4-.3.4-.4.3-.4.3-.5.4-.4.3-.2.3-.6-.8.3-.3.4-.3.3-.3.3-.2.4-.4.4-.3.4-.3.4-.4.3-.4.4-.5.3-.4.3-.4.4-.4.3-.5.3-.5.3-.5.2-.5.3-.5.3-.5.2-.6.3-.6.2-.5.2-.6.2-.8v-.6l.2-.6v-.7l.2-.6zm5.7-89.2.7-.8.2.5-.5 2.6-.4 2.6-.3 2.7-.3 2.7-.4 2.7-.3 2.7-.3 2.7-.4 2.8-.3 2.8-.3 2.7-.3 2.8-.2 2.8-.2 2.8-.3 2.7-.2 2.8v3l-.3 2.7-.2 2.8-.2 2.8v2.8l-.2 3v8.5l-.2 3v8.6l.2 3v3l.2 2.8.2 3h-1l-.2-3v-3l-.2-2.8v-5.8l-.2-3V451l.2-2.8v-3l.2-2.7v-2.7l.3-3 .2-2.7.2-2.8V428l.3-2.7.3-2.8.3-2.8V417l.4-2.8.3-2.7.3-2.8.4-2.7.3-2.7.4-2.7.4-2.7.4-2.8.3-2.7.5-2.7.4-2.7v.6zm.7-.8.2.2v.3l-.3-.5zm-12.3-7-1-.3.8-.3.3.2.4.2.2.3h.3l.4.3.3.3.4.2.4.2.5.3.4.2.3.2.4.3.4.2.5.3.5.2.4.2.4.2.4.2.5.3.4.2.5.2.4.2.3.2.4.3h.4l.5.4.4.2.3.2.3.3.4.3.3.3.4.2-.6.8-.2-.2-.4-.3h-.3l-.3-.3-.3-.3-.4-.2-.4-.2-.4-.3-.4-.2-.4-.2-.4-.3-.4-.2-.4-.3-.5-.2-.4-.2-.4-.2-.5-.2-.5-.3-.4-.2-.4-.2-.4-.2-.4-.2-.4-.3h-.4l-.4-.4-.4-.2-.4-.2-.4-.3-.4-.3-.3-.3-.4-.2-.4-.2.8-.3zm-1-.3.2-.8.6.5zm-6 71.4.8.6-.8-.2-.3-1v-1l-.3-1-.2-1.3v-1l-.2-1.4V443l-.2-1.6v-5l.2-1.8v-2l.2-2 .2-2 .2-2.3.2-2.3.2-2.5.3-2.4.3-2.5.3-2.6.4-2.8.4-2.8.4-3 .4-2.8.5-3 .6-3.2.5-3.2.6-3.3.6-3.5.6-3.5.6-3.5 1 .2-.6 3.5-.6 3.5-.6 3.4-.5 3.3-.4 3.3-.5 3-.4 3-.4 3-.4 3-.4 2.7-.3 2.7-.3 2.7-.3 2.5-.2 2.4-.3 2.4-.3 2.3v2.2l-.3 2v2l-.2 2v9.8l.2 1.4v1.2l.3 1 .2 1.2v1l.4 1-1-.3zm.8.6-.5.6-.3-.8zm0 0-.7-.7 1 .3zm-.7-.7 1-1v1.3z"/> + <path fill="#fff" d="m343.6 471.8 4 14.7c.2 7.7 5 14 8.3 19 4-3 7.5-8 6.5-16-5.8-46.5-3.8-77.3 6-115-22 15-32.3 46.6-25 97.3z"/> + <path fill="#21231e" d="m347 486.6-3.8-14.7 1-.3 3.8 14.6zm8.6 18.7.6.7h-.7l-.3-.6-.3-.5-.4-.5-.4-.5-.3-.5-.5-.6-.3-.6-.4-.5-.3-.7-.4-.5-.2-.6-.4-.5-.3-.6-.2-.5-.4-.6-.3-.7-.2-.6-.3-.6-.3-.5-.3-.7-.3-.6-.3-.7-.2-.7-.2-.6-.2-.7-.2-.7-.2-.7v-.6l-.2-.7v-.8l-.2-.8v-.7h1v1.4l.2.7v.7l.2.7.2.6v.6l.3.7v.5l.4.7.2.6.3.6v.6l.4.7.3.6.3.6.3.4.3.6.4.6.3.6.3.5.4.6.3.5.4.5.3.6.3.4.4.5.3.4.4.5.3.4.3.5.4.3h-.8zm.6.7-.4.3-.3-.4h.8zm5.8-16.5h1v5.5l-.2.6v.7l-.3.6v.4l-.3.6-.2.6-.3.5-.2.6-.2.5-.3.6-.3.5-.3.6-.3.4-.2.4-.3.4-.4.5-.2.3-.3.4-.4.4-.3.3-.3.4-.4.4-.4.3-.3.3-.7-.8.4-.3.4-.4.3-.3.4-.3.4-.3.3-.4.4-.3.4-.4.3-.4.3-.4.3-.4.3-.4.3-.4v-.5l.4-.3.2-.5.2-.5.2-.5.2-.5.2-.5.2-.6v-.6l.2-.5v-.6l.2-.7v-5.1zm6.8-114.7-.6-1 .8.7-1 3.5-.8 3.5-.8 3.4-.7 3.4-.7 3.4-.7 3.3-.6 3.5-.6 3.4-.4 3.2-.5 3.3-.3 3.4-.4 3.2-.4 3.4-.4 3.3-.2 3.3-.2 3.4-.2 3.4v3.6l-.2 3.5v14.7l.3 3.7.3 4 .2 3.8.3 4 .4 3.8.3 4 .5 4.2.4 4.3.6 4.4h-1l-.6-4.2-.4-4.3-.5-4.2-.3-4-.4-4-.3-4-.2-3.8-.2-3.8v-3.7l-.2-3.7v-14.3l.2-3.4.2-3.4.2-3.4.2-3.4.3-3.3.3-3.4.4-3.3.4-3.3.6-3.4.5-3.3.7-3.4.6-3.3.7-3.4.7-3.4.8-3.5.8-3.4.8-3.5 1-3.6.8.6zm-.6-1 1-.6-.2 1.3zm-24 98h-1l-.7-4.6-.5-4.6-.5-4.5-.3-4.3-.3-4.2-.2-4.2v-8l.2-3.8.2-3.7.3-3.7.4-3.4.5-3.4.6-3.3.8-3.3.7-3 1-3 1-3 1-2.8 1-2.8 1.2-2.5 1.3-2.5 1.4-2.4 1.5-2.3 1.4-2 1.6-2.2 1.7-2 1.7-2 2-1.6 1.8-1.7 2-1.6 2-1.5.6.8-2 1.4-2 1.6-1.8 1.6-1.8 1.7-1.8 2-1.6 2-1.6 2-1.5 2-1.4 2.3-1.4 2.4-1.4 2.4-1.2 2.6-1 2.7-1 2.7-1 3-1 3-.7 3-.7 3-.6 3.4-.5 3.3-.5 3.5-.3 3.6-.3 3.7-.2 3.8v12l.4 4.4.3 4.3.5 4.5.5 4.6.6 4.7zm-.6 0h.5-.4zm-.4 0"/> + <path fill="#fff" d="m344.8 486.2-20.3-6.7c-2.5 20.2 1.4 45.6 7 79 4.6 29 2 51.6-1.5 66.2 21.6-3 30.7-30.7 20-83-3-13.7-5.8-31.3-5.2-55.5"/> + <path fill="#21231e" d="m324.7 479 20.2 6.7-.4 1-20.2-6.7-.3-.6zm-.6.4v-.6l.7.2zm8 79-1 .3-.6-3-.5-3.2-.6-3-.5-3-.5-3-.5-2.8-.4-3-.4-2.7-.4-2.7-.4-2.7-.4-2.7-.3-2.7-.4-2.6-.3-2.6-.3-2.4-.2-2.5-.3-2.3-.2-2.4-.2-2.4v-2.4l-.3-2.3V500l-.2-2v-10.7l.2-2 .2-2v-2l.4-2 1 .3-.2 2-.2 1.8v2l-.2 2v4l-.2 2v4.3l.2 2.3v2.3l.2 2.3.2 2.3.2 2.2.2 2.4.3 2.4.2 2.5.3 2.5.3 2.5.3 2.6.4 2.8.4 2.6.3 2.7.4 3 .6 2.7.4 2.8.4 3 .5 3 .4 2.8.5 3 .4 3 .5 3.2zm-2 65.8v1l-.5-.6.4-1.4.2-1.4.3-1.5.3-1.5.3-1.6.4-1.6.3-1.7.2-1.8.2-1.7.2-1.8.2-2 .2-1.8v-2l.3-2 .2-2v-2l.2-2v-13.4l-.2-2.3-.2-2.4-.2-2.4-.2-2.5-.3-2.5-.3-2.6-.3-2.6-.4-2.6-.4-2.7 1-.2.3 2.7.4 2.7.3 2.5.3 2.6.3 2.6.2 2.5.2 2.6v2.4l.3 2.4v6.8l.2 2.3v4.3l-.2 2v2l-.2 2v2l-.2 2-.2 2-.2 1.8-.3 1.8v1.8l-.4 1.7-.2 1.8-.3 1.6-.2 1.6-.3 1.5-.3 1.5-.4 1.5-.3 1.4-.5-.8zm0 1h-.6v-.6zm19.4-83.5 1-.2 1 5 .8 4.6.7 4.6.5 4.5.5 4.3.4 4 .3 4 .2 4v7.2l-.2 3.4-.2 3.2-.4 3-.4 3-.6 3-.6 2.6-.7 2.6-1 2.4-1 2.3-1 2.2-1 2-1.2 1.8-1.3 1.7-1.4 1.5-1.4 1.4-1.5 1.3-1.5 1-1.8 1-1.8.7-2 .7-2 .5-2 .2v-1l2-.3 1.8-.6 1.8-.6 1.7-.8 1.6-1 1.5-1 1.5-1 1.4-1.5 1.3-1.5 1.3-1.6 1-1.8 1.2-2 1-2 1-2.2.7-2.3.6-2.4.7-2.7.5-3 .4-2.8.4-3 .2-3.3v-3.5l.2-3.5v-3.7l-.3-3.8-.3-4-.3-4-.4-4.3-.7-4.4-.8-4.5-.8-4.7-1-5zm-4.8-55 .3-1 .3.5V503l.2 2 .2 1.8v2l.2 1.8v1.8l.2 1.8.2 1.7.2 1.8.2 1.7.2 1.7.2 1.6.2 1.6.2 1.6.2 1.5.3 1.5.3 1.5.3 1.5.2 1.4.3 1.4.3 1.4.3 1.4.3 1.3v1.3l.4 1.2-1 .2-.2-1.3-.3-1.3-.4-1.2-.2-1.4-.3-1.4-.2-1.4-.2-1.4-.3-1.5-.2-1.5v-1.5l-.4-1.6-.2-1.5-.2-1.6-.2-1.7-.2-1.7-.2-1.7-.2-1.8-.2-1.8v-1.7l-.3-2-.2-1.7v-2l-.3-1.8v-4l-.2-2v-13l.3.5zm.3-1 .3.2v.2l-.4-.5z"/> + <path fill="#21231e" d="M343.6 584h1v.7h-.8v-.2h-.2v-.4zm-4.3-40 1-.4.4 1.2.2 1.2v1l.4 1.3.2 1.3.2 1.2.2 1.2.2 1.2.2 1.3.2 1.3.2 1.2.2 1.3.2 1.3.2 1.2.2 1.3v1.4l.3 1.3v2.6l.3 1.3v1.3l.2 1.2v2.6l.2 1.3v9.1h-1v-7.6l-.2-1.2v-2.7l-.2-1.3V570l-.2-1.3v-1.3l-.2-1.3v-1l-.3-1.4v-1.3l-.3-1.3-.2-1.3v-1.2l-.3-1.3-.2-1.3-.2-1.3-.2-1.3v-1.2l-.4-1.2-.2-1.2-.2-1.2-.2-1.2-.3-1.2-.2-1.2-.2-1.2zm-5.5-50.4h1.2v6.4l.2 1.5v3.3l.2 1.5v1.6l.2 1.5v1.6l.3 1.5v3.1l.3 1.5.2 1.7v1.5l.3 1.6.2 1.5.2 1.6.2 1.4.2 1.6.3 1.5v1.6l.4 1.6.2 1.6.3 1.6.2 1.5.3 1.6.3 1.5.3 1.5.4 1.6-1 .3-.5-1.7-.4-1.6-.3-1.6-.3-1.5-.3-1.5-.2-1.6-.3-1.6-.2-1.5-.3-1.6-.2-1.6-.2-1.4-.3-1.6-.2-1.5-.2-1.6v-1.7l-.3-1.5-.2-1.6v-1.5l-.2-1.6v-1.4l-.2-1.6-.2-1.6V508l-.2-1.7V503l-.2-1.4v-6.4l-.2-1.6zm1.2 0h-1.2v-.2h.2v-.2h.2v-.2h.8v.2h.2v.4z"/> + <path fill="#fff" d="m344 367.3 13.2 2.2-4.6 23.3c-5 24.3-8.2 53-4.5 84.2q2.2 17.5 7.6 28.5c-14.6-1.6-24-15.8-22.7-40.6q-3.9-43.4 3.2-69.4c1.4-5 5.8-24.2 7.8-28.3z"/> + <path fill="#21231e" d="m357 370-13-2.3v-1l13.3 2.3.4.6zm.3-1h.5v.6zm-4.2 24-1-.3.2-.3v-.4l.2-.5v-.6l.2-.7v-.6l.3-.7v-.8l.2-.8v-1l.3-.7.2-1 .2-1v-.8l.2-1 .2-1 .2-1 .2-1 .2-1 .2-.8v-1l.3-.7.2-1v-.7l.3-.7v-.7l.3-.6v-.6l.2-.5v-.4l.2-.3v-.3l1 .2v.6l-.2.5v.5l-.3.6v.5l-.2.7-.2.8-.2.8v1l-.3.7-.2 1v.8l-.2 1-.2 1-.2 1-.2.8-.2 1-.2 1v1l-.3 1-.2.7-.2 1v.7l-.2.7v1l-.2.5-.2.6v.7l-.2.5v.7zm-4.4 84h-1l-.3-2.8-.3-3-.3-3-.2-2.8v-2.8l-.3-3V457l-.2-3v-11l.2-2.7v-2.7l.2-2.7.2-2.8.2-2.6.2-2.6.3-2.6.2-2.6.3-2.6.3-2.5.4-2.5.4-2.5.4-2.5.3-2.4.4-2.4.3-2.4.5-2.4.4-2.3.5-2.3.4-2.3 1 .2-.4 2.2-.4 2.3-.5 2.3-.4 2.4-.4 2.4-.5 2.4-.4 2.4-.2 2.4-.4 2.5-.3 2.5-.2 2.5-.3 2.6-.3 2.5-.2 2.5-.2 2.7-.2 2.6-.2 2.6v2.6l-.2 2.7v2.7l-.2 2.7v11.5l.2 3v2.7l.3 3 .2 2.7.3 3 .3 2.8.3 3zm7 29v-1l-.4.8-.4-.7-.3-.6-.3-.8-.4-.7-.3-1-.3-.6-.3-.8-.4-.8-.3-.8-.2-.8-.2-.8-.3-1-.2-.7-.3-1-.2-.8-.3-1-.2-1-.2-.8v-1l-.3-1-.2-.8-.2-1-.2-1v-1l-.3-1-.2-1v-1l-.3-1-.2-1v-1l-.2-1.2-.2-1 1-.2v1l.3 1v1.2l.2 1v1l.3 1 .2 1 .2 1v1l.2 1 .2 1 .2 1 .2 1 .3.8.3 1 .2.8.2 1 .3.7.2 1 .3.7.2.8.3 1 .3.7.3.8.3.7v.8l.4.8.4.7.3.7.4.7.3.6.3.7-.5.7zm.4-.7.4.8h-1l.6-.7zM332.4 465l1-.2v8.8l.2 2 .2 2 .3 2 .4 1.8.4 1.7.4 1.8.5 1.7.5 1.5.6 1.5.6 1.5.7 1.3.8 1.3.7 1.3.8 1 1 1 .8 1.2 1 1 1 .8 1 .8 1 .8 1 .7 1.2.6 1.2.4 1.2.5 1.2.3 1.2.3 1.3.3h1.4l-.2 1h-1.3l-1.4-.4-1.3-.4-1.3-.4-1.2-.5-1.2-.5-1.2-.7-1-.6-1.2-.8-1-.8-1-1-1-1-1-1-1-1.2-.7-1.2-.8-1.3-.8-1.2-.7-1.4-.7-1.5-.5-1.6-.6-1.6-.5-1.7-.4-1.6-.4-1.8-.3-2-.2-1.8-.2-2-.2-2v-8.9zm3.3-69.6 1 .3-.5 1.6-.4 1.7-.4 1.7-.3 1.7-.3 1.8-.3 1.8-.3 1.8-.2 2-.2 1.8-.3 2-.2 2v2l-.3 2v2l-.2 2-.2 2.3v4.3l-.2 2.2v9.6l.2 2.5v2.4l.2 2.5v2.5l.2 2.6.2 2.6.2 2.5.2 2.6.2 2.8h-1l-.2-2.6-.2-2.6-.2-2.7-.2-2.7v-2.5l-.2-2.6v-2.5l-.2-2.4v-18.5l.3-2v-2.2l.3-2v-2.2l.3-2 .3-2 .3-2 .2-1.8.3-2 .4-1.8.4-1.8.3-1.8.5-1.7.4-1.7.3-1.7.4-1.6zm8.3-28.6v1l.4-.3-.2.4-.2.4-.2.6-.2.6-.3.7-.2.8-.2 1-.2.8-.3 1-.3 1-.2 1-.3 1-.3 1-.3 1.2-.4 1-.3 1.2-.3 1-.2 1.2-.3 1-.3 1.2-.3 1-.3 1-.3 1-.2 1-.3 1-.3 1-.2.8-.2.8-.2.7v.6l-.2.6v.5l-1-.3v-.5l.2-.7.2-.6.2-.8v-1l.4-.7.2-1 .2-.8.3-1 .2-1 .3-1 .2-1.2.3-1 .3-1.2.3-1 .4-1 .2-1.2.3-1 .2-1.2.3-1 .3-1 .3-1 .4-1 .2-1 .3-1v-.8l.4-.8.2-.7.3-.7v-.6l.3-.5.2-.5.5-.2zm-.5.2.2-.3h.3zm.5.3v-.5zm-.5-.3.2-.3h.3z"/> + <path fill="#fff" d="m336 370.4 6.4 7.4c-1.8 1.4 1.3 7-.4 18-1 6.4-4.8 13.8-5.6 22-2.5 26.5-2.5 59.8 5.4 81-14.5-1.6-19.5-14.8-20-39.6-.4-20.6-.4-44.7 4.7-72.7q1.5-9.7 9.4-16z"/> + <path fill="#21231e" d="m342 378.2-6.5-7.5.8-.6 6.5 7.5v.7h-.7zm.8-.7.4.4-.5.2v-.7zm-.3 18.5h-1l.2-1.2v-1l.2-1V385l-.2-.6v-1.2l-.2-.6v-1l-.2-.4v-2.8l.2-.3.3-.4v-.2l.7.8v.2h-.2v.5h-.2v2.2l.2.4v1.1l.2.6v1.1l.2.7v8.1l-.2 1v1l-.3 1zm-5.6 21.7h-1v-1.8l.2-.7.2-.7v-.7l.3-1v-.6l.3-.8.2-.7.2-.8.2-.7.2-.7.2-.7.2-.6.2-.7.2-.7.3-.7v-.7l.3-.6.2-.7.2-.7.2-.6v-.7l.3-.6.2-.6.2-.5.2-.7v-.6l.2-.6v-.6l.2-.6v-.5h1v1.2l-.3.6v.7l-.2.6v.7l-.3.7-.2.6-.2.6v.7l-.3.7-.2.6-.3.7-.2.6-.2.6-.2.7-.2.7-.2.7-.3.7-.3.7-.2.8-.2.7-.2.7v.7l-.2.6-.2.7v.7l-.3.8v.7l-.2.7v1.5zm4.8 81.6v-1l-.4.7-.8-2-.6-2-.7-2.3-.6-2.2-.5-2.3-.5-2.4-.5-2.4-.4-2.4-.4-2.5-.4-2.5-.3-2.5-.3-2.6-.2-2.7-.2-2.7-.2-2.6v-2.7l-.2-2.7V455l-.2-2.8v-10.9l.2-2.7V436l.2-2.8v-2.7l.3-2.6.3-2.7.2-2.6.2-2.6.2-2.4h1l-.3 2.6-.2 2.6-.2 2.5-.2 2.6v2.6l-.2 2.6v2.7l-.2 2.6v2.7l-.2 2.7V455l.2 2.7v2.7l.2 2.7.2 2.5.2 2.7.2 2.6.3 2.5.3 2.6.4 2.4.4 2.4.4 2.5.4 2.3.5 2.4.7 2.2.6 2.2.6 2.2.6 2 .7 2-.5.7zm.5-.6.3.7h-.8zm-21-39.5h1v2.2l.2 2.3v2l.2 2.2.2 2v2l.3 1.7.3 1.8.3 1.8.2 1.6.4 1.5.4 1.6.4 1.5.5 1.4.4 1.2.6 1.3.6 1.2.6 1 .7 1 .6 1 .8 1 .8 1 .8.6 1 .7 1 .7 1 .6 1 .5 1 .4 1 .4 1.3.3 1.3.2 1.3.2-.2 1-1.4-.2-1.3-.3-1-.4-1.3-.4-1.2-.5-1-.6-1.2-.5-1-.7-1-.7-.8-.7-1-1-.7-1-.7-1-.6-1-.7-1.2-.6-1-.5-1.4-.5-1.3-.5-1.5-.5-1.5-.4-1.5-.3-1.7-.4-1.5-.4-1.8-.3-1.8-.2-2v-2l-.3-2v-2l-.2-2.3v-2.2l-.2-2.3zm4.7-72.8 1 .2-.5 2.6-.4 2.6-.3 2.5-.4 2.6-.3 2.4-.4 2.5-.3 2.4-.3 2.4-.2 2.4-.2 2.5-.3 2.3v2.4l-.3 2.4-.2 2.3v2.4l-.2 2.2v2.3l-.2 2v4.5l-.2 2.2V459h-1v-26.9l.2-2.2v-2l.2-2.4v-2.3l.2-2.3.2-2.3.2-2.4.2-2.3.2-2.4.2-2.5.3-2.3.3-2.4.3-2.5.4-2.5.3-2.6.4-2.5.4-2.6.6-2.6.4-2.6zm10.3-16.3-.8.7h.7l-.4.5-.5.4-.5.4-.4.4-.4.5-.4.3-.4.4-.4.5-.4.4-.4.5-.3.5-.4.5-.3.5-.3.4-.3.4-.3.5-.2.4-.3.5-.2.4-.3.5-.2.4-.2.6-.2.5-.2.5-.2.6-.2.5-.2.7v.5l-.3.6v.6l-.2.6v.6l-1-.2v-.6l.2-.6.2-.6v-.6l.3-.6v-.6l.3-.5.2-.6.2-.6.2-.4.3-.6v-.5l.4-.5.2-.6.3-.5.2-.6.3-.5.3-.6.4-.5.3-.6.4-.5.2-.6.4-.4.4-.5.4-.4.4-.4.5-.4.4-.5.5-.4.4-.4.5-.6.6-.4h.7zm-.7 0 .4-.3.3.4z"/> + <path fill="#fff" d="m372.3 390-13.4-1.6c-2.6 12.7-4.5 21.7-5 26.2-1 9 1.8 17 5 23 5-3 7.2-9.4 9.2-18.6s2.7-19.2 4-29z"/> + <path fill="#21231e" d="m359 388 13.3 1.5v1l-13.5-1.6-.4-.7.5-.4zm-.6.3v-.4h.5l-.6.3zm-4 26.4h-1l.2-.6v-.8l.2-.6v-1l.2-.6v-.7l.3-.6v-.7l.2-.7v-.7l.3-.7v-1l.2-.7.2-.8.2-1v-.7l.3-1 .2-.8v-1l.2-1 .2-1 .2-1 .2-1 .2-1 .3-1 .2-1 .2-1.2.2-1.2v-1l.4-1.3 1 .2-.3 1.2v1l-.3 1.3-.3 1-.2 1.2-.2 1-.2 1-.2 1-.2 1-.2 1-.2 1v1l-.3 1-.2.8-.2.8v1l-.3.7v.8l-.3.7v.8l-.2.7-.2.7v.6l-.2.7v1.3l-.2.5v1.1l-.2.5v.9zm4.3 22.6.5.8h-.7l-.3-.7-.3-.6-.4-.6-.3-.5-.3-.6-.2-.7-.3-.7-.2-.6-.3-.7-.2-.7-.3-.7-.2-.8-.2-.7v-.7l-.3-.7-.2-.7-.2-.7v-.8l-.3-.7v-.7l-.2-.8v-.8l-.2-.7v-.8l-.2-.8v-6.1h1v6.6l.2 1v1.4l.3.7v1.6l.3.8.2.7v.8l.3.7.2.7.3.7.2.6.2.7.2.6.2.6.2.6.3.7.3.5.2.6.3.7.3.6.3.6.3.5-.7-.2zm.5.8-.5.4-.2-.5h.7zm8.6-19h1l-.3 1-.2.8-.2 1v.7l-.3.8-.2.7-.2.8-.2.7v.8l-.4.7-.2.7-.3.6v.7l-.4.6-.2.7-.3.6-.2.5-.3.5-.3.6-.3.5-.4.7-.3.5-.4.5-.5.4-.3.6-.4.4-.4.4-.4.4-.5.3-.4.5-.4.3-.4.3-.5-.7.4-.3.5-.3.4-.3.3-.4.4-.3.4-.4.4-.4.4-.5.3-.4.4-.4.4-.5.3-.4.4-.5.2-.4.3-.6.2-.5.3-.6.2-.7.3-.7.2-.6.3-.7.2-.6.2-.7v-.8l.3-.7.3-.7.2-.8.2-.8.2-.8.2-.8.2-.8.2-1zm4.5-28.5v-1l.5.5v1l-.3 1v.8l-.2 1v1l-.2.8v1l-.2.8v1l-.2 1v.8l-.2 1v1l-.2.8v1l-.2.8v1l-.2.8v1l-.2 1-.2.8v1l-.2.8-.2 1v.8l-.2 1-.2.8-.2.8v1l-.3.8v1l-.3.7h-1l.3-1v-.8l.3-1 .2-.7v-1l.3-.8v-1l.3-.8.2-1v-1l.3-.8v-1l.2-.8v-1l.2-.8v-1.8l.2-1v-1l.2-.8v-1l.2-.8v-1l.3-1v-1.8l.2-1v-.8l.2-1v-.8l.3-1v-1l.6.7zm0-1h.6l-.2.5zm0 0v1zm0 1"/> + <path fill="#fff" d="M407 418.6h-11.8q-.7 16.6-.5 22.3c.4 7.5 2.3 14 5.5 18.7 3.6-3 7-8.3 7.6-16.2.6-8-.6-16.5-.7-25z"/> + <path fill="#21231e" d="M395.2 418.2h12v1h-12l-.5-.5zm-.5.5v-.5h.5zm.5 22.2h-1v-11.4l.2-.8v-4.4l.2-.8v-5h1v7.8l-.2.7v5.6l-.2.7v7.7zm4.7 18.4.6.7h-.8l-.3-.5-.3-.4-.3-.4-.4-.5-.2-.4-.3-.5v-.4l-.4-.6-.2-.5-.3-.5v-.6l-.3-.6-.2-.5-.2-.6-.2-.6v-.5l-.2-.6-.2-.7-.2-.6v-.6l-.2-.6-.2-.6v-.7l-.2-.5v-.7l-.2-.7v-.5l-.2-.7v-2.6l-.2-.7h1v1.1l.2.7v1.4l.2.7v.7l.2.6v.7l.2.6v.6l.3.6v.7l.3.6v.7l.3.5v.6l.2.6.2.5.2.5.2.5.3.6.3.5.2.6.3.5.2.6.3.5.2.6.3.5.3.6.4.4.2.5h-.7zm.6.7-.5.5-.2-.5h.8zm6.7-16.6h1v1.6l-.2.7v1.4l-.3.8v.6l-.3.7-.2.7-.2.6-.2.6-.2.5-.2.5-.3.6v.5l-.4.7-.2.5-.3.5-.2.5-.3.4-.3.5-.3.5-.4.4-.3.3-.4.4-.4.4-.3.5-.4.3-.4.4-.4.3-.3.3-.4.3-.7-.6.2-.3.4-.2.3-.3.2-.4.3-.2.4-.3.2-.4.3-.3.3-.4.3-.4.4-.5.3-.4.2-.4.2-.4.3-.5.2-.5.3-.5.2-.5.3-.5.2-.6.2-.4v-.6l.3-.6v-.6l.3-.6v-.7l.3-.6v-1.4l.2-.7V444zm0-24.3v-1l.4.6v5.6l.2 1v4.6l.2.8v2.8l.2.8v9.2h-1v-11.8l-.2-.8V429l-.2-1v-3l-.2-1v-5.3l.4.5zm0-1h.4v.6l-.5-.5z"/> + <path fill="#fff" d="m420 424.2-12 .6q0 16.5.3 22.2a37 37 0 0 0 6.2 18.6c3.5-3 6.8-8.6 7-16.5s-1-16.3-1.5-24.8z"/> + <path fill="#21231e" d="m408 424.3 12-.6v1l-12 .6-.4-.5.5-.5zm-.4.5v-.5h.5l-.4.5zm1.2 22.2h-1v-4l-.2-.6v-17.8h1V445l.2.4zm5.4 18.2.6.8h-.7l-.2-.5-.3-.5-.3-.5-.3-.5-.4-.5-.3-.5-.3-.5-.2-.5-.3-.5-.3-.5-.2-.6-.2-.5-.3-.7-.2-.6-.2-.6v-.4l-.3-.6-.2-.6v-.7l-.3-.6-.2-.5v-.6l-.3-.8v-.6l-.2-.7v-.8l-.2-.6v-.7l-.2-.8v-2h.8v.7l.2.7v1.4l.2.7.2.7v.7l.2.7v.6l.3.6v.7l.2.6v.5l.3.6.2.7.2.5v.6l.3.6.2.5.2.5.2.5.2.5.2.6.2.6.3.5.2.6.2.4.3.5.3.5.3.4.3.5.3.3h-.8zm.6.8-.4.4-.3-.5h.8zm6.2-17h1v2.3l-.2.7v.7l-.2.7-.2.6v.7l-.3.6v.6l-.2.5-.2.6-.2.7-.2.6-.3.5-.3.6-.3.5-.2.4-.3.5-.4.4-.3.4-.3.5-.3.4-.3.4-.3.5-.2.4-.3.3-.3.4-.4.3-.3.4-.3.3-.4.3-.6-.8.3-.3.3-.4.3-.3.4-.3.3-.4.4-.3.4-.4.2-.5.3-.4.2-.3.3-.4.3-.5.2-.4.3-.5.2-.6.3-.5.2-.6.2-.5.2-.6.2-.6.2-.6.2-.5.2-.6v-.5l.3-.7v-.6l.2-.7v-.6l.2-.8zm-1-25.3v1l.5-.5v2.4l.2.8v1.5l.2.7v3.4l.2.7v1.5l.2.8v.8l.2.8v2.5l.2.7v2.3l.2.8v5.3h-1v-7.4l-.2-.7v-1.6l-.2-.8V437l-.2-1v-1.5l-.2-.7v-1.6l-.2-.8v-1.6l-.2-.8v-1.6l-.2-.8v-2.2l.4-.6zm-.5.6v-.6h.5zm.5.4v-1z"/> + <path fill="#fff" d="m395 412.4-12-.8q-1.8 16.4-2.2 22-.4 11.6 4 19.3c3.8-2.8 7.7-8 8.8-15.7 1.2-8 .8-16.4 1.4-25z"/> + <path fill="#21231e" d="m383 411 12 1v1l-12-1-.4-.5.5-.4zm-.4.5v-.5h.5l-.4.5zm-1.3 22.2h-1V431l.2-.4V429l.2-.6v-1.2l.2-.6v-2.2l.2-.7v-1.4l.2-.8v-.8l.2-.8v-1l.2-.8v-1l.2-.8v-1l.3-1v-1l.2-1v-1l1 .2v2l-.3 1v1l-.2 1v.8l-.2 1v.7l-.2 1v.8l-.2.8v.8l-.2.8v1.3l-.2.7v1.4l-.2.6v1.1l-.2.6v1.7l-.2.5v2.7zm3.2 18.8.5.8-.7-.2-.2-.4-.2-.5-.2-.4-.3-.5-.2-.4v-.5l-.3-.5-.3-.5v-.6l-.3-.5v-.7l-.3-.6v-.6l-.3-.4v-.6l-.3-.7V443l-.2-.5v-.7l-.2-.6V440l-.2-.8v-5.5h1v6.8l.2.7v.7l.2.6v.6l.2.5v.6l.2.7.2.6v.6l.3.5v.5l.3.6.2.5.2.7.2.5.2.5.2.5.2.5.3.5.2.5.2.5.2.4h-.7zm.5.8-.4.3-.3-.5.8.3zm8.2-16h1l-.2.8v.8l-.3.7v.7l-.3.7-.2.6-.2.6-.2.6-.3.6-.2.6-.3.6-.2.6-.3.5-.3.6-.3.5-.4.5-.3.5-.3.4-.3.5-.3.4-.4.6-.3.4-.4.4-.3.3-.4.4-.3.5-.4.3-.5.3-.3.4-.4.3-.4.3-.3.3-.5-.8.3-.3.4-.2.3-.3.4-.3.2-.3.4-.2.3-.4.3-.3.3-.3.3-.4.2-.4.4-.5.3-.4.2-.3.3-.5.3-.5.3-.4.4-.5.2-.5.3-.6v-.5l.4-.6.2-.5.2-.5.2-.6.2-.7.2-.7.2-.6.2-.7v-.7l.2-.7.2-.8zm1.8-24.4v-1l.5.5v1.5l-.2.8v5.6l-.2.7v9l-.2.8v2.2l-.2.8v.7l-.2.8v1l-.2.6v.8l-1-.2v-.7l.2-.8v-1.5l.2-.7V432l.2-.8V428l.2-.8V421l.2-.7v-4.8l.2-.8v-2.3l.6.5zm0-1h.5v.5z"/> + <path fill="#fff" d="m384 399.6-13.2-5.4c-2.2 8.8-5.2 37.8 0 50 4.5-3 9-8.4 10.3-17 1.6-9 2-18.2 3-27.6z"/> + <path fill="#21231e" d="m371 393.7 13 5.4-.3 1-13-5.4-.4-.6zm-.7.3.2-.5.5.2zm.3 50 .6.7-.7-.2-.5-1.2-.5-1.3-.3-1.4-.4-1.5-.3-1.5-.3-1.6-.2-1.7-.2-1.7v-1.8l-.2-1.8v-3.6l-.2-2V418l.2-2v-1.8l.2-1.8.2-1.8V409l.3-1.8.2-1.7V404l.3-1.6.2-1.5.3-1.4.2-1.3.2-1.2.2-1v-1l.3-1 1 .3-.2 1v.8l-.3 1.2-.3 1.2-.2 1.3-.2 1.4-.2 1.5-.2 1.6-.2 1.6v1.7l-.3 1.7v1.7l-.2 1.8v1.8l-.2 1.8v3.8l-.2 2v5.4l.2 1.8v1.7l.2 1.8.2 1.7.2 1.6.3 1.6.3 1.5.3 1.3.5 1.4.4 1.2.4 1h-.8zm.6.7-.5.3-.2-.5zm9.4-17.7h1v1l-.3.8-.2.8v.7l-.3.8-.2.8-.3.7-.2.7-.3.7-.3.5-.3.7-.2.6-.3.6-.3.6-.3.6-.5.5-.3.7-.4.5-.4.5-.3.5-.3.4-.4.5-.4.5-.5.4-.4.3-.3.4-.4.4-.4.4-.5.4-.5.3-.4.4-.4.3-.6-.8.4-.4.4-.3.4-.3.4-.3.4-.4.4-.3.4-.4.4-.4.4-.4.3-.4.4-.4.3-.5.3-.4.4-.4.3-.5.4-.4.3-.6.3-.5.3-.6.3-.6.2-.6.3-.7.3-.5.2-.6.3-.8.2-.7.2-.7.3-.7v-.7l.3-.7.2-.8v-.8zm3-27 .4-1 .4.6v1l-.2.8v1.7l-.2 1v1l-.2.8v1.8l-.2.8v1.7l-.2 1v1.7l-.2 1v1.6l-.2 1v.7l-.2 1v.8l-.2.8v1l-.2.7v.8l-.2 1v.8l-.2 1v.7l-.3.8v.8h-1v-.8l.2-1v-1.5l.2-.8v-1l.2-.8v-1l.2-.7v-1l.2-.7v-1l.2-.7v-1.6l.2-1v-.7l.2-1V410l.2-.8v-1.8l.2-.8v-1.8l.2-1v-1.5l.2-1v-.8l.2-1zm.4-1 .4.3v.3l-.4-.5zm0 .6-.3.4.2-.4zm0-.5.4.3v.3l-.4-.5z"/> + <path id="rs-c" fill="#edb92e" stroke="#21231e" d="M387.8 701.2c8 6.3 15.2-8.3 8-27.6-5-14.2-30.6-8.7-16.4 10.5.7 1 1.6.6 1.5-.4-1-4 1.6-6.3 5.5-5.5 10.5 2 11 22-.6 17.6-2.2-.2-.4 4 1.7 5.6z"/> + <path fill="#edb92e" stroke="#21231e" d="M400 639.2c-1 3.4-5 7.6-8 10.8-4.5 4.8-3.4 12.2-.2 16 3.5 4.4 5 9.2 5.8 13 .5 2.3 1.5 7.4.8 15.5-.4 4-2.7 6-5 7.7q-1.5 1.5 4.3 6c.4.2 1.5 1 2 3 .2.4 2 .4 2.2 0 .4-2 1.6-2.8 2-3 3.7-3 5.4-5 4.2-6-2.2-1.7-4.6-3.8-5-7.7-.6-8 .3-13.2.8-15.5.8-3.8 2.3-8.6 6-13 3-3.8 4.2-11.2-.5-16-3-3.2-7-7.4-8-10.7q0-1.1-.7-1-.6-.1-.7 1z"/> + <path fill="#edb92e" d="M395 685.5h11.6c2 0 3.6 1.6 3.6 3.5 0 2-1.6 3.5-3.6 3.5H395c-2 0-3.5-1.5-3.5-3.5s1.6-3.5 3.6-3.5z"/> + <path fill="#21231e" d="M406.6 686H395v-1h11.6zm4 3h-1v-1l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2h-.2v-.2h-.3v-.2h-.2v-.2h-.3l-.2-.2h-.5v-.2h-.6v-1h1l.2.2h.4v.2h.3l.2.2h.2v.2h.2v.2l.3.2.2.2v.2l.3.2.2.3v.3l.2.3v.4l.2.2zm-1 0h1zm-3 4v-1h.8l.3-.2h.2l.2-.2.2-.2h.3v-.2l.2-.2v-.2l.2-.2.2-.3v-.3l.2-.2v-.8h1v1.2l-.2.2v.4h-.2v.3l-.2.3h-.2v.3h-.2v.3h-.3l-.3.2v.2h-.3l-.2.2h-.2l-.3.2h-.4l-.2.2h-.8zm-11.5-1h11.6v1H395v-1zm-4-3h1v1l.2.2v.3h.2v.2h.2v.2h.2v.2h.2v.2h.2l.3.2h.2l.2.2.3.2h.6v1h-1.2v-.2h-.3l-.2-.2h-.2l-.2-.2-.2-.2-.3-.2-.3-.3-.2-.3-.2-.3-.2-.2v-.2l-.2-.2v-.4l-.2-.2zm1 0h-1zm3-4v1H394v.2h-.3l-.2.2h-.2v.2h-.2v.2l-.2.2-.2.2-.2.2v.2l-.2.2v.5h-.2v.6h-1v-1.2l.2-.2v-.2h.2v-.3h.2v-.2l.2-.2v-.2h.2l.2-.2v-.2h.3v-.2h.3v-.2h.3l.3-.2h.2l.2-.2h.5l.2-.2h.7z"/> + <path fill="#fff" d="m417 579.2.5-11c-4.4-2.2-15.2 0-19.7 10.2a65 65 0 0 1-18 25.2c10 1.8 18.4-.2 23.7-7.4 7.3-9.8 11.2-15.7 13.6-17z"/> + <path fill="#21231e" d="m418 568.3-.4 11h-1l.4-11 .7-.5zm-.3-.5.3.2v.3zm-19.5 10.8-1-.4.6-1 .5-.8.5-1 .6-.7.5-.8.5-.8.7-.7.6-.6.7-.7.7-.5.7-.6.6-.4.7-.5.8-.4.8-.4.7-.3.8-.3.7-.2.7-.3h.7l.8-.3h1.2l.7-.2h2l.7.2h.5l.6.2.5.2.4.2-.4 1-.4-.3h-.5l-.5-.2h-.5l-.5-.2h-3l-.7.2h-.6l-.7.3-.7.2-.7.2-.7.2-.8.3-.7.3-.7.4-.7.4-.5.5-.7.5-.7.6-.5.6-.6.6-.7.7-.6.6-.5.7-.6.8-.5 1-.3.7zM380 603l-.2 1-.2-.8.6-.6.6-.5.7-.5.6-.6.7-.6.6-.6.5-.6.6-.6.6-.7.6-.7.5-.6.7-.7.5-.7.6-.7.5-.7.6-.8.4-.8.5-.7.5-.8.5-1 .5-.8.6-.8.6-1 .5-.8.6-1 .6-1 .5-1 .5-1 .5-1 .6-1 .5-1.2.5-1.2 1 .4-.6 1.2-.5 1-.6 1.2-.5 1-.4 1-.6 1-.5 1-.5 1-.6 1-.5 1-.6.8-.6.8-.5.8-.5.8-.6.8-.5.8-.6.7-.4.7-.6.8-.6.6-.5.7-.7.7-.6.6-.6.7-.4.6-.6.5-.6.6-.7.7-.6.5-.5.6-.6.6-.8.5-.2-1zm-.2 1h-1l.8-.8zm23.4-8 .8.5-.6.7-.5.6-.7.6-.6.6-.6.6-.5.5-.6.6-.7.5-.7.5-.7.4-.8.3-.7.4-.7.3-.7.3-.7.2-.7.3-.8.2-.8.2h-.8l-.8.2h-.8l-1 .2h-6.1l-1-.2-.8-.2-1-.2.2-1 1 .2.8.2h1l.8.2h6.6l.8-.3h.8l.7-.3.8-.2.7-.2.7-.3.7-.2.7-.2.8-.4.6-.3.7-.3.7-.4.6-.5.6-.5.5-.5.5-.5.6-.5.5-.6.7-.6.5-.7zm13.4-16.8h1l-.2.4-.2.2h-.2l-.3.3-.2.3-.3.2-.2.3-.3.3-.3.4-.3.3-.2.4-.4.5-.3.4-.3.3-.4.5-.3.5-.4.5-.5.6-.3.5-.4.5-.5.7-.5.6-.5.7-.5.7-.5.7-.5.6-.6.8-.6.8-.5.8-.6 1-.7.7-.7 1-.6.8-.8-.6.6-1 .7-1 .6-.7.7-1 .6-.7.6-.8.5-.7.5-.7.5-.7.5-.7.5-.8.5-.6.5-.6.4-.6.4-.6.4-.6.4-.5.4-.5.3-.5.3-.4.4-.5.3-.4.3-.4.3-.3.4-.3.3-.3.2-.2.3-.3.3-.2.4-.2h.2l.3-.2zm1 0v.3h-.2z"/> + <path fill="#fff" d="m425.2 580.6-11.8-5q-7.5 14.9-9.5 20.2c-2.8 7-3.5 13.8-2.3 19.5a22 22 0 0 0 14-11.6c3.8-7 6-15.3 9.5-23z"/> + <path fill="#21231e" d="m413.6 575.2 11.7 5-.3 1-11.8-5-.3-.8.6-.2zm-.7.2v-.4l.6.2zm-8.7 20.6-1-.4.2-.3.2-.4.2-.5v-.4l.2-.3.2-.5.2-.4.2-.5.2-.5.3-.5.2-.5.3-.6.2-.5.3-.6.3-.5.3-.7.2-.6.3-.6.3-.7.4-.8.3-.7.4-.8.2-.7.4-.8.4-.8.4-.8.4-.8.4-.8.4-1 .4-.8.5-.8.4-1 .8.5-.4.8-.5 1-.5.8-.4.8-.3 1-.4.7-.4 1-.5.7-.4.7-.3.8-.3.7-.4.6-.3.7-.3.7-.3.6-.2.7-.3.6-.3.5-.3.6-.3.6-.3.6-.2.5-.3.5-.3.5-.2.5-.2.4-.2.5v.5l-.2.4-.2.3v.3l-.3.4zm-2.7 18.8.2 1-.6-.4v-.5l-.2-.7v-.6l-.2-.5v-1.7l-.2-.5v-3.7l.2-.6v-1.2l.2-.7v-.6l.2-.5v-.7l.2-.6.2-.7v-.6l.3-.8v-.6l.3-.7.2-.7.2-.7.2-.7.2-.7.2-.7 1 .4-.3.6v.7l-.4.6-.2.6-.2.6-.2.7v.5l-.3.6v.8l-.3.6v.6l-.2.7v.6l-.2.6v.5l-.2.6v1.9l-.2.5v3.5l.2.5v1.2l.2.5v.7l.2.5-.6-.4zm.2 1h-.5v-.4zm13.5-12.4 1 .5-.5.6-.3.6-.4.6-.3.6-.4.6-.4.5-.5.6-.5.6-.4.5-.4.6-.5.4-.4.5-.5.4-.5.3-.4.4-.6.4-.5.4-.5.4-.5.3-.5.4-.5.3-.4.2-.5.2-.4.2-.5.2-.4.3h-.4l-.5.2-.5.2h-.5l-.4.3h-.5l-.2-1h.9l.4-.3h.4l.4-.3h.5l.4-.3.5-.2.4-.2.5-.2.5-.2.5-.3.5-.3.4-.3.4-.4.4-.3.5-.4.4-.4.4-.4.6-.4.4-.5.4-.4.5-.6.3-.4.4-.5.4-.6.5-.6.4-.5.2-.7.4-.6.4-.6.3-.6zM425 581l.3-.8.3.6-.3.7-.3.8-.3.7-.3.7-.3.8-.2.7-.3.7-.2.7-.3.7-.3.8-.3.7-.2.6-.3.8-.4.7-.3 1-.2.6-.2.7-.3.8-.3.8-.2.7-.3.7-.3.8-.3.7-.2.7-.3.7-.3.8-.3.7-.5.7-.3.7-.3.6-.5.6-.3.7-1-.6.5-.6.3-.7.3-.6.3-.6.4-.7.3-.6.3-.7.3-.7.2-.7.3-.7.2-.7.3-1 .3-.6.3-.7.3-.7v-.8l.4-.7.3-.7.3-.8.2-.7.3-.7.3-.8.3-.7.3-.7.3-.7.3-.7.2-1 .3-.6.3-.8.3-.7.4-.8.3-.8zm.3-.8.5.2-.2.4z"/> + <path fill="#fff" d="m428.6 580.6-12.7-2q-3.7 16.1-4.4 22-1.4 11.3 2.7 19.4c4.3-2.3 8.8-7 10.7-14.7 2-7.8 2.2-16.3 3.6-24.7z"/> + <path fill="#21231e" d="m416 578.2 12.6 2v1l-12.8-2-.4-.6zm-.6.4v-.5l.6.2-.6.4zm-3.3 22h-1l.2-.5V599l.2-.6v-.5l.2-.6v-.5l.2-.6v-.6l.2-.5v-.6l.2-.6v-.6l.2-.6.2-.7v-.6l.3-.7v-.7l.2-.8v-.8l.3-.8.2-.8v-.8l.3-1 .2-.7.2-1 .2-.8.2-1 .2-1 .2-1 .2-1 1 .3-.2 1-.2 1-.2 1-.2 1-.2.8-.2 1-.2.7-.2 1-.2.7v.8l-.3.8-.2.8v.8l-.2.7v.6l-.2.7-.2.7v.6l-.2.6-.2.7v.4l-.2.6v.6l-.2.5v1.1l-.2.6v.4l-.2.4v1.2zm2 19 .5.8-.7-.2-.2-.5-.3-.5-.2-.5v-.6l-.3-.4-.2-.5-.2-.5-.2-.6v-.6l-.2-.6v-.6l-.3-.6v-.6l-.2-.6v-.6l-.2-.6v-2.8l-.2-.6v-5.4l.2-.7v-1.5h1v3.1l-.2.7v5.1l.2.6v1.2l.2.6v.6l.2.6v.6l.3.6v.5l.2.6v.7l.3.5v.5l.3.6.2.5.2.5.2.5.3.5.2.5-.7-.2zm.5.8-.5.3-.2-.5zm10-15.2 1 .2-.2.7-.2.8v.7l-.3.7-.3.7-.2.5-.3.6-.4.7-.3.6-.3.6-.3.4-.3.6-.4.5-.3.5-.4.5-.4.5-.4.4-.4.5-.4.3-.4.4-.4.4-.4.5-.4.3-.4.4-.4.3-.4.3-.4.3-.4.4-.5.3-.4.3-.4.2-.5.2-.5-.8.4-.2.4-.3h.4l.4-.4.4-.3.4-.3.4-.3.4-.3.4-.3.4-.3.3-.3.4-.4.4-.4.5-.4.3-.4.4-.5.3-.4.4-.6.2-.5.3-.6.3-.5.3-.6.4-.6.3-.5.3-.6.2-.6.3-.5.2-.6.3-.8.2-.7.2-.6zm4-25v1l.5-.5v.8l-.2.8v.7l-.2.8v.8l-.2.8v.8l-.2.8v.7l-.2.8v.8l-.2.8v1.7l-.2.7v.8l-.2.8v.8l-.2.8v.7l-.2.8v1l-.2.6v.8l-.2.8-.2.7v.7l-.2.7-.2.8v.7l-.3.7-.2.7-1-.2.2-.8.2-.7v-.7l.2-.8v-.7l.3-.7v-.8l.2-.8v-.7l.2-.8v-1.5l.2-.8v-.7l.2-.8v-1l.2-.7v-.7l.2-.8v-1.6l.2-.8v-.8l.2-.7v-1l.2-.7v-.8l.2-.8v-.8l.2-1v-.7l.3-.8.5-.4zm-.4.3v-.4h.5l-.4.5zm.5.6v-1z"/> + <path fill="#fff" d="M430.4 563.4h7.6c4.4 2 9 12.2 3.7 22a66 66 0 0 0-9.5 29.2c-7.4-6.8-10.8-14.7-8.2-23.3 3.4-11.7 6.8-25.2 6.4-28z"/> + <path fill="#21231e" d="M438 564h-7.6v-1h7.8zm0-1h.2zm4 22.5-.8-.5.5-1 .4-.8.4-.8.3-1 .3-.8.2-1v-.7l.3-1V574l-.2-1v-.6l-.3-.8-.2-.7-.3-.8-.2-.7-.3-.6-.3-.7-.3-.6-.3-.6-.3-.4-.3-.5-.4-.3-.4-.4-.3-.4-.4-.4-.5-.3-.4-.3-.3-.2.5-1 .4.4.5.2.5.4.4.4.4.4.4.4.4.5.4.6.3.6.3.6.3.6.3.7.2.7.3.7.2.6.2.8v.7l.3 1v.8l.2.8v3.5l-.2 1v1l-.4.8-.3 1-.3 1-.4.8-.4 1-.5 1zM432 615l.5-.7-.8.3v-.8l.2-1v-2.3l.3-1v-.7l.2-.8.2-1 .2-.8v-1l.2-.7.3-1 .2-.8.2-1 .2-.7.3-1 .3-.8.3-1 .4-1 .4-.8.4-1 .4-1 .4-1 .4-1 .5-1 .4-1 .5-1 .5-1 .5-1.2.6-1 .6-1.2 1 .5-.7 1-.6 1.2-.7 1-.5 1-.5 1.2-.5 1-.4 1-.5 1-.5.8-.4 1-.3 1-.3 1-.4.8-.3 1-.3.8-.2.8-.3 1-.4.8-.2.8-.2 1-.2.7-.2 1v.7l-.3.8v1l-.3.7v.8l-.2.8v1l-.2.7v1.8l-1 .2zm.7-.3v1l-.8-.7.7-.3zm-9.2-23.6 1 .4-.3.8-.2.8v.8l-.2.7v.8l-.2.8v3l.2.8.2.8v.7l.3.7.3.7.2.8.3.7.4.7.4.6.3.7.5.7.4.7.4.7.5.6.4.7.5.7.4.6.6.7.6.6.6.7.7.6.5.7-.6.7-.8-.6-.7-.7-.6-.7-.7-.6-.6-.7-.6-.7-.4-.7-.6-.7-.4-.7-.5-.8-.3-.7-.5-.7-.3-.8-.5-.7-.3-.7-.3-.8-.4-.7-.2-.7-.2-.8-.2-.7v-.8l-.2-.8v-.8l-.2-.8v-2.5l.2-.8v-.8l.3-.8.3-1 .2-.7zm7-28v1l.4-.7v1.8l-.2.5v1.1l-.2.7-.2.7v.8l-.3.8v.8l-.2 1-.2.8-.2 1-.3 1v1l-.4 1-.2 1-.3 1-.2 1-.2 1-.3 1.2-.3 1-.3 1.2-.3 1-.3 1.2-.3 1.2-.3 1-.3 1.2-.2 1-.4 1.2-1-.3.4-1 .3-1 .5-1.2.3-1 .3-1.2.4-1.2.3-1 .3-1.2.3-1 .3-1.2.3-1 .2-1 .2-1 .3-1.2.2-1 .2-1 .2-1 .2-.8.2-1 .2-.8.2-.8v-.8l.3-.7v-.8l.2-.7v-.6l.2-.6v-2l.4-.6zm-.6.5v-.6h.4l-.5.5zm.4 0v-.6.4zm-.5 0v-.6h.4l-.5.5z"/> + <path fill="#fff" d="m433.8 558.2-12-4.3q-6.5 15-8.4 20.5-3.4 11-1 19.6a21 21 0 0 0 14-11.6c3.3-7.3 4.5-16.3 7.4-24.2"/> + <path fill="#21231e" d="m422 553.4 12 4.3-.4 1-12-4.4-.3-.6zm-.7.3.2-.4h.4l-.7.4zm-7.4 21-1-.3v-.4l.2-.4v-.4l.3-.4v-.4l.3-.5.2-.5v-.5l.3-.5.2-.5.2-.6.3-.6.2-.5.2-.6.3-.6.2-.6.2-.6.3-.7.3-.6.3-.7.4-.7.3-.8.3-.8.3-.7.4-.8.3-1 .4-.8.3-1 .4-.8.5-1 .4-.8.3-1 1 .5-.5 1-.4 1-.4.8-.3 1-.4.8-.4.8-.4.8-.3.8-.4.8-.4.8-.3.7-.3.8-.3.8-.3.7-.3.6v.8l-.4.6-.2.6-.3.6v.6l-.3.6-.2.5-.2.5-.2.5v.5l-.3.5-.2.4v.5l-.3.4v.3l-.2.3v.4zm-1.8 19 .3 1-.6-.4-.3-.6v-.5l-.2-.6v-.5l-.2-.5v-.6l-.2-.7V583l.2-.7V581l.3-.6v-.7l.2-.6v-.6l.3-.6.2-.7v-.6l.3-.7.2-.6.2-.6 1 .3-.3.6-.2.7-.2.7-.2.6v.7l-.2.6v.7l-.2.6-.2.6v.6l-.2.6v1l-.2.7v6.5l.2.6v1.1l.2.4.2.6v.5l.2.5zm.3 1h-.5v-.4l.5.3zM426 582l.8.6-.3.6-.4.7-.2.5-.4.6-.4.7-.4.6-.4.5-.4.5-.4.5-.5.5-.5.5-.5.4-.4.4-.5.4-.4.4-.4.4-.5.3-.5.5-.5.3-.5.3-.5.4-.4.2-.5.3h-.5l-.5.4-.5.2-.5.2-.5.2h-.4l-.6.3-.4.2h-.5l-.3-.8.4-.2h.5l.5-.3.5-.2h.4l.5-.3.4-.2.4-.3.5-.2.5-.2.5-.3.4-.3.5-.3.5-.4.4-.3.6-.3.4-.4.5-.3.4-.4.4-.5.4-.4.4-.4.4-.4.4-.5.4-.5.4-.5.4-.5.4-.6.3-.6.3-.6.3-.6.3-.7zm7.6-23.4.4-1 .3.7-.3.8-.3.8-.2.8-.3.7-.2.8-.2 1-.2.6-.2.8-.3.8v.8l-.3.7-.2.8-.2.8-.2.8v1l-.3.6-.2.8-.2.8-.2.8v.7l-.3.8-.2.8-.3.7-.2.8-.2.7-.3.8-.3.7-.2.7-.3.8-.3.7-.3.7-.2.6-1-.5.4-.5.3-.7.3-.7.3-.6.3-.7.3-.8.2-.8.2-.7.3-.8.2-.7.2-.8.2-.7v-.8l.4-.8.2-.8.2-.8.2-.8.2-.8.2-.7.2-.7.2-.8.2-.8.2-.8.2-1 .2-.6.2-.8.3-.8.3-.8.2-.7.3-.8.3-.8.3-.7.3.6zm.4-1 .4.3v.3zm-.2.6-.2.4zm.2-.5.4.2v.3l-.4-.6z"/> + <path fill="#fff" d="m425.6 549.7-2.6-16.4c-2.8-.7-6.5 5.8-10 9.5q-1.6 1.3-2.6 2.8a23 23 0 0 0-3.4 8 62 62 0 0 1-13 27.6c10.2-.2 18-3.8 21.8-12 5-11 7.7-17.7 9.8-19.5"/> + <path fill="#21231e" d="m423.4 533.3 2.7 16.4h-1l-2.5-16.3.6-.6.4.5zm-.3-.4h.4v.2l-.3-.4zm-9.7 10.2-.8-.7.4-.4.2-.2.3-.4.4-.4.2-.4.3-.4.4-.4.2-.5.3-.4.4-.5.2-.4.3-.3.4-.5.2-.4.3-.4.4-.3.2-.3.3-.4.3-.3.4-.3.3-.4.3-.2.3-.2.4-.2.4-.3h.3l.4-.3h.3l.4-.2h1.1l-.2 1h-1l-.3.2-.2.2-.3.2-.3.2-.3.2-.3.3v.4l-.5.3-.3.3-.3.3-.4.4-.3.4-.3.5-.4.4-.3.3-.3.4-.3.4-.4.5-.3.5-.3.4-.4.4-.3.4-.4.4-.3.4-.4.4-.4.4-.3.4zm-2.5 2.7-.8-.7v-.2h.2l.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2h.2v-.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l1 .6h-.2l-.2.2v.2h-.2v.2h-.2l-.2.2v.2h-.2l-.2.2v.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2l-.2.2v.2zm-3.3 7.7-1-.2v-.6l.2-.4v-.3l.2-.3v-.8l.2-.3v-.3l.2-.3v-.3h.2v-.4l.2-.3v-.2l.2-.2v-.2l.3-.3v-.2l.2-.2v-.2l.3-.2v-.3h.2v-.3l.3-.3v-.2l.3-.2v-.2l.2-.3.2-.2.8.6-.3.3v.2l-.2.2-.2.2v.4l-.2.2-.2.2v.3l-.2.3v.2l-.2.3-.2.2v.2l-.2.3v.2l-.2.3v.2l-.2.3v.2l-.2.3v.5l-.2.3v.2l-.2.3v.5l-.2.3v.7zm-13.4 27v1l-.3-.8.5-.8.5-.7.5-.6.5-.8.5-.7.5-.7.4-.6.6-.7.4-.7.5-.8.4-.7.4-.7.4-.8.4-.7.4-.7.4-.8.4-.8.4-.8.4-1 .4-1 .3-.8.3-1 .3-.8.4-1 .3-1 .4-1 .3-1 .3-1.2.3-1 .3-1.3.2-1.3.3-1.2 1 .2-.3 1.2-.3 1-.4 1.3-.3 1.2-.4 1-.4 1-.3 1.2-.4 1-.4 1-.4 1-.3 1-.5.8-.4 1-.3.8-.4.8-.4 1-.5.8-.4.8-.3.7-.5.8-.4.8-.5.8-.4.7-.6.7-.5.7-.5.7-.5.7-.5.8-.5.7-.5.6-.5.8-.5.7-.4-.8zm0 1h-1l.7-.8zm21.3-12.8 1 .4-.5.7-.4 1-.4.6-.4.7-.5.7-.4.6-.5.6-.5.6-.5.6-.6.5-.6.4-.6.5-.7.4-.6.4-.8.4-.7.4-.7.4-.7.3-.7.3-.8.3-.8.2-.8.2-1 .2-.7.2-1 .2-.7.2h-1l-.8.2h-1l-.8.2h-2v-1h2.8l1-.2h.8l.8-.2 1-.2h.7l1-.3.7-.2.7-.3.8-.2.7-.3.7-.3.7-.3.6-.3.7-.3.6-.4.7-.5.6-.4.6-.4.5-.4.6-.6.5-.5.5-.4.5-.6.5-.6.4-.7.5-.6.4-.6.3-.7.3-.8zm9.8-19.2h1v.3l-.3.3v.2l-.3.2-.2.2-.2.2-.2.3-.3.4-.2.2-.2.4v.4l-.4.5-.2.5-.3.5-.2.5-.3.6-.2.6-.3.6-.3.6-.4.7-.3.8-.3.8-.4.7-.3.8-.4 1-.4.7-.4 1-.4.8-.4 1-.4 1-.5.8-.3 1-.5 1-1-.4.6-1 .4-1 .5-1 .4-1 .5-1 .4-.8.3-1 .4-.7.4-.8.4-.8.4-1 .3-.6.4-.7.4-.7.3-.6.4-.7.3-.6.2-.4.2-.6.3-.5.2-.5.3-.4.2-.5.3-.3.2-.4.2-.3.2-.4.2-.3.2-.3.2-.2.3-.2.3-.2-.2.4zm1 0v.3z"/> + </g> + <use xlink:href="#rs-d" width="1350" height="900" transform="matrix(-1 0 0 1 964.3 0)"/> + <path fill="#fff" stroke="#21231e" d="m536.4 415 4.8-1.5a66 66 0 0 1-21.4-22c-7.8-12 3.3-33 8-44.3a53 53 0 0 0 21.2-31c1-7.3-19-4.7-33 2-17 8-19.3 5.7-25.4 7-2.2 10.5 2.4 11.4 6.7 11-9.4 15-13.3 29.8-15 51.4-2-21.6-6-36.5-15.3-51.5 4.3.6 9-.3 6.7-10.7-6-1.4-8.4.8-25.4-7.2-14-6.5-34-9-33-1.8 3 13.7 11.8 24 21.3 31 4.6 11.2 15.7 32.4 8 44.2a67 67 0 0 1-21.5 22q2.5 1 5 1.5c-1.2 1.5-11 4.5-12.3 3.7-7.6-5.3-15-18-21.4-25.2-18.2-20.8-27.3-36.7-24-49.6 4.5-14 20.8-29.6-.8-27-21.7 2.8-39.6 32.5-45.4 68.3l-4.7 33.5c11.8-4.3 17-8.5 20.2-13.7q-2.1 7.5-3.2 14.2c9.7-1.7 16.7-6.4 19.2-15q1.6-5.3 3.6-9c3 1 7 1 11.6 0 1.7 4 15 19 22.2 30 8 12.2 20.2 21.6 24.2 22 2 .4 2.7-4 2.2-10.2 21 .2 42.3.3 63-.4q31.1.9 63 .4c-.6 6 0 10.6 2 10.3 4-.5 16.2-10 24.3-22.2 7-10.8 20.5-25.7 22.2-30a20 20 0 0 0 11.6.2q2 3.7 3.5 9c2.5 8.6 9.5 13.3 19.2 15q-1-6.6-3.2-14c3.2 5 8.4 9.3 20.2 13.6-1.4-9-2.7-20.3-4.8-33.5-5.8-35.8-23.7-65.5-45.4-68.2-21.6-2.6-5.3 13-.7 27 3.3 12.8-5.8 28.7-24 49.5-6.5 7.3-13.8 20-21.4 25.2-1.2.8-11-2.2-12.2-3.8z"/> + <g id="rs-e"> + <path fill="#edb92e" d="M440.6 356.8c-2 1.8-8.8 1.8-18 2.4q-22.3.7-25.3-13.5c5.6 6.6 12.2 10 19.7 8 10.2-2.5 16-4.3 18.3-3.8 1.6.4 4 3.3 5.3 6.8z"/> + <path fill="#21231e" d="M422.6 359.7v-1h1.8l.7-.2h2.5l.8-.2h2.8l.8-.2h3l.5-.2h1l.4-.2h.5l.4-.2h.4l.5-.2h.3l.3-.2h.4l.3-.2h.2v-.3h.3l.6.7h-.3l-.3.3-.3.2h-.2l-.3.3h-.4l-.3.2h-.4l-.4.2h-.5l-.5.2h-1l-.5.2h-1.5l-.6.2H432l-.6.2h-2.8l-.8.2h-2.3l-1 .2H423zm-25-14.3-.7.6.8-.4.2 1 .2.7.3.8.3 1 .3.6.5.7.4.7.4.6.5.6.4.6.6.6.6.5.6.4.7.5.6.3.8.5.8.4.8.3 1 .4.8.2 1 .3 1 .2 1 .2h1l1 .3h1.2l1.2.3h6.6v1H416l-1-.2h-1.3l-1-.3h-1.2l-1-.3-1-.3-1-.3-1-.2-1-.4-.8-.3-.8-.4-1-.4-.7-.5-.7-.5-.7-.5-.7-.6-.6-.5-.6-.6-.4-.8-.5-.7-.3-.7-.4-.8-.4-.7-.4-1-.3-.7-.3-1-.2-.8 1-.4zm19.3 8 .2 1h-.8l-.7.2h-1.4l-.7.2h-2.8l-.6-.2-.7-.2h-.7l-.6-.3h-.7l-.6-.3-.8-.3-.6-.3-.6-.2-.6-.3-.6-.4-.6-.3-.6-.4-.6-.4-.6-.6-.6-.4-.6-.5-.5-.6-.6-.6-.4-.6-.6-.5-.5-.6-.6-.7.7-.6.5.6.5.6.6.6.5.5.5.5.6.5.4.5.6.5.6.4.5.5.7.4.6.3.6.3.4.3.6.2.6.3.6.2.7.2h.5l.6.3.7.2h.6l.7.2h4.7l.6-.3h.7zm18.5-4-.3 1h-2.6l-.4.2h-.9l-.5.2-.5.2h-.5l-.6.2h-.5l-.6.3h-.5l-.7.3-.7.2h-.6l-.7.3-.7.2-.8.2-.8.2h-.8l-.8.3-1 .3-.8.2-1 .2-.8.3-.3-1 1-.2.8-.2 1-.2.7-.2 1-.2.7-.2.8-.2.7-.2.8-.2.7-.2.7-.2.6-.2h.6l.6-.3h.6l.6-.3h.6l.5-.2h.6l.5-.2h.6l.4-.2h.9l.3-.2zm5.4 7.8-.7-.8-.2.6v-.7l-.3-.3v-.3l-.3-.3v-.3l-.3-.2v-.3l-.2-.2-.2-.3v-.3l-.3-.2-.2-.3v-.2l-.2-.2-.2-.3v-.2l-.3-.2h-.2v-.3h-.2l-.2-.3v-.2h-.3l-.2-.2v-.2h-.2v-.2h-.4v-.2h-.2l.3-1h.2l.2.2.2.2h.2l.2.2.2.2h.2v.3l.3.2.2.2h.2l.2.3v.2l.2.2.2.2.2.2.2.2.2.3v.2l.3.2.2.3.2.3v.3l.3.4.2.3v.3l.3.3v.3l.3.3v.3l.2.3v.6zm0-.6.2.3-.3.2v-.6zm-21.5-35.4v1.5h-.4v-.4h-.2v-.7l.2-.2h.2v-.2zm15.3 4-.5 1.3-.6-.2-.5-.2h-.6l-.5-.2-.4-.2-.5-.2-.4-.2-.5-.2-.4-.2h-.5l-.4-.3-.5-.2h-.4l-.4-.3h-.5l-.4-.3h-.5l-.4-.2h-.4l-.5-.2h-.4l-.3-.2h-1.3l-.4-.2H420v-2h2.9l.5.2h1l.4.2h.5l.3.2.5.2h.5l.4.2.5.2h.5l.4.3h.6l.5.3.6.2h.5l.6.3.5.2.6.2h.5l.6.3.6.2.5.2.6.2h.5zm9 2.5v1.5H442l-.3-.2h-.4l-.3-.2h-.3l-.4-.2h-.3l-.4-.2h-.4l-.3-.2h-.5l-.3-.2-.4-.2h-.3l-.4-.2h-.2l-.3-.2h-.3l-.3-.3h-.7l-.2-.2h-.4l-.2-.2.4-1.5h.2l.2.2h.2l.2.2h.3v.2h.4l.3.2h.3l.3.2h.4l.3.2.3.2h.4l.3.2h.4l.3.2h.4l.4.2h.3l.4.2h.4l.3.2h.6l.3.2zm0 1.5v-1.5h.4v.2h.2v.2h.2v.9h-.2v.2h-.2v.2h-.2zm23.4 7.5.2-1.2h.2v.2h.2v.8h-.6zm-10-2 .4-1.2h.5l.3.2h.4l.3.2h1.1l.2.2h.6l.2.2h.6l.3.2h.7l.4.2h.8l.3.2h.9l.2.2h.9l.5.2h.8l-.2 1.3h-.9l-.4-.2h-.6l-.4-.2h-.7l-.4-.2h-1.4l-.3-.2h-.7l-.3-.2h-.6l-.3-.2h-.5l-.4-.2h-.5l-.3-.2h-.5l-.2-.2h-.5l-.2-.2zm.4-1.2-.3 1h-.2v-.8h.8z"/> + <path fill="#21231e" d="m431.5 332-.7 1.3-.4-.3-.4-.2-.4-.3-.3-.2-.4-.3-.4-.3-.3-.3-.4-.3-.4-.2-.3-.4-.3-.3-.2-.3-.3-.3-.3-.4-.2-.3-.3-.4-.2-.3-.3-.4-.2-.4-.2-.3-.3-.5-.2-.4-.2-.2v-.4l-.3-.4-.2-.3-.2-.4-.2-.3v-.4l-.2-.3-.2-.3-.2-.4 1.4-.7.2.2.2.4v.3l.3.2.2.4.2.3v.3l.3.3.2.4.2.3.2.4v.3l.3.4.3.3.2.4.2.4.2.4.3.3.2.4.3.4.2.3.3.4.3.3.3.3.3.2.3.3.3.3.2.2.4.3.3.2.2.2.3.2zm7.6-5.3 1.5.8-.2.4-.2.3-.2.4-.2.4-.3.5-.3.4-.2.2-.3.4-.3.3-.3.2-.3.3-.3.3-.3.3-.2.4-.3.2-.3.2-.4.2-.3.2-.3.2h-.3l-.5.2h-.3l-.3.2h-2.2l-.4-.2-.3-.2h-.2l.7-1.5h.5l.2.2h1.7l.3-.2h.2l.3-.2h.2l.3-.3.2-.2.3-.2h.2l.3-.3.2-.3.3-.2.2-.3.3-.4.2-.3.3-.3.2-.4.2-.3.3-.4.2-.5.2-.4v-.3z"/> + <path fill="#21231e" d="m429.6 331-2.2-2.3q-1.6-1.9 2-5.4l4.2 2q-1.4 4.5-4 5.6zm-6.3 82-.4 1h-.4v-1zm23.8-3.6 1 1-.7.5-.6.4-.7.5-.6.4-.7.5-.7.3-.7.4-.7.4-.7.4-1 .3-.6.3-.8.2-.7.2-1 .2-.7.2h-.8l-.8.2h-5l-1-.2h-.8l-.8-.3h-1l-.8-.4h-1l-.7-.3-1-.3-.8-.3.3-1 .8.2 1 .3 1 .3.7.2 1 .2.7.2h.8l1 .2h.7l.7.2h4.8l.7-.2h1l.6-.3.7-.2h.7l.7-.4.7-.3.7-.3.8-.3.6-.4.7-.4.7-.5.6-.5.6-.5.5-.5zm3-2.8 1 .8h-.2v.2h-.2l-.2.2v.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2v.2h-.2l-1-.8h.2v-.2h.2v-.2h.2l.2-.2.2-.2.2-.2v-.2h.2v-.2h.2l.2-.2.2-.2.2-.2v-.2h.2l.2-.2.2-.2v-.2zm1 .8-1-.8.2-.2h.7v.2h.2z"/> + <path fill="#21231e" d="m452.2 401.3-1.2-.2v-.2h.2l.2-.2h.6v.4h.2zm-5.5 16 .3 1-.7-.8.2-.4.2-.4.2-.5v-.4l.3-.4.2-.5.2-.5v-.5l.3-.4.2-.5.2-.5v-.5l.3-.5v-.5l.3-.5v-.5l.3-.5v-.5l.3-.5v-.5l.2-.5.2-.6v-.5l.2-.6v-.5l.2-.4v-.6l.2-.6v-.5l.2-.7v-.6l.2-.6 1.2.3v.6l-.2.5v.6l-.2.6v.6l-.2.6v.5l-.2.6-.2.4v.6l-.2.5v.6l-.3.6v.5l-.3.6v.6l-.3.5v.5l-.2.5-.2.5v.5l-.3.5-.2.5v.5l-.2.4-.2.5-.2.6-.2.5-.2.6-.2.5-.2.5-.2.5-.7-.8zm-.4.2 1 .5v.2h-.2v.2h-.4l-.2-.2v-.2h-.2v-.4zm15.2-9.5 1 .7-.3.4-.4.6-.3.4-.4.4-.2.4-.4.4-.4.4-.4.4-.4.3-.4.4-.5.3-.4.4-.6.3-.4.3-.5.3-.5.3-.5.3-.5.2-.5.3-.5.3-.6.2-.5.3-.7.2-.5.3-.6.2-.6.2-.6.2-.6.2-.6.2-.6.2-.6.2-.6.2-.3-1.2.6-.2h.6l.5-.3.6-.2.6-.2.6-.2h.6l.5-.3.6-.3.4-.2.5-.2.4-.3.5-.2.4-.3.5-.3.4-.4.5-.3.3-.3.5-.3.4-.3.4-.3.4-.2.4-.4.4-.3.4-.3.4-.3.3-.4.3-.4.3-.4.3-.4.2-.4.3-.4zm1 .7-1-.7h.2v-.2h.7v.2h.2z"/> + <path fill="#21231e" d="M461.3 400.2H460v-.2h.2v-.2h1v.4zm4.4 15.7.7 1-.8-.3-.3-.4-.3-.4-.2-.5-.3-.5-.2-.4-.3-.4-.2-.5-.3-.5-.2-.4-.2-.5v-.5l-.3-.5-.2-.5-.2-.5-.2-.5v-.5l-.2-.5-.2-.5v-.6l-.3-.5v-.5l-.3-.6v-.4l-.2-.6v-.6l-.2-.5v-.7l-.2-.6v-.6l-.2-.5v-1.2h1v.5l.2.6v.6l.2.5v1.4l.2.5.2.6v.5l.2.5v.6l.3.5v.4l.2.5.2.4v.5l.2.4.2.5.2.4.2.5.2.4.2.4.2.5.2.4.2.5.3.4.3.4.2.4.3.5.2.3.3.4.3.3h-1zm0 .7 1-.7v.8l-.2.2h-.2v.2h-.4v-.2h-.2zm7.6-12.6 1 .4v.6l-.2.5v.5l-.2.5-.2.5-.2.5-.2.5-.2.5-.2.4-.2.4-.2.4-.3.5v.4l-.4.4-.2.5-.3.4v.3l-.4.3-.3.4-.3.4-.2.3-.3.3-.3.4-.3.3-.4.3-.3.3-.3.3-.3.2-.3.3-.3.4-.3.2-.3.3-.7-1 .3-.3.3-.2.3-.3.3-.2.2-.3.3-.3.2-.2.3-.3.3-.4.3-.3.2-.4.3-.4.4-.3.2-.4.3-.4v-.4l.4-.3.2-.5.3-.4v-.3l.3-.4.2-.4.2-.6.2-.4v-.5l.3-.4.2-.4.2-.5v-.4l.3-.5v-.4zm1 .4-1-.3v-.2h.8v.2h.2z"/> + <path fill="#edb92e" d="M406 317.8c-16.7 1.8-16 12.6-.4 28 3 3 4 3 4.6-.2 1.2-5.3 7-8.5 10.2-4.4 2 2.7 1.6 4.3 8.6 3.3 9 7.5 16.2 12.8 4.5 12.3-5-.2-9 2.8-15.7 2.5 2 4 2.3 4.3 3.4 4.6 6.5 1.2 13.3-2.8 19.8-1.6 14.3 2.6-23-38.6-22.4-40.3 1-4-9-11.5-12.7-4.2z"/> + <path fill="#21231e" d="m406 345.5-.7.7-1.4-1.5-1.5-1.4-1.2-1.4-1.2-1.4-1-1.3-1-1.3-.8-1.3-.8-1.2-.8-1.2-.6-1.2-.5-1-.5-1.2-.3-1-.3-1v-1l-.2-1v-1l.2-1 .2-.8.4-.8.4-.8.6-.7.6-.7.8-.6.8-.6 1-.5 1-.5 1-.4 1.4-.4 1.3-.3 1.3-.2 1.6-.2v1l-1.5.2-1.4.2-1.2.3-1.2.3-1 .4-1 .5-1 .4-.6.5-.7.7-.6.6-.4.6-.4.6-.4.7-.2.8-.2 1v1.7l.2.8.2 1 .4 1 .4 1 .5 1 .5 1.3.7 1 .8 1.3 1 1.4.8 1.2 1 1.3 1.2 1.3 1.2 1.3 1.4 1.4 1.4 1.5zm3.8 0 1 .2v.3l-.2.3v.5l-.2.2v.2l-.2.2v.2l-.2.2-.3.3v.2h-.3l-.2.2H408l-.2-.2h-.2l-.2-.2h-.2l-.2-.3-.2-.2h-.2l-.3-.4h-.2l-.2-.3-.3-.3-.2-.2.7-.7.2.2.3.3.2.2.3.2.2.2.2.2h.2l.2.2.2.2h.3v.2h.6l.2-.2v-.2l.2-.2v-.2l.2-.4v-.4l.2-.3zm11-4.6-.8.5-.3-.4h-.3l-.3-.4-.2-.2-.3-.2h-.3l-.3-.2h-.5l-.3-.2h-1.5l-.3.2-.4.2h-.2l-.4.3-.3.2-.2.2-.4.2-.3.2-.2.3-.3.3-.2.4-.3.3-.2.4-.3.5-.2.4-.2.3v.5l-.2.4v.5l-1-.2v-.5l.2-.5.2-.5.2-.5.3-.5.2-.4.2-.4.3-.4.3-.4.3-.4.4-.3.4-.3.4-.3.4-.2.3-.2.3-.2.5-.2h.4l.4-.2h.4l.4-.2h1l.4.2h.6l.4.3.4.3.3.2.4.3.4.5.4.4zm8.6 3.2-.7.7h.4-.5l-.6.2h-4.5l-.2-.2h-.3l-.2-.2h-.2l-.2-.2-.2-.2-.2-.2h-.2v-.3l-.3-.3v-.2l-.3-.2v-.2h-.3l-.2-.3-.2-.3v-.2l-.3-.2v-.3l-.3-.2.8-.6h.2v.4l.3.2.2.3.3.3v.2l.2.2.2.2.2.2.2.2.2.2h.2v.2h.3l.2.2h.2l.2.2h5.4zm-.4 0 .2-.2.2.2zm4.5 13v-1h4.1l.5-.2h.4l.3-.3h.2v-1l-.2-.3-.2-.4-.3-.5-.4-.4-.5-.4-.4-.4-.4-.5-.6-.5-.6-.6-.6-.6-.7-.5-.6-.6-.7-.7-.7-.7-.8-.6-.8-.7-.8-.7-1-.7.8-.8.8.7.8.5.8.7.8.7.7.5.8.6.8.7.7.6.6.6.7.4.6.6.5.5.5.5.4.5.4.4.4.4.3.4.2.4v2.3l-.4.3-.3.2-.4.3-.6.2h-.6l-.7.2h-3.6zm-15.2 2-1 .4.5-.8h3.4l.6-.2h.5l.5-.2h.5l.5-.2h.5l.4-.2h.5l.5-.2.4-.2h.6l.4-.2.5-.2h.4l.4-.2h.5l.3-.2h.5l.4-.2h.5l.5-.2h2.6v1H431l-.4.2h-.9l-.4.3h-.8l-.4.2h-.5l-.4.3h-.6l-.5.2h-.5l-.5.3h-.5l-.5.2h-.5l-.5.2h-.5l-.6.2h-.6l-.6.2h-3l.5-.7zm-1 .4-.3-.8h.8l-.4.8zm4 4-.2.8h-.4v-.2h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2l-.2-.3-.2-.2-.3-.3-.2-.2v-.2h-.2v-.4l-.3-.2v-.3h-.3v-.4l-.3-.3v-.4l-.3-.4 1-.5v.5l.2.3.2.3v.4l.3.3.2.2v.2l.3.2v.2l.2.2v.2h.2v.3l.2.2v.2l.2.2h.2v.2h.4v.2h.4zm19.8-1.7v1l-.7-.2h-4.7l-.6.2h-.7l-.6.2h-.7l-.6.2-.6.2h-.6l-.6.2h-.7l-.7.3-.6.2h-.6l-.6.2h-.6l-.6.2h-4.6l-.6-.2.3-1 .6.2h4.8l.6-.2h.6l.5-.2h.6l.7-.2.7-.2h.6l.6-.2.6-.2h.7l.5-.2h.6l.7-.2h.7l.6-.2h4.9zm-23-40 1 .3.3.3.5.7.6.8.8 1.2 1 1.2 1 1.3 1 1.5 1.3 1.5 1.3 1.7 1.4 1.8 1.4 1.8 1.5 1.8 1.5 2 1.5 1.8 1.4 2 1.4 2 1.3 1.7 1.3 2 1.2 1.7 1 1.7 1 1.6.8 1.5.6 1.4.4 1.3.3 1.2v2l-.6.7-.8.5H441v-1h2l.4-.3.3-.4V360l-.3-1.2-.4-1.2-.6-1.3-.8-1.5-1-1.6-1-1.7-1-1.8-1.3-1.8-1.4-2-1.4-2-1.4-1.8-1.5-2-1.4-1.8-1.5-1.8-1.4-1.8-1.3-1.8-1.3-1.6-1.2-1.6-1-1.5-1.2-1.3-1-1.2-.7-1-.6-1-.5-.7-.3-.4v-.6zm-12-3.7v-1l-.5.2.4-.6.3-.7.5-.6.5-.4.5-.3.6-.3.5-.2.5-.2h2.6l.6.2.6.2.5.3.6.2.6.3.4.4.5.2.4.4.4.4.5.5.4.4.3.4.3.4.3.5.2.5.2.5v.5l.2.5v1l-1-.3v-1l-.2-.4v-.4l-.3-.4-.2-.4-.3-.4-.3-.4-.5-.4-.3-.4-.5-.4-.4-.4-.5-.3-.4-.3-.5-.3h-.7l-.5-.3-.5-.2h-.5l-.6-.2h-2l-.4.3-.5.2-.4.3-.5.5-.4.4-.3.4-.3.6-.4.3zm.4-.3-.2.2h-.2zm-.5-.2v.5zm.4.2-.2.2h-.2z"/> + <path fill="#21231e" d="m407 317.2-1.3.4v-.6h.2v-.2h.8v.2h.2v.2zm7.6 10.6-.8 1-.4-.4-.3-.4-.3-.3-.3-.3-.4-.3-.3-.2-.3-.4-.3-.3-.2-.2-.3-.4-.3-.3-.3-.2-.4-.4-.3-.3-.2-.2-.2-.4-.2-.3-.3-.3-.2-.3v-.4l-.4-.3-.2-.4-.2-.4-.2-.4-.2-.4v-.4l-.3-.3-.2-.4v-.3l-.3-.3v-.4l-.3-.4 1.2-.4v.7l.3.3v.3l.3.4v.3l.3.4v.3l.3.4.2.3.2.3.2.4v.3l.3.3.2.4.3.3.2.3.3.4.2.3.3.3.3.3.4.4.2.3.3.3.2.3.3.3.4.2.2.3.3.3.4.4.2.3.4.3zm-.8 1 .8-1v.2h.2v.7h-.4v.2zm-9.5-4.6q1.3.1 1.2 1.5c-.1 1.4-.8 1.3-1.5 1.2q-1.3-.4-1.2-1.6c.1-1.2.8-1.3 1.5-1.2zm-45.9 38.4h.2v-.2h.4v.2h.2v.2l.2.2v.4h-.2zm-22.7 56 .2-1V416l.4-1.5.3-1.5.4-1.7.6-1.8.5-2 .7-2 .6-2 .6-2 .6-2.2.8-2.2.7-2.2 1-2 .7-2.3 1-2.3.7-2.2 1-2.2.8-2 1-2.2.8-2 1-2 .8-2 1-1.7.8-1.5 1-1.6.7-1.5 1-1.3.7-1.2.8-1 .8-.8.8-.6.7 1-.6.5-.7.8-.7 1-.8 1-1 1.3-.7 1.5-1 1.5-.7 1.7-1 1.7-.8 2-1 1.8-.8 2-1 2-.8 2.3-1 2-.7 2.3-1 2.3-.7 2.3-.8 2.2-.7 2.2-.8 2.2-.6 2-.6 2-.6 2.2-.6 2-.5 1.8-.4 1.8-.4 1.6-.5 1.6-.2 1.4-.2 1.3v1H336zm5.6 80.5-.7-2-.7-2-.7-2.2-.6-2.2-.6-2.2-.4-2.4-.4-2.3-.5-2.4-.4-2.5-.3-2.4-.3-2.5-.3-2.7-.2-2.6-.3-2.6-.2-2.5-.2-2.6v-3l-.2-2.7v-18.5l.3-2.7v-2.5l.2-2.6v-2.7l.3-2.6.2-2.5.2-2.5h1.2l-.3 2.6-.2 2.5-.2 2.6-.2 2.6v2.6l-.2 2.6v2.6l-.2 2.7v18.8l.2 2.6v2.6l.3 2.6.3 2.6.3 2.6.3 2.5.2 2.5.3 2.5.4 2.4.3 2.5.5 2.3.5 2.3.5 2.3.6 2.2.6 2 .7 2.2.7 2-1 .4zm1-.4v.8h-.8v-.2l1-.6z"/> + </g> + <use xlink:href="#rs-e" width="1350" height="900" transform="matrix(-1 0 0 1 964.3 0)"/> + <path fill="#21231e" d="M473 398.4h-.2v.5h-.2v.8l.2.7v1.6l.2.8.2.8v.7l.3.8v.8l.3.7.2.8.3.7.2.7.2.7.3.7.3.8.3.7.3.7.2.7.3.6.4.6.2.7.4.5.4.7.4.7.4.5.5.6.4.8.5.6.4.6.5.6.6.6.2.2h.8v-.2l.6-.6.5-.6.5-.6.4-.6.5-.7.5-.5.4-.6.3-.8.4-.6.3-.7.4-.8.4-.6.3-.7.4-.8.3-.7.3-.7.3-.7.3-.6.2-.7.3-.7.3-.7.2-.8v-.7l.3-.7.2-.7v-.7l.3-.8v-1.4l.2-.8v-2.1h-1v.4l-.2 1v1.4l-.2.7v.7l-.2.7-.2.7v.8l-.3.7-.2.7-.2.7v.6l-.3.7-.3.7-.2.7-.3.7-.4.6-.2.7-.4.7-.3.6-.3.7-.4.6-.4.7-.3.6-.4.6-.5.6-.4.6-.4.7-.4.7-.4.6-.5.6h-.2l-.5-.7-.4-.6-.4-.6-.4-.6-.4-.6-.4-.6-.4-.6-.4-.6-.3-.7-.4-.6-.4-.7-.3-.6-.3-.7-.4-.7-.2-.6-.3-.7-.2-.7-.2-.7-.2-.7-.2-.7-.2-.8-.2-.7-.2-.7v-.7l-.3-.6v-.8l-.2-.7v-2.3l-.2-.8v-.4h-.2v-.2h-.5z"/> + <path fill="#c6363c" d="M549.2 422v108.6a72 72 0 0 1-19.7 49.8 65 65 0 0 1-94.7.1 73 73 0 0 1-19.7-49.8V422z"/> + <use xlink:href="#rs-f" width="1350" height="900" transform="matrix(-1 0 0 1 964.3 -90)"/> + <path fill="#fff" stroke="#21231e" d="M549.2 488.6v28h-53v83a64 64 0 0 1-14 1.5 59 59 0 0 1-14-1.5v-83h-53v-28h53V422h28v66.6z"/> + <use xlink:href="#rs-f" width="1350" height="900" transform="translate(0 -90)"/> + <path id="rs-f" fill="#fff" stroke="#21231e" d="M459 567.3V528c-8.4-2.3-29.3-10.6-30.3 7.6-.5 8.4 10.4 14 13.3 6.5 1.4-3.4 0-6-2-6.7-2.4-.8-4.6 1-4 3.6-8.8-4.7 8-14.6 15.5-1.7 2.2 3.7-3.7 7.6-3.7 10.4 0 2.7 5.8 7 3.7 10.3-7.7 12.8-24.3 3-15.5-1.6-.6 2.7 1.6 4.5 4 3.6 2-.8 3.4-3.3 2-6.8-3-7.5-13.8-2-13.3 6.5 1 18.2 22 10 30.4 7.6z"/> + <use xlink:href="#rs-f" width="1350" height="900" transform="matrix(-1 0 0 1 964.3 0)"/> + <path fill="#21231e" d="M414 421v113.3l.2 1.7v2l.4 1.7.2 1.8.3 1.7.4 1.8.3 1.8.4 1.7.6 1.7.5 1.7.6 1.5.6 1.7.5 1.6.7 1.6.7 1.6.7 1.6.8 1.6.8 1.5.8 1.5 1 1.5.8 1.5 1 1.4.8 1.4 1 1.4 1 1.4 1 1.3 1 1.5 1.2 1.2 1 1.3 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1 1.3 1.3 1 1 1.4 1 1.3 1 1.4 1 1.5 1 1.4 1 1.3.8 1.4.8 1.5.8 1.4.8 1.6.7 1.5.6 1.5.7 1.5.6 1.6.5 1.6.5 1.5.5 1.6.5 1.8.4 1.6.4 1.7.4 1.8.2 1.7.3 1.7.2h1.7l1.6.2h8.9l1.7-.3 1.8-.3 1.7-.3 1.7-.2 1.7-.4 1.5-.4 1.7-.4 1.6-.5 1.6-.5 1.6-.5 1.5-.6 1.6-.7 1.6-.7 1.6-.7 1.5-.8 1.4-.8 1.6-.8 1.4-1 1.5-.7 1.4-1 1.2-1 1.4-1 1.3-1 1.2-1 1.3-1 1.2-1.3 1.2-1 1-1.3 1.3-1.2 1.2-1.2 1-1.3 1.2-1.2 1-1.4 1-1.2 1-1.4 1-1.4 1-1.4 1-1.4.7-1.5 1-1.5.7-1.5.8-1.5.8-1.6.7-1.6.6-1.6.6-1.6.6-1.6.5-1.7.5-1.6.5-1.8.4-1.7.6-1.7.3-1.8.2-1.8.3-1.7.3-1.8v-.9l.3-2 .2-1.7V421zm2.3 2.2H548V536l-.3 1.6-.2 1.8-.2 1.7-.3 1.8-.3 1.7-.4 1.7-.3 1.7-.5 1.5-.4 1.7-.4 1.6-.5 1.6-.5 1.6-.6 1.5-.8 1.6-.7 1.6-.7 1.5-.7 1.6-.7 1.4-.8 1.5-.8 1.4-1 1.3-.8 1.4-1 1.3-1 1.3-1 1.3-1 1.3-1 1.2-1.2 1.2-1 1.2-1.2 1-1.2 1.3-1.2 1-1.2 1-1.2 1-1.3 1-1.2 1-1.4 1-1.4 1-1.3.8-1.4 1-1.5.7-1.4.8-1.3.7-1.5.8-1.5.6-1.4.7-1.5.7-1.6.5-1.5.6-1.5.5-1.6.4-1.6.4-1.6.5-1.6.3-1.6.3-1.7.4H489l-1.8.3h-1.7l-1.6.2h-3.6l-1.6-.2H477l-1.6-.3h-1.6l-1.7-.4-1.5-.2-1.6-.3-1.7-.4-1.6-.3-1.6-.4-1.4-.5-1.6-.6-1.5-.5-1.5-.6-1.5-.6-1.4-.6-1.4-.8-1.4-.7-1.4-.8-1.4-.8-1.4-1-1.3-.7-1.4-1-1.3-1-1.2-1-1.3-1-1.2-1-1.2-1-1-1-1.3-1.3-1-1-1.2-1.3-1-1.2-1-1.3-1.2-1.4-1-1.3-1-1.3-1-1.3-.8-1.4-.8-1.4-1-1.5-.7-1.5-.8-1.4-.7-1.5-.8-1.4-.6-1.5-.6-1.5-.6-1.5-.5-1.6-.6-1.6-.5-1.6-.5-1.7-.4-1.6-.4-1.8-.4-1.7-.3-1.7-.3-1.7-.2-1.6-.2-1.8-.2-1.7v-5.4z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ru.svg b/apps/web/public/flags/ru.svg new file mode 100644 index 00000000..cf243011 --- /dev/null +++ b/apps/web/public/flags/ru.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ru" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v160H0z"/> + <path fill="#0039a6" d="M0 160h640v160H0z"/> + <path fill="#d52b1e" d="M0 320h640v160H0z"/> +</svg> diff --git a/apps/web/public/flags/rw.svg b/apps/web/public/flags/rw.svg new file mode 100644 index 00000000..06e26ae4 --- /dev/null +++ b/apps/web/public/flags/rw.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-rw" viewBox="0 0 640 480"> + <path fill="#20603d" d="M0 0h640v480H0z"/> + <path fill="#fad201" d="M0 0h640v360H0z"/> + <path fill="#00a1de" d="M0 0h640v240H0z"/> + <g transform="translate(511 125.4)scale(.66667)"> + <g id="rw-b"> + <path id="rw-a" fill="#e5be01" d="M116.1 0 35.7 4.7l76.4 25.4-78.8-16.3L100.6 58l-72-36.2L82 82.1 21.9 28.6l36.2 72-44.3-67.3L30 112 4.7 35.7 0 116.1-1-1z"/> + <use xlink:href="#rw-a" width="100%" height="100%" transform="scale(1 -1)"/> + </g> + <use xlink:href="#rw-b" width="100%" height="100%" transform="scale(-1 1)"/> + <circle r="34.3" fill="#e5be01" stroke="#00a1de" stroke-width="3.4"/> + </g> +</svg> diff --git a/apps/web/public/flags/sa.svg b/apps/web/public/flags/sa.svg new file mode 100644 index 00000000..596cf48b --- /dev/null +++ b/apps/web/public/flags/sa.svg @@ -0,0 +1,25 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sa" viewBox="0 0 640 480"> + <defs> + <clipPath id="sa-a"> + <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#sa-a)" transform="translate(80)scale(.9375)"> + <path fill="#165d31" d="M-128 0h768v512h-768z"/> + <path fill="#fff" d="M65.5 145.1c-.8 12-2 33 8.3 35.2 12.3 1.2 5.5-20.8 10-24.8.8-2 2.3-2 2.4.5v18.7c0 6 4 7.8 7 9 3.2-.2 5.4 0 6.6 3l1.6 32.3s7.4 2.2 7.8-18.1c.3-12-2.4-21.9-.8-24.2 0-2.3 3-2.4 5-1.3 3.2 2.2 4.6 5 9.6 4 7.6-2.2 12.2-5.9 12.3-11.7a47 47 0 0 0-3.5-16.6c.4-1-1.4-3.7-1-4.7 1.3 2.2 3.4 2 3.8 0-1.3-4.2-3.3-8.3-6.5-10-2.7-2.4-6.7-2-8 3-.8 5.7 2 12.4 6.1 18 .9 2.1 2.1 5.7 1.6 8.9q-3.4 1.8-6.3-1.2s-6-4.5-6-5.6c1.6-10.2.3-11.4-.6-14.3-.6-3.9-2.5-5.2-4-7.8-1.5-1.6-3.5-1.6-4.5 0-2.7 4.6-1.4 14.5.5 19 1.4 4.1 3.5 6.7 2.5 6.7-.8 2.3-2.5 1.7-3.8-1a67 67 0 0 1-2.1-17.4c-.5-4.6-1.1-14.4-4.2-17-1.8-2.4-4.5-1.2-5.5 1a82 82 0 0 0 .3 13.4c2 7.4 2.7 14 3.7 21.5.3 10.1-5.8 4.4-5.5-.7a45 45 0 0 0-.3-19.4c-1-2.6-2.1-3.2-4.6-2.8-1.9 0-6.8 5.3-8.2 14.3 0 0-1.2 4.6-1.7 8.7-.7 4.6-3.7 8-5.9-.6-1.8-6.3-3-21.6-6-18z"/> + <path fill="#fff" d="m99 194.2-32 15.4c.3-7.3 15.1-20.4 25.3-20.5 6.5.1 4.9 2.5 6.6 5.1z"/> + <path fill="#fff" d="M93.3 204.2c-16.8 43.5 39.5 49.6 45.8 1.8.6-2 3-3.9 3.4-.7-1.3 43.3-43.6 46.2-50.8 32.6a42 42 0 0 1-2.5-14.6c-1-8.5-5.5-5.2-6.2 3.2-.7 4.7-.5 6-.5 10.5 2.2 34.2 56.7 19.5 65.6-8.7 4.7-15.6-.8-27.1 1.7-27.1 5.4 5.8 13 .8 14.7-1.2.7-1 2.5-1.7 3.7-.4 4.2 3 11.6 1.6 13.2-3.7q1.4-8 1.8-16.2c-3.5 1-6 1.7-6.3 3.2l-.7 4.6c-.3 1.5-3.2 1.5-3.4-.4-1.3-6-6.7-6.7-10 2.5-2.1 1.8-6.1 2.2-6.5-.5.5-6.2-2-7-7-4.1l-4.8-36.2c2 0 4 1.5 5.9-.9-2-6.5-6.5-19.7-9-20.7-1.1-1.4-2.1-.5-3.7-.1-2.6.8-5 3-4.2 7.4 3 18.8 5 33.1 8.1 52 .5 2.1-1.3 5-3.7 4.7-4-2.7-5-8.2-12-8-5 0-10.6 5.5-11.3 10.7-.9 4.2-1.2 8.7 0 12.3 3.5 4.2 7.7 3.8 11.4 2.9 3-1.3 5.5-4.3 6.6-3.6.7.9.1 10.9-14.3 18.5-8.7 4-15.7 4.8-19.4-2.3-2.3-4.5.2-21.4-5.6-17.5"/> + <path fill="#fff" d="M165 160c3.3-1.2 19.3-19.6 19.3-19.6l-2.4-2q-1.3-1.1 0-2.2c4-2.4 2.7-7.4.7-9.8a10 10 0 0 0-8.7.1c-2.8 2.7-3.4 7-1.2 9.6 2.1 1 4.2 3.2 2.8 4.4-6.6 7-24.5 19.1-22.4 19.5.4.6 11.5.6 11.8 0zm-97 65c-6 9.6-6.5 23.9-3.2 28.2 1.8 2 4.7 2.9 6.8 2.2 3.8-1.6 5.5-9.3 4.6-12q-1.8-3-3.6-.7c-2.6 5.4-3.7 1.7-4-1.3a70 70 0 0 1 .8-15.2c.7-4.2 0-3-1.4-1.2m257.1-15.3c-5.8-12.6-13.9-25-16.4-29.7a558 558 0 0 0-24.8-36c-6.2-7.4 10.2 3.1-2-11.7l-8.9-7.5c-2-1.4-6.8-4-7.6.2-.4 3.8-.2 5.8.4 8.9.5 2 3.5 5.5 5 7.5a565 565 0 0 1 53.8 86.5c2.6-1.3 2-16.1.5-18.2"/> + <path fill="#fff" d="M299.6 251.5c-1.2 1.3 2.8 6.8 8 6.8 8.6-1 16.2-5.8 23.2-18.6a33 33 0 0 0 5.3-14.2 317 317 0 0 0-5.8-72.4c-.3-2 0-4.4.2-5 .6-.7 2.5 0 3.5-1.7 1.5-1.5-4-14-7-18.7-1-2.2-1.5-3.6-3.3.2a27 27 0 0 0-3 13.6c4.1 28.5 5.4 53.4 8 81.9.3 2.8-.1 6.8-2 8.4a80 80 0 0 1-27.1 19.7m116.5-.1c-6.2 3.6-6.2 7.7-1.2 7.8 8.6-1 18.8-1.7 25.8-12.3a41 41 0 0 0 4.2-16 303 303 0 0 0-4.7-71.4c-.2-2-1.1-6.7-.8-7.3.6-1.4 3.4.1 4.4-1.5 1.4-1.5-7.3-12.7-10.4-17.5-1-2.2-1.4-3.6-3.3.2a22 22 0 0 0-1.8 13.6c4.6 31 8 54.2 8.7 81.6-.4 2.6-.5 4-1.7 7.3-2.7 3.4-5.7 7.8-8.5 9.9-2.8 2-8.8 4-10.7 5.6"/> + <path fill="#fff" d="M420.7 223.7q.1-10.9-.1-19a34 34 0 0 0-3-13.5c-1.8-4.1-.7-7.4-1.6-11.8-.8-4.4-.6-11-1.8-16.1-.4-2-1.4-8.5-1.1-9.2.5-1.4 2.4 0 3.4-1.6 1.4-1.5-5-18-8.2-22.7-1.1-2.1-3.3-1.4-5.8 2-2.5 2.3-1.6 7.4-.6 12.3 6.1 32.3 10.8 61.6 9.8 92.3-.4 2.6 9-7.8 9-12.7m-45.7-40c-3.9-.2-12-7.7-14.4-12a8 8 0 0 1 .4-6.5c1.5-1 3.7-2 5.4-1 0 0 1.7 2.4 1.4 2.7 2 1 3 .5 3.2-.4.1-1.5-.6-2.4-.6-4 .9-4.6 6-5.3 8-2.4 1.4 1.8 2 5.5 2.1 8 0 1.3-2-.2-3.3 0-1.1.4-1.4 1.8-1.5 3-.2 3.3-.6 8.6-.7 12.5zm-71.8 48c1-9.8-.4-27.3-.5-33.1A477 477 0 0 0 299 154c-1.2-8.4 3.4.9 2.8-4-1.5-8.3-6.1-14-11.6-21.5-1.7-2.5-1.7-3-4.4.6-3 6.7-.4 11.4.4 16.7 3.9 17.2 6.2 33 7.3 48.7a393 393 0 0 1 .4 49c3 .1 7.6-4.7 9.3-11.8"/> + <path fill="#fff" d="M434 216c-6.9-11.6-17.2-24-20-28.7a658 658 0 0 0-29.2-37.8c-8.5-9 4-1.5-1.6-8.5-4.7-5.1-6-6.8-10.1-9.9-2-1.3-3.2-3.8-4 .5a83 83 0 0 0-.2 11.2c0 1.7 1.8 5 3.4 7 20.7 25.5 43.4 51.5 61.6 84.2 2.6-1.3 1.7-16 0-18z"/> + <path fill="#165d31" d="M122.6 194.7c-.5.9-1.6 2-1.2 3.1q1 1.4 2.6 1.3c1.1 0 2.7.3 3-.3q1-1.2.6-3.3c-1.2-3-4.4-1.8-5-.8"/> + <path fill="#fff" d="M354.2 362.5c9.2.4 15.2.5 23.3 1.4l9.6-1c10.6-1 11 15.1 11 15.1 0 9.5-3.7 10-8.4 11-2.7.4-4-1.6-5.5-3.6a14 14 0 0 1-7 .4l-11.5-.5c-4-.3-6.2.5-10.3.1-.8 1.3-2 3.1-4.4 2.6-2-.3-4.5-6-3.8-10.5 1.5-3.2 1-2.1 1-3.5-37.6-1-75.5-2.7-112.3-2.2-28.8.1-57.2 1.3-85.7 2.5-15.2-.2-26.8-2.6-34.8-14.3.8 0 38.8 2.1 49.9 1.4 20.5-.2 39.3-1.9 60.2-2.5 41.2.7 82.1.7 123.3 3.6-4-2.7-4-9 2-10.6.5-.4.8 3.1 1.7 3 4.9-.3 2.7 6.3 1.7 7.6M188.6 135.3c-6.2 17.8 3.6 37.4 10.4 35.5 5 2 8-7.4 10-17.6 1.5-2.9 2.5-3.2 3.2-1.7-.2 13.6 1 16.7 4.5 20.8 7.8 6 14.3.8 14.8.3l6-6.1q2.2-2.2 5.1-.3c1.9 1.7 1.6 4.6 5.6 6.6 3.4 1.4 10.5.4 12.2-2.5 2.2-3.9 2.8-5.2 3.8-6.6 1.6-2.1 4.3-1.2 4.3-.5-.3 1.2-1.9 2.3-.8 4.5 2 1.4 2.4.5 3.5.2 4-2 7-10.6 7-10.6.1-3.2-1.7-3-2.9-2.2l-3.1 2.1c-2 .3-5.7 1.6-7.6-1.3-1.9-3.4-1.9-8.3-3.3-11.8 0-.2-2.6-5.5-.2-5.8 1.2.2 3.7.9 4.1-1.2 1.2-2.1-2.6-8-5.3-11-2.3-2.5-5.5-2.8-8.6-.2-2.2 2-1.9 4.2-2.3 6.3a10 10 0 0 0 2 8.7c2.2 4.2 6.1 9.7 4.8 17.5 0 0-2.3 3.6-6.3 3.1-1.7-.3-4.4-1-5.8-11.8-1.1-8 .2-19.4-3.2-24.7-1.3-3.3-2.2-6.4-5.2-.9-.8 2.2-4.3 5.5-1.8 12.2a36 36 0 0 1 2 19c-1.5 2.2-1.8 2.9-3.7 5-2.6 3-5.5 2.2-7.7 1.1-2-1.3-3.6-2-4.6-6.5.2-7 .6-18.5-.7-20.9-1.9-3.8-5-2.4-6.3-1.2a48 48 0 0 0-11.5 23.5c-1.8 5.8-3.7 4.1-5 1.8-3.2-3-3.5-26.7-7.4-22.8"/> + <path fill="#fff" d="M207.4 174.1c2.9-2 1.6-3.4 5.8.8a72 72 0 0 1 9.2 31.3c-.2 2.6 1.6 4.2 2.5 3.6.4-6 15.1-14.4 28.6-15.6 2-.5 1-4.4 1.3-6.4-.8-7.5 4.2-14.3 11.2-14.8 9.6 1.4 12.8 6.5 13 14.2-1.1 15-16.7 17.5-25.4 18.7-1.3.5-1.9 1.1 0 1.8l36.6.2 1.9 1c.2 1-.6.2-2 2.6a30 30 0 0 0-3.7 11.5c-10.9 3.6-22.2 5-33.6 6.5-4 2-6 4.7-5.2 7.7 1.4 3.3 10.2 6.7 10.2 6.8 1.7 1 3.6 3.5-.5 8.6-17.8-.8-31.7-8.4-36.5-19.1-1.4-1.1-3 0-4 1.4-7 9-13.8 17-25.7 21.4-7 1.8-14.3-1.1-17.7-5.7-2.3-2.7-2.2-5.6-3-6.2-3.9 1.7-36.9 15.7-32.7 9.1 8-8.5 22-14.9 34.2-23.3.9-2.9 2.5-12.5 7.3-15.6.3 0-.7 5.6-.6 8 0 2-.2 2.7.2 2.2.9-.5 15.7-12.2 17-15.8 1.4-2 .3-7.2.3-7.4-2.8-7.2-6.7-7.8-8.1-11.4-1.3-4.7-.7-10.1 2-11.7q3.7-3.1 7.9.5c3 2.7 5.6 8 6.4 11.9-.5 1.5-4-1-5-.3a16 16 0 0 1 3.7 7.8c2 8.2 1.4 11.4-.6 16.7-6.6 13.9-15 18-22.4 23.2-.2 0-.3 3.5 2.4 5.4 1 1 4.9 1.5 9.4 0a55 55 0 0 0 22.3-23.3 51 51 0 0 0-2.4-22.2c-2.9-6.7-6.3-16.2-6.3-16.4-.1-4.2.2-5.6 2-7.7m-95.8-38.6c4.2 2 12.2 1.1 11.8-5.7l-.2-3.1c-.8-2-3.2-1.5-3.7.5-.2.7.3 1.8-.3 2.1-.4.4-1.7.2-1.7-1.7q-.1-1-.7-1.6-.2-.2-.9-.2c-.6 0-.6.1-.9.6l-.3 1.6q-.1.9-.8 1c-.6 0-.5 0-1-.2q-.4-.3-.5-1l-.3-1.6q-.3-.4-1-.6c-2.3 0-2.5 2.7-2.3 3.7-.2.2-.3 4.9 2.8 6.2"/> + <path fill="#fff" d="M235.1 187.7c4.2 2 14.3.9 11.8-5.6l-.2-3.2c-.9-2-3.2-1.5-3.7.6-.2.6.3 1.7-.4 2-.3.4-1.7.2-1.6-1.6q-.1-1-.7-1.7-.3-.2-1-.2c-.5 0-.5.2-.8.7q-.3.7-.3 1.6-.2.8-.9 1c-.5 0-.4 0-.8-.3q-.5-.3-.6-.9l-.3-1.6q-.3-.5-1-.6c-2.3 0-2.5 2.6-2.4 3.6-.1.2-.2 5 3 6.2zm72-21.6c4.2 2 12.1 1.1 11.8-5.6l-.2-3.2c-.9-2-3.2-1.5-3.7.5-.2.7.3 1.8-.4 2.2-.3.3-1.7.1-1.6-1.8q-.1-1-.7-1.6-.3-.2-1-.2t-.8.7l-.3 1.5q-.1 1-.9 1c-.8 0-.4 0-.8-.2q-.5-.3-.6-.9 0-1-.3-1.7-.4-.4-1-.5c-2.3 0-2.5 2.6-2.4 3.6-.1.2-.2 4.9 3 6.2zm37.3 54.3c-7.3 8.3-4.1 22-2.4 25 2.4 4.8 4.3 7.9 9 10.3 4.3 3.1 7.7 1.2 9.5-1 4.3-4.5 4.4-16 6.4-18.2 1.4-4.2 5-3.5 6.7-1.6a17 17 0 0 0 6.2 5.3c4 3.5 8.8 4.2 13.6 1 3.2-1.9 5.3-4.2 7.2-8.9 2-5.6 1-31.6.5-47l-4.2-21.5c0-.2-.5-10.2-1-12.5 0-1-.3-1.3.7-1.2 1.1 1 1.2 1 2 1.3 1 .2 2-1.7 1.3-3.3l-10-18.6c-.8-.8-1.9-1.6-3.2.2a7 7 0 0 0-2.4 5.5l1.3 13.3 4 22.6c1.3 16 1.6 29.2 2.9 45.3-.2 6.8-2.3 12.7-4.3 13.6 0 0-3 1.7-5-.2-1.5-.6-7.4-9.9-7.4-9.9-3-2.7-5-2-7.1 0-6 5.8-8.6 16.4-12.7 23.8-1 1.7-4 3-7.2-.1-8.2-11.3-3.4-27.3-4.4-23.2M309 126.7c3.8 1.5 6.4 9.2 5.6 13-.8 4.5-2.8 9.5-4.2 8.9-1.6-.6 1-4.6-.5-8.8-.8-2.8-6-7.8-5.4-9.2-1-3.1 2.2-4.5 4.5-4z"/> + <path fill="#fff" d="M356.6 225c.7-9.2-.6-14.8-.8-20.2s-6.1-46.6-7.3-50.6c-1.5-7.8 5.7-1 4.9-5.6-2.5-5.6-8.6-13.9-10.5-18.8-1.2-2-.7-4-3.3-.5a42 42 0 0 0-2.3 19.2c6.2 32.3 12.5 59.1 11.5 89.8 3 0 6.3-6.7 7.8-13.3m64.4-85.3c3.5 1.7 5.5 11.3 5.1 14-.7 5-2.5 10.4-3.8 9.7-1.5-.6.3-7.4-.4-9.5-.8-3-5.5-8.4-5-10-1-3.4 2-4.8 4.1-4.2m-255.7 67.9c3.3 1.3 5.3 8.3 5 10.3-.8 3.7-2.5 7.7-3.8 7.1-1.3-.4.3-5.4-.3-7-.3-3.7-4.9-5.7-4.8-7.3-.8-3 2-3.5 4-3.1z"/> + <path fill="#165d31" d="M244.9 218.2c4.2.2 6.3 3.6 2.4 5-4 1.3-7.7 2.4-7.8 8 1.5 8-2 5.2-4 4.2-2.4-1.8-9.2-6-10.2-15-.1-2.1 1.6-4 4.3-4 4 1.1 10 1.2 15.3 1.8"/> + <path fill="#fff" d="M77.4 124.4c4.8 1.4 5.1 8.6 4.8 10.7-.7 3.8-2.4 7.9-3.6 7.4-1.4-.5 0-5.7-.7-7.3-.7-2.2-4.8-6.4-4.4-7.6-.9-2.5 2-3.7 3.9-3.2m95.9 33.6c-3.8 2-5.2 8-2.9 11.6 2.2 3 5.6 1.9 6 1.9 3.7.4 5.9-6.9 5.9-6.9s.1-2-4.2 1.9c-1.9.3-2-.4-2.5-1.4a9 9 0 0 1 .5-5.7c.7-1.8-.7-2.6-2.8-1.4m28-36.4c-2 1.3-5.7 5.2-5.8 9.6-.1 2.5-.6 2.5 1 4 1.3 1.8 2.4 1.7 4.8.4a5 5 0 0 0 2.3-3.4c.6-2.8-3 1.4-3.4-1.8-.8-3 1.5-4.2 3.7-7 0-2 0-3.3-2.7-1.8zm22.4 4a60 60 0 0 0-1.6 11.1c-.6 2.8 3 4 4.5.4 2.4-6.5 2.4-9.3 2.6-12-.7-4.3-3.6-4.2-5.5.5m142 72.3c.4-.5 20-14.4 20-14.4 2-.7 1.5 7.2.6 7.1a78 78 0 0 1-20.7 14.3c-1 .7-1.9-5.3 0-7zm17.7-.2c3.5 1.7 4.9 11.8 4.5 14.5 0 5.4-3.3 9.6-4.7 9-1.4-.7.2-6.7-.5-8.8-.8-3-3.7-8.5-3.2-10.1-1-3.4 1.8-5.2 4-4.6zm-116 43.4a26 26 0 0 1 5.6-4.9c2-1 3.8.8 3.7.7.3 2-1.2 3.7-.7 6.3.4 1 .7 2.2 2.6 1.8 3.1-2.5 6-2.7 9-2.8 2.5.1 2.6 4.2 1 4.2-5.7 1.2-8.2 2.8-12.3 4.3-2 1.2-3.6-.3-3.6-.4s-1.1-1.1-.4-3.7q.3-3.2-2.4-3c-1.2.8-2.4 1.2-3-.3q-.6-1.4.5-2.2m136.6 5.4c.8 1 1.4 2-.1 3.8l-3.7 3.2c-.6 1-1 2.8 1 3.3 3.6 1 12-4.5 12-4.6 1.4-1 1-3 .8-3-.8-.9-2.6-.3-3.8-.5-.6 0-2.5-.2-1.6-2a11 11 0 0 0 1.6-2.9q.9-1.7-2-2.7c-2.1-.4-3-.2-5.3 0q-1.6.2-1.9 2.3c.1 2.3 1.5 2.2 3 3z"/> + <path fill="#165d31" d="M268.1 189.7c-.5 1-2.3 1-4 0s-2.7-2.6-2.1-3.5 2.3-.9 4 0 2.6 2.6 2.1 3.5m-89-53.6c-1 .3-2.4-.6-3-2s-.3-2.6.7-2.9 2.3.7 3 2 .3 2.7-.8 3zM355.2 375c9.4.4 18.2 0 27.5.5 1.7 1.5.5 5-.6 4.8l-7.8-.3c-.1-3-7.7-2.5-7.5.1-4.1.5-7.8-.1-12-.3-1.2-1.5-1-4.2.4-4.8"/> + </g> +</svg> diff --git a/apps/web/public/flags/sb.svg b/apps/web/public/flags/sb.svg new file mode 100644 index 00000000..6066f94c --- /dev/null +++ b/apps/web/public/flags/sb.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sb" viewBox="0 0 640 480"> + <defs> + <clipPath id="sb-a"> + <path fill-opacity=".7" d="M0 0h682.7v512H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#sb-a)" transform="scale(.9375)"> + <path fill="#0000d6" d="M0 507.2 987.4 0H0z"/> + <path fill="#006000" d="M1024 0 27.2 512H1024z"/> + <path fill="#fc0" d="M1024 0h-54.9L0 485.4V512h54.9L1024 27.6z"/> + <path fill="#fff" d="m71.4 9.1 11.8 34.5h38.5L90.6 64.7l11.9 34.4L71.4 78 40.3 99.2l11.9-34.4-31.1-21.3h38.4zm191.1 0 11.9 34.5h38.5l-31.2 21.2 12 34.4L262.4 78l-31 21.3 11.9-34.4-31.2-21.3h38.5zm0 144.5 11.9 34.5h38.5l-31.2 21.2 12 34.4-31.2-21.3-31 21.3 11.9-34.4-31.2-21.3h38.5zm-95-71.4 11.9 34.4h38.4l-31 21.3 11.8 34.4-31-21.3-31.2 21.3 12-34.4-31.2-21.3h38.5zm-96.1 71.4 11.8 34.5h38.5l-31.1 21.2 11.9 34.4-31.1-21.3-31.1 21.3 12-34.4L21 188h38.4z"/> + </g> +</svg> diff --git a/apps/web/public/flags/sc.svg b/apps/web/public/flags/sc.svg new file mode 100644 index 00000000..9a46b369 --- /dev/null +++ b/apps/web/public/flags/sc.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sc" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0Z"/> + <path fill="#d92223" d="M0 480V0h640v160z"/> + <path fill="#fcd955" d="M0 480V0h426.7z"/> + <path fill="#003d88" d="M0 480V0h213.3z"/> + <path fill="#007a39" d="m0 480 640-160v160z"/> +</svg> diff --git a/apps/web/public/flags/sd.svg b/apps/web/public/flags/sd.svg new file mode 100644 index 00000000..12818b41 --- /dev/null +++ b/apps/web/public/flags/sd.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sd" viewBox="0 0 640 480"> + <defs> + <clipPath id="sd-a"> + <path fill-opacity=".7" d="M0 0h682.7v512H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#sd-a)" transform="scale(.9375)"> + <path fill="#000001" d="M0 341.3h1024V512H0z"/> + <path fill="#fff" d="M0 170.6h1024v170.7H0z"/> + <path fill="red" d="M0 0h1024.8v170.7H0z"/> + <path fill="#009a00" d="M0 0v512l341.3-256z"/> + </g> +</svg> diff --git a/apps/web/public/flags/se.svg b/apps/web/public/flags/se.svg new file mode 100644 index 00000000..8ba745ac --- /dev/null +++ b/apps/web/public/flags/se.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-se" viewBox="0 0 640 480"> + <path fill="#005293" d="M0 0h640v480H0z"/> + <path fill="#fecb00" d="M176 0v192H0v96h176v192h96V288h368v-96H272V0z"/> +</svg> diff --git a/apps/web/public/flags/sg.svg b/apps/web/public/flags/sg.svg new file mode 100644 index 00000000..c4dd4ac9 --- /dev/null +++ b/apps/web/public/flags/sg.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sg" viewBox="0 0 640 480"> + <defs> + <clipPath id="sg-a"> + <path fill-opacity=".7" d="M0 0h640v480H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#sg-a)"> + <path fill="#fff" d="M-20 0h720v480H-20z"/> + <path fill="#df0000" d="M-20 0h720v240H-20z"/> + <path fill="#fff" d="M146 40.2a84.4 84.4 0 0 0 .8 165.2 86 86 0 0 1-106.6-59 86 86 0 0 1 59-106c16-4.6 30.8-4.7 46.9-.2z"/> + <path fill="#fff" d="m133 110 4.9 15-13-9.2-12.8 9.4 4.7-15.2-12.8-9.3 15.9-.2 5-15 5 15h15.8zm17.5 52 5 15.1-13-9.2-12.9 9.3 4.8-15.1-12.8-9.4 15.9-.1 4.9-15.1 5 15h16zm58.5-.4 4.9 15.2-13-9.3-12.8 9.3 4.7-15.1-12.8-9.3 15.9-.2 5-15 5 15h15.8zm17.4-51.6 4.9 15.1-13-9.2-12.8 9.3 4.8-15.1-12.9-9.4 16-.1 4.8-15.1 5 15h16zm-46.3-34.3 5 15.2-13-9.3-12.9 9.4 4.8-15.2-12.8-9.4 15.8-.1 5-15.1 5 15h16z"/> + </g> +</svg> diff --git a/apps/web/public/flags/sh-ac.svg b/apps/web/public/flags/sh-ac.svg new file mode 100644 index 00000000..c43b301e --- /dev/null +++ b/apps/web/public/flags/sh-ac.svg @@ -0,0 +1,689 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sh-ac" viewBox="0 0 640 480"> + <path fill="#012169" d="M0 0h640v480H0Z"/> + <path fill="url(#sh-ac-ac-h)" d="M395.4 250.5s-18.2-20.1-32-22.9c-14-2.7-22.7-.3-26.8 3-4.2 3.5-18 14.4-19.5 22.6l18.1.9s3.8-8 15.8-7.5 13.9 4.8 13.1 5.8c-.7 1-1.1 4.3 3.7 6.6s6.9 7.4 6.9 7.4l8.5-4.4s1.8-2.8 2.6-3.3 3.5-.8 4.2-1.5c.7-.8 3.4-2.6 3.4-2.6z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="#d5ccc0" d="M527.1 277.7s12.3 9.4 13.2 12.7c1 3.3-6.8 8.2-6.8 8.2l.9 1.6 4.2-2c.6 0 1-.8 1.1-1 .1-.3.8-1.1 1.9-1.4s1.2-.2 1.5-.5c.2-.4 1.2-1.3 1.9-1.7q.9-.5.7-.8l1-1.4-.3-.6s-7-8-15.6-12l-3.7-1z"/> + <path fill="#fdf2e8" d="M503 292.9s8.6-14.5 15.4-15.6c0 0-3 0-5.7 2-3 2.2-9 7.4-11.8 13.5"/> + <path fill="#494037" d="M546 292.5c.4-.7-.3-1.5-1-1.6-.8 0-2.3-.1-2.3.4s-.3 3 .4 3 2.5-1.2 2.9-1.8m-5 1.7q-.2 1-1.2 1.1-.8.1-.9 1c0 .3-1.9-.1-2-1.2-.2-1.2-.3-3.2.6-3.3.9-.2 3.5 1.9 3.5 2.4m-2.2 4c0-.6-1.6-.5-1.7-1s-1.4-2.5-1.9-1.8-.3 1.4-1 1.6-1.5.8-1.3 1.1l1.3 2zm-7.1-2.5c.4.4 1 1.2 2 .1.8-1 1-1.4-.3-1.5-1.2-.1-3.2-.4-3 0 0 .4.8 1 1.3 1.4m-3.7-2.1c-.1-.8 1.7-.2 1.5.4s1 1.9.3 1.6-1.6-.5-1.8-2m2.3-2.2c.2-1.2 1.5-.3 1.8.2s2.6 2 1 1.8-3.2-.3-2.8-2m.1-3q-.1 1.9 2.2 2c1.6-.1 3.3-1 3.2-2 0-1.1-1.5-2.8-2.5-3.3s-3.2-1.7-3.2-.6c0 1 .4 2.7.3 4zm7 .8c.3-.8 1.4-2.7 2-2.7a8 8 0 0 1 3.4 1.7q.7 1.1-.5 2.1t-3.1.9c-1-.1-2-1-1.8-2m.1-6.3s-.1 4-1.5 2.7-3.4-1.4-3.5-3q0-2.2 1.4-2.1c.8 0 3.6 2.4 3.6 2.4m-11 4.6c0 1-.3 1.3.6 1.3 1-.1 3 0 2.8-.7-.3-.8-1.2-1.7-2-1.7q-1.4-.1-1.3 1zm1.7-4.8c.6.1 3.4.8 3.3-.2 0-1 .4-1.3.6-2q.4-1.2-.9-1.7c-.7-.5-2.9-.8-3.4-1-.6 0-1.1 1.3-.3 2 .8.5 0 2.7.7 2.9m-4-2.5c.8.4 2.6 1.1 2.5.6 0-.5.2-1.6-.4-1.6s-3.3.5-2.2 1zm-2 8c.7-.3 2.5-1.2 2.1-1.7s-4.2 0-4.2.7.4 2 2.1 1m1.7.4c.5-.1 1.8-.4 1.8 0q.2.9-1 .9c-.8-.2-1.7-.7-.8-.9m.2-4c1.3-.3 2.7-1 0-1.3-2.6-.3-5.9-.6-5.3.3.5.9 2.1 2.5 3.3 2 1.1-.3.9-.6 2-1m-3-3.2c.9.3 2.1-.4 1.5-1.5-.5-1-2.6 1.2-1.6 1.5zm-3.2-4c1.2.4 2.3 1.5 2.1 2.4s-.3 2.8-2 2.7c-1.5-.1-3.2.4-4-.3s-2.3-1.8-1-3.2c1.4-1.3 5-1.6 5-1.6zm-5 8.5c-1.1-.6 1.7-2.2 2.3-2.5s1.9.4 2 .8 1.3 1.2 2 1.4c.7.3 0 1.4-.7 1.5s-2.2 2-2.9 1.4-2.2-2.4-2.7-2.6m-.6-2.3c-.1-.7 0-1.5-1.5-.9s-3.3 1.7-3.5 2.4-1 2.8-.2 2.7 2.1 1.7 2.7.4 2.3-1.2 2.4-2.9.3-.6.1-1.7m2.1 5c-.6-1-2-1-2.9-.2s-2.2 2-1.5 2c.7.1 2.6 1 3.7.3s1-1.5.7-2.1m-10.5 4.2c-.4-1.2 1.4-2.7 1.4-3.7.1-1 .8-1.5 1.8-.4 1 1 2 2.8 2.1 3.6 0 .8-.1 0-1.4.4-1.4.3-3.9.1-3.9.1"/> + <path fill="#494037" d="M504.2 290.1s.4.7.2 1.2c-.1.6-1 1-1 1z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".6" d="M546.4 291.2s-10.6-11.7-18.6-13.3-13.2-.2-15.6 1.7c-2.4 2-10.4 8.3-11.3 13.2l10.5.4s2.2-4.6 9.2-4.3 8 2.8 7.6 3.4-.6 2.5 2.2 3.8c2.7 1.3 4 4.3 4 4.3"/> + <path fill="url(#sh-ac-ac-d)" d="M122 250.5s18.2-20.1 32-22.9c14-2.7 22.7-.3 26.8 3 4.2 3.5 17.9 14.4 19.5 22.6l-18.2.9s-3.7-8-15.7-7.5-14 4.8-13.2 5.8 1.2 4.3-3.6 6.6-7 7.4-7 7.4l-8.4-4.4s-1.8-2.8-2.7-3.3c-.8-.4-3.5-.8-4.2-1.5-.6-.8-3.4-2.6-3.4-2.6z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="#d5ccc0" d="M406.7 277.7s-12.3 9.4-13.2 12.7c-1 3.3 6.9 8.2 6.9 8.2l-1 1.6-4.2-2c-.6 0-1-.8-1.1-1-.1-.3-.8-1.1-1.9-1.4s-1.2-.2-1.5-.5a8 8 0 0 0-1.9-1.7q-.8-.5-.7-.8l-1-1.4.4-.6s6.9-8 15.5-12l3.7-1z"/> + <path fill="#fdf2e8" d="M430.8 292.9s-8.6-14.5-15.4-15.6c0 0 3 0 5.7 2 3.1 2.2 9 7.4 11.8 13.5"/> + <path fill="#494037" d="M387.9 292.5c-.5-.7.2-1.5 1-1.6.7 0 2.2-.1 2.2.4s.3 3-.4 3-2.4-1.2-2.8-1.8m5 1.7q.1 1 1 1.1t1 1c0 .3 1.9-.1 2-1.2.3-1.2.4-3.2-.6-3.3-.9-.2-3.4 1.9-3.4 2.4m2.1 4c0-.6 1.6-.5 1.7-1s1.4-2.5 1.9-1.8.3 1.4 1 1.6 1.5.8 1.3 1.1l-1.3 2zm7.1-2.5c-.4.4-1 1.2-1.9.1q-1.6-1.4.2-1.5c1.2-.1 3.2-.4 3 0 0 .4-.8 1-1.3 1.4m3.7-2.1c.1-.8-1.7-.2-1.5.4s-1 1.9-.3 1.6 1.6-.5 1.8-2m-2.2-2.2c-.3-1.2-1.6-.3-1.9.2s-2.6 2-1 1.8 3.2-.3 2.9-2m-.2-3q.3 1.9-2.2 2c-1.6-.1-3.3-1-3.2-2 0-1.1 1.5-2.8 2.5-3.3s3.2-1.7 3.3-.6c0 1-.5 2.7-.4 4zm-7 .8c-.2-.8-1.4-2.7-2-2.7a8 8 0 0 0-3.4 1.7q-.7 1.1.5 2.1 1.3 1 3.1.9c1-.1 2-1 1.8-2m-.1-6.3s.1 4 1.5 2.7 3.4-1.4 3.5-3q0-2.2-1.4-2.1c-.8 0-3.6 2.4-3.6 2.4m11 4.6c0 1 .3 1.3-.6 1.3-1-.1-3 0-2.7-.7.3-.8 1-1.7 2-1.7q1.2-.1 1.3 1zm-1.7-4.8c-.6.1-3.4.8-3.3-.2 0-1-.3-1.3-.6-2q-.3-1.2.9-1.7c.7-.5 2.9-.8 3.5-1 .5 0 1 1.3.2 2-.8.5 0 2.7-.7 2.9m4.1-2.5c-.8.4-2.7 1.1-2.6.6 0-.5-.2-1.6.5-1.6s3.2.5 2.1 1m1.9 8c-.7-.3-2.5-1.2-2.1-1.7s4.2 0 4.2.7-.4 2-2.1 1m-1.6.4c-.6-.1-1.9-.4-1.9 0q-.2.9 1 .9c.8-.2 1.7-.7.9-.9m-.3-4c-1.3-.3-2.6-1 0-1.3s5.9-.6 5.3.3c-.5.9-2.1 2.5-3.3 2-1-.3-.8-.6-2-1m3-3.2c-.9.3-2-.4-1.5-1.5.5-1 2.6 1.2 1.6 1.5zm3.2-4c-1.2.4-2.2 1.5-2 2.4 0 .8.3 2.8 1.9 2.7s3.2.4 4-.3 2.3-1.8 1-3.2c-1.4-1.3-5-1.6-5-1.6zm5 8.5c1.1-.6-1.7-2.2-2.3-2.5s-1.9.4-2 .8-1.3 1.2-2 1.4c-.6.3 0 1.4.7 1.5s2.2 2 3 1.4c.6-.6 2-2.4 2.6-2.6m.6-2.3c.1-.7 0-1.5 1.5-.9s3.3 1.7 3.5 2.4 1 2.8.2 2.7-2.1 1.7-2.7.4-2.3-1.2-2.4-2.9-.3-.6-.1-1.7m-2 5c.5-1 2-1 2.8-.2.9.8 2.2 2 1.5 2-.7.1-2.6 1-3.7.3q-1.3-1.1-.7-2.1zm10.4 4.2c.4-1.2-1.4-2.7-1.4-3.7s-.8-1.5-1.8-.4c-.9 1-2 2.8-2 3.6-.1.8 0 0 1.4.4 1.3.3 3.8.1 3.8.1"/> + <path fill="#494037" d="M429.6 290.1s-.3.7-.2 1.2 1.1 1 1.1 1z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".6" d="M387.4 291.2s10.6-11.7 18.7-13.3 13.1-.2 15.5 1.7c2.4 2 10.4 8.3 11.3 13.2l-10.5.4s-2.2-4.6-9.2-4.3-8 2.8-7.6 3.4.6 2.5-2.1 3.8a9 9 0 0 0-4 4.3"/> + <path fill="#fff" d="M410.2 291.7s.7 60.8 1.6 66.4 4.4 40.5 54.6 61.5c0 0 38.8-16.5 48.7-39.4s8-66 8-66v-23.4z"/> + <path fill="#1b81b6" d="M522.8 311.5s-8.2-5.2-16.2-5.2-13.4 9.3-20 9.3-10-7.2-20.2-7.2c-10 0-11.4 7.2-18 7.2s-14-9.3-20.9-9.3c-7 0-15.9 6-15.9 6l.1 21s9-6 15.9-6 14.3 9.3 21 9.3c6.5 0 7.8-7.2 18-7.2 10 0 13.5 7.2 20.1 7.2s12-9.3 20-9.3 16.3 5.1 16.3 5.1l-.1-21m-100.7 74a19 19 0 0 1 5.7-1c7 0 14.3 9.3 21 9.3 6.5 0 7.8-7.2 18-7.2 10 0 13.5 7.2 20.1 7.2s12-9.3 20-9.3q2.6 0 5.2.7c6 1.3-34.9 34.5-45.3 34.5s-50-32.4-44.7-34.2m97.6-18a32 32 0 0 0-13-3.4c-7.9 0-13.3 9.3-19.9 9.3s-10-7.2-20.2-7.2-11.4 7.2-18 7.2-13.9-9.2-20.9-9.2a31 31 0 0 0-13.4 4.6c-1.5.9-2.5-16-2.5-16s9-6 15.9-6 14.3 9.3 21 9.3c6.5 0 7.8-7.3 18-7.3 10 0 13.5 7.3 20.1 7.3s12-9.4 20-9.4 16.3 5.2 16.3 5.2-1.2 16.6-3.3 15.7"/> + <path fill="url(#sh-ac-ac-i)" d="m643.2-61.7-1.3 1.6q.7-.7 1.2-1.6m-88.7-17.2 1 3zm50.2-50.6-49.2 53.7a55 55 0 0 0 8.6 15.4l39-42 .5.5 1.4-1.2 38.3 41.4q5.9-8 8.6-17z" transform="translate(-136.2 449.1)"/> + <path d="m415.5 372.3.4.4 51-54.8 50.7 54.8.4-.4-.5-.3v.2c-.3.6-1.6 3.8-3.6 7.5-1.9 3.7-4.5 8-7.3 11.2l.4.4.4-.4-40.5-44.1-41.2 44 .4.5.5-.4v-.1l-4.9-7a49 49 0 0 1-5.7-11.7zl.4.4zl-.6.1a52 52 0 0 0 6.3 12.8c2.4 3.7 4.5 6.4 4.5 6.4l.4.5 40.8-43.6 39.9 43.6.5-.5c3.2-3.4 6-8.2 8-12.1s3.2-7 3.2-7l.1-.4-51.8-55.9-52 55.9v.3zm51 45.8h.9l-.5-.2zM411 290.8l-.9.9h1z"/> + <path d="m470.3 289.9-.8 1.8h53l-1 37.5-.6 19.2-.1 2.4v2.4l-.4 4.7a61 61 0 0 1-1.9 9.2q-2.5 9.1-7.7 17a73 73 0 0 1-12.2 14.4q-7 6.4-15.2 11.3a108 108 0 0 1-8.3 4.5 87 87 0 0 1-8.2 3.6l.5.2h-1l.5-.2a87 87 0 0 1-8.2-3.6 108 108 0 0 1-8.3-4.5q-8.1-4.9-15.2-11.3-7-6.3-12.2-14.3t-7.8-17a61 61 0 0 1-1.8-9.3l-.4-4.7v-2.4l-.2-2.4-.7-19.2-1-37.5h-.8l.8-.9v.9h37.3l-1-1.8h-38v1l1 57.6.2 2.4v2.4l.4 4.9a63 63 0 0 0 1.7 9.6 64 64 0 0 0 8 17.9 78 78 0 0 0 12.5 15q7.2 6.7 15.5 11.8a111 111 0 0 0 8.5 4.8 103 103 0 0 0 9 4l.7.2.6-.2a70 70 0 0 0 9-4 111 111 0 0 0 8.6-4.8 100 100 0 0 0 15.5-11.8 76 76 0 0 0 12.6-15 64 64 0 0 0 7.9-17.9 63 63 0 0 0 1.8-9.6l.3-5v-2.3l.1-2.4q.4-9.6.5-19.2l.7-38.5v-1z"/> + <path fill="#979696" d="m516.8 366.1-.9 3 1.5 1.6 1.1-3.6.1-.3zm2.7-35.5v.5q0 9.7-.5 18.4l2 1v-2.1l.6-16.8zm1.3-38.8h-.2c0 .1-.4 7.2-.7 18l2.3 1.2.5-19.2z"/> + <path fill="#2a647e" d="M519.8 309.8q-.4 9-.4 20.8l2.1 1v-2.4l.6-18.2zm-.9 39.7q-.4 8.7-2.2 16.6l2 .7a61 61 0 0 0 1.6-9l.4-4.6v-2.4l.1-.4zm-14 40.4a112 112 0 0 1-38 26.6v1.4q4.1-1.6 8.2-3.6a108 108 0 0 0 8.3-4.5q8.1-4.9 15.1-11.3a79 79 0 0 0 7.3-7.6l-.8-1"/> + <path fill="url(#sh-ac-ac-j)" d="M651.8-78.7A58 58 0 0 1 642-60l.8 1 4.2-6a63 63 0 0 0 6.2-12.3z" transform="translate(-136.2 449.1)"/> + <path d="m505.8 389.1-.3.1-.1.3-.4.4.8 1 .8-1zm10.2-19.9q0 .7-.3 1.3l1.4 1.5.4-1.2zM467 418v.2h.5z"/> + <path d="m521.8 320.1-.2 9v2.5l-.7 16.8v2l-.1.4v2.4l-.5 4.7a61 61 0 0 1-1.7 9v.2l-1.6 4.8a63 63 0 0 1-6.2 12.3 69 69 0 0 1-5 6.7 79 79 0 0 1-7.3 7.6 99 99 0 0 1-15.1 11.3 108 108 0 0 1-8.3 4.5 87 87 0 0 1-8.2 3.6l.5.2h-.5v.6c8-3.5 13.3-6 18.9-9.5 35.5-22.5 35.6-45.8 35.9-78.1zm1-28.5-2 .2h1.8l-.3 11.3z"/> + <path fill="#fff" d="m417.2 367.1-1.7.9 1.7-1"/> + <path fill="#00b5d2" d="m414.8 350.8-1.8 1.1.4 6a61 61 0 0 0 1.8 9.2l.3.9 1.7-1q-2-7.7-2.4-16.2"/> + <path d="m413 351.9-.3.2q.5 8.5 2.4 16l.4-.1a61 61 0 0 1-2.1-10.1l-.4-4.7z"/> + <path fill="#00b5d2" d="m414 311-2.3 1.4.3 11.4.1 5.4.2 3.7 2-1.2v-.6q0-11.2-.3-20.1"/> + <path d="M412 323.8v9.2l.3-.1-.2-3.7zm6.6 45.2-.6.6z"/> + <path fill="#00b5d2" d="m428.5 389.6-.9 1a79 79 0 0 0 7.6 8q7 6.4 15.2 11.2a107 107 0 0 0 8.3 4.5 87 87 0 0 0 8.2 3.6l-.5.2.5-.2v-1.3a112 112 0 0 1-38.4-27"/> + <path fill="url(#sh-ac-ac-l)" d="m603-131.2-48.6 52.3 1 3-1-3-1.5 1.6a63 63 0 0 0 6.3 12.4l3.9 5.4.9-1a55 55 0 0 1-8.6-15.3l49.2-53.7z" transform="translate(-136.2 449.1)"/> + <path d="m427.8 388.7-1 1 .8.8.9-1zm-9.8-19-1.4 1.6.1.5 1.5-1.6-.2-.6m48.8-52.5L418.5 369l-.6.6.2.6 48.7-52.3 1.5 1.7.4-.4zm0 100.8-.5.2h.5z"/> + <path d="m416.6 371.3-.5.5c4.3 13.5 13.2 25.6 32 37.4 5.5 3.5 10.7 6 18.8 9.5v-.6h-.5l.5-.2q-4.1-1.6-8.2-3.6a108 108 0 0 1-8.3-4.5q-8.1-4.9-15.2-11.3a79 79 0 0 1-7.6-8 69 69 0 0 1-4.6-6.3 63 63 0 0 1-6.3-12.4z"/> + <path fill="url(#sh-ac-ac-m)" d="m604.9-103.1-1.4 1.2L642-60l1.2-1.6z" transform="translate(-136.2 449.1)"/> + <path d="m467.3 347.2-.3.3 38.4 42q0-.2.2-.3l.1-.2z"/> + <path fill="#405d66" d="m505.6 389.2-.2.3z"/> + <path fill="#24ab5f" d="m505.6 389.2-.2.3z"/> + <g transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#405d66" d="M327.5 416v.1z"/> + <path fill="#24ab5f" d="M327.5 416v.1z"/> + <path fill="#fff" stroke="#000" stroke-miterlimit="10" stroke-width="1.4" d="m248.3 298.1-20.7-7.2a13 13 0 0 0-9.4 1.5c-2.2 1.6-6.4 1.5-6 .6.6-1 3-2.6 3-3.8 0-1.3 7.4-3.6 7.4-3.6l-6.1 1.2c-2.6.7-2.5-.8-5.2-.6-2.6.2-6 3.8-7.2 5.6a3.6 3.6 0 0 1-5.5.6c-1.6-1.6-6.9-2.4-9.4-1.5-2.6 1-19 6.5-20.7 7.2-1.8.8-1.3 2.5 5 2.6 6.1.1 12.8-.6 14.7-1.9s5 1.4 6.9 3 4.7 1.8 6.3 0c1.7-1.7 2.5-1 2.6 1.3s2.3 3.2.5 3.9-6.1 4.2-5.3 5q.7.8 1.4.7c0 7 7.8 5.7 7.8 5.7s7.8 1.3 7.8-5.7q.7.1 1.3-.7c.8-.8-3.4-4.3-5.2-5s.3-1.6.4-3.9 1-3 2.6-1.2c1.6 1.7 4.5 1.6 6.4 0s5-4.4 6.8-3.1c2 1.3 8.6 2 14.8 2 6.2-.2 6.8-1.9 5-2.7z"/> + <circle cx="210.7" cy="288.5" r=".5"/> + <path fill="#fed468" stroke="#000" stroke-miterlimit="10" stroke-width=".6" d="M206.3 303.4s-.6 2.7 0 4.7c.2.6-1.5 2-.3 2.2s2.6.1 2-.8c-.8-1-1-4.2-.9-5.5m3.6-.6s.6 2.7 0 4.7c-.2.6 1.4 2 .3 2.2-1.2.3-2.6.1-2-.8s.9-4.2.9-5.5"/> + <path fill="#b5b5b6" d="M189.3 293.3c.3-1.4 4-.9 5 0a17 17 0 0 0 6.3 2.3c1.4 0 .8 1.8-1.3 1.4-2-.4-4.7-2.7-6-2.8s-4.5 1.6-4-1zm13.8 7.6c-1.7.3 2.4-4.9 2-2.5s-.4 3.7-.2 5-.4 2.6-1-.7-.2-1.9-.8-1.8m21.8-8.3c-.3-1.4-3.7.6-4.7 1.4-1 .9-4.9 2.3-6.3 2.3s-1 2.4 1.2 2c2-.4 5-2.7 6-3.3 2.8-1.7 4.3.1 3.8-2.4m-11.6 8.3c1.8.3-2.4-4.9-2-2.5s.5 3.7.3 5 .3 2.6.9-.7c.5-3.3.2-1.9.8-1.8m-6.8 10.4c1-1.4 3.1 1 3.6 0q1-1.5 3-.6c1.4.7 1.7 1.8.3 1.7-2.6-.2-1.4 1.4-4 1.2-2.5-.2-4.4-.4-3-2.3zm-35-14.3s-1.7 3.2 2 2.1c3.6-1 6.2.4 9.5-.8 3.3-1.1 8-2.3 8.7-.5q1 2.5-1.2.9c-1.6-1-3.3.3-4 .7a82 82 0 0 1-13 1.3c-2.9-.2-7.2-1-5.4-2.4s3.3-1.3 3.3-1.3zm73.6 0s1.7 3.2-2 2.1c-3.6-1-6.2.4-9.5-.8-3.3-1.1-8-2.3-8.7-.5q-1 2.5 1.2.9c1.6-1 3.3.3 4 .7a82 82 0 0 0 13 1.3c2.9-.2 7.2-1 5.4-2.4s-3.4-1.3-3.4-1.3"/> + <path fill="#fff" stroke="#000" stroke-miterlimit="10" stroke-width="1.4" d="m348.3 298.1-20.7-7.2a13 13 0 0 0-9.4 1.5c-2.2 1.6-6.4 1.5-6 .6.6-1 3-2.6 3-3.8 0-1.3 7.4-3.6 7.4-3.6l-6.1 1.2c-2.6.7-2.5-.8-5.2-.6-2.6.2-6 3.8-7.2 5.6a3.6 3.6 0 0 1-5.5.6c-1.6-1.6-6.9-2.4-9.4-1.5-2.6 1-19 6.5-20.7 7.2-1.8.8-1.3 2.5 5 2.6 6.1.1 12.8-.6 14.7-1.9s5 1.4 6.9 3 4.7 1.8 6.3 0c1.7-1.7 2.5-1 2.6 1.3s2.3 3.2.5 3.9-6.1 4.2-5.3 5q.7.8 1.4.7c0 7 7.8 5.7 7.8 5.7s7.8 1.3 7.8-5.7q.7.1 1.3-.7c.8-.8-3.4-4.3-5.2-5s.3-1.6.4-3.9 1-3 2.6-1.2c1.6 1.7 4.5 1.6 6.4 0s5-4.4 6.8-3.1c2 1.3 8.6 2 14.8 2 6.2-.2 6.8-1.9 5-2.7z"/> + <circle cx="310.7" cy="288.5" r=".5"/> + <path fill="#fed468" stroke="#000" stroke-miterlimit="10" stroke-width=".6" d="M306.3 303.4s-.6 2.7 0 4.7c.2.6-1.5 2-.3 2.2s2.6.1 2-.8-1-4.2-.9-5.5m3.6-.6s.6 2.7 0 4.7c-.2.6 1.4 2 .3 2.2-1.2.3-2.6.1-2-.8s.9-4.2.9-5.5"/> + <path fill="#b5b5b6" d="M289.3 293.3c.3-1.4 4-.9 5 0a17 17 0 0 0 6.3 2.3c1.4 0 .8 1.8-1.3 1.4-2-.4-4.7-2.7-6-2.8s-4.5 1.6-4-1zm13.8 7.6c-1.7.3 2.4-4.9 2-2.5s-.4 3.7-.2 5-.4 2.6-1-.7-.1-1.9-.8-1.8m21.8-8.3c-.3-1.4-3.6.6-4.7 1.4-1 .9-4.9 2.3-6.3 2.3s-.9 2.4 1.2 2c2-.4 5-2.7 6-3.3 2.8-1.7 4.3.1 3.8-2.4m-11.6 8.3c1.8.3-2.4-4.9-2-2.5s.5 3.7.3 5 .3 2.6.9-.7c.5-3.3.2-1.9.8-1.8m-6.8 10.4c1-1.4 3.1 1 3.6 0q1-1.5 3-.6c1.4.7 1.7 1.8.3 1.7-2.6-.2-1.4 1.4-4 1.2-2.5-.2-4.4-.4-3-2.3zm-35-14.3s-1.7 3.2 2 2.1c3.6-1 6.2.4 9.5-.8 3.3-1.1 8-2.3 8.7-.5q1 2.5-1.2.9c-1.6-1-3.3.3-4 .7a82 82 0 0 1-13 1.3c-2.9-.2-7.2-1-5.4-2.4s3.3-1.3 3.3-1.3zm73.6 0s1.7 3.2-2 2.1c-3.6-1-6.2.4-9.5-.8-3.3-1.1-8-2.3-8.7-.5q-1 2.5 1.2.9c1.6-1 3.3.3 4 .7a82 82 0 0 0 13 1.3c2.9-.2 7.2-1 5.4-2.4s-3.4-1.3-3.4-1.3"/> + <path fill="#fff" stroke="#000" stroke-miterlimit="10" stroke-width="1.5" d="M311 433.1c-2.3-1-23.7-8.2-27-9.4-3.5-1.2-10 .1-12.5 2-2.8 2-8.4 2-7.7.7s3.8-3.4 3.8-5 9.7-4.8 9.7-4.8l-8 1.7c-3.3.8-3.2-1-6.7-.8s-8 5-9.5 7.4a4.8 4.8 0 0 1-7.3.7c-2-2.1-9-3.1-12.3-2-3.4 1.3-24.8 8.5-27.2 9.5s-1.7 3.3 6.5 3.4 17-.8 19.4-2.5c2.5-1.8 6.5 1.9 9 4s6.3 2.3 8.4 0 3.2-1.3 3.4 1.6c0 3 3 4.3.6 5.1-2.4 1-8 5.6-6.9 6.7q.8 1 1.8.8c0 9.2 10.2 7.6 10.2 7.6s10.2 1.6 10.2-7.6q1 .1 1.8-.8c1-1.1-4.5-5.8-7-6.6-2.3-1 .6-2.2.7-5.2s1.3-3.9 3.4-1.6 5.9 2.1 8.3 0 6.6-5.8 9-4a48 48 0 0 0 19.5 2.5c8.1-.1 8.8-2.4 6.5-3.4z"/> + <circle cx="261.8" cy="420.5" r=".6"/> + <path fill="#fed468" stroke="#000" stroke-miterlimit="10" stroke-width=".8" d="M256 440s-.9 3.6 0 6.2c.2.8-2 2.6-.4 3 1.5.3 3.4 0 2.5-1.2a18 18 0 0 1-1-7.1m4.7-.9s.7 3.6 0 6.2c-.3.8 1.8 2.6.3 3s-3.4 0-2.5-1.2a18 18 0 0 0 1-7.1"/> + <path fill="#b5b5b6" d="M233.7 426.8c.4-2 5.1-1.2 6.5 0 1.4 1 6.4 3 8.3 3 1.8 0 1 2.3-1.7 1.8s-6.2-3.5-7.8-3.6c-1.7-.1-6 2-5.3-1.3zm18.1 10c-2.3.3 3.2-6.4 2.7-3.3s-.7 4.9-.3 6.5-.6 3.4-1.3-.9-.3-2.5-1.1-2.3m28.5-11c-.4-1.8-4.7.8-6 2-1.5 1-6.5 3-8.3 3-2 0-1.2 3 1.5 2.5s6.6-3.5 8-4.3c3.6-2.2 5.5.2 4.8-3.1zm-15 11c2.2.3-3.3-6.4-2.8-3.3s.7 4.9.4 6.5c-.4 1.6.5 3.4 1.2-.9s.3-2.5 1.1-2.3zm-9.1 13.6c1.4-1.8 4.1 1.2 4.8 0q1.1-2 3.9-.7c1.8.8 2.2 2.2.4 2.1-3.4-.2-1.9 1.9-5.2 1.6s-5.8-.6-4-3zm-46-18.7s-2.2 4.2 2.6 2.7c4.8-1.4 8.3.5 12.6-1 4.4-1.6 10.6-3.1 11.4-.7.7 2.4.6 2.4-1.5 1.2-2.1-1.3-4.4.3-5.4.8s-13.4 2-17.1 1.8-9.4-1.3-7-3.1 4.4-1.7 4.4-1.7m96.8 0s2.2 4.2-2.6 2.7c-4.8-1.4-8.3.5-12.6-1-4.4-1.6-10.6-3.1-11.4-.7s-.6 2.4 1.5 1.2c2.1-1.3 4.4.3 5.4.8s13.4 2 17 1.8c3.7-.2 9.4-1.3 7-3.1-2.3-1.8-4.3-1.7-4.3-1.7"/> + <path fill="url(#sh-ac-ac-n)" d="m204 137.3 13 29.7h83.6l12.8-29.7-54.6-126.5Z"/> + <path fill="#83c453" d="m204 137.3 13 29.7h2.6l-13-29.8 52.2-121.7L311 137.2 298 167h2.6l12.8-29.7-54.6-126.5Z"/> + </g> + <path d="m466.9 151.7 31.8 73.6-7.4 17.3h-48.7l-7.4-17.3zm0-3-1 2.6-31.8 73.5-.2.5.2.5 7.5 17.2.3.7H492l.3-.7 7.5-17.2.2-.5-.2-.5-31.8-73.5-1-2.5z"/> + <g transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#fff" d="M445.7 110.8c21.5 8.8 19.6 23.8 10.3 26.8-8 1-13.9 1-18.8.3v-.3c16.3-3.5 8.5-26.8 8.5-26.8m-80.5 75.5c-.3-.7-4.9-12.5-16.5-29-15.1-21.4-16-28.6-16-28.6l4.7 2s-.9-1.7-1-4.3c-.4-4 .8-9.8 8.3-15.1 3.4-2.4 9-1.6 9-1.6s-1 3-1 6.9c0 3.8.1 8.8 8 23.5l3 5.7.2.1c-3.2 2.8-6.2 4.2-6.2 4.2a10 10 0 0 0 9 1.6c5.5 12 10 25 10 33.5 0 11.2-7.5 31.3-35.6 35 11.1-1.6 17.2-10.1 17.6-20.9 1.2-11.5-9.5-17.1-21.3-15.4 0 0 4.8-6 13.8-6 8.7 0 13.7 7.8 14 8.4M161.7 205q6.1 2 13 2a52 52 0 0 0 30.1-12l22.3 28.8c-7.7 3.8-10.7 17.6-10.7 17.6a19 19 0 0 1-3.5-19.7l-.4 1c-2.5 5.5-12.3 7.1-12.3 7.1.6-6.6 4.3-18 4.3-18s-4 4-12.9 9-30.5 3.4-42.3-10.4c-9.2-10.7-8.5-25.1-6.4-36.7l-.2 2.9c0 16.1 8.2 24.8 19 28.4m-8-104.4c6.2.7 12 3.8 12.8 13.3-6.3-1.2-17.5 8.7-17.5 20.3 0 5.3 2.3 9.7 4.8 13 3.1 3.9 6.4 6.1 6.4 6.1a22 22 0 0 1-17.5-11.7c.2.5 1.7 6.5-2 13.8-11 20.6-26.5 18.2-26.5 18.2a52 52 0 0 0 11.6-18.5c1.5-4 8.8-18 11-22 2-4-.3-7.3-3.2-4.5 0 0-20.8 16.8-30.4 19.8-3 1-7.6 1.3-12.5 0a26 26 0 0 1-14-10.1c22.7-.6 57.5-23.7 58.6-24.4-.7.3-13.2 4.9-24.9 1.3-12-3.6-27.7 6.3-27.7 6.3s1.7-7 7-10.2c5.4-3.3 19-3.7 19-3.7s-3-1-6-5.5 2-12.2 2-12.2a33 33 0 0 0 11 12.2c4.4 2.9 18.4-.5 24-.7 2.6 0 8.5-1.4 14-.8"/> + <path fill="#dedede" d="m209.7 201.5-2.7 7.2 4.8-4.8zm8 10.6-5 10 7-7.6zm-70.3-89s-4.9 4.7-3.9 13 3 2.4 2.7 0c-.1-.7-1-2.4-.6-4.4.7-4.3 2.9-10 1.8-8.5zm6.1-9.3s-10.8 9.2-16 9.9 1 2.2 2.7 2.8 3.3-.9 3.3-1.7c0-.9 12.8-11.8 10-11m-17-6.8s4.9-3 13.7-1.8c8.9 1.2 16.4 2.4 8.8 2.8s-25 6.7-25 6.7 14.6-6.2 7-6.3c-7.8-.2-4.6-1.4-4.6-1.4z"/> + <path fill="#2b5f31" d="M170 109.4s-1 17.3-11 32.1-14.4 27.7-14.4 35 17 24.6 17 24.6 4-18 10.7-19.1c6.7-1-1.7-4.6-8.6 0-7 4.6-10.2 5.7-8-.6s12.8-19.1 18-26.3c5.3-7.1 16-22.3 10.7-20.5s-5.2 2.6-4.6-1c.6-3.7 2-16.8-3.6-22.5-5.6-5.8-5.8-6-6.3-1.7z"/> + <path fill="#294527" d="m157.9 173.7-7.1-4.8c-2.7-1.7-2-6.3 3.5-2.8 5.5 3.6 6 4.6 6 4.6m-13.6-1.8s7.7 5.2 9 7.7c0 0-3.3 9.2-2.6 12.5s6.8-7.3 11-7.1c4.1.2-2.3 4.6-2.5 8.7s.2 13.2.2 13.2-5.2 0-10.5-5c-5.4-4.8-6.2-20.6-4.6-30m23-50.3s4.9 4 5.4 10.6-3.7-3.8-5.3 1.5c-1.7 5.4 6 4.4 2.5 7-3.6 2.5-7.6-5-7.6-5s5-9 5-14.1"/> + <path fill="#172716" d="M169.8 120s5.6 5.4 6.4 9c.9 3.4.5 8-1.6 3.7a36 36 0 0 0-6.7-8.4zm-18.5 79s-2-8.1-1-15.7-2.7-10.2-2.8-3.4-.8 15-.8 15z"/> + <path fill="#294527" d="M78.1 113.9s-5.5 10.3-4.7 15.2c1.8 10.7 12 17 12 17S59.2 140 58.7 128s19.4-14 19.4-14"/> + <path fill="#fff" stroke="#000" stroke-miterlimit="10" stroke-width=".6" d="M301.2 96s3.8-1.3 5.2-.7 3.7 1.7 5.3.7l2.9-11.7s-4.4-1.7-7.4-.8-4.1-1.3-4.1-1.3"/> + <path fill="#2b5f31" d="M370.5 114.2s6.6 26-9.7 33.7c0 0-4.2 4 2.8 4.3s13.1-10.5 13.1-10.5l2.4 9.4 4.2-3.2-4.2-27z"/> + <path fill="#294527" d="M456 137.6s-23.5 5.8-54.4-13.9c-17.3-11.6-15.6-12.9-15.6-12.9s-13.8-9.2-17-3.6c-3.3 5.6 8.7 13 11.4 26.2 2.6 13.3 4.5-.7 4.5-.7l-2.2-4.4s26.7 20.5 35.9 22.6c9.3 2.2 36.8-14.7 37.4-13.3"/> + <path fill="#294527" d="M373.7 105.8s9.4 8.7 21.4 12.4c7.1.9 13.6-.4 20.8 0s16.3-1 19.6 1.7c0 0-10-13-25.3-12.7s-36.5-1.5-36.5-1.5z"/> + <path fill="#2b5f31" d="M423.1 118.6s-2.3-9.7-19-10.1c-16.5-.4-28-1.3-5.7-3.6 17.4-5.9 10-13.7 10-13.7s12 .3 10.8 8.2c-1.1 8-3.4 8-3.4 8s15.8 2 22.4 14.2c0 0-4.4-5.1-15-3z"/> + <path fill="#172716" d="M412.4 109.9s5.2 1.3 4.7 4-2.7 1.8-3.9.8-3.5-4.2-.8-4.8"/> + <path fill="#294527" d="M346.2 110.4s12.9-4.3 19.5 2.4c8.3 8.2-2.1-8.5 13.4-6.3s-16-5.8-26.9-2.1-14.8 13.8-14.8 13.8 6-7 8.8-7.8"/> + <path fill="#2b5f31" d="M454.8 138.3s-6 1-10 3-19 6-25.2 3-4.5-4.5-2.7-5.7-.5-3.2-3-1.3c-2.3 2-6.7 1.3-4.3-.8 2.3-2.1 1.1-4.4-.7-3-1.8 1.6-5.1-5-7.3-3.8s-2 4.4-5.6 3.9-19-19.7-16.4 1c2.7 20.8-1.7 13 1.2 18.6s7.3 13.2 16.8 13.9c.8.2-2.3-2.2-5.4-12.5l-4.1-13.4-3.7-9.3-2-4.5 11 8.5s13 10.2 18.3 12.3 11.8 4 14.8 4c2.9-.1 28.3-14 28.3-14z"/> + <path fill="#2b5f31" d="m399.9 124.6-7.8 3.6c-1.5.9 2.1 6.2 4.5 3.5l5.6-5.6 2 .3-6.3 6c-1.2 1.5-.2 1.6 2 3s16.8 13.3 31.5 10.5c0 0-2.2 4.3.5 4.4L427 152s-8.6.7-19.5-6.2-25.2-18.5-25.2-18.5l11.5-8.5z"/> + <path fill="#294527" d="M431.9 150.3s-19.2-2.4-33.7-13c-14.4-10.6-19.1-15.6-19.1-15.6s8 17 5 17.8c-3.6 1-6.4 4.1-2.2 4.4 4 .2 2 3 .3 3s-5 1.5-1.8 1.5c3 0-3.4 3.9 0 11.2 3.3 7.3 15.2 12 22.5 13l-4.5-5.3s-6.8-.5-11.8-6.5c-2.6-2.8 6 4.7 4.1-3.7-.6-4.7-3.9-7.7-5.8-7.7s2-2.5 5.4-.4l-1.3-4.7s-4.6.8-3.3-.9c1.4-1.7 2.6-1.4 2.6-1.4l-5-13 13.3 10s17.1 13 29.5 13.3z"/> + <path fill="#172716" d="m420.1 149 9.5-6.5c1.1-.8 1.5-1.6-1.4-2.4-2.8-.9-5.8-2.1-7-1.2a56 56 0 0 0-5.3 5.7c-.7 1 2 2.6 4.2 4.4"/> + <path fill="#294527" d="M413.5 96.3s2.9.6 2.4 4.5-8.3 5.7-8.3 5.7z"/> + <path fill="url(#sh-ac-ac-z)" d="M234.5 90.4 234 81l-.2-5.3-1-18.7s-1.7-.8-2.7 0l.7 18.9.2 5 .4 9.8"/> + <path fill="url(#sh-ac-ac-y)" d="m283.7 84.1-.4-11-.1-4.6-.5-14s-1.8-.7-2.8 0l.3 14.1.2 5.4.2 10.3"/> + <path fill="url(#sh-ac-ac-x)" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="m299.1 109.2 2.2-10.9.8-4.4 2.7-13.7s-1.6-1.2-2.7-.6l-2.9 13.7-1 5.3-2.1 10"/> + <path fill="url(#sh-ac-ac-w)" d="m259 84.4-.4-10.2-.2-5.4-.8-19.6c1-.8 2.9 0 2.9 0l.8 19.5.3 5.8.4 9.8"/> + <path fill="#fff" d="m269.7 85 25.4-1s-1.7 3.9-6.1 3.8c-4.4 0-2-.7-4 1-1.9 1.6-5.9 2-7.9.4-2-1.5-.6.5-3.4-1a15 15 0 0 1-4-3.1zM223 76.2l23-1s-1.6 3.8-5.5 3.7c-4 0-1.8-.7-3.6.9-1.7 1.5-5.3 2-7.1.4-1.9-1.4 0 .9-3 .7-2.9-.2-5.6-4.6-3.8-4.7"/> + <path fill="#bbbaba" d="M230.6 79.6s6 1.3 5.4-.3q-1-2.4.5-2.2c1.2.1 2.2 1.6.4 2.6-1.7 1-5.2 2.2-6.3-.1m-.8-3.7s-6 1.1-5.8 3.4c0 0-3-.7-2.4-1.7s8.2-1.7 8.2-1.7"/> + <path fill="url(#sh-ac-ac-v)" d="m303.9 129.9 7-12.7c2.2-4-.7-4.8-1.8-6-1.2-1.1-1-7.4-1-7.4s-13.7-1.7-21.5-1.7a59 59 0 0 0-17.2 3.5l15.5 32.9 16.7.4z"/> + <path fill="#804e2d" d="M295.6 102.6s-10.4 1.2-14.5 14.6c-1 3.8 3 11.9 3 11.9s-6-5-6-11-.7-13.7-7.6-12.7 10.2-4 21-3.1"/> + <path fill="#523822" d="m290.6 110.9 2.5-5h-2.5l-2.7 4.7zm5.3.4 2.4-4.8h-2.4l-2.5 4.5zm4.1.3 2.1-4.2h-2l-2.3 4zm5 .2 1.8-3.8H305l-2 3.6zm-16.5 17.3 2-4.2h-2l-2.3 4zm4.9.3 2-4h-2l-2.1 3.8zm-6.4-8 2.4-6.5H287l-2.6 6.2zm6 0 2.2-6H293l-2.5 5.8zm5.4.3 2-5.6h-2l-2.3 5.4zm5.6 0 2-5.1h-2l-2 4.9z"/> + <path fill="url(#sh-ac-ac-u)" d="M241.8 138.5c-10.8-4.4-8.7-11.4-17.8-18-7-4.9-24-21-24-21s17.6 12.6 28.5 15.8c2.5.8 3.9 2.2 10.2 2.2v-1.9h4.4v1.9h11c3.9 0 8.9.7 10.6-2.8l4.7-9.1s8.3-1.2 17.5-1.2c0 0-7 9.2-7 12.8s2.5 13.8 14 22l-51.4-.7"/> + <path fill="#806245" d="m239.5 138.4 16.4-.3s-8.5-2.8-14-3.5-10.7-6-10.7-6"/> + <path fill="#804e2d" d="M239.1 129.9s-6.7-4.7-7.4-6.5 2-.5 3.8.7 8.2 1.3 11.9 3a93 93 0 0 1 11.3 7.5s2.8 2.6 9.3-1.2c6.4-3.8-.6 4.8-.6 4.8s-21 2.5-28.3-8.3"/> + <g fill="none" stroke="#291c11" stroke-miterlimit="10" stroke-width=".3"> + <path d="M228 120s3.2 6.2 7.7 11.2 32.7 8 32.7 8"/> + <path d="M268.2 137.6s-20.4-1.6-32.9-6.9"/> + <path d="M267 136.1s-20.4-1.6-33-6.9"/> + <path d="M265.8 134.6s-20.4-1.7-33-7"/> + </g> + <path fill="#804e2d" d="M255.7 129s12.3-.8 12.2 0-1.8 4.7-4.6 4.7-9.4-4.5-7.6-4.6z"/> + <g fill="none" stroke="#291c11" stroke-miterlimit="10" stroke-width=".3"> + <path d="M264.8 132.7s-20.4-1.3-33-6.5"/> + <path d="M263.7 131.1s-20.4-1.2-33-6.5"/> + <path d="M262.7 129.2s-20.4-.8-32.9-6"/> + <path d="M261.6 127s-20.3-.1-32.8-5.4"/> + <path d="M260.9 125s-20.5.3-33-5"/> + </g> + <path fill="#379cd1" d="M321.3 153.2s-9.1 3-11.5-1 .6 8.4 9.2 6.8 10-9 10-9z"/> + <path fill="#dce8f7" d="M201.5 139.3s-11.4-2.6-12.6 3.4 1.2 14.5 10 14.4c8.7-.2 21.5-12.1 21.2-15.4 0 0 13.5 6 18.5 3.4 5-2.5 8.8-9.8 8.8-9.8s7 8.8 17 7.4c10-1.3 10.2-8.1 10.2-8.1s10 11.6 16.1 11.2 12.4-8.6 12.4-8.6 3.8 17.7 11.6 17.5c7.9-.2 19-10 12.8-15.4-9.8-8.6-13-1.7-13-1.7s-1.9 4-4 .9c-2-3.2-10-11.6-12.8-12s-2 .8-1.1 3.6 3.1 9.2-3.7 9.5c-5 .1-17.8-13.2-23.5-13.2-5.8 0-3.7-.8-1.9 5.3 1.9 6.2-.3 5.7-4.2 5.7s-12.3-7-14.6-7.8c-2.3-.9-11.6-2-11.6-2s4.5 4.7 4.8 7 .5 5.5-5.4 5.5c-5.8 0-11-1.9-13.5-3.9-2.6-2-7.4-4.1-10.6-3.3-3.2 1-2.4.8-1.7 1.4.8.6 6.8 5.2 1.8 10.8s-7.5 4.4-7.5 4.4 1.7-9-3.5-10.2"/> + <path fill="#1b81b6" d="M316.5 141.2s5.7-4 10-.6c0 0-1.4-5.1-5.6-5.3-4.2 0-4.4 6-4.4 6z"/> + <path fill="#379cd1" d="M200.7 147.3s2 3.8-.7 4-7.5.3-5.8-4.8 6.7-4 7.6-2.7c1 1.2 2.4 6.7 2.4 6.7s-2.5-5.5-3.5-3.2"/> + <path fill="#1b81b6" d="M199.1 147.2s1.8-.7 1.8.9-.2 2.8-2.8 2.8c-2.7 0-4-2.6-3.2-3.9s3.6.7 3.6.7"/> + <path fill="#379cd1" d="M204 160.6c-5.6-.1-14.8-5.5-16.3-10.8l.8-.8a14 14 0 0 0 12.5 5c5-.3 10.7-3.5 14.1-7.9q2.8-3.7 2.4-6.6-.3-.6-.1-1l.2-.7h.7c.4 0 .6 0 3.2 1.9a17 17 0 0 0 13.5 3.5c4.1-.7 8.1-3.2 9.5-5.9q1-1.8.2-3.4-1-1.6-.4-2.7a1 1 0 0 1 1-.6c1.9 0 6 4.5 6.7 5.3 2 2.3 5.9 4.8 9.3 4.8h.7c3.3-.4 9.5-2.6 10.9-4.6q.3-.6.1-.8c-.9-2.6-.8-3.5-.4-4a1 1 0 0 1 1-.6c.7 0 1.5.4 3 2.1l.2.2c2.6 3 8.9 10 14.4 10.1 2.7 0 5.5-1.3 7.5-3.5q2-2.4 2-4.3-.2-1.5.4-2.1a1 1 0 0 1 1-.4c1.6 0 2.9 3.2 3.1 5.5.4 4 4 16 9.4 19.5l-.9.8c-.4-.1-10-2.6-11.1-13v-.2l-.2-1c-2.6 2-8.4 5.8-12.7 5.8h-.4c-5.1-.3-11.1-6.9-13.3-9.3l-6 6.5h-16l-5.1-6.2-4 6.2-8.5 1-3.6 1.9-10.3-4c-.8.8-2.3 4-3.2 5.4-1 1.6-10.7 8.7-10.7 8.7H204z"/> + <path fill="#1b81b6" d="M187.7 149.5s4.4 6.2 13.4 5.6c9-.5 18.6-9.6 17.4-16 0 0-1.2-1.2 2.4 1.5 3.6 2.6 7.7 4.7 14.2 3.6 6.5-1 12.7-6.1 10.5-10.6s3.4.3 5.7 3 7 5.5 10.8 5.1 13-3.4 11.9-6.6c-1.1-3.3-1-4.7 1.8-1.5 2.8 3 9.3 10.6 15.3 10.6 6.1.1 11-5.6 10.6-8.9-.3-3.2 2.1-.5 2.5 3.2s3.9 16.4 9.8 20.3c0 0-10.3-3.2-11.5-12.3l.2-2.6s-7.6 6.6-13.3 6.4c-5.8-.3-13.5-9.7-13.5-9.7l-5.5 6-16-.1-5.6-4.6-4.4 4.8-8.1 2.6-3.4 1-11-4.3s-.8 3.8-2 5.7c-1.3 2-10.8 9-15.9 8.9s-15-6.1-16.3-11z"/> + <path fill="#172716" d="M292.9 190.6s-2.2 17.8 1.2 24.5c3.5 6.8 18.3 9.5 13.2 3.5-5-6-14.4-28-14.4-28"/> + <path fill="#405d66" d="m291.3 246 4 4.2h-11.8z"/> + <path fill="#9bc4c4" d="m290 244.8 2.1 2-9.7 3.4z"/> + <path fill="#fff" d="M274.5 243.7s7.3 4 7.4 6.5c.2 2.6.5 0 .5 0l8-5.1-6.1-4.5z"/> + <path fill="#9bc4c4" d="M275.5 244.3s10.3-2.9 11.3-2.1l-4.6-3-9 3.8z"/> + <path fill="#689f9e" d="M274 244s6.4-3.5 10.7-2.9l-8.4-4.9-5.4 6.8z"/> + <path fill="#2b5f31" d="M309.4 188.6c5.2 6.1 12.5 17 34.3 17.2 21.9.3 9.4 1.8 6 5.8-3.3 4-17.4 9-25.8 4.1-3.2-1.8-8.7-4.1-8.7-4.1l6 9v11.9L309.9 220l-13.7-38 5.5-.6zm-33.2.5s.6 7.7 5.7 16.9 7.6 16.5 22 19.9-10.8-2.2-11.3-17.7 0-21 0-21zM262 168.4s-8.9 11.5-5.6 24.5.8 1.5 6.4-5c5.5-6.7 10.3-10.7 10.3-10.7z"/> + <path fill="#294527" d="M307.9 198.3s6.2 1.2 10.4 5.6a22 22 0 0 0 15 6.6c4-.3 16 0 11.4 2.6s-7.8 6.6-21.1 1.7-15.7-16.5-15.7-16.5"/> + <path fill="#294527" d="M269.4 163s-9.6 10-9.4 12.7c.2 2.5 2.8 5.8 5.8 5.7 3-.2 7.4-4.2 7.4-4.2s.6 14.5 7.3 17 11.6 2.9 11.7 0v-8.8s2.8 10.9 5 16.6c2.2 5.6 23.8 36.2 20.9 28s-10.2-21.9-13.5-28.9c-3.2-7-9.4-23.3-3.4-17.8s7.8 8 7.8 8l-9-17.2s-14.8-13.8-30.6-11.2"/> + <path fill="#3e7438" d="M314 210s-20.7-35.2-12.8-19.4 14 21.2 14 21.2"/> + <path fill="#172716" d="M314.7 209.1s-12-23.6-13.5-25.8c-1.6-2.2-3.9-1.2-1.1 3.5l13 22z"/> + <path fill="#3e7438" d="M291.5 170.7s-1.1 4.8-1 7.3c.2 2.4 3 .3 3.8-1.4l1.6-4.7zm-23.4-3.3s.8-2.6 2-4h-3.5s-7.5 8.8-7.9 14.6c-.3 5.8 5.7 7.4 5.7 7.4l1.6-2.1s-4.5-1.5-4.8-5.3q0-4.3 2-6.3z"/> + <path fill="#5fa654" d="M294.3 168.4s5-3.9 6.9-7.4c1.8-3.5 1 4.6 1.6 7 .6 2.2 5.2 5.8 7 0 1.7-6 3.6-9 .2-10.6-3.4-1.7-8.7-6.3-11-5.7-2.3.7-4.4 4-4.4 4z"/> + <path fill="#3b7f3d" d="M292.9 170.2s4.8-5.7 6.2-10c1.3-4.5 3.6-6.2 3.8-4.2s.7 10.4 1.1 12.8 4.7 0 5.6-3.3 2.5-6.6 2.8-5c.2 1.8 1 6.9-1.5 9.7s-6 5.7-9.3 4.5-8.7-4.5-8.7-4.5"/> + <path fill="#32517f" d="M275.2 148.7s4.6-2 8.3 0c3.6 1.9 10.5 4.5 10.5 4.5s2 9.3.8 13.6c-1.3 4.3-3 3.9-4.6 2.7s-5.5-4.4-10.5-5.9l-2.9-.7s5.3-1.5 2.3-8-3.9-6.2-3.9-6.2"/> + <path fill="#fff" d="M256.6 147.7s17-2.5 19.8 2.4c2.7 4.8 6.9 13.4-1.2 13.4s-12.8-1-12.8-1z"/> + <path fill="#3b7f3d" d="M257.4 149.4s4.6 9.7 4.7 12c0 2.4-5 2.8-7.7 2.9a108 108 0 0 0-10.2 1.3l-3.7-13.8s.4-2.9 3.7-3.1 13.2.7 13.2.7"/> + <path fill="#5fa654" d="M245.5 164.5s2.7-1.2 0-6.4c-2.5-5.3-5.6-7.6-1.3-8 4.4-.4 4.5 3.7 6.5 6.5s7.3 6 5.9.5c-1.5-5.5-.4-7.8 1.1-7.7 0 0-3.3-3-4.9-2.6s-8.1.3-9.2.3c-2.8-.3-6.5 3.8-6.5 3.8s7.4 9.2 7.1 11.7c-.2 2.6 1.3 1.9 1.3 1.9"/> + <path fill="#32517f" d="M220.9 157s6.5 7.7 7 9.8 2 2.2 6.2-.3 4-.4 7.1-2.4c3-1.9 1.2-5-.7-7-2-2-14.7-5.5-17.1-4a5 5 0 0 0-2.5 4z"/> + <path fill="#6488bd" d="M232.5 155.9s-.2 6.2 4.9 5.5c5-.7 2.3-5 1.2-6.4-1.1-1.3-3.3-5.3-6.4-4.9-3.1.5-6.1.4-5 1.6 1.2 1.2 5.3 4.2 5.3 4.2"/> + <path fill="#161341" d="M227.1 151s8.6 3.8 10 6.4c1.4 2.5-2 3.2-3.3 1.6s-4-4.2-5.7-4.7c-1.6-.5-4.3-3.6-1-3.4z"/> + <path fill="#491918" d="M295.4 250.2s-8.2-10.4-20.9-14.5 18-10.3 23.1-9.2c5.1 1 12.9 4.9-2.2 23.7"/> + <path fill="#fff" d="M295.4 250.2h5.8s11.3-10 12-18l-10 4s-3.9 8.4-7.8 14"/> + <path fill="#9bc4c4" d="m302.5 237 10.8-5s-10.7 11.9-14.6 13.4c0 0 1 .3 3.8-8.3z"/> + <path fill="#689f9e" d="M273.4 192.7H211l21.2 31.8s-11.5 14.8-4 25.9l8.2 12.2 27.3-9.4s8.4-24.5 29.3-26.7l-3-8.2s-12.8-9.6-14.8-25.6z"/> + <path fill="#405d66" d="M251.2 199s-6.7-1-15.1 2.1c-8.4 3-6.3-1-4.5-2.3s-5.7.2-4.4.5c1.4.4-1.7.9 1 3.6 2.5 2.8.3 2.3-2.3 2.8-2.7.5-3.8.8-5-3.7s.5-6 5.6-6h27.7z"/> + <path fill="#fff" d="M256 235.7s1.6-1.2 2.9 0c1.3 1.3 5 7.2 2.3 4.9-2.6-2.4-6-5-5.1-4.9z"/> + <path fill="#405d66" d="M243.3 241.6c0 1.6.3 3.6 5.8 2.2s3.9-1.9 1.6-5.6c-2.2-3.8-18.7-30.5-21.1-30.3s13.7 22.7 13.7 33.7m21.1-45.6s3.3 8.4 3.5 15.8 2.5 6.1 1.7-1.9-1.9-10.7 1-11c2.8-.2 1 4.8 1.5 11.9s-1 10.6-2.3 11.5l4.8-3 4-1.9 7.3-2.6s-8.7-9.8-10-18.8z"/> + <path fill="#689f9e" d="m275.8 196.8-1.2 14v8.5l4.7-2.2c1.2-.4 0-11.8 0-11.8s-2.9-4-3.5-8.5"/> + <path fill="#405d66" d="M256 196s-18.8 6.5-22.7 9c-3.9 2.4 3.9-1 5.6 2.2l9.8 19.5c.9 1.5 5.8.3 3.8-3.3-2.1-3.7-9-17.9-10-18.4-1.1-.6 6.3-6.6 24.7-8.2s-11.1-.8-11.1-.8z"/> + <path fill="#9bc4c4" d="M235.5 261.4s-2.5-19.6 4.2-16.7 5.9-13.6-16.7-37.3c-12-12.5-6.4-11.6-1.4-11.6l50.5.2s-8.2-8.4-14.1-1.1c-.5.6-1-6.4-1.9-6.5l-3-.3c-18.6-1.5-39.5.7-47.4 1.7s-.8 5.6.8 7.6l22.6 29s-8.3 9-5.8 15.9c2.6 6.8 12.2 19 12.2 19z"/> + <path fill="#689f9e" d="M261.7 189.8c-.2.2 7-8.2 10.5-7.8s.7 13.8.7 13.8-7.4-3-12.9-3.1"/> + <path fill="#405d66" d="M261.2 190.6s12.4-12.6 11-4.2c-1.3 8.5.4 9.3-2.8 9.5s6.4 0 6.4 0-1.6-8-1.3-18.7c0 0-9.5 6.5-13.3 13.4"/> + <path fill="#689f9e" d="M219.2 186s2.7-18.8 30.8-21.9c13.3-1.4 15.8.8 15.8.8s-9.7 7.2-9.7 21.5z"/> + <path fill="#405d66" d="M232.6 169.5s-12.1 6.7-13.4 15.7c-.3 2.6 2.8 1.1 6.7 1.2 3.8.2-1.5-2.5-2.1-3.1s-2.8-3.4 6.8-9c8.8-5.1 11.3-9.1 27.6-8.2.6 0-3.7 14.4-3.1 14.4 1 .1 7.7-14 8.9-14l3.2-3.8s-32.6 2.9-34.6 6.8"/> + <path fill="#fff" d="M227.8 185.7s3.1-8.1 6-10.8c3-2.7 4-.2 2 1.7s-.3 4.1 2 .6c2.4-3.5 4-6.4 7.8-7s1.5.9-2 3.4c-3.4 2.5 6.3 1.5 10 6.3 3.6 4.8.6 6.5.6 6.5zm-7-.5s0-4 4.7-9 11-10 11-10-7.6.2-24.7 14.5c-4 3.5 9 4.5 9 4.5"/> + <path fill="url(#sh-ac-ac-s)" d="M220.9 181.4c1.8.8 28.6 5 35.4 5l-.6-5z"/> + <path fill="#405d66" d="M235.7 166.2s-7.6 6.7-10.5 10.4c-2.8 3.6 9.2-8.9 25.5-12.5m-35 20.2 40.4 1.8v1.5l-55.9 1m22.4 16.1-7.4-7.3c-.6-.7-.1-2.5 4.5-2.5h56l.5 2.5s-48.5.2-50.5 0c-2-.1 3.5 5.2 4.2 5.7s-6.4 2.5-7.3 1.6"/> + <path fill="#405d66" d="M235 197.5s-2.6 2.4-4 3.2c-1.6.9 2.3.2 6-1 3.3-.9 6.9-2.9 8.6-2.9m16.5-7.7s9.8-8.5 12.3-8.5l.1-5.7s-5.3 2.5-12.4 14.2m-12.7-24.7s7.7 1.5 8.8 3.7c1.2 2-1.6-.3-9.5 3.3-7.8 3.7-3.3 2.3-1.3 3 2 .5 6 2 9.3 4.8l.6-2s-2-2.4-6.6-3.9c0 0 6.3-2.1 10-2.6l1.7-2.3s-3.5-1.5-3.7-2.2c-.1-.8.7-2 3.7-1.4s2.4 1 2.4 1l2.4-2.3-3.9-.8-6 1.4zm25.1 18.9s-2.8 6.1-9.8 6.9c-7 .7 2.5.6 9.8 0m4 30.2s2-1.3 2.7-1.3 7.2 8.2 7.2 8.2m2.9-.6-7.8-7.6 5-1.7s5 4.5 7.8 5.8 6 2.8 4.5 4c-1.4 1.4 0 0 0 0s-4.6-1.7-9.5-.5m-10.8-10v-9.2l-2-3.6-.5 13.7m-2.8 1.4v-19H274v19.7m-46.8-10.2s2-2 5.1-1.2 1 3.5-2.5 3.4c-3.4-.2-2.6-2.2-2.6-2.2m3.2 5s1.8-1.8 4.5-1.1.8 3.1-2.2 3c-3.1-.1-2.3-2-2.3-2zm3 4.9s1.7-1.5 4.2-1c2.4.6.7 2.8-2 2.7s-2.1-1.7-2.1-1.7zm3.2 4.9s1.4-1.3 3.6-.8c2.1.5.6 2.5-1.8 2.4s-1.8-1.6-1.8-1.6m3.1 5s1.2-1.2 3-.7c2 .4.6 2-1.4 2-2-.1-1.6-1.4-1.6-1.4zm11 1.6s1.4-1.3 3.5-.8c2.2.5.6 2.5-1.7 2.4-2.4-.1-1.8-1.6-1.8-1.6m3.1 5s1.2-1.2 3-.7.6 2-1.5 2c-2 0-1.5-1.3-1.5-1.3m-21.2-6.3 9 14.6c.6.7 2.3 2 5.3 1s4.2.1 1.8 1.4c-2.3 1.2-6.5 2.8-9.2 0-2.8-3-7.1-14.7-7.8-16-.6-1.4.9-1 .9-1"/> + <path d="M256.6 179.9h-31c-4.4 0-8 1.2-5.7 1.5s36.4 0 36.4 0"/> + <path fill="#689f9e" d="M235 191.6s17.4-1 21-1.8l.6 2.9s-26.7-.3-21.6-1.1"/> + <path fill="#fff" d="M256 189.8h-45c-3.5 0-6.1 5.1-6.1 5.1h-13.3l11.3-8.6 52.8.5z"/> + <path fill="#fff" d="m204.9 195 24.2 31.3s-6 10.1-5.9 14.3 1.6 6 1.6 6 3-11.6 6.8-17 3.4-7.2-4.4-14.5c-7.7-7.3-21.4-21.7-21.4-21.7m51.4 10.5c2 .2 3.7.5 4 2.5q.8 2.9-2 3.4c-2 .4-7.3 1.4-8.5 1.9-1.1.5-1.3-.8-2-1.8s-3.5-3.9 0-5c3.5-1 8.5-1 8.5-1m4 11.8c2.5 0 5.1 1.9 4.6 4.3s2 3.7 2 3.7l-9 6.9c-1.7 1.3-2.1-2.5-3-4.7-1-2.3-4.5-5.7-1.6-7.6s7-2.6 7-2.6m14 19.3s-8-7.3-8-7.6-6.4 3-7.2 3.8c-.8.9-.6 2 2 3.9 2.7 1.8 8.1 6 8.1 6zm-5.8-12.4c-1.5 1.1-3.5 6 .5 2.9s11.5-6.8 18.1-8.5l-2-2.2s-9 2.2-16.6 7.8m-15.7 20.5c1 3 1.2 6.7 5 5.8 1.4-.3 1.7-.4 1.7-1.6 0-.7-2.2-1.3-2.7-3-1-3.7-5.3-5.6-4-1.2"/> + <path fill="#689f9e" d="M295.2 215.4s6.5 7 8.7 8.7c2.1 1.8-1.2 1.4-4.3.5-3.2-1 1.6 3.2 1.6 3.2s3.4 2 2.9 4.2-1.2 4.4-1.9 5.7 3.9 2.5 10.3-4.7-9.6-15.5-17.3-17.6"/> + <path fill="#331312" d="M276.2 236.3s31.5-14.4 24.4 6.7c0 0 8-13.6-.5-16a26 26 0 0 0-24.9 8z"/> + <path fill="#6488bd" d="M229.4 168.7s-2.2-6.9-4-8.9c-2-2-3.7-4.9-2.3-4.7a28 28 0 0 1 5.6 2c1 .5.2-3.5-3.9-5.8 0 0-6.7 1.3-7.3 2.6s-3.6 2.3-3.6 2.3 1.5 1 4.8 2.8 8.2 8.2 8 9.1 1.8 1 2.7.6"/> + <path fill="#161341" d="M230.9 168c-.3-1.8-.6-4.6-3-7-2.5-2.3-3.3-5-.7-3 2.7 2 5.3 6.1 14 6.1 0 0-3.1 2.2-6.2 2.3-3 .2-4.1 1.5-4.1 1.5z"/> + <path fill="#1f411d" d="M242.5 164.1s3.2 1.3 3-1.2-5.7-9.7-7-11c-1.1-1.2 2.3-4.8 4-4.8 1.6 0-4.2 1-5.4 1.6s-2.6 1-.6 3.7c2 2.6 7.1 7.8 6 11.7m3.8-17s3.4 3 5.7 8.3 3.5 1.9 1-2.7c-2.4-4.5-3.6-5.3-3.6-5.3zm9 16.6s-7.3-5.9-9-9-.2 2.1 1.4 5.1c1.7 3 1.5 4 1 4.3-.5.5 4.8-.8 6.7-.4zm3.6-5.6c0-1.1.3-3.8 1.1-1.5s3.6 5.9 2 6c-1.4.2-4.7 1.5-4.7 1.5s1.8-1.4 1.6-6"/> + <path fill="#dedede" d="M260.4 156.2s2.5 4.3 4 2.8c1.5-1.6 5.6-3.2 7.7-2s5.2 5 5.1 2.8c-.1-2.1-1.8-5-3.2-7.2s.3-5 1.8-3.3c1.6 1.8 6.4 12 2.2 13.3-4.1 1.3-14.7 0-14.7 0z"/> + <path fill="#bbbaba" d="M265.2 162.9s-.5-2.7.6-2.8c1 0 3.6 2.8 3.6 2.8zm11.9-11.6s1.9 8.4-.3 11.6c0 0 3.8-.5 2.9-4.8a22 22 0 0 0-2.6-6.8"/> + <path fill="#6488bd" d="M277.8 152.8s2.8-2.6 2.7 0c0 2.5 2.4 11.7 2.5 6.2.1-5.6-1.7-7.2 2-6.4 3.6.8.5-3.2-1.5-4q-3-1-4.1-1c-.8.1-2.8 2.6-1.6 5.2"/> + <path fill="#6488bd" d="M292.3 152.3s-.6 6.2-1 7.8c-.6 1.6-2.5-.5-3.3-2.7s-2.6-5.8-2-1.7c.5 4 3.1 8.5 4.6 8.4s2.7-8.8 2.7-11.4z"/> + <path fill="#161341" d="M279.7 157.1s2.3 4.2 3.5 7.8l-5.2-2s1.6-1.7 1.7-5.8m5.2 8.5s-.6-7.7-1.4-9.6c-.8-2 .6-1.5 1.9 2.2s3.6 8.7 4.8 11.3c0 0-3.5-3.2-5.3-3.9m3-14.7s-.6 2.6.1 4 2.6 7.5 2.6 4c-.1-3.3-1.5-5.4-1-7.3zm6.1 2.3s-.8 4.6-.7 6.7 1.5 5.6 1 8.5 1.7-9.3-.3-15.2"/> + <path fill="#1f411d" d="M296 172.3s2.7-2.6 3.6-6.7 2.2-1.8 1.6 3.9 4.8 5 6 4.2c0 0-6 2.9-8 .7s-3.1-2-3.1-2zm4-20.6s5.6 4 5.3 8.9c-.4 4.8.5 10 1.9 4.3s.2-8.9.2-8.9-5-4.5-7.3-4.3zm10.8 6.4s2.7 8.6-2.4 14.8c0 0 5.5-4.6 5-8-.7-3.4-2.6-6.8-2.6-6.8"/> + <path fill="#172716" d="M282.8 164.8c-3.8 1-6.7 4.3-8.3 5.9-1.5 1.6-4.1.4-6-1.2-1.8-1.6 1.6-6.2 1.6-6.2s9-.7 12.7 1.5"/> + <path fill="#172716" d="M289.6 169.4s-.5 9.4-1.1 12-4.4.7-7-1.5c-2.7-2.3-2-7.8 0-9.6 1.9-1.8 1.6-4.4.4-5.2 0 0 3.8.1 7.7 4.3m3.3.8s1.2 4.8.1 9c-.8 3 2.3 9.6 3.7 11.5s4.4-.3 2.8-3.1-2.5-17.9 1.5-9.2 16 28 32.6 27c16.5-.8 0 0 0 0s-11.5-1.6-24.8-17.5c-4.2-5-6.8-12.5-6.8-12.5m-37.3-3.5s.2 2.3 1.5 3.5 2 3.9-.4 1.8-3.3-4.9-3.3-4.9l1.5-1.4s.5-.2.7 1m-8.1 20.8s4.1-1.5 6-4.3c1.7-2.8 0 0 0 0l-4.4 7.8s-1-1.4-1.6-3.5m21.2-8.8 6.9 5.2-7.3-2.1z"/> + <g fill="#b2d9bd"> + <ellipse cx="292.5" cy="179.3" rx="1.9" ry="1"/> + <ellipse cx="292.2" cy="176" rx="1.5" ry=".8"/> + <ellipse cx="293.7" cy="173.1" rx=".8" ry=".4"/> + <ellipse cx="303.9" cy="189.9" rx="2" ry=".8"/> + <ellipse cx="306.5" cy="195.2" rx="1.9" ry="1"/> + <ellipse cx="309" cy="199.9" rx="1.9" ry="1.1"/> + <ellipse cx="311.6" cy="204.9" rx="1.8" ry="1.5"/> + </g> + <path fill="#3e7438" d="M270.1 178.3s8-10.2 9.3-11c1.2-.6 2-1-1.1 9.5-3 10.5-.6 14.5-.6 14.5s2.8 7.2 7.5 8.4 5.5 1.1 5.8 4-1.3 5.2-5.3 4.4c-4.1-1-.8 1 1.4 3.7s14.9 15 9.1 11.3a49 49 0 0 1-19.5-23.8c-3.8-11.5-2.1-24-2.1-24zm22.5 6.9s4 8.1 6.1 13c2.2 4.9 6.4 14.7 8.5 15s7.5-1 7.7 0c0 1.1-1.2 2.4-3 2.5s-4.5.8-3.5 1.7.9 1.8 4.3 2q5.1 0 5.2 1.3c0 .7-5.8 1.4-4.5 2.7l8 7.8-.3 4.5s-26.7-26.5-28.5-50.5m21.4 24.4s2.5-.2 4.5 1.2 6.9 5.9 11.3 4 7.3-8.8 7.3-8.8h3.8s-1.4 7.3-4.3 8.8 5.6 2.8 10.8-9.3c0 0 7.6-2 11.6-5.6 0 0 1.6 13.5-13 19.2-16.8 6.5-32-9.5-32-9.5l10.4 7.8m-67.8-36.7s3.8 6.3 3.3 8.4-3.3 3.8-3.3 3.8-1.7-7.2 0-12.2"/> + <ellipse cx="277.7" cy="171.8" fill="#b2d9bd" rx="2.4" ry="1.1"/> + <ellipse cx="281" cy="168.5" fill="#b2d9bd" rx=".9" ry=".3"/> + <path fill="#405d66" d="M272.1 243.2s2.7-6.3 8-5.2c5.4 1.2-5.3-2.3-5.3-2.3l-5.4 6.5c-.4.6 2.7 1 2.7 1"/> + <path fill="#294527" d="M296 213c-1-2.3-2.4-8.6-2.3-11.2s-.2-5.3 2.2.8a101 101 0 0 0 5.7 12.2c.7 1.1-4.5 1.6-5.7-1.7z"/> + <path fill="#2b5f31" d="M294.3 201c0 1.1.3 4.6 1 7.4.8 2.8 4.4 4.5 3.4 2-1-2.3-4.5-11.4-4.4-9.4"/> + <ellipse cx="295.1" cy="204.4" fill="#3e7438" rx=".5" ry="4.4" transform="rotate(-9.5 295 204.3)"/> + <path fill="#095378" d="M188 151.3s5.7 6.4 15.7 7c10 .4 16.8-8.5 18-12.4 0 0-2.2 14.4-16.2 14.9-13.1.4-17.4-9.5-17.4-9.5z"/> + <path fill="#2b5f31" d="M299.4 213.8c-.4-.6 3 .8 3.1 2 .2 1-2-.3-3.1-2"/> + <path fill="#095378" d="m221.6 145.9-1.5-2.5s8.2 5.8 13.6 6c5.4 0-6 1.2-12-3.5zm25.4-1.2s-1.7 2-3.8 1.8 3.4-3.8 3.7-6c.3-1.6-1-2 4.4 1.2 3.6 2.2 8 5.3 10 5.4 1.8 0-4.7.6-4.7.6l-7.9-6zm23.5 1.2q4.3-5.4 4.7-7 .2-1.5 2.4 1.7c1.7 2 6.8 7.3 14.1 9.5 0 0-9.2-.8-15-8.5 0 0-1.9.7-3.3 2.3s-3 2-3 2zm33-3.4s1.4 6 3 7.6-2.6-.2-1.4 3.1c0 0-3.7-4.4-1.6-10.7m7.7 7.6s3 4.3 7.1 4.5c4.2.3 6 .4 10.7-4.5 2.5-2.6 1.8-4.7.6-4.2-1 .5-1.5 2.7-2.4 3.4-1 .8-9.4 8.1-16 .8"/> + <ellipse cx="198.9" cy="148.3" fill="#161341" rx="1.4" ry="1.2"/> + <path fill="#161341" d="M197.1 138.6s7.4.5 7.8 11.5c0 0 2-6.9.1-9-2.9-3.6-7.9-2.5-7.9-2.5"/> + <path fill="#379cd1" d="M314 144.3s1.7-3 3.7-3.7c1.9-.8 1.6-6.9-1.9-3.9l-4 3.6zm3.9-.7c-1 .8-2.1 2.6-1.4 2.9s5 1.1 4.8-1c-.1-2-3.4-2-3.4-2"/> + <path fill="#1b81b6" d="M318.5 143.9s-1.8-.1-1 .4c.6.5 3.9 1.9 3.8 1.2 0-.6.2-2.5-2.8-1.6"/> + <path fill="#161341" d="M320.3 144s-2.2-.6-1.5 0 2.8 2 2.7 1.2c0-1-1.2-1.3-1.2-1.3z"/> + <path fill="#fff" d="M212.2 157s-9 6.9-6.1 13.2c2.8 6.4 10.8 6.4 10.8 6.4l10.2-7.6s-3.1-10.3-14.9-12"/> + <path fill="#806245" d="m270.8 113.9 3.6-6.5h-3l-3.2 6.2zm6.7.6 3.6-6.5h-3l-3.2 6.2z"/> + <path fill="#523822" d="M297.3 138.3s-8.1-2.3-10.6-5.6 7 6.8 7 6.8z"/> + <path fill="#dedede" d="M227.8 76s-4.6.8-4.6 2c0 1.3 5.5 3.2 4 .8-1.4-2.4 0 0 0 0l1.5.8s-1.5 2.8-4.2 1.3-6-4.5-4.4-4.6l7.7-.4m9.1-.2s4.8 3 6.2 2.4c1.5-.8 0 0 0 0s-3.8 1.4-6.9-.5c-3-2-.3-1.7.7-2"/> + <path fill="#dedede" d="M226.9 78.6s1.4 0 3.2.7c1.8.8 3.6 2.1 2 1.7s-4.6-2-5.2-2.4"/> + <path fill="#bbbaba" d="M243.8 75.4s.5 2.6-3 2.7c-3.4 0 1.6 1.6 3.6-1s1.6-1.5-.6-1.7"/> + <path fill="#fff" d="m250 69 25.4-1.2s-1.8 4.2-6.1 4.2c-4.3-.1-2-.9-4 .9-1.9 1.7-5.8 2.1-7.8.5s0 1-3.2.8c-3.3-.3-6.3-5-4.2-5.2z"/> + <path fill="#bbbaba" d="M258.4 72.8s6.7 1.4 6-.3q-1.2-2.6.6-2.4c1.2.1 2.3 1.7.4 2.8-2 1-5.7 2.5-7-.1m-1-4s-6.4 1.2-6.3 3.7c0 0-3.3-.8-2.6-1.9s9-1.8 9-1.8z"/> + <path fill="#dedede" d="M255.3 68.8s-5 1-5 2.3c0 1.4 6 3.5 4.4.9-1.6-2.7 0 0 0 0l1.7.8s-1.7 3.1-4.8 1.5-6.5-5-4.8-5.1zm10-.3s5.3 3.4 7 2.6c1.5-.8 0 0 0 0s-4.3 1.6-7.7-.5-.4-1.8.8-2.1"/> + <path fill="#dedede" d="M254.3 71.7s1.5 0 3.5.8 4 2.4 2.2 1.9-5-2.2-5.7-2.7"/> + <path fill="#bbbaba" d="M273 68.2s.5 2.9-3.3 3c-3.8 0 1.7 1.8 4-1.1 2.1-3 1.7-1.7-.8-1.9z"/> + <path fill="#fff" d="m250.5 84.6 23.8-1.1s-1.6 4-5.7 3.8c-4 0-1.8-.7-3.7 1-1.8 1.6-5.5 2-7.4.4-1.9-1.5 0 1-3 .7-3-.2-5.9-4.7-4-4.8"/> + <path fill="#bbbaba" d="M258.4 88.1s6.3 1.4 5.6-.2q-1-2.5.5-2.3c1.2.1 2.3 1.6.4 2.6s-5.3 2.4-6.5 0zm-.9-3.8s-6 1.2-6 3.6c0 0-3-.8-2.4-1.8.5-1 8.4-1.8 8.4-1.8"/> + <path fill="#dedede" d="M255.5 84.3s-4.8 1-4.8 2.3 5.7 3.2 4.2.8l1.6.7s-1.6 3-4.5 1.4c-2.8-1.5-6.2-4.6-4.5-4.8zm9.4-.2s5 3.2 6.5 2.5-4 1.4-7.2-.6-.4-1.6.7-1.9"/> + <path fill="#dedede" d="M254.5 87s1.5 0 3.3.9c1.9.7 3.8 2.2 2.1 1.7a23 23 0 0 1-5.4-2.5"/> + <path fill="#bbbaba" d="M272 83.8s.6 2.7-3 2.8 1.6 1.7 3.7-1c2-2.7 1.7-1.6-.7-1.8"/> + <path fill="#fff" d="m269.6 69 23.4-1.1s-1.6 4-5.6 3.9-1.8-.8-3.6.8-5.5 2-7.3.5c-1.9-1.5 0 .5-3 .3-2-.2-5.8-4.3-3.9-4.4"/> + <path fill="#bbbaba" d="M277.3 72.5s6.2 1.4 5.6-.2q-1.2-2.5.5-2.3c1.1.1 2.2 1.6.4 2.6s-5.3 2.4-6.5 0z"/> + <path fill="#dedede" d="M283.8 68.5s4.8 3.2 6.3 2.5-3.9 1.4-7-.5c-3.2-2-.4-1.7.7-2m-10.3 3s1.4 0 3.3.8c1.8.7 3.6 2.2 2 1.7a22 22 0 0 1-5.3-2.5"/> + <path fill="#bbbaba" d="M290.7 68.3s.6 2.6-3 2.7c-3.4 0 1.7 1.7 3.7-1s1.7-1.6-.7-1.7m-13 20.5s6.7 1.4 6-.3q-1.2-2.5.5-2.2c1.3.1 2.4 1.6.5 2.6-2 1-5.8 2.4-7-.1"/> + <path fill="#dedede" d="M285 84.6s5.3 3.2 7 2.5c1.5-.8 0 0 0 0s-4.3 1.4-7.7-.6-.4-1.6.8-1.9m-11.2 3.3s1.6 0 3.5.8c2 .8 4 2.2 2.3 1.8s-5.1-2-5.8-2.6"/> + <path fill="#bbbaba" d="M292.6 84.3s.6 2.7-3.2 2.8 1.7 1.7 4-1 1.8-1.6-.8-1.8"/> + <path fill="#fff" d="m221.6 90.8 28-1.3s-1.9 4.7-6.7 4.6-2.2-1-4.3 1c-2.2 2-6.6 2.4-8.8.6s0 1-3.6.8-7-5.6-4.6-5.7"/> + <path fill="#bbbaba" d="M230.8 95s7.4 1.6 6.7-.3q-1.4-3 .6-2.7c1.4.2 2.6 2 .5 3.1-2.2 1.2-6.4 2.8-7.8-.1m-1-4.5s-7.2 1.4-7 4.2c0 0-3.7-.9-3-2 .7-1.3 10-2.2 10-2.2"/> + <path fill="#dedede" d="M227.4 90.5s-5.6 1.1-5.6 2.7c0 1.5 6.7 3.8 4.9.9-1.8-3 0 0 0 0l1.9.9s-1.7 3-5.3 1.7c-3.4-1.4-7.3-5.5-5.4-5.7zm11.2-.2s5.8 3.7 7.5 2.9c1.8-1 0 0 0 0s-4.2 2.6-8.4-.6c-3.5-2.8-.4-2 .9-2.3"/> + <path fill="#dedede" d="M226.2 93.8s1.8 0 4 .9 4.4 2.2 2.4 2c-2.3 0-5.6-2.3-6.4-3"/> + <path fill="#bbbaba" d="M247 90s.6 3-3.6 3.2c-4.3 0 1.9 2 4.3-1.2 2.5-3.2 2-1.8-.8-2z"/> + <path fill="url(#sh-ac-ac-r)" d="m234.8 96.8.5 9.2v1.4l.4 9.8-3.2-.6-.8-19.8"/> + <path fill="url(#sh-ac-ac-q)" d="m280.8 90.4.3 12.2h3.2l-.4-13.2"/> + <path fill="url(#sh-ac-ac-p)" d="m259.1 89.5.8 28 1.7-.4q1.8-.7 1.7-.8l-1-26.8"/> + <path fill="none" stroke="#48484a" stroke-miterlimit="10" d="M238.7 117.5h4.4"/> + <path fill="none" stroke="#c8102e" stroke-miterlimit="10" stroke-width=".3" d="M229.5 50.6v2m-1.3-1h2.5"/> + <path fill="#dedede" d="M211.9 175.4s.8-2 0-6 6.8 0 11.9 0c5 0-6.8 7.2-6.8 7.2z"/> + <path fill="#bbbaba" d="M215 176.6s.6-3.5 0-4.9c-.4-1.3 1.2-.7 2.9.7s8.8-1.2 8.3-5.6l1 2.4z"/> + <path fill="#dedede" d="M206 165s4.5-4.3 9-1.4c4.4 3 10.6 2.8 7.7-1.7s-8.5-4.9-10.6-4.8-3.9 2.6-6.1 8"/> + <path fill="#bbbaba" d="M211.8 157.8s3.6-.3 4.5.6c1 1 3.1 4.6 1.7 3.5-4-2.9-9.7-.6-8.7-2 1-1.6 2.5-2 2.5-2"/> + <path fill="#dedede" d="M257.7 150s2.8-1.7 4.4-1.2 3.7 2.1 5.5 3 6.8 5.6 5.6 2.7c-1.2-3 0-6.5 0-6.5s-18-2.7-15.5 2"/> + <path fill="#bbbaba" d="M263.9 147.7s4 1.3 5 2.4c.8 1 2.2 2.4 1.8.6s.2-3.7-1.6-3.6c-2 0-5.2.6-5.2.6"/> + <path fill="#dedede" d="M258.7 151s3.2.8 3.8 1.7c.6 1-1.4 1.5-1 4.4"/> + <path fill="#3e7438" d="M368.6 140.6c-1.7 3.2-6.4 10.2-3.4 8 13.5-9.8 8.9-25.3 7.3-31.2s-11.8-11.7-17.7-11.7-6.8 2.5-9.9 5.4c0 0 2.6-2 7.4-1.6 4.7.3 16.2 4.7 18.8 15.2s-2.5 15.9-2.5 15.9m2-36.5s6.9 4.2 13.2 5l12.3.5-9 6.7 7.1.3 8-6.7s14.8-1.2 22.8 4l8 5.2 4.7 1.4s-7.5-9.4-20-11c-12.5-1.4-13.5-1-13.5-1s12.4-5.4 8.6-16.5l-2.4-.6s4.7 11.9-9.3 15c-14 3.2-15-.4-15-.4zm6.1 39.6s2.4-5 2.5 2 4 14.2 9 18c5 3.7 10.2 3.6 10.2 3.6l3.2 3.6s-22.2-1.4-24.9-27.2m1-23.5s1.9 11 1.9 14 6.8 5.1 4.6 0c-2.1-5.1-3-8.8-3-8.8s13.4 11.7 26 18 13.9 6 17.7 6 19.8-8.2 19.8-8.2h-3.5S428.6 148 425 148c-3.7 0-11.9-2-25.3-10.6s-10.4-9.3-10.4-9.3l8.1-4.2-4.4-3.3-6.5 5s-9-7.3-8.7-5.3z"/> + <path fill="#172716" d="M380.5 152.5c-.4-.6-.1-1.6 2.5-1.6s3.7 1 4.6 3.7 3.5 5.9.5 6-4.3-2.8-7.6-8.1"/> + <path fill="#2b5f31" d="M396.6 105.8s12.5 1.3 14.6-7.6c1-4.5-.7-5.8-.7-5.8s8.6.6 7 8c-1.1 5.7-5.8 7.5-5.8 7.5s5.8.4 9.8 1.2-5-2.3-5-2.3 2.7-3 2.7-7.4-5.1-8.2-10.3-8.2c-.6 0-1.7-.1-.2 1.4 1.5 1.6 4.8 7-12 13.2z"/> + <path fill="#172716" d="M404.9 118.6s-16-2.8-18.3-3.4c-2.2-.6-.6.7 9.4 7.7s18 7.7 18 7.7a138 138 0 0 1-18.6-11.6zm-41.6 27.8s-2.4 3.7-1 3.7 9.2-1 11-3.3c0 0-5.7 6.2-11 5.3s-4.6-2-4.6-2z"/> + <path fill="#294527" d="M368.7 145s2 2 5-.3c3.2-2.3.9-10 .9-10z"/> + <g fill="#b2d9bd"> + <ellipse cx="392.9" cy="107.8" rx=".8" ry=".4"/> + <ellipse cx="397.4" cy="107.7" rx="1" ry=".5"/> + <ellipse cx="401.8" cy="107.5" rx="1.2" ry=".6"/> + <ellipse cx="406.3" cy="107.4" rx="1.4" ry=".7"/> + <ellipse cx="377" cy="129.8" rx="1.2" ry=".7"/> + <ellipse cx="376.7" cy="126.7" rx="1.2" ry=".7"/> + <ellipse cx="378.9" cy="122.5" rx="1.3" ry=".8"/> + <ellipse cx="375.9" cy="119.9" rx="1.2" ry=".7"/> + <ellipse cx="373.3" cy="117.7" rx="1.1" ry=".6"/> + <ellipse cx="385.9" cy="115.1" rx="1.3" ry=".8"/> + <ellipse cx="383" cy="112.6" rx="1.2" ry=".7"/> + <ellipse cx="380.3" cy="110.3" rx="1.1" ry=".6"/> + <ellipse cx="371" cy="115.7" rx=".8" ry=".5"/> + <ellipse cx="377" cy="108.2" rx=".8" ry=".5"/> + <ellipse cx="403.3" cy="105.4" rx=".8" ry=".5"/> + <ellipse cx="377.1" cy="132.6" rx="1" ry=".6"/> + <ellipse cx="377.4" cy="135.5" rx=".8" ry=".4"/> + </g> + <path fill="#3e7438" d="M79.1 141.2s-16.3-6.6-17.1-13.1 14.5-11.5 14.5-11.5L78 114s-19.4 2-19.4 14 27.8 18.8 27.8 18.8z"/> + <path fill="#2b5f31" d="M75 119.2s-6.7 2.1-5.5 2.3 4.6.3 4.6.3l-.4 1.3s-9.7.5-9.7 2.3-1.5 5.3 12.5 12.8l1 2.3S62 133.9 61.7 128c-.2-6.3 8.7-9 13.5-11.1 4.7-2.2-.3 2.3-.3 2.3"/> + <path fill="#b2d9bd" d="M60.5 130.9s1.7 3.7 3.7 5.2 5.4 2.5 5.4 2.5l-4-3.7c-1.2-1.2-5.1-4-5.1-4"/> + <path fill="#172716" d="M68.7 123.6c.2.9-2.8 5.3-.3 7.6 2.5 2.4.4 2.9-1.5 1s-4.6-4.5-3-7.7 4.7-1.8 4.8-1z"/> + <path fill="#3e7438" d="M180.6 126.4s-1.2-10.8-8.9-15.5c0 0-.7 14.7-7.2 23.8-2.6 3.6-5.8 8.5-8.6 13.7-.4.5 4.2 4.4 4 5-.3.4-5.4-2.5-5.6-2-3.7 7-6.6 14.3-6.6 19.5 0 10-1.2 19 1 25.3s-7.7-11.6-6-24.1 9.4-21.2 9.4-21.2l8.2 2.4-6-6.7s15.3-21.5 12.2-34.9-12.2-11-12.2-11 17 0 24.2 12.8c2.9 6 2.1 12.9 2.1 12.9"/> + <path fill="#3e7438" d="M149.4 160.6s2.2 1.8 4.3 3c2 1.3 4 5.5-2.2 2.5-6-3-2.1-5.5-2.1-5.5m10.7 43.8c.1-17.5 10.6-23 10.6-23s-8.3 1.5-15 11.3c-6.8 9.8-5-3.3-3.8-11.3s14.8-17.3 14.8-17.3-10.4 14-11 19.2l5-2.6s8.4-3.6 14.2-2.7 5.5 2.7 5.5 2.7-7.2.8-10.7 4.5a28 28 0 0 0-8 18.7z"/> + <path fill="#172716" d="M157.9 204s1.2-7.2 2.2-10.6-2.4-7.3-7.7 6.5"/> + <path fill="#294527" d="M176.2 138.4c-1.4 1 .2 3.3 2.2 3.3s-10.5 14-17.2 26.7l4-3.2 18.2-23.7s7.7-12.9-7.2-3z"/> + <path fill="#3e7438" d="M179.6 134.2s-3.2 2.6-3.4 4.2 9.7-1.4 9.6-4.2c-.2-2.8-.4-3.7-.4-3.7s-3.2 3.3-5.8 3.7"/> + <path fill="#294527" d="M167.9 136.8c-1.2-1.2-5.2.6-13.8 18.9l-1.2-1.7s6-11.8 12.4-20.4zm-4.4 28.8s-5.3-4.9-6.1-3.5c-.9 1.4-1.2 1.8.7 3.5l3.5 3.3z"/> + <path fill="#3e7438" d="M153 154s2.4 3.9 4.7 5.8c2.4 2 1.4 6.2-2.4 2.9l-5-4.6z"/> + <g fill="#b2d9bd"> + <ellipse cx="152.3" cy="192.7" rx="1.9" ry="1"/> + <ellipse cx="176.2" cy="138.4" rx="1.9" ry="1"/> + <ellipse cx="173.8" cy="142.7" rx="1.9" ry="1"/> + <ellipse cx="171.4" cy="147" rx="1.9" ry="1"/> + <ellipse cx="168.9" cy="151.3" rx="1.8" ry=".9"/> + <ellipse cx="166.5" cy="155.6" rx="1.5" ry=".8"/> + <ellipse cx="152" cy="189.3" rx="1.5" ry=".8"/> + <ellipse cx="153.5" cy="186.4" rx=".8" ry=".4"/> + </g> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-miterlimit="10" d="M114.2 108.7s.7 2.1.5 3.2m4.3-3.2s.6 2 .5 3m5.2-3.7s.6 1.8.5 2.7m18 28.2s2.1-.8 3.2-.7m-3.5-4.5s2-.2 3 0m-2.4-4.6s1.9 0 2.7.5m-1.2-3.8s1.7.6 2.4 1.3m-18.1-20s.5 1.6.4 2.5m85.5 105.9s1.8 1 2.4 1.8m-4.8 1.4s1.7 1 2.3 1.9M206 208s1.6.9 2 1.6m.7-5.4s1.5.9 2 1.6M136 106.4s.5 1.5.4 2.3m2.3 16.3s1.7 1.4 2.2 2.4m1.2-4.8s1.6 1.3 2 2.2m1.7-5.6s1.4 1.1 1.8 2m.9-5s1.3 1 1.7 1.8m2.7-5.8s1.2 1 1.5 1.7"/> + <path fill="#dedede" d="M337.4 120s10.4-7.6 15.4-5.6l.9-4.5s-7-1.6-12 4c-5 5.4-4.3 6-4.3 6zm5.1 18 9.7 13.7L345 139zm28.2 45.9s-1.6 0-3.7 11c-2 11-3.3 12.4-3.3 12.4s10.4-7.7 7-23.4M359 202s1 10.6-2.4 13.7c-3.4 3.2-8.5 3.2-8.5 3.2s7.1-3.3 11-16.9z"/> + <path fill="none" stroke="#000" stroke-linecap="round" stroke-miterlimit="10" d="M366.1 202.4s2.2-.2 3.3.1m-1.8-4.7s2-.3 3 0m-2.1-4.5s1.8-.2 2.7.1m-1.8-4.5s1.6-.3 2.4 0"/> + <path fill="none" stroke="#c8102e" stroke-miterlimit="10" stroke-width="1.3" d="m309.7 83.6-3 11.5m-3.2-7 9.4 1.8"/> + <path d="M287.2 215.6q-6.8.8-12.8 4.2a58 58 0 0 0-11 7.9l-.2-.3c3.3-3 7-6 11-8.2s8.3-4 12.9-4.5z"/> + <g fill="none" stroke="#000" stroke-miterlimit="10"> + <path stroke-width=".6" d="M219.2 76.3s2.5 4.8 6.3 4.8 3.2-1.5 3.2-1.5"/> + <path stroke-linecap="round" stroke-width="1.3" d="m246 75-26.8 1.3"/> + <path stroke-width=".6" d="M235.7 77s1.3 1.8 4.5 1.8c5.3-.2 5.8-3.7 5.8-3.7"/> + <path stroke-width=".6" d="M226.2 78s3.5 3 6.4 3 4.8-1.4 5.3-2.5M247 85s2.5 4.7 6.3 4.7 3.2-1.5 3.2-1.5"/> + <path stroke-linecap="round" stroke-width="1.3" d="M273.9 83.7 247 85"/> + <path stroke-width=".6" d="M263.6 85.7s1.3 1.8 4.5 1.8c5.3-.3 5.8-3.8 5.8-3.8"/> + <path stroke-width=".6" d="M254.1 86.7s3.5 3 6.4 3 4.8-1.4 5.3-2.6m5-15.3c.8.6 1.7 1.7 2.8 1.7 2.4 0 2.1-1 2.1-1"/> + <path stroke-linecap="round" stroke-width="1.3" d="m293 68-18.3.9"/> + <path stroke-width=".6" d="M282.7 70s1.3 1.8 4.5 1.8c5.3-.3 5.8-3.8 5.8-3.8"/> + <path stroke-width=".6" d="M273.2 71s3.5 3 6.4 3 4.8-1.4 5.3-2.6"/> + <path stroke-linecap="round" stroke-width="1.4" d="m295 83.6-20.7 1"/> + <path stroke-width=".6" d="M283.4 85.9s1.4 2 5.1 2c6-.3 6.6-4.3 6.6-4.3"/> + <path stroke-width=".6" d="M271.3 86.7s5.3 3.7 8.5 3.7 5.5-1.6 6-3m-39.8-18s2.7 5.1 6.8 5.1 3.5-1.6 3.5-1.6"/> + <path stroke-linecap="round" stroke-width="1.4" d="m275 68-29 1.4"/> + <path stroke-width=".6" d="M263.9 70.2s1.3 2 4.8 2c5.7-.4 6.3-4.2 6.3-4.2"/> + <path stroke-width=".6" d="M253.6 71.3s3.8 3.2 6.9 3.2 5.2-1.5 5.7-2.8M217 91.2s3 5.8 7.5 5.8 4-1.8 4-1.8"/> + <path stroke-linecap="round" stroke-width="1.5" d="M249.3 89.7 217 91.2"/> + <g stroke-width=".6"> + <path d="M237 92.1s1.4 2.2 5.4 2.2c6.3-.3 7-4.6 7-4.6"/> + <path d="M225.4 93.3s4.3 3.7 7.7 3.7 5.9-1.8 6.4-3.2m35.2-7s-.2 2 1 2.5"/> + <path d="m231.7 96.8.8 19.8 3.2.6-.4-9.8M231 80.8l.4 9.8m2.4-15-.9-18.7s-1.8-.8-2.8 0l.7 18.9m3.2 5.1.5 9.5m.8 17-.5-10.6m48.4-28.3-.5-14s-1.8-.7-2.8 0l.3 14.1m3.5 15.5-.4-11m-2.5 17.3.3 12.2h3.2l-.4-13.2M280.4 74l.2 10.3m-19.3-15.6-.8-19.5s-1.9-.8-2.9 0l.8 19.6m3.6 15.5-.4-9.8m-2.5 15 .8 28 1.7-.4q1.8-.7 1.7-.8l-1-26.8m-3.7-15.3.3 10.2"/> + <path d="M231.2 56.5v-6h-3.5v2l3.5.1"/> + </g> + </g> + <path d="M293.7 139.4a39 39 0 0 1-7.7-7 31 31 0 0 1-5.2-9.1 21 21 0 0 1-1.2-5.2v-1.3q0-.8.3-1.4l1-2.4a65 65 0 0 1 5.7-8.8l.3.5-4.4-.1-4.4.1-4.3.4-2.2.3-1 .2h-.6q-.3 0-.5.3l.2-.2-3.7 7.3-1 1.9a5 5 0 0 1-1.4 1.7 8 8 0 0 1-4 1.3h-17v-2.3l.5.5-4.4.2.7-.7-.2 1.9v.5h-.5a24 24 0 0 1-5.5-.5q-1.4-.3-2.6-.9l-2.5-1a59 59 0 0 1-9.9-4.4l-9.3-5.6-9-6 .3-.4 5.2 5 5.3 5q5.2 4.9 10.9 9.4c1.8 1.5 4 2.7 5.7 4.3a32 32 0 0 1 4.8 5.6q2 3.1 4.4 5.3a18 18 0 0 0 5 3q.3.1.3.4l.1 1-.2.5-.8.6h-.5l-2.5-1.3a16 16 0 0 1-3-2.4c-1.9-1.9-3-4.1-4.2-6.3a22 22 0 0 0-6.5-8.4l-2.8-2.1-10.9-9.5-10.7-9.6.4-.5a149 149 0 0 0 18.3 11.5q4.8 2.5 9.9 4.1l2.6 1 2.5.7q2.6.5 5.2.5l-.5.5-.1-1.9v-.6h.6l4.4.2h.5v2.3l-.5-.5h12.4q2 .2 4 0 2 0 3.7-1c1.7-1 1.5-2 2.1-3.3l3.9-7.3v-.1h1.3l1-.1 2.3-.2 4.3-.3 8.8-.6h.5l-.3.5q-3.1 4-5.6 8.7c-.7 1.5-1.5 3.1-1.3 4.8q.3 2.5 1.2 5a32 32 0 0 0 12.6 15.8z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".6" d="M269.4 105.6s9.3-3.5 17.2-3.5a229 229 0 0 1 21.5 1.7s-.2 6.3 1 7.4 4 2 1.8 6l-7 12.7"/> + <path d="M215 177q-3.5-1-6.3-3-1.5-1.2-2.5-2.6c-1-1.4-1-2.2-1.2-3.5a9 9 0 0 1 .3-3.6 14 14 0 0 1 7.2-7.9l.3-.2h.2a22 22 0 0 1 5 1.5 17 17 0 0 1 5.4 3.6l2.3 3q1.5 2.2 2.3 4.7l.2.6-.5.3q-6.1 3.7-12.4 7l-.2.1zm0-1 11.8-7.5-.4 1q-.8-2.2-2.1-4.2l-2.2-2.8-.8-.8a15 15 0 0 0-4-2.4 24 24 0 0 0-4.5-1.5h.4a16 16 0 0 0-6.3 7q-.6 1.5-.8 3.1l.2 1.6q.2.8.6 1.4a9 9 0 0 0 2.2 2.5 16 16 0 0 0 5.9 2.7z"/> + <g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.8"> + <path d="M212.9 157c.2-.6 2.1-1.4 3.5-1.4s-1-1.8 4.6-3.5c5.5-1.8 5.1 0 5.1 0s.4-1.5 2.8-1.5c2.3 0 5-1 5.9 0 .8 1 4.8 5.7 5.7 6.5s2.9 4.8 2.1 6.5q-1.1 2.3-6.9 2.6c-3.7.2-8.1 4.4-8.5 3"/> + <path d="M235 150.9c.6-1.8 2-2.3 3.4-2.3s.3-1.5 5.2-1.5c4.8 0 3 .4 5.8.3 2.8 0 5.5-1.8 7.5 1.2 2 2.9 5.2 11 5.5 13.2s-7.4 2.8-9.8 2.3c-2.3-.5-8.7 1.9-10.5.2"/> + <path d="M256 147.6s8.7-1 14-.8c5.2.4 8.6 4.6 9.4 9 .7 4.5.4 8.1-5 7.6-9-.7-12.3-.8-12.3-.8"/> + <path d="M274.5 148.3s5.7-1.4 8.1 0a42 42 0 0 0 8 3.6c1.1.4 4.8.2 4.8 5.2s0 14.7-4 13c-4.2-1.8-4.5-4.4-8.2-5.2-3.5-.8-5.4-2-5.4-2"/> + <path d="M294.6 154a6 6 0 0 1 6.1-2.2c2.9.6 5.9 4.3 8.7 5.3s5.6 7.7 2.3 12.4-9.6 7.6-12.5 4.9c-2.8-2.7-5.6-2.5-6.6-4.2"/> + </g> + <path d="m226 171-8 6.1-4 3.2-1.8 1.6-.7.7v.1-.2l.4.2 1 .2 2.5.1h.6l.9.2v.1l.3.1c.1.1.6.7.6 1.3q-.1.7-.4.9l-.3.3-.5.2-3.4 1.1-4 .5H208l-5 .1.9-.3-11.7 8.1-.5-1.6 13.3-.5h.6l.5.6 23.8 31.7.4.5-.4.5c-1.3 3.2-2.9 6.3-3.9 9.3l-.6 2.2c0 .6-.1 1.4 0 1.6l1.8 4.2 2.5 4.4 2.6 4.4 5.4 8.8-1.7-.6 27.9-8.9-.6.6a51 51 0 0 1 9.7-16.6 35 35 0 0 1 7.3-6.3q4.2-2.7 9-3.7a29 29 0 0 1 4.9-.7h1.2l3.7.3q2.6.3 4.6 2.6a7 7 0 0 1 1 5.2c-.4 3.3-1.8 6.3-3.3 9.1a65 65 0 0 1-5.2 8l-.8-1.4 6.4-.6-.8.3c2.4-3.1 5.1-6 7.3-9.3a30 30 0 0 0 2.9-5 12 12 0 0 0 1-5.4q0-.7-.2-1.2l-.5-1.2-1.7-2.3a26 26 0 0 0-4.3-4 27 27 0 0 0-10.7-5v-.6q6.3.8 11.6 4.3a27 27 0 0 1 4.8 4l2 2.5.8 1.5q.4.9.5 1.8.2 3.5-1 6.5a37 37 0 0 1-2.9 5.6 38 38 0 0 1-7.9 9.6l-.4.3h-6.9l-2 .1 1.3-1.5a63 63 0 0 0 5-7.8q2.4-4.1 3.2-8.5.3-2.4-.8-4-1.2-1.5-3.5-1.9l-2.2-.2H294l-4.5.6c-6 1.3-11.3 4.9-15.4 9.5q-6 7-9.3 16l-.1.3-.4.2-27.5 10-1 .5-.7-1a110 110 0 0 1-12-17.2l-1.2-2.5q-.6-1.2-1-2.9-.3-2 .2-3.4.4-1.6 1-2.8a28 28 0 0 1 6.2-8.8v1l-24.7-31 1.2.5-13.3-.5h-2.7l2.2-1.6 10.8-9 .4-.4h5.6l1.3.1h1.2l2.3-.3 2.7-.7s0-.1 0 0l-.2.6.1.7.3.3h.1l.1.1h-.6l-2.6-.3-1.4-.3q-.8-.2-1.7-1.1a2 2 0 0 1-.4-1.5l.4-1 1-1.2 2.1-1.7 4-3 8.4-6z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.8" d="M267.9 163s-11.8 8.7-11.8 21.4 2.1 11.8 2.1 11.8 8-17 16.3-21.3c0 0-1 18.2 3.4 27.7s13.3 20 23.7 22.6-5.2-4.6-7.9-11.8c-2.6-7.2-1.1-26.2-1.1-26.2s2.8 15.4 10.3 26.4a200 200 0 0 0 18.2 22.1l.9-13.8-8.8-13.2s10 11.9 23.8 11.9c13.7 0 21.3-9.3 21.7-21.3 0 0-5.5 6.8-19.2 6.8-13.8 0-28-9.6-38-30.7"/> + <path d="M311 157.6q3.2.5 6.3.3c2-.1 4.2-.6 5.2-1.7 2.8-3.2 5.6-6.4 5.5-10q0-2.9-1.5-5.3a9 9 0 0 0-1.8-2.1l-2.3-1.6c-3.2-1.6-7.4.6-10.3 3.6l-.4.8-.5-.8-3.3-4.7a35 35 0 0 0-3.7-4.1 18 18 0 0 0-4.4-3.2c-1.6-.8-3.2-1.2-5-2.2l.5-.8c1.9 1.4 2.4 3.5 3 5.6q.4 1.5.4 3.3.1 1.7-1 3.6-1.2 1.7-3.2 2l-1.8.3H291a12 12 0 0 1-6-2.8q-2.4-2.2-4.4-4.3a24 24 0 0 0-4.5-3.7 19 19 0 0 0-5.3-2.1l-5.7-1.1.3-.9a27 27 0 0 1 3.3 5l.9 3a4 4 0 0 1-1 3.2q-1.3 1.4-3 1.5a14 14 0 0 1-9-1.4c-1.7-1.2-3-2.8-4.3-4a14 14 0 0 0-4.6-3 50 50 0 0 0-11.2-2l.4-.8a29 29 0 0 1 5.7 7.1q.8 1.5.4 3.4a4 4 0 0 1-1 1.6l-1.4 1q-1.5.6-3.1.7-1.5.2-3 .1l-3.1-.2a19 19 0 0 1-6-1.9q-2.7-1.7-4.9-3.5a8 8 0 0 0-5-1.8l-5.6.3.1-.9a14 14 0 0 1 4 4.4 6 6 0 0 1 .2 6 12 12 0 0 1-4 4.3q-2.5 1.6-5.1 2.7l-1.1.5.4-1v-.1q1.2-3.6.4-7.1-.5-1.8-1.8-2.8a7 7 0 0 0-3.2-1.2q-3.8-.5-7 1a8 8 0 0 0-3.8 5.5 12 12 0 0 0 .4 6.9l.8 1.4.5.6.6.6 3 2.1c4.2 2.6 9.3 3.8 14.3 3.4v.3l-.4.3h-.5l-2.9.2-3.9-.3a26 26 0 0 1-7.4-2.4l-3.4-2.1-.7-.6-.8-.9-1-1.9a12 12 0 0 1-.5-8 11 11 0 0 1 1.8-3.8 9 9 0 0 1 3.1-2.8 11 11 0 0 1 4-1.1 15 15 0 0 1 4 .1q2 .4 3.8 1.6 1.7 1.4 2.2 3.5.5 2 .2 4a17 17 0 0 1-.9 3.9l-.6-.7q2.6-1 4.9-2.7c1.5-1 3-2.3 3.7-3.9q1.2-2.6-.1-5a13 13 0 0 0-3.7-4l-1-.3 1-.6a11 11 0 0 1 6.1-1.4 10 10 0 0 1 6 2.2c1.7 1.3 3 2.6 4.7 3.5q2.4 1.4 5.3 1.8l2.9.3h2.8q1.5-.2 2.7-.7t1.6-1.5a4 4 0 0 0-.3-2.4q-.5-1.3-1.3-2.5a32 32 0 0 0-3.8-4.5l-1-.8h1.3q6-.4 11.9 1.1a18 18 0 0 1 5.6 3c1.6 1.2 3 2.7 4.3 3.4l2 .8a13 13 0 0 0 4.9.2q1-.2 1.5-.5t.4-1.2l-.4-2.3a37 37 0 0 0-2-5.2l-.8-.6 1.2-.2q3-.6 6.2.1a21 21 0 0 1 5.8 2.4 26 26 0 0 1 5 3.8q2.1 2.3 4.2 4.2a9 9 0 0 0 5 2.4c1.8.2 3.9 0 4.8-1.4q.7-1 .7-2.4 0-1.5-.3-2.9-.8-2.8-2-5.5l-.5-.8h.9q3 .2 5.8 1.6 2.6 1.5 4.7 3.6a32 32 0 0 1 6.7 9.7l-.8-.1a14 14 0 0 1 2-2.8q1.2-1.2 2.8-2.2a9 9 0 0 1 3.5-1.3 9 9 0 0 1 3.9.4 10 10 0 0 1 3.3 1.8 12 12 0 0 1 2.6 2.8 13 13 0 0 1 2.2 7.1q-.2 4.1-2.3 7.2L327 156l-1.2 1.2-1.2 1.2a8 8 0 0 1-3.7 1.6 11 11 0 0 1-3.6.2l-3.4-.6-3.2-1z"/> + <g fill="none" stroke="#000" stroke-miterlimit="10"> + <path d="M219.2 152.7s3-4 2.4-6.8c0 0 6 4.1 10.2 3.8m12.4-3s3.8-1.8 4.5-5c0 0 3.6 4.4 7 5m14.3.1s5.1-3.9 5.8-6.2c0 0 7.5 8.8 13.3 9.5s13.7-6.2 13.7-6.2-2.1 10.1 9.5 14.3m-.6-17.6c1.2 2.1 3.9 6.5 6.9 6.5s3.8-3.7 1.1-3.7-2.9 1-2.9 1"/> + <path stroke-width="2" d="M274.5 235.7a49 49 0 0 1 20.9 14.5m0 0h-13.5s1.6-3-12.5-8"/> + <g stroke-width="1.8"> + <path d="M366.6 151.7c5.6 12 10.1 25 10.1 33.5 0 11.4-7.8 32-37 35.2"/> + <path d="M358.7 199.3c1.2-11.5-9.5-17.1-21.3-15.4 0 0 4.8-6 13.8-6s14 8.4 14 8.4-4.5-12-16.5-29c-15.1-21.4-16-28.6-16-28.6l4.7 2s-5.4-10.4 7.3-19.4c3.4-2.4 9-1.6 9-1.6s-1 3-1 6.9c0 3.8 0 8.8 8 23.5l3 5.7"/> + <path d="M336.3 126.4c-2-7.8 5.8-23 21.9-23 14.5.2 27.5 3.7 36.5 2.5s20.3-9.2 13-14.7c0 0 11.5-.1 11.5 8.2 0 8.4-4.7 8-4.7 8s17.7.5 23.7 14.2c0 0-6.2-3.4-13.7-3.4s-29.3.7-29.3.7 10 8.8 22.5 13.1c12.5 4.4 18.7 8 38.3 5.6 0 0-26 14.7-30 14.7s-18-2-43.4-24.7c0 0 3.8 7.3 6.1 15.8 2.4 8.5 6.9 24.7 15.4 29.3 0 0-11.4-.1-19.7-7.7s-7.7-23.3-7.7-23.3-8 16-19 8.4c0 0 13.9-6.5 13.9-19.4a20 20 0 0 0-17.9-21"/> + </g> + <path stroke-linecap="round" d="m340.9 137.3 5.3 2.2m-.3 4 2.3 1.7m1.1 2.7.8 1m2.1 2.8v1.5"/> + <g stroke-width="1.8"> + <path d="M153.9 147.2c6.2-10.1 12.7-20 12.7-31 0-21-21.2-15-26.9-14.8s-19.6 3.6-24 .7a33 33 0 0 1-11-12.2s-5 7.8-2 12.2c3 4.5 6 5.5 6 5.5s-13.6.4-19 3.7c-5.3 3.3-7 10.2-7 10.2s15.7-10 27.7-6.3 25-1.3 25-1.3-35.7 23.8-58.7 24.4M205 194.9s-13.8 12-30.2 12-32-8-32-30.3c0-9.4 4.2-17.8 9-25.9"/> + <path d="M166.5 113.9c-6.3-1.2-17.5 8.7-17.5 20.3s11.3 19.1 11.3 19.1c-13-1.4-17.6-11.7-17.6-11.7s2 6.2-2.1 13.8c-10.8 20.6-26.4 18.2-26.4 18.2A52 52 0 0 0 126 155c1.5-4 8.7-18 10.8-22s-.2-7.3-3.1-4.5c0 0-20.7 16.8-30.4 19.8-6 1.9-18.1 1.5-26.5-10.1s1.4-24.4 1.4-24.4-19.4 2.3-19.4 14 30 21.4 38.4 21.4m47.7 15.7c-3 12-7.2 31.7 4.6 45.4 11.7 13.8 33.3 15.4 42.2 10.4s12.9-9 12.9-9-3.7 11.4-4.3 18c0 0 10.9-1.7 12.7-8.1 0 0-4.7 10.1 3.5 19.7 0 0 3-13.8 10.7-17.6"/> + <path d="M161.7 205c1.1-24 18.7-24.3 18.7-24.3s-.5-2.7-9.3-2.7-15.7 6.3-15.7 6.3c-1.7-6 22.7-34 27.3-41.6s2.7-12.2 2.7-12.2c-1.2 2.2-5.8 3.7-5.8 3.7s1.6-3 .8-13.7c-1-14.5-16.7-20-26.7-19.9"/> + </g> + </g> + <path fill="#291c11" d="m290.4 105.4 3.2.2v.5l-3.2.7.9-.5-3.4 5.1-.7-.3 2.8-5.4.2-.3zm5.2.6 3 .2v.5l-3 .7.8-.5-3.2 4.8-.6-.3 2.7-5.2v-.2zm4.4.9h2.9v.6l-3 .6.8-.5-3 4.7-.7-.3 2.6-5 .1-.2zm-12.2 17.5 3.2.2v.6l-3.2.8 1-.7-2.5 5.2-.8-.3 1.8-5.4.1-.4zm5.2.6 3 .2v.6l-3 .8 1-.8-2.4 5-.8-.3 1.7-5.2.1-.3zm11.8-17.5h2.4v.6l-2.4.5.8-.5-2.7 4.8-.5-.3 2.1-5 .1-.1zm-18.6 6.8h3.8v.8l-3.8.9 1.1-.8-3.2 6.7-.8-.3 2.4-7 .2-.3zm6.3.6h3.6v.7l-3.6.9 1-.7-3 6.3-.8-.3 2.3-6.6.1-.3zm5.2.7h3.5v.7l-3.5.8 1-.7-2.9 6-.8-.2 2.3-6.3.1-.3zm5.9.5 2.8.1v.7l-2.8.7 1-.8-2.4 6.1-.8-.2 1.7-6.3.1-.3zm-32.3-9.2 3.9.1v.7l-3.9.8 1-.6-4 6.2-.8-.4 3.4-6.6.1-.2zm6.6.6 3.8.1v.7l-3.8.9 1-.7-4.1 6.2-.8-.4 3.4-6.5.2-.3z"/> + <path fill="none" stroke="#291c11" stroke-miterlimit="10" stroke-width=".5" d="M286.9 104.4s4.3-2.2 8.5-1.8"/> + <path fill="#291c11" d="M264.4 120.4q1.2-.5 2.4-.4a28 28 0 0 1 7.5.6q2.4.5 4.6 2a12 12 0 0 1 3.6 3.5l-.2.1a12 12 0 0 0-3.6-3.3q-2.1-1.3-4.5-1.9a22 22 0 0 0-7.3-.5l-2.5.2z"/> + <path fill="none" stroke="#291c11" stroke-miterlimit="10" stroke-width=".6" d="M265 114c-.8 1.5-.4 2.4 4 3.2s9.3 2.9 11.2-1.6"/> + <path fill="none" stroke="#291c11" stroke-miterlimit="10" stroke-width=".6" d="M260.7 117.3c2-.2 4.2-1 6.3-.5m7 1.5c3 .6 6 1.5 6.6 3.4"/> + <path fill="#291c11" d="M265.8 120.6a65 65 0 0 1-36.2-1.6 70 70 0 0 1-8.2-4.1l-7.8-4.9a158 158 0 0 1-14.5-11l.3-.4a224 224 0 0 0 14.9 10.4q7.5 5 15.8 8.6a48 48 0 0 0 17.6 3.3q9 0 18-.9z"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.8" d="M456 137.6c9.4-3 11.2-18-10.3-26.8 0 0 7.8 23.3-8.4 26.8"/> + <path fill="#74948f" d="M317.5 463.3c1.1-2.1 4-8.4 6.3-8 2.5.2 5.2.3 6.7-2.5s8.7-12.4 12.3-13 14.2-9.3 28.1-16c11.4-5.5 19.5-13 29.5-12.8 9.9.3 5.8 7.8 16.4 7.8s35.2 4.5 41.6 16.4a42 42 0 0 0 20 20c5.6 2.3 26.6 8.6 18.6 11.3s-11.6 2.2-18.8 6.2a38 38 0 0 1-23.9 5.6c-9.5-1-10.6-1.6-14 .2s-22.5 2.2-24.3 0c-1.7-2.2-3.1 1.5-8 0s-23.9 1.5-32.6-1.5c-8.6-3-17.6-1.8-25.9-2-8.2-.3-34-8-32-11.8z"/> + <path fill="#3c4544" d="M451.8 428.3s8.7 15.9 7.7 21c-1 5.2-3 .7 5.5 5.2s16.5 4.9 11 6.4c-5.5 1.6-15.7-2-12.3 5 3.3 6.8 3 6.6-3.2 6.3-7-.4-15.7-3.7-20.2 1-4.5 4.6-13.6 6.8-13.6 6.8s10.8.3 13.5-1.5c2.8-1.8 8-1.3 15.2-.2a51 51 0 0 0 25.6-7c3.8-2.8 20.4-4.8 17.6-7a85 85 0 0 0-20.2-9c-8.6-2.8-15.6-12.5-17.8-16.3s-4.7-8.3-8.8-10.7"/> + <path fill="#202926" d="M353.2 462.8s4.8-1.6 8.1 2c3.4 3.7 9.7 10 16.4 10s11-1.1 14.1-3.8c0 0-9.1 2.6-13.6 1.7s-10.7-6.6-14.7-10.2c-4-3.7-10.3.3-10.3.3m45.5 5s6.8-1 10.1 1.5c3.4 2.5 10.7 8 14.4 5.5 3.6-2.5 18.3-9 18.3-9s4.4 4 4 4.9c-.3.8-.3 1.9 4.3 2 4.7.1 12.4 2 17.2 0s6.4-.3 5.8 1.3c-.5 1.6-3.4 2.7-3.4 2.7l7.1-3 7.2-3.5s-8.2-3.9-12-4.4-10.4-2.1-8 0c2.3 2.2-3 7.5-7 5-4-2.6-9.7-8.3-11.5-9.9s-1.6-1.2-4 0c-2.4 1.3-15.5 8.4-18 9.6a11 11 0 0 1-11.4-.5c-4.6-3-9.3-3.7-13.1-2.1z"/> + <g fill="#cfdcd9"> + <path d="M424.2 419.3c-4.8-.4-6 .9-2.5 2.5s4.6 6.9.2 8.2-7.2 4.7-11.6 1-7.5-7.8-7.5-7.8 2.5-.4 4.5-2.5c2-2.2 13-2 16.9-1.4"/> + <path d="M392.7 412.3s8.3-.3 10.1 3.5c1.9 3.9.7 6.9-4.1 5.9-4.9-1-6-.7-2.2 3 3.8 3.6 9.3 9 16.2 10.6 6.8 1.7 13.8 3.5 9.1 4.4-4.6.8-14.3-1.4-19-1.4s-6.8 3-15 3.7-12.6 3.3-14 5.7c-1.3 2.3 3.4.1 10.4.6s22.6 0 25.3 1.7 15.5 2.3 19.2 4.2c3.6 1.8 9.1 0 9.1 0s-1.5 1-7.3 5.7c-5.8 4.6-13.2 7.8-16.7 7-3.5-.9-15.8-8.2-18.6-8s-16 6.4-17.9 7c-1.8.4-14.3-6-18.8-8s-7.5 0-12.5 2a67 67 0 0 1-13 3.6c-1.2 0-4.2 1.7-6.5 1.7s-8.5.6-8.8-.7a23 23 0 0 1 2.7-6.4s1.4-3.1 6.3-2.8 3.7-2.5 5.2-4.7c1.6-2.1 7.3-10.3 12.9-11.5 5.5-1.1 9.8-7.6 48-26.8"/> + <path d="M382.2 467.8c2.6-1.7 4.6-3.6 10.5-3.1 5.8.5 9 1.6 4.6 3.1-4.3 1.5-5 3.4-9.6 2.7-4.7-.7-7.6-1.3-5.5-2.7m-36.7 1.5c4.3.5 9-1 10.8-2.3s2.4-2.5-2.3-2.4c-4.8 0-15.8 3.9-8.5 4.7"/> + </g> + <path fill="#74948f" d="M363.5 430.7c4.6-1.5 4.3-3.3 12-1.3 7.8 2.1 7.8 2.4 10.3 3.3s5.7 2.3 0 2.5-4-1.5-8 1c-4 2.6-9.8 3.2-12.5 3.6-2.8.5-9.4 2.2-11.3 1.5s-7.2-.3-9 1.3-6 .4 1.8-4.6c8-5 21.6-13 24.1-14.2 2.5-1.3-13.5 8.9-7.4 6.9m-33.7 23.1c3.7-1.3 6.6-2 4 0s-8 4.1-10 3.2q-3-1.5 0-1.8c2.2-.2 5-1 6-1.4"/> + <path fill="#202926" d="M334.8 446.7s-3 4.6-1 3.8 6.2-1.1 3.2.1-1.7 1.5-3.1 2l-4.4 1.6z"/> + </g> + <path d="M500.8 414.6q.7-1.6 1.8-3.3.4-.8 1.4-1.4l.7-.2h1.4q.8 0 1.5-.3l.5-.5.2-.4.3-.4a32 32 0 0 1 4.7-5.8l1.6-1.1 1-.4.8-.3 3.1-1.8 3.2-2q3-2 6.4-3.7l3.3-1.7 3.2-1.7q3.3-2 6.5-3.7 3.4-1.7 7.3-1.7l1.8.3 1.7 1 1.2 1.5q.6.6 1.4 1.1a7 7 0 0 0 3.4.7 51 51 0 0 1 18 4.3q3.4 1.6 5.7 4.7l1 1.6 1 1.6 2.1 3q2.4 2.8 5.5 4.8l3.3 1.5 3.5 1.2 3.5 1.4q1.6.7 3.3 1.7l.7.8q.2.3 0 .7 0 .3-.3.5l-1 .5-.8.3-3.6 1a22 22 0 0 0-6.8 2.6 22 22 0 0 1-14.5 3l-3.6-.5h-1.8l-1.6.6q-1 .4-1.9.5a27 27 0 0 1-5.6.4h-3.7l-2-.3-.9-.3-.6-.3-.1-.2h-.1l-.2-.1h-.3l-.8.4q-1 .3-2 .2l-1-.2-.9-.1-1.8-.1-7.4.2a36 36 0 0 1-9.3-1l-1.7-.4-3.6-.5h-9.3l-1.9-.2-3.6-.8a70 70 0 0 1-7.3-2.2 37 37 0 0 1-5.1-2.4l-.8-.7-.4-.5.1-.9zm.8.5.2.3.6.5 1.5.8q1.6.9 3.4 1.4l7 2.1a48 48 0 0 0 7.2 1h7.4a26 26 0 0 1 7.4 1.4q3.5.6 7.2.5t7.4-.1l3 .2.7.2q.9 0 1.7-.2l.8-.3.6-.1q.4 0 .7.2l.3.3.1.1.3.1.8.3 1.7.2 3.7.1 3.7-.1 1.8-.3q1 0 1.6-.4a6 6 0 0 1 3.8-.6l3.7.4a21 21 0 0 0 14-2.8 23 23 0 0 1 7-2.6l3.6-1q1-.1 1.6-.6.3-.1.1-.4l-.5-.6-6.6-3-3.5-1.3-3.4-1.6q-3.2-2-5.6-5l-2.2-3-1-1.5-.9-1.6q-2-3-5.5-4.6-3.3-1.7-6.9-2.6a51 51 0 0 0-7.2-1.4l-3.7-.2q-1.9.1-3.7-.7-.9-.6-1.4-1.3l-1.2-1.4q-1.4-1.1-3.3-1.2-3.6 0-7 1.8-3.2 1.6-6.4 3.6l-3.2 1.8a85 85 0 0 0-9.6 5.5l-3.2 2-3.2 1.9-1 .3-.7.3-1.4 1a25 25 0 0 0-4.5 5.7l-.3.4-.2.4-.8.8q-1 .6-2 .5h-1.6q-.6.4-1.1 1.2-1 1.4-1.8 3.2"/> + <path fill="#74948f" d="M428 415.8c-.6-2-1.3-4.4-4.5-5.3s-2.5.5-4.3-2.7-6.7-10.5-12-12.4c-5.2-1.8-4.8-9.5-11.5-11.7-6.8-2.3-19.4-2-24.7 2.4-5.2 4.5-14 2.7-16.6 5-2.8 2.4-6.4 14.5-12.3 15.5-5.8 1-15.3 3-14.9 6.2s6.2 6 10.1 5.8 12.2 1.4 19 4.3c6.8 3 11-1 15.5 0s9.5 2.6 14.2 1.1c4.6-1.4 6.6-3 12.8-2.6s11.7.8 15.2 0c3.4-.8 14.7-3.4 14-5.6"/> + <path fill="#3c4544" d="M368.7 417.8s3.4-2 9-1.5 6.4 4 12 3.1c5.7-.7 4 2.6 0 2-3.9-.5-28.2-1.2-21-3.6"/> + <path fill="#cfdcd9" d="M365.8 395.4c1.2-2.5 6.2-10.3 7.7-8.6 1.4 1.8 8.8.5 12.2-.2 3.3-.8 3.5 4.2 4.5 4.4s4.6-.7 3 1c-1.6 1.8-2.6 3.6-3.6 3.4-1-.1 1 1.3 0 2.3s1.5 2.8-3.3 3.2a23 23 0 0 0-11.7 3.8c-2.6 2-6.7 1.9-8.8 3.5s-1 1.5 2.4 1.3c3.5-.1 8.5-.7 10.2.7 1.7 1.5 4.2 2.8 6 2.6s7.8 3.3 3 4-14-1.5-16.8-1c-3 .4-6.9-.8-8 1.1-1.2 2-6.2.9-7.6.8-1.5-.2-.3 1.2 1.6 1.7s2 1.7-.9.9c-2.9-.9-4.6-1.5-6.7-1.7-2-.2-5-.5-6-1.2-1-.8-4.7 1.5-2.1-1.3 2.3-2.7 7-4 7-4s.8-1.3 4.6-.1 4 2.6 7.4-4.7c3.4-7.2 5-10.2 5.9-11.9m23.4-12c1.3.7 1.4 1.5 3 1.5s3 1.7 1.4 1.6c-1.5-.1-3.4-1-4.4-1.5s-1.4-2.1 0-1.5z"/> + <path fill="#cfdcd9" d="M390.6 407.6c.7-1.7-5.4-4.2-8.9-3.5-3.4.8-6 1-3.3 1.7 2.6.7 5 1.2 7.1 3.6 2.2 2.3 3.6 2 5.1-1.8"/> + <path fill="#3c4544" d="M396.5 384s5.5 6.2 5.6 8.9-4.7 3.4 1 3.3c5.8 0 8.3 4 12 9.7s1.8 8.8 5.6 6.9-.9 4.5-2.7 5c-2 .4-9.4 3.6-14.3 3.6s7.2.7 10.3 0c3-.7 15.2-3.5 13.8-6.2s-1.5-3.7-3.7-4.4c-2.3-.6-3.4-.3-4.1-1.7-.8-1.3-3.8-7.6-7.8-10.4s-6.6-3.7-7.7-5.2c-1-1.4-3.8-7.8-8-9.5M331 409.3s-4.2 1.5-3.9 3 3.2 4.4 5.2 5.4 4.6.9 4.6.9-10.8-3.5-5.9-9.3"/> + <path fill="#3c4544" d="M351.1 396.2c-1.4 7.4 2.5 14.5-6.6 13.1-9.1-1.3-15.9.8-12.4-.3 4-1.4 5.1-1 8.7-2.1s5.2-1.4 10.3-10.7m48.7 7.5c-3-1.4-5.6-3.2-7.5-3-2 .1 2.4-4 6.3-1 4 3.1 2.4 4.6 1.2 4"/> + <path fill="#cfdcd9" d="M369.3 389.9c-3 1.4-8.2 2.8-10.7 3.8s-6 4.3-2.1 5c3.9.6 5 2.8 3.3 5.3s-3.5 4.2-2.3 3.8c1.1-.4 1 2.8-.5 4.6s3.5-4.9 9.8-13.8 2.5-8.7 2.5-8.7"/> + <path fill="#74948f" d="M369.4 394.6c-.8-4 4.7.6 7 .4 2.4-.2 2 .8-.7 2s-3.9.4-5.2 1.6-.7-1.7-1.1-4"/> + <path d="M427.6 415.9a9 9 0 0 0-1.4-3.2 5 5 0 0 0-2.8-1.8l-1.7-.3-1-.2-.6-.3-.3-.5-1.8-3.1q-2-3.1-4.3-5.9a20 20 0 0 0-5.6-4.5l-.8-.3-.8-.4-1.6-1q-1.4-1.5-2.3-3c-1.2-2.2-2.2-4.4-4-6-1.9-1.5-4.4-2-6.7-2.4a39 39 0 0 0-14.4.4 15 15 0 0 0-6.5 3q-3.1 2.3-6.8 2.8t-7.2 1q-1.9.3-3 1.7l-1.9 3-3.5 6.5-2.2 3q-1.3 1.5-3 2.3l-1 .3-1 .2-1.7.3-3.5.8-3.5 1q-1.7.6-3.3 1.4l-1.2 1-.3.6v.6a5 5 0 0 0 2 2.6 12 12 0 0 0 6.3 2.4h3.7q1.9.2 3.7.6a62 62 0 0 1 7.1 1.7l3.5 1.2 1.8.7 1.6.6a12 12 0 0 0 7 .4l3.5-.8a10 10 0 0 1 3.9 0q3.6.9 7 1.5 3.6.6 7-.4 3.4-1.4 7-2.3 3.8-.6 7.5-.2l7.3.3h3.6l1.7-.2 1.8-.4a103 103 0 0 0 10.4-3l1.5-.9q.5-.2.6-.5zm1-.3v.7l-.4.6-.8.7-1.7.9-3.5 1.3-7 1.9q-.9 0-1.9.4l-1.8.2h-3.7q-3.8 0-7.4-.3l-3.6-.1q-1.8 0-3.5.3-3.4 1-6.9 2.3-3.7 1-7.5.5l-7.2-1.5c-2.2-.5-4.5.3-7 .8a15 15 0 0 1-3.7.3 13 13 0 0 1-3.8-.7l-1.7-.7-1.7-.7-3.4-1.1a61 61 0 0 0-7-1.8l-3.6-.4-1.8-.1h-1.8a13 13 0 0 1-7-2.7l-1.5-1.4q-.6-.8-1-1.8V412q.2-.6.6-1 .7-.9 1.6-1.3 1.6-.9 3.4-1.4l3.6-1 3.6-.7 1.8-.3 1-.2.7-.2a8 8 0 0 0 2.8-2l2.2-2.9 3.7-6.3q.8-1.5 2-3.1l.6-.7.8-.5 1.8-.6 3.6-.5 3.6-.5q3.7-.5 6.6-2.7 3-2.4 6.6-3.2a35 35 0 0 1 14.7-.4l3.6.8q1.8.5 3.3 1.7t2.4 2.9l2 3.1q.8 1.5 2 2.8l1.5 1 .8.3.9.4a23 23 0 0 1 5.8 4.6 43 43 0 0 1 4.4 5.9l1.9 3.1.4.5h.8l1.9.4q1.9.4 3.2 2.1 1.2 1.6 1.7 3.5"/> + <path fill="#202926" d="M421.7 411.7c-1.9-.2.4.5-3.4-5.6a98 98 0 0 0-19.4-20.6c-5-3.3-6-.9-7.5-1.4-1.6-.5 1.6 1.4 2 2 .2.6-1.4 2.1 2.7 2.9 4.2.7 1.6 1.8.7 3.6-.8 1.8 2.5 2.7 3.7 3 1.1.3 2.3 2.1 1.7 3-.6 1 3 1.2 5 .8s6.2 4.1 7.7 4.7c1.4.5 3.2 2.3 3 3.4 0 1.2-2.2-.8-2.8-1.4-.7-.5-3-.6-4-.8-1.1-.2-1.2 1.6-.6.8s1.2.8 2.8.6c1.6-.1 2 1.2 3.7 2 1.6 1 1 2.7 0 2.4s-2 1-4.2.6-2 0-3.1 0c-1.3-.1-4.3.4-6 1-1.5.8-3.9-.7-5.4-.4s-2.8.8-1.5 1.6c1.4 1 3.3 0 4.4.2 1 .2 3.4.3 4.7 0s6.2-.2 8 .6c1.9.8.3 2 0 2.3-.2.4-3.8-.4-5.3-.8s-4.1 1.4-5.6.8-2.5-.5-4.2.9-4.5-.5-8 .7c-3.3 1.1-7.3.6-7.3.6-2.8.8 8 .5 11.6 1s3.8-1.3 4.1-1.6c.4-.3 2.5-1.4 3.3 0 1 1.3 2.5.4 4.6-.4s2.5 0 3.7.4 5.2-.3 7.8-.6c2.7-.3 1.3.2-1.6 1.4-3 1.3-4 2.2 0 1s11-1.8 10.6-5.3c-.4-2.3-4-3.2-5.9-3.4"/> + <path fill="url(#sh-ac-ac-Z)" d="M97 396.3c1.2-.7 1-4.5.7-8.7-.3-4.3-3.2.5-4.2-1.9s-3.4-3.1-3.4 0-6.4 1.5-2.8 5.3 8 6.5 9.8 5.3z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-aa)" d="M20.6 450.5c1.4 3.2-6.3 7.7-7.7 8.2-1.3.5-3.3.6-2.3-1 1-1.4-2.3-1-4.9-.7s-5-.8-3.1-2.2 1-2.2-.7-2.8-.8-2.6 2.4-2.4c3.3.1-.9-2.6 4.1-2.1s-.6-4.5 3-3.3a20 20 0 0 1 9.2 6.3" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-ab)" d="M22.2 449.6s-6.3-5.7-6.5-7.8-.2-4.2 1.1-2.7-.2-1 1.1-3.9c1.3-2.8 2.8-2.4 2.9 0 0 2.4.9 4.3 1.4 3.3s3.9-.8 3.2.6-.4 5.6.1 3.9 1.1-1 .7.9l-1.1 4.4s-1.3 1.6-2.9 1.3" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-ac)" d="M37 450.6s-11.2 4-12.8 6.3c-1.5 2.3-2.7 4.9-.3 3.6 2.5-1.2-.8 1.1-1 5-.1 3.7 2 3.8 3.5 1 1.6-2.7 3.8-4.5 3.8-3.1s4.3 2.5 4.3.6c.1-1.9 2.9-6.7 2.5-4.5s.8 1.6 1.3-.8l1.3-5.4s-.5-2.4-2.7-2.7z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-ad)" d="M32.1 448.5s-2.7-2-3.6-4.5c-1-2.5.4-2.5 1.4-1.6 1 1 .8-2.4 1.5-4.6s1.8-2 1.9 0 1.4 7.4 1.7 5c.4-2.3 1.8 1.2 0 3.4-1.6 2.1-2.1 3-2.9 2.3" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-ae)" d="M99.9 399.1s-.4-6.7 2.6-8c3-1.4 2 2 2.8 1.7a22 22 0 0 1 6.3-.8c2.7 0 1.7 2.7.7 3.7s-3.2 3.3-2.2 3c1-.4 3 2-1 2.7-4 .6-7.2.2-9.2-2.3" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-af)" d="M98 400.3s-5.3-1-9.4-.5-3.1 1.1-.4 1.8c2.7.8 1.3 1.4-1 2.8s-3.6 5 0 3.9c3.7-1 3.4 1.2 3 2.7s-.3 3 1.9 1 10-11 5.8-11.7z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-ag)" d="M123.4 400.3s-6.7-2.6-7.4-4.6c-.6-2 5.2 1.1 3.7-1.7s-1.9-7.7 0-5.8c1.8 1.8 3-2 2.8-3.7-.1-1.7 2.3-4 2.8-.9.6 3.2.9 4.8 1.7 3.1.9-1.7 4-1.7 3.3.9s-2.6 4.6-1 3.6 1.7 1.1 0 2.8-1.8 3-3.1 4-1.2 3-2.8 2.3" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-ah)" d="M133.4 392.6c.1-4-.7-5.8-1.9-8.7s.6-6.9 1-5.5c.4 1.3.8-3 2.5-4.4 1.7-1.3 2.7.2 2.5 2.2-.1 2-.1 3.6 1 2.4 1-1.3 3.8-.4 3 1.2-.8 1.5 1.5 4.8 1.7 1.7.2-3.2 2.1-10 3-8 1 2 3.3.3 5-1 1.8-1.2 2.4 1.3 2.1 2.3s-1.6 3.5 0 3 2.7.4 1.6 2a14 14 0 0 1-5.5 4.1c-1.4.3-3.2 2.5 1 2.3 4.1-.2 4.5 3.7 2.3 3.2s.7 2.3 2.7 1.5c2-.9 6.3.6 1.7 2.3s1.8 3.7-4.2 4-13.2 2-16.5 0-3-4.6-3-4.6" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-ai)" d="M137.7 403.7c2.6-.2 5.4-4.4 7.6-4 2.2.2 4.4.5 1.7 1.8-2.7 1.2-.7 2.7 2.5 2 3.2-.5 7.6 0 5.6.4s-1.3 1.9.2 1.9 1.8 3.9-.5 2.7-8-.7-6.2.6c1.9 1.3-.1 3-1.8 2s-6.7-4.3-4.7-2.5 1.5 4.8-2.2 1.5c-3.6-3.3-10.7-6-2.2-6.4" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-aj)" d="M150.4 423.6c2.3.7 4.3.7 3-.4-1.3-1 0-1.4 3.3 0 3.4 1.4 2-2.2-1-2.7s.3-1.5 2.7-1.6c2.4 0 .6-1.7-2.1-1-2.8.8-2-2 1-5 3-2.8-.8-1.9-4 1.4-3 3.4-2.1 1.9-2-.6 0-2.5-1.1-2-1.7-.7-.5 1.2-.4 4.2-.9 2.5s-1.3.3-.7 3.4c.1.7-2.7-2.7-2.4-.3.2 2.3-1.1 2.2-1.1 4.7s0 4.4 2.3 3c2.2-1.3 4.6-.7 3.6-2.7" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-ak)" d="M163.2 418c1.2-3.6 3.3.1 2.1 1.8s1.4 3 3.7.7 7.1-1.1 4.5 1.3-1 1.5 2 1.4c3 0 7.4.6 5 1.9-2.3 1.2-2.5 1.9.7 2q5 .1 5.5 2c.3 1.6-.8 1.8-2.7 2.2-1.8.4.4 1.6 1 4.2.7 2.7.4 1.8-2.3 1.7-2.7 0-2.7.5-2.5 1.8s-.7 3-2.3 1.1c-1.5-2-3.2-2.3-3.2-1 0 1.4-1.6 4.4-3.2 2.3-1.7-2-3.1.2-3.2.7-.1 1.9-2.4.4-4.2-2-1.9-2.3-2.7-4.5-3.2-2.9s-.4 1.2-1.8-1.7 0-6.2-3.9-7-2.4.4-.8-1.7c1.7-2.2 5.8 0 8.8-8.9z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-al)" d="M140.7 433s5.5 3.6 2.4 5c-3.2 1.4-5.8 3.8-3.2 3.8 2.7 0 6 .3 2.8 2.2s-1.5 6.3 0 5.1c1.5-1.1 1.7.5 1.3 3.4s3.7 6.9 3.7 2.6c0-4.2.5-7 1.5-3.6s6.5 6.6 4.5 2-1.3-7.6.4-5.4c1.7 2.3 5.6 4.8 4.1 1.3s-4-6.3-1.5-5.4 9.7 2.2 4.2-1-6.4-3.9-4.2-3.7c2.2 0 2.6-1.2-1.5-2-4.1-1-1.4-3.7-6-4.3s-10.4-1.6-8.5 0" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="#174520" d="M326.8 407.3s-3.2-1.8-2.5-1c.6 1-4.2.5-2.8 1.2 1.4.8.6 1.2 0 1.7s-.3 1.1.7.5 2-.9 2-.3 2.2-1.1 2.6-2.1m2.5-1.8s-1.4-.8-2-2c-.6-1.4.1-1.1.4-.7.2.5 0-1.2 0-2.3.1-1 1-1.3 1-1.3s.3 2.3.6 2.7c.3.3 1.2 2.2 1.4 1.4.3-.8-.5 2.4-.5 2.5zm6 .8-.8-1.7c-.1-.3.5.6.4-.3 0-1 .5-.9.5.1-.1 1 0 .6.4.3s-.4 1.6-.4 1.6zm1.3 2.5s-3.6 1.5-4.8 2.5q-1.9 1.4-.5 1c1-.3-.3.5-.6 1.4-.3 1-1.8 4.3-.9 2.9s3-3.1 4-3.5c.8-.3.4.9.7 0 .4-1 1.6-2.4 2.1-3.1s0-1.2 0-1.2m36.8-30.1s-2.1-.4-3.4-.3c-1.3 0-1.8.4-.6.7s1.9.7 1 1.4c-1 .7-.5 2.7.3 1.8s2.1 0 2.7-3.6m-.9-4s.5-3.6 0-3c-.4.5-2.5-1.9-2.5-1.2s-1.2 1.4-1 2a10 10 0 0 0 2.4 2.2c1 .6 1.1 0 1.1 0m2.3 3s1.2-4.2 1.3-3.6q0 .9.8.6c.6 0-.2.8.5.5s5-1.8 2.9-.7c-2.2 1.1-3.4 2.3-2.2 2.2 1.2-.2 1 1.5 1.6 1.5s-2.6 1.8-4.9-.6zm13.7.7s-1.4-1.4-1.3-2.5.9-1 .7-2 .2-1.5.3-2.9.5-.5.6.6c0 1 1 1.2.8 2-.2.7 2 1.6-1.1 4.8m6.4-4s0-3.5-.5-4.6.4-.8.5-.6 0-3.2.5-1.5 1.5.4 1.4 1.3.5 1.6 1.2 1c.8-.4 1.3-1.7 3.6-2.8s3-.6 2.3 0-3.7 2.7-3.4 3.5 3.3 0 2.2 1.2c-1 1.3-4.8 1-2.6 1.1s.2 1.6-1 1.4c-1-.3-3.4.7-2.3 1.2 1 .4 1.1 2-.3 1.3-1.4-.8-2-.8-1.6-2.5m3.4 6.4s1.5-1.3 1.4-.8c0 .4-1.4 1 0 .9q2.4 0 4 .5c.7.2-1.2.3-.5.4s-3 0-2.1.7-4.4-1.2-3.3.3c1 1.6-3.7-1.8.5-2m2.6 17.6s.7 1.1 0 1.9-1.4.8-.4 1 2.2-1 1.7.3-1 2.8.1 1.4c1-1.5-.2 3 .5 1.7s.7 4 1 2 1.8-2.7.7-3.7c-1-1 1.5-1 .5-1.6s-.2-1.8-.8-1.7-2.7-2.2-3.3-1.3m8.3-4.8s2.3-1.5 2-1 3-.9 2-.2 4.6.6 3 1c-1.6.2 5.2 1 3.4 1.1-1.7.2 2.9 1.4 1.5 1.6q-2.1-.1-1.4 1.2c.3 1-1.3 1.3-2.5.2-1.3-1-1.5 1.7-2-.2-.3-1.9-1.6 1-2-.5-.4-1.6-1.7.7-1.8-.6 0-1.3-1.5 0-1 1.3.6 1.5-1.1-1.5-1.2-3.9m-7.6-.6s.5-2.7 1.7-3.6 2.1-.6 1.6-.2-.5 1.2 0 1.2.5.7-.7.7c-1.3 0-2.4 1-1.6 1 .8.2.2.8-1 1z" opacity=".2"/> + <g stroke="#174520" stroke-miterlimit="10"> + <path fill="none" stroke-width=".3" d="M373 376c.5-.4.4-2.6.3-5.1s-1.9.3-2.4-1c-.6-1.5-2-2-2 0 0 1.7-3.8.8-1.7 3s4.7 3.8 5.7 3zm-44.6 31.5c.9 1.9-3.6 4.5-4.4 4.8s-2 .3-1.4-.6-1.3-.6-2.8-.4c-1.6.2-3-.5-1.9-1.3s.6-1.3-.3-1.6c-1-.4-.5-1.6 1.4-1.4 1.9 0-.5-1.5 2.4-1.3 2.9.3-.4-2.6 1.7-1.9 2.5.8 5 2.9 5.3 3.7zm1-.5s-3.7-3.3-3.8-4.6c-.2-1.2-.1-2.4.6-1.5.8.8 0-.6.7-2.3s1.6-1.4 1.6 0 .6 2.5.9 2c.3-.7 2.2-.6 1.9.3s-.3 3.2 0 2.2.6-.5.4.6l-.7 2.5s-.7 1-1.6.8zm8.5.5s-6.4 2.4-7.4 3.7-1.6 2.8-.1 2.1c1.4-.7-.5.7-.6 2.9s1.1 2.2 2 .6c1-1.6 2.2-2.6 2.2-1.8s2.5 1.4 2.5.3 1.7-3.8 1.5-2.5.4.8.7-.5l.8-3.2s-.3-1.4-1.6-1.6zm-2.8-1.2s-1.5-1.1-2-2.6c-.6-1.4.1-1.5.7-1s.5-1.3.9-2.6q.8-1.8 1.1 0c0 1.2.8 4.3 1 3 .2-1.4 1 .6 0 1.9s-1.2 1.7-1.7 1.3zm39.4-28.7s-.2-4 1.6-4.7c1.7-.8 1.2 1.2 1.6 1s2-.4 3.6-.4 1 1.5.5 2.1-1.9 2-1.3 1.7c.6-.2 1.7 1.3-.6 1.6q-3.5.8-5.4-1.3zm-1.1.7s-3-.6-5.4-.3-1.8.7-.2 1c1.5.5.7.9-.6 1.7s-2.1 2.8 0 2.2 2 .7 1.7 1.6c-.2.9-.2 1.8 1 .6 1.3-1.2 6-6.4 3.5-6.8zm14.8 0s-3.9-1.5-4.3-2.7 3 .7 2.2-1c-.9-1.6-1.1-4.4 0-3.4 1 1.1 1.7-1.1 1.6-2 0-1 1.4-2.5 1.7-.6s.5 2.8 1 1.8 2.3-1 1.8.5-1.5 2.7-.5 2.1 1 .6 0 1.6-1 1.7-1.9 2.3c-.7.6-.7 1.8-1.6 1.4zm5.8-4.5c.1-2.3-.4-3.3-1-5s.3-4 .5-3.3.5-1.7 1.5-2.5 1.5.1 1.4 1.3c0 1.1 0 2 .6 1.4.6-.8 2.2-.3 1.7.6-.4 1 1 2.9 1 1 .1-1.8 1.3-5.8 1.8-4.6s1.9.2 3-.5c1-.8 1.3.7 1.1 1.3s-.9 2 0 1.7q1.7-.4 1 1.1a8 8 0 0 1-3.3 2.5c-.7.1-1.8 1.4.6 1.3s2.6 2.2 1.4 1.8c-1.3-.3.4 1.4 1.5.9s3.7.4 1 1.3c-2.6 1 1.1 2.2-2.4 2.4s-7.7 1.2-9.6 0c-2-1.1-1.8-2.7-1.8-2.7zm2.5 6.4c1.6 0 3.2-2.5 4.5-2.3s2.5.3 1 1c-1.6.8-.5 1.7 1.4 1.3s4.4-.1 3.3.2-.8 1 0 1c1 0 1.1 2.4-.2 1.7s-4.7-.5-3.6.3c1 .7-.1 1.8-1 1.2s-4-2.5-2.8-1.5.9 2.8-1.3.9c-2-2-6.2-3.5-1.3-3.8zm7.4 11.6c1.4.5 2.5.5 1.8-.2q-1.1-1 2 0c1.9.8 1-1.3-.7-1.5-1.7-.3.2-1 1.6-1s.3-1-1.3-.6-1-1.2.7-2.8c1.7-1.7-.5-1.2-2.3.8-1.9 1.9-1.3 1-1.3-.4 0-1.5-.6-1.2-1-.4-.2.7-.2 2.4-.5 1.4s-.7.2-.4 2c.1.4-1.5-1.5-1.4-.2s-.6 1.3-.6 2.8 0 2.5 1.3 1.7c1.3-.7 2.7-.4 2.1-1.6z"/> + <path fill="none" stroke-width=".3" d="M411.4 388.5c.7-2 1.9.2 1.2 1.1s.8 1.8 2.2.5c1.3-1.4 4.1-.7 2.6.7-1.6 1.4-.6.9 1.1.8s4.3.4 3 1.1q-2.2 1 .3 1.2 2.9 0 3.2 1.2c.2.9-.4 1-1.5 1.2-1 .2.2 1 .6 2.5s.2 1-1.4 1-1.5.2-1.4 1c0 .8-.5 1.8-1.4.7s-1.8-1.4-1.8-.6-1 2.5-2 1.3-1.7.1-1.7.4c-.1 1.1-1.4.2-2.5-1.1s-1.6-2.7-1.9-1.7-.2.7-1-1 0-3.7-2.3-4.1-1.4.2-.4-1c1-1.3 3.3 0 5-5.2zm-13.1 8.8s3.2 2.1 1.4 3c-1.9.7-3.4 2.1-1.9 2.1 1.6 0 3.5.2 1.6 1.3s-.8 3.6 0 3c1-.7 1 .3.8 2s2.2 4 2.2 1.5.2-4 .8-2.1c.6 2 3.8 3.8 2.6 1.1s-.7-4.4.3-3c1 1.2 3.2 2.7 2.4.6-1-2-2.3-3.6-.9-3 1.4.4 5.6 1.2 2.4-.7s-3.7-2.2-2.4-2.2c1.3.1 1.5-.6-.9-1.1s-.8-2.1-3.5-2.5-6-1-5 0z"/> + <g stroke-width=".5"> + <path fill="url(#sh-ac-ac-am)" d="M91.9 386.6c-.2-.6-.3.1-.3.1 2.3 7 5.9 13.2 9 19.9.7 1.7 2.7 7.3 3.6 9l1.2 2.4 2.3-4.4-4.6-8c-3.4-6.5-11-18.5-11.2-19z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-an)" d="M175.4 430a57 57 0 0 0-28.6-2.8s.5-2.6 2.4-5.2 2-3.4 0-1.7c-2 1.8-4.7 7.3-4.7 7.3h.1c-12 2.4-19.3 8-19.3 8l1.4 2.6s.4-2.2 10.5-5.5c12.1 1.3 12.6 7.2 12.5 10.8s1.2 7.3 1.2-1.6-10.6-10-10.7-10.1l5-1.4c20-5.1 43 4.3 30.2-.3zm-38.1 2.7 2.8-.9z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-ao)" d="m124.8 409 .5-.4c3-2.6 11.4-2.6 14.4-3 3.3-.3 9.8-.3 4.3-.8a46 46 0 0 0-16.1.8v.1l5-6c4.6-5.8 12.9-17 13.4-18 .4-.8-.5-.3-.5-.3q-7.3 8.4-14.8 16.3l-5.6 5.8q.2-.2.5-6.1c.2-4.3-2.8-10.3-1.8-5.8 1 4.4-.1 13.2-1.4 14.5a69 69 0 0 1-7.5 6.3q-2.2 1.6-4.3 2.4l1.5 3.9q2.9-1.3 5.2-3 3.9-3 7-6.4v.1zm-1.4-3.5-.4.3 1-.9z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-Y)" d="M24.8 449.4s-2.5-4-3.3-6-2-3-1 .5c1.2 3.5 2.8 5.6 2.8 5.6h.3c-9.7.8-13 2-14.6 2.5s-1.8.8 4.4 0 29.9-1.3 33.6-.8l1-2.3c-5 .2-20.1.2-23.4.5z" transform="translate(316.5 145.5)scale(.58162)"/> + </g> + </g> + <path fill="url(#sh-ac-ac-X)" d="M413.4 400.2c-1.2-.4-2.2-4-3.1-8.2-1-4.2 3.1-.5 3.4-3 .2-2.6 2.3-4 3.3-1s6.5-.5 4.2 4.2-5.7 8.5-7.8 8" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-W)" d="M346 430.5c.4 3.5-8.3 5.6-9.7 5.7-1.5 0-3.4-.5-2-1.7s-1.9-1.6-4.5-2c-2.6-.5-4.5-2.4-2.3-3.2 2.2-.7 1.6-1.7.2-2.8s0-2.7 3-1.6 0-2.7 4.5-.8c4.7 2 .7-4.5 3.9-2.3a19 19 0 0 1 6.9 8.7" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-V)" d="M347.8 430.1s-4.3-7.2-4-9.3c.4-2 1.1-4.1 1.9-2.3s.1-1 2.2-3.4c2-2.3 3.3-1.5 2.7.8-.6 2.4-.4 4.4.4 3.6s4 .4 3 1.5-2.1 5.3-1.1 3.8 1.3-.6.3 1l-2.3 3.9s-1.6 1.2-3.1.4" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-U)" d="M361.6 435.4s-11.8.6-14 2.3c-2.2 1.8-4 3.9-1.3 3.4s-1.2.8-2.4 4.4c-1.3 3.6.7 4.3 3 2.1s5-3.3 4.5-2 3.4 3.7 4 2c.6-1.9 4.7-5.7 3.6-3.6-1 2 .3 1.6 1.6-.4l2.8-4.9s.2-2.4-1.8-3.3" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-T)" d="M357.6 432s-2-2.7-2.2-5.4 1.1-2.3 1.8-1.1 1.5-2.1 2.8-4 2.3-1.4 1.8.6-.8 7.5.2 5.3c1-2.1 1.4 1.6-.9 3.2s-3 2.2-3.5 1.4" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-R)" d="M411.6 403.7s-1.7-6.6-5-7-1.3 2.6-2.1 2.5c-.8 0-3.6.3-6.2 1.1s-.9 3.1.4 3.7c1.2.6 4 2.3 3 2.2s-2.3 3 1.7 2.3c4-.6 7-1.9 8.2-4.8" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-Q)" d="M413.8 404.2s4.6-2.6 8.8-3.2c4-.7 3.3.1.9 1.6s-1 1.7 1.6 2.3c2.6.7 5 3.7 1.2 3.8s-2.8 2-2 3.4 1.2 2.8-1.5 1.5c-2.6-1.2-12.8-7.6-9-9.4" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-P)" d="M383.4 401.2s6.7-2.6 7.4-4.6c.6-2-5.2 1.1-3.7-1.7s1.9-7.7 0-5.9c-1.8 1.9-3-2-2.8-3.6.1-1.7-2.3-4-2.9-.9-.5 3.2-.8 4.8-1.6 3.1s-4-1.7-3.3.9 2.6 4.6 1 3.6-1.8 1.1 0 2.8c1.6 1.7 1.8 3 3.1 4s1.2 3 2.8 2.3" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-O)" d="M373.4 393.5c-.1-4 .7-5.8 1.9-8.7 1.1-3-.6-6.9-1-5.6s-.8-3-2.5-4.3-2.7.2-2.5 2.2c.1 2 .1 3.6-1 2.4-1-1.3-3.8-.4-3 1.1.8 1.6-1.5 5-1.7 1.8s-2.1-10-3-8c-1 2-3.3.3-5-1-1.8-1.2-2.4 1.3-2.1 2.3s1.5 3.5-.1 3-2.6.4-1.5 2c1.2 1.5 4.2 3.9 5.5 4.1 1.4.3 3.2 2.5-1 2.3-4.1-.2-4.5 3.7-2.3 3.2s-.7 2.3-2.7 1.5c-2-1-6.3.6-1.7 2.3s-1.9 3.7 4.1 4 13.3 2 16.6 0 3-4.6 3-4.6" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-N)" d="M369.1 404.5c-2.7 0-5.4-4.3-7.6-4s-4.4.6-1.7 1.8.7 2.8-2.5 2.2-7.6-.2-5.6.3 1.3 1.9-.2 1.9-1.8 3.9.5 2.7 8-.7 6.2.6c-1.9 1.3.1 3 1.8 2s6.7-4.3 4.7-2.6c-2 1.8-1.5 4.9 2.1 1.6 3.7-3.3 10.8-6 2.3-6.5" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-M)" d="M487.2 446.1c1.9.2 3.4-.2 2.2-.8q-1.7-1 2.6-.6c2.8.5 1-2-1.3-1.9-2.4.2 0-1.2 1.8-1.6s.2-1.5-1.8-.4c-2 1-1.8-1.3 0-4 1.7-2.8-1-1.4-2.9 1.7s-1.3 1.8-1.7-.1-1.2-1.4-1.4-.3.4 3.3-.2 2.1-1 .5 0 2.8c.3.5-2.5-1.6-1.9.1s-.4 2 0 3.9.8 3.3 2.3 1.9c1.5-1.5 3.4-1.4 2.3-2.8" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-b)" d="M496 439.5c.3-2.9 2.5-.4 2 1.1s1.5 2.1 3-.1c1.3-2.2 5.2-2.1 3.6.2s-.5 1.3 1.8.7 5.7-.8 4.1.6c-1.5 1.3-1.6 1.9.9 1.4s4-.5 4.6.6c.5 1-.4 1.5-1.7 2-1.3.7.5 1.2 1.5 3.1s.6 1.4-1.5 1.8c-2 .4-2 .8-1.6 1.8s0 2.5-1.5 1.2c-1.6-1.2-2.9-1.2-2.7-.2.3 1-.4 3.6-2 2.4s-2.4.6-2.3 1c.2 1.5-1.8.8-3.6-.7s-2.9-3-3-1.7c0 1.4 0 1-1.6-1-1.5-2-1.2-4.8-4.3-4.7s-1.7.8-.8-1.1 4.4-1 5-8.4z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-K)" d="M481.4 455s4.9 1.8 2.7 3.4c-2.1 1.7-3.7 4-1.7 3.5s4.7-.8 2.5 1.2c-2.1 2 0 5 1 4 .9-1.2 1.3 0 1.5 2.3.3 2.2 4 4.6 3.3 1.3s-.9-5.4.5-3 6.2 4 3.8.7c-2.3-3.2-2.3-5.6-.6-4.2 1.7 1.5 5 2.7 3.3.3s-4.1-4.1-2-3.9c2 .3 7.7 0 3-1.5s-5.6-1.8-3.9-2.1 1.8-1.3-1.5-1.3-1.7-2.5-5.4-2.2c-3.6.4-8.2.7-6.5 1.5" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="#174520" d="M516.2 395.2s-2.5-2.6-2.2-1.6c.4 1-4-.8-3 .3 1.2 1.1.3 1.2-.5 1.6-.8.3-.5 1 .6.7s2.2-.3 2 .3c-.1.6 2.4-.5 3.1-1.3m3-1s-1.2-1.2-1.4-2.6.4-1 .5-.4.4-1.1.8-2.2c.4-1 1.2-1 1.2-1s-.3 2.3-.1 2.7.4 2.5 1 1.8l-1.3 2.3zm5.5 2.5-.3-1.8c-.1-.3.2.7.5-.2.2-1 .7-.7.3.2-.3 1 0 .6.4.4s-1 1.4-1 1.4zm.4 2.8s-3.9.4-5.3 1q-2.2.9-.7.8c1.5-.1-.5.4-1 1.2s-3 3.5-1.8 2.5c1.3-1.1 3.8-2.1 4.8-2.2 1 0 .2 1 .8.2s2.2-1.8 3-2.4c.6-.5.2-1 .2-1zm32.1-18.6s2-1 3.2-1.2c1.2-.4 1.8-.2.8.4s-1.6 1.2-.5 1.7 1.2 2.4.2 1.8-2 .6-3.7-2.7m-.3-4s-1.5-3.3-1-3c.7.4 2-2.4 2.2-1.8s1.6 1 1.5 1.6-1 2-1.7 2.8c-.6.9-1 .3-1 .3zm-1.3 3.4s-2.4-3.6-2.3-3c.2.8 0 .7-.6.9-.6.1.4.7-.3.6s-5.4-.2-3 .2 4 1.2 2.8 1.4-.5 1.8-1.2 2c-.6 0 3 .8 4.6-2zm-16.4-1.4s1.3-1.4 1.2-2.5c0-1.1-.8-.9-.6-2 .2-1-.3-1.5-.3-2.8 0-1.4-.6-.6-.6.5s-1 1.2-.8 2c.2.7-2 1.6 1 4.8zm-6.4-4s-.1-3.4.5-4.5-.4-1-.5-.7 0-3.2-.5-1.5-1.6.5-1.4 1.3c.1.8-.6 1.6-1.3 1.1s-1.2-1.8-3.5-2.8-3-.7-2.3-.1 3.6 2.7 3.4 3.5-3.3 0-2.3 1.2c1 1.3 4.8 1 2.6 1.2s-.2 1.5 1 1.3c1.1-.3 3.4.7 2.4 1.2s-1.1 2 .2 1.3c1.4-.8 2-.8 1.7-2.5m-3.5 6.4s-1.5-1.3-1.4-.8 1.5 1 0 .9c-1.4-.1-3 .3-3.9.5s1.2.3.5.4 2.9 0 2 .7c-.7.7 4.5-1.2 3.4.3-1 1.6 3.7-1.8-.6-2m69.3 29.2s.8.7.4 1.4c-.4.8-1 1-.1.9s1.5-1.2 1.3 0-.2 2.2.3 1 .4 2.4.7 1.2 1.3 2.9 1.2 1.3.9-2.3-.2-3c-1-.6 1-1 .1-1.2-1-.4-.5-1.4-1-1.1-.3.2-2.3-1.3-2.7-.5m5.6-5.1s1.4-1.6 1.3-1.2 2.2-1.2 1.5-.5 3.7-.3 2.5.2 4-.1 2.8.3 2.4.6 1.4 1c-1 .3-1.3.4-.9 1.1s-.7 1.2-1.8.7-1 1.5-1.5.1-1.1 1.1-1.7 0-1.2.8-1.5-.1-1.2.2-.5 1.2-1.2-1-1.6-2.8m-6 .9s0-2.2.7-3.1c.8-.9 1.5-.8 1.2-.5q-.5.8.2 1 1 .3-.4.6c-1 .3-1.7 1.2-1 1.1q.8.1-.7.9" opacity=".2"/> + <g stroke="#174520" stroke-miterlimit="10"> + <g fill="none" stroke-width=".3"> + <path d="M556.9 378.2c-.7-.2-1.3-2.3-1.8-4.8-.6-2.4 1.8-.2 2-1.7 0-1.5 1.3-2.3 1.9-.6s3.8-.3 2.4 2.5-3.3 5-4.5 4.6zM517.7 396c.2 2-4.8 3.2-5.7 3.2-.8.1-2-.2-1.1-.9s-1.1-1-2.6-1.2c-1.5-.3-2.6-1.4-1.4-1.8s1-1 .1-1.7 0-1.6 1.8-1 0-1.5 2.6-.4c2.7 1.2.4-2.6 2.3-1.3 2.1 1.5 3.8 4.2 4 5zm1-.3s-2.5-4.2-2.3-5.4.7-2.4 1.1-1.3 0-.6 1.3-2c1.2-1.4 2-.9 1.6.5s-.2 2.5.2 2 2.3.3 1.7 1-1.2 3-.6 2.1.8-.3.2.6l-1.3 2.3s-1 .7-1.9.2zm8 3s-6.8.4-8 1.4-2.4 2.3-.9 2c1.6-.3-.6.5-1.3 2.6-.8 2 .4 2.5 1.7 1.2s2.9-1.9 2.6-1.1 2 2 2.4 1 2.7-3.2 2-2c-.5 1.2.3 1 1-.2l1.6-2.9s.1-1.4-1-2zm-2.3-1.9s-1.1-1.6-1.2-3.1c-.1-1.6.6-1.4 1-.7s.9-1.2 1.6-2.3 1.4-.8 1 .4c-.2 1.1-.4 4.3.2 3s.8 1-.5 2q-1.8 1.3-2 .7zm31.4-16.5s-1-3.8-2.8-4c-2-.2-.8 1.5-1.3 1.5s-2 .1-3.6.6c-1.5.5-.5 1.8.2 2.2.7.3 2.4 1.3 1.8 1.2-.6 0-1.3 1.7 1 1.4q3.5-.4 4.7-2.9zm1.3.4s2.7-1.5 5.1-2c2.4-.3 2 .2.5 1-1.4 1-.5 1 1 1.4s3 2.1.7 2.2c-2.2 0-1.6 1.2-1.2 2 .5.7.7 1.6-.8.8-1.5-.7-7.5-4.4-5.3-5.4zm-17.6-1.8s3.8-1.5 4.2-2.7c.4-1.1-3 .7-2.1-1s1-4.4 0-3.4-1.8-1.1-1.7-2c.1-1-1.3-2.4-1.6-.6-.3 1.9-.5 2.8-1 1.8s-2.3-1-1.9.5c.5 1.5 1.5 2.7.6 2.1s-1 .7 0 1.6 1 1.7 1.8 2.4.7 1.7 1.7 1.3zm-5.9-4.4c0-2.4.4-3.4 1.1-5.1s-.3-4-.5-3.3-.5-1.7-1.5-2.5-1.6.1-1.5 1.3.1 2-.5 1.4-2.2-.3-1.8.7-.9 2.8-1 1c0-1.9-1.2-5.8-1.8-4.7-.5 1.2-1.8.2-2.9-.5s-1.3.7-1.2 1.3 1 2 0 1.7q-1.6-.4-.9 1.2a8 8 0 0 0 3.2 2.4c.8.1 1.9 1.4-.5 1.3-2.5-.1-2.7 2.2-1.4 1.9s-.4 1.3-1.6.8c-1.1-.5-3.6.4-1 1.4 2.7 1-1 2.1 2.4 2.3 3.5.1 7.8 1.2 9.7 0 2-1.1 1.7-2.6 1.7-2.6zm-2.5 6.4c-1.5-.1-3.1-2.6-4.4-2.4s-2.6.3-1 1c1.6.8.4 1.7-1.4 1.3-1.9-.3-4.5 0-3.3.2 1.1.3.8 1.1-.1 1.1s-1 2.3.3 1.6 4.7-.4 3.6.3c-1.1.8 0 1.8 1 1.2 1-.5 4-2.5 2.8-1.5s-1 2.8 1.2 1c2.2-2 6.2-3.6 1.3-3.8zm68.7 24.1c1.1 0 2-.2 1.3-.5q-1-.6 1.5-.4c1.6.3.6-1.2-.7-1-1.4 0 0-.8 1-1 1-.3.1-.9-1-.3s-1.1-.7 0-2.3c1-1.6-.6-.8-1.7 1-1 1.8-.8 1-1 0-.3-1.2-.7-.8-.8-.2s.2 2-.2 1.2c-.4-.7-.5.3 0 1.6.2.3-1.4-.9-1 .1s-.3 1.1 0 2.2.4 2 1.3 1.1 2-.8 1.3-1.6z"/> + <path d="M605 401.1c0-1.7 1.4-.2 1 .6s1 1.3 1.8 0 3-1.3 2.1 0c-1 1.4-.3.8 1 .5s3.4-.5 2.5.3q-1.6 1.2.5.9 2.1-.5 2.6.3t-1 1.2c-.7.4.4.7 1 1.8s.3.8-.9 1-1.1.5-1 1c.3.6 0 1.5-.8.8q-1.6-1-1.6-.1c.2.6-.2 2-1.2 1.3s-1.3.4-1.3.7c.1.8-1 .4-2.1-.5-1-.9-1.7-1.7-1.7-1 0 .8 0 .6-1-.5-.8-1.2-.6-2.8-2.4-2.8-1.8.1-1 .5-.6-.6s2.6-.6 3-4.9zm-8.5 9s2.8 1 1.5 2-2.1 2.3-1 2 2.7-.4 1.5.7 0 3 .5 2.3q.8-.9 1 1.4c.1 1.3 2.3 2.7 1.9.8-.5-2-.5-3.2.3-1.8.7 1.4 3.5 2.3 2.2.4-1.4-1.8-1.4-3.2-.4-2.4s3 1.5 2 .1-2.5-2.4-1.3-2.2 4.6 0 1.8-1q-4-1-2.3-1.1c1-.2 1-.8-.8-.8-2 0-1-1.5-3.2-1.2-2 .2-4.8.3-3.7.8z"/> + </g> + <path fill="url(#sh-ac-ac-J)" stroke-width=".5" d="M415.5 389.3c0-.6.3 0 .3 0-.1 7.4-1.7 14.4-2.7 21.7-.2 1.8-.4 7.7-.8 9.6l-.5 2.7-3.5-3.4 2-9.1c1.4-7.2 5.1-20.9 5.2-21.5z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-I)" stroke-width=".4" d="M507.4 446.7c-9-1.1-16.5.4-22.3 2.8 0 0 0-2 .9-4.4q1.6-3.6-.3-1.3c-1.2 1.7-2.3 6.4-2.3 6.4-8.6 4-13.3 9.5-13.3 9.5l1.5 1.8s0-1.7 7.1-6c9.5-1.2 10.9 3.3 11.5 6s2.2 5.4.6-1.4c-1.5-6.8-9.9-5.9-10-5.9l3.6-1.9c14.4-7.5 33.6-4.4 23-5.6zm-28.6 8.7 2-1.1z" transform="translate(316.5 145.5)scale(.58162)"/> + <g stroke-width=".5"> + <path fill="url(#sh-ac-ac-H)" d="m382.3 410.3-.1-.1q3.1 3.4 7 6.4 2.3 1.7 5.2 3l1.5-3.9q-2.3-.8-4.3-2.4-4-2.8-7.6-6.3c-1.2-1.3-2.4-10-1.4-14.5 1.1-4.5-2 1.5-1.8 5.8q.4 5.9.6 6.1l-5.6-5.8q-7.6-8-14.8-16.3s-1-.5-.5.4 8.8 12 13.4 17.8l5 6.1a46 46 0 0 0-16.1-.9c-5.5.5 1 .5 4.3.8 3 .4 11.3.4 14.4 3l.4.4zm.5-4.5 1 .9-.4-.3z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-C)" d="M362.2 433.6h-.1z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-B)" d="M350.3 430.7s-1.2-4.6-1.3-6.8c-.2-2.1-1.2-3.4-1.1.3s1 6.2 1 6.2h.2c-9.5-2-12.9-1.9-14.6-1.8-1.8 0-2 .2 4.2 1.2s27.3 6.8 30.7 8.4l1.6-1.9c-4.8-1.2-17.6-5-20.9-5.7z" transform="translate(316.5 145.5)scale(.58162)"/> + </g> + </g> + <path fill="url(#sh-ac-ac-bx)" d="M504.8 392.7c-1.6 14.4.8 27-1.8 33.8-2.5 6.9-10.4 2.7-14.6-1.4l-18-17.5a196 196 0 0 1-15.2-15.8c-2.4-3.5-8.6-10.9-14.2-18.3q-3.3-4.3-6-8.4c-6.2-9.4-8.8-17.7-11.4-21.5s-5.2-4.7-8.8-13-1-18.3-1.5-20.2c-.2-1-1.2-3.4-2.2-10-1-7.3-2-19.8-1.5-41 0-4.1 8-16.2 12.3-18l4.3-1.6a15 15 0 0 1 12.3.6c6.5 3.4 22.1 19.6 27.2 26.3a217 217 0 0 1 26.2 49.2c8.2 22.6 11 37.9 11 48-.1 10 3.5 14.4 2 28.8z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-S)" d="M439.6 393.6c.3-7.5 1.1-14.5 1.4-20 5.6 7.3 11.8 14.7 14.2 18.2 1.6 2.3 8.3 9 15.3 15.8 3 8.9-1 16 1.6 20.1a37 37 0 0 1 4.2 17c-.3 4.7 3 7.4 3 9-.1 1.5-.2 8.6-4 8.5-3.8-.2-11-3.8-13.8-6.6A64 64 0 0 1 452 441l-5.6-10.4a73 73 0 0 1-6.8-37" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-L)" d="M452 441c.5 1-7.6 6-9.5 7.5s-3.5 3.3-4.9 1.3c-1.3-2-6.7-7.5-8.5-25-1.8-17.4 3.3-37.6 3.3-37.6l7.2 6.4a73 73 0 0 0 6.8 37z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="#e6c7ac" d="M573 362.7q-.5 5-.9 11.7l-4.2-3.7c-27.7-25.5-27.2-46.5-26.8-52.3 1.4 1 3 3 5.2 4 4 1.9 9.6.3 9.3-2.2.5 3.9 1.1 5.3 1.2 5.8.3 1-1.2 6.9.9 11.7 2.1 4.9 3.6 5.4 5.1 7.6s3 7 6.7 12.5l3.5 5z"/> + <path fill="url(#sh-ac-ac-e)" d="M381 199c-1.8-1.4-3.3-2.3-2.3-2.8 0 0 10.8-8 19.8-3.2s23 14.8 23 24.5a45 45 0 0 0 4.7 22.3l-4.3 1.7c-4.4 1.7-12.2 13.8-12.3 17.8-.5 21.3.4 33.8 1.5 41.1.5 4.3-9.2 7-16 3.7-3.6-1.8-6.5-5-8.8-6.8q-2.5-2.3-4-1.1-.8.7-1.1 1.5c-1.2 2.2-6.5 18.4-7.8 23-1.4 4.6 1.5 6.1 1.3 9.6s2.5 6.7 0 14.3-8.8 9.2-10.5 6.8a259 259 0 0 1-12.5-21c-1.8-4 .7-15.2.5-21.3s2-22.7 5.2-24.5c3.2-1.7 6.1-8.6 13.5-15.2 7.4-6.7 12.2-5.8 12.9-8.3.6-2.6 5.9-3.3 5.9-3.3s.2-1.3 3.7-3.2l2.2-3.4c-1.4-4.4.7-12.8.7-12.8-4-4-12.6-13.6-13-18.3-.5-6.5-5-19.6-2.3-21zm18.9 5.8c.3-2.4.4-3.4-1.3-4.6-2-1.5-4.2-1.2-5.5-1-1.4.3 0 2.4 1.7 4.1s4.9 2.8 5 1.5z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="#f0ceb8" d="M548.3 261.9c1 .7.9 1.3.7 2.7 0 .8-2 .1-3-.9s-1.7-2.2-.9-2.3c.8-.2 2-.4 3.2.5m-1.8 1.2q.4-.2.3-.6t-.6-.3q-.4 0-.4.6.2.3.7.3"/> + <path fill="#f0ceb8" d="M546.8 262.5q0 .4-.3.6-.5 0-.7-.3 0-.4.4-.6.4 0 .6.3"/> + <g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".3"> + <path d="M545.6 275s-2.2-3.9-3.1-4.7c-.9-.7-1.6-4-1.7-5-.2-1.9-1.6-3.2-2.7-4-1.1-.9-2-1.4-1.4-1.7 0 0 6.3-4.6 11.5-1.9 5.3 2.8 13.4 8.6 13.5 14.3-.3 8 2.6 13 2.6 13"/> + <path d="m548 285.3-1-1.1c-2.3-2.4-7.4-8-7.6-10.7-.3-3.8-3-11.4-1.3-12.3m8.9 23s-1.3 4.8-.5 7.4l-1.2 2m8.1 0s-3.3-2.4-7.4-.4l-.7.3c-2 1.2-2.2 2-2.2 2s-3 .3-3.4 1.8-3.2 1-7.5 4.8c-4.3 4-6 8-7.9 9s-3.1 10.6-3 14.1c0 3.6-1.3 10-.3 12.4a131 131 0 0 0 7.3 12.2c1 1.4 4.6.5 6-4 1.5-4.3 0-6.2 0-8.2.2-2-1.5-3-.7-5.6.8-2.7 3.9-12 4.6-13.4l.6-.9c1-1.2 3-2.6 4.4-3.2 1.7-.8 8.1-5.4 8.1-5.4m4.3 11c-.7-4.2-1.2-11.4-1-23.8.1-2.4 4.7-9.4 7.2-10.4l2.5-1c2.1-.6 4.5-1 7.2.4 3.8 2 12.9 11.4 15.8 15.3s10.4 15.4 15.2 28.6c4.8 13.1 6.4 22 6.4 27.9s2.1 8.4 1.2 16.8.4 15.6-1 19.6c-1.6 4-6.1 1.6-8.6-.8l-10.4-10.1c-4-4-8-8-8.9-9.3-1.4-2-5-6.3-8.2-10.6l-3.5-4.9c-3.6-5.4-5.2-10.3-6.7-12.5s-3-2.7-5.1-7.6-.6-10.6-.9-11.7c0-.5-.7-2-1.2-5.8z"/> + <path d="M541.1 318.4c1.4 1 3 3 5.2 4 4 1.9 9.6.3 9.3-2.2m-16.8-2.5q1-.6 2.3.7m0 0c-.4 5.8-.9 26.8 26.8 52.3l4.2 3.7.2.1"/> + <path d="M573 362.7q-.5 5-.9 11.7c-.2 6.9.3 14.6 4 21.5l3.2 6c3.5 6.2 4.7 7.7 5.6 8.6 1.6 1.6 5.8 3.7 8 3.8s2.2-4 2.3-5-1.9-2.4-1.7-5.2a22 22 0 0 0-2.5-9.9c-1.4-2.4.8-6.5-1-11.6m-41.7-120.7c1 .7.9 1.3.7 2.7 0 .8-2 .1-3-.9s-1.7-2.2-.9-2.3c.8-.2 2-.4 3.2.5"/> + <path d="M546.8 262.5q0 .4-.3.6-.5 0-.7-.3 0-.4.4-.6.4 0 .6.3m21.1 108.2s-2.9 11.7-1.9 21.9 4.2 13.4 5 14.5 1.7 0 2.8-.8 5.8-3.7 5.5-4.3q0 0 0 0"/> + </g> + <path fill="url(#sh-ac-ac-g)" d="m409.8 273 5.3 29.3 1.9 14.6s1 9 4 13.5c3.1 4.5 7 10.3 11.3 18.8s7.5 15.3 24.1 34.8c16.7 19.6 26.6 30 26.6 30s14.2 14.3 17.7 15c1.2.5-1.5 1.4-2.7 1.3-1.2-.2-4.2-1-5.7-2.1s-24.7-23.4-24.7-23.4S456 394 440 372.1c-15.9-21.7-12.2-24.7-18.3-31a34 34 0 0 1-9-22l.6-8.6s-3.4-16.2-3.5-22.5z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="#f0955d" d="M568.3 340.8c-.8-3-4.7-10.4-5-11.7q-.5-2-1.4-1.5l-3 .9q.3 3.6 1 6.2c.8 2.7 4.8 7.6 5.5 8.9l1 2 1.3-.4c1.7-.6 1.4-1.4.6-4.4m-5.2-18.6c-.3-1.9-3.6-10.6-3.7-12.3-.2-1.6-1.2-2.1-2-1.9l-1.9.6c1 5.2 2.4 12.4 2.8 15.3q0 1.2.3 2.3c4.8-1.5 4.7-2.2 4.5-4m18.9 43c.1-1.4-5-6.7-6.9-9a20 20 0 0 1-4-7.7c-.2-1.9-.6-1.9-1.7-1.5l-2 .7a88 88 0 0 0 5.8 10.4l7.8 9.6c1.1-1 .9-1.5 1-2.5m25.7 28c.3-.3-6.1-6-8.9-8.6a88 88 0 0 1-10.2-12.5c-.8-1.8-1.6-1-2.4-.8l-1.5.8c3.3 4 6.3 7.6 7.4 8.7 2 2.1 10.7 11.4 14.5 13.7q1-.9 1.1-1.2z"/> + <g mask="url(#sh-ac-ac-be)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M433 335.8c-1.4-5-8.1-17.8-8.6-20.1s-1.3-2.9-2.3-2.6l-5.4 1.6c.5 4 1 7.8 1.9 10.6 1.3 4.6 8.3 13.1 9.5 15.3l1.8 3.6 2.1-.8c2.9-1 2.3-2.5 1-7.6m-9-31.9c-.4-3.3-6-18.3-6.4-21.2-.3-2.8-1.9-3.7-3.3-3.3l-3.3 1c1.7 9 4.2 21.5 4.8 26.3l.5 4c8.3-2.5 8.1-3.8 7.7-6.8m32.5 74c.3-2.5-8.6-11.6-11.8-15.5-3-4-6.6-10.2-7-13.4-.3-3.2-1-3.2-2.8-2.5l-3.4 1.2c3 5.9 7 14 10 17.9 2 2.7 7.4 9.4 13.3 16.5 2-1.6 1.6-2.6 1.7-4.3zm44.3 48.1c.5-.6-10.6-10.5-15.3-15a152 152 0 0 1-17.6-21.3c-1.4-3-2.7-1.8-4-1.4l-2.8 1.4c5.8 6.9 11 13 12.9 14.9 3.5 3.7 18.3 19.6 24.9 23.5 1.3-1 1.6-1.6 1.9-2z"/> + </g> + <path fill="#f0955d" d="M554.6 306.8c3.7-.4 4-1.7 3.8-3-.1-1.4-1.6-6-1.4-8.2 0-2.2 3.5-7.2 6.3-8.3 3.2-1.3 2.3-2.1 2-2.6 0 0-3.8 1.2-5.2 2.4a21 21 0 0 0-5.5 10.4c-.4 4.1 0 9.3 0 9.3"/> + <g mask="url(#sh-ac-ac-bu)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M409.5 277.4c6.3-.7 6.7-3 6.5-5.3s-2.7-10.2-2.5-14 6.1-12.4 11-14.3c5.3-2.1 3.9-3.6 3.3-4.4 0 0-6.5 2-8.8 4.1s-8.9 10.6-9.5 17.8c-.7 7.2 0 16 0 16z"/> + </g> + <path fill="#f0955d" d="M570.4 302.5q1.3-.4 3 .2l5 3c.7.1 1.7 2.4 1.7 2.4s.5 1.5.4 2.7l-.4 6.9a11 11 0 0 1-3.4 3c-1.6 1-7.8 3-9.1 3.3s-2.6-1.3-2.6-2.7-1-6.5-1.5-8c-.4-1.6-2.4-8-.3-8.7 2.2-.8 7.2-2 7.2-2z"/> + <g mask="url(#sh-ac-ac-bt)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M436.7 270c1.2-.3 3.5-.5 5.2.3 1.6.9 7.6 4.7 8.6 5 1 .4 2.8 4.3 2.8 4.3s.8 2.7.7 4.7-.3 11-.7 11.8c-.4.7-3 3.6-5.8 5.2a100 100 0 0 1-15.7 5.6c-2.2.4-4.5-2.3-4.5-4.6 0-2.4-1.8-11-2.5-13.8-.7-2.6-4.2-13.6-.5-15 3.7-1.3 12.4-3.4 12.4-3.4z"/> + </g> + <path fill="#fdf2e8" d="M556.4 282.5s-7.1.4-6.2 1.5 1.5 2.9 3 2.4 6.2-3.7 3.2-3.9"/> + <g fill="#d5ccc0"> + <path d="M537.5 264s.8-.5 1.3 1.8c.5 2.4 1.8 6.1 2.6 7.5.7 1.5 6.6 10 7.2 11s-.6 2.5-1 1.8c-.3-.6 0 3.3.4 4 .3.7.4 2.2 1.5 2.3 1 0 0 0 0 0s-3.4.4-3.5 2.2c0 1.7-2.5-.4-1.3 1.5 1.2 2 .4 5.4-.7 3.5-1-1.9-3.2-3.9-3.3-2.6s-1.2 1.5-1.6 1.6-3.4 1.6-5 3a65 65 0 0 0-6.9 7.2c-1.3 2-3.9 3.3-5.2 8.7-1.3 5.5 0 0 0 0s1-5.4 2-6.2c1-.9 4-4.6 4.9-5.6.8-1 4.6-5 6.8-6s4-1.8 4-2.2.9-1.4 1.9-1.7 1.2 0 1.6-.7 2.1-1.7 2.1-1.7l.7-1s.6-.4.4-1.2l.1-5.1c.1-1.4.6-1.8 0-2.3-.4-.6-4.5-4.8-5.7-7.2a20 20 0 0 1-2-6.4c0-1.4-1.3-6.2-1.3-6.2"/> + <path d="M548.8 311.2s1.2 0 2.7-.4c1.4-.3 3.4.2 3.3-1.5l-.2-12.1s-.6-2.3 2.4-6c3-3.9 4.1-5 5.1-5.4l.3-.1s-1.8-1.4-2-4.5c-.3-3-.7-9.3-1.1-6.7s.8 5.2-.8 6.1c-1.6 1-5.9 1.5-7.2 1s-2.6-2.8-2.6-2.8l-2.8-3.3c-.3-.5-1.4.4-.2 1.4s3 3 3.1 4c0 1-1 1.6 1 2.6 1.9 1 1.6.6 3.3.3s3.7-.8 4-1.1 1.7-.3.5.6c-1.1 1-2.7 3-4.4 3q-2.6.2-3.4-.5c-.6-.4-1.6-.3-.8.2s1.7 1 3.4 1.3c1.4.2 2.5.8 4.2-1.2 1.7-1.9 2.3-2.1 2.3-3.6s1.3 1.3.2 3.5-5 4-6.6 4.5-2.9 1.7-1.9 1.9 2.8 1 3 1.5 0 1-.8 2.5c-.8 1.6-3.6 10.9-5.6 13s-4.1 5.3-2.4 4.2l4.3-2.9m-11 7.5a54 54 0 0 0-7.1 14.6c-.5 3.3 2.6 5.3 2.3 8.5s-1.9 9.5-3.3 7.7-4.5-3.5-3.4-1.7c1.2 1.7 2 4.3 4 3 2.1-1.5 4.6-3.7 4.4-8.1s-.8-4.3-1-6.3a9 9 0 0 1-.5-3.4c.1-.9 4.7-14.3 4.7-14.3z"/> + <path d="M551.2 312s-.8 2.7-2 1.8-2.7 0-2.3.5.1 1.8-1.4 1.7q-2.2-.1-2.3.5c0 .6-.5 1.6-1.2 1.5s2 2.9 2.5 3.3l-4-3.4c-1-.8-1.7-.4-.5-1.4l8.4-5.3s.7 1.2 2.8.8"/> + </g> + <path fill="#fdf2e8" d="M542.5 270.3c.1-1.8 2.5-3.6 4.5-1.6s3 6.7 5.6 5.5 7-3.2 6.6-.7c-.6 2.4-3 5.3-5.1 5-2.2-.4-6.2-1.5-11.6-8.2m6.2 8.5c-.6-1.3 2.7.9 5.3.7s2.2 1 .8 1.5-2.6 1.1-3.3.7c-.8-.4-2.4-2-2.8-3zm6.8 8.3s-1.7 2.6-2.5 2.5-2-2.6-2-2.6 3.1 1.3 4.5 0zm-18.9-27s5.4-3 8.4-2.5 7.1 3.6 8 4.2c.8.6 3.1 3.7 4 3.5q1.4-.2-.5-1.9c-1.3-1-7.4-6.3-10.9-6.5s-7.3 1.8-8.1 2c-.8.3-.9 1.1-.9 1.1m24.8 13.3s-.8 1.5-.7 2.6c0 1 2 9.7 2 9.7l1.6-.4s-3.2-9-2.9-11.9"/> + <path fill="#d5ccc0" d="M554.7 309.3s-1.6.3-1.4 3.1.4 8-.5 8.8-7.6 1.3-5.2 1.6 6.7.4 7.7-1.3l.2-1.9z"/> + <path fill="#ad5f38" d="m569.8 302.7 5.2 2.8-7-2.4zm-4.9 1.3 6.1 2.6-8.2-1.7m-.6 1.9 7.3 1.6-7.1-.1m.5 2.5 11.6-1.7-10.8 5m.3 1 11.4-3.2-10.6 7.6m.1.9 10.8-6.1-10 8.8m1 .7 5.4-4.7-2.8 4.4m2.6-.8 4.7-6.7-1.8 5.6m2-1 2-3.9-.5 3"/> + <path fill="#f0955d" d="M576.4 289.1s-3.3 2-3.5 2.4c-.3.5-.5 5.8-.4 6s1.2 3 1.6 3.1c.3.2 7 4.1 7.5 4.2.5 0 3.7-.2 4.2-.4.4-.1 2.8-2 2.8-2"/> + <g mask="url(#sh-ac-ac-bs)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M447 247s-5.7 3.3-6.1 4c-.5.9-.8 10-.6 10.4.2.3 2 5 2.6 5.4.7.3 12.2 7 13 7.1 1 .1 6.4-.3 7.2-.6s4.8-3.4 4.8-3.4"/> + </g> + <path fill="#f0955d" d="M575.1 288s-2.4 2.3-3.4 2.5c-1 .1-7.3-.8-7.6-1.2-.4-.4 2.3-3 6.2-4.5"/> + <g mask="url(#sh-ac-ac-br)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M444.7 245s-4 4-5.8 4.3-12.6-1.4-13.1-2 3.9-5 10.6-7.8"/> + </g> + <path fill="#f0955d" d="m562.6 290.8 7.3.8c.6 0 1 2.9.9 5l-.3 4.3-9.3 3c-.5.1-1.9-4.1-1.7-7.5.2-3.3 2.5-5.7 3-5.6z"/> + <g mask="url(#sh-ac-ac-bq)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="m423.2 249.8 12.5 1.4c1 0 1.8 5 1.6 8.6l-.4 7.5-16.2 5c-.7.3-3.1-7-2.8-12.8.4-5.7 4.2-9.8 5.3-9.7"/> + </g> + <path fill="#f0955d" d="m590.7 305.7-5.8.5q-1.5.2-1.5 1.8c0 1.6-1 9-1.2 9.8s-.1 1.7 1.2 3c1.4 1.2 4 3.1 4.8 3.5.6.4 2.5 1 5 .2l6.6-2"/> + <g mask="url(#sh-ac-ac-bp)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M471.6 275.5s-8.4.6-10 .9q-2.6.4-2.7 3.1a263 263 0 0 1-2 16.8c-.4 1.3-.2 3 2.1 5a73 73 0 0 0 8.2 6.2 11 11 0 0 0 8.6.4l11.3-3.6"/> + </g> + <path fill="#f0955d" d="M578.2 322.4c.9-.4 2.3-1 3.7.2s4.8 5.5 5.2 6.2q.5.8.3 2.2l-.8 7.5c-.3 1.1-.7 3.1-3.2 4.2-2.5 1-8.6 4.5-10.8.3s-6.3-13.6-6.6-14.6q-.8-1.3 2-2.1z"/> + <g mask="url(#sh-ac-ac-bo)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M450.1 304.2c1.4-.7 3.8-1.7 6.3.3 2.4 2 8.3 9.6 9 10.7s.7 2 .4 3.8-1 10.8-1.4 12.8c-.5 2-1.2 5.4-5.4 7.3s-14.7 7.7-18.6.5a351 351 0 0 1-11.4-25c-.6-1.6.2-2.6 3.5-3.7z"/> + </g> + <path fill="#f0955d" d="M584.2 344.3c1.9-.8 4.3-1.3 5.4.7 1 2 4.3 8.2 5.4 9.6 1 1.4 1.6 6.2.1 7.5a73 73 0 0 1-7.3 5c-.8.4-3.5 0-4.2-2s-6.6-11.2-8.3-12.6c-1.6-1.3-1.6-4.4 1.1-5.1a84 84 0 0 0 7.8-3z"/> + <g mask="url(#sh-ac-ac-bn)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M460.4 342c3.2-1.5 7.4-2.4 9.2 1.1s7.5 14 9.3 16.5c1.7 2.4 2.8 10.6.3 12.8-2.6 2.2-11.2 8-12.6 8.6-1.4.7-6 0-7.4-3.4a120 120 0 0 0-14-21.6c-2.9-2.3-3-7.7 1.8-8.9a111 111 0 0 0 13.4-5.2z"/> + </g> + <path fill="#f0955d" d="M594.8 366.7c1.2-.5 1.5-.8 2.4 0 .8 1 7.9 7 9 7.8 1.3.8 1.3 1.4 1.2 2.7 0 1.4.7 9.1.6 10.8 0 1.6 0 2.1-1.8.5a182 182 0 0 1-12.8-13c-1-1.6-4.2-7.3-2.6-7.6s2.6-.7 4-1.2"/> + <g mask="url(#sh-ac-ac-bm)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M478.6 380.3c2-.8 2.6-1.3 4 .2a313 313 0 0 0 15.7 13.2c2.2 1.5 2.1 2.4 2 4.8-.2 2.3 1.2 15.6 1 18.4s0 3.8-3.2 1a312 312 0 0 1-22-22.4c-1.5-2.7-7.2-12.5-4.4-13s4.5-1.2 6.9-2.2"/> + </g> + <path fill="#f0955d" d="M610.1 373.1s-2.5-.2-3-.9-6.3-5.5-7.2-6.3q-1.6-1.1-1.6-2c0-.6 0-4.6-.2-5.5s1.1-1 2.3-1 8.5.5 8.5 1"/> + <g mask="url(#sh-ac-ac-bl)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M505 391.4s-4.5-.4-5.3-1.5-10.8-9.6-12.4-10.9-2.8-2.5-2.8-3.5 0-7.8-.3-9.4 2-1.8 4-1.7 14.6.8 14.7 1.6"/> + </g> + <path fill="#f0955d" d="m609 356.7-9.3-.4c-1.1-.1-1.6-1.1-2.5-2.9l-2.3-4q-.3-1 1.4-1.6c1-.3 7.4-2.6 10.5-5.2"/> + <g mask="url(#sh-ac-ac-bk)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M502.8 363.1s-13.8-.5-15.7-.7c-2-.2-2.8-1.8-4.4-4.9l-4-7c-.4-.9.7-2 2.4-2.6s12.7-4.5 18-9"/> + </g> + <path fill="#f0955d" d="M605.9 339.3s-2.6 2.9-5.4 4.2a30 30 0 0 1-5.3 2c-.8.1-2.2.2-3-.8-.9-1-2.3-2.5-2.8-2.8s0-1.8.2-3l1-11c0-.9.8-1 1.8-1.3s7.5-2.7 8-2.6"/> + <g mask="url(#sh-ac-ac-bj)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M497.6 333.2s-4.4 5-9.2 7.2a51 51 0 0 1-9 3.4c-1.5.3-3.9.5-5.3-1.2a39 39 0 0 0-4.8-4.8c-.8-.6.1-3.2.3-5.3s1.6-17.5 1.6-19c0-1.3 1.6-1.5 3.2-2s13-4.8 13.9-4.6"/> + </g> + <path fill="none" stroke="#af6d4a" stroke-miterlimit="10" stroke-width=".6" d="M565.3 284.7c.3.5 1.2 1.3-2 2.6-2.8 1-6.2 6.1-6.3 8.3-.2 2.2 1.3 6.8 1.4 8.1.1 1.4-.1 2.7-3.8 3"/> + <path fill="#ad5f38" d="M561.2 292h6.5l-5.3-1.2m-1.8 2 8.7.4-9.4 1m-.4 2.2 8.2-1.2-8 3.7m.1 1 7.6-2.3-7 5m2 .8 4.5-3.2-2 2.4m-.3-13.1 6-.7-4.5-1.7s-2.6 2.1-1.5 2.4m3.4-3.7 3.2 1.4-4.1-.8m4.4-1.1.5 1.1-2.2-1.4s.6-.1 1.7.3m2.7 5.2 1.3.3-2.4.4m-.4 1.3 1.6-.2-1.7 1.6m0 2.4 3-2-2.9 3.8m.6 1 5-2.5-3.4 4.5s-1.3-.8-1.6-2m4.7 3.8 1.6-5-3.2 4.2m3.6 1.8.9-4.5 1 5.4m1.5 0 .2-3.3 1.8 3m1.2-.5-.3-2.3 1.1 1.6m-.7 2.7 2 .7-5.2.5s1.4-1.3 3.2-1.2m-3.4 3 6-1-6.2 3m-.2 1.8 6.2-1.6-6.8 3.7m-.1 2 8-4-8.1 6.3m1.2 1.4 7.5-6.4-5.7 8m2.3 1.6 5.2-7-2 8.3m3-.7 2-6v5.4m2-.6.7-4 1.5 3.3zm-.2 1.7h2.2l-4.8.9m-2.6.8 6.5.3-8.2 2s.1-2.4 1.7-2.3m-2 4.3h8l-8 2.6m0 1.6 6.6-1.8-7.4 4.5m0 1.7 7.4-3.8-7.4 6.2m1.1 1 6.8-5.5-4.7 7.7m2.6.3 5.3-7.9-2 6.8m3-1.4 2.5-6.2.3 4.1m-5.6 6 5.3-.5-9.1 3s1.3-2.1 3.8-2.4zm-3.2 3.5 7.3-2.3-6.4 4m1 2.3 5.4-5.3-3.8 7m2.1.3 4.2-6.5-2.3 6.6m1.9.1 2.3-6.1-.7 6.2m-8.3 6.8 5-2.6-4.2 4.3m1.2 1.3 4.3-3.3-2.8 4.3m1.3 1.1 4.3-6.2-2.8 7.5m1.3 1.1 3.1-9.3-1.5 10.8m.9.4 1-6 .5 6.3m-37-48.6 6.3.7-12.7 2m-.7.5 13.4-.5-12.4 3 12.9-1.2-12.2 3m.6 2 13.4-3.2-12 5.3m1 3.1 9-5.7-7.6 8m1 1.8 9.1-7.6-6.1 9.3s-2.2-.3-3-1.7m4.5 1.6 6.4-9.1-3 8.1m2.7-1.2 1.6-5.9.7 4m-11.2 8 8.7-2.3-9 4.5 10.4-3.5-9 5.3s-1.3-1.2-1.1-4"/> + <path fill="#ad5f38" d="m575.6 352.8 10.8-3-9.4 4.8m.5.6 9.9-3.1-8.2 5.5m1 1.4 7.4-4.7-6 7.2m.7 1.1 6.7-7-6.1 8.4m.7 1.3 6.2-8.7-3.5 10.6s-1.9-.7-2.7-2zm4.5 1.6 2.8-8.4-.4 6.9m1.4-1 .9-4.9 1.2 3.6m-3.3 7.3 4.1-2.4-2.9 5m.6 1 4.3-3-3 5m1 1.3 4.2-5.5-2.9 6.8m1.5 1.6 3.8-6.8-2.2 8.4m1.1 1 3.3-8.1-1.5 9.9m1.8 1.8 1.6-10.6 1 12.9"/> + <path fill="#d5ccc0" d="M575.6 366.2s-2.5 12.3-.8 23.1-1.7-1.9-1.8-2.3a84 84 0 0 1 0-24.3zm9.3 44.3s9.4 5 8.6 1.3-2-4.5-2.4-6.4c-.5-1.8-.5-5 .6-3.8s.7-4-.5-5.5-3-6.2-2-6.2 1.2-3.8.7-5.1c-.4-1.4-4.7 2.8-10-13.1l10.1 10.8s1.3 3.2.6 6.9c-.6 3.6.9 5 1.6 7.4.7 2.3 1.6 6.3 1.3 7.6-.3 1.4 1.7 4 1.6 5.4s-.6 4.6-1.9 4.5c-1.2-.2-6.6-1.6-8.3-3.8"/> + <path fill="#fdf2e8" d="M589.8 389.1c.2-.6.6-1.8-.5-1.5-1.1.2-.5 2.5-.1 2.3q.4-.2.6-.8m2.6 12c0-.8 0-2-1-1.5s.3 2.5.6 2.3q.4-.2.4-.9z"/> + <path fill="#d5ccc0" d="M572.3 380.5s-1.1-4.6-3.5-3.2c-2.3 1.4-3 10.4-3 10.4s.1-9.1 2.3-16.9l4.2 3.7zm3 13.8s-2 12.4-3.3 11a49 49 0 0 1-6-13.3s1 8.1 4 13.6c1.8 3.3 3 1.6 4.7.3s4-2.6 4.6-4z"/> + <path fill="#c6ac95" d="M552.7 322.8s2 1.6 1.7 3.6-.9 4.2.5 7.4c1.5 3.2 2 6 3.6 8l6.3 7.4s-1.4-3.4-2.7-4.8c-1.3-1.5-5.4-6-5.4-10.5l.1-7.8-1.2-5.3s-1 2.1-2.9 2m-5.7.1s-5.5 2-5.5 4.8-.7-7.1-.4-9.1c0 0 4.2 3.9 5.9 4.3"/> + <path fill="#caa178" d="M552.4 323s1.2 2.5 1.3 5.2-5 3.8-8.1 3.9c-3.2 0-3.4-.2-3.4-.2s-1.6-10.2-1.1-13.3c0 0 3.4 3.4 6.2 4.2 2.7.7 5.1.1 5.1.1z"/> + <g mask="url(#sh-ac-ac-bi)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M405.7 305.1s2 4.4 2.2 9.1-8.5 6.6-14 6.6c-5.4.1-5.7-.2-5.7-.2s-2.9-17.6-2-23c0 0 6 6 10.6 7.2 4.8 1.3 8.9.3 8.9.3"/> + </g> + <path fill="#caa178" d="M542.6 333s4.7-.2 7.4-.6c2.7-.5 3.5.5 4 2s2.3 5.6 3 7c.6 1.3-.3 3.6-2 4.6l-5.6 2.5s-5-8.8-6.8-15.5"/> + <g mask="url(#sh-ac-ac-bh)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M389 322.5s7.9-.4 12.6-1.2 6 1 6.8 3.6c.8 2.5 4 9.6 5.2 12 1.1 2.3-.5 6.2-3.5 7.8s-9.6 4.5-9.6 4.5-8.7-15.3-11.6-26.7z"/> + </g> + <path fill="#caa178" d="m551.5 351.9 5.4-4.3c1-.8 2.6-.8 4.1 1.5s3.8 7.4 4.8 8.7q1.6 2.1.2 3.8l-3.1 4.2s-8-8.4-11.4-14z"/> + <g mask="url(#sh-ac-ac-bg)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M404.2 354.9s7.5-5.9 9.2-7.4c1.8-1.4 4.5-1.4 7 2.6 2.6 4 6.6 12.7 8.3 15s2 4.8.4 6.5-5.4 7.1-5.4 7.1-13.9-14.3-19.5-23.8"/> + </g> + <path fill="#caa178" d="M572.6 367.3c-2.1-3.4-3-5.5-4.2-4.8s-4.4 4.4-4.4 4.4l8.3 7.6z"/> + <g mask="url(#sh-ac-ac-aX)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M440.4 381.5c-3.6-5.9-5.2-9.6-7.3-8.4a57 57 0 0 0-7.4 7.7l14.2 13z"/> + </g> + <path fill="#c6ac95" d="m569.7 362.9 3 4.4.3-4.6s-5.3-6.7-6.1-8.6c0 0 0 3.9 1.1 5.6q.6.8 1 2.7.4 0 .7.5"/> + <path fill="#b28f6b" d="M569.7 362.9q-.4-.5-.6-.5c.5 2.5.6 5.8-1.7 7.8l4.9 4.3.4-7.2z"/> + <path fill="none" stroke="#9f8d79" stroke-miterlimit="10" stroke-width=".6" d="M549.3 286.2s4 2.5 6.4.7c4.2-3 3.5-8.4 3.5-8.4"/> + <g fill="#494037"> + <path d="M553.2 260.8c-1.2-.2-3 .8-2.2 1.3s.9 2.1 2 2q1.5-.4 1.3-2.5c0-1.4 0 0 0 0zm2.9 2.3s-2 2.6-1.2 3.6 2 1.8 2 1c-.2-.9 2.4-.3 2-1.7-.2-1.4 0 0 0 0zm-.6 7.6q1.2.4 1.4-.5c0-.8 1-.5 1.1-1.2 0-.7-1.5 0-2.4-.5-1-.3-2 0-2 .7s-.7 1.4.2 1.4zm5-2.5s-1.2 1-1.1 1.6 2.4 3.2 2.3 2.2-1.2-3.8-1.2-3.8m-9.5-8.9c0 1-2.6 1-3.2.4s-2-2.3.4-2c2.4.4 0 0 0 0zm-8.4-2.3c-.8.7-.2 1.1.6.8.7-.3 3.8-.4 2.4-1-1.5-.5-3 .2-3 .2m-1.6 3a3 3 0 0 0 1 3c1 .8 2.1.9 2-.4-.3-1.3-.4-2.2.5-2.1s1.9-1 0-1.1-3.4-.3-3.5.6m2.8 4.8c-.7-.1-2.4 2.6-1 2.7q2.4.1 1.8-1c-.5-.7 0-1.5-.8-1.7m2.4 1.3c.2-.6 1.8.2 1.8.8 0 .5.9 3-1.3 1.7q-.8-.6-.5-2.5m-2.8 3.4c.3.4 1.2 1 1.5 2s2.3.8 2.3.1.5-1.9-.5-2c-.7.3-2-.7-2.8-.9q-.7.2-.5.8m10.8 2.1c.3-.7 2.6-.4 2.4 1q-.2 2.5-1.1 2.4c-.7 0-.1-1-.2-1.7 0-.7-1.5-.8-1.1-1.7m3.2 2.9q.9.3 1-1c.1-1.3 1-.1 1.2-.7 0-.5-.5-1.1-1.2-.7s-2 2-1 2.4m4.4.8s-1-.2-1 .3-.1 2 .2 1.6 1-.1 1-.5zm-12.4-1.6c-.6.7-.5.3-.8 1s-1.7 1-1.5 0c.1-1.1-1-1.8-.2-2 .7-.1 2.6-.8 2.6-.3s.8.2 0 1.3zm1.4-1.3c.1.6.5 1.2-.1 1.8s1.3 1.6 1.9 1.4.5-1.2 0-1.3.2-1.8-.5-1.8c-.8 0-1.4-.7-1.3 0zm-1.8-2q.2 1 1.4.6c.7-.3 1.4-.7 1-1.5s-1-2.3-1.3-1.7-1 1.7-1 2.7zm3.3-3.9c.8 0 .2 1.5 1.1 1.2s.7-2 .1-2.2c-.5-.1-2.6-.1-2.6.6s.6.4 1.4.4m-2.6 9.2c-.3.4-1 1.2-.1 1.5s2-.4 1.6-.7c-.4-.4-1.1-1.3-1.5-.8m4.8 0c-.6.1-.7 1.7 0 1.7.5 0 2-.7 1.4-1s-.6-.8-1.4-.7m-4 13c.7.8 2.1 1 2.1.7s-.4-1.9-1-1.8c-.4 0-1.6.5-1 1.2zm3.9 1c.3-.3 1.4-.9 1.8-.7.4 0 .6 1.6-.1 1.6-.8 0-2.3-.3-1.7-.8zm-3 3c-.1-.7-.2-1.1.8-1.1 1.1 0 .9.7 1.4 1.2s.8 1-.5.5l-1.8-.6m7.8-6c0-.6-1.2-.4-1.1 0 0 .3 1.1.9 1.1 0m1.4-1.8c.1-.2.9-1.2 1-.8.2.5-.3.5-.5.8q-.5.4-.5 0m2.5-3.4c-.8-.3-1.4 1.2-.8 1.5.6.2 2.2 2.2 1.8 1.1m-9.5 17c-1-2.4-1.6-5-4.6-2.4s-3.8 4.9-1.5 5.3 4.7 1.8 5.5.2.6-3 .6-3zm-7-5.8c.4.4 1.1.3 1 1 0 .7 2.4.3 2-1.7s-4.2-.4-3 .7m-5.2 4.1a21 21 0 0 0-5.4-.2c-.5.2-.2 2.5 1.6 2.6s5.4-2 3.8-2.4m.2 3.7c-.4 1.7 1 2 2.3 1.2 1.2-.7 2-1.7 1.2-2.1s-3-1-3.5.9m4 9.6-3.5-3.4c-.8-1-.5-2.6 1.2-2.5s4.4 4.4 4.1 4.6m-5 3.2c-.2-1.5-2.2-4.4-5.3-5.2s-1.5.6-1.8-1-2.2-.2-3 .8q-1 1.6 1.7 1.9c1.7.2 5.9 3 6.5 4.6m-1.1-8.3c.2-1 1.2-2.8 1-3.5s-2.4-.6-3.5-1-2.3.5-2.2 1.5-1.3 1.5-.2 2 4.7 1.7 4.9 1m-5-7.4.7 2c.3 1-1.5 1.8-2.2 1.6s-3.1 1.4-3.4.5c-.2-1 3-2.6 4.9-4.1m-6 5.4s3.3-1.2 3.2.1-.2 3.5-1.3 3.6-2.6.7-3 1.4-2.8 1.2-3 0l4-5.1m15.3-11.2s1.8 0 1.3 1.3l-.4 1.6c0 .3-1.1-1-2.2-1.6m-3.4 2s.4.3.8 0c.3-.4.4-1.2 1-1s.5-.7.5-.7-1.5.3-2.3 1.6m4.7 3c.5 0 2-.3 1.5-1s-2.1-.5-2.1 0-.2 1.1.6 1m2.2-3.5q1 .3 1 1-.3.8-1.4.6c-.7 0-.2-1.7.4-1.6m-23.2 15.4c.9-.6 2.5-.3 2.4 1.2a9 9 0 0 1-1.5 4.2c-.6.7-2.5.8-2.3-.1zm5.1-.5c.5-.7 3.7-1 3 .2s-1 3-.5 3.2 1.5 2 .3 1.6-1.6-1.2-2.7-1.1c-1 0-1.5-1.8 0-3.9zm-3.9 7c.4 0 .6 1.3 1.1.8s.7 1.8-.4 1.6c-1-.2-.5 1.8-1.3 1.5-.7-.2-1-1.5-.4-2 .6-.3.2-1.8 1-1.8zm1.7-2.2c.2.6 1 1.8 1.8 1.9s4-.5 2.6-.8-2-1.7-3.2-1.6c0 0-1.8-.8-1.2.5"/> + <path d="M532.7 312.3c-.8.8 0 2.8 1 3 1.1.2.8 1.5 0 1.6-.9 0-2 2.6-2 2.7s1.4 2.6 2.2 2.8c.9.3 2.4 1.2 2.8.2l1.7-4.4 1.5-1.6s-.9-1.8-2.6-2.8-4.2-2-4.6-1.5m-5.8 8.3c0 1.2.7 2.3 2.4 2.3 1.8 0 2.7-2.8.1-3-2.6 0-2.5 0-2.5.7m4.5 2.4c-1-1-.9 2.8.5 3s1.4 2.1 2.1.9 2.6-3 .2-3.5c-2.4-.3-2 .3-2.8-.4m.4 3.9c.5.3 2 1.6 1.7 2.4s-.3 3.3-1 3.2c-.5 0-2.2.2-2-1.5s.6-4.5 1.3-4.1m-1.5 7.1c.3-.8 3-.5 3-.5l.6 1.9s.5 1.6.5 2.2-1.6 1-2.2.6a5 5 0 0 1-1.5-2.4c-.2-.8-.8-.6-.4-1.8m4.6 7c-.2-1.2-2-1.5-2.8-1-.9.4-.6.8-.2 2.1.5 1.3 1.2 3.5 2 2.7q1.5-1.2 1-3.7zm-6.6 8.8c.8.6 3 .2 2.8-2-.2-2-2.4-4.8-3.9-5.7s-3.4.5-3.1 1zm-7.3-12.2 2.4 4.3s1.7-1.6.9-2.6"/> + <path d="M524.3 339.3c-.9-1 .4-2.7-.7-2.8s-2.7.8-2.6 1.1m.3-5.2c0 1.3.2 2.6 1.7 2.3s.8-1.6 1-3.4c.4-1.7-.4-1.8-1.2-2-.8-.3-1.7-.3-1.8.6 0 .9.5.6.3 2.5m1.3-7.2c-.1 1.3-.7 2 .8 2.2s1.8.5 1.8-1c.1-1.5 1.6-1.2 1.4-.5-.3.8-.2 2 1 1.9 1.3-.1 4-1.1 2.7-2.3a6 6 0 0 0-5.2-1.7c-2.2.3-2.5 1.4-2.5 1.4m3.8 3.1c-1 .1-1.1 3-1.1 3.8s.2 2 1.5 2 2.4-.2 2.5-2.3-.5-3.7-3-3.5zm0 8.3c0 .5.3 2.1 1 2.9s2 1 2.4 1 1.1-1.2.8-1.8c-.2-.7-1.7-1.8-2-2.7-.2-.8-2.4-.7-2.2.6"/> + </g> + <g fill="none" stroke="#9f8d79" stroke-miterlimit="10" stroke-width=".6"> + <path d="M559.3 275.1s.4 5.7-1.6 6l-5.2.9c-1.5.2-3.5-2.5-3.9-3.4-.4-1-1.3-.8-3-3.6m9.1 35s-1.6 1.7-3.5 2-2.8-.8-2.8-.8m6.4 1.3s-3.2 3-5.7 2.8c-2.5 0-3-2.5-3-2.5"/> + <path d="m555 315.6-2.4 1.3c-.8.5-1.7 1.1-4.1 1s-4.6-2.3-6.3-2.9"/> + <path d="M539.7 316.5s2 .8 3.4 2.3 7.5 4.2 12.3.2m-4-9.9s1.5-1.1 1.9-1.2m.2 1s-.7-.2-1.5-.2"/> + </g> + <path fill="#494037" d="M547.8 307.6c1.4.5 1.4 3 2.4 2.3 1.1-.8 2.2-1.8 2-2.8s-2.8-2.6-4.2-2.2-1 2.4-.2 2.7"/> + <g fill="none" stroke-miterlimit="10" stroke-width=".6"> + <path stroke="#af6d4a" d="M576.4 289.1s-3.3 2-3.5 2.4c-.3.5-.5 5.8-.4 6s1.2 3 1.6 3.1c.3.2 7 4.1 7.5 4.2.5 0 3.7-.2 4.2-.4.4-.1 2.8-2 2.8-2M575 288s-2.4 2.4-3.4 2.6c-1 .1-7.3-.8-7.6-1.2-.4-.4 2.3-3 6.2-4.5m-7.7 6 7.3.8c.6 0 1 2.9.9 5l-.3 4.3-9.3 3c-.5.1-1.9-4.1-1.7-7.5.2-3.3 2.5-5.7 3-5.6zm28.1 14.9-5.8.5q-1.5.2-1.5 1.8c0 1.6-1 9-1.2 9.8s-.1 1.7 1.2 3c1.4 1.2 4 3.1 4.8 3.5.6.4 2.5 1 5 .2l6.6-2m-21.6-.1c.9-.4 2.3-1 3.7.2s4.8 5.5 5.2 6.2q.5.8.3 2.2l-.8 7.5c-.3 1.1-.7 3.1-3.2 4.2-2.5 1-8.6 4.5-10.8.3s-6.3-13.6-6.6-14.6c-.4-.9 0-1.5 2-2.1zm6 22c1.9-.9 4.3-1.4 5.4.6 1 2 4.3 8.2 5.4 9.6 1 1.4 1.6 6.2.1 7.5a73 73 0 0 1-7.3 5c-.8.4-3.5 0-4.2-2s-6.6-11.2-8.3-12.6c-1.6-1.3-1.6-4.4 1.1-5.1a84 84 0 0 0 7.8-3zm10.6 22.3c1.2-.5 1.5-.8 2.4 0 .8 1 7.9 7 9 7.8 1.3.8 1.3 1.4 1.2 2.7 0 1.4.7 9.1.6 10.8 0 1.6 0 2.1-1.8.5a182 182 0 0 1-12.8-13c-1-1.6-4.2-7.3-2.6-7.6s2.6-.7 4-1.2zM610 373s-2.5-.2-3-.9-6.3-5.5-7.2-6.3q-1.6-1.1-1.6-2c0-.6 0-4.6-.2-5.5s1.1-1 2.3-1 8.5.5 8.5 1m0-1.7-9.2-.4c-1.1-.1-1.6-1.1-2.5-2.9l-2.3-4q-.3-1 1.4-1.6c1-.3 7.4-2.6 10.5-5.2m-1-3.3s-2.5 2.9-5.3 4.2a30 30 0 0 1-5.3 2c-.8.1-2.2.2-3-.8-.9-1-2.3-2.5-2.8-2.8s0-1.8.2-3l1-11c0-.9.8-1 1.8-1.3s7.5-2.7 8-2.6"/> + <path stroke="#af6d4a" d="M565.3 284.7c.3.5 1.2 1.3-2 2.6-2.8 1-6.2 6.1-6.3 8.3-.2 2.2 1.3 6.8 1.4 8.1.1 1.4.7 2.6-2.9 3m15-4.2c.7-.2 2-.3 3 .2l5 3c.6.1 1.6 2.4 1.6 2.4s.5 1.5.4 2.7l-.4 6.9a11 11 0 0 1-3.4 3c-1.6 1-7.8 3-9.1 3.3s-2.6-1.3-2.6-2.7-1-6.5-1.5-8c-.4-1.6-2.4-8-.3-8.7 2.2-.8 7.2-2 7.2-2zm-2.2 38.3c-.8-3-4.7-10.4-5-11.7q-.5-2-1.4-1.5l-3 .9q.3 3.6 1 6.2c.8 2.7 4.8 7.6 5.5 8.9l1 2 1.3-.4c1.7-.6 1.4-1.4.6-4.4zm-5.2-18.6c-.3-1.9-3.6-10.6-3.7-12.3-.2-1.6-1.2-2.1-2-1.9l-1.9.6c1 5.2 2.4 12.4 2.8 15.3q0 1.2.3 2.3c4.8-1.5 4.7-2.2 4.5-4zm18.9 43c.1-1.4-5-6.7-6.9-9a20 20 0 0 1-4-7.7c-.2-1.9-.6-1.9-1.7-1.5l-2 .7a88 88 0 0 0 5.8 10.4l7.8 9.6c1.1-1 .9-1.5 1-2.5zm25.7 28c.3-.3-6.1-6-8.9-8.6a88 88 0 0 1-10.2-12.5c-.8-1.8-1.6-1-2.4-.8l-1.5.8c3.3 4 6.3 7.6 7.4 8.7 2 2.1 10.7 11.4 14.5 13.7q1-.9 1.1-1.2z"/> + <path stroke="#000" d="M554.6 303c.2 3 3.2 16.7 3.7 20.9s.8 8.1 1.6 10.8 4.8 7.6 5.5 8.9 5.1 10.9 7.8 14.5a583 583 0 0 0 19 22.7c2.4 2.6 15.2 16.4 16.2 13.9"/> + <path stroke="#b49578" d="M552.4 323s1.2 2.5 1.3 5.2-5 3.8-8.1 3.9c-3.2 0-3.4-.2-3.4-.2m0 1s5-.1 7.8-.5 3.5.5 4 2 2.3 5.6 3 7c.6 1.3-.3 3.6-2 4.6l-5.6 2.5m2.1 3.4 5.4-4.3c1-.8 2.6-.8 4.1 1.5s3.8 7.4 4.8 8.7q1.6 2.1.2 3.8c-1.4 1.7-3.3 4.5-3.3 4.5m1.3.8s3.2-3.7 4.4-4.4 2.1 1.4 4.2 4.8"/> + </g> + <path fill="#494037" d="M577.6 368.6c-1.2-.6-2.8-.4-2.2.8s2.7 3 3.6 3.1c1 0 1.1-.7.8-1zm-2.5 2.9c-1 .1-1.1 4.3-.7 5 .5.9 1.3 1.7 2.1.2s1.7-2.6 1-3.4c-.8-.8-2-1.9-2.4-1.8m-3 5.9c.2-.8-.1-4 1-2.7 1.2 1.4.2 4 1 4.3s2.4 1.3.8 2c-1.5.8-2.4 2.2-2.5 1.3zm1.9 6.3c0 1 .5 4.1 1.1 5s2.1 1.6 2.3.2.5-3 1-3.3c.7-.3-.2-1.3-1.9-2.2q-2.5-1.2-2.5.3m3 7.6c-.1 1 1.8 1.3 1.7 2.3 0 1 .4 3 1.3 2.5s1.2-2.3 1.3-2.8c0-.5-.2-2.3-1.5-2.8s-2.6-.9-2.8.8m4 5c-.6.2-.8 3.2-.1 3.8s2.3 1.3 2.2-.1.9-1.6 1-2.2-1-2.2-3-1.6zm.1-6.1c-.5.8.5 2.1 1 2.7s1 1.3 1.8.4 1.9-2.2.5-3.2q-2.1-1.6-3.3 0zm1.5-6.2c-.4 1-1.5 2.8-1 3.2s.9 1.2 1.9 1.2 2.9-1.3 3.2-1.8-1.5-2.2-2.2-3c-.6-.8-1.2-1-1.9.4m2.6 4.6c-.6.4.8 1.5.7 2.3 0 .9.1 1.7 1.7.8s3.3-1.6 2.1-2.9-2.4-1-3-1q-1 .3-1.5.8m5.3 3.5q0-.8-1.5.7c-1 1-3.3 2-2 2.3q2 .8 2 1.8c0 .5 1 1.9 1.5 1.4s2-.3 2-.3-2-4.4-2-6z"/> + <path fill="#494037" d="M585.7 394.5c-.5-.7-1-1.6-1.3-.3-.3 1.2-.7 2.2-.3 2.6s1.5.9 1.4 1.4c0 .4 2 1.1 2.2 0q0-1.7-.5-2.3c-.2-.3-1-.6-1.5-1.4m-1.8 5.1c-1 1-1 2.5-1 3.4 0 1 0 2.6.6 3.2s2.1 2.6 4 2.7q2.8.1 1.5-2.1c-.8-1.6-4-8.2-5.1-7.2m1 10.9s2.1-.5 3 .1c1 .6 1.4 1.5 2 1.9.5.4.8 1.4-.8.6-1.5-.7-4.2-2.6-4.2-2.6m8.3-10c-.8-1-1.2-1-2.6-1-1.5.1-2.9-1-3 .3s1.7 3.2 1.6 4 1.2 2.3 1.1 3c0 .9 1 1 1.7.5s1.7-.1 1.6-1.6zm1.1 8.4c-1-.3-2.4-.4-2.9-.1-.5.2-.9 1.3-.1 2.3.7 1 1.6-.6 2-.7.5-.2 1.9-1.2 1-1.5m-16.2-32.1c.2 1 2.8 3 3.1 1.7.4-1.2 1.6-2.5.7-3.5s-2.7-2-3-1.2-.9 2.5-.8 3m-1 2q-.5 1.3-.6 2.2c0 .5 1.3 1.6 1.7 1.7.5.2 2.3 3.1 2.7 2.5.3-.7 1.4-4.4.7-4.7-.8-.3-4.3-2.5-4.5-1.8zm7-2.2s-1.3.2-1.5 1.2-.4 1.8.6 2.8c1 1.1 2.8 2.3 3.5 1.7l1.4-1.7zm3.9 5.7c-1.5 0-2 1-1.1 1.4.9.6 1.9 1.5 2.1 2.2s1.4.3 1.4-1.2a2.5 2.5 0 0 0-2.4-2.4m-15.8 18c0-1.5-.2-4.7-1.2-2.8-1 1.8 1.5 6 1.2 2.8m-4.1-5c0 1 1.1 1.8 2 .4 1-1.3-.8-.4-.9-1.5 0-1-1 .2-1.1 1.2zm-.7-4c-.5-1 0-3 1-2.7.8.3 1.8 2 1.2 1.9-.7 0-1.4 2.4-2.2.9zm3.3 0c0 .7-.4 2.5.5 2.5s2-1.2 1.3-2.3c-.5-1.2-1.7-1-1.8-.1zm-3-11c.3 1.4 1.8 1.2 1.7 2.3 0 1.1-.6 4 .6 2.8a5 5 0 0 0 1.3-4.2c-.2-.8-.2-2.3-1-2.4-1 0-3-.3-2.5 1.6zm-1.7 3.4s1.3-1.7 1.5-.4 1.3 2.6 1.1 3c-.2.5-2.9 1.9-2.8.4z"/> + <g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".6"> + <path d="M545.6 275s-2.2-3.9-3.1-4.7c-.9-.7-1.6-4-1.7-5-.4-3.7-5.2-5-4.1-5.7 0 0 6.3-4.6 11.5-1.9 5.3 2.8 13.4 8.6 13.5 14.3-.3 8 2.6 13 2.6 13"/> + <path d="M548 285.3s-8.3-8.3-8.6-11.8c-.3-3.8-3-11.4-1.3-12.3"/> + <path d="M547 284.1s-1.3 4.9-.5 7.5l-1.2 2"/> + <path d="M553.4 293.5s-3.3-2.3-7.4-.3c-2.8 1.3-3 2.2-3 2.2s-3 .4-3.3 2c-.4 1.4-3.2.9-7.5 4.7-4.3 4-6 8-7.9 9s-3.1 10.6-3 14.1c0 3.6-1.3 10-.3 12.4a131 131 0 0 0 7.3 12.2c1 1.4 4.6.5 6-4 1.5-4.3 0-6.2 0-8.2.2-2-1.5-3-.7-5.6.8-2.7 3.9-12 4.6-13.4a13 13 0 0 1 5-4.1c1.7-.8 8.1-5.4 8.1-5.4m3.4-12.8c0-2.4 4.6-9.4 7.1-10.4s5.9-2.6 9.7-.6a81 81 0 0 1 15.8 15.3c3 4 10.4 15.4 15.2 28.6 4.8 13.1 6.4 22 6.4 27.9s2 8.4 1.2 16.8c-1 8.4.4 15.6-1 19.6-1.6 4-6.1 1.6-8.6-.8-2.4-2.4-17.3-16.5-19.3-19.4s-8.1-10-11.7-15.5-5.2-10.3-6.7-12.5-3-2.7-5.1-7.6-.6-10.6-.9-11.7c-.2-1.1-2.7-6.2-2.1-29.7z"/> + <path d="M538.8 317.7c1.4-1.3 3.9 2.9 7.5 4.6 4 2 9.6.4 9.3-2.1"/> + <path d="M541.1 318.4c-.5 6-1 28.9 31.2 56.1"/> + <path d="M573 362.7c-.5 8.4-2.9 21.9 3 33.2s7.7 13.5 8.9 14.6c1.6 1.6 5.8 3.7 8 3.8s2.2-4 2.3-5-1.9-2.4-1.7-5.2a22 22 0 0 0-2.5-9.9c-1.4-2.4.8-6.5-1-11.6"/> + </g> + <path d="M548.3 261.8c1 .8 1 1.4.8 2.8-.1.7-2 0-3-1s-1.8-2.2-1-2.3 2-.3 3.2.5"/> + <path fill="#fff" d="M546.8 262.5q0 .4-.3.6-.5 0-.7-.3 0-.4.4-.6.4 0 .6.3"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".6" d="M568 370.7s-3 11.7-2 21.9 4.2 13.4 5 14.5 1.6 0 2.8-.8 5.9-3.7 5.5-4.4"/> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M609 357c0-5.8-1.7-14.7-6.5-27.8a126 126 0 0 0-15.2-28.6c-3-4-12-13.3-15.8-15.3-2.7-1.4-5-1-7.2-.3 0 0-2.9-5-2.6-13-.1-5.7-8.2-11.5-13.5-14.3-5.2-2.7-11.5 1.9-11.5 1.9-.6.3 0 1 1 1.8-1.5.8 1.4 8.3 1.7 12 .2 2.8 5.3 8.3 7.6 10.7 0 0-.4 1.5-.6 3.3l-.6 3.1c-2.4-2.5-11.1-11.3-18-12.6-8-1.6-13.2-.2-15.6 1.7-2.1 1.8-8.5 6.8-10.6 11.3h12a10 10 0 0 1 7-2c7 .3 8 2.8 7.6 3.4s-.6 2.5 2.2 3.8a9 9 0 0 1 4 4.3l-2.2 1.7c-4.3 4-6 8-7.9 9s-3.1 10.6-3 14.1c0 3.6-1.3 10-.3 12.4a131 131 0 0 0 7.3 12.2c1 1.4 4.6.5 6-4 1.5-4.3 0-6.2 0-8.2.2-2-1.5-3-.7-5.6.8-2.7 3.9-12 4.6-13.4q0-.5.6-.9l1.9.3.4.4c-.4 5.8-.9 26.8 26.8 52.3 0 0-2.9 11.8-1.9 21.9s4.2 13.4 5 14.5 1.7 0 2.8-.8 5.9-3.7 5.5-4.4c3.4 6.2 4.7 7.7 5.6 8.6 1.6 1.6 5.8 3.7 8 3.8s2.2-4 2.3-5-1.9-2.4-1.7-5.2a22 22 0 0 0-2.5-9.9c-1.4-2.4.8-6.5-1-11.6l10.5 10c2 2.1 5.7 4.2 7.7 2.3l.2-.2.6-1.2c1.5-4 .1-11.2 1-19.6s-1.1-11-1-16.8z"/> + <path fill="url(#sh-ac-ac-bw)" d="M12.5 392.7c1.6 14.4-.7 27 1.9 33.8 2.5 6.9 10.4 2.7 14.5-1.4l18-17.5a196 196 0 0 0 15.2-15.8c2.4-3.5 8.7-10.9 14.3-18.3q3.2-4.3 6-8.4c6.1-9.4 8.8-17.7 11.4-21.5s5.2-4.7 8.8-13 1-18.3 1.5-20.2c.2-1 1.2-3.4 2.2-10 1-7.3 2-19.8 1.5-41.1 0-4-8-16.1-12.3-17.8l-4.3-1.7a15 15 0 0 0-12.3.6 139 139 0 0 0-27.2 26.3A217 217 0 0 0 25.5 316c-8.3 22.6-11 37.9-11 48 0 10-3.5 14.4-2 28.8z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-D)" d="M77.7 393.6c-.2-7.5-1-14.5-1.3-20-5.6 7.3-11.9 14.7-14.3 18.2a196 196 0 0 1-15.2 15.8c-3 8.9 1 16-1.6 20.1a37 37 0 0 0-4.2 17c.2 4.7-3 7.4-3 9 .1 1.5.2 8.6 4 8.5 3.8-.2 11-3.8 13.8-6.6a64 64 0 0 0 9.5-14.6l5.6-10.4a73 73 0 0 0 6.7-37" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="url(#sh-ac-ac-E)" d="M65.4 441c-.5 1 7.5 6 9.5 7.5s3.5 3.3 4.8 1.3c1.4-2 6.7-7.5 8.5-25 1.8-17.4-3.2-37.6-3.2-37.6l-7.3 6.4a73 73 0 0 1-6.7 37z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="#e6c7ac" d="m360.9 362.7.8 11.7 4.2-3.7c27.7-25.5 27.3-46.5 26.8-52.3-1.3 1-3 3-5.2 4-3.9 1.9-9.5.3-9.2-2.2-.6 3.8-1.2 5.3-1.3 5.8-.3 1 1.3 6.9-.9 11.7-2 4.9-3.6 5.4-5.1 7.6s-3 7-6.7 12.5l-3.4 5z"/> + <path fill="url(#sh-ac-ac-F)" d="M135.1 296.2q.7.7 1 1.5a336 336 0 0 1 7.9 23c1.3 4.6-1.5 6.1-1.3 9.6s-2.5 6.7 0 14.3 8.8 9.2 10.5 6.7 10.7-16.8 12.4-21c1.8-4-.6-15.1-.4-21.2s-2-22.7-5.2-24.5c-3.2-1.7-6.2-8.6-13.5-15.2-7.4-6.7-12.2-5.8-13-8.3-.6-2.6-5.8-3.3-5.8-3.3s-.2-1.3-3.7-3.2l-2.2-3.4c1.4-4.4-.7-12.8-.7-12.8 3.9-4 12.5-13.6 13-18.3.5-6.5 5-19.6 2.3-21 1.8-1.5 3.2-2.4 2.3-3 0 0-10.8-7.9-19.8-3-9 4.7-23 14.7-23.1 24.4a45 45 0 0 1-4.6 22.3l4.3 1.7c4.3 1.7 12.2 13.8 12.3 17.8.5 21.3-.5 33.8-1.5 41.1-.6 4.3 9.1 7 16 3.7 3.5-1.8 6.5-5 8.8-6.8q2.5-2.3 4-1.1m-17.6-91.4c-.3-2.4-.4-3.4 1.3-4.6 2-1.5 4.1-1.2 5.4-1 1.4.3.1 2.4-1.6 4.1s-5 2.8-5 1.5z" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="#f0ceb8" d="M385.5 261.9c-1 .7-.9 1.3-.7 2.7.1.8 2 .1 3-.9s1.7-2.2 1-2.3c-.8-.2-2.1-.4-3.3.5m1.8 1.2q-.4-.2-.3-.6t.6-.3q.5 0 .4.6-.2.3-.7.3"/> + <path fill="#f0ceb8" d="M387 262.5q0 .4.3.6.5 0 .7-.3 0-.4-.4-.6-.4 0-.6.3"/> + <g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".3"> + <path d="M388.2 275s2.3-3.9 3.1-4.7c.9-.7 1.6-4 1.8-5a6 6 0 0 1 2.7-4c1-.9 1.9-1.4 1.3-1.7 0 0-6.2-4.6-11.5-1.9-5.3 2.8-13.3 8.6-13.4 14.3.2 8-2.7 13-2.7 13"/> + <path d="m385.8 285.3 1-1.2c2.3-2.3 7.4-7.9 7.6-10.6.3-3.8 3-11.4 1.4-12.3"/> + <path d="M386.9 284.1s1.2 4.9.4 7.5l1.2 2m-8.1 0s3.3-2.4 7.4-.4l.7.3c2.1 1.2 2.2 2 2.2 2s3 .3 3.5 1.8c.3 1.5 3.2 1 7.4 4.8 4.3 4 6 8 8 9 1.8 1 3 10.6 3 14.1-.2 3.6 1.2 10 .2 12.4a131 131 0 0 1-7.3 12.2c-1 1.4-4.6.5-6-4-1.5-4.3 0-6.2 0-8.2-.2-2 1.5-3 .7-5.6-.8-2.7-3.9-12-4.5-13.4l-.7-.9c-1-1.2-3-2.6-4.4-3.2-1.7-.8-8.1-5.4-8.1-5.4m-4.2 11c.6-4.2 1.1-11.4.9-23.8 0-2.4-4.7-9.4-7.2-10.4l-2.5-1c-2-.6-4.5-1-7.2.4a81 81 0 0 0-15.8 15.3c-3 4-10.4 15.4-15.2 28.6a85 85 0 0 0-6.4 27.9c0 5.8-2 8.4-1.2 16.8 1 8.4-.4 15.6 1.1 19.6s6 1.6 8.5-.8l10.4-10.1c4.1-4 8-8 8.9-9.3 1.4-2 5-6.3 8.3-10.6l3.4-4.9c3.6-5.4 5.2-10.3 6.7-12.5s3-2.7 5.1-7.6c2.2-4.8.6-10.6.9-11.7 0-.5.7-2 1.3-5.8z"/> + <path d="M392.7 318.4c-1.3 1-3 3-5.2 4-3.9 1.9-9.5.3-9.2-2.2m16.7-2.5q-.9-.6-2.3.7m0 0c.5 5.8 1 26.8-26.8 52.3l-4.2 3.7-.2.1"/> + <path d="m360.9 362.7.8 11.7c.2 6.9-.3 14.6-4 21.5l-3.2 6a37 37 0 0 1-5.5 8.6 17 17 0 0 1-8 3.8c-2.3 0-2.3-4.1-2.4-5 0-.9 1.9-2.4 1.7-5.2a22 22 0 0 1 2.5-9.9c1.5-2.4-.8-6.5 1-11.6m41.7-120.7c-1 .7-.9 1.3-.7 2.7.1.8 2 .1 3-.9s1.7-2.2 1-2.3c-.8-.2-2.1-.4-3.3.5"/> + <path d="M387 262.5q0 .4.3.6.5 0 .7-.3 0-.4-.4-.6-.4 0-.6.3m-21 108.2s3 11.7 1.9 21.9c-1 10.1-4.2 13.3-5 14.5s-1.6 0-2.8-.8-5.8-3.7-5.5-4.3q0 0 0 0"/> + </g> + <path fill="url(#sh-ac-ac-G)" d="m107.6 273-5.3 29.3c-.2.7-2 14.6-2 14.6s-1 9-4 13.5-6.9 10.3-11.2 18.8c-4.4 8.5-7.5 15.3-24.2 34.8-16.6 19.6-26.4 30-26.4 30s-14.2 14.3-17.8 15c-1.2.5 1.6 1.4 2.8 1.3 1.2-.2 4.1-1 5.7-2.1 1.5-1.1 24.6-23.4 24.6-23.4s11.7-10.8 27.6-32.6c15.9-21.7 12.2-24.7 18.3-31a34 34 0 0 0 8.9-22l-.5-8.6s3.4-16.2 3.5-22.5v-15" transform="translate(316.5 145.5)scale(.58162)"/> + <path fill="#f0955d" d="M365.5 340.8c.8-3 4.7-10.4 5-11.7q.5-2 1.4-1.5l3.1.9q-.4 3.6-1 6.2c-.8 2.7-5 7.6-5.6 8.9l-1 2-1.3-.4c-1.7-.6-1.4-1.4-.6-4.4m5.2-18.6c.3-1.9 3.6-10.6 3.8-12.3q.3-2.3 2-1.9l1.8.6c-1 5.2-2.4 12.4-2.8 15.3l-.2 2.3c-4.9-1.5-4.8-2.2-4.6-4m-18.9 43c-.1-1.4 5-6.7 6.9-9a19 19 0 0 0 4-7.7c.3-1.9.6-1.9 1.7-1.5l2 .7a88 88 0 0 1-5.8 10.4c-1.2 1.6-4.3 5.5-7.8 9.6-1-1-.9-1.5-1-2.5m-25.7 28c-.3-.3 6.1-6 8.9-8.6a88 88 0 0 0 10.2-12.5c.8-1.8 1.6-1 2.4-.8l1.6.8c-3.4 4-6.4 7.6-7.5 8.7-2 2.1-10.7 11.4-14.5 13.7q-1-.9-1.1-1.2z"/> + <g mask="url(#sh-ac-ac-bd)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M84.4 335.8c1.3-5 8-17.8 8.5-20.1s1.3-2.9 2.4-2.6l5.4 1.6c-.5 4-1 7.8-1.9 10.6-1.3 4.6-8.3 13.1-9.5 15.3l-1.8 3.6-2.1-.8c-3-1-2.4-2.5-1-7.6m9-31.9c.4-3.3 6-18.3 6.3-21.2.4-2.8 2-3.7 3.4-3.3l3.3 1c-1.7 9-4.2 21.5-4.8 26.3l-.5 4c-8.3-2.5-8.2-3.8-7.7-6.8m-32.6 74c-.2-2.5 8.7-11.6 11.8-15.5s6.7-10.2 7-13.4c.4-3.2 1-3.2 2.9-2.5l3.3 1.2c-2.9 5.9-7 14-9.9 17.9-2 2.7-7.4 9.4-13.4 16.5-1.9-1.6-1.5-2.6-1.7-4.3zM16.6 426c-.5-.6 10.5-10.5 15.3-15 4.7-4.3 16.2-18.3 17.6-21.3 1.3-3 2.7-1.8 4-1.4l2.7 1.4a404 404 0 0 1-12.8 14.9c-3.5 3.7-18.4 19.6-25 23.5-1.3-1-1.5-1.6-1.8-2z"/> + </g> + <path fill="#f0955d" d="M379.2 306.8c-3.6-.4-4-1.7-3.8-3s1.6-6 1.4-8.2c0-2.2-3.5-7.2-6.3-8.3-3.1-1.3-2.3-2.1-2-2.6 0 0 3.9 1.2 5.2 2.4a21 21 0 0 1 5.5 10.4c.4 4.1 0 9.3 0 9.3"/> + <g mask="url(#sh-ac-ac-bc)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M107.9 277.4c-6.3-.7-6.8-3-6.5-5.3s2.7-10.2 2.4-14c-.2-3.8-6-12.4-11-14.3-5.3-2.1-3.8-3.6-3.2-4.4 0 0 6.5 2 8.8 4.1s8.9 10.6 9.5 17.8 0 16 0 16z"/> + </g> + <path fill="#f0955d" d="M363.4 302.5c-.7-.2-2-.3-3 .2l-5 3c-.7.1-1.7 2.4-1.7 2.4s-.5 1.5-.4 2.7.2 6.4.4 6.9a11 11 0 0 0 3.4 3c1.6 1 7.8 3 9.1 3.3s2.6-1.3 2.6-2.7 1-6.5 1.5-8c.4-1.6 2.5-8 .3-8.7-2.1-.8-7.2-2-7.2-2z"/> + <g mask="url(#sh-ac-ac-bb)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M80.7 270a7 7 0 0 0-5.2.3c-1.7.9-7.7 4.7-8.7 5-1 .4-2.7 4.3-2.7 4.3s-.8 2.7-.7 4.7c0 2 .3 11 .6 11.8.4.7 3 3.6 5.9 5.2a100 100 0 0 0 15.7 5.6c2.2.4 4.4-2.3 4.5-4.6 0-2.4 1.8-11 2.5-13.8.7-2.6 4.2-13.6.5-15-3.7-1.3-12.4-3.4-12.4-3.4z"/> + </g> + <path fill="#fdf2e8" d="M377.4 282.5s7.1.4 6.3 1.5c-1 1.1-1.6 2.9-3 2.4-1.5-.5-6.3-3.7-3.3-3.9"/> + <g fill="#d5ccc0"> + <path d="M396.4 264s-.8-.5-1.4 1.8a41 41 0 0 1-2.5 7.5c-.8 1.5-6.6 10-7.3 11s.6 2.5 1 1.8 0 3.3-.3 4c-.4.7-.5 2.2-1.5 2.3-1.1 0 0 0 0 0s3.3.4 3.4 2.2c0 1.7 2.5-.4 1.3 1.5-1.2 2-.4 5.4.7 3.5 1-1.9 3.2-3.9 3.3-2.6.2 1.3 1.2 1.5 1.6 1.6s3.4 1.6 5 3a68 68 0 0 1 6.9 7.2c1.3 2 3.9 3.3 5.2 8.7 1.3 5.5 0 0 0 0s-1-5.4-2-6.2c-1-.9-4-4.6-4.8-5.6-.9-1-4.7-5-6.9-6s-3.9-1.8-4-2.2c0-.5-.8-1.4-1.9-1.7s-1.2 0-1.6-.7a9 9 0 0 0-2.1-1.7l-.6-1s-.7-.4-.5-1.2 0-3.8-.1-5.1c0-1.4-.6-1.8 0-2.3.4-.6 4.5-4.8 5.7-7.2a20 20 0 0 0 2-6.4c0-1.4 1.4-6.2 1.4-6.2"/> + <path d="M385 311.2s-1.2 0-2.7-.4c-1.4-.3-3.4.2-3.2-1.5l.1-12.1s.6-2.3-2.4-6c-3-3.9-4.1-5-5.1-5.4l-.3-.1s1.8-1.4 2-4.5c.3-3 .7-9.3 1.2-6.7s-.9 5.2.7 6.1c1.6 1 5.9 1.5 7.2 1s2.6-2.8 2.6-2.8l2.8-3.3c.3-.5 1.4.4.2 1.4s-3 3-3.1 4c0 1 1 1.6-1 2.6-1.9 1-1.6.6-3.2.3s-3.7-.8-4-1.1-1.7-.3-.6.6c1.1 1 2.7 3 4.5 3q2.5.2 3.3-.5c.6-.4 1.6-.3.8.2s-1.7 1-3.4 1.3c-1.3.2-2.5.8-4.2-1.2-1.7-1.9-2.3-2.1-2.3-3.6s-1.3 1.3-.2 3.5 5 4 6.7 4.5c1.5.6 2.8 1.7 1.8 1.9s-2.8 1-3 1.5 0 1 .8 2.5c.9 1.6 3.7 10.9 5.6 13 2 2.1 4.2 5.3 2.5 4.2l-4.4-2.9m11 7.5a54 54 0 0 1 7.2 14.6c.5 3.3-2.7 5.3-2.4 8.5s1.9 9.5 3.3 7.7 4.5-3.5 3.4-1.7c-1.1 1.7-2 4.3-4 3-2-1.5-4.6-3.7-4.4-8.1s.8-4.3 1-6.3q.6-2.1.5-3.4c0-.9-4.7-14.3-4.7-14.3z"/> + <path d="M382.7 312s.7 2.7 1.9 1.8 2.8 0 2.3.5 0 1.8 1.4 1.7q2.2-.1 2.3.5c0 .6.5 1.6 1.2 1.5s-2 2.9-2.5 3.3l4-3.4c1-.8 1.7-.4.5-1.4s-8.4-5.3-8.4-5.3-.7 1.2-2.7.8"/> + </g> + <path fill="#fdf2e8" d="M391.3 270.3c-.1-1.8-2.5-3.6-4.5-1.6s-3 6.7-5.5 5.5c-2.7-1.2-7.2-3.2-6.6-.7.5 2.4 2.9 5.3 5 5 2.2-.4 6.2-1.5 11.6-8.2m-6.2 8.5c.6-1.3-2.6.9-5.3.7s-2.2 1-.8 1.5 2.6 1.1 3.3.7c.8-.4 2.4-2 2.8-3zm-6.8 8.3s1.8 2.6 2.5 2.5c.8-.2 2-2.6 2-2.6s-3.1 1.3-4.5 0zm19-27s-5.5-3-8.5-2.5-7 3.6-8 4.2c-.8.6-3.1 3.7-4 3.5q-1.3-.2.5-1.9c1.3-1 7.4-6.3 10.9-6.5s7.3 1.8 8.1 2c.8.3 1 1.1 1 1.1m-25 13.3s1 1.5.8 2.6c0 1-2 9.7-2 9.7l-1.6-.4s3.2-9 2.9-11.9z"/> + <path fill="#d5ccc0" d="M379.1 309.3s1.6.3 1.4 3.1c-.1 2.9-.3 8 .5 8.8s7.6 1.3 5.2 1.6-6.7.4-7.6-1.3c-1-1.7 0 0 0 0l-.3-1.9z"/> + <path fill="#ad5f38" d="m364 302.7-5.2 2.8 7.1-2.4zm4.9 1.3-6.1 2.6 8.2-1.7m.6 1.9-7.3 1.6 7.2-.1m-.5 2.5-11.7-1.7 10.8 5m-.2 1-11.5-3.2 10.6 7.6m0 .9-10.9-6.1 10 8.8m-1 .7-5.4-4.7 2.8 4.4m-2.6-.8-4.7-6.7 1.8 5.6m-2-1-2-3.9.5 3"/> + <path fill="#f0955d" d="M357.4 289.1s3.3 2 3.5 2.4c.3.5.5 5.8.4 6s-1.2 3-1.6 3.1c-.3.2-7 4.1-7.5 4.2-.5 0-3.7-.2-4.2-.4-.4-.1-2.8-2-2.8-2"/> + <g mask="url(#sh-ac-ac-ba)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M70.4 247s5.7 3.3 6 4c.5.9.8 10 .7 10.4-.2.3-2 5-2.7 5.4-.6.3-12.1 7-13 7.1-.8.1-6.3-.3-7-.6-.9-.2-5-3.4-5-3.4"/> + </g> + <path fill="#f0955d" d="M358.7 288s2.4 2.3 3.4 2.5c1 .1 7.3-.8 7.6-1.2.4-.4-2.2-3-6.1-4.5"/> + <g mask="url(#sh-ac-ac-a9)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M72.6 245s4.2 4 5.9 4.3 12.5-1.4 13.1-2-3.9-5-10.6-7.8"/> + </g> + <path fill="#f0955d" d="m371.2 290.8-7.2.8c-.6 0-1 2.9-1 5l.3 4.3 9.4 3c.4.1 1.8-4.1 1.6-7.5-.2-3.3-2.5-5.7-3-5.6z"/> + <g mask="url(#sh-ac-ac-a8)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="m94.2 249.8-12.5 1.4c-1 0-1.8 5-1.6 8.6l.4 7.5 16.1 5c.8.3 3.2-7 2.8-12.8-.3-5.7-4.2-9.8-5.2-9.7"/> + </g> + <path fill="#f0955d" d="m343 305.7 6 .5q1.4.2 1.4 1.8c.1 1 1 9 1.2 9.8s.1 1.7-1.2 3c-1.4 1.2-4 3.1-4.7 3.5s-2.6 1-5 .2l-6.7-2"/> + <g mask="url(#sh-ac-ac-a7)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M45.8 275.5s8.3.6 10 .9q2.6.4 2.7 3.1a263 263 0 0 0 2 16.8c.4 1.3.2 3-2.2 5a73 73 0 0 1-8 6.2 11 11 0 0 1-8.7.4l-11.4-3.6"/> + </g> + <path fill="#f0955d" d="M355.6 322.4c-.9-.4-2.3-1-3.7.2a47 47 0 0 0-5.2 6.2q-.5.8-.3 2.2c.2 1 .6 6.3.9 7.5.2 1.1.6 3.1 3.1 4.2 2.5 1 8.6 4.5 10.8.3s6.3-13.6 6.6-14.6q.8-1.3-2-2.1z"/> + <g mask="url(#sh-ac-ac-a6)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M67.3 304.2c-1.5-.7-3.9-1.7-6.3.3s-8.3 9.6-9 10.7-.7 2-.5 3.8c.3 1.7 1 10.8 1.5 12.8s1.1 5.4 5.4 7.3c4.2 1.8 14.7 7.7 18.6.5s10.8-23.4 11.4-25-.2-2.6-3.5-3.7c-3.4-1.1-17.6-6.7-17.6-6.7"/> + </g> + <path fill="#f0955d" d="M349.6 344.3c-1.9-.8-4.3-1.3-5.3.7s-4.4 8.2-5.5 9.6-1.6 6.2-.1 7.5c1.4 1.3 6.4 4.6 7.3 5s3.5 0 4.3-2 6.6-11.2 8.2-12.6c1.6-1.3 1.6-4.4-1.1-5.1a84 84 0 0 1-7.8-3z"/> + <g mask="url(#sh-ac-ac-a5)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M57 342c-3.2-1.5-7.4-2.4-9.2 1.1s-7.5 14-9.3 16.5c-1.8 2.4-2.8 10.6-.3 12.8s11.1 8 12.5 8.6c1.5.7 6 0 7.4-3.4 1.4-3.5 11.4-19.3 14.2-21.6s2.8-7.7-2-8.9c-4.6-1.2-13.3-5.2-13.3-5.2z"/> + </g> + <path fill="#f0955d" d="M339 366.7c-1.1-.5-1.5-.8-2.4 0-.8 1-7.9 7-9 7.8-1.3.8-1.3 1.4-1.2 2.7 0 1.4-.7 9.1-.6 10.8 0 1.6 0 2.1 1.8.5s12-11.4 12.8-13c1-1.6 4.2-7.3 2.6-7.6s-2.6-.7-4-1.2"/> + <g mask="url(#sh-ac-ac-a4)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M38.8 380.3c-2-.8-2.6-1.3-4.1.2A313 313 0 0 1 19 393.7c-2.2 1.5-2.1 2.4-2 4.8.1 2.3-1.2 15.6-1 18.4s0 3.8 3.1 1 20.5-19.7 22-22.4c1.6-2.7 7.2-12.5 4.5-13a28 28 0 0 1-6.9-2.2z"/> + </g> + <path fill="#f0955d" d="M323.7 373.1s2.5-.2 3-.9 6.3-5.5 7.2-6.3q1.6-1.1 1.7-2l.1-5.5c.2-1-1.1-1-2.3-1s-8.5.5-8.5 1"/> + <g mask="url(#sh-ac-ac-a3)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M12.4 391.4s4.4-.4 5.2-1.5S28.5 380.3 30 379c1.6-1.3 3-2.5 2.9-3.5s0-7.8.3-9.4-2-1.8-4-1.7-14.7.8-14.7 1.6"/> + </g> + <path fill="#f0955d" d="m324.9 356.7 9.2-.4c1.1-.1 1.6-1.1 2.5-2.9l2.3-4q.3-1-1.3-1.6a38 38 0 0 1-10.5-5.2"/> + <g mask="url(#sh-ac-ac-a2)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M14.5 363.1s13.8-.5 15.8-.7 2.7-1.8 4.4-4.9l4-7c.4-.9-.7-2-2.4-2.6a68 68 0 0 1-18-9"/> + </g> + <path fill="#f0955d" d="M328 339.3a19 19 0 0 0 10.6 6.1c.8.2 2.2.3 3-.7.9-1 2.3-2.5 2.8-2.8s0-1.8-.2-3c0-1.2-1-10.2-1-11 .1-.9-.8-1-1.8-1.3s-7.5-2.7-8-2.6"/> + <g mask="url(#sh-ac-ac-a1)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M19.8 333.2A33 33 0 0 0 38 343.8c1.4.3 3.9.5 5.3-1.2a39 39 0 0 1 4.7-4.8c.9-.6 0-3.2-.3-5.3l-1.6-19c0-1.3-1.5-1.5-3.2-2-1.6-.6-13-4.8-13.8-4.6"/> + </g> + <path fill="none" stroke="#af6d4a" stroke-miterlimit="10" stroke-width=".6" d="M368.6 284.7c-.4.5-1.2 1.3 1.9 2.6 2.8 1 6.2 6.1 6.3 8.3.2 2.2-1.2 6.8-1.4 8.1-.1 1.4.2 2.7 3.8 3"/> + <path fill="#ad5f38" d="M372.6 292h-6.5l5.3-1.2m1.8 2-8.7.4 9.4 1m.4 2.2-8.2-1.2 8 3.7m-.1 1-7.6-2.3 7 5m-2 .8-4.5-3.2 2 2.4m.3-13.1-6-.7 4.5-1.7s2.6 2.1 1.5 2.4m-3.4-3.7-3.1 1.4 4-.8m-4.4-1.1-.5 1.1 2.2-1.4s-.6-.1-1.7.3m-2.7 5.2-1.3.3 2.4.4m.4 1.3-1.5-.2 1.6 1.6m0 2.4-3-2 2.9 3.8m-.5 1-5-2.5 3.3 4.5s1.4-.8 1.7-2m-4.7 3.8-1.6-5 3.1 4.2M354 304l-1-4.5-1 5.4m-1.5 0-.1-3.3-2 3m-1-.5.2-2.3-1 1.6m.6 2.7-2 .7 5.2.5s-1.3-1.3-3.2-1.2m3.4 3-6-1 6.2 3m.2 1.8-6.2-1.6 6.8 3.7m.1 2-8-4 8.2 6.3m-1.3 1.4-7.4-6.4 5.6 8m-2.3 1.6-5.2-7 2 8.3m-3-.7-2-6v5.4m-2-.6-.7-4-1.5 3.3zm.2 1.7h-2.2l4.8.9m2.6.8-6.4.3 8.1 2s-.1-2.4-1.7-2.3m2 4.3h-8l8 2.6m.1 1.6-6.7-1.8 7.4 4.5m0 1.7-7.4-3.8 7.4 6.2m-1.1 1-6.8-5.5 4.8 7.7m-2.7.3-5.3-7.9 2 6.8m-3-1.4-2.5-6.2-.3 4.1m5.6 6-5.3-.5 9.1 3s-1.3-2.1-3.8-2.4zm3.2 3.5L331 348l6.4 4m-1 2.3L331 349l3.7 7m-2.1.3-4.1-6.5 2.2 6.6m-1.9.1-2.3-6.1.7 6.2m8.3 6.8-5-2.6 4.2 4.3m-1.2 1.3-4.3-3.3 2.8 4.3m-1.3 1.1-4.2-6.2 2.7 7.5m-1.3 1.1-3-9.3 1.4 10.8m-.9.4-1-6-.5 6.3m37.1-48.6-6.4.7 12.7 2m.7.5-13.4-.5 12.4 3-12.9-1.2 12.2 3m-.6 2-13.4-3.2 12 5.3m-1 3.1-8.9-5.7 7.5 8m-1 1.8-9.1-7.6 6.2 9.3s2-.3 3-1.7zm-4.5 1.6-6.3-9.1 3 8.1m-2.8-1.2-1.5-5.9-.8 4m11.2 8-8.7-2.3 9 4.5-10.4-3.5 9 5.3s1.3-1.2 1.1-4"/> + <path fill="#ad5f38" d="m358.2 352.8-10.7-3 9.3 4.8m-.5.6-9.9-3.1 8.2 5.5m-1 1.4-7.4-4.7 6 7.2m-.7 1.1-6.6-7 6 8.4m-.7 1.3-6.1-8.7 3.4 10.6s2-.7 2.7-2zm-4.5 1.6-2.8-8.4.4 6.9m-1.4-1-.9-4.9-1.1 3.6m3.2 7.3L339 368l2.9 5m-.6 1-4.3-3 3.1 5m-1 1.3-4.3-5.5 2.9 6.8m-1.5 1.6-3.8-6.8 2.2 8.4m-1.1 1-3.3-8.1 1.5 9.9m-1.8 1.8-1.6-10.6-1 12.9"/> + <path fill="#d5ccc0" d="M358.2 366.2s2.6 12.3.9 23.1 1.6-1.9 1.7-2.3a84 84 0 0 0 0-24.3zm-9.2 44.3s-9.5 5-8.7 1.3 2-4.5 2.4-6.4c.5-1.8.5-5-.6-3.8-1 1.2-.7-4 .5-5.5s3-6.2 2-6.2c-.8 0-1.1-3.8-.7-5.1.5-1.4 4.7 2.8 10-13.1l-10.1 10.8s-1.2 3.2-.6 6.9c.6 3.6-.9 5-1.6 7.4-.6 2.3-1.6 6.3-1.2 7.6.3 1.4-1.8 4-1.7 5.4 0 1.4.7 4.6 2 4.5 1.2-.2 6.5-1.6 8.3-3.8"/> + <path fill="#fdf2e8" d="M344 389.1c-.1-.6-.6-1.8.5-1.5 1.1.2.5 2.5.2 2.3q-.5-.2-.7-.8m-2.6 12c0-.8 0-2 1-1.5s-.3 2.5-.6 2.3q-.4-.2-.4-.9z"/> + <path fill="#d5ccc0" d="M361.5 380.5s1.1-4.6 3.5-3.2 3 10.4 3 10.4-.1-9.1-2.3-16.9l-4.2 3.7zm-3 13.8s2 12.4 3.4 11a49 49 0 0 0 6-13.3s-1 8.1-4 13.6c-1.8 3.3-3 1.6-4.7.3s-4-2.6-4.7-4z"/> + <path fill="#c6ac95" d="M381.1 322.8s-2 1.6-1.7 3.6.9 4.2-.5 7.4c-1.5 3.2-1.9 6-3.6 8l-6.3 7.4s1.4-3.4 2.7-4.8c1.3-1.5 5.4-6 5.4-10.5l-.1-7.8 1.2-5.3s1 2.1 2.9 2m5.8.1s5.4 2 5.4 4.8.7-7.1.4-9.1c0 0-4.2 3.9-5.8 4.3"/> + <path fill="#caa178" d="M381.4 323s-1.2 2.5-1.3 5.2c0 2.8 5 3.8 8.1 3.9 3.2 0 3.4-.2 3.4-.2s1.6-10.2 1.1-13.3c0 0-3.4 3.4-6.1 4.2-2.8.7-5.2.1-5.2.1z"/> + <g mask="url(#sh-ac-ac-a0)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M111.7 305.1s-2 4.4-2.2 9.1 8.5 6.6 14 6.6c5.4.1 5.7-.2 5.7-.2s2.8-17.6 2-23c0 0-6 6-10.7 7.2s-8.8.3-8.8.3"/> + </g> + <path fill="#caa178" d="M391.2 333s-4.7-.2-7.4-.6c-2.7-.5-3.5.5-4 2s-2.3 5.6-3 7c-.6 1.3.3 3.6 2 4.6l5.6 2.5s5-8.8 6.8-15.5"/> + <g mask="url(#sh-ac-ac-aZ)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M128.5 322.5s-8-.4-12.7-1.2-6 1-6.8 3.6c-.8 2.5-4 9.6-5.2 12-1.1 2.3.5 6.2 3.5 7.8s9.5 4.5 9.5 4.5 8.8-15.3 11.7-26.7"/> + </g> + <path fill="#caa178" d="m382.3 351.9-5.4-4.3c-1-.8-2.6-.8-4 1.5-1.6 2.3-3.9 7.4-4.9 8.7q-1.5 2.1-.2 3.8c1 1 3.1 4.2 3.1 4.2s8.1-8.4 11.4-14z"/> + <g mask="url(#sh-ac-ac-bf)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="m113.2 354.9-9.3-7.4c-1.7-1.4-4.5-1.4-7 2.6s-6.5 12.7-8.3 15c-1.7 2.3-2 4.8-.3 6.5s5.4 7.1 5.4 7.1 13.8-14.3 19.5-23.8"/> + </g> + <path fill="#caa178" d="M361.2 367.3c2.1-3.4 3-5.5 4.2-4.8s4.4 4.4 4.4 4.4l-8.3 7.6z"/> + <g mask="url(#sh-ac-ac-aY)" opacity=".4" transform="translate(316.5 145.5)scale(.58162)"> + <path fill="#652e11" d="M77 381.5c3.6-5.9 5.1-9.6 7.2-8.4a57 57 0 0 1 7.5 7.7l-14.2 13z"/> + </g> + <path fill="#c6ac95" d="m364.1 362.9-3 4.4-.2-4.6s5.2-6.7 6-8.6c0 0 0 3.9-1.1 5.6q-.6.8-1 2.7-.3 0-.7.5"/> + <path fill="#b28f6b" d="M364.1 362.9q.4-.5.7-.5c-.6 2.5-.7 5.8 1.6 7.8l-4.9 4.3-.4-7.2z"/> + <path fill="none" stroke="#9f8d79" stroke-miterlimit="10" stroke-width=".6" d="M384.5 286.2s-4 2.5-6.4.7c-4.2-3-3.5-8.4-3.5-8.4"/> + <g fill="#494037"> + <path d="M380.6 260.8c1.3-.2 3 .8 2.2 1.3s-.9 2.1-2 2q-1.5-.4-1.3-2.5c0-1.4 0 0 0 0zm-2.9 2.3s2 2.6 1.2 3.6-2 1.8-2 1c.2-.9-2.4-.3-2-1.7zm.7 7.6q-1.4.4-1.4-.5c0-.8-1.2-.5-1.2-1.2s1.5 0 2.4-.5c1-.3 2 0 2 .7s.7 1.4-.2 1.4zm-5-2.5s1.1 1 1 1.6c0 .6-2.3 3.2-2.2 2.2s1.1-3.8 1.1-3.8m9.6-8.9c-.2 1 2.5 1 3.2.4.6-.7 1.9-2.3-.5-2-2.4.4 0 0 0 0zm8.3-2.3c.8.7.2 1.1-.6.8-.7-.3-3.8-.4-2.3-1 1.4-.5 2.9.2 2.9.2m1.7 2.9a3 3 0 0 1-1 3c-1 .8-2 .9-1.9-.4s.3-2.2-.6-2.1-1.9-1 0-1.1 3.4-.3 3.5.6m-2.8 4.8c.7-.1 2.4 2.6 1 2.7-1.4 0-2.3-.2-1.8-1 .6-.7 0-1.5.8-1.7m-2.4 1.3c-.2-.6-1.8.2-1.8.8 0 .5-.9 3 1.3 1.7q.9-.6.5-2.5m2.8 3.4c-.3.4-1.2 1-1.5 2s-2.3.8-2.3.1-.5-1.9.5-2c.7.3 2-.7 2.8-.9q.9.2.5.8m-10.7 2.1c-.4-.7-2.7-.4-2.5 1q.3 2.5 1.1 2.4c.7 0 .2-1 .2-1.7s1.6-.8 1.2-1.7m-3.3 2.9q-.9.3-1-1c-.1-1.3-1-.1-1.2-.7 0-.5.5-1.1 1.2-.7s2 2 1 2.4m-4.4.8s1-.2 1 .3.2 2-.2 1.6-1-.1-1-.5zm12.4-1.6c.6.7.5.3.8 1s1.7 1 1.5 0c-.1-1.1 1-1.8.2-2-.7-.1-2.6-.8-2.6-.3s-.7.2 0 1.3zm-1.4-1.3c0 .6-.5 1.2.1 1.8s-1.2 1.6-1.9 1.4-.5-1.2 0-1.3-.2-1.8.5-1.8c.8 0 1.4-.7 1.3 0zm1.8-2q-.2 1-1.4.6c-.7-.3-1.4-.7-1-1.5s1-2.3 1.3-1.7q.8 1 1.1 2.7zm-3.2-3.9c-1 0-.3 1.5-1.2 1.2s-.7-2-.1-2.2c.5-.1 2.6-.1 2.6.6s-.6.4-1.3.4m2.6 9.2c.2.4.9 1.2 0 1.5s-2-.4-1.6-.7c.4-.4 1.1-1.3 1.6-.8m-5 0c.7.1.8 1.7.2 1.7s-2-.7-1.5-1 .6-.8 1.4-.7zm4 13c-.6.8-2 1-2 .7s.5-1.9 1-1.8 1.6.5 1 1.2zm-3.8 1c-.3-.3-1.3-.9-1.7-.7-.4 0-.7 1.6 0 1.6.8 0 2.4-.3 1.7-.8zm3.1 3c0-.7.2-1.1-1-1.1-1 0-.7.7-1.2 1.2s-1 1 .5.5zm-7.8-6c0-.6 1.2-.4 1.1 0 0 .3-1.1.9-1.1 0m-1.4-1.8c-.1-.2-.9-1.2-1-.8-.2.5.3.5.5.8q.5.4.5 0m-2.5-3.4c.8-.3 1.4 1.2.8 1.5-.6.2-2.2 2.2-1.8 1.1m9.5 17c1-2.4 1.7-5 4.7-2.4s3.8 4.9 1.4 5.3c-2.3.4-4.7 1.8-5.5.2s-.6-3-.6-3zm7-5.8c-.4.4-1.1.3-1 1 0 .7-2.4.3-2-1.7s4.2-.4 3 .7m5.2 4.1c1.8-.3 5-.4 5.4-.2s.3 2.5-1.5 2.6-5.4-2-3.9-2.4m-.2 3.7c.5 1.7-1 2-2.2 1.2-1.3-.7-2.1-1.7-1.3-2.1s3.1-1 3.5.9m-4 9.6s2.7-2.4 3.5-3.4c.9-1 .5-2.6-1.2-2.5s-4.4 4.4-4.1 4.6m5 3.2c.2-1.5 2.2-4.4 5.3-5.2s1.6.6 1.8-1c.3-1.6 2.2-.2 3 .8q1 1.6-1.7 1.9c-1.7.2-5.9 3-6.4 4.6m1-8.3c-.2-1-1.2-2.8-1-3.5s2.4-.6 3.6-1c1.1-.5 2.2.5 2.2 1.5s1.3 1.5 0 2c-1.1.5-4.6 1.7-4.7 1zm5-7.4-.7 2c-.2 1 1.5 1.8 2.2 1.6s3.1 1.4 3.4.5c.2-1-3-2.6-4.9-4.1m6 5.4s-3.3-1.2-3.2.1.2 3.5 1.3 3.6 2.6.7 3 1.4c.5.7 2.8 1.2 3 0l-4-5.1M389.4 294s-1.8 0-1.4 1.3l.4 1.6c0 .3 1.1-1 2.2-1.6m3.4 2s-.4.3-.8 0c-.3-.4-.4-1.2-1-1s-.5-.7-.5-.7 1.5.3 2.3 1.6m-4.7 3c-.5 0-2-.3-1.5-1s2.1-.5 2.2 0c0 .4 0 1.1-.7 1m-2.2-3.5q-1 .3-.9 1c0 .6.8.6 1.4.6s.1-1.7-.5-1.6m23.2 15.4c-.9-.6-2.5-.3-2.3 1.2a9 9 0 0 0 1.4 4.2c.6.7 2.5.8 2.3-.1zm-5.1-.5c-.5-.7-3.7-1-3 .2s1.1 3 .5 3.2-1.5 2-.3 1.6 1.6-1.2 2.7-1.1c1 0 1.5-1.8.1-3.9m4 7c-.5 0-.7 1.3-1.2.8s-.6 1.8.4 1.6.6 1.8 1.3 1.5c.7-.2 1-1.5.4-2-.5-.3-.2-1.8-1-1.8zm-1.8-2.2c-.2.6-1 1.8-1.8 1.9s-4-.5-2.6-.8 2.1-1.7 3.2-1.6c0 0 1.8-.8 1.2.5"/> + <path d="M401.1 312.3c.8.8 0 2.8-1 3s-.8 1.5 0 1.6c.9 0 2 2.6 2 2.7s-1.3 2.6-2.2 2.8c-.9.3-2.4 1.2-2.8.2l-1.7-4.4-1.5-1.6s.9-1.8 2.6-2.8 4.2-2 4.6-1.5m5.8 8.3c0 1.2-.6 2.3-2.4 2.3s-2.7-2.8-.1-3c2.6 0 2.6 0 2.5.7m-4.5 2.4c1-1 .9 2.8-.5 3s-1.4 2.1-2 .9c-.8-1.2-2.7-3-.3-3.5 2.4-.3 2 .3 2.8-.4m-.4 3.9c-.5.3-2 1.6-1.7 2.4s.4 3.3 1 3.2 2.2.2 2-1.5-.6-4.5-1.3-4.1m1.5 7.1c-.3-.8-3-.5-3-.5l-.6 1.9s-.5 1.6-.5 2.2 1.6 1 2.2.6 1.4-1.7 1.5-2.4c.2-.8.8-.6.4-1.8m-4.6 7c.3-1.2 2-1.5 2.9-1s.5.8 0 2.1-1 3.5-2 2.7q-1.3-1.2-.9-3.7zm6.6 8.8c-.8.6-3 .2-2.8-2 .2-2 2.4-4.8 4-5.7 1.4-1 3.3.5 3 1zm7.3-12.2-2.3 4.3s-1.8-1.6-1-2.6"/> + <path d="M409.6 339.3c.8-1-.5-2.7.6-2.8s2.7.8 2.6 1.1m-.3-5.2c0 1.3-.2 2.6-1.7 2.3s-.8-1.6-1-3.4c-.4-1.7.4-1.8 1.2-2 .8-.3 1.7-.3 1.8.6s-.4.6-.3 2.5m-1.3-7.2c.2 1.3.7 2-.8 2.2s-1.7.5-1.8-1-1.6-1.2-1.3-.5c.2.8.1 2-1 1.9-1.3-.1-4-1.1-2.7-2.3a6 6 0 0 1 5-1.7c2.3.3 2.6 1.4 2.6 1.4m-3.8 3.1c1 .1 1.1 3 1.1 3.8s-.2 2-1.5 2-2.4-.2-2.5-2.3.5-3.7 3-3.5zm0 8.3c0 .5-.3 2.1-1 2.9s-2 1-2.3 1c-.4 0-1.2-1.2-1-1.8.3-.7 1.9-1.8 2.1-2.7.3-.8 2.4-.7 2.3.6z"/> + </g> + <g fill="none" stroke="#9f8d79" stroke-miterlimit="10" stroke-width=".6"> + <path d="M374.5 275.1s-.4 5.7 1.6 6l5.2.9c1.5.2 3.5-2.5 4-3.4.3-1 1.3-.8 2.9-3.6m-9.1 35s1.6 1.7 3.5 2 2.8-.8 2.8-.8m-6.4 1.3s3.2 3 5.7 2.8c2.5 0 3-2.5 3-2.5"/> + <path d="m378.8 315.6 2.4 1.3c.8.5 1.7 1.1 4.2 1 2.3-.1 4.5-2.3 6.2-2.9"/> + <path d="M394.1 316.5s-2 .8-3.4 2.3-7.5 4.2-12.3.2m4-9.9-1.8-1.2m-.3 1s.7-.2 1.5-.2"/> + </g> + <path fill="#494037" d="M386 307.6c-1.4.5-1.3 3-2.4 2.3s-2.2-1.8-2-2.8 2.9-2.6 4.2-2.2 1 2.4.2 2.7"/> + <g fill="none" stroke-miterlimit="10" stroke-width=".6"> + <g stroke="#af6d4a"> + <path d="M357.4 289.1s3.3 2 3.5 2.4c.3.5.5 5.8.4 6s-1.2 3-1.6 3.1c-.3.2-7 4.1-7.5 4.2-.5 0-3.7-.2-4.2-.4-.4-.1-2.8-2-2.8-2m13.5-14.5s2.4 2.4 3.4 2.6c1 .1 7.3-.8 7.6-1.2.4-.4-2.2-3-6.1-4.5m7.6 6-7.2.8c-.6 0-1 2.9-1 5l.3 4.3 9.4 3c.4.1 1.8-4.1 1.6-7.5-.2-3.3-2.5-5.7-3-5.6zm-28.1 14.9 5.8.5q1.5.2 1.5 1.8c.1 1 1 9 1.2 9.8s.1 1.7-1.2 3c-1.4 1.2-4 3.1-4.7 3.5s-2.6 1-5 .2l-6.7-2m21.6-.1c-.9-.4-2.3-1-3.7.2a47 47 0 0 0-5.2 6.2q-.5.8-.3 2.2c.2 1 .6 6.3.9 7.5.2 1.1.6 3.1 3.1 4.2 2.5 1 8.6 4.5 10.8.3s6.3-13.6 6.6-14.6c.4-.9 0-1.5-2-2.1zm-6 22c-1.9-.9-4.3-1.4-5.3.6s-4.4 8.2-5.5 9.6-1.6 6.2-.1 7.5c1.4 1.3 6.4 4.6 7.3 5s3.5 0 4.3-2 6.6-11.2 8.2-12.6c1.6-1.3 1.6-4.4-1.1-5.1a84 84 0 0 1-7.8-3zM339 366.6c-1.1-.5-1.5-.8-2.4 0-.8 1-7.9 7-9 7.8-1.3.8-1.3 1.4-1.2 2.7 0 1.4-.7 9.1-.6 10.8 0 1.6 0 2.1 1.8.5s12-11.4 12.8-13c1-1.6 4.2-7.3 2.6-7.6s-2.6-.7-4-1.2zm-15.3 6.4s2.5-.2 3-.9 6.3-5.5 7.2-6.3q1.6-1.1 1.7-2l.1-5.5c.2-1-1.1-1-2.3-1s-8.5.5-8.5 1m0-1.7 9.2-.4c1.1-.1 1.6-1.1 2.5-2.9l2.3-4q.3-1-1.3-1.6a38 38 0 0 1-10.5-5.2m.9-3.3a19 19 0 0 0 10.6 6.1c.8.2 2.2.3 3-.7.9-1 2.3-2.5 2.8-2.8s0-1.8-.2-3c0-1.2-1-10.2-1-11 .1-.9-.8-1-1.8-1.3s-7.5-2.7-8-2.6"/> + <path d="M368.6 284.7c-.4.5-1.2 1.3 1.9 2.6 2.8 1 6.2 6.1 6.3 8.3.2 2.2-1.2 6.8-1.4 8.1-.1 1.4-.7 2.6 3 3m-15-4.2c-.7-.2-2-.3-3 .2l-5 3c-.7.1-1.7 2.4-1.7 2.4s-.5 1.5-.4 2.7.2 6.4.4 6.9a11 11 0 0 0 3.4 3c1.6 1 7.8 3 9.1 3.3s2.6-1.3 2.6-2.7 1-6.5 1.5-8c.4-1.6 2.5-8 .3-8.7-2.1-.8-7.2-2-7.2-2zm2.1 38.3c.8-3 4.7-10.4 5-11.7q.5-2 1.4-1.5l3.1.9q-.4 3.6-1 6.2c-.8 2.7-5 7.6-5.6 8.9l-1 2-1.3-.4c-1.7-.6-1.4-1.4-.6-4.4zm5.2-18.6c.3-1.9 3.6-10.6 3.8-12.3q.3-2.3 2-1.9l1.8.6c-1 5.2-2.4 12.4-2.8 15.3l-.2 2.3c-4.9-1.5-4.8-2.2-4.6-4zm-18.9 43c-.1-1.4 5-6.7 6.9-9a19 19 0 0 0 4-7.7c.3-1.9.6-1.9 1.7-1.5l2 .7a88 88 0 0 1-5.8 10.4c-1.2 1.6-4.3 5.5-7.8 9.6-1-1-.9-1.5-1-2.5zm-25.7 28c-.3-.3 6.1-6 8.9-8.6a88 88 0 0 0 10.2-12.5c.8-1.8 1.6-1 2.4-.8l1.6.8c-3.4 4-6.4 7.6-7.5 8.7-2 2.1-10.7 11.4-14.5 13.7q-1-.9-1.1-1.2z"/> + </g> + <path stroke="#000" d="M379.2 303c-.2 3-3.2 16.7-3.7 20.9s-.8 8.1-1.6 10.8c-.7 2.7-4.8 7.6-5.5 8.9s-5.1 10.9-7.8 14.5-16.4 20-18.9 22.7-15.3 16.4-16.3 13.9"/> + <path stroke="#b49578" d="M381.4 323s-1.2 2.5-1.3 5.2c0 2.8 5 3.8 8.1 3.9 3.2 0 3.4-.2 3.4-.2m0 1s-5-.1-7.8-.5-3.5.5-4 2-2.3 5.6-3 7c-.6 1.3.3 3.6 2 4.6l5.6 2.5m-2.1 3.4-5.4-4.3c-1-.8-2.6-.8-4 1.5-1.6 2.3-3.9 7.4-4.9 8.7q-1.5 2.1-.2 3.8c1 1 3.3 4.5 3.3 4.5m-1.3.8s-3.1-3.7-4.4-4.4c-1.2-.7-2 1.4-4.2 4.8"/> + </g> + <path fill="#494037" d="M356.2 368.6c1.2-.6 2.9-.4 2.2.8s-2.7 3-3.6 3.1c-1 0-1.1-.7-.8-1zm2.5 2.9c1 .1 1.1 4.3.7 5-.5.9-1.3 1.7-2.1.2s-1.6-2.6-1-3.4c.8-.8 2-1.9 2.4-1.8m3 5.9c-.2-.8.1-4-1-2.7-1.2 1.4-.2 4-1 4.3s-2.4 1.3-.8 2c1.5.8 2.4 2.2 2.5 1.3zm-1.9 6.3c0 1-.5 4.1-1.1 5s-2.1 1.6-2.3.2-.4-3-1-3.3.3-1.3 1.9-2.2q2.5-1.2 2.5.3m-3 7.6c.1 1-1.8 1.3-1.7 2.3 0 1-.4 3-1.3 2.5s-1.2-2.3-1.2-2.8.1-2.3 1.4-2.8 2.6-.9 2.8.8m-4 5c.6.2.9 3.2.1 3.8-.7.6-2.3 1.3-2.2-.1.2-1.5-.9-1.6-.9-2.2s1-2.2 3-1.6zm-.1-6.1c.5.8-.5 2.1-1 2.7s-1 1.3-1.8.4c-.7-.8-1.9-2.2-.5-3.2q2.1-1.6 3.3 0zm-1.5-6.2c.4 1 1.5 2.8 1 3.2s-.9 1.2-1.9 1.2-2.9-1.3-3.2-1.8 1.6-2.2 2.2-3 1.3-1 1.9.4m-2.6 4.6c.6.4-.8 1.5-.7 2.3 0 .9 0 1.7-1.6.8s-3.3-1.6-2.2-2.9 2.4-1 3-1q1 .3 1.5.8m-5.3 3.5q0-.8 1.5.7c1 1 3.3 2 2 2.3q-2 .8-2 1.8c0 .5-1 1.9-1.5 1.4s-2-.3-2-.3 2-4.4 2-6z"/> + <path fill="#494037" d="M348.1 394.5c.5-.7 1-1.6 1.3-.3.3 1.2.7 2.2.4 2.6-.4.4-1.6.9-1.5 1.4s-2 1.1-2.2 0a4 4 0 0 1 .5-2.3c.2-.3 1-.6 1.5-1.4m1.8 5.1c1 1 1 2.5 1 3.4 0 1 0 2.6-.6 3.2s-2.1 2.6-4 2.7q-2.8.1-1.5-2.1c.8-1.6 4-8.2 5.1-7.2m-1 10.9s-2.1-.5-3 .1c-1 .6-1.3 1.5-2 1.9-.5.4-.8 1.4.8.6s4.3-2.6 4.3-2.6zm-8.2-10c.7-1 1.1-1 2.5-1 1.5.1 2.9-1 3 .3s-1.6 3.2-1.6 4c.1.8-1.1 2.3-1 3 0 .9-1.1 1-1.8.5s-1.7-.1-1.6-1.6zm-1.2 8.4c1-.3 2.4-.4 3-.1.5.2.8 1.3 0 2.3-.7 1-1.6-.6-2-.7-.5-.2-1.9-1.2-1-1.5m16.2-32.1c-.1 1-2.8 3-3.1 1.7-.4-1.2-1.6-2.5-.7-3.5s2.7-2 3-1.2.9 2.5.8 3m1 2 .6 2.2c0 .5-1.3 1.6-1.7 1.7-.4.2-2.3 3.1-2.6 2.5s-1.5-4.4-.7-4.7c.7-.3 4.2-2.5 4.4-1.8zm-7-2.2s1.4.2 1.5 1.2.4 1.8-.6 2.8c-1 1.1-2.8 2.3-3.4 1.7l-1.5-1.7zm-3.9 5.7c1.5 0 2 1 1.1 1.4-.8.6-1.8 1.5-2.1 2.2s-1.4.3-1.4-1.2a2.5 2.5 0 0 1 2.4-2.4m15.8 18c0-1.5.2-4.7 1.2-2.8 1 1.8-1.5 6-1.2 2.8m4.1-5c0 1-1 1.8-2 .4s.8-.4.9-1.5c0-1 1.1.2 1.1 1.2zm.7-4c.6-1 0-3-1-2.7-.8.3-1.8 2-1.1 1.9.6 0 1.3 2.4 2.1.9zm-3.3 0c0 .7.4 2.5-.5 2.5s-1.9-1.2-1.3-2.3c.6-1.2 1.8-1 1.8-.1zm3-11c-.3 1.4-1.8 1.2-1.7 2.3 0 1.1.6 4-.6 2.8a5 5 0 0 1-1.2-4.2c.2-.8.1-2.3 1-2.4.9 0 2.8-.3 2.5 1.6zm1.8 3.4s-1.4-1.7-1.6-.4-1.3 2.6-1.1 3c.2.5 3 1.9 2.8.4z"/> + <g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".6"> + <path d="M388.2 275s2.3-3.9 3.1-4.7c.9-.7 1.6-4 1.7-5 .4-3.7 5.2-5 4.1-5.7 0 0-6.2-4.6-11.5-1.9-5.3 2.8-13.4 8.6-13.4 14.3.2 8-2.7 13-2.7 13"/> + <path d="M385.8 285.3s8.3-8.3 8.6-11.8c.3-3.8 3-11.4 1.4-12.3"/> + <path d="M386.9 284.1s1.2 4.9.4 7.5l1.2 2"/> + <path d="M380.4 293.5s3.3-2.3 7.4-.3c2.8 1.3 3 2.2 3 2.2s3 .4 3.3 2c.4 1.4 3.3.9 7.5 4.7 4.3 4 6 8 8 9 1.8 1 3 10.6 3 14.1-.2 3.6 1.2 10 .2 12.4a131 131 0 0 1-7.3 12.2c-1 1.4-4.6.5-6-4-1.5-4.3 0-6.2 0-8.2-.2-2 1.5-3 .7-5.6-.8-2.7-3.9-12-4.5-13.4a13 13 0 0 0-5-4.1c-1.8-.8-8.2-5.4-8.2-5.4m-3.3-12.8c-.1-2.4-4.7-9.4-7.2-10.4s-5.9-2.6-9.7-.6a81 81 0 0 0-15.8 15.3c-3 4-10.4 15.4-15.2 28.6a85 85 0 0 0-6.4 27.9c0 5.8-2 8.4-1.2 16.8 1 8.4-.4 15.6 1.1 19.6s6 1.6 8.5-.8c2.4-2.4 17.3-16.5 19.3-19.4s8.1-10 11.7-15.5 5.2-10.3 6.7-12.5 3-2.7 5.1-7.6c2.2-4.8.6-10.6.9-11.7.2-1.1 2.7-6.2 2.2-29.7z"/> + <path d="M395 317.7c-1.4-1.3-3.9 2.9-7.5 4.6-4 2-9.5.4-9.2-2.1"/> + <path d="M392.7 318.4c.5 6 1 28.9-31.2 56.1"/> + <path d="M360.9 362.7c.4 8.4 2.8 21.9-3.2 33.2a64 64 0 0 1-8.7 14.6 17 17 0 0 1-8 3.8c-2.3 0-2.3-4-2.4-5 0-.9 1.9-2.4 1.7-5.2a22 22 0 0 1 2.5-9.9c1.5-2.4-.8-6.5 1-11.6"/> + </g> + <path d="M385.6 261.8c-1 .8-1 1.4-.8 2.8.1.7 2 0 3-1s1.8-2.2 1-2.3-2-.3-3.2.5"/> + <path fill="#fff" d="M387 262.5q0 .4.3.6.5 0 .7-.3 0-.4-.4-.6-.4 0-.6.3"/> + <g fill="none" stroke="#000" stroke-miterlimit="10"> + <path stroke-width=".6" d="M365.9 370.7s3 11.7 1.9 21.9c-1 10.1-4.2 13.4-5 14.5s-1.6 0-2.8-.8-5.9-3.7-5.5-4.4"/> + <path stroke-width="1.2" d="M325 357a82 82 0 0 1 6.3-27.8 126 126 0 0 1 15.2-28.6c3-4 12-13.3 15.8-15.3 2.7-1.4 5.1-1 7.2-.3 0 0 3-5 2.7-13 0-5.7 8.1-11.5 13.4-14.3 5.3-2.7 11.5 1.9 11.5 1.9q.7.5-1.1 1.8c1.6.9-1.3 8.3-1.6 12-.2 2.8-5.3 8.3-7.5 10.7l.5 3.3.6 3.1c2.4-2.5 11.2-11.3 18-12.6 8.1-1.6 13.2-.2 15.6 1.7 2.1 1.8 8.5 6.8 10.7 11.3h-12a10 10 0 0 0-7-2c-7 .3-8.2 2.8-7.7 3.4s.6 2.5-2.1 3.8a9 9 0 0 0-4 4.3l2.1 1.7c4.3 4 6 8 8 9 1.8 1 3 10.6 3 14.1-.2 3.6 1.2 10 .2 12.4a131 131 0 0 1-7.3 12.2c-1 1.4-4.6.5-6-4-1.5-4.3 0-6.2 0-8.2-.2-2 1.5-3 .7-5.6-.8-2.7-3.9-12-4.5-13.4l-.7-.9-1.8.3-.5.4c.5 5.8 1 26.8-26.8 52.3 0 0 3 11.8 1.9 21.9-1 10.1-4.2 13.4-5 14.5s-1.6 0-2.8-.8-5.9-3.7-5.5-4.4a37 37 0 0 1-5.5 8.6 17 17 0 0 1-8 3.8c-2.3 0-2.3-4-2.4-5 0-.9 1.9-2.4 1.7-5.2a22 22 0 0 1 2.5-9.9c1.5-2.4-.8-6.5 1-11.6l-10.5 10c-2 2.1-5.7 4.2-7.6 2.3l-.3-.2-.6-1.2c-1.5-4-.1-11.2-1-19.6s1.1-11 1.1-16.8z"/> + </g> + <path fill="#012169" d="M0 0h320v240H0Z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0Z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5Zm-92 10 3 17.5-96 72H0ZM320 0v1.5l-124.5 94 1-22L295 0ZM0 0l119.5 88h-30L0 21Z"/> + <path fill="#fff" d="M120.5 0v240h80V0ZM0 80v80h320V80Z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0Z"/> +</svg> diff --git a/apps/web/public/flags/sh-hl.svg b/apps/web/public/flags/sh-hl.svg new file mode 100644 index 00000000..2150bf60 --- /dev/null +++ b/apps/web/public/flags/sh-hl.svg @@ -0,0 +1,164 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sh-hl" viewBox="0 0 640 480"> + <path fill="#006" d="M640 480V0H0v480z"/> + <path fill="#012169" d="M0 0h320v240H0Z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0Z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5Zm-92 10 3 17.5-96 72H0ZM320 0v1.5l-124.5 94 1-22L295 0ZM0 0l119.5 88h-30L0 21Z"/> + <path fill="#fff" d="M120.5 0v240h80V0ZM0 80v80h320V80Z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0Z"/> + <path fill="#128bbf" d="M581.1 197c-.2 67.8-11 141-99.4 175.8-88.5-34.9-99.3-108-99.5-175.8z"/> + <path fill="#e8ece9" d="M481.7 372.8c40-15.8 65-41.6 79.3-69-2.2-.8-6.8-.9-8.6-.2-2.2-.2-85.5-6.3-95.3-9.9-8.6-3-41 2.7-56.2 8 14.1 29.3 38.6 54.5 80.8 71z"/> + <path fill="#69522b" d="M419.8 330.7c1.4-.4 4-.3 5-.2 1.2.3 1.4.4 1.8-1 .4-1.2 1.4-.9 2.2-.3.7.7 2.7.4 3.5-.7q.9-1.4 1.7-.2c.8.7 1 .5 1.9.3.7-.2 2-1 2.7-2.3.6-1.2 1.6-1.6 2.1-1q.8 1 1.9 1c.8-.2 1 .6.9 1.5s.3 1.2 2.1-.3c1.7 1.6 2.2 1 2.2-.7a36 36 0 0 0-1-9c-.7-.9-1.4-3.3-1.5-5.3-.2-3.7-.2-3.9-4.7-6.1 0-1.3-.3-1.9-3.4-1.7 0-.4-.5-1.7-1.1-2.2s-.8-.8-.5-2.3c1.3.1 2.8-.1 3.5-1.2s3.3-.8 4.8-.2q2.1 1 6.4.3 1.8-1.2 5-2.9c1.9-1 2.4-1.5 2.5-3 .3-3.9-1-8.3-2.1-10.4s-1.5-4.6-3-7.9c-1.6-3.5-1.6-4.4-3.5-6.5-.5-.6-1-1.1-1.2-2.3a6 6 0 0 0-1.8-4c-3.3-3-4.6-12.6-5.9-19.8-.7-4-.2-13.7-2-15.2-2.9-2.4-4.3-2-6.3-2.7-1.4-2-2-5.8-3.3-9.3-2 .4-3.5 2.5-5 3.3-1.3.7-1.6.7-1.6 2.7s-1 4.6-3 7.6-5.2 2.2-8 6.7c-6-7.2-6-9.3-6.5-11.3s-1.4-2.5-4.8-5.4c0-.9-.4-4.3 0-6.3-2.6-2-4.4-1.7-5.6-.2s-2 3.8-4 4.7c-1 1.4-4.4 4.9-7.1 9 2.5 37.7 11 75 36.7 104.8"/> + <path fill="#bca76b" d="M581.1 197c.1-25.6-1.3-50.4-.7-72.1-33-14.7-76.6-17.7-98.7-17.7s-65.8 3-98.8 17.7c.6 21.7-.8 46.5-.7 72z"/> + <path fill="#cfa763" d="M387.6 226.6c1 1.7 3 4.7 3.2 6.3.8-1.6 1.4-2.3 1.5-3.2s1.3-3 1-4c-.5-1-.8-1.8.3-1 1.2.7 1 2 .8 4-.8 5.3-3 6.4-3.3 10 3.2 7.4.8 10.1 4.3 17.5.5.3 2-.3 2.4-.2 1.9-1.3 3.2-.8 5.9-.3 2.6.6 4 2.4 4 4s0 2 .5 3 1.7 2.5 1.4 3.6c-.2 1 .3 1.7.6 2.3s-.1 1.7-.5 2.5q-.7 1 1.1 3.3c1.3 1.6 4.4 8.4 4.4 12.4s.2 5.9 1.8 6.6c1.7.8 2.2 1.4 2 3.1s.8 10.7 1 12.1.7 1.1 1.4 1.9 1 1.6 3.2 1.6 4.3-.3 5.7 0c2 2.6 3.2 6.3 3.6 8.5.5 2.3.4 5.4 1.2 5.4s1.5.1 1.3-2.7-.4-3.2-1.4-4.6-1.5-2-1-3a5 5 0 0 0 .4-3.3c-.2-1-.5-2.7 1.3-.5l3 3.4q.7 1.4.6 3.5-.1 2 .9 1.2c.8-.7 1.7.4 1.3 1.8q-.6 2.1 1.4 2.7 1.9.5 2.2 1.7c.3 1 1.4 1.4 1.4-.5 0-2-.7-6-1.3-7.4-.5-1.3-1-4-1-5.7-.2-1.6-.5-2-1.3-2.4q-1.2-.4-1.5-1.6c-.1-.7-.8-1-1.2-1q-.8 0-1.2-1-.4-.6-1.1-.6c-.6 0-1.4.3-1.7-.6s-.7-2-1.2-2.8-1-.9-1.1-3.3c0-2.4-.1-2.8-.9-3.6-.7-.9-2-3.2-2.6-4.1-.5-1-1-2-1 0 0 2.1 0 3.2 1.2 4 1.3.7 1.7.7 1.1 1.8-.5 1 0 1.8.2 2.6.3.7.7 1.5 0 2.3s-1.3.5-1.2-.7q0-2-.8-3.6c-.6-1-1-1.6-1.7-1-.6.5-1.2-.1-.7-.6q.5-.6 0-1t0-1.3c.6-.7.6-1 .3-2.5s-2.7-9.1-3.8-10.8-1-3 .4-1.3 2.6 3.2 2.8 4.6q.1 2 .8 2.8.7.9 1-.8c.2-1.2 1-.8-.4-3-1.6-2.3-4.4-6.1-5.5-13-1-6.7-1.5-11.2-2.6-13-1-2-1.4-2.3-1.5-4s0-3.5-.8-4.8c-.7-1.3-1.3-1.5-1.4.4 0 2 .1 6.3.7 7s.2 2.7 0 3.8c0 1-1.7 2.2 1.8 4.3 1.4.9 1.2 2 1 2.8q-.1 1.3-1.2-.5t-2.3-2.8c-.7-.7-.9-1.1-.7-2.6 0-1.5.4-2.6 0-3.1s-.7-.1-1 .7c-.1.9-.3 3.3-.8 3.9q-.5 1-1-1.2t1-6a16 16 0 0 0 .5-8.3c-.7-3.3-.4-4.3-2.9-7s-5.3-5.2-6.5-8.6-1.4-6.3-2.7-7.8a18 18 0 0 0-4.4-4v-5q.1-1.8-2-1.7-1.9.6-3 3c-1 1.7-1.6 1-2.8 3.7-1.2 2.9-3 4.3-3 7.3z"/> + <path fill="#cfa763" d="M395.4 258.2c.9.5 1.7 1 3 .3s2.9-2.6 4.6-.7c1.7 1.8 2.7 4.8 2.7 7.2s0 6.8 2.7 9.3 4.2 5 4.3 8.3a56 56 0 0 0 1.6 9.5 8 8 0 0 0 2 3.7c.8.8 1.5 3.3 1.6 6 .1 2.5-.3 4.3 0 5.6s0 2.4-1 1.8c-1-.7-1.2-1-1.7-2-.6-1.2-1.2-1-.7.7s2.2 3.1 3.6 3.1 1.9.2 2.7 1c1 1 1 1.4 2.5 1.4 1.6 0 1.8 0 3.2.4s1.4.2 2.2 0q1.1-.3 2 1.8a34 34 0 0 1 1.9 6.4c0 1 0 2.2.8 3.3.7 1 .5 2.1-.4 1.5s-.8-.5-1.5-.4c-.7.2-1-.2-2-.7-.8-.6-.3-.4-1.1-1.7q-1.5-2.1-1.5-.8c0 1.3 0 2.2-.7 1.6q-.9-.7-1.5 0c-.6.6-.8 1-1.5 0-.6-1.2-1.4-1.2-2-1.4s-.7-.2-1-1.2q-.7-1.3-2.2-1.2-1.3 0-1.4-1-.4-1-1-1.4c-.5-.4-.3-1.1-.4-1.9s-.8-.4-1.2-.6-.8-.1-.8-1.2-.4-1.4-.7-2.2c-.4-.7 0-1.5.2-2.3.2-1 0-1.4-.6-2.2s0-1.5-1.8-3c-1.7-1.5-2.6-.2-3.2-3.8-.5-3.6-1.6-11-2.6-12.1q-1.3-1.8-2.6-2.4c-1-.3-1.6 0-1.7-2.1-.1-2-.8-4.7-2-6l-2.6-2.2c-.6-.6-.9-1.6 0-3.4s.5-4.3.4-5.5-.4-2.7-.2-4 .1-2.9-.2-3.8-.8-1-.2-1.7"/> + <path fill="#d7c99c" d="M428.5 317.3c-.7 1.3-1.5.8-2.1.2s-1.4-.7-1.1-1.9.2-1.4-.6-2l-.4-.2h-1c-1.5 0-1.6-.5-2.5-1.3l-.5-.5v.8c0 1.2 0 1-1.2 1.3s-1-1.2-1.2-2.2l-.2-.5c-1.3-.3-2.7-1.7-3.2-3.1-.5-1.6.1-1.9.7-.8s.7 1.4 1.7 2 1.3-.4 1-1.7l-.1-1.4q-.3-.6-1-1c-1.7-.7-1.2-1-1-2.3q.1-2-1.4-.7-1.4 1.2-1.2-2.2c.2-3.4-1.4-2.2-1.7-.7s-.9.6-1.5-1.6-1.6-2.7-1.7-.6q0 2.6-1.7 1.1l.5 3.4c.6 3.6 1.5 2.3 3.2 3.8s1.2 2.2 1.8 3q1 1 .6 2.2c-.2.8-.6 1.6-.2 2.3.3.8.7 1.1.7 2.2 0 1 .4 1 .8 1.2l.9.1q.3-.6.8-1c1.3-1.4 3.3 0 4 1.6q1 2.6 2.3.8c1-1.3.7-1 1.8.1 1 1.2 1.5 1 1.5 1s1-.5 1.9.2c.7.6 1.2.5 2.6-1.5s-.7-1.4-1.3-.1"/> + <g fill="#7fb8c1" stroke-width="4.2"> + <path d="M429.4 332.4c2.6-.2 9.7-2.3 10.5-3 1.7 1.3 4.8 2.9 6 2.9q-3.6.6-4.7-.2c.3.7 1.2 1.9 1.7 2-2.4-.1-5-.6-6-1.5-2 .9-5.5 1-7.5-.2m4.7 3.2c1 .3 5.6 1 6.2 1-1.6 1.3-.3 2.6 2.3 2.4-1.3.1-2.6.6-1.7.8 2.2.4 8.3-1.2 9.5-1.9-2 2.7-12.1 5.1-16.3-2.3m4.2 6.6c1.2-.6 4.3-.4 5.8.3-1.7.6-4.9.6-5.8-.3"/> + <path d="M443 342.1c2.2-.4 8.5 1.1 10.7-.2-.8 2-4.7 2.2-6.1 1.8s-2.7-1-3.6-.9c.5-.3-.3-.3-1-.7m2.2 3c1.7.3 7.7-.4 9.6-1.1 2 .6 5.8 1.7 6.7 1.5-1.9 1.2-5.4.5-6.6 0a11 11 0 0 1-9.7-.3z"/> + <path d="M448.1 346.2q3.5.6 6.8-.7c.8.4 2.5.8 4.2.7 1 .6 2.5 1.5 4 1.6-1.5.6-7 0-8-.6a22 22 0 0 0-8.5 1.5c0-.7.4-1.8 1.5-2.5m-2.9-12.2c1.9.6 8.7.3 12.2-1.3 1.4-.6 2.2.4.6 1-5.6 2-10 2.7-13.3 1-1.3-.7-1.4-1.3.5-.7m33.4-9.2c-8.4 4-14 5-25.6 1.5-1-.3-1.8 0-.6.8 1.2.7 7.6 2.5 9.1 2.6 1.6 0 1 .8 0 1-.8.3-1.1 1 .1.5a22 22 0 0 1 11.1.8q1.8.8 1.5 0 0-.7 1.5-.9 1.6-.1.7-.7-1-.3-.2-.7t-.3-.7c-.8-.1-1.3-.3-.6-.7q1.4-.6 2.8-.8c.2-.6-.1-2.1.5-2.7"/> + <path d="M464.7 325.8c4.8.3 13.6-1.8 18.3-6.4 1.6 1 3.9 2 5 2.3 1.3.2 2.4 1.3.5 1.3s-4.5-.8-5.6-1.3c-6.3 3.8-13.5 5-18.1 4.6-1.3 0-1.6-.6-.1-.5m-7.6-13.5c-.6.1-3.4.8-4.2.7-.7 0-1.5.2-1.4.7 0 .5.2.9-1 .8-1-.2-2 .3-2.3.6s-.5.7.7.8c1.1 0 1.7.2 3-.4s2.6-1.5 4-1.6c1.4 0 2.8-1.9 1.2-1.6"/> + <path d="M453.2 315.6c1.2.8 7 2.8 9.2 2.6s1.7.9.1 1.2a13 13 0 0 1-10.1-2.9c-1.4-1-.1-1.4.8-.9"/> + <path d="M481 318.5c-4.4 1.4-9 1-10.9.4-1.8-.4-3.5-.6-2.3.6s5.3 2 7.6 1.4c-8.1 1.9-10.2 1.7-12.2 1.4a37 37 0 0 0-7.4-.1c-1.2 0-2.9 0-3.6-.5s-.9-1.3 1.2-1c2.1.2 2.4-.3.6-.5-1.9-.3-4.4.5-2 2 2.6 1.6 8 0 11.5.9a20 20 0 0 0 18-4c.3-.2 1-1-.4-.6zm-10.4-4.5c-1 0-2.6-.5-3.5-.9s-2-.4-1.2.8c1 1.3 5 2 6.4 1.4s.8-1.3 2.2-.4 3 1.4 4 1.4 1.4 0 .2-.6q-1.7-.7-1.8-1.4c0-.5-.3-.8.8-.5 1 .3 2.2 1 3 .5s2.4-1.4 3.7-1.4l.4-.8c-2-.2-3.3.4-3.8.6q-.9.4-2.6.2c-1-.2-2.4-.3-2.7-.5q-.6-.4.6-.7c.8-.2 1.1-.8 0-.5-1.3.2-4.5 0-6.2-.5s-2.4-.6-3-.3c-.8.3-.7 1 .4 1 1 .1 3.3.4 4.1 1.1q1.3 1.1-.2.4c-.9-.3-2.6-.1-.8 1.1m39.3-2.9c-3.2 2.4-7.1 3-11.8 3.2-1.4.1-1 .5.2.6 4.9.5 10.5-1.3 12.4-3.2.5-.6.5-1.5-.8-.6m-22.2 5.5a41 41 0 0 1 7.9 1.9q1.7-.2 1.3-.9c-.2-.4-.4-.9 1.8-.8h8c.8-.2 2.5-1.5 3.3-1.6-2 .1-10.1.6-11.2.4q-1.3-.1-2.2.4-.7.7-1.8.2c-.9-.3-2.3-.7-3.1-.2s-2.5 0-4 .6"/> + <path d="M506.8 316.9c.7-.3 2.4-1.6 3.2-1.7 1.4-.1 3 .5 3.8.6s1.6 0 1-.6c-.5-.6 0-1.7 2.2-1.4s3.4.7 5.6.4 3.1 1.4 7.2-.2c-.3 1.6.5 1.8 1.2 1.4q1.1-.6 3 .8c1.9 1.4 9.2 1 11 .7 2-.3 2.9.7 1.5 1.1q-2 .8-1.4 1.5c.3.5.6 1-1.1.8s-2 .3-3 1c-.8.6-1 .8-3.4.4s-2.9-.1-4.2.1-1.6.2-3-.2c-1.2-.5-4-.9-5.8-.3-1.7.5-3 1-4.5.6-1.6-.4-1.7-.2-.7-1.2s1.2-.8 3-1c1.9-.3 3.3-.8 2-1.6-1.3-.7-1.7-.6-3.5.2-1.7 1-2.6 1.4-4.5.4-2-1.1-3-.9-4.3-.6s-3.5-.4-5.3-1.2m6.5 3.2c-2.5.4-3.2-1.2-5.8-.9-.8.1-2.3 1.2-.3 1s4.2 1 6.2.8 1-1 0-.9zm-2.9 2c1.3-.6 4 .3 5.2.1 1.1-.2 2.2.5 1 .9s-4-.7-5.4-.3c-1.3.3-2.6-.1-.8-.8zm-26 6.9c1.8 0 8.3-.2 10.8-5.6q.2-.8 1.2 0c.9.4 3.9 2.2 9.5 2.7 1.5.2 3.2 1 0 .7-3-.2-8-1-9.8-2-2.8 4.3-7.9 4.9-11.7 4.8-2.3 0-1.7-.7 0-.6"/> + <path d="M498.4 321.6c-.9 1.2-3.9 3.3-5.2 3.4-1.4 0-5.5-.3-6.5-.7s-2.3-.2-.8.8 5.1 1.7 6.6 1.4c1.4-.3 3.1-.8 4.3-.1s3.2 2 4.5 1.8a11 11 0 0 1 4.6 0c.8.5 2.2 1.6.1 1s-3.8-.2-4.8-.6c1 1.5 3.5 4 5.6 4 .5 0 .9.8-.2 1.3 1 .5 3.4.9 4.7-.3q-.5.7.4 1c.5.3 1.2.6.2.7-1 .2-3.2.4-3.9.2a20 20 0 0 0 13.2 2.4c1.1-.2 1.7-.7 0-.6-3.7.1-3.9 0-4.5-.3q-1.1-.6.5-1c1-.4 3.6-.8 4.7-.8 1 0 2.2-.4 0-.4s-5 0-6-.4c-1.2-.3-2-.8-.9-1.6 1.2-.7 2.4-.5 3-1.2-3.7 0-8-2-5.6-3.7q.9-.5-.6-.5c-.9-.1-3.6-.9-4.7-1.6-1.2-.6-.4-1.1.5-1.3-2.1.4-6.4-.8-9.2-2.9m32 0c-2 1.4-5.7 2-7.3 2q-2.4.2-.5.7c1.2.1 2.6.3 3.1.1s.9-.2 1.7.2a6 6 0 0 0 4 .1c1.6-.5 4.1-.7 5.1-.6s2.2 0 .1-.5c-2-.6-5.4-.2-6.2 0s-3 0-1.9-.3a13 13 0 0 0 2.9-1.4zm-1.1 4.1a13 13 0 0 1-6.6 2.6c2.2.8 4.2 3.1 5.6 3q-1.1.8-2.5 1.2c1.4.4 3.8 0 5.8-1.1 3.2.9 7.5.3 8.9-1-2.1 0-4.7-.7-5.8-1.6q1.6-.2 2.5-1.3c-2.5.5-6.7-.7-7.9-1.8"/> + <path d="M525.8 332.5c1-.1 1.8-.8 2.5-1.2-1.8.6-9.6-.6-12-2.7-2.3-2-2.3-.5-.7 1 1.7 1.4 4.6 3.6 10.2 2.9m5.8 5c-1 .5-5.7.8-7.2.5q-2.3-.5-1.8.4c.4.6.6 1.2-.7 1s-3.5.1-4.4.4-2 1.2-.1.8c2-.3 3.7-.7 5.2-.3s6.7.5 7.7 0 .4-.4-.1-.4-.7-.3 0-.6 1.2-1.3 1.4-1.8m-45.3-6.3c-2 .9-8.5 2.6-10.2 2.7q-3.4 1.5-5 1.5a8 8 0 0 0 4.9 1c-.7.6-2.2 1.4-2.7 1.7 1.7-.2 3.8.2 4.7.3a13 13 0 0 1-7.1 1.5q.8 1.4 2.3 1.5c-2.1.6-4.6.6-6 .2q.9 1.6 2 1.8c-1.8.2-4 .5-5.8-.5q2.1 2.7 9.2 1.9c4.7-.5 8.6-2.6 9.7-3.5-2 .3-4.6.4-5.9.1a34 34 0 0 0 9.3-4q-1.7 0-3-.8a29 29 0 0 0 8.5-1c-2-.5-3.1-1.7-3.7-2.5a37 37 0 0 0 18.2.6c.9-.2 1-1.3-.8-1.2-3 .2-8.9-.7-10.4-1.4 1.4 1 3.1 1.7 4.3 2-2.8.7-6.7 1.2-12.5-2z"/> + <path d="M473.3 338.1c.5-.3 2-1 2.7-1.7a8 8 0 0 1-4.9-1q1.6 0 5-1.5c-4-.1-6.6-.1-8-.9-1.5-.7-4-.5-5-.3s-.7 1.8 3.4 1.4a14 14 0 0 1-8.1 1.2q.8 2.3.3 3.6a28 28 0 0 0 11.2 2.7c-2.6-1-4-2.1-1.8-2.3 2.1-.2 3.3-.7 5.2-1.2m-6.8 7c5.2-.4 12.2-.5 17.8-5.2 1.4-1.2 2.3-.8 1 .5-3 2.6-10.3 6.1-17.2 6.2-2.9 0-4.2-1.3-1.6-1.5m39-8.5c-1.3.5-5 1-6 1-1-.3-2.7-.3-3.5.2q-1.6.9.2 1l3.5.2c-1 .5-1.6 1.3-1.8 1.6 1.7-.4 5 .3 5.8.8q-1.1.3-2-.3c2.9 3 11.6 3 13 2.5q-1 .9-2 1.1c2.5.5 5.3.4 8.1-1.2-1 .2-3.7-.1-4.4-.2a5 5 0 0 1 2.1-1.2c-1-.2-4.5-.1-5.3.3q.6-1 1.6-1.7c-4.3 0-9.5 0-11.4-1 3 .2 6.4-1.5 7.8-1.5-2.4-.1-5-.6-5.7-1.6m-10.9 2.4c-2.1.4-5.3 1.3-6.2 1.7-.9.5-1.8.8.1.8l.7-.2c-.8 0-1.7 0-.3-.4 1.5-.5 3.3-1.5 5.7-2zm-4.3 5c.8 0 4 0 5.4-1.1 1.3 1 4 2.4 5.6 2.4 1.7 0 1.6.5 0 .6-1.4.2-4.3-.7-5.7-1.8-2 .8-3.6.2-5.3-.1m-25.2 14.5c3.4 1.3 7.9 2.3 11.1 1.2 1.9 1.6 5.7 1.7 7.7 1.3 2.1-.4 4-.7 6.2.1s7 .8 8.3 1.9c-1.2 0-3.7 0-4.3.2q-.9.2.8 1a23 23 0 0 0-12 3.1c.7-1.7 2.8-4 6.3-4-2-.6-8.3-.7-10.3.5a6 6 0 0 1-1.3-2.1c-3.3 1.9-9.9-.8-12.5-3.2m-8.6-6c4-.6 6.7-1.9 8-3 .6.6 3.6 1.2 6.8.3-.7.4-.7 1.4-.5 1.9-2 0-6.1 1-7.5 1.7-1.3.7-5.3 1.2-6.6.5q-2-1.1-.2-1.4"/> + <path d="M470.8 351.7c-2 0-6.1 1-7.5 1.7q.5 1 .5 2a48 48 0 0 1 16.3-1.7c-1.6.1-4.7 1.8-6.4 2a33 33 0 0 1 9.4.8q1.7.5.5 1.8c-1.2 1.3-1.2 1 .6 1s5.3-.2 7-1.8c-.7-.7-2.4-.4-3-.9a8 8 0 0 0 3-1.8c-3 0-4 0-5-.3s-1.7-.5-.5-1.1a7 7 0 0 0 2.2-1.6c-2.2.6-5.5 1-8.3-1.1 1 .2 3.5 0 4.4-.3q-1.4-.8-2.5-.9c2.3-1 6.7-2 12.1.2 2.7-.3 5.7-.2 7.7.4 1-.9 2.8-3 3.7-3.5-6.4.6-18-.6-17.7-4-2 2.7-6.8 4.2-9 3.8-.1 1 .7 2.2 1.5 2.8-2.2.5-5.9.8-7.6.5 1 1 2.8 1.8 3.9 1.7-2.3 0-3.5.4-5.3.3"/> + <path d="M484.2 359.3c1.7 0 5.3-.2 7-1.8-.7-.7-2.4-.4-3-.9a8 8 0 0 0 3-1.8c4.6-.3 8.7-.1 10.6-.7s7-.3 8-.6c-4.4.7-5.2 1.1-5.5 1.8s1.4 1.3 2.5 1.3c-2 0-4.4 2-4.6 2.8-2.7-1.5-3.9.2-4.2.8-1-.4-4.7-.3-6.5 1.3-2.4-.7-4-1.1-6.4-.7 1.5-.4 1.2-1.3-1-1.5zm20.8-12.7h5.9a7 7 0 0 0-2 1.4c3.7-.5 8.8-.7 10.2-.5-1.8-.3-3.6.9-4.5 1.5-1 .5-.4 1 .8 1 1.3.2 3 1.2.7.9s-6.8-.3-7.9-.2c-1 .2-1.7-.3-.1-.6q2.3-.4 3.4-1.1c-1.3.3-3.8.3-4.6 0s-1.2-.6-.3-.8.2-.5-.7-.4c-1 0-3.3 1-4.6 2.3q2.2-2.3 3.7-3.5m-16.5 2.5q2.4 3 7.2 3.2c.7 0 2 1 .4 1-4.6.2-6.9-.9-8.9-3.8-.4-.6.4-1.4 1.3-.4m58-24.6c-1.4 1-3.2 2.5-2 4.8l.4-.2a132 132 0 0 0 13.8-20.1v-.7a19 19 0 0 1-4.8 3c.6 1.6-2.4 4-4 4.6.6 1 .4 2.7-1 3 .3 1-.8 1-2 1.5q-2 .7-2.5 1.6c.7-.4 1.7-.7 2.2-.5s.7 1-.3 1.2q-1.5.4-2 1.1c1.5-.5 3.5-.2 2.1.7zm-96-24.6c1.7 1.1 4.6 3 8.3 2.7 1.9 1.5 4.7 2.7 6 3-2.5 1-5.2 1.9-5.9 2.7-1.1-1-2.6-1-3-1.5q-1.4 1.4-.2 1.9a22 22 0 0 0 7.6 1c1.3-.4 1.7.7.6 1-3 1.1-8.7.1-10.6-3s-3.7-4.3-9-1.4c-.6-1.6-.6-2-1.6-2s-3-1.3-1.5-1.2c1.5 0 5.8-.6 9.3-3.2"/> + <path d="M451.8 306.8c-.9.3-3.4 1.7-4.4 1.8-.9 0-2.5 1.4-.8 1.4s3.8-1.7 5-2c1.2 0 1.3-1.4.2-1.2m7.2 5.1v1.5c-.2.4-.2.9.5.4s1.2-1.2 1.9-.9c.7.4 2.5.4 3.3.3q1.4-.1-.1-.8a8 8 0 0 0-3-.6 5 5 0 0 1-2-.3q-.9-.3-.6.4m25.8.2-.4.8c2 0 7 .4 8.5 1.4 1.5-1.2 1.3-1.6 2.3-1.4 1.1.3 2.5.6 3.1.3q.8-.4 1.7-.1c.6 0 2-.2 2.9-.7s2.5-1.1 3.4-1.1c1 0 2.2-.2.4-.5a14 14 0 0 0-5.4.6c-1 .3-3.7.5-5.3.5-1.7 0-3.9.8-5.8.3s-4.4-.1-5.4-.1m30.9-.8c2.4 1.2 7.2 2.1 11 2 .6 0 2 .6.3.8q-6.3.7-11.6-2.2c-1-.5-.6-1 .3-.6m2.5 0q5.6-.3 7.6 1c2-.7 5.9-1 6.8-.9.8.2 1.8-.2-.2-.7s-6.7-.6-8.2-.3-6 .4-7.5.2q.8 0 1.5.7m14.3 1.4c1.7-.9 6.8 0 8.3-.7-1.1 1.3 3.5 1.4 7.4.4-1.5 1-4.8 1.1-6.2 1.7s-2.2.2-3.2-.3c-1.1-.5-3.9-1.4-6.3-1z"/> + <path d="M548.2 312.4c-4 1-8.5 1-7.4-.4-1.5.7-6.6-.2-8.3.7 1.8-1 3.2-.2 4.5-2.4.8.2 2.7.3 3.3-.6 1.2.3 3.2.8 3.8 1.4s1.5-.2.8-1.1c1.7-.7.6.7 4.8-.3.9-.2 3-.6 3.7-.6a26 26 0 0 1-5.2 3.3"/> + </g> + <path fill="none" stroke="#000" stroke-width="2" d="M581.1 197c-.2 67.8-11 141-99.4 175.8-88.5-34.9-99.3-108-99.5-175.8z"/> + <g stroke-width="4.2"> + <path fill="#cfa763" d="M421.7 227.5a22 22 0 0 1-5.1 5c-2 1.4-4.7 2.5-3.2 5 1.4 2.4 2.6 2.7 2.9 4.6s.7 3.4 2.2 3.9c1.4.4 2 .1 2 3.1s0 4.2 1.3 5.3c1.3 1.2 1.2 2.4 1.7 5 .6 2.8.6 8.7 2.4 12.8 1.7 4 5.6 11.6 5.2 13.2-.5 1.6-1 2.7.7 4.6s3 4.6 3 6.2c.2 1.6.5 2.2 2.2 1.6a7 7 0 0 0 3.2-1.9q1-1 3.4.3c1.6.9 4 1.7 5.5.9 1.4-1 2.1-2.2 3.4-2.2 2-1.4 2.8-4.5 3.2-5.3.5-.9.2-.9-.7-1.8s-.4-2.3-.6-3.7q0-2-2.4-6.8c-1.8-3.1-2.8-7-4-8-1.1-1-1.7-3.5-1.8-4.6-.2-1.2-1.5-2.2-2.4-3-.8-1-1.7-2.2-2.7-7.3s-1.8-8.6-1.8-9.5q.2-1-1-1.2c-.8-.3-1.3-1.8-1-2.5s-.3-1.4-.6-2.3 0-2.4.6-3.3.5-3.3-.1-5.3-1.2-3.8-3.5-4c-2.3-.4-2.8-1-3.6-2.8-.9-1.9-1.8-5.2-2-6-.4-.6-.8-.8-2.5.7-1.8 1.4-2.3 1.9-2.3 4.6 0 1.7.2 2.3.8 3.3s.7 1.3 1.2 4 2.9 7-.3 9.5-2.8 3-2.6 4.8-.9 2.8-1.5.4q-.8-3.5 1.8-5c1.7-1.2 3.3-2.6 2.1-4.2a17 17 0 0 1-1.7-7q0-2.9-1.4-1z"/> + <path fill="#d7c99c" d="M395.8 264.2q0 1.9.3 3.5c.1 1.2.4 3.7-.4 5.5-1 1.9-.7 2.8 0 3.4 1.8-.5 2-2.5 1.6-3.4q-.7-1.7.2-3.3.9-1.4 0-2.3c-.4-.7-.4-.7.2-2.7.5-1.8-.8-1.8-1.9-.7m18.6 28c-.4-1.4-1.6-6.3-1.7-9.6q0-4.7-4.2-8.3c-2.1-2-2.6-5-2.7-7.4q-2.4-1.5-2.1 1.2c.1 2 2 2.9 1.8 5.7-.3 2.8-.3 2.1 1 3.5q2.3 2.1 1.2 3.2c-.7.6-.8 1.6.2 2s1.1 1.4 1 2.4.8 1.2 1.4 2c.5.7.6 2.4 0 3.4s-.6 2.6.4 1.7c1-.8 1.5 0 2.2 1.3.7 1.2 1.3.8 2 .5l-.5-1.7zm-8.5-60c-1.1 0-1.8 1-1.2 4.3.4 2-1.2 1.5-1.8.5-.5-1-1-3.1-2.1-5s-.6 1.3-.8 3c-.1 1.7 1 1.7 2 3.2 1 1.4.2 2-1 2s-.5 2.3-.2 3.9-.3 1.9-1.2.6-.3-3.4-.1-5.8.3-1.9-1.3-2.4-1.4-1-.8-2.4 1.2-2.1.5-2.8q-1.2-1.1.5-1.3c1.2-.2.8-1 1.8-1.3s1.4.1 1.6-1.7c.1-1.6.6-2.6 1.8-2 .7 2.3 1.6 6 2.3 7.2m26.5 25.8c.4-3.1.1-6.3 1.4-7.4s3-3.5 2.8 1.4-.3 4.6-1.3 5.8c-1 1.1-1.9 1.4-.9 3.3s1.2 2 1 4.9c-.1 2.8-.1 4 1 5.4s1.5 1.6 1.8 3.2a10 10 0 0 0 2.6 4.9c1.3 1.1 2.8 4.5 2.9 6.8s2.2 2.8 4 4.4c2 1.6-.4 2.8-1.8 2-1.5-.7-.9 0-1.8 1s-1.1 1.2-1.9-.5c-.7-1.8-3.1-3-4.3-3.3-1.2-.5-2.2-2.3-3.2-4.2a6 6 0 0 0-4.2-3q.8 2 .6 2.7c-.5 1.6-1 2.7.7 4.6s3 4.6 3 6.2c.2 1.6.5 2.2 2.2 1.6a7 7 0 0 0 3.2-1.9q1-1 3.4.3c1.6.9 4 1.7 5.5.9 1.4-1 2.1-2.2 3.4-2.2 2-1.4 2.8-4.5 3.2-5.3.5-.9.2-.9-.7-1.8s-.4-2.3-.6-3.7q0-2-2.4-6.8c-1.8-3.1-2.8-7-4-8-1.1-1-1.7-3.5-1.8-4.6-.2-1.2-1.5-2.2-2.4-3-.8-1-1.7-2.2-2.7-7.3l-1.7-8.5q-1.5 2.4-2 1c-.5-1.4-1.1-2.1-1.7-1.2-.6.8-.7-.8-.7-1.5s-.1-.8-.9-.8c-.7 0-.1-1.2-.4-3.3-.3-2.2-.7-2.5-1 .1s-1.8 4.2-1.2 4.7q.8 1-.3 3.5a5 5 0 0 0 .2 3.9c.4 1.1-.3 3.3-.6 5.2-.3 1.8 1.2 3.7 1.6.5m-12-8.9c0 3 0 4.2 1.4 5.3 1.3 1.2 1.2 2.3 1.7 5s.6 8.7 2.4 12.8l2 4.3c.9-.8 1.7-2 2-2.8.5-1-.8-3-1.9-4.7s.2-2.3 1.2-4.5c1-2.1-.1-2.3-1.7-2.9-1.6-.5-1.6-2-2.5-4.3s-.7-3.3-.2-4.6q.9-2-1-2.6c-1.1-.3-.8-1.1-.4-2.6.4-1.4.7-1.7-1-1.3q-1.7.5-2 1z"/> + </g> + <path fill="none" stroke="#000" stroke-width=".5" d="m447.9 248-3.5 38m14-14.8a272 272 0 0 1-5.3 20m50.7-38.3c2.7 2.5 6.2 3 10.1 5m7.4 11.9-2 14.6m0-14-3.4 15M456 271.7q-2.6 9.3-5.9 17.8"/> + <path fill="#666" d="m531.4 307-.3.1h-.6l-.3.1h-.3l-.3.1-.2.2-.2.2-.2.3-.2.2-.3.4-.1.1-.2.2-.1.2a5 5 0 0 1-2.7 1.2 8 8 0 0 1-3.1 0q-2.2.1-3.6-.7c-1-.5-2.2-.1-3 .3-.6.3-.7 1-1.4 1.1-.4.6-2.2.5-3 .3q-2 0-3.7-.8c-.7-.5-2-.9-2.8 0q-.8.8-2.2 1c-1.5 0-3.3.3-4.5-.3-1.3-.1-1.7-.8-3-1.2-1.3-.2-1.9.5-2.8.8q-1 .8-3.2.6c-1.4 0-3 .2-4-.4-1 0-1.8-.7-2.7-1.1-.8-.7-2.3 0-3 .4-1.3.2-1.7 1.1-3.3 1-1.3-.1-2.1-.7-3.3-1-1.1-.5-2-1.3-3.8-1.2q-1 1-2.9 1-1.5 0-2.8-.2c-2.1 0-3.1-2.3-4.6-3.5L451 299c.4-1.3.6-1.6-.1-2.5.2-1.3-.7-1.5-.3-2.8.6-1-1-.9-1.4-1.4-1-.2-1.3-.9-2.2-1.2l-2.3-1.3-2.2-1.1-1.8-1.3-1.7-1.4-1.8-1.1q-.9-.8-2-1.3c-.9-.3-1.7-1-2.8-1.2-.7 0-.9-1.6.4-1.5 1 0 1.5.6 2.2 1q1.6.8 3.5 1.2l2.3 1c.8.6 1.8.7 2.7 1.3.9.4 2 .8 2.4 1.3.8.3 1.2.8 2 1.1l1.3 1q1 .3 2 1 1 .4 1.7 1c.6.2 4.8 2.3 4.6 2 4.1.8 6 1 10 1.7l30.1.4 10.9-4.5 3.3-5.3 16.1-2.9c-.3-.3 28.2-1 28.8 1.4.3 1 1 3 .1 3.5-.6.3-27-3.3-27.3-1-.2 1 0 7.5.2 8.5l.4 3 .5 3.2.4 3z"/> + <g fill="none" stroke="#000" stroke-width=".5"> + <path d="M449.8 266.6c-4.8 5.5-9.6 9.9-14.8 14.1m41.5-36.6 15.7-13.5m-22.7 26.9c3.1 2.2 6.6 4.1 11.4 5.3M467.3 237c2 3 4.2 6 11 7.9m-15.5-38.7a27 27 0 0 1-9.9 7.6m15.6 11.4a24 24 0 0 0 8.5 4.6m-8.5 42.5a229 229 0 0 0 4.7 20.3"/> + <path d="M467.2 292.5c8.1-8.4 15-17.3 19.6-27.6m16.6-30.1c2.6 2.7 5.3 4.8 9.5 6m1.8-16c2.2 4 4.9 6.9 7.4 10.1m-31.5-22.5c-.2 4-2.6 7.9-4.3 11.3"/> + <path d="M496.3 214.3c-3 3.3-5.7 6.7-9.7 8.7m10.2-22.7a36 36 0 0 1-7 3.7m36.6 26.2c-2.4 2.9-4.8 6.2-8.7 8.7m9.2 15c-3.1 3-5.9 6.4-9.4 8.6m27.1 8.3q-8.1 6.6-17.2 11.5m3 .5c5-3.2 9.7-7.6 14.2-12m-15.8-40c1 2.6 3.3 5.5 5.6 7.3"/> + </g> + <path fill="#bca76b" stroke="#472b1f" stroke-width=".4" d="m525.5 205-.5 77.9 5.7-.3-2.4-77.9z"/> + <g stroke="#000"> + <path fill="#333" stroke-width="1.3" d="m529.2 305.4 3.1 2.6c2.7 2.4 4.2 2.4 7.8 0 1.3.2 2.6 1 4 .7q2.1-.1 3.9-.5c1.4-.4 1.7-2.1 2.2-3.4.7-1.3 1.3-3 2.4-4.1 1.3-1 2.7-1.8 3.6-3.2q1.3-1.8.7-4.2l-.3-4c-.2-1.9 1.3-3.2 1-5-.7-.7-2.2-1-3.3-1.3a45 45 0 0 0-6.3-1l-5.3-.3-5-.3q-3-.1-5.8.1c-1.3.3-3 .2-4.2.8a14 14 0 0 0-.7 4l-.3 3.6c0 2.3-.3 4.5.4 6.6l1 5.2c0 1.4 0 2.7 1 3.7z"/> + <path fill="none" stroke-width=".5" d="m535.7 267.5 7.8 14.5m11.5.7q-3.3-3.6-5.4-8.5"/> + </g> + <path fill="#472b1f" d="m554.5 260.2 2.6 1.8h.1c-.8-.7-1.6-1.6-2.7-1.8m-5.3.7-.3.1-3.6 14zm17 .6q-1.3.1-2.6.8l1.5-.5 2-.3h-1zm-16.6 12.7-.7.1a3 3 0 0 1 1.8.5zm1.4.7q1.3 1 2.8 1.6zm8.3.8-4.8 1q2.5-.2 4.8-1"/> + <path fill="#fff" d="m549.3 260-4 15 4.3-.9 4.5 2.6 6.8-1.4 3.5.5c1-4.8.7-10.4 3.5-14.5l-2.8.5-4.5 1.5-3.6-1.3-2.8-2z"/> + <path fill="#c8102e" d="M555.9 261.9a9 9 0 0 0-1.6 4.4l-3-.9h-3.4v.1l-1 3.6s2.7-.4 4-.2c.8.1 2.4 1 2.4 1l-1.3 5.6.9.5 1.8.5.8-.1q.5-3.2 1.5-5.4s2.8.7 4.3.6l3.8-.3.5-3.6c-.5.1-2.9.7-4.2.6a13 13 0 0 1-3.3-1.3q.5-1.8 1.4-3.7z"/> + <path fill="none" stroke="#000" stroke-width=".7" d="M546.4 260c-1.9-5-4.1-13.1-5-19.6"/> + <g stroke="#472b1f"> + <path fill="none" stroke-width="1.3" d="M548 261.2s4.4-1 6.3-.7c2 .4 3.1 2.6 5.2 3 2.3.3 4.2-1.8 6.6-2l3.3.3-1.6 5.5-1.3 4.6v4.1s-3.7-1-5.7-.6c-2.5.2-4.4 1.5-6.8 1.3-1.8-.4-2.6-1.9-4.5-2.3-1.3-.4-5 .6-5 .6z"/> + <g fill="#bca76b" stroke-width=".3"> + <path d="m548.8 261-1.8.1-5.6 20 2.6.2z"/> + <path d="M547 261.1c-.8-.4-1.3-1.7-1-2.5.5-1 2-1.1 3-.8 1.1.3 2.6 1.4 2.2 2.5-.4 1.3-3 1.5-4.2.8z"/> + </g> + </g> + <path fill="#472b1f" d="M567.7 261.6c-2.7 4-2.5 9.3-3.5 14l2.3.4v-4l1.4-4.7 1.5-5.4z"/> + <path fill="none" stroke="#000" stroke-width=".5" d="M535.4 245.3c2.9 2 5.7 7 9.7 11m-4.4-18.3a78 78 0 0 1-4-21m-4.2 53.2 4.4 11.6m0-70.3c-3.9-1-7.5-3.6-8-5.8m-17 9.6c2.5.2 11.2-6.2 12.5-9.6m9.6 62.8 6.1 13m-6.6-8.6 4.5-1.6m-3.7 4 4.7-2m-2.8 7 5.2-2.2m-10.5-23.5 6.3 6.7m-19.5 9.5-4.3 14.5m3.1-11.3h4.4m-5.4 3.6 5 .1m-6.2 3.6 5.5 1"/> + <g fill="#bca76b" stroke="#472b1f"> + <path stroke-width=".4" d="M528.8 203c-1-.3-3.8-.4-4.9.5-.5.4 0 2 .7 2 1.4 0 3.3 0 4-.3.5-.5.9-2 .2-2.2z"/> + <path stroke-width=".5" d="M513 215.2c1.9 7.6 9.9 6.3 9.6-.6"/> + <path stroke-width=".7" d="M520.4 214.8c2.5 8.8 13 7.4 12.5-.6"/> + <path stroke-width=".5" d="M529.3 214.7c2.4 6.4 5.7 5.2 9.7-.7m2.3-2.3-29.6 1.7v2l30-1.6zM514 241.4c2 8.2 10.3 7 10-.6"/> + <path stroke-width=".7" d="M521.8 241c2.4 9.7 13.3 8.2 12.9-.4"/> + <path stroke-width=".5" d="M531 241c2.4 7 5.8 5.7 10.1-.6m2.4-2.4-30.7 1.2v2.2l31-1.1zm-30.2 26.9c2 8.6 10.5 7.2 10.2-.7"/> + <path stroke-width=".7" d="M521.2 264.6c2 12.7 13.8 8.1 13.2-1"/> + <path stroke-width=".7" d="M530.6 264.3c2.7 7.2 6.2 5.8 10.4-.8"/> + <path stroke-width=".5" d="m543.5 261-31.5 1.8v2.2l31.8-1.7z"/> + <path stroke-width=".3" d="m533 226.9-11.7.3v3l11.8-.1zm0 24.7-11.6.3v3l11.8-.1z"/> + </g> + <g stroke="#000"> + <path fill="none" stroke-width=".7" d="m503.7 265.1 8.7 20.8M460 271.7c-1 6.5-2.5 14.8-4.2 21.1"/> + <path stroke-width=".4" d="M556.9 284.3a88 88 0 0 0-26.5-1.3c-5.8.4-11.7.6-17.1 2.3q-1.3.4-2.1 1c-1.6 1.5-1.7 4-3 5.7s-6 4.5-7.9 5.7c-12.5.2-26.5 0-42.3-2.3l-2-2.5-1-.9 2.4 1h5.6l13.7-.4s11.5 0 17.2-.3l9.8-.8q1.2.1 2-.4c1-.6 1.3-1.8 2-2.9.6-.8 1-2 2-2.6 2.4-1.7 5.6-1.6 8.2-2.1 3.3-.7 6.2-.8 9.5-1.3l11.2-1q3.6-.2 7.3 0c3.6.2 7.7 0 10.9 1.8.6.2 1.7.9 1.3 1.5-.3.4-.8-.2-1.3-.2z"/> + <path fill="none" stroke-width=".5" d="M499.5 200.3c1.9 1.5 5.3 2.7 8.7 3.2M495.6 253q-6 4.2-12.4 6.2m23.5 30.8-6.9-18m1.4-5.9 8 20.6m-9-15.3 5.3-1.8"/> + </g> + <path fill="#bca76b" stroke="#472b1f" stroke-width=".4" d="m496.6 197.6-1.6 95.8 5.7-.3-1-95.4z"/> + <path fill="none" stroke="#000" stroke-width=".7" d="M503.5 212.4q3.2 6.4 10.9 10"/> + <g fill="#bca76b" stroke="#472b1f"> + <path stroke-width=".5" d="M484.8 206.6c1.8 8.2 10.3 7 10-.6"/> + <path stroke-width=".7" d="M492.6 206.3c2.3 9.6 13.2 8.1 12.8-.5"/> + <path stroke-width=".5" d="M501.7 206.3c2.4 7 6.6 7.6 10.2-.7m2.5-2.5-30.9 1.4v2.2l31.1-1.3zm-29.6 22.8c1.8 8.2 10.3 7 10-.6"/> + <path stroke-width=".7" d="M492.6 225.6c2.3 9.6 13.2 8.1 12.8-.5"/> + <path stroke-width=".5" d="M501.7 225.6c2.4 7 9.5 5.8 10.2-.7m2.5-2.5-30.9 1.4v2.2l31.1-1.3z"/> + </g> + <path fill="none" stroke="#000" stroke-width=".7" d="M494 236.5c-2.7 1.9-5.2 4-8.9 5.2"/> + <g fill="#bca76b" stroke="#472b1f"> + <path stroke-width=".5" d="M483.9 244c1.8 8.2 10.2 7 10-.5"/> + <path stroke-width=".7" d="M491.6 243.6c2.4 9.7 13.3 8.3 13-.4"/> + <path stroke-width=".5" d="M500.8 243.6c2.4 7 8.7 4.8 10.1-.5m2.5-2.5-30.8 1.3v2.2l31.1-1.3z"/> + </g> + <path fill="none" stroke="#000" stroke-width=".5" d="M487.9 265.8c-.8 9.5-4.6 18-7.1 27m10.5-26.9c-.8 9.2-3.7 17.8-6 26.5m8.9-27.3a175 175 0 0 1-4.6 27.2"/> + <g fill="#bca76b" stroke="#472b1f"> + <path stroke-width=".5" d="M484.3 261.3c1.8 8.3 10.2 7.1 10-.5"/> + <path stroke-width=".7" d="M492 261c2.4 9.6 13.3 8.2 12.9-.5"/> + <path stroke-width=".5" d="M501.2 261c2.4 7 8.6 5.7 10.1-.6m2.5-2.5-30.8 1.3v2.2l31-1.3z"/> + <path stroke-width=".3" d="m504 216-11 .5v3h11zm-.4 18.8-9.9.2v2.8h9.9zm.5 18.1-10.5.4v2.9h10.6z"/> + </g> + <path fill="none" stroke="#000" stroke-width=".5" d="m487.7 269.3 5.7 1.1m-7 4.2 6.6.2m-7.7 3.7 6.9 2m-8.7 4 8-.3m-9.5 5.3 8.5-.2m-10.4-23.7c-1 9.7 5.3 18.9 8.4 27m17.5-5 5.4-1.7m-6.7-1.3 6.1-2.6m-8-2 6.3-1.9m-7.8-2.5 6.2-1.6"/> + <path d="M468 309.7q-1.2-.1-2.2-.4l-2-.7-2-1.3-1.7-1.4-2-1.9-1.8-2q-1-.9-1.8-1.9c-.5-.5-.6-1.5-1-2-.8-.2-1.9-.3-2-1.4-.2-.6-.3-1.3-1-1.2-.4 0-.5.5-.3.2-.4-.2-.3.7-.3.2l-.5 1q-.6 1.3.6 1.6c.8.1 1 1 1.7 1.4q.8 1 1.9 1.8l1.5 2q.6.8 1.5 1.5l1.3 1.7 1.8 1.5 1.8 1 2 .9q1.1.4 2.5.4 1.2.1 2.3-.5c.7-.5 0-.4-.4-.5zm44.8-21.8a27 27 0 0 1-4.6 7.8c6.6 1.3 11.9-.5 17.8-1.5q-.8-4-.4-8.3c-4.7.5-8 1.6-12.8 2"/> + <path fill="#333" d="M513.4 288.6c-.8 2.1-1.5 4.3-3.1 6.1 5.4 1.2 9.8-.5 14.7-1.4-1-2-.7-4-.4-6.2z"/> + <path d="m456.5 298.2 19.1 1.4c15.4.5 33-.2 48.2-2 .6 0 1.7-.2 1.9.4s-.8 1.6-1.5 1.7c-17.5 2.3-35.2 1.4-52.8 1.3l-10.4-1.1z"/> + <path fill="none" stroke="#000" stroke-width=".7" d="M463.5 255.3c-5 3.8-9.8 7.6-15.4 9.8m16.1-27.9c-4.5 3.3-9 7.3-13.7 9.2"/> + <path fill="#bca76b" stroke="#472b1f" stroke-width=".4" d="m462.6 204.3-.1 89.5 4.9-.4-2.9-89.6z"/> + <path fill="none" stroke="#000" stroke-width=".7" d="M464.5 203.8c4 4.4 7.2 6.8 10.5 9.6"/> + <path fill="#bca76b" stroke="#472b1f" stroke-width=".5" d="M465.8 201.2c-1-.5-3.7-.6-4.7.7-.6.6-.1 2.9.6 2.9 1.4 0 3.2.1 3.8-.5s1-2.7.3-3z"/> + <path stroke="#000" stroke-width=".9" d="M463 305.3q.3-1 1.4-1 1.4-.2 2.3.1l1.4.7 1.3 1c1.6.5.8-1.3 1.7-1.4s1.6-.3 2.2 0q.8.3 1.2 1l.9.8c.1.5 1.9 1.3 2 .2.3-.7.1-2 1.3-1.9q2 .1 3.7.4.9.3 1.7 1c.5.2.4.8.8.7 1.3 1 1-.7 1.4-1.3.3-.5 1.2-.3 1.6-.7q1.2-.4 2.6-.4l1.8 1q.6.4 1 1.3c.1.6.7 1.1 1.2.6.3-.6.8-.6 1.3-1q.8-.1 1.2-.8c.3 0 .6-.7 1-1q.9-.4 2.4-.4 1.5.3 2.3.8.4.6 1 1c.3.5 1 0 1.4-.2l1.4-.8q.6-.6 1.9-.7c1-.1 1.5.4 2.2.5q1.3.3 2 .8 1 .8 1.8.2c.7 0 .2-1.3.4-1.6.8-.6 2.7-.6 3.7-.2l2.4.2q.6.3.8 1.2c.3.5 1.8.5 2.3.1.4 0-.1-.7-.3-.9l-.8-1c.7-.4 1 .3 1.7.4l1.2.8q.7.5 2 .4c.8.3.5 1.5-.5 1.2-.7.3-1.9 0-2.7.1h-4.2l-2.6.3-2.4.1q-1.5.2-3 .1l-2.5.3-2.4.1c-1.2.3-2.7 0-4 .1l-2.3.2-2.5.2-2.6.1c-1.5.3-3 0-4.5.1l-2.5-.2H487c-.6-.3-1.7 0-2.3-.3h-9.9c-.5-.3-1.5 0-2.3-.2h-3.7c-1-.2-2 0-2.9-.4-1.3-.2-3-.6-2.8-1.7z"/> + <g fill="#bca76b" stroke="#472b1f"> + <path stroke-width=".4" d="M452.1 215.4c1.6 5.7 9 4.8 8.7-.4"/> + <path stroke-width=".5" d="M458.8 215c2.1 6.8 11.7 5.9 11.3-.2"/> + <path stroke-width=".4" d="M467 215c2 5 5.7 5.5 8.8-.3m2.1-1.7-27 1v1.4l27.2-.8z"/> + </g> + <path fill="none" stroke="#000" stroke-width=".7" d="M459.5 226c-2.4 2-6.8 4.7-8.8 4.5"/> + <path fill="none" stroke="#000" stroke-width=".7" d="M454.7 218.5a672 672 0 0 1-20.5 64.3"/> + <g fill="#bca76b" stroke="#472b1f"> + <path stroke-width=".4" d="M451.9 232c1.5 6.3 9.1 5.3 8.9-.4"/> + <path stroke-width=".7" d="M458.2 231.9c2 8.4 12 7 11.6-.4"/> + <path stroke-width=".5" d="M467 231.8c2.3 5.2 6.7 5.7 10-.3m1.2-2.6-27.5 1.3v2l27.8-1zM450.3 248c1.8 7.7 10 6.5 9.7-.5"/> + <path stroke-width=".8" d="M457.9 248c2.4 11 13.8 9.5 13.4-.7"/> + <path stroke-width=".5" d="M466.8 247.8c2.4 6.4 6.6 7 9.9-.5m2.3-2.4-31.5 1.3.2 1.8 31.6-.9zm-29.2 21.7c1.8 8.2 10.7 7 10.5-.4"/> + </g> + <path fill="none" stroke="#000" stroke-width=".7" d="M473.1 270.9q2.9 11.7 6.5 21.7m-8.9-22c1 7.6 3.1 14.9 5.3 22"/> + <g fill="#bca76b" stroke="#472b1f"> + <path stroke-width=".7" d="M457.9 266.3c2.2 11 13.8 10.1 13.6-.5"/> + <path stroke-width=".7" d="M467.6 266.3c2.6 7 7 7.6 10.6-.5m2.5-2.9-34.9 1.3v2.6l35.5-1.3z"/> + <path stroke-width=".3" d="m469.4 223.5-10 .3v2.2h10.2zm0 16.3-10 .2v2.3h10.2zm.7 17.7-10.8.3v2.2h11z"/> + </g> + <g fill="none" stroke="#000"> + <path stroke-width=".5" d="m474.1 273.2-5.7 1.2m6.6 3.1-5.7 1.2m7 3.6-5.8-.3m7.5 4.8-6 1m-20.8-1.9 6 1.2m-4.3-6.1 5.4 1.2m-4-5 5 1.3m-4-4.7 4.5.9"/> + <path d="M526.9 293.9c10-.5 22-1.7 30.2 1.5m-29.5 1.8c9.2-1.4 20-2.1 28 .9m-27 5.8a53 53 0 0 1 22-.3m-21.3 1.9a48 48 0 0 0 20.8.2"/> + </g> + <path d="m431.5 282.1 21.7 13 .5-.5-6.8-4.7c-5-3-9.8-6-15.4-7.8"/> + <g fill="none" stroke="#000"> + <path stroke-width=".5" d="m535.7 292.8-.2-7.2m2.4 0v7.5m4 0v-7.7m4.6.7v7.4m2.7-7.5v7.6m3.6-6.8v7m1.8-7.1v7.9m-18 1.4v6.8m-2.3-6.5v6.5m6-6.7-.3 6.5m2.5-6.6-.1 6.5m3.4-6.5-.4 6.2m3.5-5.4-1.2 5.8"/> + <path d="M527 286c10-1.2 19.9.3 29.8 1.3"/> + </g> + <path fill="none" stroke="#000" stroke-width="2" d="M581.1 197c.1-25.6-1.3-50.4-.7-72.1-33-14.7-76.6-17.7-98.7-17.7s-65.8 3-98.8 17.7c.6 21.7-.8 46.5-.7 72z"/> + <path fill="#69737c" stroke="#000" stroke-width=".7" d="M475.7 155.4s3.6 5.4 4.6 8.2q.7 2.3.5 4.4c-.2 2.7-1.2 5.3-2 7.8-.6 1.8-2 3.2-1.2 4.9.3.8.7 1.6 1.6 1.5.5-.1.8-.8 1.2-1.2l1-.6c.5-.2 1.2.1 1.6-.3q.6-.6.3-1.4c-.3-.3-.8 0-1.3 0s-1.2.5-1.7.2-.8-1.7-.8-1.7l1.6-4.4c.5-1.2 1.3-2.3 1.5-3.6V168c0-.7-.2-1.4.3-2 .2-.2 1 .2 1.2-.2.6-1.5-2.1-2.5-2.8-4l-.2-1.7c-.5-1.3-2-3.5-2-3.5z"/> + <path fill="#66452b" stroke="#000" stroke-width=".7" d="M486.9 159.6s3.1 4 3.5 6.3l-.4 1.6c0 .8.5 1.6.5 2.5-.2 2.7-1.6 5.2-2.3 7.8l-1.4 6.7 2-.2.4-3.4 1.5-5.8 1-4 1.3-2.5c.2-1.2.6-2.5 0-3.6q-.4-.5-1-.7a10 10 0 0 1-1.6-2.5c-.5-1-1-3-1-3-.5.3-2.5.8-2.5.8z"/> + <path fill="#fff" d="m471.9 152.3 2.3 1.9 3.8 2.3 1.9.2 2 .7 2.6-.1 1.9 2 .4.3 2.2-.3.8-.9 4-6-1-10-19 1.1z"/> + <path fill="#fff" d="M492.4 135.4a41 41 0 0 1 7.1 7c1.5 1.8 2.4 4.3 4.8 5.4 3.2 3.4 16.9 7.4 17 8.5-3.2-1.3-4.6 3-7.7 2.3-2.8.8-5.2-1-7.6-2-3.8-.2-7.6 0-10.9 1.9-1.8 1-3.9-.5-5.3 0l-.2.2-.2.2m-17.5-6.5c-2.2-1.1-3.8-3.2-5.9-4.4-1.5-2.2-3.6-4.5-3.5-7.4-.2-3-1-7.2.4-10-1-2.3-2.4-3-3.6-5.1-.8-3.1-3.9-4.9-2-7.2 2-1.9 3.5-4 6.2-5a12 12 0 0 1 6.6.5c2.7.3 4.2 2.6 5.7 4.7a23 23 0 0 1 3.4 9.1c1.3 2.6 4.7 3.2 7.2 4.3 2 1 4.2 1.9 6 3.5"/> + <path d="M507.4 153.2c-1-.1-3.6 1-3-.7-2.6-.2-5.4.4-8-.5a47 47 0 0 0-8.3-2.9c-2.7 0-6 .5-8.1-1.7-2.2-1.3-5.4-.4-7.4-2.3a9 9 0 0 1-3.3-6.8c-.3-2.6-1.3-6.1 1.6-7.7 2-.6 3.8 0 5-2a10 10 0 0 1 6.7 1.7c2.5 1.2 5.3 2 7.7 3.4 2.3 1.5 4.2 3.5 6.4 5.2 1.7 2 3.7 3.7 4.8 6.1 1.3 2.6 4 4 6.3 5.4 1.3.4 4.6 2 1.5 2.3l-2 .5z"/> + <path fill="#69737c" d="M480.5 144.6a8 8 0 0 1-4-1.3c-.7-.5-3-1.8-1.5-2.8 1.1-.1 2.5.5 3.5-.4 1.6-.3 3.2-.3 4.7-1 1.4-.8 3-.3 4.4-.8 1-.5.8-2.6 2.4-2.2 1.5-.4 1 2.4-.2 1.5-.9 1.1 1.4 1.5 2 2.2 1.2 1.4-1.5 1.7-1.7 2.7-1.7.5-3-1.6-4.6-1-.3.5 0 1.7-1.1 1.4-1.5-.9-2.7.1-4 .3.4.3-.6 1.5 0 1.4zm29.1 10c-.8-.4-1.8 0-2.7 0q-.9 0-1.7-.2c-.9 0-2.5-1-2.8.3 0 .5 1.5.8.3 1q-1.6 0-3.3-.8c-.5-.4-1.4-1-1.1 0s-.6 1.3-1.4 1.3a5 5 0 0 1-3-1.1c-.6.6.8 1.6 1.6 1.7.8.6-1.2.4-1.7.3q-1-.3-2 .2c-1 .2-1 1.1.1 1 1 .3 2.2.7 3.3.2a9 9 0 0 1 3.6-1.4l3-.5h4.1q1.7.4 3-.5c.7-.2 2.4-.9 1.2-1.4z"/> + <path d="M506 156.5q.8 0 1.4-.2l1.7-.6c.7 0 1-1 .3-1.1l-1.3-.7-1.4-.8 1-1.2 1.5-.3h1.2l1.7.7 1.7.8 1.5.4q.8.4 1.7.6c.6.2.8.8 1.5.7q1 .2 1.8.7.8.3 1 .9c-.5 0-1-.5-1.5-.3-.5 0-.8.5-1.3.4-.2.6-1 .5-1.4 1.1l-1.9 1.1a2 2 0 0 1-1.6 0l-1.8-.2q-1 .2-1.9-.1t-1.4-.9l-2.1-.7-.6-.3zM465 113l-1.6.2q-1.4.3-2.4 1.4a13 13 0 0 1-2.6 2.4l-1.2 1.3q1.1.7 1.9-.2 1-1.1 2.3-1.7c.8-.2 1.6.2 2.4.2a5 5 0 0 0 2 .8l1.6.3 2.2.6q1.4.2 2.6 0h.6l-.2.6q0 .8.5 1.5l.8 1.3.7 1.6.6 1.3q.1.8.7 1.3l1 1.4.8 1.3c.3.3.7.8 1.2.7l1.6-.2h-.2q-.7-.5-1-1.3l-.2-1.5q0-.8-.4-1.5l-.4-1.2-.5-1.3-.7-1.5-.7-1.4-.8-1.3-.6-.5q0-.3-.3-.7-.7-.7-1.1-1.5-1.1-1-2.5-1.3l-3-.9-2.5-.2h-.5z"/> + <path fill="#69737c" d="M474.6 126.5c0-.7-1-.5-1.3 0L472 128c-1 .7-2 .8-3 1.4q-.5.9-1.5 1.5-1.2.5-1.8 1.5c-.1.5-.5 1.3 0 1.7.7.3 0 1 .1 1.4.3.5 1.2.7 1.7.4q1-.7 1.8-1.5 1-1.3 2.3-2a3 3 0 0 0 1.5-1c.5-.4 0-1 .8-1.2q.9-.5 1.3-1.3c.4-.6-.3-1.1-.2-1.7q0-.3-.3-.7z"/> + <path fill="#66452b" stroke="#000" stroke-width=".7" d="M485.2 185h-3.7c-.6-.2-1-1.2-1.9-.8q-1 .3-1.9 1a5 5 0 0 0-1.6 1.3c-.1.4-1.2.8-.2.8.8.1 1.3-.8 2-.9.7-.3 1.5 0 2-.1h1.8l2 .2c.9 0-.4.6-.7.8q-1 .4-2.3.5t-2.3.3l-2 1.2c-.4.2-1.4.7-.4.7q1 0 1.9-.3l3.4-.9 2.3-.6c.5 0 1.7-.3 1.3.6a4 4 0 0 1-1.8 1.3q-.8.6-1.9.8c-.5-.2-1.7.2-.8.8.4.7 1.3.2 1.8 0l2-.9 2.2-1 2-.8q1-.5 1.7-1.5.4-.9 1.3-1.2c.7-.2 1.4 0 2-.2.8 0 .6-1.4-.1-1.5l-1.8-1.2q-1-.5-2.3-.4a2 2 0 0 0-1.6 1c-.4.5-.5 1.4-1.3 1.2q-.6.1-1.1-.2zm-18 4.6s.6-2.5 1.5-3.4c2-1.9 7.2-3.2 7.2-3.2-2.3 1-5 .2-7.2.9-1.8.5-4.9 2.9-4.9 2.9s1.2-2.5 2-3.5c2.7-2.9 6.8-3.2 10-2.7l3.6.4s.6.4.3 1c-.5 1.1-2.2 1.8-3.4 2.3-3.2 1.7-7.2 3-9.2 5.3z"/> + <path fill="#69737c" stroke="#000" stroke-width=".7" d="M478 180.6c-2.9 1.9-9.5 5.4-9.3 5.6 0 0 5.7-1.3 8.3-2.6.9-.4 2.2-.7 2.5-1.7q.1-.8-.5-1.4a1 1 0 0 0-1 0z"/> + <path fill="#69737c" d="M491.7 165.4c-.6 0-.7 1.3-.8 2 0 .5 0 1.4.5 1.4s.8-1 .8-1.7c0-.5.1-1.6-.5-1.7"/> + <path fill="#69737c" stroke="#000" stroke-width=".7" d="M488.8 184.3c0-.5-.7-.2-1-.1q-1 .2-1.9.9l-1.4.9-2.9 1.5-1.3.5q-.4.2.1.2 1 .3 2-.1l2.2-.7 1.6-.7c.3-.2 1.3-.4 1.6-.5.6-.4.4-.8 1.1-.8.5 0 .5-.7 0-.8v-.3z"/> + <path fill="#69737c" stroke="#000" stroke-width=".7" d="M482.3 190.4q.8 0 1.5-.3l1.9-.6.8-.4a4 4 0 0 0 1.2-1.4l.7-1.3q0-.6-.6-.3l-1 .8-1 .8-1 1.4-.6.4-1.6.7z"/> + <path fill="none" stroke="#000" stroke-width=".7" d="m489.2 152.9.4 1 .2 1.5c0 .5-.5.8-.6 1.3v1c-.2.5 0 1-.2 1.6-.3.5-1 .1-1.5.2q-.8.3-1.1-.3l-1.2-1.2q-.8-.7-1.3-1.5l-.9-1.4-.2-.5m1.7 2.7h-2.6c-.3 0-1 0-1.2-.3q-.4 0-.8-.3h-.7q-.4-.7-.9-1.1l-.7-.5-.5-.6-.5-.8-.4-.8v-.2m3 4c-.1.5-.8 0-1.1-.2l-.8-.3-.7-.4-.8-.5-1-.5-1-.8q-.8-.4-1.2-1-.7-.3-.7-1l-.3-1.2-.1-.5"/> + <path fill="#bca76b" d="m507.4 157 1.2-.2 1.2-.2q.5-.5 1.1-.5.8 0 1.3-.2a1 1 0 0 1 1-.4q.6 0 1.1.2l1.1.3 1 .5c.4.2-.2.5-.3.6-.4.2-.8 0-1.1.3q-.6.3-.8.8-.4.4-1 .4h-1q-.5.2-1 0l-1-.2q-.5-.4-1-.5l-1.5-.7z"/> + <path stroke="#000" stroke-width=".5" d="M459.6 122.7c-.9-.2-1.8.2-2.6.2h-5.2c-1.3.3-2.6.9-3.9 1l-5.3.1c-1.3.1 0-1.5.8-1.5q2.4-.8 4.9-1.2l3.7-.7 3-.8q1.7-.4 3.2-.2l3.3-1c1-.5 2-.2 3-.8.5-.8 1.5-.7 2.5-.7q1.6.2 2.5 1.4c.7 1-1.4.9-.8 2q-.7.4-1.6.4c-.9 0-1.1 0-1.5-.2l-2.2-1.3c-.8-.2-.9 1.3-1.8 1.1-1.2.5-2.6.3-3.9.4q1.3.4 2.4 1.2c.3.4-.2.4-.5.5z"/> + <path fill="#fff" d="m464.8 119.1.8-.3.5-.8s.7 1 .3 1.4-1.6-.3-1.6-.3m2.2-2c.1 0-.7-.6 0-.8.6-.7 1.6-.1 2.4.1q2.4.6 4 2.4c1.5 1.6 1.8 3.8 3 5.7l1 2.8c.3.7 1.4 1.5.8 2.3-.7.4-1.4-.2-2-.3-1-.1-.5.9 0 1 .7.3 1 1.3 0 1.2l-2.6-.3c-.7-.4.2-1 .6-1.3s1.2-.7 1-1.4c0-1.2-.8-2.3-1-3.5q-.3-1.4-.9-2.7c-.4-2-2.2-3.3-4-3.9l-2.3-1.1z"/> + <path fill="#bca76b" d="m473.5 118.1.8.4.8 1.2.2.7q.1.4.5.7l.3 1 .4 1 .3.7q.3.5-.2.6l-.6-.3-.7-1-.2-.6-.3-1-.4-.7-.4-1c-.1-.3-.7-1.1-.6-1.5zm-5.9-2.2-.4-.3-.6-.3c-.4.1-.1-.3-.3-.2l-.2-.5-.3-.4s-.2-.2 0-.2l.6.1.5.1h1.1l.3.1q.3.1.4.4l.3.5v.4l-.5.2-.6.2z"/> + <path fill="#fff" d="m467.1 115.6-1 .1-.4.4-.6.2-.5-.3-.3-.3-.4-.2q-.2 0-.2-.4v-.5l.4-.2h1l.7-.1.4.3zm1.6-.9.7-.2.7.1q.5 0 .8.3l.8.4.7.3.7.4.6.6q.1.4-.3.4l-.7-.4-.7-.2-.7-.3-1-.4-.5-.1-.9-.5q-.2-.1-.2-.4"/> + <path d="M472.4 120c-1 0-2 .4-3 0-.7 0-1.3.6-2 .8-.8-.1-1 1.1-1.7 1-.7 0-1.4-.5-2-.3q2 .8 3.8 2a6 6 0 0 0 2 1.3c.7.3 1.3.8 1 1.5-.2.8-1.4 1-1.4 1.8-.1.8-1 1.2-1.3 1.8s-1 1-1 1.6c.1.8 1 .2 1-.4.2-.5.7-1.4 1.4-1 .5.7 1.2-.6 1.8-.3q.7.9 1.3.1c.5-.2 1.2-.5.7-1 0-.7.8-.7 1.2-1 .5-.2 1-1 .5-1.4-.5-.7 0-1.7-.6-2.3-.5-.7 0-1.7-.4-2.4q-.4-1.2-1.2-1.8z"/> + <path fill="#69737c" d="M499.2 147.2c-1 0-2 .9-3.2 1s.4.8.8 1c1.1.8 2.4 1 3.6 1.5q1.8.9 3.7.6c1.1-.3.3-1.4 0-2-.7-1-2-1.5-2.8-2.4q-1.2-.7-2 .3z"/> + <path fill="#fff" d="m498.4 149.7-1.2.1q-.8.2-1.5-.1l-1.4-.5q-.7-.3-1.1-.8c-.3-.4.3-.4.6-.4q.7-.3 1.6-.2l1.7.8q.8.3 1.3.8zm5.6-.4c.1.5-.7 0-1 .2a3 3 0 0 1-1.6-.3q-1.4-.7-2.7-1c-.4-.1-1.3-.5-.6-1a3 3 0 0 1 1.7-.8l1.8.6q.9.4 1.7 1t.8 1.3z"/> + <path fill="#69737c" d="M488.6 143.8a5 5 0 0 1-2.8.7c-.9.3-2.3-.5-2.6.6-.4 1 .7 1.4 1.3 1.8 1.8 1 3.8 1 5.7 1 .6 0 2.3-.2 1.4-.8q-1.5-1.2-2.5-2.7zm9.8.6-1.2-.3-1.4-.8-2-1q-.5-.4 0-.6c.4 0 .6-.5 1-.1q.6.3 1.1 1t1.4.8q.8.4 1 1zm-1.4 1.8s-1.7.5-2.5.2q-1-.2-1.8-.6-1.2-.5-2-1.3c-.5-.5 0-1.4.8-1.2.4-.1.2-1 1-.6s1.7.8 2.4 1.4l1.5 1.3zm-13.2-12.4c1.2.3 2.6.8 3.3 2 1 1.1-1 1.9-2 1.1q-2.2-1.1-4.5-2c-1.6.3.6 1.2 1 1.5q1.3.9 1.3 2c-1 .8-2.3 0-3.4-.2-1.2-.1-2-1.2-2.7-2q-.9-1-2-.6c0 1 .8 1.3 1.3 2.2.4.5 2 1.8.5 1.9a5 5 0 0 1-2.9-2.2c-.7-.7-1.2-2.2.2-2.4q2-1 4.2-1c1.5-.2 3.1 0 4.7-.4.2 0 1.2-.5 1 0z"/> + <path fill="#fff" d="m471.9 134.7-.4 1v1.2l.4 1q.3.6.8.8.3.4.8.6l.7.4 1 .2q.5 0 .7-.3.3-.3-.2-.5-.4 0-.7-.5l-.7-.7q0-.4-.4-.8l-.6-.7-.7-.7-.6-.8zm10.4 4-2.6-.5a5 5 0 0 1-2.2-1.6q-1-1-2-1.7c-.9-.3-1.2.9-.7 1.3l1.6 2 2 1.4a7 7 0 0 0 3.1.8q1.2-.1 1.6-1-.2-.7-.8-.6zm-2.4 5.4q-.9 0-1.7-.3a3 3 0 0 1-1-1.2q-.8-.9-1.5-1.1c-.5-.1-1.2.2-1 .8q.1.7.8 1.3 1 .7 2 1.1.6.3 1.2.2c.5 0 1 .2 1.2-.3zm5.9-1.7q.8.4.5 1.3-.6.8-1.7.8l-1.6-.1-1.7-.8c-.6-.2-.7-.9-1-1.3s.5-.7.9-.6c.5.2 1 .8 1.4 1l1.5.5c.4 0 1 .2 1.2-.2l.4-.6zm5-1.3c.5.4.2 1.3-.5 1.5h-1.4l-2-1q-.8-.3-1.3-.9c-.2-.6.5-1 1-.8q1.2.2 2.4.8.7.4 1.7.5z"/> + <path fill="none" stroke="#000" stroke-width=".7" d="M492.4 135.4a41 41 0 0 1 7.1 7c1.5 1.8 2.4 4.3 4.8 5.4 3.2 3.4 16.9 7.4 17 8.5-3.2-1.3-4.6 3-7.7 2.3-2.8.8-5.2-1-7.6-2-3.8-.2-7.6 0-10.9 1.9-1.8 1-3.9-.5-5.3 0l-.2.2-.2.2m-17.5-6.5c-2.2-1.1-3.8-3.2-5.9-4.4-1.5-2.2-3.6-4.5-3.5-7.4-.2-3-1-7.2.4-10-1-2.3-2.4-3-3.6-5.1-.8-3.1-3.9-4.9-2-7.2 2-1.9 3.5-4 6.2-5a12 12 0 0 1 6.6.5c2.7.3 4.2 2.6 5.7 4.7a23 23 0 0 1 3.4 9.1c1.3 2.6 4.7 3.2 7.2 4.3 2 1 4.2 1.9 6 3.5"/> +</svg> diff --git a/apps/web/public/flags/sh-ta.svg b/apps/web/public/flags/sh-ta.svg new file mode 100644 index 00000000..ba390631 --- /dev/null +++ b/apps/web/public/flags/sh-ta.svg @@ -0,0 +1,76 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sh-ta" viewBox="0 0 640 480"> + <path fill="#006" d="M640 480V0H0v480z"/> + <path fill="#8fc5ff" stroke="#fff" stroke-width="4.3" d="M574.5 199.7c0 63.7-10.2 132.5-93 165.3-82.6-32.8-92.7-101.6-93.1-165.3z"/> + <path fill="#366cc9" stroke="#000" stroke-width="4.3" d="M481.4 364.7A134 134 0 0 0 555 302h-7.8c-2.3-.4-79.4-7.8-88.7-11.7-7.9-2.8-38.4 2.7-52.4 7.8a133 133 0 0 0 75.4 66.5z"/> + <path fill="#5d3100" stroke="#000" stroke-width=".4" d="M423.6 325.6h4.7c1.1 0 1.1 0 1.5-1.2s1.6-.8 2.4-.4 2.3 0 3-.8c.9-.8.9-.8 1.7 0s1.1.4 2 0c.3 0 1.9-.8 2.3-2s1.5-1.5 2-.7q.5 1 1.9.8.9-.1.7 1.5c0 .8 0 1.2 2-.4 1.6 1.6 2 .8 2-.8 0-1.5 0-7.8-.8-8.2s-1.2-3.1-1.6-5c0-4 0-4-3.9-6 0-1-.8-1.5-4-1.5.5-.4 0-1.5-.7-2-.8-.3-.8-.7 0-2.3.8 0 2.4 0 2.7-1.2.8-.7 3.2-.7 4.7 0 1.6.8 3.2.8 5.9 0l4.7-2.3c2-1.2 2.3-1.6 2.3-3.1 0-4-1.1-7.8-2-9.8-1-2-1-4-2.7-7.4-1.5-3.2-1.5-4-3-5.9-.9-.8-1.3-1.2-1.3-2.3a6 6 0 0 0-2-4c-3-2.7-3.8-11.7-5.4-18.3-.8-4 0-13-1.5-14.5-2.8-2-4-1.6-6-2.3-1.5-2-1.9-5.5-3.4-9-2 .4-3.2 2.3-4.3 3-1.2.9-1.6.9-1.6 2.8 0 1.6-1.2 4-2.7 7-1.6 3.2-5.1 2-7.9 6.3-5.4-6.6-5.4-8.6-5.8-10.5 0-2-1.2-2.4-4.3-5.1v-6c-2.8-2-4.3-1.5-5.5 0-1.2 1.2-2 3.1-3.9 4-.8 1.5-4 4.6-6.3 9 2.4 35.1 10.2 70.3 34 98.5z"/> + <path fill="#ff0" stroke="#fff" stroke-width="4.3" d="M574.5 199.7c0-24.3-1.2-47.8-.8-68a249 249 0 0 0-92.3-16.9c-20.7 0-61.4 3.1-92.2 16.8.7 20.3-.8 43.8-.8 68z"/> + <path fill="#cf6200" d="M393.5 227.4c1 1.6 2.9 4.3 3 6 .8-1.6 1.4-2.2 1.5-3.1 0-1 1.3-2.7.8-3.7s-.7-1.7.4-1 .9 2 .7 3.8c-.7 5-2.7 6-3 9.3 2.9 7 .7 9.6 4 16.6.5.2 1.8-.3 2.2-.2 1.8-1.2 3-.9 5.5-.3 2.4.5 3.7 2.2 3.7 3.8s0 1.9.6 2.8 1.4 2.3 1.3 3.4q-.3 1.5.5 2c.3.5-.2 1.8-.4 2.4q-.6 1 1 3.2c1.2 1.5 4 7.9 4 11.6 0 3.9.3 5.6 1.8 6.3s2 1.3 1.8 2.9.7 10 .9 11.4c.1 1.3.7 1 1.4 1.7s1 1.5 3 1.5h5.2c2 2.5 3 6 3.5 8.1.5 2.2.4 5 1 5 .8 0 1.5 0 1.3-2.5-.2-2.6-.4-3-1.3-4.4q-1.6-1.8-1-2.7.7-1.3.5-3.1c-.2-1-.6-2.6 1.2-.6l2.7 3.3c.5.6.7 2 .6 3.3q-.3 2 .9 1c.7-.6 1.5.5 1 1.8q-.4 1.9 1.5 2.6 1.7.4 2 1.6c.3.8 1.3 1.3 1.3-.6a27 27 0 0 0-1.2-6.9c-.5-1.2-.9-3.8-1-5.4-.2-1.5-.4-1.9-1.1-2.1q-1.2-.6-1.5-1.6c0-.7-.7-1-1.1-1q-.7 0-1.2-.8-.3-.8-1-.6c-.5-.1-1.3.2-1.6-.6-.2-.8-.6-2-1.1-2.6s-.9-.9-1-3.2 0-2.6-.8-3.4-2-3-2.5-3.8c-.4-1-1-1.9-1 0 0 2 0 3 1.3 3.7 1.2.7 1.5.7 1 1.8-.6 1 0 1.7.2 2.4s.6 1.4 0 2q-1 1.2-1.1-.5a6 6 0 0 0-.9-3.3c-.4-1-.9-1.6-1.5-1-.6.4-1.1-.2-.7-.6q.6-.6 0-1-.5-.3.1-1.2c.6-.9.5-.9.2-2.3s-2.5-8.6-3.5-10.2c-1-1.7-.9-2.8.3-1.3 1.3 1.6 2.5 3 2.7 4.4q0 2 .7 2.6.6.9 1-.8c0-1.1 1-.7-.4-2.8-1.5-2.1-4.1-5.7-5.2-12.2-1-6.4-1.4-10.5-2.4-12.2-1-1.8-1.3-2.2-1.4-3.8s0-3.3-.7-4.5-1.2-1.4-1.3.4 0 6 .6 6.6c.6.7.2 2.6 0 3.5-.2 1-1.7 2.1 1.7 4.1 1.3.9 1 2 1 2.6q-.3 1.2-1.2-.4a7 7 0 0 0-2.1-2.6c-.7-.5-.9-1-.7-2.5q.4-2.3 0-3-.5-.6-.9.8c-.2.8-.3 3-.9 3.6-.5.6-.5.2-.8-1.1q-.4-2.1.8-5.7c.7-2.2 1.2-4.8.6-7.8s-.4-4-2.6-6.5c-2.4-2.6-5.1-5-6.1-8.1-1.2-3.2-1.4-6-2.7-7.4a17 17 0 0 0-4-3.7v-4.7q0-1.8-1.8-1.6-1.9.4-3 2.8c-.8 1.6-1.4.9-2.6 3.5s-2.6 4-2.6 6.8z"/> + <path fill="#cf6200" d="M400.8 257.1c1 .6 1.7.9 3 .3 1.1-.6 2.5-2.4 4.3-.6a11 11 0 0 1 2.4 6.7c0 2.3 0 6.5 2.6 8.8q3.9 3.4 4 7.8a53 53 0 0 0 1.4 9q.6 2 1.9 3.5c.7.8 1.4 3.1 1.5 5.5.1 2.5-.3 4.1 0 5.4.4 1.2 0 2.2-.8 1.7-1-.5-1.2-1-1.8-2q-1-1.6-.5.7c.5 2.3 2 3 3.3 3s1.7.1 2.6 1c.8.8.9 1.2 2.3 1.2s1.6 0 3 .4c1.3.3 1.3.2 2 0q1.1-.3 1.9 1.7c.4 1.3 1.7 5 1.7 6s0 2 .7 3c.7 1.1.5 2-.3 1.5-.7-.6-.8-.5-1.3-.3q-.7.2-1.9-.8c-.8-.4-.3-.3-1.1-1.5q-1.2-2-1.3-.7 0 2.1-.8 1.4t-1.4 0c-.5.6-.7 1-1.3 0s-1.3-1-2-1.3c-.5-.1-.5-.1-.8-1s-1.3-1.2-2-1.2q-1.3 0-1.4-1c0-.6-.6-1-1-1.3s-.2-1-.3-1.7-.7-.5-1.1-.6c-.5-.2-.7-.1-.7-1.2s-.5-1.3-.7-2c-.4-.8 0-1.5.2-2.2.1-1 0-1.4-.6-2-.6-.8 0-1.5-1.7-3-1.7-1.3-2.5-.1-3-3.4a44 44 0 0 0-2.4-11.4c-1-1-1.5-2-2.5-2.3s-1.4 0-1.5-2-.7-4.4-2-5.6l-2.3-2.2c-.6-.4-.9-1.4 0-3 .9-1.8.5-4.2.4-5.3s-.4-2.6-.2-3.8 0-2.7-.2-3.5-.7-1-.2-1.7zm24.5-28.8a22 22 0 0 1-4.7 4.6c-1.9 1.4-4.3 2.4-3 4.7 1.4 2.3 2.5 2.6 2.7 4.3q.3 2.9 2 3.7c1.5.4 2 .2 2 3s0 4 1.2 5 1 2.2 1.6 4.7c.6 2.6.6 8.2 2.2 12 1.5 3.7 5.3 11 4.8 12.4s-.8 2.6.7 4.4c1.7 1.7 2.7 4.3 3 5.8 0 1.5.3 2 2 1.5a6 6 0 0 0 2.9-1.7q.8-1 3.1.2c1.5.9 3.8 1.6 5.2.9 1.3-.9 2-2.1 3.2-2.1 1.9-1.4 2.6-4.2 3-5s.1-.8-.7-1.6-.4-2.2-.5-3.5q-.1-2-2.3-6.5c-1.6-3-2.7-6.6-3.7-7.5s-1.6-3.3-1.7-4.4c-.1-1-1.4-2-2.2-2.8-.9-.9-1.6-2-2.6-6.8s-1.6-8-1.6-9c0-.8-.2-.8-1-1.2s-1.2-1.6-.8-2.2c.1-.7-.4-1.4-.7-2.2s0-2.3.6-3.2c.5-.8.4-3-.1-5-.5-1.8-1.1-3.4-3.3-3.8-2.1-.2-2.6-.8-3.3-2.6-1-1.7-1.8-4.8-2-5.5s-.7-.8-2.3.6-2.2 1.7-2.2 4.3c0 1.7.4 2.2.9 3.1.5 1 .7 1.3 1 3.8s2.7 6.6-.2 9c-3 2.2-2.6 2.8-2.5 4.4s-.8 2.7-1.3.5c-.6-2.4 0-3.7 1.6-4.8s3.1-2.5 2-4a19 19 0 0 1-1.7-6.6c-.1-1.6-.3-2.2-1.3-.9"/> + <path fill="#00b800" d="m401.2 262.8.3 3.3c0 1.1.4 3.5-.5 5.2q-1 2.4 0 3.1h.1c1.7-.5 2-2.3 1.5-3.2a3 3 0 0 1 .2-3q.8-1.3 0-2.2c-.5-.7-.5-.7 0-2.6.6-1.7-.7-1.7-1.6-.6m17.4 26.3c-.3-1.2-1.5-6-1.5-9q-.2-4.4-4-7.8c-2-1.8-2.4-4.7-2.6-7q-2.2-1.3-1.9 1.2c0 1.8 2 2.6 1.7 5.3s-.3 2 1 3.3c1.1 1.2 1.7 2.6 1 3-.7.5-.7 1.5.2 1.8 1 .4 1 1.4.9 2.4s.9 1.1 1.3 1.7c.6.7.6 2.4 0 3.3-.4 1-.5 2.5.4 1.7s1.4 0 2.1 1.2c.6 1 1.2.7 2 .5l-.7-1.6zm13 23.6c-.4 1.2-1.1.9-1.7.3s-1.3-.6-1-1.8c.2-1.1 0-1.3-.7-1.9l-.3-.3h-.8c-1.5 0-1.6-.3-2.5-1.2l-.5-.4v.8c0 1.1 0 .8-1 1.2s-1-1.1-1.2-2l-.1-.6a4 4 0 0 1-3-2.9c-.5-1.6 0-1.7.6-.7s.7 1.3 1.6 2c.8.5 1.2-.5.8-1.7v-1.3a2 2 0 0 0-.8-1c-1.8-.7-1.2-.8-1.2-2.2q.4-1.8-1.2-.6c-1 .7-1 0-1-2.2 0-2-1.4-2-1.7-.6-.3 1.5-.9.5-1.4-1.5s-1.5-2.6-1.5-.6q0 2.5-1.6 1.2l.4 3.1c.5 3.3 1.3 2 3 3.5 1.6 1.4 1.1 2.2 1.7 2.9q.8 1 .6 2-.6 1.2-.3 2.2c.3.8.8 1 .8 2.1 0 1 .2.9.7 1.2h.8l.7-1c1.3-1.2 3 0 3.7 1.7q.9 2.4 2.3.6c1-1.2.6-1 1.6.1s1.4 1 1.4 1 1-.4 1.8.2c.7.6 1 .5 2.4-1.4 1.3-2-.6-1.4-1.2-.2zm3.8-55.8c.4-3 .1-5.9 1.3-7 1.3-1 2.7-3.3 2.7 1.4-.2 4.6-.4 4.3-1.3 5.4s-1.8 1.4-1 3.1c1.1 1.7 1.2 2 1.1 4.6-.1 2.7-.1 3.9.9 5.2 1.1 1.4 1.4 1.4 1.7 3a8 8 0 0 0 2.4 4.5c1.2 1.2 2.6 4.2 2.7 6.4s2 2.7 3.8 4.3-.4 2.5-1.7 1.8c-1.4-.6-.9 0-1.7 1s-1 1.1-1.7-.6c-.7-1.6-3-2.7-4.1-3.1s-2-2.2-3-4a5 5 0 0 0-3.9-2.6q.6 1.7.5 2.4c-.4 1.5-.8 2.6.7 4.4 1.7 1.7 2.7 4.3 3 5.8 0 1.5.3 2 2 1.5a7 7 0 0 0 2.9-1.7q.8-1.1 3.1.2c1.5.8 3.8 1.6 5.2.8 1.3-.9 2-2 3.2-2 1.9-1.4 2.6-4.3 3-5 .4-1 .1-1-.7-1.7-.8-.8-.4-2.2-.6-3.5q.1-2-2.2-6.4c-1.7-3-2.7-6.6-3.7-7.5s-1.7-3.3-1.7-4.4c-.2-1-1.4-2-2.2-2.9s-1.7-2-2.6-6.7q-1.2-5.7-1.5-8-1.5 2.4-2 .8c-.5-1.2-.9-1.8-1.5-1s-.7-.8-.7-1.5 0-.7-.9-.7 0-1-.3-3.2c-.3-2-.7-2.2-.9.2s-1.7 4-1.1 4.4q.6.9-.3 3.3a5 5 0 0 0 0 3.6c.4 1-.2 3.2-.4 4.9s1.1 3.5 1.5.6zm-24.8-24.2c-1 0-1.7 1-1.1 4 .4 2-1 1.6-1.6.6-.5-1-1-3-2-4.7-1.1-1.7-.6 1.1-.7 2.8-.2 1.7.9 1.7 1.8 3s.2 1.9-.8 1.9-.7 2.2-.4 3.6c.3 1.5-.3 1.8-1 .6-1-1.3-.3-3-.2-5.4.2-2.3.3-1.8-1.2-2.3-1.5-.6-1.3-.9-.6-2.2.5-1.4 1-2 .3-2.7q-1-1 .6-1.2c1-.2.6-1 1.6-1.2 1-.3 1.4 0 1.5-1.7q.1-2.4 1.7-1.9c.7 2.3 1.5 5.8 2.1 6.8m13.7 16c0 2.8 0 4 1.2 5s1 2.2 1.6 4.7c.6 2.6.6 8.2 2.2 12l1.8 4a8 8 0 0 0 2-2.6c.3-.8-.9-2.8-1.8-4.3-1-1.8.1-2.3 1-4.4 1-1.9 0-2-1.6-2.6-1.4-.5-1.4-2-2.2-4.1-.8-2.2-.7-3.1-.2-4.4q.8-1.9-.9-2.4c-1.1-.3-.8-1-.4-2.4s.7-1.6-1-1.3c-1.2.4-1.5.7-1.9 1z"/> + <path fill="#5d3100" d="M439.9 254.3q-.1 2.3-.6 3t.3 2.2q.8 1.1.3 3.4t1 3c.8.4 1.2 0 1 2a6 6 0 0 0 1.7 4.7c1 .8 1.7 2.1 1.5 3q.1 1.2 1.7 2c1 .4.8.5.8 1s.4.6 1.4.9q1.4.3 3.2 2.4c1.2 1.6 3 2.3 2.7.7s0-2.8-1.6-3.5-2.9-4.7-3.5-7.4a17 17 0 0 0-4-7.1c-.3-2 0-2.9-1.2-3.8a4 4 0 0 1-1.7-3.2c0-.8-.6-2-1.2-2.4q-.8-.5-.8-1.8c0-.8-.8-.7-1 1z"/> + <path fill="#00d860" d="M432.7 327a39 39 0 0 0 9.7-2.8c1.7 1.1 4.5 2.6 5.7 2.6q-3.6.7-4.4-.2c.3.7 1 1.9 1.6 2-2.3 0-4.8-.6-5.6-1.4-2 .8-5.2 1-7-.2m4.3 3c.9.3 5.2 1 5.8 1-1.4 1.2-.2 2.4 2.1 2.2-1 .2-2.4.6-1.5.8a24 24 0 0 0 8.9-1.8c-2 2.5-11.4 4.8-15.3-2.2m4 6.1a9 9 0 0 1 5.3.3c-1.4.6-4.5.6-5.4-.2z"/> + <path d="M445.3 336.1c2-.3 8 1 10-.2-.7 1.9-4.3 2.2-5.7 1.7q-2-.6-3.4-.8c.6-.3-.2-.3-1-.7z"/> + <path fill="#00d860" d="M447.4 339a31 31 0 0 0 9-1.1c1.7.6 5.4 1.6 6.2 1.5-1.7 1-5 .4-6 0a11 11 0 0 1-9.2-.4"/> + <path fill="#00d860" d="M450 339.9q3.3.6 6.5-.5c.7.2 2.3.6 3.9.6 1 .5 2.3 1.3 3.7 1.5a17 17 0 0 1-7.5-.7 19 19 0 0 0-8 1.5 3 3 0 0 1 1.5-2.3z"/> + <path d="M447.4 328.6c1.7.5 8.2.2 11.3-1.3 1.4-.7 2.2.4.7.8-5.2 2-9.5 2.6-12.5 1-1.2-.6-1.4-1.2.5-.6z"/> + <path fill="#00d860" d="M478.6 319.8c-7.9 3.7-13 4.8-23.9 1.4-1-.2-1.7 0-.6.7a40 40 0 0 0 8.5 2.6c1.4.1.9.7 0 1-.8.2-1 .8.1.4s7.8-.7 10.5.7q1.6.9 1.3 0 0-.6 1.4-.8c.8-.1 1.4-.4.7-.6q-1-.4-.3-.7.9-.5-.2-.7c-.7-.2-1.3-.4-.6-.7a9 9 0 0 1 2.6-.7c.2-.5-.1-2 .5-2.6"/> + <path d="M465.6 320.7a26 26 0 0 0 17-6c1.6 1 3.7 2 4.9 2.2 1.1.2 2 1.2.3 1.2s-4-.7-5.2-1.2a30 30 0 0 1-17 4.3c-1.1 0-1.4-.5 0-.4z"/> + <path fill="#00d860" d="M452.3 296.3c1.6 1.1 4.3 2.9 7.8 2.6a17 17 0 0 0 5.7 3c-2.4.8-5 1.7-5.6 2.4-1-1-2.5-.8-2.8-1.4-1 1-.9 1.3-.2 1.8a22 22 0 0 0 7 .9c1.2-.4 1.7.7.6 1-2.7 1-8 0-9.8-2.9-2-2.9-3.5-4-8.5-1.3-.5-1.5-.5-1.7-1.5-1.7s-2.8-1.3-1.4-1.3 5.4-.6 8.7-3z"/> + <path fill="#00d860" d="M453.6 303c-1 .1-3.3 1.4-4.1 1.5-.9.2-2.4 1.4-.9 1.4 1.7 0 3.7-1.7 4.8-1.7s1.2-1.5.2-1.3zm5 5c-.7.2-3.3.8-4 .8s-1.5 0-1.4.6.3.9-.9.7c-1-.2-1.9.3-2.1.6s-.5.6.6.7c1 0 1.6.3 2.9-.4q1.7-1 3.6-1.4c1.3 0 2.6-1.8 1.2-1.5z"/> + <path d="M454.9 311.1c1.1.9 6.6 2.6 8.5 2.6 2-.1 1.7.7.2 1a12 12 0 0 1-9.6-2.7c-1.2-1 0-1.4.8-.9z"/> + <path fill="#00d860" d="M480.8 314a21 21 0 0 1-10.2.3c-1.7-.6-3.3-.6-2 .6 1 1.1 4.8 1.8 7 1.3-7.6 1.7-9.6 1.6-11.4 1.3a38 38 0 0 0-7-.2 6 6 0 0 1-3.3-.4c-.7-.5-.9-1.1 1.1-.9q3 0 .6-.5c-1.8-.3-4.1.4-1.8 2 2.4 1.4 7.4-.2 10.7.8a19 19 0 0 0 16.7-3.8c.3-.2.9-1-.4-.6zm-20.6-6.3q.3.9 0 1.4c-.2.4-.1.9.5.4s1-1.2 1.8-.8c.7.3 2.3.3 3 .2q1.4 0 0-.7a7 7 0 0 0-2.9-.6q-1 .1-1.9-.3c-.9-.4-.6 0-.5.4"/> + <path fill="#00d860" d="M471 309.7c-.8 0-2.4-.6-3.1-1-.8-.3-2-.3-1.2 1 .9 1.2 4.6 1.7 6 1.2 1.3-.6.8-1.2 2-.4q2.1 1.3 3.7 1.3c1.6 0 1.3 0 .3-.6s-1.6-.7-1.8-1.2-.2-.9.9-.5c1 .3 2 .8 2.8.4s2.2-1.3 3.5-1.3l.2-.8c-1.8 0-3 .5-3.5.6q-.7.4-2.4.2c-1.7-.2-2.2-.3-2.5-.5q-.6-.4.5-.6c.8-.2 1-.7 0-.6-1 .2-4.2.2-5.8-.3q-2-.7-2.8-.3c-.7.2-.6 1 .3 1 1 0 3.2.3 4 1q1 1-.2.4c-.9-.4-2.5-.2-.9 1"/> + <path fill="#00d860" d="m484.3 307.8-.3.8c1.9 0 6.4.4 8 1.3 1.4-1.1 1.1-1.5 2-1.2 1 .3 2.4.5 3 .3a2 2 0 0 1 1.5-.2c.6 0 2-.2 2.7-.6.8-.5 2.4-1 3.3-1s2-.3.3-.6-4.2.3-5 .6c-1 .3-3.5.5-5 .5s-3.6.7-5.3.3c-1.8-.4-4.2-.2-5.3-.2z"/> + <path d="M507.9 307c-3 2.2-6.8 2.7-11.1 3-1.3 0-.9.4.2.5 4.6.5 9.8-1.2 11.6-3 .5-.6.4-1.4-.7-.6z"/> + <path fill="#00d860" d="M487.1 312.2a47 47 0 0 1 7.3 1.7q1.7-.2 1.3-.9c-.3-.4-.4-.8 1.7-.6h7.5c.8-.3 2.3-1.5 3-1.5-1.8 0-9.5.4-10.4.3q-1.3-.1-2.1.4c-.6.3-.9.5-1.7.1-1-.3-2.1-.7-3-.1-.6.4-2.3 0-3.6.6"/> + <path fill="#00d860" d="M504.9 312.4c.7-.3 2.3-1.5 3-1.6 1.4-.1 2.8.4 3.5.6s1.5 0 1-.6 0-1.6 2-1.3c2.2.2 3.2.6 5.3.4s2.9 1.3 6.7-.2c-.2 1.5.5 1.6 1.2 1.3q1-.5 2.7.7c1.3 1 8.7 1 10.4.7s2.6.6 1.3 1-1.6 1-1.3 1.5.6.9-1 .7-2 .3-2.7.8-1 1-3.3.5-2.7-.1-3.9 0c-1.2.2-1.5.3-2.8-.1a10 10 0 0 0-5.5-.3c-1.6.6-2.7 1-4.2.6-1.5-.3-1.5-.2-.6-1 .8-1 1-1 2.8-1.1s3-.7 1.9-1.4c-1.3-.7-1.6-.6-3.3.1-1.6.8-2.4 1.4-4.3.4s-2.6-.9-4-.5c-1.2.3-3.2-.5-4.9-1.2m6.1 3c-2.4.4-3-1.1-5.4-.9-.8.2-2.2 1.2-.3 1s4 .9 5.8.8 1-1 0-.9zm-2.6 1.7c1.1-.4 3.6.5 4.8.3s2 .4.8.9-3.7-.7-5-.4c-1.1.4-2.4-.1-.7-.8zm-24.4 6.7c1.7 0 7.8-.3 10.2-5.3q.1-.7 1 0c.7.5 3.6 2.1 8.8 2.6 1.5 0 3 .8.1.7-3-.2-7.6-1-9.1-2-2.7 4.1-7.4 4.6-11 4.5-2.1 0-1.6-.6 0-.5"/> + <path fill="#00d860" d="M497.1 316.8c-.8 1.1-3.6 3-4.8 3.2-1.3 0-5.2-.2-6.1-.6-1-.3-2.1-.3-.8.7a11 11 0 0 0 6 1.3c1.6-.3 3.1-.8 4.2 0 1 .6 3 1.8 4.2 1.6 1.2-.3 3.5-.3 4.3 0 .8.4 2.1 1.6.1 1s-3.6-.2-4.5-.6c1 1.4 3.3 3.7 5.2 3.7.5 0 .9.9 0 1.3.8.4 3 .9 4.3-.3q-.5.7.3.9c.5.2 1.1.6.2.8s-3 .3-3.6 0c2 1.3 7 3.4 12.3 2.3 1-.1 1.6-.6 0-.5-3.5 0-3.7 0-4.3-.3q-.9-.6.6-1l4.3-.7c1 0 2.1-.3 0-.3-2 0-4.6 0-5.7-.4-1-.3-1.7-.9-.6-1.6 1-.7 2.1-.5 2.6-1-3.3 0-7.4-2-5.2-3.6q.8-.4-.4-.5a22 22 0 0 1-4.5-1.4c-1-.5-.4-1.1.5-1.3-2 .3-6-.7-8.6-2.6zm29.8 0c-1.8 1.3-5.3 2-6.8 2q-2.2.2-.5.5c1.2.1 2.5.4 3 .2s.9-.2 1.6.2a6 6 0 0 0 3.8 0c1.5-.4 3.7-.6 4.7-.6 1 .1 2 .1 0-.4-1.8-.5-5-.2-5.8 0s-2.8 0-1.7-.2q1.7-.6 2.6-1.4zm-1 4a12 12 0 0 1-6.1 2.3c2 .8 3.8 3 5.2 2.8q-1 .8-2.3 1.2a8 8 0 0 0 5.4-1c3 .8 7 .2 8.3-1-2 0-4.3-.6-5.4-1.6q1.6-.1 2.3-1.1c-2.3.4-6-.7-7.3-1.8z"/> + <path fill="#00d860" d="M522.7 327c.8 0 1.7-.6 2.3-1a19 19 0 0 1-11.1-2.6c-2.2-1.9-2.2-.4-.7.9a11 11 0 0 0 9.6 2.8zm5.4 4.7c-.9.5-5.3.9-6.7.5q-2.2-.5-1.8.5c.3.6.6 1-.6.8a12 12 0 0 0-4 .5c-1 .2-2 1-.2.7 1.9-.2 3.5-.6 5-.3 1.3.3 6.1.4 7 0s.4-.3 0-.3q-.9 0 0-.7 1-.5 1.3-1.7m-42.3-5.8a62 62 0 0 1-9.6 2.5q-3 1.4-4.6 1.4c.7.6 3.5 1.2 4.5.9-.6.7-2 1.3-2.5 1.7 1.7-.3 3.5.2 4.4.3a12 12 0 0 1-6.7 1.4c.6.6 1.3 1.3 2.2 1.3a11 11 0 0 1-5.5.2q.8 1.5 1.8 1.8c-1.7.1-3.7.4-5.4-.6q2 2.6 8.6 1.8c4.4-.5 8-2.4 9-3.2-1.8.2-4.3.3-5.4 0a32 32 0 0 0 8.6-3.7 5 5 0 0 1-2.8-.9 27 27 0 0 0 8-.8 6 6 0 0 1-3.5-2.3 34 34 0 0 0 17 .5c.8-.2.8-1.3-.7-1.1-2.8.2-8.3-.6-9.8-1.3a10 10 0 0 0 4 1.7c-2.5.8-6.2 1.3-11.6-1.7z"/> + <path fill="#00d860" d="M473.6 332.4c.5-.4 2-1 2.5-1.7-1.1.3-3.8-.3-4.5-1q1.6 0 4.6-1.3c-3.6-.1-6-.1-7.5-.9-1.4-.8-3.7-.4-4.7-.2-1 .1-.6 1.7 3.3 1.3a13 13 0 0 1-7.6 1q.8 2.2.3 3.5c2.1 1.2 7.7 2.7 10.5 2.5-2.5-.9-3.8-1.9-1.8-2.2 2-.2 3.2-.6 5-1z"/> + <path d="M467.3 339c4.8-.4 11.4-.5 16.6-5 1.3-1 2.2-.6.9.5a29 29 0 0 1-16 6c-2.7 0-3.9-1.3-1.5-1.6z"/> + <path fill="#00d860" d="M503.7 331a19 19 0 0 1-5.6.8 6 6 0 0 0-3.3.2q-1.3.9.2 1l3.3.2a5 5 0 0 0-1.8 1.5c1.8-.4 4.7.3 5.6.8a3 3 0 0 1-2-.4c2.7 3 10.9 3 12.2 2.4q-1 .9-1.7 1 3.4 1 7.5-1l-4.2-.2a5 5 0 0 1 2-1.2c-1-.2-4.2-.1-5 .3a4 4 0 0 1 1.5-1.7c-4 0-8.9 0-10.6-1 2.7.4 5.9-1.3 7.2-1.3-2.2 0-4.6-.5-5.2-1.5zm-10.1 2c-2 .5-5 1.4-5.9 1.8-.8.5-1.6.7.1.7l.6-.1c-.7 0-1.5 0-.1-.5s3-1.3 5.2-1.7zm-4 4.9c.7 0 3.7 0 5-1 1.2.8 3.7 2.2 5.2 2.2q2.3.1 0 .6a11 11 0 0 1-5.4-1.7c-1.8.7-3.3.1-5-.1zM466 351.6a17 17 0 0 0 10.3 1.1c1.8 1.5 5.3 1.6 7.2 1.2s3.7-.6 5.9 0c2 .8 6.4.9 7.7 1.9l-4.1.1q-.9.3.8 1a22 22 0 0 0-11.3 3 6 6 0 0 1 6-3.8c-1.8-.6-7.7-.7-9.7.5a6 6 0 0 1-1.2-2c-3.1 1.7-9.2-.9-11.7-3zm-8-5.8a14 14 0 0 0 7.3-2.8c.7.6 3.5 1.2 6.5.3-.6.4-.7 1.3-.5 1.7a23 23 0 0 0-7 1.8c-1.2.6-5 1.1-6.2.4q-1.7-1-.2-1.4z"/> + <path fill="#00d860" d="M471.3 345.1a23 23 0 0 0-7 1.8l.5 1.7a44 44 0 0 1 15.3-1.6c-1.6.1-4.5 1.8-6.1 1.9 4-.3 7.8.5 8.8.8q1.6.4.5 1.8c-.8.9-1.1.7.5.9 1.6 0 5-.3 6.5-1.8-.7-.6-2.2-.3-2.7-.9a7 7 0 0 0 2.7-1.6 25 25 0 0 1-4.6-.3c-.8-.2-1.5-.5-.4-1.1a7 7 0 0 0 2-1.5c-2 .5-5.1 1-7.8-1 1 .2 3.3 0 4.1-.3a5 5 0 0 0-2.2-.8c2-1 6-1.9 11.3.1a27 27 0 0 1 7.1.4c1-.8 2.6-2.8 3.5-3.2-6 .4-16.8-.6-16.5-3.8-2 2.6-6.5 4-8.4 3.6-.2.8.6 2 1.3 2.6-2 .4-5.5.8-7.1.4 1 .9 2.6 1.7 3.6 1.7-2 0-3.2.4-4.9.2"/> + <path fill="#00d860" d="M483.7 352.3c1.8 0 5-.2 6.6-1.7-.7-.6-2.2-.3-2.7-.9a7 7 0 0 0 2.7-1.6c4.4-.4 8.1-.2 10-.7 1.8-.5 6.5-.3 7.4-.5-4.1.7-4.9 1-5 1.7-.2.7 1.2 1.1 2.2 1.1-1.7 0-4.1 1.9-4.4 2.7-2.4-1.4-3.4.2-3.8.8-1-.4-4.4-.3-6.1 1.2-2.2-.7-3.7-1-6-.7 1.5-.3 1.2-1.3-.8-1.4zm19.5-12c1.4 0 4.4.2 5.5 0l-1.8 1.3c3.5-.4 8.2-.7 9.6-.4-1.8-.3-3.5.9-4.4 1.4q-1 .8.9 1c1.2.2 2.7 1 .6.8-2-.2-6.4-.3-7.4-.2-1 .2-1.6-.3 0-.6a10 10 0 0 0 3.1-1c-1.2.3-3.5.3-4.3 0q-1.4-.4-.3-.8c.9-.3.3-.4-.6-.3-.9 0-3 1-4.3 2.1q2-2.2 3.4-3.2z"/> + <path d="M487.8 342.7a9 9 0 0 0 6.8 3c.6 0 2 .9.3 1-4.3.2-6.4-.9-8.3-3.6-.4-.6.3-1.4 1.2-.4m25.5-35.6c2.2 1 6.7 2 10.2 1.9.7 0 1.8.6.3.7a18 18 0 0 1-10.8-2c-.9-.5-.6-1 .3-.6"/> + <path fill="#00d860" d="M515.5 307.1c3.5 0 6.1 0 7 .9 2-.5 5.7-.9 6.4-.7s1.8-.3-.1-.7-6.2-.6-7.6-.3-5.7.4-7 .2q.7 0 1.3.6m13.4 1.3c1.6-.8 6.3 0 7.7-.6-1 1.2 3.3 1.3 7 .4-1.4.8-4.5 1-5.8 1.6s-2 .1-3-.3a11 11 0 0 0-5.9-1z"/> + <path fill="#00d860" d="M543.6 308.2c-3.7.8-8 .8-7-.4-1.4.6-6-.2-7.7.6 1.8-1 3-.1 4.2-2.2.8.1 2.6.2 3.2-.6 1 .3 3 .7 3.5 1.3s1.3-.2.7-1c1.7-.6.6.7 4.5-.3.9-.2 2.8-.6 3.5-.6a24 24 0 0 1-5 3.2z"/> + <path fill="#ff0" stroke="#000" stroke-width=".4" d="m471.6 291.1-.7-86.8c0-3.9-2-3-2 0v86zm28.2-91.4 3.1 91.4-.4.8h-2l-1.9-92.2zm26.6 77.4-1.6-74.3c0-2.4-2-2-2 .4l1.6 73.9z"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="m484.2 214.9-27.4-.4c-1.2 5.5 5.5 5 7.8 4q4.7 2.9 7 0c2.4 1.9 5.5 1.5 6.7 0 3.1 2.7 6.6 0 5.9-4zm2 13.3h-27.5c-5 4.7 1.2 7 6.7 3.9.8 1.6 3.9 2.3 6.2 1.2 2.4 1.5 5.5.4 7-1.2 2.8 1.2 6.3 1.6 7.9-4zm-.9 17.6h-26.6c-.3 4.3 5.1 3.9 7 2.7 2 3.2 6.7 2.4 8.3.4 2.7 2 5 1.6 6.2 0 2.8 2.4 5.5-.8 5.1-3.1zM487 263l-30.1-.4c-1.6 5 3.1 5.9 5 4.7.9 2.7 4.8 2 6 0 1.5 1.2 3.5.4 4.2-.8.4 2.7 4 3.1 6.7.8 5.5 3.9 10.5-.8 7.8-4.3zm26.2-7h-24.6q1.6 7 7.4 3c3.1 3.2 7.8 2 9 .5 5.5 4.3 8.2-.8 8.2-4zm-2.4-17.2-24.2-.8c.4 6.2 6.3 5.8 9.4 3.5 2 2.7 5.9 2 7.8 0 2.7 3.1 7.8 1.2 7-2.7zm3.2-19.2h-26c0 4.3 5.8 6.6 10.1 2.7 1.2 5.1 5.9 3.5 7.9 1.6 3 3.9 9.7-.8 7.8-4zm-1.6-13-23.5.5c0 3.9 5.5 5.5 7.5 2.3 1.2 2 5 1.6 6.2 0 1.6 2.8 4 .8 4.7 0 2.8 2 5.5.8 5.1-2.7zm27 8.7-28.2-.4c0 2.7 2.8 4 4.7 2.7 0 3.2 4 4 6.7 1.6 1.5 2.7 6.6 3.1 8.6 0 3.9 3.5 8.6.8 7.8-4zm-.4 23h-27.4c0 4 4.3 5.1 7 3.2.5 3.1 4 3.5 6 1.6 2.7 2.7 6.6 3 9 0 3 1.1 5.8-1.6 5.4-4.7zm-1.6 20.8h-21.9c0 3.9 4.7 3.9 6.7 2 2.3 2.7 5.5 2.7 7.4.7 2.7 2.4 7.4 1.6 7.8-2.7z"/> + <path stroke="#000" stroke-width=".4" d="M502.5 292c-11.7 0-23.8 0-32-.9-8.2-.7-10.6-2.3-16.4-5.8L432 272c-1.9-.8-3.8.4-1.1 2l21.9 14.4a60 60 0 0 1 13.3 11.7c4.7 5.1 7.8 5.1 10.1 4.3 2.4-.7 5.5-2 9-1.1 3.2.7 7.8 1.1 10.2.7 2 2 7 1.6 9.8.8q3.9-1.1 6.6-.4h6.7c2 0 7-1.1 10.5-.7 4 .7 7.4 0 9.8 0a19.5 19.6 0 0 1 7.8-.4c2.4-1.6 3.1-3.6 4-5.5 2.3-.4 3-.8 3.4-2l2.4-6.2h.8v-2.4l-1.6-2.3.8-4 2-.7-.8-4-34.4.9a8 8 0 0 0-2.4 4.3l-10.2 1.5c-1.1.4-2.3.4-3.5 2z"/> + <path stroke="#000" stroke-width=".4" d="m543.6 276.7 5-19.2c.8-2-1.1-2.3-1.9 0l-5 19.2z"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="M563.5 255.2c-4.3 2-6.6 3.1-8.6 2.3s-4.3-1.2-5.8-.4v.4a1928.6 1928.8 0 0 1-4.3 14.9c3 1.2 8.6 1.2 9.7 0 1.6-1.6 5.1-1.2 7-1.2 1.2-1.6 1.6-3.5 1.2-4.3s0-2.7 0-4c0-1 1.6-5.4.8-7.7z"/> + <path fill="none" stroke="#000" stroke-width=".4" d="M465 218.4a208 208 0 0 1-31.3 54.8m7.8 4.7a213 213 0 0 0 44.6-49.3m-27.4 16.8c-1.1 10.6-4.3 29.3-5.8 39.1m10.1-15.6c-3.9 3.9-9 10.1-13.2 13.6m49.6-34.8c-3.1 3.2-6.6 7-10.2 7.9m12.2-7a27 27 0 0 0 10.5 7.4m-12.5-24.3a33 33 0 0 1-11.7 6.7M501 232c2.3 2.3 5 5 8.6 6.7m-21.1-19.2a27 27 0 0 0 10.5-5.9m1.2 0a30 30 0 0 0 10.5 6.3m-21.5-13a16 16 0 0 0 9.4-5.4m1.2-.8c2.7 2.4 7.8 5.5 10.6 5.9m12.5 3.1c-1.6 2-5.9 5.1-8.6 5.1m10.5-5c1.2 1.9 4.3 5 6.3 5m-18.8 23.5a28 28 0 0 0 11-7.5m2 .4a22 22 0 0 0 7.3 7m-16 20.4c1.6 0 5.9-2.4 7-5m2.4-1.3a27 27 0 0 0 7.8 6.7m-73.1 3.5c5-1.6 14.9-7.8 20-13.7m-9.4 7.4c3.9 2.8 9 6 12.5 6.7m-24.3-17.6a31 31 0 0 0 9.4-5.9m2-.4c1.1 1.6 9.3 6.7 12.9 6.7m-14.9-23a38 38 0 0 1-9.8 5.4m11.8-5.5c2.7 2 8.6 5.5 12 5.5M469 207c-2.3 2.3-6.2 6.2-9.4 7.4m11.4-7c1.5 2.7 6.2 6.6 9.3 7m31.3 10.2c7.5 12.9 20.7 29 34 37.5m-55-52c10.9 15.6 32 49.7 52.3 62.2m4-13.3a72 72 0 0 1-19.2 18m17.5-13.7c-6.6-11-10.1-24.6-15.6-43m-54.7 48.5 7.8 23.4m-9.4-23.8 7.4 23.4m-9.3-24.6 7 24.2m-7.8-23.8 5.4 23.8m0-.7h6.7m-.8-2.4h-6.2m5.4-2h-6.2m5.4-1.9H474m5-2.3h-5m-.4-2h5m-5.4-1.6h5m-5.4-2h4.7m-5-1.5h4.2m-4.7-2h4m-4.4-1.5h4m-4.3-1.2h3.9m-4-1.5h3.6m-10.2 0-4.7 19.5m5.9-19.5-4 20.3M467 268l-3.2 21.5m4.7-22-2.3 22.8m2.7-1.6h-7.8m7.8-2h-9m9-2.3h-8.2m7.8-2h-7.4m7.8-2h-7.4m7.4-2.3h-6.6m6.6-2h-6.6m6.2-1.9h-5.8m5.8-2h-5m5-1.9h-4.7m4.7-1.2h-4.3m4 21.6v-23.1m25.3-7.8L478 291.5m16.8-32-13.3 32.4m14.1-32.8L485 291.9m11.8-32-8.6 32m.4-1.1h-9.8m10.5-3.2H480m9.7-2.3h-7.8m9.4-2.4h-7.8m8.2-2.3h-7.4m8.2-2.4h-7m7.7-2.7H487m6.6-2h-5.8m6.6-2.3h-5.5m6-1.6h-5.2m5.5-1.5h-5.5m5.1-1.6h-3.9m4-1.2h-3.6m3.9-1.5H492m3.9-1.6h-3.1m3-1.2h-2.7m13.3-.4 6.7 22m-5.5-21.6 8.2 21.2m-7-21.2 9.8 20.8m2.3-2-11-19.2m11 19.6h-7.8m7-3.1h-7.8m6.7-2.4h-7.5m5.9-2.7h-6.7m5.1-2.4H510m4.3-2.7h-5.1m3.9-2.7h-4.7m3.1-2.4h-3.9m12.5.4-7 20.3m9-21-6.3 20.7m2.8-.4 4.7-19.6m1.1.8-3.9 18.4m-6.6-1.2h6.6m-5.8-2.3h6.6m-5.9-2.8h6.3m-5-2.3h5.8m-5.1-2.8h5.5m-4.7-2.3h5m-3.9-2.8h4.7m-3.9-2.3h4m3.5.4 3 14m-1.9-14.8 4.3 14.5m-2.7-14.5 4.7 14.5m-2.8-13.7 5.1 13.7m-.4-1.2h-6.6m5.9-2h-6.3m5.5-1.9h-5.9m5-2.4h-5.8m4.7-2H528m4.7-1.9h-5m4.3-2h-4.7"/> + <path fill="#00b800" d="M467.6 299.2c3.1-2 8.5-1.7 11.3.4 3.3-1.8 9.2-1.3 11.9 1.2 4.2-3 7.7-3.4 11.7-.6a10.5 10.5 0 0 1 11.9.2c3.7-1.7 7.7-3.1 11.2.6a9 9 0 0 0-11.3.7c-3.5-3.5-9.7-2.2-11.8.3a7.7 7.7 0 0 0-11.5.2c-3.7-3-9.1-3.2-12-1a13 13 0 0 0-11.4-2"/> + <path fill="#cf6200" d="M523.1 294.8c-16.1 2.8-51.4 1-59-1.1-2.7-.6-2-1.6.3-1 8.9 2 27.9 2 38.3 1.4l6.2-8.5c1-1.3 1.4-1.4 3.5-1.7l8.7-1.5v1.2q-.3.5-.7.7c0 2 .4 7.1.9 9l1.1-.3c.7-.2 1.4 1.7.7 1.8"/> + <path fill="#cf6200" d="M549.6 295.6h2.2c.6 0 1.6-.5 1.9-1.5l2.2-6.3-1.7-2.5.9-5.3 2-.9c.2-.3 0-1.6-.4-2l-31.6 1c-1 0-1.4 0-1.7 1.3a24 24 0 0 0 8 23.2c.5.4 1.2 0 .3-.7a26 26 0 0 1-4.3-5.7h5.2c.4 1.7 1.7 5.2 2 5.9.2.7.8.7.4-.3-.6-2-1-4.5-1.3-5.7h5.3l.4 5.2c0 .7.6.7.6-.1V296l4.8-.2-.4 5.2c-.1.9.3 1.2.5 0l.7-5.2 3.3-.2c0 1.2-1.1 4.4-1.4 5.2-.3 1 .2 1 .5.1a31 31 0 0 0 1.6-5.2z"/> + <path d="M526.5 294.8c-.5-1.1-2.3-5.1-2.4-8h7c.2 2.1.8 6.8 1.2 7.9zm5.8-8.2c.1 1.8 1 7.5 1.2 8h5.6l-.4-8.1zm-7.9-7a33 33 0 0 0-.2 6l6.7-.3-.6-5.9zm7.3-.2.4 6 6.6-.2-.3-6zm8-.3.2 6 5.7-.1c0-1.3.3-5.2.2-6.1zm7.2-.2-.2 6 6.2-.2c.3-1.3.9-4.7.9-6zm6.3 7.2-6.6.2-.6 8 6.3-.2 2.3-6c-.5-1-.9-1.3-1.4-2m-13.3.4.2 8 4.8-.2.6-8zm-27-1.6-2.6.4-6.3 8.8 9.3-.2zm1.2-.3.4 9.2 5.6-.4-1-9.6z"/> + <path stroke="#000" stroke-width=".4" d="M486.9 263h-30.1v-.8l30 .4zm23.5-24.2q.4 0 0 0l-23.5-.4q-.6 0 0 0h23.5zm-25 6.6c.3 0 .3.4 0 .4h-26.7c-.3 0 0-.4 0-.4zm.7-17.2c.4 0 .4.4 0 .4h-27.7c-.4 0-.4-.4 0-.4zm-2-13.7q.6.2 0 .4h-27c-.3 0 0-.8 0-.8l27.4.4z"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="m512.3 206.7-23.5.4z"/> + <path stroke="#000" stroke-width=".4" d="M513.5 220q.6 0 0 0H488q-.6 0 0 0zm25.4 18v.4h-27.4q-1.2 0 0 0H539zm0-23.1c.8 0 .8.4 0 .4H511c-.4 0-.4-.4 0-.4h28.2zM513 255.6c.4 0 .4.4 0 .4h-25v-.4zm24.2 3.5q.6 0 0 0h-21.9z"/> + <path fill="#ef072d" stroke="#000" stroke-width=".4" d="M557.3 263a12 12 0 0 0 0-5.5 4 4 0 0 1-2.4 0l-1.2-.8a25 25 0 0 1-1.5 7.5c-1.2 0-4 0-5.1-.8l-1.2 3.9a14 14 0 0 0 5.9 0q.1 3.5-1.6 5.9c2 0 4 0 4.3-1.2 1.2-1.6 1.2-4 1.6-5.1l2-.4 1.9-.8 2.7-.4V263l.8-1.6-6.2 2z"/> + <path stroke="#000" stroke-width=".4" d="M460.3 130.8c-3.1 0-10.2 0-11.7.8-1.2.8-1.6 1.2.8 1.6 2.3.4 6.6 2 9 3.1 2.3 1.6 3.9 4 3.9 7.8a23.5 23.5 0 0 0 11.7 24.7c.4.4.8.7.4 2.3l-1.2 4.3c0 .8-.4 1.6.8 1.2l-4 6.2c-6.2-.7-11.6 0-11.6 7 0 .9 0 1.6.7 0 1.2-1.5 2.4-3 5.1-3.8q-2.4 4.1-2 6.6c0 1.2.8 2 1.6 0 .4-1.6 2-3.1 3.2-4.3.7-.4.7-.4.3.8a6 6 0 0 0 1.2 4.3q1.3 1.1.8-.8c0-1.6 0-4.3 2-5 2.3-1.6 4.6-.9 5.4.7 1.2 2 2 0 .8-1.6-1.2-1.5-2.3-3.5-3.9-3.5l4-6.6q.2-1.3 1.5-.8c0 .4.8.4 1.1-.8l2.8-5.5 2.3-.7 4 5.8v2.4c0 1.5-1.6 5-2 6.2-4.7 0-7 0-8.6 2.8-.8 1.1.4 1.5 1.5 1.1a8 8 0 0 1 4-1.1c.7 0 1.1.7 0 1.1-2.8 1.2-4.7 3.2-4.7 5.9 0 .8.7 1.2 1.1 0a9 9 0 0 1 5.1-4c0 2 .4 5.2 2 6 1.1.7 1.1 0 .8-1.2-.8-2 0-4 1.1-5.1 2-2.3 6.7.8 7.9 1.6.7.7 1.5 1.1.7-1.2-.4-2.7-4.3-4-7.8-4.7l4.7-16.4c2 1.2 4-2 7-.8a83 83 0 0 1 14.9 8.6c1.6 1.2 2 .8 2.7 0 .8-.4 2 0 3.2 0 .7.4 1.5.8.4-1.6a28 28 0 0 0-9.4-10.1c3.1 0 7 0 7-.8s-4.7-2.4-6.6-2.4a13 13 0 0 0 6.2-3q1.4-1.3-3.1-1.3c-8.2 0-12.5 0-16.8-2.3-7-4-11.4-8.6-14.9-10.2-1.5-1.1-2.7-3.5-3.9-5.4-2-6-2-9-7-11s-11.8.4-14.5 3.1z"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="M460.7 132.4h-6.6s-.8 0 0 0l5.8 1.6c1.2 0 .8 1.1 0 .7-.8-.3-1.5 0-.8.8 4 2.8 4.7 4 4 14.5l1.9 1.6c.8 0 .4.7 0 .3s-2 0-.8.8 2 .8.8.8-2.3.8 0 .4c2 0 3.1.8 0 1.2-2.3 0-1.6.8 0 .8 2.7 0 2 .7 1.2.7s-1.2.8.8.8h2.7c.4 0 .8 0 0 .4-.8 0-.8.8.4.8s2 0 .8.4c-.4 0-1.2.4 0 .8 2.7 0 3 .7 2.3 1.1s-1.2.4 0 .4 2.4.4 1.2.8c-.8 0-1.2.8 0 .8s2 .8 1.2 1.2-1.2.8 0 .8q1.8 0 .7.7-.9 1.2-2 0c0-.7-.7-.7-.7 0l-.8-1.1c-.4-1.2-1.2-1.2-1.2 0s-.7.4-1.5 0a13 13 0 0 0 15.6 3c.4 0 .8 0 1.2 1.3l2.3 4.3c.4.7 1.2 0 1.2-.8l2.4-6.7c0-1.1 1.5-2 1.1 1.2 1.2-.8 5.9-1.2 9.8 0a48 48 0 0 1 10.6 5.9 2 2 0 0 0 2 .4c1 0 1.5 0-.5-2s-1.1-2.7 0-2 2 .4.8-.7l-3.9-3.5c-.4 0-.4-.8-2.3-.8h-6c-.7 0-1.5 0 .9.8 2.3.7 6.6 3.9 7.8 4.6 1.2.8 1.6 2.4-.4.8a102 102 0 0 0-14-7.8c-10.6 1.2-19.2 2.4-25.5-4.3-3.1-3.5-3.1-11 2-14q-1.1-1.5-.4-1.6v-2.4q-1.4-.7-1.6-2c-1.2 0-2-1.9-3.9-1.1-2 .8-2.3 0-3.1-.4-.4-.8-.8-.8-2-.8s-2 0-2-.8q0-1 2.4 0c2.7 1.2 5 2 7-.7 1.6-2.4-.7-4.3-3.9-5.1-3.5-.8-5.8 2-7.4 3.1z"/> + <path fill="#fff" stroke="#000" stroke-width=".4" d="M477.9 131.2a11 11 0 0 0-4-2.3c-1 0-1 .8-.7 1.2v2.3c.8.4 1.2 1.2 0 1.2-.8.8 0 3.5 1.2 2.7h.8s0 1.2.7 1.2c.8 0 0 .8 0 1.2h.8c.8 0 .4 1.5-.4 2q1.7-.2 1.6.7c.4.8 1.6 1.2 1.6 2.3 0 1.2 0 1.2-1.6.8s-1.6 0-2 .8-.7 1.2 0 1.2c.8 0 1.6.4.4.8-1.1.3-2.3 0-2.7 1.1 0 1.2 0 1.6.8 1.2l2.7-1.6 2 .4c.8.4 0 2-.8 1.2s-1.6 0-2 .4l-2 .8c-.7 0-1.5 0-1 2 0 5.4 4.2 9.3 12 9.3h13q-3.5-2.4-5.2-2.3H492c.4-.4 0-1.2-.4-1.2s-1.2-.8-2 0l-3.9 2c-.8 0-2 0-.8-.8l3.6-1.6c.7 0 .3-.8.3-.8s0-1.2 1.2-.8c2.4 1.6 5.9 3.6 7 3.6 1.2 0 1.6-.8.8-1.2-.7-.4-1.1-1.2-1.1-1.6s.4-.8 2 0c1.5 1.2 3.8 2 5 2.4s2 .4 0-.8l-9-6.7c-1.2-1.1-1.2 0-.8.8s-1.1 1.2-2 .4c-.7-.8-1.1-1.2 0-1.6 1.2-.3.9-.7-.3-2q-2.3-1.5-1.6 0 .8 2-.8 1.7c-1.1-.4-2.3-1.2-1.1-1.6.7-.8 2-1.2 0-2.4s-.8 0-1.2.8-1.6.8-2 0-1.1-1.1-.7-1.5c.3-.4.3-.8 1.1 0 .8.7 1.6 0 .4-1.2s-1.5-.8-1.2 0-.7 1.6-2.3 0c-.8-.4-.8-1.2 0-1.6q1.2 0 0-1.1c-2.7-4.7-1.6-8.3-4.7-11.8z"/> + <path fill="#cf6200" d="M478 132c-.2.4-.3.3-.8.7s-.7 1.5.3 1.4a2 2 0 0 0 1.4-.8zm-3-2.6q-1.3 1.2-.6 1.2.6-.2 0 .6c-.4.5.6.8 1 .3q.6-.7.7 0c.1.5 1 0 1.3-.3q-1.2-1-2.5-1.8zm-1.5 4.4c-1 .5-.7 3.2.9 2.4q.8-.2.9.3v.7a5 5 0 0 0 1.7-1.2c.9-1.2 0-1-1.4-1s-1.7-.3-.4-1.1.3-1.2-1.3-1q.3.4-.4.9m5.9 6c-.8-.9-.3-1.2.5-1.7l.4-.3-.7-2.6c-.3.2-.8 1.1-1 1.5q-.2 1.1-1 1c-.7-.3-1.3.4-1.4 1.1h.5q.3.3.2 1c1.9 0 2.2 1.1 2.5 2q.6 1.3 1 .3.3-1-1-2.3"/> + <path fill="#ff0" d="M479.9 150.4c-.4.8-.4.7-1.5.7-1 .1-2.4.3-3 .9-.3.3-2.2.5-2.2 1.3q-.2 1.4.8 1.6 1.2 0 .7.8c-.4.6-.6 1.5.8 1.7 1.4 0 2.5-.3 2.8.4.4 1 0 2.1.3 2.7q.4.6 2.7 1.2c1 .2 4.8.5 6 .3 1-.2.6-.8-.5-.8q-1.8-.1-2.3-1.2c-.3-.9-.5-1.3.2-2 .6-.8 1.2-1.3.8-2.5s-1-2.5-2.3-2.9-.9-2.3-2.3-2.4q-.7 0-1 .2"/> + <path fill="#cf6200" d="M473.3 161.4c1.2.2 2.1.5 1.2.8s-1.5.8-.3.9 2.3.6 1.3.8-1 1 .1 1 1.7.4.9 1c-.9.4-1.4.7-2-.1q-.7-1.3-.9-.5t-.9-.7c-.3-.8-1.2-1.2-1-.5.3.7-.6.9-1.5.5a11 11 0 0 0 2.9 2.4c1.2-.4 2.6 0 3 0 .6 0 2.1.4 3 .9s1.5-.4 1.1-1.3-.4-.7-.8 0q-.7.4-.6-1.4c0-.8-.6-.7-.7-.1-.2.5-.7-.4-.5-.9q.3-.8-.4-.6-.6.4-.6-1c-.1-1.1-.5-1-.6-.5q-.2.4-1.3-1c-.5-.6-1-.2-2.1.1z"/> + <path fill="#ff0" d="M485.6 167.8c-5.5 2.2-9.5 1.2-12.5-.8 1.2-.4 2.6 0 3.1 0s2.1.4 2.9.9 1.5-.4 1.1-1.3q1 1.6 2.2 1.5zM473.8 142q-.5-1.6-1.3-1.3-.7 0-1.6-.4c-.6-.3-1.5 0-1.6 1.3s-1 1.8-2 2.6q-1.5.9-1.5 2.6c0 1.2-.3 1.4-1 2.4l-1.1 1.3 1.2.7c.8.4.5.9-.2.7s-1.5.2-.2.4c1.2.3 1.7 1 .6 1-1.3-.3-2.6.8-.3.5 2.3-.2 3.1.9.5.9-2.7 0-1.7.9-.2.9 2.5 0 1.7.7 1 .7s-.9 1 .8.7l.6-1c.3-.8.5-3.1 1.5-3.8s1.4-1.7 1.4-2.3 1.5-3.7 2.3-4.4c1-.7 1.4-2.3 1-3.4z"/> + <path fill="#cf6200" d="M471.8 142.2c-.9-.7-1.9-.2-1.9 1q-.1 1.4-1.4 2a4 4 0 0 0-1.8 2.3c0 1 .2 1.5-.4 2.3q-1 1-.4 1.8c.6.4.6.4.7 1 .3.6 1.4 0 1.4-.7s.3-.7 1-1.1c.8-.4 2-2.4 1.7-2.9-.2-.5-1-1 0-1.7 1-.8 1.8-1 1.8-1.6q0-1 .5-1.3c.3-.3-.6-.7-1.2-1z"/> + <path d="M471.8 141.2c-.6-.2-1 1.1-.1 1.3s1-.9 0-1.2zm-.1 1.7c-.7.1-1.5 1-.4 1 1.2-.2 1.6-1 .3-1zm-1.4 1.7c-.7.3-.5 1.3.5.6s1.2-1.5-.5-.6m-1 1.4c-.7.3-.7 1.3.4.6 1-.6 1.3-1.5-.4-.6"/> + <path d="M467.9 146.7c-.7.3-.3 1.2.7.6s1-1.5-.7-.6m.8.9c-.8.3-.3 1.2.7.6s1-1.5-.8-.6z"/> + <path d="M467.4 147.9c-.6.4-.2 1.2.9.6 1-.6.9-1.5-.9-.6m.9 1c-.8.3-.4 1.2.7.6 1-.7 1-1.5-.8-.6z"/> + <path d="M467 149.5c-.6.3-.2 1.2.9.6 1-.6.8-1.5-.8-.6z"/> + <path d="M467 150.3c-.5.4-.1 1.4 1 .7 1-.7.8-1.5-1-.7"/> + <path fill="#cf6200" d="M466.6 158.9c-.7 0-1.2 1.1-.3 1.3q1.2.2 1.1.9c0 .6.3 1.7 1.2 1.7 1 0 1.8-1 1-1.3q-1.5-.3-1.7-1.4c0-.7-.8-1.2-1.3-1.2"/> + <path fill="#ff0" d="m491.5 153 .5.6c.7.5 2 0 1.7-.5-.1-.4-.8-2 1-.8l9.2 6.5c1.9 1.4.6 1.6-.2 1.1l-5-2.3c-1.5-.9-1.7-.5-2-.3q-.2.6.6 1.4c-.9.1-2.3 0-2.8-1-.5-1.2-1.7-2.6-2.6-3.7q-.4-.6-.3-.9z"/> + <path fill="#00d860" d="M542 319.5c-1.3.9-3 2.4-1.9 4.5l.4-.1a124 124 0 0 0 12.9-19v-.6a18 18 0 0 1-4.5 2.7c.6 1.7-2.3 3.8-3.7 4.4.6 1 .4 2.6-1 2.9.3.8-.7.8-2 1.4q-1.6.6-2.1 1.5c.6-.4 1.6-.7 2-.5s.6.9-.3 1.1q-1.2.5-1.8 1c1.3-.3 3.2-.2 2 .7"/> + <path stroke="#000" stroke-width=".4" d="M481.8 151.2c-1.6-1.2-2-.4-1.6 0s0 1.5-1.1 2h-4c-.7 0-1.9 1.5 0 1l6.3-1c.8 0 1.6-.9 0-2zm2.7 2.3c-1.1-1.2-1.5-.8-1.1 0s-.4 1.2-1.2 1.2l-5.5 1.5c-1.5 0-1.5 1.2.4 1.2 2 0 5.9-2 6.3-2s.8-1.1 1.1-.7 1.2 0 0-1.2zm1.2 3.1-3.9 2c-1.2 0-2 1.2 0 1.2s4-2 4.7-2.4l1.6-.8s1.5-.4 0-1.5c-1.6-1.2-3.2 0-2.4.4s0 1.1 0 1.1z"/> + <path d="M469.7 131.2c-2.5-1.7-5.2 1.7-2.5 3.6 2.4 1.7 5-2 2.6-3.6z"/> + <path fill="#fff" d="M466.6 132.7h.7c0 .8.7 2 1.8 1.7-.9.7-2.6-.2-2.5-1.7m9.6 37c.8.3 3.4.5 4.4.5l-1.2 2.2q-.4 1.2-.5-.3c0-1-.6-1.7-1.1-.6l-1 2c-.3.4-.7.5-.6-.6q.2-1.7 0-3.2"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M574.5 199.7c0 63.7-10.2 132.5-93 165.3-82.6-32.8-92.7-101.6-93.1-165.3zm0 0c0-24.3-1.2-47.8-.8-68a249 249 0 0 0-92.3-16.9c-20.7 0-61.4 3.1-92.2 16.8.7 20.3-.8 43.8-.8 68z"/> + <path fill="#012169" d="M0 0h320v240H0Z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0Z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5Zm-92 10 3 17.5-96 72H0ZM320 0v1.5l-124.5 94 1-22L295 0ZM0 0l119.5 88h-30L0 21Z"/> + <path fill="#fff" d="M120.5 0v240h80V0ZM0 80v80h320V80Z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0Z"/> +</svg> diff --git a/apps/web/public/flags/sh.svg b/apps/web/public/flags/sh.svg new file mode 100644 index 00000000..7aba0aec --- /dev/null +++ b/apps/web/public/flags/sh.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sh" viewBox="0 0 640 480"> + <path fill="#012169" d="M0 0h640v480H0z"/> + <path fill="#FFF" d="m75 0 244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0z"/> + <path fill="#C8102E" d="m424 281 216 159v40L369 281zm-184 20 6 35L54 480H0zM640 0v3L391 191l2-44L590 0zM0 0l239 176h-60L0 42z"/> + <path fill="#FFF" d="M241 0v480h160V0zM0 160v160h640V160z"/> + <path fill="#C8102E" d="M0 193v96h640v-96zM273 0v480h96V0z"/> +</svg> diff --git a/apps/web/public/flags/si.svg b/apps/web/public/flags/si.svg new file mode 100644 index 00000000..1bbdd94f --- /dev/null +++ b/apps/web/public/flags/si.svg @@ -0,0 +1,18 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-si" viewBox="0 0 640 480"> + <defs> + <clipPath id="si-a"> + <path fill-opacity=".7" d="M-15 0h682.6v512H-15.1z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#si-a)" transform="translate(14.1)scale(.9375)"> + <path fill="#fff" d="M-62 0H962v512H-62z"/> + <path fill="#d50000" d="M-62 341.3H962V512H-62z"/> + <path fill="#0000bf" d="M-62 170.7H962v170.6H-62z"/> + <path fill="#d50000" d="M228.4 93c-4 61.6-6.4 95.4-15.7 111-10.2 16.8-20 29.1-59.7 44-39.6-14.9-49.4-27.2-59.6-44-9.4-15.6-11.7-49.4-15.7-111l5.8-2c11.8-3.6 20.6-6.5 27.1-7.8 9.3-2 17.3-4.2 42.3-4.7 25 .4 33 2.8 42.3 4.8q9.7 2.1 27.3 7.7z"/> + <path fill="#0000bf" d="M222.6 91c-3.8 61.5-7 89.7-12 103.2-9.6 23.2-24.8 35.9-57.6 48-32.8-12.1-48-24.8-57.7-48-5-13.6-8-41.7-11.8-103.3q17.4-5.6 27.1-7.7c9.3-2 17.3-4.3 42.3-4.7 25 .4 33 2.7 42.3 4.7a284 284 0 0 1 27.4 7.7z"/> + <path fill="#ffdf00" d="m153 109.8 1.5 3.7 7 1-4.5 2.7 4.3 2.9-6.3 1-2 3.4-2-3.5-6-.8 4-3-4.2-2.7 6.7-1z"/> + <path fill="#fff" d="m208.3 179.6-3.9-3-2.7-4.6-5.4-4.7-2.9-4.7-5.4-4.9-2.6-4.7-3-2.3-1.8-1.9-5 4.3-2.6 4.7-3.3 3-3.7-2.9-2.7-4.8-10.3-18.3-10.3 18.3-2.7 4.8-3.7 2.9-3.3-3-2.7-4.7-4.9-4.3-1.9 1.8-2.9 2.4-2.6 4.7-5.4 4.9-2.9 4.7-5.4 4.7-2.7 4.6-3.9 3a66 66 0 0 0 18.6 36.3 107 107 0 0 0 36.6 20.5 104 104 0 0 0 36.8-20.5c5.8-6 16.6-19.3 18.6-36.3"/> + <path fill="#ffdf00" d="m169.4 83.9 1.6 3.7 7 1-4.6 2.7 4.4 2.9-6.3 1-2 3.4-2-3.5-6-.8 4-3-4.2-2.7 6.6-1zm-33 0 1.6 3.7 7 .9-4.5 2.7 4.3 2.9-6.3 1-2 3.4-2-3.4-6-.9 4-3-4.2-2.7 6.7-1z"/> + <path fill="#0000bf" d="M199.7 203h-7.4l-7-.5-8.3-4h-9.4l-8.1 4-6.5.6-6.4-.6-8.1-4H129l-8.4 4-6.9.6-7.6-.1-3.6-6.2.1-.2 11.2 1.9 6.9-.5 8.3-4.1h9.4l8.2 4 6.4.6 6.5-.6 8.1-4h9.4l8.4 4 6.9.6 10.8-2 .2.4zm-86.4 9.5 7.4-.5 8.3-4h9.4l8.2 4 6.4.5 6.4-.5 8.2-4h9.4l8.3 4 7.5.5 4.8-6h-.1l-5.2 1.4-6.9-.5-8.3-4h-9.4l-8.2 4-6.4.6-6.5-.6-8.1-4H129l-8.4 4-6.9.6-5-1.3v.2l4.5 5.6z"/> + </g> +</svg> diff --git a/apps/web/public/flags/sj.svg b/apps/web/public/flags/sj.svg new file mode 100644 index 00000000..bb2799ce --- /dev/null +++ b/apps/web/public/flags/sj.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sj" viewBox="0 0 640 480"> + <path fill="#ef2b2d" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M180 0h120v480H180z"/> + <path fill="#fff" d="M0 180h640v120H0z"/> + <path fill="#002868" d="M210 0h60v480h-60z"/> + <path fill="#002868" d="M0 210h640v60H0z"/> +</svg> diff --git a/apps/web/public/flags/sk.svg b/apps/web/public/flags/sk.svg new file mode 100644 index 00000000..676018e6 --- /dev/null +++ b/apps/web/public/flags/sk.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sk" viewBox="0 0 640 480"> + <path fill="#ee1c25" d="M0 0h640v480H0z"/> + <path fill="#0b4ea2" d="M0 0h640v320H0z"/> + <path fill="#fff" d="M0 0h640v160H0z"/> + <path fill="#fff" d="M233 370.8c-43-20.7-104.6-61.9-104.6-143.2 0-81.4 4-118.4 4-118.4h201.3s3.9 37 3.9 118.4S276 350 233 370.8"/> + <path fill="#ee1c25" d="M233 360c-39.5-19-96-56.8-96-131.4s3.6-108.6 3.6-108.6h184.8s3.5 34 3.5 108.6C329 303.3 272.5 341 233 360"/> + <path fill="#fff" d="M241.4 209c10.7.2 31.6.6 50.1-5.6 0 0-.4 6.7-.4 14.4s.5 14.4.5 14.4c-17-5.7-38.1-5.8-50.2-5.7v41.2h-16.8v-41.2c-12-.1-33.1 0-50.1 5.7 0 0 .5-6.7.5-14.4s-.5-14.4-.5-14.4c18.5 6.2 39.4 5.8 50 5.6v-25.9c-9.7 0-23.7.4-39.6 5.7 0 0 .5-6.6.5-14.4 0-7.7-.5-14.4-.5-14.4 15.9 5.3 29.9 5.8 39.6 5.7-.5-16.4-5.3-37-5.3-37s9.9.7 13.8.7 13.8-.7 13.8-.7-4.8 20.6-5.3 37c9.7.1 23.7-.4 39.6-5.7 0 0-.5 6.7-.5 14.4s.5 14.4.5 14.4a119 119 0 0 0-39.7-5.7v26z"/> + <path fill="#0b4ea2" d="M233 263.3c-19.9 0-30.5 27.5-30.5 27.5s-6-13-22.2-13c-11 0-19 9.7-24.2 18.8 20 31.7 51.9 51.3 76.9 63.4 25-12 57-31.7 76.9-63.4-5.2-9-13.2-18.8-24.2-18.8-16.2 0-22.2 13-22.2 13S253 263.3 233 263.3"/> +</svg> diff --git a/apps/web/public/flags/sl.svg b/apps/web/public/flags/sl.svg new file mode 100644 index 00000000..a07baf75 --- /dev/null +++ b/apps/web/public/flags/sl.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sl" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#0000cd" d="M0 320.3h640V480H0z"/> + <path fill="#fff" d="M0 160.7h640v159.6H0z"/> + <path fill="#00cd00" d="M0 0h640v160.7H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/sm.svg b/apps/web/public/flags/sm.svg new file mode 100644 index 00000000..e41d2f77 --- /dev/null +++ b/apps/web/public/flags/sm.svg @@ -0,0 +1,75 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sm" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#19b6ef" d="M0 240h640v240H0z"/> + <path fill="#fff" d="M0 0h640v240H0z"/> + </g> + <path fill="#fd0" fill-rule="evenodd" stroke="#7d6c00" stroke-width="2.4" d="M317 339.2C369.6 300 426 220 359.9 177.8c-12.3-2.4-26-1.7-32.7 3.6-3.5-2-6.3-1.8-9.8 1.9-2.5-3-5-4.4-10-2.9a41 41 0 0 0-31.5-3C218 211.8 253.4 294 317 339.1z"/> + <g stroke="#3a9d4f"> + <path fill="#4fd46b" fill-rule="evenodd" stroke-linejoin="round" stroke-width="2.4" d="M414 250.1s6-8 6.2-8c5.9-3.4 6.5-7.9 6.5-7.9 5.9-1.8 4-6.7 4.5-7.3a6 6 0 0 0 1.4-7.1c0-.8 2-8.4-.8-9.4.1-8-4.8-7.3-8.8-2-4.2 1.2-5.1 4.7-3.6 8.5-5.5 0-5.7 8-4.1 12.4-7.3-.2-3.3 8-3.5 8.4-2.4 1.2 1.9 12.8 2.3 12.4zm-46 68.2 3.6 2.2c.8 2.8 3.4 4.6 5.3 4.1 1 4.3 5.6 3.7 9 1.2 2.7 4 6 4 10.6 2.7 4 3 9.3 1.7 12.8-1.4 3.7 3 6.2.8 8.1-2.5 3 .8 5.2.3 6.3-2.6 5.7-.5 2.9-5.9-1.8-8.2 3.7-3.2 7.9-10 2-11-1.8-1.3-5.3-1-7.9.2-.7-3-4.8-3.7-9.4-.4-1.5-3.3-7-1.7-9.5.6-3.3-2.8-7.2-2.8-12.9.4zm0-8.7c.6-3.8-2-10.6 2-11.2-.7-6.3.3-13.3 7.5-12.7 1.2-5.9 1-11.4 7.8-12.2 0 0 5.5-19.1 11.2-5.9 2.2 3.9 1.8 10.2-2.7 9 .9 4.7-.7 8.9-5.9 8.7 2.3 3.4 1.6 7.9-1 10zm33.1-23.9 6-1.2c6-4 8.5-5.7 11.5-1.2 5.1-1 10-.6 9.8 3.4 6 .5 6 4.3 5.3 7.4 1 5.3-1.4 12.3-5 3.8-11.9-7.2-18.6-6.2-37.3-2zm3.1-5.9c.2-.2 17.5-4.7 15.7-10 4.9-.8 5.9-5.7 6-5.7 10.3-3.2 9.7-9.1 9.7-9.1 2.9-3.1 8-6.3 6.9-11.8.3-6.3.9-10.2-7.6-6.1-6.3-.6-8.5 3-10.3 8.5-3-3.5-7.8 2.1-8.4 7.1 0 0-7.7 7.6-7.7 7.8l-6.5 12z"/> + <path fill="#4fd46b" fill-rule="evenodd" stroke-linejoin="round" stroke-width="2.4" d="M404.5 266.4c-4.1-3.1-6.4-6.9-5.7-10.6-2.7-3.7-4.6-5.9-2-9.2l-2-7.5c-5.4-2-3.1-6.5-1.7-8.1q-3.8-5.4-.2-10.4c0-6.5 4.6-4 8.3 0 0 0 6.4 4.5 1.7 8.5 4.7 1.7 6 5.7 3.4 7.4 4.1 1.8 4.7 5.5 2.5 8 4.1 3.2 2.6 7.4 3.8 11.1z"/> + <path fill="#4fd46b" fill-rule="evenodd" stroke-linejoin="round" stroke-width="2.4" d="M411.8 236c-.2-.1-6.9-8.7-5-9.3-.5-2.6-2.5-5.5-1.3-8.1-3.3-3.4-3.4-7.3-.8-10.4-2.2-3-1.2-7.1 1.8-9.8-1-5 2.6-6.2 5.7-7.1 2.3-8 6-6 8.2.2 3.2 2.8 2.7 7 1.6 10.2 3.8 2.5 1.5 5.7-.2 7z"/> + <path fill="#4fd46b" fill-rule="evenodd" stroke-linejoin="round" stroke-width="2.4" d="m410.8 193.1-5.7-5.7c1.5-3 2.7-8.3-1.6-10.8-2.4-5.7-14.2-12.9-16.1.8-1.8-4.1-5.6-8.2-8.3-3.4-6.2-5.3-9.5-3.7-6.3 3 0 0-2.9 4.5 4.6 8 .6.6-2.4 8.1 6.6 8.3-1.7 2.6 1 6.2 4.6 6-2.5 3.1 1.8 6.5 4.5 5.2-1.1 3.5-1 5.2 3.9 5.7l5.5 6.3 4.5 6.1z"/> + <path fill="none" stroke-linecap="round" stroke-width="2.2" d="M414.3 246.5c.3-.3 11-24.8 12.4-32.2M415.4 203s1.8 20-3.1 34.6m-29.7-54.7s21.9 21 24 29.7m-8.7-32s1.4 17.3 7.5 34.3m31 28.4S414.6 261.8 404 278m11.8 30s-28.8 4-41.4 4.3m32 8s-35.8-.8-38.4-3.4m20.5-43c0 .4-18.2 30.3-18.8 40"/> + </g> + <path fill="#65c7ff" fill-rule="evenodd" stroke="#7d6c00" stroke-width="2.4" d="M316.9 333.4c-37.8-35.6-76.5-102.4-38-136.2 6.8 3.8 14.9.4 26-4 3.4 3.7 7.7 4.6 12 1.8a9 9 0 0 0 10.7-2.1c11 6.3 24.9 9.6 28.2 3.3 37.8 36-.6 103.2-39 137.3z"/> + <path fill="#8fc753" fill-rule="evenodd" d="M317 332.4a213 213 0 0 1-42.3-57.6c2-1.7 2.9-2.2 3.9-5 5.8.8 8.9 1 16.5-.4 1.6 5.8 1.9 10.6 5.5 15.4l7.7-15a34 34 0 0 0 16.5 0c3.2 4.2 2 10.7 7.7 15.6 3.4-10 6.7-10.6 10.1-16 5 1.8 8.2 1 12.3-.3 2 2.5 1 2.4 5 6a194 194 0 0 1-42.8 57.3z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M272.6 164.3a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.8 0zm-3.5-7.7a3.4 3.4 0 1 1-6.6 0 3.4 3.4 0 0 1 6.7 0zm-4-7.1a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0zm-2.8-7a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0zm.5-7.6a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0zm17.6-12.5a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M273.8 123.6a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0zm-7.3 4.3a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0zm22.4-5.4a3.4 3.4 0 1 1-6.6 0 3.4 3.4 0 0 1 6.6 0zm9.4.8a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0zm8.2-.5a3.4 3.4 0 1 1-6.6 0 3.4 3.4 0 0 1 6.7 0z"/> + <path fill="#fd0" fill-rule="evenodd" stroke="#7d6c00" stroke-width="1.1" d="M325.9 117.5a8.6 8.6 0 1 1-17.2 0 8.6 8.6 0 0 1 17.2 0z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M335 122.7a3.4 3.4 0 1 1-6.8 0 3.4 3.4 0 0 1 6.7 0zm8.6.7a3.4 3.4 0 1 1-6.6 0 3.4 3.4 0 0 1 6.7 0zm8.5-.4a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0zm7.1-.3a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0zm8.9 1a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0zm7 4.4a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0z"/> + <path fill="#e40000" fill-rule="evenodd" stroke="#ac0000" stroke-width="2.4" d="m269.4 151.7 8.6 16.5h79.2l9.2-15.9c-5.4-3.7-9-6.5-16.7-4.8-4.3-6.2-9-7.3-16-6.7-2.1-2.1-4-3.4-7.6-4l-16.6.5c-4.4.4-7.8 3.8-8 3.8-7-.9-13.5-.7-15.2 6.2-6.5-1.6-11 .2-16.9 4.4z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M378 135.3a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0zm.6 8a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0zm-2.5 7.2a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0zm-3 6a3.4 3.4 0 1 1-6.8 0 3.4 3.4 0 0 1 6.7 0zm-3.7 7.5a3.4 3.4 0 1 1-6.7 0 3.4 3.4 0 0 1 6.7 0zm-46.8-9.6a5 5 0 1 1-10 0 5 5 0 0 1 10 0z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M323.6 143a6 6 0 1 1-12 0 6 6 0 0 1 12 0z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M322.7 132a5.4 5.4 0 1 1-10.8 0 5.4 5.4 0 0 1 10.8 0z"/> + <path fill="#fd0" fill-rule="evenodd" stroke="#7d6c00" stroke-width="1.1" d="M315.5 109v-4.2l-3.6-.1.2-3.2h3v-2.8h4.5v2.5h3.5l-.1 3.4h-3.6v4.5h-4z"/> + <path fill="none" stroke="#fd0" stroke-width="3.3" d="M277.6 168.2c-7.1-12-17.6-28.4-11-35.5 8.9-10.1 29.9-1 43.3-6.8 1 11.4-2.2 30.4 2.9 34.3l-4.8 4.2c-3-3.7-8.4-8.8-15.2.2-4-3.4-8.3-2.8-10.4 1.7-2 .3-1.9 1.1-4.8 1.9zm80-.5c7.2-12 17.6-28.3 11.1-35.4-9-10.1-30-1-43.3-6.9-1 11.5 2.2 30.5-3 34.4l4.8 4.2c4.7-6.5 10.4-6.7 15.3.2 3.9-3.4 7.9-3 10.4 1.7 2 .3 1.8 1 4.8 1.8z"/> + <path fill="#fd0" fill-rule="evenodd" stroke="#7d6c00" stroke-width="2.4" d="M277.3 177.1a437 437 0 0 1 79.3 0l3.1-9c-27.7-5-46.8-5.6-83-.6z"/> + <path fill="#c76e2e" fill-rule="evenodd" d="m314.1 329.4.6-4.2c2.9.8 5 .5 7.4-.4l2.4-3.7-1.8-2.1c-1.6.3-3 1.8-4 3.1-1.6.1-3-.7-4.6-1l-1.5-6.4c-1.5-1.8-4.7-1.7-4 1.5l.3 2.5c.6 1.5.9 3.6 1.9 4.7v2.6zm1.2-18.3c-2 1-4.6-.8-7.3-1.9-2.5-.1-4.4 2-7.4 1.3.6-1.6 1.9-1.9 2.8-2.8-.7-4.1 1.5-5.5 2.1-5.5s3.1.6 3.1.6l2.4.3c1.5 2.7 3.5 5 4.3 8"/> + <path fill="#ffe100" fill-rule="evenodd" stroke="#e9bf00" stroke-width="2.4" d="M300.8 366c7-11.4 56.2-34.4 102.4-84.2-47 45.3-76.4 56.4-114.8 84l12.4.3z"/> + <path fill="#9d4916" fill-rule="evenodd" stroke="#68300e" stroke-width="1.1" d="M368.4 313.2a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.2 0zm34.4-34.9a4 4 0 1 1-8.1 0 4 4 0 0 1 8 0zm11.4-29.6a3.6 3.6 0 1 1-7.1 0 3.6 3.6 0 0 1 7.1 0zM403 210.3a3.6 3.6 0 1 1-7.1 0 3.6 3.6 0 0 1 7.1 0z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#a9a9a9" stroke-width="1.1" d="M279.1 269.6v-15.2l-1.5-1.2v-3.6l2.8-.3.5-17-1.8-1-.2-2.8s2 .8 2 .3l.5-3.4s-1.3-.2-1.3-.7 1.6-1.8 1.6-1.8-.8-.8-1-1.3l-.8-2.8.8-2.9-.5-1.5-1.3-2.3 1.8-1.8-.5-2.8a10 10 0 0 1 1.5-2.9c.3-.2 2.3-3 2.3-3l4.4-1 5.1.7 2.8 1.8.5 4.6s-.5 2.8-.7 2.8l-2.3 1s-2.6.3-2.9 0 .8 3.2.8 3.2v3l-.2 3.9s0 1.8-.3 2-.8 1-.8 1l-.2 4 4 1-.2 2.3-2.8.2.5 15.7 4.1.7v4.4l-1.8 1-.5 15.7zm62.4.3v-15.2l-1.5-1.3v-3.6l2.8-.2.5-17-1.8-1-.2-2.8s2 .7 2 .2l.5-3.3s-1.3-.3-1.3-.8 1.6-1.8 1.6-1.8-.8-.7-1-1.3l-.8-2.8.8-2.8-.6-1.5-1.2-2.3 1.8-1.8-.6-2.9a10 10 0 0 1 1.6-2.8l2.3-3 4.4-1.1 5.1.8 2.8 1.8.5 4.6s-.5 2.8-.7 2.8l-2.3 1s-2.6.3-2.9 0 .8 3.1.8 3.1v3.1l-.3 3.9s0 1.7-.2 2l-.8 1-.2 3.9 4 1-.2 2.3-2.8.3.5 15.6 4.1.8v4.4l-1.8 1-.5 15.7zm-31.6.5v-15.2l-1.5-1.2v-3.7l2.8-.2.5-17-1.8-1-.2-2.8s2 .8 2 .3l.5-3.4s-1.2-.2-1.2-.7 1.5-1.9 1.5-1.9-.8-.7-1-1.2l-.8-2.9.8-2.8-.5-1.5-1.3-2.3 1.8-1.8-.5-2.9a9 9 0 0 1 1.5-2.8c.3-.2 2.3-3 2.3-3l4.4-1 5.1.7 2.8 1.8.6 4.6s-.6 2.8-.8 2.8l-2.3 1s-2.6.3-2.8 0 .7 3.1.7 3.1v3.1l-.2 3.9s0 1.8-.3 2l-.8 1-.2 3.9 4 1-.2 2.3-2.8.3.5 15.7 4.1.7v4.4l-1.8 1-.5 15.7H310z"/> + <path fill-rule="evenodd" d="M283 269.5v-12h6.6V270zm31.4 1 .3-12.2h6v11.9l-6.3.2zm31-.3-.4-11.5 6.5-.2v12l-6-.3zm-60.8-36h3.8v6.1h-3.8zm30.3.2h5.3v6h-5.3zm31 .5h4.6v5.7H346z"/> + <path fill="none" stroke="#a8a8a8" stroke-width="1.1" d="M286.6 207c4 4.6 4.3 4.6 4.3 4.6m26.2-4.6c.8 1.5 2 4.8 3.6 5.1m29.3-4.4s1.3 3.6 3 4.1"/> + <path fill="#b97700" fill-rule="evenodd" d="M282.2 194c12-3.9-2.8-11.6-5.3 0-3.8.7-4.3 3.5-12.7 2.3-20.4 33-5.3 86.5 54.1 141.8-106.4-90.6-63.2-157.6-33.7-155 16 1 8 21-2.4 11z"/> + <path fill="none" stroke="#7d6c00" stroke-width="2.4" d="M285.6 177s9.7 2.7 9.7 6.8m0-7.5s6.8 3 8.3 5.6m45.1-4.5s-8.6 1.2-10.5 3.8m-2.6-3s-5 4.1-4.5 5.3m3.4 12.7c-.8-.3-4.2-4.9-3.4-10.5m-29.8 7.5s2.3-2.6 2.3-7.5m13.5-1.9.4 11m9.4-1.6c0-.7 3-7.9-.4-11.3m-20.3-1.5s-2.6 7.2-.7 13.2m20-6.8s-4.2 1.2-6 3m-11.8-1.9c0-.3 4.6-1 6 1.6"/> + <path fill="#c76e2e" fill-rule="evenodd" d="M300.6 301.9c.2 0 3.8-.7 3.8-2.4 1.8-1.2.5-4.5.5-4.5l-3.4-.6-4.6-5.2c-.2-1.6.3-3.1-.7-4.8-3.2.8-5 3.5-6 6.5.7 1 .8 2 2.3 2.9 1.5.2 2.5-.7 3.9-.4.7 1.3.5 2.4.8 3.6 1.9 1.3 2.3 3.2 3.4 4.9m-4.1-22.2v-6.2l-4.4-.2c-.6 1-1.6 1.4-2.2 2.2l-3.1 1.6c1.3 1.5 2.9 2.4 3.8 3.2q3.3 1 5.9-.6m-13.8 9.1-2.4-4a7 7 0 0 1 4.7.3s1 2.5.3 3.4c-.4.9-2.7.5-2.6.3m36.5 4.1a5 5 0 0 0 2.7-3.3l-4.5-5.1-4-.1q-1.6-1.4-3.6-1.2s1.2 2 2.8 2.3c1.2 2.6 6.2 7.4 6.6 7.4m4.3.6c0-.1 4-1.4 6-1.3-.1-1.6 3-5.3 3-5.3l5.6 7.3c-1 .8-2.8.6-4.2.8 0 0-2.7 2.6-3 2.7s-5.2 1.3-7.6-.2c-1-2 .3-4.3.2-4m3.2-12.8a14 14 0 0 0 0-7.6h-6.4l-4.2 2s1.3 4.2 3 3.8c.7 2.1 2.9 1.6 4 2.4zm24.9-6.4c-1 2.7-1.4 5.5-.2 8 1.2.3 2.6 1 3.6.8l5.1-9.2q-5.3-1.7-8.6.4z"/> + <path fill="#b97700" fill-rule="evenodd" d="M353.1 193.2c-12-3.9 2.8-11.7 5.3 0 3.9.6 4.4 3.5 12.8 2.3 20.3 33 5.2 86.5-54.2 141.8 106.5-90.6 63.2-157.6 33.7-155.1-16 1-8 21 2.4 11"/> + <path fill="#c76e2e" fill-rule="evenodd" d="M354.3 284.7c-.2 0-3 2-3 2l-4.2 1.7-4.4.1-1-3 3.4-3q-4.4-.6-8 2.8s0 3.3 2 5c1.1 1.4 4.5 4 4.5 4a7 7 0 0 0 5.4-1zm-23.2 30.1c1.4.4 11.3-12.7 11.3-12.7a10 10 0 0 0-4.9-5.4s-4.8 5.7-4.9 7.6c-.8 1.7-3 8.3-2 9.2-.1.2-.5 2.9.5 1.3"/> + <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M266.4 317.4c-14.8-12.9-34.8-20-62.7-10.3 7.5 3.2 15.6 4.3 22.5 7.9z"/> + <path fill="none" stroke="#00a400" stroke-linecap="round" stroke-width="2.2" d="M223.4 308.3c29.3.6 37.8 7.9 36.3 6.7"/> + <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.2" d="M267 319c-8.8 1.6-20.8 10-24.4 9.7-9.5-1.1-18.5-5-27.7-8-3.8-1.2-7.7 0-11.6 0 32.8-15.5 44-13.4 63.7-1.8z"/> + <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M245.4 296s-11 1.6-15.9 1.9c-4.8-.3-12-4.8-19.8-13-4-4.6-13.4-4-13.4-4 20.6-4.4 36.7-.2 49 15.2zm-15-21.2c-14.9-1-33.5-14.3-37.7-30.2 0 .2 5.5 3.5 4.6 4.3 24.4 6.2 26 11.2 33.1 25.9zm25 25.5c2.1-13.5 2.7-22.4-3.6-30.4-5.3-6-6.6-9.7-10.4-18.3-1.1 17.8-5 32.5 14 48.7zM232 263c11-16.1 13-28.3 11.2-47.5-.3 1.5-4 11-4.2 11-16.5 10.3-9.2 26.5-7 36.5z"/> + <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M222.2 185c11 16.1 9.4 31.3 7.6 50.5-.3-1.5-4-11-4.2-11-16.5-10.3-5.5-29.5-3.4-39.5z"/> + <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M231.3 210c26.8-13.6 16.5-30.7 21.4-44-18.6 13.9-21 28.6-21.3 44z"/> + <path fill="none" stroke="#00a400" stroke-linecap="round" stroke-width="2.2" d="M235 206.6c3.4-9.5 10-25.6 10.7-25.6M227 226.4c-.6-6.7-4-24.7-4.3-26.5"/> + <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M228.3 256.5c-15-1-31-21.3-35.3-37.1 0 .2 5.5 3.4 4.6 4.2 21.4 9.6 23.6 18.2 30.7 32.9zm-4.4-14c-11-16.1-13-28.3-11.3-47.5.3 1.5 4 11 4.3 11 16.4 10.3 9.1 26.5 7 36.5zm9.9-28.3c27.7-12.3 19.2-25.2 27.4-38.7-18.6 13.8-27.1 23.4-27.4 38.7z"/> + <path fill="none" stroke="#00a400" stroke-linecap="round" stroke-width="2.2" d="M235 211.4a71 71 0 0 0 15.2-20.7"/> + <g fill-rule="evenodd"> + <path fill="#ffe100" stroke="#e9bf00" stroke-width="2.4" d="m333.6 366.4 13.4.2c-44.7-42-130.5-60.2-118.6-137.4-12.3 83.7 70.1 91.5 105.2 137.2z"/> + <path fill="#9d4916" stroke="#68300e" stroke-width="1.1" d="M235.4 212.7a4.3 4.3 0 1 1-8.6 0 4.3 4.3 0 0 1 8.6 0zm-2.6 23.6a4 4 0 1 1-8.1 0 4 4 0 0 1 8 0zm3.8 33.7a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.2 0zm31.3 37.2a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.2 0zm4.5 10.7a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.2 0z"/> + </g> + <g fill="#fff" fill-rule="evenodd"> + <g stroke="#000" stroke-width="1.1"> + <path d="M288.2 349a16 16 0 0 1-4.8-5.8l-14-1.5-.2 8z"/> + <path stroke-linejoin="round" d="M185.3 339.6c8.2 1.5 20.5-.8 24.5 4.5 4.8 5.4-15.1 13.9-12.3 18.6 6.2 6.5 12.5 3.8 19.4.2 1.7-3.5 3-9.8 3.8-11.7-2.5-5.7-9.3-8.6-7.5-17.3 11.3-4.2 33.2-3.9 35.6-2.2 1.8 3.6.1 5.2.5 8.1-1.9 3.7-6.7 9.8-6.7 13.1 12 4.2 15-.6 25.8-.4 12.6.2 20.2 3.6 23-1.4-2-4.4-13.5-.8-17.8-3.6-2.2-.7-3.6-2.5-5.5-4.4s-7.2-2-8-6.9c2.2-10.2 17-8.6 19.3-10.2l38.4 2.7c7-.2 11 12.3 1.5 16-9.4 3.8-37.1-5.5-49.2.9-.6-2.6-9.3-6.6-9.9-6.7-3.7 1-10.9.7-10.9.7-1.7 3.2-3.8 5.6-5.5 8.9-8-3.5-15.5 2.7-24.2.9l-13.6 1.5-8.6-.8-13.2 3.8 9.4-8.3z"/> + <path d="M184.7 338a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.2 0zm-1 18a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.3 0z"/> + </g> + <g stroke="#000" stroke-width="1.1"> + <path d="M346.3 349.1c2.3-2.1 3.8-3.5 4.7-5.8l14-1.6.3 8z"/> + <path stroke-linejoin="round" d="M449.1 339.6c-8.1 1.5-20.4-.7-24.4 4.5-4.9 5.5 15 14 12.2 18.6-6.2 6.6-12.5 3.9-19.4.3-1.6-3.5-2.9-9.8-3.8-11.7 2.6-5.8 9.3-8.6 7.6-17.3-11.4-4.3-33.3-4-35.6-2.3-1.9 3.7-.2 5.3-.6 8.2 2 3.6 6.8 9.8 6.8 13-12 4.3-15.1-.6-25.8-.3-12.6.2-20.3 3.5-23-1.5 1.9-4.3 13.4-.8 17.8-3.5 2.2-.8 3.6-2.5 5.5-4.5s7.2-2 8-6.8c-2.2-10.2-17-8.7-19.4-10.2l-38.4 2.6c-7-.2-10.9 12.3-1.5 16.1s37.2-5.6 49.2.8c.7-2.6 9.3-6.5 10-6.7 3.6 1.1 10.8.7 10.8.7 1.8 3.3 3.8 5.7 5.6 9 8-3.6 15.5 2.7 24.2.8l13.5 1.5 8.7-.7 13.2 3.7-9.4-8.2 8.2-6z"/> + <path d="M449.7 338a3.6 3.6 0 1 0 7.3 0 3.6 3.6 0 0 0-7.3 0zm1 18a3.6 3.6 0 1 0 7.2 0 3.6 3.6 0 0 0-7.2 0z"/> + </g> + <path d="M317 329.3c-3.2-.6-4.4-.4-6.6-.6l-5.1 15.8c8 .7 15.3.7 15.3.7-4.8-1-3.7-15.8-3.6-15.9"/> + </g> + <g font-family="Trebuchet MS" font-size="9" font-weight="bold"> + <path d="M283.4 340.2v-10.7h1.8v9h5v1.7z" aria-label="L"/> + <path d="M291.7 340.7V330h1.9v10.7z" aria-label="I"/> + <path d="M300 341.5h-3.3V331l3.2-.2q1.7 0 2.5.7 1 .8 1 2.1 0 1.2-1.3 2 2 .7 2 2.9 0 1.5-1.2 2.3-1 .8-2.8.8zm-1.3-9.1v2.5h1q1.7 0 1.7-1.4 0-1.1-1.7-1.1zm0 4v3.5h1q1.2 0 1.7-.4.7-.3.7-1.3t-.5-1.3q-.5-.5-1.9-.5z" aria-label="B"/> + <path d="M308.6 333v2.7h3.4v1.7h-3.4v3.1h5v1.7h-6.9v-10.7h6.7v1.7z" aria-label="E"/> + <path d="m322.2 342.4-2.8-4.5H318v4.5h-1.8v-10.7h1.2l1.6-.2q4.2 0 4.2 3.2 0 1-.5 1.7-.7.8-1.5 1.1l3.3 4.9zm-4.2-9v2.8h.9l1.6-.2q.7-.3.7-1.3 0-.8-.5-1.2-.7-.3-2-.3h-.7z" aria-label="R"/> + <path d="M329.9 333v9h-2v-9h-3.4v-1.6h8.9v1.6z" aria-label="T"/> + <path d="m340.7 340.5-.8-2.1h-3.7l-.7 2.1h-2.1l4.3-10.8h.8l4.4 10.8zM338 333l-1.1 4h2.5z" aria-label="A"/> + <path d="m344.4 339.7.6-1.7q1.2.7 2.2.7 1.7 0 1.7-1.2l-.4-1-1.6-1.1-1.7-1-.7-1-.1-1.2q0-1.3.8-2.2 1-.6 2.3-.6 1.9 0 2.9.6l-.7 1.7q-1-.8-2.2-.8-.6 0-1 .3-.3.3-.3 1 0 .8 2 1.8 1.2.5 1.7 1l.6 1 .2 1.4q0 1.3-1 2.1t-2.7.9-2.6-.9z" aria-label="S"/> + </g> + <path fill="none" stroke="#00a400" stroke-linecap="round" stroke-width="2.2" d="M231.3 318.6c10.1 1.2 24.1.3 30.2 0M216 284.2c8.6 6.7 27.1 10.7 26.8 10.7m10.7 1.8c-2.8-14-5.8-17.4-8.3-26.2m-43.5-15.8c14.3 6.4 16.5 10.6 25.6 17m5.2-14c1.2-17.3 3.6-21.9 7.9-25.9m-38.7-2c5.2 5.7 22.2 23.7 22.2 23.7m-7-39.6c6.4 4.5 6.4 21 6.4 21"/> +</svg> diff --git a/apps/web/public/flags/sn.svg b/apps/web/public/flags/sn.svg new file mode 100644 index 00000000..7c0673d6 --- /dev/null +++ b/apps/web/public/flags/sn.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sn" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#0b7226" d="M0 0h213.3v480H0z"/> + <path fill="#ff0" d="M213.3 0h213.3v480H213.3z"/> + <path fill="#bc0000" d="M426.6 0H640v480H426.6z"/> + </g> + <path fill="#0b7226" d="M342 218.8h71.8l-56.6 43.6 20.7 69.3-56.6-43.6-56.6 41.6 20.7-67.3-56.6-43.6h69.8l22.7-71.3z"/> +</svg> diff --git a/apps/web/public/flags/so.svg b/apps/web/public/flags/so.svg new file mode 100644 index 00000000..a581ac63 --- /dev/null +++ b/apps/web/public/flags/so.svg @@ -0,0 +1,11 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-so" viewBox="0 0 640 480"> + <defs> + <clipPath id="so-a"> + <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#so-a)" transform="translate(80)scale(.9375)"> + <path fill="#40a6ff" d="M-128 0h768v512h-768z"/> + <path fill="#fff" d="M336.5 381.2 254 327.7l-82.1 54 30.5-87.7-82-54.2L222 239l31.4-87.5 32.1 87.3 101.4.1-81.5 54.7z"/> + </g> +</svg> diff --git a/apps/web/public/flags/sr.svg b/apps/web/public/flags/sr.svg new file mode 100644 index 00000000..5e71c400 --- /dev/null +++ b/apps/web/public/flags/sr.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sr" viewBox="0 0 640 480"> + <path fill="#377e3f" d="M.1 0h640v480H.1z"/> + <path fill="#fff" d="M.1 96h640v288H.1z"/> + <path fill="#b40a2d" d="M.1 144h640v192H.1z"/> + <path fill="#ecc81d" d="m320 153.2 56.4 173.6-147.7-107.3h182.6L263.6 326.8z"/> +</svg> diff --git a/apps/web/public/flags/ss.svg b/apps/web/public/flags/ss.svg new file mode 100644 index 00000000..b257aa0b --- /dev/null +++ b/apps/web/public/flags/ss.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ss" viewBox="0 0 640 480"> + <path fill="#078930" d="M0 336h640v144H0z"/> + <path fill="#fff" d="M0 144h640v192H0z"/> + <path fill="#000001" d="M0 0h640v144H0z"/> + <path fill="#da121a" d="M0 168h640v144H0z"/> + <path fill="#0f47af" d="m0 0 415.7 240L0 480z"/> + <path fill="#fcdd09" d="M200.7 194.8 61.7 240l139 45.1L114.9 167v146z"/> +</svg> diff --git a/apps/web/public/flags/st.svg b/apps/web/public/flags/st.svg new file mode 100644 index 00000000..1294bcb7 --- /dev/null +++ b/apps/web/public/flags/st.svg @@ -0,0 +1,16 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-st" viewBox="0 0 640 480"> + <path fill="#12ad2b" d="M0 0h640v480H0z"/> + <path fill="#ffce00" d="M0 137.1h640V343H0z"/> + <path fill="#d21034" d="M0 0v480l240-240"/> + <g id="st-c" transform="translate(351.6 240)scale(.34286)"> + <g id="st-b"> + <path id="st-a" fill="#000001" d="M0-200V0h100" transform="rotate(18 0 -200)"/> + <use xlink:href="#st-a" width="100%" height="100%" transform="scale(-1 1)"/> + </g> + <use xlink:href="#st-b" width="100%" height="100%" transform="rotate(72)"/> + <use xlink:href="#st-b" width="100%" height="100%" transform="rotate(144)"/> + <use xlink:href="#st-b" width="100%" height="100%" transform="rotate(-144)"/> + <use xlink:href="#st-b" width="100%" height="100%" transform="rotate(-72)"/> + </g> + <use xlink:href="#st-c" width="100%" height="100%" x="700" transform="translate(-523.2)"/> +</svg> diff --git a/apps/web/public/flags/sv.svg b/apps/web/public/flags/sv.svg new file mode 100644 index 00000000..cbc674a6 --- /dev/null +++ b/apps/web/public/flags/sv.svg @@ -0,0 +1,593 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-sv" viewBox="0 0 640 480"> + <path fill="#0f47af" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 160h640v160H0z"/> + <g transform="translate(-92.7)scale(.8)"> + <g fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".3"> + <path d="M515 353.4c1.5 0 3.2 0 10.1-1.7 7-1.7 12.7-5.9 14-6.5s3.3-.4 3.3-.4a8 8 0 0 0-5.8-2.8c-3 0-1.9 0-4.4 1.1-2.6 1-8 4.3-17 4.3h-.1c-9 0-14.7-3.2-17.2-4.3-2.6-1-1.4-1-4.4-1s-5.1 1.9-6 2.7c0 0 2-.2 3.4.4s7.1 4.8 14 6.5 8.6 1.7 10.1 1.7z"/> + <path d="M488.4 347.4c.7-.4-.2-1.6-.2-1.6l2.7-.6c-1.3-.6-3.3-.4-3.3-.4q-.5.7-.5 1.3t.2 1.3c.3.3 1 0 1 0z"/> + <path d="m491 345.2-2.8.6s.9 1.2.2 1.7l4.8-1-2.3-1.3zm50.7 2.2c-.7-.4.1-1.6.1-1.6l-2.7-.6c1.4-.6 3.3-.4 3.3-.4.6.4.5.9.6 1.3q0 .7-.3 1.3c-.3.3-1 0-1 0z"/> + <path d="m539.1 345.2 2.7.6s-.8 1.2-.1 1.7l-4.8-1z"/> + </g> + <path d="m495.8 343.3-1.2 3 .6.3q1.5.5 2.2-.9.5-1.6-1-2.1zm.3.6q1.3.6.9 1.7-.6 1-1.7.5h-.1z"/> + <path fill-rule="evenodd" d="m497.6 347.6-.4-.1 1.4-3 .3.1z"/> + <path d="M500.2 345.3q-1 0-1.5 1-.5 1.6.8 2.3 1.4.5 2.2-1a2 2 0 0 0-.9-2.2zm0 .5h.5q1 .6.5 1.6c-.2.6-1 1-1.5.7q-.9-.6-.5-1.6.3-.6 1-.7"/> + <path fill-rule="evenodd" d="M503.8 347.4q0-.4-.3-.5-.5-.1-.7.2l.2.6.3.2q.5.5.3 1.2a1 1 0 0 1-1.3.6 1 1 0 0 1-.6-1.2h.4q-.2.6.4.9.5 0 .7-.4.2-.6-.2-.8l-.2-.2q-.5-.3-.3-1 .4-.7 1-.5t.7.8zm2.4.1-.5 1.9q-.2.8.4 1.2.9 0 1-.8l.6-1.9.3.2-.5 1.9q-.4 1.1-1.5 1-1.1-.6-.7-1.6l.6-2zm4.4 4.5-1.8-3-.5 2.4h-.4l.7-3.4 1.8 3 .4-2.4h.4zm.8 0 .4-3.2h.3l-.4 3.2z"/> + <path d="M514.2 348.9a1.6 1.6 0 0 0-1.7 1.6q.1 1.6 1.6 1.8c.8 0 1.6-.7 1.6-1.7q-.2-1.5-1.5-1.7m0 .5q1 .2 1 1.2a1 1 0 0 1-1.1 1.2q-1-.1-1.1-1.3.1-1 1.1-1.2z"/> + <path fill-rule="evenodd" d="m519 352.1-2.4-2.3.1 2.4h-.4l-.2-3.4 2.5 2.4-.2-2.4h.4zm2.1-.5-.6-3.2h.4l.6 2.8.9-.2v.4zm1.8-.3-.8-3.2h.4l.7 3.1z"/> + <path d="M523.9 347.7h-.4l-.4.2.9 3.1.7-.1q1-.3.8-1.2-.2-.7-.8-.6l.1-.8q-.3-.7-1-.6zm0 .4q.3-.1.5.4t-.4.6h-.1l-.3-1zm.5 1.3q.5-.1.6.4.2.5-.4.6l-.3.1-.3-1h.4z"/> + <path fill-rule="evenodd" d="m527.2 348 .2.3-1.2.4.4 1.2 1.2-.5.1.4-1.5.6-1.1-3.1 1.6-.6v.3l-1.1.5.3.8z"/> + <path d="m528.6 346.2-.8.2-.4.1 1.2 3h.3l-.4-1.4 1.4.9.5-.1-1.5-1q.6-.4.4-1.1a1 1 0 0 0-.7-.6m0 .4.3.3q.1.7-.5.8l-.5-1h.1l.5-.1z"/> + <path fill-rule="evenodd" d="m529.2 345.8 1.7-.8.2.3-.7.3 1.2 2.7-.3.1-1.2-2.6-.7.3z"/> + <path d="m532.2 344.2.2 3.7.4-.2v-.8l1.3-.7.6.6.4-.3zm.4.9 1 .8-.8.5-.1-1.3zm2.7-2.2-1 .3-.5.3 1.7 2.8.5-.3q1.5-.8.7-2.3-.6-.9-1.4-.8m.2.5q.5 0 .8.5.4 1.1-.6 1.7l-1.3-1.9h.1z"/> + <g id="sv-a" stroke="#000" stroke-miterlimit="2.6"> + <path fill="#e60000" fill-rule="evenodd" stroke-width=".1" d="M485 355.2q1 0 1-1a1 1 0 0 0-1-.8q-.7 0-.8.9c-.1.9.4.9.9.9zm-5 6.3q.8 0 .9-1a1 1 0 0 0-1-.8 1 1 0 0 0-.9.9q.1.8 1 .9zm-12-19.9q.9 0 1-.9a1 1 0 0 0-1-.9 1 1 0 0 0-.8 1q0 .7.9.8zm-7.3 3.7q.9 0 1-1-.1-.9-1-1a1 1 0 0 0-1 1q0 1 1 1zm-1.4-22.3a1 1 0 0 0 1-1q0-.9-1-1a1 1 0 0 0-1 1 1 1 0 0 0 1 1zm-6.2 1.8a1 1 0 0 0 1-1 1 1 0 0 0-1-1 1 1 0 0 0-1 1 1 1 0 0 0 1 1zm3.2-19.8a1 1 0 0 0 1-1 1 1 0 0 0-1-1 1 1 0 0 0-1 1q0 .9 1 1zm-5.5-18.3q.9 0 1-1a1 1 0 0 0-1-1 1 1 0 0 0-1 1q0 1 1 1zm7 1.8a1 1 0 0 0 1-1q0-.9-1-1a1 1 0 0 0-1 1 1 1 0 0 0 1 1zm7-15.2q.9 0 1-1-.1-.9-1-1a1 1 0 1 0 0 2zm-5.3-4.2a1 1 0 0 0 1-1 1 1 0 0 0-1-1 1 1 0 0 0-1 1 1 1 0 0 0 1 1zm10.5-10.3a1 1 0 0 0 1-1 1 1 0 0 0-1-1 1 1 0 0 0-1 1 1 1 0 0 0 1 1zm-21.5 46.3q1 0 1-1c0-1-.4-1-1-1a1 1 0 0 0-1 1q.1 1 1 1z"/> + <path fill="none" stroke-width=".3" d="M486 358.9s-.8-3.2-.7-3.9l.8-.6m-1.4 5.7s-2.8.1-3.7.4l-.3.8m-13.4-15.5s-.2-3.8.6-4c0 0 .7-.4 1.2-1m-4.7 3.8s-2.1-.3-2.7 0c0 0-.2.6-.6.8m-.8-23-.7.5c-.8.3-2.3 4-2.3 4s-2.4-1.9-3.4-2h-1.1m-4.8-20.2s.6.6 1.2.3c0 0 3 2 3.1 2.7 0 0 3.2-3.2 3.8-2.9 0 0 .3.5 1-.1m-5.8-18.6s.3.5.9.8c0 0 1.4 2 1.4 3.5 0 0 2.5-2.3 3.3-2.1 0 0 .9.3 1.5 0m.3-19.5s.6.8 1 .2c0 0 1.8 2.2.8 4 0 0 2.5-.7 3.3-.3 0 0 .3 1 1.2.5"/> + <g fill="#1f601a" fill-rule="evenodd" stroke-width=".3"> + <path d="m532.8 378.3-4.5-.3c-.6 0-2-2.7-2.6-3.1-.6-.5-10.8-5.5-17.5-6.5a95 95 0 0 1-19-6 88 88 0 0 1-26-19.2c-2.9-4.2-6-14-7.2-19.2-.7-2.5-4-12.4-4-19.2a84 84 0 0 1 2.2-19.4 111 111 0 0 1 15.3-26.8s-12 18.7-14.2 25.9a81 81 0 0 0-2.5 21.5c.1 4.2 3.6 19.6 8.7 30.9 4.1 9 7.7 10.2 14 15.2 3 2.4 8.8 6.2 13.6 8.6s15 5.5 17.8 5.9c2.7.5 16.4 4.5 18.2 5.4s6.5 5 7.7 6.3z"/> + <path d="M464.1 343.4q.3-2.1 1-2.8a14 14 0 0 0 2.2-3.5c.3-1.2 0-2.2 0-2.8l.4-2.7s-.7-2.5-1.3-3-2.2-2.6-2.5-3.2c0 0 .2 1.3-.3 1.9a7 7 0 0 0-.6 3c0 .9.3 3 0 4q-.6 1.7-.4 3.5zm-.5-1.5s-3.4-4.4-3.4-6.2q0-2.7-.6-3.3c-.3-.4-2.3-2.7-.5-5.6.8-1.2 1-1 1.4-2.4.6-1.6 1.8-1.6 2-3.3 0 0 .4 2 .5 3.6.2 1.7-.1 2.3-.2 3.2-.2.9.4 2 .4 3.3 0 1.4-.2 1.9-.2 2.7 0 .4-.5 6.2.6 8zm38.6 23.5-4-.5c-.7 0-2.5-.5-3.5-.9a10 10 0 0 1-4-2.8c-2.8-3-2.5-4.5-3-4.6-1-.2 1.5-.4 2.8-.3 1.1.2 2.8 1 3.8 2 1.2 1.1 3 2.3 3.5 2.7s1 .7 1.7 1.5c.7 1 .6 1.5 2.7 3z"/> + <path d="M506.2 367.5s-7.2-3.2-8-3.8l-2.8-2.6c-.7-.8-3.8-2.4-4.3-3.4-.3-.7-2.3-3.3-3.4-5.4-.5-1 4.9.3 4.9.3 4.4 1.8 2.4.6 4.8 2.4q2.3 1.6 2.9 2.9c.6 1.3 1.2 3.5 1.9 4.7q.7 1.7 4 5z"/> + <path d="M510.2 368.4s-6-1.5-8.8-5.2c-2-2.6-2-1.8-2.7-2.7q-1.7-1.4-4-4.5c.2.3-1.6-5.9-1.6-6.6 0-.4 2.3.3 4.2 1 1.5.7 2.4 2 3.8 2.8 1.6 1 1.8 3.7 2.5 4.9q1.4 2.5 1.2 3.5c0 1.4.8 1.8 1.2 3 .5 1.3 2.1 1 4.2 3.8zm-9.6-2-5.9-2.4c-.8-.1-1-.6-2.1-.9-.9-.2-1.7-.9-3.8-.4-.9.2-4.6 1-5.5.6s1.3 2.5 2.3 3.1c1.1.7 2.9 1 4.4.8h4.4c.7 0 1.2.2 2.3-.1s1.3-.8 3.9-.7z"/> + <path d="M504 366.4s-5.7-1.4-6.7-1.4l-4.8.4c-1 .2-4.5-.2-5.5.4-1 .4-5.6 1-6.8.8-1.2-.3 2.4 3.2 3.9 3.6 4.6 1.3 3.2 1.1 6.2.4 1.8-.5 4.4-.6 5.4-.8.9-.1.7-.7 2-1.2 1.1-.5 3.2-1.8 6.3-2.2z"/> + <path d="M508.7 368.8s-5.7-2.4-10.2-1.1l-4.2 1c-1.4.1-2.6-.6-5 .4-1.2.4-6.2 2.5-7.5 2.4s4 3.3 5.4 3.1c4.6-.6 9 1 11 0l4-1.5q1.3-.8 2.1-1.7c.6-.4 1-1.6 4.4-2.6zm-30.6-13.1s-3.3-3.6-4-4.1l-3-2.4c-.6-.6-1.3-2-3.4-2.5-1-.2-3.1-.6-3.8-1.4s.1 3 .8 4a8 8 0 0 0 3.6 2.5c1.5.5 3.3 1.5 4 1.9q.7.5 2 .8c1.1.2 1.6 0 3.8 1.2z"/> + <path d="M481.3 357.2s-5.7-4-6.5-4.4l-3.5-1.3c-1.1-.3-4-2.3-5-2.3-1.2 0-3.3-.1-4.3-.8s-.1 2.7 1 3.7c3.6 3.2 1.1 2.2 4.1 2.8l5.1 1.7c1 .3 1-.3 2.3-.2s3.8-.2 6.8.8zm1.3 1.1s-2.3-1.6-6.9-2.4c-3-.5-3-.6-4.1-1-1.4-.4-1.7-.4-4.3-.5-1.2-.1-6.2 1.5-7.4.8-1-.6 1.3 1.5 2.6 2 2 .8 1.8 2 4 2.8s4.7 1.6 6 1.4c1-.2 1.8-.7 3.3-.8s4-2.3 6.8-2.4zm.5-1.2s1.1-5.5.1-6.8a5 5 0 0 1-1.2-2.9 11 11 0 0 0-1.6-4.3c-.6-.8-1.8-4.2-1.5-5.1 0 0-3.2 3.1-3 5.1v2.4c-.2.9.7 3.9 1.3 4.8.6 1 .3 3.6 1 4.2.5.6 4.1 3 4.9 2.6z"/> + <path d="M482.6 358.3c.3.1-2-1.8-3-2.3s-5.3-1.6-5.6-2.7c-.3-1-3.7-4.6-3.9-5.6 0-.6-.7-2-.6-2.8.2-.7.5-2.6 1-3.6.4-1.1 1.4-3.6 2.5-4l1.2 3.8c.3 1 .6 2.3 1 2.9s2 3.4 2.1 4.5l1.1 5.3c.1.7 3 3.8 4.2 4.4zM464 343.4c.1.8-2.3-.8-3.5-.8s-4.8.5-5.7-.4-2.2-2.6-2.7-2.9-2.1-3-2.6-4.5-3.6-4.2-4-4.5c0 0 4.3-.9 7 .9s3 1.4 3.5 1.6 5.3 4.3 5.6 5.8 2.2 4 2.4 4.8z"/> + <path d="M464.1 343.4s-3.9-2.7-4.8-2.6c-1 .2-5.2-3-5.4-5-.2-1-2.2-2.5-2.6-3.1-1-1.8-1.7-5.9-3.2-7l5.2 1.3c2 .3 3.6.6 4.3 2.2q1.1 2.7 2 3.2c.6.2 1.5 2.3 1.8 4.4a32 32 0 0 0 2.7 6.6zm-7.4-20.5c.7 1 .6-6 .9-6.8a11 11 0 0 1 1.7-2.8c.6-.6.6-2.7.9-3.3s.1-4.7-.3-5.8L458 306c-.6.7-1.7 1-2 2-.3.8-.9.8-1.3 1.8a6 6 0 0 0-.6 3.6c.3 1.2.1 1.6.1 2.7 0 1 1.5 5.6 2.4 6.9z"/> + <path d="M456.9 323.5s-.3-2 .4-2.7c.8-.8 1.5-.8 1.8-1.2l.5-1.7c.3-.6 1-1.6 1-2 .3-1.7 1.3-3.6.5-5.3 0 0-1.7.5-2.1.8s-1.8 1.6-2 2.8c-.1 1.3-.3 1.5-.7 2.2-.5.8-1 3-.3 4.4a7 7 0 0 1 .9 2.7zm-4.4-23s-.3-4.4.9-5.8 1.5-3.9 4.2-5.3v1.9c.2.7.5 2.8 0 3.6-.4.7-2 2-2 2.7 0 .6-1 2.1-1.7 2.4z"/> + <path d="M452.5 302.8s0-3 .9-4q1.3-1.2 1.8-2c.5-.5 1-2 2-2.7 1-.6 2.8-2.1 3-2.7 0 0 .4 3.8-.6 5.8s-1 3-2.3 3.4c-1.2.5-1.4.8-1.8 1q-.8.7-1.8.8c-.6 0-1.2.4-1.2.4zm3.5 20.6c.1.8.7-2-2.4-2-3.2 0-5.8-1.2-6.8-2.3l-2.1-2.3a9 9 0 0 1-1.8-3.1c-.2-.9-1-4.2-1-4.8 0 0 1.7.3 2.5.9.7.6 2 .6 2.8 1s1.4 1.7 1.9 2.1 1.7.5 2.3 1.4 1.7 2.9 1.9 3.8c0 .9 1.2 1.8 2 2.2.6.5.5 2.3.6 3z"/> + <path d="M455.6 322.1s-2-2.5-3.1-2.5c-1 0-3.8-2.7-4-4 0-1.1-1-3.4-1.6-3.9a4 4 0 0 1-1.5-3.3c.2-1.8.2-4.8.2-4.8s.6 1.8 1.5 2.3 2.5 1 2.8 1.6 1.5.6 2 2.5c.5 1.7.5 1.6.8 2.2q.6.9 1.3 2.6c.3 1.2 2 4.3 1.7 7.3zm-3-16.6c-.2.8 1.1-1.6-1.7-2.4a10 10 0 0 1-5.6-4l-1.3-2.6a9 9 0 0 1-.7-3.4c0-.9.2-4.1.5-4.6 0 0 1.4.7 2 1.4.4.8 1.7 1.2 2.3 1.8s.7 1.9 1 2.5c.3.5 1.5.9 1.8 1.8s.7 3.1.6 4 .6 2 1.2 2.6-.1 2.2-.2 3z"/> + <path d="M452.6 304.3s-1.3-2.9-2.2-3.2-2.5-2.7-2.6-3.9-.3-3.4-.7-4c-.5-.6-1.3-2.4-.6-4l1.6-3.7 1.3 2.1c.8 1.6 1.6 1.7 1.7 2.3.1.7 1 1 1.4 2.3.5 1.7 0 1.6 0 2.3.2.6.7 1.5.6 2.7 0 1.1.6 4.5-.5 7.1zm2.3-18.2q.3-.7 2.1-1.2c1-.3 2.7-2.7 3.5-3.3s1-1.6 2-2.1 1.4-2.4 1.7-4.2l-3.3.7a7 7 0 0 0-2.8 1.8c-.6.8-1.2 2-1.9 2.3s-1.3 2.1-1.3 3.3z"/> + <path d="m454.8 284.8-.2-2.6c0-.9-.6-3.3.7-5.3 1-1.3 4.3-3.9 5.2-4 0 0 .6 2.4.4 3.1s-1 3.8-1.6 4.1-2.4 3.9-4.5 4.7z"/> + <path d="M454 286.1c-.4.7-.1-2.2-1-3s-1-1.8-1-3 .2-2 .3-2.9c.2-.7 2.5-3.9 2.3-4.8l1.7 3.8c.4 1-.3 2.1-.2 3 .2.9.9 2.6.3 3.5L454 286zm8-15.5s.2-.4 1.5-.4 3.3-.1 3.9-.8q1-1 2.3-1.7a5 5 0 0 0 1.8-2.2c.1-.6 1.2-1.8 1.6-1.8 0 0-1.6-.2-3.4.3s-4.4 1.4-5 2.6-2.7 4-2.7 4z"/> + <path d="M462.5 270.3c.3 1 2.8-1 3.4-1.8l1.5-2 1.8-2.4c1-1.6.7-4.6.3-4.3l-2.5 1.4c-.5 0-1.4.4-1.7 1.1q-.4 1.4-1 2.3c-.5.5-3.2 2-1.8 5.7z"/> + <path d="M461.6 270.3s2-1.5 2.8-2.3c1-.8.5-2 1-2.6.3-.6 1.4-2 1.1-3l-.9-3.4-1.8 1.8c-.8.8-.9 1.4-1.2 2.3s-1 1.5-1.2 2.2c-.3.8 0 2.3.2 3.2z"/> + </g> + <g fill="none" stroke-width=".1"> + <path d="M494.8 365.2s-10-.1-10.8-1.3m16.6 2.6s-6.5 1.7-10 1.3-5.1.3-5.9.3c-.7 0-4.5-1.5-4.5-1.5m27 2.2-6 1.3c-1 .3-6.2 2.2-7.7 2.2h-5a18 18 0 0 1-6.3-.4m6.2-15s3.7 2.3 4.4 3c.5.8 3.8 3.5 4.5 3.5m-9-11.1s6.5 5.6 7.6 6.3 7.4 7 8.1 7.8M493.6 350s5.1 4 5.7 5.7 2.2 3.6 2.2 3.6 2 4.2 2.8 4.8 2.3 2.2 4.1 3.4m-44-21.3s5.4 4.6 6.9 5.4m-9.1-2.5s5.4 3.7 7.8 4.6c2.4 1 4.4 1.7 9.6 2.4m2.1 2.2s-6-.3-7 0-5.8-.8-7-1.1l-6.6-1.4m11.4-17.9s-.3 3.3.2 4.7c.4 1.3 2.6 5.3 2.4 6.2-.1.9 1.2 5 2.4 5.7m1.2-16s-1 3.3-.6 4.4c.5 1 1.2 3 1.2 4.2s.8 3 1 3.8c.4.7-.1 3.3.7 4l1.6 2.2m-36.1-26.3s4.8 1.9 5.4 3c.6 1.3 1.5 1.6 2 2.2m10.3-9.7s1.3 4.9 1 6c-.3 1.2-.3 3.7-.3 4.6s-1.4 4.5-1.3 5m-1.3-19.6-.6 4c-.1 1.2 0 3.2-.3 4s-.8 4.8 0 6.6M449 326.2l4.8 4.2c.9 1 5 5.3 5.1 6.4.1 1 3 4.3 3.9 5m-20.5-32.5s4 4 4.2 4.9 2 2.3 2.8 2.8m11.4-6s-1.5 2.3-1.5 3-.6 2.7-1.2 3.5c-.4.5-1.7 2.7-1.5 4m3-16.8-1 3.6c-.2 1.5-1 3-1.3 4-.3.8-1.5 5.2-1 7.9m-10.4-15.7s.4 2.1 1.5 3.2c1 1 2.7 2.6 2.8 3.4.2 1 1.6 5.4 3 7a5 5 0 0 1 1.7 3m-10.5-32s.4 2.6.7 3.4 1.5 4 2.7 5.1m9.5-7.7-.9 3c-.1 1-1 2-1.2 2.4l-.7 2m5.5-5.3c-.1.9-1.8 3.6-2 4-.1.5-1 2.6-1.9 3.2s-3.6 2.6-3.4 3.4m-4.4-16.5s-.2 3.3.4 4.5l1.7 4c.3.9.3 2.4.4 3.4.2 1.1.6 3 1.2 3.8m11.8-25.9-3.2 3.5c-1 1-4.8 5-5 5.8m4.6-11.6s-2.1 4.7-2.6 5.4l-.9 2m-2-7.5s.2 3.6 0 4.5a8 8 0 0 0 0 2.9c.2.4-.4 3.7-.5 4.5m18-21.3s-4.8 2.9-5.5 3.6m2.7-7.3-3.3 4.8-.8 1.4m.3-6.7s-1 2.6-1.2 3.6a36 36 0 0 1-2.2 5.6"/> + <path stroke-width=".3" d="M469.2 258s-.4 1 1.4.7"/> + </g> + </g> + <use xlink:href="#sv-a" width="100%" height="100%" transform="matrix(-1 0 0 1 1030 0)"/> + <path fill="#00209f" fill-rule="evenodd" d="M514.6 366.1s.7-1.8 2.2-.1c0 0 1.9 4.2.5 4.3-1.4.2-2.7.5-2.9-.3-.1-.7.2-3.9.2-3.9"/> + <path fill="#00209f" fill-rule="evenodd" d="M516.5 365.5s.5-6.4 1.4-6.7 3.6-1.8 5.3-.5 0 8-.5 8.7-1.5 2.5-5 2l-.4-1.6s1.8-.2 3-.8q1.7-.9 1.5-1.8c-.2-.9 0-4.2-1-4.5l-2.3-.8-1.7 6.5z"/> + <path fill="#00209f" fill-rule="evenodd" stroke="#000" stroke-miterlimit="2.6" stroke-width=".2" d="M514.4 370s-6.2 3.7-3 9l-2.1-1.3s-1.2 2.2-.1 3.4c0 0-4.3-3.8-1-8.3 3.4-4.6 6-4.3 6-4.3z"/> + <path fill="#00209f" fill-rule="evenodd" stroke="#000" stroke-miterlimit="2.6" stroke-width=".2" d="M514.4 367s-2.7-1.8-6.6-.7c0 0-1.7-5.6-1-7.4.2-.8.8-.9.8-.9s-2-1.2-1.3 4c.6 5.4 1.6 6.8 1.6 6.8s5.2.3 6.4-.3l.1-1.4z"/> + <path fill="#00209f" fill-rule="evenodd" stroke="#000" stroke-miterlimit="2.6" stroke-width=".2" d="M514.4 367s-5.4-9-6.8-9c0 0-1.5-.2 2-.6 1.2-.1 3.2 0 4 1.7 1 1.6 1.7 5.5 2 6.1 0 0-1 .3-1.2 1.9z"/> + <path fill="#011322" fill-rule="evenodd" stroke="#000" stroke-miterlimit="2.6" stroke-width=".2" d="M514.4 367s-3.6-1.6-4-2c-.5-.5-1.2-5.6-.8-5.3 0 0-1.5-1.7-2-1.7-.3 0-1.3.8-1 2.6s.7 4.5 1.2 5.7c0 0 2.9-1.2 6.6.8z"/> + <path fill="#00209f" fill-rule="evenodd" stroke="#000" stroke-miterlimit="2.6" stroke-width=".2" d="M517.7 370s2 1.3 2 3.5.9 6.4 2.7 7.3c0 0 .5-1.7 1-2 0 0 1.9 2.1 2.5 2.1 0 0-1-2-1-2.9s-1-4.3-2-5.2c-.8-1-2.6-3-5.2-3.8z"/> + <path fill="#011322" fill-rule="evenodd" stroke="#000" stroke-miterlimit="2.6" stroke-width=".2" d="m518.5 359.5-1.7 6.5.5 1.4s.6-.2.9-1c.3-.7 1.2-6.3 1.7-6.5z"/> + <path fill="#011d33" fill-rule="evenodd" d="M514.4 369.3s-3 1-4.1 3.2c0 0-.4-1.5 4-3.6v.4zm3.4 0s2 .8 2.6 2l-2.6-1.5zm-3.4-1.7s-4.6.7-5.6.5c0 0 1.3.3 5.6 0zm7.4-2.8s.5 2.3.9 2.2c.4-.2 1.2-3.9 1.2-5.6q-.2-2.4-1.4-2c-.7 0-1 1.5-1 2.2z"/> + <path fill="#011d33" fill-rule="evenodd" d="M516.8 366s1.9 4.1.5 4.4c-1.4.2.6.1-.4-2.7-.4-1.1-1-2.5-1.3-2.5 0 0 1.1.4 1.2.8"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".2" d="M514.6 366.1s.7-1.8 2.2-.1c0 0 1.9 4.2.5 4.3-1.4.2-2.7.5-2.9-.3-.1-.7.2-3.9.2-3.9z"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".2" d="M516.5 365.5s.5-6.4 1.4-6.7 3.6-1.8 5.3-.5 0 8-.5 8.7-1.5 2.5-5 2l-.4-1.6s1.8-.2 3-.8q1.7-.9 1.5-1.8c-.2-.9 0-4.2-1-4.5l-2.3-.8-1.7 6.5z"/> + </g> + <g transform="translate(-92.7)scale(.8)"> + <path fill="#00209f" fill-rule="evenodd" d="M509.8 255.9c-.4-1-.4-7.4-.4-8.4a68 68 0 0 1 3.8-11.2c.6-1 .5-1.2.7-1.8l.9-1.2a11 11 0 0 1 1.3 4.1s-.6 4.1-1.1 6c-.4 1.7-1.6 4.3-1.8 4.8-.6 1.2-.5 2.4-.2 2.5z"/> + <path fill="#fff" fill-rule="evenodd" d="m515 247.3.5.6c1.3-1.5 1.4-4.5 1.4-4.5l-.9-6s-.5 4-1 6c-.4 1.7-1.6 4.3-1.8 4.8-.9 2.2-.2 2.4-.2 2.5z"/> + <path fill="#00209f" fill-rule="evenodd" d="M515.5 247.9c1.3-1.5 1.4-4.5 1.4-4.5s1 5 .4 6-.5.7-.4 1.3z"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".3" d="M517 250.7c-.2-.6-.2-.3.3-1.3s-.4-6-.4-6l-.9-6c0-1.3-.6-3-1.2-4.1l-.9 1.2c-.2.6 0 .8-.7 1.8s-3.6 9.5-3.8 11.2c0 1 0 7.5.4 8.4"/> + <path fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-miterlimit="2.6" stroke-width=".1" d="m515 234.1-.2-1.3c0-.2.6.9 1 .7.9.3 1.9 1.5 2.1 1.8-.4.5-1.3 1.6-2 1.4-.5-.2-.4-1-.5-1.5q-.3-.4-.4-1z"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".1" d="m515 233.3.4.4.7.2q.7.5 1.6 1.5m-2-1.4q1 .6 1.8 1.7"/> + <path fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-miterlimit="2.6" stroke-width=".1" d="m514 233.4 1.3-.6c.1 0-.7.8-.4 1.2 0 .9-.7 2.2-1 2.5-.6-.1-1.2-.1-1.8-1.1-.2-.4.4-.8.8-1.1.2-.2.7-.8 1.2-.9z"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".1" d="m514.9 233.2-.3.5.1.7c-.2.7-.5 1-.9 2"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".1" d="M514.4 234q-.1 1.2-1 2.3h.2"/> + <path fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-miterlimit="2.6" stroke-width=".1" d="M515.4 232.8c.6-.7 1.7-1.4 2.3-1l.6.6q.3.4 0 .8c-.3.8-1.4.4-2 0-.2 0-.6-.4-.8-.3l-.3.1.3.1 1.8.9c.5.2 1.5-.5 1.4-1 0-.5-.9-1.5-1.3-1.5q-1.5.1-2.5 1.4z"/> + <path fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-miterlimit="2.6" stroke-width=".1" d="M514.9 232.8c-.6-.7-1.7-1.4-2.2-1l-.6.6q-.4.4-.1.8c.3.8 1.4.4 2 0 .2 0 .6-.4.8-.3l.4.1-.4.1-1.8.9c-.5.2-1.4-.5-1.4-1s1-1.5 1.4-1.5q1.4.1 2.4 1.4z"/> + <path fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-miterlimit="2.6" stroke-width=".1" d="M515 232.4q-.4 0-.6.3 0 .5.4.6.6.2.9-.3 0-.5-.6-.6z"/> + <path fill="#fc0" fill-rule="evenodd" d="M515 226.3s.4 2.4 1.6 4c1.2 1.8-1.4 1.6-1.6 2.2 0 0-.8-1.7-1.6-2.2 0 0 1.3-2 1.6-4"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".1" d="M515 226.3s.4 2.4 1.6 4c0 0-1.4 1.6-1.6 2.2 0 0-.8-1.7-1.6-2.2 0 0 1.3-2 1.6-4"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".1" d="m515 228.8.7 1.8s-.6.4-.7.7c0 0-.3-.8-.6-1 0 0 .6-.8.6-1.5z"/> + <path fill="#fff" fill-rule="evenodd" d="m515 344.5-.3-.2c-.4-.2-1.2-.2-1.3-.5-1-1.1-.4-3.4 0-4.8 1-2.6 1-5 1.6-7.4.6 2.4.7 4.8 1.6 7.4.4 1.4 1.1 3.7.1 4.8q-.5.3-1.3.5z"/> + <path fill="#00209f" fill-rule="evenodd" d="M515 331.5c.6 2.5.7 5 1.6 7.6.4 1.3 1 3.4.3 4.5q.6 0 1-.3.3 0 .4-.2l.4-.5c.3-.2.6 0 .9-.2l.1-.2q.9-.4 1.3-1.1.2-.6 0-1.3l-.2-.8-.5-1.1-.6-1.2-.3-.5-.3-.6-.4-.4-.4-.3s-.3-.1-.2-.2l-.3-.1-1-2-.2-1.1zm0 0c-.5 2.5-.7 5-1.6 7.6-.3 1.3-1 3.4-.2 4.5q-.6 0-1.1-.3-.2 0-.3-.2l-.5-.5c-.2-.2-.5 0-.8-.2l-.2-.2q-.8-.4-1.2-1.1l-.1-1.3.2-.8.6-1.1.6-1.2q0-.3.3-.5l.3-.6.4-.4.4-.3.2-.2.2-.1 1-2q.3-.5.2-1.1z"/> + <g id="sv-b" fill="none" stroke-miterlimit="2.6" stroke-width=".2"> + <path stroke="#011322" d="M514.3 331.6s-1 4-1.6 5c-.6 1.1-3 3-1.4 6"/> + <path stroke="#011d33" d="M514.4 331.6s-1 4-1.6 5.1-3 3-1.4 6"/> + <path stroke="#022743" d="M514.5 331.6s-1 4.1-1.6 5.2c-.6 1-2.9 3.1-1.3 6"/> + <path stroke="#033054" d="M514.6 331.6s-1 4.2-1.6 5.3-2.9 3-1.2 6.1"/> + <path stroke="#053a65" d="M514.7 331.6s-1 4.3-1.6 5.3-2.8 3.2-1.2 6.3"/> + <path stroke="#011d33" d="M514.2 331.6s-1 4-1.6 5c-.6 1.1-3 3-1.4 6"/> + <path stroke="#022743" d="M514 331.6s-.9 3.8-1.6 5c-.6 1-3 3-1.4 5.9"/> + <path stroke="#033054" d="M514 331.6s-1 3.7-1.7 5c-.5 1-3 3-1.4 5.9"/> + <path stroke="#053a65" d="M513.8 331.6s-.8 3.6-1.6 5c-.6 1-3 3-1.4 5.9"/> + <path stroke="#00209f" d="M513.8 331.6s-.9 3.4-1.7 5c-.6 1-3 2.9-1.4 5.8"/> + <path stroke="#00209f" d="M514.8 331.6s-1 4.3-1.6 5.4c-.6 1-2.8 3.3-1.1 6.3"/> + </g> + <use xlink:href="#sv-b" width="100%" height="100%" transform="matrix(-1 0 0 1 1030 0)"/> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".2" d="m518.6 335.2.5.5.3.5.3.5.6 1.2.5 1.1.3.8-.1 1.3q-.4.7-1.3 1.1l-.1.2c-.3.2-.6 0-.9.2l-.4.5-.3.2q-.5.3-1.1.3l-.2.3c-.2.2-1 .2-1.3.4l-.4.2-.3-.2c-.4-.2-1.2-.2-1.3-.4l-.2-.3-1.2-.3s-.2 0-.3-.2l-.4-.5c-.3-.2-.6 0-.8-.2l-.2-.2q-.9-.4-1.2-1.1l-.1-1.3.2-.8.5-1.1.7-1.2q0-.3.3-.5 0-.3.3-.5l.4-.5"/> + <g id="sv-c"> + <g fill-rule="evenodd"> + <path fill="#fff" d="M487.4 293.6c-1.5-3.7-3-11.3-3-13 .3-7.1.2-9.3.9-16.5l7.3 8.3c-.2 2.8-.2 3.7 0 5.5.1.7.5 3.9 1 5.1z"/> + <path fill="#00209f" d="M493.6 283c-.5-1.3-.9-4.5-1-5.1-.2-1.8-.2-2.7 0-5.5l4.5 5zm-18.6 7-.3-4.4c0-5.1-.6-8 0-13.4.4-4.2 1.5-9.8 1.3-14.4q0-2 .2-3.9l9 10.1c-.6 7.3-.5 9.5-.8 16.6 0 1.7 1.5 9.3 3 13l-2 3.2zm6.3 13.7c-.6-1-1-3.9-1.2-4.5-.3-1.5-.3-2.3-.2-5l5 3.3zm-14.3 24a5 5 0 0 1-1.8-2.2c-.7-1.8-.5-1.7-1-3.6l-.5-3.4c-.2-1.2-1.8-4.8-1.8-6.2-.2-4.8-1.8-8-1.4-13.2.3-4 1.2-9.4.7-13.5l.1-3.6 10.3 6.7c-.4 6.8-.2 8.8-.2 15.4 0 1.6 1.3 8.1 3 11zm17 3.8c1.9 1.7 5.4 2.6 6 3 1.2 1 3 2.3 6.3 2.4 2.3.2 3.3-.4 5.7-.7 2.8-.3-.3.1 2.3-.5 1.4-.3 1.4-.5 3.2-1 1.3-.3 2.7-.6 3.5-1.8q.5-.5.6-1.4h1.8c.2.5-.3 1.5-.5 1.8l-.5.7c-.2.6-.2.4-.7.9l-.8.6q-.5.5-1.1.7c-1.8.3-2.5.7-4.2 1.1-1.6.5-.7.4-2 .7l-2.4.7-2.4.6c-2.9.7-5.7.5-8.6.3-1.1 0-4-.7-5-1.4-1.8-1.2-5.7-1.7-7.4-2.9-.3-.2-1.4-.7-1.6-1-1.7-1.3-3-1.7-4.8-2.8z"/> + <path fill="#00209f" d="M497.7 331.5h14q-.2.9-.7 1.5-1.4 1.4-3.5 1.7c-1.4.4-2.9-.4-4.4-.4-3.7-1.1-4.1-2.3-5.4-2.8"/> + <path fill="#fff" d="M497.7 331.5c1.3.6 2 1.7 5.4 2.8 1.3 0 2.8.6 4 .6-1.5.3-1.5.5-2.8.8-2.6.6.5.2-2.3.5-2.4.3-3.4 1-5.7.8a11 11 0 0 1-6.3-2.5c-.6-.4-4.1-1.3-6-3z"/> + </g> + <g fill="none" stroke-miterlimit="2.6" stroke-width=".2"> + <path stroke="#022743" d="M476.6 259.7s1.7 15 7.5 14.4"/> + <path stroke="#022847" d="M484.2 274c-3 .2-4.9-3.5-6-7a46 46 0 0 1-1.5-7.3"/> + <path stroke="#032b4c" d="M484.2 274c-3-.1-4.9-3.8-5.8-7a44 44 0 0 1-1.7-7.4"/> + <path stroke="#032d4f" d="M484.2 274c-2.9-.3-4.9-4.1-5.8-7.2a48 48 0 0 1-1.7-7.2"/> + <path stroke="#032f53" d="M484.2 273.9c-2.9-.5-4.9-4.4-5.8-7.2a43 43 0 0 1-1.7-7.2"/> + <path stroke="#043258" d="M484.2 273.8c-3-.6-4.9-4.6-5.7-7.1-1.1-3.2-1.8-7.1-1.9-7.2"/> + <path stroke="#04345b" d="M484.2 273.8c-2.9-.9-4.9-4.9-5.6-7.2a46 46 0 0 1-2-7.2"/> + <path stroke="#04365e" d="M484.3 273.7c-3-1-5-5-5.7-7.3a49 49 0 0 1-1.9-7"/> + <path stroke="#043862" d="M484.3 273.7c-3-1.2-5-5.4-5.6-7.3a48 48 0 0 1-2-7.1"/> + <path stroke="#053b67" d="M484.3 273.6c-3-1.3-5-5.6-5.6-7.3-1-2.8-2-6.8-2-7"/> + <path stroke="#053d6a" d="M484.3 273.6c-3-1.6-5-6-5.5-7.4a50 50 0 0 1-2.1-7"/> + <path stroke="#053f6e" d="M484.3 273.5c-3-1.7-5-6.2-5.4-7.4a46 46 0 0 1-2.2-7"/> + <path stroke="#064172" d="M484.4 273.5c-3-2-5-6.4-5.5-7.5a66 66 0 0 1-2.2-7"/> + <path stroke="#00209f" d="M476.7 259a47 47 0 0 0 2.3 6.9c.3.8 2.4 5.4 5.4 7.5"/> + <path stroke="#022743" d="M476.9 256.3s4.8 12 8 10.6"/> + <path stroke="#022a49" d="M484.8 266.9c-1.3.5-3.3-1.8-5-4.6l-3-6"/> + <path stroke="#032d4f" d="M484.8 266.8c-1.2.5-3.2-1.8-4.9-4.6l-3-6"/> + <path stroke="#033054" d="M484.8 266.8c-1 .4-3.2-1.7-4.9-4.7l-3-5.9"/> + <path stroke="#043359" d="M484.8 266.8c-.8.3-3.1-1.7-4.8-4.8-2-3.4-3-5.8-3-5.8"/> + <path stroke="#043760" d="M484.9 266.7c-.7.3-3.1-1.7-4.8-4.8l-3.1-5.8"/> + <path stroke="#053a65" d="M484.9 266.7c-.6.3-3-1.7-4.8-4.9l-3.2-5.8"/> + <path stroke="#053d6a" d="M484.9 266.7c-.4.2-3-1.6-4.7-5L477 256"/> + <path stroke="#064171" d="M484.9 266.7c-.2 0-2.9-1.6-4.7-5L477 256"/> + <path stroke="#00209f" d="M477 255.9s1 1.4 3.3 5.7a14 14 0 0 0 4.5 5m8 12.1 3.8-.7m-4-3.1 4.1 2.2"/> + <path stroke="#064171" d="m492.5 275 4.2 2"/> + <path stroke="#053e6c" d="m492.5 275.2 4.2 2"/> + <path stroke="#053b67" d="m492.5 275.4 4.2 1.8"/> + <path stroke="#043862" d="m492.6 275.6 4.2 1.6"/> + <path stroke="#04355c" d="m492.6 275.8 4.2 1.4"/> + <path stroke="#043258" d="m492.6 276 4.3 1.2"/> + <path stroke="#032f53" d="m492.6 276.1 4.3 1.2"/> + <path stroke="#032c4d" d="m492.6 276.3 4.4 1"/> + <path stroke="#022a49" d="m492.6 276.5 4.4.9"/> + <path stroke="#064171" d="m492.8 278.5 3.9-.5"/> + <path stroke="#053e6c" d="m492.8 278.3 4-.4"/> + <path stroke="#053b67" d="m492.8 278.1 4-.3"/> + <path stroke="#043862" d="m492.8 278 4-.2"/> + <path stroke="#04355c" d="M492.8 277.7h4"/> + <path stroke="#043258" d="m492.8 277.5 4.1.2"/> + <path stroke="#032f53" d="m492.8 277.3 4.2.3"/> + <path stroke="#032c4d" d="m492.7 277.1 4.3.4"/> + <path stroke="#022a49" d="m492.7 276.9 4.4.6"/> + <path stroke="#022743" d="m492.7 276.7 4.4.7m-22.1.4s.2 3.2.9 4.5c1 1.9 3.9 4.7 7.2 6.8"/> + <path stroke="#022847" d="M483.2 289.1a27 27 0 0 1-5.5-4.6l-1.7-2.3c-.7-1.4-1-4.5-1-4.5"/> + <path stroke="#032b4c" d="M483.3 289.1a27 27 0 0 1-5.4-4.7 9 9 0 0 1-1.7-2.3c-.8-1.4-1.2-4.5-1.2-4.5"/> + <path stroke="#032d4f" d="M483.3 289.1a31 31 0 0 1-5.3-4.7l-1.7-2.4c-.8-1.5-1.3-4.5-1.3-4.5"/> + <path stroke="#032f53" d="M483.4 289a31 31 0 0 1-5.3-4.7l-1.7-2.4c-.8-1.5-1.4-4.4-1.4-4.4"/> + <path stroke="#043258" d="M483.5 289c-2.1-1.3-4-3.5-5.3-4.8a10 10 0 0 1-1.6-2.4c-1-1.5-1.6-4.4-1.6-4.4"/> + <path stroke="#04345b" d="M483.6 289c-2.1-1.4-4-3.6-5.3-4.9l-1.6-2.3a21 21 0 0 1-1.7-4.5"/> + <path stroke="#04365e" d="M483.6 289c-2-1.4-4-3.7-5.1-5l-1.7-2.3c-1-1.7-1.8-4.5-1.8-4.5"/> + <path stroke="#043862" d="M483.7 289c-2-1.4-4-3.8-5.1-5l-1.6-2.4a26 26 0 0 1-2-4.5"/> + <path stroke="#053b67" d="M483.8 289c-2-1.5-4-4-5-5.1l-1.7-2.4c-1.1-1.8-2-4.5-2-4.5"/> + <path stroke="#053d6a" d="M483.9 289c-2-1.5-4-4-5-5.2l-1.7-2.4c-1-1.8-2.1-4.5-2.1-4.5"/> + <path stroke="#053f6e" d="M484 289c-2-1.5-4-4.2-5-5.3l-1.7-2.4-2.2-4.4"/> + <path stroke="#064172" d="M484 289c-2-1.6-3.9-4.3-4.9-5.4l-1.6-2.4-2.4-4.4"/> + <path stroke="#00209f" d="M475 276.7s3 5.3 4.3 6.8c1 1 2.8 4 4.8 5.5"/> + <path stroke="#011d33" d="m475.2 290 10.2 6.6 2-3-1-2.7"/> + <path stroke="#011e34" d="m475.2 289.9 10.2 6.5h.1l1.7-3s0-.3-.3-.7l-.6-1.7"/> + <path stroke="#022037" d="M475.2 289.9c2.9 1.9 4.1 2.7 10.2 6.4l.1-.1 1.6-2.9-.2-.7-.6-1.6"/> + <path stroke="#022139" d="M475.2 289.9c2.8 1.8 4.3 2.8 10.2 6.3l.1-.1 1.5-2.9-.2-.7-.5-1.5"/> + <path stroke="#02223b" d="M475.2 289.8c2.7 1.8 4.5 2.9 10.2 6.3l.1-.2 1.4-2.8-.1-.7-.5-1.4"/> + <path stroke="#02233d" d="M475.3 289.8c2.5 1.7 4.6 3 10.1 6.1h.1c0-.3 1.3-2.9 1.3-3l-.1-.5-.4-1.5"/> + <path stroke="#022540" d="M475.3 289.8c2.4 1.6 4.7 3 10.2 6v-.1l1.2-2.8v-.6l-.4-1.3"/> + <path stroke="#022541" d="M475.3 289.8c2.3 1.6 5 3 10.2 5.9v-.2l1.1-2.8v-.5l-.4-1.3"/> + <path stroke="#022743" d="M475.3 289.8a110 110 0 0 0 10.2 5.8v-.2l1-2.8v-.5l-.3-1.2"/> + <path stroke="#022847" d="M475.3 289.7a93 93 0 0 0 10.2 5.8v-.2c0-.3 1-2.8 1-2.8v-.5q-.4-.5-.3-1"/> + <path stroke="#022a49" d="M475.3 289.7a81 81 0 0 0 10.2 5.6v-.1c0-.4.8-2.8.8-2.8s.2-.1 0-.4v-1"/> + <path stroke="#032a4a" d="M475.3 289.7a80 80 0 0 0 10.2 5.5v-.2l.7-2.7s.2-.1 0-.4v-1"/> + <path stroke="#032b4c" d="M475.4 289.7a68 68 0 0 0 10 5.4l.2-.2.5-2.7s.2-.1.1-.4v-.8"/> + <path stroke="#032d4f" d="M475.4 289.7a62 62 0 0 0 10 5.3l.2-.2.4-2.8s.3 0 .2-.3v-.7"/> + <path stroke="#032e50" d="M475.4 289.7c1.7 1 6 3.6 10.1 5.2v-.2l.4-2.7s.3 0 .2-.3q-.1-.3.1-.7"/> + <path stroke="#032f53" d="M475.4 289.6a54 54 0 0 0 10.1 5.1v-.2l.3-2.7.2-.2q-.1-.3.2-.6"/> + <path stroke="#033156" d="M475.4 289.6c1.5 1 6.3 3.8 10.1 5v-.2l.2-2.7s.4 0 .3-.2 0-.2.1-.6"/> + <path stroke="#043258" d="M475.4 289.6a45 45 0 0 0 10.1 4.9l.1-.2v-2.7s.4 0 .3-.2l.3-.4"/> + <path stroke="#043359" d="M475.4 289.6c1.3.9 6.7 4 10.1 4.7l.1-.2-.1-2.6s.4 0 .3-.1c0-.3.2-.1.3-.4"/> + <path stroke="#04355c" d="M475.4 289.6c1.2.8 6.8 4 10.1 4.6l.1-.2-.3-2.6.5-.1c-.1-.3.2 0 .3-.4"/> + <path stroke="#04365e" d="M475.4 289.6c1.1.7 7 4 10.1 4.5l.1-.2c0-.7-.3-2.6-.4-2.6h.5c0-.3.2 0 .4-.3"/> + <path stroke="#043760" d="M475.4 289.6c1 .6 7.2 4.1 10.1 4.4l.1-.3c0-.6-.4-2.5-.5-2.6 0 0 .6.2.5 0 0-.1.3.2.5-.1"/> + <path stroke="#043862" d="M475.4 289.6c1 .5 7.3 4.2 10.1 4.3l.2-.3-.7-2.6s.6.2.5 0c0-.1.4.3.6 0"/> + <path stroke="#053a65" d="M475.5 289.5c.8.5 7.4 4.3 10 4.2l.2-.2c0-.8-.7-2.6-.8-2.6s.6.2.6 0c0 0 .3.4.6 0"/> + <path stroke="#053b67" d="M475.5 289.5c.7.5 7.6 4.4 10 4.1l.2-.3c0-.7-.8-2.4-.9-2.5l.6.1c0-.1.5.3.7 0"/> + <path stroke="#053c68" d="M475.5 289.5c.6.4 7.8 4.4 10 4l.2-.3a6 6 0 0 0-1-2.5l.7.1c0-.1.4.4.7.1"/> + <path stroke="#053e6c" d="M475.5 289.5c.5.3 8 4.5 10 3.9l.2-.3c0-.8-1-2.5-1.1-2.5l.7.1s.5.6.8.3"/> + <path stroke="#053f6e" d="M475.5 289.5c.4.2 8 4.6 10 3.8l.2-.4c0-.8-1.1-2.4-1.2-2.5l.7.3s.6.6.9.2"/> + <path stroke="#053f6f" d="M475.5 289.5c.3.2 8.2 4.6 10 3.6l.2-.3c0-.9-1.2-2.4-1.3-2.5l.7.3s.6.6 1 .4"/> + <path stroke="#064171" d="M475.5 289.4c.2.2 8.4 4.8 10 3.6l.2-.3c0-1-1.3-2.4-1.4-2.5l.8.3s.6.7 1 .4"/> + <path stroke="#064374" d="M475.5 289.4c.1 0 8.6 4.9 10 3.5l.2-.3c0-1-1.4-2.4-1.6-2.5l1 .3s.6.8 1 .6"/> + <path stroke="#00209f" d="M475.6 289.4s9.7 5.5 10.1 3c0-1-1.6-2.4-1.6-2.4l.9.3s.6 1 1 .6"/> + <path stroke="#011d33" d="m474.4 315.1-7.5 12.6a5 5 0 0 1-1.8-2.2c-.6-1.7-.5-1.7-1-3.6l-.4-3.4c-.3-1.2-1.9-4.8-2-6.2"/> + <path stroke="#011d33" d="M461.8 312.3c0 1.4 1.6 5 1.9 6l.5 3.5c.4 1.9.3 1.8 1 3.6a5 5 0 0 0 1.7 2.2l7.5-12.5"/> + <path stroke="#011e34" d="M461.8 312.3c0 1.4 1.6 5 1.8 6l.6 3.4c.4 1.8.3 1.8 1 3.6.2.8 1.2 1.8 1.7 2.1l7.5-12.3"/> + <path stroke="#011e34" d="M461.8 312.3c0 1.4 1.6 4.9 1.8 6l.6 3.3c.4 1.8.3 1.8 1 3.5a6 6 0 0 0 1.7 2.2l7.5-12.2"/> + <path stroke="#011f36" d="M461.8 312.3c0 1.3 1.6 4.8 1.8 5.9l.6 3.3c.4 1.8.3 1.8 1 3.5a6 6 0 0 0 1.7 2.1l7.5-12"/> + <path stroke="#011f36" d="M461.8 312.3c0 1.3 1.6 4.8 1.8 5.9l.6 3.3c.4 1.7.3 1.7 1 3.4.2.8 1.2 1.8 1.7 2.1l7.5-11.9"/> + <path stroke="#022037" d="M461.8 312.3c0 1.3 1.5 4.7 1.8 5.8l.6 3.3c.4 1.7.3 1.7 1 3.4.2.8 1.2 1.7 1.7 2 .2.1 7.4-11.6 7.5-11.7"/> + <path stroke="#022037" d="M461.8 312.3c0 1.3 1.5 4.6 1.8 5.7l.6 3.3c.4 1.7.4 1.7 1 3.3.2.8 1.2 1.8 1.7 2.1.2 0 7.3-11.5 7.5-11.6"/> + <path stroke="#022139" d="M461.8 312.3c0 1.3 1.5 4.6 1.8 5.7l.6 3.2c.4 1.7.4 1.7 1 3.3.3.8 1.2 1.7 1.7 2 .2.1 7.3-11.3 7.5-11.4"/> + <path stroke="#022139" d="M461.8 312.3c0 1.3 1.5 4.6 1.8 5.6l.6 3.2c.4 1.7.4 1.7 1 3.3a5 5 0 0 0 1.7 2c.3 0 7.3-11.2 7.5-11.3"/> + <path stroke="#022139" d="M461.8 312.3c0 1.3 1.5 4.5 1.8 5.6l.6 3.1c.5 1.7.4 1.7 1 3.3.3.8 1.2 1.7 1.7 2 .3 0 7.2-11 7.5-11.2"/> + <path stroke="#02223b" d="M461.8 312.3c0 1.3 1.5 4.4 1.8 5.5l.6 3c.5 1.8.4 1.8 1 3.3a5 5 0 0 0 1.7 2c.3.1 7.2-10.9 7.5-11"/> + <path stroke="#02223b" d="M461.8 312.3c0 1.2 1.5 4.4 1.8 5.4l.6 3.1c.5 1.7.4 1.7 1 3.2a5 5 0 0 0 1.7 2c.3.1 7.2-10.8 7.5-10.9"/> + <path stroke="#02233d" d="M461.8 312.3c0 1.2 1.5 4.3 1.8 5.4l.6 3c.5 1.7.4 1.7 1 3.2a5 5 0 0 0 1.8 2c.3 0 7-10.6 7.4-10.8"/> + <path stroke="#02233d" d="M461.8 312.3c0 1.2 1.4 4.3 1.8 5.3l.6 3 1 3.2a7 7 0 0 0 1.8 2c.3 0 7-10.6 7.4-10.7"/> + <path stroke="#02233e" d="M461.8 312.3c0 1.2 1.4 4.3 1.8 5.3l.6 3 1 3a6 6 0 0 0 1.8 2c.3.1 7-10.3 7.4-10.5"/> + <path stroke="#02233e" d="M461.8 312.3c0 1.1 1.4 4.2 1.8 5.2l.6 3 1 3a5 5 0 0 0 1.8 2c.4 0 7-10.3 7.4-10.4"/> + <path stroke="#022540" d="M461.8 312.2c0 1.2 1.4 4.2 1.8 5.3l.6 2.9 1 3a5 5 0 0 0 1.8 2c.4 0 7-10.1 7.4-10.3"/> + <path stroke="#022540" d="M461.8 312.2c0 1.2 1.4 4.2 1.8 5.2l.6 2.9 1 3c.4.7 1.3 1.5 1.8 1.8.4.2 7-9.8 7.4-10"/> + <path stroke="#022540" d="M461.8 312.2c0 1.2 1.4 4.1 1.8 5.1l.7 2.9c.4 1.5.4 1.6 1 3a5 5 0 0 0 1.7 1.8c.4.1 7-9.7 7.4-9.9"/> + <path stroke="#022541" d="M461.8 312.2c0 1.2 1.4 4 1.8 5l.7 3 1 2.9a5 5 0 0 0 1.7 1.8c.4.1 6.9-9.6 7.4-9.8"/> + <path stroke="#022541" d="M461.8 312.2c0 1.1 1.4 4 1.8 5l.7 2.8 1 3c.3.6 1.2 1.5 1.7 1.8.5 0 6.9-9.5 7.4-9.7"/> + <path stroke="#022743" d="M461.8 312.2c0 1.1 1.4 4 1.8 5l.7 2.7c.4 1.5.5 1.5 1 2.9a6 6 0 0 0 1.7 1.8c.5.1 6.8-9.3 7.4-9.5"/> + <path stroke="#022743" d="M461.8 312.2c0 1.1 1.4 4 1.8 5l.7 2.6 1 3a5 5 0 0 0 1.7 1.6c.5.2 6.8-9 7.4-9.3"/> + <path stroke="#022845" d="M461.8 312.2c0 1.1 1.4 3.9 1.8 4.8l.7 2.8 1 2.8a5 5 0 0 0 1.7 1.7c.6.2 6.8-9 7.4-9.2"/> + <path stroke="#022845" d="M461.8 312.2c0 1.1 1.4 3.8 1.8 4.8l.7 2.7c.4 1.4.5 1.4 1 2.7a5 5 0 0 0 1.7 1.8c.6.2 6.7-8.9 7.4-9"/> + <path stroke="#022847" d="M461.8 312.2c0 1 1.3 3.7 1.8 4.7l.7 2.7 1 2.7a5 5 0 0 0 1.7 1.7c.6.2 6.7-8.7 7.4-8.9"/> + <path stroke="#022847" d="M461.8 312.2c0 1 1.3 3.7 1.8 4.6l.7 2.7 1.1 2.7a5 5 0 0 0 1.6 1.7c.7.2 6.7-8.6 7.4-8.8"/> + <path stroke="#022847" d="M461.8 312.2c0 1 1.3 3.7 1.8 4.6l.7 2.6 1.1 2.7a5 5 0 0 0 1.6 1.7c.7.1 6.7-8.4 7.4-8.7"/> + <path stroke="#022a49" d="M461.8 312.2c0 1 1.3 3.6 1.8 4.6l.7 2.5 1.1 2.7q.7 1 1.7 1.6c.6.2 6.6-8.2 7.3-8.5"/> + <path stroke="#022a49" d="M461.8 312.2c0 1 1.3 3.5 1.8 4.5l.7 2.5 1.1 2.6q.7 1.1 1.7 1.6c.7.3 6.5-8 7.3-8.3"/> + <path stroke="#032a4a" d="M461.8 312.2c0 1 1.3 3.5 1.8 4.4l.7 2.5c.5 1.3.5 1.4 1.2 2.6q.6 1.1 1.6 1.6c.7.2 6.5-8 7.3-8.2"/> + <path stroke="#032a4a" d="M461.8 312.2c0 1 1.3 3.4 1.7 4.4l.8 2.4 1.2 2.6a5 5 0 0 0 1.6 1.6c.7.2 6.5-7.8 7.3-8.1"/> + <path stroke="#032b4c" d="M461.8 312.2c0 1 1.2 3.4 1.7 4.3l.8 2.4 1.2 2.6q.6 1 1.6 1.5c.7.3 6.4-7.6 7.3-8"/> + <path stroke="#032b4c" d="M461.8 312.2c0 1 1.2 3.3 1.7 4.3q.5 1.1.8 2.3l1.2 2.6q.6.9 1.6 1.5c.8.2 6.4-7.5 7.3-7.8"/> + <path stroke="#032c4d" d="M461.8 312.2c0 1 1.2 3.3 1.7 4.2l.8 2.4 1.2 2.4q.6 1 1.6 1.6c.8.2 6.4-7.4 7.3-7.7"/> + <path stroke="#032c4d" d="M461.8 312.2c0 .9 1.2 3.2 1.7 4.1l.9 2.4c.4 1.2.5 1.3 1.1 2.4a5 5 0 0 0 1.6 1.5c.8.3 6.3-7.2 7.3-7.5"/> + <path stroke="#032c4d" d="M461.8 312.2a13 13 0 0 0 1.7 4l.9 2.4c.4 1.2.5 1.2 1.1 2.4a5 5 0 0 0 1.6 1.4c.9.4 6.3-7 7.3-7.3"/> + <path stroke="#032d4f" d="M461.8 312.2c0 .9 1.2 3.1 1.7 4l.9 2.3c.4 1.2.5 1.3 1.1 2.3q.6 1 1.6 1.5c.9.3 6.3-6.8 7.3-7.2"/> + <path stroke="#032d4f" d="M461.8 312.2c0 .8 1.2 3 1.7 4l.9 2.2c.4 1.2.6 1.2 1.1 2.4a5 5 0 0 0 1.6 1.4c1 .3 6.3-6.7 7.3-7.1"/> + <path stroke="#032e50" d="M461.8 312.2c0 .8 1.2 3 1.7 4l.9 2.1c.4 1.2.6 1.2 1.1 2.3a5 5 0 0 0 1.6 1.5c1 .2 6.3-6.6 7.3-7"/> + <path stroke="#032e50" d="M461.8 312.2c0 .8 1.1 3 1.7 3.8l.9 2.2c.4 1.2.6 1.3 1.1 2.3a5 5 0 0 0 1.6 1.4c1 .3 6.2-6.4 7.3-6.8"/> + <path stroke="#032f53" d="M461.8 312.2c0 .8 1.1 3 1.7 3.8l.9 2.1c.4 1.1.6 1.2 1.2 2.3a5 5 0 0 0 1.5 1.4c1 .3 6.2-6.3 7.3-6.7"/> + <path stroke="#032f53" d="M461.8 312.2a11 11 0 0 0 1.7 3.7l.9 2.2 1.2 2.1a5 5 0 0 0 1.5 1.4c1 .3 6.2-6 7.3-6.5"/> + <path stroke="#033054" d="M461.8 312.2a12 12 0 0 0 1.7 3.7l.9 2 1.2 2.2a5 5 0 0 0 1.6 1.4c1 .3 6-6 7.2-6.4"/> + <path stroke="#033054" d="M461.8 312.2c0 .7 1 2.7 1.7 3.6l1 2 1 2.2a5 5 0 0 0 1.7 1.3c1 .4 6-5.8 7.2-6.2"/> + <path stroke="#033054" d="M461.8 312.2c0 .7 1 2.7 1.7 3.6l1 2c.4 1 .6 1.1 1.1 2a5 5 0 0 0 1.6 1.4c1 .3 6-5.7 7.2-6.1"/> + <path stroke="#033156" d="M461.8 312.2c0 .7 1 2.7 1.7 3.5l1 2c.3 1 .6 1.1 1.1 2l1.5 1.4c1.1.3 6-5.6 7.3-6"/> + <path stroke="#033156" d="M461.8 312.2c0 .7 1 2.6 1.7 3.4l1 2c.3 1 .6 1.1 1.1 2l1.5 1.3c1.2.3 6-5.3 7.3-5.8"/> + <path stroke="#043258" d="M461.8 312.2c0 .7 1 2.6 1.7 3.4l1 1.9c.3 1 .6 1 1.2 2q.6.8 1.4 1.3c1.2.3 6-5.2 7.3-5.7"/> + <path stroke="#043258" d="M461.8 312.2a8 8 0 0 0 1.7 3.3l1 2c.3.9.6 1 1.2 2q.6.8 1.4 1.1c1.2.4 6-5 7.3-5.5"/> + <path stroke="#043359" d="M461.8 312.2c0 .6 1 2.4 1.7 3.3l1 1.8c.4 1 .6 1.1 1.2 2q.6.8 1.4 1.2c1.3.3 6-5 7.3-5.4"/> + <path stroke="#043359" d="M461.8 312.2c0 .6 1 2.4 1.7 3.2l1 1.9c.4.8.6 1 1.2 1.8q.7.8 1.5 1.2c1.2.4 5.8-4.7 7.2-5.2"/> + <path stroke="#04345b" d="M461.8 312.2c0 .6 1 2.4 1.7 3.1l1 1.9c.4.9.7 1 1.2 1.8q.7.8 1.5 1.2c1.2.4 5.8-4.6 7.2-5.1"/> + <path stroke="#04345b" d="M461.8 312.2c0 .6 1 2.3 1.7 3l1 1.9c.4.8.7 1 1.2 1.8q.7.8 1.5 1.2c1.3.4 5.8-4.5 7.2-5"/> + <path stroke="#04345b" d="M461.8 312.2c0 .6 1 2.2 1.7 3l1 1.8c.4.9.7 1 1.2 1.8q.7.8 1.5 1.1c1.3.4 5.8-4.3 7.2-4.8"/> + <path stroke="#04355c" d="M461.8 312.2c0 .5 1 2.2 1.7 3l1 1.7c.4.8.7 1 1.2 1.8q.7.7 1.5 1c1.3.5 5.7-4.1 7.2-4.6"/> + <path stroke="#04355c" d="M461.8 312.2c0 .5 1 2.1 1.7 3l1 1.6c.4.8.7 1 1.3 1.7q.6.9 1.4 1.1c1.3.5 5.7-4 7.2-4.5"/> + <path stroke="#04365e" d="M461.8 312.2c0 .5 1 2.1 1.7 2.9l1 1.6c.4.9.7 1 1.3 1.7q.6.8 1.4 1.1c1.4.4 5.7-3.9 7.2-4.4"/> + <path stroke="#04365e" d="M461.8 312.2c0 .5 1 2 1.7 2.8l1 1.6c.4.8.7 1 1.3 1.7q.6.7 1.4 1c1.4.5 5.6-3.7 7.2-4.2"/> + <path stroke="#043760" d="M461.8 312.2c0 .5 1 2 1.7 2.8l1 1.5c.4.8.7 1 1.3 1.7q.6.6 1.4 1c1.4.4 5.6-3.6 7.2-4.1"/> + <path stroke="#043760" d="M461.8 312.2c0 .5 1 2 1.7 2.7l1 1.6c.4.7.7.8 1.3 1.6q.6.6 1.4 1c1.5.4 5.6-3.5 7.2-4"/> + <path stroke="#043862" d="M461.8 312.2c0 .5 1 1.9 1.7 2.6l1 1.6c.4.7.7.9 1.3 1.5q.6.6 1.4 1c1.5.5 5.5-3.3 7.2-3.9"/> + <path stroke="#043862" d="M461.8 312.2c0 .4 1 1.8 1.7 2.6l1 1.5c.4.7.7.9 1.3 1.5l1.4 1c1.5.4 5.5-3.2 7.2-3.8"/> + <path stroke="#043862" d="M461.8 312.2c0 .4.9 1.8 1.7 2.5l1 1.5c.4.7.8.8 1.3 1.5l1.4 1c1.5.4 5.5-3 7.2-3.7"/> + <path stroke="#043963" d="M461.8 312.2c0 .4.9 1.7 1.7 2.4l1 1.5c.4.7.8.8 1.3 1.5l1.4.9c1.5.5 5.5-2.8 7.2-3.5"/> + <path stroke="#043963" d="M461.8 312.2c0 .4.9 1.7 1.7 2.4l1 1.4c.4.7.8.8 1.3 1.5l1.4.9c1.6.5 5.5-2.7 7.2-3.4"/> + <path stroke="#053a65" d="M461.8 312.2c0 .4.9 1.6 1.7 2.3l1 1.4 1.3 1.4 1.4 1c1.6.4 5.4-2.6 7.2-3.3"/> + <path stroke="#053a65" d="M461.8 312.2c0 .3.8 1.6 1.7 2.3l1 1.3c.5.7.8.8 1.4 1.4q.5.6 1.4.9c1.6.5 5.3-2.4 7.1-3"/> + <path stroke="#053b67" d="M461.8 312.2c0 .3.8 1.5 1.7 2.2l1 1.3 1.4 1.4q.6.6 1.4.8c1.6.5 5.3-2.2 7.1-2.9"/> + <path stroke="#053b67" d="M461.8 312.2c0 .3.8 1.5 1.7 2.1q.4.8 1 1.3c.5.7.8.8 1.4 1.4l1.4.8c1.6.5 5.2-2 7.1-2.8"/> + <path stroke="#053c68" d="M461.8 312.2c0 .3.8 1.4 1.7 2.1l1 1.3 1.4 1.3q.6.5 1.4.7c1.7.6 5.2-1.9 7.1-2.6"/> + <path stroke="#053c68" d="M461.8 312.2c0 .3.8 1.4 1.7 2l1 1.3 1.4 1.2 1.4.8c1.7.5 5.2-1.8 7.1-2.5"/> + <path stroke="#053c68" d="M461.8 312.2a6 6 0 0 0 1.7 2l1 1.2 1.4 1.2 1.4.8c1.7.5 5.1-1.7 7.1-2.4"/> + <path stroke="#053d6a" d="M461.8 312.2c0 .2.8 1.2 1.7 2l1 1 1.4 1.3 1.4.8c1.8.5 5.1-1.5 7.1-2.3"/> + <path stroke="#053d6a" d="M461.8 312.2a6 6 0 0 0 1.7 1.9l1 1.1 1.4 1.1 1.4.8c1.8.5 5.1-1.3 7.1-2"/> + <path stroke="#053e6c" d="M461.8 312.2c0 .2.7 1.1 1.7 1.8l1 1.1 1.5 1.1 1.3.8c1.8.5 5.1-1.2 7.1-2"/> + <path stroke="#053e6c" d="M461.8 312.2c0 .2.7 1.1 1.6 1.8l1.1 1 1.5 1.1 1.3.7c1.8.6 5-1 7.1-1.8"/> + <path stroke="#053f6e" d="M461.8 312.2c0 .1.7 1 1.6 1.7l1.1 1 1.5 1 1.3.8c1.8.6 5-1 7.1-1.7"/> + <path stroke="#053f6e" d="M461.8 312.2c0 .1.7 1 1.6 1.6l1.2 1q.6.7 1.4 1 .6.5 1.3.7c1.9.6 5-.7 7.1-1.5"/> + <path stroke="#053f6f" d="M461.8 312.2c0 .1.7 1 1.6 1.6l1.2 1 1.4 1 1.3.6c2 .5 5-.6 7.1-1.4"/> + <path stroke="#053f6f" d="M461.8 312.2c0 .1.7.9 1.6 1.5l1.2 1 1.4 1 1.3.6c2 .5 5-.5 7.1-1.3"/> + <path stroke="#053f6f" d="M461.8 312.2q.1.3 1.6 1.5l1.2.9 1.4 1 1.3.5c2 .6 5-.3 7.1-1"/> + <path stroke="#064171" d="M461.8 312.2s.7.8 1.6 1.4l1.2.9 1.5.9 1.2.6c2 .6 4.9-.2 7.1-1"/> + <path stroke="#064171" d="m461.8 312.2 1.6 1.4 1.2.8 1.5.9 1.3.5c2 .6 4.8 0 7-.8"/> + <path stroke="#064172" d="M461.8 312.2s.7.7 1.6 1.3l1.2.8 1.5.8 1.3.6c2 .6 4.7.2 7-.7"/> + <path stroke="#064172" d="M461.8 312.1q.1.3 1.6 1.3l1.2.8 1.5.8 1.3.6c2 .6 4.7.3 7-.6"/> + <path stroke="#064374" d="M461.8 312.1q0 .3 1.6 1.3l1.2.7 2.8 1.3c2 .6 4.7.5 7-.4"/> + <path stroke="#064374" d="M461.8 312.1s.6.6 1.6 1.2l1.2.7 2.8 1.3c2 .6 4.7.6 7-.3"/> + <path stroke="#00209f" d="m461.8 312.1 1.6 1.2 1.2.7 1.5.6a12 12 0 0 0 8.3.4m-12.6-2.9s6.5 5.1 12.6 3"/> + <path stroke="#022743" d="M461.6 292.2s1.2 8 1.7 9.3c.4 1 3 5.6 6.9 6.7"/> + <path stroke="#022a49" d="M461.6 292.2s1.3 8 1.8 9.2c.5 1 2.8 5.4 6.8 6.8"/> + <path stroke="#032b4c" d="M461.6 292.1s1.4 8 1.9 9.2a14 14 0 0 0 6.7 6.9"/> + <path stroke="#032e50" d="M461.6 292.1s1.5 8 2 9.1 2.5 5 6.6 7"/> + <path stroke="#033054" d="M461.6 292.1s1.6 7.9 2 9a15 15 0 0 0 6.7 7"/> + <path stroke="#043359" d="M461.6 292.1s1.6 7.8 2.2 9a16 16 0 0 0 6.5 7"/> + <path stroke="#04355c" d="M461.6 292s1.7 7.8 2.3 9c.5 1.1 2 4.3 6.4 7"/> + <path stroke="#043760" d="M461.7 292s1.7 7.8 2.3 9c.5 1 1.9 4 6.3 7"/> + <path stroke="#053a65" d="M461.7 292s1.8 7.7 2.4 8.9c.5 1 1.7 3.8 6.2 7.1"/> + <path stroke="#053c68" d="M461.7 292s1.9 7.7 2.5 8.8 1.6 3.5 6.1 7.2"/> + <path stroke="#053f6e" d="M461.7 292s2 7.6 2.6 8.8c.5 1 1.4 3.2 6 7.2"/> + <path stroke="#064172" d="M461.8 292s2 7.5 2.6 8.7 1.3 3 6 7.2"/> + <path stroke="#00209f" d="M461.8 292s2.1 7.5 2.7 8.6 1.1 2.8 5.9 7.3"/> + <path stroke="#022743" d="M462 287.2s1.1 11.4 9.3 14.6"/> + <path stroke="#022a49" d="M462 287.2c.1 0 .5 3.7 2.2 7.2 1.3 2.8 3.5 5.9 7 7.4"/> + <path stroke="#032b4c" d="M462.1 287.2s.5 3.8 2.2 7.2a15 15 0 0 0 7 7.4"/> + <path stroke="#032e50" d="M462.1 287.2s.7 3.9 2.3 7.1c1.1 2.3 3.3 5.7 6.9 7.4"/> + <path stroke="#033054" d="M462.2 287.2s.7 4 2.3 7c1 2.2 3.2 5.7 6.8 7.5"/> + <path stroke="#043359" d="M462.2 287.2c0 .1.8 4 2.4 7 1 2 3.1 5.6 6.7 7.5"/> + <path stroke="#04355c" d="M462.2 287.2c0 .1 1 4.2 2.5 7a18 18 0 0 0 6.6 7.4"/> + <path stroke="#043760" d="M462.2 287.1c0 .3 1 4.4 2.6 7 .8 1.5 3 5.4 6.5 7.5"/> + <path stroke="#053a65" d="M462.2 287.1a30 30 0 0 0 2.6 6.9c.8 1.4 3 5.4 6.5 7.5"/> + <path stroke="#053c68" d="M462.3 287.1c0 .3 1.2 4.5 2.6 6.8.7 1.3 2.8 5.4 6.4 7.7"/> + <path stroke="#053f6e" d="M462.3 287.1a30 30 0 0 0 2.8 6.8c.6 1 2.6 5.2 6.2 7.6"/> + <path stroke="#064172" d="M462.3 287.1a31 31 0 0 0 2.9 6.7c.5.8 2.5 5.2 6 7.7"/> + <path stroke="#00209f" d="M462.3 287.1c0 .3 1.6 4.9 3 6.6.4.7 2.4 5.2 6 7.8"/> + <path stroke="#022743" d="M462.2 284s2.4 9.2 9 11.5"/> + <path stroke="#022847" d="M462.2 284s.9 3.3 3 6.4c1.5 2.2 3.6 4.2 6 5"/> + <path stroke="#032a4a" d="M462.2 284s1 3.2 3 6.4c1.6 2.1 3.7 4.3 6 5"/> + <path stroke="#032c4d" d="M462.2 284s1 3.1 3.2 6.3c1.5 2.2 3.7 4.4 5.8 5.1"/> + <path stroke="#032f53" d="M462.2 283.9s1 3.1 3.3 6.3a15 15 0 0 0 5.7 5.2"/> + <path stroke="#033156" d="M462.2 283.9s1 3 3.3 6.2c1.7 2.3 4 4.7 5.7 5.3"/> + <path stroke="#043359" d="M462.2 283.8s1 3 3.4 6.2a17 17 0 0 0 5.6 5.4"/> + <path stroke="#04355c" d="M462.2 283.8a27 27 0 0 0 9 11.6"/> + <path stroke="#043760" d="M462.3 283.8s1 2.9 3.5 6.1a21 21 0 0 0 5.4 5.4"/> + <path stroke="#043963" d="M462.3 283.8s1 2.8 3.5 6a23 23 0 0 0 5.4 5.5"/> + <path stroke="#053b67" d="M462.3 283.7s1.1 2.8 3.6 6a28 28 0 0 0 5.3 5.6"/> + <path stroke="#053e6c" d="M462.3 283.7s1.2 2.7 3.7 6a39 39 0 0 0 5.2 5.6"/> + <path stroke="#053f6f" d="M462.3 283.7s1.2 2.7 3.8 5.9a44 44 0 0 0 5.1 5.7"/> + <path stroke="#064172" d="M462.3 283.6s1.3 2.7 3.9 6c2 2.5 4.9 5.6 5 5.7"/> + <path stroke="#00209f" d="M462.3 283.6s1.3 2.6 3.9 5.8c2.1 2.7 5 5.9 5 5.9m8.7 1.3 4.6.8m-4.1 2.6 4-1.7"/> + <path stroke="#064171" d="m479.9 296.7 4.5.7"/> + <path stroke="#053e6c" d="m479.9 296.9 4.6.5"/> + <path stroke="#053b67" d="m479.9 297 4.6.4"/> + <path stroke="#043862" d="m479.9 297.2 4.7.3"/> + <path stroke="#04355c" d="M479.9 297.4h4.7"/> + <path stroke="#043258" d="M480 297.6h4.6"/> + <path stroke="#032f53" d="m480 297.7 4.7-.2"/> + <path stroke="#032c4d" d="m480 297.9 4.7-.3"/> + <path stroke="#022a49" d="m480 298 4.8-.5"/> + <path stroke="#064171" d="m480.3 299.8 4.2-1.6"/> + <path stroke="#053e6c" d="m480.3 299.6 4.3-1.5"/> + <path stroke="#053b67" d="m480.3 299.5 4.3-1.4"/> + <path stroke="#043862" d="m480.3 299.3 4.3-1.3"/> + <path stroke="#04355c" d="m480.2 299.1 4.5-1.2"/> + <path stroke="#043258" d="m480.2 299 4.5-1.2"/> + <path stroke="#032f53" d="m480.2 298.7 4.6-.9"/> + <path stroke="#032c4d" d="m480.1 298.6 4.7-.9"/> + <path stroke="#022a49" d="m480.1 298.4 4.7-.7"/> + <path stroke="#022743" d="m480 298.2 4.9-.6"/> + <path stroke="#032b4c" d="m484.2 331.6-2.6.2-9.9-.2"/> + <path stroke="#032e50" d="m484.3 331.6-2.7.3-9.8-.2"/> + <path stroke="#033054" d="m484.3 331.6-2.8.4c-.5.1-9.6-.3-9.6-.3"/> + <path stroke="#043359" d="m484.3 331.7-2.8.5c-.7.1-9.6-.5-9.6-.5"/> + <path stroke="#04355c" d="m484.3 331.7-3 .6c-.7.2-9.3-.5-9.3-.5"/> + <path stroke="#043760" d="m484.3 331.7-3 .7c-.8.3-9.2-.6-9.2-.6"/> + <path stroke="#053a65" d="m484.4 331.8-3.1.8c-1 .2-9.1-.7-9.1-.7"/> + <path stroke="#053c68" d="m484.4 331.8-3.1 1c-1.2.2-9-.8-9-.8"/> + <path stroke="#053f6e" d="m484.4 331.9-3.2 1c-1.2.3-8.9-.9-8.9-.9"/> + <path stroke="#064172" d="M484.4 332s-1.8.7-3.2 1-8.8-1-8.8-1"/> + <path stroke="#00209f" d="M472.5 332s7.1 1.4 8.6 1.1 3.3-1.1 3.3-1.1"/> + <path stroke="#022a49" d="m486 337 4.8.7 2.7-.2 2.2-.5"/> + <path stroke="#032d4f" d="M485.8 337s4.7.7 5 .6l2.7-.1 2-.5"/> + <path stroke="#033054" d="M485.5 336.9s4.9.8 5.3.7l2.6-.2 2-.4"/> + <path stroke="#043359" d="M485.3 336.7s4.9.9 5.6.8l2.5-.2 1.7-.3"/> + <path stroke="#043760" d="M485 336.6s5 1 5.9.8l2.5-.2 1.5-.3"/> + <path stroke="#053a65" d="M484.8 336.5s5.1 1 6.1.8l2.4-.2 1.4-.2"/> + <path stroke="#053d6a" d="M484.5 336.4s5.3 1 6.4.9c.7-.2 2-.3 2.4-.3l1.2-.2"/> + <path stroke="#064171" d="M484.2 336.3s5.4 1.1 6.8.9q1.2-.3 2.2-.3h1.1"/> + <path stroke="#022743" d="m486.3 337.2 4.4.6 2.9-.1 2.4-.6"/> + <path stroke="#00209f" d="M484 336.2s5.5 1.2 7 .9 3-.3 3-.3m11.8 0 4.3-1.6c2.6-1 3-3.6 3-3.6"/> + <path stroke="#00209f" d="m505.5 336 3.1-1.3c3.8-1.4 3.4-3.2 3.4-3.2"/> + <path stroke="#053e6c" d="m505.2 336.1 3.4-1.3 1.8-.8c.5-.3 1.2-1 1.3-1.2.4-.5.4-1.3.4-1.3"/> + <path stroke="#043862" d="m505 336.3 3.6-1.4 1.8-.7 1.4-1.2c.3-.5.4-1.5.4-1.5"/> + <path stroke="#043258" d="m504.7 336.5 4-1.5 1.6-.7 1.5-1.2c.2-.3.5-1.6.5-1.6"/> + <path stroke="#032c4d" d="m504.4 336.7 4.2-1.5 1.7-.7 1.6-1.3.6-1.6"/> + <path stroke="#053e6c" d="m505.5 336.9 4.6-1.8q1.4-.6 2-1.5c.6-.9.9-2 .9-2"/> + <path stroke="#043862" d="m505.1 336.9 5-2c.6-.1 1.7-1 2-1.4.4-.6.7-2 .7-2"/> + <path stroke="#043258" d="m504.8 336.9 5.4-2 1.9-1.4c.3-.5.6-2 .6-2"/> + <path stroke="#032c4d" d="m504.5 336.9 5.7-2.1 1.8-1.4.7-1.8"/> + <path stroke="#022743" d="m504.2 336.9 6-2.3 1.7-1.2.6-1.8"/> + <path stroke="#032b4c" d="m511.3 331.6-2.8.2-10.3-.2"/> + <path stroke="#032e50" d="m511.3 331.6-2.8.3-10.2-.2"/> + <path stroke="#033054" d="m511.3 331.6-2.9.4c-.5.1-10-.3-10-.3"/> + <path stroke="#043359" d="m511.3 331.7-3 .5c-.6.1-9.8-.5-9.8-.5"/> + <path stroke="#04355c" d="m511.4 331.7-3 .6c-.9.2-9.8-.5-9.8-.5"/> + <path stroke="#043760" d="m511.4 331.7-3.1.7c-1 .3-9.7-.6-9.7-.6"/> + <path stroke="#053a65" d="m511.4 331.8-3.2.8c-1 .2-9.5-.7-9.5-.7"/> + <path stroke="#053c68" d="m511.4 331.8-3.3 1c-1.1.2-9.3-.8-9.3-.8"/> + <path stroke="#053f6e" d="m511.4 331.9-3.3 1c-1.3.2-9.2-.9-9.2-.9"/> + <path stroke="#064172" d="M511.4 332s-1.9.7-3.3 1c-1.5.3-9.2-1-9.2-1"/> + <path stroke="#00209f" d="M499 332s7.5 1.4 9 1.1c1.6-.3 3.5-1.1 3.5-1.1"/> + </g> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".2" d="m475 290-.2-3.3c0-5.2-.7-9-.1-14.5.4-4.2 1.5-9.8 1.3-14.4q0-2 .2-3.9l21 23.5M467 327.7a5 5 0 0 1-1.9-2.2c-.6-1.7-.4-1.7-.9-3.6l-.5-3.4c-.2-1.2-1.8-4.8-1.9-6.2-.1-4.8-1.7-8-1.3-13.1.3-4 1.2-9.5.7-13.6l.1-3.6 23.6 15.6m28.5 33.9c.2.5-.3 1.5-.5 1.9l-.5.6c-.2.6-.2.4-.7.9l-.8.6q-.5.5-1.1.7c-1.8.3-2.5.7-4.2 1.1-1.6.5-.8.4-2 .7l-2.4.7-2.4.6c-2.9.7-5.7.5-8.6.3-1.1 0-4-.7-5-1.4-1.8-1.2-5.7-1.7-7.4-2.9-.3-.2-1.4-.7-1.6-1-1.7-1.3-3-1.7-4.8-2.8"/> + <g stroke="#000" stroke-miterlimit="2.6" stroke-width=".1"> + <path fill="#fc0" fill-rule="evenodd" d="m484.9 297.6.6-.8-24-15.6-.4.6zm-23.7-16.7c-.2-1 0-2.1.7-2.3h.8q.5-.1.7.4c.3.8-.7 1.3-1.4 1.6q-.4 0-.7.3l-.1.4.3-.3 1.7-.7c.6-.3.7-1.4.3-1.7s-1.8-.3-2 0q-1 1.1-.6 2.7z"/> + <path fill="#fc0" fill-rule="evenodd" d="M460.8 281.3c-1 0-2.1.4-2.2 1v.9q0 .5.6.6c.8.2 1.2-.8 1.4-1.6q0-.4.2-.7l.4-.2-.3.3-.5 1.9c-.2.6-1.3.8-1.6.4-.5-.3-.6-1.7-.3-2q1.1-1 2.7-1-.2.4-.4.4z"/> + <path fill="#fc0" fill-rule="evenodd" d="M460.6 281q-.4.1-.1.6c0 .2.5.3.6.2q.6-.4.4-1-.4-.2-.9.1z"/> + <path fill="#fc0" fill-rule="evenodd" d="M455.6 277.8s2.5 1 4.5 1c0 0 .1 1.8.5 2.3 0 0-1.8-.3-2.6 0 0 0-1.1-2.4-2.4-3.3z"/> + <path fill="none" d="M457.6 279s1 .4 1.8.4c0 0 0 .8.2 1 0 0-.7-.2-1 0 0 0-.4-1-1-1.4z"/> + <path fill="#fc0" fill-rule="evenodd" d="m460.8 282.9.6-1.1c0-.2 0 1 .4 1 .5.8.7 2.3.7 2.7-.7.2-1.3.6-2.3.2-.3-.3 0-1 0-1.4z"/> + <path fill="none" d="M461.3 282.2v.6c0-.2.3.2.3.3.3.7.5 1.1.6 2.4m-.7-2.2c.2 1 .4 1 .4 2.4v-.1m-.5-1.4.2 1.4-.3.2"/> + <path fill="#fc0" fill-rule="evenodd" d="m497.1 277.4.7-.6-21.4-23.7-.4.5z"/> + <path fill="#fc0" fill-rule="evenodd" d="M476.6 253c0-.9.6-2 1.2-2l.9.1q.4.2.5.6c.1.9-1 1.2-1.7 1.3l-.8.1-.2.3.3-.1 2-.3c.5-.1.9-1.3.6-1.6-.3-.5-1.6-.8-2-.5q-1 .9-1.2 2.5c0-.2.4-.1.4-.3z"/> + <path fill="#fc0" fill-rule="evenodd" d="M476.1 253.4c-.9-.3-2.1-.2-2.3.5l-.2.8q-.1.5.4.7c.7.4 1.4-.5 1.7-1.2q0-.4.4-.7h.4l-.3.2-1 1.7c-.2.5-1.4.5-1.7 0s0-1.7.3-2q1.3-.8 2.8-.2-.2.2-.5.2z"/> + <path fill="#fc0" fill-rule="evenodd" d="M476 253q-.4.2-.3.6t.6.3q.7-.2.6-.8-.3-.4-.9-.1z"/> + <path fill="#fc0" fill-rule="evenodd" d="M472 248.7s2 1.6 4 2c0 0-.3 1.9 0 2.4 0 0-1.7-.7-2.6-.5 0 0-.4-2.6-1.5-4z"/> + <path fill="none" d="M473.6 250.4s.8.6 1.6.9v.9s-.7-.3-1-.2c0 0-.2-1-.6-1.6z"/> + <path fill="#fc0" fill-rule="evenodd" d="m475.7 254.9 1-1c0-.1-.4 1 0 1.3.4.8.1 2.3 0 2.7-.7 0-1.3.3-2-.4-.4-.3 0-.9.3-1.3q.1-.7.7-1.3z"/> + <path fill="none" d="M476.4 254.4v.5l.2.7v2.2m-.3-2.5q.2 1.3-.1 2.5m0-1-.2 1h-.3"/> + </g> + </g> + <use xlink:href="#sv-c" width="100%" height="100%" transform="matrix(-1 0 0 1 1030 0)"/> + </g> + <path fill="#fc0" stroke="#000" stroke-miterlimit="2.6" stroke-width=".3" d="m319.3 197.9-40.2 67.3h80.5z"/> + <path fill="#fff" stroke="#fff" stroke-miterlimit="2.6" stroke-width=".1" d="M319.3 202.3 283 263h72.7z"/> + <path fill="#007e93" stroke="#007e93" stroke-miterlimit="2.6" stroke-width=".2" d="M293.8 245 283 263h72.7l-10.9-18z"/> + <g fill="none" stroke-miterlimit="2.6" stroke-width=".1"> + <path stroke="#086aad" d="M313 212.9a9 9 0 0 1 6.2-2.2h.2c2.3 0 4.7.6 6.3 2.2"/> + <path stroke="#0863aa" d="M313 213a9 9 0 0 1 6.2-2.2h.2c2.4 0 4.8.5 6.3 2.2"/> + <path stroke="#095fa8" d="M313 213a9 9 0 0 1 6.2-2.2h.2c2.4 0 4.9.6 6.4 2.3"/> + <path stroke="#0a58a5" d="M312.9 213.1a9 9 0 0 1 6.3-2.2h.2c2.5 0 5 .6 6.5 2.3"/> + <path stroke="#0a52a2" d="M312.8 213.2q2.6-2.4 6.5-2.3h.1q4 0 6.5 2.4"/> + <path stroke="#0b4d9f" d="M312.8 213.3q2.6-2.4 6.5-2.3h.2c2.5 0 5 .6 6.5 2.4"/> + <path stroke="#0c479d" d="M312.7 213.4q2.6-2.6 6.6-2.4h.2q4-.1 6.6 2.5"/> + <path stroke="#270a7f" d="M312.3 214c1.9-2 4.2-2.5 7-2.5h.2q4.8 0 7.3 3.2"/> + <path stroke="#241183" d="M312.3 214c1.9-2 4.2-2.6 7-2.6h.2q4.7 0 7.2 3.2"/> + <path stroke="#221786" d="M312.4 214c1.8-2 4.1-2.6 7-2.6s5.7 1 7.2 3"/> + <path stroke="#1f1f8a" d="M312.4 213.8q2.8-2.7 6.9-2.5h.1q4.7 0 7.2 3"/> + <path stroke="#1a258d" d="M312.5 213.7q2.6-2.6 6.8-2.4h.1q4.6-.1 7 2.9"/> + <path stroke="#172d91" d="M312.5 213.7q2.7-2.7 6.7-2.5h.2q4.5-.1 7 2.8"/> + <path stroke="#143393" d="M312.5 213.6q2.6-2.6 6.7-2.4h.2q4.3-.2 7 2.7"/> + <path stroke="#113b97" d="M312.6 213.5q2.6-2.6 6.6-2.4h.1q4.4-.2 7 2.7"/> + <path stroke="#ff0a00" d="M315.3 209a7 7 0 0 1 4-1.2q2.2 0 4 1"/> + <path stroke="#f10" d="M315.3 209a7 7 0 0 1 4-1 7 7 0 0 1 4 1"/> + <path stroke="#ff1500" d="M315.3 209a7 7 0 0 1 4-1q2.3-.1 4 1"/> + <path stroke="#ff1a00" d="M315.2 209.2a7 7 0 0 1 4.1-1.2q2.4 0 4.1 1"/> + <path stroke="#ff2000" d="M315.2 209.2a7 7 0 0 1 4.1-1.1q2.4 0 4.1 1"/> + <path stroke="#ff2700" d="M315.1 209.3a7 7 0 0 1 4.2-1.2q2.3 0 4.2 1.1"/> + <path stroke="#ff2f00" d="M315.1 209.4a7 7 0 0 1 4.2-1.2q2.3 0 4.2 1"/> + <path stroke="#f30" d="M315 209.4a7 7 0 0 1 4.3-1.1 8 8 0 0 1 4.3 1"/> + <path stroke="#ff3c00" d="M315 209.5a7 7 0 0 1 4.3-1.2q2.4 0 4.3 1.1"/> + <path stroke="#ff4100" d="M315 209.6a7 7 0 0 1 4.3-1.2 8 8 0 0 1 4.3 1.1"/> + <path stroke="#ff4600" d="M315 209.7a7 7 0 0 1 4.3-1.3 8 8 0 0 1 4.4 1.2"/> + <path stroke="#fff500" d="M314 211.2a10 10 0 0 1 10.7 0"/> + <path stroke="#ffeb00" d="M314.1 211.1a9 9 0 0 1 5.2-1.5q3.2 0 5.3 1.6"/> + <path stroke="#ffe000" d="M314.1 211a9 9 0 0 1 5.2-1.5c1.9 0 4 .5 5.3 1.6"/> + <path stroke="#ffd600" d="M314.2 211a9 9 0 0 1 5.1-1.6q3 0 5.2 1.6"/> + <path stroke="#ffcf00" d="M314.2 210.9a9 9 0 0 1 5.1-1.5 9 9 0 0 1 5.2 1.5"/> + <path stroke="#ffc400" d="M314.3 210.8c1.3-1 3.3-1.5 5-1.5a8 8 0 0 1 5.1 1.5"/> + <path stroke="#ffba00" d="M314.3 210.7q2.3-1.5 5-1.5c2.7 0 3.7.5 5 1.5"/> + <path stroke="#ffb000" d="M314.4 210.6a8 8 0 0 1 5-1.4q2.7 0 5 1.4"/> + <path stroke="#ffa600" d="M314.4 210.5a8 8 0 0 1 5-1.4 8 8 0 0 1 4.8 1.4"/> + <path stroke="#ff9c00" d="M314.5 210.4a8 8 0 0 1 4.8-1.4q2.8 0 4.9 1.4"/> + <path stroke="#ff9100" d="M314.6 210.3a8 8 0 0 1 4.7-1.4q2.7 0 4.8 1.4"/> + <path stroke="#ff8700" d="M314.6 210.2a8 8 0 0 1 4.7-1.3q2.7 0 4.8 1.3"/> + <path stroke="#ff7d00" d="M314.6 210.2a8 8 0 0 1 4.7-1.4q2.6 0 4.7 1.3"/> + <path stroke="#ff7500" d="M314.7 210a8 8 0 0 1 4.6-1.2q2.6 0 4.7 1.2"/> + <path stroke="#ff6b00" d="M314.8 210a8 8 0 0 1 4.5-1.3 8 8 0 0 1 4.6 1.2"/> + <path stroke="#ff6100" d="M314.8 209.9a7 7 0 0 1 4.5-1.3q2.5 0 4.6 1.3"/> + <path stroke="#ff5700" d="M314.9 209.8a7 7 0 0 1 4.4-1.3 8 8 0 0 1 4.5 1.3"/> + <path stroke="#ebf605" d="M313.9 211.4a10 10 0 0 1 5.4-1.7c2 0 4.1.6 5.5 1.7"/> + <path stroke="#d6ec09" d="M313.8 211.5a9 9 0 0 1 5.5-1.7c2 0 4.2.6 5.6 1.7"/> + <path stroke="#c2e30e" d="M313.8 211.6a9 9 0 0 1 5.5-1.7c2 0 4.2.5 5.6 1.7"/> + <path stroke="#add912" d="M313.7 211.7a9 9 0 0 1 5.6-1.8c2 0 4.2.6 5.6 1.8"/> + <path stroke="#99cf16" d="M313.6 211.8a9 9 0 0 1 5.7-1.8c2 0 4.3.6 5.7 1.8"/> + <path stroke="#85c61a" d="M313.6 211.9a9 9 0 0 1 5.7-1.9c2 0 4.3.7 5.7 1.9"/> + <path stroke="#70bc1f" d="M313.5 212a8 8 0 0 1 5.8-1.9c2 0 4.4.6 5.8 1.8"/> + <path stroke="#5cb323" d="M313.5 212.1a8 8 0 0 1 5.8-2c2.1 0 4.4.7 5.8 2"/> + <path stroke="#47a928" d="M313.4 212.2a8 8 0 0 1 5.9-2c2.1 0 4.4.7 5.9 1.9"/> + <path stroke="#0d74a4" d="M313.1 212.7a9 9 0 0 1 6.2-2 9 9 0 0 1 6.3 2"/> + <path stroke="#127a97" d="M313.1 212.7a9 9 0 0 1 6.2-2.2 9 9 0 0 1 6.2 2.1"/> + <path stroke="#17808b" d="M313.2 212.6a9 9 0 0 1 6.2-2 9 9 0 0 1 6 2"/> + <path stroke="#1a847d" d="M313.2 212.6a9 9 0 0 1 6.1-2.1 9 9 0 0 1 6.1 2"/> + <path stroke="#1e8a6d" d="M313.2 212.5a9 9 0 0 1 6.1-2c2.3 0 4.6.6 6 2"/> + <path stroke="#238f5e" d="M313.3 212.5a9 9 0 0 1 6-2.1c2.2 0 4.6.6 6 2"/> + <path stroke="#2b944e" d="M313.3 212.4a8 8 0 0 1 6-2c2.2 0 4.6.6 6 2"/> + <path stroke="#2f9b3e" d="M313.3 212.3c2-1.6 3.7-2 6-2s4.5.7 6 2"/> + <path stroke="red" d="M323.2 208.8a7 7 0 0 0-3.9-1 7 7 0 0 0-4 1"/> + <path stroke="#2a007c" d="M326.9 214.9q-2.6-3.4-7.5-3.4-4.4-.2-7.2 2.7"/> + <path stroke="#0671b0" d="M325.6 212.7c-1.5-1.5-4-2-6.3-2a9 9 0 0 0-6.2 2.1"/> + <path stroke="#0c419a" d="M326.2 213.7c-1.6-2-4.1-2.6-6.9-2.6q-4-.1-6.7 2.3"/> + <path stroke="#ff0" d="M324.8 211.3a9 9 0 0 0-5.5-1.6c-1.8 0-4 .5-5.4 1.6"/> + <path stroke="#ff4d00" d="M323.7 209.7a8 8 0 0 0-4.4-1.2 7 7 0 0 0-4.4 1.2"/> + <path stroke="#33a02c" d="M325.2 212.2a10 10 0 0 0-5.9-2 8 8 0 0 0-6 2"/> + </g> + <g fill="none" stroke-miterlimit="2.6" stroke-width=".1"> + <path stroke="#fef2ec" d="M312 214.5a16 16 0 0 1 7.3-1.8c2.6 0 5.4 1 7.6 2.1l7.7 13a15.3 15.3 0 0 1-30.6 0z"/> + <path stroke="#fef2ea" d="M319.3 212.9c2.6 0 5.3 1 7.5 2.1l7.6 12.7c0 8.3-6.8 15.2-15 15.2-8.4 0-15.1-6.7-15.2-15.1l7.9-13a16 16 0 0 1 7.2-2z"/> + <path stroke="#fef0e6" d="M319.3 213.3c2.5 0 5.2 1 7.3 2l7.4 12.4c0 8.1-6.6 14.9-14.7 14.9a14.7 14.7 0 0 1-14.7-14.8l7.6-12.7a16 16 0 0 1 7-1.8z"/> + <path stroke="#feede3" d="M319.3 213.7c2.4 0 5 .9 7 2 .2 0 7.3 11.9 7.3 12a14.4 14.4 0 0 1-14.3 14.4c-7.9 0-14.2-6.3-14.3-14.3 0-.2 7.3-12.3 7.4-12.4a16 16 0 0 1 6.9-1.7z"/> + <path stroke="#fee8dc" d="M319.3 214.3q3.6.2 6.8 2c.2 0 6.8 11.2 6.8 11.5 0 7.5-6.1 13.7-13.6 13.7s-13.6-6-13.7-13.7c0-.3 6.9-11.7 7.1-11.8q3-1.6 6.6-1.7z"/> + <path stroke="#fee6d5" d="M319.3 214.7q3.6.1 6.6 1.9c.2.2 6.6 10.8 6.6 11.2 0 7.3-6 13.3-13.2 13.3s-13.2-6-13.2-13.3c0-.4 6.5-11.3 6.8-11.5q2.9-1.5 6.4-1.6z"/> + <path stroke="#fee3cf" d="M319.3 215.3q3.5.2 6.2 1.8c.4.2 6.4 10.2 6.4 10.7 0 7-5.7 12.7-12.6 12.7-7 0-12.6-5.6-12.7-12.7 0-.4 6.2-10.7 6.6-11a13 13 0 0 1 6-1.5z"/> + <path stroke="#fee0cc" d="M319.3 215.7q3.3.1 6 1.8a76 76 0 0 1 6.2 10.3c0 6.7-5.5 12.3-12.2 12.3a12 12 0 0 1-12.3-12.3c0-.5 6-10.3 6.4-10.6q2.6-1.5 5.9-1.5z"/> + <path stroke="#fedec6" d="M319.3 216.1q3.2.2 5.9 1.7c.4.3 6 9.4 6 10a12 12 0 0 1-12 11.9 12 12 0 0 1-11.7-11.9c0-.6 5.6-10 6-10.2a13 13 0 0 1 5.8-1.5z"/> + <path stroke="#fdcdaa" d="M319.3 218.8q2.5 0 4.5 1.3c.9.5 4.6 6.7 4.6 7.7a9 9 0 0 1-9.1 9.2 9 9 0 0 1-9.2-9.2c0-1 3.9-7.4 4.7-8a10 10 0 0 1 4.5-1z"/> + <path stroke="#fdcdaa" d="M319.3 219a9 9 0 0 1 4.4 1.2c1 .6 4.5 6.6 4.5 7.6a9 9 0 1 1-17.9 0c0-1 3.7-7.2 4.6-7.7a9 9 0 0 1 4.4-1.1z"/> + <path stroke="#fdc59e" d="M319.3 220a8 8 0 0 1 4 1.1c1 .6 4 5.5 4 6.7a8 8 0 0 1-8 8 8 8 0 0 1-8-8c0-1.2 3-6.3 4.1-6.8q1.8-1 3.9-1z"/> + <path stroke="#fdc59e" d="M319.3 220.2a8 8 0 0 1 3.9 1 16 16 0 0 1 3.8 6.6 8 8 0 0 1-7.7 7.8 7.7 7.7 0 0 1-7.8-7.7c0-1.4 3-6.1 4-6.8a8 8 0 0 1 3.8-1z"/> + <path stroke="#fef0e9" d="M319.3 213c2.5 0 5.2 1 7.4 2.2l7.5 12.5a15 15 0 0 1-14.9 15 15 15 0 0 1-14.9-14.9l7.7-13a16 16 0 0 1 7.2-1.7z"/> + <path stroke="#feede3" d="M319.3 213.5c2.5 0 5.1 1 7.1 2 .2.1 7.4 12.1 7.4 12.3a14.5 14.5 0 0 1-29 0l7.5-12.6a15 15 0 0 1 7-1.7z"/> + <path stroke="#feebdf" d="M319.3 214c2.4 0 5 .8 7 1.9.1 0 7 11.6 7 11.9 0 7.7-6.3 14.1-14 14.1s-14-6.3-14-14.1c0-.2 7-12.1 7.2-12.2a15 15 0 0 1 6.8-1.7z"/> + <path stroke="#feebdd" d="M319.3 214c2.4 0 4.9 1 6.9 2 .1.2 7 11.5 7 11.8a14 14 0 0 1-14 14 14 14 0 0 1-13.8-14c0-.2 7-11.9 7.2-12q3-1.6 6.7-1.7z"/> + <path stroke="#fee8d9" d="M319.3 214.5c2.3 0 4.8.9 6.7 2 .2 0 6.7 11 6.7 11.3 0 7.4-6 13.5-13.4 13.5s-13.4-6-13.5-13.5c0-.3 6.7-11.5 7-11.7q3-1.5 6.5-1.6z"/> + <path stroke="#fee6d3" d="M319.3 215q3.5 0 6.5 1.8c.3.1 6.5 10.6 6.5 11 0 7.1-5.9 13.1-13 13.1a13 13 0 0 1-13-13c0-.5 6.4-11.3 6.7-11.4a14 14 0 0 1 6.3-1.6z"/> + <path stroke="#fee3d2" d="M319.3 215.1q3.4.2 6.4 1.8c.3.2 6.4 10.5 6.4 10.9 0 7-5.8 13-12.8 13a13 13 0 0 1-12.9-13c0-.4 6.3-11 6.7-11.1a14 14 0 0 1 6.2-1.6z"/> + <path stroke="#fee0cc" d="M319.3 215.5q3.4.2 6.1 1.8c.5.2 6.3 10 6.3 10.5 0 6.8-5.6 12.5-12.4 12.5a12.5 12.5 0 0 1-12.5-12.5c0-.5 6-10.6 6.5-10.8a13 13 0 0 1 6-1.5z"/> + <path stroke="#fedec8" d="M319.3 216q3.2.1 6 1.6c.4.3 6 9.6 6 10.2a12 12 0 0 1-12 12 12 12 0 0 1-12-12 88 88 0 0 1 6.2-10.4q2.5-1.5 5.8-1.5z"/> + <path stroke="#fddbc5" d="M319.3 216.3q3.1.2 5.8 1.7a87 87 0 0 1 5.8 9.8c0 6.4-5.2 11.7-11.6 11.7s-11.6-5.2-11.6-11.7c0-.6 5.5-9.7 6-10a12 12 0 0 1 5.6-1.5z"/> + <path stroke="#fddbc2" d="M319.3 216.5q3 .2 5.7 1.7c.5.3 5.7 9 5.7 9.6 0 6.3-5.1 11.5-11.4 11.5s-11.4-5.1-11.5-11.5c0-.7 5.4-9.6 6-9.9a12 12 0 0 1 5.5-1.4z"/> + <path stroke="#fdd9bf" d="M319.3 216.7q3.1.1 5.6 1.6c.5.4 5.6 8.8 5.6 9.5a11.2 11.2 0 0 1-22.4 0c0-.7 5.2-9.4 5.8-9.7a12 12 0 0 1 5.4-1.4z"/> + <path stroke="#fdd9bf" d="M319.3 217q3 0 5.4 1.5a55 55 0 0 1 5.6 9.3c0 6-5 11-11 11s-11-4.8-11-11c0-.7 5-9.2 5.7-9.5a12 12 0 0 1 5.3-1.4z"/> + <path stroke="#fdd6bc" d="M319.3 217.1q3 .1 5.3 1.6c.7.3 5.5 8.3 5.5 9.1 0 6-4.9 10.9-10.8 10.9a11 11 0 0 1-10.8-10.9c0-.8 5-9 5.6-9.3a11 11 0 0 1 5.2-1.4z"/> + <path stroke="#fdd6b9" d="M319.3 217.3q2.8.2 5.2 1.5c.7.4 5.3 8.2 5.3 9 0 5.8-4.7 10.7-10.5 10.7a10.6 10.6 0 0 1-10.6-10.7c0-.8 4.8-8.8 5.5-9.2a11 11 0 0 1 5-1.3z"/> + <path stroke="#fdd4b8" d="M319.3 217.6q2.8.1 5.2 1.4c.6.4 5.2 8 5.2 8.8 0 5.7-4.7 10.5-10.4 10.5s-10.4-4.7-10.4-10.5c0-.8 4.6-8.6 5.3-9a11 11 0 0 1 5-1.2z"/> + <path stroke="#fdd4b6" d="M319.3 217.7q2.8.1 5 1.5c.8.4 5.2 7.7 5.2 8.6 0 5.6-4.6 10.3-10.2 10.3a10 10 0 0 1-10.2-10.3c0-.9 4.5-8.4 5.2-8.8a11 11 0 0 1 5-1.3z"/> + <path stroke="#fdd2b2" d="M319.3 218q2.7.1 5 1.4c.7.4 5 7.5 5 8.4 0 5.5-4.6 10-10 10s-10-4.4-10-10a39 39 0 0 1 5.1-8.6 11 11 0 0 1 4.9-1.3z"/> + <path stroke="#fdd1b0" d="M319.3 218.2q2.7.1 4.9 1.4c.7.4 4.9 7.3 4.9 8.2 0 5.4-4.5 9.9-9.8 9.9s-9.8-4.4-9.8-9.9c0-.9 4.2-8 5-8.4a10 10 0 0 1 4.8-1.3z"/> + <path stroke="#fdd0b0" d="M319.3 218.4q2.6.1 4.8 1.3c.8.5 4.7 7.1 4.7 8.1a9.5 9.5 0 1 1-19.1 0c0-1 4.1-7.8 5-8.3a10 10 0 0 1 4.6-1.1z"/> + <path stroke="#fdd0ad" d="M319.3 218.6a10 10 0 0 1 4.7 1.3c.8.5 4.6 7 4.6 8 0 5-4.2 9.3-9.3 9.3s-9.4-4.1-9.4-9.4c0-1 4-7.6 4.8-8a10 10 0 0 1 4.6-1.2z"/> + <path stroke="#fdcaa6" d="M319.3 219.2q2.3 0 4.4 1.2c.9.5 4.3 6.3 4.3 7.4a9 9 0 0 1-8.7 8.8 9 9 0 0 1-8.8-8.7c0-1.2 3.6-7.1 4.5-7.7a9 9 0 0 1 4.3-1z"/> + <path stroke="#fdcaa4" d="M319.3 219.4a9 9 0 0 1 4.3 1.2c.9.5 4.2 6 4.2 7.2a8.6 8.6 0 0 1-8.5 8.6 8.6 8.6 0 0 1-8.6-8.5c0-1.2 3.5-7 4.4-7.5a9 9 0 0 1 4.2-1z"/> + <path stroke="#fdc8a4" d="M319.3 219.6q2.3 0 4.2 1.2a19 19 0 0 1 4.1 7 8.4 8.4 0 0 1-16.7.1c0-1.2 3.3-6.7 4.3-7.3a9 9 0 0 1 4-1z"/> + <path stroke="#fdc8a1" d="M319.3 219.8q2.2.1 4 1.1c1 .6 4.1 5.7 4.1 7a8 8 0 0 1-8.1 8.1 8 8 0 0 1-8.2-8.1c0-1.3 3.2-6.6 4.2-7.1q1.8-1 4-1z"/> + <path stroke="#fdc39b" d="M319.3 220.4q2 0 3.7 1a15 15 0 0 1 3.8 6.4 7.5 7.5 0 0 1-7.5 7.6 7.5 7.5 0 0 1-7.6-7.5c0-1.4 2.8-6 3.9-6.6a8 8 0 0 1 3.7-1z"/> + <path stroke="#fdc398" d="M319.3 220.6q2 0 3.6 1a13 13 0 0 1 3.7 6.3c0 4-3.3 7.3-7.3 7.3a7.3 7.3 0 0 1-7.4-7.3 14 14 0 0 1 3.8-6.4 8 8 0 0 1 3.6-1z"/> + <path stroke="#fdc097" d="M319.3 220.8a8 8 0 0 1 3.6 1 13 13 0 0 1 3.5 6c0 4-3.2 7.2-7.1 7.2a7 7 0 0 1-7.2-7.1c0-1.5 2.5-5.6 3.7-6.3a7 7 0 0 1 3.5-.8z"/> + <path stroke="#fdc095" d="M319.3 221a7 7 0 0 1 3.5 1c1.1.7 3.4 4.4 3.4 5.9a7 7 0 0 1-7 7 7 7 0 0 1-6.9-7c0-1.5 2.4-5.4 3.6-6a7 7 0 0 1 3.4-.9z"/> + <path stroke="#fdbe92" d="M319.3 221.2a7 7 0 0 1 3.4 1c1.1.6 3.3 4.2 3.3 5.7a6.7 6.7 0 1 1-13.5 0c0-1.5 2.3-5.2 3.5-5.9q1.4-.8 3.3-.8z"/> + <path stroke="#fdbe90" d="M319.3 221.4q1.7 0 3.3 1c1.1.6 3.2 4 3.2 5.5a6.5 6.5 0 0 1-6.5 6.5 6.5 6.5 0 0 1-6.6-6.5c0-1.6 2.1-5 3.4-5.7a7 7 0 0 1 3.2-.8z"/> + <path stroke="#fdbb8f" d="M319.3 221.6q1.7 0 3.2.9c1.2.7 3 3.8 3 5.4a6.3 6.3 0 0 1-6.2 6.3 6.3 6.3 0 0 1-6.4-6.3 9 9 0 0 1 3.3-5.5q1.5-.8 3-.8z"/> + <path stroke="#fdbb8d" d="M319.3 221.8q1.7 0 3 .9a8 8 0 0 1 3 5.2 6 6 0 0 1-6 6 6 6 0 0 1-6.1-6c0-1.6 1.8-4.6 3-5.3a6 6 0 0 1 3-.8z"/> + <path stroke="#fdb98a" d="M319.3 222a6 6 0 0 1 3 .8c1.2.8 2.9 3.5 2.9 5a6 6 0 0 1-6 6 6 6 0 0 1-5.8-6c0-1.6 1.6-4.3 3-5a6 6 0 0 1 2.9-.8z"/> + <path stroke="#fdb98a" d="M319.3 222.2a6 6 0 0 1 2.8.8 7 7 0 0 1 2.9 4.9 5.7 5.7 0 0 1-11.4 0 7 7 0 0 1 2.9-5 6 6 0 0 1 2.8-.7z"/> + <path stroke="#fcb687" d="M319.3 222.4q1.6 0 2.8.8a7 7 0 0 1 2.6 4.7 5.5 5.5 0 1 1-11 0c0-1.7 1.5-4 2.9-4.8a6 6 0 0 1 2.7-.7z"/> + <path stroke="#fcb685" d="M319.3 222.6q1.5 0 2.7.8a6 6 0 0 1 2.5 4.5 5.3 5.3 0 0 1-5.2 5.3 5.3 5.3 0 0 1-5.3-5.3 6 6 0 0 1 2.7-4.6 5 5 0 0 1 2.6-.7z"/> + <path stroke="#fcb485" d="M319.3 222.8q1.5 0 2.6.7a5 5 0 0 1 2.4 4.4 5 5 0 1 1-10.1 0c0-1.8 1.1-3.6 2.6-4.4a5 5 0 0 1 2.5-.7z"/> + <path stroke="#fcb482" d="M319.3 232.8a5 5 0 0 0 4.8-4.9c0-2.7-2.2-4.9-4.8-4.9a5 5 0 0 0-5 4.9 5 5 0 0 0 5 4.9z"/> + </g> + <path fill="#fff" fill-rule="evenodd" stroke="#fff" stroke-miterlimit="2.6" stroke-width=".1" d="M319.3 232.8a5 5 0 0 0 4.9-4.9 5 5 0 0 0-4.9-4.8 5 5 0 0 0-4.9 4.8 5 5 0 0 0 5 4.9z"/> + <g stroke="#000" stroke-width=".1"> + <path fill="none" d="m320.4 223.1.5-2.6m-1 2.6.2-2.7m-.8 2.6v-2.6m-.5 2.7-.3-2.7m-.2 2.7-.6-2.6m.1 2.8-.8-2.6m.3 2.7-1-2.4m.6 2.6-1.4-2.3m1 2.6-1.6-2.1m1.2 2.5-1.9-2m1.5 2.3-2-1.8m1.7 2.2-2.2-1.5m1.8 2-2.2-1.4m2 1.8-2.4-1m2.2 1.5-2.5-.9m2.4 1.4-2.6-.6m2.5 1-2.6-.2m2.6.8h-2.7m2.7.5-2.6.3m2.7.2-2.6.6m2.7-.1-2.5.8m2.7-.3-2.4 1m2.6-.6-2.8 1.8m3.1-1.3-5.7 4m6-3.6-6.1 5.4m6.5-5-5.1 5.6m5.5-5.3-3.9 5.1m4.3-4.8-4 7m4.5-6.8-2.3 5m2.7-4.8-2.2 7m2.7-6.9-1 4.7m1.6-4.6-.7 7.2m1.7-7.2.2 2.6m.3-2.7 1.5 6.8m-1-7 1.3 4.1m-.8-4.2 3 6.7m-2.6-7 3.3 5.8m-2.8-6 4.7 6.2m-4.3-6.5 4.1 4.8m-3.8-5.2 6.2 5.7m-5.9-6 3.4 2.4m-3-2.9 2.2 1.3m-2-1.7 2.4 1m-2.2-1.5 2.5.8M324 229l2.6.5m-2.5-1 2.6.2m-2.6-.8h2.6m-2.6-.5 2.6-.2m-2.7-.3 2.6-.5m-2.7 0 2.5-.8m-2.7.4 2.4-1.1m-2.6.6 2.3-1.3m-2.6.9 2.1-1.6m-2.4 1.1 2-1.7m-2.4 1.4 1.8-2m-2.2 1.6 1.6-2m-2 1.8 1.3-2.3m-1.8 2 1.1-2.4m-1.6 2.3.9-2.5m-2.4-4v-2M317 217l-.4-2m-1.8 2.7-.8-1.8m-1.2 3-1.2-1.7m-.5 3.2-1.6-1.3m.2 3.2-1.8-1m.8 3.2-2-.7m1.5 3-2-.3m2 2.5-2 .2m2.5 2.1-2 .7m22.2 1.5 1.8 1m-.8-3.1 1.9.6m-1.5-2.9 2 .2m-2-2.5 2-.2m-2.4-2.1 2-.6m-3-1.5 1.8-1m-3.1-.9 1.5-1.4m-3.2-.2 1.2-1.6m-3.2.5.8-1.9m-3 1.1.4-2"/> + <path fill="#e60000" fill-rule="evenodd" stroke-miterlimit="2.6" d="M322.1 230.2s-.7-.4-1-.4l-3 .1q-.8.3-.8.5 0 .4 1.4.6 1.5 0 2.2-.2z"/> + <path fill="#e60000" fill-rule="evenodd" stroke-miterlimit="2.6" d="M317.4 229.5s.1-1.4 1-3l-.4.8s-.6.3-.9 0q-.3-.4.1-1 .2-.7.5-1t1-.3c.7 0 1.2 0 1.7.8l1 1.7c.6.8.6 1.9.6 1.9l.2.8s-.7-.4-1.1-.4l-3 .1-.8.5s-.3-.6.1-1z"/> + <path fill="none" stroke-miterlimit="2.6" d="M317.4 229.5s.6-.3 2.3-.3c2 0 2.1.2 2.3.3"/> + <path fill="#fc0" fill-rule="evenodd" stroke-miterlimit="2.6" d="M319.2 237.1v-7.2s.2-.2.8 0v7.1s.2 5.5-.4 5.5-.4-1.3-.4-5.4z"/> + </g> + <g fill="#e60000"> + <path fill-rule="evenodd" d="m311.8 231 .1.3-1.4.6.2.5h-.2q0-.3-.6-.3v-.2zm-1.5-.5-.3-.4q0-.6.6-.8t.9.5q.1.5-.5.8v-.2q.3-.2.2-.6t-.6-.3q-.4.2-.3.6l.3.3v.2l-1.2.1-.2-1h.3l.2.8zm-.6-4q-.5 0-.5.6 0 .4.3.5.4 0 .4-.2l.2-.6q0-.5.6-.5.7.2.5 1l-.2.6q-.3.2-.6.1v-.2q.6 0 .6-.6 0-.4-.3-.6-.4-.1-.4.4l-.2.5q0 .3-.5.4-.7 0-.6-.8c0-.8.5-.8.7-.8v.3zm0-1.3.5.2.4-1.1h.3l-.4 1.2.7.3.4-1.3h.2l-.4 1.6-2.1-.7.5-1.5.2.1z"/> + <path d="m311 222-.4.4-.5.8 1.9 1.1.1-.2-.8-.5.4-.6q.2-.6-.2-.9h-.5zm.2.4h.1q.3.2.1.6l-.3.4-.6-.3.3-.5q.1-.3.4-.2"/> + <path fill-rule="evenodd" d="m313.6 222.1-.2.2-1.4-1.3-.5.5-.2-.1 1.2-1.3.2.2-.5.5zm.7-.6-1.3-1.7.2-.2 1.3 1.7zm0-2.3.3.6 1-.5.2.2-1 .6.2.6 1.2-.6.1.2-1.4.8-1-2 1.4-.7.1.2zm4 .6-.3-1.2v-.6l-.3 2h-.3l-1-1.6.2.5.2 1.3h-.2l-.5-2.1h.4l1 1.6.2-2h.4l.5 2z"/> + <path d="M319 217.6v2.2h.8q.8 0 .8-.6 0-.4-.4-.5.4-.2.3-.5 0-.5-.5-.6zm.3.3h.5q.4 0 .4.4t-.4.2h-.5zm0 .9h.5q.4 0 .5.4 0 .3-.5.4l-.5-.1zm2.1-1-.5 2.1.2.1.3-.9.7.2q.4.2.2.5v.5l.3.1v-1.1l.3-.4q.2-.7-.5-.8zm.3.4.6.2q.4-.1.3.4t-.5.2l-.6-.1z"/> + <path fill-rule="evenodd" d="m324 219-.3.6 1 .6-.1.2-1-.5-.4.6 1.1.6-.1.2-1.4-.8 1-1.8 1.5.8-.2.2z"/> + <path d="M326.6 220.7 325 222l.6.7q.7.6 1.4 0 .8-.7.2-1.4zm0 .4.3.4q.5.4-.1 1t-1 0l-.3-.4z"/> + <path fill-rule="evenodd" d="m328.2 223-.7.4.6 1-.3.2-.5-1.1-.6.3.6 1.2h-.3l-.7-1.3 2-1 .7 1.4-.3.1zm-.8 4v-.3l1.5-.2-.1-.5h.2q0 .4.5.5v.2z"/> + <path d="m328 227.6-.4.2-.2.5q0 .8.6.8.3 0 .6-.3l.4.2q.4.1.6-.6 0-.7-.6-.7-.3 0-.4.4-.1-.4-.5-.5zm0 .4q.3 0 .4.4 0 .3-.4.4-.4-.1-.3-.5 0-.4.4-.3zm1 0q.3 0 .3.4t-.3.4l-.3-.4q0-.3.3-.3z"/> + <path fill-rule="evenodd" d="M328.7 229.5c.7.2.6.7.6 1q-.2.5-.8.4-.5 0-.6-.7v-.2q0-.5-.3-.5l-.3 1.1h-.3l.4-1.4q.6.1.7.7v.3l.5.5q.3.1.5-.4-.1-.4-.4-.5zm-2.1 2.1.1-.3 1.4.7.2-.5.2.1q-.2.5.1.7v.2z"/> + </g> + <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".2" d="M319.3 202.3 283 263h72.7z"/> + <g fill="none" stroke-miterlimit="2.6"> + <path stroke="#000" stroke-width=".1" d="M321.3 255.5a6 6 0 0 0 3.2 0c1.5-.3 3-1.2 4.8-1 1.4 0 3.2 1.2 5.3 1.2 2.2 0 3-.7 4.8-1.1 1.3-.3 2-.2 3.4.2 1.6.3 2.5 1.2 5.2 1"/> + <path stroke="#fff" stroke-width=".4" d="M293.2 258.1c1.3-1 3.4-1.3 5-1 2.2.5 3.1 1 5.4 1 1.7 0 3.2-1.1 5-1.1 2.8 0 2.9.6 5.4 1a6 6 0 0 0 2.2 0l2.5-.8c.8-.4 2.8-.4 3.8-.3 1.8.2 2.6.9 3 1q1.4.4 3.2 0c1.5-.4 3-1.4 4.9-1.2 1.3.2 3 1.4 5.2 1.4s3-.8 4.8-1.2c1.4-.3 2-.2 3.4.1 1.6.4 2.5 1.5 5.2 1.2"/> + <path stroke="#fff" stroke-width=".3" d="M289.1 256a8 8 0 0 1 5-.8c2.2.4 3.1 1 5.4 1 1.7-.1 3.2-1.1 5-1.1 2.8 0 2.9.5 5.4 1h2.2l2.5-.9c.8-.3 2.8-.3 3.8-.2 1.8.2 2.6.8 3 .9q1.4.4 3.2 0c1.5-.4 3-1.2 4.9-1 1.3 0 3.1 1.2 5.2 1.2 2.2 0 3-.8 4.8-1.1 1.4-.3 2-.1 3.4.1 1.6.4 2.5 1.3 5.2 1"/> + <path stroke="#fff" stroke-width=".5" d="M285.4 262a6 6 0 0 1 5-1c2.1.5 3 1.1 5.4 1 1.7 0 3.2-1.3 4.9-1.3 2.9 0 3 .7 5.5 1.3a6 6 0 0 0 2.2 0 8 8 0 0 0 2.5-1c.8-.5 2.8-.4 3.8-.3 1.8.2 2.5 1 2.9 1q1.4.6 3.3.2c1.5-.6 3-1.6 4.8-1.4 1.3.1 3.1 1.6 5.3 1.6s3-1 4.7-1.5c1.4-.3 2-.1 3.5.2 1.6.4 2.5 1.6 5.2 1.3"/> + <path stroke="#fff" stroke-width=".3" d="M286.4 258.6c1.2-.9 3.4-1.2 5-.9 2.1.5 3 1 5.4 1q1-.1 2.2-.5"/> + <path stroke="#000" stroke-width=".2" d="M297.4 255c.3 0 1.3-.5 2.8-.5 2.9 0 1 0 3.6.5.7 0 2.5 0 3-.4m25.4 8.2q1.4-.3 2.6-.8c.7-.3 2.7-.3 3.8-.2 1.8.2 2.5.8 2.9.8a6 6 0 0 0 3.2 0c1.6-.3 3-1.2 5-1 1.2.1 3 1.3 5.2 1.3"/> + <path stroke="#fff" stroke-width=".3" d="M336.7 254.8c2.1 0 2.9-.8 4.8-1.2 1.3-.2 2 0 3.3.2 1.7.3 2.5 1.3 5.2 1"/> + <path stroke="#000" stroke-width=".1" d="M285.5 262.2a8 8 0 0 1 5-.8c2.2.4 3.1.9 5.4.9 1.7 0 3.2-1.1 5-1.1 2.8 0 2.9.6 5.4 1h2.2l2.5-.8c.8-.4 2.8-.3 3.8-.2 1.8.1 2.5.7 3 .8"/> + <path stroke="#000" stroke-width=".5" d="M290 259.6c1.3-.9 3.5-1.2 5.1-.9 2.2.4 3.1 1 5.4.9 1.7 0 3.1-1 4.8-1 3 0 3 .5 5.6 1h2.2l2.5-.9c.7-.3 2.8-.3 3.8-.2 1.8.2 2.5.8 3 .9q1.4.4 3.2 0c1.5-.4 3-1.3 4.8-1 1.5 0 3.3 1.2 5.3 1.2 2.2 0 3-.8 4.8-1.2 1.3-.2 2 0 3.4.2 1.6.3 2.5 1.3 5.2 1"/> + </g> + <g fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-width=".2"> + <path d="M291 249.5c.4 0 1.2-.6 1.5-.8l.8-1 1.5-1a11 11 0 0 0 3.5-3.1 18 18 0 0 1 5.7-5.2q1.4-.5 2.7 0l.8.7q1.5 1 3.9 1.8c1.5.4 1.9 1.4 3 2.5q1 .8 2 1.3l.4.4 2 1.4 3.2 3.1.4.7q1.1 1.2 2.6 2l2.7 1.6c-9.2.4-17.7-.2-27 0H299l-1.8.1h-8.8z"/> + <path d="m327.3 253.7-2.3-1.4q-1.5-.8-2.6-2l-.4-.7-3.2-3.1-2-1.4-.3-.4-2-1.3-1.9-2 1.3-.7q1-.5 2.2 0l.7.5q1.2 1 3.2 1.5c1.3.4 1.6 1.2 2.6 2.1q.7.7 1.6 1.1l.3.3 1.7 1.3 2.7 2.5.3.6q1 1 2.1 1.6l2.3 1.4h-6.2z"/> + <path d="m319.1 242.4.9.3c1.3.4 1.6 1.2 2.6 2.1q.7.7 1.6 1.1l.3.3 1.7 1.3 2.7 2.5.3.6q1 1 2.1 1.6l2 1.2 5-.1-2-1.3q-1-.6-1.9-1.5l-.3-.5-2.4-2.3-1.6-1.1-.2-.3-1.5-1c-1-.8-1.2-1.6-2.4-2a9 9 0 0 1-2.9-1.3l-.6-.4q-1-.5-2 0z"/> + <path d="m327.6 244.4.8.9 1.5 1 .2.3 1.6 1 2.4 2.4.3.5q.9 1 2 1.5l1.3.8h6q-.8-.7-1.7-1l-1.5-1.3-.3-.4-2-1.9-1.2-.9-.2-.2-1.2-.8c-.7-.7-1-1.3-1.9-1.6a7 7 0 0 1-2.4-1l-.4-.4q-1-.4-1.7 0z"/> + <path d="m343.3 252.5-1.3-.8-1.5-1.2-.3-.4q-.9-1-2-1.9l-1.2-.9-.2-.2-1.2-.8q-.7-.8-1.5-1.4l1-.7q.8-.2 1.5 0l.4.4q.8.6 2 1c.9.2 1 .7 1.7 1.3q.4.4 1 .6l.2.3 1 .7 1.7 1.6.2.4 1.3 1 1.5.9z"/> + </g> + <path fill="none" stroke="#00633b" stroke-width=".1" d="M303.2 239c.4 0 .2-.2.6 0m-1.5.5c.5 0 .7-.4 1 0m-1.4.3c.2 0 .3-.2 1 .2m-1.5.4h1m-1.6.4c.5-.1.7.2 1.3.1m-1.9.5h1.4m-2 .6h.7c.5 0 .4.1.8 0m-1.9.5q1 0 1.4.2m-2.3 1.1h1.4m-11 10c1.8-.4 4 0 6-.3m3.8-10.3c.5-.2.4 0 1 0h.7m-2.4 1.1h1.5m-.3.5h-1.6m1.2.6a3 3 0 0 0-1.7 0m-.8.4h2.1m-2.6.6c.7-.3 1.4 0 2.2 0m-3 .4h2.8m-.2.4-3.5.1m2.8.5-1.5.1h-.3l-1.7.1m-.2.4h2.8l.6.3m-3.9 0h1.6l2 .4m-4 0 1.6.2 2.1.1m-4.4 0c.7.3 1.5 0 2.2.2l2.1.2m-4.8.2 3.4.2 1.2.1m-5 .2c1.1.2 2.2 0 3.3.3l1.5.2m-5.2.3.3-.1h2.6l2.2.2m-5.5.5h5.2m-5.5.5 5.5.1m-5.8.4 2.4.1q.9.2 1.7.1h1.5m7.4-7.6h.2m-.4.2h.2m-.4.3h.4m-.5.2h.4m-.8.3.8.1m-1 .4 1-.1h-.1m-1.3.5h1.3m-1.6.4h1.4m-1.6.4h1.6m-2 .5 1 .2h.8m-1.8.2 1.6.2m-2 .2q.8 0 1.4.2h.6m-2.5.4q.8-.2 1.8.1h.6m-2.5.4q1-.3 2 0h.3m-2.7.5 2.6.1m-2.9.2c.7.3 1.5 0 2.2.2q.4.2.8 0m-3.5.4q.5-.2 1-.1l2.3.2m-3.6.4h3.6m-4 .4c1 .3 1.8 0 2.7.3h1.2m-4.1.3 4 .2m3.3-7.5h.3m-.5.3h.5m-.6.4h.6m-.8.5h.8m-1 .5 1-.1m-1.1.4h1m-1.2.6h1.3m-1.3.4h1.4m-1.6.6h1.5m-1.7.5.6-.1h1m-1.7.6c.6-.2 1.2.2 1.8-.2m-2 .8h2m-2 .5h2m-2.5.5 2.8-.2m-2.7.7 3.1-.1m-3.3.7c1 .1 1.3 0 2.3-.1l1.2-.2h.6m-4 .6c1.5-.2 3 .1 4.6-.3m-11.3 0h1.2m4.7.3h.4m5.4-.1c1.3-.2 2.5.2 3.8 0m-4.4-.5q1.1-.2 2.3.1l.1.2h2m-8.9-.3h-.8m-4.1-.2-1.7.1m12.1-11.8h.3m-.2.3h.3m-.2.6.4-.1m-.3.4h.6m0 .4h-.5m.3.6.5-.1m.3.4h-.8m.2.4.8-.1m.2.6h-.9m.2.6q.6 0 1-.2m0 .3-.9.2m.2.6 1.2-.2m.1.5h-.9l-.3.1m.2.8.8-.3h.6m.2.4-1.4.2m.1.6 1.6-.3m-1.5 1 1.8-.4m.4.4q-1 0-2 .3m.2.6s.1.1.2 0a4 4 0 0 1 2-.3m0 .4c-.5.4-1.3.2-2 .3h-.2m.2.5 2.3-.2m.5.5h-1.8q-.4 0-.8.3m0 .5h.4q1.2-.6 2.5-.4m.2.5h-2.1l-.8.3m.3.5 1-.3h2.4m0 .4q-.7-.2-1.3 0l-2 .3m.4.4 1.6-.4h1.3m-3 .7q1.4 0 2.6-.3h.9m0-.3c1.4.1 2.8-.1 4.1.2m-3.8.3.4-.1h3.4m-.4-2.9h.2m-.1.4q.1-.2.4 0m-.3.4h.7m-.5.6c.2-.3.6 0 .8-.2m-.6.8c.3-.3.7 0 1-.3m-1 .7c.5-.2 1 0 1.4-.3m-1.2.7c.7-.3 1.5.1 2.1-.4m-2 .7h2.6m.6 0h4.6m-5.3-.6c1.4.2 3.4 0 5.1.2m-12.6-10.6 1.1-.2m-.8.4 1.2-.1m-.7.6.8-.2h.4m-.9.4h1.5m.2.3-1.2.1m.8.5 1-.2m.5.4h-1.2m.6.5 1-.2m.6.5h-1m.5.5 1.2-.1m.4.2-1 .2m.5.5 1.3-.2m.4.5h-1l-.4.1m2.6.8-1.5.1m.5.6 1.6-.3m-.4 1.7h.8c.8-.2 1-.4 1.7-.3m.5.4-2.2.2-.4.1m.4.4c.8-.2 2-.1 2.7-.3m.8.5-2 .1-1 .1m.7.5h.3q1-.5 2.6-.4m.5.5h-1.9l-.9.2m.8.5c.8-.2 2.3-.3 1.4-.3h1.9m.2.3h-1.5c-.4.2-.3.3-1.4.3m.4.2 1.2-.1 1.5-.1m-2.4.4h2.7m-16.2-11h.7l.3-.2h.3m-1.7-.2h.8l.2-.1h.4m5.5 6q.1-.2.6-.1c-.1-.2.3 0 .4-.1h.5m0 1.5q.8 0 1.7-.3m.8.6c-.6.1-1.6 0-2.1.3m-8-8.4c-.6 0-.7.2-1.1.2m8 1.6 1-.2m-.7.5q.6 0 1-.2m-.7.5.7-.1h.4m-.7.4h1.2m.3.2-1.2.2m.4.4 1.3-.2m.5.3-1.3.1m.4.4c.3 0 1.2 0 1.3-.2m.5.5h-1.2m.4.4 1.3-.1m.4.2c-.2.2-.9.2-1.1.3m.6.4 1.2-.2m.4.4h-1q0 .2-.3.1m2.4.8-1.4.1m.5.5 1.5-.3m-.3 1.7.6-.1c.8-.1.9-.3 1.6-.3m.4.4-2 .2-.4.1m.4.3q1.3 0 2.5-.2m.7.4-1.7.1-1 .2m.6.4h.3q1-.4 2.4-.3m.5.4H332l-.9.2m.6.4 1.5-.2h1.7m.2.3h-1.4c-.2 0-.3.2-1.5.2m.4.3 1.3-.2h1.4m-2.1.4 1.7-.1h.7m-15-10.1q.3-.2.5-.1l.5-.1h.3m-1.7 0q.1-.3.6-.2l.4-.1h.4m5.2 5.5c.2-.1 0-.2.4-.1-.1-.2.3 0 .4-.1h.5m0 1.5 1.5-.4m.8.6q-1 0-1.8.2m-7.5-7.6a2 2 0 0 0-1.4.5m8.6 2.5.9-.1m-.7.3 1-.1m-.7.4.7-.1h.3m-.7.3h1.1m.2.2h-.9m.5.4.8-.2m.4.3h-1m.3.4 1-.2m.4.4h-1m.4.3 1-.1m.3.2-.9.2m.3.3 1.1-.1m.3.3h-1m1.9.7-1.2.1m.4.3 1.2-.2m-.3 1.2h.6l1.2-.2m.3.3-1.5.2h-.4m.3.3 2-.2m.6.3H336l-.9.2m.5.4.6-.2 1.6-.1m.3.3H337l-.9.3m.6.2 1.2-.2h1.3m.2.2h-1q-.3.2-1.3.2m.3.2 1-.1 1.1-.1m-1.7.4h1.4l.5-.1m-11.5-7.7.5-.2h.6m-1.4 0q.2-.2.5-.2h.6m3.8 4.2.5-.1h.7m0 1 1.1-.2m.6.4-1.5.2m-5.6-5.9q-.5 0-.8.4m7 .9 1-.1m-.7.3.9-.1m-.6.4.6-.1h.3m-.6.4 1-.2m.2.2c-.2 0-1 0-1 .2m.4.2s.7-.2.9-.1m.4.2-1 .1m.3.2 1-.1m.3.3-1 .1m.4.3 1-.1m.3.1-1 .2m.4.3 1-.1m.3.3h-1m1.8.6-1 .1m.2.3 1.3-.2m-.4 1.2.5-.1c.6 0 .7-.2 1.2-.1m.2.2-1.7.2m.2.3 1.9-.2m.5.3H342l-.8.2m.4.3.5-.1 1.5-.2m.4.3h-1.2l-1 .2m.6.3 1.2-.2h1.2m.2.2h-1l-1.2.2m.3.1 1-.1h1m-1.7.3h1.3l.5-.1m-10.6-7.1.4-.1h.6m-1.3-.1.4-.1h.4l.2-.1m3.6 3.9h.4l.3-.1h.3m0 1q.6 0 1.1-.2m.6.4-1.5.1m-5-5.4q-.6 0-.9.3"/> + <g fill="#fc0"> + <path d="m287.6 298.6.6 4.5q-1.8-.4-2.7 1.2c-.9 1.7-.1 3 1.5 3.7l2.1 1.2 4-7.8-1.6-.8-1.6 3.1-.4-4.1zm.6 5.9.9.3h.1l-1 2.2-.3-.1q-1.2-.5-.8-1.7.5-.9 1.1-.7"/> + <path fill-rule="evenodd" d="m280.7 302.7 1-1.6-2.3-1.6.8-1.2 2.3 1.6 1.4-2-2.5-1.6.9-1.3 3.8 2.7-4.8 7.2-3.9-2.6.8-1.2z"/> + <path d="m279 292.5-2 2.5-.7-.6q-2.1-1.9-4 .2c-1.3 1.5-.8 2.9.6 4.1l1.9 1.6 5.6-6.7-1.3-1.1zm-4.4 2.8q.5 0 1 .6l.3.2-1.6 1.8-.2-.2q-1.2-.7-.4-1.9.5-.5 1-.5z"/> + <path fill-rule="evenodd" d="m268.4 294.6-1.2-1.3 3.6-3.3c.8-.7 1.9-1.8.9-3-1-1-2.3 0-3 .6L265 291l-1.2-1.3 3.9-3.5c1.6-1.4 3.4-1.8 5 0s1.1 3.6-.5 5z"/> + <path d="M265.1 278.1q-.7 0-1.5.5c-.8.5-1.4 1.5-.9 2.5q-1-.3-1.9.3-2 1.5-.4 3.6l1.3 1.8 7.2-5-1.6-2.2q-.9-1.3-2.2-1.5m0 1.9q.8 0 1.3.9l.2.3-1.8 1.2-.2-.2c-.4-.6-.9-1.4 0-2zm-2.5 2.5q.5 0 .8.6l.1.2-1.7 1.2v-.2q-.9-.8.1-1.5z"/> + <path fill-rule="evenodd" d="m264.6 275.3-7.7 4.2-.8-1.6 6.3-3.4-1.1-2.2 1.2-.7zm-11.4-3.5 8-3.5.6 1.6-8 3.5zm-1-9.5a3 3 0 0 0-.3 2.2c.6 1.5 2.3 2 3.7 1.5s2.5-1.8 2-3.4a3 3 0 0 0-1.5-1.6l1.9-.6q.9.7 1.1 1.8a4.5 4.5 0 0 1-2.9 5.6c-2.4.7-5-.3-5.8-2.8a5 5 0 0 1-.2-2.1z"/> + <path d="m256.4 250.6-8.2 5 .2 1.3 9.4 2-.3-1.9-2-.4-.5-3.1 1.7-1zm-2.7 3.6.4 2.1-3.3-.4zm-2-19.9c-2.2 0-4 1.6-4.2 4l-.2 2.6 8.7.7.2-2.5a4.3 4.3 0 0 0-4-4.8zm-.3 2h.6q2.6 0 2.4 3v.2l-5.2-.4v-.3q.2-2.4 2.2-2.5"/> + <path fill-rule="evenodd" d="m250.2 229.5 1.9.4.6-2.8 1.4.3-.6 2.8 2.3.5.6-2.9 1.5.3-1 4.6-8.5-1.8 1-4.6 1.4.3zm3.3-11.4 1.8.6 1-2.6 1.4.6-1 2.6 2.2.8 1-2.7 1.4.5-1.7 4.4-8.1-3.1 1.7-4.4 1.4.5zm8.9-2.3-7.8-4 .8-1.5 6.4 3.3 1.2-2.2 1.3.6zm1.9-15.9q-.9 0-1.4.7a1 1 0 0 0 0 1.5c1.3.8 3-2.4 5.3-.7 1.4 1 1.7 2.7.6 4.2q-1.3 1.4-3 1.2l-.2-1.6q1.1.4 2-.5.5-1-.4-1.7c-.7-.5-1.4 0-2 .4q-1.5 1.2-3.1.2a2.6 2.6 0 0 1-.6-3.6 4 4 0 0 1 2.3-1.5z"/> + <path d="m268.1 192.3-1 1 4 8.7 1.3-1.4-.7-1.7 2.1-2.3 1.8.8 1.3-1.4-8.7-3.8zm1.4 2.4 2.8 1.3-1.4 1.4z"/> + <path fill-rule="evenodd" d="m278.3 195-5.5-6.8 1.4-1.1 4.5 5.6 2-1.6 1 1.2zm4.5-14 1.6-1 1.8 9.5-.8.5-7.8-5.7 1.6-1 5 3.8z"/> + <path d="m290.6 176.8-1.3.6.5 9.6 1.7-.7v-2l2.8-1.4 1.4 1.4 1.7-.7zm.3 2.9 2.2 2.2-1.8.8-.3-3zm9.4-6-1.4.3-2.4.7 2.5 8.3 2.4-.6a4.3 4.3 0 0 0 3-5.5q-1-3-4-3.1zm0 1.9q1.6 0 2.2 2c.4 1.4 0 2.7-2 3.2l-.2.1-1.5-5 .3-.1zm10.5-4.3h-.5a4.4 4.4 0 0 0-3.8 5.1 4.4 4.4 0 0 0 5 4 4.5 4.5 0 0 0 3.9-5.1 4.5 4.5 0 0 0-4.6-4m-.2 1.9c1.4-.2 2.5 1 2.7 2.3.2 1.1-.7 2.8-2 3-1.4.1-2.6-1.2-2.8-2.4-.1-1.3.7-2.7 2.1-2.9m7.4-2.4v8.8h1.7V176l2.2 3.5h2.1l-2.5-3.7c1.2-.1 1.9-1.2 1.9-2.4q-.1-2.7-3-2.6zm1.8 1.6h.3q1.4-.2 1.4 1.2t-1.5 1.2h-.2z"/> + <path fill-rule="evenodd" d="m336.6 174.3-.5 2 2.7.6-.3 1.4-2.8-.7-.5 2.3 2.8.8-.4 1.4-4.5-1.2 2.1-8.4 4.5 1.1-.3 1.5zm6.6 0 1.2.5 2.1 7.5 2.2-5.5 1.7.7-3.3 8.3-1.2-.5-2.2-7.5-2.2 5.5-1.6-.6zm9.3 14.3 4.7-7.4 1.5 1-3.9 6 2.1 1.4-.8 1.2z"/> + <path d="m365.4 186.6-8.4 4.7 1.4 1.2 1.8-1 2.4 2-.6 2 1.5 1.1 3-9.1zm-1.3 2.5-1 3-1.6-1.3zm14.3 11.2-9.2 2.3 1 1.5 2-.4 1.8 2.5-1 1.7 1 1.5 5.3-8-.9-1.2zm-1.8 2-1.8 2.6-1.1-1.6z"/> + <path fill-rule="evenodd" d="m375.4 211.9-.8-1.6 8.7-2.7.6 1.1-4.1 4.6 6-.6.6 1.1-7.3 5.3-.9-1.6 4.6-3.1-6 .6-.2-.5 4-4.3zm11.6 8.3-1.8.6 1 2.7-1.5.5-.9-2.7-2.2.7 1 2.8-1.5.5-1.5-4.5 8.3-2.7 1.5 4.4-1.4.5z"/> + <path d="m390.3 225.7-8.6 1.8.4 1.8 3.4-.8-3 3 .6 2 3-3.2a2 2 0 0 0 2.7 1.2q2.7-.7 2-3.4zm-1.1 2.1v.2q.4 1.5-.8 1.7-1.4.3-1.5-1.2v-.2z"/> + <path fill-rule="evenodd" d="m392 236-8.6 1-.2-1.7 8.7-1zm-1.8 9.5a3 3 0 0 0 .8-2c0-1.7-1.5-2.7-3-2.6-1.5 0-3 1-2.9 2.6q0 1.2 1 2h-2a5 5 0 0 1-.6-2 4.5 4.5 0 0 1 4.4-4.5c2.5 0 4.7 1.7 4.8 4.4a4 4 0 0 1-.5 2z"/> + <path d="m383.7 247.1-.2 1.9 1.8.9-.4 3.1-2 .5-.2 1.8 9.3-2.2.2-1.4zm3 3.6 2.7 1.2-3 .7.3-2z"/> + <path fill-rule="evenodd" d="M384 272.1a3 3 0 0 0 1.6-1.5c.7-1.6-.4-3-1.8-3.6-1.3-.5-3-.1-3.7 1.4a3 3 0 0 0 .2 2.2l-2-.7a5 5 0 0 1 .3-2.1 4.5 4.5 0 0 1 5.8-2.5c2.4.9 3.7 3.4 2.8 5.9a5 5 0 0 1-1.3 1.7zm-1.4 4.7-1.7-.9-1.3 2.5-1.3-.7 1.3-2.5-2-1.1-1.5 2.6-1.3-.7 2.3-4.2 7.6 4.2-2.2 4.1-1.3-.7zm-1.7 6.4-.7 1-7.7.3 4.7 3.5-1 1.4-7.3-5.2.8-1 7.7-.3-4.8-3.5 1.1-1.4zm-9 8.7 1.2-1.3 1 1-3.7 4-1-1 1.2-1.4-5.2-5 1.2-1.3z"/> + <path d="m362.8 290.7-1.4 1.1 2.3 2.8-4-1.3-1.6 1.4 4.3 1.1q-1.1 1.7.2 3c1.1 1.5 2.6 1.3 4 .2l1.8-1.6zm1.7 5 1.5 1.8-.2.1c-.6.5-1.2.8-1.8 0q-.9-1 .4-1.8zm-7.1-.4-1.6 1 .3 1.9-2.7 1.6-1.5-1.1-1.6 1 7.7 5.7 1.1-.7-1.7-9.5zm-1 4.5.8 3h-.1l-2.4-2z"/> + <path fill-rule="evenodd" d="m348.7 300.3 3.8 8-1.6.7-3-6.5-2.4 1-.6-1.3z"/> + </g> +</svg> diff --git a/apps/web/public/flags/sx.svg b/apps/web/public/flags/sx.svg new file mode 100644 index 00000000..ac785617 --- /dev/null +++ b/apps/web/public/flags/sx.svg @@ -0,0 +1,56 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sx" viewBox="0 0 640 480"> + <defs> + <clipPath id="sx-a"> + <path fill-opacity=".7" d="M0 0h682.7v512H0z"/> + </clipPath> + </defs> + <g clip-path="url(#sx-a)" transform="scale(.9375)"> + <path fill="#ed2939" fill-rule="evenodd" d="M0 0h768v256H341.3z"/> + <path fill="#002395" fill-rule="evenodd" d="M0 512h768V256H341.3z"/> + <path fill="#fff" fill-rule="evenodd" d="m0 0 341.3 256L0 512z"/> + <path fill="#ff0" d="m172.3 193.2.1-4s-2.1-3.4.4-7c0 0-5.3-2.8-4-7.2 0 0-4.8-1.2-4.5-6.4 0 0-5-.3-5.6-4.7 0 0-5.1.8-7.4-3.4 0 0-5 1-6.4-2.5 0 0-4.9 1.6-7.7-2.5 0 0-5.2 2.1-7.3-1.8-2.1 3.9-7.3 1.8-7.3 1.8-2.8 4.1-7.7 2.4-7.7 2.4-1.4 3.5-6.3 2.5-6.3 2.5-2.3 4.3-7.4 3.4-7.4 3.4-.5 4.4-5.6 4.8-5.6 4.8a6 6 0 0 1-4.4 6.4c1.3 4.3-4 7.1-4 7.1 2.6 3.7.5 7 .5 7l-.1 3.7z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M377.2 843.1v-3.5s-1.8-3 .4-6c0 0-4.6-2.5-3.5-6.3 0 0-4.2-1-3.9-5.6 0 0-4.5-.3-5-4.1 0 0-4.4.7-6.3-3 0 0-4.4.8-5.6-2.2 0 0-4.3 1.5-6.8-2.1 0 0-4.5 1.8-6.3-1.6-1.9 3.4-6.4 1.6-6.4 1.6-2.4 3.5-6.7 2-6.7 2-1.2 3.1-5.5 2.3-5.5 2.3-2 3.7-6.5 3-6.5 3-.4 3.7-4.9 4-4.9 4a5 5 0 0 1-3.7 5.6c1 3.8-3.5 6.2-3.5 6.2 2.2 3.2.3 6.2.3 6.2v3.2z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="red" d="M170.3 188.2c-13.3-1.3-28.6-4.5-40.4 2.2-8-4.7-19-4.4-28.4-3.5-5.1 1-11.1 1-16.5 1.8l-.8.1c-9.7.7-18.5-2.2-27-6 2.8 15.2 5.7 30.7 7.2 46.6C67.6 253 53.3 272.7 59 296c3.5 11.2 15.8 17.7 27 19a215 215 0 0 1 32.2 4.5 32 32 0 0 1 5.5 1.9 20 20 0 0 1 6.6 4.7c6-6.3 15-8.1 23.7-9 15.8-1.9 35.3-.9 45-15.2v-.8c5.3-8 4.6-20 2.3-29-.2-3.1-1-5.9-1.5-8.9-9.6-25.5-1.3-54.2 2.8-80a61 61 0 0 1-16.4 5.5c-4.5.6-9.5.4-14 .1z"/> + <path fill="#80cfe1" d="M190.2 261.5c0 1.6.9 3 1.2 4.5 1.9 11.2 3.6 26-7.8 32.9-12.8 8-29.4 4.6-44.1 8.9-3 .8-7 3.5-9 5.4-1.4-.9-2.7-2.2-4.4-3-12.1-6.4-27.9-4.3-41.5-7.8-6.9-2.1-14-7.5-15.8-14.5-4.4-18.4 6.2-34.1 5-52.4-.8-14-3.2-27.3-6.4-40.4 10.7 5 23 5.8 35 3.4A52 52 0 0 1 130 201c4.6-2 10-2.9 15-3.4 9.3 1 19.4 2.6 29.1 2.6q9.7-.8 18-4.7c-3.3 21.6-9.8 44.2-1.9 66"/> + <path fill="#fff" d="M171 265.8v-20.4h2.4l-31-20-.1-10.5h3l-15.6-11-15.4 11h3v10.5l-30.9 20h2.5v20.3H171"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M376 906.5v-17.8h2.1l-27-17.5-.1-9h2.6l-13.6-9.8-13.5 9.7h2.6l.1 9.1-27 17.5h2.2v17.7z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="#fff" d="M180.6 292.5v6.3H80.5v-6.4z"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M384.4 929.8v5.5H297v-5.6h87.4z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="#fff" d="M87.1 292.1v-21.5h4l-.2 21.7.2-21.6-5.8-.1v-4.7l89.4.2v4.5h-5.4v21.8l-.1-21.8h4l.2 21.6"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M302.8 929.4v-18.8h3.5l-.2 19 .2-18.8-5-.2v-4l78 .1v4h-4.8l.1 19-.2-19h3.6l.1 18.8" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M319.6 924.8v-13.1H309v13l10.5.1" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M312 914.4v7.6h4.8v-7.6h-4.9m59 10.4-.1-13h-10.4v13h10.5" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M363.2 914.5v7.6h4.8v-7.6h-4.8m7.6-11v-13h-10.5v13z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M363.1 893.2v7.6h4.8v-7.6h-4.8m-43.6 10.3v-13.1H309v13h10.5z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M311.9 893.1v7.6h4.8v-7.6h-4.8m26.6 10.4v-13.1H328v13h10.5" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M330.8 893.1v7.6h4.8v-7.6h-4.8m22.3 10.4v-13l-10.5-.1v13l10.5.1" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M345.4 893.1v7.6h4.9v-7.6h-4.9" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="#fff" d="m147.7 257.8.2 34.6H113l-.1-34.6z"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="m355.7 899.5.1 30.2h-30.3l-.1-30.2zm-30.5 8.6h30.6M329 929.7v-21.4m23.1 21.4v-21.3m14.7-21.8-17-12.4h-19.3l-17 12.4h53.3M332 863.8v7.6h16.2v-7.6H332" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M336.4 865.7v3.8h7.4v-3.8h-7.4M340 855l9 6.4h-17.9l9-6.4" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="#fff" d="M171.4 202c2.9 0 3.6 12 3.6 18 2.6.8 8.1 4.3 10.6 7.4h-28.2c2.4-3.1 7.9-6.6 10.4-7.3 0-6 .6-18.2 3.6-18"/> + <path fill="none" stroke="#000" stroke-width="1.2" d="M376.3 850.8c2.6 0 3.2 10.5 3.2 15.8 2.2.6 7.1 3.7 9.2 6.4h-24.6c2.1-2.7 7-5.8 9.1-6.4 0-5.3.6-15.8 3.1-15.8m-49.5 49.5h2.2l-.6 1.2s1 1.4 0 3l.6 1h-2.2l.6-1s-1-1.8 0-3l-.6-1.2m4.5 0h2.2l-.6 1.2s1 1.4 0 3l.6 1h-2.2l.6-1s-1-1.8 0-3l-.6-1.2m5 0h2.1l-.6 1.2s1 1.4 0 3l.6 1h-2.1l.5-1s-1-1.8 0-3l-.6-1.2zm5.5 0h2.2l-.7 1.3s1.1 1.3 0 2.9l.6 1h-2.1l.6-1s-1-1.8 0-3zm4.9 0h2.2l-.7 1.3s1.1 1.3 0 2.9l.6 1h-2l.5-1s-1-1.8 0-3l-.6-1.1m4.9 0h2.2l-.7 1.2s1.1 1.3 0 2.9l.6 1h-2l.5-1s-1-1.8 0-3l-.6-1.1" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="#ff0" d="M130.5 336.8c13 0 29-2.7 36.5-6.5l16.5-1.5.4 20.1c-14 7.7-46.2 9.4-53.3 9.3s-39.7-1.6-53.8-9.3l.2-20.2 16.5 1.5a98 98 0 0 0 37 6.6"/> + <path fill="none" stroke="#000" stroke-width=".3" d="M340.7 968.4c11.4 0 25.3-2.3 31.9-5.7l14.3-1.2.3 17.5c-12.1 6.7-40.3 8.2-46.4 8.1s-34.7-1.4-47-8.2l.2-17.5 14.4 1.3c6.6 3.4 21 5.7 32.3 5.7" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="#ff0" d="m34.4 251 14.5 4.6-4.4 23.5-13.7 2.2s-2.3-12.4 3.6-30.3"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m256.9 893.6 12.6 4-3.8 20.5-12 1.9s-2-10.8 3.2-26.4z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="#7e7e7e" d="m44.5 278.9-13.7 2.4 8.7-12.4z"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m265.7 917.9-12 2 7.6-10.7 4.4 8.7" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="#ff0" d="m25.7 268 14 1c.3 11.8 1.8 57 55.8 59.5L93.8 345c-65.7.6-70.7-55.5-68-77"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m249.3 908.4 12.2.8c.3 10.4 1.5 49.8 48.7 52l-1.5 14.4c-57.4.6-61.7-48.4-59.4-67.2zm44.8 70.1 14.4-3.1" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="#ff0" d="m225.4 251.2-14.4 4.6 4.6 23.4 13.8 2.2s2.2-12.3-4-30.2"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m423.5 893.7-12.6 4 4 20.5 12 2s2-10.8-3.4-26.5z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="#7e7e7e" d="m215.6 279 13.7 2.5-8.8-12.4-5 9.9"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m414.9 918 12 2.1-7.7-10.7-4.3 8.6" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="#ff0" d="m234.3 268.1-14 1c-.2 11.8-1.3 57-55.3 59.5l2 16.4c65.7.8 70.2-55.4 67.4-76.9"/> + <path fill="none" stroke="#000" stroke-width=".3" d="m431.2 908.5-12.2.8c-.2 10.4-1 49.9-48.2 52l1.6 14.3c57.4.7 61.3-48.3 58.8-67zm-44.2 70-14.4-3" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/> + <path fill="#009fc5" d="M121.8 346.7q-.7.3-1.5.2l-2.6-.1.2-3.3 2.6.2q.8 0 1.2.3.7.3.7 1.4 0 .9-.7 1.3m-4.3 5 .2-3.9 3 .2q1.5.1 2.3-.7.8-.6.8-1.8a3 3 0 0 0-.6-2 3 3 0 0 0-2-.9l-4.4-.3-.6 9.4zm9.4-7.7h3.2l1.1.2q.7.4.7 1.4t-.5 1.3l-1.4.3h-3.1zm0 8.2v-4l3 .1q.8 0 1.2.2.7.3.7 1.2v2.3l.2.3h1.6v-.2l-.4-.5-.1-.8v-1.3q0-.9-.4-1.2l-.8-.6q.7-.3 1-.8t.4-1.4q0-1.6-1.4-2.2l-1.8-.4h-4.5v9.4zm10-2a5 5 0 0 1-1-2.6q0-2 .8-3a3 3 0 0 1 2.4-1 3 3 0 0 1 2.4.8q1 1 1.1 2.6a5 5 0 0 1-.6 2.8q-.7 1.3-2.5 1.3c-1.8 0-2-.2-2.7-.9m-1.5-5.9a6 6 0 0 0-.8 3.3q.1 2.1 1.4 3.4a5 5 0 0 0 3.6 1.3 4 4 0 0 0 3.5-1.8 6 6 0 0 0 1-3.6 5 5 0 0 0-1.2-3.1q-1.3-1.5-3.9-1.4-2.4 0-3.6 1.9m44-13.5q1.5-.2 2.5.1 1.5.5 2.2 2.3l-1.3.2a2 2 0 0 0-1.2-1.3 4 4 0 0 0-2-.2 3 3 0 0 0-2 1.3q-.8 1-.5 3a5 5 0 0 0 1.2 2.6q1 .9 2.6.7a3 3 0 0 0 2-1.1q.8-.9.5-2.5l-3 .5-.1-1 4.2-.7.8 5h-.9l-.5-1-1 1q-.8.7-2 .9a4 4 0 0 1-3.2-.7 5 5 0 0 1-1.9-3.4 5 5 0 0 1 .7-4 4 4 0 0 1 3-1.7m9.4-.7 3-1.1 1.1-.2q.9 0 1.2 1t0 1.5q-.4.5-1.3.8l-2.8 1zm3 7.7-1.4-3.7 2.8-1 1.1-.3q.8.1 1.2 1l.6 1.4.3.7.2.3 1.5-.6v-.2q-.5 0-.6-.4-.3-.2-.4-.7l-.5-1.2q-.3-.7-.7-1l-1-.2.6-1.2-.2-1.4q-.6-1.6-2-1.6l-1.9.3-4.2 1.5 3.4 8.8 1.2-.4m11-4.7-5.3-7.8 5.8-3.8.7 1-4.8 3 1.6 2.4 4.5-2.8.6.9-4.5 2.8 1.8 2.7 5-3.2.6 1zm4.7-13.8 1.5-1.7q1.2-1.2 2.3-1 1.3 0 2.6 1.3a5 5 0 0 1 1.4 2q.2.9 0 1.6l-.7 1-1.5 1.6zm8.1 3.6q1.6-1.7.7-4a7 7 0 0 0-1.7-2.1 5 5 0 0 0-3.1-1.4q-1.8-.2-3.1 1.3l-2.6 2.8 7.2 6.3 2.6-2.8m5.6-7.3-8.3-5 .7-1 8.3 4.9zm3.3-5.6-9-3.6 2.6-6.3 1.1.4-2.1 5.2 2.7 1 2-4.7 1 .4-2 4.8 3 1.2 2.3-5.2 1 .4zm4-11-9.4-2 .4-1.5 8.7-3-7.7-1.7.3-1.1 9.4 2-.3 1.4-8.7 3 7.7 1.7zm-.8-12 .1-1.2q.8 0 1.4-.2 1-.6 1.2-2.1l-.1-1.4q-.3-1.1-1.3-1.2t-1.2.3q-.4.4-.7 1.5l-.5 1.2q-.3 1.2-.8 1.7-.6.9-1.8.7a3 3 0 0 1-2-1q-.9-1-.7-2.6.1-1.5 1-2.4.8-1 2.4-.8l-.1 1.2q-.8 0-1.2.3-.9.5-1 1.9-.1 1 .4 1.6t1 .6q.8.1 1.1-.4l.7-1.7.4-1.3q.3-.9.8-1.4.8-.7 2-.7 1.7.2 2.2 1.4t.5 2.7a4 4 0 0 1-1.2 2.6q-1 .9-2.6.7M32 286.7l.3 1.2q-.9.1-1.3.6-.8.8-.5 2.4l.4 1.2q.6 1 1.7.9.7-.1 1-.7l.3-1.6v-1.3q0-1.3.3-1.8.5-.9 1.7-1.2 1.3-.2 2.2.6 1 .6 1.3 2.2a4 4 0 0 1-.3 2.6q-.5 1.1-2.1 1.4l-.2-1.1 1-.6q.7-.7.5-2.1-.2-1.2-.8-1.5l-1.2-.3a1 1 0 0 0-1 .7l-.1 1.8-.1 1.3-.4 1.6a2 2 0 0 1-1.7 1.2q-1.6.3-2.5-.8a5 5 0 0 1-1.2-2.4 4 4 0 0 1 .5-2.9 3 3 0 0 1 2.2-1.3m-.6 12.3 9.3-2.8 2.1 6.5-1.1.4-1.8-5.3-2.8.8 1.7 5-1.1.3-1.6-5-3.2 1 1.8 5.4-1 .3zm4.1 11.3 8.5-4.5 1 1.6-5.9 6.1 8.5-1.4.9 1.5-8.5 4.5-.6-1 5-2.7.9-.4 1.3-.7-8.5 1.5-.6-1.1 5.8-6.2-.3.2-1 .5-.9.5-5 2.6zm15.8 12.5q-.6-.2-1.2-.8l-1.8-1.8 2.4-2.2 1.8 1.8.7 1q.3.8-.5 1.5t-1.4.5m-6.8.8 3-2.7 2 2.1q1.2 1 2.2 1a3 3 0 0 0 2-.8 3 3 0 0 0 .8-2q0-1-.9-1.9l-3-3-7 6.4zm8.4 7.5 5.1-8 6 3.6-.6 1-5-3-1.5 2.5 4.5 2.7-.5 1-4.6-2.8-1.7 2.7 5 3-.6 1zm15-1.6 3.1 1 1 .5q.6.6.2 1.5-.2 1-.9 1.1l-1.5-.1-2.9-1zm-2.6 7.9 1.3-3.8 2.8.9q.8.2 1.1.5.5.5.3 1.4l-.5 1.5-.1.7v.3l1.5.5v-.2l-.2-.7.2-.7.4-1.2q.2-.9 0-1.2 0-.5-.6-.9.8 0 1.3-.5t.7-1.2q.6-1.5-.6-2.5l-1.6-.9-4.3-1.3-3 8.9z"/> + <path fill="#bc715f" d="M78.5 175.6c1-2.7 11.3-10 44.8-6.8 0 0 5.7 3.5 9 3 2-.2-1 .2-3.6-1.9-2.5-2-3-6.3 2.7-6.1 5.8.1 27.3 1.3 27.7 3.3s-11.4 2.7-15.7 2.6c-4.4-.1-4 2.1.4 2 13.7-.6 28.6-5.4 44.3 5.8 1.9 1.3-4.7 1.5-9.8-.6 0 0-14 .7-20-.3 0 0-4.5 3.8-10.6 3.4.8 2-2.2 9.2-21 3.7-3.2 1-14.5 2.9-13.3-.5-3 0-8.2 1-9-.7s9.2-4.2 11-6c0 0-21.2.2-25.2-1.3 0 0-12.5 2.8-11.7.4"/> + <path fill="#008737" d="M85.3 205.2c.4-.6.6-1.8 1.6-1.7 2 .5 3.5 4.4 6 1.9 1-.2 1.3 1 2 1.2.5 2.1 2.3-.5 3.5-.3q4.3-1.8 9.4-1c0 2.2-1.6 4.5-3.6 5.7 0 2 2 3.4 1.9 5.5-.3.8 0 2-1.2 2.3-1.6-.3-3-.4-4.3-1.3q-.2-.3-.6-.3c-.2.7 1 1.4 1.4 2.1-.8 1.3-2 .1-3.1.1-.3.8 0 1.7-.8 2.2-1.3 0-1.6-1.5-2.4-2.2-.9.9.6 1.4.8 2.1-.6 2.8-.5 5.5-3.2 7.3l-1.9.9c-.5-1.4-.2-3.5-.5-5q-1.4 2.7-3.5 4.9c-2-.6-3-2.8-3.4-4.7a6 6 0 0 1 1.3-6.2c-.5-1-2.5-.8-2.8-2.4-3-2-4.5 3.3-6.4.6a9 9 0 0 1 2-7.6c-.5-1-1.9-.8-2.7-1.4-1.8-1.6-4.5-3.2-4.3-6a14 14 0 0 1 14.7 3.3"/> + <path fill="#ff0" d="M87.9 204.9c-.1 2.3 1.5.6 2.8 2-1-.4-1.7 1.7-2.7.5l-.6.6c.4.8 1 .9.4 1.8-1 .4-1.3-1-1.8-1.5q.2-.4-.2-.8-.8.7-2 .6c-.2-.4-.7-1-.2-1.4.8-1 2 .4 2.6-.3.1-.7-.5-1.5.3-2 .5.1 1.2-.2 1.4.5m6.2 1.9c.1.4-.2 1 .4 1.4q1.3-.5 2 .6.2.8-.4 1.2l-1.2-.3q0-.2-.4-.6-.8 0-1.2.6c.3.4 1 .7.8 1.2-.7.7-1-.6-1.8-.2-.6-.2.1-1.3-.7-1.7-1 0-.3 1.6-1.6 1q-.8-.8-.4-1.7a2 2 0 0 1 1.9.2c.8-.9.8-4.1 2.7-1.7m-7.8 3.3c.5.8-.2 1.8.5 2.6 1-2 2 .4 3.2.2.4.5.1 1.1.2 1.6-1.5.4-3.3.9-4.6-.3l-.4.4c.8.7 1.5 1.6.9 2.8-1.1.2-2.9.3-3.4-.9-.3-1 .7-1.6-.4-2.4-.7 1-.7 2.2-2.2 1.3a2 2 0 0 1-.8-2.5c1-1.6 2.8 0 3.8-.7.2-1.4-.3-2.6 1-3.3 1-.2 1.5.6 2.2 1.2"/> + <path fill="#fff" d="M90.6 211c-.5 2.3-2.2-.1-3-.2 1-2 1.7.6 3 .2m5.4 2.5c-1.2.3-1-1.2-1.6-1.8l.5-.4z"/> + <path fill="#ff0" d="M94.4 213c.3.8-.8 1.5.2 2l.8-.7q1.4.1 2.4 1.2c.6 1.7-1.1 1.7-2 2.2h-1c.2-.6-.5-.8-.6-1a1 1 0 0 0-1.1.3c.2 1 1.5 2 .2 2.9-1.2 0-3 .4-2.9-1.2-.4-1 1.2-2.3-.5-2.4-.6 1.3-1.2 2.4-2.7 1.3l.2-1.8c1.4 0 3.1.3 3.7-1.3.4-1.1-.7-2.2.3-3 1.5-.4 2.3.6 3 1.5"/> + <path d="M93.4 215.6c.3.9-.6 1-1.1 1.4q-.8 0-1.4-.6c-.3-1 .5-1.2 1-1.6.7-.3 1 .5 1.5.8"/> + <path fill="#fff" d="M92.5 216.2q-.2.2-.6.2l-.2-1q1-.1.8.8"/> + </g> +</svg> diff --git a/apps/web/public/flags/sy.svg b/apps/web/public/flags/sy.svg new file mode 100644 index 00000000..97c05cfc --- /dev/null +++ b/apps/web/public/flags/sy.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" id="flag-icons-sy" viewBox="0 0 640 480"> + <path d="M0 0h640v480H0Z"/> + <path fill="#fff" d="M0 0h640v320H0Z"/> + <path fill="#007a3d" d="M0 0h640v160H0Z"/> + <path fill="#ce1126" d="m101 300 39-120 39 120-102-74.2h126M461 300l39-120 39 120-102-74.2h126M281 300l39-120 39 120-102.1-74.2h126.2"/> +</svg> diff --git a/apps/web/public/flags/sz.svg b/apps/web/public/flags/sz.svg new file mode 100644 index 00000000..eb538e44 --- /dev/null +++ b/apps/web/public/flags/sz.svg @@ -0,0 +1,34 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-sz" viewBox="0 0 640 480"> + <path fill="#3e5eb9" d="M0 0h640v480H0Z"/> + <path fill="#ffd900" d="M0 90h640v300H0Z"/> + <path fill="#b10c0c" d="M0 120h640v240H0Z"/> + <g fill="#ffd900" stroke="#000" transform="translate(-43.2)scale(1.2)"> + <g id="sz-a"> + <path fill="#fff" d="m492.9 154.3-24.3 8.6 24.2 8.5 24.3-8.5z"/> + <rect width="357.1" height="5.7" x="122.8" y="160" rx="3.1" ry="2.9"/> + <path d="M471.4 165.7a3 3 0 0 0 2.9-2.8 3 3 0 0 0-2.9-2.9m-2.8 5.7a3 3 0 0 0 2.8-2.8 3 3 0 0 0-2.8-2.9m-2.9 5.7a3 3 0 0 0 2.9-2.8 3 3 0 0 0-2.9-2.9"/> + </g> + <use xlink:href="#sz-a" width="100%" height="100%" x="-23.3" y="17.1"/> + <rect width="485.7" height="8.6" x="59.8" y="195.7" stroke-width="1.1" rx="4.2" ry="4.3"/> + </g> + <path fill="#fff" stroke="#000" stroke-width="1.2" d="M488.2 240c-34.3 34.3-80 102.9-171.4 102.9-80 0-137.1-68.6-171.4-102.9 34.2-34.3 91.4-102.9 171.4-102.9 91.4 0 137.1 68.6 171.4 102.9z"/> + <path d="M304.8 173c9.2 10.2 1.5 14.3 11.2 15 10.2.7 4.4 10.8 13 11.2 6 .2-.6 24.2 5.1 32 5.9 8.3 10.8 2.5 11 8.4 0 6.2-16 5.5-16.3 24.5-.5 10.9-13.6 11.6-14.2 18.6-.8 6.6 25.8 10.3 25.4 16.2-.3 6-28.7 5-30 11.7-.6 6 39 11 42.2 28.5-6 2-22.7 3.7-35.4 3.8-80 0-137.1-68.6-171.4-103 34.3-34.2 91.4-102.8 171.4-102.8 0 0-23.7 21.7-12 35.8z"/> + <g stroke="#fff" transform="translate(-43.2)scale(1.2)"> + <g id="sz-d" stroke-width="6.9"> + <g id="sz-c"> + <path id="sz-b" d="M214 192.4v-22.9m13.8 0v22.9m13.8-22.9v22.9"/> + <use xlink:href="#sz-b" width="100%" height="100%" y="38.1"/> + </g> + <use xlink:href="#sz-c" width="100%" height="100%" x="41.6"/> + </g> + </g> + <use xlink:href="#sz-d" width="100%" height="100%" x="104.8" stroke="#000" transform="translate(-43.2)scale(1.2)"/> + <g fill="#a70000"> + <path fill="#333" stroke="#000" d="M570.4 236c-5.2 8.9 4-3 26.4 12a22 22 0 0 1 7.8 15.3c-1-.7-1.9-2.3-3-3.2-1.6 1.6 1.6 9 2 12.5-3.5-2-3.2-2.8-4.3-5.2.2 2.8-.7 10.8.8 14-2.8-.8-2.6-3-4-3.5 1 3.5-.9 7.2-.4 11.2-1.6-1.6-3.4-2.9-4.1-3.5-.2 2-3.1 6.8-3.2 8.6a5 5 0 0 1-2-3 59 59 0 0 0-8 12.4c-4.7-4-16.6-14-18.2-19.4-1.4 3-3.4 4-7.2 6.2-1.6-8.4-7.5-17.8-4.4-25.1l-6.1 4.2a50 50 0 0 1 28-33.6z"/> + <path fill="#b3b3b3" d="M551 280.5c2.2-4.3 4.2-5.7 5.6-8.5 2.4-4.8 2.8-8.8 5-8.2 2 .6 2 2.6-.7 7.4s-4 5.8-9.9 9.3m14.6 10.2c-.2-3.2.7-4.6.6-6.7-.4-3.8-1.9-6.3.1-6.5 2-.1 2.9 1.1 2.9 4.8 0 3.8-.6 4.8-3.6 8.4m11.1 6.4c-.9-4.5-.2-6.5-.8-9.5-1-5.2-2.9-8.6-1-9.1s3 1.2 3.7 6.5c.6 5.2.3 6.7-1.9 12.2zm11.5-32c-2.7-2-4.3-2.2-6-3.5-3-2.4-4.6-4.8-5.6-3.6s-.3 2.6 3 4.7 4.2 2.3 8.6 2.4m-1.9 15.2c-1.4-3-3-3.7-3.8-5.6-1.6-3.4-1.6-6.3-3.5-5.6-1.7.8-1.9 2.3 0 5.6 2 3.2 3 3.8 7.2 5.6z"/> + <path fill="#333" stroke="#000" stroke-width="1.3" d="M53.8 244.6c-.4-2.6.2-3-1.4-5 2.4 1 2.4 3.7 5.3 1.8 1-.5 1.5-.5.2-3.5 3 .2 12.7 3.5 14.3 3.6 4.1.2 11.6-4.3 16.8 1.2 5 5 3.2 10.3 3.2 17.2-2-1-1-1.3-3.2-3.9 1.6 6.2 0 17.1 0 23.6-.8-1.6-.7-.9-1.5-2.5-2 5.9-4.6 7-4.6 14.1-.8-2.8 0-2.2-.9-3.6-2 4.5-16 8.3-10.6 12.8-4.8-2.8-7-2.6-9-5q-1.5.9-2.6 3.2c-8.5-3.8-5.5-12.2-12.1-17.9-1.2 2.4-.7 2.1-2 5.9-1.2-5.3-1.6-8.7-3.1-12.6-1.3 2.2-1.2 1.3-3.6 4.6-1-6.4-2.5-8-2-12.3-2.4 1.8-.8 1-3.3 3.2 2.4-16.5 12.6-28.8 20-25z"/> + <path fill="#b3b3b3" d="M43.4 271.7c2.1-5.4 4-7 5.5-10.4 2.5-6.1 2.9-11 5-10.3 2 .8 2 3.2-.8 9.2s-4 7.2-9.7 11.5m8.2 13.3c.8-4.8 2.2-6.4 2.8-9.6 1-5.4.5-9.4 2.4-9.2 2 .2 2.4 2.3 1.1 7.6-1.3 5.5-2.2 6.8-6.4 11.2zm9.8 9.4c.3-4.6 1.4-6.5 1.6-9.5.3-5.2-.8-9 1-9 2 0 2.6 1.9 2 7.1s-1.2 6.6-4.6 11.4M82.6 264c-4-4-6.4-4.8-9-7.4-4.6-4.6-6.9-8.8-8.6-7.3s-.6 3.7 4.3 8c4.8 4.5 6.5 5.1 13.4 6.7zm-2.4 15.6c-2.6-4-4.6-5.1-6.3-7.8-3-4.5-4-8.4-5.7-7.5s-1.3 3 1.9 7.5 4.5 5.2 10.1 7.8"/> + <path fill="#333" stroke="#000" d="M261.4 155.4c-4.8 9.2 8.3-3 28.8 12.4a35 35 0 0 1 9.2 19.3 62 62 0 0 1-12-5.3s9 9.2 9 19.6c-3.2-2-4.8-1.7-6-4.1 0 3.3 3 5.5 3 10.7a42 42 0 0 0-6.3-4.2c3 5.3-5.5 15.5-1.2 18.8a27 27 0 0 1-18.1-11c-1.6 1-1.8 2.7-1.9 4.6.3.1-11.3-8.7-10.2-12a10 10 0 0 0-2.2 5.8 32 32 0 0 1-9.6-13.8c-1.8 2.4-2 2.4-3.9 5-1.4-8.7-1.4-8.4 1.4-15.8l-5.6 4.3a50 50 0 0 1 25.6-34.3z"/> + <path fill="#b3b3b3" d="M249.6 200.2c.8-6.3 2.4-8.6 3-12.8.8-7-.2-12.4 2.4-12.2 2.4.2 3.2 2.8 2 10-1.3 7.1-2.4 8.8-7.3 15.1zm13.3 11.6c-.5-5.2.5-7.6.1-11-.5-6-2.4-10.2-.2-10.5s3.4 1.6 3.6 7.8c.2 6-.3 7.7-3.5 13.7m20.8 9.6c-2.3-4.7-4.3-6-5.7-9-2.6-5.3-3.2-9.5-5.1-8.8-2 .8-1.9 3 1 8.2 2.8 5 4.1 6.1 9.7 9.6zm7.1-41.5c-5.8-3-8.7-3-12.4-5-6.5-3.4-10.3-7.1-11.6-5-1.4 2 .4 4.1 7.1 7.2s8.8 3.2 16.8 2.8zm2 17.3c-4-3.4-6.6-4-9.3-6.2-4.8-4-7.1-7.7-8.6-6.2-1.6 1.6-.6 3.6 4.4 7.3s6.7 4.1 13.6 5.1z"/> + </g> +</svg> diff --git a/apps/web/public/flags/tc.svg b/apps/web/public/flags/tc.svg new file mode 100644 index 00000000..12589710 --- /dev/null +++ b/apps/web/public/flags/tc.svg @@ -0,0 +1,50 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-tc" viewBox="0 0 640 480"> + <path fill="#002868" d="M640 480V0H0v480z"/> + <g fill="none" stroke="#000"> + <path fill="#fcd116" stroke-width="8" d="M590 174.6v90c0 60-30 124.6-105 159.6-75-35-105-99.6-105-159.6v-90z"/> + <path stroke="#fff" stroke-width="7" d="M590 174.6v90c0 60-30 124.6-105 159.6-75-35-105-99.6-105-159.6v-90z"/> + <g stroke-linecap="round" stroke-linejoin="round" stroke-width="2.2"> + <path fill="#fcad56" stroke-width=".3" d="M447.1 273.7c-2.7 4.7-7.4 5.7-11 4.2-3.7-1.5-7.1-10.3-10.9-15-3.6-4.7-4.6-2.7-7-5.4a38 38 0 0 0-12-7.4c-3.3-1.5-6.7-2.9-9-8.6a10 10 0 0 1 5.2-5.1c1.9-.7 3.4-3.4 3.6-5.8.3-2.2 2.3-4.7 5-6.6-1.3.2-3.9-.3-5.1-1.1-1.1-1-3-.8-4.1 0q-1.7 1.2-4.6.8c.8-.6 2.2-2 2.3-3.2s1.6-1.9 4.5-1.9c2.8 0 4.6-3.2 6.9-3.2-1.6 0-1.3-2.8-.4-3-4-.7-3.5-4-1.9-4-.1-.4-.6-1-2.5-1.5-1.7-.7-.9-2.3.5-3.3-1.2-2.5-.1-4.4 1.9-6-2.8-.1.3-4 1-6.1.8-2 1.1-2.3 2-1 1 1.1 3.3 3.7 5.9 4.5q3.7 1 4.5 4.2c.5 2.3 1.5 3.4 4.2 4.4 2.9.9 6.8 3.3 6.3 8.6a9 9 0 0 1 5.2 1.9"/> + <path fill="#ffa1a1" stroke-width=".3" d="M454 206a8 8 0 0 0 3.1 6.4c1.9 1.5 3.5 2.7 3.1 4.6-.3 2 .4 3.2 2 4.5 1.8 1.2 3 2.7 2.6 5.2s-.2 4 .8 5.9 2.8 3.4 2 6.4-.4 7 .6 9c1 1.9 0 3.4-1.7 6.7-1.8 3.3-2.8 4.5-6.4 5.8-3.7 1.1-4 3.4-4 7.2q0 6.2-7.5 5.3c-5 4.1-8.1-.8-9.4-6.9s-1.4-12.8-8.8-18.1c-7.3-5.5-4.4-14.8 1.7-18.5s5.4-14.4 4.6-21c-.6-6.6 3.8-10.4 7.2-14 4.5 1.7 10.1 8.6 10.1 11.5"/> + <path fill="#f1b2dc" stroke-width=".3" d="M443.4 248.6c-1.4-3.2-2.9-6.5.7-13.5 3.8-7.1 1.4-12.5.3-16.1-1.1-3.5-1.4-6.8 0-8.3 1.5-1.3 2.1-2.2 2.2-4.6.1-2.2 2-1.5 2.3-.4s.5 3-1.5 6.4 5.6 12 2.1 21.1c-2.4 6.4.8 14.5 2 20.2s2 19-6.3 21c5.7-2.7.4-20.5-1.8-25.8"/> + <path stroke-width=".3" d="M406.3 247.6c1.3.3 2-.5 2.4-1.4s.7-1.3 2-1.5c1.2 0 3.2-.3 3.7-1.3s1.9-.2 3.2-2.7c1.3-2.6 2.1-5.6 5.5-6.7m9.3-21.8c-1.3 0-4.9.2-6.4 3.4m-10.4-18.9c3 .9 1.8 2.9 3.3 4 2.7 2.2.2 4.4 2.5 5s2.1 1 1.6 3.5c-.8 2.9 2 3 1 4.9m-13 9.9c1.8-1.6 6.1-2.9 7.1-4.6m-7.2-4c2.6-.2 6.1.8 6.6-.2m-7-2.7c1.3 0 3.9-.9 4.4-2.6m-6.3-1.4c1.5 0 3.4-.1 5.3-1.5m-7.3-3.4c1.1-.9 3.1.1 5-1.1m-3.1-4.9c.9 0 2.8-.2 2.8.9"/> + <g fill="#9e540a" transform="translate(535 249.6)scale(.125)"> + <g id="tc-b"> + <path d="M-55-233s-70-59-128-99-128-89-128-99c11-8 70 30 151 79 82 50 128 99 128 99zm-5 40s-68-41-135-70c-70-29-175-29-186-39 0-10 122-16 209 19 89 41 135 70 135 70zm-1 68s-74-34-146-50c-70-16-170-10-182-19 0-10 124-30 217 0 94 29 134 49 134 49zm-4 69s-56-38-130-46c-70-7-163 46-175 36 0-10 81-69 182-59 99 10 146 49 146 49zm23-218s-71-65-71-109c0-39 43-99 62-99-10 20-43 60-43 99 0 40 75 89 75 89z"/> + <path d="M-42-274s14-65 14-109c0-59-42-113-38-128 15 15 57 59 57 128 0 60-10 89-10 89z"/> + <g stroke="none"> + <use xlink:href="#tc-a" width="100%" height="100%" stroke="#fcd116" stroke-width="12"/> + <path id="tc-a" d="M-25-295c0-19-7-36-19-49-16-19-40-25-65-21-30 5-54 23-69 51-20 37-22 77-23 116 0 135 5 190 9 323 1 39 8 119-10 182-7 27-15 52-27 78 8-33 12-50 16-75 11-65 8-126 6-186-4-123-11-186-15-335-1-45 3-79 24-115 22-37 60-64 103-64 18 0 33 3 48 12 30 16 44 49 44 82z"/> + </g> + <path d="M-19 187s-28 50-49 86-38 44-54 33c-15-11-2-40 10-54s79-79 79-79z"/> + <path d="M-12 191s-11 57-20 98c-8 41-22 55-39 50-18-4-15-37-8-54s49-103 49-103z"/> + <path d="M0 193v100c0 42-10 59-29 58-18-1-22-33-18-52 3-18 28-111 28-111z"/> + </g> + <use xlink:href="#tc-b" width="100%" height="100%" transform="scale(-1 1)"/> + <g id="tc-c"> + <path d="M0 192c-53-1-58-20-58-20s-7-24-8-39c-1-2-15-32-11-45-5-12-17-41-6-46-5-14-13-30-14-45-4-11-14-35-6-43 0 0-19-40-10-50 0 0-9-39 0-49 0 0 0-40 10-50 0 0 0-39 9-49 0 2 28-55 94-55l-1 85h1z"/> + <path fill="none" d="M0-26c-85-1-103-20-103-20M0-76c-85 0-113-20-113-20M0-125c-85-1-113-20-113-20M0-175c-85-1-103-20-103-20m102-19c1 0-64 0-74-10l-19-19M0 152c-25 0-53-4-66-19m66-21c-47 0-75-19-75-19s-1-2-2-5M0 63c-62-1-79-14-83-21M0 23C-85 23-94 3-94 3l-3-6"/> + </g> + <use xlink:href="#tc-c" width="100%" height="100%" transform="scale(-1 1)"/> + </g> + <g transform="translate(485 299.6)scale(.125)"> + <g id="tc-d"> + <path fill="#009e49" d="M0 712c-43 40-126 14-152-4-27 9-99-19-118-50-52 7-70-67-61-86 14-28-11-46 7-65 25-24-14-47 10-63 24-17-6-45 18-63 25-19-13-45 13-58s-3-47 19-60-13-46 17-61c29-15 3-41 26-52 25-13 2-40 25-49 26-11 7-40 29-48 19-7 7-25 19-41H0"/> + <path d="M-99 18c-20 20 4 35-16 59-21 25-2 38-19 60s8 33-11 58c-19 24 4 39-17 59-20 21 4 39-17 61-20 23 4 38-16 58-21 21 3 43-17 63-20 21 4 47-19 71-22 24 4 43-14 61-19 19-2 38-15 51s-15 31-10 39M-60 25c-18 25 10 36-7 56-17 21 7 28-6 52s10 30-7 54 9 43-9 67c-19 24 9 37-8 61-16 25 8 38-7 56-15 19 11 37-8 60-18 22 8 39-7 59-15 21 6 43-7 60-13 16 9 41-10 63-18 22 4 37-7 52s-20 37-9 43"/> + </g> + <use xlink:href="#tc-d" width="100%" height="100%" transform="scale(-1 1)"/> + <path stroke="#009e49" d="M0 712V12"/> + <path d="M0 48c-9 39 13 73 0 106-13 32 9 45 2 71-8 26 9 45-2 73s15 50 0 87c-15 36 10 45 0 82-11 42 19 64 0 94s17 37 2 71c-15 33 9 46-2 80"/> + <path fill="#fcd116" d="M15 174c-5 11 15 37 4 57-12 19 6 49-6 73s19 54 7 82c-13 28 6 63 0 89-5 26 13 76 0 94-13 19 13 24-2 70s-25 7-16-7c19-31-21-41-2-71s-11-52 0-94c10-37-15-46 0-82 15-37-11-59 0-87s-6-47 2-73c7-26-15-39-2-71 10-32 20 9 15 20m-84 32c-7 12 12 35-5 58-12 16 8 35-9 58-11 16 11 36-4 59-10 13 7 38-5 57-12 20 6 36-15 62-12 14 9 49-4 60s-1 54-10 60c-8 7 0 38-22 45 11-15-11-30 7-52 19-22-3-47 10-63 13-17-8-39 7-60 15-20-11-37 7-59 19-23-7-41 8-60 15-18-9-31 7-56 17-24-11-37 8-61 18-24-8-43 9-67s-6-30 7-54c24 9 12 61 4 73m-50-65c-10 16 4 35-11 55-15 21 0 47-15 64-15 16 4 48-15 61s-7 52-22 65 0 50-17 69-9 58-19 67c-9 9 13 28-3 41-17 13-17 39-39 56 13-13-4-32 15-51 18-18-8-37 14-61 23-24-1-50 19-71 20-20-4-42 17-63 20-20-4-35 16-58 21-22-3-40 17-61 21-20-2-35 17-59 19-25-6-36 11-58 8-10 8-19 8-27 12-31 12 23 7 31"/> + <path fill="#ce1126" d="M-139 35c0-210 29-283 139-283s139 73 139 283z"/> + <path fill="#000001" d="M-139 35c0-210 29-283 139-283-50 0-81 39-89 65-9 26-4 24 7 14s6 12-4 24c-9 12-18 47-5 36 13-12 23 1 9 21-14 19-26 65-12 49s17 10 8 23c-8 13-7 25 0 19 8-6 7 21 0 32zm191-4C52 0 53-73 36-97c-12-19-12-39 2-17s21 11 11-11c-12-28-28-59-24-65 5-7 8-4 18 11s12-7 1-22c-11-14-10-17 13-7 41 17 61 66 61 231z"/> + <path fill="#ce1126" d="M0 65c-44 0-92-7-124-20-38-15-40-28-27-44 10-12 30-5 50 4 19 8 73 14 101 14s82-6 101-15c20-8 40-15 50-3 13 16 11 29-27 44C92 58 44 65 0 65"/> + </g> + </g> + </g> + <path fill="#012169" d="M0 0h320v240H0Z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0Z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5Zm-92 10 3 17.5-96 72H0ZM320 0v1.5l-124.5 94 1-22L295 0ZM0 0l119.5 88h-30L0 21Z"/> + <path fill="#fff" d="M120.5 0v240h80V0ZM0 80v80h320V80Z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0Z"/> +</svg> diff --git a/apps/web/public/flags/td.svg b/apps/web/public/flags/td.svg new file mode 100644 index 00000000..fa3bd927 --- /dev/null +++ b/apps/web/public/flags/td.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-td" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#002664" d="M0 0h214v480H0z"/> + <path fill="#c60c30" d="M426 0h214v480H426z"/> + <path fill="#fecb00" d="M214 0h212v480H214z"/> + </g> +</svg> diff --git a/apps/web/public/flags/tf.svg b/apps/web/public/flags/tf.svg new file mode 100644 index 00000000..fba23356 --- /dev/null +++ b/apps/web/public/flags/tf.svg @@ -0,0 +1,15 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-tf" viewBox="0 0 640 480"> + <defs> + <path id="tf-a" fill="#fff" d="m0-21 12.3 38L-20-6.5h40L-12.3 17z"/> + </defs> + <path fill="#002395" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 0h292.8v196.8H0z"/> + <path fill="#002395" d="M0 0h96v192H0z"/> + <path fill="#ed2939" d="M192 0h96v192h-96z"/> + <path fill="#fff" d="m426 219.6 15.4 24.6h44V330l-33-51.6-44.4 70.8h21.6l22.8-40.8 46.8 84 46.8-84 22.8 40.8h21.6L546 278.4 513 330v-47.4h19.8l14.7-23.4H513v-15h44l15.4-24.6zm51.6 105h-48v16.8h48zm91.2 0h-48v16.8h48z"/> + <use xlink:href="#tf-a" width="100%" height="100%" x="416" y="362" transform="scale(1.2)"/> + <use xlink:href="#tf-a" width="100%" height="100%" x="371" y="328" transform="scale(1.2)"/> + <use xlink:href="#tf-a" width="100%" height="100%" x="461" y="328" transform="scale(1.2)"/> + <use xlink:href="#tf-a" width="100%" height="100%" x="333" y="227" transform="scale(1.2)"/> + <use xlink:href="#tf-a" width="100%" height="100%" x="499" y="227" transform="scale(1.2)"/> +</svg> diff --git a/apps/web/public/flags/tg.svg b/apps/web/public/flags/tg.svg new file mode 100644 index 00000000..9d6ea6c5 --- /dev/null +++ b/apps/web/public/flags/tg.svg @@ -0,0 +1,14 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-tg" viewBox="0 0 640 480"> + <defs> + <clipPath id="tg-a"> + <path fill-opacity=".7" d="M0 0h682.7v512H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#tg-a)" transform="scale(.9375)"> + <path fill="#ffe300" d="M0 0h767.6v512H0z"/> + <path fill="#118600" d="M0 208.1h767.6V311H0zM0 .2h767.6v102.9H0z"/> + <path fill="#d80000" d="M0 .3h306.5v310.6H0z"/> + <path fill="#fff" d="M134.4 128.4c0-.8 18.9-53 18.9-53l17 52.2s57.4 1.7 57.4.8-45.3 34.3-45.3 34.3 21.4 60 20.5 58.2-49.6-36-49.6-36-49.7 34.3-48.8 34.3c.8 0 18.8-56.5 18.8-56.5l-44.5-33.4z"/> + <path fill="#118600" d="M0 409.2h767.6V512H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/th.svg b/apps/web/public/flags/th.svg new file mode 100644 index 00000000..1e93a61e --- /dev/null +++ b/apps/web/public/flags/th.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-th" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#f4f5f8" d="M0 0h640v480H0z"/> + <path fill="#2d2a4a" d="M0 162.5h640v160H0z"/> + <path fill="#a51931" d="M0 0h640v82.5H0zm0 400h640v80H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/tj.svg b/apps/web/public/flags/tj.svg new file mode 100644 index 00000000..f8c9a037 --- /dev/null +++ b/apps/web/public/flags/tj.svg @@ -0,0 +1,22 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-tj" viewBox="0 0 640 480"> + <path fill="#060" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 0h640v342.9H0z"/> + <path fill="#c00" d="M0 0h640v137.1H0z"/> + <path fill="#f8c300" d="M300.8 233.6a8.6 8.6 0 0 1 16 4V272h6.4v-34.3a8.6 8.6 0 0 1 16-4 20.2 20.2 0 1 0-38.4 0"/> + <path fill="#fff" d="M305.4 224.7a14 14 0 0 1 14.6 6.5 14 14 0 0 1 14.6-6.5 14.7 14.7 0 0 0-29.2 0"/> + <path id="tj-a" fill="#f8c300" d="M316.8 258.3a26 26 0 0 1-43.8 16.6 27 27 0 0 1-41 12c2.5 25 40 19.9 42.8-4.4 11.7 20.7 37.6 14.7 45.2-10.6z"/> + <use xlink:href="#tj-a" width="100%" height="100%" fill="#f8c300" transform="matrix(-1 0 0 1 640 0)"/> + <path id="tj-b" fill="#f8c300" d="M291.8 302.6c-5.3 11.3-15.7 13.2-24.8 4.1 0 0 3.6-2.6 7.6-3.3-.8-3.1.7-7.5 2.9-9.8a15 15 0 0 1 6.1 8.1c5.5-.7 8.2 1 8.2 1z"/> + <use xlink:href="#tj-b" width="100%" height="100%" fill="#f8c300" transform="rotate(9.4 320 551.3)"/> + <use xlink:href="#tj-b" width="100%" height="100%" fill="#f8c300" transform="rotate(18.7 320 551.3)"/> + <path fill="none" stroke="#f8c300" stroke-width="11" d="M253.5 327.8a233 233 0 0 1 133 0"/> + <g fill="#f8c300" transform="translate(320 164.6)scale(.68571)"> + <path id="tj-c" d="m301930 415571-790463-574305h977066l-790463 574305L0-513674z" transform="scale(.00005)"/> + </g> + <g id="tj-d" fill="#f8c300" transform="translate(320 260.6)scale(.68571)"> + <use xlink:href="#tj-c" width="100%" height="100%" transform="translate(-70 -121.2)"/> + <use xlink:href="#tj-c" width="100%" height="100%" transform="translate(-121.2 -70)"/> + <use xlink:href="#tj-c" width="100%" height="100%" transform="translate(-140)"/> + </g> + <use xlink:href="#tj-d" width="100%" height="100%" fill="#f8c300" transform="matrix(-1 0 0 1 640 0)"/> +</svg> diff --git a/apps/web/public/flags/tk.svg b/apps/web/public/flags/tk.svg new file mode 100644 index 00000000..05d3e86c --- /dev/null +++ b/apps/web/public/flags/tk.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-tk" viewBox="0 0 640 480"> + <path fill="#00247d" d="M0 0h640v480H0z"/> + <path fill="#fed100" d="M108.1 354.6c-6.7-.1 62.8-37 120.9-84.4 76.2-62.1 240.3-161.4 288.6-177.6 5-1.7-10.3 8.6-12.3 11.9-51.5 61-10.4 176 54 233.9 19.4 14.8 18.4 15.6 54.3 17v3.4zm-4.2 6.7s-4.9 3.5-4.9 6.1c0 2.9 5.5 6.7 5.5 6.7l498.5 5.5 9.2-6.1-12.8-7.9z"/> + <path fill="#fff" d="m106.8 109.1-4 12.2 10.4-7.5 10.3 7.5-3.9-12.2 10.3-7.5h-12.8l-3.9-12.2-4 12.2H96.4zm78.1 57.4 8.6-6.3h-10.7l-3.3-10.1-3.3 10.1h-10.6l8.6 6.3-3.3 10.1 8.6-6.3 8.7 6.3zm-145.2 13-4-12.2-3.9 12.2H19l10.3 7.5-3.9 12.2 10.3-7.5 10.4 7.5-4-12.2 10.4-7.5zm78.1 122.3-4.6-14.2-4.6 14.2h-15l12.1 8.7-4.6 14.3 12.1-8.8 12.1 8.8-4.7-14.3 12.1-8.7z"/> +</svg> diff --git a/apps/web/public/flags/tl.svg b/apps/web/public/flags/tl.svg new file mode 100644 index 00000000..3d0701a2 --- /dev/null +++ b/apps/web/public/flags/tl.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-tl" viewBox="0 0 640 480"> + <defs> + <clipPath id="tl-a"> + <path fill-opacity=".7" d="M0 0h682.7v512H0z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#tl-a)" transform="scale(.9375)"> + <path fill="#cb000f" d="M0 0h1031.2v512H0z"/> + <path fill="#f8c00c" d="M0 0c3.2 0 512 256.7 512 256.7L0 512z"/> + <path fill="#000001" d="M0 0c2.1 0 340.6 256.7 340.6 256.7L0 512z"/> + <path fill="#fff" d="M187.7 298.2 127 284.7l-31 52.8-5-59.7-60.7-13.3 54.9-24.9-3.3-59.3 40.2 43.4 55.4-25.3-28.9 54 39.2 45.8z"/> + </g> +</svg> diff --git a/apps/web/public/flags/tm.svg b/apps/web/public/flags/tm.svg new file mode 100644 index 00000000..4154ed76 --- /dev/null +++ b/apps/web/public/flags/tm.svg @@ -0,0 +1,204 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-tm" viewBox="0 0 640 480"> + <path fill="#00843d" d="M0 0h640v480H0Z"/> + <path fill="#fff" d="M357.6 53A59.7 59.7 0 1 1 295 153.7a59.7 59.7 0 0 0 62.3-100.1ZM301 97l6.4-20.8-17.7 12.9h21.9l-17.8-12.9Zm0-30.6 6.4-20.8-17.7 12.9h21.9l-17.8-13.2ZM331.2 82l6.4-20.8-17.8 12.9h22L324 61.2Zm-61 30.3 6.9-20.8-17.8 12.8h22l-17.8-12.8Zm30.3 15.4 6.8-20.7-17.7 12.8h21.9L293.7 107z"/> + <path fill="#d22630" d="M86.6 0h129.6v480H86.6Z"/> + <g fill="#383739"> + <path d="M118 0h-4.2l-8.3 7.6-3-3.4h3l-.8-3h-4.9l-10.2 9V14h5v-3l2.2 2.2-5.3 4.6L94 20l-7.5 6.8v5L99 20.3l-2.2-2.6 4.9-4.6L97.5 9l2.7-3 5.6 5.2ZM87 0v8.7L89.5 6V2.3h3L95.3 0Zm22.6 0h-3l.4 2.3z"/> + <path fill="#ffc72c" d="M117.6 0h-3.8l-8 7.6-3.7-3.8h3.4l-.8-2.7h-4.5l-9.9 9.5v3h3.8V9.8l3.4 3.4-5.3 4.6 2.3 2.2-7.6 7.6v3.8L98.3 20 96 17.8l5.3-4.6-4.5-4.1 3.8-3.4 5.2 5.3 11.4-11Zm-31 0v8.3l2.2-2.6V1.9h3.4L94.5 0Zm22.6 0h-1.8v1.5z"/> + </g> + <g fill="#383739"> + <path d="M86.6 55.6v4.9l7.2 6.8-2.7 2.2 5.3 5-2.3 1.8v-3h-4.5v3.8l10.2 9.5h5l.7-3.8H102l3-2.7 8.3 7.6-8.3 6.8-3-2.7h3l-.8-3.7h-4.9l-9.8 10.2v3.7h5v-3.7l2.2 2.2-5.3 4.6 2.6 2.6-7.5 6.8v4.6L99 107.7l-2.2-2.6 4.9-4.6-4.2-4.1 2.7-2.7 5.6 4.6 12.5-11.4-12.5-11.3-5.6 5.3-2.7-2.7 4.2-4.1-5-5L99 67 87 55.6zm0 22.6v18.2l2.6-3v-3.8h3l2.7-2.3-2.7-2.3h-3v-3.7zm20.8 6.5v4.9l2.6-2.3z"/> + <path fill="#ffc72c" d="M86.6 56.3v3.8l7.5 7.2-2.2 2.2 5.3 5-3.4 2.6v-3.4H90v3l9.8 9.5h4.5l.8-2.7h-3.8l4.2-3.8 8.7 7.6-8.7 7.6-3.8-3.8h3.4l-.8-2.3h-4.5l-9.8 9v3.1h3.8v-3.8l3.4 3.4-5.3 4.6 2.2 2.6-7.5 7.2v3.8l11.3-11.4-2.3-2.2 5.3-4.6-4.5-4.1 3.8-3.4 5.6 5.3 11.8-11-12.1-11-5.7 5.3-3.4-3 4.5-4.1-5.3-5 2.7-2.2zm0 22.7v16.6l2.2-2.2v-3.8h3.4l2.3-2.3-2.3-1.9h-3.4v-3.8zm21.1 6.4v3.4l2-1.5Z"/> + </g> + <g fill="#383739"> + <path d="M86.6 145.9v5.3l7.2 6.8-2.7 2.3 5.3 4.5-2.3 2.3v-3h-4.5v3.7l10.2 9h5l.7-3H102l3-3 8.3 7.2-8.3 7.6-3-3.4h3l-.8-3.4h-4.9l-10.2 9.4v3.8h5.3v-3l2.3 1.9-5.3 4.9L94 198l-7.5 6.9v4.9L99 198.4l-2.2-2.6 4.9-5-4.2-3.7 2.7-3 5.6 4.9 12.5-11.4-12.5-11.3-5.6 5.3-2.7-3 4.2-3.8-5-5 2.3-2.2-12-11.3zm0 22.7v17.7l2.6-2.6v-3.8h3l2.7-2.3-2.7-2.6h-3v-3.4zm20.8 6.4v5l2.6-2.7z"/> + <path fill="#ffc72c" d="M86.6 146.3v3.7l7.5 7.6L92 160l5.3 4.5-3.4 3v-3.7H90v3.7l9.8 8.7h4.5l.8-2.6h-3.8l4.2-3.8 8.7 7.6-8.7 7.9-3.8-3.8h3.4l-.8-2.6h-4.5l-9.8 9.4v3h3.8v-3.7l3.4 3-5.3 4.9 2.2 2.3-7.5 7.5v3.8l11.3-11.3-2.3-2.3 5.3-5-4.5-3.7 3.8-3.8 5.6 6 11.8-11.3-12.1-10.5-5.7 5.2-3.4-3.4 4.5-3.7-5.3-5 2.7-2.2zm0 22.6v17l2.2-2.6v-3.8h3.4l2.3-1.9-2.3-2.2h-3.4v-3.8l-2.2-2.3zm21.1 6.8v3.4l2-1.8Z"/> + </g> + <g fill="#383739"> + <path d="M86.6 236.2v4.6l7.2 6.8-2.7 2.2 5.3 5-2.3 2.2v-3h-4.5v3.8l10.2 9h5l.7-3.4H102l3-2.6 8.3 7.2-8.3 7.1-3-3h3l-.8-3.4h-4.9l-10.2 9.5v3.8h5.3v-3l2.3 1.8-5.3 5L94 288l-7.5 6.8v5L99 288.3l-2.2-2.7 4.9-4.9-4.2-3.8 2.7-3 5.6 5.3 12.5-11.3-12.5-11.4-5.6 5-2.7-2.7 4.2-3.8-5-5.3 2.3-2.2-12-11.4zm0 22.7v17.8l2.6-3v-3.5h3L95 268l-2.7-2.7h-3V262zm20.8 6.4v5l2.6-2.7z"/> + <path fill="#ffc72c" d="M86.6 236.6v3.8l7.5 7.5-2.2 2 5.3 4.8-3.4 3V254H90v3.4l9.8 9h4.5l.8-2.6h-3.8l4.2-3.8 8.7 7.6-8.7 8-3.8-3.9h3.4l-.8-2.6h-4.5l-9.8 9v3.5h3.8v-3.8l3.4 3-5.3 5L94 288l-7.5 7.6v3.7L97.9 288l-2.3-2.3 5.3-4.9-4.5-3.8 3.8-3.7 5.6 5.6 11.8-11.3-12.1-10.6-5.7 5.3-3.4-3.4 4.5-3.8-5.3-5.3 2.7-2.2zm0 22.7v17l2.2-2.7V270h3.4l2.3-2-2.3-2.2h-3.4V262l-2.2-2.2zm21.1 6.8v3.4l2-2Z"/> + </g> + <g fill="#383739"> + <path d="M86.6 326.6v4.5l7.2 6.8-2.7 2.3 5.3 4.9-2.3 1.9v-3h-4.5v3.7l10.2 9.5h5l.7-3.4H102l3-3 8.3 7.5-8.3 7.2-3-3h3l-.8-3.4h-4.9l-10.2 9.4v3.8h5.3v-3.4l2.3 2.2-5.3 5 2.6 2.2-7.5 6.8v4.6L99 378.3l-2.2-2.2 4.9-5-4.2-4.1 2.7-2.7 5.6 5.3 12.5-11.3-12.5-11.3-5.6 4.9-2.7-2.7 4.2-4.1-5-5L99 338zm0 22.6V367l2.6-3v-3.4h3l2.7-2.7-2.7-2.2h-3v-3.8zm20.8 6.5v4.5l2.6-2.3z"/> + <path fill="#ffc72c" d="M86.6 327v3.7L94 338l-2.2 2.3 5.3 4.9-3.4 3v-3.8H90v3.4l9.8 9h4.5l.8-2.6h-3.8l4.2-3.7 8.7 7.5-8.7 8-3.8-3.8h3.4l-.8-2.7h-4.5l-9.8 9.1v3.4h3.8v-3.8l3.4 3-5.3 5 2.2 2.2-7.5 7.6v3.4L97.9 378l-2.3-2 5.3-4.9-4.5-4.1 3.8-3.4 5.6 5.3 11.8-11-12.1-11-5.7 5.4-3.4-3 4.5-4.2-5.3-5 2.7-2.2Zm0 22.6v17l2.2-2.3v-3.7h3.4l2.3-2.3-2.3-1.9h-3.4v-3.8l-2.2-2.6zm21.1 6.4v3.8l2-1.9Z"/> + </g> + <g fill="#383739"> + <path d="M184.5 0h4.5l7.6 7.6 3.8-3.8h-3l.7-3h4.9l10.2 9v3.8H208v-3l-2.3 2.3 5.3 4.5-2.6 2.3 7.6 6.8v4.9L203.4 20l2.2-2.6-4.9-4.5 4.2-4.2-2.7-3-5.6 5.6Zm31.7 0v8.7l-3-2.7V2.3h-3L207.5 0Zm-23.8 0h3l-.3 2.3z"/> + <path fill="#ffc72c" d="M185.2 0h3l8.8 7.6 3.7-3.8h-3.4l.8-2.7h4.5l9.9 9.5v3h-3.8V9.8l-3 3.4 4.9 4.6-2.3 2.6 7.6 7.2v3.8L204.5 20l2.3-2.2-5.3-4.6 4.5-4.1-3.8-3.4-4.9 5.6L185 0Zm31 0v8.3l-2.6-2.6V1.9h-3.4l-2-1.9Zm-23.4 0h2.3v1.5z"/> + <path d="M216.2 55.6v4.9l-7.5 6.8 2.6 2.2-5.3 5 2.3 1.8v-3h4.5v3.8l-10.2 9.5h-4.9l-.7-3.8h3l-3-2.7-8 7.6 7.6 6.8 3.4-2.7h-3l.7-3.7h5l10.1 9.8v3.8H208v-3.4l-2.3 2.2 5.3 4.6-2.6 2.6 7.6 6.8v4.6l-12.5-11.4 2.2-2.6-4.9-4.6 4.2-4.1-2.7-2.7-5.6 4.6L184 86.9l12.5-11.3 5.6 5.3 2.7-2.7-4.2-4.1 5-5-2.3-2.2 12.5-11.3zm0 22.6v18.2l-3-3v-3.8h-3l-2.7-2.3 2.7-2.3h3v-3.7zm-21.1 6.5.3 2.6-.3 2.3-2.7-2.3z"/> + <path fill="#ffc72c" d="M216.2 56.3v3.8l-8.3 6.8 2.3 2.3-5 4.9 3 2.6v-3.4h3.9v3l-9.9 9.5h-4.5l-.7-2.7h3.7l-4.1-3.7-8.7 7.5 8.7 7.6 3.8-3.8H197l.7-2.3h4.5l9.9 9.1v3h-3.8v-3.7l-3 3.4 4.9 4.5-2.3 2.6 7.6 7.2v3.8L204 107l2.3-2.3-5.3-4.5 4.5-4.2-3.7-3.4-5.3 5.3-12.1-11 12-11 5.7 5.4 3.4-3-4.5-4.2 5.3-5-2.6-2.2zm0 22.7v16.6l-2.6-2.2v-3.8h-3.4l-2-2.3 2-1.9h3.4v-3.8zm-21.5 6.4.4 2v1.4l-2.3-1.5Z"/> + <path d="M216.2 145.9v5.3l-7.5 6.8 2.6 2.3-5.3 4.5 2.3 2.3v-3h4.5v3.7l-10.2 9h-4.9l-1.1-3h3l-3-3-7.6 6.8 7.6 7.6 3.4-3.4h-3l.7-3.4h5l10.1 9.4v3.8H208v-3l-2.3 1.9 5.3 4.9-2.6 2.3 7.6 6.8v4.9L203.4 198l2.2-2.6-4.9-5 4.2-3.7-2.7-3-5.6 5.3-12.5-11.4 12.5-11.3 5.6 5.3 2.7-3-4.2-3.8 5-5-2.3-2.2 12.5-11.3zm0 22.7v17.7l-3-2.6v-3.8h-3l-2.7-2.3 2.7-2.6h3v-3.4zm-21.1 6.4.3 2.3-.3 2.6-2.7-2.6z"/> + <path fill="#ffc72c" d="M216.2 146.3v3.7l-8 7.6 2.4 2.3-5 4.5 3 3v-3.7h3.9v3.7l-9.9 8.7h-4.5l-.8-2.6h3.8l-4.5-3.4-8.7 7.5 8.7 8 3.8-3.8H197l.7-2.7h4.5l9.9 9.5v3h-3.8v-3.8l-3 3 4.9 5-2.3 2.2 7.6 7.6v3.8L204 198l2.3-2.2-5.3-5 4.5-3.7-3.7-3.8-5.3 5.7-12.1-11.4 12-10.5 5.7 5.2 3.4-3.4-4.5-3.7 5.3-5-2.6-2.2zm0 22.6v17l-2.6-2.6v-3.8h-3.4l-2-1.9 2-2.2h3.4v-3.8l2.6-2.3zm-21.5 6.8.4 1.6v1.8l-2.3-1.8Z"/> + <path d="M216.2 236.2v4.6l-7.5 6.8 2.6 2.2-5.3 5 2.3 2.2v-3h4.5v3.8l-10.2 9h-4.9l-.7-3.4h3l-3-2.6-8 7.2 7.6 7.1 3.4-3h-3l.7-3.4h5l10.1 9.5v3.8H208v-3l-2.3 1.8 5.3 5-2.6 2.2 7.6 6.8v5l-12.5-11.4 2.2-2.7-4.9-4.9 4.2-3.8-2.7-3-5.6 5.3L184 268l12.5-11.4 5.6 5 2.7-2.7-4.2-3.8 5-5.3-2.3-2.2 12.5-11.4zm0 22.7v17.8l-3-3v-3.5h-3l-2.7-2.2 2.7-2.7h3V262zm-21.1 6.4.3 2.3-.3 2.6-2.7-2.6z"/> + <path fill="#ffc72c" d="M216.2 236.6v3.8l-8 7.5 2.4 2-5 4.8 3 3V254h3.9v3.4l-9.9 9h-4.5l-.8-2.6h3.8L197 260l-8.7 7.6 8.7 8 3.7-3.9h-3.4l.8-2.6h4.5l9.9 9v3.5h-3.8v-3.8l-3 3 4.9 5-2.3 2.2 7.6 7.6v3.7L204.5 288l2.3-2.3-5.3-4.9 4.5-3.8-3.8-3.7-5.2 5.6-12.1-11.3 12-10.6 5.7 5.3 3.4-3.4-4.5-3.8 5.3-5.3-2.7-2.2zm0 22.7v17l-2.6-2.7V270h-3.4l-2-2 2-2.2h3.4V262l2.6-2.2zm-21.5 6.8.4 1.5v1.9l-2.3-2Z"/> + <path d="M216.2 326.6v4.5l-7.5 6.8 2.6 2.3-5.3 4.9 2.3 1.9v-3h4.5v3.7l-10.2 9.5h-4.9l-.7-3.4h3l-3-3-8 7.5 7.6 7.2 3.4-3h-3l.7-3.4h5l10.1 9.4v3.8H208v-3.4l-2.3 2.2 5.3 5-2.6 2.2 7.6 6.8v4.6l-12.5-11.4 2.2-2.2-4.9-5 4.2-4.1-2.7-2.7-5.6 5.3-12.5-11.3 12.5-11.3 5.6 4.9 2.7-2.7-4.2-4.1 5-5-2.3-2.2zm0 22.6V367l-3-3v-3.4h-3l-2.7-2.7 2.7-2.2h3v-3.8zm-21.1 6.5.3 2.2-.3 2.3-2.7-2.3z"/> + <path fill="#ffc72c" d="M216.2 327v3.7L208 338l2.3 2.3-5 4.9 3 3v-3.8h3.9v3.4l-9.9 9h-4.5l-.7-2.6h3.7l-4.1-3.7-8.7 7.5 8.7 8 3.8-3.8H197l.7-2.7h4.5l9.9 9.1v3.4h-3.8v-3.8l-3 3 4.9 5-2.3 2.2 7.6 7.6v3.4L204 378l2.3-2-5.3-4.9 4.5-4.1-3.7-3.4-5.3 5.3-12.1-11 12-11 5.7 5.4 3.4-3-4.5-4.2 5.3-5-2.6-2.2zm0 22.6v17l-2.6-2.3v-3.7h-3.4l-2-2.3 2-1.9h3.4v-3.8l2.6-2.6zm-21.5 6.4.4 2v1.8l-2.3-1.9Z"/> + </g> + <path fill="#ffc72c" d="M96.8 424.8c.7 2.7 3 4.6 3.8 7.6.7-3 1.5-5.7 1-8.7-.7-2.3-2.6-3.8-2.6-6.4-2.2 1.8-2.6 4.5-2.2 7.5m-.4 11.4a18 18 0 0 0 7.2 5.6c-.8-2.2 0-3.8 1.5-5.6 1.1-2 1.9-3.8.7-6.5a14 14 0 0 1-1.8 3.4 10 10 0 0 0-2.3 5.3c-1.5-1.1-1.9-2.6-2.7-4.1a13 13 0 0 0-5.2-5.3c.7 2.6 1 4.9 2.6 7.2m10.2 7.5-.8 3.8-4.1-3c-1.9-2-4.2-2.7-5.7-5a9 9 0 0 0 3.8 7.2l8 5c-.4-2.7.7-5 1.4-7.6a7 7 0 0 0-1.5-6c0 1.8-.7 3.7-1.1 5.2zm5.3 8.7 3 5.3q-3.7-1.4-7.5-3.8c-2.7-1.5-5.7-2.2-8.4-4.5a13 13 0 0 0 9.1 9c3.4.8 6 .4 9.8 2a27 27 0 0 0-2.6-7.6l-2.3-5.3a6 6 0 0 0-1.1 5zm9.8 7.2a12 12 0 0 0 3.8 3.8c-3.8 0-6.8-2-10.6-2.3-2.2 0-4.5.8-6.8.4 3 1.9 5.7 3.8 9 3.8 4.2.7 8.4 0 13.3 0a17 17 0 0 1-4.9-5.7c-1.9-3-3.8-5-7.2-5.3l3.8 5.3zm13.3 6c-6.5 1.2-12.9 2.7-19.7 2.7a30 30 0 0 0 22.3.4c3.8-1.2 7.2-2.3 10.2-2 4.5 0 9.8 2.3 15.9 8.4l2.3-1.9a36 36 0 0 0-31-7.6"/> + <path fill="#383739" d="M102.8 56.3 92.2 50V34.8l10.6-6.5V20l9.5-5.6h8l15-8.7h31.8l15.1 8.7h7.6l10.6 5.6v8.3l10.2 6.5v15l-10.2 6.5v8l-9.9 6h-8l-15 8.3h-31.8l-15.1-8.3H113l-10.6-6z"/> + <path fill="#00843d" d="m135.3 6-15 8.7h-7.6l-9.9 5.7v8l-10.2 6.4v15l10.2 6.1v8.4l9.9 5.6h7.5l15.1 8.3h31.8l15.1-8.3h7.6l9.8-5.6v-8.4l10.2-6V34.8l-10.2-6.5v-7.9l-9.8-5.7h-7.6L167.1 6Zm.8 3.4h30.2l15.2 8.4h7.5l7.6 4.1v8.3l10.2 6.5V48l-10.6 6.4v8l-7.2 4.5h-7.5l-15.2 8.3h-30.2L121 67h-7.6l-7.6-4.5v-8L95.6 48V36.7l10.6-6.5V22l7.6-4.1h7.5z"/> + <path fill="#ffc72c" d="M151.2 42.3V9.4h-15.1l-14.8 8.7h-7.5l-7.6 3.8v8.3L96 36.7V42h55.2v32.8h15.1l15.2-8.3h7.5l6.8-4.1V54l10.6-6.4v-5.3z"/> + <path fill="#fff" d="M96 42.3v5.3l10.6 6.4v8.4l6.8 3.7h8l15 8.7h14.8V42h55.2v-5.3l-10.6-6.5v-7.5L189 18h-7.5l-15.2-8.7h-15v33Z"/> + <g fill="#383739"> + <path d="m118.7 21.2-2.6-2.7-2.3 1.5 2.6 2.7-3.7 1.9h7.5l6 6 2-2.3-6.1-5.6v-3.8Z"/> + <path d="m130.8 20-2.6-2.2-2.3 1.5 2.6 2.2-3.8 2h7.6l6 6 2-2.3-5.7-5.7v-3.7zm-12.9 7.6-2.6-2.3-2.6 2 2.6 2.2-3.4 1.9h7.6l6 6 1.9-2.3-6-5.6v-3.8z"/> + <path d="M151.2 9.4h-6.4l-3.4 3h-6.8l-4.6 2.7 1.2 2.7 4.1-2.3h2l6.7 7.6 7.2-4.2Z"/> + <path fill="#d22630" d="m116 18.9 2.3 2.3-1.9 1.1-2.2-1.9zm6.1.8v3l5.7 5.6-1.5 1.6-6-5.7h-6.1l7.5-5zm6-1.6 2.3 2-1.9 1.4-2.2-2.2Zm6.1 0V22l5.7 5.3-1.5 1.9-6-6.4h-6.1l7.5-4.6z"/> + <path fill="#d22630" d="m115.3 26 2.3 2-2 1.1-2.2-1.9Zm5.7 0v4l6 5.2-1.5 1.6-6-5.7h-6Zm30.2-16.6h-6.4l-3.4 3.8H135l-4.6 2 .8 2.2L135 15h2.6l6 7.6 7.6-3.8Z"/> + <path d="m118.7 63.5-2.6 2.3-2.3-1.5 2.6-2.3-3.7-2.3h7.5l6-5.7 2 2.3L122 62v3.8z"/> + <path d="m130.8 64.3-2.6 2.6-2.3-1.5 2.6-2.3-3.8-2.2h7.6l6-5.7 2 1.9-5.7 5.6v3.8zm-12.9-7.6-2.6 2.3-2.6-1.6 2.6-2.2-3.4-2.3h7.6l6-5.7 1.9 2-6 5.6v3.8z"/> + <path d="M151.2 75.2h-6.4l-3.4-3.4h-6.8l-4.6-2.3 1.2-3 4.1 2.3h2l6.7-7.6 7.6 4.6z"/> + <path fill="#d22630" d="m116 65.4 2.3-2.3-1.9-1.1-2.2 2.3zm6.1-.4v-3.4l5.7-5.7-1.5-1.5-6 5.7h-6.1l7.5 5zm6 1.5 2.3-2.2-1.9-1.2-2.2 2.3zm6.1-.4v-3.7l5.7-5.3-1.5-1.5-6 5.6h-6.1l7.5 5z"/> + <path fill="#d22630" d="m115.3 58.6 2.3-2.3-2-1.1-2.2 2.2Zm5.7-.4v-3.4l6-5.7-1.5-1.5-6 5.7h-6Zm30.2 16.6h-6.4l-3.4-3.4H135l-4.6-2.2.8-2 3.8 2h2.6l6.4-7.6 7.2 4.2z"/> + <path d="m114.5 31.7-3-1-4.1 2.6v.7l-6.5 8.3 6.5 8v.7l3.7 3 3.4-1-1.8-1.6v-2.3l.7-.7h3.4V36.3H113l-.3-.8V33Z"/> + <path fill="#d22630" d="m107.7 33.6 3.8-2.6 2.3.7-1.5 1.2v2.6l.7 1.2h3.4V48H113l-.7 1.1v2.7l1.5.7-2.3 1.2-3.8-2.7v-.7l-6.4-8 6.4-8.3Z"/> + </g> + <g fill="#383739"> + <path d="m183.7 21.2 2.7-2.7 2.2 1.5-2.2 2.7 3 1.9h-7.2l-6 6-2-2.3 6.1-5.6v-3.8Z"/> + <path d="m171.6 20 2.7-2.2 2.2 1.5-2.2 2.2 3 2H170l-6 6-2-2.3 6.1-5.7v-3.7zm12.9 7.6 2.6-2.3 2.7 2-2.7 2.2 3.4 1.9H183l-5.7 6.4-1.9-2.3 6-5.6V26z"/> + <path d="M151.2 9.4h6.4l3.8 3h6.4l5 2.7-1.2 2.7-4.5-2.3h-1.9l-6.8 7.6-7.2-4.2Z"/> + <path fill="#d22630" d="m186.4 18.9-2.3 2.3 1.9 1.1 2.3-1.9zm-5.7.8v3l-6 5.6 1.5 1.6 6-5.7h6l-7.5-5zm-6.8-1.6-2.3 2 2 1.4 2.2-2.2Zm-5.7 0V22l-5.6 5.3 1.5 1.9 6-6.4h6l-7.5-4.6z"/> + <path fill="#d22630" d="m187.1 26-2.2 2 1.8 1.1 2.3-1.9Zm-5.6 0v4l-6.1 5.2 1.5 1.6 6-5.7h6.1ZM151.2 9.5h6.4l3.4 3.8h6.5l4.5 2-.8 2.2-3.7-2.3h-2.3l-6.8 7.6-7.2-3.8Z"/> + <path d="m183.7 63.5 2.7 2.3 2.2-1.5-2.2-2.3 3-2.3h-7.2l-6-5.7-2 2.3 6.1 5.7v3.8z"/> + <path d="m171.6 64.3 2.7 2.6 2.2-1.5-2.2-2.3 3-2.2H170l-6-5.7-2 1.9 6.1 5.6v3.8zm12.9-7.6L187 59l2.7-1.6-2.7-2.2 3.4-2.3H183l-6-5.7-2 2 6 5.6v3.8z"/> + <path d="M151.2 75.2h6.4l3.8-3.4h6.4l5-2.3-1.2-3-4.5 2.3h-1.9l-6.8-7.6-7.2 4.6z"/> + <path fill="#d22630" d="M186.4 65.4 184 63l2-1 2.3 2.3zm-5.7-.4v-3.4l-6-5.7 1.5-1.5 6 5.7h6zm-6.4 1.5-2.3-2.2 1.9-1.2 2.3 2.3zm-5.7-.4v-3.7l-6-5L164 56l6 5.7h6l-7.5 5z"/> + <path fill="#d22630" d="m187.1 58.6-2.2-2.3 1.8-1.1 2.3 2.2zm-5.6-.4v-3.4l-6.1-5.7 1.5-1.5 6 5.7h6.1Zm-30.3 16.6h6.4l3.4-3.4h6.5l4.5-2.2-.8-2-3.7 2h-2.3l-6.8-7.6-7.2 4.2z"/> + <path d="m187.9 31.7 3-1 4.2 2.6v.7l6.4 8.3-6.4 8v.7l-3.8 3-3.4-1 1.9-1.6v-2.3l-.8-.7h-3.4V36.3h3.8l.4-.8V33Z"/> + <path fill="#d22630" d="m194.7 33.6-3.8-2.6-2.3.7 1.5 1.2v2.6l-.7 1.2H186V48h3.4l.7 1.1v2.7l-1.5.7 2.3 1.2 3.8-2.7v-.7l6.4-8-6.4-8.3Z"/> + </g> + <path fill="#383739" d="m108.9 49.1-1.5-1.5V47l-3.8-4.6 3.8-4.5V37l1.5-1.5 3.4 2.7h-2l2.7 2.6h6l5-3.8v-9.8h11.7l14-8.7v-2.2l-2.3-1.2-2.6 2v1l-2-2.6 3.9-3 4.1-2.7h1.5l3.8 2.7h.8l3.8 3-2 2.6-.3-1-2.7-2h-.7l-2.3 1.5V19l14 8.7h12.1v9.8l4.5 3.8h6l2.7-2.6h-1.5l3-2.7 1.6 1.5v.8l3.7 4.5-3.7 4.5v.8l-1.6 1.5-3-2.6h1.5l-2.6-2.7h-6l-4.6 3.8v9.8h-12.5l-14 8.3v2.3l2.3 1.5h.4l2.6-1.5v-1.1l2 2.6-3.5 2.7h-.4l-4.1 3H150l-3.8-3h-.8l-3.7-3 2.2-2.3v1.1l2.7 1.5h.4l2.2-1.5v-2.3l-14-8.3h-11.7V48l-4.9-3.8h-6L110 47h1.9z"/> + <path fill="#ffc72c" d="m151.2 70 1.9 1-1.9 1.2zm-4.5 1.8 3.8 3h.7v-2.2L149 71l2.3-1.6V65l-15.1-9h-11v-9.1l-5.6-4.6h-8.7l-2 2.7-2.2-2.7H104l3.7 4.2v.7l1.2 1.6 2.2-2h-1v-.3l2.6-3h6.4l5.3 3.7v9.9h11.3l14.4 8.7v2.6l-2.3 1.5h-1.1l-2.3-1.5v-.7l-1.5 1.5 3 2.6zm-37.8-31.7 1.5 1.9H107zm42.3-27.6-1.5 1.1 1.5 1.1zM192 42.7l1.5 1.5 2-1.9zm-36.3-30.2-3.7-3h-.8v2.2l2.3 2-2.3 1.4V19l15.1 9h11v9.9L183 42h8.7l1.8-2.3 2.3 2.3h2.7l-3.8-3.8V37l-1.2-1-2.2 1.8h1.1l-2.6 3.4h-6.5l-4.9-3.8V27.2h-12l-14-8.3v-2.6l2.2-1.6h1.1l2.3 1.6v.7l1.5-1.9-3-2.6z"/> + <path fill="#fff" d="m151.2 72.2-1.5-1.1 1.5-1.2zm-40.8-29.9-1.5 2-2-2zm45.3 29.5-3.7 3h-.8v-2.2l2.3-1.5-2.3-1.6V65l15.1-9h11v-9.1l5.7-4.6h8.7l1.8 2.7 2.3-2.7h2.7l-3.8 4.2v.7l-1.2 1.6-2.2-2h1.1v-.3l-2.6-3h-6.5l-4.9 3.7v9.9h-12L152 65.8v2.6l2.2 1.5h1.2l2.2-1.5v-.7l1.5 1.5-3 2.6zm37.8-31.7L192 42h3.4zm-46.8-27.6 3.8-3h.7v2.2l-2.3 2 2.3 1.4V19l-15.1 9h-11v9.9l-5.6 3.8h-8.7l-2-2.3-2.2 2.3H104l3.7-3.8v-1.1l1.2-1.2 2.2 2h-1l2.6 3.3h6.4l5.3-3.8v-9.8h11.3l14.8-8.3v-2.6l-2.3-1.6H147l-2.3 1.6v.7l-1.5-1.9 3-2.6h.8zm4.5 2.6 1.9-1.1-1.9-1.1z"/> + <path fill="#00843d" d="M151.2 42.3V19.7l-15.1 9h-10.6v9.1l-5.3 4.2h31v22.6l15.1-9H177v-8.7l5.3-4.6z"/> + <path fill="#d22630" d="m120.2 42.3 5.3 4.6v8.7h10.6l15.1 9V42h31l-5.3-4.2v-9h-10.6l-15-9.1v22.6z"/> + <path fill="#383739" d="m135.3 31.4-2.6-2.7-2.3 2 2.3 2.2-3 1.9h7.1l6 6 2-2.2-6-5.7V29zm31.8 21.9 2.6 2.3 2.7-1.6-2.7-2.2 3-2.3h-6.4l-6.4-5.7-1.9 2 6 5.6v3.8zm-31.8 0-2.6 2.3-2.3-1.6 2.3-2.2-3-2.3h7.1l6-5.7 2 2-6 5.6v3.8zm31.8-22 2.6-2.6 2.7 2-2.7 2.2 3 1.9h-6.4l-6.4 6-1.9-2.2 6-5.7V29z"/> + <path fill="#d22630" d="m169.7 55.2-2.2-2.3 1.9-1.1 2.2 2.2zm-5.6-.4v-3.4l-6-5.7 1.4-1.5 6 5.7h6.1zm-31.8-25.3 2.3 1.9-2 1.1-2.2-1.9zm5.7 0v3.8l6 5.3-1.5 1.5-6-5.7h-6l7.5-4.5z"/> + <path fill="#00843d" d="m169.7 29.5-2.2 1.9 1.9 1.1 2.2-1.9zm-5.6 0v3.8l-6 5.3 1.4 1.5 6-5.7h6.1zm-31.8 26 2.3-2.2-2-1.1-2.2 2.2zm5.7-.3v-3.4l6-5.7-1.5-1.5-6 5.7h-6z"/> + <path fill="#383739" d="M167 42.3 151.3 53l-15.9-10.6 16-10.6Z"/> + <path fill="#fff" d="M151.2 32.1 136.1 42h30.2zv20l15-9.8H136l15.1 9.9z"/> + <path fill="#383739" d="M155.4 45.7v3h-8v-3h-5.6v-7.1h5.6v-3h7.6v3h5.7V46z"/> + <path fill="#d22630" d="M147.4 36v3h-5.6v3h9.4v-6zm3.8 6h9.5v-3H155v-3h-3.8zm-9.4.3v3.4h5.6v2.7h3.8v-6zm9.4 6h3.8v-2.6h5.7v-3.4h-9.5z"/> + <path fill="#383739" d="M178.4 162.9v-4.5h12.9v-5h12.5v-41.9h-12.5v-5h-12.9V102h-12.8v-4.5h-28.8v4.5H124v4.6h-13v4.9H98.7v42H111v5.2h13v3.8h12.8v4.6h28.8v-4.6z"/> + <path fill="#ffc72c" d="M137.2 97.9v4.1h-12.5v4.6H112v4.9H99.4v41.6H112v4.5h12.8v5h12.9v4.5h28v-4.6h12.8V158h12.9v-5H204v-41.5h-12.8V107h-13.6v-4.6h-12.9V98zm3.8 3.4h20.8v4.5h12.8v4.6h12.9v4.9h12.9v34.4h-12.9v5.3h-12.9v3.7h-12.8v4.6h-21.2v-4.6h-12.8V155h-12.9v-5h-12.5v-34.3H115v-5h12.9v-4.9h12.8z"/> + <path fill="#d22630" d="M128.5 158.7v-4.5h-13.2v-4.5h-12.9v-34h12.9v-5h13.2v-4.5h12.9v-4.5h20.4v4.1h12.8v4.6h12.9v4.9h12.9v34h-12.9v4.5h-13.6v5H161v4.9h-20.4v-5z"/> + <path fill="#383739" d="m131.2 109.6-3.4-2.6v4.9l-3 1.9v-3l-3 3-3.1-3v3l-3.8-2v4.2l-2.6 2.3v-2.6l-3.8 2.2-3-2.2v2.6L102 116v13.3h-3.8v6.8h3.8v13.2l3.4-2.3v3l3.4-2.6 3.4 2.6v-3l2.6 2.3v4.5l3.8-2.2v3l3-3 3 3v-3.4l3 1.9v4.9l3.5-2.7v3.4l3.4-3 3 3V155l3 2.2v5.3l4.6-4.1v4.5l6-3.8 6 3.8v-4.2l4.6 3.8v-4.9l3-2.3v3.4l3-3 3.8 3V155l3 2.6v-5l3-1.8v3l3.1-3 3 3v-2.6l3.8 2.2V149l2.6-2.3v3l3.8-2.6 3 2.7v-3l3.5 2.2v-12.8h3.7v-6.5h-3.7v-13.2l-3.4 2.3V116l-3.5 2.3-3.4-2.3v2.7l-2.6-2.3v-4.1l-3.8 1.8v-3l-3 3-3-3v3l-3-1.8v-5l-3.5 2.7v-3.4l-3 3-3.8-3v3.4l-2.6-2.3v-4.9l-4.5 3.8V102l-6 3.8-6.1-3.8v3.8l-4.6-3.8v5l-3 2.2v-3.4l-3 3-3.4-3z"/> + <path fill="#00843d" d="M105.8 119v-3l3 2.3 3.1-2.3v3l3-2.6v32.1l-3-2.2v2.6l-3-2.3-3 2.3v-2.6l-3.5 2.2v-13.2h-3.7v-5.7h3.7v-13.2zm25.8-12 3 2.6 2.6-2.6v3.4l3.4-2.7V157l-3.4-2.3v3.4l-2.6-2.7-3 2.7v-3.4l-3.4 2.6v-49.1l3.4 2.3zm39.3 0-2.7 2.6-3-2.6v3.4l-3.4-2.7V157l3.4-2.3v3.4l3-2.7 2.7 2.7v-3.4l3.4 2.6v-49.1l-3.4 2.3zm25.7 12v-3l-3 2.3-3-2.3v3l-3.1-2.6v32.1l3-2.2v2.6l3-2.3 3 2.3v-2.6l3.5 2.2v-13.2h3.8v-5.7H200v-13.2z"/> + <path fill="#ffc72c" d="m119 111.9 2.7 2.2 2.7-2.2v2.6l3.8-2.2v40.4l-3.8-2.3v3l-2.7-2.6-2.6 2.6v-3l-3.8 2.3v-40.4l3.8 2.2zm26.5-5-4.5-3.7v59l4.5-4.2v4.5l5.7-3.8 5.7 3.8v-4.9l4.5 3.8v-57.8l-4.5 3.7V102l-5.7 3.8-5.7-3.8zm37.8 5-2.6 2.2-2.6-2.2v2.6l-3.8-2.2v40.4l3.8-2.3v3l2.6-2.6 3 2.6v-3l3.4 2.3v-40.4l-3.8 2.2z"/> + <g fill="#383739"> + <path d="m107.4 126.6 1.5.8c.3 0 1.1 0 1.5-.8 1.1-1.1 1.1-3.4 1.1-4.9l-1.9 1.9-.7-1.9-1.2 1.9-1.5-1.9c0 1.5 0 3.8 1.2 5zm13.6-3.4-1.2-1.1v-2l-2.2 2.4 3.7 3.7 4.6-3.7-2.3-2.3v1.9l-1.1 1.1v-3.8l1.9-1.5-2.7-2.2-2.6 2.2 1.9 2zm12.4-3.8-.7-1.1V116l-2.7 2.3 4.6 4.2 3.8-3.8-2.3-2.7v2.3l-.8.8v-3.8l2-1.2-2.7-2.2-2.7 2.2 1.5 1.6z"/> + <path fill="#fff" d="m108.9 122.5.7 1.5 1.5-1.5c0 1.8-.3 3.4-1 3.7a1.5 1.5 0 0 1-2.4 0c-.7-.3-1.1-1.9-1.1-3.7l1.5 1.5zm26-7.2v4.9l1.6-1.9v-1.1l1.5 1.5-3.8 3.8-3.8-3.8 2-1.5v1.5l1.4 1.9v-5l-1.5-1 2.3-2 1.9 2z"/> + <path fill="#d22630" d="M122.1 119.4v4.6l1.9-1.5v-1.6l1.5 1.6-3.8 3.7-3.8-3.7 1.6-1.6v1.6l1.5 1.5v-4.6l-1.5-1.5 2.2-1.5 2 1.5z"/> + <path d="m195 126.6-1.5.8q-.5.2-1-.8c-1.6-1.1-1.6-3.4-1.6-4.9l1.9 1.9.7-1.9 1.2 1.9 1.5-1.9c0 1.5 0 3.8-1.1 5zm-13.2-3.4.8-1.1v-2l2.3 2.4-3.8 3.7-4.6-3.7 2.3-2.3v1.9l1.1 1.1v-3.8l-1.8-1.5 2.6-2.2 2.6 2.2-1.5 2zm-12.8-3.8.7-1.1V116l2.7 2.3-4.2 4.2-4.5-3.8 2.6-2.7v2.3l.8.8v-3.8l-1.5-1.2 2.6-2.2 2.7 2.2-2 1.6z"/> + <path fill="#fff" d="m193.5 122.5-.7 1.5-1.5-1.5c0 1.8.4 3.4 1.1 3.7a1.5 1.5 0 0 0 2.3 0c.7-.3 1.1-1.9 1.1-3.7l-1.1 1.5zm-26-7.2v4.9l-1.5-1.9v-1.1l-1.6 1.5 3.8 3.8 3.8-3.8-1.9-1.5v1.5l-1.5 1.9v-5l1.5-1-1.9-2-2.2 2z"/> + <path fill="#d22630" d="M180.3 119.4v4.6l-1.5-1.5v-1.6l-1.5 1.6 3.8 3.7 3.8-3.7-2-1.6v1.6l-1.4 1.5v-4.6l1.5-1.5-2.3-1.5-1.9 1.5z"/> + <path d="m156.1 121-1.1-2.3 3.4-3-3.4-2.7v1.9l-1.1 1.1v-3.7l3-2-5.7-4.5-5.7 3.8 3 2.7v3.4l-1-1.2v-1.9l-3.5 2.7 3.8 3-1.5 1.9z"/> + <path fill="#d22630" d="m147 120.6 1.2-2-3.8-3 2.7-1.8v1.1l1.8 1.9v-4.5l-2.6-2 5-3.7 4.8 3.8-2.6 1.9v4.9l1.9-2v-1l2.6 1.8-3.8 3 1.5 2z"/> + <path d="m148.6 110.4 2.6 1.9 2.7-2-2.7-1.8Z"/> + <path fill="#00843d" d="m151.2 108.9 1.9 1.5-1.9 1.1-1.9-1.1z"/> + </g> + <g fill="#383739"> + <path d="M107.4 138.3a2 2 0 0 1 1.5-.7c.3 0 1.1 0 1.5.7 1.1 1.2 1.1 3.4 1.1 5l-1.9-1.6-.7 1.5-1.2-1.5-1.5 1.5c0-1.5 0-3.7 1.2-4.9m13.6 3.4-1.2 1.2v1.9l-2.2-2.3 3.7-3.8 4.6 3.8-2.3 2.3v-2l-1.1-1v3.7l1.9 1.5-2.7 2.3-2.6-2.3 1.9-1.9zm12.4 3.8-.7 1.1v2.3l-2.7-2.3 4.6-4.1 3.8 4.1-2.3 2.3v-2.3l-.8-.7v3.8l2 1.1-2.7 2.3-2.7-2.3 1.5-1.5z"/> + <path fill="#fff" d="m108.9 142.5.7-1.5 1.5 1.5q0-3-1-3.8a1.5 1.5 0 0 0-2.4 0q-1 .8-1.1 3.8l1.5-1.5zm26 7.2v-5l1.6 2v1.5l1.5-1.6-3.8-3.7-3.8 3.7 2 1.6v-1.6l1.4-1.8v4.9l-1.5 1.1 2.3 1.9 1.9-1.9z"/> + <path fill="#d22630" d="M122.1 145.5V141l1.9 1.5v1.5l1.5-1.5-3.8-3.8-3.8 3.8 1.6 1.5v-1.5l1.5-1.5v4.5l-1.5 1.5 2.2 1.5 2-1.5z"/> + <path d="M195 138.3a2 2 0 0 0-1.5-.7q-.5-.2-1 .7c-1.6 1.2-1.6 3.4-1.6 5l1.9-1.6.7 1.5 1.2-1.5 1.5 1.5c0-1.5 0-3.7-1.1-4.9zm-13.2 3.4.8 1.2v1.9l2.3-2.3-3.8-3.8-4.6 3.8 2.3 2.3v-2l1.1-1v3.7l-1.8 1.5 2.6 2.3 2.6-2.3-1.5-1.9zm-12.8 3.8.7 1.1v2.3l2.7-2.3-4.2-4.1-4.5 4.1 2.6 2.3v-2.3l.8-.7v3.8l-1.5 1.1 2.6 2.3 2.7-2.3-2-1.5z"/> + <path fill="#fff" d="m193.5 142.5-.7-1.5-1.5 1.5q0-3 1.1-3.8a1.5 1.5 0 0 1 2.3 0q1 .8 1.1 3.8l-1.1-1.5zm-26 7.2v-5l-1.5 2v1.5l-1.6-1.6 3.8-3.7 3.8 3.7-1.9 1.6v-1.6l-1.5-1.8v4.9l1.5 1.1-1.9 1.9-2.2-1.9z"/> + <path fill="#d22630" d="M180.3 145.5V141l-1.5 1.5v1.5l-1.5-1.5 3.8-3.8 3.8 3.8-2 1.5v-1.5l-1.4-1.5v4.5l1.5 1.5-2.3 1.5-1.9-1.5z"/> + <path d="m156.1 144.4-1.1 1.9 3.4 3-3.4 2.6V150l-1.1-1v3.7l3 1.9-5.7 4.1-5.7-3.7 3-2.7V149l-1 1.1v2l-3.5-2.7 3.8-3-1.5-2z"/> + <path fill="#d22630" d="m147 144.8 1.2 1.5-3.8 3 2.7 1.9V150l1.8-1.8v4.5l-2.6 1.9 5 3.8 4.8-3.8-2.6-2v-4.4l1.9 1.8v1.2l2.6-2-3.8-3 1.5-1.4z"/> + <path d="m148.6 155 2.6-2.3 2.7 1.9-2.7 1.9Z"/> + <path fill="#00843d" d="m151.2 156 1.9-1.4-1.9-1.2-1.9 1.2Z"/> + </g> + <path fill="#383739" d="M196.6 130.4h-5.3v-1.9h-17.4l-12.1-7.6h-21.2l-12 7.6H111v2.3h-5.3v3.8h5.3v2.6h17.4l12.1 7.6h21.2l12-7.6h17.5v-2.3h5.3z"/> + <path fill="#d22630" d="m140.6 121-12 7.5h-17v2.3h-5.4v3.4h5.3v2.2h17l12.1 7.6h21.2l12-7.6H191v-2.2h5.7v-3.4H191v-2.3h-17l-12.1-7.6zm0 1h20.8l11.4 7.3v1h12v4.6h-12.4v1.2l-11 6.8H141l-11.3-6.8v-1.2h-12.1v-4.5H130v-1.1z"/> + <path fill="#d22630" d="m161.4 122 10.6 7.6v.8h12.5v3.8H172v1.5l-10.6 7.2H141l-10.6-7.2v-1.1H118v-3.8h12.5v-1.5L141 122z"/> + <g fill="#383739"> + <path d="m135.7 136.4 4.5 3.8 3-2.6-1.4-1.2-1.6.8-1-.8 17.3-13.2h-3.4zm10.2 5.3h3.4l17.4-13.2-4.5-3.8-3 2.7 1.8 1.1 1.2-.8 1.1.8zm7.6 0h3l-17.4-13.2 1.1-.8 1.6.8 1.5-1.1-3-2.3-4.6 3.4Zm9.8-5.3-1.1.8-1.2-.8-1.9 1.2 3 2.2 4.6-3.4-17.4-13.2h-3.8zm-31-3.7 3 1.9 3-2-3-2.2zm15.9-.4 3 2.3 3-2-3-2.2Zm22 0-3.1 2.3-3-2 3-2.2z"/> + <path fill="#ffc72c" d="m166.3 136.4-4.1 3-2.7-1.8 1.5-.8 1.2.8 1.5-1.2-17-12.8h2.6zm-10.6 5h-2.6l-17-12.9 4.1-3 2.7 1.9-1.1.7-1.6-.7-1.5 1.1zm-6.4 0h-2.6l17-12.9-1.5-1.1-1.2.7-1.5-.7 2.7-2 3.8 3.1zm3.8-17.8h2.6l-17 12.8 1.5 1.2 1.6-.8 1 .8-2.6 1.9-3.7-3z"/> + <path fill="#00843d" d="m135.3 130.8 2.3 1.9-2.3 1.5-2.6-1.5zm16 0 2.6 1.9-2.7 1.5-2.6-1.5zm15.8 0-2.3 1.9 2.3 1.5 2.6-1.5z"/> + </g> + <path fill="#383739" d="m96.4 219.2-1.1 1.9 2.2 1.5-2.2 1.9 1.1 1.5 2.6.4 2.3-1.9 6.4 3.8v-3l-3.7-2.7 3.7-2.3V217l-6.4 3.8-2.3-1.5zm0-11.3-1.1 1.9 2.2 1.5-2.2 1.9 1.1 1.5 2.6.4 2.3-2 6.4 3.8v-3l-3.7-2.6 3.7-2.3v-3.4l-6.4 3.8-2.3-1.5zm0 29.5-1.1-1.6 2.2-1.8-2.2-1.6 1.1-1.8H99l2.3 1.5 6.4-3.8v3.4L104 234l3.7 2.6v3l-6.4-3.8-2.3 2zM206 219.2l1.2 1.9-2.3 1.5 2.3 1.9-1.2 1.5-2.6.4-2.3-1.9-6.4 3.8v-3l3.8-2.7-3.8-2.3V217l6.4 3.8 2.3-1.5zm0-11.3 1.2 1.9-2.3 1.5 2.3 1.9-1.2 1.5-2.6.4-2.3-2-6.4 3.8v-3l3.8-2.6-3.8-2.3v-3.4l6.4 3.8 2.3-1.5zm0 29.5 1.2-1.6-2.3-1.8 2.3-1.6-1.2-1.8h-2.6L201 232l-6.4-3.8v3.4l3.8 2.3-3.8 2.6v3l6.4-3.8 2.3 2zM181.5 189v4.5h3.4v2.3h3.4V192h-3v-3Zm9.8 7.5v3.8h3.8v1.9h3v-3.8h-3v-1.9ZM121 189v4.5h-3.4v2.3h-3.4V192h3v-3Zm60.5 68v-4.5h3.4v-2h3.4v3.9h-3v3zm-60.5 0v-4.5h-3.4v-2h-3.4v3.9h3v3zm70.3-7.6V245h3.8v-2.3h3v3.8h-3v3ZM111 196.5v3.8h-3.7v1.9h-3v-3.8h3v-1.9Zm0 53.3v-4.5h-3.7V243h-3v3.8h3v3zm53-60.8-2.7-2.7-2.6 2.3 2.2 2.3-3 2.6h4.2l1.5-1.5 1.5 1.5h5L167 191l2.3-2.3-2.7-2.3zm-12.9 0-2.6-2.7-2.7 2.3 2.3 2.3-2.7 2.6h4.2l1.5-1.5 1.5 1.5h4.2l-2.7-2.6 2.3-2.3-2.6-2.3zm-12.5 0 2.7-2.7 2.3 2.3-2.3 2.3 3 2.6h-4.2l-1.5-1.5-1.5 1.5h-4.9l3-2.6-2.2-2.3 2.6-2.3 2.7 2.7zm25 68-2.3 3-2.6-2.6 2.2-1.9-3-3h4.2l1.5 1.5 1.5-1.5h5l-3.1 3 2.3 1.9-2.7 2.6zm-12.5 0-2.6 3-2.7-2.6 2.3-1.9-2.7-3h4.2l1.5 1.5 1.5-1.5h4.2l-2.7 3 2.3 1.9-2.6 2.6zm-12.5 0 2.7 3 2.3-2.6-2.3-1.9 3-3h-4.2l-1.5 1.5-1.5-1.5h-4.9l3 3-2.2 1.9 2.6 2.6 2.7-2.6z"/> + <path fill="#00843d" d="M107.4 225.3v2.6l-6-3.8-2.4 2h-2.2l-1.2-1.6 2.3-1.9-2.3-1.5 1.2-1.5H99l2.3 1.9 6-3.8v2.3l-4.1 2.6zm0-11.4v2.7l-6-3.8-2.4 1.9h-2.2l-1.2-1.5 2.3-2-2.3-1.4 1.2-1.5H99l2.3 1.8 6-3.7v2.2l-4.1 2.7zm0 17.4V229l-6 3.8-2.4-2.2h-2.2l-1.2 1.5L98 234l-2.3 1.8 1.2 1.2H99l2.3-1.5 6 3.7v-2.6l-4.1-2.6zm87.7-6v2.6l6-3.8 2.7 2h1.8l1.2-1.6-2.3-1.9 2.3-1.5-1.2-1.5h-1.5l-2.6 1.9-6-3.8v2.3l4.1 2.6zm0-11.4v2.7l6-3.8 2.7 1.9h1.8l1.2-1.5-2.3-2 2.3-1.4-1.2-1.5h-1.5l-2.6 1.8-6-3.7v2.2l4.1 2.7zm0 17.4V229l6 3.8 2.7-2.2h1.8l1.2 1.5-2.3 1.9 2.3 1.8-1.2 1.2h-1.5l-2.6-1.5-6 3.7v-2.6l4.1-2.6zm-9.9-42.3v3h3v3h-3v-2.2h-3.7V189zm10.2 7.5v2.7h2.7v3h-2.7v-1.9H192v-3.8zm-78.2-7.5v3h-3v3h2.6v-2.2h3.8V189zm68 67.6v-3.4h3v-3h-3v1.9h-3.7v3.8zm-67.3 0v-3.4h-3v-3h2.7v1.9h3.7v3.8zm77.5-7.5v-3h2.7v-3h-2.7v2.2H192v3.8zm-87.7-52.6v3h-3v3h2.7v-2.2h3.4v-3.8zm0 53v-3h-3v-3.1h2.7v2.3h3.4v3.7zm53.7-62.8 2.3 2.7 2.6-2.7 2.3 1.9-2.3 2.3 2.7 2.2h-3.8l-1.5-1.5-1.5 1.5h-3.4l2.6-2.2-2.3-2.3zm-12.8 0 2.6 2.7 2.7-2.7 1.8 1.9-2.2 2.3 2.6 2.2h-3.4l-1.5-1.5-1.5 1.5h-3.8l3-2.2-2.2-2.3zm-7.6 0-2.3 2.7-2.6-2.7-2.3 1.9 2.3 2.3-2.3 2.2h3l2-1.5 1.4 1.5h3.5L141 191l2.3-2.3zm20.4 72.6 2.3-2.3 2.6 2.3 2.3-2-2.3-1.8 2.7-2.6h-3.8l-1.5 1.5-1.5-1.5h-3.4l2.6 2.6-2.3 1.9zm-12.8 0 2.6-2.3 2.7 2.3 1.8-2-2.2-1.8 2.6-2.6h-3.4l-1.5 1.5-1.5-1.5h-3.8l3 2.6-2.2 1.9zm-7.6 0-2.3-2.3-2.6 2.3-2.3-2 2.3-1.8-2.3-2.6h3l2 1.5 1.4-1.5h3.5l-2.7 2.6 2.3 1.9z"/> + <path fill="#383739" d="M117.2 245.3v7.6h68v-7.6h9.9v-45h-9.9v-7.5h-68v7.5h-9.8v45z"/> + <path fill="#ffc72c" d="M117.6 193.1v7.6h-9.9v44.2h9.5v7.6h68v-7.6h9.9v-44.6h-9.9v-7.5h-68zm4.5 3h58.2v7.2l2.7 1.6h9v35.5h-9l-2.7 1.9v7.1h-58.2V242l-2.6-1.5h-9.1V205h9l2.7-1.6v-7.5z"/> + <path fill="#d22630" d="M122.5 196.5v6.5l8.7-6.5zm49.1 0 8.3 6.5v-6.5zm-60.5 8.7v6.5l8-6zm72.2 0 8.4 6.5v-6.5zm8.4 28.8-8.4 6h8.4zm-81 0v6h8.4zm11.4 8.6v6.5h9zm57.8 0-8.7 6.5h8.7z"/> + <path fill="#00843d" d="m170.9 196.5 20.8 15.2v21.9l-20.8 15h-39.3l-20.8-15v-22l20.8-15.4z"/> + <path fill="#383739" d="m115.7 235.8-2.3-2.6 2.3-2.6-2.3-2.7 2.3-2.6-2.3-2.7 2.3-2.6-2.3-2.7 2.3-2.6-2.3-2.3 2.3-3h71l2.3 3-2.3 2.3 2.3 2.6-2.3 2.7 2.3 2.6-2.3 2.7 2.3 2.6-2.3 2.7 2.3 2.6-2.3 2.6zm49.1-35.9-3-2.6-2.7 2.3-2.6-2.3-2.6 2.3-2.7-2.3-2.6 2.3-2.7-2.3-2.6 2.3-2.7-2.3-2.6 2.6v45.4l2.6 2.6 2.7-2.2 2.6 2.2 2.7-2.2 2.6 2.2 2.7-2.2 2.6 2.2 2.6-2.2 2.7 2.2 2.6-2.2z"/> + <g fill="#ffc72c"> + <path d="m158.8 200.3-2.3-2.3-2.6 2v45.3l2.6 2.3 2.3-2.3zm-10.2 0-2.7-2.3-2.2 2v45.3l2.2 2.3 2.7-2.3z"/> + <path d="m116 235.8-2.2-2.6 2.3-2.3h70.3l2.2 2.3-2.2 2.6zm70.4-15.5 2.2 2.3-2.2 2.7H116l-2.3-2.7 2.3-2.3zm0-5.6 2.2-2.3-2.2-2.6H116l-2.3 2.6 2.3 2.3z"/> + </g> + <g fill="#d22630"> + <path d="m164 200.3-2.2-2.3-2.7 2v45.3l2.7 2.3 2.3-2.3zm-20.3 0L141 198l-2.3 2v45.3l2.3 2.3 2.7-2.3z"/> + <path d="m116 230.6-2.2-2.7 2.3-2.3h70.3l2.2 2.3-2.2 2.7zm0-10.6-2.2-2.7 2.3-2.2h70.3l2.2 2.2-2.2 2.7z"/> + <path d="m153.9 245.7-2.7 1.9-2.3-2.3v-45l2.3-1.9 2.7 2Z"/> + </g> + <path fill="#383739" d="M175 200.7h-47.6v3.8H121v36.3h6v3.7h47.6v-3.7h6.9v-36.3h-6.1v-3.8z"/> + <path fill="#d22630" d="M127.8 201v3.9h-6v35.5h6v3.8h4.5l-9.8-8.4v-26.4l9.8-8.3h-4.9zm42 0 9.8 8.8v26.4l-9.5 7.6h5V240h6v-35.5h-6v-3.8h-5z"/> + <g fill="#00843d"> + <path d="m133 201-9.8 8.8v26l9.9 8.4h36.3l9.8-8.4v-26.4l-9.8-8.3zm.8 1.6h34.8l9.5 7.5v25l-9.5 7.5h-34.8l-9.4-7.5v-24.6z"/> + <path d="m142.9 235.5 1.5.7.4 2-2 1.4 3.1 2.7h-3l-1.9-2-1.9 2h-3l2.6-2.7-1.9-1.5v-1.9l2-.7 1.8 1.5zm10.2 0 1.5.7.4 2-1.9 1.4 3 2.7h-3l-1.9-2-1.9 2h-2.6l2.6-2.7-1.9-1.5v-1.9l2-.7 1.8 1.5zm6.4 0-1.5.7-.4 2 2 1.4-2.7 2.7h2.6l2-2 1.8 2h3l-3-2.7 1.9-1.5v-1.9l-1.9-.7-1.9 1.5zM143 210l1.5-.7.4-1.9-2-1.9 3.1-2.6h-3l-1.9 1.9-1.9-2h-3l2.6 2.7-1.9 1.9v1.9l2 .7 1.8-1.8zm10.2 0 1.5-.7.4-1.9-1.9-1.9 3-2.6h-3l-1.9 1.9-1.9-2h-2.6l2.6 2.7-1.9 1.9v1.9l2 .7 1.8-1.8zm6.4 0-1.5-.7-.4-1.9 2-1.9-2.7-2.6h2.6l2 1.9 1.8-2h3l-3 2.7 1.9 1.9v1.9l-1.9.7-1.9-1.8zm18.2 2.7-1.5 1.5 1.5 1.1v2.3l-2.7-1.9-1.5 1.5h-1.9l-.7-1.5 1.5-1.5-1.5-1.5.7-1.5h2l1.4 1.5 2.7-1.9zm0 8.7-1.5 1.1 1.5 1.5v2l-2.7-2-1.5 1.5h-1.9l-.7-1.5 1.5-1.5-1.5-1.5.7-1.1h2l1.4 1.1 2.7-1.9Zm0 11.3-1.5-1.5 1.5-1.5v-1.9l-2.7 1.9-1.5-1.5h-1.9l-.7 1.5 1.5 1.5-1.5 1.5.7 1.2h2l1.4-1.2 2.7 2zm-53-20 2 1.5-2 1.1v2.3l2.7-1.9 1.5 1.5h1.9l.8-1.5-1.6-1.5 1.6-1.5-.8-1.5H129l-1.5 1.5-2.7-1.9Zm0 8.7 2 1.1-2 1.5v2l2.7-2 1.5 1.5h1.9l.8-1.5-1.6-1.5 1.6-1.5-.8-1.1H129l-1.5 1.1-2.7-1.9Zm0 11.3 2-1.5-2-1.5v-1.9l2.7 1.9 1.5-1.5h1.9l.8 1.5-1.6 1.5 1.6 1.5-.8 1.2H129l-1.5-1.2-2.7 2Z"/> + </g> + <path fill="#d22630" d="m133.8 203-8.7 7.5 2.3 2 1.5-1.6h2.3l.7 1.9-1.5 1.5 1.5 1.5-.7 1.5h-2.7l-1.5-1.1-2.6 1.9v.7l2.6 2 1.5-1.6 2.3.4.8 1.5-1.6 1.5 1.6 1.5-.8 2h-2.3l-1.5-1.6-2.6 2.3v.3l2.6 2.3 1.5-1.5h2.3l.8 1.9-1.6 1.5 1.6 1.5-.8 1.5h-2.3l-1.5-1.1-2.3 1.9 8.7 7.5h2l3-3-2-1.5v-2.3l2.3-.7 2 1.5 1.8-1.5 2 .7.3 2.3-2 1.5 3.1 2.7 2.7-2.7-2-1.5v-2.3l2.3-.7 2 1.5 1.8-1.5 2 .7.3 2.3-1.9 1.5 2.6 2.7 3-2.7-1.8-1.5v-2.3l2.2-.7 2 1.5 1.8-1.5 2 .7.3 2.3-1.9 1.5 3 2.7h2l8.6-7.6-2.3-1.5-1.5 1.5-2.2-.4-.8-1.5 1.5-1.5-1.5-1.5.8-1.5 2.2-.4 1.5 1.5 2.7-2.3v-.3l-2.7-2.3-1.5 1.5H171l-.8-1.9 1.5-1.5-1.5-1.5.8-1.5h2.2l1.5 1.1 2.7-1.9v-.7l-2.7-2-1.5 1.6-2.2-.4-.8-1.5 1.5-1.5-1.5-1.5.8-1.5 2.2-.4 1.5 1.5 2.3-1.9-8.7-7.5h-1.9l-3 2.6 1.9 1.9v2.3l-2.3.7-1.9-1.5-1.9 1.5-1.8-.7-.4-2.3 1.9-1.9-2.7-2.6-3 2.6 1.9 1.9v2.3l-2.3.7-1.9-1.5-1.9 1.5-1.8-.7-.4-2.3 1.9-1.9-2.7-2.6-3 2.6 1.9 1.9v2.3l-2.3.7-1.9-1.5-1.9 1.5-1.9-.7-.3-2.3 1.9-1.9-3-2.6zm-9 18.9v1.8l1-1z"/> + <path fill="#fff" d="m141 241.1-1.5 1.2h3zm10.2 0-1.5 1.2h3zm10.2 0-1.5 1.2h3zm-22-37.8 1.6 1.2 1.5-1.5zm10.3 0 1.5 1.2 1.5-1.5zm10.2 0 1.5 1.2 1.5-1.5zm17.8 10.2-1.2.8 1.2.8zm0 8.4-1.2.7 1.2 1.1zm0 8.7-1.2.7 1.2.8zm-53-17.4v1.9l1.2-.8zm0 8.7v1.8l1.2-1zm0 8.3v1.9l1.2-.8z"/> + <g fill="#383739"> + <path d="M160 220v-3h-3.1v-3.5h-11.4v3.4h-3v3h-4.1v5.7h4.1v3h3v3.5H157v-3.8h3v-2.7h4.2V220z"/> + <path fill="#ffc72c" d="M151.2 214v3.3l-4.9 2.7v2.6h-7.6v-2.3h3.8v-3h3.4v-3.8zm0 17.7v-3.8l5-2.6V223h7.5v2.3h-3.8v3h-3.4v3.4z"/> + <path fill="#fff" d="M156.1 222.6V220l-4.9-2.7v-3.8h5.3v3.8h3v3h4.2v2.3zm-17.4 0h7.6v2.7l5 3v3.4h-5.4v-3.8h-3v-2.6h-4.2z"/> + <path fill="#d22630" d="M146.7 223v2.3l4.5 2.6v-5Z"/> + <path fill="#00843d" d="m151.2 217.7-4.5 2.6v2.3h4.5Z"/> + <path fill="#d22630" d="M155.7 222.6v-2.3l-4.5-2.6v5z"/> + <path fill="#00843d" d="m151.2 228 4.5-2.7V223h-4.5Z"/> + </g> + <path fill="#d22630" d="M110 283v9.5h-8.7v8.4h-9V325h9v8.7h8.3v9.1h32.5l5.7 3.8-2.6 1.5h-11.4l-1.1-1.1h11l-3-3h-15.2l6.8 7.1h14l5-3.4 4.8 3h14l6.8-7.1h-15.1l-3 3h10.6l-.8 1.1h-11.7l-2.7-1.9 5.7-3.4h32.5v-9h8.7V325h9v-24h-9v-8.4h-8.3v-9.4h-32.5l-5.7-3.8 2.7-1.5h11.3l1.1 1.1h-11l3.1 3h15.1l-6.8-7.1h-14l-4.9 3-4.9-3h-14l-6.8 7.5h15.1l3-3.4h-10.5l.7-1.1h11.7l2.7 1.9-5.7 3.4z"/> + <path fill="#ffc72c" d="M160 342.4h32v-9h8.4v-8.7h9v-23.5h-9v-8.7h-8.7v-9h-32.2L146 275h-13.6l-6 6.5h14l2.2-2.3h-10.2l1.5-1.9h11.7l15.2 9.5H189v9h9v8.7h9.2v16.7H198v8.7h-9v9.4h-27.7l-15.1 9h-12.1l-1.5-1.8h10.2l-2.3-2.3h-14l6 6.4h14zm-18.6-3h-27.6V330H105v-8.7h-9v-16.7h9V296h8.3v-8.7H141l15.1-9.4h12.1l1.5 1.9h-10.2l2.3 2.3h14L170 275h-14l-13.2 8.4h-32.5v9H102v8.7h-9v23.5h9v8.7h8.8v9h32.5l13.2 8.3h13.6l6-6.4h-14l-2.2 2.3h10.2l-1.5 1.9h-11.7z"/> + <path fill="none" d="m151.2 281.2-9.4 6h-27.6v9.5h-8.7v8.7h-9.1v15.9h9v8.7h8.8v9.4h27.6l9.4 5.7 9.5-5.7h27.6V330h9v-8.7h9.1v-16h-9v-8.6h-9.1v-9.5h-27.6zm0 2.3 9 5.6h26.2v9.5h8.7v8.3h9v12h-9v8.8h-8.7v8.7h-26.5l-8.7 6-9-6H116v-9h-8.7v-8.8h-9.1v-12h9v-8h8.8V289h26.4z"/> + <path fill="#00843d" d="M186 327.3v9h-25.7l-9 5.7-9.2-5.6h-25.7v-9h-8.7v-8.8h-9.4v-11.3h9v-8.7h8.8v-9h25.7l9-5.4 9.1 5.3h25.7v9h8.7v8.8h9.8v11.3h-9v8.7z"/> + <g fill="#383739"> + <path d="M119.8 324v8.6h14.4l-14.4-9.5zm0-22v-9h14.4l-14.4 9.4Zm62.8 22v8.6h-14.4l14.4-9.5zm0-22v-9h-14.4l14.4 9.4z"/> + <path fill="#d22630" d="m120.2 324.3 12.9 8.3h-12.9zm0-22.7 12.9-8.3h-12.9zm62 22.7-12.8 8.3h12.8zm0-22.7-12.8-8.3h12.8z"/> + </g> + <g fill="#383739"> + <path d="M138 310.3v-4.2h-1.5l-7.6-4.5-7.6 4.5h-1.5v4.6h-3.7v5.3h3.7v4.5h1.5l7.6 4.5 7.6-4.5h1.5V316h5.3v-6Z"/> + <path fill="#d22630" d="m128.5 301.6 7.6 4.2h-14.4zm7.6 18.5-7.6 4.2-6.8-4.2zm-1.9-9.4v4.5h-8.7v-4.5z"/> + <path fill="#ffc72c" d="M137.6 315.6v4.1h-8.7v-4.1zm-9 0v4.1h-8.8v-4.1zm14.3-5v4.6h-8.3v-4.5zm-17.8 0v4.6h-8.7v-4.5Zm12.5-4.5v4.2h-8.7v-3.8zm-9 0v4.2h-8.8v-3.8z"/> + <path d="M122.9 311.8v2.3H119v-2.3zm3.4-4.5v2.2h-3.8v-2.2zm9 0v2.2h-3.7v-2.2zm-3.7 4.5v2.3h-3.8v-2.3zm9 0v2.3h-3.8v-2.3zm-5.3 4.5v2.3h-3.7v-2.3zm-9 0v2.3h-3.8v-2.3z"/> + <path fill="#fff" d="M122.5 312.2H119v1.5h3.4zm3.8-4.5h-3.8v1.5h3.8zm8.7 0h-3.4v1.5h3.4zm-3.8 4.5h-2.7v1.5h3zm9 0h-3v1.5h3zm-5.2 4.5h-3.4v1.5h3.4zm-9.1 0h-3v1.5h3z"/> + </g> + <g fill="#383739"> + <path d="M164.4 310.3v-4.2h1.6l7.5-4.5 7.6 4.5h1.9v4.6h3.4v5.3h-3.8v4.5h-1.1l-7.6 4.5-7.6-4.5h-1.5V316h-5.3v-6Z"/> + <path fill="#d22630" d="m173.9 301.6-7.6 4.2h14zm-7.6 18.5 6.8 4.2 7.2-4.2zm1.5-9.4v4.5h8.7v-4.5z"/> + <path fill="#ffc72c" d="M164.8 315.6v4.1h8.7v-4.1zm9 0v4.1h8.8v-4.1zm-14.3-5v4.6h8.7v-4.5zm17.8 0v4.6h8.7v-4.5Zm-12.5-4.5v4.2h8.7v-3.8zm9 0v4.2h8.8v-3.8z"/> + <path d="M180 311.8v2.3h3.7v-2.3zm-3.8-4.5v2.2h3.7v-2.2zm-9.1 0v2.2h3.8v-2.2zm3.8 4.5v2.3h3.7v-2.3zm-9.1 0v2.3h3.8v-2.3zm5.3 4.5v2.3h3.8v-2.3zm9 0v2.3h3.8v-2.3z"/> + <path fill="#fff" d="M180 312.2h3.3v1.5H180zm-3.5-4.5h3v1.5h-3zm-9 0h3.4v1.5h-3.4zm3.7 4.5h3v1.5h-3zm-9 0h3v1.5h-2.6Zm5.3 4.5h3.4v1.5h-3.4zm9 0h3v1.5h-3z"/> + </g> + <g fill="#383739"> + <path d="M160.3 302.7v4.6h-1.5l-7.6 4.9-7.5-5H142v-4.5h-4.5v-4.9h4.5v-4.5h1.6l7.5-5 7.6 5h1.5v4.5h4.5v4.6Z"/> + <path fill="#ffc72c" d="m151.2 311.8 6.8-4.5h-13.6zM158 293l-6.8-3.8-6.8 3.8z"/> + <path fill="#d22630" d="M160 297.8v-4.5h-8.4v4.5zm-8.8 0v-4.5h-8.7v4.5zm13.2 4.6v-3.8h-8.7v3.8zm-9 0v-3.8h-8v3.8zm-8.7 0v-3.8H138v3.8zm13.2 4.5v-4.2h-8.3v4.2zm-8.7 0v-4.2h-8.7v4.2z"/> + <path d="M148.6 294.4v2.3h-3.8v-1.9Zm9 0v2.3H154v-1.9ZM144 299v2.6h-3.8v-3Zm9.1 0v2.6h-3.8v-3Zm9 0v2.6h-3.7v-3Zm-13.5 4.9v2.2h-3.8V304zm9 0v2.2H154V304z"/> + <path fill="#fff" d="M148.2 294.8h-3v1.5h3zm9 0h-3v1.5h3zm-13.5 4.5h-3v2h3Zm9 0h-3v2h3zm9.1 0h-3v2h3zm-13.6 4.6h-3v1.9h3zm9 0h-3v1.9h3z"/> + </g> + <g fill="#383739"> + <path d="M160.3 328v5h-1.5l-7.6 4.5-7.5-4.5H142v-5h-4.5v-4.9h4.5v-4.5h1.6l7.5-4.9 7.6 5h1.5v4.4h4.5v5z"/> + <path fill="#ffc72c" d="m151.2 337.1 6.8-4.1h-13.6zm6.8-18.9-6.8-3.7-6.8 3.7z"/> + <path fill="#d22630" d="M160 323.1V319h-8.4v4.1zm-8.8 0V319h-8.7v4.1zm13.2 4.6v-4.2h-8.7v4.2zm-9 0v-4.2h-8v4.2zm-8.7 0v-4.2H138v4.2zm13.2 4.9v-4.5h-8.3v4.5Zm-8.7 0v-4.5h-8.7v4.5Z"/> + <path d="M148.6 319.7v2.7h-3.8v-2.7zm9 0v2.7H154v-2.7ZM144 325v2.3h-3.8V325Zm9.1 0v2.3h-3.8V325Zm9 0v2.3h-3.7V325Zm-13.5 3.8v2.3h-3.8v-2.3Zm9 0v2.3H154v-2.3Z"/> + <path fill="#fff" d="M148.2 320.1h-3v2h3zm9 0h-3v2h3zm-13.5 5h-3v1.5h3Zm9 0h-3v1.5h3zm9.1 0h-3v1.5h3zm-13.6 4.5h-3v1.5h3zm9 0h-3v1.5h3z"/> + </g> + <path fill="#383739" d="m102 383.6 34-18.1h30.3l34 18.1v29.9l-34 17.7h-30.2l-34-17.7z"/> + <path fill="#00843d" d="m136 365.9-33.6 17.7v29.5l33.7 18.1h30.2l33.7-18.1v-29.5L166.7 366zm.5 2.2h29.8l31.8 17v26.5l-31.8 17h-29.5l-31.7-17V385z"/> + <path fill="#ffc72c" d="M151.2 398.4v30.2h15.1l31.4-17v-12.9h-46.5v-30.2h-15.1l-31.4 16.6v13.3z"/> + <path fill="#fff" d="M151.2 398.4v30.2h-15.1l-31.4-17v-12.9h46.5v-30.2h15.1l31.4 16.6v13.3z"/> + <path fill="#383739" d="M153.9 426.7V418l-2.7 2-2.6-2v8.7h-9.1l6-4.5v-6l-9-5.7h-6v-24.2h5.6l9-5.7v-6L140 370h9v8.7l2.7-1.5 2.6 1.5v-8.3h9.1l-6 4.5v6l9 5.7h6.5v24.2h-6.5l-9 5.7v6l6 4.6z"/> + <path fill="#ffc72c" d="M154.2 370.4v9l-3-1.8v2.6l14 8.7h4.5v9.5h2.3V387h-6l-9.5-6v-6.8l5.3-3.8zm-23.4 28.3v11.4h5.3l9.4 6v6.5l-5.3 3.7h7.6v-9l3 1.8v-2.6l-14-8.7h-4.5v-9z"/> + <path fill="#fff" d="m140.6 370.4 5.3 3.8v6.8l-9.4 5.6h-5.7V398h1.9v-8.7h4.5l14-8.7V378l-3 1.8v-9.4zm29.1 28.3v9.1h-4.5l-14 8.7v2.6l3-1.8v9h7.6l-5.3-3.7v-6.9l9.5-6h6v-11.3Z"/> + <path fill="#d22630" d="M133 407.4h4.2l14 9.1 14-9h4.2v-18.2h-4.2l-14-8.7-14 8.7h-3.8z"/> + <path fill="#383739" d="M160.7 402.9h3v-1.5h-2.3v-2.7h5v6.5h-4.6v4.5h-9.5v-6.4h4.2v2.6H155v1.2h3.8v-2.3l-17.4-10.6h-3v1.1h2.2v2.7h-4.5v-6.4h4.5V387h9.5v6.4h-3.8v-2.6h1.1v-1.1h-3.7v2.2zm-1.6-11v-2.2H155v1.1h1.5v2.6h-4.2V387h9.5v4.6h4.5v6.4h-4.9v-2.7h2.3v-1.1h-3l-17 10.2v2.3h3.7v-1.2H146V403h4.2v6.4h-9.5v-4.5h-4.5v-6.4h4.9v2.6h-2.3v1.5h3z"/> + <path fill="#fff" d="M159.5 404.4v3H155v-1.9h1.5v-1.8h-3.4v5.6h8.7v-4.5h4.5V399h-3.7v2h1.8v2.2H161l-17.7-11.4v-2.6h4.9v1.9h-1.5v1.9h3.8v-5.7h-9.1v4.5h-4.6v5.7h3.8v-1.9h-1.9v-1.9h3.4zm1.2-10.6h3.7v2h-2.6v1.8h4.5V392h-4.5v-4.5h-8.7v5.7h3.4v-2H155v-1.8h5v3l-17.9 11h-3.4V401h2.3v-1.9h-3.8v5.7h4.2v4.5h8.7v-5.6h-3.4v1.8h1.5v2h-5v-3z"/> + <path fill="#383739" d="M190.5 399.9v9.4h-3.8V406h-4.1v3.4h-4.2V400h3.8v3.4h4.2V400zm-14.3 12.4v9.5h-3.8v-3.4h-4.2v3.4h-3.8v-9.5h3.8v3.4h3.8v-3.4zm14.3-15v-9.9h-3.8v3.4h-4.1v-3.4h-4.2v9.5h3.8v-3.5h4.2v3.8zm-78.6 2.6v9.4h3.8V406h4.1v3.4h4.2V400h-3.8v3.4h-4.1V400zm0-3v-9.5h3.8v3.4h4.1v-3.4h4.2v9.5h-3.8v-3.5h-4.1v3.8zm64.3-12.5v-9.5h-3.8v3.4h-4.2V375h-3.8v9.5h3.8V381h3.8v3.8zm-50 28v9.4h3.8v-3.4h4.2v3.4h4.2v-9.5h-3.8v3.4h-4.2v-3.4zm0-28v-9.5h3.8v3.4h4.2V375h4.2v9.5h-3.8V381h-4.2v3.8zm52.2-6.4v7.1h13.3zM124 419v-7.5h-13.2zm0-41.5v7.5h-13.2zm54.4 41.5v-7.5h13.3z"/> + <path fill="#d22630" d="M186.7 405.5v3.8h3.4v-9h-3.4v3.4h-4.5v-3.4h-3.8v8.6h3.8v-3.4zM172.4 418v3.8h3.4v-9h-3.4v3.3h-4.6v-3.4h-3.4v8.7h3.4V418zm14.3-26.8v-3.4h3.4v8.7h-3.4V393h-4.5v3.8h-3.8v-9.1h3.8v3.4zm-71 14.3v3.8h-3.4v-9h3.4v3.4h4.5v-3.4h3.8v8.6h-3.8v-3.4zm0-14.3v-3.4h-3.4v8.7h3.4V393h4.5v3.8h3.8v-9.1h-3.8v3.4zm56.7-12.5v-3.4h3.4v8.7h-3.4v-3.4h-4.6v3.8h-3.4v-9h3.4v3.3zM130 418v3.8h-3.4v-9h3.4v3.3h4.6v-3.4h3.8v8.7h-3.8V418zm0-39.3v-3.4h-3.4v8.7h3.4v-3.4h4.6v3.8h3.8v-9h-3.8v3.3z"/> + <path fill="#ffc72c" d="M178.8 378.3v6.5h11.3zm-66.9 34 11.3 6v-6z"/> + <path fill="#fff" d="m123.6 378.3-11.3 6.5h11.3zm55.2 34v6l11.3-6z"/> + <path fill="#ffc72c" d="M205.6 424.8c-.7 2.7-3 4.6-3.4 7.6-1-3-1.8-5.7-1-8.7 0-2.3 2.2-3.8 2.6-6.4q2.5 2.8 1.8 7.5m.4 11.4a18 18 0 0 1-6.8 5.6c.4-2.2-.7-3.8-1.9-5.6-1.1-2-1.9-3.8-.7-6.5a14 14 0 0 0 1.9 3.4c1.1 1.5 2.2 3 2.2 5.3 1.5-1.1 2-2.6 2.7-4.1a13 13 0 0 1 5.3-5.3c-.8 2.6-1.2 4.9-2.7 7.2m-9.8 7.5.4 3.8 4.1-3c2-2 4.2-2.7 5.7-5a10 10 0 0 1-3.8 7.2l-7.5 5q-.1-3.9-2-7.6a7 7 0 0 1 2-6q0 2.8 1.1 5.2zm-5.7 8.7-3 5.3q3.8-1.4 7.6-3.8c2.6-1.5 5.6-2.2 8.3-4.5-1.2 4.9-4.6 7.5-9 9-3.1.8-6.1.4-10 2a27 27 0 0 1 2.7-7.6l2.7-5.3q1.2 2.1.7 5zm-9.8 7.2a12 12 0 0 1-3.8 3.8c3.8 0 6.8-2 10.6-2.3 2.3 0 4.5.8 6.8.4-2.6 1.9-5.7 3.8-9 3.8-4.2.7-8.4 0-13 0 2.3-1.6 3.5-3.8 4.6-5.7 2-3 3.8-5 7.2-5.3-1.5 1.5-2.3 3.8-3.4 5.3m-13.2 6c6.4 1.2 12.8 2.7 19.6 2.7a30 30 0 0 1-22.3.4c-3.8-1.2-7.2-2.3-10.2-2-4.1 0-9.8 2.3-15.9 8.4l-2.2-1.9c8.7-7.6 20-9.5 31-7.6"/> +</svg> diff --git a/apps/web/public/flags/tn.svg b/apps/web/public/flags/tn.svg new file mode 100644 index 00000000..5735c198 --- /dev/null +++ b/apps/web/public/flags/tn.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-tn" viewBox="0 0 640 480"> + <path fill="#e70013" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M320 119.2a1 1 0 0 0-1 240.3 1 1 0 0 0 1-240.3M392 293a90 90 0 1 1 0-107 72 72 0 1 0 0 107m-4.7-21.7-37.4-12.1-23.1 31.8v-39.3l-37.4-12.2 37.4-12.2V188l23.1 31.8 37.4-12.1-23.1 31.8z"/> +</svg> diff --git a/apps/web/public/flags/to.svg b/apps/web/public/flags/to.svg new file mode 100644 index 00000000..d0723370 --- /dev/null +++ b/apps/web/public/flags/to.svg @@ -0,0 +1,10 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-to" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#c10000" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M0 0h250v200.3H0z"/> + <g fill="#c10000"> + <path d="M102.8 31.2h39.9v139.6h-39.8z"/> + <path d="M192.6 81v40H53V81z"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/tr.svg b/apps/web/public/flags/tr.svg new file mode 100644 index 00000000..b96da21f --- /dev/null +++ b/apps/web/public/flags/tr.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-tr" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#e30a17" d="M0 0h640v480H0z"/> + <path fill="#fff" d="M407 247.5c0 66.2-54.6 119.9-122 119.9s-122-53.7-122-120 54.6-119.8 122-119.8 122 53.7 122 119.9"/> + <path fill="#e30a17" d="M413 247.5c0 53-43.6 95.9-97.5 95.9s-97.6-43-97.6-96 43.7-95.8 97.6-95.8 97.6 42.9 97.6 95.9z"/> + <path fill="#fff" d="m430.7 191.5-1 44.3-41.3 11.2 40.8 14.5-1 40.7 26.5-31.8 40.2 14-23.2-34.1 28.3-33.9-43.5 12-25.8-37z"/> + </g> +</svg> diff --git a/apps/web/public/flags/tt.svg b/apps/web/public/flags/tt.svg new file mode 100644 index 00000000..bc24938c --- /dev/null +++ b/apps/web/public/flags/tt.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-tt" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#e00000" fill-rule="evenodd" d="M463.7 480 0 1v478.8zM176.3 0 640 479V.2z"/> + <path fill="#000001" fill-rule="evenodd" d="M27.7.2h118.6l468.2 479.3H492.2z"/> +</svg> diff --git a/apps/web/public/flags/tv.svg b/apps/web/public/flags/tv.svg new file mode 100644 index 00000000..675210ec --- /dev/null +++ b/apps/web/public/flags/tv.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-tv" viewBox="0 0 640 480"> + <path fill="#009fca" d="M0 0h640v480H0z"/> + <path fill="#fff40d" fill-rule="evenodd" d="M593.3 122.7H621l-22.3 15.2 8.5 24.7-22.3-15.3-22.2 15.3 8.5-24.7-22.3-15.2h27.5l8.5-24.7zm-69.2 196.8h27.6l-22.3 15.2 8.5 24.7-22.3-15.3-22.3 15.3 8.6-24.7-22.3-15.2H507l8.5-24.7zm69.2-44.6H621l-22.3 15.2 8.5 24.7-22.3-15.3-22.2 15.3 8.5-24.7-22.3-15.2h27.5l8.5-24.7zM295.8 417.7h27.6L301 432.8l8.6 24.6-22.3-15.2-22.3 15.2 8.6-24.6-22.4-15.3h27.6l8.5-24.6zm62.6-76.5h-27.6l22.3-15.3-8.5-24.6 22.3 15.2 22.3-15.2-8.6 24.6 22.3 15.3h-27.5l-8.5 24.6zm81.3-112.5H412l22.3-15.2-8.5-24.7 22.3 15.3 22.3-15.3-8.6 24.7 22.3 15.2h-27.5l-8.5 24.7zm68.3-23.3h-27.6l22.4-15.3-8.6-24.6 22.3 15.2 22.3-15.2-8.6 24.6 22.4 15.3H525l-8.5 24.6zM439.7 400H412l22.3-15.2L426 360l22.3 15.2 22.3-15.2-8.6 24.7 22.3 15.2h-27.5l-8.5 24.7zm-81.3 19.9h-27.6l22.3-15.2-8.5-24.7 22.3 15.2 22.3-15.2-8.6 24.6L403 420h-27.5l-8.5 24.7z"/> + <path fill="#012169" d="M0 0h320v240H0z"/> + <path fill="#FFF" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/> + <path fill="#C8102E" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/> + <path fill="#FFF" d="M120.5 0v240h80V0zM0 80v80h320V80z"/> + <path fill="#C8102E" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/> +</svg> diff --git a/apps/web/public/flags/tw.svg b/apps/web/public/flags/tw.svg new file mode 100644 index 00000000..57fd98b4 --- /dev/null +++ b/apps/web/public/flags/tw.svg @@ -0,0 +1,34 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-tw" viewBox="0 0 640 480"> + <clipPath id="tw-a"> + <path d="M0 0h640v480H0z"/> + </clipPath> + <g clip-path="url(#tw-a)"> + <path fill="red" d="M0 0h720v480H0z"/> + <path fill="#000095" d="M0 0h360v240H0z"/> + <g fill="#fff"> + <path d="m154 126.9-2.5 9.6 9.4 2.6-1.8-7.1zm46.9 5.1-1.8 7.1 9.4-2.6-2.5-9.6zm-41.8-24-5.1 5.1 1.9 6.9z"/> + <path d="m155.9 120-1.9 6.9 5.1 5.1z"/> + <path d="m154 113.1-6.9 6.9 6.9 6.9 1.9-6.9zm14 27.8 5.1 5.1 6.9-1.9zm18.9 5.1 9.6 2.5 2.6-9.4-7.1 1.8z"/> + <path d="m192 140.9 7.1-1.8 1.8-7.1zm-31.1-1.8 2.6 9.4 9.6-2.5-5.1-5.1zm19.1 5 6.9 1.9 5.1-5.1z"/> + <path d="m173.1 146 6.9 6.9 6.9-6.9-6.9-1.9zm-12.2-45.1-9.4 2.6 2.5 9.6 5.1-5.1zm-1.8 31.1 1.8 7.1 7.1 1.8zm45-12 1.9-6.9-5.1-5.1z"/> + <path d="m168 99.1-7.1 1.8-1.8 7.1zm32.9 8.9-1.8-7.1-7.1-1.8zm5.1 18.9 6.9-6.9-6.9-6.9-1.9 6.9z"/> + <path d="m200.9 108-8.9-8.9-12-3.2-12 3.2-8.9 8.9-3.2 12 3.2 12 8.9 8.9 12 3.2 12-3.2 8.9-8.9 3.2-12z"/> + <path d="m200.9 132 5.1-5.1-1.9-6.9zm5.1-18.9 2.5-9.6-9.4-2.6 1.8 7.1zm-6.9-12.2-2.6-9.4-9.6 2.5 5.1 5.1zm-26-6.9-9.6-2.5-2.6 9.4 7.1-1.8zm6.9 1.9-6.9-1.9-5.1 5.1z"/> + <path d="m186.9 94-6.9-6.9-6.9 6.9 6.9 1.9z"/> + <path d="m192 99.1-5.1-5.1-6.9 1.9zM173.1 146l-9.6 2.5 4.5 16.6 12-12.2zm-5.1 19.1 12 44.9 12-44.9-12-12.2zm-7.1-26-9.4-2.6-4.4 16.4 16.4-4.4z"/> + <path d="m147.1 152.9-12 45.1 32.9-32.9-4.5-16.6zm-12-20.9L102 165.1l45.1-12.2 4.4-16.4z"/> + <path d="m154 126.9-6.9-6.9-12 12 16.4 4.5zm0-13.8-2.5-9.6-16.4 4.5 12 12z"/> + <path d="M135.1 108 90 120l45.1 12 12-12zm90 24-16.6 4.5 4.4 16.4 45.1 12.2z"/> + <path d="m199.1 139.1-2.6 9.4 16.4 4.4-4.4-16.4zm-12.2 6.9-6.9 6.9 12 12.2 4.5-16.6zm19.1-19.1 2.5 9.6 16.6-4.5-12.2-12z"/> + <path d="m192 165.1 33.1 32.9-12.2-45.1-16.4-4.4zm7.1-64.2 9.4 2.6 4.4-16.4-16.4 4.4z"/> + <path d="M225.1 108 258 75.1l-45.1 12-4.4 16.4zm-12.2-20.9L225.1 42 192 75.1l4.5 16.4zm12.2 44.9 44.9-12-44.9-12-12.2 12z"/> + <path d="m206 113.1 6.9 6.9 12.2-12-16.6-4.5zm-38-38L135.1 42l12 45.1 16.4 4.4z"/> + <path d="m160.9 100.9 2.6-9.4-16.4-4.4 4.4 16.4z"/> + <path d="m147.1 87.1-45.1-12 33.1 32.9 16.4-4.5zm39.8 6.9 9.6-2.5-4.5-16.4-12 12z"/> + <path d="M192 75.1 180 30l-12 45.1 12 12z"/> + <path d="m173.1 94 6.9-6.9-12-12-4.5 16.4z"/> + </g> + <circle cx="180" cy="120" r="51.1" fill="#000095"/> + <circle cx="180" cy="120" r="45.1" fill="#fff"/> + </g> +</svg> diff --git a/apps/web/public/flags/tz.svg b/apps/web/public/flags/tz.svg new file mode 100644 index 00000000..a2cfbca4 --- /dev/null +++ b/apps/web/public/flags/tz.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-tz" viewBox="0 0 640 480"> + <defs> + <clipPath id="tz-a"> + <path fill-opacity=".7" d="M10 0h160v120H10z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#tz-a)" transform="matrix(4 0 0 4 -40 0)"> + <path fill="#09f" d="M0 0h180v120H0z"/> + <path fill="#090" d="M0 0h180L0 120z"/> + <path fill="#000001" d="M0 120h40l140-95V0h-40L0 95z"/> + <path fill="#ff0" d="M0 91.5 137.2 0h13.5L0 100.5zM29.3 120 180 19.5v9L42.8 120z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ua.svg b/apps/web/public/flags/ua.svg new file mode 100644 index 00000000..a339eb1b --- /dev/null +++ b/apps/web/public/flags/ua.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ua" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="gold" d="M0 0h640v480H0z"/> + <path fill="#0057b8" d="M0 0h640v240H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ug.svg b/apps/web/public/flags/ug.svg new file mode 100644 index 00000000..520eee5c --- /dev/null +++ b/apps/web/public/flags/ug.svg @@ -0,0 +1,30 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ug" viewBox="0 0 640 480"> + <defs> + <clipPath id="ug-a"> + <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/> + </clipPath> + </defs> + <g clip-path="url(#ug-a)" transform="translate(80)scale(.9375)"> + <path fill="#ffe700" fill-rule="evenodd" d="M-128 341.4h768v85.3h-768z"/> + <path fill="#000001" fill-rule="evenodd" d="M-128 256h768v85.3h-768z"/> + <path fill="#de3908" fill-rule="evenodd" d="M-128 170.7h768V256h-768z"/> + <path fill="#ffe700" fill-rule="evenodd" d="M-128 85.4h768v85.3h-768z"/> + <path fill="#000001" fill-rule="evenodd" d="M-128 0h768v85.3h-768z"/> + <path fill="#fffdff" fill-rule="evenodd" stroke="#000" d="M335.7 256a79.7 79.7 0 1 1-159.4 0 79.7 79.7 0 0 1 159.4 0z"/> + <path fill="#de3108" fill-rule="evenodd" stroke="#000" d="m242 194.9-5.2-9.5c2-2 5.3-3.6 10.7-3.6l-.6 10.5z"/> + <path fill="#ffe700" fill-rule="evenodd" stroke="#000" d="m247 192.3.7-10.5s10.7-.6 16.5 6.4l-5.7 8.2z"/> + <path fill="#de3108" fill-rule="evenodd" stroke="#000" d="m258.6 196.3 5.3-8.2c3.5 3.7 5 6.3 5.5 10.3.1.1-8.3 2.1-8.3 2z"/> + <path fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".9" d="M244.6 331.1s9.9-11.3 29.1-8.9c-2.9-4.7-12.3-4.1-12.3-4.1s-2.8-22-.6-23.2 12 .1 12 .1c1.2 0 3.4-3.4 1.6-5.6s-6.8-10.5-4.7-12.2 13.4 1 13.4 1l-32-41s-3.3-15.5 3.3-23c7.9-6.5 7-13.6 6.8-13.5-1.1-7.2-12-12.3-19.4-5.7-4.3 5.2-1.4 9.2-1.4 9.2s-11.5 3.1-11.9 5.1 12.9-.3 12.9-.3l-1.3 9.1s-26 23.6-6 44l.6-.8s7 8.6 14.3 10.5c7 7 6.3 6 6.3 6s1.3 11.1 0 13.3c-1.7-.5-19.3-1.2-21.9-.2-2.4.8-11.4.3-9.2 15.1l3.3-7.5s-.3 5.3 1.9 7.2c-.4-5.6 2.1-9.4 2.1-9.4s.4 6.2 1.8 7c1.4 1 1.4-10 9-9 7.4.9 12.9.6 12.9.6s2.5 21.4 1.7 23.4c-5.4-1.3-18.4.5-19.2 3.8 7.6-.5 11.1.4 11.1.4s-6.1 5.5-4.2 8.6"/> + <path fill="#9ca69c" fill-rule="evenodd" stroke="#9ca69c" stroke-linecap="round" stroke-linejoin="round" stroke-width=".9" d="M247.6 214.8s-18.9 20.8-10.7 36.7c.4-2.2.2-3.6.5-3.5-.5-.3 2.3 1.9 2.1 1.5 0-1.2-.8-3.7-.8-3.7l2.5.7-1.5-2.8 3.7.4s-1.3-3.4-.9-3.4l3 .2c-5.4-9.6-.3-17.6 2.1-26.2z"/> + <path fill="#9ca69c" fill-rule="evenodd" stroke="#9ca69c" d="M254.2 196.9s1 7.2-3 9.2c-.5.5-3 1.3-2.6 2.8.4 2 1.5 1.6 3 1.2 4.1-.7 8.9-9.4 2.6-13.2z"/> + <path fill="#fff" fill-rule="evenodd" d="M247.2 203a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0"/> + <path fill="#de3108" fill-rule="evenodd" stroke="#000" d="M241.1 209c-1 .9-6.2 6.3-1 8.3 5.3-1.4 3.8-2.4 5-3.6 0-2.5-2.6-3.1-4-4.6z"/> + <path fill="#9ca69c" fill-rule="evenodd" stroke="#9ca69c" stroke-linecap="round" stroke-linejoin="round" stroke-width=".9" d="M252.6 260.5c-.3 1.2-1.5 5.6.1 9 4.6-2 6.7-1.4 8.2-.4-3.7-3-5.2-4.3-8.3-8.6"/> + <path fill="#fff" fill-rule="evenodd" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width=".9" d="m260.4 281.1.2 10.2s3.6.6 5.2 0 0-7-5.4-10.2"/> + <path fill="#9ca69c" fill-rule="evenodd" stroke="#000" d="M286 282.4s-6.5-15.8-23.2-19.8-14.5-21.8-13.2-22.9c.8-1.5 1.3-3.9 6.1-1.6s27 13.4 30.2 14 .4 30.7.2 30.3z"/> + <path fill="#de3108" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".9" d="M270.2 262.5c-.3.2 22.3 13.4 15.5 24.7 6.4-4.3 4.4-11.7 4.4-11.7s5.2 13.7-7.6 20.4c1.4 1.2 2.3 1 2.3 1l-2.2 2.1s-1 1.7 7.6-2.5c-2.3 1.9-2.5 3.3-2.5 3.3s.6 1.8 6.2-3.1c-4.5 4.9-5.5 7.4-5.5 7.3 12.3-1 39-41-8.4-52.7l2.1 2.2z"/> + <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".9" d="M271.2 258.6c3 2.2 4.1 3 4.5 4-2.8-.6-5.3-.4-5.3-.4s-6.1-5.8-7.2-6.3c-.8 0-5.6-3-5.6-3-2.3-1.2-4.5-9.3 4.2-7a93 93 0 0 0 10.3 4.6l10.7 3.4 6.2 6.9s-11-5.4-12.4-5.5c3 2.4 4.7 5.8 4.7 5.8-3.5-1-6.5-2-10.1-2.5"/> + <path fill="none" stroke="#fff" stroke-linecap="round" stroke-width=".9" d="M228.4 209.9s10.5-2.6 11.8-2.2"/> + <path fill="#de3908" fill-rule="evenodd" d="M-128 426.7h768V512h-768z"/> + </g> +</svg> diff --git a/apps/web/public/flags/um.svg b/apps/web/public/flags/um.svg new file mode 100644 index 00000000..9e9eddaa --- /dev/null +++ b/apps/web/public/flags/um.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-um" viewBox="0 0 640 480"> + <path fill="#bd3d44" d="M0 0h640v480H0"/> + <path stroke="#fff" stroke-width="37" d="M0 55.3h640M0 129h640M0 203h640M0 277h640M0 351h640M0 425h640"/> + <path fill="#192f5d" d="M0 0h364.8v258.5H0"/> + <marker id="um-a" markerHeight="30" markerWidth="30"> + <path fill="#fff" d="m14 0 9 27L0 10h28L5 27z"/> + </marker> + <path fill="none" marker-mid="url(#um-a)" d="m0 0 16 11h61 61 61 61 60L47 37h61 61 60 61L16 63h61 61 61 61 60L47 89h61 61 60 61L16 115h61 61 61 61 60L47 141h61 61 60 61L16 166h61 61 61 61 60L47 192h61 61 60 61L16 218h61 61 61 61 60z"/> +</svg> diff --git a/apps/web/public/flags/un.svg b/apps/web/public/flags/un.svg new file mode 100644 index 00000000..632bbb4a --- /dev/null +++ b/apps/web/public/flags/un.svg @@ -0,0 +1,16 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-un" viewBox="0 0 640 480"> + <path fill="#4b92db" fill-rule="evenodd" d="M0 0h640v480H0z"/> + <g transform="translate(-40.6)scale(.6)"> + <path id="un-a" fill="#fff" d="M663.9 587a71 71 0 0 1-9.5 8.6c-21.2-22-46.2-46.2-69.9-46.2-14.7 0-25.2 11.2-37.6 19-17.1 11-40.6 17.2-60.7 9.1a66 66 0 0 1-29.2-20 64 64 0 0 0 57.5 5c19.7-8.2 39.9-19.1 62.4-19.1 33.2 0 64.8 22.5 87 43.6m-245.6-69c22 25 57.9 17 87.2 23.2 4.1 1 8 2.3 12.4 1.6-3.5-2.2-8.2-2.5-12.2-4-22.8-8.6-26.3-33-38.8-49.7 16 10.6 29.1 25 44 38.7a74 74 0 0 0 36.7 16.2c-3.2 1.2-7.4 1-11 1.8-24 6-50.6 15.4-76.2 7a75 75 0 0 1-42-34.8zm-35.2-58c13.7 31.1 48.2 33.6 71 52.6a64 64 0 0 0 13.5 9.2l.3-.2a100 100 0 0 1-15.1-16.5c-13.1-19-8.8-45-18.9-65.2a142 142 0 0 1 23.1 34.9c8.5 20.2 11.4 43.3 30.5 58.7-20.7-6.8-44.5-5.5-63-17.6-19.6-12.8-37.7-33-41.4-55.8zm-14.7-62.8c2 27.4 31 42 45 64.5 3 4.8 6 9.8 10.3 13.6-.7-2.9-3-5.5-4.4-8.3a63 63 0 0 1-5.3-32.3c1.3-14 7.1-27 4.9-41.7 12 25.9 8.1 58.2 15 86.1 1.6 6.2 5.3 11.6 7.6 17.5-11.7-9-27.1-17-40-27a86 86 0 0 1-29-36.5 85 85 0 0 1-4.1-35.9m.8-50.4c1.4-6.1 2.5-12.4 5.1-18-5 25.8 12.2 44.4 18 66.8 2.2 8.4 3 17.3 6.4 25.2q.5 0 .8-.4c-8.5-23.8 4-45.8 16-64.5a55 55 0 0 0 6.2-16.5c1.3 10.8-1 23.2-3 34.3-2.5 14.3-7.4 27.7-11.3 41.5a65 65 0 0 0-.5 27.4l-1.3-1c-9-16.6-26.8-29.6-32.1-47.8a103 103 0 0 1-4.3-47m9.5-27.8a79 79 0 0 1 19-50q.4-.4 1-.4c-12.6 19-1.1 43.2-2.8 64.9l-1.6 22.2c.2.2.2.9.8.6.8-2.5 1-5.1 1.4-7.7 3-18 18.8-30.4 32.1-43a29 29 0 0 0 7-10.4c-1.1 9-3.6 18.1-7.6 26.2-10.3 20.8-30.1 37.6-33.7 61.3-1.7-22.7-15.6-39.6-15.6-63.7m33-65.9a46 46 0 0 1 22-14.6c-16.5 11.3-15.6 31.4-20.6 48.2-1.8 6.1-4.5 11.9-6 18.2l.5.4a54 54 0 0 1 13.5-19.9c11.5-10.8 28.8-17.4 34.5-33.3-.3 22.1-19.1 38.9-36.3 51.9a63 63 0 0 0-18.2 21.8c.6-6 1-11.2.4-17.1-1.8-19.3-3-41 10.3-55.6zm66.5-37.1c-12.1 10.7-20.2 24.4-29.6 36.7-7.7 10.3-18.4 16.6-27.5 25.2 5-10.2 5.8-22 12.1-31.9 10.7-17 28.5-23.6 45-30"/> + <use xlink:href="#un-a" width="100%" height="100%" transform="matrix(-1 0 0 1 1202.2 0)"/> + </g> + <path fill="#fff" d="m409 262-2.1-1.2a97 97 0 0 1-17.9 25.4l-12.5-12.6a79 79 0 0 0 14.7-21.3l-2.1-1.2a77 77 0 0 1-14.4 20.8l-11.4-11.4a60 60 0 0 0 11.6-17.1l-2.1-1.2a58 58 0 0 1-11.2 16.6l-12.5-12.5a40 40 0 0 0 8-12.6l-2.1-1.2a38 38 0 0 1-7.6 12l-11.5-11.4a21 21 0 0 0 5.4-13h16.2a37 37 0 0 1-2.5 12.4l2.1 1.2a40 40 0 0 0 2.8-13.6h17.8a57 57 0 0 1-5 22.1l2.2 1.2a60 60 0 0 0 5.2-23.3h16.2a76 76 0 0 1-7.2 31l2.1 1.2a78 78 0 0 0 7.4-32.2h17.9a96 96 0 0 1-9.6 40.7za99 99 0 0 0 10-43 99 99 0 0 0-7.2-37.1l-2.2 1a96 96 0 0 1 7 34.9h-17.9a79 79 0 0 0-5.5-28l-2.2 1a76 76 0 0 1 5.4 27H380a60 60 0 0 0-4-20.6l-2.2 1a58 58 0 0 1 3.8 19.6H360a40 40 0 0 0-2.4-12.6l-2.2 1a38 38 0 0 1 2.2 11.6h-16.2a21 21 0 0 0-5.4-13l11.5-11.5a37 37 0 0 1 7.9 12.8l2.2-.9a40 40 0 0 0-8.4-13.6l12.6-12.6a58 58 0 0 1 12.2 19.2l2.2-1a60 60 0 0 0-12.8-19.9l11.5-11.4a76 76 0 0 1 16.1 25l2.2-1a79 79 0 0 0-16.7-25.7l12.6-12.6a96 96 0 0 1 20.5 31.3l2.2-1a99 99 0 0 0-21.8-32.8 99 99 0 0 0-33-21.9l-.8 2.3a96 96 0 0 1 31.3 20.4l-12.6 12.6a79 79 0 0 0-25.2-16.4l-1 2.2a76 76 0 0 1 24.5 16l-11.4 11.4a60 60 0 0 0-19-12.4l-.8 2.2a58 58 0 0 1 18 11.8l-12.5 12.6a40 40 0 0 0-12-7.8l-.9 2.3a37 37 0 0 1 11.2 7.2L334.2 203a21 21 0 0 0-13-5.4v-16.2a37 37 0 0 1 13.3 2.9l.9-2.2a40 40 0 0 0-14.2-3.1v-17.8a58 58 0 0 1 20.7 4.2l.9-2.2a60 60 0 0 0-21.6-4.4v-16.2a76 76 0 0 1 27.5 5.6l.8-2.2a79 79 0 0 0-28.3-5.7v-17.9a96 96 0 0 1 34.9 7l.8-2.3a99 99 0 0 0-36.9-7 98 98 0 0 0-44.2 10.4l1 2a96 96 0 0 1 42-10v17.8a78 78 0 0 0-33.7 8.1l1.1 2a76 76 0 0 1 32.6-7.8v16.2a60 60 0 0 0-25 6l1 2.1a58 58 0 0 1 24-5.7V179a40 40 0 0 0-15.7 3.8l1 2a37 37 0 0 1 14.7-3.4v16.2a21 21 0 0 0-7 1.6l1 2a19 19 0 0 1 7.2-1.3 19 19 0 0 1 13.4 5.5A19 19 0 0 1 339 219a19 19 0 0 1-19 19 19 19 0 0 1-13.4-5.6A19 19 0 0 1 301 219a19 19 0 0 1 5.6-13.5 19 19 0 0 1 6.2-4.1l-1.1-2.1a21 21 0 0 0-6 3.8l-11.4-11.5a38 38 0 0 1 9.9-6.7l-1.1-2a40 40 0 0 0-10.5 7L280 177.3a58 58 0 0 1 14.8-10.3l-1-2a60 60 0 0 0-15.4 10.7L266.9 164a76 76 0 0 1 19.3-13.6l-1-2a79 79 0 0 0-20 14l-12.6-12.7a97 97 0 0 1 24.3-17.2l-1.1-2.1a100 100 0 0 0-44.5 44.8l2 1a97 97 0 0 1 17.6-24.8l12.7 12.7a79 79 0 0 0-14.5 20.7l2 1.1a76 76 0 0 1 14.1-20.2l11.5 11.4a60 60 0 0 0-11.3 16.5l2 1.1a58 58 0 0 1 11-15.9l12.6 12.6a40 40 0 0 0-7.8 11.8l2.1 1.2a37 37 0 0 1 7.3-11.3l11.5 11.4a21 21 0 0 0-5.4 13.1h-16.2a38 38 0 0 1 2.8-13.2l-2-1.2a40 40 0 0 0-3.2 14.4h-17.8a58 58 0 0 1 5.2-22.9l-2-1a60 60 0 0 0-5.6 23.9h-16.2a76 76 0 0 1 7.5-31.7l-2.1-1.1a78 78 0 0 0-7.7 32.8h-17.9a96 96 0 0 1 9.9-41.3l-2.1-1.1a98 98 0 0 0-10.2 43.6 99 99 0 0 0 4 27.9l2.3-.6a97 97 0 0 1-3.9-26.1h17.9a79 79 0 0 0 3.3 21.7l2.3-.6a76 76 0 0 1-3.3-21.1H260a60 60 0 0 0 2.8 17.2l2.4-.6a58 58 0 0 1-2.8-16.6H280a40 40 0 0 0 2.3 12.2l2.3-.6a38 38 0 0 1-2.2-11.6h16.2a21 21 0 0 0 5.4 13l-11.5 11.5a37 37 0 0 1-7.9-12.9l-2.3.6a40 40 0 0 0 8.6 14l-12.7 12.6a58 58 0 0 1-13.2-22.2l-2.4.6a60 60 0 0 0 14 23.3L265.2 272a76 76 0 0 1-18.1-30.8l-2.3.6a78 78 0 0 0 18.7 31.9L251 286.3a96 96 0 0 1-23.5-40.1l-2.4.6a98 98 0 0 0 25 42 99 99 0 0 0 27.3 19.4l1.2-2.1a96 96 0 0 1-26-18.1l12.6-12.6a79 79 0 0 0 22.1 15l1.2-2a76 76 0 0 1-21.6-14.7l11.4-11.4a60 60 0 0 0 18.2 12l1.2-2.1a58 58 0 0 1-17.7-11.6l12.6-12.6a40 40 0 0 0 14 8.5l1.1-2.1a37 37 0 0 1-13.4-8.1l11.5-11.5a21 21 0 0 0 13 5.4v16.2a38 38 0 0 1-11-2l-1.3 2a40 40 0 0 0 12.3 2.4v17.8a58 58 0 0 1-21.1-4.4l-1.2 2a60 60 0 0 0 22.3 4.8v16.2a76 76 0 0 1-30.3-6.8l-1.2 2a78 78 0 0 0 31.5 7.2v17.8a96 96 0 0 1-40.2-9.3l-1.2 2a99 99 0 0 0 42.6 9.7c15.8 0 31-3.7 44.6-10.6l-1.2-2.2a96 96 0 0 1-42.2 10.4v-17.9a78 78 0 0 0 34-8.3l-1-2.1a76 76 0 0 1-33 8v-16a60 60 0 0 0 25.6-6.4l-1.1-2.1a57 57 0 0 1-24.5 6v-17.8a40 40 0 0 0 16.3-4l-1-2.2a37 37 0 0 1-15.3 3.8v-16.2a21 21 0 0 0 13-5.4l11.5 11.5a38 38 0 0 1-9.3 6.3l1.1 2.2a40 40 0 0 0 9.9-6.8l12.6 12.5a58 58 0 0 1-14.3 10.1l1 2.1a60 60 0 0 0 15-10.5l11.4 11.4a77 77 0 0 1-19 13.5l1.2 2.1a79 79 0 0 0 19.5-13.9l12.5 12.6a97 97 0 0 1-23.9 17.1l1.2 2.2a99 99 0 0 0 25.3-18.4A99 99 0 0 0 409 262"/> + <path fill="#fff" d="M325.7 196h-.6v.7h.6zm-1.5-1h.8v.6h-.8zm-1.4-.2.6.1.1-.6h-.7zm-.6-.2h-.7v-.7l.8.1zm-5.8-.8h.8v.6h-.8zm-1.7 1.2.7.1v-.6h-.6zm0 1-.7-.3v-.6l.9.3zm-1.4.7v-.6l.5-.1.1.6zm-78.6 61.6v-.5h-.5v1h.8v1.3h.6v-1.5zm7.5 9-1-1-.9-1.1-.4-1-.7-1.8 1.5.8.5 1.4.7.5.7 1.5zm20.7 27.1-.1-.9-.9-1.2 1.3.2 1.2 1.1.6 1.3-.8.4-.3-.6zm54-91.9h-1l-.3-2.2.6-.4v-1.1h-3.5v-1.1l.4-.3-.8-.3-.6.8-.2.9-1 .2v.5h-.7v1.3l-2.8 2.3-5.6-.2c-.3 1-1.3 0-1.3 0-.3-.7-1.6 0-1.6 0 0 1-2-.6-2-.6l-3.4-2.5c-2-1.8-5 .5-5.1 1 0 1.4-2.3.3-2.3.3s-2-.6-2.3.2-1.6.6-1.6.6l-.2.4-1 .2-.2.6-1.2.2h3c.8-.2-.3 1.7-.8 1.6H280l-.5.6h-1.3l-.6.8-1.9-.1s-1 .9-1 1.2c.1.3-.2 1.2-.5 1.2s-.9 1-.7 1.2c.2.3-.6 1.3-.6 1.3l-.2 1-.6.3v2.7l-1.2.8v1.2l-1.8 2 .2 1.5-1.5 1.7.2 1.6-.9.3-.2.7-.4 2.1 1 .1c.5-.2.4 1.3 0 1.6-.4.2-1.5.6-.9 1s-1.6.3-1.6-.3-1.2-1.2-1.5-1-.8-.9-.8-.9c-1-1-4.4.1-4.4.1l-.5 1.7c-1.1.1-1.8 2-1.8 2-1 .3-1.6 1.4-1.3 1.7s-.5.4-.5.4v2.2l-.5.7v2.5c.7 0 .6 1 .6 1-1 .2-.8 1.5-.8 1.5l-2.1.7-.4.6h-2.6l-.7.6-.7-.7h-5l-.2-.5-1-.2v-1.1h-1.6l-.3.7-1.6.1c.1 1-1.6 2.5-1.8 2.1s-1.3-1.5-.8-1.7l1.8-.4v-.7l-3.7-.1-.4.6-1.5.1v1.6l-.7.2c-.5.3.1 1.4.1 1.4.7.7 0 1.9 0 1.9-.7.6.4 1.7.4 1.7.8.2-.5.8-.5.8.2 1 .8 1.3.8 1.3-.6 1 .4 1.5.4 1.5l.1 1.7.7.4v1.2l.4.7h1.6v-2.6c-1.5-1.6 1.1-2 1.2-1.4s1.2 1 1.2 1c.2 1.5 2 2.4 2.4.8.5-1.5 1-.6 1.2.1.3.8 2.2 2.5 2.2 2.5h1.5l.2 1.4c1.7-.1 2.2 0 2.9 2.4a4 4 0 0 0 2.6 3l1.4-.1c0-1.3 1.4.2 1.4.8s2.7 2.9 2.7 2.9l2.7.6 2.5 2 1.9-.2h.8c.5-1.7 2.9.1 3 .7s1.8 1.7 2 1.2 1.3-.2 1.5 1.3 1 1.2 1 1.2l5.6-.1 2-1.7 5.1-.1c2.6-.1 1-3.7.5-3.7-.9-.7.3-3.6.3-3.6l-7.3-6.8c-1.7 0-.2-2.4-.2-2.4 1.3-.8-.3-2.2-.3-2.2.2-1.2-.7-2.6-.7-2.6-1.8-1.2-1.3-3.5-1.3-3.5V245c-1.5-1.4.6-1.6.6-1.6.7-1.2-.5-2.1-.5-2.1V240l-1.7-.2-.2-4.8-3.6-5.1c-.7-.2-.2-1.5-.2-1.5 1-.5-.2-1.7-.2-1.7v-2.2l2-.2.5-.8h1v-2.6c.4-1.4 1.6-.7 1.6-.7l1.4.1.8-1.5.2-1.2h-1c-1.3-.8-.7-3.4-.7-3.4 2-2.9 4.1-1.2 4.1-1.2l1.4-.1c2.1 1.4.2 4 .2 4-.4.6-.2 2.5-.2 2.5l.5 3.3-1.3 1c-1 .7-1 2.1.1 2.4.8.1.5 2-.7.7-1.8 0 1 1.6.2 1.2 1.8 1 1.4-.8 1.4-.8l2.4-1.9c1-.7 2.5 1.5 2.5 1.8s4 .1 4 .1c1 .7 1.5 2.6 1.5 2.6 1-1.5 3.4-.1 1.7.7 1.6 1 1.6 1.9 1.6 1.9 1.3-.4 1.3.6 1.3.9l.4-1.5c-1.5-1.1 2-1.5 1 .5l-.6.9 1 .8v2.3c2.3-.2 1.7-2.9 1.7-2.9l1-.2c0-1 .7-.4.7-.4-.7-3.4 1.6-4 1.6-4 1.3-.4 1.4-3.1 1.4-3.1-1-.4-.4-1.8.6-.6s-.6-2.4-.6-2.4l-.8-.7-1.1-.1-.1-1.1h-1.8l-.3 1.4-.7.2-.2-.4-.3 1H296l-.1-1.1 1-.3.5-.6.3-1.7h1.3l1.7-.5c0-1.7 1-1.3 1-1.3l.6.5.9.7v.6l-.5.3-.1.8.3 1.2h.7c.3-1.7 2.4-1.7 3-.6l.6-1.5c-1.4-.7 0-1.8.4-1.3s1.3-1.3 1.3-1.3.7 1 0-.3c-.7-1.2.5-1.8.5-1.8-.2-1.2 1.3-1 1.3-1l.1-1.7h-1.4c-.3 1.4-1.5.1-.9-.2s1.2-.9 1.2-.9v-1l.6-.2.1-1h1.5l1.3-.6.3-.5 1.4-.1 2-1.8-.2-.8c-1.2 0 0-1 0-1z"/> + <path fill="#fff" d="m276.7 222.6-1.8-.2.1.7h.5c.8 1.4.1 4.8.1 4.8s-1.2.1-1.4-.5-.7 1.3-.3 1.7 1.8 0 2 1c0 1.2.8-.6.8-.6z"/> + <path fill="#fff" d="m276.7 231.2.6-.1.1-.7-1.5 1-1-.6v2.4l1.6 2.1.6-1.4.2-.9-.7-.3zm.8 6.4v-1h-.7v.9zm-.9 4.8v-.7l-.8.1v.7zm1.2-3.1a.4.4 0 0 0 0-.9.4.4 0 0 0-.4.5q0 .3.4.4"/> + <circle cx="278.5" cy="241" r=".4" fill="#fff"/> + <circle cx="278.5" cy="229.4" r=".4" fill="#fff"/> + <path fill="#fff" d="m312.4 214.5-1-.1-.3.5h-.5v.8h.5l.1.6-.4.4-.2.5-.8.2-1.8 1.7v.8l-.6.7-.6 1.6h-2l-.5 1.9.3 1.5 1.8.7.2-1 .6-.3.1-1 .4-.7.6-.7.2-.8 1-.6 1.2-.3.5-.6.2-1.2v-.9l.5-.6 1.2-.5v-2h-.6zm2.8 6.9v-1.5l-.2-1.3-1.5-.7-1 1-.3 1.4v1l-1 .2-.2 2.7-.8.3.1 1-1 .3-1.2.3-.2 1.3-.8.5-.4 1.3-.5 2.9s1 1.7 1.4.9c.5-.8 1.3-1 1.3-1l.3-.6h2.7c.2-1 1.5-.6 1.5-.1s1 0 1 0l.7-1h1.1l.1-1.3.5-.3V227c1.6-.5 1.4-2 1.4-2l.4-.5-.2-.7c-.8-.3-.4-1 .1-.8s-.7-1-.7-1c-.6.6-1-.5-1-.5zm1.6 12.2c0 1.2-1.6 1.6-1.6 1.6l-1-.3-.7-.5V233l.8-.1.2.6zm5.4-6.5c.2 1 .2-1.4.6-1.3s.1-1.4.1-1.4l-1.8 1.3c.9.1 1 1 1.1 1.4m5.3-5.2c.4.9.3 2.2 1.8 3.2.5.3-.3 1-.8.7l-2-2.5V222c.4-.8.8-.5 1-.1m.3 31 .3.5.7-1-.6-.3-.7.5zM325 251v1.2m14.4-2.6.8-.5-.3-.6-.8.5zm28.9 21 .9.5v1.7c1.3 1.2 5.2.2 5.2-.1l-.2-3.8-.5-.5-.1-2.5c.4-1.3-2-3.2-2.1-2.8s-1.5 0-1.5.5-.8 2.4-.4 3.1-.3.7-.4 1.4-1.1 2-1 2.6zm-2.2-4c-.2.8-1 1.2-1.3 1-.4-.4.5.4.7.8q.5.6 1 0c.2-.4 0-1.3.3-1.7s-.6-.5-.7 0zm-4.7-18.6h.7v2h-.7zm10.4-19.4c-.5-.6 2-1.7 2.4-.4s0 1-.4.9-1.4.3-2-.5m2.1-13.6v.6l1 .2.1-.6zm-4.5 1.6.8.5h.3l.6-.4v.2l.6-.2-.2-.5v-.3l-.4.1-.7.5-.7-.5zM375 192h-1.5s.5.2-1-1.1c-1.3-1.3-2.2.3-2.2.3l-1.6.2v1.6l-.8.3v1h1.2s0 1.1.3.6 2.8.1 2.6 1.4c-.1.5 2.5 1.8 2.2 3.4 1.3.2 1 1.5 1 1.5l1.7.2.5-1 .5.1v-.6l-1.1-.3-.2-3.3-.7-.5.2-.8-.8-.3.4-1.3zm4.3 10.3h-.8l-1.8.2-1 2s.5.3 1 1c.3.7.5 4.8-.7 5.5s.1.3.1.3l-.2 2.3c.3 1 .8.5 1.1 0s.6-.6 1-1.1 1-1.5 1.1-2.2.6-1.8.3-2.1.3-1.7.3-1.7.4-.8 0-1.6.1-1.8.4-2.2zm1.2 4.2.1-.8h.6v.8zm0 2.8-.5-.3.3-.6.5.3zm-.9-8-.4-1s0-.8.2-1.2-.4-.8-.7-1c-.3 0-.2-.8-.3-1.2s-.8-.7-.8-.7l-.2-1.9c0-.3-.9-.7-.6-1l.8-.9c.3-.2-.3-1.6.2-1.3q.6.5.7 1.2c.2.4 0 1.8.4 2.1s0 1.4.7 1.4c.8 0 .3 1.9.3 1.9s-.2 1.4.3 1.5.2 2.5.2 2.5zm-6.4-16.5c.3.4.9.7.9 1.1s-.2.7.4.8q.9 0 1.2.4c.2.5.2 1.4 0 1.8q0 .8.7 1c.7.2.6 0 .6.4 0 .3.6-1.1.6-1.1-.5-.4-1-1.3-1-1.3l-.4-1.7c0-.2-.7-.4-1-.5s-.8-1-.8-1zm1-.9q-.4-.6-1-.9t-1.1-.4a.7.7 0 0 1-.6-1c.2-.4-.3-.6-.3-1s.3-.4.8-.1.4.4.8.9.6 1 1 .9.7.9 1 .6c.5-.3.4.7.4.7zm-11.7 11.4c.5.6-3 .4-3 0s.3-1.8 1.2-1.5 1-1.8 1-1.8-.8.1-.1-.3 0-1-.3-1.3l-.6-.8h1.4c.6-.4.8-2.3.8-2.3 1.2.4 1.8-.5 1.8-.5l.6 1.2c.4.5-1 .7-.5 1s.7 1.2.5 1.5-1.3 0-1.3-.3-.4.5 0 1-.5 1.2-.7 1.2-1.5.2-.4.8c1 .6 2.3.3 2.3.3s.9 0 1.2.4q.3.7-.6.6l-3-.2s-.6.7-.3 1m-6.4 1c.5-.1 1.7-.2 2 0 .1.4-.8.8-.8.8l-1.2.2q-.7-.9 0-1m12.9-8.5c.8-.4 2.5-.4 2.4-1s1-.9 1-.9l.3 1.2.9.7v1l-.7.2c-1.1.3-.4.8-.4.8H370l-.3-1-.8-1zm-4-5.5c.7 0-.1 2.3 1.5 2.1s0 .7 1.3.8c1.2.1.9-.9 1.3-1.6q.6-1-.5-1.3c-.7-.2-.7-.2-1-1-.1-.8-1-1-1-1l-.2-1.2-1.3.8-1.3 1.7c0 1.3.7.7 1.3.7zm2.7 8.5.3-.6.6.3-.3.6zm-1-1h.6v.8h-.6zm.5-13.4v.9h-.5l-.1-.8zm-1.7 9.4h.6v.5h-.6zm-1.6 0v-.6h1v.5zm-8.2 9.8-.6-.3.3-.7.6.3zm-3.2-1.9v-.6h1v.5zm-17.3-.2-2.2.1v.6h2.3zm-3.6.9-.2-.9.6-.1.2.9zm-.4.6-.2-.5.3-.1.2.5zm5-1.7-.1.7 1 .1s.5.4.5.7.7.6 1.1.6 1.5-.8 1.5-.8.5-1.4.1-1.3-1.2.7-1.3.1c0-.6-1.3-.3-1.3-.3zm5-1c0 .2-.3.6.3.7s1.7-.4 1.8.2.1 1 1 1.3l1.8.4 2-.2s1.3.3 1.6.5q1.6 1.8 2.1 1c.3-.5 0-1.7-.2-2 0-.5-1.5-2.4-2-2s-.6 0-1.5.3-2.8.1-2.9-.3c0-.4-1.5-.6-1.5-1s-1-1-.9-.3-.7.9-.9.7-.8.6-.8.6zm22.9-13 .7-2.3c-1-.2-.8-1.3-.8-1.3-.1-1-1.5-2-2-1.6s-.3-2.1-.3-2.1.9-.6 1.3-.3-3.4-5.1-4.2-4.6-2.6-.5-2.5-1.4c.1-1-3.6-4-3.6-4s-1.2-.8-1.4-.2-.6 1 0 1.4.5-.5 1.2.2 2 1.6 1.5 2.2l-1 .8.6.8h1.1l.2 1.7s1.2.6 1.5 1.3q.4 1 0 1.6c-.3.4-.9 1-.8 1.8.1.7 1 1 1 1h.7l.6.4v1.3c.8-.2 2.1 1 2 1.6 0 .7.2.3 1.2 1s.7.8 1.4 1.4q1.1.7 1.6-.8z"/> + <path fill="#fff" d="M347.5 165.6c0-.4-.3-1.8.3-1.7.6 0 .2 0 1 .3s.7-.5.7-.5h1.1l1.4 1-.2 1h-1c-.5-.7-1.5-.4-1.3.3s-.5 2-.9 2.1-1.7.1-1.6-.5zm-.8-2.7v-.9s0-.8-.6-.8-1.4-.6-1.2-1-1.7-.8-1.7-.8-1.7-1.6-1-1.4c.5.2.2-.7.2-.7s-1.2.2-1.5 0c-.3 0-.2-1-.2-1s-1.2-.2-1.2 0 .4.4.6 1 .1 1.6 1 1.8 1.1.4 1.2.8 1.2.5 1.2.5l.8.4zM336 152.5l-.3-.8-.8-.2v1zm-.3-4.2c-1-.8 1.4.6 1.4.6.8 0 1.3.6 1.3.9s1 .2 1 .2l.1-.7-.8-1-.7-.5s-1-.1-1-.4-1 1.2-1.4.9zm18.3.6c-.3.9-.4 2.1-.9 2.1s-.3 1.3-.3 1.3l1.7.1c.4.1.4 1.1.4 1.1 1.5 0 2.1 2 2 2.5-.3.5.5.5.5.5s0 1.6-.2 2 1.3.7 1.7 1.3-.2 2.6-.5 2.7.8.5.7 1 .3 0 .4.8l.3 2.5 1.4.1c.2-1.3 2.8-1.4 3.2-1.2 1.7.6 3 3.2 3 3.8s-1.1.7-1.1.7l.2 3c1.7.5 3 3 2.9 3.3-.2.4 1.2.3 1.2.3.2-1.8 1.9-1.2 2-.6 0 .6.4 2 .4 2l.5.8.7.7h1l.4.6 1.2.2s1.1 1.2 1.2 1.5 1.6.2 2 .3q.8 0 1.1.9c.1.5.7 1.3.7 1.3s1.2.3 1.3.7l.6 1.3 1 .8.1 1h1.1l.3 1.3 1.8-.1 1-.7a6 6 0 0 0 2.3-2c.1-.5.3-2 1.3-1.7s.3-2.2.3-2.2-1.4-1-1.3-1.5-1.4-1.5-1.3-2c.1-.3-1.3-1.2-1.2-1.6s-.7-1.5-.7-1.5L387 175l-.2-1h-1.2l-2.4-3 .1-.8h-.7V169l-.7-.4h-1l-2.3-2.5-.2-1.1h-1l.2-2.1c.7-1 .3-2.7.3-2.7s-1.4.7-2.1.4.3-1 .3-1v-.8l-.6-.6s-1.7.2-1.8-.1l-.4-1.6-.1-1.7-.7-.3-.1-.7-1.1.1v-1.2l-.6-.2-.6-.3-.1-1.2-2.2-.1-.7-1-.8-1.2-2.5-.2-.6-.6-1-.2-.7-.3-.3.5h-2v.7c-1 .5-5 0-5 .4zm10.5-2.7c-.2-.7 2-1.5 2.5-.9s1.9.7 2 3.8c.1 1-1.7-1.1-1.7-1.1l-1.5-.5q-1.2-.4-1.3-1.2zm-29.3 1.3-.5-.3.4-.9.5.3zm-5.1-10-1.3-1.3v-1l-.4-.5-.4-1.4-1.3-.4-1.3.5-1.4.9-1.5.2-.8 1 3.2.2.6 1 2.3.2 1.5 1.5c1.3.5 1.6-.2.8-.9m-.2-5c-.2-.8-1.5 1.2-.2 1.6s2.6 0 2.6 0l.3-.6 5 .1c.4-.4.6-1 .6-1s1.2-.4 1.7-.2 0-1.4-.4-1.2-1.5 0-1.5 0h-1.8c-.1-.6-1.7-.3-1.8 0-.1.5-.7.6-.7.6l-2.3.2c-.2.6-1.4 1-1.5.6zm-9.9 17.2c1.5.5 2.1 0 2.2-.3q0-.5.8-.6c.6-.1-.1-1.3-.7-1.2q-1 0-1.3-.7c-.1-.6-1.1-1.9-1.2-.9s-.7 1-.6 1.8c.1.7.4 1.7.8 1.9m-11.5 1.1c0-.4 2-.4 2.3-.1s.1.8 1 .8.5.6.4 1c0 .2-1 .1-1.2-.2 0-.3-1.6-.4-1.6-.4s-.8-.6-.9-1.1m34-21.7-.8.6-.5-.5-.5.5.7.7.2.2.2-.2 1-.8zm-5.5-1.8-.7-.4-.3.5.8.5h.3l1.1-.7-.3-.5zm-3.3 20.8-1-.1v.6h.8l.6 1 .5-.3-.7-1zm-33 28.2.1 1.1h1.5c.6 0-.5-.7-.5-.7s-1.2.1-1-.4zm2 0 .3-.4.6.5-.4.4zm-18.2-18.9.4-.4.6.6-.4.4zm29 130.3-1-.5-.3.5.6.3-.2.2.4.5.5-.5.3-.3zm-7.8-7.3-.4-.5-.6.5-.3.3.4.2.7.5.3-.5-.4-.3zm74.2-19.2c-.1-.5-.7-.7-.8-.8l-.2.6.2.1.1.5-.1.2.4.4q.6-.5.4-1m1-2h-1v-.9l1 .2zm23-7.8c.5-.3 1-.8 1 .4-.1 1.1-.6.7-1 1.1-.3.4-.6-1.1 0-1.5m5.1-4.3-.2-.7-.5.3.1.4q0 .3.2.5.1.2.4 0l-.1-.5zm-1.3.5.4 1.2.5-.2-.3-1.2zm-2.2 2.4h-.6c0 .4 0 1 .5 1l.2-.5zm-2.6-12-.4-.5q-.7-.2-1.5.4l.3.5q.7-.4 1-.4zm-27.7-32.4c-.4.4-1.3.6-1.3.6l-.3 1-.4.5v1c0 .7-1 1.1-1 1.1l-.4.5h-2.7c-1-.4-.3-1.6.3-1.5s-.1-1.7-.1-1.7l.8-.1s0-1.8.4-1.8q.3-.2-.5-1c-.4-.3-1-1.3-1.3-1.2h-2l-.3.6-1.1.2-.1 1c-.6.8-3 2.3-2-.2l.4-.7v-.9h-1.8s-1-.4-1-.8v-.9l-2.1-2.3-2.5-.3-.2-.5-1.5-.2c-1.8-1-3.4-.1-3 1.4.2 1.5.7 2.1-.3 2.1s-1.2-.8-1.2-.8-.8-.3-.8.1-.3 1.2 0 1.6-.4 1-.7.7-1-1.2-.9-1.5c.2-.3-1.4-2.2.2-2.5s0-1.2.5-1.4l.8-.4h.8l.5-.4-1.3-.2-.8-.1-1.5-.1a4 4 0 0 0-1.8 2.2c-.8 1.5-2.7-.6-2-1.4s-2.2-.1-2.7.3-2 .2-2 .2c-.3.9-1.7-.1-1.3-.7l.4-1-.5-.2-.6 1.2c-1.3 0-1.7.8-1.5 1.3.3.5-.4-.1-.6.6s.2.7.7 1c.6.3-.3.3.1.8s1.6 0 1 .7c-.8.7-2.1.4-2.1.4-.1 1-2 .7-2.2.4l-1.7-2.1-2-.1c-.1-1.4 1-.7 1.4-1.8s.6-3 .6-3-1.6 0-1.7.4-1.1.9-1.1.9-.8.3-.5.7-.6.6-.6.6.1.6-.1.9c-.8.8-2.8 0-3.1-.2l-1.2-.5-1.2-.8-1.4.6-.4.4h-1.5l-.1 1.2 2.7.3.2 2.5-1.1-.4h-.7l-.3-.6h-.6v2.1l.6.5.5.5 1 .1.2 1.3h2.5l.3.6h1.5l2.9 3-.2 1-.5.2c.2.7-1.3.3-1.3.3v.6l.7.1.7.4 1-1.7c1-.7 1.6.3 1.7 1 0 .5-.5.4-.5.4v1.5l.6.2c1 1.2-.4 1.9-.4 1.9l-.3 1c-.3.9-1.4.7-1.4.7l-.4.6-1.2.3 2.4.3q.5-1.2 1-.6c.4.4.4 1.1.4 1.1l.6.1-.1 1.1.6.2v3.3l.7.8c1.2-.5 1.2.3.6.7s-.2 2.2-.2 2.2l-.5.5v.8l-.6.4v1.2c-1-.5-2.2-.3-2.5 0-1-.6-2.8-.4-2.8 0 .6.9-.7 1-.7 1l-.7.9c.5 1-.5 1.1-.5 1.1v2l-1.2 1v2.7c0 .7 1.6.8 1.9.4s1.5.8 1.5.8h.9l.2-1.8-.6-.3v-3l1-1c1.2-.5.8 2.5.8 2.8 0 1.2.6 1 1 .8 1-.4.3 1.2-.5 1-.8 0-.3 1-.3 1l.5.3-1 .7-.7.9-1-.3-1.2-.1-.4-.7-.7-.1-.1 1.4-.5.6-1.2 1.2c1.6 0-.2 1.1-.6 1.1.9.3-.1 1.2-2.4.5v.7l-.8.1.7.9h.8l-.3 1.8c0 1.3-3.3.4-3.6 0v2h-.7l.1 1.2v1.7l1-.2v.7l2.7.1 3.9-4.1 2.3-.5c.2-1 1.2.2 1.2.2 1-.1 1.2.6 1.2.6l1.3.2c1 .3.4.4.5.8 0 .6.6.4.6.4l.2-1.3.6.1-.6-.7-1.1-.5-1.2-.5c-.8-1.1.2-1 1-.8h1.3s1.5 2 1.5 2.5.7.6.7.6h.9l.3.6h.9l.3.6h1.8v-.9l-1.6-.3-.1-1-1.2-.3c-.4-1.7.3-2.2.8-1.4h.6l-.2-1.4.7-.2-.2-2.2-.6-.2v-.7l2.5.1v-1.9h.8v.5l3.1.3 2.2-2.5c-.1-.2.2-.3 0-.5-.4-.3-.8 0-1.3-.3s0-2 0-2.5c-.2-.4 1.6-1 1.3 0-.3.8 0 1.3 0 1.3 1.3-1.3 2.4 0 2.3.4 0 .3.7.6 1.2.3s1.1.9 1 1.5c-.3.6-2 .5-2.2-.1q-.1-.7-.6-.1t-1.6.2l-.1-.2-2.2 2.5h.1c1.2.7.6 1.6.2 1.8s-1 .2-1 .2l-.3.4-2.6.2-.2 1c-1.2-.1-1.7 1.3-1.4 2s0 1.3 0 1.3l1 .5 1.5-.4c.2-1 1-1.2 1.8-1.8s2.1 1 1.7 1.9l-.4 1.1.1 1-1 .3-.8.4v.5h-2.8l-.4.5-1.3.1-.4.7h-1s-1.4.8-.8 1.6-2.5.7-3.2-.4c-.2 1-1.3 0-1.3 0l-1.1-.2-.1-1.5c-.2-1-2.1-1-2-.3 0 .7-3.6.3-3.6.3l-1.2.5-1.1.7-.1.5-1.8.2-.8.4-.3-.6h-.8l-.8 1c-2 .2-4 1.4-3.9 2 .2.4-.8 1-.8 1l-.9.2-.6 1-1.2.3-.2 2.2-.6.4v.9l-.7.2v.5h-1l.6 1.6.8.4c1.4.2.8 2 .8 2h.8l.4 1.1.8 1.7c.3 1.2 1.2.9 1.6.8s.8 1.2.8 1.2l4 .1s-.2.4.5.6 5.3.4 5.5.1c-.2-.9 2.5-1.1 3.6-.3 1 .8 2.6.3 2.6.3l1.5 1.8 1 2.3 1.7.5 1.2.3.4 1.7h.9l.3 1.2c1 .8-.3 2.5-.3 2.5v2.3l.8.4-.1.8 1.3 1.3h1.5l3.7 4.1 3 1 .5 1.6.8-.1.6-.5 2.4-.1 1.2-1.2 1.3-.2 11-9.4-1-.6v-2.2c1.9-1.3 2-3.7.3-3.9-1.3-.1-.7-1.5.5-1.7l.7-.3v-.9l2.3-2.1v-1.6l-5-4.2c-2.2-.8 0-5.7 1.5-5.6s-.1-7.4-.1-7.4l-.8-.4.2-2.5h-1.1l-1.8 2.4-.5 1.6c-.2 2.1-6.4 1.7-6.7 1.4s-2.4-1.2-2.4-1.2-1.6-1.3-1.9-1c-.3.5-1.7-.4-1.7-.1s-1.3-.8-1.3-.8l-2-.7 1.5-.3-.3-1.2 2.6 1.3c.3.4 1.6.3 1.6.3l.4.5s.8 0 1.3.5c.5.7 3.1.2 3.1.2l.7.6 1.1.4h3.1l.1-1.9.6-.6v-1.2l.6-.6v-1l.6-.2.1-2.2.5-.1v-4.9l-1.5-1.4c-.1.5-1.7.5-1.7.5s-.4.7-.7.7.4 1 .2 1.5-1 .6-1 .6l-1.5.4-.4.5h-1.6l-.2-1.3 1.8-.5 1-.5.5-1c.1-1 1.3-.9 1.3-.9s2.3-2 2.4-2.8c.1-1 .9-3.5 2.3-3.5h2.6c1-.4.7-1.7.7-1.7l1.3-.2.2.7s1.8.2 2 0c.2-.4.6-1 1-.8.6.3 2.2-.7 2.2-.7 0-.7 2.6-.4 2.6-.4l.3-1s-1.7-2.3-2-2.3-2-1.4-2.1-.9c-1.6-.4-1.5-2.6-1.5-2.6l-.6-1.4c0-.8-1.5-2.5-1.8-2.3a1.5 1.5 0 0 1 0-2.6c.4 0 1.4-1.5 1.4-1.5l.5-1.4 1.7-.5.2-1.3-1-.1s1-1.9 1.6-1.9 3.8 0 4-.2c.4-.2 1-1.8 1-2 0-.4.8-.5 1-.6.4 0 1-.9 1.3-1.3.2-.4-.5-3-1-2.5"/> + <path fill="#fff" d="M320 242c.1 0 .3.5.6.4s.5.6.1.6q-.2.1-.2.5 0 .3-.3.8-.3.2-.7-.1-.4-.2-.9-.2c-.3 0 0 .6 0 .6s-1.6 0-1.3-.3q.6-.3.4-.4t0-.6c.1-.4.7-.2.5-.4s0-1.1.4-.6l.2-.5c-.2-.3 0-.3-.5-.5s-.1-1-.1-1v-.7c.2-.7 1.7-.8 1.8-.1v1.1l.5.2s-.1.4-.5.4 0 .2-.2.5l.2.4zm-5 .8c.3-.4.8-2.4 1.4-1.8s1 0 1 0 .3.3.1 1q-.2.9-.6 1.2l-1.2.4c-.4 0-.6-.8-.6-.8z"/> +</svg> diff --git a/apps/web/public/flags/us.svg b/apps/web/public/flags/us.svg new file mode 100644 index 00000000..9cfd0c92 --- /dev/null +++ b/apps/web/public/flags/us.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-us" viewBox="0 0 640 480"> + <path fill="#bd3d44" d="M0 0h640v480H0"/> + <path stroke="#fff" stroke-width="37" d="M0 55.3h640M0 129h640M0 203h640M0 277h640M0 351h640M0 425h640"/> + <path fill="#192f5d" d="M0 0h364.8v258.5H0"/> + <marker id="us-a" markerHeight="30" markerWidth="30"> + <path fill="#fff" d="m14 0 9 27L0 10h28L5 27z"/> + </marker> + <path fill="none" marker-mid="url(#us-a)" d="m0 0 16 11h61 61 61 61 60L47 37h61 61 60 61L16 63h61 61 61 61 60L47 89h61 61 60 61L16 115h61 61 61 61 60L47 141h61 61 60 61L16 166h61 61 61 61 60L47 192h61 61 60 61L16 218h61 61 61 61 60z"/> +</svg> diff --git a/apps/web/public/flags/uy.svg b/apps/web/public/flags/uy.svg new file mode 100644 index 00000000..62c36f8e --- /dev/null +++ b/apps/web/public/flags/uy.svg @@ -0,0 +1,28 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-uy" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#0038a8" d="M266 53.3h374v53.4H266zm0 106.7h374v53.3H266zM0 266.7h640V320H0zm0 106.6h640v53.4H0z"/> + <g fill="#fcd116" stroke="#000" stroke-miterlimit="20" stroke-width=".6" transform="translate(133.3 133.3)scale(2.93333)"> + <g id="uy-c"> + <g id="uy-b"> + <g id="uy-a"> + <path stroke-linecap="square" d="m-2 8.9 3 4.5c-12.4 9-4.9 14.2-13.6 17 5.4-5.2-.9-5.7 3.7-16.8"/> + <path fill="none" d="M-4.2 10.2c-6.8 11.2-2.4 17.4-8.4 20.3"/> + <path d="M0 0h6L0 33-6 0h6v33"/> + </g> + <use xlink:href="#uy-a" width="100%" height="100%" transform="rotate(45)"/> + </g> + <use xlink:href="#uy-b" width="100%" height="100%" transform="rotate(90)"/> + </g> + <use xlink:href="#uy-c" width="100%" height="100%" transform="scale(-1)"/> + <circle r="11"/> + </g> + <g transform="translate(133.3 133.3)scale(.29333)"> + <g id="uy-d"> + <path d="M81-44c-7 8-11-6-36-6S16-35 12-38s21-21 29-22 31 7 40 16m-29 9c7 6 1 19-6 19S26-28 32-36"/> + <path d="M19-26c1-12 11-14 27-14s23 12 29 15c-7 0-13-10-29-10s-16 0-27 10m3 2c4-6 9 6 20 6s17-3 24-8-10 12-21 12-26-6-23-10"/> + <path d="M56-17c13-7 5-17 0-19 2 2 10 12 0 19M0 43c6 0 8-2 16-2s27 11 38 7c-23 9-14 3-54 3h-5m63 6c-4-7-3-5-11-16 8 6 10 9 11 16M0 67c25 0 21-5 54-19-24 3-29 11-54 11h-5m5-29c7 0 9-5 17-5s19 3 24 7c1 1-3-8-11-9S25 9 16 7c0 4 3 3 4 9 0 5-9 5-11 0 2 8-4 8-9 8"/> + </g> + <use xlink:href="#uy-d" width="100%" height="100%" transform="scale(-1 1)"/> + <path d="M0 76c-5 0-18 3 0 3s5-3 0-3"/> + </g> +</svg> diff --git a/apps/web/public/flags/uz.svg b/apps/web/public/flags/uz.svg new file mode 100644 index 00000000..0ccca1b1 --- /dev/null +++ b/apps/web/public/flags/uz.svg @@ -0,0 +1,30 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-uz" viewBox="0 0 640 480"> + <path fill="#1eb53a" d="M0 320h640v160H0z"/> + <path fill="#0099b5" d="M0 0h640v160H0z"/> + <path fill="#ce1126" d="M0 153.6h640v172.8H0z"/> + <path fill="#fff" d="M0 163.2h640v153.6H0z"/> + <circle cx="134.4" cy="76.8" r="57.6" fill="#fff"/> + <circle cx="153.6" cy="76.8" r="57.6" fill="#0099b5"/> + <g fill="#fff" transform="translate(261.1 122.9)scale(1.92)"> + <g id="uz-e"> + <g id="uz-d"> + <g id="uz-c"> + <g id="uz-b"> + <path id="uz-a" d="M0-6-1.9-.3 1 .7"/> + <use xlink:href="#uz-a" width="100%" height="100%" transform="scale(-1 1)"/> + </g> + <use xlink:href="#uz-b" width="100%" height="100%" transform="rotate(72)"/> + </g> + <use xlink:href="#uz-b" width="100%" height="100%" transform="rotate(-72)"/> + <use xlink:href="#uz-c" width="100%" height="100%" transform="rotate(144)"/> + </g> + <use xlink:href="#uz-d" width="100%" height="100%" y="-24"/> + <use xlink:href="#uz-d" width="100%" height="100%" y="-48"/> + </g> + <use xlink:href="#uz-e" width="100%" height="100%" x="24"/> + <use xlink:href="#uz-e" width="100%" height="100%" x="48"/> + <use xlink:href="#uz-d" width="100%" height="100%" x="-48"/> + <use xlink:href="#uz-d" width="100%" height="100%" x="-24"/> + <use xlink:href="#uz-d" width="100%" height="100%" x="-24" y="-24"/> + </g> +</svg> diff --git a/apps/web/public/flags/va.svg b/apps/web/public/flags/va.svg new file mode 100644 index 00000000..3e297d63 --- /dev/null +++ b/apps/web/public/flags/va.svg @@ -0,0 +1,190 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-va" viewBox="0 0 640 480"> + <path fill="#fff" d="M320 0h320v480H320z"/> + <path fill="#ffe000" d="M0 0h320v480H0z"/> + <g stroke="#000" stroke-linejoin="round" stroke-width="3.2"> + <g fill="#ce9d09" stroke-linecap="round" transform="translate(123)scale(.192)"> + <g id="va-a"> + <path fill="#fff" d="m1781 990.3 16.2 3.8 25.6 4.2 11.8 1.3-2 50s-2.9 33-7.8 48.9c-3.6 11.7-15.7 33.2-15.7 33.2l-7.7 11.7-45.4-39.3s7.8-11 10.6-17c3.5-7.5 7.7-23.8 7.7-23.8l4.4-26 2.4-32.7zm-57 151.5 41.4 36s-8.4 7.4-13.4 9.7a74 74 0 0 1-31.6 7.3 58 58 0 0 1-22.3-6.2c-15.7-7.2-33-14.7-43.2-28.7-3.6-5-5-11.6-4.9-17.7.2-7 6.3-19.9 6.3-19.9s2.4 8.7 5.1 12a49 49 0 0 0 17.6 12.4 43 43 0 0 0 36.2 1.1c3.3-1.3 8.9-6 8.9-6z"/> + <path fill="#fff" d="M1658.7 877.7s3.2 6.6 4.2 10.1q2.9 9 3 18.6a79 79 0 0 1-3.2 18.6 171 171 0 0 1-10.3 26.3c-2.6 5.4-6 10.3-8.6 15.8-4.1 8.7-7 18-10.6 26.8-3 7.5-6.9 14.7-9.2 22.4-3 10.2-4.5 20.9-6 31.4a230 230 0 0 0-2.3 27.5c0 11 .3 22 2.3 32.6s5 21.2 9.8 31a79 79 0 0 0 31.8 34.8c5.5 3.4 11.9 5.3 18 7.8 8.3 3.3 25.4 9.3 25.4 9.3s-23.6-11.6-31.8-21.4a68 68 0 0 1-12.8-28.9 112 112 0 0 1-1.2-36.6 196 196 0 0 1 9.2-38.3c4.2-13.2 10-25.9 15.4-38.6 3.9-9.3 8.3-18.2 12-27.5q6.9-16.4 12.4-33.2c2.1-6.9 4.8-13.7 5.4-20.9a76 76 0 0 0-2.2-23.4 89 89 0 0 0-11.8-30.6 41 41 0 0 0-14.8-13.2c-5.7-2.9-12.5-5.4-18.9-4.1-2 .4-5.2 3.7-5.2 3.7"/> + <path fill="#fff" d="M1711.6 945.6s4.4-18 5.2-27.2q.8-11.8-.6-23.7c-1-8.7-1.5-17.8-4.9-25.9a68 68 0 0 0-38.2-37 92 92 0 0 0-28-4.8 130 130 0 0 0-38 4c-4 1.4-11.7 5.7-11.7 5.7l30 49s9.3-5.6 14.5-7a55 55 0 0 1 17-1.2c5.8.4 11.7 1 17 3.3a57 57 0 0 1 17.6 13.3 74 74 0 0 1 15 22c3 7.5 3.5 16 4.6 24.2.3 1.7.5 5.3.5 5.3"/> + <path d="M1717 906.7s-5.3-16.6-10.3-23.5a64 64 0 0 0-22.3-19.8c-9.4-4.7-31-6.2-31-6.2l11.4 21-20-.4-10.3-17.4-19.3 8.7-9.5-15.7 20.4-9.4-9.4-15.2 20.4-2 8.9 14.7s15.9 0 23.6 1.7a58 58 0 0 1 27.5 14.4 68 68 0 0 1 12 14.2c3 5.1 6.5 16.7 6.5 16.7z"/> + <path d="m1581.7 845 31.8 46.7m-18-54.8-15 8.8-14.3 11 31 47.1 13.7-10.6 14.1-8.2zm58.3 199 17.9-37 19.1 7.7 7.8-19-19-9 9.8-21.3-14-6.3-10.6 20.5-19.2-8-8.4 20 18.6 7.7-17.2 36.7zm143.2-11.1 18.1-.4v21l17.6.9-3 21.4-16.4-1s-2.7 12.5-5.1 18.4c-2.5 6.2-9.7 17.4-9.7 17.4l-19.4-4.8s7-11 9.7-17c2.4-5.4 5.7-16.6 5.7-16.6l-20-2.5 3.5-20.2 18.1 1.2z"/> + </g> + <use xlink:href="#va-a" width="100%" height="100%" transform="matrix(-1 0 0 1 3717.8 0)"/> + <path fill="#fff" d="m1756.7 735.6-27.5 29.4 17 51 9.6 35.8-27.7 25.8 50.7 71-17.4 19.9a12 12 0 0 0-2.1 8.6q.5 4.3 3.6 7.3c4.5 4.1 11.3 5.1 17.3 6.7 21 5.6 42.9 8 64.6 9.7 4.7.4 14 0 14 0s9.4.4 14.1 0c21.8-1.6 43.6-4.1 64.7-9.7 6-1.6 12.7-2.6 17.3-6.7a12 12 0 0 0 1.4-15.9l-16.3-36 51.8-55.4-19.7-17.9-.5-43.2 17-51-25.5-25.7-23-61.2s-4.7-17.1-8.8-25c-2.4-4.6-5.8-8.7-9.2-12.8-4-4.9-8-9.9-12.8-13.9a85 85 0 0 0-14.6-9c-5.5-2.9-11-6-16.9-7.5-6.1-1.5-19-1.5-19-1.5s-12.7 0-18.9 1.5c-6 1.6-11.4 4.6-16.8 7.5a85 85 0 0 0-14.6 9c-4.9 4-8.9 9-12.9 13.9-3.3 4-6.7 8.2-9.1 12.9-4.1 7.8-8.9 24.9-8.9 24.9z"/> + <path d="M1963.3 933.1s-3.2-2.8-5-4a65 65 0 0 0-12-6c-5.5-2.2-11.5-3.3-17.3-4.7a197 197 0 0 0-44.3-5.7c-8.6 0-25.8 1.3-25.8 1.3s-17.2-1.3-25.8-1.3a195 195 0 0 0-44.3 5.7c-5.9 1.4-11.8 2.5-17.4 4.7a65 65 0 0 0-12 6c-1.7 1.2-5 4-5 4m218.8-42.7s-5.2-5.2-8.6-5.9a9 9 0 0 0-6.6 1.5 13 13 0 0 0-4 15.2c.8 2 2 4.3 4.1 5.2 4.8 1.9 15.4-2 15.4-2zm5.1-3.6c5.8.2 8 3.2 9.5 6.5m-243.2-2.9-.3 14s10.5 3.9 15.3 2c2-.9 3.4-3.1 4.2-5.2a13 13 0 0 0-4-15.2 9 9 0 0 0-6.6-1.5c-3.5.7-8.6 6-8.6 6zm-5.2-3.6c-5.8.2-8 3.2-9.4 6.5m198.1 1.4-8.4-1m-130 1 8.4-1m76 .8c-2.9-.4-7.6-4.2-7.6-4.2m-22.8 4.2c2.8-.4 7.6-4.2 7.6-4.2m141-19.3s-4.3 3.3-7.4 3.8l-1.2.7s-2 5.7-3.6 8.2a45 45 0 0 1-6.5 6.2s-4.8-4.1-7.7-5q-3.2-.8-6 .3a11 11 0 0 0-4.8 4.3c-1.4 2-2.7 4.6-2.6 7 .1 3 3.9 8.3 3.9 8.3l-2.6 4.5-3.7 2.3a90 90 0 0 1-19-7.5 19 19 0 0 1-4.4-9s4.5-2.7 5.6-5c1.2-2.5 1.6-6 .2-8.4-1.6-2.6-5.3-4-8.4-4a9 9 0 0 0-6.3 2.7c-1.6 1.8-3 4.5-2.5 7 .4 2.4 4.7 5.7 4.7 5.7s-1.8 4.6-3.8 5.5c-6 2.5-10 4-15.3 4.8a39 39 0 0 1-16.3 0 17 17 0 0 1-9-5.5c-.6-.9-.8-3-.8-3s6.5-1.7 9-3.7c2.6-2 5.3-4.6 5.9-7.8.5-3.2-1.2-6.6-3-9.2a18 18 0 0 0-7.6-6c-1.3-.6-4.3-.7-4.3-.7l-1 .9a15 15 0 0 1-4.7 3.8h-.1l-.2.1-1.1.6-.8.1-2.4.8s3.8 1.2 5 2.8q.9 1.4 1 3.3l.2 2q0 1.8-.7 3.4a9 9 0 0 1-1.7 3.5q-.7.9-1.6 1.4 0 0 0 0l-.2.1q-1.6 1-3.3 1.5c-1.4.4-4.2.1-4.3.1s5.5 0 7.6-1.6l.2-.1a11 11 0 0 0 3.8-7.2v-3q-.4-2.5-2.2-4.2c-2.4-2.1-9.3-2.4-9.4-2.4s-7 .3-9.4 2.4a8 8 0 0 0-2.3 4.2v3.1l.5 2.3q1 3 3.3 4.9l.2.1c2.2 1.6 7.6 1.6 7.7 1.6-.1 0-3 .3-4.3 0q-1.8-.6-3.4-1.6h-.1v-.1q-1-.5-1.7-1.4a9 9 0 0 1-1.7-3.5q-.5-1.6-.7-3.3l.2-2.1q.3-1.9 1.1-3.3c1.1-1.6 5-2.8 5-2.8l-2.5-.8-.7-.1-1.2-.6h-.1l-.1-.1a15 15 0 0 1-4.8-3.8l-1-.9s-3 0-4.2.7a18 18 0 0 0-7.6 6c-1.8 2.6-3.5 6-3 9.2s3.3 5.8 5.8 7.8c2.6 2 9 3.7 9 3.7s-.2 2.1-.8 3a17 17 0 0 1-9 5.5 39 39 0 0 1-16.3 0 59 59 0 0 1-15.2-4.8c-2-1-3.9-5.5-3.9-5.5s4.4-3.3 4.8-5.8c.4-2.4-1-5-2.6-6.9a9 9 0 0 0-6.2-2.8c-3.1 0-6.8 1.5-8.4 4.1-1.5 2.4-1 5.9.2 8.4 1 2.3 5.6 5 5.6 5a19 19 0 0 1-4.5 9 89 89 0 0 1-19 7.5l-3.6-2.3-2.6-4.5s3.7-5.2 3.8-8.2c.2-2.5-1.1-5-2.5-7.1a11 11 0 0 0-4.8-4.3q-2.8-1.1-6-.2c-3 .8-7.7 4.9-7.7 4.9s-4.8-3.8-6.5-6.2a49 49 0 0 1-3.7-8.2l-1.2-.7c-3-.5-7.3-3.8-7.3-3.8l-4.4 1s-4.1 2.1-4.2 4c0 2.8 3.8 4 5.5 6l4.1 5.7c1.2 1.8 2.9 3.4 3.5 5.5.6 2.3-1 5 0 7.2 1.2 2.7 3.7 5.4 6.7 6 2.6.5 7.6-2.6 7.6-2.6l-.2 19.9 10.3 9.3 9.7 20.3-3.8 5.2 1.1 10c7.5-9.6 20.5-13.8 32.2-17.2 15.7-4.5 44.6-4.8 58-4.7l7.3.1s44.3-1.4 65.2 4.6c11.7 3.4 24.7 7.6 32.2 17.2l1.2-10-3.9-5.2 9.7-20.3 10.3-9.3-.1-19.9s5 3.1 7.6 2.6c3-.6 5.5-3.3 6.7-6 1-2.2-.7-4.9 0-7.2.6-2 2.2-3.7 3.4-5.5q2-3 4.2-5.6c1.7-2.1 5.5-3.3 5.4-6 0-2-4.1-4.2-4.1-4.2zm-148.4-2.6c1 1 3 2.8 4.8 3.8l.2.1q.8.4 2 .7c2.8.8 7.8.3 8 .3h0c.1 0 5.1.5 8-.3l2-.7.2-.1c1.7-1 3.7-2.9 4.8-3.8q.8-1 1.3-2.2c1.1-2.7 1-6.1-.2-8.7-1.6-3-5.2-4.5-8.1-6.3-2.5-1.5-8-3.7-8-3.7a69 69 0 0 0-8 3.7c-3 1.8-6.6 3.3-8.1 6.3-1.3 2.6-1.4 6-.2 8.7q.5 1.2 1.3 2.2"/> + <path d="M1980.8 829.8s-11-5-16.6-6.9c-10.4-3.3-21.3-5.2-32-7.3-12.5-2.4-25.2-3-37.6-6-3.9-.8-7.5-2.7-11.5-3.5-5.4-1.1-11-2.9-16.4-1.7-3 .6-7.8 4.6-7.8 4.6s-4.9-4-7.8-4.6c-5.4-1.2-11.1.6-16.5 1.7-4 .8-7.6 2.7-11.4 3.6-12.4 2.9-25.2 3.5-37.7 6-10.7 2-21.5 3.9-32 7.2-5.6 1.8-16.5 6.9-16.5 6.9m197.4-45.1s5.4-2.9 7.3-5a10 10 0 0 0 2.7-5.3 9 9 0 0 0-2.3-6.5 9 9 0 0 0-6.2-2.2q-3 0-5.3 1.8a9 9 0 0 0-3 5.6c-.3 1.8.5 3.7 1.3 5.3a33 33 0 0 0 5.5 6.3m-151 0s4.1-3.8 5.4-6.3a9 9 0 0 0 1.4-5.3 9 9 0 0 0-3-5.6 8 8 0 0 0-5.3-1.8 9 9 0 0 0-6.3 2.2 9 9 0 0 0-2.2 6.5c.1 2 1.3 3.7 2.6 5.2 2 2.2 7.3 5 7.3 5zm-41.2 18-11.9 15.6s0 4 .8 5.8a24 24 0 0 0 5.9 5.7l.8 21.4-11.3 19.6-1 .2 7.3 3.8 1 .1c4.4-.3 7-5.2 10.9-7.4q7.3-4 15.2-7.2a240 240 0 0 1 50-15.1 142 142 0 0 1 29.5-1.2c6.6.5 19.4 3.4 19.5 3.4 0 0 12.9-3 19.5-3.4a141 141 0 0 1 57.8 8.3 240 240 0 0 1 36.9 15.2c3.8 2.2 6.5 7 10.8 7.4h1l7.3-4-1-.1-11.3-19.6.9-21.4s4.6-3.3 5.8-5.7c1-1.7.8-5.8.8-5.8l-11.9-15.6s-6 6-9.9 7.3q-3.2.9-6.5 0c-2.5-.8-4.4-2.9-6.5-4.5a84 84 0 0 1-12.9-12.1 70 70 0 0 1-5.3-8.7s-12.9 10.1-20.6 12.1c-7.6 2-16 1.6-23.5-.6-1.9-.6-5-3-5-3a42 42 0 0 0-26.4-8 42 42 0 0 0-26.4 8s-3.2 2.4-5 3a45 45 0 0 1-23.6.6 82 82 0 0 1-20.6-12.1s-3.1 6-5.3 8.7a84 84 0 0 1-12.9 12.1c-2 1.6-4 3.7-6.5 4.5q-3.2.9-6.4 0a37 37 0 0 1-10-7.3"/> + <path d="M1985.9 796.4s.4-5.7-.2-8.5a21 21 0 0 0-3.1-7c-1.5-2.3-5.7-6-5.7-6m-1.4 27.8s3.4.1 4.9-.6c2.6-1.3 6-6.3 6-6.3s6.7 4.6 10.4 4c1.8-.2 3.2-1.8 4.2-3.4a8 8 0 0 0 1.2-5.7c-.3-1.5-1.6-2.6-2.8-3.6-2.3-2-6.4-1.7-7.9-4.2-1.2-2-.5-4.9.2-7.1 1.4-4.8 4.7-8.7 7.5-12.8 1.7-2.6 5.3-4.4 5.6-7.5.2-1.6-2-4.6-2-4.6s-5.2-.1-7.7.6c-4 1.2-8.3 3-11.2 6.1-2.4 2.6-3 6.4-4.3 9.7-1 2.5-2.5 7.7-2.5 7.7s-6 0-8.7 1.2a17 17 0 0 0-8.7 7.7c-1.2 2.7-1 6.2 0 9 1.1 3 3.5 5.3 6.1 7 2.9 1.8 9.7 2.8 9.7 2.8M1740.8 775s-4.1 3.6-5.6 5.8a21 21 0 0 0-3.2 7.1c-.6 2.8-.1 8.5-.1 8.5m-17-45.5s-2.2 3-2 4.6c.4 3.1 4 5 5.7 7.5 2.7 4.1 6 8 7.5 12.8.6 2.2 1.3 5 .1 7-1.4 2.6-5.6 2.4-7.8 4.3-1.2 1-2.5 2.1-2.9 3.6a8 8 0 0 0 1.2 5.7c1 1.6 2.5 3.2 4.3 3.4 3.6.6 10.3-4 10.3-4s3.5 5 6 6.3c1.5.7 5 .6 5 .6s6.8-1 9.7-2.9c2.5-1.6 5-4 6-6.8 1-2.9 1.3-6.4 0-9.1a17 17 0 0 0-8.7-7.7c-2.6-1.3-8.7-1.2-8.7-1.2s-1.4-5.2-2.4-7.7c-1.3-3.3-2-7.1-4.4-9.7a25 25 0 0 0-11.2-6.1c-2.5-.7-7.7-.6-7.7-.6m135.6 14.3 8.4-2.4 8.3 2.4m-14.5 20s-6.5-5.8-7.7-9.8a8 8 0 0 1 .4-5.5c1.2-2.2 5.9-4.7 5.9-4.7s-7.1-3.4-9-6.6a9 9 0 0 1-.5-6.3 17 17 0 0 1 5.8-8c3.2-2.7 11.3-5.4 11.3-5.4s8 2.7 11.2 5.3a17 17 0 0 1 5.9 8.1c.5 2 .4 4.4-.6 6.3-1.9 3.2-9 6.6-9 6.6s4.8 2.5 6 4.7c.8 1.6.9 3.7.3 5.5-1.2 4-7.7 9.9-7.7 9.9l-6.1.4zm22.7-26.8s13.4 5.7 18 11.1c1.2 1.5 2.3 3.5 2.2 5.5-.5 7-10.3 18.2-10.3 18.2l-20-8.3h-12.9l-20 8.3s-9.8-11.3-10.2-18.2c-.2-2 1-4 2.2-5.5 4.5-5.4 18-11.1 18-11.1"/> + <path d="m1844.4 669.2 8-6.2 6.5.2-6.6-.2s-3.6-2.4-4.6-4.2a9 9 0 0 1-1-6c.5-2.7 2-5.5 4.4-6.9 2.3-1.3 7.8-.5 7.8-.5s5.5-.8 7.7.5c2.4 1.4 3.9 4.2 4.5 6.8.4 2 0 4.3-1 6-1 1.9-4.6 4.3-4.6 4.3l-6.7.2 6.5-.2 8 6.2m52.7 5.1-2.7 4.7m32.6-20-7.5 1m8.5 8.8-11.5.6m-1.5-13.8c1.5 1 4.2 2.9 4.6 4.6a10 10 0 0 1-3.1 9.2c-2.4 2-9.3 1.5-9.3 1.5m-181.7 33.6 17-4.2c8-2 16-4.2 24.2-5.7q14-2.4 28-3.5c11.8-.9 35.3-.6 35.3-.6s23.5-.3 35.2.6q14 1 28 3.5c8.2 1.5 16.2 3.8 24.3 5.7l17 4.2m-171.6-30.2 2.7 4.7m-32.7-20 7.5 1m-8.5 8.8 11.5.6m-6.4 16s12.5-3.2 18.8-4.5q10.5-2.2 21-3.7 12-1.4 24.3-2c9.6-.4 28.9-.3 28.9-.3s19.2 0 28.9.4a284 284 0 0 1 45.2 5.6c6.3 1.3 18.9 4.5 18.9 4.5M1781.6 671s-6.8.5-9.2-1.5c-2.5-2-4-6-3.2-9.2.7-2.4 5.6-5.2 5.6-5.2m63.1 74c-12 .8-24 1.5-35.8 3.7a220 220 0 0 0-36.2 9.7c-11.1 4-22.9 22.6-32 15.2-2-1.6.7-5 1.6-7.4a43 43 0 0 1 7.8-12.6c2.4-2.7 8-3 8.5-6.6.5-2.6-3.4-4-4.3-6.6a17 17 0 0 1-.5-10c1.2-4.1 6.5-6.2 7.7-10.3 1-3.6-2.5-7.8-.9-11.2 2.2-4.2 11.4-2.7 12-7.4.4-2.3-3.8-3-4.5-5.1-.6-1.6.3-3.3.3-5 0-2.1.4-4.5-.6-6.5-.9-1.7-3.7-2.1-4.3-4a6 6 0 0 1 1.1-5.4c1-1 3.7.4 4.3-.9 1.4-2.6-2.5-5.3-3.7-8-1.4-3.2-3.2-6.3-4-9.7-.6-2.7-3-7-.6-8.3 2.8-1.6 5.5 3.2 8 5.1 3.4 2.5 7.2 4.8 9.5 8.3 1.7 2.5.7 6.5 3 8.6 2.6 2.5 7.7.5 10.4 2.9 2.4 2 4.5 5.5 3.8 8.5s-7.6 2.9-7 5.8c.9 3.4 7 3.2 10.4 2.5 2-.3 3.5-2.2 5.1-3.4 1.4-1 2.4-2.2 4-2.8 1.6-.8 5.3-1 5.3-1l-2.1-.5s-3.2-2.5-3.5-4.3a6 6 0 0 1 1.6-5 8 8 0 0 1 5.5-2.2c1.7 0 3.5.7 4.6 1.9a6 6 0 0 1 1.7 4.8 6 6 0 0 1-2.3 3.7 13 13 0 0 1-4.6 1.5l2.3.6 6.1 8.5 26.6-1.5s3.3-3.3 2.6-5.2q-1-2.7-5.7-2.5c-8.5.4-10.3-6.8-10-12 .3-4.4 5.5-7.3 9.5-9 4-1.5 10.8 3.7 12.6-.1 1.5-3.3-5.8-5-7-8.5-.5-1.5-.5-3.4.2-4.8 1.8-3.6 5.7-6 9.4-7.7 1.6-.7 5-.8 5-.8s3.6.1 5.1.8c3.7 1.7 7.6 4.1 9.4 7.7.7 1.4.7 3.3.2 4.8-1.1 3.5-8.5 5.2-7 8.5 1.8 3.8 8.7-1.4 12.6.2s9.2 4.5 9.5 8.9c.3 5.2-1.4 12.4-10 12q-4.7-.2-5.7 2.5c-.6 1.9 2.7 5.2 2.7 5.2l26.5 1.5 6.1-8.5 2.3-.6s-3.3-.5-4.5-1.5a6 6 0 0 1-2.3-3.7c-.2-1.7.5-3.6 1.6-4.8s3-1.9 4.6-1.9q3.2 0 5.5 2.2c1.2 1.2 2 3.2 1.6 5s-3.5 4.3-3.5 4.3l-2.1.5s3.7.2 5.4 1c1.5.6 2.6 1.9 3.9 2.8 1.7 1.2 3.1 3 5.1 3.4 3.5.7 9.6 1 10.3-2.5.7-3-6.1-2.9-6.8-5.8-.7-3 1.3-6.5 3.7-8.5 2.7-2.4 7.9-.4 10.5-2.9 2.2-2 1.3-6 3-8.6 2.3-3.5 6-5.8 9.4-8.3 2.5-1.9 5.3-6.7 8-5.1 2.4 1.4 0 5.6-.6 8.3-.8 3.4-2.6 6.5-4 9.7-1.2 2.7-5 5.4-3.7 8 .7 1.3 3.3-.2 4.3.9a6 6 0 0 1 1.1 5.4c-.6 1.9-3.4 2.3-4.3 4-1 2-.5 4.4-.5 6.6 0 1.6.8 3.3.3 4.9-.8 2.1-5 2.8-4.6 5.1.7 4.7 9.9 3.2 12 7.4 1.7 3.4-1.9 7.6-.9 11.2 1.2 4.1 6.5 6.2 7.8 10.3 1 3.2.4 6.8-.6 10-.8 2.5-4.7 4-4.3 6.6.6 3.6 6.2 3.9 8.6 6.6q4.9 5.5 7.7 12.6c1 2.3 3.7 5.8 1.7 7.4-9.2 7.4-21-11.1-32-15.2a220 220 0 0 0-72-13.4c-7-.4-21-.4-21-.4s-14 0-21 .4m31.1-133.7-10.1.1-10.2-.1m17-33.9c2.6-5.6-2-9.7-6.8-13.8-4.8 4-9.4 8.2-6.8 13.8m14.1 46.8c3.9.2 8.6 4.2 11.6 1.7 1.3-1.2.7-3.7 0-5.3-1.6-3.8-8.4-4.7-8.7-8.8-.3-3.5 5.1-5.2 6.3-8.5q.8-2.7 0-5.3c-2.8-6.6-14.5-7-16.6-13.7-.9-3 6-6.5 6.8-6.9 4.4-1.9 9.7 2.7 14 .8 3-1.2 6.1-4.1 6-7.3 0-3.4-3.6-6.3-6.8-7.7-6.1-2.6-16.2 6-20 .5-3.4-5.1 8.7-11.1 7-17-.7-2.9-7-5.3-7-5.3s-6.1 2.4-6.9 5.3c-1.6 5.9 10.5 11.9 7 17-3.7 5.5-13.8-3.1-20-.5-3.1 1.4-6.8 4.3-6.8 7.7 0 3.2 3.1 6 6 7.3 4.3 1.9 9.7-2.7 14-.8.9.4 7.7 4 6.8 6.9-2 6.7-13.7 7-16.5 13.7a8 8 0 0 0 0 5.3c1.1 3.3 6.6 5 6.3 8.5-.3 4.1-7.2 5-8.7 8.8-.7 1.6-1.4 4.1 0 5.3 3 2.5 7.7-1.5 11.6-1.7 2.4-.2 7.3 0 7.3 0s4.8-.2 7.3 0"/> + <path fill="none" d="M1953.7 953.5s-7.1-3-10.8-4.3a258 258 0 0 0-20-6.5c-6.6-1.8-13.2-3.7-20-4.5-14.6-1.6-44-.2-44-.2s-29.4-1.4-44 .2c-6.8.8-13.5 2.7-20 4.5a258 258 0 0 0-30.9 10.8M1966 731s-12-4.8-18.1-6.9q-7.6-2.7-15.5-4.8-9.6-2.3-19.4-3.5a387 387 0 0 0-54.1-3.4s-17.2.1-25.8.6a377 377 0 0 0-47.8 6.3q-7.8 2-15.4 4.8c-6.1 2.1-18 6.9-18 6.9m-14.2 120.4s17.5-6 26.4-8.7c9.1-2.8 18.2-6 27.5-8 11.2-2.5 22.6-3.7 34-5 11-1.1 33.3-2.3 33.3-2.3s22.2 1.2 33.3 2.4c11.3 1.2 22.8 2.4 34 4.8 9.3 2 18.3 5.3 27.5 8.1l26.4 8.7"/> + </g> + <g fill="#ccc" transform="translate(123)scale(.192)"> + <g id="va-b"> + <path d="m1533.3 904 101.2 86.8s-5.2 11.2-7.3 17a143 143 0 0 0-9.3 41l-118-108c1.7-24.7 15.6-33.5 33.4-36.8z"/> + <path d="m1519 958.2-24.3 27.2 15.2 14.6-23.5 22.8-15.2-15.1-25.5 27.2-.2 33.7 58 45.5 20.1-14.9-1.1-32.3 15.4 8.6 15.5-9.4.8 29.1-12.6-9.1-13.7 18-1.4 32 43.7 39 53-47.1-4-14.1-2.2-12.7-1.3-25.1 2-27.5z"/> + <path d="m1494.7 985.4-.6 30 15.6-15.3z"/> + <path fill="none" d="m1572 1140.4-1.9 34.3m-18.6-139.7.6 31.8m-14.8-17.3.9 25.8m-14.5-36.3.6 29m-21.4 15.2.3 30.6m24.7-9.7 44 37 45.1-39.6m-171-66.9 57.6 49.2 18.9-16.9-15-12.6 16.7-15.7 12.9 11.1 14.5-14.8 19 18.3-17.2 13.4 16 14.6-15.2 14"/> + <path d="m1901.3 1229.3 48.7 44.6 10.7 31.5-62.6-6.7-35.7-35.3-38-35.2-164-142.1s3.5-13.1 5.6-19.5q5-13.9 10.6-27.5l3-6.8 183 162.3z"/> + <path d="M1942.7 1236c27 38 72.7 73.7 86.5 90.9 13.9 17.2 22.8 33.5 2.6 55.5s-43 9.5-61.1-2.6-49.6-51.3-94.8-81.3z"/> + <path d="m1926.7 1299.8-35.2-16m41-38.2c2.4 8 .5 16.8 3.6 24.4 3 7.6 14 20 14 20s-7 1-10.3 2.2c-4.7 1.9-12 2.7-13.1 7.7-1 4.3 4 8 7 11.2q4.7 4.5 10.4 7.6c6.1 3.6 12.4 7.6 19.4 8.9 8.7 1.6 25.1-10.8 26.6-2 .6 3.6-7.4 1.3-10.7 3-7.8 3.8-11.6 12-4.8 17.8 4.4 3.7 11.3 2.4 17 2.9 5.5.4 11.7-2.8 16.5 0 5.6 3.2 12.7 11 9.7 16.8-3 6-14.5 5.8-20 2-4-3-2.9-9.5-3.5-14.4v-4.4"/> + <circle cx="2154.7" cy="1480.1" r="129.7"/> + <path fill="#fff" d="M2106.1 1485.7a40.5 40.5 0 1 0 40.5 40.4l14-.6a40.5 40.5 0 1 0 40.5-40.5l.6-7.9a40.5 40.5 0 1 0-40.5-40.5l-14-1.2a40.5 40.5 0 1 0-40.5 40.5z"/> + <circle cx="2154.7" cy="1446.1" r="14.6"/> + <circle cx="2189.4" cy="1480.1" r="14.6"/> + <circle cx="2155.3" cy="1511.2" r="14.6"/> + <circle cx="2119.3" cy="1480.1" r="14.6"/> + <path fill="#fff" d="M2152.2 1558.4c-5.3 11-12.6 16-21.9 22a63 63 0 0 0 43.8 0 54 54 0 0 1-21.9-22zm-76.5-80.2c-11-5.3-16-12.6-22-22a63 63 0 0 0 0 44 53 53 0 0 1 22-22zm159.2 3.6c11-5.3 16-12.6 22-21.9a63 63 0 0 1 0 43.9c-4.7-9.3-12-16-22-22zm-78.4-80.8c-5.3-11-12.6-16-22-22a63 63 0 0 1 44 0 53 53 0 0 0-22 22z"/> + </g> + <g fill="#ce9d09"> + <g id="va-c"> + <path d="M1533.5 903.8s.7-5 0-7.4a23 23 0 0 0-6.6-10.2 20 20 0 0 0-9.2-4.6 25 25 0 0 0-17.7 4.2l-15 6.2-5.5 17.7s-3.2 5.6-4 8.7a23 23 0 0 0-.5 10.1c1 3.9 3.2 7.6 6.3 10.2a19 19 0 0 0 10.3 4 28 28 0 0 0 8.3-1.9c1.6-18.6 9.9-32.8 33.5-36.9z"/> + <path d="m1500.3 885.6-38.8-17-3.1 3 21 38.2s6-8.7 9.4-12.7c3.6-4.1 11.5-11.5 11.5-11.5z"/> + <circle cx="1457.3" cy="865.3" r="16"/> + <path d="M1566.2 932.3c3.4 28 7.3 55.9 16 83.8l31 28.5c-6.5-29.3-18.4-58.5-18.3-87.7z"/> + <path d="m1613 972.4-85.4-6.4 27.2 25 78 3.3 1.2-4zm105.4 94.6a62 62 0 0 0-37.9 37c-6.4.7-12.3.7-14.4-4a59 59 0 0 1 35.7-47.8c15-2.8 12.2 8.9 16.6 14.7zm27.5 25.8a62 62 0 0 0-37.9 37.2c-6.3.5-12.3.6-14.4-4.1a59 59 0 0 1 35.8-47.8c15-2.8 12.1 8.9 16.5 14.7zm312.8 261.9a72 72 0 0 0-15.1 1.5c.3 8-3 16.6-11.8 26.2a33 33 0 0 1-23.7 12s-2.8 17.7 2.6 23.3c6.3 6.6 27.1 3.9 27.1 3.9l1.8-1.1a130 130 0 0 1 31.9-39.8l.3-1.3s3-16.5-2.1-21.5c-2.4-2.3-6.6-3-11 0z"/> + <circle cx="2254.5" cy="1375.4" r="17.7"/> + <circle cx="2260.6" cy="1580" r="17.7"/> + <circle cx="2062.1" cy="1591.6" r="17.7"/> + </g> + </g> + </g> + <g fill="#ce9d09" transform="matrix(-.192 0 0 .192 837 0)"> + <use xlink:href="#va-b" width="100%" height="100%"/> + <use xlink:href="#va-c" width="100%" height="100%" fill="#ccc"/> + </g> + <g fill="#fa0204" transform="translate(123)scale(.192)"> + <path id="va-d" d="M1869.2 1175.8c0 5.4-4.5 7.4-13.3 7.4q-12.9.1-12.7-7.9c.2-8 4-6.7 12.7-6.7 8.8 0 13.3 1.8 13.3 7.2z"/> + <use xlink:href="#va-d" width="100%" height="100%" x="6.4" y="14.3"/> + <path d="M1877.3 1208.7c-1.7 5-6.7 5.6-15 2.7-8.2-3-11.2-6.6-9.4-11.7s6-5 14.3-2.1c8.2 2.9 12 6 10.1 11z"/> + <path id="va-e" d="M1877.5 1222.5c-1 5.3-5.9 6.4-14.4 4.7q-12.7-2.5-11-10.3c1-5.3 5.3-5.8 13.8-4s12.7 4.3 11.6 9.6z"/> + <use xlink:href="#va-e" width="100%" height="100%" x="4" y="16.1"/> + <path d="M1921.7 1216.2c-2.6-.7-2.3-5.3-1.6-7.9 1.2-4 8.4-9.1 8.4-9.1s1.8 5.6 1 8.2c-1.2 3.7-4 9.8-7.8 8.8z"/> + <path d="M1912.3 1224.4c-2.8-.6-3.2-5.5-2.5-8.3 1.2-4.3 9.7-9.3 9.7-9.3s1.5 6 .5 8.8c-1.3 3.7-3.9 9.7-7.7 8.8zm-10.8 15.6c-4.3-1.1-3.8-8.8-2.6-13 1-3.6 3.7-9.2 7.2-8.3 4.2 1 4.2 8.3 3.1 12.5-.9 3.8-4 9.8-7.7 8.8z"/> + <path d="M1888.7 1252.2c-4.2-1-6-7.6-5.1-11.9s5.3-10.4 9.7-9.4c4.5 1 6 8.3 5 12.8-1 4.1-5.4 9.4-9.6 8.5zm-2.2 7.4c-1 5-7.5 6.8-11.5 5.5s-9.5-7.1-8.4-12.5c1.2-5.4 8.2-6.8 12.3-5.2 3.9 1.5 8.7 7.2 7.6 12.2zm-85-49.3s5.1 2.5 7.3 4.8c2.3 2.4 5.1 3.3 3.7 6.9s-5.8 2.4-8.1-.2c-2.1-2.3-3-11.5-3-11.5zm25.3 8.7c5.3 1.1 5.1 7.2 2.5 11-2.8 3.8-10.9 8.9-16.4 7.8s-4.8-7.8-1.8-11.7c2.9-3.6 10.6-8 15.7-7z"/> + <path id="va-f" d="M1844.3 1230.5c4.8 2.2 3.4 8.1 0 11.2-3.6 3.2-12.6 6.3-17.7 4-5.2-2.2-3-8.6.8-11.7 3.6-3 12-5.6 16.9-3.5z"/> + <use xlink:href="#va-f" width="100%" height="100%" x="14" y="10.7"/> + <path d="M1863 1250.7c4.8.7 6 7.4 4.6 11.7-1.6 4.5-7.5 10.6-12.5 9.8s-6-8-4.2-12.6c1.6-4.2 7.3-9.7 12-9z"/> + <path d="M1875.1 1265.3c4 2.3 3 9.6.4 13.6-2.7 4.1-9.8 8.6-14 6.2-4.2-2.5-2.7-10.3.2-14.4 2.8-3.8 9.5-7.6 13.4-5.4zm-86.1-39.9c4.3-.3 7.2 6 7.1 10.6 0 4.9-3.3 12.4-7.7 12.8s-7.3-6.7-7-11.6c.1-4.6 3.4-11.4 7.6-11.8z"/> + <path d="M1803 1237.7c4 .9 5 7.8 3.5 12.2-1.6 4.6-7 10.8-11.3 9.8s-5-8.6-3.2-13.2c1.6-4.3 6.8-9.8 11-8.9z"/> + <path d="M1815.8 1246.2c5 1.2 6 9.8 4.2 15.3-1.8 5.7-8.2 13.4-13.4 12.2s-5.8-10.7-3.7-16.5c1.9-5.3 8-12.1 12.9-11z"/> + <path d="M1826.2 1256.8c5-.6 9 7 9.3 12.8.3 6-3 15.4-8.2 16-5.3.7-9.2-7.9-9.3-14-.1-5.6 3.3-14.2 8.2-14.8z"/> + <path id="va-g" d="M1838.6 1265.7c4.5-.6 8.2 5.8 8.4 10.5.3 5-2.7 12.8-7.4 13.4-4.9.6-8.4-6.6-8.5-11.6 0-4.7 3-11.8 7.5-12.3z"/> + <use xlink:href="#va-g" width="100%" height="100%" x="12.8" y="10.4"/> + <path id="va-h" d="M1929.3 1250.9c-3.3 2.8-9.7.3-12.6-2.9-3.1-3.3-5.3-10.5-1.8-13.5 3.4-3 10.2.2 13.2 3.6 2.7 3.3 4.4 10 1.2 12.8z"/> + <use xlink:href="#va-h" width="100%" height="100%" x="-7" y="12.8"/> + <use xlink:href="#va-h" width="100%" height="100%" x="-19.5" y="23.5"/> + <path d="M1905.2 1281.2c-1.1 4.1-8 5.6-12.1 4.5-4.4-1-10.2-5.8-9-10.2 1.3-4.4 8.7-5.6 13-4.3 4.2 1.2 9.2 5.9 8 10z"/> + <path d="M1887.2 1278.2c3.6 2.5 2.8 10.5.4 14.9-2.6 4.5-9 9.5-12.9 6.8s-2.5-11.3.2-15.8c2.5-4.2 8.7-8.4 12.3-6z"/> + <path d="M1869.6 1287.5c4 2.4 3 9.6.4 13.6-2.7 4.1-9.8 8.6-14 6.2-4.2-2.5-2.7-10.3.2-14.4 2.8-3.8 9.5-7.6 13.4-5.4z"/> + <path id="va-i" d="M1831.3 1313c-3.4 3.1-.7 11.2 2.8 15.2 3.7 4.2 11.8 8.1 15.4 4.7s.3-12-3.6-16.1c-3.7-3.9-11.2-7-14.6-3.9z"/> + <use xlink:href="#va-i" width="100%" height="100%" x="-7.3" y="13.8"/> + <path id="va-j" d="M1820.8 1339.5c-4.3 1.8-4.8 10.2-3 15.3 1.8 5.3 7.9 11.9 12.5 10 4.6-1.8 4.7-11 2.6-16.3-2-4.9-7.8-10.7-12-9z"/> + <use xlink:href="#va-j" width="100%" height="100%" x="-10.5" y="14.9"/> + <path id="va-k" d="M1802.7 1371c-4.6 1-6.5 9.3-5.5 14.6 1 5.5 6 13 10.8 11.9s6.4-10.2 5.2-15.7c-1.2-5.1-6-11.8-10.5-10.8z"/> + <use xlink:href="#va-k" width="100%" height="100%" x="-10.1" y="15.9"/> + <path id="va-l" d="M1784 1403.3c-4.6.2-8 8-8 13.3 0 5.6 3.5 13.9 8.4 13.7s8.2-8.8 8-14.5c-.2-5.3-3.7-12.7-8.3-12.5z"/> + <use xlink:href="#va-l" width="100%" height="100%" x="-10.3" y="19.2"/> + <use xlink:href="#va-l" width="100%" height="100%" x="-22.4" y="37"/> + <use xlink:href="#va-l" width="100%" height="100%" x="-34.9" y="52.3"/> + <use xlink:href="#va-l" width="100%" height="100%" x="-47.8" y="66.5"/> + <use xlink:href="#va-l" width="100%" height="100%" x="-62" y="78.1"/> + <use xlink:href="#va-l" width="100%" height="100%" x="-75.6" y="90.6"/> + <path d="m1692.8 1500.2-5.3 20.6s3 7.3 6 7c5.5-.6 7-9 8-14.5 1-8.4-8.7-13.1-8.7-13.1zm324.4 13.1c1.6 6 15.3 11.3 15.3 11.3l-6.7-27.8c-5.7.2-9.5 12.4-8.6 16.4z"/> + <path d="M2016 1491c-4.3-1.8-10.5 4-12.7 8.9-2.3 5.1-2.4 14 2.2 15.9 4.6 1.8 11-4.8 13.1-10 2-5 1.7-13.1-2.6-14.9z"/> + <path id="va-m" d="M2000.8 1478.7c-4.7-.3-8.7 7.2-9.2 12.5-.5 5.6 2.2 14.1 7.1 14.4 5 .2 9-8 9.3-13.7.3-5.3-2.6-13-7.2-13.2z"/> + <use xlink:href="#va-m" width="100%" height="100%" x="-13.4" y="-13.7"/> + <use xlink:href="#va-m" width="100%" height="100%" x="-25.9" y="-29.2"/> + <use xlink:href="#va-m" width="100%" height="100%" x="-38.7" y="-42.3"/> + <use xlink:href="#va-m" width="100%" height="100%" x="-49" y="-60.3"/> + <use xlink:href="#va-m" width="100%" height="100%" x="-60.3" y="-76.4"/> + <use xlink:href="#va-m" width="100%" height="100%" x="-70.6" y="-93.5"/> + <use xlink:href="#va-m" width="100%" height="100%" x="-79.8" y="-113.3"/> + <use xlink:href="#va-m" width="100%" height="100%" x="-89.8" y="-131.2"/> + <use xlink:href="#va-m" width="100%" height="100%" x="-98" y="-152.5"/> + <path d="M1883.8 1304.6s-1.6 26.6 8 28.3c6.1 1.1 10.9-14.9 10.9-14.9z"/> + <path id="va-n" d="M1862 1610.8c-2.9 3.6 1 11.2 5 14.7 4.3 3.6 12.9 6.2 15.9 2.3s-1.5-11.9-6-15.4c-4-3.2-12-5.3-14.9-1.6z"/> + <use xlink:href="#va-n" width="100%" height="100%" x="18.3" y="-2.2"/> + <use xlink:href="#va-n" width="100%" height="100%" x="36.8" y="-5.8"/> + <path id="va-o" d="M1916.2 1603.8c-2.3 4 2.6 11 7.1 13.8 4.8 3 13.7 4.3 16 0 2.5-4.4-3.2-11.6-8.1-14.4-4.6-2.6-12.8-3.4-15 .6z"/> + <use xlink:href="#va-o" width="100%" height="100%" x="20" y="-3.2"/> + <path id="va-p" d="M1953.5 1595.4c-2 4.3 3.6 10.7 8.4 13.1 5 2.5 14 3 16-1.5s-4.4-11.2-9.5-13.5c-4.8-2.2-13-2.3-15 2z"/> + <use xlink:href="#va-p" width="100%" height="100%" x="18.9" y="-5.6"/> + <path id="va-q" d="M1991.3 1583.9c-1.7 4.4 4.2 10.5 9.1 12.5 5.2 2.2 14.2 2.2 15.9-2.4 1.7-4.7-5-11-10.3-13-5-1.8-13.1-1.4-14.7 2.9z"/> + <use xlink:href="#va-q" width="100%" height="100%" x="19.2" y="-6.2"/> + <use xlink:href="#va-q" width="100%" height="100%" x="37.7" y="-14"/> + <use xlink:href="#va-q" width="100%" height="100%" x="57.5" y="-22.2"/> + <use xlink:href="#va-q" width="100%" height="100%" x="77.5" y="-28.6"/> + <use xlink:href="#va-q" width="100%" height="100%" x="79.9" y="-44.3"/> + <path d="M2066.7 1534.9s13.6 2 14.8-2.9c1.6-6.5-15.4-12.7-15.4-12.7z"/> + <path id="va-r" d="M1701.6 1575.6c-4 2.5-3 10.9-.4 15.5 2.7 4.9 9.8 10.4 14 7.8s2.8-11.7-.2-16.5c-2.7-4.5-9.4-9.2-13.4-6.8z"/> + <use xlink:href="#va-r" width="100%" height="100%" x="18.9" y="7.8"/> + <use xlink:href="#va-r" width="100%" height="100%" x="37" y="10.6"/> + <use xlink:href="#va-r" width="100%" height="100%" x="56.8" y="15.5"/> + <use xlink:href="#va-r" width="100%" height="100%" x="74.7" y="18.1"/> + <use xlink:href="#va-r" width="100%" height="100%" x="92.3" y="21.7"/> + <use xlink:href="#va-r" width="100%" height="100%" x="110.4" y="26.7"/> + <use xlink:href="#va-r" width="100%" height="100%" x="128.3" y="29.9"/> + <use xlink:href="#va-r" width="100%" height="100%" x="146.6" y="32.7"/> + <path d="M1648.2 1517.5c-4.2-2.1-11 3-13.6 7.6-2.7 5-3.8 13.8.6 16 4.4 2.3 11.5-3.6 14-8.6 2.5-4.7 3-12.9-1-15z"/> + <path d="M1642 1534.4c-4.4-1.6-10.4 4.4-12.4 9.4-2 5.2-2 14.1 2.7 15.8 4.7 1.6 10.9-5.2 12.8-10.5 1.8-5 1.3-13.1-3-14.7z"/> + <path d="M1647.7 1550c-4.5-1.2-10 5.3-11.5 10.4-1.6 5.4-.6 14.3 4.2 15.5s10.3-6.1 11.8-11.6c1.3-5.1 0-13.2-4.5-14.4z"/> + <path d="M1662.4 1556.3c-4.5-1.3-10.2 5-11.9 10-1.7 5.4-1 14.3 3.7 15.7s10.5-5.8 12.1-11.2c1.5-5 .5-13.2-4-14.5z"/> + <path id="va-s" d="M1672 1558.8c-4.6 1.1-6.3 9.4-5.2 14.7 1.1 5.5 6.2 12.8 11 11.6s6.2-10.3 4.8-15.8c-1.2-5-6.2-11.6-10.7-10.5z"/> + <use xlink:href="#va-s" width="100%" height="100%" x="16.8" y="6.2"/> + <use xlink:href="#va-i" width="100%" height="100%" x="8.6" y="-11.2"/> + <use xlink:href="#va-i" width="100%" height="100%" x="4.7" y="6.5"/> + <use xlink:href="#va-i" width="100%" height="100%" x="4.9" y="26.7"/> + <use xlink:href="#va-i" width="100%" height="100%" x="4.7" y="47.9"/> + <use xlink:href="#va-i" width="100%" height="100%" x="5.6" y="68.6"/> + <use xlink:href="#va-i" width="100%" height="100%" x="2.2" y="87.7"/> + <use xlink:href="#va-i" width="100%" height="100%" x="4.7" y="109.1"/> + <use xlink:href="#va-i" width="100%" height="100%" x="2.2" y="126.4"/> + <use xlink:href="#va-i" width="100%" height="100%" x="4.7" y="143.5"/> + <use xlink:href="#va-i" width="100%" height="100%" x="4.7" y="163.9"/> + <use xlink:href="#va-i" width="100%" height="100%" x="3.4" y="183.9"/> + <use xlink:href="#va-i" width="100%" height="100%" x="3.7" y="203.1"/> + <use xlink:href="#va-i" width="100%" height="100%" x="4.4" y="223.5"/> + <use xlink:href="#va-i" width="100%" height="100%" x="4.4" y="243.3"/> + <use xlink:href="#va-i" width="100%" height="100%" x="3.7" y="263.1"/> + <use xlink:href="#va-i" width="100%" height="100%" x="2.5" y="283.2"/> + <use xlink:href="#va-i" width="100%" height="100%" x="2.5" y="305.1"/> + <use xlink:href="#va-i" width="100%" height="100%" x="1.9" y="327.9"/> + <use xlink:href="#va-i" width="100%" height="100%" x="1.9" y="349.3"/> + <use xlink:href="#va-i" width="100%" height="100%" x="1.9" y="369"/> + <use xlink:href="#va-i" width="100%" height="100%" x="1.3" y="391.3"/> + <path id="va-t" d="M1882.2 1303.2c2.5 3.7-1.3 10.8-5.1 14-4 3.2-12 5.4-14.5 1.5-2.6-4 1.9-11.4 6-14.6 4-3 11.2-4.6 13.6-1z"/> + <use xlink:href="#va-t" width="100%" height="100%" x="2.7" y="16.1"/> + <use xlink:href="#va-t" width="100%" height="100%" x="2.4" y="34.1"/> + <use xlink:href="#va-t" width="100%" height="100%" x="2.1" y="52.4"/> + <use xlink:href="#va-t" width="100%" height="100%" x="1.8" y="69.1"/> + <use xlink:href="#va-t" width="100%" height="100%" x="2.7" y="87.1"/> + <use xlink:href="#va-t" width="100%" height="100%" x="1.5" y="104.4"/> + <path d="M1883.3 1426c2.6 3.9-1.5 11.3-5.7 14.5-4.5 3.4-13.2 5.7-16 1.6s2-11.8 6.6-15c4.4-3.1 12.4-4.8 15-1z"/> + <path id="va-u" d="M1882 1443.6c3.5 3.2.8 11.3-2.7 15.3-3.7 4.2-11.8 8-15.3 4.7-3.6-3.5-.3-12 3.6-16.2 3.6-3.8 11.1-7 14.5-3.8z"/> + <use xlink:href="#va-u" width="100%" height="100%" x=".6" y="20.4"/> + <use xlink:href="#va-u" width="100%" height="100%" x=".9" y="40.5"/> + <use xlink:href="#va-u" width="100%" height="100%" x=".3" y="62.1"/> + <use xlink:href="#va-u" width="100%" height="100%" x=".9" y="82.2"/> + <use xlink:href="#va-u" width="100%" height="100%" x=".3" y="102.6"/> + <use xlink:href="#va-u" width="100%" height="100%" x=".6" y="123"/> + <use xlink:href="#va-u" width="100%" height="100%" x=".6" y="143.7"/> + <use xlink:href="#va-u" width="100%" height="100%" x="-.3" y="164.4"/> + <use xlink:href="#va-u" width="100%" height="100%" x=".9" y="183.3"/> + <use xlink:href="#va-u" width="100%" height="100%" x=".9" y="203.1"/> + <use xlink:href="#va-u" width="100%" height="100%" x=".3" y="224.4"/> + <use xlink:href="#va-u" width="100%" height="100%" x=".3" y="245.4"/> + </g> + <g transform="translate(123)scale(.192)"> + <path fill="#fa0204" d="M1849.6 1848.3a77 77 0 0 0 48.3.4l-17.5-28"/> + <path fill="#ce9d09" d="m1888.3 1776.2-31.7-8.2s.4-35.2 20.4-32.1c16.6 2.5 12 40.3 11.3 40.3z"/> + <circle cx="1872.9" cy="1723" r="12.9" fill="#ce9d09"/> + <path fill="#fa0204" d="M1885.4 1791.9c7 17.8 11.3 33.2 4.7 53.3m7.6 3.5c-10.2-8.3-36.6-5.9-48-.4-4.4 0-16.4-83.2 25.7-81.2 38.8 2 25 82 22.3 81.6z"/> + </g> + <g transform="translate(123)scale(.192)"> + <path fill="#fa0204" d="M1815.2 1866.3a47 47 0 0 0 54.2.5l-40.2-42"/> + <circle cx="1843.4" cy="1738.3" r="12.9" fill="#ce9d09"/> + <path fill="#ce9d09" d="m1859.3 1780-32.7-.6s-4.2-26.6 16.2-27.8c16.9-1 17.2 28.4 16.5 28.4z"/> + <path fill="#fa0204" d="M1843.6 1860.7c-6.3-13.9-6.9-31-5.2-49.5m-9.4 50.4c-7.7-13.2-9.1-30-3-51.2m43.4 56.6c-5-6.2-40.3-8.8-54.1-.4-5 0-18.6-93.8 29-91.5 43.6 2.1 28 92.3 25 91.9z"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/vc.svg b/apps/web/public/flags/vc.svg new file mode 100644 index 00000000..f26c2d8d --- /dev/null +++ b/apps/web/public/flags/vc.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-vc" viewBox="0 0 640 480"> + <g fill-rule="evenodd"> + <path fill="#f4f100" d="M0 0h640v480H0z"/> + <path fill="#199a00" d="M490 0h150v480H490z"/> + <path fill="#0058aa" d="M0 0h150v480H0z"/> + <path fill="#199a00" d="m259.3 130-46.4 71.3 44.7 74.4 43.8-73.7zm121.2 0-46.3 71.3 44.7 74.4 43.8-73.7zm-61.2 97.3-46.4 71.4 44.8 74.4 43.8-73.7-42.2-72z"/> + </g> +</svg> diff --git a/apps/web/public/flags/ve.svg b/apps/web/public/flags/ve.svg new file mode 100644 index 00000000..314e7f5f --- /dev/null +++ b/apps/web/public/flags/ve.svg @@ -0,0 +1,26 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ve" viewBox="0 0 640 480"> + <defs> + <g id="ve-d" transform="translate(0 -36)"> + <g id="ve-c"> + <g id="ve-b"> + <path id="ve-a" fill="#fff" d="M0-5-1.5-.2l2.8.9z"/> + <use xlink:href="#ve-a" width="180" height="120" transform="scale(-1 1)"/> + </g> + <use xlink:href="#ve-b" width="180" height="120" transform="rotate(72)"/> + </g> + <use xlink:href="#ve-b" width="180" height="120" transform="rotate(-72)"/> + <use xlink:href="#ve-c" width="180" height="120" transform="rotate(144)"/> + </g> + </defs> + <path fill="#cf142b" d="M0 0h640v480H0z"/> + <path fill="#00247d" d="M0 0h640v320H0z"/> + <path fill="#fc0" d="M0 0h640v160H0z"/> + <g id="ve-f" transform="matrix(4 0 0 4 320 336)"> + <g id="ve-e"> + <use xlink:href="#ve-d" width="180" height="120" transform="rotate(10)"/> + <use xlink:href="#ve-d" width="180" height="120" transform="rotate(30)"/> + </g> + <use xlink:href="#ve-e" width="180" height="120" transform="rotate(40)"/> + </g> + <use xlink:href="#ve-f" width="180" height="120" transform="rotate(-80 320 336)"/> +</svg> diff --git a/apps/web/public/flags/vg.svg b/apps/web/public/flags/vg.svg new file mode 100644 index 00000000..ac900888 --- /dev/null +++ b/apps/web/public/flags/vg.svg @@ -0,0 +1,59 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-vg" viewBox="0 0 640 480"> + <defs> + <linearGradient id="vg-a" x1="103.1" x2="92.6" y1="111.3" y2="107.8" gradientTransform="matrix(.99614 0 0 2.25255 703.8 -75)" gradientUnits="userSpaceOnUse"> + <stop offset="0" stop-color="red"/> + <stop offset="1" stop-color="#ff0"/> + </linearGradient> + </defs> + <path fill="#006" d="M0 0h640v480H0Z"/> + <path fill="#012169" d="M0 0h320v240H0Z"/> + <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0Z"/> + <path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5Zm-92 10 3 17.5-96 72H0ZM320 0v1.5l-124.5 94 1-22L295 0ZM0 0l119.5 88h-30L0 21Z"/> + <path fill="#fff" d="M120.5 0v240h80V0ZM0 80v80h320V80Z"/> + <path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0Z"/> + <g transform="translate(-217.5 -9.4)scale(.77497)"> + <path fill="#fff" d="m776.3 144 250.4-.9-.5 223s8.8 34-105 85.5c40.9-4.2 85.5-47.8 85.5-47.8s18.1-23.3 27-10.3 17.1 19.6 23.6 24.7 11.6 19 1.9 29.2c-9.8 10.3-25.1 11.6-29.3-.9-6.5 3.3-46.4 51.6-128.2 53.9C818.5 499 773 446 773 446s-11.1 17.7-27 3.8c-15.3-18.2-3.7-29.8-3.7-29.8s13-7.4 16.8-12.5c6-7 7.9-16.3 18-16.3 12.2 1 16.8 10.7 16.8 10.7s41.8 44.1 86.9 49.7c-101.7-48.8-105.5-79-105-86.4z"/> + <path fill="#006129" stroke="#000" stroke-width="1.9" d="m782.3 150.1 238.8-1.4v214.6c.5 28-46.5 56.3-119.9 92.5-75.7-39-119.4-62.7-119.8-93z"/> + <g id="vg-b" fill="#ffc72c" stroke="#000" stroke-width=".9"> + <path fill="none" stroke="#ffc72c" stroke-width="1.9" d="m814.8 181.8 14-20.7 14.3 20.8"/> + <path d="M831.7 174a2.8 2.8 0 1 1-5.6 0 2.8 2.8 0 0 1 5.6 0z"/> + <path d="M817.4 197.1h21.9s.3-2.8-2.3-4.5c11.5-1.6 8.5-11.6 18-12.2 2 .3-5 4.3-5 4.3s-5.7 4-3 6.1c2 1.7 3-1 3.2-3s9.3-3.3 8-9c-2.1-4.7-14.7 3.2-14.7 3.2l-9-.1c-.6-1-3-5-5.6-5-3 0-5.2 5-5.2 5h-20.3s-.7 5.3 9.6 6.3c2.3 3 4.1 3.8 6.2 4.6q-2 1.6-1.8 4.3zm1.6-4.4h18.2"/> + <path d="M810.7 182s1.4 8.5 8.2 10.5"/> + <path fill="url(#vg-a)" d="M809.6 181.8c.6-3.2 1.9-3.8 3.2-8 .2-4-3.2-3.5-2.2-6q2.6-4.4-2.5-7.7c.7 3.7-4.4 7.2-4.4 10.2s2.6 2.4 2.3 7c.2 2.6-.7 2-1 4.5z"/> + <path d="M831.5 161.7a2.6 2.6 0 1 1-5.2 0 2.6 2.6 0 0 1 5.2 0z"/> + </g> + <use xlink:href="#vg-b" width="100%" height="100%" x="-.8" y="41.3"/> + <use xlink:href="#vg-b" width="100%" height="100%" x="-1.1" y="82"/> + <use xlink:href="#vg-b" width="100%" height="100%" x="25.6" y="126.1"/> + <use xlink:href="#vg-b" width="100%" height="100%" x="-4.6" y="162.2"/> + <use xlink:href="#vg-b" width="100%" height="100%" x="-3.8" y="204.8"/> + <use xlink:href="#vg-b" width="100%" height="100%" x="146.3" y=".7"/> + <use xlink:href="#vg-b" width="100%" height="100%" x="144.9" y="41.2"/> + <use xlink:href="#vg-b" width="100%" height="100%" x="143.1" y="82.7"/> + <use xlink:href="#vg-b" width="100%" height="100%" x="145.2" y="123.4"/> + <use xlink:href="#vg-b" width="100%" height="100%" x="144.7" y="164.2"/> + <use xlink:href="#vg-b" width="100%" height="100%" x="144.9" y="205.2"/> + <g fill="#ffc6b5" stroke="#000" stroke-width=".9"> + <path fill="#ffc72c" d="M915.8 406.3s5.7 13.2 12.2 5c6.5-8 4.2-11.5 4.2-11.5l-14.6-7.9-4.3 9z"/> + <path d="M928.4 404.6s1 .1 1.7-1.3c.8-1.4-1.7-2-2.9-3.6l-1.2 2.5zm-33-3.6-12.8 7s-6.4 1.3-6.8 0c-.5-1.2.1-2.3 3.5-2.5 3.3-.1 12.3-8.4 12.3-8.4l3.8 4zm.2-227.9.4 4.6c.2 1.6-2.5 5-2.6 4.8s-1.5.2-1.3 1.1 2 1.3 2 1.3-.7 3.3 0 3.5c.8.1-2 4.2 0 5.3 2.1 1.1 5.6 2.6 7.2 2.3s0 6.1 0 6.1l-4.5 9.5 24.4-2.5-5-8s-2.4-1.7-1.8-6.3c.7-4.5-.3-25.3-.3-25.3l-17.4-2.4zm-4.5 36.2s-7.9 3.6-7.6 13.4c-2 9.5-3.1 19-3.1 19s-9.4 10.6-12.2 14.5c-2.9 3.8-7.2 11.5-8.7 13.6-1.6 2-7.8 8.8-7.7 11.4.2 2.5-1.4 13.8 4.8 15 1.6.7 6.7-13 6.7-13s.3-5.8-1.5-7c-1.7-1 3.8-4.8 3.8-4.8l13-9.7c2.4-2 8.9-9.2 8.9-9.2z"/> + <path fill="#fff" d="M900.2 201.8s2 5.6 6.6 4.6 10-5.2 10-5.2 4.3-.2 4.9.5 11.6 11.2 11.2 14.5c-.3 3.4-5 2.4-6.8 4.6s-4.6 7.8-3.8 12c.8 4 3.2 9.4 2.9 11.5s-2 2.7-2 3.8 1.4 3 1.4 5c0 2.1-2 5.1-1.6 7.2.3 2 .4 8 .4 8l-.4 28s1.6.9 1.7 2.5c.2 1.5 10.8 47.6 10.8 47.6s-.5 1.5-1.6 1.3 4.3 7.1 4.4 9.2 5.6 18.2 5.4 20.4-1 7.2-1.4 7.3c-.5.2 3.5 10.2 2.8 11.7-.6 1.6-7 1.5-7 1.5l-1.8-.4s.1 2.1-1.1 2.3-10.6-.5-10.6-.5-2.7 4.1-4.3 4c-1.6-.2-3.7-3-4.1-2.6-.5.5 1.4 3.2 1 4-.6.8-8.6 2.5-10.2-1.3s1-2.8.4-3.6c-.4-.8-4-2.9-5.2-2.3-1 .7 2.9 1.6 2.7 3.2s-3.5 4-4.7 4-4.3-5.9-8.8-5.3c-4.4.7-7.2 1.8-7.2 1.8s-5.3 2.2-7.5 1.7c-2.2-.4-3.2-2.2-3.2-3.1 0-1 1.6-5.1 1.5-6.4-.2-1.2-1.5-2.5-1.5-4.4s3.7-8.4 3.7-8.4l-.2-29.2s-3.3 0-3.5-2c-.1-2 5.1-46.1 6-49l2.8-13s-2.4 1.2-2.6 0c-.1-1 7.2-26.2 7.2-26.2s1.2-12.6 1.2-15.9-.6-7.9-.6-7.9-6.5-2.8-6.7-7c-.6-6.7 6.2-10.4 7-12.6l3.2-9s3.5-6 9.2-6.9z"/> + <path fill="#ffc72c" d="M897.8 403s-15.4 8-17.6 8.7-3.6-2.7-1.4-3.3c2.2-.7 5.7-1 5.7-1s-5.2-4.1-5-4.3l7.2-2.6c.2 0 2.2 4 3.6 3.8a31 31 0 0 0 5.6-3.5z"/> + <path d="M919.4 407.4c1.5 1.9 2 5.1 5.4 3.2 3.3-1.9-1.7-5.4-1.7-5.4z"/> + <path d="M925.5 407.1s1.6 1.3 3-.2c1.4-1.4-2.8-4.4-2.8-4.4l-2.1 2.4zm6.8-190.1c.2 0 5.2 15.6 5.9 19.6.6 4 2.7 19.8 1.9 22s-8.9 12.8-9.8 15.5-6.7 13-6.7 13-1.4 10.2-2 10.6 1.6 3 1.4 3.8c-.3 1-4.6 5.4-6.5 5s-5-2.7-5-4.8c-.3-2 0-8.9 1.5-10.6 1.4-1.8 8.9-19.3 9.3-20.4.5-1.2 6.8-15 7-17.3s-2-7.9-4.2-9.9c-5-14.7-3-23.5 7.2-26.5z"/> + <path fill="#9c5100" d="M895 172.2s3.6.5 5.5-.6 4.1-1.6 5.7.6 2.7 2 2.7 2-2.4 6 0 6.6c2.3.6 3.5.6 3.6 1.4s-2 2.5-1.4 3.3 1.7 1.7 1.9 2.4-1.4 3.3-1 4c.5.6 2 3.1 2.9 3.1 1 0 .3 4 3.2 3 2.8-1 2.7-3.5 2.7-3.5s3-.4 3.8-3.1 2.6-3.4 2.6-3.4 3.8-2-1.2-5.2c0-22.2-14.6-19.8-14.6-19.8s-1.7-4-4.6-3.5-3 3.8-5 3.5c-2.1-.3-2.6-1.7-2.7-1.6-.2.2-2 3.4-2 4.1 0 .8-5.5-1-5 3 .5 4.2 3.2 4 3 3.7z"/> + <g fill="none"> + <path d="M920.8 208s-14.1 9-13.8 12.2m17-10.6s-3.2 3.5-3.4 3.5m7.6.3s-7 5.7-5.9 9.3m-27-15.5s-2.1 4.3-1.6 5.7 4 6.8 4.4 10.1c.5 3.4 0 5.7 0 5.7m-6.5-13.6s.6 5 1.6 6 3.5 5.3 3.8 7m-6.7 8.1s4.2 2 8-5.9m6.1-5.5c-.1 0-3 7.7 2.1 10.6s8.9 2.5 11 1.7c2.3-.7 4.7-2.2 4.7-2.2m-20-.6s.3 10.4 15.7 20.7m-15-10.9s-.2 9.2 5.8 13.3m-9-24.1s-4.6 13.7-8.3 15m6.9-5s-.2 9.8-1.5 13.3m-1.2 2.4s3.1 4 6.6 3.6 5-4.4 7.3-3.8c2.4.7 4.6 2.6 10.1 2.1m-7.9 4.1s0 8.1 1.5 8.9c1.4.8.7 8.2.7 8.2m-21.5-20.9s-.2 7.6-1.1 10.3-2.9 7.3-2.5 11.3m-6.1 4.4c.8-.3 3.5-2.7 3.5-2.7m1.4 1.7s-6.8 29.2-4.9 46.6m6.5-45.1s-3.5 21.8-1.9 26m.2-26.7 13.3 1m1.9-1.8s3.6 2 8.7 1.6m-10.3 9.1s-.6 37.3-1.6 45.6m21.1-37.1s4.1 32.8 6.5 35.8m-14.4-31.7s2.5 29 4 31.6m-40 10.1s5-1.6 9.4-6.3c5 6.8 12.8.3 12.8.3s12 8.2 17.4-1c8.3 5.4 12.4-.8 12.4-.8s3 4.6 5.2 4.1m-13.1 3.2s6.1 29 15.3 37.2"/> + <path d="M889 347.7s.7 24.2 2.1 41.3m-3.3-13.9s-.8 15.8-1.7 17m-7.6 1.5s1.7 6.9 10.4.5c8.7-6.3 8.9 2.4 9.2 3.3.3 1 1.7 7.8 5 2.1m7-9.3s-1.4 14 11.1 3.8c12.5-10.3 14.6-.2 15 3m-25.9-230.2s-1.1 7 6.3 6.3c-1 3.9 2 5.1 2 5.1m5.4 4.3c.2 0 3.4 2 0 4.6m-10.7.9s1.6 2 3.3 1.5c1.8-.5 4.6 1.7 4.6 1.7s2.4.8 2.7.3m-20.3 2.5s5.4 2.1 9-6.4m-18.9-2.6 3.1.2M858.5 285l.3 6.9m-6.8-7.5s4.5 7.5 4 11.4"/> + <path stroke-linejoin="round" d="M894.1 188.2h2.9l-2.5 1.1M911.7 300s3.3-.4 3.2 5.2c2.1-7 6.4-7.1 6.4-7.1"/> + <path stroke-linejoin="round" stroke-width="1.7" d="M898.1 179.3c.5 0 2.2-.6 2.5-.1.4.4-1.9.8-2.5.1z"/> + </g> + </g> + <g fill="none" stroke="#000" stroke-width="1.9"> + <path fill="#ffc72c" d="M900.3 458.6a160 160 0 0 0 109.6-50.7c-.4-.4 8.9-13.4 16.3-11.6s18.1 23.7 31.1 28.4c6.5 10.2-1.8 19.5-4.6 21.3s-15.4 7-17.2-.4c-1.9-7.5-5.6-6-5.6-6s-59.5 58-128.2 55.7c-71 .4-129.6-55.8-129.6-55.8l-5.1 5.6s-5.6 6-8.4 5.6-14.9-8.4-15.8-16.3 7.4-13 7.4-13 20.5-15.8 22.8-24.1c4.7-4.7 13.5 3.2 13.5 3.2s53.9 61.8 113.8 58z"/> + <path d="M748.9 422.6s5.5-1.4 7.5.9 16 16 16 16"/> + <path d="m761.5 429.1-5.6 4.1s14 2.8 10.8 12m285.6-23s-2.7-1.5-7 1.7c-4.4 3.3-15.3 15.5-15.3 15.5"/> + <path d="m1039.9 428.7 6 4.6s-12.5.9-9.8 12.7"/> + </g> + <path d="M819.7 437.4c-.4 1-1.4 0-2.2.2-2 0-3.8 1.4-5.6 2.4l-18.4 10.7q-.7-.4-.3-1.2l5-23c.2-1.3.6-3-.7-4-.5-.4.3-1.1.7-.4l9.4 6.7c-.3.9-.9.2-1.4-.1-1.3-1.3-2.9-.1-2.8 1.5l-3.4 15.1 12.6-7.4c1.4-.6 2.5-2.6 1-3.8-.6-.4-1.6-1.3-.6-1.5zm6.6 32q-.3.9-1 .3l-11-6q.1-1 .9-.4c1 .7 2.6 1 3.4-.2l4-7.3 5.6-10.2c.8-1.3-.1-2.8-1.3-3.3-.4-.2-1-.4-.5-.8.2-.3.8.3 1.1.4l10.6 5.8q-.2.9-.9.3c-1-.7-2.6-1-3.4.2l-4 7.3-5.6 10.2c-.8 1.2.1 2.8 1.3 3.3zm42.6-10-3 8.4c-1.3-.1-.4-1.7-.8-2.5a9.5 9.5 0 0 0-7-8.2c-3-.8-6 .7-7.8 3.1a23 23 0 0 0-4.4 12.2 7 7 0 0 0 3.2 6.4 10 10 0 0 0 5.9 1.5l2.1-6.3c.3-1.4-1.2-2.3-2.3-2.6-.2-.4.2-1 .7-.5l11 4c0 1.3-1.6-.2-2.5.4-1.3.5-1.4 2.1-2 3.3l-1.3 3.8q-7.6.5-14.4-3.2c-4.1-2.6-7-7.7-6.1-12.7.6-4.3 3.3-8.3 7.2-10.2 3.6-2 8-1.9 11.8-.4q3 1.2 5.4 3.4c1 1.3 2.8 1.3 3.6-.1zm17.9 28.8c0 .4 0 .9-.6.6l-12.6-1.9q-.1-.9.6-.6c1 .2 2.6.2 3-1q.7-2.6 1-5.2l2.2-14.6c.3-1 0-2.2-1.1-2.6l-2-.5q-.2-.7.6-.6l12.6 2q.2.8-.6.6c-1-.3-2.5-.2-3 1q-.7 2.5-1 5.1l-2.2 14.6c-.3 1 0 2.3 1.2 2.7l2 .4zM921 480l-.5 8.9-22.6 1.1q-.2-.8.6-.7c1.1 0 2.6-.5 2.8-1.8l-.3-6.6-.7-13.4c.1-1.3-1-2.3-2.3-2.2-.4-.2-1.5.4-1.4-.3-.2-.6.7-.3 1-.4l12.6-.7q.2 1-.7.8c-1.1 0-2.6.2-3 1.6q0 2.9.2 5.7l.7 14c0 1.1 1 2.2 2.2 2 1.8-.1 3.7 0 5.5-.5 2.5-.7 3.8-3.2 4.5-5.5.5-.6 0-2.2 1-2zm17.5-21.8c-.6 0-.3.8-.5 1.2q-1.4 11.3-3 22.4c-.2 1.7-.6 3.6-2.2 4.4-.6.3-.1 1.2.5.7l7.5-2.3c-.1-1.2-1.6 0-2.4-.3-1.7 0-2-2.1-1.7-3.4q0-1.4.3-2.7l8.6-2.6q1.7 2 3.3 4.2c.8 1.4-1 2-2 2.3-.6 0-.2 1 .3.6l11.3-3.4c0-1.3-1.6 0-2.3-1-2.2-1.5-3.7-3.7-5.4-5.7zm0 9 6 7.3-7.3 2.2zm38.6-25.8 3.3 6c-1 1-1.6-1.1-2.5-1.4a5 5 0 0 0-5.5-.5l-2 1.1 9.8 18.3c.5 1.5 2.4 1.8 3.7 1q.7-.8 1 .1-2.5 1.5-5.2 2.8l-6.5 3.5q-.6-.7.4-1a2.4 2.4 0 0 0 1.1-3.7l-9.7-18c-1.8 1-4 1.8-4.5 4-.5 1.5.2 3.2.2 4.4-.5.6-.7-.2-1-.6l-2.7-5.2zm15.3-9.1 6.2 8.3c1.4-1 2.6-2.6 2.2-4.4.2-1.4-1.8-3-1.1-4 .4-.2.7.8 1 1.1l7.2 9.5c-1 1-1.6-1.1-2.6-1.4-1.4-1-3.3-1.5-4.8-.4q-1.5.6-.3 1.7 2.4 3.3 5 6.5c1 1 2.4 0 3.3-.8 2.4-1.6 4.5-4.2 4.4-7.2.2-1.4-.7-2.8-.7-4 .6-.7.7.4 1 .8l3.4 6-17.6 13.3c-.7-.5 0-.9.5-1.2 1.6-1 1.1-3.1 0-4.2L988.1 437c-1-1.3-2.8-.6-3.7.3-.5.6-1-.5-.3-.6l16.5-12.5 4.5 6c-1 1-2-1.3-3.1-1.4-2.2-1.2-4.8-.3-6.6 1.2l-3.1 2.3"/> + </g> +</svg> diff --git a/apps/web/public/flags/vi.svg b/apps/web/public/flags/vi.svg new file mode 100644 index 00000000..d88d68f9 --- /dev/null +++ b/apps/web/public/flags/vi.svg @@ -0,0 +1,28 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-vi" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#369443" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="M204.3 315s-.5-3.6 6.2-6.1c6.6-2.6 7.2-12.2 5.8-18.6 0 0-3.4 6-7.7 8.1 0 0-6.8 3.6-7.2 10.4 0 0 0 2.5-.5 4.5-.3 1-3.4-8.6 2.4-15.8 6-7.3 7.6-13.3 2.9-25 0 0-.5 7-5.1 11.1-4.7 4-5.3 4.4-5.2 14 0 0 0 3.4-1.7 4.5 0 0-3.6-5.3-4.6-8.8s-1.4-5 2.8-9c0 0 13.2-8.7 3.7-27.4 0 0-.3 6.4-5 10.2-4.5 3.9-4.2 6.4-4.4 13-.2 6.7-.6 6.2-1.1 7.2 0 0-8.5-15.6-2-23.8s10.2-10 3-25.4c0 0 .3 8-5.5 11.8-5.7 4-4.4 13-4.4 13s.4 3.5-.8 6c0 0-8.1-15.9-.4-24.4 6.6-7.3 7-12.4 3.5-22.6 0 0-.4 4.7-4 7.3-3.7 2.6-6.6 5.1-5.9 15 0 0 .3 7-.6 9 0 0-3.4-6.4-4.4-10.5-1-4.2-1.3-6.6 1.2-10.7s12.5-16 .6-33c0 0-.3 5.5-3.4 10.5-3 5-1.6 10.9-1 15.4s-1.5 8.9-1.5 8.9-5.2-9.5-4-20.4q1.6-16.6-13.5-26.4s-7.3 17 2.7 25.7c0 0 8.5 8.4 10.7 18.6 0 0-6.5-.6-12.3-12s-18-9.6-18.8-9.7c0 0 2 17.6 20.6 22.6 0 0 12 2 14.2 10.8 0 0 2 6 2.8 9.2 0 0-3.8-1.5-7.3-6.7-3.5-5-3-5.7-14.8-6.9 0 0-4.7-.5-7.2-3.9 0 0 5 18.6 17.7 18.5 0 0 11.6-1.3 18 14l-2.9-2c-1.7-1.1-6-3.3-14.5-2.3s-10.9-.4-13-1c0 0 8.6 15.7 20.7 11s18 12.4 18.2 12.7c0 0-1.7-1.2-3.8-3.3-2.2-2.1-6.6-4.7-15-2 0 0-6.1 2.3-12.3.4 0 0 6 11.5 19.8 9.5a15 15 0 0 1 17.3 10.2s-1.8-1-3-2c-1.3-1-6-3.7-16-.8s-13.6-.4-13.6-.4 5.5 10 16.2 11.3c0 0 6-.1 8.4-1s9.2-2.5 13.8 4.2c0 0-1.3.2-3.2-.7 0 0-7-2.5-12.5 2 0 0-4.8 4.9-11.6 4 0 0 8.8 8.5 22.8 1.3 0 0 4.7-3.4 8.2-.8 3.5 2.7 11.5-2.6 11.5-2.6z"/> + <g fill="#f4c53d" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5"> + <path d="M282.2 103.7s-1.6-14.5 10-16a38 38 0 0 1 18 1.2l5.5 10.6-2 7.2-7.4 3.4s1.3-11-8.8-11.2c-2.6 0-4 1-8.1.3s-6.3 3.8-7.2 4.5z"/> + <path d="M363.8 139.6c-1.8 2.2-8.7 3-8.7 3s7.1 5.5 10.2 13.3c3 7.7-82.4 0-82.4 0s3.8-2.6 6.3-7.6c0 0-3.8 1.4-7.6-2.4 0 0 2.8 1 6.5-4.6 0 0 5.5-7 9.4-9 0 0-1.8 1.2-6.1-1.2 0 0 7.4-1 10-13.5 0 0 .5-2.8 3.3-7 2.8-4 2.2.9 7.4-5.4 0 0 2.4-4.4.3-7-2-2.8-4.3-1.8-8.6-4.4-4.4-2.6-6.3-4-4.8-8s5.3-3.4 5.9-3.4.8-3.5 5.5-5.9 17.4-1.3 19.2-.3c2 1 9.5 3.3 14 14.5s-1.2 15.4 10.8 32.4c0 0-4.8 1-7.9 0 0 0 6.3 11.2 17.3 16.5z"/> + <path fill="none" d="M311 92.2c-10-.5-6.1-9.8-6.1-9.8"/> + <path d="M328 93.5s-1.7-.8-3.2-2.8c-2-2.7-6.7-4-9.1-1.4 0 0-2.5 2.8-4.8 3 0 0 2.6.7 4.3 2.3s3.5 2.8 6.1 2.4 3-1.7 4.2-2.5 2.5-1 2.5-1z"/> + </g> + <path fill="#369443" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="M202.8 336.5s-.2-6.4 7.8-6.8l23.5 32.7s-.9 2.1-11.5 1.9c0 0-1.2 0-1.8 1.2-.9 2-18-29-18-29z"/> + <g id="vi-a" fill="#f4c53d" stroke="#010002" stroke-width="10" transform="translate(3.6 26.2)scale(.15055)"> + <path d="M1495 1807.9s-49.9 85.6-110.2 87c0 0-103.7-12.6-133 14.5-20.5 18.9-41.4 34.5-50 82.8-8.4 48.3 16.5 58.7 22.4 60.8 0 0 4.6 34.5 38.7 25.5 0 0 2 36 62.2 18.7s85.3-11.8 97-71.8c11.9-60.1 22.8-59.1 33.5-66.3 14.4-9.7 41.5-18.8 61.6-30.4 18-10.4 87.2-45.6 110.8-48.3 23.6-2.8 18.4-82.2 18.4-82.2h-61l-29.5-43.5zm192-429.4s-61 49.7-112.2 0c0 0-20.6 24.8-62 17.6-41.2-7.3-48.1-29-52-41.4 0 0-35.8 20.8-66 4.3-30-16.4-30-41.3-30-41.3s-52.5 10.4-79.4-25.2c-26.9-35.5-10.5-70.7 4-74.9 0 0-56.7 14.9-72.2-33.8a56 56 0 0 1 16.4-62.8s-119.4-.6-168.4-38c0 0-40.7-25.6-16.4-52.5 0 0-107.5-17.2-134.4-60 0 0-11.8-11.8-7.9-32.5 0 0 .7-11.7 12.5-12.4 0 0-122.6-19-158-59.4 0 0-17-18.6-8.5-43.5 0 0 1.8-6.5 4.7-11 0 0-111.6-23.5-166.6-73.2 0 0-31.8-28.3-15.4-66.3 0 0-186.5-51-143.3-133.2 0 0-87.2-28.3-59.6-107 0 0-72.1-36.6-40.7-94.6 30.1-55.5 122.6 9.7 232 40 0 0 296.4 93.2 442.3 118l414.6 617.3 241.9 93.2z"/> + <path d="M1689.9 923.9s-38.9-29.2-108.2 5.1c0 0-23.3 16.1-41.7-1.5a37.3 37.3 0 0 1 4.3-57.5c51.7-38.3 70.8-153.2-7.8-200.9 0 0-114-67.6-532.3-174 0 0-35-9.8-53.8-5.1a52 52 0 0 0-37.6 37.8S894 581.1 957 611.6c0 0 28.4 13 57.7 21.4 0 0-32.2-7-46 24.8-13 30.4 6 61.5 65 81.5 0 0 16 6.2 38.7 11.7 0 0-50.5 14.5-26.2 55.3 0 0 21.6 42.8 98 50.4 0 0-57 6.2-16.8 60.4 0 0 17.7 29.7 73.4 40.7 0 0-42.2 1.4-21 39.3 21.4 38 71.5 59.4 120.9 62.9 0 0 26.7 1.4 45.4-2.8 0 0-47 23.5-19.4 62.8 0 0 20.3 28 71.1 26.6 0 0-13.1 44 24.1 60.6 29 13 53.1-7.8 53.1-7.8s-9.8 47.1 32.5 63.7c0 0 21.1 10.9 52.6 0 0 0 24 53.9 109.6 16 85.6-37.7 20.2-355.1 20.2-355.1zm5 489.4s-12.5 67.4-112 152.2c0 0-76.8 67.7-74.9 145.7 2 79.5-13.7 88.4-43.9 115.3 0 0 62.3 4.9 92.4-36.6 0 0-1.3 69-10.5 75.3 0 0 19.6 1.2 47.9-29.7 0 0 17-18 32.8-24.9 0 0-18.4 47.7-4 91.9 0 0 4.6-17.3 28.9-24.9 0 0 44-9 61-72.5 0 0 11.1-42 80-79.4 0 0 78-29.4 76-67.8-2-38.5-173.6-244.6-173.6-244.6z"/> + <path stroke-miterlimit="10" d="M2056.5 2282.2s-17.9 78.8-80 72.5c0 0-43.9-4.2-40.6-77.4 0 0-64.9 34.6-75.4-51 0 0-59 13.7-58.3-66.3 0 0-55 9.6-48.5-61.5 0 0-59.7 16-59.7-51 0 0-139.6-23.2 151.4-288.6l259.6 154.6z"/> + <path d="M2085.4 1928.3s-43.3 38.4-74.1-19c0 0-42-2-48.5-33.8 0 0-34.1-3.4-40.7-35.9 0 0-46.5-4.8-45.2-44.1 0 0-84.6-6.6 0-102.4s228.1 159 228.1 159zm48.2-23.8c42 0 89.5 262 77.2 419.9-4.5 57.3-35.2 104.1-77.2 104.1s-72.6-46.8-77-104.1c-12.4-157.9 35.1-419.9 77-419.9"/> + <ellipse cx="2133.6" cy="1902.5" rx="58" ry="86"/> + <path fill="none" stroke-miterlimit="10" d="M1935.9 2277.3s6.6-138.7 126.8-337.6m-202.2 286.6s-18.7-80.1 150.8-317c0 0-19.7-56.5 40.6-92.8M1802.2 2160s-5.3-86.7 160.6-284.5c0 0-14.7-51 45.4-91.8m-254.5 314.8s6.2-87.6 168.4-258.9c0 0-8-52.4 50-84.9m-278 292.8s11.7-100.1 182.8-252c0 0-5.9-39.4 51.1-79.4"/> + <path fill="none" d="M372.3 432s134.3 77.8 552.9 155.6M431.9 539S795.6 657.6 965 672.2m-389.9 0s213.4 67 463.3 109.3m-281.2 30.3s241 57.9 356.2 67.5M919 925.6s203.9 42.5 255.5 47.6m-125.7 57.3s148.8 22.6 208 21.4m-23.2 69s60.2-2.8 89.1-7.6m-33.4 104.3s51.2-13.8 81.3-33.1m-5.9 133.2s39.4-15.2 58.4-56.6m37.7 93.6s30.4-27.3 32.4-57.7m81.6 81.5s-11.4-9.9-3.6-52.7m-11.1-62.8s-6-12.2-4-31.6m-211-581.3s68.8 27.6 91.7 65.6 7.9 74.9 0 96c-3.9 10.7-52.4 104.2 4.6 171.9M1346 1057s.4-.3 24.6-8m-169.8-91.4s41 8.2 81.3 8.6m-138-109.8s48.2 4.9 93.5 4.2m-165.2-109.8s69.5 13.8 106.8 14.5M1014.7 633s85.7 24.4 149.4 33.1m141.6 50.4s-61.6 57.3 12.5 110.5c0 0-30.8 48.3 30.8 98.7m-16.4 23.8s-9.2 92.2 103.6 92.2c0 0-21.7 82.1 87.2 79.4 0 0 12.4 65.6 91 52.4M1441.3 1895s-17.9 4-56.6 0m-108.8 48.3s-54.4-8.3-51.8 109.8m84.6-82.9s-49.2-6.2-46 108.4m520.7-384.5s-23.6 4.8-40 23.5-47.8 15.1-47.8 15.1 17-13.8 23-48.3c5.8-34.5 24.9-44.9 24.9-44.9m-56.3-32.6s-23.6 4.8-40 23.4c-16.4 18.7-47.9 15.2-47.9 15.2s17-13.8 23-48.3 24.9-44.9 24.9-44.9m23.7 188.5s-20.6 4.3-34.9 20.5c-14.3 16.3-41.8 13.3-41.8 13.3s15-12 20-42.2c5.2-30.1 21.8-39.2 21.8-39.2"/> + </g> + <use xlink:href="#vi-a" width="100%" height="100%" stroke="#010002" stroke-width="10" transform="matrix(-1 0 0 1 647.2 0)"/> + <path fill="#0081c6" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="m466 256-14.3 61.7-5.9-4.2 14-59.2-9.8.2 23.1-42.3 1.5 48.7zm37 13-43 50.8-4.6-5.2 42.8-50.2-8.7-4.6 39.2-26-20.3 43.8z"/> + <path fill="#0081c6" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="m492.6 242-38.5 74-5.9-3.5 38.7-73.8-9.4-2.4 32.7-34.6-10.5 47.5zm-48 96.6-2.9 11.7 8 8-11.2 47-10-13.3-14.6 6.8 11.1-47 10.4-3 2.6-11.7s3.2-1.2 6.6 1.5z"/> + <path fill="#0081c6" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="m447.3 330.8-5.7 10.6 5.7 9.7-22.4 42.5-6.3-15.6-15.9 2.6 22.4-42.4h10.7l5.5-10.6s4 0 6 3.2z"/> + <path fill="#0081c6" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="m448.2 333.9-15 19.2 3.4 10.8-30.9 36-2.8-16.6-16-1.2 30.8-36 10.4 2.5 16-20.4s4.4 2.2 4.1 5.7zm-382.7-45c3.6-1.5 6.2-2.9 6.2-6.7q0-1.5-1.5-6.1L46 202a59 59 0 0 0-3-7.9c-1.1-2-3.2-2.9-6.1-4h30.7c-3.3 1.5-6.4 2.7-6.3 6.3q0 2 1.1 5.7l18.6 58 18.5-58a20 20 0 0 0 1.1-5.7c0-3.7-3.2-5-6.3-6.4h29.8c-2.7 1.1-5 2-6 4.1a63 63 0 0 0-3.1 8L90.8 276a38 38 0 0 0-1.5 6.1s-1.1 4.7 6.2 6.7zm515.3-7.6v-83.7q0-2.1-.8-3.3c-.8-1.2-2.5-3-5.5-4.2h27.7a12 12 0 0 0-5.5 4.2q-.7 1.2-.7 3.3v83.7q0 2.2.7 3.4c.5.8 2.5 2.8 5.5 4.2h-27.7c3-1.4 5-3.4 5.5-4.2q.8-1.2.8-3.4z"/> + <path fill="#fff" stroke="#010002" stroke-width="1.5" d="M324.8 309.8S399 276.9 399.1 201H250.5c.2 76 74.3 108.8 74.3 108.8z"/> + <path fill="#a60032" stroke="#010002" stroke-width="1.5" d="M262 201v48.5s5.6 11.3 11.4 18.3V201zm22.8 0v80s7.2 7 11.4 10.4V201zm22.9 0v98.9s8.1 5.2 11.4 7v-106h-11.4zm80 0v48.5s-5.7 11.3-11.5 18.3V201zm-22.9 0v80s-7.1 7-11.4 10.4V201zm-22.8 0v98.9s-8.2 5.2-11.5 7v-106H342z"/> + <path fill="#162667" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="M399.1 145.8s-36.4 19-74.3-1.6c-37.9 20.6-74.3 1.6-74.3 1.6V201h148.6z"/> +</svg> diff --git a/apps/web/public/flags/vn.svg b/apps/web/public/flags/vn.svg new file mode 100644 index 00000000..7e4bac8f --- /dev/null +++ b/apps/web/public/flags/vn.svg @@ -0,0 +1,11 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-vn" viewBox="0 0 640 480"> + <defs> + <clipPath id="vn-a"> + <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#vn-a)" transform="translate(80)scale(.9375)"> + <path fill="#da251d" d="M-128 0h768v512h-768z"/> + <path fill="#ff0" d="M349.6 381 260 314.3l-89 67.3L204 272l-89-67.7 110.1-1 34.2-109.4L294 203l110.1.1-88.5 68.4 33.9 109.6z"/> + </g> +</svg> diff --git a/apps/web/public/flags/vu.svg b/apps/web/public/flags/vu.svg new file mode 100644 index 00000000..326d29e9 --- /dev/null +++ b/apps/web/public/flags/vu.svg @@ -0,0 +1,21 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-vu" viewBox="0 0 640 480"> + <defs> + <clipPath id="vu-a"> + <path d="M0 0v475l420-195h480v-85H420Z"/> + </clipPath> + </defs> + <path fill="#009543" d="M0 0h640v480H0z"/> + <path fill="#d21034" d="M0 0h640v240H0z"/> + <g clip-path="url(#vu-a)" transform="scale(.71111 1.01053)"> + <path stroke="#fdce12" stroke-width="110" d="m0 0 420 195h480v85H420L0 475"/> + <path fill="none" stroke="#000" stroke-width="60" d="m0 0 420 195h480m0 85H420L0 475"/> + </g> + <g fill="#fdce12" transform="translate(-22)scale(1.01053)"> + <path d="M106.9 283v27c23.5 0 69.7-18 69.7-76.1s-49.3-68.9-64-68.9-60.3 10.6-60.3 58c0 47.6 44.7 52 53.5 52s41.8-8 38-43.6a35.5 35.5 0 0 1-35.4 31.5c-24 0-39-17.8-39-35.4s14.6-41.2 39.9-41.2 43.8 22.5 43.8 45.1-17.8 51.5-46.2 51.5z"/> + <g id="vu-b"> + <path stroke="#fdce12" stroke-width=".8" d="m86.2 247.7 1.4 1s11.2-25.5 41.1-43.6c-3.8 2-23.8 12-42.5 42.6z"/> + <path d="M89.1 243.3s-3.4-7-.4-10.2 1.7 8.3 1.7 8.3l1.3-1.9s-2-8.6.2-10.4 1.2 8.3 1.2 8.3l1.4-1.8s-1.5-8.4.7-10 .9 8 .9 8l1.6-2s-1.2-8 1.5-9.9.3 7.6.3 7.6l1.8-2s-.8-7.3 1.5-9c2.3-1.6.4 7 .4 7l1.6-1.8s-.5-6.8 1.7-8.4.2 6.5.2 6.5l1.7-1.6s-.4-6.9 2.4-8.2-.5 6.4-.5 6.4l2-1.6s.5-8 2.9-8.7c2.4-.8-1 7-1 7l1.7-1.4s.9-6.8 3.5-7.6c2.7-.9-1.6 6.2-1.6 6.2l1.7-1.3s1.9-6.8 4.4-7.6c2.4-.7-2.6 6.5-2.6 6.5l1.7-1.2s2.7-6.2 5-6.6c2.1-.4-2.6 5.1-2.6 5.1l2.1-1.2s3.5-6.4 4.8-4.5-5 4.9-5 4.9l-2 1.2s7.5-3.6 8.4-1.8-10.3 3-10.3 3l-1.8 1.2s7.5-2 6.6-.1-8.4 1.5-8.4 1.5l-1.7 1.2s7.5-1.8 6.5 0c-1 1.6-8.3 1.5-8.3 1.5l-1.8 1.5s7.3-2 6.2.3-9.4 2.1-9.4 2.1l-2 2s7.7-2.7 7-.6c-.6 2-9.4 3-9.4 3l-2 2s8.3-2.7 5.8-.2c-2.4 2.6-8.5 3.2-8.5 3.2l-2.3 3s8.2-5 7-2.2-9.2 4.7-9.2 4.7l-1.6 2s7.4-4.3 6.6-2c-.7 2.5-8.6 5-8.6 5l-1.3 1.8s8.7-5.2 8-2.5c-.8 2.6-9.1 4.5-9.1 4.5l-1 1.7s8-4.7 8-2.4c.2 2.2-9.4 4.4-9.4 4.4z"/> + </g> + <use xlink:href="#vu-b" width="100%" height="100%" transform="matrix(-1 0 0 1 220 0)"/> + </g> +</svg> diff --git a/apps/web/public/flags/wf.svg b/apps/web/public/flags/wf.svg new file mode 100644 index 00000000..054c57df --- /dev/null +++ b/apps/web/public/flags/wf.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-wf" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#000091" d="M0 0h213.3v480H0z"/> + <path fill="#e1000f" d="M426.7 0H640v480H426.7z"/> +</svg> diff --git a/apps/web/public/flags/ws.svg b/apps/web/public/flags/ws.svg new file mode 100644 index 00000000..0e758a7a --- /dev/null +++ b/apps/web/public/flags/ws.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ws" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#ce1126" d="M0 0h640v480H0z"/> + <path fill="#002b7f" d="M0 0h320v240H0z"/> + <path fill="#fff" d="m180 229.3-20.7-14-19.9 14.1 6.5-24.9-19-15.2 24.5-1.5 8.1-23.6 8.8 24 24 .7-19 16.3zm-3.6-165.6L159.8 53l-16 10.4 4.4-20-14.6-12.7 19.4-1.6 7.2-18.6 7.4 18.7 19.1 1.7L172 44.3zm-73 59.5-16-11-16.7 11 5.2-19.4L60.8 91 80 90l7-19 6.8 18.9 19.6 1.1-15 12.5zM250 110l-15.4-10-15 10 4.4-18.3-14-11.8 18.3-1.5 6.3-17.2 7 17.4 17.7 1-13.7 12.3zm-43.1 43.4-10.3-6.4-10.3 6.6 2.7-12.3-9.2-8.3 12-1 4.6-11.6 4.9 11.6 11.9 1-9.1 8.3z"/> + </g> +</svg> diff --git a/apps/web/public/flags/xk.svg b/apps/web/public/flags/xk.svg new file mode 100644 index 00000000..0e8958d8 --- /dev/null +++ b/apps/web/public/flags/xk.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-xk" viewBox="0 0 640 480"> + <path fill="#244AA5" d="M0 0h640v480H0z"/> + <path fill="#D0A650" d="M253 224.8s1.2-.8 1.6-.9l2-.6s1-.5 1.5-.5 1.6.6 2 1.1 2 1.4 2 1.4 1.2.4 1.5 0q.4-.6 1.3-.7.7-.2.6-.9c-.1-.7.2-.9.6-1.4.5-.5 1.3-.8 1.3-.8s1.2-.5 1.3-1.2 1.3-1.2 2-1.3c.7 0 0-.4 1.8-.2 1.7.2 2-.4 2-.9.1-.5 0-1 1.1-1q1.6.4 1.6-.4c0-.6 1-1-.7-1.4-1.8-.5-1.6-.1-1.8-1 0-.7 0-.6-1.1-.7s-.6-.7-.7-1.3q-.2-.9-.6-1.3c-.3-.4-.9-.4-.9-1s-.1-1-.7-1q-1 .1-1-.5 0-1 .8-1 1-.2 1-1.2c-.2-.6-.2-1.9-.2-1.9l.9-1s2.6-2.1 2.8-2.5 1.1-.7 1.5.1.6 1 1 1.4c.3.4 1.3.1 1.5-.3s.3-1.9.9-2.7q1-.9 1.1-1.8.2-1.3 1.2-1.2c.6 0 1-.9 1-1.4q0-.8 1.2-1.2c.8-.1 1.3-.6 1.6.2s.6.7 1.1 1q1 .6 1.8.3c.5-.4.7-1 1.3-.7q.9.5 1.2-.7l.3-1.9s.1-.5 1.1-.5.3-.6.8-1 .6-.8 1.3-.6 1.8-.3 1.3-1-1.8-1.6-1.1-2.4 1-2 .3-2.2c-.7-.1-1.8.1-1.9-.6-.1-.8-.4-1.4.5-1.5s2.2-.1 2.7-.5 1.8-.7 1.8-1.8.4-1.3.6-2 .1-2-.5-2.6-1.4-1.6-1.5-2q-.3-.7-1.6-1.3c-.8-.2-1.6-.4-1.6-1s.6.1.6-1.6-1.1-2-1.1-2l-1.7-1s-3-.8-3.8-.8-1.8-.8-.9-1.4 1.2-1.5.9-2.2c-.4-.7-.6-1.3-1.9-1.6q-2-.3-1-1.4c.5-.7.7-1.3 1.4-.7.6.5 1.8.7 2.7.3s1.3-.8 1.8-.3 1 .8 1.7.2 2-.8 2.6-.5c.5.4 2 .3 2.4 0s1.4-1 1.4-1.3.6-1.2 1.1-1.5 1.3-1.4 1.9-1.4.8-.7.8-1c0-.5.5-1.4.6-1.7s1.2-.8 2 0c.9.5 2 .8 2 .8s1 .2 1.7 0a2 2 0 0 1 2.1 0c.9.6 2 .6 2 .6l.3-1.3c0-.4.2-1.2-.3-1.5s-1-.7-.1-1.4 1-.5 1.9-.5l2.2.1c.7 0 1.8.7 1.8 1.3q.1.8 1 1.4c.6.3 1.3.6 1 1.2q-.3 1 .6.8 1 0 .9.9-.1.7 1 1 1 .4 1 1.2c0 .8-.2.9 0 1.4l1 1.4s1.3 1.5-.4.7c-1.6-.7-2-1-2.5-1l-1 .5-1.3.2c-.6 0-1.2 1.2-.2 1.4q1.3.2 1.2 1.2c-.1 1-.3.5-.8 1s-.8.2-1.6.2-1 .7-1 1.3.3.6.6 1q.6 1 1.6.2c.5-.5 1-.9 1.3.1s.9 1 1.5 1q.9.1 1.6-.4 1-.5 1.3.9.4 1 1.3 1.3t1 1q.3 1 1.1.5 1.1-.7 1.9-.1l.9 1.2v1.1l2.3.8.2 1q0 .6 1 .4h1.6s.8-.3.8-1q0-.9 1-.8c.5 0 1.8.5 2.1-.2s1.4-.8 2.2-.5l3 1.2s-.3 0 .4 1.1 2 1.1 2 1.1 0 1 .3 1.4 1.3.6 1.8.2q1-.8 2.1-1c1.1-.2 1.2 0 1.2-.4s-.7-.7-.7-1.4.7-.6.8-1.3c.1-.6.8 0 1.3.4s1 .8 1 1.2c0 .5 1 2 1.5 2.2s2.1.3 2.6-.2 1.6-.8 1.5.5-.4 1.4.4 1.8 1 2 .3 2.4-1 .5-1 1.2-.2 1.6.4 2q1 .7 1 1.2c0 .5.6 2.4.6 2.4s.4 1.9.2 2.3c0 .5-.3 1.2.7 1.1q1.4-.3 1.3.7c-.1 1 .4 1.2-.2 1.5s-1 1.4-.4 1.6q.9.3 1.2 1c.1.4 1 1.2 1.6.7s.7-.6 1.2-.7.8-.4.3-1q-.7-.8-.1-1.4c.5-.3.7-1.3.7-1.3s.7-1 1.5 0 1 .6 1.5.6.8.5.8 1 1.2.5 1.2 1.3l.2 3s0 1.1.7 1.5q1 .6.2 1-.3 1-.2 2c.1 1 .2.5-.3 1q-1 .7-.5 1.6c.3.6.2 1 1.1 1.8 1 .7.9 1 .9 1.6 0 .5.9 1.3.9 1.8s.7 1.2 1.3 1.3 1.2 1 1.2 1.6l.1 1.9s0 .3.6.3 1.2.8 1.4 0c.2-1 1-1 1.4-1.3s1.4-.6 1.9-.3 1 .3 1.5.3l2.6.1s.6 0 1 .8c.3.8 1.3 1.8.8 2.2s-.6 1.3 0 1.3 1.5 0 1.5.5q-.2 1 .7.7.8-.5 1.1 0t1.3.7q.8.4 1.2-.3c.3-.4 1.7-.8 1.7-.8s1.8-.5 2.5-.3l1.7.7s.4 1 .2 1.7-.5.5-.2 1.5-.3 1-.7 1q-.9-.5-1 .7c0 .8-.4 1-.4 1.8s0 .6-.5 1q-.8.6.1 1c.7 0 .5.8.5 1.2l-.1 1.4s0 .5-.7.5-1.5 0-1.6.5-1 1.3-.3 1.9q1 .7.1 1c-.4.3-.8 1.3.2 1.6q1.2.5.2 1.1c-.6.4-1.7.8-1.7 1.4s-.3.6-1 .7q-1.2.3-.2 2c.8 1.1 1 1 1.6 1s.6-1 .6-1l2.5.2q1 0 1.9-.3c.5-.4 1.7-.9 1.7 0s.3 1 .8 1.3c.6.5.7.1 1.2.8.5.6.6 0 1-.7.3-.7 1-1.4 1.6-.6.5.9.5.6 1.2.6s1 .4 1 .9.6.5 1.5.4.9.5 1.2 1 .5.4 1 .4q.7.1 1.2-.4c.4-.4.8-1 1.3-.3s1.4.5 1.6-.2c.3-.8 1.3-1.4 1.9-.6.6.9 1 .9 1.6 1q1-.2 1.7.6c.4.6 1.5 1.4.7 2s-1.7 1.5-1 1.8a3 3 0 0 1 1.6 1c.5.4 2 .7 2.7.8.7 0 1.2.2 2-.5s1.7-.6 1.6.3.3 1.8.3 1.8.6 1.4.6 1.9-.1.6 1 1.3c1 .6.8 1 1.7.4q1.1-.8 1-1.5v-1.7s1.2-.2 1.6-.5c.5-.4 2.3-1.3 2.8-.9s1 .3 1.5.1l1.9-.2c.4 0 1.2.1 2.2-.6.9-.8.9-.6 1.5 0q.7.8.2 1.6c-.4.4 0 1.3.8 1.3s1 .5 1 1l.3 1.7c0 .4 0 .7 1.4 1 1.2.3 1 1 1.2 1.6q.6.9-.4 1c-1 .1-1 .3-1 .8-.2.5-1.2.7-1.2.7l-1-.2s-.8 0-1.1.4-1 1.3-.6 2q.7 1.1 0 1.6c-.4.3-.7 1.9-1.1 1.6-.5-.4-1 0-1.5.3s-.4 1.7.5 2.2q1.4 1.1 1.2 1.3l1 1.6s-.3.3-.5.9c-.3.5-1 1.6-.3 1.8s.4 1.4-.3 1.4-1.5-.4-1.6.5-.5.6-1.2.5-2.4-.5-2.9.3-.6 1.2-1.4 1.1-.5 1.3-.2 1.8l1 1.3s.7.5.7 1.6q-.1 1.4-1 .2c-.4-.7-1.3-.6-1.4.2s-.3 2.2-1 2.2q-1.2 0-1.6.6c-.3.4-.9 1.2-.9 1.6s-.1.9-.7 1-.7 1.2-.7 1.2-1.4.3-1.5.8.1 1.4-1 1.5a3 3 0 0 0-2.2 1.4q-.7.7 0 1.5c.7.8.8 2.2 1.4 2.5q.9.3.9 1.3c-.1.9-.8 1.5.1 1.5q1.6-.1 1.2 1c-.4.7-.4.8-1 1.1-.8.4-1.1.4-1.1 1.2s.2.9-.4 1.2-.6.7-.6 1.4-.2.4-.9 1.1q-1.2 1-2.2.6c-1-.4-.7-.2-.8-.9s-1.1-.6-1.7-.5-1.4.7-1.4.7-1 .7-.6 1.2.2 1.4-.6 1.3-2.6.8-3.2-.1-2.2-1.6-2.5-.3c-.2 1.2.7 1.1.6 2.4s-.3 1.3-.8 1.7q-.5.6-.6 1.3c0 .5-.2 1.7.6 2.1s1.2 1.6 1.2 2.3q-.2 1.1.8 1.3 1.5.2 1.6-.9c.1-.7 1.7-1.2 1.9.3q-.2 2.1.7 2.9c.5.6 1 1.5 1.5 1.8s1.2 3 1.2 3c-1.1.3-1.4 1.8-2.1 2-.4.2-.9 0-1.3.3q-.1.6-.6.8c-.9.4-.7-.9-1.8-.4-.9.4-1 1.5-2.3 1-.7-.2-1.1-3-1.3-3.6l-1.1-1.8c-.8-1.2-2.3 0-2.8-.4-.8-.5-.5-1.4-1.7-1.5-2.4-.2-.7 1.5-1.7 1.8-2 .7-2-1.8-3.4-.6-.5.4 1 .7.6 1.4-.3.6-1.7 1.6-1.7 2.3.2 1 1.2 1.3 1.5 2 1 2.3-.5 3.8-2.7 2-1.2-.9-1.5-2.7-3.3-2.5l-1 .5c-.5 0-.8-.4-1.3-.3-.7.3 0 .8-.2 1.2 0 0-1 .7-1 1-.6.6-.4 1.2-1.2 1.8-.6.5-1.1.2-1.8 1-.7.7-.8 1.9-1.7 2.6-.5.4-.8-1.1-1.4-.1l-.2.4q-.3.4 0 .7c1.2 2.4-1.4 3.2-2.2 4.9-.3.7.6 1.3.3 1.9l-1.5 1.7c0 .2-.2.8-.4 1s-1 0-1 .4.8.7 1 .9-.2.7 0 .8c1.2 1.3.5.9 1.1 2 .1.2.5-.1.7.3s-.4.4-.2.8c0 .2 1 1.4 1 1.4 0 .4-1.8 1.2-2.2 1.2-1.1 0 1-2.2-.8-2.2-.8 0-.9 1.7-1 2h-1c-1.2 0-2 1.4-2.4 1.5s-1-.2-1.5 0c-.4 0-1 .5-1.4.5q-.4 0-.7-.4c-.5-.3-1.5-.4-2-.6-.4 0-1 .4-1.2.3-.3-.2.3-1-.6-1.4l-.7-1.7q.6-1.5.5-3.1c-.2-1.1-2-2-2.4-3-.3-.6-.6-2.4-1.3-2.8a6 6 0 0 1-1.8-2.2c0-.2.3-.6 0-1q-.6-.4-1-1c-.1-.4 0-1.8-.5-2.1s-4-.8-5-.9q-.6 0-1-.3l-.6-.7-1 .2h-1c-1.1.7-1.4 1.7-2.5 2.6-1.1.8-2.3.8-3.4 1.7-.7.6-1.2 2.1-1.9 2.8-.3.3-.7 0-.8.1l-2 1.8q0 .3-.2.5l-1.3.4h-1.2c-.5.2-.5.8-2.5 1.2l-.5.3-.6.5h-.9c-.5 0-.8.5-1.2.5-1 .2-2.8-.5-3.6-.1-.5.1-1.8 1.7-2.3 1.8q-.4.1-1-.1l-.6 2.2-2.4 2.1-.8 1q-.5.5-1 .5l-1.6-.4c-.8-.2-3.3-.3-4-.1-.9.1-.6 2.4-2.6 2.6l-3.3.4c-.1 0-.8-.4-1.5-.3-.3.1-1.1 1-1.1 1.2v.5l.2.4c-.4.5-1.4 1.3-1.7 2l-.4.4c-.2.2-1.6.7-1.7.9-.3.8 1 1.6.8 1.9-.3 1-1.7 2-2.2 3-.1.4.5 1.7.5 2.1q-.5 2.1-.5 4.1l.2 1.7.7.5 1.8 3.6c.3 2.2-3 1.4-1 3.6q.2.6.8 1l2.8 2.3c0 .4-2 .7-2.3 1-1 1-1.7 2.6-2.6 3.6-.6.5-1-.1-1.8 1.3-.2.5 0 1.6-.3 2-.5.4-.8-.2-1.3 0-.2 0-.3.7-.5.8-.5.5-5.2 3-5.6 2.7-.2-.1-.5-.9-.5-1.1q-.1-.6-.6-1c-1.2-1-3-1.3-4.2 0l-.7 1-2 1.6-.5.5c-.5 0-1.6-1.3-2-1.7-.4-.6-2-2-2.1-2.7 0-2.4-1.9-4.9-2.6-7.2h1.1c1.3-.9 1-3 3.3-2.2.3-.4.3-.8.8-1l.7-.5c.8-1.2 1.7-5.8.9-7-.7-1-1.5-1-2-2.7q-.1-.7 0-1.6l-1-3.1-.7-.7-.2-3.1c-.7-2.2-3.4-3.5-3.5-3.8l-1-1.7-.6-1.6c-.1-.3-.6-.6-.6-.9 0-.6 1.6-1.7 1.5-2.7 0-.3-1-1.3-.8-1.8s1.2-1.8 1.2-2.5c0-.8-1.6-2.6-1.8-3.4-.1-.5.6-.8.4-1.1s-1.8-1.9-2-2.3c-.3-.3.5-.7 0-1.3-.6-.5-.1-.4-.3-.8l-1-1.5c-.2-.5-1.6-5.5-1.5-5.8q-.5-.4-.9-1l-.4-1.2s-1.6-.5-1.9-1c-.2-.3-.3-1.6-.7-2.2l-.7-.4-.3-.7c-.5-.6-1.4 0-2-2.4q-1.4-.8-2.4-1.8l-.4-.4q-1-.2-2-.7c-.3 0-1.8 0-2-.2l-.4-.8c-.8-.1-2.2 0-2.9-.6-.5-.5-.6-2.8-1.6-2.5h-.4c-.7-1-2.9-1-3.8-1.6-.2-.1-1 0-1-.2l.1-1.3-1.1-1.4c-.9-.2-.6-.3-1-.6-1.5 0-1.7.2-2.6 1q-.4.3-1 .4c-.5.3-.6 1.2-1.3.8l-.6-.5c-.4-.4-.6-.2-.8-.8-1.2-.7-4.5 1.5-5.2 0-.6-.3-1 0-1.5-.4-.2-.2.7-3-1.7-4l1.6-1.1q.2-.6 0-1c0-.5.3-1.4.2-1.7l-.5-1-.2-1.2-.8-.4q-1-.6-1.7-1.4l-.4-.5c-.4-.3-1.8-.8-1.8-1.4l.4-.5q0-.5.3-.8c.6-1 2.1-.5 1.9-2.2-.1-.8-.7-1.4-.8-2.2l-.5-.7c-1.5-.1-1.3-1.6-1.8-2-1.5-1-2.7-.4-1-2.4.2-.7-1.5-1.8-1.8-2.1-.6-.6-.3-1.9-.6-2.5 0-.3-1.1-.9-1.4-1.3l-.5-1v-.1q.4-.6 0-1c-.1-.3-.6-.2-.7-.4q-2-1.6-4.9-2.5c-.5-.2-.3-.6-.8-.8l-3-1.2c-.2 0-.4-1.1-.6-1.5l-.9-1c0-1-.6-1-1.4-1.6v-.6l.6-2.1c.1-.4.6-.8.5-1.2l-.4-2.3c-.8-2-1.7-1.8-1.2-4.5q-.2-.8.3-1.4l.2-.3 1.2-.9c.4-.6.7-1.9 1.2-2.3l1.8-1.2c.2-.2.4-.9.3-1.2l-1.2-.2-1.1-.4-.3-.5-.2-.2q-.8-.1-1.4-.5l-1.7-.5c-1-.5-2-2-2.9-2.2-1.2-.3-2 .1-3.2.2-.7 0-.7-.4-1.3-.6-.8-.3-.2.4-2-.2-.3-.2 0-.8 0-1h-1c-1.4-.4-.9-1.8-1.3-2.7-.1-.2-.8-.2-1-.2l-.2-.2.2-.1c.2-.4-.7-1.4-.7-1.6.1-.3 2-.6 2.2-.6q0-.4-.2-.7.1-.8.5-1.7v-.2c-.6-.3-.7-.7-1.2-1q.1-.4.4-.7c.9-2.5 2.3-.5 3.5-2.8l.6-1.1h.2q.4.1.8 0l.8-.3h.5c2.2-.4 1.7-1.2 3-2.1.4-.3 1.4-.4 1.8-.6q.7.6 2.1 1.4c.7.2 3 .7 3.4 1 .5.2.6.8 1 1 1.3.8.5-.4 1.8-.2s2.3 1.4 3.5 1.9l1-.1c.3-.1 2.3-.5 2.5-.4l.8.3c.3.1.5-.5.8-.5.8.2.8.5 2 .4 0 0 .6-3.3 1.2-3.4.3-.1 1.2.7 1.4.8.4.1 0-.7 0-.7-.2-.3-.8-2.3-.7-2.5l.8.1q1-.2 2-.9l1-1.5c.1-.2-.2-.8 0-1l.9-.6c.4-.4.4-1 1-1.3 2-.2 2.7-1.8 4.6-2h.6l.4.6c0 .1 1.3.9 1.5.8q.3-.1.5-.4c.3.1 1.4-.5 1.5-.9l-.1-.6 1.6-1.2h1.4q.2.4.5.6h1.2c.2 0 .3-.5.7-.5"/> + <path fill="#FFF" d="M351.9 73.4 368 123l-42.2-30.7H378L335.8 123zm62.8 11.1 16 49.6-42.1-30.7h52.1l-42.2 30.7zm59.9 21.8 16 49.6-42.1-30.7h52.1L458.4 156l16.2-49.6zM288.1 73.4 272 123l42.2-30.7H262l42.2 30.7zm-62.8 11.1-16 49.6 42.1-30.7h-52.1l42.2 30.7zm-59.6 21.8 16.2 49.6-42.2-30.7h52.1l-42.2 30.7z"/> +</svg> diff --git a/apps/web/public/flags/xx.svg b/apps/web/public/flags/xx.svg new file mode 100644 index 00000000..9333be36 --- /dev/null +++ b/apps/web/public/flags/xx.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-xx" viewBox="0 0 640 480"> + <path fill="#fff" fill-rule="evenodd" stroke="#adb5bd" stroke-width="1.1" d="M.5.5h638.9v478.9H.5z"/> + <path fill="none" stroke="#adb5bd" stroke-width="1.1" d="m.5.5 639 479m0-479-639 479"/> +</svg> diff --git a/apps/web/public/flags/ye.svg b/apps/web/public/flags/ye.svg new file mode 100644 index 00000000..1c9e6d63 --- /dev/null +++ b/apps/web/public/flags/ye.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ye" viewBox="0 0 640 480"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#fff" d="M0 0h640v472.8H0z"/> + <path fill="#f10600" d="M0 0h640v157.4H0z"/> + <path fill="#000001" d="M0 322.6h640V480H0z"/> + </g> +</svg> diff --git a/apps/web/public/flags/yt.svg b/apps/web/public/flags/yt.svg new file mode 100644 index 00000000..e7776b30 --- /dev/null +++ b/apps/web/public/flags/yt.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-yt" viewBox="0 0 640 480"> + <path fill="#fff" d="M0 0h640v480H0z"/> + <path fill="#000091" d="M0 0h213.3v480H0z"/> + <path fill="#e1000f" d="M426.7 0H640v480H426.7z"/> +</svg> diff --git a/apps/web/public/flags/za.svg b/apps/web/public/flags/za.svg new file mode 100644 index 00000000..d563adb9 --- /dev/null +++ b/apps/web/public/flags/za.svg @@ -0,0 +1,17 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-za" viewBox="0 0 640 480"> + <defs> + <clipPath id="za-a"> + <path fill-opacity=".7" d="M-71.9 0h682.7v512H-71.9z"/> + </clipPath> + </defs> + <g clip-path="url(#za-a)" transform="translate(67.4)scale(.93748)"> + <g fill-rule="evenodd" stroke-width="1pt"> + <path fill="#000001" d="M-71.9 407.8V104.4L154 256.1z"/> + <path fill="#000c8a" d="m82.2 512.1 253.6-170.6H696V512H82.2z"/> + <path fill="#e1392d" d="M66 0h630v170.8H335.7S69.3-1.7 66 0"/> + <path fill="#ffb915" d="M-71.9 64v40.4L154 256-72 407.8v40.3l284.5-192z"/> + <path fill="#007847" d="M-71.9 64V0h95l301.2 204h371.8v104.2H324.3L23 512h-94.9v-63.9l284.4-192L-71.8 64z"/> + <path fill="#fff" d="M23 0h59.2l253.6 170.7H696V204H324.3zm0 512.1h59.2l253.6-170.6H696v-33.2H324.3L23 512z"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/zm.svg b/apps/web/public/flags/zm.svg new file mode 100644 index 00000000..360f37aa --- /dev/null +++ b/apps/web/public/flags/zm.svg @@ -0,0 +1,27 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-zm" viewBox="0 0 640 480"> + <defs> + <clipPath id="zm-a"> + <path fill-opacity=".7" d="M-170.7 0H512v512h-682.7z"/> + </clipPath> + </defs> + <g fill-rule="evenodd" clip-path="url(#zm-a)" transform="translate(160)scale(.9375)"> + <path fill="#198a00" d="M-256 0h768v512h-768z"/> + <path fill="#ef7d00" d="M421.9 184H512v328h-90.1z"/> + <path fill="#000001" d="M331.9 183.8h90v328h-90z"/> + <path fill="#de2010" d="M240 184h91.9v328h-92z"/> + <g fill="#ef7d00" stroke="#000"> + <path stroke-linejoin="round" d="M451.6 65.6s34-14.5 37.2-17.5c1.5 1.8-13.6 20-42.9 26.7 26.6-6.2 49.3-26 54-25.4 1.3.3 1 19.3-60 35.8 42.2-11 66.7-31.4 66.4-29.2.3.5-4.2 16-41.1 28.1 10.3-2.4 38.3-19.4 38-16.1.9 1.3-27 37.2-77.6 25.5 40.4 10.5 66.5-14.8 70.2-14.3.8.1-7.4 22-58.2 23.4 24.3-2.5 17.3-.1 17.3-.1s-14.3 11.2-31.7 3.6c13.6 3.7 15.1 3.9 15.4 5-.9 1.6-12 3.8-22.9-2 8.7 3.6 16.5 4.2 16.6 5.5-.1.4-5.6 3.6-10.6 1.3s-50.3-30.1-50.3-30.1l77.4-21.3 2.8 1zm-91 75.6c-6.8 0-7 6-7 6s-.5.5-.2 3.4l1.7-2.6c.8.1 3.9 1 8.8-2.8-4.5 4.7-1.8 6.4-1.8 6.4s-1 3.7 2.4 4.4c-1-1.5-.4-2.8-.4-2.8s4.8-.5 4.5-6.3c.1 5.3 3 6.6 3 6.6s0 2.9 3.1 3.2c-1.6-1.5-1.3-3.8-1.3-3.8s4-3 .7-8c2-1.2 3.7-4.5 3.7-4.5s-2.8-1.2-4.1-2.2c-.6-1.3 0-8.5 0-8.5l-1.8-9.3-4.8 14.5c.2-2 .3 6.3-6.5 6.3z"/> + <path stroke-linejoin="round" d="M394.2 120.3c.2.1 5.1 5.6 9.9 5.3 1.8-1.5-3.7-4.7-3.7-5.5 2 1.8 10.1 8.8 15.4 6.3 2-3-3.8-2.5-10.2-10.6 4.5 3 15.7 9.5 21 7 2.1-2.4-11.7-9.9-16.4-15.7l-12-6.1-16.2 13.3 12.3 6z"/> + <path stroke-linecap="round" stroke-linejoin="round" d="M375.9 74.8s5.5-3.2 27.6-1.6c2.4.3 15-4.3 19.1-5.7 6.4-1.2 27-5.6 32.4-9.8 4-.5-1 7.1-6 9-5.2 2.3-24.1 8.9-30.9 8 8.1.1 3.6 6.7-9.8 3.6 6.4 3.6 4 4.2 4 4.2s-11.3.6-14.3-2c7.6 2.9 4.4 4 4.4 4s-7.7.7-11.3-1c5.5 1.7 2.7 2.7 2.7 2.7s-4.5.8-8.2-.6c-3.8-1.3-9.4-10.7-9.7-10.7z"/> + <path stroke-linejoin="round" d="m384.7 123.4.8 14.6-.8 1.2c-.3.4-10.3-1.6-9 6 0 3.2 0 4 2.2 5.7-.5-2-.4-3.5-.4-3.5s2.9 1.7 5.6-3c-1.9 4.6-.6 6.3-.1 6.4.4.8-.8 4.5 3 4.4-1.5-1.4-.8-3.4-.8-3.4s4-.6 2.6-7.7c1.4-1.4 2 0 2 0s.4 4.2 3.9 3.3c1.5.9-.3 3.2-.3 3.2s2.5 0 3.3-2c.7-2.2 1.6-6-2.5-7.6-.5-1.5 1.6-1.6 1.6-1.6s2.6.9 3.4 2.2.5-3.4-2.8-4c-4 0-4.2-.9-4.2-1l-1-13.7z"/> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M398.6 135.8c0-.7-6.8-9.9-5-11 1.7.3 4.5 4.5 6.9 3.1-.7-1.6-2.8-.7-5.1-4.9-2.4-4.8-2.7-11.9-11-19.6 5.4 8.2 17.4 13 18 10.6s-10.7-11.4-10.1-13.6c2.2 4.4 13.4 14.4 21.6 13.6.6-2-6.7-5.8-8.6-9.4-5.3-3.6-19.4-15.7-19.6-18.5a33 33 0 0 0-9.9-10.6l-.8-1.7c-3.2-7.5 1-10 3.5-10.3 2-.3 2.6 0 4-.7l-5.1-2c2.3 1.7 8 .2 6.8 5 2.5-1 7.9-7.4-6.1-8.8-4.6-5.2-23.3-8.2-28 14.6.4.3.6.6 1.8 1.4-6-2.8-21.9-5-27.6-6-15.6-4.4-31.7-15.2-33.2-13.9-2 1 9.4 11.6 8.8 11.8a263 263 0 0 0-27.5-13.6c-6-2.2-11.9-7.4-12.5-6.4-2.2 4.5 9.5 15.9 11.7 17.2s19.3 9.3 19 9.4c-25.8-11.7-30-13.9-31.4-15.2-2.3-.5-7.8-8-9.3-7.5-.9.8.8 12.6 13.1 18 2 1.4 26.4 10.1 26.2 10.8 0 .2-28-11.5-29-12-5.4-2-12-9.4-13.2-8.6s3 8.8 8.4 11.3c2.9 1.2 13.8 6.6 23.6 10 .6.3-17.7-6.9-26.5-10.5-4-2.2-5.8-5-6.4-4.4-1 .6 1.4 12.4 29.7 19 .7.4 10-2.1 9.5-1.8a113 113 0 0 1-15.8 2.8c-.3.8 1.8 5 16.4 4.2 1.8-.1 12-3.7 11.1-3a174 174 0 0 1-14.8 4.9c-.9 0-5.6.6-5.8 1-.2.8 3.5 3.8 11.3 4.2 7 .4 20.2-4.2 20-3.9-.4.3-12.8 4.6-13.1 4.8-.5.3-5 .5-5.2.9-.4.9 6.6 7.4 27.1.4-2 2.8-12 4.7-12 5.2s2.2 2.5 5.7 3.3c1.7.4 4.1.3 6.3 0 4-.8 8-2.3 13.3-7.2.6 1.5-13.1 8.5-12.5 9.1 3 2.8 12.9-.3 13.5-.7.7-.3 19-10.7 19-12 .3 1.6-23.7 14.7-23.4 15.2 1.5 2.4 9.7-.1 10-.4l10.8-5.8c.3-.1-11.8 7-10.8 8.2-.5 4.7 19-3.2 20.5-4.2.7-.5-9.4 4.4-9.4 6.7 3.3 5.5 13.7 3.8 15.3 2.6.8-.6-1 4-.4 3.6a16 16 0 0 0 3-4.3c-.2 1.6-1.4 4-2 6.8s-.9 5.9-1.8 9.2c-.2 1.4 6.4-2.9 5.4-13.2.6 5.4-2 15.4-1.3 16 1.3 1 5.2-5 5.6-9.1 1.1 2 3.5 6.3 5.6 7.3-.2-3.1 0-3-1-6q.8-6.3.8-16.1c5.6 10.7 7.9 15.3 6.3 23.5 1.7.7 4.3-5.8 4.1-9a13 13 0 0 0 11.5 10.2"/> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M305.4 67.7s-3.9 2.9-8.6 2.7c1.2 4.8 11 1.1 11 1.1s-4.7 5.3-8.1 6.1c2 1.7 10.6 1.1 12 .3s4-4.2 4-4.2-8.8 10.2-10 10.1c-.3 1.2 9.1.8 11-1s7-4.4 7-4.4-13 9-13.5 9c4.8 1.2 14.5-1.6 20.7-5.4-9.2 6.1-10 7.2-14.7 9.3 4.2.9 6.3 3.7 20.3-2.4 8-3.8 12.6-10.8 12.6-10.8a82 82 0 0 1-21.6 18c-.5 1 9.4 5.2 21.9-7.9"/> + <path stroke-linecap="round" stroke-width="1.1" d="M373.4 96s.9 4 4.3 7 3.6 6 3.6 6m-9.5-39s1.1 3.7 4.6 6c3.6 2.2 9 9.4 9.3 10.7.4 1.5 2.5 12.6 2.3 13.8m-37.8-25c.2 1.5-5 8.3 2.2 16.4-6.6 8-6.6 9-6.6 9s3.7 2 10.2-3.6c10.8 13.2 7.2 19.2 7.2 19.2"/> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M362.3 107.2s-1-1.4.8-6.7c1.6 2 3.4 2.3 4.1 3 .8.9 9 2 9.4 7.5"/> + <path stroke-width="1.1" d="M371.9 57.5c0-.4-1.7-4-7.8.4 3.3.2 6.5 2.1 7.8-.4z"/> + <path stroke-linejoin="round" stroke-width="1.1" d="M430.1 73.5c.3.2 18.2 4 24.2 2.1-7.6 10.2-22.9 3.3-22.9 3.3 7.5 2.2 7.8 2 10.2 4.2.8 2-13.8 1-18.5-1.7 13.3 4.2 13.6 4 14 5.5.6 2.3-21.8-.6-23.7-3.5 6 4.6 9.2 5.5 12.5 7.6-4 1.8-11.5 3.6-25.2-6.1 18 16.4 34.3 15.4 36.9 18.3-6.3 9.3-30.7-5.5-41.9-13s24.5 18.1 27.8 17.7c-1.6 2.5-13.4.3-14.2-1"/> + <path stroke-linecap="round" stroke-width="1.1" d="M434.7 90.7c-2 .3-8.3.3-9.2.1"/> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M300.1 65s13.6 7.2 19.4 6.7a10 10 0 0 1-3.8 2c1.4.6 5.4 2.7 11.4 1.4l-3.3 3s5.2 2 11-1l-2.8 3.7 4.1.3"/> + </g> + </g> +</svg> diff --git a/apps/web/public/flags/zw.svg b/apps/web/public/flags/zw.svg new file mode 100644 index 00000000..93aac4f6 --- /dev/null +++ b/apps/web/public/flags/zw.svg @@ -0,0 +1,21 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-zw" viewBox="0 0 640 480"> + <defs> + <clipPath id="zw-a"> + <rect width="546" height="420.1" x="1.9" y=".1" fill="#00f" fill-rule="evenodd" ry="0"/> + </clipPath> + </defs> + <g clip-path="url(#zw-a)" transform="matrix(1.1722 0 0 1.1426 -2.3 -.1)"> + <path fill="#006400" d="M0 0h840v420H0z"/> + <path fill="#ffd200" d="M0 60h840v300H0z"/> + <path fill="#d40000" d="M0 120h840v180H0z"/> + <path fill="#000001" d="M0 180h840v60H0z"/> + <path stroke="#000" stroke-width="20" d="M0 0v420l280-210z"/> + <path fill="#fff" d="M0 0v420l280-210z"/> + <path fill="#d40000" d="M106.5 104.4 162 275.1 16.8 169.6h179.5L51 275.1z"/> + <path fill="#fc0" d="m82.8 253.7 9.8-1.8 18.1-.7 6.7.6 15 2.5 1.1-1.5V242l1.8-9.3 3-9.4 3.3-7.5 4.2-7.8 6.8 1.7h1.8l.2-1.3-14.4-12.3-15-11.5-21.7-16.2-2-.5-2.3-17-1.7-5.1-2.3-2-4.3-1.4-4.8.2-2.2 1.2-4.6 1-2.4.4-1.6 1.9-.2 2.4 6.7.2 1.7.7-.2.7-3.8.5-1.8.6 2.1 1.6 2.2.8 2.8 1 .6 2 .2 25.8-1.5 4-.5 7.5 2.2 9-5.6 6.4L77 216l-.6 3.5-1.7 3.5-.2 2.2 1.1 2.4 4.3 14.2 2.2 11.7z"/> + <path d="M88 142c-1.8 0-2.6.2-4.3 1.1a11 11 0 0 1-4.6 1.4c-2.5 0-4.5 1.8-4.5 4.1v1.5l3.6-.1c10.6.3 1 1.3.2 1.4-2.6.5.6 2.6 3.7 3.7 3.3 1 3.1.4 3.1 15 0 11.9 0 13.6-1 16.3-1.3 4-1.3 10 0 14 .6 1.6 1 3 1 3.3s-1.6 2.1-3.5 4.3c-3.5 4-5.6 8.1-5.6 11a6 6 0 0 1-1 2.6c-1.3 1.7-1.3 4.6-.1 5.7 1.3 1.2 6.6 21.8 6.7 25.7 0 1.4.2 1.4 8.3-.2 6.6-1.3 22.1-1.6 30-.6 3.6.5 7.8 1.3 9.3 1.6 4.8 1.3 4.6 1.5 4.6-4.3a74 74 0 0 1 5.1-26.7 95 95 0 0 1 6.9-14s1.8.2 4 .8c4.1 1 5.3.9 5.3-1 0-1-4.3-4.6-25.4-21a432 432 0 0 0-26.3-19.9q-1 0-1.3-.7l-1.5-9.5c-.7-4.9-1.7-9.7-2.1-10.7q-2-4.4-8.6-4.8zm.1 1h2c6.6.4 7.8 2.2 9.6 14l1.2 9.4q.1 1.1-3.2 3.3a47 47 0 0 0-10 9.5l-1.3 1.8-.3-4.2V165c.3-8.7 0-9.5-2.8-10.5-2.3-.8-5.3-1.6-4.5-2.1 1-.6 2-.2 4.4-.9 1-.2.9-.1.7-.9-.2-1.3-1.6-2-5.3-1.8-3 .2-3.3.1-3.1-.7q.7-2.4 4.5-2.9a13 13 0 0 0 4.4-1.3 7 7 0 0 1 3.7-1zm14.9 25.8h.4c1.7.3 50.8 38.7 50.8 39.8q0 .7-1 .7c-.4 0-12.9-3.5-27.7-7.8-23.6-7-27-8-28-9.3a5 5 0 0 1-.1-6.2 5 5 0 0 0 1-2c0-1.2-2.5 1.8-3 3.5-.5 2 .5 5.4 2 6.5.6.5 5.1 2 10 3.5 8.4 2.4 9 2.7 9.4 4.1 1 3.3-2.5 7.2-7.5 8.3a15 15 0 0 0-5.2 2.4 68 68 0 0 1-17.2 10.4c-.4.3-.9 1.9-1.2 3.4-.6 3.3-.8 3.8-1.8 3.8q-.8.1-.2-1.4c.7-2 .6-4.4-.1-4.4q-.7 0-.7 1.8c0 1-.3 2.2-.7 2.5-.5.6-.6.2-.4-2.3.2-1.7.1-3-.1-3-.5 0-1.4 2.5-1.7 4.7q-.2 2-.6-.3c-.3-1.2-.2-2 .7-3.5a9 9 0 0 0 1-3.5c0-1.3 1-2.6 5.7-7.3 3-3.1 6.7-7 8-8.7 2.3-2.8 2.4-3 2.3-5.9 0-1.6-.2-3.1-.4-3.3-.6-.6-1.4 2.6-1 4.3.2 1.6 0 2.1-3.3 6a113 113 0 0 1-7.5 7.8c-3.9 3.6-5.3 5.6-5.3 7.4 0 .6-.4 2-1 3.3s-.8 2.6-.6 2.9q.2.5-.3 0-.7-.6-.1-3a7 7 0 0 0 .2-2.6c-.5-1-1.2.2-1.5 2.7-.2 1.4-.5 2.5-.8 2.3-.7-.4-.5-3 .4-4.4.5-.7 1-2.3 1.3-3.6.7-3.7 2.3-6.7 5.8-10.7l3.2-3.8-1-3.3a25 25 0 0 1-.2-13.7q1.9-5.6 8-11.7c4-3.9 7.9-6.3 10-6.4m15 32.2a.9.6 0 0 1 1 .6.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.6m2.5.3a.9.6 0 0 1 1 .6.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.6m2.6.5a.9.6 0 0 1 1 .6.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.6m2.4.5a.9.6 0 0 1 1 .6.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.6m-6.3.6a.9.6 0 0 1 1 .6.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.6m2.4.4a.9.6 0 0 1 1 .6.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.6m5.2.2a.9.6 0 0 1 1 .6.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.6m-2.7 0a.9.6 0 0 1 1 .6.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.6m5 .6c.1 0 3.7.8 8 2l7.9 2.3-1.5 2.7-2.4 4.4c-1 2-1.2 2-6 .9-5.2-1.2-13.4-2.3-21.8-3l-8-.7 3-1.1 5.3-2.4c2-1.1 2.8-1.3 5.9-1q6.8.4 8.7-2.4l1-1.7zm-8.8.6a.9.6 0 0 1 1 .6.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.6m5.6 0a.9.6 0 0 1 1 .6.9.6 0 0 1-1.6 0 .9.6 0 0 1 .7-.6zm-8 0a.9.6 0 0 1 1 .6.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.5zm5.3.2a.9.6 0 0 1 1 .5.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.5m-6.6 1.1a.9.6 0 0 1 1 .6.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.6m2.5 0a.9.6 0 0 1 1 .7.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.6zm2.6.2a.9.6 0 0 1 1 .5.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.5m2.8 0a.9.6 0 0 1 1 .6.9.6 0 0 1-1.7 0 .9.6 0 0 1 .7-.6m-20.3 8.1a191 191 0 0 1 35.1 4.2c.1.1-.6 2.5-1.7 5.4l-2 6q0 .7-2.5.3c-8.3-1.3-32.3-1.2-41.5.2-5.3.8-6 .7-5.6-.4l1-3.5.6-2.7L93 221a63 63 0 0 0 10.2-6.5h.9zm-27 14.2q.5 0 1.6.8c1 .6 2.2 1.1 2.7 1.1 2.6 0 4 3.7 6.2 16l.8 4.4c.2 1 0 1.2-2.3 1.7-2.8.6-3.5.7-3.5.3 0-1-2.8-13.7-4-18.2l-1.6-6h.1zm28.6 2h2.9l-1 1c-1.7 2-2.5 2.1-3.7.8l-1-1.5c0-.2 1.3-.4 2.8-.4zm6.1 0h5.4l-1.2 1.2c-1.4 1.6-1.5 1.6-3 0l-1.2-1.3zm8.2 0h1.3c.7 0 2 0 2.8.2l1.5.3-1.4 1.3q-1.3 1.2-1.6 1.2l-1.4-1.6zm8.5.3 1.2.3c.7.2 2.2.3 3.3.4h2l-1.5 1.3-1.8 1.3c-.1 0-1-.8-1.7-1.7zm-30.2.1h.2q.1.5-1 1.7l-1 1.4-1.5-1.2-1.5-1.3 2.4-.3zm2.3.2 1.6 1.4 1.6 1.5-3 .2-3 .1 1.4-1.5zm18 0q.4 0 .8.3l1.3 1.7q.8 1.1-1 1l-2.5-.5-1.2-.3 1.3-1.3q.8-1 1.4-1zm-8.3 0q.7-.1 1.6 1.3c.7 1.1.7 1.1-2 1.1h-2.7l1.4-1.3q1-1 1.7-1zm17 .2 1.2 1.2q2.1 2 .6 2l-2.8-.3-2.2-.2 1.6-1.3zm-35.2.7q.5 0 1.6 1.2l1.2 1.3-2.5.4-3.5.5q-1.1.3 1-1.6 1.7-1.7 2.2-1.8m-3.7 0h.4c.8.2.8.4-.6 1.8l-1.5 1.5-.5-1.3c-.4-1-.3-1.3.6-1.7zm46 1.8q.3 0 0 .6c-.2.8-1.1 1-1.1.2q0-.3.7-.7zm-21.4 1.6c7.7 0 15.5.2 17.4.4 3.1.4 3.4.5 3.4 1.7 0 1.4-.4 1.5-4.6.8-1.2-.3-6.3-.7-11.2-1.1a150 150 0 0 0-28.5 1c-1.9.2-2.4 0-2.4-.6 0-1.3 10.2-2.2 25.9-2.2m-10.3 2.9h5.4l-1.2 1.3c-1.5 1.6-1.6 1.6-3 0zm7 0 1.4 1.4 1.4 1.6-2.9.1h-2.9l1.5-1.6zm2.1 0h5.4l-1.2 1.3c-1.4 1.6-1.5 1.6-3 0zm-12.8 0q.3 0-.7 1.5-1.2 1.5-1.5 1.6-.5-.1-1.5-1.3l-1.2-1.3H96a9 9 0 0 0 2.7-.4zm2 .5 1.3 1.2 1.5 1.3-2.6.2-2.9.2 1.4-1.5zm17.4 0 1.4 1.6c1.6 1.7 1.5 1.8-2.1 1.1l-1.7-.3 1.2-1.2zm2 0h2.4q3.8-.1 1.4 1.8c-1.2 1-1.2 1-2.6-.5zm-30.6.5c1.2 0 1.1.1-.4 1.6-1.1 1.1-1.2 1.1-1.6.3q-.3-1.6 2-1.9m38.8.2 2 .2 2.3.4-1.3 1.2-1.2 1.2-1.1-1.4-1-1.6zm-36 .5q.4 0 1.1.7c1 1 1 1 .2 1.4l-2.4.4H90l1.3-1.4q1-1 1.3-1.1zm34.1.3q.5-.1 1.2 1l.9 1.2h-2.1q-2 0-2-.6.3-.7 1.3-1.3zm6.4 1.3q.3 0 .2.5c0 1-.9 1.7-1.3 1q-.1-.5.5-1.1zm-25.9 1.2c8.7 0 18.3.6 24 1.6l1.6.3v4.4c0 3.3-.2 4.4-.7 4.4l-5-1a126 126 0 0 0-35-1l-2.3.3-.6-3.7-.4-3.8s2.3-.5 5-.8c3.3-.5 8.2-.7 13.4-.7"/> + <path id="zw-b" d="M124.8 217.8c-3 0-5.1 2.1-5.1 5.2 0 4.8 5.4 7.2 8.6 3.8s1-9-3.5-9m0 1.2a4 4 0 0 1 4 4c0 3-3.3 5-6 3.7-2.7-1.5-2.5-6.1.4-7.3z"/> + <use xlink:href="#zw-b" width="100%" height="100%" x="-20.1" y="-.6"/> + <path d="M88 145.3a1.7 1.8 0 0 0-1.6 1.7 1.7 1.8 0 1 0 3.5 0 1.7 1.8 0 0 0-1.9-1.7m.1.6a1.2 1.2 0 0 1 1.2 1.1 1.2 1.1 0 1 1-2.4 0 1.2 1.2 0 0 1 1.2-1.1"/> + </g> +</svg> diff --git a/apps/web/public/shapes/circle.svg b/apps/web/public/shapes/circle.svg index adb837cf..2de141cd 100644 --- a/apps/web/public/shapes/circle.svg +++ b/apps/web/public/shapes/circle.svg @@ -1,3 +1,3 @@ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"> - <circle cx="50" cy="50" r="44" fill="currentColor" /> + <circle cx="50" cy="50" r="50" fill="currentColor" /> </svg> diff --git a/apps/web/public/shapes/diamond.svg b/apps/web/public/shapes/diamond.svg index 4a039b5c..a0a31aa8 100644 --- a/apps/web/public/shapes/diamond.svg +++ b/apps/web/public/shapes/diamond.svg @@ -1,3 +1,3 @@ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"> - <polygon points="50,6 94,50 50,94 6,50" fill="currentColor" /> + <polygon points="50,0 100,50 50,100 0,50" fill="currentColor" /> </svg> diff --git a/apps/web/public/shapes/hexagon.svg b/apps/web/public/shapes/hexagon.svg index e1eb087e..e50cd91f 100644 --- a/apps/web/public/shapes/hexagon.svg +++ b/apps/web/public/shapes/hexagon.svg @@ -1,3 +1,6 @@ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"> - <polygon points="28,8 72,8 94,50 72,92 28,92 6,50" fill="currentColor" /> + <polygon + points="50,0 93.301,25 93.301,75 50,100 6.699,75 6.699,25" + fill="currentColor" + /> </svg> diff --git a/apps/web/public/shapes/square.svg b/apps/web/public/shapes/square.svg index ed9b790f..58a0f6ad 100644 --- a/apps/web/public/shapes/square.svg +++ b/apps/web/public/shapes/square.svg @@ -1,3 +1,3 @@ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"> - <rect x="10" y="10" width="80" height="80" fill="currentColor" /> + <rect width="100" height="100" fill="currentColor" /> </svg> diff --git a/apps/web/public/shapes/star.svg b/apps/web/public/shapes/star.svg index c49e0c53..f646764b 100644 --- a/apps/web/public/shapes/star.svg +++ b/apps/web/public/shapes/star.svg @@ -1,3 +1,6 @@ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"> - <polygon points="50,6 61,37 94,37 67,56 77,88 50,68 23,88 33,56 6,37 39,37" fill="currentColor" /> + <polygon + points="50,0 61.24,34.56 97.55,34.55 68.16,55.9 79.39,90.45 50,69.1 20.61,90.45 31.84,55.9 2.45,34.55 38.76,34.55" + fill="currentColor" + /> </svg> diff --git a/apps/web/public/shapes/triangle.svg b/apps/web/public/shapes/triangle.svg index a1bd6b0c..9c1c5a41 100644 --- a/apps/web/public/shapes/triangle.svg +++ b/apps/web/public/shapes/triangle.svg @@ -1,3 +1,3 @@ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"> - <polygon points="50,8 94,92 6,92" fill="currentColor" /> + <polygon points="50,13.4 0,100 100,100" fill="currentColor" /> </svg> diff --git a/apps/web/src/app/blog/[slug]/page.tsx b/apps/web/src/app/blog/[slug]/page.tsx index e1afc3a8..90afd919 100644 --- a/apps/web/src/app/blog/[slug]/page.tsx +++ b/apps/web/src/app/blog/[slug]/page.tsx @@ -5,7 +5,7 @@ import { BasePage } from "@/app/base-page"; import Prose from "@/components/ui/prose"; import { Separator } from "@/components/ui/separator"; import { getPosts, getSinglePost, processHtmlContent } from "@/lib/blog/query"; -import type { Author, Post } from "@/types/blog"; +import type { Author, Post } from "@/lib/blog/types"; type PageProps = { params: Promise<{ slug: string }>; diff --git a/apps/web/src/app/blog/page.tsx b/apps/web/src/app/blog/page.tsx index 257a8f23..df0b195d 100644 --- a/apps/web/src/app/blog/page.tsx +++ b/apps/web/src/app/blog/page.tsx @@ -3,7 +3,7 @@ import Link from "next/link"; import { BasePage } from "@/app/base-page"; import { Separator } from "@/components/ui/separator"; import { getPosts } from "@/lib/blog/query"; -import type { Post } from "@/types/blog"; +import type { Post } from "@/lib/blog/types"; export const metadata: Metadata = { title: "Blog - OpenCut", diff --git a/apps/web/src/app/globals.css b/apps/web/src/app/globals.css index 6d3e984f..21219427 100644 --- a/apps/web/src/app/globals.css +++ b/apps/web/src/app/globals.css @@ -8,111 +8,111 @@ @plugin "tailwindcss-animate"; :root { - --background: hsl(0, 0%, 100%); - --foreground: hsl(0 0% 11%); - --card: hsl(0, 0%, 100%); - --card-foreground: hsl(0 0% 11%); - --popover: hsl(0, 0%, 100%); - --popover-hover: hsl(0, 0%, 96%); - --popover-foreground: hsl(0 0% 2%); - --primary: #009dff; - --primary-foreground: hsl(0, 0%, 100%); - --secondary: hsl(204, 100%, 97%); - --secondary-border: hsl(204, 100%, 94%); - --secondary-foreground: hsl(200, 98%, 39%); - --muted: hsl(0 0% 85.1%); - --muted-foreground: hsl(0 0% 50%); - --accent: hsl(0, 0%, 96%); - --accent-foreground: hsl(0 0% 2%); - --destructive: hsl(0, 83%, 50%); - --destructive-foreground: hsl(0, 0%, 100%); - --constructive: hsl(141, 71%, 48%); - --constructive-foreground: hsl(0, 0%, 100%); - --border: hsl(0 0% 91%); - --input: hsl(0, 0%, 100%); - --ring: hsl(0, 0%, 55%); - --chart-1: hsl(220 70% 50%); - --chart-2: hsl(160 60% 45%); - --chart-3: hsl(30 80% 55%); - --chart-4: hsl(280 65% 60%); - --chart-5: hsl(340 75% 55%); - --sidebar-background: hsl(0 0% 96.1%); - --sidebar-foreground: hsl(0 0% 2%); - --sidebar-primary: hsl(0 0% 2%); - --sidebar-primary-foreground: hsl(0 0% 91%); - --sidebar-accent: hsl(0 0% 85.1%); - --sidebar-accent-foreground: hsl(0 0% 2%); - --sidebar-border: hsl(0 0% 85.1%); - --sidebar-ring: hsl(0 0% 16.9%); - --sidebar: hsl(0 0% 98%); + --background: hsl(0, 0%, 100%); + --foreground: hsl(0 0% 11%); + --card: hsl(0, 0%, 100%); + --card-foreground: hsl(0 0% 11%); + --popover: hsl(0, 0%, 100%); + --popover-hover: hsl(0, 0%, 96%); + --popover-foreground: hsl(0 0% 2%); + --primary: hsl(200, 90%, 52%); + --primary-foreground: hsl(0, 0%, 100%); + --secondary: hsl(204, 100%, 97%); + --secondary-border: hsl(204, 100%, 94%); + --secondary-foreground: hsl(200, 98%, 39%); + --muted: hsl(0 0% 85.1%); + --muted-foreground: hsl(0 0% 50%); + --accent: hsl(0, 0%, 96%); + --accent-foreground: hsl(0 0% 2%); + --destructive: hsl(0, 83%, 50%); + --destructive-foreground: hsl(0, 0%, 100%); + --constructive: hsl(141, 71%, 48%); + --constructive-foreground: hsl(0, 0%, 100%); + --border: hsl(0 0% 91%); + --input: hsl(0, 0%, 100%); + --ring: hsl(0, 0%, 55%); + --chart-1: hsl(220 70% 50%); + --chart-2: hsl(160 60% 45%); + --chart-3: hsl(30 80% 55%); + --chart-4: hsl(280 65% 60%); + --chart-5: hsl(340 75% 55%); + --sidebar-background: hsl(0 0% 96.1%); + --sidebar-foreground: hsl(0 0% 2%); + --sidebar-primary: hsl(0 0% 2%); + --sidebar-primary-foreground: hsl(0 0% 91%); + --sidebar-accent: hsl(0 0% 85.1%); + --sidebar-accent-foreground: hsl(0 0% 2%); + --sidebar-border: hsl(0 0% 85.1%); + --sidebar-ring: hsl(0 0% 16.9%); + --sidebar: hsl(0 0% 98%); } .panel { - --background: hsl(216 13% 98%); - --foreground: hsl(0 0% 13%); - --card: hsl(0, 0%, 98%); - --card-foreground: hsl(0 0% 13%); - --primary-foreground: hsl(0, 0%, 98%); - --secondary: hsl(204, 100%, 95%); - --secondary-border: hsl(204, 100%, 92%); - --secondary-foreground: hsl(200, 98%, 37%); - --muted: hsl(0 0% 83.1%); - --muted-foreground: hsl(0 0% 48%); - --accent: hsl(0, 0%, 93%); - --accent-foreground: hsl(0 0% 5%); - --destructive-foreground: hsl(0, 0%, 98%); - --constructive-foreground: hsl(0, 0%, 98%); - --border: hsl(0 0% 89%); - --input: hsl(0 0% 93%); - --ring: hsl(0, 0%, 53%); + --background: hsl(210, 20%, 98%); + --foreground: hsl(0 0% 13%); + --card: hsl(0, 0%, 98%); + --card-foreground: hsl(0 0% 13%); + --primary-foreground: hsl(0, 0%, 98%); + --secondary: hsl(204, 100%, 95%); + --secondary-border: hsl(204, 100%, 92%); + --secondary-foreground: hsl(200, 98%, 37%); + --muted: hsl(0 0% 83.1%); + --muted-foreground: hsl(0 0% 48%); + --accent: hsl(0, 0%, 93%); + --accent-foreground: hsl(0 0% 5%); + --destructive-foreground: hsl(0, 0%, 98%); + --constructive-foreground: hsl(0, 0%, 98%); + --border: hsl(0 0% 87%); + --input: hsl(0 0% 93%); + --ring: hsl(0, 0%, 53%); } .dark { - --background: hsl(0, 0%, 5%); - --foreground: hsl(0 0% 87%); - --card: hsl(0, 0%, 5%); - --card-foreground: hsl(0 0% 87%); - --popover: hsl(0, 0%, 5%); - --popover-hover: hsl(0, 0%, 22%); - --popover-foreground: hsl(0 0% 95%); - --secondary: hsl(204, 100%, 12%); - --secondary-border: hsl(204, 100%, 15%); - --secondary-foreground: hsl(200, 98%, 61%); - --muted: hsl(0 0% 20%); - --accent: hsl(0, 0%, 14%); - --accent-foreground: hsl(0 0% 95%); - --border: hsl(0 0% 16%); - --input: hsl(0 0% 5%); - --ring: hsl(0, 0%, 50%); - --sidebar-background: hsl(0 0% 8%); - --sidebar-foreground: hsl(0 0% 95%); - --sidebar-primary: hsl(0 0% 95%); - --sidebar-primary-foreground: hsl(0 0% 15%); - --sidebar-accent: hsl(0 0% 20%); - --sidebar-accent-foreground: hsl(0 0% 95%); - --sidebar-border: hsl(0 0% 20%); - --sidebar-ring: hsl(0 0% 83.1%); - --sidebar: hsl(0 0% 6%); + --background: hsl(0, 0%, 5%); + --foreground: hsl(0 0% 87%); + --card: hsl(0, 0%, 5%); + --card-foreground: hsl(0 0% 87%); + --popover: hsl(0, 0%, 5%); + --popover-hover: hsl(0, 0%, 13%); + --popover-foreground: hsl(0 0% 95%); + --secondary: hsl(204, 100%, 12%); + --secondary-border: hsl(204, 100%, 15%); + --secondary-foreground: hsl(200, 98%, 61%); + --muted: hsl(0 0% 20%); + --accent: hsl(0, 0%, 14%); + --accent-foreground: hsl(0 0% 95%); + --border: hsl(0 0% 16%); + --input: hsl(0 0% 5%); + --ring: hsl(0, 0%, 50%); + --sidebar-background: hsl(0 0% 8%); + --sidebar-foreground: hsl(0 0% 95%); + --sidebar-primary: hsl(0 0% 95%); + --sidebar-primary-foreground: hsl(0 0% 15%); + --sidebar-accent: hsl(0 0% 20%); + --sidebar-accent-foreground: hsl(0 0% 95%); + --sidebar-border: hsl(0 0% 20%); + --sidebar-ring: hsl(0 0% 83.1%); + --sidebar: hsl(0 0% 6%); } .dark .panel { - --background: hsl(0 0% 10%); - --foreground: hsl(0 0% 85%); - --card: hsl(0, 0%, 10%); - --card-foreground: hsl(0 0% 85%); - --secondary: hsl(204, 67%, 9%); - --secondary-border: hsl(204, 100%, 14%); - --secondary-foreground: hsl(200, 98%, 63%); - --muted: hsl(0 0% 22%); - --accent: hsl(0, 0%, 15%); - --accent-foreground: hsl(0 0% 93%); - --border: hsl(0 0% 18%); - --input: hsl(0 0% 22%); - --ring: hsl(0, 0%, 52%); + --background: hsl(0 0% 10%); + --foreground: hsl(0 0% 85%); + --card: hsl(0, 0%, 10%); + --card-foreground: hsl(0 0% 85%); + --secondary: hsl(204, 67%, 9%); + --secondary-border: hsl(204, 100%, 14%); + --secondary-foreground: hsl(200, 98%, 63%); + --muted: hsl(0 0% 22%); + --accent: hsl(0, 0%, 15%); + --accent-foreground: hsl(0 0% 93%); + --border: hsl(0 0% 18%); + --input: hsl(0 0% 22%); + --ring: hsl(0, 0%, 52%); } @layer base { - /* + /* The default border color has changed to `currentcolor` in Tailwind CSS v4, so we've added these compatibility styles to make sure everything still looks the same as it did with Tailwind CSS v3. @@ -120,165 +120,165 @@ If we ever want to remove these styles, we need to add an explicit border color utility to any element that depends on these defaults. */ - *, - ::after, - ::before, - ::backdrop, - ::file-selector-button { - border-color: var(--color-gray-200, currentcolor); - } - /* Other default base styles */ - * { - @apply border-border; - } - body { - @apply bg-background text-foreground; - /* Prevent back/forward swipe */ - overscroll-behavior-x: contain; - } - ::selection { - @apply bg-primary/35 selection:text-primary-foreground; - } + *, + ::after, + ::before, + ::backdrop, + ::file-selector-button { + border-color: var(--color-gray-200, currentcolor); + } + /* Other default base styles */ + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + /* Prevent back/forward swipe */ + overscroll-behavior-x: contain; + } + ::selection { + @apply bg-primary/35 selection:text-primary-foreground; + } } @theme inline { - /* Responsive breakpoints */ - --breakpoint-xs: 30rem; + /* Responsive breakpoints */ + --breakpoint-xs: 30rem; - /* Typography */ - --font-sans: var(--font-inter), sans-serif; + /* Typography */ + --font-sans: var(--font-inter), sans-serif; - /* Font sizes */ - --text-xs: 0.72rem; - --text-sm: 0.79rem; - --text-base: 0.92rem; - --text-base--line-height: calc(1.5 / 0.95); - --text-xs--line-height: calc(1 / 0.8); + /* Font sizes */ + --text-xs: 0.72rem; + --text-sm: 0.79rem; + --text-base: 0.92rem; + --text-base--line-height: calc(1.5 / 0.95); + --text-xs--line-height: calc(1 / 0.8); - /* Border radius */ - --radius-lg: 0.82rem; - --radius-md: 0.65rem; - --radius-sm: 0.35rem; + /* Border radius */ + --radius-lg: 0.82rem; + --radius-md: 0.65rem; + --radius-sm: 0.35rem; - /* Palette mapped to root design tokens */ - --color-background: var(--background); - --color-foreground: var(--foreground); + /* Palette mapped to root design tokens */ + --color-background: var(--background); + --color-foreground: var(--foreground); - --color-card: var(--card); - --color-card-foreground: var(--card-foreground); + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); - --color-popover: var(--popover); - --color-popover-hover: var(--popover-hover); - --color-popover-foreground: var(--popover-foreground); + --color-popover: var(--popover); + --color-popover-hover: var(--popover-hover); + --color-popover-foreground: var(--popover-foreground); - --color-primary: var(--primary); - --color-primary-foreground: var(--primary-foreground); - --color-secondary: var(--secondary); - --color-secondary-border: var(--secondary-border); - --color-secondary-foreground: var(--secondary-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-border: var(--secondary-border); + --color-secondary-foreground: var(--secondary-foreground); - --color-muted: var(--muted); - --color-muted-foreground: var(--muted-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); - --color-accent: var(--accent); - --color-accent-foreground: var(--accent-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); - --color-destructive: var(--destructive); - --color-destructive-foreground: var(--destructive-foreground); + --color-destructive: var(--destructive); + --color-destructive-foreground: var(--destructive-foreground); - --color-constructive: var(--constructive); - --color-constructive-foreground: var(--constructive-foreground); + --color-constructive: var(--constructive); + --color-constructive-foreground: var(--constructive-foreground); - --color-border: var(--border); - --color-input: var(--input); - --color-ring: var(--ring); + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); - /* Chart colors */ - --color-chart-1: var(--chart-1); - --color-chart-2: var(--chart-2); - --color-chart-3: var(--chart-3); - --color-chart-4: var(--chart-4); - --color-chart-5: var(--chart-5); + /* Chart colors */ + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); - /* Sidebar */ - --color-sidebar: var(--sidebar-background); - --color-sidebar-foreground: var(--sidebar-foreground); - --color-sidebar-primary: var(--sidebar-primary); - --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); - --color-sidebar-accent: var(--sidebar-accent); - --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); - --color-sidebar-border: var(--sidebar-border); - --color-sidebar-ring: var(--sidebar-ring); + /* Sidebar */ + --color-sidebar: var(--sidebar-background); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-ring: var(--sidebar-ring); - /* Animations */ - --animate-accordion-down: accordion-down 0.2s ease-out; - --animate-accordion-up: accordion-up 0.2s ease-out; + /* Animations */ + --animate-accordion-down: accordion-down 0.2s ease-out; + --animate-accordion-up: accordion-up 0.2s ease-out; - @keyframes accordion-down { - from { - height: 0; - } - to { - height: var(--radix-accordion-content-height); - } - } + @keyframes accordion-down { + from { + height: 0; + } + to { + height: var(--radix-accordion-content-height); + } + } - @keyframes accordion-up { - from { - height: var(--radix-accordion-content-height); - } - to { - height: 0; - } - } + @keyframes accordion-up { + from { + height: var(--radix-accordion-content-height); + } + to { + height: 0; + } + } } @utility scrollbar-hidden { - -ms-overflow-style: none; - scrollbar-width: none; - &::-webkit-scrollbar { - display: none; - } + -ms-overflow-style: none; + scrollbar-width: none; + &::-webkit-scrollbar { + display: none; + } } @utility scrollbar-x-hidden { - -ms-overflow-style: none; - scrollbar-width: none; - &::-webkit-scrollbar:horizontal { - display: none; - } + -ms-overflow-style: none; + scrollbar-width: none; + &::-webkit-scrollbar:horizontal { + display: none; + } } @utility scrollbar-y-hidden { - -ms-overflow-style: none; - scrollbar-width: none; - &::-webkit-scrollbar:vertical { - display: none; - } + -ms-overflow-style: none; + scrollbar-width: none; + &::-webkit-scrollbar:vertical { + display: none; + } } @utility scrollbar-thin { - &::-webkit-scrollbar { - width: 6px; - height: 8px; - } - &::-webkit-scrollbar-track { - background: transparent; - } - &::-webkit-scrollbar-thumb { - background: var(--border); - border-radius: 4px; - } - &::-webkit-scrollbar-thumb:hover { - background: var(--muted-foreground); - } + &::-webkit-scrollbar { + width: 7px; + height: 7px; + } + &::-webkit-scrollbar-track { + background: transparent; + } + &::-webkit-scrollbar-thumb { + background: var(--border); + border-radius: 4px; + } + &::-webkit-scrollbar-thumb:hover { + background: var(--muted-foreground); + } } @layer base { - * { - @apply border-border outline-ring/50; - } - body { - @apply bg-background text-foreground; - } + * { + @apply border-border outline-ring/50; + } + body { + @apply bg-background text-foreground; + } } diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index c2608bd9..f8e6040f 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -29,11 +29,20 @@ export default function RootLayout({ <head> <BotIdClient protect={protectedRoutes} /> {process.env.NODE_ENV === "development" && ( - <Script - src="//unpkg.com/react-scan/dist/auto.global.js" - crossOrigin="anonymous" - strategy="beforeInteractive" - /> + <> + <Script + src="//unpkg.com/react-scan/dist/auto.global.js" + crossOrigin="anonymous" + strategy="beforeInteractive" + /> + + {/* code to figma */} + {/* <script + dangerouslySetInnerHTML={{ + __html: `(function(){var s=document.createElement('script');s.src='https://mcp.figma.com/mcp/html-to-design/capture.js';document.head.appendChild(s);})();`, + }} + /> */} + </> )} </head> <body className={`${siteFont.className} font-sans antialiased`}> diff --git a/apps/web/src/app/privacy/page.tsx b/apps/web/src/app/privacy/page.tsx index 4b06405a..0672cfe5 100644 --- a/apps/web/src/app/privacy/page.tsx +++ b/apps/web/src/app/privacy/page.tsx @@ -37,7 +37,7 @@ export default function PrivacyPage() { </AccordionTrigger> <AccordionContent> <h3 className="mb-3 text-lg font-medium"> - Your content stays private and encrypted. + Your content never leaves your device. </h3> <ol className="list-decimal space-y-2 pl-6"> <li> @@ -45,22 +45,19 @@ export default function PrivacyPage() { your files </li> <li> - AI features require encrypted uploads - your content is - encrypted before leaving your device + AI features like auto captions run locally in your browser + too - nothing is uploaded </li> <li> - We only collect your email and basic profile info for your - account + OpenCut does not currently require an account or login </li> <li>Project data stays on your device, not our servers</li> <li> - We use analytics to improve the app, but no personal video + We use anonymized analytics to improve the app, but no personal video content is tracked </li> - <li> - You can delete your account anytime and all data gets removed - </li> - <li>We don't sell your data or share it with advertisers</li> + <li>You can clear local data from your browser at any time</li> + <li>We don't sell or share your data with anyone (we don't even have it)</li> </ol> <p className="mt-4"> Questions? Email us at{" "} @@ -78,84 +75,30 @@ export default function PrivacyPage() { <section className="flex flex-col gap-3"> <h2 className="text-2xl font-semibold">How We Handle Your Content</h2> <p> - <strong>Basic video editing happens locally on your device.</strong>{" "} - For standard editing features, we never upload, store, or have access - to your video files. Your content remains completely private and under - your control. - </p> - <p> - <strong>AI features require secure processing:</strong> When you - choose to use AI features like auto captions, your audio/video content - is encrypted on your device before being uploaded to our servers for - processing. We use zero-knowledge encryption, meaning we cannot - decrypt or view your content. - </p> - <p> - After AI processing is complete, the encrypted content is immediately - deleted from our servers. Only the results (like generated captions) - are returned to your device. + <strong> + All editing and processing happens locally on your device. + </strong>{" "} + We never upload, store, or have access to your video or audio files. + Your content remains completely private and under your control. + AI-powered features like auto captions also run in your browser using + on-device models - no content ever leaves your device. </p> </section> <section className="flex flex-col gap-3"> - <h2 className="text-2xl font-semibold">Account Information</h2> - <p>When you create an account, we only collect:</p> - <ul className="list-disc space-y-2 pl-6"> - <li>Email address (for account access)</li> - <li> - Profile information from Google OAuth (if you choose to sign in with - Google) - </li> - </ul> - <p> - <strong>We do NOT store your projects on our servers.</strong> All - project data, including names, thumbnails, and creation dates, is - stored locally in your browser using IndexedDB. - </p> + <h2 className="text-2xl font-semibold">Accounts & Authentication</h2> <p> - We use{" "} - <a - href="https://www.better-auth.com" - target="_blank" - rel="noopener" - className="text-primary hover:underline" - > - Better Auth - </a>{" "} - for secure authentication and follow industry-standard security - practices. + OpenCut does not currently offer user accounts, login, or Google + sign-in. </p> - </section> - - <section className="flex flex-col gap-3"> - <h2 className="text-2xl font-semibold">AI Features & Encryption</h2> <p> - When you use AI-powered features (like auto captions, content - analysis, or enhancement tools), your content needs to be processed on - our servers. Here's how we protect your privacy: + Because there is no account system today, we do not collect account + emails, profile information, or OAuth identity data. </p> - <ul className="list-disc space-y-2 pl-6"> - <li> - <strong>Client-side encryption:</strong> Your content is encrypted - on your device before upload - </li> - <li> - <strong>Zero-knowledge processing:</strong> We cannot decrypt or - view your original content - </li> - <li> - <strong>Temporary processing:</strong> Encrypted content is deleted - immediately after processing - </li> - <li> - <strong>Opt-in only:</strong> AI features are optional - basic - editing remains fully local - </li> - </ul> <p> - Different AI features may process different types of content (audio - for captions, video for analysis, etc.), but all follow the same - zero-knowledge encryption approach. + Your projects are never stored on our servers. All project data, + including names, thumbnails, and creation dates, is stored locally + in your browser using IndexedDB. </p> </section> @@ -171,13 +114,12 @@ export default function PrivacyPage() { > Databuddy </a>{" "} - for completely anonymized and non-invasive analytics to understand how - people use OpenCut. + for basic, anonymized visitor counts. We do not track clicks, + interactions, or how you use the editor. </p> <p> - This helps us improve the editor, but we never collect personal - information, track individual users, or store any data that could - identify you. + No personal information is collected, no individual users are tracked, + and no data that could identify you is stored. </p> </section> @@ -187,7 +129,7 @@ export default function PrivacyPage() { <ul className="list-disc space-y-2 pl-6"> <li>Save your projects locally on your device</li> <li>Remember your editor preferences and settings</li> - <li>Keep you logged in across browser sessions</li> + <li>Store app state needed for the editor to work between sessions</li> </ul> <p> All data stays on your device and can be cleared at any time through @@ -200,10 +142,6 @@ export default function PrivacyPage() { <p>OpenCut integrates with these services:</p> <ul className="list-disc space-y-2 pl-6"> <li> - <strong>Google OAuth:</strong> For optional Google sign-in (governed - by Google's privacy policy) - </li> - <li> <strong>Vercel:</strong> For hosting and content delivery </li> <li> @@ -216,8 +154,7 @@ export default function PrivacyPage() { <h2 className="text-2xl font-semibold">Your Rights</h2> <p>You have complete control over your data:</p> <ul className="list-disc space-y-2 pl-6"> - <li>Delete your account and all associated data at any time</li> - <li>Export your project data</li> + <li>No account is required to use OpenCut today</li> <li>Clear local storage to remove all saved projects</li> <li>Contact us with any privacy concerns</li> </ul> @@ -280,7 +217,7 @@ export default function PrivacyPage() { <Separator /> <p className="text-muted-foreground text-sm"> - Last updated: July 14, 2025 + Last updated: March 15, 2026 </p> </BasePage> ); diff --git a/apps/web/src/app/projects/page.tsx b/apps/web/src/app/projects/page.tsx index c25d75b9..9618de27 100644 --- a/apps/web/src/app/projects/page.tsx +++ b/apps/web/src/app/projects/page.tsx @@ -7,6 +7,7 @@ import type { KeyboardEvent, MouseEvent } from "react"; import { useEffect, useState } from "react"; import { toast } from "sonner"; import { MigrationDialog } from "@/components/editor/dialogs/migration-dialog"; +import { StoragePersistenceDialog } from "@/components/editor/dialogs/storage-persistence-dialog"; import { Button } from "@/components/ui/button"; import { Card, CardContent } from "@/components/ui/card"; import { Checkbox } from "@/components/ui/checkbox"; @@ -18,7 +19,7 @@ import type { TProjectMetadata, TProjectSortKey, TProjectSortOption, -} from "@/types/project"; +} from "@/lib/project/types"; import { formatTimeCode } from "@/lib/time"; import { formatDate } from "@/utils/date"; import { HugeiconsIcon } from "@hugeicons/react"; @@ -86,6 +87,13 @@ const VIEW_MODE_OPTIONS = [ export default function ProjectsPage() { const { searchQuery, sortKey, sortOrder, viewMode } = useProjectsStore(); const editor = useEditor(); + const sortOption: TProjectSortOption = `${sortKey}-${sortOrder}`; + + const isLoading = useEditor((e) => e.project.getIsLoading()); + const isInitialized = useEditor((e) => e.project.getIsInitialized()); + const projectsToDisplay = useEditor((e) => + e.project.getFilteredAndSortedProjects({ searchQuery, sortOption }), + ); useEffect(() => { if (!editor.project.getIsInitialized()) { @@ -93,18 +101,10 @@ export default function ProjectsPage() { } }, [editor.project]); - const sortOption: TProjectSortOption = `${sortKey}-${sortOrder}`; - const projectsToDisplay = editor.project.getFilteredAndSortedProjects({ - searchQuery, - sortOption, - }); - - const isLoading = editor.project.getIsLoading(); - const isInitialized = editor.project.getIsInitialized(); - return ( <div className="bg-background min-h-screen"> <MigrationDialog /> + <StoragePersistenceDialog /> <ProjectsHeader /> <ProjectsToolbar projectIds={projectsToDisplay.map((p) => p.id)} /> <main className="mx-auto px-4 pt-2 pb-6 flex flex-col gap-4"> diff --git a/apps/web/src/app/projects/store.ts b/apps/web/src/app/projects/store.ts index 767f08df..2c79aa0a 100644 --- a/apps/web/src/app/projects/store.ts +++ b/apps/web/src/app/projects/store.ts @@ -1,6 +1,6 @@ import { create } from "zustand"; import { persist } from "zustand/middleware"; -import type { TProjectSortKey } from "@/types/project"; +import type { TProjectSortKey } from "@/lib/project/types"; export type ProjectsViewMode = "grid" | "list"; diff --git a/apps/web/src/app/terms/page.tsx b/apps/web/src/app/terms/page.tsx index d5d43ba7..697a89ef 100644 --- a/apps/web/src/app/terms/page.tsx +++ b/apps/web/src/app/terms/page.tsx @@ -41,18 +41,17 @@ export default function TermsPage() { </h3> <ol className="list-decimal space-y-2 pl-6"> <li> - Your content stays private - basic editing is local, AI features - use encrypted uploads + Everything runs locally in your browser - nothing is ever + uploaded to our servers </li> <li> - We never claim ownership of your content, even when processing - AI features + We never claim ownership of your content </li> <li> Free for personal and commercial use with no watermarks or restrictions </li> - <li>Don't use OpenCut for illegal activities or harassment</li> + <li>You're responsible for how you use it - don't break the law</li> <li> Service provided "as is" - we can't guarantee perfect uptime </li> @@ -61,8 +60,7 @@ export default function TermsPage() { needed </li> <li> - You can delete your account anytime and keep using your exported - videos + No account required - your exported videos are always yours </li> </ol> <p className="mt-4"> @@ -81,21 +79,17 @@ export default function TermsPage() { <section className="flex flex-col gap-3"> <h2 className="text-2xl font-semibold">Your Content, Your Rights</h2> <p> - <strong>You own everything you create.</strong> OpenCut processes - basic editing locally on your device. For AI features, content is - encrypted before upload and we cannot access your original files. We - make no claims to ownership, licensing, or rights over your videos, - projects, or any content you create using OpenCut. + <strong>You own everything you create.</strong> All editing and + processing happens locally on your device. We never see, store, or + have access to your files. We make no claims to ownership, licensing, + or rights over your videos, projects, or any content you create using + OpenCut. </p> <ul className="list-disc space-y-2 pl-6"> <li> - Your content remains private and under your control at all times + Your content never leaves your device </li> <li>You retain all intellectual property rights to your content</li> - <li> - Even when using AI features, we cannot access your unencrypted - content - </li> <li>You can export and use your content however you choose</li> <li>No watermarks, no licensing restrictions from OpenCut</li> </ul> @@ -115,53 +109,26 @@ export default function TermsPage() { </li> </ul> <p> - <strong>What we ask:</strong> Don't use OpenCut for illegal - activities, harassment, or creating harmful content. Be respectful of - others and follow applicable laws. + You're responsible for how you use OpenCut and the content you create. + Don't use it for anything illegal in your jurisdiction. </p> </section> <section className="flex flex-col gap-3"> - <h2 className="text-2xl font-semibold"> - AI Features and Data Processing - </h2> + <h2 className="text-2xl font-semibold">AI Features</h2> <p> - OpenCut offers optional AI-powered features that require server - processing: - </p> - <ul className="list-disc space-y-2 pl-6"> - <li> - AI features (auto captions, content analysis, etc.) are completely - optional - </li> - <li>Your content is encrypted on your device before any upload</li> - <li> - We use zero-knowledge encryption - we cannot decrypt your content - </li> - <li>Encrypted content is deleted immediately after processing</li> - <li> - You maintain full ownership and control of your content throughout - </li> - </ul> - <p> - By using AI features, you consent to the temporary, encrypted - processing of your content as described in our Privacy Policy. You can - always choose to use only local editing features. + AI features like auto captions run entirely in your browser using + on-device models. No content is uploaded to any server. These features + are optional - you can use OpenCut without them. </p> </section> <section className="flex flex-col gap-3"> - <h2 className="text-2xl font-semibold">Account and Service</h2> - <p>To use certain features, you may create an account:</p> - <ul className="list-disc space-y-2 pl-6"> - <li>Provide accurate information when signing up</li> - <li>Keep your account secure and don't share credentials</li> - <li>You're responsible for activity under your account</li> - <li>You can delete your account at any time</li> - </ul> + <h2 className="text-2xl font-semibold">Service</h2> <p> - OpenCut is provided "as is" without warranties. While we strive for - reliability, we can't guarantee uninterrupted service. + OpenCut does not currently require an account. The service is provided + "as is" without warranties. While we strive for reliability, we can't + guarantee uninterrupted service. </p> </section> @@ -189,24 +156,6 @@ export default function TermsPage() { </section> <section className="flex flex-col gap-3"> - <h2 className="text-2xl font-semibold">Third-Party Content</h2> - <p> - When using OpenCut, make sure you have the right to use any content - you import: - </p> - <ul className="list-disc space-y-2 pl-6"> - <li>Only upload content you own or have permission to use</li> - <li> - Respect copyright, trademarks, and other intellectual property - </li> - <li> - Don't use copyrighted music, images, or videos without permission - </li> - <li>You're responsible for any claims related to your content</li> - </ul> - </section> - - <section className="flex flex-col gap-3"> <h2 className="text-2xl font-semibold">Limitations and Liability</h2> <p> OpenCut is provided free of charge. To the extent permitted by law: @@ -239,13 +188,10 @@ export default function TermsPage() { </section> <section className="flex flex-col gap-3"> - <h2 className="text-2xl font-semibold">Termination</h2> + <h2 className="text-2xl font-semibold">Stopping Use</h2> <p>You can stop using OpenCut at any time:</p> <ul className="list-disc space-y-2 pl-6"> - <li>Delete your account through your profile settings</li> <li>Clear your browser data to remove local projects</li> - <li>Your content remains yours even if you stop using OpenCut</li> - <li>We may suspend accounts for violations of these terms</li> </ul> </section> @@ -288,7 +234,7 @@ export default function TermsPage() { </section> <Separator /> <p className="text-muted-foreground text-sm"> - Last updated: July 14, 2025 + Last updated: March 15, 2026 </p> </BasePage> ); diff --git a/apps/web/src/components/editable-timecode.tsx b/apps/web/src/components/editable-timecode.tsx index 61f23372..40390f07 100644 --- a/apps/web/src/components/editable-timecode.tsx +++ b/apps/web/src/components/editable-timecode.tsx @@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from "react"; import { formatTimeCode, parseTimeCode } from "@/lib/time"; -import type { TTimeCode } from "@/types/time"; +import type { TTimeCode } from "@/lib/time"; import { cn } from "@/utils/ui"; interface EditableTimecodeProps { @@ -66,16 +66,13 @@ export function EditableTimecode({ enterPressedRef.current = false; }; - const handleKeyDown = ({ - key, - preventDefault, - }: React.KeyboardEvent<HTMLInputElement>) => { - if (key === "Enter") { - preventDefault(); + const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => { + if (event.key === "Enter") { + event.preventDefault(); enterPressedRef.current = true; applyEdit(); - } else if (key === "Escape") { - preventDefault(); + } else if (event.key === "Escape") { + event.preventDefault(); cancelEditing(); } }; @@ -93,14 +90,13 @@ export function EditableTimecode({ } }; - const handleDisplayKeyDown = ({ - key, - preventDefault, - }: React.KeyboardEvent<HTMLButtonElement>) => { + const handleDisplayKeyDown = ( + event: React.KeyboardEvent<HTMLButtonElement>, + ) => { if (disabled) return; - if (key === "Enter" || key === " ") { - preventDefault(); + if (event.key === "Enter" || event.key === " ") { + event.preventDefault(); startEditing(); } }; diff --git a/apps/web/src/components/editor/dialogs/project-info-dialog.tsx b/apps/web/src/components/editor/dialogs/project-info-dialog.tsx index 7b736b23..42f99c79 100644 --- a/apps/web/src/components/editor/dialogs/project-info-dialog.tsx +++ b/apps/web/src/components/editor/dialogs/project-info-dialog.tsx @@ -6,7 +6,7 @@ import { DialogHeader, DialogTitle, } from "@/components/ui/dialog"; -import type { TProjectMetadata } from "@/types/project"; +import type { TProjectMetadata } from "@/lib/project/types"; import { formatDate } from "@/utils/date"; import { formatTimeCode } from "@/lib/time"; import { Button } from "@/components/ui/button"; diff --git a/apps/web/src/components/editor/dialogs/shortcuts-dialog.tsx b/apps/web/src/components/editor/dialogs/shortcuts-dialog.tsx index 565fe705..9a353a1c 100644 --- a/apps/web/src/components/editor/dialogs/shortcuts-dialog.tsx +++ b/apps/web/src/components/editor/dialogs/shortcuts-dialog.tsx @@ -110,7 +110,7 @@ export function ShortcutsDialog({ <DialogTitle>Keyboard shortcuts</DialogTitle> </DialogHeader> - <DialogBody className="scrollbar-thin flex-grow overflow-y-auto"> + <DialogBody className="scrollbar-thin grow overflow-y-auto"> <div className="flex flex-col gap-6"> {categories.map((category) => ( <div key={category} className="flex flex-col gap-1"> diff --git a/apps/web/src/components/editor/dialogs/storage-persistence-dialog.tsx b/apps/web/src/components/editor/dialogs/storage-persistence-dialog.tsx new file mode 100644 index 00000000..d391928c --- /dev/null +++ b/apps/web/src/components/editor/dialogs/storage-persistence-dialog.tsx @@ -0,0 +1,41 @@ +"use client"; + +import { Button } from "@/components/ui/button"; +import { + Dialog, + DialogBody, + DialogContent, + DialogFooter, + DialogHeader, + DialogTitle, +} from "@/components/ui/dialog"; +import { useStoragePersistence } from "@/hooks/use-storage-persistence"; + +export function StoragePersistenceDialog() { + const { showDialog, onConfirm, onDismiss } = useStoragePersistence(); + + return ( + <Dialog open={showDialog} onOpenChange={(open) => !open && onDismiss()}> + <DialogContent className="sm:max-w-md"> + <DialogHeader> + <DialogTitle>Don't lose your projects</DialogTitle> + </DialogHeader> + <DialogBody> + <p className="text-base text-muted-foreground"> + Your browser can automatically delete your projects when storage + runs low. + </p> + <p className="text-base text-muted-foreground"> + Allow OpenCut to protect them? + </p> + </DialogBody> + <DialogFooter> + <Button variant="outline" onClick={onDismiss}> + Not now + </Button> + <Button onClick={onConfirm}>Allow</Button> + </DialogFooter> + </DialogContent> + </Dialog> + ); +} diff --git a/apps/web/src/components/editor/editor-header.tsx b/apps/web/src/components/editor/editor-header.tsx index 2dea73e2..8dd730b5 100644 --- a/apps/web/src/components/editor/editor-header.tsx +++ b/apps/web/src/components/editor/editor-header.tsx @@ -47,7 +47,7 @@ function ProjectDropdown() { const [isExiting, setIsExiting] = useState(false); const router = useRouter(); const editor = useEditor(); - const activeProject = editor.project.getActive(); + const activeProject = useEditor((e) => e.project.getActive()); const handleExit = async () => { if (isExiting) return; @@ -136,7 +136,7 @@ function ProjectDropdown() { <DropdownMenuSeparator /> - <DropdownMenuItem asChild icon={<FaDiscord className="!size-4" />}> + <DropdownMenuItem asChild icon={<FaDiscord className="size-4!" />}> <Link href={SOCIAL_LINKS.discord} target="_blank" @@ -169,7 +169,7 @@ function ProjectDropdown() { function EditableProjectName() { const editor = useEditor(); - const activeProject = editor.project.getActive(); + const activeProject = useEditor((e) => e.project.getActive()); const [isEditing, setIsEditing] = useState(false); const inputRef = useRef<HTMLInputElement>(null); const originalNameRef = useRef(""); @@ -219,6 +219,7 @@ function EditableProjectName() { event.preventDefault(); if (inputRef.current) { inputRef.current.value = originalNameRef.current; + inputRef.current.setSelectionRange(0, 0); } setIsEditing(false); inputRef.current?.blur(); diff --git a/apps/web/src/components/editor/export-button.tsx b/apps/web/src/components/editor/export-button.tsx index ddf8308d..ec39e7e6 100644 --- a/apps/web/src/components/editor/export-button.tsx +++ b/apps/web/src/components/editor/export-button.tsx @@ -14,20 +14,24 @@ import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"; import { Progress } from "@/components/ui/progress"; import { Checkbox } from "@/components/ui/checkbox"; import { cn } from "@/utils/ui"; -import { getExportMimeType, getExportFileExtension, downloadBuffer } from "@/lib/export"; +import { + getExportMimeType, + getExportFileExtension, + downloadBuffer, +} from "@/lib/export"; import { Check, Copy, Download, RotateCcw } from "lucide-react"; import { EXPORT_FORMAT_VALUES, EXPORT_QUALITY_VALUES, type ExportFormat, type ExportQuality, -} from "@/types/export"; +} from "@/lib/export"; import { Section, SectionContent, SectionHeader, SectionTitle, -} from "@/components/editor/panels/properties/section"; +} from "@/components/section"; import { useEditor } from "@/hooks/use-editor"; import { DEFAULT_EXPORT_OPTIONS } from "@/constants/export-constants"; @@ -42,8 +46,8 @@ function isExportQuality(value: string): value is ExportQuality { export function ExportButton() { const [isExportPopoverOpen, setIsExportPopoverOpen] = useState(false); const editor = useEditor(); - - const hasProject = !!editor.project.getActiveOrNull(); + const activeProject = useEditor((e) => e.project.getActiveOrNull()); + const hasProject = !!activeProject; const handlePopoverOpenChange = ({ open }: { open: boolean }) => { if (!open) { @@ -54,7 +58,10 @@ export function ExportButton() { }; return ( - <Popover open={isExportPopoverOpen} onOpenChange={(open) => handlePopoverOpenChange({ open })}> + <Popover + open={isExportPopoverOpen} + onOpenChange={(open) => handlePopoverOpenChange({ open })} + > <PopoverTrigger asChild> <button type="button" @@ -91,9 +98,9 @@ function ExportPopover({ onOpenChange: (open: boolean) => void; }) { const editor = useEditor(); - const activeProject = editor.project.getActive(); - const { isExporting, progress, result: exportResult } = - editor.project.getExportState(); + const activeProject = useEditor((e) => e.project.getActive()); + const exportState = useEditor((e) => e.project.getExportState()); + const { isExporting, progress, result: exportResult } = exportState; const [format, setFormat] = useState<ExportFormat>( DEFAULT_EXPORT_OPTIONS.format, ); @@ -109,10 +116,10 @@ function ExportPopover({ const result = await editor.project.export({ options: { - format, - quality, - fps: activeProject.settings.fps, - includeAudio: shouldIncludeAudio, + format, + quality, + fps: activeProject.settings.fps, + includeAudio: shouldIncludeAudio, }, }); @@ -156,7 +163,11 @@ function ExportPopover({ {!isExporting && ( <> <div className="flex flex-col"> - <Section collapsible defaultOpen={false} showTopBorder={false}> + <Section + collapsible + defaultOpen={false} + showTopBorder={false} + > <SectionHeader> <SectionTitle>Format</SectionTitle> </SectionHeader> @@ -228,10 +239,10 @@ function ExportPopover({ <div className="flex items-center space-x-2"> <Checkbox id="include-audio" - checked={shouldIncludeAudio} - onCheckedChange={(checked) => - setShouldIncludeAudio(!!checked) - } + checked={shouldIncludeAudio} + onCheckedChange={(checked) => + setShouldIncludeAudio(!!checked) + } /> <Label htmlFor="include-audio"> Include audio in export @@ -252,15 +263,15 @@ function ExportPopover({ {isExporting && ( <div className="space-y-4 p-3"> - <div className="flex flex-col gap-2"> - <div className="flex items-center justify-between text-center"> - <p className="text-muted-foreground text-sm"> - {Math.round(progress * 100)}% - </p> - <p className="text-muted-foreground text-sm">100%</p> + <div className="flex flex-col gap-2"> + <div className="flex items-center justify-between text-center"> + <p className="text-muted-foreground text-sm"> + {Math.round(progress * 100)}% + </p> + <p className="text-muted-foreground text-sm">100%</p> + </div> + <Progress value={progress * 100} className="w-full" /> </div> - <Progress value={progress * 100} className="w-full" /> - </div> <Button variant="outline" diff --git a/apps/web/src/components/editor/mobile-gate.tsx b/apps/web/src/components/editor/mobile-gate.tsx index 8fecf3cb..6483e438 100644 --- a/apps/web/src/components/editor/mobile-gate.tsx +++ b/apps/web/src/components/editor/mobile-gate.tsx @@ -36,7 +36,7 @@ export function MobileGate({ children }: MobileGateProps) { }; return ( - <div className="dark bg-background relative flex h-screen w-screen flex-col overflow-hidden"> + <div className="bg-background relative flex h-screen w-screen flex-col overflow-hidden"> <Button variant="text" className="absolute top-6 left-6 flex items-center gap-1 text-muted-foreground" @@ -58,9 +58,7 @@ export function MobileGate({ children }: MobileGateProps) { </p> </div> <div className="flex items-center gap-3"> - <Button onClick={handleContinue}> - Take a look anyway - </Button> + <Button onClick={handleContinue}>Take a look anyway</Button> <Button variant="ghost" asChild> <Link href="/roadmap" className="flex items-center gap-1"> Roadmap diff --git a/apps/web/src/components/editor/panels/assets/drag-overlay.tsx b/apps/web/src/components/editor/panels/assets/drag-overlay.tsx index c6b0861c..9d9ae903 100644 --- a/apps/web/src/components/editor/panels/assets/drag-overlay.tsx +++ b/apps/web/src/components/editor/panels/assets/drag-overlay.tsx @@ -29,7 +29,7 @@ export function MediaDragOverlay({ return ( <button - className="bg-foreground/5 hover:bg-foreground/10 flex size-full flex-col items-center justify-center gap-4 rounded-lg p-8 text-center" + className="bg-foreground/5 hover:bg-foreground/10 flex flex-col items-center justify-center gap-4 rounded-lg p-8 text-center" type="button" disabled={isProcessing || !onClick} onClick={(event) => handleClick({ event })} diff --git a/apps/web/src/components/editor/panels/assets/draggable-item.tsx b/apps/web/src/components/editor/panels/assets/draggable-item.tsx index fae74e84..8c9acce8 100644 --- a/apps/web/src/components/editor/panels/assets/draggable-item.tsx +++ b/apps/web/src/components/editor/panels/assets/draggable-item.tsx @@ -12,7 +12,7 @@ import { } from "@/components/ui/tooltip"; import { useEditor } from "@/hooks/use-editor"; import { clearDragData, setDragData } from "@/lib/drag-data"; -import type { TimelineDragData } from "@/types/drag"; +import type { TimelineDragData } from "@/lib/timeline/drag"; import { cn } from "@/utils/ui"; export interface DraggableItemProps { @@ -29,7 +29,6 @@ export interface DraggableItemProps { isRounded?: boolean; variant?: "card" | "compact"; isDraggable?: boolean; - isHighlighted?: boolean; } export function DraggableItem({ @@ -46,13 +45,11 @@ export function DraggableItem({ isRounded = true, variant = "card", isDraggable = true, - isHighlighted = false, }: DraggableItemProps) { const [isDragging, setIsDragging] = useState(false); const [dragPosition, setDragPosition] = useState({ x: 0, y: 0 }); const dragRef = useRef<HTMLDivElement>(null); const editor = useEditor(); - const highlightClassName = `ring-2 ring-primary bg-primary/10 ${isRounded ? "rounded-sm" : ""}`; const handleAddToTimeline = () => { onAddToTimeline?.({ currentTime: editor.playback.getCurrentTime() }); @@ -102,9 +99,8 @@ export function DraggableItem({ > <div className={cn( - "relative flex h-auto w-full cursor-default flex-col gap-1 p-1", + "relative flex h-auto w-full cursor-default flex-col gap-1 p-", className, - isHighlighted && highlightClassName, )} > <AspectRatio @@ -144,15 +140,12 @@ export function DraggableItem({ ) : ( <div ref={dragRef} - className={cn( - "group relative w-full", - isHighlighted && highlightClassName, - )} + className={cn("group relative w-full", containerClassName)} > <button type="button" className={cn( - "flex h-8 w-full cursor-default items-center gap-3 px-1", + "flex h-8 w-full cursor-default items-center gap-3 px-1 outline-none", isDraggable && "[&::-webkit-drag-ghost]:opacity-0", className, )} @@ -160,7 +153,7 @@ export function DraggableItem({ onDragStart={isDraggable ? handleDragStart : undefined} onDragEnd={isDraggable ? handleDragEnd : undefined} > - <div className="size-6 flex-shrink-0 overflow-hidden rounded-[0.35rem]"> + <div className="size-6 shrink-0 overflow-hidden rounded-sm"> {preview} </div> <span className="w-full flex-1 truncate text-sm text-left"> diff --git a/apps/web/src/components/editor/panels/assets/tabbar.tsx b/apps/web/src/components/editor/panels/assets/tabbar.tsx index 61777a7c..a4e072f1 100644 --- a/apps/web/src/components/editor/panels/assets/tabbar.tsx +++ b/apps/web/src/components/editor/panels/assets/tabbar.tsx @@ -49,7 +49,7 @@ export function TabBar() { <div className="relative flex"> <div ref={scrollRef} - className="scrollbar-hidden relative flex size-full p-2 flex-col items-center justify-start gap-1.5 overflow-y-auto" + className="scrollbar-hidden relative flex size-full p-1 flex-col items-center justify-start gap-0.5 overflow-y-auto" > {TAB_KEYS.map((tabKey) => { const tab = tabs[tabKey]; @@ -57,12 +57,13 @@ export function TabBar() { <Tooltip key={tabKey} delayDuration={10}> <TooltipTrigger asChild> <Button - variant={activeTab === tabKey ? "secondary" : "text"} + variant={activeTab === tabKey ? "secondary" : "ghost"} + size="icon" aria-label={tab.label} className={cn( - "flex-col !p-1.5 !rounded-sm !h-auto [&_svg]:size-4.5", - activeTab !== tabKey && - "border border-transparent text-muted-foreground", + "shrink-0", + "h-8 w-8", + activeTab !== tabKey && "text-muted-foreground", )} onClick={() => setActiveTab(tabKey)} > @@ -102,8 +103,8 @@ function FadeOverlay({ className={cn( "pointer-events-none absolute right-0 left-0 h-6", direction === "top" && show - ? "from-background top-0 bg-gradient-to-b to-transparent" - : "from-background bottom-0 bg-gradient-to-t to-transparent", + ? "from-background top-0 bg-linear-to-b to-transparent" + : "from-background bottom-0 bg-linear-to-t to-transparent", )} /> ); diff --git a/apps/web/src/components/editor/panels/assets/views/assets.tsx b/apps/web/src/components/editor/panels/assets/views/assets.tsx index 3b35c022..e17e4d4a 100644 --- a/apps/web/src/components/editor/panels/assets/views/assets.tsx +++ b/apps/web/src/components/editor/panels/assets/views/assets.tsx @@ -2,11 +2,11 @@ import Image from "next/image"; import { useMemo, useState } from "react"; -import { toast } from "sonner"; -import { PanelView } from "@/components/editor/panels/assets/views/base-view"; +import { PanelView } from "@/components/editor/panels/assets/views/base-panel"; import { MediaDragOverlay } from "@/components/editor/panels/assets/drag-overlay"; import { DraggableItem } from "@/components/editor/panels/assets/draggable-item"; import { Button } from "@/components/ui/button"; +import { toast } from "sonner"; import { ContextMenu, ContextMenuContent, @@ -28,8 +28,15 @@ import { import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; import { useEditor } from "@/hooks/use-editor"; import { useFileUpload } from "@/hooks/use-file-upload"; -import { useRevealItem } from "@/hooks/use-reveal-item"; +import { invokeAction } from "@/lib/actions"; import { processMediaAssets } from "@/lib/media/processing"; +import { showMediaUploadToast } from "@/lib/media/upload-toast"; +import { + SelectableItem, + SelectableSurface, + useSelection, + useSelectionScope, +} from "@/lib/selection"; import { buildElementFromMedia } from "@/lib/timeline/element-utils"; import { type MediaSortKey, @@ -37,7 +44,8 @@ import { type MediaViewMode, useAssetsPanelStore, } from "@/stores/assets-panel-store"; -import type { MediaAsset } from "@/types/assets"; +import { MASKABLE_ELEMENT_TYPES } from "@/lib/timeline"; +import type { MediaAsset } from "@/lib/media/types"; import { cn } from "@/utils/ui"; import { CloudUploadIcon, @@ -52,8 +60,8 @@ import { HugeiconsIcon, type IconSvgElement } from "@hugeicons/react"; export function MediaView() { const editor = useEditor(); - const mediaFiles = editor.media.getAssets(); - const activeProject = editor.project.getActive(); + const mediaFiles = useEditor((e) => e.media.getAssets()); + const activeProject = useEditor((e) => e.project.getActive()); const { mediaViewMode, @@ -64,15 +72,11 @@ export function MediaView() { mediaSortOrder, setMediaSort, } = useAssetsPanelStore(); - const { highlightedId, registerElement } = useRevealItem( - highlightMediaId, - clearHighlight, - ); const [isProcessing, setIsProcessing] = useState(false); const [progress, setProgress] = useState(0); - const processFiles = async ({ files }: { files: FileList }) => { + const processFiles = async ({ files }: { files: File[] }) => { if (!files || files.length === 0) return; if (!activeProject) { toast.error("No active project"); @@ -82,20 +86,28 @@ export function MediaView() { setIsProcessing(true); setProgress(0); try { - const processedAssets = await processMediaAssets({ - files, - onProgress: (progress: { progress: number }) => - setProgress(progress.progress), + await showMediaUploadToast({ + filesCount: files.length, + promise: async () => { + const processedAssets = await processMediaAssets({ + files, + onProgress: (progress: { progress: number }) => + setProgress(progress.progress), + }); + for (const asset of processedAssets) { + await editor.media.addMediaAsset({ + projectId: activeProject.metadata.id, + asset, + }); + } + return { + uploadedCount: processedAssets.length, + assetNames: processedAssets.map((asset) => asset.name), + }; + }, }); - for (const asset of processedAssets) { - await editor.media.addMediaAsset({ - projectId: activeProject.metadata.id, - asset, - }); - } } catch (error) { console.error("Error processing files:", error); - toast.error("Failed to process files"); } finally { setIsProcessing(false); setProgress(0); @@ -109,23 +121,18 @@ export function MediaView() { onFilesSelected: (files) => processFiles({ files }), }); - const handleRemove = async ({ + const handleRemove = ({ event, - id, + ids, }: { event: React.MouseEvent; - id: string; + ids: string[]; }) => { event.stopPropagation(); - if (!activeProject) { - toast.error("No active project"); - return; - } - - await editor.media.removeMediaAsset({ + invokeAction("remove-media-assets", { projectId: activeProject.metadata.id, - id, + assetIds: ids, }); }; @@ -172,6 +179,9 @@ export function MediaView() { return filtered; }, [mediaFiles, mediaSortBy, mediaSortOrder]); + const orderedMediaIds = useMemo(() => { + return filteredMediaItems.map((item) => item.id); + }, [filteredMediaItems]); return ( <> @@ -191,6 +201,7 @@ export function MediaView() { /> } className={cn(isDragOver && "bg-accent/30")} + contentClassName="h-full" {...dragProps} > {isDragOver || filteredMediaItems.length === 0 ? ( @@ -201,29 +212,38 @@ export function MediaView() { onClick={openFilePicker} /> ) : ( - <MediaItemList - items={filteredMediaItems} - mode={mediaViewMode} - onRemove={handleRemove} - highlightedId={highlightedId} - registerElement={registerElement} - /> + <SelectableSurface + ariaLabel="Assets" + orderedIds={orderedMediaIds} + revealId={highlightMediaId} + onRevealComplete={clearHighlight} + > + <MediaScopeRegistrar /> + <MediaItemList + items={filteredMediaItems} + mode={mediaViewMode} + onRemove={handleRemove} + /> + </SelectableSurface> )} </PanelView> </> ); } +function MediaScopeRegistrar() { + useSelectionScope(); + return null; +} + function MediaAssetDraggable({ item, preview, - isHighlighted, variant, isRounded, }: { item: MediaAsset; preview: React.ReactNode; - isHighlighted: boolean; variant: "card" | "compact"; isRounded?: boolean; }) { @@ -261,7 +281,7 @@ function MediaAssetDraggable({ mediaType: item.type, name: item.name, ...(item.type !== "audio" && { - targetElementTypes: ["video", "image"] as const, + targetElementTypes: [...MASKABLE_ELEMENT_TYPES], }), }} shouldShowPlusOnDrag={false} @@ -270,7 +290,6 @@ function MediaAssetDraggable({ } variant={variant} isRounded={isRounded} - isHighlighted={isHighlighted} /> ); } @@ -282,18 +301,31 @@ function MediaItemWithContextMenu({ }: { item: MediaAsset; children: React.ReactNode; - onRemove: ({ event, id }: { event: React.MouseEvent; id: string }) => void; + onRemove: ({ + event, + ids, + }: { + event: React.MouseEvent; + ids: string[]; + }) => void; }) { + const { isSelected, selectedIds } = useSelection(); + const idsToDelete = isSelected(item.id) ? selectedIds : [item.id]; + const deleteLabel = + idsToDelete.length > 1 ? `Delete ${idsToDelete.length} items` : "Delete"; + return ( <ContextMenu> - <ContextMenuTrigger>{children}</ContextMenuTrigger> + <ContextMenuTrigger asChild>{children}</ContextMenuTrigger> <ContextMenuContent> <ContextMenuItem>Export clips</ContextMenuItem> <ContextMenuItem variant="destructive" - onClick={(event) => onRemove({ event, id: item.id })} + onClick={(event: React.MouseEvent<HTMLDivElement>) => + onRemove({ event, ids: idsToDelete }) + } > - Delete + {deleteLabel} </ContextMenuItem> </ContextMenuContent> </ContextMenu> @@ -304,27 +336,29 @@ function MediaItemList({ items, mode, onRemove, - highlightedId, - registerElement, }: { items: MediaAsset[]; mode: MediaViewMode; - onRemove: ({ event, id }: { event: React.MouseEvent; id: string }) => void; - highlightedId: string | null; - registerElement: (id: string, element: HTMLElement | null) => void; + onRemove: ({ + event, + ids, + }: { + event: React.MouseEvent; + ids: string[]; + }) => void; }) { const isGrid = mode === "grid"; return ( <div - className={cn(isGrid ? "grid gap-4" : "flex flex-col gap-1")} + className={cn(isGrid ? "grid gap-4" : "flex flex-col gap-1.5")} style={ isGrid ? { gridTemplateColumns: "repeat(auto-fill, 7rem)" } : undefined } > {items.map((item) => ( - <div key={item.id} ref={(element) => registerElement(item.id, element)}> - <MediaItemWithContextMenu item={item} onRemove={onRemove}> + <MediaItemWithContextMenu item={item} onRemove={onRemove} key={item.id}> + <SelectableItem className={cn(!isGrid && "w-full")} id={item.id}> <MediaAssetDraggable item={item} preview={ @@ -335,16 +369,15 @@ function MediaItemList({ } variant={isGrid ? "card" : "compact"} isRounded={isGrid ? false : undefined} - isHighlighted={highlightedId === item.id} /> - </MediaItemWithContextMenu> - </div> + </SelectableItem> + </MediaItemWithContextMenu> ))} </div> ); } -export function formatDuration({ duration }: { duration: number }) { +function formatDuration({ duration }: { duration: number }) { const min = Math.floor(duration / 60); const sec = Math.floor(duration % 60); return `${min}:${sec.toString().padStart(2, "0")}`; @@ -406,7 +439,7 @@ function MediaPreview({ if (item.type === "image") { return ( - <div className="relative flex size-full items-center justify-center"> + <div className="relative flex size-full items-center justify-center bg-muted"> <Image src={item.url ?? ""} alt={item.name} diff --git a/apps/web/src/components/editor/panels/assets/views/base-view.tsx b/apps/web/src/components/editor/panels/assets/views/base-panel.tsx index c613bc2a..0ece9b19 100644 --- a/apps/web/src/components/editor/panels/assets/views/base-view.tsx +++ b/apps/web/src/components/editor/panels/assets/views/base-panel.tsx @@ -5,6 +5,7 @@ interface PanelViewProps extends React.HTMLAttributes<HTMLDivElement> { actions?: React.ReactNode; children: React.ReactNode; contentClassName?: string; + scrollClassName?: string; hideHeader?: boolean; ref?: React.Ref<HTMLDivElement>; onScroll?: React.UIEventHandler<HTMLDivElement>; @@ -17,6 +18,7 @@ export function PanelView({ children, className, contentClassName, + scrollClassName, hideHeader = false, ref, onScroll, @@ -30,15 +32,18 @@ export function PanelView({ {...rest} > {!hideHeader && ( - <div className="bg-background h-11 shrink-0 px-4 pr-2 flex items-center justify-between border-b"> - <span className="text-muted-foreground text-sm">{title}</span> + <div className="bg-background h-11 shrink-0 pl-3 pr-2 flex items-center justify-between border-b"> + {title && ( + <span className="text-muted-foreground text-sm">{title}</span> + )} {actions} </div> )} <div className={cn( - "scrollbar-thin size-full overflow-y-auto", + "scrollbar-hidden size-full overflow-y-auto", hideHeader ? "pt-4" : "pt-2", + scrollClassName, )} ref={scrollRef} onScroll={onScroll} diff --git a/apps/web/src/components/editor/panels/assets/views/captions.tsx b/apps/web/src/components/editor/panels/assets/views/captions.tsx index a73fd693..023e1578 100644 --- a/apps/web/src/components/editor/panels/assets/views/captions.tsx +++ b/apps/web/src/components/editor/panels/assets/views/captions.tsx @@ -1,5 +1,5 @@ import { Button } from "@/components/ui/button"; -import { PanelView } from "@/components/editor/panels/assets/views/base-view"; +import { PanelView } from "@/components/editor/panels/assets/views/base-panel"; import { Select, SelectContent, @@ -10,7 +10,6 @@ import { import { useState, useRef } from "react"; import { extractTimelineAudio } from "@/lib/media/mediabunny"; import { useEditor } from "@/hooks/use-editor"; -import { DEFAULT_TEXT_ELEMENT } from "@/constants/text-constants"; import { DEFAULT_TRANSCRIPTION_SAMPLE_RATE, TRANSCRIPTION_LANGUAGES, @@ -18,12 +17,23 @@ import { import type { TranscriptionLanguage, TranscriptionProgress, -} from "@/types/transcription"; +} from "@/lib/transcription/types"; import { transcriptionService } from "@/services/transcription/service"; import { decodeAudioToFloat32 } from "@/lib/media/audio"; import { buildCaptionChunks } from "@/lib/transcription/caption"; import { Spinner } from "@/components/ui/spinner"; -import { Label } from "@/components/ui/label"; +import { + Section, + SectionContent, + SectionField, + SectionFields, +} from "@/components/section"; +import { DEFAULTS } from "@/lib/timeline/defaults"; +import { + AddTrackCommand, + BatchCommand, + InsertElementCommand, +} from "@/lib/commands"; export function Captions() { const [selectedLanguage, setSelectedLanguage] = @@ -69,26 +79,29 @@ export function Captions() { setProcessingStep("Generating captions..."); const captionChunks = buildCaptionChunks({ segments: result.segments }); - const captionTrackId = editor.timeline.addTrack({ - type: "text", - index: 0, - }); + const addTrackCommand = new AddTrackCommand("text", 0); + const insertCommands = captionChunks.map( + (caption, i) => + new InsertElementCommand({ + placement: { + mode: "explicit", + trackId: addTrackCommand.getTrackId(), + }, + element: { + ...DEFAULTS.text.element, + name: `Caption ${i + 1}`, + content: caption.text, + duration: caption.duration, + startTime: caption.startTime, + fontSize: 65, + fontWeight: "bold", + }, + }), + ); - for (let i = 0; i < captionChunks.length; i++) { - const caption = captionChunks[i]; - editor.timeline.insertElement({ - placement: { mode: "explicit", trackId: captionTrackId }, - element: { - ...DEFAULT_TEXT_ELEMENT, - name: `Caption ${i + 1}`, - content: caption.text, - duration: caption.duration, - startTime: caption.startTime, - fontSize: 65, - fontWeight: "bold", - }, - }); - } + editor.command.execute({ + command: new BatchCommand([addTrackCommand, ...insertCommands]), + }); } catch (error) { console.error("Transcription failed:", error); setError( @@ -114,43 +127,53 @@ export function Captions() { }; return ( - <PanelView title="Captions" ref={containerRef}> - <div className="flex flex-col gap-3"> - <Label>Language</Label> - <Select - value={selectedLanguage} - onValueChange={(value) => handleLanguageChange({ value })} - > - <SelectTrigger> - <SelectValue placeholder="Select a language" /> - </SelectTrigger> - <SelectContent> - <SelectItem value="auto">Auto detect</SelectItem> - {TRANSCRIPTION_LANGUAGES.map((language) => ( - <SelectItem key={language.code} value={language.code}> - {language.name} - </SelectItem> - ))} - </SelectContent> - </Select> - </div> - - <div className="flex flex-col gap-4"> - {error && ( - <div className="bg-destructive/10 border-destructive/20 rounded-md border p-3"> - <p className="text-destructive text-sm">{error}</p> - </div> - )} + <PanelView + title="Captions" + contentClassName="px-0 flex flex-col h-full" + ref={containerRef} + > + <Section showTopBorder={false} showBottomBorder={false} className="flex-1"> + <SectionContent className="flex flex-col gap-4 h-full pt-1"> + <SectionFields> + <SectionField label="Language"> + <Select + value={selectedLanguage} + onValueChange={(value) => handleLanguageChange({ value })} + > + <SelectTrigger> + <SelectValue placeholder="Select a language" /> + </SelectTrigger> + <SelectContent> + <SelectItem value="auto">Auto detect</SelectItem> + {TRANSCRIPTION_LANGUAGES.map((language) => ( + <SelectItem key={language.code} value={language.code}> + {language.name} + </SelectItem> + ))} + </SelectContent> + </Select> + </SectionField> + </SectionFields> - <Button - className="w-full" - onClick={handleGenerateTranscript} - disabled={isProcessing} - > - {isProcessing && <Spinner className="mr-1" />} - {isProcessing ? processingStep : "Generate transcript"} - </Button> - </div> + {error && ( + <div className="bg-destructive/10 border-destructive/20 rounded-md border p-3"> + <p className="text-destructive text-sm">{error}</p> + </div> + )} + </SectionContent> + </Section> + <Section showBottomBorder={false} showTopBorder={false}> + <SectionContent> + <Button + className="w-full" + onClick={handleGenerateTranscript} + disabled={isProcessing} + > + {isProcessing && <Spinner className="mr-1" />} + {isProcessing ? processingStep : "Generate transcript"} + </Button> + </SectionContent> + </Section> </PanelView> ); } diff --git a/apps/web/src/components/editor/panels/assets/views/effects.tsx b/apps/web/src/components/editor/panels/assets/views/effects.tsx index c9b8b2dd..74128df6 100644 --- a/apps/web/src/components/editor/panels/assets/views/effects.tsx +++ b/apps/web/src/components/editor/panels/assets/views/effects.tsx @@ -1,19 +1,16 @@ "use client"; import { useEffect, useRef, useCallback } from "react"; -import { PanelView } from "@/components/editor/panels/assets/views/base-view"; +import { PanelView } from "@/components/editor/panels/assets/views/base-panel"; import { DraggableItem } from "@/components/editor/panels/assets/draggable-item"; -import { getAllEffects, EFFECT_TARGET_ELEMENT_TYPES } from "@/lib/effects"; -import { - effectPreviewService, - onPreviewImageReady, -} from "@/services/renderer/effect-preview"; +import { effectsRegistry, EFFECT_TARGET_ELEMENT_TYPES } from "@/lib/effects"; +import { effectPreviewService } from "@/services/renderer/effect-preview"; import { useEditor } from "@/hooks/use-editor"; import { buildEffectElement } from "@/lib/timeline/element-utils"; -import type { EffectDefinition } from "@/types/effects"; +import type { EffectDefinition } from "@/lib/effects/types"; export function EffectsView() { - const effects = getAllEffects(); + const effects = effectsRegistry.getAll(); return ( <PanelView title="Effects"> @@ -50,7 +47,7 @@ function EffectPreviewCanvas({ effectType }: { effectType: string }) { }; render(); - return onPreviewImageReady({ callback: render }); + return effectPreviewService.onPreviewImageReady({ callback: render }); }, [effectType]); return <canvas ref={canvasRef} className="size-full" />; diff --git a/apps/web/src/components/editor/panels/assets/views/settings-legacy.tsx b/apps/web/src/components/editor/panels/assets/views/settings-legacy.tsx deleted file mode 100644 index 457c08a9..00000000 --- a/apps/web/src/components/editor/panels/assets/views/settings-legacy.tsx +++ /dev/null @@ -1,332 +0,0 @@ -// @ts-nocheck - -"use client"; - -import Image from "next/image"; -import { memo, useCallback, useMemo } from "react"; -import { PanelView } from "@/components/editor/panels/assets/views/base-view"; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select"; -import { - BLUR_INTENSITY_PRESETS, - DEFAULT_BLUR_INTENSITY, - DEFAULT_COLOR, - FPS_PRESETS, -} from "@/constants/project-constants"; -import { patternCraftGradients } from "@/data/colors/pattern-craft"; -import { colors } from "@/data/colors/solid"; -import { syntaxUIGradients } from "@/data/colors/syntax-ui"; -import { useEditor } from "@/hooks/use-editor"; -import { useEditorStore } from "@/stores/editor-store"; -import { dimensionToAspectRatio } from "@/utils/geometry"; -import { cn } from "@/utils/ui"; -import { - PropertyGroup, - PropertyItem, - PropertyItemLabel, - PropertyItemValue, -} from "@/components/editor/panels/properties/section"; - -export function SettingsView() { - return ( - <PanelView title="Project settings" contentClassName="px-0"> - <div className="flex flex-col gap-8"> - <ProjectInfoView /> - <BackgroundView /> - </div> - </PanelView> - ); -} - -function ProjectInfoView() { - const editor = useEditor(); - const activeProject = editor.project.getActive(); - const { canvasPresets } = useEditorStore(); - - const findPresetIndexByAspectRatio = ({ - presets, - targetAspectRatio, - }: { - presets: Array<{ width: number; height: number }>; - targetAspectRatio: string; - }) => { - for (let index = 0; index < presets.length; index++) { - const preset = presets[index]; - const presetAspectRatio = dimensionToAspectRatio({ - width: preset.width, - height: preset.height, - }); - if (presetAspectRatio === targetAspectRatio) { - return index; - } - } - return -1; - }; - - const currentCanvasSize = activeProject.settings.canvasSize; - const currentAspectRatio = dimensionToAspectRatio(currentCanvasSize); - const originalCanvasSize = activeProject.settings.originalCanvasSize ?? null; - const presetIndex = findPresetIndexByAspectRatio({ - presets: canvasPresets, - targetAspectRatio: currentAspectRatio, - }); - const originalPresetValue = "original"; - const selectedPresetValue = - presetIndex !== -1 ? presetIndex.toString() : originalPresetValue; - - const handleAspectRatioChange = ({ value }: { value: string }) => { - if (value === originalPresetValue) { - const canvasSize = originalCanvasSize ?? currentCanvasSize; - editor.project.updateSettings({ - settings: { canvasSize }, - }); - return; - } - const index = parseInt(value, 10); - const preset = canvasPresets[index]; - if (preset) { - editor.project.updateSettings({ settings: { canvasSize: preset } }); - } - }; - - const handleFpsChange = (value: string) => { - const fps = parseFloat(value); - editor.project.updateSettings({ settings: { fps } }); - }; - - return ( - <div className="flex flex-col gap-4"> - <PropertyItem direction="column"> - <PropertyItemLabel>Name</PropertyItemLabel> - <PropertyItemValue>{activeProject.metadata.name}</PropertyItemValue> - </PropertyItem> - - <PropertyItem direction="column"> - <PropertyItemLabel>Aspect ratio</PropertyItemLabel> - <PropertyItemValue> - <Select - value={selectedPresetValue} - onValueChange={(value) => handleAspectRatioChange({ value })} - > - <SelectTrigger> - <SelectValue placeholder="Select an aspect ratio" /> - </SelectTrigger> - <SelectContent> - <SelectItem value={originalPresetValue}>Original</SelectItem> - {canvasPresets.map((preset, index) => { - const label = dimensionToAspectRatio({ - width: preset.width, - height: preset.height, - }); - return ( - <SelectItem key={label} value={index.toString()}> - {label} - </SelectItem> - ); - })} - </SelectContent> - </Select> - </PropertyItemValue> - </PropertyItem> - - <PropertyItem direction="column"> - <PropertyItemLabel>Frame rate</PropertyItemLabel> - <PropertyItemValue> - <Select - value={activeProject.settings.fps.toString()} - onValueChange={handleFpsChange} - > - <SelectTrigger> - <SelectValue placeholder="Select a frame rate" /> - </SelectTrigger> - <SelectContent> - {FPS_PRESETS.map((preset) => ( - <SelectItem key={preset.value} value={preset.value}> - {preset.label} - </SelectItem> - ))} - </SelectContent> - </Select> - </PropertyItemValue> - </PropertyItem> - </div> - ); -} - -const BlurPreview = memo( - ({ - blur, - isSelected, - onSelect, - }: { - blur: { label: string; value: number }; - isSelected: boolean; - onSelect: () => void; - }) => ( - <button - className={cn( - "border-foreground/15 hover:border-primary relative aspect-square size-20 cursor-pointer overflow-hidden rounded-sm border", - isSelected && "border-primary border-2", - )} - onClick={onSelect} - type="button" - aria-label={`Select ${blur.label} blur`} - > - <Image - src="https://images.unsplash.com/photo-1501785888041-af3ef285b470?q=80&w=1470&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" - alt={`Blur preview ${blur.label}`} - fill - className="object-cover" - style={{ filter: `blur(${blur.value}px)` }} - loading="eager" - /> - <div className="absolute right-1 bottom-1 left-1 text-center"> - <span className="rounded bg-black/50 px-1 text-xs text-white"> - {blur.label} - </span> - </div> - </button> - ), -); - -BlurPreview.displayName = "BlurPreview"; - -const BackgroundPreviews = memo( - ({ - backgrounds, - currentBackgroundColor, - isColorBackground, - handleColorSelect, - useBackgroundColor = false, - }: { - backgrounds: string[]; - currentBackgroundColor: string; - isColorBackground: boolean; - handleColorSelect: ({ bg }: { bg: string }) => void; - useBackgroundColor?: boolean; - }) => { - return useMemo( - () => - backgrounds.map((bg, index) => ( - <button - key={`${index}-${bg}`} - className={cn( - "border-foreground/15 hover:border-primary aspect-square size-20 cursor-pointer rounded-sm border", - isColorBackground && - bg === currentBackgroundColor && - "border-primary border-2", - )} - style={ - useBackgroundColor - ? { backgroundColor: bg } - : { - background: bg, - backgroundSize: "cover", - backgroundPosition: "center", - backgroundRepeat: "no-repeat", - } - } - onClick={() => handleColorSelect({ bg })} - type="button" - aria-label={`Select background ${useBackgroundColor ? bg : index + 1}`} - /> - )), - [ - backgrounds, - isColorBackground, - currentBackgroundColor, - handleColorSelect, - useBackgroundColor, - ], - ); - }, -); - -BackgroundPreviews.displayName = "BackgroundPreviews"; - -function BackgroundView() { - const editor = useEditor(); - const activeProject = editor.project.getActive(); - const blurLevels = useMemo(() => BLUR_INTENSITY_PRESETS, []); - - const handleBlurSelect = useCallback( - async ({ blurIntensity }: { blurIntensity: number }) => { - await editor.project.updateSettings({ - settings: { background: { type: "blur", blurIntensity } }, - }); - }, - [editor.project], - ); - - const handleColorSelect = useCallback( - async ({ color }: { color: string }) => { - await editor.project.updateSettings({ - settings: { background: { type: "color", color } }, - }); - }, - [editor.project], - ); - - const currentBlurIntensity = - activeProject.settings.background.type === "blur" - ? activeProject.settings.background.blurIntensity - : DEFAULT_BLUR_INTENSITY; - - const currentBackgroundColor = - activeProject.settings.background.type === "color" - ? activeProject.settings.background.color - : DEFAULT_COLOR; - - const isBlurBackground = activeProject.settings.background.type === "blur"; - const isColorBackground = activeProject.settings.background.type === "color"; - - const blurPreviews = useMemo( - () => - blurLevels.map((blur) => ( - <BlurPreview - key={blur.value} - blur={blur} - isSelected={isBlurBackground && currentBlurIntensity === blur.value} - onSelect={() => handleBlurSelect({ blurIntensity: blur.value })} - /> - )), - [blurLevels, isBlurBackground, currentBlurIntensity, handleBlurSelect], - ); - - const backgroundSections = [ - { title: "Colors", backgrounds: colors, useBackgroundColor: true }, - { title: "Pattern craft", backgrounds: patternCraftGradients }, - { title: "Syntax UI", backgrounds: syntaxUIGradients }, - ]; - - return ( - <div className="flex flex-col"> - <PropertyGroup title="Blur" hasBorderTop={false} defaultExpanded={false}> - <div className="flex flex-wrap gap-2">{blurPreviews}</div> - </PropertyGroup> - - {backgroundSections.map((section) => ( - <PropertyGroup - key={section.title} - title={section.title} - defaultExpanded={false} - > - <div className="flex flex-wrap gap-2"> - <BackgroundPreviews - backgrounds={section.backgrounds} - currentBackgroundColor={currentBackgroundColor} - isColorBackground={isColorBackground} - handleColorSelect={({ bg }) => handleColorSelect({ color: bg })} - useBackgroundColor={section.useBackgroundColor} - /> - </div> - </PropertyGroup> - ))} - </div> - ); -} diff --git a/apps/web/src/components/editor/panels/assets/views/settings.tsx b/apps/web/src/components/editor/panels/assets/views/settings.tsx deleted file mode 100644 index d46e9d1f..00000000 --- a/apps/web/src/components/editor/panels/assets/views/settings.tsx +++ /dev/null @@ -1,168 +0,0 @@ -"use client"; - -import { PanelView } from "@/components/editor/panels/assets/views/base-view"; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select"; -import { FPS_PRESETS } from "@/constants/project-constants"; -import { useEditor } from "@/hooks/use-editor"; -import { useEditorStore } from "@/stores/editor-store"; -import { dimensionToAspectRatio } from "@/utils/geometry"; -import { - Section, - SectionContent, - SectionHeader, - SectionTitle, -} from "@/components/editor/panels/properties/section"; -import { Label } from "@/components/ui/label"; -import { - Popover, - PopoverContent, - PopoverTrigger, -} from "@/components/ui/popover"; - -const ORIGINAL_PRESET_VALUE = "original"; - -export function findPresetIndexByAspectRatio({ - presets, - targetAspectRatio, -}: { - presets: Array<{ width: number; height: number }>; - targetAspectRatio: string; -}) { - for (let index = 0; index < presets.length; index++) { - const preset = presets[index]; - const presetAspectRatio = dimensionToAspectRatio({ - width: preset.width, - height: preset.height, - }); - if (presetAspectRatio === targetAspectRatio) { - return index; - } - } - return -1; -} - -export function SettingsView() { - return ( - <PanelView contentClassName="px-0" hideHeader> - <div className="flex flex-col"> - <Section showTopBorder={false}> - <SectionContent> - <ProjectInfoContent /> - </SectionContent> - </Section> - <Popover> - <Section className="cursor-pointer"> - <PopoverTrigger asChild> - <div> - <SectionHeader - trailing={<div className="size-4 rounded-sm bg-red-500" />} - > - <SectionTitle>Background</SectionTitle> - </SectionHeader> - </div> - </PopoverTrigger> - </Section> - <PopoverContent> - <div className="size-4 rounded-sm bg-red-500" /> - </PopoverContent> - </Popover> - </div> - </PanelView> - ); -} - -function ProjectInfoContent() { - const editor = useEditor(); - const activeProject = editor.project.getActive(); - const { canvasPresets } = useEditorStore(); - - const currentCanvasSize = activeProject.settings.canvasSize; - const currentAspectRatio = dimensionToAspectRatio(currentCanvasSize); - const originalCanvasSize = activeProject.settings.originalCanvasSize ?? null; - const presetIndex = findPresetIndexByAspectRatio({ - presets: canvasPresets, - targetAspectRatio: currentAspectRatio, - }); - const selectedPresetValue = - presetIndex !== -1 ? presetIndex.toString() : ORIGINAL_PRESET_VALUE; - - const handleAspectRatioChange = ({ value }: { value: string }) => { - if (value === ORIGINAL_PRESET_VALUE) { - const canvasSize = originalCanvasSize ?? currentCanvasSize; - editor.project.updateSettings({ - settings: { canvasSize }, - }); - return; - } - const index = parseInt(value, 10); - const preset = canvasPresets[index]; - if (preset) { - editor.project.updateSettings({ settings: { canvasSize: preset } }); - } - }; - - const handleFpsChange = ({ value }: { value: string }) => { - const fps = parseFloat(value); - editor.project.updateSettings({ settings: { fps } }); - }; - - return ( - <div className="flex flex-col gap-4"> - <div className="flex flex-col gap-2"> - <Label>Name</Label> - <span className="leading-none text-sm"> - {activeProject.metadata.name} - </span> - </div> - <div className="flex flex-col gap-2"> - <Label>Aspect ratio</Label> - <Select - value={selectedPresetValue} - onValueChange={(value) => handleAspectRatioChange({ value })} - > - <SelectTrigger className="w-fit"> - <SelectValue placeholder="Select an aspect ratio" /> - </SelectTrigger> - <SelectContent> - <SelectItem value={ORIGINAL_PRESET_VALUE}>Original</SelectItem> - {canvasPresets.map((preset, index) => { - const label = dimensionToAspectRatio({ - width: preset.width, - height: preset.height, - }); - return ( - <SelectItem key={label} value={index.toString()}> - {label} - </SelectItem> - ); - })} - </SelectContent> - </Select> - </div> - <div className="flex flex-col gap-2"> - <Label>Frame rate</Label> - <Select - value={activeProject.settings.fps.toString()} - onValueChange={(value) => handleFpsChange({ value })} - > - <SelectTrigger className="w-fit"> - <SelectValue placeholder="Select a frame rate" /> - </SelectTrigger> - <SelectContent> - {FPS_PRESETS.map((preset) => ( - <SelectItem key={preset.value} value={preset.value}> - {preset.label} - </SelectItem> - ))} - </SelectContent> - </Select> - </div> - </div> - ); -} diff --git a/apps/web/src/components/editor/panels/assets/views/settings/background.tsx b/apps/web/src/components/editor/panels/assets/views/settings/background.tsx new file mode 100644 index 00000000..b3ef1eb1 --- /dev/null +++ b/apps/web/src/components/editor/panels/assets/views/settings/background.tsx @@ -0,0 +1,227 @@ +"use client"; + +import { memo, useCallback, useEffect, useMemo, useRef } from "react"; +import { + Section, + SectionContent, + SectionHeader, + SectionTitle, +} from "@/components/section"; +import { + BLUR_INTENSITY_PRESETS, + DEFAULT_BLUR_INTENSITY, + DEFAULT_COLOR, +} from "@/constants/project-constants"; +import { patternCraftGradients } from "@/data/colors/pattern-craft"; +import { colors } from "@/data/colors/solid"; +import { syntaxUIGradients } from "@/data/colors/syntax-ui"; +import { useEditor } from "@/hooks/use-editor"; +import { effectPreviewService } from "@/services/renderer/effect-preview"; +import type { TCanvasSize } from "@/lib/project/types"; +import { cn } from "@/utils/ui"; + +const BlurPreview = memo( + ({ + blur, + canvasSize, + isSelected, + onSelect, + }: { + blur: { label: string; value: number }; + canvasSize: TCanvasSize; + isSelected: boolean; + onSelect: () => void; + }) => { + const canvasRef = useRef<HTMLCanvasElement>(null); + const { width, height } = canvasSize; + + useEffect(() => { + const renderPreview = () => { + if (!canvasRef.current) return; + + effectPreviewService.renderPreview({ + effectType: "blur", + params: { intensity: blur.value }, + targetCanvas: canvasRef.current, + uniformDimensions: { width, height }, + }); + }; + + renderPreview(); + return effectPreviewService.onPreviewImageReady({ callback: renderPreview }); + }, [blur.value, width, height]); + + return ( + <button + className={cn( + "border-foreground/15 hover:border-primary relative aspect-square size-20 cursor-pointer overflow-hidden rounded-sm border", + isSelected && "border-primary border-2", + )} + onClick={onSelect} + type="button" + aria-label={`Select ${blur.label} blur`} + > + <canvas + ref={canvasRef} + className="absolute inset-0 h-full w-full object-cover" + /> + <div className="absolute right-1 bottom-1 left-1 text-center"> + <span className="rounded bg-black/50 px-1 text-xs text-white"> + {blur.label} + </span> + </div> + </button> + ); + }, +); + +BlurPreview.displayName = "BlurPreview"; + +const BackgroundPreviews = memo( + ({ + backgrounds, + currentBackgroundColor, + isColorBackground, + onSelect, + useBackgroundColor = false, + }: { + backgrounds: string[]; + currentBackgroundColor: string; + isColorBackground: boolean; + onSelect: (bg: string) => void; + useBackgroundColor?: boolean; + }) => { + return useMemo( + () => + backgrounds.map((bg) => ( + <button + key={bg} + className={cn( + "border-foreground/15 hover:border-primary aspect-square size-20 cursor-pointer rounded-sm border", + isColorBackground && + bg === currentBackgroundColor && + "border-primary border-2", + )} + style={ + useBackgroundColor + ? { backgroundColor: bg } + : { + background: bg, + backgroundSize: "cover", + backgroundPosition: "center", + backgroundRepeat: "no-repeat", + } + } + onClick={() => onSelect(bg)} + type="button" + aria-label={`Select background ${bg}`} + /> + )), + [ + backgrounds, + isColorBackground, + currentBackgroundColor, + onSelect, + useBackgroundColor, + ], + ); + }, +); + +BackgroundPreviews.displayName = "BackgroundPreviews"; + +const COLOR_SECTIONS = [ + { title: "Colors", backgrounds: colors, useBackgroundColor: true }, + { title: "Pattern craft", backgrounds: patternCraftGradients }, + { title: "Syntax UI", backgrounds: syntaxUIGradients }, +] as const; + +export function BackgroundContent() { + const editor = useEditor(); + const activeProject = useEditor((e) => e.project.getActive()); + + const handleBlurSelect = useCallback( + async (blurIntensity: number) => { + await editor.project.updateSettings({ + settings: { background: { type: "blur", blurIntensity } }, + }); + }, + [editor.project], + ); + + const handleColorSelect = useCallback( + async (color: string) => { + await editor.project.updateSettings({ + settings: { background: { type: "color", color } }, + }); + }, + [editor.project], + ); + + const isBlurBackground = activeProject.settings.background.type === "blur"; + const isColorBackground = activeProject.settings.background.type === "color"; + + const currentBlurIntensity = isBlurBackground + ? (activeProject.settings.background as { blurIntensity: number }) + .blurIntensity + : DEFAULT_BLUR_INTENSITY; + + const currentBackgroundColor = isColorBackground + ? (activeProject.settings.background as { color: string }).color + : DEFAULT_COLOR; + const canvasSize = activeProject.settings.canvasSize; + + const blurPreviews = useMemo( + () => + BLUR_INTENSITY_PRESETS.map((blur) => ( + <BlurPreview + key={blur.value} + blur={blur} + canvasSize={canvasSize} + isSelected={isBlurBackground && currentBlurIntensity === blur.value} + onSelect={() => handleBlurSelect(blur.value)} + /> + )), + [canvasSize, isBlurBackground, currentBlurIntensity, handleBlurSelect], + ); + + return ( + <div className="flex flex-col"> + <Section collapsible defaultOpen={true} sectionKey="background-blur" showTopBorder={false}> + <SectionHeader> + <SectionTitle>Blur</SectionTitle> + </SectionHeader> + <SectionContent> + <div className="flex flex-wrap gap-2">{blurPreviews}</div> + </SectionContent> + </Section> + {COLOR_SECTIONS.map((section) => ( + <Section + key={section.title} + collapsible + defaultOpen={false} + sectionKey={`settings:background-${section.title.toLowerCase().replace(/\s+/g, "-")}`} + > + <SectionHeader> + <SectionTitle>{section.title}</SectionTitle> + </SectionHeader> + <SectionContent> + <div className="flex flex-wrap gap-2"> + <BackgroundPreviews + backgrounds={section.backgrounds as string[]} + currentBackgroundColor={currentBackgroundColor} + isColorBackground={isColorBackground} + onSelect={handleColorSelect} + useBackgroundColor={ + "useBackgroundColor" in section + ? section.useBackgroundColor + : false + } + /> + </div> + </SectionContent> + </Section> + ))} + </div> + ); +} diff --git a/apps/web/src/components/editor/panels/assets/views/settings/index.tsx b/apps/web/src/components/editor/panels/assets/views/settings/index.tsx new file mode 100644 index 00000000..e0229ea9 --- /dev/null +++ b/apps/web/src/components/editor/panels/assets/views/settings/index.tsx @@ -0,0 +1,369 @@ +"use client"; + +import { useRef, useState } from "react"; +import { PanelView } from "@/components/editor/panels/assets/views/base-panel"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { FPS_PRESETS } from "@/constants/project-constants"; +import { useEditor } from "@/hooks/use-editor"; +import { + Section, + SectionContent, + SectionHeader, + SectionTitle, +} from "@/components/section"; +import { BackgroundContent } from "./background"; +import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"; +import { Button } from "@/components/ui/button"; +import { NumberField } from "@/components/ui/number-field"; +import { useEditorStore } from "@/stores/editor-store"; +import { usePropertyDraft } from "@/components/editor/panels/properties/hooks/use-property-draft"; +import { HugeiconsIcon } from "@hugeicons/react"; +import { Tick02Icon } from "@hugeicons/core-free-icons"; +import { cn } from "@/utils/ui"; +import { dimensionToAspectRatio } from "@/utils/geometry"; +import { formatNumberForDisplay } from "@/utils/math"; +import { OcSquarePlusIcon } from "@opencut/ui/icons"; +import type { TCanvasSize } from "@/lib/project/types"; + +type SettingsView = "project-info" | "background"; + +const PRESET_LABELS: Record<string, string> = { + "1:1": "1:1", + "16:9": "16:9", + "9:16": "9:16", + "4:3": "4:3", +}; + +function areCanvasSizesEqual({ + left, + right, +}: { + left: TCanvasSize; + right: TCanvasSize; +}) { + return left.width === right.width && left.height === right.height; +} + +function formatCanvasDimension({ value }: { value: number }) { + return formatNumberForDisplay({ value, maxFractionDigits: 0 }); +} + +function parseCanvasDimension({ input }: { input: string }): number | null { + const trimmed = input.trim(); + if (!trimmed) return null; + + const parsed = Number(trimmed); + if (!Number.isFinite(parsed)) return null; + + const rounded = Math.round(parsed); + return rounded > 0 ? rounded : null; +} + +function useCanvasDimensionDraft({ + value, + onCommit, +}: { + value: number; + onCommit: (value: number) => void; +}) { + const pendingValueRef = useRef(value); + const syncedValueRef = useRef(value); + + if (syncedValueRef.current !== value) { + syncedValueRef.current = value; + pendingValueRef.current = value; + } + + return usePropertyDraft({ + displayValue: formatCanvasDimension({ value }), + parse: (input) => parseCanvasDimension({ input }), + onPreview: (nextValue) => { + pendingValueRef.current = nextValue; + }, + onCommit: () => { + if (pendingValueRef.current !== value) { + onCommit(pendingValueRef.current); + } + }, + }); +} + +export function SettingsView() { + const [view, setView] = useState<SettingsView>("project-info"); + const editor = useEditor(); + const activeProject = useEditor((e) => e.project.getActive()); + const { canvasPresets } = useEditorStore(); + const currentCanvasSize = activeProject.settings.canvasSize; + const canvasSizeMode = activeProject.settings.canvasSizeMode ?? "preset"; + const lastCustomCanvasSize = + activeProject.settings.lastCustomCanvasSize ?? null; + + const presetItems = canvasPresets.map((preset, index) => { + const ratio = dimensionToAspectRatio(preset); + return { + id: index.toString(), + label: PRESET_LABELS[ratio] ?? ratio, + ratio, + canvasSize: preset, + }; + }); + + const selectedPresetId = canvasSizeMode === "preset" + ? (presetItems.find((preset) => + areCanvasSizesEqual({ + left: preset.canvasSize, + right: currentCanvasSize, + }), + )?.id ?? null) + : null; + + const updateCustomCanvasSize = ({ + canvasSize, + }: { + canvasSize: TCanvasSize; + }) => { + const shouldUpdateCanvasSize = !areCanvasSizesEqual({ + left: canvasSize, + right: currentCanvasSize, + }); + const shouldUpdateLastCustomCanvasSize = + lastCustomCanvasSize === null || + !areCanvasSizesEqual({ + left: canvasSize, + right: lastCustomCanvasSize, + }); + const shouldUpdateCanvasSizeMode = canvasSizeMode !== "custom"; + + if ( + !shouldUpdateCanvasSize && + !shouldUpdateLastCustomCanvasSize && + !shouldUpdateCanvasSizeMode + ) { + return; + } + + editor.project.updateSettings({ + settings: { + ...(shouldUpdateCanvasSize ? { canvasSize } : {}), + ...(shouldUpdateCanvasSizeMode + ? { canvasSizeMode: "custom" as const } + : {}), + lastCustomCanvasSize: canvasSize, + }, + }); + }; + + const selectPresetCanvasSize = ({ + canvasSize, + }: { + canvasSize: TCanvasSize; + }) => { + const shouldUpdateCanvasSize = !areCanvasSizesEqual({ + left: canvasSize, + right: currentCanvasSize, + }); + const shouldUpdateCanvasSizeMode = canvasSizeMode !== "preset"; + + if (!shouldUpdateCanvasSize && !shouldUpdateCanvasSizeMode) return; + + editor.project.updateSettings({ + settings: { + ...(shouldUpdateCanvasSize ? { canvasSize } : {}), + ...(shouldUpdateCanvasSizeMode + ? { canvasSizeMode: "preset" as const } + : {}), + }, + }); + }; + + const selectCustomCanvasSize = () => { + updateCustomCanvasSize({ + canvasSize: lastCustomCanvasSize ?? currentCanvasSize, + }); + }; + + const widthDraft = useCanvasDimensionDraft({ + value: currentCanvasSize.width, + onCommit: (width) => + updateCustomCanvasSize({ + canvasSize: { width, height: currentCanvasSize.height }, + }), + }); + + const heightDraft = useCanvasDimensionDraft({ + value: currentCanvasSize.height, + onCommit: (height) => + updateCustomCanvasSize({ + canvasSize: { width: currentCanvasSize.width, height }, + }), + }); + + const isCustomSelected = canvasSizeMode === "custom"; + + return ( + <PanelView + contentClassName="px-0" + scrollClassName="pt-0" + actions={ + <Tabs value={view} onValueChange={(v) => setView(v as SettingsView)}> + <TabsList> + <TabsTrigger value="project-info">Project info</TabsTrigger> + <TabsTrigger value="background">Background</TabsTrigger> + </TabsList> + </Tabs> + } + > + {view === "project-info" && ( + <div className="flex flex-col"> + <Section showTopBorder={false}> + <SectionHeader> + <SectionTitle className="flex-1">Name</SectionTitle> + <span className="text-sm truncate"> + {activeProject.metadata.name} + </span> + </SectionHeader> + </Section> + <Section showTopBorder={false}> + <SectionHeader className="justify-between"> + <SectionTitle className="flex-1">Frame rate</SectionTitle> + <Select + value={activeProject.settings.fps.toString()} + onValueChange={(value) => { + const fps = parseFloat(value); + editor.project.updateSettings({ settings: { fps } }); + }} + > + <SelectTrigger className="bg-transparent border-none p-1 h-auto"> + <SelectValue placeholder="Select a frame rate" /> + </SelectTrigger> + <SelectContent> + {FPS_PRESETS.map((preset) => ( + <SelectItem key={preset.value} value={preset.value}> + {preset.label} + </SelectItem> + ))} + </SelectContent> + </Select> + </SectionHeader> + </Section> + <Section + showTopBorder={false} + collapsible + sectionKey="settings:aspect-ratio" + > + <SectionHeader> + <SectionTitle className="flex-1">Aspect ratio</SectionTitle> + </SectionHeader> + <SectionContent className="px-2 flex flex-col gap-1 pb-2"> + {presetItems.map((preset) => ( + <AspectRatioItem + key={preset.id} + label={preset.label} + previewIcon={<AspectRatioPreview ratio={preset.ratio} />} + isSelected={selectedPresetId === preset.id} + onClick={() => { + selectPresetCanvasSize({ + canvasSize: preset.canvasSize, + }); + }} + /> + ))} + <div className="pb-2"> + <AspectRatioItem + key="custom" + label="Custom" + previewIcon={<OcSquarePlusIcon />} + isSelected={isCustomSelected} + onClick={selectCustomCanvasSize} + uiOptions={ + <div className=" flex items-center gap-2 text-foreground"> + <NumberField + value={widthDraft.displayValue} + className="w-full" + aria-label="Canvas width" + onFocus={widthDraft.onFocus} + onChange={widthDraft.onChange} + onBlur={widthDraft.onBlur} + /> + <NumberField + value={heightDraft.displayValue} + className="w-full" + aria-label="Canvas height" + onFocus={heightDraft.onFocus} + onChange={heightDraft.onChange} + onBlur={heightDraft.onBlur} + /> + </div> + } + /> + </div> + </SectionContent> + </Section> + </div> + )} + {view === "background" && <BackgroundContent />} + </PanelView> + ); +} + +function AspectRatioItem({ + label, + previewIcon, + isSelected, + onClick, + uiOptions, +}: { + label: string; + previewIcon: React.ReactNode; + isSelected: boolean; + onClick: () => void; + uiOptions?: React.ReactNode; +}) { + return ( + <Button + variant={isSelected ? "secondary" : "ghost"} + className={cn( + "px-2 py-0 flex flex-col h-fit w-full", + !isSelected && "border border-transparent opacity-75!", + )} + onClick={onClick} + > + <div className="w-full flex justify-between items-center h-8"> + <div className="flex-1 flex items-center gap-2"> + <div className="flex items-center justify-center size-5"> + {previewIcon} + </div> + <span className="text-sm truncate">{label}</span> + </div> + <div> + {isSelected && <HugeiconsIcon icon={Tick02Icon} className="size-4" />} + </div> + </div> + {uiOptions && isSelected && ( + <div className="w-full pb-2">{uiOptions}</div> + )} + </Button> + ); +} + +function AspectRatioPreview({ ratio }: { ratio?: string }) { + if (!ratio) return null; + + const [w, h] = ratio.split(":").map(Number); + const maxSize = 16; + const width = w >= h ? maxSize : (w / h) * maxSize; + const height = h >= w ? maxSize : (h / w) * maxSize; + + return ( + <div + style={{ width, height, borderWidth: 1.5 }} + className="rounded-xs border-current opacity-60" + /> + ); +} diff --git a/apps/web/src/components/editor/panels/assets/views/sounds.tsx b/apps/web/src/components/editor/panels/assets/views/sounds.tsx index b1c57c3d..4fb43ac2 100644 --- a/apps/web/src/components/editor/panels/assets/views/sounds.tsx +++ b/apps/web/src/components/editor/panels/assets/views/sounds.tsx @@ -24,7 +24,7 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { useInfiniteScroll } from "@/hooks/use-infinite-scroll"; import { useSoundSearch } from "@/hooks/use-sound-search"; import { useSoundsStore } from "@/stores/sounds-store"; -import type { SavedSound, SoundEffect } from "@/types/sounds"; +import type { SavedSound, SoundEffect } from "@/lib/sounds/types"; import { cn } from "@/utils/ui"; import { FavouriteIcon, diff --git a/apps/web/src/components/editor/panels/assets/views/stickers.tsx b/apps/web/src/components/editor/panels/assets/views/stickers.tsx index 671effec..af489630 100644 --- a/apps/web/src/components/editor/panels/assets/views/stickers.tsx +++ b/apps/web/src/components/editor/panels/assets/views/stickers.tsx @@ -2,81 +2,110 @@ import Image from "next/image"; import type { CSSProperties } from "react"; -import { useEffect, useMemo, useState } from "react"; +import { useEffect, useState } from "react"; import { toast } from "sonner"; -import { PanelView } from "@/components/editor/panels/assets/views/base-view"; import { DraggableItem } from "@/components/editor/panels/assets/draggable-item"; import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { Spinner } from "@/components/ui/spinner"; +import { useEditor } from "@/hooks/use-editor"; +import { resolveStickerIntrinsicSize } from "@/lib/stickers"; import { - Tooltip, - TooltipContent, - TooltipProvider, - TooltipTrigger, -} from "@/components/ui/tooltip"; -import { - resolveStickerId, - type StickerItem as StickerData, + buildGraphicElement, + buildStickerElement, +} from "@/lib/timeline/element-utils"; +import { STICKER_CATEGORIES } from "@/constants/sticker-constants"; +import { getRegionLabel, resolveQueryToRegions } from "@/lib/stickers"; +import { parseShapeStickerId } from "@/lib/stickers/providers/shapes"; +import type { TimelineDragData } from "@/lib/timeline/drag"; +import type { + StickerBrowseSection, + StickerCategory, + StickerItem as StickerData, } from "@/lib/stickers"; import { useStickersStore } from "@/stores/stickers-store"; import { cn } from "@/utils/ui"; import { HappyIcon, - ClockIcon, - MultiplicationSignIcon, - Search01Icon, } from "@hugeicons/core-free-icons"; import { HugeiconsIcon } from "@hugeicons/react"; -import { Spinner } from "@/components/ui/spinner"; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select"; -import { OcSlidersVerticalIcon } from "@opencut/ui/icons"; -import type { StickerCategory } from "@/types/stickers"; -import { STICKER_CATEGORIES } from "@/constants/sticker-constants"; -import { parseStickerId } from "@/lib/stickers/sticker-id"; export function StickersView() { - const { selectedCategory, setSelectedCategory } = useStickersStore(); + const { + browseContent, + browseStickers, + searchQuery, + searchStickers, + selectedCategory, + setSearchQuery, + setSelectedCategory, + viewMode, + } = useStickersStore(); + + useEffect(() => { + if (viewMode === "browse" && !browseContent) { + void browseStickers(); + } + }, [browseContent, browseStickers, viewMode]); return ( - <PanelView - title="Stickers" - actions={ - <div className="flex items-center"> - <Select - value={selectedCategory} - onValueChange={(value: StickerCategory) => - setSelectedCategory({ category: value }) - } + <div className="flex h-full flex-col py-2"> + <div className="px-2"> + <Input + size="sm" + variant="default" + placeholder="Search..." + value={searchQuery} + onChange={(e) => { + setSearchQuery({ query: e.target.value }); + void searchStickers({ query: e.target.value }); + }} + showClearIcon + onClear={() => { + setSearchQuery({ query: "" }); + void searchStickers({ query: "" }); + }} + className="w-full" + containerClassName="w-full" + /> + </div> + + <div className="mt-2 flex min-h-0 flex-1 flex-col"> + <div className="border-b border-border px-2"> + <div + role="tablist" + aria-label="Sticker categories" + className="text-muted-foreground inline-flex h-auto items-center gap-0 bg-transparent p-0" > - <SelectTrigger variant="outline" size="sm" className="mr-1.5"> - <SelectValue placeholder="All" /> - </SelectTrigger> - <SelectContent> - {Object.entries(STICKER_CATEGORIES).map(([category, label]) => ( - <SelectItem key={category} value={category}> + {Object.entries(STICKER_CATEGORIES).map(([key, label]) => { + const isActive = key === selectedCategory; + return ( + <button + key={key} + type="button" + role="tab" + aria-selected={isActive} + onClick={() => + setSelectedCategory({ + category: key as StickerCategory, + }) + } + className={cn( + "text-muted-foreground rounded-none border-b-2 border-transparent px-3 py-2 text-sm font-medium whitespace-nowrap -mb-px", + isActive && "text-primary border-primary", + )} + > {label} - </SelectItem> - ))} - </SelectContent> - </Select> - - <Button variant="ghost" size="icon"> - <HugeiconsIcon icon={Search01Icon} className="!size-3.5" /> - </Button> - - <Button variant="ghost" size="icon"> - <OcSlidersVerticalIcon className="!size-3.5" /> - </Button> + </button> + ); + })} + </div> </div> - } - > - <StickersContentView /> - </PanelView> + <div className="min-h-0 flex-1 overflow-y-auto px-4 pt-4"> + <StickersContentView /> + </div> + </div> + </div> ); } @@ -92,10 +121,10 @@ function StickerGrid({ "--sticker-max"?: string; } = { gridTemplateColumns: shouldCapSize - ? "repeat(auto-fill, minmax(var(--sticker-min, 96px), var(--sticker-max, 160px)))" - : "repeat(auto-fit, minmax(var(--sticker-min, 96px), 1fr))", - "--sticker-min": "96px", - ...(shouldCapSize ? { "--sticker-max": "160px" } : {}), + ? "repeat(auto-fill, minmax(var(--sticker-min, 80px), var(--sticker-max, 140px)))" + : "repeat(auto-fill, minmax(var(--sticker-min, 80px), 1fr))", + "--sticker-min": "80px", + ...(shouldCapSize ? { "--sticker-max": "140px" } : {}), }; return ( @@ -107,6 +136,18 @@ function StickerGrid({ ); } +function StickerRow({ items }: { items: StickerData[] }) { + return ( + <div className="flex gap-2 overflow-x-auto pb-1 scrollbar-hidden"> + {items.map((item) => ( + <div key={item.id} className="w-20 shrink-0"> + <StickerItem item={item} shouldCapSize containerClassName="w-full" /> + </div> + ))} + </div> + ); +} + function EmptyView({ message }: { message: string }) { return ( <div className="bg-background flex h-full flex-col items-center justify-center gap-3 p-4"> @@ -122,88 +163,170 @@ function EmptyView({ message }: { message: string }) { ); } +function RegionBanner({ region }: { region: string }) { + return ( + <div className="flex h-7 items-center gap-1.5 rounded-lg border border-sky-100 bg-sky-50 px-2"> + <svg + width="12" + height="12" + viewBox="0 0 24 24" + fill="none" + stroke="currentColor" + strokeWidth="2" + strokeLinecap="round" + strokeLinejoin="round" + className="shrink-0 text-sky-600" + aria-hidden="true" + > + <path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z" /> + <circle cx="12" cy="10" r="3" /> + </svg> + <span className="text-xs font-semibold text-sky-600">{region}</span> + </div> + ); +} + function StickersContentView() { const { + browseContent, + clearRecentStickers, + isBrowsing, + isSearching, searchQuery, - viewMode, searchResults, - recentStickers, - isSearching, - clearRecentStickers, + selectedCategory, + setSelectedCategory, + viewMode, } = useStickersStore(); - const itemsToDisplay = useMemo(() => { - if (viewMode === "search" && searchResults) { - return searchResults.items; + if (viewMode === "search") { + if (isSearching) { + return ( + <div className="flex items-center justify-center py-8"> + <Spinner className="text-muted-foreground size-6" /> + </div> + ); } - return []; - }, [viewMode, searchResults]); + if (searchResults?.items.length) { + const normalizedQuery = searchQuery.trim().toLowerCase(); + const isRegionSearch = + selectedCategory === "flags" && + resolveQueryToRegions({ query: normalizedQuery }) !== null; + const regionLabel = getRegionLabel({ query: normalizedQuery }); - const recentStickerItems = useMemo(() => { - const items: StickerData[] = []; - for (const stickerId of recentStickers) { - const recentStickerItem = toRecentStickerItem({ stickerId }); - if (recentStickerItem) { - items.push(recentStickerItem); - } + return ( + <div className="flex flex-col gap-3 pb-4"> + {isRegionSearch && <RegionBanner region={regionLabel} />} + <div className="flex items-center justify-between"> + <span className="text-muted-foreground text-sm"> + {searchResults.total} results + </span> + </div> + <StickerGrid items={searchResults.items} /> + </div> + ); } - return items; - }, [recentStickers]); + + // "all" tab search — sections are in browseContent, fall through to section rendering below + if (selectedCategory !== "all" && searchQuery) { + return <EmptyView message={`No stickers found for "${searchQuery}"`} />; + } + } + + if (isBrowsing && !browseContent) { + return ( + <div className="flex items-center justify-center py-8"> + <Spinner className="text-muted-foreground size-6" /> + </div> + ); + } + + if (!browseContent?.sections.length) { + const categoryLabel = STICKER_CATEGORIES[selectedCategory]; + return ( + <EmptyView + message={ + viewMode === "search" + ? `No stickers found for "${searchQuery}"` + : selectedCategory === "all" + ? "No stickers available yet." + : `No stickers available in ${categoryLabel.toLowerCase()} yet.` + } + /> + ); + } return ( - <div className="flex h-full flex-col gap-4"> - {recentStickerItems.length > 0 && viewMode === "browse" && ( - <div className="flex h-full flex-col gap-2"> - <div className="flex items-center gap-2"> - <HugeiconsIcon - icon={ClockIcon} - className="text-muted-foreground size-4" - /> - <span className="text-sm font-medium">Recent</span> - <TooltipProvider> - <Tooltip> - <TooltipTrigger asChild> - <button - type="button" - onClick={clearRecentStickers} - className="hover:bg-accent ml-auto flex size-5 items-center justify-center rounded p-0" - > - <HugeiconsIcon - icon={MultiplicationSignIcon} - className="text-muted-foreground size-3" - /> - </button> - </TooltipTrigger> - <TooltipContent> - <p>Clear recent stickers</p> - </TooltipContent> - </Tooltip> - </TooltipProvider> + <div className="flex flex-col gap-4 pb-4"> + {browseContent.sections.map((section) => ( + <StickerSection + key={section.id} + section={section} + onClearRecent={clearRecentStickers} + onSeeAll={(category) => { + setSelectedCategory({ category }); + }} + /> + ))} + </div> + ); +} + +function StickerSection({ + section, + onClearRecent, + onSeeAll, +}: { + section: StickerBrowseSection; + onClearRecent: () => void; + onSeeAll: (category: StickerCategory) => void; +}) { + const hasHeader = + Boolean(section.title) || section.id === "recent" || section.action; + + return ( + <div className="flex flex-col gap-2"> + {hasHeader && ( + <div className="flex items-center justify-between gap-2"> + {section.title ? ( + <p className="text-xs text-muted-foreground">{section.title}</p> + ) : ( + <div /> + )} + + <div className="ml-auto flex items-center gap-2"> + {section.id === "recent" && ( + <Button + onClick={onClearRecent} + variant="text" + size="sm" + className="h-auto gap-1 p-0 text-xs text-muted-foreground" + > + Clear + </Button> + )} + + {section.action?.type === "see-all" && section.action.category && ( + <Button + variant="text" + size="sm" + className="h-auto gap-1 p-0 text-xs text-primary" + onClick={() => { + onSeeAll(section.action?.category as StickerCategory); + }} + > + See all + </Button> + )} </div> - <StickerGrid items={recentStickerItems.slice(0, 12)} shouldCapSize /> </div> )} - {viewMode === "search" && ( - <div className="h-full"> - {isSearching ? ( - <div className="flex items-center justify-center py-8"> - <Spinner className="text-muted-foreground size-6" /> - </div> - ) : searchResults?.items.length ? ( - <div className="flex flex-col gap-3"> - <div className="flex items-center justify-between"> - <span className="text-muted-foreground text-sm"> - {searchResults.total} results - </span> - </div> - <StickerGrid items={itemsToDisplay} shouldCapSize /> - </div> - ) : searchQuery ? ( - <EmptyView message={`No stickers found for "${searchQuery}"`} /> - ) : null} - </div> + {section.layout === "row" ? ( + <StickerRow items={section.items} /> + ) : ( + <StickerGrid items={section.items} /> )} </div> ); @@ -212,65 +335,116 @@ function StickersContentView() { interface StickerItemProps { item: StickerData; shouldCapSize?: boolean; + containerClassName?: string; } -function StickerItem({ item, shouldCapSize = false }: StickerItemProps) { - const { addingSticker, addStickerToTimeline } = useStickersStore(); - const isAdding = addingSticker === item.id; +function StickerItem({ + item, + shouldCapSize = false, + containerClassName, +}: StickerItemProps) { + const editor = useEditor(); + const { addToRecentStickers } = useStickersStore(); + const [isAdding, setIsAdding] = useState(false); const [hasImageError, setHasImageError] = useState(false); useEffect(() => { if (!item.id) { return; } + setHasImageError(false); }, [item.id]); const displayName = item.name; + const shapePreset = + item.provider === "shapes" ? parseShapeStickerId({ stickerId: item.id }) : null; const handleAdd = async () => { + setIsAdding(true); try { - await addStickerToTimeline({ - stickerId: item.id, - name: item.name, + const currentTime = editor.playback.getCurrentTime(); + + let element: + | ReturnType<typeof buildGraphicElement> + | ReturnType<typeof buildStickerElement>; + if (shapePreset) { + element = buildGraphicElement({ + definitionId: shapePreset.definitionId, + name: shapePreset.name, + startTime: currentTime, + params: shapePreset.params, + }); + } else { + const { width: intrinsicWidth, height: intrinsicHeight } = + await resolveStickerIntrinsicSize({ stickerId: item.id }); + element = buildStickerElement({ + stickerId: item.id, + name: item.name, + startTime: currentTime, + intrinsicWidth, + intrinsicHeight, + }); + } + + editor.timeline.insertElement({ + placement: { mode: "auto" }, + element, }); + + addToRecentStickers({ stickerId: item.id }); } catch (error) { console.error("Failed to add sticker:", error); toast.error("Failed to add sticker to timeline"); + } finally { + setIsAdding(false); } }; - const preview = hasImageError ? ( - <div className="flex size-full items-center justify-center p-2"> - <span className="text-muted-foreground text-center text-xs break-all"> - {displayName} - </span> - </div> - ) : ( - <div className="flex size-full items-center justify-center p-4"> - <Image - src={item.previewUrl} - alt={displayName} - width={64} - height={64} - className="size-full object-contain" - style={ - shouldCapSize - ? { - maxWidth: "var(--sticker-max, 160px)", - maxHeight: "var(--sticker-max, 160px)", - } - : undefined - } - onError={() => { - setHasImageError(true); - }} - loading="lazy" - unoptimized - /> + const preview = ( + <div className="flex size-full items-center justify-center p-3"> + {hasImageError ? ( + <span className="text-muted-foreground text-center text-xs break-all"> + {displayName} + </span> + ) : ( + <Image + src={item.previewUrl} + alt={displayName} + width={64} + height={64} + className="size-full object-contain" + style={ + shouldCapSize + ? { + maxWidth: "var(--sticker-max, 160px)", + maxHeight: "var(--sticker-max, 160px)", + } + : undefined + } + onError={() => setHasImageError(true)} + loading="lazy" + unoptimized + /> + )} </div> ); + const dragData: TimelineDragData = shapePreset + ? { + id: item.id, + type: "graphic", + name: displayName, + definitionId: shapePreset.definitionId, + params: shapePreset.params ?? {}, + } + : { + id: item.id, + type: "sticker", + name: displayName, + stickerId: item.id, + }; + return ( <div className={cn("relative", isAdding && "pointer-events-none opacity-50")} @@ -278,18 +452,13 @@ function StickerItem({ item, shouldCapSize = false }: StickerItemProps) { <DraggableItem name={displayName} preview={preview} - dragData={{ - id: item.id, - type: "sticker", - name: displayName, - stickerId: item.id, - }} + dragData={dragData} onAddToTimeline={handleAdd} aspectRatio={1} shouldShowLabel={false} isRounded variant="card" - containerClassName="w-full" + containerClassName={containerClassName ?? "w-full"} /> {isAdding && ( <div className="absolute inset-0 z-10 flex items-center justify-center rounded-md bg-black/60"> @@ -299,36 +468,3 @@ function StickerItem({ item, shouldCapSize = false }: StickerItemProps) { </div> ); } - -function getStickerNameFromId({ stickerId }: { stickerId: string }): string { - const stickerIdParts = stickerId.split(":"); - if (stickerIdParts.length <= 1) { - return stickerId; - } - return ( - stickerIdParts.slice(1).join(":").split(":").pop()?.replaceAll("-", " ") ?? - stickerId - ); -} - -function toRecentStickerItem({ - stickerId, -}: { - stickerId: string; -}): StickerData | null { - try { - const { providerId } = parseStickerId({ stickerId }); - return { - id: stickerId, - provider: providerId, - name: getStickerNameFromId({ stickerId }), - previewUrl: resolveStickerId({ - stickerId, - options: { width: 64, height: 64 }, - }), - metadata: {}, - }; - } catch { - return null; - } -} diff --git a/apps/web/src/components/editor/panels/assets/views/text.tsx b/apps/web/src/components/editor/panels/assets/views/text.tsx index 3673acc3..075cc25b 100644 --- a/apps/web/src/components/editor/panels/assets/views/text.tsx +++ b/apps/web/src/components/editor/panels/assets/views/text.tsx @@ -1,7 +1,7 @@ import { DraggableItem } from "@/components/editor/panels/assets/draggable-item"; -import { PanelView } from "@/components/editor/panels/assets/views/base-view"; +import { PanelView } from "@/components/editor/panels/assets/views/base-panel"; import { useEditor } from "@/hooks/use-editor"; -import { DEFAULT_TEXT_ELEMENT } from "@/constants/text-constants"; +import { DEFAULTS } from "@/lib/timeline/defaults"; import { buildTextElement } from "@/lib/timeline/element-utils"; export function TextView() { @@ -12,7 +12,7 @@ export function TextView() { if (!activeScene) return; const element = buildTextElement({ - raw: DEFAULT_TEXT_ELEMENT, + raw: DEFAULTS.text.element, startTime: currentTime, }); @@ -33,9 +33,9 @@ export function TextView() { } dragData={{ id: "temp-text-id", - type: DEFAULT_TEXT_ELEMENT.type, - name: DEFAULT_TEXT_ELEMENT.name, - content: DEFAULT_TEXT_ELEMENT.content, + type: DEFAULTS.text.element.type, + name: DEFAULTS.text.element.name, + content: DEFAULTS.text.element.content, }} aspectRatio={1} onAddToTimeline={handleAddToTimeline} diff --git a/apps/web/src/components/editor/panels/preview/context-menu.tsx b/apps/web/src/components/editor/panels/preview/context-menu.tsx index d4bcdcae..13226378 100644 --- a/apps/web/src/components/editor/panels/preview/context-menu.tsx +++ b/apps/web/src/components/editor/panels/preview/context-menu.tsx @@ -4,9 +4,12 @@ import { ContextMenuCheckboxItem, ContextMenuContent, ContextMenuItem, + ContextMenuSeparator, } from "@/components/ui/context-menu"; +import { usePreviewViewport } from "@/components/editor/panels/preview/preview-viewport"; import { useEditor } from "@/hooks/use-editor"; import { usePreviewStore } from "@/stores/preview-store"; +import { toast } from "sonner"; export function PreviewContextMenu({ onToggleFullscreen, @@ -16,25 +19,55 @@ export function PreviewContextMenu({ containerRef: React.RefObject<HTMLElement | null>; }) { const editor = useEditor(); + const viewport = usePreviewViewport(); const { overlays, setOverlayVisibility } = usePreviewStore(); + const handleCopySnapshot = async () => { + const result = await editor.renderer.copySnapshot(); + + if (!result.success) { + toast.error("Failed to copy snapshot", { + description: result.error ?? "Please try again", + }); + return; + } + }; + + const handleSaveSnapshot = async () => { + const result = await editor.renderer.saveSnapshot(); + + if (!result.success) { + toast.error("Failed to save snapshot", { + description: result.error ?? "Please try again", + }); + return; + } + }; + return ( <ContextMenuContent className="w-56" container={containerRef.current}> + <ContextMenuItem onClick={viewport.fitToScreen} inset> + Fit to screen + </ContextMenuItem> + <ContextMenuSeparator /> <ContextMenuItem onClick={onToggleFullscreen} inset> Full screen </ContextMenuItem> - <ContextMenuItem onClick={() => editor.renderer.saveSnapshot()} inset> + <ContextMenuItem onClick={handleSaveSnapshot} inset> Save snapshot </ContextMenuItem> + <ContextMenuItem onClick={handleCopySnapshot} inset> + Copy snapshot + </ContextMenuItem> + <ContextMenuSeparator /> <ContextMenuCheckboxItem checked={overlays.bookmarks} onCheckedChange={(checked) => setOverlayVisibility({ overlay: "bookmarks", isVisible: !!checked }) } > - Show bookmarks + Show bookmark notes </ContextMenuCheckboxItem> - <ContextMenuItem inset>Show grid</ContextMenuItem> </ContextMenuContent> ); } diff --git a/apps/web/src/components/editor/panels/preview/guide-overlay.tsx b/apps/web/src/components/editor/panels/preview/guide-overlay.tsx new file mode 100644 index 00000000..ad7a621f --- /dev/null +++ b/apps/web/src/components/editor/panels/preview/guide-overlay.tsx @@ -0,0 +1,32 @@ +"use client"; + +import { getGuideById } from "@/lib/guides"; +import { usePreviewStore } from "@/stores/preview-store"; +import { usePreviewViewport } from "./preview-viewport"; + +export function GuideOverlay() { + const activeGuide = usePreviewStore((state) => state.activeGuide); + const viewport = usePreviewViewport(); + const guide = getGuideById(activeGuide); + + if (!guide) { + return null; + } + + return ( + <div + className="pointer-events-none absolute" + style={{ + left: viewport.sceneLeft, + top: viewport.sceneTop, + width: viewport.sceneWidth, + height: viewport.sceneHeight, + }} + > + {guide.renderOverlay({ + width: viewport.sceneWidth, + height: viewport.sceneHeight, + })} + </div> + ); +} diff --git a/apps/web/src/components/editor/panels/preview/guide-popover.tsx b/apps/web/src/components/editor/panels/preview/guide-popover.tsx new file mode 100644 index 00000000..e6d3df51 --- /dev/null +++ b/apps/web/src/components/editor/panels/preview/guide-popover.tsx @@ -0,0 +1,100 @@ +"use client"; + +import { AnimatePresence, motion } from "motion/react"; +import { GUIDE_REGISTRY, getGuideById } from "@/lib/guides"; +import { usePreviewStore } from "@/stores/preview-store"; +import { + Popover, + PopoverContent, + PopoverTrigger, +} from "@/components/ui/popover"; +import { Label } from "@/components/ui/label"; +import { Separator } from "@/components/ui/separator"; +import { cn } from "@/utils/ui"; + +export function GridPopover({ children }: { children: React.ReactNode }) { + const activeGuide = usePreviewStore((state) => state.activeGuide); + const toggleGuide = usePreviewStore((state) => state.toggleGuide); + const activeGuideDef = getGuideById(activeGuide); + const options = activeGuideDef?.renderOptions?.(); + + return ( + <Popover> + <PopoverTrigger>{children}</PopoverTrigger> + <PopoverContent sideOffset={8} className="w-60 px-0"> + <div className="flex flex-col gap-2 px-4"> + <Label>Guides</Label> + <div className="grid grid-cols-3 gap-1"> + {GUIDE_REGISTRY.map((guide) => ( + <GridItem + key={guide.id} + label={guide.label} + preview={guide.renderPreview()} + isSelected={activeGuide === guide.id} + onClick={() => toggleGuide(guide.id)} + /> + ))} + </div> + </div> + <AnimatePresence> + {options && ( + <motion.div + initial={{ height: 0, opacity: 0 }} + animate={{ height: "auto", opacity: 1 }} + exit={{ height: 0, opacity: 0 }} + transition={{ + height: { type: "spring", duration: 0.2, bounce: 0 }, + opacity: { duration: 0.2 }, + }} + className="overflow-hidden" + > + <Separator className="my-3" /> + <div className="px-4">{options}</div> + </motion.div> + )} + </AnimatePresence> + </PopoverContent> + </Popover> + ); +} + +function GridItem({ + label, + preview, + isSelected, + onClick, +}: { + label: string; + preview: React.ReactNode; + isSelected?: boolean; + onClick: () => void; +}) { + return ( + <button + type="button" + onClick={onClick} + aria-pressed={isSelected} + className={cn( + "flex cursor-pointer rounded-sm flex-col gap-2 px-1.5 py-1.5 hover:bg-foreground/5", + isSelected && "bg-primary/5! text-primary", + )} + > + <div + className={cn( + "aspect-video bg-foreground/5 flex items-center justify-center rounded-sm", + isSelected && "bg-primary/5!", + )} + > + {preview} + </div> + <span + className={cn( + "text-xs", + isSelected ? "text-primary" : "text-muted-foreground", + )} + > + {label} + </span> + </button> + ); +} diff --git a/apps/web/src/components/editor/panels/preview/handle-primitives.tsx b/apps/web/src/components/editor/panels/preview/handle-primitives.tsx new file mode 100644 index 00000000..44b8a7f1 --- /dev/null +++ b/apps/web/src/components/editor/panels/preview/handle-primitives.tsx @@ -0,0 +1,332 @@ +"use client"; + +import { cn } from "@/utils/ui"; +import { HugeiconsIcon } from "@hugeicons/react"; +import type { IconSvgElement } from "@hugeicons/react"; + +export const HANDLE_SIZE = 10; +export const HANDLE_HIT_AREA_SIZE = 18; +export const ICON_HANDLE_RADIUS = 10; +export const EDGE_HANDLE_THIN_SIZE = 6; +export const EDGE_HANDLE_THICK_SIZE = 14; +export const LINE_HIT_AREA_SIZE = 48; + +export function getResizeCursor({ angleDeg }: { angleDeg: number }): string { + const normalized = ((angleDeg % 180) + 180) % 180; + if (normalized < 22.5 || normalized >= 157.5) return "cursor-ew-resize"; + if (normalized < 67.5) return "cursor-nwse-resize"; + if (normalized < 112.5) return "cursor-ns-resize"; + return "cursor-nesw-resize"; +} + +export function HandleButton({ + screen, + cursor, + hitAreaSize, + className, + onPointerDown, + onPointerMove, + onPointerUp, + children, +}: { + screen: { x: number; y: number }; + cursor?: string; + hitAreaSize: number; + className?: string; + onPointerDown: (event: React.PointerEvent) => void; + onPointerMove: (event: React.PointerEvent) => void; + onPointerUp: (event: React.PointerEvent) => void; + children: React.ReactNode; +}) { + return ( + <button + type="button" + className={cn( + "absolute flex items-center justify-center outline-none", + cursor, + className, + )} + style={{ + left: screen.x - hitAreaSize / 2, + top: screen.y - hitAreaSize / 2, + width: hitAreaSize, + height: hitAreaSize, + pointerEvents: "auto", + }} + onPointerDown={onPointerDown} + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + onPointerLeave={onPointerUp} + onKeyDown={(event) => event.key === "Enter" && event.preventDefault()} + onKeyUp={(event) => event.key === "Enter" && event.preventDefault()} + > + {children} + </button> + ); +} + +export function CornerHandle({ + cursor, + screen, + onPointerDown, + onPointerMove, + onPointerUp, +}: { + cursor?: string; + screen: { x: number; y: number }; + onPointerDown: (event: React.PointerEvent) => void; + onPointerMove: (event: React.PointerEvent) => void; + onPointerUp: (event: React.PointerEvent) => void; +}) { + return ( + <HandleButton + screen={screen} + cursor={cursor} + hitAreaSize={HANDLE_HIT_AREA_SIZE} + onPointerDown={onPointerDown} + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + > + <div + className="rounded-sm bg-white" + style={{ width: HANDLE_SIZE, height: HANDLE_SIZE }} + /> + </HandleButton> + ); +} + +export function EdgeHandle({ + edge, + screen, + rotation, + onPointerDown, + onPointerMove, + onPointerUp, +}: { + edge: "right" | "left" | "bottom"; + screen: { x: number; y: number }; + rotation: number; + onPointerDown: (event: React.PointerEvent) => void; + onPointerMove: (event: React.PointerEvent) => void; + onPointerUp: (event: React.PointerEvent) => void; +}) { + const isHorizontalEdge = edge === "right" || edge === "left"; + const width = isHorizontalEdge + ? EDGE_HANDLE_THIN_SIZE + : EDGE_HANDLE_THICK_SIZE; + const height = isHorizontalEdge + ? EDGE_HANDLE_THICK_SIZE + : EDGE_HANDLE_THIN_SIZE; + const cursor = getResizeCursor({ + angleDeg: isHorizontalEdge ? rotation : rotation + 90, + }); + + return ( + <HandleButton + screen={screen} + cursor={cursor} + hitAreaSize={HANDLE_HIT_AREA_SIZE} + onPointerDown={onPointerDown} + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + > + <div + className="rounded-sm bg-white" + style={{ width, height, transform: `rotate(${rotation}deg)` }} + /> + </HandleButton> + ); +} + +export function IconHandle({ + icon, + screen, + onPointerDown, + onPointerMove, + onPointerUp, +}: { + icon: IconSvgElement; + screen: { x: number; y: number }; + onPointerDown: (event: React.PointerEvent) => void; + onPointerMove: (event: React.PointerEvent) => void; + onPointerUp: (event: React.PointerEvent) => void; +}) { + return ( + <HandleButton + screen={screen} + hitAreaSize={ICON_HANDLE_RADIUS * 2} + className="rounded-full bg-white text-black shadow-sm" + onPointerDown={onPointerDown} + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + > + <HugeiconsIcon icon={icon} className="size-3" strokeWidth={2.5} /> + </HandleButton> + ); +} + +export function BoundingBoxOutline({ + center, + outlineWidth, + outlineHeight, + rotation, + cursor, + dashed = false, + onPointerDown, + onPointerMove, + onPointerUp, +}: { + center: { x: number; y: number }; + outlineWidth: number; + outlineHeight: number; + rotation: number; + cursor?: string; + dashed?: boolean; + onPointerDown?: (event: React.PointerEvent) => void; + onPointerMove?: (event: React.PointerEvent) => void; + onPointerUp?: (event: React.PointerEvent) => void; +}) { + return ( + <svg + className={cn("absolute overflow-visible", cursor)} + aria-hidden="true" + focusable="false" + style={{ + left: center.x - outlineWidth / 2, + top: center.y - outlineHeight / 2, + width: outlineWidth, + height: outlineHeight, + transform: `rotate(${rotation}deg)`, + transformOrigin: "center center", + pointerEvents: onPointerDown ? "auto" : "none", + }} + onPointerDown={onPointerDown} + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + onPointerLeave={onPointerUp} + > + <rect + x={0.5} + y={0.5} + width={Math.max(outlineWidth - 1, 0)} + height={Math.max(outlineHeight - 1, 0)} + fill="transparent" + stroke="white" + strokeDasharray={dashed ? "4 4" : undefined} + strokeOpacity={0.75} + vectorEffect="non-scaling-stroke" + style={{ pointerEvents: onPointerDown ? "all" : "none" }} + /> + </svg> + ); +} + +export function ShapeOutline({ + center, + outlineWidth, + outlineHeight, + rotation, + pathData, + cursor, + onPointerDown, + onPointerMove, + onPointerUp, +}: { + center: { x: number; y: number }; + outlineWidth: number; + outlineHeight: number; + rotation: number; + pathData: string; + cursor?: string; + onPointerDown?: (event: React.PointerEvent) => void; + onPointerMove?: (event: React.PointerEvent) => void; + onPointerUp?: (event: React.PointerEvent) => void; +}) { + return ( + <svg + className={cn("absolute overflow-visible", cursor)} + aria-hidden="true" + focusable="false" + style={{ + left: center.x - outlineWidth / 2, + top: center.y - outlineHeight / 2, + width: outlineWidth, + height: outlineHeight, + transform: `rotate(${rotation}deg)`, + transformOrigin: "center center", + pointerEvents: onPointerDown ? "auto" : "none", + }} + onPointerDown={onPointerDown} + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + onPointerLeave={onPointerUp} + > + <path + d={pathData} + fill="transparent" + stroke="white" + strokeOpacity={0.75} + vectorEffect="non-scaling-stroke" + style={{ pointerEvents: onPointerDown ? "all" : "none" }} + /> + </svg> + ); +} + +export function LineOverlay({ + start, + end, + onPointerDown, + onPointerMove, + onPointerUp, +}: { + start: { x: number; y: number }; + end: { x: number; y: number }; + onPointerDown?: (event: React.PointerEvent) => void; + onPointerMove?: (event: React.PointerEvent) => void; + onPointerUp?: (event: React.PointerEvent) => void; +}) { + const dx = end.x - start.x; + const dy = end.y - start.y; + const length = Math.sqrt(dx * dx + dy * dy); + const angleDeg = (Math.atan2(dy, dx) * 180) / Math.PI; + const cx = (start.x + end.x) / 2; + const cy = (start.y + end.y) / 2; + + const sharedStyle = { + left: cx - length / 2, + width: length, + transform: `rotate(${angleDeg}deg)`, + transformOrigin: "center center", + }; + + return ( + <> + {onPointerDown && ( + <div + className="absolute" + style={{ + ...sharedStyle, + top: cy - LINE_HIT_AREA_SIZE / 2, + height: LINE_HIT_AREA_SIZE, + pointerEvents: "auto", + }} + onPointerDown={onPointerDown} + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + onPointerLeave={onPointerUp} + /> + )} + <div + className="pointer-events-none absolute" + style={{ + ...sharedStyle, + top: cy - 0.5, + height: 1, + backgroundColor: "white", + opacity: 0.75, + }} + /> + </> + ); +} diff --git a/apps/web/src/components/editor/panels/preview/index.tsx b/apps/web/src/components/editor/panels/preview/index.tsx index df60db01..c625b9bf 100644 --- a/apps/web/src/components/editor/panels/preview/index.tsx +++ b/apps/web/src/components/editor/panels/preview/index.tsx @@ -1,6 +1,6 @@ "use client"; -import { useCallback, useMemo, useRef } from "react"; +import { useCallback, useEffect, useMemo, useRef } from "react"; import useDeepCompareEffect from "use-deep-compare-effect"; import { useEditor } from "@/hooks/use-editor"; import { useRafLoop } from "@/hooks/use-raf-loop"; @@ -12,50 +12,70 @@ import { buildScene } from "@/services/renderer/scene-builder"; import { getLastFrameTime } from "@/lib/time"; import { PreviewInteractionOverlay } from "./preview-interaction-overlay"; import { BookmarkNoteOverlay } from "./bookmark-note-overlay"; +import { GuideOverlay } from "./guide-overlay"; import { ContextMenu, ContextMenuTrigger } from "@/components/ui/context-menu"; import { usePreviewStore } from "@/stores/preview-store"; import { PreviewContextMenu } from "./context-menu"; import { PreviewToolbar } from "./toolbar"; +import { + PreviewViewportProvider, + usePreviewViewportState, +} from "./preview-viewport"; function usePreviewSize() { - const editor = useEditor(); - const activeProject = editor.project.getActive(); + const canvasSize = useEditor( + (e) => e.project.getActive()?.settings.canvasSize, + ); return { - width: activeProject?.settings.canvasSize.width, - height: activeProject?.settings.canvasSize.height, + width: canvasSize?.width, + height: canvasSize?.height, }; } +function normalizeWheelDelta({ + delta, + deltaMode, + pageSize, +}: { + delta: number; + deltaMode: number; + pageSize: number; +}): number { + if (deltaMode === WheelEvent.DOM_DELTA_LINE) { + return delta * 16; + } + + if (deltaMode === WheelEvent.DOM_DELTA_PAGE) { + return delta * pageSize; + } + + return delta; +} + export function PreviewPanel() { const containerRef = useRef<HTMLDivElement>(null); - const { isFullscreen, toggleFullscreen } = useFullscreen({ containerRef }); + const { toggleFullscreen } = useFullscreen({ containerRef }); return ( <div ref={containerRef} className="panel bg-background relative flex size-full min-h-0 min-w-0 flex-col rounded-sm border" > - <div className="flex min-h-0 min-w-0 flex-1 items-center justify-center p-2 pb-0"> - <PreviewCanvas - onToggleFullscreen={toggleFullscreen} - containerRef={containerRef} - /> - <RenderTreeController /> - </div> - <PreviewToolbar - isFullscreen={isFullscreen} + <PreviewCanvas + containerRef={containerRef} onToggleFullscreen={toggleFullscreen} /> + <RenderTreeController /> </div> ); } function RenderTreeController() { const editor = useEditor(); - const tracks = editor.timeline.getTracks(); - const mediaAssets = editor.media.getAssets(); - const activeProject = editor.project.getActive(); + const tracks = useEditor((e) => e.timeline.getRenderTracks()); + const mediaAssets = useEditor((e) => e.media.getAssets()); + const activeProject = useEditor((e) => e.project.getActive()); const { width, height } = usePreviewSize(); @@ -79,23 +99,30 @@ function RenderTreeController() { } function PreviewCanvas({ - onToggleFullscreen, containerRef, + onToggleFullscreen, }: { - onToggleFullscreen: () => void; containerRef: React.RefObject<HTMLElement | null>; + onToggleFullscreen: () => void; }) { const canvasRef = useRef<HTMLCanvasElement>(null); - const outerContainerRef = useRef<HTMLDivElement>(null); - const canvasBoundsRef = useRef<HTMLDivElement>(null); + const viewportRef = useRef<HTMLDivElement>(null); const lastFrameRef = useRef(-1); const lastSceneRef = useRef<RootNode | null>(null); const renderingRef = useRef(false); const { width: nativeWidth, height: nativeHeight } = usePreviewSize(); - const containerSize = useContainerSize({ containerRef: outerContainerRef }); + const viewportSize = useContainerSize({ containerRef: viewportRef }); const editor = useEditor(); - const activeProject = editor.project.getActive(); + const activeProject = useEditor((e) => e.project.getActive()); + const renderTree = useEditor((e) => e.renderer.getRenderTree()); const { overlays } = usePreviewStore(); + const viewport = usePreviewViewportState({ + canvasHeight: nativeHeight, + canvasWidth: nativeWidth, + viewportHeight: viewportSize.height, + viewportRef, + viewportWidth: viewportSize.width, + }); const renderer = useMemo(() => { return new CanvasRenderer({ @@ -105,37 +132,6 @@ function PreviewCanvas({ }); }, [nativeWidth, nativeHeight, activeProject.settings.fps]); - const displaySize = useMemo(() => { - if ( - !nativeWidth || - !nativeHeight || - containerSize.width === 0 || - containerSize.height === 0 - ) { - return { width: nativeWidth ?? 0, height: nativeHeight ?? 0 }; - } - - const paddingBuffer = 4; - const availableWidth = containerSize.width - paddingBuffer; - const availableHeight = containerSize.height - paddingBuffer; - - const aspectRatio = nativeWidth / nativeHeight; - const containerAspect = availableWidth / availableHeight; - - const displayWidth = - containerAspect > aspectRatio - ? availableHeight * aspectRatio - : availableWidth; - const displayHeight = - containerAspect > aspectRatio - ? availableHeight - : availableWidth / aspectRatio; - - return { width: displayWidth, height: displayHeight }; - }, [nativeWidth, nativeHeight, containerSize.width, containerSize.height]); - - const renderTree = editor.renderer.getRenderTree(); - const render = useCallback(() => { if (canvasRef.current && renderTree && !renderingRef.current) { const time = editor.playback.getCurrentTime(); @@ -168,44 +164,130 @@ function PreviewCanvas({ useRafLoop(render); + useEffect(() => { + const container = viewportRef.current; + if (!container) return; + + let pendingZoomDelta = 0; + let pendingPanDeltaX = 0; + let pendingPanDeltaY = 0; + let zoomRafId: ReturnType<typeof requestAnimationFrame> | null = null; + let panRafId: ReturnType<typeof requestAnimationFrame> | null = null; + + const onWheel = (event: WheelEvent) => { + const normalizedDeltaX = normalizeWheelDelta({ + delta: event.deltaX, + deltaMode: event.deltaMode, + pageSize: container.clientWidth, + }); + const normalizedDeltaY = normalizeWheelDelta({ + delta: event.deltaY, + deltaMode: event.deltaMode, + pageSize: container.clientHeight, + }); + const isZoomGesture = event.ctrlKey || event.metaKey; + if (isZoomGesture) { + event.preventDefault(); + pendingZoomDelta += normalizedDeltaY; + + if (zoomRafId === null) { + zoomRafId = requestAnimationFrame(() => { + const cappedDelta = + Math.sign(pendingZoomDelta) * + Math.min(Math.abs(pendingZoomDelta), 30); + const zoomFactor = Math.exp(-cappedDelta / 300); + + viewport.scaleZoom({ factor: zoomFactor }); + pendingZoomDelta = 0; + zoomRafId = null; + }); + } + + return; + } + + if (!viewport.canPan) { + return; + } + + if (normalizedDeltaX === 0 && normalizedDeltaY === 0) { + return; + } + + event.preventDefault(); + pendingPanDeltaX += normalizedDeltaX; + pendingPanDeltaY += normalizedDeltaY; + + if (panRafId === null) { + panRafId = requestAnimationFrame(() => { + viewport.panByScreenDelta({ + deltaX: pendingPanDeltaX, + deltaY: pendingPanDeltaY, + }); + pendingPanDeltaX = 0; + pendingPanDeltaY = 0; + panRafId = null; + }); + } + }; + + container.addEventListener("wheel", onWheel, { + capture: true, + passive: false, + }); + + return () => { + container.removeEventListener("wheel", onWheel, { + capture: true, + }); + if (zoomRafId !== null) { + cancelAnimationFrame(zoomRafId); + } + if (panRafId !== null) { + cancelAnimationFrame(panRafId); + } + }; + }, [viewport.canPan, viewport.panByScreenDelta, viewport.scaleZoom]); + return ( - <div - ref={outerContainerRef} - className="relative flex size-full items-center justify-center" - > - <ContextMenu> - <ContextMenuTrigger asChild> - <div - ref={canvasBoundsRef} - className="relative" - style={{ width: displaySize.width, height: displaySize.height }} - > - <canvas - ref={canvasRef} - width={nativeWidth} - height={nativeHeight} - className="block border" - style={{ - width: displaySize.width, - height: displaySize.height, - background: - activeProject.settings.background.type === "blur" - ? "transparent" - : activeProject?.settings.background.color, - }} + <PreviewViewportProvider value={viewport}> + <div className="flex size-full min-h-0 min-w-0 flex-col"> + <div className="flex min-h-0 min-w-0 flex-1 p-2 pb-0"> + <ContextMenu> + <ContextMenuTrigger asChild> + <div + ref={viewportRef} + className="relative flex size-full min-h-0 min-w-0 items-center justify-center overflow-hidden" + > + <canvas + ref={canvasRef} + width={nativeWidth} + height={nativeHeight} + className="absolute block border" + style={{ + left: viewport.sceneLeft, + top: viewport.sceneTop, + width: viewport.sceneWidth, + height: viewport.sceneHeight, + background: + activeProject.settings.background.type === "blur" + ? "transparent" + : activeProject?.settings.background.color, + }} + /> + <GuideOverlay /> + <PreviewInteractionOverlay /> + {overlays.bookmarks && <BookmarkNoteOverlay />} + </div> + </ContextMenuTrigger> + <PreviewContextMenu + onToggleFullscreen={onToggleFullscreen} + containerRef={containerRef} /> - <PreviewInteractionOverlay - canvasRef={canvasRef} - containerRef={canvasBoundsRef} - /> - {overlays.bookmarks && <BookmarkNoteOverlay />} - </div> - </ContextMenuTrigger> - <PreviewContextMenu - onToggleFullscreen={onToggleFullscreen} - containerRef={containerRef} - /> - </ContextMenu> - </div> + </ContextMenu> + </div> + <PreviewToolbar onToggleFullscreen={onToggleFullscreen} /> + </div> + </PreviewViewportProvider> ); } diff --git a/apps/web/src/components/editor/panels/preview/layout-guide-overlay.tsx b/apps/web/src/components/editor/panels/preview/layout-guide-overlay.tsx deleted file mode 100644 index 44efb4c8..00000000 --- a/apps/web/src/components/editor/panels/preview/layout-guide-overlay.tsx +++ /dev/null @@ -1,27 +0,0 @@ -"use client"; - -import { usePreviewStore } from "@/stores/preview-store"; -import Image from "next/image"; - -function TikTokGuide() { - return ( - <div className="pointer-events-none absolute inset-0"> - <Image - src="/platform-guides/tiktok-blueprint.png" - alt="TikTok layout guide" - className="absolute inset-0 size-full object-contain" - draggable={false} - fill - /> - </div> - ); -} - -export function LayoutGuideOverlay() { - const { layoutGuide } = usePreviewStore(); - - if (layoutGuide.platform === null) return null; - if (layoutGuide.platform === "tiktok") return <TikTokGuide />; - - return null; -} diff --git a/apps/web/src/components/editor/panels/preview/mask-handles.tsx b/apps/web/src/components/editor/panels/preview/mask-handles.tsx new file mode 100644 index 00000000..0c11f27a --- /dev/null +++ b/apps/web/src/components/editor/panels/preview/mask-handles.tsx @@ -0,0 +1,238 @@ +"use client"; + +import { usePreviewViewport } from "@/components/editor/panels/preview/preview-viewport"; +import { useMaskHandles } from "@/hooks/use-mask-handles"; +import { masksRegistry } from "@/lib/masks"; +import type { SnapLine } from "@/lib/preview/preview-snap"; +import type { ParamValues } from "@/lib/params"; +import type { RectangleMaskParams } from "@/lib/masks/types"; +import { + CornerHandle, + EdgeHandle, + IconHandle, + LineOverlay, + BoundingBoxOutline, + ShapeOutline, +} from "./handle-primitives"; +import { Rotate01Icon, FeatherIcon } from "@hugeicons/core-free-icons"; + +function hasRectangleOutlineParams( + params: ParamValues, +): params is RectangleMaskParams { + return ( + typeof params.centerX === "number" && + typeof params.centerY === "number" && + typeof params.width === "number" && + typeof params.height === "number" + ); +} + +export function MaskHandles({ + onSnapLinesChange, +}: { + onSnapLinesChange?: (lines: SnapLine[]) => void; +}) { + const viewport = usePreviewViewport(); + const { + selectedWithMask, + handlePositions, + linePoints, + handlePointerDown, + handlePointerMove, + handlePointerUp, + } = useMaskHandles({ onSnapLinesChange }); + + if (!selectedWithMask) return null; + + const toOverlay = ({ + canvasX, + canvasY, + }: { + canvasX: number; + canvasY: number; + }) => + viewport.canvasToOverlay({ + canvasX, + canvasY, + }); + + const def = masksRegistry.get(selectedWithMask.mask.type); + const { bounds } = selectedWithMask; + const maskRotation = selectedWithMask.mask.params.rotation; + + const { x: scaleX, y: scaleY } = viewport.getDisplayScale(); + + const rectangleOutlineProps = hasRectangleOutlineParams( + selectedWithMask.mask.params, + ) + ? { + center: toOverlay({ + canvasX: + bounds.cx + selectedWithMask.mask.params.centerX * bounds.width, + canvasY: + bounds.cy + selectedWithMask.mask.params.centerY * bounds.height, + }), + outlineWidth: + selectedWithMask.mask.params.width * bounds.width * scaleX, + outlineHeight: + selectedWithMask.mask.params.height * bounds.height * scaleY, + rotation: maskRotation, + } + : null; + + const onPointerMove = (event: React.PointerEvent) => + handlePointerMove({ event }); + const onPointerUp = () => handlePointerUp(); + + return ( + <div + className="pointer-events-none absolute inset-0 overflow-hidden" + aria-hidden + > + {def.overlayShape === "line" && linePoints && ( + <LineOverlay + start={toOverlay({ + canvasX: linePoints.start.x, + canvasY: linePoints.start.y, + })} + end={toOverlay({ + canvasX: linePoints.end.x, + canvasY: linePoints.end.y, + })} + onPointerDown={(event) => + handlePointerDown({ event, handleId: "position" }) + } + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + /> + )} + {def.overlayShape === "box" && rectangleOutlineProps && ( + def.buildOverlayPath ? ( + <> + <BoundingBoxOutline {...rectangleOutlineProps} dashed /> + <ShapeOutline + {...rectangleOutlineProps} + pathData={def.buildOverlayPath({ + width: rectangleOutlineProps.outlineWidth, + height: rectangleOutlineProps.outlineHeight, + })} + onPointerDown={(event) => + handlePointerDown({ event, handleId: "position" }) + } + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + /> + </> + ) : ( + <BoundingBoxOutline + {...rectangleOutlineProps} + cursor="cursor-move" + onPointerDown={(event) => + handlePointerDown({ event, handleId: "position" }) + } + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + /> + ) + )} + {handlePositions.map((handle) => { + const screen = toOverlay({ canvasX: handle.x, canvasY: handle.y }); + + if (handle.id === "rotation") { + return ( + <IconHandle + key={handle.id} + icon={Rotate01Icon} + screen={screen} + onPointerDown={(event) => + handlePointerDown({ event, handleId: handle.id }) + } + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + /> + ); + } + + if (handle.id === "feather") { + return ( + <IconHandle + key={handle.id} + icon={FeatherIcon} + screen={screen} + onPointerDown={(event) => + handlePointerDown({ event, handleId: handle.id }) + } + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + /> + ); + } + + if (handle.id === "right" || handle.id === "left") { + return ( + <EdgeHandle + key={handle.id} + edge="right" + screen={screen} + rotation={maskRotation} + onPointerDown={(event) => + handlePointerDown({ event, handleId: handle.id }) + } + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + /> + ); + } + + if (handle.id === "bottom" || handle.id === "top") { + return ( + <EdgeHandle + key={handle.id} + edge="bottom" + screen={screen} + rotation={maskRotation} + onPointerDown={(event) => + handlePointerDown({ event, handleId: handle.id }) + } + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + /> + ); + } + + if ( + handle.id === "top-left" || + handle.id === "top-right" || + handle.id === "bottom-left" || + handle.id === "bottom-right" || + handle.id === "scale" + ) { + return ( + <CornerHandle + key={handle.id} + screen={screen} + onPointerDown={(event) => + handlePointerDown({ event, handleId: handle.id }) + } + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + /> + ); + } + + return ( + <CornerHandle + key={handle.id} + cursor={handle.cursor} + screen={screen} + onPointerDown={(event) => + handlePointerDown({ event, handleId: handle.id }) + } + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + /> + ); + })} + </div> + ); +} diff --git a/apps/web/src/components/editor/panels/preview/preview-interaction-overlay.tsx b/apps/web/src/components/editor/panels/preview/preview-interaction-overlay.tsx index 4c33a1a1..65c11726 100644 --- a/apps/web/src/components/editor/panels/preview/preview-interaction-overlay.tsx +++ b/apps/web/src/components/editor/panels/preview/preview-interaction-overlay.tsx @@ -1,54 +1,117 @@ +import { useState } from "react"; +import { usePreviewViewport } from "@/components/editor/panels/preview/preview-viewport"; import { usePreviewInteraction } from "@/hooks/use-preview-interaction"; +import type { SnapLine } from "@/lib/preview/preview-snap"; import { TransformHandles } from "./transform-handles"; +import { MaskHandles } from "./mask-handles"; import { SnapGuides } from "./snap-guides"; import { TextEditOverlay } from "./text-edit-overlay"; +import { usePropertiesStore } from "../properties/stores/properties-store"; +import { useEditor } from "@/hooks/use-editor"; + +export function PreviewInteractionOverlay() { + const [snapLines, setSnapLines] = useState<SnapLine[]>([]); + const editor = useEditor(); + const viewport = usePreviewViewport(); + const selectedElements = useEditor((e) => e.selection.getSelectedElements()); + const activeTabPerType = usePropertiesStore((s) => s.activeTabPerType); + + const selectedRef = + selectedElements.length === 1 ? selectedElements[0] : null; + const activeTrack = selectedRef + ? editor.timeline.getTrackById({ trackId: selectedRef.trackId }) + : null; + const activeElement = + activeTrack?.elements.find( + (element) => element.id === selectedRef?.elementId, + ) ?? null; + const isMaskMode = activeElement + ? activeTabPerType[activeElement.type] === "masks" + : false; -export function PreviewInteractionOverlay({ - canvasRef, - containerRef, -}: { - canvasRef: React.RefObject<HTMLCanvasElement | null>; - containerRef: React.RefObject<HTMLDivElement | null>; -}) { const { onPointerDown, onPointerMove, onPointerUp, onDoubleClick, - snapLines, editingText, commitTextEdit, - cancelTextEdit, - } = usePreviewInteraction({ canvasRef }); + } = usePreviewInteraction({ + onSnapLinesChange: setSnapLines, + isMaskMode, + }); + + const handlePointerDown = (event: React.PointerEvent) => { + if (viewport.handlePanPointerDown({ event })) { + return; + } + + onPointerDown(event); + }; + + const handlePointerMove = (event: React.PointerEvent) => { + if (viewport.handlePanPointerMove({ event })) { + return; + } + + onPointerMove(event); + }; + + const handlePointerUp = (event: React.PointerEvent) => { + if (viewport.handlePanPointerUp({ event })) { + return; + } + + onPointerUp(event); + }; + + const handleContextMenu = (e: React.MouseEvent) => { + const x = e.nativeEvent.offsetX; + const y = e.nativeEvent.offsetY; + const outsideCanvas = + x < viewport.sceneLeft || + x > viewport.sceneLeft + viewport.sceneWidth || + y < viewport.sceneTop || + y > viewport.sceneTop + viewport.sceneHeight; + if (outsideCanvas) { + e.stopPropagation(); + } + }; return ( <div className="absolute inset-0"> - {/* biome-ignore lint/a11y/noStaticElementInteractions: canvas overlay, pointer-only interaction */} <div className="absolute inset-0 pointer-events-auto" - onPointerDown={onPointerDown} - onPointerMove={onPointerMove} - onPointerUp={onPointerUp} + role="application" + aria-label="Preview canvas" + style={{ + cursor: viewport.isPanning + ? "grabbing" + : viewport.canPan + ? "default" + : undefined, + }} + onPointerDown={handlePointerDown} + onPointerMove={handlePointerMove} + onPointerUp={handlePointerUp} + onPointerCancel={handlePointerUp} onDoubleClick={onDoubleClick} + onDragStart={(e) => e.preventDefault()} + onContextMenu={handleContextMenu} /> {editingText ? ( <TextEditOverlay - canvasRef={canvasRef} - containerRef={containerRef} trackId={editingText.trackId} elementId={editingText.elementId} element={editingText.element} onCommit={commitTextEdit} - onCancel={cancelTextEdit} /> + ) : isMaskMode ? ( + <MaskHandles onSnapLinesChange={setSnapLines} /> ) : ( - <TransformHandles canvasRef={canvasRef} containerRef={containerRef} /> + <TransformHandles onSnapLinesChange={setSnapLines} /> )} - <SnapGuides - lines={snapLines} - canvasRef={canvasRef} - containerRef={containerRef} - /> + <SnapGuides lines={snapLines} /> </div> ); } diff --git a/apps/web/src/components/editor/panels/preview/preview-viewport.tsx b/apps/web/src/components/editor/panels/preview/preview-viewport.tsx new file mode 100644 index 00000000..e38183af --- /dev/null +++ b/apps/web/src/components/editor/panels/preview/preview-viewport.tsx @@ -0,0 +1,576 @@ +"use client"; + +import { + createContext, + useCallback, + useContext, + useEffect, + useMemo, + useRef, + useState, +} from "react"; +import { + canvasToOverlay, + getDisplayScale, + positionToOverlay, + screenPixelsToLogicalThreshold, + screenToCanvas, +} from "@/lib/preview/preview-coords"; +import { clamp, isNearlyEqual } from "@/utils/math"; +import { PREVIEW_ZOOM } from "@/constants/editor-constants"; + +const MIDDLE_MOUSE_BUTTON = 1; +const IS_AT_FIT_EPSILON = 0.001; +const IS_AT_ACTUAL_SIZE_EPSILON = 0.01; + +interface PreviewViewportContextValue { + canPan: boolean; + isAtFit: boolean; + isAtActualSize: boolean; + isPanning: boolean; + sceneHeight: number; + sceneLeft: number; + sceneTop: number; + sceneWidth: number; + zoomPercent: number; + canvasToOverlay: ({ + canvasX, + canvasY, + }: { + canvasX: number; + canvasY: number; + }) => { x: number; y: number }; + fitToScreen: () => void; + getDisplayScale: () => { x: number; y: number }; + handlePanPointerDown: ({ event }: { event: React.PointerEvent }) => boolean; + handlePanPointerMove: ({ event }: { event: React.PointerEvent }) => boolean; + handlePanPointerUp: ({ event }: { event: React.PointerEvent }) => boolean; + positionToOverlay: ({ + positionX, + positionY, + }: { + positionX: number; + positionY: number; + }) => { x: number; y: number }; + panByScreenDelta: ({ + deltaX, + deltaY, + }: { + deltaX: number; + deltaY: number; + }) => void; + resetPan: () => void; + scaleZoom: ({ factor }: { factor: number }) => void; + screenPixelsToLogicalThreshold: ({ + screenPixels, + }: { + screenPixels: number; + }) => { x: number; y: number }; + screenToCanvas: ({ + clientX, + clientY, + }: { + clientX: number; + clientY: number; + }) => { x: number; y: number } | null; + setActualSize: () => void; + setViewportPercent: ({ percent }: { percent: number }) => void; + zoomIn: () => void; + zoomOut: () => void; +} + +const PreviewViewportContext = + createContext<PreviewViewportContextValue | null>(null); + +interface PreviewViewportProviderProps { + children: React.ReactNode; + value: PreviewViewportContextValue; +} + +interface PreviewViewportStateOptions { + canvasHeight: number; + canvasWidth: number; + viewportHeight: number; + viewportRef: React.RefObject<HTMLDivElement | null>; + viewportWidth: number; +} + +interface PanSession { + centerX: number; + centerY: number; + clientX: number; + clientY: number; + pointerId: number; +} + +function getClampedCenterAxis({ + axisSize, + center, + scale, + viewportSize, +}: { + axisSize: number; + center: number; + scale: number; + viewportSize: number; +}): number { + if (axisSize <= 0 || scale <= 0 || viewportSize <= 0) { + return axisSize / 2; + } + + const visibleHalfSpan = viewportSize / (2 * scale); + if (visibleHalfSpan >= axisSize / 2) { + return axisSize / 2; + } + + return clamp({ + value: center, + min: visibleHalfSpan, + max: axisSize - visibleHalfSpan, + }); +} + +function clampViewportCenter({ + canvasHeight, + canvasWidth, + centerX, + centerY, + scale, + viewportHeight, + viewportWidth, +}: { + canvasHeight: number; + canvasWidth: number; + centerX: number; + centerY: number; + scale: number; + viewportHeight: number; + viewportWidth: number; +}): { x: number; y: number } { + return { + x: getClampedCenterAxis({ + center: centerX, + axisSize: canvasWidth, + scale, + viewportSize: viewportWidth, + }), + y: getClampedCenterAxis({ + center: centerY, + axisSize: canvasHeight, + scale, + viewportSize: viewportHeight, + }), + }; +} + +function getFitScale({ + canvasHeight, + canvasWidth, + viewportHeight, + viewportWidth, +}: { + canvasHeight: number; + canvasWidth: number; + viewportHeight: number; + viewportWidth: number; +}): number { + if ( + canvasHeight <= 0 || + canvasWidth <= 0 || + viewportHeight <= 0 || + viewportWidth <= 0 + ) { + return 1; + } + + return Math.min(viewportWidth / canvasWidth, viewportHeight / canvasHeight); +} + +function getClampedZoom({ zoom }: { zoom: number }): number { + return clamp({ + value: zoom, + min: PREVIEW_ZOOM.min, + max: PREVIEW_ZOOM.max, + }); +} + +export function PreviewViewportProvider({ + children, + value, +}: PreviewViewportProviderProps) { + return ( + <PreviewViewportContext.Provider value={value}> + {children} + </PreviewViewportContext.Provider> + ); +} + +export function usePreviewViewportState({ + canvasHeight, + canvasWidth, + viewportHeight, + viewportRef, + viewportWidth, +}: PreviewViewportStateOptions): PreviewViewportContextValue { + const [zoom, setZoomState] = useState(1); + const [center, setCenter] = useState(() => ({ + x: canvasWidth / 2, + y: canvasHeight / 2, + })); + const [isPanning, setIsPanning] = useState(false); + const panSessionRef = useRef<PanSession | null>(null); + const centerRef = useRef(center); + centerRef.current = center; + + const fitScale = useMemo( + () => + getFitScale({ + canvasHeight, + canvasWidth, + viewportHeight, + viewportWidth, + }), + [canvasHeight, canvasWidth, viewportHeight, viewportWidth], + ); + const viewportScale = fitScale * zoom; + const geometry = useMemo( + () => ({ + canvasHeight, + canvasWidth, + centerX: center.x, + centerY: center.y, + scale: viewportScale, + viewportHeight, + viewportWidth, + }), + [ + canvasHeight, + canvasWidth, + center.x, + center.y, + viewportHeight, + viewportScale, + viewportWidth, + ], + ); + + const scaleZoom = useCallback(({ factor }: { factor: number }) => { + setZoomState((previousZoom) => + getClampedZoom({ + zoom: previousZoom * factor, + }), + ); + }, []); + + const panByScreenDelta = useCallback( + ({ deltaX, deltaY }: { deltaX: number; deltaY: number }) => { + if (zoom <= 1 || (deltaX === 0 && deltaY === 0)) { + return; + } + + setCenter((previousCenter) => + clampViewportCenter({ + canvasHeight, + canvasWidth, + centerX: previousCenter.x + deltaX / viewportScale, + centerY: previousCenter.y + deltaY / viewportScale, + scale: viewportScale, + viewportHeight, + viewportWidth, + }), + ); + }, + [ + canvasHeight, + canvasWidth, + viewportHeight, + viewportScale, + viewportWidth, + zoom, + ], + ); + + const resetPan = useCallback(() => { + setCenter({ + x: canvasWidth / 2, + y: canvasHeight / 2, + }); + }, [canvasHeight, canvasWidth]); + + const fitToScreen = useCallback(() => { + setZoomState(1); + setCenter({ + x: canvasWidth / 2, + y: canvasHeight / 2, + }); + }, [canvasHeight, canvasWidth]); + + const zoomIn = useCallback(() => { + setZoomState((previousZoom) => + getClampedZoom({ + zoom: previousZoom * PREVIEW_ZOOM.step, + }), + ); + }, []); + + const zoomOut = useCallback(() => { + setZoomState((previousZoom) => + getClampedZoom({ + zoom: previousZoom / PREVIEW_ZOOM.step, + }), + ); + }, []); + + const setActualSize = useCallback(() => { + const actualSizeZoom = fitScale > 0 ? 1 / fitScale : 1; + setZoomState( + getClampedZoom({ + zoom: actualSizeZoom, + }), + ); + }, [fitScale]); + + const setViewportPercent = useCallback( + ({ percent }: { percent: number }) => { + const targetZoom = fitScale > 0 ? percent / 100 / fitScale : 1; + setZoomState(getClampedZoom({ zoom: targetZoom })); + }, + [fitScale], + ); + + const getViewportRect = useCallback( + () => viewportRef.current?.getBoundingClientRect() ?? null, + [viewportRef], + ); + + const screenToCanvasWithViewport = useCallback( + ({ clientX, clientY }: { clientX: number; clientY: number }) => { + const viewportRect = getViewportRect(); + if (!viewportRect) return null; + + return screenToCanvas({ + clientX, + clientY, + geometry, + viewportRect, + }); + }, + [getViewportRect, geometry], + ); + + const canvasToOverlayWithViewport = useCallback( + ({ canvasX, canvasY }: { canvasX: number; canvasY: number }) => + canvasToOverlay({ + canvasX, + canvasY, + geometry, + }), + [geometry], + ); + + const positionToOverlayWithViewport = useCallback( + ({ positionX, positionY }: { positionX: number; positionY: number }) => + positionToOverlay({ + geometry, + positionX, + positionY, + }), + [geometry], + ); + + const getDisplayScaleWithViewport = useCallback( + () => getDisplayScale({ geometry }), + [geometry], + ); + + const getLogicalThresholdForScreenPixels = useCallback( + ({ screenPixels }: { screenPixels: number }) => + screenPixelsToLogicalThreshold({ + geometry, + screenPixels, + }), + [geometry], + ); + + const handlePanPointerDown = useCallback( + ({ event }: { event: React.PointerEvent }) => { + if (event.button !== MIDDLE_MOUSE_BUTTON || zoom <= 1) { + return false; + } + + event.preventDefault(); + event.stopPropagation(); + + panSessionRef.current = { + centerX: centerRef.current.x, + centerY: centerRef.current.y, + clientX: event.clientX, + clientY: event.clientY, + pointerId: event.pointerId, + }; + setIsPanning(true); + (event.currentTarget as HTMLElement).setPointerCapture(event.pointerId); + return true; + }, + [zoom], + ); + + const handlePanPointerMove = useCallback( + ({ event }: { event: React.PointerEvent }) => { + const panSession = panSessionRef.current; + if (!panSession) { + return false; + } + + event.preventDefault(); + event.stopPropagation(); + + const deltaX = event.clientX - panSession.clientX; + const deltaY = event.clientY - panSession.clientY; + const nextCenter = clampViewportCenter({ + canvasHeight, + canvasWidth, + centerX: panSession.centerX - deltaX / viewportScale, + centerY: panSession.centerY - deltaY / viewportScale, + scale: viewportScale, + viewportHeight, + viewportWidth, + }); + + setCenter(nextCenter); + return true; + }, + [canvasHeight, canvasWidth, viewportHeight, viewportScale, viewportWidth], + ); + + const handlePanPointerUp = useCallback( + ({ event }: { event: React.PointerEvent }) => { + const panSession = panSessionRef.current; + if (!panSession) { + return false; + } + + if ( + (event.currentTarget as HTMLElement).hasPointerCapture( + panSession.pointerId, + ) + ) { + (event.currentTarget as HTMLElement).releasePointerCapture( + panSession.pointerId, + ); + } + + panSessionRef.current = null; + setIsPanning(false); + return true; + }, + [], + ); + + useEffect(() => { + setZoomState(1); + setCenter({ + x: canvasWidth / 2, + y: canvasHeight / 2, + }); + panSessionRef.current = null; + setIsPanning(false); + }, [canvasHeight, canvasWidth]); + + useEffect(() => { + setCenter((previousCenter) => + clampViewportCenter({ + canvasHeight, + canvasWidth, + centerX: previousCenter.x, + centerY: previousCenter.y, + scale: viewportScale, + viewportHeight, + viewportWidth, + }), + ); + }, [canvasHeight, canvasWidth, viewportHeight, viewportScale, viewportWidth]); + + const sceneWidth = canvasWidth * viewportScale; + const sceneHeight = canvasHeight * viewportScale; + const sceneLeft = viewportWidth / 2 - center.x * viewportScale; + const sceneTop = viewportHeight / 2 - center.y * viewportScale; + const canPan = zoom > 1; + const zoomPercent = Math.round(viewportScale * 100); + + return useMemo( + () => ({ + canPan, + isAtActualSize: isNearlyEqual({ + leftValue: viewportScale, + rightValue: 1, + epsilon: IS_AT_ACTUAL_SIZE_EPSILON, + }), + isAtFit: isNearlyEqual({ + leftValue: zoom, + rightValue: 1, + epsilon: IS_AT_FIT_EPSILON, + }), + isPanning, + sceneHeight, + sceneLeft, + sceneTop, + sceneWidth, + zoomPercent, + canvasToOverlay: canvasToOverlayWithViewport, + fitToScreen, + getDisplayScale: getDisplayScaleWithViewport, + handlePanPointerDown, + handlePanPointerMove, + handlePanPointerUp, + panByScreenDelta, + positionToOverlay: positionToOverlayWithViewport, + resetPan, + scaleZoom, + screenPixelsToLogicalThreshold: getLogicalThresholdForScreenPixels, + screenToCanvas: screenToCanvasWithViewport, + setActualSize, + setViewportPercent, + zoomIn, + zoomOut, + }), + [ + canPan, + viewportScale, + zoom, + isPanning, + sceneHeight, + sceneLeft, + sceneTop, + sceneWidth, + zoomPercent, + canvasToOverlayWithViewport, + fitToScreen, + getDisplayScaleWithViewport, + handlePanPointerDown, + handlePanPointerMove, + handlePanPointerUp, + panByScreenDelta, + positionToOverlayWithViewport, + resetPan, + scaleZoom, + getLogicalThresholdForScreenPixels, + screenToCanvasWithViewport, + setActualSize, + setViewportPercent, + zoomIn, + zoomOut, + ], + ); +} + +export function usePreviewViewport() { + const context = useContext(PreviewViewportContext); + if (!context) { + throw new Error( + "usePreviewViewport must be used within PreviewViewportProvider", + ); + } + + return context; +} diff --git a/apps/web/src/components/editor/panels/preview/snap-guides.tsx b/apps/web/src/components/editor/panels/preview/snap-guides.tsx index 4aa714a1..744304ea 100644 --- a/apps/web/src/components/editor/panels/preview/snap-guides.tsx +++ b/apps/web/src/components/editor/panels/preview/snap-guides.tsx @@ -1,43 +1,25 @@ "use client"; -import { useEditor } from "@/hooks/use-editor"; +import { usePreviewViewport } from "@/components/editor/panels/preview/preview-viewport"; import type { SnapLine } from "@/lib/preview/preview-snap"; -import { positionToOverlay } from "@/lib/preview/preview-coords"; -export function SnapGuides({ - lines, - canvasRef, - containerRef, -}: { - lines: SnapLine[]; - canvasRef: React.RefObject<HTMLCanvasElement | null>; - containerRef: React.RefObject<HTMLDivElement | null>; -}) { - const editor = useEditor(); - const canvasSize = editor.project.getActive().settings.canvasSize; - const canvasRect = canvasRef.current?.getBoundingClientRect(); - const containerRect = containerRef.current?.getBoundingClientRect(); +export function SnapGuides({ lines }: { lines: SnapLine[] }) { + const viewport = usePreviewViewport(); - if (!canvasRect || !containerRect || lines.length === 0) { + if (lines.length === 0) { return null; } const toOverlayX = (logicalX: number) => - positionToOverlay({ + viewport.positionToOverlay({ positionX: logicalX, positionY: 0, - canvasRect, - containerRect, - canvasSize, }).x; const toOverlayY = (logicalY: number) => - positionToOverlay({ + viewport.positionToOverlay({ positionX: 0, positionY: logicalY, - canvasRect, - containerRect, - canvasSize, }).y; return ( diff --git a/apps/web/src/components/editor/panels/preview/text-edit-overlay.tsx b/apps/web/src/components/editor/panels/preview/text-edit-overlay.tsx index 26649b26..d3c61a24 100644 --- a/apps/web/src/components/editor/panels/preview/text-edit-overlay.tsx +++ b/apps/web/src/components/editor/panels/preview/text-edit-overlay.tsx @@ -1,38 +1,89 @@ "use client"; import { useCallback, useEffect, useRef } from "react"; +import { usePreviewViewport } from "@/components/editor/panels/preview/preview-viewport"; import { useEditor } from "@/hooks/use-editor"; -import type { TextElement } from "@/types/timeline"; +import type { TextElement } from "@/lib/timeline"; import { - positionToOverlay, - getDisplayScale, -} from "@/lib/preview/preview-coords"; -import { - DEFAULT_LINE_HEIGHT, FONT_SIZE_SCALE_REFERENCE, } from "@/constants/text-constants"; +import { DEFAULTS } from "@/lib/timeline/defaults"; +import { + getMetricAscent, + getMetricDescent, + setCanvasLetterSpacing, +} from "@/lib/text/layout"; + +let cachedCanvas: HTMLCanvasElement | null = null; + +function getMeasurementContext(): CanvasRenderingContext2D | null { + if (!cachedCanvas) cachedCanvas = document.createElement("canvas"); + return cachedCanvas.getContext("2d"); +} + +/** + * Uses fontBoundingBox metrics (which CSS uses for line box layout) rather than + * actualBoundingBox to model where the browser places the baseline within the + * line box, then measures actual glyph bounds to find the visual center. + */ +function measureCSSVisualCenterOffset({ + lines, + fontString, + letterSpacingPx, + lineHeightPx, + displayFontSize, +}: { + lines: string[]; + fontString: string; + letterSpacingPx: number; + lineHeightPx: number; + displayFontSize: number; +}): number { + const ctx = getMeasurementContext(); + if (!ctx) return 0; + + ctx.font = fontString; + ctx.textBaseline = "alphabetic"; + setCanvasLetterSpacing({ ctx, letterSpacingPx }); + + const probe = ctx.measureText("M"); + const fontAscent = probe.fontBoundingBoxAscent ?? displayFontSize * 0.8; + const fontDescent = probe.fontBoundingBoxDescent ?? displayFontSize * 0.2; + const halfLeading = (lineHeightPx - fontAscent - fontDescent) / 2; -const TEXT_BACKGROUND_PADDING = "4px 8px"; -const TEXT_EDIT_VERTICAL_OFFSET_EM = 0.06; + let visualTop = Number.POSITIVE_INFINITY; + let visualBottom = Number.NEGATIVE_INFINITY; + + for (let i = 0; i < lines.length; i++) { + const metrics = ctx.measureText(lines[i] || " "); + const baseline = i * lineHeightPx + halfLeading + fontAscent; + visualTop = Math.min( + visualTop, + baseline - getMetricAscent({ metrics, fallbackFontSize: displayFontSize }), + ); + visualBottom = Math.max( + visualBottom, + baseline + getMetricDescent({ metrics, fallbackFontSize: displayFontSize }), + ); + } + + const cssBlockHeight = lines.length * lineHeightPx; + return (visualTop + visualBottom) / 2 - cssBlockHeight / 2; +} export function TextEditOverlay({ - canvasRef, - containerRef, trackId, elementId, element, onCommit, - onCancel, }: { - canvasRef: React.RefObject<HTMLCanvasElement | null>; - containerRef: React.RefObject<HTMLDivElement | null>; trackId: string; elementId: string; element: TextElement; onCommit: () => void; - onCancel: () => void; }) { const editor = useEditor(); + const viewport = usePreviewViewport(); const divRef = useRef<HTMLDivElement>(null); useEffect(() => { @@ -60,59 +111,67 @@ export function TextEditOverlay({ const { key } = event; if (key === "Escape") { event.preventDefault(); - onCancel(); + onCommit(); return; } }, - [onCancel], + [onCommit], ); - const canvasRect = canvasRef.current?.getBoundingClientRect(); - const containerRect = containerRef.current?.getBoundingClientRect(); const canvasSize = editor.project.getActive().settings.canvasSize; - if (!canvasRect || !containerRect || !canvasSize) return null; + if (!canvasSize) return null; - const { x: posX, y: posY } = positionToOverlay({ + const { x: posX, y: posY } = viewport.positionToOverlay({ positionX: element.transform.position.x, positionY: element.transform.position.y, - canvasRect, - containerRect, - canvasSize, }); - const { x: displayScaleX } = getDisplayScale({ - canvasRect, - canvasSize, - }); + const { x: displayScaleX } = viewport.getDisplayScale(); const displayFontSize = element.fontSize * (canvasSize.height / FONT_SIZE_SCALE_REFERENCE) * displayScaleX; - const verticalAlignmentOffset = - displayFontSize * TEXT_EDIT_VERTICAL_OFFSET_EM; - - const lineHeight = element.lineHeight ?? DEFAULT_LINE_HEIGHT; + const lineHeight = element.lineHeight ?? DEFAULTS.text.lineHeight; const fontWeight = element.fontWeight === "bold" ? "bold" : "normal"; const fontStyle = element.fontStyle === "italic" ? "italic" : "normal"; - const letterSpacing = element.letterSpacing ?? 0; + const displayLetterSpacing = (element.letterSpacing ?? 0) * displayScaleX; + const lineHeightPx = displayFontSize * lineHeight; + const lines = (element.content || "").split("\n"); + const fontString = `${fontStyle} ${fontWeight} ${displayFontSize}px "${element.fontFamily}", sans-serif`; + + const cssVisualCenterOffset = measureCSSVisualCenterOffset({ + lines, + fontString, + letterSpacingPx: displayLetterSpacing, + lineHeightPx, + displayFontSize, + }); + + const bg = element.background; const shouldShowBackground = - element.background.enabled && - element.background.color && - element.background.color !== "transparent"; - const backgroundColor = shouldShowBackground - ? element.background.color - : "transparent"; + bg.enabled && bg.color && bg.color !== "transparent"; + const fontSizeRatio = element.fontSize / DEFAULTS.text.element.fontSize; + const displayPaddingX = shouldShowBackground + ? (bg.paddingX ?? DEFAULTS.text.background.paddingX) * + fontSizeRatio * + displayScaleX + : 0; + const displayPaddingY = shouldShowBackground + ? (bg.paddingY ?? DEFAULTS.text.background.paddingY) * + fontSizeRatio * + displayScaleX + : 0; return ( <div className="absolute" style={{ left: posX, - top: posY - verticalAlignmentOffset, - transform: `translate(-50%, -50%) scale(${element.transform.scale}) rotate(${element.transform.rotate}deg)`, + top: posY - cssVisualCenterOffset, + transform: `translate(-50%, -50%) scale(${element.transform.scaleX}, ${element.transform.scaleY}) rotate(${element.transform.rotate}deg)`, transformOrigin: "center center", }} > @@ -131,13 +190,15 @@ export function TextEditOverlay({ fontWeight, fontStyle, textAlign: element.textAlign, - letterSpacing: `${letterSpacing}px`, + letterSpacing: `${displayLetterSpacing}px`, lineHeight, color: element.color, - backgroundColor, - minHeight: displayFontSize * lineHeight, + backgroundColor: shouldShowBackground ? bg.color : "transparent", + minHeight: lineHeightPx, textDecoration: element.textDecoration ?? "none", - padding: shouldShowBackground ? TEXT_BACKGROUND_PADDING : 0, + padding: shouldShowBackground + ? `${displayPaddingY}px ${displayPaddingX}px` + : 0, minWidth: 1, }} onInput={handleInput} diff --git a/apps/web/src/components/editor/panels/preview/toolbar.tsx b/apps/web/src/components/editor/panels/preview/toolbar.tsx index 7f5cd9bc..56cb784a 100644 --- a/apps/web/src/components/editor/panels/preview/toolbar.tsx +++ b/apps/web/src/components/editor/panels/preview/toolbar.tsx @@ -1,5 +1,6 @@ "use client"; +import { useState, useEffect } from "react"; import { useEditor } from "@/hooks/use-editor"; import { formatTimeCode } from "@/lib/time"; import { invokeAction } from "@/lib/actions"; @@ -7,74 +8,144 @@ import { EditableTimecode } from "@/components/editable-timecode"; import { Button } from "@/components/ui/button"; import { FullScreenIcon, + GridTableIcon, PauseIcon, PlayIcon, } from "@hugeicons/core-free-icons"; import { HugeiconsIcon } from "@hugeicons/react"; -import { OcSocialIcon } from "@opencut/ui/icons"; +import { getGuideById } from "@/lib/guides"; import { Separator } from "@/components/ui/separator"; +import { + Select, + SelectTrigger, + SelectContent, + SelectItem, + SelectSeparator, +} from "@/components/ui/select"; +import { PREVIEW_ZOOM_PRESETS } from "@/constants/editor-constants"; +import { usePreviewViewport } from "./preview-viewport"; +import { GridPopover } from "./guide-popover"; +import { usePreviewStore } from "@/stores/preview-store"; export function PreviewToolbar({ - isFullscreen, onToggleFullscreen, }: { - isFullscreen: boolean; onToggleFullscreen: () => void; }) { - const editor = useEditor(); - const isPlaying = editor.playback.getIsPlaying(); - const currentTime = editor.playback.getCurrentTime(); - const totalDuration = editor.timeline.getTotalDuration(); - const fps = editor.project.getActive().settings.fps; + const activeGuide = usePreviewStore((state) => state.activeGuide); + const activeGuideDefinition = getGuideById(activeGuide); return ( <div className="grid grid-cols-[1fr_auto_1fr] items-center pb-3 pt-5 px-5"> - <div className="flex items-center"> - <EditableTimecode - time={currentTime} - duration={totalDuration} - format="HH:MM:SS:FF" - fps={fps} - onTimeChange={({ time }) => editor.playback.seek({ time })} - className="text-center" - /> - <span className="text-muted-foreground px-2 font-mono text-xs">/</span> - <span className="text-muted-foreground font-mono text-xs"> - {formatTimeCode({ - timeInSeconds: totalDuration, - format: "HH:MM:SS:FF", - fps, - })} - </span> - </div> - - <Button - variant="text" - size="icon" - onClick={() => invokeAction("toggle-play")} - > - <HugeiconsIcon icon={isPlaying ? PauseIcon : PlayIcon} /> - </Button> - + <TimecodeDisplay /> + <PlayPauseButton /> <div className="justify-self-end flex items-center gap-2.5"> - <Button - variant="secondary" - size="sm" - className="[&_svg]:size-auto px-1 h-7" - onClick={onToggleFullscreen} - title={isFullscreen ? "Exit fullscreen" : "Enter fullscreen"} - > - <OcSocialIcon size={20} /> - </Button> + <ZoomSelect /> <Separator orientation="vertical" className="h-4" /> - <Button - variant="text" - onClick={onToggleFullscreen} - title={isFullscreen ? "Exit fullscreen" : "Enter fullscreen"} - > + <GridPopover> + <Button + variant={activeGuideDefinition ? "secondary" : "text"} + size="icon" + > + {activeGuideDefinition ? ( + activeGuideDefinition.renderTriggerIcon() + ) : ( + <HugeiconsIcon icon={GridTableIcon} /> + )} + </Button> + </GridPopover> + <Button variant="text" onClick={onToggleFullscreen}> <HugeiconsIcon icon={FullScreenIcon} /> </Button> </div> </div> ); } + +function TimecodeDisplay() { + const editor = useEditor(); + const totalDuration = useEditor((e) => e.timeline.getTotalDuration()); + const fps = useEditor((e) => e.project.getActive().settings.fps); + const [currentTime, setCurrentTime] = useState(() => + editor.playback.getCurrentTime(), + ); + + useEffect(() => { + const handler = (e: Event) => + setCurrentTime((e as CustomEvent<{ time: number }>).detail.time); + window.addEventListener("playback-update", handler); + window.addEventListener("playback-seek", handler); + return () => { + window.removeEventListener("playback-update", handler); + window.removeEventListener("playback-seek", handler); + }; + }, []); + + return ( + <div className="flex items-center"> + <EditableTimecode + time={currentTime} + duration={totalDuration} + format="HH:MM:SS:FF" + fps={fps} + onTimeChange={({ time }) => editor.playback.seek({ time })} + className="text-center" + /> + <span className="text-muted-foreground px-2 font-mono text-xs">/</span> + <span className="text-muted-foreground font-mono text-xs"> + {formatTimeCode({ + timeInSeconds: totalDuration, + format: "HH:MM:SS:FF", + fps, + })} + </span> + </div> + ); +} + +function ZoomSelect() { + const { isAtFit, zoomPercent, fitToScreen, setViewportPercent } = + usePreviewViewport(); + + const displayLabel = isAtFit ? "Fit" : `${zoomPercent}%`; + + const onValueChange = (value: string) => { + if (value === "fit") { + fitToScreen(); + } else { + setViewportPercent({ percent: Number(value) }); + } + }; + + return ( + <Select + value={isAtFit ? "fit" : String(zoomPercent)} + onValueChange={onValueChange} + > + <SelectTrigger className="tabular-nums">{displayLabel}</SelectTrigger> + <SelectContent> + <SelectItem value="fit">Fit</SelectItem> + <SelectSeparator /> + {PREVIEW_ZOOM_PRESETS.map((preset) => ( + <SelectItem key={preset} value={String(preset)}> + {preset}% + </SelectItem> + ))} + </SelectContent> + </Select> + ); +} + +function PlayPauseButton() { + const isPlaying = useEditor((e) => e.playback.getIsPlaying()); + + return ( + <Button + variant="text" + size="icon" + onClick={() => invokeAction("toggle-play")} + > + <HugeiconsIcon icon={isPlaying ? PauseIcon : PlayIcon} /> + </Button> + ); +} diff --git a/apps/web/src/components/editor/panels/preview/transform-handles.tsx b/apps/web/src/components/editor/panels/preview/transform-handles.tsx index 2fcf8096..88332625 100644 --- a/apps/web/src/components/editor/panels/preview/transform-handles.tsx +++ b/apps/web/src/components/editor/panels/preview/transform-handles.tsx @@ -1,112 +1,55 @@ "use client"; +import { usePreviewViewport } from "@/components/editor/panels/preview/preview-viewport"; import { useTransformHandles } from "@/hooks/use-transform-handles"; -import { useEditor } from "@/hooks/use-editor"; import { isVisualElement } from "@/lib/timeline/element-utils"; -import { SnapGuides } from "./snap-guides"; -import { canvasToOverlay, getDisplayScale } from "@/lib/preview/preview-coords"; -import type { ElementBounds } from "@/lib/preview/element-bounds"; -import { cn } from "@/utils/ui"; -import { HugeiconsIcon } from "@hugeicons/react"; +import { + getCornerPosition, + getEdgeHandlePosition, + getRotationHandlePosition, + type Corner, + type Edge, +} from "@/lib/preview/element-bounds"; +import type { OnSnapLinesChange } from "@/hooks/use-preview-interaction"; +import { + BoundingBoxOutline, + CornerHandle, + EdgeHandle, + IconHandle, + getResizeCursor, +} from "./handle-primitives"; import { Rotate01Icon } from "@hugeicons/core-free-icons"; -const HANDLE_SIZE = 10; -const ROTATION_HANDLE_OFFSET = 24; -const ROTATION_HANDLE_RADIUS = 10; -const CORNER_HIT_AREA_SIZE = 18; - -type Corner = "top-left" | "top-right" | "bottom-left" | "bottom-right"; const CORNERS: Corner[] = [ "top-left", "top-right", "bottom-left", "bottom-right", ]; - -export function getCornerPosition({ - bounds, - corner, -}: { - bounds: ElementBounds; - corner: Corner; -}): { x: number; y: number } { - const halfW = bounds.width / 2; - const halfH = bounds.height / 2; - const angleRad = (bounds.rotation * Math.PI) / 180; - const cos = Math.cos(angleRad); - const sin = Math.sin(angleRad); - - const localX = - corner === "top-left" || corner === "bottom-left" ? -halfW : halfW; - const localY = - corner === "top-left" || corner === "top-right" ? -halfH : halfH; - - return { - x: bounds.cx + (localX * cos - localY * sin), - y: bounds.cy + (localX * sin + localY * cos), - }; -} - -export function getRotationHandlePosition({ bounds }: { bounds: ElementBounds }): { - x: number; - y: number; -} { - const angleRad = (bounds.rotation * Math.PI) / 180; - const cos = Math.cos(angleRad); - const sin = Math.sin(angleRad); - const localY = -bounds.height / 2 - ROTATION_HANDLE_OFFSET; - return { - x: bounds.cx - localY * sin, - y: bounds.cy + localY * cos, - }; -} - -export function getOverlayContext({ - canvasRef, - containerRef, -}: { - canvasRef: React.RefObject<HTMLCanvasElement | null>; - containerRef: React.RefObject<HTMLDivElement | null>; -}): { - canvasRect: DOMRect; - containerRect: DOMRect; -} | null { - const canvasRect = canvasRef.current?.getBoundingClientRect(); - const containerRect = containerRef.current?.getBoundingClientRect(); - if (!canvasRect || !containerRect) return null; - return { canvasRect, containerRect }; -} +const EDGES: Edge[] = ["right", "left", "bottom"]; export function TransformHandles({ - canvasRef, - containerRef, + onSnapLinesChange, }: { - canvasRef: React.RefObject<HTMLCanvasElement | null>; - containerRef: React.RefObject<HTMLDivElement | null>; + onSnapLinesChange?: OnSnapLinesChange; }) { + const viewport = usePreviewViewport(); const { selectedWithBounds, hasVisualSelection, - snapLines, handleCornerPointerDown, + handleEdgePointerDown, handleRotationPointerDown, handlePointerMove, handlePointerUp, - } = useTransformHandles({ canvasRef }); - - const editor = useEditor(); - const canvasSize = editor.project.getActive().settings.canvasSize; + } = useTransformHandles({ onSnapLinesChange }); if (!hasVisualSelection || !selectedWithBounds) return null; - const overlayContext = getOverlayContext({ canvasRef, containerRef }); - if (!overlayContext) return null; - const { bounds, element } = selectedWithBounds; if (!isVisualElement(element)) return null; - const { canvasRect, containerRect } = overlayContext; - const displayScale = getDisplayScale({ canvasRect, canvasSize }); + const displayScale = viewport.getDisplayScale(); const toOverlay = ({ canvasX, @@ -115,31 +58,30 @@ export function TransformHandles({ canvasX: number; canvasY: number; }) => - canvasToOverlay({ + viewport.canvasToOverlay({ canvasX, canvasY, - canvasRect, - containerRect, - canvasSize, }); const center = toOverlay({ canvasX: bounds.cx, canvasY: bounds.cy }); - const outlineWidth = bounds.width * displayScale.x; - const outlineHeight = bounds.height * displayScale.y; + const outlineWidth = Math.abs(bounds.width) * displayScale.x; + const outlineHeight = Math.abs(bounds.height) * displayScale.y; - const rotationHandle = getRotationHandlePosition({ bounds }); + const rotationHandleCanvas = getRotationHandlePosition({ bounds }); const rotationHandleScreen = toOverlay({ - canvasX: rotationHandle.x, - canvasY: rotationHandle.y, + canvasX: rotationHandleCanvas.x, + canvasY: rotationHandleCanvas.y, }); + const onPointerMove = (event: React.PointerEvent) => + handlePointerMove({ event }); + const onPointerUp = () => handlePointerUp(); + return ( - <div className="pointer-events-none absolute inset-0" aria-hidden> - <SnapGuides - lines={snapLines} - canvasRef={canvasRef} - containerRef={containerRef} - /> + <div + className="pointer-events-none absolute inset-0 overflow-hidden" + aria-hidden + > <BoundingBoxOutline center={center} outlineWidth={outlineWidth} @@ -152,132 +94,47 @@ export function TransformHandles({ canvasX: cornerPosition.x, canvasY: cornerPosition.y, }); + const angleDeg = + Math.atan2(screen.y - center.y, screen.x - center.x) * + (180 / Math.PI); return ( <CornerHandle key={corner} - corner={corner} + cursor={getResizeCursor({ angleDeg })} screen={screen} onPointerDown={(event) => handleCornerPointerDown({ event, corner }) } - onPointerMove={(event) => handlePointerMove({ event })} - onPointerUp={(event) => handlePointerUp({ event })} + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} + /> + ); + })} + {EDGES.map((edge) => { + const edgePosition = getEdgeHandlePosition({ bounds, edge }); + const screen = toOverlay({ + canvasX: edgePosition.x, + canvasY: edgePosition.y, + }); + return ( + <EdgeHandle + key={edge} + edge={edge} + screen={screen} + rotation={bounds.rotation} + onPointerDown={(event) => handleEdgePointerDown({ event, edge })} + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} /> ); })} - <RotationHandle + <IconHandle + icon={Rotate01Icon} screen={rotationHandleScreen} onPointerDown={(event) => handleRotationPointerDown({ event })} - onPointerMove={(event) => handlePointerMove({ event })} - onPointerUp={(event) => handlePointerUp({ event })} + onPointerMove={onPointerMove} + onPointerUp={onPointerUp} /> </div> ); } - -function BoundingBoxOutline({ - center, - outlineWidth, - outlineHeight, - rotation, -}: { - center: { x: number; y: number }; - outlineWidth: number; - outlineHeight: number; - rotation: number; -}) { - return ( - <div - className="pointer-events-none absolute" - style={{ - left: center.x - outlineWidth / 2, - top: center.y - outlineHeight / 2, - width: outlineWidth, - height: outlineHeight, - transform: `rotate(${rotation}deg)`, - transformOrigin: "center center", - border: "1px dashed white", - boxSizing: "border-box", - opacity: 0.75, - }} - /> - ); -} - -function CornerHandle({ - corner, - screen, - onPointerDown, - onPointerMove, - onPointerUp, -}: { - corner: Corner; - screen: { x: number; y: number }; - onPointerDown: (event: React.PointerEvent) => void; - onPointerMove: (event: React.PointerEvent) => void; - onPointerUp: (event: React.PointerEvent) => void; -}) { - const isNesw = corner === "top-right" || corner === "bottom-left"; - - return ( - <button - type="button" - className={cn( - "absolute flex items-center justify-center outline-none", - isNesw ? "cursor-nesw-resize" : "cursor-nwse-resize", - )} - style={{ - left: screen.x - CORNER_HIT_AREA_SIZE / 2, - top: screen.y - CORNER_HIT_AREA_SIZE / 2, - width: CORNER_HIT_AREA_SIZE, - height: CORNER_HIT_AREA_SIZE, - pointerEvents: "auto", - }} - onPointerDown={onPointerDown} - onPointerMove={onPointerMove} - onPointerUp={onPointerUp} - onPointerLeave={onPointerUp} - onKeyDown={(event) => event.key === "Enter" && event.preventDefault()} - onKeyUp={(event) => event.key === "Enter" && event.preventDefault()} - > - <div - className="rounded-sm bg-white" - style={{ width: HANDLE_SIZE, height: HANDLE_SIZE }} - /> - </button> - ); -} - -function RotationHandle({ - screen, - onPointerDown, - onPointerMove, - onPointerUp, -}: { - screen: { x: number; y: number }; - onPointerDown: (event: React.PointerEvent) => void; - onPointerMove: (event: React.PointerEvent) => void; - onPointerUp: (event: React.PointerEvent) => void; -}) { - return ( - <button - type="button" - className="absolute flex items-center justify-center rounded-full bg-white text-black shadow-sm outline-none" - style={{ - left: screen.x - ROTATION_HANDLE_RADIUS, - top: screen.y - ROTATION_HANDLE_RADIUS, - width: ROTATION_HANDLE_RADIUS * 2, - height: ROTATION_HANDLE_RADIUS * 2, - pointerEvents: "auto", - }} - onPointerDown={onPointerDown} - onPointerMove={onPointerMove} - onPointerUp={onPointerUp} - onPointerLeave={onPointerUp} - onKeyDown={(event) => event.key === "Enter" && event.preventDefault()} - onKeyUp={(event) => event.key === "Enter" && event.preventDefault()} - > - <HugeiconsIcon icon={Rotate01Icon} className="size-3" strokeWidth={2.5} /> - </button> - ); -} diff --git a/apps/web/src/components/editor/panels/properties/audio-properties.tsx b/apps/web/src/components/editor/panels/properties/audio-properties.tsx deleted file mode 100644 index 2ad46497..00000000 --- a/apps/web/src/components/editor/panels/properties/audio-properties.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export function AudioProperties() { - return <div className="space-y-4 p-5">Audio properties</div>; -} diff --git a/apps/web/src/components/editor/panels/properties/clip-effects-properties.tsx b/apps/web/src/components/editor/panels/properties/clip-effects-properties.tsx deleted file mode 100644 index a1324bdf..00000000 --- a/apps/web/src/components/editor/panels/properties/clip-effects-properties.tsx +++ /dev/null @@ -1,215 +0,0 @@ -"use client"; - -import { useEffect, useState } from "react"; -import type { Effect } from "@/types/effects"; -import type { VisualElement } from "@/types/timeline"; -import { getEffect } from "@/lib/effects/registry"; -import { useEditor } from "@/hooks/use-editor"; -import { usePropertiesStore } from "@/stores/properties-store"; -import { - Section, - SectionContent, - SectionHeader, - SectionTitle, - SectionFields, -} from "./section"; -import { EffectParamField } from "./effect-param-field"; -import { Button } from "@/components/ui/button"; -import { HugeiconsIcon } from "@hugeicons/react"; -import { - ArrowLeft01Icon, - Delete02Icon, - ViewIcon, - ViewOffSlashIcon, -} from "@hugeicons/core-free-icons"; -import { ScrollArea } from "@/components/ui/scroll-area"; -import { cn } from "@/utils/ui"; -export function ClipEffectsProperties({ - element, - trackId, -}: { - element: VisualElement; - trackId: string; -}) { - const closeClipEffects = usePropertiesStore( - (state) => state.closeClipEffects, - ); - const editor = useEditor(); - const effects = element.effects ?? []; - - useEffect(() => { - if (effects.length === 0) closeClipEffects(); - }, [effects.length, closeClipEffects]); - - const [dragIndex, setDragIndex] = useState<number | null>(null); - const [dropIndex, setDropIndex] = useState<number | null>(null); - - const handleDragStart = ({ index }: { index: number }) => { - setDragIndex(index); - }; - - const handleDragOver = ({ event, index }: { event: React.DragEvent; index: number }) => { - event.preventDefault(); - if (index !== dropIndex) setDropIndex(index); - }; - - const handleDrop = ({ toIndex }: { toIndex: number }) => { - if (dragIndex !== null && dragIndex !== toIndex) { - editor.timeline.reorderClipEffects({ - trackId, - elementId: element.id, - fromIndex: dragIndex, - toIndex, - }); - } - setDragIndex(null); - setDropIndex(null); - }; - - const handleDragEnd = () => { - setDragIndex(null); - setDropIndex(null); - }; - - return ( - <div className="flex h-full flex-col"> - <div className="flex h-11 shrink-0 items-center gap-2 border-b px-1.5"> - <Button - variant="ghost" - size="icon" - onClick={closeClipEffects} - aria-label="Back to properties" - > - <HugeiconsIcon icon={ArrowLeft01Icon} /> - </Button> - <span className="text-sm font-medium">Effects</span> - </div> - <ScrollArea className="flex-1 scrollbar-hidden"> - {effects.map((effect, index) => ( - // biome-ignore lint/a11y/noStaticElementInteractions: drag-and-drop list reorder - <div - key={effect.id} - draggable - onDragStart={() => handleDragStart({ index })} - onDragOver={(event) => handleDragOver({ event, index })} - onDrop={() => handleDrop({ toIndex: index })} - onDragEnd={handleDragEnd} - className={cn( - "group", - dragIndex === index && "opacity-40", - dropIndex === index && - dragIndex !== null && - dragIndex !== index && - (index < dragIndex - ? "border-t-2 border-primary" - : "border-b-2 border-primary"), - )} - > - <ClipEffectSection - effect={effect} - element={element} - trackId={trackId} - /> - </div> - ))} - </ScrollArea> - </div> - ); -} - -function ClipEffectSection({ - effect, - element, - trackId, -}: { - effect: Effect; - element: VisualElement; - trackId: string; -}) { - const editor = useEditor(); - const definition = getEffect({ effectType: effect.type }); - - const previewParam = ({ key }: { key: string }) => (value: number | string | boolean) => { - const updatedEffects = (element.effects ?? []).map((existing) => - existing.id !== effect.id - ? existing - : { ...existing, params: { ...existing.params, [key]: value } }, - ); - editor.timeline.previewElements({ - updates: [ - { - trackId, - elementId: element.id, - updates: { effects: updatedEffects }, - }, - ], - }); - }; - - const commitParam = () => editor.timeline.commitPreview(); - - const toggleEffect = () => - editor.timeline.toggleClipEffect({ - trackId, - elementId: element.id, - effectId: effect.id, - }); - - const removeEffect = () => - editor.timeline.removeClipEffect({ - trackId, - elementId: element.id, - effectId: effect.id, - }); - - return ( - <Section sectionKey={`clip-effect:${effect.id}`} showTopBorder={false}> - <SectionHeader - className="cursor-move" - trailing={ - <div className="flex items-center gap-1"> - <Button - variant={effect.enabled ? "secondary" : "ghost"} - size="icon" - aria-label={`Toggle ${definition.name}`} - onClick={toggleEffect} - > - <HugeiconsIcon - icon={effect.enabled ? ViewIcon : ViewOffSlashIcon} - /> - </Button> - <Button - variant="ghost" - size="icon" - aria-label={`Remove ${definition.name}`} - onClick={removeEffect} - > - <HugeiconsIcon icon={Delete02Icon} /> - </Button> - </div> - } - > - <SectionTitle - className={cn(!effect.enabled && "text-muted-foreground")} - > - {definition.name} - </SectionTitle> - </SectionHeader> - {effect.enabled && ( - <SectionContent> - <SectionFields> - {definition.params.map((param) => ( - <EffectParamField - key={param.key} - param={param} - value={effect.params[param.key] ?? param.default} - onPreview={previewParam({ key: param.key })} - onCommit={commitParam} - /> - ))} - </SectionFields> - </SectionContent> - )} - </Section> - ); -} diff --git a/apps/web/src/components/editor/panels/properties/keyframe-toggle.tsx b/apps/web/src/components/editor/panels/properties/components/keyframe-toggle.tsx index b5b8685f..b5b8685f 100644 --- a/apps/web/src/components/editor/panels/properties/keyframe-toggle.tsx +++ b/apps/web/src/components/editor/panels/properties/components/keyframe-toggle.tsx diff --git a/apps/web/src/components/editor/panels/properties/components/property-param-field.tsx b/apps/web/src/components/editor/panels/properties/components/property-param-field.tsx new file mode 100644 index 00000000..e69c6918 --- /dev/null +++ b/apps/web/src/components/editor/panels/properties/components/property-param-field.tsx @@ -0,0 +1,194 @@ +"use client"; + +import type { ParamDefinition, NumberParamDefinition } from "@/lib/params"; +import { formatNumberForDisplay, snapToStep } from "@/utils/math"; +import { SectionField } from "@/components/section"; +import { NumberField } from "@/components/ui/number-field"; +import { Switch } from "@/components/ui/switch"; +import { ColorPicker } from "@/components/ui/color-picker"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { usePropertyDraft } from "../hooks/use-property-draft"; +import { KeyframeToggle } from "./keyframe-toggle"; + +export function PropertyParamField({ + param, + value, + onPreview, + onCommit, + keyframe, +}: { + param: ParamDefinition; + value: number | string | boolean; + onPreview: (value: number | string | boolean) => void; + onCommit: () => void; + keyframe?: { + isActive: boolean; + isDisabled: boolean; + onToggle: () => void; + }; +}) { + return ( + <SectionField + label={param.label} + beforeLabel={ + keyframe ? ( + <KeyframeToggle + isActive={keyframe.isActive} + isDisabled={keyframe.isDisabled} + title={`Toggle ${param.label.toLowerCase()} keyframe`} + onToggle={keyframe.onToggle} + /> + ) : undefined + } + > + <ParamInput + param={param} + value={value} + onPreview={onPreview} + onCommit={onCommit} + /> + </SectionField> + ); +} + +function ParamInput({ + param, + value, + onPreview, + onCommit, +}: { + param: ParamDefinition; + value: number | string | boolean; + onPreview: (value: number | string | boolean) => void; + onCommit: () => void; +}) { + if (param.type === "number") { + return ( + <NumberParamField + param={param} + value={typeof value === "number" ? value : Number(value)} + onPreview={onPreview} + onCommit={onCommit} + /> + ); + } + + if (param.type === "boolean") { + return ( + <Switch + checked={Boolean(value)} + onCheckedChange={(checked) => { + onPreview(checked); + onCommit(); + }} + /> + ); + } + + if (param.type === "select") { + return ( + <Select + value={String(value)} + onValueChange={(selected) => { + onPreview(selected); + onCommit(); + }} + > + <SelectTrigger className="w-full"> + <SelectValue /> + </SelectTrigger> + <SelectContent> + {param.options.map((option) => ( + <SelectItem key={option.value} value={option.value}> + {option.label} + </SelectItem> + ))} + </SelectContent> + </Select> + ); + } + + if (param.type === "color") { + return ( + <ColorPicker + value={String(value).replace(/^#/, "").toUpperCase()} + onChange={(color) => onPreview(`#${color}`)} + onChangeEnd={(color) => { + onPreview(`#${color}`); + onCommit(); + }} + /> + ); + } + + return null; +} + +function NumberParamField({ + param, + value, + onPreview, + onCommit, +}: { + param: NumberParamDefinition; + value: number; + onPreview: (value: number) => void; + onCommit: () => void; +}) { + const { min, max, step, displayMultiplier = 1 } = param; + const displayValue = value * displayMultiplier; + const clampDisplayValue = (nextDisplayValue: number) => + Math.max( + min, + max !== undefined ? Math.min(max, nextDisplayValue) : nextDisplayValue, + ); + + const previewFromDisplay = (displayVal: number) => { + const clamped = clampDisplayValue( + snapToStep({ value: displayVal, step }), + ); + onPreview(clamped / displayMultiplier); + }; + + const maxFractionDigits = step >= 1 ? 0 : Math.round(-Math.log10(step)); + + const draft = usePropertyDraft({ + displayValue: formatNumberForDisplay({ + value: displayValue, + maxFractionDigits, + }), + parse: (input) => { + const parsed = parseFloat(input); + if (Number.isNaN(parsed)) return null; + return clampDisplayValue(snapToStep({ value: parsed, step })); + }, + onPreview: previewFromDisplay, + onCommit, + }); + + const handleReset = () => { + onPreview(param.default); + onCommit(); + }; + + return ( + <NumberField + icon={param.shortLabel} + value={draft.displayValue} + dragSensitivity="slow" + isDefault={value === param.default} + onFocus={draft.onFocus} + onChange={draft.onChange} + onBlur={draft.onBlur} + onScrub={previewFromDisplay} + onScrubEnd={onCommit} + onReset={handleReset} + /> + ); +} diff --git a/apps/web/src/components/editor/panels/properties/effect-param-field.tsx b/apps/web/src/components/editor/panels/properties/effect-param-field.tsx deleted file mode 100644 index 408d430a..00000000 --- a/apps/web/src/components/editor/panels/properties/effect-param-field.tsx +++ /dev/null @@ -1,152 +0,0 @@ -"use client"; - -import type { EffectParamDefinition, NumberEffectParamDefinition } from "@/types/effects"; -import { clamp } from "@/utils/math"; -import { SectionField } from "./section"; -import { Slider } from "@/components/ui/slider"; -import { NumberField } from "@/components/ui/number-field"; -import { Switch } from "@/components/ui/switch"; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select"; -import { usePropertyDraft } from "./hooks/use-property-draft"; - -export function EffectParamField({ - param, - value, - onPreview, - onCommit, -}: { - param: EffectParamDefinition; - value: number | string | boolean; - onPreview: (value: number | string | boolean) => void; - onCommit: () => void; -}) { - return ( - <SectionField label={param.label}> - <EffectParamInput param={param} value={value} onPreview={onPreview} onCommit={onCommit} /> - </SectionField> - ); -} - -function EffectParamInput({ - param, - value, - onPreview, - onCommit, -}: { - param: EffectParamDefinition; - value: number | string | boolean; - onPreview: (value: number | string | boolean) => void; - onCommit: () => void; -}) { - if (param.type === "number") { - return ( - <NumberParamField - param={param} - value={typeof value === "number" ? value : Number(value)} - onPreview={onPreview} - onCommit={onCommit} - /> - ); - } - - if (param.type === "boolean") { - return ( - <Switch - checked={Boolean(value)} - onCheckedChange={(checked) => { - onPreview(checked); - onCommit(); - }} - /> - ); - } - - if (param.type === "select") { - return ( - <Select - value={String(value)} - onValueChange={(selected) => { - onPreview(selected); - onCommit(); - }} - > - <SelectTrigger className="w-full"> - <SelectValue /> - </SelectTrigger> - <SelectContent> - {param.options.map((option) => ( - <SelectItem key={option.value} value={option.value}> - {option.label} - </SelectItem> - ))} - </SelectContent> - </Select> - ); - } - - if (param.type === "color") { - return ( - <input - type="color" - className="h-8 w-full cursor-pointer rounded border" - value={String(value)} - onChange={(event) => onPreview(event.target.value)} - onBlur={onCommit} - /> - ); - } - - return null; -} - -function NumberParamField({ - param, - value, - onPreview, - onCommit, -}: { - param: NumberEffectParamDefinition; - value: number; - onPreview: (value: number) => void; - onCommit: () => void; -}) { - const { min, max, step } = param; - - const draft = usePropertyDraft({ - displayValue: String(value), - parse: (input) => { - const parsed = parseFloat(input); - if (Number.isNaN(parsed)) return null; - return clamp({ value: parsed, min, max }); - }, - onPreview, - onCommit, - }); - - return ( - <div className="flex items-center gap-3"> - <Slider - className="flex-1" - min={min} - max={max} - step={step} - value={[value]} - onValueChange={([newValue]) => onPreview(newValue)} - onValueCommit={onCommit} - /> - <NumberField - className="w-16 shrink-0" - value={draft.displayValue} - onFocus={draft.onFocus} - onChange={draft.onChange} - onBlur={draft.onBlur} - /> - </div> - ); -} diff --git a/apps/web/src/components/editor/panels/properties/effect-properties.tsx b/apps/web/src/components/editor/panels/properties/effect-properties.tsx deleted file mode 100644 index 75fc30a1..00000000 --- a/apps/web/src/components/editor/panels/properties/effect-properties.tsx +++ /dev/null @@ -1,58 +0,0 @@ -"use client"; - -import type { EffectElement } from "@/types/timeline"; -import { getEffect } from "@/lib/effects/registry"; -import { useEditor } from "@/hooks/use-editor"; -import { - Section, - SectionContent, - SectionHeader, - SectionFields, - SectionTitle, -} from "./section"; -import { EffectParamField } from "./effect-param-field"; - -export function EffectProperties({ - element, - trackId, -}: { - element: EffectElement; - trackId: string; -}) { - const editor = useEditor(); - const definition = getEffect({ effectType: element.effectType }); - - const previewParam = - ({ key }: { key: string }) => - (value: number | string | boolean) => - editor.timeline.previewElements({ - updates: [ - { - trackId, - elementId: element.id, - updates: { params: { ...element.params, [key]: value } }, - }, - ], - }); - - return ( - <Section showTopBorder={false}> - <SectionHeader> - <SectionTitle>{definition.name}</SectionTitle> - </SectionHeader> - <SectionContent> - <SectionFields> - {definition.params.map((param) => ( - <EffectParamField - key={param.key} - param={param} - value={element.params[param.key] ?? param.default} - onPreview={previewParam({ key: param.key })} - onCommit={() => editor.timeline.commitPreview()} - /> - ))} - </SectionFields> - </SectionContent> - </Section> - ); -} diff --git a/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-color-property.ts b/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-color-property.ts index dbd19e4c..957ee1c9 100644 --- a/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-color-property.ts +++ b/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-color-property.ts @@ -4,8 +4,8 @@ import { hasKeyframesForPath, upsertElementKeyframe, } from "@/lib/animation"; -import type { AnimationPropertyPath, ElementAnimations } from "@/types/animation"; -import type { TimelineElement } from "@/types/timeline"; +import type { AnimationPropertyPath, ElementAnimations } from "@/lib/animation/types"; +import type { TimelineElement } from "@/lib/timeline"; export function useKeyframedColorProperty({ trackId, diff --git a/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-number-property.ts b/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-number-property.ts index 11aa049c..0f0168f8 100644 --- a/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-number-property.ts +++ b/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-number-property.ts @@ -4,8 +4,9 @@ import { hasKeyframesForPath, upsertElementKeyframe, } from "@/lib/animation"; -import type { AnimationPropertyPath, ElementAnimations } from "@/types/animation"; -import type { TimelineElement } from "@/types/timeline"; +import type { AnimationPropertyPath, ElementAnimations } from "@/lib/animation/types"; +import type { TimelineElement } from "@/lib/timeline"; +import { snapToStep } from "@/utils/math"; import { usePropertyDraft } from "./use-property-draft"; export function useKeyframedNumberProperty({ @@ -18,6 +19,7 @@ export function useKeyframedNumberProperty({ displayValue, parse, valueAtPlayhead, + step, buildBaseUpdates, }: { trackId: string; @@ -29,9 +31,12 @@ export function useKeyframedNumberProperty({ displayValue: string; parse: (input: string) => number | null; valueAtPlayhead: number; + step?: number; buildBaseUpdates: ({ value }: { value: number }) => Partial<TimelineElement>; }) { const editor = useEditor(); + const snapValue = (value: number) => + step != null ? snapToStep({ value, step }) : value; const hasAnimatedKeyframes = hasKeyframesForPath({ animations, propertyPath }); const keyframeAtTime = isPlayheadWithinElementRange @@ -43,6 +48,7 @@ export function useKeyframedNumberProperty({ hasAnimatedKeyframes && isPlayheadWithinElementRange; const previewValue = ({ value }: { value: number }) => { + const nextValue = snapValue(value); if (shouldUseAnimatedChannel) { editor.timeline.previewElements({ updates: [ @@ -54,7 +60,7 @@ export function useKeyframedNumberProperty({ animations, propertyPath, time: localTime, - value, + value: nextValue, }), }, }, @@ -68,7 +74,7 @@ export function useKeyframedNumberProperty({ { trackId, elementId, - updates: buildBaseUpdates({ value }), + updates: buildBaseUpdates({ value: nextValue }), }, ], }); @@ -76,7 +82,10 @@ export function useKeyframedNumberProperty({ const propertyDraft = usePropertyDraft({ displayValue, - parse, + parse: (input) => { + const parsedValue = parse(input); + return parsedValue === null ? null : snapValue(parsedValue); + }, onPreview: (value) => previewValue({ value }), onCommit: () => editor.timeline.commitPreview(), }); @@ -107,13 +116,14 @@ export function useKeyframedNumberProperty({ elementId, propertyPath, time: localTime, - value: valueAtPlayhead, + value: snapValue(valueAtPlayhead), }, ], }); }; const commitValue = ({ value }: { value: number }) => { + const nextValue = snapValue(value); if (shouldUseAnimatedChannel) { editor.timeline.upsertKeyframes({ keyframes: [ @@ -122,7 +132,7 @@ export function useKeyframedNumberProperty({ elementId, propertyPath, time: localTime, - value, + value: nextValue, }, ], }); @@ -134,7 +144,7 @@ export function useKeyframedNumberProperty({ { trackId, elementId, - updates: buildBaseUpdates({ value }), + updates: buildBaseUpdates({ value: nextValue }), }, ], }); diff --git a/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-param-property.ts b/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-param-property.ts new file mode 100644 index 00000000..335e3fb6 --- /dev/null +++ b/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-param-property.ts @@ -0,0 +1,148 @@ +"use client"; + +import { useEditor } from "@/hooks/use-editor"; +import { + buildGraphicParamPath, + getKeyframeAtTime, + getParamDefaultInterpolation, + getParamValueKind, + hasKeyframesForPath, + upsertPathKeyframe, +} from "@/lib/animation"; +import type { + ElementAnimations, +} from "@/lib/animation/types"; +import type { ParamDefinition } from "@/lib/params"; +import type { TimelineElement } from "@/lib/timeline"; + +export interface KeyframedParamPropertyResult { + hasAnimatedKeyframes: boolean; + isKeyframedAtTime: boolean; + keyframeIdAtTime: string | null; + onPreview: (value: number | string | boolean) => void; + onCommit: () => void; + toggleKeyframe: () => void; +} + +export function useKeyframedParamProperty({ + param, + trackId, + elementId, + animations, + localTime, + isPlayheadWithinElementRange, + resolvedValue, + buildBaseUpdates, +}: { + param: ParamDefinition; + trackId: string; + elementId: string; + animations: ElementAnimations | undefined; + localTime: number; + isPlayheadWithinElementRange: boolean; + resolvedValue: number | string | boolean; + buildBaseUpdates: ({ + value, + }: { + value: number | string | boolean; + }) => Partial<TimelineElement>; +}): KeyframedParamPropertyResult { + const editor = useEditor(); + const propertyPath = buildGraphicParamPath({ paramKey: param.key }); + const hasAnimatedKeyframes = hasKeyframesForPath({ + animations, + propertyPath, + }); + const keyframeAtTime = isPlayheadWithinElementRange + ? getKeyframeAtTime({ + animations, + propertyPath, + time: localTime, + }) + : null; + const keyframeIdAtTime = keyframeAtTime?.id ?? null; + const isKeyframedAtTime = keyframeAtTime !== null; + const shouldUseAnimatedChannel = + hasAnimatedKeyframes && isPlayheadWithinElementRange; + + const previewValue: KeyframedParamPropertyResult["onPreview"] = (value) => { + if (shouldUseAnimatedChannel) { + editor.timeline.previewElements({ + updates: [ + { + trackId, + elementId, + updates: { + animations: upsertPathKeyframe({ + animations, + propertyPath, + time: localTime, + value, + valueKind: getParamValueKind({ param }), + defaultInterpolation: getParamDefaultInterpolation({ + param, + }), + numericRange: + param.type === "number" + ? { min: param.min, max: param.max, step: param.step } + : undefined, + }), + }, + }, + ], + }); + return; + } + + editor.timeline.previewElements({ + updates: [ + { + trackId, + elementId, + updates: buildBaseUpdates({ value }), + }, + ], + }); + }; + + const toggleKeyframe = () => { + if (!isPlayheadWithinElementRange) { + return; + } + + if (keyframeIdAtTime) { + editor.timeline.removeKeyframes({ + keyframes: [ + { + trackId, + elementId, + propertyPath, + keyframeId: keyframeIdAtTime, + }, + ], + }); + return; + } + + editor.timeline.upsertKeyframes({ + keyframes: [ + { + trackId, + elementId, + propertyPath, + time: localTime, + value: resolvedValue, + }, + ], + }); + }; + + return { + hasAnimatedKeyframes, + isKeyframedAtTime, + keyframeIdAtTime, + onPreview: previewValue, + onCommit: () => editor.timeline.commitPreview(), + toggleKeyframe, + }; +} diff --git a/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-vector-property.ts b/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-vector-property.ts new file mode 100644 index 00000000..188f05cb --- /dev/null +++ b/apps/web/src/components/editor/panels/properties/hooks/use-keyframed-vector-property.ts @@ -0,0 +1,190 @@ +import { useEditor } from "@/hooks/use-editor"; +import { + getKeyframeAtTime, + hasKeyframesForPath, + upsertElementKeyframe, +} from "@/lib/animation"; +import type { + AnimationPropertyPath, + ElementAnimations, + VectorValue, +} from "@/lib/animation/types"; +import type { TimelineElement } from "@/lib/timeline"; +import { snapToStep } from "@/utils/math"; +import { usePropertyDraft } from "./use-property-draft"; + +export function useKeyframedVectorProperty({ + trackId, + elementId, + animations, + propertyPath, + localTime, + isPlayheadWithinElementRange, + resolvedValue, + displayX, + displayY, + parseComponent, + step, + buildBaseUpdates, +}: { + trackId: string; + elementId: string; + animations: ElementAnimations | undefined; + propertyPath: AnimationPropertyPath; + localTime: number; + isPlayheadWithinElementRange: boolean; + resolvedValue: VectorValue; + displayX: string; + displayY: string; + parseComponent: (input: string) => number | null; + step?: number; + buildBaseUpdates: ({ + value, + }: { + value: VectorValue; + }) => Partial<TimelineElement>; +}) { + const editor = useEditor(); + const snapComponentValue = (value: number) => + step != null ? snapToStep({ value, step }) : value; + + const hasAnimatedKeyframes = hasKeyframesForPath({ + animations, + propertyPath, + }); + const keyframeAtTime = isPlayheadWithinElementRange + ? getKeyframeAtTime({ animations, propertyPath, time: localTime }) + : null; + const keyframeIdAtTime = keyframeAtTime?.id ?? null; + const isKeyframedAtTime = keyframeAtTime !== null; + const shouldUseAnimatedChannel = + hasAnimatedKeyframes && isPlayheadWithinElementRange; + + const previewVector = ({ value }: { value: VectorValue }) => { + const nextValue = { + x: snapComponentValue(value.x), + y: snapComponentValue(value.y), + }; + if (shouldUseAnimatedChannel) { + editor.timeline.previewElements({ + updates: [ + { + trackId, + elementId, + updates: { + animations: upsertElementKeyframe({ + animations, + propertyPath, + time: localTime, + value: nextValue, + }), + }, + }, + ], + }); + return; + } + + editor.timeline.previewElements({ + updates: [{ trackId, elementId, updates: buildBaseUpdates({ value: nextValue }) }], + }); + }; + + const x = usePropertyDraft({ + displayValue: displayX, + parse: (input) => { + const parsedValue = parseComponent(input); + return parsedValue === null ? null : snapComponentValue(parsedValue); + }, + onPreview: (xVal) => + previewVector({ value: { x: xVal, y: resolvedValue.y } }), + onCommit: () => editor.timeline.commitPreview(), + }); + + const y = usePropertyDraft({ + displayValue: displayY, + parse: (input) => { + const parsedValue = parseComponent(input); + return parsedValue === null ? null : snapComponentValue(parsedValue); + }, + onPreview: (yVal) => + previewVector({ value: { x: resolvedValue.x, y: yVal } }), + onCommit: () => editor.timeline.commitPreview(), + }); + + const toggleKeyframe = () => { + if (!isPlayheadWithinElementRange) return; + + if (keyframeIdAtTime) { + editor.timeline.removeKeyframes({ + keyframes: [ + { trackId, elementId, propertyPath, keyframeId: keyframeIdAtTime }, + ], + }); + return; + } + + editor.timeline.upsertKeyframes({ + keyframes: [ + { + trackId, + elementId, + propertyPath, + time: localTime, + value: resolvedValue, + }, + ], + }); + }; + + const commitX = ({ value }: { value: number }) => { + const vector: VectorValue = { + x: snapComponentValue(value), + y: snapComponentValue(resolvedValue.y), + }; + if (shouldUseAnimatedChannel) { + editor.timeline.upsertKeyframes({ + keyframes: [ + { trackId, elementId, propertyPath, time: localTime, value: vector }, + ], + }); + return; + } + editor.timeline.updateElements({ + updates: [ + { trackId, elementId, updates: buildBaseUpdates({ value: vector }) }, + ], + }); + }; + + const commitY = ({ value }: { value: number }) => { + const vector: VectorValue = { + x: snapComponentValue(resolvedValue.x), + y: snapComponentValue(value), + }; + if (shouldUseAnimatedChannel) { + editor.timeline.upsertKeyframes({ + keyframes: [ + { trackId, elementId, propertyPath, time: localTime, value: vector }, + ], + }); + return; + } + editor.timeline.updateElements({ + updates: [ + { trackId, elementId, updates: buildBaseUpdates({ value: vector }) }, + ], + }); + }; + + return { + x, + y, + hasAnimatedKeyframes, + isKeyframedAtTime, + keyframeIdAtTime, + toggleKeyframe, + commitX, + commitY, + }; +} diff --git a/apps/web/src/components/editor/panels/properties/index.tsx b/apps/web/src/components/editor/panels/properties/index.tsx index cb45996d..3f3ff1f3 100644 --- a/apps/web/src/components/editor/panels/properties/index.tsx +++ b/apps/web/src/components/editor/panels/properties/index.tsx @@ -1,86 +1,95 @@ "use client"; import { ScrollArea } from "@/components/ui/scroll-area"; -import { AudioProperties } from "./audio-properties"; -import { VideoProperties } from "./video-properties"; -import { TextProperties } from "./text-properties"; -import { EffectProperties } from "./effect-properties"; -import { ClipEffectsProperties } from "./clip-effects-properties"; -import { EmptyView } from "./empty-view"; +import { Button } from "@/components/ui/button"; +import { + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from "@/components/ui/tooltip"; import { useEditor } from "@/hooks/use-editor"; import { useElementSelection } from "@/hooks/timeline/element/use-element-selection"; -import { usePropertiesStore } from "@/stores/properties-store"; -import { isVisualElement } from "@/lib/timeline"; -import type { TimelineElement, TimelineTrack } from "@/types/timeline"; - -function ElementProperties({ - track, - element, -}: { - track: TimelineTrack; - element: TimelineElement; -}) { - if (element.type === "text") { - return <TextProperties element={element} trackId={track.id} />; - } - if (element.type === "audio") { - return <AudioProperties />; - } - if ( - element.type === "video" || - element.type === "image" || - element.type === "sticker" - ) { - return <VideoProperties element={element} trackId={track.id} />; - } - if (element.type === "effect") { - return <EffectProperties element={element} trackId={track.id} />; - } - return null; -} +import { usePropertiesStore } from "./stores/properties-store"; +import { getPropertiesConfig } from "./registry"; +import { cn } from "@/utils/ui"; +import { EmptyView } from "./empty-view"; export function PropertiesPanel() { const editor = useEditor(); + useEditor((e) => e.timeline.getTracks()); + useEditor((e) => e.media.getAssets()); const { selectedElements } = useElementSelection(); - const clipEffectsTarget = usePropertiesStore( - (state) => state.clipEffectsTarget, - ); + const { activeTabPerType, setActiveTab } = usePropertiesStore(); - const clipEffectsTrack = clipEffectsTarget - ? editor.timeline.getTrackById({ trackId: clipEffectsTarget.trackId }) - : null; - const clipEffectsElement = clipEffectsTrack?.elements.find( - (element) => element.id === clipEffectsTarget?.elementId, - ); - const isShowingClipEffects = - clipEffectsTrack && - clipEffectsElement && - isVisualElement(clipEffectsElement); + if (selectedElements.length === 0) { + return ( + <div className="panel bg-background flex h-full flex-col items-center justify-center overflow-hidden rounded-sm border"> + <EmptyView /> + </div> + ); + } + + if (selectedElements.length > 1) { + return ( + <div className="panel bg-background flex h-full flex-col items-center justify-center overflow-hidden rounded-sm border"> + <p className="text-muted-foreground text-sm"> + {selectedElements.length} elements selected.0 + </p> + </div> + ); + } + + const mediaAssets = editor.media.getAssets(); const elementsWithTracks = editor.timeline.getElementsWithTracks({ elements: selectedElements, }); + const elementWithTrack = elementsWithTracks[0]; + + if (!elementWithTrack) return null; + + const { element, track } = elementWithTrack; + const config = getPropertiesConfig({ element, mediaAssets }); + const visibleTabs = config.tabs; + + const storedTabId = activeTabPerType[element.type]; + const isStoredTabVisible = visibleTabs.some((t) => t.id === storedTabId); + const activeTabId = isStoredTabVisible ? storedTabId : config.defaultTab; + const activeTab = + visibleTabs.find((t) => t.id === activeTabId) ?? visibleTabs[0]; + + if (!activeTab) return null; return ( - <div className="panel bg-background h-full rounded-sm border overflow-hidden"> - {isShowingClipEffects ? ( - <ClipEffectsProperties - element={clipEffectsElement} - trackId={clipEffectsTrack.id} - /> - ) : selectedElements.length > 0 ? ( - <ScrollArea className="h-full scrollbar-hidden"> - {elementsWithTracks.map(({ track, element }) => ( - <ElementProperties - key={element.id} - track={track} - element={element} - /> + <div className="panel bg-background flex h-full overflow-hidden rounded-sm border"> + <TooltipProvider delayDuration={0}> + <div className="flex shrink-0 flex-col gap-0.5 border-r p-1 scrollbar-hidden overflow-y-auto"> + {visibleTabs.map((tab) => ( + <Tooltip key={tab.id}> + <TooltipTrigger asChild> + <Button + variant={tab.id === activeTab.id ? "secondary" : "ghost"} + size="icon" + onClick={() => setActiveTab(element.type, tab.id)} + aria-label={tab.label} + className={cn( + "shrink-0", + "h-8 w-8", + tab.id !== activeTab.id && "text-muted-foreground", + )} + > + {tab.icon} + </Button> + </TooltipTrigger> + <TooltipContent side="right">{tab.label}</TooltipContent> + </Tooltip> ))} - </ScrollArea> - ) : ( - <EmptyView /> - )} + </div> + </TooltipProvider> + <ScrollArea className="flex-1 scrollbar-hidden"> + {activeTab.content({ trackId: track.id })} + </ScrollArea> </div> ); } diff --git a/apps/web/src/components/editor/panels/properties/registry.tsx b/apps/web/src/components/editor/panels/properties/registry.tsx new file mode 100644 index 00000000..706faef4 --- /dev/null +++ b/apps/web/src/components/editor/panels/properties/registry.tsx @@ -0,0 +1,303 @@ +import type { ReactNode } from "react"; +import type { + EffectElement, + GraphicElement, + ImageElement, + MaskableElement, + RetimableElement, + StickerElement, + TextElement, + VisualElement, + VideoElement, + AudioElement, + TimelineElement, +} from "@/lib/timeline"; +import type { MediaAsset } from "@/lib/media/types"; +import { HugeiconsIcon } from "@hugeicons/react"; +import { + TextFontIcon, + ArrowExpandIcon, + RainDropIcon, + MusicNote03Icon, + MagicWand05Icon, + DashboardSpeed02Icon, +} from "@hugeicons/core-free-icons"; +import { TransformTab } from "./tabs/transform-tab"; +import { BlendingTab } from "./tabs/blending-tab"; +import { AudioTab } from "./tabs/audio-tab"; +import { TextTab } from "./tabs/text-tab"; +import { ClipEffectsTab, StandaloneEffectTab } from "./tabs/effects-tab"; +import { MasksTab } from "./tabs/masks-tab"; +import { SpeedTab } from "./tabs/speed-tab"; +import { GraphicTab } from "./tabs/graphic-tab"; +import { OcShapesIcon } from "@opencut/ui/icons"; + +export type TabContentProps = { + trackId: string; +}; + +export type PropertiesTabDef = { + id: string; + label: string; + icon: ReactNode; + content: (props: TabContentProps) => ReactNode; +}; + +export type ElementPropertiesConfig = { + defaultTab: string; + tabs: PropertiesTabDef[]; +}; + +function buildTransformTab({ + element, +}: { + element: VisualElement; +}): PropertiesTabDef { + return { + id: "transform", + label: "Transform", + icon: <HugeiconsIcon icon={ArrowExpandIcon} size={16} />, + content: ({ trackId }) => ( + <TransformTab element={element} trackId={trackId} /> + ), + }; +} + +function buildBlendingTab({ + element, +}: { + element: VisualElement; +}): PropertiesTabDef { + return { + id: "blending", + label: "Blending", + icon: <HugeiconsIcon icon={RainDropIcon} size={16} />, + content: ({ trackId }) => ( + <BlendingTab element={element} trackId={trackId} /> + ), + }; +} + +function buildAudioTab({ + element, +}: { + element: AudioElement | VideoElement; +}): PropertiesTabDef { + return { + id: "audio", + label: "Audio", + icon: <HugeiconsIcon icon={MusicNote03Icon} size={16} />, + content: ({ trackId }) => <AudioTab element={element} trackId={trackId} />, + }; +} + +function buildSpeedTab({ + element, +}: { + element: RetimableElement; +}): PropertiesTabDef { + return { + id: "speed", + label: "Speed", + icon: <HugeiconsIcon icon={DashboardSpeed02Icon} size={16} />, + content: ({ trackId }) => <SpeedTab element={element} trackId={trackId} />, + }; +} + +function buildMasksTab({ + element, +}: { + element: MaskableElement; +}): PropertiesTabDef { + return { + id: "masks", + label: "Masks", + icon: <OcShapesIcon size={16} />, + content: ({ trackId }) => <MasksTab element={element} trackId={trackId} />, + }; +} + +function buildClipEffectsTab({ + element, +}: { + element: VisualElement; +}): PropertiesTabDef { + return { + id: "effects", + label: "Effects", + icon: <HugeiconsIcon icon={MagicWand05Icon} size={16} />, + content: ({ trackId }) => ( + <ClipEffectsTab element={element} trackId={trackId} /> + ), + }; +} + +function buildTextTab({ element }: { element: TextElement }): PropertiesTabDef { + return { + id: "text", + label: "Text", + icon: <HugeiconsIcon icon={TextFontIcon} size={16} />, + content: ({ trackId }) => <TextTab element={element} trackId={trackId} />, + }; +} + +function buildGraphicTab({ + element, +}: { + element: GraphicElement; +}): PropertiesTabDef { + return { + id: "graphic", + label: "Graphic", + icon: <OcShapesIcon size={16} />, + content: ({ trackId }) => <GraphicTab element={element} trackId={trackId} />, + }; +} + +function buildStandaloneEffectTab({ + element, +}: { + element: EffectElement; +}): PropertiesTabDef { + return { + id: "effects", + label: "Effects", + icon: <HugeiconsIcon icon={MagicWand05Icon} size={16} />, + content: ({ trackId }) => ( + <StandaloneEffectTab element={element} trackId={trackId} /> + ), + }; +} + +function getTextConfig({ + element, +}: { + element: TextElement; +}): ElementPropertiesConfig { + return { + defaultTab: "text", + tabs: [ + buildTextTab({ element }), + buildTransformTab({ element }), + buildBlendingTab({ element }), + ], + }; +} + +function getVideoConfig({ + element, + mediaAsset, +}: { + element: VideoElement; + mediaAsset: MediaAsset | undefined; +}): ElementPropertiesConfig { + const showAudioTab = mediaAsset?.hasAudio !== false; + return { + defaultTab: "transform", + tabs: [ + buildTransformTab({ element }), + ...(showAudioTab ? [buildAudioTab({ element })] : []), + buildSpeedTab({ element }), + buildBlendingTab({ element }), + buildMasksTab({ element }), + buildClipEffectsTab({ element }), + ], + }; +} + +function getImageConfig({ + element, +}: { + element: ImageElement; +}): ElementPropertiesConfig { + return { + defaultTab: "transform", + tabs: [ + buildTransformTab({ element }), + buildBlendingTab({ element }), + buildMasksTab({ element }), + buildClipEffectsTab({ element }), + ], + }; +} + +function getStickerConfig({ + element, +}: { + element: StickerElement; +}): ElementPropertiesConfig { + return { + defaultTab: "transform", + tabs: [ + buildTransformTab({ element }), + buildBlendingTab({ element }), + buildClipEffectsTab({ element }), + ], + }; +} + +function getGraphicConfig({ + element, +}: { + element: GraphicElement; +}): ElementPropertiesConfig { + return { + defaultTab: "graphic", + tabs: [ + buildGraphicTab({ element }), + buildTransformTab({ element }), + buildBlendingTab({ element }), + buildMasksTab({ element }), + buildClipEffectsTab({ element }), + ], + }; +} + +function getAudioConfig({ + element, +}: { + element: AudioElement; +}): ElementPropertiesConfig { + return { + defaultTab: "audio", + tabs: [buildAudioTab({ element }), buildSpeedTab({ element })], + }; +} + +function getEffectConfig({ + element, +}: { + element: EffectElement; +}): ElementPropertiesConfig { + return { + defaultTab: "effects", + tabs: [buildStandaloneEffectTab({ element })], + }; +} + +export function getPropertiesConfig({ + element, + mediaAssets, +}: { + element: TimelineElement; + mediaAssets: MediaAsset[]; +}): ElementPropertiesConfig { + switch (element.type) { + case "text": + return getTextConfig({ element }); + case "video": { + const mediaAsset = mediaAssets.find((a) => a.id === element.mediaId); + return getVideoConfig({ element, mediaAsset }); + } + case "image": + return getImageConfig({ element }); + case "sticker": + return getStickerConfig({ element }); + case "graphic": + return getGraphicConfig({ element }); + case "audio": + return getAudioConfig({ element }); + case "effect": + return getEffectConfig({ element }); + } +} diff --git a/apps/web/src/components/editor/panels/properties/sections/index.tsx b/apps/web/src/components/editor/panels/properties/sections/index.tsx deleted file mode 100644 index 8be58f39..00000000 --- a/apps/web/src/components/editor/panels/properties/sections/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./transform"; -export * from "./blending"; diff --git a/apps/web/src/components/editor/panels/properties/sections/transform.tsx b/apps/web/src/components/editor/panels/properties/sections/transform.tsx deleted file mode 100644 index 6aaaa1fe..00000000 --- a/apps/web/src/components/editor/panels/properties/sections/transform.tsx +++ /dev/null @@ -1,382 +0,0 @@ -import { NumberField } from "@/components/ui/number-field"; -import { useEditor } from "@/hooks/use-editor"; -import { clamp, isNearlyEqual } from "@/utils/math"; -import type { AnimationPropertyPath } from "@/types/animation"; -import type { VisualElement } from "@/types/timeline"; -import { - Section, - SectionContent, - SectionField, - SectionFields, - SectionHeader, - SectionTitle, -} from "../section"; -import { Button } from "@/components/ui/button"; -import { HugeiconsIcon } from "@hugeicons/react"; -import { - ArrowExpandIcon, - Link05Icon, - RotateClockwiseIcon, -} from "@hugeicons/core-free-icons"; -import { useState } from "react"; -import { DEFAULT_TRANSFORM } from "@/constants/timeline-constants"; -import { TIME_EPSILON_SECONDS } from "@/constants/animation-constants"; -import { getElementLocalTime, resolveTransformAtTime } from "@/lib/animation"; -import { KeyframeToggle } from "../keyframe-toggle"; -import { useKeyframedNumberProperty } from "../hooks/use-keyframed-number-property"; - -export function parseNumericInput({ input }: { input: string }): number | null { - const parsed = parseFloat(input); - return Number.isNaN(parsed) ? null : parsed; -} - -export function isPropertyAtDefault({ - hasAnimatedKeyframes, - isPlayheadWithinElementRange, - resolvedValue, - staticValue, - defaultValue, -}: { - hasAnimatedKeyframes: boolean; - isPlayheadWithinElementRange: boolean; - resolvedValue: number; - staticValue: number; - defaultValue: number; -}): boolean { - if (hasAnimatedKeyframes && isPlayheadWithinElementRange) { - return isNearlyEqual({ - leftValue: resolvedValue, - rightValue: defaultValue, - }); - } - - return staticValue === defaultValue; -} - -export function TransformSection({ - element, - trackId, - showTopBorder = true, -}: { - element: VisualElement; - trackId: string; - showTopBorder?: boolean; -}) { - const editor = useEditor(); - const [isScaleLocked, setIsScaleLocked] = useState(false); - const playheadTime = editor.playback.getCurrentTime(); - const localTime = getElementLocalTime({ - timelineTime: playheadTime, - elementStartTime: element.startTime, - elementDuration: element.duration, - }); - const resolvedTransform = resolveTransformAtTime({ - baseTransform: element.transform, - animations: element.animations, - localTime, - }); - const isPlayheadWithinElementRange = - playheadTime >= element.startTime - TIME_EPSILON_SECONDS && - playheadTime <= element.startTime + element.duration + TIME_EPSILON_SECONDS; - - const positionX = useKeyframedNumberProperty({ - trackId, - elementId: element.id, - animations: element.animations, - propertyPath: "transform.position.x", - localTime, - isPlayheadWithinElementRange, - displayValue: Math.round(resolvedTransform.position.x).toString(), - parse: (input) => parseNumericInput({ input }), - valueAtPlayhead: resolvedTransform.position.x, - buildBaseUpdates: ({ value }) => ({ - transform: { - ...element.transform, - position: { - ...element.transform.position, - x: value, - }, - }, - }), - }); - - const positionY = useKeyframedNumberProperty({ - trackId, - elementId: element.id, - animations: element.animations, - propertyPath: "transform.position.y", - localTime, - isPlayheadWithinElementRange, - displayValue: Math.round(resolvedTransform.position.y).toString(), - parse: (input) => parseNumericInput({ input }), - valueAtPlayhead: resolvedTransform.position.y, - buildBaseUpdates: ({ value }) => ({ - transform: { - ...element.transform, - position: { - ...element.transform.position, - y: value, - }, - }, - }), - }); - - const scale = useKeyframedNumberProperty({ - trackId, - elementId: element.id, - animations: element.animations, - propertyPath: "transform.scale", - localTime, - isPlayheadWithinElementRange, - displayValue: Math.round(resolvedTransform.scale * 100).toString(), - parse: (input) => { - const parsed = parseNumericInput({ input }); - if (parsed === null) return null; - return Math.max(parsed, 1) / 100; - }, - valueAtPlayhead: resolvedTransform.scale, - buildBaseUpdates: ({ value }) => ({ - transform: { - ...element.transform, - scale: value, - }, - }), - }); - const scaleFieldProps = { - className: "flex-1", - value: scale.displayValue, - onFocus: scale.onFocus, - onChange: scale.onChange, - onBlur: scale.onBlur, - dragSensitivity: "slow" as const, - onScrub: scale.scrubTo, - onScrubEnd: scale.commitScrub, - onReset: () => scale.commitValue({ value: DEFAULT_TRANSFORM.scale }), - isDefault: isPropertyAtDefault({ - hasAnimatedKeyframes: scale.hasAnimatedKeyframes, - isPlayheadWithinElementRange, - resolvedValue: resolvedTransform.scale, - staticValue: element.transform.scale, - defaultValue: DEFAULT_TRANSFORM.scale, - }), - }; - - const rotation = useKeyframedNumberProperty({ - trackId, - elementId: element.id, - animations: element.animations, - propertyPath: "transform.rotate", - localTime, - isPlayheadWithinElementRange, - displayValue: Math.round(resolvedTransform.rotate).toString(), - parse: (input) => { - const parsed = parseNumericInput({ input }); - if (parsed === null) return null; - return clamp({ value: parsed, min: -360, max: 360 }); - }, - valueAtPlayhead: resolvedTransform.rotate, - buildBaseUpdates: ({ value }) => ({ - transform: { - ...element.transform, - rotate: value, - }, - }), - }); - - const hasPositionKeyframe = - positionX.isKeyframedAtTime || positionY.isKeyframedAtTime; - - const togglePositionKeyframe = () => { - if (!isPlayheadWithinElementRange) { - return; - } - - if (positionX.keyframeIdAtTime || positionY.keyframeIdAtTime) { - const keyframesToRemove: Array<{ - trackId: string; - elementId: string; - propertyPath: AnimationPropertyPath; - keyframeId: string; - }> = []; - if (positionX.keyframeIdAtTime) { - keyframesToRemove.push({ - trackId, - elementId: element.id, - propertyPath: "transform.position.x" as const, - keyframeId: positionX.keyframeIdAtTime, - }); - } - if (positionY.keyframeIdAtTime) { - keyframesToRemove.push({ - trackId, - elementId: element.id, - propertyPath: "transform.position.y" as const, - keyframeId: positionY.keyframeIdAtTime, - }); - } - - editor.timeline.removeKeyframes({ - keyframes: keyframesToRemove, - }); - return; - } - - editor.timeline.upsertKeyframes({ - keyframes: [ - { - trackId, - elementId: element.id, - propertyPath: "transform.position.x", - time: localTime, - value: resolvedTransform.position.x, - }, - { - trackId, - elementId: element.id, - propertyPath: "transform.position.y", - time: localTime, - value: resolvedTransform.position.y, - }, - ], - }); - }; - - return ( - <Section - collapsible - sectionKey={`${element.type}:transform`} - showTopBorder={showTopBorder} - > - <SectionHeader><SectionTitle>Transform</SectionTitle></SectionHeader> - <SectionContent> - <SectionFields> - <SectionField - label="Scale" - beforeLabel={ - <KeyframeToggle - isActive={scale.isKeyframedAtTime} - isDisabled={!isPlayheadWithinElementRange} - title="Toggle scale keyframe" - onToggle={scale.toggleKeyframe} - /> - } - > - <div className="flex items-center gap-2"> - {isScaleLocked ? ( - <> - <NumberField icon="W" {...scaleFieldProps} /> - <NumberField icon="H" {...scaleFieldProps} /> - </> - ) : ( - <NumberField - icon={<HugeiconsIcon icon={ArrowExpandIcon} />} - {...scaleFieldProps} - className="flex-1" - /> - )} - <Button - type="button" - variant={isScaleLocked ? "secondary" : "ghost"} - size="icon" - aria-pressed={isScaleLocked} - onClick={() => setIsScaleLocked((isLocked) => !isLocked)} - > - <HugeiconsIcon icon={Link05Icon} /> - </Button> - </div> - </SectionField> - <SectionField - label="Position" - beforeLabel={ - <KeyframeToggle - isActive={hasPositionKeyframe} - isDisabled={!isPlayheadWithinElementRange} - title="Toggle position keyframe" - onToggle={togglePositionKeyframe} - /> - } - > - <div className="flex items-center gap-2"> - <NumberField - icon="X" - className="flex-1" - value={positionX.displayValue} - onFocus={positionX.onFocus} - onChange={positionX.onChange} - onBlur={positionX.onBlur} - onScrub={positionX.scrubTo} - onScrubEnd={positionX.commitScrub} - onReset={() => - positionX.commitValue({ value: DEFAULT_TRANSFORM.position.x }) - } - isDefault={isPropertyAtDefault({ - hasAnimatedKeyframes: positionX.hasAnimatedKeyframes, - isPlayheadWithinElementRange, - resolvedValue: resolvedTransform.position.x, - staticValue: element.transform.position.x, - defaultValue: DEFAULT_TRANSFORM.position.x, - })} - /> - <NumberField - icon="Y" - className="flex-1" - value={positionY.displayValue} - onFocus={positionY.onFocus} - onChange={positionY.onChange} - onBlur={positionY.onBlur} - onScrub={positionY.scrubTo} - onScrubEnd={positionY.commitScrub} - onReset={() => - positionY.commitValue({ value: DEFAULT_TRANSFORM.position.y }) - } - isDefault={isPropertyAtDefault({ - hasAnimatedKeyframes: positionY.hasAnimatedKeyframes, - isPlayheadWithinElementRange, - resolvedValue: resolvedTransform.position.y, - staticValue: element.transform.position.y, - defaultValue: DEFAULT_TRANSFORM.position.y, - })} - /> - </div> - </SectionField> - - <SectionField - label="Rotation" - beforeLabel={ - <KeyframeToggle - isActive={rotation.isKeyframedAtTime} - isDisabled={!isPlayheadWithinElementRange} - title="Toggle rotation keyframe" - onToggle={rotation.toggleKeyframe} - /> - } - > - <div className="flex items-center gap-2"> - <NumberField - icon={<HugeiconsIcon icon={RotateClockwiseIcon} />} - className="flex-none" - value={rotation.displayValue} - onFocus={rotation.onFocus} - onChange={rotation.onChange} - onBlur={rotation.onBlur} - dragSensitivity="slow" - onScrub={rotation.scrubTo} - onScrubEnd={rotation.commitScrub} - onReset={() => - rotation.commitValue({ value: DEFAULT_TRANSFORM.rotate }) - } - isDefault={isPropertyAtDefault({ - hasAnimatedKeyframes: rotation.hasAnimatedKeyframes, - isPlayheadWithinElementRange, - resolvedValue: resolvedTransform.rotate, - staticValue: element.transform.rotate, - defaultValue: DEFAULT_TRANSFORM.rotate, - })} - /> - </div> - </SectionField> - </SectionFields> - </SectionContent> - </Section> - ); -} diff --git a/apps/web/src/components/editor/panels/properties/stores/properties-store.ts b/apps/web/src/components/editor/panels/properties/stores/properties-store.ts new file mode 100644 index 00000000..1783e3fc --- /dev/null +++ b/apps/web/src/components/editor/panels/properties/stores/properties-store.ts @@ -0,0 +1,18 @@ +import { create } from "zustand"; + +interface PropertiesState { + activeTabPerType: Record<string, string>; + setActiveTab: (elementType: string, tabId: string) => void; + isTransformScaleLocked: boolean; + setTransformScaleLocked: (locked: boolean) => void; +} + +export const usePropertiesStore = create<PropertiesState>()((set) => ({ + activeTabPerType: {}, + setActiveTab: (elementType, tabId) => + set((state) => ({ + activeTabPerType: { ...state.activeTabPerType, [elementType]: tabId }, + })), + isTransformScaleLocked: false, + setTransformScaleLocked: (locked) => set({ isTransformScaleLocked: locked }), +})); diff --git a/apps/web/src/components/editor/panels/properties/tabs/audio-tab.tsx b/apps/web/src/components/editor/panels/properties/tabs/audio-tab.tsx new file mode 100644 index 00000000..41b6ec6d --- /dev/null +++ b/apps/web/src/components/editor/panels/properties/tabs/audio-tab.tsx @@ -0,0 +1,109 @@ +import { NumberField } from "@/components/ui/number-field"; +import { VOLUME_DB_MAX, VOLUME_DB_MIN } from "@/lib/timeline/audio-constants"; +import { DEFAULTS } from "@/lib/timeline/defaults"; +import { clamp, isNearlyEqual } from "@/utils/math"; +import type { AudioElement, VideoElement } from "@/lib/timeline"; +import { resolveNumberAtTime } from "@/lib/animation"; +import { useElementPlayhead } from "../hooks/use-element-playhead"; +import { useKeyframedNumberProperty } from "../hooks/use-keyframed-number-property"; +import { KeyframeToggle } from "../components/keyframe-toggle"; +import { HugeiconsIcon } from "@hugeicons/react"; +import { VolumeHighIcon } from "@hugeicons/core-free-icons"; +import { + Section, + SectionContent, + SectionField, + SectionFields, + SectionHeader, + SectionTitle, +} from "@/components/section"; + +export function AudioTab({ + element, + trackId, +}: { + element: AudioElement | VideoElement; + trackId: string; +}) { + const { localTime, isPlayheadWithinElementRange } = useElementPlayhead({ + startTime: element.startTime, + duration: element.duration, + }); + const resolvedVolume = resolveNumberAtTime({ + baseValue: element.volume ?? DEFAULTS.element.volume, + animations: element.animations, + propertyPath: "volume", + localTime, + }); + const volume = useKeyframedNumberProperty({ + trackId, + elementId: element.id, + animations: element.animations, + propertyPath: "volume", + localTime, + isPlayheadWithinElementRange, + displayValue: resolvedVolume.toFixed(1), + parse: (input) => { + const parsed = parseFloat(input); + if (Number.isNaN(parsed)) { + return null; + } + + return clamp({ value: parsed, min: VOLUME_DB_MIN, max: VOLUME_DB_MAX }); + }, + valueAtPlayhead: resolvedVolume, + step: 0.1, + buildBaseUpdates: ({ value }) => ({ + volume: value, + }), + }); + const isDefault = + volume.hasAnimatedKeyframes && isPlayheadWithinElementRange + ? isNearlyEqual({ + leftValue: resolvedVolume, + rightValue: DEFAULTS.element.volume, + }) + : (element.volume ?? DEFAULTS.element.volume) === DEFAULTS.element.volume; + + return ( + <Section collapsible sectionKey={`${element.id}:audio`}> + <SectionHeader> + <SectionTitle>Audio</SectionTitle> + </SectionHeader> + <SectionContent> + <SectionFields> + <SectionField + label="Volume" + beforeLabel={ + <KeyframeToggle + isActive={volume.isKeyframedAtTime} + isDisabled={!isPlayheadWithinElementRange} + title="Toggle volume keyframe" + onToggle={volume.toggleKeyframe} + /> + } + > + <NumberField + icon={<HugeiconsIcon icon={VolumeHighIcon} />} + value={volume.displayValue} + onFocus={volume.onFocus} + onChange={volume.onChange} + onBlur={volume.onBlur} + dragSensitivity="slow" + scrubClamp={{ min: VOLUME_DB_MIN, max: VOLUME_DB_MAX }} + onScrub={volume.scrubTo} + onScrubEnd={volume.commitScrub} + onReset={() => + volume.commitValue({ + value: DEFAULTS.element.volume, + }) + } + isDefault={isDefault} + suffix="dB" + /> + </SectionField> + </SectionFields> + </SectionContent> + </Section> + ); +} diff --git a/apps/web/src/components/editor/panels/properties/sections/blending.tsx b/apps/web/src/components/editor/panels/properties/tabs/blending-tab.tsx index a50e84e7..c360817c 100644 --- a/apps/web/src/components/editor/panels/properties/sections/blending.tsx +++ b/apps/web/src/components/editor/panels/properties/tabs/blending-tab.tsx @@ -1,13 +1,16 @@ import { useEditor } from "@/hooks/use-editor"; import { clamp } from "@/utils/math"; import { NumberField } from "@/components/ui/number-field"; -import { - DEFAULT_BLEND_MODE, - DEFAULT_OPACITY, -} from "@/constants/timeline-constants"; import { OcCheckerboardIcon } from "@opencut/ui/icons"; import { Fragment, useRef } from "react"; -import { Section, SectionContent, SectionField, SectionHeader, SectionTitle } from "../section"; +import { useMenuPreview } from "@/hooks/use-menu-preview"; +import { + Section, + SectionContent, + SectionField, + SectionHeader, + SectionTitle, +} from "@/components/section"; import { Select, SelectContent, @@ -16,16 +19,17 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; -import type { BlendMode } from "@/types/rendering"; -import type { ElementType } from "@/types/timeline"; -import type { ElementAnimations } from "@/types/animation"; +import type { BlendMode } from "@/lib/rendering"; +import type { ElementType } from "@/lib/timeline"; +import type { ElementAnimations } from "@/lib/animation/types"; import { HugeiconsIcon } from "@hugeicons/react"; import { RainDropIcon } from "@hugeicons/core-free-icons"; -import { KeyframeToggle } from "../keyframe-toggle"; +import { KeyframeToggle } from "../components/keyframe-toggle"; import { useKeyframedNumberProperty } from "../hooks/use-keyframed-number-property"; import { useElementPlayhead } from "../hooks/use-element-playhead"; import { resolveOpacityAtTime } from "@/lib/animation"; -import { isPropertyAtDefault } from "./transform"; +import { DEFAULTS } from "@/lib/timeline/defaults"; +import { isPropertyAtDefault } from "./transform-tab"; type BlendingElement = { id: string; @@ -67,7 +71,7 @@ const BLEND_MODE_GROUPS = [ ], ]; -export function BlendingSection({ +export function BlendingTab({ element, trackId, }: { @@ -75,13 +79,19 @@ export function BlendingSection({ trackId: string; }) { const editor = useEditor(); - const blendMode = element.blendMode ?? DEFAULT_BLEND_MODE; - const didSelectRef = useRef(false); + const isPreviewActive = useEditor((e) => e.timeline.isPreviewActive()); + const blendMode = element.blendMode ?? DEFAULTS.element.blendMode; const committedBlendModeRef = useRef(blendMode); - if (!editor.timeline.isPreviewActive()) { + if (!isPreviewActive) { committedBlendModeRef.current = blendMode; } + const { + onPointerLeave, + onOpenChange: handleBlendModeOpenChange, + markCommitted, + } = useMenuPreview(); + const previewBlendMode = ({ value }: { value: BlendMode }) => editor.timeline.previewElements({ updates: [ @@ -103,14 +113,7 @@ export function BlendingSection({ ], }); } - didSelectRef.current = true; - }; - - const handleBlendModeOpenChange = (isOpen: boolean) => { - if (!isOpen) { - if (!didSelectRef.current) editor.timeline.discardPreview(); - didSelectRef.current = false; - } + markCommitted(); }; const { localTime, isPlayheadWithinElementRange } = useElementPlayhead({ @@ -137,86 +140,91 @@ export function BlendingSection({ return clamp({ value: parsed, min: 0, max: 100 }) / 100; }, valueAtPlayhead: resolvedOpacity, + step: 0.01, buildBaseUpdates: ({ value }) => ({ opacity: value }), }); return ( - <Section collapsible sectionKey={`${element.type}:blending`}> - <SectionHeader><SectionTitle>Blending</SectionTitle></SectionHeader> - <SectionContent> - <div className="flex items-start gap-2"> - <SectionField - label="Opacity" - className="w-1/2" - beforeLabel={ - <KeyframeToggle - isActive={opacity.isKeyframedAtTime} - isDisabled={!isPlayheadWithinElementRange} - title="Toggle opacity keyframe" - onToggle={opacity.toggleKeyframe} - /> - } - > - <NumberField - className="w-full" - icon={ - <OcCheckerboardIcon className="size-3.5 text-muted-foreground" /> + <Section collapsible sectionKey={`${element.id}:blending`}> + <SectionHeader> + <SectionTitle>Blending</SectionTitle> + </SectionHeader> + <SectionContent> + <div className="flex items-start gap-2"> + <SectionField + label="Opacity" + className="w-1/2" + beforeLabel={ + <KeyframeToggle + isActive={opacity.isKeyframedAtTime} + isDisabled={!isPlayheadWithinElementRange} + title="Toggle opacity keyframe" + onToggle={opacity.toggleKeyframe} + /> } - value={opacity.displayValue} - min={0} - max={100} - onFocus={opacity.onFocus} - onChange={opacity.onChange} - onBlur={opacity.onBlur} - onScrub={opacity.scrubTo} - onScrubEnd={opacity.commitScrub} - onReset={() => opacity.commitValue({ value: DEFAULT_OPACITY })} - isDefault={isPropertyAtDefault({ - hasAnimatedKeyframes: opacity.hasAnimatedKeyframes, - isPlayheadWithinElementRange, - resolvedValue: resolvedOpacity, - staticValue: element.opacity, - defaultValue: DEFAULT_OPACITY, - })} - dragSensitivity="slow" - /> - </SectionField> - <SectionField label="Blend mode" className="w-1/2"> - <Select - value={committedBlendModeRef.current} - onOpenChange={handleBlendModeOpenChange} - onValueChange={commitBlendMode} > - <SelectTrigger - icon={<HugeiconsIcon icon={RainDropIcon} />} + <NumberField className="w-full" + icon={ + <OcCheckerboardIcon className="size-3.5 text-muted-foreground" /> + } + value={opacity.displayValue} + min={0} + max={100} + onFocus={opacity.onFocus} + onChange={opacity.onChange} + onBlur={opacity.onBlur} + onScrub={opacity.scrubTo} + onScrubEnd={opacity.commitScrub} + onReset={() => + opacity.commitValue({ value: DEFAULTS.element.opacity }) + } + isDefault={isPropertyAtDefault({ + hasAnimatedKeyframes: opacity.hasAnimatedKeyframes, + isPlayheadWithinElementRange, + resolvedValue: resolvedOpacity, + staticValue: element.opacity, + defaultValue: DEFAULTS.element.opacity, + })} + dragSensitivity="slow" + /> + </SectionField> + <SectionField label="Blend mode" className="w-1/2"> + <Select + value={committedBlendModeRef.current} + onOpenChange={handleBlendModeOpenChange} + onValueChange={commitBlendMode} > - <SelectValue placeholder="Select blend mode" /> - </SelectTrigger> - <SelectContent className="w-36"> - {BLEND_MODE_GROUPS.map((group, groupIndex) => ( - <Fragment key={group[0]?.value ?? `group-${groupIndex}`}> - {group.map((option) => ( - <SelectItem - key={option.value} - value={option.value} - onPointerEnter={() => - previewBlendMode({ value: option.value as BlendMode }) - } - > - {option.label} - </SelectItem> - ))} - {groupIndex < BLEND_MODE_GROUPS.length - 1 ? ( - <SelectSeparator /> - ) : null} - </Fragment> - ))} - </SelectContent> - </Select> - </SectionField> - </div> - </SectionContent> + <SelectTrigger + icon={<HugeiconsIcon icon={RainDropIcon} />} + className="w-full" + > + <SelectValue placeholder="Select blend mode" /> + </SelectTrigger> + <SelectContent className="w-36" onPointerLeave={onPointerLeave}> + {BLEND_MODE_GROUPS.map((group, groupIndex) => ( + <Fragment key={group[0]?.value ?? `group-${groupIndex}`}> + {group.map((option) => ( + <SelectItem + key={option.value} + value={option.value} + onPointerEnter={() => + previewBlendMode({ value: option.value as BlendMode }) + } + > + {option.label} + </SelectItem> + ))} + {groupIndex < BLEND_MODE_GROUPS.length - 1 ? ( + <SelectSeparator /> + ) : null} + </Fragment> + ))} + </SelectContent> + </Select> + </SectionField> + </div> + </SectionContent> </Section> ); } diff --git a/apps/web/src/components/editor/panels/properties/tabs/effects-tab.tsx b/apps/web/src/components/editor/panels/properties/tabs/effects-tab.tsx new file mode 100644 index 00000000..1b94ee2d --- /dev/null +++ b/apps/web/src/components/editor/panels/properties/tabs/effects-tab.tsx @@ -0,0 +1,309 @@ +"use client"; + +import { useState } from "react"; +import type { ParamValues } from "@/lib/params"; +import type { Effect } from "@/lib/effects/types"; +import type { EffectElement, VisualElement } from "@/lib/timeline"; +import { effectsRegistry } from "@/lib/effects"; +import { useEditor } from "@/hooks/use-editor"; +import { useElementPreview } from "@/hooks/use-element-preview"; +import { + Section, + SectionContent, + SectionHeader, + SectionTitle, + SectionFields, +} from "@/components/section"; +import { PropertyParamField } from "../components/property-param-field"; +import { Button } from "@/components/ui/button"; +import { HugeiconsIcon } from "@hugeicons/react"; +import { + Delete02Icon, + ViewIcon, + ViewOffSlashIcon, + MagicWand05Icon, +} from "@hugeicons/core-free-icons"; +import { cn } from "@/utils/ui"; +import { Separator } from "@/components/ui/separator"; +import { useAssetsPanelStore } from "@/stores/assets-panel-store"; + +export function StandaloneEffectTab({ + element, + trackId, +}: { + element: EffectElement; + trackId: string; +}) { + const { renderElement, previewUpdates, commit } = useElementPreview({ + trackId, + elementId: element.id, + fallback: element, + }); + + const effect: Effect = { + id: element.id, + type: element.effectType, + params: element.params, + enabled: true, + }; + + const previewParam = (key: string) => (value: number | string | boolean) => { + previewUpdates({ + params: { ...(renderElement as EffectElement).params, [key]: value }, + }); + }; + + return ( + <div className="flex flex-col h-full"> + <div className="border-b px-3.5 h-11 shrink-0 flex items-center"> + <SectionTitle>Effect</SectionTitle> + </div> + <EffectSection + effect={effect} + renderParams={(renderElement as EffectElement).params} + previewParam={previewParam} + onCommit={commit} + /> + </div> + ); +} + +export function ClipEffectsTab({ + element, + trackId, +}: { + element: VisualElement; + trackId: string; +}) { + const [dragIndex, setDragIndex] = useState<number | null>(null); + const [dropIndex, setDropIndex] = useState<number | null>(null); + const editor = useEditor(); + const { renderElement, previewUpdates, commit } = useElementPreview({ + trackId, + elementId: element.id, + fallback: element, + }); + + const effects: Effect[] = element.effects ?? []; + + const getRenderParams = ({ effectId }: { effectId: string }): ParamValues => { + return ( + (renderElement as VisualElement).effects?.find((ef) => ef.id === effectId) + ?.params ?? + effects.find((ef) => ef.id === effectId)?.params ?? + {} + ); + }; + + const buildPreviewParam = + (effectId: string) => + (key: string) => + (value: number | string | boolean) => { + const updatedEffects = ( + (renderElement as VisualElement).effects ?? [] + ).map((existing) => + existing.id !== effectId + ? existing + : { ...existing, params: { ...existing.params, [key]: value } }, + ); + previewUpdates({ effects: updatedEffects }); + }; + + const handleDragStart = ({ index }: { index: number }) => setDragIndex(index); + + const handleDragOver = ({ + event, + index, + }: { + event: React.DragEvent; + index: number; + }) => { + event.preventDefault(); + if (index !== dropIndex) setDropIndex(index); + }; + + const handleDrop = ({ toIndex }: { toIndex: number }) => { + if (dragIndex !== null && dragIndex !== toIndex) { + editor.timeline.reorderClipEffects({ + trackId, + elementId: element.id, + fromIndex: dragIndex, + toIndex, + }); + } + setDragIndex(null); + setDropIndex(null); + }; + + const handleDragEnd = () => { + setDragIndex(null); + setDropIndex(null); + }; + + return ( + <div className="flex flex-col h-full"> + <div className="border-b px-3.5 h-11 shrink-0 flex items-center"> + <SectionTitle>Effects</SectionTitle> + </div> + {effects.length === 0 ? ( + <EmptyView /> + ) : ( + <ul className="flex flex-col"> + {effects.map((effect, index) => { + const resolvedDragIndex = dragIndex ?? -1; + const isDragging = dragIndex === index; + const isDropTarget = + dropIndex === index && dragIndex !== null && dragIndex !== index; + const showTopDropIndicator = + isDropTarget && index < resolvedDragIndex; + const showBottomDropIndicator = + isDropTarget && index > resolvedDragIndex; + + return ( + <li + key={effect.id} + draggable + onDragStart={() => handleDragStart({ index })} + onDragOver={(event) => handleDragOver({ event, index })} + onDrop={() => handleDrop({ toIndex: index })} + onDragEnd={handleDragEnd} + className={cn( + "group list-none", + isDragging && "opacity-40", + showTopDropIndicator && "border-t-2 border-primary", + showBottomDropIndicator && "border-b-2 border-primary", + )} + > + <EffectSection + effect={effect} + renderParams={getRenderParams({ effectId: effect.id })} + previewParam={buildPreviewParam(effect.id)} + onCommit={commit} + onToggle={() => + editor.timeline.toggleClipEffect({ + trackId, + elementId: element.id, + effectId: effect.id, + }) + } + onRemove={() => + editor.timeline.removeClipEffect({ + trackId, + elementId: element.id, + effectId: effect.id, + }) + } + /> + </li> + ); + })} + </ul> + )} + </div> + ); +} + +function EmptyView() { + const setActiveTab = useAssetsPanelStore((s) => s.setActiveTab); + + return ( + <div className="flex flex-col h-full items-center justify-center gap-4 text-center"> + <HugeiconsIcon + icon={MagicWand05Icon} + className="size-10 text-muted-foreground" + strokeWidth={1} + /> + <div className="flex flex-col gap-2"> + <h3 className="font-medium text-foreground">No effects</h3> + <p className="text-muted-foreground text-sm text-balance max-w-44"> + Add effects to this layer from the Assets panel. + </p> + </div> + <Button + variant="default" + size="sm" + onClick={() => setActiveTab("effects")} + > + Open effects + </Button> + </div> + ); +} + +function EffectSection({ + effect, + renderParams, + previewParam, + onCommit, + onToggle, + onRemove, +}: { + effect: Effect; + renderParams: ParamValues; + previewParam: (key: string) => (value: number | string | boolean) => void; + onCommit: () => void; + onToggle?: () => void; + onRemove?: () => void; +}) { + const definition = effectsRegistry.get(effect.type); + + return ( + <Section + sectionKey={onToggle ? `clip-effect:${effect.id}` : undefined} + showTopBorder={false} + > + <SectionHeader + className={cn(onToggle && "cursor-move")} + trailing={ + onToggle && ( + <div className="flex items-center gap-1"> + <Button + variant={effect.enabled ? "secondary" : "ghost"} + size="icon" + aria-label={`Toggle ${definition.name}`} + onClick={onToggle} + > + <HugeiconsIcon + icon={effect.enabled ? ViewIcon : ViewOffSlashIcon} + /> + </Button> + <Button + variant="ghost" + size="icon" + aria-label={`Remove ${definition.name}`} + onClick={onRemove} + > + <HugeiconsIcon icon={Delete02Icon} /> + </Button> + </div> + ) + } + > + <SectionTitle + className={cn(onToggle && !effect.enabled && "text-muted-foreground")} + > + {definition.name} + </SectionTitle> + </SectionHeader> + <SectionContent + className={cn("p-0", onToggle && !effect.enabled && "opacity-50")} + > + <SectionFields> + {definition.params.map((param) => ( + <div key={param.key} className="flex flex-col gap-3.5"> + <div className="px-4"> + <PropertyParamField + param={param} + value={renderParams[param.key] ?? param.default} + onPreview={previewParam(param.key)} + onCommit={onCommit} + /> + </div> + <Separator /> + </div> + ))} + </SectionFields> + </SectionContent> + </Section> + ); +} diff --git a/apps/web/src/components/editor/panels/properties/tabs/graphic-tab.tsx b/apps/web/src/components/editor/panels/properties/tabs/graphic-tab.tsx new file mode 100644 index 00000000..22dae8cc --- /dev/null +++ b/apps/web/src/components/editor/panels/properties/tabs/graphic-tab.tsx @@ -0,0 +1,238 @@ +"use client"; + +import { useRef } from "react"; +import { useElementPlayhead } from "../hooks/use-element-playhead"; +import { + useKeyframedParamProperty, + type KeyframedParamPropertyResult, +} from "../hooks/use-keyframed-param-property"; +import { resolveGraphicParamsAtTime } from "@/lib/animation"; +import type { ParamDefinition, ParamValues } from "@/lib/params"; +import type { GraphicElement } from "@/lib/timeline"; +import { graphicsRegistry, registerDefaultGraphics } from "@/lib/graphics"; +import { useElementPreview } from "@/hooks/use-element-preview"; +import { useEditor } from "@/hooks/use-editor"; +import { + Section, + SectionContent, + SectionFields, + SectionHeader, + SectionTitle, +} from "@/components/section"; +import { PropertyParamField } from "../components/property-param-field"; +import { Button } from "@/components/ui/button"; +import { HugeiconsIcon } from "@hugeicons/react"; +import { MinusSignIcon, PlusSignIcon } from "@hugeicons/core-free-icons"; +import { cn } from "@/utils/ui"; + +registerDefaultGraphics(); + +const DEFAULT_STROKE_WIDTH = 2; + +export function GraphicTab({ + element, + trackId, +}: { + element: GraphicElement; + trackId: string; +}) { + const definition = graphicsRegistry.get(element.definitionId); + const { localTime, isPlayheadWithinElementRange } = useElementPlayhead({ + startTime: element.startTime, + duration: element.duration, + }); + const { renderElement } = useElementPreview({ + trackId, + elementId: element.id, + fallback: element, + }); + + const liveElement = renderElement as GraphicElement; + const resolvedParams = resolveGraphicParamsAtTime({ + element: liveElement, + localTime, + }); + + const shapeParams = definition.params.filter((p) => p.group !== "stroke"); + const hasStrokeParams = definition.params.some((p) => p.group === "stroke"); + + return ( + <div className="flex flex-col"> + <Section collapsible sectionKey={`${element.id}:graphic`}> + <SectionHeader> + <SectionTitle>{definition.name}</SectionTitle> + </SectionHeader> + <SectionContent> + <SectionFields> + {shapeParams.map((param) => ( + <AnimatedGraphicParamField + key={param.key} + param={param} + trackId={trackId} + element={liveElement} + localTime={localTime} + isPlayheadWithinElementRange={isPlayheadWithinElementRange} + resolvedParams={resolvedParams} + /> + ))} + </SectionFields> + </SectionContent> + </Section> + {hasStrokeParams && ( + <StrokeSection element={element} trackId={trackId} /> + )} + </div> + ); +} + +function StrokeSection({ + element, + trackId, +}: { + element: GraphicElement; + trackId: string; +}) { + const editor = useEditor(); + const definition = graphicsRegistry.get(element.definitionId); + const { localTime, isPlayheadWithinElementRange } = useElementPlayhead({ + startTime: element.startTime, + duration: element.duration, + }); + const { renderElement } = useElementPreview({ + trackId, + elementId: element.id, + fallback: element, + }); + + const liveElement = renderElement as GraphicElement; + const resolvedParams = resolveGraphicParamsAtTime({ + element: liveElement, + localTime, + }); + const strokeParams = definition.params.filter((p) => p.group === "stroke"); + const lastStrokeWidth = useRef(DEFAULT_STROKE_WIDTH); + const isStrokeEnabled = Number(element.params.strokeWidth ?? 0) > 0; + + const toggleStroke = () => { + if (isStrokeEnabled) { + lastStrokeWidth.current = Number( + element.params.strokeWidth ?? DEFAULT_STROKE_WIDTH, + ); + editor.timeline.updateElements({ + updates: [ + { + trackId, + elementId: element.id, + updates: { params: { ...element.params, strokeWidth: 0 } }, + }, + ], + }); + } else { + editor.timeline.updateElements({ + updates: [ + { + trackId, + elementId: element.id, + updates: { + params: { + ...element.params, + strokeWidth: lastStrokeWidth.current, + }, + }, + }, + ], + }); + } + }; + + return ( + <Section + collapsible + defaultOpen={isStrokeEnabled} + sectionKey={`${element.id}:stroke`} + > + <SectionHeader + trailing={ + <Button + variant="ghost" + size="icon" + onClick={(event) => { + event.stopPropagation(); + toggleStroke(); + }} + > + <HugeiconsIcon + icon={isStrokeEnabled ? MinusSignIcon : PlusSignIcon} + strokeWidth={1} + /> + </Button> + } + > + <SectionTitle>Stroke</SectionTitle> + </SectionHeader> + <SectionContent + className={cn(!isStrokeEnabled && "pointer-events-none opacity-50")} + > + <SectionFields> + {strokeParams.map((param) => ( + <AnimatedGraphicParamField + key={param.key} + param={param} + trackId={trackId} + element={liveElement} + localTime={localTime} + isPlayheadWithinElementRange={isPlayheadWithinElementRange} + resolvedParams={resolvedParams} + /> + ))} + </SectionFields> + </SectionContent> + </Section> + ); +} + +function AnimatedGraphicParamField({ + param, + trackId, + element, + localTime, + isPlayheadWithinElementRange, + resolvedParams, +}: { + param: ParamDefinition; + trackId: string; + element: GraphicElement; + localTime: number; + isPlayheadWithinElementRange: boolean; + resolvedParams: ParamValues; +}) { + const animatedParam: KeyframedParamPropertyResult = useKeyframedParamProperty({ + param, + trackId, + elementId: element.id, + animations: element.animations, + localTime, + isPlayheadWithinElementRange, + resolvedValue: resolvedParams[param.key] ?? param.default, + buildBaseUpdates: ({ value }) => ({ + params: { + ...element.params, + [param.key]: value, + }, + }), + }); + + return ( + <PropertyParamField + param={param} + value={resolvedParams[param.key] ?? param.default} + onPreview={animatedParam.onPreview} + onCommit={animatedParam.onCommit} + keyframe={{ + isActive: animatedParam.isKeyframedAtTime, + isDisabled: !isPlayheadWithinElementRange, + onToggle: animatedParam.toggleKeyframe, + }} + /> + ); +} diff --git a/apps/web/src/components/editor/panels/properties/tabs/masks-tab.tsx b/apps/web/src/components/editor/panels/properties/tabs/masks-tab.tsx new file mode 100644 index 00000000..6a5d0d0b --- /dev/null +++ b/apps/web/src/components/editor/panels/properties/tabs/masks-tab.tsx @@ -0,0 +1,660 @@ +"use client"; + +import type { MaskableElement } from "@/lib/timeline"; +import type { Mask, MaskType } from "@/lib/masks/types"; +import type { NumberParamDefinition, SelectParamDefinition } from "@/lib/params"; +import { masksRegistry, buildDefaultMaskInstance } from "@/lib/masks"; +import { useEditor } from "@/hooks/use-editor"; +import { useElementPreview } from "@/hooks/use-element-preview"; +import { useMenuPreview } from "@/hooks/use-menu-preview"; +import { getVisibleElementsWithBounds } from "@/lib/preview/element-bounds"; +import { HugeiconsIcon } from "@hugeicons/react"; +import { + Delete02Icon, + FeatherIcon, + PlusSignIcon, + RotateClockwiseIcon, +} from "@hugeicons/core-free-icons"; +import { TIME_EPSILON_SECONDS } from "@/constants/animation-constants"; +import { useMemo, useState } from "react"; +import { Button } from "@/components/ui/button"; +import { ColorPicker } from "@/components/ui/color-picker"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; +import { NumberField } from "@/components/ui/number-field"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import { + Tooltip, + TooltipContent, + TooltipTrigger, +} from "@/components/ui/tooltip"; +import { clamp, formatNumberForDisplay, snapToStep } from "@/utils/math"; +import { + Section, + SectionContent, + SectionField, + SectionFields, + SectionHeader, + SectionTitle, +} from "@/components/section"; +import { usePropertyDraft } from "../hooks/use-property-draft"; +import { OcMirrorIcon, OcShapesIcon } from "@opencut/ui/icons"; +import { cn } from "@/utils/ui"; + +type MasksTabProps = { + element: MaskableElement; + trackId: string; +}; + +type MaskItemProps = { + trackId: string; + elementId: string; + mask: Mask; + previewParam: (key: string) => (value: number | string | boolean) => void; + onCommit: () => void; +}; + +type EmptyViewProps = { + onAddMask: () => void; +}; + +type PreviewParamHandler = ( + key: string, +) => (value: number | string | boolean) => void; + +type RegisteredMaskDefinition = ReturnType<(typeof masksRegistry)["get"]>; + +export function MasksTab({ element, trackId }: MasksTabProps) { + const editor = useEditor(); + const { renderElement, previewUpdates, commit } = + useElementPreview<MaskableElement>({ + trackId, + elementId: element.id, + fallback: element, + }); + const maskDefs = masksRegistry.getAll(); + const tracks = useEditor((e) => e.timeline.getRenderTracks()); + const currentTime = useEditor((e) => e.playback.getCurrentTime()); + const mediaAssets = useEditor((e) => e.media.getAssets()); + const canvasSize = useEditor( + (e) => e.project.getActive().settings.canvasSize, + ); + const masks = element.masks ?? []; + const renderMasks = renderElement.masks ?? masks; + const hasMask = masks.length > 0; + const { onPointerLeave, onOpenChange, markCommitted } = useMenuPreview(); + const [isDropdownOpen, setIsDropdownOpen] = useState(false); + const elementBounds = useMemo(() => { + const clampedTime = Math.min( + Math.max(currentTime, element.startTime), + element.startTime + element.duration - TIME_EPSILON_SECONDS, + ); + + return ( + getVisibleElementsWithBounds({ + tracks, + currentTime: clampedTime, + canvasSize, + mediaAssets, + }).find( + (item) => item.trackId === trackId && item.elementId === element.id, + )?.bounds ?? null + ); + }, [ + canvasSize, + currentTime, + element.duration, + element.id, + element.startTime, + mediaAssets, + trackId, + tracks, + ]); + + const handleDropdownOpenChange = (open: boolean) => { + if (hasMask && open) return; + setIsDropdownOpen(open); + onOpenChange(open); + }; + + const previewMask = ({ maskType }: { maskType: MaskType }) => { + editor.timeline.previewElements({ + updates: [ + { + trackId, + elementId: element.id, + updates: { + masks: [ + buildDefaultMaskInstance({ + maskType, + elementSize: elementBounds + ? { + width: elementBounds.width, + height: elementBounds.height, + } + : undefined, + }), + ], + } as Partial<MaskableElement>, + }, + ], + }); + }; + + const commitMask = ({ maskType }: { maskType: MaskType }) => { + if (editor.timeline.isPreviewActive()) { + editor.timeline.commitPreview(); + } else { + editor.timeline.updateElements({ + updates: [ + { + trackId, + elementId: element.id, + updates: { + masks: [ + buildDefaultMaskInstance({ + maskType, + elementSize: elementBounds + ? { + width: elementBounds.width, + height: elementBounds.height, + } + : undefined, + }), + ], + } as Partial<MaskableElement>, + }, + ], + }); + } + markCommitted(); + setIsDropdownOpen(false); + }; + + const previewMaskParam = + ({ index, key }: { index: number; key: string }) => + (value: number | string | boolean) => { + if (!renderMasks[index]) { + return; + } + + const updatedMasks = renderMasks.map((existingMask, maskIndex) => + maskIndex !== index + ? existingMask + : { + ...existingMask, + params: { + ...existingMask.params, + [key]: value, + }, + }, + ); + + previewUpdates({ masks: updatedMasks } as Partial<MaskableElement>); + }; + + return ( + <div className="flex flex-col h-full"> + <div className="border-b px-3.5 h-11 shrink-0 flex items-center justify-between gap-2"> + <SectionTitle>Masks</SectionTitle> + <DropdownMenu + open={hasMask ? false : isDropdownOpen} + onOpenChange={handleDropdownOpenChange} + > + {hasMask ? ( + <Tooltip> + <TooltipTrigger asChild> + <span className="inline-flex"> + <Button + variant="ghost" + size="icon" + disabled + aria-label="Add mask" + > + <HugeiconsIcon icon={PlusSignIcon} className="size-3.5!" /> + </Button> + </span> + </TooltipTrigger> + <TooltipContent className="max-w-56 text-balance"> + Only one mask is supported right now. If you need more, + duplicate the clip and apply a different mask to each copy. + </TooltipContent> + </Tooltip> + ) : ( + <DropdownMenuTrigger asChild> + <Button variant="ghost" size="icon" aria-label="Add mask"> + <HugeiconsIcon icon={PlusSignIcon} className="size-3.5!" /> + </Button> + </DropdownMenuTrigger> + )} + <DropdownMenuContent className="w-40" onPointerLeave={onPointerLeave}> + {maskDefs.map((definition) => ( + <DropdownMenuItem + key={definition.type} + onPointerEnter={() => + previewMask({ maskType: definition.type }) + } + onClick={() => commitMask({ maskType: definition.type })} + > + <HugeiconsIcon {...definition.icon} /> + {definition.name} + </DropdownMenuItem> + ))} + </DropdownMenuContent> + </DropdownMenu> + </div> + + {masks.length === 0 ? ( + <EmptyView onAddMask={() => setIsDropdownOpen(true)} /> + ) : ( + masks.map((mask, index) => ( + <MaskItem + key={mask.id} + trackId={trackId} + elementId={element.id} + mask={renderMasks[index] ?? mask} + previewParam={(paramKey) => + previewMaskParam({ index, key: paramKey }) + } + onCommit={commit} + /> + )) + )} + </div> + ); +} + +function MaskItem({ + trackId, + elementId, + mask, + previewParam, + onCommit, +}: MaskItemProps) { + const editor = useEditor(); + const definition = masksRegistry.get(mask.type); + + return ( + <Section sectionKey={`mask-item:${mask.id}`} showTopBorder={false}> + <SectionHeader + trailing={ + <div className="flex items-center gap-1"> + <Button + variant="ghost" + size="icon" + aria-label={`Toggle ${definition.name} mask inversion`} + onClick={() => + editor.timeline.toggleMaskInverted({ + trackId, + elementId, + maskId: mask.id, + }) + } + > + <OcMirrorIcon + className={cn(mask.params.inverted && "-scale-x-100")} + /> + </Button> + <Button + variant="ghost" + size="icon" + aria-label={`Remove ${definition.name} mask`} + onClick={() => + editor.timeline.removeMask({ + trackId, + elementId, + maskId: mask.id, + }) + } + > + <HugeiconsIcon icon={Delete02Icon} /> + </Button> + </div> + } + > + <div className="flex items-center gap-2"> + <HugeiconsIcon {...definition.icon} size={14} /> + <SectionTitle className="capitalize font-normal"> + {definition.name} + </SectionTitle> + </div> + </SectionHeader> + <SectionContent> + <MaskParamsFields + mask={mask} + definition={definition} + previewParam={previewParam} + onCommit={onCommit} + /> + </SectionContent> + </Section> + ); +} + +function MaskParamsFields({ + mask, + definition, + previewParam, + onCommit, +}: { + mask: Mask; + definition: RegisteredMaskDefinition; + previewParam: PreviewParamHandler; + onCommit: () => void; +}) { + const featherParam = getNumberParamDefinition({ + definition, + key: "feather", + }); + const strokeWidthParam = getNumberParamDefinition({ + definition, + key: "strokeWidth", + }); + const previewNumberParam = (key: string) => (value: number) => + previewParam(key)(value); + const previewStrokeColor = previewParam("strokeColor"); + const strokeAlignParam = definition.params.find( + (param): param is SelectParamDefinition => + param.key === "strokeAlign" && param.type === "select", + ); + + return ( + <SectionFields> + {definition.features.hasPosition && + "centerX" in mask.params && + "centerY" in mask.params && ( + <SectionField label="Position"> + <div className="flex items-center gap-2"> + <MaskNumberField + className="flex-1" + icon="X" + param={getNumberParamDefinition({ + definition, + key: "centerX", + })} + value={getMaskNumber({ + params: mask.params, + key: "centerX", + })} + onPreview={previewNumberParam("centerX")} + onCommit={onCommit} + /> + <MaskNumberField + className="flex-1" + icon="Y" + param={getNumberParamDefinition({ + definition, + key: "centerY", + })} + value={getMaskNumber({ + params: mask.params, + key: "centerY", + })} + onPreview={previewNumberParam("centerY")} + onCommit={onCommit} + /> + </div> + </SectionField> + )} + + {definition.features.sizeMode === "width-height" && + "width" in mask.params && + "height" in mask.params && ( + <SectionField label="Size"> + <div className="flex items-center gap-2"> + <MaskNumberField + className="flex-1" + icon="W" + param={getNumberParamDefinition({ + definition, + key: "width", + })} + value={getMaskNumber({ + params: mask.params, + key: "width", + })} + onPreview={previewNumberParam("width")} + onCommit={onCommit} + /> + <MaskNumberField + className="flex-1" + icon="H" + param={getNumberParamDefinition({ + definition, + key: "height", + })} + value={getMaskNumber({ + params: mask.params, + key: "height", + })} + onPreview={previewNumberParam("height")} + onCommit={onCommit} + /> + </div> + </SectionField> + )} + + {definition.features.sizeMode === "uniform" && "scale" in mask.params && ( + <SectionField label="Scale"> + <MaskNumberField + icon="S" + param={getNumberParamDefinition({ + definition, + key: "scale", + })} + value={getMaskNumber({ + params: mask.params, + key: "scale", + })} + onPreview={previewNumberParam("scale")} + onCommit={onCommit} + /> + </SectionField> + )} + + {definition.features.hasRotation && "rotation" in mask.params && ( + <SectionField label="Rotation"> + <MaskNumberField + icon={<HugeiconsIcon icon={RotateClockwiseIcon} />} + param={getNumberParamDefinition({ + definition, + key: "rotation", + })} + value={getMaskNumber({ + params: mask.params, + key: "rotation", + })} + onPreview={previewNumberParam("rotation")} + onCommit={onCommit} + /> + </SectionField> + )} + + <SectionField label="Feather"> + <MaskNumberField + icon={<HugeiconsIcon icon={FeatherIcon} />} + param={featherParam} + value={getMaskNumber({ + params: mask.params, + key: "feather", + })} + onPreview={previewNumberParam("feather")} + onCommit={onCommit} + /> + </SectionField> + + <SectionField label="Stroke"> + <div className="flex flex-col gap-2"> + <div className="flex items-center gap-2"> + <MaskNumberField + className="flex-1" + icon="W" + param={strokeWidthParam} + value={getMaskNumber({ + params: mask.params, + key: "strokeWidth", + })} + onPreview={previewNumberParam("strokeWidth")} + onCommit={onCommit} + /> + <ColorPicker + className="" + value={mask.params.strokeColor.replace(/^#/, "").toUpperCase()} + onChange={(color) => previewStrokeColor(`#${color}`)} + onChangeEnd={(color) => { + previewStrokeColor(`#${color}`); + onCommit(); + }} + /> + </div> + {strokeAlignParam ? ( + <Select + value={mask.params.strokeAlign} + onValueChange={(value) => { + previewParam("strokeAlign")(value); + onCommit(); + }} + > + <SelectTrigger className="w-full"> + <SelectValue /> + </SelectTrigger> + <SelectContent> + {strokeAlignParam.options.map((option) => ( + <SelectItem key={option.value} value={option.value}> + {option.label} + </SelectItem> + ))} + </SelectContent> + </Select> + ) : null} + </div> + </SectionField> + </SectionFields> + ); +} + +function getNumberParamDefinition({ + definition, + key, +}: { + definition: RegisteredMaskDefinition; + key: string; +}): NumberParamDefinition { + const param = definition.params.find((candidate) => candidate.key === key); + + if (!param || param.type !== "number") { + throw new Error(`Missing number param definition for mask key "${key}"`); + } + + return param; +} + +function getMaskNumber({ + params, + key, +}: { + params: Mask["params"]; + key: string; +}): number { + const value = params[key]; + + if (typeof value !== "number") { + throw new Error(`Expected numeric mask param for "${key}"`); + } + + return value; +} + +function MaskNumberField({ + param, + value, + onPreview, + onCommit, + icon, + className, +}: { + param: NumberParamDefinition; + value: number; + onPreview: (value: number) => void; + onCommit: () => void; + icon?: React.ReactNode; + className?: string; +}) { + const isPercent = param.unit === "percent"; + const percentMax = param.max ?? 100; + const displayMultiplier = isPercent + ? 100 / percentMax + : (param.displayMultiplier ?? 1); + const min = isPercent ? 0 : param.min; + const max = isPercent ? 100 : param.max; + const step = isPercent ? 1 : param.step; + const displayValue = value * displayMultiplier; + const maxFractionDigits = step >= 1 ? 0 : Math.round(-Math.log10(step)); + + const clampDisplay = (nextDisplayValue: number) => + max !== undefined + ? clamp({ value: nextDisplayValue, min, max }) + : Math.max(min, nextDisplayValue); + + const previewFromDisplay = (nextDisplayValue: number) => { + onPreview( + clampDisplay(snapToStep({ value: nextDisplayValue, step })) / + displayMultiplier, + ); + }; + + const draft = usePropertyDraft({ + displayValue: formatNumberForDisplay({ + value: displayValue, + maxFractionDigits, + }), + parse: (input) => { + const parsed = parseFloat(input); + if (Number.isNaN(parsed)) return null; + return clampDisplay(snapToStep({ value: parsed, step })) / displayMultiplier; + }, + onPreview, + onCommit, + }); + + return ( + <NumberField + className={className} + icon={icon} + value={draft.displayValue} + dragSensitivity="slow" + onFocus={draft.onFocus} + onChange={draft.onChange} + onBlur={draft.onBlur} + onScrub={previewFromDisplay} + onScrubEnd={onCommit} + /> + ); +} + +function EmptyView({ onAddMask }: EmptyViewProps) { + return ( + <div className="flex flex-col h-full items-center justify-center gap-4 text-center"> + <OcShapesIcon className="size-10 text-muted-foreground" strokeWidth={1} /> + <div className="flex flex-col gap-2"> + <h3 className="font-medium text-foreground">No masks</h3> + <p className="text-muted-foreground text-sm text-balance max-w-40"> + Add a mask to hide or reveal parts of this layer. + </p> + </div> + <Button variant="default" size="sm" onClick={onAddMask}> + Add mask + </Button> + </div> + ); +} diff --git a/apps/web/src/components/editor/panels/properties/tabs/speed-tab.tsx b/apps/web/src/components/editor/panels/properties/tabs/speed-tab.tsx new file mode 100644 index 00000000..44f5dd74 --- /dev/null +++ b/apps/web/src/components/editor/panels/properties/tabs/speed-tab.tsx @@ -0,0 +1,137 @@ +import { useRef } from "react"; +import { useEditor } from "@/hooks/use-editor"; +import { NumberField } from "@/components/ui/number-field"; +import { Switch } from "@/components/ui/switch"; +import { HugeiconsIcon } from "@hugeicons/react"; +import { DashboardSpeed02Icon } from "@hugeicons/core-free-icons"; +import { buildConstantRetime } from "@/lib/retime"; +import { + DEFAULT_RETIME_RATE, + MIN_RETIME_RATE, + MAX_RETIME_RATE, + clampRetimeRate, + canMaintainPitch, +} from "@/constants/retime-constants"; +import type { AudioElement, VideoElement } from "@/lib/timeline"; +import { + Section, + SectionContent, + SectionField, + SectionFields, + SectionHeader, + SectionTitle, +} from "@/components/section"; +import { usePropertyDraft } from "../hooks/use-property-draft"; + +function rateToDisplay({ rate }: { rate: number }): string { + return rate.toFixed(2); +} + +function parseSpeedInput({ input }: { input: string }): number | null { + const parsed = parseFloat(input); + if (Number.isNaN(parsed)) return null; + const rounded = Math.round(parsed * 100) / 100; + return clampRetimeRate({ rate: rounded }); +} + +function buildRetime({ + rate, + maintainPitch, +}: { + rate: number; + maintainPitch: boolean; +}) { + if (rate === DEFAULT_RETIME_RATE && !maintainPitch) return undefined; + return buildConstantRetime({ rate, maintainPitch }); +} + +export function SpeedTab({ + element, + trackId, +}: { + element: AudioElement | VideoElement; + trackId: string; +}) { + const editor = useEditor(); + const rate = clampRetimeRate({ + rate: element.retime?.rate ?? DEFAULT_RETIME_RATE, + }); + const maintainPitchAvailable = canMaintainPitch({ rate }); + const maintainPitch = element.retime?.maintainPitch ?? false; + const pendingRateRef = useRef(rate); + + const applyRetime = ({ + rate: nextRate, + maintainPitch: nextMaintainPitch, + pushHistory = true, + }: { + rate: number; + maintainPitch: boolean; + pushHistory?: boolean; + }) => { + editor.timeline.updateElementRetime({ + trackId, + elementId: element.id, + retime: buildRetime({ rate: nextRate, maintainPitch: nextMaintainPitch }), + pushHistory, + }); + }; + + const speedDraft = usePropertyDraft({ + displayValue: rateToDisplay({ rate }), + parse: (input) => parseSpeedInput({ input }), + onPreview: (nextRate) => { + pendingRateRef.current = nextRate; + applyRetime({ rate: nextRate, maintainPitch, pushHistory: false }); + }, + onCommit: () => { + applyRetime({ rate: pendingRateRef.current, maintainPitch }); + }, + }); + + return ( + <Section collapsible sectionKey={`${element.id}:speed`}> + <SectionHeader> + <SectionTitle>Speed</SectionTitle> + </SectionHeader> + <SectionContent> + <SectionFields> + <SectionField label="Speed"> + <NumberField + icon={<HugeiconsIcon icon={DashboardSpeed02Icon} />} + value={speedDraft.displayValue} + suffix="x" + scrubRanges={[ + { from: 0.01, to: 1, pixelsPerUnit: 160 }, + { from: 1, to: 5, pixelsPerUnit: 48 }, + ]} + scrubClamp={{ min: MIN_RETIME_RATE, max: MAX_RETIME_RATE }} + onFocus={() => { + pendingRateRef.current = rate; + speedDraft.onFocus(); + }} + onChange={speedDraft.onChange} + onBlur={speedDraft.onBlur} + onScrub={speedDraft.scrubTo} + onScrubEnd={speedDraft.commitScrub} + onReset={() => + applyRetime({ rate: DEFAULT_RETIME_RATE, maintainPitch }) + } + isDefault={rate === DEFAULT_RETIME_RATE} + /> + </SectionField> + <div className="flex items-center justify-between"> + <span className="text-sm">Change pitch</span> + <Switch + checked={!maintainPitch} + disabled={!maintainPitchAvailable} + onCheckedChange={(checked) => + applyRetime({ rate, maintainPitch: !checked }) + } + /> + </div> + </SectionFields> + </SectionContent> + </Section> + ); +} diff --git a/apps/web/src/components/editor/panels/properties/text-properties.tsx b/apps/web/src/components/editor/panels/properties/tabs/text-tab.tsx index ae6de420..f8e2527a 100644 --- a/apps/web/src/components/editor/panels/properties/text-properties.tsx +++ b/apps/web/src/components/editor/panels/properties/tabs/text-tab.tsx @@ -1,6 +1,8 @@ +"use client"; + import { Textarea } from "@/components/ui/textarea"; import { FontPicker } from "@/components/ui/font-picker"; -import type { TextElement } from "@/types/timeline"; +import type { TextElement } from "@/lib/timeline"; import { NumberField } from "@/components/ui/number-field"; import { useRef } from "react"; import { @@ -10,7 +12,7 @@ import { SectionFields, SectionHeader, SectionTitle, -} from "./section"; +} from "@/components/section"; import { ColorPicker } from "@/components/ui/color-picker"; import { Button } from "@/components/ui/button"; import { uppercase } from "@/utils/string"; @@ -20,31 +22,27 @@ import { DEFAULT_COLOR } from "@/constants/project-constants"; import { CORNER_RADIUS_MAX, CORNER_RADIUS_MIN, - DEFAULT_LETTER_SPACING, - DEFAULT_LINE_HEIGHT, - DEFAULT_TEXT_BACKGROUND, - DEFAULT_TEXT_ELEMENT, MAX_FONT_SIZE, MIN_FONT_SIZE, } from "@/constants/text-constants"; -import { usePropertyDraft } from "./hooks/use-property-draft"; -import { useKeyframedColorProperty } from "./hooks/use-keyframed-color-property"; -import { useKeyframedNumberProperty } from "./hooks/use-keyframed-number-property"; -import { useElementPlayhead } from "./hooks/use-element-playhead"; -import { TransformSection, BlendingSection } from "./sections"; -import { KeyframeToggle } from "./keyframe-toggle"; -import { isPropertyAtDefault } from "./sections/transform"; +import { usePropertyDraft } from "../hooks/use-property-draft"; +import { useKeyframedColorProperty } from "../hooks/use-keyframed-color-property"; +import { useKeyframedNumberProperty } from "../hooks/use-keyframed-number-property"; +import { useElementPlayhead } from "../hooks/use-element-playhead"; +import { KeyframeToggle } from "../components/keyframe-toggle"; +import { isPropertyAtDefault } from "./transform-tab"; import { resolveColorAtTime, resolveNumberAtTime } from "@/lib/animation"; import { HugeiconsIcon } from "@hugeicons/react"; import { + MinusSignIcon, + PlusSignIcon, TextFontIcon, - ViewIcon, - ViewOffSlashIcon, } from "@hugeicons/core-free-icons"; import { OcTextHeightIcon, OcTextWidthIcon } from "@opencut/ui/icons"; +import { DEFAULTS } from "@/lib/timeline/defaults"; import { cn } from "@/utils/ui"; -export function TextProperties({ +export function TextTab({ element, trackId, }: { @@ -52,10 +50,8 @@ export function TextProperties({ trackId: string; }) { return ( - <div className="flex h-full flex-col"> + <div className="flex flex-col"> <ContentSection element={element} trackId={trackId} /> - <TransformSection element={element} trackId={trackId} /> - <BlendingSection element={element} trackId={trackId} /> <TypographySection element={element} trackId={trackId} /> <SpacingSection element={element} trackId={trackId} /> <BackgroundSection element={element} trackId={trackId} /> @@ -85,7 +81,7 @@ function ContentSection({ }); return ( - <Section collapsible sectionKey="text:content" showTopBorder={false}> + <Section collapsible sectionKey={`${element.id}:content`}> <SectionHeader> <SectionTitle>Content</SectionTitle> </SectionHeader> @@ -138,7 +134,11 @@ function TypographySection({ parse: (input) => { const parsed = parseFloat(input); if (Number.isNaN(parsed)) return null; - return clamp({ value: parsed, min: MIN_FONT_SIZE, max: MAX_FONT_SIZE }); + return clamp({ + value: Math.round(parsed), + min: MIN_FONT_SIZE, + max: MAX_FONT_SIZE, + }); }, onPreview: (value) => editor.timeline.previewElements({ @@ -150,7 +150,7 @@ function TypographySection({ }); return ( - <Section collapsible sectionKey="text:typography"> + <Section collapsible sectionKey={`${element.id}:typography`}> <SectionHeader> <SectionTitle>Typography</SectionTitle> </SectionHeader> @@ -188,12 +188,14 @@ function TypographySection({ { trackId, elementId: element.id, - updates: { fontSize: DEFAULT_TEXT_ELEMENT.fontSize }, + updates: { + fontSize: DEFAULTS.text.element.fontSize, + }, }, ], }) } - isDefault={element.fontSize === DEFAULT_TEXT_ELEMENT.fontSize} + isDefault={element.fontSize === DEFAULTS.text.element.fontSize} icon={<HugeiconsIcon icon={TextFontIcon} />} /> </SectionField> @@ -233,7 +235,7 @@ function SpacingSection({ const letterSpacing = usePropertyDraft({ displayValue: Math.round( - element.letterSpacing ?? DEFAULT_LETTER_SPACING, + element.letterSpacing ?? DEFAULTS.text.letterSpacing, ).toString(), parse: (input) => { const parsed = parseFloat(input); @@ -249,7 +251,7 @@ function SpacingSection({ }); const lineHeight = usePropertyDraft({ - displayValue: (element.lineHeight ?? DEFAULT_LINE_HEIGHT).toFixed(1), + displayValue: (element.lineHeight ?? DEFAULTS.text.lineHeight).toFixed(1), parse: (input) => { const parsed = parseFloat(input); return Number.isNaN(parsed) @@ -266,7 +268,7 @@ function SpacingSection({ }); return ( - <Section collapsible sectionKey="text:spacing" showBottomBorder={false}> + <Section collapsible sectionKey={`${element.id}:spacing`}> <SectionHeader> <SectionTitle>Spacing</SectionTitle> </SectionHeader> @@ -286,14 +288,14 @@ function SpacingSection({ { trackId, elementId: element.id, - updates: { letterSpacing: DEFAULT_LETTER_SPACING }, + updates: { letterSpacing: DEFAULTS.text.letterSpacing }, }, ], }) } isDefault={ - (element.letterSpacing ?? DEFAULT_LETTER_SPACING) === - DEFAULT_LETTER_SPACING + (element.letterSpacing ?? DEFAULTS.text.letterSpacing) === + DEFAULTS.text.letterSpacing } icon={<OcTextWidthIcon size={14} />} /> @@ -312,14 +314,14 @@ function SpacingSection({ { trackId, elementId: element.id, - updates: { lineHeight: DEFAULT_LINE_HEIGHT }, + updates: { lineHeight: DEFAULTS.text.lineHeight }, }, ], }) } isDefault={ - (element.lineHeight ?? DEFAULT_LINE_HEIGHT) === - DEFAULT_LINE_HEIGHT + (element.lineHeight ?? DEFAULTS.text.lineHeight) === + DEFAULTS.text.lineHeight } icon={<OcTextHeightIcon size={14} />} /> @@ -366,25 +368,25 @@ function BackgroundSection({ const bg = element.background; const resolvedPaddingX = resolveNumberAtTime({ - baseValue: bg.paddingX ?? DEFAULT_TEXT_BACKGROUND.paddingX, + baseValue: bg.paddingX ?? DEFAULTS.text.background.paddingX, animations: element.animations, propertyPath: "background.paddingX", localTime, }); const resolvedPaddingY = resolveNumberAtTime({ - baseValue: bg.paddingY ?? DEFAULT_TEXT_BACKGROUND.paddingY, + baseValue: bg.paddingY ?? DEFAULTS.text.background.paddingY, animations: element.animations, propertyPath: "background.paddingY", localTime, }); const resolvedOffsetX = resolveNumberAtTime({ - baseValue: bg.offsetX ?? DEFAULT_TEXT_BACKGROUND.offsetX, + baseValue: bg.offsetX ?? DEFAULTS.text.background.offsetX, animations: element.animations, propertyPath: "background.offsetX", localTime, }); const resolvedOffsetY = resolveNumberAtTime({ - baseValue: bg.offsetY ?? DEFAULT_TEXT_BACKGROUND.offsetY, + baseValue: bg.offsetY ?? DEFAULTS.text.background.offsetY, animations: element.animations, propertyPath: "background.offsetY", localTime, @@ -409,6 +411,7 @@ function BackgroundSection({ return Number.isNaN(parsed) ? null : Math.max(0, Math.round(parsed)); }, valueAtPlayhead: resolvedPaddingX, + step: 1, buildBaseUpdates: ({ value }) => ({ background: { ...bg, paddingX: value }, }), @@ -427,6 +430,7 @@ function BackgroundSection({ return Number.isNaN(parsed) ? null : Math.max(0, Math.round(parsed)); }, valueAtPlayhead: resolvedPaddingY, + step: 1, buildBaseUpdates: ({ value }) => ({ background: { ...bg, paddingY: value }, }), @@ -445,6 +449,7 @@ function BackgroundSection({ return Number.isNaN(parsed) ? null : Math.round(parsed); }, valueAtPlayhead: resolvedOffsetX, + step: 1, buildBaseUpdates: ({ value }) => ({ background: { ...bg, offsetX: value }, }), @@ -463,6 +468,7 @@ function BackgroundSection({ return Number.isNaN(parsed) ? null : Math.round(parsed); }, valueAtPlayhead: resolvedOffsetY, + step: 1, buildBaseUpdates: ({ value }) => ({ background: { ...bg, offsetY: value }, }), @@ -479,9 +485,14 @@ function BackgroundSection({ parse: (input) => { const parsed = parseFloat(input); if (Number.isNaN(parsed)) return null; - return clamp({ value: Math.round(parsed), min: CORNER_RADIUS_MIN, max: CORNER_RADIUS_MAX }); + return clamp({ + value: Math.round(parsed), + min: CORNER_RADIUS_MIN, + max: CORNER_RADIUS_MAX, + }); }, valueAtPlayhead: resolvedCornerRadius, + step: 1, buildBaseUpdates: ({ value }) => ({ background: { ...bg, cornerRadius: value }, }), @@ -514,7 +525,7 @@ function BackgroundSection({ <Section collapsible defaultOpen={element.background.enabled} - sectionKey="text:background" + sectionKey={`${element.id}:background`} > <SectionHeader trailing={ @@ -527,7 +538,8 @@ function BackgroundSection({ }} > <HugeiconsIcon - icon={element.background.enabled ? ViewIcon : ViewOffSlashIcon} + icon={element.background.enabled ? MinusSignIcon : PlusSignIcon} + strokeWidth={1} /> </Button> } @@ -590,13 +602,17 @@ function BackgroundSection({ onBlur={paddingX.onBlur} onScrub={paddingX.scrubTo} onScrubEnd={paddingX.commitScrub} - onReset={() => paddingX.commitValue({ value: DEFAULT_TEXT_BACKGROUND.paddingX })} + onReset={() => + paddingX.commitValue({ + value: DEFAULTS.text.background.paddingX, + }) + } isDefault={isPropertyAtDefault({ hasAnimatedKeyframes: paddingX.hasAnimatedKeyframes, isPlayheadWithinElementRange, resolvedValue: resolvedPaddingX, - staticValue: bg.paddingX ?? DEFAULT_TEXT_BACKGROUND.paddingX, - defaultValue: DEFAULT_TEXT_BACKGROUND.paddingX, + staticValue: bg.paddingX ?? DEFAULTS.text.background.paddingX, + defaultValue: DEFAULTS.text.background.paddingX, })} /> </SectionField> @@ -621,13 +637,17 @@ function BackgroundSection({ onBlur={paddingY.onBlur} onScrub={paddingY.scrubTo} onScrubEnd={paddingY.commitScrub} - onReset={() => paddingY.commitValue({ value: DEFAULT_TEXT_BACKGROUND.paddingY })} + onReset={() => + paddingY.commitValue({ + value: DEFAULTS.text.background.paddingY, + }) + } isDefault={isPropertyAtDefault({ hasAnimatedKeyframes: paddingY.hasAnimatedKeyframes, isPlayheadWithinElementRange, resolvedValue: resolvedPaddingY, - staticValue: bg.paddingY ?? DEFAULT_TEXT_BACKGROUND.paddingY, - defaultValue: DEFAULT_TEXT_BACKGROUND.paddingY, + staticValue: bg.paddingY ?? DEFAULTS.text.background.paddingY, + defaultValue: DEFAULTS.text.background.paddingY, })} /> </SectionField> @@ -653,13 +673,17 @@ function BackgroundSection({ onBlur={offsetX.onBlur} onScrub={offsetX.scrubTo} onScrubEnd={offsetX.commitScrub} - onReset={() => offsetX.commitValue({ value: DEFAULT_TEXT_BACKGROUND.offsetX })} + onReset={() => + offsetX.commitValue({ + value: DEFAULTS.text.background.offsetX, + }) + } isDefault={isPropertyAtDefault({ hasAnimatedKeyframes: offsetX.hasAnimatedKeyframes, isPlayheadWithinElementRange, resolvedValue: resolvedOffsetX, - staticValue: bg.offsetX ?? DEFAULT_TEXT_BACKGROUND.offsetX, - defaultValue: DEFAULT_TEXT_BACKGROUND.offsetX, + staticValue: bg.offsetX ?? DEFAULTS.text.background.offsetX, + defaultValue: DEFAULTS.text.background.offsetX, })} /> </SectionField> @@ -683,13 +707,17 @@ function BackgroundSection({ onBlur={offsetY.onBlur} onScrub={offsetY.scrubTo} onScrubEnd={offsetY.commitScrub} - onReset={() => offsetY.commitValue({ value: DEFAULT_TEXT_BACKGROUND.offsetY })} + onReset={() => + offsetY.commitValue({ + value: DEFAULTS.text.background.offsetY, + }) + } isDefault={isPropertyAtDefault({ hasAnimatedKeyframes: offsetY.hasAnimatedKeyframes, isPlayheadWithinElementRange, resolvedValue: resolvedOffsetY, - staticValue: bg.offsetY ?? DEFAULT_TEXT_BACKGROUND.offsetY, - defaultValue: DEFAULT_TEXT_BACKGROUND.offsetY, + staticValue: bg.offsetY ?? DEFAULTS.text.background.offsetY, + defaultValue: DEFAULTS.text.background.offsetY, })} /> </SectionField> @@ -715,7 +743,9 @@ function BackgroundSection({ onBlur={cornerRadius.onBlur} onScrub={cornerRadius.scrubTo} onScrubEnd={cornerRadius.commitScrub} - onReset={() => cornerRadius.commitValue({ value: CORNER_RADIUS_MIN })} + onReset={() => + cornerRadius.commitValue({ value: CORNER_RADIUS_MIN }) + } isDefault={isPropertyAtDefault({ hasAnimatedKeyframes: cornerRadius.hasAnimatedKeyframes, isPlayheadWithinElementRange, diff --git a/apps/web/src/components/editor/panels/properties/tabs/transform-tab.tsx b/apps/web/src/components/editor/panels/properties/tabs/transform-tab.tsx new file mode 100644 index 00000000..a015a9bb --- /dev/null +++ b/apps/web/src/components/editor/panels/properties/tabs/transform-tab.tsx @@ -0,0 +1,424 @@ +import { NumberField } from "@/components/ui/number-field"; +import { useEditor } from "@/hooks/use-editor"; +import { clamp, isNearlyEqual } from "@/utils/math"; +import type { VisualElement } from "@/lib/timeline"; +import { + Section, + SectionContent, + SectionField, + SectionFields, + SectionHeader, + SectionTitle, +} from "@/components/section"; +import { Button } from "@/components/ui/button"; +import { HugeiconsIcon } from "@hugeicons/react"; +import { + ArrowExpandIcon, + Link05Icon, + RotateClockwiseIcon, +} from "@hugeicons/core-free-icons"; +import { + getGroupKeyframesAtTime, + hasGroupKeyframeAtTime, + resolveTransformAtTime, +} from "@/lib/animation"; +import { DEFAULTS } from "@/lib/timeline/defaults"; +import { useElementPlayhead } from "../hooks/use-element-playhead"; +import { KeyframeToggle } from "../components/keyframe-toggle"; +import { useKeyframedNumberProperty } from "../hooks/use-keyframed-number-property"; +import { useKeyframedVectorProperty } from "../hooks/use-keyframed-vector-property"; +import { usePropertiesStore } from "../stores/properties-store"; + +export function parseNumericInput({ input }: { input: string }): number | null { + const parsed = parseFloat(input); + return Number.isNaN(parsed) ? null : parsed; +} + +export function isPropertyAtDefault({ + hasAnimatedKeyframes, + isPlayheadWithinElementRange, + resolvedValue, + staticValue, + defaultValue, +}: { + hasAnimatedKeyframes: boolean; + isPlayheadWithinElementRange: boolean; + resolvedValue: number; + staticValue: number; + defaultValue: number; +}): boolean { + if (hasAnimatedKeyframes && isPlayheadWithinElementRange) { + return isNearlyEqual({ + leftValue: resolvedValue, + rightValue: defaultValue, + }); + } + + return staticValue === defaultValue; +} + +export function TransformTab({ + element, + trackId, +}: { + element: VisualElement; + trackId: string; +}) { + const editor = useEditor(); + const isScaleLocked = usePropertiesStore((s) => s.isTransformScaleLocked); + const setTransformScaleLocked = usePropertiesStore( + (s) => s.setTransformScaleLocked, + ); + const { localTime, isPlayheadWithinElementRange } = useElementPlayhead({ + startTime: element.startTime, + duration: element.duration, + }); + const resolvedTransform = resolveTransformAtTime({ + baseTransform: element.transform, + animations: element.animations, + localTime, + }); + + const position = useKeyframedVectorProperty({ + trackId, + elementId: element.id, + animations: element.animations, + propertyPath: "transform.position", + localTime, + isPlayheadWithinElementRange, + resolvedValue: resolvedTransform.position, + displayX: Math.round(resolvedTransform.position.x).toString(), + displayY: Math.round(resolvedTransform.position.y).toString(), + parseComponent: (input) => parseNumericInput({ input }), + step: 1, + buildBaseUpdates: ({ value }) => ({ + transform: { ...element.transform, position: value }, + }), + }); + + const parseScale = (input: string) => { + const parsed = parseNumericInput({ input }); + if (parsed === null) return null; + return parsed / 100; + }; + + const scaleX = useKeyframedNumberProperty({ + trackId, + elementId: element.id, + animations: element.animations, + propertyPath: "transform.scaleX", + localTime, + isPlayheadWithinElementRange, + displayValue: Math.round(resolvedTransform.scaleX * 100).toString(), + parse: parseScale, + valueAtPlayhead: resolvedTransform.scaleX, + step: 0.01, + buildBaseUpdates: ({ value }) => ({ + transform: { + ...element.transform, + scaleX: value, + ...(isScaleLocked ? { scaleY: value } : {}), + }, + }), + }); + + const scaleY = useKeyframedNumberProperty({ + trackId, + elementId: element.id, + animations: element.animations, + propertyPath: "transform.scaleY", + localTime, + isPlayheadWithinElementRange, + displayValue: Math.round(resolvedTransform.scaleY * 100).toString(), + parse: parseScale, + valueAtPlayhead: resolvedTransform.scaleY, + step: 0.01, + buildBaseUpdates: ({ value }) => ({ + transform: { + ...element.transform, + scaleY: value, + ...(isScaleLocked ? { scaleX: value } : {}), + }, + }), + }); + + const scaleFieldPropsX = { + value: scaleX.displayValue, + onFocus: scaleX.onFocus, + onChange: scaleX.onChange, + onBlur: scaleX.onBlur, + dragSensitivity: "slow" as const, + onScrub: scaleX.scrubTo, + onScrubEnd: scaleX.commitScrub, + onReset: () => + scaleX.commitValue({ value: DEFAULTS.element.transform.scaleX }), + isDefault: isPropertyAtDefault({ + hasAnimatedKeyframes: scaleX.hasAnimatedKeyframes, + isPlayheadWithinElementRange, + resolvedValue: resolvedTransform.scaleX, + staticValue: element.transform.scaleX, + defaultValue: DEFAULTS.element.transform.scaleX, + }), + }; + + const scaleFieldPropsY = { + value: scaleY.displayValue, + onFocus: scaleY.onFocus, + onChange: scaleY.onChange, + onBlur: scaleY.onBlur, + dragSensitivity: "slow" as const, + onScrub: scaleY.scrubTo, + onScrubEnd: scaleY.commitScrub, + onReset: () => + scaleY.commitValue({ value: DEFAULTS.element.transform.scaleY }), + isDefault: isPropertyAtDefault({ + hasAnimatedKeyframes: scaleY.hasAnimatedKeyframes, + isPlayheadWithinElementRange, + resolvedValue: resolvedTransform.scaleY, + staticValue: element.transform.scaleY, + defaultValue: DEFAULTS.element.transform.scaleY, + }), + }; + + const rotation = useKeyframedNumberProperty({ + trackId, + elementId: element.id, + animations: element.animations, + propertyPath: "transform.rotate", + localTime, + isPlayheadWithinElementRange, + displayValue: Math.round(resolvedTransform.rotate).toString(), + parse: (input) => { + const parsed = parseNumericInput({ input }); + if (parsed === null) return null; + return clamp({ value: parsed, min: -360, max: 360 }); + }, + valueAtPlayhead: resolvedTransform.rotate, + step: 1, + buildBaseUpdates: ({ value }) => ({ + transform: { + ...element.transform, + rotate: value, + }, + }), + }); + + const hasScaleKeyframe = hasGroupKeyframeAtTime({ + animations: element.animations, + group: "transform.scale", + time: localTime, + }); + + const toggleScaleKeyframe = () => { + if (!isPlayheadWithinElementRange) return; + const existing = getGroupKeyframesAtTime({ + animations: element.animations, + group: "transform.scale", + time: localTime, + }); + if (existing.length > 0) { + editor.timeline.removeKeyframes({ + keyframes: existing.map((ref) => ({ + trackId, + elementId: element.id, + ...ref, + })), + }); + return; + } + editor.timeline.upsertKeyframes({ + keyframes: [ + { + trackId, + elementId: element.id, + propertyPath: "transform.scaleX", + time: localTime, + value: resolvedTransform.scaleX, + }, + { + trackId, + elementId: element.id, + propertyPath: "transform.scaleY", + time: localTime, + value: resolvedTransform.scaleY, + }, + ], + }); + }; + + const scaleLockButton = ( + <Button + type="button" + variant={isScaleLocked ? "secondary" : "ghost"} + size="icon" + aria-pressed={isScaleLocked} + onClick={() => setTransformScaleLocked(!isScaleLocked)} + > + <HugeiconsIcon icon={Link05Icon} /> + </Button> + ); + + return ( + <Section collapsible sectionKey={`${element.id}:transform`}> + <SectionHeader> + <SectionTitle>Transform</SectionTitle> + </SectionHeader> + <SectionContent> + <SectionFields> + <div className="flex items-end gap-2"> + {isScaleLocked ? ( + <> + <SectionField + label="Scale" + className="min-w-0 flex-1" + beforeLabel={ + <KeyframeToggle + isActive={hasScaleKeyframe} + isDisabled={!isPlayheadWithinElementRange} + title="Toggle scale keyframe" + onToggle={toggleScaleKeyframe} + /> + } + > + <NumberField + icon={<HugeiconsIcon icon={ArrowExpandIcon} />} + {...scaleFieldPropsX} + /> + </SectionField> + {scaleLockButton} + </> + ) : ( + <> + <SectionField + label="Width" + className="min-w-0 flex-1" + beforeLabel={ + <KeyframeToggle + isActive={scaleX.isKeyframedAtTime} + isDisabled={!isPlayheadWithinElementRange} + title="Toggle width scale keyframe" + onToggle={scaleX.toggleKeyframe} + /> + } + > + <NumberField icon="W" {...scaleFieldPropsX} /> + </SectionField> + {scaleLockButton} + <SectionField + label="Height" + className="min-w-0 flex-1" + beforeLabel={ + <KeyframeToggle + isActive={scaleY.isKeyframedAtTime} + isDisabled={!isPlayheadWithinElementRange} + title="Toggle height scale keyframe" + onToggle={scaleY.toggleKeyframe} + /> + } + > + <NumberField icon="H" {...scaleFieldPropsY} /> + </SectionField> + </> + )} + </div> + <SectionField + label="Position" + beforeLabel={ + <KeyframeToggle + isActive={position.isKeyframedAtTime} + isDisabled={!isPlayheadWithinElementRange} + title="Toggle position keyframe" + onToggle={position.toggleKeyframe} + /> + } + > + <div className="flex items-center gap-2"> + <NumberField + icon="X" + className="flex-1" + value={position.x.displayValue} + onFocus={position.x.onFocus} + onChange={position.x.onChange} + onBlur={position.x.onBlur} + onScrub={position.x.scrubTo} + onScrubEnd={position.x.commitScrub} + onReset={() => + position.commitX({ + value: DEFAULTS.element.transform.position.x, + }) + } + isDefault={isPropertyAtDefault({ + hasAnimatedKeyframes: position.hasAnimatedKeyframes, + isPlayheadWithinElementRange, + resolvedValue: resolvedTransform.position.x, + staticValue: element.transform.position.x, + defaultValue: DEFAULTS.element.transform.position.x, + })} + /> + <NumberField + icon="Y" + className="flex-1" + value={position.y.displayValue} + onFocus={position.y.onFocus} + onChange={position.y.onChange} + onBlur={position.y.onBlur} + onScrub={position.y.scrubTo} + onScrubEnd={position.y.commitScrub} + onReset={() => + position.commitY({ + value: DEFAULTS.element.transform.position.y, + }) + } + isDefault={isPropertyAtDefault({ + hasAnimatedKeyframes: position.hasAnimatedKeyframes, + isPlayheadWithinElementRange, + resolvedValue: resolvedTransform.position.y, + staticValue: element.transform.position.y, + defaultValue: DEFAULTS.element.transform.position.y, + })} + /> + </div> + </SectionField> + + <SectionField + label="Rotation" + beforeLabel={ + <KeyframeToggle + isActive={rotation.isKeyframedAtTime} + isDisabled={!isPlayheadWithinElementRange} + title="Toggle rotation keyframe" + onToggle={rotation.toggleKeyframe} + /> + } + > + <div className="flex items-center gap-2"> + <NumberField + icon={<HugeiconsIcon icon={RotateClockwiseIcon} />} + className="flex-none" + value={rotation.displayValue} + onFocus={rotation.onFocus} + onChange={rotation.onChange} + onBlur={rotation.onBlur} + dragSensitivity="slow" + onScrub={rotation.scrubTo} + onScrubEnd={rotation.commitScrub} + onReset={() => + rotation.commitValue({ + value: DEFAULTS.element.transform.rotate, + }) + } + isDefault={isPropertyAtDefault({ + hasAnimatedKeyframes: rotation.hasAnimatedKeyframes, + isPlayheadWithinElementRange, + resolvedValue: resolvedTransform.rotate, + staticValue: element.transform.rotate, + defaultValue: DEFAULTS.element.transform.rotate, + })} + /> + </div> + </SectionField> + </SectionFields> + </SectionContent> + </Section> + ); +} diff --git a/apps/web/src/components/editor/panels/properties/video-properties.tsx b/apps/web/src/components/editor/panels/properties/video-properties.tsx deleted file mode 100644 index 49dd8fe5..00000000 --- a/apps/web/src/components/editor/panels/properties/video-properties.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import type { - ImageElement, - StickerElement, - VideoElement, -} from "@/types/timeline"; -import { BlendingSection, TransformSection } from "./sections"; - -export function VideoProperties({ - element, - trackId, -}: { - element: VideoElement | ImageElement | StickerElement; - trackId: string; -}) { - return ( - <div className="flex h-full flex-col"> - <TransformSection - element={element} - trackId={trackId} - showTopBorder={false} - /> - <BlendingSection element={element} trackId={trackId} /> - </div> - ); -} diff --git a/apps/web/src/components/editor/panels/timeline/audio-waveform.tsx b/apps/web/src/components/editor/panels/timeline/audio-waveform.tsx index bbc5cb83..cbb19bd0 100644 --- a/apps/web/src/components/editor/panels/timeline/audio-waveform.tsx +++ b/apps/web/src/components/editor/panels/timeline/audio-waveform.tsx @@ -1,176 +1,167 @@ -import { useEffect, useRef, useState } from "react"; -import WaveSurfer from "wavesurfer.js"; +"use client"; +import { useCallback, useEffect, useRef } from "react"; +import { useResizeObserver } from "@/hooks/use-resize-observer"; +import { computeGlobalMaxRms, extractRmsRange } from "@/lib/media/audio"; +import { findScrollParent } from "@/utils/browser"; +import { cn } from "@/utils/ui"; + +const BAR_WIDTH = 2; +const BAR_GAP = 1; +const BAR_STEP = BAR_WIDTH + BAR_GAP; interface AudioWaveformProps { audioUrl?: string; audioBuffer?: AudioBuffer; - height?: number; + color?: string; className?: string; } -function extractPeaks({ - buffer, - length = 512, -}: { - buffer: AudioBuffer; - length?: number; -}): number[][] { - const channels = buffer.numberOfChannels; - const peaks: number[][] = []; - - for (let c = 0; c < channels; c++) { - const data = buffer.getChannelData(c); - const step = Math.floor(data.length / length); - const channelPeaks: number[] = []; - - for (let i = 0; i < length; i++) { - const start = i * step; - const end = Math.min(start + step, data.length); - let max = 0; - for (let j = start; j < end; j++) { - const abs = Math.abs(data[j]); - if (abs > max) max = abs; - } - channelPeaks.push(max); - } - peaks.push(channelPeaks); - } - - return peaks; -} - export function AudioWaveform({ audioUrl, audioBuffer, - height = 32, + color = "rgba(255, 255, 255, 0.7)", className = "", }: AudioWaveformProps) { - const waveformRef = useRef<HTMLDivElement>(null); - const wavesurfer = useRef<WaveSurfer | null>(null); - const [isLoading, setIsLoading] = useState(true); - const [error, setError] = useState(false); + const canvasRef = useRef<HTMLCanvasElement>(null); + const containerRef = useRef<HTMLDivElement>(null); + const bufferRef = useRef<AudioBuffer | null>(null); + const globalMaxRef = useRef<number>(1); + const scrollParentRef = useRef<HTMLElement | null>(null); + const heightRef = useRef<number>(0); - useEffect(() => { - let mounted = true; - const ws = wavesurfer.current; + const drawVisible = useCallback(() => { + const container = containerRef.current; + const canvas = canvasRef.current; + const buffer = bufferRef.current; + const height = heightRef.current; - const initWaveSurfer = async () => { - if (!waveformRef.current || (!audioUrl && !audioBuffer)) return; + if (!container || !canvas || !buffer || height <= 0) return; - try { - if (ws) { - wavesurfer.current = null; - } + const elementWidth = container.offsetWidth; + if (elementWidth <= 0) return; - const newWaveSurfer = WaveSurfer.create({ - container: waveformRef.current, - waveColor: "rgba(255, 255, 255, 0.6)", - progressColor: "rgba(255, 255, 255, 0.9)", - cursorColor: "transparent", - barWidth: 2, - barGap: 1, - height, - normalize: true, - interact: false, - }); + const containerRect = container.getBoundingClientRect(); + const scrollParent = scrollParentRef.current; - if (mounted) { - wavesurfer.current = newWaveSurfer; - } else { - try { - newWaveSurfer.destroy(); - } catch {} - return; - } + let clipLeft: number; + let clipRight: number; - newWaveSurfer.on("ready", () => { - if (mounted) { - setIsLoading(false); - setError(false); - } - }); + if (scrollParent) { + const parentRect = scrollParent.getBoundingClientRect(); + clipLeft = Math.max(0, parentRect.left - containerRect.left); + clipRight = Math.min(elementWidth, parentRect.right - containerRect.left); + } else { + clipLeft = Math.max(0, -containerRect.left); + clipRight = Math.min( + elementWidth, + window.innerWidth - containerRect.left, + ); + } - newWaveSurfer.on("error", (err) => { - if (mounted) { - console.error("WaveSurfer error:", err); - setError(true); - setIsLoading(false); - } - }); + const visibleWidth = clipRight - clipLeft; + if (visibleWidth <= 0) return; - if (audioBuffer) { - const peaks = extractPeaks({ buffer: audioBuffer }); - newWaveSurfer.load("", peaks, audioBuffer.duration); - } else if (audioUrl) { - await newWaveSurfer.load(audioUrl); - } - } catch (err) { - if (mounted) { - console.error("Failed to initialize WaveSurfer:", err); - setError(true); - setIsLoading(false); - } - } - }; + const dpr = window.devicePixelRatio || 1; + const canvasW = Math.round(visibleWidth * dpr); + const canvasH = Math.round(height * dpr); + + if (canvasW <= 0 || canvasH <= 0) return; + + canvas.width = canvasW; + canvas.height = canvasH; + canvas.style.width = `${visibleWidth}px`; + canvas.style.height = `${height}px`; + canvas.style.left = `${clipLeft}px`; + + const barCount = Math.max(1, Math.floor(visibleWidth / BAR_STEP)); + const startFraction = clipLeft / elementWidth; + const endFraction = clipRight / elementWidth; + const startSample = Math.floor(startFraction * buffer.length); + const endSample = Math.min( + buffer.length, + Math.ceil(endFraction * buffer.length), + ); - if (ws) { - const wsToDestroy = ws; - wavesurfer.current = null; + const peaks = extractRmsRange({ + buffer, + count: barCount, + startSample, + endSample, + globalMax: globalMaxRef.current, + }); - requestAnimationFrame(() => { + const ctx = canvas.getContext("2d"); + if (!ctx) return; + + ctx.clearRect(0, 0, canvasW, canvasH); + ctx.scale(dpr, dpr); + ctx.fillStyle = color; + + const maxBarHeight = height * 0.7; + + for (let i = 0; i < barCount; i++) { + const scaled = Math.log1p(peaks[i]) / Math.log1p(1); + const barH = Math.max(1, scaled * maxBarHeight); + ctx.fillRect(i * BAR_STEP, height - barH, BAR_WIDTH, barH); + } + }, [color]); + + useEffect(() => { + let isCancelled = false; + + async function load() { + let buffer = audioBuffer ?? null; + + if (!buffer && audioUrl) { try { - wsToDestroy.destroy(); - } catch {} - if (mounted) { - initWaveSurfer(); + const resp = await fetch(audioUrl); + const arrayBuffer = await resp.arrayBuffer(); + const actx = new AudioContext(); + buffer = await actx.decodeAudioData(arrayBuffer); + actx.close(); + } catch { + return; } - }); - } else { - initWaveSurfer(); + } + + if (!buffer || isCancelled) return; + + bufferRef.current = buffer; + globalMaxRef.current = computeGlobalMaxRms({ buffer }); + drawVisible(); } + load(); return () => { - mounted = false; + isCancelled = true; + }; + }, [audioUrl, audioBuffer, drawVisible]); - const wsToDestroy = wavesurfer.current; + useEffect(() => { + const container = containerRef.current; + if (!container) return; - wavesurfer.current = null; + scrollParentRef.current = findScrollParent({ element: container }); + const scrollParent = scrollParentRef.current; + if (!scrollParent) return; - if (wsToDestroy) { - requestAnimationFrame(() => { - try { - wsToDestroy.destroy(); - } catch {} - }); - } - }; - }, [audioUrl, audioBuffer, height]); + scrollParent.addEventListener("scroll", drawVisible, { passive: true }); + return () => scrollParent.removeEventListener("scroll", drawVisible); + }, [drawVisible]); - if (error) { - return ( - <div - className={`flex items-center justify-center ${className}`} - style={{ height }} - > - <span className="text-foreground/60 text-xs">Audio unavailable</span> - </div> - ); - } + const onResize = useCallback( + (entry: ResizeObserverEntry) => { + heightRef.current = entry.contentRect.height; + drawVisible(); + }, + [drawVisible], + ); + + useResizeObserver({ ref: containerRef, onResize }); return ( - <div className={`relative ${className}`}> - {isLoading && ( - <div className="absolute inset-0 flex items-center justify-center"> - <span className="text-foreground/60 text-xs">Loading...</span> - </div> - )} - <div - ref={waveformRef} - className={`w-full ${isLoading ? "opacity-0" : "opacity-100"}`} - style={{ height }} - /> + <div ref={containerRef} className={cn("relative size-full", className)}> + <canvas ref={canvasRef} className="absolute bottom-0" /> </div> ); } - -export default AudioWaveform; diff --git a/apps/web/src/components/editor/panels/timeline/bookmarks.tsx b/apps/web/src/components/editor/panels/timeline/bookmarks.tsx index 864bb557..7000f98b 100644 --- a/apps/web/src/components/editor/panels/timeline/bookmarks.tsx +++ b/apps/web/src/components/editor/panels/timeline/bookmarks.tsx @@ -5,7 +5,10 @@ import type { EditorCore } from "@/core"; import { useEditor } from "@/hooks/use-editor"; import type { BookmarkDragState } from "@/hooks/timeline/use-bookmark-drag"; import { BOOKMARK_TIME_EPSILON } from "@/lib/timeline/bookmarks"; -import { DEFAULT_BOOKMARK_COLOR } from "@/constants/timeline-constants"; +import { + DEFAULT_BOOKMARK_COLOR, + TIMELINE_BOOKMARK_ROW_HEIGHT, +} from "@/constants/timeline-constants"; import { DEFAULT_FPS } from "@/constants/project-constants"; import { getSnappedSeekTime } from "@/lib/time"; import { @@ -13,7 +16,7 @@ import { Delete02Icon, } from "@hugeicons/core-free-icons"; import { HugeiconsIcon } from "@hugeicons/react"; -import type { Bookmark } from "@/types/timeline"; +import type { Bookmark } from "@/lib/timeline"; import { Popover, PopoverAnchor, @@ -25,7 +28,10 @@ import { Button } from "@/components/ui/button"; import { Label } from "@/components/ui/label"; import { uppercase } from "@/utils/string"; import { clamp } from "@/utils/math"; -import { timelineTimeToPixels, timelineTimeToSnappedPixels } from "@/lib/timeline"; +import { + timelineTimeToPixels, + timelineTimeToSnappedPixels, +} from "@/lib/timeline"; const MIN_BOOKMARK_WIDTH_PX = 2; const BOOKMARK_MARKER_WIDTH_PX = 12; @@ -72,14 +78,17 @@ export function TimelineBookmarksRow({ handleRulerTrackingMouseDown, handleRulerMouseDown, }: TimelineBookmarksRowProps) { - const editor = useEditor(); - const activeScene = editor.scenes.getActiveScene(); + const bookmarks = useEditor((e) => e.scenes.getActiveScene().bookmarks); return ( - <div className="relative h-4 flex-1 overflow-hidden"> + <div + className="relative flex-1 overflow-hidden" + style={{ height: TIMELINE_BOOKMARK_ROW_HEIGHT }} + > <button - className="relative h-4 w-full cursor-default select-none border-0 bg-transparent p-0" + className="relative w-full cursor-default select-none border-0 bg-transparent p-0" style={{ + height: TIMELINE_BOOKMARK_ROW_HEIGHT, width: `${dynamicTimelineWidth}px`, }} aria-label="Timeline ruler" @@ -95,7 +104,7 @@ export function TimelineBookmarksRow({ handleRulerTrackingMouseDown(event); }} > - {activeScene.bookmarks.map((bookmark) => ( + {bookmarks.map((bookmark) => ( <TimelineBookmark key={`bookmark-${bookmark.time}`} bookmark={bookmark} @@ -174,7 +183,7 @@ function TimelineBookmark({ <Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen}> <PopoverAnchor asChild> <button - className={`absolute top-0 h-full min-w-0.5 border-0 bg-transparent p-0 ${isDragging ? "cursor-grabbing" : "cursor-grab"}`} + className="absolute top-0 h-full min-w-0.5 border-0 bg-transparent p-0" style={{ left: `${bookmarkLeft}px`, width: `${bookmarkWidth}px`, diff --git a/apps/web/src/components/editor/panels/timeline/drag-line.tsx b/apps/web/src/components/editor/panels/timeline/drag-line.tsx index 291a4633..7597a620 100644 --- a/apps/web/src/components/editor/panels/timeline/drag-line.tsx +++ b/apps/web/src/components/editor/panels/timeline/drag-line.tsx @@ -1,5 +1,6 @@ import { getDropLineY } from "@/lib/timeline/drop-utils"; -import type { TimelineTrack, DropTarget } from "@/types/timeline"; +import type { TimelineTrack, DropTarget } from "@/lib/timeline"; +import { TIMELINE_LAYERS } from "@/constants/timeline-constants"; interface DragLineProps { dropTarget: DropTarget | null; @@ -22,7 +23,7 @@ export function DragLine({ return ( <div className="bg-primary pointer-events-none absolute right-0 left-0 h-0.5" - style={{ top: `${lineTop}px` }} + style={{ top: `${lineTop}px`, zIndex: TIMELINE_LAYERS.dragLine }} /> ); } diff --git a/apps/web/src/components/editor/panels/timeline/index.tsx b/apps/web/src/components/editor/panels/timeline/index.tsx index 593976a8..f1ecd9f4 100644 --- a/apps/web/src/components/editor/panels/timeline/index.tsx +++ b/apps/web/src/components/editor/panels/timeline/index.tsx @@ -3,31 +3,44 @@ import { ScrollArea } from "@/components/ui/scroll-area"; import { Delete02Icon, + MagicWand05Icon, + MusicNote03Icon, TaskAdd02Icon, + TextIcon, ViewIcon, ViewOffSlashIcon, VolumeHighIcon, VolumeOffIcon, } from "@hugeicons/core-free-icons"; import { HugeiconsIcon, type IconSvgElement } from "@hugeicons/react"; +import { OcShapesIcon, OcVideoIcon } from "@opencut/ui/icons"; import { ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuTrigger, -} from "../../../ui/context-menu"; +} from "@/components/ui/context-menu"; import { useTimelineZoom } from "@/hooks/timeline/use-timeline-zoom"; -import { useState, useRef, useCallback } from "react"; +import { + useCallback, + useEffect, + useMemo, + useRef, + useState, + type ReactNode, +} from "react"; +import type { ElementDragState, DropTarget } from "@/lib/timeline"; import { TimelineTrackContent } from "./timeline-track"; import { TimelinePlayhead } from "./timeline-playhead"; -import { SelectionBox } from "../../selection-box"; -import { useSelectionBox } from "@/hooks/timeline/use-selection-box"; +import { SelectionBox } from "@/lib/selection/selection-box"; +import { useBoxSelect } from "@/lib/selection/hooks/use-box-select"; import { SnapIndicator } from "./snap-indicator"; import type { SnapPoint } from "@/lib/timeline/snap-utils"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; import { TIMELINE_CONSTANTS, - TRACK_CONFIG, + TRACK_GAP, + TIMELINE_SCROLLBAR_SIZE_PX, } from "@/constants/timeline-constants"; import { useElementInteraction } from "@/hooks/timeline/element/use-element-interaction"; import { @@ -36,12 +49,11 @@ import { getTotalTracksHeight, canTracktHaveAudio, canTrackBeHidden, + isMainTrack, getTimelineZoomMin, getTimelinePaddingPx, - isMainTrack, } from "@/lib/timeline"; import { TimelineToolbar } from "./timeline-toolbar"; -import { useScrollSync } from "@/hooks/timeline/use-scroll-sync"; import { useElementSelection } from "@/hooks/timeline/element/use-element-selection"; import { useTimelineSeek } from "@/hooks/timeline/use-timeline-seek"; import { useTimelineDragDrop } from "@/hooks/timeline/use-timeline-drag-drop"; @@ -49,27 +61,58 @@ import { TimelineRuler } from "./timeline-ruler"; import { TimelineBookmarksRow } from "./bookmarks"; import { useBookmarkDrag } from "@/hooks/timeline/use-bookmark-drag"; import { useEdgeAutoScroll } from "@/hooks/timeline/use-edge-auto-scroll"; +import { useInitialScrollBottom } from "@/hooks/timeline/use-initial-scroll-bottom"; import { useTimelineStore } from "@/stores/timeline-store"; import { useEditor } from "@/hooks/use-editor"; import { useTimelinePlayhead } from "@/hooks/timeline/use-timeline-playhead"; import { DragLine } from "./drag-line"; import { invokeAction } from "@/lib/actions"; +import { resolveTimelineElementIntersections } from "@/lib/timeline/selection-hit-testing"; +import { cn } from "@/utils/ui"; const TRACKS_CONTAINER_MAX_HEIGHT = 800; const FALLBACK_CONTAINER_WIDTH = 1000; +const TRACKS_CONTAINER_HEIGHT = { min: 0, max: TRACKS_CONTAINER_MAX_HEIGHT }; +const TRACK_ICONS: Record<TimelineTrack["type"], ReactNode> = { + video: <OcVideoIcon className="text-muted-foreground size-4 shrink-0" />, + text: ( + <HugeiconsIcon + icon={TextIcon} + className="text-muted-foreground size-4 shrink-0" + /> + ), + audio: ( + <HugeiconsIcon + icon={MusicNote03Icon} + className="text-muted-foreground size-4 shrink-0" + /> + ), + graphic: <OcShapesIcon className="text-muted-foreground size-4 shrink-0" />, + effect: ( + <HugeiconsIcon + icon={MagicWand05Icon} + className="text-muted-foreground size-4 shrink-0" + /> + ), +}; export function Timeline() { - const tracksContainerHeight = { min: 0, max: TRACKS_CONTAINER_MAX_HEIGHT }; const snappingEnabled = useTimelineStore((s) => s.snappingEnabled); - const { clearElementSelection, setElementSelection } = useElementSelection(); + const { + selectedElements, + clearElementSelection, + setElementSelection, + mergeElementsIntoSelection, + } = useElementSelection(); const editor = useEditor(); const timeline = editor.timeline; - const tracks = timeline.getTracks(); + const tracks = useEditor((editor) => editor.timeline.getTracks()); const seek = (time: number) => editor.playback.seek({ time }); const timelineRef = useRef<HTMLDivElement>(null); const timelineHeaderRef = useRef<HTMLDivElement>(null); const rulerRef = useRef<HTMLDivElement>(null); + const rulerScrollRef = useRef<HTMLDivElement>(null); const tracksContainerRef = useRef<HTMLDivElement>(null); const tracksScrollRef = useRef<HTMLDivElement>(null); const trackLabelsRef = useRef<HTMLDivElement>(null); @@ -110,8 +153,109 @@ export function Timeline() { initialScrollLeft: savedViewState?.scrollLeft, initialPlayheadTime: savedViewState?.playheadTime, tracksScrollRef, - rulerScrollRef: tracksScrollRef, + rulerScrollRef, + }); + + // Stable refs so the wheel listener never goes stale + const setZoomLevelRef = useRef(setZoomLevel); + useEffect(() => { + setZoomLevelRef.current = setZoomLevel; + }, [setZoomLevel]); + + const saveScrollPositionRef = useRef(saveScrollPosition); + useEffect(() => { + saveScrollPositionRef.current = saveScrollPosition; + }, [saveScrollPosition]); + + const minZoomLevelRef = useRef(minZoomLevel); + useEffect(() => { + minZoomLevelRef.current = minZoomLevel; + }, [minZoomLevel]); + + // Pushes tracks scroll position to the two overflow:hidden followers + // (ruler and track labels). Called from the wheel handler (before paint, + // zero lag) and from onScroll on the tracks area (covers scrollbar drag). + const syncFollowers = useCallback(() => { + const tracks = tracksScrollRef.current; + if (!tracks) return; + if (rulerScrollRef.current) { + rulerScrollRef.current.scrollLeft = tracks.scrollLeft; + } + if (trackLabelsScrollRef.current) { + trackLabelsScrollRef.current.scrollTop = tracks.scrollTop; + } + }, []); + + // Single non-passive capture listener owns all wheel input. Prevents any + // native scroll or browser zoom from firing inside the timeline. + useEffect(() => { + const container = timelineRef.current; + if (!container) return; + + let pendingZoomDelta = 0; + let zoomRafId: ReturnType<typeof requestAnimationFrame> | null = null; + + const onWheel = (e: WheelEvent) => { + const isZoom = e.ctrlKey || e.metaKey; + + if (isZoom) { + e.preventDefault(); + const normalizedDelta = e.deltaMode === 1 ? e.deltaY * 16 : e.deltaY; + pendingZoomDelta += normalizedDelta; + + if (zoomRafId === null) { + zoomRafId = requestAnimationFrame(() => { + const frameRawDelta = pendingZoomDelta; + const cappedDelta = + Math.sign(frameRawDelta) * Math.min(Math.abs(frameRawDelta), 30); + const zoomFactor = Math.exp(-cappedDelta / 300); + setZoomLevelRef.current((prev) => prev * zoomFactor); + pendingZoomDelta = 0; + zoomRafId = null; + }); + } + return; + } + + const tracks = tracksScrollRef.current; + if (!tracks) return; + + const isHorizontal = + e.shiftKey || Math.abs(e.deltaX) > Math.abs(e.deltaY); + + e.preventDefault(); + + if (isHorizontal) { + const raw = + Math.abs(e.deltaX) > Math.abs(e.deltaY) ? e.deltaX : e.deltaY; + const clamped = + Math.sign(raw) * + Math.min(Math.abs(raw), TIMELINE_CONSTANTS.HORIZONTAL_WHEEL_STEP_PX); + tracks.scrollLeft = Math.max(0, tracks.scrollLeft + clamped); + } else { + tracks.scrollTop = Math.max(0, tracks.scrollTop + e.deltaY); + } + + syncFollowers(); + saveScrollPositionRef.current(); + }; + + container.addEventListener("wheel", onWheel, { + passive: false, + capture: true, }); + return () => { + container.removeEventListener("wheel", onWheel, { capture: true }); + if (zoomRafId !== null) cancelAnimationFrame(zoomRafId); + }; + }, [syncFollowers]); + + useInitialScrollBottom({ + tracksScrollRef, + trackLabelsScrollRef, + onAfterScroll: () => saveScrollPositionRef.current(), + isReady: tracks.length > 0, + }); const { dragState, @@ -124,7 +268,6 @@ export function Timeline() { timelineRef, tracksContainerRef, tracksScrollRef, - headerRef: timelineHeaderRef, snappingEnabled, onSnapPointChange: handleSnapPointChange, }); @@ -144,14 +287,13 @@ export function Timeline() { useTimelinePlayhead({ zoomLevel, rulerRef, - rulerScrollRef: tracksScrollRef, + rulerScrollRef, tracksScrollRef, playheadRef, }); const { isDragOver, dropTarget, dragProps } = useTimelineDragDrop({ containerRef: tracksContainerRef, - headerRef: timelineHeaderRef, tracksScrollRef, zoomLevel, }); @@ -161,17 +303,37 @@ export function Timeline() { handleMouseDown: handleSelectionMouseDown, isSelecting, shouldIgnoreClick, - } = useSelectionBox({ + } = useBoxSelect({ containerRef: tracksContainerRef, - headerRef: timelineHeaderRef, - onSelectionComplete: (elements) => { - setElementSelection({ elements }); + selectedIds: selectedElements, + anchorId: null, + getIsAdditiveSelection: (event) => + event.shiftKey || event.ctrlKey || event.metaKey, + resolveIntersections: ({ startPos, currentPos }) => { + if (!tracksContainerRef.current) { + return []; + } + + return resolveTimelineElementIntersections({ + container: tracksContainerRef.current, + scrollContainer: tracksScrollRef.current, + tracks, + zoomLevel, + startPos, + currentPos, + }); + }, + onSelectionChange: ({ intersectedIds, isAdditive }) => { + if (isAdditive) { + mergeElementsIntoSelection({ elements: intersectedIds }); + } else { + setElementSelection({ elements: intersectedIds }); + } }, - tracksScrollRef, - zoomLevel, }); - const containerWidth = tracksContainerRef.current?.clientWidth || FALLBACK_CONTAINER_WIDTH; + const containerWidth = + tracksContainerRef.current?.clientWidth || FALLBACK_CONTAINER_WIDTH; const contentWidth = timelineDuration * TIMELINE_CONSTANTS.PIXELS_PER_SECOND * zoomLevel; const paddingPx = getTimelinePaddingPx({ @@ -183,11 +345,16 @@ export function Timeline() { contentWidth + paddingPx, containerWidth, ); + const tracksViewportWidth = + tracksScrollRef.current?.clientWidth ?? + tracksContainerRef.current?.clientWidth ?? + containerWidth; + const hasHorizontalScrollbar = dynamicTimelineWidth > tracksViewportWidth; useEdgeAutoScroll({ isActive: bookmarkDragState.isDragging, getMouseClientX: () => bookmarkLastMouseXRef.current, - rulerScrollRef: tracksScrollRef, + rulerScrollRef, tracksScrollRef, contentWidth: dynamicTimelineWidth, }); @@ -205,7 +372,7 @@ export function Timeline() { } = useTimelineSeek({ playheadRef, trackLabelsRef, - rulerScrollRef: tracksScrollRef, + rulerScrollRef, tracksScrollRef, zoomLevel, duration: timeline.getTotalDuration(), @@ -214,13 +381,9 @@ export function Timeline() { seek, }); - useScrollSync({ - tracksScrollRef, - trackLabelsScrollRef, - }); - const timelineHeaderHeight = - timelineHeaderRef.current?.getBoundingClientRect().height ?? 0; + (timelineHeaderRef.current?.getBoundingClientRect().height ?? 0) + + TIMELINE_CONSTANTS.PADDING_TOP_PX || 0; return ( <section @@ -236,315 +399,409 @@ export function Timeline() { setZoomLevel={({ zoom }) => setZoomLevel(zoom)} /> - <div - className="relative flex flex-1 flex-col overflow-hidden" - ref={timelineRef} - > - <SnapIndicator - snapPoint={currentSnapPoint} - zoomLevel={zoomLevel} - tracks={tracks} - timelineRef={timelineRef} + <div className="relative flex flex-1 overflow-hidden" ref={timelineRef}> + <TrackLabelsPanel trackLabelsRef={trackLabelsRef} - tracksScrollRef={tracksScrollRef} - isVisible={showSnapIndicator} + trackLabelsScrollRef={trackLabelsScrollRef} + timelineHeaderHeight={timelineHeaderHeight} + hasHorizontalScrollbar={hasHorizontalScrollbar} /> - <div className="flex flex-1 overflow-hidden"> - <div className="bg-background flex w-28 shrink-0 flex-col border-r"> - <div className="bg-background flex h-4 items-center justify-between px-3"> - <span className="opacity-0">.</span> - </div> - <div className="bg-background flex h-4 items-center justify-between px-3"> - <span className="opacity-0">.</span> + + <div + className="relative isolate flex flex-1 flex-col overflow-hidden" + ref={tracksContainerRef} + > + <SelectionBox + startPos={selectionBox?.startPos || null} + currentPos={selectionBox?.currentPos || null} + containerRef={tracksContainerRef} + isActive={selectionBox?.isActive || false} + /> + <DragLine + dropTarget={dropTarget} + tracks={timeline.getTracks()} + isVisible={isDragOver && !dropTarget?.targetElement} + headerHeight={timelineHeaderHeight} + /> + <DragLine + dropTarget={dragDropTarget} + tracks={timeline.getTracks()} + isVisible={dragState.isDragging} + headerHeight={timelineHeaderHeight} + /> + + <div ref={rulerScrollRef} className="shrink-0 overflow-hidden"> + <div + ref={timelineHeaderRef} + className="flex flex-col" + style={{ width: `${dynamicTimelineWidth}px` }} + > + <TimelineRuler + zoomLevel={zoomLevel} + dynamicTimelineWidth={dynamicTimelineWidth} + rulerRef={rulerRef} + tracksScrollRef={rulerScrollRef} + handleWheel={handleWheel} + handleTimelineContentClick={handleRulerClick} + handleRulerTrackingMouseDown={handleRulerMouseDown} + handleRulerMouseDown={handlePlayheadRulerMouseDown} + /> + <TimelineBookmarksRow + zoomLevel={zoomLevel} + dynamicTimelineWidth={dynamicTimelineWidth} + dragState={bookmarkDragState} + onBookmarkMouseDown={handleBookmarkMouseDown} + handleWheel={handleWheel} + handleTimelineContentClick={handleRulerClick} + handleRulerTrackingMouseDown={handleRulerMouseDown} + handleRulerMouseDown={handlePlayheadRulerMouseDown} + /> </div> - {tracks.length > 0 && ( - <div - ref={trackLabelsRef} - className="bg-background flex-1 overflow-y-auto" - style={{ paddingTop: TIMELINE_CONSTANTS.PADDING_TOP_PX }} - > - <ScrollArea className="size-full" ref={trackLabelsScrollRef}> - <div className="flex flex-col gap-1"> - {tracks.map((track) => ( - <div - key={track.id} - className="group flex items-center px-3" - style={{ - height: `${getTrackHeight({ type: track.type })}px`, - }} - > - <div className="flex min-w-0 flex-1 items-center justify-end gap-2"> - {process.env.NODE_ENV === "development" && - isMainTrack(track) && ( - <div className="bg-red-500 size-1.5 rounded-full" /> - )} - {canTracktHaveAudio(track) && ( - <TrackToggleIcon - isOff={track.muted} - icons={{ - on: VolumeHighIcon, - off: VolumeOffIcon, - }} - onClick={() => - editor.timeline.toggleTrackMute({ - trackId: track.id, - }) - } - /> - )} - {canTrackBeHidden(track) && ( - <TrackToggleIcon - isOff={track.hidden} - icons={{ - on: ViewIcon, - off: ViewOffSlashIcon, - }} - onClick={() => - editor.timeline.toggleTrackVisibility({ - trackId: track.id, - }) - } - /> - )} - <TrackIcon track={track} /> - </div> - </div> - ))} - </div> - </ScrollArea> - </div> - )} </div> - <div - className="relative flex flex-1 flex-col overflow-hidden" - ref={tracksContainerRef} + <ScrollArea + className="flex-1" + ref={tracksScrollRef} + onScroll={() => { + syncFollowers(); + saveScrollPosition(); + }} > - <SelectionBox - startPos={selectionBox?.startPos || null} - currentPos={selectionBox?.currentPos || null} - containerRef={tracksContainerRef} - isActive={selectionBox?.isActive || false} - /> - <DragLine - dropTarget={dropTarget} - tracks={timeline.getTracks()} - isVisible={isDragOver && !dropTarget?.targetElement} - headerHeight={timelineHeaderHeight} - /> - <DragLine - dropTarget={dragDropTarget} - tracks={timeline.getTracks()} - isVisible={dragState.isDragging} - headerHeight={timelineHeaderHeight} - /> - <ScrollArea - className="size-full overflow-y-hidden" - ref={tracksScrollRef} - onMouseDown={(event) => { - const isDirectTarget = event.target === event.currentTarget; - if (!isDirectTarget) return; - event.stopPropagation(); - handleTracksMouseDown(event); - handleSelectionMouseDown(event); - }} - onClick={(event) => { - const isDirectTarget = event.target === event.currentTarget; - if (!isDirectTarget) return; - event.stopPropagation(); - handleTracksClick(event); - }} - onWheel={(event) => { - if ( - event.shiftKey || - Math.abs(event.deltaX) > Math.abs(event.deltaY) - ) { - return; - } - handleWheel(event); - }} - onScroll={() => { - saveScrollPosition(); - }} + <div + className="flex min-h-full flex-col" + style={{ width: `${dynamicTimelineWidth}px` }} > + {/* biome-ignore lint/a11y/noStaticElementInteractions: canvas seek surface; keyboard seeking is handled by the global keybindings system */} + {/* biome-ignore lint/a11y/useKeyWithClickEvents: canvas seek surface; keyboard seeking is handled by the global keybindings system */} <div - className="relative" + className="relative shrink-0" style={{ - width: `${dynamicTimelineWidth}px`, + height: `${ + Math.max( + TRACKS_CONTAINER_HEIGHT.min, + Math.min( + TRACKS_CONTAINER_HEIGHT.max, + getTotalTracksHeight({ tracks }), + ), + ) + TIMELINE_CONSTANTS.PADDING_TOP_PX + }px`, + }} + onMouseDown={(event) => { + const isDirectTarget = event.target === event.currentTarget; + if (!isDirectTarget) return; + event.stopPropagation(); + handleTracksMouseDown(event); + handleSelectionMouseDown(event); + }} + onClick={(event) => { + const isDirectTarget = event.target === event.currentTarget; + if (!isDirectTarget) return; + event.stopPropagation(); + handleTracksClick(event); }} > - <div - ref={timelineHeaderRef} - className="bg-background sticky top-0 flex flex-col" - > - <TimelineRuler + {tracks.length > 0 && ( + <TimelineTrackRows + dragElementId={dragState.elementId} zoomLevel={zoomLevel} - dynamicTimelineWidth={dynamicTimelineWidth} - rulerRef={rulerRef} + dragState={dragState} tracksScrollRef={tracksScrollRef} - handleWheel={handleWheel} - handleTimelineContentClick={handleRulerClick} - handleRulerTrackingMouseDown={handleRulerMouseDown} - handleRulerMouseDown={handlePlayheadRulerMouseDown} - /> - <TimelineBookmarksRow - zoomLevel={zoomLevel} - dynamicTimelineWidth={dynamicTimelineWidth} - dragState={bookmarkDragState} - onBookmarkMouseDown={handleBookmarkMouseDown} - handleWheel={handleWheel} - handleTimelineContentClick={handleRulerClick} - handleRulerTrackingMouseDown={handleRulerMouseDown} - handleRulerMouseDown={handlePlayheadRulerMouseDown} + lastMouseXRef={lastMouseXRef} + onSnapPointChange={handleSnapPointChange} + onResizeStateChange={handleResizeStateChange} + onElementMouseDown={handleElementMouseDown} + onElementClick={handleElementClick} + onTrackMouseDown={(event) => { + handleSelectionMouseDown(event); + handleTracksMouseDown(event); + }} + onTrackMouseUp={handleTracksClick} + shouldIgnoreClick={shouldIgnoreClick} + isDragOver={isDragOver} + dropTarget={dropTarget} /> - </div> - <TimelinePlayhead - zoomLevel={zoomLevel} - rulerRef={rulerRef} - rulerScrollRef={tracksScrollRef} - tracksScrollRef={tracksScrollRef} - timelineRef={timelineRef} - playheadRef={playheadRef} - isSnappingToPlayhead={ - showSnapIndicator && currentSnapPoint?.type === "playhead" - } - /> + )} + </div> + <TimelineGutter + onMouseDown={(event) => { + handleTracksMouseDown(event); + handleSelectionMouseDown(event); + }} + onClick={handleTracksClick} + /> + </div> + </ScrollArea> + + <TimelinePlayhead + zoomLevel={zoomLevel} + hasHorizontalScrollbar={hasHorizontalScrollbar} + rulerRef={rulerRef} + rulerScrollRef={rulerScrollRef} + tracksScrollRef={tracksScrollRef} + timelineRef={timelineRef} + playheadRef={playheadRef} + isSnappingToPlayhead={ + showSnapIndicator && currentSnapPoint?.type === "playhead" + } + /> + </div> + <SnapIndicator + snapPoint={currentSnapPoint} + zoomLevel={zoomLevel} + timelineRef={timelineRef} + tracksScrollRef={tracksScrollRef} + isVisible={showSnapIndicator} + tracks={tracks} + /> + </div> + </section> + ); +} + +function TrackLabelsPanel({ + trackLabelsRef, + trackLabelsScrollRef, + timelineHeaderHeight, + hasHorizontalScrollbar, +}: { + trackLabelsRef: React.RefObject<HTMLDivElement | null>; + trackLabelsScrollRef: React.RefObject<HTMLDivElement | null>; + timelineHeaderHeight: number; + hasHorizontalScrollbar: boolean; +}) { + const editor = useEditor(); + const tracks = useEditor((e) => e.timeline.getTracks()); + const { selectedElements } = useElementSelection(); + const tracksWithSelection = useMemo( + () => new Set(selectedElements.map((el) => el.trackId)), + [selectedElements], + ); + + return ( + <div className="flex w-28 shrink-0 flex-col border-r"> + <div + className="shrink-0" + style={{ height: timelineHeaderHeight || 48 }} + /> + <div ref={trackLabelsRef} className="flex-1 overflow-hidden"> + <div ref={trackLabelsScrollRef} className="size-full overflow-hidden"> + {tracks.length > 0 && ( + <div className="flex flex-col" style={{ gap: `${TRACK_GAP}px` }}> + {tracks.map((track) => ( <div - className="relative" + key={track.id} + className={cn( + "group flex items-center px-3", + tracksWithSelection.has(track.id) && + TIMELINE_CONSTANTS.TRACK_SELECTED_BG, + )} style={{ - height: `${Math.max( - tracksContainerHeight.min, - Math.min( - tracksContainerHeight.max, - getTotalTracksHeight({ tracks }), - ), - )}px`, + height: `${getTrackHeight({ type: track.type })}px`, }} > - {tracks.length === 0 ? ( - <div /> - ) : ( - [...tracks] - .map((track, index) => ({ track, index })) - .sort((a, b) => { - const aHasDragged = a.track.elements.some( - (element) => element.id === dragState.elementId, - ); - const bHasDragged = b.track.elements.some( - (element) => element.id === dragState.elementId, - ); - if (aHasDragged) return 1; - if (bHasDragged) return -1; - return 0; - }) - .map(({ track, index }) => ( - <ContextMenu key={track.id}> - <ContextMenuTrigger asChild> - <div - className="absolute right-0 left-0" - style={{ - top: `${getCumulativeHeightBefore({ - tracks, - trackIndex: index, - })}px`, - height: `${getTrackHeight({ - type: track.type, - })}px`, - }} - > - <TimelineTrackContent - track={track} - zoomLevel={zoomLevel} - dragState={dragState} - rulerScrollRef={tracksScrollRef} - tracksScrollRef={tracksScrollRef} - lastMouseXRef={lastMouseXRef} - onSnapPointChange={handleSnapPointChange} - onResizeStateChange={handleResizeStateChange} - onElementMouseDown={handleElementMouseDown} - onElementClick={handleElementClick} - onTrackMouseDown={(event) => { - handleSelectionMouseDown(event); - handleTracksMouseDown(event); - }} - onTrackClick={handleTracksClick} - shouldIgnoreClick={shouldIgnoreClick} - targetElementId={ - isDragOver - ? dropTarget?.targetElement?.elementId ?? null - : null - } - /> - </div> - </ContextMenuTrigger> - <ContextMenuContent className="w-40"> - <ContextMenuItem - icon={<HugeiconsIcon icon={TaskAdd02Icon} />} - onClick={(event) => { - event.stopPropagation(); - invokeAction("paste-copied"); - }} - > - Paste elements - </ContextMenuItem> - <ContextMenuItem - onClick={(event) => { - event.stopPropagation(); - timeline.toggleTrackMute({ - trackId: track.id, - }); - }} - > - <HugeiconsIcon icon={VolumeHighIcon} /> - <span> - {canTracktHaveAudio(track) && track.muted - ? "Unmute track" - : "Mute track"} - </span> - </ContextMenuItem> - <ContextMenuItem - onClick={(event) => { - event.stopPropagation(); - timeline.toggleTrackVisibility({ - trackId: track.id, - }); - }} - > - <HugeiconsIcon icon={ViewIcon} /> - <span> - {canTrackBeHidden(track) && track.hidden - ? "Show track" - : "Hide track"} - </span> - </ContextMenuItem> - <ContextMenuItem - onClick={(event) => { - event.stopPropagation(); - timeline.removeTrack({ - trackId: track.id, - }); - }} - variant="destructive" - > - <HugeiconsIcon icon={Delete02Icon} /> - Delete track - </ContextMenuItem> - </ContextMenuContent> - </ContextMenu> - )) - )} + <div className="flex min-w-0 flex-1 items-center justify-end gap-2"> + {canTracktHaveAudio(track) && ( + <TrackToggleIcon + isOff={track.muted} + icons={{ on: VolumeHighIcon, off: VolumeOffIcon }} + onClick={() => + editor.timeline.toggleTrackMute({ trackId: track.id }) + } + /> + )} + {canTrackBeHidden(track) && ( + <TrackToggleIcon + isOff={track.hidden} + icons={{ on: ViewIcon, off: ViewOffSlashIcon }} + onClick={() => + editor.timeline.toggleTrackVisibility({ + trackId: track.id, + }) + } + /> + )} + <TrackIcon track={track} /> + </div> </div> - </div> - </ScrollArea> - </div> + ))} + </div> + )} </div> </div> - </section> + <div + className="bg-background shrink-0" + style={{ + height: hasHorizontalScrollbar ? TIMELINE_SCROLLBAR_SIZE_PX : 0, + }} + /> + </div> + ); +} + +function TimelineTrackRows({ + dragElementId, + zoomLevel, + dragState, + tracksScrollRef, + lastMouseXRef, + onSnapPointChange, + onResizeStateChange, + onElementMouseDown, + onElementClick, + onTrackMouseDown, + onTrackMouseUp, + shouldIgnoreClick, + isDragOver, + dropTarget, +}: { + dragElementId: string | null; + zoomLevel: number; + dragState: ElementDragState; + tracksScrollRef: React.RefObject<HTMLDivElement | null>; + lastMouseXRef: React.RefObject<number>; + onSnapPointChange: (snapPoint: SnapPoint | null) => void; + onResizeStateChange: (params: { isResizing: boolean }) => void; + onElementMouseDown: React.ComponentProps< + typeof TimelineTrackContent + >["onElementMouseDown"]; + onElementClick: React.ComponentProps< + typeof TimelineTrackContent + >["onElementClick"]; + onTrackMouseDown: (event: React.MouseEvent) => void; + onTrackMouseUp: (event: React.MouseEvent) => void; + shouldIgnoreClick: () => boolean; + isDragOver: boolean; + dropTarget: DropTarget | null; +}) { + const timeline = useEditor((e) => e.timeline); + const tracks = useEditor((e) => e.timeline.getTracks()); + const { selectedElements } = useElementSelection(); + const tracksWithSelection = useMemo( + () => new Set(selectedElements.map((el) => el.trackId)), + [selectedElements], + ); + + const sortedTracks = useMemo( + () => + [...tracks] + .map((track, index) => ({ track, index })) + .sort((a, b) => { + const aHasDragged = a.track.elements.some( + (el) => el.id === dragElementId, + ); + const bHasDragged = b.track.elements.some( + (el) => el.id === dragElementId, + ); + if (aHasDragged) return 1; + if (bHasDragged) return -1; + return 0; + }), + [tracks, dragElementId], ); + + return ( + <> + {sortedTracks.map(({ track, index }) => ( + <ContextMenu key={track.id}> + <ContextMenuTrigger asChild> + <div + className={cn( + "absolute right-0 left-0 transition-colors", + tracksWithSelection.has(track.id) && + TIMELINE_CONSTANTS.TRACK_SELECTED_BG, + )} + style={{ + top: `${TIMELINE_CONSTANTS.PADDING_TOP_PX + getCumulativeHeightBefore({ tracks, trackIndex: index })}px`, + height: `${getTrackHeight({ type: track.type })}px`, + }} + > + <TimelineTrackContent + track={track} + zoomLevel={zoomLevel} + dragState={dragState} + rulerScrollRef={tracksScrollRef} + tracksScrollRef={tracksScrollRef} + lastMouseXRef={lastMouseXRef} + onSnapPointChange={onSnapPointChange} + onResizeStateChange={onResizeStateChange} + onElementMouseDown={onElementMouseDown} + onElementClick={onElementClick} + onTrackMouseDown={onTrackMouseDown} + onTrackMouseUp={onTrackMouseUp} + shouldIgnoreClick={shouldIgnoreClick} + targetElementId={ + isDragOver + ? (dropTarget?.targetElement?.elementId ?? null) + : null + } + /> + </div> + </ContextMenuTrigger> + <ContextMenuContent className="w-40"> + <ContextMenuItem + icon={<HugeiconsIcon icon={TaskAdd02Icon} />} + onClick={(event: React.MouseEvent) => { + event.stopPropagation(); + invokeAction("paste-copied"); + }} + > + Paste elements + </ContextMenuItem> + <ContextMenuItem + icon={<HugeiconsIcon icon={VolumeHighIcon} />} + onClick={(event: React.MouseEvent) => { + event.stopPropagation(); + timeline.toggleTrackMute({ trackId: track.id }); + }} + > + {canTracktHaveAudio(track) && track.muted + ? "Unmute track" + : "Mute track"} + </ContextMenuItem> + <ContextMenuItem + icon={<HugeiconsIcon icon={ViewIcon} />} + onClick={(event: React.MouseEvent) => { + event.stopPropagation(); + timeline.toggleTrackVisibility({ trackId: track.id }); + }} + > + {canTrackBeHidden(track) && track.hidden + ? "Show track" + : "Hide track"} + </ContextMenuItem> + {!isMainTrack(track) && ( + <ContextMenuItem + icon={<HugeiconsIcon icon={Delete02Icon} />} + onClick={(event: React.MouseEvent) => { + event.stopPropagation(); + timeline.removeTrack({ trackId: track.id }); + }} + variant="destructive" + > + Delete track + </ContextMenuItem> + )} + </ContextMenuContent> + </ContextMenu> + ))} + </> + ); +} + +function TimelineGutter({ + onMouseDown, + onClick, +}: { + onMouseDown: (event: React.MouseEvent) => void; + onClick: (event: React.MouseEvent) => void; +}) { + // biome-ignore lint/a11y/noStaticElementInteractions: canvas seek surface; keyboard seeking is handled by the global keybindings system + // biome-ignore lint/a11y/useKeyWithClickEvents: canvas seek surface; keyboard seeking is handled by the global keybindings system + return <div className="flex-1" onMouseDown={onMouseDown} onClick={onClick} />; } function TrackIcon({ track }: { track: TimelineTrack }) { - return <>{TRACK_CONFIG[track.type].icon}</>; + return <>{TRACK_ICONS[track.type]}</>; } function TrackToggleIcon({ diff --git a/apps/web/src/components/editor/panels/timeline/snap-indicator.tsx b/apps/web/src/components/editor/panels/timeline/snap-indicator.tsx index 927d336a..acb57203 100644 --- a/apps/web/src/components/editor/panels/timeline/snap-indicator.tsx +++ b/apps/web/src/components/editor/panels/timeline/snap-indicator.tsx @@ -6,15 +6,12 @@ import { getCenteredLineLeft, TIMELINE_INDICATOR_LINE_WIDTH_PX, } from "@/lib/timeline"; -import type { TimelineTrack } from "@/types/timeline"; - +import { TIMELINE_LAYERS } from "@/constants/timeline-constants"; interface SnapIndicatorProps { snapPoint: SnapPoint | null; zoomLevel: number; isVisible: boolean; - tracks: TimelineTrack[]; timelineRef: React.RefObject<HTMLDivElement | null>; - trackLabelsRef?: React.RefObject<HTMLDivElement | null>; tracksScrollRef: React.RefObject<HTMLDivElement | null>; } @@ -22,17 +19,13 @@ export function SnapIndicator({ snapPoint, zoomLevel, isVisible, - tracks, timelineRef, - trackLabelsRef, tracksScrollRef, }: SnapIndicatorProps) { const { leftPosition, topPosition, height } = useSnapIndicatorPosition({ snapPoint, zoomLevel, - tracks, timelineRef, - trackLabelsRef, tracksScrollRef, }); @@ -48,6 +41,7 @@ export function SnapIndicator({ top: topPosition, height: `${height}px`, width: `${TIMELINE_INDICATOR_LINE_WIDTH_PX}px`, + zIndex: TIMELINE_LAYERS.snapIndicator, }} > <div className={"bg-primary/40 h-full w-0.5 opacity-80"} /> diff --git a/apps/web/src/components/editor/panels/timeline/timeline-element.tsx b/apps/web/src/components/editor/panels/timeline/timeline-element.tsx index 9121f6c2..13a31375 100644 --- a/apps/web/src/components/editor/panels/timeline/timeline-element.tsx +++ b/apps/web/src/components/editor/panels/timeline/timeline-element.tsx @@ -2,7 +2,7 @@ import { useEditor } from "@/hooks/use-editor"; import { useAssetsPanelStore } from "@/stores/assets-panel-store"; -import AudioWaveform from "./audio-waveform"; +import { AudioWaveform } from "./audio-waveform"; import { useTimelineElementResize } from "@/hooks/timeline/element/use-element-resize"; import { useKeyframeDrag, @@ -12,14 +12,16 @@ import { useKeyframeSelection } from "@/hooks/timeline/element/use-keyframe-sele import type { SnapPoint } from "@/lib/timeline/snap-utils"; import { getElementKeyframes } from "@/lib/animation"; import { - getTrackClasses, + getElementClasses, getTrackHeight, canElementHaveAudio, canElementBeHidden, + hasElementEffects, hasMediaId, timelineTimeToPixels, timelineTimeToSnappedPixels, } from "@/lib/timeline"; +import { ELEMENT_TYPE_CONFIG } from "@/constants/timeline-constants"; import { ContextMenu, ContextMenuContent, @@ -30,14 +32,22 @@ import { import type { TimelineElement as TimelineElementType, TimelineTrack, - VisualElement, ElementDragState, -} from "@/types/timeline"; -import type { MediaAsset } from "@/types/assets"; + VideoElement, + ImageElement, + AudioElement, +} from "@/lib/timeline"; +import type { MediaAsset } from "@/lib/media/types"; import { mediaSupportsAudio } from "@/lib/media/media-utils"; -import { getActionDefinition, type TAction, invokeAction } from "@/lib/actions"; +import { + getActionDefinition, + type TAction, + type TActionWithOptionalArgs, + invokeAction, +} from "@/lib/actions"; import { useElementSelection } from "@/hooks/timeline/element/use-element-selection"; import { resolveStickerId } from "@/lib/stickers"; +import { buildGraphicPreviewUrl } from "@/lib/graphics"; import Image from "next/image"; import { ScissorIcon, @@ -56,13 +66,16 @@ import { import { HugeiconsIcon } from "@hugeicons/react"; import { uppercase } from "@/utils/string"; import type { ComponentProps, ReactNode } from "react"; -import type { SelectedKeyframeRef, ElementKeyframe } from "@/types/animation"; +import type { + SelectedKeyframeRef, + ElementKeyframe, +} from "@/lib/animation/types"; import { cn } from "@/utils/ui"; -import { Button } from "@/components/ui/button"; -import { usePropertiesStore } from "@/stores/properties-store"; +import { usePropertiesStore } from "@/components/editor/panels/properties/stores/properties-store"; const KEYFRAME_INDICATOR_MIN_WIDTH_PX = 40; const ELEMENT_RING_WIDTH_PX = 1.5; +const THUMBNAIL_ASPECT_RATIO = 16 / 9; interface KeyframeIndicator { time: number; @@ -195,16 +208,15 @@ export function TimelineElement({ dragState, isDropTarget = false, }: TimelineElementProps) { - const editor = useEditor(); + const mediaAssets = useEditor((e) => e.media.getAssets()); const { selectedElements } = useElementSelection(); - const { requestRevealMedia } = useAssetsPanelStore(); + const requestRevealMedia = useAssetsPanelStore((s) => s.requestRevealMedia); let mediaAsset: MediaAsset | null = null; if (hasMediaId(element)) { mediaAsset = - editor.media.getAssets().find((asset) => asset.id === element.mediaId) ?? - null; + mediaAssets.find((asset) => asset.id === element.mediaId) ?? null; } const hasAudio = mediaSupportsAudio({ media: mediaAsset }); @@ -394,60 +406,46 @@ function ElementInner({ }) => void; isDropTarget?: boolean; }) { - const opacityClass = - (canElementBeHidden(element) && element.hidden) || isDropTarget - ? "opacity-50" - : ""; - const closeClipEffects = usePropertiesStore( - (state) => state.closeClipEffects, - ); - + const isReducedOpacity = + (canElementBeHidden(element) && element.hidden) || isDropTarget; return ( <div - className="relative h-full cursor-pointer" - style={{ marginInline: ELEMENT_RING_WIDTH_PX }} + className="absolute top-0 bottom-0" + style={{ + left: `${ELEMENT_RING_WIDTH_PX}px`, + right: `${ELEMENT_RING_WIDTH_PX}px`, + }} > <div - className={cn( - "absolute inset-0 overflow-hidden rounded-sm", - getTrackClasses({ type: track.type }), - opacityClass, - )} + className="absolute inset-0 rounded-sm" style={ isSelected ? { - boxShadow: `0 0 0 ${ELEMENT_RING_WIDTH_PX}px var(--foreground)`, + boxShadow: `0 0 0 ${ELEMENT_RING_WIDTH_PX}px var(--primary)`, } : undefined } > - <button - type="button" - className="absolute inset-0 size-full cursor-pointer flex flex-col" - onClick={(event) => { - closeClipEffects(); - onElementClick(event, element); - }} - onMouseDown={(event) => onElementMouseDown(event, element)} + <div + className={cn( + "absolute inset-0 overflow-hidden rounded-sm", + getElementClasses({ type: track.type }), + isReducedOpacity && "opacity-50", + )} > - <div className="flex flex-1 min-h-0 items-center overflow-hidden"> - <ElementContent - element={element} - track={track} - isSelected={isSelected} - /> - </div> - </button> - </div> - - {element.type !== "audio" && element.type !== "effect" && ( - <div className="sticky left-1 mt-1 ml-1 w-fit"> - <EffectsButton - element={element as VisualElement} - trackId={track.id} - /> + <button + type="button" + tabIndex={-1} + className="absolute inset-0 size-full flex flex-col" + onClick={(event) => onElementClick(event, element)} + onMouseDown={(event) => onElementMouseDown(event, element)} + > + <div className="flex flex-1 min-h-0 items-center overflow-hidden"> + <ElementContent element={element} track={track} /> + </div> + </button> </div> - )} + </div> {isSelected && ( <> @@ -535,8 +533,8 @@ function KeyframeIndicators({ const isIndicatorSelected = indicator.keyframes.some((keyframe) => isKeyframeSelected({ keyframe }), ); - const isBeingDragged = indicator.keyframes.some((kf) => - dragState.draggingKeyframeIds.has(kf.keyframeId), + const isBeingDragged = indicator.keyframes.some((keyframe) => + dragState.draggingKeyframeIds.has(keyframe.keyframeId), ); const visualOffsetPx = getVisualOffsetPx({ indicatorTime: indicator.time, @@ -581,212 +579,244 @@ function KeyframeIndicators({ interface ElementContentProps { element: TimelineElementType; track: TimelineTrack; - isSelected: boolean; } -interface ElementContentRendererProps extends ElementContentProps { - mediaAssets: MediaAsset[]; +function TextElementContent({ + element, +}: { + element: Extract<TimelineElementType, { type: "text" }>; +}) { + return ( + <div className="flex size-full items-center justify-start pl-2"> + <span className="truncate text-xs text-white">{element.content}</span> + </div> + ); +} + +function EffectElementContent({ + element, +}: { + element: Extract<TimelineElementType, { type: "effect" }>; +}) { + return ( + <div className="flex size-full items-center justify-start gap-1 pl-2"> + <HugeiconsIcon + icon={MagicWand05Icon} + className="size-4 shrink-0 text-white" + /> + <span className="truncate text-xs text-white">{element.name}</span> + </div> + ); } -type ElementContentRenderer = (props: ElementContentRendererProps) => ReactNode; +function StickerElementContent({ + element, +}: { + element: Extract<TimelineElementType, { type: "sticker" }>; +}) { + return ( + <div className="flex size-full items-center gap-2 pl-2"> + <Image + src={resolveStickerId({ + stickerId: element.stickerId, + options: { width: 20, height: 20 }, + })} + alt={element.name} + className="size-4 shrink-0" + width={20} + height={20} + unoptimized + /> + <span className="truncate text-xs text-white">{element.name}</span> + </div> + ); +} -export function renderTiledMedia({ +function GraphicElementContent({ element, - imageUrl, - track, }: { - element: VisualElement; - imageUrl: string | undefined; - track: ElementContentProps["track"]; -}): ReactNode { - if (!imageUrl) { + element: Extract<TimelineElementType, { type: "graphic" }>; +}) { + return ( + <div className="flex size-full items-center gap-2 pl-2"> + <Image + src={buildGraphicPreviewUrl({ + definitionId: element.definitionId, + params: element.params, + size: 20, + })} + alt={element.name} + className="size-4 shrink-0" + width={20} + height={20} + unoptimized + /> + <span className="truncate text-xs text-white">{element.name}</span> + </div> + ); +} + +function AudioElementContent({ element }: { element: AudioElement }) { + const mediaAssets = useEditor((e) => e.media.getAssets()); + const mediaAsset = + element.sourceType === "upload" + ? (mediaAssets.find((asset) => asset.id === element.mediaId) ?? null) + : null; + + const audioBuffer = + element.sourceType === "library" ? element.buffer : undefined; + const audioUrl = + element.sourceType === "library" ? element.sourceUrl : mediaAsset?.url; + const mediaLabel = mediaAsset?.name ?? element.name; + + if (audioBuffer || audioUrl) { return ( - <span className="text-foreground/80 truncate text-xs"> - {element.name} - </span> + <div className="relative size-full"> + <AudioWaveform + audioBuffer={audioBuffer} + audioUrl={audioUrl} + color={ELEMENT_TYPE_CONFIG.audio.waveformColor} + /> + <MediaElementHeader name={mediaLabel} hasFade={false} /> + </div> ); } - const trackHeight = getTrackHeight({ type: track.type }); - const tileWidth = trackHeight * (16 / 9); - return ( - <div - className="absolute inset-0" - style={{ - backgroundImage: `url(${imageUrl})`, - backgroundRepeat: "repeat-x", - backgroundSize: `${tileWidth}px ${trackHeight}px`, - backgroundPosition: "left center", - pointerEvents: "none", - }} - /> + <span className="text-foreground/80 truncate text-xs">{element.name}</span> ); } function EffectsButton({ element, - trackId, - className, + track, }: { - element: VisualElement; - trackId: string; - className?: string; + element: VideoElement | ImageElement; + track: TimelineTrack; }) { - const openClipEffects = usePropertiesStore((state) => state.openClipEffects); - const { selectElement } = useElementSelection(); - - if (!element.effects?.length) { - return null; - } + const editor = useEditor(); + const setActiveTab = usePropertiesStore((s) => s.setActiveTab); const handleClick = (event: React.MouseEvent) => { event.stopPropagation(); - selectElement({ elementId: element.id, trackId }); - openClipEffects({ elementId: element.id, trackId }); + editor.selection.setSelectedElements({ + elements: [{ trackId: track.id, elementId: element.id }], + }); + setActiveTab(element.type, "effects"); }; return ( - <Button - variant="text" - size="icon" - className={cn("rounded-sm !size-5 bg-black/50 text-white", className)} - onClick={handleClick} + <button + type="button" + className="flex shrink-0 justify-center text-white cursor-pointer" onMouseDown={(event) => event.stopPropagation()} + onClick={handleClick} > - <HugeiconsIcon icon={MagicWand05Icon} /> - </Button> + <HugeiconsIcon icon={MagicWand05Icon} size={12} /> + </button> ); } -const ELEMENT_CONTENT_RENDERERS: Record< - TimelineElementType["type"], - ElementContentRenderer -> = { - text: ({ element }) => { - const textElement = element as Extract< - TimelineElementType, - { type: "text" } - >; - return ( - <div className="flex size-full items-center justify-start pl-2"> - <span className="truncate text-xs text-white"> - {textElement.content} - </span> - </div> - ); - }, - effect: ({ element }) => ( - <div className="flex size-full items-center justify-start gap-1 pl-2"> - <HugeiconsIcon - icon={MagicWand05Icon} - className="size-4 shrink-0 text-white" - /> - <span className="truncate text-xs text-white ml-1">{element.name}</span> - </div> - ), - sticker: ({ element }) => { - const stickerElement = element as Extract< - TimelineElementType, - { type: "sticker" } - >; - return ( - <div className="flex size-full items-center gap-2 pl-2"> - <Image - src={resolveStickerId({ - stickerId: stickerElement.stickerId, - options: { width: 20, height: 20 }, - })} - alt={stickerElement.name} - className="size-5 shrink-0" - width={20} - height={20} - unoptimized - /> - <span className="truncate text-xs text-white"> - {stickerElement.name} - </span> - </div> - ); - }, - audio: ({ element, mediaAssets }) => { - const audioElement = element as Extract< - TimelineElementType, - { type: "audio" } - >; - const audioBuffer = - audioElement.sourceType === "library" ? audioElement.buffer : undefined; - const audioUrl = - audioElement.sourceType === "library" - ? audioElement.sourceUrl - : mediaAssets.find((asset) => asset.id === audioElement.mediaId)?.url; +function TiledMediaContent({ + element, + track, +}: { + element: VideoElement | ImageElement; + track: TimelineTrack; +}) { + const mediaAssets = useEditor((e) => e.media.getAssets()); - if (audioBuffer || audioUrl) { - return ( - <div className="flex size-full items-center gap-2"> - <div className="min-w-0 flex-1"> - <AudioWaveform - audioBuffer={audioBuffer} - audioUrl={audioUrl} - height={24} - className="w-full" - /> - </div> - </div> - ); - } + const mediaAsset = mediaAssets.find((asset) => asset.id === element.mediaId); + const imageUrl = + element.type === "video" + ? mediaAsset?.thumbnailUrl + : (mediaAsset?.thumbnailUrl ?? mediaAsset?.url); + if (!imageUrl) { return ( <span className="text-foreground/80 truncate text-xs"> - {audioElement.name} + {element.name} </span> ); - }, - video: ({ element, track, mediaAssets }) => { - const videoElement = element as Extract< - TimelineElementType, - { type: "video" } - >; - const mediaAsset = mediaAssets.find( - (asset) => asset.id === videoElement.mediaId, - ); - return renderTiledMedia({ - element: videoElement, - imageUrl: mediaAsset?.thumbnailUrl, - track, - }); - }, - image: ({ element, track, mediaAssets }) => { - const imageElement = element as Extract< - TimelineElementType, - { type: "image" } - >; - const mediaAsset = mediaAssets.find( - (asset) => asset.id === imageElement.mediaId, - ); - return renderTiledMedia({ - element: imageElement, - imageUrl: mediaAsset?.url, - track, - }); - }, -}; + } + + const trackHeight = getTrackHeight({ type: track.type }); + const tileWidth = trackHeight * THUMBNAIL_ASPECT_RATIO; -function ElementContent({ element, track, isSelected }: ElementContentProps) { - const editor = useEditor(); - const renderer = ELEMENT_CONTENT_RENDERERS[element.type]; return ( <> - {renderer({ - element, - track, - isSelected, - mediaAssets: editor.media.getAssets(), - })} + <div + className="absolute inset-0" + style={{ + backgroundColor: "var(--muted)", + backgroundImage: `url(${imageUrl})`, + backgroundRepeat: "repeat-x", + backgroundSize: `${tileWidth}px ${trackHeight}px`, + backgroundPosition: "left center", + pointerEvents: "none", + }} + /> + <MediaElementHeader + name={mediaAsset?.name} + leading={ + hasElementEffects({ element }) ? ( + <EffectsButton element={element} track={track} /> + ) : null + } + hasFade={true} + /> </> ); } +function MediaElementHeader({ + name, + leading, + hasFade, +}: { + name?: string | null; + leading?: ReactNode; + hasFade?: boolean; +}) { + if (!name && !leading) { + return null; + } + + return ( + <div + className={cn( + "absolute top-0 left-0 flex h-7 w-full bg-linear-to-b pt-1", + hasFade && "from-black/30 to-transparent", + )} + > + {leading && <div className="pl-1">{leading}</div>} + {name && ( + <span className="truncate px-1.5 text-[0.6rem] leading-tight text-white/75"> + {name} + </span> + )} + </div> + ); +} + +function ElementContent({ element, track }: ElementContentProps) { + switch (element.type) { + case "text": + return <TextElementContent element={element} />; + case "effect": + return <EffectElementContent element={element} />; + case "sticker": + return <StickerElementContent element={element} />; + case "graphic": + return <GraphicElementContent element={element} />; + case "audio": + return <AudioElementContent element={element} />; + case "video": + case "image": + return <TiledMediaContent element={element} track={track} />; + } +} + function CopyMenuItem() { return ( <ActionMenuItem @@ -886,7 +916,7 @@ function ActionMenuItem({ children, ...props }: Omit<ComponentProps<typeof ContextMenuItem>, "onClick" | "textRight"> & { - action: TAction; + action: TActionWithOptionalArgs; children: ReactNode; }) { return ( diff --git a/apps/web/src/components/editor/panels/timeline/timeline-playhead.tsx b/apps/web/src/components/editor/panels/timeline/timeline-playhead.tsx index e290259e..1abe65bd 100644 --- a/apps/web/src/components/editor/panels/timeline/timeline-playhead.tsx +++ b/apps/web/src/components/editor/panels/timeline/timeline-playhead.tsx @@ -8,9 +8,14 @@ import { } from "@/lib/timeline"; import { useTimelinePlayhead } from "@/hooks/timeline/use-timeline-playhead"; import { useEditor } from "@/hooks/use-editor"; +import { + TIMELINE_LAYERS, + TIMELINE_SCROLLBAR_SIZE_PX, +} from "@/constants/timeline-constants"; interface TimelinePlayheadProps { zoomLevel: number; + hasHorizontalScrollbar: boolean; rulerRef: React.RefObject<HTMLDivElement | null>; rulerScrollRef: React.RefObject<HTMLDivElement | null>; tracksScrollRef: React.RefObject<HTMLDivElement | null>; @@ -21,6 +26,7 @@ interface TimelinePlayheadProps { export function TimelinePlayhead({ zoomLevel, + hasHorizontalScrollbar, rulerRef, rulerScrollRef, tracksScrollRef, @@ -33,7 +39,7 @@ export function TimelinePlayhead({ const internalPlayheadRef = useRef<HTMLDivElement>(null); const playheadRef = externalPlayheadRef || internalPlayheadRef; - const { playheadPosition, handlePlayheadMouseDown } = useTimelinePlayhead({ + const { handlePlayheadMouseDown } = useTimelinePlayhead({ zoomLevel, rulerRef, rulerScrollRef, @@ -42,16 +48,23 @@ export function TimelinePlayhead({ }); const timelineContainerHeight = - tracksScrollRef.current?.clientHeight ?? timelineRef.current?.clientHeight ?? + tracksScrollRef.current?.clientHeight ?? 400; - const totalHeight = Math.max(0, timelineContainerHeight - 4); + const totalHeight = Math.max( + 0, + timelineContainerHeight - + (hasHorizontalScrollbar ? TIMELINE_SCROLLBAR_SIZE_PX - 5 : 0), + ); + const currentTime = editor.playback.getCurrentTime(); const centerPosition = timelineTimeToSnappedPixels({ - time: playheadPosition, + time: currentTime, zoomLevel, }); - const leftPosition = getCenteredLineLeft({ centerPixel: centerPosition }); + const scrollLeft = tracksScrollRef.current?.scrollLeft ?? 0; + const leftPosition = + getCenteredLineLeft({ centerPixel: centerPosition }) - scrollLeft; const handlePlayheadKeyDown = ( event: React.KeyboardEvent<HTMLDivElement>, @@ -61,10 +74,8 @@ export function TimelinePlayhead({ event.preventDefault(); const step = 1 / Math.max(1, editor.project.getActive().settings.fps); const direction = event.key === "ArrowRight" ? 1 : -1; - const nextTime = Math.max( - 0, - Math.min(duration, playheadPosition + direction * step), - ); + const now = editor.playback.getCurrentTime(); + const nextTime = Math.max(0, Math.min(duration, now + direction * step)); editor.playback.seek({ time: nextTime }); }; @@ -76,23 +87,24 @@ export function TimelinePlayhead({ aria-label="Timeline playhead" aria-valuemin={0} aria-valuemax={duration} - aria-valuenow={playheadPosition} + aria-valuenow={currentTime} tabIndex={0} - className="pointer-events-none absolute z-5" + className="pointer-events-none absolute" style={{ left: `${leftPosition}px`, top: 0, height: `${totalHeight}px`, width: `${TIMELINE_INDICATOR_LINE_WIDTH_PX}px`, + zIndex: TIMELINE_LAYERS.playhead, }} onKeyDown={handlePlayheadKeyDown} > - <div className="bg-foreground pointer-events-none absolute left-0 h-full w-0.5" /> + <div className="bg-primary pointer-events-none absolute left-0 h-full w-0.5" /> <button type="button" aria-label="Drag playhead" - className={`pointer-events-auto absolute top-1 left-1/2 size-3 -translate-x-1/2 transform cursor-col-resize rounded-full border-2 shadow-xs ${isSnappingToPlayhead ? "bg-foreground border-foreground" : "bg-foreground border-foreground/50"}`} + className={`pointer-events-auto absolute top-1 left-1/2 size-3 -translate-x-1/2 transform cursor-col-resize rounded-full border-2 shadow-xs ${isSnappingToPlayhead ? "bg-primary border-primary" : "bg-primary border-primary/50"}`} onMouseDown={handlePlayheadMouseDown} /> </div> diff --git a/apps/web/src/components/editor/panels/timeline/timeline-ruler.tsx b/apps/web/src/components/editor/panels/timeline/timeline-ruler.tsx index b0261aa2..09562f23 100644 --- a/apps/web/src/components/editor/panels/timeline/timeline-ruler.tsx +++ b/apps/web/src/components/editor/panels/timeline/timeline-ruler.tsx @@ -1,5 +1,8 @@ import { type JSX, useLayoutEffect, useRef } from "react"; -import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; +import { + TIMELINE_CONSTANTS, + TIMELINE_RULER_HEIGHT, +} from "@/constants/timeline-constants"; import { DEFAULT_FPS } from "@/constants/project-constants"; import { useEditor } from "@/hooks/use-editor"; import { getRulerConfig, shouldShowLabel } from "@/lib/timeline/ruler-utils"; @@ -27,13 +30,12 @@ export function TimelineRuler({ handleRulerTrackingMouseDown, handleRulerMouseDown, }: TimelineRulerProps) { - const editor = useEditor(); - const duration = editor.timeline.getTotalDuration(); + const duration = useEditor((e) => e.timeline.getTotalDuration()); const pixelsPerSecond = TIMELINE_CONSTANTS.PIXELS_PER_SECOND * zoomLevel; const visibleDuration = dynamicTimelineWidth / pixelsPerSecond; const effectiveDuration = Math.max(duration, visibleDuration); - const project = editor.project.getActive(); - const fps = project?.settings.fps ?? DEFAULT_FPS; + const fps = + useEditor((e) => e.project.getActiveOrNull()?.settings.fps) ?? DEFAULT_FPS; const { labelIntervalSeconds, tickIntervalSeconds } = getRulerConfig({ zoomLevel, fps, @@ -104,17 +106,25 @@ export function TimelineRuler({ aria-valuemin={0} aria-valuemax={effectiveDuration} aria-valuenow={0} - className="relative h-4 flex-1 overflow-x-visible" + className="relative flex-1 overflow-x-visible" + style={{ height: TIMELINE_RULER_HEIGHT }} onWheel={handleWheel} - onClick={handleTimelineContentClick} + onClick={(event) => { + // Ruler seek already happens on mousedown via playhead scrubbing. + // Forwarding the follow-up click re-enters the selection-clearing path. + if (event.target === event.currentTarget) { + handleTimelineContentClick(event); + } + }} onMouseDown={handleRulerTrackingMouseDown} onKeyDown={() => {}} > <div role="none" ref={rulerRef} - className="relative h-4 cursor-default select-none" + className="relative cursor-default select-none" style={{ + height: TIMELINE_RULER_HEIGHT, width: `${dynamicTimelineWidth}px`, }} onMouseDown={handleRulerMouseDown} diff --git a/apps/web/src/components/editor/panels/timeline/timeline-tick.tsx b/apps/web/src/components/editor/panels/timeline/timeline-tick.tsx index 22cd52cf..29fd513b 100644 --- a/apps/web/src/components/editor/panels/timeline/timeline-tick.tsx +++ b/apps/web/src/components/editor/panels/timeline/timeline-tick.tsx @@ -22,7 +22,7 @@ export function TimelineTick({ const label = formatRulerLabel({ timeInSeconds: time, fps }); return ( <span - className="text-muted-foreground/85 absolute bottom-0 select-none text-[10px] leading-none" + className="text-muted-foreground/85 absolute top-1 select-none text-[10px] leading-none" style={{ left: `${leftPosition}px` }} > {label} @@ -32,7 +32,7 @@ export function TimelineTick({ return ( <div - className="border-muted-foreground/25 absolute bottom-0.5 h-1.5 border-l" + className="border-muted-foreground/25 absolute top-1.5 h-1.5 border-l" style={{ left: `${leftPosition}px` }} /> ); diff --git a/apps/web/src/components/editor/panels/timeline/timeline-toolbar.tsx b/apps/web/src/components/editor/panels/timeline/timeline-toolbar.tsx index 533ea63d..e785d147 100644 --- a/apps/web/src/components/editor/panels/timeline/timeline-toolbar.tsx +++ b/apps/web/src/components/editor/panels/timeline/timeline-toolbar.tsx @@ -16,8 +16,8 @@ import { import { Slider } from "@/components/ui/slider"; import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; import { sliderToZoom, zoomToSlider } from "@/lib/timeline/zoom-utils"; -import { ScenesView } from "../../scenes-view"; -import { type TAction, invokeAction } from "@/lib/actions"; +import { ScenesView } from "@/components/editor/scenes-view"; +import { type TActionWithOptionalArgs, invokeAction } from "@/lib/actions"; import { cn } from "@/utils/ui"; import { useTimelineStore } from "@/stores/timeline-store"; import { ScrollArea } from "@/components/ui/scroll-area"; @@ -76,15 +76,15 @@ export function TimelineToolbar({ } function ToolbarLeftSection() { - const editor = useEditor(); - const currentTime = editor.playback.getCurrentTime(); - const isCurrentlyBookmarked = editor.scenes.isBookmarked({ time: currentTime }); + const isCurrentlyBookmarked = useEditor((e) => + e.scenes.isBookmarked({ time: e.playback.getCurrentTime() }), + ); const handleAction = ({ action, event, }: { - action: TAction; + action: TActionWithOptionalArgs; event: React.MouseEvent; }) => { event.stopPropagation(); @@ -149,8 +149,8 @@ function ToolbarLeftSection() { <Tooltip> <ToolbarButton icon={<HugeiconsIcon icon={Bookmark02Icon} />} - isActive={isCurrentlyBookmarked} - tooltip={isCurrentlyBookmarked ? "Remove bookmark" : "Add bookmark"} + isActive={isCurrentlyBookmarked} + tooltip={isCurrentlyBookmarked ? "Remove bookmark" : "Add bookmark"} onClick={({ event }) => handleAction({ action: "toggle-bookmark", event }) } diff --git a/apps/web/src/components/editor/panels/timeline/timeline-track.tsx b/apps/web/src/components/editor/panels/timeline/timeline-track.tsx index 81cda7a6..6a9e4dfe 100644 --- a/apps/web/src/components/editor/panels/timeline/timeline-track.tsx +++ b/apps/web/src/components/editor/panels/timeline/timeline-track.tsx @@ -2,12 +2,12 @@ import { useElementSelection } from "@/hooks/timeline/element/use-element-selection"; import { TimelineElement } from "./timeline-element"; -import type { TimelineTrack } from "@/types/timeline"; -import type { TimelineElement as TimelineElementType } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; +import type { TimelineElement as TimelineElementType } from "@/lib/timeline"; import type { SnapPoint } from "@/lib/timeline/snap-utils"; -import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; +import { TIMELINE_CONSTANTS, TIMELINE_LAYERS } from "@/constants/timeline-constants"; import { useEdgeAutoScroll } from "@/hooks/timeline/use-edge-auto-scroll"; -import type { ElementDragState } from "@/types/timeline"; +import type { ElementDragState } from "@/lib/timeline"; import { useEditor } from "@/hooks/use-editor"; interface TimelineTrackContentProps { @@ -30,7 +30,7 @@ interface TimelineTrackContentProps { track: TimelineTrack; }) => void; onTrackMouseDown?: (event: React.MouseEvent) => void; - onTrackClick?: (event: React.MouseEvent) => void; + onTrackMouseUp?: (event: React.MouseEvent) => void; shouldIgnoreClick?: () => boolean; targetElementId?: string | null; } @@ -47,14 +47,12 @@ export function TimelineTrackContent({ onElementMouseDown, onElementClick, onTrackMouseDown, - onTrackClick, + onTrackMouseUp, shouldIgnoreClick, targetElementId = null, }: TimelineTrackContentProps) { - const editor = useEditor(); const { isElementSelected } = useElementSelection(); - - const duration = editor.timeline.getTotalDuration(); + const duration = useEditor((e) => e.timeline.getTotalDuration()); useEdgeAutoScroll({ isActive: dragState.isDragging, @@ -65,21 +63,37 @@ export function TimelineTrackContent({ }); return ( - <button - className="size-full" - onClick={(event) => { - if (shouldIgnoreClick?.()) return; - onTrackClick?.(event); - }} - onMouseDown={(event) => { - event.preventDefault(); - onTrackMouseDown?.(event); - }} - type="button" - > - <div className="relative h-full min-w-full"> + <div className="relative size-full"> + <button + type="button" + className="absolute inset-0 m-0 size-full appearance-none border-0 bg-transparent p-0" + aria-label={`Select ${track.name} track`} + onMouseUp={(event) => { + if (shouldIgnoreClick?.()) return; + onTrackMouseUp?.(event); + }} + onMouseDown={(event) => { + event.preventDefault(); + onTrackMouseDown?.(event); + }} + /> + {/* biome-ignore lint/a11y/noStaticElementInteractions: empty track area is a pointer-only seek surface */} + <div + className="relative h-full min-w-full" + style={{ zIndex: TIMELINE_LAYERS.trackContent }} + onMouseUp={(event) => { + if (event.target !== event.currentTarget) return; + if (shouldIgnoreClick?.()) return; + onTrackMouseUp?.(event); + }} + onMouseDown={(event) => { + if (event.target !== event.currentTarget) return; + event.preventDefault(); + onTrackMouseDown?.(event); + }} + > {track.elements.length === 0 ? ( - <div className="text-muted-foreground border-muted/30 flex size-full items-center justify-center rounded-sm border-2 border-dashed text-xs" /> + <div className="text-muted-foreground border-muted/30 pointer-events-none flex size-full items-center justify-center rounded-sm border-2 border-dashed text-xs" /> ) : ( track.elements.map((element) => { const isSelected = isElementSelected({ @@ -109,6 +123,6 @@ export function TimelineTrackContent({ }) )} </div> - </button> + </div> ); } diff --git a/apps/web/src/components/providers/editor-provider.tsx b/apps/web/src/components/providers/editor-provider.tsx index 746cfd16..35e5dfba 100644 --- a/apps/web/src/components/providers/editor-provider.tsx +++ b/apps/web/src/components/providers/editor-provider.tsx @@ -3,13 +3,12 @@ import { useEffect, useState } from "react"; import { useRouter } from "next/navigation"; import { Loader2 } from "lucide-react"; +import { EditorCore } from "@/core"; import { useEditor } from "@/hooks/use-editor"; -import { - useKeybindingsListener, - useKeybindingDisabler, -} from "@/hooks/use-keybindings"; +import { useKeybindingsListener } from "@/hooks/use-keybindings"; +import { useKeybindingsStore } from "@/stores/keybindings-store"; import { useEditorActions } from "@/hooks/actions/use-editor-actions"; -import { prefetchFontAtlas } from "@/lib/fonts/google-fonts"; +import { loadFontAtlas } from "@/lib/fonts/google-fonts"; interface EditorProviderProps { projectId: string; @@ -17,23 +16,19 @@ interface EditorProviderProps { } export function EditorProvider({ projectId, children }: EditorProviderProps) { - const editor = useEditor(); + const activeProject = useEditor((e) => e.project.getActiveOrNull()); const router = useRouter(); const [isLoading, setIsLoading] = useState(true); const [error, setError] = useState<string | null>(null); - const { disableKeybindings, enableKeybindings } = useKeybindingDisabler(); - const activeProject = editor.project.getActiveOrNull(); + const { setLoadingProject } = useKeybindingsStore(); useEffect(() => { - if (isLoading) { - disableKeybindings(); - } else { - enableKeybindings(); - } - }, [isLoading, disableKeybindings, enableKeybindings]); + setLoadingProject(isLoading); + }, [isLoading, setLoadingProject]); useEffect(() => { let cancelled = false; + const editor = EditorCore.getInstance(); const loadProject = async () => { try { @@ -43,7 +38,7 @@ export function EditorProvider({ projectId, children }: EditorProviderProps) { if (cancelled) return; setIsLoading(false); - prefetchFontAtlas(); + loadFontAtlas(); } catch (err) { if (cancelled) return; @@ -76,7 +71,7 @@ export function EditorProvider({ projectId, children }: EditorProviderProps) { return () => { cancelled = true; }; - }, [projectId, editor, router]); + }, [projectId, router]); if (error) { return ( diff --git a/apps/web/src/components/editor/panels/properties/section.tsx b/apps/web/src/components/section.tsx index 5989108b..e3fc96df 100644 --- a/apps/web/src/components/editor/panels/properties/section.tsx +++ b/apps/web/src/components/section.tsx @@ -36,7 +36,7 @@ export function Section({ defaultOpen = true, sectionKey, className, - showTopBorder = true, + showTopBorder = false, showBottomBorder = true, }: SectionProps) { const cached = sectionKey ? sectionExpandedCache.get(sectionKey) : undefined; @@ -44,11 +44,18 @@ export function Section({ useEffect(() => { if (!sectionKey) return; - if (process.env.NODE_ENV !== "production" && mountedSectionKeys.has(sectionKey)) { - console.error(`[Section] duplicate sectionKey mounted simultaneously: "${sectionKey}"`); + if ( + process.env.NODE_ENV !== "production" && + mountedSectionKeys.has(sectionKey) + ) { + console.error( + `[Section] duplicate sectionKey mounted simultaneously: "${sectionKey}"`, + ); } mountedSectionKeys.add(sectionKey); - return () => { mountedSectionKeys.delete(sectionKey); }; + return () => { + mountedSectionKeys.delete(sectionKey); + }; }, [sectionKey]); const toggle = () => { @@ -62,8 +69,8 @@ export function Section({ <div className={cn( "flex flex-col", - showTopBorder && "border-t", - showBottomBorder && "last:border-b", + showTopBorder && "border-t first:border-t-0", + showBottomBorder && "border-b", className, )} > @@ -96,63 +103,58 @@ export function SectionHeader({ const isInteractive = isCollapsible || !!onClick; const handleClick = isCollapsible ? ctx?.toggle : onClick; - const chevronIcon = isCollapsible ? ( + const chevronIcon = ( <HugeiconsIcon icon={ArrowDownIcon} className={cn( "size-4 shrink-0 transition-transform duration-200 ease-out", - isOpen ? "rotate-0 text-foreground" : "-rotate-90 text-muted-foreground", + isOpen + ? "rotate-0 text-foreground" + : "-rotate-90 text-muted-foreground", )} /> - ) : null; + ); + + const trailingArea = + trailing || isCollapsible ? ( + <div className="flex items-center"> + {trailing} + {isCollapsible && ( + <Button + variant="ghost" + size="icon" + aria-label={isOpen ? "Collapse section" : "Expand section"} + onClick={handleClick} + > + {chevronIcon} + </Button> + )} + </div> + ) : null; - const headerContent = ( + const innerContent = isInteractive ? ( + <button + type="button" + className="min-w-0 flex-1 flex items-center gap-2 h-full cursor-pointer text-left" + onClick={handleClick} + > + {leading} + <div className="min-w-0 flex-1 flex items-center">{children}</div> + </button> + ) : ( <> {leading} - <div className="min-w-0 flex-1">{children}</div> - {(trailing || chevronIcon) && ( - <div className="flex items-center"> - {trailing} - {chevronIcon && ( - <Button - variant="ghost" - size="icon" - aria-label={isOpen ? "Collapse section" : "Expand section"} - onClick={(event) => { - event.stopPropagation(); - handleClick?.(); - }} - > - {chevronIcon} - </Button> - )} - </div> - )} - {actions} + <div className="min-w-0 flex-1 flex items-center">{children}</div> </> ); - if (!isInteractive) { - return ( - <div className={cn("flex h-11 w-full items-center gap-2 px-3.5", className)}> - {headerContent} - </div> - ); - } - return ( - // biome-ignore lint/a11y/useSemanticElements: outer div intentionally wraps a nested <Button> (chevron), making <button> invalid HTML here <div - role="button" - tabIndex={0} - className={cn( - "flex h-11 w-full cursor-pointer items-center gap-2 px-3.5", - className, - )} - onClick={handleClick} - onKeyDown={(event) => { if (event.key === "Enter" || event.key === " ") handleClick?.(); }} + className={cn("flex h-11 w-full items-center gap-2 px-3.5", className)} > - {headerContent} + {innerContent} + {trailingArea} + {actions} </div> ); } @@ -167,17 +169,20 @@ export function SectionTitle({ onClick?: () => void; }) { const ctx = useSectionContext(); + const isCollapsible = ctx?.collapsible ?? false; const isOpen = ctx?.isOpen ?? true; + const titleClass = cn( + "text-sm font-medium", + isCollapsible && isOpen ? "text-foreground" : "text-muted-foreground", + className, + ); + if (onClick) { return ( <button type="button" - className={cn( - "cursor-pointer text-sm font-medium", - isOpen ? "text-foreground" : "text-muted-foreground", - className, - )} + className={cn("cursor-pointer", titleClass)} onClick={onClick} > {children} @@ -185,17 +190,7 @@ export function SectionTitle({ ); } - return ( - <span - className={cn( - "text-sm font-medium", - isOpen ? "text-foreground" : "text-muted-foreground", - className, - )} - > - {children} - </span> - ); + return <span className={titleClass}>{children}</span>; } export function SectionFields({ @@ -243,6 +238,8 @@ export function SectionContent({ const isCollapsible = ctx?.collapsible ?? false; const isOpen = ctx?.isOpen ?? true; + const content = <div className={cn("p-4 pt-0", className)}>{children}</div>; + if (isCollapsible) { return ( <div @@ -251,12 +248,10 @@ export function SectionContent({ isOpen ? "grid-rows-[1fr]" : "grid-rows-[0fr]", )} > - <div className="overflow-hidden"> - <div className={cn("p-4 pt-0", className)}>{children}</div> - </div> + <div className="overflow-hidden">{content}</div> </div> ); } - return <div className={cn("p-4 pt-0", className)}>{children}</div>; + return content; } diff --git a/apps/web/src/components/ui/button.tsx b/apps/web/src/components/ui/button.tsx index aa52e228..3dff9417 100644 --- a/apps/web/src/components/ui/button.tsx +++ b/apps/web/src/components/ui/button.tsx @@ -23,7 +23,7 @@ const buttonVariants = cva( }, size: { default: "h-9 px-4 py-2", - sm: "h-7.5 p-1 px-2.5 text-sm rounded-sm", + sm: "h-7 p-1 px-2.5 text-sm rounded-sm", lg: "h-10 p-5 px-6", icon: "size-7 rounded-sm", text: "p-0", diff --git a/apps/web/src/components/ui/color-picker.tsx b/apps/web/src/components/ui/color-picker.tsx index fbf9bbd7..6d911a75 100644 --- a/apps/web/src/components/ui/color-picker.tsx +++ b/apps/web/src/components/ui/color-picker.tsx @@ -270,6 +270,7 @@ const ColorPicker = forwardRef<HTMLDivElement, ColorPickerProps>( backgroundColor: "#fff", }; + return ( <Popover> <div @@ -285,10 +286,10 @@ const ColorPicker = forwardRef<HTMLDivElement, ColorPickerProps>( className="size-4.5 cursor-pointer border rounded-sm hover:ring-1 hover:ring-foreground/20 overflow-hidden relative" type="button" > - <span - className="absolute inset-0" - style={checkerboardStyle} - /> + <span + className="absolute inset-0 dark:invert" + style={checkerboardStyle} + /> <span className="absolute inset-0" style={{ backgroundColor: `#${value}` }} @@ -298,7 +299,7 @@ const ColorPicker = forwardRef<HTMLDivElement, ColorPickerProps>( <div className="flex flex-1 items-center"> <Input className={cn( - "!border-0 bg-transparent p-0 !ring-0 !ring-offset-0", + "border-0! bg-transparent p-0 ring-0! ring-offset-0!", colorFormat === "hex" && "uppercase", )} size="sm" @@ -387,10 +388,10 @@ const ColorPicker = forwardRef<HTMLDivElement, ColorPickerProps>( <button ref={opacityRef} className="relative h-4 w-full overflow-hidden rounded-lg appearance-none border-0 p-0" - style={checkerboardStyle} type="button" onMouseDown={handleOpacityMouseDown} > + <div className="absolute inset-0 dark:invert" style={checkerboardStyle} /> <div className="absolute inset-0 rounded-lg" style={{ diff --git a/apps/web/src/components/ui/context-menu.tsx b/apps/web/src/components/ui/context-menu.tsx index d8791bdf..ec02de6b 100644 --- a/apps/web/src/components/ui/context-menu.tsx +++ b/apps/web/src/components/ui/context-menu.tsx @@ -10,8 +10,20 @@ import { ArrowRightIcon, CircleIcon, } from "@hugeicons/core-free-icons"; +import { useOverlayOpenChange } from "./use-overlay-open-change"; -const ContextMenu = ContextMenuPrimitive.Root; +function ContextMenu({ + onOpenChange, + ...props +}: React.ComponentProps<typeof ContextMenuPrimitive.Root>) { + const handleOpenChange = useOverlayOpenChange({ + source: "context-menu", + onOpenChange, + }); + return ( + <ContextMenuPrimitive.Root onOpenChange={handleOpenChange} {...props} /> + ); +} const ContextMenuTrigger = ContextMenuPrimitive.Trigger; diff --git a/apps/web/src/components/ui/dialog.tsx b/apps/web/src/components/ui/dialog.tsx index d124a2e9..f5045f95 100644 --- a/apps/web/src/components/ui/dialog.tsx +++ b/apps/web/src/components/ui/dialog.tsx @@ -4,8 +4,22 @@ import * as React from "react"; import { Dialog as DialogPrimitive } from "radix-ui"; import { X } from "lucide-react"; import { cn } from "@/utils/ui"; +import { useOverlayOpenChange } from "./use-overlay-open-change"; -const Dialog = DialogPrimitive.Root; +function Dialog({ + open, + onOpenChange, + ...props +}: React.ComponentProps<typeof DialogPrimitive.Root>) { + const handleOpenChange = useOverlayOpenChange({ + source: "dialog", + open, + onOpenChange, + }); + return ( + <DialogPrimitive.Root open={open} onOpenChange={handleOpenChange} {...props} /> + ); +} const DialogTrigger = DialogPrimitive.Trigger; diff --git a/apps/web/src/components/ui/dropdown-menu.tsx b/apps/web/src/components/ui/dropdown-menu.tsx index 2d6541b8..91913e25 100644 --- a/apps/web/src/components/ui/dropdown-menu.tsx +++ b/apps/web/src/components/ui/dropdown-menu.tsx @@ -4,10 +4,27 @@ import * as React from "react"; import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui"; import { Check, ChevronRight, Circle } from "lucide-react"; import { cva, type VariantProps } from "class-variance-authority"; - import { cn } from "@/utils/ui"; +import { useOverlayOpenChange } from "./use-overlay-open-change"; -const DropdownMenu = DropdownMenuPrimitive.Root; +function DropdownMenu({ + open, + onOpenChange, + ...props +}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) { + const handleOpenChange = useOverlayOpenChange({ + source: "dropdown-menu", + open, + onOpenChange, + }); + return ( + <DropdownMenuPrimitive.Root + open={open} + onOpenChange={handleOpenChange} + {...props} + /> + ); +} const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger; @@ -118,7 +135,7 @@ const DropdownMenuItem = React.forwardRef< ref, ) => { const iconSlot = ( - <span className="hidden size-4 shrink-0 items-center justify-center group-has-[[data-has-icon]]/menu:flex"> + <span className="hidden size-4 shrink-0 items-center justify-center group-has-data-has-icon/menu:flex"> {icon} </span> ); diff --git a/apps/web/src/components/ui/font-picker.tsx b/apps/web/src/components/ui/font-picker.tsx index 09ba0a9a..77d8ab7f 100644 --- a/apps/web/src/components/ui/font-picker.tsx +++ b/apps/web/src/components/ui/font-picker.tsx @@ -1,13 +1,6 @@ "use client"; -import { - useState, - useMemo, - useRef, - useEffect, - useCallback, - type CSSProperties, -} from "react"; +import { useState, useMemo, useRef, useEffect, useCallback, type CSSProperties } from "react"; import { List, type RowComponentProps } from "react-window"; import { Popover, @@ -16,28 +9,24 @@ import { } from "@/components/ui/popover"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; -import { - getCachedFontAtlas, - loadFullFont, - prefetchFontAtlas, - clearFontAtlasCache, -} from "@/lib/fonts/google-fonts"; -import type { FontAtlas, FontAtlasEntry } from "@/types/fonts"; +import { loadFullFont } from "@/lib/fonts/google-fonts"; +import { SYSTEM_FONTS } from "@/constants/font-constants"; +import type { FontAtlas, FontAtlasEntry } from "@/lib/fonts/types"; +import { useFontAtlas } from "@/hooks/use-font-atlas"; import { cn } from "@/utils/ui"; -import { ChevronDown, Search, Upload } from "lucide-react"; +import { ChevronDown, Search } from "lucide-react"; import { HugeiconsIcon } from "@hugeicons/react"; import { TextIcon } from "@hugeicons/core-free-icons"; const FONT_TABS = [ { key: "all", label: "All fonts" }, - { key: "favorites", label: "Favorites" }, { key: "my-fonts", label: "My fonts" }, + { key: "favorites", label: "Favorites" }, ] as const; type FontTab = (typeof FONT_TABS)[number]["key"]; const ROW_HEIGHT = 40; -const SPRITE_ROW_HEIGHT = 40; const PREVIEW_SCALE = 0.8; const LIST_WIDTH = 288; const MAX_LIST_HEIGHT = 288; @@ -57,18 +46,8 @@ export function FontPicker({ const [open, setOpen] = useState(false); const [search, setSearch] = useState(""); const [activeTab, setActiveTab] = useState<FontTab>("all"); - const [atlas, setAtlas] = useState<FontAtlas | null>(() => - getCachedFontAtlas(), - ); - const [status, setStatus] = useState<"idle" | "loading" | "error">(() => - getCachedFontAtlas() ? "idle" : "loading", - ); const searchInputRef = useRef<HTMLInputElement>(null); - - const fontNames = useMemo(() => { - if (!atlas) return []; - return Object.keys(atlas.fonts).sort(); - }, [atlas]); + const { atlas, status, fontNames, retry: handleRetry } = useFontAtlas({ open }); const filteredFonts = useMemo(() => { if (!search) return fontNames; @@ -83,32 +62,19 @@ export function FontPicker({ const handleSelect = useCallback( async ({ family }: { family: string }) => { - try { - await loadFullFont({ family }); - onValueChange?.(family); - } catch { - onValueChange?.(family); + if (!SYSTEM_FONTS.has(family)) { + try { + await loadFullFont({ family }); + } catch { + // ignore load failure, font will fall back to system default + } } + onValueChange?.(family); setOpen(false); }, [onValueChange], ); - // Load atlas on first open if cache is empty (fallback when prefetch hasn't completed) - useEffect(() => { - if (!open || atlas) return; - - setStatus("loading"); - prefetchFontAtlas().then((data) => { - if (data) { - setAtlas(data); - setStatus("idle"); - } else { - setStatus("error"); - } - }); - }, [open, atlas]); - useEffect(() => { if (!open) { setSearch(""); @@ -116,18 +82,8 @@ export function FontPicker({ } }, [open]); - const handleRetry = useCallback(() => { - clearFontAtlasCache(); - setStatus("loading"); - prefetchFontAtlas().then((data) => { - if (data) { - setAtlas(data); - setStatus("idle"); - } else { - setStatus("error"); - } - }); - }, []); + const activeTabLabel = + FONT_TABS.find((t) => t.key === activeTab)?.label.toLowerCase() ?? ""; return ( <Popover open={open} onOpenChange={setOpen}> @@ -164,11 +120,11 @@ export function FontPicker({ <Search className="absolute left-3 top-1/2 -translate-y-1/2 size-3.5 shrink-0 opacity-50" /> <Input ref={searchInputRef} - placeholder="Search fonts..." + placeholder={`Search ${activeTabLabel}...`} value={search} onChange={(event) => setSearch(event.target.value)} size="xs" - className="w-full pl-5 bg-transparent !border-none !shadow-none" + className="w-full pl-5 bg-transparent border-none! shadow-none!" /> </div> <div className="flex border-b px-3"> @@ -225,20 +181,6 @@ export function FontPicker({ style={{ height: listHeight, width: LIST_WIDTH }} /> )} - <div className="border-t p-1"> - <Button - variant="ghost" - size="sm" - className="w-full justify-start text-muted-foreground h-8 font-normal" - onClick={() => { - // TODO: Implement local font loading - console.log("Load local fonts clicked"); - }} - > - <Upload className="!size-3.5" /> - Load local fonts - </Button> - </div> </PopoverContent> </Popover> ); @@ -250,7 +192,7 @@ function FontSpritePreview({ entry }: { entry: FontAtlasEntry }) { className="shrink-0" style={{ width: entry.w, - height: SPRITE_ROW_HEIGHT, + height: ROW_HEIGHT, backgroundColor: "currentColor", WebkitMaskImage: `url(/fonts/font-chunk-${entry.ch}.avif)`, WebkitMaskPosition: `-${entry.x}px -${entry.y}px`, @@ -283,6 +225,7 @@ function FontRow({ const fontName = filteredFonts[index]; const entry = atlas.fonts[fontName]; const isSelected = fontName === selectedFont; + const isSystemFont = SYSTEM_FONTS.has(fontName); return ( <button @@ -302,7 +245,13 @@ function FontRow({ aria-label={fontName} > <div className="min-w-0 overflow-hidden"> - <FontSpritePreview entry={entry} /> + {isSystemFont ? ( + <span className="text-xl text-foreground/85" style={{ fontFamily: fontName }}> + {fontName} + </span> + ) : ( + <FontSpritePreview entry={entry} /> + )} </div> </button> ); diff --git a/apps/web/src/components/ui/input-with-back.tsx b/apps/web/src/components/ui/input-with-back.tsx deleted file mode 100644 index 1c22fd2e..00000000 --- a/apps/web/src/components/ui/input-with-back.tsx +++ /dev/null @@ -1,85 +0,0 @@ -"use client"; - -import { Button } from "@/components/ui/button"; -import { Input } from "@/components/ui/input"; -import { ArrowLeft, Search } from "lucide-react"; -import { motion } from "motion/react"; -import { useState, useEffect } from "react"; - -interface InputWithBackProps { - isExpanded: boolean; - setIsExpanded: (isExpanded: boolean) => void; - placeholder?: string; - value?: string; - onChange?: (value: string) => void; - disableAnimation?: boolean; -} - -export function InputWithBack({ - isExpanded, - setIsExpanded, - placeholder = "Search anything", - value, - onChange, - disableAnimation = false, -}: InputWithBackProps) { - const [containerRef, setContainerRef] = useState<HTMLDivElement | null>(null); - const [buttonOffset, setButtonOffset] = useState(-60); - - const smoothTransition = { - duration: disableAnimation ? 0 : 0.35, - ease: [0.25, 0.1, 0.25, 1] as const, - }; - - useEffect(() => { - if (containerRef) { - const rect = containerRef.getBoundingClientRect(); - setButtonOffset(-rect.left - 48); - } - }, [containerRef]); - - return ( - <div ref={setContainerRef} className="relative w-full"> - <motion.div - className="absolute top-1/2 left-0 z-10 -translate-y-1/2 cursor-pointer hover:opacity-75" - initial={{ - x: isExpanded ? 0 : buttonOffset, - opacity: isExpanded ? 1 : 0.5, - }} - animate={{ - x: isExpanded ? 0 : buttonOffset, - opacity: isExpanded ? 1 : 0.5, - }} - transition={smoothTransition} - onClick={() => setIsExpanded(!isExpanded)} - > - <Button variant="outline" className="bg-accent !size-9 rounded-full"> - <ArrowLeft /> - </Button> - </motion.div> - <div - className="relative flex-1" - style={{ marginLeft: "0px", paddingLeft: "0px" }} - > - <motion.div - className="relative" - initial={{ - marginLeft: isExpanded ? 50 : 0, - }} - animate={{ - marginLeft: isExpanded ? 50 : 0, - }} - transition={smoothTransition} - > - <Search className="text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2" /> - <Input - placeholder={placeholder} - className="bg-accent w-full pl-9" - value={value} - onChange={(e) => onChange?.(e.target.value)} - /> - </motion.div> - </div> - </div> - ); -} diff --git a/apps/web/src/components/ui/input.tsx b/apps/web/src/components/ui/input.tsx index 762cc675..1dce2f24 100644 --- a/apps/web/src/components/ui/input.tsx +++ b/apps/web/src/components/ui/input.tsx @@ -8,18 +8,19 @@ import { forwardRef, type ComponentProps } from "react"; import { useState } from "react"; const inputVariants = cva( - "file:text-foreground placeholder:text-muted-foreground border-border bg-input flex w-full min-w-0 rounded-md border shadow-xs outline-none file:inline-flex file:border-0 file:bg-transparent file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:ring-0 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", + "file:text-foreground placeholder:text-muted-foreground border-border bg-input flex w-full min-w-0 rounded-md border shadow-xs outline-none file:inline-flex file:border-0 file:bg-transparent file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:ring-offset-0 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", { variants: { variant: { - default: "selection:bg-primary selection:text-primary-foreground", + default: "selection:bg-primary selection:text-primary-foreground focus-visible:border-primary/50 focus-visible:ring-2 focus-visible:ring-primary/20", + outline: "bg-background", destructive: "selection:bg-destructive selection:text-destructive-foreground focus-visible:border-destructive focus-visible:ring-destructive/10", }, size: { default: "h-9 px-3 py-1 text-base file:h-7 file:text-sm md:text-sm", xs: "h-7 px-3 text-xs file:h-6 file:text-xs", - sm: "h-8 px-3 text-sm file:h-6 file:text-xs", + sm: "h-7 px-3 text-sm file:h-6 file:text-xs", lg: "h-10 px-4 text-base file:h-8 file:text-sm md:text-sm", }, }, diff --git a/apps/web/src/components/ui/number-field.tsx b/apps/web/src/components/ui/number-field.tsx index 48297dc0..18d71591 100644 --- a/apps/web/src/components/ui/number-field.tsx +++ b/apps/web/src/components/ui/number-field.tsx @@ -1,12 +1,15 @@ "use client"; import { cn } from "@/utils/ui"; -import { useRef, useState, type ComponentProps } from "react"; +import { clamp } from "@/utils/math"; +import { useRef, useState, useLayoutEffect, type ComponentProps } from "react"; import { useFocusLock } from "@/hooks/use-focus-lock"; import { Button } from "@/components/ui/button"; import { HugeiconsIcon } from "@hugeicons/react"; import { ArrowTurnBackwardIcon } from "@hugeicons/core-free-icons"; +const SUFFIX_GAP_PX = 6; + const DRAG_SENSITIVITIES = { default: 1, slow: 0.5, @@ -14,10 +17,94 @@ const DRAG_SENSITIVITIES = { type DragSensitivity = "default" | "slow"; +type ScrubRange = { + from: number; + to: number; + pixelsPerUnit: number; +}; + +type ScrubClamp = { + min?: number; + max?: number; +}; + +function clampScrubValue({ + value, + min, + max, +}: { + value: number; + min?: number; + max?: number; +}): number { + if (min != null && max != null) return clamp({ value, min, max }); + if (min != null) return Math.max(min, value); + if (max != null) return Math.min(max, value); + return value; +} + +function getActiveRange({ + value, + direction, + ranges, +}: { + value: number; + direction: number; + ranges: readonly ScrubRange[]; +}): ScrubRange | undefined { + return ranges.find((range) => + direction > 0 + ? value >= range.from && value < range.to + : value > range.from && value <= range.to, + ); +} + +function scrubAcrossRanges({ + startValue, + pixelDelta, + ranges, + min, + max, +}: { + startValue: number; + pixelDelta: number; + ranges: readonly ScrubRange[]; + min?: number; + max?: number; +}): number { + let currentValue = clampScrubValue({ value: startValue, min, max }); + let remainingPixels = pixelDelta; + + while (remainingPixels !== 0) { + const direction = Math.sign(remainingPixels); + + const range = getActiveRange({ value: currentValue, direction, ranges }); + if (!range) break; + + const boundary = direction > 0 ? range.to : range.from; + const pixelsToBoundary = + Math.abs(boundary - currentValue) * range.pixelsPerUnit; + + if (Math.abs(remainingPixels) <= pixelsToBoundary) { + currentValue += remainingPixels / range.pixelsPerUnit; + break; + } + + currentValue = boundary; + remainingPixels -= direction * pixelsToBoundary; + } + + return clampScrubValue({ value: currentValue, min, max }); +} + interface NumberFieldProps extends Omit<ComponentProps<"input">, "size" | "type"> { icon?: React.ReactNode; + suffix?: string; + suffixClassName?: string; dragSensitivity?: DragSensitivity; + scrubRanges?: readonly ScrubRange[]; + scrubClamp?: ScrubClamp; onScrub?: (value: number) => void; onScrubEnd?: () => void; allowExpressions?: boolean; @@ -28,8 +115,12 @@ interface NumberFieldProps function NumberField({ className, icon, + suffix, + suffixClassName, disabled, dragSensitivity = "default", + scrubRanges, + scrubClamp, onScrub, onScrubEnd, value, @@ -45,9 +136,18 @@ function NumberField({ }: NumberFieldProps & { ref?: React.Ref<HTMLInputElement> }) { const iconRef = useRef<HTMLSpanElement>(null); const inputRef = useRef<HTMLInputElement>(null); + const ghostRef = useRef<HTMLSpanElement>(null); const startValueRef = useRef(0); const cumulativeDeltaRef = useRef(0); const [isInputFocused, setIsInputFocused] = useState(false); + const [suffixLeft, setSuffixLeft] = useState(0); + + useLayoutEffect(() => { + if (!suffix || !ghostRef.current || !inputRef.current) return; + const paddingLeft = + parseFloat(getComputedStyle(inputRef.current).paddingLeft) || 0; + setSuffixLeft(paddingLeft + ghostRef.current.offsetWidth); + }, [value, suffix]); const { containerRef: wrapperRef } = useFocusLock<HTMLDivElement>({ isActive: isInputFocused, @@ -71,12 +171,16 @@ function NumberField({ return; } cumulativeDeltaRef.current += moveEvent.movementX; - const sensitivity = - typeof dragSensitivity === "number" - ? dragSensitivity - : DRAG_SENSITIVITIES[dragSensitivity]; - const newValue = - startValueRef.current + cumulativeDeltaRef.current * sensitivity; + const newValue = scrubRanges + ? scrubAcrossRanges({ + startValue: startValueRef.current, + pixelDelta: cumulativeDeltaRef.current, + ranges: scrubRanges, + min: scrubClamp?.min, + max: scrubClamp?.max, + }) + : startValueRef.current + + cumulativeDeltaRef.current * DRAG_SENSITIVITIES[dragSensitivity]; onScrub(newValue); }; @@ -93,11 +197,48 @@ function NumberField({ const canScrub = Boolean(icon && onScrub); + const inputNode = ( + <input + type={allowExpressions ? "text" : "number"} + inputMode={allowExpressions ? "decimal" : undefined} + ref={inputRef} + disabled={disabled} + value={value} + className="text-sm leading-none bg-transparent outline-none min-w-0 flex-1 [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none" + onMouseDown={(event) => { + const inputElement = event.currentTarget; + const shouldPreventNativeCaretPlacement = + event.button === 0 && document.activeElement !== inputElement; + if (shouldPreventNativeCaretPlacement) { + event.preventDefault(); + inputElement.focus(); + inputElement.select(); + } + onMouseDown?.(event); + }} + onFocus={(event) => { + setIsInputFocused(true); + event.currentTarget.select(); + onFocus?.(event); + }} + onKeyDown={(event) => { + const shouldBlurInput = event.key === "Enter" || event.key === "Escape"; + if (shouldBlurInput) event.currentTarget.blur(); + onKeyDown?.(event); + }} + onBlur={(event) => { + setIsInputFocused(false); + onBlur?.(event); + }} + {...props} + /> + ); + return ( <div ref={wrapperRef} className={cn( - "border-border bg-accent flex h-7 w-full min-w-0 items-center rounded-md border text-sm outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-within:border-primary focus-within:ring-0 focus-within:ring-primary/10 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40", + "border-border bg-accent flex h-7 w-full min-w-0 items-center rounded-md border text-sm outline-none cursor-text disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-within:border-primary focus-within:ring-0 focus-within:ring-primary/10 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40", disabled && "pointer-events-none cursor-not-allowed opacity-50", className, )} @@ -106,53 +247,45 @@ function NumberField({ <span ref={iconRef} className={cn( - "text-muted-foreground [&_svg]:!size-3.5 shrink-0 select-none pl-2.5 text-sm leading-none", + "text-muted-foreground [&_svg]:size-3.5! shrink-0 select-none pl-2.5 text-sm leading-none", canScrub && "cursor-ew-resize", )} + onMouseDown={canScrub ? (event) => event.preventDefault() : undefined} onPointerDown={canScrub ? handleIconPointerDown : undefined} > {icon} </span> )} - <input - type={allowExpressions ? "text" : "number"} - inputMode={allowExpressions ? "decimal" : undefined} - ref={inputRef} - disabled={disabled} - value={value} + <span className={cn( - "min-w-0 flex-1 text-sm leading-none bg-transparent outline-none [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none", + "relative flex flex-1 min-w-0 items-center", icon ? "px-1.5" : "pl-2.5", onReset ? "pr-0" : "pr-2.5", )} - onMouseDown={(event) => { - const inputElement = event.currentTarget; - const shouldPreventNativeCaretPlacement = - event.button === 0 && document.activeElement !== inputElement; - if (shouldPreventNativeCaretPlacement) { - event.preventDefault(); - inputElement.focus(); - inputElement.select(); - } - onMouseDown?.(event); - }} - onFocus={(event) => { - setIsInputFocused(true); - event.currentTarget.select(); - onFocus?.(event); - }} - onKeyDown={(event) => { - const shouldBlurInput = - event.key === "Enter" || event.key === "Escape"; - if (shouldBlurInput) event.currentTarget.blur(); - onKeyDown?.(event); - }} - onBlur={(event) => { - setIsInputFocused(false); - onBlur?.(event); - }} - {...props} - /> + > + {inputNode} + {suffix && ( + <> + {/* Ghost mirrors value text to measure width for suffix positioning */} + <span + ref={ghostRef} + className="invisible absolute text-sm leading-none whitespace-pre pointer-events-none" + aria-hidden="true" + > + {value} + </span> + <span + className={cn( + "absolute top-1/2 -translate-y-1/2 select-none pointer-events-none text-sm leading-none", + suffixClassName, + )} + style={{ left: suffixLeft + SUFFIX_GAP_PX }} + > + {suffix} + </span> + </> + )} + </span> {onReset && !isDefault && ( <div className="shrink-0 pr-2 flex items-center"> <Button @@ -161,7 +294,7 @@ function NumberField({ aria-label="Reset to default" onClick={onReset} > - <HugeiconsIcon icon={ArrowTurnBackwardIcon} className="!size-3.5" /> + <HugeiconsIcon icon={ArrowTurnBackwardIcon} className="size-3.5!" /> </Button> </div> )} diff --git a/apps/web/src/components/ui/popover.tsx b/apps/web/src/components/ui/popover.tsx index 8fd511a3..cf480c8c 100644 --- a/apps/web/src/components/ui/popover.tsx +++ b/apps/web/src/components/ui/popover.tsx @@ -3,8 +3,26 @@ import * as React from "react"; import { Popover as PopoverPrimitive } from "radix-ui"; import { cn } from "@/utils/ui"; +import { useOverlayOpenChange } from "./use-overlay-open-change"; -const Popover = PopoverPrimitive.Root; +function Popover({ + open, + onOpenChange, + ...props +}: React.ComponentProps<typeof PopoverPrimitive.Root>) { + const handleOpenChange = useOverlayOpenChange({ + source: "popover", + open, + onOpenChange, + }); + return ( + <PopoverPrimitive.Root + open={open} + onOpenChange={handleOpenChange} + {...props} + /> + ); +} const PopoverTrigger = PopoverPrimitive.Trigger; diff --git a/apps/web/src/components/ui/select.tsx b/apps/web/src/components/ui/select.tsx index 1b57ea4d..b7092b87 100644 --- a/apps/web/src/components/ui/select.tsx +++ b/apps/web/src/components/ui/select.tsx @@ -7,8 +7,22 @@ import { ArrowUpIcon, ArrowDownIcon } from "@hugeicons/core-free-icons"; import { cva, type VariantProps } from "class-variance-authority"; import { cn } from "@/utils/ui"; import { HugeiconsIcon } from "@hugeicons/react"; +import { useOverlayOpenChange } from "./use-overlay-open-change"; -const Select = SelectPrimitive.Root; +function Select({ + open, + onOpenChange, + ...props +}: React.ComponentProps<typeof SelectPrimitive.Root>) { + const handleOpenChange = useOverlayOpenChange({ + source: "select", + open, + onOpenChange, + }); + return ( + <SelectPrimitive.Root open={open} onOpenChange={handleOpenChange} {...props} /> + ); +} const SelectGroup = SelectPrimitive.Group; diff --git a/apps/web/src/components/ui/sheet.tsx b/apps/web/src/components/ui/sheet.tsx index 3155787d..d56cd0ac 100644 --- a/apps/web/src/components/ui/sheet.tsx +++ b/apps/web/src/components/ui/sheet.tsx @@ -4,10 +4,23 @@ import * as React from "react"; import { Dialog as SheetPrimitive } from "radix-ui"; import { cva, type VariantProps } from "class-variance-authority"; import { X } from "lucide-react"; - import { cn } from "@/utils/ui"; +import { useOverlayOpenChange } from "./use-overlay-open-change"; -const Sheet = SheetPrimitive.Root; +function Sheet({ + open, + onOpenChange, + ...props +}: React.ComponentProps<typeof SheetPrimitive.Root>) { + const handleOpenChange = useOverlayOpenChange({ + source: "sheet", + open, + onOpenChange, + }); + return ( + <SheetPrimitive.Root open={open} onOpenChange={handleOpenChange} {...props} /> + ); +} const SheetTrigger = SheetPrimitive.Trigger; diff --git a/apps/web/src/components/ui/sonner.tsx b/apps/web/src/components/ui/sonner.tsx index 4bae2fad..f0c8197a 100644 --- a/apps/web/src/components/ui/sonner.tsx +++ b/apps/web/src/components/ui/sonner.tsx @@ -12,7 +12,7 @@ const Toaster = ({ ...props }: ToasterProps) => { <Sonner theme={theme as ToasterProps["theme"]} className="toaster group" - position="top-center" + position="bottom-right" offset={20} toastOptions={{ classNames: { diff --git a/apps/web/src/components/ui/tabs.tsx b/apps/web/src/components/ui/tabs.tsx index d2844b63..c5cc02d7 100644 --- a/apps/web/src/components/ui/tabs.tsx +++ b/apps/web/src/components/ui/tabs.tsx @@ -5,51 +5,81 @@ import { Tabs as TabsPrimitive } from "radix-ui"; import { cn } from "@/utils/ui"; -const Tabs = TabsPrimitive.Root; +type TabsVariant = "default" | "underline"; + +const TabsVariantContext = React.createContext<TabsVariant>("default"); + +const Tabs = React.forwardRef< + React.ElementRef<typeof TabsPrimitive.Root>, + React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & { + variant?: TabsVariant; + } +>(({ variant = "default", ...props }, ref) => ( + <TabsVariantContext.Provider value={variant}> + <TabsPrimitive.Root ref={ref} {...props} /> + </TabsVariantContext.Provider> +)); +Tabs.displayName = TabsPrimitive.Root.displayName; const TabsList = React.forwardRef< React.ElementRef<typeof TabsPrimitive.List>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.List> ->(({ className, ...props }, ref) => ( - <TabsPrimitive.List - ref={ref} - className={cn( - "text-muted-foreground inline-flex h-auto items-center justify-center gap-2 rounded-lg bg-transparent p-0", - className, - )} - {...props} - /> -)); +>(({ className, ...props }, ref) => { + const variant = React.useContext(TabsVariantContext); + return ( + <TabsPrimitive.List + ref={ref} + className={cn( + "text-muted-foreground inline-flex h-auto items-center gap-0 bg-transparent p-0", + variant === "default" && "rounded-lg", + variant === "underline" && "border-b border-border w-full gap-0 px-2", + className, + )} + {...props} + /> + ); +}); TabsList.displayName = TabsPrimitive.List.displayName; const TabsTrigger = React.forwardRef< React.ElementRef<typeof TabsPrimitive.Trigger>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> ->(({ className, ...props }, ref) => ( - <TabsPrimitive.Trigger - ref={ref} - className={cn( - "ring-offset-background focus-visible:ring-ring data-[state=active]:bg-accent data-[state=active]:text-foreground inline-flex cursor-pointer items-center justify-center rounded-lg px-3 py-1 text-sm font-medium whitespace-nowrap focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50", - className, - )} - {...props} - /> -)); +>(({ className, ...props }, ref) => { + const variant = React.useContext(TabsVariantContext); + return ( + <TabsPrimitive.Trigger + ref={ref} + className={cn( + "ring-offset-background focus-visible:ring-ring inline-flex cursor-pointer items-center justify-center text-sm font-medium whitespace-nowrap focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 border border-transparent", + variant === "default" && + "data-[state=active]:bg-secondary data-[state=active]:border-secondary-border data-[state=active]:text-secondary-foreground rounded-md px-2.5 h-6.5", + variant === "underline" && + "text-muted-foreground data-[state=active]:text-primary border-b-2 border-transparent data-[state=active]:border-primary rounded-none px-3 py-2 -mb-px", + className, + )} + {...props} + /> + ); +}); TabsTrigger.displayName = TabsPrimitive.Trigger.displayName; const TabsContent = React.forwardRef< React.ElementRef<typeof TabsPrimitive.Content>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content> ->(({ className, ...props }, ref) => ( - <TabsPrimitive.Content - ref={ref} - className={cn( - "ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden", - className, - )} - {...props} - /> -)); +>(({ className, ...props }, ref) => { + const variant = React.useContext(TabsVariantContext); + return ( + <TabsPrimitive.Content + ref={ref} + className={cn( + "ring-offset-background focus-visible:ring-ring mt-4 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden", + variant === "underline" && "px-4", + className, + )} + {...props} + /> + ); +}); TabsContent.displayName = TabsPrimitive.Content.displayName; export { Tabs, TabsList, TabsTrigger, TabsContent }; diff --git a/apps/web/src/components/ui/tooltip.tsx b/apps/web/src/components/ui/tooltip.tsx index 067042e6..2e7b53d4 100644 --- a/apps/web/src/components/ui/tooltip.tsx +++ b/apps/web/src/components/ui/tooltip.tsx @@ -11,7 +11,7 @@ const Tooltip = TooltipPrimitive.Root; const TooltipTrigger = TooltipPrimitive.Trigger; const tooltipVariants = cva( - "z-50 overflow-visible rounded-sm text-sm shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", + "z-50 overflow-visible rounded-sm text-sm shadow-md", { variants: { variant: { @@ -22,7 +22,7 @@ const tooltipVariants = cva( important: "bg-amber-100/90 text-amber-900 dark:bg-amber-900/20 dark:text-amber-300 border-amber-900 [border-width:0.5px]", promotions: - "bg-red-100/90 text-red-900 dark:bg-red-900/20 dark:text-red-300 border-red-900 [border-width:0.5px]", + "bg-red-100/90 text-redb-900 dark:bg-red-900/20 dark:text-red-300 border-red-900 [border-width:0.5px]", personal: "bg-green-100/90 text-green-900 dark:bg-green-900/20 dark:text-green-300 border-green-900 [border-width:0.5px]", updates: diff --git a/apps/web/src/components/ui/use-overlay-open-change.ts b/apps/web/src/components/ui/use-overlay-open-change.ts new file mode 100644 index 00000000..165efc79 --- /dev/null +++ b/apps/web/src/components/ui/use-overlay-open-change.ts @@ -0,0 +1,78 @@ +import { useCallback, useEffect, useId, useRef } from "react"; +import { useKeybindingsStore } from "@/stores/keybindings-store"; + +export function useOverlayOpenChange({ + source, + open, + onOpenChange, +}: { + source: string; + open?: boolean; + onOpenChange?: (open: boolean) => void; +}) { + const { openOverlay, closeOverlay } = useKeybindingsStore(); + const isTrackedRef = useRef(false); + const isControlled = typeof open === "boolean"; + const overlayId = useId(); + + useEffect(() => { + if (!isControlled) return; + + if (open && !isTrackedRef.current) { + openOverlay(overlayId, source); + isTrackedRef.current = true; + return; + } + + if (!open && isTrackedRef.current) { + closeOverlay(overlayId, source); + isTrackedRef.current = false; + } + }, [closeOverlay, isControlled, open, openOverlay, overlayId, source]); + + useEffect(() => { + return () => { + if (!isTrackedRef.current) return; + // #region agent log + fetch( + "http://127.0.0.1:7245/ingest/669b22f8-172b-4e65-aa3f-1c702ede83f7", + { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-Debug-Session-Id": "3997d9", + }, + body: JSON.stringify({ + sessionId: "3997d9", + runId: "post-fix", + hypothesisId: "H2", + location: "use-overlay-open-change.ts:cleanup", + message: "Overlay closed during unmount cleanup", + data: { source, overlayId }, + timestamp: Date.now(), + }), + }, + ).catch(() => {}); + // #endregion + closeOverlay(overlayId, source); + isTrackedRef.current = false; + }; + }, [closeOverlay, overlayId, source]); + + return useCallback( + (nextOpen: boolean) => { + if (!isControlled) { + if (nextOpen && !isTrackedRef.current) { + openOverlay(overlayId, source); + isTrackedRef.current = true; + } else if (!nextOpen && isTrackedRef.current) { + closeOverlay(overlayId, source); + isTrackedRef.current = false; + } + } + + onOpenChange?.(nextOpen); + }, + [closeOverlay, isControlled, onOpenChange, openOverlay, overlayId, source], + ); +} diff --git a/apps/web/src/constants/editor-constants.ts b/apps/web/src/constants/editor-constants.ts index 00e8f19b..6428af32 100644 --- a/apps/web/src/constants/editor-constants.ts +++ b/apps/web/src/constants/editor-constants.ts @@ -1,3 +1,17 @@ +export type TPlatformLayout = + | "tiktok" + | "instagram" + | "youtube" + | "snapchat"; + +export const PREVIEW_ZOOM_PRESETS = [25, 50, 75, 100, 150, 200]; + +export const PREVIEW_ZOOM = { + min: 0.25, + max: 16, + step: 1.25, +}; + export const PANEL_CONFIG = { panels: { tools: 25, diff --git a/apps/web/src/constants/export-constants.ts b/apps/web/src/constants/export-constants.ts index 4e27aae5..ffb5edc6 100644 --- a/apps/web/src/constants/export-constants.ts +++ b/apps/web/src/constants/export-constants.ts @@ -1,4 +1,4 @@ -import type { ExportOptions } from "@/types/export"; +import type { ExportOptions } from "@/lib/export"; export const DEFAULT_EXPORT_OPTIONS = { format: "mp4", diff --git a/apps/web/src/constants/font-constants.ts b/apps/web/src/constants/font-constants.ts index d115d09b..9cc363a3 100644 --- a/apps/web/src/constants/font-constants.ts +++ b/apps/web/src/constants/font-constants.ts @@ -1,5 +1,3 @@ -export const DEFAULT_FONT = "Arial"; - export const SYSTEM_FONTS = new Set([ "Arial", "Helvetica", diff --git a/apps/web/src/constants/guide-constants.ts b/apps/web/src/constants/guide-constants.ts new file mode 100644 index 00000000..0b707de7 --- /dev/null +++ b/apps/web/src/constants/guide-constants.ts @@ -0,0 +1,4 @@ +export const GRID_MIN = 1; +export const GRID_MAX = 24; + +export const DEFAULT_GRID_CONFIG = { rows: 3, cols: 3 } as const; diff --git a/apps/web/src/constants/language-constants.ts b/apps/web/src/constants/language-constants.ts index 3da36661..e5678145 100644 --- a/apps/web/src/constants/language-constants.ts +++ b/apps/web/src/constants/language-constants.ts @@ -9,3 +9,6 @@ export const LANGUAGES = [ { code: "ja", name: "Japanese" }, { code: "zh", name: "Chinese" }, ] as const; + +export type Language = (typeof LANGUAGES)[number]; +export type LanguageCode = Language["code"]; diff --git a/apps/web/src/constants/mask-constants.ts b/apps/web/src/constants/mask-constants.ts new file mode 100644 index 00000000..97e77ff0 --- /dev/null +++ b/apps/web/src/constants/mask-constants.ts @@ -0,0 +1,4 @@ +export const MAX_FEATHER = 1000; +export const FEATHER_HANDLE_SCALE = 0.11; +export const DEFAULT_SHAPE_MASK_SHORT_SIDE_RATIO = 0.6; +export const MIN_MASK_DIMENSION = 0.01; diff --git a/apps/web/src/constants/project-constants.ts b/apps/web/src/constants/project-constants.ts index 7e3f06b6..24e75381 100644 --- a/apps/web/src/constants/project-constants.ts +++ b/apps/web/src/constants/project-constants.ts @@ -1,4 +1,4 @@ -import type { TCanvasSize } from "@/types/project"; +import type { TCanvasSize } from "@/lib/project/types"; export const DEFAULT_CANVAS_PRESETS: TCanvasSize[] = [ { width: 1920, height: 1080 }, @@ -16,12 +16,12 @@ export const FPS_PRESETS = [ ] as const; export const BLUR_INTENSITY_PRESETS: { label: string; value: number }[] = [ - { label: "Light", value: 4 }, - { label: "Medium", value: 8 }, - { label: "Heavy", value: 18 }, + { label: "Light", value: 10 }, + { label: "Medium", value: 50 }, + { label: "Heavy", value: 100 }, ] as const; export const DEFAULT_CANVAS_SIZE: TCanvasSize = { width: 1920, height: 1080 }; export const DEFAULT_FPS = 30; -export const DEFAULT_BLUR_INTENSITY = 8; +export const DEFAULT_BLUR_INTENSITY = 10; export const DEFAULT_COLOR = "#000000"; diff --git a/apps/web/src/constants/retime-constants.ts b/apps/web/src/constants/retime-constants.ts new file mode 100644 index 00000000..7b18b61c --- /dev/null +++ b/apps/web/src/constants/retime-constants.ts @@ -0,0 +1,30 @@ +export const DEFAULT_RETIME_RATE = 1; +export const MIN_RETIME_RATE = 0.01; +export const MAX_RETIME_RATE = 5; +export const MAX_PITCH_PRESERVE_RATE = 10; + +export function clampRetimeRate({ rate }: { rate: number }): number { + if (!Number.isFinite(rate) || rate <= 0) { + return DEFAULT_RETIME_RATE; + } + + return Math.min(Math.max(rate, MIN_RETIME_RATE), MAX_RETIME_RATE); +} + +export function canMaintainPitch({ rate }: { rate: number }): boolean { + if (!Number.isFinite(rate) || rate <= 0) { + return false; + } + + return clampRetimeRate({ rate }) <= MAX_PITCH_PRESERVE_RATE; +} + +export function shouldMaintainPitch({ + rate, + maintainPitch, +}: { + rate: number; + maintainPitch?: boolean; +}): boolean { + return maintainPitch === true && canMaintainPitch({ rate }); +} diff --git a/apps/web/src/constants/sticker-constants.ts b/apps/web/src/constants/sticker-constants.ts index 506e552d..06692645 100644 --- a/apps/web/src/constants/sticker-constants.ts +++ b/apps/web/src/constants/sticker-constants.ts @@ -1,8 +1,8 @@ +export const STICKER_INTRINSIC_SIZE_FALLBACK = 200; + export const STICKER_CATEGORIES = { all: "All", logos: "Logos", - icons: "Icons", - emoji: "Emoji", flags: "Flags", shapes: "Shapes", }; diff --git a/apps/web/src/constants/text-constants.ts b/apps/web/src/constants/text-constants.ts index 6779670b..45f76bc8 100644 --- a/apps/web/src/constants/text-constants.ts +++ b/apps/web/src/constants/text-constants.ts @@ -1,10 +1,3 @@ -import type { TextElement } from "@/types/timeline"; -import { - DEFAULT_OPACITY, - DEFAULT_TRANSFORM, - TIMELINE_CONSTANTS, -} from "./timeline-constants"; - export const MIN_FONT_SIZE = 5; export const MAX_FONT_SIZE = 300; @@ -14,40 +7,5 @@ export const MAX_FONT_SIZE = 300; */ export const FONT_SIZE_SCALE_REFERENCE = 90; -export const DEFAULT_LETTER_SPACING = 0; -export const DEFAULT_LINE_HEIGHT = 1.2; - export const CORNER_RADIUS_MIN = 0; export const CORNER_RADIUS_MAX = 100; - -export const DEFAULT_TEXT_BACKGROUND = { - enabled: false, - color: "#000000", - cornerRadius: 0, - paddingX: 30, - paddingY: 42, - offsetX: 0, - offsetY: 0, -}; - -export const DEFAULT_TEXT_ELEMENT: Omit<TextElement, "id"> = { - type: "text", - name: "Text", - content: "Default text", - fontSize: 15, - fontFamily: "Arial", - color: "#ffffff", - background: DEFAULT_TEXT_BACKGROUND, - textAlign: "center", - fontWeight: "normal", - fontStyle: "normal", - textDecoration: "none", - letterSpacing: DEFAULT_LETTER_SPACING, - lineHeight: DEFAULT_LINE_HEIGHT, - duration: TIMELINE_CONSTANTS.DEFAULT_ELEMENT_DURATION, - startTime: 0, - trimStart: 0, - trimEnd: 0, - transform: DEFAULT_TRANSFORM, - opacity: DEFAULT_OPACITY, -}; diff --git a/apps/web/src/constants/timeline-constants.ts b/apps/web/src/constants/timeline-constants.ts new file mode 100644 index 00000000..827fab85 --- /dev/null +++ b/apps/web/src/constants/timeline-constants.ts @@ -0,0 +1,85 @@ +import type { ElementType, TrackType } from "@/lib/timeline"; + +export const TRACK_CONFIG: Record< + TrackType, + { + height: number; + defaultName: string; + } +> = { + video: { + height: 65, + defaultName: "Video track", + }, + text: { + height: 25, + defaultName: "Text track", + }, + audio: { + height: 50, + defaultName: "Audio track", + }, + graphic: { + height: 25, + defaultName: "Graphic track", + }, + effect: { + height: 25, + defaultName: "Effect track", + }, +} as const; + +export const ELEMENT_TYPE_CONFIG: Record< + TrackType, + { + background: string; + waveformColor?: string; + } +> = { + video: { background: "transparent" }, + text: { background: "bg-[#5DBAA0]" }, + audio: { + background: "bg-[#8F5DBA]", + waveformColor: "rgba(255, 255, 255, 0.5)", + }, + graphic: { background: "bg-[#BA5D7A]" }, + effect: { background: "bg-[#5d93ba]" }, +} as const; + +export const ELEMENT_TRACK_MAP: Record<ElementType, TrackType> = { + audio: "audio", + text: "text", + sticker: "graphic", + graphic: "graphic", + effect: "effect", + video: "video", + image: "video", +}; + +export const TRACK_GAP = 6; +export const TRACK_LABELS_WIDTH_PX = 112; + +export const TIMELINE_RULER_HEIGHT = 22; +export const TIMELINE_BOOKMARK_ROW_HEIGHT = 16; + +export const DEFAULT_BOOKMARK_COLOR = "#009dff"; +export const DRAG_THRESHOLD_PX = 5; +export const TIMELINE_SCROLLBAR_SIZE_PX = 12; +export const TIMELINE_LAYERS = { + trackContent: 10, + dragLine: 20, + playhead: 30, + snapIndicator: 40, +} as const; + +export const TIMELINE_CONSTANTS = { + PIXELS_PER_SECOND: 50, + DEFAULT_ELEMENT_DURATION: 5, + PADDING_TOP_PX: 2, + HORIZONTAL_WHEEL_STEP_PX: 40, + ZOOM_MIN: 0.1, + ZOOM_MAX: 100, + ZOOM_BUTTON_FACTOR: 1.7, + ZOOM_ANCHOR_PLAYHEAD_THRESHOLD: 0.15, + TRACK_SELECTED_BG: "bg-accent/50", +} as const; diff --git a/apps/web/src/constants/timeline-constants.tsx b/apps/web/src/constants/timeline-constants.tsx deleted file mode 100644 index 5bc938bb..00000000 --- a/apps/web/src/constants/timeline-constants.tsx +++ /dev/null @@ -1,102 +0,0 @@ -import type { TTimelineViewState } from "@/types/project"; -import type { BlendMode } from "@/types/rendering"; -import type { TrackType, Transform } from "@/types/timeline"; -import { - Happy01Icon, - MagicWand05Icon, - MusicNote03Icon, - TextIcon, -} from "@hugeicons/core-free-icons"; -import { HugeiconsIcon } from "@hugeicons/react"; -import { OcVideoIcon } from "@opencut/ui/icons"; - -export const DEFAULT_TRANSFORM: Transform = { - scale: 1, - position: { x: 0, y: 0 }, - rotate: 0, -}; - -export const DEFAULT_OPACITY = 1; -export const DEFAULT_BLEND_MODE: BlendMode = "normal"; -export const DEFAULT_BOOKMARK_COLOR = "#009dff"; - -export const TRACK_CONFIG: Record< - TrackType, - { - background: string; - height: number; - defaultName: string; - icon: React.ReactNode; - } -> = { - video: { - background: "transparent", - height: 60, - defaultName: "Video track", - icon: <OcVideoIcon className="text-muted-foreground size-4 shrink-0" />, - }, - text: { - background: "bg-[#5DBAA0]", - height: 25, - defaultName: "Text track", - icon: ( - <HugeiconsIcon - icon={TextIcon} - className="text-muted-foreground size-4 shrink-0" - /> - ), - }, - audio: { - background: "bg-[#8F5DBA]", - height: 50, - defaultName: "Audio track", - icon: ( - <HugeiconsIcon - icon={MusicNote03Icon} - className="text-muted-foreground size-4 shrink-0" - /> - ), - }, - sticker: { - background: "bg-[#BA5D7A]", - height: 50, - defaultName: "Sticker track", - icon: ( - <HugeiconsIcon - icon={Happy01Icon} - className="text-muted-foreground size-4 shrink-0" - /> - ), - }, - effect: { - background: "bg-[#5d93ba]", - height: 25, - defaultName: "Effect track", - icon: ( - <HugeiconsIcon - icon={MagicWand05Icon} - className="text-muted-foreground size-4 shrink-0" - /> - ), - }, -} as const; - -export const TRACK_GAP = 4; - -export const DRAG_THRESHOLD_PX = 5; - -export const TIMELINE_CONSTANTS = { - PIXELS_PER_SECOND: 50, - DEFAULT_ELEMENT_DURATION: 5, - PADDING_TOP_PX: 0, - ZOOM_MIN: 0.1, - ZOOM_MAX: 100, - ZOOM_BUTTON_FACTOR: 1.7, - ZOOM_ANCHOR_PLAYHEAD_THRESHOLD: 0.15, -} as const; - -export const DEFAULT_TIMELINE_VIEW_STATE: TTimelineViewState = { - zoomLevel: 1, - scrollLeft: 0, - playheadTime: 0, -}; diff --git a/apps/web/src/constants/transcription-constants.ts b/apps/web/src/constants/transcription-constants.ts index ed19147c..50b52585 100644 --- a/apps/web/src/constants/transcription-constants.ts +++ b/apps/web/src/constants/transcription-constants.ts @@ -2,8 +2,8 @@ import { LANGUAGES } from "@/constants/language-constants"; import type { TranscriptionModel, TranscriptionModelId, -} from "@/types/transcription"; -import type { LanguageCode } from "@/types/language"; +} from "@/lib/transcription/types"; +import type { LanguageCode } from "@/constants/language-constants"; const SUPPORTED_TRANSCRIPTION_LANGS: ReadonlyArray<LanguageCode> = [ "en", diff --git a/apps/web/src/core/index.ts b/apps/web/src/core/index.ts index 42ab3b87..e7cc5496 100644 --- a/apps/web/src/core/index.ts +++ b/apps/web/src/core/index.ts @@ -9,13 +9,13 @@ import { SaveManager } from "./managers/save-manager"; import { AudioManager } from "./managers/audio-manager"; import { SelectionManager } from "./managers/selection-manager"; import { registerDefaultEffects } from "@/lib/effects"; +import { registerDefaultMasks } from "@/lib/masks"; export class EditorCore { private static instance: EditorCore | null = null; - + public readonly timeline: TimelineManager; public readonly command: CommandManager; public readonly playback: PlaybackManager; - public readonly timeline: TimelineManager; public readonly scenes: ScenesManager; public readonly project: ProjectManager; public readonly media: MediaManager; @@ -26,9 +26,10 @@ export class EditorCore { private constructor() { registerDefaultEffects(); + registerDefaultMasks(); this.command = new CommandManager(); - this.playback = new PlaybackManager(this); this.timeline = new TimelineManager(this); + this.playback = new PlaybackManager(this); this.scenes = new ScenesManager(this); this.project = new ProjectManager(this); this.media = new MediaManager(this); diff --git a/apps/web/src/core/managers/audio-manager.ts b/apps/web/src/core/managers/audio-manager.ts index 20b124b6..54fda6c2 100644 --- a/apps/web/src/core/managers/audio-manager.ts +++ b/apps/web/src/core/managers/audio-manager.ts @@ -1,7 +1,21 @@ import type { EditorCore } from "@/core"; +import { + clampRetimeRate, + shouldMaintainPitch, +} from "@/constants/retime-constants"; import type { AudioClipSource } from "@/lib/media/audio"; import { createAudioContext, collectAudioClips } from "@/lib/media/audio"; import { + buildAudioGainAutomation, + hasAnimatedVolume, +} from "@/lib/timeline/audio-state"; +import { createAudioMasteringChain } from "@/lib/media/audio-mastering"; +import { + getClipTimeAtSourceTime, + getSourceTimeAtClipTime, + renderRetimedBuffer, +} from "@/lib/retime"; +import { ALL_FORMATS, AudioBufferSink, BlobSource, @@ -26,6 +40,8 @@ export class AudioManager { AsyncGenerator<WrappedAudioBuffer, void, unknown> >(); private queuedSources = new Set<AudioBufferSourceNode>(); + private preparedClipBuffers = new Map<string, Promise<AudioBuffer | null>>(); + private decodedBuffers = new Map<string, Promise<AudioBuffer | null>>(); private playbackSessionId = 0; private lastIsPlaying = false; private lastVolume = 1; @@ -55,6 +71,8 @@ export class AudioManager { window.removeEventListener("playback-seek", this.handleSeek); } this.disposeSinks(); + this.preparedClipBuffers.clear(); + this.decodedBuffers.clear(); if (this.audioContext) { void this.audioContext.close(); this.audioContext = null; @@ -102,6 +120,8 @@ export class AudioManager { private handleTimelineChange = (): void => { this.disposeSinks(); + this.preparedClipBuffers.clear(); + this.decodedBuffers.clear(); if (!this.editor.playback.getIsPlaying()) return; @@ -113,9 +133,12 @@ export class AudioManager { if (typeof window === "undefined") return null; this.audioContext = createAudioContext(); - this.masterGain = this.audioContext.createGain(); + const { input } = createAudioMasteringChain({ + audioContext: this.audioContext, + destination: this.audioContext.destination, + }); + this.masterGain = input; this.masterGain.gain.value = this.lastVolume; - this.masterGain.connect(this.audioContext.destination); return this.audioContext; } @@ -179,11 +202,19 @@ export class AudioManager { if (clip.startTime > windowEnd) continue; this.activeClipIds.add(clip.id); - void this.runClipIterator({ - clip, - startTime: currentTime, - sessionId: this.playbackSessionId, - }); + if (this.shouldUsePreparedClipBuffer({ clip })) { + void this.schedulePreparedClip({ + clip, + startTime: currentTime, + sessionId: this.playbackSessionId, + }); + } else { + void this.runClipIterator({ + clip, + startTime: currentTime, + sessionId: this.playbackSessionId, + }); + } } } @@ -236,7 +267,11 @@ export class AudioManager { return; } const sourceStartTime = - clip.trimStart + (iteratorStartTime - clip.startTime); + clip.trimStart + + getSourceTimeAtClipTime({ + clipTime: iteratorStartTime - clip.startTime, + retime: clip.retime, + }); const iterator = sink.buffers(sourceStartTime); this.clipIterators.set(clip.id, iterator); @@ -246,12 +281,23 @@ export class AudioManager { if (!this.editor.playback.getIsPlaying()) return; if (sessionId !== this.playbackSessionId) return; - const timelineTime = clip.startTime + (timestamp - clip.trimStart); + const timelineTime = + clip.startTime + + getClipTimeAtSourceTime({ + sourceTime: timestamp - clip.trimStart, + retime: clip.retime, + }); if (timelineTime >= clipEnd) break; const node = audioContext.createBufferSource(); node.buffer = buffer; - node.connect(this.masterGain ?? audioContext.destination); + if (clip.retime) { + node.playbackRate.value = clampRetimeRate({ rate: clip.retime.rate }); + } + const clipGain = audioContext.createGain(); + clipGain.gain.value = clip.volume; + node.connect(clipGain); + clipGain.connect(this.masterGain ?? audioContext.destination); const startTimestamp = this.playbackStartContextTime + @@ -277,8 +323,7 @@ export class AudioManager { nextCompensationSeconds > this.playbackLatencyCompensationSeconds + 0.001 ) { - this.playbackLatencyCompensationSeconds = - nextCompensationSeconds; + this.playbackLatencyCompensationSeconds = nextCompensationSeconds; } const resyncStartTime = this.getPlaybackTime(); this.clipIterators.delete(clip.id); @@ -296,6 +341,7 @@ export class AudioManager { this.queuedSources.add(node); node.addEventListener("ended", () => { node.disconnect(); + clipGain.disconnect(); this.queuedSources.delete(node); }); @@ -311,6 +357,73 @@ export class AudioManager { // the set is cleared on stopPlayback anyway } + private async schedulePreparedClip({ + clip, + startTime, + sessionId, + }: { + clip: AudioClipSource; + startTime: number; + sessionId: number; + }): Promise<void> { + const audioContext = this.ensureAudioContext(); + if (!audioContext) return; + + const buffer = await this.getPreparedClipBuffer({ clip }); + if (!buffer || !this.editor.playback.getIsPlaying()) return; + if (sessionId !== this.playbackSessionId) return; + + const clipStart = clip.startTime; + const clipEnd = clip.startTime + clip.duration; + const playbackTimeAfterReady = this.getPlaybackTime(); + const effectiveStartTime = Math.max( + startTime, + clipStart, + playbackTimeAfterReady, + ); + if (effectiveStartTime >= clipEnd) { + return; + } + + const node = audioContext.createBufferSource(); + node.buffer = buffer; + const clipGain = audioContext.createGain(); + node.connect(clipGain); + clipGain.connect(this.masterGain ?? audioContext.destination); + + const startTimestamp = + this.playbackStartContextTime + + this.playbackLatencyCompensationSeconds + + (effectiveStartTime - this.playbackStartTime); + const clipOffset = effectiveStartTime - clipStart; + let actualStartTimestamp = startTimestamp; + let actualClipOffset = clipOffset; + + if (startTimestamp >= audioContext.currentTime) { + node.start(startTimestamp, clipOffset); + } else { + const lateOffset = audioContext.currentTime - startTimestamp; + actualStartTimestamp = audioContext.currentTime; + actualClipOffset = clipOffset + lateOffset; + node.start(actualStartTimestamp, actualClipOffset); + } + + this.scheduleClipGainAutomation({ + audioContext, + clip, + clipGain, + startTimestamp: actualStartTimestamp, + startLocalTime: actualClipOffset, + }); + + this.queuedSources.add(node); + node.addEventListener("ended", () => { + node.disconnect(); + clipGain.disconnect(); + this.queuedSources.delete(node); + }); + } + private waitUntilCaughtUp({ timelineTime, targetAhead, @@ -349,6 +462,221 @@ export class AudioManager { this.sinks.clear(); } + private shouldUsePreparedClipBuffer({ + clip, + }: { + clip: AudioClipSource; + }): boolean { + return ( + this.hasCurveRetime({ clip }) || + hasAnimatedVolume({ element: clip.timelineElement }) || + shouldMaintainPitch({ + rate: clip.retime?.rate ?? 1, + maintainPitch: clip.retime?.maintainPitch, + }) + ); + } + + private hasCurveRetime({ clip }: { clip: AudioClipSource }): boolean { + const mode = (clip.retime as { mode?: unknown } | undefined)?.mode; + return mode === "curve"; + } + + private scheduleClipGainAutomation({ + audioContext, + clip, + clipGain, + startTimestamp, + startLocalTime, + }: { + audioContext: AudioContext; + clip: AudioClipSource; + clipGain: GainNode; + startTimestamp: number; + startLocalTime: number; + }): void { + clipGain.gain.cancelScheduledValues(startTimestamp); + clipGain.gain.setValueAtTime(clip.volume, startTimestamp); + + if (!hasAnimatedVolume({ element: clip.timelineElement })) { + return; + } + + const points = buildAudioGainAutomation({ + element: clip.timelineElement, + fromLocalTime: startLocalTime, + toLocalTime: clip.duration, + }); + + if (points.length === 0) { + return; + } + + clipGain.gain.setValueAtTime(points[0].gain, startTimestamp); + for (let index = 1; index < points.length; index++) { + const point = points[index]; + const pointTimestamp = + startTimestamp + (point.localTime - startLocalTime); + if (pointTimestamp < audioContext.currentTime) { + continue; + } + + clipGain.gain.linearRampToValueAtTime(point.gain, pointTimestamp); + } + } + + private buildPreparedClipCacheKey({ + clip, + }: { + clip: AudioClipSource; + }): string { + return JSON.stringify({ + id: clip.id, + sourceKey: clip.sourceKey, + startTime: clip.startTime, + duration: clip.duration, + trimStart: clip.trimStart, + trimEnd: clip.trimEnd, + retime: clip.retime ?? null, + }); + } + + private async getPreparedClipBuffer({ + clip, + }: { + clip: AudioClipSource; + }): Promise<AudioBuffer | null> { + const cacheKey = this.buildPreparedClipCacheKey({ clip }); + const existing = this.preparedClipBuffers.get(cacheKey); + if (existing) { + return existing; + } + + const promise = (async () => { + const audioContext = this.ensureAudioContext(); + if (!audioContext) { + return null; + } + + const decodedBuffer = await this.getDecodedBuffer({ clip }); + if (!decodedBuffer) { + return null; + } + + return await renderRetimedBuffer({ + audioContext, + sourceBuffer: decodedBuffer, + trimStart: clip.trimStart, + clipDuration: clip.duration, + retime: clip.retime, + maintainPitch: clip.retime?.maintainPitch === true, + }); + })(); + + this.preparedClipBuffers.set(cacheKey, promise); + return promise; + } + + private async getDecodedBuffer({ + clip, + }: { + clip: AudioClipSource; + }): Promise<AudioBuffer | null> { + const existing = this.decodedBuffers.get(clip.sourceKey); + if (existing) { + return existing; + } + + const promise = this.decodeClipBuffer({ clip }); + this.decodedBuffers.set(clip.sourceKey, promise); + return promise; + } + + private async decodeClipBuffer({ + clip, + }: { + clip: AudioClipSource; + }): Promise<AudioBuffer | null> { + const audioContext = this.ensureAudioContext(); + if (!audioContext) { + return null; + } + + const input = new Input({ + source: new BlobSource(clip.file), + formats: ALL_FORMATS, + }); + + try { + const audioTrack = await input.getPrimaryAudioTrack(); + if (!audioTrack) { + return null; + } + + const sink = new AudioBufferSink(audioTrack); + const chunks: AudioBuffer[] = []; + let totalSamples = 0; + + for await (const { buffer } of sink.buffers(0)) { + chunks.push(buffer); + totalSamples += buffer.length; + } + + if (chunks.length === 0) { + return null; + } + + const targetSampleRate = audioContext.sampleRate; + const nativeSampleRate = chunks[0].sampleRate; + const numChannels = Math.min(2, chunks[0].numberOfChannels); + const nativeChannels = Array.from( + { length: numChannels }, + () => new Float32Array(totalSamples), + ); + + let offset = 0; + for (const chunk of chunks) { + for (let channel = 0; channel < numChannels; channel++) { + nativeChannels[channel].set( + chunk.getChannelData(Math.min(channel, chunk.numberOfChannels - 1)), + offset, + ); + } + offset += chunk.length; + } + + const outputSamples = Math.ceil( + totalSamples * (targetSampleRate / nativeSampleRate), + ); + const offlineContext = new OfflineAudioContext( + numChannels, + outputSamples, + targetSampleRate, + ); + const nativeBuffer = audioContext.createBuffer( + numChannels, + totalSamples, + nativeSampleRate, + ); + + for (let channel = 0; channel < numChannels; channel++) { + nativeBuffer.copyToChannel(nativeChannels[channel], channel); + } + + const sourceNode = offlineContext.createBufferSource(); + sourceNode.buffer = nativeBuffer; + sourceNode.connect(offlineContext.destination); + sourceNode.start(0); + + return await offlineContext.startRendering(); + } catch (error) { + console.warn("Failed to decode clip audio:", error); + return null; + } finally { + input.dispose(); + } + } + private async getAudioSink({ clip, }: { diff --git a/apps/web/src/core/managers/media-manager.ts b/apps/web/src/core/managers/media-manager.ts index fd8726d9..cdab13ef 100644 --- a/apps/web/src/core/managers/media-manager.ts +++ b/apps/web/src/core/managers/media-manager.ts @@ -1,9 +1,10 @@ import type { EditorCore } from "@/core"; -import type { MediaAsset } from "@/types/assets"; +import { toast } from "sonner"; +import type { MediaAsset } from "@/lib/media/types"; import { storageService } from "@/services/storage/service"; import { generateUUID } from "@/utils/id"; import { videoCache } from "@/services/video-cache/service"; -import { hasMediaId } from "@/lib/timeline/element-utils"; +import { BatchCommand, RemoveMediaAssetCommand } from "@/lib/commands"; export class MediaManager { private assets: MediaAsset[] = []; @@ -18,7 +19,7 @@ export class MediaManager { }: { projectId: string; asset: Omit<MediaAsset, "id">; - }): Promise<void> { + }): Promise<MediaAsset | null> { const newAsset: MediaAsset = { ...asset, id: generateUUID(), @@ -29,54 +30,46 @@ export class MediaManager { try { await storageService.saveMediaAsset({ projectId, mediaAsset: newAsset }); + return newAsset; } catch (error) { console.error("Failed to save media asset:", error); this.assets = this.assets.filter((asset) => asset.id !== newAsset.id); this.notify(); + + if (storageService.isQuotaExceededError({ error })) { + toast.error("Not enough browser storage", { + description: error instanceof Error ? error.message : undefined, + }); + } + + return null; } } - async removeMediaAsset({ + removeMediaAsset({ projectId, id }: { projectId: string; id: string }): void { + this.removeMediaAssets({ projectId, ids: [id] }); + } + + removeMediaAssets({ projectId, - id, + ids, }: { projectId: string; - id: string; - }): Promise<void> { - const asset = this.assets.find((asset) => asset.id === id); - - videoCache.clearVideo({ mediaId: id }); - - if (asset?.url) { - URL.revokeObjectURL(asset.url); - if (asset.thumbnailUrl) { - URL.revokeObjectURL(asset.thumbnailUrl); - } + ids: string[]; + }): void { + const uniqueIds = [...new Set(ids)]; + if (uniqueIds.length === 0) { + return; } - this.assets = this.assets.filter((asset) => asset.id !== id); - this.notify(); + const command = + uniqueIds.length === 1 + ? new RemoveMediaAssetCommand(projectId, uniqueIds[0]) + : new BatchCommand( + uniqueIds.map((id) => new RemoveMediaAssetCommand(projectId, id)), + ); - const tracks = this.editor.timeline.getTracks(); - const elementsToRemove: Array<{ trackId: string; elementId: string }> = []; - - for (const track of tracks) { - for (const element of track.elements) { - if (hasMediaId(element) && element.mediaId === id) { - elementsToRemove.push({ trackId: track.id, elementId: element.id }); - } - } - } - - if (elementsToRemove.length > 0) { - this.editor.timeline.deleteElements({ elements: elementsToRemove }); - } - - try { - await storageService.deleteMediaAsset({ projectId, id }); - } catch (error) { - console.error("Failed to delete media asset:", error); - } + this.editor.command.execute({ command }); } async loadProjectMedia({ projectId }: { projectId: string }): Promise<void> { @@ -157,6 +150,8 @@ export class MediaManager { } private notify(): void { - this.listeners.forEach((fn) => fn()); + this.listeners.forEach((fn) => { + fn(); + }); } } diff --git a/apps/web/src/core/managers/playback-manager.ts b/apps/web/src/core/managers/playback-manager.ts index dacd76c0..5993a503 100644 --- a/apps/web/src/core/managers/playback-manager.ts +++ b/apps/web/src/core/managers/playback-manager.ts @@ -11,7 +11,15 @@ export class PlaybackManager { private playbackTimer: number | null = null; private lastUpdate = 0; - constructor(private editor: EditorCore) {} + constructor(private editor: EditorCore) { + this.editor.timeline.subscribe(() => { + const duration = this.editor.timeline.getTotalDuration(); + if (this.currentTime > duration && duration > 0) { + this.currentTime = duration; + this.notify(); + } + }); + } play(): void { const duration = this.editor.timeline.getTotalDuration(); @@ -117,7 +125,9 @@ export class PlaybackManager { } private notify(): void { - this.listeners.forEach((fn) => fn()); + this.listeners.forEach((fn) => { + fn(); + }); } private startTimer(): void { @@ -158,7 +168,6 @@ export class PlaybackManager { ); } else { this.currentTime = newTime; - this.notify(); window.dispatchEvent( new CustomEvent("playback-update", { diff --git a/apps/web/src/core/managers/project-manager.ts b/apps/web/src/core/managers/project-manager.ts index 05889a94..f84a25e3 100644 --- a/apps/web/src/core/managers/project-manager.ts +++ b/apps/web/src/core/managers/project-manager.ts @@ -6,8 +6,8 @@ import type { TProjectSortOption, TProjectSettings, TTimelineViewState, -} from "@/types/project"; -import type { ExportOptions, ExportResult, ExportState } from "@/types/export"; +} from "@/lib/project/types"; +import type { ExportOptions, ExportResult, ExportState } from "@/lib/export"; import { storageService } from "@/services/storage/service"; import { toast } from "sonner"; import { generateUUID } from "@/utils/id"; @@ -26,9 +26,9 @@ import { runStorageMigrations, type MigrationProgress, } from "@/services/storage/migrations"; -import { DEFAULT_TIMELINE_VIEW_STATE } from "@/constants/timeline-constants"; import { loadFonts } from "@/lib/fonts/google-fonts"; -import { collectFontFamilies } from "@/lib/timeline/element-utils"; +import { DEFAULTS } from "@/lib/timeline/defaults"; +import { getElementFontFamilies } from "@/lib/timeline/element-utils"; export interface MigrationState { isMigrating: boolean; @@ -94,6 +94,8 @@ export class ProjectManager { settings: { fps: DEFAULT_FPS, canvasSize: DEFAULT_CANVAS_SIZE, + canvasSizeMode: "preset", + lastCustomCanvasSize: null, originalCanvasSize: null, background: { type: "color", @@ -155,7 +157,9 @@ export class ProjectManager { await this.editor.media.loadProjectMedia({ projectId: id }); const allTracks = (project.scenes ?? []).flatMap((scene) => scene.tracks); - await loadFonts({ families: collectFontFamilies({ tracks: allTracks }) }); + await loadFonts({ + families: getElementFontFamilies({ tracks: allTracks }), + }); if (!project.metadata.thumbnail) { const didUpdateThumbnail = await this.updateThumbnailFromTimeline(); @@ -239,14 +243,21 @@ export class ProjectManager { this.notify(); } - await this.ensureStorageMigrations(); try { - const metadata = await storageService.loadAllProjectsMetadata(); - this.savedProjects = metadata; - this.notify(); + await this.ensureStorageMigrations(); + try { + const metadata = await storageService.loadAllProjectsMetadata(); + this.savedProjects = metadata; + this.notify(); + } catch (error) { + console.error("Failed to load projects:", error); + } finally { + this.isLoading = false; + this.isInitialized = true; + this.notify(); + } } catch (error) { - console.error("Failed to load projects:", error); - } finally { + console.error("Failed to run migrations:", error); this.isLoading = false; this.isInitialized = true; this.notify(); @@ -495,10 +506,12 @@ export class ProjectManager { } async prepareExit(): Promise<void> { + console.log("prepareExit", this.active); if (!this.active) return; try { const didUpdateThumbnail = await this.updateThumbnailFromTimeline(); + console.log("didUpdateThumbnail", didUpdateThumbnail); if (didUpdateThumbnail) { await this.editor.save.flush(); } @@ -571,7 +584,7 @@ export class ProjectManager { } getTimelineViewState(): TTimelineViewState { - return this.active?.timelineViewState ?? DEFAULT_TIMELINE_VIEW_STATE; + return this.active?.timelineViewState ?? DEFAULTS.timeline.viewState; } setTimelineViewState({ viewState }: { viewState: TTimelineViewState }): void { @@ -581,6 +594,7 @@ export class ProjectManager { timelineViewState: viewState ?? undefined, }; this.editor.save.markDirty(); + this.notify(); } getSavedProjects(): TProjectMetadata[] { @@ -615,15 +629,12 @@ export class ProjectManager { const tracks = this.editor.timeline.getTracks(); const mediaAssets = this.editor.media.getAssets(); const duration = this.editor.timeline.getTotalDuration(); - - if (duration === 0) return false; - const { canvasSize, background } = this.active.settings; const scene = buildScene({ tracks, mediaAssets, - duration, + duration: duration || 1, canvasSize, background, }); @@ -656,7 +667,7 @@ export class ProjectManager { ); if (index !== -1) { - this.savedProjects[index] = project.metadata; + this.savedProjects = this.savedProjects.with(index, project.metadata); } else { this.savedProjects = [project.metadata, ...this.savedProjects]; } @@ -665,6 +676,8 @@ export class ProjectManager { } private notify(): void { - this.listeners.forEach((fn) => fn()); + this.listeners.forEach((fn) => { + fn(); + }); } } diff --git a/apps/web/src/core/managers/renderer-manager.ts b/apps/web/src/core/managers/renderer-manager.ts index 601a007e..75184c53 100644 --- a/apps/web/src/core/managers/renderer-manager.ts +++ b/apps/web/src/core/managers/renderer-manager.ts @@ -1,6 +1,6 @@ import type { EditorCore } from "@/core"; import type { RootNode } from "@/services/renderer/nodes/root-node"; -import type { ExportOptions, ExportResult } from "@/types/export"; +import type { ExportOptions, ExportResult } from "@/lib/export"; import { CanvasRenderer } from "@/services/renderer/canvas-renderer"; import { SceneExporter } from "@/services/renderer/scene-exporter"; import { buildScene } from "@/services/renderer/scene-builder"; @@ -8,6 +8,10 @@ import { createTimelineAudioBuffer } from "@/lib/media/audio"; import { formatTimeCode, getLastFrameTime } from "@/lib/time"; import { downloadBlob } from "@/utils/browser"; +type SnapshotResult = + | { success: true; blob: Blob; filename: string } + | { success: false; error: string }; + export class RendererManager { private renderTree: RootNode | null = null; private listeners = new Set<() => void>(); @@ -24,6 +28,45 @@ export class RendererManager { } async saveSnapshot(): Promise<{ success: boolean; error?: string }> { + const snapshot = await this.createSnapshot(); + if (!snapshot.success) { + return snapshot; + } + + downloadBlob({ blob: snapshot.blob, filename: snapshot.filename }); + return { success: true }; + } + + async copySnapshot(): Promise<{ success: boolean; error?: string }> { + if (typeof ClipboardItem === "undefined" || !navigator.clipboard?.write) { + return { + success: false, + error: "Clipboard image copy is not supported in this browser", + }; + } + + const snapshot = await this.createSnapshot(); + if (!snapshot.success) { + return snapshot; + } + + try { + await navigator.clipboard.write([ + new ClipboardItem({ + [snapshot.blob.type || "image/png"]: snapshot.blob, + }), + ]); + return { success: true }; + } catch (error) { + console.error("Copy snapshot failed:", error); + return { + success: false, + error: error instanceof Error ? error.message : "Unknown error", + }; + } + } + + private async createSnapshot(): Promise<SnapshotResult> { try { const renderTree = this.getRenderTree(); const activeProject = this.editor.project.getActive(); @@ -70,15 +113,14 @@ export class RendererManager { timeInSeconds: renderTime, fps, }).replace(/:/g, "-"); - const safeName = activeProject.metadata.name - .replace(/[<>:"/\\|?*]/g, "-") - .trim() || "snapshot"; + const safeName = + activeProject.metadata.name.replace(/[<>:"/\\|?*]/g, "-").trim() || + "snapshot"; const filename = `${safeName}-${timecode}.png`; - downloadBlob({ blob, filename }); - return { success: true }; + return { success: true, blob, filename }; } catch (error) { - console.error("Save snapshot failed:", error); + console.error("Snapshot capture failed:", error); return { success: false, error: error instanceof Error ? error.message : "Unknown error", @@ -193,6 +235,8 @@ export class RendererManager { } private notify(): void { - this.listeners.forEach((fn) => fn()); + this.listeners.forEach((fn) => { + fn(); + }); } } diff --git a/apps/web/src/core/managers/scenes-manager.ts b/apps/web/src/core/managers/scenes-manager.ts index c844f448..b42a9b7c 100644 --- a/apps/web/src/core/managers/scenes-manager.ts +++ b/apps/web/src/core/managers/scenes-manager.ts @@ -1,5 +1,5 @@ import type { EditorCore } from "@/core"; -import type { TimelineTrack, TScene } from "@/types/timeline"; +import type { TimelineTrack, TScene } from "@/lib/timeline"; import { storageService } from "@/services/storage/service"; import { getMainScene, @@ -302,7 +302,9 @@ export class ScenesManager { } private notify(): void { - this.listeners.forEach((fn) => fn()); + this.listeners.forEach((fn) => { + fn(); + }); } updateSceneTracks({ tracks }: { tracks: TimelineTrack[] }): void { diff --git a/apps/web/src/core/managers/selection-manager.ts b/apps/web/src/core/managers/selection-manager.ts index e4295c11..2062cfb0 100644 --- a/apps/web/src/core/managers/selection-manager.ts +++ b/apps/web/src/core/managers/selection-manager.ts @@ -1,7 +1,6 @@ import type { EditorCore } from "@/core"; -import type { SelectedKeyframeRef } from "@/types/animation"; - -type ElementRef = { trackId: string; elementId: string }; +import type { SelectedKeyframeRef } from "@/lib/animation/types"; +import type { ElementRef } from "@/lib/timeline/types"; export class SelectionManager { private selectedElements: ElementRef[] = []; @@ -67,6 +66,8 @@ export class SelectionManager { } private notify(): void { - this.listeners.forEach((fn) => fn()); + this.listeners.forEach((fn) => { + fn(); + }); } } diff --git a/apps/web/src/core/managers/timeline-manager.ts b/apps/web/src/core/managers/timeline-manager.ts index 173f0744..455222d6 100644 --- a/apps/web/src/core/managers/timeline-manager.ts +++ b/apps/web/src/core/managers/timeline-manager.ts @@ -1,16 +1,17 @@ import type { EditorCore } from "@/core"; -import type { EffectParamValues } from "@/types/effects"; +import type { ParamValues } from "@/lib/params"; import type { TrackType, TimelineTrack, TimelineElement, ClipboardItem, -} from "@/types/timeline"; + RetimeConfig, +} from "@/lib/timeline"; import type { + AnimationPath, AnimationInterpolation, - AnimationPropertyPath, AnimationValue, -} from "@/types/animation"; +} from "@/lib/animation/types"; import { calculateTotalDuration } from "@/lib/timeline"; import { AddTrackCommand, @@ -30,6 +31,7 @@ import { UpdateElementStartTimeCommand, MoveElementCommand, TracksSnapshotCommand, + UpdateElementRetimeCommand, UpsertKeyframeCommand, RemoveKeyframeCommand, RetimeKeyframeCommand, @@ -38,15 +40,18 @@ import { UpdateClipEffectParamsCommand, ToggleClipEffectCommand, ReorderClipEffectsCommand, + RemoveMaskCommand, + ToggleMaskInvertedCommand, UpsertEffectParamKeyframeCommand, RemoveEffectParamKeyframeCommand, } from "@/lib/commands/timeline"; -import { BatchCommand, PreviewTracker } from "@/lib/commands"; +import { BatchCommand } from "@/lib/commands"; import type { InsertElementParams } from "@/lib/commands/timeline/element/insert-element"; export class TimelineManager { private listeners = new Set<() => void>(); - private previewTracker = new PreviewTracker<TimelineTrack[]>(); + private previewOverlay = new Map<string, Partial<TimelineElement>>(); + private previewTracks: TimelineTrack[] | null = null; constructor(private editor: EditorCore) {} @@ -121,6 +126,29 @@ export class TimelineManager { } } + updateElementRetime({ + trackId, + elementId, + retime, + pushHistory = true, + }: { + trackId: string; + elementId: string; + retime?: RetimeConfig; + pushHistory?: boolean; + }): void { + const command = new UpdateElementRetimeCommand({ + trackId, + elementId, + retime, + }); + if (pushHistory) { + this.editor.command.execute({ command }); + } else { + command.execute(); + } + } + updateElementStartTime({ elements, startTime, @@ -308,6 +336,23 @@ export class TimelineManager { this.editor.command.execute({ command }); } + removeMask({ + trackId, + elementId, + maskId, + }: { + trackId: string; + elementId: string; + maskId: string; + }): void { + const command = new RemoveMaskCommand({ + trackId, + elementId, + maskId, + }); + this.editor.command.execute({ command }); + } + updateClipEffectParams({ trackId, elementId, @@ -318,7 +363,7 @@ export class TimelineManager { trackId: string; elementId: string; effectId: string; - params: Partial<EffectParamValues>; + params: Partial<ParamValues>; pushHistory?: boolean; }): void { const command = new UpdateClipEffectParamsCommand({ @@ -351,6 +396,23 @@ export class TimelineManager { this.editor.command.execute({ command }); } + toggleMaskInverted({ + trackId, + elementId, + maskId, + }: { + trackId: string; + elementId: string; + maskId: string; + }): void { + const command = new ToggleMaskInvertedCommand({ + trackId, + elementId, + maskId, + }); + this.editor.command.execute({ command }); + } + reorderClipEffects({ trackId, elementId, @@ -377,7 +439,7 @@ export class TimelineManager { keyframes: Array<{ trackId: string; elementId: string; - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; time: number; value: AnimationValue; interpolation?: AnimationInterpolation; @@ -419,7 +481,7 @@ export class TimelineManager { keyframes: Array<{ trackId: string; elementId: string; - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; keyframeId: string; }>; }): void { @@ -450,7 +512,7 @@ export class TimelineManager { }: { trackId: string; elementId: string; - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; keyframeId: string; time: number; }): void { @@ -520,7 +582,7 @@ export class TimelineManager { } isPreviewActive(): boolean { - return this.previewTracker.isActive(); + return this.previewOverlay.size > 0; } previewElements({ @@ -532,37 +594,51 @@ export class TimelineManager { updates: Partial<TimelineElement>; }>; }): void { - const tracks = this.getTracks(); - this.previewTracker.begin({ state: tracks }); - - let updatedTracks = tracks; - for (const { trackId, elementId, updates: elementUpdates } of updates) { - updatedTracks = updatedTracks.map((track) => { - if (track.id !== trackId) return track; - const newElements = track.elements.map((element) => - element.id === elementId - ? { ...element, ...elementUpdates } - : element, - ); - return { ...track, elements: newElements } as TimelineTrack; - }); + for (const { elementId, updates: elementUpdates } of updates) { + const existingOverlay = this.previewOverlay.get(elementId); + const mergedOverlay = { + ...existingOverlay, + ...elementUpdates, + } as Partial<TimelineElement>; + this.previewOverlay.set(elementId, mergedOverlay); } - this.updateTracks(updatedTracks); + const committedTracks = this.editor.scenes.getActiveScene()?.tracks ?? []; + this.previewTracks = this.applyPreviewOverlay(committedTracks); + this.notify(); } commitPreview(): void { - const snapshot = this.previewTracker.end(); - if (snapshot === null) return; - const currentTracks = this.getTracks(); - const command = new TracksSnapshotCommand(snapshot, currentTracks); + if (this.previewOverlay.size === 0) return; + const committedTracks = this.editor.scenes.getActiveScene()?.tracks ?? []; + const afterTracks = + this.previewTracks ?? this.applyPreviewOverlay(committedTracks); + const command = new TracksSnapshotCommand(committedTracks, afterTracks); this.editor.command.push({ command }); + this.previewOverlay.clear(); + this.previewTracks = null; + this.updateTracks(afterTracks); } discardPreview(): void { - const snapshot = this.previewTracker.end(); - if (snapshot !== null) { - this.updateTracks(snapshot); - } + if (this.previewOverlay.size === 0) return; + this.previewOverlay.clear(); + this.previewTracks = null; + this.notify(); + } + + private applyPreviewOverlay(tracks: TimelineTrack[]): TimelineTrack[] { + if (this.previewOverlay.size === 0) return tracks; + return tracks.map((track) => { + const hasOverlay = track.elements.some((el) => + this.previewOverlay.has(el.id), + ); + if (!hasOverlay) return track; + const newElements = track.elements.map((el) => { + const overlay = this.previewOverlay.get(el.id); + return overlay ? ({ ...el, ...overlay } as TimelineElement) : el; + }); + return { ...track, elements: newElements } as TimelineTrack; + }); } duplicateElements({ @@ -597,16 +673,25 @@ export class TimelineManager { return this.editor.scenes.getActiveScene()?.tracks ?? []; } + getRenderTracks(): TimelineTrack[] { + if (this.previewTracks !== null) return this.previewTracks; + return this.getTracks(); + } + subscribe(listener: () => void): () => void { this.listeners.add(listener); return () => this.listeners.delete(listener); } private notify(): void { - this.listeners.forEach((fn) => fn()); + this.listeners.forEach((fn) => { + fn(); + }); } updateTracks(newTracks: TimelineTrack[]): void { + this.previewOverlay.clear(); + this.previewTracks = null; this.editor.scenes.updateSceneTracks({ tracks: newTracks }); this.notify(); } diff --git a/apps/web/src/data/colors/syntax-ui.tsx b/apps/web/src/data/colors/syntax-ui.tsx index e650b7d2..67e6ab99 100644 --- a/apps/web/src/data/colors/syntax-ui.tsx +++ b/apps/web/src/data/colors/syntax-ui.tsx @@ -4,7 +4,6 @@ export const syntaxUIGradients = [ // Cyan to Blue gradients "linear-gradient(to right, #22d3ee, #0ea5e9, #0284c7)", "linear-gradient(to right, #bfdbfe, #a5f3fc)", - "linear-gradient(to right, #22d3ee, #0ea5e9, #0284c7)", // Purple gradients "linear-gradient(to right, #e9d5ff, #d8b4fe, #c084fc)", @@ -12,7 +11,6 @@ export const syntaxUIGradients = [ // Blue gradients "linear-gradient(to right, #93c5fd, #60a5fa, #3b82f6)", - "linear-gradient(to right, #93c5fd, #60a5fa, #3b82f6)", // Green gradients "linear-gradient(to right, #6ee7b7, #34d399, #10b981)", diff --git a/apps/web/src/hooks/actions/use-editor-actions.ts b/apps/web/src/hooks/actions/use-editor-actions.ts index e4f378d6..bfac931b 100644 --- a/apps/web/src/hooks/actions/use-editor-actions.ts +++ b/apps/web/src/hooks/actions/use-editor-actions.ts @@ -1,15 +1,22 @@ "use client"; +import { useEffect, useRef } from "react"; import { useTimelineStore } from "@/stores/timeline-store"; import { useActionHandler } from "@/hooks/actions/use-action-handler"; import { useEditor } from "../use-editor"; import { useElementSelection } from "../timeline/element/use-element-selection"; import { useKeyframeSelection } from "../timeline/element/use-keyframe-selection"; import { getElementsAtTime } from "@/lib/timeline"; +import { cancelInteraction } from "@/lib/cancel-interaction"; +import { invokeAction } from "@/lib/actions"; +import { + activateScope, + clearActiveScope, + type ScopeEntry, +} from "@/lib/selection/scope"; export function useEditorActions() { const editor = useEditor(); - const activeProject = editor.project.getActive(); const { selectedElements, setElementSelection } = useElementSelection(); const { selectedKeyframes, clearKeyframeSelection } = useKeyframeSelection(); const clipboard = useTimelineStore((s) => s.clipboard); @@ -17,6 +24,39 @@ export function useEditorActions() { const toggleSnapping = useTimelineStore((s) => s.toggleSnapping); const rippleEditingEnabled = useTimelineStore((s) => s.rippleEditingEnabled); const toggleRippleEditing = useTimelineStore((s) => s.toggleRippleEditing); + const hasTimelineSelectionRef = useRef(false); + const clearTimelineSelectionRef = useRef(() => {}); + const timelineScopeRef = useRef<ScopeEntry | null>(null); + const hasTimelineSelection = + selectedElements.length > 0 || selectedKeyframes.length > 0; + + hasTimelineSelectionRef.current = hasTimelineSelection; + clearTimelineSelectionRef.current = () => { + setElementSelection({ elements: [] }); + clearKeyframeSelection(); + }; + + if (!timelineScopeRef.current) { + timelineScopeRef.current = { + hasSelection: () => hasTimelineSelectionRef.current, + clear: () => { + clearTimelineSelectionRef.current(); + }, + }; + } + + useEffect(() => { + if (!hasTimelineSelection) { + return; + } + + const timelineScope = timelineScopeRef.current; + if (!timelineScope) { + return; + } + + return activateScope({ entry: timelineScope }); + }, [hasTimelineSelection]); useActionHandler( "toggle-play", @@ -65,7 +105,7 @@ export function useEditorActions() { useActionHandler( "frame-step-forward", () => { - const fps = activeProject.settings.fps; + const fps = editor.project.getActive().settings.fps; editor.playback.seek({ time: Math.min( editor.timeline.getTotalDuration(), @@ -79,7 +119,7 @@ export function useEditorActions() { useActionHandler( "frame-step-backward", () => { - const fps = activeProject.settings.fps; + const fps = editor.project.getActive().settings.fps; editor.playback.seek({ time: Math.max(0, editor.playback.getCurrentTime() - 1 / fps), }); @@ -241,13 +281,21 @@ export function useEditorActions() { ); useActionHandler( + "cancel-interaction", + () => { + if (!cancelInteraction()) { + invokeAction("deselect-all"); + } + }, + undefined, + ); + + useActionHandler( "deselect-all", () => { - setElementSelection({ elements: [] }); - clearKeyframeSelection(); - const activeElement = document.activeElement; - if (activeElement instanceof HTMLButtonElement) { - activeElement.blur(); + if (!clearActiveScope()) { + setElementSelection({ elements: [] }); + clearKeyframeSelection(); } }, undefined, @@ -353,4 +401,29 @@ export function useEditorActions() { }, undefined, ); + + // todo: potnetially unify these two actions: + useActionHandler( + "remove-media-asset", + (args) => { + if (!args) return; + editor.media.removeMediaAsset({ + projectId: args.projectId, + id: args.assetId, + }); + }, + undefined, + ); + + useActionHandler( + "remove-media-assets", + (args) => { + if (!args) return; + editor.media.removeMediaAssets({ + projectId: args.projectId, + ids: args.assetIds, + }); + }, + undefined, + ); } diff --git a/apps/web/src/hooks/timeline/element/use-element-interaction.ts b/apps/web/src/hooks/timeline/element/use-element-interaction.ts index ea01c718..fae8c527 100644 --- a/apps/web/src/hooks/timeline/element/use-element-interaction.ts +++ b/apps/web/src/hooks/timeline/element/use-element-interaction.ts @@ -18,16 +18,14 @@ import { snapTimeToFrame } from "@/lib/time"; import { computeDropTarget } from "@/lib/timeline/drop-utils"; import { getMouseTimeFromClientX } from "@/lib/timeline/drag-utils"; import { generateUUID } from "@/utils/id"; -import { - snapElementEdge, - type SnapPoint, -} from "@/lib/timeline/snap-utils"; +import { snapElementEdge, type SnapPoint } from "@/lib/timeline/snap-utils"; +import { registerCanceller } from "@/lib/cancel-interaction"; import type { DropTarget, ElementDragState, TimelineElement, TimelineTrack, -} from "@/types/timeline"; +} from "@/lib/timeline"; interface UseElementInteractionProps { zoomLevel: number; @@ -213,6 +211,20 @@ export function useElementInteraction({ setDragDropTarget(null); }, []); + const cancelCurrentDrag = useCallback(() => { + pendingDragRef.current = null; + mouseDownLocationRef.current = null; + setIsPendingDrag(false); + endDrag(); + onSnapPointChange?.(null); + }, [endDrag, onSnapPointChange]); + + useEffect(() => { + if (!dragState.isDragging && !isPendingDrag) return; + + return registerCanceller({ fn: cancelCurrentDrag }); + }, [dragState.isDragging, isPendingDrag, cancelCurrentDrag]); + const getDragSnapResult = useCallback( ({ frameSnappedTime, @@ -445,33 +457,36 @@ export function useElementInteraction({ return; } - if (dropTarget.isNewTrack) { - const newTrackId = generateUUID(); + if (dropTarget.isNewTrack) { + const newTrackId = generateUUID(); - editor.timeline.moveElement({ - sourceTrackId: dragState.trackId, - targetTrackId: newTrackId, - elementId: dragState.elementId, - newStartTime: snappedTime, - createTrack: { type: sourceTrack.type, index: dropTarget.trackIndex }, - rippleEnabled: rippleEditingEnabled, - }); - selectElement({ trackId: newTrackId, elementId: dragState.elementId }); - } else { - const targetTrack = tracks[dropTarget.trackIndex]; - if (targetTrack) { editor.timeline.moveElement({ sourceTrackId: dragState.trackId, - targetTrackId: targetTrack.id, + targetTrackId: newTrackId, elementId: dragState.elementId, newStartTime: snappedTime, + createTrack: { type: sourceTrack.type, index: dropTarget.trackIndex }, rippleEnabled: rippleEditingEnabled, }); - if (targetTrack.id !== dragState.trackId) { - selectElement({ trackId: targetTrack.id, elementId: dragState.elementId }); + selectElement({ trackId: newTrackId, elementId: dragState.elementId }); + } else { + const targetTrack = tracks[dropTarget.trackIndex]; + if (targetTrack) { + editor.timeline.moveElement({ + sourceTrackId: dragState.trackId, + targetTrackId: targetTrack.id, + elementId: dragState.elementId, + newStartTime: snappedTime, + rippleEnabled: rippleEditingEnabled, + }); + if (targetTrack.id !== dragState.trackId) { + selectElement({ + trackId: targetTrack.id, + elementId: dragState.elementId, + }); + } } } - } endDrag(); onSnapPointChange?.(null); @@ -520,10 +535,10 @@ export function useElementInteraction({ element: TimelineElement; track: TimelineTrack; }) => { - const isRightClick = event.button === MOUSE_BUTTON_RIGHT; + const isRightClick = event.button === MOUSE_BUTTON_RIGHT; - // right-click: don't stop propagation so ContextMenu can open - if (isRightClick) { + // right-click: don't stop propagation so ContextMenu can open + if (isRightClick) { const alreadySelected = isElementSelected({ trackId: track.id, elementId: element.id, @@ -538,12 +553,12 @@ export function useElementInteraction({ return; } - event.stopPropagation(); - mouseDownLocationRef.current = { x: event.clientX, y: event.clientY }; + event.stopPropagation(); + mouseDownLocationRef.current = { x: event.clientX, y: event.clientY }; - const isMultiSelect = event.metaKey || event.ctrlKey || event.shiftKey; + const isMultiSelect = event.metaKey || event.ctrlKey || event.shiftKey; - if (isMultiSelect) { + if (isMultiSelect) { handleSelectionClick({ trackId: track.id, elementId: element.id, @@ -551,7 +566,7 @@ export function useElementInteraction({ }); } - const clickOffsetTime = getClickOffsetTime({ + const clickOffsetTime = getClickOffsetTime({ clientX: event.clientX, elementRect: event.currentTarget.getBoundingClientRect(), zoomLevel, @@ -579,9 +594,9 @@ export function useElementInteraction({ element: TimelineElement; track: TimelineTrack; }) => { - event.stopPropagation(); + event.stopPropagation(); - if (mouseDownLocationRef.current) { + if (mouseDownLocationRef.current) { const deltaX = Math.abs(event.clientX - mouseDownLocationRef.current.x); const deltaY = Math.abs(event.clientY - mouseDownLocationRef.current.y); if (deltaX > DRAG_THRESHOLD_PX || deltaY > DRAG_THRESHOLD_PX) { @@ -593,7 +608,7 @@ export function useElementInteraction({ // modifier keys already handled in mousedown if (event.metaKey || event.ctrlKey || event.shiftKey) return; - const alreadySelected = isElementSelected({ + const alreadySelected = isElementSelected({ trackId: track.id, elementId: element.id, }); diff --git a/apps/web/src/hooks/timeline/element/use-element-resize.ts b/apps/web/src/hooks/timeline/element/use-element-resize.ts index 3f49e798..b41f82f9 100644 --- a/apps/web/src/hooks/timeline/element/use-element-resize.ts +++ b/apps/web/src/hooks/timeline/element/use-element-resize.ts @@ -1,7 +1,7 @@ import { useState, useEffect, useRef, useCallback } from "react"; import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; import { snapTimeToFrame } from "@/lib/time"; -import type { TimelineElement, TimelineTrack } from "@/types/timeline"; +import type { TimelineElement, TimelineTrack } from "@/lib/timeline"; import { useEditor } from "@/hooks/use-editor"; import { useShiftKey } from "@/hooks/use-shift-key"; import { @@ -9,7 +9,13 @@ import { snapToNearestPoint, type SnapPoint, } from "@/lib/timeline/snap-utils"; +import { isRetimableElement } from "@/lib/timeline"; +import { + getSourceSpanAtClipTime, + getTimelineDurationForSourceSpan, +} from "@/lib/retime"; import { useTimelineStore } from "@/stores/timeline-store"; +import { registerCanceller } from "@/lib/cancel-interaction"; export interface ResizeState { elementId: string; @@ -37,7 +43,6 @@ export function useTimelineElementResize({ onResizeStateChange, }: UseTimelineElementResizeProps) { const editor = useEditor(); - const activeProject = editor.project.getActive(); const isShiftHeldRef = useShiftKey(); const snappingEnabled = useTimelineStore((state) => state.snappingEnabled); const rippleEditingEnabled = useTimelineStore( @@ -91,6 +96,94 @@ export function useTimelineElementResize({ return element.sourceDuration == null; }, [element.sourceDuration]); + const getSourceDeltaForClipDelta = useCallback( + (clipDelta: number) => { + if (!isRetimableElement(element)) { + return clipDelta; + } + + return clipDelta >= 0 + ? getSourceSpanAtClipTime({ + clipTime: clipDelta, + retime: element.retime, + }) + : -getSourceSpanAtClipTime({ + clipTime: Math.abs(clipDelta), + retime: element.retime, + }); + }, + [element], + ); + + const getVisibleSourceSpanForDuration = useCallback( + (duration: number) => { + if (!isRetimableElement(element)) { + return duration; + } + + return getSourceSpanAtClipTime({ + clipTime: duration, + retime: element.retime, + }); + }, + [element], + ); + + const getDurationForVisibleSourceSpan = useCallback( + (sourceSpan: number) => { + if (!isRetimableElement(element)) { + return sourceSpan; + } + + return getTimelineDurationForSourceSpan({ + sourceSpan, + retime: element.retime, + }); + }, + [element], + ); + + const getSourceDuration = useCallback( + ({ + trimStart, + duration, + trimEnd, + }: { + trimStart: number; + duration: number; + trimEnd: number; + }) => { + if (typeof element.sourceDuration === "number") { + return element.sourceDuration; + } + + return trimStart + getVisibleSourceSpanForDuration(duration) + trimEnd; + }, + [element.sourceDuration, getVisibleSourceSpanForDuration], + ); + + const cancelResize = useCallback(() => { + if (!resizing) return; + + setCurrentTrimStart(resizing.initialTrimStart); + setCurrentTrimEnd(resizing.initialTrimEnd); + setCurrentStartTime(resizing.initialStartTime); + setCurrentDuration(resizing.initialDuration); + currentTrimStartRef.current = resizing.initialTrimStart; + currentTrimEndRef.current = resizing.initialTrimEnd; + currentStartTimeRef.current = resizing.initialStartTime; + currentDurationRef.current = resizing.initialDuration; + setResizing(null); + onResizeStateChange?.({ isResizing: false }); + onSnapPointChange?.(null); + }, [resizing, onResizeStateChange, onSnapPointChange]); + + useEffect(() => { + if (!resizing) return; + + return registerCanceller({ fn: cancelResize }); + }, [resizing, cancelResize]); + const updateTrimFromMouseMove = useCallback( ({ clientX }: { clientX: number }) => { if (!resizing) return; @@ -100,7 +193,7 @@ export function useTimelineElementResize({ deltaX / (TIMELINE_CONSTANTS.PIXELS_PER_SECOND * zoomLevel); let resizeSnapPoint: SnapPoint | null = null; - const projectFps = activeProject.settings.fps; + const projectFps = editor.project.getActive().settings.fps; const minDurationSeconds = 1 / projectFps; const shouldSnap = snappingEnabled && !isShiftHeldRef.current; if (shouldSnap) { @@ -139,14 +232,20 @@ export function useTimelineElementResize({ } onSnapPointChange?.(resizeSnapPoint); - const otherElements = track.elements.filter(({ id }) => id !== element.id); - const initialEndTime = resizing.initialStartTime + resizing.initialDuration; + const otherElements = track.elements.filter( + ({ id }) => id !== element.id, + ); + const initialEndTime = + resizing.initialStartTime + resizing.initialDuration; const rightNeighborBound = resizing.side === "right" ? otherElements .filter(({ startTime }) => startTime >= initialEndTime) - .reduce((min, { startTime }) => Math.min(min, startTime), Infinity) + .reduce( + (min, { startTime }) => Math.min(min, startTime), + Infinity, + ) : Infinity; const leftNeighborBound = @@ -164,20 +263,26 @@ export function useTimelineElementResize({ : -Infinity; if (resizing.side === "left") { - const sourceDuration = - resizing.initialTrimStart + - resizing.initialDuration + - resizing.initialTrimEnd; + const sourceDuration = getSourceDuration({ + trimStart: resizing.initialTrimStart, + duration: resizing.initialDuration, + trimEnd: resizing.initialTrimEnd, + }); const minTrimStartForNeighbor = Number.isFinite(leftNeighborBound) ? Math.max( 0, resizing.initialTrimStart + - (leftNeighborBound - resizing.initialStartTime), + getSourceDeltaForClipDelta( + leftNeighborBound - resizing.initialStartTime, + ), ) : 0; const maxAllowed = - sourceDuration - resizing.initialTrimEnd - minDurationSeconds; - const calculated = resizing.initialTrimStart + deltaTime; + sourceDuration - + resizing.initialTrimEnd - + getVisibleSourceSpanForDuration(minDurationSeconds); + const calculated = + resizing.initialTrimStart + getSourceDeltaForClipDelta(deltaTime); if (calculated >= 0 && calculated <= maxAllowed) { const newTrimStart = snapTimeToFrame({ @@ -187,13 +292,17 @@ export function useTimelineElementResize({ ), fps: projectFps, }); - const trimDelta = newTrimStart - resizing.initialTrimStart; - const newStartTime = snapTimeToFrame({ - time: resizing.initialStartTime + trimDelta, + const visibleSourceSpan = Math.max( + 0, + sourceDuration - newTrimStart - resizing.initialTrimEnd, + ); + const newDuration = snapTimeToFrame({ + time: getDurationForVisibleSourceSpan(visibleSourceSpan), fps: projectFps, }); - const newDuration = snapTimeToFrame({ - time: resizing.initialDuration - trimDelta, + const trimDelta = resizing.initialDuration - newDuration; + const newStartTime = snapTimeToFrame({ + time: resizing.initialStartTime + trimDelta, fps: projectFps, }); @@ -233,31 +342,50 @@ export function useTimelineElementResize({ currentStartTimeRef.current = newStartTime; currentDurationRef.current = newDuration; } else { - const trimDelta = + const leftBound = Number.isFinite(leftNeighborBound) + ? leftNeighborBound + : 0; + const trimDeltaFromTrimStart = minTrimStartForNeighbor - resizing.initialTrimStart; - const newStartTime = snapTimeToFrame({ - time: resizing.initialStartTime + trimDelta, + const trimDeltaFromStartTime = getSourceDeltaForClipDelta( + leftBound - resizing.initialStartTime, + ); + const trimDelta = Math.max( + trimDeltaFromTrimStart, + trimDeltaFromStartTime, + ); + const newTrimStart = resizing.initialTrimStart + trimDelta; + const visibleSourceSpan = Math.max( + 0, + sourceDuration - newTrimStart - resizing.initialTrimEnd, + ); + const newDuration = snapTimeToFrame({ + time: getDurationForVisibleSourceSpan(visibleSourceSpan), fps: projectFps, }); - const newDuration = snapTimeToFrame({ - time: resizing.initialDuration - trimDelta, + const newStartTime = snapTimeToFrame({ + time: + resizing.initialStartTime + + (resizing.initialDuration - newDuration), fps: projectFps, }); - setCurrentTrimStart(minTrimStartForNeighbor); + setCurrentTrimStart(newTrimStart); setCurrentStartTime(newStartTime); setCurrentDuration(newDuration); - currentTrimStartRef.current = minTrimStartForNeighbor; + currentTrimStartRef.current = newTrimStart; currentStartTimeRef.current = newStartTime; currentDurationRef.current = newDuration; } } } else { - const sourceDuration = - resizing.initialTrimStart + - resizing.initialDuration + - resizing.initialTrimEnd; - const newTrimEnd = resizing.initialTrimEnd - deltaTime; + const sourceDuration = getSourceDuration({ + trimStart: resizing.initialTrimStart, + duration: resizing.initialDuration, + trimEnd: resizing.initialTrimEnd, + }); + const newTrimEnd = + resizing.initialTrimEnd - getSourceDeltaForClipDelta(deltaTime); const maxAllowedDuration = Number.isFinite(rightNeighborBound) ? rightNeighborBound - resizing.initialStartTime : Infinity; @@ -268,7 +396,10 @@ export function useTimelineElementResize({ const baseDuration = resizing.initialDuration + resizing.initialTrimEnd; const newDuration = snapTimeToFrame({ - time: Math.min(baseDuration + extensionNeeded, maxAllowedDuration), + time: Math.min( + baseDuration + extensionNeeded, + maxAllowedDuration, + ), fps: projectFps, }); @@ -277,12 +408,11 @@ export function useTimelineElementResize({ currentDurationRef.current = newDuration; currentTrimEndRef.current = 0; } else { - const extensionToLimit = resizing.initialTrimEnd; + const unclampedDuration = getDurationForVisibleSourceSpan( + Math.max(0, sourceDuration - resizing.initialTrimStart), + ); const newDuration = snapTimeToFrame({ - time: Math.min( - resizing.initialDuration + extensionToLimit, - maxAllowedDuration, - ), + time: Math.min(unclampedDuration, maxAllowedDuration), fps: projectFps, }); @@ -295,13 +425,15 @@ export function useTimelineElementResize({ const minTrimEndForNeighbor = Number.isFinite(maxAllowedDuration) ? Math.max( 0, - resizing.initialDuration + - resizing.initialTrimEnd - - maxAllowedDuration, + sourceDuration - + resizing.initialTrimStart - + getVisibleSourceSpanForDuration(maxAllowedDuration), ) : 0; const maxTrimEnd = - sourceDuration - resizing.initialTrimStart - minDurationSeconds; + sourceDuration - + resizing.initialTrimStart - + getVisibleSourceSpanForDuration(minDurationSeconds); const clampedTrimEnd = Math.min( maxTrimEnd, Math.max(minTrimEndForNeighbor, newTrimEnd), @@ -310,9 +442,12 @@ export function useTimelineElementResize({ time: clampedTrimEnd, fps: projectFps, }); - const trimDelta = finalTrimEnd - resizing.initialTrimEnd; + const visibleSourceSpan = Math.max( + 0, + sourceDuration - resizing.initialTrimStart - finalTrimEnd, + ); const newDuration = snapTimeToFrame({ - time: resizing.initialDuration - trimDelta, + time: getDurationForVisibleSourceSpan(visibleSourceSpan), fps: projectFps, }); @@ -326,13 +461,16 @@ export function useTimelineElementResize({ [ resizing, zoomLevel, - activeProject.settings.fps, snappingEnabled, editor, element.id, track.elements, onSnapPointChange, canExtendElementDuration, + getDurationForVisibleSourceSpan, + getSourceDeltaForClipDelta, + getSourceDuration, + getVisibleSourceSpanForDuration, isShiftHeldRef, ], ); @@ -349,7 +487,12 @@ export function useTimelineElementResize({ const startTimeChanged = finalStartTime !== resizing.initialStartTime; const durationChanged = finalDuration !== resizing.initialDuration; - if (trimStartChanged || trimEndChanged || startTimeChanged || durationChanged) { + if ( + trimStartChanged || + trimEndChanged || + startTimeChanged || + durationChanged + ) { editor.timeline.updateElementTrim({ elementId: element.id, trimStart: finalTrimStart, diff --git a/apps/web/src/hooks/timeline/element/use-element-selection.ts b/apps/web/src/hooks/timeline/element/use-element-selection.ts index c1e5b53f..dcfb5720 100644 --- a/apps/web/src/hooks/timeline/element/use-element-selection.ts +++ b/apps/web/src/hooks/timeline/element/use-element-selection.ts @@ -1,14 +1,10 @@ -import { useCallback, useSyncExternalStore } from "react"; +import { useCallback } from "react"; import { useEditor } from "@/hooks/use-editor"; - -type ElementRef = { trackId: string; elementId: string }; +import type { ElementRef } from "@/lib/timeline/types"; export function useElementSelection() { const editor = useEditor(); - const selectedElements = useSyncExternalStore( - (listener) => editor.selection.subscribe(listener), - () => editor.selection.getSelectedElements(), - ); + const selectedElements = useEditor((e) => e.selection.getSelectedElements()); const isElementSelected = useCallback( ({ trackId, elementId }: ElementRef) => @@ -82,6 +78,30 @@ export function useElementSelection() { [editor], ); + + /** + * Merges elements into the current selection, deduplicating by identity. + * Used for additive box-select where the pre-drag selection is preserved. + */ + const mergeElementsIntoSelection = useCallback( + ({ elements }: { elements: ElementRef[] }) => { + const merged = [ + ...selectedElements.filter( + (selectedElement) => + !elements.some( + (element) => + element.trackId === selectedElement.trackId && + element.elementId === selectedElement.elementId, + ), + ), + ...elements, + ]; + editor.selection.setSelectedElements({ elements: merged }); + }, + [selectedElements, editor], + ); + + /** * Handles click interaction on an element. * - Regular click: select only this element @@ -107,6 +127,7 @@ export function useElementSelection() { isElementSelected, selectElement, setElementSelection, + mergeElementsIntoSelection, addElementToSelection, removeElementFromSelection, toggleElementSelection, diff --git a/apps/web/src/hooks/timeline/element/use-keyframe-drag.ts b/apps/web/src/hooks/timeline/element/use-keyframe-drag.ts index b18db6eb..4f961a0a 100644 --- a/apps/web/src/hooks/timeline/element/use-keyframe-drag.ts +++ b/apps/web/src/hooks/timeline/element/use-keyframe-drag.ts @@ -15,9 +15,10 @@ import { } from "@/constants/timeline-constants"; import { RetimeKeyframeCommand } from "@/lib/commands/timeline/element/keyframes/retime-keyframe"; import { BatchCommand } from "@/lib/commands"; -import type { SelectedKeyframeRef } from "@/types/animation"; -import type { TimelineElement } from "@/types/timeline"; +import type { SelectedKeyframeRef } from "@/lib/animation/types"; +import type { TimelineElement } from "@/lib/timeline"; import type { Command } from "@/lib/commands/base-command"; +import { registerCanceller } from "@/lib/cancel-interaction"; export interface KeyframeDragState { isDragging: boolean; draggingKeyframeIds: Set<string>; @@ -69,6 +70,13 @@ export function useKeyframeDrag({ setDragState(initialDragState); }, []); + const cancelDrag = useCallback(() => { + pendingDragRef.current = null; + mouseDownXRef.current = null; + setIsPendingDrag(false); + endDrag(); + }, [endDrag]); + const commitDrag = useCallback( ({ keyframeRefs, @@ -110,6 +118,12 @@ export function useKeyframeDrag({ useEffect(() => { if (!dragState.isDragging && !isPendingDrag) return; + return registerCanceller({ fn: cancelDrag }); + }, [dragState.isDragging, isPendingDrag, cancelDrag]); + + useEffect(() => { + if (!dragState.isDragging && !isPendingDrag) return; + const handleMouseMove = ({ clientX }: MouseEvent) => { if (isPendingDrag && pendingDragRef.current) { const deltaX = Math.abs(clientX - pendingDragRef.current.startMouseX); diff --git a/apps/web/src/hooks/timeline/element/use-keyframe-selection.ts b/apps/web/src/hooks/timeline/element/use-keyframe-selection.ts index 0ab05fe3..8634cb48 100644 --- a/apps/web/src/hooks/timeline/element/use-keyframe-selection.ts +++ b/apps/web/src/hooks/timeline/element/use-keyframe-selection.ts @@ -1,6 +1,6 @@ import { useCallback, useSyncExternalStore } from "react"; import { useEditor } from "@/hooks/use-editor"; -import type { SelectedKeyframeRef } from "@/types/animation"; +import type { SelectedKeyframeRef } from "@/lib/animation/types"; function getSelectedKeyframeId({ keyframe, diff --git a/apps/web/src/hooks/timeline/use-bookmark-drag.ts b/apps/web/src/hooks/timeline/use-bookmark-drag.ts index 0e7fabd5..512db821 100644 --- a/apps/web/src/hooks/timeline/use-bookmark-drag.ts +++ b/apps/web/src/hooks/timeline/use-bookmark-drag.ts @@ -15,7 +15,7 @@ import { snapToNearestPoint, type SnapPoint, } from "@/lib/timeline/snap-utils"; -import type { Bookmark } from "@/types/timeline"; +import type { Bookmark } from "@/lib/timeline"; export interface BookmarkDragState { isDragging: boolean; diff --git a/apps/web/src/hooks/timeline/use-initial-scroll-bottom.ts b/apps/web/src/hooks/timeline/use-initial-scroll-bottom.ts new file mode 100644 index 00000000..50833f14 --- /dev/null +++ b/apps/web/src/hooks/timeline/use-initial-scroll-bottom.ts @@ -0,0 +1,42 @@ +import { type RefObject, useLayoutEffect, useRef } from "react"; + +interface UseInitialScrollBottomProps { + tracksScrollRef: RefObject<HTMLDivElement | null>; + trackLabelsScrollRef: RefObject<HTMLDivElement | null>; + onAfterScroll?: () => void; + /** Defers the scroll until there is at least one track to measure against. */ + isReady: boolean; +} + +/** + * Scrolls the timeline tracks viewport to the bottom once on mount. + * useLayoutEffect runs synchronously after React commits the DOM but before + * the browser paints, so the initial scroll position is never visible. + */ +export function useInitialScrollBottom({ + tracksScrollRef, + trackLabelsScrollRef, + onAfterScroll, + isReady, +}: UseInitialScrollBottomProps): void { + const hasScrolledRef = useRef(false); + + useLayoutEffect(() => { + if (!isReady || hasScrolledRef.current) return; + + const viewport = tracksScrollRef.current; + if (!viewport) return; + + const maxScrollTop = viewport.scrollHeight - viewport.clientHeight; + if (maxScrollTop <= 0) return; + + viewport.scrollTop = maxScrollTop; + + if (trackLabelsScrollRef.current) { + trackLabelsScrollRef.current.scrollTop = maxScrollTop; + } + + onAfterScroll?.(); + hasScrolledRef.current = true; + }, [isReady, tracksScrollRef, trackLabelsScrollRef, onAfterScroll]); +} diff --git a/apps/web/src/hooks/timeline/use-selection-box.ts b/apps/web/src/hooks/timeline/use-selection-box.ts deleted file mode 100644 index c4f8d6ce..00000000 --- a/apps/web/src/hooks/timeline/use-selection-box.ts +++ /dev/null @@ -1,255 +0,0 @@ -import { useCallback, useEffect, useRef, useState } from "react"; -import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; -import { getCumulativeHeightBefore, getTrackHeight } from "@/lib/timeline"; -import { useEditor } from "../use-editor"; - -interface UseSelectionBoxProps { - containerRef: React.RefObject<HTMLElement | null>; - headerRef: React.RefObject<HTMLElement | null>; - onSelectionComplete: ( - elements: { trackId: string; elementId: string }[], - ) => void; - isEnabled?: boolean; - tracksScrollRef: React.RefObject<HTMLDivElement | null>; - zoomLevel: number; -} - -interface SelectionBoxState { - startPos: { x: number; y: number }; - currentPos: { x: number; y: number }; - isActive: boolean; -} - -interface SelectionRectangle { - left: number; - top: number; - right: number; - bottom: number; -} - -function getNormalizedRectangle({ - startPos, - endPos, -}: { - startPos: { x: number; y: number }; - endPos: { x: number; y: number }; -}): SelectionRectangle { - return { - left: Math.min(startPos.x, endPos.x), - top: Math.min(startPos.y, endPos.y), - right: Math.max(startPos.x, endPos.x), - bottom: Math.max(startPos.y, endPos.y), - }; -} - -function getSelectionRectangleInContent({ - container, - scrollContainer, - startPos, - endPos, -}: { - container: HTMLElement; - scrollContainer: HTMLDivElement | null; - startPos: { x: number; y: number }; - endPos: { x: number; y: number }; -}): SelectionRectangle { - const containerRect = container.getBoundingClientRect(); - const scrollLeft = scrollContainer?.scrollLeft ?? 0; - const scrollTop = scrollContainer?.scrollTop ?? 0; - - const adjustedStart = { - x: startPos.x - containerRect.left + scrollLeft, - y: startPos.y - containerRect.top + scrollTop, - }; - const adjustedEnd = { - x: endPos.x - containerRect.left + scrollLeft, - y: endPos.y - containerRect.top + scrollTop, - }; - - return getNormalizedRectangle({ - startPos: adjustedStart, - endPos: adjustedEnd, - }); -} - -function isRectangleIntersecting({ - elementRectangle, - selectionRectangle, -}: { - elementRectangle: SelectionRectangle; - selectionRectangle: SelectionRectangle; -}): boolean { - return !( - elementRectangle.right < selectionRectangle.left || - elementRectangle.left > selectionRectangle.right || - elementRectangle.bottom < selectionRectangle.top || - elementRectangle.top > selectionRectangle.bottom - ); -} - -export function useSelectionBox({ - containerRef, - headerRef, - onSelectionComplete, - isEnabled = true, - tracksScrollRef, - zoomLevel, -}: UseSelectionBoxProps) { - const editor = useEditor(); - const tracks = editor.timeline.getTracks(); - const [selectionBox, setSelectionBox] = useState<SelectionBoxState | null>( - null, - ); - const justFinishedSelectingRef = useRef(false); - - const handleMouseDown = useCallback( - ({ clientX, clientY }: React.MouseEvent) => { - if (!isEnabled) return; - - setSelectionBox({ - startPos: { x: clientX, y: clientY }, - currentPos: { x: clientX, y: clientY }, - isActive: false, - }); - }, - [isEnabled], - ); - - const selectElementsInBox = useCallback( - ({ - startPos, - endPos, - }: { - startPos: { x: number; y: number }; - endPos: { x: number; y: number }; - }) => { - if (!containerRef.current) return; - - const container = containerRef.current; - const selectionRectangle = getSelectionRectangleInContent({ - container, - scrollContainer: tracksScrollRef.current, - startPos, - endPos, - }); - const pixelsPerSecond = TIMELINE_CONSTANTS.PIXELS_PER_SECOND * zoomLevel; - const timelineHeaderHeight = - headerRef.current?.getBoundingClientRect().height ?? 0; - const selectedElements: { trackId: string; elementId: string }[] = []; - - for (const [trackIndex, track] of tracks.entries()) { - const trackTop = getCumulativeHeightBefore({ - tracks, - trackIndex, - }); - const trackHeight = getTrackHeight({ type: track.type }); - const elementTop = - timelineHeaderHeight + TIMELINE_CONSTANTS.PADDING_TOP_PX + trackTop; - const elementBottom = elementTop + trackHeight; - - for (const element of track.elements) { - const elementLeft = element.startTime * pixelsPerSecond; - const elementRight = elementLeft + element.duration * pixelsPerSecond; - - const elementRectangle = { - left: elementLeft, - top: elementTop, - right: elementRight, - bottom: elementBottom, - }; - - const intersects = isRectangleIntersecting({ - elementRectangle, - selectionRectangle, - }); - - if (intersects) { - selectedElements.push({ - trackId: track.id, - elementId: element.id, - }); - } - } - } - onSelectionComplete(selectedElements); - }, - [ - containerRef, - headerRef, - onSelectionComplete, - tracks, - tracksScrollRef, - zoomLevel, - ], - ); - - useEffect(() => { - if (!selectionBox) return; - - const handleMouseMove = ({ clientX, clientY }: MouseEvent) => { - const deltaX = Math.abs(clientX - selectionBox.startPos.x); - const deltaY = Math.abs(clientY - selectionBox.startPos.y); - const shouldActivate = deltaX > 5 || deltaY > 5; - - const newSelectionBox = { - ...selectionBox, - currentPos: { x: clientX, y: clientY }, - isActive: shouldActivate || selectionBox.isActive, - }; - - setSelectionBox(newSelectionBox); - - if (newSelectionBox.isActive) { - selectElementsInBox({ - startPos: newSelectionBox.startPos, - endPos: newSelectionBox.currentPos, - }); - } - }; - - const handleMouseUp = () => { - if (selectionBox?.isActive) { - justFinishedSelectingRef.current = true; - requestAnimationFrame(() => { - justFinishedSelectingRef.current = false; - }); - } - setSelectionBox(null); - }; - - window.addEventListener("mousemove", handleMouseMove); - window.addEventListener("mouseup", handleMouseUp); - - return () => { - window.removeEventListener("mousemove", handleMouseMove); - window.removeEventListener("mouseup", handleMouseUp); - }; - }, [selectionBox, selectElementsInBox]); - - useEffect(() => { - if (!selectionBox) return; - - const previousBodyUserSelect = document.body.style.userSelect; - const container = containerRef.current; - const previousContainerUserSelect = container?.style.userSelect ?? ""; - - document.body.style.userSelect = "none"; - if (container) container.style.userSelect = "none"; - - return () => { - document.body.style.userSelect = previousBodyUserSelect; - if (container) container.style.userSelect = previousContainerUserSelect; - }; - }, [selectionBox, containerRef]); - - const shouldIgnoreClick = useCallback(() => { - return justFinishedSelectingRef.current; - }, []); - - return { - selectionBox, - handleMouseDown, - isSelecting: selectionBox?.isActive || false, - shouldIgnoreClick, - }; -} diff --git a/apps/web/src/hooks/timeline/use-snap-indicator-position.ts b/apps/web/src/hooks/timeline/use-snap-indicator-position.ts index f3e63894..1a8f3c5d 100644 --- a/apps/web/src/hooks/timeline/use-snap-indicator-position.ts +++ b/apps/web/src/hooks/timeline/use-snap-indicator-position.ts @@ -1,13 +1,10 @@ import { useEffect, useState } from "react"; import { timelineTimeToSnappedPixels } from "@/lib/timeline"; -import type { TimelineTrack } from "@/types/timeline"; - +import { TRACK_LABELS_WIDTH_PX } from "@/constants/timeline-constants"; interface UseSnapIndicatorPositionParams { snapPoint: { time: number } | null; zoomLevel: number; - tracks: TimelineTrack[]; timelineRef: React.RefObject<HTMLDivElement | null>; - trackLabelsRef?: React.RefObject<HTMLDivElement | null>; tracksScrollRef: React.RefObject<HTMLDivElement | null>; } @@ -20,9 +17,7 @@ interface SnapIndicatorPosition { export function useSnapIndicatorPosition({ snapPoint, zoomLevel, - tracks, timelineRef, - trackLabelsRef, tracksScrollRef, }: UseSnapIndicatorPositionParams): SnapIndicatorPosition { const [scrollLeft, setScrollLeft] = useState(0); @@ -45,16 +40,11 @@ export function useSnapIndicatorPosition({ const timelineContainerHeight = timelineRef.current?.offsetHeight || 400; const totalHeight = timelineContainerHeight - 8; // 8px padding from edges - const trackLabelsWidth = - tracks.length > 0 && trackLabelsRef?.current - ? trackLabelsRef.current.offsetWidth - : 0; - const timelinePosition = timelineTimeToSnappedPixels({ time: snapPoint?.time ?? 0, zoomLevel, }); - const leftPosition = trackLabelsWidth + timelinePosition - scrollLeft; + const leftPosition = TRACK_LABELS_WIDTH_PX + timelinePosition - scrollLeft; return { leftPosition, diff --git a/apps/web/src/hooks/timeline/use-timeline-drag-drop.ts b/apps/web/src/hooks/timeline/use-timeline-drag-drop.ts index 8a30785e..e8f6e49d 100644 --- a/apps/web/src/hooks/timeline/use-timeline-drag-drop.ts +++ b/apps/web/src/hooks/timeline/use-timeline-drag-drop.ts @@ -2,26 +2,28 @@ import { useState, useCallback, type RefObject } from "react"; import { useEditor } from "@/hooks/use-editor"; import { processMediaAssets } from "@/lib/media/processing"; import { toast } from "sonner"; +import { showMediaUploadToast } from "@/lib/media/upload-toast"; import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; import { snapTimeToFrame } from "@/lib/time"; import { buildTextElement, + buildGraphicElement, buildStickerElement, buildElementFromMedia, buildEffectElement, } from "@/lib/timeline/element-utils"; -import type { Command } from "@/lib/commands/base-command"; -import { AddMediaAssetCommand } from "@/lib/commands/media"; import { AddTrackCommand, InsertElementCommand } from "@/lib/commands/timeline"; import { BatchCommand } from "@/lib/commands"; import { computeDropTarget } from "@/lib/timeline/drop-utils"; import { getDragData, hasDragData } from "@/lib/drag-data"; -import type { TrackType, DropTarget, ElementType } from "@/types/timeline"; +import { isMainTrack } from "@/lib/timeline/track-utils"; +import type { TrackType, DropTarget, ElementType } from "@/lib/timeline"; import type { MediaDragData, + GraphicDragData, StickerDragData, EffectDragData, -} from "@/types/drag"; +} from "@/lib/timeline/drag"; interface UseTimelineDragDropProps { containerRef: RefObject<HTMLDivElement | null>; @@ -41,17 +43,12 @@ export function useTimelineDragDrop({ const [dropTarget, setDropTarget] = useState<DropTarget | null>(null); const [dragElementType, setElementType] = useState<ElementType | null>(null); - const tracks = editor.timeline.getTracks(); - const currentTime = editor.playback.getCurrentTime(); - const mediaAssets = editor.media.getAssets(); - const activeProject = editor.project.getActive(); - const getSnappedTime = useCallback( ({ time }: { time: number }) => { - const projectFps = activeProject.settings.fps; + const projectFps = editor.project.getActive().settings.fps; return snapTimeToFrame({ time, fps: projectFps }); }, - [activeProject.settings.fps], + [editor], ); const getElementType = useCallback( @@ -60,6 +57,7 @@ export function useTimelineDragDrop({ if (!dragData) return null; if (dragData.type === "text") return "text"; + if (dragData.type === "graphic") return "graphic"; if (dragData.type === "sticker") return "sticker"; if (dragData.type === "effect") return "effect"; if (dragData.type === "media") { @@ -80,18 +78,20 @@ export function useTimelineDragDrop({ }): number => { if ( elementType === "text" || + elementType === "graphic" || elementType === "sticker" || elementType === "effect" ) { return TIMELINE_CONSTANTS.DEFAULT_ELEMENT_DURATION; } if (mediaId) { + const mediaAssets = editor.media.getAssets(); const media = mediaAssets.find((m) => m.id === mediaId); return media?.duration ?? TIMELINE_CONSTANTS.DEFAULT_ELEMENT_DURATION; } return TIMELINE_CONSTANTS.DEFAULT_ELEMENT_DURATION; }, - [mediaAssets], + [editor], ); const handleDragEnter = useCallback((e: React.DragEvent) => { @@ -148,6 +148,8 @@ export function useTimelineDragDrop({ ? (dragData as MediaDragData).targetElementTypes : undefined; + const tracks = editor.timeline.getTracks(); + const currentTime = editor.playback.getCurrentTime(); const target = computeDropTarget({ elementType, mouseX, @@ -170,12 +172,11 @@ export function useTimelineDragDrop({ containerRef, headerRef, tracksScrollRef, - tracks, - currentTime, zoomLevel, getElementType, getElementDuration, getSnappedTime, + editor, ], ); @@ -228,6 +229,7 @@ export function useTimelineDragDrop({ return; } + const tracks = editor.timeline.getTracks(); const track = tracks[target.trackIndex]; if (!track) return; editor.timeline.insertElement({ @@ -235,7 +237,7 @@ export function useTimelineDragDrop({ element, }); }, - [editor.command, editor.timeline, tracks], + [editor], ); const executeStickerDrop = useCallback( @@ -253,7 +255,45 @@ export function useTimelineDragDrop({ }); if (target.isNewTrack) { - const addTrackCmd = new AddTrackCommand("sticker", target.trackIndex); + const addTrackCmd = new AddTrackCommand("graphic", target.trackIndex); + const insertCmd = new InsertElementCommand({ + element, + placement: { mode: "explicit", trackId: addTrackCmd.getTrackId() }, + }); + editor.command.execute({ + command: new BatchCommand([addTrackCmd, insertCmd]), + }); + return; + } + + const tracks = editor.timeline.getTracks(); + const track = tracks[target.trackIndex]; + if (!track) return; + editor.timeline.insertElement({ + placement: { mode: "explicit", trackId: track.id }, + element, + }); + }, + [editor], + ); + + const executeGraphicDrop = useCallback( + ({ + target, + dragData, + }: { + target: DropTarget; + dragData: GraphicDragData; + }) => { + const element = buildGraphicElement({ + definitionId: dragData.definitionId, + name: dragData.name, + startTime: target.xPosition, + params: dragData.params, + }); + + if (target.isNewTrack) { + const addTrackCmd = new AddTrackCommand("graphic", target.trackIndex); const insertCmd = new InsertElementCommand({ element, placement: { mode: "explicit", trackId: addTrackCmd.getTrackId() }, @@ -264,6 +304,7 @@ export function useTimelineDragDrop({ return; } + const tracks = editor.timeline.getTracks(); const track = tracks[target.trackIndex]; if (!track) return; editor.timeline.insertElement({ @@ -271,7 +312,7 @@ export function useTimelineDragDrop({ element, }); }, - [editor.command, editor.timeline, tracks], + [editor], ); const executeMediaDrop = useCallback( @@ -281,6 +322,7 @@ export function useTimelineDragDrop({ return; } + const mediaAssets = editor.media.getAssets(); const mediaAsset = mediaAssets.find((m) => m.id === dragData.id); if (!mediaAsset) return; @@ -309,6 +351,7 @@ export function useTimelineDragDrop({ return; } + const tracks = editor.timeline.getTracks(); const track = tracks[target.trackIndex]; if (!track) return; editor.timeline.insertElement({ @@ -316,7 +359,7 @@ export function useTimelineDragDrop({ element, }); }, - [editor.command, editor.timeline, mediaAssets, tracks], + [editor], ); const executeEffectDrop = useCallback( @@ -336,6 +379,7 @@ export function useTimelineDragDrop({ return; } + const tracks = editor.timeline.getTracks(); const effectTrack = tracks.find((t) => t.type === "effect"); let trackId: string; @@ -370,7 +414,7 @@ export function useTimelineDragDrop({ element, }); }, - [editor.command, editor.timeline, tracks], + [editor], ); const executeFileDrop = useCallback( @@ -383,70 +427,98 @@ export function useTimelineDragDrop({ mouseX: number; mouseY: number; }) => { + const activeProject = editor.project.getActiveOrNull(); if (!activeProject) return; - const processedAssets = await processMediaAssets({ files }); - const projectId = activeProject.metadata.id; + await showMediaUploadToast({ + filesCount: files.length, + promise: async () => { + const processedAssets = await processMediaAssets({ files }); + const projectId = activeProject.metadata.id; - for (const asset of processedAssets) { - const duration = - asset.duration ?? TIMELINE_CONSTANTS.DEFAULT_ELEMENT_DURATION; - const currentTracks = editor.timeline.getTracks(); - const dropTarget = computeDropTarget({ - elementType: asset.type, - mouseX, - mouseY, - tracks: currentTracks, - playheadTime: currentTime, - isExternalDrop: true, - elementDuration: duration, - pixelsPerSecond: TIMELINE_CONSTANTS.PIXELS_PER_SECOND, - zoomLevel, - }); + for (const asset of processedAssets) { + const createdAsset = await editor.media.addMediaAsset({ + projectId, + asset, + }); + if (!createdAsset) continue; - const trackType: TrackType = asset.type === "audio" ? "audio" : "video"; - const addMediaCmd = new AddMediaAssetCommand(projectId, asset); - const assetId = addMediaCmd.getAssetId(); + const duration = + createdAsset.duration ?? TIMELINE_CONSTANTS.DEFAULT_ELEMENT_DURATION; + const currentTracks = editor.timeline.getTracks(); + const currentTime = editor.playback.getCurrentTime(); + const onlyTrack = currentTracks[0]; + const reuseMainTrackId = + createdAsset.type !== "audio" && + currentTracks.length === 1 && + !!onlyTrack && + isMainTrack(onlyTrack) && + onlyTrack.elements.length === 0 + ? onlyTrack.id + : null; + const dropTarget = reuseMainTrackId + ? null + : computeDropTarget({ + elementType: createdAsset.type, + mouseX, + mouseY, + tracks: currentTracks, + playheadTime: currentTime, + isExternalDrop: true, + elementDuration: duration, + pixelsPerSecond: TIMELINE_CONSTANTS.PIXELS_PER_SECOND, + zoomLevel, + }); - const commands: Command[] = [addMediaCmd]; + const trackType: TrackType = + createdAsset.type === "audio" ? "audio" : "video"; - let trackId: string | undefined; - if (dropTarget.isNewTrack) { - const addTrackCmd = new AddTrackCommand( - trackType, - dropTarget.trackIndex, - ); - trackId = addTrackCmd.getTrackId(); - commands.unshift(addTrackCmd); - } else { - trackId = currentTracks[dropTarget.trackIndex]?.id; - } + let trackId: string | undefined; + if (reuseMainTrackId) { + trackId = reuseMainTrackId; + } else { + if (!dropTarget) continue; + if (dropTarget.isNewTrack) { + const addTrackCmd = new AddTrackCommand( + trackType, + dropTarget.trackIndex, + ); + trackId = addTrackCmd.getTrackId(); + editor.command.execute({ command: addTrackCmd }); + } else { + trackId = currentTracks[dropTarget.trackIndex]?.id; + } + } - if (!trackId) return; + if (!trackId) continue; - const element = buildElementFromMedia({ - mediaId: assetId, - mediaType: asset.type, - name: asset.name, - duration, - startTime: dropTarget.xPosition, - buffer: - asset.type === "audio" - ? new AudioBuffer({ length: 1, sampleRate: 44100 }) - : undefined, - }); + const element = buildElementFromMedia({ + mediaId: createdAsset.id, + mediaType: createdAsset.type, + name: createdAsset.name, + duration, + startTime: dropTarget?.xPosition ?? currentTime, + buffer: + createdAsset.type === "audio" + ? new AudioBuffer({ length: 1, sampleRate: 44100 }) + : undefined, + }); - const insertCmd = new InsertElementCommand({ - element, - placement: { mode: "explicit", trackId }, - }); - commands.push(insertCmd); + const insertCmd = new InsertElementCommand({ + element, + placement: { mode: "explicit", trackId }, + }); + editor.command.execute({ command: insertCmd }); + } - const batchCmd = new BatchCommand(commands); - editor.command.execute({ command: batchCmd }); - } + return { + uploadedCount: processedAssets.length, + assetNames: processedAssets.map((asset) => asset.name), + }; + }, + }); }, - [activeProject, editor.command, editor.timeline, currentTime, zoomLevel], + [editor, zoomLevel], ); const handleDrop = useCallback( @@ -471,6 +543,11 @@ export function useTimelineDragDrop({ if (dragData.type === "text") { executeTextDrop({ target: currentTarget, dragData }); + } else if (dragData.type === "graphic") { + executeGraphicDrop({ + target: currentTarget, + dragData: dragData as GraphicDragData, + }); } else if (dragData.type === "sticker") { executeStickerDrop({ target: currentTarget, dragData }); } else if (dragData.type === "effect") { @@ -502,12 +579,12 @@ export function useTimelineDragDrop({ } } catch (err) { console.error("Failed to process drop:", err); - toast.error("Failed to process drop"); } }, [ dropTarget, executeTextDrop, + executeGraphicDrop, executeStickerDrop, executeMediaDrop, executeEffectDrop, diff --git a/apps/web/src/hooks/timeline/use-timeline-playhead.ts b/apps/web/src/hooks/timeline/use-timeline-playhead.ts index 1426a003..e6204f23 100644 --- a/apps/web/src/hooks/timeline/use-timeline-playhead.ts +++ b/apps/web/src/hooks/timeline/use-timeline-playhead.ts @@ -1,12 +1,13 @@ import { getSnappedSeekTime } from "@/lib/time"; -import { useState, useEffect, useCallback, useRef } from "react"; +import { useEffect, useCallback, useRef } from "react"; import { useEdgeAutoScroll } from "@/hooks/timeline/use-edge-auto-scroll"; import { useEditor } from "../use-editor"; import { useShiftKey } from "@/hooks/use-shift-key"; +import { findSnapPoints, snapToNearestPoint } from "@/lib/timeline/snap-utils"; import { - findSnapPoints, - snapToNearestPoint, -} from "@/lib/timeline/snap-utils"; + getCenteredLineLeft, + timelineTimeToSnappedPixels, +} from "@/lib/timeline"; import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; interface UseTimelinePlayheadProps { @@ -25,27 +26,33 @@ export function useTimelinePlayhead({ playheadRef, }: UseTimelinePlayheadProps) { const editor = useEditor(); + const isScrubbing = useEditor((e) => e.playback.getIsScrubbing()); const activeProject = editor.project.getActive(); - const currentTime = editor.playback.getCurrentTime(); const duration = editor.timeline.getTotalDuration(); - const isPlaying = editor.playback.getIsPlaying(); - const isScrubbing = editor.playback.getIsScrubbing(); const isShiftHeldRef = useShiftKey(); + const zoomLevelRef = useRef(zoomLevel); + const durationRef = useRef(duration); + const isScrubbingRef = useRef(isScrubbing); + const isPlayingRef = useRef(false); + + useEffect(() => { + zoomLevelRef.current = zoomLevel; + durationRef.current = duration; + isScrubbingRef.current = isScrubbing; + isPlayingRef.current = editor.playback.getIsPlaying(); + }, [zoomLevel, duration, isScrubbing, editor.playback]); + const seek = useCallback( ({ time }: { time: number }) => editor.playback.seek({ time }), [editor.playback], ); - const [scrubTime, setScrubTime] = useState<number | null>(null); - - const [isDraggingRuler, setIsDraggingRuler] = useState(false); - const [hasDraggedRuler, setHasDraggedRuler] = useState(false); + const scrubTimeRef = useRef<number | null>(null); + const isDraggingRulerRef = useRef(false); + const hasDraggedRulerRef = useRef(false); const lastMouseXRef = useRef<number>(0); - const playheadPosition = - isScrubbing && scrubTime !== null ? scrubTime : currentTime; - const handleScrub = useCallback( ({ event, @@ -86,8 +93,7 @@ export function useTimelinePlayhead({ const time = (() => { if (!shouldSnap) return frameTime; const tracks = editor.timeline.getTracks(); - const bookmarks = - editor.scenes.getActiveScene()?.bookmarks ?? []; + const bookmarks = editor.scenes.getActiveScene()?.bookmarks ?? []; const snapPoints = findSnapPoints({ tracks, playheadTime: frameTime, @@ -102,7 +108,7 @@ export function useTimelinePlayhead({ return snapResult.snapPoint ? snapResult.snappedTime : frameTime; })(); - setScrubTime(time); + scrubTimeRef.current = time; seek({ time }); lastMouseXRef.current = event.clientX; @@ -132,17 +138,16 @@ export function useTimelinePlayhead({ const handleRulerMouseDown = useCallback( ({ event }: { event: React.MouseEvent }) => { if (event.button !== 0) return; - if (playheadRef?.current?.contains(event.target as Node)) return; event.preventDefault(); - setIsDraggingRuler(true); - setHasDraggedRuler(false); + isDraggingRulerRef.current = true; + hasDraggedRulerRef.current = false; - editor.playback.setScrubbing({ isScrubbing: true }); - handleScrub({ event, snappingEnabled: false }); - }, - [handleScrub, playheadRef, editor.playback], + editor.playback.setScrubbing({ isScrubbing: true }); + handleScrub({ event, snappingEnabled: false }); + }, + [handleScrub, playheadRef, editor.playback], ); const handlePlayheadMouseDownEvent = useCallback( @@ -168,31 +173,32 @@ export function useTimelinePlayhead({ const handleMouseMove = ({ event }: { event: MouseEvent }) => { handleScrub({ event }); - if (isDraggingRuler) { - setHasDraggedRuler(true); + if (isDraggingRulerRef.current) { + hasDraggedRulerRef.current = true; } }; const handleMouseUp = ({ event }: { event: MouseEvent }) => { editor.playback.setScrubbing({ isScrubbing: false }); - if (scrubTime !== null) { - seek({ time: scrubTime }); + const finalTime = scrubTimeRef.current; + if (finalTime !== null) { + seek({ time: finalTime }); editor.project.setTimelineViewState({ viewState: { zoomLevel, scrollLeft: tracksScrollRef.current?.scrollLeft ?? 0, - playheadTime: scrubTime, + playheadTime: finalTime, }, }); } - setScrubTime(null); + scrubTimeRef.current = null; - if (isDraggingRuler) { - setIsDraggingRuler(false); - if (!hasDraggedRuler) { + if (isDraggingRulerRef.current) { + isDraggingRulerRef.current = false; + if (!hasDraggedRulerRef.current) { handleScrub({ event, snappingEnabled: false }); } - setHasDraggedRuler(false); + hasDraggedRulerRef.current = false; } }; @@ -206,55 +212,79 @@ export function useTimelinePlayhead({ window.removeEventListener("mousemove", onMouseMove); window.removeEventListener("mouseup", onMouseUp); }; - }, [ - isScrubbing, - scrubTime, - seek, - handleScrub, - isDraggingRuler, - hasDraggedRuler, - editor, - tracksScrollRef, - zoomLevel, - ]); + }, [isScrubbing, seek, handleScrub, editor, tracksScrollRef, zoomLevel]); + + const updatePlayheadLeft = useCallback( + (time: number) => { + const playheadEl = playheadRef?.current; + if (!playheadEl) return; + const centerPosition = timelineTimeToSnappedPixels({ + time, + zoomLevel: zoomLevelRef.current, + }); + const leftPosition = getCenteredLineLeft({ centerPixel: centerPosition }); + const scrollLeft = rulerScrollRef.current?.scrollLeft ?? 0; + playheadEl.style.left = `${leftPosition - scrollLeft}px`; + }, + [playheadRef, rulerScrollRef], + ); useEffect(() => { - if (!isPlaying || isScrubbing) return; + const scrollEl = rulerScrollRef.current; + if (!scrollEl) return; - const rulerViewport = rulerScrollRef.current; - const tracksViewport = tracksScrollRef.current; - if (!rulerViewport || !tracksViewport) return; + const handleScroll = () => { + updatePlayheadLeft(editor.playback.getCurrentTime()); + }; - const playheadPixels = - playheadPosition * TIMELINE_CONSTANTS.PIXELS_PER_SECOND * zoomLevel; - const viewportWidth = rulerViewport.clientWidth; - const scrollMinimum = 0; - const scrollMaximum = rulerViewport.scrollWidth - viewportWidth; + scrollEl.addEventListener("scroll", handleScroll, { passive: true }); + return () => scrollEl.removeEventListener("scroll", handleScroll); + }, [editor.playback, rulerScrollRef, updatePlayheadLeft]); - const needsScroll = - playheadPixels < rulerViewport.scrollLeft || - playheadPixels > rulerViewport.scrollLeft + viewportWidth; + useEffect(() => { + const handlePlaybackUpdate = (e: Event) => { + const time = (e as CustomEvent<{ time: number }>).detail.time; + updatePlayheadLeft(time); - if (needsScroll) { - const desiredScroll = Math.max( - scrollMinimum, - Math.min(scrollMaximum, playheadPixels - viewportWidth / 2), - ); - rulerViewport.scrollLeft = tracksViewport.scrollLeft = desiredScroll; - } - }, [ - playheadPosition, - zoomLevel, - rulerScrollRef, - tracksScrollRef, - isScrubbing, - isPlaying, - ]); + if (!isPlayingRef.current || isScrubbingRef.current) return; + const rulerViewport = rulerScrollRef.current; + const tracksViewport = tracksScrollRef.current; + if (!rulerViewport || !tracksViewport) return; + + const playheadPixels = + time * TIMELINE_CONSTANTS.PIXELS_PER_SECOND * zoomLevelRef.current; + const viewportWidth = rulerViewport.clientWidth; + const scrollMinimum = 0; + const scrollMaximum = rulerViewport.scrollWidth - viewportWidth; + + const needsScroll = + playheadPixels < rulerViewport.scrollLeft || + playheadPixels > rulerViewport.scrollLeft + viewportWidth; + + if (needsScroll) { + const desiredScroll = Math.max( + scrollMinimum, + Math.min(scrollMaximum, playheadPixels - viewportWidth / 2), + ); + rulerViewport.scrollLeft = tracksViewport.scrollLeft = desiredScroll; + } + }; + + const initialTime = editor.playback.getCurrentTime(); + handlePlaybackUpdate({ + detail: { time: initialTime }, + } as CustomEvent<{ time: number }>); + + window.addEventListener("playback-update", handlePlaybackUpdate); + window.addEventListener("playback-seek", handlePlaybackUpdate); + return () => { + window.removeEventListener("playback-update", handlePlaybackUpdate); + window.removeEventListener("playback-seek", handlePlaybackUpdate); + }; + }, [editor.playback, rulerScrollRef, tracksScrollRef, updatePlayheadLeft]); return { - playheadPosition, handlePlayheadMouseDown: handlePlayheadMouseDownEvent, handleRulerMouseDown: handleRulerMouseDownEvent, - isDraggingRuler, }; } diff --git a/apps/web/src/hooks/timeline/use-timeline-zoom.ts b/apps/web/src/hooks/timeline/use-timeline-zoom.ts index 095c64dc..64a0fb58 100644 --- a/apps/web/src/hooks/timeline/use-timeline-zoom.ts +++ b/apps/web/src/hooks/timeline/use-timeline-zoom.ts @@ -81,18 +81,22 @@ export function useTimelineZoom({ return; } - // pinch-zoom (ctrl/meta + wheel) - if (isZoomGesture) { - const zoomMultiplier = event.deltaY > 0 ? 1 / 1.1 : 1.1; - setZoomLevel((prev) => { - const nextZoom = Math.max( - minZoom, - Math.min(TIMELINE_CONSTANTS.ZOOM_MAX, prev * zoomMultiplier), - ); - return nextZoom; - }); - return; - } + // pinch-zoom (ctrl/meta + wheel) + if (isZoomGesture) { + const normalizedDelta = + event.deltaMode === 1 ? event.deltaY * 16 : event.deltaY; + const cappedDelta = + Math.sign(normalizedDelta) * Math.min(Math.abs(normalizedDelta), 30); + const zoomFactor = Math.exp(-cappedDelta / 300); + setZoomLevel((prev) => { + const nextZoom = Math.max( + minZoom, + Math.min(TIMELINE_CONSTANTS.ZOOM_MAX, prev * zoomFactor), + ); + return nextZoom; + }); + return; + } }, [minZoom, setZoomLevel], ); diff --git a/apps/web/src/hooks/use-container-size.ts b/apps/web/src/hooks/use-container-size.ts index 8b46f20e..6f6f89be 100644 --- a/apps/web/src/hooks/use-container-size.ts +++ b/apps/web/src/hooks/use-container-size.ts @@ -1,4 +1,5 @@ -import { useEffect, useState } from "react"; +import { useCallback, useState } from "react"; +import { useResizeObserver } from "./use-resize-observer"; export function useContainerSize({ containerRef, @@ -7,23 +8,12 @@ export function useContainerSize({ }) { const [size, setSize] = useState({ width: 0, height: 0 }); - useEffect(() => { - const container = containerRef.current; - if (!container) return; + const onResize = useCallback((entry: ResizeObserverEntry) => { + const { width, height } = entry.contentRect; + setSize({ width, height }); + }, []); - const observer = new ResizeObserver((entries) => { - for (const entry of entries) { - const { width, height } = entry.contentRect; - setSize({ width, height }); - } - }); - - observer.observe(container); - - return () => { - observer.disconnect(); - }; - }, [containerRef]); + useResizeObserver({ ref: containerRef, onResize }); return size; } diff --git a/apps/web/src/hooks/use-editor.ts b/apps/web/src/hooks/use-editor.ts index ff3e2db1..e211a85b 100644 --- a/apps/web/src/hooks/use-editor.ts +++ b/apps/web/src/hooks/use-editor.ts @@ -1,39 +1,58 @@ import { useCallback, useMemo, useRef, useSyncExternalStore } from "react"; import { EditorCore } from "@/core"; -export function useEditor(): EditorCore { +function isShallowEqual(a: unknown, b: unknown): boolean { + if (Object.is(a, b)) return true; + if (!Array.isArray(a) || !Array.isArray(b)) return false; + if (a.length !== b.length) return false; + return a.every((item, i) => Object.is(item, b[i])); +} + +const subscribeNone = () => () => {}; + +export function useEditor(): EditorCore; +export function useEditor<T>(selector: (editor: EditorCore) => T): T; +export function useEditor<T>( + selector?: (editor: EditorCore) => T, +): EditorCore | T { const editor = useMemo(() => EditorCore.getInstance(), []); - const versionRef = useRef(0); + const selectorRef = useRef(selector); + selectorRef.current = selector; - const subscribe = useCallback( - (onStoreChange: () => void) => { - const handleStoreChange = () => { - versionRef.current += 1; - onStoreChange(); - }; + const snapshotCacheRef = useRef<unknown>(undefined); + const subscribeAll = useCallback( + (onChange: () => void) => { const unsubscribers = [ - editor.playback.subscribe(handleStoreChange), - editor.timeline.subscribe(handleStoreChange), - editor.scenes.subscribe(handleStoreChange), - editor.project.subscribe(handleStoreChange), - editor.media.subscribe(handleStoreChange), - editor.renderer.subscribe(handleStoreChange), - editor.selection.subscribe(handleStoreChange), + editor.playback.subscribe(onChange), + editor.timeline.subscribe(onChange), + editor.scenes.subscribe(onChange), + editor.project.subscribe(onChange), + editor.media.subscribe(onChange), + editor.renderer.subscribe(onChange), + editor.selection.subscribe(onChange), ]; - return () => { - for (const unsubscribe of unsubscribers) { + unsubscribers.forEach((unsubscribe) => { unsubscribe(); - } + }); }; }, [editor], ); - const getSnapshot = useCallback(() => versionRef.current, []); - - useSyncExternalStore(subscribe, getSnapshot, getSnapshot); + const getSnapshot = useCallback(() => { + const next = selectorRef.current ? selectorRef.current(editor) : editor; + if (isShallowEqual(snapshotCacheRef.current, next)) { + return snapshotCacheRef.current; + } + snapshotCacheRef.current = next; + return next; + }, [editor]); - return editor; + return useSyncExternalStore( + selector ? subscribeAll : subscribeNone, + getSnapshot, + getSnapshot, + ) as EditorCore | T; } diff --git a/apps/web/src/hooks/use-effect-preview.ts b/apps/web/src/hooks/use-effect-preview.ts deleted file mode 100644 index a84781e0..00000000 --- a/apps/web/src/hooks/use-effect-preview.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { useEffect, useRef } from "react"; -import { effectPreviewService } from "@/services/renderer/effect-preview"; -import type { EffectParamValues } from "@/types/effects"; - -export function useEffectPreview({ - effectType, - params, - canvasRef, - isActive, -}: { - effectType: string; - params: EffectParamValues; - canvasRef: React.RefObject<HTMLCanvasElement | null>; - isActive: boolean; -}): void { - const requestRef = useRef<number>(0); - - useEffect(() => { - if (!isActive) { - if (requestRef.current) { - cancelAnimationFrame(requestRef.current); - requestRef.current = 0; - } - return; - } - - const loop = (): void => { - const canvas = canvasRef.current; - if (canvas) { - effectPreviewService.renderPreview({ - effectType, - params, - targetCanvas: canvas, - }); - } - requestRef.current = requestAnimationFrame(loop); - }; - - requestRef.current = requestAnimationFrame(loop); - - return () => { - if (requestRef.current) { - cancelAnimationFrame(requestRef.current); - } - }; - }, [effectType, params, canvasRef, isActive]); -} diff --git a/apps/web/src/hooks/use-element-preview.ts b/apps/web/src/hooks/use-element-preview.ts new file mode 100644 index 00000000..8aa16501 --- /dev/null +++ b/apps/web/src/hooks/use-element-preview.ts @@ -0,0 +1,38 @@ +import { useEditor } from "@/hooks/use-editor"; +import type { TimelineElement } from "@/lib/timeline"; + +/** + * Subscribes to render tracks and returns the live (preview-aware) version of + * an element alongside helpers for previewing and committing updates. + * + * Use this wherever property fields need to reflect in-progress preview state + * (e.g. a slider being dragged) rather than the last committed value. + */ +export function useElementPreview<T extends TimelineElement>({ + trackId, + elementId, + fallback, +}: { + trackId: string; + elementId: string; + fallback: T; +}) { + const editor = useEditor(); + useEditor((e) => e.timeline.getRenderTracks()); + + const renderElement = + (editor.timeline + .getRenderTracks() + .find((t) => t.id === trackId) + ?.elements.find((el) => el.id === elementId) as T | undefined) ?? + fallback; + + const previewUpdates = (updates: Partial<TimelineElement>) => + editor.timeline.previewElements({ + updates: [{ trackId, elementId, updates }], + }); + + const commit = () => editor.timeline.commitPreview(); + + return { renderElement, previewUpdates, commit }; +} diff --git a/apps/web/src/hooks/use-file-upload.ts b/apps/web/src/hooks/use-file-upload.ts index 19badd98..d174e002 100644 --- a/apps/web/src/hooks/use-file-upload.ts +++ b/apps/web/src/hooks/use-file-upload.ts @@ -4,7 +4,7 @@ import { hasDragData } from "@/lib/drag-data"; interface UseFileUploadOptions { accept?: string; multiple?: boolean; - onFilesSelected?: (files: FileList) => void; + onFilesSelected?: (files: File[]) => void; } function containsFiles(dataTransfer: DataTransfer): boolean { @@ -29,8 +29,8 @@ export function useFileUpload({ } function handleFileChange(event: React.ChangeEvent<HTMLInputElement>) { - const files = event.target.files; - if (files && files.length > 0 && onFilesSelected) { + const files = Array.from(event.target.files ?? []); + if (files.length > 0 && onFilesSelected) { onFilesSelected(files); } @@ -71,15 +71,13 @@ export function useFileUpload({ dragCounterRef.current = 0; if (onFilesSelected && containsFiles(e.dataTransfer)) { - const files = e.dataTransfer.files; + const files = Array.from(e.dataTransfer.files); const shouldUseMultiple = multiple ?? false; if (shouldUseMultiple) { onFilesSelected(files); } else if (files.length > 0) { - const dataTransfer = new DataTransfer(); - dataTransfer.items.add(files[0]); - onFilesSelected(dataTransfer.files); + onFilesSelected([files[0]]); } } } diff --git a/apps/web/src/hooks/use-font-atlas.ts b/apps/web/src/hooks/use-font-atlas.ts new file mode 100644 index 00000000..7d6b87e9 --- /dev/null +++ b/apps/web/src/hooks/use-font-atlas.ts @@ -0,0 +1,53 @@ +import { useState, useMemo, useCallback, useEffect } from "react"; +import { + getCachedFontAtlas, + loadFontAtlas, + clearFontAtlasCache, +} from "@/lib/fonts/google-fonts"; +import type { FontAtlas } from "@/lib/fonts/types"; +import { SYSTEM_FONTS } from "@/constants/font-constants"; + +type Status = "idle" | "loading" | "error"; + +export function useFontAtlas({ open }: { open: boolean }) { + const [atlas, setAtlas] = useState<FontAtlas | null>(() => + getCachedFontAtlas(), + ); + const [status, setStatus] = useState<Status>(() => + getCachedFontAtlas() ? "idle" : "loading", + ); + + useEffect(() => { + if (!open || atlas) return; + + setStatus("loading"); + loadFontAtlas().then((data) => { + if (data) { + setAtlas(data); + setStatus("idle"); + } else { + setStatus("error"); + } + }); + }, [open, atlas]); + + const retry = useCallback(() => { + clearFontAtlasCache(); + setStatus("loading"); + loadFontAtlas().then((data) => { + if (data) { + setAtlas(data); + setStatus("idle"); + } else { + setStatus("error"); + } + }); + }, []); + + const fontNames = useMemo(() => { + if (!atlas) return []; + return [...Object.keys(atlas.fonts), ...SYSTEM_FONTS].sort(); + }, [atlas]); + + return { atlas, status, fontNames, retry }; +} diff --git a/apps/web/src/hooks/use-keybindings.ts b/apps/web/src/hooks/use-keybindings.ts index e59d1eaf..69a4e847 100644 --- a/apps/web/src/hooks/use-keybindings.ts +++ b/apps/web/src/hooks/use-keybindings.ts @@ -1,6 +1,8 @@ import { useEffect } from "react"; import { invokeAction } from "@/lib/actions"; import { useKeybindingsStore } from "@/stores/keybindings-store"; +import { useTimelineStore } from "@/stores/timeline-store"; +import { isTypableDOMElement } from "@/utils/browser"; /** * a composable that hooks to the caller component's @@ -8,31 +10,141 @@ import { useKeybindingsStore } from "@/stores/keybindings-store"; * the appropriate actions based on keybindings */ export function useKeybindingsListener() { - const { keybindings, getKeybindingString, keybindingsEnabled, isRecording } = - useKeybindingsStore(); + const { + keybindings, + getKeybindingString, + overlayDepth, + isLoadingProject, + isRecording, + } = useKeybindingsStore(); + const clipboard = useTimelineStore((state) => state.clipboard); useEffect(() => { const eventOptions: AddEventListenerOptions = { capture: true }; + // #region agent log + fetch("http://127.0.0.1:7245/ingest/669b22f8-172b-4e65-aa3f-1c702ede83f7", { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-Debug-Session-Id": "3997d9", + }, + body: JSON.stringify({ + sessionId: "3997d9", + runId: "initial", + hypothesisId: "H1", + location: "use-keybindings.ts:effect", + message: "Keybindings listener mounted", + data: { + overlayDepth, + isLoadingProject, + isRecording, + keybindingCount: Object.keys(keybindings).length, + }, + timestamp: Date.now(), + }), + }).catch(() => {}); + // #endregion const handleKeyDown = (ev: KeyboardEvent) => { - // do not check keybinds if the mode is disabled - if (!keybindingsEnabled) return; - // ignore key events if user is changing keybindings - if (isRecording) return; + const normalizedKey = (ev.key ?? "").toLowerCase(); + const shouldLogKey = + ev.code === "Space" || + ev.code.startsWith("Key") || + ["escape", "delete", "backspace", "enter"].includes(normalizedKey); - const binding = getKeybindingString(ev); - if (!binding) return; - - const boundAction = keybindings[binding]; - if (!boundAction) return; + if (overlayDepth > 0 || isLoadingProject || isRecording) { + if (shouldLogKey) { + // #region agent log + fetch( + "http://127.0.0.1:7245/ingest/669b22f8-172b-4e65-aa3f-1c702ede83f7", + { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-Debug-Session-Id": "3997d9", + }, + body: JSON.stringify({ + sessionId: "3997d9", + runId: "initial", + hypothesisId: "H2", + location: "use-keybindings.ts:blocked", + message: "Shortcut blocked by runtime gate", + data: { + key: ev.key, + code: ev.code, + overlayDepth, + isLoadingProject, + isRecording, + targetTag: + ev.target instanceof HTMLElement ? ev.target.tagName : null, + }, + timestamp: Date.now(), + }), + }, + ).catch(() => {}); + // #endregion + } + return; + } + const binding = getKeybindingString(ev); const activeElement = document.activeElement; const isTextInput = - activeElement && - (activeElement.tagName === "INPUT" || - activeElement.tagName === "TEXTAREA" || - (activeElement as HTMLElement).isContentEditable); + activeElement instanceof HTMLElement && + isTypableDOMElement({ element: activeElement }); + const boundAction = binding ? keybindings[binding] : undefined; + + if (shouldLogKey || binding || boundAction) { + // #region agent log + fetch( + "http://127.0.0.1:7245/ingest/669b22f8-172b-4e65-aa3f-1c702ede83f7", + { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-Debug-Session-Id": "3997d9", + }, + body: JSON.stringify({ + sessionId: "3997d9", + runId: "initial", + hypothesisId: !binding ? "H3" : isTextInput ? "H5" : "H4", + location: "use-keybindings.ts:keydown", + message: "Shortcut keydown observed", + data: { + key: ev.key, + code: ev.code, + binding, + boundAction: boundAction ?? null, + isTextInput, + keybindingCount: Object.keys(keybindings).length, + activeTag: + activeElement instanceof HTMLElement + ? activeElement.tagName + : null, + targetTag: + ev.target instanceof HTMLElement ? ev.target.tagName : null, + }, + timestamp: Date.now(), + }), + }, + ).catch(() => {}); + // #endregion + } + + if (normalizedKey === "escape" && isTextInput) { + activeElement.blur(); + return; + } + + if (!binding) return; + if (!boundAction) return; if (isTextInput) return; + if (boundAction === "paste-copied") { + if (!clipboard?.items.length) return; + ev.preventDefault(); + invokeAction("paste-copied", undefined, "keypress"); + return; + } ev.preventDefault(); @@ -59,17 +171,12 @@ export function useKeybindingsListener() { return () => { document.removeEventListener("keydown", handleKeyDown, eventOptions); }; - }, [keybindings, getKeybindingString, keybindingsEnabled, isRecording]); -} - -/** - * this composable allows for the UI component to be disabled if the component in question is mounted - */ -export function useKeybindingDisabler() { - const { disableKeybindings, enableKeybindings } = useKeybindingsStore(); - - return { - disableKeybindings, - enableKeybindings, - }; + }, [ + keybindings, + getKeybindingString, + overlayDepth, + isLoadingProject, + isRecording, + clipboard, + ]); } diff --git a/apps/web/src/hooks/use-mask-handles.ts b/apps/web/src/hooks/use-mask-handles.ts new file mode 100644 index 00000000..c3e83304 --- /dev/null +++ b/apps/web/src/hooks/use-mask-handles.ts @@ -0,0 +1,258 @@ +import { useCallback, useEffect, useRef, useState } from "react"; +import { usePreviewViewport } from "@/components/editor/panels/preview/preview-viewport"; +import { useEditor } from "@/hooks/use-editor"; +import { useShiftKey } from "@/hooks/use-shift-key"; +import { masksRegistry } from "@/lib/masks"; +import { + getMaskHandlePositions, + getLineMaskLinePoints, +} from "@/lib/masks/handle-positions"; +import { snapMaskInteraction } from "@/lib/masks/snap"; +import { getVisibleElementsWithBounds } from "@/lib/preview/element-bounds"; +import { + SNAP_THRESHOLD_SCREEN_PIXELS, + type SnapLine, +} from "@/lib/preview/preview-snap"; +import type { ParamValues } from "@/lib/params"; +import type { + BaseMaskParams, + MaskHandlePosition, + MaskLinePoints, +} from "@/lib/masks/types"; +import type { MaskableElement } from "@/lib/timeline"; +import { registerCanceller } from "@/lib/cancel-interaction"; + +interface DragState { + trackId: string; + elementId: string; + handleId: string; + startCanvasX: number; + startCanvasY: number; + startParams: BaseMaskParams & ParamValues; +} + +export function useMaskHandles({ + onSnapLinesChange, +}: { + onSnapLinesChange?: (lines: SnapLine[]) => void; +}) { + const editor = useEditor(); + const isShiftHeldRef = useShiftKey(); + const viewport = usePreviewViewport(); + const [activeHandleId, setActiveHandleId] = useState<string | null>(null); + const dragStateRef = useRef<DragState | null>(null); + const captureRef = useRef<{ element: HTMLElement; pointerId: number } | null>( + null, + ); + + const tracks = useEditor((e) => e.timeline.getRenderTracks()); + const currentTime = useEditor((e) => e.playback.getCurrentTime()); + const mediaAssets = useEditor((e) => e.media.getAssets()); + const canvasSize = useEditor( + (e) => e.project.getActive().settings.canvasSize, + ); + const selectedElements = useEditor((e) => e.selection.getSelectedElements()); + + const elementsWithBounds = getVisibleElementsWithBounds({ + tracks, + currentTime, + canvasSize, + mediaAssets, + }); + + const selectedWithMask = + selectedElements.length === 1 + ? (() => { + const sel = selectedElements[0]; + const entry = elementsWithBounds.find( + (item) => + item.trackId === sel.trackId && item.elementId === sel.elementId, + ); + if (!entry) return null; + const element = entry.element as MaskableElement; + if (!element.masks?.length) return null; + return { ...entry, element, mask: element.masks[0] }; + })() + : null; + + const handlePositions: MaskHandlePosition[] = selectedWithMask + ? (() => { + const def = masksRegistry.get(selectedWithMask.mask.type); + const { x: scaleX, y: scaleY } = viewport.getDisplayScale(); + const displayScale = (scaleX + scaleY) / 2; + return getMaskHandlePositions({ + overlayShape: def.overlayShape, + features: def.features, + params: selectedWithMask.mask.params, + bounds: selectedWithMask.bounds, + displayScale, + }); + })() + : []; + + const linePoints: MaskLinePoints | null = + selectedWithMask?.mask.type === "split" + ? getLineMaskLinePoints({ + centerX: selectedWithMask.mask.params.centerX, + centerY: selectedWithMask.mask.params.centerY, + rotation: selectedWithMask.mask.params.rotation, + bounds: selectedWithMask.bounds, + }) + : null; + + const clearMaskHandleState = useCallback(() => { + dragStateRef.current = null; + setActiveHandleId(null); + onSnapLinesChange?.([]); + }, [onSnapLinesChange]); + + const releaseCapturedPointer = useCallback(() => { + const capture = captureRef.current; + if (!capture) return; + + if (capture.element.hasPointerCapture(capture.pointerId)) { + capture.element.releasePointerCapture(capture.pointerId); + } + + captureRef.current = null; + }, []); + + useEffect(() => { + if (!activeHandleId) return; + + return registerCanceller({ + fn: () => { + editor.timeline.discardPreview(); + clearMaskHandleState(); + releaseCapturedPointer(); + }, + }); + }, [ + activeHandleId, + clearMaskHandleState, + editor.timeline, + releaseCapturedPointer, + ]); + + const handlePointerDown = useCallback( + ({ event, handleId }: { event: React.PointerEvent; handleId: string }) => { + if (!selectedWithMask) return; + event.stopPropagation(); + + const pos = viewport.screenToCanvas({ + clientX: event.clientX, + clientY: event.clientY, + }); + if (!pos) return; + + dragStateRef.current = { + trackId: selectedWithMask.trackId, + elementId: selectedWithMask.elementId, + handleId, + startCanvasX: pos.x, + startCanvasY: pos.y, + startParams: { ...selectedWithMask.mask.params }, + }; + setActiveHandleId(handleId); + const captureTarget = event.currentTarget as HTMLElement; + captureTarget.setPointerCapture(event.pointerId); + captureRef.current = { + element: captureTarget, + pointerId: event.pointerId, + }; + }, + [selectedWithMask, viewport], + ); + + const handlePointerMove = useCallback( + ({ event }: { event: React.PointerEvent }) => { + const drag = dragStateRef.current; + if (!drag || !selectedWithMask) return; + + const pos = viewport.screenToCanvas({ + clientX: event.clientX, + clientY: event.clientY, + }); + if (!pos) return; + + const deltaX = pos.x - drag.startCanvasX; + const deltaY = pos.y - drag.startCanvasY; + const def = masksRegistry.get(selectedWithMask.mask.type); + + const rawParams = def.computeParamUpdate({ + handleId: drag.handleId, + startParams: drag.startParams, + deltaX, + deltaY, + startCanvasX: drag.startCanvasX, + startCanvasY: drag.startCanvasY, + bounds: selectedWithMask.bounds, + canvasSize, + }); + const proposedParams = { ...drag.startParams, ...rawParams }; + + const snapThreshold = viewport.screenPixelsToLogicalThreshold({ + screenPixels: SNAP_THRESHOLD_SCREEN_PIXELS, + }); + const { params: nextParams, activeLines } = isShiftHeldRef.current + ? { params: proposedParams, activeLines: [] as SnapLine[] } + : snapMaskInteraction({ + handleId: drag.handleId, + startParams: drag.startParams, + proposedParams, + bounds: selectedWithMask.bounds, + canvasSize, + snapThreshold, + }); + + onSnapLinesChange?.(activeLines); + + const updatedMask = { + ...selectedWithMask.mask, + params: nextParams, + }; + editor.timeline.previewElements({ + updates: [ + { + trackId: drag.trackId, + elementId: drag.elementId, + updates: { + masks: [ + updatedMask, + ...(selectedWithMask.element.masks?.slice(1) ?? []), + ], + } as Partial<MaskableElement>, + }, + ], + }); + }, + [ + selectedWithMask, + canvasSize, + editor, + isShiftHeldRef, + onSnapLinesChange, + viewport, + ], + ); + + const handlePointerUp = useCallback(() => { + if (dragStateRef.current) { + editor.timeline.commitPreview(); + clearMaskHandleState(); + } + releaseCapturedPointer(); + }, + [clearMaskHandleState, editor, releaseCapturedPointer], + ); + + return { + selectedWithMask, + handlePositions, + linePoints, + activeHandleId, + handlePointerDown, + handlePointerMove, + handlePointerUp, + }; +} diff --git a/apps/web/src/hooks/use-menu-preview.ts b/apps/web/src/hooks/use-menu-preview.ts new file mode 100644 index 00000000..a17ee278 --- /dev/null +++ b/apps/web/src/hooks/use-menu-preview.ts @@ -0,0 +1,26 @@ +import { useRef } from "react"; +import { useEditor } from "@/hooks/use-editor"; + +export function useMenuPreview() { + const editor = useEditor(); + const didCommitRef = useRef(false); + + const discard = () => { + if (!didCommitRef.current && editor.timeline.isPreviewActive()) { + editor.timeline.discardPreview(); + } + }; + + const markCommitted = () => { + didCommitRef.current = true; + }; + + const onOpenChange = (isOpen: boolean) => { + if (!isOpen) { + discard(); + didCommitRef.current = false; + } + }; + + return { onPointerLeave: discard, onOpenChange, markCommitted }; +} diff --git a/apps/web/src/hooks/use-paste-media.ts b/apps/web/src/hooks/use-paste-media.ts index 4533ab28..8f362a12 100644 --- a/apps/web/src/hooks/use-paste-media.ts +++ b/apps/web/src/hooks/use-paste-media.ts @@ -1,14 +1,15 @@ import { useEffect } from "react"; -import { toast } from "sonner"; import { useEditor } from "@/hooks/use-editor"; import { processMediaAssets } from "@/lib/media/processing"; +import { showMediaUploadToast } from "@/lib/media/upload-toast"; +import { invokeAction } from "@/lib/actions"; import { buildElementFromMedia } from "@/lib/timeline/element-utils"; import { AddMediaAssetCommand } from "@/lib/commands/media"; import { InsertElementCommand } from "@/lib/commands/timeline"; import { BatchCommand } from "@/lib/commands"; import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; import { isTypableDOMElement } from "@/utils/browser"; -import type { MediaType } from "@/types/assets"; +import type { MediaType } from "@/lib/media/types"; const MEDIA_MIME_PREFIXES: MediaType[] = ["image", "video", "audio"]; @@ -40,6 +41,7 @@ export function usePasteMedia() { useEffect(() => { const handlePaste = async (event: ClipboardEvent) => { const activeElement = document.activeElement as HTMLElement; + if (activeElement && isTypableDOMElement({ element: activeElement })) { return; } @@ -47,7 +49,11 @@ export function usePasteMedia() { const files = extractMediaFilesFromClipboard({ clipboardData: event.clipboardData, }); - if (files.length === 0) return; + if (files.length === 0) { + event.preventDefault(); + invokeAction("paste-copied"); + return; + } event.preventDefault(); @@ -55,41 +61,50 @@ export function usePasteMedia() { if (!activeProject) return; try { - const processedAssets = await processMediaAssets({ files }); - const startTime = editor.playback.getCurrentTime(); + await showMediaUploadToast({ + filesCount: files.length, + promise: async () => { + const processedAssets = await processMediaAssets({ files }); + const startTime = editor.playback.getCurrentTime(); + + for (const asset of processedAssets) { + const addMediaCmd = new AddMediaAssetCommand( + activeProject.metadata.id, + asset, + ); + const assetId = addMediaCmd.getAssetId(); + const duration = + asset.duration ?? TIMELINE_CONSTANTS.DEFAULT_ELEMENT_DURATION; + const trackType = asset.type === "audio" ? "audio" : "video"; - for (const asset of processedAssets) { - const addMediaCmd = new AddMediaAssetCommand( - activeProject.metadata.id, - asset, - ); - const assetId = addMediaCmd.getAssetId(); - const duration = - asset.duration ?? TIMELINE_CONSTANTS.DEFAULT_ELEMENT_DURATION; - const trackType = asset.type === "audio" ? "audio" : "video"; + const element = buildElementFromMedia({ + mediaId: assetId, + mediaType: asset.type, + name: asset.name, + duration, + startTime, + buffer: + asset.type === "audio" + ? new AudioBuffer({ length: 1, sampleRate: 44100 }) + : undefined, + }); - const element = buildElementFromMedia({ - mediaId: assetId, - mediaType: asset.type, - name: asset.name, - duration, - startTime, - buffer: - asset.type === "audio" - ? new AudioBuffer({ length: 1, sampleRate: 44100 }) - : undefined, - }); + const insertCmd = new InsertElementCommand({ + element, + placement: { mode: "auto", trackType }, + }); + const batchCmd = new BatchCommand([addMediaCmd, insertCmd]); + editor.command.execute({ command: batchCmd }); + } - const insertCmd = new InsertElementCommand({ - element, - placement: { mode: "auto", trackType }, - }); - const batchCmd = new BatchCommand([addMediaCmd, insertCmd]); - editor.command.execute({ command: batchCmd }); - } + return { + uploadedCount: processedAssets.length, + assetNames: processedAssets.map((asset) => asset.name), + }; + }, + }); } catch (error) { console.error("Failed to paste media:", error); - toast.error("Failed to paste media"); } }; diff --git a/apps/web/src/hooks/use-preview-interaction.ts b/apps/web/src/hooks/use-preview-interaction.ts index d29f2a4b..90fa0450 100644 --- a/apps/web/src/hooks/use-preview-interaction.ts +++ b/apps/web/src/hooks/use-preview-interaction.ts @@ -1,28 +1,50 @@ import { useCallback, useEffect, useRef, useState } from "react"; import { useEditor } from "@/hooks/use-editor"; import { useShiftKey } from "@/hooks/use-shift-key"; -import type { TextElement, Transform } from "@/types/timeline"; -import { getVisibleElementsWithBounds } from "@/lib/preview/element-bounds"; -import { hitTest } from "@/lib/preview/hit-test"; +import { usePreviewViewport } from "@/components/editor/panels/preview/preview-viewport"; +import type { Transform } from "@/lib/rendering"; +import type { ElementRef, TextElement } from "@/lib/timeline"; import { - screenPixelsToLogicalThreshold, - screenToCanvas, -} from "@/lib/preview/preview-coords"; + getVisibleElementsWithBounds, + type ElementWithBounds, +} from "@/lib/preview/element-bounds"; +import { + getHitElements, + hitTest, + resolvePreferredHit, +} from "@/lib/preview/hit-test"; import { isVisualElement } from "@/lib/timeline/element-utils"; import { SNAP_THRESHOLD_SCREEN_PIXELS, snapPosition, type SnapLine, } from "@/lib/preview/preview-snap"; +import { registerCanceller } from "@/lib/cancel-interaction"; + +export type OnSnapLinesChange = (lines: SnapLine[]) => void; const MIN_DRAG_DISTANCE = 0.5; -interface DragState { +interface CapturedPointerState { + pointerId: number; + captureTarget: HTMLElement; +} + +interface PendingGestureState extends CapturedPointerState { + startX: number; + startY: number; + topmostHit: ElementWithBounds | null; + selectedHit: ElementWithBounds | null; + selectedElements: ElementRef[]; +} + +interface DragState extends CapturedPointerState { startX: number; startY: number; bounds: { width: number; height: number; + rotation: number; }; elements: Array<{ trackId: string; @@ -31,15 +53,56 @@ interface DragState { }>; } +function isSameElementRef({ + left, + right, +}: { + left: ElementRef; + right: ElementRef; +}): boolean { + return left.trackId === right.trackId && left.elementId === right.elementId; +} + +function buildDragSelection({ + selectedElements, + dragTarget, +}: { + selectedElements: ElementRef[]; + dragTarget: ElementWithBounds; +}): ElementRef[] { + const dragTargetRef = { + trackId: dragTarget.trackId, + elementId: dragTarget.elementId, + }; + + if ( + !selectedElements.some((selectedElement) => + isSameElementRef({ left: selectedElement, right: dragTargetRef }), + ) + ) { + return [dragTargetRef]; + } + + return [ + dragTargetRef, + ...selectedElements.filter( + (selectedElement) => + !isSameElementRef({ left: selectedElement, right: dragTargetRef }), + ), + ]; +} + export function usePreviewInteraction({ - canvasRef, + onSnapLinesChange, + isMaskMode = false, }: { - canvasRef: React.RefObject<HTMLCanvasElement | null>; + onSnapLinesChange?: OnSnapLinesChange; + isMaskMode?: boolean; }) { const editor = useEditor(); const isShiftHeldRef = useShiftKey(); + const viewport = usePreviewViewport(); const [isDragging, setIsDragging] = useState(false); - const [snapLines, setSnapLines] = useState<SnapLine[]>([]); const [editingText, setEditingText] = useState<{ trackId: string; elementId: string; @@ -47,13 +110,30 @@ export function usePreviewInteraction({ originalOpacity: number; } | null>(null); const dragStateRef = useRef<DragState | null>(null); + const pendingGestureRef = useRef<PendingGestureState | null>(null); const wasPlayingRef = useRef(editor.playback.getIsPlaying()); const editingTextRef = useRef(editingText); editingTextRef.current = editingText; + const releaseCapturedPointer = useCallback( + (pointerState: CapturedPointerState | null) => { + if (!pointerState) return; + + if ( + !pointerState.captureTarget.hasPointerCapture(pointerState.pointerId) + ) { + return; + } + + pointerState.captureTarget.releasePointerCapture(pointerState.pointerId); + }, + [], + ); + const commitTextEdit = useCallback(() => { const current = editingTextRef.current; if (!current) return; + editingTextRef.current = null; editor.timeline.previewElements({ updates: [ { @@ -67,11 +147,6 @@ export function usePreviewInteraction({ setEditingText(null); }, [editor.timeline]); - const cancelTextEdit = useCallback(() => { - editor.timeline.discardPreview(); - setEditingText(null); - }, [editor.timeline]); - useEffect(() => { const unsubscribe = editor.playback.subscribe(() => { const isPlaying = editor.playback.getIsPlaying(); @@ -83,20 +158,38 @@ export function usePreviewInteraction({ return unsubscribe; }, [editor.playback, commitTextEdit]); + useEffect(() => { + if (!isDragging) return; + + return registerCanceller({ + fn: () => { + const dragState = dragStateRef.current; + if (!dragState) return; + + editor.timeline.discardPreview(); + dragStateRef.current = null; + pendingGestureRef.current = null; + setIsDragging(false); + onSnapLinesChange?.([]); + releaseCapturedPointer(dragState); + }, + }); + }, [editor.timeline, isDragging, onSnapLinesChange, releaseCapturedPointer]); + const handleDoubleClick = useCallback( ({ clientX, clientY }: React.MouseEvent) => { - if (!canvasRef.current || editingText) return; + if (editingText || isMaskMode) return; const tracks = editor.timeline.getTracks(); const currentTime = editor.playback.getCurrentTime(); const mediaAssets = editor.media.getAssets(); const canvasSize = editor.project.getActive().settings.canvasSize; - const startPos = screenToCanvas({ + const startPos = viewport.screenToCanvas({ clientX, clientY, - canvas: canvasRef.current, }); + if (!startPos) return; const elementsWithBounds = getVisibleElementsWithBounds({ tracks, @@ -130,7 +223,7 @@ export function usePreviewInteraction({ originalOpacity: textElement.opacity, }); }, - [canvasRef, editor, editingText], + [editor, editingText, isMaskMode, viewport], ); const handlePointerDown = useCallback( @@ -141,8 +234,8 @@ export function usePreviewInteraction({ pointerId, button, }: React.PointerEvent) => { - if (!canvasRef.current) return; if (editingText) return; + if (isMaskMode) return; if (button !== 0) return; const tracks = editor.timeline.getTracks(); @@ -150,11 +243,11 @@ export function usePreviewInteraction({ const mediaAssets = editor.media.getAssets(); const canvasSize = editor.project.getActive().settings.canvasSize; - const startPos = screenToCanvas({ + const startPos = viewport.screenToCanvas({ clientX, clientY, - canvas: canvasRef.current, }); + if (!startPos) return; const elementsWithBounds = getVisibleElementsWithBounds({ tracks, @@ -163,89 +256,134 @@ export function usePreviewInteraction({ mediaAssets, }); - const hit = hitTest({ + const hits = getHitElements({ canvasX: startPos.x, canvasY: startPos.y, elementsWithBounds, }); + const selectedElements = editor.selection.getSelectedElements(); + const topmostHit = hits[0] ?? null; - if (!hit) { - editor.selection.clearSelection(); - return; - } - - editor.selection.setSelectedElements({ - elements: [{ trackId: hit.trackId, elementId: hit.elementId }], - }); - - const elementsWithTracks = editor.timeline.getElementsWithTracks({ - elements: [{ trackId: hit.trackId, elementId: hit.elementId }], - }); - - const draggableElements = elementsWithTracks.filter(({ element }) => - isVisualElement(element), - ); - - if (draggableElements.length === 0) return; - - dragStateRef.current = { + pendingGestureRef.current = { startX: startPos.x, startY: startPos.y, - bounds: { - width: hit.bounds.width, - height: hit.bounds.height, - }, - elements: draggableElements.map(({ track, element }) => ({ - trackId: track.id, - elementId: element.id, - initialTransform: (element as { transform: Transform }).transform, - })), + pointerId, + captureTarget: currentTarget as HTMLElement, + topmostHit, + selectedHit: resolvePreferredHit({ + hits, + preferredElements: selectedElements, + }), + selectedElements, }; - - setIsDragging(true); currentTarget.setPointerCapture(pointerId); }, - [editor, canvasRef, editingText], + [editor, editingText, isMaskMode, viewport], ); const handlePointerMove = useCallback( ({ clientX, clientY }: React.PointerEvent) => { - if (!dragStateRef.current || !isDragging || !canvasRef.current) return; - const canvasSize = editor.project.getActive().settings.canvasSize; - const currentPos = screenToCanvas({ + const currentPos = viewport.screenToCanvas({ clientX, clientY, - canvas: canvasRef.current, }); + if (!currentPos) return; - const deltaX = currentPos.x - dragStateRef.current.startX; - const deltaY = currentPos.y - dragStateRef.current.startY; - const hasMovement = - Math.abs(deltaX) > MIN_DRAG_DISTANCE || - Math.abs(deltaY) > MIN_DRAG_DISTANCE; - if (!hasMovement) { - setSnapLines([]); - return; + let dragState = dragStateRef.current; + + if (!dragState) { + const pendingGesture = pendingGestureRef.current; + if (!pendingGesture) return; + + const deltaX = currentPos.x - pendingGesture.startX; + const deltaY = currentPos.y - pendingGesture.startY; + const hasMovement = + Math.abs(deltaX) > MIN_DRAG_DISTANCE || + Math.abs(deltaY) > MIN_DRAG_DISTANCE; + + if (!hasMovement) { + onSnapLinesChange?.([]); + return; + } + + const dragTarget = pendingGesture.selectedHit ?? pendingGesture.topmostHit; + if (!dragTarget) { + pendingGestureRef.current = null; + onSnapLinesChange?.([]); + releaseCapturedPointer(pendingGesture); + return; + } + + const dragSelection = buildDragSelection({ + selectedElements: pendingGesture.selectedElements, + dragTarget, + }); + const elementsWithTracks = editor.timeline.getElementsWithTracks({ + elements: dragSelection, + }); + const draggableElements = elementsWithTracks.filter(({ element }) => + isVisualElement(element), + ); + + if (draggableElements.length === 0) { + pendingGestureRef.current = null; + onSnapLinesChange?.([]); + releaseCapturedPointer(pendingGesture); + return; + } + + if (pendingGesture.selectedHit === null) { + editor.selection.setSelectedElements({ + elements: [ + { + trackId: dragTarget.trackId, + elementId: dragTarget.elementId, + }, + ], + }); + } + + dragState = { + startX: pendingGesture.startX, + startY: pendingGesture.startY, + pointerId: pendingGesture.pointerId, + captureTarget: pendingGesture.captureTarget, + bounds: { + width: dragTarget.bounds.width, + height: dragTarget.bounds.height, + rotation: dragTarget.bounds.rotation, + }, + elements: draggableElements.map(({ track, element }) => ({ + trackId: track.id, + elementId: element.id, + initialTransform: (element as { transform: Transform }).transform, + })), + }; + dragStateRef.current = dragState; + pendingGestureRef.current = null; + setIsDragging(true); } - const firstElement = dragStateRef.current.elements[0]; + const deltaX = currentPos.x - dragState.startX; + const deltaY = currentPos.y - dragState.startY; + const firstElement = dragState.elements[0]; const proposedPosition = { x: firstElement.initialTransform.position.x + deltaX, y: firstElement.initialTransform.position.y + deltaY, }; const shouldSnap = !isShiftHeldRef.current; - const snapThreshold = screenPixelsToLogicalThreshold({ - canvas: canvasRef.current, + const snapThreshold = viewport.screenPixelsToLogicalThreshold({ screenPixels: SNAP_THRESHOLD_SCREEN_PIXELS, }); const { snappedPosition, activeLines } = shouldSnap ? snapPosition({ proposedPosition, canvasSize, - elementSize: dragStateRef.current.bounds, + elementSize: dragState.bounds, + rotation: dragState.bounds.rotation, snapThreshold, }) : { @@ -253,14 +391,14 @@ export function usePreviewInteraction({ activeLines: [] as SnapLine[], }; - setSnapLines(activeLines); + onSnapLinesChange?.(activeLines); const deltaSnappedX = snappedPosition.x - firstElement.initialTransform.position.x; const deltaSnappedY = snappedPosition.y - firstElement.initialTransform.position.y; - const updates = dragStateRef.current.elements.map( + const updates = dragState.elements.map( ({ trackId, elementId, initialTransform }) => ({ trackId, elementId, @@ -278,38 +416,51 @@ export function usePreviewInteraction({ editor.timeline.previewElements({ updates }); }, - [isDragging, canvasRef, editor, isShiftHeldRef], + [editor, isShiftHeldRef, onSnapLinesChange, releaseCapturedPointer, viewport], ); const handlePointerUp = useCallback( - ({ clientX, clientY, currentTarget, pointerId }: React.PointerEvent) => { - if (!dragStateRef.current || !isDragging || !canvasRef.current) return; + ({ type }: React.PointerEvent) => { + const dragState = dragStateRef.current; + if (dragState) { + if (type === "pointercancel") { + editor.timeline.discardPreview(); + } else { + editor.timeline.commitPreview(); + } - const currentPos = screenToCanvas({ - clientX, - clientY, - canvas: canvasRef.current, - }); - - const deltaX = currentPos.x - dragStateRef.current.startX; - const deltaY = currentPos.y - dragStateRef.current.startY; + dragStateRef.current = null; + pendingGestureRef.current = null; + setIsDragging(false); + onSnapLinesChange?.([]); + releaseCapturedPointer(dragState); + return; + } - const hasMovement = - Math.abs(deltaX) > MIN_DRAG_DISTANCE || - Math.abs(deltaY) > MIN_DRAG_DISTANCE; + const pendingGesture = pendingGestureRef.current; + if (!pendingGesture) return; - if (!hasMovement) { - editor.timeline.discardPreview(); - } else { - editor.timeline.commitPreview(); + if (type !== "pointercancel") { + const clickTarget = pendingGesture.topmostHit; + if (!clickTarget) { + editor.selection.clearSelection(); + } else { + editor.selection.setSelectedElements({ + elements: [ + { + trackId: clickTarget.trackId, + elementId: clickTarget.elementId, + }, + ], + }); + } } - dragStateRef.current = null; - setIsDragging(false); - setSnapLines([]); - currentTarget.releasePointerCapture(pointerId); + pendingGestureRef.current = null; + onSnapLinesChange?.([]); + releaseCapturedPointer(pendingGesture); }, - [isDragging, canvasRef, editor], + [editor, onSnapLinesChange, releaseCapturedPointer], ); return { @@ -317,9 +468,7 @@ export function usePreviewInteraction({ onPointerMove: handlePointerMove, onPointerUp: handlePointerUp, onDoubleClick: handleDoubleClick, - snapLines, editingText, commitTextEdit, - cancelTextEdit, }; } diff --git a/apps/web/src/hooks/use-resize-observer.ts b/apps/web/src/hooks/use-resize-observer.ts new file mode 100644 index 00000000..a4b3a603 --- /dev/null +++ b/apps/web/src/hooks/use-resize-observer.ts @@ -0,0 +1,26 @@ +import { useEffect } from "react"; + +export function useResizeObserver({ + ref, + onResize, +}: { + ref: React.RefObject<HTMLElement | null>; + onResize: (entry: ResizeObserverEntry) => void; +}) { + useEffect(() => { + const element = ref.current; + if (!element) return; + + const observer = new ResizeObserver((entries) => { + for (const entry of entries) { + onResize(entry); + } + }); + + observer.observe(element); + + return () => { + observer.disconnect(); + }; + }, [ref, onResize]); +} diff --git a/apps/web/src/hooks/use-reveal-item.ts b/apps/web/src/hooks/use-reveal-item.ts deleted file mode 100644 index 5004f60c..00000000 --- a/apps/web/src/hooks/use-reveal-item.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { useEffect, useState, useRef } from "react"; - -export function useRevealItem( - highlightId: string | null, - onClearHighlight: () => void, - highlightDuration = 1000, -) { - const [highlightedId, setHighlightedId] = useState<string | null>(null); - const elementRefs = useRef<Map<string, HTMLElement>>(new Map()); - - const registerElement = (id: string, element: HTMLElement | null) => { - if (element) { - elementRefs.current.set(id, element); - } else { - elementRefs.current.delete(id); - } - }; - - useEffect(() => { - if (!highlightId) return; - - setHighlightedId(highlightId); - - const target = elementRefs.current.get(highlightId); - target?.scrollIntoView({ block: "center" }); - - const timeout = setTimeout(() => { - setHighlightedId(null); - onClearHighlight(); - }, highlightDuration); - - return () => clearTimeout(timeout); - }, [highlightId, onClearHighlight, highlightDuration]); - - return { highlightedId, registerElement }; -} diff --git a/apps/web/src/hooks/use-storage-persistence.ts b/apps/web/src/hooks/use-storage-persistence.ts new file mode 100644 index 00000000..79e05069 --- /dev/null +++ b/apps/web/src/hooks/use-storage-persistence.ts @@ -0,0 +1,45 @@ +"use client"; + +import { useEffect, useState } from "react"; + +const DISMISSED_KEY = "opencut-storage-persist-dismissed"; + +function isFirefox(): boolean { + return navigator.userAgent.toLowerCase().includes("firefox"); +} + +export function useStoragePersistence() { + const [showDialog, setShowDialog] = useState(false); + + useEffect(() => { + if (!navigator.storage?.persist) return; + + const run = async () => { + const alreadyPersisted = await navigator.storage.persisted(); + if (alreadyPersisted) return; + + const dismissed = localStorage.getItem(DISMISSED_KEY) === "true"; + if (dismissed) return; + + if (isFirefox()) { + setShowDialog(true); + } else { + await navigator.storage.persist(); + } + }; + + run(); + }, []); + + const onConfirm = async () => { + setShowDialog(false); + await navigator.storage.persist(); + }; + + const onDismiss = () => { + setShowDialog(false); + localStorage.setItem(DISMISSED_KEY, "true"); + }; + + return { showDialog, onConfirm, onDismiss }; +} diff --git a/apps/web/src/hooks/use-transform-handles.ts b/apps/web/src/hooks/use-transform-handles.ts index fb561396..a01fb361 100644 --- a/apps/web/src/hooks/use-transform-handles.ts +++ b/apps/web/src/hooks/use-transform-handles.ts @@ -1,4 +1,6 @@ -import { useCallback, useRef, useState, useSyncExternalStore } from "react"; +import { useCallback, useEffect, useRef, useState } from "react"; +import { usePreviewViewport } from "@/components/editor/panels/preview/preview-viewport"; +import type { OnSnapLinesChange } from "@/hooks/use-preview-interaction"; import { useEditor } from "@/hooks/use-editor"; import { useShiftKey } from "@/hooks/use-shift-key"; import { @@ -6,14 +8,12 @@ import { type ElementWithBounds, } from "@/lib/preview/element-bounds"; import { - screenPixelsToLogicalThreshold, - screenToCanvas, -} from "@/lib/preview/preview-coords"; -import { MIN_SCALE, SNAP_THRESHOLD_SCREEN_PIXELS, snapRotation, snapScale, + snapScaleAxes, + type ScaleEdgePreference, type SnapLine, } from "@/lib/preview/preview-snap"; import { isVisualElement } from "@/lib/timeline/element-utils"; @@ -22,11 +22,25 @@ import { resolveTransformAtTime, setChannel, } from "@/lib/animation"; -import type { Transform } from "@/types/timeline"; -import type { ElementAnimations } from "@/types/animation"; +import type { Transform } from "@/lib/rendering"; +import type { ElementAnimations } from "@/lib/animation/types"; +import { registerCanceller } from "@/lib/cancel-interaction"; type Corner = "top-left" | "top-right" | "bottom-left" | "bottom-right"; -type HandleType = Corner | "rotation"; +type Edge = "right" | "left" | "bottom"; +type HandleType = Corner | Edge | "rotation"; + +function getPreferredEdge({ + edge, +}: { + edge: Edge; +}): ScaleEdgePreference { + return edge === "right" + ? { right: true } + : edge === "left" + ? { left: true } + : { bottom: true }; +} interface ScaleState { trackId: string; @@ -50,26 +64,25 @@ interface RotationState { initialBoundsCy: number; } -function areSnapLinesEqual({ - previousLines, - nextLines, -}: { - previousLines: SnapLine[]; - nextLines: SnapLine[]; -}): boolean { - if (previousLines.length !== nextLines.length) { - return false; - } - for (const [index, line] of previousLines.entries()) { - const nextLine = nextLines[index]; - if (!nextLine) { - return false; - } - if (line.type !== nextLine.type || line.position !== nextLine.position) { - return false; - } +interface EdgeScaleState { + trackId: string; + elementId: string; + initialTransform: Transform; + initialBoundsCx: number; + initialBoundsCy: number; + baseWidth: number; + baseHeight: number; + edge: Edge; + rotationRad: number; + shouldClearScaleAnimation: boolean; + animationsWithoutScale: ElementAnimations | undefined; +} + +function clampScaleNonZero(scale: number): number { + if (Math.abs(scale) < MIN_SCALE) { + return scale < 0 ? -MIN_SCALE : MIN_SCALE; } - return true; + return scale; } function getCornerDistance({ @@ -102,29 +115,30 @@ function getCornerDistance({ } export function useTransformHandles({ - canvasRef, + onSnapLinesChange, }: { - canvasRef: React.RefObject<HTMLCanvasElement | null>; + onSnapLinesChange?: OnSnapLinesChange; }) { const editor = useEditor(); const isShiftHeldRef = useShiftKey(); + const viewport = usePreviewViewport(); const [activeHandle, setActiveHandle] = useState<HandleType | null>(null); - const [snapLines, setSnapLines] = useState<SnapLine[]>([]); - const snapLinesRef = useRef<SnapLine[]>([]); const scaleStateRef = useRef<ScaleState | null>(null); const rotationStateRef = useRef<RotationState | null>(null); - - const selectedElements = useSyncExternalStore( - (listener) => editor.selection.subscribe(listener), - () => editor.selection.getSelectedElements(), + const edgeScaleStateRef = useRef<EdgeScaleState | null>(null); + const captureRef = useRef<{ element: HTMLElement; pointerId: number } | null>( + null, ); - const tracks = editor.timeline.getTracks(); - const currentTime = editor.playback.getCurrentTime(); + const selectedElements = useEditor((e) => e.selection.getSelectedElements()); + const tracks = useEditor((e) => e.timeline.getRenderTracks()); + const currentTime = useEditor((e) => e.playback.getCurrentTime()); const currentTimeRef = useRef(currentTime); currentTimeRef.current = currentTime; - const mediaAssets = editor.media.getAssets(); - const canvasSize = editor.project.getActive().settings.canvasSize; + const mediaAssets = useEditor((e) => e.media.getAssets()); + const canvasSize = useEditor( + (e) => e.project.getActive().settings.canvasSize, + ); const elementsWithBounds = getVisibleElementsWithBounds({ tracks, @@ -145,6 +159,37 @@ export function useTransformHandles({ const hasVisualSelection = selectedWithBounds !== null && isVisualElement(selectedWithBounds.element); + const clearActiveHandleState = useCallback(() => { + scaleStateRef.current = null; + rotationStateRef.current = null; + edgeScaleStateRef.current = null; + setActiveHandle(null); + onSnapLinesChange?.([]); + }, [onSnapLinesChange]); + + const releaseCapturedPointer = useCallback(() => { + const capture = captureRef.current; + if (!capture) return; + + if (capture.element.hasPointerCapture(capture.pointerId)) { + capture.element.releasePointerCapture(capture.pointerId); + } + + captureRef.current = null; + }, []); + + useEffect(() => { + if (!activeHandle) return; + + return registerCanceller({ + fn: () => { + editor.timeline.discardPreview(); + clearActiveHandleState(); + releaseCapturedPointer(); + }, + }); + }, [activeHandle, clearActiveHandleState, editor.timeline, releaseCapturedPointer]); + const handleCornerPointerDown = useCallback( ({ event, corner }: { event: React.PointerEvent; corner: Corner }) => { if (!selectedWithBounds) return; @@ -165,14 +210,19 @@ export function useTransformHandles({ }); const initialDistance = getCornerDistance({ bounds, corner }); - const baseWidth = bounds.width / resolvedTransform.scale; - const baseHeight = bounds.height / resolvedTransform.scale; + const baseWidth = bounds.width / resolvedTransform.scaleX; + const baseHeight = bounds.height / resolvedTransform.scaleY; const shouldClearScaleAnimation = - !!element.animations?.channels["transform.scale"]; + !!element.animations?.channels["transform.scaleX"] || + !!element.animations?.channels["transform.scaleY"]; const animationsWithoutScale = shouldClearScaleAnimation ? setChannel({ - animations: element.animations, - propertyPath: "transform.scale", + animations: setChannel({ + animations: element.animations, + propertyPath: "transform.scaleX", + channel: undefined, + }), + propertyPath: "transform.scaleY", channel: undefined, }) : element.animations; @@ -190,14 +240,19 @@ export function useTransformHandles({ animationsWithoutScale, }; setActiveHandle(corner); - (event.currentTarget as HTMLElement).setPointerCapture(event.pointerId); + const captureTarget = event.currentTarget as HTMLElement; + captureTarget.setPointerCapture(event.pointerId); + captureRef.current = { + element: captureTarget, + pointerId: event.pointerId, + }; }, [selectedWithBounds], ); const handleRotationPointerDown = useCallback( ({ event }: { event: React.PointerEvent }) => { - if (!selectedWithBounds || !canvasRef.current) return; + if (!selectedWithBounds) return; event.stopPropagation(); const { bounds, trackId, elementId, element } = selectedWithBounds; @@ -214,14 +269,14 @@ export function useTransformHandles({ localTime, }); - const position = screenToCanvas({ + const position = viewport.screenToCanvas({ clientX: event.clientX, clientY: event.clientY, - canvas: canvasRef.current, }); - const deltaX = position.x - bounds.cx; - const deltaY = position.y - bounds.cy; - const initialAngle = (Math.atan2(deltaY, deltaX) * 180) / Math.PI; + if (!position) return; + const deltaX = position.x - bounds.cx; + const deltaY = position.y - bounds.cy; + const initialAngle = (Math.atan2(deltaY, deltaX) * 180) / Math.PI; rotationStateRef.current = { trackId, @@ -232,21 +287,91 @@ export function useTransformHandles({ initialBoundsCy: bounds.cy, }; setActiveHandle("rotation"); - (event.currentTarget as HTMLElement).setPointerCapture(event.pointerId); + const captureTarget = event.currentTarget as HTMLElement; + captureTarget.setPointerCapture(event.pointerId); + captureRef.current = { + element: captureTarget, + pointerId: event.pointerId, + }; }, - [selectedWithBounds, canvasRef], + [selectedWithBounds, viewport], + ); + + const handleEdgePointerDown = useCallback( + ({ event, edge }: { event: React.PointerEvent; edge: Edge }) => { + if (!selectedWithBounds) return; + event.stopPropagation(); + + const { bounds, trackId, elementId, element } = selectedWithBounds; + if (!isVisualElement(element)) return; + + const localTime = getElementLocalTime({ + timelineTime: currentTimeRef.current, + elementStartTime: element.startTime, + elementDuration: element.duration, + }); + const resolvedTransform = resolveTransformAtTime({ + baseTransform: element.transform, + animations: element.animations, + localTime, + }); + + const baseWidth = bounds.width / resolvedTransform.scaleX; + const baseHeight = bounds.height / resolvedTransform.scaleY; + const rotationRad = (bounds.rotation * Math.PI) / 180; + + const propertyPath = + edge === "right" || edge === "left" + ? "transform.scaleX" + : "transform.scaleY"; + const shouldClearScaleAnimation = + !!element.animations?.channels[propertyPath]; + const animationsWithoutScale = shouldClearScaleAnimation + ? setChannel({ + animations: element.animations, + propertyPath, + channel: undefined, + }) + : element.animations; + + edgeScaleStateRef.current = { + trackId, + elementId, + initialTransform: resolvedTransform, + initialBoundsCx: bounds.cx, + initialBoundsCy: bounds.cy, + baseWidth, + baseHeight, + edge, + rotationRad, + shouldClearScaleAnimation, + animationsWithoutScale, + }; + setActiveHandle(edge); + const captureTarget = event.currentTarget as HTMLElement; + captureTarget.setPointerCapture(event.pointerId); + captureRef.current = { + element: captureTarget, + pointerId: event.pointerId, + }; + }, + [selectedWithBounds], ); const handlePointerMove = useCallback( ({ event }: { event: React.PointerEvent }) => { - if (!canvasRef.current) return; - if (!scaleStateRef.current && !rotationStateRef.current) return; + if ( + !scaleStateRef.current && + !rotationStateRef.current && + !edgeScaleStateRef.current + ) + return; - const position = screenToCanvas({ + const position = viewport.screenToCanvas({ clientX: event.clientX, clientY: event.clientY, - canvas: canvasRef.current, }); + if (!position) return; if ( scaleStateRef.current && @@ -266,58 +391,157 @@ export function useTransformHandles({ animationsWithoutScale, } = scaleStateRef.current; - const deltaX = position.x - initialBoundsCx; - const deltaY = position.y - initialBoundsCy; - const currentDistance = Math.sqrt(deltaX * deltaX + deltaY * deltaY) || 1; + const deltaX = position.x - initialBoundsCx; + const deltaY = position.y - initialBoundsCy; + const currentDistance = + Math.sqrt(deltaX * deltaX + deltaY * deltaY) || 1; const scaleFactor = currentDistance / initialDistance; - const proposedScale = Math.max( - MIN_SCALE, - initialTransform.scale * scaleFactor, - ); - const canvasSize = editor.project.getActive().settings.canvasSize; - const snapThreshold = screenPixelsToLogicalThreshold({ - canvas: canvasRef.current, + // Use actual element dimensions (base * current scale) so snap + // computes the correct edges when scaleX ≠scaleY + const effectiveWidth = baseWidth * initialTransform.scaleX; + const effectiveHeight = baseHeight * initialTransform.scaleY; + + const snapThreshold = viewport.screenPixelsToLogicalThreshold({ screenPixels: SNAP_THRESHOLD_SCREEN_PIXELS, }); - const shouldSnap = !isShiftHeldRef.current; - const { snappedScale, activeLines } = shouldSnap - ? snapScale({ - proposedScale, + const { snappedScale: snappedFactor, activeLines } = + isShiftHeldRef.current + ? { snappedScale: scaleFactor, activeLines: [] as SnapLine[] } + : snapScale({ + proposedScale: scaleFactor, + position: initialTransform.position, + baseWidth: effectiveWidth, + baseHeight: effectiveHeight, + rotation: initialTransform.rotate, + canvasSize, + snapThreshold, + }); + + onSnapLinesChange?.(activeLines); + + editor.timeline.previewElements({ + updates: [ + { + trackId, + elementId, + updates: { + transform: { + ...initialTransform, + scaleX: clampScaleNonZero( + initialTransform.scaleX * snappedFactor, + ), + scaleY: clampScaleNonZero( + initialTransform.scaleY * snappedFactor, + ), + }, + ...(shouldClearScaleAnimation && { + animations: animationsWithoutScale, + }), + }, + }, + ], + }); + return; + } + + if ( + edgeScaleStateRef.current && + (activeHandle === "right" || + activeHandle === "left" || + activeHandle === "bottom") + ) { + const { + trackId, + elementId, + initialTransform, + initialBoundsCx, + initialBoundsCy, + baseWidth, + baseHeight, + edge, + rotationRad, + shouldClearScaleAnimation, + animationsWithoutScale, + } = edgeScaleStateRef.current; + + const deltaX = position.x - initialBoundsCx; + const deltaY = position.y - initialBoundsCy; + const xProjection = + deltaX * Math.cos(rotationRad) + deltaY * Math.sin(rotationRad); + const yProjection = + -deltaX * Math.sin(rotationRad) + deltaY * Math.cos(rotationRad); + const projection = + edge === "right" + ? xProjection + : edge === "left" + ? -xProjection + : yProjection; + + const baseAxisHalf = + edge === "right" || edge === "left" ? baseWidth / 2 : baseHeight / 2; + const proposedScale = clampScaleNonZero(projection / baseAxisHalf); + + const proposedScaleX = + edge === "right" || edge === "left" + ? proposedScale + : initialTransform.scaleX; + const proposedScaleY = + edge === "bottom" ? proposedScale : initialTransform.scaleY; + + const snapThreshold = viewport.screenPixelsToLogicalThreshold({ + screenPixels: SNAP_THRESHOLD_SCREEN_PIXELS, + }); + const { x: xSnap, y: ySnap } = isShiftHeldRef.current + ? { + x: { + snappedScale: proposedScaleX, + snapDistance: Infinity, + activeLines: [] as SnapLine[], + }, + y: { + snappedScale: proposedScaleY, + snapDistance: Infinity, + activeLines: [] as SnapLine[], + }, + } + : snapScaleAxes({ + proposedScaleX, + proposedScaleY, position: initialTransform.position, baseWidth, baseHeight, + rotation: initialTransform.rotate, canvasSize, snapThreshold, - }) - : { snappedScale: proposedScale, activeLines: [] as SnapLine[] }; - - const isSameLines = areSnapLinesEqual({ - previousLines: snapLinesRef.current, - nextLines: activeLines, - }); - - if (!isSameLines) { - snapLinesRef.current = activeLines; - setSnapLines(activeLines); - } + preferredEdges: getPreferredEdge({ edge }), + }); - const updates: { - transform: Transform; - animations?: ElementAnimations; - } = { - transform: { ...initialTransform, scale: snappedScale }, - }; - if (shouldClearScaleAnimation) { - updates.animations = animationsWithoutScale; - } + const relevantSnap = + edge === "right" || edge === "left" ? xSnap : ySnap; + onSnapLinesChange?.(relevantSnap.activeLines); editor.timeline.previewElements({ updates: [ { trackId, elementId, - updates, + updates: { + transform: { + ...initialTransform, + scaleX: + edge === "right" || edge === "left" + ? xSnap.snappedScale + : initialTransform.scaleX, + scaleY: + edge === "bottom" + ? ySnap.snappedScale + : initialTransform.scaleY, + }, + ...(shouldClearScaleAnimation && { + animations: animationsWithoutScale, + }), + }, }, ], }); @@ -334,17 +558,16 @@ export function useTransformHandles({ initialBoundsCy, } = rotationStateRef.current; - const deltaX = position.x - initialBoundsCx; - const deltaY = position.y - initialBoundsCy; - const currentAngle = (Math.atan2(deltaY, deltaX) * 180) / Math.PI; + const deltaX = position.x - initialBoundsCx; + const deltaY = position.y - initialBoundsCy; + const currentAngle = (Math.atan2(deltaY, deltaX) * 180) / Math.PI; let deltaAngle = currentAngle - initialAngle; if (deltaAngle > 180) deltaAngle -= 360; if (deltaAngle < -180) deltaAngle += 360; const newRotate = initialTransform.rotate + deltaAngle; - const shouldSnapRotation = !isShiftHeldRef.current; - const { snappedRotation } = shouldSnapRotation - ? snapRotation({ proposedRotation: newRotate }) - : { snappedRotation: newRotate }; + const { snappedRotation } = isShiftHeldRef.current + ? { snappedRotation: newRotate } + : snapRotation({ proposedRotation: newRotate }); editor.timeline.previewElements({ updates: [ @@ -359,32 +582,36 @@ export function useTransformHandles({ }); } }, - [activeHandle, canvasRef, editor, isShiftHeldRef], + [ + activeHandle, + canvasSize, + editor, + isShiftHeldRef, + onSnapLinesChange, + viewport, + ], ); - const handlePointerUp = useCallback( - ({ event }: { event: React.PointerEvent }) => { - if (scaleStateRef.current || rotationStateRef.current) { + const handlePointerUp = useCallback(() => { + if ( + scaleStateRef.current || + rotationStateRef.current || + edgeScaleStateRef.current + ) { editor.timeline.commitPreview(); - scaleStateRef.current = null; - rotationStateRef.current = null; - setActiveHandle(null); - snapLinesRef.current = []; - setSnapLines([]); + clearActiveHandleState(); } - (event.currentTarget as HTMLElement).releasePointerCapture( - event.pointerId, - ); + releaseCapturedPointer(); }, - [editor], + [clearActiveHandleState, editor, releaseCapturedPointer], ); return { selectedWithBounds, hasVisualSelection, activeHandle, - snapLines, handleCornerPointerDown, + handleEdgePointerDown, handleRotationPointerDown, handlePointerMove, handlePointerUp, diff --git a/apps/web/src/lib/actions/definitions.ts b/apps/web/src/lib/actions/definitions.ts index 82319216..4d67c1ef 100644 --- a/apps/web/src/lib/actions/definitions.ts +++ b/apps/web/src/lib/actions/definitions.ts @@ -1,4 +1,4 @@ -import type { ShortcutKey } from "@/types/keybinding"; +import type { ShortcutKey } from "@/lib/actions/keybinding"; export type TActionCategory = | "playback" @@ -7,7 +7,8 @@ export type TActionCategory = | "selection" | "history" | "timeline" - | "controls"; + | "controls" + | "assets"; export interface TActionDefinition { description: string; @@ -114,10 +115,14 @@ export const ACTIONS = { category: "selection", defaultShortcuts: ["ctrl+a"], }, + "cancel-interaction": { + description: "Cancel current interaction", + category: "controls", + defaultShortcuts: ["escape"], + }, "deselect-all": { description: "Deselect all elements", category: "selection", - defaultShortcuts: ["escape"], }, "duplicate-selected": { description: "Duplicate selected element", @@ -146,11 +151,25 @@ export const ACTIONS = { category: "history", defaultShortcuts: ["ctrl+shift+z", "ctrl+y"], }, + "remove-media-asset": { + description: "Remove media asset", + category: "assets", + args: { projectId: "string", assetId: "string" }, + }, + "remove-media-assets": { + description: "Remove media assets", + category: "assets", + args: { projectId: "string", assetIds: "string[]" }, + }, } as const satisfies Record<string, TActionDefinition>; export type TAction = keyof typeof ACTIONS; -export function getActionDefinition({ action }: { action: TAction }): TActionDefinition { +export function getActionDefinition({ + action, +}: { + action: TAction; +}): TActionDefinition { return ACTIONS[action]; } diff --git a/apps/web/src/types/keybinding.ts b/apps/web/src/lib/actions/keybinding.ts index f9b84e31..0a61893b 100644 --- a/apps/web/src/types/keybinding.ts +++ b/apps/web/src/lib/actions/keybinding.ts @@ -1,4 +1,4 @@ -import type { TActionWithOptionalArgs } from "@/lib/actions"; +import type { TActionWithOptionalArgs } from "./types"; /** * Alt is also regarded as macOS OPTION (⌥) key diff --git a/apps/web/src/lib/actions/registry.ts b/apps/web/src/lib/actions/registry.ts index b9c84529..c825a5e4 100644 --- a/apps/web/src/lib/actions/registry.ts +++ b/apps/web/src/lib/actions/registry.ts @@ -57,5 +57,30 @@ export const invokeAction: InvokeActionFunc = <A extends TAction>( args?: TArgOfAction<A>, trigger?: TInvocationTrigger, ) => { - boundActions[action]?.forEach((handler) => handler(args, trigger)); + if (trigger === "keypress") { + // #region agent log + fetch("http://127.0.0.1:7245/ingest/669b22f8-172b-4e65-aa3f-1c702ede83f7", { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-Debug-Session-Id": "3997d9", + }, + body: JSON.stringify({ + sessionId: "3997d9", + runId: "initial", + hypothesisId: "H4", + location: "actions/registry.ts:invokeAction", + message: "Action invoked from keypress", + data: { + action, + handlerCount: boundActions[action]?.length ?? 0, + }, + timestamp: Date.now(), + }), + }).catch(() => {}); + // #endregion + } + boundActions[action]?.forEach((handler) => { + handler(args, trigger); + }); }; diff --git a/apps/web/src/lib/actions/types.ts b/apps/web/src/lib/actions/types.ts index 508bf10e..38627b95 100644 --- a/apps/web/src/lib/actions/types.ts +++ b/apps/web/src/lib/actions/types.ts @@ -8,6 +8,8 @@ export type TActionArgsMap = { "seek-backward": { seconds: number } | undefined; "jump-forward": { seconds: number } | undefined; "jump-backward": { seconds: number } | undefined; + "remove-media-asset": { projectId: string; assetId: string }; + "remove-media-assets": { projectId: string; assetIds: string[] }; }; type TKeysWithValueUndefined<T> = { diff --git a/apps/web/src/lib/animation/__tests__/transform-keyframes.test.ts b/apps/web/src/lib/animation/__tests__/transform-keyframes.test.ts deleted file mode 100644 index 629bd0d6..00000000 --- a/apps/web/src/lib/animation/__tests__/transform-keyframes.test.ts +++ /dev/null @@ -1,313 +0,0 @@ -import { describe, expect, test } from "bun:test"; -import type { ElementAnimations } from "@/types/animation"; -import { - clampAnimationsToDuration, - getElementKeyframes, - getKeyframeAtTime, - hasKeyframesForPath, - getChannelValueAtTime, - getElementLocalTime, - resolveTransformAtTime, - splitAnimationsAtTime, -} from "@/lib/animation"; - -describe("transform keyframe evaluation", () => { - test("uses fallback value when channel is missing", () => { - const value = getChannelValueAtTime({ - channel: undefined, - time: 1, - fallbackValue: 42, - }); - expect(value).toBe(42); - }); - - test("returns boundary value when time is within epsilon of first/last keyframe", () => { - const channel = { - valueKind: "number" as const, - keyframes: [ - { id: "a", time: 0, value: 10, interpolation: "linear" as const }, - { id: "b", time: 2, value: 30, interpolation: "linear" as const }, - ], - }; - expect( - getChannelValueAtTime({ - channel, - time: 0.0008, - fallbackValue: 0, - }), - ).toBe(10); - expect( - getChannelValueAtTime({ - channel, - time: 1.9992, - fallbackValue: 0, - }), - ).toBe(30); - }); - - test("interpolates linear channels", () => { - const value = getChannelValueAtTime({ - channel: { - valueKind: "number", - keyframes: [ - { id: "a", time: 0, value: 10, interpolation: "linear" }, - { id: "b", time: 2, value: 30, interpolation: "linear" }, - ], - }, - time: 1, - fallbackValue: 0, - }); - expect(value).toBe(20); - }); - - test("clamps local time to [0, duration]", () => { - expect( - getElementLocalTime({ - timelineTime: 2, - elementStartTime: 5, - elementDuration: 4, - }), - ).toBe(0); - expect( - getElementLocalTime({ - timelineTime: 12, - elementStartTime: 5, - elementDuration: 4, - }), - ).toBe(4); - expect( - getElementLocalTime({ - timelineTime: 7, - elementStartTime: 5, - elementDuration: 4, - }), - ).toBe(2); - }); - - test("uses hold interpolation from the left keyframe", () => { - const value = getChannelValueAtTime({ - channel: { - valueKind: "number", - keyframes: [ - { id: "a", time: 0, value: 10, interpolation: "hold" }, - { id: "b", time: 2, value: 30, interpolation: "linear" }, - ], - }, - time: 1, - fallbackValue: 0, - }); - expect(value).toBe(10); - }); - - test("resolves transform by mixing animated and fallback properties", () => { - const animations: ElementAnimations = { - channels: { - "transform.position.x": { - valueKind: "number", - keyframes: [ - { id: "a", time: 0, value: 0, interpolation: "linear" }, - { id: "b", time: 4, value: 80, interpolation: "linear" }, - ], - }, - "transform.scale": { - valueKind: "number", - keyframes: [{ id: "c", time: 0, value: 2, interpolation: "hold" }], - }, - }, - }; - const resolvedTransform = resolveTransformAtTime({ - baseTransform: { - position: { x: 10, y: 20 }, - scale: 1, - rotate: 15, - }, - animations, - localTime: 2, - }); - expect(resolvedTransform).toEqual({ - position: { x: 40, y: 20 }, - scale: 2, - rotate: 15, - }); - }); -}); - -describe("transform keyframe mutation utilities", () => { - test("splits channels and rebases right side times", () => { - const animations: ElementAnimations = { - channels: { - "transform.scale": { - valueKind: "number", - keyframes: [ - { id: "a", time: 0, value: 1, interpolation: "linear" }, - { id: "b", time: 2, value: 2, interpolation: "linear" }, - { id: "c", time: 6, value: 4, interpolation: "linear" }, - ], - }, - }, - }; - const { leftAnimations, rightAnimations } = splitAnimationsAtTime({ - animations, - splitTime: 4, - }); - - expect( - leftAnimations?.channels["transform.scale"]?.keyframes.map( - (keyframe) => keyframe.time, - ), - ).toEqual([0, 2, 4]); - expect( - rightAnimations?.channels["transform.scale"]?.keyframes.map( - (keyframe) => keyframe.time, - ), - ).toEqual([0, 2]); - expect( - rightAnimations?.channels["transform.scale"]?.keyframes[0]?.value, - ).toBe(3); - }); - - test("clamps channels to updated element duration", () => { - const animations: ElementAnimations = { - channels: { - "transform.rotate": { - valueKind: "number", - keyframes: [ - { id: "a", time: 0, value: 0, interpolation: "linear" }, - { id: "b", time: 2, value: 20, interpolation: "linear" }, - { id: "c", time: 5, value: 50, interpolation: "linear" }, - ], - }, - }, - }; - const clampedAnimations = clampAnimationsToDuration({ - animations, - duration: 2, - }); - expect( - clampedAnimations?.channels["transform.rotate"]?.keyframes.map( - (keyframe) => keyframe.time, - ), - ).toEqual([0, 2]); - }); -}); - -describe("typed channel interpolation", () => { - test("interpolates color channels from hex keyframes", () => { - const value = getChannelValueAtTime({ - channel: { - valueKind: "color", - keyframes: [ - { id: "a", time: 0, value: "#000000", interpolation: "linear" }, - { id: "b", time: 1, value: "#ffffff", interpolation: "linear" }, - ], - }, - time: 0.5, - fallbackValue: "#000000", - }); - expect(typeof value).toBe("string"); - expect(value).toContain("rgba("); - }); - - test("uses hold behavior for discrete channels", () => { - const value = getChannelValueAtTime({ - channel: { - valueKind: "discrete", - keyframes: [ - { id: "a", time: 0, value: "normal", interpolation: "hold" }, - { id: "b", time: 2, value: "multiply", interpolation: "hold" }, - ], - }, - time: 1.2, - fallbackValue: "normal", - }); - expect(value).toBe("normal"); - }); -}); - -describe("keyframe query helpers", () => { - test("getElementKeyframes returns flat list of all keyframes across channels", () => { - const animations: ElementAnimations = { - channels: { - "transform.position.x": { - valueKind: "number", - keyframes: [{ id: "x-1", time: 1, value: 64, interpolation: "linear" }], - }, - opacity: { - valueKind: "number", - keyframes: [{ id: "o-1", time: 0, value: 1, interpolation: "linear" }], - }, - }, - }; - - const keyframes = getElementKeyframes({ animations }); - expect(keyframes).toHaveLength(2); - expect(keyframes.map((keyframe) => keyframe.propertyPath).sort()).toEqual([ - "opacity", - "transform.position.x", - ]); - }); - - test("getElementKeyframes returns empty array when animations are missing or channels are empty", () => { - expect(getElementKeyframes({ animations: undefined })).toEqual([]); - expect( - getElementKeyframes({ - animations: { - channels: { opacity: { valueKind: "number", keyframes: [] } }, - }, - }), - ).toEqual([]); - }); - - test("hasKeyframesForPath returns true only for paths with keyframes", () => { - const animations: ElementAnimations = { - channels: { - "transform.position.x": { - valueKind: "number", - keyframes: [{ id: "x-1", time: 1, value: 64, interpolation: "linear" }], - }, - "transform.position.y": { - valueKind: "number", - keyframes: [], - }, - }, - }; - - expect( - hasKeyframesForPath({ animations, propertyPath: "transform.position.x" }), - ).toBe(true); - expect( - hasKeyframesForPath({ animations, propertyPath: "transform.position.y" }), - ).toBe(false); - }); - - test("getKeyframeAtTime finds keyframe within epsilon and returns full object", () => { - const animations: ElementAnimations = { - channels: { - "transform.rotate": { - valueKind: "number", - keyframes: [ - { id: "r-1", time: 1, value: 15, interpolation: "linear" }, - { id: "r-2", time: 2, value: 30, interpolation: "linear" }, - ], - }, - }, - }; - - const found = getKeyframeAtTime({ - animations, - propertyPath: "transform.rotate", - time: 1.0008, - }); - expect(found?.id).toBe("r-1"); - expect(found?.value).toBe(15); - expect(found?.propertyPath).toBe("transform.rotate"); - - expect( - getKeyframeAtTime({ - animations, - propertyPath: "transform.rotate", - time: 1.01, - }), - ).toBeNull(); - }); -}); diff --git a/apps/web/src/lib/animation/color-channel.ts b/apps/web/src/lib/animation/color-channel.ts index 2a340f94..a34b469b 100644 --- a/apps/web/src/lib/animation/color-channel.ts +++ b/apps/web/src/lib/animation/color-channel.ts @@ -2,7 +2,7 @@ import type { AnimationPropertyPath, ColorAnimationChannel, ElementAnimations, -} from "@/types/animation"; +} from "@/lib/animation/types"; export function getColorChannelForPath({ animations, diff --git a/apps/web/src/lib/animation/effect-param-channel.ts b/apps/web/src/lib/animation/effect-param-channel.ts index 07efe4d8..323d9f54 100644 --- a/apps/web/src/lib/animation/effect-param-channel.ts +++ b/apps/web/src/lib/animation/effect-param-channel.ts @@ -1,8 +1,10 @@ -import type { Effect, EffectParamValues } from "@/types/effects"; +import type { ParamValues } from "@/lib/params"; +import type { Effect } from "@/lib/effects/types"; import type { ElementAnimations, + EffectParamPath, NumberAnimationChannel, -} from "@/types/animation"; +} from "@/lib/animation/types"; import { getChannel, removeKeyframe, @@ -11,19 +13,56 @@ import { } from "./keyframes"; import { getChannelValueAtTime } from "./interpolation"; -const EFFECT_PARAM_PATH_PREFIX = "effects."; -const EFFECT_PARAM_PATH_SUFFIX = ".params."; +export const EFFECT_PARAM_PATH_PREFIX = "effects."; +export const EFFECT_PARAM_PATH_SUFFIX = ".params."; -function buildEffectParamPath({ +export function buildEffectParamPath({ effectId, paramKey, }: { effectId: string; paramKey: string; -}): string { +}): EffectParamPath { return `${EFFECT_PARAM_PATH_PREFIX}${effectId}${EFFECT_PARAM_PATH_SUFFIX}${paramKey}`; } +export function isEffectParamPath({ + propertyPath, +}: { + propertyPath: string; +}): propertyPath is EffectParamPath { + return ( + propertyPath.startsWith(EFFECT_PARAM_PATH_PREFIX) && + propertyPath.includes(EFFECT_PARAM_PATH_SUFFIX) + ); +} + +export function parseEffectParamPath({ + propertyPath, +}: { + propertyPath: string; +}): { effectId: string; paramKey: string } | null { + if (!isEffectParamPath({ propertyPath })) { + return null; + } + + const withoutPrefix = propertyPath.slice(EFFECT_PARAM_PATH_PREFIX.length); + const separatorIndex = withoutPrefix.indexOf(EFFECT_PARAM_PATH_SUFFIX); + if (separatorIndex <= 0) { + return null; + } + + const effectId = withoutPrefix.slice(0, separatorIndex); + const paramKey = withoutPrefix.slice( + separatorIndex + EFFECT_PARAM_PATH_SUFFIX.length, + ); + if (!effectId || !paramKey) { + return null; + } + + return { effectId, paramKey }; +} + export function resolveEffectParamsAtTime({ effect, animations, @@ -32,8 +71,8 @@ export function resolveEffectParamsAtTime({ effect: Effect; animations: ElementAnimations | undefined; localTime: number; -}): EffectParamValues { - const resolved: EffectParamValues = {}; +}): ParamValues { + const resolved: ParamValues = {}; for (const [paramKey, staticValue] of Object.entries(effect.params)) { const path = buildEffectParamPath({ effectId: effect.id, paramKey }); diff --git a/apps/web/src/lib/animation/graphic-param-channel.ts b/apps/web/src/lib/animation/graphic-param-channel.ts new file mode 100644 index 00000000..e77e4c73 --- /dev/null +++ b/apps/web/src/lib/animation/graphic-param-channel.ts @@ -0,0 +1,79 @@ +import type { + ElementAnimations, + GraphicParamPath, +} from "@/lib/animation/types"; +import type { ParamValues } from "@/lib/params"; +import { + getGraphicDefinition, + resolveGraphicParams, +} from "@/lib/graphics"; +import { getChannel } from "./keyframes"; +import { getChannelValueAtTime } from "./interpolation"; + +export const GRAPHIC_PARAM_PATH_PREFIX = "params."; + +export function buildGraphicParamPath({ + paramKey, +}: { + paramKey: string; +}): GraphicParamPath { + return `${GRAPHIC_PARAM_PATH_PREFIX}${paramKey}`; +} + +export function isGraphicParamPath({ + propertyPath, +}: { + propertyPath: string; +}): propertyPath is GraphicParamPath { + return propertyPath.startsWith(GRAPHIC_PARAM_PATH_PREFIX); +} + +export function parseGraphicParamPath({ + propertyPath, +}: { + propertyPath: string; +}): { paramKey: string } | null { + if (!isGraphicParamPath({ propertyPath })) { + return null; + } + + const paramKey = propertyPath.slice(GRAPHIC_PARAM_PATH_PREFIX.length); + return paramKey.length > 0 ? { paramKey } : null; +} + +export function resolveGraphicParamsAtTime({ + element, + localTime, +}: { + element: { + definitionId: string; + params: ParamValues; + animations?: ElementAnimations; + }; + localTime: number; +}): ParamValues { + const definition = getGraphicDefinition({ + definitionId: element.definitionId, + }); + const baseParams = resolveGraphicParams(definition, element.params); + const resolved: ParamValues = { ...baseParams }; + + for (const param of definition.params) { + const path = buildGraphicParamPath({ paramKey: param.key }); + const channel = getChannel({ + animations: element.animations, + propertyPath: path, + }); + if (!channel || channel.keyframes.length === 0) { + continue; + } + + resolved[param.key] = getChannelValueAtTime({ + channel, + time: Math.max(0, localTime), + fallbackValue: baseParams[param.key] ?? param.default, + }) as number | string | boolean; + } + + return resolved; +} diff --git a/apps/web/src/lib/animation/index.ts b/apps/web/src/lib/animation/index.ts index c4396bb7..3dcddad3 100644 --- a/apps/web/src/lib/animation/index.ts +++ b/apps/web/src/lib/animation/index.ts @@ -1,6 +1,7 @@ export { getChannelValueAtTime, getNumberChannelValueAtTime, + getVectorChannelValueAtTime, normalizeChannel, } from "./interpolation"; @@ -13,6 +14,7 @@ export { setChannel, splitAnimationsAtTime, upsertElementKeyframe, + upsertPathKeyframe, } from "./keyframes"; export { @@ -21,7 +23,6 @@ export { resolveNumberAtTime, resolveOpacityAtTime, resolveTransformAtTime, - resolveVolumeAtTime, } from "./resolve"; export { @@ -31,6 +32,9 @@ export { getElementBaseValueForProperty, isAnimationPropertyPath, supportsAnimationProperty, + type AnimationPropertyDefinition, + type NumericSpec, + type NumericRange, withElementBaseValueForProperty, } from "./property-registry"; @@ -39,3 +43,29 @@ export { getKeyframeAtTime, hasKeyframesForPath, } from "./keyframe-query"; + +export { + buildGraphicParamPath, + isGraphicParamPath, + parseGraphicParamPath, + resolveGraphicParamsAtTime, +} from "./graphic-param-channel"; + +export { + isAnimationPath, + resolveAnimationTarget, + getParamValueKind, + getParamDefaultInterpolation, + type AnimationPathDescriptor, +} from "./target-resolver"; + +export { + getGroupKeyframesAtTime, + hasGroupKeyframeAtTime, + type GroupKeyframeRef, +} from "./property-groups"; + +export { + getVectorChannelForPath, + isVectorValue, +} from "./vector-channel"; diff --git a/apps/web/src/lib/animation/interpolation.ts b/apps/web/src/lib/animation/interpolation.ts index 7a6fc6cf..c5b9ea80 100644 --- a/apps/web/src/lib/animation/interpolation.ts +++ b/apps/web/src/lib/animation/interpolation.ts @@ -5,7 +5,10 @@ import type { DiscreteValue, DiscreteAnimationChannel, NumberAnimationChannel, -} from "@/types/animation"; + VectorAnimationChannel, + VectorValue, +} from "@/lib/animation/types"; +import { isVectorValue } from "./vector-channel"; import { TIME_EPSILON_SECONDS } from "@/constants/animation-constants"; function byTimeAscending({ @@ -59,12 +62,7 @@ function parseHexColor({ const green = parseHexChannel({ hex: `${greenHex}${greenHex}` }); const blue = parseHexChannel({ hex: `${blueHex}${blueHex}` }); const alpha = parseHexChannel({ hex: `${alphaHex}${alphaHex}` }); - if ( - red === null || - green === null || - blue === null || - alpha === null - ) { + if (red === null || green === null || blue === null || alpha === null) { return null; } @@ -77,12 +75,7 @@ function parseHexColor({ const blue = parseHexChannel({ hex: rawHex.slice(4, 6) }); const alphaHex = rawHex.length === 8 ? rawHex.slice(6, 8) : "ff"; const alpha = parseHexChannel({ hex: alphaHex }); - if ( - red === null || - green === null || - blue === null || - alpha === null - ) { + if (red === null || green === null || blue === null || alpha === null) { return null; } @@ -177,7 +170,10 @@ export function normalizeChannel<TChannel extends AnimationChannel>({ } as TChannel; } -function evaluateChannelValueAtTime<TKeyframe extends { time: number; value: TValue }, TValue>({ +function evaluateChannelValueAtTime< + TKeyframe extends { time: number; value: TValue }, + TValue, +>({ keyframes, time, fallbackValue, @@ -214,7 +210,11 @@ function evaluateChannelValueAtTime<TKeyframe extends { time: number; value: TVa return lastKeyframe.value; } - for (let keyframeIndex = 0; keyframeIndex < keyframes.length - 1; keyframeIndex++) { + for ( + let keyframeIndex = 0; + keyframeIndex < keyframes.length - 1; + keyframeIndex++ + ) { const leftKeyframe = keyframes[keyframeIndex]; const rightKeyframe = keyframes[keyframeIndex + 1]; @@ -304,6 +304,36 @@ export function getColorValueAtTime({ }); } +export function getVectorChannelValueAtTime({ + channel, + time, + fallbackValue, +}: { + channel: VectorAnimationChannel | undefined; + time: number; + fallbackValue: VectorValue; +}): VectorValue { + return evaluateChannelValueAtTime({ + keyframes: channel?.keyframes, + time, + fallbackValue, + getInterpolatedValue: ({ leftKeyframe, rightKeyframe, progress }) => { + if (leftKeyframe.interpolation === "hold") { + return leftKeyframe.value; + } + + return { + x: + leftKeyframe.value.x + + (rightKeyframe.value.x - leftKeyframe.value.x) * progress, + y: + leftKeyframe.value.y + + (rightKeyframe.value.y - leftKeyframe.value.y) * progress, + }; + }, + }); +} + function getDiscreteValueAtTime({ channel, time, @@ -358,6 +388,17 @@ export function getChannelValueAtTime({ }); } + if (channel.valueKind === "vector") { + if (!isVectorValue(fallbackValue)) { + return fallbackValue; + } + return getVectorChannelValueAtTime({ + channel, + time, + fallbackValue: fallbackValue as VectorValue, + }); + } + if (typeof fallbackValue !== "string" && typeof fallbackValue !== "boolean") { return fallbackValue; } diff --git a/apps/web/src/lib/animation/keyframe-query.ts b/apps/web/src/lib/animation/keyframe-query.ts index 6626e3e8..753e31d0 100644 --- a/apps/web/src/lib/animation/keyframe-query.ts +++ b/apps/web/src/lib/animation/keyframe-query.ts @@ -1,9 +1,10 @@ import { TIME_EPSILON_SECONDS } from "@/constants/animation-constants"; import type { - AnimationPropertyPath, + AnimationPath, ElementAnimations, ElementKeyframe, -} from "@/types/animation"; +} from "@/lib/animation/types"; +import { isAnimationPath } from "./target-resolver"; export function getElementKeyframes({ animations, @@ -16,12 +17,16 @@ export function getElementKeyframes({ return Object.entries(animations.channels).flatMap( ([propertyPath, channel]) => { - if (!channel || channel.keyframes.length === 0) { + if ( + !channel || + channel.keyframes.length === 0 || + !isAnimationPath({ propertyPath }) + ) { return []; } return channel.keyframes.map((keyframe) => ({ - propertyPath: propertyPath as AnimationPropertyPath, + propertyPath, id: keyframe.id, time: keyframe.time, value: keyframe.value, @@ -36,7 +41,7 @@ export function hasKeyframesForPath({ propertyPath, }: { animations: ElementAnimations | undefined; - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; }): boolean { const channel = animations?.channels[propertyPath]; return Boolean(channel && channel.keyframes.length > 0); @@ -48,7 +53,7 @@ export function getKeyframeAtTime({ time, }: { animations: ElementAnimations | undefined; - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; time: number; }): ElementKeyframe | null { const channel = animations?.channels[propertyPath]; diff --git a/apps/web/src/lib/animation/keyframes.ts b/apps/web/src/lib/animation/keyframes.ts index 3e3613f2..5fa99fb8 100644 --- a/apps/web/src/lib/animation/keyframes.ts +++ b/apps/web/src/lib/animation/keyframes.ts @@ -2,6 +2,7 @@ import type { AnimationChannel, AnimationInterpolation, AnimationKeyframe, + AnimationPath, AnimationPropertyPath, AnimationValue, AnimationValueKind, @@ -9,15 +10,19 @@ import type { DiscreteAnimationChannel, ElementAnimations, NumberAnimationChannel, -} from "@/types/animation"; + VectorAnimationChannel, +} from "@/lib/animation/types"; +import { isVectorValue } from "./vector-channel"; import { TIME_EPSILON_SECONDS } from "@/constants/animation-constants"; import { generateUUID } from "@/utils/id"; +import { snapToStep } from "@/utils/math"; import { getChannelValueAtTime, normalizeChannel } from "./interpolation"; import { coerceAnimationValueForProperty, getDefaultInterpolationForProperty, getAnimationPropertyDefinition, isAnimationPropertyPath, + type NumericRange, } from "./property-registry"; function isNearlySameTime({ @@ -126,6 +131,19 @@ function buildKeyframe({ }; } + if (channel.valueKind === "vector") { + if (!isVectorValue(value)) { + throw new Error("Vector channel keyframes require {x, y} values"); + } + + return { + id, + time, + value, + interpolation: interpolation === "hold" ? "hold" : "linear", + }; + } + if (typeof value !== "string" && typeof value !== "boolean") { throw new Error( "Discrete channel keyframes require boolean or string values", @@ -140,32 +158,178 @@ function buildKeyframe({ }; } -function createEmptyChannel({ - propertyPath, +function createEmptyChannelForValueKind({ + valueKind, }: { - propertyPath: AnimationPropertyPath; + valueKind: AnimationValueKind; }): AnimationChannel { - const propertyDefinition = getAnimationPropertyDefinition({ propertyPath }); - if (propertyDefinition.valueKind === "number") { + if (valueKind === "number") { return { valueKind: "number", keyframes: [], } satisfies NumberAnimationChannel; } - if (propertyDefinition.valueKind === "color") { + if (valueKind === "color") { return { valueKind: "color", keyframes: [], } satisfies ColorAnimationChannel; } + if (valueKind === "vector") { + return { + valueKind: "vector", + keyframes: [], + } satisfies VectorAnimationChannel; + } + return { valueKind: "discrete", keyframes: [], } satisfies DiscreteAnimationChannel; } +function clampNumericRange({ + value, + numericRange, +}: { + value: number; + numericRange: NumericRange | undefined; +}): number { + if (!numericRange) { + return value; + } + + const steppedValue = + numericRange.step != null + ? snapToStep({ value, step: numericRange.step }) + : value; + const minValue = numericRange.min ?? Number.NEGATIVE_INFINITY; + const maxValue = numericRange.max ?? Number.POSITIVE_INFINITY; + return Math.min(maxValue, Math.max(minValue, steppedValue)); +} + +function coerceAnimationValueForPath({ + value, + valueKind, + numericRange, +}: { + value: AnimationValue; + valueKind: AnimationValueKind; + numericRange?: NumericRange; +}): AnimationValue | null { + if (valueKind === "number") { + if (typeof value !== "number" || Number.isNaN(value)) { + return null; + } + + return clampNumericRange({ value, numericRange }); + } + + if (valueKind === "color") { + return typeof value === "string" ? value : null; + } + + if (valueKind === "vector") { + return isVectorValue(value) ? value : null; + } + + return typeof value === "string" || typeof value === "boolean" ? value : null; +} + +export function upsertPathKeyframe({ + animations, + propertyPath, + time, + value, + interpolation, + keyframeId, + valueKind, + defaultInterpolation, + numericRange, +}: { + animations: ElementAnimations | undefined; + propertyPath: AnimationPath; + time: number; + value: AnimationValue; + interpolation?: AnimationInterpolation; + keyframeId?: string; + valueKind: AnimationValueKind; + defaultInterpolation: AnimationInterpolation; + numericRange?: NumericRange; +}): ElementAnimations | undefined { + const coercedValue = coerceAnimationValueForPath({ + value, + valueKind, + numericRange, + }); + if (coercedValue === null) { + return animations; + } + + const channel = getChannel({ animations, propertyPath }); + const targetChannel = + channel && channel.valueKind === valueKind + ? channel + : createEmptyChannelForValueKind({ valueKind }); + const updatedChannel = upsertKeyframe({ + channel: targetChannel, + time, + value: coercedValue, + interpolation: interpolation ?? defaultInterpolation, + keyframeId, + }); + + return ( + setChannel({ + animations, + propertyPath, + channel: updatedChannel, + }) ?? { channels: {} } + ); +} + +export function upsertElementKeyframe({ + animations, + propertyPath, + time, + value, + interpolation, + keyframeId, +}: { + animations: ElementAnimations | undefined; + propertyPath: AnimationPropertyPath; + time: number; + value: AnimationValue; + interpolation?: AnimationInterpolation; + keyframeId?: string; +}): ElementAnimations | undefined { + const coercedValue = coerceAnimationValueForProperty({ + propertyPath, + value, + }); + if (coercedValue === null) { + return animations; + } + + const propertyDefinition = getAnimationPropertyDefinition({ propertyPath }); + return upsertPathKeyframe({ + animations, + propertyPath, + time, + value: coercedValue, + interpolation, + keyframeId, + valueKind: propertyDefinition.valueKind, + defaultInterpolation: getDefaultInterpolationForProperty({ + propertyPath, + }), + numericRange: propertyDefinition.numericRange, + }); +} + + export function upsertKeyframe({ channel, time, @@ -516,62 +680,13 @@ export function splitAnimationsAtTime({ }; } -export function upsertElementKeyframe({ - animations, - propertyPath, - time, - value, - interpolation, - keyframeId, -}: { - animations: ElementAnimations | undefined; - propertyPath: AnimationPropertyPath; - time: number; - value: AnimationValue; - interpolation?: AnimationInterpolation; - keyframeId?: string; -}): ElementAnimations | undefined { - const coercedValue = coerceAnimationValueForProperty({ - propertyPath, - value, - }); - if (coercedValue === null) { - return animations; - } - - const defaultInterpolation = getDefaultInterpolationForProperty({ - propertyPath, - }); - const propertyDefinition = getAnimationPropertyDefinition({ propertyPath }); - const channel = getChannel({ animations, propertyPath }); - const targetChannel = - channel && channel.valueKind === propertyDefinition.valueKind - ? channel - : createEmptyChannel({ propertyPath }); - const updatedChannel = upsertKeyframe({ - channel: targetChannel, - time, - value: coercedValue, - interpolation: interpolation ?? defaultInterpolation, - keyframeId, - }); - - return ( - setChannel({ - animations, - propertyPath, - channel: updatedChannel, - }) ?? { channels: {} } - ); -} - export function removeElementKeyframe({ animations, propertyPath, keyframeId, }: { animations: ElementAnimations | undefined; - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; keyframeId: string; }): ElementAnimations | undefined { const channel = getChannel({ animations, propertyPath }); @@ -593,7 +708,7 @@ export function retimeElementKeyframe({ time, }: { animations: ElementAnimations | undefined; - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; keyframeId: string; time: number; }): ElementAnimations | undefined { diff --git a/apps/web/src/lib/animation/number-channel.ts b/apps/web/src/lib/animation/number-channel.ts index 67166156..859da863 100644 --- a/apps/web/src/lib/animation/number-channel.ts +++ b/apps/web/src/lib/animation/number-channel.ts @@ -2,7 +2,7 @@ import type { AnimationPropertyPath, ElementAnimations, NumberAnimationChannel, -} from "@/types/animation"; +} from "@/lib/animation/types"; export function getNumberChannelForPath({ animations, diff --git a/apps/web/src/lib/animation/property-groups.ts b/apps/web/src/lib/animation/property-groups.ts new file mode 100644 index 00000000..61b4fc4a --- /dev/null +++ b/apps/web/src/lib/animation/property-groups.ts @@ -0,0 +1,39 @@ +import type { + AnimationPropertyGroup, + AnimationPropertyPath, + ElementAnimations, +} from "@/lib/animation/types"; +import { ANIMATION_PROPERTY_GROUPS } from "@/lib/animation/types"; +import { getKeyframeAtTime } from "./keyframe-query"; + +export interface GroupKeyframeRef { + propertyPath: AnimationPropertyPath; + keyframeId: string; +} + +export function getGroupKeyframesAtTime({ + animations, + group, + time, +}: { + animations: ElementAnimations | undefined; + group: AnimationPropertyGroup; + time: number; +}): GroupKeyframeRef[] { + return ANIMATION_PROPERTY_GROUPS[group].flatMap((propertyPath) => { + const keyframe = getKeyframeAtTime({ animations, propertyPath, time }); + return keyframe ? [{ propertyPath, keyframeId: keyframe.id }] : []; + }); +} + +export function hasGroupKeyframeAtTime({ + animations, + group, + time, +}: { + animations: ElementAnimations | undefined; + group: AnimationPropertyGroup; + time: number; +}): boolean { + return getGroupKeyframesAtTime({ animations, group, time }).length > 0; +} diff --git a/apps/web/src/lib/animation/property-registry.ts b/apps/web/src/lib/animation/property-registry.ts index 361ae3ba..0b28e783 100644 --- a/apps/web/src/lib/animation/property-registry.ts +++ b/apps/web/src/lib/animation/property-registry.ts @@ -4,25 +4,35 @@ import type { AnimationValue, AnimationValueKind, DiscreteValue, -} from "@/types/animation"; -import type { TimelineElement } from "@/types/timeline"; + VectorValue, +} from "@/lib/animation/types"; +import { isVectorValue } from "./vector-channel"; +import type { TimelineElement } from "@/lib/timeline"; import { MIN_TRANSFORM_SCALE } from "@/constants/animation-constants"; import { CORNER_RADIUS_MAX, CORNER_RADIUS_MIN, - DEFAULT_TEXT_BACKGROUND, } from "@/constants/text-constants"; -import { isVisualElement } from "@/lib/timeline/element-utils"; +import { + canElementHaveAudio, + isVisualElement, +} from "@/lib/timeline/element-utils"; +import { VOLUME_DB_MAX, VOLUME_DB_MIN } from "@/lib/timeline/audio-constants"; +import { DEFAULTS } from "@/lib/timeline/defaults"; +import { snapToStep } from "@/utils/math"; -interface NumericRange { +export interface NumericSpec { min?: number; max?: number; + step?: number; } -interface AnimationPropertyDefinition { +export type NumericRange = NumericSpec; + +export interface AnimationPropertyDefinition { valueKind: AnimationValueKind; defaultInterpolation: AnimationInterpolation; - numericRange?: NumericRange; + numericRange?: NumericSpec; supportsElement: ({ element }: { element: TimelineElement }) => boolean; getValue: ({ element }: { element: TimelineElement }) => AnimationValue | null; setValue: ({ @@ -38,58 +48,57 @@ const ANIMATION_PROPERTY_REGISTRY: Record< AnimationPropertyPath, AnimationPropertyDefinition > = { - "transform.position.x": { - valueKind: "number", + "transform.position": { + valueKind: "vector", defaultInterpolation: "linear", supportsElement: ({ element }) => isVisualElement(element), getValue: ({ element }) => - isVisualElement(element) ? element.transform.position.x : null, + isVisualElement(element) ? element.transform.position : null, setValue: ({ element, value }) => isVisualElement(element) ? { ...element, transform: { ...element.transform, - position: { ...element.transform.position, x: value as number }, + position: value as VectorValue, }, } : element, }, - "transform.position.y": { + "transform.scaleX": { valueKind: "number", defaultInterpolation: "linear", + numericRange: { min: MIN_TRANSFORM_SCALE, step: 0.01 }, supportsElement: ({ element }) => isVisualElement(element), getValue: ({ element }) => - isVisualElement(element) ? element.transform.position.y : null, + isVisualElement(element) ? element.transform.scaleX : null, setValue: ({ element, value }) => isVisualElement(element) ? { ...element, - transform: { - ...element.transform, - position: { ...element.transform.position, y: value as number }, - }, + transform: { ...element.transform, scaleX: value as number }, } : element, }, - "transform.scale": { + "transform.scaleY": { valueKind: "number", defaultInterpolation: "linear", - numericRange: { min: MIN_TRANSFORM_SCALE }, + numericRange: { min: MIN_TRANSFORM_SCALE, step: 0.01 }, supportsElement: ({ element }) => isVisualElement(element), getValue: ({ element }) => - isVisualElement(element) ? element.transform.scale : null, + isVisualElement(element) ? element.transform.scaleY : null, setValue: ({ element, value }) => isVisualElement(element) ? { ...element, - transform: { ...element.transform, scale: value as number }, + transform: { ...element.transform, scaleY: value as number }, } : element, }, "transform.rotate": { valueKind: "number", defaultInterpolation: "linear", + numericRange: { min: -360, max: 360, step: 1 }, supportsElement: ({ element }) => isVisualElement(element), getValue: ({ element }) => isVisualElement(element) ? element.transform.rotate : null, @@ -104,7 +113,7 @@ const ANIMATION_PROPERTY_REGISTRY: Record< opacity: { valueKind: "number", defaultInterpolation: "linear", - numericRange: { min: 0, max: 1 }, + numericRange: { min: 0, max: 1, step: 0.01 }, supportsElement: ({ element }) => isVisualElement(element), getValue: ({ element }) => isVisualElement(element) ? element.opacity : null, @@ -116,12 +125,12 @@ const ANIMATION_PROPERTY_REGISTRY: Record< volume: { valueKind: "number", defaultInterpolation: "linear", - numericRange: { min: 0, max: 1 }, - supportsElement: ({ element }) => element.type === "audio", + numericRange: { min: VOLUME_DB_MIN, max: VOLUME_DB_MAX, step: 0.01 }, + supportsElement: ({ element }) => canElementHaveAudio(element), getValue: ({ element }) => - element.type === "audio" ? element.volume : null, + canElementHaveAudio(element) ? element.volume ?? 0 : null, setValue: ({ element, value }) => - element.type === "audio" + canElementHaveAudio(element) ? { ...element, volume: value as number } : element, }, @@ -152,11 +161,11 @@ const ANIMATION_PROPERTY_REGISTRY: Record< "background.paddingX": { valueKind: "number", defaultInterpolation: "linear", - numericRange: { min: 0 }, + numericRange: { min: 0, step: 1 }, supportsElement: ({ element }) => element.type === "text", getValue: ({ element }) => element.type === "text" - ? (element.background.paddingX ?? DEFAULT_TEXT_BACKGROUND.paddingX) + ? (element.background.paddingX ?? DEFAULTS.text.background.paddingX) : null, setValue: ({ element, value }) => element.type === "text" @@ -169,11 +178,11 @@ const ANIMATION_PROPERTY_REGISTRY: Record< "background.paddingY": { valueKind: "number", defaultInterpolation: "linear", - numericRange: { min: 0 }, + numericRange: { min: 0, step: 1 }, supportsElement: ({ element }) => element.type === "text", getValue: ({ element }) => element.type === "text" - ? (element.background.paddingY ?? DEFAULT_TEXT_BACKGROUND.paddingY) + ? (element.background.paddingY ?? DEFAULTS.text.background.paddingY) : null, setValue: ({ element, value }) => element.type === "text" @@ -186,10 +195,11 @@ const ANIMATION_PROPERTY_REGISTRY: Record< "background.offsetX": { valueKind: "number", defaultInterpolation: "linear", + numericRange: { step: 1 }, supportsElement: ({ element }) => element.type === "text", getValue: ({ element }) => element.type === "text" - ? (element.background.offsetX ?? DEFAULT_TEXT_BACKGROUND.offsetX) + ? (element.background.offsetX ?? DEFAULTS.text.background.offsetX) : null, setValue: ({ element, value }) => element.type === "text" @@ -202,10 +212,11 @@ const ANIMATION_PROPERTY_REGISTRY: Record< "background.offsetY": { valueKind: "number", defaultInterpolation: "linear", + numericRange: { step: 1 }, supportsElement: ({ element }) => element.type === "text", getValue: ({ element }) => element.type === "text" - ? (element.background.offsetY ?? DEFAULT_TEXT_BACKGROUND.offsetY) + ? (element.background.offsetY ?? DEFAULTS.text.background.offsetY) : null, setValue: ({ element, value }) => element.type === "text" @@ -218,7 +229,7 @@ const ANIMATION_PROPERTY_REGISTRY: Record< "background.cornerRadius": { valueKind: "number", defaultInterpolation: "linear", - numericRange: { min: CORNER_RADIUS_MIN, max: CORNER_RADIUS_MAX }, + numericRange: { min: CORNER_RADIUS_MIN, max: CORNER_RADIUS_MAX, step: 1 }, supportsElement: ({ element }) => element.type === "text", getValue: ({ element }) => element.type === "text" @@ -304,20 +315,24 @@ export function getDefaultInterpolationForProperty({ return propertyDefinition.defaultInterpolation; } -function clampNumericRange({ +function applyNumericSpec({ value, numericRange, }: { value: number; - numericRange: NumericRange | undefined; + numericRange: NumericSpec | undefined; }): number { if (!numericRange) { return value; } + const steppedValue = + numericRange.step != null + ? snapToStep({ value, step: numericRange.step }) + : value; const minValue = numericRange.min ?? Number.NEGATIVE_INFINITY; const maxValue = numericRange.max ?? Number.POSITIVE_INFINITY; - return Math.min(maxValue, Math.max(minValue, value)); + return Math.min(maxValue, Math.max(minValue, steppedValue)); } export function coerceAnimationValueForProperty({ @@ -334,7 +349,7 @@ export function coerceAnimationValueForProperty({ return null; } - return clampNumericRange({ + return applyNumericSpec({ value, numericRange: propertyDefinition.numericRange, }); @@ -344,6 +359,10 @@ export function coerceAnimationValueForProperty({ return typeof value === "string" ? value : null; } + if (propertyDefinition.valueKind === "vector") { + return isVectorValue(value) ? value : null; + } + if (typeof value === "string" || typeof value === "boolean") { return value as DiscreteValue; } diff --git a/apps/web/src/lib/animation/resolve.ts b/apps/web/src/lib/animation/resolve.ts index 147be1b3..8709627d 100644 --- a/apps/web/src/lib/animation/resolve.ts +++ b/apps/web/src/lib/animation/resolve.ts @@ -1,8 +1,16 @@ -import type { AnimationPropertyPath, ElementAnimations } from "@/types/animation"; -import type { Transform } from "@/types/timeline"; -import { getColorValueAtTime, getNumberChannelValueAtTime } from "./interpolation"; +import type { + AnimationPropertyPath, + ElementAnimations, +} from "@/lib/animation/types"; +import type { Transform } from "@/lib/rendering"; +import { + getColorValueAtTime, + getNumberChannelValueAtTime, + getVectorChannelValueAtTime, +} from "./interpolation"; import { getColorChannelForPath } from "./color-channel"; import { getNumberChannelForPath } from "./number-channel"; +import { getVectorChannelForPath } from "./vector-channel"; export function getElementLocalTime({ timelineTime, @@ -36,31 +44,29 @@ export function resolveTransformAtTime({ }): Transform { const safeLocalTime = Math.max(0, localTime); return { - position: { - x: getNumberChannelValueAtTime({ - channel: getNumberChannelForPath({ - animations, - propertyPath: "transform.position.x", - }), - time: safeLocalTime, - fallbackValue: baseTransform.position.x, + position: getVectorChannelValueAtTime({ + channel: getVectorChannelForPath({ + animations, + propertyPath: "transform.position", }), - y: getNumberChannelValueAtTime({ - channel: getNumberChannelForPath({ - animations, - propertyPath: "transform.position.y", - }), - time: safeLocalTime, - fallbackValue: baseTransform.position.y, + time: safeLocalTime, + fallbackValue: baseTransform.position, + }), + scaleX: getNumberChannelValueAtTime({ + channel: getNumberChannelForPath({ + animations, + propertyPath: "transform.scaleX", }), - }, - scale: getNumberChannelValueAtTime({ + time: safeLocalTime, + fallbackValue: baseTransform.scaleX, + }), + scaleY: getNumberChannelValueAtTime({ channel: getNumberChannelForPath({ animations, - propertyPath: "transform.scale", + propertyPath: "transform.scaleY", }), time: safeLocalTime, - fallbackValue: baseTransform.scale, + fallbackValue: baseTransform.scaleY, }), rotate: getNumberChannelValueAtTime({ channel: getNumberChannelForPath({ @@ -127,22 +133,3 @@ export function resolveColorAtTime({ fallbackValue: baseColor, }); } - -export function resolveVolumeAtTime({ - baseVolume, - animations, - localTime, -}: { - baseVolume: number; - animations: ElementAnimations | undefined; - localTime: number; -}): number { - return getNumberChannelValueAtTime({ - channel: getNumberChannelForPath({ - animations, - propertyPath: "volume", - }), - time: Math.max(0, localTime), - fallbackValue: baseVolume, - }); -} diff --git a/apps/web/src/lib/animation/target-resolver.ts b/apps/web/src/lib/animation/target-resolver.ts new file mode 100644 index 00000000..e801bc68 --- /dev/null +++ b/apps/web/src/lib/animation/target-resolver.ts @@ -0,0 +1,279 @@ +import type { + AnimationInterpolation, + AnimationPath, + AnimationValue, + AnimationValueKind, +} from "@/lib/animation/types"; +import { + parseEffectParamPath, + isEffectParamPath, +} from "@/lib/animation/effect-param-channel"; +import { + isGraphicParamPath, + parseGraphicParamPath, +} from "@/lib/animation/graphic-param-channel"; +import type { ParamDefinition } from "@/lib/params"; +import { effectsRegistry, registerDefaultEffects } from "@/lib/effects"; +import { getGraphicDefinition } from "@/lib/graphics"; +import type { TimelineElement } from "@/lib/timeline"; +import { isVisualElement } from "@/lib/timeline/element-utils"; +import { snapToStep } from "@/utils/math"; +import { + coerceAnimationValueForProperty, + getAnimationPropertyDefinition, + getElementBaseValueForProperty, + isAnimationPropertyPath, + type NumericSpec, + withElementBaseValueForProperty, +} from "./property-registry"; + +export interface AnimationPathDescriptor { + valueKind: AnimationValueKind; + defaultInterpolation: AnimationInterpolation; + numericRange?: NumericSpec; + getBaseValue(): AnimationValue | null; + setBaseValue(value: AnimationValue): TimelineElement; +} + +export function getParamValueKind({ + param, +}: { + param: ParamDefinition; +}): AnimationValueKind { + if (param.type === "number") { + return "number"; + } + + if (param.type === "color") { + return "color"; + } + + return "discrete"; +} + +export function getParamDefaultInterpolation({ + param, +}: { + param: ParamDefinition; +}): AnimationInterpolation { + return param.type === "number" || param.type === "color" ? "linear" : "hold"; +} + +function getParamNumericRange({ + param, +}: { + param: ParamDefinition; +}): NumericSpec | undefined { + if (param.type !== "number") { + return undefined; + } + + return { + min: param.min, + max: param.max, + step: param.step, + }; +} + +function coerceParamValue({ + param, + value, +}: { + param: ParamDefinition; + value: AnimationValue; +}): number | string | boolean | null { + if (param.type === "number") { + if (typeof value !== "number" || Number.isNaN(value)) { + return null; + } + + const steppedValue = snapToStep({ value, step: param.step }); + const minValue = param.min; + const maxValue = param.max ?? Number.POSITIVE_INFINITY; + return Math.min(maxValue, Math.max(minValue, steppedValue)); + } + + if (param.type === "color") { + return typeof value === "string" ? value : null; + } + + if (param.type === "boolean") { + return typeof value === "boolean" ? value : null; + } + + if (typeof value !== "string") { + return null; + } + + return param.options.some((option) => option.value === value) ? value : null; +} + +function buildGraphicParamDescriptor({ + element, + paramKey, +}: { + element: TimelineElement; + paramKey: string; +}): AnimationPathDescriptor | null { + if (element.type !== "graphic") { + return null; + } + + const definition = getGraphicDefinition({ + definitionId: element.definitionId, + }); + const param = definition.params.find((candidate) => candidate.key === paramKey); + if (!param) { + return null; + } + + return { + valueKind: getParamValueKind({ param }), + defaultInterpolation: getParamDefaultInterpolation({ param }), + numericRange: getParamNumericRange({ param }), + getBaseValue: () => element.params[param.key] ?? param.default, + setBaseValue: (value) => { + const coercedValue = coerceParamValue({ param, value }); + if (coercedValue === null) { + return element; + } + + return { + ...element, + params: { + ...element.params, + [param.key]: coercedValue, + }, + }; + }, + }; +} + +function buildEffectParamDescriptor({ + element, + effectId, + paramKey, +}: { + element: TimelineElement; + effectId: string; + paramKey: string; +}): AnimationPathDescriptor | null { + if (!isVisualElement(element)) { + return null; + } + + const effect = element.effects?.find((candidate) => candidate.id === effectId); + if (!effect) { + return null; + } + + registerDefaultEffects(); + const definition = effectsRegistry.get(effect.type); + const param = definition.params.find((candidate) => candidate.key === paramKey); + if (!param) { + return null; + } + + return { + valueKind: getParamValueKind({ param }), + defaultInterpolation: getParamDefaultInterpolation({ param }), + numericRange: getParamNumericRange({ param }), + getBaseValue: () => effect.params[param.key] ?? param.default, + setBaseValue: (value) => { + const coercedValue = coerceParamValue({ param, value }); + if (coercedValue === null) { + return element; + } + + return { + ...element, + effects: + element.effects?.map((candidate) => + candidate.id !== effectId + ? candidate + : { + ...candidate, + params: { + ...candidate.params, + [param.key]: coercedValue, + }, + }, + ) ?? element.effects, + }; + }, + }; +} + +export function isAnimationPath({ + propertyPath, +}: { + propertyPath: string; +}): propertyPath is AnimationPath { + return ( + isAnimationPropertyPath({ propertyPath }) || + isGraphicParamPath({ propertyPath }) || + isEffectParamPath({ propertyPath }) + ); +} + +export function resolveAnimationTarget({ + element, + path, +}: { + element: TimelineElement; + path: AnimationPath; +}): AnimationPathDescriptor | null { + if (isAnimationPropertyPath({ propertyPath: path })) { + const propertyDefinition = getAnimationPropertyDefinition({ + propertyPath: path, + }); + if (!propertyDefinition.supportsElement({ element })) { + return null; + } + + return { + valueKind: propertyDefinition.valueKind, + defaultInterpolation: propertyDefinition.defaultInterpolation, + numericRange: propertyDefinition.numericRange, + getBaseValue: () => + getElementBaseValueForProperty({ + element, + propertyPath: path, + }), + setBaseValue: (value) => { + const coercedValue = coerceAnimationValueForProperty({ + propertyPath: path, + value, + }); + if (coercedValue === null) { + return element; + } + + return withElementBaseValueForProperty({ + element, + propertyPath: path, + value: coercedValue, + }); + }, + }; + } + + const graphicParamTarget = parseGraphicParamPath({ propertyPath: path }); + if (graphicParamTarget) { + return buildGraphicParamDescriptor({ + element, + paramKey: graphicParamTarget.paramKey, + }); + } + + const effectParamTarget = parseEffectParamPath({ propertyPath: path }); + if (effectParamTarget) { + return buildEffectParamDescriptor({ + element, + effectId: effectParamTarget.effectId, + paramKey: effectParamTarget.paramKey, + }); + } + + return null; +} diff --git a/apps/web/src/types/animation.ts b/apps/web/src/lib/animation/types.ts index 825894c5..913911d0 100644 --- a/apps/web/src/types/animation.ts +++ b/apps/web/src/lib/animation/types.ts @@ -1,7 +1,7 @@ export const ANIMATION_PROPERTY_PATHS = [ - "transform.position.x", - "transform.position.y", - "transform.scale", + "transform.position", + "transform.scaleX", + "transform.scaleY", "transform.rotate", "opacity", "volume", @@ -15,10 +15,24 @@ export const ANIMATION_PROPERTY_PATHS = [ ] as const; export type AnimationPropertyPath = (typeof ANIMATION_PROPERTY_PATHS)[number]; +export type GraphicParamPath = `params.${string}`; +export type EffectParamPath = `effects.${string}.params.${string}`; +export type AnimationPath = + | AnimationPropertyPath + | GraphicParamPath + | EffectParamPath; -export type AnimationValueKind = "number" | "color" | "discrete"; +export const ANIMATION_PROPERTY_GROUPS = { + "transform.scale": ["transform.scaleX", "transform.scaleY"], +} as const satisfies Record<string, ReadonlyArray<AnimationPropertyPath>>; + +export type AnimationPropertyGroup = keyof typeof ANIMATION_PROPERTY_GROUPS; + +export type VectorValue = { x: number; y: number }; + +export type AnimationValueKind = "number" | "color" | "discrete" | "vector"; export type DiscreteValue = boolean | string; -export type AnimationValue = number | string | boolean; +export type AnimationValue = number | string | boolean | VectorValue; export type ContinuousKeyframeInterpolation = "linear" | "hold"; export type DiscreteKeyframeInterpolation = "hold"; @@ -45,10 +59,14 @@ export interface ColorKeyframe export interface DiscreteKeyframe extends BaseAnimationKeyframe<DiscreteValue, DiscreteKeyframeInterpolation> {} +export interface VectorKeyframe + extends BaseAnimationKeyframe<VectorValue, ContinuousKeyframeInterpolation> {} + export type AnimationKeyframe = | NumberKeyframe | ColorKeyframe - | DiscreteKeyframe; + | DiscreteKeyframe + | VectorKeyframe; interface BaseAnimationChannel< TValueKind extends AnimationValueKind, @@ -67,10 +85,14 @@ export interface ColorAnimationChannel export interface DiscreteAnimationChannel extends BaseAnimationChannel<"discrete", DiscreteKeyframe> {} +export interface VectorAnimationChannel + extends BaseAnimationChannel<"vector", VectorKeyframe> {} + export type AnimationChannel = | NumberAnimationChannel | ColorAnimationChannel - | DiscreteAnimationChannel; + | DiscreteAnimationChannel + | VectorAnimationChannel; export type ElementAnimationChannelMap = Record< string, @@ -82,7 +104,7 @@ export interface ElementAnimations { } export interface ElementKeyframe { - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; id: string; time: number; value: AnimationValue; @@ -92,6 +114,6 @@ export interface ElementKeyframe { export interface SelectedKeyframeRef { trackId: string; elementId: string; - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; keyframeId: string; } diff --git a/apps/web/src/lib/animation/vector-channel.ts b/apps/web/src/lib/animation/vector-channel.ts new file mode 100644 index 00000000..50c62e40 --- /dev/null +++ b/apps/web/src/lib/animation/vector-channel.ts @@ -0,0 +1,72 @@ +import type { + AnimationPropertyPath, + ElementAnimations, + VectorAnimationChannel, + VectorValue, +} from "@/lib/animation/types"; + +export function isVectorValue(value: unknown): value is VectorValue { + return ( + typeof value === "object" && + value !== null && + "x" in value && + "y" in value && + typeof (value as VectorValue).x === "number" && + typeof (value as VectorValue).y === "number" + ); +} + +export function getVectorChannelForPath({ + animations, + propertyPath, +}: { + animations: ElementAnimations | undefined; + propertyPath: AnimationPropertyPath; +}): VectorAnimationChannel | undefined { + const channel = animations?.channels[propertyPath]; + if (!channel || channel.valueKind !== "vector") { + return undefined; + } + return channel; +} + +export function getVectorChannelValueAtTime({ + channel, + time, + fallbackValue, +}: { + channel: VectorAnimationChannel | undefined; + time: number; + fallbackValue: VectorValue; +}): VectorValue { + if (!channel || channel.keyframes.length === 0) { + return fallbackValue; + } + + const keyframes = [...channel.keyframes].sort((a, b) => a.time - b.time); + const first = keyframes[0]; + const last = keyframes[keyframes.length - 1]; + + if (!first || !last) return fallbackValue; + if (time <= first.time) return first.value; + if (time >= last.time) return last.value; + + for (let i = 0; i < keyframes.length - 1; i++) { + const left = keyframes[i]; + const right = keyframes[i + 1]; + if (time < left.time || time > right.time) continue; + + if (left.interpolation === "hold") return left.value; + + const span = right.time - left.time; + if (span === 0) return right.value; + + const t = (time - left.time) / span; + return { + x: left.value.x + (right.value.x - left.value.x) * t, + y: left.value.y + (right.value.y - left.value.y) * t, + }; + } + + return last.value; +} diff --git a/apps/web/src/lib/blog/query.ts b/apps/web/src/lib/blog/query.ts index f814eeaf..5f7c7474 100644 --- a/apps/web/src/lib/blog/query.ts +++ b/apps/web/src/lib/blog/query.ts @@ -5,7 +5,7 @@ import type { MarblePost, MarblePostList, MarbleTagList, -} from "@/types/blog"; +} from "@/lib/blog/types"; import { unified } from "unified"; import rehypeParse from "rehype-parse"; import rehypeStringify from "rehype-stringify"; diff --git a/apps/web/src/types/blog.ts b/apps/web/src/lib/blog/types.ts index 16795b02..16795b02 100644 --- a/apps/web/src/types/blog.ts +++ b/apps/web/src/lib/blog/types.ts diff --git a/apps/web/src/lib/cancel-interaction.ts b/apps/web/src/lib/cancel-interaction.ts new file mode 100644 index 00000000..0cb07f4f --- /dev/null +++ b/apps/web/src/lib/cancel-interaction.ts @@ -0,0 +1,24 @@ +type CancelFn = () => void; + +const cancellers = new Set<CancelFn>(); + +export function registerCanceller({ fn }: { fn: CancelFn }): () => void { + cancellers.add(fn); + + return () => { + cancellers.delete(fn); + }; +} + +export function cancelInteraction(): boolean { + if (cancellers.size === 0) return false; + + const activeCancellers = Array.from(cancellers); + cancellers.clear(); + + for (const cancel of activeCancellers) { + cancel(); + } + + return true; +} diff --git a/apps/web/src/lib/commands/__tests__/keyframe-aware-commands.test.ts b/apps/web/src/lib/commands/__tests__/keyframe-aware-commands.test.ts deleted file mode 100644 index d2356a39..00000000 --- a/apps/web/src/lib/commands/__tests__/keyframe-aware-commands.test.ts +++ /dev/null @@ -1,433 +0,0 @@ -import { afterEach, describe, expect, test } from "bun:test"; -import { EditorCore } from "@/core"; -import type { TimelineTrack, VideoElement } from "@/types/timeline"; -import { DEFAULT_TRANSFORM } from "@/constants/timeline-constants"; -import { UpdateElementDurationCommand } from "@/lib/commands/timeline/element/update-element-duration"; -import { UpdateElementTrimCommand } from "@/lib/commands/timeline/element/update-element-trim"; -import { SplitElementsCommand } from "@/lib/commands/timeline/element/split-elements"; -import { DuplicateElementsCommand } from "@/lib/commands/timeline/element/duplicate-elements"; -import { UpsertKeyframeCommand } from "@/lib/commands/timeline/element/keyframes/upsert-keyframe"; -import { RemoveKeyframeCommand } from "@/lib/commands/timeline/element/keyframes/remove-keyframe"; -import { RetimeKeyframeCommand } from "@/lib/commands/timeline/element/keyframes/retime-keyframe"; - -type MockEditor = { - timeline: { - getTracks: () => TimelineTrack[]; - updateTracks: (tracks: TimelineTrack[]) => void; - }; - selection: { - getSelectedElements: () => { trackId: string; elementId: string }[]; - setSelectedElements: ({ - elements, - }: { - elements: { trackId: string; elementId: string }[]; - }) => void; - }; -}; - -const originalGetInstance = EditorCore.getInstance; - -function mockEditorCore({ editor }: { editor: MockEditor }): void { - ( - EditorCore as unknown as { - getInstance: () => EditorCore; - } - ).getInstance = () => editor as unknown as EditorCore; -} - -function restoreEditorCore(): void { - ( - EditorCore as unknown as { - getInstance: typeof EditorCore.getInstance; - } - ).getInstance = originalGetInstance; -} - -function buildVideoElement(): VideoElement { - return { - id: "element-1", - name: "Clip", - type: "video", - mediaId: "media-1", - duration: 8, - startTime: 1, - trimStart: 0, - trimEnd: 0, - transform: DEFAULT_TRANSFORM, - opacity: 1, - animations: { - channels: { - "transform.scale": { - valueKind: "number", - keyframes: [ - { id: "kf-a", time: 0, value: 1, interpolation: "linear" }, - { id: "kf-b", time: 3, value: 1.5, interpolation: "linear" }, - { id: "kf-c", time: 6, value: 2, interpolation: "linear" }, - ], - }, - }, - }, - }; -} - -function buildTracks({ element }: { element: VideoElement }): TimelineTrack[] { - return [ - { - id: "track-1", - name: "Main", - type: "video", - elements: [element], - isMain: true, - muted: false, - hidden: false, - }, - ]; -} - -afterEach(() => { - restoreEditorCore(); -}); - -describe("keyframe-aware timeline commands", () => { - test("duration updates clamp keyframes beyond the new duration", () => { - const tracks = buildTracks({ element: buildVideoElement() }); - let updatedTracks: TimelineTrack[] = tracks; - mockEditorCore({ - editor: { - timeline: { - getTracks: () => tracks, - updateTracks: (nextTracks) => { - updatedTracks = nextTracks; - }, - }, - selection: { - getSelectedElements: () => [], - setSelectedElements: () => {}, - }, - }, - }); - - new UpdateElementDurationCommand({ - trackId: "track-1", - elementId: "element-1", - duration: 3, - }).execute(); - - const updatedElement = (updatedTracks[0].elements[0] as VideoElement).animations; - expect( - updatedElement?.channels["transform.scale"]?.keyframes.map( - (keyframe) => keyframe.time, - ), - ).toEqual([0, 3]); - }); - - test("trim updates clamp keyframes when duration is changed", () => { - const tracks = buildTracks({ element: buildVideoElement() }); - let updatedTracks: TimelineTrack[] = tracks; - mockEditorCore({ - editor: { - timeline: { - getTracks: () => tracks, - updateTracks: (nextTracks) => { - updatedTracks = nextTracks; - }, - }, - selection: { - getSelectedElements: () => [], - setSelectedElements: () => {}, - }, - }, - }); - - new UpdateElementTrimCommand({ - elementId: "element-1", - trimStart: 0, - trimEnd: 0, - startTime: 1, - duration: 2, - }).execute(); - - const updatedElement = updatedTracks[0].elements[0] as VideoElement; - expect(updatedElement.duration).toBe(2); - expect( - updatedElement.animations?.channels["transform.scale"]?.keyframes.map( - (keyframe) => keyframe.time, - ), - ).toEqual([0]); - }); - - test("split rebases right-side keyframes and keeps continuity at split time", () => { - const tracks = buildTracks({ element: buildVideoElement() }); - let updatedTracks: TimelineTrack[] = tracks; - mockEditorCore({ - editor: { - timeline: { - getTracks: () => tracks, - updateTracks: (nextTracks) => { - updatedTracks = nextTracks; - }, - }, - selection: { - getSelectedElements: () => [], - setSelectedElements: () => {}, - }, - }, - }); - - new SplitElementsCommand({ - elements: [{ trackId: "track-1", elementId: "element-1" }], - splitTime: 5, - }).execute(); - - const leftElement = updatedTracks[0].elements.find( - (element) => element.id === "element-1", - ) as VideoElement; - const rightElement = updatedTracks[0].elements.find( - (element) => element.id !== "element-1", - ) as VideoElement; - - expect( - leftElement.animations?.channels["transform.scale"]?.keyframes.map( - (keyframe) => keyframe.time, - ), - ).toEqual([0, 3, 4]); - expect( - rightElement.animations?.channels["transform.scale"]?.keyframes.map( - (keyframe) => keyframe.time, - ), - ).toEqual([0, 2]); - expect( - rightElement.animations?.channels["transform.scale"]?.keyframes[0]?.value, - ).toBeCloseTo(5 / 3, 4); - }); - - test("duplicate creates independent keyframe ids for copied element", () => { - const tracks = buildTracks({ element: buildVideoElement() }); - let updatedTracks: TimelineTrack[] = tracks; - mockEditorCore({ - editor: { - timeline: { - getTracks: () => tracks, - updateTracks: (nextTracks) => { - updatedTracks = nextTracks; - }, - }, - selection: { - getSelectedElements: () => [{ trackId: "track-1", elementId: "element-1" }], - setSelectedElements: () => {}, - }, - }, - }); - - new DuplicateElementsCommand({ - elements: [{ trackId: "track-1", elementId: "element-1" }], - }).execute(); - - const originalElement = updatedTracks.find( - (track) => track.id === "track-1", - )?.elements[0] as VideoElement; - const duplicatedTrack = updatedTracks.find((track) => track.id !== "track-1"); - const duplicatedElement = duplicatedTrack?.elements[0] as VideoElement; - - expect(duplicatedElement).toBeDefined(); - expect( - duplicatedElement.animations?.channels["transform.scale"]?.keyframes.map( - (keyframe) => keyframe.time, - ), - ).toEqual([0, 3, 6]); - expect( - duplicatedElement.animations?.channels["transform.scale"]?.keyframes[0]?.id, - ).not.toBe( - originalElement.animations?.channels["transform.scale"]?.keyframes[0]?.id, - ); - }); -}); - -describe("generic keyframe commands", () => { - test("upsert adds or updates keyframe at target time", () => { - const element = buildVideoElement(); - const tracks = buildTracks({ element }); - let updatedTracks: TimelineTrack[] = tracks; - mockEditorCore({ - editor: { - timeline: { - getTracks: () => tracks, - updateTracks: (nextTracks) => { - updatedTracks = nextTracks; - }, - }, - selection: { - getSelectedElements: () => [], - setSelectedElements: () => {}, - }, - }, - }); - - new UpsertKeyframeCommand({ - trackId: "track-1", - elementId: "element-1", - propertyPath: "transform.scale", - time: 2, - value: 2.5, - }).execute(); - - const updatedElement = updatedTracks[0].elements[0] as VideoElement; - const keyframes = - updatedElement.animations?.channels["transform.scale"]?.keyframes ?? []; - const atTwo = keyframes.find((keyframe) => Math.abs(keyframe.time - 2) < 0.001); - expect(atTwo?.value).toBe(2.5); - }); - - test("remove deletes keyframe by id", () => { - const element = buildVideoElement(); - const tracks = buildTracks({ element }); - let updatedTracks: TimelineTrack[] = tracks; - mockEditorCore({ - editor: { - timeline: { - getTracks: () => tracks, - updateTracks: (nextTracks) => { - updatedTracks = nextTracks; - }, - }, - selection: { - getSelectedElements: () => [], - setSelectedElements: () => {}, - }, - }, - }); - - new RemoveKeyframeCommand({ - trackId: "track-1", - elementId: "element-1", - propertyPath: "transform.scale", - keyframeId: "kf-b", - }).execute(); - - const updatedElement = updatedTracks[0].elements[0] as VideoElement; - const keyframes = - updatedElement.animations?.channels["transform.scale"]?.keyframes ?? []; - expect(keyframes).toHaveLength(2); - expect(keyframes.find((keyframe) => keyframe.id === "kf-b")).toBeUndefined(); - expect(updatedElement.transform.scale).toBe(1); - }); - - test("remove persists value to base property when channel becomes empty", () => { - const element: VideoElement = { - ...buildVideoElement(), - transform: { - ...DEFAULT_TRANSFORM, - scale: 1, - }, - animations: { - channels: { - "transform.scale": { - valueKind: "number", - keyframes: [ - { - id: "only-scale", - time: 2, - value: 1.43, - interpolation: "linear", - }, - ], - }, - }, - }, - }; - const tracks = buildTracks({ element }); - let updatedTracks: TimelineTrack[] = tracks; - mockEditorCore({ - editor: { - timeline: { - getTracks: () => tracks, - updateTracks: (nextTracks) => { - updatedTracks = nextTracks; - }, - }, - selection: { - getSelectedElements: () => [], - setSelectedElements: () => {}, - }, - }, - }); - - new RemoveKeyframeCommand({ - trackId: "track-1", - elementId: "element-1", - propertyPath: "transform.scale", - keyframeId: "only-scale", - }).execute(); - - const updatedElement = updatedTracks[0].elements[0] as VideoElement; - expect(updatedElement.transform.scale).toBe(1.43); - expect(updatedElement.animations?.channels["transform.scale"]).toBeUndefined(); - }); - - test("upsert supports non-transform paths like opacity", () => { - const element = buildVideoElement(); - const tracks = buildTracks({ element }); - let updatedTracks: TimelineTrack[] = tracks; - mockEditorCore({ - editor: { - timeline: { - getTracks: () => tracks, - updateTracks: (nextTracks) => { - updatedTracks = nextTracks; - }, - }, - selection: { - getSelectedElements: () => [], - setSelectedElements: () => {}, - }, - }, - }); - - new UpsertKeyframeCommand({ - trackId: "track-1", - elementId: "element-1", - propertyPath: "opacity", - time: 1, - value: 0.35, - }).execute(); - - const updatedElement = updatedTracks[0].elements[0] as VideoElement; - const opacityChannel = updatedElement.animations?.channels.opacity; - expect(opacityChannel?.valueKind).toBe("number"); - expect(opacityChannel?.keyframes[0]?.value).toBe(0.35); - }); - - test("retime moves keyframe to new time", () => { - const element = buildVideoElement(); - const tracks = buildTracks({ element }); - let updatedTracks: TimelineTrack[] = tracks; - mockEditorCore({ - editor: { - timeline: { - getTracks: () => tracks, - updateTracks: (nextTracks) => { - updatedTracks = nextTracks; - }, - }, - selection: { - getSelectedElements: () => [], - setSelectedElements: () => {}, - }, - }, - }); - - new RetimeKeyframeCommand({ - trackId: "track-1", - elementId: "element-1", - propertyPath: "transform.scale", - keyframeId: "kf-b", - nextTime: 4, - }).execute(); - - const updatedElement = updatedTracks[0].elements[0] as VideoElement; - const keyframe = updatedElement.animations?.channels["transform.scale"]?.keyframes.find( - (existingKeyframe) => existingKeyframe.id === "kf-b", - ); - expect(keyframe?.time).toBe(4); - }); -}); diff --git a/apps/web/src/lib/commands/index.ts b/apps/web/src/lib/commands/index.ts index a2119fc1..03de07c4 100644 --- a/apps/web/src/lib/commands/index.ts +++ b/apps/web/src/lib/commands/index.ts @@ -1,6 +1,5 @@ export { Command } from "./base-command"; export { BatchCommand } from "./batch-command"; -export { PreviewTracker } from "./preview-tracker"; export * from "./timeline"; export * from "./media"; diff --git a/apps/web/src/lib/commands/media/add-media-asset.ts b/apps/web/src/lib/commands/media/add-media-asset.ts index ddcca426..a3dec0e6 100644 --- a/apps/web/src/lib/commands/media/add-media-asset.ts +++ b/apps/web/src/lib/commands/media/add-media-asset.ts @@ -1,8 +1,10 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; -import type { MediaAsset } from "@/types/assets"; +import { toast } from "sonner"; +import type { MediaAsset } from "@/lib/media/types"; import { generateUUID } from "@/utils/id"; import { storageService } from "@/services/storage/service"; +import { hasMediaId } from "@/lib/timeline/element-utils"; export class AddMediaAssetCommand extends Command { private assetId: string; @@ -37,6 +39,36 @@ export class AddMediaAssetCommand extends Command { }) .catch((error) => { console.error("Failed to save media item:", error); + + const currentAssets = editor.media.getAssets(); + editor.media.setAssets({ + assets: currentAssets.filter((asset) => asset.id !== this.assetId), + }); + + const currentTracks = editor.timeline.getTracks(); + const orphanedElements: Array<{ trackId: string; elementId: string }> = + []; + + for (const track of currentTracks) { + for (const element of track.elements) { + if (hasMediaId(element) && element.mediaId === this.assetId) { + orphanedElements.push({ + trackId: track.id, + elementId: element.id, + }); + } + } + } + + if (orphanedElements.length > 0) { + editor.timeline.deleteElements({ elements: orphanedElements }); + } + + if (storageService.isQuotaExceededError({ error })) { + toast.error("Not enough browser storage", { + description: error instanceof Error ? error.message : undefined, + }); + } }); } diff --git a/apps/web/src/lib/commands/media/remove-media-asset.ts b/apps/web/src/lib/commands/media/remove-media-asset.ts index ee9ffa2d..f519baef 100644 --- a/apps/web/src/lib/commands/media/remove-media-asset.ts +++ b/apps/web/src/lib/commands/media/remove-media-asset.ts @@ -1,10 +1,10 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; -import type { MediaAsset } from "@/types/assets"; +import type { MediaAsset } from "@/lib/media/types"; import { storageService } from "@/services/storage/service"; import { videoCache } from "@/services/video-cache/service"; import { hasMediaId } from "@/lib/timeline/element-utils"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; export class RemoveMediaAssetCommand extends Command { private savedAssets: MediaAsset[] | null = null; @@ -33,6 +33,13 @@ export class RemoveMediaAssetCommand extends Command { return; } + if (this.removedAsset.url) { + URL.revokeObjectURL(this.removedAsset.url); + } + if (this.removedAsset.thumbnailUrl) { + URL.revokeObjectURL(this.removedAsset.thumbnailUrl); + } + videoCache.clearVideo({ mediaId: this.assetId }); editor.media.setAssets({ @@ -63,23 +70,30 @@ export class RemoveMediaAssetCommand extends Command { undo(): void { const editor = EditorCore.getInstance(); - if (this.savedAssets) { - editor.media.setAssets({ assets: this.savedAssets }); - } + if (this.savedAssets && this.removedAsset) { + const restoredAsset: MediaAsset = { + ...this.removedAsset, + url: URL.createObjectURL(this.removedAsset.file), + }; - if (this.savedTracks) { - editor.timeline.updateTracks(this.savedTracks); - } + editor.media.setAssets({ + assets: this.savedAssets.map((a) => + a.id === this.assetId ? restoredAsset : a, + ), + }); - if (this.removedAsset) { storageService .saveMediaAsset({ projectId: this.projectId, - mediaAsset: this.removedAsset, + mediaAsset: restoredAsset, }) .catch((error) => { console.error("Failed to restore media item on undo:", error); }); } + + if (this.savedTracks) { + editor.timeline.updateTracks(this.savedTracks); + } } } diff --git a/apps/web/src/lib/commands/project/update-project-settings.ts b/apps/web/src/lib/commands/project/update-project-settings.ts index b7ab75ee..b16431c1 100644 --- a/apps/web/src/lib/commands/project/update-project-settings.ts +++ b/apps/web/src/lib/commands/project/update-project-settings.ts @@ -1,6 +1,6 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; -import type { TProject, TProjectSettings } from "@/types/project"; +import type { TProject, TProjectSettings } from "@/lib/project/types"; export class UpdateProjectSettingsCommand extends Command { private savedSettings: TProjectSettings | null = null; diff --git a/apps/web/src/lib/commands/scene/create-scene.ts b/apps/web/src/lib/commands/scene/create-scene.ts index 5fea5d53..28bda2fd 100644 --- a/apps/web/src/lib/commands/scene/create-scene.ts +++ b/apps/web/src/lib/commands/scene/create-scene.ts @@ -1,6 +1,6 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; -import type { TScene } from "@/types/timeline"; +import type { TScene } from "@/lib/timeline"; import { buildDefaultScene } from "@/lib/scenes"; export class CreateSceneCommand extends Command { diff --git a/apps/web/src/lib/commands/scene/delete-scene.ts b/apps/web/src/lib/commands/scene/delete-scene.ts index 83066e24..58c790e6 100644 --- a/apps/web/src/lib/commands/scene/delete-scene.ts +++ b/apps/web/src/lib/commands/scene/delete-scene.ts @@ -1,6 +1,6 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; -import type { TScene } from "@/types/timeline"; +import type { TScene } from "@/lib/timeline"; import { canDeleteScene, getFallbackSceneAfterDelete } from "@/lib/scenes"; export class DeleteSceneCommand extends Command { diff --git a/apps/web/src/lib/commands/scene/move-bookmark.ts b/apps/web/src/lib/commands/scene/move-bookmark.ts index 64382f03..28d7a45c 100644 --- a/apps/web/src/lib/commands/scene/move-bookmark.ts +++ b/apps/web/src/lib/commands/scene/move-bookmark.ts @@ -1,6 +1,6 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; -import type { TScene } from "@/types/timeline"; +import type { TScene } from "@/lib/timeline"; import { updateSceneInArray } from "@/lib/scenes"; import { getFrameTime, moveBookmarkInArray } from "@/lib/timeline/bookmarks"; diff --git a/apps/web/src/lib/commands/scene/remove-bookmark.ts b/apps/web/src/lib/commands/scene/remove-bookmark.ts index a3029366..19515b97 100644 --- a/apps/web/src/lib/commands/scene/remove-bookmark.ts +++ b/apps/web/src/lib/commands/scene/remove-bookmark.ts @@ -1,6 +1,6 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; -import type { TScene } from "@/types/timeline"; +import type { TScene } from "@/lib/timeline"; import { updateSceneInArray } from "@/lib/scenes"; import { getFrameTime, diff --git a/apps/web/src/lib/commands/scene/rename-scene.ts b/apps/web/src/lib/commands/scene/rename-scene.ts index dc62369d..f1d65e27 100644 --- a/apps/web/src/lib/commands/scene/rename-scene.ts +++ b/apps/web/src/lib/commands/scene/rename-scene.ts @@ -1,6 +1,6 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; -import type { TScene } from "@/types/timeline"; +import type { TScene } from "@/lib/timeline"; import { updateSceneInArray } from "@/lib/scenes"; export class RenameSceneCommand extends Command { diff --git a/apps/web/src/lib/commands/scene/toggle-bookmark.ts b/apps/web/src/lib/commands/scene/toggle-bookmark.ts index ac76d8fc..518a30aa 100644 --- a/apps/web/src/lib/commands/scene/toggle-bookmark.ts +++ b/apps/web/src/lib/commands/scene/toggle-bookmark.ts @@ -1,6 +1,6 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; -import type { TScene } from "@/types/timeline"; +import type { TScene } from "@/lib/timeline"; import { updateSceneInArray } from "@/lib/scenes"; import { getFrameTime, toggleBookmarkInArray } from "@/lib/timeline/bookmarks"; diff --git a/apps/web/src/lib/commands/scene/update-bookmark.ts b/apps/web/src/lib/commands/scene/update-bookmark.ts index 5ce91a36..6aeef42b 100644 --- a/apps/web/src/lib/commands/scene/update-bookmark.ts +++ b/apps/web/src/lib/commands/scene/update-bookmark.ts @@ -1,6 +1,6 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; -import type { Bookmark, TScene } from "@/types/timeline"; +import type { Bookmark, TScene } from "@/lib/timeline"; import { updateSceneInArray } from "@/lib/scenes"; import { getFrameTime, updateBookmarkInArray } from "@/lib/timeline/bookmarks"; diff --git a/apps/web/src/lib/commands/timeline/clipboard/paste.ts b/apps/web/src/lib/commands/timeline/clipboard/paste.ts index 800cbb90..00758eb7 100644 --- a/apps/web/src/lib/commands/timeline/clipboard/paste.ts +++ b/apps/web/src/lib/commands/timeline/clipboard/paste.ts @@ -4,7 +4,7 @@ import type { TimelineTrack, TimelineElement, ClipboardItem, -} from "@/types/timeline"; +} from "@/lib/timeline"; import { generateUUID } from "@/utils/id"; import { wouldElementOverlap } from "@/lib/timeline/element-utils"; import { diff --git a/apps/web/src/lib/commands/timeline/element/delete-elements.ts b/apps/web/src/lib/commands/timeline/element/delete-elements.ts index 7fb46c36..4b439870 100644 --- a/apps/web/src/lib/commands/timeline/element/delete-elements.ts +++ b/apps/web/src/lib/commands/timeline/element/delete-elements.ts @@ -1,5 +1,5 @@ import { Command } from "@/lib/commands/base-command"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; import { EditorCore } from "@/core"; import { isMainTrack, rippleShiftElements } from "@/lib/timeline"; diff --git a/apps/web/src/lib/commands/timeline/element/duplicate-elements.ts b/apps/web/src/lib/commands/timeline/element/duplicate-elements.ts index 97b475f4..207e2373 100644 --- a/apps/web/src/lib/commands/timeline/element/duplicate-elements.ts +++ b/apps/web/src/lib/commands/timeline/element/duplicate-elements.ts @@ -1,5 +1,5 @@ import { Command } from "@/lib/commands/base-command"; -import type { TimelineElement, TimelineTrack } from "@/types/timeline"; +import type { TimelineElement, TimelineTrack } from "@/lib/timeline"; import { generateUUID } from "@/utils/id"; import { EditorCore } from "@/core"; import { diff --git a/apps/web/src/lib/commands/timeline/element/effects/add-effect.ts b/apps/web/src/lib/commands/timeline/element/effects/add-effect.ts index 5299749d..34ca12ab 100644 --- a/apps/web/src/lib/commands/timeline/element/effects/add-effect.ts +++ b/apps/web/src/lib/commands/timeline/element/effects/add-effect.ts @@ -1,7 +1,7 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; import { isVisualElement, updateElementInTracks } from "@/lib/timeline"; -import type { TimelineTrack, VisualElement } from "@/types/timeline"; +import type { TimelineTrack, VisualElement } from "@/lib/timeline"; import { buildDefaultEffectInstance } from "@/lib/effects"; function addEffectToElement({ diff --git a/apps/web/src/lib/commands/timeline/element/effects/remove-effect.ts b/apps/web/src/lib/commands/timeline/element/effects/remove-effect.ts index b475474f..1b309f13 100644 --- a/apps/web/src/lib/commands/timeline/element/effects/remove-effect.ts +++ b/apps/web/src/lib/commands/timeline/element/effects/remove-effect.ts @@ -1,7 +1,7 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; import { isVisualElement, updateElementInTracks } from "@/lib/timeline"; -import type { TimelineTrack, VisualElement } from "@/types/timeline"; +import type { TimelineTrack, VisualElement } from "@/lib/timeline"; function removeEffectFromElement({ element, diff --git a/apps/web/src/lib/commands/timeline/element/effects/reorder-effect.ts b/apps/web/src/lib/commands/timeline/element/effects/reorder-effect.ts index 81c66503..d946be18 100644 --- a/apps/web/src/lib/commands/timeline/element/effects/reorder-effect.ts +++ b/apps/web/src/lib/commands/timeline/element/effects/reorder-effect.ts @@ -1,7 +1,7 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; import { isVisualElement, updateElementInTracks } from "@/lib/timeline"; -import type { TimelineTrack, VisualElement } from "@/types/timeline"; +import type { TimelineTrack, VisualElement } from "@/lib/timeline"; function reorderEffectsOnElement({ element, diff --git a/apps/web/src/lib/commands/timeline/element/effects/toggle-effect.ts b/apps/web/src/lib/commands/timeline/element/effects/toggle-effect.ts index 70bf955d..25e7c356 100644 --- a/apps/web/src/lib/commands/timeline/element/effects/toggle-effect.ts +++ b/apps/web/src/lib/commands/timeline/element/effects/toggle-effect.ts @@ -1,7 +1,7 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; import { isVisualElement, updateElementInTracks } from "@/lib/timeline"; -import type { TimelineTrack, VisualElement } from "@/types/timeline"; +import type { TimelineTrack, VisualElement } from "@/lib/timeline"; export function toggleEffectOnElement({ element, diff --git a/apps/web/src/lib/commands/timeline/element/effects/update-effect-params.ts b/apps/web/src/lib/commands/timeline/element/effects/update-effect-params.ts index d9bf0aad..c3443c22 100644 --- a/apps/web/src/lib/commands/timeline/element/effects/update-effect-params.ts +++ b/apps/web/src/lib/commands/timeline/element/effects/update-effect-params.ts @@ -1,8 +1,8 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; import { isVisualElement, updateElementInTracks } from "@/lib/timeline"; -import type { EffectParamValues } from "@/types/effects"; -import type { TimelineTrack, VisualElement } from "@/types/timeline"; +import type { ParamValues } from "@/lib/params"; +import type { TimelineTrack, VisualElement } from "@/lib/timeline"; function updateEffectParamsOnElement({ element, @@ -11,7 +11,7 @@ function updateEffectParamsOnElement({ }: { element: VisualElement; effectId: string; - params: Partial<EffectParamValues>; + params: Partial<ParamValues>; }): VisualElement { const currentEffects = element.effects ?? []; const updated = currentEffects.map((effect) => { @@ -36,7 +36,7 @@ export class UpdateClipEffectParamsCommand extends Command { private readonly trackId: string; private readonly elementId: string; private readonly effectId: string; - private readonly params: Partial<EffectParamValues>; + private readonly params: Partial<ParamValues>; constructor({ trackId, @@ -47,7 +47,7 @@ export class UpdateClipEffectParamsCommand extends Command { trackId: string; elementId: string; effectId: string; - params: Partial<EffectParamValues>; + params: Partial<ParamValues>; }) { super(); this.trackId = trackId; @@ -65,12 +65,12 @@ export class UpdateClipEffectParamsCommand extends Command { trackId: this.trackId, elementId: this.elementId, elementPredicate: isVisualElement, - update: (element) => { - return updateEffectParamsOnElement({ - element: element as VisualElement, - effectId: this.effectId, - params: this.params, - }); + update: (element) => { + return updateEffectParamsOnElement({ + element: element as VisualElement, + effectId: this.effectId, + params: this.params, + }); }, }); diff --git a/apps/web/src/lib/commands/timeline/element/index.ts b/apps/web/src/lib/commands/timeline/element/index.ts index 413d1adf..899754fb 100644 --- a/apps/web/src/lib/commands/timeline/element/index.ts +++ b/apps/web/src/lib/commands/timeline/element/index.ts @@ -11,3 +11,5 @@ export { ToggleElementsMutedCommand } from "./toggle-elements-muted"; export { MoveElementCommand } from "./move-elements"; export * from "./keyframes"; export * from "./effects"; +export * from "./masks"; +export * from "./retime"; diff --git a/apps/web/src/lib/commands/timeline/element/insert-element.ts b/apps/web/src/lib/commands/timeline/element/insert-element.ts index 68fc9841..acd72b66 100644 --- a/apps/web/src/lib/commands/timeline/element/insert-element.ts +++ b/apps/web/src/lib/commands/timeline/element/insert-element.ts @@ -6,7 +6,7 @@ import type { TimelineElement, TrackType, ElementType, -} from "@/types/timeline"; +} from "@/lib/timeline"; import { generateUUID } from "@/utils/id"; import { requiresMediaId, @@ -19,8 +19,9 @@ import { validateElementTrackCompatibility, enforceMainTrackStart, } from "@/lib/timeline/track-utils"; -import type { MediaAsset } from "@/types/assets"; -import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; +import type { MediaAsset } from "@/lib/media/types"; +import { ELEMENT_TRACK_MAP, TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; +import { graphicsRegistry, registerDefaultGraphics } from "@/lib/graphics"; type InsertElementPlacement = | { mode: "explicit"; trackId: string } @@ -168,6 +169,14 @@ export class InsertElementCommand extends Command { return false; } + if (element.type === "graphic") { + registerDefaultGraphics(); + if (!element.definitionId || !graphicsRegistry.has(element.definitionId)) { + console.error("Graphic element must have a valid definitionId"); + return false; + } + } + if (element.type === "text" && !element.content) { console.error("Text element must have content"); return false; @@ -344,9 +353,6 @@ export class InsertElementCommand extends Command { }: { element: { type: ElementType }; }): TrackType { - if (element.type === "video" || element.type === "image") { - return "video"; - } - return element.type; + return ELEMENT_TRACK_MAP[element.type]; } } diff --git a/apps/web/src/lib/commands/timeline/element/keyframes/remove-effect-param-keyframe.ts b/apps/web/src/lib/commands/timeline/element/keyframes/remove-effect-param-keyframe.ts index d4922532..984a5ed7 100644 --- a/apps/web/src/lib/commands/timeline/element/keyframes/remove-effect-param-keyframe.ts +++ b/apps/web/src/lib/commands/timeline/element/keyframes/remove-effect-param-keyframe.ts @@ -3,7 +3,7 @@ import { Command } from "@/lib/commands/base-command"; import { removeEffectParamKeyframe } from "@/lib/animation/effect-param-channel"; import { updateElementInTracks } from "@/lib/timeline"; import { isVisualElement } from "@/lib/timeline/element-utils"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; export class RemoveEffectParamKeyframeCommand extends Command { private savedState: TimelineTrack[] | null = null; diff --git a/apps/web/src/lib/commands/timeline/element/keyframes/remove-keyframe.ts b/apps/web/src/lib/commands/timeline/element/keyframes/remove-keyframe.ts index f12f9829..eb5cf742 100644 --- a/apps/web/src/lib/commands/timeline/element/keyframes/remove-keyframe.ts +++ b/apps/web/src/lib/commands/timeline/element/keyframes/remove-keyframe.ts @@ -2,15 +2,13 @@ import { EditorCore } from "@/core"; import { getChannel, getChannelValueAtTime, - getElementBaseValueForProperty, removeElementKeyframe, - supportsAnimationProperty, - withElementBaseValueForProperty, + resolveAnimationTarget, } from "@/lib/animation"; import { Command } from "@/lib/commands/base-command"; import { updateElementInTracks } from "@/lib/timeline"; -import type { AnimationPropertyPath } from "@/types/animation"; -import type { TimelineElement, TimelineTrack } from "@/types/timeline"; +import type { AnimationPath, AnimationValue } from "@/lib/animation/types"; +import type { TimelineElement, TimelineTrack } from "@/lib/timeline"; function sampleValueBeforeRemoval({ element, @@ -18,9 +16,9 @@ function sampleValueBeforeRemoval({ keyframeId, }: { element: TimelineElement; - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; keyframeId: string; -}): number | null { +}): AnimationValue | null { const channel = getChannel({ animations: element.animations, propertyPath, @@ -32,17 +30,20 @@ function sampleValueBeforeRemoval({ return null; } - const baseValue = getElementBaseValueForProperty({ element, propertyPath }); - if (baseValue === null || typeof baseValue !== "number") { + const target = resolveAnimationTarget({ element, path: propertyPath }); + if (!target) { + return null; + } + const baseValue = target.getBaseValue(); + if (baseValue === null) { return null; } - const sampled = getChannelValueAtTime({ + return getChannelValueAtTime({ channel, time: keyframe.time, fallbackValue: baseValue, }); - return typeof sampled === "number" ? sampled : null; } function removeKeyframeAndPersist({ @@ -51,9 +52,14 @@ function removeKeyframeAndPersist({ keyframeId, }: { element: TimelineElement; - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; keyframeId: string; }): TimelineElement { + const target = resolveAnimationTarget({ element, path: propertyPath }); + if (!target) { + return element; + } + const valueBefore = sampleValueBeforeRemoval({ element, propertyPath, @@ -71,11 +77,7 @@ function removeKeyframeAndPersist({ const shouldPersistToBase = isChannelNowEmpty && valueBefore !== null; const baseElement = shouldPersistToBase - ? withElementBaseValueForProperty({ - element, - propertyPath, - value: valueBefore, - }) + ? target.setBaseValue(valueBefore) : element; return { ...baseElement, animations: nextAnimations }; @@ -85,7 +87,7 @@ export class RemoveKeyframeCommand extends Command { private savedState: TimelineTrack[] | null = null; private readonly trackId: string; private readonly elementId: string; - private readonly propertyPath: AnimationPropertyPath; + private readonly propertyPath: AnimationPath; private readonly keyframeId: string; constructor({ @@ -96,7 +98,7 @@ export class RemoveKeyframeCommand extends Command { }: { trackId: string; elementId: string; - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; keyframeId: string; }) { super(); @@ -114,11 +116,6 @@ export class RemoveKeyframeCommand extends Command { tracks: this.savedState, trackId: this.trackId, elementId: this.elementId, - elementPredicate: (element) => - supportsAnimationProperty({ - element, - propertyPath: this.propertyPath, - }), update: (element) => removeKeyframeAndPersist({ element, diff --git a/apps/web/src/lib/commands/timeline/element/keyframes/retime-keyframe.ts b/apps/web/src/lib/commands/timeline/element/keyframes/retime-keyframe.ts index 5328419f..9e912f27 100644 --- a/apps/web/src/lib/commands/timeline/element/keyframes/retime-keyframe.ts +++ b/apps/web/src/lib/commands/timeline/element/keyframes/retime-keyframe.ts @@ -1,15 +1,15 @@ import { EditorCore } from "@/core"; -import { retimeElementKeyframe, supportsAnimationProperty } from "@/lib/animation"; +import { resolveAnimationTarget, retimeElementKeyframe } from "@/lib/animation"; import { Command } from "@/lib/commands/base-command"; import { updateElementInTracks } from "@/lib/timeline"; -import type { AnimationPropertyPath } from "@/types/animation"; -import type { TimelineTrack } from "@/types/timeline"; +import type { AnimationPath } from "@/lib/animation/types"; +import type { TimelineTrack } from "@/lib/timeline"; export class RetimeKeyframeCommand extends Command { private savedState: TimelineTrack[] | null = null; private readonly trackId: string; private readonly elementId: string; - private readonly propertyPath: AnimationPropertyPath; + private readonly propertyPath: AnimationPath; private readonly keyframeId: string; private readonly nextTime: number; @@ -22,7 +22,7 @@ export class RetimeKeyframeCommand extends Command { }: { trackId: string; elementId: string; - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; keyframeId: string; nextTime: number; }) { @@ -42,14 +42,12 @@ export class RetimeKeyframeCommand extends Command { tracks: this.savedState, trackId: this.trackId, elementId: this.elementId, - elementPredicate: (element) => - supportsAnimationProperty({ - element, - propertyPath: this.propertyPath, - }), update: (element) => { + if (!resolveAnimationTarget({ element, path: this.propertyPath })) { + return element; + } + const boundedTime = Math.max(0, Math.min(this.nextTime, element.duration)); - if (!Number.isFinite(boundedTime)) return element; return { ...element, animations: retimeElementKeyframe({ diff --git a/apps/web/src/lib/commands/timeline/element/keyframes/upsert-effect-param-keyframe.ts b/apps/web/src/lib/commands/timeline/element/keyframes/upsert-effect-param-keyframe.ts index f5236279..285bd80c 100644 --- a/apps/web/src/lib/commands/timeline/element/keyframes/upsert-effect-param-keyframe.ts +++ b/apps/web/src/lib/commands/timeline/element/keyframes/upsert-effect-param-keyframe.ts @@ -3,7 +3,7 @@ import { Command } from "@/lib/commands/base-command"; import { upsertEffectParamKeyframe } from "@/lib/animation/effect-param-channel"; import { updateElementInTracks } from "@/lib/timeline"; import { isVisualElement } from "@/lib/timeline/element-utils"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; export class UpsertEffectParamKeyframeCommand extends Command { private savedState: TimelineTrack[] | null = null; diff --git a/apps/web/src/lib/commands/timeline/element/keyframes/upsert-keyframe.ts b/apps/web/src/lib/commands/timeline/element/keyframes/upsert-keyframe.ts index 370f6865..28e7feff 100644 --- a/apps/web/src/lib/commands/timeline/element/keyframes/upsert-keyframe.ts +++ b/apps/web/src/lib/commands/timeline/element/keyframes/upsert-keyframe.ts @@ -1,19 +1,19 @@ import { EditorCore } from "@/core"; import { Command } from "@/lib/commands/base-command"; -import { supportsAnimationProperty, upsertElementKeyframe } from "@/lib/animation"; +import { resolveAnimationTarget, upsertPathKeyframe } from "@/lib/animation"; import { updateElementInTracks } from "@/lib/timeline"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; import type { + AnimationPath, AnimationInterpolation, - AnimationPropertyPath, AnimationValue, -} from "@/types/animation"; +} from "@/lib/animation/types"; export class UpsertKeyframeCommand extends Command { private savedState: TimelineTrack[] | null = null; private readonly trackId: string; private readonly elementId: string; - private readonly propertyPath: AnimationPropertyPath; + private readonly propertyPath: AnimationPath; private readonly time: number; private readonly value: AnimationValue; private readonly interpolation: AnimationInterpolation | undefined; @@ -30,7 +30,7 @@ export class UpsertKeyframeCommand extends Command { }: { trackId: string; elementId: string; - propertyPath: AnimationPropertyPath; + propertyPath: AnimationPath; time: number; value: AnimationValue; interpolation?: AnimationInterpolation; @@ -54,22 +54,28 @@ export class UpsertKeyframeCommand extends Command { tracks: this.savedState, trackId: this.trackId, elementId: this.elementId, - elementPredicate: (element) => - supportsAnimationProperty({ - element, - propertyPath: this.propertyPath, - }), update: (element) => { + const target = resolveAnimationTarget({ + element, + path: this.propertyPath, + }); + if (!target) { + return element; + } + const boundedTime = Math.max(0, Math.min(this.time, element.duration)); return { ...element, - animations: upsertElementKeyframe({ + animations: upsertPathKeyframe({ animations: element.animations, propertyPath: this.propertyPath, time: boundedTime, value: this.value, interpolation: this.interpolation, keyframeId: this.keyframeId, + valueKind: target.valueKind, + defaultInterpolation: target.defaultInterpolation, + numericRange: target.numericRange, }), }; }, diff --git a/apps/web/src/lib/commands/timeline/element/masks/index.ts b/apps/web/src/lib/commands/timeline/element/masks/index.ts new file mode 100644 index 00000000..acc47184 --- /dev/null +++ b/apps/web/src/lib/commands/timeline/element/masks/index.ts @@ -0,0 +1,2 @@ +export { RemoveMaskCommand } from "./remove-mask"; +export { ToggleMaskInvertedCommand } from "./toggle-mask-inverted"; diff --git a/apps/web/src/lib/commands/timeline/element/masks/remove-mask.ts b/apps/web/src/lib/commands/timeline/element/masks/remove-mask.ts new file mode 100644 index 00000000..ee09cbdc --- /dev/null +++ b/apps/web/src/lib/commands/timeline/element/masks/remove-mask.ts @@ -0,0 +1,64 @@ +import { EditorCore } from "@/core"; +import { Command } from "@/lib/commands/base-command"; +import { isMaskableElement, updateElementInTracks } from "@/lib/timeline"; +import type { TimelineTrack, MaskableElement } from "@/lib/timeline"; + +function removeMaskFromElement({ + element, + maskId, +}: { + element: MaskableElement; + maskId: string; +}): MaskableElement { + const currentMasks = element.masks ?? []; + const filteredMasks = currentMasks.filter((mask) => mask.id !== maskId); + return { ...element, masks: filteredMasks }; +} + +export class RemoveMaskCommand extends Command { + private savedState: TimelineTrack[] | null = null; + private readonly trackId: string; + private readonly elementId: string; + private readonly maskId: string; + + constructor({ + trackId, + elementId, + maskId, + }: { + trackId: string; + elementId: string; + maskId: string; + }) { + super(); + this.trackId = trackId; + this.elementId = elementId; + this.maskId = maskId; + } + + execute(): void { + const editor = EditorCore.getInstance(); + this.savedState = editor.timeline.getTracks(); + + const updatedTracks = updateElementInTracks({ + tracks: this.savedState, + trackId: this.trackId, + elementId: this.elementId, + elementPredicate: isMaskableElement, + update: (element) => + removeMaskFromElement({ + element: element as MaskableElement, + maskId: this.maskId, + }), + }); + + editor.timeline.updateTracks(updatedTracks); + } + + undo(): void { + if (this.savedState) { + const editor = EditorCore.getInstance(); + editor.timeline.updateTracks(this.savedState); + } + } +} diff --git a/apps/web/src/lib/commands/timeline/element/masks/toggle-mask-inverted.ts b/apps/web/src/lib/commands/timeline/element/masks/toggle-mask-inverted.ts new file mode 100644 index 00000000..ac3c8c7c --- /dev/null +++ b/apps/web/src/lib/commands/timeline/element/masks/toggle-mask-inverted.ts @@ -0,0 +1,75 @@ +import { EditorCore } from "@/core"; +import { Command } from "@/lib/commands/base-command"; +import { isMaskableElement, updateElementInTracks } from "@/lib/timeline"; +import type { Mask } from "@/lib/masks/types"; +import type { TimelineTrack, MaskableElement } from "@/lib/timeline"; + +export function toggleMaskInvertedOnElement({ + element, + maskId, +}: { + element: MaskableElement; + maskId: string; +}): MaskableElement { + const currentMasks = element.masks ?? []; + const toggleMask = <TMask extends Mask>(mask: TMask): TMask => ({ + ...mask, + params: { + ...mask.params, + inverted: !mask.params.inverted, + }, + }); + const updatedMasks = currentMasks.map((mask) => + mask.id !== maskId ? mask : toggleMask(mask), + ); + + return { ...element, masks: updatedMasks }; +} + +export class ToggleMaskInvertedCommand extends Command { + private savedState: TimelineTrack[] | null = null; + private readonly trackId: string; + private readonly elementId: string; + private readonly maskId: string; + + constructor({ + trackId, + elementId, + maskId, + }: { + trackId: string; + elementId: string; + maskId: string; + }) { + super(); + this.trackId = trackId; + this.elementId = elementId; + this.maskId = maskId; + } + + execute(): void { + const editor = EditorCore.getInstance(); + this.savedState = editor.timeline.getTracks(); + + const updatedTracks = updateElementInTracks({ + tracks: this.savedState, + trackId: this.trackId, + elementId: this.elementId, + elementPredicate: isMaskableElement, + update: (element) => + toggleMaskInvertedOnElement({ + element: element as MaskableElement, + maskId: this.maskId, + }), + }); + + editor.timeline.updateTracks(updatedTracks); + } + + undo(): void { + if (this.savedState) { + const editor = EditorCore.getInstance(); + editor.timeline.updateTracks(this.savedState); + } + } +} diff --git a/apps/web/src/lib/commands/timeline/element/move-elements.ts b/apps/web/src/lib/commands/timeline/element/move-elements.ts index 51e18c21..a36e8e93 100644 --- a/apps/web/src/lib/commands/timeline/element/move-elements.ts +++ b/apps/web/src/lib/commands/timeline/element/move-elements.ts @@ -4,7 +4,7 @@ import type { TimelineTrack, TimelineElement, TrackType, -} from "@/types/timeline"; +} from "@/lib/timeline"; import { buildEmptyTrack, isMainTrack, diff --git a/apps/web/src/lib/commands/timeline/element/retime/index.ts b/apps/web/src/lib/commands/timeline/element/retime/index.ts new file mode 100644 index 00000000..5daa59bf --- /dev/null +++ b/apps/web/src/lib/commands/timeline/element/retime/index.ts @@ -0,0 +1 @@ +export { UpdateElementRetimeCommand } from "./update-element-retime"; diff --git a/apps/web/src/lib/commands/timeline/element/retime/update-element-retime.ts b/apps/web/src/lib/commands/timeline/element/retime/update-element-retime.ts new file mode 100644 index 00000000..d1f859e6 --- /dev/null +++ b/apps/web/src/lib/commands/timeline/element/retime/update-element-retime.ts @@ -0,0 +1,114 @@ +import { EditorCore } from "@/core"; +import { clampRetimeRate } from "@/constants/retime-constants"; +import { clampAnimationsToDuration } from "@/lib/animation"; +import { Command } from "@/lib/commands/base-command"; +import { getTimelineDurationForSourceSpan, getSourceSpanAtClipTime } from "@/lib/retime"; +import { isRetimableElement, updateElementInTracks } from "@/lib/timeline"; +import type { RetimeConfig, TimelineTrack } from "@/lib/timeline"; + +function getSourceDuration({ + trimStart, + trimEnd, + duration, + sourceDuration, + retime, +}: { + trimStart: number; + trimEnd: number; + duration: number; + sourceDuration?: number; + retime?: RetimeConfig; +}): number { + if (typeof sourceDuration === "number") { + return sourceDuration; + } + + return ( + trimStart + + getSourceSpanAtClipTime({ + clipTime: duration, + retime, + }) + + trimEnd + ); +} + +export class UpdateElementRetimeCommand extends Command { + private savedState: TimelineTrack[] | null = null; + private readonly trackId: string; + private readonly elementId: string; + private readonly retime: RetimeConfig | undefined; + + constructor({ + trackId, + elementId, + retime, + }: { + trackId: string; + elementId: string; + retime?: RetimeConfig; + }) { + super(); + this.trackId = trackId; + this.elementId = elementId; + this.retime = retime; + } + + execute(): void { + const editor = EditorCore.getInstance(); + this.savedState = editor.timeline.getTracks(); + + const updatedTracks = updateElementInTracks({ + tracks: this.savedState, + trackId: this.trackId, + elementId: this.elementId, + elementPredicate: isRetimableElement, + update: (element) => { + if (!isRetimableElement(element)) { + return element; + } + + const nextRetime = this.retime + ? { + ...this.retime, + rate: clampRetimeRate({ rate: this.retime.rate }), + } + : undefined; + const sourceDuration = getSourceDuration({ + trimStart: element.trimStart, + trimEnd: element.trimEnd, + duration: element.duration, + sourceDuration: element.sourceDuration, + retime: element.retime, + }); + const visibleSourceSpan = Math.max( + 0, + sourceDuration - element.trimStart - element.trimEnd, + ); + const nextDuration = getTimelineDurationForSourceSpan({ + sourceSpan: visibleSourceSpan, + retime: nextRetime, + }); + + return { + ...element, + retime: nextRetime, + duration: nextDuration, + animations: clampAnimationsToDuration({ + animations: element.animations, + duration: nextDuration, + }), + }; + }, + }); + + editor.timeline.updateTracks(updatedTracks); + } + + undo(): void { + if (this.savedState) { + const editor = EditorCore.getInstance(); + editor.timeline.updateTracks(this.savedState); + } + } +} diff --git a/apps/web/src/lib/commands/timeline/element/split-elements.ts b/apps/web/src/lib/commands/timeline/element/split-elements.ts index 37ccbb12..2acac683 100644 --- a/apps/web/src/lib/commands/timeline/element/split-elements.ts +++ b/apps/web/src/lib/commands/timeline/element/split-elements.ts @@ -1,9 +1,10 @@ import { Command } from "@/lib/commands/base-command"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; import { generateUUID } from "@/utils/id"; import { EditorCore } from "@/core"; -import { rippleShiftElements } from "@/lib/timeline"; +import { isRetimableElement, rippleShiftElements } from "@/lib/timeline"; import { splitAnimationsAtTime } from "@/lib/animation"; +import { getSourceSpanAtClipTime } from "@/lib/retime"; export class SplitElementsCommand extends Command { private savedState: TimelineTrack[] | null = null; @@ -75,6 +76,18 @@ export class SplitElementsCommand extends Command { const relativeTime = this.splitTime - element.startTime; const leftVisibleDuration = relativeTime; const rightVisibleDuration = element.duration - relativeTime; + const retimeRef = isRetimableElement(element) + ? element.retime + : undefined; + const leftSourceSpan = getSourceSpanAtClipTime({ + clipTime: leftVisibleDuration, + retime: retimeRef, + }); + const totalSourceSpan = getSourceSpanAtClipTime({ + clipTime: element.duration, + retime: retimeRef, + }); + const rightSourceSpan = totalSourceSpan - leftSourceSpan; const { leftAnimations, rightAnimations } = splitAnimationsAtTime({ animations: element.animations, splitTime: relativeTime, @@ -83,63 +96,67 @@ export class SplitElementsCommand extends Command { if (this.retainSide === "left") { return [ - { - ...element, - duration: leftVisibleDuration, - trimEnd: element.trimEnd + rightVisibleDuration, - name: `${element.name} (left)`, - animations: leftAnimations, - }, - ]; - } - - if (this.retainSide === "right") { - if (this.rippleEnabled && elementsToSplit.length === 1) { - leftVisibleDurationForRipple = leftVisibleDuration; - } - const newId = generateUUID(); - this.rightSideElements.push({ - trackId: track.id, - elementId: newId, - }); - return [ - { - ...element, - id: newId, - startTime: this.splitTime, - duration: rightVisibleDuration, - trimStart: element.trimStart + leftVisibleDuration, - name: `${element.name} (right)`, - animations: rightAnimations, - }, - ]; - } - - // "both" - split into two pieces - const secondElementId = generateUUID(); - this.rightSideElements.push({ - trackId: track.id, - elementId: secondElementId, - }); - - return [ { ...element, duration: leftVisibleDuration, - trimEnd: element.trimEnd + rightVisibleDuration, + trimEnd: element.trimEnd + rightSourceSpan, name: `${element.name} (left)`, animations: leftAnimations, + ...(retimeRef !== undefined ? { retime: retimeRef } : {}), }, + ]; + } + + if (this.retainSide === "right") { + if (this.rippleEnabled && elementsToSplit.length === 1) { + leftVisibleDurationForRipple = leftVisibleDuration; + } + const newId = generateUUID(); + this.rightSideElements.push({ + trackId: track.id, + elementId: newId, + }); + return [ { ...element, - id: secondElementId, + id: newId, startTime: this.splitTime, duration: rightVisibleDuration, - trimStart: element.trimStart + leftVisibleDuration, + trimStart: element.trimStart + leftSourceSpan, name: `${element.name} (right)`, animations: rightAnimations, + ...(retimeRef !== undefined ? { retime: retimeRef } : {}), }, ]; + } + + // "both" - split into two pieces + const secondElementId = generateUUID(); + this.rightSideElements.push({ + trackId: track.id, + elementId: secondElementId, + }); + + return [ + { + ...element, + duration: leftVisibleDuration, + trimEnd: element.trimEnd + rightSourceSpan, + name: `${element.name} (left)`, + animations: leftAnimations, + ...(retimeRef !== undefined ? { retime: retimeRef } : {}), + }, + { + ...element, + id: secondElementId, + startTime: this.splitTime, + duration: rightVisibleDuration, + trimStart: element.trimStart + leftSourceSpan, + name: `${element.name} (right)`, + animations: rightAnimations, + ...(retimeRef !== undefined ? { retime: retimeRef } : {}), + }, + ]; }); if (this.rippleEnabled && leftVisibleDurationForRipple !== null) { diff --git a/apps/web/src/lib/commands/timeline/element/toggle-elements-muted.ts b/apps/web/src/lib/commands/timeline/element/toggle-elements-muted.ts index 1fa7421e..f416e7c5 100644 --- a/apps/web/src/lib/commands/timeline/element/toggle-elements-muted.ts +++ b/apps/web/src/lib/commands/timeline/element/toggle-elements-muted.ts @@ -1,5 +1,5 @@ import { Command } from "@/lib/commands/base-command"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; import { canElementHaveAudio } from "@/lib/timeline/element-utils"; import { EditorCore } from "@/core"; diff --git a/apps/web/src/lib/commands/timeline/element/toggle-elements-visibility.ts b/apps/web/src/lib/commands/timeline/element/toggle-elements-visibility.ts index daeb759a..24d51c15 100644 --- a/apps/web/src/lib/commands/timeline/element/toggle-elements-visibility.ts +++ b/apps/web/src/lib/commands/timeline/element/toggle-elements-visibility.ts @@ -1,5 +1,5 @@ import { Command } from "@/lib/commands/base-command"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; import { canElementBeHidden } from "@/lib/timeline/element-utils"; import { EditorCore } from "@/core"; diff --git a/apps/web/src/lib/commands/timeline/element/update-element-duration.ts b/apps/web/src/lib/commands/timeline/element/update-element-duration.ts index 3366548d..d88cf9cb 100644 --- a/apps/web/src/lib/commands/timeline/element/update-element-duration.ts +++ b/apps/web/src/lib/commands/timeline/element/update-element-duration.ts @@ -1,5 +1,5 @@ import { Command } from "@/lib/commands/base-command"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; import { EditorCore } from "@/core"; import { clampAnimationsToDuration } from "@/lib/animation"; diff --git a/apps/web/src/lib/commands/timeline/element/update-element-start-time.ts b/apps/web/src/lib/commands/timeline/element/update-element-start-time.ts index e25bc0e3..75773ec2 100644 --- a/apps/web/src/lib/commands/timeline/element/update-element-start-time.ts +++ b/apps/web/src/lib/commands/timeline/element/update-element-start-time.ts @@ -1,5 +1,5 @@ import { Command } from "@/lib/commands/base-command"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; import { EditorCore } from "@/core"; import { enforceMainTrackStart } from "@/lib/timeline/track-utils"; diff --git a/apps/web/src/lib/commands/timeline/element/update-element-trim.ts b/apps/web/src/lib/commands/timeline/element/update-element-trim.ts index 7548638a..b2c77418 100644 --- a/apps/web/src/lib/commands/timeline/element/update-element-trim.ts +++ b/apps/web/src/lib/commands/timeline/element/update-element-trim.ts @@ -1,8 +1,9 @@ import { Command } from "@/lib/commands/base-command"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; import { EditorCore } from "@/core"; import { clampAnimationsToDuration } from "@/lib/animation"; -import { rippleShiftElements } from "@/lib/timeline"; +import { isRetimableElement, rippleShiftElements } from "@/lib/timeline"; +import { enforceMainTrackStart } from "@/lib/timeline/track-utils"; export class UpdateElementTrimCommand extends Command { private savedState: TimelineTrack[] | null = null; @@ -48,7 +49,13 @@ export class UpdateElementTrimCommand extends Command { if (!targetElement) return track; const nextDuration = this.duration ?? targetElement.duration; - const nextStartTime = this.startTime ?? targetElement.startTime; + const requestedStartTime = this.startTime ?? targetElement.startTime; + const nextStartTime = enforceMainTrackStart({ + tracks: this.savedState ?? [], + targetTrackId: track.id, + requestedStartTime, + excludeElementId: this.elementId, + }); const oldEndTime = targetElement.startTime + targetElement.duration; const newEndTime = nextStartTime + nextDuration; @@ -60,6 +67,9 @@ export class UpdateElementTrimCommand extends Command { trimEnd: this.trimEnd, startTime: nextStartTime, duration: nextDuration, + ...(isRetimableElement(targetElement) + ? { retime: targetElement.retime } + : {}), animations: clampAnimationsToDuration({ animations: targetElement.animations, duration: nextDuration, @@ -68,7 +78,9 @@ export class UpdateElementTrimCommand extends Command { if (this.rippleEnabled && Math.abs(shiftAmount) > 0) { const shiftedOthers = rippleShiftElements({ - elements: track.elements.filter((element) => element.id !== this.elementId), + elements: track.elements.filter( + (element) => element.id !== this.elementId, + ), afterTime: oldEndTime, shiftAmount, }); @@ -77,7 +89,8 @@ export class UpdateElementTrimCommand extends Command { elements: track.elements.map((element) => element.id === this.elementId ? updatedElement - : (shiftedOthers.find((shifted) => shifted.id === element.id) ?? element) + : (shiftedOthers.find((shifted) => shifted.id === element.id) ?? + element), ), } as typeof track; } @@ -85,7 +98,7 @@ export class UpdateElementTrimCommand extends Command { return { ...track, elements: track.elements.map((element) => - element.id === this.elementId ? updatedElement : element + element.id === this.elementId ? updatedElement : element, ), } as typeof track; }); diff --git a/apps/web/src/lib/commands/timeline/element/update-element.ts b/apps/web/src/lib/commands/timeline/element/update-element.ts index 643f8e4b..cf0c5cbc 100644 --- a/apps/web/src/lib/commands/timeline/element/update-element.ts +++ b/apps/web/src/lib/commands/timeline/element/update-element.ts @@ -1,5 +1,5 @@ import { Command } from "@/lib/commands/base-command"; -import type { TimelineElement, TimelineTrack } from "@/types/timeline"; +import type { TimelineElement, TimelineTrack } from "@/lib/timeline"; import { EditorCore } from "@/core"; import { updateElementInTracks } from "@/lib/timeline"; diff --git a/apps/web/src/lib/commands/timeline/track/add-track.ts b/apps/web/src/lib/commands/timeline/track/add-track.ts index 95338888..dd4ceb64 100644 --- a/apps/web/src/lib/commands/timeline/track/add-track.ts +++ b/apps/web/src/lib/commands/timeline/track/add-track.ts @@ -1,5 +1,5 @@ import { Command } from "@/lib/commands/base-command"; -import type { TrackType, TimelineTrack } from "@/types/timeline"; +import type { TrackType, TimelineTrack } from "@/lib/timeline"; import { generateUUID } from "@/utils/id"; import { EditorCore } from "@/core"; import { diff --git a/apps/web/src/lib/commands/timeline/track/remove-track.ts b/apps/web/src/lib/commands/timeline/track/remove-track.ts index a32aacd7..35f29b1c 100644 --- a/apps/web/src/lib/commands/timeline/track/remove-track.ts +++ b/apps/web/src/lib/commands/timeline/track/remove-track.ts @@ -1,6 +1,6 @@ import { Command } from "@/lib/commands/base-command"; import { EditorCore } from "@/core"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; import { getMainTrack } from "@/lib/timeline"; export class RemoveTrackCommand extends Command { diff --git a/apps/web/src/lib/commands/timeline/track/toggle-track-mute.ts b/apps/web/src/lib/commands/timeline/track/toggle-track-mute.ts index 3fe526c7..9acf732a 100644 --- a/apps/web/src/lib/commands/timeline/track/toggle-track-mute.ts +++ b/apps/web/src/lib/commands/timeline/track/toggle-track-mute.ts @@ -1,5 +1,5 @@ import { Command } from "@/lib/commands/base-command"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; import { EditorCore } from "@/core"; import { canTracktHaveAudio } from "@/lib/timeline"; diff --git a/apps/web/src/lib/commands/timeline/track/toggle-track-visibility.ts b/apps/web/src/lib/commands/timeline/track/toggle-track-visibility.ts index e81714ac..4bfd53c0 100644 --- a/apps/web/src/lib/commands/timeline/track/toggle-track-visibility.ts +++ b/apps/web/src/lib/commands/timeline/track/toggle-track-visibility.ts @@ -1,5 +1,5 @@ import { Command } from "@/lib/commands/base-command"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; import { EditorCore } from "@/core"; import { canTrackBeHidden } from "@/lib/timeline"; diff --git a/apps/web/src/lib/commands/timeline/tracks-snapshot.ts b/apps/web/src/lib/commands/timeline/tracks-snapshot.ts index 2ba059c7..a4370cab 100644 --- a/apps/web/src/lib/commands/timeline/tracks-snapshot.ts +++ b/apps/web/src/lib/commands/timeline/tracks-snapshot.ts @@ -1,5 +1,5 @@ import { Command } from "@/lib/commands/base-command"; -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; import { EditorCore } from "@/core"; export class TracksSnapshotCommand extends Command { diff --git a/apps/web/src/lib/drag-data.ts b/apps/web/src/lib/drag-data.ts index 067b0a35..d847db95 100644 --- a/apps/web/src/lib/drag-data.ts +++ b/apps/web/src/lib/drag-data.ts @@ -1,4 +1,4 @@ -import type { TimelineDragData } from "@/types/drag"; +import type { TimelineDragData } from "@/lib/timeline/drag"; const MIME_TYPE = "application/x-timeline-drag"; let lastDragData: TimelineDragData | null = null; diff --git a/apps/web/src/lib/effects/definitions/blur.frag.glsl b/apps/web/src/lib/effects/definitions/blur.frag.glsl index 2c015725..c9ad2eae 100644 --- a/apps/web/src/lib/effects/definitions/blur.frag.glsl +++ b/apps/web/src/lib/effects/definitions/blur.frag.glsl @@ -3,6 +3,7 @@ precision mediump float; uniform sampler2D u_texture; uniform vec2 u_resolution; uniform float u_sigma; +uniform float u_step; uniform vec2 u_direction; varying vec2 v_texCoord; @@ -13,13 +14,12 @@ void main() { vec4 color = vec4(0.0); float totalWeight = 0.0; - // step=1 texel — scaling step size instead causes discrete ghosting artifacts for (int i = -30; i <= 30; i++) { - float fi = float(i); - float weight = exp(-(fi * fi) / (2.0 * u_sigma * u_sigma)); - color += texture2D(u_texture, v_texCoord + texelSize * u_direction * fi) * weight; + float pos = float(i) * u_step; + float weight = exp(-(pos * pos) / (2.0 * u_sigma * u_sigma)); + color += texture2D(u_texture, v_texCoord + texelSize * u_direction * pos) * weight; totalWeight += weight; } gl_FragColor = color / totalWeight; -} +}
\ No newline at end of file diff --git a/apps/web/src/lib/effects/definitions/blur.ts b/apps/web/src/lib/effects/definitions/blur.ts index 3819f82c..54934402 100644 --- a/apps/web/src/lib/effects/definitions/blur.ts +++ b/apps/web/src/lib/effects/definitions/blur.ts @@ -1,6 +1,72 @@ -import type { EffectDefinition } from "@/types/effects"; +import type { EffectDefinition, ResolvedEffectPass } from "@/lib/effects/types"; import blurFragmentShader from "./blur.frag.glsl"; +const MAX_SINGLE_PASS_SIGMA = 10; +const MAX_STEP = 4; +const MAX_EFFECTIVE_SIGMA = MAX_SINGLE_PASS_SIGMA * MAX_STEP; +const MAX_ITERATIONS = 8; + +/** + * Builds multi-pass gaussian blur passes for a given sigma. + * Shared by the blur effect and background blur — they each + * compute their own sigma from their own intensity scale. + */ +export function buildGaussianBlurPasses({ + sigmaX, + sigmaY, +}: { + sigmaX: number; + sigmaY: number; +}): ResolvedEffectPass[] { + const maxSigma = Math.max(sigmaX, sigmaY); + if (maxSigma < 0.001) return []; + + const iterations = Math.min( + MAX_ITERATIONS, + Math.max( + 1, + Math.ceil( + (maxSigma * maxSigma) / + (MAX_EFFECTIVE_SIGMA * MAX_EFFECTIVE_SIGMA), + ), + ), + ); + const perPassSigmaX = sigmaX / Math.sqrt(iterations); + const perPassSigmaY = sigmaY / Math.sqrt(iterations); + const stepX = Math.max(1, perPassSigmaX / MAX_SINGLE_PASS_SIGMA); + const stepY = Math.max(1, perPassSigmaY / MAX_SINGLE_PASS_SIGMA); + + const passes: ResolvedEffectPass[] = []; + for (let i = 0; i < iterations; i++) { + passes.push({ + fragmentShader: blurFragmentShader, + uniforms: { + u_sigma: perPassSigmaX, + u_step: stepX, + u_direction: [1, 0], + }, + }); + passes.push({ + fragmentShader: blurFragmentShader, + uniforms: { + u_sigma: perPassSigmaY, + u_step: stepY, + u_direction: [0, 1], + }, + }); + } + return passes; +} + +function intensityToSigma(intensity: number, resolution: number, reference: number): number { + return (intensity / 5) * (resolution / reference); +} + +function parseIntensity(effectParams: Record<string, unknown>): number { + const raw = effectParams.intensity; + return typeof raw === "number" ? raw : Number.parseFloat(String(raw)); +} + export const blurEffectDefinition: EffectDefinition = { type: "blur", name: "Blur", @@ -19,32 +85,29 @@ export const blurEffectDefinition: EffectDefinition = { renderer: { type: "webgl", passes: [ - { - fragmentShader: blurFragmentShader, - uniforms: ({ effectParams, width }) => { - const intensity = - typeof effectParams.intensity === "number" - ? effectParams.intensity - : Number.parseFloat(String(effectParams.intensity)); - return { - u_sigma: Math.max((intensity / 5) * (width / 1920), 0.001), + { + fragmentShader: blurFragmentShader, + uniforms: ({ effectParams, width }) => ({ + u_sigma: Math.max(intensityToSigma(parseIntensity(effectParams), width, 1920), 0.001), + u_step: 1, u_direction: [1, 0], - }; + }), }, - }, - { - fragmentShader: blurFragmentShader, - uniforms: ({ effectParams, height }) => { - const intensity = - typeof effectParams.intensity === "number" - ? effectParams.intensity - : Number.parseFloat(String(effectParams.intensity)); - return { - u_sigma: Math.max((intensity / 5) * (height / 1080), 0.001), + { + fragmentShader: blurFragmentShader, + uniforms: ({ effectParams, height }) => ({ + u_sigma: Math.max(intensityToSigma(parseIntensity(effectParams), height, 1080), 0.001), + u_step: 1, u_direction: [0, 1], - }; + }), }, - }, ], + buildPasses: ({ effectParams, width, height }) => { + const intensity = parseIntensity(effectParams); + return buildGaussianBlurPasses({ + sigmaX: intensityToSigma(intensity, width, 1920), + sigmaY: intensityToSigma(intensity, height, 1080), + }); + }, }, }; diff --git a/apps/web/src/lib/effects/definitions/index.ts b/apps/web/src/lib/effects/definitions/index.ts index 1742b1d7..edc8c5e2 100644 --- a/apps/web/src/lib/effects/definitions/index.ts +++ b/apps/web/src/lib/effects/definitions/index.ts @@ -1,13 +1,13 @@ -import { hasEffect, registerEffect } from "../registry"; +import { effectsRegistry } from "../registry"; import { blurEffectDefinition } from "./blur"; const defaultEffects = [blurEffectDefinition]; export function registerDefaultEffects(): void { for (const definition of defaultEffects) { - if (hasEffect({ effectType: definition.type })) { + if (effectsRegistry.has(definition.type)) { continue; } - registerEffect({ definition }); + effectsRegistry.register(definition.type, definition); } } diff --git a/apps/web/src/lib/effects/index.ts b/apps/web/src/lib/effects/index.ts index 14d06d84..549811f5 100644 --- a/apps/web/src/lib/effects/index.ts +++ b/apps/web/src/lib/effects/index.ts @@ -1,29 +1,42 @@ import { generateUUID } from "@/utils/id"; -import { getEffect } from "./registry"; -import type { Effect, EffectParamValues } from "@/types/effects"; -import type { VisualElement } from "@/types/timeline"; +import { buildDefaultParamValues } from "@/lib/registry"; +import { effectsRegistry } from "./registry"; +import type { ParamValues } from "@/lib/params"; +import type { Effect, EffectDefinition, ResolvedEffectPass } from "@/lib/effects/types"; +import { VISUAL_ELEMENT_TYPES } from "@/lib/timeline"; -export { getEffect, getAllEffects, hasEffect, registerEffect } from "./registry"; +export { effectsRegistry } from "./registry"; export { registerDefaultEffects } from "./definitions"; -export const EFFECT_TARGET_ELEMENT_TYPES: VisualElement["type"][] = [ - "video", - "image", - "text", - "sticker", -]; +export function resolveEffectPasses({ + definition, + effectParams, + width, + height, +}: { + definition: EffectDefinition; + effectParams: ParamValues; + width: number; + height: number; +}): ResolvedEffectPass[] { + if (definition.renderer.buildPasses) { + return definition.renderer.buildPasses({ effectParams, width, height }); + } + return definition.renderer.passes.map((pass) => ({ + fragmentShader: pass.fragmentShader, + uniforms: pass.uniforms({ effectParams, width, height }), + })); +} + +export const EFFECT_TARGET_ELEMENT_TYPES = VISUAL_ELEMENT_TYPES; export function buildDefaultEffectInstance({ effectType, }: { effectType: string; }): Effect { - const definition = getEffect({ effectType }); - - const params: EffectParamValues = {}; - for (const paramDef of definition.params) { - params[paramDef.key] = paramDef.default; - } + const definition = effectsRegistry.get(effectType); + const params: ParamValues = buildDefaultParamValues(definition.params); return { id: generateUUID(), diff --git a/apps/web/src/lib/effects/registry.ts b/apps/web/src/lib/effects/registry.ts index 568b8924..2b85007a 100644 --- a/apps/web/src/lib/effects/registry.ts +++ b/apps/web/src/lib/effects/registry.ts @@ -1,31 +1,10 @@ -import type { EffectDefinition } from "@/types/effects"; +import { DefinitionRegistry } from "@/lib/registry"; +import type { EffectDefinition } from "@/lib/effects/types"; -const effectDefinitions = new Map<string, EffectDefinition>(); - -export function registerEffect({ - definition, -}: { - definition: EffectDefinition; -}): void { - effectDefinitions.set(definition.type, definition); -} - -export function hasEffect({ effectType }: { effectType: string }): boolean { - return effectDefinitions.has(effectType); -} - -export function getEffect({ - effectType, -}: { - effectType: string; -}): EffectDefinition { - const definition = effectDefinitions.get(effectType); - if (!definition) { - throw new Error(`Unknown effect type: ${effectType}`); +export class EffectsRegistry extends DefinitionRegistry<string, EffectDefinition> { + constructor() { + super("effect"); } - return definition; } -export function getAllEffects(): EffectDefinition[] { - return Array.from(effectDefinitions.values()); -} +export const effectsRegistry = new EffectsRegistry(); diff --git a/apps/web/src/lib/effects/types.ts b/apps/web/src/lib/effects/types.ts new file mode 100644 index 00000000..7f85389f --- /dev/null +++ b/apps/web/src/lib/effects/types.ts @@ -0,0 +1,42 @@ +import type { ParamDefinition, ParamValues } from "@/lib/params"; + +export interface Effect { + id: string; + type: string; + params: ParamValues; + enabled: boolean; +} + +export interface ResolvedEffectPass { + fragmentShader: string; + uniforms: Record<string, number | number[]>; +} + +export interface WebGLEffectPass { + fragmentShader: string; + uniforms(params: { + effectParams: ParamValues; + width: number; + height: number; + }): Record<string, number | number[]>; +} + +export interface WebGLEffectRenderer { + type: "webgl"; + passes: WebGLEffectPass[]; + buildPasses?: (params: { + effectParams: ParamValues; + width: number; + height: number; + }) => ResolvedEffectPass[]; +} + +export type EffectRenderer = WebGLEffectRenderer; + +export interface EffectDefinition { + type: string; + name: string; + keywords: string[]; + params: ParamDefinition[]; + renderer: EffectRenderer; +} diff --git a/apps/web/src/lib/export.ts b/apps/web/src/lib/export.ts index ae68144b..68d2bc7f 100644 --- a/apps/web/src/lib/export.ts +++ b/apps/web/src/lib/export.ts @@ -1,5 +1,36 @@ import { EXPORT_MIME_TYPES } from "@/constants/export-constants"; -import type { ExportFormat } from "@/types/export"; + +export const EXPORT_QUALITY_VALUES = [ + "low", + "medium", + "high", + "very_high", +] as const; + +export const EXPORT_FORMAT_VALUES = ["mp4", "webm"] as const; + +export type ExportFormat = (typeof EXPORT_FORMAT_VALUES)[number]; +export type ExportQuality = (typeof EXPORT_QUALITY_VALUES)[number]; + +export interface ExportOptions { + format: ExportFormat; + quality: ExportQuality; + fps?: number; + includeAudio?: boolean; +} + +export interface ExportResult { + success: boolean; + buffer?: ArrayBuffer; + error?: string; + cancelled?: boolean; +} + +export interface ExportState { + isExporting: boolean; + progress: number; + result: ExportResult | null; +} export function getExportMimeType({ format, diff --git a/apps/web/src/lib/fonts/google-fonts.ts b/apps/web/src/lib/fonts/google-fonts.ts index 7e55dffd..580ce406 100644 --- a/apps/web/src/lib/fonts/google-fonts.ts +++ b/apps/web/src/lib/fonts/google-fonts.ts @@ -1,14 +1,16 @@ -import type { FontAtlas } from "@/types/fonts"; +import type { FontAtlas } from "@/lib/fonts/types"; import { SYSTEM_FONTS } from "@/constants/font-constants"; const GOOGLE_FONTS_CSS = "https://fonts.googleapis.com/css2"; +const FONT_ATLAS_PATH = "/fonts/font-atlas.json"; +const FONT_CHUNK_PATH_PREFIX = "/fonts/font-chunk-"; const fullLoaded = new Set<string>(); let cachedAtlas: FontAtlas | null = null; let atlasFetchPromise: Promise<FontAtlas | null> | null = null; -function encodeFamily(family: string): string { +function encodeGoogleFontsFamily(family: string): string { return family.replace(/ /g, "+"); } @@ -19,17 +21,19 @@ export function getCachedFontAtlas(): FontAtlas | null { export function clearFontAtlasCache(): void { cachedAtlas = null; atlasFetchPromise = null; + fullLoaded.clear(); } -async function fetchAtlas(): Promise<FontAtlas | null> { - if (cachedAtlas) return cachedAtlas; +export function loadFontAtlas(): Promise<FontAtlas | null> { + if (cachedAtlas) return Promise.resolve(cachedAtlas); if (atlasFetchPromise) return atlasFetchPromise; - atlasFetchPromise = fetch("/fonts/font-atlas.json") + atlasFetchPromise = fetch(FONT_ATLAS_PATH) .then(async (response) => { if (!response.ok) return null; const data: FontAtlas = await response.json(); cachedAtlas = data; + preloadChunkImages({ atlas: data }); return data; }) .catch(() => null); @@ -42,18 +46,12 @@ function preloadChunkImages({ atlas }: { atlas: FontAtlas }): void { ...Object.values(atlas.fonts).map((entry) => entry.ch), ); for (let i = 0; i <= maxChunk; i++) { + // hint browser to preload chunk images without blocking const img = new Image(); - img.src = `/fonts/font-chunk-${i}.avif`; + img.src = `${FONT_CHUNK_PATH_PREFIX}${i}.avif`; } } -export function prefetchFontAtlas(): Promise<FontAtlas | null> { - return fetchAtlas().then((atlas) => { - if (atlas) preloadChunkImages({ atlas }); - return atlas; - }); -} - export async function loadFullFont({ family, weights = [400, 700], @@ -63,7 +61,7 @@ export async function loadFullFont({ }): Promise<void> { if (fullLoaded.has(family)) return; - const url = `${GOOGLE_FONTS_CSS}?family=${encodeFamily(family)}:wght@${weights.join(";")}&display=swap`; + const url = `${GOOGLE_FONTS_CSS}?family=${encodeGoogleFontsFamily(family)}:wght@${weights.join(";")}&display=swap`; const link = document.createElement("link"); link.rel = "stylesheet"; link.href = url; diff --git a/apps/web/src/types/fonts.ts b/apps/web/src/lib/fonts/types.ts index a2db6f91..a2db6f91 100644 --- a/apps/web/src/types/fonts.ts +++ b/apps/web/src/lib/fonts/types.ts diff --git a/apps/web/src/lib/graphics/definitions/ellipse.ts b/apps/web/src/lib/graphics/definitions/ellipse.ts new file mode 100644 index 00000000..3fd76608 --- /dev/null +++ b/apps/web/src/lib/graphics/definitions/ellipse.ts @@ -0,0 +1,73 @@ +import type { ParamDefinition } from "@/lib/params"; +import { applyAlignedStroke } from "../stroke"; +import { STROKE_ALIGN_PARAM, type GraphicStrokeAlign } from "./shared"; +import type { GraphicDefinition } from "../types"; + +interface EllipseParams { + fill: string; + stroke: string; + strokeWidth: number; + strokeAlign: GraphicStrokeAlign; +} + +const ELLIPSE_PARAMS: ParamDefinition<keyof EllipseParams & string>[] = [ + { + key: "fill", + label: "Fill", + type: "color", + default: "#ffffff", + }, + { + key: "stroke", + label: "Color", + type: "color", + default: "#000000", + group: "stroke", + }, + { + key: "strokeWidth", + label: "Width", + type: "number", + default: 0, + min: 0, + max: 64, + step: 1, + shortLabel: "W", + group: "stroke", + }, + STROKE_ALIGN_PARAM, +]; + +export const ellipseGraphicDefinition: GraphicDefinition = { + id: "ellipse", + name: "Ellipse", + keywords: ["ellipse", "circle", "oval"], + params: ELLIPSE_PARAMS, + render({ ctx, params, width, height }) { + const fill = String(params.fill ?? "#ffffff"); + const stroke = String(params.stroke ?? "#000000"); + const strokeWidth = Math.max(0, Number(params.strokeWidth ?? 0)); + const strokeAlign = (params.strokeAlign ?? "center") as GraphicStrokeAlign; + const inset = strokeAlign === "center" ? strokeWidth / 2 : 0; + const centerX = width / 2; + const centerY = height / 2; + const radiusX = Math.max(1, width / 2 - inset); + const radiusY = Math.max(1, height / 2 - inset); + + ctx.clearRect(0, 0, width, height); + const path = new Path2D(); + path.ellipse(centerX, centerY, radiusX, radiusY, 0, 0, Math.PI * 2); + ctx.fillStyle = fill; + ctx.fill(path); + + if (strokeWidth > 0) { + applyAlignedStroke({ + ctx, + path, + strokeWidth, + strokeAlign, + strokeColor: stroke, + }); + } + }, +}; diff --git a/apps/web/src/lib/graphics/definitions/index.ts b/apps/web/src/lib/graphics/definitions/index.ts new file mode 100644 index 00000000..e791f917 --- /dev/null +++ b/apps/web/src/lib/graphics/definitions/index.ts @@ -0,0 +1,29 @@ +import { graphicsRegistry } from "../registry"; +import { ellipseGraphicDefinition } from "./ellipse"; +import { polygonGraphicDefinition } from "./polygon"; +import { rectangleGraphicDefinition } from "./rectangle"; +import { starGraphicDefinition } from "./star"; + +const defaultGraphicDefinitions = [ + rectangleGraphicDefinition, + ellipseGraphicDefinition, + polygonGraphicDefinition, + starGraphicDefinition, +]; + +export function registerDefaultGraphics(): void { + for (const definition of defaultGraphicDefinitions) { + if (graphicsRegistry.has(definition.id)) { + continue; + } + graphicsRegistry.register(definition.id, definition); + } +} + +export { + ellipseGraphicDefinition, + polygonGraphicDefinition, + rectangleGraphicDefinition, + starGraphicDefinition, +}; +export { STROKE_ALIGN_PARAM } from "./shared"; diff --git a/apps/web/src/lib/graphics/definitions/polygon.ts b/apps/web/src/lib/graphics/definitions/polygon.ts new file mode 100644 index 00000000..780c974c --- /dev/null +++ b/apps/web/src/lib/graphics/definitions/polygon.ts @@ -0,0 +1,211 @@ +import type { ParamDefinition } from "@/lib/params"; +import { applyAlignedStroke } from "../stroke"; +import { STROKE_ALIGN_PARAM, type GraphicStrokeAlign } from "./shared"; +import type { GraphicDefinition } from "../types"; + +interface Point { + x: number; + y: number; +} + +interface PolygonParams { + fill: string; + stroke: string; + strokeWidth: number; + strokeAlign: GraphicStrokeAlign; + sides: number; + cornerRadius: number; +} + +const POLYGON_PARAMS: ParamDefinition<keyof PolygonParams & string>[] = [ + { + key: "fill", + label: "Fill", + type: "color", + default: "#ffffff", + }, + { + key: "stroke", + label: "Color", + type: "color", + default: "#000000", + group: "stroke", + }, + { + key: "strokeWidth", + label: "Width", + type: "number", + default: 0, + min: 0, + max: 64, + step: 1, + shortLabel: "W", + group: "stroke", + }, + STROKE_ALIGN_PARAM, + { + key: "sides", + label: "Sides", + type: "number", + default: 5, + min: 3, + max: 12, + step: 1, + shortLabel: "S", + }, + { + key: "cornerRadius", + label: "Corner radius", + type: "number", + default: 0, + min: 0, + max: 50, + step: 1, + shortLabel: "R", + }, +]; + +function buildPolygonVertices({ + centerX, + centerY, + radius, + sides, +}: { + centerX: number; + centerY: number; + radius: number; + sides: number; +}): Point[] { + return Array.from({ length: sides }, (_, index) => { + const angle = -Math.PI / 2 + (index * Math.PI * 2) / sides; + return { + x: centerX + Math.cos(angle) * radius, + y: centerY + Math.sin(angle) * radius, + }; + }); +} + +function distance({ a, b }: { a: Point; b: Point }): number { + return Math.hypot(a.x - b.x, a.y - b.y); +} + +function normalize(point: Point): Point { + const length = Math.hypot(point.x, point.y) || 1; + return { + x: point.x / length, + y: point.y / length, + }; +} + +function traceRoundedPolygonPath({ + path, + vertices, + radius, +}: { + path: Path2D; + vertices: Point[]; + radius: number; +}): void { + if (vertices.length < 3) { + return; + } + + if (radius <= 0) { + path.moveTo(vertices[0].x, vertices[0].y); + for (let index = 1; index < vertices.length; index++) { + path.lineTo(vertices[index].x, vertices[index].y); + } + path.closePath(); + return; + } + + for (let index = 0; index < vertices.length; index++) { + const previous = vertices[(index - 1 + vertices.length) % vertices.length]; + const current = vertices[index]; + const next = vertices[(index + 1) % vertices.length]; + const toPrevious = normalize({ + x: previous.x - current.x, + y: previous.y - current.y, + }); + const toNext = normalize({ + x: next.x - current.x, + y: next.y - current.y, + }); + const angle = Math.acos( + Math.max(-1, Math.min(1, toPrevious.x * toNext.x + toPrevious.y * toNext.y)), + ); + const maxOffset = + Math.min(distance({ a: previous, b: current }), distance({ a: current, b: next })) / 2; + const tangentOffset = Math.min(radius / Math.tan(angle / 2), maxOffset); + const start = { + x: current.x + toPrevious.x * tangentOffset, + y: current.y + toPrevious.y * tangentOffset, + }; + const end = { + x: current.x + toNext.x * tangentOffset, + y: current.y + toNext.y * tangentOffset, + }; + + if (index === 0) { + path.moveTo(start.x, start.y); + } else { + path.lineTo(start.x, start.y); + } + + path.arcTo( + current.x, + current.y, + end.x, + end.y, + Math.min(radius, maxOffset), + ); + } + + path.closePath(); +} + +export const polygonGraphicDefinition: GraphicDefinition = { + id: "polygon", + name: "Polygon", + keywords: ["polygon", "triangle", "pentagon", "hexagon", "diamond"], + params: POLYGON_PARAMS, + render({ ctx, params, width, height }) { + const fill = String(params.fill ?? "#ffffff"); + const stroke = String(params.stroke ?? "#000000"); + const strokeWidth = Math.max(0, Number(params.strokeWidth ?? 0)); + const strokeAlign = (params.strokeAlign ?? "center") as GraphicStrokeAlign; + const sides = Math.max(3, Math.min(12, Math.round(Number(params.sides ?? 5)))); + const inset = strokeAlign === "center" ? strokeWidth / 2 : 0; + const radius = Math.max(1, Math.min(width, height) / 2 - inset); + const maxCornerRadius = radius * Math.sin(Math.PI / sides); + const cornerRadiusPercent = Math.max(0, Number(params.cornerRadius ?? 0)); + const cornerRadius = + maxCornerRadius * Math.min(cornerRadiusPercent, 50) / 50; + const vertices = buildPolygonVertices({ + centerX: width / 2, + centerY: height / 2, + radius, + sides, + }); + + ctx.clearRect(0, 0, width, height); + const path = new Path2D(); + traceRoundedPolygonPath({ + path, + vertices, + radius: cornerRadius, + }); + ctx.fillStyle = fill; + ctx.fill(path); + + if (strokeWidth > 0) { + applyAlignedStroke({ + ctx, + path, + strokeWidth, + strokeAlign, + strokeColor: stroke, + }); + } + }, +}; diff --git a/apps/web/src/lib/graphics/definitions/rectangle.ts b/apps/web/src/lib/graphics/definitions/rectangle.ts new file mode 100644 index 00000000..4e7f78f6 --- /dev/null +++ b/apps/web/src/lib/graphics/definitions/rectangle.ts @@ -0,0 +1,85 @@ +import type { ParamDefinition } from "@/lib/params"; +import { applyAlignedStroke } from "../stroke"; +import { STROKE_ALIGN_PARAM, type GraphicStrokeAlign } from "./shared"; +import type { GraphicDefinition } from "../types"; + +interface RectangleParams { + fill: string; + stroke: string; + strokeWidth: number; + strokeAlign: GraphicStrokeAlign; + cornerRadius: number; +} + +const RECTANGLE_PARAMS: ParamDefinition<keyof RectangleParams & string>[] = [ + { + key: "fill", + label: "Fill", + type: "color", + default: "#ffffff", + }, + { + key: "stroke", + label: "Color", + type: "color", + default: "#000000", + group: "stroke", + }, + { + key: "strokeWidth", + label: "Width", + type: "number", + default: 0, + min: 0, + max: 64, + step: 1, + shortLabel: "W", + group: "stroke", + }, + STROKE_ALIGN_PARAM, + { + key: "cornerRadius", + label: "Corner radius", + type: "number", + default: 0, + min: 0, + max: 50, + step: 1, + shortLabel: "R", + }, +]; + +export const rectangleGraphicDefinition: GraphicDefinition = { + id: "rectangle", + name: "Rectangle", + keywords: ["rectangle", "square", "box"], + params: RECTANGLE_PARAMS, + render({ ctx, params, width, height }) { + const fill = String(params.fill ?? "#ffffff"); + const stroke = String(params.stroke ?? "#000000"); + const strokeWidth = Math.max(0, Number(params.strokeWidth ?? 0)); + const strokeAlign = (params.strokeAlign ?? "center") as GraphicStrokeAlign; + const inset = strokeAlign === "center" ? strokeWidth / 2 : 0; + const drawWidth = Math.max(1, width - inset * 2); + const drawHeight = Math.max(1, height - inset * 2); + const radiusPercent = Math.max(0, Number(params.cornerRadius ?? 0)); + const radius = + (Math.min(drawWidth, drawHeight) / 2) * Math.min(radiusPercent, 50) / 50; + + ctx.clearRect(0, 0, width, height); + const path = new Path2D(); + path.roundRect(inset, inset, drawWidth, drawHeight, radius); + ctx.fillStyle = fill; + ctx.fill(path); + + if (strokeWidth > 0) { + applyAlignedStroke({ + ctx, + path, + strokeWidth, + strokeAlign, + strokeColor: stroke, + }); + } + }, +}; diff --git a/apps/web/src/lib/graphics/definitions/shared.ts b/apps/web/src/lib/graphics/definitions/shared.ts new file mode 100644 index 00000000..d2833f51 --- /dev/null +++ b/apps/web/src/lib/graphics/definitions/shared.ts @@ -0,0 +1,16 @@ +import type { ParamDefinition } from "@/lib/params"; + +export type GraphicStrokeAlign = "inside" | "center" | "outside"; + +export const STROKE_ALIGN_PARAM: ParamDefinition<"strokeAlign"> = { + key: "strokeAlign", + label: "Stroke align", + type: "select", + default: "center", + group: "stroke", + options: [ + { value: "inside", label: "Inside" }, + { value: "center", label: "Center" }, + { value: "outside", label: "Outside" }, + ], +}; diff --git a/apps/web/src/lib/graphics/definitions/star.ts b/apps/web/src/lib/graphics/definitions/star.ts new file mode 100644 index 00000000..c7f9ef56 --- /dev/null +++ b/apps/web/src/lib/graphics/definitions/star.ts @@ -0,0 +1,109 @@ +import type { ParamDefinition } from "@/lib/params"; +import { applyAlignedStroke } from "../stroke"; +import { STROKE_ALIGN_PARAM, type GraphicStrokeAlign } from "./shared"; +import type { GraphicDefinition } from "../types"; + +interface StarParams { + fill: string; + stroke: string; + strokeWidth: number; + strokeAlign: GraphicStrokeAlign; + points: number; + depth: number; +} + +const STAR_PARAMS: ParamDefinition<keyof StarParams & string>[] = [ + { + key: "fill", + label: "Fill", + type: "color", + default: "#ffffff", + }, + { + key: "stroke", + label: "Color", + type: "color", + default: "#000000", + group: "stroke", + }, + { + key: "strokeWidth", + label: "Width", + type: "number", + default: 0, + min: 0, + max: 64, + step: 1, + shortLabel: "W", + group: "stroke", + }, + STROKE_ALIGN_PARAM, + { + key: "points", + label: "Points", + type: "number", + default: 5, + min: 3, + max: 12, + step: 1, + shortLabel: "P", + }, + { + key: "depth", + label: "Depth", + type: "number", + default: 45, + min: 1, + max: 99, + step: 1, + shortLabel: "D", + }, +]; + +export const starGraphicDefinition: GraphicDefinition = { + id: "star", + name: "Star", + keywords: ["star", "sparkle", "burst"], + params: STAR_PARAMS, + render({ ctx, params, width, height }) { + const fill = String(params.fill ?? "#ffffff"); + const stroke = String(params.stroke ?? "#000000"); + const strokeWidth = Math.max(0, Number(params.strokeWidth ?? 0)); + const strokeAlign = (params.strokeAlign ?? "center") as GraphicStrokeAlign; + const points = Math.max(3, Math.min(12, Math.round(Number(params.points ?? 5)))); + const depth = Math.max(1, Math.min(99, Number(params.depth ?? 45))) / 100; + const inset = strokeAlign === "center" ? strokeWidth / 2 : 0; + const outerRadius = Math.max(1, Math.min(width, height) / 2 - inset); + const innerRadius = outerRadius * depth; + const centerX = width / 2; + const centerY = height / 2; + + ctx.clearRect(0, 0, width, height); + const path = new Path2D(); + for (let index = 0; index < points * 2; index++) { + const radius = index % 2 === 0 ? outerRadius : innerRadius; + const angle = -Math.PI / 2 + (index * Math.PI) / points; + const x = centerX + Math.cos(angle) * radius; + const y = centerY + Math.sin(angle) * radius; + + if (index === 0) { + path.moveTo(x, y); + } else { + path.lineTo(x, y); + } + } + path.closePath(); + ctx.fillStyle = fill; + ctx.fill(path); + + if (strokeWidth > 0) { + applyAlignedStroke({ + ctx, + path, + strokeWidth, + strokeAlign, + strokeColor: stroke, + }); + } + }, +}; diff --git a/apps/web/src/lib/graphics/index.ts b/apps/web/src/lib/graphics/index.ts new file mode 100644 index 00000000..5286e932 --- /dev/null +++ b/apps/web/src/lib/graphics/index.ts @@ -0,0 +1,125 @@ +import { buildDefaultParamValues } from "@/lib/registry"; +import type { ParamValues } from "@/lib/params"; +import { graphicsRegistry } from "./registry"; +import { + registerDefaultGraphics, + ellipseGraphicDefinition, + polygonGraphicDefinition, + rectangleGraphicDefinition, + starGraphicDefinition, +} from "./definitions"; +import { + DEFAULT_GRAPHIC_SOURCE_SIZE, + type GraphicInstance, + type GraphicDefinition, +} from "./types"; + +const graphicPreviewUrlCache = new Map<string, string>(); + +const FALLBACK_CORNER_RADIUS_RATIO = 0.2; +const FALLBACK_FILL_OPACITY = 0.08; +const FALLBACK_MIN_FONT_SIZE = 12; +const FALLBACK_FONT_SIZE_RATIO = 0.15; + +function buildFallbackPreviewUrl({ + name, + size, +}: { + name: string; + size: number; +}): string { + const svg = ` + <svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" viewBox="0 0 ${size} ${size}"> + <rect width="${size}" height="${size}" rx="${size * FALLBACK_CORNER_RADIUS_RATIO}" fill="white" fill-opacity="${FALLBACK_FILL_OPACITY}" /> + <text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" fill="white" font-size="${Math.max(FALLBACK_MIN_FONT_SIZE, size * FALLBACK_FONT_SIZE_RATIO)}" font-family="sans-serif">${name}</text> + </svg> + `; + return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svg)}`; +} + +export function getGraphicDefinition({ + definitionId, +}: { + definitionId: string; +}): GraphicDefinition { + registerDefaultGraphics(); + return graphicsRegistry.get(definitionId); +} + +export function buildDefaultGraphicInstance({ + definitionId, +}: { + definitionId: string; +}): GraphicInstance { + const definition = getGraphicDefinition({ definitionId }); + return { + definitionId, + params: buildDefaultParamValues(definition.params), + }; +} + +export function resolveGraphicParams( + definition: GraphicDefinition, + params?: ParamValues, +): ParamValues { + return { + ...buildDefaultParamValues(definition.params), + ...(params ?? {}), + }; +} + +export function buildGraphicPreviewUrl({ + definitionId, + params, + size = DEFAULT_GRAPHIC_SOURCE_SIZE, +}: { + definitionId: string; + params?: ParamValues; + size?: number; +}): string { + const definition = getGraphicDefinition({ definitionId }); + const resolvedParams = resolveGraphicParams(definition, params); + const cacheKey = JSON.stringify({ definitionId, resolvedParams, size }); + const cachedUrl = graphicPreviewUrlCache.get(cacheKey); + if (cachedUrl) { + return cachedUrl; + } + + if (typeof document === "undefined") { + return buildFallbackPreviewUrl({ name: definition.name, size }); + } + + const canvas = document.createElement("canvas"); + canvas.width = size; + canvas.height = size; + const ctx = canvas.getContext("2d"); + if (!ctx) { + return buildFallbackPreviewUrl({ name: definition.name, size }); + } + + definition.render({ + ctx, + params: resolvedParams, + width: size, + height: size, + }); + + const previewUrl = canvas.toDataURL("image/png"); + graphicPreviewUrlCache.set(cacheKey, previewUrl); + return previewUrl; +} + +export { + DEFAULT_GRAPHIC_SOURCE_SIZE, + ellipseGraphicDefinition, + graphicsRegistry, + polygonGraphicDefinition, + rectangleGraphicDefinition, + registerDefaultGraphics, + starGraphicDefinition, +}; +export type { + GraphicDefinition, + GraphicInstance, + GraphicRenderContext, +} from "./types"; diff --git a/apps/web/src/lib/graphics/registry.ts b/apps/web/src/lib/graphics/registry.ts new file mode 100644 index 00000000..7f2ab9fd --- /dev/null +++ b/apps/web/src/lib/graphics/registry.ts @@ -0,0 +1,10 @@ +import { DefinitionRegistry } from "@/lib/registry"; +import type { GraphicDefinition } from "./types"; + +export class GraphicsRegistry extends DefinitionRegistry<string, GraphicDefinition> { + constructor() { + super("graphic"); + } +} + +export const graphicsRegistry = new GraphicsRegistry(); diff --git a/apps/web/src/lib/graphics/stroke.ts b/apps/web/src/lib/graphics/stroke.ts new file mode 100644 index 00000000..98f9f43f --- /dev/null +++ b/apps/web/src/lib/graphics/stroke.ts @@ -0,0 +1,102 @@ +import type { GraphicStrokeAlign } from "./definitions/shared"; + +type GraphicRenderContext = + | CanvasRenderingContext2D + | OffscreenCanvasRenderingContext2D; + +function createTempCanvas({ + width, + height, +}: { + width: number; + height: number; +}): OffscreenCanvas | HTMLCanvasElement { + try { + return new OffscreenCanvas(width, height); + } catch { + const canvas = document.createElement("canvas"); + canvas.width = width; + canvas.height = height; + return canvas; + } +} + +function applyStroke({ + ctx, + path, + strokeWidth, + strokeColor, +}: { + ctx: GraphicRenderContext; + path: Path2D; + strokeWidth: number; + strokeColor: string; +}) { + ctx.strokeStyle = strokeColor; + ctx.lineWidth = strokeWidth; + ctx.stroke(path); +} + +export function applyAlignedStroke({ + ctx, + path, + strokeWidth, + strokeAlign, + strokeColor, +}: { + ctx: GraphicRenderContext; + path: Path2D; + strokeWidth: number; + strokeAlign: GraphicStrokeAlign; + strokeColor: string; +}): void { + if (strokeWidth <= 0) { + return; + } + + if (strokeAlign === "inside") { + ctx.save(); + ctx.clip(path); + applyStroke({ + ctx, + path, + strokeWidth: strokeWidth * 2, + strokeColor, + }); + ctx.restore(); + return; + } + + if (strokeAlign === "outside") { + const strokeCanvas = createTempCanvas({ + width: ctx.canvas.width, + height: ctx.canvas.height, + }); + const strokeCtx = strokeCanvas.getContext("2d") as GraphicRenderContext | null; + if (!strokeCtx) { + return; + } + + applyStroke({ + ctx: strokeCtx, + path, + strokeWidth: strokeWidth * 2, + strokeColor, + }); + + // Keep only the outer half of the doubled stroke so alpha fills do not + // leave a visible inner stroke behind. + strokeCtx.globalCompositeOperation = "destination-out"; + strokeCtx.fill(path); + + ctx.drawImage(strokeCanvas, 0, 0); + return; + } + + applyStroke({ + ctx, + path, + strokeWidth, + strokeColor, + }); +} diff --git a/apps/web/src/lib/graphics/types.ts b/apps/web/src/lib/graphics/types.ts new file mode 100644 index 00000000..af932d39 --- /dev/null +++ b/apps/web/src/lib/graphics/types.ts @@ -0,0 +1,23 @@ +import type { ParamDefinition, ParamValues } from "@/lib/params"; + +export const DEFAULT_GRAPHIC_SOURCE_SIZE = 512; + +export interface GraphicRenderContext { + ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D; + params: ParamValues; + width: number; + height: number; +} + +export interface GraphicDefinition { + id: string; + name: string; + keywords: string[]; + params: ParamDefinition[]; + render(context: GraphicRenderContext): void; +} + +export interface GraphicInstance { + definitionId: string; + params: ParamValues; +} diff --git a/apps/web/src/lib/guides/definitions/custom.tsx b/apps/web/src/lib/guides/definitions/custom.tsx new file mode 100644 index 00000000..bc92cb84 --- /dev/null +++ b/apps/web/src/lib/guides/definitions/custom.tsx @@ -0,0 +1,24 @@ +import { PlusSignIcon, RulerIcon } from "@hugeicons/core-free-icons"; +import { HugeiconsIcon } from "@hugeicons/react"; +import { Button } from "@/components/ui/button"; +import type { GuideDefinition } from "@/lib/guides/types"; + +function CustomGuideOptions() { + return ( + <div className="flex gap-2"> + <Button variant="outline" size="sm" className="flex-1"> + <HugeiconsIcon icon={PlusSignIcon} /> + Add guide line + </Button> + </div> + ); +} + +export const customGuide = { + id: "custom", + label: "Custom", + renderPreview: () => <HugeiconsIcon size={16} icon={RulerIcon} />, + renderTriggerIcon: () => <HugeiconsIcon icon={RulerIcon} />, + renderOverlay: () => null, + renderOptions: () => <CustomGuideOptions />, +} as const satisfies GuideDefinition; diff --git a/apps/web/src/lib/guides/definitions/grid.tsx b/apps/web/src/lib/guides/definitions/grid.tsx new file mode 100644 index 00000000..0e7a2004 --- /dev/null +++ b/apps/web/src/lib/guides/definitions/grid.tsx @@ -0,0 +1,125 @@ +import { + GridTableIcon, + LayoutThreeColumnIcon, + LayoutThreeRowIcon, +} from "@hugeicons/core-free-icons"; +import { HugeiconsIcon } from "@hugeicons/react"; +import { NumberField } from "@/components/ui/number-field"; +import { + GRID_MIN, + GRID_MAX, + DEFAULT_GRID_CONFIG, +} from "@/constants/guide-constants"; +import { usePreviewStore } from "@/stores/preview-store"; +import { clampRound } from "@/utils/math"; +import { cn } from "@/utils/ui"; +import type { GuideDefinition } from "@/lib/guides/types"; + +function GridLines({ + rows, + cols, + color, +}: { + rows: number; + cols: number; + color: string; +}) { + const verticals = Array.from( + { length: cols - 1 }, + (_, i) => ((i + 1) / cols) * 100, + ); + const horizontals = Array.from( + { length: rows - 1 }, + (_, i) => ((i + 1) / rows) * 100, + ); + + return ( + <> + {verticals.map((pct) => ( + <div + key={`v-${pct}`} + className={cn("absolute top-0 bottom-0 w-px", color)} + style={{ left: `${pct}%` }} + /> + ))} + {horizontals.map((pct) => ( + <div + key={`h-${pct}`} + className={cn("absolute left-0 right-0 h-px", color)} + style={{ top: `${pct}%` }} + /> + ))} + </> + ); +} + +function GridGuidePreview() { + return ( + <div className="relative aspect-video w-full"> + <GridLines rows={3} cols={4} color="bg-foreground/15" /> + </div> + ); +} + +function GridGuideOverlay() { + const { rows, cols } = usePreviewStore((s) => s.gridConfig); + + return ( + <div className="absolute inset-0"> + <GridLines rows={rows} cols={cols} color="bg-white/35" /> + </div> + ); +} + +function GridGuideOptions() { + const rows = usePreviewStore((s) => s.gridConfig.rows); + const cols = usePreviewStore((s) => s.gridConfig.cols); + const setGridConfig = usePreviewStore((s) => s.setGridConfig); + + const clampGridValue = (value: number) => + clampRound({ value, min: GRID_MIN, max: GRID_MAX }); + + return ( + <div className="flex gap-2"> + <NumberField + icon={<HugeiconsIcon icon={LayoutThreeRowIcon} />} + value={rows} + min={GRID_MIN} + max={GRID_MAX} + isDefault={rows === DEFAULT_GRID_CONFIG.rows} + onReset={() => setGridConfig({ rows: DEFAULT_GRID_CONFIG.rows })} + onScrub={(value) => setGridConfig({ rows: clampGridValue(value) })} + onChange={(event) => { + const parsed = Number.parseInt(event.target.value, 10); + if (!Number.isNaN(parsed)) + setGridConfig({ rows: clampGridValue(parsed) }); + }} + className="flex-1" + /> + <NumberField + icon={<HugeiconsIcon icon={LayoutThreeColumnIcon} />} + value={cols} + min={GRID_MIN} + max={GRID_MAX} + isDefault={cols === DEFAULT_GRID_CONFIG.cols} + onReset={() => setGridConfig({ cols: DEFAULT_GRID_CONFIG.cols })} + onScrub={(value) => setGridConfig({ cols: clampGridValue(value) })} + onChange={(event) => { + const parsed = Number.parseInt(event.target.value, 10); + if (!Number.isNaN(parsed)) + setGridConfig({ cols: clampGridValue(parsed) }); + }} + className="flex-1" + /> + </div> + ); +} + +export const gridGuide = { + id: "grid", + label: "Grid", + renderPreview: () => <GridGuidePreview />, + renderTriggerIcon: () => <HugeiconsIcon icon={GridTableIcon} />, + renderOverlay: () => <GridGuideOverlay />, + renderOptions: () => <GridGuideOptions />, +} as const satisfies GuideDefinition; diff --git a/apps/web/src/lib/guides/definitions/platforms.tsx b/apps/web/src/lib/guides/definitions/platforms.tsx new file mode 100644 index 00000000..ffeec1c0 --- /dev/null +++ b/apps/web/src/lib/guides/definitions/platforms.tsx @@ -0,0 +1,65 @@ +import Image from "next/image"; +import type { GuideDefinition } from "@/lib/guides/types"; +import { TikTokLayout } from "./tiktok-layout"; + +function PlatformLogo({ + domain, + className = "size-4", +}: { + domain: string; + className?: string; +}) { + return ( + <Image + src={`https://cdn.brandfetch.io/${domain}/w/64/h/64`} + alt="" + width={18} + height={18} + className={className} + draggable={false} + unoptimized + /> + ); +} + +function PlatformGuidePreview({ domain }: { domain: string }) { + return <PlatformLogo domain={domain} />; +} + +function platformGuide({ + id, + label, + domain, +}: { + id: string; + label: string; + domain: string; +}): GuideDefinition { + return { + id, + label, + renderPreview: () => <PlatformGuidePreview domain={domain} />, + renderTriggerIcon: () => <PlatformLogo domain={domain} />, + renderOverlay: () => null, + }; +} + +export const tiktokGuide: GuideDefinition = { + ...platformGuide({ id: "tiktok", label: "TikTok", domain: "tiktok.com" }), + renderOverlay: () => <TikTokLayout />, +}; +export const igReelsGuide = platformGuide({ + id: "ig-reels", + label: "Reels", + domain: "instagram.com", +}); +export const ytShortsGuide = platformGuide({ + id: "yt-shorts", + label: "Shorts", + domain: "youtube.com", +}); +export const spotlightGuide = platformGuide({ + id: "spotlight", + label: "Spotlight", + domain: "snapchat.com", +}); diff --git a/apps/web/src/lib/guides/definitions/tiktok-layout.tsx b/apps/web/src/lib/guides/definitions/tiktok-layout.tsx new file mode 100644 index 00000000..794d1379 --- /dev/null +++ b/apps/web/src/lib/guides/definitions/tiktok-layout.tsx @@ -0,0 +1,335 @@ +export function TikTokLayout() { + return ( + <svg + width="100%" + height="100%" + viewBox="0 0 1080 1920" + fill="none" + xmlns="http://www.w3.org/2000/svg" + > + <title>TikTok Layout</title> + <path + d="M56.2488 1751.28H51.6355C51.458 1750.3 51.1278 1749.43 50.6447 1748.68C50.1617 1747.93 49.5702 1747.3 48.8704 1746.77C48.1704 1746.25 47.3868 1745.85 46.5194 1745.59C45.6617 1745.32 44.7498 1745.19 43.7838 1745.19C42.0391 1745.19 40.4766 1745.63 39.0965 1746.5C37.7264 1747.38 36.642 1748.67 35.8435 1750.36C35.055 1752.06 34.6605 1754.13 34.6605 1756.57C34.6605 1759.04 35.055 1761.12 35.8435 1762.81C36.642 1764.51 37.7313 1765.79 39.1114 1766.65C40.4914 1767.52 42.044 1767.95 43.7689 1767.95C44.7253 1767.95 45.6322 1767.83 46.4897 1767.57C47.3571 1767.3 48.141 1766.91 48.8408 1766.4C49.5408 1765.89 50.1321 1765.26 50.6151 1764.53C51.108 1763.78 51.4481 1762.92 51.6355 1761.95L56.2488 1761.97C56.0023 1763.46 55.5243 1764.83 54.8146 1766.08C54.1145 1767.32 53.2125 1768.39 52.1086 1769.3C51.0143 1770.2 49.7625 1770.89 48.3528 1771.38C46.9431 1771.88 45.4053 1772.12 43.7395 1772.12C41.1173 1772.12 38.7811 1771.5 36.7307 1770.26C34.6803 1769.01 33.0636 1767.22 31.8808 1764.9C30.7077 1762.57 30.1211 1759.79 30.1211 1756.57C30.1211 1753.34 30.7126 1750.57 31.8954 1748.25C33.0785 1745.92 34.6951 1744.14 36.7455 1742.9C38.796 1741.65 41.1272 1741.02 43.7395 1741.02C45.3462 1741.02 46.8447 1741.25 48.2347 1741.72C49.6342 1742.17 50.8912 1742.84 52.005 1743.73C53.1191 1744.6 54.0406 1745.68 54.7701 1746.95C55.4995 1748.21 55.9924 1749.66 56.2488 1751.28ZM61.3612 1771.71V1749H65.6344V1752.61H65.8709C66.285 1751.39 67.0144 1750.43 68.0596 1749.73C69.1143 1749.02 70.307 1748.66 71.6379 1748.66C71.9137 1748.66 72.239 1748.67 72.6138 1748.69C72.9982 1748.71 73.2987 1748.74 73.5155 1748.77V1753C73.3383 1752.95 73.0229 1752.89 72.5693 1752.83C72.1159 1752.76 71.6623 1752.73 71.209 1752.73C70.1641 1752.73 69.2325 1752.95 68.4143 1753.39C67.606 1753.83 66.9653 1754.43 66.4921 1755.21C66.019 1755.98 65.7825 1756.86 65.7825 1757.84V1771.71H61.3612ZM86.317 1772.17C84.0792 1772.17 82.1521 1771.69 80.5355 1770.73C78.9288 1769.77 77.6867 1768.41 76.8094 1766.67C75.9417 1764.91 75.5082 1762.86 75.5082 1760.5C75.5082 1758.18 75.9417 1756.13 76.8094 1754.36C77.6867 1752.58 78.909 1751.2 80.4764 1750.2C82.0535 1749.2 83.8971 1748.71 86.0066 1748.71C87.288 1748.71 88.5301 1748.92 89.7327 1749.34C90.9353 1749.77 92.0148 1750.43 92.9709 1751.34C93.927 1752.25 94.6812 1753.42 95.2332 1754.87C95.7851 1756.31 96.0612 1758.06 96.0612 1760.12V1761.69H78.007V1758.38H91.7288C91.7288 1757.21 91.4922 1756.18 91.0191 1755.29C90.546 1754.38 89.8805 1753.66 89.023 1753.14C88.1752 1752.62 87.1795 1752.36 86.036 1752.36C84.7941 1752.36 83.7097 1752.67 82.783 1753.28C81.8664 1753.88 81.1565 1754.67 80.6537 1755.64C80.1608 1756.61 79.9146 1757.66 79.9146 1758.79V1761.38C79.9146 1762.89 80.1805 1764.19 80.713 1765.25C81.2551 1766.31 82.0093 1767.13 82.9753 1767.69C83.9413 1768.24 85.07 1768.52 86.3613 1768.52C87.1993 1768.52 87.9633 1768.4 88.6532 1768.16C89.3434 1767.92 89.9396 1767.55 90.4424 1767.07C90.9452 1766.58 91.3295 1765.99 91.5958 1765.28L95.7802 1766.03C95.4453 1767.27 94.8438 1768.34 93.9765 1769.27C93.1187 1770.19 92.0392 1770.9 90.738 1771.41C89.4467 1771.92 87.973 1772.17 86.317 1772.17ZM107.576 1772.21C106.137 1772.21 104.836 1771.95 103.673 1771.41C102.509 1770.87 101.588 1770.09 100.907 1769.06C100.237 1768.04 99.9021 1766.78 99.9021 1765.29C99.9021 1764.01 100.148 1762.96 100.641 1762.13C101.134 1761.3 101.8 1760.65 102.638 1760.16C103.476 1759.68 104.412 1759.32 105.447 1759.07C106.482 1758.82 107.537 1758.64 108.611 1758.51C109.972 1758.35 111.076 1758.22 111.923 1758.12C112.771 1758.02 113.387 1757.84 113.772 1757.61C114.156 1757.37 114.348 1756.99 114.348 1756.45V1756.35C114.348 1755.06 113.984 1754.06 113.254 1753.35C112.535 1752.64 111.46 1752.29 110.031 1752.29C108.542 1752.29 107.369 1752.62 106.511 1753.28C105.664 1753.93 105.077 1754.65 104.752 1755.45L100.597 1754.5C101.09 1753.12 101.809 1752.01 102.756 1751.16C103.712 1750.31 104.811 1749.68 106.053 1749.3C107.295 1748.91 108.601 1748.71 109.972 1748.71C110.879 1748.71 111.84 1748.82 112.855 1749.03C113.88 1749.24 114.836 1749.62 115.724 1750.19C116.621 1750.75 117.355 1751.55 117.927 1752.59C118.498 1753.63 118.784 1754.98 118.784 1756.63V1771.71H114.467V1768.61H114.289C114.003 1769.18 113.574 1769.74 113.003 1770.29C112.431 1770.84 111.697 1771.3 110.8 1771.66C109.903 1772.03 108.828 1772.21 107.576 1772.21ZM108.537 1768.67C109.76 1768.67 110.804 1768.42 111.672 1767.94C112.549 1767.46 113.215 1766.83 113.668 1766.05C114.132 1765.26 114.363 1764.42 114.363 1763.52V1760.59C114.206 1760.75 113.9 1760.9 113.446 1761.04C113.003 1761.16 112.495 1761.28 111.923 1761.38C111.352 1761.46 110.795 1761.55 110.252 1761.63C109.71 1761.7 109.257 1761.76 108.892 1761.8C108.035 1761.91 107.251 1762.1 106.541 1762.35C105.841 1762.61 105.279 1762.98 104.856 1763.46C104.442 1763.93 104.234 1764.57 104.234 1765.35C104.234 1766.45 104.639 1767.27 105.447 1767.84C106.255 1768.39 107.285 1768.67 108.537 1768.67ZM135.275 1749V1752.55H122.869V1749H135.275ZM126.196 1743.56H130.617V1765.04C130.617 1765.9 130.745 1766.54 131.001 1766.98C131.258 1767.4 131.588 1767.69 131.992 1767.85C132.406 1768 132.855 1768.07 133.338 1768.07C133.693 1768.07 134.003 1768.05 134.269 1768C134.536 1767.95 134.742 1767.91 134.891 1767.88L135.689 1771.53C135.433 1771.63 135.068 1771.73 134.595 1771.83C134.121 1771.94 133.53 1772 132.82 1772.01C131.657 1772.02 130.573 1771.82 129.567 1771.38C128.562 1770.95 127.748 1770.28 127.128 1769.37C126.507 1768.47 126.196 1767.33 126.196 1765.96V1743.56ZM149.488 1772.17C147.359 1772.17 145.501 1771.68 143.914 1770.7C142.327 1769.73 141.094 1768.36 140.217 1766.61C139.34 1764.86 138.901 1762.81 138.901 1760.46C138.901 1758.11 139.34 1756.04 140.217 1754.28C141.094 1752.52 142.327 1751.15 143.914 1750.17C145.501 1749.2 147.359 1748.71 149.488 1748.71C151.618 1748.71 153.476 1749.2 155.063 1750.17C156.65 1751.15 157.882 1752.52 158.759 1754.28C159.637 1756.04 160.075 1758.11 160.075 1760.46C160.075 1762.81 159.637 1764.86 158.759 1766.61C157.882 1768.36 156.65 1769.73 155.063 1770.7C153.476 1771.68 151.618 1772.17 149.488 1772.17ZM149.503 1768.46C150.883 1768.46 152.027 1768.09 152.934 1767.36C153.841 1766.63 154.511 1765.66 154.944 1764.45C155.388 1763.24 155.61 1761.9 155.61 1760.44C155.61 1759 155.388 1757.67 154.944 1756.45C154.511 1755.23 153.841 1754.25 152.934 1753.51C152.027 1752.77 150.883 1752.41 149.503 1752.41C148.113 1752.41 146.96 1752.77 146.043 1753.51C145.136 1754.25 144.461 1755.23 144.017 1756.45C143.584 1757.67 143.367 1759 143.367 1760.44C143.367 1761.9 143.584 1763.24 144.017 1764.45C144.461 1765.66 145.136 1766.63 146.043 1767.36C146.96 1768.09 148.113 1768.46 149.503 1768.46ZM165.01 1771.71V1749H169.284V1752.61H169.52C169.934 1751.39 170.664 1750.43 171.709 1749.73C172.763 1749.02 173.956 1748.66 175.287 1748.66C175.563 1748.66 175.888 1748.67 176.263 1748.69C176.647 1748.71 176.948 1748.74 177.165 1748.77V1753C176.987 1752.95 176.672 1752.89 176.218 1752.83C175.765 1752.76 175.311 1752.73 174.858 1752.73C173.813 1752.73 172.882 1752.95 172.063 1753.39C171.255 1753.83 170.614 1754.43 170.141 1755.21C169.668 1755.98 169.432 1756.86 169.432 1757.84V1771.71H165.01Z" + fill="white" + /> + <path + d="M43.4438 1811.44V1814.4H31.6738V1811.44H43.4438ZM35.1043 1806H38.5939V1827.64C38.5939 1828.63 38.7368 1829.37 39.0228 1829.86C39.3184 1830.34 39.6932 1830.67 40.1465 1830.84C40.6097 1830.99 41.0977 1831.07 41.6104 1831.07C41.9947 1831.07 42.3101 1831.05 42.5566 1831.01C42.803 1830.97 43.0003 1830.92 43.1481 1830.9L43.8578 1834.03C43.6212 1834.12 43.291 1834.21 42.8673 1834.3C42.4434 1834.39 41.906 1834.44 41.2554 1834.44C40.2699 1834.44 39.3036 1834.23 38.3573 1833.81C37.421 1833.38 36.6421 1832.74 36.0212 1831.87C35.4099 1831 35.1043 1829.91 35.1043 1828.59V1806ZM55.1775 1834.62C53.1271 1834.62 51.328 1834.13 49.7804 1833.16C48.2426 1832.18 47.04 1830.82 46.1726 1829.06C45.3149 1827.31 44.8863 1825.26 44.8863 1822.91C44.8863 1820.55 45.3149 1818.48 46.1726 1816.72C47.04 1814.96 48.2426 1813.59 49.7804 1812.61C51.328 1811.64 53.1271 1811.15 55.1775 1811.15C57.2279 1811.15 59.022 1811.64 60.5598 1812.61C62.1075 1813.59 63.31 1814.96 64.1675 1816.72C65.0352 1818.48 65.4687 1820.55 65.4687 1822.91C65.4687 1825.26 65.0352 1827.31 64.1675 1829.06C63.31 1830.82 62.1075 1832.18 60.5598 1833.16C59.022 1834.13 57.2279 1834.62 55.1775 1834.62ZM55.1775 1831.49C56.735 1831.49 58.0165 1831.09 59.022 1830.29C60.0274 1829.49 60.7716 1828.44 61.2547 1827.14C61.7377 1825.84 61.9792 1824.43 61.9792 1822.91C61.9792 1821.39 61.7377 1819.98 61.2547 1818.67C60.7716 1817.36 60.0274 1816.3 59.022 1815.49C58.0165 1814.68 56.735 1814.28 55.1775 1814.28C53.62 1814.28 52.3385 1814.68 51.333 1815.49C50.3277 1816.3 49.5834 1817.36 49.1004 1818.67C48.6173 1819.98 48.3758 1821.39 48.3758 1822.91C48.3758 1824.43 48.6173 1825.84 49.1004 1827.14C49.5834 1828.44 50.3277 1829.49 51.333 1830.29C52.3385 1831.09 53.62 1831.49 55.1775 1831.49ZM71.7869 1803.87V1834.15H68.2973V1803.87H71.7869ZM84.2561 1834.62C82.3636 1834.62 80.6926 1834.14 79.2436 1833.19C77.7945 1832.22 76.6609 1830.86 75.8427 1829.11C75.0245 1827.34 74.6154 1825.26 74.6154 1822.85C74.6154 1820.47 75.0245 1818.4 75.8427 1816.65C76.6609 1814.89 77.7995 1813.54 79.2584 1812.58C80.7173 1811.62 82.4029 1811.15 84.3154 1811.15C85.7941 1811.15 86.9621 1811.39 87.8198 1811.89C88.6872 1812.37 89.3477 1812.92 89.801 1813.54C90.2645 1814.15 90.6242 1814.66 90.8805 1815.05H91.1761V1803.87H94.6657V1834.15H91.2945V1830.66H90.8805C90.6242 1831.07 90.2596 1831.59 89.7862 1832.22C89.3131 1832.85 88.638 1833.4 87.7605 1833.89C86.8832 1834.38 85.7152 1834.62 84.2561 1834.62ZM84.7294 1831.49C86.129 1831.49 87.3121 1831.12 88.2781 1830.39C89.2441 1829.65 89.9785 1828.63 90.4813 1827.33C90.9841 1826.02 91.2355 1824.51 91.2355 1822.79C91.2355 1821.1 90.989 1819.62 90.4961 1818.34C90.0032 1817.06 89.2738 1816.07 88.3078 1815.36C87.3418 1814.64 86.1488 1814.28 84.7294 1814.28C83.2508 1814.28 82.0185 1814.66 81.0327 1815.42C80.0568 1816.17 79.3224 1817.19 78.8295 1818.48C78.3465 1819.76 78.105 1821.2 78.105 1822.79C78.105 1824.41 78.3515 1825.88 78.8444 1827.2C79.3471 1828.51 80.0865 1829.56 81.0624 1830.33C82.0482 1831.1 83.2705 1831.49 84.7294 1831.49ZM108.256 1834.15V1811.44H111.627V1814.99H111.923C112.396 1813.78 113.16 1812.84 114.215 1812.17C115.27 1811.49 116.536 1811.15 118.015 1811.15C119.513 1811.15 120.76 1811.49 121.756 1812.17C122.761 1812.84 123.545 1813.78 124.107 1814.99H124.343C124.925 1813.82 125.797 1812.89 126.961 1812.19C128.124 1811.5 129.519 1811.15 131.145 1811.15C133.176 1811.15 134.837 1811.78 136.128 1813.05C137.419 1814.32 138.065 1816.28 138.065 1818.95V1834.15H134.576V1818.95C134.576 1817.28 134.117 1816.08 133.2 1815.36C132.284 1814.64 131.204 1814.28 129.962 1814.28C128.365 1814.28 127.128 1814.76 126.251 1815.73C125.373 1816.68 124.935 1817.9 124.935 1819.36V1834.15H121.386V1818.6C121.386 1817.31 120.967 1816.27 120.129 1815.48C119.291 1814.68 118.212 1814.28 116.891 1814.28C115.984 1814.28 115.136 1814.52 114.348 1815C113.569 1815.49 112.938 1816.16 112.455 1817.02C111.982 1817.86 111.745 1818.84 111.745 1819.96V1834.15H108.256ZM143.382 1842.66C142.79 1842.66 142.263 1842.61 141.799 1842.51C141.336 1842.43 141.016 1842.34 140.838 1842.25L141.725 1839.17C142.573 1839.39 143.322 1839.47 143.973 1839.41C144.624 1839.35 145.2 1839.06 145.703 1838.54C146.216 1838.03 146.684 1837.19 147.108 1836.04L147.758 1834.26L139.36 1811.44H143.145L149.414 1829.53H149.651L155.92 1811.44H159.706L150.065 1837.46C149.631 1838.63 149.094 1839.6 148.453 1840.37C147.812 1841.15 147.068 1841.73 146.221 1842.1C145.383 1842.47 144.436 1842.66 143.382 1842.66ZM177.901 1816.53L174.766 1817.41C174.569 1816.89 174.278 1816.38 173.894 1815.89C173.519 1815.39 173.007 1814.98 172.356 1814.65C171.705 1814.33 170.873 1814.16 169.857 1814.16C168.467 1814.16 167.309 1814.48 166.382 1815.12C165.466 1815.75 165.007 1816.56 165.007 1817.53C165.007 1818.4 165.323 1819.08 165.954 1819.59C166.584 1820.09 167.57 1820.51 168.911 1820.84L172.282 1821.67C174.313 1822.16 175.826 1822.92 176.821 1823.93C177.817 1824.94 178.315 1826.23 178.315 1827.82C178.315 1829.12 177.941 1830.28 177.191 1831.31C176.452 1832.33 175.417 1833.14 174.086 1833.73C172.755 1834.32 171.208 1834.62 169.443 1834.62C167.127 1834.62 165.209 1834.12 163.691 1833.11C162.173 1832.11 161.212 1830.64 160.808 1828.71L164.12 1827.88C164.436 1829.1 165.032 1830.02 165.909 1830.63C166.796 1831.24 167.955 1831.55 169.384 1831.55C171.011 1831.55 172.302 1831.2 173.258 1830.51C174.224 1829.81 174.707 1828.97 174.707 1828C174.707 1827.21 174.431 1826.55 173.879 1826.02C173.327 1825.48 172.479 1825.07 171.336 1824.8L167.55 1823.92C165.471 1823.43 163.943 1822.66 162.967 1821.63C162.001 1820.58 161.518 1819.28 161.518 1817.71C161.518 1816.43 161.877 1815.3 162.597 1814.31C163.326 1813.32 164.317 1812.55 165.569 1811.99C166.831 1811.43 168.26 1811.15 169.857 1811.15C172.105 1811.15 173.869 1811.64 175.151 1812.62C176.442 1813.61 177.359 1814.91 177.901 1816.53ZM190.592 1834.62C188.404 1834.62 186.516 1834.14 184.929 1833.17C183.352 1832.2 182.134 1830.84 181.277 1829.09C180.429 1827.34 180.005 1825.3 180.005 1822.97C180.005 1820.65 180.429 1818.6 181.277 1816.82C182.134 1815.04 183.327 1813.65 184.855 1812.66C186.393 1811.65 188.187 1811.15 190.237 1811.15C191.42 1811.15 192.588 1811.34 193.742 1811.74C194.895 1812.13 195.945 1812.77 196.891 1813.66C197.838 1814.54 198.591 1815.7 199.153 1817.15C199.715 1818.6 199.996 1820.38 199.996 1822.5V1823.98H182.489V1820.96H196.448C196.448 1819.68 196.191 1818.54 195.679 1817.53C195.176 1816.53 194.456 1815.73 193.52 1815.15C192.593 1814.57 191.499 1814.28 190.237 1814.28C188.847 1814.28 187.645 1814.62 186.629 1815.31C185.624 1816 184.85 1816.88 184.308 1817.98C183.766 1819.07 183.495 1820.24 183.495 1821.49V1823.5C183.495 1825.22 183.79 1826.67 184.382 1827.86C184.983 1829.05 185.816 1829.95 186.881 1830.57C187.945 1831.18 189.182 1831.49 190.592 1831.49C191.509 1831.49 192.337 1831.36 193.076 1831.1C193.825 1830.84 194.471 1830.44 195.013 1829.92C195.555 1829.39 195.974 1828.73 196.27 1827.94L199.641 1828.88C199.287 1830.03 198.69 1831.03 197.852 1831.9C197.014 1832.76 195.979 1833.43 194.747 1833.91C193.515 1834.38 192.13 1834.62 190.592 1834.62ZM206.296 1803.87V1834.15H202.806V1803.87H206.296ZM220.303 1811.44V1814.4H208.06V1811.44H220.303ZM211.727 1834.15V1808.31C211.727 1807.01 212.032 1805.92 212.643 1805.06C213.255 1804.19 214.048 1803.54 215.024 1803.1C216 1802.67 217.03 1802.45 218.114 1802.45C218.972 1802.45 219.672 1802.52 220.214 1802.66C220.756 1802.8 221.161 1802.93 221.427 1803.04L220.421 1806.06C220.244 1806 219.997 1805.93 219.682 1805.84C219.376 1805.75 218.972 1805.71 218.469 1805.71C217.316 1805.71 216.483 1806 215.97 1806.58C215.468 1807.16 215.216 1808.01 215.216 1809.14V1834.15H211.727ZM241.134 1834.62C239.084 1834.62 237.285 1834.13 235.737 1833.16C234.2 1832.18 232.997 1830.82 232.129 1829.06C231.272 1827.31 230.843 1825.26 230.843 1822.91C230.843 1820.55 231.272 1818.48 232.129 1816.72C232.997 1814.96 234.2 1813.59 235.737 1812.61C237.285 1811.64 239.084 1811.15 241.134 1811.15C243.185 1811.15 244.979 1811.64 246.517 1812.61C248.064 1813.59 249.267 1814.96 250.125 1816.72C250.992 1818.48 251.426 1820.55 251.426 1822.91C251.426 1825.26 250.992 1827.31 250.125 1829.06C249.267 1830.82 248.064 1832.18 246.517 1833.16C244.979 1834.13 243.185 1834.62 241.134 1834.62ZM241.134 1831.49C242.692 1831.49 243.973 1831.09 244.979 1830.29C245.984 1829.49 246.729 1828.44 247.212 1827.14C247.695 1825.84 247.936 1824.43 247.936 1822.91C247.936 1821.39 247.695 1819.98 247.212 1818.67C246.729 1817.36 245.984 1816.3 244.979 1815.49C243.973 1814.68 242.692 1814.28 241.134 1814.28C239.577 1814.28 238.295 1814.68 237.29 1815.49C236.285 1816.3 235.54 1817.36 235.057 1818.67C234.574 1819.98 234.333 1821.39 234.333 1822.91C234.333 1824.43 234.574 1825.84 235.057 1827.14C235.54 1828.44 236.285 1829.49 237.29 1830.29C238.295 1831.09 239.577 1831.49 241.134 1831.49ZM257.744 1820.49V1834.15H254.254V1811.44H257.626V1814.99H257.921C258.454 1813.84 259.262 1812.91 260.345 1812.21C261.43 1811.5 262.83 1811.15 264.545 1811.15C266.083 1811.15 267.429 1811.46 268.582 1812.09C269.735 1812.71 270.632 1813.66 271.273 1814.93C271.915 1816.19 272.236 1817.79 272.236 1819.72V1834.15H268.746V1819.96C268.746 1818.17 268.282 1816.78 267.356 1815.79C266.43 1814.78 265.157 1814.28 263.541 1814.28C262.427 1814.28 261.43 1814.52 260.553 1815C259.686 1815.49 259.001 1816.19 258.498 1817.12C257.995 1818.05 257.744 1819.17 257.744 1820.49ZM285.635 1834.62C283.447 1834.62 281.56 1834.14 279.972 1833.17C278.395 1832.2 277.177 1830.84 276.319 1829.09C275.473 1827.34 275.049 1825.3 275.049 1822.97C275.049 1820.65 275.473 1818.6 276.319 1816.82C277.177 1815.04 278.369 1813.65 279.897 1812.66C281.435 1811.65 283.231 1811.15 285.281 1811.15C286.463 1811.15 287.631 1811.34 288.784 1811.74C289.937 1812.13 290.988 1812.77 291.933 1813.66C292.88 1814.54 293.635 1815.7 294.197 1817.15C294.759 1818.6 295.04 1820.38 295.04 1822.5V1823.98H277.531V1820.96H291.491C291.491 1819.68 291.236 1818.54 290.723 1817.53C290.218 1816.53 289.5 1815.73 288.563 1815.15C287.637 1814.57 286.541 1814.28 285.281 1814.28C283.892 1814.28 282.687 1814.62 281.672 1815.31C280.667 1816 279.894 1816.88 279.351 1817.98C278.809 1819.07 278.539 1820.24 278.539 1821.49V1823.5C278.539 1825.22 278.833 1826.67 279.426 1827.86C280.027 1829.05 280.86 1829.95 281.924 1830.57C282.989 1831.18 284.225 1831.49 285.635 1831.49C286.551 1831.49 287.379 1831.36 288.121 1831.1C288.868 1830.84 289.516 1830.44 290.057 1829.92C290.598 1829.39 291.017 1828.73 291.314 1827.94L294.684 1828.88C294.33 1830.03 293.734 1831.03 292.896 1831.9C292.058 1832.76 291.022 1833.43 289.791 1833.91C288.558 1834.38 287.173 1834.62 285.635 1834.62ZM316.586 1834.62C314.397 1834.62 312.508 1834.14 310.92 1833.17C309.343 1832.2 308.128 1830.84 307.269 1829.09C306.421 1827.34 305.997 1825.3 305.997 1822.97C305.997 1820.65 306.421 1818.6 307.269 1816.82C308.128 1815.04 309.32 1813.65 310.847 1812.66C312.386 1811.65 314.179 1811.15 316.229 1811.15C317.413 1811.15 318.582 1811.34 319.735 1811.74C320.888 1812.13 321.936 1812.77 322.884 1813.66C323.831 1814.54 324.583 1815.7 325.145 1817.15C325.707 1818.6 325.988 1820.38 325.988 1822.5V1823.98H308.482V1820.96H322.441C322.441 1819.68 322.184 1818.54 321.671 1817.53C321.169 1816.53 320.448 1815.73 319.514 1815.15C318.584 1814.57 317.491 1814.28 316.229 1814.28C314.84 1814.28 313.637 1814.62 312.622 1815.31C311.615 1816 310.842 1816.88 310.301 1817.98C309.757 1819.07 309.486 1820.24 309.486 1821.49V1823.5C309.486 1825.22 309.783 1826.67 310.374 1827.86C310.975 1829.05 311.808 1829.95 312.872 1830.57C313.937 1831.18 315.175 1831.49 316.586 1831.49C317.502 1831.49 318.329 1831.36 319.069 1831.1C319.818 1830.84 320.463 1830.44 321.005 1829.92C321.549 1829.39 321.968 1828.73 322.262 1827.94L325.634 1828.88C325.278 1830.03 324.682 1831.03 323.844 1831.9C323.006 1832.76 321.973 1833.43 320.739 1833.91C319.508 1834.38 318.121 1834.62 316.586 1834.62ZM328.799 1842.66V1811.44H332.169V1815.05H332.583C332.84 1814.66 333.194 1814.15 333.65 1813.54C334.113 1812.92 334.771 1812.37 335.63 1811.89C336.497 1811.39 337.671 1811.15 339.149 1811.15C341.061 1811.15 342.748 1811.62 344.205 1812.58C345.665 1813.54 346.802 1814.89 347.622 1816.65C348.439 1818.4 348.848 1820.47 348.848 1822.85C348.848 1825.26 348.439 1827.34 347.622 1829.11C346.802 1830.86 345.67 1832.22 344.221 1833.19C342.771 1834.14 341.1 1834.62 339.209 1834.62C337.749 1834.62 336.58 1834.38 335.703 1833.89C334.826 1833.4 334.152 1832.85 333.678 1832.22C333.205 1831.59 332.84 1831.07 332.583 1830.66H332.289V1842.66H328.799ZM332.229 1822.79C332.229 1824.51 332.481 1826.02 332.984 1827.33C333.486 1828.63 334.22 1829.65 335.185 1830.39C336.153 1831.12 337.335 1831.49 338.735 1831.49C340.195 1831.49 341.413 1831.1 342.389 1830.33C343.372 1829.56 344.112 1828.51 344.606 1827.2C345.108 1825.88 345.361 1824.41 345.361 1822.79C345.361 1821.2 345.113 1819.76 344.619 1818.48C344.138 1817.19 343.404 1816.17 342.417 1815.42C341.441 1814.66 340.213 1814.28 338.735 1814.28C337.317 1814.28 336.122 1814.64 335.157 1815.36C334.191 1816.07 333.462 1817.06 332.968 1818.34C332.476 1819.62 332.229 1821.1 332.229 1822.79ZM351.674 1834.15V1811.44H355.164V1834.15H351.674ZM353.449 1807.66C352.767 1807.66 352.182 1807.43 351.69 1806.96C351.206 1806.5 350.964 1805.94 350.964 1805.29C350.964 1804.64 351.206 1804.09 351.69 1803.62C352.182 1803.16 352.767 1802.93 353.449 1802.93C354.128 1802.93 354.711 1803.16 355.193 1803.62C355.687 1804.09 355.932 1804.64 355.932 1805.29C355.932 1805.94 355.687 1806.5 355.193 1806.96C354.711 1807.43 354.128 1807.66 353.449 1807.66ZM375.145 1816.53L372.009 1817.41C371.812 1816.89 371.523 1816.38 371.138 1815.89C370.763 1815.39 370.25 1814.98 369.599 1814.65C368.949 1814.33 368.116 1814.16 367.101 1814.16C365.711 1814.16 364.553 1814.48 363.624 1815.12C362.708 1815.75 362.25 1816.56 362.25 1817.53C362.25 1818.4 362.565 1819.08 363.198 1819.59C363.827 1820.09 364.814 1820.51 366.154 1820.84L369.527 1821.67C371.557 1822.16 373.069 1822.92 374.065 1823.93C375.059 1824.94 375.559 1826.23 375.559 1827.82C375.559 1829.12 375.184 1830.28 374.435 1831.31C373.696 1832.33 372.66 1833.14 371.33 1833.73C369.998 1834.32 368.452 1834.62 366.687 1834.62C364.369 1834.62 362.453 1834.12 360.933 1833.11C359.416 1832.11 358.456 1830.64 358.05 1828.71L361.363 1827.88C361.678 1829.1 362.276 1830.02 363.153 1830.63C364.041 1831.24 365.199 1831.55 366.628 1831.55C368.254 1831.55 369.545 1831.2 370.503 1830.51C371.468 1829.81 371.949 1828.97 371.949 1828C371.949 1827.21 371.674 1826.55 371.122 1826.02C370.57 1825.48 369.722 1825.07 368.579 1824.8L364.793 1823.92C362.714 1823.43 361.186 1822.66 360.21 1821.63C359.245 1820.58 358.76 1819.28 358.76 1817.71C358.76 1816.43 359.12 1815.3 359.84 1814.31C360.569 1813.32 361.561 1812.55 362.812 1811.99C364.075 1811.43 365.503 1811.15 367.101 1811.15C369.347 1811.15 371.111 1811.64 372.394 1812.62C373.685 1813.61 374.601 1814.91 375.145 1816.53ZM387.541 1834.62C385.49 1834.62 383.689 1834.13 382.143 1833.16C380.605 1832.18 379.403 1830.82 378.534 1829.06C377.677 1827.31 377.248 1825.26 377.248 1822.91C377.248 1820.55 377.677 1818.48 378.534 1816.72C379.403 1814.96 380.605 1813.59 382.143 1812.61C383.689 1811.64 385.49 1811.15 387.541 1811.15C389.591 1811.15 391.384 1811.64 392.922 1812.61C394.471 1813.59 395.673 1814.96 396.529 1816.72C397.398 1818.48 397.83 1820.55 397.83 1822.91C397.83 1825.26 397.398 1827.31 396.529 1829.06C395.673 1830.82 394.471 1832.18 392.922 1833.16C391.384 1834.13 389.591 1834.62 387.541 1834.62ZM387.541 1831.49C389.097 1831.49 390.38 1831.09 391.384 1830.29C392.389 1829.49 393.133 1828.44 393.617 1827.14C394.099 1825.84 394.341 1824.43 394.341 1822.91C394.341 1821.39 394.099 1819.98 393.617 1818.67C393.133 1817.36 392.389 1816.3 391.384 1815.49C390.38 1814.68 389.097 1814.28 387.541 1814.28C385.982 1814.28 384.701 1814.68 383.694 1815.49C382.69 1816.3 381.945 1817.36 381.461 1818.67C380.98 1819.98 380.738 1821.39 380.738 1822.91C380.738 1824.43 380.98 1825.84 381.461 1827.14C381.945 1828.44 382.69 1829.49 383.694 1830.29C384.701 1831.09 385.982 1831.49 387.541 1831.49ZM409.234 1834.62C407.342 1834.62 405.672 1834.14 404.222 1833.19C402.775 1832.22 401.64 1830.86 400.823 1829.11C400.003 1827.34 399.595 1825.26 399.595 1822.85C399.595 1820.47 400.003 1818.4 400.823 1816.65C401.64 1814.89 402.778 1813.54 404.238 1812.58C405.698 1811.62 407.381 1811.15 409.294 1811.15C410.772 1811.15 411.941 1811.39 412.8 1811.89C413.666 1812.37 414.327 1812.92 414.78 1813.54C415.243 1814.15 415.602 1814.66 415.86 1815.05H416.157V1803.87H419.644V1834.15H416.274V1830.66H415.86C415.602 1831.07 415.238 1831.59 414.764 1832.22C414.293 1832.85 413.617 1833.4 412.74 1833.89C411.863 1834.38 410.694 1834.62 409.234 1834.62ZM409.708 1831.49C411.108 1831.49 412.292 1831.12 413.258 1830.39C414.223 1829.65 414.957 1828.63 415.462 1827.33C415.964 1826.02 416.214 1824.51 416.214 1822.79C416.214 1821.1 415.969 1819.62 415.475 1818.34C414.983 1817.06 414.254 1816.07 413.286 1815.36C412.321 1814.64 411.129 1814.28 409.708 1814.28C408.23 1814.28 406.999 1814.66 406.012 1815.42C405.037 1816.17 404.303 1817.19 403.808 1818.48C403.327 1819.76 403.085 1821.2 403.085 1822.79C403.085 1824.41 403.332 1825.88 403.824 1827.2C404.326 1828.51 405.065 1829.56 406.041 1830.33C407.027 1831.1 408.251 1831.49 409.708 1831.49ZM433.546 1834.62C431.357 1834.62 429.468 1834.14 427.883 1833.17C426.303 1832.2 425.088 1830.84 424.229 1829.09C423.381 1827.34 422.957 1825.3 422.957 1822.97C422.957 1820.65 423.381 1818.6 424.229 1816.82C425.088 1815.04 426.28 1813.65 427.808 1812.66C429.346 1811.65 431.139 1811.15 433.189 1811.15C434.374 1811.15 435.542 1811.34 436.695 1811.74C437.848 1812.13 438.897 1812.77 439.844 1813.66C440.791 1814.54 441.546 1815.7 442.105 1817.15C442.667 1818.6 442.948 1820.38 442.948 1822.5V1823.98H425.442V1820.96H439.401C439.401 1819.68 439.144 1818.54 438.631 1817.53C438.129 1816.53 437.408 1815.73 436.474 1815.15C435.547 1814.57 434.452 1814.28 433.189 1814.28C431.8 1814.28 430.597 1814.62 429.582 1815.31C428.578 1816 427.802 1816.88 427.261 1817.98C426.72 1819.07 426.447 1820.24 426.447 1821.49V1823.5C426.447 1825.22 426.743 1826.67 427.334 1827.86C427.935 1829.05 428.768 1829.95 429.835 1830.57C430.899 1831.18 432.135 1831.49 433.546 1831.49C434.462 1831.49 435.29 1831.36 436.029 1831.1C436.778 1830.84 437.424 1830.44 437.967 1829.92C438.509 1829.39 438.928 1828.73 439.222 1827.94L442.595 1828.88C442.241 1830.03 441.642 1831.03 440.804 1831.9C439.966 1832.76 438.933 1833.43 437.699 1833.91C436.468 1834.38 435.084 1834.62 433.546 1834.62Z" + fill="#E6E6E6" + /> + <path + d="M42.9097 1883.58L47.2568 1857.09H50.362L46.0149 1883.58H42.9097ZM30.916 1876.49L31.4206 1873.39H51.5005L50.9959 1876.49H30.916ZM33.5942 1883.58L37.9415 1857.09H41.0467L36.6993 1883.58H33.5942ZM32.4556 1867.28L32.9602 1864.18H53.0401L52.5358 1867.28H32.4556ZM66.1656 1883.94C64.3112 1883.94 62.6724 1883.62 61.2492 1882.98C59.8348 1882.35 58.7264 1881.47 57.9241 1880.35C57.122 1879.23 56.7251 1877.95 56.7337 1876.52C56.7251 1875.4 56.9539 1874.37 57.4195 1873.43C57.8939 1872.48 58.5364 1871.69 59.3473 1871.06C60.1582 1870.42 61.0639 1870.02 62.0642 1869.84V1869.69C60.7446 1869.37 59.688 1868.66 58.8945 1867.57C58.101 1866.47 57.7086 1865.21 57.7172 1863.79C57.7086 1862.44 58.0664 1861.23 58.7909 1860.17C59.524 1859.1 60.5291 1858.26 61.8056 1857.65C63.082 1857.04 64.5355 1856.73 66.1656 1856.73C67.7786 1856.73 69.219 1857.04 70.4869 1857.66C71.7637 1858.27 72.7685 1859.11 73.5016 1860.18C74.2347 1861.24 74.6058 1862.44 74.6144 1863.79C74.6058 1865.21 74.2003 1866.47 73.398 1867.57C72.5959 1868.66 71.5524 1869.37 70.267 1869.69V1869.84C71.2591 1870.02 72.1517 1870.42 72.9452 1871.06C73.7475 1871.69 74.3856 1872.48 74.86 1873.43C75.343 1874.37 75.589 1875.4 75.5975 1876.52C75.589 1877.95 75.1835 1879.23 74.3814 1880.35C73.5791 1881.47 72.4666 1882.35 71.0433 1882.98C69.6289 1883.62 68.0029 1883.94 66.1656 1883.94ZM66.1656 1880.67C67.2613 1880.67 68.2098 1880.49 69.0122 1880.13C69.8142 1879.76 70.4354 1879.24 70.8752 1878.59C71.315 1877.92 71.5394 1877.15 71.5479 1876.26C71.5394 1875.34 71.2978 1874.52 70.8234 1873.81C70.3576 1873.11 69.7237 1872.55 68.9216 1872.15C68.1193 1871.74 67.2009 1871.54 66.1656 1871.54C65.1221 1871.54 64.1948 1871.74 63.3839 1872.15C62.5733 1872.55 61.9349 1873.11 61.4691 1873.81C61.0035 1874.52 60.7747 1875.34 60.7833 1876.26C60.7747 1877.15 60.9861 1877.92 61.4175 1878.59C61.8574 1879.24 62.4827 1879.76 63.2934 1880.13C64.1043 1880.49 65.0617 1880.67 66.1656 1880.67ZM66.1656 1868.34C67.0455 1868.34 67.826 1868.17 68.5075 1867.81C69.1889 1867.46 69.7237 1866.97 70.1119 1866.34C70.5085 1865.71 70.7113 1864.97 70.7199 1864.13C70.7113 1863.3 70.513 1862.57 70.1247 1861.96C69.7453 1861.33 69.2149 1860.86 68.5333 1860.52C67.852 1860.17 67.0627 1860 66.1656 1860C65.2514 1860 64.4493 1860.17 63.7592 1860.52C63.0779 1860.86 62.5472 1861.33 62.1678 1861.96C61.7884 1862.57 61.6028 1863.3 61.6114 1864.13C61.6028 1864.97 61.7926 1865.71 62.1808 1866.34C62.5689 1866.97 63.1036 1867.46 63.7852 1867.81C64.4751 1868.17 65.2686 1868.34 66.1656 1868.34ZM85.246 1871.78V1883.58H81.3775V1857.09H85.1942V1866.95H85.4401C85.9057 1865.88 86.6174 1865.03 87.5749 1864.4C88.5323 1863.77 89.783 1863.45 91.3268 1863.45C92.6896 1863.45 93.88 1863.74 94.8978 1864.29C95.9242 1864.86 96.7177 1865.69 97.2785 1866.81C97.8476 1867.91 98.1323 1869.29 98.1323 1870.94C98.1323 1872.6 98.1323 1883.58 98.1323 1883.58H94.2638V1871.41C94.2638 1869.95 93.8886 1868.82 93.1383 1868.02C92.3878 1867.21 91.3442 1866.81 90.0071 1866.81C89.0929 1866.81 88.2734 1867 87.5488 1867.39C86.8329 1867.78 86.2679 1868.34 85.8539 1869.09C85.4487 1869.84 85.246 1870.73 85.246 1871.78ZM112.759 1883.98C110.896 1883.98 109.27 1883.55 107.881 1882.7C106.492 1881.85 105.414 1880.65 104.646 1879.12C103.879 1877.58 103.495 1875.79 103.495 1873.74C103.495 1871.68 103.879 1869.87 104.646 1868.33C105.414 1866.79 106.492 1865.59 107.881 1864.73C109.27 1863.88 110.896 1863.45 112.759 1863.45C114.622 1863.45 116.247 1863.88 117.636 1864.73C119.025 1865.59 120.103 1866.79 120.871 1868.33C121.638 1869.87 122.022 1871.68 122.022 1873.74C122.022 1875.79 121.638 1877.58 120.871 1879.12C120.103 1880.65 119.025 1881.85 117.636 1882.7C116.247 1883.55 114.622 1883.98 112.759 1883.98ZM112.771 1880.73C113.979 1880.73 114.98 1880.42 115.773 1879.78C116.567 1879.14 117.153 1878.29 117.533 1877.23C117.921 1876.17 118.115 1875 118.115 1873.73C118.115 1872.46 117.921 1871.29 117.533 1870.23C117.153 1869.16 116.567 1868.31 115.773 1867.66C114.98 1867.01 113.979 1866.69 112.771 1866.69C111.555 1866.69 110.546 1867.01 109.744 1867.66C108.951 1868.31 108.36 1869.16 107.972 1870.23C107.592 1871.29 107.402 1872.46 107.402 1873.73C107.402 1875 107.592 1876.17 107.972 1877.23C108.36 1878.29 108.951 1879.14 109.744 1879.78C110.546 1880.42 111.555 1880.73 112.771 1880.73ZM140.022 1875.34V1863.71H143.903V1883.58H140.1V1880.14H139.893C139.436 1881.2 138.703 1882.08 137.693 1882.79C136.693 1883.49 135.446 1883.84 133.954 1883.84C132.677 1883.84 131.548 1883.56 130.564 1883C129.59 1882.43 128.822 1881.59 128.261 1880.48C127.709 1879.36 127.433 1877.99 127.433 1876.35V1863.71H131.302V1875.88C131.302 1877.24 131.677 1878.32 132.427 1879.12C133.178 1879.92 134.153 1880.32 135.351 1880.32C136.076 1880.32 136.796 1880.14 137.512 1879.78C138.237 1879.42 138.836 1878.87 139.31 1878.14C139.793 1877.4 140.031 1876.47 140.022 1875.34ZM150.195 1883.58V1863.71H153.934V1866.87H154.141C154.503 1865.8 155.141 1864.96 156.055 1864.35C156.978 1863.73 158.022 1863.42 159.186 1863.42C159.428 1863.42 159.713 1863.43 160.04 1863.44C160.377 1863.46 160.64 1863.48 160.83 1863.51V1867.21C160.674 1867.16 160.398 1867.11 160.001 1867.06C159.605 1867 159.208 1866.97 158.811 1866.97C157.897 1866.97 157.082 1867.17 156.366 1867.55C155.659 1867.93 155.098 1868.46 154.684 1869.15C154.27 1869.82 154.063 1870.59 154.063 1871.45V1883.58H150.195ZM180.162 1868.56L176.656 1869.19C176.509 1868.74 176.276 1868.31 175.957 1867.9C175.647 1867.5 175.224 1867.17 174.689 1866.91C174.154 1866.65 173.486 1866.52 172.684 1866.52C171.588 1866.52 170.674 1866.77 169.941 1867.26C169.208 1867.74 168.841 1868.37 168.841 1869.13C168.841 1869.8 169.087 1870.33 169.579 1870.74C170.07 1871.14 170.864 1871.47 171.959 1871.73L175.116 1872.46C176.945 1872.88 178.308 1873.53 179.205 1874.41C180.102 1875.29 180.55 1876.43 180.55 1877.84C180.55 1879.03 180.205 1880.09 179.515 1881.02C178.834 1881.94 177.881 1882.67 176.656 1883.19C175.44 1883.72 174.029 1883.98 172.425 1883.98C170.2 1883.98 168.384 1883.51 166.978 1882.56C165.572 1881.6 164.71 1880.24 164.39 1878.48L168.13 1877.91C168.362 1878.89 168.841 1879.63 169.566 1880.13C170.29 1880.62 171.235 1880.86 172.399 1880.86C173.667 1880.86 174.681 1880.6 175.44 1880.08C176.199 1879.54 176.578 1878.89 176.578 1878.12C176.578 1877.5 176.345 1876.98 175.88 1876.56C175.423 1876.13 174.719 1875.81 173.771 1875.6L170.407 1874.86C168.552 1874.44 167.181 1873.77 166.293 1872.85C165.413 1871.92 164.973 1870.75 164.973 1869.34C164.973 1868.17 165.3 1867.14 165.956 1866.26C166.612 1865.38 167.517 1864.7 168.673 1864.21C169.829 1863.7 171.153 1863.45 172.645 1863.45C174.793 1863.45 176.483 1863.92 177.717 1864.85C178.95 1865.77 179.765 1867.01 180.162 1868.56ZM189.765 1857.09V1883.58H185.897V1857.09H189.765ZM201.846 1884.02C200.587 1884.02 199.448 1883.79 198.43 1883.32C197.412 1882.85 196.606 1882.16 196.011 1881.26C195.424 1880.37 195.131 1879.27 195.131 1877.97C195.131 1876.84 195.347 1875.92 195.778 1875.2C196.209 1874.47 196.791 1873.9 197.525 1873.48C198.258 1873.06 199.077 1872.74 199.983 1872.52C200.888 1872.3 201.811 1872.14 202.751 1872.03C203.942 1871.89 204.908 1871.78 205.65 1871.69C206.391 1871.6 206.93 1871.45 207.267 1871.24C207.603 1871.04 207.772 1870.7 207.772 1870.23V1870.14C207.772 1869.01 207.452 1868.14 206.814 1867.52C206.184 1866.9 205.244 1866.58 203.994 1866.58C202.691 1866.58 201.665 1866.87 200.914 1867.45C200.172 1868.02 199.659 1868.65 199.375 1869.35L195.739 1868.52C196.17 1867.32 196.8 1866.34 197.628 1865.6C198.465 1864.85 199.426 1864.31 200.513 1863.97C201.6 1863.63 202.743 1863.45 203.942 1863.45C204.735 1863.45 205.576 1863.55 206.465 1863.74C207.362 1863.92 208.199 1864.26 208.975 1864.75C209.76 1865.24 210.402 1865.94 210.902 1866.86C211.403 1867.76 211.653 1868.94 211.653 1870.39V1883.58H207.875V1880.86H207.72C207.47 1881.36 207.094 1881.86 206.594 1882.34C206.094 1882.82 205.451 1883.22 204.666 1883.54C203.881 1883.86 202.941 1884.02 201.846 1884.02ZM202.687 1880.92C203.756 1880.92 204.671 1880.71 205.43 1880.28C206.197 1879.86 206.779 1879.31 207.176 1878.63C207.582 1877.94 207.785 1877.2 207.785 1876.42V1873.85C207.646 1873.99 207.379 1874.12 206.982 1874.24C206.594 1874.36 206.15 1874.45 205.65 1874.54C205.149 1874.62 204.662 1874.69 204.188 1874.76C203.713 1874.82 203.316 1874.87 202.997 1874.91C202.247 1875.01 201.561 1875.17 200.94 1875.39C200.328 1875.62 199.836 1875.94 199.465 1876.36C199.103 1876.78 198.922 1877.33 198.922 1878.02C198.922 1878.98 199.275 1879.7 199.983 1880.19C200.69 1880.67 201.591 1880.92 202.687 1880.92ZM226.464 1883.98C224.506 1883.98 222.819 1883.56 221.405 1882.73C219.999 1881.88 218.912 1880.7 218.144 1879.17C217.385 1877.64 217.006 1875.84 217.006 1873.78C217.006 1871.74 217.385 1869.95 218.144 1868.39C218.912 1866.84 219.982 1865.63 221.353 1864.76C222.733 1863.89 224.346 1863.45 226.192 1863.45C227.313 1863.45 228.4 1863.64 229.452 1864.01C230.505 1864.38 231.449 1864.96 232.286 1865.76C233.122 1866.55 233.782 1867.58 234.265 1868.85C234.748 1870.11 234.99 1871.64 234.99 1873.44V1874.81H219.192V1871.91H231.199C231.199 1870.9 230.992 1869.99 230.578 1869.21C230.164 1868.42 229.582 1867.79 228.831 1867.34C228.09 1866.88 227.218 1866.65 226.218 1866.65C225.131 1866.65 224.182 1866.92 223.371 1867.45C222.569 1867.98 221.948 1868.67 221.508 1869.52C221.077 1870.37 220.861 1871.29 220.861 1872.28V1874.54C220.861 1875.87 221.094 1877 221.56 1877.93C222.035 1878.86 222.694 1879.57 223.54 1880.06C224.385 1880.54 225.372 1880.79 226.502 1880.79C227.235 1880.79 227.904 1880.68 228.508 1880.48C229.112 1880.26 229.633 1879.94 230.073 1879.52C230.513 1879.1 230.85 1878.57 231.083 1877.95L234.744 1878.61C234.451 1879.69 233.924 1880.64 233.166 1881.45C232.415 1882.25 231.471 1882.87 230.332 1883.32C229.202 1883.76 227.913 1883.98 226.464 1883.98ZM240.375 1883.58V1863.71H244.114V1866.87H244.321C244.683 1865.8 245.322 1864.96 246.236 1864.35C247.159 1863.73 248.203 1863.42 249.367 1863.42C249.609 1863.42 249.893 1863.43 250.221 1863.44C250.557 1863.46 250.82 1863.48 251.01 1863.51V1867.21C250.855 1867.16 250.579 1867.11 250.182 1867.06C249.785 1867 249.388 1866.97 248.992 1866.97C248.078 1866.97 247.262 1867.17 246.546 1867.55C245.839 1867.93 245.278 1868.46 244.864 1869.15C244.451 1869.82 244.243 1870.59 244.243 1871.45V1883.58H240.375ZM276.123 1883.58L280.469 1857.09H283.574L279.228 1883.58H276.123ZM264.129 1876.49L264.634 1873.39H284.714L284.209 1876.49H264.129ZM266.807 1883.58L271.155 1857.09H274.26L269.911 1883.58H266.807ZM265.669 1867.28L266.174 1864.18H286.252L285.75 1867.28H265.669ZM294.345 1871.78V1883.58H290.478V1863.71H294.189V1866.95H294.436C294.894 1865.89 295.61 1865.05 296.583 1864.41C297.567 1863.77 298.806 1863.45 300.297 1863.45C301.65 1863.45 302.837 1863.74 303.855 1864.31C304.872 1864.87 305.663 1865.7 306.223 1866.82C306.782 1867.93 307.063 1869.31 307.063 1870.94V1883.58H303.196V1871.41C303.196 1869.97 302.819 1868.84 302.069 1868.03C301.32 1867.21 300.289 1866.81 298.978 1866.81C298.08 1866.81 297.283 1867 296.583 1867.39C295.894 1867.78 295.347 1868.34 294.941 1869.09C294.543 1869.84 294.345 1870.73 294.345 1871.78ZM321.91 1883.98C319.953 1883.98 318.267 1883.56 316.851 1882.73C315.446 1881.88 314.358 1880.7 313.59 1879.17C312.833 1877.64 312.453 1875.84 312.453 1873.78C312.453 1871.74 312.833 1869.95 313.59 1868.39C314.358 1866.84 315.427 1865.63 316.799 1864.76C318.178 1863.89 319.792 1863.45 321.639 1863.45C322.758 1863.45 323.846 1863.64 324.898 1864.01C325.952 1864.38 326.896 1864.96 327.732 1865.76C328.57 1866.55 329.228 1867.58 329.712 1868.85C330.194 1870.11 330.436 1871.64 330.436 1873.44V1874.81H314.639V1871.91H326.646C326.646 1870.9 326.438 1869.99 326.024 1869.21C325.611 1868.42 325.028 1867.79 324.278 1867.34C323.537 1866.88 322.665 1866.65 321.665 1866.65C320.578 1866.65 319.628 1866.92 318.818 1867.45C318.017 1867.98 317.395 1868.67 316.955 1869.52C316.523 1870.37 316.307 1871.29 316.307 1872.28V1874.54C316.307 1875.87 316.541 1877 317.007 1877.93C317.481 1878.86 318.142 1879.57 318.985 1880.06C319.831 1880.54 320.82 1880.79 321.949 1880.79C322.683 1880.79 323.349 1880.68 323.953 1880.48C324.557 1880.26 325.08 1879.94 325.52 1879.52C325.959 1879.1 326.295 1878.57 326.529 1877.95L330.191 1878.61C329.897 1879.69 329.371 1880.64 328.611 1881.45C327.862 1882.25 326.917 1882.87 325.777 1883.32C324.648 1883.76 323.36 1883.98 321.91 1883.98ZM345.097 1863.71V1866.82H334.243V1863.71H345.097ZM337.155 1858.95H341.022V1877.75C341.022 1878.5 341.134 1879.06 341.358 1879.44C341.584 1879.81 341.873 1880.07 342.227 1880.2C342.589 1880.33 342.982 1880.4 343.403 1880.4C343.713 1880.4 343.986 1880.38 344.218 1880.33C344.452 1880.29 344.632 1880.26 344.762 1880.23L345.459 1883.42C345.235 1883.51 344.918 1883.6 344.504 1883.68C344.088 1883.78 343.572 1883.83 342.951 1883.84C341.933 1883.86 340.983 1883.67 340.103 1883.3C339.224 1882.92 338.513 1882.33 337.969 1881.54C337.426 1880.74 337.155 1879.75 337.155 1878.55V1858.95ZM359.929 1863.71V1866.82H348.697V1863.71H359.929ZM351.778 1883.58V1861.41C351.778 1860.17 352.049 1859.14 352.592 1858.32C353.136 1857.49 353.855 1856.87 354.752 1856.47C355.65 1856.06 356.624 1855.85 357.678 1855.85C358.453 1855.85 359.117 1855.91 359.668 1856.04C360.22 1856.16 360.631 1856.28 360.899 1856.38L359.994 1859.51C359.812 1859.46 359.58 1859.4 359.294 1859.33C359.01 1859.25 358.664 1859.21 358.258 1859.21C357.318 1859.21 356.647 1859.44 356.241 1859.91C355.843 1860.38 355.645 1861.05 355.645 1861.93V1883.58H351.778ZM368.881 1857.09V1883.58H365.014V1857.09H368.881ZM375.179 1883.58V1863.71H379.046V1883.58H375.179ZM377.133 1860.65C376.459 1860.65 375.881 1860.42 375.397 1859.98C374.924 1859.52 374.687 1858.97 374.687 1858.34C374.687 1857.71 374.924 1857.16 375.397 1856.72C375.881 1856.26 376.459 1856.03 377.133 1856.03C377.805 1856.03 378.377 1856.26 378.853 1856.72C379.335 1857.16 379.577 1857.71 379.577 1858.34C379.577 1858.97 379.335 1859.52 378.853 1859.98C378.377 1860.42 377.805 1860.65 377.133 1860.65ZM388.396 1863.71L392.784 1871.45L397.208 1863.71H401.44L395.241 1873.65L401.492 1883.58H397.26L392.784 1876.16L388.321 1883.58H384.076L390.26 1873.65L384.154 1863.71H388.396ZM427.175 1883.58L431.523 1857.09H434.628L430.282 1883.58H427.175ZM415.183 1876.49L415.688 1873.39H435.768L435.263 1876.49H415.183ZM417.861 1883.58L422.207 1857.09H425.311L420.965 1883.58H417.861ZM416.721 1867.28L417.226 1864.18H437.306L436.801 1867.28H416.721ZM445.4 1857.09V1883.58H441.53V1857.09H445.4ZM451.697 1883.58V1863.71H455.564V1883.58H451.697ZM453.649 1860.65C452.978 1860.65 452.4 1860.42 451.916 1859.98C451.442 1859.52 451.205 1858.97 451.205 1858.34C451.205 1857.71 451.442 1857.16 451.916 1856.72C452.4 1856.26 452.978 1856.03 453.649 1856.03C454.323 1856.03 454.896 1856.26 455.372 1856.72C455.853 1857.16 456.095 1857.71 456.095 1858.34C456.095 1858.97 455.853 1859.52 455.372 1859.98C454.896 1860.42 454.323 1860.65 453.649 1860.65ZM470.427 1883.98C468.47 1883.98 466.784 1883.56 465.368 1882.73C463.962 1881.88 462.875 1880.7 462.107 1879.17C461.35 1877.64 460.97 1875.84 460.97 1873.78C460.97 1871.74 461.35 1869.95 462.107 1868.39C462.875 1866.84 463.944 1865.63 465.316 1864.76C466.698 1863.89 468.309 1863.45 470.156 1863.45C471.278 1863.45 472.363 1863.64 473.417 1864.01C474.468 1864.38 475.413 1864.96 476.248 1865.76C477.086 1866.55 477.745 1867.58 478.229 1868.85C478.713 1870.11 478.952 1871.64 478.952 1873.44V1874.81H463.156V1871.91H475.163C475.163 1870.9 474.955 1869.99 474.541 1869.21C474.127 1868.42 473.545 1867.79 472.795 1867.34C472.053 1866.88 471.182 1866.65 470.182 1866.65C469.094 1866.65 468.145 1866.92 467.335 1867.45C466.534 1867.98 465.912 1868.67 465.472 1869.52C465.04 1870.37 464.824 1871.29 464.824 1872.28V1874.54C464.824 1875.87 465.058 1877 465.524 1877.93C465.998 1878.86 466.659 1879.57 467.504 1880.06C468.348 1880.54 469.336 1880.79 470.466 1880.79C471.2 1880.79 471.869 1880.68 472.472 1880.48C473.076 1880.26 473.597 1879.94 474.036 1879.52C474.476 1879.1 474.812 1878.57 475.046 1877.95L478.708 1878.61C478.414 1879.69 477.888 1880.64 477.128 1881.45C476.379 1882.25 475.434 1882.87 474.297 1883.32C473.165 1883.76 471.876 1883.98 470.427 1883.98ZM499.23 1868.56L495.725 1869.19C495.577 1868.74 495.345 1868.31 495.025 1867.9C494.715 1867.5 494.294 1867.17 493.757 1866.91C493.224 1866.65 492.555 1866.52 491.751 1866.52C490.658 1866.52 489.742 1866.77 489.008 1867.26C488.277 1867.74 487.91 1868.37 487.91 1869.13C487.91 1869.8 488.154 1870.33 488.646 1870.74C489.138 1871.14 489.932 1871.47 491.028 1871.73L494.184 1872.46C496.014 1872.88 497.375 1873.53 498.273 1874.41C499.17 1875.29 499.618 1876.43 499.618 1877.84C499.618 1879.03 499.275 1880.09 498.582 1881.02C497.903 1881.94 496.948 1882.67 495.725 1883.19C494.507 1883.72 493.096 1883.98 491.493 1883.98C489.268 1883.98 487.452 1883.51 486.047 1882.56C484.641 1881.6 483.777 1880.24 483.46 1878.48L487.197 1877.91C487.431 1878.89 487.91 1879.63 488.633 1880.13C489.359 1880.62 490.304 1880.86 491.467 1880.86C492.735 1880.86 493.75 1880.6 494.507 1880.08C495.267 1879.54 495.647 1878.89 495.647 1878.12C495.647 1877.5 495.413 1876.98 494.947 1876.56C494.491 1876.13 493.789 1875.81 492.839 1875.6L489.474 1874.86C487.621 1874.44 486.249 1873.77 485.359 1872.85C484.48 1871.92 484.04 1870.75 484.04 1869.34C484.04 1868.17 484.368 1867.14 485.024 1866.26C485.68 1865.38 486.585 1864.7 487.741 1864.21C488.896 1863.7 490.221 1863.45 491.715 1863.45C493.862 1863.45 495.551 1863.92 496.784 1864.85C498.018 1865.77 498.835 1867.01 499.23 1868.56Z" + fill="#BFBFBF" + /> + <path + d="M994.565 1876.06C1023.31 1876.06 1046.61 1852.77 1046.61 1824.03C1046.61 1795.3 1023.31 1772 994.565 1772C965.819 1772 942.517 1795.3 942.517 1824.03C942.517 1852.77 965.819 1876.06 994.565 1876.06Z" + fill="#9D9D9D" + /> + <path + d="M993.253 1599C997.49 1599.08 997.139 1599.29 997.139 1599.29L1006.1 1608.39L1011.97 1614.36C1020.55 1623.53 1022.53 1625.45 1029.01 1633.37C1026.99 1640.66 1022.2 1644.73 1016.89 1649.79L1014.55 1651.94L1010.41 1655.85L1006.99 1659.15L1002.3 1663.47C1002.3 1663.47 998.357 1667.12 995.939 1669.04C995.939 1669.04 993.43 1669.56 992.056 1668.18C991.957 1665.4 991.762 1660.81 991.793 1658.04C991.806 1656.52 991.817 1655 991.83 1653.43C991.845 1652.26 991.861 1651.08 991.879 1649.87C976.944 1649.3 973.915 1650.07 961.179 1658.94C958.909 1658.79 958.084 1656.73 958.084 1656.73C956.677 1644.97 961.9 1637.63 968.499 1627.87C975.089 1620.72 982.393 1618.15 991.879 1616.87C991.861 1615.7 991.845 1614.52 991.83 1613.31C991.817 1611.79 991.806 1610.28 991.793 1608.71C991.778 1607.2 991.76 1605.68 991.744 1604.12C991.879 1600.37 991.879 1600.37 993.253 1599Z" + fill="white" + fillOpacity="0.9" + /> + <g filter="url(#filter0_d_5_2)"> + <path + d="M965.181 1685.31V1708.02H962.43V1688.19H962.298L956.752 1691.87V1689.08L962.43 1685.31H965.181ZM974.318 1704.91L974.141 1706.11C974.016 1706.95 973.824 1707.85 973.566 1708.82C973.314 1709.78 973.051 1710.68 972.778 1711.53C972.504 1712.38 972.278 1713.06 972.101 1713.56H970.105C970.201 1713.09 970.326 1712.46 970.482 1711.68C970.638 1710.91 970.792 1710.04 970.948 1709.08C971.109 1708.13 971.242 1707.15 971.346 1706.15L971.479 1704.91H974.318ZM985.764 1708.33C984.462 1708.33 983.291 1708.07 982.248 1707.55C981.207 1707.03 980.371 1706.32 979.742 1705.42C979.114 1704.52 978.771 1703.49 978.711 1702.34H981.373C981.475 1703.37 981.941 1704.22 982.768 1704.89C983.604 1705.56 984.603 1705.89 985.764 1705.89C986.695 1705.89 987.523 1705.67 988.249 1705.23C988.98 1704.8 989.553 1704.2 989.966 1703.44C990.388 1702.67 990.599 1701.8 990.599 1700.83C990.599 1699.84 990.38 1698.96 989.946 1698.18C989.516 1697.4 988.926 1696.78 988.171 1696.33C987.416 1695.88 986.555 1695.65 985.587 1695.64C984.892 1695.64 984.179 1695.74 983.445 1695.97C982.714 1696.18 982.112 1696.46 981.639 1696.8L979.065 1696.49L980.442 1685.31H992.241V1687.75H982.747L981.948 1694.45H982.081C982.547 1694.08 983.133 1693.77 983.835 1693.53C984.535 1693.28 985.269 1693.16 986.029 1693.16C987.419 1693.16 988.657 1693.49 989.745 1694.16C990.838 1694.82 991.697 1695.72 992.319 1696.86C992.946 1698.01 993.261 1699.32 993.261 1700.79C993.261 1702.24 992.936 1703.53 992.285 1704.67C991.642 1705.8 990.755 1706.69 989.623 1707.35C988.491 1708 987.205 1708.33 985.764 1708.33ZM1005.21 1708.33C1004.27 1708.31 1003.34 1708.13 1002.41 1707.8C1001.48 1707.45 1000.63 1706.88 999.861 1706.08C999.093 1705.26 998.476 1704.17 998.011 1702.78C997.545 1701.39 997.311 1699.65 997.311 1697.55C997.311 1695.54 997.5 1693.76 997.878 1692.21C998.253 1690.65 998.802 1689.34 999.517 1688.27C1000.24 1687.2 1001.1 1686.39 1002.11 1685.83C1003.13 1685.28 1004.28 1685 1005.56 1685C1006.83 1685 1007.96 1685.25 1008.96 1685.76C1009.95 1686.27 1010.77 1686.97 1011.39 1687.87C1012.02 1688.77 1012.43 1689.81 1012.62 1690.99H1009.91C1009.66 1689.97 1009.17 1689.12 1008.45 1688.45C1007.72 1687.78 1006.76 1687.44 1005.56 1687.44C1003.8 1687.44 1002.42 1688.21 1001.4 1689.73C1000.4 1691.26 999.892 1693.41 999.884 1696.18H1000.06C1000.48 1695.55 1000.97 1695.01 1001.54 1694.57C1002.11 1694.12 1002.75 1693.77 1003.44 1693.53C1004.14 1693.28 1004.87 1693.16 1005.65 1693.16C1006.95 1693.16 1008.14 1693.49 1009.22 1694.14C1010.3 1694.78 1011.17 1695.67 1011.82 1696.81C1012.47 1697.94 1012.79 1699.24 1012.79 1700.7C1012.79 1702.1 1012.48 1703.39 1011.85 1704.56C1011.22 1705.72 1010.34 1706.64 1009.2 1707.33C1008.07 1708.01 1006.74 1708.34 1005.21 1708.33ZM1005.21 1705.89C1006.14 1705.89 1006.97 1705.65 1007.71 1705.19C1008.46 1704.72 1009.05 1704.1 1009.48 1703.32C1009.91 1702.53 1010.13 1701.66 1010.13 1700.7C1010.13 1699.76 1009.92 1698.91 1009.5 1698.14C1009.08 1697.36 1008.51 1696.75 1007.78 1696.29C1007.06 1695.83 1006.23 1695.6 1005.29 1695.6C1004.59 1695.6 1003.94 1695.74 1003.33 1696.02C1002.73 1696.29 1002.2 1696.67 1001.73 1697.15C1001.28 1697.63 1000.93 1698.18 1000.67 1698.8C1000.41 1699.42 1000.28 1700.06 1000.28 1700.74C1000.28 1701.65 1000.49 1702.49 1000.91 1703.27C1001.34 1704.05 1001.93 1704.69 1002.67 1705.17C1003.41 1705.65 1004.26 1705.89 1005.21 1705.89ZM1017.86 1708.02L1028.02 1687.93V1687.75H1016.31V1685.31H1030.86V1687.88L1020.75 1708.02H1017.86Z" + fill="white" + /> + </g> + <g filter="url(#filter1_d_5_2)"> + <path + d="M962.448 1531.36V1529.1L972.429 1513.31H974.071V1516.81H972.962L965.42 1528.74V1528.92H978.862V1531.36H962.448ZM973.139 1536.02V1530.67V1529.62V1513.31H975.757V1536.02H973.139ZM983.903 1536.19C983.353 1536.19 982.885 1536 982.492 1535.61C982.102 1535.22 981.906 1534.74 981.906 1534.2C981.906 1533.65 982.102 1533.18 982.492 1532.79C982.885 1532.4 983.353 1532.2 983.903 1532.2C984.449 1532.2 984.917 1532.4 985.31 1532.79C985.701 1533.18 985.899 1533.65 985.899 1534.2C985.899 1534.56 985.805 1534.89 985.62 1535.2C985.443 1535.5 985.204 1535.74 984.899 1535.93C984.603 1536.11 984.272 1536.19 983.903 1536.19ZM990.549 1536.02V1534.02L998.047 1525.82C998.926 1524.86 999.65 1524.02 1000.22 1523.31C1000.79 1522.59 1001.21 1521.92 1001.48 1521.29C1001.77 1520.66 1001.91 1519.99 1001.91 1519.3C1001.91 1518.5 1001.71 1517.81 1001.33 1517.22C1000.95 1516.64 1000.44 1516.19 999.777 1515.87C999.119 1515.55 998.38 1515.4 997.557 1515.4C996.686 1515.4 995.926 1515.58 995.275 1515.94C994.63 1516.29 994.133 1516.79 993.776 1517.44C993.43 1518.08 993.256 1518.83 993.256 1519.7H990.638C990.638 1518.37 990.945 1517.2 991.559 1516.19C992.173 1515.19 993.008 1514.4 994.065 1513.84C995.129 1513.28 996.324 1513 997.648 1513C998.978 1513 1000.16 1513.28 1001.19 1513.84C1002.21 1514.4 1003.02 1515.16 1003.6 1516.12C1004.19 1517.07 1004.48 1518.13 1004.48 1519.3C1004.48 1520.13 1004.33 1520.95 1004.02 1521.75C1003.73 1522.54 1003.21 1523.42 1002.47 1524.4C1001.74 1525.37 1000.72 1526.55 999.421 1527.95L994.32 1533.4V1533.58H1004.88V1536.02H990.549ZM1009.86 1536.02V1513.31H1012.61V1524.57H1012.87L1023.08 1513.31H1026.67L1017.13 1523.55L1026.67 1536.02H1023.34L1015.45 1525.46L1012.61 1528.65V1536.02H1009.86Z" + fill="white" + /> + </g> + <path + d="M981.641 1429.12C982.123 1429.11 982.123 1429.11 984.551 1429.1C986.581 1429.09 988.611 1429.09 990.638 1429.1C993.74 1429.11 996.837 1429.08 999.936 1429.04C1001.91 1429.04 1003.88 1429.04 1005.86 1429.04C1006.78 1429.03 1007.71 1429.02 1008.66 1429C1012.71 1429.05 1015.52 1429.46 1019.05 1431.36C1022.18 1436.32 1021.68 1441.07 1021.55 1446.73C1021.54 1447.91 1021.54 1449.09 1021.53 1450.32C1021.5 1454.09 1021.43 1457.86 1021.37 1461.64C1021.34 1464.2 1021.32 1466.76 1021.3 1469.32C1021.24 1475.6 1021.92 1482.55 1021.81 1488.83C1021.81 1488.83 1021.68 1493.31 1015.86 1490.58C1014.61 1489.71 1013.36 1488.85 1012.08 1487.96C1010.42 1486.83 1008.77 1485.69 1007.12 1484.56C1006.29 1483.99 1005.47 1483.42 1004.63 1482.83C1003.82 1482.29 1003.02 1481.74 1002.2 1481.18C1001.46 1480.67 1000.73 1480.17 999.975 1479.65C997.428 1478.23 995.489 1477.5 992.54 1477.18C989.516 1479.06 986.87 1480.93 984.116 1483.12C975.26 1490.05 972.994 1492.06 967.443 1491.21C967.443 1491.21 967.591 1486.92 967.565 1482.89C967.56 1482.35 967.56 1482.35 967.529 1479.6C967.529 1478.42 967.529 1477.25 967.531 1476.04C967.526 1474.83 967.521 1473.63 967.513 1472.38C967.508 1469.83 967.505 1467.28 967.51 1464.73C967.516 1460.82 967.484 1456.91 967.453 1453C967.45 1450.52 967.448 1448.05 967.451 1445.57C967.438 1444.4 967.424 1443.23 967.414 1442.02C967.422 1440.93 967.43 1439.84 967.437 1438.71C967.437 1437.75 967.437 1436.8 967.435 1435.81C968.827 1428.62 975.185 1429.09 981.641 1429.12Z" + fill="white" + fillOpacity="0.9" + /> + <g filter="url(#filter2_d_5_2)"> + <path + d="M963.428 1365.33C962.126 1365.33 960.955 1365.07 959.912 1364.55C958.871 1364.03 958.035 1363.32 957.406 1362.42C956.778 1361.52 956.435 1360.49 956.375 1359.34H959.037C959.141 1360.37 959.607 1361.22 960.435 1361.89C961.27 1362.56 962.267 1362.89 963.428 1362.89C964.359 1362.89 965.187 1362.67 965.913 1362.23C966.644 1361.8 967.217 1361.2 967.63 1360.44C968.052 1359.67 968.263 1358.8 968.263 1357.83C968.263 1356.84 968.044 1355.96 967.61 1355.18C967.18 1354.4 966.589 1353.78 965.835 1353.33C965.08 1352.88 964.219 1352.65 963.251 1352.64C962.556 1352.64 961.843 1352.74 961.111 1352.97C960.378 1353.18 959.776 1353.46 959.303 1353.8L956.729 1353.49L958.106 1342.31H969.905V1344.75H960.411L959.612 1351.45H959.748C960.211 1351.08 960.796 1350.77 961.499 1350.53C962.202 1350.28 962.933 1350.16 963.696 1350.16C965.085 1350.16 966.321 1350.49 967.409 1351.16C968.505 1351.82 969.361 1352.72 969.983 1353.86C970.61 1355.01 970.925 1356.32 970.925 1357.79C970.925 1359.24 970.6 1360.53 969.949 1361.67C969.306 1362.8 968.419 1363.69 967.287 1364.35C966.157 1365 964.869 1365.33 963.428 1365.33ZM978.425 1361.91L978.248 1363.11C978.121 1363.95 977.928 1364.85 977.67 1365.82C977.418 1366.78 977.155 1367.68 976.882 1368.53C976.609 1369.38 976.385 1370.06 976.205 1370.56H974.209C974.306 1370.09 974.433 1369.46 974.587 1368.68C974.743 1367.91 974.899 1367.04 975.052 1366.08C975.216 1365.13 975.349 1364.15 975.453 1363.15L975.586 1361.91H978.425ZM988.499 1342.31V1365.02H985.748V1345.19H985.616L980.073 1348.87V1346.08L985.748 1342.31H988.499ZM994.5 1360.36V1358.1L1004.48 1342.31H1006.12V1345.81H1005.01L997.472 1357.74V1357.92H1010.91V1360.36H994.5ZM1005.19 1365.02V1359.67V1358.62V1342.31H1007.81V1365.02H1005.19ZM1022.34 1365.33C1020.82 1365.33 1019.47 1365.06 1018.31 1364.52C1017.15 1363.97 1016.24 1363.22 1015.59 1362.27C1014.94 1361.31 1014.62 1360.21 1014.62 1358.99C1014.62 1358.02 1014.8 1357.14 1015.19 1356.32C1015.57 1355.51 1016.1 1354.82 1016.76 1354.27C1017.44 1353.72 1018.19 1353.37 1019.02 1353.22V1353.09C1017.93 1352.81 1017.06 1352.2 1016.42 1351.26C1015.78 1350.31 1015.46 1349.24 1015.47 1348.03C1015.46 1346.88 1015.75 1345.85 1016.34 1344.94C1016.94 1344.03 1017.75 1343.31 1018.78 1342.79C1019.82 1342.26 1021.01 1342 1022.34 1342C1023.66 1342 1024.83 1342.26 1025.87 1342.79C1026.91 1343.31 1027.72 1344.03 1028.31 1344.94C1028.91 1345.85 1029.21 1346.88 1029.22 1348.03C1029.21 1349.24 1028.88 1350.31 1028.23 1351.26C1027.59 1352.2 1026.73 1352.81 1025.67 1353.09V1353.22C1026.49 1353.37 1027.23 1353.72 1027.89 1354.27C1028.55 1354.82 1029.07 1355.51 1029.46 1356.32C1029.85 1357.14 1030.05 1358.02 1030.06 1358.99C1030.05 1360.21 1029.72 1361.31 1029.06 1362.27C1028.41 1363.22 1027.51 1363.97 1026.35 1364.52C1025.19 1365.06 1023.86 1365.33 1022.34 1365.33ZM1022.34 1362.89C1023.37 1362.89 1024.26 1362.72 1025 1362.39C1025.75 1362.06 1026.33 1361.59 1026.73 1360.98C1027.14 1360.38 1027.35 1359.67 1027.36 1358.85C1027.35 1357.99 1027.13 1357.24 1026.69 1356.58C1026.25 1355.92 1025.66 1355.4 1024.9 1355.03C1024.16 1354.65 1023.3 1354.46 1022.34 1354.46C1021.38 1354.46 1020.51 1354.65 1019.75 1355.03C1018.99 1355.4 1018.4 1355.92 1017.96 1356.58C1017.53 1357.24 1017.32 1357.99 1017.33 1358.85C1017.32 1359.67 1017.52 1360.38 1017.92 1360.98C1018.33 1361.59 1018.91 1362.06 1019.66 1362.39C1020.41 1362.72 1021.31 1362.89 1022.34 1362.89ZM1022.34 1352.11C1023.16 1352.11 1023.88 1351.95 1024.51 1351.62C1025.14 1351.3 1025.64 1350.84 1026 1350.26C1026.36 1349.68 1026.55 1348.99 1026.56 1348.21C1026.55 1347.44 1026.37 1346.77 1026.01 1346.2C1025.66 1345.63 1025.17 1345.18 1024.54 1344.87C1023.91 1344.55 1023.18 1344.4 1022.34 1344.4C1021.49 1344.4 1020.75 1344.55 1020.11 1344.87C1019.48 1345.18 1018.99 1345.63 1018.64 1346.2C1018.29 1346.77 1018.12 1347.44 1018.13 1348.21C1018.12 1348.99 1018.29 1349.68 1018.65 1350.26C1019.01 1350.84 1019.51 1351.3 1020.15 1351.62C1020.78 1351.95 1021.52 1352.11 1022.34 1352.11Z" + fill="white" + /> + </g> + <path + fillRule="evenodd" + clipRule="evenodd" + d="M977.188 1256.62C988.956 1252.25 1004.57 1253.5 1015.53 1259.22C1022.37 1263.77 1028.69 1269.31 1031.15 1277.23C1032.49 1287.77 1032.28 1297.64 1025.47 1306.32C1020.61 1311.36 1015.45 1315.75 1009.85 1320C1008.42 1321.11 1006.98 1322.22 1005.5 1323.36C1001.33 1325.71 1001.27 1325.82 998.234 1326.81C997.737 1326.63 998.414 1326.92 995.895 1326.04C995.66 1324.9 995.673 1323.02 995.452 1317.87C993.813 1317.75 989.532 1317.17 987.84 1317.05C976.496 1315.59 969.272 1310.69 962.152 1302.07C956.676 1294.74 956.213 1287.47 957.309 1278.61C960.494 1268.07 967.95 1262.26 977.188 1256.62ZM976.374 1282.47C973.498 1282.47 971.169 1284.8 971.169 1287.68C971.169 1290.55 973.498 1292.88 976.374 1292.88C979.247 1292.88 981.579 1290.55 981.579 1287.68C981.579 1284.8 979.25 1282.47 976.374 1282.47ZM994.552 1282.47C991.679 1282.47 989.347 1284.8 989.347 1287.68C989.347 1290.55 991.679 1292.88 994.552 1292.88C997.427 1292.88 999.756 1290.55 999.756 1287.68C999.756 1284.8 997.427 1282.47 994.552 1282.47ZM1012.73 1282.47C1009.85 1282.47 1007.52 1284.8 1007.52 1287.68C1007.52 1290.55 1009.85 1292.88 1012.73 1292.88C1015.6 1292.88 1017.93 1290.55 1017.93 1287.68C1017.93 1284.8 1015.6 1282.47 1012.73 1282.47Z" + fill="white" + fillOpacity="0.9" + /> + <g filter="url(#filter3_d_5_2)"> + <path + d="M947.525 1193.06V1190.68L954.89 1183.05C955.676 1182.22 956.324 1181.49 956.834 1180.87C957.352 1180.24 957.737 1179.64 957.992 1179.07C958.247 1178.51 958.375 1177.9 958.375 1177.27C958.375 1176.54 958.206 1175.92 957.865 1175.4C957.524 1174.87 957.061 1174.46 956.472 1174.18C955.884 1173.89 955.223 1173.74 954.484 1173.74C953.706 1173.74 953.027 1173.9 952.444 1174.22C951.864 1174.54 951.419 1174.99 951.106 1175.57C950.794 1176.15 950.638 1176.83 950.638 1177.61H947.502C947.502 1176.28 947.806 1175.12 948.418 1174.13C949.027 1173.14 949.862 1172.37 950.924 1171.83C951.989 1171.28 953.196 1171 954.549 1171C955.916 1171 957.12 1171.27 958.161 1171.82C959.21 1172.36 960.03 1173.09 960.618 1174.03C961.206 1174.95 961.5 1176 961.5 1177.17C961.5 1177.98 961.347 1178.77 961.042 1179.54C960.746 1180.31 960.225 1181.17 959.481 1182.12C958.737 1183.06 957.701 1184.21 956.376 1185.55L952.051 1190.08V1190.24H961.852V1193.06H947.525ZM973.063 1193.35C971.73 1193.35 970.533 1193.1 969.471 1192.59C968.415 1192.07 967.572 1191.36 966.942 1190.46C966.31 1189.56 965.974 1188.54 965.932 1187.38H969.12C969.198 1188.32 969.612 1189.09 970.364 1189.69C971.114 1190.29 972.014 1190.59 973.063 1190.59C973.898 1190.59 974.64 1190.4 975.283 1190.02C975.936 1189.63 976.446 1189.09 976.815 1188.41C977.19 1187.73 977.378 1186.96 977.378 1186.09C977.378 1185.2 977.185 1184.41 976.802 1183.72C976.42 1183.02 975.894 1182.48 975.22 1182.08C974.554 1181.68 973.789 1181.48 972.925 1181.47C972.266 1181.47 971.603 1181.59 970.937 1181.81C970.27 1182.04 969.732 1182.34 969.321 1182.71L966.315 1182.26L967.535 1171.3H979.504V1174.11H970.268L969.576 1180.2H969.703C970.13 1179.79 970.692 1179.44 971.395 1179.17C972.103 1178.89 972.86 1178.76 973.669 1178.76C974.994 1178.76 976.173 1179.07 977.208 1179.7C978.249 1180.33 979.067 1181.19 979.663 1182.28C980.264 1183.37 980.563 1184.61 980.555 1186.02C980.563 1187.43 980.243 1188.69 979.597 1189.79C978.96 1190.9 978.075 1191.77 976.943 1192.41C975.816 1193.04 974.523 1193.35 973.063 1193.35ZM991.792 1193.35C990.267 1193.35 988.922 1193.09 987.753 1192.57C986.59 1192.04 985.679 1191.32 985.021 1190.4C984.362 1189.48 984.037 1188.43 984.045 1187.25C984.037 1186.33 984.225 1185.49 984.607 1184.72C984.997 1183.94 985.526 1183.29 986.189 1182.77C986.856 1182.25 987.6 1181.91 988.422 1181.77V1181.65C987.34 1181.38 986.47 1180.8 985.82 1179.9C985.167 1179 984.844 1177.97 984.852 1176.8C984.844 1175.69 985.138 1174.7 985.734 1173.83C986.335 1172.95 987.16 1172.26 988.209 1171.75C989.258 1171.25 990.452 1171 991.792 1171C993.117 1171 994.298 1171.25 995.342 1171.76C996.391 1172.27 997.216 1172.96 997.817 1173.84C998.421 1174.71 998.725 1175.7 998.73 1176.8C998.725 1177.97 998.392 1179 997.731 1179.9C997.073 1180.8 996.216 1181.38 995.16 1181.65V1181.77C995.974 1181.91 996.708 1182.25 997.361 1182.77C998.02 1183.29 998.543 1183.94 998.933 1184.72C999.329 1185.49 999.532 1186.33 999.54 1187.25C999.532 1188.43 999.199 1189.48 998.54 1190.4C997.882 1191.32 996.966 1192.04 995.797 1192.57C994.637 1193.09 993.302 1193.35 991.792 1193.35ZM991.792 1190.67C992.69 1190.67 993.471 1190.52 994.129 1190.22C994.788 1189.91 995.298 1189.49 995.66 1188.95C996.021 1188.41 996.206 1187.77 996.211 1187.04C996.206 1186.28 996.008 1185.62 995.618 1185.03C995.235 1184.45 994.715 1184 994.054 1183.66C993.395 1183.33 992.641 1183.17 991.792 1183.17C990.933 1183.17 990.174 1183.33 989.507 1183.66C988.841 1184 988.315 1184.45 987.933 1185.03C987.55 1185.62 987.363 1186.28 987.371 1187.04C987.363 1187.77 987.537 1188.41 987.891 1188.95C988.253 1189.49 988.766 1189.91 989.432 1190.22C990.098 1190.52 990.884 1190.67 991.792 1190.67ZM991.792 1180.54C992.513 1180.54 993.156 1180.39 993.715 1180.1C994.275 1179.81 994.715 1179.41 995.032 1178.89C995.358 1178.38 995.524 1177.77 995.532 1177.08C995.524 1176.4 995.363 1175.8 995.043 1175.29C994.73 1174.78 994.296 1174.39 993.736 1174.11C993.177 1173.83 992.529 1173.69 991.792 1173.69C991.04 1173.69 990.382 1173.83 989.815 1174.11C989.255 1174.39 988.82 1174.78 988.508 1175.29C988.196 1175.8 988.042 1176.4 988.05 1177.08C988.042 1177.77 988.198 1178.38 988.518 1178.89C988.836 1179.41 989.276 1179.81 989.835 1180.1C990.403 1180.39 991.053 1180.54 991.792 1180.54ZM1004.84 1193.26C1004.26 1193.26 1003.76 1193.05 1003.34 1192.64C1002.92 1192.22 1002.71 1191.72 1002.71 1191.13C1002.71 1190.55 1002.92 1190.06 1003.34 1189.65C1003.76 1189.23 1004.26 1189.02 1004.84 1189.02C1005.42 1189.02 1005.92 1189.23 1006.34 1189.65C1006.76 1190.06 1006.96 1190.55 1006.96 1191.13C1006.96 1191.52 1006.87 1191.88 1006.67 1192.21C1006.48 1192.52 1006.22 1192.78 1005.9 1192.97C1005.58 1193.16 1005.23 1193.26 1004.84 1193.26ZM1016.81 1171.3V1193.06H1013.51V1174.59H1013.38L1008.18 1177.99V1174.85L1013.61 1171.3H1016.81ZM1022.99 1193.06V1171.3H1026.28V1181.69H1026.54L1035.67 1171.3H1039.8L1031.03 1181.09L1039.84 1193.06H1035.88L1028.85 1183.33L1026.28 1186.29V1193.06H1022.99Z" + fill="white" + /> + </g> + <path + d="M988.553 1150.16C977.873 1141.93 955.578 1127.87 956.619 1105.96C956.619 1094.76 965.067 1085.02 976.051 1085.02C981.746 1085.02 987.12 1085 994.708 1092.81C1001.48 1084.91 1007.48 1085 1013.17 1085C1024.16 1085 1032.52 1094.76 1032.52 1105.96C1033.34 1127.56 1011.24 1143.14 1000.59 1150.16C996.579 1152.24 991.838 1151.72 988.553 1150.16Z" + fill="white" + fillOpacity="0.9" + /> + <path + d="M994.631 876.5C1026.17 876.5 1051.73 902.056 1051.73 933.58C1051.73 965.105 1026.17 990.661 994.631 990.661C963.097 990.661 937.533 965.105 937.533 933.58C937.533 902.056 963.097 876.5 994.631 876.5Z" + fill="#9D9D9D" + stroke="white" + /> + <path + d="M993.947 1019.18C1009.74 1019.18 1022.55 1006.38 1022.55 990.592C1022.55 974.801 1009.74 962 993.947 962C978.152 962 965.347 974.801 965.347 990.592C965.347 1006.38 978.152 1019.18 993.947 1019.18Z" + fill="#FE2C55" + /> + <path + d="M1008.87 988.577H980.264V993.747H1008.87V988.577Z" + fill="white" + /> + <path + d="M991.979 976.864V1005.46H997.151V976.864H991.979Z" + fill="white" + /> + <path + d="M998.114 252.67C1009.71 252.67 1019.12 243.27 1019.12 231.675C1019.12 220.08 1009.71 210.68 998.114 210.68C986.516 210.68 977.113 220.08 977.113 231.675C977.113 243.27 986.516 252.67 998.114 252.67Z" + stroke="white" + strokeWidth="4" + /> + <path + d="M1015.72 246.31C1014.9 245.494 1013.58 245.494 1012.76 246.31C1011.94 247.126 1011.94 248.449 1012.76 249.265L1024.78 261.282C1025.6 262.098 1026.92 262.098 1027.74 261.282C1028.55 260.466 1028.55 259.143 1027.74 258.327L1015.72 246.31Z" + fill="white" + /> + <path + d="M791.47 268H734.394C732.965 268 731.807 269.158 731.807 270.587V270.587C731.807 272.015 732.965 273.174 734.394 273.174H791.47C792.899 273.174 794.058 272.015 794.058 270.587C794.058 269.158 792.899 268 791.47 268Z" + fill="white" + /> + <path + d="M686.65 236.274V206H706.051V210.597H692.136V218.816H704.722V223.413H692.136V236.274H686.65ZM720.094 236.717C717.874 236.717 715.954 236.229 714.327 235.254C712.701 234.278 711.438 232.913 710.541 231.159C709.653 229.405 709.211 227.355 709.211 225.01C709.211 222.664 709.653 220.61 710.541 218.846C711.438 217.082 712.701 215.712 714.327 214.736C715.954 213.761 717.874 213.273 720.094 213.273C722.311 213.273 724.234 213.761 725.861 214.736C727.487 215.712 728.744 217.082 729.629 218.846C730.527 220.61 730.975 222.664 730.975 225.01C730.975 227.355 730.527 229.405 729.629 231.159C728.744 232.913 727.487 234.278 725.861 235.254C724.234 236.229 722.311 236.717 720.094 236.717ZM720.123 232.43C721.325 232.43 722.332 232.1 723.139 231.44C723.948 230.77 724.549 229.873 724.942 228.75C725.348 227.626 725.549 226.375 725.549 224.995C725.549 223.605 725.348 222.349 724.942 221.226C724.549 220.092 723.948 219.191 723.139 218.52C722.332 217.85 721.325 217.515 720.123 217.515C718.892 217.515 717.866 217.85 717.047 218.52C716.24 219.191 715.633 220.092 715.228 221.226C714.835 222.349 714.637 223.605 714.637 224.995C714.637 226.375 714.835 227.626 715.228 228.75C715.633 229.873 716.24 230.77 717.047 231.44C717.866 232.1 718.892 232.43 720.123 232.43ZM736.559 236.274V213.568H741.751V217.353H741.985C742.402 216.042 743.11 215.032 744.117 214.322C745.132 213.603 746.29 213.243 747.591 213.243C747.885 213.243 748.216 213.258 748.583 213.288C748.955 213.307 749.267 213.342 749.512 213.391V218.314C749.285 218.235 748.926 218.166 748.434 218.106C747.95 218.037 747.482 218.003 747.029 218.003C746.053 218.003 745.176 218.215 744.398 218.639C743.628 219.053 743.021 219.629 742.579 220.368C742.134 221.107 741.913 221.96 741.913 222.925V236.274H736.559ZM763.645 206H769.842L777.248 219.393H777.545L784.954 206H791.148L780.132 224.98V236.274H774.661V224.98L763.645 206ZM801.516 236.717C799.298 236.717 797.375 236.229 795.749 235.254C794.122 234.278 792.86 232.913 791.965 231.159C791.077 229.405 790.632 227.355 790.632 225.01C790.632 222.664 791.077 220.61 791.965 218.846C792.86 217.082 794.122 215.712 795.749 214.736C797.375 213.761 799.298 213.273 801.516 213.273C803.733 213.273 805.656 213.761 807.283 214.736C808.909 215.712 810.166 217.082 811.053 218.846C811.951 220.61 812.399 222.664 812.399 225.01C812.399 227.355 811.951 229.405 811.053 231.159C810.166 232.913 808.909 234.278 807.283 235.254C805.656 236.229 803.733 236.717 801.516 236.717ZM801.547 232.43C802.749 232.43 803.754 232.1 804.563 231.44C805.37 230.77 805.971 229.873 806.367 228.75C806.77 227.626 806.973 226.375 806.973 224.995C806.973 223.605 806.77 222.349 806.367 221.226C805.971 220.092 805.37 219.191 804.563 218.52C803.754 217.85 802.749 217.515 801.547 217.515C800.313 217.515 799.288 217.85 798.471 218.52C797.661 219.191 797.055 220.092 796.652 221.226C796.256 222.349 796.061 223.605 796.061 224.995C796.061 226.375 796.256 227.626 796.652 228.75C797.055 229.873 797.661 230.77 798.471 231.44C799.288 232.1 800.313 232.43 801.547 232.43ZM832.458 226.724V213.568H837.812V236.274H832.622V232.238H832.385C831.873 233.509 831.03 234.549 829.856 235.357C828.693 236.165 827.259 236.569 825.554 236.569C824.066 236.569 822.749 236.239 821.606 235.579C820.472 234.909 819.584 233.938 818.944 232.667C818.304 231.386 817.984 229.838 817.984 228.025V213.568H823.337V227.198C823.337 228.636 823.73 229.779 824.518 230.627C825.307 231.474 826.343 231.898 827.623 231.898C828.412 231.898 829.177 231.706 829.916 231.322C830.655 230.937 831.261 230.366 831.735 229.607C832.216 228.838 832.458 227.877 832.458 226.724Z" + fill="white" + /> + <path + d="M439.279 236.486V206.212H458.058V210.144H443.847V219.368H456.71V223.285H443.847V236.486H439.279ZM472.262 236.944C470.133 236.944 468.275 236.456 466.688 235.48C465.1 234.505 463.867 233.14 462.99 231.386C462.113 229.632 461.676 227.582 461.676 225.236C461.676 222.881 462.113 220.822 462.99 219.058C463.867 217.294 465.1 215.924 466.688 214.948C468.275 213.973 470.133 213.485 472.262 213.485C474.391 213.485 476.249 213.973 477.837 214.948C479.424 215.924 480.655 217.294 481.532 219.058C482.409 220.822 482.849 222.881 482.849 225.236C482.849 227.582 482.409 229.632 481.532 231.386C480.655 233.14 479.424 234.505 477.837 235.48C476.249 236.456 474.391 236.944 472.262 236.944ZM472.275 233.234C473.657 233.234 474.8 232.869 475.708 232.14C476.613 231.41 477.285 230.44 477.717 229.228C478.162 228.016 478.383 226.68 478.383 225.222C478.383 223.773 478.162 222.443 477.717 221.231C477.285 220.009 476.613 219.028 475.708 218.289C474.8 217.55 473.657 217.18 472.275 217.18C470.886 217.18 469.733 217.55 468.817 218.289C467.908 219.028 467.234 220.009 466.792 221.231C466.357 222.443 466.141 223.773 466.141 225.222C466.141 226.68 466.357 228.016 466.792 229.228C467.234 230.44 467.908 231.41 468.817 232.14C469.733 232.869 470.886 233.234 472.275 233.234ZM493.245 206.212V236.486H488.824V206.212H493.245ZM504.657 206.212V236.486H500.236V206.212H504.657ZM521.211 236.944C519.082 236.944 517.224 236.456 515.637 235.48C514.049 234.505 512.818 233.14 511.941 231.386C511.064 229.632 510.624 227.582 510.624 225.236C510.624 222.881 511.064 220.822 511.941 219.058C512.818 217.294 514.049 215.924 515.637 214.948C517.224 213.973 519.082 213.485 521.211 213.485C523.34 213.485 525.198 213.973 526.785 214.948C528.373 215.924 529.606 217.294 530.483 219.058C531.36 220.822 531.798 222.881 531.798 225.236C531.798 227.582 531.36 229.632 530.483 231.386C529.606 233.14 528.373 234.505 526.785 235.48C525.198 236.456 523.34 236.944 521.211 236.944ZM521.227 233.234C522.606 233.234 523.751 232.869 524.657 232.14C525.562 231.41 526.234 230.44 526.668 229.228C527.111 228.016 527.332 226.68 527.332 225.222C527.332 223.773 527.111 222.443 526.668 221.231C526.234 220.009 525.562 219.028 524.657 218.289C523.751 217.55 522.606 217.18 521.227 217.18C519.837 217.18 518.684 217.55 517.765 218.289C516.86 219.028 516.183 220.009 515.741 221.231C515.306 222.443 515.09 223.773 515.09 225.222C515.09 226.68 515.306 228.016 515.741 229.228C516.183 230.44 516.86 231.41 517.765 232.14C518.684 232.869 519.837 233.234 521.227 233.234ZM542.007 236.486L535.324 213.78H539.894L544.344 230.455H544.565L549.031 213.78H553.601L558.035 230.381H558.256L562.678 213.78H567.248L560.578 236.486H556.068L551.456 220.093H551.115L546.501 236.486H542.007ZM572.484 236.486V213.78H576.905V236.486H572.484ZM574.716 210.277C573.949 210.277 573.288 210.021 572.736 209.509C572.192 208.986 571.922 208.365 571.922 207.646C571.922 206.917 572.192 206.296 572.736 205.784C573.288 205.261 573.949 205 574.716 205C575.487 205 576.14 205.261 576.684 205.784C577.236 206.296 577.511 206.917 577.511 207.646C577.511 208.365 577.236 208.986 576.684 209.509C576.14 210.021 575.487 210.277 574.716 210.277ZM588.314 223.005V236.486H583.895V213.78H588.137V217.476H588.418C588.941 216.274 589.758 215.308 590.872 214.579C591.996 213.849 593.412 213.485 595.117 213.485C596.665 213.485 598.021 213.81 599.184 214.461C600.345 215.101 601.248 216.057 601.888 217.328C602.528 218.599 602.851 220.171 602.851 222.044V236.486H598.43V222.576C598.43 220.93 598 219.644 597.141 218.718C596.285 217.782 595.106 217.313 593.607 217.313C592.585 217.313 591.671 217.535 590.872 217.979C590.084 218.422 589.459 219.072 588.996 219.93C588.54 220.777 588.314 221.802 588.314 223.005ZM619.343 245.473C617.539 245.473 615.985 245.236 614.684 244.763C613.393 244.291 612.339 243.665 611.52 242.886C610.703 242.108 610.091 241.255 609.688 240.329L613.487 238.762C613.753 239.196 614.109 239.654 614.552 240.137C615.004 240.63 615.616 241.048 616.386 241.393C617.164 241.738 618.164 241.911 619.387 241.911C621.063 241.911 622.447 241.502 623.543 240.684C624.636 239.876 625.182 238.585 625.182 236.811V232.347H624.901C624.636 232.83 624.251 233.367 623.748 233.958C623.257 234.549 622.577 235.062 621.708 235.495C620.842 235.929 619.712 236.146 618.322 236.146C616.529 236.146 614.911 235.727 613.472 234.889C612.043 234.042 610.911 232.795 610.073 231.149C609.243 229.494 608.829 227.459 608.829 225.044C608.829 222.63 609.24 220.561 610.057 218.836C610.885 217.111 612.019 215.791 613.459 214.874C614.898 213.948 616.529 213.485 618.351 213.485C619.762 213.485 620.901 213.721 621.768 214.194C622.635 214.657 623.311 215.2 623.793 215.82C624.287 216.441 624.667 216.988 624.933 217.461H625.258V213.78H629.591V236.988C629.591 238.939 629.135 240.541 628.23 241.792C627.322 243.044 626.096 243.97 624.547 244.571C623.009 245.172 621.276 245.473 619.343 245.473ZM619.298 232.48C620.571 232.48 621.646 232.184 622.523 231.593C623.41 230.992 624.079 230.134 624.532 229.021C624.995 227.897 625.227 226.552 625.227 224.985C625.227 223.458 625 222.113 624.547 220.95C624.095 219.787 623.428 218.88 622.551 218.23C621.674 217.57 620.589 217.24 619.298 217.24C617.969 217.24 616.86 217.584 615.972 218.274C615.085 218.954 614.414 219.881 613.961 221.053C613.516 222.226 613.295 223.537 613.295 224.985C613.295 226.473 613.521 227.779 613.976 228.902C614.429 230.026 615.098 230.903 615.985 231.534C616.883 232.164 617.987 232.48 619.298 232.48Z" + fill="#C0C0C0" + /> + <path + d="M234.87 236.274V206H253.856V209.932H239.439V219.156H252.865V223.073H239.439V232.341H254.033V236.274H234.87ZM264.134 213.568L269.147 222.408L274.203 213.568H279.039L271.957 224.921L279.098 236.274H274.263L269.147 227.789L264.046 236.274H259.196L266.263 224.921L259.285 213.568H264.134ZM284.621 244.788V213.568H288.938V217.249H289.308C289.563 216.776 289.932 216.229 290.416 215.608C290.898 214.988 291.569 214.445 292.428 213.982C293.284 213.509 294.419 213.273 295.827 213.273C297.661 213.273 299.298 213.736 300.737 214.662C302.177 215.589 303.306 216.924 304.123 218.668C304.951 220.412 305.364 222.511 305.364 224.965C305.364 227.419 304.956 229.523 304.139 231.277C303.319 233.022 302.195 234.367 300.766 235.313C299.337 236.249 297.706 236.717 295.871 236.717C294.492 236.717 293.362 236.485 292.485 236.022C291.619 235.559 290.939 235.017 290.445 234.396C289.953 233.775 289.573 233.223 289.308 232.741H289.04V244.788H284.621ZM288.951 224.921C288.951 226.517 289.183 227.917 289.646 229.119C290.109 230.321 290.781 231.263 291.658 231.942C292.535 232.613 293.609 232.948 294.882 232.948C296.201 232.948 297.307 232.598 298.195 231.898C299.08 231.189 299.751 230.228 300.204 229.016C300.667 227.803 300.899 226.439 300.899 224.921C300.899 223.423 300.672 222.078 300.22 220.885C299.775 219.693 299.106 218.752 298.208 218.062C297.32 217.372 296.212 217.028 294.882 217.028C293.599 217.028 292.516 217.358 291.629 218.018C290.752 218.678 290.086 219.599 289.633 220.782C289.18 221.965 288.951 223.344 288.951 224.921ZM315.779 206V236.274H311.36V206H315.779ZM332.336 236.732C330.207 236.732 328.349 236.244 326.762 235.268C325.174 234.293 323.943 232.928 323.066 231.174C322.189 229.42 321.749 227.37 321.749 225.024C321.749 222.669 322.189 220.61 323.066 218.846C323.943 217.082 325.174 215.712 326.762 214.736C328.349 213.761 330.207 213.273 332.336 213.273C334.465 213.273 336.323 213.761 337.91 214.736C339.498 215.712 340.731 217.082 341.608 218.846C342.485 220.61 342.922 222.669 342.922 225.024C342.922 227.37 342.485 229.42 341.608 231.174C340.731 232.928 339.498 234.293 337.91 235.268C336.323 236.244 334.465 236.732 332.336 236.732ZM332.352 233.022C333.731 233.022 334.876 232.657 335.781 231.928C336.687 231.198 337.359 230.228 337.793 229.016C338.236 227.803 338.457 226.468 338.457 225.01C338.457 223.561 338.236 222.231 337.793 221.019C337.359 219.797 336.687 218.816 335.781 218.077C334.876 217.338 333.731 216.968 332.352 216.968C330.962 216.968 329.809 217.338 328.89 218.077C327.985 218.816 327.308 219.797 326.866 221.019C326.431 222.231 326.215 223.561 326.215 225.01C326.215 226.468 326.431 227.803 326.866 229.016C327.308 230.228 327.985 231.198 328.89 231.928C329.809 232.657 330.962 233.022 332.352 233.022ZM348.9 236.274V213.568H353.173V217.175H353.41C353.824 215.953 354.553 214.993 355.596 214.293C356.653 213.583 357.845 213.228 359.175 213.228C359.453 213.228 359.778 213.238 360.15 213.258C360.536 213.278 360.838 213.302 361.054 213.332V217.56C360.877 217.51 360.562 217.456 360.106 217.397C359.653 217.328 359.201 217.293 358.748 217.293C357.702 217.293 356.77 217.515 355.953 217.959C355.143 218.392 354.503 218.998 354.03 219.777C353.556 220.545 353.319 221.423 353.319 222.408V236.274H348.9ZM374.896 236.732C372.658 236.732 370.732 236.254 369.116 235.298C367.507 234.332 366.266 232.977 365.389 231.233C364.52 229.479 364.088 227.424 364.088 225.069C364.088 222.743 364.52 220.693 365.389 218.919C366.266 217.146 367.489 215.761 369.056 214.766C370.633 213.771 372.475 213.273 374.586 213.273C375.866 213.273 377.108 213.485 378.313 213.908C379.515 214.332 380.592 214.997 381.55 215.904C382.505 216.811 383.26 217.988 383.812 219.437C384.363 220.876 384.639 222.625 384.639 224.685V226.251H366.586V222.94H380.309C380.309 221.777 380.072 220.748 379.598 219.851C379.125 218.944 378.458 218.23 377.602 217.707C376.754 217.185 375.76 216.924 374.615 216.924C373.373 216.924 372.288 217.229 371.362 217.841C370.446 218.441 369.735 219.23 369.233 220.206C368.741 221.171 368.494 222.221 368.494 223.354V225.941C368.494 227.458 368.759 228.75 369.293 229.814C369.834 230.878 370.589 231.691 371.554 232.253C372.52 232.805 373.649 233.081 374.94 233.081C375.778 233.081 376.543 232.962 377.233 232.726C377.922 232.48 378.518 232.115 379.021 231.632C379.525 231.149 379.908 230.553 380.176 229.843L384.358 230.597C384.025 231.829 383.424 232.908 382.555 233.835C381.698 234.751 380.618 235.465 379.317 235.978C378.026 236.48 376.551 236.732 374.896 236.732Z" + fill="#C0C0C0" + /> + <path + d="M96.4754 244.508C96.4754 247.382 94.1452 249.712 91.2705 249.712H47.4236C44.5489 249.712 42.2188 247.382 42.2188 244.508V239.399H96.4754V244.508ZM47.3676 239.45V244.328H91.4358V239.45H47.3676ZM91.2705 199.109C94.1452 199.109 96.4754 201.439 96.4754 204.313V209.173H42.2188V204.313C42.2188 201.439 44.5489 199.11 47.4236 199.109H91.2705ZM47.3676 204.262V209.14H91.4358V204.262H47.3676Z" + fill="white" + /> + <path + d="M39.3633 235.03V214.217H44.3953V230.945H53.0564V235.03H39.3633ZM60.6934 214.217V235.03H55.6614V214.217H60.6934ZM68.5795 214.217L73.2352 229.461H73.408L78.0639 214.217H83.6956L76.6711 235.03H69.972L62.9476 214.217H68.5795ZM85.9373 235.03V214.217H100.454V218.303H90.9693V222.571H99.7116V226.666H90.9693V230.945H100.454V235.03H85.9373Z" + fill="white" + /> + <path + d="M59.0617 189.84L58.7406 190.161C57.7243 191.177 57.7243 192.824 58.7406 193.84L67.204 202.301C68.2203 203.317 69.868 203.317 70.8843 202.301L71.2054 201.98C72.2217 200.964 72.2217 199.317 71.2054 198.301L62.742 189.84C61.7257 188.824 60.078 188.824 59.0617 189.84Z" + fill="white" + /> + <path + d="M80.4113 190.161L80.0902 189.84C79.0739 188.824 77.4261 188.824 76.4098 189.84L67.9464 198.3C66.9301 199.316 66.9301 200.964 67.9464 201.98L68.2675 202.301C69.2839 203.317 70.9316 203.317 71.9479 202.301L80.4113 193.84C81.4276 192.824 81.4276 191.177 80.4113 190.161Z" + fill="white" + /> + <path + d="M79.951 41.7658V65.0386H76.4283V45.2886H76.2919L70.7237 48.9249V45.5613L76.5305 41.7658H79.951ZM95.716 41.7658V65.0386H92.1933V45.2886H92.0569L86.4887 48.9249V45.5613L92.2955 41.7658H95.716ZM104.936 62.1522C104.314 62.1522 103.78 61.9325 103.333 61.4931C102.886 61.0461 102.663 60.5083 102.663 59.8795C102.663 59.2583 102.886 58.728 103.333 58.2886C103.78 57.8416 104.314 57.6181 104.936 57.6181C105.557 57.6181 106.091 57.8416 106.538 58.2886C106.985 58.728 107.208 59.2583 107.208 59.8795C107.208 60.2961 107.102 60.6787 106.89 61.0272C106.686 61.3681 106.413 61.6408 106.072 61.8454C105.731 62.0499 105.352 62.1522 104.936 62.1522ZM104.936 50.4931C104.314 50.4931 103.78 50.2734 103.333 49.834C102.886 49.3871 102.663 48.8492 102.663 48.2204C102.663 47.5992 102.886 47.0689 103.333 46.6295C103.78 46.1825 104.314 45.959 104.936 45.959C105.557 45.959 106.091 46.1825 106.538 46.6295C106.985 47.0689 107.208 47.5992 107.208 48.2204C107.208 48.6371 107.102 49.0196 106.89 49.3681C106.686 49.709 106.413 49.9818 106.072 50.1863C105.731 50.3908 105.352 50.4931 104.936 50.4931ZM120.036 65.3568C118.612 65.3568 117.331 65.084 116.195 64.5386C115.066 63.9855 114.165 63.228 113.49 62.2658C112.816 61.3037 112.456 60.2052 112.411 58.9704H115.82C115.903 59.9704 116.346 60.7924 117.149 61.4363C117.952 62.0802 118.915 62.4022 120.036 62.4022C120.93 62.4022 121.721 62.1977 122.411 61.7886C123.108 61.3719 123.653 60.7999 124.047 60.0727C124.449 59.3454 124.649 58.5158 124.649 57.584C124.649 56.6371 124.445 55.7924 124.036 55.0499C123.627 54.3075 123.062 53.7242 122.343 53.2999C121.63 52.8757 120.812 52.6598 119.888 52.6522C119.183 52.6522 118.475 52.7734 117.763 53.0158C117.051 53.2583 116.475 53.5765 116.036 53.9704L112.82 53.4931L114.127 41.7658H126.922V44.7772H117.047L116.308 51.2886H116.445C116.899 50.8492 117.502 50.4818 118.252 50.1863C119.009 49.8908 119.82 49.7431 120.683 49.7431C122.1 49.7431 123.362 50.0802 124.468 50.7545C125.581 51.4287 126.456 52.3492 127.093 53.5158C127.737 54.6749 128.055 56.0083 128.047 57.5158C128.055 59.0234 127.714 60.3681 127.024 61.5499C126.343 62.7318 125.396 63.6636 124.183 64.3454C122.979 65.0196 121.596 65.3568 120.036 65.3568ZM132.838 65.0386V62.4931L140.713 54.334C141.554 53.4477 142.247 52.6711 142.792 52.0045C143.345 51.3302 143.758 50.6901 144.031 50.084C144.304 49.478 144.44 48.834 144.44 48.1522C144.44 47.3795 144.258 46.7128 143.895 46.1522C143.531 45.584 143.035 45.1484 142.406 44.8454C141.777 44.5348 141.069 44.3795 140.281 44.3795C139.448 44.3795 138.72 44.5499 138.099 44.8908C137.478 45.2318 137.001 45.7128 136.667 46.334C136.334 46.9552 136.167 47.6825 136.167 48.5158H132.815C132.815 47.0992 133.141 45.8605 133.792 44.7999C134.444 43.7393 135.338 42.9174 136.474 42.334C137.61 41.7431 138.902 41.4477 140.349 41.4477C141.811 41.4477 143.099 41.7393 144.213 42.3227C145.334 42.8984 146.209 43.6863 146.838 44.6863C147.466 45.6787 147.781 46.7999 147.781 48.0499C147.781 48.9136 147.618 49.7583 147.292 50.584C146.974 51.4098 146.417 52.3302 145.622 53.3454C144.826 54.353 143.72 55.5765 142.304 57.0158L137.679 61.8568V62.0272H148.156V65.0386H132.838Z" + fill="white" + /> + <rect + x="906.516" + y="40.8203" + width="7.56738" + height="24.4583" + rx="2" + fill="white" + /> + <rect + x="895.677" + y="46.0703" + width="7.56738" + height="19.2083" + rx="2" + fill="white" + /> + <rect + x="884.838" + y="51.4316" + width="7.56738" + height="13.8469" + rx="2" + fill="white" + /> + <rect + x="874" + y="55.7026" + width="7.56738" + height="9.57568" + rx="2" + fill="white" + /> + <path + d="M941.078 40.9033C934.711 40.9033 928.344 43.4627 923.774 47.6293C923.516 47.8578 923.508 48.2463 923.75 48.4977L925.836 50.6229C926.078 50.8742 926.485 50.8818 926.742 50.6457C928.563 49.0004 930.641 47.6902 932.938 46.7609C935.516 45.7098 938.258 45.1842 941.086 45.1842C943.914 45.1842 946.656 45.7174 949.235 46.7609C951.531 47.6979 953.61 49.0004 955.43 50.6457C955.688 50.8818 956.094 50.8742 956.336 50.6229L958.422 48.4977C958.664 48.2539 958.656 47.8654 958.399 47.6293C953.813 43.4627 947.445 40.9033 941.078 40.9033Z" + fill="white" + /> + <path + d="M929.922 54.7285L932.156 56.8842C932.399 57.1127 932.781 57.1279 933.031 56.907C935.242 54.9951 938.078 53.9439 941.07 53.9439C944.063 53.9439 946.899 54.9875 949.11 56.907C949.36 57.1279 949.742 57.1127 949.985 56.8842L952.219 54.7285C952.477 54.4771 952.469 54.0734 952.195 53.8373C949.266 51.2551 945.352 49.6783 941.063 49.6783C936.774 49.6783 932.86 51.2551 929.93 53.8373C929.672 54.0734 929.664 54.4771 929.922 54.7285ZM941.078 58.2857C939.25 58.2857 937.594 59.0322 936.438 60.2281C936.203 60.4719 936.211 60.8451 936.453 61.0812L940.625 65.0955C940.875 65.3393 941.281 65.3393 941.531 65.0955L945.703 61.0812C945.945 60.8451 945.953 60.4719 945.719 60.2281C944.563 59.0398 942.906 58.2857 941.078 58.2857Z" + fill="white" + /> + <rect + x="968.492" + y="38.5908" + width="51.4128" + height="29" + rx="8" + fill="#34C759" + /> + <path + d="M980.991 44.1363V61.5908H977.301V47.6391H977.198L973.201 50.1448V46.8721L977.522 44.1363H980.991ZM991.743 61.9743C990.277 61.9687 989.016 61.6079 987.959 60.892C986.908 60.176 986.098 59.1391 985.53 57.7812C984.968 56.4232 984.689 54.7897 984.695 52.8806C984.695 50.9772 984.976 49.355 985.539 48.0141C986.107 46.6732 986.916 45.6533 987.968 44.9545C989.024 44.2499 990.283 43.8976 991.743 43.8976C993.203 43.8976 994.459 44.2499 995.51 44.9545C996.567 45.659 997.379 46.6817 997.948 48.0226C998.516 49.3579 998.797 50.9772 998.791 52.8806C998.791 54.7954 998.507 56.4317 997.939 57.7897C997.377 59.1476 996.57 60.1846 995.519 60.9005C994.468 61.6164 993.209 61.9743 991.743 61.9743ZM991.743 58.9147C992.743 58.9147 993.541 58.4118 994.138 57.4062C994.735 56.4005 995.03 54.892 995.024 52.8806C995.024 51.5567 994.888 50.4545 994.615 49.5738C994.348 48.6931 993.968 48.0312 993.473 47.588C992.985 47.1448 992.408 46.9232 991.743 46.9232C990.749 46.9232 989.953 47.4204 989.357 48.4147C988.76 49.409 988.459 50.8976 988.453 52.8806C988.453 54.2215 988.587 55.3408 988.854 56.2385C989.127 57.1306 989.51 57.801 990.004 58.2499C990.499 58.6931 991.078 58.9147 991.743 58.9147ZM1008.03 61.9743C1006.56 61.9687 1005.3 61.6079 1004.24 60.892C1003.19 60.176 1002.38 59.1391 1001.81 57.7812C1001.25 56.4232 1000.97 54.7897 1000.98 52.8806C1000.98 50.9772 1001.26 49.355 1001.82 48.0141C1002.39 46.6732 1003.2 45.6533 1004.25 44.9545C1005.31 44.2499 1006.57 43.8976 1008.03 43.8976C1009.49 43.8976 1010.74 44.2499 1011.79 44.9545C1012.85 45.659 1013.66 46.6817 1014.23 48.0226C1014.8 49.3579 1015.08 50.9772 1015.07 52.8806C1015.07 54.7954 1014.79 56.4317 1014.22 57.7897C1013.66 59.1476 1012.85 60.1846 1011.8 60.9005C1010.75 61.6164 1009.49 61.9743 1008.03 61.9743ZM1008.03 58.9147C1009.03 58.9147 1009.82 58.4118 1010.42 57.4062C1011.02 56.4005 1011.31 54.892 1011.31 52.8806C1011.31 51.5567 1011.17 50.4545 1010.9 49.5738C1010.63 48.6931 1010.25 48.0312 1009.76 47.588C1009.27 47.1448 1008.69 46.9232 1008.03 46.9232C1007.03 46.9232 1006.24 47.4204 1005.64 48.4147C1005.04 49.409 1004.74 50.8976 1004.74 52.8806C1004.74 54.2215 1004.87 55.3408 1005.14 56.2385C1005.41 57.1306 1005.79 57.801 1006.29 58.2499C1006.78 58.6931 1007.36 58.9147 1008.03 58.9147Z" + fill="white" + /> + <path + d="M1022.16 48.2734V48.2734C1023.94 48.2734 1025.38 49.7175 1025.38 51.4988V54.6167C1025.38 56.398 1023.94 57.842 1022.16 57.842V57.842V48.2734Z" + fill="#34C759" + /> + <defs> + <filter + id="filter0_d_5_2" + x="954.752" + y="1684" + width="78.1084" + height="32.5605" + filterUnits="userSpaceOnUse" + colorInterpolationFilters="sRGB" + > + <feFlood floodOpacity="0" result="BackgroundImageFix" /> + <feColorMatrix + in="SourceAlpha" + type="matrix" + values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" + result="hardAlpha" + /> + <feOffset dy="1" /> + <feGaussianBlur stdDeviation="1" /> + <feComposite in2="hardAlpha" operator="out" /> + <feColorMatrix + type="matrix" + values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" + /> + <feBlend + mode="normal" + in2="BackgroundImageFix" + result="effect1_dropShadow_5_2" + /> + <feBlend + mode="normal" + in="SourceGraphic" + in2="effect1_dropShadow_5_2" + result="shape" + /> + </filter> + <filter + id="filter1_d_5_2" + x="960.448" + y="1512" + width="68.2227" + height="27.1934" + filterUnits="userSpaceOnUse" + colorInterpolationFilters="sRGB" + > + <feFlood floodOpacity="0" result="BackgroundImageFix" /> + <feColorMatrix + in="SourceAlpha" + type="matrix" + values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" + result="hardAlpha" + /> + <feOffset dy="1" /> + <feGaussianBlur stdDeviation="1" /> + <feComposite in2="hardAlpha" operator="out" /> + <feColorMatrix + type="matrix" + values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" + /> + <feBlend + mode="normal" + in2="BackgroundImageFix" + result="effect1_dropShadow_5_2" + /> + <feBlend + mode="normal" + in="SourceGraphic" + in2="effect1_dropShadow_5_2" + result="shape" + /> + </filter> + <filter + id="filter2_d_5_2" + x="954.375" + y="1341" + width="77.6875" + height="32.5605" + filterUnits="userSpaceOnUse" + colorInterpolationFilters="sRGB" + > + <feFlood floodOpacity="0" result="BackgroundImageFix" /> + <feColorMatrix + in="SourceAlpha" + type="matrix" + values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" + result="hardAlpha" + /> + <feOffset dy="1" /> + <feGaussianBlur stdDeviation="1" /> + <feComposite in2="hardAlpha" operator="out" /> + <feColorMatrix + type="matrix" + values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" + /> + <feBlend + mode="normal" + in2="BackgroundImageFix" + result="effect1_dropShadow_5_2" + /> + <feBlend + mode="normal" + in="SourceGraphic" + in2="effect1_dropShadow_5_2" + result="shape" + /> + </filter> + <filter + id="filter3_d_5_2" + x="945.502" + y="1170" + width="96.333" + height="26.353" + filterUnits="userSpaceOnUse" + colorInterpolationFilters="sRGB" + > + <feFlood floodOpacity="0" result="BackgroundImageFix" /> + <feColorMatrix + in="SourceAlpha" + type="matrix" + values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" + result="hardAlpha" + /> + <feOffset dy="1" /> + <feGaussianBlur stdDeviation="1" /> + <feComposite in2="hardAlpha" operator="out" /> + <feColorMatrix + type="matrix" + values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" + /> + <feBlend + mode="normal" + in2="BackgroundImageFix" + result="effect1_dropShadow_5_2" + /> + <feBlend + mode="normal" + in="SourceGraphic" + in2="effect1_dropShadow_5_2" + result="shape" + /> + </filter> + </defs> + </svg> + ); +} diff --git a/apps/web/src/lib/guides/index.ts b/apps/web/src/lib/guides/index.ts new file mode 100644 index 00000000..007e6fda --- /dev/null +++ b/apps/web/src/lib/guides/index.ts @@ -0,0 +1,13 @@ +import { GUIDE_REGISTRY } from "./registry"; +import type { GuideDefinition } from "@/lib/guides/types"; + +export { GUIDE_REGISTRY, isGuideId } from "./registry"; +export type { GuideDefinition, GuideId, GuideRenderProps } from "./registry"; + +export function getGuideById(guideId: string | null): GuideDefinition | null { + if (!guideId) { + return null; + } + + return GUIDE_REGISTRY.find((guide) => guide.id === guideId) ?? null; +} diff --git a/apps/web/src/lib/guides/registry.tsx b/apps/web/src/lib/guides/registry.tsx new file mode 100644 index 00000000..60dec428 --- /dev/null +++ b/apps/web/src/lib/guides/registry.tsx @@ -0,0 +1,28 @@ +import type { GuideDefinition } from "@/lib/guides/types"; +import { gridGuide } from "./definitions/grid"; +// import { customGuide } from "./definitions/custom"; +import { + tiktokGuide, + igReelsGuide, + ytShortsGuide, + spotlightGuide, +} from "./definitions/platforms"; + +export type { GuideDefinition, GuideRenderProps } from "@/lib/guides/types"; + +export const GUIDE_REGISTRY = [ + gridGuide, + tiktokGuide, + igReelsGuide, + ytShortsGuide, + spotlightGuide, + + // todo: wire up custom guide fully, then uncomment this: + // customGuide, +] as const satisfies readonly GuideDefinition[]; + +export type GuideId = (typeof GUIDE_REGISTRY)[number]["id"]; + +export function isGuideId(value: string): value is GuideId { + return GUIDE_REGISTRY.some((guide) => guide.id === value); +} diff --git a/apps/web/src/lib/guides/types.ts b/apps/web/src/lib/guides/types.ts new file mode 100644 index 00000000..340101ac --- /dev/null +++ b/apps/web/src/lib/guides/types.ts @@ -0,0 +1,20 @@ +import type { ReactNode } from "react"; + +export interface GridConfig { + rows: number; + cols: number; +} + +export interface GuideRenderProps { + width: number; + height: number; +} + +export interface GuideDefinition { + id: string; + label: string; + renderPreview: () => ReactNode; + renderTriggerIcon: () => ReactNode; + renderOverlay: (props: GuideRenderProps) => ReactNode; + renderOptions?: () => ReactNode; +} diff --git a/apps/web/src/lib/iconify-api.ts b/apps/web/src/lib/iconify-api.ts deleted file mode 100644 index e4afe111..00000000 --- a/apps/web/src/lib/iconify-api.ts +++ /dev/null @@ -1,241 +0,0 @@ -export const ICONIFY_HOSTS = [ - "https://api.iconify.design", - "https://api.simplesvg.com", - "https://api.unisvg.com", -]; - -let currentHost = ICONIFY_HOSTS[0]; - -async function fetchWithFallback(path: string): Promise<Response> { - for (const host of ICONIFY_HOSTS) { - try { - const response = await fetch(`${host}${path}`, { - signal: AbortSignal.timeout(2000), - }); - if (response.ok) { - currentHost = host; - return response; - } - } catch (error) { - console.warn(`Failed to fetch from ${host}:`, error); - } - } - throw new Error("All API hosts failed"); -} - -export interface IconSet { - prefix: string; - name: string; - total: number; - author?: { - name: string; - url?: string; - }; - license?: { - title: string; - spdx?: string; - url?: string; - }; - samples?: string[]; - category?: string; - palette?: boolean; -} - -export interface IconSearchResult { - icons: string[]; - total: number; - limit: number; - start: number; - collections: Record<string, IconSet>; -} - -export interface CollectionInfo { - prefix: string; - total: number; - title?: string; - uncategorized?: string[]; - categories?: Record<string, string[]>; - hidden?: string[]; - aliases?: Record<string, string>; -} - -export async function getCollections( - category?: string, -): Promise<Record<string, IconSet>> { - try { - const response = await fetchWithFallback("/collections?pretty=1"); - const data = (await response.json()) as Record<string, IconSet>; - - if (category) { - const filtered = Object.fromEntries( - Object.entries(data).filter( - ([_key, info]) => info.category === category, - ), - ) as Record<string, IconSet>; - return filtered; - } - - return data; - } catch (error) { - console.error("Failed to fetch collections:", error); - return {}; - } -} - -export async function getCollection( - prefix: string, -): Promise<CollectionInfo | null> { - try { - const response = await fetchWithFallback( - `/collection?prefix=${prefix}&pretty=1`, - ); - return await response.json(); - } catch (error) { - console.error(`Failed to fetch collection ${prefix}:`, error); - return null; - } -} - -export async function searchIcons( - query: string, - limit: number = 64, - prefixes?: string[], - category?: string, -): Promise<IconSearchResult> { - const params = new URLSearchParams({ - query, - limit: limit.toString(), - pretty: "1", - }); - - if (prefixes?.length) { - params.append("prefixes", prefixes.join(",")); - } - - if (category) { - params.append("category", category); - } - - try { - const response = await fetchWithFallback(`/search?${params}`); - return await response.json(); - } catch (error) { - console.error("Failed to search icons:", error); - return { - icons: [], - total: 0, - limit, - start: 0, - collections: {}, - }; - } -} - -export function buildIconSvgUrl( - host: string, - iconName: string, - params?: { - color?: string; - width?: number; - height?: number; - flip?: "horizontal" | "vertical" | "horizontal,vertical"; - rotate?: number | string; - }, -): string { - const [prefix, name] = iconName.includes(":") - ? iconName.split(":") - : ["", iconName]; - - if (!prefix || !name) { - throw new Error('Invalid icon name format. Expected "prefix:name"'); - } - - const urlParams = new URLSearchParams(); - - if (params?.color) { - urlParams.append("color", params.color.replace("#", "%23")); - } - - if (params?.width) { - urlParams.append("width", params.width.toString()); - } - - if (params?.height) { - urlParams.append("height", params.height.toString()); - } - - if (params?.flip) { - urlParams.append("flip", params.flip); - } - - if (params?.rotate) { - urlParams.append("rotate", params.rotate.toString()); - } - - const queryString = urlParams.toString(); - return `${host}/${prefix}/${name}.svg${queryString ? `?${queryString}` : ""}`; -} - -export function getIconSvgUrl( - iconName: string, - params?: Parameters<typeof buildIconSvgUrl>[2], -): string { - return buildIconSvgUrl(currentHost, iconName, params); -} - -export async function downloadSvgAsText( - iconName: string, - params?: Parameters<typeof getIconSvgUrl>[1], -): Promise<string> { - const url = getIconSvgUrl(iconName, params); - const response = await fetch(url); - if (!response.ok) { - throw new Error(`Failed to download SVG: ${response.statusText}`); - } - return await response.text(); -} - -export function svgToFile(svgText: string, fileName: string): File { - const blob = new Blob([svgText], { type: "image/svg+xml" }); - return new File([blob], fileName, { type: "image/svg+xml" }); -} - -export const POPULAR_COLLECTIONS = { - general: [ - { prefix: "mdi", name: "Material Design Icons" }, - { prefix: "ic", name: "Google Material Icons" }, - { prefix: "ph", name: "Phosphor" }, - { prefix: "heroicons", name: "Heroicons" }, - { prefix: "lucide", name: "Lucide" }, - { prefix: "tabler", name: "Tabler Icons" }, - { prefix: "fe", name: "Feather Icons" }, - { prefix: "bi", name: "Bootstrap Icons" }, - ], - brands: [ - { prefix: "simple-icons", name: "Simple Icons" }, - { prefix: "logos", name: "SVG Logos" }, - { prefix: "skill-icons", name: "Skill Icons" }, - { prefix: "devicon", name: "Devicon" }, - { prefix: "fa-brands", name: "Font Awesome Brands" }, - ], - emoji: [ - { prefix: "noto", name: "Noto Emoji" }, - { prefix: "twemoji", name: "Twemoji" }, - { prefix: "fluent-emoji", name: "Fluent Emoji" }, - { prefix: "fluent-emoji-flat", name: "Fluent Emoji Flat" }, - { prefix: "emojione", name: "EmojiOne" }, - { prefix: "openmoji", name: "OpenMoji" }, - ], -}; - -export function getCategoriesFromCollections( - collections: Record<string, IconSet>, -): string[] { - const categories = new Set<string>(); - Object.values(collections).forEach((collection) => { - if (collection.category) { - categories.add(collection.category); - } - }); - return Array.from(categories).sort(); -} diff --git a/apps/web/src/lib/masks/__tests__/snap.test.ts b/apps/web/src/lib/masks/__tests__/snap.test.ts new file mode 100644 index 00000000..3ec96344 --- /dev/null +++ b/apps/web/src/lib/masks/__tests__/snap.test.ts @@ -0,0 +1,235 @@ +import { describe, expect, test } from "bun:test"; +import { getSplitMaskStrokeSegment } from "@/lib/masks/definitions/split"; +import { getMaskSnapGeometry } from "@/lib/masks/geometry"; +import { snapMaskInteraction } from "@/lib/masks/snap"; +import type { ElementBounds } from "@/lib/preview/element-bounds"; +import type { RectangleMaskParams, SplitMaskParams } from "@/lib/masks/types"; + +const bounds: ElementBounds = { + cx: 200, + cy: 150, + width: 200, + height: 100, + rotation: 0, +}; + +const canvasSize = { + width: 400, + height: 300, +}; + +const snapThreshold = { + x: 8, + y: 8, +}; + +function buildSplitParams( + overrides: Partial<SplitMaskParams> = {}, +): SplitMaskParams { + return { + feather: 0, + inverted: false, + strokeColor: "#ffffff", + strokeWidth: 0, + centerX: 0, + centerY: 0, + rotation: 0, + ...overrides, + }; +} + +function buildRectangleParams( + overrides: Partial<RectangleMaskParams> = {}, +): RectangleMaskParams { + return { + feather: 0, + inverted: false, + strokeColor: "#ffffff", + strokeWidth: 0, + centerX: 0, + centerY: 0, + width: 0.4, + height: 0.2, + rotation: 0, + scale: 1, + ...overrides, + }; +} + +function sortSegment( + segment: [{ x: number; y: number }, { x: number; y: number }], +): [{ x: number; y: number }, { x: number; y: number }] { + return [...segment].sort((a, b) => (a.x === b.x ? a.y - b.y : a.x - b.x)) as [ + { x: number; y: number }, + { x: number; y: number }, + ]; +} + +describe("mask geometry", () => { + test("resolves split mask center from centerX and centerY", () => { + expect( + getMaskSnapGeometry({ + params: buildSplitParams({ + centerX: 0.25, + centerY: -0.5, + rotation: 45, + }), + bounds, + }), + ).toEqual({ + position: { x: 50, y: -50 }, + size: { width: 0, height: 0 }, + rotation: 45, + }); + }); + + test("resolves box mask center and size from centerX and centerY", () => { + expect( + getMaskSnapGeometry({ + params: buildRectangleParams({ + centerX: -0.25, + centerY: 0.5, + width: 0.5, + height: 0.6, + rotation: 30, + }), + bounds, + }), + ).toEqual({ + position: { x: -50, y: 50 }, + size: { width: 100, height: 60 }, + rotation: 30, + }); + }); + + test("returns a vertical split stroke segment for rotation 0", () => { + const segment = getSplitMaskStrokeSegment({ + resolvedParams: buildSplitParams(), + width: bounds.width, + height: bounds.height, + }); + + expect(segment).not.toBeNull(); + if (!segment) { + throw new Error("Expected split stroke segment for rotation 0"); + } + expect(sortSegment(segment)).toEqual([ + { x: bounds.width / 2, y: 0 }, + { x: bounds.width / 2, y: bounds.height }, + ]); + }); + + test("returns a horizontal split stroke segment for rotation 90", () => { + const segment = getSplitMaskStrokeSegment({ + resolvedParams: buildSplitParams({ rotation: 90 }), + width: bounds.width, + height: bounds.height, + }); + + expect(segment).not.toBeNull(); + if (!segment) { + throw new Error("Expected split stroke segment for rotation 90"); + } + expect(sortSegment(segment)).toEqual([ + { x: 0, y: bounds.height / 2 }, + { x: bounds.width, y: bounds.height / 2 }, + ]); + }); +}); + +describe("mask snapping", () => { + test("snaps split mask movement using the shared position pipeline", () => { + const result = snapMaskInteraction({ + handleId: "position", + startParams: buildSplitParams({ + centerX: 0.03, + centerY: -0.04, + }), + proposedParams: buildSplitParams({ + centerX: 0.03, + centerY: -0.04, + }), + bounds, + canvasSize, + snapThreshold, + }); + + expect(result.params.centerX).toBe(0); + expect(result.params.centerY).toBe(0); + expect(result.activeLines).toEqual([ + { type: "vertical", position: 0 }, + { type: "horizontal", position: 0 }, + ]); + }); + + test("snaps box mask movement against element center and edges", () => { + const result = snapMaskInteraction({ + handleId: "position", + startParams: buildRectangleParams(), + proposedParams: buildRectangleParams({ + centerX: 0.29, + centerY: 0.03, + }), + bounds, + canvasSize, + snapThreshold, + }); + + expect(result.params.centerX).toBeCloseTo(0.3); + expect(result.params.centerY).toBe(0); + expect(result.activeLines).toEqual([ + { type: "vertical", position: 100 }, + { type: "horizontal", position: 0 }, + ]); + }); + + test("snaps mask rotation through the shared rotation path", () => { + const result = snapMaskInteraction({ + handleId: "rotation", + startParams: buildRectangleParams(), + proposedParams: buildRectangleParams({ + rotation: 88, + }), + bounds, + canvasSize, + snapThreshold, + }); + + expect(result.params.rotation).toBe(90); + expect(result.activeLines).toEqual([]); + }); + + test("snaps edge resize for box masks", () => { + const result = snapMaskInteraction({ + handleId: "right", + startParams: buildRectangleParams(), + proposedParams: buildRectangleParams({ + width: 0.98, + }), + bounds, + canvasSize, + snapThreshold, + }); + + expect(result.params.width).toBe(1); + expect(result.activeLines).toEqual([{ type: "vertical", position: 100 }]); + }); + + test("snaps corner resize for box masks", () => { + const result = snapMaskInteraction({ + handleId: "bottom-right", + startParams: buildRectangleParams(), + proposedParams: buildRectangleParams({ + width: 0.99, + height: 0.495, + }), + bounds, + canvasSize, + snapThreshold, + }); + + expect(result.params.width).toBe(1); + expect(result.params.height).toBe(0.5); + expect(result.activeLines).toEqual([{ type: "vertical", position: 100 }]); + }); +}); diff --git a/apps/web/src/lib/masks/definitions/box-like.ts b/apps/web/src/lib/masks/definitions/box-like.ts new file mode 100644 index 00000000..0436151e --- /dev/null +++ b/apps/web/src/lib/masks/definitions/box-like.ts @@ -0,0 +1,270 @@ +import { + DEFAULT_SHAPE_MASK_SHORT_SIDE_RATIO, + MIN_MASK_DIMENSION, +} from "@/constants/mask-constants"; +import { computeFeatherUpdate } from "../param-update"; +import type { + BaseMaskParams, + MaskDefaultContext, + MaskParamUpdateArgs, + RectangleMaskParams, +} from "@/lib/masks/types"; +import type { + NumberParamDefinition, + ParamDefinition, + ParamValues, +} from "@/lib/params"; + +const PERCENTAGE_DISPLAY: Pick< + NumberParamDefinition, + "displayMultiplier" | "step" +> = { + displayMultiplier: 100, + step: 1, +}; + +export const BOX_LIKE_MASK_PARAMS: ParamDefinition< + keyof RectangleMaskParams & string +>[] = [ + { + key: "centerX", + label: "X", + type: "number", + default: 0, + min: -100, + max: 100, + ...PERCENTAGE_DISPLAY, + }, + { + key: "centerY", + label: "Y", + type: "number", + default: 0, + min: -100, + max: 100, + ...PERCENTAGE_DISPLAY, + }, + { + key: "width", + label: "Width", + type: "number", + default: 0.6, + min: 1, + ...PERCENTAGE_DISPLAY, + }, + { + key: "height", + label: "Height", + type: "number", + default: 0.6, + min: 1, + ...PERCENTAGE_DISPLAY, + }, + { + key: "rotation", + label: "Rotation", + type: "number", + default: 0, + min: 0, + max: 360, + step: 1, + }, + { + key: "scale", + label: "Scale", + type: "number", + default: 1, + min: 1, + max: 500, + ...PERCENTAGE_DISPLAY, + }, + { + key: "strokeAlign", + label: "Stroke Align", + type: "select", + default: "center", + options: [ + { value: "inside", label: "Inside" }, + { value: "center", label: "Center" }, + { value: "outside", label: "Outside" }, + ], + }, +]; + +export function getDefaultBaseMaskParams(): BaseMaskParams { + return { + feather: 0, + inverted: false, + strokeColor: "#ffffff", + strokeWidth: 0, + strokeAlign: "center", + }; +} + +export function getStrokeOffset({ + strokeAlign, + strokeWidth, +}: Pick<BaseMaskParams, "strokeAlign" | "strokeWidth">): number { + if (strokeAlign === "inside") { + return -(strokeWidth / 2); + } + + if (strokeAlign === "outside") { + return strokeWidth / 2; + } + + return 0; +} + +export function getDefaultSquareMaskParams({ + elementSize, +}: MaskDefaultContext): RectangleMaskParams { + const absWidth = Math.abs(elementSize?.width ?? 0); + const absHeight = Math.abs(elementSize?.height ?? 0); + const shortSide = Math.min(absWidth, absHeight); + const squareSide = + shortSide > 0 ? shortSide * DEFAULT_SHAPE_MASK_SHORT_SIDE_RATIO : 0; + const width = + absWidth > 0 ? squareSide / absWidth : DEFAULT_SHAPE_MASK_SHORT_SIDE_RATIO; + const height = + absHeight > 0 + ? squareSide / absHeight + : DEFAULT_SHAPE_MASK_SHORT_SIDE_RATIO; + + return { + ...getDefaultBaseMaskParams(), + centerX: 0, + centerY: 0, + width, + height, + rotation: 0, + scale: 1, + }; +} + +export function getBoxLikeGeometry({ + params, + width, + height, +}: { + params: RectangleMaskParams; + width: number; + height: number; +}) { + return { + centerX: width / 2 + params.centerX * width, + centerY: height / 2 + params.centerY * height, + maskWidth: Math.max(params.width, MIN_MASK_DIMENSION) * width, + maskHeight: Math.max(params.height, MIN_MASK_DIMENSION) * height, + rotationRad: (params.rotation * Math.PI) / 180, + }; +} + +export function computeBoxMaskParamUpdate({ + handleId, + startParams, + deltaX, + deltaY, + bounds, +}: MaskParamUpdateArgs<RectangleMaskParams>): ParamValues { + if (handleId === "position") { + return { + centerX: startParams.centerX + deltaX / bounds.width, + centerY: startParams.centerY + deltaY / bounds.height, + }; + } + + if (handleId === "rotation") { + const currentAngle = (Math.atan2(deltaY, deltaX) * 180) / Math.PI; + const newRotation = (startParams.rotation + currentAngle) % 360; + return { rotation: newRotation < 0 ? newRotation + 360 : newRotation }; + } + + if (handleId === "feather") { + const angleRad = (startParams.rotation * Math.PI) / 180; + return computeFeatherUpdate({ + startFeather: startParams.feather, + deltaX, + deltaY, + directionX: -Math.sin(angleRad), + directionY: Math.cos(angleRad), + }); + } + + const halfWidth = startParams.width * bounds.width; + const halfHeight = startParams.height * bounds.height; + + if (handleId === "right" || handleId === "left") { + const sign = handleId === "right" ? 1 : -1; + return { + width: Math.max( + MIN_MASK_DIMENSION, + startParams.width + (sign * deltaX * 2) / bounds.width, + ), + }; + } + + if (handleId === "bottom" || handleId === "top") { + const sign = handleId === "bottom" ? 1 : -1; + return { + height: Math.max( + MIN_MASK_DIMENSION, + startParams.height + (sign * deltaY * 2) / bounds.height, + ), + }; + } + + if ( + handleId === "top-left" || + handleId === "top-right" || + handleId === "bottom-left" || + handleId === "bottom-right" + ) { + const signX = handleId.includes("right") ? 1 : -1; + const signY = handleId.includes("bottom") ? 1 : -1; + const distance = Math.sqrt( + (signX * deltaX + halfWidth) ** 2 + (signY * deltaY + halfHeight) ** 2, + ); + const originalDistance = Math.sqrt(halfWidth ** 2 + halfHeight ** 2); + const scale = originalDistance > 0 ? distance / originalDistance : 1; + return { + width: Math.max(MIN_MASK_DIMENSION, startParams.width * scale), + height: Math.max(MIN_MASK_DIMENSION, startParams.height * scale), + }; + } + + if (handleId === "scale") { + const distance = Math.sqrt(deltaX ** 2 + deltaY ** 2); + const originalDistance = Math.sqrt(halfWidth ** 2 + halfHeight ** 2); + const scale = originalDistance > 0 ? 1 + distance / originalDistance : 1; + return { + scale: Math.max(MIN_MASK_DIMENSION, startParams.scale * scale), + }; + } + + return {}; +} + +export function rotatePoint({ + x, + y, + centerX, + centerY, + rotationRad, +}: { + x: number; + y: number; + centerX: number; + centerY: number; + rotationRad: number; +}) { + const dx = x - centerX; + const dy = y - centerY; + const cos = Math.cos(rotationRad); + const sin = Math.sin(rotationRad); + + return { + x: centerX + dx * cos - dy * sin, + y: centerY + dx * sin + dy * cos, + }; +} diff --git a/apps/web/src/lib/masks/definitions/ellipse.ts b/apps/web/src/lib/masks/definitions/ellipse.ts new file mode 100644 index 00000000..45d0a7c0 --- /dev/null +++ b/apps/web/src/lib/masks/definitions/ellipse.ts @@ -0,0 +1,72 @@ +import type { MaskDefinition, RectangleMaskParams } from "@/lib/masks/types"; +import { + BOX_LIKE_MASK_PARAMS, + computeBoxMaskParamUpdate, + getBoxLikeGeometry, + getDefaultSquareMaskParams, + getStrokeOffset, +} from "./box-like"; + +export const ellipseMaskDefinition: MaskDefinition<RectangleMaskParams> = { + type: "ellipse", + name: "Ellipse", + overlayShape: "box", + buildOverlayPath({ width, height }) { + const rx = Math.max((width - 1) / 2, 0); + const ry = Math.max((height - 1) / 2, 0); + const cx = width / 2; + const cy = height / 2; + return `M ${cx},${cy - ry} A ${rx},${ry} 0 1,1 ${cx},${cy + ry} A ${rx},${ry} 0 1,1 ${cx},${cy - ry} Z`; + }, + features: { + hasPosition: true, + hasRotation: true, + sizeMode: "width-height", + }, + params: BOX_LIKE_MASK_PARAMS, + buildDefault(context) { + return { + type: "ellipse", + params: getDefaultSquareMaskParams(context), + }; + }, + computeParamUpdate: computeBoxMaskParamUpdate, + renderer: { + buildPath({ resolvedParams, width, height }) { + const params = resolvedParams as RectangleMaskParams; + const { centerX, centerY, maskWidth, maskHeight, rotationRad } = + getBoxLikeGeometry({ params, width, height }); + const path = new Path2D(); + path.ellipse( + centerX, + centerY, + maskWidth / 2, + maskHeight / 2, + rotationRad, + 0, + Math.PI * 2, + ); + return path; + }, + buildStrokePath({ resolvedParams, width, height }) { + const params = resolvedParams as RectangleMaskParams; + const { centerX, centerY, maskWidth, maskHeight, rotationRad } = + getBoxLikeGeometry({ params, width, height }); + const offset = getStrokeOffset({ + strokeAlign: params.strokeAlign, + strokeWidth: params.strokeWidth, + }); + const path = new Path2D(); + path.ellipse( + centerX, + centerY, + Math.max(1, maskWidth / 2 + offset), + Math.max(1, maskHeight / 2 + offset), + rotationRad, + 0, + Math.PI * 2, + ); + return path; + }, + }, +}; diff --git a/apps/web/src/lib/masks/definitions/index.ts b/apps/web/src/lib/masks/definitions/index.ts new file mode 100644 index 00000000..c2affe30 --- /dev/null +++ b/apps/web/src/lib/masks/definitions/index.ts @@ -0,0 +1,39 @@ +import type { BaseMaskParams, MaskDefinition } from "@/lib/masks/types"; +import { masksRegistry, type MaskIconProps } from "../registry"; +import { ellipseMaskDefinition } from "./ellipse"; +import { rectangleMaskDefinition } from "./rectangle"; +import { splitMaskDefinition } from "./split"; +import { + PanelRightDashedIcon, + SquareIcon, + CircleIcon, +} from "@hugeicons/core-free-icons"; + +function registerDefaultMask<TParams extends BaseMaskParams>({ + definition, + icon, +}: { + definition: MaskDefinition<TParams>; + icon: MaskIconProps; +}) { + if (masksRegistry.has(definition.type)) { + return; + } + + masksRegistry.registerMask({ definition, icon }); +} + +export function registerDefaultMasks(): void { + registerDefaultMask({ + definition: splitMaskDefinition, + icon: { icon: PanelRightDashedIcon, strokeWidth: 1 }, + }); + registerDefaultMask({ + definition: rectangleMaskDefinition, + icon: { icon: SquareIcon }, + }); + registerDefaultMask({ + definition: ellipseMaskDefinition, + icon: { icon: CircleIcon }, + }); +} diff --git a/apps/web/src/lib/masks/definitions/rectangle.ts b/apps/web/src/lib/masks/definitions/rectangle.ts new file mode 100644 index 00000000..5b7f84a9 --- /dev/null +++ b/apps/web/src/lib/masks/definitions/rectangle.ts @@ -0,0 +1,94 @@ +import type { MaskDefinition, RectangleMaskParams } from "@/lib/masks/types"; +import { + BOX_LIKE_MASK_PARAMS, + computeBoxMaskParamUpdate, + getBoxLikeGeometry, + getDefaultSquareMaskParams, + getStrokeOffset, + rotatePoint, +} from "./box-like"; + +function buildRectanglePath({ + centerX, + centerY, + halfWidth, + halfHeight, + rotationRad, +}: { + centerX: number; + centerY: number; + halfWidth: number; + halfHeight: number; + rotationRad: number; +}): Path2D { + const corners = [ + { x: centerX - halfWidth, y: centerY - halfHeight }, + { x: centerX + halfWidth, y: centerY - halfHeight }, + { x: centerX + halfWidth, y: centerY + halfHeight }, + { x: centerX - halfWidth, y: centerY + halfHeight }, + ].map((point) => + rotatePoint({ + ...point, + centerX, + centerY, + rotationRad, + }), + ); + + const path = new Path2D(); + path.moveTo(corners[0].x, corners[0].y); + for (const corner of corners.slice(1)) { + path.lineTo(corner.x, corner.y); + } + path.closePath(); + return path; +} + +export const rectangleMaskDefinition: MaskDefinition<RectangleMaskParams> = { + type: "rectangle", + name: "Rectangle", + overlayShape: "box", + features: { + hasPosition: true, + hasRotation: true, + sizeMode: "width-height", + }, + params: BOX_LIKE_MASK_PARAMS, + buildDefault(context) { + return { + type: "rectangle", + params: getDefaultSquareMaskParams(context), + }; + }, + computeParamUpdate: computeBoxMaskParamUpdate, + renderer: { + buildPath({ resolvedParams, width, height }) { + const params = resolvedParams as RectangleMaskParams; + const { centerX, centerY, maskWidth, maskHeight, rotationRad } = + getBoxLikeGeometry({ params, width, height }); + return buildRectanglePath({ + centerX, + centerY, + halfWidth: maskWidth / 2, + halfHeight: maskHeight / 2, + rotationRad, + }); + }, + buildStrokePath({ resolvedParams, width, height }) { + const params = resolvedParams as RectangleMaskParams; + const { centerX, centerY, maskWidth, maskHeight, rotationRad } = + getBoxLikeGeometry({ params, width, height }); + const offset = getStrokeOffset({ + strokeAlign: params.strokeAlign, + strokeWidth: params.strokeWidth, + }); + return buildRectanglePath({ + centerX, + centerY, + halfWidth: Math.max(1, maskWidth / 2 + offset), + halfHeight: Math.max(1, maskHeight / 2 + offset), + rotationRad, + }); + }, + }, +}; diff --git a/apps/web/src/lib/masks/definitions/split.ts b/apps/web/src/lib/masks/definitions/split.ts new file mode 100644 index 00000000..43f02db1 --- /dev/null +++ b/apps/web/src/lib/masks/definitions/split.ts @@ -0,0 +1,347 @@ +import { computeFeatherUpdate } from "../param-update"; +import type { ParamValues } from "@/lib/params"; +import type { + MaskDefinition, + MaskParamUpdateArgs, + SplitMaskParams, +} from "@/lib/masks/types"; +import { halfPlaneSign, lineEdgeIntersection } from "../utils"; + +// cos(π/2) returns ~6e-17 in JS, not 0. Values below this threshold are snapped +// to exactly 0 to prevent opposite-sign float noise on canvas corners that lie +// exactly on the split line, which produces spurious midpoint vertices. +const NORMAL_SNAP_EPSILON = 1e-10; + +// Guards against collinear vertices from float noise at canvas edges. +const MIN_POLYGON_AREA_PX = 0.5; +const INTERSECTION_EPSILON = 1e-6; + +function polygonArea({ vertices }: { vertices: [number, number][] }): number { + let area = 0; + for (let i = 0; i < vertices.length; i++) { + const [x1, y1] = vertices[i]; + const [x2, y2] = vertices[(i + 1) % vertices.length]; + area += x1 * y2 - x2 * y1; + } + return Math.abs(area) * 0.5; +} + +function splitLineGeometry({ + centerX, + centerY, + rotation, + width, + height, +}: { + centerX: number; + centerY: number; + rotation: number; + width: number; + height: number; +}): { normalX: number; normalY: number; lineX: number; lineY: number } { + const angleRad = (rotation * Math.PI) / 180; + const normalX = + Math.abs(Math.cos(angleRad)) < NORMAL_SNAP_EPSILON ? 0 : Math.cos(angleRad); + const normalY = + Math.abs(Math.sin(angleRad)) < NORMAL_SNAP_EPSILON ? 0 : Math.sin(angleRad); + const lineX = width / 2 + centerX * width; + const lineY = height / 2 + centerY * height; + return { normalX, normalY, lineX, lineY }; +} + +function pointsEqual( + a: { x: number; y: number }, + b: { x: number; y: number }, +): boolean { + return ( + Math.abs(a.x - b.x) <= INTERSECTION_EPSILON && + Math.abs(a.y - b.y) <= INTERSECTION_EPSILON + ); +} + +export function getSplitMaskStrokeSegment({ + resolvedParams, + width, + height, +}: { + resolvedParams: unknown; + width: number; + height: number; +}): [{ x: number; y: number }, { x: number; y: number }] | null { + const { centerX, centerY, rotation } = resolvedParams as SplitMaskParams; + const { normalX, normalY, lineX, lineY } = splitLineGeometry({ + centerX, + centerY, + rotation, + width, + height, + }); + + const edges: [number, number, number, number][] = [ + [0, 0, width, 0], + [width, 0, width, height], + [width, height, 0, height], + [0, height, 0, 0], + ]; + const intersections: { x: number; y: number }[] = []; + + for (const [x1, y1, x2, y2] of edges) { + const hit = lineEdgeIntersection({ + lineX, + lineY, + normalX, + normalY, + x1, + y1, + x2, + y2, + }); + + if (!hit || intersections.some((point) => pointsEqual(point, hit))) { + continue; + } + + intersections.push(hit); + } + + if (intersections.length !== 2) { + return null; + } + + return [intersections[0], intersections[1]]; +} + +function computeSplitMaskParamUpdate({ + handleId, + startParams, + deltaX, + deltaY, + startCanvasX, + startCanvasY, + bounds, + canvasSize, +}: MaskParamUpdateArgs<SplitMaskParams>): ParamValues { + if (handleId === "position") { + const rawX = startParams.centerX + deltaX / bounds.width; + const rawY = startParams.centerY + deltaY / bounds.height; + + const minX = -bounds.cx / bounds.width; + const maxX = (canvasSize.width - bounds.cx) / bounds.width; + const minY = -bounds.cy / bounds.height; + const maxY = (canvasSize.height - bounds.cy) / bounds.height; + + return { + centerX: Math.max(minX, Math.min(maxX, rawX)), + centerY: Math.max(minY, Math.min(maxY, rawY)), + }; + } + + if (handleId === "feather") { + const angleRad = (startParams.rotation * Math.PI) / 180; + return computeFeatherUpdate({ + startFeather: startParams.feather, + deltaX, + deltaY, + directionX: -Math.cos(angleRad), + directionY: -Math.sin(angleRad), + }); + } + + if (handleId === "rotation") { + const pivotX = bounds.cx + startParams.centerX * bounds.width; + const pivotY = bounds.cy + startParams.centerY * bounds.height; + const startAngle = + (Math.atan2(startCanvasY - pivotY, startCanvasX - pivotX) * 180) / + Math.PI; + const currentAngle = + (Math.atan2( + startCanvasY + deltaY - pivotY, + startCanvasX + deltaX - pivotX, + ) * + 180) / + Math.PI; + + let deltaAngle = currentAngle - startAngle; + if (deltaAngle > 180) deltaAngle -= 360; + if (deltaAngle < -180) deltaAngle += 360; + + return { + rotation: (((startParams.rotation + deltaAngle) % 360) + 360) % 360, + }; + } + + return {}; +} + +export const splitMaskDefinition: MaskDefinition<SplitMaskParams> = { + type: "split", + name: "Split", + overlayShape: "line", + features: { + hasPosition: true, + hasRotation: true, + sizeMode: "none", + }, + buildDefault() { + return { + type: "split", + params: { + feather: 0, + inverted: false, + strokeColor: "#ffffff", + strokeWidth: 0, + strokeAlign: "center", + centerX: 0, + centerY: 0, + rotation: 0, + }, + }; + }, + computeParamUpdate: computeSplitMaskParamUpdate, + params: [ + { + key: "centerX", + label: "X", + type: "number", + default: 0, + min: -100, + max: 100, + step: 1, + displayMultiplier: 100, + }, + { + key: "centerY", + label: "Y", + type: "number", + default: 0, + min: -100, + max: 100, + step: 1, + displayMultiplier: 100, + }, + { + key: "rotation", + label: "Rotation", + type: "number", + default: 0, + min: 0, + max: 360, + step: 1, + }, + ], + renderer: { + renderMask({ resolvedParams, ctx, width, height, feather }) { + const { centerX, centerY, rotation } = resolvedParams as SplitMaskParams; + const { normalX, normalY, lineX, lineY } = splitLineGeometry({ + centerX, + centerY, + rotation, + width, + height, + }); + + // Analytical gradient avoids JFA's two-sided distance artifact near canvas edges. + const featherHalf = feather / 2; + const gradient = ctx.createLinearGradient( + lineX - normalX * featherHalf, + lineY - normalY * featherHalf, + lineX + normalX * featherHalf, + lineY + normalY * featherHalf, + ); + gradient.addColorStop(0, "rgba(255,255,255,0)"); + gradient.addColorStop(1, "white"); + + ctx.fillStyle = gradient; + ctx.fillRect(0, 0, width, height); + }, + + buildPath({ resolvedParams, width, height }) { + const { centerX, centerY, rotation } = resolvedParams as SplitMaskParams; + const { normalX, normalY, lineX, lineY } = splitLineGeometry({ + centerX, + centerY, + rotation, + width, + height, + }); + + const edges: [number, number, number, number][] = [ + [0, 0, width, 0], + [width, 0, width, height], + [width, height, 0, height], + [0, height, 0, 0], + ]; + + const isInsideHalfPlane = (x: number, y: number) => + halfPlaneSign({ lineX, lineY, normalX, normalY, x, y }) >= 0; + + const vertices: [number, number][] = []; + for (const [x1, y1, x2, y2] of edges) { + const isVertex1Inside = isInsideHalfPlane(x1, y1); + const isVertex2Inside = isInsideHalfPlane(x2, y2); + + if (isVertex1Inside && isVertex2Inside) { + vertices.push([x2, y2]); + } else if (isVertex1Inside && !isVertex2Inside) { + const hit = lineEdgeIntersection({ + lineX, + lineY, + normalX, + normalY, + x1, + y1, + x2, + y2, + }); + if (hit) vertices.push([hit.x, hit.y]); + } else if (!isVertex1Inside && isVertex2Inside) { + const hit = lineEdgeIntersection({ + lineX, + lineY, + normalX, + normalY, + x1, + y1, + x2, + y2, + }); + if (hit) { + vertices.push([hit.x, hit.y]); + vertices.push([x2, y2]); + } + } + } + + if ( + vertices.length < 3 || + polygonArea({ vertices }) < MIN_POLYGON_AREA_PX + ) { + return new Path2D(); + } + + const path = new Path2D(); + path.moveTo(vertices[0][0], vertices[0][1]); + for (let i = 1; i < vertices.length; i++) { + path.lineTo(vertices[i][0], vertices[i][1]); + } + path.closePath(); + return path; + }, + buildStrokePath({ resolvedParams, width, height }) { + const segment = getSplitMaskStrokeSegment({ + resolvedParams, + width, + height, + }); + const path = new Path2D(); + + if (!segment) { + return path; + } + + path.moveTo(segment[0].x, segment[0].y); + path.lineTo(segment[1].x, segment[1].y); + return path; + }, + }, +}; diff --git a/apps/web/src/lib/masks/geometry.ts b/apps/web/src/lib/masks/geometry.ts new file mode 100644 index 00000000..c6d386f8 --- /dev/null +++ b/apps/web/src/lib/masks/geometry.ts @@ -0,0 +1,112 @@ +import type { ElementBounds } from "@/lib/preview/element-bounds"; +import type { SnapLine } from "@/lib/preview/preview-snap"; +import { MIN_MASK_DIMENSION } from "@/constants/mask-constants"; +import type { ParamValues } from "@/lib/params"; +import type { RectangleMaskParams } from "@/lib/masks/types"; + +export function hasCenterParams(params: ParamValues): params is ParamValues & { + centerX: number; + centerY: number; +} { + return ( + typeof params.centerX === "number" && typeof params.centerY === "number" + ); +} + +export function isRectangleMaskParams( + params: ParamValues, +): params is RectangleMaskParams { + return ( + hasCenterParams(params) && + typeof params.width === "number" && + typeof params.height === "number" && + typeof params.rotation === "number" && + typeof params.scale === "number" + ); +} + +export function getMaskLocalCenter({ + params, + bounds, +}: { + params: ParamValues; + bounds: ElementBounds; +}): { x: number; y: number } | null { + if (!hasCenterParams(params)) return null; + + return { + x: params.centerX * bounds.width, + y: params.centerY * bounds.height, + }; +} + +export function setMaskLocalCenter({ + center, + bounds, +}: { + center: { x: number; y: number }; + bounds: ElementBounds; +}): Pick<ParamValues, "centerX" | "centerY"> { + return { + centerX: bounds.width === 0 ? 0 : center.x / bounds.width, + centerY: bounds.height === 0 ? 0 : center.y / bounds.height, + }; +} + +export function getMaskSnapGeometry({ + params, + bounds, +}: { + params: ParamValues; + bounds: ElementBounds; +}): { + position: { x: number; y: number }; + size: { width: number; height: number }; + rotation: number; +} | null { + const position = getMaskLocalCenter({ params, bounds }); + if (!position) return null; + + if (isRectangleMaskParams(params)) { + return { + position, + size: { + width: Math.max(params.width, MIN_MASK_DIMENSION) * bounds.width, + height: Math.max(params.height, MIN_MASK_DIMENSION) * bounds.height, + }, + rotation: params.rotation, + }; + } + + return { + position, + size: { width: 0, height: 0 }, + rotation: typeof params.rotation === "number" ? params.rotation : 0, + }; +} + +export function toGlobalMaskSnapLines({ + lines, + bounds, + canvasSize, +}: { + lines: SnapLine[]; + bounds: ElementBounds; + canvasSize: { width: number; height: number }; +}): SnapLine[] { + const centerX = bounds.cx - canvasSize.width / 2; + const centerY = bounds.cy - canvasSize.height / 2; + + return lines.map((line) => + line.type === "vertical" + ? { + type: "vertical" as const, + position: centerX + line.position, + } + : { + type: "horizontal" as const, + position: centerY + line.position, + }, + ); +} + diff --git a/apps/web/src/lib/masks/handle-positions.ts b/apps/web/src/lib/masks/handle-positions.ts new file mode 100644 index 00000000..753b17ce --- /dev/null +++ b/apps/web/src/lib/masks/handle-positions.ts @@ -0,0 +1,382 @@ +import { FEATHER_HANDLE_SCALE } from "@/constants/mask-constants"; +import type { ElementBounds } from "@/lib/preview/element-bounds"; +import type { + MaskFeatures, + MaskHandlePosition, + MaskLinePoints, + MaskOverlayShape, +} from "@/lib/masks/types"; +import type { ParamValues } from "@/lib/params"; + +const LINE_HANDLE_OFFSET_SCREEN_PX = 20; +const BOX_HANDLE_OFFSET_SCREEN_PX = 20; +const LINE_EXTENT_MULTIPLIER = 50; + +const CURSOR = { + rotate: "cursor-crosshair", + resizeDiagonal: "cursor-nwse-resize", + resizeHorizontal: "cursor-ew-resize", + resizeVertical: "cursor-ns-resize", +} as const; + +function getNumParam({ + params, + key, + fallback, +}: { + params: ParamValues; + key: string; + fallback: number; +}): number { + const value = params[key]; + return typeof value === "number" && !Number.isNaN(value) ? value : fallback; +} + +/** + * The renderer defines the split line as: + * - normal direction: (cos(rotation), sin(rotation)) + * - line direction (parallel to cut): (-sin(rotation), cos(rotation)) + * - reference point: (centerX * width, centerY * height) from element centre + * + * So rotation=0 → normal points right → line runs vertically. + */ +export function getLineMaskLinePoints({ + centerX, + centerY, + rotation, + bounds, +}: { + centerX: number; + centerY: number; + rotation: number; + bounds: ElementBounds; +}): MaskLinePoints { + const angleRad = (rotation * Math.PI) / 180; + const normalX = Math.cos(angleRad); + const normalY = Math.sin(angleRad); + const lineDirX = -normalY; + const lineDirY = normalX; + + const cx = bounds.cx + centerX * bounds.width; + const cy = bounds.cy + centerY * bounds.height; + + const extent = Math.max(bounds.width, bounds.height) * LINE_EXTENT_MULTIPLIER; + + return { + start: { + x: cx - lineDirX * extent, + y: cy - lineDirY * extent, + }, + end: { + x: cx + lineDirX * extent, + y: cy + lineDirY * extent, + }, + }; +} + +export function getLineMaskHandlePositions({ + centerX, + centerY, + rotation, + feather, + bounds, + displayScale, +}: { + centerX: number; + centerY: number; + rotation: number; + feather: number; + bounds: ElementBounds; + displayScale: number; +}): MaskHandlePosition[] { + const angleRad = (rotation * Math.PI) / 180; + const normalX = Math.cos(angleRad); + const normalY = Math.sin(angleRad); + + const cx = bounds.cx + centerX * bounds.width; + const cy = bounds.cy + centerY * bounds.height; + + const iconOffsetCanvas = LINE_HANDLE_OFFSET_SCREEN_PX / displayScale; + const featherOffset = iconOffsetCanvas + feather * FEATHER_HANDLE_SCALE; + + return [ + { + id: "rotation", + x: cx + normalX * iconOffsetCanvas, + y: cy + normalY * iconOffsetCanvas, + cursor: CURSOR.rotate, + }, + { + id: "feather", + x: cx - normalX * featherOffset, + y: cy - normalY * featherOffset, + cursor: CURSOR.resizeHorizontal, + }, + ]; +} + +function rotatePoint({ + localX, + localY, + cx, + cy, + angleRad, +}: { + localX: number; + localY: number; + cx: number; + cy: number; + angleRad: number; +}): { x: number; y: number } { + const cos = Math.cos(angleRad); + const sin = Math.sin(angleRad); + return { + x: cx + localX * cos - localY * sin, + y: cy + localX * sin + localY * cos, + }; +} + +export function getBoxMaskHandlePositions({ + centerX, + centerY, + width, + height, + rotation, + feather, + sizeMode, + bounds, + displayScale, +}: { + centerX: number; + centerY: number; + width: number; + height: number; + rotation: number; + feather: number; + sizeMode: MaskFeatures["sizeMode"]; + bounds: ElementBounds; + displayScale: number; +}): MaskHandlePosition[] { + const cx = bounds.cx + centerX * bounds.width; + const cy = bounds.cy + centerY * bounds.height; + const angleRad = (rotation * Math.PI) / 180; + const halfWidth = (width * bounds.width) / 2; + const halfHeight = (height * bounds.height) / 2; + + const handles: MaskHandlePosition[] = []; + const handleOffsetCanvas = BOX_HANDLE_OFFSET_SCREEN_PX / displayScale; + + const rotHandle = rotatePoint({ + localX: 0, + localY: -halfHeight - handleOffsetCanvas, + cx, + cy, + angleRad, + }); + handles.push({ + id: "rotation", + x: rotHandle.x, + y: rotHandle.y, + cursor: CURSOR.rotate, + }); + + const featherHandle = rotatePoint({ + localX: 0, + localY: halfHeight + handleOffsetCanvas + feather * FEATHER_HANDLE_SCALE, + cx, + cy, + angleRad, + }); + handles.push({ + id: "feather", + x: featherHandle.x, + y: featherHandle.y, + cursor: CURSOR.resizeVertical, + }); + + if (sizeMode === "width-height") { + const corners = [ + { localX: -halfWidth, localY: -halfHeight, id: "top-left" }, + { localX: halfWidth, localY: -halfHeight, id: "top-right" }, + { localX: halfWidth, localY: halfHeight, id: "bottom-right" }, + { localX: -halfWidth, localY: halfHeight, id: "bottom-left" }, + ]; + for (const { localX, localY, id } of corners) { + const point = rotatePoint({ localX, localY, cx, cy, angleRad }); + handles.push({ + id, + x: point.x, + y: point.y, + cursor: CURSOR.resizeDiagonal, + }); + } + const right = rotatePoint({ + localX: halfWidth, + localY: 0, + cx, + cy, + angleRad, + }); + const left = rotatePoint({ + localX: -halfWidth, + localY: 0, + cx, + cy, + angleRad, + }); + const bottom = rotatePoint({ + localX: 0, + localY: halfHeight, + cx, + cy, + angleRad, + }); + handles.push({ + id: "left", + x: left.x, + y: left.y, + cursor: CURSOR.resizeHorizontal, + }); + handles.push({ + id: "right", + x: right.x, + y: right.y, + cursor: CURSOR.resizeHorizontal, + }); + handles.push({ + id: "bottom", + x: bottom.x, + y: bottom.y, + cursor: CURSOR.resizeVertical, + }); + } else if (sizeMode === "height-only") { + const top = rotatePoint({ + localX: 0, + localY: -halfHeight, + cx, + cy, + angleRad, + }); + const bottom = rotatePoint({ + localX: 0, + localY: halfHeight, + cx, + cy, + angleRad, + }); + handles.push({ + id: "top", + x: top.x, + y: top.y, + cursor: CURSOR.resizeVertical, + }); + handles.push({ + id: "bottom", + x: bottom.x, + y: bottom.y, + cursor: CURSOR.resizeVertical, + }); + } else if (sizeMode === "width-only") { + const left = rotatePoint({ + localX: -halfWidth, + localY: 0, + cx, + cy, + angleRad, + }); + const right = rotatePoint({ + localX: halfWidth, + localY: 0, + cx, + cy, + angleRad, + }); + handles.push({ + id: "left", + x: left.x, + y: left.y, + cursor: CURSOR.resizeHorizontal, + }); + handles.push({ + id: "right", + x: right.x, + y: right.y, + cursor: CURSOR.resizeHorizontal, + }); + } else if (sizeMode === "uniform") { + const point = rotatePoint({ + localX: halfWidth, + localY: halfHeight, + cx, + cy, + angleRad, + }); + handles.push({ + id: "scale", + x: point.x, + y: point.y, + cursor: CURSOR.resizeDiagonal, + }); + } + + return handles; +} + +type MaskHandleResolver = (args: { + features: MaskFeatures; + params: ParamValues; + bounds: ElementBounds; + displayScale: number; +}) => MaskHandlePosition[]; + +const rectangleHandles: MaskHandleResolver = ({ + features, + params, + bounds, + displayScale, +}) => + getBoxMaskHandlePositions({ + centerX: getNumParam({ params, key: "centerX", fallback: 0 }), + centerY: getNumParam({ params, key: "centerY", fallback: 0 }), + width: getNumParam({ params, key: "width", fallback: 1 }), + height: getNumParam({ params, key: "height", fallback: 1 }), + rotation: getNumParam({ params, key: "rotation", fallback: 0 }), + feather: getNumParam({ params, key: "feather", fallback: 0 }), + sizeMode: features.sizeMode, + bounds, + displayScale, + }); + +const HANDLE_RESOLVERS: Record<MaskOverlayShape, MaskHandleResolver> = { + line: ({ params, bounds, displayScale }) => + getLineMaskHandlePositions({ + centerX: getNumParam({ params, key: "centerX", fallback: 0 }), + centerY: getNumParam({ params, key: "centerY", fallback: 0 }), + rotation: getNumParam({ params, key: "rotation", fallback: 0 }), + feather: getNumParam({ params, key: "feather", fallback: 0 }), + bounds, + displayScale, + }), + box: rectangleHandles, +}; + +export function getMaskHandlePositions({ + overlayShape, + features, + params, + bounds, + displayScale, +}: { + overlayShape: MaskOverlayShape; + features: MaskFeatures; + params: ParamValues; + bounds: ElementBounds; + displayScale: number; +}): MaskHandlePosition[] { + return HANDLE_RESOLVERS[overlayShape]({ + features, + params, + bounds, + displayScale, + }); +} diff --git a/apps/web/src/lib/masks/index.ts b/apps/web/src/lib/masks/index.ts new file mode 100644 index 00000000..bc9f20b0 --- /dev/null +++ b/apps/web/src/lib/masks/index.ts @@ -0,0 +1,18 @@ +import type { Mask, MaskDefaultContext, MaskType } from "@/lib/masks/types"; +import { masksRegistry } from "./registry"; +import { generateUUID } from "@/utils/id"; + +export { masksRegistry } from "./registry"; +export { registerDefaultMasks } from "./definitions"; + +export function buildDefaultMaskInstance({ + maskType, + elementSize, +}: { + maskType: MaskType; + elementSize?: { width: number; height: number }; +}): Mask { + const definition = masksRegistry.get(maskType); + const context: MaskDefaultContext = { elementSize }; + return { ...definition.buildDefault(context), id: generateUUID() } as Mask; +} diff --git a/apps/web/src/lib/masks/param-update.ts b/apps/web/src/lib/masks/param-update.ts new file mode 100644 index 00000000..967a4be0 --- /dev/null +++ b/apps/web/src/lib/masks/param-update.ts @@ -0,0 +1,59 @@ +import { FEATHER_HANDLE_SCALE, MAX_FEATHER } from "@/constants/mask-constants"; +import { masksRegistry } from "@/lib/masks"; +import type { ParamValues } from "@/lib/params"; +import type { + BaseMaskParams, + MaskParamUpdateArgs, + MaskType, +} from "@/lib/masks/types"; + +function compactMaskParamValues({ + params, +}: { + params: Partial<ParamValues>; +}): ParamValues { + const nextParams: ParamValues = {}; + for (const [key, value] of Object.entries(params)) { + if (value !== undefined) { + nextParams[key] = value; + } + } + return nextParams; +} + +export function computeFeatherUpdate({ + startFeather, + deltaX, + deltaY, + directionX, + directionY, +}: { + startFeather: number; + deltaX: number; + deltaY: number; + directionX: number; + directionY: number; +}): ParamValues { + const projection = deltaX * directionX + deltaY * directionY; + return { + feather: Math.max( + 0, + Math.min( + MAX_FEATHER, + Math.round(startFeather + projection / FEATHER_HANDLE_SCALE), + ), + ), + }; +} + +export function computeMaskParamUpdate({ + maskType, + ...args +}: { + maskType: MaskType; +} & MaskParamUpdateArgs<BaseMaskParams & ParamValues>): ParamValues { + const definition = masksRegistry.get(maskType); + return compactMaskParamValues({ + params: definition.computeParamUpdate(args), + }); +} diff --git a/apps/web/src/lib/masks/registry.ts b/apps/web/src/lib/masks/registry.ts new file mode 100644 index 00000000..5a98cb41 --- /dev/null +++ b/apps/web/src/lib/masks/registry.ts @@ -0,0 +1,70 @@ +import { MAX_FEATHER } from "@/constants/mask-constants"; +import type { ParamDefinition } from "@/lib/params"; +import type { BaseMaskParams, MaskDefinition, MaskType } from "@/lib/masks/types"; +import type { HugeiconsIconProps } from "@hugeicons/react"; +import { DefinitionRegistry } from "@/lib/registry"; + +export type MaskIconProps = { + icon: HugeiconsIconProps["icon"]; + strokeWidth?: number; +}; + +const BASE_MASK_PARAM_DEFINITIONS: ParamDefinition< + keyof BaseMaskParams & string +>[] = [ + { + key: "feather", + label: "Feather", + type: "number", + default: 0, + min: 0, + max: MAX_FEATHER, + step: 1, + unit: "percent", + }, + { + key: "strokeWidth", + label: "Stroke width", + type: "number", + default: 0, + min: 0, + max: 100, + step: 1, + }, + { + key: "strokeColor", + label: "Stroke color", + type: "color", + default: "#ffffff", + }, +]; + +export type RegisteredMaskDefinition = MaskDefinition<BaseMaskParams> & { + icon: MaskIconProps; +}; + +export class MasksRegistry extends DefinitionRegistry< + MaskType, + RegisteredMaskDefinition +> { + constructor() { + super("mask"); + } + + registerMask<TParams extends BaseMaskParams>({ + definition, + icon, + }: { + definition: MaskDefinition<TParams>; + icon: MaskIconProps; + }): void { + const withBaseParams: RegisteredMaskDefinition = { + ...definition, + params: [...definition.params, ...BASE_MASK_PARAM_DEFINITIONS], + icon, + }; + this.register(definition.type, withBaseParams); + } +} + +export const masksRegistry = new MasksRegistry(); diff --git a/apps/web/src/lib/masks/shaders/jfa-distance.frag.glsl b/apps/web/src/lib/masks/shaders/jfa-distance.frag.glsl new file mode 100644 index 00000000..4ba2c5a1 --- /dev/null +++ b/apps/web/src/lib/masks/shaders/jfa-distance.frag.glsl @@ -0,0 +1,36 @@ +precision mediump float; + +uniform sampler2D u_texture; +uniform sampler2D u_jfa_outside; +uniform vec2 u_resolution; +uniform float u_feather_half; + +varying vec2 v_texCoord; + +vec2 decodeSeed(vec4 encoded) { + float x = floor(encoded.r * 255.0 + 0.5) * 256.0 + floor(encoded.g * 255.0 + 0.5); + float y = floor(encoded.b * 255.0 + 0.5) * 256.0 + floor(encoded.a * 255.0 + 0.5); + return vec2(x, y); +} + +bool isNoSeed(vec4 encoded) { + return encoded.r > 0.99 && encoded.g > 0.99 && encoded.b > 0.99 && encoded.a > 0.99; +} + +void main() { + vec2 pixelCoord = floor(v_texCoord * u_resolution); + + vec4 insideEncoded = texture2D(u_texture, v_texCoord); + vec4 outsideEncoded = texture2D(u_jfa_outside, v_texCoord); + + bool hasInside = !isNoSeed(insideEncoded); + bool hasOutside = !isNoSeed(outsideEncoded); + + float distToInside = hasInside ? distance(pixelCoord, decodeSeed(insideEncoded)) : 1e5; + float distToOutside = hasOutside ? distance(pixelCoord, decodeSeed(outsideEncoded)) : 1e5; + + float signedDist = distToOutside - distToInside; + float alpha = smoothstep(-u_feather_half, u_feather_half, signedDist); + + gl_FragColor = vec4(alpha, alpha, alpha, alpha); +} diff --git a/apps/web/src/lib/masks/snap.ts b/apps/web/src/lib/masks/snap.ts new file mode 100644 index 00000000..83cc0e99 --- /dev/null +++ b/apps/web/src/lib/masks/snap.ts @@ -0,0 +1,335 @@ +import type { ElementBounds } from "@/lib/preview/element-bounds"; +import { MIN_MASK_DIMENSION } from "@/constants/mask-constants"; +import { + snapPosition, + snapRotation, + snapScale, + snapScaleAxes, + type ScaleEdgePreference, + type SnapLine, +} from "@/lib/preview/preview-snap"; +import type { ParamValues } from "@/lib/params"; +import { + isRectangleMaskParams, + getMaskSnapGeometry, + setMaskLocalCenter, + toGlobalMaskSnapLines, +} from "./geometry"; + +type MaskSnapResult = { + params: ParamValues; + activeLines: SnapLine[]; +}; + +const CORNER_SIZE_HANDLES = new Set([ + "top-left", + "top-right", + "bottom-left", + "bottom-right", +]); + +function getClampedRatio({ + next, + base, +}: { + next: number; + base: number; +}): number { + return ( + Math.max(next, MIN_MASK_DIMENSION) / Math.max(base, MIN_MASK_DIMENSION) + ); +} + +function getPreferredEdges({ + handleId, +}: { + handleId: string; +}): ScaleEdgePreference | undefined { + const preferredEdges = { + left: + handleId === "left" || + handleId === "top-left" || + handleId === "bottom-left", + right: + handleId === "right" || + handleId === "top-right" || + handleId === "bottom-right", + top: + handleId === "top" || handleId === "top-left" || handleId === "top-right", + bottom: + handleId === "bottom" || + handleId === "bottom-left" || + handleId === "bottom-right", + } satisfies ScaleEdgePreference; + + return Object.values(preferredEdges).some(Boolean) + ? preferredEdges + : undefined; +} + +function snapMaskPosition({ + proposedParams, + bounds, + canvasSize, + snapThreshold, +}: { + proposedParams: ParamValues; + bounds: ElementBounds; + canvasSize: { width: number; height: number }; + snapThreshold: { x: number; y: number }; +}): MaskSnapResult { + const geometry = getMaskSnapGeometry({ + params: proposedParams, + bounds, + }); + if (!geometry) { + return { params: proposedParams, activeLines: [] }; + } + + const { snappedPosition, activeLines } = snapPosition({ + proposedPosition: geometry.position, + canvasSize: bounds, + elementSize: geometry.size, + rotation: geometry.rotation, + snapThreshold, + }); + + return { + params: { + ...proposedParams, + ...setMaskLocalCenter({ + center: snappedPosition, + bounds, + }), + }, + activeLines: toGlobalMaskSnapLines({ + lines: activeLines, + bounds, + canvasSize, + }), + }; +} + +function snapMaskRotation({ + proposedParams, +}: { + proposedParams: ParamValues; +}): MaskSnapResult { + if (typeof proposedParams.rotation !== "number") { + return { params: proposedParams, activeLines: [] }; + } + + const { snappedRotation } = snapRotation({ + proposedRotation: proposedParams.rotation, + }); + + return { + params: { + ...proposedParams, + rotation: snappedRotation, + }, + activeLines: [], + }; +} + +function snapBoxMaskSize({ + handleId, + startParams, + proposedParams, + bounds, + canvasSize, + snapThreshold, +}: { + handleId: string; + startParams: ParamValues; + proposedParams: ParamValues; + bounds: ElementBounds; + canvasSize: { width: number; height: number }; + snapThreshold: { x: number; y: number }; +}): MaskSnapResult { + if ( + !isRectangleMaskParams(startParams) || + !isRectangleMaskParams(proposedParams) + ) { + return { params: proposedParams, activeLines: [] }; + } + + const geometry = getMaskSnapGeometry({ + params: proposedParams, + bounds, + }); + if (!geometry) { + return { params: proposedParams, activeLines: [] }; + } + + const localCanvasSize = bounds; + const baseWidth = + Math.max(startParams.width, MIN_MASK_DIMENSION) * bounds.width; + const baseHeight = + Math.max(startParams.height, MIN_MASK_DIMENSION) * bounds.height; + const preferredEdges = getPreferredEdges({ handleId }); + + if (handleId === "right" || handleId === "left") { + const proposedScaleX = getClampedRatio({ + next: proposedParams.width, + base: startParams.width, + }); + const { x } = snapScaleAxes({ + proposedScaleX, + proposedScaleY: 1, + position: geometry.position, + baseWidth, + baseHeight, + rotation: proposedParams.rotation, + canvasSize: localCanvasSize, + snapThreshold, + preferredEdges, + }); + + return { + params: { + ...proposedParams, + width: Math.max(MIN_MASK_DIMENSION, startParams.width * x.snappedScale), + }, + activeLines: toGlobalMaskSnapLines({ + lines: x.activeLines, + bounds, + canvasSize, + }), + }; + } + + if (handleId === "top" || handleId === "bottom") { + const proposedScaleY = getClampedRatio({ + next: proposedParams.height, + base: startParams.height, + }); + const { y } = snapScaleAxes({ + proposedScaleX: 1, + proposedScaleY, + position: geometry.position, + baseWidth, + baseHeight, + rotation: proposedParams.rotation, + canvasSize: localCanvasSize, + snapThreshold, + preferredEdges, + }); + + return { + params: { + ...proposedParams, + height: Math.max( + MIN_MASK_DIMENSION, + startParams.height * y.snappedScale, + ), + }, + activeLines: toGlobalMaskSnapLines({ + lines: y.activeLines, + bounds, + canvasSize, + }), + }; + } + + if (handleId === "scale") { + const baseScale = Math.max(startParams.scale, MIN_MASK_DIMENSION); + const proposedScale = getClampedRatio({ + next: proposedParams.scale, + base: startParams.scale, + }); + const { snappedScale, activeLines } = snapScale({ + proposedScale, + position: geometry.position, + baseWidth: baseWidth * baseScale, + baseHeight: baseHeight * baseScale, + rotation: proposedParams.rotation, + canvasSize: localCanvasSize, + snapThreshold, + preferredEdges, + }); + + return { + params: { + ...proposedParams, + scale: Math.max(MIN_MASK_DIMENSION, startParams.scale * snappedScale), + }, + activeLines: toGlobalMaskSnapLines({ + lines: activeLines, + bounds, + canvasSize, + }), + }; + } + + if (CORNER_SIZE_HANDLES.has(handleId)) { + const proposedScale = getClampedRatio({ + next: proposedParams.width, + base: startParams.width, + }); + const { snappedScale, activeLines } = snapScale({ + proposedScale, + position: geometry.position, + baseWidth, + baseHeight, + rotation: proposedParams.rotation, + canvasSize: localCanvasSize, + snapThreshold, + preferredEdges, + }); + + return { + params: { + ...proposedParams, + width: Math.max(MIN_MASK_DIMENSION, startParams.width * snappedScale), + height: Math.max(MIN_MASK_DIMENSION, startParams.height * snappedScale), + }, + activeLines: toGlobalMaskSnapLines({ + lines: activeLines, + bounds, + canvasSize, + }), + }; + } + + return { params: proposedParams, activeLines: [] }; +} + +export function snapMaskInteraction({ + handleId, + startParams, + proposedParams, + bounds, + canvasSize, + snapThreshold, +}: { + handleId: string; + startParams: ParamValues; + proposedParams: ParamValues; + bounds: ElementBounds; + canvasSize: { width: number; height: number }; + snapThreshold: { x: number; y: number }; +}): MaskSnapResult { + if (handleId === "position") { + return snapMaskPosition({ + proposedParams, + bounds, + canvasSize, + snapThreshold, + }); + } + + if (handleId === "rotation") { + return snapMaskRotation({ proposedParams }); + } + + return snapBoxMaskSize({ + handleId, + startParams, + proposedParams, + bounds, + canvasSize, + snapThreshold, + }); +} + diff --git a/apps/web/src/lib/masks/types.ts b/apps/web/src/lib/masks/types.ts new file mode 100644 index 00000000..569ff0ff --- /dev/null +++ b/apps/web/src/lib/masks/types.ts @@ -0,0 +1,115 @@ +import type { ElementBounds } from "@/lib/preview/element-bounds"; +import type { ParamDefinition, ParamValues } from "@/lib/params"; + +export type MaskType = "split" | "rectangle" | "ellipse"; + +export interface BaseMaskParams extends ParamValues { + feather: number; + inverted: boolean; + strokeColor: string; + strokeWidth: number; + strokeAlign: "inside" | "center" | "outside"; +} + +export interface SplitMaskParams extends BaseMaskParams { + centerX: number; + centerY: number; + rotation: number; +} + +export interface RectangleMaskParams extends BaseMaskParams { + centerX: number; + centerY: number; + width: number; + height: number; + rotation: number; + scale: number; +} + +export interface SplitMask { + id: string; + type: "split"; + params: SplitMaskParams; +} + +export interface RectangleMask { + id: string; + type: "rectangle"; + params: RectangleMaskParams; +} + +export interface EllipseMask { + id: string; + type: "ellipse"; + params: RectangleMaskParams; +} + +export type Mask = SplitMask | RectangleMask | EllipseMask; + +export interface MaskRenderer { + buildPath(params: { + resolvedParams: unknown; + width: number; + height: number; + }): Path2D; + buildStrokePath?: (params: { + resolvedParams: unknown; + width: number; + height: number; + }) => Path2D; + /** Renders the feathered mask directly onto ctx, bypassing JFA. */ + renderMask?: (params: { + resolvedParams: unknown; + ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D; + width: number; + height: number; + feather: number; + }) => void; +} + +export type MaskOverlayShape = "line" | "box"; + +export interface MaskFeatures { + hasPosition: boolean; + hasRotation: boolean; + sizeMode: "none" | "uniform" | "width-height" | "height-only" | "width-only"; +} + +export interface MaskHandlePosition { + id: string; + x: number; + y: number; + cursor: string; +} + +export interface MaskLinePoints { + start: { x: number; y: number }; + end: { x: number; y: number }; +} + +export interface MaskDefaultContext { + elementSize?: { width: number; height: number }; +} + +export interface MaskParamUpdateArgs<TParams extends BaseMaskParams = BaseMaskParams> { + handleId: string; + startParams: TParams; + deltaX: number; + deltaY: number; + startCanvasX: number; + startCanvasY: number; + bounds: ElementBounds; + canvasSize: { width: number; height: number }; +} + +export interface MaskDefinition<TParams extends BaseMaskParams = BaseMaskParams> { + type: MaskType; + name: string; + overlayShape: MaskOverlayShape; + features: MaskFeatures; + params: ParamDefinition<keyof TParams & string>[]; + renderer: MaskRenderer; + buildOverlayPath?: (params: { width: number; height: number }) => string; + buildDefault(context: MaskDefaultContext): Omit<Mask, "id">; + computeParamUpdate(args: MaskParamUpdateArgs<TParams>): ParamValues; +} diff --git a/apps/web/src/lib/masks/utils.ts b/apps/web/src/lib/masks/utils.ts new file mode 100644 index 00000000..a9110237 --- /dev/null +++ b/apps/web/src/lib/masks/utils.ts @@ -0,0 +1,64 @@ +const LINE_PARALLEL_EPSILON = 1e-10; + +export function lineEdgeIntersection({ + lineX, + lineY, + normalX, + normalY, + x1, + y1, + x2, + y2, +}: { + lineX: number; + lineY: number; + normalX: number; + normalY: number; + x1: number; + y1: number; + x2: number; + y2: number; +}): { x: number; y: number } | null { + const distance1 = halfPlaneSign({ + lineX, + lineY, + normalX, + normalY, + x: x1, + y: y1, + }); + const distance2 = halfPlaneSign({ + lineX, + lineY, + normalX, + normalY, + x: x2, + y: y2, + }); + const denom = distance1 - distance2; + if (Math.abs(denom) < LINE_PARALLEL_EPSILON) return null; + const t = distance1 / denom; + if (t < 0 || t > 1) return null; + return { + x: x1 + (x2 - x1) * t, + y: y1 + (y2 - y1) * t, + }; +} + +export function halfPlaneSign({ + lineX, + lineY, + normalX, + normalY, + x, + y, +}: { + lineX: number; + lineY: number; + normalX: number; + normalY: number; + x: number; + y: number; +}): number { + return (x - lineX) * normalX + (y - lineY) * normalY; +} diff --git a/apps/web/src/lib/media/audio-mastering.ts b/apps/web/src/lib/media/audio-mastering.ts new file mode 100644 index 00000000..29af223b --- /dev/null +++ b/apps/web/src/lib/media/audio-mastering.ts @@ -0,0 +1,103 @@ +const MASTER_LIMITER_THRESHOLD_DB = -1; +const MASTER_LIMITER_KNEE_DB = 0; +const MASTER_LIMITER_RATIO = 20; +const MASTER_LIMITER_ATTACK_SECONDS = 0.001; +const MASTER_LIMITER_RELEASE_SECONDS = 0.12; +const MASTER_OUTPUT_HEADROOM = 0.98; + +export function getAudioBufferPeak({ + audioBuffer, +}: { + audioBuffer: AudioBuffer; +}): number { + let peak = 0; + + for (let channel = 0; channel < audioBuffer.numberOfChannels; channel++) { + const channelData = audioBuffer.getChannelData(channel); + for (let index = 0; index < channelData.length; index++) { + const magnitude = Math.abs(channelData[index]); + if (magnitude > peak) { + peak = magnitude; + } + } + } + + return peak; +} + +export function createAudioMasteringChain({ + audioContext, + destination, +}: { + audioContext: AudioContext | OfflineAudioContext; + destination: AudioNode; +}): { + input: GainNode; +} { + const input = audioContext.createGain(); + const limiter = audioContext.createDynamicsCompressor(); + const outputGain = audioContext.createGain(); + + limiter.threshold.value = MASTER_LIMITER_THRESHOLD_DB; + limiter.knee.value = MASTER_LIMITER_KNEE_DB; + limiter.ratio.value = MASTER_LIMITER_RATIO; + limiter.attack.value = MASTER_LIMITER_ATTACK_SECONDS; + limiter.release.value = MASTER_LIMITER_RELEASE_SECONDS; + outputGain.gain.value = MASTER_OUTPUT_HEADROOM; + + input.connect(limiter); + limiter.connect(outputGain); + outputGain.connect(destination); + + return { input }; +} + +export async function applyAudioMasteringToBuffer({ + audioBuffer, +}: { + audioBuffer: AudioBuffer; +}): Promise<AudioBuffer> { + if (getAudioBufferPeak({ audioBuffer }) <= MASTER_OUTPUT_HEADROOM) { + return audioBuffer; + } + + const offlineContext = new OfflineAudioContext( + audioBuffer.numberOfChannels, + Math.max(1, audioBuffer.length), + audioBuffer.sampleRate, + ); + const source = offlineContext.createBufferSource(); + source.buffer = audioBuffer; + + const { input } = createAudioMasteringChain({ + audioContext: offlineContext, + destination: offlineContext.destination, + }); + source.connect(input); + source.start(0); + + const renderedBuffer = await offlineContext.startRendering(); + clampAudioBufferPeak({ + audioBuffer: renderedBuffer, + maxPeak: MASTER_OUTPUT_HEADROOM, + }); + return renderedBuffer; +} + +function clampAudioBufferPeak({ + audioBuffer, + maxPeak, +}: { + audioBuffer: AudioBuffer; + maxPeak: number; +}): void { + for (let channel = 0; channel < audioBuffer.numberOfChannels; channel++) { + const channelData = audioBuffer.getChannelData(channel); + for (let index = 0; index < channelData.length; index++) { + channelData[index] = Math.max( + -maxPeak, + Math.min(maxPeak, channelData[index]), + ); + } + } +} diff --git a/apps/web/src/lib/media/audio.ts b/apps/web/src/lib/media/audio.ts index e96f158b..41d3b38e 100644 --- a/apps/web/src/lib/media/audio.ts +++ b/apps/web/src/lib/media/audio.ts @@ -1,24 +1,44 @@ import type { AudioElement, LibraryAudioElement, - TimelineElement, + RetimeConfig, TimelineTrack, -} from "@/types/timeline"; -import type { MediaAsset } from "@/types/assets"; +} from "@/lib/timeline"; +import { shouldMaintainPitch } from "@/constants/retime-constants"; +import type { MediaAsset } from "@/lib/media/types"; +import { applyAudioMasteringToBuffer } from "@/lib/media/audio-mastering"; +import type { AudioCapableElement } from "@/lib/timeline/audio-state"; +import { + hasAnimatedVolume, + resolveEffectiveAudioGain, +} from "@/lib/timeline/audio-state"; import { canElementHaveAudio } from "@/lib/timeline/element-utils"; import { canTracktHaveAudio } from "@/lib/timeline"; import { mediaSupportsAudio } from "@/lib/media/media-utils"; +import { getSourceTimeAtClipTime, renderRetimedBuffer } from "@/lib/retime"; import { Input, ALL_FORMATS, BlobSource, AudioBufferSink } from "mediabunny"; const MAX_AUDIO_CHANNELS = 2; const EXPORT_SAMPLE_RATE = 44100; +const COARSE_SAMPLE_COUNT = 2048; -export type CollectedAudioElement = Omit< - AudioElement, - "type" | "mediaId" | "volume" | "id" | "name" | "sourceType" | "sourceUrl" -> & { buffer: AudioBuffer }; +export interface CollectedAudioElement { + timelineElement: AudioCapableElement; + buffer: AudioBuffer; + startTime: number; + duration: number; + trimStart: number; + trimEnd: number; + volume: number; + muted: boolean; + retime?: RetimeConfig; +} -export function createAudioContext({ sampleRate }: { sampleRate?: number } = {}): AudioContext { +export function createAudioContext({ + sampleRate, +}: { + sampleRate?: number; +} = {}): AudioContext { const AudioContextConstructor = window.AudioContext || (window as typeof window & { webkitAudioContext?: typeof AudioContext }) @@ -90,13 +110,21 @@ export async function collectAudioElements({ audioContext, }).then((audioBuffer) => { if (!audioBuffer) return null; + const muted = element.muted === true || isTrackMuted; return { + timelineElement: element, buffer: audioBuffer, startTime: element.startTime, duration: element.duration, trimStart: element.trimStart, trimEnd: element.trimEnd, - muted: element.muted || isTrackMuted, + volume: resolveEffectiveAudioGain({ + element, + trackMuted: isTrackMuted, + localTime: 0, + }), + muted, + retime: element.retime, }; }), ); @@ -113,14 +141,21 @@ export async function collectAudioElements({ audioContext, }).then((audioBuffer) => { if (!audioBuffer) return null; - const elementMuted = element.muted ?? false; + const muted = (element.muted ?? false) || isTrackMuted; return { + timelineElement: element, buffer: audioBuffer, startTime: element.startTime, duration: element.duration, trimStart: element.trimStart, trimEnd: element.trimEnd, - muted: elementMuted || isTrackMuted, + volume: resolveEffectiveAudioGain({ + element, + trackMuted: isTrackMuted, + localTime: 0, + }), + muted, + retime: element.retime, }; }), ); @@ -199,7 +234,10 @@ async function resolveAudioBufferForVideoElement({ if (chunks.length === 0) return null; const nativeSampleRate = chunks[0].sampleRate; - const numChannels = Math.min(MAX_AUDIO_CHANNELS, chunks[0].numberOfChannels); + const numChannels = Math.min( + MAX_AUDIO_CHANNELS, + chunks[0].numberOfChannels, + ); const nativeChannels = Array.from( { length: numChannels }, @@ -208,17 +246,29 @@ async function resolveAudioBufferForVideoElement({ let offset = 0; for (const chunk of chunks) { for (let channel = 0; channel < numChannels; channel++) { - const sourceData = chunk.getChannelData(Math.min(channel, chunk.numberOfChannels - 1)); + const sourceData = chunk.getChannelData( + Math.min(channel, chunk.numberOfChannels - 1), + ); nativeChannels[channel].set(sourceData, offset); } offset += chunk.length; } // use OfflineAudioContext for high-quality resampling to target rate - const outputSamples = Math.ceil(totalSamples * (targetSampleRate / nativeSampleRate)); - const offlineContext = new OfflineAudioContext(numChannels, outputSamples, targetSampleRate); + const outputSamples = Math.ceil( + totalSamples * (targetSampleRate / nativeSampleRate), + ); + const offlineContext = new OfflineAudioContext( + numChannels, + outputSamples, + targetSampleRate, + ); - const nativeBuffer = audioContext.createBuffer(numChannels, totalSamples, nativeSampleRate); + const nativeBuffer = audioContext.createBuffer( + numChannels, + totalSamples, + nativeSampleRate, + ); for (let ch = 0; ch < numChannels; ch++) { nativeBuffer.copyToChannel(nativeChannels[ch], ch); } @@ -238,14 +288,18 @@ async function resolveAudioBufferForVideoElement({ } interface AudioMixSource { + timelineElement: AudioCapableElement; file: File; startTime: number; duration: number; trimStart: number; trimEnd: number; + volume: number; + retime?: RetimeConfig; } export interface AudioClipSource { + timelineElement: AudioCapableElement; id: string; sourceKey: string; file: File; @@ -253,13 +307,17 @@ export interface AudioClipSource { duration: number; trimStart: number; trimEnd: number; + volume: number; muted: boolean; + retime?: RetimeConfig; } async function fetchLibraryAudioSource({ element, + volume, }: { element: LibraryAudioElement; + volume: number; }): Promise<AudioMixSource | null> { try { const response = await fetch(element.sourceUrl); @@ -273,11 +331,14 @@ async function fetchLibraryAudioSource({ }); return { + timelineElement: element, file, startTime: element.startTime, duration: element.duration, trimStart: element.trimStart, trimEnd: element.trimEnd, + volume, + retime: element.retime, }; } catch (error) { console.warn("Failed to fetch library audio:", error); @@ -288,9 +349,11 @@ async function fetchLibraryAudioSource({ async function fetchLibraryAudioClip({ element, muted, + volume, }: { element: LibraryAudioElement; muted: boolean; + volume: number; }): Promise<AudioClipSource | null> { try { const response = await fetch(element.sourceUrl); @@ -304,6 +367,7 @@ async function fetchLibraryAudioClip({ }); return { + timelineElement: element, id: element.id, sourceKey: element.id, file, @@ -311,7 +375,9 @@ async function fetchLibraryAudioClip({ duration: element.duration, trimStart: element.trimStart, trimEnd: element.trimEnd, + volume, muted, + retime: element.retime, }; } catch (error) { console.warn("Failed to fetch library audio:", error); @@ -322,16 +388,21 @@ async function fetchLibraryAudioClip({ function collectMediaAudioSource({ element, mediaAsset, + volume, }: { - element: TimelineElement; + element: AudioCapableElement; mediaAsset: MediaAsset; + volume: number; }): AudioMixSource { return { + timelineElement: element, file: mediaAsset.file, startTime: element.startTime, duration: element.duration, trimStart: element.trimStart, trimEnd: element.trimEnd, + volume, + retime: element.retime, }; } @@ -339,12 +410,15 @@ function collectMediaAudioClip({ element, mediaAsset, muted, + volume, }: { - element: TimelineElement; + element: AudioCapableElement; mediaAsset: MediaAsset; muted: boolean; + volume: number; }): AudioClipSource { return { + timelineElement: element, id: element.id, sourceKey: mediaAsset.id, file: mediaAsset.file, @@ -352,7 +426,9 @@ function collectMediaAudioClip({ duration: element.duration, trimStart: element.trimStart, trimEnd: element.trimEnd, + volume, muted, + retime: element.retime, }; } @@ -374,6 +450,11 @@ export async function collectAudioMixSources({ for (const element of track.elements) { if (!canElementHaveAudio(element)) continue; + if (element.muted === true) continue; + const volume = resolveEffectiveAudioGain({ + element, + localTime: 0, + }); if (element.type === "audio") { if (element.sourceType === "upload") { @@ -381,10 +462,12 @@ export async function collectAudioMixSources({ if (!mediaAsset) continue; audioMixSources.push( - collectMediaAudioSource({ element, mediaAsset }), + collectMediaAudioSource({ element, mediaAsset, volume }), ); } else { - pendingLibrarySources.push(fetchLibraryAudioSource({ element })); + pendingLibrarySources.push( + fetchLibraryAudioSource({ element, volume }), + ); } continue; } @@ -395,7 +478,7 @@ export async function collectAudioMixSources({ if (mediaSupportsAudio({ media: mediaAsset })) { audioMixSources.push( - collectMediaAudioSource({ element, mediaAsset }), + collectMediaAudioSource({ element, mediaAsset, volume }), ); } } @@ -432,6 +515,11 @@ export async function collectAudioClips({ const isElementMuted = "muted" in element ? (element.muted ?? false) : false; const muted = isTrackMuted || isElementMuted; + const volume = resolveEffectiveAudioGain({ + element, + trackMuted: isTrackMuted, + localTime: 0, + }); if (element.type === "audio") { if (element.sourceType === "upload") { @@ -443,10 +531,13 @@ export async function collectAudioClips({ element, mediaAsset, muted, + volume, }), ); } else { - pendingLibraryClips.push(fetchLibraryAudioClip({ element, muted })); + pendingLibraryClips.push( + fetchLibraryAudioClip({ element, muted, volume }), + ); } continue; } @@ -461,6 +552,7 @@ export async function collectAudioClips({ element, mediaAsset, muted, + volume, }), ); } @@ -510,36 +602,114 @@ export async function createTimelineAudioBuffer({ for (const element of audioElements) { if (element.muted) continue; + const renderedBuffer = shouldMaintainPitch({ + rate: element.retime?.rate ?? 1, + maintainPitch: element.retime?.maintainPitch, + }) + ? await renderRetimedBuffer({ + audioContext: context, + sourceBuffer: element.buffer, + trimStart: element.trimStart, + clipDuration: element.duration, + retime: element.retime, + maintainPitch: true, + }) + : undefined; + mixAudioChannels({ element, + buffer: renderedBuffer ?? element.buffer, + trimStart: renderedBuffer ? 0 : element.trimStart, + retime: renderedBuffer ? undefined : element.retime, outputBuffer, outputLength, sampleRate, }); } - return outputBuffer; + return await applyAudioMasteringToBuffer({ audioBuffer: outputBuffer }); +} + +export function computeGlobalMaxRms({ + buffer, +}: { + buffer: AudioBuffer; +}): number { + const channels = buffer.numberOfChannels; + const step = Math.max(1, Math.floor(buffer.length / COARSE_SAMPLE_COUNT)); + let globalMax = 0; + + for (let c = 0; c < channels; c++) { + const data = buffer.getChannelData(c); + for (let i = 0; i + step <= buffer.length; i += step) { + for (let j = i; j < i + step; j++) { + const abs = Math.abs(data[j]); + if (abs > globalMax) globalMax = abs; + } + } + } + + return globalMax || 1; +} + +export function extractRmsRange({ + buffer, + count, + startSample, + endSample, + globalMax, +}: { + buffer: AudioBuffer; + count: number; + startSample: number; + endSample: number; + globalMax: number; +}): number[] { + const channels = buffer.numberOfChannels; + const rangeLength = endSample - startSample; + const step = Math.max(1, Math.floor(rangeLength / count)); + const peaks = new Float32Array(count); + + for (let c = 0; c < channels; c++) { + const data = buffer.getChannelData(c); + for (let i = 0; i < count; i++) { + const start = startSample + i * step; + const end = Math.min(start + step, endSample); + for (let j = start; j < end; j++) { + const abs = Math.abs(data[j]); + if (abs > peaks[i]) peaks[i] = abs; + } + } + } + + const norm = 1 / globalMax; + const result = new Array<number>(count); + for (let i = 0; i < count; i++) result[i] = Math.min(1, peaks[i] * norm); + + return result; } function mixAudioChannels({ element, + buffer, + trimStart, + retime, outputBuffer, outputLength, sampleRate, }: { element: CollectedAudioElement; + buffer: AudioBuffer; + trimStart: number; + retime?: RetimeConfig; outputBuffer: AudioBuffer; outputLength: number; sampleRate: number; }): void { - const { buffer, startTime, trimStart, duration: elementDuration } = element; + const { startTime, duration: elementDuration } = element; - const sourceStartSample = Math.floor(trimStart * buffer.sampleRate); - const sourceLengthSamples = Math.floor(elementDuration * buffer.sampleRate); const outputStartSample = Math.floor(startTime * sampleRate); - - const resampleRatio = sampleRate / buffer.sampleRate; - const resampledLength = Math.floor(sourceLengthSamples * resampleRatio); + const renderedLength = Math.ceil(elementDuration * sampleRate); const outputChannels = 2; for (let channel = 0; channel < outputChannels; channel++) { @@ -547,14 +717,29 @@ function mixAudioChannels({ const sourceChannel = Math.min(channel, buffer.numberOfChannels - 1); const sourceData = buffer.getChannelData(sourceChannel); - for (let i = 0; i < resampledLength; i++) { + for (let i = 0; i < renderedLength; i++) { const outputIndex = outputStartSample + i; if (outputIndex >= outputLength) break; - const sourceIndex = sourceStartSample + Math.floor(i / resampleRatio); + const clipTime = i / sampleRate; + const sourceTime = + trimStart + getSourceTimeAtClipTime({ clipTime, retime }); + const sourceIndex = sourceTime * buffer.sampleRate; if (sourceIndex >= sourceData.length) break; - outputData[outputIndex] += sourceData[sourceIndex]; + const lowerIndex = Math.floor(sourceIndex); + const upperIndex = Math.min(sourceData.length - 1, lowerIndex + 1); + const fraction = sourceIndex - lowerIndex; + const gain = hasAnimatedVolume({ element: element.timelineElement }) + ? resolveEffectiveAudioGain({ + element: element.timelineElement, + localTime: clipTime, + }) + : element.volume; + outputData[outputIndex] += + (sourceData[lowerIndex] * (1 - fraction) + + sourceData[upperIndex] * fraction) * + gain; } } } diff --git a/apps/web/src/lib/media/media-utils.ts b/apps/web/src/lib/media/media-utils.ts index 4b487bf2..52c08f0c 100644 --- a/apps/web/src/lib/media/media-utils.ts +++ b/apps/web/src/lib/media/media-utils.ts @@ -1,4 +1,4 @@ -import type { MediaAsset, MediaType } from "@/types/assets"; +import type { MediaAsset, MediaType } from "@/lib/media/types"; export const SUPPORTS_AUDIO: readonly MediaType[] = ["audio", "video"]; diff --git a/apps/web/src/lib/media/mediabunny.ts b/apps/web/src/lib/media/mediabunny.ts index 11fe9837..c2d1d7f3 100644 --- a/apps/web/src/lib/media/mediabunny.ts +++ b/apps/web/src/lib/media/mediabunny.ts @@ -1,7 +1,7 @@ -import { Input, ALL_FORMATS, BlobSource, AudioBufferSink } from "mediabunny"; -import { collectAudioMixSources } from "@/lib/media/audio"; -import type { TimelineTrack } from "@/types/timeline"; -import type { MediaAsset } from "@/types/assets"; +import { Input, ALL_FORMATS, BlobSource } from "mediabunny"; +import { createTimelineAudioBuffer } from "@/lib/media/audio"; +import type { TimelineTrack } from "@/lib/timeline"; +import type { MediaAsset } from "@/lib/media/types"; export async function getVideoInfo({ videoFile, @@ -12,6 +12,7 @@ export async function getVideoInfo({ width: number; height: number; fps: number; + hasAudio: boolean; }> { const input = new Input({ source: new BlobSource(videoFile), @@ -27,12 +28,14 @@ export async function getVideoInfo({ const packetStats = await videoTrack.computePacketStats(100); const fps = packetStats.averagePacketRate; + const audioTrack = await input.getPrimaryAudioTrack(); return { duration, width: videoTrack.displayWidth, height: videoTrack.displayHeight, fps, + hasAudio: audioTrack !== null, }; } @@ -54,12 +57,16 @@ export const extractTimelineAudio = async ({ return createWavBlob({ samples: new Float32Array(SAMPLE_RATE * 0.1) }); } - const audioMixSources = await collectAudioMixSources({ + onProgress?.(10); + + const audioBuffer = await createTimelineAudioBuffer({ tracks, mediaAssets, + duration: totalDuration, + sampleRate: SAMPLE_RATE, }); - if (audioMixSources.length === 0) { + if (!audioBuffer) { const silentDuration = Math.max(1, totalDuration); const silentSamples = new Float32Array( Math.ceil(silentDuration * SAMPLE_RATE) * NUM_CHANNELS, @@ -67,108 +74,33 @@ export const extractTimelineAudio = async ({ return createWavBlob({ samples: silentSamples }); } - const totalSamples = Math.ceil(totalDuration * SAMPLE_RATE); - const mixBuffers = [ - new Float32Array(totalSamples), - new Float32Array(totalSamples), - ]; - - for (let i = 0; i < audioMixSources.length; i++) { - const source = audioMixSources[i]; - - if (onProgress) { - onProgress((i / audioMixSources.length) * 90); - } - - try { - await decodeAndMixAudioSource({ - source, - mixBuffers, - totalSamples, - }); - } catch (error) { - console.warn( - `Failed to process audio source ${source.file.name}:`, - error, - ); - } - } - - // clamp to prevent clipping - for (const channel of mixBuffers) { - for (let i = 0; i < channel.length; i++) { - channel[i] = Math.max(-1, Math.min(1, channel[i])); - } - } + onProgress?.(90); - // interleave channels for wav output - const interleavedSamples = new Float32Array(totalSamples * NUM_CHANNELS); - for (let i = 0; i < totalSamples; i++) { - interleavedSamples[i * 2] = mixBuffers[0][i]; - interleavedSamples[i * 2 + 1] = mixBuffers[1][i]; - } - - if (onProgress) { - onProgress(100); - } + const interleavedSamples = interleaveAudioBuffer({ audioBuffer }); + onProgress?.(100); return createWavBlob({ samples: interleavedSamples }); }; -async function decodeAndMixAudioSource({ - source, - mixBuffers, - totalSamples, +function interleaveAudioBuffer({ + audioBuffer, }: { - source: { - file: File; - startTime: number; - duration: number; - trimStart: number; - }; - mixBuffers: Float32Array[]; - totalSamples: number; -}): Promise<void> { - const input = new Input({ - source: new BlobSource(source.file), - formats: ALL_FORMATS, - }); - - const audioTrack = await input.getPrimaryAudioTrack(); - if (!audioTrack) return; - - const sink = new AudioBufferSink(audioTrack); - const trimEnd = source.trimStart + source.duration; + audioBuffer: AudioBuffer; +}): Float32Array { + const numChannels = Math.min(NUM_CHANNELS, audioBuffer.numberOfChannels); + const interleavedSamples = new Float32Array( + audioBuffer.length * NUM_CHANNELS, + ); - for await (const { buffer, timestamp } of sink.buffers( - source.trimStart, - trimEnd, - )) { - const relativeTime = timestamp - source.trimStart; - const outputStartSample = Math.floor( - (source.startTime + relativeTime) * SAMPLE_RATE, - ); - - // resample if needed - const resampleRatio = SAMPLE_RATE / buffer.sampleRate; - - for (let ch = 0; ch < NUM_CHANNELS; ch++) { - const sourceChannel = Math.min(ch, buffer.numberOfChannels - 1); - const channelData = buffer.getChannelData(sourceChannel); - const outputChannel = mixBuffers[ch]; - - const resampledLength = Math.floor(channelData.length * resampleRatio); - for (let i = 0; i < resampledLength; i++) { - const outputIdx = outputStartSample + i; - if (outputIdx < 0 || outputIdx >= totalSamples) continue; - - const sourceIdx = Math.floor(i / resampleRatio); - if (sourceIdx < channelData.length) { - outputChannel[outputIdx] += channelData[sourceIdx]; - } - } + for (let sampleIndex = 0; sampleIndex < audioBuffer.length; sampleIndex++) { + for (let channel = 0; channel < NUM_CHANNELS; channel++) { + const sourceChannel = Math.min(channel, Math.max(0, numChannels - 1)); + interleavedSamples[sampleIndex * NUM_CHANNELS + channel] = + audioBuffer.getChannelData(sourceChannel)[sampleIndex] ?? 0; } } + + return interleavedSamples; } function createWavBlob({ samples }: { samples: Float32Array }): Blob { diff --git a/apps/web/src/lib/media/processing.ts b/apps/web/src/lib/media/processing.ts index fbe29acd..547e7ed8 100644 --- a/apps/web/src/lib/media/processing.ts +++ b/apps/web/src/lib/media/processing.ts @@ -1,14 +1,34 @@ +import { Input, ALL_FORMATS, BlobSource, VideoSampleSink } from "mediabunny"; import { toast } from "sonner"; -import type { MediaAsset } from "@/types/assets"; import { getMediaTypeFromFile } from "@/lib/media/media-utils"; +import { formatStorageBytes } from "@/services/storage/quota"; +import { storageService } from "@/services/storage/service"; +import type { MediaAsset } from "@/lib/media/types"; import { getVideoInfo } from "./mediabunny"; -import { Input, ALL_FORMATS, BlobSource, VideoSampleSink } from "mediabunny"; export interface ProcessedMediaAsset extends Omit<MediaAsset, "id"> {} const THUMBNAIL_MAX_WIDTH = 1280; const THUMBNAIL_MAX_HEIGHT = 720; +const getStorageLimitDescription = ({ + fileSize, + availableBytes, +}: { + fileSize: number; + availableBytes: number | null; +}): string => { + const fileSizeLabel = formatStorageBytes({ bytes: fileSize }); + + if (availableBytes === null) { + return `File size is ${fileSizeLabel}.`; + } + + return `File size is ${fileSizeLabel}, but only ${formatStorageBytes({ + bytes: availableBytes, + })} is safely available in browser storage.`; +}; + const getThumbnailSize = ({ width, height, @@ -63,7 +83,7 @@ const renderToThumbnailDataUrl = ({ return canvas.toDataURL("image/jpeg", 0.8); }; -export async function generateThumbnail({ +async function generateThumbnail({ videoFile, timeInSeconds, }: { @@ -106,25 +126,29 @@ export async function generateThumbnail({ } } -export async function generateImageThumbnail({ +async function generateImageThumbnail({ imageFile, }: { imageFile: File; -}): Promise<string> { +}): Promise<{ thumbnailUrl: string; width: number; height: number }> { return new Promise((resolve, reject) => { const image = new window.Image(); const objectUrl = URL.createObjectURL(imageFile); image.addEventListener("load", () => { try { - const dataUrl = renderToThumbnailDataUrl({ + const thumbnailUrl = renderToThumbnailDataUrl({ width: image.naturalWidth, height: image.naturalHeight, draw: ({ context, width, height }) => { context.drawImage(image, 0, 0, width, height); }, }); - resolve(dataUrl); + resolve({ + thumbnailUrl, + width: image.naturalWidth, + height: image.naturalHeight, + }); } catch (error) { reject( error instanceof Error ? error : new Error("Could not render image"), @@ -166,19 +190,34 @@ export async function processMediaAssets({ continue; } + const storageCheck = await storageService.canStoreFile({ + size: file.size, + }); + + if (!storageCheck.canStore) { + toast.error(`Not enough browser storage for ${file.name}`, { + description: getStorageLimitDescription({ + fileSize: file.size, + availableBytes: storageCheck.availableBytes, + }), + }); + continue; + } + const url = URL.createObjectURL(file); let thumbnailUrl: string | undefined; let duration: number | undefined; let width: number | undefined; let height: number | undefined; let fps: number | undefined; + let hasAudio: boolean | undefined; try { if (fileType === "image") { - const dimensions = await getImageDimensions({ file }); - width = dimensions.width; - height = dimensions.height; - thumbnailUrl = await generateImageThumbnail({ imageFile: file }); + const result = await generateImageThumbnail({ imageFile: file }); + thumbnailUrl = result.thumbnailUrl; + width = result.width; + height = result.height; } else if (fileType === "video") { try { const videoInfo = await getVideoInfo({ videoFile: file }); @@ -188,6 +227,7 @@ export async function processMediaAssets({ fps = Number.isFinite(videoInfo.fps) ? Math.round(videoInfo.fps) : undefined; + hasAudio = videoInfo.hasAudio; thumbnailUrl = await generateThumbnail({ videoFile: file, @@ -211,6 +251,7 @@ export async function processMediaAssets({ width, height, fps, + hasAudio, }); await new Promise((resolve) => setTimeout(resolve, 0)); @@ -230,33 +271,6 @@ export async function processMediaAssets({ return processedAssets; } -const getImageDimensions = ({ - file, -}: { - file: File; -}): Promise<{ width: number; height: number }> => { - return new Promise((resolve, reject) => { - const img = new window.Image(); - const objectUrl = URL.createObjectURL(file); - - img.addEventListener("load", () => { - const width = img.naturalWidth; - const height = img.naturalHeight; - resolve({ width, height }); - URL.revokeObjectURL(objectUrl); - img.remove(); - }); - - img.addEventListener("error", () => { - reject(new Error("Could not load image")); - URL.revokeObjectURL(objectUrl); - img.remove(); - }); - - img.src = objectUrl; - }); -}; - const getMediaDuration = ({ file }: { file: File }): Promise<number> => { return new Promise((resolve, reject) => { const element = document.createElement( diff --git a/apps/web/src/types/assets.ts b/apps/web/src/lib/media/types.ts index c8dddfc7..c8dddfc7 100644 --- a/apps/web/src/types/assets.ts +++ b/apps/web/src/lib/media/types.ts diff --git a/apps/web/src/lib/media/upload-toast.ts b/apps/web/src/lib/media/upload-toast.ts new file mode 100644 index 00000000..e5c5ee28 --- /dev/null +++ b/apps/web/src/lib/media/upload-toast.ts @@ -0,0 +1,51 @@ +import { toast } from "sonner"; + +export interface MediaUploadToastResult { + uploadedCount: number; + assetNames?: string[]; +} + +function getAssetLabel({ count }: { count: number }): string { + return count === 1 ? "media asset" : "media assets"; +} + +function waitForNextPaint(): Promise<void> { + return new Promise((resolve) => { + requestAnimationFrame(() => { + requestAnimationFrame(() => resolve()); + }); + }); +} + +export async function showMediaUploadToast<T extends MediaUploadToastResult>({ + filesCount, + promise, +}: { + filesCount: number; + promise: Promise<T> | (() => Promise<T>); +}) { + const run = typeof promise === "function" ? promise : () => promise; + const toastPromise = toast.promise(async () => { + await waitForNextPaint(); + return run(); + }, { + loading: `Uploading ${getAssetLabel({ count: filesCount })}...`, + success: ({ uploadedCount, assetNames }) => { + if (uploadedCount === 1) { + const assetName = assetNames?.[0]; + return assetName + ? `${assetName} has been uploaded` + : "1 media asset has been uploaded"; + } + + if (uploadedCount > 1) { + return `${uploadedCount} media assets have been uploaded`; + } + + return "No media assets were uploaded"; + }, + error: `Failed to upload ${getAssetLabel({ count: filesCount })}`, + }); + + return toastPromise.unwrap(); +} diff --git a/apps/web/src/lib/params.ts b/apps/web/src/lib/params.ts new file mode 100644 index 00000000..23085407 --- /dev/null +++ b/apps/web/src/lib/params.ts @@ -0,0 +1,50 @@ +export type ParamValues = Record<string, number | string | boolean>; + +export type ParamGroup = "stroke"; + +interface BaseParamDefinition<TKey extends string = string> { + key: TKey; + label: string; + group?: ParamGroup; +} + +export interface NumberParamDefinition<TKey extends string = string> + extends BaseParamDefinition<TKey> { + type: "number"; + default: number; + min: number; + max?: number; + step: number; + /** When set, min/max/step are in display space. display = stored * displayMultiplier. */ + displayMultiplier?: number; + /** Show as percentage of max. min/max/step/default stay in stored space. */ + unit?: "percent"; + /** Short label shown as the scrub handle icon in the number field (e.g. "W", "R"). */ + shortLabel?: string; +} + +export interface BooleanParamDefinition<TKey extends string = string> + extends BaseParamDefinition<TKey> { + type: "boolean"; + default: boolean; +} + +export interface ColorParamDefinition<TKey extends string = string> + extends BaseParamDefinition<TKey> { + type: "color"; + default: string; +} + +export interface SelectParamDefinition<TKey extends string = string> + extends BaseParamDefinition<TKey> { + type: "select"; + default: string; + options: Array<{ value: string; label: string }>; +} + +export type ParamDefinition<TKey extends string = string> = + | NumberParamDefinition<TKey> + | BooleanParamDefinition<TKey> + | ColorParamDefinition<TKey> + | SelectParamDefinition<TKey>; + diff --git a/apps/web/src/lib/preview/element-bounds.ts b/apps/web/src/lib/preview/element-bounds.ts index 08ffbfa8..5c416afc 100644 --- a/apps/web/src/lib/preview/element-bounds.ts +++ b/apps/web/src/lib/preview/element-bounds.ts @@ -1,17 +1,12 @@ -import type { TimelineTrack, TimelineElement } from "@/types/timeline"; -import type { MediaAsset } from "@/types/assets"; +import type { TimelineTrack, TimelineElement } from "@/lib/timeline"; +import type { MediaAsset } from "@/lib/media/types"; import { isMainTrack } from "@/lib/timeline"; -import { - DEFAULT_TEXT_ELEMENT, - DEFAULT_LINE_HEIGHT, - DEFAULT_TEXT_BACKGROUND, - FONT_SIZE_SCALE_REFERENCE, -} from "@/constants/text-constants"; -import { getTextVisualRect, measureTextBlock } from "@/lib/text/layout"; +import { STICKER_INTRINSIC_SIZE_FALLBACK } from "@/constants/sticker-constants"; +import { DEFAULT_GRAPHIC_SOURCE_SIZE } from "@/lib/graphics"; +import { measureTextElement } from "@/lib/text/measure-element"; import { getElementLocalTime, resolveTransformAtTime, - resolveNumberAtTime, } from "@/lib/animation"; export interface ElementBounds { @@ -41,7 +36,8 @@ function getVisualElementBounds({ sourceWidth: number; sourceHeight: number; transform: { - scale: number; + scaleX: number; + scaleY: number; position: { x: number; y: number }; rotate: number; }; @@ -50,8 +46,8 @@ function getVisualElementBounds({ canvasWidth / sourceWidth, canvasHeight / sourceHeight, ); - const scaledWidth = sourceWidth * containScale * transform.scale; - const scaledHeight = sourceHeight * containScale * transform.scale; + const scaledWidth = sourceWidth * containScale * transform.scaleX; + const scaledHeight = sourceHeight * containScale * transform.scaleY; const cx = canvasWidth / 2 + transform.position.x; const cy = canvasHeight / 2 + transform.position.y; @@ -64,7 +60,53 @@ function getVisualElementBounds({ }; } -export function getElementBounds({ +function getTransformedRectBounds({ + canvasWidth, + canvasHeight, + rect, + transform, +}: { + canvasWidth: number; + canvasHeight: number; + rect: { left: number; top: number; width: number; height: number }; + transform: { + scaleX: number; + scaleY: number; + position: { x: number; y: number }; + rotate: number; + }; +}): ElementBounds { + const localCenterX = rect.left + rect.width / 2; + const localCenterY = rect.top + rect.height / 2; + const scaledCenterX = localCenterX * transform.scaleX; + const scaledCenterY = localCenterY * transform.scaleY; + const rotationRad = (transform.rotate * Math.PI) / 180; + const cos = Math.cos(rotationRad); + const sin = Math.sin(rotationRad); + return { + cx: + canvasWidth / 2 + + transform.position.x + + scaledCenterX * cos - + scaledCenterY * sin, + cy: + canvasHeight / 2 + + transform.position.y + + scaledCenterX * sin + + scaledCenterY * cos, + width: rect.width * transform.scaleX, + height: rect.height * transform.scaleY, + rotation: transform.rotate, + }; +} + +/** + * Bounds policy: bounds reflect base content geometry (text glyphs + background, + * sticker/image/video content area) and base transform. Post-effect spill (blur, + * glow) and mask-clipped regions are intentionally excluded — handles manipulate + * the canonical element geometry, not visual effect output. + */ +function getElementBounds({ element, canvasSize, mediaAsset, @@ -106,123 +148,118 @@ export function getElementBounds({ return getVisualElementBounds({ canvasWidth, canvasHeight, - sourceWidth: 200, - sourceHeight: 200, + sourceWidth: element.intrinsicWidth ?? STICKER_INTRINSIC_SIZE_FALLBACK, + sourceHeight: element.intrinsicHeight ?? STICKER_INTRINSIC_SIZE_FALLBACK, transform, }); } - if (element.type === "text") { + if (element.type === "graphic") { const transform = resolveTransformAtTime({ baseTransform: element.transform, animations: element.animations, localTime, }); - const scaledFontSize = - element.fontSize * (canvasHeight / FONT_SIZE_SCALE_REFERENCE); - const letterSpacing = element.letterSpacing ?? 0; - const lineHeight = element.lineHeight ?? DEFAULT_LINE_HEIGHT; - const lineHeightPx = scaledFontSize * lineHeight; + return getVisualElementBounds({ + canvasWidth, + canvasHeight, + sourceWidth: DEFAULT_GRAPHIC_SOURCE_SIZE, + sourceHeight: DEFAULT_GRAPHIC_SOURCE_SIZE, + transform, + }); + } - let measuredWidth = 100; - let measuredHeight = scaledFontSize; + if (element.type === "text") { + const transform = resolveTransformAtTime({ + baseTransform: element.transform, + animations: element.animations, + localTime, + }); const canvas = document.createElement("canvas"); - canvas.width = 4096; - canvas.height = 4096; const ctx = canvas.getContext("2d"); + if (!ctx) return null; - if (ctx) { - const fontWeight = element.fontWeight === "bold" ? "bold" : "normal"; - const fontStyle = element.fontStyle === "italic" ? "italic" : "normal"; - const fontFamily = `"${element.fontFamily.replace(/"/g, '\\"')}"`; - ctx.font = `${fontStyle} ${fontWeight} ${scaledFontSize}px ${fontFamily}, sans-serif`; - ctx.textAlign = element.textAlign as CanvasTextAlign; - if ("letterSpacing" in ctx) { - ( - ctx as CanvasRenderingContext2D & { letterSpacing: string } - ).letterSpacing = `${letterSpacing}px`; - } - - const lines = element.content.split("\n"); - const lineMetrics = lines.map((line) => ctx.measureText(line)); - const block = measureTextBlock({ - lineMetrics, - lineHeightPx, - fallbackFontSize: scaledFontSize, - }); - const fontSizeRatio = element.fontSize / DEFAULT_TEXT_ELEMENT.fontSize; - const resolvedBackground = { - ...element.background, - paddingX: resolveNumberAtTime({ - baseValue: - element.background.paddingX ?? DEFAULT_TEXT_BACKGROUND.paddingX, - animations: element.animations, - propertyPath: "background.paddingX", - localTime, - }), - paddingY: resolveNumberAtTime({ - baseValue: - element.background.paddingY ?? DEFAULT_TEXT_BACKGROUND.paddingY, - animations: element.animations, - propertyPath: "background.paddingY", - localTime, - }), - offsetX: resolveNumberAtTime({ - baseValue: - element.background.offsetX ?? DEFAULT_TEXT_BACKGROUND.offsetX, - animations: element.animations, - propertyPath: "background.offsetX", - localTime, - }), - offsetY: resolveNumberAtTime({ - baseValue: - element.background.offsetY ?? DEFAULT_TEXT_BACKGROUND.offsetY, - animations: element.animations, - propertyPath: "background.offsetY", - localTime, - }), - }; - const visualRect = getTextVisualRect({ - textAlign: element.textAlign, - block, - background: resolvedBackground, - fontSizeRatio, - }); - measuredWidth = visualRect.width; - measuredHeight = visualRect.height; - const localCenterX = visualRect.left + visualRect.width / 2; - const localCenterY = visualRect.top + visualRect.height / 2; - const scaledCenterX = localCenterX * transform.scale; - const scaledCenterY = localCenterY * transform.scale; - const rotationRad = (transform.rotate * Math.PI) / 180; - const cos = Math.cos(rotationRad); - const sin = Math.sin(rotationRad); - const rotatedCenterX = scaledCenterX * cos - scaledCenterY * sin; - const rotatedCenterY = scaledCenterX * sin + scaledCenterY * cos; - return { - cx: canvasWidth / 2 + transform.position.x + rotatedCenterX, - cy: canvasHeight / 2 + transform.position.y + rotatedCenterY, - width: measuredWidth * transform.scale, - height: measuredHeight * transform.scale, - rotation: transform.rotate, - }; - } + const measured = measureTextElement({ + element, + canvasHeight, + localTime, + ctx, + }); - const width = measuredWidth * transform.scale; - const height = measuredHeight * transform.scale; - return { - cx: canvasWidth / 2 + transform.position.x, - cy: canvasHeight / 2 + transform.position.y, - width, - height, - rotation: transform.rotate, - }; + return getTransformedRectBounds({ + canvasWidth, + canvasHeight, + rect: measured.visualRect, + transform, + }); } return null; } +export const ROTATION_HANDLE_OFFSET = 24; + +export type Corner = "top-left" | "top-right" | "bottom-left" | "bottom-right"; +export type Edge = "right" | "left" | "bottom"; + +export function getCornerPosition({ + bounds, + corner, +}: { + bounds: ElementBounds; + corner: Corner; +}): { x: number; y: number } { + const halfW = bounds.width / 2; + const halfH = bounds.height / 2; + const angleRad = (bounds.rotation * Math.PI) / 180; + const cos = Math.cos(angleRad); + const sin = Math.sin(angleRad); + const localX = + corner === "top-left" || corner === "bottom-left" ? -halfW : halfW; + const localY = + corner === "top-left" || corner === "top-right" ? -halfH : halfH; + return { + x: bounds.cx + (localX * cos - localY * sin), + y: bounds.cy + (localX * sin + localY * cos), + }; +} + +export function getEdgeHandlePosition({ + bounds, + edge, +}: { + bounds: ElementBounds; + edge: Edge; +}): { x: number; y: number } { + const halfWidth = bounds.width / 2; + const halfHeight = bounds.height / 2; + const angleRad = (bounds.rotation * Math.PI) / 180; + const cos = Math.cos(angleRad); + const sin = Math.sin(angleRad); + const localX = edge === "right" ? halfWidth : edge === "left" ? -halfWidth : 0; + const localY = edge === "bottom" ? halfHeight : 0; + return { + x: bounds.cx + (localX * cos - localY * sin), + y: bounds.cy + (localX * sin + localY * cos), + }; +} + +export function getRotationHandlePosition({ + bounds, +}: { + bounds: ElementBounds; +}): { x: number; y: number } { + const angleRad = (bounds.rotation * Math.PI) / 180; + const cos = Math.cos(angleRad); + const sin = Math.sin(angleRad); + const localY = -bounds.height / 2 - ROTATION_HANDLE_OFFSET; + return { + x: bounds.cx - localY * sin, + y: bounds.cy + localY * cos, + }; +} + export function getVisibleElementsWithBounds({ tracks, currentTime, diff --git a/apps/web/src/lib/preview/hit-test.ts b/apps/web/src/lib/preview/hit-test.ts index c2fde87b..2552922b 100644 --- a/apps/web/src/lib/preview/hit-test.ts +++ b/apps/web/src/lib/preview/hit-test.ts @@ -1,4 +1,5 @@ import type { ElementWithBounds } from "./element-bounds"; +import type { ElementRef } from "@/lib/timeline/types"; function pointInRotatedRect({ px, @@ -24,14 +25,14 @@ function pointInRotatedRect({ const dy = py - cy; const localX = dx * cos - dy * sin; const localY = dx * sin + dy * cos; - const halfW = width / 2; - const halfH = height / 2; + const halfW = Math.abs(width) / 2; + const halfH = Math.abs(height) / 2; return ( localX >= -halfW && localX <= halfW && localY >= -halfH && localY <= halfH ); } -export function hitTest({ +export function getHitElements({ canvasX, canvasY, elementsWithBounds, @@ -39,7 +40,9 @@ export function hitTest({ canvasX: number; canvasY: number; elementsWithBounds: ElementWithBounds[]; -}): ElementWithBounds | null { +}): ElementWithBounds[] { + const hits: ElementWithBounds[] = []; + for (let i = elementsWithBounds.length - 1; i >= 0; i--) { const { bounds } = elementsWithBounds[i]; if ( @@ -53,8 +56,47 @@ export function hitTest({ rotation: bounds.rotation, }) ) { - return elementsWithBounds[i]; + hits.push(elementsWithBounds[i]); } } - return null; + + return hits; +} + +export function hitTest({ + canvasX, + canvasY, + elementsWithBounds, +}: { + canvasX: number; + canvasY: number; + elementsWithBounds: ElementWithBounds[]; +}): ElementWithBounds | null { + return ( + getHitElements({ + canvasX, + canvasY, + elementsWithBounds, + })[0] ?? null + ); +} + +export function resolvePreferredHit({ + hits, + preferredElements, +}: { + hits: ElementWithBounds[]; + preferredElements: ElementRef[]; +}): ElementWithBounds | null { + if (preferredElements.length === 0) return null; + + return ( + hits.find((hit) => + preferredElements.some( + (preferredElement) => + preferredElement.trackId === hit.trackId && + preferredElement.elementId === hit.elementId, + ), + ) ?? null + ); } diff --git a/apps/web/src/lib/preview/preview-coords.ts b/apps/web/src/lib/preview/preview-coords.ts index dcc87282..64184990 100644 --- a/apps/web/src/lib/preview/preview-coords.ts +++ b/apps/web/src/lib/preview/preview-coords.ts @@ -1,90 +1,101 @@ +export interface PreviewViewportGeometry { + canvasHeight: number; + canvasWidth: number; + centerX: number; + centerY: number; + scale: number; + viewportHeight: number; + viewportWidth: number; +} + +function getCanvasOrigin({ + geometry, +}: { + geometry: PreviewViewportGeometry; +}): { x: number; y: number } { + return { + x: geometry.viewportWidth / 2 - geometry.centerX * geometry.scale, + y: geometry.viewportHeight / 2 - geometry.centerY * geometry.scale, + }; +} + export function screenToCanvas({ clientX, clientY, - canvas, + geometry, + viewportRect, }: { clientX: number; clientY: number; - canvas: HTMLCanvasElement; + geometry: PreviewViewportGeometry; + viewportRect: DOMRect; }): { x: number; y: number } { - const rect = canvas.getBoundingClientRect(); - const scaleX = canvas.width / rect.width; - const scaleY = canvas.height / rect.height; + const overlayX = clientX - viewportRect.left; + const overlayY = clientY - viewportRect.top; + return { - x: (clientX - rect.left) * scaleX, - y: (clientY - rect.top) * scaleY, + x: + geometry.centerX + + (overlayX - geometry.viewportWidth / 2) / geometry.scale, + y: + geometry.centerY + + (overlayY - geometry.viewportHeight / 2) / geometry.scale, }; } export function canvasToOverlay({ canvasX, canvasY, - canvasRect, - containerRect, - canvasSize, + geometry, }: { canvasX: number; canvasY: number; - canvasRect: DOMRect; - containerRect: DOMRect; - canvasSize: { width: number; height: number }; + geometry: PreviewViewportGeometry; }): { x: number; y: number } { - const scaleX = canvasRect.width / canvasSize.width; - const scaleY = canvasRect.height / canvasSize.height; + const canvasOrigin = getCanvasOrigin({ geometry }); + return { - x: canvasRect.left - containerRect.left + canvasX * scaleX, - y: canvasRect.top - containerRect.top + canvasY * scaleY, + x: canvasOrigin.x + canvasX * geometry.scale, + y: canvasOrigin.y + canvasY * geometry.scale, }; } export function positionToOverlay({ positionX, positionY, - canvasRect, - containerRect, - canvasSize, + geometry, }: { positionX: number; positionY: number; - canvasRect: DOMRect; - containerRect: DOMRect; - canvasSize: { width: number; height: number }; + geometry: PreviewViewportGeometry; }): { x: number; y: number } { - const scaleX = canvasRect.width / canvasSize.width; - const scaleY = canvasRect.height / canvasSize.height; - const centerScreenX = - canvasRect.left - containerRect.left + (canvasSize.width / 2) * scaleX; - const centerScreenY = - canvasRect.top - containerRect.top + (canvasSize.height / 2) * scaleY; - return { - x: centerScreenX + positionX * scaleX, - y: centerScreenY + positionY * scaleY, - }; + return canvasToOverlay({ + canvasX: geometry.canvasWidth / 2 + positionX, + canvasY: geometry.canvasHeight / 2 + positionY, + geometry, + }); } export function getDisplayScale({ - canvasRect, - canvasSize, + geometry, }: { - canvasRect: DOMRect; - canvasSize: { width: number; height: number }; + geometry: PreviewViewportGeometry; }): { x: number; y: number } { return { - x: canvasRect.width / canvasSize.width, - y: canvasRect.height / canvasSize.height, + x: geometry.scale, + y: geometry.scale, }; } export function screenPixelsToLogicalThreshold({ - canvas, + geometry, screenPixels, }: { - canvas: HTMLCanvasElement; + geometry: PreviewViewportGeometry; screenPixels: number; }): { x: number; y: number } { - const canvasRect = canvas.getBoundingClientRect(); return { - x: screenPixels * (canvas.width / canvasRect.width), - y: screenPixels * (canvas.height / canvasRect.height), + x: screenPixels / geometry.scale, + y: screenPixels / geometry.scale, }; } diff --git a/apps/web/src/lib/preview/preview-snap.ts b/apps/web/src/lib/preview/preview-snap.ts index 36efc3ce..64220264 100644 --- a/apps/web/src/lib/preview/preview-snap.ts +++ b/apps/web/src/lib/preview/preview-snap.ts @@ -13,15 +13,70 @@ export interface SnapResult { activeLines: SnapLine[]; } +type ScaleEdge = "left" | "right" | "top" | "bottom"; + +export interface ScaleEdgePreference { + left?: boolean; + right?: boolean; + top?: boolean; + bottom?: boolean; +} + +function hasPreferredEdge({ + preferredEdges, + edge, +}: { + preferredEdges?: ScaleEdgePreference; + edge: ScaleEdge; +}): boolean { + return preferredEdges?.[edge] === true; +} + +function pickClosestScaleCandidate<T extends { distance: number; edge: ScaleEdge }>({ + candidates, + preferredEdges, +}: { + candidates: T[]; + preferredEdges?: ScaleEdgePreference; +}): T | null { + if (candidates.length === 0) { + return null; + } + + return candidates.reduce((bestCandidate, candidate) => { + if (candidate.distance < bestCandidate.distance) { + return candidate; + } + if (candidate.distance > bestCandidate.distance) { + return bestCandidate; + } + + const shouldPreferCandidate = hasPreferredEdge({ + preferredEdges, + edge: candidate.edge, + }); + const shouldPreferBestCandidate = hasPreferredEdge({ + preferredEdges, + edge: bestCandidate.edge, + }); + + return shouldPreferCandidate && !shouldPreferBestCandidate + ? candidate + : bestCandidate; + }); +} + export function snapPosition({ proposedPosition, canvasSize, elementSize, + rotation = 0, snapThreshold, }: { proposedPosition: { x: number; y: number }; canvasSize: { width: number; height: number }; elementSize: { width: number; height: number }; + rotation?: number; snapThreshold: { x: number; y: number }; }): SnapResult { const centerX = 0; @@ -31,8 +86,11 @@ export function snapPosition({ const top = -canvasSize.height / 2; const bottom = canvasSize.height / 2; - const halfWidth = elementSize.width / 2; - const halfHeight = elementSize.height / 2; + const rotRad = (rotation * Math.PI) / 180; + const cosR = Math.abs(Math.cos(rotRad)); + const sinR = Math.abs(Math.sin(rotRad)); + const halfWidth = (elementSize.width * cosR + elementSize.height * sinR) / 2; + const halfHeight = (elementSize.width * sinR + elementSize.height * cosR) / 2; const activeLines: SnapLine[] = []; type AxisSnapCandidate = { @@ -59,8 +117,8 @@ export function snapPosition({ ); } - const verticalTargets = [left, centerX, right]; - const horizontalTargets = [top, centerY, bottom]; + const verticalTargets = [centerX, left, right]; + const horizontalTargets = [centerY, top, bottom]; const xCandidates: AxisSnapCandidate[] = []; for (const targetX of verticalTargets) { @@ -133,15 +191,19 @@ export function snapScale({ position, baseWidth, baseHeight, + rotation = 0, canvasSize, snapThreshold, + preferredEdges, }: { proposedScale: number; position: { x: number; y: number }; baseWidth: number; baseHeight: number; + rotation?: number; canvasSize: { width: number; height: number }; snapThreshold: { x: number; y: number }; + preferredEdges?: ScaleEdgePreference; }): ScaleSnapResult { const centerX = 0; const centerY = 0; @@ -150,15 +212,22 @@ export function snapScale({ const top = -canvasSize.height / 2; const bottom = canvasSize.height / 2; - const leftEdge = position.x - (baseWidth * proposedScale) / 2; - const rightEdge = position.x + (baseWidth * proposedScale) / 2; - const topEdge = position.y - (baseHeight * proposedScale) / 2; - const bottomEdge = position.y + (baseHeight * proposedScale) / 2; + const rotRad = (rotation * Math.PI) / 180; + const cosR = Math.abs(Math.cos(rotRad)); + const sinR = Math.abs(Math.sin(rotRad)); + const aabbBaseHalfW = (baseWidth * cosR + baseHeight * sinR) / 2; + const aabbBaseHalfH = (baseWidth * sinR + baseHeight * cosR) / 2; + + const leftEdge = position.x - aabbBaseHalfW * proposedScale; + const rightEdge = position.x + aabbBaseHalfW * proposedScale; + const topEdge = position.y - aabbBaseHalfH * proposedScale; + const bottomEdge = position.y + aabbBaseHalfH * proposedScale; interface SnapCandidate { scale: number; distance: number; lines: SnapLine[]; + edge: ScaleEdge; } const candidates: SnapCandidate[] = []; @@ -175,23 +244,25 @@ export function snapScale({ for (const target of verticalTargets) { const distanceLeft = Math.abs(leftEdge - target.position); if (distanceLeft <= snapThreshold.x) { - const scale = (2 * (position.x - target.position)) / baseWidth; - if (scale > MIN_SCALE) { + const scale = (position.x - target.position) / aabbBaseHalfW; + if (Math.abs(scale) > MIN_SCALE) { candidates.push({ scale, distance: distanceLeft, lines: [target.line], + edge: "left", }); } } const distanceRight = Math.abs(rightEdge - target.position); if (distanceRight <= snapThreshold.x) { - const scale = (2 * (target.position - position.x)) / baseWidth; - if (scale > MIN_SCALE) { + const scale = (target.position - position.x) / aabbBaseHalfW; + if (Math.abs(scale) > MIN_SCALE) { candidates.push({ scale, distance: distanceRight, lines: [target.line], + edge: "right", }); } } @@ -212,40 +283,42 @@ export function snapScale({ for (const target of horizontalTargets) { const distanceTop = Math.abs(topEdge - target.position); if (distanceTop <= snapThreshold.y) { - const scale = (2 * (position.y - target.position)) / baseHeight; - if (scale > MIN_SCALE) { + const scale = (position.y - target.position) / aabbBaseHalfH; + if (Math.abs(scale) > MIN_SCALE) { candidates.push({ scale, distance: distanceTop, lines: [target.line], + edge: "top", }); } } const distanceBottom = Math.abs(bottomEdge - target.position); if (distanceBottom <= snapThreshold.y) { - const scale = (2 * (target.position - position.y)) / baseHeight; - if (scale > MIN_SCALE) { + const scale = (target.position - position.y) / aabbBaseHalfH; + if (Math.abs(scale) > MIN_SCALE) { candidates.push({ scale, distance: distanceBottom, lines: [target.line], + edge: "bottom", }); } } } - if (candidates.length === 0) { + const best = pickClosestScaleCandidate({ + candidates, + preferredEdges, + }); + if (!best) { return { snappedScale: proposedScale, activeLines: [] }; } - const best = candidates.reduce((acc, candidate) => - candidate.distance < acc.distance ? candidate : acc, - ); - - const snappedLeft = position.x - (baseWidth * best.scale) / 2; - const snappedRight = position.x + (baseWidth * best.scale) / 2; - const snappedTop = position.y - (baseHeight * best.scale) / 2; - const snappedBottom = position.y + (baseHeight * best.scale) / 2; + const snappedLeft = position.x - aabbBaseHalfW * best.scale; + const snappedRight = position.x + aabbBaseHalfW * best.scale; + const snappedTop = position.y - aabbBaseHalfH * best.scale; + const snappedBottom = position.y + aabbBaseHalfH * best.scale; const activeLines: SnapLine[] = []; const seenKeys = new Set<string>(); @@ -260,16 +333,26 @@ export function snapScale({ for (const target of verticalTargets) { if ( - Math.abs(snappedLeft - target.position) <= 1 || - Math.abs(snappedRight - target.position) <= 1 + (hasPreferredEdge({ preferredEdges, edge: "left" }) && + Math.abs(snappedLeft - target.position) <= 1) || + (hasPreferredEdge({ preferredEdges, edge: "right" }) && + Math.abs(snappedRight - target.position) <= 1) || + (!preferredEdges && + (Math.abs(snappedLeft - target.position) <= 1 || + Math.abs(snappedRight - target.position) <= 1)) ) { addLine({ line: target.line }); } } for (const target of horizontalTargets) { if ( - Math.abs(snappedTop - target.position) <= 1 || - Math.abs(snappedBottom - target.position) <= 1 + (hasPreferredEdge({ preferredEdges, edge: "top" }) && + Math.abs(snappedTop - target.position) <= 1) || + (hasPreferredEdge({ preferredEdges, edge: "bottom" }) && + Math.abs(snappedBottom - target.position) <= 1) || + (!preferredEdges && + (Math.abs(snappedTop - target.position) <= 1 || + Math.abs(snappedBottom - target.position) <= 1)) ) { addLine({ line: target.line }); } @@ -281,6 +364,158 @@ export function snapScale({ }; } +export interface AxisSnapResult { + snappedScale: number; + /** Infinity when no snap candidate was within threshold */ + snapDistance: number; + activeLines: SnapLine[]; +} + +export function snapScaleAxes({ + proposedScaleX, + proposedScaleY, + position, + baseWidth, + baseHeight, + rotation = 0, + canvasSize, + snapThreshold, + preferredEdges, +}: { + proposedScaleX: number; + proposedScaleY: number; + position: { x: number; y: number }; + baseWidth: number; + baseHeight: number; + rotation?: number; + canvasSize: { width: number; height: number }; + snapThreshold: { x: number; y: number }; + preferredEdges?: ScaleEdgePreference; +}): { x: AxisSnapResult; y: AxisSnapResult } { + const canvasLeft = -canvasSize.width / 2; + const canvasRight = canvasSize.width / 2; + const canvasTop = -canvasSize.height / 2; + const canvasBottom = canvasSize.height / 2; + + const rotRad = (rotation * Math.PI) / 180; + const cosR = Math.abs(Math.cos(rotRad)); + const sinR = Math.abs(Math.sin(rotRad)); + const EPSILON = 1e-6; + + // Current AABB edges at proposed scales + const currentAabbHalfW = (baseWidth * proposedScaleX * cosR + baseHeight * proposedScaleY * sinR) / 2; + const currentAabbHalfH = (baseWidth * proposedScaleX * sinR + baseHeight * proposedScaleY * cosR) / 2; + const currentLeftEdge = position.x - currentAabbHalfW; + const currentRightEdge = position.x + currentAabbHalfW; + const currentTopEdge = position.y - currentAabbHalfH; + const currentBottomEdge = position.y + currentAabbHalfH; + + interface Candidate { + scale: number; + distance: number; + line: SnapLine; + edge: ScaleEdge; + } + + function bestCandidate({ + candidates, + proposedScale, + }: { + candidates: Candidate[]; + proposedScale: number; + }): AxisSnapResult { + const best = pickClosestScaleCandidate({ + candidates, + preferredEdges, + }); + if (!best) { + return { snappedScale: proposedScale, snapDistance: Infinity, activeLines: [] }; + } + return { snappedScale: best.scale, snapDistance: best.distance, activeLines: [best.line] }; + } + + // sX candidates: snap via vertical targets (left/right AABB edges) — only valid when cosR ≠0 + // snap via horizontal targets (top/bottom AABB edges) — only valid when sinR ≠0 + const xCandidates: Candidate[] = []; + const yContribW = baseHeight * proposedScaleY * sinR; + const yContribH = baseHeight * proposedScaleY * cosR; + + if (cosR > EPSILON) { + for (const T of [canvasLeft, 0, canvasRight]) { + const line: SnapLine = { type: "vertical", position: T }; + const distLeft = Math.abs(currentLeftEdge - T); + if (distLeft <= snapThreshold.x) { + const scale = (2 * (position.x - T) - yContribW) / (baseWidth * cosR); + if (Math.abs(scale) > MIN_SCALE) xCandidates.push({ scale, distance: distLeft, line, edge: "left" }); + } + const distRight = Math.abs(currentRightEdge - T); + if (distRight <= snapThreshold.x) { + const scale = (2 * (T - position.x) - yContribW) / (baseWidth * cosR); + if (Math.abs(scale) > MIN_SCALE) xCandidates.push({ scale, distance: distRight, line, edge: "right" }); + } + } + } + + if (sinR > EPSILON) { + for (const T of [canvasTop, 0, canvasBottom]) { + const line: SnapLine = { type: "horizontal", position: T }; + const distTop = Math.abs(currentTopEdge - T); + if (distTop <= snapThreshold.y) { + const scale = (2 * (position.y - T) - yContribH) / (baseWidth * sinR); + if (Math.abs(scale) > MIN_SCALE) xCandidates.push({ scale, distance: distTop, line, edge: "top" }); + } + const distBottom = Math.abs(currentBottomEdge - T); + if (distBottom <= snapThreshold.y) { + const scale = (2 * (T - position.y) - yContribH) / (baseWidth * sinR); + if (Math.abs(scale) > MIN_SCALE) xCandidates.push({ scale, distance: distBottom, line, edge: "bottom" }); + } + } + } + + // sY candidates: snap via vertical targets — only valid when sinR ≠0 + // snap via horizontal targets — only valid when cosR ≠0 + const yCandidates: Candidate[] = []; + const xContribW = baseWidth * proposedScaleX * cosR; + const xContribH = baseWidth * proposedScaleX * sinR; + + if (sinR > EPSILON) { + for (const T of [canvasLeft, 0, canvasRight]) { + const line: SnapLine = { type: "vertical", position: T }; + const distLeft = Math.abs(currentLeftEdge - T); + if (distLeft <= snapThreshold.x) { + const scale = (2 * (position.x - T) - xContribW) / (baseHeight * sinR); + if (Math.abs(scale) > MIN_SCALE) yCandidates.push({ scale, distance: distLeft, line, edge: "left" }); + } + const distRight = Math.abs(currentRightEdge - T); + if (distRight <= snapThreshold.x) { + const scale = (2 * (T - position.x) - xContribW) / (baseHeight * sinR); + if (Math.abs(scale) > MIN_SCALE) yCandidates.push({ scale, distance: distRight, line, edge: "right" }); + } + } + } + + if (cosR > EPSILON) { + for (const T of [canvasTop, 0, canvasBottom]) { + const line: SnapLine = { type: "horizontal", position: T }; + const distTop = Math.abs(currentTopEdge - T); + if (distTop <= snapThreshold.y) { + const scale = (2 * (position.y - T) - xContribH) / (baseHeight * cosR); + if (Math.abs(scale) > MIN_SCALE) yCandidates.push({ scale, distance: distTop, line, edge: "top" }); + } + const distBottom = Math.abs(currentBottomEdge - T); + if (distBottom <= snapThreshold.y) { + const scale = (2 * (T - position.y) - xContribH) / (baseHeight * cosR); + if (Math.abs(scale) > MIN_SCALE) yCandidates.push({ scale, distance: distBottom, line, edge: "bottom" }); + } + } + } + + return { + x: bestCandidate({ candidates: xCandidates, proposedScale: proposedScaleX }), + y: bestCandidate({ candidates: yCandidates, proposedScale: proposedScaleY }), + }; +} + export interface RotationSnapResult { snappedRotation: number; isSnapped: boolean; diff --git a/apps/web/src/types/project.ts b/apps/web/src/lib/project/types.ts index c8074c26..734c3835 100644 --- a/apps/web/src/types/project.ts +++ b/apps/web/src/lib/project/types.ts @@ -1,4 +1,4 @@ -import type { TScene } from "./timeline"; +import type { TScene } from "@/lib/timeline/types"; export type TBackground = | { @@ -27,6 +27,8 @@ export interface TProjectMetadata { export interface TProjectSettings { fps: number; canvasSize: TCanvasSize; + canvasSizeMode?: "preset" | "custom"; + lastCustomCanvasSize?: TCanvasSize | null; originalCanvasSize?: TCanvasSize | null; background: TBackground; } diff --git a/apps/web/src/lib/registry.ts b/apps/web/src/lib/registry.ts new file mode 100644 index 00000000..433feae7 --- /dev/null +++ b/apps/web/src/lib/registry.ts @@ -0,0 +1,40 @@ +import type { ParamDefinition, ParamValues } from "@/lib/params"; + +export function buildDefaultParamValues( + params: ParamDefinition[], +): ParamValues { + const values: ParamValues = {}; + for (const param of params) { + values[param.key] = param.default; + } + return values; +} + +export class DefinitionRegistry<TKey extends string, TDefinition> { + private definitions = new Map<TKey, TDefinition>(); + private entityName: string; + + constructor(entityName: string) { + this.entityName = entityName; + } + + register(key: TKey, definition: TDefinition): void { + this.definitions.set(key, definition); + } + + has(key: TKey): boolean { + return this.definitions.has(key); + } + + get(key: TKey): TDefinition { + const def = this.definitions.get(key); + if (!def) { + throw new Error(`Unknown ${this.entityName}: ${key}`); + } + return def; + } + + getAll(): TDefinition[] { + return Array.from(this.definitions.values()); + } +} diff --git a/apps/web/src/types/rendering.ts b/apps/web/src/lib/rendering.ts index 8c9763df..d16296e2 100644 --- a/apps/web/src/types/rendering.ts +++ b/apps/web/src/lib/rendering.ts @@ -1,5 +1,6 @@ export interface Transform { - scale: number; + scaleX: number; + scaleY: number; position: { x: number; y: number; diff --git a/apps/web/src/lib/retime/__tests__/resolve.test.ts b/apps/web/src/lib/retime/__tests__/resolve.test.ts new file mode 100644 index 00000000..4fcf6249 --- /dev/null +++ b/apps/web/src/lib/retime/__tests__/resolve.test.ts @@ -0,0 +1,61 @@ +import { describe, expect, test } from "bun:test"; +import { + getClipTimeAtSourceTime, + getEffectiveRateAt, + getSourceTimeAtClipTime, + getTimelineDurationForSourceSpan, +} from "@/lib/retime"; +import type { RetimeConfig } from "@/lib/timeline"; + +const twoX: RetimeConfig = { rate: 2 }; +const halfX: RetimeConfig = { rate: 0.5 }; + +describe("retime resolve", () => { + test("maps clip time to source time at 2x speed", () => { + expect(getSourceTimeAtClipTime({ clipTime: 5, retime: twoX })).toBe(10); + }); + + test("maps clip time to source time at 0.5x speed", () => { + expect(getSourceTimeAtClipTime({ clipTime: 4, retime: halfX })).toBe(2); + }); + + test("returns clip time unchanged when no retime", () => { + expect(getSourceTimeAtClipTime({ clipTime: 7 })).toBe(7); + }); + + test("inverts source time back to clip time at 2x speed", () => { + expect(getClipTimeAtSourceTime({ sourceTime: 10, retime: twoX })).toBe(5); + }); + + test("returns effective rate", () => { + expect(getEffectiveRateAt({ retime: twoX })).toBe(2); + expect(getEffectiveRateAt({})).toBe(1); + }); + + test("derives timeline duration for a visible source span", () => { + expect( + getTimelineDurationForSourceSpan({ sourceSpan: 10, retime: twoX }), + ).toBe(5); + expect( + getTimelineDurationForSourceSpan({ sourceSpan: 10, retime: halfX }), + ).toBe(20); + }); + + test("clamps invalid rates to 1", () => { + expect(getSourceTimeAtClipTime({ clipTime: 5, retime: { rate: 0 } })).toBe( + 5, + ); + expect( + getSourceTimeAtClipTime({ clipTime: 5, retime: { rate: -1 } }), + ).toBe(5); + }); + + test("caps retime rates above 5x", () => { + expect(getSourceTimeAtClipTime({ clipTime: 5, retime: { rate: 100 } })).toBe( + 25, + ); + expect( + getTimelineDurationForSourceSpan({ sourceSpan: 10, retime: { rate: 100 } }), + ).toBe(2); + }); +}); diff --git a/apps/web/src/lib/retime/__tests__/split.test.ts b/apps/web/src/lib/retime/__tests__/split.test.ts new file mode 100644 index 00000000..0ce532a1 --- /dev/null +++ b/apps/web/src/lib/retime/__tests__/split.test.ts @@ -0,0 +1,31 @@ +import { describe, expect, test } from "bun:test"; +import { + getSourceSpanAtClipTime, + splitRetimeAtClipTime, +} from "@/lib/retime"; +import type { RetimeConfig } from "@/lib/timeline"; + +describe("retime split", () => { + test("measures source span at a clip time", () => { + const retime: RetimeConfig = { rate: 2 }; + expect(getSourceSpanAtClipTime({ clipTime: 5, retime })).toBe(10); + }); + + test("returns zero for non-positive clip time", () => { + expect(getSourceSpanAtClipTime({ clipTime: 0 })).toBe(0); + expect(getSourceSpanAtClipTime({ clipTime: -1 })).toBe(0); + }); + + test("passes the same retime to both halves when splitting", () => { + const retime: RetimeConfig = { rate: 1.5 }; + const result = splitRetimeAtClipTime({ retime, splitClipTime: 3 }); + expect(result.left).toBe(retime); + expect(result.right).toBe(retime); + }); + + test("returns undefined on both sides when no retime", () => { + const result = splitRetimeAtClipTime({ splitClipTime: 3 }); + expect(result.left).toBeUndefined(); + expect(result.right).toBeUndefined(); + }); +}); diff --git a/apps/web/src/lib/retime/audio-stretch.ts b/apps/web/src/lib/retime/audio-stretch.ts new file mode 100644 index 00000000..51ef38d0 --- /dev/null +++ b/apps/web/src/lib/retime/audio-stretch.ts @@ -0,0 +1,182 @@ +import { PitchShifter } from "soundtouchjs"; +import { clampRetimeRate, shouldMaintainPitch } from "@/constants/retime-constants"; +import type { RetimeConfig } from "@/lib/timeline"; +import { getSourceTimeAtClipTime } from "./resolve"; + +const RATE_EPSILON = 1e-6; + +function sampleLinear({ + channelData, + position, +}: { + channelData: Float32Array; + position: number; +}): number { + if (position <= 0) { + return channelData[0] ?? 0; + } + const lower = Math.floor(position); + const upper = Math.min(channelData.length - 1, lower + 1); + if (lower >= channelData.length) { + return 0; + } + const fraction = position - lower; + return channelData[lower] * (1 - fraction) + channelData[upper] * fraction; +} + +function buildResampledBuffer({ + audioContext, + sourceBuffer, + trimStart, + clipDuration, + targetSampleRate, + retime, +}: { + audioContext: BaseAudioContext; + sourceBuffer: AudioBuffer; + trimStart: number; + clipDuration: number; + targetSampleRate: number; + retime?: RetimeConfig; +}): AudioBuffer { + const outputLength = Math.max(1, Math.ceil(clipDuration * targetSampleRate)); + const numChannels = Math.max(1, Math.min(2, sourceBuffer.numberOfChannels)); + const outputBuffer = audioContext.createBuffer( + numChannels, + outputLength, + targetSampleRate, + ); + + for (let channel = 0; channel < numChannels; channel++) { + const sourceData = sourceBuffer.getChannelData( + Math.min(channel, sourceBuffer.numberOfChannels - 1), + ); + const outputData = outputBuffer.getChannelData(channel); + + for (let i = 0; i < outputLength; i++) { + const clipTime = i / targetSampleRate; + const sourceTime = + trimStart + getSourceTimeAtClipTime({ clipTime, retime }); + outputData[i] = sampleLinear({ + channelData: sourceData, + position: sourceTime * sourceBuffer.sampleRate, + }); + } + } + + return outputBuffer; +} + +async function buildPitchPreservedBuffer({ + sourceBuffer, + trimStart, + clipDuration, + rate, + targetSampleRate, +}: { + sourceBuffer: AudioBuffer; + trimStart: number; + clipDuration: number; + rate: number; + targetSampleRate: number; +}): Promise<AudioBuffer> { + const nativeSampleRate = sourceBuffer.sampleRate; + const sourceDuration = clipDuration * rate; + const startSample = Math.max(0, Math.floor(trimStart * nativeSampleRate)); + const numSourceSamples = Math.max( + 1, + Math.ceil(sourceDuration * nativeSampleRate), + ); + const available = Math.max(0, sourceBuffer.length - startSample); + const actualSamples = Math.max(1, Math.min(numSourceSamples, available)); + const numChannels = Math.max(1, Math.min(2, sourceBuffer.numberOfChannels)); + + // Resample to targetSampleRate first — soundtouchjs reads raw channel data + // and does not respect the source buffer's native sample rate. + const resampledLength = Math.max( + 1, + Math.ceil(sourceDuration * targetSampleRate), + ); + const resampleCtx = new OfflineAudioContext( + numChannels, + resampledLength, + targetSampleRate, + ); + const nativeBuffer = resampleCtx.createBuffer( + numChannels, + actualSamples, + nativeSampleRate, + ); + + for (let ch = 0; ch < numChannels; ch++) { + const src = sourceBuffer.getChannelData( + Math.min(ch, sourceBuffer.numberOfChannels - 1), + ); + nativeBuffer.copyToChannel( + src.subarray(startSample, startSample + actualSamples), + ch, + ); + } + + const resampleSourceNode = resampleCtx.createBufferSource(); + resampleSourceNode.buffer = nativeBuffer; + resampleSourceNode.connect(resampleCtx.destination); + resampleSourceNode.start(0); + const resampledBuffer = await resampleCtx.startRendering(); + + const outputSamples = Math.max( + 1, + Math.ceil(clipDuration * targetSampleRate), + ); + const stretchCtx = new OfflineAudioContext( + numChannels, + outputSamples, + targetSampleRate, + ); + const shifter = new PitchShifter(stretchCtx, resampledBuffer, 4096); + shifter.tempo = rate; + shifter.pitch = 1; + shifter.connect(stretchCtx.destination); + return stretchCtx.startRendering(); +} + +export async function renderRetimedBuffer({ + audioContext, + sourceBuffer, + trimStart, + clipDuration, + retime, + maintainPitch = false, +}: { + audioContext: BaseAudioContext; + sourceBuffer: AudioBuffer; + trimStart: number; + clipDuration: number; + retime?: RetimeConfig; + maintainPitch?: boolean; +}): Promise<AudioBuffer> { + const targetSampleRate = audioContext.sampleRate; + const rate = clampRetimeRate({ rate: retime?.rate ?? 1 }); + const usePitchPreservation = + shouldMaintainPitch({ rate, maintainPitch }) && + Math.abs(rate - 1) > RATE_EPSILON; + + if (usePitchPreservation) { + return buildPitchPreservedBuffer({ + sourceBuffer, + trimStart, + clipDuration, + rate, + targetSampleRate, + }); + } + + return buildResampledBuffer({ + audioContext, + sourceBuffer, + trimStart, + clipDuration, + targetSampleRate, + retime, + }); +} diff --git a/apps/web/src/lib/retime/index.ts b/apps/web/src/lib/retime/index.ts new file mode 100644 index 00000000..4915c203 --- /dev/null +++ b/apps/web/src/lib/retime/index.ts @@ -0,0 +1,4 @@ +export * from "./audio-stretch"; +export * from "./presets"; +export * from "./resolve"; +export * from "./split"; diff --git a/apps/web/src/lib/retime/presets.ts b/apps/web/src/lib/retime/presets.ts new file mode 100644 index 00000000..382320b0 --- /dev/null +++ b/apps/web/src/lib/retime/presets.ts @@ -0,0 +1,12 @@ +import type { RetimeConfig } from "@/lib/timeline"; +import { clampRetimeRate } from "@/constants/retime-constants"; + +export function buildConstantRetime({ + rate, + maintainPitch = false, +}: { + rate: number; + maintainPitch?: boolean; +}): RetimeConfig { + return { rate: clampRetimeRate({ rate }), maintainPitch }; +} diff --git a/apps/web/src/lib/retime/resolve.ts b/apps/web/src/lib/retime/resolve.ts new file mode 100644 index 00000000..cfcfb6a2 --- /dev/null +++ b/apps/web/src/lib/retime/resolve.ts @@ -0,0 +1,48 @@ +import type { RetimeConfig } from "@/lib/timeline"; +import { clampRetimeRate } from "@/constants/retime-constants"; + +function getSafeRate({ rate }: { rate: number }): number { + return clampRetimeRate({ rate }); +} + +export function getSourceTimeAtClipTime({ + clipTime, + retime, +}: { + clipTime: number; + retime?: RetimeConfig; +}): number { + return clipTime * getSafeRate({ rate: retime?.rate ?? 1 }); +} + +export function getClipTimeAtSourceTime({ + sourceTime, + retime, +}: { + sourceTime: number; + retime?: RetimeConfig; +}): number { + return sourceTime / getSafeRate({ rate: retime?.rate ?? 1 }); +} + +export function getEffectiveRateAt({ + retime, +}: { + clipTime?: number; + retime?: RetimeConfig; +}): number { + return getSafeRate({ rate: retime?.rate ?? 1 }); +} + +export function getTimelineDurationForSourceSpan({ + sourceSpan, + retime, +}: { + sourceSpan: number; + retime?: RetimeConfig; +}): number { + if (sourceSpan <= 0) { + return 0; + } + return sourceSpan / getSafeRate({ rate: retime?.rate ?? 1 }); +} diff --git a/apps/web/src/lib/retime/split.ts b/apps/web/src/lib/retime/split.ts new file mode 100644 index 00000000..12982292 --- /dev/null +++ b/apps/web/src/lib/retime/split.ts @@ -0,0 +1,34 @@ +import type { RetimeConfig } from "@/lib/timeline"; +import { getSourceTimeAtClipTime } from "./resolve"; + +export function getSourceSpanAtClipTime({ + clipTime, + retime, +}: { + clipTime: number; + retime?: RetimeConfig; +}): number { + return Math.max(0, getSourceTimeAtClipTime({ clipTime, retime })); +} + +export function splitRetimeAtClipTime({ + retime, +}: { + retime?: RetimeConfig; + splitClipTime: number; +}): { + left: RetimeConfig | undefined; + right: RetimeConfig | undefined; +} { + return { left: retime, right: retime }; +} + +export function adjustRetimeForTrimChange({ + retime, +}: { + retime?: RetimeConfig; + clipTrimTime: number; + side: "start" | "end"; +}): RetimeConfig | undefined { + return retime; +} diff --git a/apps/web/src/lib/scenes.ts b/apps/web/src/lib/scenes.ts index 62195669..198116c0 100644 --- a/apps/web/src/lib/scenes.ts +++ b/apps/web/src/lib/scenes.ts @@ -1,4 +1,4 @@ -import type { TScene } from "@/types/timeline"; +import type { TScene } from "@/lib/timeline"; import { generateUUID } from "@/utils/id"; import { calculateTotalDuration } from "@/lib/timeline"; import { ensureMainTrack } from "@/lib/timeline/track-utils"; diff --git a/apps/web/src/lib/selection/constants.ts b/apps/web/src/lib/selection/constants.ts new file mode 100644 index 00000000..a1aee842 --- /dev/null +++ b/apps/web/src/lib/selection/constants.ts @@ -0,0 +1 @@ +export const SELECTABLE_ITEM_ATTRIBUTE = "data-selectable-item"; diff --git a/apps/web/src/lib/selection/context.tsx b/apps/web/src/lib/selection/context.tsx new file mode 100644 index 00000000..ced49c88 --- /dev/null +++ b/apps/web/src/lib/selection/context.tsx @@ -0,0 +1,52 @@ +"use client"; + +import { createContext, useContext } from "react"; + +interface SelectionContextValue { + selectedIds: string[]; + anchorId: string | null; + highlightedId: string | null; + isBoxSelecting: boolean; + isSelected: (id: string) => boolean; + clearSelection: () => void; + handleItemClick: ({ + event, + id, + }: { + event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>; + id: string; + }) => void; + handleItemMouseDown: ({ + event, + id, + }: { + event: React.MouseEvent<HTMLDivElement>; + id: string; + }) => void; + registerItem: (id: string, element: HTMLElement | null) => void; +} + +export const SelectionContext = createContext<SelectionContextValue | null>(null); + +export function useSelectionContext() { + const context = useContext(SelectionContext); + + if (!context) { + throw new Error("useSelectionContext must be used within SelectableSurface"); + } + + return context; +} + +export function useSelection() { + const { selectedIds, anchorId, highlightedId, isSelected, clearSelection } = + useSelectionContext(); + + return { + selectedIds, + anchorId, + highlightedId, + isSelected, + clearSelection, + }; +} diff --git a/apps/web/src/lib/selection/hit-testing.ts b/apps/web/src/lib/selection/hit-testing.ts new file mode 100644 index 00000000..ba086425 --- /dev/null +++ b/apps/web/src/lib/selection/hit-testing.ts @@ -0,0 +1,50 @@ +function isIntersecting({ + selectionRect, + itemRect, +}: { + selectionRect: DOMRect; + itemRect: DOMRect; +}) { + return !( + itemRect.right < selectionRect.left || + itemRect.left > selectionRect.right || + itemRect.bottom < selectionRect.top || + itemRect.top > selectionRect.bottom + ); +} + +function createSelectionRect({ + startPos, + currentPos, +}: { + startPos: { x: number; y: number }; + currentPos: { x: number; y: number }; +}) { + return new DOMRect( + Math.min(startPos.x, currentPos.x), + Math.min(startPos.y, currentPos.y), + Math.abs(currentPos.x - startPos.x), + Math.abs(currentPos.y - startPos.y), + ); +} + +export function resolveElementIntersections({ + startPos, + currentPos, + elements, +}: { + startPos: { x: number; y: number }; + currentPos: { x: number; y: number }; + elements: Map<string, HTMLElement>; +}) { + const selectionRect = createSelectionRect({ startPos, currentPos }); + + return [...elements.entries()] + .filter(([, element]) => + isIntersecting({ + selectionRect, + itemRect: element.getBoundingClientRect(), + }), + ) + .map(([id]) => id); +} diff --git a/apps/web/src/lib/selection/hooks/use-box-select.ts b/apps/web/src/lib/selection/hooks/use-box-select.ts new file mode 100644 index 00000000..5a9a5cd0 --- /dev/null +++ b/apps/web/src/lib/selection/hooks/use-box-select.ts @@ -0,0 +1,170 @@ +"use client"; + +import { useCallback, useEffect, useRef, useState } from "react"; +import type { + BoxSelectionSnapshot, + ResolveIntersections, +} from "@/lib/selection/types"; + +interface SelectionBoxState<TId> extends BoxSelectionSnapshot<TId> { + startPos: { x: number; y: number }; + currentPos: { x: number; y: number }; + isActive: boolean; + isAdditive: boolean; +} + +export function useBoxSelect<TId>({ + containerRef, + resolveIntersections, + selectedIds, + anchorId, + onSelectionChange, + shouldStartSelection, + getIsAdditiveSelection, + isEnabled = true, +}: { + containerRef: React.RefObject<HTMLElement | null>; + resolveIntersections: ResolveIntersections<TId>; + selectedIds: TId[]; + anchorId: TId | null; + onSelectionChange: (state: { + intersectedIds: TId[]; + initialSelectedIds: TId[]; + initialAnchorId: TId | null; + isAdditive: boolean; + }) => void; + shouldStartSelection?: (event: React.MouseEvent<Element>) => boolean; + getIsAdditiveSelection?: (event: React.MouseEvent<Element>) => boolean; + isEnabled?: boolean; +}) { + const [selectionBox, setSelectionBox] = useState<SelectionBoxState<TId> | null>( + null, + ); + const justFinishedSelectingRef = useRef(false); + const shouldStartSelectionCheck = shouldStartSelection ?? (() => true); + const getIsAdditiveSelectionCheck = + getIsAdditiveSelection ?? + ((event: React.MouseEvent<Element>) => event.ctrlKey || event.metaKey); + + const handleMouseDown = useCallback( + (event: React.MouseEvent<Element>) => { + const canStartSelection = shouldStartSelectionCheck(event); + if (!isEnabled || event.button !== 0 || !canStartSelection) { + return; + } + + setSelectionBox({ + startPos: { x: event.clientX, y: event.clientY }, + currentPos: { x: event.clientX, y: event.clientY }, + isActive: false, + isAdditive: getIsAdditiveSelectionCheck(event), + initialSelectedIds: selectedIds, + initialAnchorId: anchorId, + }); + }, + [ + anchorId, + getIsAdditiveSelectionCheck, + isEnabled, + selectedIds, + shouldStartSelectionCheck, + ], + ); + + const updateSelection = useCallback( + ({ + startPos, + currentPos, + isAdditive, + initialSelectedIds, + initialAnchorId, + }: SelectionBoxState<TId>) => { + const intersectedIds = resolveIntersections({ + startPos, + currentPos, + }); + onSelectionChange({ + intersectedIds, + initialSelectedIds, + initialAnchorId, + isAdditive, + }); + }, + [onSelectionChange, resolveIntersections], + ); + + useEffect(() => { + if (!selectionBox) { + return; + } + + const handleMouseMove = ({ clientX, clientY }: MouseEvent) => { + const deltaX = Math.abs(clientX - selectionBox.startPos.x); + const deltaY = Math.abs(clientY - selectionBox.startPos.y); + const nextSelectionBox = { + ...selectionBox, + currentPos: { x: clientX, y: clientY }, + isActive: deltaX > 5 || deltaY > 5 || selectionBox.isActive, + }; + + setSelectionBox(nextSelectionBox); + + if (!nextSelectionBox.isActive) { + return; + } + + updateSelection(nextSelectionBox); + }; + + const handleMouseUp = () => { + if (selectionBox.isActive) { + justFinishedSelectingRef.current = true; + requestAnimationFrame(() => { + justFinishedSelectingRef.current = false; + }); + } + + setSelectionBox(null); + }; + + window.addEventListener("mousemove", handleMouseMove); + window.addEventListener("mouseup", handleMouseUp); + + return () => { + window.removeEventListener("mousemove", handleMouseMove); + window.removeEventListener("mouseup", handleMouseUp); + }; + }, [selectionBox, updateSelection]); + + useEffect(() => { + if (!selectionBox) { + return; + } + + const previousBodyUserSelect = document.body.style.userSelect; + const previousContainerUserSelect = containerRef.current?.style.userSelect ?? ""; + + document.body.style.userSelect = "none"; + if (containerRef.current) { + containerRef.current.style.userSelect = "none"; + } + + return () => { + document.body.style.userSelect = previousBodyUserSelect; + if (containerRef.current) { + containerRef.current.style.userSelect = previousContainerUserSelect; + } + }; + }, [containerRef, selectionBox]); + + const shouldIgnoreClick = useCallback(() => { + return justFinishedSelectingRef.current; + }, []); + + return { + selectionBox, + handleMouseDown, + isSelecting: selectionBox?.isActive ?? false, + shouldIgnoreClick, + }; +} diff --git a/apps/web/src/lib/selection/hooks/use-selection-scope.ts b/apps/web/src/lib/selection/hooks/use-selection-scope.ts new file mode 100644 index 00000000..7ed63815 --- /dev/null +++ b/apps/web/src/lib/selection/hooks/use-selection-scope.ts @@ -0,0 +1,28 @@ +import { useEffect, useRef } from "react"; +import { useSelectionContext } from "@/lib/selection/context"; +import { activateScope, type ScopeEntry } from "@/lib/selection/scope"; + +export function useSelectionScope() { + const { selectedIds, clearSelection } = useSelectionContext(); + const hasSelectionRef = useRef(selectedIds.length > 0); + const clearSelectionRef = useRef(clearSelection); + const hasSelection = selectedIds.length > 0; + + hasSelectionRef.current = hasSelection; + clearSelectionRef.current = clearSelection; + + const entryRef = useRef<ScopeEntry>({ + hasSelection: () => hasSelectionRef.current, + clear: () => { + clearSelectionRef.current(); + }, + }); + + useEffect(() => { + if (!hasSelection) { + return; + } + + return activateScope({ entry: entryRef.current }); + }, [hasSelection]); +} diff --git a/apps/web/src/lib/selection/index.ts b/apps/web/src/lib/selection/index.ts new file mode 100644 index 00000000..b8699ecf --- /dev/null +++ b/apps/web/src/lib/selection/index.ts @@ -0,0 +1,4 @@ +export { SelectableItem } from "@/lib/selection/selectable-item"; +export { SelectableSurface } from "@/lib/selection/selectable-surface"; +export { useSelection } from "@/lib/selection/context"; +export { useSelectionScope } from "@/lib/selection/hooks/use-selection-scope"; diff --git a/apps/web/src/lib/selection/scope.ts b/apps/web/src/lib/selection/scope.ts new file mode 100644 index 00000000..45bf6b56 --- /dev/null +++ b/apps/web/src/lib/selection/scope.ts @@ -0,0 +1,29 @@ +export type ScopeEntry = { + hasSelection: () => boolean; + clear: () => void; +}; + +let activeScope: ScopeEntry | null = null; + +export function activateScope({ entry }: { entry: ScopeEntry }): () => void { + if (activeScope && activeScope !== entry) { + activeScope.clear(); + } + + activeScope = entry; + + return () => { + if (activeScope === entry) { + activeScope = null; + } + }; +} + +export function clearActiveScope(): boolean { + if (!activeScope?.hasSelection()) { + return false; + } + + activeScope.clear(); + return true; +} diff --git a/apps/web/src/lib/selection/selectable-item.tsx b/apps/web/src/lib/selection/selectable-item.tsx new file mode 100644 index 00000000..1d7e74a8 --- /dev/null +++ b/apps/web/src/lib/selection/selectable-item.tsx @@ -0,0 +1,107 @@ +"use client"; + +import { forwardRef, useCallback } from "react"; +import { useSelectionContext } from "@/lib/selection/context"; +import { SELECTABLE_ITEM_ATTRIBUTE } from "@/lib/selection/constants"; +import type { SelectableItemProps } from "@/lib/selection/types"; +import { cn } from "@/utils/ui"; + +function setForwardedRef<T>(ref: React.ForwardedRef<T>, value: T | null) { + if (typeof ref === "function") { + ref(value); + return; + } + + if (ref) { + ref.current = value; + } +} + +export const SelectableItem = forwardRef<HTMLDivElement, SelectableItemProps>( + function SelectableItem( + { + id, + children, + className, + onClick, + onKeyDown, + onMouseDown, + onContextMenu, + tabIndex, + ...rest + }: SelectableItemProps, + forwardedRef, + ) { + const { + highlightedId, + isBoxSelecting, + isSelected, + handleItemClick, + handleItemMouseDown, + registerItem, + } = useSelectionContext(); + const isItemSelected = isSelected(id); + const isItemHighlighted = highlightedId === id; + const stateClassName = cn( + "relative", + isBoxSelecting && "pointer-events-none", + isItemSelected && "ring-1 ring-primary rounded-sm bg-primary/10", + isItemHighlighted && + (isItemSelected + ? "rounded-sm shadow-[0_0_0_1px_hsl(var(--primary))]" + : "ring-1 ring-primary/60 rounded-sm bg-primary/5"), + ); + + const handleRef = useCallback( + (element: HTMLDivElement | null) => { + registerItem(id, element); + setForwardedRef(forwardedRef, element); + }, + [forwardedRef, id, registerItem], + ); + + return ( + <div + ref={handleRef} + className={cn(stateClassName, className)} + {...{ [SELECTABLE_ITEM_ATTRIBUTE]: "true" }} + role="option" + aria-selected={isItemSelected} + tabIndex={tabIndex ?? 0} + onClick={(event) => { + onClick?.(event); + if (event.defaultPrevented) { + return; + } + + handleItemClick({ event, id }); + }} + onMouseDown={(event) => { + onMouseDown?.(event); + if (event.defaultPrevented) { + return; + } + + handleItemMouseDown({ event, id }); + }} + onKeyDown={(event) => { + onKeyDown?.(event); + if (event.defaultPrevented || event.target !== event.currentTarget) { + return; + } + + if (event.key !== "Enter" && event.key !== " ") { + return; + } + + event.preventDefault(); + handleItemClick({ event, id }); + }} + onContextMenu={onContextMenu} + {...rest} + > + {children} + </div> + ); + }, +); diff --git a/apps/web/src/lib/selection/selectable-surface.tsx b/apps/web/src/lib/selection/selectable-surface.tsx new file mode 100644 index 00000000..605b3d18 --- /dev/null +++ b/apps/web/src/lib/selection/selectable-surface.tsx @@ -0,0 +1,288 @@ +"use client"; + +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; +import { SelectionBox } from "@/lib/selection/selection-box"; +import { SelectionContext } from "@/lib/selection/context"; +import { SELECTABLE_ITEM_ATTRIBUTE } from "@/lib/selection/constants"; +import { resolveElementIntersections } from "@/lib/selection/hit-testing"; +import { + applyBoxSelection, + clearSelection, + isSelected as getIsSelected, + pruneSelection, + replaceSelection, + selectRange, + toggleSelection, +} from "@/lib/selection/state"; +import type { + SelectableSurfaceProps, + SelectionState, +} from "@/lib/selection/types"; +import { useBoxSelect } from "@/lib/selection/hooks/use-box-select"; +import { cn } from "@/utils/ui"; + +export function SelectableSurface({ + orderedIds, + children, + className, + ariaLabel = "Selectable items", + revealId = null, + onRevealComplete, + onSelectionChange, +}: SelectableSurfaceProps) { + const [selectionState, setSelectionState] = useState<SelectionState>(() => + clearSelection(), + ); + const [highlightedId, setHighlightedId] = useState<string | null>(null); + const containerRef = useRef<HTMLDivElement>(null); + const itemElementsRef = useRef<Map<string, HTMLElement>>(new Map()); + + const registerItem = useCallback( + (id: string, element: HTMLElement | null) => { + if (element) { + itemElementsRef.current.set(id, element); + } else { + itemElementsRef.current.delete(id); + } + }, + [], + ); + + const getSelectableElements = useCallback(() => { + return itemElementsRef.current; + }, []); + + const getItemElement = useCallback((id: string) => { + return itemElementsRef.current.get(id) ?? null; + }, []); + const shouldStartSelection = useCallback( + (event: React.MouseEvent<Element>) => { + return !( + event.target instanceof Element && + event.target.closest(`[${SELECTABLE_ITEM_ATTRIBUTE}='true']`) + ); + }, + [], + ); + const resolveIntersections = useCallback( + ({ + startPos, + currentPos, + }: { + startPos: { x: number; y: number }; + currentPos: { x: number; y: number }; + }) => { + return resolveElementIntersections({ + startPos, + currentPos, + elements: getSelectableElements(), + }); + }, + [getSelectableElements], + ); + + const clearSelectionState = useCallback(() => { + setSelectionState(clearSelection()); + }, []); + + const selectedIdSet = useMemo( + () => new Set(selectionState.selectedIds), + [selectionState.selectedIds], + ); + + const isSelected = useCallback( + (id: string) => selectedIdSet.has(id), + [selectedIdSet], + ); + + const handleItemClick = useCallback( + ({ + event, + id, + }: { + event: + | React.MouseEvent<HTMLDivElement> + | React.KeyboardEvent<HTMLDivElement>; + id: string; + }) => { + setSelectionState((state) => { + const isToggleSelection = event.ctrlKey || event.metaKey; + + if (event.shiftKey) { + return selectRange({ + state, + orderedIds, + targetId: id, + isAdditive: isToggleSelection, + }); + } + + if (isToggleSelection) { + return toggleSelection({ + state, + id, + }); + } + + return replaceSelection({ + ids: [id], + anchorId: id, + }); + }); + }, + [orderedIds], + ); + + const selectUnselectedItem = useCallback((id: string) => { + setSelectionState((state) => { + if (getIsSelected({ state, id })) { + return state; + } + + return replaceSelection({ ids: [id], anchorId: id }); + }); + }, []); + + const handleItemMouseDown = useCallback( + ({ + event, + id, + }: { + event: React.MouseEvent<HTMLDivElement>; + id: string; + }) => { + if (event.button !== 2) { + return; + } + + selectUnselectedItem(id); + }, + [selectUnselectedItem], + ); + + const handleBoxSelectionChange = useCallback( + (change: Parameters<typeof applyBoxSelection>[0]) => { + setSelectionState(applyBoxSelection(change)); + }, + [], + ); + + const { selectionBox, handleMouseDown, shouldIgnoreClick } = useBoxSelect({ + containerRef, + resolveIntersections, + selectedIds: selectionState.selectedIds, + anchorId: selectionState.anchorId, + onSelectionChange: handleBoxSelectionChange, + shouldStartSelection, + }); + + const handleBackgroundClick = useCallback( + (event: React.MouseEvent<HTMLDivElement>) => { + const clickedSelectableItem = + event.target instanceof Element && + event.target.closest(`[${SELECTABLE_ITEM_ATTRIBUTE}='true']`); + const isIgnoringClick = shouldIgnoreClick(); + if (clickedSelectableItem || isIgnoringClick) { + return; + } + + clearSelectionState(); + }, + [clearSelectionState, shouldIgnoreClick], + ); + + const handleBackgroundKeyDown = useCallback( + (event: React.KeyboardEvent<HTMLDivElement>) => { + if (event.target !== event.currentTarget) { + return; + } + + if (event.key !== "Enter" && event.key !== " " && event.key !== "Escape") { + return; + } + + event.preventDefault(); + clearSelectionState(); + }, + [clearSelectionState], + ); + + useEffect(() => { + setSelectionState((state) => + pruneSelection({ + state, + orderedIds, + }), + ); + }, [orderedIds]); + + useEffect(() => { + onSelectionChange?.(selectionState); + }, [onSelectionChange, selectionState]); + + useEffect(() => { + if (!revealId) { + return; + } + + setHighlightedId(revealId); + getItemElement(revealId)?.scrollIntoView({ block: "center" }); + + const timer = setTimeout(() => { + setHighlightedId(null); + onRevealComplete?.(); + }, 1500); + + return () => clearTimeout(timer); + }, [getItemElement, onRevealComplete, revealId]); + + const isBoxSelecting = selectionBox?.isActive ?? false; + + const contextValue = useMemo(() => { + return { + selectedIds: selectionState.selectedIds, + anchorId: selectionState.anchorId, + highlightedId, + isBoxSelecting, + isSelected, + clearSelection: clearSelectionState, + handleItemClick, + handleItemMouseDown, + registerItem, + }; + }, [ + clearSelectionState, + handleItemClick, + handleItemMouseDown, + highlightedId, + isBoxSelecting, + isSelected, + registerItem, + selectionState.anchorId, + selectionState.selectedIds, + ]); + + return ( + <SelectionContext.Provider value={contextValue}> + <div + ref={containerRef} + className={cn("relative min-h-full", className)} + role="listbox" + aria-label={ariaLabel} + aria-multiselectable="true" + tabIndex={0} + onMouseDown={handleMouseDown} + onClick={handleBackgroundClick} + onKeyDown={handleBackgroundKeyDown} + > + {children} + <SelectionBox + startPos={selectionBox?.startPos ?? null} + currentPos={selectionBox?.currentPos ?? null} + containerRef={containerRef} + isActive={selectionBox?.isActive ?? false} + /> + </div> + </SelectionContext.Provider> + ); +} diff --git a/apps/web/src/components/editor/selection-box.tsx b/apps/web/src/lib/selection/selection-box.tsx index 0b757e36..0b757e36 100644 --- a/apps/web/src/components/editor/selection-box.tsx +++ b/apps/web/src/lib/selection/selection-box.tsx diff --git a/apps/web/src/lib/selection/state.ts b/apps/web/src/lib/selection/state.ts new file mode 100644 index 00000000..b4c454fb --- /dev/null +++ b/apps/web/src/lib/selection/state.ts @@ -0,0 +1,165 @@ +import type { + BoxSelectionChange, + SelectionState, +} from "@/lib/selection/types"; + +function dedupeIds({ ids }: { ids: string[] }) { + return [...new Set(ids)]; +} + +function getRangeIds({ + orderedIds, + anchorId, + targetId, +}: { + orderedIds: string[]; + anchorId: string; + targetId: string; +}) { + const anchorIndex = orderedIds.indexOf(anchorId); + const targetIndex = orderedIds.indexOf(targetId); + + if (anchorIndex === -1 || targetIndex === -1) { + return [targetId]; + } + + const rangeStart = Math.min(anchorIndex, targetIndex); + const rangeEnd = Math.max(anchorIndex, targetIndex); + return orderedIds.slice(rangeStart, rangeEnd + 1); +} + +export function replaceSelection({ + ids, + anchorId, +}: { + ids: string[]; + anchorId?: string | null; +}): SelectionState { + const selectedIds = dedupeIds({ ids }); + return { + selectedIds, + anchorId: anchorId ?? selectedIds[selectedIds.length - 1] ?? null, + }; +} + +export function clearSelection(): SelectionState { + return { + selectedIds: [], + anchorId: null, + }; +} + +export function pruneSelection({ + state, + orderedIds, +}: { + state: SelectionState; + orderedIds: string[]; +}): SelectionState { + const validIds = new Set(orderedIds); + const selectedIds = state.selectedIds.filter((id) => validIds.has(id)); + const anchorId = + state.anchorId && validIds.has(state.anchorId) + ? state.anchorId + : selectedIds[selectedIds.length - 1] ?? null; + const isUnchanged = + selectedIds.length === state.selectedIds.length && + anchorId === state.anchorId; + + if (isUnchanged) { + return state; + } + + return { + selectedIds, + anchorId, + }; +} + +export function isSelected({ + state, + id, +}: { + state: SelectionState; + id: string; +}) { + return state.selectedIds.includes(id); +} + +export function toggleSelection({ + state, + id, +}: { + state: SelectionState; + id: string; +}): SelectionState { + if (isSelected({ state, id })) { + const selectedIds = state.selectedIds.filter((selectedId) => selectedId !== id); + const anchorId = + state.anchorId === id + ? selectedIds[selectedIds.length - 1] ?? null + : state.anchorId; + return replaceSelection({ + ids: selectedIds, + anchorId, + }); + } + + return replaceSelection({ + ids: [...state.selectedIds, id], + anchorId: id, + }); +} + +export function selectRange({ + state, + orderedIds, + targetId, + isAdditive, +}: { + state: SelectionState; + orderedIds: string[]; + targetId: string; + isAdditive: boolean; +}): SelectionState { + const anchorId = + state.anchorId ?? + state.selectedIds[state.selectedIds.length - 1] ?? + targetId; + const rangeIds = getRangeIds({ + orderedIds, + anchorId, + targetId, + }); + const selectedIds = isAdditive + ? dedupeIds({ + ids: [...state.selectedIds, ...rangeIds], + }) + : rangeIds; + + return replaceSelection({ + ids: selectedIds, + anchorId, + }); +} + +export function applyBoxSelection({ + intersectedIds, + initialSelectedIds, + initialAnchorId, + isAdditive, +}: BoxSelectionChange): SelectionState { + const selectedIds = isAdditive + ? dedupeIds({ + ids: [...initialSelectedIds, ...intersectedIds], + }) + : intersectedIds; + const anchorId = isAdditive + ? initialAnchorId ?? intersectedIds[intersectedIds.length - 1] ?? null + : intersectedIds[intersectedIds.length - 1] ?? null; + + return replaceSelection({ + ids: selectedIds, + anchorId, + }); +} diff --git a/apps/web/src/lib/selection/types.ts b/apps/web/src/lib/selection/types.ts new file mode 100644 index 00000000..94fd7abe --- /dev/null +++ b/apps/web/src/lib/selection/types.ts @@ -0,0 +1,39 @@ +export interface SelectionState { + selectedIds: string[]; + anchorId: string | null; +} + +export interface BoxSelectionSnapshot<TId = string> { + initialSelectedIds: TId[]; + initialAnchorId: TId | null; +} + +export interface BoxSelectionChange<TId = string> + extends BoxSelectionSnapshot<TId> { + intersectedIds: TId[]; + isAdditive: boolean; +} + +export type ResolveIntersections<TId = string> = ({ + startPos, + currentPos, +}: { + startPos: { x: number; y: number }; + currentPos: { x: number; y: number }; +}) => TId[]; + +export interface SelectableSurfaceProps { + orderedIds: string[]; + children: React.ReactNode; + className?: string; + ariaLabel?: string; + revealId?: string | null; + onRevealComplete?: () => void; + onSelectionChange?: (state: SelectionState) => void; +} + +export interface SelectableItemProps + extends React.HTMLAttributes<HTMLDivElement> { + id: string; + children: React.ReactNode; +} diff --git a/apps/web/src/lib/shaders/jfa-init.frag.glsl b/apps/web/src/lib/shaders/jfa-init.frag.glsl new file mode 100644 index 00000000..d199d234 --- /dev/null +++ b/apps/web/src/lib/shaders/jfa-init.frag.glsl @@ -0,0 +1,25 @@ +precision mediump float; + +uniform sampler2D u_texture; +uniform vec2 u_resolution; +uniform float u_invert; + +varying vec2 v_texCoord; + +void main() { + float mask = texture2D(u_texture, v_texCoord).r; + bool isSeed = u_invert > 0.5 ? mask < 0.5 : mask > 0.5; + + if (isSeed) { + vec2 pixelCoord = floor(v_texCoord * u_resolution); + float x = pixelCoord.x; + float y = pixelCoord.y; + float xHi = floor(x / 256.0); + float xLo = x - xHi * 256.0; + float yHi = floor(y / 256.0); + float yLo = y - yHi * 256.0; + gl_FragColor = vec4(xHi / 255.0, xLo / 255.0, yHi / 255.0, yLo / 255.0); + } else { + gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0); + } +} diff --git a/apps/web/src/lib/shaders/jfa-step.frag.glsl b/apps/web/src/lib/shaders/jfa-step.frag.glsl new file mode 100644 index 00000000..5a95f497 --- /dev/null +++ b/apps/web/src/lib/shaders/jfa-step.frag.glsl @@ -0,0 +1,60 @@ +precision mediump float; + +uniform sampler2D u_texture; +uniform vec2 u_resolution; +uniform float u_step_size; + +varying vec2 v_texCoord; + +vec2 decodeSeed(vec4 encoded) { + float x = floor(encoded.r * 255.0 + 0.5) * 256.0 + floor(encoded.g * 255.0 + 0.5); + float y = floor(encoded.b * 255.0 + 0.5) * 256.0 + floor(encoded.a * 255.0 + 0.5); + return vec2(x, y); +} + +vec4 encodeSeed(vec2 seed) { + float xHi = floor(seed.x / 256.0); + float xLo = seed.x - xHi * 256.0; + float yHi = floor(seed.y / 256.0); + float yLo = seed.y - yHi * 256.0; + return vec4(xHi / 255.0, xLo / 255.0, yHi / 255.0, yLo / 255.0); +} + +bool isNoSeed(vec4 encoded) { + return encoded.r > 0.99 && encoded.g > 0.99 && encoded.b > 0.99 && encoded.a > 0.99; +} + +void main() { + vec2 pixelCoord = floor(v_texCoord * u_resolution); + vec2 texelSize = 1.0 / u_resolution; + + float bestDist = 1e10; + vec2 bestSeed = vec2(65535.0); + + for (int dy = -1; dy <= 1; dy++) { + for (int dx = -1; dx <= 1; dx++) { + vec2 offset = vec2(float(dx), float(dy)) * u_step_size; + vec2 sampleUV = v_texCoord + offset * texelSize; + + if (sampleUV.x < 0.0 || sampleUV.x > 1.0 || sampleUV.y < 0.0 || sampleUV.y > 1.0) + continue; + + vec4 encoded = texture2D(u_texture, sampleUV); + if (isNoSeed(encoded)) + continue; + + vec2 seed = decodeSeed(encoded); + float dist = distance(pixelCoord, seed); + if (dist < bestDist) { + bestDist = dist; + bestSeed = seed; + } + } + } + + if (bestDist < 1e9) { + gl_FragColor = encodeSeed(bestSeed); + } else { + gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0); + } +} diff --git a/apps/web/src/types/sounds.ts b/apps/web/src/lib/sounds/types.ts index eecf7701..eecf7701 100644 --- a/apps/web/src/types/sounds.ts +++ b/apps/web/src/lib/sounds/types.ts diff --git a/apps/web/src/lib/stickers/__tests__/sticker-id.test.ts b/apps/web/src/lib/stickers/__tests__/sticker-id.test.ts index 573dc251..3236e213 100644 --- a/apps/web/src/lib/stickers/__tests__/sticker-id.test.ts +++ b/apps/web/src/lib/stickers/__tests__/sticker-id.test.ts @@ -3,13 +3,13 @@ import { buildStickerId, parseStickerId } from "../sticker-id"; describe("sticker-id strict mode", () => { test("parses provider-prefixed IDs", () => { - expect(parseStickerId({ stickerId: "icons:mdi:home" })).toEqual({ - providerId: "icons", - providerValue: "mdi:home", + expect(parseStickerId({ stickerId: "flags:US" })).toEqual({ + providerId: "flags", + providerValue: "US", }); - expect(parseStickerId({ stickerId: "emoji:noto:grinning-face" })).toEqual({ - providerId: "emoji", - providerValue: "noto:grinning-face", + expect(parseStickerId({ stickerId: "shapes:circle" })).toEqual({ + providerId: "shapes", + providerValue: "circle", }); }); @@ -19,7 +19,7 @@ describe("sticker-id strict mode", () => { test("throws for malformed IDs", () => { expect(() => parseStickerId({ stickerId: "" })).toThrow(); - expect(() => parseStickerId({ stickerId: "icons:" })).toThrow(); + expect(() => parseStickerId({ stickerId: "flags:" })).toThrow(); expect(() => parseStickerId({ stickerId: ":mdi:home" })).toThrow(); }); diff --git a/apps/web/src/lib/stickers/index.ts b/apps/web/src/lib/stickers/index.ts index 1f924c6d..47be18fe 100644 --- a/apps/web/src/lib/stickers/index.ts +++ b/apps/web/src/lib/stickers/index.ts @@ -1,10 +1,20 @@ -import { STICKER_CATEGORIES } from "@/constants/sticker-constants"; -import type { StickerCategory } from "@/types/stickers"; -import { getAllProviders, getProvider } from "./registry"; +import { + STICKER_CATEGORIES, + STICKER_INTRINSIC_SIZE_FALLBACK, +} from "@/constants/sticker-constants"; +import type { StickerCategory } from "@/lib/stickers/types"; +import { stickersRegistry } from "./registry"; import { resolveStickerId } from "./resolver"; import { registerDefaultStickerProviders } from "./providers"; -import type { StickerProvider, StickerSearchResult } from "./types"; +import { parseStickerId } from "./sticker-id"; +import type { + StickerBrowseResult, + StickerItem, + StickerProvider, + StickerSearchResult, +} from "./types"; +const DEFAULT_BROWSE_LIMIT = 12; const DEFAULT_SEARCH_LIMIT = 100; function mergeSearchResults({ @@ -46,7 +56,46 @@ function getProviderByCategory({ } try { - return getProvider({ providerId: category }); + return stickersRegistry.get(category); + } catch { + return null; + } +} + +function getEmptyBrowseResult(): StickerBrowseResult { + return { + sections: [], + }; +} + +function getStickerNameFromId({ stickerId }: { stickerId: string }): string { + const stickerIdParts = stickerId.split(":"); + if (stickerIdParts.length <= 1) { + return stickerId; + } + return ( + stickerIdParts.slice(1).join(":").split(":").pop()?.replaceAll("-", " ") ?? + stickerId + ); +} + +function toRecentStickerItem({ + stickerId, +}: { + stickerId: string; +}): StickerItem | null { + try { + const { providerId } = parseStickerId({ stickerId }); + return { + id: stickerId, + provider: providerId, + name: getStickerNameFromId({ stickerId }), + previewUrl: resolveStickerId({ + stickerId, + options: { width: 64, height: 64 }, + }), + metadata: {}, + }; } catch { return null; } @@ -79,7 +128,7 @@ export async function searchStickers({ }); } - const providers = getAllProviders(); + const providers = stickersRegistry.getAll(); if (providers.length === 0) { return { items: [], @@ -110,64 +159,157 @@ export async function searchStickers({ }); } -export async function browseStickers({ - category, - page = 1, +export async function searchAll({ + query, limit = DEFAULT_SEARCH_LIMIT, }: { - category: StickerCategory; - page?: number; + query: string; limit?: number; -}): Promise<StickerSearchResult> { +}): Promise<StickerBrowseResult> { registerDefaultStickerProviders({}); - const effectiveCategory = category in STICKER_CATEGORIES ? category : "all"; - if (effectiveCategory !== "all") { - const provider = getProviderByCategory({ category: effectiveCategory }); - if (!provider) { - return { - items: [], - total: 0, - hasMore: false, - }; + const providers = stickersRegistry.getAll(); + if (providers.length === 0) { + return { sections: [] }; + } + + const perProviderLimit = Math.max(1, Math.ceil(limit / providers.length)); + const settledResults = await Promise.allSettled( + providers.map(async (provider) => { + const result = await provider.search({ + query, + options: { limit: perProviderLimit }, + }); + return { provider, result }; + }), + ); + + const sections: StickerBrowseResult["sections"] = []; + for (const settled of settledResults) { + if (settled.status !== "fulfilled") { + continue; } - return provider.browse({ - options: { page, limit }, + const { provider, result } = settled.value; + if (result.items.length === 0) { + continue; + } + const category = provider.id as StickerCategory; + sections.push({ + id: category, + title: STICKER_CATEGORIES[category] ?? provider.id, + items: result.items, + hasMore: result.hasMore, + layout: "grid", }); } - const providers = getAllProviders(); - if (providers.length === 0) { - return { - items: [], - total: 0, - hasMore: false, - }; + return { sections }; +} + +export async function browseCategory({ + category, +}: { + category: StickerCategory; +}): Promise<StickerBrowseResult> { + registerDefaultStickerProviders({}); + + const effectiveCategory = category in STICKER_CATEGORIES ? category : "all"; + if (effectiveCategory === "all") { + return getEmptyBrowseResult(); + } + + const provider = getProviderByCategory({ category: effectiveCategory }); + if (!provider) { + return getEmptyBrowseResult(); + } + + return provider.browse({ options: {} }); +} + +export async function browseAll({ + recentStickers, + limit = DEFAULT_BROWSE_LIMIT, +}: { + recentStickers: string[]; + limit?: number; +}): Promise<StickerBrowseResult> { + registerDefaultStickerProviders({}); + + const sections: StickerBrowseResult["sections"] = []; + const recentItems = recentStickers + .map((stickerId) => toRecentStickerItem({ stickerId })) + .filter((item): item is StickerItem => item !== null); + + if (recentItems.length > 0) { + sections.push({ + id: "recent", + title: "Recently used", + items: recentItems.slice(0, limit), + hasMore: recentItems.length > limit, + layout: "row", + }); } - const perProviderLimit = Math.max(1, Math.ceil(limit / providers.length)); const settledResults = await Promise.allSettled( - providers.map((provider) => - provider.browse({ - options: { page, limit: perProviderLimit }, - }), - ), + stickersRegistry.getAll().map(async (provider) => { + const browseResult = await provider.browse({ + options: { limit }, + }); + const firstSection = browseResult.sections[0]; + + if (!firstSection || firstSection.items.length === 0) { + return null; + } + + const category = provider.id as StickerCategory; + return { + ...firstSection, + id: category, + title: STICKER_CATEGORIES[category] ?? firstSection.title, + layout: "row" as const, + action: { + type: "see-all" as const, + category, + sectionId: firstSection.id, + }, + }; + }), ); - const fulfilledResults = settledResults - .filter( - (result): result is PromiseFulfilledResult<StickerSearchResult> => - result.status === "fulfilled", - ) - .map((result) => result.value); + for (const result of settledResults) { + if (result.status === "fulfilled" && result.value) { + sections.push(result.value); + } + } - return mergeSearchResults({ - results: fulfilledResults, + return { sections }; +} + +export async function resolveStickerIntrinsicSize({ + stickerId, +}: { + stickerId: string; +}): Promise<{ width: number; height: number }> { + const url = resolveStickerId({ stickerId }); + return new Promise((resolve) => { + const img = new Image(); + img.onload = () => + resolve({ width: img.naturalWidth, height: img.naturalHeight }); + img.onerror = () => + resolve({ + width: STICKER_INTRINSIC_SIZE_FALLBACK, + height: STICKER_INTRINSIC_SIZE_FALLBACK, + }); + img.src = url; }); } export { resolveStickerId }; +export { resolveQueryToRegions, getRegionLabel } from "./providers/flags"; export type { + StickerBrowseResult, + StickerBrowseSection, + StickerCategory, StickerItem, StickerProvider, StickerResolveOptions, diff --git a/apps/web/public/countries.json b/apps/web/src/lib/stickers/providers/countries-data.ts index 8d53cfae..1bcc1f50 100644 --- a/apps/web/public/countries.json +++ b/apps/web/src/lib/stickers/providers/countries-data.ts @@ -1,4 +1,43 @@ -[ +export const REGIONS = [ + { id: "Western Europe", aliases: ["west europe"] }, + { id: "Eastern Europe", aliases: ["east europe"] }, + { id: "Northern Europe", aliases: ["north europe"] }, + { id: "Southern Europe", aliases: ["south europe"] }, + { id: "South Asia", aliases: ["southern asia"] }, + { id: "Southeast Asia", aliases: ["south east asia"] }, + { id: "East Asia", aliases: ["eastern asia", "far east"] }, + { id: "Central Asia", aliases: [] }, + { id: "Middle East", aliases: ["west asia"] }, + { id: "North Africa", aliases: ["northern africa"] }, + { id: "Sub-Saharan Africa", aliases: ["subsaharan africa"] }, + { id: "North America", aliases: ["northern america"] }, + { id: "South America", aliases: ["southern america", "latin america"] }, + { id: "Central America", aliases: ["central am"] }, + { id: "Caribbean", aliases: ["caribbean islands"] }, + { id: "Oceania", aliases: ["pacific", "pacific islands"] }, + { id: "Antarctica", aliases: [] }, + { id: "Atlantic Ocean", aliases: ["atlantic"] }, + { id: "North Atlantic", aliases: [] }, +] as const; + +export type RegionId = (typeof REGIONS)[number]["id"]; + +export const REGION_GROUPS: Partial<Record<string, RegionId[]>> = { + europe: ["Western Europe", "Eastern Europe", "Northern Europe", "Southern Europe"], + asia: ["South Asia", "Southeast Asia", "East Asia", "Central Asia"], + africa: ["Sub-Saharan Africa", "North Africa"], + america: ["North America", "South America", "Central America", "Caribbean"], +}; + +export interface CountryRecord { + name: string; + code: string; + languages?: string[]; + flag_colors?: string[]; + region?: RegionId; +} + +export const COUNTRIES: CountryRecord[] = [ { "name": "Andorra", "code": "AD", @@ -203,13 +242,6 @@ "region": "South America" }, { - "name": "Sint Eustatius", - "code": "BQ-SE", - "languages": ["dutch", "english"], - "flag_colors": ["blue", "white", "red", "yellow"], - "region": "Caribbean" - }, - { "name": "Caribbean Netherlands", "code": "BQ", "languages": ["dutch", "papiamento", "english"], @@ -1659,13 +1691,6 @@ "region": "Sub-Saharan Africa" }, { - "name": "United States Minor Outlying Islands", - "code": "UM", - "languages": ["english"], - "flag_colors": ["red", "white", "blue"], - "region": "Oceania" - }, - { "name": "United States", "code": "US", "languages": ["english"], @@ -1791,4 +1816,4 @@ "flag_colors": ["green", "yellow", "red", "black", "white"], "region": "Sub-Saharan Africa" } -] +]; diff --git a/apps/web/src/lib/stickers/providers/emoji.ts b/apps/web/src/lib/stickers/providers/emoji.ts deleted file mode 100644 index cc198236..00000000 --- a/apps/web/src/lib/stickers/providers/emoji.ts +++ /dev/null @@ -1,119 +0,0 @@ -import { - POPULAR_COLLECTIONS, - getIconSvgUrl, - searchIcons, -} from "@/lib/iconify-api"; -import { buildStickerId, parseStickerId } from "../sticker-id"; -import type { - StickerItem, - StickerProvider, - StickerSearchResult, -} from "../types"; - -const EMOJI_PROVIDER_ID = "emoji"; -const DEFAULT_SEARCH_LIMIT = 100; - -const EMOJI_PREFIXES = POPULAR_COLLECTIONS.emoji.map( - (collection) => collection.prefix, -); - -const DEFAULT_EMOJI_BROWSE = [ - "noto:grinning-face", - "noto:smiling-face-with-heart-eyes", - "noto:fire", - "noto:rocket", - "noto:party-popper", - "noto:clapping-hands", - "noto:sparkles", - "noto:red-heart", - "noto:thumbs-up", - "noto:eyes", - "noto:thinking-face", - "noto:hundred-points", -]; - -function getDisplayNameFromIconName({ - iconName, -}: { - iconName: string; -}): string { - const parts = iconName.split(":"); - const rawName = parts[parts.length - 1] ?? iconName; - return rawName.replaceAll("-", " ").replaceAll("_", " "); -} - -function toStickerItem({ iconName }: { iconName: string }): StickerItem { - return { - id: buildStickerId({ - providerId: EMOJI_PROVIDER_ID, - providerValue: iconName, - }), - provider: EMOJI_PROVIDER_ID, - name: getDisplayNameFromIconName({ iconName }), - previewUrl: getIconSvgUrl(iconName, { width: 64, height: 64 }), - metadata: { iconName }, - }; -} - -function computeHasMore({ - total, - limit, - start = 0, -}: { - total: number; - limit: number; - start?: number; -}): boolean { - return start + limit < total; -} - -export const emojiProvider: StickerProvider = { - id: EMOJI_PROVIDER_ID, - async search({ - query, - options, - }: { - query: string; - options?: { limit?: number }; - }): Promise<StickerSearchResult> { - const limit = options?.limit ?? DEFAULT_SEARCH_LIMIT; - const searchResult = await searchIcons(query, limit, EMOJI_PREFIXES); - return { - items: searchResult.icons.map((iconName) => toStickerItem({ iconName })), - total: searchResult.total, - hasMore: computeHasMore({ - total: searchResult.total, - limit: searchResult.limit, - start: searchResult.start, - }), - }; - }, - async browse({ - options, - }: { - options?: { page?: number; limit?: number }; - }): Promise<StickerSearchResult> { - const limit = options?.limit ?? DEFAULT_EMOJI_BROWSE.length; - const items = DEFAULT_EMOJI_BROWSE.slice(0, limit).map((iconName) => - toStickerItem({ iconName }), - ); - return { - items, - total: items.length, - hasMore: false, - }; - }, - resolveUrl({ - stickerId, - options, - }: { - stickerId: string; - options?: { width?: number; height?: number }; - }): string { - const { providerValue } = parseStickerId({ stickerId }); - return getIconSvgUrl(providerValue, { - width: options?.width, - height: options?.height, - }); - }, -}; diff --git a/apps/web/src/lib/stickers/providers/flags.ts b/apps/web/src/lib/stickers/providers/flags.ts index 91cc5489..0cca292f 100644 --- a/apps/web/src/lib/stickers/providers/flags.ts +++ b/apps/web/src/lib/stickers/providers/flags.ts @@ -1,23 +1,17 @@ import { buildStickerId, parseStickerId } from "../sticker-id"; import type { + StickerBrowseResult, StickerItem, StickerProvider, StickerSearchResult, } from "../types"; +import { REGIONS, REGION_GROUPS } from "./countries-data"; +import type { CountryRecord, RegionId } from "./countries-data"; const FLAGS_PROVIDER_ID = "flags"; -const FLAGS_DATASET_URL = "/countries.json"; const DEFAULT_SEARCH_LIMIT = 100; const DEFAULT_FLAGS_BASE_URL = "/flags"; -type CountryRecord = { - name: string; - code: string; - languages?: string[]; - flag_colors?: string[]; - region?: string; -}; - let countriesPromise: Promise<CountryRecord[]> | null = null; function getFlagsBaseUrl(): string { @@ -25,7 +19,7 @@ function getFlagsBaseUrl(): string { } function buildFlagUrl({ code }: { code: string }): string { - const normalizedCode = code.toUpperCase(); + const normalizedCode = code.toLowerCase(); return `${getFlagsBaseUrl()}/${encodeURIComponent(normalizedCode)}.svg`; } @@ -34,13 +28,8 @@ async function loadCountries(): Promise<CountryRecord[]> { return countriesPromise; } - countriesPromise = fetch(FLAGS_DATASET_URL) - .then(async (response) => { - if (!response.ok) { - throw new Error(`Failed to load countries: ${response.status}`); - } - return (await response.json()) as CountryRecord[]; - }) + countriesPromise = import("./countries-data") + .then((m) => m.COUNTRIES) .catch((error) => { console.error("Failed to load countries dataset:", error); return []; @@ -72,6 +61,44 @@ function normalizeQuery({ query }: { query: string }): string { return query.trim().toLowerCase(); } +function findMatchingRegions({ + query, +}: { + query: string; +}): (typeof REGIONS)[number][] { + return REGIONS.filter( + (r) => + r.id.toLowerCase() === query || + r.aliases.some((alias) => alias === query), + ); +} + +export function resolveQueryToRegions({ + query, +}: { + query: string; +}): Set<RegionId> | null { + const group = REGION_GROUPS[query]; + if (group) { + return new Set(group); + } + + const matched = findMatchingRegions({ query }); + return matched.length > 0 ? new Set(matched.map((r) => r.id)) : null; +} + +export function getRegionLabel({ query }: { query: string }): string { + if (REGION_GROUPS[query]) { + return query + .split(" ") + .map((w) => w.charAt(0).toUpperCase() + w.slice(1)) + .join(" "); + } + + const matched = findMatchingRegions({ query }); + return matched[0]?.id ?? query; +} + function filterCountriesByQuery({ countries, query, @@ -83,15 +110,16 @@ function filterCountriesByQuery({ return countries; } + const regionIds = resolveQueryToRegions({ query }); + + if (regionIds) { + return countries.filter((country) => country.region && regionIds.has(country.region)); + } + return countries.filter((country) => { const normalizedName = country.name.toLowerCase(); const normalizedCode = country.code.toLowerCase(); - const normalizedRegion = country.region?.toLowerCase() ?? ""; - return ( - normalizedName.includes(query) || - normalizedCode.includes(query) || - normalizedRegion.includes(query) - ); + return normalizedName.includes(query) || normalizedCode.includes(query); }); } @@ -102,13 +130,15 @@ function paginateCountries({ countries: CountryRecord[]; options?: { page?: number; limit?: number }; }): { items: CountryRecord[]; hasMore: boolean; total: number } { - const page = Math.max(1, options?.page ?? 1); - const limit = Math.max(1, options?.limit ?? DEFAULT_SEARCH_LIMIT); + if (options?.limit === undefined) { + return { items: countries, hasMore: false, total: countries.length }; + } + const page = Math.max(1, options.page ?? 1); + const limit = Math.max(1, options.limit); const startIndex = (page - 1) * limit; const endIndex = startIndex + limit; - const pagedItems = countries.slice(startIndex, endIndex); return { - items: pagedItems, + items: countries.slice(startIndex, endIndex), hasMore: endIndex < countries.length, total: countries.length, }; @@ -146,13 +176,18 @@ export const flagsProvider: StickerProvider = { options, }: { options?: { page?: number; limit?: number }; - }): Promise<StickerSearchResult> { + }): Promise<StickerBrowseResult> { const countries = await loadCountries(); const paged = paginateCountries({ countries, options }); return { - items: paged.items.map((country) => toStickerItem({ country })), - total: paged.total, - hasMore: paged.hasMore, + sections: [ + { + id: "all", + items: paged.items.map((country) => toStickerItem({ country })), + hasMore: paged.hasMore, + layout: "grid", + }, + ], }; }, resolveUrl({ diff --git a/apps/web/src/lib/stickers/providers/icons.ts b/apps/web/src/lib/stickers/providers/icons.ts deleted file mode 100644 index 06b2a4c2..00000000 --- a/apps/web/src/lib/stickers/providers/icons.ts +++ /dev/null @@ -1,122 +0,0 @@ -import { - POPULAR_COLLECTIONS, - getIconSvgUrl, - searchIcons, -} from "@/lib/iconify-api"; -import { buildStickerId, parseStickerId } from "../sticker-id"; -import type { - StickerItem, - StickerProvider, - StickerSearchResult, -} from "../types"; - -const ICONS_PROVIDER_ID = "icons"; -const DEFAULT_SEARCH_LIMIT = 100; - -const ICONS_PREFIXES = Array.from( - new Set( - [...POPULAR_COLLECTIONS.general, ...POPULAR_COLLECTIONS.brands].map( - (collection) => collection.prefix, - ), - ), -); - -const DEFAULT_ICONS_BROWSE = [ - "mdi:home", - "mdi:star", - "mdi:heart", - "mdi:check-circle", - "mdi:account", - "mdi:camera", - "mdi:music", - "mdi:map-marker", - "mdi:calendar", - "mdi:lightning-bolt", - "mdi:cog", - "mdi:rocket", -]; - -function getDisplayNameFromIconName({ - iconName, -}: { - iconName: string; -}): string { - const [, rawName = iconName] = iconName.split(":"); - return rawName.replaceAll("-", " ").replaceAll("_", " "); -} - -function toStickerItem({ iconName }: { iconName: string }): StickerItem { - return { - id: buildStickerId({ - providerId: ICONS_PROVIDER_ID, - providerValue: iconName, - }), - provider: ICONS_PROVIDER_ID, - name: getDisplayNameFromIconName({ iconName }), - previewUrl: getIconSvgUrl(iconName, { width: 64, height: 64 }), - metadata: { iconName }, - }; -} - -function computeHasMore({ - total, - limit, - start = 0, -}: { - total: number; - limit: number; - start?: number; -}): boolean { - return start + limit < total; -} - -export const iconsProvider: StickerProvider = { - id: ICONS_PROVIDER_ID, - async search({ - query, - options, - }: { - query: string; - options?: { limit?: number }; - }): Promise<StickerSearchResult> { - const limit = options?.limit ?? DEFAULT_SEARCH_LIMIT; - const searchResult = await searchIcons(query, limit, ICONS_PREFIXES); - return { - items: searchResult.icons.map((iconName) => toStickerItem({ iconName })), - total: searchResult.total, - hasMore: computeHasMore({ - total: searchResult.total, - limit: searchResult.limit, - start: searchResult.start, - }), - }; - }, - async browse({ - options, - }: { - options?: { page?: number; limit?: number }; - }): Promise<StickerSearchResult> { - const limit = options?.limit ?? DEFAULT_ICONS_BROWSE.length; - const items = DEFAULT_ICONS_BROWSE.slice(0, limit).map((iconName) => - toStickerItem({ iconName }), - ); - return { - items, - total: items.length, - hasMore: false, - }; - }, - resolveUrl({ - stickerId, - options, - }: { - stickerId: string; - options?: { width?: number; height?: number }; - }): string { - const { providerValue } = parseStickerId({ stickerId }); - return getIconSvgUrl(providerValue, { - width: options?.width, - height: options?.height, - }); - }, -}; diff --git a/apps/web/src/lib/stickers/providers/index.ts b/apps/web/src/lib/stickers/providers/index.ts index 3c4faee9..b0a298cb 100644 --- a/apps/web/src/lib/stickers/providers/index.ts +++ b/apps/web/src/lib/stickers/providers/index.ts @@ -1,13 +1,11 @@ -import { hasProvider, registerProvider } from "../registry"; -import type { StickerProvider } from "@/types/stickers"; -import { emojiProvider } from "./emoji"; +import { stickersRegistry } from "../registry"; +import type { StickerProvider } from "@/lib/stickers/types"; import { flagsProvider } from "./flags"; -import { iconsProvider } from "./icons"; +import { logosProvider } from "./logos"; import { shapesProvider } from "./shapes"; const defaultProviders: StickerProvider[] = [ - iconsProvider, - emojiProvider, + logosProvider, flagsProvider, shapesProvider, ]; @@ -18,9 +16,9 @@ export function registerDefaultStickerProviders({ providersToRegister?: StickerProvider[]; } = {}): void { for (const provider of providersToRegister) { - if (hasProvider({ providerId: provider.id })) { + if (stickersRegistry.has(provider.id)) { continue; } - registerProvider({ provider }); + stickersRegistry.register(provider.id, provider); } } diff --git a/apps/web/src/lib/stickers/providers/logos.ts b/apps/web/src/lib/stickers/providers/logos.ts new file mode 100644 index 00000000..5be2e9a2 --- /dev/null +++ b/apps/web/src/lib/stickers/providers/logos.ts @@ -0,0 +1,31 @@ +import type { + StickerBrowseResult, + StickerItem, + StickerProvider, + StickerSearchResult, +} from "../types"; + +const LOGOS_PROVIDER_ID = "logos"; + +const EMPTY_SEARCH_RESULT: StickerSearchResult = { + items: [] as StickerItem[], + total: 0, + hasMore: false, +}; + +const EMPTY_BROWSE_RESULT: StickerBrowseResult = { + sections: [], +}; + +export const logosProvider: StickerProvider = { + id: LOGOS_PROVIDER_ID, + async search(): Promise<StickerSearchResult> { + return EMPTY_SEARCH_RESULT; + }, + async browse(): Promise<StickerBrowseResult> { + return EMPTY_BROWSE_RESULT; + }, + resolveUrl({ stickerId }: { stickerId: string }): string { + return stickerId; + }, +}; diff --git a/apps/web/src/lib/stickers/providers/shapes.ts b/apps/web/src/lib/stickers/providers/shapes.ts index 81873dcb..a23f14a7 100644 --- a/apps/web/src/lib/stickers/providers/shapes.ts +++ b/apps/web/src/lib/stickers/providers/shapes.ts @@ -1,5 +1,8 @@ +import { buildGraphicPreviewUrl, buildDefaultGraphicInstance, graphicsRegistry, registerDefaultGraphics } from "@/lib/graphics"; +import type { ParamValues } from "@/lib/params"; import { buildStickerId, parseStickerId } from "../sticker-id"; import type { + StickerBrowseResult, StickerItem, StickerProvider, StickerSearchResult, @@ -7,60 +10,140 @@ import type { const SHAPES_PROVIDER_ID = "shapes"; -const SHAPES = [ - { key: "circle", name: "Circle" }, - { key: "square", name: "Square" }, - { key: "triangle", name: "Triangle" }, - { key: "star", name: "Star" }, - { key: "hexagon", name: "Hexagon" }, - { key: "diamond", name: "Diamond" }, -] as const; +type ShapeGraphicPreset = { + shapeKey: string; + name: string; + definitionId: string; + params?: ParamValues; +}; + +const LEGACY_SHAPE_PRESETS: Record<string, ShapeGraphicPreset> = { + square: { shapeKey: "square", name: "Square", definitionId: "rectangle" }, + circle: { shapeKey: "circle", name: "Circle", definitionId: "ellipse" }, + triangle: { + shapeKey: "triangle", + name: "Triangle", + definitionId: "polygon", + params: { sides: 3 }, + }, + hexagon: { + shapeKey: "hexagon", + name: "Hexagon", + definitionId: "polygon", + params: { sides: 6 }, + }, + diamond: { + shapeKey: "diamond", + name: "Diamond", + definitionId: "polygon", + params: { sides: 4 }, + }, + star: { shapeKey: "star", name: "Star", definitionId: "star" }, +}; + +function getShapePresets(): ShapeGraphicPreset[] { + registerDefaultGraphics(); + return graphicsRegistry.getAll().map((definition) => ({ + shapeKey: definition.id, + name: definition.name, + definitionId: definition.id, + })); +} + +function getShapePreset({ + shapeKey, +}: { + shapeKey: string; +}): ShapeGraphicPreset | null { + return ( + getShapePresets().find((preset) => preset.shapeKey === shapeKey) ?? + LEGACY_SHAPE_PRESETS[shapeKey] ?? + null + ); +} + +function getShapeParams({ + preset, +}: { + preset: ShapeGraphicPreset; +}): ParamValues { + return { + ...buildDefaultGraphicInstance({ definitionId: preset.definitionId }).params, + ...preset.params, + }; +} + +export function parseShapeStickerId({ + stickerId, +}: { + stickerId: string; +}): ShapeGraphicPreset | null { + try { + const { providerValue } = parseStickerId({ stickerId }); + return getShapePreset({ shapeKey: providerValue }); + } catch { + return null; + } +} function buildShapeUrl({ shapeKey }: { shapeKey: string }): string { - return `/shapes/${shapeKey}.svg`; + const preset = getShapePreset({ shapeKey }); + if (!preset) { + return buildGraphicPreviewUrl({ definitionId: "rectangle" }); + } + return buildGraphicPreviewUrl({ + definitionId: preset.definitionId, + params: getShapeParams({ preset }), + }); } function toStickerItem({ - shape, + preset, }: { - shape: (typeof SHAPES)[number]; + preset: ShapeGraphicPreset; }): StickerItem { return { id: buildStickerId({ providerId: SHAPES_PROVIDER_ID, - providerValue: shape.key, + providerValue: preset.shapeKey, }), provider: SHAPES_PROVIDER_ID, - name: shape.name, - previewUrl: buildShapeUrl({ shapeKey: shape.key }), - metadata: { shape: shape.key }, + name: preset.name, + previewUrl: buildShapeUrl({ shapeKey: preset.shapeKey }), + metadata: { + definitionId: preset.definitionId, + params: preset.params ?? {}, + }, }; } -function filterShapesByQuery({ - query, -}: { - query: string; -}): Array<(typeof SHAPES)[number]> { +function filterShapesByQuery({ query }: { query: string }): ShapeGraphicPreset[] { const normalizedQuery = query.trim().toLowerCase(); + const presets = getShapePresets(); if (!normalizedQuery) { - return [...SHAPES]; + return presets; } - return SHAPES.filter((shape) => - shape.name.toLowerCase().includes(normalizedQuery), - ); + return presets.filter((preset) => { + const definition = graphicsRegistry.get(preset.definitionId); + return ( + preset.name.toLowerCase().includes(normalizedQuery) || + definition.keywords.some((keyword) => + keyword.toLowerCase().includes(normalizedQuery), + ) + ); + }); } function paginateShapes({ shapes, options, }: { - shapes: Array<(typeof SHAPES)[number]>; + shapes: ShapeGraphicPreset[]; options?: { page?: number; limit?: number }; -}): { items: Array<(typeof SHAPES)[number]>; hasMore: boolean; total: number } { +}): { items: ShapeGraphicPreset[]; hasMore: boolean; total: number } { const page = Math.max(1, options?.page ?? 1); - const limit = Math.max(1, options?.limit ?? SHAPES.length); + const limit = Math.max(1, options?.limit ?? getShapePresets().length); const startIndex = (page - 1) * limit; const endIndex = startIndex + limit; const pagedItems = shapes.slice(startIndex, endIndex); @@ -83,10 +166,10 @@ export const shapesProvider: StickerProvider = { const filteredShapes = filterShapesByQuery({ query }); const paged = paginateShapes({ shapes: filteredShapes, - options: { page: 1, limit: options?.limit ?? SHAPES.length }, + options: { page: 1, limit: options?.limit ?? getShapePresets().length }, }); return { - items: paged.items.map((shape) => toStickerItem({ shape })), + items: paged.items.map((preset) => toStickerItem({ preset })), total: paged.total, hasMore: paged.hasMore, }; @@ -95,15 +178,20 @@ export const shapesProvider: StickerProvider = { options, }: { options?: { page?: number; limit?: number }; - }): Promise<StickerSearchResult> { + }): Promise<StickerBrowseResult> { const paged = paginateShapes({ - shapes: [...SHAPES], + shapes: getShapePresets(), options, }); return { - items: paged.items.map((shape) => toStickerItem({ shape })), - total: paged.total, - hasMore: paged.hasMore, + sections: [ + { + id: "all", + items: paged.items.map((preset) => toStickerItem({ preset })), + hasMore: paged.hasMore, + layout: "grid", + }, + ], }; }, resolveUrl({ @@ -112,7 +200,7 @@ export const shapesProvider: StickerProvider = { stickerId: string; options?: { width?: number; height?: number }; }): string { - const { providerValue } = parseStickerId({ stickerId }); - return buildShapeUrl({ shapeKey: providerValue }); + const preset = parseShapeStickerId({ stickerId }); + return buildShapeUrl({ shapeKey: preset?.shapeKey ?? "rectangle" }); }, }; diff --git a/apps/web/src/lib/stickers/registry.ts b/apps/web/src/lib/stickers/registry.ts index 0fbad594..7148c09d 100644 --- a/apps/web/src/lib/stickers/registry.ts +++ b/apps/web/src/lib/stickers/registry.ts @@ -1,31 +1,10 @@ -import type { StickerProvider } from "@/types/stickers"; +import type { StickerProvider } from "@/lib/stickers/types"; +import { DefinitionRegistry } from "@/lib/registry"; -const providers = new Map<string, StickerProvider>(); - -export function registerProvider({ - provider, -}: { - provider: StickerProvider; -}): void { - providers.set(provider.id, provider); -} - -export function hasProvider({ providerId }: { providerId: string }): boolean { - return providers.has(providerId); -} - -export function getProvider({ - providerId, -}: { - providerId: string; -}): StickerProvider { - const provider = providers.get(providerId); - if (!provider) { - throw new Error(`Unknown sticker provider: ${providerId}`); +export class StickersRegistry extends DefinitionRegistry<string, StickerProvider> { + constructor() { + super("sticker provider"); } - return provider; } -export function getAllProviders(): StickerProvider[] { - return Array.from(providers.values()); -} +export const stickersRegistry = new StickersRegistry(); diff --git a/apps/web/src/lib/stickers/resolver.ts b/apps/web/src/lib/stickers/resolver.ts index 3252cd60..0002e716 100644 --- a/apps/web/src/lib/stickers/resolver.ts +++ b/apps/web/src/lib/stickers/resolver.ts @@ -1,7 +1,7 @@ -import { getProvider } from "./registry"; +import { stickersRegistry } from "./registry"; import { parseStickerId } from "./sticker-id"; import { registerDefaultStickerProviders } from "./providers"; -import type { StickerResolveOptions } from "@/types/stickers"; +import type { StickerResolveOptions } from "@/lib/stickers/types"; export function resolveStickerId({ stickerId, @@ -13,9 +13,7 @@ export function resolveStickerId({ registerDefaultStickerProviders(); const parsedStickerId = parseStickerId({ stickerId }); - return getProvider({ - providerId: parsedStickerId.providerId, - }).resolveUrl({ + return stickersRegistry.get(parsedStickerId.providerId).resolveUrl({ stickerId, options, }); diff --git a/apps/web/src/lib/stickers/types.ts b/apps/web/src/lib/stickers/types.ts index 91cbcaae..9d16e4be 100644 --- a/apps/web/src/lib/stickers/types.ts +++ b/apps/web/src/lib/stickers/types.ts @@ -1,8 +1,71 @@ -export type { - StickerItem, - StickerProvider, - StickerProviderBrowseOptions, - StickerProviderSearchOptions, - StickerResolveOptions, - StickerSearchResult, -} from "@/types/stickers"; +import type { STICKER_CATEGORIES } from "@/constants/sticker-constants"; + +export type StickerCategory = keyof typeof STICKER_CATEGORIES; + +export interface StickerItem { + id: string; + provider: string; + name: string; + previewUrl: string; + metadata: Record<string, unknown>; +} + +export interface StickerSearchResult { + items: StickerItem[]; + total: number; + hasMore: boolean; +} + +export interface StickerBrowseSection { + id: string; + title?: string; + items: StickerItem[]; + hasMore?: boolean; + layout?: "grid" | "row"; + action?: { + type: "see-all"; + category?: StickerCategory; + sectionId?: string; + }; +} + +export interface StickerBrowseResult { + sections: StickerBrowseSection[]; +} + +export interface StickerProviderSearchOptions { + limit?: number; +} + +export interface StickerProviderBrowseOptions { + page?: number; + limit?: number; +} + +export interface StickerResolveOptions { + width?: number; + height?: number; +} + +export interface StickerProvider { + id: string; + search({ + query, + options, + }: { + query: string; + options?: StickerProviderSearchOptions; + }): Promise<StickerSearchResult>; + browse({ + options, + }: { + options?: StickerProviderBrowseOptions; + }): Promise<StickerBrowseResult>; + resolveUrl({ + stickerId, + options, + }: { + stickerId: string; + options?: StickerResolveOptions; + }): string; +} diff --git a/apps/web/src/lib/text/layout.ts b/apps/web/src/lib/text/layout.ts index 3eadcec2..32d0d80e 100644 --- a/apps/web/src/lib/text/layout.ts +++ b/apps/web/src/lib/text/layout.ts @@ -1,5 +1,5 @@ -import { DEFAULT_TEXT_BACKGROUND } from "@/constants/text-constants"; -import type { TextBackground, TextElement } from "@/types/timeline"; +import type { TextBackground, TextElement } from "@/lib/timeline"; +import { DEFAULTS } from "@/lib/timeline/defaults"; type TextRect = { left: number; @@ -14,6 +14,23 @@ export interface TextBlockMeasurement { maxWidth: number; } +type CanvasContext = + | CanvasRenderingContext2D + | OffscreenCanvasRenderingContext2D; + +export function setCanvasLetterSpacing({ + ctx, + letterSpacingPx, +}: { + ctx: CanvasContext; + letterSpacingPx: number; +}): void { + if ("letterSpacing" in ctx) { + (ctx as CanvasRenderingContext2D & { letterSpacing: string }).letterSpacing = + `${letterSpacingPx}px`; + } +} + export function getMetricAscent({ metrics, fallbackFontSize, @@ -118,11 +135,11 @@ export function getTextBackgroundRect({ const textRect = getTextRect({ textAlign, block }); const paddingX = - (background.paddingX ?? DEFAULT_TEXT_BACKGROUND.paddingX) * fontSizeRatio; + (background.paddingX ?? DEFAULTS.text.background.paddingX) * fontSizeRatio; const paddingY = - (background.paddingY ?? DEFAULT_TEXT_BACKGROUND.paddingY) * fontSizeRatio; - const offsetX = background.offsetX ?? DEFAULT_TEXT_BACKGROUND.offsetX; - const offsetY = background.offsetY ?? DEFAULT_TEXT_BACKGROUND.offsetY; + (background.paddingY ?? DEFAULTS.text.background.paddingY) * fontSizeRatio; + const offsetX = background.offsetX ?? DEFAULTS.text.background.offsetX; + const offsetY = background.offsetY ?? DEFAULTS.text.background.offsetY; return { left: textRect.left - paddingX + offsetX, diff --git a/apps/web/src/lib/text/measure-element.ts b/apps/web/src/lib/text/measure-element.ts new file mode 100644 index 00000000..44b2b1ff --- /dev/null +++ b/apps/web/src/lib/text/measure-element.ts @@ -0,0 +1,132 @@ +import { + CORNER_RADIUS_MIN, + FONT_SIZE_SCALE_REFERENCE, +} from "@/constants/text-constants"; +import { resolveNumberAtTime } from "@/lib/animation"; +import { DEFAULTS } from "@/lib/timeline/defaults"; +import type { TextBackground, TextElement } from "@/lib/timeline"; +import { + measureTextBlock, + setCanvasLetterSpacing, + getTextVisualRect, + type TextBlockMeasurement, +} from "./layout"; + +export interface ResolvedTextBackground extends TextBackground { + paddingX: number; + paddingY: number; + offsetX: number; + offsetY: number; + cornerRadius: number; +} + +export interface MeasuredTextElement { + scaledFontSize: number; + fontString: string; + letterSpacing: number; + lineHeightPx: number; + lines: string[]; + lineMetrics: TextMetrics[]; + block: TextBlockMeasurement; + fontSizeRatio: number; + resolvedBackground: ResolvedTextBackground; + visualRect: { left: number; top: number; width: number; height: number }; +} + +/** + * Shared text measurement used by both the renderer and preview bounds. + * Accepts the canvas context to measure on so callers can reuse an existing + * context (e.g. the renderer's) rather than creating a throwaway canvas. + * The context state is preserved via save/restore. + */ +export function measureTextElement({ + element, + canvasHeight, + localTime, + ctx, +}: { + element: TextElement; + canvasHeight: number; + localTime: number; + ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D; +}): MeasuredTextElement { + const scaledFontSize = + element.fontSize * (canvasHeight / FONT_SIZE_SCALE_REFERENCE); + const fontWeight = element.fontWeight === "bold" ? "bold" : "normal"; + const fontStyle = element.fontStyle === "italic" ? "italic" : "normal"; + const fontFamily = `"${element.fontFamily.replace(/"/g, '\\"')}"`; + const fontString = `${fontStyle} ${fontWeight} ${scaledFontSize}px ${fontFamily}, sans-serif`; + const letterSpacing = element.letterSpacing ?? 0; + const lineHeightPx = + scaledFontSize * (element.lineHeight ?? DEFAULTS.text.lineHeight); + const fontSizeRatio = element.fontSize / DEFAULTS.text.element.fontSize; + const lines = element.content.split("\n"); + + ctx.save(); + ctx.font = fontString; + ctx.textBaseline = "middle"; + setCanvasLetterSpacing({ ctx, letterSpacingPx: letterSpacing }); + const lineMetrics = lines.map((line) => ctx.measureText(line)); + ctx.restore(); + + const block = measureTextBlock({ + lineMetrics, + lineHeightPx, + fallbackFontSize: scaledFontSize, + }); + + const bg = element.background; + const resolvedBackground: ResolvedTextBackground = { + ...bg, + paddingX: resolveNumberAtTime({ + baseValue: bg.paddingX ?? DEFAULTS.text.background.paddingX, + animations: element.animations, + propertyPath: "background.paddingX", + localTime, + }), + paddingY: resolveNumberAtTime({ + baseValue: bg.paddingY ?? DEFAULTS.text.background.paddingY, + animations: element.animations, + propertyPath: "background.paddingY", + localTime, + }), + offsetX: resolveNumberAtTime({ + baseValue: bg.offsetX ?? DEFAULTS.text.background.offsetX, + animations: element.animations, + propertyPath: "background.offsetX", + localTime, + }), + offsetY: resolveNumberAtTime({ + baseValue: bg.offsetY ?? DEFAULTS.text.background.offsetY, + animations: element.animations, + propertyPath: "background.offsetY", + localTime, + }), + cornerRadius: resolveNumberAtTime({ + baseValue: bg.cornerRadius ?? CORNER_RADIUS_MIN, + animations: element.animations, + propertyPath: "background.cornerRadius", + localTime, + }), + }; + + const visualRect = getTextVisualRect({ + textAlign: element.textAlign, + block, + background: resolvedBackground, + fontSizeRatio, + }); + + return { + scaledFontSize, + fontString, + letterSpacing, + lineHeightPx, + lines, + lineMetrics, + block, + fontSizeRatio, + resolvedBackground, + visualRect, + }; +} diff --git a/apps/web/src/lib/time.ts b/apps/web/src/lib/time.ts index b6761b0d..a6602566 100644 --- a/apps/web/src/lib/time.ts +++ b/apps/web/src/lib/time.ts @@ -1,4 +1,8 @@ -import type { TTimeCode } from "@/types/time"; +export type TTimeCode = + | "MM:SS" + | "HH:MM:SS" + | "HH:MM:SS:CS" + | "HH:MM:SS:FF"; export function roundToFrame({ time, diff --git a/apps/web/src/lib/timeline/audio-constants.ts b/apps/web/src/lib/timeline/audio-constants.ts new file mode 100644 index 00000000..44592df4 --- /dev/null +++ b/apps/web/src/lib/timeline/audio-constants.ts @@ -0,0 +1,2 @@ +export const VOLUME_DB_MIN = -60; +export const VOLUME_DB_MAX = 20; diff --git a/apps/web/src/lib/timeline/audio-state.ts b/apps/web/src/lib/timeline/audio-state.ts new file mode 100644 index 00000000..90d34668 --- /dev/null +++ b/apps/web/src/lib/timeline/audio-state.ts @@ -0,0 +1,100 @@ +import { hasKeyframesForPath } from "@/lib/animation/keyframe-query"; +import { resolveNumberAtTime } from "@/lib/animation/resolve"; +import { VOLUME_DB_MAX, VOLUME_DB_MIN } from "./audio-constants"; +import type { TimelineElement } from "./types"; +const DEFAULT_STEP_SECONDS = 1 / 60; + +export type AudioCapableElement = Extract< + TimelineElement, + { type: "audio" | "video" } +>; + +export function clampDb(value: number): number { + if (!Number.isFinite(value)) { + return 0; + } + + return Math.min(VOLUME_DB_MAX, Math.max(VOLUME_DB_MIN, value)); +} + +export function dBToLinear(db: number): number { + return Math.pow(10, clampDb(db) / 20); +} + +export function hasAnimatedVolume({ + element, +}: { + element: AudioCapableElement; +}): boolean { + return hasKeyframesForPath({ + animations: element.animations, + propertyPath: "volume", + }); +} + +export function resolveEffectiveAudioGain({ + element, + trackMuted = false, + localTime, +}: { + element: AudioCapableElement; + trackMuted?: boolean; + localTime: number; +}): number { + if (trackMuted || element.muted === true) { + return 0; + } + + const resolvedDb = resolveNumberAtTime({ + baseValue: element.volume ?? 0, + animations: element.animations, + propertyPath: "volume", + localTime, + }); + + return dBToLinear(resolvedDb); +} + +export function buildAudioGainAutomation({ + element, + trackMuted = false, + fromLocalTime, + toLocalTime, + stepSeconds = DEFAULT_STEP_SECONDS, +}: { + element: AudioCapableElement; + trackMuted?: boolean; + fromLocalTime: number; + toLocalTime: number; + stepSeconds?: number; +}): Array<{ localTime: number; gain: number }> { + const startTime = Math.max(0, fromLocalTime); + const endTime = Math.max(startTime, toLocalTime); + const safeStep = + Number.isFinite(stepSeconds) && stepSeconds > 0 + ? stepSeconds + : DEFAULT_STEP_SECONDS; + const points: Array<{ localTime: number; gain: number }> = []; + + for (let localTime = startTime; localTime < endTime; localTime += safeStep) { + points.push({ + localTime, + gain: resolveEffectiveAudioGain({ + element, + trackMuted, + localTime, + }), + }); + } + + points.push({ + localTime: endTime, + gain: resolveEffectiveAudioGain({ + element, + trackMuted, + localTime: endTime, + }), + }); + + return points; +} diff --git a/apps/web/src/lib/timeline/bookmarks.ts b/apps/web/src/lib/timeline/bookmarks.ts index efaa8f74..f5c034c7 100644 --- a/apps/web/src/lib/timeline/bookmarks.ts +++ b/apps/web/src/lib/timeline/bookmarks.ts @@ -1,4 +1,4 @@ -import type { Bookmark } from "@/types/timeline"; +import type { Bookmark } from "@/lib/timeline"; import { roundToFrame } from "@/lib/time"; export const BOOKMARK_TIME_EPSILON = 0.001; diff --git a/apps/web/src/lib/timeline/defaults.ts b/apps/web/src/lib/timeline/defaults.ts new file mode 100644 index 00000000..7f52905f --- /dev/null +++ b/apps/web/src/lib/timeline/defaults.ts @@ -0,0 +1,77 @@ +import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; +import type { TTimelineViewState } from "@/lib/project/types"; +import type { BlendMode, Transform } from "@/lib/rendering"; +import type { TextElement } from "./types"; + +const defaultTransform: Transform = { + scaleX: 1, + scaleY: 1, + position: { x: 0, y: 0 }, + rotate: 0, +}; + +const defaultOpacity = 1; +const defaultBlendMode: BlendMode = "normal"; +const defaultVolume = 0; + +const defaultTextLetterSpacing = 0; +const defaultTextLineHeight = 1.2; + +const defaultTextBackground = { + enabled: false, + color: "#000000", + cornerRadius: 0, + paddingX: 30, + paddingY: 42, + offsetX: 0, + offsetY: 0, +}; + +const defaultTextElement: Omit<TextElement, "id"> = { + type: "text", + name: "Text", + content: "Default text", + fontSize: 15, + fontFamily: "Arial", + color: "#ffffff", + background: { ...defaultTextBackground }, + textAlign: "center", + fontWeight: "normal", + fontStyle: "normal", + textDecoration: "none", + letterSpacing: defaultTextLetterSpacing, + lineHeight: defaultTextLineHeight, + duration: TIMELINE_CONSTANTS.DEFAULT_ELEMENT_DURATION, + startTime: 0, + trimStart: 0, + trimEnd: 0, + transform: { + ...defaultTransform, + position: { ...defaultTransform.position }, + }, + opacity: defaultOpacity, +}; + +const defaultTimelineViewState: TTimelineViewState = { + zoomLevel: 1, + scrollLeft: 0, + playheadTime: 0, +}; + +export const DEFAULTS = { + element: { + transform: defaultTransform, + opacity: defaultOpacity, + blendMode: defaultBlendMode, + volume: defaultVolume, + }, + text: { + letterSpacing: defaultTextLetterSpacing, + lineHeight: defaultTextLineHeight, + background: defaultTextBackground, + element: defaultTextElement, + }, + timeline: { + viewState: defaultTimelineViewState, + }, +}; diff --git a/apps/web/src/types/drag.ts b/apps/web/src/lib/timeline/drag.ts index 4e10d767..89b1593f 100644 --- a/apps/web/src/types/drag.ts +++ b/apps/web/src/lib/timeline/drag.ts @@ -1,4 +1,5 @@ -import type { VisualElement } from "./timeline"; +import type { MaskableElement, VisualElement } from "./types"; +import type { ParamValues } from "@/lib/params"; interface BaseDragData { id: string; @@ -8,7 +9,7 @@ interface BaseDragData { export interface MediaDragData extends BaseDragData { type: "media"; mediaType: "image" | "video" | "audio"; - targetElementTypes?: ("video" | "image")[]; + targetElementTypes?: MaskableElement["type"][]; } export interface TextDragData extends BaseDragData { @@ -21,6 +22,12 @@ export interface StickerDragData extends BaseDragData { stickerId: string; } +export interface GraphicDragData extends BaseDragData { + type: "graphic"; + definitionId: string; + params: Partial<ParamValues>; +} + export interface EffectDragData extends BaseDragData { type: "effect"; effectType: string; @@ -31,4 +38,5 @@ export type TimelineDragData = | MediaDragData | TextDragData | StickerDragData + | GraphicDragData | EffectDragData; diff --git a/apps/web/src/lib/timeline/drop-utils.ts b/apps/web/src/lib/timeline/drop-utils.ts index b502974d..b4f53948 100644 --- a/apps/web/src/lib/timeline/drop-utils.ts +++ b/apps/web/src/lib/timeline/drop-utils.ts @@ -2,10 +2,10 @@ import type { TimelineTrack, ElementType, TimelineElement, -} from "@/types/timeline"; +} from "@/lib/timeline"; import { TRACK_CONFIG, TRACK_GAP } from "@/constants/timeline-constants"; import { wouldElementOverlap } from "./element-utils"; -import type { ComputeDropTargetParams, DropTarget } from "@/types/timeline"; +import type { ComputeDropTargetParams, DropTarget } from "@/lib/timeline"; import { isMainTrack, enforceMainTrackStart } from "./track-utils"; function findElementAtPosition({ diff --git a/apps/web/src/lib/timeline/element-utils.ts b/apps/web/src/lib/timeline/element-utils.ts index 11564376..c44ae044 100644 --- a/apps/web/src/lib/timeline/element-utils.ts +++ b/apps/web/src/lib/timeline/element-utils.ts @@ -1,30 +1,33 @@ -import { DEFAULT_TEXT_ELEMENT } from "@/constants/text-constants"; +import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; import { - DEFAULT_BLEND_MODE, - DEFAULT_OPACITY, - DEFAULT_TRANSFORM, - TIMELINE_CONSTANTS, -} from "@/constants/timeline-constants"; -import type { - CreateEffectElement, - CreateTimelineElement, - CreateVideoElement, - CreateImageElement, - CreateStickerElement, - CreateUploadAudioElement, - CreateLibraryAudioElement, - TextBackground, - TextElement, - TimelineElement, - TimelineTrack, - AudioElement, - VideoElement, - ImageElement, - VisualElement, - UploadAudioElement, -} from "@/types/timeline"; -import type { MediaType } from "@/types/assets"; + MASKABLE_ELEMENT_TYPES, + RETIMABLE_ELEMENT_TYPES, + VISUAL_ELEMENT_TYPES, + type CreateEffectElement, + type CreateGraphicElement, + type CreateTimelineElement, + type CreateVideoElement, + type CreateImageElement, + type CreateStickerElement, + type CreateUploadAudioElement, + type CreateLibraryAudioElement, + type TextBackground, + type TextElement, + type TimelineElement, + type TimelineTrack, + type AudioElement, + type VideoElement, + type ImageElement, + type MaskableElement, + type RetimableElement, + type VisualElement, + type UploadAudioElement, +} from "@/lib/timeline"; +import { DEFAULTS } from "@/lib/timeline/defaults"; +import type { MediaType } from "@/lib/media/types"; import { buildDefaultEffectInstance } from "@/lib/effects"; +import { buildDefaultGraphicInstance } from "@/lib/graphics"; +import type { ParamValues } from "@/lib/params"; import { capitalizeFirstLetter } from "@/utils/string"; export function canElementHaveAudio( @@ -36,12 +39,19 @@ export function canElementHaveAudio( export function isVisualElement( element: TimelineElement, ): element is VisualElement { - return ( - element.type === "video" || - element.type === "image" || - element.type === "text" || - element.type === "sticker" - ); + return (VISUAL_ELEMENT_TYPES as readonly string[]).includes(element.type); +} + +export function isMaskableElement( + element: TimelineElement, +): element is MaskableElement { + return (MASKABLE_ELEMENT_TYPES as readonly string[]).includes(element.type); +} + +export function isRetimableElement( + element: TimelineElement, +): element is RetimableElement { + return (RETIMABLE_ELEMENT_TYPES as readonly string[]).includes(element.type); } export function canElementBeHidden( @@ -50,6 +60,14 @@ export function canElementBeHidden( return isVisualElement(element); } +export function hasElementEffects({ + element, +}: { + element: TimelineElement; +}): boolean { + return isVisualElement(element) && (element.effects?.length ?? 0) > 0; +} + export function hasMediaId( element: TimelineElement, ): element is UploadAudioElement | VideoElement | ImageElement { @@ -68,55 +86,6 @@ export function requiresMediaId({ ); } -export function checkElementOverlaps({ - elements, -}: { - elements: TimelineElement[]; -}): boolean { - const sortedElements = [...elements].sort( - (a, b) => a.startTime - b.startTime, - ); - - for (let i = 0; i < sortedElements.length - 1; i++) { - const current = sortedElements[i]; - const next = sortedElements[i + 1]; - - const currentEnd = current.startTime + current.duration; - - if (currentEnd > next.startTime) return true; - } - - return false; -} - -export function resolveElementOverlaps({ - elements, -}: { - elements: TimelineElement[]; -}): TimelineElement[] { - const sortedElements = [...elements].sort( - (a, b) => a.startTime - b.startTime, - ); - const resolvedElements: TimelineElement[] = []; - - for (let i = 0; i < sortedElements.length; i++) { - const current = { ...sortedElements[i] }; - - if (resolvedElements.length > 0) { - const previous = resolvedElements[resolvedElements.length - 1]; - const previousEnd = previous.startTime + previous.duration; - - if (current.startTime < previousEnd) { - current.startTime = previousEnd; - } - } - - resolvedElements.push(current); - } - - return resolvedElements; -} - export function wouldElementOverlap({ elements, startTime, @@ -138,9 +107,8 @@ export function wouldElementOverlap({ function buildTextBackground( raw: Partial<TextBackground> | undefined, ): TextBackground { - const color = raw?.color ?? DEFAULT_TEXT_ELEMENT.background.color; - const enabled = - typeof raw?.enabled === "boolean" ? raw.enabled : color !== "transparent"; + const color = raw?.color ?? DEFAULTS.text.element.background.color; + const enabled = raw?.enabled ?? color !== "transparent"; return { enabled, color, @@ -163,28 +131,25 @@ export function buildTextElement({ return { type: "text", - name: t.name ?? DEFAULT_TEXT_ELEMENT.name, - content: t.content ?? DEFAULT_TEXT_ELEMENT.content, + name: t.name ?? DEFAULTS.text.element.name, + content: t.content ?? DEFAULTS.text.element.content, duration: t.duration ?? TIMELINE_CONSTANTS.DEFAULT_ELEMENT_DURATION, startTime, trimStart: 0, trimEnd: 0, - fontSize: - typeof t.fontSize === "number" - ? t.fontSize - : DEFAULT_TEXT_ELEMENT.fontSize, - fontFamily: t.fontFamily ?? DEFAULT_TEXT_ELEMENT.fontFamily, - color: t.color ?? DEFAULT_TEXT_ELEMENT.color, + fontSize: t.fontSize ?? DEFAULTS.text.element.fontSize, + fontFamily: t.fontFamily ?? DEFAULTS.text.element.fontFamily, + color: t.color ?? DEFAULTS.text.element.color, background: buildTextBackground(t.background), - textAlign: t.textAlign ?? DEFAULT_TEXT_ELEMENT.textAlign, - fontWeight: t.fontWeight ?? DEFAULT_TEXT_ELEMENT.fontWeight, - fontStyle: t.fontStyle ?? DEFAULT_TEXT_ELEMENT.fontStyle, - textDecoration: t.textDecoration ?? DEFAULT_TEXT_ELEMENT.textDecoration, - letterSpacing: t.letterSpacing ?? DEFAULT_TEXT_ELEMENT.letterSpacing, - lineHeight: t.lineHeight ?? DEFAULT_TEXT_ELEMENT.lineHeight, - transform: t.transform ?? DEFAULT_TEXT_ELEMENT.transform, - opacity: t.opacity ?? DEFAULT_TEXT_ELEMENT.opacity, - blendMode: t.blendMode ?? DEFAULT_BLEND_MODE, + textAlign: t.textAlign ?? DEFAULTS.text.element.textAlign, + fontWeight: t.fontWeight ?? DEFAULTS.text.element.fontWeight, + fontStyle: t.fontStyle ?? DEFAULTS.text.element.fontStyle, + textDecoration: t.textDecoration ?? DEFAULTS.text.element.textDecoration, + letterSpacing: t.letterSpacing ?? DEFAULTS.text.element.letterSpacing, + lineHeight: t.lineHeight ?? DEFAULTS.text.element.lineHeight, + transform: t.transform ?? DEFAULTS.text.element.transform, + opacity: t.opacity ?? DEFAULTS.text.element.opacity, + blendMode: t.blendMode ?? DEFAULTS.element.blendMode, }; } @@ -214,10 +179,14 @@ export function buildStickerElement({ stickerId, name, startTime, + intrinsicWidth, + intrinsicHeight, }: { stickerId: string; name?: string; startTime: number; + intrinsicWidth?: number; + intrinsicHeight?: number; }): CreateStickerElement { const stickerNameFromId = stickerId.split(":").slice(1).pop()?.replaceAll("-", " ") ?? stickerId; @@ -225,17 +194,52 @@ export function buildStickerElement({ type: "sticker", name: name ?? stickerNameFromId, stickerId, + intrinsicWidth, + intrinsicHeight, + duration: TIMELINE_CONSTANTS.DEFAULT_ELEMENT_DURATION, + startTime, + trimStart: 0, + trimEnd: 0, + transform: { + ...DEFAULTS.element.transform, + position: { ...DEFAULTS.element.transform.position }, + }, + opacity: DEFAULTS.element.opacity, + blendMode: DEFAULTS.element.blendMode, + }; +} + +export function buildGraphicElement({ + definitionId, + name, + startTime, + params, +}: { + definitionId: string; + name?: string; + startTime: number; + params?: Partial<ParamValues>; +}): CreateGraphicElement { + const instance = buildDefaultGraphicInstance({ definitionId }); + return { + type: "graphic", + name: name ?? capitalizeFirstLetter({ string: instance.definitionId }), + definitionId: instance.definitionId, + params: { ...instance.params, ...(params ?? {}) } as ParamValues, duration: TIMELINE_CONSTANTS.DEFAULT_ELEMENT_DURATION, startTime, trimStart: 0, trimEnd: 0, - transform: { ...DEFAULT_TRANSFORM }, - opacity: DEFAULT_OPACITY, - blendMode: DEFAULT_BLEND_MODE, + transform: { + ...DEFAULTS.element.transform, + position: { ...DEFAULTS.element.transform.position }, + }, + opacity: DEFAULTS.element.opacity, + blendMode: DEFAULTS.element.blendMode, }; } -export function buildVideoElement({ +function buildVideoElement({ mediaId, name, duration, @@ -257,13 +261,17 @@ export function buildVideoElement({ sourceDuration: duration, muted: false, hidden: false, - transform: { ...DEFAULT_TRANSFORM }, - opacity: DEFAULT_OPACITY, - blendMode: DEFAULT_BLEND_MODE, + transform: { + ...DEFAULTS.element.transform, + position: { ...DEFAULTS.element.transform.position }, + }, + opacity: DEFAULTS.element.opacity, + blendMode: DEFAULTS.element.blendMode, + volume: DEFAULTS.element.volume, }; } -export function buildImageElement({ +function buildImageElement({ mediaId, name, duration, @@ -283,13 +291,16 @@ export function buildImageElement({ trimStart: 0, trimEnd: 0, hidden: false, - transform: { ...DEFAULT_TRANSFORM }, - opacity: DEFAULT_OPACITY, - blendMode: DEFAULT_BLEND_MODE, + transform: { + ...DEFAULTS.element.transform, + position: { ...DEFAULTS.element.transform.position }, + }, + opacity: DEFAULTS.element.opacity, + blendMode: DEFAULTS.element.blendMode, }; } -export function buildUploadAudioElement({ +function buildUploadAudioElement({ mediaId, name, duration, @@ -312,7 +323,7 @@ export function buildUploadAudioElement({ trimStart: 0, trimEnd: 0, sourceDuration: duration, - volume: 1, + volume: DEFAULTS.element.volume, muted: false, }; if (buffer) { @@ -375,7 +386,7 @@ export function buildLibraryAudioElement({ trimStart: 0, trimEnd: 0, sourceDuration: duration, - volume: 1, + volume: DEFAULTS.element.volume, muted: false, }; if (buffer) { @@ -407,7 +418,7 @@ export function getElementsAtTime({ return result; } -export function collectFontFamilies({ +export function getElementFontFamilies({ tracks, }: { tracks: TimelineTrack[]; diff --git a/apps/web/src/lib/timeline/index.ts b/apps/web/src/lib/timeline/index.ts index 887ff7ab..29414722 100644 --- a/apps/web/src/lib/timeline/index.ts +++ b/apps/web/src/lib/timeline/index.ts @@ -1,5 +1,7 @@ -import type { TimelineTrack } from "@/types/timeline"; +import type { TimelineTrack } from "./types"; +export * from "./types"; +export * from "./drag"; export * from "./track-utils"; export * from "./track-element-update"; export * from "./element-utils"; diff --git a/apps/web/src/lib/timeline/ripple-utils.ts b/apps/web/src/lib/timeline/ripple-utils.ts index 5f37bf29..369759f3 100644 --- a/apps/web/src/lib/timeline/ripple-utils.ts +++ b/apps/web/src/lib/timeline/ripple-utils.ts @@ -1,4 +1,4 @@ -import type { TimelineElement } from "@/types/timeline"; +import type { TimelineElement } from "@/lib/timeline"; export function rippleShiftElements({ elements, diff --git a/apps/web/src/lib/timeline/selection-hit-testing.ts b/apps/web/src/lib/timeline/selection-hit-testing.ts new file mode 100644 index 00000000..ac527600 --- /dev/null +++ b/apps/web/src/lib/timeline/selection-hit-testing.ts @@ -0,0 +1,133 @@ +import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; +import { getCumulativeHeightBefore, getTrackHeight } from "@/lib/timeline"; +import type { TimelineTrack } from "@/lib/timeline"; + +type TimelineElementRef = { trackId: string; elementId: string }; + +interface SelectionRectangle { + left: number; + top: number; + right: number; + bottom: number; +} + +function getNormalizedRectangle({ + startPos, + endPos, +}: { + startPos: { x: number; y: number }; + endPos: { x: number; y: number }; +}): SelectionRectangle { + return { + left: Math.min(startPos.x, endPos.x), + top: Math.min(startPos.y, endPos.y), + right: Math.max(startPos.x, endPos.x), + bottom: Math.max(startPos.y, endPos.y), + }; +} + +function getSelectionRectangleInContent({ + container, + scrollContainer, + startPos, + endPos, +}: { + container: HTMLElement; + scrollContainer: HTMLDivElement | null; + startPos: { x: number; y: number }; + endPos: { x: number; y: number }; +}): SelectionRectangle { + const containerRect = container.getBoundingClientRect(); + const scrollRect = scrollContainer?.getBoundingClientRect() ?? containerRect; + const scrollLeft = scrollContainer?.scrollLeft ?? 0; + const scrollTop = scrollContainer?.scrollTop ?? 0; + + const adjustedStart = { + x: startPos.x - containerRect.left + scrollLeft, + y: startPos.y - scrollRect.top + scrollTop, + }; + const adjustedEnd = { + x: endPos.x - containerRect.left + scrollLeft, + y: endPos.y - scrollRect.top + scrollTop, + }; + + return getNormalizedRectangle({ + startPos: adjustedStart, + endPos: adjustedEnd, + }); +} + +function isRectangleIntersecting({ + elementRectangle, + selectionRectangle, +}: { + elementRectangle: SelectionRectangle; + selectionRectangle: SelectionRectangle; +}): boolean { + return !( + elementRectangle.right < selectionRectangle.left || + elementRectangle.left > selectionRectangle.right || + elementRectangle.bottom < selectionRectangle.top || + elementRectangle.top > selectionRectangle.bottom + ); +} + +export function resolveTimelineElementIntersections({ + container, + scrollContainer, + tracks, + zoomLevel, + startPos, + currentPos, +}: { + container: HTMLElement; + scrollContainer: HTMLDivElement | null; + tracks: TimelineTrack[]; + zoomLevel: number; + startPos: { x: number; y: number }; + currentPos: { x: number; y: number }; +}): TimelineElementRef[] { + const selectionRectangle = getSelectionRectangleInContent({ + container, + scrollContainer, + startPos, + endPos: currentPos, + }); + const pixelsPerSecond = TIMELINE_CONSTANTS.PIXELS_PER_SECOND * zoomLevel; + const selectedElements: TimelineElementRef[] = []; + + for (const [trackIndex, track] of tracks.entries()) { + const trackTop = getCumulativeHeightBefore({ + tracks, + trackIndex, + }); + const trackHeight = getTrackHeight({ type: track.type }); + const elementTop = TIMELINE_CONSTANTS.PADDING_TOP_PX + trackTop; + const elementBottom = elementTop + trackHeight; + + for (const element of track.elements) { + const elementLeft = element.startTime * pixelsPerSecond; + const elementRight = elementLeft + element.duration * pixelsPerSecond; + const elementRectangle = { + left: elementLeft, + top: elementTop, + right: elementRight, + bottom: elementBottom, + }; + + if ( + isRectangleIntersecting({ + elementRectangle, + selectionRectangle, + }) + ) { + selectedElements.push({ + trackId: track.id, + elementId: element.id, + }); + } + } + } + + return selectedElements; +} diff --git a/apps/web/src/lib/timeline/snap-utils.ts b/apps/web/src/lib/timeline/snap-utils.ts index c7fac090..ce2e9b1f 100644 --- a/apps/web/src/lib/timeline/snap-utils.ts +++ b/apps/web/src/lib/timeline/snap-utils.ts @@ -1,4 +1,4 @@ -import type { Bookmark, TimelineTrack } from "@/types/timeline"; +import type { Bookmark, TimelineTrack } from "@/lib/timeline"; import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants"; import { BOOKMARK_TIME_EPSILON } from "@/lib/timeline/bookmarks"; import { getElementKeyframes } from "@/lib/animation"; diff --git a/apps/web/src/lib/timeline/track-element-update.ts b/apps/web/src/lib/timeline/track-element-update.ts index 6118b327..5230d4e7 100644 --- a/apps/web/src/lib/timeline/track-element-update.ts +++ b/apps/web/src/lib/timeline/track-element-update.ts @@ -1,4 +1,4 @@ -import type { TimelineElement, TimelineTrack } from "@/types/timeline"; +import type { TimelineElement, TimelineTrack } from "@/lib/timeline"; export function updateElementInTracks({ tracks, diff --git a/apps/web/src/lib/timeline/track-utils.ts b/apps/web/src/lib/timeline/track-utils.ts index 94ff21ba..cde2c814 100644 --- a/apps/web/src/lib/timeline/track-utils.ts +++ b/apps/web/src/lib/timeline/track-utils.ts @@ -4,13 +4,15 @@ import type { ElementType, VideoTrack, AudioTrack, - StickerTrack, + GraphicTrack, TextTrack, EffectTrack, TimelineElement, -} from "@/types/timeline"; +} from "@/lib/timeline"; import { + ELEMENT_TRACK_MAP, TRACK_CONFIG, + ELEMENT_TYPE_CONFIG, TRACK_GAP, } from "@/constants/timeline-constants"; import { generateUUID } from "@/utils/id"; @@ -23,16 +25,12 @@ export function canTracktHaveAudio( export function canTrackBeHidden( track: TimelineTrack, -): track is VideoTrack | TextTrack | StickerTrack | EffectTrack { +): track is VideoTrack | TextTrack | GraphicTrack | EffectTrack { return track.type !== "audio"; } -export function getTrackColor({ type }: { type: TrackType }) { - return TRACK_CONFIG[type]; -} - -export function getTrackClasses({ type }: { type: TrackType }) { - return TRACK_CONFIG[type].background.trim(); +export function getElementClasses({ type }: { type: TrackType }) { + return ELEMENT_TYPE_CONFIG[type].background.trim(); } export function getTrackHeight({ type }: { type: TrackType }): number { @@ -97,11 +95,11 @@ export function buildEmptyTrack({ elements: [], hidden: false, }; - case "sticker": + case "graphic": return { id, name: trackName, - type: "sticker", + type: "graphic", elements: [], hidden: false, }; @@ -214,14 +212,7 @@ export function canElementGoOnTrack({ elementType: ElementType; trackType: TrackType; }): boolean { - if (elementType === "text") return trackType === "text"; - if (elementType === "audio") return trackType === "audio"; - if (elementType === "sticker") return trackType === "sticker"; - if (elementType === "effect") return trackType === "effect"; - if (elementType === "video" || elementType === "image") { - return trackType === "video"; - } - return false; + return ELEMENT_TRACK_MAP[elementType] === trackType; } export function validateElementTrackCompatibility({ diff --git a/apps/web/src/types/timeline.ts b/apps/web/src/lib/timeline/types.ts index 15696b34..16e06bf1 100644 --- a/apps/web/src/types/timeline.ts +++ b/apps/web/src/lib/timeline/types.ts @@ -1,6 +1,13 @@ -import type { ElementAnimations } from "./animation"; -import type { Effect, EffectParamValues } from "./effects"; -import type { BlendMode, Transform } from "./rendering"; +import type { ElementAnimations } from "@/lib/animation/types"; +import type { Effect } from "@/lib/effects/types"; +import type { Mask } from "@/lib/masks/types"; +import type { ParamValues } from "@/lib/params"; +import type { BlendMode, Transform } from "@/lib/rendering"; + +export type ElementRef = { + trackId: string; + elementId: string; +}; export interface Bookmark { time: number; @@ -19,7 +26,7 @@ export interface TScene { updatedAt: Date; } -export type TrackType = "video" | "text" | "audio" | "sticker" | "effect"; +export type TrackType = "video" | "text" | "audio" | "graphic" | "effect"; interface BaseTrack { id: string; @@ -46,9 +53,9 @@ export interface AudioTrack extends BaseTrack { muted: boolean; } -export interface StickerTrack extends BaseTrack { - type: "sticker"; - elements: StickerElement[]; +export interface GraphicTrack extends BaseTrack { + type: "graphic"; + elements: (StickerElement | GraphicElement)[]; hidden: boolean; } @@ -62,16 +69,20 @@ export type TimelineTrack = | VideoTrack | TextTrack | AudioTrack - | StickerTrack + | GraphicTrack | EffectTrack; -export type { Transform } from "./rendering"; +export interface RetimeConfig { + rate: number; + maintainPitch?: boolean; +} interface BaseAudioElement extends BaseTimelineElement { type: "audio"; volume: number; muted?: boolean; buffer?: AudioBuffer; + retime?: RetimeConfig; } export interface UploadAudioElement extends BaseAudioElement { @@ -100,12 +111,15 @@ interface BaseTimelineElement { export interface VideoElement extends BaseTimelineElement { type: "video"; mediaId: string; + volume?: number; muted?: boolean; hidden?: boolean; + retime?: RetimeConfig; transform: Transform; opacity: number; blendMode?: BlendMode; effects?: Effect[]; + masks?: Mask[]; } export interface ImageElement extends BaseTimelineElement { @@ -116,6 +130,7 @@ export interface ImageElement extends BaseTimelineElement { opacity: number; blendMode?: BlendMode; effects?: Effect[]; + masks?: Mask[]; } export interface TextBackground { @@ -151,25 +166,34 @@ export interface TextElement extends BaseTimelineElement { export interface StickerElement extends BaseTimelineElement { type: "sticker"; stickerId: string; + /** Natural dimensions of the sticker asset, stored at insert time. Used by renderer and preview bounds to avoid split-brain geometry. */ + intrinsicWidth?: number; + intrinsicHeight?: number; + hidden?: boolean; + transform: Transform; + opacity: number; + blendMode?: BlendMode; + effects?: Effect[]; +} + +export interface GraphicElement extends BaseTimelineElement { + type: "graphic"; + definitionId: string; + params: ParamValues; hidden?: boolean; transform: Transform; opacity: number; blendMode?: BlendMode; effects?: Effect[]; + masks?: Mask[]; } export interface EffectElement extends BaseTimelineElement { type: "effect"; effectType: string; - params: EffectParamValues; + params: ParamValues; } -export type VisualElement = - | VideoElement - | ImageElement - | TextElement - | StickerElement; - export type ElementUpdatePatch = | { transform: Transform } | { opacity: number } @@ -181,10 +205,42 @@ export type TimelineElement = | ImageElement | TextElement | StickerElement + | GraphicElement | EffectElement; export type ElementType = TimelineElement["type"]; +function elementTypes<T extends ElementType[]>(...types: T): T { + return types; +} + +export const MASKABLE_ELEMENT_TYPES = elementTypes("video", "image", "graphic"); + +export type MaskableElement = Extract< + TimelineElement, + { type: (typeof MASKABLE_ELEMENT_TYPES)[number] } +>; + +export const RETIMABLE_ELEMENT_TYPES = elementTypes("video", "audio"); + +export type RetimableElement = Extract< + TimelineElement, + { type: (typeof RETIMABLE_ELEMENT_TYPES)[number] } +>; + +export const VISUAL_ELEMENT_TYPES = elementTypes( + "video", + "image", + "text", + "sticker", + "graphic", +); + +export type VisualElement = Extract< + TimelineElement, + { type: (typeof VISUAL_ELEMENT_TYPES)[number] } +>; + export type CreateUploadAudioElement = Omit<UploadAudioElement, "id">; export type CreateLibraryAudioElement = Omit<LibraryAudioElement, "id">; export type CreateAudioElement = @@ -194,6 +250,7 @@ export type CreateVideoElement = Omit<VideoElement, "id">; export type CreateImageElement = Omit<ImageElement, "id">; export type CreateTextElement = Omit<TextElement, "id">; export type CreateStickerElement = Omit<StickerElement, "id">; +export type CreateGraphicElement = Omit<GraphicElement, "id">; export type CreateEffectElement = Omit<EffectElement, "id">; export type CreateTimelineElement = | CreateAudioElement @@ -201,6 +258,7 @@ export type CreateTimelineElement = | CreateImageElement | CreateTextElement | CreateStickerElement + | CreateGraphicElement | CreateEffectElement; export interface ElementDragState { diff --git a/apps/web/src/lib/transcription/caption.ts b/apps/web/src/lib/transcription/caption.ts index c773b7b0..c7c1b7b4 100644 --- a/apps/web/src/lib/transcription/caption.ts +++ b/apps/web/src/lib/transcription/caption.ts @@ -1,4 +1,4 @@ -import type { TranscriptionSegment, CaptionChunk } from "@/types/transcription"; +import type { TranscriptionSegment, CaptionChunk } from "@/lib/transcription/types"; import { DEFAULT_WORDS_PER_CAPTION, MIN_CAPTION_DURATION_SECONDS, diff --git a/apps/web/src/types/transcription.ts b/apps/web/src/lib/transcription/types.ts index f189c6c9..9724ad70 100644 --- a/apps/web/src/types/transcription.ts +++ b/apps/web/src/lib/transcription/types.ts @@ -1,4 +1,4 @@ -import type { LanguageCode } from "./language"; +import type { LanguageCode } from "@/constants/language-constants"; export type TranscriptionLanguage = LanguageCode | "auto"; diff --git a/apps/web/src/services/renderer/effect-preview.ts b/apps/web/src/services/renderer/effect-preview.ts index 2cebec5d..b2f6f51a 100644 --- a/apps/web/src/services/renderer/effect-preview.ts +++ b/apps/web/src/services/renderer/effect-preview.ts @@ -1,194 +1,191 @@ import { createOffscreenCanvas } from "./canvas-utils"; -import { getEffect } from "@/lib/effects"; -import type { EffectParamValues } from "@/types/effects"; -import { applyMultiPassEffect } from "./webgl-utils"; -import type { EffectPassData } from "./webgl-utils"; +import { effectsRegistry, resolveEffectPasses } from "@/lib/effects"; +import { buildDefaultParamValues } from "@/lib/registry"; +import type { ParamValues } from "@/lib/params"; +import { applyMultiPassEffect } from "./webgl/webgl-utils"; +import type { EffectPassData } from "./webgl/webgl-utils"; const PREVIEW_SIZE = 160; const PREVIEW_IMAGE_PATH = "/effects/preview.jpg"; -let previewGl: WebGLRenderingContext | null = null; -let previewCanvas: OffscreenCanvas | HTMLCanvasElement | null = null; -let testSourceCanvas: OffscreenCanvas | HTMLCanvasElement | null = null; -let previewImageElement: HTMLImageElement | null = null; -const programCache = new Map<string, WebGLProgram>(); -const onReadyCallbacks = new Set<() => void>(); +class EffectPreviewService { + private previewGl: WebGLRenderingContext | null = null; + private previewCanvas: OffscreenCanvas | HTMLCanvasElement | null = null; + private testSourceCanvas: OffscreenCanvas | HTMLCanvasElement | null = null; + private previewImageElement: HTMLImageElement | null = null; + private programCache = new Map<string, WebGLProgram>(); + private onReadyCallbacks = new Set<() => void>(); -export function onPreviewImageReady({ - callback, -}: { - callback: () => void; -}): () => void { - onReadyCallbacks.add(callback); - return () => onReadyCallbacks.delete(callback); -} - -function loadPreviewImage(): void { - if (typeof window === "undefined") return; - const image = new Image(); - image.onload = () => { - testSourceCanvas = null; - for (const callback of onReadyCallbacks) { - callback(); - } - }; - image.src = PREVIEW_IMAGE_PATH; - previewImageElement = image; -} + readonly PREVIEW_SIZE = PREVIEW_SIZE; -loadPreviewImage(); - -function buildDefaultParams({ - effectType, -}: { - effectType: string; -}): EffectParamValues { - const definition = getEffect({ effectType }); - const params: EffectParamValues = {}; - for (const paramDef of definition.params) { - params[paramDef.key] = paramDef.default; + constructor() { + this.loadPreviewImage(); } - return params; -} -function createTestSource({ - width, - height, -}: { - width: number; - height: number; -}): OffscreenCanvas | HTMLCanvasElement | null { - const isImageReady = - previewImageElement?.complete && - (previewImageElement.naturalWidth ?? 0) > 0; - if (!isImageReady || !previewImageElement) { - return null; + onPreviewImageReady({ + callback, + }: { + callback: () => void; + }): () => void { + this.onReadyCallbacks.add(callback); + return () => this.onReadyCallbacks.delete(callback); } - const canvas = createOffscreenCanvas({ width, height }); - const ctx = canvas.getContext("2d") as - | CanvasRenderingContext2D - | OffscreenCanvasRenderingContext2D - | null; - if (!ctx) { - throw new Error("failed to get 2d context for test source"); - } - ctx.drawImage(previewImageElement, 0, 0, width, height); - return canvas; -} + renderPreview({ + effectType, + params, + targetCanvas, + uniformDimensions, + }: { + effectType: string; + params: ParamValues; + targetCanvas: HTMLCanvasElement; + uniformDimensions?: { width: number; height: number }; + }): void { + const size = PREVIEW_SIZE; + const source = this.getTestSource({ width: size, height: size }); + if (!source) return; -function getOrCreatePreviewContext({ - width, - height, -}: { - width: number; - height: number; -}): { canvas: OffscreenCanvas | HTMLCanvasElement; gl: WebGLRenderingContext } { - if (!previewCanvas || !previewGl) { - previewCanvas = createOffscreenCanvas({ width, height }); - previewGl = previewCanvas.getContext("webgl", { - premultipliedAlpha: false, - }) as WebGLRenderingContext | null; - if (!previewGl) { - throw new Error("WebGL not supported"); + const definition = effectsRegistry.get(effectType); + const resolvedParams = + Object.keys(params).length > 0 + ? params + : buildDefaultParamValues(definition.params); + + const passes = resolveEffectPasses({ + definition, + effectParams: resolvedParams, + width: uniformDimensions?.width ?? size, + height: uniformDimensions?.height ?? size, + }); + const result = this.applyWebGlEffect({ + source, + width: size, + height: size, + passes, + }); + + const targetCtx = targetCanvas.getContext( + "2d", + ) as CanvasRenderingContext2D | null; + if (targetCtx) { + targetCanvas.width = size; + targetCanvas.height = size; + targetCtx.drawImage(result, 0, 0, size, size); } } - if (previewCanvas.width !== width || previewCanvas.height !== height) { - previewCanvas.width = width; - previewCanvas.height = height; - } - return { canvas: previewCanvas, gl: previewGl }; -} -function getTestSource({ - width, - height, -}: { - width: number; - height: number; -}): CanvasImageSource | null { - if ( - !testSourceCanvas || - testSourceCanvas.width !== width || - testSourceCanvas.height !== height - ) { - testSourceCanvas = createTestSource({ width, height }); + private loadPreviewImage(): void { + if (typeof window === "undefined") return; + const image = new Image(); + image.onload = () => { + this.testSourceCanvas = null; + for (const callback of this.onReadyCallbacks) { + callback(); + } + }; + image.src = PREVIEW_IMAGE_PATH; + this.previewImageElement = image; } - return testSourceCanvas; -} - -function applyWebGlEffect({ - source, - width, - height, - passes, -}: { - source: CanvasImageSource; - width: number; - height: number; - passes: EffectPassData[]; -}): OffscreenCanvas | HTMLCanvasElement { - const { canvas: glCanvas, gl } = getOrCreatePreviewContext({ width, height }); - applyMultiPassEffect({ context: gl, source, width, height, passes, programCache }); + private createTestSource({ + width, + height, + }: { + width: number; + height: number; + }): OffscreenCanvas | HTMLCanvasElement | null { + const isImageReady = + this.previewImageElement?.complete && + (this.previewImageElement.naturalWidth ?? 0) > 0; + if (!isImageReady || !this.previewImageElement) { + return null; + } - const outputCanvas = createOffscreenCanvas({ width, height }); - const outputCtx = outputCanvas.getContext("2d") as - | CanvasRenderingContext2D - | OffscreenCanvasRenderingContext2D - | null; - if (outputCtx) { - outputCtx.drawImage(glCanvas, 0, 0, width, height); + const canvas = createOffscreenCanvas({ width, height }); + const ctx = canvas.getContext("2d") as + | CanvasRenderingContext2D + | OffscreenCanvasRenderingContext2D + | null; + if (!ctx) { + throw new Error("failed to get 2d context for test source"); + } + ctx.drawImage(this.previewImageElement, 0, 0, width, height); + return canvas; } - return outputCanvas; -} -export function renderPreview({ - effectType, - params, - targetCanvas, -}: { - effectType: string; - params: EffectParamValues; - targetCanvas: HTMLCanvasElement; -}): void { - const size = PREVIEW_SIZE; - const source = getTestSource({ width: size, height: size }); - if (!source) return; + private getOrCreatePreviewContext({ + width, + height, + }: { + width: number; + height: number; + }): { canvas: OffscreenCanvas | HTMLCanvasElement; gl: WebGLRenderingContext } { + if (!this.previewCanvas || !this.previewGl) { + this.previewCanvas = createOffscreenCanvas({ width, height }); + this.previewGl = this.previewCanvas.getContext("webgl", { + premultipliedAlpha: false, + }) as WebGLRenderingContext | null; + if (!this.previewGl) { + throw new Error("WebGL not supported"); + } + } + if (this.previewCanvas.width !== width || this.previewCanvas.height !== height) { + this.previewCanvas.width = width; + this.previewCanvas.height = height; + } + return { canvas: this.previewCanvas, gl: this.previewGl }; + } - const definition = getEffect({ effectType }); - const resolvedParams = - Object.keys(params).length > 0 - ? params - : buildDefaultParams({ effectType }); + private getTestSource({ + width, + height, + }: { + width: number; + height: number; + }): CanvasImageSource | null { + if ( + !this.testSourceCanvas || + this.testSourceCanvas.width !== width || + this.testSourceCanvas.height !== height + ) { + this.testSourceCanvas = this.createTestSource({ width, height }); + } + return this.testSourceCanvas; + } - const passes = definition.renderer.passes.map((pass) => ({ - fragmentShader: pass.fragmentShader, - uniforms: pass.uniforms({ - effectParams: resolvedParams, - width: size, - height: size, - }), - })); - const result = applyWebGlEffect({ + private applyWebGlEffect({ source, - width: size, - height: size, + width, + height, passes, - }); + }: { + source: CanvasImageSource; + width: number; + height: number; + passes: EffectPassData[]; + }): OffscreenCanvas | HTMLCanvasElement { + const { canvas: glCanvas, gl } = this.getOrCreatePreviewContext({ width, height }); + + applyMultiPassEffect({ + context: gl, + source, + width, + height, + passes, + programCache: this.programCache, + }); - const targetCtx = targetCanvas.getContext( - "2d", - ) as CanvasRenderingContext2D | null; - if (targetCtx) { - targetCanvas.width = size; - targetCanvas.height = size; - targetCtx.drawImage(result, 0, 0, size, size); + const outputCanvas = createOffscreenCanvas({ width, height }); + const outputCtx = outputCanvas.getContext("2d") as + | CanvasRenderingContext2D + | OffscreenCanvasRenderingContext2D + | null; + if (outputCtx) { + outputCtx.drawImage(glCanvas, 0, 0, width, height); + } + return outputCanvas; } } -export const effectPreviewService = { - renderPreview, - onPreviewImageReady, - PREVIEW_SIZE, -}; +export const effectPreviewService = new EffectPreviewService(); diff --git a/apps/web/src/services/renderer/mask-feather.ts b/apps/web/src/services/renderer/mask-feather.ts new file mode 100644 index 00000000..39ad80a8 --- /dev/null +++ b/apps/web/src/services/renderer/mask-feather.ts @@ -0,0 +1,54 @@ +import jfaDistanceShader from "@/lib/masks/shaders/jfa-distance.frag.glsl"; +import { getWebGLContext, readResult } from "./webgl/webgl-context"; +import { computeSignedDistanceField, runPass } from "./webgl/jfa"; +import { compileProgram, createTexture } from "./webgl/webgl-utils"; + +export function applyMaskFeather({ + maskCanvas, + width, + height, + feather, +}: { + maskCanvas: CanvasImageSource; + width: number; + height: number; + feather: number; +}): OffscreenCanvas | HTMLCanvasElement { + const { context, programCache } = getWebGLContext({ width, height }); + const sourceTexture = createTexture({ context, source: maskCanvas }); + + const sdf = computeSignedDistanceField({ + context, + programCache, + sourceTexture, + width, + height, + }); + + const distanceProgram = compileProgram({ + context, + fragmentShaderSource: jfaDistanceShader, + programCache, + }); + + runPass({ + context, + program: distanceProgram, + inputTexture: sdf.insideTexture, + target: null, + width, + height, + uniforms: { u_feather_half: feather / 2.0 }, + extraBindings: [ + { unit: 1, texture: sdf.outsideTexture, name: "u_jfa_outside" }, + ], + }); + + context.deleteTexture(sourceTexture); + sdf.cleanup(); + + context.bindTexture(context.TEXTURE_2D, null); + context.bindFramebuffer(context.FRAMEBUFFER, null); + + return readResult({ width, height }); +} diff --git a/apps/web/src/services/renderer/nodes/blur-background-node.ts b/apps/web/src/services/renderer/nodes/blur-background-node.ts new file mode 100644 index 00000000..7f4d06fc --- /dev/null +++ b/apps/web/src/services/renderer/nodes/blur-background-node.ts @@ -0,0 +1,149 @@ +import { TIME_EPSILON_SECONDS } from "@/constants/animation-constants"; +import { buildGaussianBlurPasses } from "@/lib/effects/definitions/blur"; +import { getSourceTimeAtClipTime } from "@/lib/retime"; +import { videoCache } from "@/services/video-cache/service"; +import type { RetimeConfig } from "@/lib/timeline"; +import type { CanvasRenderer } from "../canvas-renderer"; +import { createOffscreenCanvas } from "../canvas-utils"; +import { webglEffectRenderer } from "../webgl/webgl-effect-renderer"; +import { BaseNode } from "./base-node"; +import { loadImageSource, type CachedImageSource } from "./image-node"; + +export type BlurBackgroundNodeParams = { + mediaId: string; + url: string; + file: File; + mediaType: "video" | "image"; + duration: number; + timeOffset: number; + trimStart: number; + trimEnd: number; + retime?: RetimeConfig; + blurIntensity: number; +}; + +type BackdropSource = { + source: CanvasImageSource; + width: number; + height: number; +}; + +export class BlurBackgroundNode extends BaseNode<BlurBackgroundNodeParams> { + private cachedImageSource: Promise<CachedImageSource> | null; + + constructor(params: BlurBackgroundNodeParams) { + super(params); + this.cachedImageSource = + params.mediaType === "image" ? loadImageSource(params.url) : null; + } + + private isInRange({ time }: { time: number }): boolean { + const localTime = time - this.params.timeOffset; + return ( + localTime >= -TIME_EPSILON_SECONDS && localTime < this.params.duration + ); + } + + private getSourceLocalTime({ time }: { time: number }): number { + const clipTime = time - this.params.timeOffset; + return ( + this.params.trimStart + + getSourceTimeAtClipTime({ + clipTime, + retime: this.params.retime, + }) + ); + } + + private async getBackdropSource({ + time, + }: { + time: number; + }): Promise<BackdropSource | null> { + if (this.params.mediaType === "video") { + const frame = await videoCache.getFrameAt({ + mediaId: this.params.mediaId, + file: this.params.file, + time: this.getSourceLocalTime({ time }), + }); + + if (!frame) { + return null; + } + + return { + source: frame.canvas, + width: frame.canvas.width, + height: frame.canvas.height, + }; + } + + if (!this.cachedImageSource) { + return null; + } + + const { source, width, height } = await this.cachedImageSource; + return { source, width, height }; + } + + async render({ renderer, time }: { renderer: CanvasRenderer; time: number }) { + await super.render({ renderer, time }); + + if (!this.isInRange({ time })) { + return; + } + + const backdropSource = await this.getBackdropSource({ time }); + if (!backdropSource) { + return; + } + + const offscreen = createOffscreenCanvas({ + width: renderer.width, + height: renderer.height, + }); + const offscreenCtx = offscreen.getContext("2d") as + | CanvasRenderingContext2D + | OffscreenCanvasRenderingContext2D + | null; + if (!offscreenCtx) { + return; + } + + const coverScale = Math.max( + renderer.width / backdropSource.width, + renderer.height / backdropSource.height, + ); + const scaledWidth = backdropSource.width * coverScale; + const scaledHeight = backdropSource.height * coverScale; + const offsetX = (renderer.width - scaledWidth) / 2; + const offsetY = (renderer.height - scaledHeight) / 2; + + offscreenCtx.drawImage( + backdropSource.source, + offsetX, + offsetY, + scaledWidth, + scaledHeight, + ); + + const passes = buildGaussianBlurPasses({ + sigmaX: this.params.blurIntensity * (renderer.width / 1920), + sigmaY: this.params.blurIntensity * (renderer.height / 1080), + }); + const effectResult = webglEffectRenderer.applyEffect({ + source: offscreen as CanvasImageSource, + width: renderer.width, + height: renderer.height, + passes, + }); + + renderer.context.drawImage( + effectResult, + 0, + 0, + renderer.width, + renderer.height, + ); + } +} diff --git a/apps/web/src/services/renderer/nodes/composite-effect-node.ts b/apps/web/src/services/renderer/nodes/composite-effect-node.ts deleted file mode 100644 index 3fbfffc1..00000000 --- a/apps/web/src/services/renderer/nodes/composite-effect-node.ts +++ /dev/null @@ -1,77 +0,0 @@ -import type { CanvasRenderer } from "../canvas-renderer"; -import { createOffscreenCanvas } from "../canvas-utils"; -import { getEffect } from "@/lib/effects"; -import type { EffectParamValues } from "@/types/effects"; -import { BaseNode } from "./base-node"; -import { webglEffectRenderer } from "../webgl-effect-renderer"; - -export type CompositeEffectNodeParams = { - contentNodes: BaseNode[]; - effectType: string; - effectParams: EffectParamValues; - scale: number; -}; - -export class CompositeEffectNode extends BaseNode<CompositeEffectNodeParams> { - async render({ - renderer, - time, - }: { - renderer: CanvasRenderer; - time: number; - }): Promise<void> { - const offscreen = createOffscreenCanvas({ - width: renderer.width, - height: renderer.height, - }); - const offscreenCtx = offscreen.getContext("2d") as OffscreenCanvasRenderingContext2D | null; - if (!offscreenCtx) { - throw new Error("failed to get offscreen canvas context"); - } - - const originalContext = renderer.context; - renderer.context = offscreenCtx; - - for (const node of this.params.contentNodes) { - await node.render({ renderer, time }); - } - - renderer.context = originalContext; - - const effectDefinition = getEffect({ effectType: this.params.effectType }); - const scale = this.params.scale; - const scaledWidth = renderer.width * scale; - const scaledHeight = renderer.height * scale; - const offsetX = (renderer.width - scaledWidth) / 2; - const offsetY = (renderer.height - scaledHeight) / 2; - - const passes = effectDefinition.renderer.passes.map((pass) => ({ - fragmentShader: pass.fragmentShader, - uniforms: pass.uniforms({ - effectParams: this.params.effectParams, - width: renderer.width, - height: renderer.height, - }), - })); - const effectResult = webglEffectRenderer.applyEffect({ - source: offscreen as CanvasImageSource, - width: renderer.width, - height: renderer.height, - passes, - }); - - renderer.context.save(); - renderer.context.drawImage( - effectResult, - 0, - 0, - renderer.width, - renderer.height, - offsetX, - offsetY, - scaledWidth, - scaledHeight, - ); - renderer.context.restore(); - } -} diff --git a/apps/web/src/services/renderer/nodes/effect-layer-node.ts b/apps/web/src/services/renderer/nodes/effect-layer-node.ts index 3d84be2b..82aee1b3 100644 --- a/apps/web/src/services/renderer/nodes/effect-layer-node.ts +++ b/apps/web/src/services/renderer/nodes/effect-layer-node.ts @@ -1,14 +1,14 @@ import type { CanvasRenderer } from "../canvas-renderer"; -import { getEffect } from "@/lib/effects"; -import type { EffectParamValues } from "@/types/effects"; +import { effectsRegistry, resolveEffectPasses } from "@/lib/effects"; +import type { ParamValues } from "@/lib/params"; import { BaseNode } from "./base-node"; -import { webglEffectRenderer } from "../webgl-effect-renderer"; +import { webglEffectRenderer } from "../webgl/webgl-effect-renderer"; const TIME_EPSILON = 1e-6; export type EffectLayerNodeParams = { effectType: string; - effectParams: EffectParamValues; + effectParams: ParamValues; timeOffset: number; duration: number; }; @@ -49,18 +49,17 @@ export class EffectLayerNode extends BaseNode<EffectLayerNodeParams> { const source = renderer.context.canvas as CanvasImageSource; - const effectDefinition = getEffect({ - effectType: this.params.effectType, - }); + const effectDefinition = effectsRegistry.get(this.params.effectType); - const passes = effectDefinition.renderer.passes.map((pass) => ({ - fragmentShader: pass.fragmentShader, - uniforms: pass.uniforms({ - effectParams: this.params.effectParams, - width: renderer.width, - height: renderer.height, - }), - })); + const passes = resolveEffectPasses({ + definition: effectDefinition, + effectParams: this.params.effectParams, + width: renderer.width, + height: renderer.height, + }); + if (passes.length === 0) { + return; + } const effectResult = webglEffectRenderer.applyEffect({ source, width: renderer.width, diff --git a/apps/web/src/services/renderer/nodes/graphic-node.ts b/apps/web/src/services/renderer/nodes/graphic-node.ts new file mode 100644 index 00000000..b258a353 --- /dev/null +++ b/apps/web/src/services/renderer/nodes/graphic-node.ts @@ -0,0 +1,92 @@ +import type { CanvasRenderer } from "../canvas-renderer"; +import { createOffscreenCanvas } from "../canvas-utils"; +import { + DEFAULT_GRAPHIC_SOURCE_SIZE, + getGraphicDefinition, + registerDefaultGraphics, +} from "@/lib/graphics"; +import { resolveGraphicParamsAtTime } from "@/lib/animation"; +import type { ParamValues } from "@/lib/params"; +import { VisualNode, type VisualNodeParams } from "./visual-node"; + +export interface GraphicNodeParams extends VisualNodeParams { + definitionId: string; + params: ParamValues; +} + +export class GraphicNode extends VisualNode<GraphicNodeParams> { + private cachedKey: string | null = null; + private cachedSource: OffscreenCanvas | HTMLCanvasElement | null = null; + + constructor(params: GraphicNodeParams) { + super(params); + registerDefaultGraphics(); + } + + private getSource({ + localTime, + }: { + localTime: number; + }): OffscreenCanvas | HTMLCanvasElement | null { + const definition = getGraphicDefinition({ + definitionId: this.params.definitionId, + }); + const resolvedParams = resolveGraphicParamsAtTime({ + element: this.params, + localTime, + }); + const cacheKey = JSON.stringify({ + definitionId: this.params.definitionId, + params: resolvedParams, + }); + if (this.cachedSource && this.cachedKey === cacheKey) { + return this.cachedSource; + } + + const canvas = createOffscreenCanvas({ + width: DEFAULT_GRAPHIC_SOURCE_SIZE, + height: DEFAULT_GRAPHIC_SOURCE_SIZE, + }); + const ctx = canvas.getContext("2d") as + | CanvasRenderingContext2D + | OffscreenCanvasRenderingContext2D + | null; + if (!ctx) { + return null; + } + + definition.render({ + ctx, + params: resolvedParams, + width: DEFAULT_GRAPHIC_SOURCE_SIZE, + height: DEFAULT_GRAPHIC_SOURCE_SIZE, + }); + + this.cachedKey = cacheKey; + this.cachedSource = canvas; + return canvas; + } + + async render({ renderer, time }: { renderer: CanvasRenderer; time: number }) { + await super.render({ renderer, time }); + + if (!this.isInRange({ time })) { + return; + } + + const source = this.getSource({ + localTime: this.getAnimationLocalTime({ time }), + }); + if (!source) { + return; + } + + this.renderVisual({ + renderer, + source, + sourceWidth: DEFAULT_GRAPHIC_SOURCE_SIZE, + sourceHeight: DEFAULT_GRAPHIC_SOURCE_SIZE, + timelineTime: time, + }); + } +} diff --git a/apps/web/src/services/renderer/nodes/image-node.ts b/apps/web/src/services/renderer/nodes/image-node.ts index 6720a5e5..7d74f511 100644 --- a/apps/web/src/services/renderer/nodes/image-node.ts +++ b/apps/web/src/services/renderer/nodes/image-node.ts @@ -6,7 +6,7 @@ export interface ImageNodeParams extends VisualNodeParams { maxSourceSize?: number; } -interface CachedImageSource { +export interface CachedImageSource { source: HTMLImageElement | OffscreenCanvas; width: number; height: number; @@ -14,7 +14,7 @@ interface CachedImageSource { const imageSourceCache = new Map<string, Promise<CachedImageSource>>(); -function loadImageSource( +export function loadImageSource( url: string, maxSourceSize?: number, ): Promise<CachedImageSource> { diff --git a/apps/web/src/services/renderer/nodes/sticker-node.ts b/apps/web/src/services/renderer/nodes/sticker-node.ts index da271685..71cb37b5 100644 --- a/apps/web/src/services/renderer/nodes/sticker-node.ts +++ b/apps/web/src/services/renderer/nodes/sticker-node.ts @@ -4,6 +4,8 @@ import { VisualNode, type VisualNodeParams } from "./visual-node"; export interface StickerNodeParams extends VisualNodeParams { stickerId: string; + intrinsicWidth?: number; + intrinsicHeight?: number; } interface CachedStickerSource { @@ -14,7 +16,7 @@ interface CachedStickerSource { const stickerSourceCache = new Map<string, Promise<CachedStickerSource>>(); -function loadStickerSource(stickerId: string): Promise<CachedStickerSource> { +function loadStickerSource({ stickerId }: { stickerId: string }): Promise<CachedStickerSource> { const cached = stickerSourceCache.get(stickerId); if (cached) return cached; @@ -33,7 +35,7 @@ function loadStickerSource(stickerId: string): Promise<CachedStickerSource> { image.src = url; }); - return { source: image, width: 200, height: 200 }; + return { source: image, width: image.naturalWidth, height: image.naturalHeight }; })(); stickerSourceCache.set(stickerId, promise); @@ -45,7 +47,7 @@ export class StickerNode extends VisualNode<StickerNodeParams> { constructor(params: StickerNodeParams) { super(params); - this.cachedSource = loadStickerSource(params.stickerId); + this.cachedSource = loadStickerSource({ stickerId: params.stickerId }); } async render({ renderer, time }: { renderer: CanvasRenderer; time: number }) { @@ -55,13 +57,19 @@ export class StickerNode extends VisualNode<StickerNodeParams> { return; } - const { source, width, height } = await this.cachedSource; + const { source, width: loadedWidth, height: loadedHeight } = + await this.cachedSource; + + // Prefer element-stored intrinsic dimensions as the geometry authority. + // The loaded image is only the drawable source. + const sourceWidth = this.params.intrinsicWidth ?? loadedWidth; + const sourceHeight = this.params.intrinsicHeight ?? loadedHeight; this.renderVisual({ renderer, source, - sourceWidth: width, - sourceHeight: height, + sourceWidth, + sourceHeight, timelineTime: time, }); } diff --git a/apps/web/src/services/renderer/nodes/text-node.ts b/apps/web/src/services/renderer/nodes/text-node.ts index 86e24fdf..031c43b3 100644 --- a/apps/web/src/services/renderer/nodes/text-node.ts +++ b/apps/web/src/services/renderer/nodes/text-node.ts @@ -1,12 +1,8 @@ import type { CanvasRenderer } from "../canvas-renderer"; import { createOffscreenCanvas } from "../canvas-utils"; import { BaseNode } from "./base-node"; -import type { TextElement } from "@/types/timeline"; +import type { TextElement } from "@/lib/timeline"; import { - DEFAULT_TEXT_BACKGROUND, - DEFAULT_TEXT_ELEMENT, - DEFAULT_LINE_HEIGHT, - FONT_SIZE_SCALE_REFERENCE, CORNER_RADIUS_MAX, CORNER_RADIUS_MIN, } from "@/constants/text-constants"; @@ -14,34 +10,20 @@ import { getMetricAscent, getMetricDescent, getTextBackgroundRect, - measureTextBlock, + setCanvasLetterSpacing, } from "@/lib/text/layout"; +import { measureTextElement } from "@/lib/text/measure-element"; import { getElementLocalTime, resolveColorAtTime, - resolveNumberAtTime, resolveOpacityAtTime, resolveTransformAtTime, } from "@/lib/animation"; import { resolveEffectParamsAtTime } from "@/lib/animation/effect-param-channel"; -import { getEffect } from "@/lib/effects"; -import { webglEffectRenderer } from "../webgl-effect-renderer"; +import { effectsRegistry, resolveEffectPasses } from "@/lib/effects"; +import { webglEffectRenderer } from "../webgl/webgl-effect-renderer"; import { clamp } from "@/utils/math"; -function scaleFontSize({ - fontSize, - canvasHeight, -}: { - fontSize: number; - canvasHeight: number; -}): number { - return fontSize * (canvasHeight / FONT_SIZE_SCALE_REFERENCE); -} - -function quoteFontFamily({ fontFamily }: { fontFamily: string }): string { - return `"${fontFamily.replace(/"/g, '\\"')}"`; -} - const TEXT_DECORATION_THICKNESS_RATIO = 0.07; const STRIKETHROUGH_VERTICAL_RATIO = 0.35; @@ -64,9 +46,15 @@ function drawTextDecoration({ }): void { if (textDecoration === "none" || !textDecoration) return; - const thickness = Math.max(1, scaledFontSize * TEXT_DECORATION_THICKNESS_RATIO); + const thickness = Math.max( + 1, + scaledFontSize * TEXT_DECORATION_THICKNESS_RATIO, + ); const ascent = getMetricAscent({ metrics, fallbackFontSize: scaledFontSize }); - const descent = getMetricDescent({ metrics, fallbackFontSize: scaledFontSize }); + const descent = getMetricDescent({ + metrics, + fallbackFontSize: scaledFontSize, + }); let xStart = -lineWidth / 2; if (textAlign === "left") xStart = 0; @@ -121,19 +109,6 @@ export class TextNode extends BaseNode<TextNodeParams> { const x = transform.position.x + this.params.canvasCenter.x; const y = transform.position.y + this.params.canvasCenter.y; - const fontWeight = this.params.fontWeight === "bold" ? "bold" : "normal"; - const fontStyle = this.params.fontStyle === "italic" ? "italic" : "normal"; - const scaledFontSize = scaleFontSize({ - fontSize: this.params.fontSize, - canvasHeight: this.params.canvasHeight, - }); - const fontFamily = quoteFontFamily({ fontFamily: this.params.fontFamily }); - const fontString = `${fontStyle} ${fontWeight} ${scaledFontSize}px ${fontFamily}, sans-serif`; - const letterSpacing = this.params.letterSpacing ?? 0; - const lineHeight = this.params.lineHeight ?? DEFAULT_LINE_HEIGHT; - const lines = this.params.content.split("\n"); - const lineHeightPx = scaledFontSize * lineHeight; - const fontSizeRatio = this.params.fontSize / DEFAULT_TEXT_ELEMENT.fontSize; const baseline = this.params.textBaseline ?? "middle"; const blendMode = ( this.params.blendMode && this.params.blendMode !== "normal" @@ -141,73 +116,49 @@ export class TextNode extends BaseNode<TextNodeParams> { : "source-over" ) as GlobalCompositeOperation; - renderer.context.save(); - renderer.context.font = fontString; - renderer.context.textBaseline = baseline; - if ("letterSpacing" in renderer.context) { - (renderer.context as CanvasRenderingContext2D & { letterSpacing: string }).letterSpacing = `${letterSpacing}px`; - } - const lineMetrics = lines.map((line) => renderer.context.measureText(line)); - renderer.context.restore(); + const { + scaledFontSize, + fontString, + letterSpacing, + lineHeightPx, + lines, + lineMetrics, + block, + fontSizeRatio, + resolvedBackground, + } = measureTextElement({ + element: this.params, + canvasHeight: this.params.canvasHeight, + localTime, + ctx: renderer.context, + }); const lineCount = lines.length; - const block = measureTextBlock({ lineMetrics, lineHeightPx, fallbackFontSize: scaledFontSize }); - const textColor = resolveColorAtTime({ + const textColor = resolveColorAtTime({ baseColor: this.params.color, animations: this.params.animations, propertyPath: "color", localTime, }); - const bg = this.params.background; - const resolvedBackground = { - ...bg, + const resolvedBackgroundWithColor = { + ...resolvedBackground, color: resolveColorAtTime({ - baseColor: bg.color, + baseColor: this.params.background.color, animations: this.params.animations, propertyPath: "background.color", localTime, }), - paddingX: resolveNumberAtTime({ - baseValue: bg.paddingX ?? DEFAULT_TEXT_BACKGROUND.paddingX, - animations: this.params.animations, - propertyPath: "background.paddingX", - localTime, - }), - paddingY: resolveNumberAtTime({ - baseValue: bg.paddingY ?? DEFAULT_TEXT_BACKGROUND.paddingY, - animations: this.params.animations, - propertyPath: "background.paddingY", - localTime, - }), - offsetX: resolveNumberAtTime({ - baseValue: bg.offsetX ?? DEFAULT_TEXT_BACKGROUND.offsetX, - animations: this.params.animations, - propertyPath: "background.offsetX", - localTime, - }), - offsetY: resolveNumberAtTime({ - baseValue: bg.offsetY ?? DEFAULT_TEXT_BACKGROUND.offsetY, - animations: this.params.animations, - propertyPath: "background.offsetY", - localTime, - }), - cornerRadius: resolveNumberAtTime({ - baseValue: bg.cornerRadius ?? CORNER_RADIUS_MIN, - animations: this.params.animations, - propertyPath: "background.cornerRadius", - localTime, - }), }; - const drawContent = (ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) => { + const drawContent = ( + ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, + ) => { ctx.font = fontString; ctx.textAlign = this.params.textAlign; ctx.textBaseline = baseline; ctx.fillStyle = textColor; - if ("letterSpacing" in ctx) { - (ctx as CanvasRenderingContext2D & { letterSpacing: string }).letterSpacing = `${letterSpacing}px`; - } + setCanvasLetterSpacing({ ctx, letterSpacingPx: letterSpacing }); if ( this.params.background.enabled && @@ -218,17 +169,29 @@ export class TextNode extends BaseNode<TextNodeParams> { const backgroundRect = getTextBackgroundRect({ textAlign: this.params.textAlign, block, - background: resolvedBackground, + background: resolvedBackgroundWithColor, fontSizeRatio, }); if (backgroundRect) { - const p = clamp({ value: resolvedBackground.cornerRadius, min: CORNER_RADIUS_MIN, max: CORNER_RADIUS_MAX }) / 100; - const radius = Math.min(backgroundRect.width, backgroundRect.height) / 2 * p; - ctx.fillStyle = resolvedBackground.color; - ctx.beginPath(); - ctx.roundRect(backgroundRect.left, backgroundRect.top, backgroundRect.width, backgroundRect.height, radius); - ctx.fill(); - ctx.fillStyle = textColor; + const p = + clamp({ + value: resolvedBackgroundWithColor.cornerRadius, + min: CORNER_RADIUS_MIN, + max: CORNER_RADIUS_MAX, + }) / 100; + const radius = + (Math.min(backgroundRect.width, backgroundRect.height) / 2) * p; + ctx.fillStyle = resolvedBackgroundWithColor.color; + ctx.beginPath(); + ctx.roundRect( + backgroundRect.left, + backgroundRect.top, + backgroundRect.width, + backgroundRect.height, + radius, + ); + ctx.fill(); + ctx.fillStyle = textColor; } } @@ -247,15 +210,18 @@ export class TextNode extends BaseNode<TextNodeParams> { } }; - const applyTransform = (ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D) => { + const applyTransform = ( + ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, + ) => { ctx.translate(x, y); - ctx.scale(transform.scale, transform.scale); + ctx.scale(transform.scaleX, transform.scaleY); if (transform.rotate) { ctx.rotate((transform.rotate * Math.PI) / 180); } }; - const enabledEffects = this.params.effects?.filter((effect) => effect.enabled) ?? []; + const enabledEffects = + this.params.effects?.filter((effect) => effect.enabled) ?? []; if (enabledEffects.length === 0) { renderer.context.save(); @@ -269,11 +235,16 @@ export class TextNode extends BaseNode<TextNodeParams> { // Effects path: render text to a same-size offscreen canvas so the blur // can spread into the surrounding transparent area without hard clipping. - const offscreen = createOffscreenCanvas({ width: renderer.width, height: renderer.height }); - const offscreenCtx = offscreen.getContext("2d") as OffscreenCanvasRenderingContext2D | null; + const offscreen = createOffscreenCanvas({ + width: renderer.width, + height: renderer.height, + }); + const offscreenCtx = offscreen.getContext( + "2d", + ) as OffscreenCanvasRenderingContext2D | null; if (!offscreenCtx) { - renderer.context.save(); + renderer.context.save(); applyTransform(renderer.context); renderer.context.globalCompositeOperation = blendMode; renderer.context.globalAlpha = opacity; @@ -294,15 +265,13 @@ export class TextNode extends BaseNode<TextNodeParams> { animations: this.params.animations, localTime, }); - const definition = getEffect({ effectType: effect.type }); - const passes = definition.renderer.passes.map((pass) => ({ - fragmentShader: pass.fragmentShader, - uniforms: pass.uniforms({ - effectParams: resolvedParams, - width: renderer.width, - height: renderer.height, - }), - })); + const definition = effectsRegistry.get(effect.type); + const passes = resolveEffectPasses({ + definition, + effectParams: resolvedParams, + width: renderer.width, + height: renderer.height, + }); currentSource = webglEffectRenderer.applyEffect({ source: currentSource, width: renderer.width, diff --git a/apps/web/src/services/renderer/nodes/video-node.ts b/apps/web/src/services/renderer/nodes/video-node.ts index 503c9c03..af39d26f 100644 --- a/apps/web/src/services/renderer/nodes/video-node.ts +++ b/apps/web/src/services/renderer/nodes/video-node.ts @@ -17,6 +17,7 @@ export class VideoNode extends VisualNode<VideoNodeParams> { } const videoTime = this.getSourceLocalTime({ time }); + const frame = await videoCache.getFrameAt({ mediaId: this.params.mediaId, file: this.params.file, diff --git a/apps/web/src/services/renderer/nodes/visual-node.ts b/apps/web/src/services/renderer/nodes/visual-node.ts index 6c50aa12..e0f87c52 100644 --- a/apps/web/src/services/renderer/nodes/visual-node.ts +++ b/apps/web/src/services/renderer/nodes/visual-node.ts @@ -1,10 +1,11 @@ import type { CanvasRenderer } from "../canvas-renderer"; import { createOffscreenCanvas } from "../canvas-utils"; import { BaseNode } from "./base-node"; -import type { Effect } from "@/types/effects"; -import type { BlendMode } from "@/types/rendering"; -import type { Transform } from "@/types/timeline"; -import type { ElementAnimations } from "@/types/animation"; +import type { Effect } from "@/lib/effects/types"; +import type { Mask } from "@/lib/masks/types"; +import type { BlendMode, Transform } from "@/lib/rendering"; +import type { ElementAnimations } from "@/lib/animation/types"; +import type { RetimeConfig } from "@/lib/timeline"; import { getElementLocalTime, resolveOpacityAtTime, @@ -12,26 +13,38 @@ import { } from "@/lib/animation"; import { resolveEffectParamsAtTime } from "@/lib/animation/effect-param-channel"; import { TIME_EPSILON_SECONDS } from "@/constants/animation-constants"; -import { getEffect } from "@/lib/effects"; -import { webglEffectRenderer } from "../webgl-effect-renderer"; +import { effectsRegistry, resolveEffectPasses } from "@/lib/effects"; +import { masksRegistry } from "@/lib/masks"; +import { getSourceTimeAtClipTime } from "@/lib/retime"; +import { webglEffectRenderer } from "../webgl/webgl-effect-renderer"; +import { applyMaskFeather } from "../mask-feather"; export interface VisualNodeParams { duration: number; timeOffset: number; trimStart: number; trimEnd: number; + retime?: RetimeConfig; transform: Transform; animations?: ElementAnimations; opacity: number; blendMode?: BlendMode; effects?: Effect[]; + masks?: Mask[]; } export abstract class VisualNode< Params extends VisualNodeParams = VisualNodeParams, > extends BaseNode<Params> { protected getSourceLocalTime({ time }: { time: number }): number { - return time - this.params.timeOffset + this.params.trimStart; + const clipTime = time - this.params.timeOffset; + return ( + this.params.trimStart + + getSourceTimeAtClipTime({ + clipTime, + retime: this.params.retime, + }) + ); } protected getAnimationLocalTime({ time }: { time: number }): number { @@ -43,10 +56,10 @@ export abstract class VisualNode< } protected isInRange({ time }: { time: number }): boolean { - const localTime = this.getSourceLocalTime({ time }); + const localTime = time - this.params.timeOffset; return ( - localTime >= this.params.trimStart - TIME_EPSILON_SECONDS && - localTime < this.params.trimStart + this.params.duration + localTime >= -TIME_EPSILON_SECONDS && + localTime < this.params.duration ); } @@ -65,7 +78,9 @@ export abstract class VisualNode< }): void { renderer.context.save(); - const animationLocalTime = this.getAnimationLocalTime({ time: timelineTime }); + const animationLocalTime = this.getAnimationLocalTime({ + time: timelineTime, + }); const transform = resolveTransformAtTime({ baseTransform: this.params.transform, animations: this.params.animations, @@ -80,10 +95,12 @@ export abstract class VisualNode< renderer.width / sourceWidth, renderer.height / sourceHeight, ); - const scaledWidth = sourceWidth * containScale * transform.scale; - const scaledHeight = sourceHeight * containScale * transform.scale; - const x = renderer.width / 2 + transform.position.x - scaledWidth / 2; - const y = renderer.height / 2 + transform.position.y - scaledHeight / 2; + const scaledWidth = sourceWidth * containScale * transform.scaleX; + const scaledHeight = sourceHeight * containScale * transform.scaleY; + const absWidth = Math.abs(scaledWidth); + const absHeight = Math.abs(scaledHeight); + const x = renderer.width / 2 + transform.position.x - absWidth / 2; + const y = renderer.height / 2 + transform.position.y - absHeight / 2; renderer.context.globalCompositeOperation = ( this.params.blendMode && this.params.blendMode !== "normal" @@ -92,71 +109,187 @@ export abstract class VisualNode< ) as GlobalCompositeOperation; renderer.context.globalAlpha = opacity; - if (transform.rotate !== 0) { - const centerX = x + scaledWidth / 2; - const centerY = y + scaledHeight / 2; + const flipX = scaledWidth < 0 ? -1 : 1; + const flipY = scaledHeight < 0 ? -1 : 1; + const needsTransform = transform.rotate !== 0 || flipX !== 1 || flipY !== 1; + + if (needsTransform) { + const centerX = x + absWidth / 2; + const centerY = y + absHeight / 2; renderer.context.translate(centerX, centerY); renderer.context.rotate((transform.rotate * Math.PI) / 180); + renderer.context.scale(flipX, flipY); renderer.context.translate(-centerX, -centerY); } const enabledEffects = this.params.effects?.filter((effect) => effect.enabled) ?? []; + const activeMasks = this.params.masks ?? []; + + if (activeMasks.length === 0 && enabledEffects.length === 0) { + renderer.context.drawImage(source, x, y, absWidth, absHeight); + renderer.context.restore(); + return; + } + + const currentResult = + enabledEffects.length > 0 + ? this.applyEffects({ + source, + effects: enabledEffects, + width: absWidth, + height: absHeight, + animationLocalTime, + }) + : source; - if (enabledEffects.length === 0) { - renderer.context.drawImage(source, x, y, scaledWidth, scaledHeight); + if (activeMasks.length === 0) { + renderer.context.drawImage(currentResult, x, y, absWidth, absHeight); renderer.context.restore(); return; } const elementCanvas = createOffscreenCanvas({ - width: Math.round(scaledWidth), - height: Math.round(scaledHeight), + width: Math.round(absWidth), + height: Math.round(absHeight), }); const elementCtx = elementCanvas.getContext("2d") as | CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D | null; if (!elementCtx) { - renderer.context.drawImage(source, x, y, scaledWidth, scaledHeight); + renderer.context.drawImage(currentResult, x, y, absWidth, absHeight); renderer.context.restore(); return; } - elementCtx.drawImage(source, 0, 0, scaledWidth, scaledHeight); + elementCtx.drawImage(currentResult, 0, 0, absWidth, absHeight); - let currentResult: CanvasImageSource = elementCanvas; + for (const mask of activeMasks) { + this.applyMask({ + mask, + elementCtx, + scaledWidth: absWidth, + scaledHeight: absHeight, + }); + } + + renderer.context.drawImage(elementCanvas, x, y, absWidth, absHeight); + renderer.context.restore(); + } - for (const effect of enabledEffects) { + private applyEffects({ + source, + effects, + width, + height, + animationLocalTime, + }: { + source: CanvasImageSource; + effects: Effect[]; + width: number; + height: number; + animationLocalTime: number; + }): CanvasImageSource { + let current: CanvasImageSource = source; + for (const effect of effects) { const resolvedParams = resolveEffectParamsAtTime({ effect, animations: this.params.animations, localTime: animationLocalTime, }); - const definition = getEffect({ effectType: effect.type }); - const passes = definition.renderer.passes.map((pass) => ({ - fragmentShader: pass.fragmentShader, - uniforms: pass.uniforms({ - effectParams: resolvedParams, - width: scaledWidth, - height: scaledHeight, - }), - })); - currentResult = webglEffectRenderer.applyEffect({ - source: currentResult, + const definition = effectsRegistry.get(effect.type); + const passes = resolveEffectPasses({ + definition, + effectParams: resolvedParams, + width, + height, + }); + current = webglEffectRenderer.applyEffect({ + source: current, + width: Math.round(width), + height: Math.round(height), + passes, + }); + } + return current; + } + + private applyMask({ + mask, + elementCtx, + scaledWidth, + scaledHeight, + }: { + mask: Mask; + elementCtx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D; + scaledWidth: number; + scaledHeight: number; + }): void { + const definition = masksRegistry.get(mask.type); + const { feather, inverted } = mask.params; + + const maskCanvas = createOffscreenCanvas({ + width: Math.round(scaledWidth), + height: Math.round(scaledHeight), + }); + const maskCtx = maskCanvas.getContext("2d") as + | CanvasRenderingContext2D + | OffscreenCanvasRenderingContext2D + | null; + if (!maskCtx) return; + + maskCtx.clearRect(0, 0, scaledWidth, scaledHeight); + + let maskResult: CanvasImageSource = maskCanvas; + let path: Path2D | null = null; + + if (feather > 0 && definition.renderer.renderMask) { + // Bypasses JFA — avoids the two-sided distance artifact where strips + // near the canvas edge appear semi-transparent. + definition.renderer.renderMask({ + resolvedParams: mask.params, + ctx: maskCtx, width: Math.round(scaledWidth), height: Math.round(scaledHeight), - passes, + feather, + }); + } else { + path = definition.renderer.buildPath({ + resolvedParams: mask.params, + width: scaledWidth, + height: scaledHeight, }); + maskCtx.fillStyle = "white"; + maskCtx.fill(path); + + if (feather > 0) { + maskResult = applyMaskFeather({ + maskCanvas, + width: Math.round(scaledWidth), + height: Math.round(scaledHeight), + feather, + }); + } } - renderer.context.drawImage( - currentResult, - x, - y, - scaledWidth, - scaledHeight, - ); - renderer.context.restore(); + elementCtx.globalCompositeOperation = inverted + ? "destination-out" + : "destination-in"; + elementCtx.drawImage(maskResult, 0, 0, scaledWidth, scaledHeight); + elementCtx.globalCompositeOperation = "source-over"; + + const strokePath = + definition.renderer.buildStrokePath?.({ + resolvedParams: mask.params, + width: scaledWidth, + height: scaledHeight, + }) ?? path; + + if (mask.params.strokeWidth > 0 && strokePath) { + elementCtx.strokeStyle = mask.params.strokeColor; + elementCtx.lineWidth = mask.params.strokeWidth; + elementCtx.stroke(strokePath); + } } } diff --git a/apps/web/src/services/renderer/scene-builder.ts b/apps/web/src/services/renderer/scene-builder.ts index 695e077f..7d5f9fe9 100644 --- a/apps/web/src/services/renderer/scene-builder.ts +++ b/apps/web/src/services/renderer/scene-builder.ts @@ -1,26 +1,22 @@ -import type { TimelineTrack } from "@/types/timeline"; -import type { MediaAsset } from "@/types/assets"; +import type { TimelineTrack } from "@/lib/timeline"; +import type { MediaAsset } from "@/lib/media/types"; import { RootNode } from "./nodes/root-node"; import { VideoNode } from "./nodes/video-node"; import { ImageNode } from "./nodes/image-node"; import { TextNode } from "./nodes/text-node"; import { StickerNode } from "./nodes/sticker-node"; +import { GraphicNode } from "./nodes/graphic-node"; import { ColorNode } from "./nodes/color-node"; -import { CompositeEffectNode } from "./nodes/composite-effect-node"; +import { BlurBackgroundNode } from "./nodes/blur-background-node"; import { EffectLayerNode } from "./nodes/effect-layer-node"; import type { BaseNode } from "./nodes/base-node"; -import type { TBackground, TCanvasSize } from "@/types/project"; +import type { TBackground, TCanvasSize } from "@/lib/project/types"; import { DEFAULT_BLUR_INTENSITY } from "@/constants/project-constants"; import { isMainTrack } from "@/lib/timeline"; const PREVIEW_MAX_IMAGE_SIZE = 2048; -const BLUR_BACKGROUND_ZOOM_SCALE = 1.4; -function getVisibleSortedElements({ - track, -}: { - track: TimelineTrack; -}) { +function getVisibleSortedElements({ track }: { track: TimelineTrack }) { return track.elements .filter((element) => !("hidden" in element && element.hidden)) .slice() @@ -65,7 +61,7 @@ function buildTrackNodes({ continue; } - if (mediaAsset.type === "video") { + if (element.type === "video" && mediaAsset.type === "video") { nodes.push( new VideoNode({ mediaId: mediaAsset.id, @@ -75,15 +71,17 @@ function buildTrackNodes({ timeOffset: element.startTime, trimStart: element.trimStart, trimEnd: element.trimEnd, + retime: element.retime, transform: element.transform, animations: element.animations, opacity: element.opacity, blendMode: element.blendMode, effects: element.effects, + masks: element.masks, }), ); } - if (mediaAsset.type === "image") { + if (element.type === "image" && mediaAsset.type === "image") { nodes.push( new ImageNode({ url: mediaAsset.url, @@ -96,6 +94,7 @@ function buildTrackNodes({ opacity: element.opacity, blendMode: element.blendMode, effects: element.effects, + masks: element.masks, ...(isPreview && { maxSourceSize: PREVIEW_MAX_IMAGE_SIZE, }), @@ -120,6 +119,8 @@ function buildTrackNodes({ nodes.push( new StickerNode({ stickerId: element.stickerId, + intrinsicWidth: element.intrinsicWidth, + intrinsicHeight: element.intrinsicHeight, duration: element.duration, timeOffset: element.startTime, trimStart: element.trimStart, @@ -132,12 +133,80 @@ function buildTrackNodes({ }), ); } + + if (element.type === "graphic") { + nodes.push( + new GraphicNode({ + definitionId: element.definitionId, + params: element.params, + duration: element.duration, + timeOffset: element.startTime, + trimStart: element.trimStart, + trimEnd: element.trimEnd, + transform: element.transform, + animations: element.animations, + opacity: element.opacity, + blendMode: element.blendMode, + effects: element.effects, + masks: element.masks, + }), + ); + } } } return nodes; } +function buildBlurBackgroundNodes({ + track, + mediaMap, + blurIntensity, +}: { + track: TimelineTrack | undefined; + mediaMap: Map<string, MediaAsset>; + blurIntensity: number; +}): BaseNode[] { + if (!track) { + return []; + } + + const nodes: BaseNode[] = []; + const elements = getVisibleSortedElements({ track }); + + for (const element of elements) { + if (element.type !== "video" && element.type !== "image") { + continue; + } + + const mediaAsset = mediaMap.get(element.mediaId); + if ( + !mediaAsset?.file || + !mediaAsset?.url || + (mediaAsset.type !== "video" && mediaAsset.type !== "image") + ) { + continue; + } + + nodes.push( + new BlurBackgroundNode({ + mediaId: mediaAsset.id, + url: mediaAsset.url, + file: mediaAsset.file, + mediaType: mediaAsset.type, + duration: element.duration, + timeOffset: element.startTime, + trimStart: element.trimStart, + trimEnd: element.trimEnd, + retime: element.type === "video" ? element.retime : undefined, + blurIntensity, + }), + ); + } + + return nodes; +} + export type BuildSceneParams = { canvasSize: TCanvasSize; tracks: TimelineTrack[]; @@ -168,6 +237,9 @@ export function buildScene({ ]; const orderedTracksBottomToTop = orderedTracksTopToBottom.slice().reverse(); + const mainTrack = orderedTracksBottomToTop.find((track) => + isMainTrack(track), + ); const allNodes = buildTrackNodes({ tracks: orderedTracksBottomToTop, @@ -177,20 +249,18 @@ export function buildScene({ }); if (background.type === "blur") { - rootNode.add( - new CompositeEffectNode({ - contentNodes: allNodes.filter( - (node) => !(node instanceof EffectLayerNode), - ), - effectType: "blur", - effectParams: { - intensity: - background.blurIntensity ?? DEFAULT_BLUR_INTENSITY, - }, - scale: BLUR_BACKGROUND_ZOOM_SCALE, - }), - ); - } else if (background.type === "color" && background.color !== "transparent") { + const blurNodes = buildBlurBackgroundNodes({ + track: mainTrack, + mediaMap, + blurIntensity: background.blurIntensity ?? DEFAULT_BLUR_INTENSITY, + }); + for (const node of blurNodes) { + rootNode.add(node); + } + } else if ( + background.type === "color" && + background.color !== "transparent" + ) { rootNode.add(new ColorNode({ color: background.color })); } diff --git a/apps/web/src/services/renderer/scene-exporter.ts b/apps/web/src/services/renderer/scene-exporter.ts index c5bad94f..6ab8c6f3 100644 --- a/apps/web/src/services/renderer/scene-exporter.ts +++ b/apps/web/src/services/renderer/scene-exporter.ts @@ -13,7 +13,7 @@ import { QUALITY_VERY_HIGH, } from "mediabunny"; import type { RootNode } from "./nodes/root-node"; -import type { ExportFormat, ExportQuality } from "@/types/export"; +import type { ExportFormat, ExportQuality } from "@/lib/export"; import { CanvasRenderer } from "./canvas-renderer"; type ExportParams = { diff --git a/apps/web/src/services/renderer/webgl-effect-renderer.ts b/apps/web/src/services/renderer/webgl-effect-renderer.ts deleted file mode 100644 index ad5cd40e..00000000 --- a/apps/web/src/services/renderer/webgl-effect-renderer.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { createOffscreenCanvas } from "./canvas-utils"; -import { applyMultiPassEffect } from "./webgl-utils"; -import type { EffectPassData } from "./webgl-utils"; - -export interface ApplyEffectParams { - source: CanvasImageSource; - width: number; - height: number; - passes: EffectPassData[]; -} - -let gl: WebGLRenderingContext | null = null; -let canvas: OffscreenCanvas | HTMLCanvasElement | null = null; -const programCache = new Map<string, WebGLProgram>(); - -function getOrCreateCanvas({ - width, - height, -}: { - width: number; - height: number; -}): OffscreenCanvas | HTMLCanvasElement { - if (!canvas) { - canvas = createOffscreenCanvas({ width, height }); - gl = canvas.getContext("webgl", { - premultipliedAlpha: false, - }) as WebGLRenderingContext | null; - if (!gl) { - throw new Error("WebGL not supported"); - } - } - if (canvas.width !== width || canvas.height !== height) { - canvas.width = width; - canvas.height = height; - } - return canvas; -} - -function applyEffect({ - source, - width, - height, - passes, -}: ApplyEffectParams): OffscreenCanvas | HTMLCanvasElement { - const targetCanvas = getOrCreateCanvas({ width, height }); - const context = gl; - if (!context) { - throw new Error("WebGL context not initialized"); - } - - applyMultiPassEffect({ - context, - source, - width, - height, - passes, - programCache, - }); - - const outputCanvas = createOffscreenCanvas({ width, height }); - const outputCtx = outputCanvas.getContext("2d") as - | CanvasRenderingContext2D - | OffscreenCanvasRenderingContext2D - | null; - if (outputCtx) { - outputCtx.drawImage(targetCanvas, 0, 0, width, height); - } - return outputCanvas; -} - -export const webglEffectRenderer = { - applyEffect, -}; diff --git a/apps/web/src/services/renderer/webgl/jfa.ts b/apps/web/src/services/renderer/webgl/jfa.ts new file mode 100644 index 00000000..b69a9d06 --- /dev/null +++ b/apps/web/src/services/renderer/webgl/jfa.ts @@ -0,0 +1,194 @@ +import jfaInitShader from "@/lib/shaders/jfa-init.frag.glsl"; +import jfaStepShader from "@/lib/shaders/jfa-step.frag.glsl"; +import { + compileProgram, + createFramebufferTexture, + setUniforms, + drawFullscreenQuad, +} from "./webgl-utils"; + +interface FBPair { + texture: WebGLTexture; + framebuffer: WebGLFramebuffer; +} + +function runPass({ + context, + program, + inputTexture, + target, + width, + height, + uniforms, + extraBindings, +}: { + context: WebGLRenderingContext; + program: WebGLProgram; + inputTexture: WebGLTexture; + target: WebGLFramebuffer | null; + width: number; + height: number; + uniforms: Record<string, number | number[]>; + extraBindings?: Array<{ unit: number; texture: WebGLTexture; name: string }>; +}): void { + context.bindFramebuffer(context.FRAMEBUFFER, target); + // biome-ignore lint/correctness/useHookAtTopLevel: WebGL API method, not a React hook + context.useProgram(program); + + context.activeTexture(context.TEXTURE0); + context.bindTexture(context.TEXTURE_2D, inputTexture); + const uTexLoc = context.getUniformLocation(program, "u_texture"); + if (uTexLoc) context.uniform1i(uTexLoc, 0); + + if (extraBindings) { + for (const binding of extraBindings) { + context.activeTexture(context.TEXTURE0 + binding.unit); + context.bindTexture(context.TEXTURE_2D, binding.texture); + const loc = context.getUniformLocation(program, binding.name); + if (loc) context.uniform1i(loc, binding.unit); + } + } + + setUniforms({ + context, + program, + uniforms: { ...uniforms, u_resolution: [width, height] }, + }); + drawFullscreenQuad({ context, program, width, height }); +} + +function runJFA({ + context, + programCache, + sourceTexture, + width, + height, + isInverted, +}: { + context: WebGLRenderingContext; + programCache: Map<string, WebGLProgram>; + sourceTexture: WebGLTexture; + width: number; + height: number; + isInverted: boolean; +}): { + resultTexture: WebGLTexture; + resultFB: WebGLFramebuffer; + tempFBs: FBPair[]; +} { + const numSteps = Math.ceil(Math.log2(Math.max(width, height))); + + const fbA = createFramebufferTexture({ context, width, height }); + const fbB = createFramebufferTexture({ context, width, height }); + + const initProgram = compileProgram({ + context, + fragmentShaderSource: jfaInitShader, + programCache, + }); + runPass({ + context, + program: initProgram, + inputTexture: sourceTexture, + target: fbA.framebuffer, + width, + height, + uniforms: { u_invert: isInverted ? 1.0 : 0.0 }, + }); + + const stepProgram = compileProgram({ + context, + fragmentShaderSource: jfaStepShader, + programCache, + }); + + let readFB = fbA; + let writeFB = fbB; + + for (let i = numSteps - 1; i >= 0; i--) { + const stepSize = 2 ** i; + runPass({ + context, + program: stepProgram, + inputTexture: readFB.texture, + target: writeFB.framebuffer, + width, + height, + uniforms: { u_step_size: stepSize }, + }); + const tmp = readFB; + readFB = writeFB; + writeFB = tmp; + } + + return { + resultTexture: readFB.texture, + resultFB: readFB.framebuffer, + tempFBs: [writeFB], + }; +} + +function cleanupJFAResult({ + context, + result, +}: { + context: WebGLRenderingContext; + result: { + resultTexture: WebGLTexture; + resultFB: WebGLFramebuffer; + tempFBs: FBPair[]; + }; +}): void { + context.deleteTexture(result.resultTexture); + context.deleteFramebuffer(result.resultFB); + for (const fb of result.tempFBs) { + context.deleteTexture(fb.texture); + context.deleteFramebuffer(fb.framebuffer); + } +} + +export { runPass }; + +export function computeSignedDistanceField({ + context, + programCache, + sourceTexture, + width, + height, +}: { + context: WebGLRenderingContext; + programCache: Map<string, WebGLProgram>; + sourceTexture: WebGLTexture; + width: number; + height: number; +}): { + insideTexture: WebGLTexture; + outsideTexture: WebGLTexture; + cleanup: () => void; +} { + const inside = runJFA({ + context, + programCache, + sourceTexture, + width, + height, + isInverted: false, + }); + const outside = runJFA({ + context, + programCache, + sourceTexture, + width, + height, + isInverted: true, + }); + + return { + insideTexture: inside.resultTexture, + outsideTexture: outside.resultTexture, + cleanup: () => { + cleanupJFAResult({ context, result: inside }); + cleanupJFAResult({ context, result: outside }); + }, + }; +} diff --git a/apps/web/src/services/renderer/webgl/webgl-context.ts b/apps/web/src/services/renderer/webgl/webgl-context.ts new file mode 100644 index 00000000..aeefc503 --- /dev/null +++ b/apps/web/src/services/renderer/webgl/webgl-context.ts @@ -0,0 +1,49 @@ +import { createOffscreenCanvas } from "../canvas-utils"; + +let gl: WebGLRenderingContext | null = null; +let webglCanvas: OffscreenCanvas | HTMLCanvasElement | null = null; +const programCache = new Map<string, WebGLProgram>(); + +export function getWebGLContext({ + width, + height, +}: { + width: number; + height: number; +}): { + context: WebGLRenderingContext; + programCache: Map<string, WebGLProgram>; +} { + if (!webglCanvas) { + webglCanvas = createOffscreenCanvas({ width, height }); + gl = webglCanvas.getContext("webgl", { + premultipliedAlpha: false, + }) as WebGLRenderingContext | null; + if (!gl) throw new Error("WebGL not supported"); + } + if (webglCanvas.width !== width || webglCanvas.height !== height) { + webglCanvas.width = width; + webglCanvas.height = height; + } + if (!gl) throw new Error("WebGL context lost"); + return { context: gl, programCache }; +} + +export function readResult({ + width, + height, +}: { + width: number; + height: number; +}): OffscreenCanvas | HTMLCanvasElement { + if (!webglCanvas) throw new Error("WebGL canvas not initialized"); + const outputCanvas = createOffscreenCanvas({ width, height }); + const outputCtx = outputCanvas.getContext("2d") as + | CanvasRenderingContext2D + | OffscreenCanvasRenderingContext2D + | null; + if (outputCtx) { + outputCtx.drawImage(webglCanvas, 0, 0, width, height); + } + return outputCanvas; +} diff --git a/apps/web/src/services/renderer/webgl/webgl-effect-renderer.ts b/apps/web/src/services/renderer/webgl/webgl-effect-renderer.ts new file mode 100644 index 00000000..89dcb2ae --- /dev/null +++ b/apps/web/src/services/renderer/webgl/webgl-effect-renderer.ts @@ -0,0 +1,35 @@ +import { getWebGLContext, readResult } from "./webgl-context"; +import { applyMultiPassEffect } from "./webgl-utils"; +import type { EffectPassData } from "./webgl-utils"; + +export interface ApplyEffectParams { + source: CanvasImageSource; + width: number; + height: number; + passes: EffectPassData[]; +} + +function applyEffect({ + source, + width, + height, + passes, +}: ApplyEffectParams): CanvasImageSource { + if (passes.length === 0) { + return source; + } + const { context, programCache } = getWebGLContext({ width, height }); + applyMultiPassEffect({ + context, + source, + width, + height, + passes, + programCache, + }); + return readResult({ width, height }); +} + +export const webglEffectRenderer = { + applyEffect, +}; diff --git a/apps/web/src/services/renderer/webgl-utils.ts b/apps/web/src/services/renderer/webgl/webgl-utils.ts index 834c652e..834c652e 100644 --- a/apps/web/src/services/renderer/webgl-utils.ts +++ b/apps/web/src/services/renderer/webgl/webgl-utils.ts diff --git a/apps/web/src/services/storage/migrations/__tests__/v15-to-v16.test.ts b/apps/web/src/services/storage/migrations/__tests__/v15-to-v16.test.ts new file mode 100644 index 00000000..f2a4908f --- /dev/null +++ b/apps/web/src/services/storage/migrations/__tests__/v15-to-v16.test.ts @@ -0,0 +1,93 @@ +import { describe, expect, test } from "bun:test"; +import { transformProjectV15ToV16 } from "../transformers/v15-to-v16"; + +describe("V15 to V16 Migration", () => { + test("renames sticker tracks to graphic tracks", () => { + const result = transformProjectV15ToV16({ + project: { + id: "project-v15", + version: 15, + metadata: { + id: "project-v15", + name: "Project", + createdAt: "2024-01-01T00:00:00.000Z", + updatedAt: "2024-01-01T00:00:00.000Z", + }, + settings: { + fps: 30, + canvasSize: { width: 1920, height: 1080 }, + background: { type: "color", color: "#000000" }, + }, + currentSceneId: "scene-main", + scenes: [ + { + id: "scene-main", + name: "Main scene", + isMain: true, + tracks: [ + { + id: "track-graphic", + type: "sticker", + name: "Sticker Track", + hidden: false, + elements: [ + { + id: "sticker-1", + type: "sticker", + name: "Logo", + stickerId: "icons:mdi:home", + duration: 5, + startTime: 0, + trimStart: 0, + trimEnd: 0, + transform: { + scaleX: 1, + scaleY: 1, + position: { x: 0, y: 0 }, + rotate: 0, + }, + opacity: 1, + }, + ], + }, + ], + bookmarks: [], + createdAt: "2024-01-01T00:00:00.000Z", + updatedAt: "2024-01-01T00:00:00.000Z", + }, + ], + }, + }); + + expect(result.skipped).toBe(false); + expect(result.project.version).toBe(16); + expect( + (result.project.scenes as Array<{ tracks: Array<{ type: string }> }>)[0] + .tracks[0].type, + ).toBe("graphic"); + }); + + test("skips projects already on v16", () => { + const result = transformProjectV15ToV16({ + project: { + id: "project-v16", + version: 16, + }, + }); + + expect(result.skipped).toBe(true); + expect(result.reason).toBe("already v16"); + }); + + test("skips projects with no id", () => { + const result = transformProjectV15ToV16({ + project: { + version: 15, + scenes: [], + }, + }); + + expect(result.skipped).toBe(true); + expect(result.reason).toBe("no project id"); + }); +}); diff --git a/apps/web/src/services/storage/migrations/__tests__/v16-to-v17.test.ts b/apps/web/src/services/storage/migrations/__tests__/v16-to-v17.test.ts new file mode 100644 index 00000000..e246943e --- /dev/null +++ b/apps/web/src/services/storage/migrations/__tests__/v16-to-v17.test.ts @@ -0,0 +1,132 @@ +import { describe, expect, test } from "bun:test"; +import { transformProjectV16ToV17 } from "../transformers/v16-to-v17"; + +describe("V16 to V17 Migration", () => { + test("adds center stroke alignment to masks that do not have it", () => { + const result = transformProjectV16ToV17({ + project: { + id: "project-v16", + version: 16, + metadata: { + id: "project-v16", + name: "Project", + createdAt: "2024-01-01T00:00:00.000Z", + updatedAt: "2024-01-01T00:00:00.000Z", + }, + settings: { + fps: 30, + canvasSize: { width: 1920, height: 1080 }, + background: { type: "color", color: "#000000" }, + }, + currentSceneId: "scene-main", + scenes: [ + { + id: "scene-main", + name: "Main scene", + isMain: true, + tracks: [ + { + id: "track-video", + type: "video", + name: "Video Track", + hidden: false, + elements: [ + { + id: "video-1", + type: "video", + name: "Clip", + mediaId: "media-1", + duration: 5, + startTime: 0, + trimStart: 0, + trimEnd: 0, + transform: { + scaleX: 1, + scaleY: 1, + position: { x: 0, y: 0 }, + rotate: 0, + }, + opacity: 1, + masks: [ + { + id: "mask-1", + type: "rectangle", + params: { + feather: 0, + inverted: false, + strokeColor: "#ffffff", + strokeWidth: 8, + centerX: 0, + centerY: 0, + width: 0.6, + height: 0.6, + rotation: 0, + scale: 1, + }, + }, + { + id: "mask-2", + type: "ellipse", + params: { + feather: 0, + inverted: false, + strokeColor: "#ffffff", + strokeWidth: 8, + strokeAlign: "outside", + centerX: 0, + centerY: 0, + width: 0.6, + height: 0.6, + rotation: 0, + scale: 1, + }, + }, + ], + }, + ], + }, + ], + bookmarks: [], + createdAt: "2024-01-01T00:00:00.000Z", + updatedAt: "2024-01-01T00:00:00.000Z", + }, + ], + }, + }); + + expect(result.skipped).toBe(false); + expect(result.project.version).toBe(17); + + const migratedMasks = ( + ((result.project.scenes as Array<{ tracks: Array<{ elements: Array<{ masks: Array<{ params: Record<string, unknown> }> }> }> }>)[0] + .tracks[0].elements[0].masks) + ); + + expect(migratedMasks[0].params.strokeAlign).toBe("center"); + expect(migratedMasks[1].params.strokeAlign).toBe("outside"); + }); + + test("skips projects already on v17", () => { + const result = transformProjectV16ToV17({ + project: { + id: "project-v17", + version: 17, + }, + }); + + expect(result.skipped).toBe(true); + expect(result.reason).toBe("already v17"); + }); + + test("skips projects with no id", () => { + const result = transformProjectV16ToV17({ + project: { + version: 16, + scenes: [], + }, + }); + + expect(result.skipped).toBe(true); + expect(result.reason).toBe("no project id"); + }); +}); diff --git a/apps/web/src/services/storage/migrations/__tests__/v18-to-v19.test.ts b/apps/web/src/services/storage/migrations/__tests__/v18-to-v19.test.ts new file mode 100644 index 00000000..7524a8d4 --- /dev/null +++ b/apps/web/src/services/storage/migrations/__tests__/v18-to-v19.test.ts @@ -0,0 +1,63 @@ +import { describe, expect, test } from "bun:test"; +import { transformProjectV18ToV19 } from "../transformers/v18-to-v19"; + +describe("V18 to V19 Migration", () => { + test("adds canvas size mode and empty remembered custom size defaults", () => { + const result = transformProjectV18ToV19({ + project: { + id: "project-v18-defaults", + version: 18, + metadata: { + id: "project-v18-defaults", + name: "Project", + createdAt: "2024-01-01T00:00:00.000Z", + updatedAt: "2024-01-01T00:00:00.000Z", + }, + settings: { + fps: 30, + canvasSize: { width: 1920, height: 1080 }, + originalCanvasSize: { width: 1920, height: 1080 }, + background: { type: "color", color: "#000000" }, + }, + currentSceneId: "scene-main", + scenes: [], + }, + }); + + expect(result.skipped).toBe(false); + expect(result.project.version).toBe(19); + expect( + (result.project.settings as Record<string, unknown>).canvasSizeMode, + ).toBe("preset"); + expect( + (result.project.settings as Record<string, unknown>).lastCustomCanvasSize, + ).toBeNull(); + expect( + (result.project.settings as Record<string, unknown>).originalCanvasSize, + ).toEqual({ width: 1920, height: 1080 }); + }); + + test("skips projects already on v19", () => { + const result = transformProjectV18ToV19({ + project: { + id: "project-v19", + version: 19, + }, + }); + + expect(result.skipped).toBe(true); + expect(result.reason).toBe("already v19"); + }); + + test("skips projects with no id", () => { + const result = transformProjectV18ToV19({ + project: { + version: 18, + scenes: [], + }, + }); + + expect(result.skipped).toBe(true); + expect(result.reason).toBe("no project id"); + }); +}); diff --git a/apps/web/src/services/storage/migrations/index.ts b/apps/web/src/services/storage/migrations/index.ts index bffacb66..1a855287 100644 --- a/apps/web/src/services/storage/migrations/index.ts +++ b/apps/web/src/services/storage/migrations/index.ts @@ -8,10 +8,20 @@ import { V5toV6Migration } from "./v5-to-v6"; import { V6toV7Migration } from "./v6-to-v7"; import { V7toV8Migration } from "./v7-to-v8"; import { V8toV9Migration } from "./v8-to-v9"; +import { V9toV10Migration } from "./v9-to-v10"; +import { V10toV11Migration } from "./v10-to-v11"; +import { V11toV12Migration } from "./v11-to-v12"; +import { V12toV13Migration } from "./v12-to-v13"; +import { V13toV14Migration } from "./v13-to-v14"; +import { V14toV15Migration } from "./v14-to-v15"; +import { V15toV16Migration } from "./v15-to-v16"; +import { V16toV17Migration } from "./v16-to-v17"; +import { V17toV18Migration } from "./v17-to-v18"; +import { V18toV19Migration } from "./v18-to-v19"; export { runStorageMigrations } from "./runner"; export type { MigrationProgress } from "./runner"; -export const CURRENT_PROJECT_VERSION = 9; +export const CURRENT_PROJECT_VERSION = 19; export const migrations = [ new V0toV1Migration(), @@ -23,4 +33,14 @@ export const migrations = [ new V6toV7Migration(), new V7toV8Migration(), new V8toV9Migration(), + new V9toV10Migration(), + new V10toV11Migration(), + new V11toV12Migration(), + new V12toV13Migration(), + new V13toV14Migration(), + new V14toV15Migration(), + new V15toV16Migration(), + new V16toV17Migration(), + new V17toV18Migration(), + new V18toV19Migration(), ]; diff --git a/apps/web/src/services/storage/migrations/transformers/index.ts b/apps/web/src/services/storage/migrations/transformers/index.ts index 8878d6ba..c1ae894f 100644 --- a/apps/web/src/services/storage/migrations/transformers/index.ts +++ b/apps/web/src/services/storage/migrations/transformers/index.ts @@ -3,4 +3,5 @@ export { transformProjectV1ToV2 } from "./v1-to-v2"; export { transformProjectV2ToV3 } from "./v2-to-v3"; export { transformProjectV3ToV4 } from "./v3-to-v4"; export { transformProjectV4ToV5 } from "./v4-to-v5"; +export { transformProjectV17ToV18 } from "./v17-to-v18"; export type { MigrationResult, ProjectRecord } from "./types"; diff --git a/apps/web/src/services/storage/migrations/transformers/v0-to-v1.ts b/apps/web/src/services/storage/migrations/transformers/v0-to-v1.ts index a26feb3b..b1fcf00b 100644 --- a/apps/web/src/services/storage/migrations/transformers/v0-to-v1.ts +++ b/apps/web/src/services/storage/migrations/transformers/v0-to-v1.ts @@ -1,8 +1,17 @@ import { generateUUID } from "@/utils/id"; -import type { SerializedScene } from "@/services/storage/types"; import type { MigrationResult, ProjectRecord } from "./types"; import { isRecord } from "./utils"; +interface V1Scene { + id: string; + name: string; + isMain: boolean; + tracks: unknown[]; + bookmarks: unknown[]; + createdAt: string; + updatedAt: string; +} + export interface TransformV0ToV1Options { now?: Date; } @@ -25,7 +34,7 @@ export function transformProjectV0ToV1({ const sceneCreatedAt = now.toISOString(); const sceneUpdatedAt = now.toISOString(); - const mainScene: SerializedScene = { + const mainScene: V1Scene = { id: sceneId, name: "Main scene", isMain: true, diff --git a/apps/web/src/services/storage/migrations/transformers/v1-to-v2.ts b/apps/web/src/services/storage/migrations/transformers/v1-to-v2.ts index 297d1c58..52701cd5 100644 --- a/apps/web/src/services/storage/migrations/transformers/v1-to-v2.ts +++ b/apps/web/src/services/storage/migrations/transformers/v1-to-v2.ts @@ -6,14 +6,6 @@ import { } from "@/constants/project-constants"; import { IndexedDBAdapter } from "@/services/storage/indexeddb-adapter"; import type { MediaAssetData } from "@/services/storage/types"; -import type { - AudioElement, - ImageElement, - TextElement, - TimelineTrack, - Transform, - VideoElement, -} from "@/types/timeline"; import type { MigrationResult, ProjectRecord } from "./types"; import { getProjectId, isRecord } from "./utils"; @@ -50,6 +42,112 @@ interface LegacyMediaTrack { [key: string]: unknown; } +interface V2Transform { + scale: number; + position: { x: number; y: number }; + rotate: number; +} + +interface V2VideoElement { + id: string; + name: string; + type: "video"; + mediaId: string; + muted: boolean; + hidden: boolean; + transform: V2Transform; + opacity: number; + duration: number; + startTime: number; + trimStart: number; + trimEnd: number; +} + +interface V2ImageElement { + id: string; + name: string; + type: "image"; + mediaId: string; + duration: number; + startTime: number; + trimStart: number; + trimEnd: number; + hidden: boolean; + transform: V2Transform; + opacity: number; +} + +interface V2TextElement { + id: string; + name: string; + type: "text"; + content: string; + fontSize: number; + fontFamily: string; + color: string; + background: { + enabled: boolean; + color: string; + cornerRadius: number; + paddingX: number; + paddingY: number; + offsetX: number; + offsetY: number; + }; + textAlign: "left" | "center" | "right"; + fontWeight: "normal" | "bold"; + fontStyle: "normal" | "italic"; + textDecoration: "none" | "underline" | "line-through"; + hidden: boolean; + transform: V2Transform; + opacity: number; + duration: number; + startTime: number; + trimStart: number; + trimEnd: number; +} + +interface V2AudioElement { + id: string; + name: string; + type: "audio"; + sourceType: "upload"; + mediaId: string; + volume: number; + duration: number; + startTime: number; + trimStart: number; + trimEnd: number; +} + +interface V2VideoTrack { + id: string; + name: string; + type: "video"; + elements: (V2VideoElement | V2ImageElement)[]; + isMain: boolean; + muted: boolean; + hidden: boolean; +} + +interface V2TextTrack { + id: string; + name: string; + type: "text"; + elements: V2TextElement[]; + hidden: boolean; +} + +interface V2AudioTrack { + id: string; + name: string; + type: "audio"; + elements: V2AudioElement[]; + muted: boolean; +} + +type V2TimelineTrack = V2VideoTrack | V2TextTrack | V2AudioTrack; + export interface TransformV1ToV2Options { loadMediaAsset?: ({ mediaId, @@ -259,13 +357,13 @@ async function transformTracks({ }: { mediaId: string; }) => Promise<MediaAssetData | null>; -}): Promise<TimelineTrack[]> { +}): Promise<V2TimelineTrack[]> { if (!Array.isArray(tracks)) { return []; } let isFirstVideoTrackFound = false; - const transformedTracks: (TimelineTrack | null)[] = []; + const transformedTracks: (V2TimelineTrack | null)[] = []; for (const track of tracks) { if (!isRecord(track)) { @@ -299,7 +397,7 @@ async function transformTracks({ } return transformedTracks.filter( - (track): track is TimelineTrack => track !== null, + (track): track is V2TimelineTrack => track !== null, ); } @@ -315,7 +413,7 @@ async function transformMediaTrack({ mediaId: string; }) => Promise<MediaAssetData | null>; isMain: boolean; -}): Promise<TimelineTrack> { +}): Promise<V2VideoTrack> { const elements = Array.isArray(track.elements) ? track.elements : []; const transformedElements = await Promise.all( @@ -338,7 +436,7 @@ async function transformMediaTrack({ } } - const defaultTransform: Transform = { + const defaultTransform: V2Transform = { scale: 1, position: { x: 0, y: 0 }, rotate: 0, @@ -347,7 +445,7 @@ async function transformMediaTrack({ const muted = mediaElement.muted === true; if (mediaType === "image") { - const imageElement: ImageElement = { + const imageElement: V2ImageElement = { id: getStringValue({ value: element.id, fallback: "" }), name: getStringValue({ value: element.name, fallback: "" }), type: "image", @@ -369,7 +467,7 @@ async function transformMediaTrack({ return imageElement; } - const videoElement: VideoElement = { + const videoElement: V2VideoElement = { id: getStringValue({ value: element.id, fallback: "" }), name: getStringValue({ value: element.name, fallback: "" }), type: "video", @@ -388,7 +486,7 @@ async function transformMediaTrack({ ); const validElements = transformedElements.filter( - (element): element is VideoElement | ImageElement => element !== null, + (element): element is V2VideoElement | V2ImageElement => element !== null, ); return { @@ -406,11 +504,11 @@ function transformTextTrack({ track, }: { track: Record<string, unknown>; -}): TimelineTrack { +}): V2TextTrack { const elements = Array.isArray(track.elements) ? track.elements : []; const transformedElements = elements - .map((element): TextElement | null => { + .map((element): V2TextElement | null => { if (!isRecord(element) || element.type !== "text") { return null; } @@ -427,7 +525,7 @@ function transformTextTrack({ fallback: 1, }); - const transform: Transform = { + const transform: V2Transform = { scale: 1, position: { x, y }, rotate: rotation, @@ -487,7 +585,7 @@ function transformTextTrack({ trimEnd: getNumberValue({ value: element.trimEnd, fallback: 0 }), }; }) - .filter((element): element is TextElement => element !== null); + .filter((element): element is V2TextElement => element !== null); return { id: getStringValue({ value: track.id, fallback: "" }), @@ -502,11 +600,11 @@ function transformAudioTrack({ track, }: { track: Record<string, unknown>; -}): TimelineTrack { +}): V2AudioTrack { const elements = Array.isArray(track.elements) ? track.elements : []; const transformedElements = elements - .map((element): AudioElement | null => { + .map((element): V2AudioElement | null => { if (!isRecord(element) || element.type !== "audio") { return null; } @@ -530,7 +628,7 @@ function transformAudioTrack({ trimEnd: getNumberValue({ value: element.trimEnd, fallback: 0 }), }; }) - .filter((element): element is AudioElement => element !== null); + .filter((element): element is V2AudioElement => element !== null); return { id: getStringValue({ value: track.id, fallback: "" }), diff --git a/apps/web/src/services/storage/migrations/transformers/v10-to-v11.ts b/apps/web/src/services/storage/migrations/transformers/v10-to-v11.ts new file mode 100644 index 00000000..b48f5e88 --- /dev/null +++ b/apps/web/src/services/storage/migrations/transformers/v10-to-v11.ts @@ -0,0 +1,113 @@ +import type { MigrationResult, ProjectRecord } from "./types"; +import { getProjectId, isRecord } from "./utils"; + +export function transformProjectV10ToV11({ + project, +}: { + project: ProjectRecord; +}): MigrationResult<ProjectRecord> { + if (!getProjectId({ project })) { + return { project, skipped: true, reason: "no project id" }; + } + + if (typeof project.version === "number" && project.version >= 11) { + return { project, skipped: true, reason: "already v11" }; + } + + const migratedProject = migrateProjectScale({ project }); + + return { + project: { ...migratedProject, version: 11 }, + skipped: false, + }; +} + +function migrateProjectScale({ + project, +}: { + project: ProjectRecord; +}): ProjectRecord { + const scenesValue = project.scenes; + if (!Array.isArray(scenesValue)) return project; + + const migratedScenes = scenesValue.map((scene) => + migrateSceneScale({ scene }), + ); + + return { ...project, scenes: migratedScenes }; +} + +function migrateSceneScale({ scene }: { scene: unknown }): unknown { + if (!isRecord(scene)) return scene; + + const tracksValue = scene.tracks; + if (!Array.isArray(tracksValue)) return scene; + + const migratedTracks = tracksValue.map((track) => + migrateTrackScale({ track }), + ); + + return { ...scene, tracks: migratedTracks }; +} + +function migrateTrackScale({ track }: { track: unknown }): unknown { + if (!isRecord(track)) return track; + + const elementsValue = track.elements; + if (!Array.isArray(elementsValue)) return track; + + const migratedElements = elementsValue.map((element) => + migrateElementScale({ element }), + ); + + return { ...track, elements: migratedElements }; +} + +function migrateElementScale({ element }: { element: unknown }): unknown { + if (!isRecord(element)) return element; + + const transform = element.transform; + if (!isRecord(transform)) return element; + + const scale = transform.scale; + if (typeof scale !== "number") return element; + + const migratedTransform = { + ...transform, + scaleX: scale, + scaleY: scale, + }; + delete (migratedTransform as Record<string, unknown>).scale; + + let migratedElement: ProjectRecord = { + ...element, + transform: migratedTransform, + }; + + const animations = element.animations; + if (isRecord(animations) && isRecord(animations.channels)) { + const channels = animations.channels as Record<string, unknown>; + const scaleChannel = channels["transform.scale"]; + if (scaleChannel && isRecord(scaleChannel)) { + const keyframes = (scaleChannel as { keyframes?: unknown[] }).keyframes; + if (Array.isArray(keyframes)) { + const newChannels = { ...channels }; + delete newChannels["transform.scale"]; + newChannels["transform.scaleX"] = { + ...scaleChannel, + keyframes: [...keyframes], + }; + newChannels["transform.scaleY"] = { + ...scaleChannel, + keyframes: keyframes.map((kf) => (isRecord(kf) ? { ...kf } : kf)), + }; + migratedElement = { + ...migratedElement, + animations: { ...animations, channels: newChannels }, + }; + } + } + } + + return migratedElement; +} diff --git a/apps/web/src/services/storage/migrations/transformers/v11-to-v12.ts b/apps/web/src/services/storage/migrations/transformers/v11-to-v12.ts new file mode 100644 index 00000000..fa1bd371 --- /dev/null +++ b/apps/web/src/services/storage/migrations/transformers/v11-to-v12.ts @@ -0,0 +1,196 @@ +import type { MigrationResult, ProjectRecord } from "./types"; +import { getProjectId, isRecord } from "./utils"; + +export function transformProjectV11ToV12({ + project, +}: { + project: ProjectRecord; +}): MigrationResult<ProjectRecord> { + if (!getProjectId({ project })) { + return { project, skipped: true, reason: "no project id" }; + } + + if (typeof project.version === "number" && project.version >= 12) { + return { project, skipped: true, reason: "already v12" }; + } + + const migratedProject = migrateProjectPosition({ project }); + + return { + project: { ...migratedProject, version: 12 }, + skipped: false, + }; +} + +function migrateProjectPosition({ + project, +}: { + project: ProjectRecord; +}): ProjectRecord { + const scenesValue = project.scenes; + if (!Array.isArray(scenesValue)) return project; + + const migratedScenes = scenesValue.map((scene) => + migrateScenePosition({ scene }), + ); + + return { ...project, scenes: migratedScenes }; +} + +function migrateScenePosition({ scene }: { scene: unknown }): unknown { + if (!isRecord(scene)) return scene; + + const tracksValue = scene.tracks; + if (!Array.isArray(tracksValue)) return scene; + + const migratedTracks = tracksValue.map((track) => + migrateTrackPosition({ track }), + ); + + return { ...scene, tracks: migratedTracks }; +} + +function migrateTrackPosition({ track }: { track: unknown }): unknown { + if (!isRecord(track)) return track; + + const elementsValue = track.elements; + if (!Array.isArray(elementsValue)) return track; + + const migratedElements = elementsValue.map((element) => + migrateElementPosition({ element }), + ); + + return { ...track, elements: migratedElements }; +} + +function migrateElementPosition({ element }: { element: unknown }): unknown { + if (!isRecord(element)) return element; + + const animations = element.animations; + if (!isRecord(animations) || !isRecord(animations.channels)) return element; + + const channels = animations.channels as Record<string, unknown>; + const xChannel = channels["transform.position.x"]; + const yChannel = channels["transform.position.y"]; + + if (!xChannel && !yChannel) return element; + + const baseTransform = isRecord(element.transform) ? element.transform : {}; + const basePosition = isRecord(baseTransform.position) + ? baseTransform.position + : {}; + const baseX = typeof basePosition.x === "number" ? basePosition.x : 0; + const baseY = typeof basePosition.y === "number" ? basePosition.y : 0; + + const xKeyframes = getKeyframes({ channel: xChannel }); + const yKeyframes = getKeyframes({ channel: yChannel }); + + const allTimes = Array.from( + new Set([ + ...xKeyframes.map((kf) => kf.time), + ...yKeyframes.map((kf) => kf.time), + ]), + ).sort((a, b) => a - b); + + const vectorKeyframes = allTimes.map((time) => { + const xKf = xKeyframes.find((kf) => Math.abs(kf.time - time) < 0.001); + const yKf = yKeyframes.find((kf) => Math.abs(kf.time - time) < 0.001); + const x = + typeof xKf?.value === "number" + ? xKf.value + : interpolateScalarAtTime({ + keyframes: xKeyframes, + time, + fallback: baseX, + }); + const y = + typeof yKf?.value === "number" + ? yKf.value + : interpolateScalarAtTime({ + keyframes: yKeyframes, + time, + fallback: baseY, + }); + const interpolation = xKf?.interpolation ?? yKf?.interpolation ?? "linear"; + return { + id: xKf?.id ?? yKf?.id ?? crypto.randomUUID(), + time, + value: { x, y }, + interpolation, + }; + }); + + const newChannels = { ...channels }; + delete newChannels["transform.position.x"]; + delete newChannels["transform.position.y"]; + newChannels["transform.position"] = { + valueKind: "vector", + keyframes: vectorKeyframes, + }; + + return { + ...element, + animations: { ...animations, channels: newChannels }, + }; +} + +interface ScalarKeyframe { + id: string; + time: number; + value: number; + interpolation: string; +} + +function getKeyframes({ channel }: { channel: unknown }): ScalarKeyframe[] { + if (!isRecord(channel)) return []; + if (!Array.isArray(channel.keyframes)) return []; + return channel.keyframes.flatMap((kf) => { + if (!isRecord(kf)) return []; + if ( + typeof kf.id !== "string" || + typeof kf.time !== "number" || + typeof kf.value !== "number" + ) + return []; + return [ + { + id: kf.id, + time: kf.time, + value: kf.value, + interpolation: + typeof kf.interpolation === "string" ? kf.interpolation : "linear", + }, + ]; + }); +} + +function interpolateScalarAtTime({ + keyframes, + time, + fallback, +}: { + keyframes: ScalarKeyframe[]; + time: number; + fallback: number; +}): number { + if (keyframes.length === 0) return fallback; + + const sorted = [...keyframes].sort((a, b) => a.time - b.time); + const first = sorted[0]; + const last = sorted[sorted.length - 1]; + + if (!first || !last) return fallback; + if (time <= first.time) return first.value; + if (time >= last.time) return last.value; + + for (let i = 0; i < sorted.length - 1; i++) { + const left = sorted[i]; + const right = sorted[i + 1]; + if (time < left.time || time > right.time) continue; + if (left.interpolation === "hold") return left.value; + const t = (time - left.time) / (right.time - left.time); + return left.value + (right.value - left.value) * t; + } + + return last.value; +} diff --git a/apps/web/src/services/storage/migrations/transformers/v12-to-v13.ts b/apps/web/src/services/storage/migrations/transformers/v12-to-v13.ts new file mode 100644 index 00000000..59b29732 --- /dev/null +++ b/apps/web/src/services/storage/migrations/transformers/v12-to-v13.ts @@ -0,0 +1,102 @@ +import type { MigrationResult, ProjectRecord } from "./types"; +import { getProjectId, isRecord } from "./utils"; + +export function transformProjectV12ToV13({ + project, +}: { + project: ProjectRecord; +}): MigrationResult<ProjectRecord> { + if (!getProjectId({ project })) { + return { project, skipped: true, reason: "no project id" }; + } + + if (typeof project.version === "number" && project.version >= 13) { + return { project, skipped: true, reason: "already v13" }; + } + + const migratedProject = migrateProjectMasks({ project }); + + return { + project: { ...migratedProject, version: 13 }, + skipped: false, + }; +} + +function migrateProjectMasks({ + project, +}: { + project: ProjectRecord; +}): ProjectRecord { + const scenesValue = project.scenes; + if (!Array.isArray(scenesValue)) return project; + + const migratedScenes = scenesValue.map((scene) => + migrateSceneMasks({ scene }), + ); + + return { ...project, scenes: migratedScenes }; +} + +function migrateSceneMasks({ scene }: { scene: unknown }): unknown { + if (!isRecord(scene)) return scene; + + const tracksValue = scene.tracks; + if (!Array.isArray(tracksValue)) return scene; + + const migratedTracks = tracksValue.map((track) => + migrateTrackMasks({ track }), + ); + + return { ...scene, tracks: migratedTracks }; +} + +function migrateTrackMasks({ track }: { track: unknown }): unknown { + if (!isRecord(track)) return track; + + const elementsValue = track.elements; + if (!Array.isArray(elementsValue)) return track; + + const migratedElements = elementsValue.map((element) => + migrateElementMasks({ element }), + ); + + return { ...track, elements: migratedElements }; +} + +function migrateElementMasks({ element }: { element: unknown }): unknown { + if (!isRecord(element)) return element; + + const masksValue = element.masks; + if (!Array.isArray(masksValue)) return element; + + const migratedMasks = masksValue.map((mask) => migrateMask({ mask })); + + return { ...element, masks: migratedMasks }; +} + +function migrateMask({ mask }: { mask: unknown }): unknown { + if (!isRecord(mask)) return mask; + + const params = isRecord(mask.params) ? { ...mask.params } : {}; + const result = { ...mask }; + + result.params = { + ...params, + feather: typeof mask.feather === "number" ? mask.feather : 0, + inverted: typeof mask.inverted === "boolean" ? mask.inverted : false, + strokeColor: + isRecord(mask.stroke) && typeof mask.stroke.color === "string" + ? mask.stroke.color + : "#ffffff", + strokeWidth: + isRecord(mask.stroke) && typeof mask.stroke.width === "number" + ? mask.stroke.width + : 0, + }; + + delete (result as Record<string, unknown>).feather; + delete (result as Record<string, unknown>).inverted; + delete (result as Record<string, unknown>).stroke; + + return result; +} diff --git a/apps/web/src/services/storage/migrations/transformers/v13-to-v14.ts b/apps/web/src/services/storage/migrations/transformers/v13-to-v14.ts new file mode 100644 index 00000000..01a3cc3e --- /dev/null +++ b/apps/web/src/services/storage/migrations/transformers/v13-to-v14.ts @@ -0,0 +1,106 @@ +import type { MigrationResult, ProjectRecord } from "./types"; +import { getProjectId, isRecord } from "./utils"; + +export function transformProjectV13ToV14({ + project, +}: { + project: ProjectRecord; +}): MigrationResult<ProjectRecord> { + if (!getProjectId({ project })) { + return { project, skipped: true, reason: "no project id" }; + } + + if (typeof project.version === "number" && project.version >= 14) { + return { project, skipped: true, reason: "already v14" }; + } + + const migratedProject = migrateProjectSplitMasks({ project }); + + return { + project: { ...migratedProject, version: 14 }, + skipped: false, + }; +} + +function migrateProjectSplitMasks({ + project, +}: { + project: ProjectRecord; +}): ProjectRecord { + const scenesValue = project.scenes; + if (!Array.isArray(scenesValue)) return project; + + const migratedScenes = scenesValue.map((scene) => + migrateSceneSplitMasks({ scene }), + ); + + return { ...project, scenes: migratedScenes }; +} + +function migrateSceneSplitMasks({ scene }: { scene: unknown }): unknown { + if (!isRecord(scene)) return scene; + + const tracksValue = scene.tracks; + if (!Array.isArray(tracksValue)) return scene; + + const migratedTracks = tracksValue.map((track) => + migrateTrackSplitMasks({ track }), + ); + + return { ...scene, tracks: migratedTracks }; +} + +function migrateTrackSplitMasks({ track }: { track: unknown }): unknown { + if (!isRecord(track)) return track; + + const elementsValue = track.elements; + if (!Array.isArray(elementsValue)) return track; + + const migratedElements = elementsValue.map((element) => + migrateElementSplitMasks({ element }), + ); + + return { ...track, elements: migratedElements }; +} + +function migrateElementSplitMasks({ element }: { element: unknown }): unknown { + if (!isRecord(element)) return element; + + const masksValue = element.masks; + if (!Array.isArray(masksValue)) return element; + + const migratedMasks = masksValue.map((mask) => migrateSplitMask({ mask })); + + return { ...element, masks: migratedMasks }; +} + +/** + * Converts split mask params from position-along-normal to explicit (x, y) anchor. + * + * Old: center = (cx + (position-0.5)*W*cos(rot), cy + (position-0.5)*W*sin(rot)) + * New: center = (cx + x*W, cy + y*W) + * + * Conversion: x = (position-0.5)*cos(rot), y = (position-0.5)*sin(rot) + */ +function migrateSplitMask({ mask }: { mask: unknown }): unknown { + if (!isRecord(mask)) return mask; + if (mask.type !== "split") return mask; + + const params = isRecord(mask.params) ? mask.params : {}; + const position = typeof params.position === "number" ? params.position : 0.5; + const rotation = typeof params.rotation === "number" ? params.rotation : 0; + + const angleRad = (rotation * Math.PI) / 180; + const x = (position - 0.5) * Math.cos(angleRad); + const y = (position - 0.5) * Math.sin(angleRad); + + const { position: _removed, ...restParams } = params as Record< + string, + unknown + > & { position: unknown }; + + return { + ...mask, + params: { ...restParams, x, y }, + }; +} diff --git a/apps/web/src/services/storage/migrations/transformers/v14-to-v15.ts b/apps/web/src/services/storage/migrations/transformers/v14-to-v15.ts new file mode 100644 index 00000000..beef05d4 --- /dev/null +++ b/apps/web/src/services/storage/migrations/transformers/v14-to-v15.ts @@ -0,0 +1,67 @@ +import { STICKER_INTRINSIC_SIZE_FALLBACK } from "@/constants/sticker-constants"; +import type { MigrationResult, ProjectRecord } from "./types"; +import { getProjectId, isRecord } from "./utils"; + +export function transformProjectV14ToV15({ + project, +}: { + project: ProjectRecord; +}): MigrationResult<ProjectRecord> { + if (!getProjectId({ project })) { + return { project, skipped: true, reason: "no project id" }; + } + + if (typeof project.version === "number" && project.version >= 15) { + return { project, skipped: true, reason: "already v15" }; + } + + const migratedProject = backfillStickerIntrinsicDimensions({ project }); + + return { + project: { ...migratedProject, version: 15 }, + skipped: false, + }; +} + +function backfillStickerIntrinsicDimensions({ + project, +}: { + project: ProjectRecord; +}): ProjectRecord { + const scenesValue = project.scenes; + if (!Array.isArray(scenesValue)) return project; + + const migratedScenes = scenesValue.map((scene) => { + if (!isRecord(scene)) return scene; + const tracksValue = scene.tracks; + if (!Array.isArray(tracksValue)) return scene; + + const migratedTracks = tracksValue.map((track) => { + if (!isRecord(track)) return track; + const elementsValue = track.elements; + if (!Array.isArray(elementsValue)) return track; + + const migratedElements = elementsValue.map((element) => { + if (!isRecord(element)) return element; + if (element.type !== "sticker") return element; + if ( + typeof element.intrinsicWidth === "number" && + typeof element.intrinsicHeight === "number" + ) { + return element; + } + return { + ...element, + intrinsicWidth: STICKER_INTRINSIC_SIZE_FALLBACK, + intrinsicHeight: STICKER_INTRINSIC_SIZE_FALLBACK, + }; + }); + + return { ...track, elements: migratedElements }; + }); + + return { ...scene, tracks: migratedTracks }; + }); + + return { ...project, scenes: migratedScenes }; +} diff --git a/apps/web/src/services/storage/migrations/transformers/v15-to-v16.ts b/apps/web/src/services/storage/migrations/transformers/v15-to-v16.ts new file mode 100644 index 00000000..15e2f3bb --- /dev/null +++ b/apps/web/src/services/storage/migrations/transformers/v15-to-v16.ts @@ -0,0 +1,60 @@ +import type { MigrationResult, ProjectRecord } from "./types"; +import { getProjectId, isRecord } from "./utils"; + +export function transformProjectV15ToV16({ + project, +}: { + project: ProjectRecord; +}): MigrationResult<ProjectRecord> { + if (!getProjectId({ project })) { + return { project, skipped: true, reason: "no project id" }; + } + + if (typeof project.version === "number" && project.version >= 16) { + return { project, skipped: true, reason: "already v16" }; + } + + return { + project: { + ...renameStickerTracksToGraphic({ project }), + version: 16, + }, + skipped: false, + }; +} + +function renameStickerTracksToGraphic({ + project, +}: { + project: ProjectRecord; +}): ProjectRecord { + const scenesValue = project.scenes; + if (!Array.isArray(scenesValue)) { + return project; + } + + const migratedScenes = scenesValue.map((scene) => { + if (!isRecord(scene) || !Array.isArray(scene.tracks)) { + return scene; + } + + return { + ...scene, + tracks: scene.tracks.map((track) => { + if (!isRecord(track) || track.type !== "sticker") { + return track; + } + + return { + ...track, + type: "graphic", + }; + }), + }; + }); + + return { + ...project, + scenes: migratedScenes, + }; +} diff --git a/apps/web/src/services/storage/migrations/transformers/v16-to-v17.ts b/apps/web/src/services/storage/migrations/transformers/v16-to-v17.ts new file mode 100644 index 00000000..7fec70e9 --- /dev/null +++ b/apps/web/src/services/storage/migrations/transformers/v16-to-v17.ts @@ -0,0 +1,107 @@ +import type { MigrationResult, ProjectRecord } from "./types"; +import { getProjectId, isRecord } from "./utils"; + +export function transformProjectV16ToV17({ + project, +}: { + project: ProjectRecord; +}): MigrationResult<ProjectRecord> { + if (!getProjectId({ project })) { + return { project, skipped: true, reason: "no project id" }; + } + + if (typeof project.version === "number" && project.version >= 17) { + return { project, skipped: true, reason: "already v17" }; + } + + return { + project: { + ...backfillMaskStrokeAlign({ project }), + version: 17, + }, + skipped: false, + }; +} + +function backfillMaskStrokeAlign({ + project, +}: { + project: ProjectRecord; +}): ProjectRecord { + const scenesValue = project.scenes; + if (!Array.isArray(scenesValue)) { + return project; + } + + const migratedScenes = scenesValue.map((scene) => { + if (!isRecord(scene)) { + return scene; + } + + const tracksValue = scene.tracks; + if (!Array.isArray(tracksValue)) { + return scene; + } + + const migratedTracks = tracksValue.map((track) => { + if (!isRecord(track)) { + return track; + } + + const elementsValue = track.elements; + if (!Array.isArray(elementsValue)) { + return track; + } + + const migratedElements = elementsValue.map((element) => { + if (!isRecord(element)) { + return element; + } + + const masksValue = element.masks; + if (!Array.isArray(masksValue)) { + return element; + } + + const migratedMasks = masksValue.map((mask) => { + if (!isRecord(mask)) { + return mask; + } + + const paramsValue = mask.params; + if (!isRecord(paramsValue) || typeof paramsValue.strokeAlign === "string") { + return mask; + } + + return { + ...mask, + params: { + ...paramsValue, + strokeAlign: "center", + }, + }; + }); + + return { + ...element, + masks: migratedMasks, + }; + }); + + return { + ...track, + elements: migratedElements, + }; + }); + + return { + ...scene, + tracks: migratedTracks, + }; + }); + + return { + ...project, + scenes: migratedScenes, + }; +} diff --git a/apps/web/src/services/storage/migrations/transformers/v17-to-v18.ts b/apps/web/src/services/storage/migrations/transformers/v17-to-v18.ts new file mode 100644 index 00000000..31a60121 --- /dev/null +++ b/apps/web/src/services/storage/migrations/transformers/v17-to-v18.ts @@ -0,0 +1,105 @@ +import type { MigrationResult, ProjectRecord } from "./types"; +import { VOLUME_DB_MIN } from "@/lib/timeline/audio-constants"; +import { clampDb } from "@/lib/timeline/audio-state"; +import { getProjectId, isRecord } from "./utils"; + +export function transformProjectV17ToV18({ + project, +}: { + project: ProjectRecord; +}): MigrationResult<ProjectRecord> { + if (!getProjectId({ project })) { + return { project, skipped: true, reason: "no project id" }; + } + + if (typeof project.version === "number" && project.version >= 18) { + return { project, skipped: true, reason: "already v18" }; + } + + return { + project: { + ...migrateElementVolumes({ project }), + version: 18, + }, + skipped: false, + }; +} + +function migrateElementVolumes({ + project, +}: { + project: ProjectRecord; +}): ProjectRecord { + const scenesValue = project.scenes; + if (!Array.isArray(scenesValue)) { + return project; + } + + const migratedScenes = scenesValue.map((scene) => { + if (!isRecord(scene)) { + return scene; + } + + const tracksValue = scene.tracks; + if (!Array.isArray(tracksValue)) { + return scene; + } + + const migratedTracks = tracksValue.map((track) => { + if (!isRecord(track)) { + return track; + } + + const elementsValue = track.elements; + if (!Array.isArray(elementsValue)) { + return track; + } + + const migratedElements = elementsValue.map((element) => { + if (!isRecord(element)) { + return element; + } + + if (element.type !== "audio" && element.type !== "video") { + return element; + } + + const legacyVolume = element.volume; + return { + ...element, + volume: + typeof legacyVolume === "number" + ? linearGainToDb(legacyVolume) + : 0, + }; + }); + + return { + ...track, + elements: migratedElements, + }; + }); + + return { + ...scene, + tracks: migratedTracks, + }; + }); + + return { + ...project, + scenes: migratedScenes, + }; +} + +function linearGainToDb(gain: number): number { + if (!Number.isFinite(gain)) { + return 0; + } + + if (gain <= 0) { + return VOLUME_DB_MIN; + } + + return clampDb(20 * Math.log10(gain)); +} diff --git a/apps/web/src/services/storage/migrations/transformers/v18-to-v19.ts b/apps/web/src/services/storage/migrations/transformers/v18-to-v19.ts new file mode 100644 index 00000000..1946b829 --- /dev/null +++ b/apps/web/src/services/storage/migrations/transformers/v18-to-v19.ts @@ -0,0 +1,46 @@ +import type { MigrationResult, ProjectRecord } from "./types"; +import { getProjectId, isRecord } from "./utils"; + +export function transformProjectV18ToV19({ + project, +}: { + project: ProjectRecord; +}): MigrationResult<ProjectRecord> { + if (!getProjectId({ project })) { + return { project, skipped: true, reason: "no project id" }; + } + + if (typeof project.version === "number" && project.version >= 19) { + return { project, skipped: true, reason: "already v19" }; + } + + return { + project: { + ...migrateCanvasSizeSettings({ project }), + version: 19, + }, + skipped: false, + }; +} + +function migrateCanvasSizeSettings({ + project, +}: { + project: ProjectRecord; +}): ProjectRecord { + const settingsValue = project.settings; + if (!isRecord(settingsValue)) { + return project; + } + + const migratedSettings: Record<string, unknown> = { + ...settingsValue, + canvasSizeMode: "preset", + lastCustomCanvasSize: null, + }; + + return { + ...project, + settings: migratedSettings, + }; +} diff --git a/apps/web/src/services/storage/migrations/transformers/v2-to-v3.ts b/apps/web/src/services/storage/migrations/transformers/v2-to-v3.ts index 094b8bd8..0807d4fb 100644 --- a/apps/web/src/services/storage/migrations/transformers/v2-to-v3.ts +++ b/apps/web/src/services/storage/migrations/transformers/v2-to-v3.ts @@ -1,5 +1,3 @@ -import { getProjectDurationFromScenes } from "@/lib/scenes"; -import type { TScene } from "@/types/timeline"; import type { MigrationResult, ProjectRecord } from "./types"; import { getProjectId, isRecord } from "./utils"; @@ -18,7 +16,7 @@ export function transformProjectV2ToV3({ } const scenes = getScenes({ project }); - const duration = getProjectDurationFromScenes({ scenes }); + const duration = getDurationFromScenes({ scenes }); const metadataValue = project.metadata; const metadata = isRecord(metadataValue) @@ -36,13 +34,42 @@ export function transformProjectV2ToV3({ export { getProjectId } from "./utils"; -function getScenes({ project }: { project: ProjectRecord }): TScene[] { +function getScenes({ project }: { project: ProjectRecord }): unknown[] { const scenesValue = project.scenes; if (!Array.isArray(scenesValue)) { return []; } - return scenesValue.filter(isRecord) as unknown as TScene[]; + return scenesValue.filter(isRecord); +} + +function getDurationFromScenes({ scenes }: { scenes: unknown[] }): number { + const mainScene = + scenes.find( + (s): s is Record<string, unknown> => + isRecord(s) && s.isMain === true, + ) ?? + scenes.find(isRecord) ?? + null; + + if (!mainScene || !Array.isArray(mainScene.tracks)) { + return 0; + } + + let maxEnd = 0; + for (const track of mainScene.tracks) { + if (!isRecord(track) || !Array.isArray(track.elements)) continue; + for (const element of track.elements) { + if (!isRecord(element)) continue; + const startTime = + typeof element.startTime === "number" ? element.startTime : 0; + const duration = + typeof element.duration === "number" ? element.duration : 0; + maxEnd = Math.max(maxEnd, startTime + duration); + } + } + + return maxEnd; } function isV3Project({ project }: { project: ProjectRecord }): boolean { diff --git a/apps/web/src/services/storage/migrations/transformers/v9-to-v10.ts b/apps/web/src/services/storage/migrations/transformers/v9-to-v10.ts new file mode 100644 index 00000000..52d13295 --- /dev/null +++ b/apps/web/src/services/storage/migrations/transformers/v9-to-v10.ts @@ -0,0 +1,21 @@ +import type { MigrationResult, ProjectRecord } from "./types"; +import { getProjectId } from "./utils"; + +export function transformProjectV9ToV10({ + project, +}: { + project: ProjectRecord; +}): MigrationResult<ProjectRecord> { + if (!getProjectId({ project })) { + return { project, skipped: true, reason: "no project id" }; + } + + if (typeof project.version === "number" && project.version >= 10) { + return { project, skipped: true, reason: "already v10" }; + } + + return { + project: { ...project, version: 10 }, + skipped: false, + }; +} diff --git a/apps/web/src/services/storage/migrations/v10-to-v11.ts b/apps/web/src/services/storage/migrations/v10-to-v11.ts new file mode 100644 index 00000000..68439fbe --- /dev/null +++ b/apps/web/src/services/storage/migrations/v10-to-v11.ts @@ -0,0 +1,16 @@ +import { StorageMigration } from "./base"; +import type { ProjectRecord } from "./transformers/types"; +import { transformProjectV10ToV11 } from "./transformers/v10-to-v11"; + +export class V10toV11Migration extends StorageMigration { + from = 10; + to = 11; + + async transform(project: ProjectRecord): Promise<{ + project: ProjectRecord; + skipped: boolean; + reason?: string; + }> { + return transformProjectV10ToV11({ project }); + } +} diff --git a/apps/web/src/services/storage/migrations/v11-to-v12.ts b/apps/web/src/services/storage/migrations/v11-to-v12.ts new file mode 100644 index 00000000..5efedbef --- /dev/null +++ b/apps/web/src/services/storage/migrations/v11-to-v12.ts @@ -0,0 +1,16 @@ +import { StorageMigration } from "./base"; +import type { ProjectRecord } from "./transformers/types"; +import { transformProjectV11ToV12 } from "./transformers/v11-to-v12"; + +export class V11toV12Migration extends StorageMigration { + from = 11; + to = 12; + + async transform(project: ProjectRecord): Promise<{ + project: ProjectRecord; + skipped: boolean; + reason?: string; + }> { + return transformProjectV11ToV12({ project }); + } +} diff --git a/apps/web/src/services/storage/migrations/v12-to-v13.ts b/apps/web/src/services/storage/migrations/v12-to-v13.ts new file mode 100644 index 00000000..5c6e05fc --- /dev/null +++ b/apps/web/src/services/storage/migrations/v12-to-v13.ts @@ -0,0 +1,16 @@ +import { StorageMigration } from "./base"; +import type { ProjectRecord } from "./transformers/types"; +import { transformProjectV12ToV13 } from "./transformers/v12-to-v13"; + +export class V12toV13Migration extends StorageMigration { + from = 12; + to = 13; + + async transform(project: ProjectRecord): Promise<{ + project: ProjectRecord; + skipped: boolean; + reason?: string; + }> { + return transformProjectV12ToV13({ project }); + } +} diff --git a/apps/web/src/services/storage/migrations/v13-to-v14.ts b/apps/web/src/services/storage/migrations/v13-to-v14.ts new file mode 100644 index 00000000..fbc9fc5f --- /dev/null +++ b/apps/web/src/services/storage/migrations/v13-to-v14.ts @@ -0,0 +1,16 @@ +import { StorageMigration } from "./base"; +import type { ProjectRecord } from "./transformers/types"; +import { transformProjectV13ToV14 } from "./transformers/v13-to-v14"; + +export class V13toV14Migration extends StorageMigration { + from = 13; + to = 14; + + async transform(project: ProjectRecord): Promise<{ + project: ProjectRecord; + skipped: boolean; + reason?: string; + }> { + return transformProjectV13ToV14({ project }); + } +} diff --git a/apps/web/src/services/storage/migrations/v14-to-v15.ts b/apps/web/src/services/storage/migrations/v14-to-v15.ts new file mode 100644 index 00000000..1d18423f --- /dev/null +++ b/apps/web/src/services/storage/migrations/v14-to-v15.ts @@ -0,0 +1,16 @@ +import { StorageMigration } from "./base"; +import type { ProjectRecord } from "./transformers/types"; +import { transformProjectV14ToV15 } from "./transformers/v14-to-v15"; + +export class V14toV15Migration extends StorageMigration { + from = 14; + to = 15; + + async transform(project: ProjectRecord): Promise<{ + project: ProjectRecord; + skipped: boolean; + reason?: string; + }> { + return transformProjectV14ToV15({ project }); + } +} diff --git a/apps/web/src/services/storage/migrations/v15-to-v16.ts b/apps/web/src/services/storage/migrations/v15-to-v16.ts new file mode 100644 index 00000000..800c9c07 --- /dev/null +++ b/apps/web/src/services/storage/migrations/v15-to-v16.ts @@ -0,0 +1,16 @@ +import { StorageMigration } from "./base"; +import type { ProjectRecord } from "./transformers/types"; +import { transformProjectV15ToV16 } from "./transformers/v15-to-v16"; + +export class V15toV16Migration extends StorageMigration { + from = 15; + to = 16; + + async transform(project: ProjectRecord): Promise<{ + project: ProjectRecord; + skipped: boolean; + reason?: string; + }> { + return transformProjectV15ToV16({ project }); + } +} diff --git a/apps/web/src/services/storage/migrations/v16-to-v17.ts b/apps/web/src/services/storage/migrations/v16-to-v17.ts new file mode 100644 index 00000000..f4029db6 --- /dev/null +++ b/apps/web/src/services/storage/migrations/v16-to-v17.ts @@ -0,0 +1,16 @@ +import { StorageMigration } from "./base"; +import type { ProjectRecord } from "./transformers/types"; +import { transformProjectV16ToV17 } from "./transformers/v16-to-v17"; + +export class V16toV17Migration extends StorageMigration { + from = 16; + to = 17; + + async transform(project: ProjectRecord): Promise<{ + project: ProjectRecord; + skipped: boolean; + reason?: string; + }> { + return transformProjectV16ToV17({ project }); + } +} diff --git a/apps/web/src/services/storage/migrations/v17-to-v18.ts b/apps/web/src/services/storage/migrations/v17-to-v18.ts new file mode 100644 index 00000000..75beb36b --- /dev/null +++ b/apps/web/src/services/storage/migrations/v17-to-v18.ts @@ -0,0 +1,16 @@ +import { StorageMigration } from "./base"; +import type { ProjectRecord } from "./transformers/types"; +import { transformProjectV17ToV18 } from "./transformers/v17-to-v18"; + +export class V17toV18Migration extends StorageMigration { + from = 17; + to = 18; + + async transform(project: ProjectRecord): Promise<{ + project: ProjectRecord; + skipped: boolean; + reason?: string; + }> { + return transformProjectV17ToV18({ project }); + } +} diff --git a/apps/web/src/services/storage/migrations/v18-to-v19.ts b/apps/web/src/services/storage/migrations/v18-to-v19.ts new file mode 100644 index 00000000..166d9855 --- /dev/null +++ b/apps/web/src/services/storage/migrations/v18-to-v19.ts @@ -0,0 +1,16 @@ +import { StorageMigration } from "./base"; +import type { ProjectRecord } from "./transformers/types"; +import { transformProjectV18ToV19 } from "./transformers/v18-to-v19"; + +export class V18toV19Migration extends StorageMigration { + from = 18; + to = 19; + + async transform(project: ProjectRecord): Promise<{ + project: ProjectRecord; + skipped: boolean; + reason?: string; + }> { + return transformProjectV18ToV19({ project }); + } +} diff --git a/apps/web/src/services/storage/migrations/v9-to-v10.ts b/apps/web/src/services/storage/migrations/v9-to-v10.ts new file mode 100644 index 00000000..801096fe --- /dev/null +++ b/apps/web/src/services/storage/migrations/v9-to-v10.ts @@ -0,0 +1,16 @@ +import { StorageMigration } from "./base"; +import type { ProjectRecord } from "./transformers/types"; +import { transformProjectV9ToV10 } from "./transformers/v9-to-v10"; + +export class V9toV10Migration extends StorageMigration { + from = 9; + to = 10; + + async transform(project: ProjectRecord): Promise<{ + project: ProjectRecord; + skipped: boolean; + reason?: string; + }> { + return transformProjectV9ToV10({ project }); + } +} diff --git a/apps/web/src/services/storage/quota.ts b/apps/web/src/services/storage/quota.ts new file mode 100644 index 00000000..1eb6028e --- /dev/null +++ b/apps/web/src/services/storage/quota.ts @@ -0,0 +1,145 @@ +const BYTE_UNITS = ["B", "KB", "MB", "GB", "TB"] as const; + +export const STORAGE_HEADROOM_RESERVE_BYTES = 50 * 1024 * 1024; + +export interface StorageQuotaStatus { + quotaBytes: number | null; + usageBytes: number | null; + headroomBytes: number | null; + availableBytes: number | null; +} + +export interface StorageCapacityCheckResult { + canStore: boolean; + reason: "enough-space" | "insufficient-space" | "estimate-unavailable"; + availableBytes: number | null; +} + +function normalizeByteValue({ value }: { value: unknown }): number | null { + if (typeof value !== "number" || !Number.isFinite(value) || value < 0) { + return null; + } + + return value; +} + +export function formatStorageBytes({ bytes }: { bytes: number }): string { + if (!Number.isFinite(bytes) || bytes <= 0) { + return "0 B"; + } + + let value = bytes; + let unitIndex = 0; + + while (value >= 1024 && unitIndex < BYTE_UNITS.length - 1) { + value /= 1024; + unitIndex += 1; + } + + const precision = value >= 10 || unitIndex === 0 ? 0 : 1; + return `${value.toFixed(precision)} ${BYTE_UNITS[unitIndex]}`; +} + +export async function readStorageQuotaStatus(): Promise<StorageQuotaStatus> { + if ( + typeof navigator === "undefined" || + !navigator.storage || + typeof navigator.storage.estimate !== "function" + ) { + return { + quotaBytes: null, + usageBytes: null, + headroomBytes: null, + availableBytes: null, + }; + } + + const estimate = await navigator.storage.estimate(); + const quotaBytes = normalizeByteValue({ value: estimate.quota }); + const usageBytes = normalizeByteValue({ value: estimate.usage }); + + if (quotaBytes === null || usageBytes === null) { + return { + quotaBytes, + usageBytes, + headroomBytes: null, + availableBytes: null, + }; + } + + const headroomBytes = Math.max(quotaBytes - usageBytes, 0); + const availableBytes = Math.max( + headroomBytes - STORAGE_HEADROOM_RESERVE_BYTES, + 0, + ); + + return { + quotaBytes, + usageBytes, + headroomBytes, + availableBytes, + }; +} + +export function evaluateStorageCapacity({ + requiredBytes, + quotaStatus, +}: { + requiredBytes: number; + quotaStatus: StorageQuotaStatus; +}): StorageCapacityCheckResult { + if (quotaStatus.availableBytes === null) { + return { + canStore: true, + reason: "estimate-unavailable", + availableBytes: null, + }; + } + + if (requiredBytes > quotaStatus.availableBytes) { + return { + canStore: false, + reason: "insufficient-space", + availableBytes: quotaStatus.availableBytes, + }; + } + + return { + canStore: true, + reason: "enough-space", + availableBytes: quotaStatus.availableBytes, + }; +} + +export class StorageQuotaExceededError extends Error { + requiredBytes: number; + + constructor({ requiredBytes }: { requiredBytes: number }) { + super( + `Not enough browser storage to save a ${formatStorageBytes({ bytes: requiredBytes })} file.`, + ); + + this.name = "StorageQuotaExceededError"; + this.requiredBytes = requiredBytes; + } +} + +export function isStorageQuotaExceededError({ + error, +}: { + error: unknown; +}): boolean { + if (error instanceof StorageQuotaExceededError) { + return true; + } + + if (!(error instanceof Error)) { + return false; + } + + return ( + error.name === "QuotaExceededError" || + error.name === "NS_ERROR_DOM_QUOTA_REACHED" || + error.message.toLowerCase().includes("quota") + ); +} diff --git a/apps/web/src/services/storage/service.ts b/apps/web/src/services/storage/service.ts index aac152da..3a014894 100644 --- a/apps/web/src/services/storage/service.ts +++ b/apps/web/src/services/storage/service.ts @@ -1,20 +1,27 @@ -import type { TProject, TProjectMetadata } from "@/types/project"; +import type { TProject, TProjectMetadata } from "@/lib/project/types"; import { getProjectDurationFromScenes } from "@/lib/scenes"; -import type { MediaAsset } from "@/types/assets"; +import type { MediaAsset } from "@/lib/media/types"; import { IndexedDBAdapter } from "./indexeddb-adapter"; import { OPFSAdapter } from "./opfs-adapter"; +import { + type StorageCapacityCheckResult, + StorageQuotaExceededError, + evaluateStorageCapacity, + isStorageQuotaExceededError, + readStorageQuotaStatus, +} from "./quota"; import type { MediaAssetData, StorageConfig, SerializedProject, SerializedScene, } from "./types"; -import type { SavedSoundsData, SavedSound, SoundEffect } from "@/types/sounds"; +import type { SavedSoundsData, SavedSound, SoundEffect } from "@/lib/sounds/types"; import { migrations, runStorageMigrations, } from "@/services/storage/migrations"; -import type { Bookmark, TimelineTrack, TScene } from "@/types/timeline"; +import type { Bookmark, TimelineTrack, TScene } from "@/lib/timeline"; function normalizeBookmarks({ raw }: { raw: unknown }): Bookmark[] { if (!Array.isArray(raw)) return []; @@ -90,6 +97,22 @@ class StorageService { return { mediaMetadataAdapter, mediaAssetsAdapter }; } + async canStoreFile({ + size, + }: { + size: number; + }): Promise<StorageCapacityCheckResult> { + const quotaStatus = await readStorageQuotaStatus(); + return evaluateStorageCapacity({ + requiredBytes: size, + quotaStatus, + }); + } + + isQuotaExceededError({ error }: { error: unknown }): boolean { + return isStorageQuotaExceededError({ error }); + } + private stripAudioBuffers({ tracks, }: { @@ -238,8 +261,6 @@ class StorageService { const { mediaMetadataAdapter, mediaAssetsAdapter } = this.getProjectMediaAdapters({ projectId }); - await mediaAssetsAdapter.set(mediaAsset.id, mediaAsset.file); - const metadata: MediaAssetData = { id: mediaAsset.id, name: mediaAsset.name, @@ -253,7 +274,24 @@ class StorageService { ephemeral: mediaAsset.ephemeral, }; - await mediaMetadataAdapter.set(mediaAsset.id, metadata); + try { + await mediaAssetsAdapter.set(mediaAsset.id, mediaAsset.file); + await mediaMetadataAdapter.set(mediaAsset.id, metadata); + } catch (error) { + try { + await mediaAssetsAdapter.remove(mediaAsset.id); + } catch { + // Ignore cleanup failures so the original storage error is preserved. + } + + if (this.isQuotaExceededError({ error })) { + throw new StorageQuotaExceededError({ + requiredBytes: mediaAsset.file.size, + }); + } + + throw error; + } } async loadMediaAsset({ diff --git a/apps/web/src/services/storage/types.ts b/apps/web/src/services/storage/types.ts index 7481c73c..1dcf6545 100644 --- a/apps/web/src/services/storage/types.ts +++ b/apps/web/src/services/storage/types.ts @@ -1,10 +1,10 @@ -import type { MediaType } from "@/types/assets"; +import type { MediaType } from "@/lib/media/types"; import type { TProject, TProjectMetadata, TTimelineViewState, -} from "@/types/project"; -import type { TScene } from "@/types/timeline"; +} from "@/lib/project/types"; +import type { TScene } from "@/lib/timeline"; export interface StorageAdapter<T> { get(key: string): Promise<T | null>; @@ -24,6 +24,7 @@ export interface MediaAssetData { height?: number; duration?: number; fps?: number; + hasAudio?: boolean; ephemeral?: boolean; thumbnailUrl?: string; } diff --git a/apps/web/src/services/transcription/service.ts b/apps/web/src/services/transcription/service.ts index c34a82ce..ab88106c 100644 --- a/apps/web/src/services/transcription/service.ts +++ b/apps/web/src/services/transcription/service.ts @@ -3,7 +3,7 @@ import type { TranscriptionResult, TranscriptionProgress, TranscriptionModelId, -} from "@/types/transcription"; +} from "@/lib/transcription/types"; import { DEFAULT_TRANSCRIPTION_MODEL, TRANSCRIPTION_MODELS, diff --git a/apps/web/src/services/transcription/worker.ts b/apps/web/src/services/transcription/worker.ts index 2aa9673c..e583b2ab 100644 --- a/apps/web/src/services/transcription/worker.ts +++ b/apps/web/src/services/transcription/worker.ts @@ -3,7 +3,7 @@ import { type AutomaticSpeechRecognitionPipeline, type AutomaticSpeechRecognitionOutput, } from "@huggingface/transformers"; -import type { TranscriptionSegment } from "@/types/transcription"; +import type { TranscriptionSegment } from "@/lib/transcription/types"; import { DEFAULT_CHUNK_LENGTH_SECONDS, DEFAULT_STRIDE_SECONDS, diff --git a/apps/web/src/stores/editor-store.ts b/apps/web/src/stores/editor-store.ts index ad351bf9..96009928 100644 --- a/apps/web/src/stores/editor-store.ts +++ b/apps/web/src/stores/editor-store.ts @@ -1,6 +1,6 @@ import { create } from "zustand"; import { DEFAULT_CANVAS_PRESETS } from "@/constants/project-constants"; -import type { TCanvasSize } from "@/types/project"; +import type { TCanvasSize } from "@/lib/project/types"; interface EditorState { isInitializing: boolean; diff --git a/apps/web/src/stores/keybindings-store.ts b/apps/web/src/stores/keybindings-store.ts index 906e9aa8..b4cf2703 100644 --- a/apps/web/src/stores/keybindings-store.ts +++ b/apps/web/src/stores/keybindings-store.ts @@ -6,10 +6,10 @@ import type { TActionWithOptionalArgs } from "@/lib/actions"; import { getDefaultShortcuts } from "@/lib/actions"; import { isTypableDOMElement } from "@/utils/browser"; import { isAppleDevice } from "@/utils/platform"; -import type { KeybindingConfig, ShortcutKey } from "@/types/keybinding"; +import type { KeybindingConfig, ShortcutKey } from "@/lib/actions/keybinding"; import { runMigrations, CURRENT_VERSION } from "./keybindings/migrations"; -export const defaultKeybindings: KeybindingConfig = getDefaultShortcuts(); +const defaultKeybindings: KeybindingConfig = getDefaultShortcuts(); export interface KeybindingConflict { key: ShortcutKey; @@ -20,7 +20,9 @@ export interface KeybindingConflict { interface KeybindingsState { keybindings: KeybindingConfig; isCustomized: boolean; - keybindingsEnabled: boolean; + overlayDepth: number; + openOverlayIds: string[]; + isLoadingProject: boolean; isRecording: boolean; updateKeybinding: (key: ShortcutKey, action: TActionWithOptionalArgs) => void; @@ -28,8 +30,9 @@ interface KeybindingsState { resetToDefaults: () => void; importKeybindings: (config: KeybindingConfig) => void; exportKeybindings: () => KeybindingConfig; - enableKeybindings: () => void; - disableKeybindings: () => void; + openOverlay: (overlayId: string, source: string) => void; + closeOverlay: (overlayId: string, source: string) => void; + setLoadingProject: (loading: boolean) => void; setIsRecording: (isRecording: boolean) => void; validateKeybinding: ( key: ShortcutKey, @@ -48,9 +51,112 @@ export const useKeybindingsStore = create<KeybindingsState>()( (set, get) => ({ keybindings: { ...defaultKeybindings }, isCustomized: false, - keybindingsEnabled: true, + overlayDepth: 0, + openOverlayIds: [], + isLoadingProject: false, isRecording: false, + openOverlay: (overlayId, source) => + set((s) => { + const openOverlayIds = s.openOverlayIds.includes(overlayId) + ? s.openOverlayIds + : [...s.openOverlayIds, overlayId]; + const nextOverlayDepth = openOverlayIds.length; + // #region agent log + fetch( + "http://127.0.0.1:7245/ingest/669b22f8-172b-4e65-aa3f-1c702ede83f7", + { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-Debug-Session-Id": "3997d9", + }, + body: JSON.stringify({ + sessionId: "3997d9", + runId: "initial", + hypothesisId: "H2", + location: "keybindings-store.ts:openOverlay", + message: "Overlay depth incremented", + data: { + source, + overlayId, + overlayDepth: s.overlayDepth, + nextOverlayDepth, + openOverlayIds, + }, + timestamp: Date.now(), + }), + }, + ).catch(() => {}); + // #endregion + return { + openOverlayIds, + overlayDepth: nextOverlayDepth, + }; + }), + closeOverlay: (overlayId, source) => + set((s) => { + const openOverlayIds = s.openOverlayIds.filter( + (id) => id !== overlayId, + ); + const nextOverlayDepth = openOverlayIds.length; + // #region agent log + fetch( + "http://127.0.0.1:7245/ingest/669b22f8-172b-4e65-aa3f-1c702ede83f7", + { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-Debug-Session-Id": "3997d9", + }, + body: JSON.stringify({ + sessionId: "3997d9", + runId: "initial", + hypothesisId: "H2", + location: "keybindings-store.ts:closeOverlay", + message: "Overlay depth decremented", + data: { + source, + overlayId, + overlayDepth: s.overlayDepth, + nextOverlayDepth, + openOverlayIds, + }, + timestamp: Date.now(), + }), + }, + ).catch(() => {}); + // #endregion + return { + openOverlayIds, + overlayDepth: nextOverlayDepth, + }; + }), + setLoadingProject: (loading) => { + // #region agent log + fetch( + "http://127.0.0.1:7245/ingest/669b22f8-172b-4e65-aa3f-1c702ede83f7", + { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-Debug-Session-Id": "3997d9", + }, + body: JSON.stringify({ + sessionId: "3997d9", + runId: "initial", + hypothesisId: "H2", + location: "keybindings-store.ts:setLoadingProject", + message: "Loading gate updated", + data: { loading }, + timestamp: Date.now(), + }), + }, + ).catch(() => {}); + // #endregion + set({ isLoadingProject: loading }); + }, + updateKeybinding: (key: ShortcutKey, action: TActionWithOptionalArgs) => { set((state) => { const newKeybindings = { ...state.keybindings }; @@ -82,17 +188,9 @@ export const useKeybindingsStore = create<KeybindingsState>()( }); }, - enableKeybindings: () => { - set({ keybindingsEnabled: true }); - }, - - disableKeybindings: () => { - set({ keybindingsEnabled: false }); - }, - - importKeybindings: (config: KeybindingConfig) => { - for (const [key] of Object.entries(config)) { - if (typeof key !== "string" || key.length === 0) { + importKeybindings: (config: KeybindingConfig) => { + for (const [key] of Object.entries(config)) { + if (typeof key !== "string" || key.length === 0) { throw new Error(`Invalid key format: ${key}`); } } @@ -124,6 +222,27 @@ export const useKeybindingsStore = create<KeybindingsState>()( return null; }, setIsRecording: (isRecording: boolean) => { + // #region agent log + fetch( + "http://127.0.0.1:7245/ingest/669b22f8-172b-4e65-aa3f-1c702ede83f7", + { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-Debug-Session-Id": "3997d9", + }, + body: JSON.stringify({ + sessionId: "3997d9", + runId: "initial", + hypothesisId: "H2", + location: "keybindings-store.ts:setIsRecording", + message: "Recording gate updated", + data: { isRecording }, + timestamp: Date.now(), + }), + }, + ).catch(() => {}); + // #endregion set({ isRecording }); }, @@ -169,7 +288,10 @@ function generateKeybindingString(ev: KeyboardEvent): ShortcutKey | null { return `${modifierKey}+${key}` as ShortcutKey; } - if (isDOMElement(target) && isTypableDOMElement({ element: target as HTMLElement })) + if ( + isDOMElement(target) && + isTypableDOMElement({ element: target as HTMLElement }) + ) return null; return `${key}` as ShortcutKey; diff --git a/apps/web/src/stores/keybindings/migrations/index.ts b/apps/web/src/stores/keybindings/migrations/index.ts index e6641f41..330c7df7 100644 --- a/apps/web/src/stores/keybindings/migrations/index.ts +++ b/apps/web/src/stores/keybindings/migrations/index.ts @@ -1,6 +1,7 @@ import { v2ToV3 } from "./v2-to-v3"; import { v3ToV4 } from "./v3-to-v4"; import { v4ToV5 } from "./v4-to-v5"; +import { v5ToV6 } from "./v5-to-v6"; type MigrationFn = ({ state }: { state: unknown }) => unknown; @@ -8,9 +9,10 @@ const migrations: Record<number, MigrationFn> = { 2: v2ToV3, 3: v3ToV4, 4: v4ToV5, + 5: v5ToV6, }; -export const CURRENT_VERSION = 5; +export const CURRENT_VERSION = 6; export function runMigrations({ state, diff --git a/apps/web/src/stores/keybindings/migrations/v2-to-v3.ts b/apps/web/src/stores/keybindings/migrations/v2-to-v3.ts index 1517b52b..da0df588 100644 --- a/apps/web/src/stores/keybindings/migrations/v2-to-v3.ts +++ b/apps/web/src/stores/keybindings/migrations/v2-to-v3.ts @@ -1,4 +1,4 @@ -import type { KeybindingConfig, ShortcutKey } from "@/types/keybinding"; +import type { KeybindingConfig, ShortcutKey } from "@/lib/actions/keybinding"; import type { TActionWithOptionalArgs } from "@/lib/actions"; interface V2State { diff --git a/apps/web/src/stores/keybindings/migrations/v3-to-v4.ts b/apps/web/src/stores/keybindings/migrations/v3-to-v4.ts index b53e082f..be3b4a64 100644 --- a/apps/web/src/stores/keybindings/migrations/v3-to-v4.ts +++ b/apps/web/src/stores/keybindings/migrations/v3-to-v4.ts @@ -1,6 +1,6 @@ import type { TActionWithOptionalArgs } from "@/lib/actions"; -import type { ShortcutKey } from "@/types/keybinding"; -import type { KeybindingConfig } from "@/types/keybinding"; +import type { ShortcutKey } from "@/lib/actions/keybinding"; +import type { KeybindingConfig } from "@/lib/actions/keybinding"; interface V3State { keybindings: KeybindingConfig; diff --git a/apps/web/src/stores/keybindings/migrations/v4-to-v5.ts b/apps/web/src/stores/keybindings/migrations/v4-to-v5.ts index 2ab39247..4e23e0f4 100644 --- a/apps/web/src/stores/keybindings/migrations/v4-to-v5.ts +++ b/apps/web/src/stores/keybindings/migrations/v4-to-v5.ts @@ -1,4 +1,4 @@ -import type { KeybindingConfig } from "@/types/keybinding"; +import type { KeybindingConfig } from "@/lib/actions/keybinding"; interface V4State { keybindings: KeybindingConfig; diff --git a/apps/web/src/stores/keybindings/migrations/v5-to-v6.ts b/apps/web/src/stores/keybindings/migrations/v5-to-v6.ts new file mode 100644 index 00000000..3545815d --- /dev/null +++ b/apps/web/src/stores/keybindings/migrations/v5-to-v6.ts @@ -0,0 +1,17 @@ +import type { KeybindingConfig } from "@/lib/actions/keybinding"; + +interface V5State { + keybindings: KeybindingConfig; + isCustomized: boolean; +} + +export function v5ToV6({ state }: { state: unknown }): unknown { + const v5 = state as V5State; + const keybindings = { ...v5.keybindings }; + + if (keybindings.escape === "deselect-all") { + keybindings.escape = "cancel-interaction"; + } + + return { ...v5, keybindings }; +} diff --git a/apps/web/src/stores/preview-store.ts b/apps/web/src/stores/preview-store.ts index 03b28fe2..cd6488b3 100644 --- a/apps/web/src/stores/preview-store.ts +++ b/apps/web/src/stores/preview-store.ts @@ -1,20 +1,28 @@ import { create } from "zustand"; import { persist } from "zustand/middleware"; -import type { TPlatformLayout } from "@/types/editor"; - -interface LayoutGuideSettings { - platform: TPlatformLayout | null; -} +import { isGuideId, type GuideId } from "@/lib/guides"; +import { DEFAULT_GRID_CONFIG } from "@/constants/guide-constants"; +import type { GridConfig } from "@/lib/guides/types"; interface PreviewOverlaysState { bookmarks: boolean; } +interface PersistedPreviewState { + activeGuide?: string | null; + layoutGuide?: { + platform?: string | null; + }; + overlays?: PreviewOverlaysState; + gridConfig?: GridConfig; +} + interface PreviewState { - layoutGuide: LayoutGuideSettings; + activeGuide: GuideId | null; overlays: PreviewOverlaysState; - setLayoutGuide: (settings: Partial<LayoutGuideSettings>) => void; - toggleLayoutGuide: (platform: TPlatformLayout) => void; + gridConfig: GridConfig; + toggleGuide: (guideId: GuideId) => void; + setGridConfig: (config: Partial<GridConfig>) => void; setOverlayVisibility: ({ overlay, isVisible, @@ -33,24 +41,33 @@ const DEFAULT_PREVIEW_OVERLAYS: PreviewOverlaysState = { bookmarks: true, }; +function getPersistedActiveGuide( + state: PersistedPreviewState | undefined, +): GuideId | null { + const persistedGuide = + state?.activeGuide ?? state?.layoutGuide?.platform ?? null; + + if (typeof persistedGuide !== "string") { + return null; + } + + return isGuideId(persistedGuide) ? persistedGuide : null; +} + export const usePreviewStore = create<PreviewState>()( persist( (set) => ({ - layoutGuide: { platform: null }, + activeGuide: null, overlays: DEFAULT_PREVIEW_OVERLAYS, - setLayoutGuide: (settings) => { + gridConfig: DEFAULT_GRID_CONFIG, + toggleGuide: (guideId) => { set((state) => ({ - layoutGuide: { - ...state.layoutGuide, - ...settings, - }, + activeGuide: state.activeGuide === guideId ? null : guideId, })); }, - toggleLayoutGuide: (platform) => { + setGridConfig: (config) => { set((state) => ({ - layoutGuide: { - platform: state.layoutGuide.platform === platform ? null : platform, - }, + gridConfig: { ...state.gridConfig, ...config }, })); }, setOverlayVisibility: ({ overlay, isVisible }) => { @@ -72,22 +89,23 @@ export const usePreviewStore = create<PreviewState>()( }), { name: "preview-settings", - version: 2, + version: 4, migrate: (persistedState) => { - const state = persistedState as - | { - layoutGuide?: LayoutGuideSettings; - overlays?: PreviewOverlaysState; - } - | undefined; + const state = persistedState as PersistedPreviewState | undefined; + return { - layoutGuide: state?.layoutGuide ?? { platform: null }, + activeGuide: getPersistedActiveGuide(state), overlays: state?.overlays ?? DEFAULT_PREVIEW_OVERLAYS, + gridConfig: { + rows: state?.gridConfig?.rows ?? DEFAULT_GRID_CONFIG.rows, + cols: state?.gridConfig?.cols ?? DEFAULT_GRID_CONFIG.cols, + }, }; }, partialize: (state) => ({ - layoutGuide: state.layoutGuide, + activeGuide: state.activeGuide, overlays: state.overlays, + gridConfig: state.gridConfig, }), }, ), diff --git a/apps/web/src/stores/sounds-store.ts b/apps/web/src/stores/sounds-store.ts index 8edbcc97..1c58bd69 100644 --- a/apps/web/src/stores/sounds-store.ts +++ b/apps/web/src/stores/sounds-store.ts @@ -1,5 +1,5 @@ import { create } from "zustand"; -import type { SoundEffect, SavedSound } from "@/types/sounds"; +import type { SoundEffect, SavedSound } from "@/lib/sounds/types"; import { storageService } from "@/services/storage/service"; import { toast } from "sonner"; import { EditorCore } from "@/core"; diff --git a/apps/web/src/stores/stickers-store.ts b/apps/web/src/stores/stickers-store.ts index 3f713b3d..7a678084 100644 --- a/apps/web/src/stores/stickers-store.ts +++ b/apps/web/src/stores/stickers-store.ts @@ -1,16 +1,20 @@ import { create } from "zustand"; import { persist } from "zustand/middleware"; -import { EditorCore } from "@/core"; -import { searchStickers as searchStickersFromProviders } from "@/lib/stickers"; -import type { StickerSearchResult } from "@/lib/stickers"; -import { buildStickerElement } from "@/lib/timeline/element-utils"; +import { + browseAll, + browseCategory, + searchAll, + searchStickers as searchStickersFromProviders, +} from "@/lib/stickers"; +import type { StickerBrowseResult, StickerSearchResult } from "@/lib/stickers"; import { STICKER_CATEGORIES } from "@/constants/sticker-constants"; -import type { StickerCategory } from "@/types/stickers"; +import type { StickerCategory } from "@/lib/stickers/types"; import { registerDefaultStickerProviders } from "@/lib/stickers/providers"; -import { hasProvider } from "@/lib/stickers/registry"; +import { stickersRegistry } from "@/lib/stickers/registry"; import { parseStickerId } from "@/lib/stickers/sticker-id"; const MAX_RECENT_STICKERS = 50; +let browseRequestVersion = 0; function isValidStickerId(value: unknown): value is string { if (typeof value !== "string") { @@ -19,7 +23,7 @@ function isValidStickerId(value: unknown): value is string { try { const parsed = parseStickerId({ stickerId: value }); - return hasProvider({ providerId: parsed.providerId }); + return stickersRegistry.has(parsed.providerId); } catch { return false; } @@ -60,20 +64,15 @@ interface StickersStore { selectedCategory: StickerCategory; viewMode: ViewMode; searchResults: StickerSearchResult | null; + browseContent: StickerBrowseResult | null; recentStickers: string[]; isSearching: boolean; - addingSticker: string | null; + isBrowsing: boolean; setSearchQuery: ({ query }: { query: string }) => void; setSelectedCategory: ({ category }: { category: StickerCategory }) => void; searchStickers: ({ query }: { query: string }) => Promise<void>; - addStickerToTimeline: ({ - stickerId, - name, - }: { - stickerId: string; - name?: string; - }) => void; + browseStickers: () => Promise<void>; addToRecentStickers: ({ stickerId }: { stickerId: string }) => void; clearRecentStickers: () => void; } @@ -86,22 +85,34 @@ export const useStickersStore = create<StickersStore>()( viewMode: "browse", searchResults: null, + browseContent: null, recentStickers: [], isSearching: false, - addingSticker: null, + isBrowsing: false, setSearchQuery: ({ query }) => set({ searchQuery: query }), - setSelectedCategory: ({ category }) => - set({ - selectedCategory: category in STICKER_CATEGORIES ? category : "all", - viewMode: "browse", - }), + setSelectedCategory: ({ category }) => { + set({ + selectedCategory: category in STICKER_CATEGORIES ? category : "all", + browseContent: null, + }); + + const query = get().searchQuery.trim(); + if (query) { + void get().searchStickers({ query }); + return; + } + + void get().browseStickers(); + }, searchStickers: async ({ query }: { query: string }) => { - if (!query.trim()) { + const trimmedQuery = query.trim(); + if (!trimmedQuery) { set({ searchResults: null, viewMode: "browse" }); + await get().browseStickers(); return; } @@ -111,12 +122,17 @@ export const useStickersStore = create<StickersStore>()( set({ isSearching: true, viewMode: "search" }); try { - const results = await searchStickersFromProviders({ - query, - category: selectedCategory, - limit: 100, - }); - set({ searchResults: results }); + if (selectedCategory === "all") { + const browseContent = await searchAll({ query: trimmedQuery }); + set({ browseContent, searchResults: null }); + } else { + const results = await searchStickersFromProviders({ + query: trimmedQuery, + category: selectedCategory, + limit: 100, + }); + set({ searchResults: results }); + } } catch (error) { console.error("Search failed:", error); set({ searchResults: null }); @@ -125,67 +141,70 @@ export const useStickersStore = create<StickersStore>()( } }, - addStickerToTimeline: ({ - stickerId, - name, - }: { - stickerId: string; - name?: string; - }) => { - set({ addingSticker: stickerId }); - try { - const editor = EditorCore.getInstance(); - const currentTime = editor.playback.getCurrentTime(); - const tracks = editor.timeline.getTracks(); + browseStickers: async () => { + const version = ++browseRequestVersion; + const category = get().selectedCategory; + const selectedCategory = + category in STICKER_CATEGORIES ? category : "all"; - const stickerTrack = tracks.find((t) => t.type === "sticker"); - let trackId: string; + set({ isBrowsing: true, viewMode: "browse" }); + try { + const browseContent = + selectedCategory === "all" + ? await browseAll({ + recentStickers: get().recentStickers, + }) + : await browseCategory({ + category: selectedCategory, + }); - if (stickerTrack) { - trackId = stickerTrack.id; - } else { - trackId = editor.timeline.addTrack({ type: "sticker" }); - } + if (version !== browseRequestVersion) return; + set({ browseContent }); + } catch (error) { + if (version !== browseRequestVersion) return; + console.error("Browse failed:", error); + set({ browseContent: null }); + } finally { + if (version === browseRequestVersion) { + set({ isBrowsing: false }); + } + } + }, - const element = buildStickerElement({ - stickerId, - name, - startTime: currentTime, - }); - editor.timeline.insertElement({ - placement: { mode: "explicit", trackId }, - element, - }); + addToRecentStickers: ({ stickerId }: { stickerId: string }) => { + const sanitizedStickerIds = sanitizeRecentStickers({ + recentStickers: [stickerId], + }); + if (sanitizedStickerIds.length === 0) { + return; + } - get().addToRecentStickers({ stickerId }); - } finally { - set({ addingSticker: null }); - } - }, + set((state) => { + const recent = [ + sanitizedStickerIds[0], + ...state.recentStickers.filter((s) => s !== sanitizedStickerIds[0]), + ]; + return { + recentStickers: recent.slice(0, MAX_RECENT_STICKERS), + }; + }); - addToRecentStickers: ({ stickerId }: { stickerId: string }) => { - const sanitizedStickerIds = sanitizeRecentStickers({ - recentStickers: [stickerId], - }); - if (sanitizedStickerIds.length === 0) { - return; - } + if (get().viewMode === "browse" && get().selectedCategory === "all") { + void get().browseStickers(); + } + }, - set((state) => { - const recent = [ - sanitizedStickerIds[0], - ...state.recentStickers.filter((s) => s !== sanitizedStickerIds[0]), - ]; - return { - recentStickers: recent.slice(0, MAX_RECENT_STICKERS), - }; - }); - }, + clearRecentStickers: () => { + set({ recentStickers: [] }); - clearRecentStickers: () => set({ recentStickers: [] }), + if (get().viewMode === "browse" && get().selectedCategory === "all") { + void get().browseStickers(); + } + }, }), { name: "stickers-settings", + version: 1, migrate: (persistedState) => { if ( typeof persistedState === "object" && diff --git a/apps/web/src/stores/timeline-store.ts b/apps/web/src/stores/timeline-store.ts index e5723bfa..e4c8ec89 100644 --- a/apps/web/src/stores/timeline-store.ts +++ b/apps/web/src/stores/timeline-store.ts @@ -5,7 +5,7 @@ import { create } from "zustand"; import { persist } from "zustand/middleware"; -import type { ClipboardItem } from "@/types/timeline"; +import type { ClipboardItem } from "@/lib/timeline"; interface TimelineStore { snappingEnabled: boolean; diff --git a/apps/web/src/types/editor.ts b/apps/web/src/types/editor.ts deleted file mode 100644 index 0413b208..00000000 --- a/apps/web/src/types/editor.ts +++ /dev/null @@ -1 +0,0 @@ -export type TPlatformLayout = "tiktok"; diff --git a/apps/web/src/types/effects.ts b/apps/web/src/types/effects.ts deleted file mode 100644 index 6c96dfb2..00000000 --- a/apps/web/src/types/effects.ts +++ /dev/null @@ -1,69 +0,0 @@ -export interface Effect { - id: string; - type: string; - params: EffectParamValues; - enabled: boolean; -} - -export type EffectParamType = "number" | "boolean" | "select" | "color"; - -export type EffectParamValues = Record<string, number | string | boolean>; - -interface BaseEffectParamDefinition { - key: string; - label: string; -} - -export interface NumberEffectParamDefinition extends BaseEffectParamDefinition { - type: "number"; - default: number; - min: number; - max: number; - step: number; -} - -interface BooleanEffectParamDefinition extends BaseEffectParamDefinition { - type: "boolean"; - default: boolean; -} - -interface SelectEffectParamDefinition extends BaseEffectParamDefinition { - type: "select"; - default: string; - options: Array<{ value: string; label: string }>; -} - -interface ColorEffectParamDefinition extends BaseEffectParamDefinition { - type: "color"; - default: string; -} - -export type EffectParamDefinition = - | NumberEffectParamDefinition - | BooleanEffectParamDefinition - | SelectEffectParamDefinition - | ColorEffectParamDefinition; - -export interface WebGLEffectPass { - fragmentShader: string; - uniforms(params: { - effectParams: EffectParamValues; - width: number; - height: number; - }): Record<string, number | number[]>; -} - -export interface WebGLEffectRenderer { - type: "webgl"; - passes: WebGLEffectPass[]; -} - -export type EffectRenderer = WebGLEffectRenderer; - -export interface EffectDefinition { - type: string; - name: string; - keywords: string[]; - params: EffectParamDefinition[]; - renderer: EffectRenderer; -} diff --git a/apps/web/src/types/export.ts b/apps/web/src/types/export.ts deleted file mode 100644 index 2c2408d8..00000000 --- a/apps/web/src/types/export.ts +++ /dev/null @@ -1,31 +0,0 @@ -export const EXPORT_QUALITY_VALUES = [ - "low", - "medium", - "high", - "very_high", -] as const; - -export const EXPORT_FORMAT_VALUES = ["mp4", "webm"] as const; - -export type ExportFormat = (typeof EXPORT_FORMAT_VALUES)[number]; -export type ExportQuality = (typeof EXPORT_QUALITY_VALUES)[number]; - -export interface ExportOptions { - format: ExportFormat; - quality: ExportQuality; - fps?: number; - includeAudio?: boolean; -} - -export interface ExportResult { - success: boolean; - buffer?: ArrayBuffer; - error?: string; - cancelled?: boolean; -} - -export interface ExportState { - isExporting: boolean; - progress: number; - result: ExportResult | null; -} diff --git a/apps/web/src/types/language.ts b/apps/web/src/types/language.ts deleted file mode 100644 index a3f527c8..00000000 --- a/apps/web/src/types/language.ts +++ /dev/null @@ -1,4 +0,0 @@ -import type { LANGUAGES } from "@/constants/language-constants"; - -export type Language = (typeof LANGUAGES)[number]; -export type LanguageCode = Language["code"]; diff --git a/apps/web/src/types/soundtouchjs.d.ts b/apps/web/src/types/soundtouchjs.d.ts new file mode 100644 index 00000000..c10f1ff3 --- /dev/null +++ b/apps/web/src/types/soundtouchjs.d.ts @@ -0,0 +1,14 @@ +declare module "soundtouchjs" { + export class PitchShifter { + constructor( + context: BaseAudioContext, + buffer: AudioBuffer, + bufferSize: number, + onEnd?: () => void, + ); + tempo: number; + pitch: number; + connect(destination: AudioNode): void; + off(): void; + } +} diff --git a/apps/web/src/types/stickers.ts b/apps/web/src/types/stickers.ts deleted file mode 100644 index 65c9aeb2..00000000 --- a/apps/web/src/types/stickers.ts +++ /dev/null @@ -1,54 +0,0 @@ -import type { STICKER_CATEGORIES } from "@/constants/sticker-constants"; - -export type StickerCategory = keyof typeof STICKER_CATEGORIES; - -export interface StickerItem { - id: string; - provider: string; - name: string; - previewUrl: string; - metadata: Record<string, unknown>; -} - -export interface StickerSearchResult { - items: StickerItem[]; - total: number; - hasMore: boolean; -} - -export interface StickerProviderSearchOptions { - limit?: number; -} - -export interface StickerProviderBrowseOptions { - page?: number; - limit?: number; -} - -export interface StickerResolveOptions { - width?: number; - height?: number; -} - -export interface StickerProvider { - id: string; - search({ - query, - options, - }: { - query: string; - options?: StickerProviderSearchOptions; - }): Promise<StickerSearchResult>; - browse({ - options, - }: { - options?: StickerProviderBrowseOptions; - }): Promise<StickerSearchResult>; - resolveUrl({ - stickerId, - options, - }: { - stickerId: string; - options?: StickerResolveOptions; - }): string; -} diff --git a/apps/web/src/types/time.ts b/apps/web/src/types/time.ts deleted file mode 100644 index 4009a1e1..00000000 --- a/apps/web/src/types/time.ts +++ /dev/null @@ -1 +0,0 @@ -export type TTimeCode = "MM:SS" | "HH:MM:SS" | "HH:MM:SS:CS" | "HH:MM:SS:FF"; diff --git a/apps/web/src/utils/browser.ts b/apps/web/src/utils/browser.ts index cfd3b31b..bfe69b11 100644 --- a/apps/web/src/utils/browser.ts +++ b/apps/web/src/utils/browser.ts @@ -15,6 +15,20 @@ export function downloadBlob({ URL.revokeObjectURL(url); } +export function findScrollParent({ + element, +}: { + element: HTMLElement; +}): HTMLElement | null { + let parent = element.parentElement; + while (parent) { + const { overflow, overflowX } = window.getComputedStyle(parent); + if (/auto|scroll/.test(overflow + overflowX)) return parent; + parent = parent.parentElement; + } + return null; +} + export function isTypableDOMElement({ element, }: { diff --git a/apps/web/src/utils/math.ts b/apps/web/src/utils/math.ts index d45e71c0..24f9eaf4 100644 --- a/apps/web/src/utils/math.ts +++ b/apps/web/src/utils/math.ts @@ -10,6 +10,41 @@ export function clamp({ return Math.max(min, Math.min(max, value)); } +export function clampRound({ + value, + min, + max, +}: { + value: number; + min: number; + max: number; +}): number { + return Math.round(clamp({ value, min, max })); +} + +function getFractionDigitsForStep({ step }: { step: number }): number { + const normalizedStep = step.toString().toLowerCase(); + if (normalizedStep.includes("e-")) { + return Number(normalizedStep.split("e-")[1] ?? 0); + } + const [, fractionalPart = ""] = normalizedStep.split("."); + return fractionalPart.length; +} + +export function snapToStep({ + value, + step, +}: { + value: number; + step: number; +}): number { + if (step <= 0) return value; + const snappedValue = Math.round(value / step) * step; + return Number( + snappedValue.toFixed(getFractionDigitsForStep({ step })), + ); +} + export function isNearlyEqual({ leftValue, rightValue, @@ -22,6 +57,16 @@ export function isNearlyEqual({ return Math.abs(leftValue - rightValue) <= epsilon; } +export function formatNumberForDisplay({ + value, + maxFractionDigits = 6, +}: { + value: number; + maxFractionDigits?: number; +}): string { + return Number(value.toFixed(maxFractionDigits)).toString(); +} + export function evaluateMathExpression({ input, }: { diff --git a/apps/web/tsconfig.tsbuildinfo b/apps/web/tsconfig.tsbuildinfo index a8f86303..82d6fc79 100644 --- a/apps/web/tsconfig.tsbuildinfo +++ b/apps/web/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"fileNames":["../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.object.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.string.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/global.d.ts","../../node_modules/.bun/csstype@3.1.3/node_modules/csstype/index.d.ts","../../node_modules/.bun/@types+prop-types@15.7.15/node_modules/@types/prop-types/index.d.ts","../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/index.d.ts","../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/jsx-runtime.d.ts","../../node_modules/.bun/drizzle-kit@0.31.4/node_modules/drizzle-kit/index-baurj6ib.d.mts","../../node_modules/.bun/drizzle-kit@0.31.4/node_modules/drizzle-kit/index.d.mts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/utility.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/header.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/readable.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/fetch.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/formdata.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/connector.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/client-stats.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/client.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/errors.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/global-origin.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/pool.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/handlers.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/h2c-client.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/agent.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/mock-call-history.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/mock-client.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/api.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/interceptors.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/util.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/cookies.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/patch.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/websocket.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/eventsource.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/content-type.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/cache.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/index.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/globals.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/assert.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/buffer.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/child_process.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/cluster.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/console.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/constants.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/crypto.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/dgram.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/dns.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/domain.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/dom-events.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/events.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/fs.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/http.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/http2.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/https.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/inspector.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/module.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/net.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/os.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/path.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/process.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/punycode.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/querystring.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/readline.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/repl.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/sea.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/sqlite.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/stream.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/stream/web.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/test.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/timers.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/tls.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/trace_events.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/tty.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/url.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/util.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/v8.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/vm.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/wasi.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/zlib.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/index.d.ts","../../node_modules/.bun/dotenv@16.6.1/node_modules/dotenv/lib/main.d.ts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/json-schema.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/standard-schema.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/registries.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/to-json-schema.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/util.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/versions.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/schemas.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/checks.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/errors.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/core.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/parse.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/regexes.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ar.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/az.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/be.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/bg.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ca.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/cs.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/da.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/de.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/en.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/eo.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/es.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/fa.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/fi.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/fr.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/fr-ca.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/he.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/hu.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/hy.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/id.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/is.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/it.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ja.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ka.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/kh.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/km.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ko.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/lt.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/mk.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ms.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/nl.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/no.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ota.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ps.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/pl.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/pt.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ru.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/sl.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/sv.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ta.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/th.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/tr.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ua.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/uk.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ur.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/uz.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/vi.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/zh-cn.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/zh-tw.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/yo.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/index.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/doc.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/api.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/json-schema-processors.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/json-schema-generator.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/index.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/errors.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/parse.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/schemas.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/checks.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/compat.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/from-json-schema.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/iso.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/coerce.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/external.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/index.d.cts","../../packages/env/src/web.ts","./drizzle.config.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/styled-jsx/types/css.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/styled-jsx/types/style.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/styled-jsx/types/global.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/styled-jsx/types/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/get-page-files.d.ts","../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/canary.d.ts","../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/experimental.d.ts","../../node_modules/.bun/@types+react-dom@18.3.7+fccada1f982c16e9/node_modules/@types/react-dom/index.d.ts","../../node_modules/.bun/@types+react-dom@18.3.7+fccada1f982c16e9/node_modules/@types/react-dom/canary.d.ts","../../node_modules/.bun/@types+react-dom@18.3.7+fccada1f982c16e9/node_modules/@types/react-dom/experimental.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/fallback.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/entry-constants.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/constants.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/config.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/load-custom-routes.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/image-config.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/body-streams.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/cache-control.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/worker.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/constants.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/bundler.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/page-types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/require-hook.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/node-environment-baseline.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/node-environment.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/page-extensions-type.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-kind.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/response-cache/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/app-router-headers.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/render-result.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/instrumentation/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/coalesced-function.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/router-utils/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/trace/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/trace/trace.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/trace/shared.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/trace/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/load-jsconfig.d.ts","../../node_modules/.bun/@next+env@16.1.3/node_modules/@next/env/dist/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/telemetry/storage.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/build-context.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/webpack-config.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/swc/generated-native.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/swc/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/dev/parse-version-info.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/next-devtools/shared/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/parse-stack.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/next-devtools/server/shared.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/dev/debug-channel.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/i18n-provider.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/next-url.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/after/builtin-request-context.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/render.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/mitt.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/with-router.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/router.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/route-loader.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/page-loader.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/router/router.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/readonly-url-search-params.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/app-router-types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/flight-data-helpers.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/segment-cache/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/segment-cache/navigation.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/templates/pages.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-modules/pages/module.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/load-default-error-components.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/base-http/node.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/response-cache/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/normalizers/normalizer.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/static-paths/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/base-server.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/async-callback-set.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/image-optimizer.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/next-server.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/lru-cache.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/use-cache/cache-life.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/next.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/render-server.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/router-server.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-modules/route-module.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/load-components.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/adapter.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/app-dir-module.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/cache-signal.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/request/fallback-params.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/lazy-result.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/implicit-tags.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/staged-rendering.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/app-render.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/error-boundary.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/layout-router.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/render-from-template-context.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/client-page.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/client-segment.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/request/search-params.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/metadata/types/icons.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/metadata/metadata.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/lib/framework/boundary-components.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/entry-base.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/templates/app-page.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/rendering-mode.d.ts","../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/jsx-dev-runtime.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","../../node_modules/.bun/@types+react-dom@18.3.7+fccada1f982c16e9/node_modules/@types/react-dom/client.d.ts","../../node_modules/.bun/@types+react-dom@18.3.7+fccada1f982c16e9/node_modules/@types/react-dom/server.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/async-storage/work-store.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/http.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/redirect-status-code.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/redirect-error.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/templates/app-route.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/utils.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/export/routes/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/export/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/export/worker.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/worker.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/after/after.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/after/after-context.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/create-error-handler.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/request/params.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/route-matches/route-match.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/request-meta.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/cli/next-test.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/config-shared.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/base-http/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/api-utils/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/build/adapter/build-complete.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/utils.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/pages/_app.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/app.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/cache.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/pages/_document.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/document.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/dynamic.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dynamic.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/pages/_error.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/error.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/head.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/head.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/request/cookies.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/request/headers.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/request/draft-mode.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/headers.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/get-img-props.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/image-component.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/shared/lib/image-external.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/image.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/link.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/link.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/unrecognized-action-error.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/redirect.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/not-found.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/forbidden.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/unauthorized.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/navigation.react-server.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/components/navigation.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/navigation.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/router.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/client/script.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/script.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/compiled/@vercel/og/emoji/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/after/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/server/request/connection.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/server.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/types/global.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/types/compiled.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/image-types/global.d.ts","./next-env.d.ts","../../node_modules/.bun/botid@1.4.2+9bc11be94d70553a/node_modules/botid/dist/next/config/index.d.ts","./next.config.ts","./src/middleware.ts","../../node_modules/.bun/@types+react@19.2.7/node_modules/@types/react/global.d.ts","../../node_modules/.bun/csstype@3.2.3/node_modules/csstype/index.d.ts","../../node_modules/.bun/@types+react@19.2.7/node_modules/@types/react/index.d.ts","../../node_modules/.bun/@types+react@19.2.7/node_modules/@types/react/jsx-runtime.d.ts","../../packages/ui/src/icons/index.tsx","./src/constants/site-constants.ts","./src/app/metadata.ts","./src/app/robots.ts","./src/types/blog.ts","../../node_modules/.bun/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts","../../node_modules/.bun/vfile-message@4.0.2/node_modules/vfile-message/lib/index.d.ts","../../node_modules/.bun/vfile-message@4.0.2/node_modules/vfile-message/index.d.ts","../../node_modules/.bun/vfile@6.0.3/node_modules/vfile/lib/index.d.ts","../../node_modules/.bun/vfile@6.0.3/node_modules/vfile/index.d.ts","../../node_modules/.bun/unified@11.0.5/node_modules/unified/lib/callable-instance.d.ts","../../node_modules/.bun/trough@2.2.0/node_modules/trough/lib/index.d.ts","../../node_modules/.bun/trough@2.2.0/node_modules/trough/index.d.ts","../../node_modules/.bun/unified@11.0.5/node_modules/unified/lib/index.d.ts","../../node_modules/.bun/unified@11.0.5/node_modules/unified/index.d.ts","../../node_modules/.bun/@types+hast@3.0.4/node_modules/@types/hast/index.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/common/html.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/common/token.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/common/error-codes.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/tokenizer/preprocessor.d.ts","../../node_modules/.bun/entities@6.0.1/node_modules/entities/dist/esm/generated/decode-data-html.d.ts","../../node_modules/.bun/entities@6.0.1/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts","../../node_modules/.bun/entities@6.0.1/node_modules/entities/dist/esm/decode-codepoint.d.ts","../../node_modules/.bun/entities@6.0.1/node_modules/entities/dist/esm/decode.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/tokenizer/index.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/tree-adapters/interface.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/parser/open-element-stack.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/parser/formatting-element-list.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/parser/index.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/tree-adapters/default.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/serializer/index.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/common/foreign-content.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/index.d.ts","../../node_modules/.bun/property-information@7.1.0/node_modules/property-information/lib/util/info.d.ts","../../node_modules/.bun/property-information@7.1.0/node_modules/property-information/lib/find.d.ts","../../node_modules/.bun/property-information@7.1.0/node_modules/property-information/lib/hast-to-react.d.ts","../../node_modules/.bun/property-information@7.1.0/node_modules/property-information/lib/normalize.d.ts","../../node_modules/.bun/property-information@7.1.0/node_modules/property-information/index.d.ts","../../node_modules/.bun/hast-util-from-parse5@8.0.3/node_modules/hast-util-from-parse5/lib/index.d.ts","../../node_modules/.bun/hast-util-from-parse5@8.0.3/node_modules/hast-util-from-parse5/index.d.ts","../../node_modules/.bun/hast-util-from-html@2.0.3/node_modules/hast-util-from-html/lib/errors.d.ts","../../node_modules/.bun/hast-util-from-html@2.0.3/node_modules/hast-util-from-html/lib/types.d.ts","../../node_modules/.bun/hast-util-from-html@2.0.3/node_modules/hast-util-from-html/lib/index.d.ts","../../node_modules/.bun/hast-util-from-html@2.0.3/node_modules/hast-util-from-html/index.d.ts","../../node_modules/.bun/rehype-parse@9.0.1/node_modules/rehype-parse/lib/index.d.ts","../../node_modules/.bun/rehype-parse@9.0.1/node_modules/rehype-parse/index.d.ts","../../node_modules/.bun/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/format-smart.d.ts","../../node_modules/.bun/stringify-entities@4.0.4/node_modules/stringify-entities/lib/core.d.ts","../../node_modules/.bun/stringify-entities@4.0.4/node_modules/stringify-entities/lib/index.d.ts","../../node_modules/.bun/stringify-entities@4.0.4/node_modules/stringify-entities/index.d.ts","../../node_modules/.bun/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/index.d.ts","../../node_modules/.bun/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/index.d.ts","../../node_modules/.bun/rehype-stringify@10.0.1/node_modules/rehype-stringify/index.d.ts","../../node_modules/.bun/rehype-slug@6.0.0/node_modules/rehype-slug/lib/index.d.ts","../../node_modules/.bun/rehype-slug@6.0.0/node_modules/rehype-slug/index.d.ts","../../node_modules/.bun/hast-util-is-element@3.0.0/node_modules/hast-util-is-element/lib/index.d.ts","../../node_modules/.bun/hast-util-is-element@3.0.0/node_modules/hast-util-is-element/index.d.ts","../../node_modules/.bun/rehype-autolink-headings@7.1.0/node_modules/rehype-autolink-headings/lib/index.d.ts","../../node_modules/.bun/rehype-autolink-headings@7.1.0/node_modules/rehype-autolink-headings/index.d.ts","../../node_modules/.bun/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/lib/index.d.ts","../../node_modules/.bun/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/lib/schema.d.ts","../../node_modules/.bun/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/index.d.ts","../../node_modules/.bun/rehype-sanitize@6.0.0/node_modules/rehype-sanitize/lib/index.d.ts","../../node_modules/.bun/rehype-sanitize@6.0.0/node_modules/rehype-sanitize/index.d.ts","./src/lib/blog/query.ts","./src/app/sitemap.ts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/helper.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/helper.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/standard-schema.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/error.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/cookies.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/openapi.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/endpoint.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/middleware.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/context.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/router.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/to-response.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/cookie.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/schema/account.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/schema/rate-limit.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/schema/session.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/schema/user.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/schema/verification.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/get-tables.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/schema/shared.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/get-default-field-name.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/get-default-model-name.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/get-field-attributes.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/get-field-name.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/get-id-field.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/get-model-name.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/types.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/factory.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/utils.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/env/logger.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/oauth-provider.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/client-credentials-token.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/create-authorization-url.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/refresh-access-token.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/utils.d.mts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/types.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwe/general/decrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwe/general/encrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jws/compact/verify.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jws/flattened/verify.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jws/general/verify.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwt/verify.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwt/decrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jws/compact/sign.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jws/flattened/sign.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jws/general/sign.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwt/sign.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwt/encrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwk/thumbprint.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwk/embedded.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwks/local.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwks/remote.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwt/unsecured.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/key/export.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/key/import.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/util/decode_protected_header.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/util/decode_jwt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/util/errors.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/key/generate_key_pair.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/key/generate_secret.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/util/base64url.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/index.d.ts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/validate-authorization-code.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/verify.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/apple.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/atlassian.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/cognito.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/discord.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/facebook.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/figma.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/github.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/microsoft-entra-id.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/google.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/huggingface.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/slack.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/spotify.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/twitch.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/twitter.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/dropbox.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/kick.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/linear.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/linkedin.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/gitlab.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/tiktok.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/reddit.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/roblox.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/salesforce.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/vk.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/zoom.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/notion.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/kakao.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/naver.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/line.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/paybin.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/paypal.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/polar.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/vercel.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/context.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/api/index.d.mts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/identifier-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/check-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/column-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/default-value-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/generated-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/schemable-identifier-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/table-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/delete-result.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/update-result.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/type-error.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/merge-result.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/type-utils.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/references-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/add-column-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-column-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/rename-column-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/raw-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/alter-column-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/foreign-key-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/primary-key-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/add-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/modify-column-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-index-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/rename-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/where-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/create-schema-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/value-list-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/create-type-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/from-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/group-by-item-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/group-by-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/having-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/on-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/join-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/limit-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/offset-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/collate-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/order-by-item-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/order-by-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/alias-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/select-all-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/reference-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/simple-reference-expression-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/selection-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/common-table-expression-name-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/common-table-expression-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/with-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/select-modifier-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/operation-node-source.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/expression/expression.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/explainable.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/explain-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/set-operation-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/value-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/fetch-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/top-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/select-query-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/create-view-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-schema-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-table-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-type-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-view-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/output-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/returning-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/when-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/merge-query-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/on-conflict-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/on-duplicate-key-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/or-action-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/insert-query-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/update-query-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/using-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/delete-query-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/query-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/refresh-materialized-view-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/query-id.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-compiler/compiled-query.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/driver/database-connection.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/driver/driver.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/database-introspector.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/dialect.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/driver/connection-provider.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/kysely-plugin.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-executor/query-executor.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/compilable.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/default-value-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/data-type-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/data-type-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/foreign-key-constraint-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/alter-column-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/alter-table-executor.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/alter-table-drop-constraint-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/select-query-builder-expression.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/binary-operation-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/value-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/column-type.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/binary-operation-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/join-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dynamic/dynamic-table-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/table-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/join-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dynamic/dynamic-reference-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/select-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/collate-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/order-by-item-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/order-by-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/group-by-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/where-interface.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/no-result-error.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/having-interface.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/set-operation-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/streamable.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/and-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/or-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/parens-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/expression/expression-wrapper.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/order-by-interface.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/select-query-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/coalesce-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/partition-by-item-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/partition-by-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/over-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/aggregate-function-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/partition-by-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/over-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/aggregate-function-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/function-module.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/case-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/case-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/json-path-leg-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/json-path-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/json-operator-chain-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/json-reference-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/json-path-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/tuple-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/select-from-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/expression/expression-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/expression-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/reference-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/primary-key-constraint-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/check-constraint-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/create-schema-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/drop-index-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/drop-schema-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/drop-table-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-executor/query-executor-provider.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/raw-builder/raw-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/create-view-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/drop-view-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/create-type-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/drop-type-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/refresh-materialized-view-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/schema.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dynamic/dynamic.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/primitive-value-list-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/values-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/insert-values-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/returning-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/returning-interface.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/output-interface.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/delete-query-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/cte-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/with-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/delete-from-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/update-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/merge-query-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/merge-into-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-creator.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/log.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/savepoint-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/provide-controlled-connection.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/kysely.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/raw-builder/sql.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-executor/query-executor-base.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-executor/default-query-executor.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-executor/noop-query-executor.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/list-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/default-insert-value-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/unary-operation-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/function-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/tuple-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/matched-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/cast-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/driver/default-connection-provider.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/driver/single-connection-provider.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/driver/dummy-driver.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/postgres/postgres-query-compiler.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/postgres/postgres-introspector.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/postgres/postgres-adapter.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mysql/mysql-dialect-config.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mysql/mysql-dialect.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mysql/mysql-driver.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mysql/mysql-query-compiler.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mysql/mysql-introspector.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mysql/mysql-adapter.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/postgres/postgres-dialect-config.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/postgres/postgres-dialect.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-query-compiler.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-introspector.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mssql/mssql-adapter.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mssql/mssql-dialect-config.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mssql/mssql-dialect.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mssql/mssql-driver.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mssql/mssql-introspector.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mssql/mssql-query-compiler.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/migration/migrator.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/migration/file-migration-provider.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/camel-case/camel-case-plugin.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-plugin.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/infer-result.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/log-once.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/unary-operation-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/index.d.ts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/init-options.d.mts","../../node_modules/.bun/@better-fetch+fetch@1.1.21/node_modules/@better-fetch/fetch/dist/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/atom/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/map/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/map-creator/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/clean-stores/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/task/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/computed/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/deep-map/path.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/deep-map/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/effect/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/keep-mount/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/lifecycle/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/listen-keys/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/index.d.ts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/plugin-client.d.mts","../../node_modules/.bun/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/type.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/plugin.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/plugin.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/types/helper.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/db/field.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/db/adapter-base.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/db/adapter-kysely.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/db/field-converter.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/adapters/kysely-adapter/types.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/db/get-migration.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/db/get-schema.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/env/color-depth.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/env/env-impl.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/env/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/db/internal-adapter.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/helper.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/standard-schema.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/error.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/cookies.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/openapi.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/endpoint.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/middleware.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/context.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/router.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/to-response.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/types/api.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/types/plugins.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/types/adapter.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/types/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/utils/get-request-ip.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/middlewares/oauth.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/middlewares/origin-check.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/middlewares/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/routes/account.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/routes/callback.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/routes/email-verification.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/routes/error.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/routes/ok.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/routes/password.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/routes/session.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/routes/sign-in.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/routes/sign-out.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/routes/sign-up.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/routes/update-user.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/routes/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/api/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/error/codes.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/error/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/types/auth.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/types/models.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/db/schema.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/db/to-zod.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/db/with-hooks.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/db/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/client/path-to-object.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/client/types.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/auth/full.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/oauth2/state.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/utils/hide-metadata.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/utils/deprecate.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/utils/error-codes.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/utils/id.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/utils/json.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/utils/string.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/utils/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/utils/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/async_hooks/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/context/endpoint-context.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/context/global.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/context/request-state.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/context/transaction.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/context/index.d.mts","../../node_modules/.bun/@better-auth+telemetry@1.4.15+a0cddfd1733416ff/node_modules/@better-auth/telemetry/dist/index.d.mts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/index.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/index.d.cts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/adapters/drizzle-adapter/drizzle-adapter.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/adapters/drizzle-adapter/index.d.mts","../../node_modules/.bun/@upstash+redis@1.35.4/node_modules/@upstash/redis/zmscore-dwj9vh1g.d.mts","../../node_modules/.bun/@upstash+redis@1.35.4/node_modules/@upstash/redis/nodejs.d.mts","../../node_modules/.bun/postgres@3.4.7/node_modules/postgres/types/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/entity.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/logger.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/casing.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/table.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/operations.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/subquery.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/query-builders/select.types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/sql.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/utils.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/expressions/select.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/expressions/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/functions/vector.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/functions/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/checks.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/sequence.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/indexes.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/roles.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/policies.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/table.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/view-base.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/cache/core/types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/relations.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/query-promise.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/runnable-query.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/subquery.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/db.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/dialect.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/view-common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/view.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/alias.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/schema.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/utils.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/checks.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/table.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/migrator.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/db.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/view.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/alias.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/schema.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/utils.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/checks.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/sequence.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/indexes.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/roles.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/policies.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/table.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/view-base.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/subquery.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/dialect.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/view-common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/view.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/alias.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/schema.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/utils.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/table.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/cache/core/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore/driver.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/db.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/db.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/view.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/table.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/column-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/column.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/alias.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/errors.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/view-common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/cache/core/cache.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/db.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/postgres-js/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/postgres-js/driver.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/postgres-js/index.d.ts","./src/lib/db/schema.ts","./src/lib/db/index.ts","./src/lib/auth/server.ts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/integrations/next-js.d.mts","./src/app/api/auth/[...all]/route.ts","./src/app/api/health/route.ts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/typealiases.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/util.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/index.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/zoderror.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/locales/en.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/errors.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/parseutil.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/enumutil.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/errorutil.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/partialutil.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/standard-schema.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/types.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/external.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/index.d.cts","../../node_modules/.bun/@upstash+redis@1.35.1/node_modules/@upstash/redis/zmscore-bsheakn7.d.mts","../../node_modules/.bun/@upstash+redis@1.35.1/node_modules/@upstash/redis/nodejs.d.mts","../../node_modules/.bun/@upstash+core-analytics@0.0.10/node_modules/@upstash/core-analytics/dist/index.d.ts","../../node_modules/.bun/@upstash+ratelimit@2.0.6+56bca893043c254b/node_modules/@upstash/ratelimit/dist/index.d.ts","./src/lib/rate-limit.ts","./src/app/api/sounds/search/route.ts","../../node_modules/.bun/feed@5.1.0/node_modules/feed/lib/feed.d.ts","./src/app/rss.xml/route.ts","../../node_modules/.bun/lucide-react@0.468.0+f4eacebf2041cd4f/node_modules/lucide-react/dist/lucide-react.d.ts","../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/clsx.d.mts","../../node_modules/.bun/tailwind-merge@2.6.0/node_modules/tailwind-merge/dist/types.d.ts","./src/utils/ui.ts","../../node_modules/.bun/motion-utils@12.23.6/node_modules/motion-utils/dist/index.d.ts","../../node_modules/.bun/motion-dom@12.23.6/node_modules/motion-dom/dist/index.d.ts","../../node_modules/.bun/framer-motion@12.23.6+6dbf9a050bc9aadb/node_modules/framer-motion/dist/types.d-bq-qm38r.d.ts","../../node_modules/.bun/framer-motion@12.23.6+6dbf9a050bc9aadb/node_modules/framer-motion/dist/types/index.d.ts","../../node_modules/.bun/motion@12.23.6+6dbf9a050bc9aadb/node_modules/motion/dist/react.d.ts","../../node_modules/.bun/react-country-flag@3.1.0+f4eacebf2041cd4f/node_modules/react-country-flag/dist/index.d.ts","./src/components/language-select.tsx","./src/constants/captions-constants.ts","./src/types/editor.ts","./src/constants/editor-constants.ts","./src/types/export.ts","./src/constants/export-constants.ts","./src/constants/font-constants.ts","./src/types/timeline.ts","./src/types/project.ts","./src/constants/project-constants.ts","./src/constants/stickers-constants.ts","./src/constants/timeline-constants.tsx","./src/constants/text-constants.ts","./src/types/transcription.ts","./src/constants/transcription-constants.ts","./src/core/managers/playback-manager.ts","./src/utils/id.ts","./src/lib/timeline/track-utils.ts","./src/lib/timeline/element-utils.ts","./src/lib/timeline/zoom-utils.ts","./src/lib/timeline/index.ts","./src/lib/commands/base-command.ts","./src/lib/commands/timeline/track/add-track.ts","./src/lib/commands/timeline/track/remove-track.ts","./src/lib/commands/timeline/track/toggle-track-mute.ts","./src/lib/commands/timeline/track/toggle-track-visibility.ts","./src/lib/commands/timeline/track/index.ts","./src/services/storage/types.ts","./src/types/assets.ts","./src/lib/commands/timeline/element/insert-element.ts","./src/lib/commands/timeline/element/delete-elements.ts","./src/lib/commands/timeline/element/duplicate-elements.ts","./src/lib/commands/timeline/element/update-element-trim.ts","./src/lib/commands/timeline/element/update-element-duration.ts","./src/lib/commands/timeline/element/update-element-start-time.ts","./src/lib/commands/timeline/element/split-elements.ts","./src/lib/commands/timeline/element/update-text-element.ts","./src/lib/commands/timeline/element/toggle-elements-visibility.ts","./src/lib/commands/timeline/element/toggle-elements-muted.ts","./src/lib/commands/timeline/element/move-elements.ts","./src/lib/commands/timeline/element/index.ts","./src/lib/commands/timeline/clipboard/paste.ts","./src/lib/commands/timeline/clipboard/index.ts","./src/lib/commands/timeline/index.ts","./src/core/managers/timeline-manager.ts","./src/services/storage/indexeddb-adapter.ts","./src/services/storage/opfs-adapter.ts","./src/types/sounds.ts","./src/services/storage/migrations/base.ts","./src/services/storage/migrations/version-manager.ts","./src/services/storage/migrations/runner.ts","./src/lib/scenes.ts","./src/services/storage/migrations/v0-to-v1.ts","./src/services/storage/migrations/v1-to-v2.ts","./src/services/storage/migrations/index.ts","./src/services/storage/storage-service.ts","./src/types/time.ts","./src/lib/time.ts","./src/lib/timeline/bookmarks.ts","./src/lib/commands/scene/create-scene.ts","./src/lib/commands/scene/delete-scene.ts","./src/lib/commands/scene/rename-scene.ts","./src/lib/commands/scene/toggle-bookmark.ts","./src/lib/commands/scene/remove-bookmark.ts","./src/lib/commands/scene/index.ts","./src/core/managers/scenes-manager.ts","../../node_modules/.bun/sonner@1.7.4+6dbf9a050bc9aadb/node_modules/sonner/dist/index.d.ts","./src/lib/commands/project/update-project-settings.ts","./src/lib/commands/project/index.ts","./src/lib/media/media-utils.ts","../../node_modules/.bun/@types+dom-webcodecs@0.1.13/node_modules/@types/dom-webcodecs/webcodecs.generated.d.ts","../../node_modules/.bun/@types+dom-webcodecs@0.1.13/node_modules/@types/dom-webcodecs/index.d.ts","../../node_modules/.bun/@types+dom-mediacapture-transform@0.1.11/node_modules/@types/dom-mediacapture-transform/index.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/misc.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/metadata.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/packet.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/codec-data.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/subtitles.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/codec.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/sample.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/encode.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/media-source.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/output-format.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/target.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/output.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/source.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/input-format.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/media-sink.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/input-track.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/input.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/conversion.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/custom-coder.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/index.d.ts","./src/lib/media/audio.ts","./src/lib/media/mediabunny.ts","./src/lib/media/processing.ts","./src/core/managers/project-manager.ts","./src/services/media/video-cache.ts","./src/core/managers/media-manager.ts","./src/services/renderer/canvas-renderer.ts","./src/services/renderer/nodes/base-node.ts","./src/services/renderer/nodes/root-node.ts","../../node_modules/.bun/eventemitter3@5.0.1/node_modules/eventemitter3/index.d.ts","./src/services/renderer/scene-exporter.ts","./src/services/renderer/nodes/video-node.ts","./src/services/renderer/nodes/image-node.ts","./src/services/renderer/nodes/text-node.ts","./src/services/renderer/nodes/sticker-node.ts","./src/lib/gradients/parser.ts","./src/lib/gradients/canvas.ts","./src/lib/gradients/index.ts","./src/services/renderer/nodes/color-node.ts","./src/services/renderer/nodes/blur-background-node.ts","./src/services/renderer/scene-builder.ts","./src/core/managers/renderer-manager.ts","./src/lib/commands/media/add-media-asset.ts","./src/lib/commands/media/remove-media-asset.ts","./src/lib/commands/media/index.ts","./src/lib/commands/index.ts","./src/core/managers/commands.ts","./src/core/managers/save-manager.ts","./src/core/index.ts","./src/data/colors/pattern-craft.ts","./src/data/colors/solid.ts","./src/hooks/use-editor.ts","./src/types/drag.ts","./src/lib/drag-data.ts","./src/hooks/use-file-upload.ts","./src/hooks/use-infinite-scroll.ts","./src/types/keybinding.ts","./src/lib/actions/definitions.ts","./src/lib/actions/types.ts","./src/lib/actions/registry.ts","./src/lib/actions/index.ts","../../node_modules/.bun/zustand@5.0.6+0e2fb8dbc083adda/node_modules/zustand/esm/vanilla.d.mts","../../node_modules/.bun/zustand@5.0.6+0e2fb8dbc083adda/node_modules/zustand/esm/react.d.mts","../../node_modules/.bun/zustand@5.0.6+0e2fb8dbc083adda/node_modules/zustand/esm/index.d.mts","../../node_modules/.bun/zustand@5.0.6+0e2fb8dbc083adda/node_modules/zustand/esm/middleware/redux.d.mts","../../node_modules/.bun/zustand@5.0.6+0e2fb8dbc083adda/node_modules/zustand/esm/middleware/devtools.d.mts","../../node_modules/.bun/zustand@5.0.6+0e2fb8dbc083adda/node_modules/zustand/esm/middleware/subscribewithselector.d.mts","../../node_modules/.bun/zustand@5.0.6+0e2fb8dbc083adda/node_modules/zustand/esm/middleware/combine.d.mts","../../node_modules/.bun/zustand@5.0.6+0e2fb8dbc083adda/node_modules/zustand/esm/middleware/persist.d.mts","../../node_modules/.bun/zustand@5.0.6+0e2fb8dbc083adda/node_modules/zustand/esm/middleware.d.mts","./src/utils/browser.ts","./src/utils/platform.ts","./src/stores/keybindings-store.ts","./src/hooks/use-keybindings.ts","./src/hooks/use-keyboard-shortcuts-help.ts","./src/hooks/use-raf-loop.ts","./src/hooks/use-reveal-item.ts","./src/stores/sounds-store.ts","./src/hooks/use-sound-search.ts","./src/hooks/actions/use-action-handler.ts","./src/stores/timeline-store.ts","./src/hooks/timeline/element/use-element-selection.ts","./src/hooks/actions/use-editor-actions.ts","./src/hooks/timeline/use-edge-auto-scroll.ts","./src/hooks/timeline/use-scroll-sync.ts","./src/hooks/timeline/use-selection-box.ts","./src/hooks/timeline/use-snap-indicator-position.ts","./src/lib/timeline/drop-utils.ts","./src/hooks/timeline/use-timeline-drag-drop.ts","./src/hooks/timeline/use-timeline-playhead.ts","./src/hooks/timeline/use-timeline-seek.ts","./src/hooks/timeline/use-timeline-snapping.ts","./src/hooks/timeline/use-timeline-zoom.ts","./src/hooks/timeline/element/use-element-interaction.ts","./src/hooks/timeline/element/use-element-resize.ts","./src/lib/export.ts","./src/lib/iconify-api.ts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/client/react/react-store.d.mts","../../node_modules/.bun/better-auth@1.4.15+dd42c8d3451e57ba/node_modules/better-auth/dist/client/react/index.d.mts","./src/lib/auth/client.ts","./src/lib/transcription/caption.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/onnx-model.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/tensor-factory.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/tensor-conversion.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/tensor-utils.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/type-helper.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/tensor.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/onnx-value.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/inference-session.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/backend-impl.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/backend.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/env.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/trace.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/index.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/env.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/core.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/devices.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/dtypes.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/hub.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/backends/onnx.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/maths.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/tensor.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/configs.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/data-structures.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/tokenizers.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/generation/streamers.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/generation/configuration_utils.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/generation/stopping_criteria.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/generation/logits_process.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/generation/parameters.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/whisper/generation_whisper.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/image.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/base/image_processors_utils.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/base/feature_extraction_utils.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/base/processing_utils.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/audio.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/auto/processing_auto.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/pipelines.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/video.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/encodec/feature_extraction_encodec.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/clap/feature_extraction_clap.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/dac/feature_extraction_dac.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/gemma3n/feature_extraction_gemma3n.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/moonshine/feature_extraction_moonshine.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/parakeet/feature_extraction_parakeet.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/pyannote/feature_extraction_pyannote.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/seamless_m4t/feature_extraction_seamless_m4t.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/snac/feature_extraction_snac.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/speecht5/feature_extraction_speecht5.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/wav2vec2/feature_extraction_wav2vec2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/wespeaker/feature_extraction_wespeaker.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/whisper/feature_extraction_whisper.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/feature_extractors.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/auto/feature_extraction_auto.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/beit/image_processing_beit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/bit/image_processing_bit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/chinese_clip/image_processing_chinese_clip.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/clip/image_processing_clip.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/convnext/image_processing_convnext.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/deit/image_processing_deit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/detr/image_processing_detr.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/dinov3_vit/image_processing_dinov3_vit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/donut/image_processing_donut.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/dpt/image_processing_dpt.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/efficientnet/image_processing_efficientnet.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/glpn/image_processing_glpn.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/grounding_dino/image_processing_grounding_dino.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/idefics3/image_processing_idefics3.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/janus/image_processing_janus.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/jina_clip/image_processing_jina_clip.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/llava_onevision/image_processing_llava_onevision.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/maskformer/image_processing_maskformer.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mask2former/image_processing_mask2former.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mobilenet_v1/image_processing_mobilenet_v1.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mobilenet_v2/image_processing_mobilenet_v2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mobilenet_v3/image_processing_mobilenet_v3.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mobilenet_v4/image_processing_mobilenet_v4.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mobilevit/image_processing_mobilevit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/nougat/image_processing_nougat.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/owlvit/image_processing_owlvit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/owlv2/image_processing_owlv2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/phi3_v/image_processing_phi3_v.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/pixtral/image_processing_pixtral.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/pvt/image_processing_pvt.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/qwen2_vl/image_processing_qwen2_vl.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/rt_detr/image_processing_rt_detr.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/sam/image_processing_sam.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/sam2/image_processing_sam2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/sam3/image_processing_sam3.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/segformer/image_processing_segformer.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/siglip/image_processing_siglip.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/smolvlm/image_processing_smolvlm.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/swin2sr/image_processing_swin2sr.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/vit/image_processing_vit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/vitmatte/image_processing_vitmatte.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/vitpose/image_processing_vitpose.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/yolos/image_processing_yolos.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/image_processors.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/auto/image_processing_auto.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/florence2/processing_florence2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/gemma3n/processing_gemma3n.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/grounding_dino/processing_grounding_dino.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/idefics3/processing_idefics3.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/janus/processing_janus.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/jina_clip/processing_jina_clip.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/llava/processing_llava.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mgp_str/processing_mgp_str.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/moonshine/processing_moonshine.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/owlvit/processing_owlvit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/paligemma/processing_paligemma.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/phi3_v/processing_phi3_v.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/pixtral/processing_pixtral.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/pyannote/processing_pyannote.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/qwen2_vl/processing_qwen2_vl.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/sam/processing_sam.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/sam2/processing_sam2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/smolvlm/processing_smolvlm.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/speecht5/processing_speecht5.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/ultravox/processing_ultravox.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/voxtral/processing_voxtral.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/wav2vec2/processing_wav2vec2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/wav2vec2_with_lm/processing_wav2vec2_with_lm.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/whisper/processing_whisper.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/processors.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/transformers.d.ts","./src/services/transcription/worker.ts","./src/services/transcription/index.ts","./src/stores/assets-panel-store.ts","./src/stores/editor-store.ts","./src/stores/panel-store.ts","./src/types/stickers.ts","./src/stores/stickers-store.ts","./src/stores/text-properties-store.ts","./src/utils/date.ts","./src/utils/geometry.ts","./src/utils/math.ts","./src/utils/string-utils.ts","../../node_modules/.bun/@radix-ui+react-accessible-icon@1.1.7+b41f8805ee63d2ff/node_modules/@radix-ui/react-accessible-icon/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-context@1.1.2+0e2fb8dbc083adda/node_modules/@radix-ui/react-context/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-primitive@2.1.3+b41f8805ee63d2ff/node_modules/@radix-ui/react-primitive/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-collapsible@1.1.11+b41f8805ee63d2ff/node_modules/@radix-ui/react-collapsible/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-accordion@1.2.11+b41f8805ee63d2ff/node_modules/@radix-ui/react-accordion/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-dismissable-layer@1.1.10+b41f8805ee63d2ff/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-focus-scope@1.1.7+b41f8805ee63d2ff/node_modules/@radix-ui/react-focus-scope/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-portal@1.1.9+b41f8805ee63d2ff/node_modules/@radix-ui/react-portal/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-dialog@1.1.14+b41f8805ee63d2ff/node_modules/@radix-ui/react-dialog/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-alert-dialog@1.1.14+b41f8805ee63d2ff/node_modules/@radix-ui/react-alert-dialog/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-aspect-ratio@1.1.7+b41f8805ee63d2ff/node_modules/@radix-ui/react-aspect-ratio/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-avatar@1.1.10+b41f8805ee63d2ff/node_modules/@radix-ui/react-avatar/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-checkbox@1.3.2+b41f8805ee63d2ff/node_modules/@radix-ui/react-checkbox/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-arrow@1.1.7+b41f8805ee63d2ff/node_modules/@radix-ui/react-arrow/dist/index.d.mts","../../node_modules/.bun/@radix-ui+rect@1.1.1/node_modules/@radix-ui/rect/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-popper@1.2.7+b41f8805ee63d2ff/node_modules/@radix-ui/react-popper/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-roving-focus@1.1.10+b41f8805ee63d2ff/node_modules/@radix-ui/react-roving-focus/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-menu@2.1.15+b41f8805ee63d2ff/node_modules/@radix-ui/react-menu/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-context-menu@2.2.15+b41f8805ee63d2ff/node_modules/@radix-ui/react-context-menu/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-direction@1.1.1+0e2fb8dbc083adda/node_modules/@radix-ui/react-direction/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-dropdown-menu@2.1.15+b41f8805ee63d2ff/node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-label@2.1.7+b41f8805ee63d2ff/node_modules/@radix-ui/react-label/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-form@0.1.7+b41f8805ee63d2ff/node_modules/@radix-ui/react-form/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-hover-card@1.1.14+b41f8805ee63d2ff/node_modules/@radix-ui/react-hover-card/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-menubar@1.1.15+b41f8805ee63d2ff/node_modules/@radix-ui/react-menubar/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-visually-hidden@1.2.3+b41f8805ee63d2ff/node_modules/@radix-ui/react-visually-hidden/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-navigation-menu@1.2.13+b41f8805ee63d2ff/node_modules/@radix-ui/react-navigation-menu/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-one-time-password-field@0.1.7+b41f8805ee63d2ff/node_modules/@radix-ui/react-one-time-password-field/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-password-toggle-field@0.1.2+b41f8805ee63d2ff/node_modules/@radix-ui/react-password-toggle-field/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-popover@1.1.14+b41f8805ee63d2ff/node_modules/@radix-ui/react-popover/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-progress@1.1.7+b41f8805ee63d2ff/node_modules/@radix-ui/react-progress/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-radio-group@1.3.7+b41f8805ee63d2ff/node_modules/@radix-ui/react-radio-group/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-scroll-area@1.2.9+b41f8805ee63d2ff/node_modules/@radix-ui/react-scroll-area/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-select@2.2.5+b41f8805ee63d2ff/node_modules/@radix-ui/react-select/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-separator@1.1.7+b41f8805ee63d2ff/node_modules/@radix-ui/react-separator/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-slider@1.3.5+b41f8805ee63d2ff/node_modules/@radix-ui/react-slider/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-slot@1.2.3+0e2fb8dbc083adda/node_modules/@radix-ui/react-slot/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-switch@1.2.5+b41f8805ee63d2ff/node_modules/@radix-ui/react-switch/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-tabs@1.1.12+b41f8805ee63d2ff/node_modules/@radix-ui/react-tabs/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-toast@1.2.14+b41f8805ee63d2ff/node_modules/@radix-ui/react-toast/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-toggle@1.1.9+b41f8805ee63d2ff/node_modules/@radix-ui/react-toggle/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-toggle-group@1.1.10+b41f8805ee63d2ff/node_modules/@radix-ui/react-toggle-group/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-toolbar@1.1.10+b41f8805ee63d2ff/node_modules/@radix-ui/react-toolbar/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-tooltip@1.2.7+b41f8805ee63d2ff/node_modules/@radix-ui/react-tooltip/dist/index.d.mts","../../node_modules/.bun/radix-ui@1.4.2+b41f8805ee63d2ff/node_modules/radix-ui/dist/index.d.mts","../../node_modules/.bun/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/types.d.ts","../../node_modules/.bun/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.d.ts","./src/components/ui/button.tsx","../../node_modules/.bun/next-themes@0.4.6+6dbf9a050bc9aadb/node_modules/next-themes/dist/index.d.ts","./src/components/theme-toggle.tsx","./src/components/header.tsx","../../node_modules/.bun/react-icons@5.5.0+f4eacebf2041cd4f/node_modules/react-icons/lib/iconsmanifest.d.ts","../../node_modules/.bun/react-icons@5.5.0+f4eacebf2041cd4f/node_modules/react-icons/lib/iconbase.d.ts","../../node_modules/.bun/react-icons@5.5.0+f4eacebf2041cd4f/node_modules/react-icons/lib/iconcontext.d.ts","../../node_modules/.bun/react-icons@5.5.0+f4eacebf2041cd4f/node_modules/react-icons/lib/index.d.ts","../../node_modules/.bun/react-icons@5.5.0+f4eacebf2041cd4f/node_modules/react-icons/ri/index.d.ts","../../node_modules/.bun/react-icons@5.5.0+f4eacebf2041cd4f/node_modules/react-icons/fa6/index.d.ts","./src/components/footer.tsx","./src/app/base-page.tsx","./src/components/ui/sonner.tsx","./src/components/ui/tooltip.tsx","../../node_modules/.bun/botid@1.4.2+9bc11be94d70553a/node_modules/botid/dist/client/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/compiled/@next/font/dist/types.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","../../node_modules/.bun/next@16.1.3+6dbf9a050bc9aadb/node_modules/next/font/google/index.d.ts","./src/app/layout.tsx","./src/components/landing/handlebars.tsx","./src/components/landing/hero.tsx","./src/app/page.tsx","./src/components/ui/avatar.tsx","./src/components/ui/separator.tsx","./src/app/blog/page.tsx","./src/components/ui/prose.tsx","./src/app/blog/[slug]/page.tsx","./src/components/ui/card.tsx","./src/components/github-contribute-section.tsx","./src/app/contributors/page.tsx","./src/app/editor/[project_id]/layout.tsx","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/panel.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/types.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/panelgroup.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/panelresizehandleregistry.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/panelresizehandle.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/constants.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/utils/assert.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/utils/csp.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/utils/cursor.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelelement.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelelementsforgroup.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelgroupelement.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelement.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelementindex.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelementsforgroup.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandlepanelids.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/utils/rects/types.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/utils/rects/getintersectingrectangle.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/utils/rects/intersects.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/declarations/src/index.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+6dbf9a050bc9aadb/node_modules/react-resizable-panels/dist/react-resizable-panels.cjs.d.mts","./src/components/ui/resizable.tsx","./src/components/editor/assets-panel/tabbar.tsx","./src/components/editor/assets-panel/drag-overlay.tsx","./src/components/ui/context-menu.tsx","./src/components/ui/dropdown-menu.tsx","./src/components/ui/aspect-ratio.tsx","./src/components/editor/draggable-item.tsx","./src/components/editor/assets-panel/views/media.tsx","./src/components/ui/scroll-area.tsx","./src/components/ui/tabs.tsx","./src/components/editor/panel-base-view.tsx","./src/components/editor/assets-panel/views/text.tsx","./src/components/ui/input.tsx","./src/components/ui/dialog.tsx","./src/components/editor/assets-panel/views/sounds.tsx","./src/components/ui/input-with-back.tsx","./src/components/editor/assets-panel/views/stickers.tsx","./src/components/ui/select.tsx","./src/components/editor/properties-panel/property-item.tsx","./src/data/colors/syntax-ui.tsx","./src/components/editor/assets-panel/views/settings.tsx","./src/components/editor/assets-panel/views/captions.tsx","./src/components/editor/assets-panel/index.tsx","./src/components/editor/properties-panel/audio-properties.tsx","./src/components/editor/properties-panel/video-properties.tsx","./src/components/ui/textarea.tsx","./src/components/ui/font-picker.tsx","./src/components/ui/slider.tsx","./src/components/ui/color-picker.tsx","./src/components/editor/properties-panel/text-properties.tsx","./src/components/editor/properties-panel/index.tsx","../../node_modules/.bun/wavesurfer.js@7.10.0/node_modules/wavesurfer.js/dist/event-emitter.d.ts","../../node_modules/.bun/wavesurfer.js@7.10.0/node_modules/wavesurfer.js/dist/base-plugin.d.ts","../../node_modules/.bun/wavesurfer.js@7.10.0/node_modules/wavesurfer.js/dist/dom.d.ts","../../node_modules/.bun/wavesurfer.js@7.10.0/node_modules/wavesurfer.js/dist/player.d.ts","../../node_modules/.bun/wavesurfer.js@7.10.0/node_modules/wavesurfer.js/dist/wavesurfer.d.ts","./src/components/editor/timeline/audio-waveform.tsx","./src/components/editor/timeline/timeline-element.tsx","./src/components/editor/timeline/timeline-track.tsx","./src/components/editor/timeline/timeline-playhead.tsx","./src/components/editor/selection-box.tsx","./src/components/editor/timeline/snap-indicator.tsx","./src/components/ui/split-button.tsx","./src/components/editor/editable-timecode.tsx","./src/components/ui/sheet.tsx","./src/components/editor/scenes-view.tsx","./src/components/editor/timeline/timeline-toolbar.tsx","./src/components/editor/timeline/timeline-tick.tsx","./src/components/editor/timeline/timeline-ruler.tsx","./src/components/editor/timeline/bookmarks.tsx","./src/components/editor/timeline/drag-line.tsx","./src/components/editor/timeline/index.tsx","../../node_modules/.bun/use-deep-compare-effect@1.8.1+f4eacebf2041cd4f/node_modules/use-deep-compare-effect/dist/index.d.ts","./src/components/editor/preview-panel.tsx","./src/components/keyboard-shortcuts-help.tsx","./src/components/rename-project-dialog.tsx","./src/components/editor/delete-project-dialog.tsx","./src/components/ui/popover.tsx","./src/components/ui/label.tsx","./src/components/ui/radio-group.tsx","./src/components/ui/progress.tsx","./src/components/ui/checkbox.tsx","./src/components/editor/export-button.tsx","./src/components/editor/editor-header.tsx","./src/components/providers/editor-provider.tsx","../../node_modules/.bun/@types+mdast@4.0.4/node_modules/@types/mdast/index.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/state.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/footer.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/blockquote.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/break.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/code.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/delete.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/emphasis.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/heading.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/html.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/image-reference.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/image.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/inline-code.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/link-reference.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/link.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/list-item.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/list.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/paragraph.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/root.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/strong.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/table.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/table-cell.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/table-row.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/text.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/index.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/index.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/index.d.ts","../../node_modules/.bun/remark-rehype@11.1.2/node_modules/remark-rehype/lib/index.d.ts","../../node_modules/.bun/remark-rehype@11.1.2/node_modules/remark-rehype/index.d.ts","../../node_modules/.bun/react-markdown@10.1.0+0e2fb8dbc083adda/node_modules/react-markdown/lib/index.d.ts","../../node_modules/.bun/react-markdown@10.1.0+0e2fb8dbc083adda/node_modules/react-markdown/index.d.ts","./src/components/editor/onboarding.tsx","./src/components/editor/migration-dialog.tsx","./src/app/editor/[project_id]/page.tsx","./src/components/ui/accordion.tsx","./src/app/privacy/page.tsx","./src/components/ui/skeleton.tsx","./src/app/projects/page.tsx","./src/components/ui/badge.tsx","./src/components/ui/react-markdown-wrapper.tsx","./src/app/roadmap/page.tsx","./src/app/sponsors/page.tsx","./src/app/terms/page.tsx","./src/components/storage-provider.tsx","./src/components/editor/layout-guide-overlay.tsx","./src/components/ui/alert-dialog.tsx","./src/components/ui/alert.tsx","./src/components/ui/breadcrumb.tsx","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/locale/types.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/fp/types.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/types.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/add.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addbusinessdays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/adddays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addhours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addisoweekyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addmilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addminutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addmonths.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addquarters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addweeks.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/areintervalsoverlapping.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/clamp.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/closestindexto.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/closestto.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/compareasc.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/comparedesc.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/constructfrom.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/constructnow.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/daystoweeks.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinbusinessdays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendardays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendarisoweekyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendarisoweeks.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendarmonths.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendarquarters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendarweeks.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendaryears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceindays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinhours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinisoweekyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinmilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinminutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinmonths.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinquarters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinweeks.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachdayofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachhourofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachminuteofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachmonthofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachquarterofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachweekofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachweekendofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachweekendofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachweekendofyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachyearofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofdecade.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofhour.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofisoweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofminute.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofquarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofsecond.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endoftoday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endoftomorrow.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofyesterday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/_lib/format/formatters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/_lib/format/longformatters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/format.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatdistance.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatdistancestrict.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatdistancetonow.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatdistancetonowstrict.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatduration.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatiso.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatiso9075.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatisoduration.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatrfc3339.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatrfc7231.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatrelative.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/fromunixtime.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getdate.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getdayofyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getdaysinmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getdaysinyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getdecade.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/_lib/defaultoptions.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getdefaultoptions.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/gethours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getisoday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getisoweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getisoweeksinyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getmilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getminutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getoverlappingdaysinintervals.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getquarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/gettime.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getunixtime.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getweekofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getweeksinmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/hourstomilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/hourstominutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/hourstoseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/interval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/intervaltoduration.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/intlformat.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/intlformatdistance.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isafter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isbefore.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isdate.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isequal.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isexists.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isfirstdayofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isfriday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isfuture.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/islastdayofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isleapyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/ismatch.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/ismonday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/ispast.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issameday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issamehour.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issameisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issameisoweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issameminute.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issamemonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issamequarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issamesecond.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issameweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issameyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issaturday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issunday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthishour.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthisisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthisminute.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthismonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthisquarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthissecond.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthisweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthisyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthursday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/istoday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/istomorrow.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/istuesday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isvalid.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/iswednesday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isweekend.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/iswithininterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isyesterday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofdecade.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofisoweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofquarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/_lib/format/lightformatters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lightformat.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/max.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/milliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/millisecondstohours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/millisecondstominutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/millisecondstoseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/min.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/minutestohours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/minutestomilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/minutestoseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/monthstoquarters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/monthstoyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextfriday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextmonday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextsaturday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextsunday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextthursday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nexttuesday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextwednesday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parse/_lib/types.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parse/_lib/setter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parser.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parse.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parseiso.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parsejson.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previousday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previousfriday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previousmonday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previoussaturday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previoussunday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previousthursday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previoustuesday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previouswednesday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/quarterstomonths.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/quarterstoyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/roundtonearesthours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/roundtonearestminutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/secondstohours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/secondstomilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/secondstominutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/set.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setdate.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setdayofyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setdefaultoptions.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/sethours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setisoday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setisoweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setmilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setminutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setquarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofdecade.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofhour.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofisoweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofminute.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofquarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofsecond.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startoftoday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startoftomorrow.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofyesterday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/sub.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subbusinessdays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subdays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subhours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subisoweekyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/submilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subminutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/submonths.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subquarters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subweeks.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/todate.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/transpose.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/weekstodays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/yearstodays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/yearstomonths.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/yearstoquarters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/index.d.mts","../../node_modules/.bun/react-day-picker@8.10.1+97355278ff284068/node_modules/react-day-picker/dist/index.d.ts","./src/components/ui/calendar.tsx","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/alignment.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/noderects.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/axis.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/slidestoscroll.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/limit.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/scrollcontain.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/dragtracker.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/utils.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/animations.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/counter.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/eventhandler.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/eventstore.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/percentofview.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/resizehandler.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/vector1d.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/scrollbody.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/scrollbounds.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/scrolllooper.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/scrollprogress.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/slideregistry.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/scrolltarget.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/scrollto.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/slidefocus.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/translate.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/slidelooper.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/slideshandler.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/slidesinview.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/engine.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/optionshandler.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/plugins.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/emblacarousel.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/draghandler.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/options.d.ts","../../node_modules/.bun/embla-carousel@8.6.0/node_modules/embla-carousel/esm/index.d.ts","../../node_modules/.bun/embla-carousel-react@8.6.0+f4eacebf2041cd4f/node_modules/embla-carousel-react/esm/components/useemblacarousel.d.ts","../../node_modules/.bun/embla-carousel-react@8.6.0+f4eacebf2041cd4f/node_modules/embla-carousel-react/esm/index.d.ts","./src/components/ui/carousel.tsx","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/container/surface.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/container/layer.d.ts","../../node_modules/.bun/@types+d3-time@3.0.4/node_modules/@types/d3-time/index.d.ts","../../node_modules/.bun/@types+d3-scale@4.0.9/node_modules/@types/d3-scale/index.d.ts","../../node_modules/.bun/victory-vendor@36.9.2/node_modules/victory-vendor/d3-scale.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/xaxis.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/yaxis.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/util/types.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/component/defaultlegendcontent.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/util/payload/getuniqpayload.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/component/legend.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/component/defaulttooltipcontent.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/component/tooltip.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/component/responsivecontainer.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/component/cell.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/component/text.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/component/label.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/component/labellist.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/component/customized.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/shape/sector.d.ts","../../node_modules/.bun/@types+d3-path@3.1.1/node_modules/@types/d3-path/index.d.ts","../../node_modules/.bun/@types+d3-shape@3.1.7/node_modules/@types/d3-shape/index.d.ts","../../node_modules/.bun/victory-vendor@36.9.2/node_modules/victory-vendor/d3-shape.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/shape/curve.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/shape/rectangle.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/shape/polygon.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/shape/dot.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/shape/cross.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/shape/symbols.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/polar/polargrid.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/polar/polarradiusaxis.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/polar/polarangleaxis.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/polar/pie.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/polar/radar.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/polar/radialbar.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/brush.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/util/ifoverflowmatches.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/referenceline.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/referencedot.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/referencearea.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/cartesianaxis.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/cartesiangrid.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/line.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/area.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/util/barutils.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/bar.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/zaxis.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/errorbar.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/cartesian/scatter.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/util/getlegendprops.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/util/chartutils.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/accessibilitymanager.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/types.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/generatecategoricalchart.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/linechart.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/barchart.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/piechart.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/treemap.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/sankey.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/radarchart.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/scatterchart.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/areachart.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/radialbarchart.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/composedchart.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/sunburstchart.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/shape/trapezoid.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/numberaxis/funnel.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/chart/funnelchart.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/util/global.d.ts","../../node_modules/.bun/recharts@2.15.4+6dbf9a050bc9aadb/node_modules/recharts/types/index.d.ts","./src/components/ui/chart.tsx","./src/components/ui/collapsible.tsx","../../node_modules/.bun/@radix-ui+react-dismissable-layer@1.1.11+b41f8805ee63d2ff/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-dialog@1.1.15+b41f8805ee63d2ff/node_modules/@radix-ui/react-dialog/dist/index.d.mts","../../node_modules/.bun/cmdk@1.1.1+b41f8805ee63d2ff/node_modules/cmdk/dist/index.d.ts","./src/components/ui/command.tsx","../../node_modules/.bun/vaul@1.1.2+b41f8805ee63d2ff/node_modules/vaul/dist/index.d.mts","./src/components/ui/drawer.tsx","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/constants.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/utils/createsubject.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/types/events.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/types/path/common.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/types/path/eager.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/types/path/index.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/types/fieldarray.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/types/resolvers.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/types/form.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/types/utils.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/types/fields.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/types/errors.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/types/validator.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/types/controller.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/types/index.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/controller.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/form.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/logic/appenderrors.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/logic/createformcontrol.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/logic/index.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/usecontroller.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/usefieldarray.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/useform.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/useformcontext.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/useformstate.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/usewatch.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/utils/get.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/utils/set.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/utils/index.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+f4eacebf2041cd4f/node_modules/react-hook-form/dist/index.d.ts","./src/components/ui/form.tsx","./src/components/ui/hover-card.tsx","../../node_modules/.bun/input-otp@1.4.2+6dbf9a050bc9aadb/node_modules/input-otp/dist/index.d.ts","./src/components/ui/input-otp.tsx","./src/components/ui/menubar.tsx","./src/components/ui/navigation-menu.tsx","./src/components/ui/pagination.tsx","../../node_modules/.bun/libphonenumber-js@1.12.10/node_modules/libphonenumber-js/types.d.ts","../../node_modules/.bun/libphonenumber-js@1.12.10/node_modules/libphonenumber-js/core/index.d.ts","../../node_modules/.bun/libphonenumber-js@1.12.10/node_modules/libphonenumber-js/min/index.d.ts","../../node_modules/.bun/react-phone-number-input@3.4.12+6dbf9a050bc9aadb/node_modules/react-phone-number-input/index.d.ts","../../node_modules/.bun/react-phone-number-input@3.4.12+6dbf9a050bc9aadb/node_modules/react-phone-number-input/flags/index.d.ts","./src/components/ui/phone-input.tsx","./src/components/ui/switch.tsx","./src/components/ui/table.tsx","./src/components/ui/toast.tsx","./src/components/ui/toggle.tsx","./src/components/ui/toggle-group.tsx","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/globals.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/s3.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/fetch.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/bun.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/globals.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/s3.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/fetch.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/bun.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/extensions.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/devserver.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/ffi.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/html-rewriter.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/jsc.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/sqlite.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/vendor/expect-type/utils.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/vendor/expect-type/overloads.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/vendor/expect-type/branding.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/vendor/expect-type/messages.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/vendor/expect-type/index.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/test.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/wasm.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/overrides.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/deprecated.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/redis.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/shell.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/experimental.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/sql.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/security.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/bun.ns.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/index.d.ts","../../node_modules/.bun/@types+bun@1.2.21+fccada1f982c16e9/node_modules/@types/bun/index.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/extensions.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/devserver.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/ffi.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/html-rewriter.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/jsc.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/sqlite.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/vendor/expect-type/utils.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/vendor/expect-type/overloads.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/vendor/expect-type/branding.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/vendor/expect-type/messages.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/vendor/expect-type/index.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/test.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/wasm.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/overrides.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/deprecated.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/redis.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/shell.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/serve.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/sql.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/security.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/bundle.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/bun.ns.d.ts","../../node_modules/.bun/bun-types@1.3.6/node_modules/bun-types/index.d.ts","../../node_modules/.bun/@types+bun@1.3.6/node_modules/@types/bun/index.d.ts","../../node_modules/.bun/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../node_modules/.bun/pg-protocol@1.10.3/node_modules/pg-protocol/dist/messages.d.ts","../../node_modules/.bun/pg-protocol@1.10.3/node_modules/pg-protocol/dist/serializer.d.ts","../../node_modules/.bun/pg-protocol@1.10.3/node_modules/pg-protocol/dist/parser.d.ts","../../node_modules/.bun/pg-protocol@1.10.3/node_modules/pg-protocol/dist/index.d.ts","../../node_modules/.bun/@types+pg@8.15.4/node_modules/@types/pg/lib/type-overrides.d.ts","../../node_modules/.bun/@types+pg@8.15.4/node_modules/@types/pg/index.d.ts"],"fileIdsList":[[85,87,90,135,186,264,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,584,585,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,584,587,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1421,1422,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,580,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,264,580,1438,1443,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1450,1819,1826,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,556,568,584,598,658,1827,1839,1841,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,558,584,598,658,1827,1838,1839,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,558,584,594,595,1447,1816,1827,1838,1843,1844,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,568,1761,1868,1890,1898,1919,1921,1931,1932,1966,1967,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,264,571,596,1817,1828,1829,1830,1833,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,584,595,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,584,595,1819,1826,1836,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,584,595,1827,1839,1969,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,556,558,568,1447,1465,1523,1581,1765,1816,1829,1843,1872,1880,1923,1924,1929,1967,1971,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,584,1450,1827,1844,1973,1974,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,595,658,1445,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,584,595,658,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,556,558,584,595,1447,1827,1843,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1447,1816,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1759,1839,1869,1875,1879,1882,1884,1888,1889,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1450,1759,1829,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1457,1458,1469,1470,1550,1551,1581,1630,1758,1816,1878,1886,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,1464,1468,1485,1523,1552,1581,1584,1606,1759,1816,1829,1870,1871,1872,1874,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,556,1447,1450,1465,1466,1579,1580,1581,1760,1766,1878,1885,1886,1887,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,1504,1585,1607,1608,1816,1839,1872,1876,1877,1880,1881,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,556,1447,1450,1467,1523,1585,1626,1762,1763,1816,1829,1874,1876,1878,1883,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1469,1475,1581,1874,1878,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1816,1881,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,274,275,276,1447,1450,1581,1582,1583,1816,1829,1873,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1450,1513,1514,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,558,568,595,1447,1523,1581,1816,1818,1825,1872,1922,1923,1924,1930,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,594,1447,1450,1461,1462,1581,1625,1816,1886,1925,1926,1927,1928,1929,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,556,1760,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1447,1581,1881,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,595,1447,1816,1881,1965,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1450,1839,1876,1877,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1556,1558,1570,1581,1605,1920,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1447,1581,1611,1876,1891,1892,1897,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,1463,1464,1466,1581,1764,1767,1768,1816,1829,1878,1880,1886,1893,1894,1895,1896,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,1508,1523,1581,1816,1881,1912,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1903,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1447,1468,1581,1876,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1617,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1464,1468,1477,1581,1610,1611,1614,1615,1618,1619,1620,1621,1622,1623,1871,1876,1906,1907,1908,1909,1914,1916,1917,1918,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1616,1621,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1447,1464,1468,1477,1485,1526,1581,1590,1611,1621,1624,1759,1871,1904,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1468,1581,1619,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1466,1468,1581,1876,1915,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1468,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1447,1450,1468,1514,1581,1590,1610,1816,1829,1895,1910,1911,1913,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1450,1464,1468,1581,1611,1613,1621,1905,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,556,558,595,1768,1824,1825,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,558,594,595,1447,1816,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,556,558,594,595,1447,1450,1455,1816,1818,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1523,1602,1604,1816,1881,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,556,558,1447,1816,1835,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,1455,1456,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,568,1447,1581,1603,1612,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1816,1880,1881,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1512,1523,1581,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1447,1450,1816,1817,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,1813,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1450,1813,1816,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1450,1815,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1813,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1450,1813,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1450,1813,1815,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,1816,2240,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1450,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,1816,2277,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1450,2290,2348,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,274,275,276,1450,1880,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,1881,2352,2353,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,1813,1815,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,1813,1876,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1450,2355,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1463,1885,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1450,1813,1926,2386,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,2389,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1455,1816,1880,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,1816,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1447,1450,1816,1876,1880,1925,2354,2397,2398,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1450,1965,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1450,1867,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1450,1803,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1450,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1523,1817,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1450,1816,1839,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1450,1813,1815,2403,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1457,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1459,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1461,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1465,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,594,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1468,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1447,1464,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1470,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1472,1501,1522,1553,1555,1571,1576,1577,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1575,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1473,1475,1485,1512,1554,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1461,1464,1465,1466,1473,1508,1511,1512,1523,1525,1552,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1461,1550,1558,1560,1570,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1474,1508,1512,1515,1521,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1477,1486,1500,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1590,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1581,1609,1610,1611,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1464,1468,1473,1514,1581,1611,1617,1621,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1464,1514,1578,1610,1621,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1610,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1468,1477,1581,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1464,1468,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1464,1468,1475,1514,1523,1552,1581,1582,1583,1617,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1468,1514,1581,1613,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1468,1514,1581,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1468,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1583,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1590,1602,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1590,1601,1602,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1607,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1586,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1587,1588,1589,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1588,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1587,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,264,1628,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,264,1113,1115,1117,1420,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,598,608,639,646,648,652,657,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1478,1500,1521,1525,1574,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1473,1478,1485,1512,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1572,1573,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1475,1478,1485,1512,1554,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1524,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1465,1478,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1478,1508,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1516,1517,1518,1519,1520,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1478,1508,1515,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1498,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1473,1474,1475,1478,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1477,1478,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1473,1474,1478,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1468,1473,1474,1475,1478,1485,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1474,1478,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1473,1478,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1475,1478,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1478,1578,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1483,1497,1499,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1479,1480,1481,1482,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,264,1118,1418,1419,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1318,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1582,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1461,1462,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1565,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1565,1566,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1475,1477,1485,1526,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1485,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1485,1549,1550,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1485,1523,1526,1549,1551,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,264,1117,1442,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1473,1474,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1513,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1514,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1468,1474,1475,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1468,1469,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1474,1475,1476,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1468,1473,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1470,1471,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1549,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1557,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1556,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1556,1557,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1556,1557,1567,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1556,1557,1561,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1556,1557,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1549,1556,1557,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1465,1466,1477,1485,1558,1561,1562,1563,1564,1568,1569,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1549,1556,1558,1559,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1484,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1505,1506,1507,1509,1510,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1502,1505,1506,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1484,1502,1505,1508,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1466,1502,1505,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1502,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1465,1484,1485,1502,1503,1504,1511,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1465,1485,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1470,1471,1757,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1470,1471,1756,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1447,1593,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1459,1465,1466,1593,1599,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1586,1590,1593,1599,1600,1601,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1460,1593,1599,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1475,1504,1512,1523,1578,1593,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1467,1475,1578,1593,1626,1762,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1593,1599,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1464,1593,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1590,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1467,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,1448,1449,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,671,672,675,676,680,690,691,692,730,765,1018,1035,1036,1039,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,134,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,671,765,1035,1104,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1104,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1105,1106,1107,1108,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,134,135,690,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,681,682,683,684,685,686,687,690,1018,1035,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1036,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,680,1018,1035,1036,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,681,682,683,684,685,686,687,688,689,1018,1035,1036,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,660,690,1018,1035,1036,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1018,1035,1036,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,673,674,675,676,677,678,679,1036,1037,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,263,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,660,1034,1035,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,691,1048,1049,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1084,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,660,672,765,1018,1033,1035,1038,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,692,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,692,730,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,692,693,694,695,696,728,729,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,660,1035,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,692,727,730,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,727,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,263,692,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,671,672,673,675,676,677,680,690,691,692,730,1018,1036,1038,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,671,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,660,672,765,1018,1033,1034,1038,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,166,660,671,673,674,675,676,677,680,690,691,764,765,766,1017,1036,1038,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,660,1018,1019,1032,1038,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,660,671,680,765,766,1017,1018,1037,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,691,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1097,1098,1099,1100,1101,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,680,1039,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1643,1646,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1648,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1648,1651,1661,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1648,1654,1663,1664,1756,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1645,1646,1647,1648,1651,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1643,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1652,1655,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1651,1660,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1651,1655,1656,1657,1658,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1654,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1648,1651,1652,1656,1657,1659,1660,1661,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1651,1664,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1648,1664,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1648,1663,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1665,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1663,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1671,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1651,1661,1663,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1663,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1654,1665,1730,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1654,1661,1665,1666,1685,1730,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1654,1661,1665,1730,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1651,1654,1661,1663,1665,1730,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1703,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1663,1756,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1651,1654,1665,1730,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1654,1665,1685,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1694,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1711,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1651,1663,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1665,1677,1756,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1665,1730,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1718,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1746,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1719,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1699,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1734,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1673,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1664,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1661,1663,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1656,1659,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1648,1651,1654,1656,1661,1662,1665,1666,1667,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1648,1651,1653,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1644,1646,1647,1648,1650,1651,1652,1654,1655,1657,1658,1661,1662,1663,1664,1665,1666,1667,1668,1669,1684,1685,1729,1730,1755,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1651,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1643,1645,1646,1647,1652,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,420,1651,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1649,1650,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1661,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,1772,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1777,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1771,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1770,1771,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,1786,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,1774,1775,1776,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,1775,1776,2351,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1770,1771,1790,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,1774,1776,1784,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,1774,1775,1776,1784,1785,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1770,1771,1785,1786,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,1774,1794,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1771,1785,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,1774,1775,1776,1784,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,1782,1783,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,1785,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,1774,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,1785,1809,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1770,1771,1785,1803,1810,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2471,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492,2495],[90,135,2281,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2299,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1528,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,599,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,132,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,140,170,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,136,141,147,148,155,167,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,136,137,147,155,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,138,179,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,139,140,148,156,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,140,167,175,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,141,143,147,155,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,134,135,142,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,143,144,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,145,147,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,134,135,147,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,147,148,149,167,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,147,148,149,162,167,170,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,130,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,130,135,143,147,150,155,167,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,147,148,150,151,155,167,175,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,152,167,175,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[88,89,90,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,147,153,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,154,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,143,147,155,167,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,156,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,157,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,134,135,158,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,132,133,134,135,136,137,138,139,140,141,142,143,144,145,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,160,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,161,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,147,162,163,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,162,164,179,181,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,147,167,168,170,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,169,170,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,167,168,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,170,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,171,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,132,135,167,172,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,147,173,174,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,173,174,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,140,155,167,175,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,176,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,155,177,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,161,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,140,179,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,167,180,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,154,181,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,182,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,147,149,158,167,170,178,180,181,183,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,167,184,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,147,167,175,185,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492,2497,2498,2501,2502,2503],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492,2503],[84,90,135,274,275,276,490,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,274,275,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,275,490,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,269,273,531,577,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,269,272,531,577,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[81,82,83,90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,590,591,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,592,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1440,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1117,1441,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1439,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1116,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,690,1039,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1114,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,253,263,730,766,1039,1040,1041,1050,1062,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1086,1087,1091,1113,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1068,1069,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1039,1062,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,263,730,1062,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,263,1062,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,263,1039,1062,1066,1087,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1062,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,263,1039,1040,1062,1066,1087,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1039,1066,1086,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1019,1039,1040,1062,1093,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1019,1032,1039,1040,1085,1093,1627,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1032,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1039,1040,1041,1066,1086,1087,1091,1092,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,680,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,680,1034,1039,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,680,1039,1045,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,680,1041,1042,1043,1044,1046,1047,1051,1088,1089,1090,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,690,1039,1050,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,680,1039,1066,1087,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,263,680,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,680,690,1039,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,253,263,680,727,730,764,1039,1040,1050,1062,1063,1064,1065,1066,1083,1085,1086,1087,1093,1094,1095,1096,1102,1103,1109,1110,1112,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1039,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,690,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1040,1062,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1039,1040,1063,1064,1083,1085,1087,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,764,1039,1040,1063,1064,1065,1086,1087,1093,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,680,1039,1040,1041,1086,1091,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,680,1039,1040,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1095,1096,1102,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1052,1053,1054,1055,1057,1058,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1052,1053,1054,1055,1056,1058,1059,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1053,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1052,1057,1059,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1057,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1057,1058,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,661,662,663,664,666,667,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,661,662,663,664,665,667,668,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,662,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,661,662,663,664,665,666,667,668,669,670,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,661,666,668,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,666,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,666,667,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,584,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,140,148,150,175,179,183,2441,2442,2443,2444,2445,2446,2447,2448,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2441,2442,2443,2444,2445,2446,2447,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,140,158,167,170,175,179,183,2441,2442,2443,2444,2445,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,185,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2453,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,140,148,149,156,170,175,178,184,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,148,2442,2443,2444,2445,2446,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2460,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2456,2457,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2456,2457,2458,2459,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2456,2458,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2456,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,140,148,150,175,179,183,2441,2442,2443,2444,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2441,2442,2443,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,140,158,167,170,175,179,183,2441,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,185,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2476,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492,2493,2494],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[13,90,131,135,138,140,148,149,156,170,175,178,184,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2489,2490,2491,2492],[90,135,148,2442,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2483,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2479,2480,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2479,2480,2481,2482,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2479,2481,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2479,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2486,2487,2488,2489,2490,2491,2492],[90,135,1448,1814,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1448,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1777,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1985,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1983,1985,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1983,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1985,2049,2050,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2052,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2053,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2070,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2068,2069,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,2145,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,2160,2161,2162,2163,2164,2165,2166,2171,2172,2173,2174,2175,2176,2177,2178,2179,2180,2181,2182,2183,2184,2185,2186,2187,2188,2189,2190,2191,2192,2193,2194,2195,2196,2197,2198,2199,2200,2201,2202,2203,2204,2205,2206,2207,2208,2209,2210,2211,2212,2213,2214,2215,2216,2217,2218,2219,2220,2221,2222,2223,2224,2225,2226,2227,2228,2229,2230,2231,2232,2233,2234,2235,2236,2237,2238,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2146,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1985,2050,2170,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1983,2167,2168,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2169,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2167,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1983,1984,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,178,185,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,175,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[86,90,135,175,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1126,1172,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1171,1410,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1411,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1196,1251,1318,1370,1404,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1126,1127,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1165,1170,1192,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1135,1165,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1150,1151,1152,1153,1154,1155,1156,1157,1158,1168,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1138,1167,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1167,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1160,1165,1166,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1165,1167,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1167,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1165,1167,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1150,1151,1152,1153,1154,1155,1156,1157,1158,1167,1168,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1137,1167,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1149,1167,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1149,1165,1167,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1126,1127,1132,1165,1169,1170,1172,1174,1177,1178,1179,1181,1187,1188,1192,1411,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1165,1169,1172,1187,1191,1192,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1165,1169,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1136,1137,1160,1161,1162,1163,1164,1165,1166,1169,1179,1180,1181,1187,1188,1190,1191,1193,1194,1195,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1165,1169,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1161,1165,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1165,1181,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1125,1126,1165,1175,1176,1181,1188,1192,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1182,1183,1184,1185,1186,1189,1192,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1124,1125,1126,1132,1160,1165,1167,1175,1176,1181,1183,1188,1189,1192,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1126,1132,1169,1179,1186,1188,1192,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1165,1172,1175,1176,1181,1188,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1173,1175,1176,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1175,1176,1181,1188,1191,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1125,1126,1127,1132,1165,1169,1170,1171,1175,1176,1179,1181,1188,1192,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1122,1123,1124,1125,1126,1127,1132,1165,1169,1170,1181,1186,1191,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1124,1125,1126,1127,1165,1167,1170,1175,1176,1181,1188,1192,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1137,1165,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1135,1171,1172,1173,1180,1188,1192,1411,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1124,1125,1126,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1136,1159,1160,1162,1163,1164,1166,1167,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1124,1126,1136,1160,1162,1163,1164,1165,1166,1169,1170,1191,1196,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1125,1126,1127,1132,1167,1170,1189,1190,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1120,1122,1123,1124,1127,1135,1172,1175,1405,1406,1407,1408,1409,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1226,1234,1247,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1226,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1217,1218,1219,1220,1221,1229,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1228,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1228,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1226,1227,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1226,1228,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1226,1228,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1217,1218,1219,1220,1221,1228,1229,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1208,1228,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1216,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1126,1127,1172,1226,1233,1234,1239,1240,1241,1242,1244,1247,1411,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1172,1226,1228,1231,1232,1237,1238,1244,1247,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1226,1230,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1197,1223,1224,1225,1226,1227,1230,1233,1239,1241,1243,1244,1245,1246,1248,1249,1250,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1226,1230,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1226,1234,1244,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1126,1127,1175,1226,1228,1239,1244,1247,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1232,1235,1236,1237,1238,1247,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1126,1132,1171,1175,1176,1226,1228,1236,1237,1239,1244,1247,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1233,1235,1239,1247,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1172,1175,1226,1239,1244,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1125,1126,1127,1132,1171,1175,1223,1226,1230,1233,1234,1239,1244,1247,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1122,1123,1124,1125,1126,1127,1132,1226,1230,1234,1235,1244,1246,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1126,1127,1171,1175,1226,1228,1239,1244,1247,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1226,1246,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1171,1172,1239,1243,1247,1411,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1124,1125,1126,1132,1236,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1197,1222,1223,1224,1225,1227,1228,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1124,1197,1223,1224,1225,1226,1227,1234,1235,1246,1251,1410,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1125,1126,1132,1230,1234,1236,1245,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1122,1126,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1293,1299,1312,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1135,1293,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1253,1254,1255,1256,1257,1259,1260,1261,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1296,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1263,1295,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1295,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1295,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1288,1293,1294,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1293,1295,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1295,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1258,1295,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1293,1295,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1253,1254,1255,1256,1257,1259,1260,1261,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1295,1296,1297,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1262,1295,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1265,1295,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1293,1295,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1258,1265,1293,1295,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1258,1293,1295,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1126,1127,1172,1293,1298,1299,1300,1304,1305,1307,1308,1311,1312,1411,1412,1413,1414,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1172,1231,1293,1298,1300,1307,1311,1312,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1293,1298,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1252,1262,1288,1289,1290,1291,1292,1293,1294,1298,1300,1305,1307,1308,1310,1311,1313,1314,1315,1317,1415,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1293,1298,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1289,1293,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1293,1300,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1125,1126,1132,1171,1175,1176,1293,1300,1308,1312,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1301,1302,1303,1304,1306,1309,1312,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1124,1125,1126,1132,1171,1175,1176,1288,1293,1295,1300,1302,1308,1309,1312,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1126,1298,1305,1306,1308,1312,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1172,1175,1176,1293,1300,1308,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1175,1176,1300,1308,1311,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1125,1126,1127,1132,1171,1175,1176,1293,1298,1299,1300,1305,1308,1312,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1122,1123,1124,1125,1126,1127,1132,1293,1298,1299,1300,1306,1311,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1124,1125,1126,1127,1132,1171,1175,1176,1293,1295,1299,1300,1308,1312,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1262,1293,1297,1311,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1135,1171,1172,1173,1308,1312,1411,1415,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1124,1125,1126,1132,1309,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1252,1287,1288,1290,1291,1292,1294,1295,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1124,1126,1252,1288,1290,1291,1292,1293,1294,1298,1299,1311,1318,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1316,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1125,1126,1127,1132,1295,1299,1309,1310,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1118,1119,1127,1415,1416,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1416,1417,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1118,1119,1120,1126,1127,1171,1172,1300,1308,1312,1318,1356,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1122,1123,1124,1126,1127,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1126,1127,1130,1406,1410,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1410,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1348,1366,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1338,1339,1340,1341,1342,1343,1350,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1349,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1349,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1348,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1348,1349,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1348,1349,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1135,1349,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1338,1339,1340,1341,1342,1343,1349,1350,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1329,1349,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1337,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1126,1172,1348,1355,1358,1359,1360,1363,1365,1366,1411,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1172,1231,1348,1349,1352,1353,1354,1365,1366,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1345,1346,1347,1348,1351,1355,1360,1363,1364,1365,1367,1368,1369,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1348,1351,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1348,1351,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1348,1365,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1126,1127,1175,1348,1349,1355,1365,1366,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1352,1353,1354,1361,1362,1366,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1126,1175,1176,1348,1349,1353,1355,1365,1366,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1355,1360,1361,1366,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1125,1126,1127,1132,1171,1175,1348,1351,1355,1360,1365,1366,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1122,1123,1124,1125,1126,1127,1132,1348,1351,1361,1365,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1126,1127,1175,1348,1349,1355,1365,1366,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1348,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1171,1172,1355,1364,1366,1411,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1124,1125,1126,1132,1362,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1344,1345,1346,1347,1349,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1124,1126,1345,1346,1347,1348,1370,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1120,1127,1172,1355,1357,1364,1411,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1120,1126,1127,1171,1172,1355,1356,1365,1366,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1126,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1128,1129,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1131,1133,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1126,1132,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1126,1130,1134,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1121,1122,1124,1125,1127,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1376,1397,1402,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1397,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1372,1392,1393,1394,1395,1400,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1399,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1397,1398,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1397,1399,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1372,1392,1393,1394,1395,1399,1400,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1391,1397,1399,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1399,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1127,1397,1399,1405,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1126,1127,1172,1376,1377,1378,1379,1382,1387,1388,1397,1402,1411,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1172,1231,1382,1387,1397,1401,1402,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1397,1401,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1371,1373,1374,1375,1379,1380,1382,1387,1388,1390,1391,1397,1398,1401,1403,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1397,1401,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1382,1390,1397,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1125,1126,1127,1175,1176,1382,1388,1397,1399,1402,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1383,1384,1385,1386,1389,1402,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1125,1126,1127,1132,1175,1176,1373,1382,1384,1388,1389,1397,1399,1402,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1379,1386,1388,1402,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1127,1172,1175,1176,1382,1388,1397,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1173,1175,1176,1388,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1125,1126,1127,1132,1171,1175,1176,1376,1379,1382,1388,1397,1401,1402,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1122,1123,1124,1125,1126,1127,1132,1376,1382,1386,1390,1397,1401,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1124,1125,1126,1127,1175,1176,1376,1382,1388,1397,1399,1402,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1126,1171,1172,1173,1175,1380,1381,1388,1402,1411,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1124,1125,1126,1132,1389,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1122,1371,1373,1374,1375,1396,1398,1399,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1397,1399,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1124,1126,1371,1373,1374,1375,1376,1390,1397,1398,1404,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1125,1126,1132,1376,1389,1399,1405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1119,1123,1126,1127,1406,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1120,1122,1126,1406,1411,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2275,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2276,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2249,2269,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2243,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2244,2248,2249,2250,2251,2252,2254,2256,2257,2262,2263,2272,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2244,2249,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2252,2269,2271,2274,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2243,2244,2245,2246,2249,2250,2251,2252,2253,2254,2255,2256,2257,2258,2259,2260,2261,2262,2263,2264,2265,2266,2267,2268,2273,2274,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2272,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2242,2244,2245,2247,2255,2264,2267,2268,2273,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2249,2274,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2270,2272,2274,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2243,2244,2249,2252,2272,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2256,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2246,2254,2256,2257,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2246,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2246,2256,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2250,2251,2252,2256,2257,2262,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2252,2253,2257,2261,2263,2272,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2244,2256,2265,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2245,2246,2247,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2252,2272,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2252,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2243,2244,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2244,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2248,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2252,2257,2269,2270,2271,2272,2274,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,614,615,616,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1451,1452,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,1451,1452,1453,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,633,635,636,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,603,609,633,635,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,601,633,634,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,599,603,609,632,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,603,609,626,631,633,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,649,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,609,633,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,653,654,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,655,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,644,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,609,631,633,643,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,697,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,859,963,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,963,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,855,857,858,859,963,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,963,980,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,778,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,855,857,858,859,860,963,1000,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,854,856,857,1000,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,858,963,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,783,784,798,812,813,842,976,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,859,963,980,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,856,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,855,857,858,859,860,963,987,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,854,855,856,857,987,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,800,976,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,855,857,858,859,860,963,993,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,854,855,856,857,993,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,976,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,855,857,858,859,860,963,981,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,855,856,857,981,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,846,969,976,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,854,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,856,857,861,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,855,856,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,856,857,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,856,861,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,819,825,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,816,825,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,881,884,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,778,780,826,863,868,876,877,878,879,882,898,900,909,911,916,917,918,920,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,778,780,816,826,879,895,896,897,920,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,816,825,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,768,769,770,771,772,773,774,775,776,777,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,866,867,869,870,875,876,877,878,879,880,881,882,883,884,885,886,887,888,890,891,892,894,895,896,897,898,899,900,902,903,904,905,908,909,910,911,912,913,914,915,916,919,920,921,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,947,948,949,950,951,952,957,959,960,963,964,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,826,853,854,856,857,858,860,862,863,864,909,911,933,940,941,959,960,961,962,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1005,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,782,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,791,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,768,786,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,799,814,815,904,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,770,786,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,768,774,783,784,785,787,792,793,794,795,796,797,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,841,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,768,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,769,770,771,772,781,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,770,774,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,821,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,769,788,789,790,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,768,774,786,799,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,774,780,782,791,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,773,803,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,770,773,786,833,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,799,805,810,811,814,815,823,828,832,839,840,849,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,770,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,773,774,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,774,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,773,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,827,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,830,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,768,770,774,781,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,806,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,770,774,823,828,832,839,840,844,845,846,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,809,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,830,876,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,876,912,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,818,913,914,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,774,810,816,823,832,839,840,841,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,768,770,799,843,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,843,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,768,769,770,771,772,773,774,781,782,783,784,785,786,787,788,789,790,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,820,821,822,823,824,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,852,853,867,875,876,895,896,897,902,903,904,905,910,912,913,914,915,942,943,968,969,970,971,972,973,974,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,768,769,770,771,772,773,774,781,782,783,784,785,786,787,788,789,790,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,820,821,822,823,824,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,852,867,875,876,895,896,897,902,903,904,905,910,912,913,914,915,942,943,968,969,970,971,972,973,974,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,813,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,814,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,814,815,902,903,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,819,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,902,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,768,770,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,799,810,814,815,820,826,827,828,832,833,839,840,842,847,848,850,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,770,774,817,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,770,774,780,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,820,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,799,805,806,807,808,810,811,812,814,815,820,823,824,828,829,831,832,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,774,816,817,819,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,770,818,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,799,805,810,811,815,823,828,832,839,840,843,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,803,942,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,822,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,825,826,875,876,877,878,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,826,867,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,826,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,776,780,882,952,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,816,826,874,919,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,806,919,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,770,877,878,919,943,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,810,880,882,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,779,780,882,957,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,814,826,884,887,920,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,884,902,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,770,780,816,818,819,826,874,876,878,884,888,915,920,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,775,776,777,779,885,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,786,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,882,900,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,820,826,878,884,900,919,920,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,826,829,919,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,774,780,816,826,881,920,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,877,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,876,920,921,970,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,777,780,882,951,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,843,877,878,919,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,826,830,874,920,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,822,826,950,951,952,953,959,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,855,856,862,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,855,856,862,1011,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,803,875,876,942,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,853,855,856,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,816,826,879,888,899,905,907,920,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,778,826,877,879,898,910,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,822,825,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,776,778,780,825,826,827,850,851,853,854,862,863,864,877,879,882,883,885,888,890,891,894,899,920,921,946,947,949,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,778,780,826,874,878,898,901,908,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,879,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,775,778,780,825,826,827,847,851,853,854,862,863,864,878,885,891,894,920,944,945,946,947,948,949,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,810,825,879,920,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,816,826,913,915,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,779,780,825,826,842,851,853,854,863,864,877,879,882,883,885,891,920,921,944,945,946,947,949,951,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,851,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,825,826,844,878,879,890,920,921,945,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,826,888,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,814,825,886,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,919,920,946,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,825,826,888,899,904,906,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,878,885,946,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,826,833,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,778,780,826,827,831,832,833,851,853,854,862,863,864,874,877,878,879,882,883,885,888,889,890,891,892,893,894,898,899,920,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,777,778,780,825,826,827,848,851,853,854,862,863,864,877,879,882,883,885,888,890,891,894,899,920,921,945,946,947,949,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,879,920,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,853,855,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,767,768,769,770,771,772,773,774,781,782,783,784,785,786,787,788,789,790,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,820,821,822,823,824,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,852,853,854,855,867,875,876,895,896,897,902,903,904,905,910,912,913,914,915,942,943,968,969,970,971,972,973,974,975,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,786,795,798,800,801,802,804,834,835,836,837,838,842,851,852,853,854,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,775,823,862,863,882,885,900,918,950,953,954,955,956,958,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,853,854,855,856,859,861,862,965,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,854,859,862,965,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,853,854,855,856,859,861,862,863,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,863,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,853,854,855,856,859,861,862,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,786,826,853,854,856,862,933,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,934,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,787,825,865,868,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,781,798,825,853,854,863,864,869,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,798,800,825,826,853,854,863,864,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,798,825,826,853,854,863,864,866,868,869,870,871,872,873,922,923,924,925,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,798,825,853,854,863,864,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,769,825,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,781,782,825,826,865,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,800,825,826,853,854,863,864,879,919,921,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,801,825,853,854,863,864,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,802,825,826,853,854,863,864,866,868,869,923,924,925,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,804,825,853,854,863,864,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,825,834,853,854,863,864,900,934,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,795,825,853,854,863,864,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,825,835,853,854,863,864,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,825,836,853,854,863,864,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,825,837,853,854,863,864,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,825,838,853,854,863,864,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,781,788,825,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,789,825,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,825,852,853,854,863,864,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,862,863,926,927,928,929,930,931,932,935,936,937,938,939,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,790,825,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,826,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,775,776,777,779,780,854,864,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,780,854,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,775,776,777,778,779,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2394,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,609,633,1933,1934,1935,1959,1960,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,609,633,1934,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,609,633,1933,1934,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,603,609,633,1933,1935,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1531,1532,1535,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1533,1534,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1530,1531,1535,1536,1537,1541,1545,1546,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1530,1532,1535,1536,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1532,1535,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1528,1529,1530,1531,1532,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1530,1531,1532,1535,1541,1544,1546,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1531,1542,1543,1545,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1530,1532,1536,1545,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1532,1535,1536,1537,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1535,1538,1541,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1530,1531,1538,1539,1540,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1530,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1451,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1454,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1021,1022,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1020,1021,1024,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1020,1021,1026,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1021,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1025,1032,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1020,1021,1022,1023,1024,1025,1027,1028,1029,1030,1031,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1020,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,534,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,536,537,538,539,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,281,283,287,298,487,515,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,283,293,294,295,297,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,283,330,332,334,335,338,527,529,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,283,287,289,290,291,321,415,487,505,506,514,527,529,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,294,385,494,503,523,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,283,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,277,385,523,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,340,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,339,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,485,494,582,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,453,465,503,522,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,396,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,508,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,507,508,509,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,507,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,271,277,283,287,290,292,294,298,299,312,313,340,415,426,504,515,527,531,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,281,283,296,330,331,336,337,527,582,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,296,582,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,281,313,440,527,582,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,582,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,283,296,297,582,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,333,582,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,299,505,513,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,161,523,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,523,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,457,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,383,393,394,523,559,566,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,382,500,560,561,562,563,565,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,499,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,499,500,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,321,385,386,390,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,385,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,385,389,391,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,385,386,387,388,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,564,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,284,553,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,296,375,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,296,515,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,373,377,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,374,533,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1831,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,150,185,269,272,273,531,575,576,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,287,320,371,416,437,439,510,511,515,527,528,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,312,512,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,531,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,282,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,442,455,464,474,476,522,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,161,442,455,473,474,475,522,581,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,467,468,469,470,471,472,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,469,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,473,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[85,90,135,347,348,350,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,341,342,343,344,349,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,347,349,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,345,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,346,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,374,533,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,532,533,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,533,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,416,517,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,517,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,528,533,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,461,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,134,135,460,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,322,385,402,439,448,451,453,454,493,522,525,528,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,367,385,482,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,453,522,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,453,458,459,461,462,463,464,465,466,477,478,479,480,481,483,484,522,523,582,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,447,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,161,284,320,323,344,368,369,416,426,437,438,493,516,527,528,529,531,582,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,522,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,134,135,294,369,426,450,516,518,519,520,521,528,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,453,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,134,135,320,356,402,443,444,445,446,447,448,449,451,452,522,523,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,356,357,443,528,529,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,294,416,426,439,516,522,528,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,527,529,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,167,525,528,529,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,161,178,277,287,296,322,323,325,353,358,363,367,368,369,371,400,402,404,407,409,412,413,414,415,437,439,515,516,523,525,527,528,529,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,167,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,283,284,285,292,525,526,531,533,582,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,281,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,352,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,167,178,315,338,340,341,342,343,344,350,351,582,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,161,178,277,315,330,362,363,364,400,401,402,407,415,416,422,425,427,437,439,516,523,525,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,292,299,312,415,426,516,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,178,284,287,402,420,525,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,441,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,352,423,424,434,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,525,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,448,450,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,369,402,515,533,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,161,326,330,401,407,422,425,429,525,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,299,312,330,430,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,283,325,432,515,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,178,344,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,296,324,325,326,335,352,431,433,515,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,271,369,436,531,533,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,399,437,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,161,178,287,298,299,312,322,323,358,362,363,364,368,400,401,402,404,416,417,419,421,437,439,515,516,523,524,525,533,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,167,299,422,428,434,525,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,302,303,304,305,306,307,308,309,310,311,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,353,408,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,410,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,408,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,410,411,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,287,290,320,321,528,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,161,282,284,322,367,368,369,370,398,437,525,529,531,533,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,161,178,286,321,370,402,448,516,524,528,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,443,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,444,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,385,415,493,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,445,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,314,318,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,287,314,322,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,317,318,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,319,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,314,315,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,314,365,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,314,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,353,406,524,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,405,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,315,523,524,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,403,524,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,315,523,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,493,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,287,316,322,369,385,402,436,439,442,448,455,456,486,487,489,492,515,525,528,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,378,381,383,384,393,394,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,274,275,276,488,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,85,90,135,274,275,276,488,491,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,502,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,294,357,369,436,439,453,461,465,495,496,497,498,500,501,504,515,522,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,393,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,398,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,398,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,322,366,371,395,397,436,525,531,533,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,378,379,380,381,383,384,393,394,532,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,161,178,271,314,315,323,368,369,402,434,435,437,515,516,525,527,528,531,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,357,359,362,516,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,353,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,356,453,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,355,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,357,358,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,354,356,527,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,150,286,357,359,360,361,527,528,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,385,392,523,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,279,280,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,284,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,382,523,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,271,368,369,531,533,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,284,553,554,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,377,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,161,178,282,337,372,374,376,533,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,296,523,528,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,418,523,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,148,150,161,281,282,332,377,531,532,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,272,273,531,577,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,266,267,268,269,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,140,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,327,328,329,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,327,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,150,152,161,185,269,272,273,274,276,277,282,323,429,473,529,530,533,577,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,541,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,543,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,545,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1832,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,547,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,549,550,551,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,555,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,270,535,540,542,544,546,548,552,556,558,568,569,571,580,581,582,583,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,557,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,567,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,374,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,570,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,134,135,357,359,360,362,572,573,574,577,578,579,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,185,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1638,1640,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1637,1638,1639,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1635,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1631,1632,1633,1636,1637,1638,1640,1641,1642,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1631,1635,1637,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1636,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1632,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1633,1636,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1632,1634,1635,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,611,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,610,611,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,610,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,610,611,612,618,619,622,623,624,625,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,611,619,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,610,611,612,618,619,620,621,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,610,619,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,619,623,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,611,612,613,617,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,612,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,610,611,619,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,185,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492,2498,2499,2500],[90,135,167,185,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492,2498],[90,135,167,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,628,629,630,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,627,631,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,631,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1769,1772,1773,1776,1777,1778,1779,1780,1781,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800,1801,1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2239,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2371,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2371,2372,2373,2376,2377,2378,2379,2380,2381,2382,2385,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2371,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2374,2375,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2369,2371,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2366,2367,2369,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2362,2365,2367,2369,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2366,2369,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2357,2358,2359,2362,2363,2364,2366,2367,2368,2369,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2359,2362,2363,2364,2365,2366,2367,2368,2369,2370,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2366,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2360,2366,2367,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2360,2361,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2365,2367,2368,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2365,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2357,2362,2367,2368,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2383,2384,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1823,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1820,1821,1822,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1964,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,608,609,633,639,646,1961,1963,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2397,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2395,2396,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1847,1849,1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,1860,1861,1862,1864,1865,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1848,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,1850,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1848,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1847,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1863,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1866,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2284,2285,2286,2302,2305,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2284,2285,2286,2295,2303,2323,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2283,2286,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2284,2285,2286,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2284,2285,2286,2321,2324,2327,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2284,2285,2286,2295,2302,2305,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2284,2285,2286,2295,2303,2315,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2284,2285,2286,2295,2305,2315,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2284,2285,2286,2295,2315,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2284,2285,2286,2290,2296,2302,2307,2325,2326,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2286,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2330,2331,2332,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2329,2330,2331,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2303,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2329,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2295,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2287,2288,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2288,2290,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2279,2280,2284,2285,2286,2287,2289,2290,2291,2292,2293,2294,2295,2296,2297,2298,2302,2303,2304,2305,2306,2307,2308,2309,2310,2311,2312,2313,2314,2316,2317,2318,2319,2320,2321,2322,2324,2325,2326,2327,2333,2334,2335,2336,2337,2338,2339,2340,2341,2342,2343,2344,2345,2346,2347,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2344,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2298,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2305,2309,2310,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2296,2298,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2301,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2324,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2286,2301,2328,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2289,2329,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[84,90,135,2283,2284,2285,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,651,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,609,633,650,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,608,609,633,637,638,639,646,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,603,609,633,637,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,655,656,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,609,633,655,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,647,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,608,609,633,639,645,646,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1961,1962,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,603,608,609,633,639,646,1933,1961,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,167,185,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,642,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,640,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,640,641,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,605,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,178,2413,2417,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,167,178,2413,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2408,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,175,178,2410,2413,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,155,175,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,185,2408,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,155,178,2410,2413,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,147,167,178,2405,2406,2409,2412,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2413,2420,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2405,2411,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2413,2434,2435,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,170,178,185,2409,2413,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,185,2434,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,185,2407,2408,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2413,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2407,2408,2409,2410,2411,2412,2413,2414,2415,2417,2418,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2433,2435,2436,2437,2438,2439,2440,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2413,2428,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2413,2420,2421,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2411,2413,2421,2422,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2412,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2405,2408,2413,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2413,2417,2421,2422,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2417,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,178,2411,2413,2416,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2405,2410,2413,2420,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,183,185,2408,2413,2434,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,97,100,103,104,135,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,100,135,167,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,100,104,135,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,94,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,98,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,96,97,100,135,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,94,135,185,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,96,100,135,155,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,91,92,93,95,99,135,147,167,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,100,108,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,92,98,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,100,124,125,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,92,95,100,135,170,178,185,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,100,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,96,100,135,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,91,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,94,95,96,98,99,100,101,102,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,127,128,129,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,100,117,120,135,143,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,100,108,109,110,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,98,100,109,111,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,99,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,92,94,100,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,100,104,109,111,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,104,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,98,100,103,135,178,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,92,96,100,108,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,100,117,135,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,94,100,124,135,170,183,185,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2463,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,603,607,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,599,603,604,606,608,639,646,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,600,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,601,602,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,599,601,603,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2282,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,2300,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1899,1903,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1899,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1900,1901,1902,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1437,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1428,1429,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1425,1426,1428,1430,1431,1436,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1426,1428,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1436,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1428,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1425,1426,1428,1431,1432,1433,1434,1435,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1425,1426,1427,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,262,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,253,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,253,256,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,248,251,253,254,255,256,257,258,259,260,261,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,187,189,256,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,253,254,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,188,253,255,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,189,191,193,194,195,196,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,191,193,195,196,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,191,193,195,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,188,191,193,194,196,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,187,189,190,191,192,193,194,195,196,197,198,248,249,250,251,252,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,187,189,190,193,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,189,190,193,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,193,196,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,187,188,190,191,192,194,195,196,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,187,188,189,193,253,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,193,194,195,196,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1111,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,195,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1591,1592,1594,1595,1596,1598,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1594,1595,1596,1597,1598,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,1591,1594,1595,1596,1598,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492],[90,135,593,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2454,2455,2461,2462,2464,2465,2466,2467,2468,2469,2473,2474,2475,2477,2478,2484,2485,2486,2487,2488,2489,2490,2491,2492]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"8bf8b5e44e3c9c36f98e1007e8b7018c0f38d8adc07aecef42f5200114547c70","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb5b19b86227ace1d29ea4cf81387279d04bb34051e944bc53df69f58914b788","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"87d9d29dbc745f182683f63187bf3d53fd8673e5fca38ad5eaab69798ed29fbc","impliedFormat":1},{"version":"472f5aab7edc498a0a761096e8e254c5bc3323d07a1e7f5f8b8ec0d6395b60a0","affectsGlobalScope":true,"impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"92d5369f7f9480aac66bbcd295c0b2d82077295c8bf0f0fe08fa3c3321225e49","impliedFormat":99},{"version":"878390f2f3d349610300c7603fb9dff16cfb92fcc6f5fc1f9b262e5bbd6479e5","impliedFormat":99},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0671b50bb99cc7ad46e9c68fa0e7f15ba4bc898b59c31a17ea4611fab5095da","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"e525f9e67f5ddba7b5548430211cae2479070b70ef1fd93550c96c10529457bd","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4bc0794175abedf989547e628949888c1085b1efcd93fc482bccd77ee27f8b7c","impliedFormat":1},{"version":"3c8e93af4d6ce21eb4c8d005ad6dc02e7b5e6781f429d52a35290210f495a674","impliedFormat":1},{"version":"2c9875466123715464539bfd69bcaccb8ff6f3e217809428e0d7bd6323416d01","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"6c8e442ba33b07892169a14f7757321e49ab0f1032d676d321a1fdab8a67d40c","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"1cd673d367293fc5cb31cd7bf03d598eb368e4f31f39cf2b908abbaf120ab85a","impliedFormat":1},{"version":"af13e99445f37022c730bfcafcdc1761e9382ce1ea02afb678e3130b01ce5676","impliedFormat":1},{"version":"3825bf209f1662dfd039010a27747b73d0ef379f79970b1d05601ec8e8a4249f","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"da52342062e70c77213e45107921100ba9f9b3a30dd019444cf349e5fb3470c4","impliedFormat":1},{"version":"e9ace91946385d29192766bf783b8460c7dbcbfc63284aa3c9cae6de5155c8bc","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"1e30c045732e7db8f7a82cf90b516ebe693d2f499ce2250a977ec0d12e44a529","impliedFormat":1},{"version":"84b736594d8760f43400202859cda55607663090a43445a078963031d47e25e7","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"78b29846349d4dfdd88bd6650cc5d2baaa67f2e89dc8a80c8e26ef7995386583","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"e38d4fdf79e1eadd92ed7844c331dbaa40f29f21541cfee4e1acff4db09cda33","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"7c10a32ae6f3962672e6869ee2c794e8055d8225ef35c91c0228e354b4e5d2d3","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"99f569b42ea7e7c5fe404b2848c0893f3e1a56e0547c1cd0f74d5dbb9a9de27e","impliedFormat":1},{"version":"f4b4faedc57701ae727d78ba4a83e466a6e3bdcbe40efbf913b17e860642897c","affectsGlobalScope":true,"impliedFormat":1},{"version":"bbcfd9cd76d92c3ee70475270156755346c9086391e1b9cb643d072e0cf576b8","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"003ec918ec442c3a4db2c36dc0c9c766977ea1c8bcc1ca7c2085868727c3d3f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"938f94db8400d0b479626b9006245a833d50ce8337f391085fad4af540279567","impliedFormat":1},{"version":"c4e8e8031808b158cfb5ac5c4b38d4a26659aec4b57b6a7e2ba0a141439c208c","impliedFormat":1},{"version":"2c91d8366ff2506296191c26fd97cc1990bab3ee22576275d28b654a21261a44","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"db39d9a16e4ddcd8a8f2b7b3292b362cc5392f92ad7ccd76f00bccf6838ac7de","affectsGlobalScope":true,"impliedFormat":1},{"version":"289e9894a4668c61b5ffed09e196c1f0c2f87ca81efcaebdf6357cfb198dac14","impliedFormat":1},{"version":"25a1105595236f09f5bce42398be9f9ededc8d538c258579ab662d509aa3b98e","impliedFormat":1},{"version":"5078cd62dbdf91ae8b1dc90b1384dec71a9c0932d62bdafb1a811d2a8e26bef2","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"62f572306e0b173cc5dfc4c583471151f16ef3779cf27ab96922c92ec82a3bc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"067bdd82d9768baddbdc8df51d85f7b96387c47176bf7f895d2e21e2b6b2f1f4","impliedFormat":1},{"version":"42d30e7d04915facc3ded22b4127c9f517973b4c2b1326e56c10ff70daf6800a","impliedFormat":1},{"version":"bd8b644c5861b94926687618ec2c9e60ad054d334d6b7eb4517f23f53cb11f91","impliedFormat":1},{"version":"bcbabfaca3f6b8a76cb2739e57710daf70ab5c9479ab70f5351c9b4932abf6bd","impliedFormat":1},{"version":"77fced47f495f4ff29bb49c52c605c5e73cd9b47d50080133783032769a9d8a6","impliedFormat":1},{"version":"55f370475031b3d36af8dd47fb3934dff02e0f1330d13f1977c9e676af5c2e70","impliedFormat":1},{"version":"c54f0b30a787b3df16280f4675bd3d9d17bf983ae3cd40087409476bc50b922d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0f5cda0282e1d18198e2887387eb2f026372ebc4e11c4e4516fef8a19ee4d514","impliedFormat":1},{"version":"e99b0e71f07128fc32583e88ccd509a1aaa9524c290efb2f48c22f9bf8ba83b1","impliedFormat":1},{"version":"76957a6d92b94b9e2852cf527fea32ad2dc0ef50f67fe2b14bd027c9ceef2d86","impliedFormat":1},{"version":"5e9f8c1e042b0f598a9be018fc8c3cb670fe579e9f2e18e3388b63327544fe16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8a99a5e6ed33c4a951b67cc1fd5b64fd6ad719f5747845c165ca12f6c21ba16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"70b57b5529051497e9f6482b76d91c0dcbb103d9ead8a0549f5bab8f65e5d031","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"1013eb2e2547ad8c100aca52ef9df8c3f209edee32bb387121bb3227f7c00088","impliedFormat":1},{"version":"e07c573ac1971ea89e2c56ff5fd096f6f7bba2e6dbcd5681d39257c8d954d4a8","impliedFormat":1},{"version":"363eedb495912790e867da6ff96e81bf792c8cfe386321e8163b71823a35719a","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"dba28a419aec76ed864ef43e5f577a5c99a010c32e5949fe4e17a4d57c58dd11","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea713aa14a670b1ea0fbaaca4fd204e645f71ca7653a834a8ec07ee889c45de6","impliedFormat":1},{"version":"1e080418e53f9b7a05db81ab517c4e1d71b7194ee26ddd54016bcef3ac474bd4","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"982efeb2573605d4e6d5df4dc7e40846bda8b9e678e058fc99522ab6165c479e","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"3b63610eaabadf26aadf51a563e4b2a8bf56eeaab1094f2a2b21509008eaef0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d5d50cd0667d9710d4d2f6e077cc4e0f9dc75e106cccaea59999b36873c5a0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"784490137935e1e38c49b9289110e74a1622baf8a8907888dcbe9e476d7c5e44","impliedFormat":1},{"version":"42180b657831d1b8fead051698618b31da623fb71ff37f002cb9d932cfa775f1","impliedFormat":1},{"version":"4f98d6fb4fe7cbeaa04635c6eaa119d966285d4d39f0eb55b2654187b0b27446","impliedFormat":1},{"version":"f8529fe0645fd9af7441191a4961497cc7638f75a777a56248eac6a079bb275d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4445f6ce6289c5b2220398138da23752fd84152c5c95bb8b58dedefc1758c036","impliedFormat":1},{"version":"a51f786b9f3c297668f8f322a6c58f85d84948ef69ade32069d5d63ec917221c","impliedFormat":1},{"version":"0c5f112b6d3377b9e8214d8920e1a69d8098b881d941f2ab3ca45234d13d68de","impliedFormat":1},{"version":"c1a2e05eb6d7ca8d7e4a7f4c93ccf0c2857e842a64c98eaee4d85841ee9855e6","impliedFormat":1},{"version":"835fb2909ce458740fb4a49fc61709896c6864f5ce3db7f0a88f06c720d74d02","impliedFormat":1},{"version":"6e5857f38aa297a859cab4ec891408659218a5a2610cd317b6dcbef9979459cc","impliedFormat":1},{"version":"ead8e39c2e11891f286b06ae2aa71f208b1802661fcdb2425cffa4f494a68854","impliedFormat":1},{"version":"82919acbb38870fcf5786ec1292f0f5afe490f9b3060123e48675831bd947192","impliedFormat":1},{"version":"e222701788ec77bd57c28facbbd142eadf5c749a74d586bc2f317db7e33544b1","impliedFormat":1},{"version":"09154713fae0ed7befacdad783e5bd1970c06fc41a5f866f7f933b96312ce764","impliedFormat":1},{"version":"8d67b13da77316a8a2fabc21d340866ddf8a4b99e76a6c951cc45189142df652","impliedFormat":1},{"version":"a91c8d28d10fee7fe717ddf3743f287b68770c813c98f796b6e38d5d164bd459","impliedFormat":1},{"version":"68add36d9632bc096d7245d24d6b0b8ad5f125183016102a3dad4c9c2438ccb0","impliedFormat":1},{"version":"3a819c2928ee06bbcc84e2797fd3558ae2ebb7e0ed8d87f71732fb2e2acc87b4","impliedFormat":1},{"version":"f6f827cd43e92685f194002d6b52a9408309cda1cec46fb7ca8489a95cbd2fd4","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"a270a1a893d1aee5a3c1c8c276cd2778aa970a2741ee2ccf29cc3210d7da80f5","impliedFormat":1},{"version":"add0ce7b77ba5b308492fa68f77f24d1ed1d9148534bdf05ac17c30763fc1a79","impliedFormat":1},{"version":"8926594ee895917e90701d8cbb5fdf77fc238b266ac540f929c7253f8ad6233d","impliedFormat":1},{"version":"2f67911e4bf4e0717dc2ded248ce2d5e4398d945ee13889a6852c1233ea41508","impliedFormat":1},{"version":"d8430c275b0f59417ea8e173cfb888a4477b430ec35b595bf734f3ec7a7d729f","impliedFormat":1},{"version":"69364df1c776372d7df1fb46a6cb3a6bf7f55e700f533a104e3f9d70a32bec18","impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"5a3bd57ed7a9d9afef74c75f77fce79ba3c786401af9810cdf45907c4e93f30e","impliedFormat":1},{"version":"ed8763205f02fb65e84eff7432155258df7f93b7d938f01785cb447d043d53f3","impliedFormat":1},{"version":"30db853bb2e60170ba11e39ab48bacecb32d06d4def89eedf17e58ebab762a65","impliedFormat":1},{"version":"e27451b24234dfed45f6cf22112a04955183a99c42a2691fb4936d63cfe42761","impliedFormat":1},{"version":"2316301dd223d31962d917999acf8e543e0119c5d24ec984c9f22cb23247160c","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"d4a5b1d2ff02c37643e18db302488cd64c342b00e2786e65caac4e12bda9219b","impliedFormat":1},{"version":"29f823cbe0166e10e7176a94afe609a24b9e5af3858628c541ff8ce1727023cd","impliedFormat":1},"108d357ffaa6137eaa9a61814c6efb04d0e5e06bd5b8cd9dc92f94bdbe291df3",{"version":"151da46be65068c00e99f52ee3e47f2a9d7764357d9abc2d874fa6fc5aa6acb2","signature":"e3fd68af9446c93814ce312dbdd1c5bbad5341e324f7acbf2e9d08a8f46b30e1"},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"3609e455ffcba8176c8ce0aa57f8258fe10cf03987e27f1fab68f702b4426521","impliedFormat":1},{"version":"d1bd4e51810d159899aad1660ccb859da54e27e08b8c9862b40cd36c1d9ff00f","impliedFormat":1},{"version":"17ed71200119e86ccef2d96b73b02ce8854b76ad6bd21b5021d4269bec527b5f","impliedFormat":1},{"version":"1cfa8647d7d71cb03847d616bd79320abfc01ddea082a49569fda71ac5ece66b","impliedFormat":1},{"version":"bb7a61dd55dc4b9422d13da3a6bb9cc5e89be888ef23bbcf6558aa9726b89a1c","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"5c9b31919ea1cb350a7ae5e71c9ced8f11723e4fa258a8cc8d16ae46edd623c7","impliedFormat":1},{"version":"4aa42ce8383b45823b3a1d3811c0fdd5f939f90254bc4874124393febbaf89f6","impliedFormat":1},{"version":"96ffa70b486207241c0fcedb5d9553684f7fa6746bc2b04c519e7ebf41a51205","impliedFormat":1},{"version":"5c24c66b3ba29ce9f2a79c719967e6e944131352a117a0bc43fa5b346b5562b3","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f4625edcb57b37b84506e8b276eb59ca30d31f88c6656d29d4e90e3bc58e69df","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"c685d9f68c70fe11ce527287526585a06ea13920bb6c18482ca84945a4e433a7","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"4e01846df98d478a2a626ec3641524964b38acaac13945c2db198bf9f3df22ee","impliedFormat":1},{"version":"678d6d4c43e5728bf66e92fc2269da9fa709cb60510fed988a27161473c3853f","impliedFormat":1},{"version":"ffa495b17a5ef1d0399586b590bd281056cee6ce3583e34f39926f8dcc6ecdb5","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"e2a37ac938c4bede5bb284b9d2d042da299528f1e61f6f57538f1bd37d760869","impliedFormat":1},{"version":"76def37aff8e3a051cf406e10340ffba0f28b6991c5d987474cc11137796e1eb","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"bfb7f8475428637bee12bdd31bd9968c1c8a1cc2c3e426c959e2f3a307f8936f","impliedFormat":1},{"version":"6f491d0108927478d3247bbbc489c78c2da7ef552fd5277f1ab6819986fdf0b1","impliedFormat":1},{"version":"0d8f2b8781c721170b87a6b662b3cb038fd1a721165ecca390352c818d425872","impliedFormat":1},{"version":"7cb0ee103671d1e201cd53dda12bc1cd0a35f1c63d6102720c6eeb322cb8e17e","impliedFormat":1},{"version":"15a234e5031b19c48a69ccc1607522d6e4b50f57d308ecb7fe863d44cd9f9eb3","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"05c97cddbaf99978f83d96de2d8af86aded9332592f08ce4a284d72d0952c391","impliedFormat":1},{"version":"72179f9dd22a86deaad4cc3490eb0fe69ee084d503b686985965654013f1391b","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"7b6ff760c8a240b40dab6e4419b989f06a5b782f4710d2967e67c695ef3e93c4","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"803cd2aaf1921c218916c2c7ee3fce653e852d767177eb51047ff15b5b253893","impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"7ab12b2f1249187223d11a589f5789c75177a0b597b9eb7f8e2e42d045393347","impliedFormat":1},{"version":"ad37fb4be61c1035b68f532b7220f4e8236cf245381ce3b90ac15449ecfe7305","impliedFormat":1},{"version":"93436bd74c66baba229bfefe1314d122c01f0d4c1d9e35081a0c4f0470ac1a6c","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"50b5bc34ce6b12eccb76214b51aadfa56572aa6cc79c2b9455cdbb3d6c76af1d","impliedFormat":1},{"version":"b7e16ef7f646a50991119b205794ebfd3a4d8f8e0f314981ebbe991639023d0e","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"6e9082e91370de5040e415cd9f24e595b490382e8c7402c4e938a8ce4bccc99f","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"12d218a49dbe5655b911e6cc3c13b2c655e4c783471c3b0432137769c79e1b3c","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"6b0fc04121360f752d196ba35b6567192f422d04a97b2840d7d85f8b79921c92","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"42b81043b00ff27c6bd955aea0f6e741545f2265978bf364b614702b72a027ab","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"97e5ccc7bb88419005cbdf812243a5b3186cdef81b608540acabe1be163fc3e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"6b3453eebd474cc8acf6d759f1668e6ce7425a565e2996a20b644c72916ecf75","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"89cd3444e389e42c56fd0d072afef31387e7f4107651afd2c03950f22dc36f77","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"e39a304f882598138a8022106cb8de332abbbb87f3fee71c5ca6b525c11c51fc","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"fcdf3e40e4a01b9a4b70931b8b51476b210c511924fcfe3f0dae19c4d52f1a54","impliedFormat":1},{"version":"345c4327b637d34a15aba4b7091eb068d6ab40a3dedaab9f00986253c9704e53","impliedFormat":1},{"version":"3a788c7fb7b1b1153d69a4d1d9e1d0dfbcf1127e703bdb02b6d12698e683d1fb","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"4805f6161c2c8cefb8d3b8bd96a080c0fe8dbc9315f6ad2e53238f9a79e528a6","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"2b5b70d7782fe028487a80a1c214e67bd610532b9f978b78fa60f5b4a359f77e","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"162e071992b34bc36ca257d629547f93cb43728d6fe073ad18a237e4f7c52d7d","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"7e6ac205dcb9714f708354fd863bffa45cee90740706cc64b3b39b23ebb84744","impliedFormat":1},{"version":"61dc6e3ac78d64aa864eedd0a208b97b5887cc99c5ba65c03287bf57d83b1eb9","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"8baa8dbdc393e3c6b26e8e31384b938756ce2effdc126648d43e58291ce9869b","impliedFormat":1},{"version":"933aee906d42ea2c53b6892192a8127745f2ec81a90695df4024308ba35a8ff4","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"985153f0deb9b4391110331a2f0c114019dbea90cba5ca68a4107700796e0d75","impliedFormat":1},{"version":"a3e3f0efcae272ab8ee3298e4e819f7d9dd9ff411101f45444877e77cfeca9a4","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"58659b06d33fa430bee1105b75cf876c0a35b2567207487c8578aec51ca2d977","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"30e6520444df1a004f46fdc8096f3fe06f7bbd93d09c53ada9dcdde59919ccca","impliedFormat":1},{"version":"6c800b281b9e89e69165fd11536195488de3ff53004e55905e6c0059a2d8591e","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"a58beefce74db00dbb60eb5a4bb0c6726fb94c7797c721f629142c0ae9c94306","impliedFormat":1},{"version":"41eeb453ccb75c5b2c3abef97adbbd741bd7e9112a2510e12f03f646dc9ad13d","impliedFormat":1},{"version":"502fa5863df08b806dbf33c54bee8c19f7e2ad466785c0fc35465d7c5ff80995","impliedFormat":1},{"version":"c91a2d08601a1547ffef326201be26db94356f38693bb18db622ae5e9b3d7c92","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"8b4b8ebc2d99ae651c5c4169ee8b24e2b0e02a3dfaef84e357d677b663c18fdf","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"ad10d4f0517599cdeca7755b930f148804e3e0e5b5a3847adce0f1f71bbccd74","impliedFormat":1},{"version":"1042064ece5bb47d6aba91648fbe0635c17c600ebdf567588b4ca715602f0a9d","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"55095860901097726220b6923e35a812afdd49242a1246d7b0942ee7eb34c6e4","impliedFormat":1},{"version":"96171c03c2e7f314d66d38acd581f9667439845865b7f85da8df598ff9617476","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"d193c8a86144b3a87b22bc1f5534b9c3e0f5a187873ec337c289a183973a58fe","impliedFormat":1},{"version":"1a6e6ba8a07b74e3ad237717c0299d453f9ceb795dbc2f697d1f2dd07cb782d2","impliedFormat":1},{"version":"58d70c38037fc0f949243388ff7ae20cf43321107152f14a9d36ca79311e0ada","impliedFormat":1},{"version":"f56bdc6884648806d34bc66d31cdb787c4718d04105ce2cd88535db214631f82","impliedFormat":1},{"version":"190da5eac6478d61ab9731ab2146fbc0164af2117a363013249b7e7992f1cccb","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"49f95e989b4632c6c2a578cc0078ee19a5831832d79cc59abecf5160ea71abad","impliedFormat":1},{"version":"9666533332f26e8995e4d6fe472bdeec9f15d405693723e6497bf94120c566c8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"8a8c64dafaba11c806efa56f5c69f611276471bef80a1db1f71316ec4168acef","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"d0a4cac61fa080f2be5ebb68b82726be835689b35994ba0e22e3ed4d2bc45e3b","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"2d7db1d73456e8c5075387d4240c29a2a900847f9c1bff106a2e490da8fbd457","impliedFormat":1},{"version":"2b15c805f48e4e970f8ec0b1915f22d13ca6212375e8987663e2ef5f0205e832","impliedFormat":1},{"version":"205a31b31beb7be73b8df18fcc43109cbc31f398950190a0967afc7a12cb478c","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"dba6c7006e14a98ec82999c6f89fbbbfd1c642f41db148535f3b77b8018829b8","impliedFormat":1},{"version":"7f897b285f22a57a5c4dc14a27da2747c01084a542b4d90d33897216dceeea2e","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"2ded4f930d6abfaa0625cf55e58f565b7cbd4ab5b574dd2cb19f0a83a2f0be8b","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"ca0f4d9068d652bad47e326cf6ba424ac71ab866e44b24ddb6c2bd82d129586a","affectsGlobalScope":true,"impliedFormat":1},{"version":"04d36005fcbeac741ac50c421181f4e0316d57d148d37cc321a8ea285472462b","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"05321b823dd3781d0b6aac8700bfdc0c9181d56479fe52ba6a40c9196fd661a8","impliedFormat":1},{"version":"736a8712572e21ee73337055ce15edb08142fc0f59cd5410af4466d04beff0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"a46dba563f70f32f9e45ae015f3de979225f668075d7a427f874e0f6db584991","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"02c4fc9e6bb27545fa021f6056e88ff5fdf10d9d9f1467f1d10536c6e749ac50","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"bd4131091b773973ca5d2326c60b789ab1f5e02d8843b3587effe6e1ea7c9d86","impliedFormat":1},{"version":"c7f6485931085bf010fbaf46880a9b9ec1a285ad9dc8c695a9e936f5a48f34b4","impliedFormat":1},{"version":"14f6b927888a1112d662877a5966b05ac1bf7ed25d6c84386db4c23c95a5363b","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"d24ff95760ea2dfcc7c57d0e269356984e7046b7e0b745c80fea71559f15bdd8","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"83fe880c090afe485a5c02262c0b7cdd76a299a50c48d9bde02be8e908fb4ae6","impliedFormat":1},{"version":"13c1b657932e827a7ed510395d94fc8b743b9d053ab95b7cd829b2bc46fb06db","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"6511e4503cf74c469c60aafd6589e4d14d5eb0a25f9bf043dcbecdf65f261972","impliedFormat":1},{"version":"078131f3a722a8ad3fc0b724cd3497176513cdcb41c80f96a3acbda2a143b58e","impliedFormat":1},{"version":"8c70ddc0c22d85e56011d49fddfaae3405eb53d47b59327b9dd589e82df672e7","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"9e155d2255348d950b1f65643fb26c0f14f5109daf8bd9ee24a866ad0a743648","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"7a883e9c84e720810f86ef4388f54938a65caa0f4d181a64e9255e847a7c9f51","impliedFormat":1},{"version":"a0ba218ac1baa3da0d5d9c1ec1a7c2f8676c284e6f5b920d6d049b13fa267377","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"d408d6f32de8d1aba2ff4a20f1aa6a6edd7d92c997f63b90f8ad3f9017cf5e46","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"221e915caef37c5cbaabd4946418f97dcc20591469e260732b31008321024dd8","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"371bf6127c1d427836de95197155132501cb6b69ef8709176ce6e0b85d059264","impliedFormat":1},{"version":"2bafd700e617d3693d568e972d02b92224b514781f542f70d497a8fdf92d52a2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5542d8a7ea13168cb573be0d1ba0d29460d59430fb12bb7bf4674efd5604e14c","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"a3f41ed1b4f2fc3049394b945a68ae4fdefd49fa1739c32f149d32c0545d67f5","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"b6c1f64158da02580f55e8a2728eda6805f79419aed46a930f43e68ad66a38fc","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"330896c1a2b9693edd617be24fbf9e5895d6e18c7955d6c08f028f272b37314d","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"4c0a1233155afb94bd4d7518c75c84f98567cd5f13fc215d258de196cdb40d91","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"a68d4b3182e8d776cdede7ac9630c209a7bfbb59191f99a52479151816ef9f9e","impliedFormat":99},{"version":"39644b343e4e3d748344af8182111e3bbc594930fff0170256567e13bbdbebb0","impliedFormat":99},{"version":"ed7fd5160b47b0de3b1571c5c5578e8e7e3314e33ae0b8ea85a895774ee64749","impliedFormat":99},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"8fac4a15690b27612d8474fb2fc7cc00388df52d169791b78d1a3645d60b4c8b","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},"7ad303e40d4fddf44f156129e397511953a71481c5cfd86b1862649aaaf240cc",{"version":"93cddca2ec6a5a8a1b942af0459cbd78d1b1b48e576cdabecc82811843a2cc28","impliedFormat":1},{"version":"8521ef2eafecd8a02a4aa7fb6e2d977537bcad7247fc4568553abfad801c26be","signature":"9c0eeb8de8dfdfb63ebcef09564c84ae1f6b6187c8e8e274fc5b0ee0a2c8432b"},{"version":"606779a35d17b249511fe72a5c66503ada20e0772cd31f165c35090ac06fde20","signature":"6bc2680fe9c4b4b45eba0548ae7aecb482332ce1a56d8bb250d324b82e31636a"},{"version":"170d4db14678c68178ee8a3d5a990d5afb759ecb6ec44dbd885c50f6da6204f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"5e76305d58bcdc924ff2bf14f6a9dc2aa5441ed06464b7e7bd039e611d66a89b","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},"32d33bdc36258d570964d03f51e4f47bd4dc829c238ec3304f1ae32a8fa54ad7",{"version":"62c99d5d7de97c4c8441cc86b8efb1bc5b3284faf70f96ea7fe704cc451a1c83","signature":"62bf6303f60d24103151b02e6b065fe77a22b261a6ed3cb62753327f8f150018"},{"version":"f6d772dde6a58aeaae92ee2b65e02caa315f621d79cac38e5df9b2e8f5249dbc","signature":"87b79fd569bcdf71c08547d45eceadfd769d52e070d3d55e6252790c232d47a6"},{"version":"0759a2bffadfe8f19d9f7693d6703f0dcb5f46aa3fadccac39d41f5052e85e8c","signature":"5f5303388c23daf221df682ba0e6ed13924ad3a925fae5ec71f4cdfb6adf1b79"},{"version":"0af499d2713aef4ec7966d400cfef65a44f757c731937d340d93db85710f2a1e","signature":"39104c0ab7ff0e8994a3da419b2ea6d46a7a9f67529e2d643bafad2d68f3f6ac"},{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"5c5d901a999dfe64746ef4244618ae0628ac8afdb07975e3d5ed66e33c767ed0","impliedFormat":99},{"version":"85d08536e6cd9787f82261674e7d566421a84d286679db1503432a6ccf9e9625","impliedFormat":99},{"version":"5702b3c2f5d248290ed99419d77ca1cc3e6c29db5847172377659c50e6303768","impliedFormat":99},{"version":"9764b2eb5b4fc0b8951468fb3dbd6cd922d7752343ef5fbf1a7cd3dfcd54a75e","impliedFormat":99},{"version":"1fc2d3fe8f31c52c802c4dee6c0157c5a1d1f6be44ece83c49174e316cf931ad","impliedFormat":99},{"version":"dc4aae103a0c812121d9db1f7a5ea98231801ed405bf577d1c9c46a893177e36","impliedFormat":99},{"version":"106d3f40907ba68d2ad8ce143a68358bad476e1cc4a5c710c11c7dbaac878308","impliedFormat":99},{"version":"42ad582d92b058b88570d5be95393cf0a6c09a29ba9aa44609465b41d39d2534","impliedFormat":99},{"version":"36e051a1e0d2f2a808dbb164d846be09b5d98e8b782b37922a3b75f57ee66698","impliedFormat":99},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"19990350fca066265b2c190c9b6cde1229f35002ea2d4df8c9e397e9942f6c89","impliedFormat":99},{"version":"8fb8fdda477cd7382477ffda92c2bb7d9f7ef583b1aa531eb6b2dc2f0a206c10","impliedFormat":99},{"version":"66995b0c991b5c5d42eff1d950733f85482c7419f7296ab8952e03718169e379","impliedFormat":99},{"version":"9863f888da357e35e013ca3465b794a490a198226bd8232c2f81fb44e16ff323","impliedFormat":99},{"version":"84bc2d80326a83ee4a6e7cba2fd480b86502660770c0e24da96535af597c9f1e","impliedFormat":99},{"version":"ea27768379b866ee3f5da2419650acdb01125479f7af73580a4bceb25b79e372","impliedFormat":99},{"version":"598931eeb4362542cae5845f95c5f0e45ac668925a40ce201e244d7fe808e965","impliedFormat":99},{"version":"da9ef88cde9f715756da642ad80c4cd87a987f465d325462d6bc2a0b11d202c8","impliedFormat":99},{"version":"b4c6184d78303b0816e779a48bef779b15aea4a66028eb819aac0abee8407dea","impliedFormat":99},{"version":"db085d2171d48938a99e851dafe0e486dce9859e5dfa73c21de5ed3d4d6fb0c5","impliedFormat":99},{"version":"62a3ad1ddd1f5974b3bf105680b3e09420f2230711d6520a521fab2be1a32838","impliedFormat":99},{"version":"a77be6fc44c876bc10c897107f84eaba10790913ebdcad40fcda7e47469b2160","impliedFormat":99},{"version":"06cf55b6da5cef54eaaf51cdc3d4e5ebf16adfdd9ebd20cec7fe719be9ced017","impliedFormat":99},{"version":"91f5dbcdb25d145a56cffe957ec665256827892d779ef108eb2f3864faff523b","impliedFormat":99},{"version":"052ba354bab8fb943e0bc05a0769f7b81d7c3b3c6cd0f5cfa53c7b2da2a525c5","impliedFormat":99},{"version":"927955a3de5857e0a1c575ced5a4245e74e6821d720ed213141347dd1870197f","impliedFormat":99},{"version":"fec804d54cd97dd77e956232fc37dc13f53e160d4bbeeb5489e86eeaa91f7ebd","impliedFormat":99},{"version":"2ccdfd33a753c18e8e5fe8a1eadefff968531d920bc9cdc7e4c97b0c6d3dcaf8","impliedFormat":99},{"version":"d64a434d7fb5040dbe7d5f4911145deda53e281b3f1887b9a610defd51b3c1a2","impliedFormat":99},{"version":"927f406568919fd7cd238ef7fe5e9c5e9ec826f1fff89830e480aff8cfd197da","impliedFormat":99},{"version":"a77d742410fe78bb054d325b690fda75459531db005b62ba0e9371c00163353c","impliedFormat":99},{"version":"f8de61dd3e3c4dc193bb341891d67d3979cb5523a57fcacaf46bf1e6284e6c35","impliedFormat":99},{"version":"43866c6355cd21476b3a5cf0dc422e8a56f7acf5010acf7d9c7ea296b3beed44","impliedFormat":99},{"version":"70a8c15739dae81bdd251aecfa667521beac1ca3d62d5510ef1d168367976efd","impliedFormat":99},{"version":"117fc7342e10087d11eea826713624c5ae6b2d886e4a4a592b1cb6a30e3a1eca","impliedFormat":99},{"version":"c9bb4f55c9b9f1942bd206cce9722107b1653236a2c3805a3ffc1b78e60129a7","impliedFormat":99},{"version":"fc610233291d35d0d2c3a0214f4a46d20ad989c74431b9b5d535141065890e41","impliedFormat":99},{"version":"09b7befce01ae33053c59bcdf1c66502af074023fae5a2729b8a0411e1b94788","impliedFormat":99},{"version":"add39e62eed912ab8defd0c6473b6a4d158e22b6343f960a96825924ac87621c","impliedFormat":99},{"version":"64cd32a60b0316be7adc86fad333ec9befbab241486ecf9b0e867b80acc7e9f1","impliedFormat":99},{"version":"a65735a086ae8b401c1c41b51b41546532670c919fd2cedc1606fd186fcee2d7","impliedFormat":99},{"version":"fe021dbde66bd0d6195d4116dcb4c257966ebc8cfba0f34441839415e9e913e1","impliedFormat":99},{"version":"d52a4b1cabee2c94ed18c741c480a45dd9fed32477dd94a9cc8630a8bc263426","impliedFormat":99},{"version":"d059a52684789e6ef30f8052244cb7c52fb786e4066ac415c50642174cc76d14","impliedFormat":99},{"version":"addca1bb7478ebc3f1c67b710755acc945329875207a3c9befd6b5cbcab12574","impliedFormat":99},{"version":"50b565f4771b6b150cbf3ae31eb815c31f15e2e0f45518958a5f4348a1a01660","impliedFormat":99},{"version":"74958763e089797b627dae00e31679752826f7e91c0818e971be919dacb21c1b","impliedFormat":99},{"version":"2cab237ff67a4f114999005809e65fd586f7fdb56e253e1208cabea827df7e42","impliedFormat":99},{"version":"4e3ab6678655e507463a9bfa1aa39a4a5497fac4c75e5f7f7a16c0b7d001c34a","impliedFormat":99},{"version":"49766a3e83c44708ea1357fa410c309837f4420826a5e265e3fb81e0087c7025","impliedFormat":99},{"version":"9f9fba2db9bb11058b153cdede4ec4e3ceed37d51a18a2edfaf7dfbef0a2b241","impliedFormat":99},{"version":"7a8db4befe8f75591173ae1038856ef6ce3ecfee9e22f1b616779018a8779471","impliedFormat":99},{"version":"006ffd4a92ea7050298f50e44dcc03155b943454bb874c0a5a3ad7c8ae92a50b","impliedFormat":99},{"version":"e981c553d5f18821019546df17a5ade9e26316417279a4e478f28d72cfe6c6f8","impliedFormat":99},{"version":"4b29df4bba7b409b5fa9a8db9f4b672eed5ef80664ff09de5d11724aebc5a30b","impliedFormat":99},{"version":"f5282507ffe12947a832a8d9be748df429b3ef61454df95750fb72ff24108a68","impliedFormat":99},{"version":"22872735dfe76e24d30e89624385361d3d077c8d940257aea9b48d57839c906f","impliedFormat":99},{"version":"bd93deb5a61f121242eb17014a20254b517e411b7144769b2389cc56bb254c40","impliedFormat":99},{"version":"0574c7abba287242b2b56e75a37599682fa2ed3d24ff9cc1233a49fffef6cc81","signature":"2ac0937aa98b6c278485c2f01ea1f1a4407ea167fcc064ea361a3f64db054cac"},{"version":"bbcee7849113a4e4439c91e7b55712f1570ff7db4c760253d7693eb2b0541118","signature":"a6861a72bed1cae361b69956a9d680a181b9774d468210f4868ba9a4bd07610d"},{"version":"6e7eb495ef234ffb72dfed736d4526bb91f764e62c1c564b054403432cd523e2","impliedFormat":99},{"version":"767cfb1496df590e9132052dbf9d5a2ed4d7864823eafb4eafcc5f9569f3c152","impliedFormat":99},{"version":"b9f9f77327ef54fc055ab78fc6fc6c93b88410621fd9b2374bb956022018a62a","impliedFormat":99},{"version":"82147ff6ea10d9182855cb50ed6f28d36c1d4f54a792ec2173d42074225caa5d","impliedFormat":99},{"version":"aa015d746ff96c12818a7ad742e45f40bc6f72f4b7df2af0f7200dacfe0ca65e","impliedFormat":99},{"version":"01a6da71fc05a9195f334ab1092b3f4952b0f2e2c460ea55d206ef629309062d","impliedFormat":99},{"version":"66f0b814ca2e007985a604145f5d70793a9f66d2fc7d6c57b2e094c15b7eb83f","impliedFormat":99},{"version":"8d9b0d78ee11670d4caa429ce908ef681663d65e94dc1507b47d6eb44abf903d","impliedFormat":99},{"version":"888cd85dc7c3d5d1fe0c975a8a42387203a6040f6945d9e834044f4cdcaa7177","impliedFormat":99},{"version":"87783efceaa85da75752e808792e347efda30d7aa7d7a76e62398df4a86c31e5","impliedFormat":99},{"version":"6a8ab860d18807ef3ebcbba3c436ae6432640a8e9fd3b3e965d3b923d7ab1043","impliedFormat":99},{"version":"41560bfeef3407476ecbf1e87fe10ad8bb66493854c8810bf1475c1927e9509c","impliedFormat":99},{"version":"6832c3df6998885275fc6cd413f83aab3dfeac3b5b2d9ae0acc29707af0dfde6","impliedFormat":99},{"version":"c3367f21f12005ddb218db94e8f45502526a0c5934456492f39c6c4596b9aa25","impliedFormat":99},{"version":"85985824476f773241686f7b04c9983cef819dcdbea5a6564958898377cc3a50","impliedFormat":99},{"version":"0a0bd6b6fcd60d1165cee9bf6ef911a0d99508214386152d8f2e1e9ad6b0d61e","impliedFormat":99},{"version":"cdd20c5393a901a75302ba47d99425905028f9755c8469cc2641ed8cab9198e4","impliedFormat":99},{"version":"ad4d3582ba33d300a03f929ebc2a14239ab5e1f9aa8b555b4aa6533038ec20c0","impliedFormat":99},{"version":"73b50f5889069014a3063ace1a2ee649b8d64b5664302c10856a7a7ef4c8a404","impliedFormat":99},{"version":"a34c55195ac6e244b0d31f62f0c56545fc8a5e95fcb2b13e5e14fde434536dea","impliedFormat":99},{"version":"f72da096641226a5ab0556e1f4fec5406ac536194a3048d107a10a67e7b9addf","impliedFormat":99},{"version":"52d28c311133f70529f3e34c139fef3976b851b49390217059f743e927ac2aa7","impliedFormat":99},{"version":"6e998866598c2a811ededdb103763750fe3b763d9553ba9750ee8ed4085f6f03","impliedFormat":99},{"version":"e725c7b2ef6718b41be54c450d8983e346a923ecd54ec0d17f53fbfdff6bb11a","impliedFormat":99},{"version":"5b10dc5b06ad30df43ea4df39181eba3c68715af0fde9124fcc0943e40d50c92","impliedFormat":99},{"version":"2567af91666fc79d94fd70a25d7bd13ff340bea3bf677d096e3072c53d55e09f","impliedFormat":99},{"version":"0559c28b4b44c127446a6a528ad2ad5986153c17a667416fcc053f25af64f99d","impliedFormat":99},{"version":"c7ee05e266d06aa759dc6e3e1d6f9fdab337cc39cc3924496b2eb7e472f2f830","impliedFormat":99},{"version":"b06b851cd2fb5d33cfa6c4d12fcb4455898a4c270b20c87c8b119b945c64e1c1","impliedFormat":99},{"version":"a21c78c299f733901aeabd0d9c70115af96ba53c4703362e36acfd5cc32f2d26","impliedFormat":99},{"version":"93ccad407f8b531feeadff9a8337309643fb2b582d4960df8ca33963fe48e345","impliedFormat":99},{"version":"ac036d642dae91d521f48564b87903404bd5d25ea9adcdff3dcde7b34e8120ee","impliedFormat":99},{"version":"033de0ed908f278acc13eb5ad6e7c74ebd6eee9bb952a909b3408300bc0f2aac","impliedFormat":99},{"version":"26b5b5171b6239b01fc878b20a4c46fe6f30ab4c2600f6e0d75f17a0369310e9","impliedFormat":99},{"version":"ad3935c73e8fbcb9b36770aaa55edf61034a8128f434673f2e9770181c4cd517","impliedFormat":99},{"version":"ae46e99d567b4f131dedd3bda872f86836aff70d37a80c7ebc2469cc7ad774ca","impliedFormat":99},{"version":"805544b983979e4ba24049f35b59f1155470c38298c9bf64520d2ba602289d00","impliedFormat":99},{"version":"f8281fad02736e3f7e2475b14bb15990b00b8358b5767a0e7dc3e774f9bf81e7","impliedFormat":99},{"version":"a380cd0a371b5b344c2f679a932593f02445571f9de0014bdf013dddf2a77376","impliedFormat":99},{"version":"dbbcd13911daafc1554acc17dad18ab92f91b5b8f084c6c4370cb8c60520c3b6","impliedFormat":99},{"version":"ab17464cd8391785c29509c629aa8477c8e86d4d3013f4c200b71ac574774ec2","impliedFormat":99},{"version":"b026daf5c00c8f2abdb49008322a7d51fbadcd7b200a99ee7a4452dbd40f0420","impliedFormat":99},{"version":"e130a73d7e1e34953b1964c17c218fd14fccd1df6f15f111352b0d53291311bb","impliedFormat":99},{"version":"4ddecad872558e2b3df434ef0b01114d245e7a18a86afa6e7b5c68e75f9b8f76","impliedFormat":99},{"version":"a0ab7a82c3f844d4d4798f68f7bd6dc304e9ad6130631c90a09fb2636cb62756","impliedFormat":99},{"version":"270ceb915b1304c042b6799de28ff212cfa4baf06900d3a8bc4b79f62f00c8a7","impliedFormat":99},{"version":"1b3174ea6e3b4ae157c88eb28bf8e6d67f044edc9c552daf5488628fd8e5be97","impliedFormat":99},{"version":"6564db88fa4cf3bae5c8e0de01c701c6228eaeef1118b4ad6a49a8aaf8556350","impliedFormat":99},{"version":"9c5a4a21ed5686b2ea080557488b966c3aeea641ef1aa8975a10e5fc59dd569f","impliedFormat":99},{"version":"5585ed538922e2e58655218652dcb262f08afa902f26f490cdec4967887ac31a","impliedFormat":99},{"version":"b46de7238d9d2243b27a21797e4772ba91465caae9c31f21dc43748dc9de9cd0","impliedFormat":99},{"version":"625fdbce788630c62f793cb6c80e0072ce0b8bf1d4d0a9922430671164371e0b","impliedFormat":99},{"version":"b6790300d245377671c085e76e9ef359b3cbba6821b913d6ce6b2739d00b9fb1","impliedFormat":99},{"version":"c92c9dc7415bf7969931ac5339f21c65687909b32d05ac89789b411372e52991","impliedFormat":99},{"version":"a36c717362d06d76e7332d9c1d2744c2c5e4b4a5da6218ef7b4a299a62d23a6d","impliedFormat":99},{"version":"a61f8455fd21cec75a8288cd761f5bcc72441848841eb64aa09569e9d8929ff0","impliedFormat":99},{"version":"b135437aa8444e851e10cb514b4a73141813e0adcfcc06d702df6aa0fd922587","impliedFormat":99},{"version":"cc82fa360f22d73b4cc7f446d08ad52b11f5aba66aa04b1ed8feb11a509e8aff","impliedFormat":99},{"version":"466e7296272b827c55b53a7858502de733733558966e2e3a7cc78274e930210a","impliedFormat":99},{"version":"364a5c527037fdd7d494ab0a97f510d3ceda30b8a4bc598b490c135f959ff3c6","impliedFormat":99},{"version":"f198de1cd91b94acc7f4d72cbccc11abadb1570bedc4ede174810e1f6985e06e","impliedFormat":99},{"version":"83d2dab980f2d1a2fe333f0001de8f42c831a438159d47b77c686ae405891b7f","impliedFormat":99},{"version":"ca369bcbdafc423d1a9dccd69de98044534900ff8236d2dd970b52438afb5355","impliedFormat":99},{"version":"5b90280e84e8eba347caaefc18210de3ce6ac176f5e82705a28e7f497dcc8689","impliedFormat":99},{"version":"34e2f00467aa6f46c1d7955f8d57bffb48ccc6ad2bbc847d0b1ccef1d55a9c3c","impliedFormat":99},{"version":"f09dfae4ff5f84c1341d74208e9b442659c32d039e9d27c09f79a203755e953d","impliedFormat":99},{"version":"e7878d8cd1fd0d0f1c55dcd8f5539f4c22e44993852f588dd194bd666b230727","impliedFormat":99},{"version":"0d22b18cb407b03331edf3413b93e568da71130c906fd69911090df2abf55414","impliedFormat":99},{"version":"2a39f2a7f99dba7a6ec561378d8a1f2e9d2761ac272a006777f78825822fc419","impliedFormat":99},{"version":"ddc0727ff009562bced85c9e7d55b29fb2a5ca23598350eb16299e57a3516a4a","impliedFormat":99},{"version":"b8fefeec475a9f1e78e1e5ae56f7fbc77ae5fb9b8494a8205360ad4b304a511e","impliedFormat":99},{"version":"fad5ca404b01ebde453f9cd5aa80353633878e7e1e1c22ad4a77fd841a49c922","impliedFormat":99},{"version":"64155a3d9cb589603d04c37f1327f91d640f9924c999d4f47284e7a5eec5cf55","impliedFormat":99},{"version":"b1727992696e552fb934bb72673da49085a9eef76050e748448c1e0c2568f63a","impliedFormat":99},{"version":"4eae6595d59a0967571e022dd63f99f3fcfe624e50e17cd26195412e16f22549","impliedFormat":99},{"version":"b62a3b99a2544eb853035484e4e1c71a7675ffc4a4e375fc3c6fa89450f61293","impliedFormat":99},{"version":"b9d571d39d729a623a60d6fb7318e49e41b32e94935ffda36103b43f7d824c5b","impliedFormat":99},{"version":"00f37073c33a43720d2e2236e4dcf43fda3d2113c66703a22a82c066415054e8","impliedFormat":99},{"version":"04bc73f52fd9447154bb396f89640f90434b084939ad22f16b42b2b967d21cde","impliedFormat":99},{"version":"2f6c7cc2633c2a3e4f51aaebe5f07efdfa04405697b7d31c8f7dc19997747521","impliedFormat":99},{"version":"abef69ad896a9e33bf221b4161d7eb3710c30c9cad6a7b6b053df043580a6f43","impliedFormat":99},{"version":"3e7761d82206ddf29dda7f2c1b169b205f4707e043eaf854fa3908dd7e5b0220","impliedFormat":99},{"version":"50ce52224dcdc3d9a431a5dd08f814c76e3cad3100f7a511cf9f0fea3e022245","impliedFormat":99},{"version":"7461a12eefe80a0dd858e8ddbfd3ee2af7627c64aae2c58f8cc3a1f1810a0300","impliedFormat":99},{"version":"d169dee8be7c5c62179b381a7d823d874b0c218604db989d25b8493e3ec932ca","impliedFormat":99},{"version":"26e23b6bbe7b0f8686e4374c69693b0925538608d3af66095fcd5a4debe99cb3","impliedFormat":99},{"version":"20d89ee7150b3ba09c98a1ed855b9dc55d0d883095cc010af0eeafbfe0b60cd8","impliedFormat":99},{"version":"cedfd67cfe921e49f0743aeefc7d93564d2fa7b34d3cf0860f3488ebc4e0e057","impliedFormat":99},{"version":"c048e95315c9725df4687c03b21980f12e9a3ec8c288db45233618f5ce685d27","impliedFormat":99},{"version":"754b10aa3bc061c937bec5e3d2f825e4211ec72ccb94f5aebaefb765ab80c56f","impliedFormat":99},{"version":"95f1648d8c0e1094e2375fb3531a4bad0a99adfc619832fec800fca6934095ce","impliedFormat":99},{"version":"c363c5eaab6f4ead856243f0734d0c320d3748ec777fda05484e17258b515cbe","impliedFormat":99},{"version":"e5bf7408d2d66195b132ae905b89f83d660dde24a588c3d1c43dc000bd5fcf71","impliedFormat":99},{"version":"b3bcacabc80b752dd496e7d154e4707b79e755d2e9d0547e402e6d3fa0326c9e","impliedFormat":99},{"version":"b11aba62a6d6eba8f5487182096d8615ca8d5d5b8a50c99bb0f0717ed7e061b2","impliedFormat":99},{"version":"761bd09a063914a0dddf95c6e9203d769487f1aea46a82ff1fd96cc0ede2d32f","impliedFormat":99},{"version":"cafe5ab7aa61b213d16cef121e65269dcda6607462c5762ef21124c1fb2d644f","impliedFormat":99},{"version":"7a43534274fe9532fee5414984708a56f0baaded902466c2eba2cbfc601ae20e","impliedFormat":99},{"version":"1cff175af3f1ff70546a36d9f2f118451df21e2d59bb837ea6b3cdefd5e2c7bf","impliedFormat":99},{"version":"1998b2e12b3de685ce74eab487748303705062861abe695beae5adb3092cfb98","impliedFormat":99},{"version":"11f999c38bd526002c0809a8157c366d032a0d46314d54c9724302140c5f32fd","impliedFormat":99},{"version":"607751697c8b64c78e2a3e89225a93cfd6a7f2c4399197d7c6f52f2a911d5522","impliedFormat":99},{"version":"c12bfbef4bf57182e240a916ae15d017defdec55d2920a4d08644563970b2036","impliedFormat":99},{"version":"1d7ad8c09354264ec80cf989015bd4bf232c356722d935c5ac38bbb83a6aafbb","impliedFormat":99},{"version":"6b821199f43755f7be315b84ede22b7e51fc91e98b01625cc0610042719cd0f7","impliedFormat":99},{"version":"4e8c57027a125d5d221b6f306eeff8443142bc9a0b1113c7c5de96478c388cc1","impliedFormat":99},{"version":"128dc4bc5697686aa6f876fd5ad6fae6d19a5652eca99f874b40a8afba6057d0","impliedFormat":99},{"version":"df09e59ace0cf7fd8e3c767b0b8f3d5b2212bd40d4e9dbf49a388526ead5e545","impliedFormat":99},{"version":"03fe713f6d3e69f47d4871545b2cd40e1f714b11e3945f6ab1e05361cad19192","impliedFormat":99},{"version":"25ea3ca113eb33c517ace8bd6555e8caf1c99d34dea7b3a48b074bdc5e7cc735","impliedFormat":99},{"version":"d5f83721da8ee61cd1620f0e4abc9d60453b4ef0b25945172bbd478ff6e3adcb","impliedFormat":99},{"version":"597536b4c8e7e309dd823f61206ff169ca90a3d68245343a5226a8d20f7a9ffd","impliedFormat":99},{"version":"cfed3c4118baa2ae69ec0da47b5fa722c49e5915c1cb7ffa8d5b53b678b641ca","impliedFormat":99},{"version":"3b5f9ed01add914f4bf2220544cdd4099583c2a72895b2ea495e9284be88b894","impliedFormat":99},{"version":"575425068684056c113b93ec316870eca50195835f04179630997e7b075164d4","impliedFormat":99},{"version":"aa0af7166f48f67765f96dc70c1d7f9f55ae264b96cadf5b6077b2bc0aa2b5dd","impliedFormat":99},{"version":"2fc9c7c6695b151ffd3ed667d6d793c2f656461978e840eff1d1350fc0bb1ebb","impliedFormat":99},{"version":"4d590f0e0b4abaf693f94d08b5c414928f2571aea5ac6efb97e4646e195dac48","impliedFormat":99},{"version":"bf1655c135bd654637f98f934f9a9eb4d6450194ca2f4968b79263608da59fdd","impliedFormat":99},{"version":"1ebe079cc9ed9ec4cd11d02c70f209caf16e9dd8e1e801a36648ce711bb3c404","impliedFormat":99},{"version":"b9a49ec04f7dac4bdcb928894d3c6bfc15a4ffee5f14d4b2bef69069de2b1d25","impliedFormat":99},{"version":"d2554dc921a526fc29600ef66da5d37577ce64557eaceebdb2b6170776051ffd","impliedFormat":99},{"version":"1fffc635777e6b7edc2caf5e8473fd161ba8fe5605ae84b64746a2a34045e6e3","impliedFormat":99},{"version":"f6f35852e407d4c04e578478e743c8101227037abd405ad71564e8430d4e4c1c","impliedFormat":99},{"version":"0e16f517285c960f284ff5367c239c24e20acfd3b3aced00d7842c7cd867898c","impliedFormat":99},{"version":"063929189f06ac3087123f98ce8736eea5c2a4cecbaa46c54b58118608fb8708","impliedFormat":99},{"version":"95e249a5d61382550bbf6341cb31a3114b0c10c232b0fbac97da74f83275dbab","impliedFormat":99},{"version":"34880c694bdb6f266bf484dbc60bd887890ab1c8d6807459fdf93f6ab0b0c792","impliedFormat":99},{"version":"d490c69a03b97298294b4d2159175f2f9b62a7dfcd81efc63ea3505c60fc0ac8","impliedFormat":99},{"version":"c0511c2a0a6ae726a66a0b25336fdc61c632c6c1505eb0bbbe1556055fd06919","impliedFormat":99},{"version":"bbd577f9d34a868d751e14a904401a6a026de322bd0f7cc7d51ecc585b57c6e6","impliedFormat":99},{"version":"e06f1dbc167fd37808d2f36aee8ef3bfae734d13fc4afcd9994072a30099df0b","impliedFormat":99},{"version":"7e0693b9604ff4fd358a2f21db90982fce11a4ff216eeae85e326f108d648d68","impliedFormat":99},{"version":"69d5a40440e664ec9493c61169414208472583f342346fb31dcbebad23c6a780","impliedFormat":99},{"version":"3d1efa91afa616c307864fa93f9e7777672bf90ac79c16936969efbc6629cbc1","impliedFormat":99},{"version":"722d99f854a33867a3397fe397924c0de326741e9d7830876481ccf87643a133","impliedFormat":99},{"version":"6ddebf5efb47d10d48d734f855b5cd13772de6d14b50779a17590afa30fcaefc","impliedFormat":99},{"version":"0c4e55d5ee917d3efca585b9eb138df9eb9cd38ec5a8ab258fc0e4fe8d54abd6","impliedFormat":99},{"version":"a41283ab6303ab1d21729da5723952e1b7d9d1bf379b9cce09132403f6f0f07d","impliedFormat":99},{"version":"1557f6fa35f1fc5d23911982761a7ddc4fbe9322eda575f6dadca8d5515e0cee","impliedFormat":99},{"version":"ded4768515ff723001ca99221ec8a7b751a4f90af8be95c885ec8a21efa548d4","impliedFormat":99},{"version":"86a6b6352a6a47fa8698f68119eb716ea951f541128d108382137e3d85900162","impliedFormat":99},{"version":"b9e6aa9de64cbd004d2c59ad79cff12a5d34406153456b869eae6b1d8f5bbb61","impliedFormat":99},{"version":"b864079910dbf273badc3367d21910e6f8887705defda6d51882084ef5b6ebb5","impliedFormat":99},{"version":"5e1fbca4c7648ff481cd7dda46ca8651239f4898bbed3d5066b8d6db0f60c555","impliedFormat":99},{"version":"0fd72d2cd43f9da04478aa6cbb922c27fda6b4a0ca7235aee8f6a933941bae92","impliedFormat":99},{"version":"28a5fc04797c6992303791a4b79ed99431bf2af90b77842948e3e8bc0f681d97","impliedFormat":99},{"version":"20a397ebeea68a193465caeb8f1b3225c49c6bdc4545a0ca6521fa684ef2fc5b","impliedFormat":99},{"version":"9edb51982e31faae66cef7076aacce409cab4637f0ec6e6851331fc87d9fa872","impliedFormat":99},{"version":"8a954a3b53672645d10a61e617272cd309bd7dc442f914427291ea8a2cb3c599","impliedFormat":99},{"version":"69e56ac933cbb0a62cbed3436a44068445460c3a246ae5b7b70e010dd3d8e0e5","impliedFormat":99},{"version":"dbafd3b17be2ca81493a6d6daf7afb6d04b83dd3b80c556ae5973e9a375aa6ff","impliedFormat":99},{"version":"8ea7264ce539f97f4720250a14695a1f82c3ac33ed66617991438cfb3d41947f","impliedFormat":99},{"version":"abf4fe7ebd8771a5c9d963754ae0c088c159e0e12ff77ed2e48f69d86ed50be5","impliedFormat":99},{"version":"050985cfd782bb62131bdc040cd444f65bbd35ca1b45e3eefde79ef713ddeb1b","impliedFormat":99},{"version":"cd935cd60191b79134684160cf08d5ab555512b7befd5f88b449681f7e037a3e","impliedFormat":99},{"version":"5e61341da5f93b211c8c11f6ca709a2dda33feded2cb3e1481d0b727aed23cd7","impliedFormat":99},{"version":"3df29fc79cceaa80012df2005f745c1b635a41dda0766ddd29ac8e078c4216f8","impliedFormat":99},{"version":"bb8aac29b972b3826d70b106373ed2600bfa8377ddd5672b0b5e256f361acfb9","impliedFormat":99},{"version":"721e984c6181cf2f1587226d11d2265f5bd1450da58e7598845ae15cee0465b4","impliedFormat":99},{"version":"bfa5dd71d432e277bbf3c44b3dd91db853fd833da21f43cc3a0a2dc324b7af47","impliedFormat":99},{"version":"987f95fafbf1296cd653459ac69b3a73cc4f7f37f38a1c769902bcaabd516452","impliedFormat":99},{"version":"5f3f4c3ea0ce78180d0482cfc808410092b441b727bee9a26d26ef09decb64c3","impliedFormat":99},{"version":"6b1c226b8c0d272c37948df86f81f100157b7cef9d97d2651f1d8e740a2be268","impliedFormat":99},{"version":"3e1e6a7a6e3d0615d046dd62062c557404c9e1c622dfbef4fa83d17c628e314a","impliedFormat":99},{"version":"ded6a76ae5fa6fc3f7f860a187f3b1c81b5bafb953be192501a937307dc739b9","impliedFormat":99},{"version":"8ee4717c4ad7d5976ab1bece799c68045b7b346e274d7774e86ff394cf867d47","impliedFormat":99},{"version":"a9e3299c6098d323bcd9787e2ac5e4d74457e5427c305ebd432e52ed13dd23c0","impliedFormat":99},{"version":"3b8ddc84907c11d89e5240f8299e87fe506a1c18764fb9d546b02f9e347f93e4","impliedFormat":99},{"version":"4b5186a238a3fbfeca1b14fe6b234b8bd5b93ac89a47984715f76f8919e29d96","impliedFormat":99},{"version":"dd693a36f441a1337e9a34b6da2cfdc53d7cd9dbf0d1cde334cab196c3e6f17a","impliedFormat":99},{"version":"e284b0d144003a25e3b7da92c55d80a085531c0c84a77a62f1a3e2bfe82454b1","impliedFormat":99},{"version":"e09a001b1588cde9f5e77560730c5ec6ea346ea09da2d65b3a02629e390d0923","impliedFormat":99},{"version":"77a38dc0e4afa289c6ceaf9121c7718fac9231904ff5f30c0c1201524fb25f23","impliedFormat":99},{"version":"2505ab6e616e35b2a63dcc8cafd3d6092c6e0109b206cec1be7d80cd450cfb7e","impliedFormat":99},{"version":"c2d66e86bd5f13ad098ddb98ab863bcf0d15b323cc9bce6ff56e20eb50648926","impliedFormat":99},{"version":"1959affb5ce54dd86a2bca9ba087da5a29fcd1849eb1710f1d6807512ac513d6","impliedFormat":99},{"version":"8ae1ca3c5186af2c3a6e979998c00c82a363d024ed26a8bcb84a6ef21878d4b4","impliedFormat":99},{"version":"05ec4ee3055f601ad3f932832a0b7fb5842fafa6d3a4f29b200c49e0c8d36bc4","impliedFormat":99},{"version":"cf0430d48488f45abbb7184e36b580c1933cc8078581c038583e16cdfa80863d","impliedFormat":99},{"version":"aeb0806490c71f371a75629556f469419997367aafa673ae2e86705652f39227","impliedFormat":99},{"version":"b445ce66b11750fb2172525591647d30b75ec8d003a93ee3efc12954ffb8d5ec","impliedFormat":99},{"version":"a36860808f7994a6ce2c965e11e7a971ae9b438422ffefe9471ed4f3ba3ef3f6","impliedFormat":99},{"version":"6335dfc1f7c285b25ca643890becb12d22fd24079624d91b660f31a3ef130f8a","impliedFormat":99},{"version":"e0e3a4eb638ceb6583ebfa8a83fb27d5ca98ba93ce00d396dd09d41630834a68","impliedFormat":99},{"version":"54927a5dc7fa2c1d7b8232c756d658d051f2c0620533c4048343e671d18c7983","impliedFormat":99},{"version":"8ff6d24bddad8f2bb8ac0ae129760dd1df427765f4f6199390347c0009ff9b48","impliedFormat":99},{"version":"25a0403b5a28416593fc09c3e5150e981c742afedf0b6e423f8a94f1351352c8","impliedFormat":99},{"version":"0db51b9c351d7c2313296e5879fbad8f20af8b9061885c8590ae0216ff6154a2","impliedFormat":99},{"version":"1c6454d7f733067337f1685a06c4981a78d1925ae0381bcd09f2c43b73755aaf","impliedFormat":99},{"version":"fa7cfbc437c87d93860a4a1304a12e8fa9a28a24695e1f4c36d266b4cbdf4e7b","impliedFormat":99},{"version":"4afe4410e572d10448fb1f7f254bc2eca329e00180e75529be8b22465718b2c4","impliedFormat":99},{"version":"6d57f0ab1e858b12895e1eca5e6f407a835c13038fadd5f85134740e6e32b613","impliedFormat":99},{"version":"5d6ef65ccf14b0d51af503adffccdbaa846848cf0fe82310816cf82eb364d107","impliedFormat":99},{"version":"397a17567b445fbeed01f58163c2b9667638ff815881f349cffec5ad30844905","impliedFormat":99},{"version":"4bbac0cdef9e2f41b2d70826633298df274436caf011a093bfc1bd57dd2269c1","impliedFormat":99},{"version":"38bc1e63328558fecd8e2c3f9159ded06a2fd86059b0a91e93f11aeebeb1f177","impliedFormat":99},{"version":"e4756baf25dba2f6660043ca4fc6e36ab8d31a0c34d507624d8a12cbe6ab9b30","impliedFormat":99},{"version":"4be799bfee1766047c11b3b5d371ca9e3993526d50c3e276e7cdb3943dd680a6","impliedFormat":99},{"version":"513f887178e2df3ea70340c20bffc633827c2f0a4e1340a4176eecb6d3c5a4e7","impliedFormat":99},{"version":"7b6ae8994d485350989d50cae27221f2d9929d60677b8c5de4ceb81baf480d3e","impliedFormat":99},{"version":"7adc87c8c1d3fdf85652694a636c6e032b7ea76335de7a110ffb215970d9b1f0","impliedFormat":99},{"version":"27f60ec60daf015ed0510587fd37d65818c085d47f320f03e2178e80ae1b96d2","impliedFormat":99},{"version":"69f868104a0f83fc97451cb143d1fdee65d6133442e585048983a8e27c6dd4be","impliedFormat":99},{"version":"a4fd1c983504d251988ad2e8629dc110228a591e1bc9f85e57b35895e8141cf3","impliedFormat":99},{"version":"8e82daa0bb799f366cfc646fcd65e507d3db4921082426dc45b78cedcb60f71c","impliedFormat":99},{"version":"a2f99636b48361b7e10c232cdeeb3aede976279f950b7f84e8b970471a0dc606","impliedFormat":99},{"version":"e31bcde9cdc47ff503a45bb8d68c38fd39039b06567c8017021f9116e31ecde2","impliedFormat":99},{"version":"bddecda3271cc5aaf904e94c2b65c23cb7528e27567ef31d1302bc8845374e56","impliedFormat":99},{"version":"23306c0e57b32fdf724bb0aba128d0023fd57b856490b1cd69bdc0de2acc334a","impliedFormat":99},{"version":"4df175087aed418f42fd5cf507c1f57f0972484cadbe0f6c38cabd0c6b3576ce","impliedFormat":99},{"version":"df51e368f1e65529fd132dd67c8312f21b644063ce7950e8b820905d70b28eb7","impliedFormat":99},{"version":"74d10836d7259d3a664ed517a3c8547003e1de056d85b8e324a11dbca522503e","impliedFormat":99},{"version":"b020142c9cb2c061e119c6ebc1712f2e66a68968657f4867332789688c706189","impliedFormat":99},{"version":"df08a61b7eb2b11b4e9c771cc3b538f3fc4260c170f8fd89110843323fac2ba2","impliedFormat":99},{"version":"acc1e28219b83d788ef0e28b8d7ff1f3a8fc7df6a49ec141402e044badc84108","impliedFormat":99},{"version":"3552e9ab64219d9d980f9406c354e620f04ca17944459d4b23c62d472d9be2dc","impliedFormat":99},{"version":"e9f94a086b52c2f522f2bc9ecf7539d7bffc390578cc41db9547005b93df5d88","impliedFormat":99},{"version":"a8f5b86c67a9c2774ccdd1db31968ad888fc41ad166a5d5d066dbe86637b2f66","impliedFormat":99},{"version":"5c25d35c4bbeabb961925d2b114602191800afb4d4f164e45979dd2c83f965c2","impliedFormat":99},{"version":"8b989bf267ff6ef7a00f318e95794bcefd06cda44f3cffde905ca579d17acad5","impliedFormat":99},{"version":"f3983ffdad35bf9234e36a691bf959934b723134c070fa5dffccffe046009e2f","impliedFormat":99},{"version":"2d8c69bb71790264bc61c5858afcfd00d5bd7bca6c9c38185f07896661053790","impliedFormat":99},{"version":"0396db572d4384fab79c5ad3b2cf330f167496da87da0e61a3f55e803f0fcc4b","impliedFormat":99},{"version":"9eb195a59362d107cf8f1d92d704fcd034bd92796f72cf031ad0525d88e36d4f","impliedFormat":99},{"version":"b60a1aeffa207842414020d16c86854f99bebff51832478b00451c1770fc9708","impliedFormat":99},{"version":"178ae1eaa5cd24618fec31c62ee6b66f5f57d76b075d9d8b34cc0db5543c0fec","impliedFormat":99},{"version":"4f31b5dbde1dcb81687ef4e06c2636809f6a0517615876bc937fa266f42e87b4","impliedFormat":99},{"version":"33d7dde5b3614d1f000ab11f9be2cb0f032615b726ca8537afc272db0b522a7e","impliedFormat":99},{"version":"97b8ea7292ec9f0828af2d58952ea17497a73943eaa0a2dd3046a4e07a530c61","impliedFormat":99},{"version":"ebba07507741f7d53d05cbb59a8dea0b3b75aba278810b4d2696776f95b779e1","impliedFormat":99},{"version":"5c840682cf2d211808e4f0dc5cd32da409352e8b3d11d7e9ba25c92796932cdf","impliedFormat":99},{"version":"f278958ac0fde187482abb825e61be120427e8aecb42a9155f0144767a29a358","impliedFormat":99},{"version":"cf35b9aa3b45b2098ec7033db87d004913ac7bf1ce52c9c8154fa86477e9046e","impliedFormat":99},{"version":"8002100726ad65ae695ef88b091b9c8cb73e024eaf23b31d228a5a8ce19af31f","impliedFormat":99},{"version":"f7a7233cef5a86a5c2c5e4dab11b46e0688707bd066a80aa5249e6cd6e0211f6","impliedFormat":99},{"version":"354126b46c623665e6aac86b6deb693dc43499dbd71bf655aa5f6bcd7753dae0","impliedFormat":99},{"version":"1f1d4396e7a118ba9e1f49f290b29d0aa946e91fc8180909b1d64b2998b08953","impliedFormat":99},{"version":"534f6fde91eb366097dbf65174356c88c2726d513c55f0f60b2098fc3f6e87ab","impliedFormat":99},{"version":"bc8d8ff31066bbfb937d223a528d545abfba45a0a646b141e2a15dd1948026e9","impliedFormat":99},{"version":"8a03c390eab5e99798e3d24c1d86a9b0ee851d315c0cb7480b42f6a49338d694","impliedFormat":99},{"version":"46b25c26bc3816d779c0353b3c1f6b83eeda1030b99401472a4341a9ab94138f","impliedFormat":99},{"version":"0ba4da683fe4d459827bca4e9c2befc46b9fe589353a08d874440dc6b1119df9","impliedFormat":99},{"version":"a5ed548aea7fdd435b68149641d20d0c823ae4341afc4c5c027d246a321e358b","impliedFormat":99},{"version":"c831a507ce1fa56d927c77b0296eaebbe63208dc2e10bea30ee19c19d3832ac9","impliedFormat":99},{"version":"0e0775f99d5750b8ea2409b6d5783ecb7465552176022512c4ab695e2cc07b25","impliedFormat":99},{"version":"998b22c2762b4c5dda982144f4273439478216601e1dbf607f8da50f90028302","impliedFormat":99},{"version":"de07059049dbb4d7b800fad4f5919c62c0c572d021f2cde9b4cb92d9d312464b","impliedFormat":99},{"version":"b006db5c3868f18e051c60c815dd8d18b42f0bd1f2a4732e8baab08e56443fa4","impliedFormat":99},{"version":"f6162b05c0a5b26d3446503c022652af632a803010319ff6c65ddb425c88c1da","impliedFormat":99},{"version":"ce99d9af9d4091b04b4c2266c06f38d7f39e5614616973e0d17f01a36212c516","impliedFormat":99},{"version":"d78d9cf92e8957b87ff73a5029aabd2f591a40f4b915af5566122824a328d451","impliedFormat":99},{"version":"afbf6dde412faa5825df13ab00b8eabe1358558603d6e4c34b4ff83c06128500","impliedFormat":99},{"version":"9468d74878264e4ed6214c0127326482d3d81d8b39c2ffb3ef0887348cfc116c","impliedFormat":99},{"version":"5d761b75b6780d20af311198f88e4a894243753acf28338ce7cc0cb1d5e3bfca","impliedFormat":99},{"version":"4c02021950d7f559417399582f74b4f23e7acf96bf4abfc8511ca9f349e7b090","impliedFormat":99},{"version":"f05da64b51a564bd57764011df409a699928b2b9e018a9692e06d5a3e761a8ae","impliedFormat":99},{"version":"448a1d960c3243442ffb6ddec7087a5dbd062a8b2fdbbc39f6ced3f5b7dd1cef","impliedFormat":99},{"version":"c01a88ada696e9f65a4dd8248bd9a568a3f1ce0c2eaa5e7f8696a2c3b3573654","impliedFormat":99},{"version":"6ca73337f9333cbe5e31c1e03fee42dfbdb119e7fdf991e8aa96767f4696d0b3","impliedFormat":99},{"version":"9235105279d1e63c87e3ea34fb6b20eb4968d7696c4783236a2d8ab5e924807f","impliedFormat":99},{"version":"fb3a41f5d7c41e4195119f98b0df0018e7e04a1b025d7b10ed82741f65c0493d","impliedFormat":99},{"version":"bf21257fb910b2a765ad8529cb457d0d9eb99d8d14ef01836bf04422c185f230","impliedFormat":99},{"version":"9dfbe916e48a8172cc0db07e20248214755205bbd16cd5bc0672dc2cbd80a429","impliedFormat":99},{"version":"cfb85bf0a694c3e0630400fdb2c1f135132b500c152aee6b9ae9d842637378f8","impliedFormat":99},{"version":"2067e20e971aec9f9c3b7a80aa3f2ce908fa690d29614956ab939d4137527d46","impliedFormat":99},{"version":"469bd9ff94e8ee2180eaa7be310e626022f4b97990e01fdee2cb681eadfca444","impliedFormat":99},{"version":"9199cfe666c63b59bfc7a0215ad7b834165e2c8678769aa29b6b15d4035dd874","impliedFormat":99},{"version":"75c20bb61d4944a90fd9fc4d79be814af84552497a30059d1f4a5979e338b576","impliedFormat":99},{"version":"e36d57187446a9b265d011815e80c5ac2d31cdd839e5dfed3cadbade9d63084d","impliedFormat":99},{"version":"ff94c04aacb366b85fa01b058ce27e3f2a26305e87a512b6472013f3951a7639","impliedFormat":99},{"version":"f28c4909885c804c93aabb9561ef520ff620576369eb310195a7a6bbb8d9e587","impliedFormat":99},{"version":"e971398a29ade533ddc2730c360a22672144389e077633fc950660f4c4d9d046","impliedFormat":99},{"version":"52677e8175f66b1d6b684e8249f7b12af8932267f0b2f363ab973fb94ee4d319","impliedFormat":99},{"version":"d1e84e4b4b53354c6333f50ae4337b96f1004f28875d3d7b3800cdf79b0ffd4c","impliedFormat":99},{"version":"a9f319a6a5287c95b72c37b461e0f70f490324cc4a55d71378e2a37f1ca67adc","impliedFormat":99},{"version":"df7c9a0919ac54bb69647b916261beffb40d84494f9cc3e68fc7927a79ccb64f","impliedFormat":99},{"version":"30a24fccfdf6a40249949b222a11c755421b9479bd68a96ee97413540443216b","impliedFormat":99},{"version":"da0ed328391d742978219a5ab07decbdcd353bbdbc87708a2176afa971056a3d","impliedFormat":99},{"version":"14a5746786128a83561f1d719290db89ed9b225e42959bbe0023112035a6e0a0","impliedFormat":99},{"version":"71db39385fc6c5eddb6cc70b1b68920b2aa06cd85ca4a95b1de585e127984881","impliedFormat":99},{"version":"c9f95e2f5326df254b2c867de54f7264763065fa4d29f5f9d10960d97352afcf","impliedFormat":99},{"version":"59e6446d76c9c7a1cf516435f942c5e122b3fa9c80d4962c4eeae63f3bb605af","impliedFormat":99},{"version":"ee28654c6c98fe6b359d34465dbe1f9798d1e7a6ed5ece29daf19de11cb8323e","impliedFormat":99},{"version":"68d524e37e75f230102cd0444befe3e17a8c85438060a552322e7e400519f2c3","impliedFormat":99},{"version":"282d6f2f2150a26e8c5cce93eaf68e829a8683171ba13e92ad7dc8b28a12c623","impliedFormat":99},{"version":"34b95fa727e92d0a2fbe45e37352127297aedd9af64e56dfb324ff1280517f3c","impliedFormat":99},{"version":"4d37c6842a01d7310940ed2d39cfd4a8d63e7676d1113070b3cd725131347844","impliedFormat":99},{"version":"38ccba9a0d7f301e4b590f7a52de8a8fb12e9edb1de6d7ede6a8843176abfd54","impliedFormat":99},{"version":"db4e72e734c0d11d2051dea52f678270eb423be4541e3c39ede40bd29e733484","impliedFormat":99},{"version":"b6fa5f1295afc4b3a9bbae107ea00d1fc37956f25b846338916cbb195515a4e2","impliedFormat":99},{"version":"4b3e07d081541bd9f0418c1963a44b02a65923b6de04d6ef7bfaab8e8b1087d7","impliedFormat":99},{"version":"438659c94886ae81435567673c83b61937048729da03385738a023174cbff051","impliedFormat":99},{"version":"63310e90fe40fb7a431b9ff640d54b70ef30d31b23a634890799569521cc2a02","impliedFormat":99},{"version":"911e8affa1bea9b54a8926ce39295e190ba3e5e36182c7808c3d657fbd77d705","impliedFormat":99},{"version":"02353129e38fd07cc487b5f822ac710ec117e43e479e9f9f8039418ed3291ff5","impliedFormat":99},{"version":"54bd44d1d220488406919d2ddbdb92cef690c8ebfe41d2cdc61a8aaf26d6396c","impliedFormat":99},{"version":"790d0cef4abbfedbde0ff29c9a1865d5ed8364e9e251e25bb13794d30c13ac4b","impliedFormat":99},{"version":"88f2b0ad065d1ff42736c1efeb0e14061b3091d9376c272672be3f27d167a152","impliedFormat":99},{"version":"81de941dc5851bd7ce1e8f81d4d31db1e035de774e571947f8d03b351fe9f764","impliedFormat":99},{"version":"fdc68f982f0c7b074e3787534a5137c3f9d746edc323efddde286931ceb9c954","impliedFormat":99},{"version":"be922b6a92064b78554dfbf46decbddf5a0b023f49a656a7865e17ab0bf710c8","impliedFormat":99},{"version":"609d27139ad9aa20641c466c993b2d8f8c413296ee814b1afd79f48bd809a0f6","impliedFormat":99},{"version":"176b071fba5783d15078411e7c0753d2a874dc0ba0bf334c402e358b59e78f54","affectsGlobalScope":true,"impliedFormat":99},{"version":"774d51ea5facd44ed191c2e420f2a0ab4da76a41905e8c1c3aa2a532ec340d97","impliedFormat":99},{"version":"2be23228f8822815f04418af4b3616f6c12d2e8310d3536537ca59c791fd71bd","impliedFormat":99},{"version":"3e9c9a37943e0f4c86e33e47c598a43f25117acf8fdf177e6ff5e0476e6d0cee","impliedFormat":99},{"version":"2c0b6ecefb1757ad6ce6d2414b3c268cb9092cff307f6794c75e27f7b1b3b358","impliedFormat":99},{"version":"10f2d3d9c642a1e734adad62f07866c3217b1f5f89f9f3f47d3fd6a295bef8d9","impliedFormat":99},{"version":"4894b371550ff623685722b8fc3064eec2a1353d0a4f7a4f46707b446d3cd607","impliedFormat":99},{"version":"1306e750b3d9089eddb926279035e88119bff73ba6d12bcd1ac3907eef2bc235","impliedFormat":99},{"version":"f97a6ead0f9c40bd2bf83cdae4aa47655aea300282afd44998180d9cf62b7d76","impliedFormat":99},{"version":"a5d1b10c57d14126c7a312e2bb28763c745a87c4f5c005ec6b9ad79aa16850ae","impliedFormat":99},{"version":"33b25938d78614b92778d270bde2c971ecd7f369ef6c990d13e247eb2c7882ad","impliedFormat":99},{"version":"ef325176a8c255a9a55bec7c23d6289c98b00ebfd67112bd4b915c679d721b1d","impliedFormat":99},{"version":"81c53ecba335a74d626d838f842eaa7cf84289776b413356bcd61560f07c9e51","impliedFormat":99},{"version":"47a102af679f68d61d7754dd8f133fab95c3cf7c2dc6674e70efd1b7b7c815ce","impliedFormat":99},{"version":"41931aa72d208139935cd9537c83679c6ca91fe69fd1bd8ec88bbe8e93fe2a2e","impliedFormat":99},{"version":"793014c8196d3044e2d425d7de6339e130a8f81136c5876e2e88e1b8279dbea5","impliedFormat":99},{"version":"7cfcb8c758cb502085d9128ba3ff999084cafd64b9b7c317f87fc85170d1282c","impliedFormat":99},{"version":"6d0b4092bc1fdd4843d9a4313b470b6b7773b5fb712545d6174fd4d703265ae3","impliedFormat":99},{"version":"b6e63e92b837071df07652d3f5632727214b713881c8416a133f7afa977d6e44","impliedFormat":99},{"version":"b09eefc95f09a9a9c61e4f2ed3c1e22069c703493f8e231bc76d3c6cf7ab1422","impliedFormat":99},{"version":"1b08cc33d8dedfa20adf4a779020ec36d494ab7ea503395c658c5e286a3b50e1","impliedFormat":99},{"version":"2c94d2217244dd31275ca5e404560c5c2105b5f06f8985d0f039f39caa1e9e30","impliedFormat":99},{"version":"e77d73e81f5824767db0df8bdb7b7c72cb1741d5fd74e099bfaa6369b8716491","impliedFormat":99},{"version":"077f88e83a13ea89300c26c39ca8ec3708bfd09a15464c71e2fd762708fbecea","impliedFormat":99},{"version":"fed7941cd69554080ce4abb7f4422dcca93a6021f27cc8d2986875ee2c6bb39e","impliedFormat":99},{"version":"774a6eb661aad32b5f9b73bf9d08af7f9204a4bc67a583494caf43fa09fb2af9","impliedFormat":99},{"version":"0c3d92e5fac4a662f12b04c12ca741b4f34a1bf2824a470414322ddb61b350bb","impliedFormat":99},{"version":"b2035f5bb429bbd282a7c947e80bd344ee948a4f7042a019271d3bd114d09afa","impliedFormat":99},{"version":"a4c05674bf833557741ebbcc3fa4a25ddd052e1c762a91037db94a2d7688ebbe","impliedFormat":99},{"version":"97006e8ef367bc2388ea292d7eb6cf471bd2b53d266642ef8284b66afe6d01bf","impliedFormat":99},{"version":"927c282fb88ca5c95a9aaea00175b56b0a6dc8728b246c9e0ec455de40d54fe9","impliedFormat":99},{"version":"7dac0babb2b88108fc5a5410aaf6fe6e59ef1e158e3b5283a990ea503ac3ea07","impliedFormat":99},{"version":"2f4620eeb98e884074a0ba924445a69b29654da70dcff2e3f84f58092741e6f7","impliedFormat":99},{"version":"669f1bc764b5fd840e483e123909aefdab8dc82c9aeadae194d75129fbba0b53","impliedFormat":99},{"version":"23769d3f0549de671a5ec795a8c2c6c4fd80c22af92348daa349073b65355fe8","impliedFormat":99},{"version":"774182677ec80bd5e58d287833ec21e02bcfccfdd20247780375691f201a0263","impliedFormat":99},{"version":"66bc333acb797d6c079d8830ef73bd4a34c4e1709e6a9d40bc20d5b92141d50d","impliedFormat":99},{"version":"92fe8e78ad5d9f9eca627b40cbc1fcfc095a230aba0911101d1c74f3ef77c32c","impliedFormat":99},{"version":"78dc76bd9afff09e5cea823d477657d25be9b0e1da7582df7df6e713abc6b7e0","impliedFormat":99},{"version":"651be876b03c705ac06a8cddd6ea90f635855d6312702a441e37b710d4291387","impliedFormat":99},{"version":"ae2d7f7735a249142233a5b9624baf7d1076c1b8e30bf6f9ed1f1f96641d368c","impliedFormat":99},{"version":"667514a0b45b9137a724df446646e49c6c5ff8e6c52b51faf7e7d97c07876339","impliedFormat":99},{"version":"dab36fd79d1c298c9252b588fff62da099aebd9b0987650f0268f0e580a6b8ea","impliedFormat":99},{"version":"24e34d276c6b1d5b38adc1a02ebca9d211154478cf875a3d175c12bd2473180d","impliedFormat":99},{"version":"2e7a903e7bad7e1053fd16172349f653b8e1f04b118fa6a0c94f03a05ce66ee8","impliedFormat":99},{"version":"a2b7e8befa2bec65d655a9205fe6ba2c6c313e8af050e0ec6878d667368b0370","impliedFormat":99},{"version":"1fdae95c93d7a258da7b02e50e7c4f4eb2041c4e8c86819c6bab35f1d3b33825","impliedFormat":99},{"version":"8c1eacab9cdc1a87e6142c96994b4679c81c9445557e14fdf3210352b7586209","impliedFormat":99},{"version":"05c811914dd75723518d9e11ab4e406bf49ea23b21ca4b0c014f529630cd6bfc","impliedFormat":99},{"version":"cfb373d580586808b221e2ec5555e381569bbcd65ed91abf6467235796e4011f","impliedFormat":99},{"version":"c01126bfe2cf99a27503a39cb9bd923760f43179322d9ee06640c2e329e00916","impliedFormat":99},{"version":"2b6cf5f7e4b87a9d212aa0b043a4e0203f75aa7a505457838c5c12ef3c5cccf8","impliedFormat":99},{"version":"e9214291673a507e06de72638d08cb77a5a83946ff371fe3118231fd14b66148","impliedFormat":99},{"version":"09949a01affc32445e16e0360269d2a7c3f925c2e67789934fbbaf5658669765","impliedFormat":99},{"version":"03d14a43dbd73bfea94b21aba29128157d81858018a543db71f27cd369903ca6","impliedFormat":99},{"version":"fbed6c54bdcfe0fe3fef66a9998b281f924c1c54813ad24af237cea18fab6f1e","impliedFormat":99},{"version":"469121354c88f9bcc57322407eb5d0d5b8a96cfeb9192494e8b46b2688126e2a","impliedFormat":99},{"version":"e75861934b956453abb77723352171ca00f00ab55e34502eedfe74fba7c6449f","impliedFormat":99},{"version":"450c3dc5526f8e73bba30f955e9e35e42076f82559e4f3ca733e30a99f608fb6","impliedFormat":99},{"version":"840457a9dca7071b074b79ec4bbb07e26daa4899b1939b3bfdffadca62fb157f","impliedFormat":99},{"version":"0bb96d1b7886f8348ee457c22db99c258f563e6e4371410c8c0137c54f8b6332","impliedFormat":99},{"version":"107dec9919e26cd898658841caac2186b3b10ca2e81ba0ecc9407ac989b0b860","impliedFormat":99},{"version":"a6f32c6ebdf43913196c351ed0152695f0d76dbe8226002e2d6654835e0cb685","impliedFormat":99},{"version":"8560d14dc193327f1792881dc467e70e73a74c0623d68adab861f0848619e6ea","impliedFormat":99},{"version":"469827f7ebcc9bea7ea42913b61d3570de20b823081cfa369e37f32f9b6578ce","impliedFormat":99},{"version":"d225636174c86016bb4902443c3cefb17ac3ad480aed999676848dc74df78751","impliedFormat":99},{"version":"ee10a6b8d4948616a923e953b40dd564d87f4c6c960353a4ab40f9ac5953508a","impliedFormat":99},{"version":"616f4301604d5263a177d9d378a417940ee51f4661dc970c446265139b3dc2d7","impliedFormat":99},{"version":"cc8621f4a86f09a9d63af2008516e3284fa8dee2da7ac3e010a7a344267e9fb9","impliedFormat":99},{"version":"318a5c102f218073bb58800a24742df255fef6b4b8b3ad82a0ce2169983331b4","impliedFormat":99},{"version":"88773471c8c8e81e190a0821424744c512320799e0e6596258751e8e7b573b02","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"b535fbac200d9abb725ff62adc9009598cbac617cf4c94c0111e37b956a51076","impliedFormat":99},{"version":"fe430799297f16036bee1fcf981c81b9c560f339dc87d703102f19347bca922c","impliedFormat":99},{"version":"8eb0d9018c369133b17adcb4eddc1bca329d3be6f82f8e00373b46315ba5a67d","impliedFormat":99},{"version":"dd89def02d5b8071facad4869deb42b2c3284880502ea4f46596606f380bcfef","impliedFormat":99},{"version":"82d5a2d180f3acffab13d4073bfc304cf30b551dd0b8c398f501a5547d0971e9","impliedFormat":99},{"version":"16dce5a31e379fc832306def780d9c7a66b611c9d5680c1d50f3872278afa987","impliedFormat":99},{"version":"8206bc99be58c7e6e541f75ba3ea281bc2e98630025e05eacf121a0312e94d2d","impliedFormat":99},{"version":"4504027d521a810f190f5a1fb6b6235db3e4fcfe4e383361e849157fd4017cc3","impliedFormat":99},{"version":"6cc22fc095dd4bfc296a2abddacf950b999c5ea21032c147d992c1e3bc9f2151","impliedFormat":99},{"version":"107fe9df1e4aa36cdb51032b4f51fe26eacbed9f9452c05b0ed145afb91dafbc","impliedFormat":99},{"version":"6f912d1d946525532c3537fecc0bffe9b2b25fc6b95087d00191b56403c64b02","impliedFormat":99},{"version":"d8d5640bc8ce5f5352324ebf9772c8052948e993f26b41267f78bb0570090367","impliedFormat":99},{"version":"399194d25a36f88cf475f80ae64aaab76f3c404055b582538aeb7888fbfb7aaf","impliedFormat":99},{"version":"334b8c2139f3f2b14517c68ad6e847669a58327d0401fb134480dda0826b21c6","impliedFormat":99},{"version":"646ef0e6b8a5dda70fea93b94c589512cf58b5a4f13ea8f2ad20b63a0207be8b","impliedFormat":99},{"version":"d51e1af504216f68350d001baef42b14de9aa2f8e287c9ff35aacb6c67460947","impliedFormat":99},{"version":"ab6dd1e3fdcc478cb81caef96c7047c2ec0811480f86f71be363baad015e4cd5","impliedFormat":99},{"version":"767cfb1496df590e9132052dbf9d5a2ed4d7864823eafb4eafcc5f9569f3c152","impliedFormat":99},{"version":"b9f9f77327ef54fc055ab78fc6fc6c93b88410621fd9b2374bb956022018a62a","impliedFormat":99},{"version":"82147ff6ea10d9182855cb50ed6f28d36c1d4f54a792ec2173d42074225caa5d","impliedFormat":99},{"version":"aa015d746ff96c12818a7ad742e45f40bc6f72f4b7df2af0f7200dacfe0ca65e","impliedFormat":99},{"version":"01a6da71fc05a9195f334ab1092b3f4952b0f2e2c460ea55d206ef629309062d","impliedFormat":99},{"version":"66f0b814ca2e007985a604145f5d70793a9f66d2fc7d6c57b2e094c15b7eb83f","impliedFormat":99},{"version":"8d9b0d78ee11670d4caa429ce908ef681663d65e94dc1507b47d6eb44abf903d","impliedFormat":99},{"version":"888cd85dc7c3d5d1fe0c975a8a42387203a6040f6945d9e834044f4cdcaa7177","impliedFormat":99},{"version":"87783efceaa85da75752e808792e347efda30d7aa7d7a76e62398df4a86c31e5","impliedFormat":99},{"version":"6a8ab860d18807ef3ebcbba3c436ae6432640a8e9fd3b3e965d3b923d7ab1043","impliedFormat":99},{"version":"41560bfeef3407476ecbf1e87fe10ad8bb66493854c8810bf1475c1927e9509c","impliedFormat":99},{"version":"92a57d4092fa036a6df221404a9263bb67c267aff1d0a9fc6912c720d06d5b2e","impliedFormat":99},{"version":"dbfa5e96e7827fcd26ad524c28d62238de9e58cadc28f347038aed618fdc7a7b","impliedFormat":99},{"version":"596bf741b2e8a7df8738e9210fc36bde96c4006d5737f11fad33c7e366ae40de","impliedFormat":99},{"version":"735ce9068435b7cddb5620d2f4dfa24b1d20914bbf1fb0cdae15e8c9fe946708","impliedFormat":99},{"version":"e1ee6eaef7fb5f2aeaecec5af531fde8e953f1e38b808a31edb1ed667433504a","impliedFormat":99},{"version":"5ee7350ef93ccadb9f50d4faff03ca3287a20daf94457baa7a06b1caccf9895e","impliedFormat":99},{"version":"e1faebf35150fefc223425ebfabb27ea35c8501e8a6cd886349ad4c224599228","impliedFormat":99},{"version":"d96d274e5284eba9927f58c163c0f76f9b42300b2acf690b088ba874bb7c7713","impliedFormat":99},{"version":"d1cb52c406810e8a61028dbddc1c76329a57641f274d85d923d031d6db5b698c","impliedFormat":99},{"version":"44778cc47965a17ca3ddc25b38b477c05412ebd7a11a2400a957de1449cdb5d6","impliedFormat":99},{"version":"090d14278c4f8bb64425275a537241ee6c2423eab2044305f324b7af9d27c539","impliedFormat":99},{"version":"64a821c22015703e99902dfb093bd189db8682b8f59245ee215c335a78b75a3b","impliedFormat":99},{"version":"20d994898c03bab9c60f1d2b8589cd85dbbb4ce8d01fbf13c9695f1b955be534","impliedFormat":99},{"version":"a1a34cf5ba4eea15a74e5333b365586e4054c972d5f1c86ea31d766fac26d22d","impliedFormat":99},{"version":"01541bebe87f69a3eb400ef26ce82339dee293774bf97a12a7d6e0a94b18d07b","impliedFormat":99},{"version":"74aac6d7662936f593c50c8cae13fbf2be2adc6b0f917f949a682e0ba7ba1036","impliedFormat":99},{"version":"6bafdd64b01c1e66f791cdafbd86ff49abf8580d65ae9cee39c2a01918ad2a72","impliedFormat":99},{"version":"343d92ebaf6b63a7a174fb434dd6123f9efc1c27a0e5e39b3c3a6d0bd571cef0","impliedFormat":99},{"version":"fd8a7776f01ed84c7299ecd56635a7c3a977bd2694b2fe1cf98c0e1d8938b7f2","impliedFormat":99},{"version":"5c58006a7bde1813224dc715df836b7f23d12440b65ab1eeaea20ba573b823b8","impliedFormat":99},{"version":"a6668aee0652306f94268fdb12eab4026eb77f177f48496a9df6ff4f2cc50706","impliedFormat":99},{"version":"d0b217bc167cb6d1873c1aedc1891c68c42a7ec55317bff8c52f60f33341021d","impliedFormat":99},{"version":"87547e2163fb58f4ec906f5c81a879e14d5079fb15d74839f841f458fc9caa90","impliedFormat":99},{"version":"db2ab0896701b2cd55281af7132029104263bee659904d65685c33f436bb1bbf","impliedFormat":99},{"version":"357484e7b33f0366b4d918e5623ea38c42e1b79093cf57b37fdd129f08f747b6","impliedFormat":99},{"version":"0ceaf0c8182145c000c6d6ac87d6293bfadc924a893de45515660f4459d29bc6","impliedFormat":99},{"version":"5adfe7cda513ac8ab76c9a42f5fe7dbfcc5f162ad8c0a65275f9dd6c8ed51e3b","impliedFormat":99},{"version":"df75e076d5e167de6a985cc2487779bf5e551430dcdf3b43aa7168391c42e7d3","impliedFormat":99},{"version":"3b794c3c657b91712aef51da5d1f1fa8e96278b7e0068b67c1e4e32dd39052e2","impliedFormat":99},{"version":"e5d521e00e91df030e7ef2db79294f97c3258f213cebac04fb1d7e545e036c92","impliedFormat":99},{"version":"a9c2beeda1479ab211a437d27da7170170f00c080dc0534a234e0f0bfd80d0e4","impliedFormat":99},{"version":"65186b1f46c6306bc4375f2ddf5e17b77213a5e9e0a701bcd901b1d2e46d01a6","impliedFormat":99},{"version":"44bce55aaf52d5b55fd0221a159717679b2b8a1965a31cbb282068c088fc14ec","impliedFormat":99},{"version":"a2577da4ebf625ac5e8d015e1b85a534f324aa42073e5de539b526c1b6ac9368","impliedFormat":99},{"version":"4f1653400fb4ef5c777b5a4ec0b5ba0367129d171259b942f30133bea639175a","impliedFormat":99},{"version":"2c2ea93c9df7a231c01de9ca95b681439ce7e008573432b8a37a634dbd3cd1f8","impliedFormat":99},{"version":"6b6859f495bcd50ae254bd5c0348ce161ab9dc64f315cc96a235c88027b255d5","impliedFormat":99},{"version":"2c0e2a9291d2ae42225fb79483e7ec328823bf9f1fb5d7c7cdae5761e66b91a9","impliedFormat":99},{"version":"fc518fafcc0f671ca4362205bce0d54efc6463b97e667fc1cfaa7e259766a4b2","impliedFormat":99},{"version":"3cdbe580c6d90224bc0bb9cc59101b786773d795a295818eeffad9e9e410618e","impliedFormat":99},{"version":"f13a0aad613324ade17df982376b78e0807cce490ddde44098e64a86be7408f0","impliedFormat":99},{"version":"55af2e7ea5c20ea6b77c6798aab8e6a6ba1af8f03b3ad5699f73e3432904473a","impliedFormat":99},{"version":"ca52b3f0d81184e1aa8ffc3c89e8f85cc0116461b9035bc7f0a137b40a1bf600","impliedFormat":99},{"version":"26a021aeb112c6b6a2f84cb8298586e7b88c82b2aaee38d5fed488b554768507","impliedFormat":99},{"version":"dc72c2a3d5a60b487b2afdee0fd30522c2ab395d5e95a9c61f20533c9e2052b9","impliedFormat":99},{"version":"a8fa80829673c4fe4be9c6bdd2375c74db979b85082001413bbfaa159253b84a","impliedFormat":99},{"version":"38f3aa240e10764cecc0dbb93d103740124aa6086d23d2dd242b27153a5e4954","impliedFormat":99},{"version":"11d819e69caa33068ad0ddb9424d7afc1c39abb48d342e3e1df7700bbffb8b88","impliedFormat":99},{"version":"d8bc0c5487582c6d887c32c92d8b4ffb23310146fcb1d82adf4b15c77f57c4ac","impliedFormat":1},{"version":"8cb31102790372bebfd78dd56d6752913b0f3e2cefbeb08375acd9f5ba737155","impliedFormat":1},{"version":"c6a7b7568c1e9ccd661e7e9a2219f3d41805d79f79d19687de1904edf975e7d5","impliedFormat":99},{"version":"d131d83d3a4f6a640c18169c05957ff4e96264b48fd5d4ef2a87aab682877488","impliedFormat":99},{"version":"e8929e15b0295c54e6a5d0a7f9516585de299b116a5efaefe57dfbe08167cf23","impliedFormat":99},{"version":"e2ffff11859a3c055c87837df65f1c079ca0baf72f7010a99b20229fa658e6fb","impliedFormat":99},{"version":"d25d1708b5c923d5f7b94d183dc7f746f921580b0f2a4fdd4e623882b98642ee","impliedFormat":99},{"version":"12d19496f25ecd6afef2094be494b3b0ae12c02bd631901f6da760c7540a5ec1","impliedFormat":1},{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"fbc610f9dde70f0bbea39eefec2e31ca1d99f715e9c71fb118bd2306a832bcb5","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"1d61288b34b2dd2029b85bc70fabbb1da90c2a370396d5df5f620e62eb47ddbe","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"43552100e757fad5a9bb5dabc0ea24ba3b6f2632eb1a4be8915da39d65e83e1c","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"3e4f06b464ef1654b91be02777d1773ccc5d43b53c1c8b0a9794ec224cfe8928","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"bcab57f5fe8791f2576249dfcc21a688ecf2a5929348cfe94bf3eb152cff8205","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"d010efe139c8bb78497dc7185dddbbcefc84d3059b5d8549c26221257818a961","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"879de92d0104d490be2f9571face192664ec9b45e87afd3f024dbbf18afb4399","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"b54890769fa3c34ab3eb7e315b474f52d5237c86c35f17d59eb21541e7078f11","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"913bbf31f6b3a7388b0c92c39aec4e2b5dba6711bf3b04d065bd80c85b6da007","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"da587bf084b08ea4e36a134ec5fb19ae71a0f32ec3ec2a22158029cb2b671e28","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"f89e713e33bfcc7cc1d505a1e76f260b7aae72f8ba83f800ab47b5db2fed8653","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"62e7bd567baa5bac0771297f45c78365918fb7ba7adba64013b32faa645e5d6d","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"7ee8d0a327359e4b13421db97c77a3264e76474d4ee7d1b1ca303a736060dbc6","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"f716500cce26a598e550ac0908723b9c452e0929738c55a3c7fe3c348416c3d0","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"07603bb68d27ff41499e4ed871cde4f6b4bb519c389dcf25d7f0256dfaa56554","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"946e34a494ec3237c2e2a3cb4320f5d678936845c0acf680b6358acf5ecc7a34","impliedFormat":99},{"version":"b85aa9cc05b0c2d32bec9a10c8329138d9297e3ab76d4dd321d6e08b767b33ed","impliedFormat":99},{"version":"b478cef88033c3b939a6b8a9076af57fc7030e7fd957557f82f2f57eddfc2b51","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"54c28c9fc4cae7c4fb9fb7e6245ebe1a405075c190cecd6d9c15d1882473a44e","signature":"369d0e3e9dfada71a1b6dd9ecef32b43ae570f0575996c2d2b71cddf58dd100f"},{"version":"6ad69e42f510ef065216c52cffc2c2f15cf24c20e6da1d622bd32c4123d31bec","signature":"a5c773a8b089f84882db294570016c3c8c314cb829d5dadf810b4b723f927958"},{"version":"d630aaa0315d21c1b78cad038ec90a89ccd4c3c04bcdcc6cca19253413dd41fa","signature":"7546981df71df0ba42aa669a52101937bc2df45aee792832ef26c0d0a2cbbd5d"},{"version":"853aa2acd51cd7300884c400532303bec106892146fbe0b64974bf4dfba845ab","impliedFormat":99},{"version":"5fd06addc09e3585eb52b0d8e731dd7ee79fe59e84f07279f80f5ff9772357ef","signature":"010c7c70c42e3ae1797dd61ea025f3dc9d0470f423be2e57583c6f2b41dbd54a"},{"version":"e64ad9a760a7a4d1fab99793776829d360a7ab34e7e7a0d20fe183c34fb71a11","signature":"a3df50373eaab5122c1384f66eac08aedf5505f13be691f57565e2dc852a3ea0"},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"bcf5edfb2b188348d16a7dd26c83a79856a7e81a7800051109d99aa211ef6947","impliedFormat":99},{"version":"6d870cbc76c9654c649c58dd664a875bab499e3e746b34ff2a6b6d363a3e0686","impliedFormat":99},{"version":"c1da3f540f39091e02624208125e7d825fe6839d153399c21315725acf0adbe1","impliedFormat":1},{"version":"91648eebacde37f34eace96a9d3f269875ae85331e70a4ffb89e76f0382338ae","impliedFormat":1},{"version":"b67aac762d89fc868d6560040d7e83b51fadf4471f7996060897c7344583db7f","signature":"1df7e07dee5c21c5473587ad884f55787fdadcd50af170a9010e7b0b0d795cef"},{"version":"384ef34eda1333e1bdcf728bb0b3cd3a4f67003d4bd1b117b8d2f74554dee0f0","signature":"4ce0f057e01df35065ac049ced53e5a4aff789db91a3f4e871f88bdd9921cc59"},{"version":"e1be4a2a139d2a99071ff9c81d7c3401a04612b032c16b4212a66e254c784217","impliedFormat":99},{"version":"86f417a032f112eef217852657f7dc939cfcb87f7770b0a85360ccc2cb14ce5c","signature":"193f3698143959625b77bab03ef64fae1876dda0ed7438f9da236b49a3b9b826"},{"version":"40eb4eb274d7def754b3352c23328af96a69261fe5e99d20df41f1d5de8d0f5e","impliedFormat":1},{"version":"c57b441e0c0a9cbdfa7d850dae1f8a387d6f81cbffbc3cd0465d530084c2417d","impliedFormat":99},{"version":"26c57c9f839e6d2048d6c25e81f805ba0ca32a28fd4d824399fd5456c9b0575b","impliedFormat":1},{"version":"02a523d3492e97440de9c080a59f3aa9366ca92bb6914078a75ae8a6f3e90a7f","signature":"512960c0e955a2324b34354dac25e3e4d431a1af4cd33077935eda5e95c8b7e1"},{"version":"37c7961117708394f64361ade31a41f96cef7f2a6606300821c72438dd4abda3","impliedFormat":1},{"version":"19feb8551285d9041090b2aac242de4089aa0abe3777a89ff9a804225e561832","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4553f8b822eb81601e9ff242bde19eebc440201e687161598c267892ee84bdf","affectsGlobalScope":true,"impliedFormat":1},{"version":"724dea86a503f9bdf755f5c628cea9de4a63aafdf0f6ca25db5e0172ddc0d883","impliedFormat":1},{"version":"39875f62f78dfcd829f2d38f7b06e8a8d5e39bbb9487abe63b81b41fe3b58c04","impliedFormat":1},{"version":"db9c5f6f63db334bd716569e5354ba232b4b10b7971b9ca57b4b7187b16d4ed5","impliedFormat":1},{"version":"0e139fd856b5953593d16dce2e9246ba9d2cfe0e0ea097e0f3f3c1f39abbdccf","signature":"d0fc15d80d4bd49eab0060e9013580bd40c3d09711b887c6f5b802727bc52630"},{"version":"e83039dc0b4cdf1b92e7c48cba8e00cf26a55db2541034edfe05481816cec202","signature":"a802ec5726974ae76675b9c3a9989a5b2a0cd765ed44124a5f1c8c1b549e17fb"},"e5a5e11a003b49f8b996a57718738f431f2f5c01ab28a866d1c58a9c936e7c8f",{"version":"69e94001c9bd657dc320a0fef9b5a3638e8e127fbee3680066162bce663a0264","signature":"b12f4a22f70ee31bce50622f528a1f7b5b0fe7ce991253ed7c428a748acab351"},{"version":"8da5668b646a09752f09e373a50c1c701037a4fceaed606fae523c436b839267","signature":"3ef125ce9c030718edbe5c69e42a585570b64d61401abea48f5fbfb159558d92"},{"version":"947791420ead2de787f21ccfe43e481460a829d8291533e1d2557a4786099320","signature":"3ffdd8285724697502c4e7e5431281ecd4d8abd99d3e74da01a9076a51711408"},{"version":"ad84aa2aa1f40cb360232de5dd042a167f3c6d9df230f5d45ba5682254a3ee6c","signature":"d0d0b3d9e3ac3534f4e3033589f51ec1ca8505d382dca6b15779c105c7bf9ad2"},{"version":"68ec28272a4f87e783345308c4de9f3e4c31a99bf7ac8a03526a984572f69090","signature":"67aaf9256efc2277f383e89582965e2f9929305c9591bc7092be3e63c3da38ab"},{"version":"5955c00fae6439e230605e2111c0a184753bcb0e204e7d33fd4f73cf1591810b","signature":"9303adb50b794e326768da0980356d1f9999b772876bdb7655701bd567b9db53"},{"version":"dd4c33c6803ee1fab2255ef6aea3c2956da2720b8709e522ccd4161df177af16","signature":"441ba5aac89d55a5b021b2e6a234685afb3b9e2bf0e3f7cfaf6a627552308cdd"},{"version":"fa64b85e3ce81da13ba42ec9a641c91b1c264f36c30f2f7be60c827edc11b523","signature":"dd653302ff9ac172b9efc43fb38a247b99a225a961f1927f59ac43bfa31267ad"},{"version":"fd4adbd0536ed2b88e46a0f9f99841df45a9604aceb6aae8a05f5b59891dbbb0","signature":"2eab959c5749eb603889c6fef43662efcfb14588b5b9fecc912d7eff57f5c11d"},{"version":"d6cf0453674a5d863e055009933dab639e33be1c24d1a498c88510d98aa1483c","signature":"c2b75a7a7fd1a8d6b4131da817f058f89f803d5a1bd71a2628fd8de5522c70f1"},{"version":"0fb1c7b4cd7af758a533dd15270781c84e971f4fd46cdce12aef8b08c09ad06c","signature":"41642e6c042c6a1848edd5954903ddf39a3e93ff3d982cfc52b70c8fdc86eab0"},{"version":"6c5039dee5f9e604c82bafc56889c35f72fa70acc3fc825e491ad5286f6194cd","signature":"854f41282a40dcd7ae4024bd9874935a496fe46d6de35de8f6be1336969ec17e"},{"version":"cf4f62163284ae3d8a7bfd0091e4068ff75dde1cf37cb6447a3411171481b0c8","signature":"0c1abfce570b9969f8bf7118b5dffe70ba43369adba22af3154d89c225ef7fb1"},{"version":"bf4f2229d74a2b8def938a43ddb324daf9b527d9a42d2b6f58b8df2de9b1998d","signature":"914ccf74f18ee798574084c10b93299703fe8e9118d7f3e0e7c0b1d97282db87"},{"version":"13ddffcc1f56698113dbae80fa0eb371b3e0e5b22a86cf351920eaa8c99f5a57","signature":"0cc9ff77c05295b47bff4b2c6d03595fd99b91876656601e9e085306a3d23b4a"},{"version":"d55dd647a31afd67af853f250f794285f3c84f8d934cc1bf24845216cca7d0d3","signature":"42293684b652c3bea06c01bd00da78aaf62776202058b63eec8f1f39c07efd3b"},{"version":"785e659603a3dc19f17ca340c4adcb46f1bfe2311280660d237f0292b3765d87","signature":"ec78ab3cf641624f7d2f7e135acf2c0f4ab0192f67f7ff0d6e1aba33135cecd2"},{"version":"7ea1cbc8f1d66cf4ca1f708ec360e364427adbaefaf4b78351164773fbe58931","signature":"c46ee4bea4e866697b8b78bddd73cc74f511b1fb73c7c434df209391242f85cb"},{"version":"c5779f1371a25486741e2e7772d8320d9a97647d3d6223b9268ca26820661deb","signature":"de63220978c0f91d9e9999976d75db3b610a07460c91b2c9b43b336402eb5a8c"},{"version":"26ef4c32b59e64c1f165ef465a9d47d92d4b63c947d35cd9f132a1bd72e9d7e9","signature":"3c15d8148ca08e01a7284719498e82573afd7a636d974b5ca7b7c567f34427eb"},{"version":"7c60a4c129dbadd911c2d0abaa3c9c0257671c149c5ede9dc885cf3f836c8c39","signature":"1802a255970ffaee6b86ab889a84e2cde4579f071136b20652d9d25920368443"},{"version":"3e1810144e96ab91710c57448594d0d1ba91db25d2146f3c25ffd3c234bef9d9","signature":"332ca7ff77a8ea6b6882dc20715d210def9a804f521c835f693af0de517529cd"},{"version":"9c96de243256bfed19f0a2a2654e37b385089a655783c0d183fb2af74272224e","signature":"0a2050b1a984eeeea3d252e307ab46255646e71838763fb2f42899d6e681caa6"},"8562116c7dc8f01afdf66dee0181a3a0c30b0aa7f3ca59bdfd3935073424c545",{"version":"f9b57b7d7f2a096ce89e8c5e81a725112bcd57642a5d87c2b08b756eb0539383","signature":"0cbe679a9a33573193531d1bf6b6f46a7d21b99f3c7a8e784d1d6ff8b58e1f4d","affectsGlobalScope":true},{"version":"0714ea0ae1ca5e03c1c8e289732488bd3cae7158a1bc4a24074e9d4efb356b42","signature":"55c2696a68a74e32d1fcd2f5a90dd84910ccfbb2aec83f8ffe8b16c2bff84062"},{"version":"2a7580f35d47293ca0e5d1857da35c023515de04501ed02149f5e30e63305db1","signature":"c7bd1b09f85b4bd8b214d205af65111db97c94fcdbbdaeda2cde274bb6c37b5e"},{"version":"672ae324228b7215afd251560a6c1a0943ae8f5fd7a5acb7413fd6ee3b248e23","signature":"2ed125a3f0181ed618ddd13c092f33d1cd22088bc57341fae51c51c87daed6d6"},{"version":"5e8447245195785ad68a25421055841e1f37224a163a94d416707f993fd7fe35","signature":"4697990787d82b43a7860b2815ec2c051ca83dc56288f2e90a7a6a32a145c277"},{"version":"b2df4c7a260ad9da5844b26291c9b8fd656bdc2023d9efbd87e2a74eadb65e8e","signature":"bfd1eb0cb29a18ac66194bba68306bff26536d499f48b78026721e0cb577ae0e"},{"version":"4c750ceb1795c8093bd5c62e434dec15db2ee657225c09e53dd8b053ffb30b12","signature":"0fda42aacca8f228d9d11a7248f7f38bd01e32abd159f5b2d60fe83954f1134b"},{"version":"484696ec6d899e5ae44ace4da931d8e57468c8b8c58bd874ba268ee176f02442","signature":"3f9f60ee24518eeb21de0b3437c092d9c25140412e60d61325f688fc976a56d6"},{"version":"bebc21fd5e8ca60f720bf114bd6a3e6cf2f0f28f34a6fea0abb50641aede2d99","signature":"42bf37bf6d38942111f166530e8f47c5946106c1dd1445cbd6f38891d04bece2"},{"version":"2ba7d8cd1cd949d35d71d9b671769d88d0f18e5491e360a93805931479f6a0b3","signature":"31173d0ffc212ed6bc0619aa4748168843ff21786fbabd40fd64c1693c01fc19"},{"version":"e05284b247ff98755c74264c43a51f1f3481171f16f4202cedc14a13ca2c2389","signature":"1c5aa26007d4f769821837a5ab63113c26faacb64b82941e0fda868e2d075c26"},{"version":"e53c823cdecc247a5b180e38be79756372f4f63e93dc0f540a3d1f22018adb01","signature":"15b0fdec4d28c7cf60c34943d69ecd0dd5e34540ff328335346249bef51e3e41"},{"version":"7c4fc7da6184a91b511b38311bb9c58d316d0db4b797996ca091bba06eb1e642","signature":"8a24e2e3b3d0725c1660921fb95530c886a9c5c278cef47de40a091a02e87d73"},"e35ecebf0e24c37a1a79e00a09d7a9059d3549f6c8cb328f0900c86289d7aa5f",{"version":"ee07be51e6f9fe68b65166e1a6412e86ca13a22f679f89f6f2d15c6fd09dc128","signature":"f025160a6f5342fe0283b8f4fdf94b772c193b14f838b71e69adc626f842e5e5"},"edd6fedc43b0e0bc286b1be00cd065cc4e18a55e85bcf7587cc87ae2f67f2829","6ad8bec672da8779b95ab41a7db8499e867290886bf452c8c21cf8515ed81727",{"version":"b588cbc4ff7110aa2de6c3523ab05675adb92660a381518029697418261c33fe","signature":"3e009be01e991d604aea4037befbd90d045b4ce17bd2fa76c6b4e3e7511fc7fa"},{"version":"9dae4a69a9e8ef7743e7c26a3177717c9480a5a5c7445ced84d6b14c16c26beb","signature":"d3eaa6ad62855b898b718baed188f521a9b844689937a34205422d7a16120252"},{"version":"2bd3ee23d20ffdb309062af641f298b92f19f63efc3662df2a69229e453c08b6","signature":"a575347f08bceafc67ec61295040ebd6d8a8f697126fdb88ccd620ec1824bc08"},{"version":"bfcd0e14df47f0e064e1a4986468629b7f96eb37b3b4a0fe2a3f838b70f00f09","signature":"95871d797695d7e808d51b05b5eb68ff0b675e403cd35e463296b336d299745d"},{"version":"a58be083e01f26481c892acaf164e05ffddaadbb93432ef4621307888d85b906","signature":"bd11709018d7c0be79ed6ce7ccd3eaa9e0c74619b66b6a8c79c6d9407f8ad30c"},{"version":"1c5a5cabdedb944b0dff17ddbad2a09cc334d1943c32a009f9b7b9bbc623630e","signature":"3f02ce38faaa02a97261f60e24286a3abf6b31b93565ad276c32b1fcdd6c144e"},{"version":"3dcef5bcc791db341ec241337e7a9a6d1794b707099bfdf8d66557f5a43fcc9a","signature":"52695dde8f8749f6b5e20a480143d8809df82e70e66df33d07ce8ad4a43a0b63"},{"version":"d085ecf4c41c9698491a6b393a8cd82bc17c5f498999629188b51dc0727f4e7a","signature":"f46610761267deb6fd9fcc1938834193c50c7ecdc7ae3a6612617b8e182844e7"},{"version":"04aa0fc9987bba7035e600c50d174a3cfbc448e6f36662d85721c061cd9b10c0","signature":"e6a6ba05b5c8d27e7a39a7f0231d8b40aa20bdce6d25edb6d9a1314b3ef1bdaf"},{"version":"dfca847ebb25bdf52061760b25bba2c00f5fa9d2cdcbb297308fd98c840e3eff","signature":"08879cd061050170003634aad0ee6fbc5151e0396ae646050284dd744f6d218b"},{"version":"df4bca5517eb6d54f07e2ab809d3167c01894331aeb0c1ac81d20e17e72f5754","signature":"d58e456651d257d90c3c61c198fbf7d10dbc60b11922b0c832ebd4a68411c20a"},{"version":"7e24397ae6da929f14889e183eb0cbe46096df27f863cef367501416a306348d","signature":"e6963e71dc146d13e5c347571c233e413f5f5e0d21eba5c69d879fd94048b447"},"23284bd62b7ffcbbf579f77d93fe5572b364f81d94ce0e1d5d59235198ff32eb",{"version":"b5154dc39f4c3a18b5225a9d9b4d46785972dc2e365e5f788dc121f80f031331","signature":"f2e890f66ae0ca0a78b94014a5db16d0475cd7c8961e5f45395e821f75801799"},{"version":"77b2c2b02fc5591ceb54245f70c434247d3c85673df180b7151498bb1494e1cd","signature":"e8050e1446b8eec1b3c154fb3502c264b749358cacf0f6346d0024ec5d1c457e"},{"version":"78d9b75fd3b33eea3eefd7b1999f8b46f42771113042a56f0fdd98add710982b","signature":"30f003fd12e5bb1fc4939b0c64577bf0ede6de3f1d0ccb80b28b079bbacd1308"},{"version":"5efc64e707bda4626eb9b08beccf34b3673986e897eb9b2f7e8ce1f096a6a51a","signature":"f2574d729531fad0dde200109ebfdd731eb7c4241427b2ca245d596e57e4d797"},{"version":"1119273bed52c96e895ad22b3e8fee9648f1d5d621cb6b7cceccc4638c7b7533","signature":"9e867c1bbc1aa70f581e5095caf3aeec6a320bcdcf14f01b4a83b687890e530d"},{"version":"18807fcc265ed7a189ed2d1b794e571668b3a3eb2810405c1a79b1f3edc5d209","signature":"1860b01d52322d49a4c13672b5835ad2d7be45cc97e20798a9bf303bed0b4f22"},{"version":"6255f8f5f4f919d6caa95a6dec3154a18a11e9147197d8a2d68325c65761f495","signature":"99814c49572093c22c0997eb925518a619f7cf8e990af4b4b8682e9208d023e6"},"4da26603960e508de660ef80c9d1617039bb0603b96b7d2c824add333ddf3068",{"version":"569e133ebdfe508e1f2ac78006fc15f785b0fcf51629cc138b4e2620943a42bb","signature":"3d2be884614ce89df1aba049ad4c89960fed913bc3b34b6c8f6edb4313c70452"},{"version":"e6b8f3cd057e49a50b57a52acc38cff7c224def2249464d489295e0e1d200af6","impliedFormat":1},{"version":"74b89b20ef68166153e24a4ea7a13306c8daa65660815c0a7574f4ef35eb4fc6","signature":"8b23ab4f166c71cd3faa1fa3d6f02e4d626fc6675cc640649a7e8ad401a3015b"},"ccde58ef224ad07068ddeb3533011b986b08b0db6f686e50943f518bbcfbcff0",{"version":"4fa68a3551e639f34e943d51855c4df87d414470356a3ff4ee23adfa02054193","signature":"3545f5333a8c04e118b0bd3a19e7636dcb542d32710d6f1c39cac9a34e7872be"},{"version":"d44c53a5185ae285987268f3f30cdadf3dc7bff19d230bfcb5c6505d4f268299","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7f161bf747d17d98f49d7c2a9e67da87031da2c2cbcf356698fbfc184788b20","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ff2131e0cd0d00541853f45cf91d93570f4657717daee949596e828dfecd5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a36dceefb767f35c0e04cd731ce8f302da8f5c4db047afd412749cf9cefab338","impliedFormat":99},{"version":"4fa9937fecb08fd85e2c8a7ffe4ef27fc02cc0ecf5c638133f65ebcc665c155d","impliedFormat":99},{"version":"67500feb82f479142b553d4735477a64838014a335a62033516a93173b2b0d69","impliedFormat":99},{"version":"1bf74c0a319d262ea9b3b7381ca4a05b790ea1fb25e91e4838ca7a03a80e53e8","impliedFormat":99},{"version":"d6f734b1c568ee0b2cc21fdf336ba7e07674d5a244c082961fcb0cfcd1d14d9d","impliedFormat":99},{"version":"3c8e78579c681799fbed1e83c1b42a27497551a66d73620cee86724e16d00c7c","impliedFormat":99},{"version":"d4f1150636fab34b29c20492de16ad8cbfcd165b75fd59f3fc43eb925c3cdda2","impliedFormat":99},{"version":"a423e3eefa50036e6fa64c5559397b2fdd415a635d71f1dc6e6d497fa9ad5733","impliedFormat":99},{"version":"19013bfbe9b85acad69621aee4d4baabea52dd563a55503f4697d31123b4917e","impliedFormat":99},{"version":"c4d678fac1ec9dbe16381c3effdc1e1af1a909eb97c9bc7f6ba8fd832a0c2fbb","impliedFormat":99},{"version":"55605ec08188e2c9183059ab382d904bb0e0e2167edf218a2eeadf755d85c8dc","impliedFormat":99},{"version":"0d6cf4704ba2281eb23e0fb0ef0d9dcb5cad22118515747e5cf62b69a559e198","impliedFormat":99},{"version":"6938a4140037dc171101639cc5601de23db9d150ea2e0ca63149f2ef18c2f943","impliedFormat":99},{"version":"7e05897b8740792b19a75b33f3c18271afcebba23a79a961228422cccf7b107f","impliedFormat":99},{"version":"033ca4aee625d77f77d91ebbb1f2d06c81e6aa5a8e08685b7821164a28ab41f3","impliedFormat":99},{"version":"21a6d8961711f30abcf347ea33621442b239104dad95ca8f6e5c45397f0436ec","impliedFormat":99},{"version":"c1f63a7b774263ad335590fedf52a593a76758fe98c4f28782624c77c4eb59f4","impliedFormat":99},{"version":"4e97d48d7072ad1ce17c5877e8d033c862864b342eed72f951375285411d05df","impliedFormat":99},{"version":"ced21f7dc368280f9928d4f8fa267f04155d9d80dd6e468f17ed1b7b7581d67c","impliedFormat":99},{"version":"71fb51ae6da8a075f61e69a4b8246701c7733a5766d4e895516a13f089788102","impliedFormat":99},{"version":"10467b66b4bfd7c5612004b3efd179333e1fb9108af1cb1a4aca41c4b37d8d9d","signature":"85b9ad1c8e81c0fc2979b37e41ba97e184d91b99d891078f8483750cb12f21b7"},{"version":"88edfe911b08b657b2db83173e56cbe713583dae187ddc869106281b16350bf8","signature":"e76fb79d8346319b35077ecf61bdb65455ad4a2cbec912ded6987f3441393a15"},{"version":"963e329f031c13da20bc9fa1147d1771406630ff92a2ff13491e0ffac0f8e2a7","signature":"2771b190fa173a437f292c7d62adfe0f112a5d298ab4a2959305ea2dd5aef465"},{"version":"9ed19238e79715d3f9c2990785f28240637824a9be27fbdc2b648f073e121c2f","signature":"20ebf4347d0ec57537e4854f496c3b079e60280151a77d1ed4767e59d2c1c781"},{"version":"244e187f8b27c559f429cc7cfa657cca211756223d5513511bd2472d8e8c02f8","signature":"bd74979199c545ec5eef198b3d1b6fea00cca6a299da54e4a8e2ec239a1db3be"},{"version":"f2bf8a98d07f85deeee38fe7123d4584cfe497f9aea4f52e72fb19e540a115ed","signature":"bf7a635f3ff32efe790f51901b961209e068f035e9ba15ff12ca8fc622a6b0a9"},{"version":"b38ba74698e9c65aae350c9235b5b7b64c49518987d52f55efde6e525e0aa802","signature":"4b2a341b2424f7fd6625a872ba05ec2ae70648ff752357868e79867c1c29fb16"},{"version":"f43d6919feff5b1ffe219d212b86b0cfd93056b7ad3d29043f8b1636bb4ba5ab","signature":"f66d247f1974868005ecb8257f60a7d919ae982c1964fe054e7cf54f99dcbcfb"},{"version":"b300c151425070781649957f8232cc12462c7ea871e54d1a113488d62fec0845","signature":"f95c422272723a5e6b7f80fdd2792e4a9bb4e32cc83725d70ebac1759eceb0bb"},{"version":"27679e96d1bd38c5938178aaf4abe8627493090b63d6bae2ce8436e6a87ebe4d","impliedFormat":1},{"version":"d95c8f5d77d5c0cbeff895adc0a5e2230a0e746b58faddeb303dbe0c88c9fa1f","signature":"ea55f358814e5b18a3e1aedaace42db93be906b6948d4cd46c45516867980c51"},{"version":"47086e8e03bc57b1f63d307df4ea211a9a39b25fc0d7235df4f46d41fd5b150f","signature":"fe3798f1ab0d3b67864e33cfe90ce0bd207668acdb794fb0b33abb24aec98b76"},{"version":"448ebc11999f8c4bc677f348b9f02cdab84d5ae940708e96ed3653bb7da5eeb0","signature":"af58445cc7a94f4e967c842bc6bc3d8b99ebcc03b8403c0eb5de711cf23f360f"},{"version":"b2aee1c60cb80700b1e1c0ba938741afc718b5b1ef57ea130cefcd39e38a681c","signature":"3647e4bd2c930df19a43700049e96ce23a10c63405e91a9ecde47e392b2278f4"},{"version":"11870d43a526496e4170ec3bccf9a4f33c7e310c3a1b81fa71ead161b50897ff","signature":"a34f05b827f8b88b33d79c075f55b54bcb8fc833a53143e3b95a9f77b752cbf2"},{"version":"22ac1ebc310cc9deb2fbee76c8ba461070726263be6690f646af410de133cb90","signature":"7136d2ead5ac866e6051b066295e32482530c0c25ebe224d8139381fdf4b119f"},{"version":"fa06fe901eb57b28502f1d03a5c54d7486f255207aa72957d7322b491a7f1633","signature":"c5c57756c6d726b5f590f6268c0d21d3154b91179b6c2134cbbc96e219f613bc"},"6bfa52d6836a8d59c9e506be487c9ce8824da608087278fd3ead167b906d8a11",{"version":"012313a4418195e5ca806962d4df70613c909156d760dc11e9de450c2dbb0561","signature":"fe8df7722f77b779c792cded68cc7769ed89d5e9e50a5dfbdd07ff3f4c420548"},{"version":"aa58edf51b13f8e6dbdb49aecfd69953eb79d14ffb589022567cf80e06af6822","signature":"5de4a9f20b79a71e28aceb8916e26cc12c0d6ca0f442face5b21f98194ce1783"},{"version":"59e907b2109ebe4311b430ed2644a5bea52f2f300fe97ac91a437ef9803195a9","signature":"aa624c5a540fa657676b4c90482d711db9e862659b8bcd5652d43fcffcf5ca7e"},{"version":"b3e9641f3fbbc4cc77cbc8390f4278395b06f3639c6d9559f9a42ad6e17a3d1b","signature":"73aa3daff7523a80b8d229daaa7d127db8a7ba16a5b19986b0bb4c6348888b18"},{"version":"1de2061215e15865b1494f40cb67d017466279bd89a2eb4c5a1dbeeb4e69752c","signature":"a59a49e2d8a3646b5460c7a39e30e96c85dd1fd5855c3d57586987c7284286aa"},{"version":"34105e5bc42e67653de3a238e1648d509e0f818c36c82c457574bf381356f72d","signature":"c9678010531d9ad25826ec1223e8f2b18f97651f9099df4399f9ec6a62af7f5a"},"2440951e1d2dfcd2bbc2073dcc1daa284614e25b9955a9dc60110980e1eff120",{"version":"99942dee5eae15c971e5d008c86e503363f0f1259b0825f8a0bfb8f658ab48f8","signature":"c1e9ae11a135ce5bc4791652c59ae49b1cacaf363f681e5e6cbda84e74002649"},{"version":"d04722411249c2c67672f59b3edc29920ffafe20dc9f29cc860b5ef998f11de5","signature":"9fac5abc302bbcd46367973fd59ce6037560afb28185c5936c8c0ee10baf3f08"},{"version":"81833f8d76c4b585b1083147ffe2e81a819defe5067123b99fac522df2b94697","signature":"2d43165a9050c4e38892846fe05679fcd87ec750ed627b96f43feebfa43aaeba"},{"version":"2b6c7b3f1b1318387ea782aa5be83a9591cc8e1447967f053a0bcd12ad781330","signature":"cea0e10aee11176819ed82281791274ebd65f1befb38d190aac1d74a0b52e000"},{"version":"a6620c7b41052efe5d464acb253a8782dd9eb7e2f3dc2c335a15c3a39e14237b","signature":"51f78abea67d46ede962fd483206a4b536256b0692ab098fca0bca39fcad27ac"},{"version":"11d2f7b4a200c44f382332df87c13bc4ab0041b4947c4b3e55c41287a902ce7d","signature":"355893155b6e80bb1d801e19ecf8b00c1c837681b0876f0571afb9a12325e43f"},{"version":"8d5a652c5bf960a7a7970adcbcc3cdacf86ed7264171aa7dd5231a081c568d5e","signature":"dc3c8ca72eadb931568e0f393a9f6899d13a0dabfe5790000af8a1283a528aa2"},{"version":"df7611f6fe98422dab6c66b43fd70d62c31d190b904e931d944bf9798cde3444","signature":"5256546ff0ee98ff0e9a2094eadb783cf66ce5a46eea777e8215b682b4b10d9d"},{"version":"e425a226e117cb02225226e8d6e41b5184b06e5ce388713fcc00191cc9608356","signature":"00c2b559af7488dc403623c3f0ac67e0fabf5f7b11e93f5a00a2299085a742be"},{"version":"22a6dfb677630fc06f3c1ab654ff56d0e552ae6994c9281c594b593ee6019c86","signature":"6149b5dfb982efadf38000e5956b5fa482362a6e021fb4f3aa08748ab21f900e"},{"version":"f47c7a32b3a33823318cafa457bee692cde6a1d2290a18c446a46f95a29c85ab","signature":"df3c84f2f4c30f7ed7ff9e7bd9ce547b0fe4d901faafbf4295dfd64e7aaa678d"},{"version":"e71080e48e1bba8f91d721bde022001c0fcb8eb73f2b663d859e4a48b2bae81c","signature":"4d48980474af38c429dc09cbd4c4e3ffa8176a8c75e013d1a7101b4feb33b97b"},{"version":"1b80788bfeac9b129e7aa7625134ee25ea5f59486f820cbbbd9c591383edb82d","signature":"6663f58fd684d3191ebc40cf64d66c0078d2722fb6c84967ef285b09f98e7e68"},{"version":"d117c9acaac2e5c8d61f3cd7a574913d8c522b461ee221839afd7dd459558486","signature":"552f04e4d0005c53ba4321cfcf50ca09aeeb45762e87459d635ee0570fcd859e"},{"version":"5394a413e4c01677b46657453bd97c58423ade875920930440397620df53d0ac","signature":"5fb6588a3626c1652d15e2635db10f74c3390c0bbef850d2ceaa1f10e3cce011"},"57948437dcc7024f23c80945cd6dfd8b472614b160d73b2d42ee45cb01c6738e",{"version":"4d7d964609a07368d076ce943b07106c5ebee8138c307d3273ba1cf3a0c3c751","impliedFormat":99},{"version":"0e48c1354203ba2ca366b62a0f22fec9e10c251d9d6420c6d435da1d079e6126","impliedFormat":99},{"version":"0662a451f0584bb3026340c3661c3a89774182976cd373eca502a1d3b5c7b580","impliedFormat":99},{"version":"68219da40672405b0632a0a544d1319b5bfe3fa0401f1283d4c9854b0cc114ce","impliedFormat":99},{"version":"ee40ce45ec7c5888f0c1042abc595649d08f51e509af2c78c77403f1db75482a","impliedFormat":99},{"version":"7841bca23a8296afd82fd036fc8d3b1fed3c1e0c82ee614254693ccd47e916fc","impliedFormat":99},{"version":"b09c433ed46538d0dc7e40f49a9bf532712221219761a0f389e60349c59b3932","impliedFormat":99},{"version":"06360da67958e51b36f6f2545214dca3f1bf61c9aef6e451294fcc9aca230690","impliedFormat":99},{"version":"50bc55fc955fa799a4a1a11c3484077f06cc87033c68f5da6466b520876cb12f","impliedFormat":99},{"version":"0555222d33e7f5be196abdb5e9c1f65ded892bbb8008c7567ec09781e12fdf16","signature":"ba446f853a94d297818b1619d98f0b8c8c3c22eb005992e96ee8a713da8ffa62"},{"version":"bae4b6cc20e2f525e56254d06e774b2b9790b2c5d04e28852b807fde92b0b18d","signature":"f2e048e3ad15cfcd70f8e2303f0d23162f27fa4807757e02683210700339aa4d"},{"version":"ef29dc5b566427383555f9e389db0d17e7a90337e8a59e45fc1ff0004a81714c","signature":"f36a8db2263fc2fe5488bfa8ca7c737df57447f7db39595800298c3c70ca3854"},{"version":"b5f17e563ca43fff78f0238cd86be479546a15cc7091f403184fd912d19b9d87","signature":"963c2a3b2e53abed1302ff62aec14bce2a3f9784060bd3180de5c70d5145d141"},{"version":"6e9be985fc82eca7fd867c803f1baeef8443196062783391672d967e65539239","signature":"72c0cd5e567e7d5faf0621a1838c593231f9a810f4f3c6846f07f122ace09e40"},{"version":"feccb8bfca0e7b7bfc7e68e3a7cd7f4b35089007c56d01718b22ba9335b36c3b","signature":"3451e9ca965c68c5e582dfe07731d12ed49a55dd0b2c4cb131e57ff92486a9ca"},{"version":"90f7a56109b5cca9773cb2514a4aef73fc04e806ef0f13647967c5ee02812125","signature":"877796d8522483f9b57f36306bde0715ed2d519db26cff52cafb35ba2b2032a1"},{"version":"f1c17717b5f6e13311f105b055345940838c4aec26df3564aac864ecadd169b3","signature":"6f5706e199dec5b336c4f714123481e1511174241e232848866660458eb8b1eb"},{"version":"2e821e34791212a2c57b950b58cb8aa1ed1c8cc395d91513bc8392196c537d15","signature":"b3a7da67acca49e318d34f2453e43d62e8b583deba3db902466e5215f44d3403"},{"version":"30a1bb696377e33db61161acdfa3624d4ea1620ad91b1648e99e6cb702613773","signature":"4bce2cef1bf4a5894ea7d588e044cb2f9564e93efeaef9646d55ca1f7a93cf33"},{"version":"62d8e68188f506e2305c52c80e3893c6d2cead3e056ad6a0d403fc19cc75971d","signature":"604b1fd70119593d63f33840d9a8d343ba897cefeff151eaac4afbb7d20e854e"},{"version":"34e8fd52e671fcc6a53b631436464e0a02be5751549dacb542e500c914ccfefe","signature":"e8f86c45a3ba214c82f6349e8a0e124f661124b6be4f0b81887ec8a7beeb9b36"},{"version":"82a53ff4b7db8e943edb08e42c06eb5c41ac7adc3917b0a682032f5833819d4d","signature":"128b66558240654e7d7c9e15bc920647eaa13c9bc7802637ba68e1236bf7afd8"},{"version":"006755bee766f39d1f4f304d9f7e7750444c829dbba0cc7cdae7f26f7af29761","signature":"3d643d640e2fa236a4710079bedf031b2c08fe2ce9becd58642ba1e85f306840"},{"version":"d418151cbf765c1c6e9b465fe1a907eee0f60d18755bb7f47eb8d01ca69b58d9","signature":"41fd46cefa78095ffdb66d546473835cf068ed04d5c05ca0876a8f939b67a385"},{"version":"44ef4381f39e630140a3ef5682dd823a5ed7829f84e4e1b1b43bf96b9f4cf0ec","signature":"ca726a73a928bda6c27d5873f3e3e1327c69c7baa5a9cf9f19bd8a50683c7c88"},{"version":"74b551c80bf0e39e40ccec0583d04b465cb63a4de6135b1ffe0e45859bb3ac31","signature":"f59a391b0a6a9d0493173775e2784bd724e5eddcce7b96b9a1539a1835203b40"},{"version":"6174aec681cca42dddd61a1f5ac5f2633260b81081e771e811078df6c07d776b","signature":"43d354f979393f7a695f29226300cd869b7391efc15827f2d054d2799ce3cf83"},{"version":"992fec81909b0127aa2fd2aa7632e2fc880687210da03e441a14adcf663b6b37","signature":"1988ea4433ed5358f72344f0458036df36384fc9577fbd77d5ba261c46a0a5c1"},{"version":"a969ed96044c8fd0b580eca806037504cb564987d3172335d0469b204cbd8dcf","signature":"9d5ba1b70a3cf01909cdfd9e6665652e85cd320aff06cd18e5c13127900f1009"},{"version":"e8a7d2f46fe31854e8cc006a1eebcc75735dc2acc4baf6bbeacd96374b8af90e","signature":"f4b3a35d21ed9fa28605483d6e14618bdec7215f9693482bac2d0434b236c59b"},{"version":"be2140a7969dab064ebbca0499aa34fce68f3ef929f0da837853efd5bce9f217","signature":"79595033604ac169448461d7371bb79abff9c522ded3101c629249ac2d44f486"},{"version":"ab8583b84ec3374e8f373243086e614689f0b3558dcc0d46bcab5e87c819eeb0","signature":"5b7887ae3c98c0325422ddfd857566abcc96752c11c6e5a6d1961bef330b7676"},{"version":"03ab226323b4c542fe0d9701c0306196239dd5277bc4e63aacd3d8d804a3a2a6","signature":"49e2cf2ef33a42c094abc82aa5344e3506d3843637d748b50c581ead77a36d6f"},{"version":"f0386c9b6afd7a13ee65cd70054f7ae2c3880f537d7374603943dedce2dbfeed","signature":"ef02aefab55e48be91d7b0a51089dc874ff9bdef7fdecd47d4b0b8578325098b"},{"version":"981b479b8d9c4b601ecca190b1daf605f2c3ac71a6a2b79f8735e8f3462607bb","signature":"b1e82efbedf562a6ef7b7f5da47acc1cd2a00577258d5f484f935d702cb8a2b3"},{"version":"a3a9d5742ef909668627cebc3d1015a52f2bad82c0753afa4356f8e0e84cae6d","signature":"40eb508d66c06150f3ab576082189cc2ac348ea1c6043b8662812e1289445523"},{"version":"38d41e008a795cd17529fddc2623e063d32cf7ec976a441fda720f2d20c2f88a","impliedFormat":99},{"version":"91407743d47699adac8c5d7b98886e2557c7ba96c28a0271b186b02acb44c175","impliedFormat":99},{"version":"8b57396f46911d904aadc7eaa47ef54e83880ff2b78052ffe2f81b184f47a36f","signature":"61ed765f05edb47c8df2954354ddda71dd8db974b66e504f0ff1bcf18a4e9eb5"},{"version":"90dc6d5b12dcad3bae4894e97cb5114aad22edbc594ad4c209a152f8e53cc44d","signature":"602d69063fd721a3da0bb5430d4c3d47042bec45fa619e313103e468988e41b9"},{"version":"41a3c233eaf120c47c05501d5eadc56948203af00403838bf74a722ed028a313","impliedFormat":99},{"version":"3670561369ca68a09d52476b583259506a7fb405f8766a1be016d92a795425df","impliedFormat":99},{"version":"c18e72b043d29d83286b33917b380ea78dc695fd31e2834e17133a17539a94bb","impliedFormat":99},{"version":"24f97620d161b9c421246ba30172522e00cb21524f8ece75e275cdf30e22eab5","impliedFormat":99},{"version":"43a1c4c14c1d87ddfeec20e9b044c69db6da86fe868ca8833b8ab5c81b326c68","impliedFormat":99},{"version":"a5a72c4adbbbd805860d5c2b847e25b45b3a6dcbdf471cda1e206c7c4e9f6bd6","impliedFormat":99},{"version":"acca062f4ecb504ba5a1a479b3c2ffb2a6957925f83ac7efdb0b0aba11aefa1c","impliedFormat":99},{"version":"72daabbd93e93b80aa2de51f9e039cf7fcff47c51a9154425cc6a902c3522959","impliedFormat":99},{"version":"2099dbc466f37ac4364a71360471f844929db80aaf41629b260852f075b7e95f","impliedFormat":99},{"version":"38d63c3e7dff35365e72859b041a09b0ba3507e1fb10198c64b2fa31c1f4c6ae","impliedFormat":99},{"version":"24397529aec71e82a879b881f6179fbafb23fdce7aab0de18d4eae73d77d32e8","impliedFormat":99},{"version":"e0e20dda0bb709540cea318a9cec834ad4e8529f2f53234a23094343efc8b19e","impliedFormat":99},{"version":"758359ab39eb58fdc1340f5ddb5743b9bd5f7f5f37d58202b01a0de2fa6e38bf","impliedFormat":99},{"version":"e9cd6b1c0f5b49e2771e96ddcba10cab43d9df34c80bb6ed5a5fd31462cf23c9","impliedFormat":99},{"version":"bb573d0b9de06c261a63b6697dc6148421794a51566690b36af5e616962aa980","impliedFormat":99},{"version":"c9f2ebfd4bdc356a24c0a659efc9ab4832a246fff1cd713729e3997740efb57a","impliedFormat":99},{"version":"0630f136ee5704beb9e4c905abe59ee8cf3feddbf26d9fd0d7d9c226082aafef","impliedFormat":99},{"version":"585638c97811f86301c6396518f349e4f692c7b66e9946a794a828483c804ad6","impliedFormat":99},{"version":"1bf1fcf895db1e2a2221a75cbad91ba1cdf654c0e73018398453f127eb14682a","impliedFormat":99},{"version":"92274791f9af7731fd88b2ded67cd684099f2d268238fe2c099924c6952dc3b6","impliedFormat":99},{"version":"523101fd85530559aa9f0175a8c6ce1d3a80ef2234ebdd13d64d6b81361e929a","impliedFormat":99},{"version":"8685357eaac6a23e2c808cbfe4f73d2454f65c54acadea1579ab4b5755e6b6b3","impliedFormat":99},{"version":"1a0cc12da0de949c4dc73aecd3c3896285f0c1af51a663655e6b71a6130c3e82","impliedFormat":99},{"version":"04004ba4ff682db11df64bf5d5cb1c09616cae3c424e41d18b00bc14ac4f7b6a","impliedFormat":99},{"version":"d95236c56f7f89c2ca50b0573fbdc889609dc87efbf09fa57fcfc2daddfcbf3e","impliedFormat":99},{"version":"8090920245b6bb972deed05e9592ca886a017701fde5aa9e4559714863586823","impliedFormat":99},{"version":"cbbb0bd07f4c7491d2f9af50699a8ec2b22351636335e6275e037ddda7eba7b2","impliedFormat":99},{"version":"61f43d11b4e1548c0197bf72094864d16dedc43371f92c07c44de83473e6369e","impliedFormat":99},{"version":"4d54b2df904582f2b7fdc63a7ea3e0196b74f96cfc72a524770f7a8ba1172d05","impliedFormat":99},{"version":"1a46550a0d8f494566e69a915451468338f1a3331e3ac4afbb52bf0d52bcd647","impliedFormat":99},{"version":"f0d2acb0f37fc5fcf4829220a88bc0e3b5fc8f6d4fd18c30e960c4c31d0998f9","impliedFormat":99},{"version":"62468010f26e1398fa8d2c787a24b1920264497f70b1291697170d51e8c93d15","impliedFormat":99},{"version":"ee40b5746f4aea666abdc84469686077cbb0b1f9e128ca15c7c2f6318fd2faf2","impliedFormat":99},{"version":"11a4440d50d17aae2021ed56bd723619d2f3526966b66b8ee71f99f90aee001b","impliedFormat":99},{"version":"0e7444c2c5c62592662463f953ac5e51f7f7fa02730704e76494bd35659621a1","impliedFormat":99},{"version":"526703c640b52e2a6e362f03dc3c2edc21649a3ca73503d2848ff6f124c2456e","impliedFormat":99},{"version":"5ddd6faa3ef0097ba3c0d64ef86021785d54aca62d672d60f7dac465e15630bb","impliedFormat":99},{"version":"c1f0e5b2a899399fa1788ab79f55b8908841a7dc01baaa8fbc9468fa1a705dc6","impliedFormat":99},{"version":"1f32b1d6620d7831af97596fe6cebc1d4796d65b16592fb6ed542bf2aa580dbe","impliedFormat":99},{"version":"887f38bd46cd7bd27122853c6a3a3f19f93de4138d345bc01f25d97702afb856","impliedFormat":99},{"version":"e95243b24b3a9f410886c29e4a6f05b9174257e0da0151e742f73f65fffe6860","impliedFormat":99},{"version":"606bf8ab190fea5213f45fa8d187f232f5ede10db66c4d2640e466b1eb010723","impliedFormat":99},{"version":"ec66f21c2debd53c8dc23034359ef14fb315cbf911a1c2268af7fd2c61d05538","impliedFormat":99},{"version":"87a87fe8dc65ebaf5d1f296fca81a3a7b02d99d9955dbbd240a6150052c0aafe","impliedFormat":99},{"version":"88cea16c4f051deba1578741810dde95361a3f3d6198829eee1c7aa3b27f5602","impliedFormat":99},{"version":"2f1207758095b2af21b93256eb916a8e3ad916d259c0f8f2bb212b7f00700eb4","impliedFormat":99},{"version":"a5e9081741bf85356d256b96ed191a407e674733ba3c634ff36b2c5498789337","impliedFormat":99},{"version":"0da2fc8007d5d7cba3fe5c9db6a3517e1253409397686f218f7bc780706eb30b","impliedFormat":99},{"version":"b49949a16a4cbe1bca5a73e165f5d46431cb37040f4558df54d50df429c2c38f","impliedFormat":99},{"version":"19b0f0727865e775d21de405d2700c3196f6621bfa619c8c73ef1e1ad964ff55","impliedFormat":99},{"version":"40525b8ec87e8e63e18975722a0f02313942962162fad09caa212f6858effba9","impliedFormat":99},{"version":"cd0e5287f17e1eb6527b1e8b9a706a27e3cbe77f9926430c083fe908a89e2cdd","impliedFormat":99},{"version":"9aacfa9c2cca9598ea4ab8168f77629258e3349292ef281beb8be4948d18228a","impliedFormat":99},{"version":"a3db855047aca46f97fc3b4208b5032ffca77a88985a5e377e85807ecf90bb33","impliedFormat":99},{"version":"e6dbac9ac42976ad196b59756bb60b6588e582307d8c75a4e7971e42e455572b","impliedFormat":99},{"version":"644df01317e55aa6b46b8f3c3c5f9f90eb4947c23dd059bba22d78625005bbfd","impliedFormat":99},{"version":"76a7523ee41103396246de53afb3e103abb7532991de1f3f8fa8384a605ad611","impliedFormat":99},{"version":"1cbcef88c4eecb1de19882fe26349a5cfd44f7b3d5eeaa77f2d0926767cf4495","impliedFormat":99},{"version":"5241e12bc1969d2e0afc0ce91f2da1fc76017ea4e7564b0395f6b8ce35f60d97","impliedFormat":99},{"version":"279ed1bfa8cf4829fbd653c446d786ac5e2a0cef055fe017deabd3076a6fce49","impliedFormat":99},{"version":"bdc8be81152eedd261b069237d84bfdfdd9b5d998a89a3133c8590001df12b6f","impliedFormat":99},{"version":"d308a5d41f15e3a15443ac397c007bd251f4aa046fe4df96db55730b186225c6","impliedFormat":99},{"version":"471d7a10e4396aa877d9cd6292967c95dbfd07fbf62742df615ade1b09e8b435","impliedFormat":99},{"version":"a2a48a2515b88aee6190fa34e149e084ddeb4e9412217ae86fe2949701a835a5","impliedFormat":99},{"version":"8c4a3b1dce4fe45431ca488e303b4d44e4ad66c18eaba9bb3fa6512f4b642a53","impliedFormat":99},{"version":"cba1b57ba0b082720cec477229bcf0d1b701d6a5e3df9d7167e8010bdac15508","impliedFormat":99},{"version":"cfc0c66f91c2c6f41fdc59a658e6e01698c17c13b447911dccc9074167671ee6","impliedFormat":99},{"version":"947ce55683a307873d47ff95a503036b70beb5fed68e4c10dc219faf8ca8b530","impliedFormat":99},{"version":"f0c625c44dcd9eae0094c138637c7e4e333782574df09903050d8dcac006053d","impliedFormat":99},{"version":"d453aa5944b07ef8d739296d9547df75c19a665f0b17ea085640ef9f02caced3","impliedFormat":99},{"version":"e14025e566058d9fd7d9baae9c937a9ad5220ddb87ffb250583b95a85d4d527f","impliedFormat":99},{"version":"0143111a64deefba83c688e35d9b81b6c2688c0323831c411c4fdfba72220b6b","impliedFormat":99},{"version":"9b02af01eaed2a35b94ffd191a27659a70dbe4b9ffb369d8d791c3070eecd3d4","impliedFormat":99},{"version":"adfa5d8d9788fd85749e849cb15277b46a1306c117b4dd73eaa4e35586b67e62","impliedFormat":99},{"version":"c9386c27a10b6a607d8583dd0cc0cbb8dbb5e18e4e0eb3f85f9a45baa9671546","impliedFormat":99},{"version":"a3d092ee18c11b913571df6019a224bbd07ab14830accfa31558598852a7afe0","impliedFormat":99},{"version":"30bdf14c7ed60f3a3d9998fc862800b636afd861089aef669c49266576d5f78c","impliedFormat":99},{"version":"bb3caf11814f7265729f580f52f463d6ffb6b755d9bbe8d4aeb9848c5fef26fd","impliedFormat":99},{"version":"cb9f1584cfdb5f4b9fdf0b838cc2872f0cde4dd7ec6345fd99264ed0bf71831b","impliedFormat":99},{"version":"2454f5d5b0a053c9e65f62bc73905e86e5dc113d86aace26fbea1e74902bcc0a","impliedFormat":99},{"version":"9d5a231dc0db79e4c0381581956d35750956c067812867e3f9d379b9b43248d8","impliedFormat":99},{"version":"378885d39de12f15e3960dbe68916154a6c8dcbdff72df5d09b2b504a9a65565","impliedFormat":99},{"version":"8ff9ad3a9f35597251c664432033f5f9db25a71b887bb7c5f3111fd57755f32b","impliedFormat":99},{"version":"d91b2cf7b3baa8302d63038d8612b1aab48efcc0bf5f9b11d3bdba358b365308","impliedFormat":99},{"version":"59274bbf27983be9810f88969e30c1899cef2f07e2ad37a17aad504466cb6cd7","impliedFormat":99},{"version":"0ea47f42ee816b289fd31ae2dd431203439392f34949180847e910d1f236df5d","impliedFormat":99},{"version":"7f4b0d988fffac25e8b99d53344e6cae20da15912496a892dc113d98982be6f5","impliedFormat":99},{"version":"446401e1e324921d25439a67f39b2356fc78c4f0e0aef23666379d84e9cf89f0","impliedFormat":99},{"version":"3886d0501785ef1a7139fd5360758c4e06fb370768e7abdcb7701dd89ee2c0b5","impliedFormat":99},{"version":"da36e84c3469c725c3f95c88922e3a9a38d75bbc9b5235711b3882609b7bb690","impliedFormat":99},{"version":"fb2331578931cd9b4a074dad8f761f5d7bf4ffe4be1cf42168de580871f81676","impliedFormat":99},{"version":"13445ea5f883f11166f5c1bb7d10f9fb602ca04c8ba37f1fce541b99dbafa440","impliedFormat":99},{"version":"4e69f563abc4910a81f9bd9ba16eab762ad94f1805aaaaa356780fb44d2013e5","impliedFormat":99},{"version":"729f5bda320a664a3b427633d4608fb2de329a54c0c9126cf37bdef529770c98","impliedFormat":99},{"version":"4eed6be4e1f8c3b30b53760af31120d3cefd981a23c94af3c2f33b13ebb6d88d","impliedFormat":99},{"version":"3f2b7367ee831669c773edce5547bcad1159e045f4983c0cbb1acac86d5b5cae","impliedFormat":99},{"version":"ecf6628b6de4ab2097eeb61d810a8e8f83b2f32cbb25aeea3f3e02aa87b4db50","impliedFormat":99},{"version":"b5c1a561b4510dd597fef4380a16e642d6ef3cce51610f0a10fa551ef21633f4","impliedFormat":99},{"version":"bef6e54976d3bc274ef623cc52c323228df7e71a18d7efb8b8326bfe841a8662","impliedFormat":99},{"version":"a112b882bace2440d365474987e0d62657ec0b05821cfa11c5bb69bc51b62634","impliedFormat":99},{"version":"36d2861063b4466b217118725f63fda2001067bfed6407057567d41560c8850f","impliedFormat":99},{"version":"bbc65478104dc679951ff2988d1fdecbd066a9c6ab469eb5b994ea271b7fb724","impliedFormat":99},{"version":"9438e581b06ebf30041297db2ecb993e732b897e29f653eea7719e7904758e93","impliedFormat":99},{"version":"4c413d48eff8f50b8b3f361f231f07707241174eda70dcdff163626dd412e363","impliedFormat":99},{"version":"445653b1ccbbf22009cad4953757fb810f65d313e60526be256665dbffc76a93","impliedFormat":99},{"version":"9cfb34e97729d62aa06bd1f237ec107ea08f7d99874fec5842b4c40ac3767f29","impliedFormat":99},{"version":"358f53870afb50137b0febe4dce1c5e1875553cbd1dfbd59c911d8757d751459","impliedFormat":99},{"version":"5fafb533b24b3cc866b94153881b79815b0cff20969b1b132d266669b6faeff9","impliedFormat":99},{"version":"36cc6e9ec80b9f87389af9dcbffe3554766ebc0eef19eb832c35d3b2b57fa4b7","impliedFormat":99},{"version":"57dcc891c7ce218c3367b8919f93111274361caa23ddf631f6728eb4b69c73b9","impliedFormat":99},{"version":"250c818258ee810d6686d71c3e742803a3cb366064174ab47804921152807c2d","impliedFormat":99},{"version":"0176e8839a101f835597b1ba38e64b2ce7efe98ed63ba893d37968757171c04d","impliedFormat":99},{"version":"aff778492d364e97e647357629660027281eee4ff87761e73cf6d536bc703456","impliedFormat":99},{"version":"90dd653f3958e52ec5e566299e000bc9d4469b0faa40e32931f90d20eb5483df","impliedFormat":99},{"version":"c4272a849d65ce90763bedc02ad31ba374aab2b542d69fe7c79da2c689241678","impliedFormat":99},{"version":"24f01c4507f2c5527b8fe1cbaf25d3439304c503b1825fe0340e06ba319ea1e7","impliedFormat":99},{"version":"072f8a0ccdcb05fc0ef047ab63e057e723caa7b60d193cf0922ef86e42205a52","impliedFormat":99},{"version":"077dceca4e374e246b03df8e185408f22d317ce1b33db22c0cec9a59b5753e7d","impliedFormat":99},{"version":"99d37f9ff252cacfddd4744f3d1f736fbe733b762c6de6dd1d48059ba46beb4f","impliedFormat":99},{"version":"ad61b1b1341264580b5eee0e6e8f107cc1ee47675bf4476f4a05d28b8440b8d6","impliedFormat":99},{"version":"d783a003c0c534585704f16f435ad66185d32fd90fefdd60db3a60da6659336f","impliedFormat":99},{"version":"1f8b4a56d208e8d44879dc87bfc23e37a8d6282f3873b785c87559a2fdcfb5ff","impliedFormat":99},{"version":"5c5602a73d94e9f230a13aa4e20758ed7126f107187c70e4375aef40f6731b56","impliedFormat":99},{"version":"fe3dd75e8dea26d91ab4b5996d38f63994297e955d5060035c35cdea5c4637ac","impliedFormat":99},{"version":"4a5f2bff495d0276b6635d90ac177c0364a67b4fe0399cca1dbf4b4da7d770a3","impliedFormat":99},{"version":"b3bfeaa99d47de0a2acde802241b587d4ce8e3fda00c2d82d11ae63bfa1bd292","impliedFormat":99},{"version":"6d1d185a1db2bc415994b4256a5e62515869add07e7818070ead666168719dea","signature":"028baa65b32f4e285d499dcc7f1277424d731f86f2dd63e8bc9a378858b55839"},{"version":"84e355331be36b794c48e777caafb35afd40a56928d8f3092898fbca149495dc","signature":"cb73bb30cfd3e285e8ad5d9b27c43067a636f4cb82d7a2737ade85ea81d23d2f"},{"version":"324f8860d76fadff9939e31f46ec649efb841446c0199d17ccbd82799d7770b4","signature":"c935537b8d7a55870a339fba8c8317bfa5ba6635e9fcf152f6821724e0ede8b7"},{"version":"c9beadb45ad904ebd3ec1ed112c523828ac9df0171de7a8e1dc4f1d963ef233f","signature":"271d39e82290269846a9d48c6632bf452c85733c9b63d795a94af2ad99c2f565"},{"version":"86a871bbc3bd89cd5f58a5f27fea40ced742d47dd75b4c2d1e258fef3abe2f97","signature":"2768868b308e0bc8124ed7a3815bc7cd68af01d3081e2f49813b5f2a56c492d1"},{"version":"ab4b81fb87b400abe57962ce107cb6b84dfc18d487651745c61910e3c4b4fb73","signature":"093f39c4226cacf0c8b7681419330b3f0838aee56efa5a226d9b23fff24bf105"},{"version":"76b696eb4559199439db04652837e158577b904a03e87692962118928490361e","signature":"ccedbfa657c9e51d4473fcbf080dedcb0c3bc7c78b7d4c31804eace72847a410"},{"version":"abf70f24768cf5e9bb78e45d91e302f51cb18149d436aa2362a3baef5a8beef3","signature":"02d51df70bb92c9090062774118e617480e2cbc8066208068907e00298d0152f"},{"version":"09c80ef840f4b7d31eaf1360dec8404db9976e4a48a3f5293bfe7590cfe6ea80","signature":"10462d3c80d5a3e8570d87f31ce10c1767b67c4e63bf4980a2805b36c1a73d39"},{"version":"7ca5dcede3e372947ce0112245be4f982ab0a1c69eeb40f80467a0e3246a8218","signature":"3320a8f8ccd6d4ad2c8b89e3be7297661beb2c796ea2bb1995f27ef8008fbfb8"},{"version":"42bd37579e6500a66958e0b00e2fffe50e41cffcbde0a5aaad0527efde5f9d4b","signature":"d7c1b98a2382d6fa3ca3ebcd8a157f2a428129bfb362fc7c909bed43a4d198b6"},{"version":"7dc248bfac1a29ee5a3c9a5c7d176fb11fa8b040b3b9fab350690fda029771cf","signature":"4109e8e7f7f80b7091f21f9f3ba27c594f67db0368e1331dd1bf6308a1b1daa7"},{"version":"024829c0b317972acf4f871bf701525f81896ad74015f1a52d46ae6036205cb9","impliedFormat":99},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"0943a6e4e026d0de8a4969ee975a7283e0627bf41aa4635d8502f6f24365ac9b","impliedFormat":99},{"version":"1461efc4aefd3e999244f238f59c9b9753a7e3dfede923ebe2b4a11d6e13a0d0","impliedFormat":99},{"version":"7ec047b73f621c526468517fea779fec2007dd05baa880989def59126c98ef79","impliedFormat":99},{"version":"8dd450de6d756cee0761f277c6dc58b0b5a66b8c274b980949318b8cad26d712","impliedFormat":99},{"version":"904d6ad970b6bd825449480488a73d9b98432357ab38cf8d31ffd651ae376ff5","impliedFormat":99},{"version":"dfcf16e716338e9fe8cf790ac7756f61c85b83b699861df970661e97bf482692","impliedFormat":99},{"version":"31c30cc54e8c3da37c8e2e40e5658471f65915df22d348990d1601901e8c9ff3","impliedFormat":99},{"version":"36d8011f1437aecf0e6e88677d933e4fb3403557f086f4ac00c5a4cb6d028ac2","impliedFormat":99},{"version":"8085954ba165e611c6230596078063627f3656fed3fb68ad1e36a414c4d7599a","impliedFormat":99},{"version":"2c57db2bf2dbd9e8ef4853be7257d62a1cb72845f7b976bb4ee827d362675f96","impliedFormat":99},{"version":"6b5f886fe41e2e767168e491fe6048398ed6439d44e006d9f51cc31265f08978","impliedFormat":99},{"version":"56a87e37f91f5625eb7d5f8394904f3f1e2a90fb08f347161dc94f1ae586bdd0","impliedFormat":99},{"version":"6b863463764ae572b9ada405bf77aac37b5e5089a3ab420d0862e4471051393b","impliedFormat":99},{"version":"68b6a7501a56babd7bcd840e0d638ee7ec582f1e70b3c36ebf32e5e5836913c8","impliedFormat":99},{"version":"89783bd45ab35df55203b522f8271500189c3526976af533a599a86caaf31362","impliedFormat":99},{"version":"6da2e0928bdab05861abc4e4abebea0c7cf0b67e25374ba35a94df2269563dd8","impliedFormat":99},{"version":"e7b00bec016013bcde74268d837a8b57173951add2b23c8fd12ffe57f204d88f","impliedFormat":99},{"version":"26e6c521a290630ea31f0205a46a87cab35faac96e2b30606f37bae7bcda4f9d","impliedFormat":99},{"version":"71acd198e19fa38447a3cbc5c33f2f5a719d933fccf314aaff0e8b0593271324","impliedFormat":99},{"version":"044047026c70439867589d8596ffe417b56158a1f054034f590166dd793b676b","impliedFormat":99},{"version":"89ad9a4e8044299f356f38879a1c2176bc60c997519b442c92cc5a70b731a360","impliedFormat":99},{"version":"fd4f58cd6b5fc8ce8af0d04bfef5142f15c4bafaac9a9899c6daa056f10bb517","impliedFormat":99},{"version":"2a00cea77767cb26393ee6f972fd32941249a0d65b246bfcb20a780a2b919a21","impliedFormat":99},{"version":"440cb5b34e06fabe3dcb13a3f77b98d771bf696857c8e97ce170b4f345f8a26b","impliedFormat":99},{"version":"5bc7f0946c94e23765bd1b8f62dc3ab65d7716285ca7cf45609f57777ddb436f","impliedFormat":99},{"version":"7d5a5e603a68faea3d978630a84cacad7668f11e14164c4dd10224fa1e210f56","impliedFormat":99},{"version":"2535fc1a5fe64892783ff8f61321b181c24f824e688a4a05ae738da33466605b","impliedFormat":99},{"version":"cbfd5ef0c8fdb4983202252b5f5758a579f4500edc3b9ad413da60cffb5c3564","impliedFormat":99},{"version":"9f7a3c434912fd3feb87af4aabdf0d1b614152ecb5e7b2aa1fff3429879cdd51","impliedFormat":99},{"version":"99d1a601593495371e798da1850b52877bf63d0678f15722d5f048e404f002e4","impliedFormat":99},{"version":"1179ef8174e0e4a09d35576199df04803b1db17c0fb35b9326442884bc0b0cce","impliedFormat":99},{"version":"9c580c6eae94f8c9a38373566e59d5c3282dc194aa266b23a50686fe10560159","impliedFormat":99},{"version":"cc3738ba01d9af5ba1206a313896837ff8779791afcd9869e582783550f17f38","impliedFormat":99},{"version":"a80ec72f5e178862476deaeed532c305bdfcd3627014ae7ac2901356d794fc93","impliedFormat":99},{"version":"4a5aa16151dbec524bb043a5cbce2c3fec75957d175475c115a953aca53999a9","impliedFormat":99},{"version":"7a14bf21ae8a29d64c42173c08f026928daf418bed1b97b37ac4bb2aa197b89b","impliedFormat":99},{"version":"c5013d60cbff572255ccc87c314c39e198c8cc6c5aa7855db7a21b79e06a510f","impliedFormat":99},{"version":"69ec8d900cfec3d40e50490fedbbea5c1b49d32c38adbc236e73a3b8978c0b11","impliedFormat":99},{"version":"7fd629484ba6772b686885b443914655089246f75a13dd685845d0abae337671","impliedFormat":99},{"version":"13dcccb62e8537329ac0448f088ab16fe5b0bbed71e56906d28d202072759804","impliedFormat":99},{"version":"233267a4a036c64aee95f66a0d31e3e0ef048cccc57dd66f9cf87582b38691e4","impliedFormat":99},{"version":"ccb9fbe369885d02cf6c2b2948fb5060451565d37b04356bbe753807f98e0682","impliedFormat":99},{"version":"2fbe402f0ee5aa8ab55367f88030f79d46211c0a0f342becaa9f648bf8534e9d","impliedFormat":1},{"version":"b94258ef37e67474ac5522e9c519489a55dcb3d4a8f645e335fc68ea2215fe88","impliedFormat":1},{"version":"b613cee05aa862b1004d8eef06ee56649e8a628b8ba2452ce42ca778d34ee363","signature":"c2b32082ae6fa2fbf67c6e5b69d762ffae35158ed2901b5d16da1e5351fcf735"},{"version":"6c05d0fcee91437571513c404e62396ee798ff37a2d8bef2104accdc79deb9c0","impliedFormat":1},{"version":"44433e18e092339f0f547578cf8da911c99ef9f1ac31cf14c6ab8d05891508ee","signature":"28146598b49f0e770cb4e9a3056d14a8962816c7c8d9031fc36995f65d73f452"},{"version":"9780540210ec95e12504069cc1504296c636d193524f4bbc79e99dddacea69c9","signature":"0a5a9f14c5cf8c76f560e44248244813b1ebbea85f58b3bfacc20e61aabd1327"},{"version":"d04f947114fa00a20ee3c3182bb2863c30869df93293cc673f200defadbd69d9","impliedFormat":1},{"version":"4c629a21fb1b4f2428660f662d5fef6282e359d369f9e5ec5fd6ac197c1906ee","impliedFormat":1},{"version":"785926dee839d0b3f5e479615d5653d77f6a9ef8aa4eea5bbdce2703c860b254","impliedFormat":1},{"version":"66d5c68894bb2975727cd550b53cd6f9d99f7cb77cb0cbecdd4af1c9332b01dd","impliedFormat":1},{"version":"cf62a7edc0f8e389ef165baf6d664cc20eb272de3e5ce056064031ffb0c452f0","impliedFormat":1},{"version":"c991b4ab8278b08f73510d383ae74a9df03a876ba4aa66efa9d87d0bfdbf486b","impliedFormat":1},{"version":"232b55f1b20b63510304141f6c727f30d9e5bcaa0dbc7ca314d3433ae17e66ce","signature":"1043c497f77ed2451a49a4fde80a171b375ea0bc554ac33d929ae2858abba968"},{"version":"e15fd514d3cd04d013dee2da6552007114cd17534c053cd518fade984092e375","signature":"f928b250f56464d321a512ae80ae9a9cdbeec853f3c93f672f426e42d4a64059"},{"version":"65caacfa38aa1a1d355fa23afdfe3348e02d5afea3f9d420d1bf1244d742c535","signature":"edcfbd6f6493084dda84c63c9417cb1d416590b50a6400ef376380dd4b368cf6"},{"version":"cd022c5a34f9de91d8130b4a7ff9600fa17f3129e7b68eb27e8bac396da94e27","signature":"843330ee2523524ab81205761189fbda4045934773deaac8304a653a89c2b26a"},{"version":"afb5c44616d15e04c44ac6ee0abdb32983c1134a5dd3827f1bc701d73fb6199b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fe93c474ab38ac02e30e3af073412b4f92b740152cf3a751fdaee8cbea982341","impliedFormat":1},{"version":"f5705d196b442afbdbd971b6e44bad96f4e32afb53cebfa2e5afe3140017bfc6","impliedFormat":1},{"version":"1e00b8bf9e3766c958218cd6144ffe08418286f89ff44ba5a2cc830c03dd22c7","impliedFormat":1},{"version":"65cbb4a386921bfc89c179edd252af3111ef3b2bf1ed31cdf9c6971753ab284b","signature":"cf48fd24ed6fedc83571c12f4b61772768d19072695ea29872ce333a83b223a6"},{"version":"f16bd9ebe1b8bc63cf0b20b452d54036e7aa8e53ff70020d3fd2e9fe31fa77e0","signature":"325cb56ac5a8ae580ae4ad38545f301d38be5af6e06df0932d26143614b46545"},{"version":"a59526ebfcf02aa335eeef4d7c5ef4ee4ef47f8a702fec5efd22bcf34ca6c05a","signature":"0bc39dc388297e2ce321bbcc9f75407e1afa56a456c14a5deb533c1f6683ee2b"},{"version":"1a9394db306975810471381adabb6e56e9303ee877ada9a231566346a548b2ba","signature":"a4cf55cf0916b2b5b71bc055a596154bc44faf5b4e1f2dcf383cbc03fc4079be"},{"version":"7b3da78fdd3146c85afc94d1237b5ae56472bc48fca17a7502317c183f603118","signature":"33e8cebeb0e9014cddffb1bd6967251edca2c0e6f4b4607ffd054f0f757eb3c6"},{"version":"9e6a0cfebc97aa1f9b7bf2557382ef9f2ecfa91baf2dc5d52d114a6915237205","signature":"9e2b7a970acb37795476eb2e0e6ef9397c03a82abbba1e0bce24e23879279d0e"},{"version":"b64fe8de7ecadcc5b77a2bfb05979f07f687c4ceb371bbea04c63fb29e6e44ca","signature":"70b276f94971173c963d21dcf14c41aa82c0466373cda35f0dcffda72aac78ac"},{"version":"8c7da38e08e4ee7812e78c92b2df464c14df622bea24a30484f1b332a0e79779","signature":"c71f02f55f1f534aa71a54a16e930d47ca35aa9699ae7fe40d0b0024c35b201a"},{"version":"1c8dba38cd2f0b450dea3cbd776b5230436673e3933d21b7e89223ae7964d498","signature":"69cf45f0e77e26059c62a166ef6ca55c4f2c4cd9b4f766efb0eff62d5fcb4a67"},{"version":"e11e18d5b8d1a6fb1cc6eea0bb3fe8676a5b2cf716036feea8b4fff336ca6640","signature":"8fc67ddd42c820c7ce9d330fd429fbf2da5362b5424f80c2a5f3244f5f50f6c5"},{"version":"d71968ed1142146cb1381833baf1f5aa6556e00397af4f1eaccddb35662be6f9","signature":"801e74ce17d94e107be303c816254216fb816277b7d4c584e9f910be669fe0f6"},{"version":"108f68b95944ae7d83b4d099e3f04ec7cb3245e2c1e1caaf2cf642a5097d44d7","signature":"741b040c5ed3e80597053f0472b1cfa6e5f3e6fbbc5961d182327585f5769ee4"},{"version":"5cc035b7c8cd0c6b0c0a7c2e68e54c0e084982b41ba448fe856287682d3b50d0","signature":"6ce028076d966ca2177da2af76b859abc1a6a1f5252ddd2831d3668b81af8095"},{"version":"a81a0eea036dd60a2c2edc52466bb2853bef379c3b9de327fe9fff6e3c38e6c5","impliedFormat":1},{"version":"348c13a1c9160681e41bc5cd3cc519dd8170d38a36a30480b41849f60f5bf8a0","impliedFormat":1},{"version":"c772a37a02356897d6f9872e30fcc2108f43ad943cc112bd1acc5415a876e9f8","impliedFormat":1},{"version":"279248c34ecd223fc46224f86384ebf49c775eb69329ad644d3d99f1205f3e7d","impliedFormat":1},{"version":"74dedffc2d09627f5a4de02bbd7eedf634938c13c2cc4e92f0b4135573432783","impliedFormat":1},{"version":"1f2bbbe38d5e536607b385f04c3d2cbf1e678c5ded7e8c5871ad8ae91ef33c3d","impliedFormat":1},{"version":"3aa3513d5e13d028202e788d763f021d2d113bd673087b42a2606ab50345492d","impliedFormat":1},{"version":"f012173d64d0579875aa60405de21ad379af7971b93bf46bee23acc5fa2b76a4","impliedFormat":1},{"version":"dcf5dc3ce399d472929c170de58422b549130dd540531623c830aaaaf3dd5f93","impliedFormat":1},{"version":"ec35f1490510239b89c745c948007c5dd00a8dca0861a836dcf0db5360679a2d","impliedFormat":1},{"version":"32868e4ec9b6bd4b1d96d24611343404b3a0a37064a7ac514b1d66b48325a911","impliedFormat":1},{"version":"4bbea07f21ff84bf3ceeb218b5a8c367c6e0f08014d3fd09e457d2ffb2826b9c","impliedFormat":1},{"version":"873a07dbeb0f8a3018791d245c0cf10c3289c8f7162cdbbb4a5b9cf723136185","impliedFormat":1},{"version":"43839af7f24edbd4b4e42e861eb7c0d85d80ec497095bb5002c93b451e9fcf88","impliedFormat":1},{"version":"54a7ee56aadecbe8126744f7787f54f79d1e110adab8fe7026ad83a9681f136a","impliedFormat":1},{"version":"6333c727ee2b79cdab55e9e10971e59cbfee26c73dfb350972cfd97712fc2162","impliedFormat":1},{"version":"8743b4356e522c26dc37f20cde4bcdb5ebd0a71a3afe156e81c099db7f34621d","impliedFormat":1},{"version":"af3d97c3a0da9491841efc4e25585247aa76772b840dd279dbff714c69d3a1ec","impliedFormat":1},{"version":"d9ac50fe802967929467413a79631698b8d8f4f2dc692b207e509b6bb3a92524","impliedFormat":1},{"version":"34d017b29ca5107bf2832b992e4cee51ed497f074724a4b4a7b6386b7f8297c9","impliedFormat":1},{"version":"b75d56703daaffcb31a7cdebf190856e07739a9481f01c2919f95bde99be9424","impliedFormat":99},{"version":"b646f38fe19c1d8fa72b4736b329cb3f035410547a9158304ed6020d9d858bc8","signature":"2e92e26a539957daa7a99cd7e4a54b576ab7acf9214997cf9461c0ef866a28b1"},{"version":"6771ef5fbe637e8134f7967dc1238a102d47c4565d55d8aaabaa504e33b883f8","signature":"55028774add71c8a553cf1bc62515f028ccd5a9014b467a3f83515750738070d"},{"version":"1a5c8052279d906e2d5abf2f866b126c1d702d199abe0b0171d9a111aa1bdb49","signature":"4f25ab40289e8e4900dad829c06b6aa102268cb39963790949426e6f6e5508de"},{"version":"17959bea1c07a02e960a6abb6dc2b76fee68b518f6768db33e3bf81211acc99f","signature":"5d5d6411d6a2c9a11baf2b820a2b3d1e37e9f696e9bf5d8f2ffd1fdf172d09c5"},{"version":"c956a8498035db49b3a351fe4f7da36c155ec15d27bb44802b8349ebfc34160a","signature":"370475cfabcb3b420f82852ce94d1a6c4e0ee2478a14f39829ff02bc79ceb028"},{"version":"61548add80e1cfe788b6fd3af8256c097ca0c3a033f861de5662ab0fc9b38d63","signature":"d870380b279ca88c89db97f332a61f051fbc5000b151348df9ace8e2d82bae5a"},{"version":"8a56ac7e11d465fe195cb981a4681b8f500ba0ccc0f2bd584dac6f977e21e9b2","signature":"940d21e60314f263ad5f38def86fa76e8f4eeb8396c0577e0efc3ae9640c5de6"},{"version":"8779ef6b9edb33882a85edaba150a0378a35ff83a888bc332d98f904e0013d51","signature":"de631aa7fd99a8c92707ef269142872004a344fc5cbb35df49aff4658f24b8d6"},{"version":"ee4c1779c27bd58ce25abdca52b5100fbac78f9758b81173428afeb3a06e2928","signature":"901f0d8f7518f1393dc9c80d42a6ea61c5545ec66e7f80a2f17e18833fc89f1a"},{"version":"5730df43d52be31ef007534b70b01b9d3864cba7a223d12c740be782cc8f491c","signature":"7b19c29db78da0b295d52145f5a8c8926bdbe05316cddd45bfa891b869f8089e"},{"version":"afcf96e118455a6b2e65649a2ef28aaa70f0593e693ec75c4ddd8b5a68fadf86","signature":"15f9aa32f0d88edba00004aee54bc55cc0c79da615a6897fc1c63aa516d2fd5b"},{"version":"e10dc6606dec33ddbf49dfb311584fed48258387d4fdc63e2e3099cf3316bc90","signature":"b7826d3f1e7ea2dab860430e9c8ed3d00bdf4465279e957a18bbd404dadc3e31"},{"version":"a950e6602a8b89e221c6696eadd96f1f969d4927c7cd2a8686c664937a291c3c","signature":"ee2856fbc955acbffcc7b08698e5c846a6bbaa1cef107e837100fefdee86299b"},{"version":"7697b5c79fa763b9a27bc7cd33791f81d22a8082a115d38ebd15acbfa954ba78","signature":"fbd698540e016f4ac0c526ec9d71c56347e36373598949562e2f8611bf2ef6eb"},{"version":"bc4b1b3cdcf612882f01cdc68299e2eeaf24e57cbaaa4e6be5474d982f8abc39","signature":"a57465dfce3296d955e0ee5cf4ffd7c9cf95529700125a74614362ed02aee4f5"},{"version":"b64e4e4b1f0c82f25711dd163b84529eca05fa9311670677788ee4e25d6ae005","signature":"eaefd466bec4201cc35417995f31553b8b01b52713d2d856ce7a89b0d92e7e37"},{"version":"1bc53509e1766094e7cbe702ed8820a43e89515a558393dcf273468dfe5babca","signature":"146557827b38b2916cfbefdad876a09388975ebea9ce4023ff7ab64e55ba94eb"},{"version":"2d2a3451d1801b39fde9df004af4d235fa5581ce7d6fa6ab49ff222fc2331eae","signature":"516fa9bdd584eb5dc7ddccef1bf5fcab29973583a34c9a25018aac29920c2023"},{"version":"0b3bbebf0c6a6b5121c9d62d1541113a9ac3db91cd0cc08e2d5705239c16b7c3","signature":"c070695728e82facd438241ae2bd7963f980e6642fbbc23339df02bb05d641ce"},{"version":"0690049208cbb56942c2ad7d2a8dba7b5a0b3803a18861aafe4c5f20d4e1c5f1","signature":"111b7ba046a51d89e2eb536b2d54dd60df204675889970500c566a17dd855dbb"},{"version":"d469338f1463107b33d01775bbc0384f039ef3dd4397ab3c27615f5e243a789f","signature":"525a83b8b4fb505f1e33510cf87d758332a650c79ec819cfc8a44720c9e11556"},{"version":"50eae0983a73214de9bc2d44a275ab7e923b176566a49228f63df7cc2c0dcb64","signature":"b4dff931f0e2b4206119572a07b76c108ffa97b224226119acfa94c74617b1d6"},{"version":"727fa6e475a80c9656269f9793b2ff6eb9ae6f3d7637953b1873c83a59001dea","signature":"b490d52317e53e8de4fd5f554239dc93dd1439e58884193f7e6a986454c6722f"},{"version":"b8270e7c94765534fdfc1e58f6df9ec20ba1eef17f3ebdb1aca06dc50ed6141c","signature":"ad1ac1e6c5b78655198b21dadb508c10092f2eec7e09e9e91728e3a825960f22"},{"version":"a5f4a153510f045c3647f047f2efa4b1506770008272a24fe83d2e6e5e916b18","signature":"449ec902da103543dabfc3d568c5c127a64aa822ffcbdc72e36d989a6c8d3479"},{"version":"aa6aca1b3d4c91707ff6cf9a5088887a8e611db8cf2c2b700f8e58f3be607036","signature":"a013754e9c9372195578014767d9daa25f3a37a2cac34b96228225fbf6ba5c86"},{"version":"7f0cc554e33de28f1bb9e734d161596169694e44e50b0d3d4e011be821134180","signature":"e919070751c17e6c6af648b3c864251cc3e2ef8edd29c3065601d14f7120237f"},{"version":"c9cbcb9de0930c02998a3a46b35c34a684ac54d76a9d3c8feeb9a5edfda3ffda","signature":"4380ba8dda48544e6b271c3b9bbc98802ab7962dad4e47e0e361d87b586df8fe"},{"version":"5720c3159e99ad7e8eb8940a735a8253696f1a7635e209fc2d9c833000ea066a","signature":"5cacd83cc14fc0247cb4c79054b88d800fd2115ebf75393ba8e3329d93573c77"},{"version":"3168c83114c392806aefd84d10f1f7938ed826c4f6769bd0510cddb31270f0c0","signature":"217b72dd3f5c861d2bd45ee2f49b367fdfa225a2ff48f68d09289ebd1d64d617"},{"version":"ccb5f1380c78822e662e4755fb68beb52373330cab2ccbc6714990a42f8c10c9","signature":"bd467a6429a4d7da9c2f4f7baede68cd94764288b0939d222899a14a312e7cec"},{"version":"9edcaa14e241f336ce11fbb13dfad933a5b2bf82dac5adb263dccfc40b890476","impliedFormat":99},{"version":"e3954ab905c6b7b87abd112e8f4c37865e63a7c3e0d089e2a533bd6614e254f2","impliedFormat":99},{"version":"0fb59682975069330ff1ae73ff3536dcd8b3f882d1f499eac023fd5ab22b4662","impliedFormat":99},{"version":"e7a4acd437c3e337f6580360cfe0827f00bfc94641ece1b7af4d5f75dfe4dbdf","impliedFormat":99},{"version":"e64b8b239623500a8d3d43f7b78146b9a9868c559208e603cc6e6199f854173c","impliedFormat":99},{"version":"983f2d62a5fea3f795daea5091142b1deb67ceed9699ea05b5ff0fa9c5722ac8","signature":"d192259e5653779c2dffc50750a2dd891a84e45600c0e9d4eac39eab47737c72"},{"version":"c94f4a3b60c4d56c74dd6f8acf30e452b2703e29f844b697e4f8d420467f1fa1","signature":"f72757c8bfed29b817c1b8ffbfb71499e7957d51a5a672e0624d3ca00b5c80a0"},{"version":"c02e0f4976b734922abb5d68a6c15e3f07e28d84923edfe5739ac3d83dc6405a","signature":"10f861596460a444575746d17a8decd0f63ab4e0c47a995b6dd0b9478ec8dc39"},{"version":"180b5b21b4eb741aa5f065cb983ef2ff8f71a76cb83db4d883020401e09e68df","signature":"2af0673e5797f13598119b43b457f475d32620b9e982c5fc77fcc1d448f95561"},{"version":"af5124076dbe7662b7cb42a8d2d82085205f50ee3ea1bb1983825e064a1f91f7","signature":"d2db95ce6280e925b5b1e91092ccb0ba1f26d82240ce4de17fb7bd14b9b1b8ae"},{"version":"16796d8369a31ed22940f2d5c6ebca441eb6f3970b628913c91b58aff2400dec","signature":"617021a8407f9e18085a76742a472110c990858f4f891c4757d5437464c65a42"},{"version":"14b1d491bea4d6f3ddf6aff63d2f9eb4292effb212338d802d1774aef384514e","signature":"1c7b96efc4934bf375c9532e425db9420b16e60c96d13e8360d5dc0aac1ac50c"},{"version":"f3fad80daae47a4793735e4cae9682e61aa810a6981c96ff9c53540ffe28d0d4","signature":"7fe4d763556414f26f9a105b5aee8559c924f0b994417a4a7e01bd3953cc7098"},{"version":"7cb11cf7ee462913efd70233b29240ae74537af4dcbe6e6ac2bded72b5c25ec7","signature":"c52e333daeb1d1e05ab0205d1b5e7b6ec23f6518d11b56cf0e5c8c69f3de6a27"},{"version":"c3ad67cca5d7ee10867e2ab3408da6680fbbbded54d6313c6107a824a80e63ec","signature":"24823b6d0199de6d6f4b6239435f8c19ef0d35ae2a7cf494d5261fe5ee90be88"},{"version":"f4adb3576376407d1f7a90f21c0d7ec0657b20c10d48239efa51f4562e0dd451","signature":"91947a6885a3f483787bf1c6dbc19ecc2d8976d26942701ac3ff1df939836ac2"},{"version":"cfe6ad7d453686c1a03915bf4926a4293fb7c055eb8e264be0093678eb7e7872","signature":"b035d9ebd86bead78b7681f4e0baddb98f7b3d6781477164cefae6658ed33b7a"},{"version":"e41a1b01a0e5f60cf974a577e964d72a98d48d7678a97ac7b8a4d72c5a9da4e8","signature":"34cad735b48de7b6a9c29ea0760fbf0cb638817af7064e7803fa7d748070d995"},{"version":"3ff992ef7f5cd48fb95d0a8f76e37a1a930c624c43d4e2de4e350e32efbc55f1","signature":"4b6ee5c7fc5778390685788b994fd66f38eecea26e84fefabb7fa1bef0cbe63f"},{"version":"4cac53e726832ba9f802152898bba71e67cce8b71cdf65b97645141eb119b017","signature":"50e6fdafd43addc7f683824647a0a138619ebc2fe750e79d0f2dea6127cf20c0"},{"version":"b9ba180528e0ea34555c1806009666d1410fbb903d9c83af9cb6f7f9529fb29f","signature":"0be0badd6525a1cf42d0812985ebd504bc3b946817197b0a0e3236fe14bf2e3f"},{"version":"fc47aaa9bc9770c09325dfe5079e2acdbaafd52f5034c77f86c9ce64afc88317","impliedFormat":1},{"version":"a776c6d004117c04952de1fe28ed3decd91e7f74f20ead15ecfff8398262d5ec","signature":"cc196972ba073ddf7ae15707bd8747040de3104e196ce1445bb2fac40ced6d85"},{"version":"fecaef0b025e03681adacd216eb0962745a29bdc3b4dc0dfb683b1d536a739d0","signature":"03937876f986bd3c80a25bcde9bedd562e736ad1e39980e12a294f368c0e2157"},{"version":"f7d3613e8996d7e152fa158df1fdbfaf2a994b351193d334d44de26d0eece1b7","signature":"15608aa80f70852d2f51d0a089639de08626a3ab6b49b27261bd045d595d6976"},{"version":"bfe27f03f05badcff7d5fa012a6bcde9d6ed38ffe799ac40a540851ed11d75dc","signature":"b633f945de6ba0936f71fac2077dd6dc3b01f3e8a6670ece054ebce1b3f50b22"},{"version":"570f4ba8501cceea1a57b6be7e47e08a86e1ba0b40aef5f571bdd11e2fbcdf71","signature":"9b0fc84934fe47863b2b614f2855a7aa0e88a38dc2cdb49f2c83983c615a5cb3"},{"version":"2ab06735fa97917a2bd36397e7f7526851f5dee5f21c7b357f7ac11f3f33dbd2","signature":"74f7141a41f4fb646176486a9bda7ad6ce22202a2c46afcb42a691fdc4261c15"},{"version":"2bb574c3d5031b16ea903d791d5064f1c4f4c7bc587672390afaa63a617a83bc","signature":"af84054c9bbd37500c026a1453c398ad1b002598c1e3adea687daa440a08933e"},{"version":"cc38192081a66abb7cb1bd2b22d6f351147e268c2a0f3e9619fdb646509d9d6c","signature":"ee8f7490d800ed0d3034d1323f59c9b3f84bc6eff75eab4659b22e0c24ed91d1"},{"version":"f0f4c585862bb04477dbeb71aa2df8364755565d8fbb78e52dd62be66b229628","signature":"62078e13c0629f619120e6439193760e66dab737560a7bbf73492b17e2b623e6"},{"version":"f8ce8be585eadd785d32dbe087cac8e96503c16004fa6b5ec5cb185805da46a1","signature":"0157a779263bb0ac1edfa28f73bebf5cde42617bd38bac8015e639eddd1a1a44"},{"version":"2cd9d1f20b53d8e2000d63b190d6a702415beadf54d2e8130006c9914bed3c53","signature":"dbcf12cbb3fc513eaa953a2382bda83342b82809560db86b3124269002ca4036"},{"version":"a4562fd63f900a3bba4e0931942781a0d59c2e6dc50f78a4e0433cd6cf796e8c","signature":"efe5302deed61111fa47beb030820be816ff03963bc6aa2b45ea2ed345a65915"},{"version":"d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","impliedFormat":1},{"version":"a510938c29a2e04183c801a340f0bbb5a0ae091651bd659214a8587d710ddfbb","impliedFormat":99},{"version":"07bcf85b52f652572fc2a7ec58e6de5dd4fcaf9bbc6f4706b124378cedcbb95c","impliedFormat":99},{"version":"4368a800522ca3dd131d3bbc05f2c46a8b7d612eefca41d5c2e5ac0428a45582","impliedFormat":99},{"version":"720e56f06175c21512bcaeed59a4d4173cd635ea7b4df3739901791b83f835b9","impliedFormat":99},{"version":"349949a8894257122f278f418f4ee2d39752c67b1f06162bb59747d8d06bbc51","impliedFormat":99},{"version":"364832fbef8fb60e1fee868343c0b64647ab8a4e6b0421ca6dafb10dff9979ba","impliedFormat":99},{"version":"dfe4d1087854351e45109f87e322a4fb9d3d28d8bd92aa0460f3578320f024e9","impliedFormat":99},{"version":"886051ae2ccc4c5545bedb4f9af372d69c7c3844ae68833ed1fba8cae8d90ef8","impliedFormat":99},{"version":"3f4e5997cb760b0ef04a7110b4dd18407718e7502e4bf6cd8dd8aa97af8456ff","impliedFormat":99},{"version":"381b5f28b29f104bbdd130704f0a0df347f2fc6cb7bab89cfdc2ec637e613f78","impliedFormat":99},{"version":"a52baccd4bf285e633816caffe74e7928870ce064ebc2a702e54d5e908228777","impliedFormat":99},{"version":"c6120582914acd667ce268849283702a625fee9893e9cad5cd27baada5f89f50","impliedFormat":99},{"version":"da1c22fbbf43de3065d227f8acbc10b132dfa2f3c725db415adbe392f6d1359f","impliedFormat":99},{"version":"858880acbe7e15f7e4f06ac82fd8f394dfe2362687271d5860900d584856c205","impliedFormat":99},{"version":"8dfb1bf0a03e4db2371bafe9ac3c5fb2a4481c77e904d2a210f3fed7d2ad243a","impliedFormat":99},{"version":"bc840f0c5e7274e66f61212bb517fb4348d3e25ed57a27e7783fed58301591e0","impliedFormat":99},{"version":"26438d4d1fc8c9923aea60424369c6e9e13f7ce2672e31137aa3d89b7e1ba9af","impliedFormat":99},{"version":"1ace7207aa2566178c72693b145a566f1209677a2d5e9fb948c8be56a1a61ca9","impliedFormat":99},{"version":"a776df294180c0fdb62ba1c56a959b0bb1d2967d25b372abefdb13d6eba14caf","impliedFormat":99},{"version":"6c88ea4c3b86430dd03de268fd178803d22dc6aa85f954f41b1a27c6bb6227f2","impliedFormat":99},{"version":"11e17a3addf249ae2d884b35543d2b40fabf55ddcbc04f8ee3dcdae8a0ce61eb","impliedFormat":99},{"version":"4fd8aac8f684ee9b1a61807c65ee48f217bf12c77eb169a84a3ba8ddf7335a86","impliedFormat":99},{"version":"1d0736a4bfcb9f32de29d6b15ac2fa0049fd447980cf1159d219543aa5266426","impliedFormat":99},{"version":"11083c0a8f45d2ec174df1cb565c7ba9770878d6820bf01d76d4fedb86052a77","impliedFormat":99},{"version":"d8e37104ef452b01cefe43990821adc3c6987423a73a1252aa55fb1d9ebc7e6d","impliedFormat":99},{"version":"f5622423ee5642dcf2b92d71b37967b458e8df3cf90b468675ff9fddaa532a0f","impliedFormat":99},{"version":"21a942886d6b3e372db0504c5ee277285cbe4f517a27fc4763cf8c48bd0f4310","impliedFormat":99},{"version":"41a4b2454b2d3a13b4fc4ec57d6a0a639127369f87da8f28037943019705d619","impliedFormat":99},{"version":"e9b82ac7186490d18dffaafda695f5d975dfee549096c0bf883387a8b6c3ab5a","impliedFormat":99},{"version":"eed9b5f5a6998abe0b408db4b8847a46eb401c9924ddc5b24b1cede3ebf4ee8c","impliedFormat":99},{"version":"af85fde8986fdad68e96e871ae2d5278adaf2922d9879043b9313b18fae920b1","impliedFormat":99},{"version":"8a1f5d2f7cf4bf851cc9baae82056c3316d3c6d29561df28aff525556095554b","impliedFormat":99},{"version":"2c823e44b7aef6502cdbcb8e6b2a3f10300219b5b94a498d98706b66e0ac12c9","signature":"d05cdde5a88e7c3ee725f4783575b81853295b3e32243e8a9b6a60ff073889d2"},{"version":"112b662745cfe4a133ab24cc26489706dc0a6f8ccefd4d09fd8db66873b2db4e","signature":"e489da6130474d966af11ec19ccbc47179d27d4b1ec3ed96b8c3eb640254cb64"},{"version":"a93b141af25e401c20417b04c94e8ca4a81d6faac4472f9da0f3a6a8c8b13b7a","signature":"6597271c8ff378fa6a11192dfcd88c6e11067a502213a2c20c8541a8a21984b8"},{"version":"466e6198d0e8f74258f2af51a9f57c346019b5c10b36b2a56e165c2cf35bb346","signature":"270bd604cb5498de3612dbff8cc7e93c32ce404c0e6809a598e3abf7825ccc75"},{"version":"09cab2cb1f80db4ebb13d4e7b2782f9e993f09af82508f01cc7c023f0db76155","signature":"d4e2ccb01e03009b6d9efb5b9d5f949d296a55966d164d97cd1862cf43a0f220"},{"version":"f26a848f45c71a7d2d0b4bb239d8469788f0a674c286d0d09a5e2953d7a6f248","signature":"5479b9eb983587140f49ba93b8da22defda965082a506c6bce6701e6bd8a07cd"},{"version":"2c6f51d12755e6c90597fd38117271e83c281e2a3c9e1ec2bd8dbbcd5c28069f","signature":"2f51ac914c15319a173b3cc18e93dd70be6935d8cfb75aef178585ae843d9f44"},{"version":"27d713d70bca974cc8f3aa4b6ab15d1df28a57995c690006ec08b1f9698be6fe","signature":"a64b24855b03d171f4132d50ae1f918ace79f36e88438589ab7bb6823884df9a"},{"version":"37c09d6949d80db68bb32167e98d0fa0035283d87de44c9edcf85d7b734c5a74","signature":"681b7b64b80180ceea95447cd309cf2142b50ff83518fd98be41035ed1f6a982"},{"version":"01a2d8ca93b05dbaecae197865f6bc043664487c881f81e5eed0a7e2808a02bc","signature":"430df2d0295d0f521c1a703aa278eb3eba8b6f794fd92e259203ac780091c03c"},{"version":"ac044a7a34f306aee16b19ce75a4cf2715f2979e4f9cdc54fdb72ba47ce81970","signature":"67dabb71f5eabbb97a46f9484a4b13e1af4f7a8add3eb579ffdb5082a6d71b16"},{"version":"233ac954d5d751a459f3af17a105f0050a39169a26831a01c9fb06bddbb26cda","signature":"e1640fe408f9c3c109e626c9d76346861a897d4aa094b3b0639adc0e721008d7"},{"version":"c74fa3619b9b051debc2cf793eeede6bf3d43f8a2342870a224e25c32503e8e9","signature":"90cc0ff80f1f3547017c2f9b11659b3a177da5bf7757d8749c7fbf131c606636"},{"version":"61ade85ce4280272feffcd55c7375d50c21b2ff580396561ba2770c549235d0c","signature":"909b1f35671d97e01b041add10e76d4247a7ed0e478de667ac54b73a2dda6fca"},{"version":"3bac135aab166beb4373ce12017aa4afbffc37d3ef4e803d6fdb72ba5e071070","signature":"c83dccdb6f44e24c1fad277fba1a1cc50be8c0954118cceb82b407051273d227"},{"version":"d981bed1e8964c88dbf9493443d8b0736b9816169dd8a50be95a8be6923b463e","signature":"40e93b7a8225ba3beaeab6c675cc64115ddf43ebbdd490d7578e9d4b6f1d0cc1"},{"version":"b6c0d04e3c19a47f9d1b6a288436eb3a3839bc08dd9fb56e700c6feb2024108c","signature":"0c4fcbb188842315c1999bd9fb0ae5af6e8c9daa068a0ec95458996c4597f528"},{"version":"f4e8f4151c3490cf7b68c685aabe901cbab19f962aaa2f118a97550e22689a76","impliedFormat":1},{"version":"799003c0ab928582fca04977f47b8d85b43a8de610f4eef0ad2d069fbb9f9399","impliedFormat":1},{"version":"d998eea476c695d8e4ff9d007d5b46d49ca2ffa052f74dc20ca516425abd57b1","impliedFormat":1},{"version":"a0bd46d587005aad4819980f6cf2dbcd80ebf584ed1a946202326a27158ba70e","impliedFormat":1},{"version":"07fcbb61a71bd69a92a5bbde69e60654666cf966b5675c2010c3bf9f436f056a","impliedFormat":1},{"version":"88b2eb23d36692162f2bf1e50577ebcde26de017260473e03ed9a0e61e2726a4","impliedFormat":1},{"version":"23ffbd8c0e20a697d2ea5a0cf7513fb6e42c955a7648f021da12541728f62182","impliedFormat":1},{"version":"43fba5fc019a4ce721a6f53ddb97fdc34c55049cfb793bc544d5c864ee5560b9","impliedFormat":1},{"version":"f4e12292c9a7663a13d152195019711c427c552eb0fa02705e0f61370cd5547a","impliedFormat":1},{"version":"c127ebf14d1b59d1604865008fb072865c5ca52277621f566092fe1f42ce0954","impliedFormat":1},{"version":"def638da26d84825a312113a20649d3086861de7c06a18ea13121278702976fd","impliedFormat":1},{"version":"fbaf86f8ba11298dea2727ce0da84b4ab6ae6c265e1919d44aff7d9b2bbc578a","impliedFormat":1},{"version":"c1010caaeaca8e420c6e040c2e822dbe18702459c93a7d2d5de38597d477b8cd","impliedFormat":1},{"version":"e1f0d8392efd9d71f2644eb97d3f33d90827e30ea8051d93b6f92bb11dff520a","impliedFormat":1},{"version":"085211167559ca307d4053bb8d2298d5ad83cbc3d2ae9bb4c8435a4cabf59369","impliedFormat":1},{"version":"55fc49198d8a85a73cdb79e596d9381cfdc9de93c32c77d42e661c1c1e7268ef","impliedFormat":1},{"version":"6a53fb3df8dd32ed1a65502ca30aeae19cfe80990e78ba68162d6cb2a7fed129","impliedFormat":1},{"version":"b5dcc18d7902597a5584a43c1146ca4fe0295ceb5125f724c1348f6a851dd6ed","impliedFormat":1},{"version":"0c6b0f3fbe6eb6a3805170b3766a341118c92ed7b6d1f193b9f35aa82f594846","impliedFormat":1},{"version":"60eaadb36cf157c5cae9c40e84fa367d04f52a150db3920dbe35139780739143","impliedFormat":1},{"version":"4680a32b1098c49dc87881329af1e68af9af94e051e1b9e19fed555a786f6ce6","impliedFormat":1},{"version":"89fcd129ec37f321cddcdb6b258ffe562de4281e90ec3ccbe7c1199ba39359ca","impliedFormat":1},{"version":"4313011f692861c2c1f5205d7f9a473e763adab6444f9853b96937b187fb19f7","impliedFormat":1},{"version":"caa57157e7bdb8d5f1efe56826fb84a6c8f22a1927bba7fa21fd54e2a44ccba2","impliedFormat":1},{"version":"6b74700abfe4a9b88be957fd8e373cfd998efb1a5f6ad122da49a92997e183ad","impliedFormat":1},{"version":"9ef1342f193bd8bae86c64e450c3ac468ef08652110355e1f3cdd45362eb95c4","impliedFormat":1},{"version":"6853c91662c36a2bf4c8371a87177c819007c76a23c293ef3f686ce9157ae4c8","impliedFormat":1},{"version":"9be1c5dabce43380d13fc621100676b03d420b5687b08d1288f479bee68ab7a8","impliedFormat":1},{"version":"8996d218010896712678e6a0337d8ef8b81c1066ab76f637dd8253f0d6ff838d","impliedFormat":1},{"version":"a15603bf387fc45defe28a68f405a6c29105e135c4e8538eeb6d0a1ef5b69a81","impliedFormat":1},{"version":"84e2532e4d42949a2775cdd8bb7b2b97370dd6ddb683d0c199b21bf6978b152d","impliedFormat":1},{"version":"22bf5f19f620db3b8392cfece44bdd587cdbed80ba39c88a53697d427135bf37","impliedFormat":1},{"version":"23ebbd8d484d07e1c1d8783169c20570ed8409966b28f6be6cf8e970d76ef491","impliedFormat":1},{"version":"18b6fa2c778cad6489f2febf76433453f5e2432ec3535f2d45ae7d803b93cc17","impliedFormat":1},{"version":"609d0d7419999cf44529e6ba687e2944b2fc7ad2570d278fd4e6b1683c075149","impliedFormat":1},{"version":"249cf421b8878a3fe948d9c02f6b0bae65491b3bb974c2ffc612341406fa78ff","impliedFormat":1},{"version":"b4aa22522d653428c8148ddbf1dcc1fb3a3471e15eb1964429a67c390d8c7f38","impliedFormat":1},{"version":"30b2cee905b1848b61c7d28082ebfa2675dd5545c0d25d1c093ce21a905cdccc","impliedFormat":1},{"version":"0a2a2eed4137368735205de97c245f2a685af1a7f1bf8d636b918a0ee4ff4326","impliedFormat":1},{"version":"69f342ce86706aa2835a62898e93ea7a1f21b1d89c70845da69371441bb6cd56","impliedFormat":1},{"version":"b5ab4282affcfd860dd1cc3201653f591509a586d110f8e5b1b010508ba79b2c","impliedFormat":1},{"version":"d396233f6cd3edf0d33c2fbfc84ded029c3ea4a05af3c94d09d31a367cced111","impliedFormat":1},{"version":"bc41a726c817624a5136ae893d7aac7c4dc93c771e8d243a670324bccf39b02b","impliedFormat":1},{"version":"710728600e4b3197f834c4dd1956443be787d2e647a72f190bf6519f235aaadd","impliedFormat":1},{"version":"a45097e01ef30ba26640fed365376ab3ccd5faf97d03f20daff3355a7e60286a","impliedFormat":1},{"version":"763cbb7c22199f43fd5c2b1566af5ba96bf7366f125dd31a038a2291cbc89254","impliedFormat":1},{"version":"031933bf279b7563e11100b5e1746397caf3a278596796a87bc0db23cf68dc9e","impliedFormat":1},{"version":"a4a54c1f58fc6e25a82e2c0f651bf680058bd7f72cfb2d43b85ee0ab5fe2e87e","impliedFormat":1},{"version":"9613d789b6f1037f2523a8f70e1b736f1da4566b470593da062be5c9e13dac57","impliedFormat":1},{"version":"0d2a320763a0c9c71493f8f1069971018c8720a6e7e5a8f10c26b6de79aa2f7d","impliedFormat":1},{"version":"817e0df27a237a268dc16e5acffc19f9a74467093af7a0ba164ee927007a4d25","impliedFormat":1},{"version":"43102521b5ca50ff1865188c3c60790feaed94dc9262b25d4adec4dbc76f9035","impliedFormat":1},{"version":"f99947f8d873b960b0115e506ef9c43f4e40c2071b1d20375564538af4a6023b","impliedFormat":1},{"version":"c1e5ad5ca89d18d2a36d25e8ec105623648cf35615825e202c7d8295a49d61ab","impliedFormat":1},{"version":"2b6c9cb81da4e0a2e32a58230e8c0dec49fc5b345efb7f7a3648b98956be4b13","impliedFormat":1},{"version":"99e34af3ede50062dcc826a1c3ce2d45562060dfd0f29f8066381a6ef548bf2a","impliedFormat":1},{"version":"49f5c2a23ea5fc4b2cdb4426f09d1c8b83f8409fa2af13ef38845cc9b9d4bc3d","impliedFormat":1},{"version":"e935227675144b64ecde3489e4a5e242eeb25fdd6b7464b8c21ad1f7a0faa88b","impliedFormat":1},{"version":"b42e6bbe88dc79c2d6dc5605fb9c15184e70f64bdd7b8d4069b802b90ce86df6","impliedFormat":1},{"version":"b9cd712399fdc00fdae07e96c9b39c3cb311e2a8a5425f1bd583f13cab35e44b","impliedFormat":1},{"version":"5a978550ae131b7fef441d67372fd972abab98ea9fdb9fa266e8bdc89edcb8d6","impliedFormat":1},{"version":"4f287919cfc1d26420db9f0457cd5c8780b1ef0a9f949570936abe48d3a43d91","impliedFormat":1},{"version":"496b23b2fd07e614bc01d90dd4388996cb18cd5f3a612d98201e9f683e58ad2e","impliedFormat":1},{"version":"dcfbe42824f37c5fb6dc7b9427ef2500791ec0d30825ecb614f15b8d5bf5a667","impliedFormat":1},{"version":"390124ad2361b46bf01851d25e331cd7eed355d04451d8b2a4aa985c9de4f8ce","impliedFormat":1},{"version":"14d94f17772c3a58eda01b6603490983d845ee2012cd643f7497b4e22566aacb","impliedFormat":1},{"version":"03ef2386c683707ce741a1c30cb126e8c51a908aa0acc01c3471fafb9baaacd5","impliedFormat":1},{"version":"66a372e03c41d2d5e920df5282dadcec2acae4c629cb51cab850825d2a144cea","impliedFormat":1},{"version":"5b48ba9a30a93176a93c87f9e0abf26a9df457eeb808928009439ca578b56f27","impliedFormat":1},{"version":"4707625392316d3c16edbd0716f4ac310e8ff5d346d58f4d01a2b7e0533a23df","impliedFormat":1},{"version":"154d58a4b2d9c552dc864ea39c223d66efd0ed2dd8b55bd13db5225d14322915","impliedFormat":1},{"version":"6a830433fa072931b4ea3eb9aa5fa7d283f470080586a27bfe69837a0f12de9a","impliedFormat":1},{"version":"d25e930e181f4f69b2b128514538f2abb54ef1d48a046ad776ac6f1cda885a72","impliedFormat":1},{"version":"0259b4c21bc93b52ca82c755f97fc90481072bcc44a8010131b2ea7326cf03fe","impliedFormat":1},{"version":"bea43a13a1104a640da0cb049db85c6993f484a6cc03660496b97824719ecc91","impliedFormat":1},{"version":"0224239d61fe66d4900544d912b2e11c2cca24b4707d53fdb94b874a01e29f48","impliedFormat":1},{"version":"2bce8fd2d16a9432110bbe0ba1e663fd02f7d8b8968cd10178ea7bc306c4a5df","impliedFormat":1},{"version":"9c4ad63738346873d685e5c086acbf41199e7022eff5b72bb668931e9ca42404","impliedFormat":1},{"version":"cfb6329bf8ce324e83fe4bbdee537d866a0d5328246f149a0958b75d033de409","impliedFormat":1},{"version":"efc3816f19ea87a7050c84271ea3d3aad9631a517c168013c4f4b6724c287ce0","impliedFormat":1},{"version":"f99f6737336140047e8dd4ade3859f08331aa4b17bc2bd5f156a25c54e0febbc","impliedFormat":1},{"version":"12a2b25c7c9c05c8994adf193e65749926acfcc076381f7166c2f709a97bdf0a","impliedFormat":1},{"version":"0f93a3fdd517c1e45218cd0027c1d6b82237e379dc6b66d693aab1fe74c82e81","impliedFormat":1},{"version":"03c753da0bee80ad0d0f1819b9b42dfe9bf9f436664caf15325aa426246fd891","impliedFormat":1},{"version":"18f5bf1dae429c451f20171427c9e3223fade4346af4dfd817725cbeb247a09d","impliedFormat":1},{"version":"a4eece5fab202e840dd84f7239e511017a8162edb8fc8b54ff2851c5c844125c","impliedFormat":1},{"version":"c4a94af483a63bf947d89f97553a55df5107c605ec8a26f0b9b8bdcc14bd6d89","impliedFormat":1},{"version":"19de2915ccebc0a1482c2337b34cb178d446def2493bf775c4018a4ea355adb8","impliedFormat":1},{"version":"9be8fc03c8b5392cd17d40fd61063d73f08d0ee3457ecf075dcb3768ae1427bd","impliedFormat":1},{"version":"3b568b63f0e8b3873629a4d7a918dce4266ad41461004ab979f8dcdfd13532bb","impliedFormat":1},{"version":"a5e5223c775fe30d606b8aaa521953c925d5ad176a531c2b69437d2461aaabbd","impliedFormat":1},{"version":"8cbf41d2d1ce8ac2066783ae00613c33feef07493796f638e30beaf892e4354a","impliedFormat":1},{"version":"e22ad737718160df198cd428f18da707177d0467934cecdeed4be6e067b0c619","impliedFormat":1},{"version":"15bf5ed8cb7c1a1e1db53fa9b45bc1a1c73c0497735343a8d0c59fdb596a3744","impliedFormat":1},{"version":"791fce84bce8b6948e4f23422d9cbbd7d08c74b3f91cca12dcae83d96079798b","impliedFormat":1},{"version":"8a2619c8e24305f6b9700b35af178394b995dcb28690a57a71cca87ee7e709ae","impliedFormat":1},{"version":"f95fd2fc3cc164921a891f5d6c935fa0d014a576223dd098fc64677e696b0025","impliedFormat":1},{"version":"8c9cecaaa9caba9a8caa47f46dcf24b524b27899b286d8edcc75a81b370d2ba3","impliedFormat":1},{"version":"2b7a82692ecc877c5379df9653902e23f2d0d0bc9f210ec3cf9e47be54413c5c","impliedFormat":1},{"version":"e2ad09c011cf9d7ee128875406bef787eeb504659495f42656a0098c15fe646c","impliedFormat":1},{"version":"eb518567ea6b0b2623f9a6d37c364e1b1ac9d8b508d79e558f64ac05c17e2685","impliedFormat":1},{"version":"630a48fb8f6b07161588e0aee3f9d301c59c97e1532c884118f89368baf4073b","impliedFormat":1},{"version":"14736c608aa46120f8d6d0bc5e0721b46b927bc7eba20e479600571935f27062","impliedFormat":1},{"version":"7574803692d2230db13205a7749b9c3587dccaccdf9e76f003f9e08078bb6d09","impliedFormat":1},{"version":"f3cc1588e666651c51353b1728460bee8acbc6e0f36be8c025eaaf292dca525d","impliedFormat":1},{"version":"0d4ea8a20527dcf3ad6cf1bd188b8ad4e449df174fad09b9e540ed81080af834","impliedFormat":1},{"version":"aa82876d59912d25becff5a79ed7341af04c71bfeb2221cc0417bc34531125e2","impliedFormat":1},{"version":"6f4b0389f439adc84cba35d45428668eabcfbdd351ba17e459d414ca51ab8eb8","impliedFormat":1},{"version":"d5dd33d15fbb07668c264b38065ac542a07a7650af4917727bbc09b58570e862","impliedFormat":1},{"version":"7d90202d0212e9cdc91a20bfddf04a539c89f09fe1d64db3343546fa2eb37e71","impliedFormat":1},{"version":"1a5d073c95a3a4480b17d2fa7fd41862a9df0cb2afaee86834b13649e96bdb45","impliedFormat":1},{"version":"2092495a5b3116c760527a690c4529748f2d8b126cdd5f56b2ce2230b48aba3f","impliedFormat":1},{"version":"620b29d6adbd4061bc0a8fedf145fcc8e8fc9648fb6e0a39726e33babb4e07bc","impliedFormat":1},{"version":"931eda51b5977f7f3fa7a0d9afde01cfd8b0cc1df0bb66dcf8c2cf6e7090384e","impliedFormat":1},{"version":"b084a412374bdd124048c52c4e8a82d64f3adec6c0a9ad5ecbb7317636039b0f","impliedFormat":1},{"version":"11199daa694c3ced3cc2a382a3fa7bd64e95eb40f9bbc3979fc8fb43f5ba38cc","impliedFormat":1},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":1},{"version":"dfb53b9d748df3e140b0fddb75f74d21d7623e800bb1f233817a1a2118d4bb24","impliedFormat":1},{"version":"8cfc293b33082003cacbf7856b8b5e2d6dd3bde46abbd575b0c935dc83af4844","impliedFormat":1},{"version":"7730c538d6d35efe95d2c0d246b1371565b13037e893178033360b4c9d2ac863","impliedFormat":1},{"version":"b256694544b0d45495942720852d9597116979d52f2b53c559fda31f635c60df","impliedFormat":1},{"version":"794e8831c68cc471671430ee0998397ea7a62c3b706b30304efdc3eaff77545a","impliedFormat":1},{"version":"9cfc1b227477e31988e3fb18d26b6988618f4a5da9b7da6bc3df7fc12fb2602e","impliedFormat":1},{"version":"264a292b6024567dd901fdabbf3239a8742bea426432cdbda4cf390b224188e1","impliedFormat":1},{"version":"f1556a28bb8e33862dcfa9da7e6f1dca0b149faf433fe6a50153ae76f3362db1","impliedFormat":1},{"version":"1d321aea1c6a77b2a44e02e5c2aeff290e3f1675ead1a86652b6d77f5fea2b32","impliedFormat":1},{"version":"4910efc2ce1f96d6e71a9e7c9437812ffae5764b33ab3831c614663f62294124","impliedFormat":1},{"version":"e3ceab51a36e8b34ab787af1a7cf02b9312b6651bac67c750579b3f05af646c1","impliedFormat":1},{"version":"baf9f145bcee1b765bed6e79fd45e1ff0ca297a81315944de81eb5d6fff2d13d","impliedFormat":1},{"version":"2afd62362b83db93cd20de22489fe4d46c6f51822069802620589a51ccad4b99","impliedFormat":1},{"version":"9f0cd9bd4ab608123b88328c78814738cbdee620f29258b89ef8cd923f07ff9c","impliedFormat":1},{"version":"801186c9e765583c825f28dab63a7ad12db5609e36dc6d9acbdc97d23888a463","impliedFormat":1},{"version":"96c515141c6135ccd6fb655fb9e3500074a9216ba956fb685dc8edc33f689594","impliedFormat":1},{"version":"416af6d65fc76c9ced6795f255cb1096c9d7947bede75b82289732b74d902784","impliedFormat":1},{"version":"a280c68b128ebba35fb044965d67895201c2f83b6b28281bb8b023ade68bf665","impliedFormat":1},{"version":"6fa118f15723b099a41d3beea98ed059bcd1b3eda708acf98c5eff0c7e88832f","impliedFormat":1},{"version":"dcbf582243e20ea50d283f28f4f64e9990b4ed4a608757e996160c63cff6aa99","impliedFormat":1},{"version":"efa432d8fd562529c4e9f859fd936676dd8fef5d3b4bedb06f754e4740056ea9","impliedFormat":1},{"version":"a59b66720b2ccf2e0150fafb49e8da8dabdf4e1be36244a4ccd92f5bd18e1e9e","impliedFormat":1},{"version":"c657fb1ec3b727d6a14a24c71ea20c41cb7d26a503e8e41b726bb919eb964534","impliedFormat":1},{"version":"50d6d3174868f6e974355bf8e8db8c8b3fcf059315282a0c359ecf799d95514a","impliedFormat":1},{"version":"86bf79091014a1424fc55122caa47f08622b721a4d614b97dd620e3037711541","impliedFormat":1},{"version":"7a63313dff3a57f824a926e49a7262f7bd14e0e833cf45fa5af6da25286769c2","impliedFormat":1},{"version":"36dcaeffe1a1aed1cb84d4feba32895bf442795170edccc874fa32232b2354e5","impliedFormat":1},{"version":"686c6962d04d90edafc174aa5940acb9c9db8949c8d425131c01d796cf9a3aef","impliedFormat":1},{"version":"2b1dbc3d5762d6865744b6e7be94b8b9004097698c37e93e06983e42dd8fe93b","impliedFormat":1},{"version":"eb5e8f74826bdf3a6a0644d37a0f48133f8ad0b5298cc2c574102868542ba4eb","impliedFormat":1},{"version":"c6a82a9673ba517cf04dd0803513257d0adf101aed2e3b162a54d840c9a1a3b2","impliedFormat":1},{"version":"fc9f0f415abaa323efcecc4a4e0b6763bfe576e32043546d44f1de6541b6399b","impliedFormat":1},{"version":"2c4d772ac7ac56a44deef82903364eb7c78dd7bc997701123df0ce4639fe39bb","impliedFormat":1},{"version":"9369ef11eed17c1c223fdea9c0fa39e83f3722914ef390b1448db3d71620c93a","impliedFormat":1},{"version":"aa84130dbc9049bba6095f87932138698f53259b642635f6c9e92dd0ddc7512c","impliedFormat":1},{"version":"084ceadd21efabd4b58667dca00d4f644306099151d2ee18cd28a395855b8009","impliedFormat":1},{"version":"b9503e29f06c99b352b7cae052da19e3599fa42899509d32b23a27c9bb5bebf6","impliedFormat":1},{"version":"75188920fe6ccc14070fe9a65c036049f1141d968c627b623d4a897ec3587e15","impliedFormat":1},{"version":"e2e1df7f45013d2b34f8d08e6ae5a9339724b0ea251b5445fcca3e170e640105","impliedFormat":1},{"version":"af06feb5d18a6ea11c088b683bdb571800d1f76b98d848eecdf41e5ec8f317fd","impliedFormat":1},{"version":"0596af52b95e0c8adc2c07f49f109d746b164739c5866fa8bb394dd6329a3725","impliedFormat":1},{"version":"c3365d08fe7a1ccc3b8e8638edc30123007f3241b4604e2585b9f14422ab97d8","impliedFormat":1},{"version":"a7a3d96b04bb0ec8cb7d2669767c4756f97dd70d08548f9e6522dde4de8e8a03","impliedFormat":1},{"version":"745e960e885a4ba04c872225cbb44bd67a7490d169ceaefab7c0dfc444768676","impliedFormat":1},{"version":"0b1ce1768cde3535493a9daf99e3bbb8c7dcc3a7f9d8cd358cb846af71ce5cdf","impliedFormat":1},{"version":"48b9603f6e8a7c94b727277592a089f94261baa64e6c9d18165da0481663a69e","impliedFormat":1},{"version":"3c20a3bb0c50c819419f44aa55acc58476dad4754a16884cef06012d02b0722f","impliedFormat":1},{"version":"4dc64902cb86e677a928293593658fbf53388f9a30d2b934140c70a7267b07ec","impliedFormat":1},{"version":"cb4fd56539a61d163ea9befe6b0292c32aa68a104c1f68f61416f1bc769bcfba","impliedFormat":1},{"version":"0d852bdc2b72b22393a8eebe374ee3efe3e0d44e630037b5e1b6087985388e62","impliedFormat":1},{"version":"b6c9a2deefb6a57ff68d2a38d33c34407b9939487fc9ee9f32ba3ecf2987a88a","impliedFormat":1},{"version":"f6b371377bab3018dac2bca63e27502ecbd5d06f708ad7e312658d3b5315d948","impliedFormat":1},{"version":"faa72893e85cb8ebb1dafde6b427e5204e60bb5f3ee6576bb64c01db1f255bc8","impliedFormat":1},{"version":"95b7ed47b31a6eaddcdd853ee0871f2bb61e39ce36a01d03dfafb83766f6c10c","impliedFormat":1},{"version":"19287d6b76288c2814f1633bdd68d2b76748757ffd355e73e41151644e4773d6","impliedFormat":1},{"version":"fc4e6ec7dade5f9d422b153c5d8f6ad074bd9cc4e280415b7dc58fb5c52b5df1","impliedFormat":1},{"version":"3aea973106e1184db82d8880f0ca134388b6cbc420f7309d1c8947b842886349","impliedFormat":1},{"version":"765e278c464923da94dda7c2b281ece92f58981642421ae097862effe2bd30fa","impliedFormat":1},{"version":"de260bed7f7d25593f59e859bd7c7f8c6e6bb87e8686a0fcafa3774cb5ca02d8","impliedFormat":1},{"version":"d95c4eaad4df9e564859f0c74a177fa0b2e5f8a155939b52580566ab6b311c3f","impliedFormat":1},{"version":"7192a6d17bfa06e83ba14287907b7c671bef9b7111c146f59c6ea753cfc736b9","impliedFormat":1},{"version":"5156d3d392db5d77e1e2f3ea723c0a8bd3ca8acffe3b754b10c84b12f55a6e10","impliedFormat":1},{"version":"a6494e7833ee04386a9f0c686726f7cb05f52f6e069d9293475ccb1e791ee0da","impliedFormat":1},{"version":"d9af0c89a310256851238f509a22aa1071a464d35dc22ea8c2a0bae42dd81bc5","impliedFormat":1},{"version":"291642a66e55e6ca38b029bc6921c7301f5c7b7acf21ae588a5f352e6c1f6d58","impliedFormat":1},{"version":"43cd7c37298b051d1ce0307d94105bcd792c6c7e017282c9d13f1097c27408e8","impliedFormat":1},{"version":"e00d8cce6e2e627654e49c543b582568ad0bf27c1d4ad1018d26aff78d7599df","impliedFormat":1},{"version":"ed13354f0d96fb6d5878655b1fead51722b54875e91d5e53ef16de5b71a0e278","impliedFormat":1},{"version":"fcb934d0fcdee06a8571bd90aa3a63aa288c784b3ebcecfe7ae90d3104d321f4","impliedFormat":1},{"version":"af682dfabe85688289b420d939020a10eb61f0120e393d53c127f1968b3e9f66","impliedFormat":1},{"version":"0dca04006bf13f72240c6a6a502df9c0b49c41c3cab2be75e81e9b592dcd4ea8","impliedFormat":1},{"version":"7dc0b5e3d7be8e1f451f0545448c2eaa02683f230797d24434b36f9820d5a641","impliedFormat":1},{"version":"247af61cdc3f4ec7876b9e993a2ecdd069e10934ff790c9cee5811842bff49eb","impliedFormat":1},{"version":"4be8c2c63d5cd1381081d90021ddfaef106881df4129eddeeaba906f2d0f75d0","impliedFormat":1},{"version":"012f621d6eb28172afb1b2dc23898d8bc74cf35a6d76b63e5581aa8e50fa71b3","impliedFormat":1},{"version":"3a561fa91097e4580c5349ce72e69d247c31c11d29f39e1d0bd3716042ff2c0b","impliedFormat":1},{"version":"bc9981a79dda3badea61d716d368a280c370267e900f43321f828495f4fef23c","impliedFormat":1},{"version":"2ed3b93d55aea416d7be8d49fe25016430caab0fe64c87d641e4c2c551130d17","impliedFormat":1},{"version":"3d66dfc31dd26092c3663d9623b6fc5cec90878606941a19e2b884c4eacd1a24","impliedFormat":1},{"version":"6916c678060af14a8ce8d78a1929d84184e9507fba7ab75142c1bcb646e1c789","impliedFormat":1},{"version":"3eea74afae095028597b3954bde69390f568afc66d457f64fff56e416ea47811","impliedFormat":1},{"version":"549fb2d19deb7d7cae64922918ddddf190109508cc6c7c47033478f7359556d2","impliedFormat":1},{"version":"e7023afc677a74f03f8ccb567532fe9eedd1f5241ee74be7b75ac2336514f6f6","impliedFormat":1},{"version":"ff55505622eac7d104b9ab9570f4cc67166ba47dd8f3badfb85605d55dd6bdc9","impliedFormat":1},{"version":"102fac015b1eebfa13305cb90fd91a4f0bbcabb10f2343556b3483bbb0a04b62","impliedFormat":1},{"version":"18a1f4493f2dbad5fd4f7d9bfba683c98cf5ed5a4fa704fa0d9884e3876e2446","impliedFormat":1},{"version":"f57e6707d035ab89a03797d34faef37deefd3dd90aa17d90de2f33dce46a2c56","impliedFormat":1},{"version":"cc8b559b2cf9380ca72922c64576a43f000275c72042b2af2415ce0fb88d7077","impliedFormat":1},{"version":"1a337ca294c428ba8f2eb01e887b28d080ee4a4307ae87e02e468b1d26af4a74","impliedFormat":1},{"version":"310fe80ff40a158c2de408efbe9de11e249c53d2de5e33ca32798e6f3fbc8822","impliedFormat":1},{"version":"d6ce96c7bb34945c1d444101f44e0f8ba0bba8ab7587a6cc009a9934b538c335","impliedFormat":1},{"version":"1b10a2715917601939a9288d49beccd45b591723256495b229569cd67bbe48a8","impliedFormat":1},{"version":"7498dfdeed2e003ec49cdf726ff6c293002d1d7fdadbc398ce8aafe6d0688de7","impliedFormat":1},{"version":"8492306a4864a1dc6fc7e0cc0de0ae9279cbd37f3aae3e9dc1065afcdc83dddc","impliedFormat":1},{"version":"9c86abbc4fd0248f56abc12aaecd76854517389af405d5ec2eb187fdb00a606f","impliedFormat":1},{"version":"9ffd906f14f8b059d6b95d6640920f530507e596e548f7a595da58ab66e3ce76","impliedFormat":1},{"version":"1884bccc10ce40adca470c2c371c1c938b36824f169c56f7f43d860416ca0a4c","impliedFormat":1},{"version":"986b55b4f920c99d77c1845f2542df6f746cb5adc9ab93eb1545a7e6ef37590d","impliedFormat":1},{"version":"cd00906068b81fbd8a22d021580ac505e272844408174520fafed0ae00627a5d","impliedFormat":1},{"version":"69fab68a769c17a52a24b868aeb644f3ee14abaa5064115f575ddd59231105ce","impliedFormat":1},{"version":"e181eb86b2caf80fe18c72efce6b913bc226e4a69a5456eaf4f859f1c29c6fd6","impliedFormat":1},{"version":"93f7871380478bc6acf02ad9f3dc7da0c21997caebbe782eb93a11b7bd06a46d","impliedFormat":1},{"version":"d00279ab020713264f570d5181c89ca362b7de8abddf96733de86bce0eca082c","impliedFormat":1},{"version":"f7db473f1d5d2a124f14886ac9dbfeccfbb94a98bbe1610a47c30c2933afa279","impliedFormat":1},{"version":"f44cf6c6d608ef925831e550b19841b5d71bd87195bd346604ff05644fb0d29c","impliedFormat":1},{"version":"154f23902d7a3fcdace4c20b654da7355fee4b7f807d1f77d6c9a24a8756013a","impliedFormat":1},{"version":"562f4f3c75a497d3ad7709381f850bb8c7646a9c6e94fdf8e91928e23d155411","impliedFormat":1},{"version":"4583380b676ee59b70a9696b42acfa986cd5f32430f37672e04f31f40b05df74","impliedFormat":1},{"version":"ad0a13f35a0d88803979f8ea9050ad7441e09d21a509abf2f303e18c1267af17","impliedFormat":1},{"version":"ba9781c718ab3d09cbde1216029072698d2da6135f0d2f856ba387d6caceb13e","impliedFormat":1},{"version":"d7c597c14698ba5fc8010076afa426f029b2d8edabb5073270c070cc645ba638","impliedFormat":1},{"version":"bd2afc69cf1d85cd950a99813bc7eff007d8afa496e7c2142a845cd1181d0474","impliedFormat":1},{"version":"558b462b23ea186d094dbff158d652acd58c0988c9fd53af81a8903412aa5901","impliedFormat":1},{"version":"0e984ae642a15973d652fd7b0d2712a284787d0d7a1db99aa49af0121e47f1df","impliedFormat":1},{"version":"0ad53ee208a23eef2a5cb3d85f2a9dc1019fd5e69179c4b0c02dc56c40d611c4","impliedFormat":1},{"version":"7a6898b26947bd356f33f4efef3eb23e61174d85dca19f41a8780d6bb4bfb405","impliedFormat":1},{"version":"9fe30349d26f34e85209fb06340bac34177f7eae3d6bb69dc12cd179d2c13ddf","impliedFormat":1},{"version":"d568c51d2c4360fd407445e39f4d86891dba04083402602bf5f24fd3969cacbb","impliedFormat":1},{"version":"b2483a924349ec835f4d778dd6787447a2f8bfbb651164851bff29d5b3d990a6","impliedFormat":1},{"version":"aae66889332cff4b2f7586c5c8758abc394d8d1c48f9b04b0c257e58f629d285","impliedFormat":1},{"version":"0f86c85130c64d6dbe6a9090bb3df71c4b0987bce4a08afe1ac4ece597655b9c","impliedFormat":1},{"version":"0ce28ad2671baed24517e1c1f4f2a986029137635bce788ee8fb542f002ac5b8","impliedFormat":1},{"version":"cd12e4fe77d24db98d66049360a4269299bcfb9dc3a1b47078ab1b4afac394cb","impliedFormat":1},{"version":"1589e5ac394b2b2e64264da3e1798d0e103b4f408f5bae1527d9e706f98269c7","impliedFormat":1},{"version":"ff8181aa0fde5ec2d737aecc5ebaa9e881379041f13e5ce1745620e17f78dcf9","impliedFormat":1},{"version":"0b2e54504b568c08df1e7db11c105786742866ba51e20486ab9b2286637d268f","impliedFormat":1},{"version":"bc1ffc3a2dca8ee715571739be3ec74d079e60505e1d0d2446e4978f6c75ba5c","impliedFormat":1},{"version":"770a40373470dff27b3f7022937ea2668a0854d7977c9d22073e1c62af537727","impliedFormat":1},{"version":"a0f8ce72cb02247a112ce4a2fa0f122478a8e99c90a5e6b676b41a68b1891ad2","impliedFormat":1},{"version":"6e957ea18b2bf951cf3995d115ad9bfa439e8d891aeb1afc901d793202c0b90d","impliedFormat":1},{"version":"a1c65bd78725f9172b5846c3c58ddf4bcbb43a30ab19e951f0102552fbfd3d5d","impliedFormat":1},{"version":"04718c7325e7df4bac9a6d026a0a2bd5a8b54501f274aaf93a03b5d1d0635bd1","impliedFormat":1},{"version":"405205f932d4e0ce688a380fa3150b1c7ff60e7fc89909e11a33eab7af240edb","impliedFormat":1},{"version":"566fc1a6616a522f8b45082032a33e6d37ff7df3f7d4d63c3cce9017d0345178","impliedFormat":1},{"version":"3b699b08db04559803b85aa0809748e61427b3d831f77834b8206e9f2ed20c93","impliedFormat":1},{"version":"b27242dd3af2a5548d0c7231db7da63d6373636d6c4e72d9b616adaa2acef7e1","impliedFormat":1},{"version":"e0ee7ba0571b83c53a3d6ec761cf391e7128d8f8f590f8832c28661b73c21b68","impliedFormat":1},{"version":"072bfd97fc61c894ef260723f43a416d49ebd8b703696f647c8322671c598873","impliedFormat":1},{"version":"e70875232f5d5528f1650dd6f5c94a5bed344ecf04bdbb998f7f78a3c1317d02","impliedFormat":1},{"version":"8e495129cb6cd8008de6f4ff8ce34fe1302a9e0dcff8d13714bd5593be3f7898","impliedFormat":99},{"version":"8079d851ffa1dbe193fe36643b3d67f4fdf8d360df4c900065788eff44bc15a7","impliedFormat":1},{"version":"da99399a43db3aa559a2d319fe00ee07d54874fa489d1d05c1ee6ea54e2d33b9","signature":"64d1a70b42747a5ff82fc6f3060ed022c404836d60679b338e4ffb8864dd5195"},{"version":"e516240bc1e5e9faef055432b900bc0d3c9ca7edce177fdabbc6c53d728cced8","impliedFormat":99},{"version":"5402765feacf44e052068ccb4535a346716fa1318713e3dae1af46e1e85f29a9","impliedFormat":99},{"version":"e16ec5d4796e7a765810efee80373675cedc4aa4814cf7272025a88addf5f0be","impliedFormat":99},{"version":"1f57157fcd45f9300c6efcfc53e2071fbe43396b0a7ed2701fbd1efb5599f07f","impliedFormat":99},{"version":"9f1886f3efddfac35babcada2d454acd4e23164345d11c979966c594af63468b","impliedFormat":99},{"version":"a3541c308f223863526df064933e408eba640c0208c7345769d7dc330ad90407","impliedFormat":99},{"version":"59af208befeb7b3c9ab0cb6c511e4fec54ede11922f2ffb7b497351deaf8aa2e","impliedFormat":99},{"version":"928b16f344f6cddaba565da8238f4cf2ddf12fe03eb426ab46a7560e9b3078fa","impliedFormat":99},{"version":"120bdf62bccef4ea96562a3d30dd60c9d55481662f5cf31c19725f56c0056b34","impliedFormat":99},{"version":"39e0da933908de42ba76ea1a92e4657305ae195804cfaa8760664e80baac2d6a","impliedFormat":99},{"version":"55ce6ca8df9d774d60cef58dd5d716807d5cc8410b8b065c06d3edac13f2e726","impliedFormat":99},{"version":"788a0faf3f28d43ce3793b4147b7539418a887b4a15a00ffb037214ed8f0b7f6","impliedFormat":99},{"version":"a3e66e7b8ccdab967cd4ada0f178151f1c42746eabb589a06958482fd4ed354e","impliedFormat":99},{"version":"bf45a2964a872c9966d06b971d0823daecbd707f97e927f2368ba54bb1b13a90","impliedFormat":99},{"version":"39973a12c57e06face646fb79462aabe8002e5523eec4e86e399228eb34b32c9","impliedFormat":99},{"version":"f01091e9b5028acfb38208113ae051fad8a0b4b8ec1f7137a2a5cf903c47eefc","impliedFormat":99},{"version":"b3e87824c9e7e3a3be7f76246e45c8d603ce83d116733047200b3aa95875445b","impliedFormat":99},{"version":"7e1f7f9ae14e362d41167dc861be6a8d76eca30dde3a9893c42946dc5a5fc686","impliedFormat":99},{"version":"9308ef3b9433063ac753a55c3f36d6d89fa38a8e6c51e05d9d8329c7f1174f24","impliedFormat":99},{"version":"cd3bb1aa24726a0abd67558fde5759fe968c3c6aa3ec7bad272e718851502894","impliedFormat":99},{"version":"1ae0f22c3b8420b5c2fec118f07b7ebd5ae9716339ab3477f63c603fe7a151c8","impliedFormat":99},{"version":"919ff537fff349930acc8ad8b875fd985a17582fb1beb43e2f558c541fd6ecd9","impliedFormat":99},{"version":"4e67811e45bae6c44bd6f13a160e4188d72fd643665f40c2ac3e8a27552d3fd9","impliedFormat":99},{"version":"3d1450fd1576c1073f6f4db9ebae5104e52e2c4599afb68d7d6c3d283bdbaf4f","impliedFormat":99},{"version":"c072af873c33ff11af126c56a846dfada32461b393983a72b6da7bff373e0002","impliedFormat":99},{"version":"de66e997ea5376d4aeb16d77b86f01c7b7d6d72fbb738241966459d42a4089e0","impliedFormat":99},{"version":"d77ea3b91e4bc44d710b7c9487c2c6158e8e5a3439d25fc578befeb27b03efd7","impliedFormat":99},{"version":"a3d5c695c3d1ebc9b0bd55804afaf2ac7c97328667cbeedf2c0861b933c45d3e","impliedFormat":99},{"version":"270724545d446036f42ddea422ee4d06963db1563ccc5e18b01c76f6e67968ae","impliedFormat":99},{"version":"85441c4f6883f7cfd1c5a211c26e702d33695acbabec8044e7fa6831ed501b45","impliedFormat":99},{"version":"0f268017a6b1891fdeea69c2a11d576646d7fd9cdfc8aac74d003cd7e87e9c5a","impliedFormat":99},{"version":"9ece188c336c80358742a5a0279f2f550175f5a07264349d8e0ce64db9701c0b","impliedFormat":99},{"version":"cf41b0fc7d57643d1a8d21af07b0247db2f2d7e2391c2e55929e9c00fbe6ab9a","impliedFormat":99},{"version":"11e7ddddd9eddaac56a6f23d8699ae7a94c2a55ae8c986fdabc719d3c3e875a1","impliedFormat":99},{"version":"dd129c2d348be7dbf9f15d34661defdfc11ee00628ca6f7161bead46095c6bc3","impliedFormat":99},{"version":"c38d8e7cfc64bbfc14a63346388249c1cfa2cc02166c5f37e5a57da4790ce27f","impliedFormat":99},{"version":"c0ef234e74cabdbaa46b2e5b3d27facd07f949afa402fc381305e885e08416c8","signature":"77a8091fc8ef1f8b7608330b519ca909ac3e9ce1329af32c1153ef8851762ed2"},{"version":"7e3373dde2bba74076250204bd2af3aa44225717435e46396ef076b1954d2729","impliedFormat":1},{"version":"1c3dfad66ff0ba98b41c98c6f41af096fc56e959150bc3f44b2141fb278082fd","impliedFormat":1},{"version":"56208c500dcb5f42be7e18e8cb578f257a1a89b94b3280c506818fed06391805","impliedFormat":1},{"version":"0c94c2e497e1b9bcfda66aea239d5d36cd980d12a6d9d59e66f4be1fa3da5d5a","impliedFormat":1},{"version":"eb9271b3c585ea9dc7b19b906a921bf93f30f22330408ffec6df6a22057f3296","impliedFormat":1},{"version":"0205ee059bd2c4e12dcadc8e2cbd0132e27aeba84082a632681bd6c6c61db710","impliedFormat":1},{"version":"a694d38afadc2f7c20a8b1d150c68ac44d1d6c0229195c4d52947a89980126bc","impliedFormat":1},{"version":"9f1e00eab512de990ba27afa8634ca07362192063315be1f8166bc3dcc7f0e0f","impliedFormat":1},{"version":"9674788d4c5fcbd55c938e6719177ac932c304c94e0906551cc57a7942d2b53b","impliedFormat":1},{"version":"86dac6ce3fcd0a069b67a1ac9abdbce28588ea547fd2b42d73c1a2b7841cf182","impliedFormat":1},{"version":"4d34fbeadba0009ed3a1a5e77c99a1feedec65d88c4d9640910ff905e4e679f7","impliedFormat":1},{"version":"9d90361f495ed7057462bcaa9ae8d8dbad441147c27716d53b3dfeaea5bb7fc8","impliedFormat":1},{"version":"8fcc5571404796a8fe56e5c4d05049acdeac9c7a72205ac15b35cb463916d614","impliedFormat":1},{"version":"a3b3a1712610260c7ab96e270aad82bd7b28a53e5776f25a9a538831057ff44c","impliedFormat":1},{"version":"33a2af54111b3888415e1d81a7a803d37fada1ed2f419c427413742de3948ff5","impliedFormat":1},{"version":"d5a4fca3b69f2f740e447efb9565eecdbbe4e13f170b74dd4a829c5c9a5b8ebf","impliedFormat":1},{"version":"56f1e1a0c56efce87b94501a354729d0a0898508197cb50ab3e18322eb822199","impliedFormat":1},{"version":"8960e8c1730aa7efb87fcf1c02886865229fdbf3a8120dd08bb2305d2241bd7e","impliedFormat":1},{"version":"27bf82d1d38ea76a590cbe56873846103958cae2b6f4023dc59dd8282b66a38a","impliedFormat":1},{"version":"0daaab2afb95d5e1b75f87f59ee26f85a5f8d3005a799ac48b38976b9b521e69","impliedFormat":1},{"version":"2c378d9368abcd2eba8c29b294d40909845f68557bc0b38117e4f04fc56e5f9c","impliedFormat":1},{"version":"bb220eaac1677e2ad82ac4e7fd3e609a0c7b6f2d6d9c673a35068c97f9fcd5cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c60b14c297cc569c648ddaea70bc1540903b7f4da416edd46687e88a543515a1","impliedFormat":1},{"version":"94a802503ca276212549e04e4c6b11c4c14f4fa78722f90f7f0682e8847af434","impliedFormat":1},{"version":"9c0217750253e3bf9c7e3821e51cff04551c00e63258d5e190cf8bd3181d5d4a","impliedFormat":1},{"version":"5c2e7f800b757863f3ddf1a98d7521b8da892a95c1b2eafb48d652a782891677","impliedFormat":1},{"version":"21317aac25f94069dbcaa54492c014574c7e4d680b3b99423510b51c4e36035f","impliedFormat":1},{"version":"c61d8275c35a76cb12c271b5fa8707bb46b1e5778a370fd6037c244c4df6a725","impliedFormat":1},{"version":"c7793cb5cd2bef461059ca340fbcd19d7ddac7ab3dcc6cd1c90432fca260a6ae","impliedFormat":1},{"version":"fd3bf6d545e796ebd31acc33c3b20255a5bc61d963787fc8473035ea1c09d870","impliedFormat":1},{"version":"c7af51101b509721c540c86bb5fc952094404d22e8a18ced30c38a79619916fa","impliedFormat":1},{"version":"59c8f7d68f79c6e3015f8aee218282d47d3f15b85e5defc2d9d1961b6ffed7a0","impliedFormat":1},{"version":"93a2049cbc80c66aa33582ec2648e1df2df59d2b353d6b4a97c9afcbb111ccab","impliedFormat":1},{"version":"d04d359e40db3ae8a8c23d0f096ad3f9f73a9ef980f7cb252a1fdc1e7b3a2fb9","impliedFormat":1},{"version":"84aa4f0c33c729557185805aae6e0df3bd084e311da67a10972bbcf400321ff0","impliedFormat":1},{"version":"cf6cbe50e3f87b2f4fd1f39c0dc746b452d7ce41b48aadfdb724f44da5b6f6ed","impliedFormat":1},{"version":"3cf494506a50b60bf506175dead23f43716a088c031d3aa00f7220b3fbcd56c9","impliedFormat":1},{"version":"f2d47126f1544c40f2b16fc82a66f97a97beac2085053cf89b49730a0e34d231","impliedFormat":1},{"version":"724ac138ba41e752ae562072920ddee03ba69fe4de5dafb812e0a35ef7fb2c7e","impliedFormat":1},{"version":"e4eb3f8a4e2728c3f2c3cb8e6b60cadeb9a189605ee53184d02d265e2820865c","impliedFormat":1},{"version":"f16cb1b503f1a64b371d80a0018949135fbe06fb4c5f78d4f637b17921a49ee8","impliedFormat":1},{"version":"f4808c828723e236a4b35a1415f8f550ff5dec621f81deea79bf3a051a84ffd0","impliedFormat":1},{"version":"3b810aa3410a680b1850ab478d479c2f03ed4318d1e5bf7972b49c4d82bacd8d","impliedFormat":1},{"version":"0ce7166bff5669fcb826bc6b54b246b1cf559837ea9cc87c3414cc70858e6097","impliedFormat":1},{"version":"6ea095c807bc7cc36bc1774bc2a0ef7174bf1c6f7a4f6b499170b802ce214bfe","impliedFormat":1},{"version":"3549400d56ee2625bb5cc51074d3237702f1f9ffa984d61d9a2db2a116786c22","impliedFormat":1},{"version":"5327f9a620d003b202eff5db6be0b44e22079793c9a926e0a7a251b1dbbdd33f","impliedFormat":1},{"version":"b60f6734309d20efb9b0e0c7e6e68282ee451592b9c079dd1a988bb7a5eeb5e7","impliedFormat":1},{"version":"f4187a4e2973251fd9655598aa7e6e8bba879939a73188ee3290bb090cc46b15","impliedFormat":1},{"version":"44c1a26f578277f8ccef3215a4bd642a0a4fbbaf187cf9ae3053591c891fdc9c","impliedFormat":1},{"version":"a5989cd5e1e4ca9b327d2f93f43e7c981f25ee12a81c2ebde85ec7eb30f34213","impliedFormat":1},{"version":"f65b8fa1532dfe0ef2c261d63e72c46fe5f089b28edcd35b3526328d42b412b8","impliedFormat":1},{"version":"1060083aacfc46e7b7b766557bff5dafb99de3128e7bab772240877e5bfe849d","impliedFormat":1},{"version":"d61a3fa4243c8795139e7352694102315f7a6d815ad0aeb29074cfea1eb67e93","impliedFormat":1},{"version":"1f66b80bad5fa29d9597276821375ddf482c84cfb12e8adb718dc893ffce79e0","impliedFormat":1},{"version":"1ed8606c7b3612e15ff2b6541e5a926985cbb4d028813e969c1976b7f4133d73","impliedFormat":1},{"version":"c086ab778e9ba4b8dbb2829f42ef78e2b28204fc1a483e42f54e45d7a96e5737","impliedFormat":1},{"version":"dd0b9b00a39436c1d9f7358be8b1f32571b327c05b5ed0e88cc91f9d6b6bc3c9","impliedFormat":1},{"version":"a951a7b2224a4e48963762f155f5ad44ca1145f23655dde623ae312d8faeb2f2","impliedFormat":1},{"version":"cd960c347c006ace9a821d0a3cffb1d3fbc2518a4630fb3d77fe95f7fd0758b8","impliedFormat":1},{"version":"fe1f3b21a6cc1a6bc37276453bd2ac85910a8bdc16842dc49b711588e89b1b77","impliedFormat":1},{"version":"1a6a21ff41d509ab631dbe1ea14397c518b8551f040e78819f9718ef80f13975","impliedFormat":1},{"version":"0a55c554e9e858e243f714ce25caebb089e5cc7468d5fd022c1e8fa3d8e8173d","impliedFormat":1},{"version":"3a5e0fe9dcd4b1a9af657c487519a3c39b92a67b1b21073ff20e37f7d7852e32","impliedFormat":1},{"version":"977aeb024f773799d20985c6817a4c0db8fed3f601982a52d4093e0c60aba85f","impliedFormat":1},{"version":"d59cf5116848e162c7d3d954694f215b276ad10047c2854ed2ee6d14a481411f","impliedFormat":1},{"version":"50098be78e7cbfc324dfc04983571c80539e55e11a0428f83a090c13c41824a2","impliedFormat":1},{"version":"08e767d9d3a7e704a9ea5f057b0f020fd5880bc63fbb4aa6ffee73be36690014","impliedFormat":1},{"version":"dd6051c7b02af0d521857069c49897adb8595d1f0e94487d53ebc157294ef864","impliedFormat":1},{"version":"79c6a11f75a62151848da39f6098549af0dd13b22206244961048326f451b2a8","impliedFormat":1},{"version":"f410816c0670492da1b23df3fc24b02bdc4710640d8095523b653eb5daeb3c08","signature":"cb4e4c54076f9a3d2a70bbb13dde81b7b451925d7c67502bc9aae6e9cf1b2ef4"},{"version":"731330fd1896d45e2ed00cf09ff0037580d5abc6b83c171f0f3b413142cf49d0","signature":"36b328f629e1ddb764e4620846380d6758f02514308a74eb128378fe6207da55"},{"version":"7ec047b73f621c526468517fea779fec2007dd05baa880989def59126c98ef79","impliedFormat":99},{"version":"dfcf16e716338e9fe8cf790ac7756f61c85b83b699861df970661e97bf482692","impliedFormat":99},{"version":"bb703864a1bc9ca5ac3589ffd83785f6dc86f7f6c485c97d7ffd53438777cb9e","impliedFormat":1},{"version":"c218369b6c0664232b3940fc05c14386c26e6c031a674baf9d1161fda68b8bd5","signature":"41a0db130cfb6020f150fbee6c36ee82a4feacb3922f1cfdece9deac59a47e42"},{"version":"e7441be68f390975c6155c805cea8f54cc1b7f3656b6b9440ecbbbd7753499e6","impliedFormat":99},{"version":"3b1a3d1bedd1c351f54af7e402693480c036f188951d148817ab7e5c17f04f16","signature":"2f72f5f0f83025ca5baf5b2c2eb9b3f0ca8df6bc6c02b8eaa8b7074de0a65120"},{"version":"91b4ce96f6ad631a0a6920eb0ab928159ff01a439ae0e266ecdc9ea83126a195","impliedFormat":1},{"version":"88efe27bebddb62da9655a9f093e0c27719647e96747f16650489dc9671075d6","impliedFormat":1},{"version":"e348f128032c4807ad9359a1fff29fcbc5f551c81be807bfa86db5a45649b7ba","impliedFormat":1},{"version":"8ee6b07974528da39b7835556e12dd3198c0a13e4a9de321217cd2044f3de22e","impliedFormat":1},{"version":"5e1d8a07714f909beaaaf4d0ffe507345a99f2db967493dd8ebbfbb4f18e83ca","impliedFormat":1},{"version":"5f12132800d430adbe59b49c2c0354d85a71ada7d756e34250a655baa8ad4ae5","impliedFormat":1},{"version":"1996d1cd7d585a8359a35878f67abdd73cc35b1f675c9c6b147b202fdd8dfc3f","impliedFormat":1},{"version":"5a50dbfc042633fdb558e53b30b0a005e0b78e142a1fe1147a8d6618ca69ec99","impliedFormat":1},{"version":"a8b0f3d8b205c32395727230bff7849c947150fdd6288855cbe75bc662c4e236","impliedFormat":1},{"version":"6fb55bb881f4a7167649e6925df076f64a1db2f50632df4674e4621a9445c954","impliedFormat":1},{"version":"4374cefdde5c6e9bad52b0436e887b8325b8f407c12035194ad02c28f1553a3a","impliedFormat":1},{"version":"9b70cad270593f676aecfe4d1611dc766464f0b8138527b0ebbf1ff773578d69","impliedFormat":1},{"version":"b4f85bfb7e831703ac81737361842f1ae4d924b42c5d1af2bff93cca521de4d1","impliedFormat":1},{"version":"5fea76008a2d537ca09d569ffae4e08b991b4a5ff90e9f4783bc983584454ede","impliedFormat":1},{"version":"21575cdeaca6a2c2a0beb8c2ecbc981d9deb95f879f82dc7d6e325fe8737b5ba","impliedFormat":1},{"version":"40ec58f0fadd0b3981b3d383e1c12fa0680115ae9f018387fc2cfc0bbcf23204","impliedFormat":1},{"version":"849b9e7283b7309a4556c9b90bb8e2dfc27751f157798065bbc513dcddb09a8c","impliedFormat":1},{"version":"10e109212c7be8a9f66e988e5d6c2a8900c9d14bf6beadf5fa70d32ada3425cf","impliedFormat":1},{"version":"2b821aeb31e690092f8eae671dd961a9d0fd598ff4883ce0a600c90e9e8fa716","impliedFormat":1},{"version":"26602933b613e4df3868a6c82e14fffa2393a08531cb333ed27b151923462981","impliedFormat":1},{"version":"f57a588d8f6b3ce5c8b494f2dc759a8885eaee18e80a4952df47de45403fedbe","impliedFormat":1},{"version":"34735727b3fe7a0ed0651a0f88d06449163d1989a2b2de7f047473adc7c1c383","impliedFormat":1},{"version":"a5b13abc88ab3186e713c445e59e2f6eee20c6167943517bc2f56985d89b8c55","impliedFormat":1},{"version":"3844b45a774bafe226260cf0772376dce72121ebb801d03902c70a7f11da832b","impliedFormat":1},{"version":"7ae65fe95b18205e241e6695cb2c61c0828d660aca7d08f68781b439a800e6b8","impliedFormat":1},{"version":"e025419f23ccceafd7f5ab3141a86a6bb9fc3b33c44fe62b288d7b19baffc95b","impliedFormat":1},{"version":"369b7270eeeb37982203b2cb18c7302947b89bf5818c1d3d2e95a0418f02b74e","impliedFormat":1},{"version":"94f95d223e2783b0aef4d15d7f6990a6a550fe17d099c501395f690337f7105e","impliedFormat":1},{"version":"039bd8d1e0d151570b66e75ee152877fb0e2f42eca43718632ac195e6884be34","impliedFormat":1},{"version":"89fb1e22c3c98cbb86dc3e5949012bdae217f2b5d768a2cc74e1c4b413c25ad2","impliedFormat":1},{"version":"24c371f70751acb269f7fdcb358c4b20ba63e85a4621fae4b562ec0cc0011cb6","signature":"8645fd739fb78ff1e6433f42605595a2a3a1047f5dd87bde6603968b0bfad4cc"},{"version":"92d566eae4dbbe8db9ca1db01911b48e1f53d11dc45b643f8aab6648831dd165","signature":"994534597e772bc135a36815cd936a8a63f27a29879b249eac14caf6e341364d"},{"version":"b843496b17a2bbd79c83809c73fd9c59fab53d3e361e04e52e2d489524eea764","impliedFormat":1},{"version":"a174e474f30d8a13d10d90975f7338efd5bb02c0b1a9c3808719ef3d4d963906","signature":"5edeac74f5feafae2554b5acf4a797463e1f270371f61f89c7cbc5d816b0b41c"},{"version":"82e23bd8aa4c3c9d8825b5d6d7a5f831bde56c51491666d3bb6a6669a933afff","signature":"833875c2409cce5c125064f63cf4cd0b6d43436a961f926d9ee67d1fdaed7c6b"},{"version":"08b059b3ca4faf951bb4b39c17345462ea91bff07d8f8f99c96a71e0a264f326","signature":"bc566a7efbfa5e0f5ae124a0d2c2f66291391387483da8da6278e9c4e642615e"},{"version":"4b983779d67a080b61e66a613c5273c93ec33d0dc7ea885c35bedf9f8e9f0eac","signature":"6147691e841c1e4a3ea56d26412211418dd8d2b77ec0751e5ab830865344c2a7"},{"version":"4d9bffaca7e0f0880868bab5fd351f9e4d57fcc6567654c4c330516fea7932aa","impliedFormat":99},{"version":"867b845defb7e20f8928fdb8c5e2e7c473f701bb54e8f6624cdc3ebfec2e1c50","impliedFormat":99},{"version":"fcebf6064ee19f019cd677748310bbea900dc57fd8646427cf3418af70902d86","impliedFormat":99},{"version":"a93a11986f470d2c99c689ee101a04003d3b08d66e884782c147865017c15484","impliedFormat":99},{"version":"73b48bdb2946a0fa88829e88d32a69daee9b7c22db26524f89e9abe31f9b7cca","impliedFormat":99},{"version":"d3f91fbf8f379271187b8d06fe1900a63853845871c27376b7d37e664a32e930","signature":"6e792f758932bcb89403f0efca4da19a9a8b02bf358f6f1846bdb49d0f1dbbd6"},{"version":"b7467f53d674849e92daa0d5f283c91f316a86a569f3eccace7d3f8f9a7a2944","signature":"f77dac591bbb93fd5024c15a73ccb10025f76c5b33a001760c579e13341ae834"},{"version":"8535cbb3e75a83fa3fb8a261d288fb8685e343cbb814cea806349c69e021475e","signature":"523cbf15f5b12fdc02dbcf3f59602623f8b49c4cc351678ce8b0106575cdddbf"},{"version":"83de4884db640c144f753216c544995b73dad95a0bc36d58ed9da59c0dc75f62","signature":"ca24bbf78a8fd1cc64ae781cc893d96efaffd225c7c4da1087d478843515407e"},{"version":"284e8e8fcfb85ad5c4d6e3f87ecc362a39492cd4b9dfbb8eb2414bf5f51bcbdd","signature":"5bbd9a79fbf27b68134b226d7545e21bd74518258720cf56d833a80fd66073c6"},{"version":"a0b87928e96701063a8e983c83267a3f9a9d4284b424902927279b21bd3e41e0","signature":"43176e4d525a623257cd59078550387aa9495f39389402e2d648e40d95a57925"},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"6e215dac8b234548d91b718f9c07d5b09473cd5cabb29053fcd8be0af190acb6","affectsGlobalScope":true,"impliedFormat":1},{"version":"dbecf494aac7d3ee1b23cdaafae0d0bfea8590567fc153db58fe00ed9fa66c24","impliedFormat":1},{"version":"f3d3e999a323c85c8a63ce90c6e4624ff89fe137a0e2508fddc08e0556d08abf","impliedFormat":1},{"version":"c74b33e4465a03e398a080ec56b8f7cf19edba5d7c4dab482b4be4a5c4efb1ca","impliedFormat":1},{"version":"6edb7a98f0d3483a88041013608fda8e02c9f2f5361c327ad090dc522fcdbeff","affectsGlobalScope":true,"impliedFormat":1},{"version":"53e074a281b50dc3bbdddac7a1c2946100c80a7f5c3161452ab98b31db2e31ba","impliedFormat":1},{"version":"f3d3e999a323c85c8a63ce90c6e4624ff89fe137a0e2508fddc08e0556d08abf","impliedFormat":1},{"version":"6a121c24083c9f164330b85ce7aa8ef97b64fedaf8694ec14cddc34d921ad209","impliedFormat":1},{"version":"49ae37a1b5de16f762c8a151eeaec6b558ce3c27251052ef7a361144af42cad4","impliedFormat":1},{"version":"fc9e630f9302d0414ccd6c8ed2706659cff5ae454a56560c6122fa4a3fac5bbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"7115f1157a00937d712e042a011eb85e9d80b13eff78bac5f210ee852f96879d","impliedFormat":1},{"version":"0ac74c7586880e26b6a599c710b59284a284e084a2bbc82cd40fb3fbfdea71ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ce12357dadbb8efc4e4ec4dab709c8071bf992722fc9adfea2fe0bd5b50923f","impliedFormat":1},{"version":"31bd1a31f935276adf90384a35edbd4614018ff008f57d62ffb57ac538e94e51","impliedFormat":1},{"version":"ffd344731abee98a0a85a735b19052817afd2156d97d1410819cd9bcd1bd575e","impliedFormat":1},{"version":"475e07c959f4766f90678425b45cf58ac9b95e50de78367759c1e5118e85d5c3","impliedFormat":1},{"version":"a524ae401b30a1b0814f1bbcdae459da97fa30ae6e22476e506bb3f82e3d9456","impliedFormat":1},{"version":"7375e803c033425e27cb33bae21917c106cb37b508fd242cccd978ef2ee244c7","impliedFormat":1},{"version":"eeb890c7e9218afdad2f30ad8a76b0b0b5161d11ce13b6723879de408e6bc47a","impliedFormat":1},{"version":"8c61ed247159a025ccc4c3702862b97ef3dbac5460e87f57205f6c37c9e7edbd","impliedFormat":1},{"version":"b05b9ef20d18697e468c3ae9cecfff3f47e8976f9522d067047e3f236db06a41","affectsGlobalScope":true,"impliedFormat":1},{"version":"f434b00addaec462abb14aee113fefdb22ba5a60044b782b1b05f7ae489aa335","affectsGlobalScope":true,"impliedFormat":1},{"version":"3ba38f41c6344cc89270450751e89d0cb60279af2db0e20f0b6858994e6785a8","affectsGlobalScope":true,"impliedFormat":1},{"version":"e4b5520626a9a1333f2518839db11f9649ba853e7cc7e9a25eb6addb5d1307e9","impliedFormat":1},{"version":"06e0e96bcdc4bf6032b9e0b83451bcb1148880772b337842de991164e6f00b34","impliedFormat":1},{"version":"c61c37176b7a6c043df76f437e402ea9abc9f19e9652a0d37629dfc8b7e83497","impliedFormat":1},{"version":"5602c92b934a62d674506c40755f3ca46e3c4a6dfbf01674289714a51f238b40","impliedFormat":1},{"version":"fc803e6b01f4365f71f51f9ce13f71396766848204d4f7a1b2b6154434b84b15","impliedFormat":1},{"version":"067f76ab5254b1bdfc94154730b7a30c12e3aad8b9d04ec62c0d6b7a1f40ea0e","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b08cdb4a66b9fe95fa19b3133036c91fe9314ec4e2bff533dd1d60fd81e1bed","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be812b06e518320ba82e2aff3ac2ca37370a9df917db708f081b9043fa3315","impliedFormat":1},{"version":"49ae37a1b5de16f762c8a151eeaec6b558ce3c27251052ef7a361144af42cad4","impliedFormat":1},{"version":"fc9e630f9302d0414ccd6c8ed2706659cff5ae454a56560c6122fa4a3fac5bbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa0a44af370a2d7c1aac988a17836f57910a6c52689f52f5b3ac1d4c6cadcb23","impliedFormat":1},{"version":"0ac74c7586880e26b6a599c710b59284a284e084a2bbc82cd40fb3fbfdea71ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ce12357dadbb8efc4e4ec4dab709c8071bf992722fc9adfea2fe0bd5b50923f","impliedFormat":1},{"version":"b5a907deaba678e5083ccdd7cc063a3a8c3413c688098f6de29d6e4cefabc85f","impliedFormat":1},{"version":"ffd344731abee98a0a85a735b19052817afd2156d97d1410819cd9bcd1bd575e","impliedFormat":1},{"version":"475e07c959f4766f90678425b45cf58ac9b95e50de78367759c1e5118e85d5c3","impliedFormat":1},{"version":"a524ae401b30a1b0814f1bbcdae459da97fa30ae6e22476e506bb3f82e3d9456","impliedFormat":1},{"version":"7375e803c033425e27cb33bae21917c106cb37b508fd242cccd978ef2ee244c7","impliedFormat":1},{"version":"eeb890c7e9218afdad2f30ad8a76b0b0b5161d11ce13b6723879de408e6bc47a","impliedFormat":1},{"version":"561c795984d06b91091780cebeac616e9e41d83240770e1af14e6ec083b713d5","impliedFormat":1},{"version":"dfbcc400ac6d20b941ccc7bd9031b9d9f54e4d495dd79117334e771959df4805","affectsGlobalScope":true,"impliedFormat":1},{"version":"944d65951e33a13068be5cd525ec42bf9bc180263ba0b723fa236970aa21f611","affectsGlobalScope":true,"impliedFormat":1},{"version":"6b386c7b6ce6f369d18246904fa5eac73566167c88fb6508feba74fa7501a384","affectsGlobalScope":true,"impliedFormat":1},{"version":"592a109e67b907ffd2078cd6f727d5c326e06eaada169eef8fb18546d96f6797","impliedFormat":1},{"version":"f2eb1e35cae499d57e34b4ac3650248776fe7dbd9a3ec34b23754cfd8c22fceb","impliedFormat":1},{"version":"fbed43a6fcf5b675f5ec6fc960328114777862b58a2bb19c109e8fc1906caa09","impliedFormat":1},{"version":"9e98bd421e71f70c75dae7029e316745c89fa7b8bc8b43a91adf9b82c206099c","impliedFormat":1},{"version":"fc803e6b01f4365f71f51f9ce13f71396766848204d4f7a1b2b6154434b84b15","impliedFormat":1},{"version":"f3afcc0d6f77a9ca2d2c5c92eb4b89cd38d6fa4bdc1410d626bd701760a977ec","impliedFormat":1},{"version":"c8109fe76467db6e801d0edfbc50e6826934686467c9418ce6b246232ce7f109","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6f803e4e45915d58e721c04ec17830c6e6678d1e3e00e28edf3d52720909cea","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be812b06e518320ba82e2aff3ac2ca37370a9df917db708f081b9043fa3315","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"9b4f7ff9681448c72abe38ea8eefd7ffe0c3aefe495137f02012a08801373f71","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"fe62b82c98a4d5bca3f8de616b606d20211b18c14e881bb6856807d9ab58131b","impliedFormat":1}],"root":[265,586,588,589,[595,598],658,659,[1419,1421],1423,1424,1443,1444,1446,1450,[1457,1522],[1524,1526],[1550,1558],[1560,1590],[1600,1626],1629,1630,[1757,1768],1816,1818,1819,[1826,1829],[1834,1846],[1868,1898],[1904,1919],[1921,1932],[1966,1982],2241,2278,2349,2350,2354,2356,2387,2388,[2390,2393],[2399,2404]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":4},"referencedMap":[[265,1],[586,2],[588,3],[1423,4],[1424,5],[1444,6],[1827,7],[1842,8],[1840,9],[1845,10],[1846,11],[1968,12],[1834,13],[596,14],[1837,15],[1970,16],[1972,17],[1975,18],[597,14],[1446,19],[659,20],[1976,21],[1977,16],[1870,22],[1890,23],[1869,24],[1889,25],[1875,26],[1888,27],[1882,28],[1884,29],[1879,30],[1924,31],[1874,32],[1911,33],[1931,34],[1930,35],[1979,36],[1967,37],[1966,38],[1878,39],[1921,40],[1891,41],[1898,42],[1886,43],[1897,44],[1892,41],[1913,45],[1908,46],[1904,47],[1917,48],[1918,49],[1919,50],[1909,51],[1905,52],[1907,53],[1916,54],[1915,55],[1914,56],[1906,57],[1826,58],[1844,59],[1819,60],[1922,61],[1835,46],[1836,62],[1457,63],[1932,64],[1923,65],[1978,66],[1818,67],[1969,68],[1980,69],[1981,70],[1873,71],[1838,72],[1973,70],[1982,68],[1816,73],[2241,74],[1843,75],[2278,76],[2349,77],[1929,68],[2350,71],[1896,78],[2354,79],[1871,80],[1881,81],[2356,82],[1872,80],[1894,83],[2387,84],[2388,72],[2390,85],[1883,86],[1880,87],[1926,73],[2391,68],[2392,80],[2393,87],[2399,88],[1925,72],[1928,72],[1841,75],[1927,68],[1974,89],[1868,90],[1876,75],[1885,80],[1839,91],[1912,80],[1971,92],[1895,72],[1828,93],[1910,94],[2400,72],[2401,75],[1877,72],[1893,75],[2402,80],[2404,95],[2403,73],[1829,73],[1458,96],[1460,97],[1462,98],[1463,11],[1466,99],[595,100],[1467,11],[1469,101],[1468,102],[1471,103],[1578,104],[1576,105],[1555,106],[1472,107],[1553,108],[1571,109],[1577,107],[1522,110],[1501,111],[1579,11],[1580,11],[1887,11],[1609,112],[1612,113],[1623,114],[1624,115],[1611,116],[1613,46],[1614,46],[1615,117],[1616,118],[1618,119],[1619,120],[1620,121],[1621,118],[1622,122],[1581,123],[1584,124],[1585,46],[1603,125],[1604,126],[1605,46],[1606,46],[1608,127],[1587,128],[1590,129],[1589,130],[1588,131],[1629,132],[1421,133],[658,134],[1478,11],[1575,135],[1572,136],[1574,137],[1573,138],[1525,139],[1524,140],[1516,141],[1517,141],[1521,142],[1520,143],[1518,141],[1519,143],[1499,144],[1498,145],[1487,146],[1488,147],[1497,148],[1486,149],[1496,150],[1492,151],[1495,152],[1494,152],[1490,153],[1491,153],[1489,153],[1493,153],[1500,154],[1479,147],[1483,155],[1480,146],[1481,146],[1482,146],[1420,156],[1419,157],[1583,158],[1625,159],[1566,160],[1567,161],[1565,11],[1626,11],[1550,162],[1526,163],[1551,164],[1552,165],[1443,166],[1508,167],[1514,168],[1515,169],[1617,170],[1475,171],[1477,172],[1474,173],[1476,55],[1630,174],[589,5],[1554,175],[1556,176],[1557,177],[1569,178],[1568,179],[1562,180],[1558,176],[1564,181],[1563,181],[1561,182],[1570,183],[1560,184],[1502,185],[1505,11],[1511,186],[1507,187],[1509,188],[1510,189],[1506,190],[1503,185],[1512,191],[1484,192],[1758,193],[1757,194],[1759,195],[1760,196],[1602,197],[1761,198],[1607,199],[1763,200],[1764,201],[1610,202],[1485,185],[598,11],[1582,11],[1459,11],[1461,11],[1586,203],[1465,41],[1504,11],[1762,204],[1513,11],[1464,11],[1470,11],[1600,11],[1765,11],[1766,11],[1473,11],[1767,11],[1601,11],[1768,11],[1450,205],[766,206],[1104,207],[1105,208],[1106,209],[1109,210],[1107,209],[1108,211],[688,212],[681,213],[682,213],[683,214],[684,213],[685,214],[686,213],[690,215],[687,216],[689,213],[678,217],[680,218],[1037,213],[673,219],[674,219],[675,219],[679,219],[676,219],[677,219],[1036,220],[1048,221],[1049,221],[1050,222],[691,221],[1084,221],[1085,223],[1039,224],[693,225],[694,226],[730,227],[692,228],[695,225],[696,225],[728,229],[729,230],[731,226],[732,226],[733,226],[734,226],[745,226],[735,226],[736,226],[737,226],[749,226],[739,226],[740,226],[764,231],[757,226],[746,226],[759,226],[747,226],[748,226],[738,226],[758,226],[756,226],[760,226],[761,226],[762,226],[751,226],[752,226],[753,226],[741,226],[742,226],[750,226],[743,226],[744,226],[763,226],[754,226],[755,226],[765,232],[672,233],[660,221],[1035,234],[1018,235],[1033,236],[1038,237],[1097,238],[1098,221],[1099,221],[1102,239],[1100,221],[1101,221],[1110,240],[1019,221],[1649,241],[1664,242],[1663,243],[1665,244],[1652,245],[1644,246],[1656,247],[1658,248],[1659,249],[1657,221],[1655,250],[1662,251],[1670,252],[1685,253],[1730,254],[1667,255],[1686,256],[1687,256],[1688,256],[1672,252],[1689,256],[1690,256],[1673,257],[1691,256],[1692,258],[1693,256],[1694,256],[1695,256],[1696,256],[1671,252],[1684,259],[1731,260],[1674,252],[1732,261],[1697,256],[1698,258],[1733,262],[1699,258],[1734,262],[1729,263],[1700,256],[1735,264],[1701,256],[1736,260],[1737,262],[1702,256],[1704,265],[1703,266],[1738,267],[1705,256],[1706,256],[1707,256],[1708,256],[1709,256],[1675,252],[1739,268],[1710,269],[1712,270],[1711,266],[1740,260],[1741,262],[1676,252],[1713,271],[1742,262],[1714,256],[1743,262],[1755,272],[1715,256],[1677,252],[1744,273],[1716,271],[1745,262],[1717,266],[1718,258],[1746,274],[1719,275],[1747,276],[1720,277],[1678,252],[1721,266],[1722,256],[1723,278],[1748,279],[1679,280],[1680,281],[1749,268],[1724,256],[1750,268],[1725,256],[1726,282],[1727,271],[1751,268],[1681,252],[1752,268],[1753,268],[1682,252],[1683,252],[1660,283],[1754,268],[1728,266],[1668,284],[1654,285],[1756,286],[1666,287],[1645,221],[1653,221],[1646,221],[1647,221],[1648,288],[1661,289],[1650,221],[1651,290],[1669,291],[332,221],[1769,292],[1773,293],[1778,294],[1782,295],[1779,295],[1780,296],[1781,297],[1772,296],[1787,298],[1770,292],[1777,299],[2352,300],[1788,292],[1774,295],[2351,295],[1789,298],[1775,295],[1791,301],[1792,302],[1790,295],[1786,303],[1793,304],[1795,305],[1796,306],[1797,292],[1798,307],[1784,308],[1776,295],[1771,292],[1799,296],[1800,309],[1785,296],[1801,296],[1802,307],[1803,295],[1804,296],[1805,292],[1806,296],[1807,309],[1808,310],[1810,311],[1809,295],[1811,312],[1812,302],[1794,295],[1783,221],[1034,221],[2472,313],[2496,314],[2299,221],[2282,315],[2300,316],[2281,221],[1529,317],[1528,318],[1527,221],[609,319],[1933,319],[132,320],[133,320],[134,207],[90,321],[135,322],[136,323],[137,324],[88,221],[138,325],[139,326],[140,327],[141,328],[142,329],[143,330],[144,330],[146,221],[145,331],[147,332],[148,333],[149,334],[131,335],[89,221],[150,336],[151,337],[152,338],[185,339],[153,340],[154,341],[155,342],[156,343],[157,344],[158,345],[159,346],[160,347],[161,348],[162,349],[163,349],[164,350],[165,221],[166,221],[167,351],[169,352],[168,353],[170,354],[171,355],[172,356],[173,357],[174,358],[175,359],[176,360],[177,361],[178,362],[179,363],[180,364],[181,365],[182,366],[183,367],[184,368],[2503,369],[2502,370],[83,221],[275,371],[490,292],[276,372],[274,292],[491,373],[272,374],[273,375],[81,221],[84,376],[488,292],[85,292],[590,221],[592,377],[593,378],[599,221],[1441,379],[1442,380],[1440,381],[1439,221],[1117,382],[1116,221],[1114,383],[1115,384],[1045,221],[1083,385],[1070,386],[1068,221],[1069,387],[1071,388],[1072,389],[1073,390],[1074,391],[1082,392],[1075,391],[1076,389],[1077,393],[1078,390],[1079,391],[1080,390],[1081,390],[1094,394],[1092,395],[1628,396],[1627,397],[1093,398],[1042,383],[1043,383],[1044,399],[1041,400],[1046,401],[1047,240],[1091,402],[1051,403],[1088,404],[1089,405],[1090,406],[1113,407],[1422,387],[1095,408],[1065,409],[1063,410],[1086,411],[1040,408],[1066,412],[1087,413],[1064,414],[1067,408],[1096,221],[1103,415],[1059,416],[1055,221],[1057,417],[1054,418],[1052,221],[1062,419],[1058,420],[1056,421],[1060,422],[1053,221],[1061,221],[668,423],[664,221],[666,424],[663,425],[661,221],[671,426],[667,427],[665,428],[669,429],[662,221],[670,221],[1830,11],[587,430],[2449,431],[2470,221],[2464,432],[2451,433],[2467,434],[2450,435],[2448,436],[2452,437],[2446,438],[2453,221],[2471,439],[2454,440],[2463,441],[2465,442],[2447,443],[2469,444],[2466,445],[2468,446],[2455,447],[2461,448],[2458,449],[2460,450],[2459,451],[2457,452],[2456,221],[2462,453],[2445,454],[2494,221],[2493,221],[2487,455],[2474,456],[2473,457],[2444,458],[2475,459],[2442,460],[2476,221],[2495,461],[2477,462],[2486,463],[2488,464],[2443,465],[2492,466],[2490,467],[2489,468],[2491,469],[2478,470],[2484,471],[2481,472],[2483,473],[2482,474],[2480,475],[2479,221],[2485,476],[1815,477],[1814,478],[1448,221],[2353,479],[82,221],[591,221],[2070,480],[2049,481],[2146,221],[2050,482],[1986,480],[1987,221],[1988,221],[1989,221],[1990,221],[1991,221],[1992,221],[1993,221],[1994,221],[1995,221],[1996,221],[1997,221],[1998,480],[1999,480],[2000,221],[2001,221],[2002,221],[2003,221],[2004,221],[2005,221],[2006,221],[2007,221],[2008,221],[2010,221],[2009,221],[2011,221],[2012,221],[2013,480],[2014,221],[2015,221],[2016,480],[2017,221],[2018,221],[2019,480],[2020,221],[2021,480],[2022,480],[2023,480],[2024,221],[2025,480],[2026,480],[2027,480],[2028,480],[2029,480],[2031,480],[2032,221],[2033,221],[2030,480],[2034,480],[2035,221],[2036,221],[2037,221],[2038,221],[2039,221],[2040,221],[2041,221],[2042,221],[2043,221],[2044,221],[2045,221],[2046,480],[2047,221],[2048,221],[2051,483],[2052,480],[2053,480],[2054,484],[2055,485],[2056,480],[2057,480],[2058,480],[2059,480],[2062,480],[2060,221],[2061,221],[1984,221],[2063,221],[2064,221],[2065,221],[2066,221],[2067,221],[2068,221],[2069,221],[2071,486],[2072,221],[2073,221],[2074,221],[2076,221],[2075,221],[2077,221],[2078,221],[2079,221],[2080,480],[2081,221],[2082,221],[2083,221],[2084,221],[2085,480],[2086,480],[2088,480],[2087,480],[2089,221],[2090,221],[2091,221],[2092,221],[2239,487],[2093,480],[2094,480],[2095,221],[2096,221],[2097,221],[2098,221],[2099,221],[2100,221],[2101,221],[2102,221],[2103,221],[2104,221],[2105,221],[2106,221],[2107,480],[2108,221],[2109,221],[2110,221],[2111,221],[2112,221],[2113,221],[2114,221],[2115,221],[2116,221],[2117,221],[2118,480],[2119,221],[2120,221],[2121,221],[2122,221],[2123,221],[2124,221],[2125,221],[2126,221],[2127,221],[2128,480],[2129,221],[2130,221],[2131,221],[2132,221],[2133,221],[2134,221],[2135,221],[2136,221],[2137,480],[2138,221],[2139,221],[2140,221],[2141,221],[2142,221],[2143,221],[2144,480],[2145,221],[2147,488],[1983,480],[2148,221],[2149,480],[2150,221],[2151,221],[2152,221],[2153,221],[2154,221],[2155,221],[2156,221],[2157,221],[2158,221],[2159,480],[2160,221],[2161,221],[2162,221],[2163,221],[2164,221],[2165,221],[2166,221],[2171,489],[2169,490],[2170,491],[2168,492],[2167,480],[2172,221],[2173,221],[2174,480],[2175,221],[2176,221],[2177,221],[2178,221],[2179,221],[2180,221],[2181,221],[2182,221],[2183,221],[2184,480],[2185,480],[2186,221],[2187,221],[2188,221],[2189,480],[2190,221],[2191,480],[2192,221],[2193,486],[2194,221],[2195,221],[2196,221],[2197,221],[2198,221],[2199,221],[2200,221],[2201,221],[2202,221],[2203,480],[2204,480],[2205,221],[2206,221],[2207,221],[2208,221],[2209,221],[2210,221],[2211,221],[2212,221],[2213,221],[2214,221],[2215,221],[2216,221],[2217,480],[2218,480],[2219,221],[2220,221],[2221,480],[2222,221],[2223,221],[2224,221],[2225,221],[2226,221],[2227,221],[2228,221],[2229,221],[2230,221],[2231,221],[2232,221],[2233,221],[2234,480],[1985,493],[2235,221],[2236,221],[2237,221],[2238,221],[186,494],[86,495],[87,496],[1407,497],[1411,498],[1356,499],[1171,221],[1121,500],[1405,501],[1406,502],[1119,221],[1408,503],[1193,504],[1136,505],[1159,506],[1168,507],[1139,507],[1140,508],[1141,508],[1167,509],[1142,510],[1143,508],[1149,511],[1144,512],[1145,508],[1146,508],[1169,513],[1138,514],[1147,507],[1148,512],[1150,515],[1151,515],[1152,512],[1153,508],[1154,507],[1155,508],[1156,516],[1157,516],[1158,508],[1180,517],[1188,518],[1166,519],[1196,520],[1160,521],[1162,522],[1163,519],[1174,523],[1182,524],[1187,525],[1184,526],[1189,527],[1177,528],[1178,529],[1185,530],[1186,531],[1192,532],[1183,533],[1161,503],[1194,534],[1137,503],[1181,535],[1179,536],[1165,537],[1164,519],[1195,538],[1170,539],[1190,221],[1191,540],[1410,541],[1120,503],[1231,221],[1248,542],[1197,543],[1222,544],[1229,545],[1198,545],[1199,545],[1200,546],[1228,547],[1201,548],[1216,545],[1202,549],[1203,549],[1204,546],[1205,545],[1206,546],[1207,545],[1230,550],[1208,545],[1209,545],[1210,551],[1211,545],[1212,545],[1213,551],[1214,546],[1215,545],[1217,552],[1218,551],[1219,545],[1220,546],[1221,545],[1243,553],[1239,554],[1227,555],[1251,556],[1223,557],[1224,555],[1240,558],[1232,559],[1241,560],[1238,561],[1236,562],[1242,563],[1235,564],[1247,565],[1237,566],[1249,567],[1244,568],[1233,569],[1226,570],[1225,555],[1250,571],[1234,539],[1245,221],[1246,572],[1123,573],[1313,574],[1252,575],[1287,576],[1296,577],[1253,578],[1254,578],[1255,579],[1256,578],[1295,580],[1257,581],[1258,582],[1259,583],[1260,578],[1297,584],[1298,585],[1261,578],[1263,586],[1264,577],[1266,587],[1267,588],[1268,588],[1269,579],[1270,578],[1271,578],[1272,584],[1273,579],[1274,579],[1275,588],[1276,578],[1277,577],[1278,578],[1279,579],[1280,589],[1265,590],[1281,578],[1282,579],[1283,578],[1284,578],[1285,578],[1286,578],[1415,591],[1308,592],[1294,593],[1318,594],[1288,595],[1290,596],[1291,593],[1412,597],[1301,598],[1307,599],[1303,600],[1309,601],[1413,602],[1414,529],[1304,603],[1306,604],[1312,605],[1302,606],[1289,503],[1314,607],[1262,503],[1300,608],[1305,609],[1293,610],[1292,593],[1315,611],[1316,221],[1317,612],[1299,539],[1310,221],[1311,613],[1417,614],[1418,615],[1416,616],[1132,617],[1125,618],[1175,503],[1172,619],[1176,620],[1173,621],[1367,622],[1344,623],[1350,624],[1319,624],[1320,624],[1321,625],[1349,626],[1322,627],[1337,624],[1323,628],[1324,628],[1325,625],[1326,624],[1327,629],[1328,624],[1351,630],[1329,624],[1330,624],[1331,631],[1332,624],[1333,624],[1334,631],[1335,625],[1336,624],[1338,632],[1339,631],[1340,624],[1341,625],[1342,624],[1343,624],[1364,633],[1355,634],[1370,635],[1345,636],[1346,637],[1359,638],[1352,639],[1363,640],[1354,641],[1362,642],[1361,643],[1366,644],[1353,645],[1368,646],[1365,647],[1360,648],[1348,649],[1347,637],[1369,650],[1358,651],[1357,652],[1128,653],[1130,654],[1129,653],[1131,653],[1134,655],[1133,656],[1135,657],[1126,658],[1403,659],[1371,660],[1396,661],[1400,662],[1399,663],[1372,664],[1401,665],[1392,666],[1393,662],[1394,667],[1395,668],[1380,669],[1388,670],[1398,671],[1404,672],[1373,673],[1374,671],[1377,674],[1383,675],[1387,676],[1385,677],[1389,678],[1378,679],[1381,680],[1386,681],[1402,682],[1384,683],[1382,684],[1379,685],[1397,686],[1375,687],[1391,688],[1376,539],[1390,689],[1124,539],[1122,690],[1127,691],[1409,221],[2276,692],[2277,693],[2242,221],[2250,694],[2244,695],[2251,221],[2273,696],[2248,697],[2272,698],[2269,699],[2252,700],[2253,221],[2246,221],[2243,221],[2274,701],[2270,702],[2254,221],[2271,703],[2255,704],[2257,705],[2258,706],[2247,707],[2259,708],[2260,707],[2262,708],[2263,709],[2264,710],[2266,711],[2261,712],[2267,713],[2268,714],[2245,715],[2265,716],[2249,717],[2256,221],[2275,718],[616,221],[617,719],[614,221],[615,221],[1559,221],[1445,221],[1453,720],[1454,721],[637,722],[634,221],[636,723],[635,724],[633,725],[632,726],[650,727],[649,728],[655,729],[653,728],[654,730],[645,731],[644,732],[2389,292],[727,733],[698,734],[707,734],[699,734],[708,734],[700,734],[701,734],[715,734],[714,734],[716,734],[717,734],[709,734],[702,734],[710,734],[703,734],[711,734],[704,734],[706,734],[713,734],[712,734],[718,734],[705,734],[719,734],[724,734],[725,734],[720,734],[697,221],[726,221],[722,734],[721,734],[723,734],[858,221],[980,735],[859,736],[860,737],[999,738],[1000,739],[1001,740],[1002,741],[1003,742],[1004,743],[992,744],[987,745],[988,746],[989,747],[991,742],[990,748],[986,744],[993,745],[995,749],[994,750],[985,742],[984,751],[998,744],[981,745],[982,752],[983,753],[997,742],[996,754],[861,745],[856,755],[977,756],[857,757],[979,758],[978,759],[884,760],[881,761],[941,762],[919,763],[898,764],[826,765],[1017,766],[963,767],[1006,768],[1005,736],[783,769],[792,770],[796,771],[905,772],[816,773],[787,774],[798,775],[895,773],[875,773],[910,776],[974,773],[769,777],[813,777],[782,778],[770,777],[843,773],[821,779],[822,780],[791,781],[800,782],[801,777],[802,783],[804,784],[834,785],[867,773],[969,773],[771,773],[850,786],[784,787],[793,777],[795,788],[835,777],[836,789],[837,790],[838,790],[828,791],[831,792],[788,793],[805,773],[971,773],[772,773],[806,773],[807,794],[808,773],[768,773],[847,795],[810,796],[914,797],[912,773],[913,798],[915,799],[811,773],[968,773],[973,773],[842,800],[794,769],[812,773],[844,801],[845,802],[809,773],[825,773],[1013,803],[975,804],[767,221],[876,773],[846,773],[896,773],[814,805],[815,806],[839,773],[904,807],[897,773],[902,808],[903,809],[789,810],[942,773],[851,811],[786,773],[818,812],[781,813],[852,790],[785,787],[797,777],[840,814],[773,777],[817,773],[824,773],[833,815],[820,816],[829,773],[819,817],[774,790],[832,773],[972,773],[970,773],[790,810],[848,818],[849,773],[803,773],[830,773],[943,819],[841,773],[799,773],[823,820],[879,821],[901,822],[886,221],[868,823],[865,824],[955,825],[920,826],[889,827],[944,828],[883,829],[958,830],[888,831],[906,832],[921,833],[946,834],[961,835],[918,836],[885,837],[893,838],[882,839],[917,840],[1016,841],[956,842],[945,843],[877,844],[954,845],[1007,846],[1008,846],[1012,847],[1011,848],[862,849],[1010,846],[1009,846],[908,850],[911,851],[953,852],[952,853],[776,221],[909,854],[892,855],[950,856],[775,221],[880,857],[916,858],[957,859],[779,221],[891,860],[948,861],[899,862],[887,863],[949,864],[907,865],[947,866],[874,867],[900,868],[951,869],[777,221],[890,870],[854,871],[976,872],[855,873],[959,874],[966,875],[967,876],[965,877],[933,878],[863,879],[934,880],[964,881],[870,882],[872,883],[922,884],[926,885],[873,886],[871,886],[925,887],[866,888],[927,889],[928,890],[929,891],[937,892],[935,893],[930,894],[931,895],[932,896],[938,897],[936,898],[869,899],[924,900],[939,901],[940,902],[923,903],[878,904],[864,755],[827,905],[1014,906],[1015,221],[960,907],[962,759],[853,221],[894,221],[778,221],[780,908],[2395,909],[2396,909],[2394,221],[1447,292],[1961,910],[1935,911],[1936,912],[1937,912],[1938,912],[1939,912],[1940,912],[1941,912],[1942,912],[1943,912],[1944,912],[1945,912],[1959,913],[1946,912],[1947,912],[1948,912],[1949,912],[1950,912],[1951,912],[1952,912],[1953,912],[1955,912],[1956,912],[1954,912],[1957,912],[1958,912],[1960,912],[1934,914],[1533,915],[1535,916],[1547,917],[1548,918],[1537,919],[1549,920],[1543,221],[1545,921],[1546,922],[1544,923],[1538,924],[1531,221],[1530,221],[1539,925],[1541,926],[1532,221],[1536,927],[1542,927],[1534,221],[1540,221],[1452,928],[1451,221],[1455,929],[1020,221],[1023,930],[1025,931],[1027,932],[1026,933],[1028,934],[1032,935],[1029,930],[1030,933],[1031,933],[1022,933],[1021,936],[1024,221],[1817,292],[535,937],[540,938],[530,939],[296,940],[336,941],[515,942],[331,943],[313,221],[487,221],[294,221],[504,944],[361,945],[295,221],[415,946],[339,947],[340,948],[486,949],[501,950],[397,951],[509,952],[510,953],[508,954],[507,221],[505,955],[338,956],[297,957],[440,221],[441,958],[367,959],[298,960],[368,959],[363,959],[285,959],[334,961],[333,221],[514,962],[526,221],[321,221],[462,963],[463,964],[457,292],[562,221],[465,221],[466,46],[458,965],[567,966],[566,967],[561,221],[382,221],[500,968],[499,221],[560,969],[459,292],[391,970],[387,971],[392,972],[390,221],[389,973],[388,221],[563,221],[559,221],[565,974],[564,221],[386,971],[554,975],[557,976],[376,977],[375,978],[374,979],[570,292],[373,980],[355,221],[573,221],[1832,981],[1831,221],[576,221],[575,292],[577,982],[278,221],[511,983],[512,984],[513,985],[291,221],[324,221],[290,986],[277,221],[478,292],[283,987],[477,988],[476,989],[467,221],[468,221],[475,221],[470,221],[473,990],[469,221],[471,991],[474,992],[472,991],[293,221],[288,221],[289,959],[344,221],[349,993],[350,994],[348,995],[346,996],[347,997],[342,221],[484,46],[370,46],[534,998],[541,999],[545,1000],[518,1001],[517,221],[358,221],[578,1002],[529,1003],[460,1004],[461,1005],[455,1006],[446,221],[483,1007],[520,292],[447,1008],[485,1009],[480,1010],[479,221],[481,221],[452,221],[439,1011],[519,1012],[522,1013],[449,1014],[453,1015],[444,1016],[496,1017],[528,1018],[401,1019],[416,1020],[286,1021],[527,1022],[282,1023],[351,1024],[343,221],[352,1025],[428,1026],[341,221],[427,1027],[271,221],[421,1028],[323,221],[442,1029],[417,221],[287,221],[317,221],[425,1030],[292,221],[353,1031],[451,1032],[516,1033],[450,221],[424,221],[345,221],[430,1034],[431,1035],[506,221],[433,1036],[435,1037],[434,1038],[326,221],[423,1021],[437,1039],[400,1040],[422,1041],[429,1042],[301,221],[305,221],[304,221],[303,221],[308,221],[302,221],[311,221],[310,221],[307,221],[306,221],[309,221],[312,1043],[300,221],[409,1044],[408,221],[413,1045],[410,1046],[412,1047],[414,1045],[411,1046],[322,1048],[371,1049],[525,1050],[579,221],[549,1051],[551,1052],[448,1053],[550,1054],[523,1012],[464,1012],[299,221],[402,1055],[318,1056],[319,1057],[320,1058],[316,1059],[495,1059],[365,1059],[403,1060],[366,1060],[315,1061],[314,221],[407,1062],[406,1063],[405,1064],[404,1065],[524,1066],[494,1067],[493,1068],[456,1069],[489,1070],[492,1071],[503,1072],[502,1073],[498,1074],[399,1075],[396,1076],[398,1077],[395,1078],[436,1079],[426,221],[539,221],[438,1080],[497,221],[354,1081],[445,983],[443,1082],[356,1083],[359,1084],[574,221],[357,1085],[360,1085],[537,221],[536,221],[538,221],[572,221],[362,1086],[521,221],[393,1087],[385,292],[337,221],[281,1088],[369,221],[543,292],[280,221],[553,1089],[384,292],[547,46],[383,1090],[532,1091],[381,1089],[284,221],[555,1092],[379,292],[380,292],[372,221],[279,221],[378,1093],[377,1094],[325,1095],[454,348],[364,348],[432,221],[419,1096],[418,221],[482,971],[394,292],[533,1097],[266,292],[269,1098],[270,1099],[267,292],[268,221],[335,1100],[330,1101],[329,221],[328,1102],[327,221],[531,1103],[542,1104],[544,1105],[546,1106],[1833,1107],[548,1108],[552,1109],[585,1110],[556,1110],[584,1111],[558,1112],[568,1113],[569,1114],[571,1115],[580,1116],[583,986],[582,221],[581,1117],[1639,1118],[1640,1119],[1641,1120],[1643,1121],[1638,1122],[1631,221],[1637,1123],[1633,1124],[1632,1123],[1634,1125],[1636,1126],[1642,221],[1635,221],[612,1127],[625,1128],[610,221],[611,1129],[626,1130],[621,1131],[622,1132],[620,1133],[624,1134],[618,1135],[613,1136],[623,1137],[619,1128],[2501,1138],[2498,1117],[2500,1139],[2499,221],[2497,221],[1118,1140],[631,1141],[628,1142],[629,221],[630,221],[627,1143],[1813,1144],[1456,292],[2240,1145],[2357,221],[2372,1146],[2373,1146],[2386,1147],[2374,1148],[2375,1148],[2376,1149],[2370,1150],[2368,1151],[2359,221],[2363,1152],[2367,1153],[2365,1154],[2371,1155],[2360,1156],[2361,1157],[2362,1158],[2364,1159],[2366,1160],[2369,1161],[2377,1148],[2378,1148],[2379,1148],[2380,1146],[2381,1148],[2382,1148],[2358,1148],[2383,221],[2385,1162],[2384,1148],[1825,1163],[1821,292],[1822,292],[1820,221],[1823,1164],[1824,1163],[1965,1165],[1964,1166],[2398,1167],[2397,1168],[1852,221],[1866,1169],[1847,292],[1849,1170],[1851,1171],[1850,1172],[1848,221],[1853,221],[1854,221],[1855,221],[1856,221],[1857,221],[1858,221],[1859,221],[1860,221],[1861,221],[1862,1173],[1864,1174],[1865,1174],[1863,221],[1867,1175],[2322,1176],[2324,1177],[2314,1178],[2319,1179],[2320,1180],[2326,1181],[2321,1182],[2318,1183],[2317,1184],[2316,1185],[2327,1186],[2284,1179],[2285,1179],[2325,1179],[2330,1187],[2340,1188],[2334,1188],[2342,1188],[2346,1188],[2332,1189],[2333,1188],[2335,1188],[2338,1188],[2341,1188],[2337,1190],[2339,1188],[2343,292],[2336,1179],[2331,1191],[2293,292],[2297,292],[2287,1179],[2290,292],[2295,1179],[2296,1192],[2289,1193],[2292,292],[2294,292],[2291,1194],[2280,292],[2279,292],[2348,1195],[2345,1196],[2311,1197],[2310,1179],[2308,292],[2309,1179],[2312,1198],[2313,1199],[2306,292],[2302,1200],[2305,1179],[2304,1179],[2303,1179],[2298,1179],[2307,1200],[2344,1179],[2323,1201],[2329,1202],[2328,1203],[2347,221],[2315,221],[2288,221],[2286,1204],[652,1205],[651,1206],[639,1207],[638,1208],[657,1209],[656,1210],[648,1211],[647,728],[646,1212],[1963,1213],[1962,1214],[420,1215],[1523,292],[643,1216],[641,1217],[642,1218],[640,221],[1449,221],[606,1219],[605,221],[79,221],[80,221],[13,221],[14,221],[16,221],[15,221],[2,221],[17,221],[18,221],[19,221],[20,221],[21,221],[22,221],[23,221],[24,221],[3,221],[25,221],[26,221],[4,221],[27,221],[31,221],[28,221],[29,221],[30,221],[32,221],[33,221],[34,221],[5,221],[35,221],[36,221],[37,221],[38,221],[6,221],[42,221],[39,221],[40,221],[41,221],[43,221],[7,221],[44,221],[49,221],[50,221],[45,221],[46,221],[47,221],[48,221],[8,221],[54,221],[51,221],[52,221],[53,221],[55,221],[9,221],[56,221],[57,221],[58,221],[60,221],[59,221],[61,221],[62,221],[10,221],[63,221],[64,221],[65,221],[11,221],[66,221],[67,221],[68,221],[69,221],[70,221],[1,221],[71,221],[72,221],[12,221],[76,221],[74,221],[78,221],[73,221],[77,221],[75,221],[2420,1220],[2430,1221],[2419,1220],[2440,1222],[2411,1223],[2410,1224],[2439,1117],[2433,1225],[2438,1226],[2413,1227],[2427,1228],[2412,1229],[2436,1230],[2408,1231],[2407,1117],[2437,1232],[2409,1233],[2414,1234],[2415,221],[2418,1234],[2405,221],[2441,1235],[2431,1236],[2422,1237],[2423,1238],[2425,1239],[2421,1240],[2424,1241],[2434,1117],[2416,1242],[2417,1243],[2426,1244],[2406,1140],[2429,1236],[2428,1234],[2432,221],[2435,1245],[108,1246],[119,1247],[106,1248],[120,1140],[129,1249],[97,1250],[98,1251],[96,1224],[128,1117],[123,1252],[127,1253],[100,1254],[116,1255],[99,1256],[126,1257],[94,1258],[95,1252],[101,1259],[102,221],[107,1260],[105,1259],[92,1261],[130,1262],[121,1263],[111,1264],[110,1259],[112,1265],[114,1266],[109,1267],[113,1268],[124,1117],[103,1269],[104,1270],[115,1271],[93,1140],[118,1272],[117,1259],[122,221],[91,221],[125,1273],[608,1274],[604,221],[607,1275],[1920,292],[2355,479],[601,1276],[600,319],[603,1277],[602,1278],[2283,1279],[2301,1280],[1900,1281],[1901,221],[1899,221],[1902,1282],[1903,1283],[1438,1284],[1430,1285],[1437,1286],[1432,221],[1433,221],[1431,1287],[1434,1288],[1425,221],[1426,221],[1427,1284],[1429,1289],[1435,221],[1436,1290],[1428,1291],[263,1292],[257,1293],[261,1294],[258,1294],[254,1293],[262,1295],[259,1296],[1111,1292],[260,1294],[255,1297],[256,1298],[250,1299],[194,1300],[196,1301],[249,221],[195,1302],[253,1303],[252,1304],[251,1305],[187,221],[197,1300],[198,221],[189,1306],[193,1307],[188,221],[190,1308],[191,1309],[192,221],[1112,1310],[199,1311],[200,1311],[201,1311],[202,1311],[203,1311],[204,1311],[205,1311],[206,1311],[207,1311],[208,1311],[209,1311],[210,1311],[211,1311],[213,1311],[212,1311],[214,1311],[215,1311],[216,1311],[217,1311],[248,1312],[218,1311],[219,1311],[220,1311],[221,1311],[222,1311],[223,1311],[224,1311],[225,1311],[226,1311],[227,1311],[228,1311],[229,1311],[230,1311],[232,1311],[231,1311],[233,1311],[234,1311],[235,1311],[236,1311],[237,1311],[238,1311],[239,1311],[240,1311],[241,1311],[242,1311],[243,1311],[244,1311],[247,1311],[245,1311],[246,1311],[1593,1313],[1599,1314],[1597,1315],[1595,1315],[1598,1315],[1594,1315],[1596,1315],[1592,1315],[1591,221],[264,219],[594,1316]],"affectedFilesPendingEmit":[265,588,1423,1424,1444,1827,1842,1840,1845,1846,1968,1834,596,1837,1970,1972,1975,597,1446,659,1976,1977,1870,1890,1869,1889,1875,1888,1882,1884,1879,1924,1874,1911,1931,1930,1979,1967,1966,1878,1921,1891,1898,1886,1897,1892,1913,1908,1904,1917,1918,1919,1909,1905,1907,1916,1915,1914,1906,1826,1844,1819,1922,1835,1836,1457,1932,1923,1978,1818,1969,1980,1981,1873,1838,1973,1982,1816,2241,1843,2278,2349,1929,2350,1896,2354,1871,1881,2356,1872,1894,2387,2388,2390,1883,1880,1926,2391,2392,2393,2399,1925,1928,1841,1927,1974,1868,1876,1885,1839,1912,1971,1895,1828,1910,2400,2401,1877,1893,2402,2404,2403,1829,1458,1460,1462,1463,1466,595,1467,1469,1468,1471,1578,1576,1555,1472,1553,1571,1577,1522,1501,1579,1580,1887,1609,1612,1623,1624,1611,1613,1614,1615,1616,1618,1619,1620,1621,1622,1581,1584,1585,1603,1604,1605,1606,1608,1587,1590,1589,1588,1629,1421,658,1478,1575,1572,1574,1573,1525,1524,1516,1517,1521,1520,1518,1519,1499,1498,1487,1488,1497,1486,1496,1492,1495,1494,1490,1491,1489,1493,1500,1479,1483,1480,1481,1482,1420,1419,1583,1625,1566,1567,1565,1626,1550,1526,1551,1552,1443,1508,1514,1515,1617,1475,1477,1474,1476,1630,589,1554,1556,1557,1569,1568,1562,1558,1564,1563,1561,1570,1560,1502,1505,1511,1507,1509,1510,1506,1503,1512,1484,1758,1757,1759,1760,1602,1761,1607,1763,1764,1610,1485,598,1582,1459,1461,1586,1465,1504,1762,1513,1464,1470,1600,1765,1766,1473,1767,1601,1768,1450],"version":"5.8.3"}
\ No newline at end of file +{"fileNames":["../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.object.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.string.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.bun/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.bun/@types+react@19.2.10/node_modules/@types/react/global.d.ts","../../node_modules/.bun/csstype@3.2.3/node_modules/csstype/index.d.ts","../../node_modules/.bun/@types+react@19.2.10/node_modules/@types/react/index.d.ts","../../node_modules/.bun/@types+react@19.2.10/node_modules/@types/react/jsx-runtime.d.ts","../../node_modules/.bun/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../node_modules/.bun/@content-collections+core@0.14.1+5bbfac422febb175/node_modules/@content-collections/core/dist/index.d.ts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/typealiases.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/util.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/index.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/zoderror.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/locales/en.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/errors.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/parseutil.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/enumutil.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/errorutil.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/partialutil.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/standard-schema.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/types.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/external.d.cts","../../node_modules/.bun/zod@3.25.76/node_modules/zod/index.d.cts","./content-collections.ts","../../node_modules/.bun/drizzle-kit@0.31.4/node_modules/drizzle-kit/index-baurj6ib.d.mts","../../node_modules/.bun/drizzle-kit@0.31.4/node_modules/drizzle-kit/index.d.mts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/utility.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/header.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/readable.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/fetch.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/formdata.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/connector.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/client-stats.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/client.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/errors.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/global-origin.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/pool.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/handlers.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/h2c-client.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/agent.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/mock-call-history.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/mock-client.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/api.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/interceptors.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/util.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/cookies.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/patch.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/websocket.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/eventsource.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/content-type.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/cache.d.ts","../../node_modules/.bun/undici-types@7.10.0/node_modules/undici-types/index.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/globals.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/assert.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/buffer.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/child_process.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/cluster.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/console.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/constants.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/crypto.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/dgram.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/dns.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/domain.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/dom-events.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/events.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/fs.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/http.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/http2.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/https.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/inspector.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/module.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/net.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/os.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/path.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/process.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/punycode.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/querystring.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/readline.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/repl.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/sea.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/sqlite.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/stream.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/stream/web.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/test.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/timers.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/tls.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/trace_events.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/tty.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/url.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/util.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/v8.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/vm.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/wasi.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/zlib.d.ts","../../node_modules/.bun/@types+node@24.2.1/node_modules/@types/node/index.d.ts","../../node_modules/.bun/dotenv@16.6.1/node_modules/dotenv/lib/main.d.ts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/json-schema.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/standard-schema.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/registries.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/to-json-schema.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/util.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/versions.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/schemas.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/checks.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/errors.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/core.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/parse.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/regexes.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ar.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/az.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/be.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/bg.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ca.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/cs.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/da.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/de.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/en.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/eo.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/es.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/fa.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/fi.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/fr.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/fr-ca.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/he.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/hu.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/hy.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/id.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/is.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/it.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ja.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ka.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/kh.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/km.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ko.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/lt.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/mk.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ms.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/nl.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/no.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ota.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ps.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/pl.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/pt.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ru.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/sl.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/sv.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ta.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/th.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/tr.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ua.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/uk.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ur.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/uz.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/vi.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/zh-cn.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/zh-tw.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/yo.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/index.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/doc.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/api.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/json-schema-processors.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/json-schema-generator.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/index.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/errors.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/parse.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/schemas.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/checks.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/compat.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/from-json-schema.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/iso.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/coerce.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/external.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/index.d.cts","../../packages/env/src/web.ts","./drizzle.config.ts","../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/global.d.ts","../../node_modules/.bun/csstype@3.1.3/node_modules/csstype/index.d.ts","../../node_modules/.bun/@types+prop-types@15.7.15/node_modules/@types/prop-types/index.d.ts","../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/styled-jsx/types/css.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/styled-jsx/types/style.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/styled-jsx/types/global.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/styled-jsx/types/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/get-page-files.d.ts","../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/canary.d.ts","../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/experimental.d.ts","../../node_modules/.bun/@types+react-dom@19.2.3+c3ba17a945f9f28a/node_modules/@types/react-dom/index.d.ts","../../node_modules/.bun/@types+react-dom@18.3.7+fccada1f982c16e9/node_modules/@types/react-dom/index.d.ts","../../node_modules/.bun/@types+react-dom@18.3.7+fccada1f982c16e9/node_modules/@types/react-dom/canary.d.ts","../../node_modules/.bun/@types+react-dom@18.3.7+fccada1f982c16e9/node_modules/@types/react-dom/experimental.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/fallback.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/entry-constants.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/constants.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/config.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/load-custom-routes.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/image-config.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/body-streams.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/cache-control.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/worker.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/constants.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/bundler.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/page-types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/require-hook.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/node-environment-baseline.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/node-environment.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/page-extensions-type.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-kind.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/response-cache/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/app-router-headers.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/render-result.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/instrumentation/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/coalesced-function.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/router-utils/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/trace/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/trace/trace.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/trace/shared.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/trace/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/load-jsconfig.d.ts","../../node_modules/.bun/@next+env@16.1.3/node_modules/@next/env/dist/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/telemetry/storage.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/build-context.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/webpack-config.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/swc/generated-native.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/swc/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/dev/parse-version-info.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/next-devtools/shared/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/parse-stack.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/next-devtools/server/shared.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/jsx-runtime.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/dev/debug-channel.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/i18n-provider.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/next-url.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/after/builtin-request-context.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/render.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/mitt.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/with-router.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/router.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/route-loader.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/page-loader.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/router/router.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/readonly-url-search-params.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/app-router-types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/flight-data-helpers.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/segment-cache/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/segment-cache/navigation.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/templates/pages.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-modules/pages/module.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/load-default-error-components.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/base-http/node.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/response-cache/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/normalizers/normalizer.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/static-paths/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/base-server.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/async-callback-set.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/image-optimizer.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/next-server.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/lru-cache.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/use-cache/cache-life.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/next.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/render-server.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/router-server.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-modules/route-module.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/load-components.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/adapter.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/app-dir-module.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/cache-signal.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/request/fallback-params.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/lazy-result.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/implicit-tags.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/staged-rendering.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/app-render.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/error-boundary.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/layout-router.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/render-from-template-context.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/client-page.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/client-segment.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/request/search-params.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/metadata/types/icons.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/metadata/metadata.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/lib/framework/boundary-components.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/entry-base.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/templates/app-page.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/rendering-mode.d.ts","../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/jsx-dev-runtime.d.ts","../../node_modules/.bun/@types+react@19.2.10/node_modules/@types/react/compiler-runtime.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","../../node_modules/.bun/@types+react-dom@18.3.7+fccada1f982c16e9/node_modules/@types/react-dom/client.d.ts","../../node_modules/.bun/@types+react-dom@18.3.7+fccada1f982c16e9/node_modules/@types/react-dom/server.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/async-storage/work-store.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/http.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/redirect-status-code.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/redirect-error.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/templates/app-route.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/utils.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/export/routes/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/export/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/export/worker.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/worker.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/after/after.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/after/after-context.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/create-error-handler.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/request/params.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/route-matches/route-match.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/request-meta.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/cli/next-test.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/config-shared.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/base-http/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/api-utils/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/build/adapter/build-complete.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/utils.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/pages/_app.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/app.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/cache.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/pages/_document.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/document.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/dynamic.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dynamic.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/pages/_error.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/error.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/head.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/head.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/request/cookies.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/request/headers.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/request/draft-mode.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/headers.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/get-img-props.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/image-component.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/shared/lib/image-external.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/image.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/link.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/link.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/unrecognized-action-error.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/redirect.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/not-found.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/forbidden.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/unauthorized.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/navigation.react-server.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/components/navigation.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/navigation.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/router.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/client/script.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/script.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/compiled/@vercel/og/emoji/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/after/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/server/request/connection.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/server.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/types/global.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/types/compiled.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/image-types/global.d.ts","./.next/dev/types/routes.d.ts","./next-env.d.ts","../../node_modules/.bun/botid@1.4.2+dc73a62373ff452c/node_modules/botid/dist/next/config/index.d.ts","../../node_modules/.bun/@content-collections+next@0.2.11+131a5f6df76548b8/node_modules/@content-collections/next/dist/index.d.ts","./next.config.ts","../../node_modules/.bun/@napi-rs+canvas@0.1.92/node_modules/@napi-rs/canvas/index.d.ts","./scripts/generate-font-sprites.ts","./src/proxy.ts","../../packages/ui/src/icons/brand.tsx","../../packages/ui/src/icons/ui.tsx","../../packages/ui/src/icons/index.tsx","./src/constants/site-constants.ts","./src/app/metadata.ts","./src/app/robots.ts","./src/lib/blog/types.ts","../../node_modules/.bun/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts","../../node_modules/.bun/vfile-message@4.0.2/node_modules/vfile-message/lib/index.d.ts","../../node_modules/.bun/vfile-message@4.0.2/node_modules/vfile-message/index.d.ts","../../node_modules/.bun/vfile@6.0.3/node_modules/vfile/lib/index.d.ts","../../node_modules/.bun/vfile@6.0.3/node_modules/vfile/index.d.ts","../../node_modules/.bun/unified@11.0.5/node_modules/unified/lib/callable-instance.d.ts","../../node_modules/.bun/trough@2.2.0/node_modules/trough/lib/index.d.ts","../../node_modules/.bun/trough@2.2.0/node_modules/trough/index.d.ts","../../node_modules/.bun/unified@11.0.5/node_modules/unified/lib/index.d.ts","../../node_modules/.bun/unified@11.0.5/node_modules/unified/index.d.ts","../../node_modules/.bun/@types+hast@3.0.4/node_modules/@types/hast/index.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/common/html.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/common/token.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/common/error-codes.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/tokenizer/preprocessor.d.ts","../../node_modules/.bun/entities@6.0.1/node_modules/entities/dist/esm/generated/decode-data-html.d.ts","../../node_modules/.bun/entities@6.0.1/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts","../../node_modules/.bun/entities@6.0.1/node_modules/entities/dist/esm/decode-codepoint.d.ts","../../node_modules/.bun/entities@6.0.1/node_modules/entities/dist/esm/decode.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/tokenizer/index.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/tree-adapters/interface.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/parser/open-element-stack.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/parser/formatting-element-list.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/parser/index.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/tree-adapters/default.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/serializer/index.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/common/foreign-content.d.ts","../../node_modules/.bun/parse5@7.3.0/node_modules/parse5/dist/index.d.ts","../../node_modules/.bun/property-information@7.1.0/node_modules/property-information/lib/util/info.d.ts","../../node_modules/.bun/property-information@7.1.0/node_modules/property-information/lib/find.d.ts","../../node_modules/.bun/property-information@7.1.0/node_modules/property-information/lib/hast-to-react.d.ts","../../node_modules/.bun/property-information@7.1.0/node_modules/property-information/lib/normalize.d.ts","../../node_modules/.bun/property-information@7.1.0/node_modules/property-information/index.d.ts","../../node_modules/.bun/hast-util-from-parse5@8.0.3/node_modules/hast-util-from-parse5/lib/index.d.ts","../../node_modules/.bun/hast-util-from-parse5@8.0.3/node_modules/hast-util-from-parse5/index.d.ts","../../node_modules/.bun/hast-util-from-html@2.0.3/node_modules/hast-util-from-html/lib/errors.d.ts","../../node_modules/.bun/hast-util-from-html@2.0.3/node_modules/hast-util-from-html/lib/types.d.ts","../../node_modules/.bun/hast-util-from-html@2.0.3/node_modules/hast-util-from-html/lib/index.d.ts","../../node_modules/.bun/hast-util-from-html@2.0.3/node_modules/hast-util-from-html/index.d.ts","../../node_modules/.bun/rehype-parse@9.0.1/node_modules/rehype-parse/lib/index.d.ts","../../node_modules/.bun/rehype-parse@9.0.1/node_modules/rehype-parse/index.d.ts","../../node_modules/.bun/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/format-smart.d.ts","../../node_modules/.bun/stringify-entities@4.0.4/node_modules/stringify-entities/lib/core.d.ts","../../node_modules/.bun/stringify-entities@4.0.4/node_modules/stringify-entities/lib/index.d.ts","../../node_modules/.bun/stringify-entities@4.0.4/node_modules/stringify-entities/index.d.ts","../../node_modules/.bun/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/index.d.ts","../../node_modules/.bun/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/index.d.ts","../../node_modules/.bun/rehype-stringify@10.0.1/node_modules/rehype-stringify/index.d.ts","../../node_modules/.bun/rehype-slug@6.0.0/node_modules/rehype-slug/lib/index.d.ts","../../node_modules/.bun/rehype-slug@6.0.0/node_modules/rehype-slug/index.d.ts","../../node_modules/.bun/hast-util-is-element@3.0.0/node_modules/hast-util-is-element/lib/index.d.ts","../../node_modules/.bun/hast-util-is-element@3.0.0/node_modules/hast-util-is-element/index.d.ts","../../node_modules/.bun/rehype-autolink-headings@7.1.0/node_modules/rehype-autolink-headings/lib/index.d.ts","../../node_modules/.bun/rehype-autolink-headings@7.1.0/node_modules/rehype-autolink-headings/index.d.ts","../../node_modules/.bun/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/lib/index.d.ts","../../node_modules/.bun/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/lib/schema.d.ts","../../node_modules/.bun/hast-util-sanitize@5.0.2/node_modules/hast-util-sanitize/index.d.ts","../../node_modules/.bun/rehype-sanitize@6.0.0/node_modules/rehype-sanitize/lib/index.d.ts","../../node_modules/.bun/rehype-sanitize@6.0.0/node_modules/rehype-sanitize/index.d.ts","./src/lib/blog/query.ts","./src/app/sitemap.ts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/helper.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/helper.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/standard-schema.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/error.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/cookies.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/openapi.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/endpoint.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/middleware.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/context.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/router.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/to-response.d.mts","../../node_modules/.bun/better-call@1.1.8/node_modules/better-call/dist/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/cookie.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/schema/account.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/schema/rate-limit.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/schema/session.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/schema/user.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/schema/verification.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/get-tables.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/schema/shared.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/get-default-field-name.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/get-default-model-name.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/get-field-attributes.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/get-field-name.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/get-id-field.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/get-model-name.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/types.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/factory.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/utils.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/adapter/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/env/logger.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/oauth-provider.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/client-credentials-token.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/create-authorization-url.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/refresh-access-token.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/utils.d.mts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/types.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwe/general/decrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwe/general/encrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jws/compact/verify.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jws/flattened/verify.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jws/general/verify.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwt/verify.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwt/decrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jws/compact/sign.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jws/flattened/sign.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jws/general/sign.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwt/sign.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwt/encrypt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwk/thumbprint.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwk/embedded.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwks/local.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwks/remote.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/jwt/unsecured.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/key/export.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/key/import.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/util/decode_protected_header.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/util/decode_jwt.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/util/errors.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/key/generate_key_pair.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/key/generate_secret.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/util/base64url.d.ts","../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/types/index.d.ts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/validate-authorization-code.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/verify.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/oauth2/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/apple.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/atlassian.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/cognito.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/discord.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/facebook.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/figma.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/github.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/microsoft-entra-id.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/google.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/huggingface.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/slack.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/spotify.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/twitch.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/twitter.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/dropbox.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/kick.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/linear.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/linkedin.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/gitlab.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/tiktok.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/reddit.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/roblox.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/salesforce.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/vk.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/zoom.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/notion.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/kakao.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/naver.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/line.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/paybin.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/paypal.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/polar.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/vercel.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/social-providers/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/context.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/api/index.d.mts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/identifier-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/check-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/column-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/default-value-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/generated-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/schemable-identifier-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/table-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/delete-result.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/update-result.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/type-error.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/merge-result.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/type-utils.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/references-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/add-column-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-column-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/rename-column-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/raw-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/alter-column-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/foreign-key-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/primary-key-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/add-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/modify-column-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-index-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/rename-constraint-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/where-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/create-schema-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/value-list-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/create-type-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/from-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/group-by-item-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/group-by-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/having-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/on-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/join-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/limit-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/offset-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/collate-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/order-by-item-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/order-by-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/alias-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/select-all-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/reference-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/simple-reference-expression-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/selection-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/common-table-expression-name-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/common-table-expression-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/with-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/select-modifier-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/operation-node-source.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/expression/expression.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/explainable.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/explain-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/set-operation-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/value-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/fetch-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/top-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/select-query-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/create-view-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-schema-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-table-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-type-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/drop-view-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/output-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/returning-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/when-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/merge-query-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/on-conflict-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/on-duplicate-key-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/or-action-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/insert-query-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/update-query-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/using-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/delete-query-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/query-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/refresh-materialized-view-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/query-id.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-compiler/compiled-query.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/driver/database-connection.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/driver/driver.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/database-introspector.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/dialect.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/driver/connection-provider.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/kysely-plugin.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-executor/query-executor.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/compilable.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/default-value-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/data-type-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/data-type-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/foreign-key-constraint-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/alter-column-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/alter-table-executor.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/alter-table-drop-constraint-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/select-query-builder-expression.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/binary-operation-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/value-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/column-type.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/binary-operation-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/join-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dynamic/dynamic-table-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/table-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/join-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dynamic/dynamic-reference-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/select-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/collate-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/order-by-item-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/order-by-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/group-by-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/where-interface.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/no-result-error.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/having-interface.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/set-operation-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/streamable.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/and-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/or-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/parens-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/expression/expression-wrapper.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/order-by-interface.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/select-query-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/coalesce-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/partition-by-item-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/partition-by-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/over-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/aggregate-function-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/partition-by-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/over-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/aggregate-function-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/function-module.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/case-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/case-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/json-path-leg-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/json-path-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/json-operator-chain-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/json-reference-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/json-path-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/tuple-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/select-from-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/expression/expression-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/expression-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/reference-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/primary-key-constraint-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/check-constraint-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/create-schema-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/drop-index-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/drop-schema-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/drop-table-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-executor/query-executor-provider.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/raw-builder/raw-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/create-view-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/drop-view-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/create-type-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/drop-type-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/refresh-materialized-view-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/schema/schema.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dynamic/dynamic.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/primitive-value-list-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/values-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/insert-values-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/returning-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/returning-interface.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/output-interface.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/delete-query-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/cte-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/with-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/delete-from-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/update-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-builder/merge-query-builder.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/merge-into-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-creator.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/log.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/savepoint-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/provide-controlled-connection.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/kysely.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/raw-builder/sql.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-executor/query-executor-base.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-executor/default-query-executor.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-executor/noop-query-executor.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/list-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/default-insert-value-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/unary-operation-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/function-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/tuple-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/matched-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/cast-node.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/driver/default-connection-provider.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/driver/single-connection-provider.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/driver/dummy-driver.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/postgres/postgres-query-compiler.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/postgres/postgres-introspector.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/postgres/postgres-adapter.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mysql/mysql-dialect-config.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mysql/mysql-dialect.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mysql/mysql-driver.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mysql/mysql-query-compiler.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mysql/mysql-introspector.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mysql/mysql-adapter.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/postgres/postgres-dialect-config.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/postgres/postgres-dialect.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-query-compiler.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-introspector.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mssql/mssql-adapter.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mssql/mssql-dialect-config.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mssql/mssql-dialect.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mssql/mssql-driver.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mssql/mssql-introspector.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/dialect/mssql/mssql-query-compiler.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/migration/migrator.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/migration/file-migration-provider.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/camel-case/camel-case-plugin.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/deduplicate-joins/deduplicate-joins-plugin.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-plugin.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/plugin/handle-empty-in-lists/handle-empty-in-lists-plugin.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/infer-result.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/util/log-once.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/parser/unary-operation-parser.d.ts","../../node_modules/.bun/kysely@0.28.9/node_modules/kysely/dist/esm/index.d.ts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/init-options.d.mts","../../node_modules/.bun/@better-fetch+fetch@1.1.21/node_modules/@better-fetch/fetch/dist/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/atom/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/map/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/map-creator/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/clean-stores/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/task/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/computed/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/deep-map/path.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/deep-map/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/effect/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/keep-mount/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/lifecycle/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/listen-keys/index.d.ts","../../node_modules/.bun/nanostores@1.1.0/node_modules/nanostores/index.d.ts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/plugin-client.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/type.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/db/plugin.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/types/plugin.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/types/helper.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/db/field.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/db/adapter-base.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/db/adapter-kysely.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/db/field-converter.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/adapters/kysely-adapter/types.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/db/get-migration.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/db/get-schema.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/env/color-depth.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/env/env-impl.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/env/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/db/internal-adapter.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/helper.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/standard-schema.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/error.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/cookies.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/openapi.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/endpoint.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/middleware.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/context.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/router.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/to-response.d.mts","../../node_modules/.bun/better-call@1.1.8+3b1ddfa528571d14/node_modules/better-call/dist/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/types/api.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/types/plugins.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/types/adapter.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/types/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/utils/get-request-ip.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/middlewares/oauth.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/middlewares/origin-check.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/middlewares/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/routes/account.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/routes/callback.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/routes/email-verification.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/routes/error.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/routes/ok.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/routes/password.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/routes/session.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/routes/sign-in.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/routes/sign-out.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/routes/sign-up.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/routes/update-user.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/routes/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/api/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/error/codes.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/error/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/types/auth.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/types/models.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/db/schema.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/db/to-zod.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/db/with-hooks.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/db/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/client/path-to-object.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/client/types.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/auth/full.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/oauth2/state.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/utils/hide-metadata.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/utils/deprecate.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/utils/error-codes.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/utils/id.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/utils/json.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/utils/string.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/utils/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/utils/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/async_hooks/index.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/context/endpoint-context.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/context/global.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/context/request-state.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/context/transaction.d.mts","../../node_modules/.bun/@better-auth+core@1.4.15+914e986bb716334c/node_modules/@better-auth/core/dist/context/index.d.mts","../../node_modules/.bun/@better-auth+telemetry@1.4.15+a0cddfd1733416ff/node_modules/@better-auth/telemetry/dist/index.d.mts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/index.d.cts","../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/index.d.cts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/index.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/adapters/drizzle-adapter/drizzle-adapter.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/adapters/drizzle-adapter/index.d.mts","../../node_modules/.bun/@upstash+redis@1.35.4/node_modules/@upstash/redis/zmscore-dwj9vh1g.d.mts","../../node_modules/.bun/@upstash+redis@1.35.4/node_modules/@upstash/redis/nodejs.d.mts","../../node_modules/.bun/postgres@3.4.7/node_modules/postgres/types/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/entity.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/logger.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/casing.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/table.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/operations.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/subquery.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/query-builders/select.types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/sql.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/utils.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/expressions/select.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/expressions/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/functions/vector.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/functions/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sql/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/checks.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/sequence.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/indexes.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/roles.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/policies.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/table.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/view-base.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/cache/core/types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/relations.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/query-promise.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/runnable-query.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/subquery.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/db.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/dialect.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/view-common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/view.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/alias.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/schema.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/utils.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/gel-core/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/checks.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/table.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/migrator.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/db.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/view.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/alias.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/schema.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/utils.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/mysql-core/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/checks.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/sequence.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/indexes.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/roles.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/policies.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/table.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/view-base.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/subquery.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/dialect.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/view-common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/view.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/alias.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/schema.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/utils.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/table.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/cache/core/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore/driver.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/db.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/singlestore-core/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/db.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/view.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/table.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/sqlite-core/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/column-builder.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/column.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/alias.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/errors.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/view-common.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/index.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/cache/core/cache.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/pg-core/db.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/postgres-js/session.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/postgres-js/driver.d.ts","../../node_modules/.bun/drizzle-orm@0.44.3+7fe4c603ac54098d/node_modules/drizzle-orm/postgres-js/index.d.ts","./src/lib/db/schema.ts","./src/lib/db/index.ts","./src/lib/auth/server.ts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/integrations/next-js.d.mts","./src/app/api/auth/[...all]/route.ts","./src/app/api/health/route.ts","../../node_modules/.bun/@upstash+redis@1.35.1/node_modules/@upstash/redis/zmscore-bsheakn7.d.mts","../../node_modules/.bun/@upstash+redis@1.35.1/node_modules/@upstash/redis/nodejs.d.mts","../../node_modules/.bun/@upstash+core-analytics@0.0.10/node_modules/@upstash/core-analytics/dist/index.d.ts","../../node_modules/.bun/@upstash+ratelimit@2.0.6+56bca893043c254b/node_modules/@upstash/ratelimit/dist/index.d.ts","./src/lib/rate-limit.ts","./src/app/api/sounds/search/route.ts","./.content-collections/generated/index.d.ts","./src/app/changelog/utils.ts","../../node_modules/.bun/zustand@5.0.6+357b98ae0eae2ec3/node_modules/zustand/esm/vanilla.d.mts","../../node_modules/.bun/zustand@5.0.6+357b98ae0eae2ec3/node_modules/zustand/esm/react.d.mts","../../node_modules/.bun/zustand@5.0.6+357b98ae0eae2ec3/node_modules/zustand/esm/index.d.mts","../../node_modules/.bun/zustand@5.0.6+357b98ae0eae2ec3/node_modules/zustand/esm/middleware/redux.d.mts","../../node_modules/.bun/zustand@5.0.6+357b98ae0eae2ec3/node_modules/zustand/esm/middleware/devtools.d.mts","../../node_modules/.bun/zustand@5.0.6+357b98ae0eae2ec3/node_modules/zustand/esm/middleware/subscribewithselector.d.mts","../../node_modules/.bun/zustand@5.0.6+357b98ae0eae2ec3/node_modules/zustand/esm/middleware/combine.d.mts","../../node_modules/.bun/zustand@5.0.6+357b98ae0eae2ec3/node_modules/zustand/esm/middleware/persist.d.mts","../../node_modules/.bun/zustand@5.0.6+357b98ae0eae2ec3/node_modules/zustand/esm/middleware.d.mts","./src/lib/animation/types.ts","./src/lib/params.ts","./src/lib/effects/types.ts","./src/lib/timeline/drag.ts","./src/lib/rendering.ts","../../node_modules/.bun/@hugeicons+core-free-icons@3.1.1/node_modules/@hugeicons/core-free-icons/dist/types/index.d.ts","../../node_modules/.bun/@hugeicons+react@1.1.4+2f44e903108183df/node_modules/@hugeicons/react/dist/types/hugeiconsicon.d.ts","../../node_modules/.bun/@hugeicons+react@1.1.4+2f44e903108183df/node_modules/@hugeicons/react/dist/types/index.d.ts","./src/constants/timeline-constants.tsx","./src/utils/id.ts","./src/lib/timeline/track-utils.ts","./src/lib/timeline/track-element-update.ts","./src/constants/text-constants.ts","./src/services/storage/types.ts","./src/lib/media/types.ts","./src/lib/registry.ts","./src/lib/effects/registry.ts","./src/lib/effects/definitions/blur.ts","./src/lib/effects/definitions/index.ts","./src/lib/effects/index.ts","./src/utils/string.ts","./src/lib/timeline/element-utils.ts","./src/lib/timeline/zoom-utils.ts","./src/lib/timeline/ruler-utils.ts","./src/lib/timeline/ripple-utils.ts","./src/lib/timeline/pixel-utils.ts","./src/lib/timeline/index.ts","./src/lib/text/layout.ts","./src/lib/animation/vector-channel.ts","./src/constants/animation-constants.ts","./src/lib/animation/interpolation.ts","./src/lib/animation/property-registry.ts","./src/lib/animation/keyframes.ts","./src/lib/animation/color-channel.ts","./src/lib/animation/number-channel.ts","./src/lib/animation/resolve.ts","./src/lib/animation/keyframe-query.ts","./src/lib/animation/property-groups.ts","./src/lib/animation/index.ts","./src/lib/preview/element-bounds.ts","./src/lib/masks/types.ts","./src/lib/timeline/types.ts","./src/lib/project/types.ts","./src/app/projects/store.ts","../../node_modules/.bun/feed@5.1.0/node_modules/feed/lib/feed.d.ts","./src/app/rss.xml/route.ts","./src/core/managers/playback-manager.ts","./src/lib/commands/base-command.ts","./src/lib/commands/timeline/track/add-track.ts","./src/lib/commands/timeline/track/remove-track.ts","./src/lib/commands/timeline/track/toggle-track-mute.ts","./src/lib/commands/timeline/track/toggle-track-visibility.ts","./src/lib/commands/timeline/track/index.ts","./src/lib/commands/timeline/element/insert-element.ts","./src/lib/commands/timeline/element/delete-elements.ts","./src/lib/commands/timeline/element/duplicate-elements.ts","./src/lib/commands/timeline/element/update-element-trim.ts","./src/lib/commands/timeline/element/update-element-duration.ts","./src/lib/commands/timeline/element/update-element-start-time.ts","./src/lib/retime/resolve.ts","./src/lib/retime/audio-stretch.ts","./src/lib/retime/presets.ts","./src/lib/retime/split.ts","./src/lib/retime/index.ts","./src/lib/commands/timeline/element/split-elements.ts","./src/lib/commands/timeline/element/update-element.ts","./src/lib/commands/timeline/element/toggle-elements-visibility.ts","./src/lib/commands/timeline/element/toggle-elements-muted.ts","./src/lib/commands/timeline/element/move-elements.ts","./src/lib/animation/effect-param-channel.ts","./src/lib/commands/timeline/element/keyframes/remove-effect-param-keyframe.ts","./src/lib/commands/timeline/element/keyframes/remove-keyframe.ts","./src/lib/commands/timeline/element/keyframes/retime-keyframe.ts","./src/lib/commands/timeline/element/keyframes/upsert-effect-param-keyframe.ts","./src/lib/commands/timeline/element/keyframes/upsert-keyframe.ts","./src/lib/commands/timeline/element/keyframes/index.ts","./src/lib/commands/timeline/element/effects/add-effect.ts","./src/lib/commands/timeline/element/effects/remove-effect.ts","./src/lib/commands/timeline/element/effects/toggle-effect.ts","./src/lib/commands/timeline/element/effects/update-effect-params.ts","./src/lib/commands/timeline/element/effects/reorder-effect.ts","./src/lib/commands/timeline/element/effects/index.ts","./src/lib/commands/timeline/element/masks/remove-mask.ts","./src/lib/commands/timeline/element/masks/toggle-mask-inverted.ts","./src/lib/commands/timeline/element/masks/index.ts","./src/lib/commands/timeline/element/retime/update-element-retime.ts","./src/lib/commands/timeline/element/retime/index.ts","./src/lib/commands/timeline/element/index.ts","./src/lib/commands/timeline/clipboard/paste.ts","./src/lib/commands/timeline/clipboard/index.ts","./src/lib/commands/timeline/tracks-snapshot.ts","./src/lib/commands/timeline/index.ts","./src/lib/commands/batch-command.ts","../../node_modules/.bun/sonner@1.7.4+aeb0770a64f5c00c/node_modules/sonner/dist/index.d.ts","./src/lib/scenes.ts","./src/services/storage/indexeddb-adapter.ts","./src/services/storage/opfs-adapter.ts","./src/services/storage/quota.ts","./src/lib/sounds/types.ts","./src/services/storage/migrations/transformers/types.ts","./src/services/storage/migrations/base.ts","./src/services/storage/migrations/transformers/utils.ts","./src/services/storage/migrations/transformers/v0-to-v1.ts","./src/services/storage/migrations/v0-to-v1.ts","./src/constants/project-constants.ts","./src/services/storage/migrations/transformers/v1-to-v2.ts","./src/services/storage/migrations/v1-to-v2.ts","./src/services/storage/migrations/transformers/v2-to-v3.ts","./src/services/storage/migrations/v2-to-v3.ts","./src/services/storage/migrations/transformers/v3-to-v4.ts","./src/services/storage/migrations/v3-to-v4.ts","./src/services/storage/migrations/transformers/v4-to-v5.ts","./src/services/storage/migrations/v4-to-v5.ts","./src/services/storage/migrations/transformers/v5-to-v6.ts","./src/services/storage/migrations/v5-to-v6.ts","./src/services/storage/migrations/transformers/v6-to-v7.ts","./src/services/storage/migrations/v6-to-v7.ts","./src/services/storage/migrations/transformers/v7-to-v8.ts","./src/services/storage/migrations/v7-to-v8.ts","./src/services/storage/migrations/transformers/v8-to-v9.ts","./src/services/storage/migrations/v8-to-v9.ts","./src/services/storage/migrations/transformers/v9-to-v10.ts","./src/services/storage/migrations/v9-to-v10.ts","./src/services/storage/migrations/transformers/v10-to-v11.ts","./src/services/storage/migrations/v10-to-v11.ts","./src/services/storage/migrations/transformers/v11-to-v12.ts","./src/services/storage/migrations/v11-to-v12.ts","./src/services/storage/migrations/transformers/v12-to-v13.ts","./src/services/storage/migrations/v12-to-v13.ts","./src/services/storage/migrations/transformers/v13-to-v14.ts","./src/services/storage/migrations/v13-to-v14.ts","./src/services/storage/migrations/runner.ts","./src/services/storage/migrations/index.ts","./src/services/storage/service.ts","./src/lib/commands/media/add-media-asset.ts","../../node_modules/.bun/@types+dom-webcodecs@0.1.13/node_modules/@types/dom-webcodecs/webcodecs.generated.d.ts","../../node_modules/.bun/@types+dom-webcodecs@0.1.13/node_modules/@types/dom-webcodecs/index.d.ts","../../node_modules/.bun/@types+dom-mediacapture-transform@0.1.11/node_modules/@types/dom-mediacapture-transform/index.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/misc.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/metadata.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/packet.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/codec-data.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/subtitles.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/codec.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/sample.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/encode.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/media-source.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/output-format.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/target.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/output.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/source.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/input-format.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/media-sink.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/input-track.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/input.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/conversion.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/custom-coder.d.ts","../../node_modules/.bun/mediabunny@1.29.1/node_modules/mediabunny/dist/modules/src/index.d.ts","./src/services/video-cache/service.ts","./src/lib/commands/media/remove-media-asset.ts","./src/lib/commands/media/index.ts","./src/lib/commands/scene/create-scene.ts","./src/lib/commands/scene/delete-scene.ts","./src/lib/commands/scene/rename-scene.ts","./src/lib/time.ts","./src/lib/timeline/bookmarks.ts","./src/lib/commands/scene/toggle-bookmark.ts","./src/lib/commands/scene/remove-bookmark.ts","./src/lib/commands/scene/update-bookmark.ts","./src/lib/commands/scene/move-bookmark.ts","./src/lib/commands/scene/index.ts","./src/lib/commands/project/update-project-settings.ts","./src/lib/commands/project/index.ts","./src/lib/commands/index.ts","./src/core/managers/timeline-manager.ts","./src/core/managers/scenes-manager.ts","./src/constants/export-constants.ts","./src/lib/export.ts","./src/services/renderer/canvas-renderer.ts","./src/services/renderer/nodes/base-node.ts","./src/services/renderer/nodes/root-node.ts","./src/services/renderer/canvas-utils.ts","./src/lib/masks/registry.ts","./src/constants/mask-constants.ts","./src/lib/masks/param-update.ts","./src/lib/masks/definitions/box-like.ts","./src/lib/masks/definitions/ellipse.ts","./src/lib/masks/definitions/rectangle.ts","./src/lib/masks/utils.ts","./src/lib/masks/definitions/split.ts","./src/lib/masks/definitions/index.ts","./src/lib/masks/index.ts","./src/services/renderer/webgl/webgl-context.ts","./src/services/renderer/webgl/webgl-utils.ts","./src/services/renderer/webgl/webgl-effect-renderer.ts","./src/services/renderer/webgl/jfa.ts","./src/services/renderer/mask-feather.ts","./src/services/renderer/nodes/visual-node.ts","./src/services/renderer/nodes/video-node.ts","./src/services/renderer/nodes/image-node.ts","./src/utils/math.ts","./src/services/renderer/nodes/text-node.ts","./src/constants/sticker-constants.ts","./src/lib/stickers/types.ts","./src/lib/stickers/registry.ts","./src/lib/stickers/sticker-id.ts","./src/lib/iconify-api.ts","./src/lib/stickers/providers/emoji.ts","./src/lib/stickers/providers/flags.ts","./src/lib/stickers/providers/logos.ts","./src/lib/stickers/providers/shapes.ts","./src/lib/stickers/providers/index.ts","./src/lib/stickers/resolver.ts","./src/lib/stickers/index.ts","./src/services/renderer/nodes/sticker-node.ts","./src/lib/gradients/parser.ts","./src/lib/gradients/canvas.ts","./src/lib/gradients/index.ts","./src/services/renderer/nodes/color-node.ts","./src/services/renderer/nodes/blur-background-node.ts","./src/services/renderer/nodes/effect-layer-node.ts","./src/services/renderer/scene-builder.ts","./src/lib/fonts/types.ts","./src/constants/font-constants.ts","./src/lib/fonts/google-fonts.ts","./src/core/managers/project-manager.ts","./src/core/managers/media-manager.ts","../../node_modules/.bun/eventemitter3@5.0.1/node_modules/eventemitter3/index.d.ts","./src/services/renderer/scene-exporter.ts","./src/lib/media/media-utils.ts","./src/lib/media/audio.ts","./src/utils/browser.ts","./src/core/managers/renderer-manager.ts","./src/core/managers/commands.ts","./src/core/managers/save-manager.ts","./src/core/managers/audio-manager.ts","./src/core/managers/selection-manager.ts","./src/core/index.ts","./src/hooks/use-editor.ts","./src/components/editor/panels/properties/hooks/use-element-playhead.ts","./src/components/editor/panels/properties/hooks/use-keyframed-color-property.ts","./src/components/editor/panels/properties/hooks/use-property-draft.ts","./src/components/editor/panels/properties/hooks/use-keyframed-number-property.ts","./src/components/editor/panels/properties/hooks/use-keyframed-vector-property.ts","./src/components/editor/panels/properties/stores/properties-store.ts","./src/lib/actions/types.ts","./src/lib/actions/keybinding.ts","./src/lib/actions/definitions.ts","./src/lib/actions/registry.ts","./src/lib/actions/index.ts","./src/utils/platform.ts","./src/stores/keybindings/migrations/v2-to-v3.ts","./src/stores/keybindings/migrations/v3-to-v4.ts","./src/stores/keybindings/migrations/v4-to-v5.ts","./src/stores/keybindings/migrations/v5-to-v6.ts","./src/stores/keybindings/migrations/index.ts","./src/stores/keybindings-store.ts","./src/components/ui/use-overlay-open-change.ts","./src/constants/editor-constants.ts","./src/constants/guide-constants.ts","./src/constants/language-constants.ts","./src/lib/transcription/types.ts","./src/constants/transcription-constants.ts","./src/data/colors/pattern-craft.ts","./src/data/colors/solid.ts","./src/hooks/use-resize-observer.ts","./src/hooks/use-container-size.ts","./src/hooks/use-element-preview.ts","./src/lib/drag-data.ts","./src/hooks/use-file-upload.ts","./src/hooks/use-focus-lock.ts","./src/hooks/use-font-atlas.ts","./src/hooks/use-fullscreen.ts","./src/hooks/use-infinite-scroll.ts","./src/stores/timeline-store.ts","./src/hooks/use-keybindings.ts","./src/hooks/use-keyboard-shortcuts-help.ts","./src/lib/preview/preview-coords.ts","./src/components/editor/panels/preview/preview-viewport.tsx","./src/hooks/use-shift-key.ts","./src/lib/masks/handle-positions.ts","./src/lib/preview/preview-snap.ts","./src/lib/masks/geometry.ts","./src/lib/masks/snap.ts","./src/lib/cancel-interaction.ts","./src/hooks/use-mask-handles.ts","./src/hooks/use-menu-preview.ts","./src/hooks/use-mobile.ts","./src/lib/media/mediabunny.ts","./src/lib/media/processing.ts","./src/lib/media/upload-toast.ts","./src/hooks/use-paste-media.ts","./src/lib/preview/hit-test.ts","./src/hooks/use-preview-interaction.ts","./src/hooks/use-raf-loop.ts","./src/stores/sounds-store.ts","./src/hooks/use-sound-search.ts","./src/hooks/use-storage-persistence.ts","./src/hooks/use-transform-handles.ts","./src/hooks/actions/use-action-handler.ts","./src/hooks/timeline/element/use-element-selection.ts","./src/hooks/timeline/element/use-keyframe-selection.ts","./src/lib/selection/scope.ts","./src/hooks/actions/use-editor-actions.ts","./src/hooks/storage/use-local-storage.ts","./src/lib/timeline/drag-utils.ts","./src/lib/timeline/snap-utils.ts","./src/hooks/timeline/use-bookmark-drag.ts","./src/hooks/timeline/use-edge-auto-scroll.ts","./src/hooks/timeline/use-initial-scroll-bottom.ts","./src/hooks/timeline/use-scroll-position.ts","./src/hooks/timeline/use-scroll-sync.ts","./src/hooks/timeline/use-snap-indicator-position.ts","./src/lib/timeline/drop-utils.ts","./src/hooks/timeline/use-timeline-drag-drop.ts","./src/hooks/timeline/use-timeline-playhead.ts","./src/hooks/timeline/use-timeline-seek.ts","./src/hooks/timeline/use-timeline-zoom.ts","./src/hooks/timeline/element/use-element-interaction.ts","./src/hooks/timeline/element/use-element-resize.ts","./src/hooks/timeline/element/use-keyframe-drag.ts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/client/react/react-store.d.mts","../../node_modules/.bun/better-auth@1.4.15+afed95b48178fb2d/node_modules/better-auth/dist/client/react/index.d.mts","./src/lib/auth/client.ts","./src/lib/commands/preview-tracker.ts","./src/lib/guides/types.ts","../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/clsx.d.mts","../../node_modules/.bun/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/types.d.ts","./src/utils/ui.ts","../../node_modules/.bun/@radix-ui+react-accessible-icon@1.1.7+6b35f2f089ddc4d4/node_modules/@radix-ui/react-accessible-icon/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-context@1.1.2+357b98ae0eae2ec3/node_modules/@radix-ui/react-context/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-primitive@2.1.3+6b35f2f089ddc4d4/node_modules/@radix-ui/react-primitive/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-collapsible@1.1.12+6b35f2f089ddc4d4/node_modules/@radix-ui/react-collapsible/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-accordion@1.2.12+6b35f2f089ddc4d4/node_modules/@radix-ui/react-accordion/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-dismissable-layer@1.1.11+6b35f2f089ddc4d4/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-focus-scope@1.1.7+6b35f2f089ddc4d4/node_modules/@radix-ui/react-focus-scope/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-portal@1.1.9+6b35f2f089ddc4d4/node_modules/@radix-ui/react-portal/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-dialog@1.1.15+6b35f2f089ddc4d4/node_modules/@radix-ui/react-dialog/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-alert-dialog@1.1.15+6b35f2f089ddc4d4/node_modules/@radix-ui/react-alert-dialog/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-aspect-ratio@1.1.7+6b35f2f089ddc4d4/node_modules/@radix-ui/react-aspect-ratio/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-avatar@1.1.10+6b35f2f089ddc4d4/node_modules/@radix-ui/react-avatar/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-checkbox@1.3.3+6b35f2f089ddc4d4/node_modules/@radix-ui/react-checkbox/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-arrow@1.1.7+6b35f2f089ddc4d4/node_modules/@radix-ui/react-arrow/dist/index.d.mts","../../node_modules/.bun/@radix-ui+rect@1.1.1/node_modules/@radix-ui/rect/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-popper@1.2.8+6b35f2f089ddc4d4/node_modules/@radix-ui/react-popper/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-roving-focus@1.1.11+6b35f2f089ddc4d4/node_modules/@radix-ui/react-roving-focus/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-menu@2.1.16+6b35f2f089ddc4d4/node_modules/@radix-ui/react-menu/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-context-menu@2.2.16+6b35f2f089ddc4d4/node_modules/@radix-ui/react-context-menu/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-direction@1.1.1+357b98ae0eae2ec3/node_modules/@radix-ui/react-direction/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-dropdown-menu@2.1.16+6b35f2f089ddc4d4/node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-label@2.1.7+6b35f2f089ddc4d4/node_modules/@radix-ui/react-label/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-form@0.1.8+6b35f2f089ddc4d4/node_modules/@radix-ui/react-form/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-hover-card@1.1.15+6b35f2f089ddc4d4/node_modules/@radix-ui/react-hover-card/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-menubar@1.1.16+6b35f2f089ddc4d4/node_modules/@radix-ui/react-menubar/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-visually-hidden@1.2.3+6b35f2f089ddc4d4/node_modules/@radix-ui/react-visually-hidden/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-navigation-menu@1.2.14+6b35f2f089ddc4d4/node_modules/@radix-ui/react-navigation-menu/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-one-time-password-field@0.1.8+6b35f2f089ddc4d4/node_modules/@radix-ui/react-one-time-password-field/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-password-toggle-field@0.1.3+6b35f2f089ddc4d4/node_modules/@radix-ui/react-password-toggle-field/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-popover@1.1.15+6b35f2f089ddc4d4/node_modules/@radix-ui/react-popover/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-progress@1.1.7+6b35f2f089ddc4d4/node_modules/@radix-ui/react-progress/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-radio-group@1.3.8+6b35f2f089ddc4d4/node_modules/@radix-ui/react-radio-group/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-scroll-area@1.2.10+6b35f2f089ddc4d4/node_modules/@radix-ui/react-scroll-area/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-select@2.2.6+6b35f2f089ddc4d4/node_modules/@radix-ui/react-select/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-separator@1.1.7+6b35f2f089ddc4d4/node_modules/@radix-ui/react-separator/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-slider@1.3.6+6b35f2f089ddc4d4/node_modules/@radix-ui/react-slider/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-slot@1.2.3+357b98ae0eae2ec3/node_modules/@radix-ui/react-slot/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-switch@1.2.6+6b35f2f089ddc4d4/node_modules/@radix-ui/react-switch/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-tabs@1.1.13+6b35f2f089ddc4d4/node_modules/@radix-ui/react-tabs/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-toast@1.2.15+6b35f2f089ddc4d4/node_modules/@radix-ui/react-toast/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-toggle@1.1.10+6b35f2f089ddc4d4/node_modules/@radix-ui/react-toggle/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-toggle-group@1.1.11+6b35f2f089ddc4d4/node_modules/@radix-ui/react-toggle-group/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-toolbar@1.1.11+6b35f2f089ddc4d4/node_modules/@radix-ui/react-toolbar/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-tooltip@1.2.8+6b35f2f089ddc4d4/node_modules/@radix-ui/react-tooltip/dist/index.d.mts","../../node_modules/.bun/radix-ui@1.4.3+6b35f2f089ddc4d4/node_modules/radix-ui/dist/index.d.mts","../../node_modules/.bun/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/types.d.ts","../../node_modules/.bun/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.d.ts","./src/components/ui/button.tsx","./src/components/ui/number-field.tsx","./src/stores/preview-store.ts","./src/lib/guides/definitions/grid.tsx","./src/lib/guides/definitions/tiktok-layout.tsx","./src/lib/guides/definitions/platforms.tsx","./src/lib/guides/registry.tsx","./src/lib/guides/index.ts","./src/lib/masks/__tests__/snap.test.ts","./src/lib/retime/__tests__/resolve.test.ts","./src/lib/retime/__tests__/split.test.ts","./src/lib/selection/constants.ts","./src/lib/selection/hit-testing.ts","./src/lib/selection/context.tsx","./src/lib/selection/types.ts","./src/lib/selection/selectable-item.tsx","./src/lib/selection/selection-box.tsx","./src/lib/selection/state.ts","./src/lib/selection/hooks/use-box-select.ts","./src/lib/selection/selectable-surface.tsx","./src/lib/selection/hooks/use-selection-scope.ts","./src/lib/selection/index.ts","./src/lib/stickers/__tests__/sticker-id.test.ts","./src/lib/timeline/selection-hit-testing.ts","./src/lib/transcription/caption.ts","./src/services/renderer/effect-preview.ts","./src/services/storage/migrations/__tests__/fixtures/v0.ts","./src/services/storage/migrations/__tests__/fixtures/v1.ts","./src/services/storage/migrations/__tests__/fixtures/v2.ts","./src/services/storage/migrations/__tests__/fixtures/v3.ts","./src/services/storage/migrations/__tests__/fixtures/v5.ts","./src/services/storage/migrations/__tests__/fixtures/index.ts","./src/services/storage/migrations/__tests__/v0-to-v1.test.ts","./src/services/storage/migrations/__tests__/v1-to-v2.test.ts","./src/services/storage/migrations/__tests__/v2-to-v3.test.ts","./src/services/storage/migrations/__tests__/v3-to-v4.test.ts","./src/services/storage/migrations/__tests__/v4-to-v5.test.ts","./src/services/storage/migrations/__tests__/v5-to-v6.test.ts","./src/services/storage/migrations/__tests__/v8-to-v9.test.ts","./src/services/storage/migrations/transformers/index.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/onnx-model.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/tensor-factory.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/tensor-conversion.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/tensor-utils.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/type-helper.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/tensor.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/onnx-value.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/inference-session.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/backend-impl.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/backend.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/env.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/trace.d.ts","../../node_modules/.bun/onnxruntime-common@1.21.0/node_modules/onnxruntime-common/dist/esm/index.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/env.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/core.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/devices.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/dtypes.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/hub.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/backends/onnx.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/maths.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/tensor.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/configs.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/data-structures.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/tokenizers.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/generation/streamers.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/generation/configuration_utils.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/generation/stopping_criteria.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/generation/logits_process.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/generation/parameters.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/whisper/generation_whisper.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/image.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/base/image_processors_utils.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/base/feature_extraction_utils.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/base/processing_utils.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/audio.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/auto/processing_auto.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/pipelines.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/utils/video.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/encodec/feature_extraction_encodec.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/clap/feature_extraction_clap.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/dac/feature_extraction_dac.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/gemma3n/feature_extraction_gemma3n.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/moonshine/feature_extraction_moonshine.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/parakeet/feature_extraction_parakeet.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/pyannote/feature_extraction_pyannote.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/seamless_m4t/feature_extraction_seamless_m4t.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/snac/feature_extraction_snac.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/speecht5/feature_extraction_speecht5.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/wav2vec2/feature_extraction_wav2vec2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/wespeaker/feature_extraction_wespeaker.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/whisper/feature_extraction_whisper.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/feature_extractors.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/auto/feature_extraction_auto.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/beit/image_processing_beit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/bit/image_processing_bit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/chinese_clip/image_processing_chinese_clip.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/clip/image_processing_clip.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/convnext/image_processing_convnext.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/deit/image_processing_deit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/detr/image_processing_detr.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/dinov3_vit/image_processing_dinov3_vit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/donut/image_processing_donut.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/dpt/image_processing_dpt.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/efficientnet/image_processing_efficientnet.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/glpn/image_processing_glpn.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/grounding_dino/image_processing_grounding_dino.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/idefics3/image_processing_idefics3.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/janus/image_processing_janus.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/jina_clip/image_processing_jina_clip.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/llava_onevision/image_processing_llava_onevision.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/maskformer/image_processing_maskformer.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mask2former/image_processing_mask2former.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mobilenet_v1/image_processing_mobilenet_v1.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mobilenet_v2/image_processing_mobilenet_v2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mobilenet_v3/image_processing_mobilenet_v3.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mobilenet_v4/image_processing_mobilenet_v4.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mobilevit/image_processing_mobilevit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/nougat/image_processing_nougat.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/owlvit/image_processing_owlvit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/owlv2/image_processing_owlv2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/phi3_v/image_processing_phi3_v.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/pixtral/image_processing_pixtral.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/pvt/image_processing_pvt.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/qwen2_vl/image_processing_qwen2_vl.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/rt_detr/image_processing_rt_detr.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/sam/image_processing_sam.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/sam2/image_processing_sam2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/sam3/image_processing_sam3.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/segformer/image_processing_segformer.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/siglip/image_processing_siglip.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/smolvlm/image_processing_smolvlm.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/swin2sr/image_processing_swin2sr.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/vit/image_processing_vit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/vitmatte/image_processing_vitmatte.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/vitpose/image_processing_vitpose.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/yolos/image_processing_yolos.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/image_processors.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/auto/image_processing_auto.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/florence2/processing_florence2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/gemma3n/processing_gemma3n.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/grounding_dino/processing_grounding_dino.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/idefics3/processing_idefics3.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/janus/processing_janus.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/jina_clip/processing_jina_clip.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/llava/processing_llava.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/mgp_str/processing_mgp_str.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/moonshine/processing_moonshine.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/owlvit/processing_owlvit.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/paligemma/processing_paligemma.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/phi3_v/processing_phi3_v.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/pixtral/processing_pixtral.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/pyannote/processing_pyannote.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/qwen2_vl/processing_qwen2_vl.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/sam/processing_sam.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/sam2/processing_sam2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/smolvlm/processing_smolvlm.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/speecht5/processing_speecht5.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/ultravox/processing_ultravox.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/voxtral/processing_voxtral.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/wav2vec2/processing_wav2vec2.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/wav2vec2_with_lm/processing_wav2vec2_with_lm.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/whisper/processing_whisper.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/models/processors.d.ts","../../node_modules/.bun/@huggingface+transformers@3.8.1/node_modules/@huggingface/transformers/types/transformers.d.ts","./src/services/transcription/worker.ts","./src/services/transcription/service.ts","./src/stores/editor-store.ts","./src/stores/panel-store.ts","./src/stores/properties-store.ts","./src/stores/stickers-store.ts","./src/types/eyedropper.d.ts","./src/types/glsl.d.ts","./src/types/soundtouchjs.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/fixup/alpha.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/interpolate/piecewise.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/interpolate/linear.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/rgb/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/rgb/parsehex.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/colors/named.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/rgb/parsenamed.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/rgb/parsergb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/rgb/parsergblegacy.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/rgb/parsetransparent.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/rgb/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyz65/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/a98/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/a98/converta98toxyz65.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/a98/convertxyz65toa98.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/a98/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/cubehelix/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/dlab/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/dlch/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsi/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsl/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsv/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hwb/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/itp/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/jab/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/jch/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lab/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lab65/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lch/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lch65/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lchuv/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lrgb/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/luv/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/okhsl/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/okhsv/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/oklab/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/oklch/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/p3/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/prophoto/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/rec2020/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyb/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyz50/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/yiq/types.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/common.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/converter.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/average.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/difference.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/fixup/hue.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/cubehelix/convertcubehelixtorgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/cubehelix/convertrgbtocubehelix.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/cubehelix/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/dlab/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/dlch/convertdlchtolab65.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/dlch/convertlab65todlch.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/dlch/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsi/converthsitorgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsi/convertrgbtohsi.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsi/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsl/converthsltorgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsl/convertrgbtohsl.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsl/parsehsl.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsl/parsehsllegacy.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsl/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsv/converthsvtorgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsv/convertrgbtohsv.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hsv/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hwb/converthwbtorgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hwb/convertrgbtohwb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hwb/parsehwb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/hwb/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/jab/convertjabtorgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/jab/convertjabtoxyz65.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/jab/convertrgbtojab.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/jab/convertxyz65tojab.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/jab/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/jch/convertjabtojch.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/jch/convertjchtojab.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/jch/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lab/convertlabtorgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lab/convertlabtoxyz50.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lab/convertrgbtolab.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lab/convertxyz50tolab.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lab/parselab.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lab/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lab65/convertlab65torgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lab65/convertlab65toxyz65.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lab65/convertrgbtolab65.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lab65/convertxyz65tolab65.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lab65/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lch/convertlabtolch.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lch/convertlchtolab.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lch/parselch.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lch/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lch65/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyz50/convertrgbtoxyz50.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyz50/convertxyz50torgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lchuv/convertlchuvtoluv.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lchuv/convertluvtolchuv.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lchuv/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lrgb/convertlrgbtorgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lrgb/convertrgbtolrgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/lrgb/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/luv/convertluvtoxyz50.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/luv/convertxyz50toluv.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/luv/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/okhsl/convertokhsltooklab.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/okhsl/convertoklabtookhsl.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/okhsl/modeokhsl.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/okhsv/convertokhsvtooklab.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/okhsv/convertoklabtookhsv.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/okhsv/modeokhsv.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/oklab/convertlrgbtooklab.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/oklab/convertoklabtolrgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/oklab/convertoklabtorgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/oklab/convertrgbtooklab.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/oklab/parseoklab.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/oklab/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/oklch/parseoklch.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/oklch/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/p3/convertp3toxyz65.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/p3/convertxyz65top3.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/p3/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/prophoto/convertprophototoxyz50.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/prophoto/convertxyz50toprophoto.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/prophoto/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/rec2020/convertrec2020toxyz65.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/rec2020/convertxyz65torec2020.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/rec2020/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyz50/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyz65/convertrgbtoxyz65.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyz65/convertxyz65torgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyz65/convertxyz50toxyz65.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyz65/convertxyz65toxyz50.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyz65/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/yiq/convertrgbtoyiq.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/yiq/convertyiqtorgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/yiq/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/formatter.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/blend.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/random.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/map.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/interpolate/interpolate.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/round.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/interpolate/splinebasis.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/interpolate/splinenatural.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/interpolate/splinemonotone.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/clamp.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/interpolate/lerp.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyb/convertrgbtoxyb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyb/convertxybtorgb.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/xyb/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/modes.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/nearest.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/parse.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/samples.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/filter.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/deficiency.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/easing/gamma.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/easing/inoutsine.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/easing/midpoint.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/easing/smootherstep.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/easing/smoothstep.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/wcag.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/itp/convertitptoxyz65.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/itp/convertxyz65toitp.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/index-fn.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/itp/definition.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/src/index.d.ts","./src/utils/color.ts","./src/utils/date.ts","./src/utils/geometry.ts","../../node_modules/.bun/motion-utils@12.23.6/node_modules/motion-utils/dist/index.d.ts","../../node_modules/.bun/motion-dom@12.23.6/node_modules/motion-dom/dist/index.d.ts","../../node_modules/.bun/framer-motion@12.23.6+aeb0770a64f5c00c/node_modules/framer-motion/dist/types.d-bq-qm38r.d.ts","../../node_modules/.bun/framer-motion@12.23.6+aeb0770a64f5c00c/node_modules/framer-motion/dist/types/index.d.ts","../../node_modules/.bun/motion@12.23.6+aeb0770a64f5c00c/node_modules/motion/dist/react.d.ts","../../node_modules/.bun/lucide-react@0.562.0+2f44e903108183df/node_modules/lucide-react/dist/lucide-react.d.ts","../../node_modules/.bun/next-themes@0.4.6+aeb0770a64f5c00c/node_modules/next-themes/dist/index.d.ts","./src/components/theme-toggle.tsx","./src/components/ui/context-menu.tsx","./src/components/header.tsx","../../node_modules/.bun/react-icons@5.5.0+2f44e903108183df/node_modules/react-icons/lib/iconsmanifest.d.ts","../../node_modules/.bun/react-icons@5.5.0+2f44e903108183df/node_modules/react-icons/lib/iconbase.d.ts","../../node_modules/.bun/react-icons@5.5.0+2f44e903108183df/node_modules/react-icons/lib/iconcontext.d.ts","../../node_modules/.bun/react-icons@5.5.0+2f44e903108183df/node_modules/react-icons/lib/index.d.ts","../../node_modules/.bun/react-icons@5.5.0+2f44e903108183df/node_modules/react-icons/ri/index.d.ts","../../node_modules/.bun/react-icons@5.5.0+2f44e903108183df/node_modules/react-icons/fa6/index.d.ts","./src/components/footer.tsx","./src/app/base-page.tsx","./src/components/ui/sonner.tsx","./src/components/ui/tooltip.tsx","../../node_modules/.bun/botid@1.4.2+dc73a62373ff452c/node_modules/botid/dist/client/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/compiled/@next/font/dist/types.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","../../node_modules/.bun/next@16.1.3+aeb0770a64f5c00c/node_modules/next/font/google/index.d.ts","./src/app/layout.tsx","./src/components/landing/handlebars.tsx","./src/components/landing/hero.tsx","./src/app/page.tsx","../../node_modules/.bun/@radix-ui+react-primitive@2.1.4+6b35f2f089ddc4d4/node_modules/@radix-ui/react-primitive/dist/index.d.mts","../../node_modules/.bun/@radix-ui+react-separator@1.1.8+6b35f2f089ddc4d4/node_modules/@radix-ui/react-separator/dist/index.d.mts","./src/components/ui/separator.tsx","./src/app/blog/page.tsx","./src/components/ui/prose.tsx","./src/app/blog/[slug]/page.tsx","./src/components/ui/card.tsx","./src/app/brand/page.tsx","./src/app/changelog/components/release.tsx","./src/app/changelog/page.tsx","./src/app/changelog/components/copy-markdown-button.tsx","./src/app/changelog/[version]/page.tsx","./src/components/github-contribute-section.tsx","./src/components/ui/avatar.tsx","./src/app/contributors/page.tsx","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/panel.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/types.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/panelgroup.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/panelresizehandleregistry.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/panelresizehandle.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/constants.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/utils/assert.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/utils/csp.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/utils/cursor.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelelement.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelelementsforgroup.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelgroupelement.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelement.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelementindex.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelementsforgroup.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandlepanelids.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/utils/rects/types.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/utils/rects/getintersectingrectangle.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/utils/rects/intersects.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/declarations/src/index.d.ts","../../node_modules/.bun/react-resizable-panels@2.1.9+aeb0770a64f5c00c/node_modules/react-resizable-panels/dist/react-resizable-panels.cjs.d.mts","./src/components/ui/resizable.tsx","./src/stores/assets-panel-store.tsx","./src/components/editor/panels/assets/tabbar.tsx","./src/components/editor/panels/assets/views/base-panel.tsx","./src/components/ui/select.tsx","./src/components/ui/spinner.tsx","./src/components/ui/label.tsx","./src/components/section.tsx","./src/components/editor/panels/assets/views/captions.tsx","./src/components/editor/panels/assets/drag-overlay.tsx","./src/components/ui/aspect-ratio.tsx","./src/components/editor/panels/assets/draggable-item.tsx","./src/components/ui/dropdown-menu.tsx","./src/components/editor/panels/assets/views/assets.tsx","./src/data/colors/syntax-ui.tsx","./src/components/editor/panels/assets/views/settings/background.tsx","./src/components/editor/panels/assets/views/settings/index.tsx","./src/components/ui/dialog.tsx","./src/components/ui/input.tsx","./src/components/ui/scroll-area.tsx","./src/components/ui/tabs.tsx","./src/components/editor/panels/assets/views/sounds.tsx","./src/components/editor/panels/assets/views/stickers.tsx","./src/components/editor/panels/assets/views/text.tsx","./src/components/editor/panels/assets/views/effects.tsx","./src/components/editor/panels/assets/index.tsx","./src/components/editor/panels/properties/components/keyframe-toggle.tsx","./src/components/editor/panels/properties/tabs/transform-tab.tsx","./src/components/editor/panels/properties/tabs/blending-tab.tsx","./src/components/editor/panels/properties/tabs/audio-tab.tsx","./src/components/ui/textarea.tsx","../../node_modules/.bun/react-window@2.2.7+aeb0770a64f5c00c/node_modules/react-window/dist/react-window.d.ts","./src/components/ui/popover.tsx","./src/components/ui/font-picker.tsx","./src/components/ui/color-picker.tsx","./src/components/editor/panels/properties/tabs/text-tab.tsx","./src/components/ui/slider.tsx","./src/components/ui/switch.tsx","./src/components/editor/panels/properties/components/property-param-field.tsx","./src/components/editor/panels/properties/tabs/effects-tab.tsx","./src/components/editor/panels/properties/tabs/masks-tab.tsx","./src/components/editor/panels/properties/tabs/speed-tab.tsx","./src/components/editor/panels/properties/registry.tsx","./src/components/editor/panels/properties/empty-view.tsx","./src/components/editor/panels/properties/index.tsx","./src/components/editor/panels/timeline/audio-waveform.tsx","./src/components/editor/panels/timeline/timeline-element.tsx","./src/components/editor/panels/timeline/timeline-track.tsx","./src/components/editor/panels/timeline/timeline-playhead.tsx","./src/components/editor/panels/timeline/snap-indicator.tsx","./src/components/ui/split-button.tsx","./src/components/ui/sheet.tsx","./src/components/editor/scenes-view.tsx","./src/components/editor/panels/timeline/timeline-toolbar.tsx","./src/components/editor/panels/timeline/timeline-tick.tsx","./src/components/editor/panels/timeline/timeline-ruler.tsx","./src/components/editor/panels/timeline/bookmarks.tsx","./src/components/editor/panels/timeline/drag-line.tsx","./src/components/editor/panels/timeline/index.tsx","../../node_modules/.bun/use-deep-compare-effect@1.8.1+2f44e903108183df/node_modules/use-deep-compare-effect/dist/index.d.ts","./src/components/editor/panels/preview/handle-primitives.tsx","./src/components/editor/panels/preview/transform-handles.tsx","./src/components/editor/panels/preview/mask-handles.tsx","./src/components/editor/panels/preview/snap-guides.tsx","./src/components/editor/panels/preview/text-edit-overlay.tsx","./src/components/editor/panels/preview/preview-interaction-overlay.tsx","./src/components/editor/panels/preview/bookmark-note-overlay.tsx","./src/components/editor/panels/preview/guide-overlay.tsx","./src/components/editor/panels/preview/context-menu.tsx","./src/components/editable-timecode.tsx","./src/components/editor/panels/preview/guide-popover.tsx","./src/components/editor/panels/preview/toolbar.tsx","./src/components/editor/panels/preview/index.tsx","./src/components/editor/dialogs/rename-project-dialog.tsx","./src/components/ui/alert.tsx","./src/components/editor/dialogs/delete-project-dialog.tsx","./src/components/ui/radio-group.tsx","./src/components/ui/progress.tsx","./src/components/ui/checkbox.tsx","./src/components/editor/export-button.tsx","./src/components/editor/dialogs/shortcuts-dialog.tsx","./src/components/editor/editor-header.tsx","./src/components/providers/editor-provider.tsx","../../node_modules/.bun/@types+mdast@4.0.4/node_modules/@types/mdast/index.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/state.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/footer.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/blockquote.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/break.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/code.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/delete.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/emphasis.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/heading.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/html.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/image-reference.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/image.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/inline-code.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/link-reference.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/link.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/list-item.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/list.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/paragraph.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/root.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/strong.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/table.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/table-cell.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/table-row.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/text.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/index.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/index.d.ts","../../node_modules/.bun/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/index.d.ts","../../node_modules/.bun/remark-rehype@11.1.2/node_modules/remark-rehype/lib/index.d.ts","../../node_modules/.bun/remark-rehype@11.1.2/node_modules/remark-rehype/index.d.ts","../../node_modules/.bun/react-markdown@10.1.0+357b98ae0eae2ec3/node_modules/react-markdown/lib/index.d.ts","../../node_modules/.bun/react-markdown@10.1.0+357b98ae0eae2ec3/node_modules/react-markdown/index.d.ts","./src/components/editor/onboarding.tsx","./src/components/editor/dialogs/migration-dialog.tsx","./src/components/editor/mobile-gate.tsx","./src/app/editor/[project_id]/page.tsx","./src/components/ui/accordion.tsx","./src/app/privacy/page.tsx","./src/components/editor/dialogs/storage-persistence-dialog.tsx","./src/components/ui/skeleton.tsx","./src/components/ui/breadcrumb.tsx","./src/components/editor/dialogs/project-info-dialog.tsx","./src/app/projects/page.tsx","./src/components/ui/badge.tsx","./src/components/ui/react-markdown-wrapper.tsx","./src/app/roadmap/page.tsx","./src/app/sponsors/page.tsx","./src/app/terms/page.tsx","./src/components/storage-provider.tsx","./src/components/editor/panels/assets/views/settings/settings-legacy.tsx","./src/components/ui/alert-dialog.tsx","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/locale/types.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/fp/types.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/types.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/add.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addbusinessdays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/adddays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addhours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addisoweekyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addmilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addminutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addmonths.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addquarters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addweeks.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/addyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/areintervalsoverlapping.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/clamp.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/closestindexto.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/closestto.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/compareasc.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/comparedesc.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/constructfrom.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/constructnow.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/daystoweeks.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinbusinessdays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendardays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendarisoweekyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendarisoweeks.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendarmonths.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendarquarters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendarweeks.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceincalendaryears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceindays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinhours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinisoweekyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinmilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinminutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinmonths.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinquarters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinweeks.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/differenceinyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachdayofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachhourofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachminuteofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachmonthofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachquarterofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachweekofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachweekendofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachweekendofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachweekendofyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/eachyearofinterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofdecade.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofhour.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofisoweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofminute.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofquarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofsecond.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endoftoday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endoftomorrow.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/endofyesterday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/_lib/format/formatters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/_lib/format/longformatters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/format.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatdistance.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatdistancestrict.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatdistancetonow.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatdistancetonowstrict.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatduration.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatiso.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatiso9075.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatisoduration.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatrfc3339.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatrfc7231.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/formatrelative.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/fromunixtime.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getdate.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getdayofyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getdaysinmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getdaysinyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getdecade.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/_lib/defaultoptions.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getdefaultoptions.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/gethours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getisoday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getisoweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getisoweeksinyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getmilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getminutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getoverlappingdaysinintervals.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getquarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/gettime.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getunixtime.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getweekofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getweeksinmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/getyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/hourstomilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/hourstominutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/hourstoseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/interval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/intervaltoduration.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/intlformat.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/intlformatdistance.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isafter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isbefore.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isdate.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isequal.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isexists.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isfirstdayofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isfriday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isfuture.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/islastdayofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isleapyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/ismatch.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/ismonday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/ispast.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issameday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issamehour.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issameisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issameisoweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issameminute.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issamemonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issamequarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issamesecond.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issameweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issameyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issaturday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/issunday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthishour.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthisisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthisminute.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthismonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthisquarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthissecond.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthisweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthisyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isthursday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/istoday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/istomorrow.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/istuesday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isvalid.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/iswednesday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isweekend.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/iswithininterval.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/isyesterday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofdecade.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofisoweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofquarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lastdayofyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/_lib/format/lightformatters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/lightformat.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/max.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/milliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/millisecondstohours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/millisecondstominutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/millisecondstoseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/min.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/minutestohours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/minutestomilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/minutestoseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/monthstoquarters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/monthstoyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextfriday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextmonday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextsaturday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextsunday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextthursday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nexttuesday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/nextwednesday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parse/_lib/types.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parse/_lib/setter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parser.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parse.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parseiso.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/parsejson.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previousday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previousfriday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previousmonday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previoussaturday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previoussunday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previousthursday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previoustuesday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/previouswednesday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/quarterstomonths.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/quarterstoyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/roundtonearesthours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/roundtonearestminutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/secondstohours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/secondstomilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/secondstominutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/set.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setdate.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setdayofyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setdefaultoptions.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/sethours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setisoday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setisoweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setmilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setminutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setquarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/setyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofdecade.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofhour.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofisoweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofisoweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofminute.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofmonth.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofquarter.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofsecond.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startoftoday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startoftomorrow.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofweek.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofweekyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofyear.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/startofyesterday.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/sub.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subbusinessdays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subdays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subhours.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subisoweekyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/submilliseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subminutes.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/submonths.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subquarters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subseconds.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subweeks.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/subyears.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/todate.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/transpose.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/weekstodays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/yearstodays.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/yearstomonths.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/yearstoquarters.d.ts","../../node_modules/.bun/date-fns@3.6.0/node_modules/date-fns/index.d.mts","../../node_modules/.bun/react-day-picker@8.10.1+7f6c301668ead98b/node_modules/react-day-picker/dist/index.d.ts","./src/components/ui/calendar.tsx","./src/components/ui/collapsible.tsx","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/constants.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/utils/createsubject.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/types/events.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/types/path/common.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/types/path/eager.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/types/path/index.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/types/fieldarray.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/types/resolvers.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/types/form.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/types/utils.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/types/fields.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/types/errors.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/types/validator.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/types/controller.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/types/index.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/controller.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/form.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/logic/appenderrors.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/logic/createformcontrol.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/logic/index.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/usecontroller.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/usefieldarray.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/useform.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/useformcontext.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/useformstate.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/usewatch.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/utils/get.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/utils/set.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/utils/index.d.ts","../../node_modules/.bun/react-hook-form@7.60.0+2f44e903108183df/node_modules/react-hook-form/dist/index.d.ts","./src/components/ui/form.tsx","./src/components/ui/hover-card.tsx","./src/components/ui/menubar.tsx","./src/components/ui/navigation-menu.tsx","./src/components/ui/table.tsx","./src/components/ui/toast.tsx","./src/components/ui/toggle.tsx","./src/components/ui/toggle-group.tsx","./src/lib/guides/definitions/custom.tsx","./.next/dev/types/cache-life.d.ts","./.next/dev/types/validator.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../node_modules/.bun/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/globals.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/s3.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/fetch.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/jsx.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/bun.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/globals.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/s3.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/fetch.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/bun.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/extensions.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/devserver.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/ffi.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/html-rewriter.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/jsc.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/sqlite.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/vendor/expect-type/utils.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/vendor/expect-type/overloads.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/vendor/expect-type/branding.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/vendor/expect-type/messages.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/vendor/expect-type/index.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/test.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/wasm.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/overrides.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/deprecated.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/redis.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/shell.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/experimental.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/sql.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/security.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/bun.ns.d.ts","../../node_modules/.bun/bun-types@1.2.21+fccada1f982c16e9/node_modules/bun-types/index.d.ts","../../node_modules/.bun/@types+bun@1.2.21+fccada1f982c16e9/node_modules/@types/bun/index.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/extensions.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/devserver.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/ffi.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/html-rewriter.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/jsc.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/sqlite.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/vendor/expect-type/utils.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/vendor/expect-type/overloads.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/vendor/expect-type/branding.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/vendor/expect-type/messages.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/vendor/expect-type/index.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/test.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/wasm.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/overrides.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/deprecated.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/redis.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/shell.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/serve.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/sql.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/security.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/bundle.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/bun.ns.d.ts","../../node_modules/.bun/bun-types@1.3.11/node_modules/bun-types/index.d.ts","../../node_modules/.bun/@types+bun@1.3.11/node_modules/@types/bun/index.d.ts","../../node_modules/.bun/@types+culori@4.0.1/node_modules/@types/culori/index.d.ts","../../node_modules/.bun/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../node_modules/.bun/pg-protocol@1.10.3/node_modules/pg-protocol/dist/messages.d.ts","../../node_modules/.bun/pg-protocol@1.10.3/node_modules/pg-protocol/dist/serializer.d.ts","../../node_modules/.bun/pg-protocol@1.10.3/node_modules/pg-protocol/dist/parser.d.ts","../../node_modules/.bun/pg-protocol@1.10.3/node_modules/pg-protocol/dist/index.d.ts","../../node_modules/.bun/@types+pg@8.15.4/node_modules/@types/pg/lib/type-overrides.d.ts","../../node_modules/.bun/@types+pg@8.15.4/node_modules/@types/pg/index.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/dist/es/cellmeasurer.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/dist/es/grid.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/dist/es/arrowkeystepper.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/dist/es/autosizer.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/dist/es/collection.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/dist/es/columnsizer.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/dist/es/infiniteloader.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/dist/es/list.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/dist/es/masonry.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/dist/es/multigrid.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/dist/es/scrollsync.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/dist/es/table.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/dist/es/windowscroller.d.ts","../../node_modules/.bun/@types+react-virtualized@9.22.3/node_modules/@types/react-virtualized/index.d.ts"],"fileIdsList":[[86,101,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,559,560,561,562,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,603,606,609,1447,1448,1454,1511,2212,2215,2219,2221,2223,2225,2227,2230,2371,2373,2378,2381,2382,2383,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,86,100,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,103,106,151,202,280,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,607,608,609,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,607,611,612,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,164,165,173,194,442,614,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1445,1446,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,100,106,151,280,603,1453,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1794,2197,2204,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,579,591,607,623,683,2205,2218,2220,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,581,607,623,683,2205,2218,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,579,581,1794,1842,2193,2205,2218,2222,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,581,591,607,1455,1456,2193,2205,2224,2226,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1456,1794,1842,2193,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,581,1456,1794,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,607,1456,2205,2218,2224,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1455,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,581,607,620,2205,2222,2228,2229,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,591,1757,2011,2252,2277,2296,2310,2324,2333,2334,2368,2369,2370,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,280,594,621,2194,2206,2207,2208,2211,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,607,620,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,607,620,2197,2204,2214,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,607,620,2205,2218,2372,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,579,581,591,619,1471,1473,1508,1509,1559,1630,1704,1794,1842,2186,2196,2222,2258,2264,2270,2325,2327,2330,2369,2374,2375,2376,2377,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1459,1465,1508,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,607,1794,2205,2228,2379,2380,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,620,683,1510,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,607,620,683,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,579,581,607,620,1471,1473,1794,2205,2222,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1630,1794,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1842,2258,2269,2270,2326,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1704,2193,2269,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1508,1630,1842,2186,2269,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1842,2258,2269,2270,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1559,1722,1742,1842,2269,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1763,1842,2269,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,579,581,591,620,1471,1473,1559,1704,1794,1842,2195,2203,2264,2325,2327,2331,2332,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1642,1643,1704,1794,1842,2193,2258,2259,2284,2328,2329,2330,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,581,591,1471,1473,1842,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,620,1770,1842,2193,2269,2367,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1471,1473,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,294,1469,1704,1734,1794,1842,2193,2207,2262,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,2218,2253,2254,2260,2265,2268,2273,2274,2275,2276,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1842,2207,2253,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,579,1471,1473,1474,1480,1487,1492,1559,1704,1715,1735,1755,1756,1794,1842,1863,2196,2207,2253,2255,2261,2263,2264,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1794,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1478,1639,1696,1704,1727,1728,1754,1842,1866,2009,2255,2256,2257,2259,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1468,1485,1487,1704,1867,2255,2263,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1508,1570,1704,1729,1730,1794,1842,1867,2259,2266,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1570,1704,2010,2187,2255,2256,2258,2259,2267,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,579,1570,1704,1729,1730,1794,2010,2187,2255,2256,2266,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1564,1739,1761,1762,1794,1842,2218,2264,2269,2270,2271,2272,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,579,1471,1473,1559,1668,1669,1671,1679,1794,1842,2013,2207,2255,2256,2257,2263,2270,2271,2272,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1478,1487,1704,2255,2263,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1560,1631,1704,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1559,1704,1744,1844,2196,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1744,1844,1849,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1794,1844,1849,2192,2218,2258,2284,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1473,1794,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1630,1644,1646,1687,1704,1732,1738,1744,1760,1844,2196,2311,2317,2318,2319,2320,2323,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1471,1506,1657,1744,1747,1751,2312,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1704,1710,1744,1747,1759,2313,2314,2315,2316,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1666,1724,1743,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1744,1747,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1478,1492,1493,1704,1744,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1630,1704,1715,1724,1744,1842,1844,1849,2218,2256,2321,2322,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1471,1487,1505,1744,1759,1764,2312,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1471,1473,1794,1842,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1666,1707,1843,2256,2259,2288,2289,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1495,1504,1704,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1492,1504,1704,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1492,1504,1704,1707,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1666,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1704,1710,1766,1794,1842,2207,2271,2294,2295,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,619,1471,1473,1480,1492,2279,2280,2281,2287,2291,2292,2293,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1459,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,2259,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,619,1466,1470,1471,1473,1474,1492,1504,1666,1704,1705,1708,1752,1843,2256,2259,2278,2279,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1467,1468,1471,1473,1485,1492,1704,1733,1794,1842,2218,2253,2259,2290,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,619,1467,1471,1473,1492,1495,1505,1506,1657,1666,1704,1707,1733,1752,1794,1842,1843,2207,2259,2264,2286,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,2259,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,619,1471,1473,1478,1486,1492,1504,1570,1666,1704,1705,1706,1707,1708,1794,1842,1843,2259,2278,2279,2282,2285,2286,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1471,1473,1474,1492,1504,1666,1704,1705,1708,1709,1710,1842,1843,2259,2278,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1696,1697,1731,1794,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1474,1486,1492,1570,1630,1631,1666,1703,1704,1773,1842,2258,2270,2284,2286,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,1779,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1474,1492,1704,1715,1740,1766,1772,1773,1774,1775,1780,1781,1782,1783,1784,1794,1858,1860,1865,2196,2271,2299,2300,2301,2305,2307,2308,2309,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,1772,1778,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,579,1466,1471,1473,1474,1480,1486,1492,1504,1679,1695,1704,1710,1715,1766,1767,1772,1785,1786,1794,2196,2253,2297,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1474,1492,1704,1781,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1474,1489,1570,1704,1776,2306,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1489,1492,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1471,1473,1474,1488,1704,1715,1740,1794,1842,2193,2207,2271,2288,2302,2304,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1474,1492,1704,1766,1772,1774,2298,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1559,1560,1704,1794,1842,2193,2269,2303,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,579,581,620,1486,2202,2203,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,581,620,1471,1473,1842,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,579,581,620,1471,1473,1794,1842,2192,2193,2195,2196,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,579,581,1842,2193,2213,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,591,1690,1703,1704,1722,1741,1769,2193,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1794,1842,2258,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1559,1599,1704,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1471,1473,1794,1842,2194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1839,2193,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1839,1842,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1794,1841,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1839,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1839,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1841,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1794,1839,2193,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1839,1841,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1842,2193,2644,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1794,1842,2185,2256,2270,2284,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1723,1794,1839,1841,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1723,1794,1839,2193,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1723,1794,1839,1841,2193,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1688,1689,1690,1737,1794,1842,2193,2270,2283,2284,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1839,2258,2676,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1841,1842,2193,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1839,1841,2193,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1736,1794,1842,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1723,1794,1839,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,633,664,671,1794,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1794,2367,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1794,2251,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1471,1473,1723,1794,1839,1841,2193,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,2217,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1559,2194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1471,1473,1794,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1842,2218,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1839,1841,2683,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1722,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1643,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1508,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,619,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1474,1492,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,619,1470,1471,1473,1492,1508,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1726,1727,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1485,1512,1640,1641,1657,1691,1692,1698,1699,1700,1701,1702,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1529,1623,1696,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1639,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1475,1480,1559,1599,1624,1639,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1474,1475,1487,1508,1559,1560,1570,1598,1599,1638,1643,1644,1687,1690,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1630,1643,1644,1646,1687,1694,1696,1697,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1476,1492,1560,1599,1631,1636,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1467,1492,1519,1557,1639,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1715,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1492,1704,1715,1740,1750,1765,1766,1767,1768,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1474,1475,1492,1630,1704,1740,1745,1750,1766,1771,1772,1779,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1474,1492,1529,1630,1704,1740,1745,1750,1772,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1704,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1466,1474,1492,1513,1538,1630,1639,1704,1750,1767,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1466,1704,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1474,1492,1630,1704,1745,1771,1772,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1474,1492,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1469,1474,1476,1487,1492,1557,1559,1630,1639,1704,1734,1755,1756,1779,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1474,1492,1630,1704,1745,1772,1774,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1474,1630,1704,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1474,1488,1704,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1731,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,1704,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1734,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1688,1689,1690,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1697,1715,1722,1740,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1715,1716,1722,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1467,1492,1505,1506,1657,1704,1744,1745,1746,1747,1749,1750,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1474,1480,1487,1557,1626,1639,1697,1704,1715,1755,1756,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1470,1487,1492,1505,1704,1744,1745,1747,1750,1758,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1761,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1466,1470,1487,1504,1505,1704,1744,1745,1747,1750,1759,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1712,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1711,1713,1714,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1711,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1713,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1467,1468,1496,1498,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1494,1496,1497,1498,1501,1502,1503,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1494,1495,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1495,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1475,1494,1495,1496,1497,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1502,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1478,1487,1492,1494,1495,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1470,1494,1496,1499,1500,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,280,1788,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,280,1137,1139,1141,1444,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,623,633,664,671,673,677,682,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1513,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1513,1557,1558,1626,1636,1638,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1475,1480,1487,1513,1559,1599,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1600,1625,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1480,1487,1492,1513,1599,1624,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1637,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1508,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,1513,1560,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1627,1628,1629,1632,1633,1634,1635,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,1513,1560,1631,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1554,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1475,1476,1487,1492,1504,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1475,1476,1492,1504,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1485,1492,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1542,1543,1544,1545,1546,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1492,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1519,1520,1521,1522,1523,1524,1530,1531,1532,1533,1534,1541,1547,1550,1552,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1474,1475,1476,1480,1487,1492,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1536,1537,1538,1539,1540,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1487,1492,1513,1535,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1492,1504,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1548,1549,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,1506,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1476,1490,1492,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1551,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,1504,1513,1529,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1475,1492,1504,1513,1529,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1487,1492,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,1504,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1476,1492,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1476,1492,1504,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1518,1553,1555,1556,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1475,1476,1492,1513,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1514,1515,1516,1517,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,280,1142,1442,1443,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1342,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1469,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1468,2015,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1482,1483,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1468,1475,1481,1482,1484,1492,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1468,1481,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1642,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1688,1689,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1681,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1681,1682,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1471,1473,1791,1842,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1471,1473,1666,1725,1791,1794,1843,1844,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,579,1791,1846,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1791,1848,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1791,1845,1847,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1505,1506,1655,1748,1749,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1506,1649,1650,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1506,1651,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1471,1506,1648,1652,1653,1655,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1506,1650,1654,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1505,1506,1649,1747,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1505,1506,1649,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1475,1506,1648,1656,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1506,1649,1657,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1473,1481,1506,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1505,1649,1747,1748,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1505,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1480,1487,1492,1529,1623,1695,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1480,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1480,1492,1529,1623,1696,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1480,1559,1563,1599,1623,1695,1754,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1479,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1559,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1478,1480,1492,1493,1504,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1505,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1507,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,280,1141,1452,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,1529,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,1525,2016,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1525,1526,1527,1528,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,1525,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1475,1476,1492,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1856,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1768,1855,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1855,1857,1861,1862,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1853,1855,1856,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1794,1853,1854,1855,1856,1858,1859,1860,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1856,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1671,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1668,1669,1670,1677,1678,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1669,1671,1672,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1669,1671,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1669,1670,1673,1674,1675,1676,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1669,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1481,1669,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1669,1670,1671,1677,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1668,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1478,1492,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1492,1630,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1474,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1474,1476,1487,1492,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1474,1478,1480,1485,1486,1492,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1469,1476,1477,1487,1488,1489,1490,1491,1507,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1474,1492,1504,1631,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1474,1475,1492,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1467,1468,1470,1506,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1727,1728,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1726,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,603,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1645,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1481,1485,1647,1659,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1658,1659,1661,2015,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1644,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1483,1492,1495,1529,1624,1644,1645,1647,1660,1665,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1644,1645,1683,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1467,1485,1644,1645,1660,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1644,1663,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1644,1663,1679,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1478,1485,1492,1493,1504,1535,1644,1645,1647,1660,1666,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1624,1644,1663,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1466,1468,1470,1485,1492,1495,1504,1506,1529,1535,1644,1645,1647,1657,1660,1662,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1480,1492,1508,1570,1645,1646,1664,1665,1667,1680,1684,1685,1686,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1623,1643,1644,1646,1693,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1659,2015,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1647,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1658,1659,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,2015,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1868,1869,1870,1871,1872,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1568,1873,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1479,1570,1571,1873,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1573,1873,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1575,1873,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1577,1873,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1579,1873,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1585,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1566,1569,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590,1592,1594,1596,1597,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1561,1565,1566,1567,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1568,1571,1573,1575,1577,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1475,1565,1567,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1479,1561,1565,1567,1570,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1567,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1566,1568,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1479,1561,1565,1566,1571,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1566,1589,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1566,1591,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1566,1593,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1566,1595,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1566,1573,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1566,1575,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1566,1577,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1566,1579,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1566,1581,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1566,1583,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1566,1585,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1565,1566,1587,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1479,1480,1492,1508,1560,1561,1562,1563,1564,1598,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1480,1492,1508,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1727,1728,2008,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1727,1728,2007,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1623,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,84,106,151,1459,1465,1471,1473,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1459,1508,1570,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1459,1465,1697,1712,1715,1716,1721,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1717,1718,1719,1720,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1712,1715,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1459,1465,1724,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1459,1465,1725,1791,1849,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1459,1487,1559,1564,1599,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1459,1465,1487,1668,1669,1670,1671,1677,1679,1703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1459,1465,1492,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,2184,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,1792,1793,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,696,697,700,701,705,715,716,717,755,790,1043,1059,1060,1063,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,150,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,696,790,1059,1128,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1128,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1129,1130,1131,1132,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,150,151,715,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,706,707,708,709,710,711,712,715,1043,1059,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1060,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,705,1043,1059,1060,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,706,707,708,709,710,711,712,713,714,1043,1059,1060,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,685,715,1043,1059,1060,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1043,1059,1060,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,698,699,700,701,702,703,704,1060,1061,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,279,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[85,106,151,685,1059,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,716,1072,1073,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1108,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,685,697,790,1043,1058,1059,1062,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,717,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,717,755,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,717,718,719,720,721,753,754,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,685,1059,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,717,752,755,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,752,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,279,717,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,696,697,698,700,701,702,705,715,716,717,755,1043,1060,1062,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,696,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[85,106,151,685,697,790,1043,1058,1062,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,182,685,696,698,699,700,701,702,705,715,716,789,790,791,1042,1060,1062,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,685,1043,1044,1057,1062,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,685,696,705,790,791,1042,1043,1061,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,716,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1121,1122,1123,1124,1125,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,705,1063,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[85,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,607,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1472,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1894,1897,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1899,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1899,1902,1912,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1899,1905,1914,1915,2007,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1896,1897,1898,1899,1902,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1894,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1903,1906,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1902,1911,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1902,1906,1907,1908,1909,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1905,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1899,1902,1903,1907,1908,1910,1911,1912,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1902,1915,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1899,1915,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1899,1914,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1916,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1914,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1922,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1902,1912,1914,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1914,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1905,1916,1981,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1905,1912,1916,1917,1936,1981,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1905,1912,1916,1981,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1902,1905,1912,1914,1916,1981,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1954,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1914,2007,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1902,1905,1916,1981,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1905,1916,1936,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1945,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1962,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1902,1914,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1916,1928,2007,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1916,1981,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1969,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1997,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1970,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1950,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1985,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1924,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1915,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1912,1914,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1907,1910,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1899,1902,1905,1907,1912,1913,1916,1917,1918,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1899,1902,1904,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1895,1897,1898,1899,1901,1902,1903,1905,1906,1908,1909,1912,1913,1914,1915,1916,1917,1918,1919,1920,1935,1936,1980,1981,2006,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1902,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1894,1896,1897,1898,1903,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,442,1902,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1900,1901,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1912,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,183,186,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1796,1797,1798,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1796,1803,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,1797,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,1796,1797,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,370,1796,1797,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1796,1797,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1796,1797,1812,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,1796,1797,1800,1801,1802,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,370,1796,1797,1816,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1796,1797,1800,1802,1810,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1796,1797,1800,1801,1802,1810,1811,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,370,1796,1797,1811,1812,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1796,1797,1800,1820,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1797,1811,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1796,1797,1800,1801,1802,1810,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,1796,1797,1808,1809,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1796,1797,1811,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,1796,1797,1800,1801,1802,1810,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,2216,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1796,1797,1800,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1796,1797,1811,1835,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1797,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1796,1797,1811,1829,1836,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,1796,1797,1800,1802,1810,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2755,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776,2779],[106,151,2184,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2028,2029,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2027,2029,2030,2031,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2060,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2060,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2028,2029,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2033,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2062,2063,2064,2065,2066,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2020,2034,2044,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2035,2044,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2020,2034,2035,2062,2063,2064,2069,2070,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2060,2157,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2037,2060,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2036,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2062,2063,2064,2072,2073,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2037,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2037,2062,2063,2064,2075,2076,2077,2078,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2037,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2038,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2062,2063,2064,2080,2081,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2039,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2039,2062,2063,2064,2083,2084,2085,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2039,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,2160,2161,2162,2163,2164,2165,2166,2168,2169,2170,2171,2172,2173,2174,2175,2176,2177,2178,2179,2180,2181,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,2160,2161,2162,2163,2164,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175,2176,2177,2178,2179,2180,2181,2183,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2018,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2028,2040,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2180,2181,2182,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2041,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2028,2041,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2087,2088,2089,2090,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2041,2042,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2020,2042,2062,2063,2064,2092,2093,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2043,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2043,2058,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2043,2095,2096,2097,2098,2099,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2043,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2044,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2028,2044,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2100,2101,2102,2103,2104,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2043,2060,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2043,2045,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2020,2045,2062,2063,2064,2106,2107,2108,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2045,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2044,2045,2046,2109,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2047,2049,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2062,2063,2064,2111,2112,2113,2114,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2048,2060,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2048,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2027,2116,2117,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2049,2058,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2020,2049,2119,2120,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2027,2032,2060,2061,2067,2068,2071,2074,2079,2082,2086,2091,2094,2100,2105,2109,2110,2115,2118,2121,2124,2127,2133,2135,2138,2141,2144,2145,2150,2153,2167,2183,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2060,2063,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2050,2052,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2050,2079,2122,2123,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2051,2052,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2051,2082,2125,2126,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2048,2052,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2052,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2052,2100,2128,2129,2130,2131,2132,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2052,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2052,2053,2109,2134,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2053,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2028,2054,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2027,2054,2136,2137,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2055,2058,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2027,2055,2139,2140,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2028,2056,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2027,2056,2142,2143,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2021,2023,2024,2025,2026,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2022,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2057,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2165,2166,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2058,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2096,2098,2111,2112,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2028,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2028,2058,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2146,2147,2148,2149,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2020,2059,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2017,2019,2151,2152,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1602,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1601,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,624,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,148,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,156,186,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,152,157,163,164,171,183,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,152,153,163,171,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,154,195,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,155,156,164,172,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,156,183,191,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,157,159,163,171,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,150,151,158,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,159,160,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,161,163,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,150,151,163,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,163,164,165,183,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,163,164,165,178,183,186,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,146,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,146,151,159,163,166,171,183,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,163,164,166,167,171,183,191,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,168,183,191,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[104,105,106,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,163,169,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,170,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,159,163,171,183,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,172,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,173,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,150,151,174,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,148,149,150,151,152,153,154,155,156,157,158,159,160,161,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,176,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,177,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,163,178,179,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,178,180,195,197,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,163,183,184,186,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,185,186,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,183,184,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,186,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,187,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,148,151,183,188,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,163,189,190,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,189,190,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,156,171,183,191,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,192,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,171,193,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,177,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,156,195,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,183,196,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,170,197,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,198,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,163,165,174,183,186,194,196,197,199,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,183,200,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,163,183,191,201,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776,2782,2783,2786,2787,2788],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776,2788],[106,151,285,295,296,297,513,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,295,296,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,296,513,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776,2790],[83,106,151,284,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776,2802],[83,106,151,284,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776,2789,2802],[83,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776,2789,2790,2802],[83,106,151,284,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776,2789,2790],[83,106,151,284,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776,2789,2790,2802],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776,2789,2790,2791,2792,2793,2794,2795,2796,2797,2798,2799,2800,2801],[106,151,285,289,293,554,600,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,289,292,554,600,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,282,283,284,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[81,82,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1450,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1141,1451,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1449,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1140,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,715,1063,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1138,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,269,279,755,791,1063,1064,1065,1074,1086,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1110,1111,1115,1137,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1092,1093,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1063,1086,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,279,755,1086,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,279,1086,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,279,1063,1086,1090,1111,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1086,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,279,1063,1064,1086,1090,1111,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1063,1090,1110,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1044,1063,1064,1086,1117,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1044,1057,1063,1064,1109,1117,1787,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,1057,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1063,1064,1065,1090,1110,1111,1115,1116,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,705,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[85,106,151,705,1063,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,705,1063,1069,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,705,1065,1066,1067,1068,1070,1071,1075,1112,1113,1114,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,715,1063,1074,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,705,1063,1090,1111,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,279,705,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,705,715,1063,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,269,279,705,752,755,789,1063,1064,1074,1086,1087,1088,1089,1090,1107,1109,1110,1111,1117,1118,1119,1120,1126,1127,1133,1134,1136,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1063,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,715,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1064,1086,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1063,1064,1087,1088,1107,1109,1111,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,789,1063,1064,1087,1088,1089,1110,1111,1117,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,705,1063,1064,1065,1110,1115,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,705,1063,1064,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1119,1120,1126,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1076,1077,1078,1079,1081,1082,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1076,1077,1078,1079,1080,1082,1083,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1077,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1076,1081,1083,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1081,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1081,1082,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,686,687,688,689,691,692,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,686,687,688,689,690,692,693,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,687,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,686,687,688,689,690,691,692,693,694,695,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,686,691,693,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,691,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,691,692,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,370,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,156,164,166,191,195,199,2724,2725,2726,2727,2729,2730,2731,2732,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2724,2725,2726,2727,2729,2730,2731,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,156,174,183,186,191,195,199,2724,2725,2726,2727,2729,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,201,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2737,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2754,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,156,164,165,172,186,191,194,200,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,164,2725,2726,2727,2729,2730,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2744,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2740,2741,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2740,2741,2742,2743,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2740,2742,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2740,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,156,164,166,191,195,199,2724,2725,2726,2727,2728,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2724,2725,2726,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,156,174,183,186,191,195,199,2724,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,201,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2760,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776,2777,2778],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[13,106,147,151,154,156,164,165,172,186,191,194,200,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2773,2774,2775,2776],[106,151,164,2725,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2767,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2763,2764,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2763,2764,2765,2766,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2763,2765,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2763,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2770,2771,2772,2773,2774,2775,2776],[106,151,1792,1840,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1792,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2389,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2387,2389,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2387,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2389,2453,2454,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2456,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2457,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2474,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2389,2390,2391,2392,2393,2394,2395,2396,2397,2398,2399,2400,2401,2402,2403,2404,2405,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2433,2434,2435,2436,2437,2438,2439,2440,2441,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2455,2456,2457,2458,2459,2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470,2471,2472,2473,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2488,2489,2490,2491,2492,2493,2494,2495,2496,2497,2498,2499,2500,2501,2502,2503,2504,2505,2506,2507,2508,2509,2510,2511,2512,2513,2514,2515,2516,2517,2518,2519,2520,2521,2522,2523,2524,2525,2526,2527,2528,2529,2530,2531,2532,2533,2534,2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,2551,2552,2553,2554,2555,2556,2557,2558,2559,2560,2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2575,2576,2577,2578,2579,2580,2581,2582,2583,2584,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594,2595,2596,2597,2598,2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2620,2621,2622,2623,2624,2625,2626,2627,2628,2629,2630,2631,2632,2633,2634,2635,2636,2637,2638,2639,2640,2641,2642,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2389,2454,2574,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2387,2571,2572,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2573,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2571,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2387,2388,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,194,201,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,191,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[102,106,151,191,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1150,1196,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1195,1434,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1435,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1220,1275,1342,1394,1428,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1150,1151,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1189,1194,1216,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1159,1189,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1174,1175,1176,1177,1178,1179,1180,1181,1182,1192,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1162,1191,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1191,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1184,1189,1190,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1189,1191,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1191,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1189,1191,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1174,1175,1176,1177,1178,1179,1180,1181,1182,1191,1192,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1161,1191,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1173,1191,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1173,1189,1191,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1150,1151,1156,1189,1193,1194,1196,1198,1201,1202,1203,1205,1211,1212,1216,1435,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1189,1193,1196,1211,1215,1216,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1189,1193,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1160,1161,1184,1185,1186,1187,1188,1189,1190,1193,1203,1204,1205,1211,1212,1214,1215,1217,1218,1219,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1189,1193,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1185,1189,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1189,1205,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1149,1150,1189,1199,1200,1205,1212,1216,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1206,1207,1208,1209,1210,1213,1216,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1148,1149,1150,1156,1184,1189,1191,1199,1200,1205,1207,1212,1213,1216,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1150,1156,1193,1203,1210,1212,1216,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1189,1196,1199,1200,1205,1212,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1197,1199,1200,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1199,1200,1205,1212,1215,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1149,1150,1151,1156,1189,1193,1194,1195,1199,1200,1203,1205,1212,1216,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1146,1147,1148,1149,1150,1151,1156,1189,1193,1194,1205,1210,1215,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1148,1149,1150,1151,1189,1191,1194,1199,1200,1205,1212,1216,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1161,1189,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1159,1195,1196,1197,1204,1212,1216,1435,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1148,1149,1150,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1160,1183,1184,1186,1187,1188,1190,1191,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1148,1150,1160,1184,1186,1187,1188,1189,1190,1193,1194,1215,1220,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1149,1150,1151,1156,1191,1194,1213,1214,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1144,1146,1147,1148,1151,1159,1196,1199,1429,1430,1431,1432,1433,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1250,1258,1271,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1250,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1241,1242,1243,1244,1245,1253,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1252,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1252,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1250,1251,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1250,1252,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1250,1252,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1241,1242,1243,1244,1245,1252,1253,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1232,1252,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1240,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1150,1151,1196,1250,1257,1258,1263,1264,1265,1266,1268,1271,1435,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1196,1250,1252,1255,1256,1261,1262,1268,1271,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1250,1254,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1221,1247,1248,1249,1250,1251,1254,1257,1263,1265,1267,1268,1269,1270,1272,1273,1274,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1250,1254,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1250,1258,1268,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1150,1151,1199,1250,1252,1263,1268,1271,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1256,1259,1260,1261,1262,1271,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1150,1156,1195,1199,1200,1250,1252,1260,1261,1263,1268,1271,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1257,1259,1263,1271,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1196,1199,1250,1263,1268,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1149,1150,1151,1156,1195,1199,1247,1250,1254,1257,1258,1263,1268,1271,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1146,1147,1148,1149,1150,1151,1156,1250,1254,1258,1259,1268,1270,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1150,1151,1195,1199,1250,1252,1263,1268,1271,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1250,1270,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1195,1196,1263,1267,1271,1435,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1148,1149,1150,1156,1260,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1221,1246,1247,1248,1249,1251,1252,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1148,1221,1247,1248,1249,1250,1251,1258,1259,1270,1275,1434,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1149,1150,1156,1254,1258,1260,1269,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1146,1150,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1317,1323,1336,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1159,1317,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1277,1278,1279,1280,1281,1283,1284,1285,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1320,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1287,1319,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1319,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1319,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1312,1317,1318,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1317,1319,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1319,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1282,1319,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1317,1319,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1277,1278,1279,1280,1281,1283,1284,1285,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1319,1320,1321,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1286,1319,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1289,1319,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1317,1319,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1282,1289,1317,1319,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1282,1317,1319,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1150,1151,1196,1317,1322,1323,1324,1328,1329,1331,1332,1335,1336,1435,1436,1437,1438,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1196,1255,1317,1322,1324,1331,1335,1336,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1317,1322,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1276,1286,1312,1313,1314,1315,1316,1317,1318,1322,1324,1329,1331,1332,1334,1335,1337,1338,1339,1341,1439,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1317,1322,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1313,1317,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1317,1324,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1149,1150,1156,1195,1199,1200,1317,1324,1332,1336,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1325,1326,1327,1328,1330,1333,1336,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1148,1149,1150,1156,1195,1199,1200,1312,1317,1319,1324,1326,1332,1333,1336,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1150,1322,1329,1330,1332,1336,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1196,1199,1200,1317,1324,1332,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1199,1200,1324,1332,1335,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1149,1150,1151,1156,1195,1199,1200,1317,1322,1323,1324,1329,1332,1336,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1146,1147,1148,1149,1150,1151,1156,1317,1322,1323,1324,1330,1335,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1148,1149,1150,1151,1156,1195,1199,1200,1317,1319,1323,1324,1332,1336,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1286,1317,1321,1335,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1159,1195,1196,1197,1332,1336,1435,1439,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1148,1149,1150,1156,1333,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1276,1311,1312,1314,1315,1316,1318,1319,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1148,1150,1276,1312,1314,1315,1316,1317,1318,1322,1323,1335,1342,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1340,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1149,1150,1151,1156,1319,1323,1333,1334,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1142,1143,1151,1439,1440,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1440,1441,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1142,1143,1144,1150,1151,1195,1196,1324,1332,1336,1342,1380,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1159,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1146,1147,1148,1150,1151,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1150,1151,1154,1430,1434,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1434,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1372,1390,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1362,1363,1364,1365,1366,1367,1374,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1373,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1373,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1372,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1372,1373,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1372,1373,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1159,1373,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1362,1363,1364,1365,1366,1367,1373,1374,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1353,1373,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1361,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1150,1196,1372,1379,1382,1383,1384,1387,1389,1390,1435,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1196,1255,1372,1373,1376,1377,1378,1389,1390,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1369,1370,1371,1372,1375,1379,1384,1387,1388,1389,1391,1392,1393,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1372,1375,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1372,1375,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1372,1389,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1150,1151,1199,1372,1373,1379,1389,1390,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1376,1377,1378,1385,1386,1390,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1150,1199,1200,1372,1373,1377,1379,1389,1390,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1379,1384,1385,1390,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1149,1150,1151,1156,1195,1199,1372,1375,1379,1384,1389,1390,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1146,1147,1148,1149,1150,1151,1156,1372,1375,1385,1389,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1150,1151,1199,1372,1373,1379,1389,1390,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1372,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1195,1196,1379,1388,1390,1435,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1148,1149,1150,1156,1386,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1368,1369,1370,1371,1373,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1148,1150,1369,1370,1371,1372,1394,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1144,1151,1196,1379,1381,1388,1435,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1144,1150,1151,1195,1196,1379,1380,1389,1390,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1150,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1152,1153,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1155,1157,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1150,1156,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1150,1154,1158,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1145,1146,1148,1149,1151,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1400,1421,1426,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1421,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1396,1416,1417,1418,1419,1424,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1423,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1421,1422,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1421,1423,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1396,1416,1417,1418,1419,1423,1424,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1415,1421,1423,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1423,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1151,1421,1423,1429,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1150,1151,1196,1400,1401,1402,1403,1406,1411,1412,1421,1426,1435,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1196,1255,1406,1411,1421,1425,1426,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1421,1425,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1395,1397,1398,1399,1403,1404,1406,1411,1412,1414,1415,1421,1422,1425,1427,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1421,1425,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1406,1414,1421,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1149,1150,1151,1199,1200,1406,1412,1421,1423,1426,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1407,1408,1409,1410,1413,1426,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1149,1150,1151,1156,1199,1200,1397,1406,1408,1412,1413,1421,1423,1426,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1403,1410,1412,1426,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1151,1196,1199,1200,1406,1412,1421,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1197,1199,1200,1412,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1149,1150,1151,1156,1195,1199,1200,1400,1403,1406,1412,1421,1425,1426,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1146,1147,1148,1149,1150,1151,1156,1400,1406,1410,1414,1421,1425,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1148,1149,1150,1151,1199,1200,1400,1406,1412,1421,1423,1426,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1150,1195,1196,1197,1199,1404,1405,1412,1426,1435,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1148,1149,1150,1156,1413,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1146,1395,1397,1398,1399,1420,1422,1423,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1421,1423,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1148,1150,1395,1397,1398,1399,1400,1414,1421,1422,1428,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1149,1150,1156,1400,1413,1423,1429,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1143,1147,1150,1151,1430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1144,1146,1150,1430,1435,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,639,640,641,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,285,370,2188,2189,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,285,370,2188,2189,2190,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,658,660,661,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,628,634,658,660,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,626,658,659,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,624,628,634,657,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,628,634,651,656,658,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,674,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,634,658,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,678,679,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,680,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,669,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,634,656,658,668,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,722,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,884,988,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,988,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,880,882,883,884,988,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,988,1005,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,803,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,880,882,883,884,885,988,1025,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,879,881,882,1025,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,883,988,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,808,809,823,837,838,867,1001,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,884,988,1005,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,881,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,880,882,883,884,885,988,1012,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,879,880,881,882,1012,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,825,1001,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,880,882,883,884,885,988,1018,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,879,880,881,882,1018,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1001,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,880,882,883,884,885,988,1006,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,880,881,882,1006,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,871,994,1001,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,879,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,881,882,886,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,880,881,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,881,882,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,881,886,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,844,850,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,841,850,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,906,909,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,803,805,851,888,893,901,902,903,904,907,923,925,934,936,941,942,943,945,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,803,805,841,851,904,920,921,922,945,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,841,850,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,793,794,795,796,797,798,799,800,801,802,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,891,892,894,895,900,901,902,903,904,905,906,907,908,909,910,911,912,913,915,916,917,919,920,921,922,923,924,925,927,928,929,930,933,934,935,936,937,938,939,940,941,944,945,946,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,972,973,974,975,976,977,982,984,985,988,989,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,851,878,879,881,882,883,885,887,888,889,934,936,958,965,966,984,985,986,987,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1030,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,807,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,816,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,793,811,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,824,839,840,929,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,795,811,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,793,799,808,809,810,812,817,818,819,820,821,822,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,866,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,793,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,794,795,796,797,806,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,795,799,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,846,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,794,813,814,815,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,793,799,811,824,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,799,805,807,816,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,798,828,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,795,798,811,858,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,824,830,835,836,839,840,848,853,857,864,865,874,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,795,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,798,799,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,799,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,798,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,852,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,855,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,793,795,799,806,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,831,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,795,799,848,853,857,864,865,869,870,871,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,834,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,855,901,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,901,937,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,843,938,939,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,799,835,841,848,857,864,865,866,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,793,795,824,868,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,868,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,793,794,795,796,797,798,799,806,807,808,809,810,811,812,813,814,815,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,845,846,847,848,849,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,877,878,892,900,901,920,921,922,927,928,929,930,935,937,938,939,940,967,968,993,994,995,996,997,998,999,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,793,794,795,796,797,798,799,806,807,808,809,810,811,812,813,814,815,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,845,846,847,848,849,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,877,892,900,901,920,921,922,927,928,929,930,935,937,938,939,940,967,968,993,994,995,996,997,998,999,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,838,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,839,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,839,840,927,928,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,844,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,927,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,793,795,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,824,835,839,840,845,851,852,853,857,858,864,865,867,872,873,875,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,795,799,842,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,795,799,805,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,845,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,824,830,831,832,833,835,836,837,839,840,845,848,849,853,854,856,857,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,799,841,842,844,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,795,843,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,824,830,835,836,840,848,853,857,864,865,868,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,828,967,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,847,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,850,851,900,901,902,903,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,851,892,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,851,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,801,805,907,977,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,841,851,899,944,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,831,944,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,795,902,903,944,968,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,835,905,907,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,804,805,907,982,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,839,851,909,912,945,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,909,927,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,795,805,841,843,844,851,899,901,903,909,913,940,945,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,800,801,802,804,910,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,811,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,907,925,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,845,851,903,909,925,944,945,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,851,854,944,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,799,805,841,851,906,945,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,902,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,901,945,946,995,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,802,805,907,976,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,868,902,903,944,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,851,855,899,945,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,847,851,975,976,977,978,984,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,880,881,887,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,880,881,887,1036,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,828,900,901,967,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,878,880,881,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,841,851,904,913,924,930,932,945,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,803,851,902,904,923,935,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,847,850,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,801,803,805,850,851,852,875,876,878,879,887,888,889,902,904,907,908,910,913,915,916,919,924,945,946,971,972,974,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,803,805,851,899,903,923,926,933,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,904,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,800,803,805,850,851,852,872,876,878,879,887,888,889,903,910,916,919,945,969,970,971,972,973,974,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,835,850,904,945,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,841,851,938,940,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,804,805,850,851,867,876,878,879,888,889,902,904,907,908,910,916,945,946,969,970,971,972,974,976,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,876,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,850,851,869,903,904,915,945,946,970,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,851,913,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,839,850,911,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,944,945,971,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,850,851,913,924,929,931,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,903,910,971,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,851,858,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,803,805,851,852,856,857,858,876,878,879,887,888,889,899,902,903,904,907,908,910,913,914,915,916,917,918,919,923,924,945,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,802,803,805,850,851,852,873,876,878,879,887,888,889,902,904,907,908,910,913,915,916,919,924,945,946,970,971,972,974,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,904,945,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,878,880,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,792,793,794,795,796,797,798,799,806,807,808,809,810,811,812,813,814,815,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,845,846,847,848,849,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,877,878,879,880,892,900,901,920,921,922,927,928,929,930,935,937,938,939,940,967,968,993,994,995,996,997,998,999,1000,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,811,820,823,825,826,827,829,859,860,861,862,863,867,876,877,878,879,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,800,848,887,888,907,910,925,943,975,978,979,980,981,983,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,878,879,880,881,884,886,887,990,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,879,884,887,990,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,878,879,880,881,884,886,887,888,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,888,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,878,879,880,881,884,886,887,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,811,851,878,879,881,887,958,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,959,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,812,850,890,893,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,806,823,850,878,879,888,889,894,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,823,825,850,851,878,879,888,889,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,823,850,851,878,879,888,889,891,893,894,895,896,897,898,947,948,949,950,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,823,850,878,879,888,889,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,794,850,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,806,807,850,851,890,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,825,850,851,878,879,888,889,904,944,946,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,826,850,878,879,888,889,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,827,850,851,878,879,888,889,891,893,894,948,949,950,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,829,850,878,879,888,889,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,850,859,878,879,888,889,925,959,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,820,850,878,879,888,889,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,850,860,878,879,888,889,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,850,861,878,879,888,889,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,850,862,878,879,888,889,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,850,863,878,879,888,889,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,806,813,850,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,814,850,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,850,877,878,879,888,889,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,887,888,951,952,953,954,955,956,957,960,961,962,963,964,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,815,850,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,851,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,800,801,802,804,805,879,889,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,805,879,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,800,801,802,803,804,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,634,658,2335,2336,2337,2361,2362,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,634,658,2336,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,634,658,2335,2336,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2338,2339,2340,2341,2342,2343,2344,2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,628,634,658,2335,2337,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1605,1606,1609,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1607,1608,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1604,1605,1609,1610,1611,1615,1619,1620,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1604,1606,1609,1610,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1606,1609,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1602,1603,1604,1605,1606,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1604,1605,1606,1609,1615,1618,1620,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1605,1616,1617,1619,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1604,1606,1610,1619,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1606,1609,1610,1611,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1609,1612,1615,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1604,1605,1612,1613,1614,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1604,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2188,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2191,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1046,1047,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1045,1046,1049,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1045,1046,1051,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1046,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1050,1057,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1045,1046,1047,1048,1049,1050,1052,1053,1054,1055,1056,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1045,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,557,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,302,304,308,319,509,538,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,304,314,315,316,318,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,304,351,353,355,356,359,550,552,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,304,308,310,311,312,342,437,509,528,529,537,550,552,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,315,407,517,526,546,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,304,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,298,407,546,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,361,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,360,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,507,517,605,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,475,487,526,545,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,418,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,531,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,530,531,532,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,530,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,291,298,304,308,311,313,315,319,320,333,334,361,437,448,527,538,550,554,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,302,304,317,351,352,357,358,550,605,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,317,605,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,302,334,462,550,605,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,605,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,304,317,318,605,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,354,605,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,320,528,536,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,177,370,546,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,370,546,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,370,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,479,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,405,415,416,546,582,589,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,404,523,583,584,585,586,588,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,522,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,522,523,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,342,407,408,412,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,407,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,407,411,413,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,407,408,409,410,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,587,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,305,576,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,194,285,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,317,397,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,317,538,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,395,399,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,396,556,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2209,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,166,201,285,289,292,293,554,598,599,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,308,341,393,438,459,461,533,534,538,550,551,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,333,535,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,554,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,303,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,464,477,486,496,498,545,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,177,464,477,495,496,497,545,604,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,489,490,491,492,493,494,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,491,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,495,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,368,369,370,372,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,362,363,364,365,371,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,368,371,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,366,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,367,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,370,396,556,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,370,555,556,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,370,556,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,438,540,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,540,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,551,556,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,483,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,150,151,482,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,343,407,424,461,470,473,475,476,516,545,548,551,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,389,407,504,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,475,545,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,475,480,481,483,484,485,486,487,488,499,500,501,502,503,505,506,545,546,605,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,469,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,177,305,341,344,365,390,391,438,448,459,460,516,539,550,551,552,554,605,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,545,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,150,151,315,391,448,472,539,541,542,543,544,551,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,475,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,150,151,341,378,424,465,466,467,468,469,470,471,473,474,545,546,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,378,379,465,551,552,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,315,438,448,461,539,545,551,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,550,552,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,183,548,551,552,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,177,194,298,308,317,343,344,346,375,380,385,389,390,391,393,422,424,426,429,431,434,435,436,437,459,461,538,539,546,548,550,551,552,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,183,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,304,305,306,313,548,549,554,556,605,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,302,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,374,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,183,194,336,359,361,362,363,364,365,372,373,605,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,177,194,298,336,351,384,385,386,422,423,424,429,437,438,444,447,449,459,461,539,546,548,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,313,320,333,437,448,539,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,194,305,308,424,442,548,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,463,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,374,445,446,456,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,548,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,470,472,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,391,424,538,556,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,177,347,351,423,429,444,447,451,548,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,320,333,351,452,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,304,346,454,538,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,194,365,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,317,345,346,347,356,374,453,455,538,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,291,391,458,554,556,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,421,459,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,177,194,308,319,320,333,343,344,380,384,385,386,390,422,423,424,426,438,439,441,443,459,461,538,539,546,547,548,556,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,183,320,444,450,456,548,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,323,324,325,326,327,328,329,330,331,332,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,375,430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,432,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,430,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,432,433,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,308,311,341,342,551,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,177,303,305,343,389,390,391,392,420,459,548,552,554,556,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,177,194,307,342,392,424,470,539,547,551,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,465,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,466,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,407,437,516,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,467,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,335,339,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,308,335,343,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,338,339,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,340,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,335,336,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,335,387,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,335,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,375,428,547,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,427,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,336,546,547,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,425,547,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,336,546,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,516,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,308,337,343,391,407,424,458,461,464,470,477,478,508,509,512,515,538,548,551,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,400,403,405,406,415,416,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,295,296,297,370,510,511,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,295,296,297,370,510,511,514,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,525,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,315,379,391,458,461,475,483,487,518,519,520,521,523,524,527,538,545,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,415,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,420,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,420,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,343,388,393,417,419,458,548,554,556,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,400,401,402,403,405,406,415,416,555,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,177,194,291,335,336,344,390,391,424,456,457,459,538,539,548,550,551,554,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,379,381,384,539,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,375,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,378,475,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,377,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,379,380,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,376,378,550,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,166,307,379,381,382,383,550,551,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,407,414,546,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,300,301,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,305,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,404,546,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,291,390,391,554,556,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,305,576,577,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,399,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,177,194,285,303,358,394,396,398,556,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,317,546,551,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,440,546,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,164,166,177,285,302,303,353,399,554,555,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,292,293,554,600,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,286,287,288,289,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,156,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,348,349,350,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,348,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,166,168,177,201,285,289,292,293,294,297,298,303,344,451,495,552,553,556,600,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,564,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,566,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,568,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2210,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,570,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,572,573,574,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,578,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,290,558,563,565,567,569,571,575,579,581,591,592,594,603,604,605,606,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,580,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,590,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,396,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,593,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,150,151,379,381,382,384,595,596,597,600,601,602,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,201,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1889,1891,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1888,1889,1890,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1886,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1882,1883,1884,1887,1888,1889,1891,1892,1893,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1882,1886,1888,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1887,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1883,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1884,1887,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1883,1885,1886,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,636,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,635,636,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,635,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,635,636,637,643,644,647,648,649,650,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,636,644,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,635,636,637,643,644,645,646,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,635,644,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,644,648,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,636,637,638,642,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,637,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,635,636,644,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,201,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776,2783,2784,2785],[106,151,183,201,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776,2783],[106,151,183,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,653,654,655,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,652,656,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,656,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1795,1798,1799,1802,1803,1804,1805,1806,1807,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1835,1836,1837,1838,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,2643,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,2661,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2661,2662,2663,2666,2667,2668,2669,2670,2671,2672,2675,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2661,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2664,2665,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,2659,2661,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2656,2657,2659,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2652,2655,2657,2659,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2656,2659,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,2647,2648,2649,2652,2653,2654,2656,2657,2658,2659,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2649,2652,2653,2654,2655,2656,2657,2658,2659,2660,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2656,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2650,2656,2657,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2650,2651,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2655,2657,2658,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2655,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2647,2652,2657,2658,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2673,2674,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2201,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2198,2199,2200,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2366,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[83,106,151,633,634,658,664,671,2363,2365,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2231,2233,2234,2235,2236,2237,2238,2239,2240,2241,2242,2243,2244,2245,2246,2248,2249,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,2232,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,285,2234,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2232,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2231,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2247,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2250,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,676,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,634,658,675,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,633,634,658,662,663,664,671,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,628,634,658,662,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,680,681,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,634,658,680,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,672,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,633,634,658,664,670,671,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2363,2364,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,628,633,634,658,664,671,2335,2363,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,183,201,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,667,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,665,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,665,666,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,630,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,194,2696,2700,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,183,194,2696,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2691,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,191,194,2693,2696,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,171,191,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,201,2691,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,171,194,2693,2696,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,163,183,194,2688,2689,2692,2695,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2696,2703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2688,2694,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2696,2717,2718,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,186,194,201,2692,2696,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,201,2717,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,201,2690,2691,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2696,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2690,2691,2692,2693,2694,2695,2696,2697,2698,2700,2701,2702,2703,2704,2705,2706,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2718,2719,2720,2721,2722,2723,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2696,2711,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2696,2703,2704,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2694,2696,2704,2705,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2695,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2688,2691,2696,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2696,2700,2704,2705,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2700,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,194,2694,2696,2699,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,2688,2693,2696,2703,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,199,201,2691,2696,2717,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,113,116,119,120,151,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,116,151,183,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,116,120,151,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,110,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,114,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,112,113,116,151,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,110,151,201,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,112,116,151,171,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,107,108,109,111,115,151,163,183,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,116,124,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,108,114,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,116,140,141,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,108,111,116,151,186,194,201,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,116,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,112,116,151,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,107,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,110,111,112,114,115,116,117,118,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,141,142,143,144,145,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,116,133,136,151,159,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,116,124,125,126,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,114,116,125,127,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,115,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,108,110,116,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,116,120,125,127,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,120,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,114,116,119,151,194,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,108,112,116,124,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,116,133,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,110,116,140,151,186,199,201,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2747,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,628,632,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,624,628,629,631,633,664,671,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,625,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,626,627,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,624,626,628,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[99,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[90,91,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[87,88,90,92,93,98,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[88,90,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[98,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[90,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[87,88,90,93,94,95,96,97,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[87,88,89,106,151,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,278,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,269,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,269,272,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,264,267,269,270,271,272,273,274,275,276,277,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,203,205,272,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,269,270,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,204,269,271,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,205,207,209,210,211,212,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,207,209,211,212,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,207,209,211,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,204,207,209,210,212,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,203,205,206,207,208,209,210,211,212,213,214,264,265,266,267,268,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,203,205,206,209,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,205,206,209,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,209,212,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,203,204,206,207,208,210,211,212,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,203,204,205,209,269,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,209,210,211,212,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1135,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,211,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1457,1458,1460,1461,1462,1464,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1460,1461,1462,1463,1464,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[106,151,1457,1460,1461,1462,1464,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,279,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776],[84,106,151,617,618,2725,2726,2727,2729,2730,2731,2732,2733,2734,2735,2736,2738,2739,2745,2746,2748,2749,2750,2751,2752,2753,2757,2758,2759,2761,2762,2768,2769,2770,2771,2772,2773,2774,2775,2776]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"8bf8b5e44e3c9c36f98e1007e8b7018c0f38d8adc07aecef42f5200114547c70","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"b9b8a0e45c7b6172a689aee1d7662b7e86994b1648b392efee24b0b557f81126","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"1f6a3418d83e9fcc68dd19072f91f65ff84a563ecc586e89c66f1540749d3e8b","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},"b252d1222f14c2f21a89c842c0034b48d0068c1623c63fdf59c0e973cdd5b4f9",{"version":"92d5369f7f9480aac66bbcd295c0b2d82077295c8bf0f0fe08fa3c3321225e49","impliedFormat":99},{"version":"878390f2f3d349610300c7603fb9dff16cfb92fcc6f5fc1f9b262e5bbd6479e5","impliedFormat":99},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0671b50bb99cc7ad46e9c68fa0e7f15ba4bc898b59c31a17ea4611fab5095da","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"e525f9e67f5ddba7b5548430211cae2479070b70ef1fd93550c96c10529457bd","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4bc0794175abedf989547e628949888c1085b1efcd93fc482bccd77ee27f8b7c","impliedFormat":1},{"version":"3c8e93af4d6ce21eb4c8d005ad6dc02e7b5e6781f429d52a35290210f495a674","impliedFormat":1},{"version":"2c9875466123715464539bfd69bcaccb8ff6f3e217809428e0d7bd6323416d01","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"6c8e442ba33b07892169a14f7757321e49ab0f1032d676d321a1fdab8a67d40c","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"1cd673d367293fc5cb31cd7bf03d598eb368e4f31f39cf2b908abbaf120ab85a","impliedFormat":1},{"version":"af13e99445f37022c730bfcafcdc1761e9382ce1ea02afb678e3130b01ce5676","impliedFormat":1},{"version":"3825bf209f1662dfd039010a27747b73d0ef379f79970b1d05601ec8e8a4249f","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"da52342062e70c77213e45107921100ba9f9b3a30dd019444cf349e5fb3470c4","impliedFormat":1},{"version":"e9ace91946385d29192766bf783b8460c7dbcbfc63284aa3c9cae6de5155c8bc","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"1e30c045732e7db8f7a82cf90b516ebe693d2f499ce2250a977ec0d12e44a529","impliedFormat":1},{"version":"84b736594d8760f43400202859cda55607663090a43445a078963031d47e25e7","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"78b29846349d4dfdd88bd6650cc5d2baaa67f2e89dc8a80c8e26ef7995386583","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"e38d4fdf79e1eadd92ed7844c331dbaa40f29f21541cfee4e1acff4db09cda33","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"7c10a32ae6f3962672e6869ee2c794e8055d8225ef35c91c0228e354b4e5d2d3","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"99f569b42ea7e7c5fe404b2848c0893f3e1a56e0547c1cd0f74d5dbb9a9de27e","impliedFormat":1},{"version":"f4b4faedc57701ae727d78ba4a83e466a6e3bdcbe40efbf913b17e860642897c","affectsGlobalScope":true,"impliedFormat":1},{"version":"bbcfd9cd76d92c3ee70475270156755346c9086391e1b9cb643d072e0cf576b8","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"003ec918ec442c3a4db2c36dc0c9c766977ea1c8bcc1ca7c2085868727c3d3f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"938f94db8400d0b479626b9006245a833d50ce8337f391085fad4af540279567","impliedFormat":1},{"version":"c4e8e8031808b158cfb5ac5c4b38d4a26659aec4b57b6a7e2ba0a141439c208c","impliedFormat":1},{"version":"2c91d8366ff2506296191c26fd97cc1990bab3ee22576275d28b654a21261a44","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"db39d9a16e4ddcd8a8f2b7b3292b362cc5392f92ad7ccd76f00bccf6838ac7de","affectsGlobalScope":true,"impliedFormat":1},{"version":"289e9894a4668c61b5ffed09e196c1f0c2f87ca81efcaebdf6357cfb198dac14","impliedFormat":1},{"version":"25a1105595236f09f5bce42398be9f9ededc8d538c258579ab662d509aa3b98e","impliedFormat":1},{"version":"5078cd62dbdf91ae8b1dc90b1384dec71a9c0932d62bdafb1a811d2a8e26bef2","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"62f572306e0b173cc5dfc4c583471151f16ef3779cf27ab96922c92ec82a3bc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"067bdd82d9768baddbdc8df51d85f7b96387c47176bf7f895d2e21e2b6b2f1f4","impliedFormat":1},{"version":"42d30e7d04915facc3ded22b4127c9f517973b4c2b1326e56c10ff70daf6800a","impliedFormat":1},{"version":"bd8b644c5861b94926687618ec2c9e60ad054d334d6b7eb4517f23f53cb11f91","impliedFormat":1},{"version":"bcbabfaca3f6b8a76cb2739e57710daf70ab5c9479ab70f5351c9b4932abf6bd","impliedFormat":1},{"version":"77fced47f495f4ff29bb49c52c605c5e73cd9b47d50080133783032769a9d8a6","impliedFormat":1},{"version":"55f370475031b3d36af8dd47fb3934dff02e0f1330d13f1977c9e676af5c2e70","impliedFormat":1},{"version":"c54f0b30a787b3df16280f4675bd3d9d17bf983ae3cd40087409476bc50b922d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0f5cda0282e1d18198e2887387eb2f026372ebc4e11c4e4516fef8a19ee4d514","impliedFormat":1},{"version":"e99b0e71f07128fc32583e88ccd509a1aaa9524c290efb2f48c22f9bf8ba83b1","impliedFormat":1},{"version":"76957a6d92b94b9e2852cf527fea32ad2dc0ef50f67fe2b14bd027c9ceef2d86","impliedFormat":1},{"version":"5e9f8c1e042b0f598a9be018fc8c3cb670fe579e9f2e18e3388b63327544fe16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8a99a5e6ed33c4a951b67cc1fd5b64fd6ad719f5747845c165ca12f6c21ba16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"70b57b5529051497e9f6482b76d91c0dcbb103d9ead8a0549f5bab8f65e5d031","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"1013eb2e2547ad8c100aca52ef9df8c3f209edee32bb387121bb3227f7c00088","impliedFormat":1},{"version":"e07c573ac1971ea89e2c56ff5fd096f6f7bba2e6dbcd5681d39257c8d954d4a8","impliedFormat":1},{"version":"363eedb495912790e867da6ff96e81bf792c8cfe386321e8163b71823a35719a","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"dba28a419aec76ed864ef43e5f577a5c99a010c32e5949fe4e17a4d57c58dd11","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea713aa14a670b1ea0fbaaca4fd204e645f71ca7653a834a8ec07ee889c45de6","impliedFormat":1},{"version":"1e080418e53f9b7a05db81ab517c4e1d71b7194ee26ddd54016bcef3ac474bd4","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"982efeb2573605d4e6d5df4dc7e40846bda8b9e678e058fc99522ab6165c479e","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"3b63610eaabadf26aadf51a563e4b2a8bf56eeaab1094f2a2b21509008eaef0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d5d50cd0667d9710d4d2f6e077cc4e0f9dc75e106cccaea59999b36873c5a0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"784490137935e1e38c49b9289110e74a1622baf8a8907888dcbe9e476d7c5e44","impliedFormat":1},{"version":"42180b657831d1b8fead051698618b31da623fb71ff37f002cb9d932cfa775f1","impliedFormat":1},{"version":"4f98d6fb4fe7cbeaa04635c6eaa119d966285d4d39f0eb55b2654187b0b27446","impliedFormat":1},{"version":"f8529fe0645fd9af7441191a4961497cc7638f75a777a56248eac6a079bb275d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4445f6ce6289c5b2220398138da23752fd84152c5c95bb8b58dedefc1758c036","impliedFormat":1},{"version":"a51f786b9f3c297668f8f322a6c58f85d84948ef69ade32069d5d63ec917221c","impliedFormat":1},{"version":"0c5f112b6d3377b9e8214d8920e1a69d8098b881d941f2ab3ca45234d13d68de","impliedFormat":1},{"version":"c1a2e05eb6d7ca8d7e4a7f4c93ccf0c2857e842a64c98eaee4d85841ee9855e6","impliedFormat":1},{"version":"835fb2909ce458740fb4a49fc61709896c6864f5ce3db7f0a88f06c720d74d02","impliedFormat":1},{"version":"6e5857f38aa297a859cab4ec891408659218a5a2610cd317b6dcbef9979459cc","impliedFormat":1},{"version":"ead8e39c2e11891f286b06ae2aa71f208b1802661fcdb2425cffa4f494a68854","impliedFormat":1},{"version":"82919acbb38870fcf5786ec1292f0f5afe490f9b3060123e48675831bd947192","impliedFormat":1},{"version":"e222701788ec77bd57c28facbbd142eadf5c749a74d586bc2f317db7e33544b1","impliedFormat":1},{"version":"09154713fae0ed7befacdad783e5bd1970c06fc41a5f866f7f933b96312ce764","impliedFormat":1},{"version":"8d67b13da77316a8a2fabc21d340866ddf8a4b99e76a6c951cc45189142df652","impliedFormat":1},{"version":"a91c8d28d10fee7fe717ddf3743f287b68770c813c98f796b6e38d5d164bd459","impliedFormat":1},{"version":"68add36d9632bc096d7245d24d6b0b8ad5f125183016102a3dad4c9c2438ccb0","impliedFormat":1},{"version":"3a819c2928ee06bbcc84e2797fd3558ae2ebb7e0ed8d87f71732fb2e2acc87b4","impliedFormat":1},{"version":"f6f827cd43e92685f194002d6b52a9408309cda1cec46fb7ca8489a95cbd2fd4","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"a270a1a893d1aee5a3c1c8c276cd2778aa970a2741ee2ccf29cc3210d7da80f5","impliedFormat":1},{"version":"add0ce7b77ba5b308492fa68f77f24d1ed1d9148534bdf05ac17c30763fc1a79","impliedFormat":1},{"version":"8926594ee895917e90701d8cbb5fdf77fc238b266ac540f929c7253f8ad6233d","impliedFormat":1},{"version":"2f67911e4bf4e0717dc2ded248ce2d5e4398d945ee13889a6852c1233ea41508","impliedFormat":1},{"version":"d8430c275b0f59417ea8e173cfb888a4477b430ec35b595bf734f3ec7a7d729f","impliedFormat":1},{"version":"69364df1c776372d7df1fb46a6cb3a6bf7f55e700f533a104e3f9d70a32bec18","impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"5a3bd57ed7a9d9afef74c75f77fce79ba3c786401af9810cdf45907c4e93f30e","impliedFormat":1},{"version":"ed8763205f02fb65e84eff7432155258df7f93b7d938f01785cb447d043d53f3","impliedFormat":1},{"version":"30db853bb2e60170ba11e39ab48bacecb32d06d4def89eedf17e58ebab762a65","impliedFormat":1},{"version":"e27451b24234dfed45f6cf22112a04955183a99c42a2691fb4936d63cfe42761","impliedFormat":1},{"version":"2316301dd223d31962d917999acf8e543e0119c5d24ec984c9f22cb23247160c","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"d4a5b1d2ff02c37643e18db302488cd64c342b00e2786e65caac4e12bda9219b","impliedFormat":1},{"version":"29f823cbe0166e10e7176a94afe609a24b9e5af3858628c541ff8ce1727023cd","impliedFormat":1},"63e84bace96cc5195d6fbb11e4124a0e2015b3de1a1e739d2ed3888da22abf6f","9367a2b6eb67019ccf3d52f366e2955a3ae31002b39b36a8bf77684b9d571a3c",{"version":"eb5b19b86227ace1d29ea4cf81387279d04bb34051e944bc53df69f58914b788","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"87d9d29dbc745f182683f63187bf3d53fd8673e5fca38ad5eaab69798ed29fbc","impliedFormat":1},{"version":"472f5aab7edc498a0a761096e8e254c5bc3323d07a1e7f5f8b8ec0d6395b60a0","affectsGlobalScope":true,"impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"3609e455ffcba8176c8ce0aa57f8258fe10cf03987e27f1fab68f702b4426521","impliedFormat":1},{"version":"d1bd4e51810d159899aad1660ccb859da54e27e08b8c9862b40cd36c1d9ff00f","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"17ed71200119e86ccef2d96b73b02ce8854b76ad6bd21b5021d4269bec527b5f","impliedFormat":1},{"version":"1cfa8647d7d71cb03847d616bd79320abfc01ddea082a49569fda71ac5ece66b","impliedFormat":1},{"version":"bb7a61dd55dc4b9422d13da3a6bb9cc5e89be888ef23bbcf6558aa9726b89a1c","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"5c9b31919ea1cb350a7ae5e71c9ced8f11723e4fa258a8cc8d16ae46edd623c7","impliedFormat":1},{"version":"4aa42ce8383b45823b3a1d3811c0fdd5f939f90254bc4874124393febbaf89f6","impliedFormat":1},{"version":"96ffa70b486207241c0fcedb5d9553684f7fa6746bc2b04c519e7ebf41a51205","impliedFormat":1},{"version":"5c24c66b3ba29ce9f2a79c719967e6e944131352a117a0bc43fa5b346b5562b3","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f4625edcb57b37b84506e8b276eb59ca30d31f88c6656d29d4e90e3bc58e69df","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"c685d9f68c70fe11ce527287526585a06ea13920bb6c18482ca84945a4e433a7","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"4e01846df98d478a2a626ec3641524964b38acaac13945c2db198bf9f3df22ee","impliedFormat":1},{"version":"678d6d4c43e5728bf66e92fc2269da9fa709cb60510fed988a27161473c3853f","impliedFormat":1},{"version":"ffa495b17a5ef1d0399586b590bd281056cee6ce3583e34f39926f8dcc6ecdb5","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"e2a37ac938c4bede5bb284b9d2d042da299528f1e61f6f57538f1bd37d760869","impliedFormat":1},{"version":"76def37aff8e3a051cf406e10340ffba0f28b6991c5d987474cc11137796e1eb","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"bfb7f8475428637bee12bdd31bd9968c1c8a1cc2c3e426c959e2f3a307f8936f","impliedFormat":1},{"version":"6f491d0108927478d3247bbbc489c78c2da7ef552fd5277f1ab6819986fdf0b1","impliedFormat":1},{"version":"0d8f2b8781c721170b87a6b662b3cb038fd1a721165ecca390352c818d425872","impliedFormat":1},{"version":"7cb0ee103671d1e201cd53dda12bc1cd0a35f1c63d6102720c6eeb322cb8e17e","impliedFormat":1},{"version":"15a234e5031b19c48a69ccc1607522d6e4b50f57d308ecb7fe863d44cd9f9eb3","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"05c97cddbaf99978f83d96de2d8af86aded9332592f08ce4a284d72d0952c391","impliedFormat":1},{"version":"72179f9dd22a86deaad4cc3490eb0fe69ee084d503b686985965654013f1391b","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"7b6ff760c8a240b40dab6e4419b989f06a5b782f4710d2967e67c695ef3e93c4","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"803cd2aaf1921c218916c2c7ee3fce653e852d767177eb51047ff15b5b253893","impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"7ab12b2f1249187223d11a589f5789c75177a0b597b9eb7f8e2e42d045393347","impliedFormat":1},{"version":"ad37fb4be61c1035b68f532b7220f4e8236cf245381ce3b90ac15449ecfe7305","impliedFormat":1},{"version":"93436bd74c66baba229bfefe1314d122c01f0d4c1d9e35081a0c4f0470ac1a6c","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"50b5bc34ce6b12eccb76214b51aadfa56572aa6cc79c2b9455cdbb3d6c76af1d","impliedFormat":1},{"version":"b7e16ef7f646a50991119b205794ebfd3a4d8f8e0f314981ebbe991639023d0e","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"6e9082e91370de5040e415cd9f24e595b490382e8c7402c4e938a8ce4bccc99f","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"12d218a49dbe5655b911e6cc3c13b2c655e4c783471c3b0432137769c79e1b3c","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"6b0fc04121360f752d196ba35b6567192f422d04a97b2840d7d85f8b79921c92","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"42b81043b00ff27c6bd955aea0f6e741545f2265978bf364b614702b72a027ab","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"97e5ccc7bb88419005cbdf812243a5b3186cdef81b608540acabe1be163fc3e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"6b3453eebd474cc8acf6d759f1668e6ce7425a565e2996a20b644c72916ecf75","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"89cd3444e389e42c56fd0d072afef31387e7f4107651afd2c03950f22dc36f77","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"e39a304f882598138a8022106cb8de332abbbb87f3fee71c5ca6b525c11c51fc","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"fcdf3e40e4a01b9a4b70931b8b51476b210c511924fcfe3f0dae19c4d52f1a54","impliedFormat":1},{"version":"345c4327b637d34a15aba4b7091eb068d6ab40a3dedaab9f00986253c9704e53","impliedFormat":1},{"version":"3a788c7fb7b1b1153d69a4d1d9e1d0dfbcf1127e703bdb02b6d12698e683d1fb","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"4805f6161c2c8cefb8d3b8bd96a080c0fe8dbc9315f6ad2e53238f9a79e528a6","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"2b5b70d7782fe028487a80a1c214e67bd610532b9f978b78fa60f5b4a359f77e","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"162e071992b34bc36ca257d629547f93cb43728d6fe073ad18a237e4f7c52d7d","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"7e6ac205dcb9714f708354fd863bffa45cee90740706cc64b3b39b23ebb84744","impliedFormat":1},{"version":"61dc6e3ac78d64aa864eedd0a208b97b5887cc99c5ba65c03287bf57d83b1eb9","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"8baa8dbdc393e3c6b26e8e31384b938756ce2effdc126648d43e58291ce9869b","impliedFormat":1},{"version":"933aee906d42ea2c53b6892192a8127745f2ec81a90695df4024308ba35a8ff4","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"985153f0deb9b4391110331a2f0c114019dbea90cba5ca68a4107700796e0d75","impliedFormat":1},{"version":"a3e3f0efcae272ab8ee3298e4e819f7d9dd9ff411101f45444877e77cfeca9a4","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"58659b06d33fa430bee1105b75cf876c0a35b2567207487c8578aec51ca2d977","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"30e6520444df1a004f46fdc8096f3fe06f7bbd93d09c53ada9dcdde59919ccca","impliedFormat":1},{"version":"6c800b281b9e89e69165fd11536195488de3ff53004e55905e6c0059a2d8591e","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"a58beefce74db00dbb60eb5a4bb0c6726fb94c7797c721f629142c0ae9c94306","impliedFormat":1},{"version":"41eeb453ccb75c5b2c3abef97adbbd741bd7e9112a2510e12f03f646dc9ad13d","impliedFormat":1},{"version":"502fa5863df08b806dbf33c54bee8c19f7e2ad466785c0fc35465d7c5ff80995","impliedFormat":1},{"version":"c91a2d08601a1547ffef326201be26db94356f38693bb18db622ae5e9b3d7c92","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"8b4b8ebc2d99ae651c5c4169ee8b24e2b0e02a3dfaef84e357d677b663c18fdf","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"ad10d4f0517599cdeca7755b930f148804e3e0e5b5a3847adce0f1f71bbccd74","impliedFormat":1},{"version":"1042064ece5bb47d6aba91648fbe0635c17c600ebdf567588b4ca715602f0a9d","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"55095860901097726220b6923e35a812afdd49242a1246d7b0942ee7eb34c6e4","impliedFormat":1},{"version":"96171c03c2e7f314d66d38acd581f9667439845865b7f85da8df598ff9617476","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"d193c8a86144b3a87b22bc1f5534b9c3e0f5a187873ec337c289a183973a58fe","impliedFormat":1},{"version":"1a6e6ba8a07b74e3ad237717c0299d453f9ceb795dbc2f697d1f2dd07cb782d2","impliedFormat":1},{"version":"58d70c38037fc0f949243388ff7ae20cf43321107152f14a9d36ca79311e0ada","impliedFormat":1},{"version":"f56bdc6884648806d34bc66d31cdb787c4718d04105ce2cd88535db214631f82","impliedFormat":1},{"version":"190da5eac6478d61ab9731ab2146fbc0164af2117a363013249b7e7992f1cccb","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"49f95e989b4632c6c2a578cc0078ee19a5831832d79cc59abecf5160ea71abad","impliedFormat":1},{"version":"9666533332f26e8995e4d6fe472bdeec9f15d405693723e6497bf94120c566c8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"8a8c64dafaba11c806efa56f5c69f611276471bef80a1db1f71316ec4168acef","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"d0a4cac61fa080f2be5ebb68b82726be835689b35994ba0e22e3ed4d2bc45e3b","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"2d7db1d73456e8c5075387d4240c29a2a900847f9c1bff106a2e490da8fbd457","impliedFormat":1},{"version":"2b15c805f48e4e970f8ec0b1915f22d13ca6212375e8987663e2ef5f0205e832","impliedFormat":1},{"version":"205a31b31beb7be73b8df18fcc43109cbc31f398950190a0967afc7a12cb478c","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"dba6c7006e14a98ec82999c6f89fbbbfd1c642f41db148535f3b77b8018829b8","impliedFormat":1},{"version":"7f897b285f22a57a5c4dc14a27da2747c01084a542b4d90d33897216dceeea2e","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"2ded4f930d6abfaa0625cf55e58f565b7cbd4ab5b574dd2cb19f0a83a2f0be8b","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"ca0f4d9068d652bad47e326cf6ba424ac71ab866e44b24ddb6c2bd82d129586a","affectsGlobalScope":true,"impliedFormat":1},{"version":"04d36005fcbeac741ac50c421181f4e0316d57d148d37cc321a8ea285472462b","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"05321b823dd3781d0b6aac8700bfdc0c9181d56479fe52ba6a40c9196fd661a8","impliedFormat":1},{"version":"736a8712572e21ee73337055ce15edb08142fc0f59cd5410af4466d04beff0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"a46dba563f70f32f9e45ae015f3de979225f668075d7a427f874e0f6db584991","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"02c4fc9e6bb27545fa021f6056e88ff5fdf10d9d9f1467f1d10536c6e749ac50","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"bd4131091b773973ca5d2326c60b789ab1f5e02d8843b3587effe6e1ea7c9d86","impliedFormat":1},{"version":"c7f6485931085bf010fbaf46880a9b9ec1a285ad9dc8c695a9e936f5a48f34b4","impliedFormat":1},{"version":"14f6b927888a1112d662877a5966b05ac1bf7ed25d6c84386db4c23c95a5363b","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"d24ff95760ea2dfcc7c57d0e269356984e7046b7e0b745c80fea71559f15bdd8","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"83fe880c090afe485a5c02262c0b7cdd76a299a50c48d9bde02be8e908fb4ae6","impliedFormat":1},{"version":"13c1b657932e827a7ed510395d94fc8b743b9d053ab95b7cd829b2bc46fb06db","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"6511e4503cf74c469c60aafd6589e4d14d5eb0a25f9bf043dcbecdf65f261972","impliedFormat":1},{"version":"078131f3a722a8ad3fc0b724cd3497176513cdcb41c80f96a3acbda2a143b58e","impliedFormat":1},{"version":"8c70ddc0c22d85e56011d49fddfaae3405eb53d47b59327b9dd589e82df672e7","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"9e155d2255348d950b1f65643fb26c0f14f5109daf8bd9ee24a866ad0a743648","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"7a883e9c84e720810f86ef4388f54938a65caa0f4d181a64e9255e847a7c9f51","impliedFormat":1},{"version":"a0ba218ac1baa3da0d5d9c1ec1a7c2f8676c284e6f5b920d6d049b13fa267377","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"d408d6f32de8d1aba2ff4a20f1aa6a6edd7d92c997f63b90f8ad3f9017cf5e46","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"221e915caef37c5cbaabd4946418f97dcc20591469e260732b31008321024dd8","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"371bf6127c1d427836de95197155132501cb6b69ef8709176ce6e0b85d059264","impliedFormat":1},{"version":"2bafd700e617d3693d568e972d02b92224b514781f542f70d497a8fdf92d52a2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5542d8a7ea13168cb573be0d1ba0d29460d59430fb12bb7bf4674efd5604e14c","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"a3f41ed1b4f2fc3049394b945a68ae4fdefd49fa1739c32f149d32c0545d67f5","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"b6c1f64158da02580f55e8a2728eda6805f79419aed46a930f43e68ad66a38fc","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"330896c1a2b9693edd617be24fbf9e5895d6e18c7955d6c08f028f272b37314d","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"4c0a1233155afb94bd4d7518c75c84f98567cd5f13fc215d258de196cdb40d91","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"a68d4b3182e8d776cdede7ac9630c209a7bfbb59191f99a52479151816ef9f9e","impliedFormat":99},{"version":"39644b343e4e3d748344af8182111e3bbc594930fff0170256567e13bbdbebb0","impliedFormat":99},{"version":"ed7fd5160b47b0de3b1571c5c5578e8e7e3314e33ae0b8ea85a895774ee64749","impliedFormat":99},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"8fac4a15690b27612d8474fb2fc7cc00388df52d169791b78d1a3645d60b4c8b","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},{"version":"a9db360da86bd3283b2cb73c5e2920ec19b5fc2446418f3900cb367bce050ec7","affectsGlobalScope":true},"7ad303e40d4fddf44f156129e397511953a71481c5cfd86b1862649aaaf240cc",{"version":"93cddca2ec6a5a8a1b942af0459cbd78d1b1b48e576cdabecc82811843a2cc28","impliedFormat":1},{"version":"633efa4815322c94a4008f00050483209122cd97c8d8cb4233323a4330087f85","impliedFormat":99},"f1f855f9adc665adb1988db3ec17a34e530aa9a84219380933397d91fabfe336",{"version":"0f04ed30163f6501da3a7e0832e987a9396b5223674849974fbd6594a8112556","impliedFormat":1},"77b1ed45159f7b885ad01b1eaf9f8549e01d9c1190f13a0728783ddf5f29bee9","b2de7d3c91f9edf2dee4133f037b0cac85b5770a1af773af7640e33fa96dec97","9131fd2d7a9194e8555f503e8f3637faebe8e1b77f83b3e0f9b235270be5c2a3","8bb5f3a8883bd905776f962ceba64bbb493ba9b1f59d9b68b6ca52714f5b0b6d","aa0c4abffc2025e25ecc8f7e32766fb3f6ba38cba7e7423c43ac0ff8122e92c6","d9cf32374356cdf648de0ec9c5c4071a1e36f3aa08b27078bff72b4307978d4a","ef6db618a5a6063726f0baa5f1f6aaa38ee3e421c1d2aad199ccc9314ffcc50f","0d08137e517d6db537aa5459485d91cd4f5c493cf21049cbebb2029e49894762","0aaa06787cdb807f4a39731ab4dbcbcde69f66ba6ba37573e8df686dcd412b8e",{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"5c5d901a999dfe64746ef4244618ae0628ac8afdb07975e3d5ed66e33c767ed0","impliedFormat":99},{"version":"85d08536e6cd9787f82261674e7d566421a84d286679db1503432a6ccf9e9625","impliedFormat":99},{"version":"5702b3c2f5d248290ed99419d77ca1cc3e6c29db5847172377659c50e6303768","impliedFormat":99},{"version":"9764b2eb5b4fc0b8951468fb3dbd6cd922d7752343ef5fbf1a7cd3dfcd54a75e","impliedFormat":99},{"version":"1fc2d3fe8f31c52c802c4dee6c0157c5a1d1f6be44ece83c49174e316cf931ad","impliedFormat":99},{"version":"dc4aae103a0c812121d9db1f7a5ea98231801ed405bf577d1c9c46a893177e36","impliedFormat":99},{"version":"106d3f40907ba68d2ad8ce143a68358bad476e1cc4a5c710c11c7dbaac878308","impliedFormat":99},{"version":"42ad582d92b058b88570d5be95393cf0a6c09a29ba9aa44609465b41d39d2534","impliedFormat":99},{"version":"36e051a1e0d2f2a808dbb164d846be09b5d98e8b782b37922a3b75f57ee66698","impliedFormat":99},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"19990350fca066265b2c190c9b6cde1229f35002ea2d4df8c9e397e9942f6c89","impliedFormat":99},{"version":"8fb8fdda477cd7382477ffda92c2bb7d9f7ef583b1aa531eb6b2dc2f0a206c10","impliedFormat":99},{"version":"66995b0c991b5c5d42eff1d950733f85482c7419f7296ab8952e03718169e379","impliedFormat":99},{"version":"9863f888da357e35e013ca3465b794a490a198226bd8232c2f81fb44e16ff323","impliedFormat":99},{"version":"84bc2d80326a83ee4a6e7cba2fd480b86502660770c0e24da96535af597c9f1e","impliedFormat":99},{"version":"ea27768379b866ee3f5da2419650acdb01125479f7af73580a4bceb25b79e372","impliedFormat":99},{"version":"598931eeb4362542cae5845f95c5f0e45ac668925a40ce201e244d7fe808e965","impliedFormat":99},{"version":"da9ef88cde9f715756da642ad80c4cd87a987f465d325462d6bc2a0b11d202c8","impliedFormat":99},{"version":"b4c6184d78303b0816e779a48bef779b15aea4a66028eb819aac0abee8407dea","impliedFormat":99},{"version":"db085d2171d48938a99e851dafe0e486dce9859e5dfa73c21de5ed3d4d6fb0c5","impliedFormat":99},{"version":"62a3ad1ddd1f5974b3bf105680b3e09420f2230711d6520a521fab2be1a32838","impliedFormat":99},{"version":"a77be6fc44c876bc10c897107f84eaba10790913ebdcad40fcda7e47469b2160","impliedFormat":99},{"version":"06cf55b6da5cef54eaaf51cdc3d4e5ebf16adfdd9ebd20cec7fe719be9ced017","impliedFormat":99},{"version":"91f5dbcdb25d145a56cffe957ec665256827892d779ef108eb2f3864faff523b","impliedFormat":99},{"version":"052ba354bab8fb943e0bc05a0769f7b81d7c3b3c6cd0f5cfa53c7b2da2a525c5","impliedFormat":99},{"version":"927955a3de5857e0a1c575ced5a4245e74e6821d720ed213141347dd1870197f","impliedFormat":99},{"version":"fec804d54cd97dd77e956232fc37dc13f53e160d4bbeeb5489e86eeaa91f7ebd","impliedFormat":99},{"version":"2ccdfd33a753c18e8e5fe8a1eadefff968531d920bc9cdc7e4c97b0c6d3dcaf8","impliedFormat":99},{"version":"d64a434d7fb5040dbe7d5f4911145deda53e281b3f1887b9a610defd51b3c1a2","impliedFormat":99},{"version":"927f406568919fd7cd238ef7fe5e9c5e9ec826f1fff89830e480aff8cfd197da","impliedFormat":99},{"version":"a77d742410fe78bb054d325b690fda75459531db005b62ba0e9371c00163353c","impliedFormat":99},{"version":"f8de61dd3e3c4dc193bb341891d67d3979cb5523a57fcacaf46bf1e6284e6c35","impliedFormat":99},{"version":"43866c6355cd21476b3a5cf0dc422e8a56f7acf5010acf7d9c7ea296b3beed44","impliedFormat":99},{"version":"70a8c15739dae81bdd251aecfa667521beac1ca3d62d5510ef1d168367976efd","impliedFormat":99},{"version":"117fc7342e10087d11eea826713624c5ae6b2d886e4a4a592b1cb6a30e3a1eca","impliedFormat":99},{"version":"c9bb4f55c9b9f1942bd206cce9722107b1653236a2c3805a3ffc1b78e60129a7","impliedFormat":99},{"version":"fc610233291d35d0d2c3a0214f4a46d20ad989c74431b9b5d535141065890e41","impliedFormat":99},{"version":"09b7befce01ae33053c59bcdf1c66502af074023fae5a2729b8a0411e1b94788","impliedFormat":99},{"version":"add39e62eed912ab8defd0c6473b6a4d158e22b6343f960a96825924ac87621c","impliedFormat":99},{"version":"64cd32a60b0316be7adc86fad333ec9befbab241486ecf9b0e867b80acc7e9f1","impliedFormat":99},{"version":"a65735a086ae8b401c1c41b51b41546532670c919fd2cedc1606fd186fcee2d7","impliedFormat":99},{"version":"fe021dbde66bd0d6195d4116dcb4c257966ebc8cfba0f34441839415e9e913e1","impliedFormat":99},{"version":"d52a4b1cabee2c94ed18c741c480a45dd9fed32477dd94a9cc8630a8bc263426","impliedFormat":99},{"version":"d059a52684789e6ef30f8052244cb7c52fb786e4066ac415c50642174cc76d14","impliedFormat":99},{"version":"addca1bb7478ebc3f1c67b710755acc945329875207a3c9befd6b5cbcab12574","impliedFormat":99},{"version":"50b565f4771b6b150cbf3ae31eb815c31f15e2e0f45518958a5f4348a1a01660","impliedFormat":99},{"version":"74958763e089797b627dae00e31679752826f7e91c0818e971be919dacb21c1b","impliedFormat":99},{"version":"2cab237ff67a4f114999005809e65fd586f7fdb56e253e1208cabea827df7e42","impliedFormat":99},{"version":"4e3ab6678655e507463a9bfa1aa39a4a5497fac4c75e5f7f7a16c0b7d001c34a","impliedFormat":99},{"version":"49766a3e83c44708ea1357fa410c309837f4420826a5e265e3fb81e0087c7025","impliedFormat":99},{"version":"9f9fba2db9bb11058b153cdede4ec4e3ceed37d51a18a2edfaf7dfbef0a2b241","impliedFormat":99},{"version":"7a8db4befe8f75591173ae1038856ef6ce3ecfee9e22f1b616779018a8779471","impliedFormat":99},{"version":"006ffd4a92ea7050298f50e44dcc03155b943454bb874c0a5a3ad7c8ae92a50b","impliedFormat":99},{"version":"e981c553d5f18821019546df17a5ade9e26316417279a4e478f28d72cfe6c6f8","impliedFormat":99},{"version":"4b29df4bba7b409b5fa9a8db9f4b672eed5ef80664ff09de5d11724aebc5a30b","impliedFormat":99},{"version":"f5282507ffe12947a832a8d9be748df429b3ef61454df95750fb72ff24108a68","impliedFormat":99},{"version":"22872735dfe76e24d30e89624385361d3d077c8d940257aea9b48d57839c906f","impliedFormat":99},{"version":"bd93deb5a61f121242eb17014a20254b517e411b7144769b2389cc56bb254c40","impliedFormat":99},"eade485860011affc651da753c53269c3b620b8f58ed3abf193567fd94048ccb","3a35cf431bd1f782ef30e68516b7378e74c7624f0cb470731251413191e14a09",{"version":"6e7eb495ef234ffb72dfed736d4526bb91f764e62c1c564b054403432cd523e2","impliedFormat":99},{"version":"767cfb1496df590e9132052dbf9d5a2ed4d7864823eafb4eafcc5f9569f3c152","impliedFormat":99},{"version":"b9f9f77327ef54fc055ab78fc6fc6c93b88410621fd9b2374bb956022018a62a","impliedFormat":99},{"version":"82147ff6ea10d9182855cb50ed6f28d36c1d4f54a792ec2173d42074225caa5d","impliedFormat":99},{"version":"aa015d746ff96c12818a7ad742e45f40bc6f72f4b7df2af0f7200dacfe0ca65e","impliedFormat":99},{"version":"01a6da71fc05a9195f334ab1092b3f4952b0f2e2c460ea55d206ef629309062d","impliedFormat":99},{"version":"66f0b814ca2e007985a604145f5d70793a9f66d2fc7d6c57b2e094c15b7eb83f","impliedFormat":99},{"version":"8d9b0d78ee11670d4caa429ce908ef681663d65e94dc1507b47d6eb44abf903d","impliedFormat":99},{"version":"888cd85dc7c3d5d1fe0c975a8a42387203a6040f6945d9e834044f4cdcaa7177","impliedFormat":99},{"version":"87783efceaa85da75752e808792e347efda30d7aa7d7a76e62398df4a86c31e5","impliedFormat":99},{"version":"6a8ab860d18807ef3ebcbba3c436ae6432640a8e9fd3b3e965d3b923d7ab1043","impliedFormat":99},{"version":"41560bfeef3407476ecbf1e87fe10ad8bb66493854c8810bf1475c1927e9509c","impliedFormat":99},{"version":"6832c3df6998885275fc6cd413f83aab3dfeac3b5b2d9ae0acc29707af0dfde6","impliedFormat":99},{"version":"c3367f21f12005ddb218db94e8f45502526a0c5934456492f39c6c4596b9aa25","impliedFormat":99},{"version":"85985824476f773241686f7b04c9983cef819dcdbea5a6564958898377cc3a50","impliedFormat":99},{"version":"0a0bd6b6fcd60d1165cee9bf6ef911a0d99508214386152d8f2e1e9ad6b0d61e","impliedFormat":99},{"version":"cdd20c5393a901a75302ba47d99425905028f9755c8469cc2641ed8cab9198e4","impliedFormat":99},{"version":"ad4d3582ba33d300a03f929ebc2a14239ab5e1f9aa8b555b4aa6533038ec20c0","impliedFormat":99},{"version":"73b50f5889069014a3063ace1a2ee649b8d64b5664302c10856a7a7ef4c8a404","impliedFormat":99},{"version":"a34c55195ac6e244b0d31f62f0c56545fc8a5e95fcb2b13e5e14fde434536dea","impliedFormat":99},{"version":"f72da096641226a5ab0556e1f4fec5406ac536194a3048d107a10a67e7b9addf","impliedFormat":99},{"version":"52d28c311133f70529f3e34c139fef3976b851b49390217059f743e927ac2aa7","impliedFormat":99},{"version":"6e998866598c2a811ededdb103763750fe3b763d9553ba9750ee8ed4085f6f03","impliedFormat":99},{"version":"e725c7b2ef6718b41be54c450d8983e346a923ecd54ec0d17f53fbfdff6bb11a","impliedFormat":99},{"version":"5b10dc5b06ad30df43ea4df39181eba3c68715af0fde9124fcc0943e40d50c92","impliedFormat":99},{"version":"2567af91666fc79d94fd70a25d7bd13ff340bea3bf677d096e3072c53d55e09f","impliedFormat":99},{"version":"0559c28b4b44c127446a6a528ad2ad5986153c17a667416fcc053f25af64f99d","impliedFormat":99},{"version":"c7ee05e266d06aa759dc6e3e1d6f9fdab337cc39cc3924496b2eb7e472f2f830","impliedFormat":99},{"version":"b06b851cd2fb5d33cfa6c4d12fcb4455898a4c270b20c87c8b119b945c64e1c1","impliedFormat":99},{"version":"a21c78c299f733901aeabd0d9c70115af96ba53c4703362e36acfd5cc32f2d26","impliedFormat":99},{"version":"93ccad407f8b531feeadff9a8337309643fb2b582d4960df8ca33963fe48e345","impliedFormat":99},{"version":"ac036d642dae91d521f48564b87903404bd5d25ea9adcdff3dcde7b34e8120ee","impliedFormat":99},{"version":"033de0ed908f278acc13eb5ad6e7c74ebd6eee9bb952a909b3408300bc0f2aac","impliedFormat":99},{"version":"26b5b5171b6239b01fc878b20a4c46fe6f30ab4c2600f6e0d75f17a0369310e9","impliedFormat":99},{"version":"ad3935c73e8fbcb9b36770aaa55edf61034a8128f434673f2e9770181c4cd517","impliedFormat":99},{"version":"ae46e99d567b4f131dedd3bda872f86836aff70d37a80c7ebc2469cc7ad774ca","impliedFormat":99},{"version":"805544b983979e4ba24049f35b59f1155470c38298c9bf64520d2ba602289d00","impliedFormat":99},{"version":"f8281fad02736e3f7e2475b14bb15990b00b8358b5767a0e7dc3e774f9bf81e7","impliedFormat":99},{"version":"a380cd0a371b5b344c2f679a932593f02445571f9de0014bdf013dddf2a77376","impliedFormat":99},{"version":"dbbcd13911daafc1554acc17dad18ab92f91b5b8f084c6c4370cb8c60520c3b6","impliedFormat":99},{"version":"ab17464cd8391785c29509c629aa8477c8e86d4d3013f4c200b71ac574774ec2","impliedFormat":99},{"version":"b026daf5c00c8f2abdb49008322a7d51fbadcd7b200a99ee7a4452dbd40f0420","impliedFormat":99},{"version":"e130a73d7e1e34953b1964c17c218fd14fccd1df6f15f111352b0d53291311bb","impliedFormat":99},{"version":"4ddecad872558e2b3df434ef0b01114d245e7a18a86afa6e7b5c68e75f9b8f76","impliedFormat":99},{"version":"a0ab7a82c3f844d4d4798f68f7bd6dc304e9ad6130631c90a09fb2636cb62756","impliedFormat":99},{"version":"270ceb915b1304c042b6799de28ff212cfa4baf06900d3a8bc4b79f62f00c8a7","impliedFormat":99},{"version":"1b3174ea6e3b4ae157c88eb28bf8e6d67f044edc9c552daf5488628fd8e5be97","impliedFormat":99},{"version":"6564db88fa4cf3bae5c8e0de01c701c6228eaeef1118b4ad6a49a8aaf8556350","impliedFormat":99},{"version":"9c5a4a21ed5686b2ea080557488b966c3aeea641ef1aa8975a10e5fc59dd569f","impliedFormat":99},{"version":"5585ed538922e2e58655218652dcb262f08afa902f26f490cdec4967887ac31a","impliedFormat":99},{"version":"b46de7238d9d2243b27a21797e4772ba91465caae9c31f21dc43748dc9de9cd0","impliedFormat":99},{"version":"625fdbce788630c62f793cb6c80e0072ce0b8bf1d4d0a9922430671164371e0b","impliedFormat":99},{"version":"b6790300d245377671c085e76e9ef359b3cbba6821b913d6ce6b2739d00b9fb1","impliedFormat":99},{"version":"c92c9dc7415bf7969931ac5339f21c65687909b32d05ac89789b411372e52991","impliedFormat":99},{"version":"a36c717362d06d76e7332d9c1d2744c2c5e4b4a5da6218ef7b4a299a62d23a6d","impliedFormat":99},{"version":"a61f8455fd21cec75a8288cd761f5bcc72441848841eb64aa09569e9d8929ff0","impliedFormat":99},{"version":"b135437aa8444e851e10cb514b4a73141813e0adcfcc06d702df6aa0fd922587","impliedFormat":99},{"version":"cc82fa360f22d73b4cc7f446d08ad52b11f5aba66aa04b1ed8feb11a509e8aff","impliedFormat":99},{"version":"466e7296272b827c55b53a7858502de733733558966e2e3a7cc78274e930210a","impliedFormat":99},{"version":"364a5c527037fdd7d494ab0a97f510d3ceda30b8a4bc598b490c135f959ff3c6","impliedFormat":99},{"version":"f198de1cd91b94acc7f4d72cbccc11abadb1570bedc4ede174810e1f6985e06e","impliedFormat":99},{"version":"83d2dab980f2d1a2fe333f0001de8f42c831a438159d47b77c686ae405891b7f","impliedFormat":99},{"version":"ca369bcbdafc423d1a9dccd69de98044534900ff8236d2dd970b52438afb5355","impliedFormat":99},{"version":"5b90280e84e8eba347caaefc18210de3ce6ac176f5e82705a28e7f497dcc8689","impliedFormat":99},{"version":"34e2f00467aa6f46c1d7955f8d57bffb48ccc6ad2bbc847d0b1ccef1d55a9c3c","impliedFormat":99},{"version":"f09dfae4ff5f84c1341d74208e9b442659c32d039e9d27c09f79a203755e953d","impliedFormat":99},{"version":"e7878d8cd1fd0d0f1c55dcd8f5539f4c22e44993852f588dd194bd666b230727","impliedFormat":99},{"version":"0d22b18cb407b03331edf3413b93e568da71130c906fd69911090df2abf55414","impliedFormat":99},{"version":"2a39f2a7f99dba7a6ec561378d8a1f2e9d2761ac272a006777f78825822fc419","impliedFormat":99},{"version":"ddc0727ff009562bced85c9e7d55b29fb2a5ca23598350eb16299e57a3516a4a","impliedFormat":99},{"version":"b8fefeec475a9f1e78e1e5ae56f7fbc77ae5fb9b8494a8205360ad4b304a511e","impliedFormat":99},{"version":"fad5ca404b01ebde453f9cd5aa80353633878e7e1e1c22ad4a77fd841a49c922","impliedFormat":99},{"version":"64155a3d9cb589603d04c37f1327f91d640f9924c999d4f47284e7a5eec5cf55","impliedFormat":99},{"version":"b1727992696e552fb934bb72673da49085a9eef76050e748448c1e0c2568f63a","impliedFormat":99},{"version":"4eae6595d59a0967571e022dd63f99f3fcfe624e50e17cd26195412e16f22549","impliedFormat":99},{"version":"b62a3b99a2544eb853035484e4e1c71a7675ffc4a4e375fc3c6fa89450f61293","impliedFormat":99},{"version":"b9d571d39d729a623a60d6fb7318e49e41b32e94935ffda36103b43f7d824c5b","impliedFormat":99},{"version":"00f37073c33a43720d2e2236e4dcf43fda3d2113c66703a22a82c066415054e8","impliedFormat":99},{"version":"04bc73f52fd9447154bb396f89640f90434b084939ad22f16b42b2b967d21cde","impliedFormat":99},{"version":"2f6c7cc2633c2a3e4f51aaebe5f07efdfa04405697b7d31c8f7dc19997747521","impliedFormat":99},{"version":"abef69ad896a9e33bf221b4161d7eb3710c30c9cad6a7b6b053df043580a6f43","impliedFormat":99},{"version":"3e7761d82206ddf29dda7f2c1b169b205f4707e043eaf854fa3908dd7e5b0220","impliedFormat":99},{"version":"50ce52224dcdc3d9a431a5dd08f814c76e3cad3100f7a511cf9f0fea3e022245","impliedFormat":99},{"version":"7461a12eefe80a0dd858e8ddbfd3ee2af7627c64aae2c58f8cc3a1f1810a0300","impliedFormat":99},{"version":"d169dee8be7c5c62179b381a7d823d874b0c218604db989d25b8493e3ec932ca","impliedFormat":99},{"version":"26e23b6bbe7b0f8686e4374c69693b0925538608d3af66095fcd5a4debe99cb3","impliedFormat":99},{"version":"20d89ee7150b3ba09c98a1ed855b9dc55d0d883095cc010af0eeafbfe0b60cd8","impliedFormat":99},{"version":"cedfd67cfe921e49f0743aeefc7d93564d2fa7b34d3cf0860f3488ebc4e0e057","impliedFormat":99},{"version":"c048e95315c9725df4687c03b21980f12e9a3ec8c288db45233618f5ce685d27","impliedFormat":99},{"version":"754b10aa3bc061c937bec5e3d2f825e4211ec72ccb94f5aebaefb765ab80c56f","impliedFormat":99},{"version":"95f1648d8c0e1094e2375fb3531a4bad0a99adfc619832fec800fca6934095ce","impliedFormat":99},{"version":"c363c5eaab6f4ead856243f0734d0c320d3748ec777fda05484e17258b515cbe","impliedFormat":99},{"version":"e5bf7408d2d66195b132ae905b89f83d660dde24a588c3d1c43dc000bd5fcf71","impliedFormat":99},{"version":"b3bcacabc80b752dd496e7d154e4707b79e755d2e9d0547e402e6d3fa0326c9e","impliedFormat":99},{"version":"b11aba62a6d6eba8f5487182096d8615ca8d5d5b8a50c99bb0f0717ed7e061b2","impliedFormat":99},{"version":"761bd09a063914a0dddf95c6e9203d769487f1aea46a82ff1fd96cc0ede2d32f","impliedFormat":99},{"version":"cafe5ab7aa61b213d16cef121e65269dcda6607462c5762ef21124c1fb2d644f","impliedFormat":99},{"version":"7a43534274fe9532fee5414984708a56f0baaded902466c2eba2cbfc601ae20e","impliedFormat":99},{"version":"1cff175af3f1ff70546a36d9f2f118451df21e2d59bb837ea6b3cdefd5e2c7bf","impliedFormat":99},{"version":"1998b2e12b3de685ce74eab487748303705062861abe695beae5adb3092cfb98","impliedFormat":99},{"version":"11f999c38bd526002c0809a8157c366d032a0d46314d54c9724302140c5f32fd","impliedFormat":99},{"version":"607751697c8b64c78e2a3e89225a93cfd6a7f2c4399197d7c6f52f2a911d5522","impliedFormat":99},{"version":"c12bfbef4bf57182e240a916ae15d017defdec55d2920a4d08644563970b2036","impliedFormat":99},{"version":"1d7ad8c09354264ec80cf989015bd4bf232c356722d935c5ac38bbb83a6aafbb","impliedFormat":99},{"version":"6b821199f43755f7be315b84ede22b7e51fc91e98b01625cc0610042719cd0f7","impliedFormat":99},{"version":"4e8c57027a125d5d221b6f306eeff8443142bc9a0b1113c7c5de96478c388cc1","impliedFormat":99},{"version":"128dc4bc5697686aa6f876fd5ad6fae6d19a5652eca99f874b40a8afba6057d0","impliedFormat":99},{"version":"df09e59ace0cf7fd8e3c767b0b8f3d5b2212bd40d4e9dbf49a388526ead5e545","impliedFormat":99},{"version":"03fe713f6d3e69f47d4871545b2cd40e1f714b11e3945f6ab1e05361cad19192","impliedFormat":99},{"version":"25ea3ca113eb33c517ace8bd6555e8caf1c99d34dea7b3a48b074bdc5e7cc735","impliedFormat":99},{"version":"d5f83721da8ee61cd1620f0e4abc9d60453b4ef0b25945172bbd478ff6e3adcb","impliedFormat":99},{"version":"597536b4c8e7e309dd823f61206ff169ca90a3d68245343a5226a8d20f7a9ffd","impliedFormat":99},{"version":"cfed3c4118baa2ae69ec0da47b5fa722c49e5915c1cb7ffa8d5b53b678b641ca","impliedFormat":99},{"version":"3b5f9ed01add914f4bf2220544cdd4099583c2a72895b2ea495e9284be88b894","impliedFormat":99},{"version":"575425068684056c113b93ec316870eca50195835f04179630997e7b075164d4","impliedFormat":99},{"version":"aa0af7166f48f67765f96dc70c1d7f9f55ae264b96cadf5b6077b2bc0aa2b5dd","impliedFormat":99},{"version":"2fc9c7c6695b151ffd3ed667d6d793c2f656461978e840eff1d1350fc0bb1ebb","impliedFormat":99},{"version":"4d590f0e0b4abaf693f94d08b5c414928f2571aea5ac6efb97e4646e195dac48","impliedFormat":99},{"version":"bf1655c135bd654637f98f934f9a9eb4d6450194ca2f4968b79263608da59fdd","impliedFormat":99},{"version":"1ebe079cc9ed9ec4cd11d02c70f209caf16e9dd8e1e801a36648ce711bb3c404","impliedFormat":99},{"version":"b9a49ec04f7dac4bdcb928894d3c6bfc15a4ffee5f14d4b2bef69069de2b1d25","impliedFormat":99},{"version":"d2554dc921a526fc29600ef66da5d37577ce64557eaceebdb2b6170776051ffd","impliedFormat":99},{"version":"1fffc635777e6b7edc2caf5e8473fd161ba8fe5605ae84b64746a2a34045e6e3","impliedFormat":99},{"version":"f6f35852e407d4c04e578478e743c8101227037abd405ad71564e8430d4e4c1c","impliedFormat":99},{"version":"0e16f517285c960f284ff5367c239c24e20acfd3b3aced00d7842c7cd867898c","impliedFormat":99},{"version":"063929189f06ac3087123f98ce8736eea5c2a4cecbaa46c54b58118608fb8708","impliedFormat":99},{"version":"95e249a5d61382550bbf6341cb31a3114b0c10c232b0fbac97da74f83275dbab","impliedFormat":99},{"version":"34880c694bdb6f266bf484dbc60bd887890ab1c8d6807459fdf93f6ab0b0c792","impliedFormat":99},{"version":"d490c69a03b97298294b4d2159175f2f9b62a7dfcd81efc63ea3505c60fc0ac8","impliedFormat":99},{"version":"c0511c2a0a6ae726a66a0b25336fdc61c632c6c1505eb0bbbe1556055fd06919","impliedFormat":99},{"version":"bbd577f9d34a868d751e14a904401a6a026de322bd0f7cc7d51ecc585b57c6e6","impliedFormat":99},{"version":"e06f1dbc167fd37808d2f36aee8ef3bfae734d13fc4afcd9994072a30099df0b","impliedFormat":99},{"version":"7e0693b9604ff4fd358a2f21db90982fce11a4ff216eeae85e326f108d648d68","impliedFormat":99},{"version":"69d5a40440e664ec9493c61169414208472583f342346fb31dcbebad23c6a780","impliedFormat":99},{"version":"3d1efa91afa616c307864fa93f9e7777672bf90ac79c16936969efbc6629cbc1","impliedFormat":99},{"version":"722d99f854a33867a3397fe397924c0de326741e9d7830876481ccf87643a133","impliedFormat":99},{"version":"6ddebf5efb47d10d48d734f855b5cd13772de6d14b50779a17590afa30fcaefc","impliedFormat":99},{"version":"0c4e55d5ee917d3efca585b9eb138df9eb9cd38ec5a8ab258fc0e4fe8d54abd6","impliedFormat":99},{"version":"a41283ab6303ab1d21729da5723952e1b7d9d1bf379b9cce09132403f6f0f07d","impliedFormat":99},{"version":"1557f6fa35f1fc5d23911982761a7ddc4fbe9322eda575f6dadca8d5515e0cee","impliedFormat":99},{"version":"ded4768515ff723001ca99221ec8a7b751a4f90af8be95c885ec8a21efa548d4","impliedFormat":99},{"version":"86a6b6352a6a47fa8698f68119eb716ea951f541128d108382137e3d85900162","impliedFormat":99},{"version":"b9e6aa9de64cbd004d2c59ad79cff12a5d34406153456b869eae6b1d8f5bbb61","impliedFormat":99},{"version":"b864079910dbf273badc3367d21910e6f8887705defda6d51882084ef5b6ebb5","impliedFormat":99},{"version":"5e1fbca4c7648ff481cd7dda46ca8651239f4898bbed3d5066b8d6db0f60c555","impliedFormat":99},{"version":"0fd72d2cd43f9da04478aa6cbb922c27fda6b4a0ca7235aee8f6a933941bae92","impliedFormat":99},{"version":"28a5fc04797c6992303791a4b79ed99431bf2af90b77842948e3e8bc0f681d97","impliedFormat":99},{"version":"20a397ebeea68a193465caeb8f1b3225c49c6bdc4545a0ca6521fa684ef2fc5b","impliedFormat":99},{"version":"9edb51982e31faae66cef7076aacce409cab4637f0ec6e6851331fc87d9fa872","impliedFormat":99},{"version":"8a954a3b53672645d10a61e617272cd309bd7dc442f914427291ea8a2cb3c599","impliedFormat":99},{"version":"69e56ac933cbb0a62cbed3436a44068445460c3a246ae5b7b70e010dd3d8e0e5","impliedFormat":99},{"version":"dbafd3b17be2ca81493a6d6daf7afb6d04b83dd3b80c556ae5973e9a375aa6ff","impliedFormat":99},{"version":"8ea7264ce539f97f4720250a14695a1f82c3ac33ed66617991438cfb3d41947f","impliedFormat":99},{"version":"abf4fe7ebd8771a5c9d963754ae0c088c159e0e12ff77ed2e48f69d86ed50be5","impliedFormat":99},{"version":"050985cfd782bb62131bdc040cd444f65bbd35ca1b45e3eefde79ef713ddeb1b","impliedFormat":99},{"version":"cd935cd60191b79134684160cf08d5ab555512b7befd5f88b449681f7e037a3e","impliedFormat":99},{"version":"5e61341da5f93b211c8c11f6ca709a2dda33feded2cb3e1481d0b727aed23cd7","impliedFormat":99},{"version":"3df29fc79cceaa80012df2005f745c1b635a41dda0766ddd29ac8e078c4216f8","impliedFormat":99},{"version":"bb8aac29b972b3826d70b106373ed2600bfa8377ddd5672b0b5e256f361acfb9","impliedFormat":99},{"version":"721e984c6181cf2f1587226d11d2265f5bd1450da58e7598845ae15cee0465b4","impliedFormat":99},{"version":"bfa5dd71d432e277bbf3c44b3dd91db853fd833da21f43cc3a0a2dc324b7af47","impliedFormat":99},{"version":"987f95fafbf1296cd653459ac69b3a73cc4f7f37f38a1c769902bcaabd516452","impliedFormat":99},{"version":"5f3f4c3ea0ce78180d0482cfc808410092b441b727bee9a26d26ef09decb64c3","impliedFormat":99},{"version":"6b1c226b8c0d272c37948df86f81f100157b7cef9d97d2651f1d8e740a2be268","impliedFormat":99},{"version":"3e1e6a7a6e3d0615d046dd62062c557404c9e1c622dfbef4fa83d17c628e314a","impliedFormat":99},{"version":"ded6a76ae5fa6fc3f7f860a187f3b1c81b5bafb953be192501a937307dc739b9","impliedFormat":99},{"version":"8ee4717c4ad7d5976ab1bece799c68045b7b346e274d7774e86ff394cf867d47","impliedFormat":99},{"version":"a9e3299c6098d323bcd9787e2ac5e4d74457e5427c305ebd432e52ed13dd23c0","impliedFormat":99},{"version":"3b8ddc84907c11d89e5240f8299e87fe506a1c18764fb9d546b02f9e347f93e4","impliedFormat":99},{"version":"4b5186a238a3fbfeca1b14fe6b234b8bd5b93ac89a47984715f76f8919e29d96","impliedFormat":99},{"version":"dd693a36f441a1337e9a34b6da2cfdc53d7cd9dbf0d1cde334cab196c3e6f17a","impliedFormat":99},{"version":"e284b0d144003a25e3b7da92c55d80a085531c0c84a77a62f1a3e2bfe82454b1","impliedFormat":99},{"version":"e09a001b1588cde9f5e77560730c5ec6ea346ea09da2d65b3a02629e390d0923","impliedFormat":99},{"version":"77a38dc0e4afa289c6ceaf9121c7718fac9231904ff5f30c0c1201524fb25f23","impliedFormat":99},{"version":"2505ab6e616e35b2a63dcc8cafd3d6092c6e0109b206cec1be7d80cd450cfb7e","impliedFormat":99},{"version":"c2d66e86bd5f13ad098ddb98ab863bcf0d15b323cc9bce6ff56e20eb50648926","impliedFormat":99},{"version":"1959affb5ce54dd86a2bca9ba087da5a29fcd1849eb1710f1d6807512ac513d6","impliedFormat":99},{"version":"8ae1ca3c5186af2c3a6e979998c00c82a363d024ed26a8bcb84a6ef21878d4b4","impliedFormat":99},{"version":"05ec4ee3055f601ad3f932832a0b7fb5842fafa6d3a4f29b200c49e0c8d36bc4","impliedFormat":99},{"version":"cf0430d48488f45abbb7184e36b580c1933cc8078581c038583e16cdfa80863d","impliedFormat":99},{"version":"aeb0806490c71f371a75629556f469419997367aafa673ae2e86705652f39227","impliedFormat":99},{"version":"b445ce66b11750fb2172525591647d30b75ec8d003a93ee3efc12954ffb8d5ec","impliedFormat":99},{"version":"a36860808f7994a6ce2c965e11e7a971ae9b438422ffefe9471ed4f3ba3ef3f6","impliedFormat":99},{"version":"6335dfc1f7c285b25ca643890becb12d22fd24079624d91b660f31a3ef130f8a","impliedFormat":99},{"version":"e0e3a4eb638ceb6583ebfa8a83fb27d5ca98ba93ce00d396dd09d41630834a68","impliedFormat":99},{"version":"54927a5dc7fa2c1d7b8232c756d658d051f2c0620533c4048343e671d18c7983","impliedFormat":99},{"version":"8ff6d24bddad8f2bb8ac0ae129760dd1df427765f4f6199390347c0009ff9b48","impliedFormat":99},{"version":"25a0403b5a28416593fc09c3e5150e981c742afedf0b6e423f8a94f1351352c8","impliedFormat":99},{"version":"0db51b9c351d7c2313296e5879fbad8f20af8b9061885c8590ae0216ff6154a2","impliedFormat":99},{"version":"1c6454d7f733067337f1685a06c4981a78d1925ae0381bcd09f2c43b73755aaf","impliedFormat":99},{"version":"fa7cfbc437c87d93860a4a1304a12e8fa9a28a24695e1f4c36d266b4cbdf4e7b","impliedFormat":99},{"version":"4afe4410e572d10448fb1f7f254bc2eca329e00180e75529be8b22465718b2c4","impliedFormat":99},{"version":"6d57f0ab1e858b12895e1eca5e6f407a835c13038fadd5f85134740e6e32b613","impliedFormat":99},{"version":"5d6ef65ccf14b0d51af503adffccdbaa846848cf0fe82310816cf82eb364d107","impliedFormat":99},{"version":"397a17567b445fbeed01f58163c2b9667638ff815881f349cffec5ad30844905","impliedFormat":99},{"version":"4bbac0cdef9e2f41b2d70826633298df274436caf011a093bfc1bd57dd2269c1","impliedFormat":99},{"version":"38bc1e63328558fecd8e2c3f9159ded06a2fd86059b0a91e93f11aeebeb1f177","impliedFormat":99},{"version":"e4756baf25dba2f6660043ca4fc6e36ab8d31a0c34d507624d8a12cbe6ab9b30","impliedFormat":99},{"version":"4be799bfee1766047c11b3b5d371ca9e3993526d50c3e276e7cdb3943dd680a6","impliedFormat":99},{"version":"513f887178e2df3ea70340c20bffc633827c2f0a4e1340a4176eecb6d3c5a4e7","impliedFormat":99},{"version":"7b6ae8994d485350989d50cae27221f2d9929d60677b8c5de4ceb81baf480d3e","impliedFormat":99},{"version":"7adc87c8c1d3fdf85652694a636c6e032b7ea76335de7a110ffb215970d9b1f0","impliedFormat":99},{"version":"27f60ec60daf015ed0510587fd37d65818c085d47f320f03e2178e80ae1b96d2","impliedFormat":99},{"version":"69f868104a0f83fc97451cb143d1fdee65d6133442e585048983a8e27c6dd4be","impliedFormat":99},{"version":"a4fd1c983504d251988ad2e8629dc110228a591e1bc9f85e57b35895e8141cf3","impliedFormat":99},{"version":"8e82daa0bb799f366cfc646fcd65e507d3db4921082426dc45b78cedcb60f71c","impliedFormat":99},{"version":"a2f99636b48361b7e10c232cdeeb3aede976279f950b7f84e8b970471a0dc606","impliedFormat":99},{"version":"e31bcde9cdc47ff503a45bb8d68c38fd39039b06567c8017021f9116e31ecde2","impliedFormat":99},{"version":"bddecda3271cc5aaf904e94c2b65c23cb7528e27567ef31d1302bc8845374e56","impliedFormat":99},{"version":"23306c0e57b32fdf724bb0aba128d0023fd57b856490b1cd69bdc0de2acc334a","impliedFormat":99},{"version":"4df175087aed418f42fd5cf507c1f57f0972484cadbe0f6c38cabd0c6b3576ce","impliedFormat":99},{"version":"df51e368f1e65529fd132dd67c8312f21b644063ce7950e8b820905d70b28eb7","impliedFormat":99},{"version":"74d10836d7259d3a664ed517a3c8547003e1de056d85b8e324a11dbca522503e","impliedFormat":99},{"version":"b020142c9cb2c061e119c6ebc1712f2e66a68968657f4867332789688c706189","impliedFormat":99},{"version":"df08a61b7eb2b11b4e9c771cc3b538f3fc4260c170f8fd89110843323fac2ba2","impliedFormat":99},{"version":"acc1e28219b83d788ef0e28b8d7ff1f3a8fc7df6a49ec141402e044badc84108","impliedFormat":99},{"version":"3552e9ab64219d9d980f9406c354e620f04ca17944459d4b23c62d472d9be2dc","impliedFormat":99},{"version":"e9f94a086b52c2f522f2bc9ecf7539d7bffc390578cc41db9547005b93df5d88","impliedFormat":99},{"version":"a8f5b86c67a9c2774ccdd1db31968ad888fc41ad166a5d5d066dbe86637b2f66","impliedFormat":99},{"version":"5c25d35c4bbeabb961925d2b114602191800afb4d4f164e45979dd2c83f965c2","impliedFormat":99},{"version":"8b989bf267ff6ef7a00f318e95794bcefd06cda44f3cffde905ca579d17acad5","impliedFormat":99},{"version":"f3983ffdad35bf9234e36a691bf959934b723134c070fa5dffccffe046009e2f","impliedFormat":99},{"version":"2d8c69bb71790264bc61c5858afcfd00d5bd7bca6c9c38185f07896661053790","impliedFormat":99},{"version":"0396db572d4384fab79c5ad3b2cf330f167496da87da0e61a3f55e803f0fcc4b","impliedFormat":99},{"version":"9eb195a59362d107cf8f1d92d704fcd034bd92796f72cf031ad0525d88e36d4f","impliedFormat":99},{"version":"b60a1aeffa207842414020d16c86854f99bebff51832478b00451c1770fc9708","impliedFormat":99},{"version":"178ae1eaa5cd24618fec31c62ee6b66f5f57d76b075d9d8b34cc0db5543c0fec","impliedFormat":99},{"version":"4f31b5dbde1dcb81687ef4e06c2636809f6a0517615876bc937fa266f42e87b4","impliedFormat":99},{"version":"33d7dde5b3614d1f000ab11f9be2cb0f032615b726ca8537afc272db0b522a7e","impliedFormat":99},{"version":"97b8ea7292ec9f0828af2d58952ea17497a73943eaa0a2dd3046a4e07a530c61","impliedFormat":99},{"version":"ebba07507741f7d53d05cbb59a8dea0b3b75aba278810b4d2696776f95b779e1","impliedFormat":99},{"version":"5c840682cf2d211808e4f0dc5cd32da409352e8b3d11d7e9ba25c92796932cdf","impliedFormat":99},{"version":"f278958ac0fde187482abb825e61be120427e8aecb42a9155f0144767a29a358","impliedFormat":99},{"version":"cf35b9aa3b45b2098ec7033db87d004913ac7bf1ce52c9c8154fa86477e9046e","impliedFormat":99},{"version":"8002100726ad65ae695ef88b091b9c8cb73e024eaf23b31d228a5a8ce19af31f","impliedFormat":99},{"version":"f7a7233cef5a86a5c2c5e4dab11b46e0688707bd066a80aa5249e6cd6e0211f6","impliedFormat":99},{"version":"354126b46c623665e6aac86b6deb693dc43499dbd71bf655aa5f6bcd7753dae0","impliedFormat":99},{"version":"1f1d4396e7a118ba9e1f49f290b29d0aa946e91fc8180909b1d64b2998b08953","impliedFormat":99},{"version":"534f6fde91eb366097dbf65174356c88c2726d513c55f0f60b2098fc3f6e87ab","impliedFormat":99},{"version":"bc8d8ff31066bbfb937d223a528d545abfba45a0a646b141e2a15dd1948026e9","impliedFormat":99},{"version":"8a03c390eab5e99798e3d24c1d86a9b0ee851d315c0cb7480b42f6a49338d694","impliedFormat":99},{"version":"46b25c26bc3816d779c0353b3c1f6b83eeda1030b99401472a4341a9ab94138f","impliedFormat":99},{"version":"0ba4da683fe4d459827bca4e9c2befc46b9fe589353a08d874440dc6b1119df9","impliedFormat":99},{"version":"a5ed548aea7fdd435b68149641d20d0c823ae4341afc4c5c027d246a321e358b","impliedFormat":99},{"version":"c831a507ce1fa56d927c77b0296eaebbe63208dc2e10bea30ee19c19d3832ac9","impliedFormat":99},{"version":"0e0775f99d5750b8ea2409b6d5783ecb7465552176022512c4ab695e2cc07b25","impliedFormat":99},{"version":"998b22c2762b4c5dda982144f4273439478216601e1dbf607f8da50f90028302","impliedFormat":99},{"version":"de07059049dbb4d7b800fad4f5919c62c0c572d021f2cde9b4cb92d9d312464b","impliedFormat":99},{"version":"b006db5c3868f18e051c60c815dd8d18b42f0bd1f2a4732e8baab08e56443fa4","impliedFormat":99},{"version":"f6162b05c0a5b26d3446503c022652af632a803010319ff6c65ddb425c88c1da","impliedFormat":99},{"version":"ce99d9af9d4091b04b4c2266c06f38d7f39e5614616973e0d17f01a36212c516","impliedFormat":99},{"version":"d78d9cf92e8957b87ff73a5029aabd2f591a40f4b915af5566122824a328d451","impliedFormat":99},{"version":"afbf6dde412faa5825df13ab00b8eabe1358558603d6e4c34b4ff83c06128500","impliedFormat":99},{"version":"9468d74878264e4ed6214c0127326482d3d81d8b39c2ffb3ef0887348cfc116c","impliedFormat":99},{"version":"5d761b75b6780d20af311198f88e4a894243753acf28338ce7cc0cb1d5e3bfca","impliedFormat":99},{"version":"4c02021950d7f559417399582f74b4f23e7acf96bf4abfc8511ca9f349e7b090","impliedFormat":99},{"version":"f05da64b51a564bd57764011df409a699928b2b9e018a9692e06d5a3e761a8ae","impliedFormat":99},{"version":"448a1d960c3243442ffb6ddec7087a5dbd062a8b2fdbbc39f6ced3f5b7dd1cef","impliedFormat":99},{"version":"c01a88ada696e9f65a4dd8248bd9a568a3f1ce0c2eaa5e7f8696a2c3b3573654","impliedFormat":99},{"version":"6ca73337f9333cbe5e31c1e03fee42dfbdb119e7fdf991e8aa96767f4696d0b3","impliedFormat":99},{"version":"9235105279d1e63c87e3ea34fb6b20eb4968d7696c4783236a2d8ab5e924807f","impliedFormat":99},{"version":"fb3a41f5d7c41e4195119f98b0df0018e7e04a1b025d7b10ed82741f65c0493d","impliedFormat":99},{"version":"bf21257fb910b2a765ad8529cb457d0d9eb99d8d14ef01836bf04422c185f230","impliedFormat":99},{"version":"9dfbe916e48a8172cc0db07e20248214755205bbd16cd5bc0672dc2cbd80a429","impliedFormat":99},{"version":"cfb85bf0a694c3e0630400fdb2c1f135132b500c152aee6b9ae9d842637378f8","impliedFormat":99},{"version":"2067e20e971aec9f9c3b7a80aa3f2ce908fa690d29614956ab939d4137527d46","impliedFormat":99},{"version":"469bd9ff94e8ee2180eaa7be310e626022f4b97990e01fdee2cb681eadfca444","impliedFormat":99},{"version":"9199cfe666c63b59bfc7a0215ad7b834165e2c8678769aa29b6b15d4035dd874","impliedFormat":99},{"version":"75c20bb61d4944a90fd9fc4d79be814af84552497a30059d1f4a5979e338b576","impliedFormat":99},{"version":"e36d57187446a9b265d011815e80c5ac2d31cdd839e5dfed3cadbade9d63084d","impliedFormat":99},{"version":"ff94c04aacb366b85fa01b058ce27e3f2a26305e87a512b6472013f3951a7639","impliedFormat":99},{"version":"f28c4909885c804c93aabb9561ef520ff620576369eb310195a7a6bbb8d9e587","impliedFormat":99},{"version":"e971398a29ade533ddc2730c360a22672144389e077633fc950660f4c4d9d046","impliedFormat":99},{"version":"52677e8175f66b1d6b684e8249f7b12af8932267f0b2f363ab973fb94ee4d319","impliedFormat":99},{"version":"d1e84e4b4b53354c6333f50ae4337b96f1004f28875d3d7b3800cdf79b0ffd4c","impliedFormat":99},{"version":"a9f319a6a5287c95b72c37b461e0f70f490324cc4a55d71378e2a37f1ca67adc","impliedFormat":99},{"version":"df7c9a0919ac54bb69647b916261beffb40d84494f9cc3e68fc7927a79ccb64f","impliedFormat":99},{"version":"30a24fccfdf6a40249949b222a11c755421b9479bd68a96ee97413540443216b","impliedFormat":99},{"version":"da0ed328391d742978219a5ab07decbdcd353bbdbc87708a2176afa971056a3d","impliedFormat":99},{"version":"14a5746786128a83561f1d719290db89ed9b225e42959bbe0023112035a6e0a0","impliedFormat":99},{"version":"71db39385fc6c5eddb6cc70b1b68920b2aa06cd85ca4a95b1de585e127984881","impliedFormat":99},{"version":"c9f95e2f5326df254b2c867de54f7264763065fa4d29f5f9d10960d97352afcf","impliedFormat":99},{"version":"59e6446d76c9c7a1cf516435f942c5e122b3fa9c80d4962c4eeae63f3bb605af","impliedFormat":99},{"version":"ee28654c6c98fe6b359d34465dbe1f9798d1e7a6ed5ece29daf19de11cb8323e","impliedFormat":99},{"version":"68d524e37e75f230102cd0444befe3e17a8c85438060a552322e7e400519f2c3","impliedFormat":99},{"version":"282d6f2f2150a26e8c5cce93eaf68e829a8683171ba13e92ad7dc8b28a12c623","impliedFormat":99},{"version":"34b95fa727e92d0a2fbe45e37352127297aedd9af64e56dfb324ff1280517f3c","impliedFormat":99},{"version":"4d37c6842a01d7310940ed2d39cfd4a8d63e7676d1113070b3cd725131347844","impliedFormat":99},{"version":"38ccba9a0d7f301e4b590f7a52de8a8fb12e9edb1de6d7ede6a8843176abfd54","impliedFormat":99},{"version":"db4e72e734c0d11d2051dea52f678270eb423be4541e3c39ede40bd29e733484","impliedFormat":99},{"version":"b6fa5f1295afc4b3a9bbae107ea00d1fc37956f25b846338916cbb195515a4e2","impliedFormat":99},{"version":"4b3e07d081541bd9f0418c1963a44b02a65923b6de04d6ef7bfaab8e8b1087d7","impliedFormat":99},{"version":"438659c94886ae81435567673c83b61937048729da03385738a023174cbff051","impliedFormat":99},{"version":"63310e90fe40fb7a431b9ff640d54b70ef30d31b23a634890799569521cc2a02","impliedFormat":99},{"version":"911e8affa1bea9b54a8926ce39295e190ba3e5e36182c7808c3d657fbd77d705","impliedFormat":99},{"version":"02353129e38fd07cc487b5f822ac710ec117e43e479e9f9f8039418ed3291ff5","impliedFormat":99},{"version":"54bd44d1d220488406919d2ddbdb92cef690c8ebfe41d2cdc61a8aaf26d6396c","impliedFormat":99},{"version":"790d0cef4abbfedbde0ff29c9a1865d5ed8364e9e251e25bb13794d30c13ac4b","impliedFormat":99},{"version":"88f2b0ad065d1ff42736c1efeb0e14061b3091d9376c272672be3f27d167a152","impliedFormat":99},{"version":"81de941dc5851bd7ce1e8f81d4d31db1e035de774e571947f8d03b351fe9f764","impliedFormat":99},{"version":"fdc68f982f0c7b074e3787534a5137c3f9d746edc323efddde286931ceb9c954","impliedFormat":99},{"version":"be922b6a92064b78554dfbf46decbddf5a0b023f49a656a7865e17ab0bf710c8","impliedFormat":99},{"version":"609d27139ad9aa20641c466c993b2d8f8c413296ee814b1afd79f48bd809a0f6","impliedFormat":99},{"version":"176b071fba5783d15078411e7c0753d2a874dc0ba0bf334c402e358b59e78f54","affectsGlobalScope":true,"impliedFormat":99},{"version":"774d51ea5facd44ed191c2e420f2a0ab4da76a41905e8c1c3aa2a532ec340d97","impliedFormat":99},{"version":"2be23228f8822815f04418af4b3616f6c12d2e8310d3536537ca59c791fd71bd","impliedFormat":99},{"version":"3e9c9a37943e0f4c86e33e47c598a43f25117acf8fdf177e6ff5e0476e6d0cee","impliedFormat":99},{"version":"2c0b6ecefb1757ad6ce6d2414b3c268cb9092cff307f6794c75e27f7b1b3b358","impliedFormat":99},{"version":"10f2d3d9c642a1e734adad62f07866c3217b1f5f89f9f3f47d3fd6a295bef8d9","impliedFormat":99},{"version":"4894b371550ff623685722b8fc3064eec2a1353d0a4f7a4f46707b446d3cd607","impliedFormat":99},{"version":"1306e750b3d9089eddb926279035e88119bff73ba6d12bcd1ac3907eef2bc235","impliedFormat":99},{"version":"f97a6ead0f9c40bd2bf83cdae4aa47655aea300282afd44998180d9cf62b7d76","impliedFormat":99},{"version":"a5d1b10c57d14126c7a312e2bb28763c745a87c4f5c005ec6b9ad79aa16850ae","impliedFormat":99},{"version":"33b25938d78614b92778d270bde2c971ecd7f369ef6c990d13e247eb2c7882ad","impliedFormat":99},{"version":"ef325176a8c255a9a55bec7c23d6289c98b00ebfd67112bd4b915c679d721b1d","impliedFormat":99},{"version":"81c53ecba335a74d626d838f842eaa7cf84289776b413356bcd61560f07c9e51","impliedFormat":99},{"version":"47a102af679f68d61d7754dd8f133fab95c3cf7c2dc6674e70efd1b7b7c815ce","impliedFormat":99},{"version":"41931aa72d208139935cd9537c83679c6ca91fe69fd1bd8ec88bbe8e93fe2a2e","impliedFormat":99},{"version":"793014c8196d3044e2d425d7de6339e130a8f81136c5876e2e88e1b8279dbea5","impliedFormat":99},{"version":"7cfcb8c758cb502085d9128ba3ff999084cafd64b9b7c317f87fc85170d1282c","impliedFormat":99},{"version":"6d0b4092bc1fdd4843d9a4313b470b6b7773b5fb712545d6174fd4d703265ae3","impliedFormat":99},{"version":"b6e63e92b837071df07652d3f5632727214b713881c8416a133f7afa977d6e44","impliedFormat":99},{"version":"b09eefc95f09a9a9c61e4f2ed3c1e22069c703493f8e231bc76d3c6cf7ab1422","impliedFormat":99},{"version":"1b08cc33d8dedfa20adf4a779020ec36d494ab7ea503395c658c5e286a3b50e1","impliedFormat":99},{"version":"2c94d2217244dd31275ca5e404560c5c2105b5f06f8985d0f039f39caa1e9e30","impliedFormat":99},{"version":"e77d73e81f5824767db0df8bdb7b7c72cb1741d5fd74e099bfaa6369b8716491","impliedFormat":99},{"version":"077f88e83a13ea89300c26c39ca8ec3708bfd09a15464c71e2fd762708fbecea","impliedFormat":99},{"version":"fed7941cd69554080ce4abb7f4422dcca93a6021f27cc8d2986875ee2c6bb39e","impliedFormat":99},{"version":"774a6eb661aad32b5f9b73bf9d08af7f9204a4bc67a583494caf43fa09fb2af9","impliedFormat":99},{"version":"0c3d92e5fac4a662f12b04c12ca741b4f34a1bf2824a470414322ddb61b350bb","impliedFormat":99},{"version":"b2035f5bb429bbd282a7c947e80bd344ee948a4f7042a019271d3bd114d09afa","impliedFormat":99},{"version":"a4c05674bf833557741ebbcc3fa4a25ddd052e1c762a91037db94a2d7688ebbe","impliedFormat":99},{"version":"97006e8ef367bc2388ea292d7eb6cf471bd2b53d266642ef8284b66afe6d01bf","impliedFormat":99},{"version":"927c282fb88ca5c95a9aaea00175b56b0a6dc8728b246c9e0ec455de40d54fe9","impliedFormat":99},{"version":"7dac0babb2b88108fc5a5410aaf6fe6e59ef1e158e3b5283a990ea503ac3ea07","impliedFormat":99},{"version":"2f4620eeb98e884074a0ba924445a69b29654da70dcff2e3f84f58092741e6f7","impliedFormat":99},{"version":"669f1bc764b5fd840e483e123909aefdab8dc82c9aeadae194d75129fbba0b53","impliedFormat":99},{"version":"23769d3f0549de671a5ec795a8c2c6c4fd80c22af92348daa349073b65355fe8","impliedFormat":99},{"version":"774182677ec80bd5e58d287833ec21e02bcfccfdd20247780375691f201a0263","impliedFormat":99},{"version":"66bc333acb797d6c079d8830ef73bd4a34c4e1709e6a9d40bc20d5b92141d50d","impliedFormat":99},{"version":"92fe8e78ad5d9f9eca627b40cbc1fcfc095a230aba0911101d1c74f3ef77c32c","impliedFormat":99},{"version":"78dc76bd9afff09e5cea823d477657d25be9b0e1da7582df7df6e713abc6b7e0","impliedFormat":99},{"version":"651be876b03c705ac06a8cddd6ea90f635855d6312702a441e37b710d4291387","impliedFormat":99},{"version":"ae2d7f7735a249142233a5b9624baf7d1076c1b8e30bf6f9ed1f1f96641d368c","impliedFormat":99},{"version":"667514a0b45b9137a724df446646e49c6c5ff8e6c52b51faf7e7d97c07876339","impliedFormat":99},{"version":"dab36fd79d1c298c9252b588fff62da099aebd9b0987650f0268f0e580a6b8ea","impliedFormat":99},{"version":"24e34d276c6b1d5b38adc1a02ebca9d211154478cf875a3d175c12bd2473180d","impliedFormat":99},{"version":"2e7a903e7bad7e1053fd16172349f653b8e1f04b118fa6a0c94f03a05ce66ee8","impliedFormat":99},{"version":"a2b7e8befa2bec65d655a9205fe6ba2c6c313e8af050e0ec6878d667368b0370","impliedFormat":99},{"version":"1fdae95c93d7a258da7b02e50e7c4f4eb2041c4e8c86819c6bab35f1d3b33825","impliedFormat":99},{"version":"8c1eacab9cdc1a87e6142c96994b4679c81c9445557e14fdf3210352b7586209","impliedFormat":99},{"version":"05c811914dd75723518d9e11ab4e406bf49ea23b21ca4b0c014f529630cd6bfc","impliedFormat":99},{"version":"cfb373d580586808b221e2ec5555e381569bbcd65ed91abf6467235796e4011f","impliedFormat":99},{"version":"c01126bfe2cf99a27503a39cb9bd923760f43179322d9ee06640c2e329e00916","impliedFormat":99},{"version":"2b6cf5f7e4b87a9d212aa0b043a4e0203f75aa7a505457838c5c12ef3c5cccf8","impliedFormat":99},{"version":"e9214291673a507e06de72638d08cb77a5a83946ff371fe3118231fd14b66148","impliedFormat":99},{"version":"09949a01affc32445e16e0360269d2a7c3f925c2e67789934fbbaf5658669765","impliedFormat":99},{"version":"03d14a43dbd73bfea94b21aba29128157d81858018a543db71f27cd369903ca6","impliedFormat":99},{"version":"fbed6c54bdcfe0fe3fef66a9998b281f924c1c54813ad24af237cea18fab6f1e","impliedFormat":99},{"version":"469121354c88f9bcc57322407eb5d0d5b8a96cfeb9192494e8b46b2688126e2a","impliedFormat":99},{"version":"e75861934b956453abb77723352171ca00f00ab55e34502eedfe74fba7c6449f","impliedFormat":99},{"version":"450c3dc5526f8e73bba30f955e9e35e42076f82559e4f3ca733e30a99f608fb6","impliedFormat":99},{"version":"840457a9dca7071b074b79ec4bbb07e26daa4899b1939b3bfdffadca62fb157f","impliedFormat":99},{"version":"0bb96d1b7886f8348ee457c22db99c258f563e6e4371410c8c0137c54f8b6332","impliedFormat":99},{"version":"107dec9919e26cd898658841caac2186b3b10ca2e81ba0ecc9407ac989b0b860","impliedFormat":99},{"version":"a6f32c6ebdf43913196c351ed0152695f0d76dbe8226002e2d6654835e0cb685","impliedFormat":99},{"version":"8560d14dc193327f1792881dc467e70e73a74c0623d68adab861f0848619e6ea","impliedFormat":99},{"version":"469827f7ebcc9bea7ea42913b61d3570de20b823081cfa369e37f32f9b6578ce","impliedFormat":99},{"version":"d225636174c86016bb4902443c3cefb17ac3ad480aed999676848dc74df78751","impliedFormat":99},{"version":"ee10a6b8d4948616a923e953b40dd564d87f4c6c960353a4ab40f9ac5953508a","impliedFormat":99},{"version":"616f4301604d5263a177d9d378a417940ee51f4661dc970c446265139b3dc2d7","impliedFormat":99},{"version":"cc8621f4a86f09a9d63af2008516e3284fa8dee2da7ac3e010a7a344267e9fb9","impliedFormat":99},{"version":"318a5c102f218073bb58800a24742df255fef6b4b8b3ad82a0ce2169983331b4","impliedFormat":99},{"version":"88773471c8c8e81e190a0821424744c512320799e0e6596258751e8e7b573b02","impliedFormat":99},{"version":"b535fbac200d9abb725ff62adc9009598cbac617cf4c94c0111e37b956a51076","impliedFormat":99},{"version":"fe430799297f16036bee1fcf981c81b9c560f339dc87d703102f19347bca922c","impliedFormat":99},{"version":"8eb0d9018c369133b17adcb4eddc1bca329d3be6f82f8e00373b46315ba5a67d","impliedFormat":99},{"version":"dd89def02d5b8071facad4869deb42b2c3284880502ea4f46596606f380bcfef","impliedFormat":99},{"version":"82d5a2d180f3acffab13d4073bfc304cf30b551dd0b8c398f501a5547d0971e9","impliedFormat":99},{"version":"16dce5a31e379fc832306def780d9c7a66b611c9d5680c1d50f3872278afa987","impliedFormat":99},{"version":"8206bc99be58c7e6e541f75ba3ea281bc2e98630025e05eacf121a0312e94d2d","impliedFormat":99},{"version":"4504027d521a810f190f5a1fb6b6235db3e4fcfe4e383361e849157fd4017cc3","impliedFormat":99},{"version":"6cc22fc095dd4bfc296a2abddacf950b999c5ea21032c147d992c1e3bc9f2151","impliedFormat":99},{"version":"107fe9df1e4aa36cdb51032b4f51fe26eacbed9f9452c05b0ed145afb91dafbc","impliedFormat":99},{"version":"6f912d1d946525532c3537fecc0bffe9b2b25fc6b95087d00191b56403c64b02","impliedFormat":99},{"version":"d8d5640bc8ce5f5352324ebf9772c8052948e993f26b41267f78bb0570090367","impliedFormat":99},{"version":"399194d25a36f88cf475f80ae64aaab76f3c404055b582538aeb7888fbfb7aaf","impliedFormat":99},{"version":"334b8c2139f3f2b14517c68ad6e847669a58327d0401fb134480dda0826b21c6","impliedFormat":99},{"version":"646ef0e6b8a5dda70fea93b94c589512cf58b5a4f13ea8f2ad20b63a0207be8b","impliedFormat":99},{"version":"d51e1af504216f68350d001baef42b14de9aa2f8e287c9ff35aacb6c67460947","impliedFormat":99},{"version":"ab6dd1e3fdcc478cb81caef96c7047c2ec0811480f86f71be363baad015e4cd5","impliedFormat":99},{"version":"767cfb1496df590e9132052dbf9d5a2ed4d7864823eafb4eafcc5f9569f3c152","impliedFormat":99},{"version":"b9f9f77327ef54fc055ab78fc6fc6c93b88410621fd9b2374bb956022018a62a","impliedFormat":99},{"version":"82147ff6ea10d9182855cb50ed6f28d36c1d4f54a792ec2173d42074225caa5d","impliedFormat":99},{"version":"aa015d746ff96c12818a7ad742e45f40bc6f72f4b7df2af0f7200dacfe0ca65e","impliedFormat":99},{"version":"01a6da71fc05a9195f334ab1092b3f4952b0f2e2c460ea55d206ef629309062d","impliedFormat":99},{"version":"66f0b814ca2e007985a604145f5d70793a9f66d2fc7d6c57b2e094c15b7eb83f","impliedFormat":99},{"version":"8d9b0d78ee11670d4caa429ce908ef681663d65e94dc1507b47d6eb44abf903d","impliedFormat":99},{"version":"888cd85dc7c3d5d1fe0c975a8a42387203a6040f6945d9e834044f4cdcaa7177","impliedFormat":99},{"version":"87783efceaa85da75752e808792e347efda30d7aa7d7a76e62398df4a86c31e5","impliedFormat":99},{"version":"6a8ab860d18807ef3ebcbba3c436ae6432640a8e9fd3b3e965d3b923d7ab1043","impliedFormat":99},{"version":"41560bfeef3407476ecbf1e87fe10ad8bb66493854c8810bf1475c1927e9509c","impliedFormat":99},{"version":"92a57d4092fa036a6df221404a9263bb67c267aff1d0a9fc6912c720d06d5b2e","impliedFormat":99},{"version":"dbfa5e96e7827fcd26ad524c28d62238de9e58cadc28f347038aed618fdc7a7b","impliedFormat":99},{"version":"596bf741b2e8a7df8738e9210fc36bde96c4006d5737f11fad33c7e366ae40de","impliedFormat":99},{"version":"735ce9068435b7cddb5620d2f4dfa24b1d20914bbf1fb0cdae15e8c9fe946708","impliedFormat":99},{"version":"e1ee6eaef7fb5f2aeaecec5af531fde8e953f1e38b808a31edb1ed667433504a","impliedFormat":99},{"version":"5ee7350ef93ccadb9f50d4faff03ca3287a20daf94457baa7a06b1caccf9895e","impliedFormat":99},{"version":"e1faebf35150fefc223425ebfabb27ea35c8501e8a6cd886349ad4c224599228","impliedFormat":99},{"version":"d96d274e5284eba9927f58c163c0f76f9b42300b2acf690b088ba874bb7c7713","impliedFormat":99},{"version":"d1cb52c406810e8a61028dbddc1c76329a57641f274d85d923d031d6db5b698c","impliedFormat":99},{"version":"44778cc47965a17ca3ddc25b38b477c05412ebd7a11a2400a957de1449cdb5d6","impliedFormat":99},{"version":"090d14278c4f8bb64425275a537241ee6c2423eab2044305f324b7af9d27c539","impliedFormat":99},{"version":"64a821c22015703e99902dfb093bd189db8682b8f59245ee215c335a78b75a3b","impliedFormat":99},{"version":"20d994898c03bab9c60f1d2b8589cd85dbbb4ce8d01fbf13c9695f1b955be534","impliedFormat":99},{"version":"a1a34cf5ba4eea15a74e5333b365586e4054c972d5f1c86ea31d766fac26d22d","impliedFormat":99},{"version":"01541bebe87f69a3eb400ef26ce82339dee293774bf97a12a7d6e0a94b18d07b","impliedFormat":99},{"version":"74aac6d7662936f593c50c8cae13fbf2be2adc6b0f917f949a682e0ba7ba1036","impliedFormat":99},{"version":"6bafdd64b01c1e66f791cdafbd86ff49abf8580d65ae9cee39c2a01918ad2a72","impliedFormat":99},{"version":"343d92ebaf6b63a7a174fb434dd6123f9efc1c27a0e5e39b3c3a6d0bd571cef0","impliedFormat":99},{"version":"fd8a7776f01ed84c7299ecd56635a7c3a977bd2694b2fe1cf98c0e1d8938b7f2","impliedFormat":99},{"version":"5c58006a7bde1813224dc715df836b7f23d12440b65ab1eeaea20ba573b823b8","impliedFormat":99},{"version":"a6668aee0652306f94268fdb12eab4026eb77f177f48496a9df6ff4f2cc50706","impliedFormat":99},{"version":"d0b217bc167cb6d1873c1aedc1891c68c42a7ec55317bff8c52f60f33341021d","impliedFormat":99},{"version":"87547e2163fb58f4ec906f5c81a879e14d5079fb15d74839f841f458fc9caa90","impliedFormat":99},{"version":"db2ab0896701b2cd55281af7132029104263bee659904d65685c33f436bb1bbf","impliedFormat":99},{"version":"357484e7b33f0366b4d918e5623ea38c42e1b79093cf57b37fdd129f08f747b6","impliedFormat":99},{"version":"0ceaf0c8182145c000c6d6ac87d6293bfadc924a893de45515660f4459d29bc6","impliedFormat":99},{"version":"5adfe7cda513ac8ab76c9a42f5fe7dbfcc5f162ad8c0a65275f9dd6c8ed51e3b","impliedFormat":99},{"version":"df75e076d5e167de6a985cc2487779bf5e551430dcdf3b43aa7168391c42e7d3","impliedFormat":99},{"version":"3b794c3c657b91712aef51da5d1f1fa8e96278b7e0068b67c1e4e32dd39052e2","impliedFormat":99},{"version":"e5d521e00e91df030e7ef2db79294f97c3258f213cebac04fb1d7e545e036c92","impliedFormat":99},{"version":"a9c2beeda1479ab211a437d27da7170170f00c080dc0534a234e0f0bfd80d0e4","impliedFormat":99},{"version":"65186b1f46c6306bc4375f2ddf5e17b77213a5e9e0a701bcd901b1d2e46d01a6","impliedFormat":99},{"version":"44bce55aaf52d5b55fd0221a159717679b2b8a1965a31cbb282068c088fc14ec","impliedFormat":99},{"version":"a2577da4ebf625ac5e8d015e1b85a534f324aa42073e5de539b526c1b6ac9368","impliedFormat":99},{"version":"4f1653400fb4ef5c777b5a4ec0b5ba0367129d171259b942f30133bea639175a","impliedFormat":99},{"version":"2c2ea93c9df7a231c01de9ca95b681439ce7e008573432b8a37a634dbd3cd1f8","impliedFormat":99},{"version":"6b6859f495bcd50ae254bd5c0348ce161ab9dc64f315cc96a235c88027b255d5","impliedFormat":99},{"version":"2c0e2a9291d2ae42225fb79483e7ec328823bf9f1fb5d7c7cdae5761e66b91a9","impliedFormat":99},{"version":"fc518fafcc0f671ca4362205bce0d54efc6463b97e667fc1cfaa7e259766a4b2","impliedFormat":99},{"version":"3cdbe580c6d90224bc0bb9cc59101b786773d795a295818eeffad9e9e410618e","impliedFormat":99},{"version":"f13a0aad613324ade17df982376b78e0807cce490ddde44098e64a86be7408f0","impliedFormat":99},{"version":"55af2e7ea5c20ea6b77c6798aab8e6a6ba1af8f03b3ad5699f73e3432904473a","impliedFormat":99},{"version":"ca52b3f0d81184e1aa8ffc3c89e8f85cc0116461b9035bc7f0a137b40a1bf600","impliedFormat":99},{"version":"26a021aeb112c6b6a2f84cb8298586e7b88c82b2aaee38d5fed488b554768507","impliedFormat":99},{"version":"dc72c2a3d5a60b487b2afdee0fd30522c2ab395d5e95a9c61f20533c9e2052b9","impliedFormat":99},{"version":"a8fa80829673c4fe4be9c6bdd2375c74db979b85082001413bbfaa159253b84a","impliedFormat":99},{"version":"38f3aa240e10764cecc0dbb93d103740124aa6086d23d2dd242b27153a5e4954","impliedFormat":99},{"version":"11d819e69caa33068ad0ddb9424d7afc1c39abb48d342e3e1df7700bbffb8b88","impliedFormat":99},{"version":"d8bc0c5487582c6d887c32c92d8b4ffb23310146fcb1d82adf4b15c77f57c4ac","impliedFormat":1},{"version":"8cb31102790372bebfd78dd56d6752913b0f3e2cefbeb08375acd9f5ba737155","impliedFormat":1},{"version":"c6a7b7568c1e9ccd661e7e9a2219f3d41805d79f79d19687de1904edf975e7d5","impliedFormat":99},{"version":"d131d83d3a4f6a640c18169c05957ff4e96264b48fd5d4ef2a87aab682877488","impliedFormat":99},{"version":"e8929e15b0295c54e6a5d0a7f9516585de299b116a5efaefe57dfbe08167cf23","impliedFormat":99},{"version":"e2ffff11859a3c055c87837df65f1c079ca0baf72f7010a99b20229fa658e6fb","impliedFormat":99},{"version":"d25d1708b5c923d5f7b94d183dc7f746f921580b0f2a4fdd4e623882b98642ee","impliedFormat":99},{"version":"12d19496f25ecd6afef2094be494b3b0ae12c02bd631901f6da760c7540a5ec1","impliedFormat":1},{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"fbc610f9dde70f0bbea39eefec2e31ca1d99f715e9c71fb118bd2306a832bcb5","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"1d61288b34b2dd2029b85bc70fabbb1da90c2a370396d5df5f620e62eb47ddbe","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"43552100e757fad5a9bb5dabc0ea24ba3b6f2632eb1a4be8915da39d65e83e1c","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"3e4f06b464ef1654b91be02777d1773ccc5d43b53c1c8b0a9794ec224cfe8928","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"bcab57f5fe8791f2576249dfcc21a688ecf2a5929348cfe94bf3eb152cff8205","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"d010efe139c8bb78497dc7185dddbbcefc84d3059b5d8549c26221257818a961","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"879de92d0104d490be2f9571face192664ec9b45e87afd3f024dbbf18afb4399","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"b54890769fa3c34ab3eb7e315b474f52d5237c86c35f17d59eb21541e7078f11","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"913bbf31f6b3a7388b0c92c39aec4e2b5dba6711bf3b04d065bd80c85b6da007","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"da587bf084b08ea4e36a134ec5fb19ae71a0f32ec3ec2a22158029cb2b671e28","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"f89e713e33bfcc7cc1d505a1e76f260b7aae72f8ba83f800ab47b5db2fed8653","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"62e7bd567baa5bac0771297f45c78365918fb7ba7adba64013b32faa645e5d6d","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"7ee8d0a327359e4b13421db97c77a3264e76474d4ee7d1b1ca303a736060dbc6","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"f716500cce26a598e550ac0908723b9c452e0929738c55a3c7fe3c348416c3d0","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"07603bb68d27ff41499e4ed871cde4f6b4bb519c389dcf25d7f0256dfaa56554","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"946e34a494ec3237c2e2a3cb4320f5d678936845c0acf680b6358acf5ecc7a34","impliedFormat":99},{"version":"b85aa9cc05b0c2d32bec9a10c8329138d9297e3ab76d4dd321d6e08b767b33ed","impliedFormat":99},{"version":"b478cef88033c3b939a6b8a9076af57fc7030e7fd957557f82f2f57eddfc2b51","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},"39d3f850de312a17cc8daf70c60ff553ec5ce34638634f30cff998af394bb165","c78fa897edb7bfb56914df7400fac1fb8605b309d8b8b35ed0add148d1f615be","43bdc374d89d24d546fe00cc8ee95b5d5211181bc858cc72c4f86ee1ba39ff71",{"version":"853aa2acd51cd7300884c400532303bec106892146fbe0b64974bf4dfba845ab","impliedFormat":99},"5fd06addc09e3585eb52b0d8e731dd7ee79fe59e84f07279f80f5ff9772357ef","8214124af71c3fd95e6c15f7bde7da0fb98617a1746120e27dec8d7bed51f6f7",{"version":"bcf5edfb2b188348d16a7dd26c83a79856a7e81a7800051109d99aa211ef6947","impliedFormat":99},{"version":"6d870cbc76c9654c649c58dd664a875bab499e3e746b34ff2a6b6d363a3e0686","impliedFormat":99},{"version":"c1da3f540f39091e02624208125e7d825fe6839d153399c21315725acf0adbe1","impliedFormat":1},{"version":"91648eebacde37f34eace96a9d3f269875ae85331e70a4ffb89e76f0382338ae","impliedFormat":1},"e5c8642b6eb0555f834e8970b475fe53be0c8ba1eece191f2c639401bdc76d06","748adbaf3b204e53a11716e5212373fdcd6a9d8583a3bbff77508f1eb0387576","8e9a966d0fbd83b3d6bac0163d452687cc20a3f2eee0b97c1b5ea7b6169e9781","5819c1b29a76e0aee7188f7be7ccd5e8324e3e651200a01e6eaf7dcf1d802bb2",{"version":"4d7d964609a07368d076ce943b07106c5ebee8138c307d3273ba1cf3a0c3c751","impliedFormat":99},{"version":"0e48c1354203ba2ca366b62a0f22fec9e10c251d9d6420c6d435da1d079e6126","impliedFormat":99},{"version":"0662a451f0584bb3026340c3661c3a89774182976cd373eca502a1d3b5c7b580","impliedFormat":99},{"version":"68219da40672405b0632a0a544d1319b5bfe3fa0401f1283d4c9854b0cc114ce","impliedFormat":99},{"version":"ee40ce45ec7c5888f0c1042abc595649d08f51e509af2c78c77403f1db75482a","impliedFormat":99},{"version":"7841bca23a8296afd82fd036fc8d3b1fed3c1e0c82ee614254693ccd47e916fc","impliedFormat":99},{"version":"b09c433ed46538d0dc7e40f49a9bf532712221219761a0f389e60349c59b3932","impliedFormat":99},{"version":"06360da67958e51b36f6f2545214dca3f1bf61c9aef6e451294fcc9aca230690","impliedFormat":99},{"version":"50bc55fc955fa799a4a1a11c3484077f06cc87033c68f5da6466b520876cb12f","impliedFormat":99},"692a15ffc1571f733244b03cd6b6b58a133e4e01856df1467ce6c3444c1259a3","cd2c1a180cf79f8a47df34564e51a507b538495fb6146f02bf58d065697da499","9968d8553658752ed8f344eb68e993a2f180fdbaf111d87476a39c344200f1d7","691e10778cac0b19bb0c68ef93d6bb6a9f085ef9ea636cd701a264465736ae19","b11958374bc4d9c727b74d80612041e688326b711bbee6a083a4823bea27adeb",{"version":"8d723a4b559e0ee480f0c58628a7042b34a7e1d8dc574a87dadde6aa14ff5e06","impliedFormat":99},{"version":"5c3fb14d3f91d6e84afe24a17a238f14a1cc46ece36bc80d9ef8b70b75dbadba","impliedFormat":1},{"version":"f098084154c4fdcf042b749f7356d4942431f7620eb2e1ebf9470938348baf91","impliedFormat":1},"cb82e82443c9802d6daa5235720844ba6711841b7c0a80d48c83d29675e4183c","02d1f76af07293255fc752f76e6eafbbdb65190f0b94baf585dfcaa11fa282c8","e8b1752ddb12d594d3fb94f323a9a7d9226b1e1136b9a498f6d41c46c968473a","d2310ec17c89403ead75d49b580bdd2e381bc055fcf1c6696654e5916c757731","1ca0bb97ef3fc881b291bad2fc6e2cde43202e8795f2dc21dd9adf27af462cb2",{"version":"e6b0c0063fbdd803451c48584da7e56dae719b32cdb16a9323ef24f8d8226286","affectsGlobalScope":true},"6ae398f854a68cf136b7db107034649c0cc311c5da8f8825eea7e58675b9b346","3a75eb33099d9c5dfae2270ae4218837f3677cb07fe4a17f97b18f232fa46c1e","2a3620433da493bec64629b059c23e3e495bba32934f5b57a2418217bec815a5","3352ad8f7d7bbc8a8ac2d082fc171e770d51ebba4a3047899cc139651bd1b420","dd56697a2c1f1a2526ff142603a1eb06642542dfb2ba36cb94bca3e13a448a92","8d58ec4f131c12001f8f6725910aad0f2f234ea1ca5ce0a4b799a0740f147c9e","4a86d186395943e48d8b4f07de989122a7f650e927f9c0f7b1b5ccbfc3cb5a97","966d39a8dfbb749db801f011c48f5ac5c12005594a23dc362ddc91083684f4fd","b84166706bb40fd3ea02ab3567a894cba4967002345fec8d7c3cc03b53b02d8a","7a70f867fd95d327218764003253d829a1b175157dd557e2edadc488b602e951","f55e7501022cdefc9c8de2a3bfd3eb32e9eacf6e627d4ef9331c8bed2bac1aa1","ca65f3485f8d4126b50143b4fd0056518cc37bb603fcf3f1083801da6bb8f840",{"version":"7868829dbcc4714c0cedf2170b0c6b4b54857ebdc504c69895eed186101ebf4a","signature":"626b7d4e8d86ed054f3d881721f1f252ab156f7a6e83f84b9bda497dd7591c56"},"727116b778e16bfae4f0d7d64c402f1215b42bc82b79d0b6735065500ce074ea","33c5be5cbc666f28499d133c12a1e7388fa4d3ea8e2a99f1b54a294038a705b6","cf27d3afd290eaa17a56d9acbf7c0c28aee6f71e2d912f37670797ea900fcd03","dfbbafc2265ad5c2d567eff23471dfd624a45041ec00248077ffe85cb30ceb6e","330b9194184dc7d8b7a5b8f72430e5cc68b0ce958b6da8452ebff967bc119f0a","9e42b3e452e133b377e29bcbeead870f851f09fd0792bf713a43904c0305e0e6","c08b47111cc516dbfc5bdef1a65e7f891db38e51e87f80712160d4bdb075a2d5","1b68ae90a12f7e1ea24e198b11929b950f5592f7a82c977307af3ccf6bbb4eaf","b436e9fcf14a599ab395b1a487504c30b2d1d19ac6bb8e33361459a1645e1048","13344faa1053b25ed69b664f5dbf2e1b16ab1d061ee06b4acf31d42036774e51","649d506c55b4b9acfb3d17e16efe05771843ad6d76ffd39a7d7f1a462f23f591","2eec155b0d515abed949b4be74d6ccca06c0b4bc1beeafc27e85e035b3042782","9c1c0b797af5c8c753da518c5ddfe2bc8b8b5669deb0ce27c6785247bb71b341","89e96601fb9071df995ded317cc45cfef4af997bf0728698468672bcfc925035","63c5752c01ca63e68edb7e7b7bffbb8a152bfea6a77f71b3f0e0733d4645b889","fb2155211ee7c70d32054f698da9675b9e7fda4c35fb1ce69bcb8f792fb9deae","f9aff74a4b22d16d9ff2547418bd8457019cc09edfc72b8dd74cee088645f118",{"version":"e1be4a2a139d2a99071ff9c81d7c3401a04612b032c16b4212a66e254c784217","impliedFormat":99},"810603f1938c248f11897af108e37cee5ee59d877109cee1cd76dd1e1b52e25d","b2be6bd0cabf93bc336b763782fe68f171a6efecff971b6f995e5334183b2f24","de3ccd759ae2eb138fb4b86a4dabf7f438c763bb0eb1ed3c49455baa7fa44b28","87b3ca930cc19128af08e4205f633019e6aaea8763e79fe022e4abf2cb635172","c7fd99902f3334a4326c0bfced3e84fa372c91dc068ae0bf1223f0dc07e51b0d","3a9456c9c14f79405e18ca3f6999611903e919c22d652facd83089c6e8e5ca50","0f3fd64800c166074429e68606af4be3af0e13a4895a41b7fc5f3adf0453eedf","8562116c7dc8f01afdf66dee0181a3a0c30b0aa7f3ca59bdfd3935073424c545","6a74016492f9761fcf64bd526b41dc3df8e12cbf3ee61f316a2c39771607dd82","c632baf04bbd2335ea118f38387c7942890d8716d2953b04b846f68cd3015518","c28e5a7dd172b5a2ea155b280f2db8c8cf1e2382d744626dd13e964b8e69cbf8","d276e9ed2b3ddefcc7d4e7311fe6bbd04b798ecc95a645f96cc098ade701880e","ad1a2e71640f1d8891bce1bd7d186ce51b2f90a0a1630a7abe07d596c2722e7c","855aa18e4b2b9ead2ad336fb3c70c4700796458861b54c9606cb19814344b392","84c2ee74e4f95ca8851249e89f3318d3b52920583dcc0eaf03cbd01d6a6a267e","ec37cb4c2a969b1c24097a235562f8562eb8ad0230d3a5384343b9071d7b0233","00e2790cbb93d79390db3b02db340993f8c2c9183670f99727263b909ffe9d35","a8130642faa414646903d6e7d49e7b6c7f59c5ef866822bad90ebf00fef11bbb","b348ec964cfb7e34c7897d65fea67b2dfe108f3416cfab801d689edf070d145d","1959bf79bcb4a350879e996b772a04e938498e805b6b743b3d0cd87fc20c4dc6","f090835e8c3e4cda235dd4ea19b6bf0425278878f002e85303f9eaf1caffb32d","e56d5ad1ab8f01127ebb0e07d79ed01e79171c0955012e325b114ec4018b7749","d4fcb3c326ca35fdde5e17fe839acfe8809f451fae9d8bc14b611acaf35ffb38","f5448737711cc5db5296dfc2cc738c8d3a5fe4d801eaa413f57900049d77da31","23433d6bff4bccb7d8668de3e0ca61615a498ac5b919cef01590de05fa92e902","b9913bb531f45752c837af883d997d4eda0adb0fd93118260b637e83f5c03928","efca758bd50dd6012a476c766fa110b570c249a7877fbd8cd4667f6ceabe3b9b","cb156de2b8ef84b95a91f10c1bfe9b7db7d2a35ff0a2ae4c967cda2b688fada3","8a21d83dc205f15c4650b2fd75a66fd58fd724cb0a353fea6b6d69f4242df988","21f7ac78e577d4d710307ff3c2f7c01540a38d79dd0b440e2dbb683f1d9623c9","4ae01b02256fe0eb736408fac3df12ee4bf77fa195f60ff70f090059ba4ef5f6","ae65ec7d76bc3fd87cb6d315667ac2fdd699451f3efbc4e8d388e4304058ce57","4b562cf9e0719f90a670b2dfc412a3db5b971adf00460775abe64509798937dd","0a45507ef86c729b650538e8db48a149786c8d9b77ec0a625b86e1a216d3436e","7dfa9e1175bb87f0c526ec0229c98c17066d05b11b80d83836c55ab3086286f1","82314ac9d75fdf5f5ce840cb09fb52f288f1df1e85958a485a4b24b5e53557e5","3b7e5177de77bae0379005b5c69d355fc581110ba01cc5bb6889dc903e43b828","66b11a874c9de9b1a12f0ccfc8e6b79f80789454022e9a5c05414da9a7ea98c5","c300e74a570e9ef2705ae4bd4e984063e3d3154f8b306129b1e3f3905761c10e","8c9c00c5aac58a12e814c91377d96d884a2fb1d7c9d317731ef9f98df2f42a5e","392d9976ee21554bf72199f7a9df8f974f84ef0bf307407fccf2181d79325817","a2bb0fc53a1c7acb71897d698f1e077784af999c1097560a89f2906825f1a4fc","5f1324b3a337420dcfc57371bbb3dd0da72e169527f417ba21aa5927adfb92a8","95d93cdf704f2ace7db935cc65602d1267e2fbae6b37f1372c4aface473844d8","edd6fedc43b0e0bc286b1be00cd065cc4e18a55e85bcf7587cc87ae2f67f2829","3e650aba4c29bc7b1b14ce6cf682c773a0e919ea4526330c965043aa89b91bd7","e11d7d5b4442870141a31d1437c4af4f0234180d5609696bee4cd6b1abc40349","fa48b2666fa1b1963eb0603286019a327abb191dd39f216d354f883bc29f268d",{"version":"e6b8f3cd057e49a50b57a52acc38cff7c224def2249464d489295e0e1d200af6","impliedFormat":1},"f4c120df4f91a4f0c875893a5ab70b9d774b925e8dfcd7264697f2aef095a29a","6148b96a0e233ce77def68752a7f3a1a58d79ed9554bdaa09f627abd557fa734","e3ff923ddb66b417ab7ee1f62614613a9e3e5f66769ca635aca857d465969023","3eb9f64871f43bad72400e58676cf13f507e64c4d823e3ab8c4246a6b6863039","ab1ab1a06cb622c3e43db0cfcb4ab664829f4575dd6f2ff4b28ec2669208d4e0","d07945cfadc00681dd4d81fc4779eb731ac0048ecb9474a19f72ba21d2833439","357f60c349cc2d647f9387e18284f4c5d4bebf79aa5cfee8c0e01ecb10836f01","0003d722e7ddf9903a935005962ca1684aa84bd1476372ee916a23003ca54ca8","5b0adb7543a2827aa82f853b9cc0304c109851bea698681afdd5aa8a8d909fd9","ff8fd0b0ef0bbe1631697964f20765934f64b50576f61b954e5282f62f57c904","3196b4a9775036992ad446e691cbfa584ca453648f6f51f41d898e637b12581e","d062c26e0df9e01a6ea4007e7b9f18c9c1b39e0b8ce464ce5839f23e9ecc83d1","ae0b133261f76ef6f30c79793eedcc921b71c0b5615571c0d6608dfc7c13b6e7","27ecdc06ac1a975faa80f4e247e6eb1410d05dfa18f623cea1d25c6399c56b77","232f71957b81d9ea36b591bbfad1bba96748bb3a8b07aea1f8d9ee47baf9695e","053e6c1baa785cd0213ece6c18486accfbbd26af926eec7ab98c694b98521ec5","91224ef357897c005104f9346d473cf5a2795939dc87400a322af363a4f92d75","bbb6fdf963b4e79d65fd9974f3cceb6da8c6818f167c958acd11d36b828da6f0","5d9a7e5a6a1d9e2b704190992e7bdc31c1a14aeaa11d27259728c704a01dc5ab","450f097797537a9bb709638238d6f559384f9b6ba33879afd16c2517bd308ad0","f7115f512ec176fd9248f9bcf5765ae0cb3208c983b531b76498a7802c076f75","dd695c84f4f600ef17b160983cde3a767033610b1a4c6c545b946b7ed41769e8","452920d21fde6bf86adc3c952fc903cbfdbf38846f1351eac5b6ec49e2dee0d5","e4c71fc60d0a3ccd19931d283d85264d5f3c6ec99ae1cb1525dfd99b1a805cc7","63105c29af8cfd6f3a09bbcc9c7c3a5bbcc81352ea90ae7ae763c01f70d39a96","b6ba4936174740de3fdfe5a0d7de32afb7ba6663da6f0dbae8e3b028f658d6f6","d7099a34db4a42d1831ca11e5fad9213a82a4d63ecba12f4f778d33828094212","95145b348f3e48a283d95a21f9108de965e3055d80644239683af27cecdbe234","a8ed788d7f6edfe8ddbd335924b3c26b9c3c8623bdfa80ddc809984a5bde8645","4b2828bbfe09cc2f419cac54d3793d2fba624766822d54f756062546203f9826","f217f74a8101bd8d8f524e75705bef0410c5f763406fc9832114aaf5591767ab","a6fb0592bba612372d5fe4da906a2bab5eae29d49cbaa2add8f4e7010444c537","79cbe09b9d801282164ffb131771fd7e7333b5481d141b326fff6bf845712671","d8dfc8edfb5eb77a42e1ad0a69d555c60baaacb52094154875c256535488f01b","2274723cd1ef89e15a7e5ad925055c09cdea111908bf9214af6bed793923c423","8b9069ba952d5461321ef33c4071a884868fc0e137e746c05ea46b0e74b1c4c3","2626a34b276b1f76ff936b37cf5e5ffdfcfe70106606d4e2fb13482be180abe9","375502a1765f507f058432b2401a2e2bf70e0c6c0241ec2a57dc17c097b27343","620875ebb4d37e6938cbbc32486014f1201e35c58e55193355fd033b0cdd8d58","fd9fad846793e232cad2b854b53aad3d1fcecc3ffa250ba4cffd9b7dbbc3dc39","530d0468f856c652072ab36758433af243248a199a6f2a551237ba7e289f76d8",{"version":"d44c53a5185ae285987268f3f30cdadf3dc7bff19d230bfcb5c6505d4f268299","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7f161bf747d17d98f49d7c2a9e67da87031da2c2cbcf356698fbfc184788b20","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ff2131e0cd0d00541853f45cf91d93570f4657717daee949596e828dfecd5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a36dceefb767f35c0e04cd731ce8f302da8f5c4db047afd412749cf9cefab338","impliedFormat":99},{"version":"4fa9937fecb08fd85e2c8a7ffe4ef27fc02cc0ecf5c638133f65ebcc665c155d","impliedFormat":99},{"version":"67500feb82f479142b553d4735477a64838014a335a62033516a93173b2b0d69","impliedFormat":99},{"version":"1bf74c0a319d262ea9b3b7381ca4a05b790ea1fb25e91e4838ca7a03a80e53e8","impliedFormat":99},{"version":"d6f734b1c568ee0b2cc21fdf336ba7e07674d5a244c082961fcb0cfcd1d14d9d","impliedFormat":99},{"version":"3c8e78579c681799fbed1e83c1b42a27497551a66d73620cee86724e16d00c7c","impliedFormat":99},{"version":"d4f1150636fab34b29c20492de16ad8cbfcd165b75fd59f3fc43eb925c3cdda2","impliedFormat":99},{"version":"a423e3eefa50036e6fa64c5559397b2fdd415a635d71f1dc6e6d497fa9ad5733","impliedFormat":99},{"version":"19013bfbe9b85acad69621aee4d4baabea52dd563a55503f4697d31123b4917e","impliedFormat":99},{"version":"c4d678fac1ec9dbe16381c3effdc1e1af1a909eb97c9bc7f6ba8fd832a0c2fbb","impliedFormat":99},{"version":"55605ec08188e2c9183059ab382d904bb0e0e2167edf218a2eeadf755d85c8dc","impliedFormat":99},{"version":"0d6cf4704ba2281eb23e0fb0ef0d9dcb5cad22118515747e5cf62b69a559e198","impliedFormat":99},{"version":"6938a4140037dc171101639cc5601de23db9d150ea2e0ca63149f2ef18c2f943","impliedFormat":99},{"version":"7e05897b8740792b19a75b33f3c18271afcebba23a79a961228422cccf7b107f","impliedFormat":99},{"version":"033ca4aee625d77f77d91ebbb1f2d06c81e6aa5a8e08685b7821164a28ab41f3","impliedFormat":99},{"version":"21a6d8961711f30abcf347ea33621442b239104dad95ca8f6e5c45397f0436ec","impliedFormat":99},{"version":"c1f63a7b774263ad335590fedf52a593a76758fe98c4f28782624c77c4eb59f4","impliedFormat":99},{"version":"4e97d48d7072ad1ce17c5877e8d033c862864b342eed72f951375285411d05df","impliedFormat":99},{"version":"ced21f7dc368280f9928d4f8fa267f04155d9d80dd6e468f17ed1b7b7581d67c","impliedFormat":99},{"version":"71fb51ae6da8a075f61e69a4b8246701c7733a5766d4e895516a13f089788102","impliedFormat":99},"b4f7e520fe25d7c34f2568c372a43df69f54da57b203719cf3a23715dd99f705","a3c25088e2b34cedeee677548a2d221fa0a41c93daba489df583185f5b594978","2440951e1d2dfcd2bbc2073dcc1daa284614e25b9955a9dc60110980e1eff120","7685db0af3005e03a22399c14c4547cd273af528ebe1ffa12a6119b25ff8c4e9","4bd39368e2e125bd86a6f45762bfa098bee444ec084278c6db5f45778f7826ec","97110726b074f3e3bef3a55a5f22be719185781eec364c4e7edb8868b9255ccd","4b6cbfedaccee412345b8920a902f53307c25ff18a572edb4af281d24c6c91e0","8bc8d18d48b7aee2f8cef0b6303ccd328ed37f1b3dd2658fc32ddaee0861f250","bd12ab4eb388a4e0c8abc523f976242335446f1dd87bea49e98d5972c7f98008","3ca0e2b22ff163f451eee07f1d9e0bf08678c22ff4caafd72eea8e64ca06e7ed","398f6d5753b8413b35d821b60df213baedd649695401110923e5eeb250be5ba7","e8b20809aca74f8aef9f58c09c4579bcb0157f3a1861e8adfc8462083157a5d3","33bed821259d5326366535a651b1147202e951c263b432521a0abd89db35adac","bfcf9971863c6277fd01864084367a9bf819a4b77cbf07c9c7c608473a24d79d","ccde58ef224ad07068ddeb3533011b986b08b0db6f686e50943f518bbcfbcff0","c470cdf31709653b05d0f38a15e8d1c878cb44031891d53e0c56b82f6c3feb27","80b190e1b08d0ba437bc3f05c38e06c4ac56d2efff00ae329cc3dd99c8162fbf","3d71a6d2276482ff6f074e79fbf279df4c48b5e0c08db7a16dfdab1622bc6c6e","0678c1cdb20b21a0eb6adae7cc6318c22edd4b2c067dc5a7a101a7420966989d","7a8ef7c309e58a3493d06cb46a031d20ad8788e29c2fd1771dde9cbef3be5eaa","673c13ec7da3721837eb79253668d3a78713ecff3155cda396a53dad6c5ff016","1a08ef06f4a9e7c04e16b283895222db336a91af9cdd17e12cf0e678a9fb960e","5c767f4290f6c008cb1a3f58e8eda3d719211409b6867c5326a1fe457c278f54","376f3de5bd3724fe96737917d9e5922344c9317e8f35879d379735b41d81e193","a4b905d0e9dad950fd7f11e6bfed931541586299c0fa8250d1672fd4e6bb2112","3799c25c5ea730a154a0564e5aa21845f238d5390b3889bcaf32565189cb2a8b","4665bfa5ddc57b4841b7e45513edad54a23e899949e99c08b2d87457588c3ce2","bd6fa09e8fc8e1f94a9b7182123fadd027c4060ade19c5170c38f49faaad6e0f","be6706d53820ab4350af297e7c220274ceba5fa108600d46b727a1defcb650ff","15ed103893f7a2ab91907886b87823be9ce2dbc12ac755f300d5792e70d2d81f","55105600de0ff174ff8a351dc3c12e2470bf24de3725e4a97c28b8b6561d40f5","8b891bb499f46eebc267cac374c0ff2dc7eeef79c381ff67ab6f1c725ea5328b","22058f88e10e80437ccc4891019664166cd61222f24c94c0e18e128f4f788c2c","9390d1f8a701922a9b31f390bae0650ef7358184ed3e3eddce8a0a992170e063","3e0facdbd91810be315103b29d7b1d022859e54c18779da0bd9361fa696e86a2","86b9bf11977e4c3f274318d25c49df61f046d4855df822d17876a1227107538d","1e952fd27b996ddf2d94fd77ae1659d1e619c45973b92b72abc236c90ada8787","0a140b4df53199443df23af7db9d19516e3fb866948187216205cf403a5e6135","7f2090c85f3929a0fb6509f0afaa27c94acf3cb8741bb9c7eb7eda6f8519ec89","618f53196323b2ba00dc726bed4ac33a05132888d6261ff921827d6e8de0de4a","f2b6bc27c46c76f02f8c0a1d302527173a7271d43ca0ea52ec1a5aea7178cce2","a679d997ad7376b1bcd5ea671b40eb9b2d59968fdec155a1578dcfcf4acdcc42","fc7c62380ae7605b11b26c6d129e4bba98278ee4fd42cbce838e9565c62ef69a","1f8529318847b08e09bdc1d7d1ec9f642ce2138b58d7f284d3f7aed42972a1f8","6f874626900d0913e97bb78d6a70081dbde73572976115b8d74ab1340141c0b9","d5fb83e351bc3dcb4192d3019df4538439fd420894fc2b011310fe8be79d4ff4","64fce2389b691d3698e182e6120375a0114b4ae64f065fc15c8dbe6fda4b1225","89ec73a7cf181ef2bbf3ac64c1dda4230ecf099fa4dd2e422c73a5d6881df016","0889e102118e8b8c384a3238e1d7412fa1cb5ea686ad18207ec581bad7e565f4","c755ce0a3326f4399fe4bf2c26afcdf3b383688e676a58119cc99e9ec35ab62e","4dc6687afa080e2b007da7c4659a118dbb9549c257784504bba3184e51874a91","2ef2e50355aff946506e435465da73a84e4d783452ee3541b4a3a2ae6e753796","cfd9e723bdb9d723ade50600d9992468afb38a761b756dd023832cbca96f77f3","8219513ec2b1499f3359c951882b06d15498a4f4bf7b83db066695ad7378709f","fe439a0c921410da173e0ac5eff5651ef0b21d3d3b32c1a2c46a158f3f6a96df","1e1f5f75dab423bce9d137f041199eeefa60c0bf4096623530c3001e37ce350b","fff4a48d1992d1de945d2a385a90c5d280639735ce4bf7d215373b35a866f972","31e2b6526544bf757789b42980c9c80968aef8c9ba2f36faaec09942de12241f","27a57b33d46294bb81a43ed9e2a06d7c1b47379fb181dc8a277fa3a64b35008d","6bfa52d6836a8d59c9e506be487c9ce8824da608087278fd3ead167b906d8a11","750fed49ef1b3929ebe3a49a3c7dae65a95f6615bf18c5f08d85f589e03deebe","4d05336513aae17c7e3d0ec3acd50d3be2c4e3c11f993ee183bd90a047ce05cc","8f05b1ada17e92aa5eedfd5af9daf8abbdd12f963ec4f1048e2a1078d9e377f9","d524ddb181b8598be11cfd2b701768932d3c466cb13de14e7f0ac4d7898819c0","18b653c616f976db6ffeaad9a0e5b09f18bd8dcf0842311cbd928fd9af1995b2","3d7b1b942f82aa255466705649765f7cbc10ea3d4ab97fe70b887bdb7bc16b80","09909b8c991b44f673163b3718db11c5bdddbb8a6b7adf4f2a59d6f2410783d7","7a825c1379587176b9038d86317fa922447adc98d55f90022ebde4c8a87b13be","05838b236d71f9ebb43d34d8048502644a19713bbcc399d9ddc2f0e03378a9b3",{"version":"27679e96d1bd38c5938178aaf4abe8627493090b63d6bae2ce8436e6a87ebe4d","impliedFormat":1},"1c6228e0f48977fd482900c2165d7cb59fa0d9e0fc7c9073f75df16673989072","59a2a3cb4dd820dd047b4f50f661e346a20a3f1bce7e6e7677ece3f9572b61b1","fbd9c098692c76b327165f4c823aeefbbfb983d88b0f91a0fe5fd49e60769584","b2a5cf8e822d39d3a9fa5b517bd857713e6d728afa553623ee1a215e1c228505","bcc663cb1d4f9ea33526a8147cc3495bd9f4cb6315e58f7a6456354601bc120e","c81b6eadbf3c6e661ae22b483efeb12741afc40083eeb37f444839847a5b6b3b","b858c48c4936ef34996fe2da3fff59098012fa11b39e3ac7ab03c34baf6039d8","9cd67f9d93e55845901cf051927d53b4c723fa080fa43402861c572b66adde21","7dd44822321a0e332473edb48a3c9bfbf0efe46bc1433aed6c48b1c4417971da","e4ee05bf8e8a57b39be55dee729f6f40966f54fd2bad8d5c1303a7b06a7457f9","199213b3dfcc9f9ed0b65a2483d88527aad98722e4988933c391030956ad92e5","4892882b8675c7711df6e964cf97bb89328f63c3425d879422d7d0a08a1c2e97","706026949123d970f55f4cbd5fd68edee12487f45c18ab789059c4772d17c15a","1a3942b909f0f0a4571f5f4ea170d9c508f5ece0bb936066c026f73aabb736b2","c988d9e0330848c403c29461ddd6816de665c0a8be144f615f2f12ed58e0a651","52ac8d8f5bc2f3ae231cd390c57f1ed5ffebd1e6ff139b5e16a6aa4ef5c02a3f","7dbfe463552da6674be1978badca32ff4041a53965083ae17c4827080d49c581","8c943693e72a065eaf8a17055a2802ac0c56c14d8ceac09ee244945c7704f841","52e63c36d7b6271b9762b270c891482e5cc0e05e2a64e90168f813e6e6a3f530","b57c8b56affb33d4377121d09823600c4f53f459b746d972e4b53fe709a36c9f","b247647388ab7a01ca3505e03e4e37246c8c8df6650f8f614af415d923698853","57948437dcc7024f23c80945cd6dfd8b472614b160d73b2d42ee45cb01c6738e","263cc0240bbd146f050decc24521b41cc19f54f92d929cf744407e8cf5e8f670","d0f1277bd67a9710e6311583c015919ece92b52e930883a7f440e4a1a44b9096","4a546d85e40a5b930285c6c82abe21216e92ff4018937b0ec6ea577ae3866257","093ee5a1bc240b61d81344a52f0812309430dbcfe653adc3e6afa23853933b5e","9d50241f3192b68df60742a83c14aceee6edbf5c780f3bce05c63e5a1cf1ff4e","30a40fbd60109dff7129d02d1a4cfdddd7a05adbdaa92b7ede10da2ac72fd75f","621d4aff84036c5e449779bfc92ef375c836be64a64001373eadefec9877c6e9","8d565e5055352eff0ea62a4e6a2e0b110504fb393586bfe692ed6ccebdf5b899","516c73b3b84f786908a8797cafd7c8359fc77460856f8c8751b6d9df95ec42d4","0e13aec2baae61878677c731d897ddc1e8062d814ee534b48e46f6695d68e2a1","6d3be7c76044fc75237ebf2d4a404b0f2b03289467c19b5477fddea549c0c4e8","474cbbb6597a20c71ef2fd7e274d72da5beb3b561781aff36f100dca75f2b212","b511d2745690dbe82e3e9ca24f62c0458e5020d33e63ccb0d0ea28f35c4c0042","fe1ac3e6b3743c79d8c6305ab4106e3b66c2a5feb45828cee2f08d22994ede19","e9a05d6d66093b3e1051593d62d584738b0901d13b6986ca229397eacbdb49ba","e55fd3a9dc6c225ade061e02126943dc8fa95f65af6dfc78e928904f03355e63","ec8af9411e43bd615e903c457d1595e24785131fcb8a5f69971e3fe823e78cf0","18cf2a265779fa6d48d8031cb18cda7c9e1d7aad98449fd87f66a2cad7e88b6a","4ba5968e7908e4da249a7a5b6245ea892d7d40bab133f144b7b0efb226970b49","5f2df693de399f528408ca480d06f5cd158d3a284e72f90b701e1b6b70c1bc19","1696fe56410765cb7d9e68373128ad7c3b32e0a366b4a3aa3dcbceb78f7e36d9","2c3d7b01f1990f27dec93fcdba7931dbb21943af821fa2420aa9288df3093ee7","c1760d975e2350b89a1b1ee1c4d59291c91741bb4ed5f06a80a0047c398c5238","f5f3b00c4f0b51f43647cc6505735e432beab8e4d25b637ccb64f319d30851a0","44c7b437c00d91a218a3bf60f7d112da50b2d60fc4be7bc6289014e9e6fa8844","8c5f3654a9c356841066dedc3e577ff0ffbfed100eea84821c5758ee6559f850","19c758e3e4401284b5e8d6999f3ca9226b7888e01e9fa4ef95c5436d8694f550","3f7384b1b15f9d1df4e312b08044f7868bff084302d9137321ab82ef63c80656","c9537545e1807ceb9d9b63aae49f8df1271ef6d6589cde70f8c8995f5e97a605","92865341aaa6b5ac9d0161996a6d368af581fb86dd69166d27cf55f481243526","e33ff55aba2cbaa6c805d9c3fac470ed1895bc2b46e1f3edc7530c32ccb29444","405dab283d980adcd2b7b64fec21d1c9541cfcd6240acd53a3f10938640e48ad","0e3c41e1a7391eef5a86c82b95c232e85e1ad9dfb8d62aad29130c2ca358c4ef","e434f342d1df60752703ee6295a489cb584131cfeca0b045dbfe740371e9e200","b33d33bea47760130b2c9cdc50754b163fa7aa53f4b3825470908dfdbd35902b","3d2ef7935486e2236cc79dc5bdaf8d437da627e6b97e6ccce24ade36120a1411","cc14b6c03dee858b717584f95869e3a793717673a3e730d539a4504495cb8ae5","98ac1f5ccb4d596a14604531810fe7c8a7b2cc6cc642f4090a10f68ec6a0c29c","b0ce191d87ae12a1bb4f2bda5614dd140ce44bb290edd4805cb18f34b29f7d6d","3e855891db3e781fe4ee1455cc0c27d4b6184c4096023fd5015a2397dd26e665","497c115ba774f65a2c26749e4e2bf023667bf99ae8d38af5695eace68e56607e","85797ffcc74b44d3b7a1ee209632a4df69391c9b876ef9c16c4cf7a866012554","bfc77e82251d68a9d6979ed011246f1689fce453df7afa6b94d9cf8770848211","441ca1bbc84439be9c10bb4097250f693dee05df20f432c63fff075adade4719","8079e6c7bcaf974b7d3d1b942ae551232ba816fa10dcf6305e98af0decb9018c","5a3073d040276eefb872843335301994cf05e1c470a608d2c79aa72f2d763c09","55fb79602081b4095dc25709d6a39aa342a515d9905f70f20420817f1c91adeb","dc9d2af79f17617ea624978a8141c33723cf5a8dc02b749d3850cbebfb881841","5a5dc88377d6fb305f07416063332b9971d5d5d7e036a936740a40b66cddd22d","cbd055c57b312cb5237989ced3acdf910228313cfc970b4066492546d31b085a","ce6f8cf64848604978fee72dd1aecb9a8c2ed731ab76f6a2f57d55f94c7f6e94","730d5736159ea366cd7e7c7a0b4538060f7b737ec70c5f6339ecec5a5dad00e3","ec8beb784088743a53e4f3a1890d70fad714eff2c44e35e0c82aafeed31c0dcb","b5b7b8c6cfd6dee7c3358fbda3888edb28621f201313a3b4931df8bd7664a8cb","3a3e02d3e74cedafa65071b23cf7db095c69ce001e32d7003a0a574a5231eaae","e11cfe5500e4f1019fa9f4ff5120881ee61b31830d607be629ed7d84356a5be3","99d6a9d2ceb2a7b06097b685a9b737fd96fde1443f3e37c48e4f4b408ddc2d28","7e171bf2b8338f87882de47fd05d046deee20d5c22304664000244a8b76de0cb","9210f40ae76f466e88beedff79ac468b461fc7b30f665cad416f4784240914f3","990d4b522698fb398832798035c27e6f7a16cf10a3b720b23cc1421f571c172c","89b4b056737f7beb7ed50e2a2266b1f91d49a753af0bfe3dfa2517a1ed414d0d","2ed142f1b91515ca6eb20b5ec12fecec6069f4f7701bbec43fd6f2bc9ad3c6df","37d27b2bdb3f3e364debc2c365b4ef7005acdef683cbf9fbfc47ca824cd9602d","a318a4c44a0f2e1459be2bbb76fbe7ea87155b6cdfb9f3b56663f2ee4243ae8a","6ffb22ec8f6060b37e079f18a59ba4cc481f9c597768547c99da99733de18744","4c059445e0256782added292b695dfb5eec4be46680071cbb322436f88d81522","97fc75017d95d815f38b2580c554e8481fa9761180316b4f1661a0291c0d4915","ebbe08dbcd49d37df7ef9b8606c9e1c85ecaf9706fe3afa59289358b0f893bad","5744e7e4701b0e658f429c7f6b06a25fae9de84c7ad1ae641120e38b6ceb5342","1f5807499a4a532176a2332fe1410a0e45257952fa3148b4c419456f35061845","9b75d624f80ccbaa8791dd9e81da15e3a32191be7194e20d92917a888a8edd22",{"version":"38d41e008a795cd17529fddc2623e063d32cf7ec976a441fda720f2d20c2f88a","impliedFormat":99},{"version":"91407743d47699adac8c5d7b98886e2557c7ba96c28a0271b186b02acb44c175","impliedFormat":99},"37358bcb810f25147fbf8f02f5fadb9b3b18ba361324ee2816e259272a1728ca","0f383ebccf9a02a1bfc0c2814aad3799c878789df11802a851f0fc555fdcac21","5b88141e15cfbfdb8db9acbde1b58e0a65ce6eb7d4a1c2965afc95fae5b20adf",{"version":"c57b441e0c0a9cbdfa7d850dae1f8a387d6f81cbffbc3cd0465d530084c2417d","impliedFormat":99},{"version":"8658354b90861a76abc7b3c04ece2124295c7da0cc4c4d31c2c78d8607188d03","impliedFormat":1},"91d4f0916864d87f8b8fd10283a3b0078f5b70089862a02f04fef781d9278f51",{"version":"024829c0b317972acf4f871bf701525f81896ad74015f1a52d46ae6036205cb9","impliedFormat":99},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"0943a6e4e026d0de8a4969ee975a7283e0627bf41aa4635d8502f6f24365ac9b","impliedFormat":99},{"version":"1461efc4aefd3e999244f238f59c9b9753a7e3dfede923ebe2b4a11d6e13a0d0","impliedFormat":99},{"version":"7ec047b73f621c526468517fea779fec2007dd05baa880989def59126c98ef79","impliedFormat":99},{"version":"8dd450de6d756cee0761f277c6dc58b0b5a66b8c274b980949318b8cad26d712","impliedFormat":99},{"version":"904d6ad970b6bd825449480488a73d9b98432357ab38cf8d31ffd651ae376ff5","impliedFormat":99},{"version":"dfcf16e716338e9fe8cf790ac7756f61c85b83b699861df970661e97bf482692","impliedFormat":99},{"version":"31c30cc54e8c3da37c8e2e40e5658471f65915df22d348990d1601901e8c9ff3","impliedFormat":99},{"version":"36d8011f1437aecf0e6e88677d933e4fb3403557f086f4ac00c5a4cb6d028ac2","impliedFormat":99},{"version":"8085954ba165e611c6230596078063627f3656fed3fb68ad1e36a414c4d7599a","impliedFormat":99},{"version":"2c57db2bf2dbd9e8ef4853be7257d62a1cb72845f7b976bb4ee827d362675f96","impliedFormat":99},{"version":"6b5f886fe41e2e767168e491fe6048398ed6439d44e006d9f51cc31265f08978","impliedFormat":99},{"version":"56a87e37f91f5625eb7d5f8394904f3f1e2a90fb08f347161dc94f1ae586bdd0","impliedFormat":99},{"version":"6b863463764ae572b9ada405bf77aac37b5e5089a3ab420d0862e4471051393b","impliedFormat":99},{"version":"68b6a7501a56babd7bcd840e0d638ee7ec582f1e70b3c36ebf32e5e5836913c8","impliedFormat":99},{"version":"89783bd45ab35df55203b522f8271500189c3526976af533a599a86caaf31362","impliedFormat":99},{"version":"6da2e0928bdab05861abc4e4abebea0c7cf0b67e25374ba35a94df2269563dd8","impliedFormat":99},{"version":"e7b00bec016013bcde74268d837a8b57173951add2b23c8fd12ffe57f204d88f","impliedFormat":99},{"version":"26e6c521a290630ea31f0205a46a87cab35faac96e2b30606f37bae7bcda4f9d","impliedFormat":99},{"version":"71acd198e19fa38447a3cbc5c33f2f5a719d933fccf314aaff0e8b0593271324","impliedFormat":99},{"version":"044047026c70439867589d8596ffe417b56158a1f054034f590166dd793b676b","impliedFormat":99},{"version":"89ad9a4e8044299f356f38879a1c2176bc60c997519b442c92cc5a70b731a360","impliedFormat":99},{"version":"fd4f58cd6b5fc8ce8af0d04bfef5142f15c4bafaac9a9899c6daa056f10bb517","impliedFormat":99},{"version":"2a00cea77767cb26393ee6f972fd32941249a0d65b246bfcb20a780a2b919a21","impliedFormat":99},{"version":"440cb5b34e06fabe3dcb13a3f77b98d771bf696857c8e97ce170b4f345f8a26b","impliedFormat":99},{"version":"5bc7f0946c94e23765bd1b8f62dc3ab65d7716285ca7cf45609f57777ddb436f","impliedFormat":99},{"version":"7d5a5e603a68faea3d978630a84cacad7668f11e14164c4dd10224fa1e210f56","impliedFormat":99},{"version":"2535fc1a5fe64892783ff8f61321b181c24f824e688a4a05ae738da33466605b","impliedFormat":99},{"version":"cbfd5ef0c8fdb4983202252b5f5758a579f4500edc3b9ad413da60cffb5c3564","impliedFormat":99},{"version":"9f7a3c434912fd3feb87af4aabdf0d1b614152ecb5e7b2aa1fff3429879cdd51","impliedFormat":99},{"version":"99d1a601593495371e798da1850b52877bf63d0678f15722d5f048e404f002e4","impliedFormat":99},{"version":"1179ef8174e0e4a09d35576199df04803b1db17c0fb35b9326442884bc0b0cce","impliedFormat":99},{"version":"9c580c6eae94f8c9a38373566e59d5c3282dc194aa266b23a50686fe10560159","impliedFormat":99},{"version":"cc3738ba01d9af5ba1206a313896837ff8779791afcd9869e582783550f17f38","impliedFormat":99},{"version":"a80ec72f5e178862476deaeed532c305bdfcd3627014ae7ac2901356d794fc93","impliedFormat":99},{"version":"4a5aa16151dbec524bb043a5cbce2c3fec75957d175475c115a953aca53999a9","impliedFormat":99},{"version":"7a14bf21ae8a29d64c42173c08f026928daf418bed1b97b37ac4bb2aa197b89b","impliedFormat":99},{"version":"c5013d60cbff572255ccc87c314c39e198c8cc6c5aa7855db7a21b79e06a510f","impliedFormat":99},{"version":"69ec8d900cfec3d40e50490fedbbea5c1b49d32c38adbc236e73a3b8978c0b11","impliedFormat":99},{"version":"7fd629484ba6772b686885b443914655089246f75a13dd685845d0abae337671","impliedFormat":99},{"version":"13dcccb62e8537329ac0448f088ab16fe5b0bbed71e56906d28d202072759804","impliedFormat":99},{"version":"233267a4a036c64aee95f66a0d31e3e0ef048cccc57dd66f9cf87582b38691e4","impliedFormat":99},{"version":"ccb9fbe369885d02cf6c2b2948fb5060451565d37b04356bbe753807f98e0682","impliedFormat":99},{"version":"2fbe402f0ee5aa8ab55367f88030f79d46211c0a0f342becaa9f648bf8534e9d","impliedFormat":1},{"version":"b94258ef37e67474ac5522e9c519489a55dcb3d4a8f645e335fc68ea2215fe88","impliedFormat":1},"8aaffb829c5190f388200656bc18a64d5d5153d710da447d1391ce358db9cfd6","1560ca796d36ac52d463910cfc1ecff4a48275917c8c0869f9d2c55b77d32656","e37ff30832dfeee34608f0621fa971ecc7a9e3f7f41ff170f8faa7d91a5e3f8b","0a4d13e80bbecefc7ba77bdbdafa47b23a790147421b9f59a760438478e8414a","f42892db3e269860c8fe702b02d266bc3607f1808bf4e15711ad100a1873945d","4ab3a5ebf49650921476962a68bb3978a157bfefc0de1448fb15491603d832f5","b88545c68a7134306375ca37b2b7566ab1fde6f83b5ba6fc1d7c66a60ff77399","5ee244ab9fcb7524672013b8bb4affb9235450c38bc1bcdb3d0bc0aeb6d7b369","845423b448620c28bc8ed114ea672e1e1f62bbdf14e1013cf4c6b87a0af1e37f","fa71c18bcc895a8b77d21b002fb7b8cc8c316aa522d51e73cbe5aa7536a965c6","17f576dc5b8b52a6fa46f782be100c68e7a8c93089b2ba9d52464279c635dd44","46f6a3f92d42aa3d298123f56d2c77baeba4e965e6fffbd5cca24e74ff9fbbac","f2fe28e5ef25028bc6088bb7e08019c1d3d35d029811a60e6a25273c83dcc60e","1946d2935c9fdde5b153566653dccab78a48f52366eaafcb86c12e0fbd9d79ad","1d91f31d182f596380bf95effab0991895c17502a99badc75726e5e58b372b9d","36da78021a11edb36e196a8924fd24a98bf23bc012f7aaf0516c9cae674b42f9","843c62f9a3c8de2a86cd19d4f1e02fd93fecbe844859978bd0d7b6d9d559d63f","a5f693aaa7401655656f3dd25a32dc3c10522d7942411d521efe6389548db575","7021d322b24c9758afd3f8af59dbcb1415990a9bb47a52c3119d5cb5ecb011cb","7647c7ea4e5a74a11ff270fb5f5d26e62f73a0975a52eaca450989cdac3c0abb","cdfe964db8cfc511c4e76b5dbd9511932053ea2787f988327b70e2466ba387fc","65aca561080322e6f00e329705aabb13fb76803025d6a6dab9db7fb5b3b6ed4b","e58e855325dcf4b8ecd0d43d9510ce84a7c3923f3b627cfeff513621d3cf9fe9","4528c3ab2275701016dff4519c3e77d1d01b93f5f294799506d3ce07f4d306ea","173efda82ec543896641ede8961a5794c2213b3401175a34f85865b7b0b8b2cf","2ff2b0dd869d0e298be0e93d486378309e4425b185dd890feacabe38d6505962","b066b37a751c3d85bb7707b40b12346f76b7ba59a8380a515073a5c6e57f3f4f","a1361ca6dd51c45d15d74febadad7c234e8cb704fa289f791d96c89c5ba02962","9a5d3970ab0093a5075f7cddc3b547f838f97d3c1b9c8a94f98d25d98f87a588","7104a243f9e5b13efc0e8b8de76ae846dd359d686ef81887dca0479f9126006b","d2c129bb910872f90f9615f8136b081379d9417b6cde9119d30674dbe4b9ee8f","acfbc6b3d859185e8b46191941fb27c2f5ef17b1c8bfd0dd743e08fa01ab15bd","397244452c51ceaa44345857ee214a35f7541900795b64e3b96c68f0935a799c","13d54173800f17ec95a29e350e807b6b4402e59d98295073d3ae7e554d1711f4","3cea514afd42acd90a0190b6cd87caf95f620c0016ab5524505f4b68defa896c","11eedcac01cbf33507aa6899ccebc5d1d0143a702dbb213602b43d5bf67cffcf","c35ddb8e04f1b1dc3cacb7b3b5bae05cd8cf2f25aebdf881b02f0d654f7cd33d","3c483319183f5519e4e2a5a703d58cfc27e02b1bd7de5d441fad7e1c58d24bfd","56e22c96e36a25fc7034c66e6ef6e5adc368231cfabfb89bce5f4a9140e3a671","6b42c2e007cd836c5f2fb5e5795b10008f4f24df8040a1d648d2a0c887d22227",{"version":"41a3c233eaf120c47c05501d5eadc56948203af00403838bf74a722ed028a313","impliedFormat":99},{"version":"3670561369ca68a09d52476b583259506a7fb405f8766a1be016d92a795425df","impliedFormat":99},{"version":"c18e72b043d29d83286b33917b380ea78dc695fd31e2834e17133a17539a94bb","impliedFormat":99},{"version":"24f97620d161b9c421246ba30172522e00cb21524f8ece75e275cdf30e22eab5","impliedFormat":99},{"version":"43a1c4c14c1d87ddfeec20e9b044c69db6da86fe868ca8833b8ab5c81b326c68","impliedFormat":99},{"version":"a5a72c4adbbbd805860d5c2b847e25b45b3a6dcbdf471cda1e206c7c4e9f6bd6","impliedFormat":99},{"version":"acca062f4ecb504ba5a1a479b3c2ffb2a6957925f83ac7efdb0b0aba11aefa1c","impliedFormat":99},{"version":"72daabbd93e93b80aa2de51f9e039cf7fcff47c51a9154425cc6a902c3522959","impliedFormat":99},{"version":"2099dbc466f37ac4364a71360471f844929db80aaf41629b260852f075b7e95f","impliedFormat":99},{"version":"38d63c3e7dff35365e72859b041a09b0ba3507e1fb10198c64b2fa31c1f4c6ae","impliedFormat":99},{"version":"24397529aec71e82a879b881f6179fbafb23fdce7aab0de18d4eae73d77d32e8","impliedFormat":99},{"version":"e0e20dda0bb709540cea318a9cec834ad4e8529f2f53234a23094343efc8b19e","impliedFormat":99},{"version":"758359ab39eb58fdc1340f5ddb5743b9bd5f7f5f37d58202b01a0de2fa6e38bf","impliedFormat":99},{"version":"e9cd6b1c0f5b49e2771e96ddcba10cab43d9df34c80bb6ed5a5fd31462cf23c9","impliedFormat":99},{"version":"bb573d0b9de06c261a63b6697dc6148421794a51566690b36af5e616962aa980","impliedFormat":99},{"version":"c9f2ebfd4bdc356a24c0a659efc9ab4832a246fff1cd713729e3997740efb57a","impliedFormat":99},{"version":"0630f136ee5704beb9e4c905abe59ee8cf3feddbf26d9fd0d7d9c226082aafef","impliedFormat":99},{"version":"585638c97811f86301c6396518f349e4f692c7b66e9946a794a828483c804ad6","impliedFormat":99},{"version":"1bf1fcf895db1e2a2221a75cbad91ba1cdf654c0e73018398453f127eb14682a","impliedFormat":99},{"version":"92274791f9af7731fd88b2ded67cd684099f2d268238fe2c099924c6952dc3b6","impliedFormat":99},{"version":"523101fd85530559aa9f0175a8c6ce1d3a80ef2234ebdd13d64d6b81361e929a","impliedFormat":99},{"version":"8685357eaac6a23e2c808cbfe4f73d2454f65c54acadea1579ab4b5755e6b6b3","impliedFormat":99},{"version":"1a0cc12da0de949c4dc73aecd3c3896285f0c1af51a663655e6b71a6130c3e82","impliedFormat":99},{"version":"04004ba4ff682db11df64bf5d5cb1c09616cae3c424e41d18b00bc14ac4f7b6a","impliedFormat":99},{"version":"d95236c56f7f89c2ca50b0573fbdc889609dc87efbf09fa57fcfc2daddfcbf3e","impliedFormat":99},{"version":"8090920245b6bb972deed05e9592ca886a017701fde5aa9e4559714863586823","impliedFormat":99},{"version":"cbbb0bd07f4c7491d2f9af50699a8ec2b22351636335e6275e037ddda7eba7b2","impliedFormat":99},{"version":"61f43d11b4e1548c0197bf72094864d16dedc43371f92c07c44de83473e6369e","impliedFormat":99},{"version":"4d54b2df904582f2b7fdc63a7ea3e0196b74f96cfc72a524770f7a8ba1172d05","impliedFormat":99},{"version":"1a46550a0d8f494566e69a915451468338f1a3331e3ac4afbb52bf0d52bcd647","impliedFormat":99},{"version":"f0d2acb0f37fc5fcf4829220a88bc0e3b5fc8f6d4fd18c30e960c4c31d0998f9","impliedFormat":99},{"version":"62468010f26e1398fa8d2c787a24b1920264497f70b1291697170d51e8c93d15","impliedFormat":99},{"version":"ee40b5746f4aea666abdc84469686077cbb0b1f9e128ca15c7c2f6318fd2faf2","impliedFormat":99},{"version":"11a4440d50d17aae2021ed56bd723619d2f3526966b66b8ee71f99f90aee001b","impliedFormat":99},{"version":"0e7444c2c5c62592662463f953ac5e51f7f7fa02730704e76494bd35659621a1","impliedFormat":99},{"version":"526703c640b52e2a6e362f03dc3c2edc21649a3ca73503d2848ff6f124c2456e","impliedFormat":99},{"version":"5ddd6faa3ef0097ba3c0d64ef86021785d54aca62d672d60f7dac465e15630bb","impliedFormat":99},{"version":"c1f0e5b2a899399fa1788ab79f55b8908841a7dc01baaa8fbc9468fa1a705dc6","impliedFormat":99},{"version":"1f32b1d6620d7831af97596fe6cebc1d4796d65b16592fb6ed542bf2aa580dbe","impliedFormat":99},{"version":"887f38bd46cd7bd27122853c6a3a3f19f93de4138d345bc01f25d97702afb856","impliedFormat":99},{"version":"e95243b24b3a9f410886c29e4a6f05b9174257e0da0151e742f73f65fffe6860","impliedFormat":99},{"version":"606bf8ab190fea5213f45fa8d187f232f5ede10db66c4d2640e466b1eb010723","impliedFormat":99},{"version":"ec66f21c2debd53c8dc23034359ef14fb315cbf911a1c2268af7fd2c61d05538","impliedFormat":99},{"version":"87a87fe8dc65ebaf5d1f296fca81a3a7b02d99d9955dbbd240a6150052c0aafe","impliedFormat":99},{"version":"88cea16c4f051deba1578741810dde95361a3f3d6198829eee1c7aa3b27f5602","impliedFormat":99},{"version":"2f1207758095b2af21b93256eb916a8e3ad916d259c0f8f2bb212b7f00700eb4","impliedFormat":99},{"version":"a5e9081741bf85356d256b96ed191a407e674733ba3c634ff36b2c5498789337","impliedFormat":99},{"version":"0da2fc8007d5d7cba3fe5c9db6a3517e1253409397686f218f7bc780706eb30b","impliedFormat":99},{"version":"b49949a16a4cbe1bca5a73e165f5d46431cb37040f4558df54d50df429c2c38f","impliedFormat":99},{"version":"19b0f0727865e775d21de405d2700c3196f6621bfa619c8c73ef1e1ad964ff55","impliedFormat":99},{"version":"40525b8ec87e8e63e18975722a0f02313942962162fad09caa212f6858effba9","impliedFormat":99},{"version":"cd0e5287f17e1eb6527b1e8b9a706a27e3cbe77f9926430c083fe908a89e2cdd","impliedFormat":99},{"version":"9aacfa9c2cca9598ea4ab8168f77629258e3349292ef281beb8be4948d18228a","impliedFormat":99},{"version":"a3db855047aca46f97fc3b4208b5032ffca77a88985a5e377e85807ecf90bb33","impliedFormat":99},{"version":"e6dbac9ac42976ad196b59756bb60b6588e582307d8c75a4e7971e42e455572b","impliedFormat":99},{"version":"644df01317e55aa6b46b8f3c3c5f9f90eb4947c23dd059bba22d78625005bbfd","impliedFormat":99},{"version":"76a7523ee41103396246de53afb3e103abb7532991de1f3f8fa8384a605ad611","impliedFormat":99},{"version":"1cbcef88c4eecb1de19882fe26349a5cfd44f7b3d5eeaa77f2d0926767cf4495","impliedFormat":99},{"version":"5241e12bc1969d2e0afc0ce91f2da1fc76017ea4e7564b0395f6b8ce35f60d97","impliedFormat":99},{"version":"279ed1bfa8cf4829fbd653c446d786ac5e2a0cef055fe017deabd3076a6fce49","impliedFormat":99},{"version":"bdc8be81152eedd261b069237d84bfdfdd9b5d998a89a3133c8590001df12b6f","impliedFormat":99},{"version":"d308a5d41f15e3a15443ac397c007bd251f4aa046fe4df96db55730b186225c6","impliedFormat":99},{"version":"471d7a10e4396aa877d9cd6292967c95dbfd07fbf62742df615ade1b09e8b435","impliedFormat":99},{"version":"a2a48a2515b88aee6190fa34e149e084ddeb4e9412217ae86fe2949701a835a5","impliedFormat":99},{"version":"8c4a3b1dce4fe45431ca488e303b4d44e4ad66c18eaba9bb3fa6512f4b642a53","impliedFormat":99},{"version":"cba1b57ba0b082720cec477229bcf0d1b701d6a5e3df9d7167e8010bdac15508","impliedFormat":99},{"version":"cfc0c66f91c2c6f41fdc59a658e6e01698c17c13b447911dccc9074167671ee6","impliedFormat":99},{"version":"947ce55683a307873d47ff95a503036b70beb5fed68e4c10dc219faf8ca8b530","impliedFormat":99},{"version":"f0c625c44dcd9eae0094c138637c7e4e333782574df09903050d8dcac006053d","impliedFormat":99},{"version":"d453aa5944b07ef8d739296d9547df75c19a665f0b17ea085640ef9f02caced3","impliedFormat":99},{"version":"e14025e566058d9fd7d9baae9c937a9ad5220ddb87ffb250583b95a85d4d527f","impliedFormat":99},{"version":"0143111a64deefba83c688e35d9b81b6c2688c0323831c411c4fdfba72220b6b","impliedFormat":99},{"version":"9b02af01eaed2a35b94ffd191a27659a70dbe4b9ffb369d8d791c3070eecd3d4","impliedFormat":99},{"version":"adfa5d8d9788fd85749e849cb15277b46a1306c117b4dd73eaa4e35586b67e62","impliedFormat":99},{"version":"c9386c27a10b6a607d8583dd0cc0cbb8dbb5e18e4e0eb3f85f9a45baa9671546","impliedFormat":99},{"version":"a3d092ee18c11b913571df6019a224bbd07ab14830accfa31558598852a7afe0","impliedFormat":99},{"version":"30bdf14c7ed60f3a3d9998fc862800b636afd861089aef669c49266576d5f78c","impliedFormat":99},{"version":"bb3caf11814f7265729f580f52f463d6ffb6b755d9bbe8d4aeb9848c5fef26fd","impliedFormat":99},{"version":"cb9f1584cfdb5f4b9fdf0b838cc2872f0cde4dd7ec6345fd99264ed0bf71831b","impliedFormat":99},{"version":"2454f5d5b0a053c9e65f62bc73905e86e5dc113d86aace26fbea1e74902bcc0a","impliedFormat":99},{"version":"9d5a231dc0db79e4c0381581956d35750956c067812867e3f9d379b9b43248d8","impliedFormat":99},{"version":"378885d39de12f15e3960dbe68916154a6c8dcbdff72df5d09b2b504a9a65565","impliedFormat":99},{"version":"8ff9ad3a9f35597251c664432033f5f9db25a71b887bb7c5f3111fd57755f32b","impliedFormat":99},{"version":"d91b2cf7b3baa8302d63038d8612b1aab48efcc0bf5f9b11d3bdba358b365308","impliedFormat":99},{"version":"59274bbf27983be9810f88969e30c1899cef2f07e2ad37a17aad504466cb6cd7","impliedFormat":99},{"version":"0ea47f42ee816b289fd31ae2dd431203439392f34949180847e910d1f236df5d","impliedFormat":99},{"version":"7f4b0d988fffac25e8b99d53344e6cae20da15912496a892dc113d98982be6f5","impliedFormat":99},{"version":"446401e1e324921d25439a67f39b2356fc78c4f0e0aef23666379d84e9cf89f0","impliedFormat":99},{"version":"3886d0501785ef1a7139fd5360758c4e06fb370768e7abdcb7701dd89ee2c0b5","impliedFormat":99},{"version":"da36e84c3469c725c3f95c88922e3a9a38d75bbc9b5235711b3882609b7bb690","impliedFormat":99},{"version":"fb2331578931cd9b4a074dad8f761f5d7bf4ffe4be1cf42168de580871f81676","impliedFormat":99},{"version":"13445ea5f883f11166f5c1bb7d10f9fb602ca04c8ba37f1fce541b99dbafa440","impliedFormat":99},{"version":"4e69f563abc4910a81f9bd9ba16eab762ad94f1805aaaaa356780fb44d2013e5","impliedFormat":99},{"version":"729f5bda320a664a3b427633d4608fb2de329a54c0c9126cf37bdef529770c98","impliedFormat":99},{"version":"4eed6be4e1f8c3b30b53760af31120d3cefd981a23c94af3c2f33b13ebb6d88d","impliedFormat":99},{"version":"3f2b7367ee831669c773edce5547bcad1159e045f4983c0cbb1acac86d5b5cae","impliedFormat":99},{"version":"ecf6628b6de4ab2097eeb61d810a8e8f83b2f32cbb25aeea3f3e02aa87b4db50","impliedFormat":99},{"version":"b5c1a561b4510dd597fef4380a16e642d6ef3cce51610f0a10fa551ef21633f4","impliedFormat":99},{"version":"bef6e54976d3bc274ef623cc52c323228df7e71a18d7efb8b8326bfe841a8662","impliedFormat":99},{"version":"a112b882bace2440d365474987e0d62657ec0b05821cfa11c5bb69bc51b62634","impliedFormat":99},{"version":"36d2861063b4466b217118725f63fda2001067bfed6407057567d41560c8850f","impliedFormat":99},{"version":"bbc65478104dc679951ff2988d1fdecbd066a9c6ab469eb5b994ea271b7fb724","impliedFormat":99},{"version":"9438e581b06ebf30041297db2ecb993e732b897e29f653eea7719e7904758e93","impliedFormat":99},{"version":"4c413d48eff8f50b8b3f361f231f07707241174eda70dcdff163626dd412e363","impliedFormat":99},{"version":"445653b1ccbbf22009cad4953757fb810f65d313e60526be256665dbffc76a93","impliedFormat":99},{"version":"9cfb34e97729d62aa06bd1f237ec107ea08f7d99874fec5842b4c40ac3767f29","impliedFormat":99},{"version":"358f53870afb50137b0febe4dce1c5e1875553cbd1dfbd59c911d8757d751459","impliedFormat":99},{"version":"5fafb533b24b3cc866b94153881b79815b0cff20969b1b132d266669b6faeff9","impliedFormat":99},{"version":"36cc6e9ec80b9f87389af9dcbffe3554766ebc0eef19eb832c35d3b2b57fa4b7","impliedFormat":99},{"version":"57dcc891c7ce218c3367b8919f93111274361caa23ddf631f6728eb4b69c73b9","impliedFormat":99},{"version":"250c818258ee810d6686d71c3e742803a3cb366064174ab47804921152807c2d","impliedFormat":99},{"version":"0176e8839a101f835597b1ba38e64b2ce7efe98ed63ba893d37968757171c04d","impliedFormat":99},{"version":"aff778492d364e97e647357629660027281eee4ff87761e73cf6d536bc703456","impliedFormat":99},{"version":"90dd653f3958e52ec5e566299e000bc9d4469b0faa40e32931f90d20eb5483df","impliedFormat":99},{"version":"c4272a849d65ce90763bedc02ad31ba374aab2b542d69fe7c79da2c689241678","impliedFormat":99},{"version":"24f01c4507f2c5527b8fe1cbaf25d3439304c503b1825fe0340e06ba319ea1e7","impliedFormat":99},{"version":"072f8a0ccdcb05fc0ef047ab63e057e723caa7b60d193cf0922ef86e42205a52","impliedFormat":99},{"version":"077dceca4e374e246b03df8e185408f22d317ce1b33db22c0cec9a59b5753e7d","impliedFormat":99},{"version":"99d37f9ff252cacfddd4744f3d1f736fbe733b762c6de6dd1d48059ba46beb4f","impliedFormat":99},{"version":"ad61b1b1341264580b5eee0e6e8f107cc1ee47675bf4476f4a05d28b8440b8d6","impliedFormat":99},{"version":"d783a003c0c534585704f16f435ad66185d32fd90fefdd60db3a60da6659336f","impliedFormat":99},{"version":"1f8b4a56d208e8d44879dc87bfc23e37a8d6282f3873b785c87559a2fdcfb5ff","impliedFormat":99},{"version":"5c5602a73d94e9f230a13aa4e20758ed7126f107187c70e4375aef40f6731b56","impliedFormat":99},{"version":"fe3dd75e8dea26d91ab4b5996d38f63994297e955d5060035c35cdea5c4637ac","impliedFormat":99},{"version":"4a5f2bff495d0276b6635d90ac177c0364a67b4fe0399cca1dbf4b4da7d770a3","impliedFormat":99},{"version":"b3bfeaa99d47de0a2acde802241b587d4ce8e3fda00c2d82d11ae63bfa1bd292","impliedFormat":99},"e9972acc5a82ebb284dd5a15038cc376db721cb0d72b6fbaae8aaa2bbbdc3e9e","2759d0c6f243f6d775f0673a8a1a8d4feafa9bee4c334027ab05ccffab084a0d","cc8444f0f6d6edde3771c5c73698b30e8e649672c3cb84705430c0311fdebb58","fe0a69aa11bd47f37d4125551f05b54db13cdb2ed4baee5d4964d03787e83263","b04b36446e10335dc60fd2b038668520bc0e536936bf067cb0b5d6e4941e9184","d39e8d50e7fd5bd0a099a5379674d3fa582032a2f3f8a148b6b4aeb5cd20c3fd",{"version":"2308c79679c2dc5d7aa508a6235aa684b8046003ec789d45b3dced4b2a73cb9f","affectsGlobalScope":true},"504e61c40b503d09ba8eac8136ef3467f22723c4d43146afbb115f0b19efbd82","1f3ec5188e1d8b1d3f44cd902518d03369e072e4d3c2c1390e462cba3b96ddd2",{"version":"091ad46298e439dd7891d101970467abdbdc86a4548c09ffd49429fd37106083","impliedFormat":99},{"version":"1cad07d6261ed2857f8c6c5d12405fb4c85bca655068b6ebbddf2d224d50bc02","impliedFormat":99},{"version":"f139cc201007c3127c4a4d9211f1f63f7a26aedfa7120e52da1955002f621e50","impliedFormat":99},{"version":"5910958d1e102c74bd1b5466fc9791ebc7d81b712cb268de2109218b071268dd","impliedFormat":99},{"version":"1c520311926707b2ebb80be72da4b08f5b103136727e633845778cbc596b8cfa","impliedFormat":99},{"version":"8e8c0567bc007bb72e715dfd346c2e9babcb241867a05c6e6a9b89551d32c240","impliedFormat":99},{"version":"7e96e2dadec9f298a9d18ab2246f070c1c90c48f860643c06ae747563852c5f0","impliedFormat":99},{"version":"706b479fe85dbbf23f634dbd40134033cf783fe8dcf56ac36e4aa4dee8dc7e6d","impliedFormat":99},{"version":"a8669fcf0896abc9ba9eac9b6bd99df5185b94304f1b4386dfe3f74757d27e56","impliedFormat":99},{"version":"8e421b7da6e8fbda876c162b16cad2f32a36ab36497525fb8d1b6eb142342d94","impliedFormat":99},{"version":"3f4bb2ba11bccb5e01dd89d68ae9a493efd248e9f46a42d3e4976e66381393f8","impliedFormat":99},{"version":"2320b7df4bf47158a996a7184c408e0d1ae7504b132b614f28c287ae9a999f4f","impliedFormat":99},{"version":"434f7c26ef7ac14e1d5aee137083420be8ad2ca86f2d4729d51d7f434fd4a9fe","impliedFormat":99},{"version":"f948dc6764ed9f488a017645ecbef0ea5d3d6c712a49dda6b9d7e516cf0434d8","impliedFormat":99},{"version":"0545dbbe15de151654ef09b6c5df7528fdb0fd7fb2c9683290f3ac87395b5007","impliedFormat":99},{"version":"2c9729040aec124d66155608ad7b2ad0a113e73b5d9dac24b7b62d2a4c265b66","impliedFormat":99},{"version":"2ca1c87742497a198adbc66aa9c7fbbb6e6ae02c82b3ef3b31cfef28c798096d","impliedFormat":99},{"version":"4565c9d4c27676fbbe53f72f9e5e2238f0a9d105b709631a0c014b4693d6f86f","impliedFormat":99},{"version":"962a90dae2248ccc57db8939fe9db47f3eb774d7a8191234c4add1b2d734c84b","impliedFormat":99},{"version":"9a0859252ba4af8b8b7d9e64ca9f6ef2219e4e7406a0baafa4a6b9f9af08b62a","impliedFormat":99},{"version":"df296373e612082dfe1b8e57b00c95640c9560f15d4f68e8f8d8b33eeed12376","impliedFormat":99},{"version":"1ffc6ab96228da6658d247e8c32070de2d7c54c4e1d1360aacad9c5ae2e24bad","impliedFormat":99},{"version":"d2e093f5917a76e6fd9715239ee8fed1c013fa931b8c2f62a423077a6536ae2d","impliedFormat":99},{"version":"c5cb0ebdd4f027070acb2629fe7908ec31bae348d77ed167c2fc6b547c1deb25","impliedFormat":99},{"version":"68b626d883443c1854464b69f9a9359ba7748f0faf3cc54ca00d45661813956b","impliedFormat":99},{"version":"f4d006f77065c0ffbca5a083aecc50f2d5d6f4ca2c99a644a7fcb8208f6efc61","impliedFormat":99},{"version":"87b411b3ccfd63deaf295e4089fe34ed84c6be77697d1717a3965627725941b5","impliedFormat":99},{"version":"7867bd68a003910f59f7062199d0b3a334e2d4aa3998ddef379c9e6a8bb850ba","impliedFormat":99},{"version":"13e281bc4291bde73c29e061546c575e1676556886f5ea5c32ae99f6e7f973f1","impliedFormat":99},{"version":"2033da3ad1d997038196df66251ae3ad6035ba9914422dca264bb0ae40329369","impliedFormat":99},{"version":"39766e0bc951ac82d1ebb0872e5a4610af3b8aca62d00f0f8609f3cb92367f5e","impliedFormat":99},{"version":"48237210b09840ce2a73fea713b06e2648528cd87a8caa059911f5232007cf70","impliedFormat":99},{"version":"b5b3826d174268c027eaac88be948b0547d6a53fa92e83b2ef19648a7858b398","impliedFormat":99},{"version":"e07df745efdcc7d8629b5293b56b608cd9aba848613ba83d35f16a3385f8d67a","impliedFormat":99},{"version":"1f1eb5866aa022b3210578931107370c6faedf285581eb160d2633121b31ee79","impliedFormat":99},{"version":"4f9e92aca534aa0b080e094f7f0dc7f64acf1db97feb10e4a2538f41fd216ff9","impliedFormat":99},{"version":"2278dc73e0e9f1773362449b2ca6dd260384b21ac3a0843d9f3948fcbbbf8117","impliedFormat":99},{"version":"10d385b968d2df11e85e4c2e42a1e8e12da259ec47df8d8c8274e391c48878d5","impliedFormat":99},{"version":"af83003a04d49181a3c86232d2da43c9f8d40db6665b004b3204b85988834bb4","impliedFormat":99},{"version":"95ce8876b346deb5357de135bfd570b03a291d9f9ac9f0e920de4cafa72e6157","impliedFormat":99},{"version":"9415cbdc11666a7d262db9fbb1624ae158d2af0a3362253b9de611d816ee9b69","impliedFormat":99},{"version":"da7dc41675a537b5e2916f8141dfc4aff0f5c6a1ec07b4bfbca0605b8032f9d2","impliedFormat":99},{"version":"aa8facec6ebb0d73624f7288a135ff46511bbbe2eaf3e445999395f4270b2bd9","impliedFormat":99},{"version":"762639c6c5d6f85c2f712f36fb3126f27955305a854e74e8cdf10ad8852dbbb9","impliedFormat":99},{"version":"e5c3799a6f9262db9d6de8fa2724b22b961d2551991a8b3884996c8784787ef8","impliedFormat":99},{"version":"b232233a5149739f368d2b11d866394081d77a3ba0e4980c5b6508869881bc25","impliedFormat":99},{"version":"2a6c37c418da0411abf8ae917c2c88c710a18eb4acbb1723c0166a42b7a8c755","impliedFormat":99},{"version":"94fc60a69f128331572eeeedad12e94a3b0925845d84a3b7aa114f0d08876f7c","impliedFormat":99},{"version":"2e13f3d2ced30c876eb123c8ac691377a5112af5f8d698344f5a674c59ae555e","impliedFormat":99},{"version":"f06647f31ae08947e859d36b8bf93f8550182f4d84f296599db6b9cc5b5b3999","impliedFormat":99},{"version":"d508374ca6d0460ffe82cf3fc090a00882b14e7b9c20f4bc582ec61b0f67d826","impliedFormat":99},{"version":"3e6ec3e511b7d1c59c4bf8e62b1c0f680e449890df446447d86da07775730841","impliedFormat":99},{"version":"9fde1d41b64cd840baa634dc7102388767cc8a7d041abfc9eb6f8633a2f41708","impliedFormat":99},{"version":"ea3871e16a65d6538518950cfb382b1e24d433ab5332d65d8fa5693dff639061","impliedFormat":99},{"version":"38e7bf65590101bbebb9e9c5313284aeb1927e8984d7f6564e810f7cf06face6","impliedFormat":99},{"version":"0e536d1318c6031a96b721d3dfe4eb4ca996c84adf3e03971ed58f66349d7644","impliedFormat":99},{"version":"7a2f2d3b4914613c6a81a5b57e5c7d0cebb910ef4b73f1b0b57a40c57b5cf67c","impliedFormat":99},{"version":"93b0a9fcc282c60e927a42fc26ae600833d5a7246c6db0d6e3fd8683f10ed9f1","impliedFormat":99},{"version":"e53112a39dc0c489de0dc29e432566bd0b2a6bfbee784ae830ddcd9170ad4a2a","impliedFormat":99},{"version":"d0825237ac8417634a4556d0ef999d70b5cd89be66e5c9e0ea12ff8ae09f989f","impliedFormat":99},{"version":"6a530cb04d50a24b73fdfd4d6a42c6d2cb32c84e0f7da5f8384e1308be3f8f54","impliedFormat":99},{"version":"916752a7101dcf5e22d9f4acc00d0480e61668a328d0f521459f007473d15c33","impliedFormat":99},{"version":"b79539b48be723ed1436042f869c2ce47ffce7e998a664b51975485bbdbfdc98","impliedFormat":99},{"version":"49437dcad5a7340bc879396fe98df8589328e237679e72c4e2d2b77bf6bbc92e","impliedFormat":99},{"version":"f84ac7315986300ca9361cfa36cf877b381058f9471e92cfb9fe3a6253648127","impliedFormat":99},{"version":"86ade6e18a792a2d438fbfd61ac1c3fdb7bc85c8786278962df2ada6a0aa0fa7","impliedFormat":99},{"version":"aa95361b0aeb0180ac5013d34b301228f1499fc688e548e8eccb2832075321f4","impliedFormat":99},{"version":"d6abf42fc3eeee2951c4f92b1732c152962429446ec3143a4c227fadc38b231b","impliedFormat":99},{"version":"6579f20b13b6f9798898884432e3d99599948ce44fa4288ef71fafadbdc19299","impliedFormat":99},{"version":"7b335e802e23893004e909be8fc08c43522a60ac32df27e779f0d113fd078658","impliedFormat":99},{"version":"0a67638173eda7bdbc37e44decfb028720f1a708a6903d4f8cdc8ccf30b73cc8","impliedFormat":99},{"version":"e95e3a23cd01515156d49eff14bd0c6bda4b1f2e3a1be166b012ab63ec15bea6","impliedFormat":99},{"version":"98b3a28846cb1579b226efc48dd2179680493f507606b342cdf7ccd1a2af86b4","impliedFormat":99},{"version":"7d099569b09971942f88e17087a8aa0fb1cca17e307c46cf14170b920d8cb8ac","impliedFormat":99},{"version":"6bf6854002b7e7206f592730ea9cdd5a63c74573d1b542654c4c8e7e16af68d3","impliedFormat":99},{"version":"617da88a3194a7ab4d822db3003e9f89a7bde3e9550a81c5794dcf3a3c402e28","impliedFormat":99},{"version":"46e873703b2551becf54ffc657b5c6c7140e3e65750e02cdd892b5f78aec4bcf","impliedFormat":99},{"version":"3309262b4d4c01b673630552897c1fed45b7a0bec3ec1ff08ddc36516909b898","impliedFormat":99},{"version":"d73fd836e74e8ae983e3767d7eb4af6b91f2b0049482cfb2cce649e58879928f","impliedFormat":99},{"version":"428d450c10a6ad0114d7921d0dd061dac61882d0b519f5b9c0ff006b65861af4","impliedFormat":99},{"version":"16d47c4ded96a64c0b53e337c117e7f20ca6a09d4ba2879d871f66b4d7e52359","impliedFormat":99},{"version":"bd5cdf9c6dc62511af6f5975b2955aafe896ad1a5d7f561e5252c69a62565062","impliedFormat":99},{"version":"804cbf186a6123573cad71ceecbf03416757fd48c62388fc91b04fa95062fc58","impliedFormat":99},{"version":"04246eba017303cfa659ce442974c31b3c8d4011570542e851aa0ecf9fe9e0d5","impliedFormat":99},{"version":"2d96c0a743feddc1fe1ca3186cccd6f74ea882e25f0fb8ac74b25a4c7eea7109","impliedFormat":99},{"version":"89fe29912450e748a77b0320376668a05eff9eca647283d5e4a35b4a16c32eef","impliedFormat":99},{"version":"aab8d179e6fa0c87885a6002277ec3a069cdf614370eef5ba62ec1a6b43b7ba3","impliedFormat":99},{"version":"8df8850fee4df75425323438d2c8bbdbe05710f4cbd7bbd556a7e3e8d75d043a","impliedFormat":99},{"version":"2c9e1d24604cc0f841be1fbbc2d86f6c3da8f278f7451e225b01cdc998188038","impliedFormat":99},{"version":"1d0ab8575bfc2e3ce7e39b01aa2d6e4020407dab1f81c02ccb0d1668539ff540","impliedFormat":99},{"version":"6434c187dc67342b23a4bc60fb1a9b0b4ebe5e3922176f915088b1db88e4abf1","impliedFormat":99},{"version":"73ea53b8caa55c53436b9774f0422f00571a9196835a7b9f88b9ad22589deb57","impliedFormat":99},{"version":"90843e4fb5ac01d81b2f92f041e36edeb356e158eeabcd820da7f81842806f76","impliedFormat":99},{"version":"065d291963bb55d4477eb741ac9c8c2d98a78f79b16e3e651ff73c456a15e299","impliedFormat":99},{"version":"fe7b19aac44ff3ae1b2772e5dc17e901bb0aeac9956a23b114dce1309d9a47e4","impliedFormat":99},{"version":"54a9939dd3ae49687006c151df0603fe85233001db3e3bbde9b0eede003c644c","impliedFormat":99},{"version":"6e52bd988d7e831ec0c85c5b64f1e536296fb97d8dece257a2fbc0b5f434d7a6","impliedFormat":99},{"version":"455b9f8df0ad3b4e1d1334ab493a721a121181e784b5778872064f4a67425828","impliedFormat":99},{"version":"973cd75323b9f84812440f9335edf4d346361592c536883ed31c70e6b80ff778","impliedFormat":99},{"version":"58130427c1e931b5cdb4370ea17e4599d338e2ed180cfa1a25b6c759257992f8","impliedFormat":99},{"version":"55bbf8786b7a6f899ab47c22be380b286734a4f458ec00a34d3bb20fff9c3ce3","impliedFormat":99},{"version":"17d66b6a3414e635fc233b70098d33c48241f5ed367e941445b8d9e79f0be154","impliedFormat":99},{"version":"559052ef35ded27b14dcf693a4c16501651af4924f1d4ba18285b582272f935c","impliedFormat":99},{"version":"2cd45efcacfaa44508d6a2c83bbb27ed0ed2fe4bc4123ead691801551e45e30d","impliedFormat":99},{"version":"dda1b73d68730a8eece77733a1b9a98aef8b8cfb8e1a5448d0f8adc8cc4d967f","impliedFormat":99},{"version":"c95d402e26a31ca34158c7b14b32d45564f3ad4be112d6ee2baaba67c5754382","impliedFormat":99},{"version":"4c5f01646718608bc48ffa3680f2fe6c33e21baa60ea38f6263c5db5753a9bb1","impliedFormat":99},{"version":"85b14d995156c07474ae2533b3245ff2784730040a623beb52a0eae3007432e4","impliedFormat":99},{"version":"c76568a423cfaee9e048dd83faa5ad3736c50aca30688f94a4505bb0e19c0f55","impliedFormat":99},{"version":"9c078fe3559480637e95415ee0bd7f3196158b21b84dbae9ddb49241eabae09c","impliedFormat":99},{"version":"ccfa748912ecb617312e1edab096361b34754c36649380b9cb0e4b3b6e1758ec","impliedFormat":99},{"version":"eed70ad85299aa854c4b8b71b38ba20a04ddc11ff77cf440f22ea081362b4cb1","impliedFormat":99},{"version":"85772399424fc1ea2418a94eee5a86476c2dc324d78801d2a6eb3f1b8b9d366d","impliedFormat":99},{"version":"cf8efc7fb5f1ec3b78d088e7bf0ba398580e3e04dc336890848e843a9a2eafae","impliedFormat":99},{"version":"0f1d0bc4ef6744c30a6099cbec32cf4a42f00b70b12e264aacab4d99c8348389","impliedFormat":99},{"version":"7c9eea2b3442ebd85c6ab4287afebe3b97fb417aeb67a9069a4325cc7fc66126","impliedFormat":99},{"version":"e12b8458dae9efedb2d04b3a25cf914088c69f45a23c75bc84d90cf9e2a6636a","impliedFormat":99},{"version":"7555108a8b0df70b8e6de4f9e3c494409f4486204ce3a06295c94834fe1d210d","impliedFormat":99},{"version":"623c5eb3aadc90abfc69ab154e776e0a3b8b328c6403289f43083f6707433c4a","impliedFormat":99},{"version":"7d65f4f02591d4cc8a4086f9e93f8e9a7da3b606d46f0237198081463c8e2b2b","impliedFormat":99},{"version":"a5a9cf98f161ccc7c5a3956799c4cba27d9a3e36f73b68a2d056096ba663c744","impliedFormat":99},{"version":"eb1a24dea6aa7e92f0e49eb5635f2df5a8e7e046bb81fa525ad9b47680f1b57c","impliedFormat":99},{"version":"c450750f9568b59900613b9cfb84de672e94dd0036dc0e8f24cb70c04b019e9a","impliedFormat":99},{"version":"fcac49120e28d518deb8e52befb80d04be01f666001db6612861ed190973ac5f","impliedFormat":99},{"version":"ff553c410a8de082bcd94ddde6886717b32d3325c6418a4abb93fdf6608e23f9","impliedFormat":99},{"version":"d36e10d5c514f1d8db63457c798cad67cfdd5cc2e606615fe507cae5662a773e","impliedFormat":99},{"version":"bcd7453cd16ffa7b1c12cb2886b3e61d1d2f325fd2d7f56e6edbc2119b4f9345","impliedFormat":99},{"version":"552d0187326426be1d7b05faf6980a3095f735f6bc14c4f38aecccffd92ed7f6","impliedFormat":99},{"version":"892db6beeb20a8c03f521c44cb41807091e26fed212c67293b7c78d711da5d39","impliedFormat":99},{"version":"00e5eaf058be14f36c10c7eace603caadb7cea18eb689a445b1f6f250ce041f2","impliedFormat":99},{"version":"1e6ac276ed23b6dc862c7662de67707388343a38b9766899ff5fdf652e469d2e","impliedFormat":99},{"version":"a28165ddc1381f40b6b6baf4462acab9193d83e26a7417a07245c9b3a8442fa4","impliedFormat":99},{"version":"269b0cb4ade5e877061f769813291054a0d2c3e506e1e2c750925b7c1c3d5aec","impliedFormat":99},{"version":"eba080065ffaa571b58dfa00645bfce262fe83be873dedbe1d63fe51b8f40450","impliedFormat":99},{"version":"70de49f58b7450aaa453d41314f620dcb6d77a0109fe4eb20276fa12e50cc009","impliedFormat":99},{"version":"37b2c4cd9cd4b505a1c27f9f6c06fe27ffef1eb2cef604aaaf9981484fd455ad","impliedFormat":99},{"version":"adb0caa395cf68b5de68ae7289d695565b72e2e2640cfeed7157a8ad79e40caf","impliedFormat":99},{"version":"919c66ee56ef7a58e60e0cd90571e1279ec555b372a578a4062c5e07434b6383","impliedFormat":99},{"version":"c2b70f381ff3c7cc773d003a005ab3b00221ea80433252a6280308313216259b","impliedFormat":99},{"version":"e426a76da21df2e06814412cf6638ae157658707b0e201cc0ce5994a2d618867","impliedFormat":99},{"version":"0739cb1455bc7ee6b81dee19bec75073998a33a51e2e8d268e0164620309dcbb","impliedFormat":99},{"version":"d917c42beefcb99ffd5e3ae108381a0602d2c40c64a61b478f08aff167ba5b1e","impliedFormat":99},{"version":"c9c35332fcbaf93f8aa4b17cc488e2e0586d8c0fe464d4a9d65ca8cc6bd85329","impliedFormat":99},{"version":"5206a9bd977c91315df60e407be4778e273c9166123291970d0cbed57a4f25c4","impliedFormat":99},{"version":"343f27865f6f9d9fc4ebe65749d752ac79323b5c55f0a2218d47df2c4034f9d8","impliedFormat":99},{"version":"8019a4cf149acb6888f41af31d75f13b09a6c8fdf6f4017dd0e53ce76b20059e","impliedFormat":99},{"version":"9e95c6318942120572de2858483ed86ac86b15021eb5191484911b24396fcd00","impliedFormat":99},{"version":"056f93894a09d84c2c15c9da5da46954cf5796ad7b10fb03771af6cb59929b29","impliedFormat":99},{"version":"2551c5a6b9569cc0b0082921a0795f4dd5c8748c2069f5e4d3aa9373d8dd9513","impliedFormat":99},{"version":"2a5925f04dadc5ef2360731d22b022f6032ac6458bf3b89235b6e5c4372bf0bd","impliedFormat":99},{"version":"3d7af281d668e202480db15a7fcbf9accb9ecfa688b668038fb106a319f3ed5c","impliedFormat":99},{"version":"4c7d3c0a23ae5244919313c9e97c8e34866dcab5946461cffa97e553ad87a3ab","impliedFormat":99},{"version":"8cacba1161585c06b852af395311ee6852977491a2c0c7e9c60e7288434a8c27","impliedFormat":99},{"version":"c387fe7db525a0cfbe3ac66efcbe6ad0f4c74d6ff6fc25b84eabbb68027ee388","impliedFormat":99},{"version":"e8bc039da13eb4951be87e1048dd1497a69b811ca7fbc17009e67372352f2f3a","impliedFormat":99},{"version":"8b6173ab48664d4ce4df9ae59cddfefa2b43ad3ff5cc7ad7c70c5967c62874fa","impliedFormat":99},{"version":"c15386f9204b2372b16d4706107bd1e6626f935283104c90c8589bd1e0653295","impliedFormat":99},{"version":"87659416f52ed5e6f564d43b5f84d266f64637c97ab5f2f0ec7ef7df395b57c7","impliedFormat":99},{"version":"06eb6fad9801f24f5a61def0c4997a815ab2942e6ae663daa24bce778841df0b","impliedFormat":99},{"version":"6ed93757eec09ff17d1075d265b296b3d53f8fd636c9406e1e6ec9819532c481","impliedFormat":99},{"version":"a1d16d3af6d1eb953600c34b50642f43bd65c8cda08ad41c3c783efc48fc8a8e","impliedFormat":99},{"version":"753da51f0f3105f010b4210efa94e8795601fea6ef9851287ecb56a38595f1f5","impliedFormat":99},{"version":"b3156a5dec4d1e0eff1c11dfb8ff3ba2195a29e3e13ec8160a1a94586b61382a","impliedFormat":99},{"version":"ce6f7100c02f9d94f6059b34d8f3c8358ba64feb4f47e767c97017ec76f64814","impliedFormat":99},{"version":"287b5f3b145f2ab99fc6ae7ed7b0a5e5cc903a52eac9bb3a436d6081c4103a6f","impliedFormat":99},{"version":"1c8199df7d2299f23bcc239d805ca3f434cae9e14a430ce6a1e0862cca0f6214","impliedFormat":99},{"version":"59b3fef1b2c38ef9f64a68a1098dd451d909b8b8c9526eb0a8cd6660bceb527d","impliedFormat":99},{"version":"4c016b9d2a3f3aae18e759e647f9bdbb266d36f6d8ff483b637d4e3445c7d666","impliedFormat":99},"11535c6aaf4a8caa0487745fc597c7d92602fa166e6e65bb39ce514380ccdfbc","fa7084ed93116464ea667ef45e71a8c784fc98933f8f88852e6b76fba654c5c0","123ab9c0c1811f5299212ffce05cbff4fe14db2d58e52e00f114bf70b84caf58",{"version":"37c7961117708394f64361ade31a41f96cef7f2a6606300821c72438dd4abda3","impliedFormat":1},{"version":"19feb8551285d9041090b2aac242de4089aa0abe3777a89ff9a804225e561832","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4553f8b822eb81601e9ff242bde19eebc440201e687161598c267892ee84bdf","affectsGlobalScope":true,"impliedFormat":1},{"version":"724dea86a503f9bdf755f5c628cea9de4a63aafdf0f6ca25db5e0172ddc0d883","impliedFormat":1},{"version":"39875f62f78dfcd829f2d38f7b06e8a8d5e39bbb9487abe63b81b41fe3b58c04","impliedFormat":1},{"version":"1fd7bfea6c425ce8ec33a7d92edae59f10bc09f86ae01658447509d09ca663f1","impliedFormat":1},{"version":"6c05d0fcee91437571513c404e62396ee798ff37a2d8bef2104accdc79deb9c0","impliedFormat":1},"86b28222ebe4dcab1cb52dd8abab565efe4a10b39dea92732da091c88333b241","fb48d963c742a97d5ec399b880fec24e44adb4cbca4a431ddce6c0ac1ea81cf3","621f42d1c9fa0f53b86e66edd19f5954c88eee4026d6a1dd296357249a3fc817",{"version":"d04f947114fa00a20ee3c3182bb2863c30869df93293cc673f200defadbd69d9","impliedFormat":1},{"version":"4c629a21fb1b4f2428660f662d5fef6282e359d369f9e5ec5fd6ac197c1906ee","impliedFormat":1},{"version":"785926dee839d0b3f5e479615d5653d77f6a9ef8aa4eea5bbdce2703c860b254","impliedFormat":1},{"version":"66d5c68894bb2975727cd550b53cd6f9d99f7cb77cb0cbecdd4af1c9332b01dd","impliedFormat":1},{"version":"cf62a7edc0f8e389ef165baf6d664cc20eb272de3e5ce056064031ffb0c452f0","impliedFormat":1},{"version":"c991b4ab8278b08f73510d383ae74a9df03a876ba4aa66efa9d87d0bfdbf486b","impliedFormat":1},"57b309ba4c03d28630390edcab9df199b1c55daf2001b03283f9ace6a4720dc0","429388f11f610c4c912e09558fbce13223f7422ae556b65e1ba99adea602cf8e","426482d188cff2eee7a600958f772b1ad18d5ee2a8069c9c37d514d4bb0c1ac0","d93f29e0c95d4f1980fd06c0e285bb87120274e527a5793edb32cd2a405ff467",{"version":"afb5c44616d15e04c44ac6ee0abdb32983c1134a5dd3827f1bc701d73fb6199b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fe93c474ab38ac02e30e3af073412b4f92b740152cf3a751fdaee8cbea982341","impliedFormat":1},{"version":"f5705d196b442afbdbd971b6e44bad96f4e32afb53cebfa2e5afe3140017bfc6","impliedFormat":1},{"version":"1e00b8bf9e3766c958218cd6144ffe08418286f89ff44ba5a2cc830c03dd22c7","impliedFormat":1},"6fbb2720d4007538909c77c37890f32ea5db065679bb5251865969aad54681c4","f3666d74fd27b10bece27eacf260302b8cbe68410b733a74001c258eb3d46bdd","96f9139db651f37ca2950889900ac4b2bf8c8ec4598f2199c395c71495574bee","dad8b1681930806a2ed7069435678857850cce238fc92606aa09649531ca9e86",{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"9c580c6eae94f8c9a38373566e59d5c3282dc194aa266b23a50686fe10560159","impliedFormat":99},"03e9d54f5cf9c0b84012410c9c43cc03c74e408f88fb68de7abf40f1ecb8dfd6","8dd77f44732563284a3b4b30ab6cac026b13d23db533173b291195243debb564","b5fc0296b58c9b81ab929a1e161d25585d4413a7c83c107c456849baa5dcfb85","e093be6af28ec9eae14570c56132f8249abe9d6ae7b7c891a513f3abe9c48776","816718f61a07994d37bc847bdf58f4ad898f0c9452c29d0a7b2afa36d54d5432","2026b21a5f624bd4318bd0dfe3555c06ddb8db1987bf68855ec4f390275b1077","0c7aceb17dddbd752209cae123f0350420d36d697a598151f0b050c8b38dcea2","5e81ff52c17963d5f4f350acf6ac6506f440c4c3a385035d3ffca055a574ac5d","1719357912231c2f21ae87b4077583b0b9ea9809b339bb5f759f47b592e17c7a","5c42bfee345d1f43b75c0437f7ba232a7c3e8cc07948c14add3595fe3a9be02f","3dd44f76b7e67b200af27f03ef7c623f107bcf37fd4fb504fc4d44dc13c5cc08","67c7f262b40c821328e376d5c0336cefa63a6cfc3ca17ef084df8a20196f3e97","9b67451f6732f0893fe421dfd7ce5bf5fd2e1d59945590d2945c17479f3a9baa",{"version":"a81a0eea036dd60a2c2edc52466bb2853bef379c3b9de327fe9fff6e3c38e6c5","impliedFormat":1},{"version":"348c13a1c9160681e41bc5cd3cc519dd8170d38a36a30480b41849f60f5bf8a0","impliedFormat":1},{"version":"c772a37a02356897d6f9872e30fcc2108f43ad943cc112bd1acc5415a876e9f8","impliedFormat":1},{"version":"279248c34ecd223fc46224f86384ebf49c775eb69329ad644d3d99f1205f3e7d","impliedFormat":1},{"version":"74dedffc2d09627f5a4de02bbd7eedf634938c13c2cc4e92f0b4135573432783","impliedFormat":1},{"version":"1f2bbbe38d5e536607b385f04c3d2cbf1e678c5ded7e8c5871ad8ae91ef33c3d","impliedFormat":1},{"version":"3aa3513d5e13d028202e788d763f021d2d113bd673087b42a2606ab50345492d","impliedFormat":1},{"version":"f012173d64d0579875aa60405de21ad379af7971b93bf46bee23acc5fa2b76a4","impliedFormat":1},{"version":"dcf5dc3ce399d472929c170de58422b549130dd540531623c830aaaaf3dd5f93","impliedFormat":1},{"version":"ec35f1490510239b89c745c948007c5dd00a8dca0861a836dcf0db5360679a2d","impliedFormat":1},{"version":"32868e4ec9b6bd4b1d96d24611343404b3a0a37064a7ac514b1d66b48325a911","impliedFormat":1},{"version":"4bbea07f21ff84bf3ceeb218b5a8c367c6e0f08014d3fd09e457d2ffb2826b9c","impliedFormat":1},{"version":"873a07dbeb0f8a3018791d245c0cf10c3289c8f7162cdbbb4a5b9cf723136185","impliedFormat":1},{"version":"43839af7f24edbd4b4e42e861eb7c0d85d80ec497095bb5002c93b451e9fcf88","impliedFormat":1},{"version":"54a7ee56aadecbe8126744f7787f54f79d1e110adab8fe7026ad83a9681f136a","impliedFormat":1},{"version":"6333c727ee2b79cdab55e9e10971e59cbfee26c73dfb350972cfd97712fc2162","impliedFormat":1},{"version":"8743b4356e522c26dc37f20cde4bcdb5ebd0a71a3afe156e81c099db7f34621d","impliedFormat":1},{"version":"af3d97c3a0da9491841efc4e25585247aa76772b840dd279dbff714c69d3a1ec","impliedFormat":1},{"version":"d9ac50fe802967929467413a79631698b8d8f4f2dc692b207e509b6bb3a92524","impliedFormat":1},{"version":"34d017b29ca5107bf2832b992e4cee51ed497f074724a4b4a7b6386b7f8297c9","impliedFormat":1},{"version":"b75d56703daaffcb31a7cdebf190856e07739a9481f01c2919f95bde99be9424","impliedFormat":99},"b42ebbc75be178f33b7c6d3aff04b446198007e3f202e1b717b3b9a2f2ce0ba4","2e6bd45cece333a2a0c7a0d4baf3b3e9ef1dbd1a854571ba08687553c25f0056","8a059def184e4a4883bcd2f312dccf6301651aa0a2e9f9d9aefd5a19fc973bec","6d98e865480db37ba23e52d47997c818c67b29a7469ae1ed28421171949db322","3487666cc2fe4c60600abaa11c56bc49dc0e0654275844484b69451538201af5","32531946121f977ad8e5a7d2b3c87d9f3ff4a75ecb92dbb6b6c778b4e355414d","be2e1f6b1c5a698281cf81c9b2464347eaae07df03f6607a74d2f15de3f9a6ce","4dc667c69e949fee60a5fafdca7c4b3c9e27ed57db970c7a39ef9855734a4b79","604f5e17d26d5de20d6fe8039038a683c3b1366d590b2faa48cf21578f0a7621","43f0abb58dd3cfc6ac307c78654630a790a410cb5802a0683426f8add047065a","61548add80e1cfe788b6fd3af8256c097ca0c3a033f861de5662ab0fc9b38d63","6f3c03ea1694340fb37a7edb1af0de66e74d8e0a28380e5e9fbb006dbec85527","cb4e474de1b99f179863f6a6f8625c615c2e00103343b7def992bdd7b2a3674b","b8c80e433b04f6a7597a9cb687b6774ab4a7d2aa357f965ff26f005dd7f7c655","14662be43505168b0b693cfa6c9e92cfb8e4bc505bbed63ef8253246d073825f","5e9b528875761af91c8178d8892eedbbaaadd01850a71cc87f63623d0546e6ec","9ed6dcba38c037e5432580fbd631fa1b1fcef44649a1c4a615133bf3910db563","9de30a8790b8f7060cf686f9e5e9117d07db908515a26797d210552b157ca3f1","3ac64bf7ec5e7d8bc92a718c8f836677183c4bff7b16b412d1211898bb04dede","abe8b38f8afdd3d5f67cfd47f4b058f577293a695fd56ffa496058720cdc001c","c46e843e3ff04886599e1865f2fcb577388fd39c8682e3f3a3c8d6f538968096","5b3f91a4082f66edb70e1c924ac8460185141e89185147cb46f90637b3bf4eb9","768e78eea8d72a2d7d48396a9a32d1047d2db341e813ceb27d9a2bd411bdcc21","ad1bf53f079eb70423cf68001a0bccdde0e39a1dfe0f2a456ce054b7a3e7180b","eb12d32025d02d9fa05cca441cc5fc1c0dd9779a19922e8d0b6135db903eda06","4d4eb0af2314a89343870df579df26880ead4845be262e6a82c476cedd82bbf7","6cff1500d0ad66f8f252b067690254a4875afcb5634c8de2a3fb15790c5048f7","bb635f558a5c7c04b5e0f100b92f561388c16d599810841780118311f4fd9c34","c97bc1e0d55e4abe3b9c9d4850076ac3e262d07b2f323f2e8baea9231ff60e9b","90045b36215c0b513ee424a0e0beedbf49e72e9da449471d8cc2dbbf3bc2b10f","5096219e00032fdf96cb345db86d85ca1604952a01590efadfe4683cd3a40ff2",{"version":"7328b4a41410d71cce34e134220b06a3fa87738182c44784b69b762884790a2e","impliedFormat":99},"97c2f657d14688dd572568cc0f20e7595d296b8c28829394547f67f979321e9a","ea9026f6080c2064d6818b1f7756fa9c928f7b9af0505c113551256414bf39f1","2479dd90f342fe37f37c5573b11ed712418cb05e18ed26d1390c55470ed6c15e","d5b9cc21a769907808a1016f32f5a57842e15c9d782637e4ceecc53715c748af","f27fdc6dcd974cf1c58804b4149eed0b11eabff7742254f8c099962486f74c56","a1e889c55f0c00dad040bd38bb8523daee00061ca0f3a725f8c29b1c7055e0e5","a9012861f680d4722402350dc857c1e06e144b8dab56afd16d5ecf0782e8d176","359a2b96edd884c3db6736fd413e42c35a3a73212c31fa43db94155c6678129b","71cf369a4897be097c3621f74adf158ff21b91f270614eeca56f09b033c3fe3e","e201f20144104730b2bb2839f76331ceb851c4b28eedf9863469687cb1d12c15","0688d4a9f7e04eee0561f28acefc8bae0ff0d2e97c9e8b2c4308c69b02bd3825","05bba5708eda44abf7adba5f0a1ced41cd9e9ba8ed665a71a7076f8a5ba9bf4f","4da5bf5d58560ebcdfdb4296e4765f236d45ae5a6849db14fb75ab309c6495b6","b3e2549d343a8b4e4127dd2f05c9a45787f4a66ad414a6fe196ce07b676a0e9d","50600f33e999297b75832a44c650b657ae473c4bff8d642047533d1f9f2f3ce2","de95ecf415fbf90a7d8619e78f42e675d474538602bd786efd8ab17ed4ec72ab","51921db3666c62a881fc97b2307bbf94199b34a27e9272b5464c732567d9f83e","7abebd1c7f45d43be664c74500138a4b264eac35d2fc8aeb7725d02903a23c30","64d95f4bde1070bd45da0fbcfe17312e95fbbc47f02bf7cd2e4c3ca94492a248","6a03f6128faeec8ec0fdaba1a2e52200d5208f96e002bf1f4e2a2415f67f1173","88a04d9a287c6df06bb619cc27471fbc7c68662f62557ebb475fcac32c2734f1","beb32f060ab2e902d6e39012943cafb89d32a72264db9eddbea901a16df32be2","e16fae56655e21f430272aa9b9e599792f88fd6caeeab04a1a398551d9bd645f","1e16d4addda52b357bfea36e1b855571099308c0b71c6cdfff7942ea31807936","e45472a96e63583a4a86386045093e9a9bb874a3ffd96783af3f2929de7b33fb","a9eaf0c8b683611e7744a98ee54e15ccabdef039a9207d2fb8f026fc22d2d938","4b501edd8caca929b9a685e437f65125bc36ca6667e2a4d6c6d60b669ac95899",{"version":"fc47aaa9bc9770c09325dfe5079e2acdbaafd52f5034c77f86c9ce64afc88317","impliedFormat":1},"66f2743e31ae7ffa71949e4cbffaa34ef14a110d323b21a81434dc85e334a82a","4a2002c441f188c64fa5e49ff43051025bd0f7c18b30e10ac687598a9324c841","5d71d7189342ef6f54a89d8ff44ef18b73b605c4efdfe86a18e29738d12b40d1","a388f4085f5380e7fab50ecf6d643661702f167b1b58905062892fab339e1822","3774c54d2cab098602ed3fd2c33678aa81de38bd001bcf90b50591e9f5f72263","385adb8380f91cb7250564afea5789bcaca88f681541eca3ea5609b69625fd2c","bcd7ea03bf9e0a588554b4eda5fbbb1d4762f5a33cc9ac8b4eb49cdccf90fe10","4a8d3170e3bc122b2ea6e791044fa276ef3aa1feaeecdd0b7c4f0d82c6bfaed9","d83259553a7156720008b7fbdcd405f04b608e79cf4e4fcf490fbdc2d17a53b5","41ce76080eb4de73200aa89aa5ec2c81f5f9544fc017a157fbd6e12147b6ff07","16b21c735fb9619fe878557c1e0e65f7ce67148e095a58c950f1c2549b59ddbb","9d379acda265662aa70db97664556e52707630a5855ac21c95f84ca4575f9041","bc591e3824047e1cd042f0969357dceb7c7c285714efa013822acb89a65cbe55","60802e37c118d34ffd3f30159cdb211bfb985343180d9dcfd66ceb1dae82104c","5ba2b498e53c4c1876e78b0ddc8029787f06af538cda3ad1d29eca2dc0272d99","64cf5b1620f7544170698efba147b4e65d2c0e39599fa352a2ce0f90aadc56c4","b3edcccd46cd0144fd60f64d2e71a369b2f2c14fc041a817b2cfc5960e59f367","dbb336f673badc5c281bfd60ae6f4f8793d3d52dfa54305ba978e51f3edb982b","1050ceb282c85ac370c444e57e30fd2fb7fef76989b6de8ba126ba77bbb9fde2","a6e3d41f3b1402eda4a1b32a267922de05365053aed0e25a09bb82ef8c669071","e504125d6ef483624e55bdd4fd689d10141a3058c5fc7550a6688b1c2e5ecb48","4c89c1310b64fc61db9902ef63bd37614e2bb26768c12fb24b580468d2df93a0","22fd31b94f2b7bb86a3c378e98032bac4f1bf02b2950135d3d7ea209e7b825d4",{"version":"d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","impliedFormat":1},{"version":"a510938c29a2e04183c801a340f0bbb5a0ae091651bd659214a8587d710ddfbb","impliedFormat":99},{"version":"07bcf85b52f652572fc2a7ec58e6de5dd4fcaf9bbc6f4706b124378cedcbb95c","impliedFormat":99},{"version":"4368a800522ca3dd131d3bbc05f2c46a8b7d612eefca41d5c2e5ac0428a45582","impliedFormat":99},{"version":"720e56f06175c21512bcaeed59a4d4173cd635ea7b4df3739901791b83f835b9","impliedFormat":99},{"version":"349949a8894257122f278f418f4ee2d39752c67b1f06162bb59747d8d06bbc51","impliedFormat":99},{"version":"364832fbef8fb60e1fee868343c0b64647ab8a4e6b0421ca6dafb10dff9979ba","impliedFormat":99},{"version":"dfe4d1087854351e45109f87e322a4fb9d3d28d8bd92aa0460f3578320f024e9","impliedFormat":99},{"version":"886051ae2ccc4c5545bedb4f9af372d69c7c3844ae68833ed1fba8cae8d90ef8","impliedFormat":99},{"version":"3f4e5997cb760b0ef04a7110b4dd18407718e7502e4bf6cd8dd8aa97af8456ff","impliedFormat":99},{"version":"381b5f28b29f104bbdd130704f0a0df347f2fc6cb7bab89cfdc2ec637e613f78","impliedFormat":99},{"version":"a52baccd4bf285e633816caffe74e7928870ce064ebc2a702e54d5e908228777","impliedFormat":99},{"version":"c6120582914acd667ce268849283702a625fee9893e9cad5cd27baada5f89f50","impliedFormat":99},{"version":"da1c22fbbf43de3065d227f8acbc10b132dfa2f3c725db415adbe392f6d1359f","impliedFormat":99},{"version":"858880acbe7e15f7e4f06ac82fd8f394dfe2362687271d5860900d584856c205","impliedFormat":99},{"version":"8dfb1bf0a03e4db2371bafe9ac3c5fb2a4481c77e904d2a210f3fed7d2ad243a","impliedFormat":99},{"version":"bc840f0c5e7274e66f61212bb517fb4348d3e25ed57a27e7783fed58301591e0","impliedFormat":99},{"version":"26438d4d1fc8c9923aea60424369c6e9e13f7ce2672e31137aa3d89b7e1ba9af","impliedFormat":99},{"version":"1ace7207aa2566178c72693b145a566f1209677a2d5e9fb948c8be56a1a61ca9","impliedFormat":99},{"version":"a776df294180c0fdb62ba1c56a959b0bb1d2967d25b372abefdb13d6eba14caf","impliedFormat":99},{"version":"6c88ea4c3b86430dd03de268fd178803d22dc6aa85f954f41b1a27c6bb6227f2","impliedFormat":99},{"version":"11e17a3addf249ae2d884b35543d2b40fabf55ddcbc04f8ee3dcdae8a0ce61eb","impliedFormat":99},{"version":"4fd8aac8f684ee9b1a61807c65ee48f217bf12c77eb169a84a3ba8ddf7335a86","impliedFormat":99},{"version":"1d0736a4bfcb9f32de29d6b15ac2fa0049fd447980cf1159d219543aa5266426","impliedFormat":99},{"version":"11083c0a8f45d2ec174df1cb565c7ba9770878d6820bf01d76d4fedb86052a77","impliedFormat":99},{"version":"d8e37104ef452b01cefe43990821adc3c6987423a73a1252aa55fb1d9ebc7e6d","impliedFormat":99},{"version":"f5622423ee5642dcf2b92d71b37967b458e8df3cf90b468675ff9fddaa532a0f","impliedFormat":99},{"version":"21a942886d6b3e372db0504c5ee277285cbe4f517a27fc4763cf8c48bd0f4310","impliedFormat":99},{"version":"41a4b2454b2d3a13b4fc4ec57d6a0a639127369f87da8f28037943019705d619","impliedFormat":99},{"version":"e9b82ac7186490d18dffaafda695f5d975dfee549096c0bf883387a8b6c3ab5a","impliedFormat":99},{"version":"eed9b5f5a6998abe0b408db4b8847a46eb401c9924ddc5b24b1cede3ebf4ee8c","impliedFormat":99},{"version":"af85fde8986fdad68e96e871ae2d5278adaf2922d9879043b9313b18fae920b1","impliedFormat":99},{"version":"8a1f5d2f7cf4bf851cc9baae82056c3316d3c6d29561df28aff525556095554b","impliedFormat":99},"5ae003fb7aafc5533b69e6cde54b1370a7a53eab313af20fe04c88dfe70f24fa","2471de92011f6b52a5b51df4e38f5a94c2f21eaf3cb8bc15a0044bfa727143b3","53c02dd98757700f17313091fd6da8538b375efbe4e3ec5b3d73e2a61c9137f3","b95e5e598df459c91bf3d864b24a5b38bf70cbe0d50c79062bc03c1d1f3e4e6b","285a6218f538711c54cab4399fe3ac9cc60ba940b525f0240b1636f548c67799","ac296883bd8df67f3c51d4a19ce3f3c5f0fdf406616f65e86d7d5e5505fe23da","8bb514d73669f864589041e37e2652449eff6dd812d7ab21568a2c1af52b845e","eba940376d96f40e4ac5035f770af116440aea5f06b106e335240bfb1c161e86","e4f4b9b9a1916de9a677d3e28656739ed479f7ecee1d07a01ef368480e1b9941","c8f24b5a28ec83d4be461141533d9424e39d7810e180b477108d68731f5ce174","80eddfed5cab1efc8d5bfbb9d78262c5fc6b71242b86a288eb2c0b2ee31d2a4d","f6f63ed4f3e38b095ee520d63776e28e0e465fb6afe31abac8ccb9c687db32a3","8aaff0d68ac85ef414f41bef44b81a2c8c5370109079a771677493abc3a579b8","aa65f05fbc1650fc785a9448e8853f31e06009a4024fbc5794284eb6accdc9dc","7e1888e762f4fc9294cb81359440e0444fddce1896ffa8861144f270ac89cf37","52d2ddaeb96e936f02b69e964273b8618d64024aa27fa685fd4c8e5cf43ad165","dff7260cb22d76c4b24beef02ca0d20531e2c29ebe75865e3c59626725e96e29","1e56e594eb6b94b4ee584d773c6e05fc9e4b60c0e45158114bd4c1ed6cc88c1e","d12c620b64eded0f1fd445f497578a70b4be3b4ba71d82ca163ebac1fbc32cb2",{"version":"f4e8f4151c3490cf7b68c685aabe901cbab19f962aaa2f118a97550e22689a76","impliedFormat":1},{"version":"799003c0ab928582fca04977f47b8d85b43a8de610f4eef0ad2d069fbb9f9399","impliedFormat":1},{"version":"d998eea476c695d8e4ff9d007d5b46d49ca2ffa052f74dc20ca516425abd57b1","impliedFormat":1},{"version":"a0bd46d587005aad4819980f6cf2dbcd80ebf584ed1a946202326a27158ba70e","impliedFormat":1},{"version":"07fcbb61a71bd69a92a5bbde69e60654666cf966b5675c2010c3bf9f436f056a","impliedFormat":1},{"version":"88b2eb23d36692162f2bf1e50577ebcde26de017260473e03ed9a0e61e2726a4","impliedFormat":1},{"version":"23ffbd8c0e20a697d2ea5a0cf7513fb6e42c955a7648f021da12541728f62182","impliedFormat":1},{"version":"43fba5fc019a4ce721a6f53ddb97fdc34c55049cfb793bc544d5c864ee5560b9","impliedFormat":1},{"version":"f4e12292c9a7663a13d152195019711c427c552eb0fa02705e0f61370cd5547a","impliedFormat":1},{"version":"c127ebf14d1b59d1604865008fb072865c5ca52277621f566092fe1f42ce0954","impliedFormat":1},{"version":"def638da26d84825a312113a20649d3086861de7c06a18ea13121278702976fd","impliedFormat":1},{"version":"fbaf86f8ba11298dea2727ce0da84b4ab6ae6c265e1919d44aff7d9b2bbc578a","impliedFormat":1},{"version":"c1010caaeaca8e420c6e040c2e822dbe18702459c93a7d2d5de38597d477b8cd","impliedFormat":1},{"version":"e1f0d8392efd9d71f2644eb97d3f33d90827e30ea8051d93b6f92bb11dff520a","impliedFormat":1},{"version":"085211167559ca307d4053bb8d2298d5ad83cbc3d2ae9bb4c8435a4cabf59369","impliedFormat":1},{"version":"55fc49198d8a85a73cdb79e596d9381cfdc9de93c32c77d42e661c1c1e7268ef","impliedFormat":1},{"version":"6a53fb3df8dd32ed1a65502ca30aeae19cfe80990e78ba68162d6cb2a7fed129","impliedFormat":1},{"version":"b5dcc18d7902597a5584a43c1146ca4fe0295ceb5125f724c1348f6a851dd6ed","impliedFormat":1},{"version":"0c6b0f3fbe6eb6a3805170b3766a341118c92ed7b6d1f193b9f35aa82f594846","impliedFormat":1},{"version":"60eaadb36cf157c5cae9c40e84fa367d04f52a150db3920dbe35139780739143","impliedFormat":1},{"version":"4680a32b1098c49dc87881329af1e68af9af94e051e1b9e19fed555a786f6ce6","impliedFormat":1},{"version":"89fcd129ec37f321cddcdb6b258ffe562de4281e90ec3ccbe7c1199ba39359ca","impliedFormat":1},{"version":"4313011f692861c2c1f5205d7f9a473e763adab6444f9853b96937b187fb19f7","impliedFormat":1},{"version":"caa57157e7bdb8d5f1efe56826fb84a6c8f22a1927bba7fa21fd54e2a44ccba2","impliedFormat":1},{"version":"6b74700abfe4a9b88be957fd8e373cfd998efb1a5f6ad122da49a92997e183ad","impliedFormat":1},{"version":"9ef1342f193bd8bae86c64e450c3ac468ef08652110355e1f3cdd45362eb95c4","impliedFormat":1},{"version":"6853c91662c36a2bf4c8371a87177c819007c76a23c293ef3f686ce9157ae4c8","impliedFormat":1},{"version":"9be1c5dabce43380d13fc621100676b03d420b5687b08d1288f479bee68ab7a8","impliedFormat":1},{"version":"8996d218010896712678e6a0337d8ef8b81c1066ab76f637dd8253f0d6ff838d","impliedFormat":1},{"version":"a15603bf387fc45defe28a68f405a6c29105e135c4e8538eeb6d0a1ef5b69a81","impliedFormat":1},{"version":"84e2532e4d42949a2775cdd8bb7b2b97370dd6ddb683d0c199b21bf6978b152d","impliedFormat":1},{"version":"22bf5f19f620db3b8392cfece44bdd587cdbed80ba39c88a53697d427135bf37","impliedFormat":1},{"version":"23ebbd8d484d07e1c1d8783169c20570ed8409966b28f6be6cf8e970d76ef491","impliedFormat":1},{"version":"18b6fa2c778cad6489f2febf76433453f5e2432ec3535f2d45ae7d803b93cc17","impliedFormat":1},{"version":"609d0d7419999cf44529e6ba687e2944b2fc7ad2570d278fd4e6b1683c075149","impliedFormat":1},{"version":"249cf421b8878a3fe948d9c02f6b0bae65491b3bb974c2ffc612341406fa78ff","impliedFormat":1},{"version":"b4aa22522d653428c8148ddbf1dcc1fb3a3471e15eb1964429a67c390d8c7f38","impliedFormat":1},{"version":"30b2cee905b1848b61c7d28082ebfa2675dd5545c0d25d1c093ce21a905cdccc","impliedFormat":1},{"version":"0a2a2eed4137368735205de97c245f2a685af1a7f1bf8d636b918a0ee4ff4326","impliedFormat":1},{"version":"69f342ce86706aa2835a62898e93ea7a1f21b1d89c70845da69371441bb6cd56","impliedFormat":1},{"version":"b5ab4282affcfd860dd1cc3201653f591509a586d110f8e5b1b010508ba79b2c","impliedFormat":1},{"version":"d396233f6cd3edf0d33c2fbfc84ded029c3ea4a05af3c94d09d31a367cced111","impliedFormat":1},{"version":"bc41a726c817624a5136ae893d7aac7c4dc93c771e8d243a670324bccf39b02b","impliedFormat":1},{"version":"710728600e4b3197f834c4dd1956443be787d2e647a72f190bf6519f235aaadd","impliedFormat":1},{"version":"a45097e01ef30ba26640fed365376ab3ccd5faf97d03f20daff3355a7e60286a","impliedFormat":1},{"version":"763cbb7c22199f43fd5c2b1566af5ba96bf7366f125dd31a038a2291cbc89254","impliedFormat":1},{"version":"031933bf279b7563e11100b5e1746397caf3a278596796a87bc0db23cf68dc9e","impliedFormat":1},{"version":"a4a54c1f58fc6e25a82e2c0f651bf680058bd7f72cfb2d43b85ee0ab5fe2e87e","impliedFormat":1},{"version":"9613d789b6f1037f2523a8f70e1b736f1da4566b470593da062be5c9e13dac57","impliedFormat":1},{"version":"0d2a320763a0c9c71493f8f1069971018c8720a6e7e5a8f10c26b6de79aa2f7d","impliedFormat":1},{"version":"817e0df27a237a268dc16e5acffc19f9a74467093af7a0ba164ee927007a4d25","impliedFormat":1},{"version":"43102521b5ca50ff1865188c3c60790feaed94dc9262b25d4adec4dbc76f9035","impliedFormat":1},{"version":"f99947f8d873b960b0115e506ef9c43f4e40c2071b1d20375564538af4a6023b","impliedFormat":1},{"version":"c1e5ad5ca89d18d2a36d25e8ec105623648cf35615825e202c7d8295a49d61ab","impliedFormat":1},{"version":"2b6c9cb81da4e0a2e32a58230e8c0dec49fc5b345efb7f7a3648b98956be4b13","impliedFormat":1},{"version":"99e34af3ede50062dcc826a1c3ce2d45562060dfd0f29f8066381a6ef548bf2a","impliedFormat":1},{"version":"49f5c2a23ea5fc4b2cdb4426f09d1c8b83f8409fa2af13ef38845cc9b9d4bc3d","impliedFormat":1},{"version":"e935227675144b64ecde3489e4a5e242eeb25fdd6b7464b8c21ad1f7a0faa88b","impliedFormat":1},{"version":"b42e6bbe88dc79c2d6dc5605fb9c15184e70f64bdd7b8d4069b802b90ce86df6","impliedFormat":1},{"version":"b9cd712399fdc00fdae07e96c9b39c3cb311e2a8a5425f1bd583f13cab35e44b","impliedFormat":1},{"version":"5a978550ae131b7fef441d67372fd972abab98ea9fdb9fa266e8bdc89edcb8d6","impliedFormat":1},{"version":"4f287919cfc1d26420db9f0457cd5c8780b1ef0a9f949570936abe48d3a43d91","impliedFormat":1},{"version":"496b23b2fd07e614bc01d90dd4388996cb18cd5f3a612d98201e9f683e58ad2e","impliedFormat":1},{"version":"dcfbe42824f37c5fb6dc7b9427ef2500791ec0d30825ecb614f15b8d5bf5a667","impliedFormat":1},{"version":"390124ad2361b46bf01851d25e331cd7eed355d04451d8b2a4aa985c9de4f8ce","impliedFormat":1},{"version":"14d94f17772c3a58eda01b6603490983d845ee2012cd643f7497b4e22566aacb","impliedFormat":1},{"version":"03ef2386c683707ce741a1c30cb126e8c51a908aa0acc01c3471fafb9baaacd5","impliedFormat":1},{"version":"66a372e03c41d2d5e920df5282dadcec2acae4c629cb51cab850825d2a144cea","impliedFormat":1},{"version":"5b48ba9a30a93176a93c87f9e0abf26a9df457eeb808928009439ca578b56f27","impliedFormat":1},{"version":"4707625392316d3c16edbd0716f4ac310e8ff5d346d58f4d01a2b7e0533a23df","impliedFormat":1},{"version":"154d58a4b2d9c552dc864ea39c223d66efd0ed2dd8b55bd13db5225d14322915","impliedFormat":1},{"version":"6a830433fa072931b4ea3eb9aa5fa7d283f470080586a27bfe69837a0f12de9a","impliedFormat":1},{"version":"d25e930e181f4f69b2b128514538f2abb54ef1d48a046ad776ac6f1cda885a72","impliedFormat":1},{"version":"0259b4c21bc93b52ca82c755f97fc90481072bcc44a8010131b2ea7326cf03fe","impliedFormat":1},{"version":"bea43a13a1104a640da0cb049db85c6993f484a6cc03660496b97824719ecc91","impliedFormat":1},{"version":"0224239d61fe66d4900544d912b2e11c2cca24b4707d53fdb94b874a01e29f48","impliedFormat":1},{"version":"2bce8fd2d16a9432110bbe0ba1e663fd02f7d8b8968cd10178ea7bc306c4a5df","impliedFormat":1},{"version":"9c4ad63738346873d685e5c086acbf41199e7022eff5b72bb668931e9ca42404","impliedFormat":1},{"version":"cfb6329bf8ce324e83fe4bbdee537d866a0d5328246f149a0958b75d033de409","impliedFormat":1},{"version":"efc3816f19ea87a7050c84271ea3d3aad9631a517c168013c4f4b6724c287ce0","impliedFormat":1},{"version":"f99f6737336140047e8dd4ade3859f08331aa4b17bc2bd5f156a25c54e0febbc","impliedFormat":1},{"version":"12a2b25c7c9c05c8994adf193e65749926acfcc076381f7166c2f709a97bdf0a","impliedFormat":1},{"version":"0f93a3fdd517c1e45218cd0027c1d6b82237e379dc6b66d693aab1fe74c82e81","impliedFormat":1},{"version":"03c753da0bee80ad0d0f1819b9b42dfe9bf9f436664caf15325aa426246fd891","impliedFormat":1},{"version":"18f5bf1dae429c451f20171427c9e3223fade4346af4dfd817725cbeb247a09d","impliedFormat":1},{"version":"a4eece5fab202e840dd84f7239e511017a8162edb8fc8b54ff2851c5c844125c","impliedFormat":1},{"version":"c4a94af483a63bf947d89f97553a55df5107c605ec8a26f0b9b8bdcc14bd6d89","impliedFormat":1},{"version":"19de2915ccebc0a1482c2337b34cb178d446def2493bf775c4018a4ea355adb8","impliedFormat":1},{"version":"9be8fc03c8b5392cd17d40fd61063d73f08d0ee3457ecf075dcb3768ae1427bd","impliedFormat":1},{"version":"3b568b63f0e8b3873629a4d7a918dce4266ad41461004ab979f8dcdfd13532bb","impliedFormat":1},{"version":"a5e5223c775fe30d606b8aaa521953c925d5ad176a531c2b69437d2461aaabbd","impliedFormat":1},{"version":"8cbf41d2d1ce8ac2066783ae00613c33feef07493796f638e30beaf892e4354a","impliedFormat":1},{"version":"e22ad737718160df198cd428f18da707177d0467934cecdeed4be6e067b0c619","impliedFormat":1},{"version":"15bf5ed8cb7c1a1e1db53fa9b45bc1a1c73c0497735343a8d0c59fdb596a3744","impliedFormat":1},{"version":"791fce84bce8b6948e4f23422d9cbbd7d08c74b3f91cca12dcae83d96079798b","impliedFormat":1},{"version":"8a2619c8e24305f6b9700b35af178394b995dcb28690a57a71cca87ee7e709ae","impliedFormat":1},{"version":"f95fd2fc3cc164921a891f5d6c935fa0d014a576223dd098fc64677e696b0025","impliedFormat":1},{"version":"8c9cecaaa9caba9a8caa47f46dcf24b524b27899b286d8edcc75a81b370d2ba3","impliedFormat":1},{"version":"2b7a82692ecc877c5379df9653902e23f2d0d0bc9f210ec3cf9e47be54413c5c","impliedFormat":1},{"version":"e2ad09c011cf9d7ee128875406bef787eeb504659495f42656a0098c15fe646c","impliedFormat":1},{"version":"eb518567ea6b0b2623f9a6d37c364e1b1ac9d8b508d79e558f64ac05c17e2685","impliedFormat":1},{"version":"630a48fb8f6b07161588e0aee3f9d301c59c97e1532c884118f89368baf4073b","impliedFormat":1},{"version":"14736c608aa46120f8d6d0bc5e0721b46b927bc7eba20e479600571935f27062","impliedFormat":1},{"version":"7574803692d2230db13205a7749b9c3587dccaccdf9e76f003f9e08078bb6d09","impliedFormat":1},{"version":"f3cc1588e666651c51353b1728460bee8acbc6e0f36be8c025eaaf292dca525d","impliedFormat":1},{"version":"0d4ea8a20527dcf3ad6cf1bd188b8ad4e449df174fad09b9e540ed81080af834","impliedFormat":1},{"version":"aa82876d59912d25becff5a79ed7341af04c71bfeb2221cc0417bc34531125e2","impliedFormat":1},{"version":"6f4b0389f439adc84cba35d45428668eabcfbdd351ba17e459d414ca51ab8eb8","impliedFormat":1},{"version":"d5dd33d15fbb07668c264b38065ac542a07a7650af4917727bbc09b58570e862","impliedFormat":1},{"version":"7d90202d0212e9cdc91a20bfddf04a539c89f09fe1d64db3343546fa2eb37e71","impliedFormat":1},{"version":"1a5d073c95a3a4480b17d2fa7fd41862a9df0cb2afaee86834b13649e96bdb45","impliedFormat":1},{"version":"2092495a5b3116c760527a690c4529748f2d8b126cdd5f56b2ce2230b48aba3f","impliedFormat":1},{"version":"620b29d6adbd4061bc0a8fedf145fcc8e8fc9648fb6e0a39726e33babb4e07bc","impliedFormat":1},{"version":"931eda51b5977f7f3fa7a0d9afde01cfd8b0cc1df0bb66dcf8c2cf6e7090384e","impliedFormat":1},{"version":"b084a412374bdd124048c52c4e8a82d64f3adec6c0a9ad5ecbb7317636039b0f","impliedFormat":1},{"version":"11199daa694c3ced3cc2a382a3fa7bd64e95eb40f9bbc3979fc8fb43f5ba38cc","impliedFormat":1},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":1},{"version":"dfb53b9d748df3e140b0fddb75f74d21d7623e800bb1f233817a1a2118d4bb24","impliedFormat":1},{"version":"8cfc293b33082003cacbf7856b8b5e2d6dd3bde46abbd575b0c935dc83af4844","impliedFormat":1},{"version":"7730c538d6d35efe95d2c0d246b1371565b13037e893178033360b4c9d2ac863","impliedFormat":1},{"version":"b256694544b0d45495942720852d9597116979d52f2b53c559fda31f635c60df","impliedFormat":1},{"version":"794e8831c68cc471671430ee0998397ea7a62c3b706b30304efdc3eaff77545a","impliedFormat":1},{"version":"9cfc1b227477e31988e3fb18d26b6988618f4a5da9b7da6bc3df7fc12fb2602e","impliedFormat":1},{"version":"264a292b6024567dd901fdabbf3239a8742bea426432cdbda4cf390b224188e1","impliedFormat":1},{"version":"f1556a28bb8e33862dcfa9da7e6f1dca0b149faf433fe6a50153ae76f3362db1","impliedFormat":1},{"version":"1d321aea1c6a77b2a44e02e5c2aeff290e3f1675ead1a86652b6d77f5fea2b32","impliedFormat":1},{"version":"4910efc2ce1f96d6e71a9e7c9437812ffae5764b33ab3831c614663f62294124","impliedFormat":1},{"version":"e3ceab51a36e8b34ab787af1a7cf02b9312b6651bac67c750579b3f05af646c1","impliedFormat":1},{"version":"baf9f145bcee1b765bed6e79fd45e1ff0ca297a81315944de81eb5d6fff2d13d","impliedFormat":1},{"version":"2afd62362b83db93cd20de22489fe4d46c6f51822069802620589a51ccad4b99","impliedFormat":1},{"version":"9f0cd9bd4ab608123b88328c78814738cbdee620f29258b89ef8cd923f07ff9c","impliedFormat":1},{"version":"801186c9e765583c825f28dab63a7ad12db5609e36dc6d9acbdc97d23888a463","impliedFormat":1},{"version":"96c515141c6135ccd6fb655fb9e3500074a9216ba956fb685dc8edc33f689594","impliedFormat":1},{"version":"416af6d65fc76c9ced6795f255cb1096c9d7947bede75b82289732b74d902784","impliedFormat":1},{"version":"a280c68b128ebba35fb044965d67895201c2f83b6b28281bb8b023ade68bf665","impliedFormat":1},{"version":"6fa118f15723b099a41d3beea98ed059bcd1b3eda708acf98c5eff0c7e88832f","impliedFormat":1},{"version":"dcbf582243e20ea50d283f28f4f64e9990b4ed4a608757e996160c63cff6aa99","impliedFormat":1},{"version":"efa432d8fd562529c4e9f859fd936676dd8fef5d3b4bedb06f754e4740056ea9","impliedFormat":1},{"version":"a59b66720b2ccf2e0150fafb49e8da8dabdf4e1be36244a4ccd92f5bd18e1e9e","impliedFormat":1},{"version":"c657fb1ec3b727d6a14a24c71ea20c41cb7d26a503e8e41b726bb919eb964534","impliedFormat":1},{"version":"50d6d3174868f6e974355bf8e8db8c8b3fcf059315282a0c359ecf799d95514a","impliedFormat":1},{"version":"86bf79091014a1424fc55122caa47f08622b721a4d614b97dd620e3037711541","impliedFormat":1},{"version":"7a63313dff3a57f824a926e49a7262f7bd14e0e833cf45fa5af6da25286769c2","impliedFormat":1},{"version":"36dcaeffe1a1aed1cb84d4feba32895bf442795170edccc874fa32232b2354e5","impliedFormat":1},{"version":"686c6962d04d90edafc174aa5940acb9c9db8949c8d425131c01d796cf9a3aef","impliedFormat":1},{"version":"2b1dbc3d5762d6865744b6e7be94b8b9004097698c37e93e06983e42dd8fe93b","impliedFormat":1},{"version":"eb5e8f74826bdf3a6a0644d37a0f48133f8ad0b5298cc2c574102868542ba4eb","impliedFormat":1},{"version":"c6a82a9673ba517cf04dd0803513257d0adf101aed2e3b162a54d840c9a1a3b2","impliedFormat":1},{"version":"fc9f0f415abaa323efcecc4a4e0b6763bfe576e32043546d44f1de6541b6399b","impliedFormat":1},{"version":"2c4d772ac7ac56a44deef82903364eb7c78dd7bc997701123df0ce4639fe39bb","impliedFormat":1},{"version":"9369ef11eed17c1c223fdea9c0fa39e83f3722914ef390b1448db3d71620c93a","impliedFormat":1},{"version":"aa84130dbc9049bba6095f87932138698f53259b642635f6c9e92dd0ddc7512c","impliedFormat":1},{"version":"084ceadd21efabd4b58667dca00d4f644306099151d2ee18cd28a395855b8009","impliedFormat":1},{"version":"b9503e29f06c99b352b7cae052da19e3599fa42899509d32b23a27c9bb5bebf6","impliedFormat":1},{"version":"75188920fe6ccc14070fe9a65c036049f1141d968c627b623d4a897ec3587e15","impliedFormat":1},{"version":"e2e1df7f45013d2b34f8d08e6ae5a9339724b0ea251b5445fcca3e170e640105","impliedFormat":1},{"version":"af06feb5d18a6ea11c088b683bdb571800d1f76b98d848eecdf41e5ec8f317fd","impliedFormat":1},{"version":"0596af52b95e0c8adc2c07f49f109d746b164739c5866fa8bb394dd6329a3725","impliedFormat":1},{"version":"c3365d08fe7a1ccc3b8e8638edc30123007f3241b4604e2585b9f14422ab97d8","impliedFormat":1},{"version":"a7a3d96b04bb0ec8cb7d2669767c4756f97dd70d08548f9e6522dde4de8e8a03","impliedFormat":1},{"version":"745e960e885a4ba04c872225cbb44bd67a7490d169ceaefab7c0dfc444768676","impliedFormat":1},{"version":"0b1ce1768cde3535493a9daf99e3bbb8c7dcc3a7f9d8cd358cb846af71ce5cdf","impliedFormat":1},{"version":"48b9603f6e8a7c94b727277592a089f94261baa64e6c9d18165da0481663a69e","impliedFormat":1},{"version":"3c20a3bb0c50c819419f44aa55acc58476dad4754a16884cef06012d02b0722f","impliedFormat":1},{"version":"4dc64902cb86e677a928293593658fbf53388f9a30d2b934140c70a7267b07ec","impliedFormat":1},{"version":"cb4fd56539a61d163ea9befe6b0292c32aa68a104c1f68f61416f1bc769bcfba","impliedFormat":1},{"version":"0d852bdc2b72b22393a8eebe374ee3efe3e0d44e630037b5e1b6087985388e62","impliedFormat":1},{"version":"b6c9a2deefb6a57ff68d2a38d33c34407b9939487fc9ee9f32ba3ecf2987a88a","impliedFormat":1},{"version":"f6b371377bab3018dac2bca63e27502ecbd5d06f708ad7e312658d3b5315d948","impliedFormat":1},{"version":"faa72893e85cb8ebb1dafde6b427e5204e60bb5f3ee6576bb64c01db1f255bc8","impliedFormat":1},{"version":"95b7ed47b31a6eaddcdd853ee0871f2bb61e39ce36a01d03dfafb83766f6c10c","impliedFormat":1},{"version":"19287d6b76288c2814f1633bdd68d2b76748757ffd355e73e41151644e4773d6","impliedFormat":1},{"version":"fc4e6ec7dade5f9d422b153c5d8f6ad074bd9cc4e280415b7dc58fb5c52b5df1","impliedFormat":1},{"version":"3aea973106e1184db82d8880f0ca134388b6cbc420f7309d1c8947b842886349","impliedFormat":1},{"version":"765e278c464923da94dda7c2b281ece92f58981642421ae097862effe2bd30fa","impliedFormat":1},{"version":"de260bed7f7d25593f59e859bd7c7f8c6e6bb87e8686a0fcafa3774cb5ca02d8","impliedFormat":1},{"version":"d95c4eaad4df9e564859f0c74a177fa0b2e5f8a155939b52580566ab6b311c3f","impliedFormat":1},{"version":"7192a6d17bfa06e83ba14287907b7c671bef9b7111c146f59c6ea753cfc736b9","impliedFormat":1},{"version":"5156d3d392db5d77e1e2f3ea723c0a8bd3ca8acffe3b754b10c84b12f55a6e10","impliedFormat":1},{"version":"a6494e7833ee04386a9f0c686726f7cb05f52f6e069d9293475ccb1e791ee0da","impliedFormat":1},{"version":"d9af0c89a310256851238f509a22aa1071a464d35dc22ea8c2a0bae42dd81bc5","impliedFormat":1},{"version":"291642a66e55e6ca38b029bc6921c7301f5c7b7acf21ae588a5f352e6c1f6d58","impliedFormat":1},{"version":"43cd7c37298b051d1ce0307d94105bcd792c6c7e017282c9d13f1097c27408e8","impliedFormat":1},{"version":"e00d8cce6e2e627654e49c543b582568ad0bf27c1d4ad1018d26aff78d7599df","impliedFormat":1},{"version":"ed13354f0d96fb6d5878655b1fead51722b54875e91d5e53ef16de5b71a0e278","impliedFormat":1},{"version":"fcb934d0fcdee06a8571bd90aa3a63aa288c784b3ebcecfe7ae90d3104d321f4","impliedFormat":1},{"version":"af682dfabe85688289b420d939020a10eb61f0120e393d53c127f1968b3e9f66","impliedFormat":1},{"version":"0dca04006bf13f72240c6a6a502df9c0b49c41c3cab2be75e81e9b592dcd4ea8","impliedFormat":1},{"version":"7dc0b5e3d7be8e1f451f0545448c2eaa02683f230797d24434b36f9820d5a641","impliedFormat":1},{"version":"247af61cdc3f4ec7876b9e993a2ecdd069e10934ff790c9cee5811842bff49eb","impliedFormat":1},{"version":"4be8c2c63d5cd1381081d90021ddfaef106881df4129eddeeaba906f2d0f75d0","impliedFormat":1},{"version":"012f621d6eb28172afb1b2dc23898d8bc74cf35a6d76b63e5581aa8e50fa71b3","impliedFormat":1},{"version":"3a561fa91097e4580c5349ce72e69d247c31c11d29f39e1d0bd3716042ff2c0b","impliedFormat":1},{"version":"bc9981a79dda3badea61d716d368a280c370267e900f43321f828495f4fef23c","impliedFormat":1},{"version":"2ed3b93d55aea416d7be8d49fe25016430caab0fe64c87d641e4c2c551130d17","impliedFormat":1},{"version":"3d66dfc31dd26092c3663d9623b6fc5cec90878606941a19e2b884c4eacd1a24","impliedFormat":1},{"version":"6916c678060af14a8ce8d78a1929d84184e9507fba7ab75142c1bcb646e1c789","impliedFormat":1},{"version":"3eea74afae095028597b3954bde69390f568afc66d457f64fff56e416ea47811","impliedFormat":1},{"version":"549fb2d19deb7d7cae64922918ddddf190109508cc6c7c47033478f7359556d2","impliedFormat":1},{"version":"e7023afc677a74f03f8ccb567532fe9eedd1f5241ee74be7b75ac2336514f6f6","impliedFormat":1},{"version":"ff55505622eac7d104b9ab9570f4cc67166ba47dd8f3badfb85605d55dd6bdc9","impliedFormat":1},{"version":"102fac015b1eebfa13305cb90fd91a4f0bbcabb10f2343556b3483bbb0a04b62","impliedFormat":1},{"version":"18a1f4493f2dbad5fd4f7d9bfba683c98cf5ed5a4fa704fa0d9884e3876e2446","impliedFormat":1},{"version":"f57e6707d035ab89a03797d34faef37deefd3dd90aa17d90de2f33dce46a2c56","impliedFormat":1},{"version":"cc8b559b2cf9380ca72922c64576a43f000275c72042b2af2415ce0fb88d7077","impliedFormat":1},{"version":"1a337ca294c428ba8f2eb01e887b28d080ee4a4307ae87e02e468b1d26af4a74","impliedFormat":1},{"version":"310fe80ff40a158c2de408efbe9de11e249c53d2de5e33ca32798e6f3fbc8822","impliedFormat":1},{"version":"d6ce96c7bb34945c1d444101f44e0f8ba0bba8ab7587a6cc009a9934b538c335","impliedFormat":1},{"version":"1b10a2715917601939a9288d49beccd45b591723256495b229569cd67bbe48a8","impliedFormat":1},{"version":"7498dfdeed2e003ec49cdf726ff6c293002d1d7fdadbc398ce8aafe6d0688de7","impliedFormat":1},{"version":"8492306a4864a1dc6fc7e0cc0de0ae9279cbd37f3aae3e9dc1065afcdc83dddc","impliedFormat":1},{"version":"9c86abbc4fd0248f56abc12aaecd76854517389af405d5ec2eb187fdb00a606f","impliedFormat":1},{"version":"9ffd906f14f8b059d6b95d6640920f530507e596e548f7a595da58ab66e3ce76","impliedFormat":1},{"version":"1884bccc10ce40adca470c2c371c1c938b36824f169c56f7f43d860416ca0a4c","impliedFormat":1},{"version":"986b55b4f920c99d77c1845f2542df6f746cb5adc9ab93eb1545a7e6ef37590d","impliedFormat":1},{"version":"cd00906068b81fbd8a22d021580ac505e272844408174520fafed0ae00627a5d","impliedFormat":1},{"version":"69fab68a769c17a52a24b868aeb644f3ee14abaa5064115f575ddd59231105ce","impliedFormat":1},{"version":"e181eb86b2caf80fe18c72efce6b913bc226e4a69a5456eaf4f859f1c29c6fd6","impliedFormat":1},{"version":"93f7871380478bc6acf02ad9f3dc7da0c21997caebbe782eb93a11b7bd06a46d","impliedFormat":1},{"version":"d00279ab020713264f570d5181c89ca362b7de8abddf96733de86bce0eca082c","impliedFormat":1},{"version":"f7db473f1d5d2a124f14886ac9dbfeccfbb94a98bbe1610a47c30c2933afa279","impliedFormat":1},{"version":"f44cf6c6d608ef925831e550b19841b5d71bd87195bd346604ff05644fb0d29c","impliedFormat":1},{"version":"154f23902d7a3fcdace4c20b654da7355fee4b7f807d1f77d6c9a24a8756013a","impliedFormat":1},{"version":"562f4f3c75a497d3ad7709381f850bb8c7646a9c6e94fdf8e91928e23d155411","impliedFormat":1},{"version":"4583380b676ee59b70a9696b42acfa986cd5f32430f37672e04f31f40b05df74","impliedFormat":1},{"version":"ad0a13f35a0d88803979f8ea9050ad7441e09d21a509abf2f303e18c1267af17","impliedFormat":1},{"version":"ba9781c718ab3d09cbde1216029072698d2da6135f0d2f856ba387d6caceb13e","impliedFormat":1},{"version":"d7c597c14698ba5fc8010076afa426f029b2d8edabb5073270c070cc645ba638","impliedFormat":1},{"version":"bd2afc69cf1d85cd950a99813bc7eff007d8afa496e7c2142a845cd1181d0474","impliedFormat":1},{"version":"558b462b23ea186d094dbff158d652acd58c0988c9fd53af81a8903412aa5901","impliedFormat":1},{"version":"0e984ae642a15973d652fd7b0d2712a284787d0d7a1db99aa49af0121e47f1df","impliedFormat":1},{"version":"0ad53ee208a23eef2a5cb3d85f2a9dc1019fd5e69179c4b0c02dc56c40d611c4","impliedFormat":1},{"version":"7a6898b26947bd356f33f4efef3eb23e61174d85dca19f41a8780d6bb4bfb405","impliedFormat":1},{"version":"9fe30349d26f34e85209fb06340bac34177f7eae3d6bb69dc12cd179d2c13ddf","impliedFormat":1},{"version":"d568c51d2c4360fd407445e39f4d86891dba04083402602bf5f24fd3969cacbb","impliedFormat":1},{"version":"b2483a924349ec835f4d778dd6787447a2f8bfbb651164851bff29d5b3d990a6","impliedFormat":1},{"version":"aae66889332cff4b2f7586c5c8758abc394d8d1c48f9b04b0c257e58f629d285","impliedFormat":1},{"version":"0f86c85130c64d6dbe6a9090bb3df71c4b0987bce4a08afe1ac4ece597655b9c","impliedFormat":1},{"version":"0ce28ad2671baed24517e1c1f4f2a986029137635bce788ee8fb542f002ac5b8","impliedFormat":1},{"version":"cd12e4fe77d24db98d66049360a4269299bcfb9dc3a1b47078ab1b4afac394cb","impliedFormat":1},{"version":"1589e5ac394b2b2e64264da3e1798d0e103b4f408f5bae1527d9e706f98269c7","impliedFormat":1},{"version":"ff8181aa0fde5ec2d737aecc5ebaa9e881379041f13e5ce1745620e17f78dcf9","impliedFormat":1},{"version":"0b2e54504b568c08df1e7db11c105786742866ba51e20486ab9b2286637d268f","impliedFormat":1},{"version":"bc1ffc3a2dca8ee715571739be3ec74d079e60505e1d0d2446e4978f6c75ba5c","impliedFormat":1},{"version":"770a40373470dff27b3f7022937ea2668a0854d7977c9d22073e1c62af537727","impliedFormat":1},{"version":"a0f8ce72cb02247a112ce4a2fa0f122478a8e99c90a5e6b676b41a68b1891ad2","impliedFormat":1},{"version":"6e957ea18b2bf951cf3995d115ad9bfa439e8d891aeb1afc901d793202c0b90d","impliedFormat":1},{"version":"a1c65bd78725f9172b5846c3c58ddf4bcbb43a30ab19e951f0102552fbfd3d5d","impliedFormat":1},{"version":"04718c7325e7df4bac9a6d026a0a2bd5a8b54501f274aaf93a03b5d1d0635bd1","impliedFormat":1},{"version":"405205f932d4e0ce688a380fa3150b1c7ff60e7fc89909e11a33eab7af240edb","impliedFormat":1},{"version":"566fc1a6616a522f8b45082032a33e6d37ff7df3f7d4d63c3cce9017d0345178","impliedFormat":1},{"version":"3b699b08db04559803b85aa0809748e61427b3d831f77834b8206e9f2ed20c93","impliedFormat":1},{"version":"b27242dd3af2a5548d0c7231db7da63d6373636d6c4e72d9b616adaa2acef7e1","impliedFormat":1},{"version":"e0ee7ba0571b83c53a3d6ec761cf391e7128d8f8f590f8832c28661b73c21b68","impliedFormat":1},{"version":"072bfd97fc61c894ef260723f43a416d49ebd8b703696f647c8322671c598873","impliedFormat":1},{"version":"e70875232f5d5528f1650dd6f5c94a5bed344ecf04bdbb998f7f78a3c1317d02","impliedFormat":1},{"version":"8e495129cb6cd8008de6f4ff8ce34fe1302a9e0dcff8d13714bd5593be3f7898","impliedFormat":99},{"version":"8079d851ffa1dbe193fe36643b3d67f4fdf8d360df4c900065788eff44bc15a7","impliedFormat":1},"32c5de4841cf12dbc9e38aa628f9738e0b2ae0d552ba98e8c20decefec04afd7","731330fd1896d45e2ed00cf09ff0037580d5abc6b83c171f0f3b413142cf49d0",{"version":"91b4ce96f6ad631a0a6920eb0ab928159ff01a439ae0e266ecdc9ea83126a195","impliedFormat":1},{"version":"88efe27bebddb62da9655a9f093e0c27719647e96747f16650489dc9671075d6","impliedFormat":1},{"version":"e348f128032c4807ad9359a1fff29fcbc5f551c81be807bfa86db5a45649b7ba","impliedFormat":1},{"version":"8ee6b07974528da39b7835556e12dd3198c0a13e4a9de321217cd2044f3de22e","impliedFormat":1},{"version":"5e1d8a07714f909beaaaf4d0ffe507345a99f2db967493dd8ebbfbb4f18e83ca","impliedFormat":1},{"version":"5f12132800d430adbe59b49c2c0354d85a71ada7d756e34250a655baa8ad4ae5","impliedFormat":1},{"version":"1996d1cd7d585a8359a35878f67abdd73cc35b1f675c9c6b147b202fdd8dfc3f","impliedFormat":1},{"version":"5a50dbfc042633fdb558e53b30b0a005e0b78e142a1fe1147a8d6618ca69ec99","impliedFormat":1},{"version":"a8b0f3d8b205c32395727230bff7849c947150fdd6288855cbe75bc662c4e236","impliedFormat":1},{"version":"6fb55bb881f4a7167649e6925df076f64a1db2f50632df4674e4621a9445c954","impliedFormat":1},{"version":"4374cefdde5c6e9bad52b0436e887b8325b8f407c12035194ad02c28f1553a3a","impliedFormat":1},{"version":"9b70cad270593f676aecfe4d1611dc766464f0b8138527b0ebbf1ff773578d69","impliedFormat":1},{"version":"b4f85bfb7e831703ac81737361842f1ae4d924b42c5d1af2bff93cca521de4d1","impliedFormat":1},{"version":"5fea76008a2d537ca09d569ffae4e08b991b4a5ff90e9f4783bc983584454ede","impliedFormat":1},{"version":"21575cdeaca6a2c2a0beb8c2ecbc981d9deb95f879f82dc7d6e325fe8737b5ba","impliedFormat":1},{"version":"40ec58f0fadd0b3981b3d383e1c12fa0680115ae9f018387fc2cfc0bbcf23204","impliedFormat":1},{"version":"849b9e7283b7309a4556c9b90bb8e2dfc27751f157798065bbc513dcddb09a8c","impliedFormat":1},{"version":"10e109212c7be8a9f66e988e5d6c2a8900c9d14bf6beadf5fa70d32ada3425cf","impliedFormat":1},{"version":"2b821aeb31e690092f8eae671dd961a9d0fd598ff4883ce0a600c90e9e8fa716","impliedFormat":1},{"version":"26602933b613e4df3868a6c82e14fffa2393a08531cb333ed27b151923462981","impliedFormat":1},{"version":"f57a588d8f6b3ce5c8b494f2dc759a8885eaee18e80a4952df47de45403fedbe","impliedFormat":1},{"version":"34735727b3fe7a0ed0651a0f88d06449163d1989a2b2de7f047473adc7c1c383","impliedFormat":1},{"version":"a5b13abc88ab3186e713c445e59e2f6eee20c6167943517bc2f56985d89b8c55","impliedFormat":1},{"version":"3844b45a774bafe226260cf0772376dce72121ebb801d03902c70a7f11da832b","impliedFormat":1},{"version":"7ae65fe95b18205e241e6695cb2c61c0828d660aca7d08f68781b439a800e6b8","impliedFormat":1},{"version":"e025419f23ccceafd7f5ab3141a86a6bb9fc3b33c44fe62b288d7b19baffc95b","impliedFormat":1},{"version":"369b7270eeeb37982203b2cb18c7302947b89bf5818c1d3d2e95a0418f02b74e","impliedFormat":1},{"version":"94f95d223e2783b0aef4d15d7f6990a6a550fe17d099c501395f690337f7105e","impliedFormat":1},{"version":"039bd8d1e0d151570b66e75ee152877fb0e2f42eca43718632ac195e6884be34","impliedFormat":1},{"version":"89fb1e22c3c98cbb86dc3e5949012bdae217f2b5d768a2cc74e1c4b413c25ad2","impliedFormat":1},"e3766d651d9e8b2dc1ef6b42040e2b8500dbc35ea05f94bd3548239fb7e9ebc4","4c52e4662840c5312382f904a5629fe32da0a93a476938c13b4c3f8d2f8442fb","794ea01438f2c0c91859b442710470da7332f493d520e62be6f031346b461f5a","f5c6d105cd84f4a39258ed35653775388077969d202258bd26fc6212e6631b88","fa3e24c36adfdca1b6ca732aa1f99475b41a3d32abfd205423ce4732e77e9fd5","97f8cf303d9f9f36272ecf6e66152a6fa132bade8c11cb0c4e0c3444480c116d","eb999fa28b5dd642d413f8b88e6f1393cf7d2a9ec80a077ab2cc24872b58f3c5","edf2d02dd59cb5d59074e8f6b6334e5f270ac89487dd2568d6fb3bdf2ba959a7","39fe21e961a8b84575071c3707c876eb256b5ef73be87bed86824b5668f6381e","d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7","58031f2a70b1f5e0c4181f3cd8aaab83f6d7023500e60904a0f9f81588e9ed10",{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"6e215dac8b234548d91b718f9c07d5b09473cd5cabb29053fcd8be0af190acb6","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d759cc99e081cacd0352467a0c24e979a6ef748329aa6ddea2d789664580201","impliedFormat":1},{"version":"f3d3e999a323c85c8a63ce90c6e4624ff89fe137a0e2508fddc08e0556d08abf","impliedFormat":1},{"version":"314607151cc203975193d5f44765f38597be3b0a43f466d3c1bfb17176dd3bd3","impliedFormat":1},{"version":"5beb6b7c030620fbc8cb339028593127dd0cf02bdc079fd94baf6d794a83e3d8","impliedFormat":1},{"version":"6edb7a98f0d3483a88041013608fda8e02c9f2f5361c327ad090dc522fcdbeff","affectsGlobalScope":true,"impliedFormat":1},{"version":"53e074a281b50dc3bbdddac7a1c2946100c80a7f5c3161452ab98b31db2e31ba","impliedFormat":1},{"version":"f3d3e999a323c85c8a63ce90c6e4624ff89fe137a0e2508fddc08e0556d08abf","impliedFormat":1},{"version":"6a121c24083c9f164330b85ce7aa8ef97b64fedaf8694ec14cddc34d921ad209","impliedFormat":1},{"version":"49ae37a1b5de16f762c8a151eeaec6b558ce3c27251052ef7a361144af42cad4","impliedFormat":1},{"version":"fc9e630f9302d0414ccd6c8ed2706659cff5ae454a56560c6122fa4a3fac5bbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"7115f1157a00937d712e042a011eb85e9d80b13eff78bac5f210ee852f96879d","impliedFormat":1},{"version":"0ac74c7586880e26b6a599c710b59284a284e084a2bbc82cd40fb3fbfdea71ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ce12357dadbb8efc4e4ec4dab709c8071bf992722fc9adfea2fe0bd5b50923f","impliedFormat":1},{"version":"31bd1a31f935276adf90384a35edbd4614018ff008f57d62ffb57ac538e94e51","impliedFormat":1},{"version":"ffd344731abee98a0a85a735b19052817afd2156d97d1410819cd9bcd1bd575e","impliedFormat":1},{"version":"475e07c959f4766f90678425b45cf58ac9b95e50de78367759c1e5118e85d5c3","impliedFormat":1},{"version":"a524ae401b30a1b0814f1bbcdae459da97fa30ae6e22476e506bb3f82e3d9456","impliedFormat":1},{"version":"7375e803c033425e27cb33bae21917c106cb37b508fd242cccd978ef2ee244c7","impliedFormat":1},{"version":"eeb890c7e9218afdad2f30ad8a76b0b0b5161d11ce13b6723879de408e6bc47a","impliedFormat":1},{"version":"8c61ed247159a025ccc4c3702862b97ef3dbac5460e87f57205f6c37c9e7edbd","impliedFormat":1},{"version":"b05b9ef20d18697e468c3ae9cecfff3f47e8976f9522d067047e3f236db06a41","affectsGlobalScope":true,"impliedFormat":1},{"version":"f434b00addaec462abb14aee113fefdb22ba5a60044b782b1b05f7ae489aa335","affectsGlobalScope":true,"impliedFormat":1},{"version":"3ba38f41c6344cc89270450751e89d0cb60279af2db0e20f0b6858994e6785a8","affectsGlobalScope":true,"impliedFormat":1},{"version":"e4b5520626a9a1333f2518839db11f9649ba853e7cc7e9a25eb6addb5d1307e9","impliedFormat":1},{"version":"06e0e96bcdc4bf6032b9e0b83451bcb1148880772b337842de991164e6f00b34","impliedFormat":1},{"version":"c61c37176b7a6c043df76f437e402ea9abc9f19e9652a0d37629dfc8b7e83497","impliedFormat":1},{"version":"5602c92b934a62d674506c40755f3ca46e3c4a6dfbf01674289714a51f238b40","impliedFormat":1},{"version":"fc803e6b01f4365f71f51f9ce13f71396766848204d4f7a1b2b6154434b84b15","impliedFormat":1},{"version":"067f76ab5254b1bdfc94154730b7a30c12e3aad8b9d04ec62c0d6b7a1f40ea0e","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b08cdb4a66b9fe95fa19b3133036c91fe9314ec4e2bff533dd1d60fd81e1bed","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be812b06e518320ba82e2aff3ac2ca37370a9df917db708f081b9043fa3315","impliedFormat":1},{"version":"f40aad6c91017f20fc542f5701ec41e0f6aeba63c61bbf7aa13266ec29a50a3b","impliedFormat":1},{"version":"fc9e630f9302d0414ccd6c8ed2706659cff5ae454a56560c6122fa4a3fac5bbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa0a44af370a2d7c1aac988a17836f57910a6c52689f52f5b3ac1d4c6cadcb23","impliedFormat":1},{"version":"0ac74c7586880e26b6a599c710b59284a284e084a2bbc82cd40fb3fbfdea71ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ce12357dadbb8efc4e4ec4dab709c8071bf992722fc9adfea2fe0bd5b50923f","impliedFormat":1},{"version":"b5a907deaba678e5083ccdd7cc063a3a8c3413c688098f6de29d6e4cefabc85f","impliedFormat":1},{"version":"ffd344731abee98a0a85a735b19052817afd2156d97d1410819cd9bcd1bd575e","impliedFormat":1},{"version":"475e07c959f4766f90678425b45cf58ac9b95e50de78367759c1e5118e85d5c3","impliedFormat":1},{"version":"a524ae401b30a1b0814f1bbcdae459da97fa30ae6e22476e506bb3f82e3d9456","impliedFormat":1},{"version":"7375e803c033425e27cb33bae21917c106cb37b508fd242cccd978ef2ee244c7","impliedFormat":1},{"version":"eeb890c7e9218afdad2f30ad8a76b0b0b5161d11ce13b6723879de408e6bc47a","impliedFormat":1},{"version":"998da6b85ebace9ebea67040dd1a640f0156064e3d28dbe9bd9c0229b6f72347","impliedFormat":1},{"version":"dfbcc400ac6d20b941ccc7bd9031b9d9f54e4d495dd79117334e771959df4805","affectsGlobalScope":true,"impliedFormat":1},{"version":"944d65951e33a13068be5cd525ec42bf9bc180263ba0b723fa236970aa21f611","affectsGlobalScope":true,"impliedFormat":1},{"version":"6b386c7b6ce6f369d18246904fa5eac73566167c88fb6508feba74fa7501a384","affectsGlobalScope":true,"impliedFormat":1},{"version":"592a109e67b907ffd2078cd6f727d5c326e06eaada169eef8fb18546d96f6797","impliedFormat":1},{"version":"f2eb1e35cae499d57e34b4ac3650248776fe7dbd9a3ec34b23754cfd8c22fceb","impliedFormat":1},{"version":"fbed43a6fcf5b675f5ec6fc960328114777862b58a2bb19c109e8fc1906caa09","impliedFormat":1},{"version":"9e98bd421e71f70c75dae7029e316745c89fa7b8bc8b43a91adf9b82c206099c","impliedFormat":1},{"version":"fc803e6b01f4365f71f51f9ce13f71396766848204d4f7a1b2b6154434b84b15","impliedFormat":1},{"version":"f3afcc0d6f77a9ca2d2c5c92eb4b89cd38d6fa4bdc1410d626bd701760a977ec","impliedFormat":1},{"version":"c8109fe76467db6e801d0edfbc50e6826934686467c9418ce6b246232ce7f109","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6f803e4e45915d58e721c04ec17830c6e6678d1e3e00e28edf3d52720909cea","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be812b06e518320ba82e2aff3ac2ca37370a9df917db708f081b9043fa3315","impliedFormat":1},{"version":"70116e9fcfd0ba759c41ce45ce89cf7a286f3a77bcabd1da6ea2d54325d1bf58","impliedFormat":99},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"9b4f7ff9681448c72abe38ea8eefd7ffe0c3aefe495137f02012a08801373f71","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"fe62b82c98a4d5bca3f8de616b606d20211b18c14e881bb6856807d9ab58131b","impliedFormat":1},{"version":"4ff9d7eb230ddb351700f4dd20ecebc5088fbfb677c987382ae67bb9035aee65","impliedFormat":1},{"version":"5245557384c98f06283eae8d5f198bac3691325ec30342ea518690aa5b7f458f","impliedFormat":1},{"version":"11f2d766a2a86fd0807de76a338d933f0125a62296a1945b4c7b8b30b89e9933","impliedFormat":1},{"version":"9357f2a862f58cac431727600ff7a63820b74ec7dd2141cc430e00afe99d04ae","impliedFormat":1},{"version":"72ce7ba2f77098e8220675c58804130418ec145394c2b8e61bcb7d22256ee963","impliedFormat":1},{"version":"bfbdf9e6f7ed0b5f551329bab482dcfcadb90a387680a5b25354db34520742fe","impliedFormat":1},{"version":"1fb54b0c01853e4786cd4fdb1afa54a3eee07ed0c0d695e0df3fc951565f9d03","impliedFormat":1},{"version":"62275d2dfd8a8e1762859487fe95da987c2e484a0eb8c57eb07947ecd9633336","impliedFormat":1},{"version":"342fc8357664cc05cbf318bdad7289e09626b29234b389d33132a8711d270ee7","impliedFormat":1},{"version":"9b650b8240a1fab29b684ab3852b5a49a89972509a9e664c96709d1f113dfa43","impliedFormat":1},{"version":"5f3b5d4617feb57cf58f01f6bb30ac77fd4af808e512d264642e741d7214d400","impliedFormat":1},{"version":"fd5e509e0e309a3791837e07f6199a31b9cacb7e9d60efd16d62a5930334f11a","impliedFormat":1},{"version":"9cc504cd3f0636fdd019964ecdf530f45bce66a52f75b3b01f76a98e7b328a3d","impliedFormat":1},{"version":"a514065dd5c021dbed15241db3369b42b41a2102cd09b16ff2ffc2c422aae80c","impliedFormat":1}],"root":[101,281,609,610,613,615,616,[620,623],683,684,[1443,1445],1447,1448,1453,1454,1456,[1466,1470],[1474,1509],[1511,1558],[1560,1600],[1624,1692],[1694,1786],[1789,1791],1794,[1842,1881],[2008,2016],[2185,2187],[2195,2197],[2204,2207],[2212,2215],[2218,2230],[2252,2282],[2284,2310],[2312,2334],[2368,2386],2645,2646,[2677,2687]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":4},"referencedMap":[[1455,1],[2686,2],[609,3],[2687,4],[101,5],[281,6],[610,7],[613,8],[615,9],[1447,10],[1448,11],[1454,12],[2205,13],[2221,14],[2219,15],[2223,16],[2227,17],[2226,18],[2224,19],[2225,20],[1456,21],[2230,22],[2371,23],[2212,24],[621,25],[2215,26],[2373,27],[2378,28],[1509,29],[2381,30],[622,25],[1511,31],[684,32],[2382,33],[2383,27],[2321,34],[2327,35],[2369,36],[2377,37],[2325,38],[2332,39],[2374,40],[2333,41],[2331,42],[2370,43],[2368,44],[2261,45],[2263,46],[2277,47],[2254,48],[2265,49],[2255,50],[2260,51],[2276,52],[2267,53],[2268,54],[2385,55],[2273,56],[2274,57],[2275,58],[2318,59],[2320,60],[2319,61],[2322,62],[2312,63],[2324,64],[2314,65],[2317,66],[1744,67],[2315,68],[2316,69],[2323,70],[2313,71],[2278,72],[2290,73],[2295,45],[1705,74],[1706,75],[1708,76],[1709,76],[1707,77],[2296,78],[2294,79],[1710,80],[2281,81],[2280,82],[2291,83],[2292,84],[2293,85],[2287,86],[2279,87],[2297,88],[2308,89],[2309,90],[2310,91],[2301,92],[2298,93],[2300,94],[2307,95],[2306,96],[2305,97],[2299,98],[2304,99],[2204,100],[2228,101],[2197,102],[2213,103],[2214,104],[2334,105],[2259,106],[2384,107],[2195,108],[2372,109],[2386,110],[2326,111],[2262,112],[2229,113],[2379,114],[2376,115],[1842,116],[2645,117],[2222,118],[2330,109],[2646,112],[2286,119],[2196,120],[2269,121],[2264,122],[2285,123],[2677,124],[2678,113],[2270,125],[2258,116],[2679,109],[2680,126],[1843,127],[2284,128],[2329,113],[2220,129],[2328,109],[2380,130],[2252,131],[2271,118],[2256,132],[2218,133],[2303,122],[2375,50],[2288,113],[2206,134],[2257,135],[2302,136],[2289,113],[2681,118],[2272,113],[2282,118],[2682,126],[2684,137],[2683,116],[2207,116],[1723,138],[1495,11],[1724,11],[1642,139],[1689,11],[1725,11],[1726,11],[1649,11],[1570,140],[620,141],[1668,11],[1478,142],[1474,143],[1728,144],[1703,145],[1701,146],[1699,147],[1692,148],[1512,149],[1691,150],[1698,151],[1700,149],[1641,152],[1702,153],[1640,154],[1729,11],[1730,11],[2266,11],[1765,155],[1769,156],[1770,103],[1784,157],[1785,158],[1766,159],[1786,160],[1767,161],[1773,162],[1774,103],[1775,103],[1776,103],[1777,103],[1778,163],[1780,164],[1781,165],[1782,166],[1783,167],[1732,168],[1704,169],[1733,170],[1735,171],[1736,103],[1737,172],[1738,103],[1739,103],[1741,173],[1742,174],[1751,175],[1752,159],[1753,103],[1757,176],[1759,177],[1760,103],[1731,103],[1745,103],[1762,178],[1763,103],[1764,179],[1713,180],[1715,181],[1712,182],[1714,182],[1711,183],[1499,184],[1535,185],[1504,186],[1496,187],[1502,188],[1498,189],[1500,184],[1503,190],[1497,191],[1501,192],[1466,11],[1494,184],[1789,193],[1445,194],[683,195],[623,11],[1750,11],[1513,11],[1558,196],[1639,197],[1600,198],[1626,199],[1625,200],[1790,11],[1638,201],[1637,202],[1627,203],[1628,203],[1636,204],[1635,205],[1633,205],[1629,203],[1632,205],[1634,205],[1555,206],[1554,207],[1520,208],[1521,209],[1542,210],[1547,211],[1543,208],[1546,208],[1544,208],[1545,212],[1553,213],[1519,214],[1541,215],[1536,216],[1537,217],[1538,217],[1539,216],[1540,217],[1550,218],[1548,208],[1549,219],[1534,220],[1552,221],[1551,222],[1530,223],[1533,224],[1532,224],[1523,225],[1524,226],[1522,227],[1531,208],[1557,228],[1514,229],[1518,230],[1515,208],[1516,208],[1517,208],[1556,208],[1444,231],[1443,232],[1734,233],[1483,234],[1484,235],[1485,236],[1482,237],[1468,238],[1643,239],[1690,240],[1688,11],[1682,241],[1683,242],[1681,11],[2685,243],[1845,244],[1847,245],[1846,11],[1849,246],[1848,247],[1791,103],[1672,11],[1850,248],[1651,249],[1652,250],[1656,251],[1653,250],[1655,252],[1748,253],[1746,254],[1657,255],[1650,256],[1648,257],[1749,258],[1506,259],[1654,11],[1696,260],[1695,261],[1754,262],[1755,263],[1480,264],[1756,265],[1467,11],[1505,266],[1758,267],[1743,11],[1747,11],[1508,268],[1453,269],[1481,238],[1470,11],[1851,270],[1852,270],[1526,271],[1529,272],[1527,273],[1525,273],[1528,274],[1560,275],[1853,11],[1855,103],[1854,11],[1860,276],[1862,277],[1863,278],[1768,11],[1857,279],[1861,280],[1858,103],[1859,281],[1856,11],[1564,11],[1864,282],[1679,283],[1673,284],[1674,285],[1677,286],[1675,287],[1676,285],[1670,288],[1678,289],[1671,11],[1669,290],[1493,291],[1630,11],[1631,292],[1771,293],[1469,268],[1779,294],[1487,295],[1492,296],[1491,293],[1490,273],[1489,293],[1865,142],[1772,297],[1477,273],[1476,298],[1507,299],[1488,293],[1866,300],[1727,301],[616,302],[1644,303],[1647,11],[1867,304],[1662,305],[1645,306],[1685,307],[1684,308],[1686,309],[1665,310],[1646,303],[1680,311],[1667,312],[1664,313],[1663,314],[1687,315],[1694,316],[1661,317],[1658,318],[1660,319],[1659,320],[1561,264],[1873,321],[1868,11],[1869,11],[1870,11],[1871,11],[1872,11],[1874,322],[1875,323],[1876,324],[1877,325],[1878,326],[1879,327],[1880,328],[1566,329],[1598,330],[1597,331],[1881,332],[1565,11],[1567,329],[1568,333],[1571,334],[1589,335],[1591,335],[1593,335],[1595,335],[1573,335],[1575,335],[1577,335],[1579,335],[1581,335],[1583,335],[1585,335],[1587,335],[1569,336],[1572,337],[1590,338],[1592,339],[1594,340],[1596,341],[1574,342],[1576,343],[1578,344],[1580,345],[1582,346],[1584,347],[1586,348],[1588,349],[1562,264],[1563,11],[1599,350],[1479,351],[2009,352],[2008,353],[1624,354],[2253,355],[2010,356],[1722,357],[1721,358],[1717,359],[1718,359],[1719,180],[1720,180],[2011,360],[1844,361],[2012,80],[1761,362],[2013,363],[1740,364],[2014,3],[2015,3],[2016,3],[1697,11],[2185,365],[2186,11],[2187,11],[1475,11],[1666,11],[1716,11],[1486,11],[1794,366],[791,367],[1128,368],[1129,369],[1130,370],[1133,371],[1131,370],[1132,372],[713,373],[706,374],[707,374],[708,375],[709,374],[710,375],[711,374],[715,376],[712,377],[714,374],[703,378],[705,379],[1061,374],[698,380],[699,380],[700,380],[704,380],[701,380],[702,380],[1060,381],[1072,3],[1073,3],[1074,382],[716,3],[1108,3],[1109,383],[1063,384],[718,385],[719,386],[755,387],[717,388],[720,385],[721,385],[753,389],[754,390],[756,386],[757,386],[758,386],[759,386],[770,386],[760,386],[761,386],[762,386],[774,386],[764,386],[765,386],[789,391],[782,386],[771,386],[784,386],[772,386],[773,386],[763,386],[783,386],[781,386],[785,386],[786,386],[787,386],[776,386],[777,386],[778,386],[766,386],[767,386],[775,386],[768,386],[769,386],[788,386],[779,386],[780,386],[790,392],[697,393],[685,3],[1059,394],[1043,395],[1058,396],[1062,397],[1121,398],[1122,3],[1123,3],[1126,399],[1124,3],[1125,3],[1134,400],[1044,3],[86,401],[612,402],[1471,3],[1472,403],[1473,404],[1900,405],[1915,406],[1914,407],[1916,408],[1903,409],[1895,410],[1907,411],[1909,412],[1910,413],[1908,3],[1906,414],[1913,415],[1921,416],[1936,417],[1981,418],[1918,419],[1937,420],[1938,420],[1939,420],[1923,416],[1940,420],[1941,420],[1924,421],[1942,420],[1943,422],[1944,420],[1945,420],[1946,420],[1947,420],[1922,416],[1935,423],[1982,424],[1925,416],[1983,425],[1948,420],[1949,422],[1984,426],[1950,422],[1985,426],[1980,427],[1951,420],[1986,428],[1952,420],[1987,424],[1988,426],[1953,420],[1955,429],[1954,430],[1989,431],[1956,420],[1957,420],[1958,420],[1959,420],[1960,420],[1926,416],[1990,432],[1961,433],[1963,434],[1962,430],[1991,424],[1992,426],[1927,416],[1964,435],[1993,426],[1965,420],[1994,426],[2006,436],[1966,420],[1928,416],[1995,437],[1967,435],[1996,426],[1968,430],[1969,422],[1997,438],[1970,439],[1998,440],[1971,441],[1929,416],[1972,430],[1973,420],[1974,442],[1999,443],[1930,444],[1931,445],[2000,432],[1975,420],[2001,432],[1976,420],[1977,446],[1978,435],[2002,432],[1932,416],[2003,432],[2004,432],[1933,416],[1934,416],[1911,447],[2005,432],[1979,430],[1919,448],[1905,449],[2007,450],[1917,451],[1896,3],[1904,3],[1897,3],[1898,3],[1899,452],[1912,453],[1901,3],[1902,454],[1920,455],[614,456],[353,3],[1795,457],[1799,458],[1804,459],[1808,460],[1805,460],[1806,461],[1807,462],[1798,463],[1813,464],[1796,457],[1803,465],[1814,457],[1800,460],[1815,464],[1801,460],[1817,466],[1818,467],[1816,460],[1812,468],[1819,469],[1821,470],[1822,471],[1823,403],[1824,472],[1810,473],[1802,460],[1797,457],[2216,457],[1825,461],[1826,474],[1811,463],[1827,463],[1828,475],[1829,460],[2217,476],[1830,463],[1831,457],[1832,463],[1833,474],[1834,477],[1836,478],[1835,479],[1837,480],[1838,481],[1820,460],[1809,3],[85,3],[2756,482],[2780,483],[2781,484],[2030,485],[2031,485],[2032,486],[2029,3],[2062,487],[2155,487],[2163,488],[2022,3],[2060,489],[2061,488],[2065,490],[2066,490],[2067,491],[2033,3],[2173,488],[2063,488],[2068,492],[2034,3],[2069,493],[2070,493],[2071,494],[2035,3],[2174,3],[2175,3],[2176,3],[2177,3],[2178,3],[2172,495],[2017,3],[2064,3],[2154,496],[2072,497],[2073,497],[2074,498],[2036,3],[2075,499],[2076,499],[2079,500],[2077,501],[2078,501],[2037,3],[2080,502],[2081,502],[2082,503],[2038,3],[2083,504],[2084,504],[2086,505],[2085,506],[2039,3],[2182,507],[2184,508],[2158,495],[2164,3],[2019,509],[2018,3],[2160,3],[2162,3],[2161,3],[2180,510],[2181,510],[2183,511],[2040,3],[2087,512],[2088,513],[2089,512],[2090,513],[2091,514],[2041,3],[2092,515],[2093,515],[2094,516],[2042,3],[2095,517],[2096,518],[2097,517],[2098,518],[2100,519],[2099,520],[2043,3],[2101,521],[2102,522],[2103,521],[2104,522],[2105,523],[2044,3],[2106,524],[2107,525],[2109,526],[2108,527],[2045,3],[2110,528],[2046,3],[2113,529],[2114,529],[2115,530],[2047,3],[2116,531],[2117,532],[2118,533],[2048,3],[2119,534],[2120,534],[2121,535],[2049,3],[2157,487],[2168,536],[2169,537],[2122,538],[2123,538],[2124,539],[2050,3],[2125,540],[2126,540],[2127,541],[2051,3],[2128,542],[2129,542],[2130,543],[2131,543],[2133,544],[2132,545],[2052,3],[2135,546],[2134,547],[2053,3],[2136,548],[2137,548],[2138,549],[2054,3],[2170,488],[2139,550],[2140,550],[2141,551],[2055,3],[2156,487],[2142,552],[2143,552],[2144,553],[2056,3],[2027,554],[2021,555],[2023,556],[2024,555],[2025,555],[2026,3],[2020,3],[2159,3],[2171,3],[2179,488],[2165,557],[2166,557],[2167,558],[2057,3],[2111,559],[2112,559],[2145,560],[2058,3],[2146,561],[2148,562],[2147,561],[2149,562],[2150,563],[2028,3],[2151,564],[2152,564],[2153,565],[2059,3],[1603,566],[1602,567],[1601,3],[634,568],[2335,568],[148,569],[149,569],[150,368],[106,570],[151,571],[152,572],[153,573],[104,3],[154,574],[155,575],[156,576],[157,577],[158,578],[159,579],[160,579],[162,3],[161,580],[163,581],[164,582],[165,583],[147,584],[105,3],[166,585],[167,586],[168,587],[201,588],[169,589],[170,590],[171,591],[172,592],[173,593],[174,594],[175,595],[176,596],[177,597],[178,598],[179,598],[180,599],[181,3],[182,3],[183,600],[185,601],[184,602],[186,603],[187,604],[188,605],[189,606],[190,607],[191,608],[192,609],[193,610],[194,611],[195,612],[196,613],[197,614],[198,615],[199,616],[200,617],[2788,618],[2787,619],[284,3],[296,620],[513,403],[297,621],[295,403],[514,622],[294,457],[2791,623],[2792,457],[2789,457],[2793,624],[2794,625],[2790,626],[2795,624],[2796,627],[2797,626],[2798,628],[2799,625],[2800,629],[2801,457],[2802,630],[292,631],[293,632],[282,3],[285,633],[510,403],[370,403],[511,3],[81,3],[83,634],[84,457],[624,3],[1451,635],[1452,636],[1450,637],[1449,3],[1141,638],[1140,3],[1138,639],[1139,640],[1069,3],[1107,641],[1094,642],[1092,3],[1093,643],[1095,644],[1096,645],[1097,646],[1098,647],[1106,648],[1099,647],[1100,645],[1101,649],[1102,646],[1103,647],[1104,646],[1105,646],[1118,650],[1116,651],[1788,652],[1787,653],[1117,654],[1066,639],[1067,639],[1068,655],[1065,656],[1070,657],[1071,400],[1115,658],[1075,659],[1112,660],[1113,661],[1114,662],[1137,663],[1446,643],[1119,664],[1089,665],[1087,666],[1110,667],[1064,664],[1090,668],[1111,669],[1088,670],[1091,664],[1120,3],[1127,671],[1083,672],[1079,3],[1081,673],[1078,674],[1076,3],[1086,675],[1082,676],[1080,677],[1084,678],[1077,3],[1085,3],[693,679],[689,3],[691,680],[688,681],[686,3],[696,682],[692,683],[690,684],[694,685],[687,3],[695,3],[2208,686],[611,402],[2733,687],[2754,3],[2748,688],[2735,689],[2751,690],[2734,691],[2732,692],[2736,693],[2730,694],[2737,3],[2755,695],[2738,696],[2747,697],[2749,698],[2731,699],[2753,700],[2750,701],[2752,702],[2739,703],[2745,704],[2742,705],[2744,706],[2743,707],[2741,708],[2740,3],[2746,709],[2729,710],[2778,3],[2777,3],[2771,711],[2758,712],[2757,713],[2727,714],[2759,715],[2725,716],[2760,3],[2779,717],[2761,718],[2728,3],[2770,719],[2772,720],[2726,721],[2776,722],[2774,723],[2773,724],[2775,725],[2762,726],[2768,727],[2765,728],[2767,729],[2766,730],[2764,731],[2763,3],[2769,732],[1841,733],[1840,734],[1792,3],[283,3],[82,3],[2474,735],[2453,736],[2550,3],[2454,737],[2390,735],[2391,3],[2392,3],[2393,3],[2394,3],[2395,3],[2396,3],[2397,3],[2398,3],[2399,3],[2400,3],[2401,3],[2402,735],[2403,735],[2404,3],[2405,3],[2406,3],[2407,3],[2408,3],[2409,3],[2410,3],[2411,3],[2412,3],[2414,3],[2413,3],[2415,3],[2416,3],[2417,735],[2418,3],[2419,3],[2420,735],[2421,3],[2422,3],[2423,735],[2424,3],[2425,735],[2426,735],[2427,735],[2428,3],[2429,735],[2430,735],[2431,735],[2432,735],[2433,735],[2435,735],[2436,3],[2437,3],[2434,735],[2438,735],[2439,3],[2440,3],[2441,3],[2442,3],[2443,3],[2444,3],[2445,3],[2446,3],[2447,3],[2448,3],[2449,3],[2450,735],[2451,3],[2452,3],[2455,738],[2456,735],[2457,735],[2458,739],[2459,740],[2460,735],[2461,735],[2462,735],[2463,735],[2466,735],[2464,3],[2465,3],[2388,3],[2467,3],[2468,3],[2469,3],[2470,3],[2471,3],[2472,3],[2473,3],[2475,741],[2476,3],[2477,3],[2478,3],[2480,3],[2479,3],[2481,3],[2482,3],[2483,3],[2484,735],[2485,3],[2486,3],[2487,3],[2488,3],[2489,735],[2490,735],[2492,735],[2491,735],[2493,3],[2494,3],[2495,3],[2496,3],[2643,742],[2497,735],[2498,735],[2499,3],[2500,3],[2501,3],[2502,3],[2503,3],[2504,3],[2505,3],[2506,3],[2507,3],[2508,3],[2509,3],[2510,3],[2511,735],[2512,3],[2513,3],[2514,3],[2515,3],[2516,3],[2517,3],[2518,3],[2519,3],[2520,3],[2521,3],[2522,735],[2523,3],[2524,3],[2525,3],[2526,3],[2527,3],[2528,3],[2529,3],[2530,3],[2531,3],[2532,735],[2533,3],[2534,3],[2535,3],[2536,3],[2537,3],[2538,3],[2539,3],[2540,3],[2541,735],[2542,3],[2543,3],[2544,3],[2545,3],[2546,3],[2547,3],[2548,735],[2549,3],[2551,743],[2387,735],[2552,3],[2553,735],[2554,3],[2555,3],[2556,3],[2557,3],[2558,3],[2559,3],[2560,3],[2561,3],[2562,3],[2563,735],[2564,3],[2565,3],[2566,3],[2567,3],[2568,3],[2569,3],[2570,3],[2575,744],[2573,745],[2574,746],[2572,747],[2571,735],[2576,3],[2577,3],[2578,735],[2579,3],[2580,3],[2581,3],[2582,3],[2583,3],[2584,3],[2585,3],[2586,3],[2587,3],[2588,735],[2589,735],[2590,3],[2591,3],[2592,3],[2593,735],[2594,3],[2595,735],[2596,3],[2597,741],[2598,3],[2599,3],[2600,3],[2601,3],[2602,3],[2603,3],[2604,3],[2605,3],[2606,3],[2607,735],[2608,735],[2609,3],[2610,3],[2611,3],[2612,3],[2613,3],[2614,3],[2615,3],[2616,3],[2617,3],[2618,3],[2619,3],[2620,3],[2621,735],[2622,735],[2623,3],[2624,3],[2625,735],[2626,3],[2627,3],[2628,3],[2629,3],[2630,3],[2631,3],[2632,3],[2633,3],[2634,3],[2635,3],[2636,3],[2637,3],[2638,735],[2389,748],[2639,3],[2640,3],[2641,3],[2642,3],[202,749],[102,750],[103,751],[1431,752],[1435,753],[1380,754],[1195,3],[1145,755],[1429,756],[1430,757],[1143,3],[1432,758],[1217,759],[1160,760],[1183,761],[1192,762],[1163,762],[1164,763],[1165,763],[1191,764],[1166,765],[1167,763],[1173,766],[1168,767],[1169,763],[1170,763],[1193,768],[1162,769],[1171,762],[1172,767],[1174,770],[1175,770],[1176,767],[1177,763],[1178,762],[1179,763],[1180,771],[1181,771],[1182,763],[1204,772],[1212,773],[1190,774],[1220,775],[1184,776],[1186,777],[1187,774],[1198,778],[1206,779],[1211,780],[1208,781],[1213,782],[1201,783],[1202,784],[1209,785],[1210,786],[1216,787],[1207,788],[1185,758],[1218,789],[1161,758],[1205,790],[1203,791],[1189,792],[1188,774],[1219,793],[1194,794],[1214,3],[1215,795],[1434,796],[1144,758],[1255,3],[1272,797],[1221,798],[1246,799],[1253,800],[1222,800],[1223,800],[1224,801],[1252,802],[1225,803],[1240,800],[1226,804],[1227,804],[1228,801],[1229,800],[1230,801],[1231,800],[1254,805],[1232,800],[1233,800],[1234,806],[1235,800],[1236,800],[1237,806],[1238,801],[1239,800],[1241,807],[1242,806],[1243,800],[1244,801],[1245,800],[1267,808],[1263,809],[1251,810],[1275,811],[1247,812],[1248,810],[1264,813],[1256,814],[1265,815],[1262,816],[1260,817],[1266,818],[1259,819],[1271,820],[1261,821],[1273,822],[1268,823],[1257,824],[1250,825],[1249,810],[1274,826],[1258,794],[1269,3],[1270,827],[1147,828],[1337,829],[1276,830],[1311,831],[1320,832],[1277,833],[1278,833],[1279,834],[1280,833],[1319,835],[1281,836],[1282,837],[1283,838],[1284,833],[1321,839],[1322,840],[1285,833],[1287,841],[1288,832],[1290,842],[1291,843],[1292,843],[1293,834],[1294,833],[1295,833],[1296,839],[1297,834],[1298,834],[1299,843],[1300,833],[1301,832],[1302,833],[1303,834],[1304,844],[1289,845],[1305,833],[1306,834],[1307,833],[1308,833],[1309,833],[1310,833],[1439,846],[1332,847],[1318,848],[1342,849],[1312,850],[1314,851],[1315,848],[1436,852],[1325,853],[1331,854],[1327,855],[1333,856],[1437,857],[1438,784],[1328,858],[1330,859],[1336,860],[1326,861],[1313,758],[1338,862],[1286,758],[1324,863],[1329,864],[1317,865],[1316,848],[1339,866],[1340,3],[1341,867],[1323,794],[1334,3],[1335,868],[1441,869],[1442,870],[1440,871],[1156,872],[1149,873],[1199,758],[1196,874],[1200,875],[1197,876],[1391,877],[1368,878],[1374,879],[1343,879],[1344,879],[1345,880],[1373,881],[1346,882],[1361,879],[1347,883],[1348,883],[1349,880],[1350,879],[1351,884],[1352,879],[1375,885],[1353,879],[1354,879],[1355,886],[1356,879],[1357,879],[1358,886],[1359,880],[1360,879],[1362,887],[1363,886],[1364,879],[1365,880],[1366,879],[1367,879],[1388,888],[1379,889],[1394,890],[1369,891],[1370,892],[1383,893],[1376,894],[1387,895],[1378,896],[1386,897],[1385,898],[1390,899],[1377,900],[1392,901],[1389,902],[1384,903],[1372,904],[1371,892],[1393,905],[1382,906],[1381,907],[1152,908],[1154,909],[1153,908],[1155,908],[1158,910],[1157,911],[1159,912],[1150,913],[1427,914],[1395,915],[1420,916],[1424,917],[1423,918],[1396,919],[1425,920],[1416,921],[1417,917],[1418,922],[1419,923],[1404,924],[1412,925],[1422,926],[1428,927],[1397,928],[1398,926],[1401,929],[1407,930],[1411,931],[1409,932],[1413,933],[1402,934],[1405,935],[1410,936],[1426,937],[1408,938],[1406,939],[1403,940],[1421,941],[1399,942],[1415,943],[1400,794],[1414,944],[1148,794],[1146,945],[1151,946],[1433,3],[641,3],[642,947],[639,3],[640,3],[1693,3],[1510,3],[2190,948],[2191,949],[662,950],[659,3],[661,951],[660,952],[658,953],[657,954],[675,955],[674,956],[680,957],[678,956],[679,958],[670,959],[669,960],[752,961],[723,962],[732,962],[724,962],[733,962],[725,962],[726,962],[740,962],[739,962],[741,962],[742,962],[734,962],[727,962],[735,962],[728,962],[736,962],[729,962],[731,962],[738,962],[737,962],[743,962],[730,962],[744,962],[749,962],[750,962],[745,962],[722,3],[751,3],[747,962],[746,962],[748,962],[883,3],[1005,963],[884,964],[885,965],[1024,966],[1025,967],[1026,968],[1027,969],[1028,970],[1029,971],[1017,972],[1012,973],[1013,974],[1014,975],[1016,970],[1015,976],[1011,972],[1018,973],[1020,977],[1019,978],[1010,970],[1009,979],[1023,972],[1006,973],[1007,980],[1008,981],[1022,970],[1021,982],[886,973],[881,983],[1002,984],[882,985],[1004,986],[1003,987],[909,988],[906,989],[966,990],[944,991],[923,992],[851,993],[1042,994],[988,995],[1031,996],[1030,964],[808,997],[817,998],[821,999],[930,1000],[841,1001],[812,1002],[823,1003],[920,1001],[900,1001],[935,1004],[999,1001],[794,1005],[838,1005],[807,1006],[795,1005],[868,1001],[846,1007],[847,1008],[816,1009],[825,1010],[826,1005],[827,1011],[829,1012],[859,1013],[892,1001],[994,1001],[796,1001],[875,1014],[809,1015],[818,1005],[820,1016],[860,1005],[861,1017],[862,1018],[863,1018],[853,1019],[856,1020],[813,1021],[830,1001],[996,1001],[797,1001],[831,1001],[832,1022],[833,1001],[793,1001],[872,1023],[835,1024],[939,1025],[937,1001],[938,1026],[940,1027],[836,1001],[993,1001],[998,1001],[867,1028],[819,997],[837,1001],[869,1029],[870,1030],[834,1001],[850,1001],[1038,1031],[1000,1032],[792,3],[901,1001],[871,1001],[921,1001],[839,1033],[840,1034],[864,1001],[929,1035],[922,1001],[927,1036],[928,1037],[814,1038],[967,1001],[876,1039],[811,1001],[843,1040],[806,1041],[877,1018],[810,1015],[822,1005],[865,1042],[798,1005],[842,1001],[849,1001],[858,1043],[845,1044],[854,1001],[844,1045],[799,1018],[857,1001],[997,1001],[995,1001],[815,1038],[873,1046],[874,1001],[828,1001],[855,1001],[968,1047],[866,1001],[824,1001],[848,1048],[904,1049],[926,1050],[911,3],[893,1051],[890,1052],[980,1053],[945,1054],[914,1055],[969,1056],[908,1057],[983,1058],[913,1059],[931,1060],[946,1061],[971,1062],[986,1063],[943,1064],[910,1065],[918,1066],[907,1067],[942,1068],[1041,1069],[981,1070],[970,1071],[902,1072],[979,1073],[1032,1074],[1033,1074],[1037,1075],[1036,1076],[887,1077],[1035,1074],[1034,1074],[933,1078],[936,1079],[978,1080],[977,1081],[801,3],[934,1082],[917,1083],[975,1084],[800,3],[905,1085],[941,1086],[982,1087],[804,3],[916,1088],[973,1089],[924,1090],[912,1091],[974,1092],[932,1093],[972,1094],[899,1095],[925,1096],[976,1097],[802,3],[915,1098],[879,1099],[1001,1100],[880,1101],[984,1102],[991,1103],[992,1104],[990,1105],[958,1106],[888,1107],[959,1108],[989,1109],[895,1110],[897,1111],[947,1112],[951,1113],[898,1114],[896,1114],[950,1115],[891,1116],[952,1117],[953,1118],[954,1119],[962,1120],[960,1121],[955,1122],[956,1123],[957,1124],[963,1125],[961,1126],[894,1127],[949,1128],[964,1129],[965,1130],[948,1131],[903,1132],[889,983],[852,1133],[1039,1134],[1040,3],[985,1135],[987,987],[878,3],[919,3],[803,3],[805,1136],[2193,403],[2363,1137],[2337,1138],[2338,1139],[2339,1139],[2340,1139],[2341,1139],[2342,1139],[2343,1139],[2344,1139],[2345,1139],[2346,1139],[2347,1139],[2361,1140],[2348,1139],[2349,1139],[2350,1139],[2351,1139],[2352,1139],[2353,1139],[2354,1139],[2355,1139],[2357,1139],[2358,1139],[2356,1139],[2359,1139],[2360,1139],[2362,1139],[2336,1141],[1607,1142],[1609,1143],[1621,1144],[1622,1145],[1611,1146],[1623,1147],[1617,3],[1619,1148],[1620,1149],[1618,1150],[1612,1151],[1605,3],[1604,3],[1613,1152],[1615,1153],[1606,3],[1610,1154],[1616,1154],[1608,3],[1614,3],[2189,1155],[2188,3],[2192,1156],[1045,3],[1048,1157],[1050,1158],[1052,1159],[1051,1160],[1053,1161],[1057,1162],[1054,1157],[1055,1160],[1056,1160],[1047,1160],[1046,1163],[1049,3],[2194,403],[558,1164],[563,2],[553,1165],[317,1166],[357,1167],[538,1168],[352,1169],[334,3],[509,3],[315,3],[527,1170],[383,1171],[316,3],[437,1172],[360,1173],[361,1174],[508,1175],[524,1176],[419,1177],[532,1178],[533,1179],[531,1180],[530,3],[528,1181],[359,1182],[318,1183],[462,3],[463,1184],[389,1185],[319,1186],[390,1185],[385,1185],[306,1185],[355,1187],[354,3],[537,1188],[549,3],[342,3],[484,1189],[485,1190],[479,403],[585,3],[487,3],[488,1191],[480,1192],[590,1193],[589,1194],[584,3],[404,3],[523,1195],[522,3],[583,1196],[481,403],[413,1197],[409,1198],[414,1199],[412,3],[411,1200],[410,3],[586,3],[582,3],[588,1201],[587,3],[408,1198],[577,1202],[580,1203],[398,1204],[397,1205],[396,1206],[593,403],[395,1207],[377,3],[596,3],[2210,1208],[2209,3],[599,3],[598,403],[600,1209],[299,3],[534,1210],[535,1211],[536,1212],[312,3],[345,3],[311,1213],[298,3],[500,403],[304,1214],[499,1215],[498,1216],[489,3],[490,3],[497,3],[492,3],[495,1217],[491,3],[493,1218],[496,1219],[494,1218],[314,3],[309,3],[310,1185],[365,3],[371,1220],[372,1221],[369,1222],[367,1223],[368,1224],[363,3],[506,1191],[392,1191],[557,1225],[564,1226],[568,1227],[541,1228],[540,3],[380,3],[601,1229],[552,1230],[482,1231],[483,1232],[477,1233],[468,3],[505,1234],[543,403],[469,1235],[507,1236],[502,1237],[501,3],[503,3],[474,3],[461,1238],[542,1239],[545,1240],[471,1241],[475,1242],[466,1243],[519,1244],[551,1245],[423,1246],[438,1247],[307,1248],[550,1249],[303,1250],[373,1251],[364,3],[374,1252],[450,1253],[362,3],[449,1254],[291,3],[443,1255],[344,3],[464,1256],[439,3],[308,3],[338,3],[447,1257],[313,3],[375,1258],[473,1259],[539,1260],[472,3],[446,3],[366,3],[452,1261],[453,1262],[529,3],[455,1263],[457,1264],[456,1265],[347,3],[445,1248],[459,1266],[422,1267],[444,1268],[451,1269],[322,3],[326,3],[325,3],[324,3],[329,3],[323,3],[332,3],[331,3],[328,3],[327,3],[330,3],[333,1270],[321,3],[431,1271],[430,3],[435,1272],[432,1273],[434,1274],[436,1272],[433,1273],[343,1275],[393,1276],[548,1277],[602,3],[572,1278],[574,1279],[470,1280],[573,1281],[546,1239],[486,1239],[320,3],[424,1282],[339,1283],[340,1284],[341,1285],[337,1286],[518,1286],[387,1286],[425,1287],[388,1287],[336,1288],[335,3],[429,1289],[428,1290],[427,1291],[426,1292],[547,1293],[517,1294],[516,1295],[478,1296],[512,1297],[515,1298],[526,1299],[525,1300],[521,1301],[421,1302],[418,1303],[420,1304],[417,1305],[458,1306],[448,3],[562,3],[460,1307],[520,3],[376,1308],[467,1210],[465,1309],[378,1310],[381,1311],[597,3],[379,1312],[382,1312],[560,3],[559,3],[561,3],[595,3],[384,1313],[544,3],[415,1314],[407,403],[358,3],[302,1315],[391,3],[566,403],[301,3],[576,1316],[406,403],[570,1191],[405,1317],[555,1318],[403,1316],[305,3],[578,1319],[401,403],[402,403],[394,3],[300,3],[400,1320],[399,1321],[346,1322],[476,597],[386,597],[454,3],[441,1323],[440,3],[504,1198],[416,403],[556,1324],[286,403],[289,1325],[290,1326],[287,403],[288,3],[356,1327],[351,1328],[350,3],[349,1329],[348,3],[554,1330],[565,1331],[567,1332],[569,1333],[2211,1334],[571,1335],[575,1336],[608,1337],[579,1337],[607,1338],[581,1339],[591,1340],[592,1341],[594,1342],[603,1343],[606,1213],[605,3],[604,1344],[1890,1345],[1891,1346],[1892,1347],[1894,1348],[1889,1349],[1882,3],[1888,1350],[1884,1351],[1883,1350],[1885,1352],[1887,1353],[1893,3],[1886,3],[637,1354],[650,1355],[635,3],[636,1356],[651,1357],[646,1358],[647,1359],[645,1360],[649,1361],[643,1362],[638,1363],[648,1364],[644,1355],[2786,1365],[2783,1344],[2785,1366],[2784,3],[2782,3],[1142,1367],[656,1368],[653,1369],[654,3],[655,3],[652,1370],[1839,1371],[2644,1372],[2647,3],[2662,1373],[2663,1373],[2676,1374],[2664,1375],[2665,1375],[2666,1376],[2660,1377],[2658,1378],[2649,3],[2653,1379],[2657,1380],[2655,1381],[2661,1382],[2650,1383],[2651,1384],[2652,1385],[2654,1386],[2656,1387],[2659,1388],[2667,1375],[2668,1375],[2669,1375],[2670,1373],[2671,1375],[2672,1375],[2648,1375],[2673,3],[2675,1389],[2674,1375],[2203,1390],[2199,403],[2200,403],[2198,3],[2201,1391],[2202,1390],[2367,1392],[2366,1393],[2236,3],[2250,1394],[2231,403],[2233,1395],[2235,1396],[2234,1397],[2232,3],[2237,3],[2238,3],[2239,3],[2240,3],[2241,3],[2242,3],[2243,3],[2244,3],[2245,3],[2246,1398],[2248,1399],[2249,1399],[2247,3],[2251,1400],[2283,403],[677,1401],[676,1402],[664,1403],[663,1404],[682,1405],[681,1406],[673,1407],[672,956],[671,1408],[2365,1409],[2364,1410],[442,1411],[1559,403],[668,1412],[666,1413],[667,1414],[665,3],[1793,3],[631,1415],[630,3],[79,3],[80,3],[13,3],[14,3],[16,3],[15,3],[2,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[23,3],[24,3],[3,3],[25,3],[26,3],[4,3],[27,3],[31,3],[28,3],[29,3],[30,3],[32,3],[33,3],[34,3],[5,3],[35,3],[36,3],[37,3],[38,3],[6,3],[42,3],[39,3],[40,3],[41,3],[43,3],[7,3],[44,3],[49,3],[50,3],[45,3],[46,3],[47,3],[48,3],[8,3],[54,3],[51,3],[52,3],[53,3],[55,3],[9,3],[56,3],[57,3],[58,3],[60,3],[59,3],[61,3],[62,3],[10,3],[63,3],[64,3],[65,3],[11,3],[66,3],[67,3],[68,3],[69,3],[70,3],[1,3],[71,3],[72,3],[12,3],[76,3],[74,3],[78,3],[73,3],[77,3],[75,3],[2703,1416],[2713,1417],[2702,1416],[2723,1418],[2694,1419],[2693,1420],[2722,1344],[2716,1421],[2721,1422],[2696,1423],[2710,1424],[2695,1425],[2719,1426],[2691,1427],[2690,1344],[2720,1428],[2692,1429],[2697,1430],[2698,3],[2701,1430],[2688,3],[2724,1431],[2714,1432],[2705,1433],[2706,1434],[2708,1435],[2704,1436],[2707,1437],[2717,1344],[2699,1438],[2700,1439],[2709,1440],[2689,1367],[2712,1432],[2711,1430],[2715,3],[2718,1441],[124,1442],[135,1443],[122,1444],[136,1367],[145,1445],[113,1446],[114,1447],[112,1420],[144,1344],[139,1448],[143,1449],[116,1450],[132,1451],[115,1452],[142,1453],[110,1454],[111,1448],[117,1455],[118,3],[123,1456],[121,1455],[108,1457],[146,1458],[137,1459],[127,1460],[126,1455],[128,1461],[130,1462],[125,1463],[129,1464],[140,1344],[119,1465],[120,1466],[131,1467],[109,1367],[134,1468],[133,1455],[138,3],[107,3],[141,1469],[633,1470],[629,3],[632,1471],[2311,403],[626,1472],[625,568],[628,1473],[627,1474],[100,1475],[92,1476],[99,1477],[94,3],[95,3],[93,1478],[96,1479],[87,3],[88,3],[89,1475],[91,1480],[97,3],[98,1481],[90,1482],[279,1483],[273,1484],[277,1485],[274,1485],[270,1484],[278,1486],[275,1487],[1135,1483],[276,1485],[271,1488],[272,1489],[266,1490],[210,1491],[212,1492],[265,3],[211,1493],[269,1494],[268,1495],[267,1496],[203,3],[213,1491],[214,3],[205,1497],[209,1498],[204,3],[206,1499],[207,1500],[208,3],[1136,1501],[215,1502],[216,1502],[217,1502],[218,1502],[219,1502],[220,1502],[221,1502],[222,1502],[223,1502],[224,1502],[225,1502],[226,1502],[227,1502],[229,1502],[228,1502],[230,1502],[231,1502],[232,1502],[233,1502],[264,1503],[234,1502],[235,1502],[236,1502],[237,1502],[238,1502],[239,1502],[240,1502],[241,1502],[242,1502],[243,1502],[244,1502],[245,1502],[246,1502],[248,1502],[247,1502],[249,1502],[250,1502],[251,1502],[252,1502],[253,1502],[254,1502],[255,1502],[256,1502],[257,1502],[258,1502],[259,1502],[260,1502],[263,1502],[261,1502],[262,1502],[1459,1504],[1465,1505],[1463,1506],[1461,1506],[1464,1506],[1460,1506],[1462,1506],[1458,1506],[1457,3],[280,1507],[617,11],[619,1508],[618,11]],"semanticDiagnosticsPerFile":[[1701,[{"start":11983,"length":4,"code":2339,"category":1,"messageText":"Property 'mode' does not exist on type 'RetimeConfig'."}]],[1722,[{"start":476,"length":18,"code":2322,"category":1,"messageText":{"messageText":"Type 'Record<ShortcutKey, \"split\" | \"toggle-play\" | \"stop-playback\" | \"seek-forward\" | \"seek-backward\" | \"frame-step-forward\" | \"frame-step-backward\" | \"jump-forward\" | ... 20 more ... | \"remove-media-assets\">' is not assignable to type 'KeybindingConfig'.","category":1,"code":2322,"next":[{"messageText":"Types of property '0' are incompatible.","category":1,"code":2326,"next":[{"messageText":"Type '\"split\" | \"toggle-play\" | \"stop-playback\" | \"seek-forward\" | \"seek-backward\" | \"frame-step-forward\" | \"frame-step-backward\" | \"jump-forward\" | \"jump-backward\" | \"goto-start\" | ... 18 more ... | \"remove-media-assets\"' is not assignable to type 'TActionWithOptionalArgs | undefined'.","category":1,"code":2322,"next":[{"messageText":"Type '\"remove-media-asset\"' is not assignable to type 'TActionWithOptionalArgs | undefined'.","category":1,"code":2322}],"canonicalHead":{"code":2322,"messageText":"Type 'Record<ShortcutKey, \"split\" | \"toggle-play\" | \"stop-playback\" | \"seek-forward\" | \"seek-backward\" | \"frame-step-forward\" | \"frame-step-backward\" | \"jump-forward\" | ... 20 more ... | \"remove-media-assets\">' is not assignable to type 'KeybindingConfig'."}}]}]}}]],[1879,[{"start":1027,"length":49,"messageText":"Spread types may only be created from object types.","category":1,"code":2698}]],[2196,[{"start":1844,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ContextMenuSubTriggerProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; variant?: \"default\" | ... 2 more ... | undefined; icon?: ReactNode; }'.","category":1,"code":2339},{"start":1862,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<ContextMenuSubTriggerProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; variant?: \"default\" | ... 2 more ... | undefined; icon?: ReactNode; }'.","category":1,"code":2339},{"start":1929,"length":31,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; key?: Key | null | undefined; disabled?: boolean | undefined; textValue?: string | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & ContextMenuSubTriggerProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ContextMenuSubTriggerProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":2687,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ContextMenuSubContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":2768,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; loop?: boolean | undefined; onEscapeKeyDown?: any; onPointerDownOutside?: any; onFocusOutside?: any; onInteractOutside?: any; forceMount?: true | undefined; ref: ForwardedRef<...>; className: string; }' is not assignable to type 'IntrinsicAttributes & ContextMenuSubContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & ContextMenuSubContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":3227,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ContextMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & { container?: HTMLElement | null | undefined; }'.","category":1,"code":2339},{"start":3385,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; loop?: boolean | undefined; onCloseAutoFocus?: any; onEscapeKeyDown?: any; onPointerDownOutside?: any; onFocusOutside?: any; onInteractOutside?: any; forceMount?: true | undefined; ref: ForwardedRef<...>; className: string; }' is not assignable to type 'IntrinsicAttributes & ContextMenuContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & ContextMenuContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":3976,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; variant?: \"default\" | ... 2 more ... | undefined; icon?: ReactNode; textRight?: string | undefined; }'.","category":1,"code":2339},{"start":4033,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; variant?: \"default\" | ... 2 more ... | undefined; icon?: ReactNode; textRight?: string | undefined; }'.","category":1,"code":2339},{"start":4158,"length":25,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; key?: Key | null | undefined; onSelect?: ((event: Event) => void) | undefined; disabled?: boolean | undefined; textValue?: string | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & ContextMenuItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ContextMenuItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":5101,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ContextMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { variant?: \"default\" | \"destructive\" | null | undefined; icon?: ReactNode; }'.","category":1,"code":2339},{"start":5112,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<ContextMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { variant?: \"default\" | \"destructive\" | null | undefined; icon?: ReactNode; }'.","category":1,"code":2339},{"start":5188,"length":33,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; key?: Key | null | undefined; onSelect?: ((event: Event) => void) | undefined; disabled?: boolean | undefined; textValue?: string | undefined; onCheckedChange?: ((checked: boolean) => void) | undefined; ref: ForwardedRef<...>; className: string; checked: CheckedState | undefined; }' is not assignable to type 'IntrinsicAttributes & ContextMenuCheckboxItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ContextMenuCheckboxItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":5457,"length":34,"code":2559,"category":1,"messageText":"Type '{ children: Element; }' has no properties in common with type 'IntrinsicAttributes & ContextMenuItemIndicatorProps & RefAttributes<HTMLSpanElement>'."},{"start":6130,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ContextMenuRadioItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { variant?: \"default\" | \"destructive\" | null | undefined; icon?: ReactNode; }'.","category":1,"code":2339},{"start":6141,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<ContextMenuRadioItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { variant?: \"default\" | \"destructive\" | null | undefined; icon?: ReactNode; }'.","category":1,"code":2339},{"start":6202,"length":30,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; value: string; key?: Key | null | undefined; onSelect?: ((event: Event) => void) | undefined; disabled?: boolean | undefined; textValue?: string | undefined; ref: ForwardedRef<...>; className: string; }' is not assignable to type 'IntrinsicAttributes & ContextMenuRadioItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ContextMenuRadioItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":6423,"length":34,"code":2559,"category":1,"messageText":"Type '{ children: Element; }' has no properties in common with type 'IntrinsicAttributes & ContextMenuItemIndicatorProps & RefAttributes<HTMLSpanElement>'."},{"start":7026,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ContextMenuLabelProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; icon?: ReactNode; }'.","category":1,"code":2339},{"start":7050,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<ContextMenuLabelProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; icon?: ReactNode; }'.","category":1,"code":2339},{"start":7084,"length":26,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & ContextMenuLabelProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ContextMenuLabelProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":7669,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ContextMenuSeparatorProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":7749,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & ContextMenuSeparatorProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & ContextMenuSeparatorProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}}]],[2197,[{"start":1378,"length":18,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & ContextMenuTriggerProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ContextMenuTriggerProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2339}]}},{"start":1695,"length":18,"code":2559,"category":1,"messageText":"Type '{ children: Element[]; }' has no properties in common with type 'IntrinsicAttributes & Omit<ContextMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'."},{"start":1724,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: (string | Element)[]; onClick: () => Promise<void>; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":2038,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: (string | Element)[]; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":2389,"length":15,"code":2559,"category":1,"messageText":"Type '{ children: (string | Element)[]; }' has no properties in common with type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'."}]],[2224,[{"start":1540,"length":10,"code":2322,"category":1,"messageText":{"messageText":"Type 'React.ReactNode' is not assignable to type 'import(\"D:/Coding Projects/Web Apps/Next JS/video-editor-oss/node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/index\").ReactNode'.","category":1,"code":2322,"next":[{"messageText":"Type 'ReactElement<unknown, string | JSXElementConstructor<any>>' is not assignable to type 'ReactNode'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' is missing in type 'ReactElement<unknown, string | JSXElementConstructor<any>>' but required in type 'ReactPortal'.","category":1,"code":2741,"canonicalHead":{"code":2322,"messageText":"Type 'ReactElement<unknown, string | JSXElementConstructor<any>>' is not assignable to type 'ReactPortal'."}}]}]},"relatedInformation":[{"file":"../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/index.d.ts","start":12829,"length":8,"messageText":"'children' is declared here.","category":3,"code":2728},{"file":"../../node_modules/.bun/@types+react@18.3.23/node_modules/@types/react/index.d.ts","start":92624,"length":8,"messageText":"The expected type comes from property 'children' which is declared here on type 'IntrinsicAttributes & Omit<AnchorHTMLAttributes<HTMLAnchorElement>, keyof LinkProps<any>> & LinkProps<...> & { ...; } & RefAttributes<...>'","category":3,"code":6500}]}]],[2264,[{"start":1773,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<DropdownMenuSubTriggerProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; variant?: \"default\" | ... 2 more ... | undefined; }'.","category":1,"code":2339},{"start":1791,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<DropdownMenuSubTriggerProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; variant?: \"default\" | ... 2 more ... | undefined; }'.","category":1,"code":2339},{"start":1846,"length":32,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; key?: Key | null | undefined; disabled?: boolean | undefined; textValue?: string | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuSubTriggerProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & DropdownMenuSubTriggerProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":2437,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<DropdownMenuSubContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":2519,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; loop?: boolean | undefined; onEscapeKeyDown?: any; onPointerDownOutside?: any; onFocusOutside?: any; onInteractOutside?: any; forceMount?: true | undefined; ref: ForwardedRef<...>; className: string; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuSubContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & DropdownMenuSubContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":2952,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":2963,"length":10,"messageText":"Property 'sideOffset' does not exist on type 'Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":3082,"length":10,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; loop?: boolean | undefined; onCloseAutoFocus: any; onEscapeKeyDown?: any; onPointerDownOutside?: any; onFocusOutside?: any; onInteractOutside?: any; forceMount?: true | undefined; ref: ForwardedRef<...>; sideOffset: any; className: string; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'sideOffset' does not exist on type 'IntrinsicAttributes & DropdownMenuContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":3128,"length":1,"messageText":"Parameter 'e' implicitly has an 'any' type.","category":1,"code":7006},{"start":3780,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; icon?: ReactNode; variant?: \"default\" | ... 2 more ... | undefined; }'.","category":1,"code":2339},{"start":3837,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; icon?: ReactNode; variant?: \"default\" | ... 2 more ... | undefined; }'.","category":1,"code":2339},{"start":3850,"length":7,"messageText":"Property 'asChild' does not exist on type 'Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; icon?: ReactNode; variant?: \"default\" | ... 2 more ... | undefined; }'.","category":1,"code":2339},{"start":4421,"length":26,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; key?: Key | null | undefined; onSelect?: ((event: Event) => void) | undefined; disabled?: boolean | undefined; textValue?: string | undefined; ref: ForwardedRef<...>; asChild: any; \"data-has-icon\": string | undefined; className: string; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & DropdownMenuItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":5064,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { variant?: \"default\" | \"destructive\" | null | undefined; }'.","category":1,"code":2339},{"start":5075,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { variant?: \"default\" | \"destructive\" | null | undefined; }'.","category":1,"code":2339},{"start":5139,"length":34,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; key?: Key | null | undefined; onSelect: (event: Event) => void; disabled?: boolean | undefined; textValue?: string | undefined; onCheckedChange?: ((checked: boolean) => void) | undefined; ref: ForwardedRef<...>; className: string; checked: CheckedState | undefined; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":5462,"length":35,"code":2559,"category":1,"messageText":"Type '{ children: Element; }' has no properties in common with type 'IntrinsicAttributes & DropdownMenuItemIndicatorProps & RefAttributes<HTMLSpanElement>'."},{"start":5978,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<DropdownMenuRadioItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { variant?: \"default\" | \"destructive\" | null | undefined; }'.","category":1,"code":2339},{"start":5989,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<DropdownMenuRadioItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { variant?: \"default\" | \"destructive\" | null | undefined; }'.","category":1,"code":2339},{"start":6044,"length":31,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; value: string; key?: Key | null | undefined; onSelect?: ((event: Event) => void) | undefined; disabled?: boolean | undefined; textValue?: string | undefined; ref: ForwardedRef<...>; className: string; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuRadioItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & DropdownMenuRadioItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":6281,"length":35,"code":2559,"category":1,"messageText":"Type '{ children: Element; }' has no properties in common with type 'IntrinsicAttributes & DropdownMenuItemIndicatorProps & RefAttributes<HTMLSpanElement>'."},{"start":6750,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<DropdownMenuLabelProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; }'.","category":1,"code":2339},{"start":6834,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuLabelProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & DropdownMenuLabelProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":7257,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<DropdownMenuSeparatorProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":7338,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuSeparatorProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & DropdownMenuSeparatorProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}}]],[2265,[{"start":7466,"length":18,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: ReactNode; asChild: true; }' is not assignable to type 'IntrinsicAttributes & ContextMenuTriggerProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ContextMenuTriggerProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2339}]}},{"start":7529,"length":18,"code":2559,"category":1,"messageText":"Type '{ children: Element[]; }' has no properties in common with type 'IntrinsicAttributes & Omit<ContextMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'."},{"start":7554,"length":15,"code":2559,"category":1,"messageText":"Type '{ children: string; }' has no properties in common with type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'."},{"start":7606,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; variant: \"destructive\"; onClick: (event: MouseEvent<HTMLDivElement, MouseEvent>) => void; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":12477,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":12792,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; align: string; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":14368,"length":16,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string[]; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}}]],[2272,[{"start":792,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<TabsListProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":928,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; loop?: boolean | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & TabsListProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & TabsListProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":1405,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<TabsTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\">'.","category":1,"code":2339},{"start":1544,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ value: string; key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & TabsTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & TabsTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":2410,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<TabsContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":2549,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ value: string; key?: Key | null | undefined; forceMount?: true | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & TabsContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & TabsContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}}]],[2273,[{"start":1166,"length":4,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; defaultValue: string; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<TabsProps & RefAttributes<HTMLDivElement>, \"ref\"> & { variant?: TabsVariant | undefined; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<TabsProps & RefAttributes<HTMLDivElement>, \"ref\"> & { variant?: TabsVariant | undefined; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1277,"length":8,"code":2559,"category":1,"messageText":"Type '{ children: Element[]; }' has no properties in common with type 'IntrinsicAttributes & Omit<TabsListProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<never>'."},{"start":1294,"length":11,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; value: string; }' is not assignable to type 'IntrinsicAttributes & Omit<TabsTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<TabsTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1363,"length":11,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; value: string; }' is not assignable to type 'IntrinsicAttributes & Omit<TabsTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<TabsTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1416,"length":11,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; value: string; }' is not assignable to type 'IntrinsicAttributes & Omit<TabsTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<TabsTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1530,"length":11,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; value: string; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<TabsContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<TabsContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1685,"length":11,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; value: string; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<TabsContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<TabsContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1831,"length":11,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; value: string; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<TabsContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<TabsContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":5922,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":6171,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; align: string; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":6228,"length":24,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; checked: boolean; onCheckedChange: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}}]],[2274,[{"start":2093,"length":4,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; defaultValue: string; variant: \"underline\"; }' is not assignable to type 'IntrinsicAttributes & Omit<TabsProps & RefAttributes<HTMLDivElement>, \"ref\"> & { variant?: TabsVariant | undefined; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<TabsProps & RefAttributes<HTMLDivElement>, \"ref\"> & { variant?: TabsVariant | undefined; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":2143,"length":8,"code":2559,"category":1,"messageText":"Type '{ children: Element[]; }' has no properties in common with type 'IntrinsicAttributes & Omit<TabsListProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<never>'."},{"start":2225,"length":11,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; key: string; value: string; }' is not assignable to type 'IntrinsicAttributes & Omit<TabsTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<TabsTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":2326,"length":11,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; value: string; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<TabsContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<TabsContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":3988,"length":4,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key: string; item: StickerItem; shouldCapSize: boolean; }' is not assignable to type 'IntrinsicAttributes'.","category":1,"code":2322,"next":[{"messageText":"Property 'item' does not exist on type 'IntrinsicAttributes'.","category":1,"code":2339}]}}]],[2284,[{"start":828,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<PopoverContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":839,"length":5,"messageText":"Property 'align' does not exist on type 'Omit<PopoverContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":857,"length":10,"messageText":"Property 'sideOffset' does not exist on type 'Omit<PopoverContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":966,"length":5,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; onOpenAutoFocus?: any; onCloseAutoFocus?: any; forceMount?: true | undefined; ref: ForwardedRef<never>; align: any; sideOffset: any; className: string; }' is not assignable to type 'IntrinsicAttributes & PopoverContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'align' does not exist on type 'IntrinsicAttributes & PopoverContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}}]],[2285,[{"start":2497,"length":14,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; className: string; }' is not assignable to type 'IntrinsicAttributes & PopoverTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & PopoverTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":3178,"length":14,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: (false | Element | null)[]; className: string; align: string; side: string; onOpenAutoFocus: (event: any) => void; onCloseAutoFocus: (event: any) => void; }' is not assignable to type 'IntrinsicAttributes & Omit<PopoverContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<PopoverContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":3290,"length":5,"messageText":"Parameter 'event' implicitly has an 'any' type.","category":1,"code":7006},{"start":3399,"length":5,"messageText":"Parameter 'event' implicitly has an 'any' type.","category":1,"code":7006}]],[2286,[{"start":8717,"length":14,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & PopoverTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & PopoverTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":9619,"length":14,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; className: string; side: string; sideOffset: number; onOpenAutoFocus: (event: any) => void; onCloseAutoFocus: (event: any) => void; onInteractOutside: (event: any) => void; }' is not assignable to type 'IntrinsicAttributes & Omit<PopoverContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<PopoverContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":9762,"length":5,"messageText":"Parameter 'event' implicitly has an 'any' type.","category":1,"code":7006},{"start":9839,"length":5,"messageText":"Parameter 'event' implicitly has an 'any' type.","category":1,"code":7006},{"start":9917,"length":5,"messageText":"Parameter 'event' implicitly has an 'any' type.","category":1,"code":7006},{"start":10700,"length":12,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & PopoverCloseProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & PopoverCloseProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}}]],[2288,[{"start":360,"length":20,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; value?: number[] | undefined; name?: string | undefined; form?: string | undefined; max?: number | undefined; key?: Key | null | undefined; min?: number | undefined; ... 10 more ...; className: string; }' is not assignable to type 'IntrinsicAttributes & SliderProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & SliderProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2339}]}},{"start":519,"length":21,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; className: string; }' is not assignable to type 'IntrinsicAttributes & SliderTrackProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & SliderTrackProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2339}]}},{"start":647,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ className: string; }' is not assignable to type 'IntrinsicAttributes & SliderRangeProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & SliderRangeProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2339}]}},{"start":743,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ className: string; }' is not assignable to type 'IntrinsicAttributes & SliderThumbProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & SliderThumbProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2339}]}}]],[2289,[{"start":286,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<SwitchProps & RefAttributes<HTMLButtonElement>, \"ref\">'.","category":1,"code":2339},{"start":321,"length":21,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; ref: ForwardedRef<never>; key?: Key | null | undefined; defaultChecked?: boolean | undefined; checked?: boolean | undefined; required?: boolean | undefined; onCheckedChange?: ((checked: boolean) => void) | undefined; className: string; }' is not assignable to type 'IntrinsicAttributes & SwitchProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & SwitchProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":806,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ className: string; }' is not assignable to type 'IntrinsicAttributes & SwitchThumbProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & SwitchThumbProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2339}]}}]],[2292,[{"start":6040,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":6263,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; className: string; onPointerLeave: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":6379,"length":16,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: (string | Element)[]; key: MaskType; onPointerEnter: () => void; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}}]],[2298,[{"start":7147,"length":18,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & ContextMenuTriggerProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ContextMenuTriggerProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2339}]}},{"start":8227,"length":18,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: (false | Element)[]; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":9125,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; icon: Element; onClick: (event: MouseEvent<Element, MouseEvent>) => void; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":9346,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; icon: Element; disabled: true; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":21516,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: ReactNode; ref?: Ref<never> | undefined; icon?: ReactNode; key?: string | number | bigint | null | undefined; onSelect?: ((event: Event) => void) | undefined; ... 5 more ...; textRight: string; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":21621,"length":6,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '\"split\" | \"toggle-play\" | \"stop-playback\" | \"seek-forward\" | \"seek-backward\" | \"frame-step-forward\" | \"frame-step-backward\" | \"jump-forward\" | \"jump-backward\" | \"goto-start\" | ... 18 more ... | \"remove-media-assets\"' is not assignable to parameter of type 'TActionWithOptionalArgs'.","category":1,"code":2345,"next":[{"messageText":"Type '\"remove-media-asset\"' is not assignable to type 'TActionWithOptionalArgs'.","category":1,"code":2322}]}}]],[2308,[{"start":5469,"length":13,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & PopoverAnchorProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & PopoverAnchorProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":7731,"length":14,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; className: string; align: string; side: string; sideOffset: number; onOpenAutoFocus: (event: any) => any; }' is not assignable to type 'IntrinsicAttributes & Omit<PopoverContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<PopoverContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":7868,"length":5,"messageText":"Parameter 'event' implicitly has an 'any' type.","category":1,"code":7006}]],[2310,[{"start":16123,"length":6,"code":2322,"category":1,"messageText":{"messageText":"Type '{ snapPoint: SnapPoint | null; zoomLevel: number; timelineRef: RefObject<HTMLDivElement | null>; tracksScrollRef: RefObject<HTMLDivElement | null>; isVisible: boolean; tracks: TimelineTrack[]; }' is not assignable to type 'IntrinsicAttributes & SnapIndicatorProps'.","category":1,"code":2322,"next":[{"messageText":"Property 'tracks' does not exist on type 'IntrinsicAttributes & SnapIndicatorProps'.","category":1,"code":2339}]}},{"start":20257,"length":18,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & ContextMenuTriggerProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ContextMenuTriggerProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2339}]}},{"start":21376,"length":18,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: (false | Element)[]; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":21420,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; icon: Element; onClick: (event: MouseEvent<Element, MouseEvent>) => void; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":21679,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; icon: Element; onClick: (event: MouseEvent<Element, MouseEvent>) => void; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":22034,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; icon: Element; onClick: (event: MouseEvent<Element, MouseEvent>) => void; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":22417,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; icon: Element; onClick: (event: MouseEvent<Element, MouseEvent>) => void; variant: \"destructive\"; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}}]],[2320,[{"start":1188,"length":18,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; className: string; container: HTMLElement | null; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1262,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; onClick: () => void; inset: true; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1388,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; onClick: () => void; inset: true; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1482,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; onClick: () => Promise<void>; inset: true; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1578,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; onClick: () => Promise<void>; inset: true; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1702,"length":23,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; checked: boolean; onCheckedChange: (checked: boolean) => void; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}}]],[2322,[{"start":801,"length":14,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; sideOffset: number; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<PopoverContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<PopoverContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}}]],[2324,[{"start":7092,"length":18,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & ContextMenuTriggerProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ContextMenuTriggerProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2339}]}}]],[2328,[{"start":342,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<RadioGroupProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":416,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ ref: ForwardedRef<never>; value?: string | null | undefined; name?: string | undefined; key?: Key | null | undefined; orientation?: \"horizontal\" | \"vertical\" | undefined; ... 6 more ...; className: string; }' is not assignable to type 'IntrinsicAttributes & RadioGroupProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & RadioGroupProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":723,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<RadioGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\">'.","category":1,"code":2339},{"start":769,"length":24,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; value: string; key?: Key | null | undefined; checked?: boolean | undefined; required?: boolean | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & RadioGroupItemProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & RadioGroupItemProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":1068,"length":29,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; className: string; }' is not assignable to type 'IntrinsicAttributes & RadioGroupIndicatorProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & RadioGroupIndicatorProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2339}]}}]],[2330,[{"start":342,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<CheckboxProps & RefAttributes<HTMLButtonElement>, \"ref\">'.","category":1,"code":2339},{"start":378,"length":22,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; key?: Key | null | undefined; defaultChecked?: CheckedState | undefined; checked?: CheckedState | undefined; required?: boolean | undefined; onCheckedChange?: ((checked: CheckedState) => void) | undefined; ref: ForwardedRef<...>; className: string; }' is not assignable to type 'IntrinsicAttributes & CheckboxProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & CheckboxProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":795,"length":27,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; className: string; }' is not assignable to type 'IntrinsicAttributes & CheckboxIndicatorProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & CheckboxIndicatorProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2339}]}}]],[2331,[{"start":1904,"length":14,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & PopoverTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & PopoverTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":4536,"length":14,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<PopoverContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<PopoverContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":5350,"length":10,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; value: \"mp4\" | \"webm\"; onValueChange: (value: string) => void; }' is not assignable to type 'IntrinsicAttributes & Omit<RadioGroupProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<RadioGroupProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":5644,"length":2,"code":2322,"category":1,"messageText":{"messageText":"Type '{ value: string; id: string; }' is not assignable to type 'IntrinsicAttributes & Omit<RadioGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'id' does not exist on type 'IntrinsicAttributes & Omit<RadioGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":5881,"length":2,"code":2322,"category":1,"messageText":{"messageText":"Type '{ value: string; id: string; }' is not assignable to type 'IntrinsicAttributes & Omit<RadioGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'id' does not exist on type 'IntrinsicAttributes & Omit<RadioGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":6281,"length":10,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; value: \"high\" | \"low\" | \"medium\" | \"very_high\"; onValueChange: (value: string) => void; }' is not assignable to type 'IntrinsicAttributes & Omit<RadioGroupProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<RadioGroupProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":6578,"length":2,"code":2322,"category":1,"messageText":{"messageText":"Type '{ value: string; id: string; }' is not assignable to type 'IntrinsicAttributes & Omit<RadioGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'id' does not exist on type 'IntrinsicAttributes & Omit<RadioGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":6778,"length":2,"code":2322,"category":1,"messageText":{"messageText":"Type '{ value: string; id: string; }' is not assignable to type 'IntrinsicAttributes & Omit<RadioGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'id' does not exist on type 'IntrinsicAttributes & Omit<RadioGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":6975,"length":2,"code":2322,"category":1,"messageText":{"messageText":"Type '{ value: string; id: string; }' is not assignable to type 'IntrinsicAttributes & Omit<RadioGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'id' does not exist on type 'IntrinsicAttributes & Omit<RadioGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":7174,"length":2,"code":2322,"category":1,"messageText":{"messageText":"Type '{ value: string; id: string; }' is not assignable to type 'IntrinsicAttributes & Omit<RadioGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'id' does not exist on type 'IntrinsicAttributes & Omit<RadioGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":7661,"length":2,"code":2322,"category":1,"messageText":{"messageText":"Type '{ id: string; checked: boolean; onCheckedChange: (checked: CheckedState) => void; }' is not assignable to type 'IntrinsicAttributes & Omit<CheckboxProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'id' does not exist on type 'IntrinsicAttributes & Omit<CheckboxProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}}]],[2332,[{"start":1337,"length":24,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '\"split\" | \"toggle-play\" | \"stop-playback\" | \"seek-forward\" | \"seek-backward\" | \"frame-step-forward\" | \"frame-step-backward\" | \"jump-forward\" | \"jump-backward\" | \"goto-start\" | ... 18 more ... | \"remove-media-assets\"' is not assignable to parameter of type 'TActionWithOptionalArgs'.","category":1,"code":2345,"next":[{"messageText":"Type '\"remove-media-asset\"' is not assignable to type 'TActionWithOptionalArgs'.","category":1,"code":2322}]}},{"start":1600,"length":24,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '\"split\" | \"toggle-play\" | \"stop-playback\" | \"seek-forward\" | \"seek-backward\" | \"frame-step-forward\" | \"frame-step-backward\" | \"jump-forward\" | \"jump-backward\" | \"goto-start\" | ... 18 more ... | \"remove-media-assets\"' is not assignable to parameter of type 'TActionWithOptionalArgs'.","category":1,"code":2345,"next":[{"messageText":"Type '\"remove-media-asset\"' is not assignable to type 'TActionWithOptionalArgs'.","category":1,"code":2322}]}},{"start":1732,"length":24,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '\"split\" | \"toggle-play\" | \"stop-playback\" | \"seek-forward\" | \"seek-backward\" | \"frame-step-forward\" | \"frame-step-backward\" | \"jump-forward\" | \"jump-backward\" | \"goto-start\" | ... 18 more ... | \"remove-media-assets\"' is not assignable to parameter of type 'TActionWithOptionalArgs'.","category":1,"code":2345,"next":[{"messageText":"Type '\"remove-media-asset\"' is not assignable to type 'TActionWithOptionalArgs'.","category":1,"code":2322}]}}]],[2333,[{"start":2931,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":3250,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; align: string; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":3314,"length":16,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; onClick: () => Promise<void>; disabled: boolean; icon: Element; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":3494,"length":16,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; onClick: () => void; icon: Element; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":3697,"length":16,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; icon: Element; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}}]],[2372,[{"start":403,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<AccordionItemProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":479,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ value: string; key?: Key | null | undefined; disabled?: boolean | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & AccordionItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & AccordionItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":762,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<AccordionTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\">'.","category":1,"code":2339},{"start":773,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<AccordionTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\">'.","category":1,"code":2339},{"start":808,"length":25,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; className: string; }' is not assignable to type 'IntrinsicAttributes & AccordionHeaderProps & RefAttributes<HTMLHeadingElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & AccordionHeaderProps & RefAttributes<HTMLHeadingElement>'.","category":1,"code":2339}]}},{"start":856,"length":26,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & AccordionTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & AccordionTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":1511,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<AccordionContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":1522,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<AccordionContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":1557,"length":26,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; key?: Key | null | undefined; forceMount?: true | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & AccordionContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & AccordionContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}}]],[2373,[{"start":957,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; type: \"single\"; collapsible: true; className: string; }' is not assignable to type 'IntrinsicAttributes & ((AccordionSingleProps | AccordionMultipleProps) & RefAttributes<HTMLDivElement>)'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & AccordionSingleProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":1019,"length":13,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; value: string; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<AccordionItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<AccordionItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1117,"length":16,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<AccordionTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<AccordionTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1215,"length":16,"code":2559,"category":1,"messageText":"Type '{ children: Element[]; }' has no properties in common with type 'IntrinsicAttributes & Omit<AccordionContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'."}]],[2378,[{"start":6697,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ className: string; id: string; checked: boolean | \"indeterminate\"; onCheckedChange: (checked: CheckedState) => void; }' is not assignable to type 'IntrinsicAttributes & Omit<CheckboxProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & Omit<CheckboxProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":9671,"length":6,"messageText":"'editor' is of type 'unknown'.","category":1,"code":18046},{"start":9836,"length":6,"messageText":"'editor' is of type 'unknown'.","category":1,"code":18046},{"start":10018,"length":6,"messageText":"'editor' is of type 'unknown'.","category":1,"code":18046},{"start":11398,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; className: string; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":11614,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; align: string; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":11696,"length":16,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: (Element | \"Delete\" | \"Duplicate\")[]; key: \"delete\" | \"duplicate\"; variant: \"destructive\" | undefined; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":12369,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: ReactNode; asChild: true; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":12434,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; className: string; align: string; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":12492,"length":24,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; checked: boolean; onCheckedChange: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":12678,"length":24,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; checked: boolean; onCheckedChange: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":12865,"length":24,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; checked: boolean; onCheckedChange: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":13038,"length":24,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; checked: boolean; onCheckedChange: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":17630,"length":11,"code":2322,"category":1,"messageText":{"messageText":"Type '{ checked: boolean; onMouseDown: (event: any) => any; onClick: (event: any) => void; onCheckedChange: () => void; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<CheckboxProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'onMouseDown' does not exist on type 'IntrinsicAttributes & Omit<CheckboxProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":17644,"length":5,"messageText":"Parameter 'event' implicitly has an 'any' type.","category":1,"code":7006},{"start":17692,"length":5,"messageText":"Parameter 'event' implicitly has an 'any' type.","category":1,"code":7006},{"start":18319,"length":18,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & ContextMenuTriggerProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ContextMenuTriggerProps & RefAttributes<HTMLSpanElement>'.","category":1,"code":2339}]}},{"start":18578,"length":11,"code":2322,"category":1,"messageText":{"messageText":"Type '{ checked: boolean; onMouseDown: (event: any) => any; onClick: (event: any) => void; onCheckedChange: () => void; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<CheckboxProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'onMouseDown' does not exist on type 'IntrinsicAttributes & Omit<CheckboxProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":18592,"length":5,"messageText":"Parameter 'event' implicitly has an 'any' type.","category":1,"code":7006},{"start":18645,"length":5,"messageText":"Parameter 'event' implicitly has an 'any' type.","category":1,"code":7006},{"start":20459,"length":18,"code":2559,"category":1,"messageText":"Type '{ children: Element[]; }' has no properties in common with type 'IntrinsicAttributes & Omit<ContextMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'."},{"start":20483,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; icon: Element; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":20616,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; icon: Element; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":20755,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; icon: Element; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":20923,"length":15,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; variant: \"destructive\"; icon: Element; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<ContextMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":22253,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; asChild: true; }' is not assignable to type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & DropdownMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":23038,"length":19,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; className: string; align: string; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":23093,"length":16,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: (string | Element)[]; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":23216,"length":16,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: (string | Element)[]; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":23345,"length":16,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: (string | Element)[]; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":23480,"length":16,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: (string | Element)[]; variant: \"destructive\"; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<DropdownMenuItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { ...; } & RefAttributes<...>'.","category":1,"code":2339}]}}]],[2383,[{"start":910,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; type: \"single\"; collapsible: true; className: string; }' is not assignable to type 'IntrinsicAttributes & ((AccordionSingleProps | AccordionMultipleProps) & RefAttributes<HTMLDivElement>)'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & AccordionSingleProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":971,"length":13,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element[]; value: string; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<AccordionItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<AccordionItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1065,"length":16,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: string; className: string; }' is not assignable to type 'IntrinsicAttributes & Omit<AccordionTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & Omit<AccordionTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\"> & RefAttributes<...>'.","category":1,"code":2339}]}},{"start":1160,"length":16,"code":2559,"category":1,"messageText":"Type '{ children: Element[]; }' has no properties in common with type 'IntrinsicAttributes & Omit<AccordionContentProps & RefAttributes<HTMLDivElement>, \"ref\"> & RefAttributes<...>'."}]],[2386,[{"start":526,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<AlertDialogOverlayProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":592,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ ref: ForwardedRef<never>; key?: Key | null | undefined; className: string; }' is not assignable to type 'IntrinsicAttributes & AlertDialogOverlayProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & AlertDialogOverlayProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":1067,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<AlertDialogContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":1194,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & AlertDialogContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & AlertDialogContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":2584,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<AlertDialogTitleProps & RefAttributes<HTMLHeadingElement>, \"ref\">'.","category":1,"code":2339},{"start":2660,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & AlertDialogTitleProps & RefAttributes<HTMLHeadingElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & AlertDialogTitleProps & RefAttributes<HTMLHeadingElement>'.","category":1,"code":2339}]}},{"start":2991,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<AlertDialogDescriptionProps & RefAttributes<HTMLParagraphElement>, \"ref\">'.","category":1,"code":2339},{"start":3073,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & AlertDialogDescriptionProps & RefAttributes<HTMLParagraphElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & AlertDialogDescriptionProps & RefAttributes<HTMLParagraphElement>'.","category":1,"code":2339}]}},{"start":3410,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<AlertDialogActionProps & RefAttributes<HTMLButtonElement>, \"ref\">'.","category":1,"code":2339},{"start":3487,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & AlertDialogActionProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & AlertDialogActionProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":3798,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<AlertDialogCancelProps & RefAttributes<HTMLButtonElement>, \"ref\">'.","category":1,"code":2339},{"start":3875,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & AlertDialogCancelProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & AlertDialogCancelProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}}]],[2678,[{"start":409,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<HoverCardContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":420,"length":5,"messageText":"Property 'align' does not exist on type 'Omit<HoverCardContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":438,"length":10,"messageText":"Property 'sideOffset' does not exist on type 'Omit<HoverCardContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":519,"length":5,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; onEscapeKeyDown?: any; onPointerDownOutside?: any; onFocusOutside?: any; onInteractOutside?: any; forceMount?: true | undefined; ref: ForwardedRef<never>; align: any; sideOffset: any; className: string; }' is not assignable to type 'IntrinsicAttributes & HoverCardContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'align' does not exist on type 'IntrinsicAttributes & HoverCardContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}}]],[2679,[{"start":584,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<MenubarProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":655,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ value?: string | undefined; key?: Key | null | undefined; loop?: boolean | undefined; dir?: Direction | undefined; defaultValue?: string | undefined; onValueChange?: ((value: string) => void) | undefined; ref: ForwardedRef<...>; className: string; }' is not assignable to type 'IntrinsicAttributes & MenubarProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & MenubarProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":1015,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<MenubarTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\">'.","category":1,"code":2339},{"start":1089,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & MenubarTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & MenubarTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":1631,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<MenubarSubTriggerProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; }'.","category":1,"code":2339},{"start":1649,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<MenubarSubTriggerProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; }'.","category":1,"code":2339},{"start":1683,"length":27,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; key?: Key | null | undefined; disabled?: boolean | undefined; textValue?: string | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & MenubarSubTriggerProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & MenubarSubTriggerProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":2347,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<MenubarSubContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":2424,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; loop?: boolean | undefined; onEscapeKeyDown?: any; onPointerDownOutside?: any; onFocusOutside?: any; onInteractOutside?: any; forceMount?: true | undefined; ref: ForwardedRef<...>; className: string; }' is not assignable to type 'IntrinsicAttributes & MenubarSubContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & MenubarSubContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":3161,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<MenubarContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":3172,"length":5,"messageText":"Property 'align' does not exist on type 'Omit<MenubarContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":3189,"length":11,"messageText":"Property 'alignOffset' does not exist on type 'Omit<MenubarContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":3207,"length":10,"messageText":"Property 'sideOffset' does not exist on type 'Omit<MenubarContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":3325,"length":5,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; loop?: boolean | undefined; onCloseAutoFocus?: any; onEscapeKeyDown?: any; onPointerDownOutside?: any; onFocusOutside?: any; onInteractOutside?: any; forceMount?: true | undefined; ... 4 more ...; className: string; }' is not assignable to type 'IntrinsicAttributes & MenubarContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'align' does not exist on type 'IntrinsicAttributes & MenubarContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":4154,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<MenubarItemProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; }'.","category":1,"code":2339},{"start":4232,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; onSelect?: ((event: Event) => void) | undefined; disabled?: boolean | undefined; textValue?: string | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & MenubarItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & MenubarItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":4757,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<MenubarCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":4768,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<MenubarCheckboxItemProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":4811,"length":29,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; key?: Key | null | undefined; onSelect?: ((event: Event) => void) | undefined; disabled?: boolean | undefined; textValue?: string | undefined; onCheckedChange?: ((checked: boolean) => void) | undefined; ref: ForwardedRef<...>; className: string; checked: CheckedState | undefined; }' is not assignable to type 'IntrinsicAttributes & MenubarCheckboxItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & MenubarCheckboxItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":5223,"length":30,"code":2559,"category":1,"messageText":"Type '{ children: Element; }' has no properties in common with type 'IntrinsicAttributes & MenubarItemIndicatorProps & RefAttributes<HTMLSpanElement>'."},{"start":5633,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<MenubarRadioItemProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":5644,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<MenubarRadioItemProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":5678,"length":26,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; value: string; key?: Key | null | undefined; onSelect?: ((event: Event) => void) | undefined; disabled?: boolean | undefined; textValue?: string | undefined; ref: ForwardedRef<...>; className: string; }' is not assignable to type 'IntrinsicAttributes & MenubarRadioItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & MenubarRadioItemProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":6067,"length":30,"code":2559,"category":1,"messageText":"Type '{ children: Element; }' has no properties in common with type 'IntrinsicAttributes & MenubarItemIndicatorProps & RefAttributes<HTMLSpanElement>'."},{"start":6496,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<MenubarLabelProps & RefAttributes<HTMLDivElement>, \"ref\"> & { inset?: boolean | undefined; }'.","category":1,"code":2339},{"start":6575,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & MenubarLabelProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & MenubarLabelProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":6923,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<MenubarSeparatorProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":6999,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & MenubarSeparatorProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & MenubarSeparatorProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}}]],[2680,[{"start":400,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<NavigationMenuProps & RefAttributes<HTMLElement>, \"ref\">'.","category":1,"code":2339},{"start":411,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<NavigationMenuProps & RefAttributes<HTMLElement>, \"ref\">'.","category":1,"code":2339},{"start":445,"length":28,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; value?: string | undefined; key?: Key | null | undefined; orientation?: Orientation | undefined; dir?: Direction | undefined; defaultValue?: string | undefined; ... 4 more ...; className: string; }' is not assignable to type 'IntrinsicAttributes & NavigationMenuProps & RefAttributes<HTMLElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & NavigationMenuProps & RefAttributes<HTMLElement>'.","category":1,"code":2339}]}},{"start":934,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<NavigationMenuListProps & RefAttributes<HTMLUListElement>, \"ref\">'.","category":1,"code":2339},{"start":1012,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & NavigationMenuListProps & RefAttributes<HTMLUListElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & NavigationMenuListProps & RefAttributes<HTMLUListElement>'.","category":1,"code":2339}]}},{"start":1832,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<NavigationMenuTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\">'.","category":1,"code":2339},{"start":1843,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<NavigationMenuTriggerProps & RefAttributes<HTMLButtonElement>, \"ref\">'.","category":1,"code":2339},{"start":1877,"length":31,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any[]; key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & NavigationMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & NavigationMenuTriggerProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":2472,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<NavigationMenuContentProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":2553,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; forceMount?: true | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & NavigationMenuContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & NavigationMenuContentProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":3283,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<NavigationMenuViewportProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":3425,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; forceMount?: true | undefined; className: string; ref: ForwardedRef<never>; }' is not assignable to type 'IntrinsicAttributes & NavigationMenuViewportProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & NavigationMenuViewportProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":4119,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<NavigationMenuIndicatorProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":4154,"length":33,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; key?: Key | null | undefined; forceMount?: true | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & NavigationMenuIndicatorProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & NavigationMenuIndicatorProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}}]],[2682,[{"start":447,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ToastViewportProps & RefAttributes<HTMLOListElement>, \"ref\">'.","category":1,"code":2339},{"start":521,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ label?: string | undefined; key?: Key | null | undefined; hotkey?: string[] | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & ToastViewportProps & RefAttributes<HTMLOListElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & ToastViewportProps & RefAttributes<HTMLOListElement>'.","category":1,"code":2339}]}},{"start":1816,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ToastProps & RefAttributes<HTMLLIElement>, \"ref\"> & VariantProps<(props?: (ConfigVariants<{ variant: { default: string; destructive: string; }; }> & ClassProp) | undefined) => string>'.","category":1,"code":2339},{"start":1908,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ type?: \"background\" | \"foreground\" | undefined; duration?: number | undefined; key?: Key | null | undefined; onPause?: (() => void) | undefined; open?: boolean | undefined; onOpenChange?: ((open: boolean) => void) | undefined; ... 9 more ...; className: string; }' is not assignable to type 'IntrinsicAttributes & ToastProps & RefAttributes<HTMLLIElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & ToastProps & RefAttributes<HTMLLIElement>'.","category":1,"code":2339}]}},{"start":2200,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ToastActionProps & RefAttributes<HTMLButtonElement>, \"ref\">'.","category":1,"code":2339},{"start":2272,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; altText: string; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & ToastActionProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & ToastActionProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":3030,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ToastCloseProps & RefAttributes<HTMLButtonElement>, \"ref\">'.","category":1,"code":2339},{"start":3065,"length":21,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; \"toast-close\": string; }' is not assignable to type 'IntrinsicAttributes & ToastCloseProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ToastCloseProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}},{"start":3804,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ToastTitleProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":3875,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & ToastTitleProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & ToastTitleProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}},{"start":4195,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ToastDescriptionProps & RefAttributes<HTMLDivElement>, \"ref\">'.","category":1,"code":2339},{"start":4272,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & ToastDescriptionProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & ToastDescriptionProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}}]],[2683,[{"start":1163,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ToggleProps & RefAttributes<HTMLButtonElement>, \"ref\"> & VariantProps<(props?: (ConfigVariants<{ variant: { default: string; outline: string; }; size: { ...; }; }> & ClassProp) | undefined) => string>'.","category":1,"code":2339},{"start":1248,"length":9,"code":2322,"category":1,"messageText":{"messageText":"Type '{ key?: Key | null | undefined; pressed?: boolean | undefined; defaultPressed?: boolean | undefined; onPressedChange?: ((pressed: boolean) => void) | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & ToggleProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'className' does not exist on type 'IntrinsicAttributes & ToggleProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}}]],[2684,[{"start":586,"length":9,"messageText":"Property 'className' does not exist on type '(Omit<ToggleGroupSingleProps & RefAttributes<HTMLDivElement>, \"ref\"> | Omit<ToggleGroupMultipleProps & RefAttributes<...>, \"ref\">) & VariantProps<...>'.","category":1,"code":2339},{"start":612,"length":8,"messageText":"Property 'children' does not exist on type '(Omit<ToggleGroupSingleProps & RefAttributes<HTMLDivElement>, \"ref\"> | Omit<ToggleGroupMultipleProps & RefAttributes<...>, \"ref\">) & VariantProps<...>'.","category":1,"code":2339},{"start":646,"length":25,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: Element; value?: string | undefined; type: \"single\"; key?: Key | null | undefined; orientation?: \"horizontal\" | \"vertical\" | undefined; loop?: boolean | undefined; ... 6 more ...; className: string; } | { ...; }' is not assignable to type 'IntrinsicAttributes & ((ToggleGroupSingleProps | ToggleGroupMultipleProps) & RefAttributes<HTMLDivElement>)'.","category":1,"code":2322,"next":[{"messageText":"Type '{ children: Element; value?: string | undefined; type: \"single\"; key?: Key | null | undefined; orientation?: \"horizontal\" | \"vertical\" | undefined; loop?: boolean | undefined; ... 6 more ...; className: string; }' is not assignable to type 'IntrinsicAttributes & ((ToggleGroupSingleProps | ToggleGroupMultipleProps) & RefAttributes<HTMLDivElement>)'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ToggleGroupSingleProps & RefAttributes<HTMLDivElement>'.","category":1,"code":2339}]}]}},{"start":1182,"length":9,"messageText":"Property 'className' does not exist on type 'Omit<ToggleGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & VariantProps<(props?: (ConfigVariants<{ variant: { default: string; outline: string; }; size: { ...; }; }> & ClassProp) | undefined) => string>'.","category":1,"code":2339},{"start":1193,"length":8,"messageText":"Property 'children' does not exist on type 'Omit<ToggleGroupItemProps & RefAttributes<HTMLButtonElement>, \"ref\"> & VariantProps<(props?: (ConfigVariants<{ variant: { default: string; outline: string; }; size: { ...; }; }> & ClassProp) | undefined) => string>'.","category":1,"code":2339},{"start":1309,"length":25,"code":2322,"category":1,"messageText":{"messageText":"Type '{ children: any; value: string; key?: Key | null | undefined; ref: ForwardedRef<never>; className: string; }' is not assignable to type 'IntrinsicAttributes & ToggleGroupItemProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2322,"next":[{"messageText":"Property 'children' does not exist on type 'IntrinsicAttributes & ToggleGroupItemProps & RefAttributes<HTMLButtonElement>'.","category":1,"code":2339}]}}]]],"affectedFilesPendingEmit":[2687,101,281,613,615,1447,1448,1454,2205,2221,2219,2223,2227,2226,2224,2225,1456,2230,2371,2212,621,2215,2373,2378,1509,2381,622,1511,684,2382,2383,2321,2327,2369,2377,2325,2332,2374,2333,2331,2370,2368,2261,2263,2277,2254,2265,2255,2260,2276,2267,2268,2385,2273,2274,2275,2318,2320,2319,2322,2312,2324,2314,2317,1744,2315,2316,2323,2313,2278,2290,2295,1705,1706,1708,1709,1707,2296,2294,1710,2281,2280,2291,2292,2293,2287,2279,2297,2308,2309,2310,2301,2298,2300,2307,2306,2305,2299,2304,2204,2228,2197,2213,2214,2334,2259,2384,2195,2372,2386,2326,2262,2229,2379,2376,1842,2645,2222,2330,2646,2286,2196,2269,2264,2285,2677,2678,2270,2258,2679,2680,1843,2284,2329,2220,2328,2380,2252,2271,2256,2218,2303,2375,2288,2206,2257,2302,2289,2681,2272,2282,2682,2684,2683,2207,1723,1495,1724,1642,1689,1725,1726,1649,1570,620,1668,1478,1474,1728,1703,1701,1699,1692,1512,1691,1698,1700,1641,1702,1640,1729,1730,2266,1765,1769,1770,1784,1785,1766,1786,1767,1773,1774,1775,1776,1777,1778,1780,1781,1782,1783,1732,1704,1733,1735,1736,1737,1738,1739,1741,1742,1751,1752,1753,1757,1759,1760,1731,1745,1762,1763,1764,1713,1715,1712,1714,1711,1499,1535,1504,1496,1502,1498,1500,1503,1497,1501,1466,1494,1789,1445,683,623,1750,1513,1558,1639,1600,1626,1625,1790,1638,1637,1627,1628,1636,1635,1633,1629,1632,1634,1555,1554,1520,1521,1542,1547,1543,1546,1544,1545,1553,1519,1541,1536,1537,1538,1539,1540,1550,1548,1549,1534,1552,1551,1530,1533,1532,1523,1524,1522,1531,1557,1514,1518,1515,1516,1517,1556,1444,1443,1734,1483,1484,1485,1482,1468,1643,1690,1688,1682,1683,1681,2685,1845,1847,1846,1849,1848,1791,1672,1850,1651,1652,1656,1653,1655,1748,1746,1657,1650,1648,1749,1506,1654,1696,1695,1754,1755,1480,1756,1467,1505,1758,1743,1747,1508,1453,1481,1470,1851,1852,1526,1529,1527,1525,1528,1560,1853,1855,1854,1860,1862,1863,1768,1857,1861,1858,1859,1856,1564,1864,1679,1673,1674,1677,1675,1676,1670,1678,1671,1669,1493,1630,1631,1771,1469,1779,1487,1492,1491,1490,1489,1865,1772,1477,1476,1507,1488,1866,1727,616,1644,1647,1867,1662,1645,1685,1684,1686,1665,1646,1680,1667,1664,1663,1687,1694,1661,1658,1660,1659,1561,1873,1868,1869,1870,1871,1872,1874,1875,1876,1877,1878,1879,1880,1566,1598,1597,1881,1565,1567,1568,1571,1589,1591,1593,1595,1573,1575,1577,1579,1581,1583,1585,1587,1569,1572,1590,1592,1594,1596,1574,1576,1578,1580,1582,1584,1586,1588,1562,1563,1599,1479,2009,2008,1624,2253,2010,1722,1721,1717,1718,1719,1720,2011,1844,2012,1761,2013,1740,1697,2185,2186,2187,1475,1666,1716,1486,1794],"version":"5.8.3"}
\ No newline at end of file |
