The Node.js® Website

Open graph dynamic image generation (#6357)

Co-authored-by: Claudio Wunder <cwunder@gnome.org>

authored by Brian Muenzenmeyer Claudio Wunder and committed by GitHub dd4cadc3 fe93dd66

Changed files
+1519 -3
app
[locale]
next-data
components
types
util
+67
app/[locale]/next-data/og/route.tsx
···
··· 1 + import { ImageResponse } from 'next/og'; 2 + 3 + import HexagonGrid from '@/components/Icons/HexagonGrid'; 4 + import JsIconWhite from '@/components/Icons/Logos/JsIconWhite'; 5 + import { ENABLE_STATIC_EXPORT, VERCEL_REVALIDATE } from '@/next.constants.mjs'; 6 + import { defaultLocale } from '@/next.locales.mjs'; 7 + import tailwindConfig from '@/tailwind.config'; 8 + import { hexToRGBA } from '@/util/hexToRGBA'; 9 + 10 + // This is the Route Handler for the `GET` method which handles the request 11 + // for generating OpenGrapgh images for Blog Posts and Pages 12 + // @see https://nextjs.org/docs/app/building-your-application/routing/router-handlers 13 + export const GET = async (request: Request) => { 14 + const { searchParams } = new URL(request.url); 15 + 16 + // ?title=<title> 17 + const hasTitle = searchParams.has('title'); 18 + const title = hasTitle ? searchParams.get('title')?.slice(0, 100) : undefined; 19 + 20 + //?type=<type> 21 + const type = searchParams.get('type') ?? 'announcement'; 22 + 23 + const typeAttributes: { [key: string]: string } = { 24 + announcement: tailwindConfig.theme.colors.green['700'], 25 + release: tailwindConfig.theme.colors.info['600'], 26 + vulnerability: tailwindConfig.theme.colors.warning['600'], 27 + }; 28 + 29 + const gridBackground = `radial-gradient(circle, ${hexToRGBA(typeAttributes[type])}, transparent)`; 30 + 31 + return new ImageResponse( 32 + ( 33 + <div tw="relative flex items-center justify-center bg-black w-[1200px] h-[600px]"> 34 + <HexagonGrid style={{ background: gridBackground }} /> 35 + 36 + <div tw="absolute mx-auto flex max-w-xl flex-col text-center text-3xl font-semibold text-white"> 37 + <JsIconWhite width={71} height={80} tw="mx-auto" /> 38 + 39 + <h2>{title}</h2> 40 + </div> 41 + </div> 42 + ), 43 + { width: 1200, height: 600 } 44 + ); 45 + }; 46 + 47 + // This route is fully dynamic hence there shouldn't be any static param 48 + // available to ensure that the route is not statically generated 49 + export const generateStaticParams = async () => [ 50 + { locale: defaultLocale.code }, 51 + ]; 52 + 53 + // We want to use `edge` runtime when using Vercel 54 + export const runtime = process.env.NEXT_PUBLIC_VERCEL_URL ? 'edge' : false; 55 + 56 + // Enforces that only the paths from `generateStaticParams` are allowed, giving 404 on the contrary 57 + // @see https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config#dynamicparams 58 + export const dynamicParams = true; 59 + 60 + // Enforces that this route is used as static rendering 61 + // @see https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config#dynamic 62 + export const dynamic = ENABLE_STATIC_EXPORT ? 'force-static' : 'auto'; 63 + 64 + // Ensures that this endpoint is invalidated and re-executed every X minutes 65 + // so that when new deployments happen, the data is refreshed 66 + // @see https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config#revalidate 67 + export const revalidate = VERCEL_REVALIDATE;
+1431
components/Icons/HexagonGrid.tsx
···
··· 1 + import type { FC, SVGProps } from 'react'; 2 + 3 + const HexagonGrid: FC<SVGProps<SVGSVGElement>> = props => ( 4 + <svg 5 + viewBox="0 0 1216 726" 6 + fill="none" 7 + xmlns="http://www.w3.org/2000/svg" 8 + {...props} 9 + > 10 + <mask 11 + id="mask0_91_8" 12 + style={{ maskType: 'alpha' }} 13 + maskUnits="userSpaceOnUse" 14 + width="1216" 15 + height="726" 16 + x="0" 17 + y="0" 18 + > 19 + <rect width="1216" height="725.8" fill="url(#paint0_radial_91_8)" /> 20 + </mask> 21 + <g mask="url(#mask0_91_8)"> 22 + <path 23 + d="M717.133 231.367L759.799 206.733L802.465 231.367V280.633L759.799 305.267L717.133 280.633V231.367Z" 24 + stroke="rgba(255, 255, 255, 1.0)" 25 + stroke-width="1.0" 26 + /> 27 + <path 28 + d="M760.432 306.367L803.099 281.733L845.765 306.367V355.633L803.099 380.267L760.432 355.633V306.367Z" 29 + stroke="rgba(255, 255, 255, 1.0)" 30 + stroke-width="1.0" 31 + /> 32 + <path 33 + d="M803.732 231.367L846.398 206.733L889.065 231.367V280.633L846.398 305.267L803.732 280.633V231.367Z" 34 + stroke="rgba(255, 255, 255, 1.0)" 35 + stroke-width="1.0" 36 + /> 37 + <path 38 + d="M847.032 306.367L889.698 281.733L932.365 306.367V355.633L889.698 380.267L847.032 355.633V306.367Z" 39 + stroke="rgba(255, 255, 255, 1.0)" 40 + stroke-width="1.0" 41 + /> 42 + <path 43 + d="M890.332 381.367L932.998 356.733L975.664 381.367V430.633L932.998 455.267L890.332 430.633V381.367Z" 44 + stroke="rgba(255, 255, 255, 1.0)" 45 + stroke-width="1.0" 46 + /> 47 + <path 48 + d="M933.632 306.367L976.298 281.733L1018.96 306.367V355.633L976.298 380.267L933.632 355.633V306.367Z" 49 + stroke="rgba(255, 255, 255, 1.0)" 50 + stroke-width="1.0" 51 + /> 52 + <path 53 + d="M587.233 306.367L629.899 281.733L672.566 306.367V355.633L629.899 380.267L587.233 355.633V306.367Z" 54 + stroke="rgba(255, 255, 255, 1.0)" 55 + stroke-width="1.0" 56 + /> 57 + <path 58 + d="M630.533 381.367L673.199 356.733L715.865 381.367V430.633L673.199 455.267L630.533 430.633V381.367Z" 59 + stroke="rgba(255, 255, 255, 1.0)" 60 + stroke-width="1.0" 61 + /> 62 + <path 63 + d="M673.833 306.367L716.499 281.733L759.165 306.367V355.633L716.499 380.267L673.833 355.633V306.367Z" 64 + stroke="rgba(255, 255, 255, 1.0)" 65 + stroke-width="1.0" 66 + /> 67 + <path 68 + d="M717.133 381.367L759.799 356.733L802.465 381.367V430.633L759.799 455.267L717.133 430.633V381.367Z" 69 + stroke="rgba(255, 255, 255, 1.0)" 70 + stroke-width="1.0" 71 + /> 72 + <path 73 + d="M760.432 456.367L803.099 431.733L845.765 456.367V505.633L803.099 530.267L760.432 505.633V456.367Z" 74 + stroke="rgba(255, 255, 255, 1.0)" 75 + stroke-width="1.0" 76 + /> 77 + <path 78 + d="M803.732 381.367L846.398 356.733L889.065 381.367V430.633L846.398 455.267L803.732 430.633V381.367Z" 79 + stroke="rgba(255, 255, 255, 1.0)" 80 + stroke-width="1.0" 81 + /> 82 + <path 83 + d="M976.931 381.367L1019.6 356.733L1062.26 381.367V430.633L1019.6 455.267L976.931 430.633V381.367Z" 84 + stroke="rgba(255, 255, 255, 1.0)" 85 + stroke-width="1.0" 86 + /> 87 + <path 88 + d="M1020.23 456.367L1062.9 431.733L1105.56 456.367V505.633L1062.9 530.267L1020.23 505.633V456.367Z" 89 + stroke="rgba(255, 255, 255, 1.0)" 90 + stroke-width="1.0" 91 + /> 92 + <path 93 + d="M1063.53 381.367L1106.2 356.733L1148.86 381.367V430.633L1106.2 455.267L1063.53 430.633V381.367Z" 94 + stroke="rgba(255, 255, 255, 1.0)" 95 + stroke-width="1.0" 96 + /> 97 + <path 98 + d="M1106.83 456.367L1149.5 431.733L1192.16 456.367V505.633L1149.5 530.267L1106.83 505.633V456.367Z" 99 + stroke="rgba(255, 255, 255, 1.0)" 100 + stroke-width="1.0" 101 + /> 102 + <path 103 + d="M1150.13 531.367L1192.8 506.733L1235.46 531.367V580.633L1192.8 605.267L1150.13 580.633V531.367Z" 104 + stroke="rgba(255, 255, 255, 1.0)" 105 + stroke-width="1.0" 106 + /> 107 + <path 108 + d="M1193.43 456.367L1236.1 431.733L1278.76 456.367V505.633L1236.1 530.267L1193.43 505.633V456.367Z" 109 + stroke="rgba(255, 255, 255, 1.0)" 110 + stroke-width="1.0" 111 + /> 112 + <path 113 + d="M847.032 456.367L889.698 431.733L932.365 456.367V505.633L889.698 530.267L847.032 505.633V456.367Z" 114 + fill="white" 115 + fill-opacity="0.25" 116 + stroke="rgba(255, 255, 255, 1.0)" 117 + stroke-width="1.0" 118 + /> 119 + <path 120 + d="M890.332 531.367L932.998 506.733L975.664 531.367V580.633L932.998 605.267L890.332 580.633V531.367Z" 121 + stroke="rgba(255, 255, 255, 1.0)" 122 + stroke-width="1.0" 123 + /> 124 + <path 125 + d="M933.632 456.367L976.298 431.733L1018.96 456.367V505.633L976.298 530.267L933.632 505.633V456.367Z" 126 + stroke="rgba(255, 255, 255, 1.0)" 127 + stroke-width="1.0" 128 + /> 129 + <path 130 + d="M976.931 531.367L1019.6 506.733L1062.26 531.367V580.633L1019.6 605.267L976.931 580.633V531.367Z" 131 + stroke="rgba(255, 255, 255, 1.0)" 132 + stroke-width="1.0" 133 + /> 134 + <path 135 + d="M1020.23 606.367L1062.9 581.733L1105.56 606.367V655.633L1062.9 680.267L1020.23 655.633V606.367Z" 136 + stroke="rgba(255, 255, 255, 1.0)" 137 + stroke-width="1.0" 138 + /> 139 + <path 140 + d="M1063.53 531.367L1106.2 506.733L1148.86 531.367V580.633L1106.2 605.267L1063.53 580.633V531.367Z" 141 + stroke="rgba(255, 255, 255, 1.0)" 142 + stroke-width="1.0" 143 + /> 144 + <path 145 + d="M976.931 81.3666L1019.6 56.7332L1062.26 81.3666V130.633L1019.6 155.267L976.931 130.633V81.3666Z" 146 + stroke="rgba(255, 255, 255, 1.0)" 147 + stroke-width="1.0" 148 + /> 149 + <path 150 + d="M1020.23 156.367L1062.9 131.733L1105.56 156.367V205.633L1062.9 230.267L1020.23 205.633V156.367Z" 151 + stroke="rgba(255, 255, 255, 1.0)" 152 + stroke-width="1.0" 153 + /> 154 + <path 155 + d="M1063.53 81.3666L1106.2 56.7332L1148.86 81.3666V130.633L1106.2 155.267L1063.53 130.633V81.3666Z" 156 + stroke="rgba(255, 255, 255, 1.0)" 157 + stroke-width="1.0" 158 + /> 159 + <path 160 + d="M1106.83 156.367L1149.5 131.733L1192.16 156.367V205.633L1149.5 230.267L1106.83 205.633V156.367Z" 161 + stroke="rgba(255, 255, 255, 1.0)" 162 + stroke-width="1.0" 163 + /> 164 + <path 165 + d="M1150.13 231.367L1192.8 206.733L1235.46 231.367V280.633L1192.8 305.267L1150.13 280.633V231.367Z" 166 + stroke="rgba(255, 255, 255, 1.0)" 167 + stroke-width="1.0" 168 + /> 169 + <path 170 + d="M1193.43 156.367L1236.1 131.733L1278.76 156.367V205.633L1236.1 230.267L1193.43 205.633V156.367Z" 171 + stroke="rgba(255, 255, 255, 1.0)" 172 + stroke-width="1.0" 173 + /> 174 + <path 175 + d="M847.032 156.367L889.698 131.733L932.365 156.367V205.633L889.698 230.267L847.032 205.633V156.367Z" 176 + stroke="rgba(255, 255, 255, 1.0)" 177 + stroke-width="1.0" 178 + /> 179 + <path 180 + d="M890.332 231.367L932.998 206.733L975.664 231.367V280.633L932.998 305.267L890.332 280.633V231.367Z" 181 + stroke="rgba(255, 255, 255, 1.0)" 182 + stroke-width="1.0" 183 + /> 184 + <path 185 + d="M933.632 156.367L976.298 131.733L1018.96 156.367V205.633L976.298 230.267L933.632 205.633V156.367Z" 186 + stroke="rgba(255, 255, 255, 1.0)" 187 + stroke-width="1.0" 188 + /> 189 + <path 190 + d="M976.931 231.367L1019.6 206.733L1062.26 231.367V280.633L1019.6 305.267L976.931 280.633V231.367Z" 191 + stroke="rgba(255, 255, 255, 1.0)" 192 + stroke-width="1.0" 193 + /> 194 + <path 195 + d="M1020.23 306.367L1062.9 281.733L1105.56 306.367V355.633L1062.9 380.267L1020.23 355.633V306.367Z" 196 + stroke="rgba(255, 255, 255, 1.0)" 197 + stroke-width="1.0" 198 + /> 199 + <path 200 + d="M1063.53 231.367L1106.2 206.733L1148.86 231.367V280.633L1106.2 305.267L1063.53 280.633V231.367Z" 201 + stroke="rgba(255, 255, 255, 1.0)" 202 + stroke-width="1.0" 203 + /> 204 + <path 205 + d="M1106.83 306.367L1149.5 281.733L1192.16 306.367V355.633L1149.5 380.267L1106.83 355.633V306.367Z" 206 + stroke="rgba(255, 255, 255, 1.0)" 207 + stroke-width="1.0" 208 + /> 209 + <path 210 + d="M1150.13 381.367L1192.8 356.733L1235.46 381.367V430.633L1192.8 455.267L1150.13 430.633V381.367Z" 211 + stroke="rgba(255, 255, 255, 1.0)" 212 + stroke-width="1.0" 213 + /> 214 + <path 215 + d="M1193.43 306.367L1236.1 281.733L1278.76 306.367V355.633L1236.1 380.267L1193.43 355.633V306.367Z" 216 + stroke="rgba(255, 255, 255, 1.0)" 217 + stroke-width="1.0" 218 + /> 219 + <path 220 + d="M240.523 6.36671L283.211 -18.2669L325.899 6.36671V55.6333L283.211 80.2669L240.523 55.6333V6.36671Z" 221 + stroke="rgba(255, 255, 255, 1.0)" 222 + stroke-width="1.0" 223 + /> 224 + <path 225 + d="M327.167 6.36671L369.855 -18.2669L412.543 6.36671V55.6333L369.855 80.2669L327.167 55.6333V6.36671Z" 226 + stroke="rgba(255, 255, 255, 1.0)" 227 + stroke-width="1.0" 228 + /> 229 + <path 230 + d="M370.486 81.3667L413.174 56.7331L455.862 81.3667V130.633L413.174 155.267L370.486 130.633V81.3667Z" 231 + stroke="rgba(255, 255, 255, 1.0)" 232 + stroke-width="1.0" 233 + /> 234 + <path 235 + d="M413.81 6.36671L456.498 -18.2669L499.186 6.36671V55.6333L456.498 80.2669L413.81 55.6333V6.36671Z" 236 + stroke="rgba(255, 255, 255, 1.0)" 237 + stroke-width="1.0" 238 + /> 239 + <path 240 + d="M67.2365 6.36671L109.925 -18.2669L152.613 6.36671V55.6333L109.925 80.2669L67.2365 55.6333V6.36671Z" 241 + stroke="rgba(255, 255, 255, 1.0)" 242 + stroke-width="1.0" 243 + /> 244 + <path 245 + d="M110.558 81.3667L153.246 56.7331L195.934 81.3667V130.633L153.246 155.267L110.558 130.633V81.3667Z" 246 + stroke="rgba(255, 255, 255, 1.0)" 247 + stroke-width="1.0" 248 + /> 249 + <path 250 + d="M153.88 6.36671L196.568 -18.2669L239.256 6.36671V55.6333L196.568 80.2669L153.88 55.6333V6.36671Z" 251 + stroke="rgba(255, 255, 255, 1.0)" 252 + stroke-width="1.0" 253 + /> 254 + <path 255 + d="M197.201 81.3667L239.889 56.7331L282.577 81.3667V130.633L239.889 155.267L197.201 130.633V81.3667Z" 256 + stroke="rgba(255, 255, 255, 1.0)" 257 + stroke-width="1.0" 258 + /> 259 + <path 260 + d="M240.523 156.367L283.211 131.733L325.899 156.367V205.633L283.211 230.267L240.523 205.633V156.367Z" 261 + stroke="rgba(255, 255, 255, 1.0)" 262 + stroke-width="1.0" 263 + /> 264 + <path 265 + d="M283.845 81.3667L326.533 56.7331L369.221 81.3667V130.633L326.533 155.267L283.845 130.633V81.3667Z" 266 + stroke="rgba(255, 255, 255, 1.0)" 267 + stroke-width="1.0" 268 + /> 269 + <path 270 + d="M457.13 81.3667L499.818 56.7331L542.506 81.3667V130.633L499.818 155.267L457.13 130.633V81.3667Z" 271 + stroke="rgba(255, 255, 255, 1.0)" 272 + stroke-width="1.0" 273 + /> 274 + <path 275 + d="M500.452 156.367L543.14 131.733L585.828 156.367V205.633L543.14 230.267L500.452 205.633V156.367Z" 276 + stroke="rgba(255, 255, 255, 1.0)" 277 + stroke-width="1.0" 278 + /> 279 + <path 280 + d="M543.775 81.3667L586.463 56.7331L629.151 81.3667V130.633L586.463 155.267L543.775 130.633V81.3667Z" 281 + stroke="rgba(255, 255, 255, 1.0)" 282 + stroke-width="1.0" 283 + /> 284 + <path 285 + d="M587.095 156.367L629.783 131.733L672.471 156.367V205.633L629.783 230.267L587.095 205.633V156.367Z" 286 + stroke="rgba(255, 255, 255, 1.0)" 287 + stroke-width="1.0" 288 + /> 289 + <path 290 + d="M630.416 231.367L673.104 206.733L715.792 231.367V280.633L673.104 305.267L630.416 280.633V231.367Z" 291 + stroke="rgba(255, 255, 255, 1.0)" 292 + stroke-width="1.0" 293 + /> 294 + <path 295 + d="M673.738 156.367L716.426 131.733L759.114 156.367V205.633L716.426 230.267L673.738 205.633V156.367Z" 296 + stroke="rgba(255, 255, 255, 1.0)" 297 + stroke-width="1.0" 298 + /> 299 + <path 300 + d="M327.167 156.367L369.855 131.733L412.543 156.367V205.633L369.855 230.267L327.167 205.633V156.367Z" 301 + stroke="rgba(255, 255, 255, 1.0)" 302 + stroke-width="1.0" 303 + /> 304 + <path 305 + d="M370.486 231.367L413.174 206.733L455.862 231.367V280.633L413.174 305.267L370.486 280.633V231.367Z" 306 + stroke="rgba(255, 255, 255, 1.0)" 307 + stroke-width="1.0" 308 + /> 309 + <path 310 + d="M413.81 156.367L456.498 131.733L499.186 156.367V205.633L456.498 230.267L413.81 205.633V156.367Z" 311 + stroke="rgba(255, 255, 255, 1.0)" 312 + stroke-width="1.0" 313 + /> 314 + <path 315 + d="M457.13 231.367L499.818 206.733L542.506 231.367V280.633L499.818 305.267L457.13 280.633V231.367Z" 316 + stroke="rgba(255, 255, 255, 1.0)" 317 + stroke-width="1.0" 318 + /> 319 + <path 320 + d="M500.452 306.367L543.14 281.733L585.828 306.367V355.633L543.14 380.267L500.452 355.633V306.367Z" 321 + stroke="rgba(255, 255, 255, 1.0)" 322 + stroke-width="1.0" 323 + /> 324 + <path 325 + d="M543.775 231.367L586.463 206.733L629.151 231.367V280.633L586.463 305.267L543.775 280.633V231.367Z" 326 + fill="white" 327 + fill-opacity="0.25" 328 + stroke="rgba(255, 255, 255, 1.0)" 329 + stroke-width="1.0" 330 + /> 331 + <path 332 + d="M500.452 6.36671L543.14 -18.2669L585.828 6.36671V55.6333L543.14 80.2669L500.452 55.6333V6.36671Z" 333 + stroke="rgba(255, 255, 255, 1.0)" 334 + stroke-width="1.0" 335 + /> 336 + <path 337 + d="M760.383 6.36671L803.071 -18.2669L845.759 6.36671V55.6333L803.071 80.2669L760.383 55.6333V6.36671Z" 338 + stroke="rgba(255, 255, 255, 1.0)" 339 + stroke-width="1.0" 340 + /> 341 + <path 342 + d="M847.026 6.36671L889.714 -18.2669L932.402 6.36671V55.6333L889.714 80.2669L847.026 55.6333V6.36671Z" 343 + stroke="rgba(255, 255, 255, 1.0)" 344 + stroke-width="1.0" 345 + /> 346 + <path 347 + d="M890.348 81.3667L933.036 56.7331L975.724 81.3667V130.633L933.036 155.267L890.348 130.633V81.3667Z" 348 + fill="white" 349 + fill-opacity="0.25" 350 + stroke="rgba(255, 255, 255, 1.0)" 351 + stroke-width="1.0" 352 + /> 353 + <path 354 + d="M933.667 6.36671L976.355 -18.2669L1019.04 6.36671V55.6333L976.355 80.2669L933.667 55.6333V6.36671Z" 355 + stroke="rgba(255, 255, 255, 1.0)" 356 + stroke-width="1.0" 357 + /> 358 + <path 359 + d="M587.095 6.36671L629.783 -18.2669L672.471 6.36671V55.6333L629.783 80.2669L587.095 55.6333V6.36671Z" 360 + stroke="rgba(255, 255, 255, 1.0)" 361 + stroke-width="1.0" 362 + /> 363 + <path 364 + d="M630.416 81.3667L673.104 56.7331L715.792 81.3667V130.633L673.104 155.267L630.416 130.633V81.3667Z" 365 + stroke="rgba(255, 255, 255, 1.0)" 366 + stroke-width="1.0" 367 + /> 368 + <path 369 + d="M673.738 6.36671L716.426 -18.2669L759.114 6.36671V55.6333L716.426 80.2669L673.738 55.6333V6.36671Z" 370 + stroke="rgba(255, 255, 255, 1.0)" 371 + stroke-width="1.0" 372 + /> 373 + <path 374 + d="M717.061 81.3667L759.749 56.7331L802.437 81.3667V130.633L759.749 155.267L717.061 130.633V81.3667Z" 375 + stroke="rgba(255, 255, 255, 1.0)" 376 + stroke-width="1.0" 377 + /> 378 + <path 379 + d="M760.383 156.367L803.071 131.733L845.759 156.367V205.633L803.071 230.267L760.383 205.633V156.367Z" 380 + stroke="rgba(255, 255, 255, 1.0)" 381 + stroke-width="1.0" 382 + /> 383 + <path 384 + d="M803.702 81.3667L846.39 56.7331L889.078 81.3667V130.633L846.39 155.267L803.702 130.633V81.3667Z" 385 + stroke="rgba(255, 255, 255, 1.0)" 386 + stroke-width="1.0" 387 + /> 388 + <path 389 + d="M327.233 606.367L369.899 581.733L412.566 606.367V655.633L369.899 680.267L327.233 655.633V606.367Z" 390 + stroke="rgba(255, 255, 255, 1.0)" 391 + stroke-width="1.0" 392 + /> 393 + <path 394 + d="M370.533 681.367L413.199 656.733L455.865 681.367V730.633L413.199 755.267L370.533 730.633V681.367Z" 395 + stroke="rgba(255, 255, 255, 1.0)" 396 + stroke-width="1.0" 397 + /> 398 + <path 399 + d="M413.833 606.367L456.499 581.733L499.165 606.367V655.633L456.499 680.267L413.833 655.633V606.367Z" 400 + stroke="rgba(255, 255, 255, 1.0)" 401 + stroke-width="1.0" 402 + /> 403 + <path 404 + d="M457.133 681.367L499.799 656.733L542.465 681.367V730.633L499.799 755.267L457.133 730.633V681.367Z" 405 + stroke="rgba(255, 255, 255, 1.0)" 406 + stroke-width="1.0" 407 + /> 408 + <path 409 + d="M543.732 681.367L586.398 656.733L629.065 681.367V730.633L586.398 755.267L543.732 730.633V681.367Z" 410 + stroke="rgba(255, 255, 255, 1.0)" 411 + stroke-width="1.0" 412 + /> 413 + <path 414 + d="M197.334 681.367L240 656.733L282.666 681.367V730.633L240 755.267L197.334 730.633V681.367Z" 415 + stroke="rgba(255, 255, 255, 1.0)" 416 + stroke-width="1.0" 417 + /> 418 + <path 419 + d="M283.933 681.367L326.6 656.733L369.266 681.367V730.633L326.6 755.267L283.933 730.633V681.367Z" 420 + stroke="rgba(255, 255, 255, 1.0)" 421 + stroke-width="1.0" 422 + /> 423 + <path 424 + d="M587.032 456.367L629.698 431.733L672.365 456.367V505.633L629.698 530.267L587.032 505.633V456.367Z" 425 + stroke="rgba(255, 255, 255, 1.0)" 426 + stroke-width="1.0" 427 + /> 428 + <path 429 + d="M630.332 531.367L672.998 506.733L715.664 531.367V580.633L672.998 605.267L630.332 580.633V531.367Z" 430 + stroke="rgba(255, 255, 255, 1.0)" 431 + stroke-width="1.0" 432 + /> 433 + <path 434 + d="M673.632 456.367L716.298 431.733L758.964 456.367V505.633L716.298 530.267L673.632 505.633V456.367Z" 435 + stroke="rgba(255, 255, 255, 1.0)" 436 + stroke-width="1.0" 437 + /> 438 + <path 439 + d="M716.931 531.367L759.598 506.733L802.264 531.367V580.633L759.598 605.267L716.931 580.633V531.367Z" 440 + stroke="rgba(255, 255, 255, 1.0)" 441 + stroke-width="1.0" 442 + /> 443 + <path 444 + d="M760.231 606.367L802.897 581.733L845.564 606.367V655.633L802.897 680.267L760.231 655.633V606.367Z" 445 + stroke="rgba(255, 255, 255, 1.0)" 446 + stroke-width="1.0" 447 + /> 448 + <path 449 + d="M803.531 531.367L846.197 506.733L888.864 531.367V580.633L846.197 605.267L803.531 580.633V531.367Z" 450 + stroke="rgba(255, 255, 255, 1.0)" 451 + stroke-width="1.0" 452 + /> 453 + <path 454 + d="M457.133 531.367L499.799 506.733L542.465 531.367V580.633L499.799 605.267L457.133 580.633V531.367Z" 455 + stroke="rgba(255, 255, 255, 1.0)" 456 + stroke-width="1.0" 457 + /> 458 + <path 459 + d="M500.432 606.367L543.099 581.733L585.765 606.367V655.633L543.099 680.267L500.432 655.633V606.367Z" 460 + stroke="rgba(255, 255, 255, 1.0)" 461 + stroke-width="1.0" 462 + /> 463 + <path 464 + d="M543.732 531.367L586.398 506.733L629.065 531.367V580.633L586.398 605.267L543.732 580.633V531.367Z" 465 + stroke="rgba(255, 255, 255, 1.0)" 466 + stroke-width="1.0" 467 + /> 468 + <path 469 + d="M587.032 606.367L629.698 581.733L672.365 606.367V655.633L629.698 680.267L587.032 655.633V606.367Z" 470 + stroke="rgba(255, 255, 255, 1.0)" 471 + stroke-width="1.0" 472 + /> 473 + <path 474 + d="M630.332 681.367L672.998 656.733L715.664 681.367V730.633L672.998 755.267L630.332 730.633V681.367Z" 475 + stroke="rgba(255, 255, 255, 1.0)" 476 + stroke-width="1.0" 477 + /> 478 + <path 479 + d="M673.632 606.367L716.298 581.733L758.964 606.367V655.633L716.298 680.267L673.632 655.633V606.367Z" 480 + stroke="rgba(255, 255, 255, 1.0)" 481 + stroke-width="1.0" 482 + /> 483 + <path 484 + d="M846.831 606.367L889.497 581.733L932.163 606.367V655.633L889.497 680.267L846.831 655.633V606.367Z" 485 + stroke="rgba(255, 255, 255, 1.0)" 486 + stroke-width="1.0" 487 + /> 488 + <path 489 + d="M890.131 681.367L932.797 656.733L975.463 681.367V730.633L932.797 755.267L890.131 730.633V681.367Z" 490 + stroke="rgba(255, 255, 255, 1.0)" 491 + stroke-width="1.0" 492 + /> 493 + <path 494 + d="M933.43 606.367L976.097 581.733L1018.76 606.367V655.633L976.097 680.267L933.43 655.633V606.367Z" 495 + stroke="rgba(255, 255, 255, 1.0)" 496 + stroke-width="1.0" 497 + /> 498 + <path 499 + d="M976.73 681.367L1019.4 656.733L1062.06 681.367V730.633L1019.4 755.267L976.73 730.633V681.367Z" 500 + stroke="rgba(255, 255, 255, 1.0)" 501 + stroke-width="1.0" 502 + /> 503 + <path 504 + d="M1063.33 681.367L1106 656.733L1148.66 681.367V730.633L1106 755.267L1063.33 730.633V681.367Z" 505 + stroke="rgba(255, 255, 255, 1.0)" 506 + stroke-width="1.0" 507 + /> 508 + <path 509 + d="M716.931 681.367L759.598 656.733L802.264 681.367V730.633L759.598 755.267L716.931 730.633V681.367Z" 510 + stroke="rgba(255, 255, 255, 1.0)" 511 + stroke-width="1.0" 512 + /> 513 + <path 514 + d="M803.531 681.367L846.197 656.733L888.864 681.367V730.633L846.197 755.267L803.531 730.633V681.367Z" 515 + stroke="rgba(255, 255, 255, 1.0)" 516 + stroke-width="1.0" 517 + /> 518 + <path 519 + d="M-62.7322 381.367L-20.0442 356.733L22.6438 381.367V430.633L-20.0442 455.267L-62.7322 430.633V381.367Z" 520 + stroke="rgba(255, 255, 255, 1.0)" 521 + stroke-width="1.0" 522 + /> 523 + <path 524 + d="M-19.4139 456.367L23.2741 431.733L65.9621 456.367V505.633L23.2741 530.267L-19.4139 505.633V456.367Z" 525 + stroke="rgba(255, 255, 255, 1.0)" 526 + stroke-width="1.0" 527 + /> 528 + <path 529 + d="M23.9103 381.367L66.5983 356.733L109.286 381.367V430.633L66.5983 455.267L23.9103 430.633V381.367Z" 530 + stroke="rgba(255, 255, 255, 1.0)" 531 + stroke-width="1.0" 532 + /> 533 + <path 534 + d="M67.2306 456.367L109.919 431.733L152.607 456.367V505.633L109.919 530.267L67.2306 505.633V456.367Z" 535 + stroke="rgba(255, 255, 255, 1.0)" 536 + stroke-width="1.0" 537 + /> 538 + <path 539 + d="M110.553 531.367L153.241 506.733L195.929 531.367V580.633L153.241 605.267L110.553 580.633V531.367Z" 540 + stroke="rgba(255, 255, 255, 1.0)" 541 + stroke-width="1.0" 542 + /> 543 + <path 544 + d="M153.875 456.367L196.563 431.733L239.251 456.367V505.633L196.563 530.267L153.875 505.633V456.367Z" 545 + stroke="rgba(255, 255, 255, 1.0)" 546 + stroke-width="1.0" 547 + /> 548 + <path 549 + d="M197.195 531.367L239.884 506.733L282.572 531.367V580.633L239.884 605.267L197.195 580.633V531.367Z" 550 + stroke="rgba(255, 255, 255, 1.0)" 551 + stroke-width="1.0" 552 + /> 553 + <path 554 + d="M240.517 606.367L283.205 581.733L325.893 606.367V655.633L283.205 680.267L240.517 655.633V606.367Z" 555 + stroke="rgba(255, 255, 255, 1.0)" 556 + stroke-width="1.0" 557 + /> 558 + <path 559 + d="M283.839 531.367L326.527 506.733L369.215 531.367V580.633L326.527 605.267L283.839 580.633V531.367Z" 560 + fill="white" 561 + fill-opacity="0.25" 562 + stroke="rgba(255, 255, 255, 1.0)" 563 + stroke-width="1.0" 564 + /> 565 + <path 566 + d="M-62.7322 531.367L-20.0442 506.733L22.6438 531.367V580.633L-20.0442 605.267L-62.7322 580.633V531.367Z" 567 + stroke="rgba(255, 255, 255, 1.0)" 568 + stroke-width="1.0" 569 + /> 570 + <path 571 + d="M-19.4139 606.367L23.2741 581.733L65.9621 606.367V655.633L23.2741 680.267L-19.4139 655.633V606.367Z" 572 + stroke="rgba(255, 255, 255, 1.0)" 573 + stroke-width="1.0" 574 + /> 575 + <path 576 + d="M23.9103 531.367L66.5983 506.733L109.286 531.367V580.633L66.5983 605.267L23.9103 580.633V531.367Z" 577 + stroke="rgba(255, 255, 255, 1.0)" 578 + stroke-width="1.0" 579 + /> 580 + <path 581 + d="M67.2306 606.367L109.919 581.733L152.607 606.367V655.633L109.919 680.267L67.2306 655.633V606.367Z" 582 + stroke="rgba(255, 255, 255, 1.0)" 583 + stroke-width="1.0" 584 + /> 585 + <path 586 + d="M110.553 681.367L153.241 656.733L195.929 681.367V730.633L153.241 755.267L110.553 730.633V681.367Z" 587 + stroke="rgba(255, 255, 255, 1.0)" 588 + stroke-width="1.0" 589 + /> 590 + <path 591 + d="M153.875 606.367L196.563 581.733L239.251 606.367V655.633L196.563 680.267L153.875 655.633V606.367Z" 592 + stroke="rgba(255, 255, 255, 1.0)" 593 + stroke-width="1.0" 594 + /> 595 + <path 596 + d="M67.2306 156.367L109.919 131.733L152.607 156.367V205.633L109.919 230.267L67.2306 205.633V156.367Z" 597 + fill="white" 598 + fill-opacity="0.25" 599 + stroke="rgba(255, 255, 255, 1.0)" 600 + stroke-width="1.0" 601 + /> 602 + <path 603 + d="M110.553 231.367L153.241 206.733L195.929 231.367V280.633L153.241 305.267L110.553 280.633V231.367Z" 604 + stroke="rgba(255, 255, 255, 1.0)" 605 + stroke-width="1.0" 606 + /> 607 + <path 608 + d="M153.875 156.367L196.563 131.733L239.251 156.367V205.633L196.563 230.267L153.875 205.633V156.367Z" 609 + stroke="rgba(255, 255, 255, 1.0)" 610 + stroke-width="1.0" 611 + /> 612 + <path 613 + d="M197.195 231.367L239.884 206.733L282.572 231.367V280.633L239.884 305.267L197.195 280.633V231.367Z" 614 + stroke="rgba(255, 255, 255, 1.0)" 615 + stroke-width="1.0" 616 + /> 617 + <path 618 + d="M240.517 306.367L283.205 281.733L325.893 306.367V355.633L283.205 380.267L240.517 355.633V306.367Z" 619 + stroke="rgba(255, 255, 255, 1.0)" 620 + stroke-width="1.0" 621 + /> 622 + <path 623 + d="M283.839 231.367L326.527 206.733L369.215 231.367V280.633L326.527 305.267L283.839 280.633V231.367Z" 624 + stroke="rgba(255, 255, 255, 1.0)" 625 + stroke-width="1.0" 626 + /> 627 + <path 628 + d="M-62.7322 231.367L-20.0442 206.733L22.6438 231.367V280.633L-20.0442 305.267L-62.7322 280.633V231.367Z" 629 + stroke="rgba(255, 255, 255, 1.0)" 630 + stroke-width="1.0" 631 + /> 632 + <path 633 + d="M-19.4139 306.367L23.2741 281.733L65.9621 306.367V355.633L23.2741 380.267L-19.4139 355.633V306.367Z" 634 + stroke="rgba(255, 255, 255, 1.0)" 635 + stroke-width="1.0" 636 + /> 637 + <path 638 + d="M23.9103 231.367L66.5983 206.733L109.286 231.367V280.633L66.5983 305.267L23.9103 280.633V231.367Z" 639 + stroke="rgba(255, 255, 255, 1.0)" 640 + stroke-width="1.0" 641 + /> 642 + <path 643 + d="M67.2306 306.367L109.919 281.733L152.607 306.367V355.633L109.919 380.267L67.2306 355.633V306.367Z" 644 + stroke="rgba(255, 255, 255, 1.0)" 645 + stroke-width="1.0" 646 + /> 647 + <path 648 + d="M110.553 381.367L153.241 356.733L195.929 381.367V430.633L153.241 455.267L110.553 430.633V381.367Z" 649 + stroke="rgba(255, 255, 255, 1.0)" 650 + stroke-width="1.0" 651 + /> 652 + <path 653 + d="M153.875 306.367L196.563 281.733L239.251 306.367V355.633L196.563 380.267L153.875 355.633V306.367Z" 654 + stroke="rgba(255, 255, 255, 1.0)" 655 + stroke-width="1.0" 656 + /> 657 + <path 658 + d="M327.161 306.367L369.849 281.733L412.537 306.367V355.633L369.849 380.267L327.161 355.633V306.367Z" 659 + stroke="rgba(255, 255, 255, 1.0)" 660 + stroke-width="1.0" 661 + /> 662 + <path 663 + d="M370.484 381.367L413.172 356.733L455.86 381.367V430.633L413.172 455.267L370.484 430.633V381.367Z" 664 + stroke="rgba(255, 255, 255, 1.0)" 665 + stroke-width="1.0" 666 + /> 667 + <path 668 + d="M413.803 306.367L456.491 281.733L499.179 306.367V355.633L456.491 380.267L413.803 355.633V306.367Z" 669 + stroke="rgba(255, 255, 255, 1.0)" 670 + stroke-width="1.0" 671 + /> 672 + <path 673 + d="M457.126 381.367L499.814 356.733L542.502 381.367V430.633L499.814 455.267L457.126 430.633V381.367Z" 674 + stroke="rgba(255, 255, 255, 1.0)" 675 + stroke-width="1.0" 676 + /> 677 + <path 678 + d="M500.448 456.367L543.136 431.733L585.824 456.367V505.633L543.136 530.267L500.448 505.633V456.367Z" 679 + stroke="rgba(255, 255, 255, 1.0)" 680 + stroke-width="1.0" 681 + /> 682 + <path 683 + d="M543.768 381.367L586.456 356.733L629.144 381.367V430.633L586.456 455.267L543.768 430.633V381.367Z" 684 + stroke="rgba(255, 255, 255, 1.0)" 685 + stroke-width="1.0" 686 + /> 687 + <path 688 + d="M197.195 381.367L239.884 356.733L282.572 381.367V430.633L239.884 455.267L197.195 430.633V381.367Z" 689 + stroke="rgba(255, 255, 255, 1.0)" 690 + stroke-width="1.0" 691 + /> 692 + <path 693 + d="M240.517 456.367L283.205 431.733L325.893 456.367V505.633L283.205 530.267L240.517 505.633V456.367Z" 694 + stroke="rgba(255, 255, 255, 1.0)" 695 + stroke-width="1.0" 696 + /> 697 + <path 698 + d="M283.839 381.367L326.527 356.733L369.215 381.367V430.633L326.527 455.267L283.839 430.633V381.367Z" 699 + stroke="rgba(255, 255, 255, 1.0)" 700 + stroke-width="1.0" 701 + /> 702 + <path 703 + d="M327.161 456.367L369.849 431.733L412.537 456.367V505.633L369.849 530.267L327.161 505.633V456.367Z" 704 + stroke="rgba(255, 255, 255, 1.0)" 705 + stroke-width="1.0" 706 + /> 707 + <path 708 + d="M370.484 531.367L413.172 506.733L455.86 531.367V580.633L413.172 605.267L370.484 580.633V531.367Z" 709 + stroke="rgba(255, 255, 255, 1.0)" 710 + stroke-width="1.0" 711 + /> 712 + <path 713 + d="M413.803 456.367L456.491 431.733L499.179 456.367V505.633L456.491 530.267L413.803 505.633V456.367Z" 714 + stroke="rgba(255, 255, 255, 1.0)" 715 + stroke-width="1.0" 716 + /> 717 + </g> 718 + <g mask="url(#mask0_91_8)"> 719 + <path 720 + d="M717.133 231.367L759.799 206.733L802.465 231.367V280.633L759.799 305.267L717.133 280.633V231.367Z" 721 + stroke="rgba(0, 0, 0, 1.0)" 722 + stroke-width="1.0" 723 + /> 724 + <path 725 + d="M760.432 306.367L803.099 281.733L845.765 306.367V355.633L803.099 380.267L760.432 355.633V306.367Z" 726 + stroke="rgba(0, 0, 0, 1.0)" 727 + stroke-width="1.0" 728 + /> 729 + <path 730 + d="M803.732 231.367L846.398 206.733L889.065 231.367V280.633L846.398 305.267L803.732 280.633V231.367Z" 731 + stroke="rgba(0, 0, 0, 1.0)" 732 + stroke-width="1.0" 733 + /> 734 + <path 735 + d="M847.032 306.367L889.698 281.733L932.365 306.367V355.633L889.698 380.267L847.032 355.633V306.367Z" 736 + stroke="rgba(0, 0, 0, 1.0)" 737 + stroke-width="1.0" 738 + /> 739 + <path 740 + d="M890.332 381.367L932.998 356.733L975.664 381.367V430.633L932.998 455.267L890.332 430.633V381.367Z" 741 + stroke="rgba(0, 0, 0, 1.0)" 742 + stroke-width="1.0" 743 + /> 744 + <path 745 + d="M933.632 306.367L976.298 281.733L1018.96 306.367V355.633L976.298 380.267L933.632 355.633V306.367Z" 746 + stroke="rgba(0, 0, 0, 1.0)" 747 + stroke-width="1.0" 748 + /> 749 + <path 750 + d="M587.233 306.367L629.899 281.733L672.566 306.367V355.633L629.899 380.267L587.233 355.633V306.367Z" 751 + stroke="rgba(0, 0, 0, 1.0)" 752 + stroke-width="1.0" 753 + /> 754 + <path 755 + d="M630.533 381.367L673.199 356.733L715.865 381.367V430.633L673.199 455.267L630.533 430.633V381.367Z" 756 + stroke="rgba(0, 0, 0, 1.0)" 757 + stroke-width="1.0" 758 + /> 759 + <path 760 + d="M673.833 306.367L716.499 281.733L759.165 306.367V355.633L716.499 380.267L673.833 355.633V306.367Z" 761 + stroke="rgba(0, 0, 0, 1.0)" 762 + stroke-width="1.0" 763 + /> 764 + <path 765 + d="M717.133 381.367L759.799 356.733L802.465 381.367V430.633L759.799 455.267L717.133 430.633V381.367Z" 766 + stroke="rgba(0, 0, 0, 1.0)" 767 + stroke-width="1.0" 768 + /> 769 + <path 770 + d="M760.432 456.367L803.099 431.733L845.765 456.367V505.633L803.099 530.267L760.432 505.633V456.367Z" 771 + stroke="rgba(0, 0, 0, 1.0)" 772 + stroke-width="1.0" 773 + /> 774 + <path 775 + d="M803.732 381.367L846.398 356.733L889.065 381.367V430.633L846.398 455.267L803.732 430.633V381.367Z" 776 + stroke="rgba(0, 0, 0, 1.0)" 777 + stroke-width="1.0" 778 + /> 779 + <path 780 + d="M976.931 381.367L1019.6 356.733L1062.26 381.367V430.633L1019.6 455.267L976.931 430.633V381.367Z" 781 + stroke="rgba(0, 0, 0, 1.0)" 782 + stroke-width="1.0" 783 + /> 784 + <path 785 + d="M1020.23 456.367L1062.9 431.733L1105.56 456.367V505.633L1062.9 530.267L1020.23 505.633V456.367Z" 786 + stroke="rgba(0, 0, 0, 1.0)" 787 + stroke-width="1.0" 788 + /> 789 + <path 790 + d="M1063.53 381.367L1106.2 356.733L1148.86 381.367V430.633L1106.2 455.267L1063.53 430.633V381.367Z" 791 + stroke="rgba(0, 0, 0, 1.0)" 792 + stroke-width="1.0" 793 + /> 794 + <path 795 + d="M1106.83 456.367L1149.5 431.733L1192.16 456.367V505.633L1149.5 530.267L1106.83 505.633V456.367Z" 796 + stroke="rgba(0, 0, 0, 1.0)" 797 + stroke-width="1.0" 798 + /> 799 + <path 800 + d="M1150.13 531.367L1192.8 506.733L1235.46 531.367V580.633L1192.8 605.267L1150.13 580.633V531.367Z" 801 + stroke="rgba(0, 0, 0, 1.0)" 802 + stroke-width="1.0" 803 + /> 804 + <path 805 + d="M1193.43 456.367L1236.1 431.733L1278.76 456.367V505.633L1236.1 530.267L1193.43 505.633V456.367Z" 806 + stroke="rgba(0, 0, 0, 1.0)" 807 + stroke-width="1.0" 808 + /> 809 + <path 810 + d="M847.032 456.367L889.698 431.733L932.365 456.367V505.633L889.698 530.267L847.032 505.633V456.367Z" 811 + fill="white" 812 + fill-opacity="0.25" 813 + stroke="rgba(0, 0, 0, 1.0)" 814 + stroke-width="1.0" 815 + /> 816 + <path 817 + d="M890.332 531.367L932.998 506.733L975.664 531.367V580.633L932.998 605.267L890.332 580.633V531.367Z" 818 + stroke="rgba(0, 0, 0, 1.0)" 819 + stroke-width="1.0" 820 + /> 821 + <path 822 + d="M933.632 456.367L976.298 431.733L1018.96 456.367V505.633L976.298 530.267L933.632 505.633V456.367Z" 823 + stroke="rgba(0, 0, 0, 1.0)" 824 + stroke-width="1.0" 825 + /> 826 + <path 827 + d="M976.931 531.367L1019.6 506.733L1062.26 531.367V580.633L1019.6 605.267L976.931 580.633V531.367Z" 828 + stroke="rgba(0, 0, 0, 1.0)" 829 + stroke-width="1.0" 830 + /> 831 + <path 832 + d="M1020.23 606.367L1062.9 581.733L1105.56 606.367V655.633L1062.9 680.267L1020.23 655.633V606.367Z" 833 + stroke="rgba(0, 0, 0, 1.0)" 834 + stroke-width="1.0" 835 + /> 836 + <path 837 + d="M1063.53 531.367L1106.2 506.733L1148.86 531.367V580.633L1106.2 605.267L1063.53 580.633V531.367Z" 838 + stroke="rgba(0, 0, 0, 1.0)" 839 + stroke-width="1.0" 840 + /> 841 + <path 842 + d="M976.931 81.3666L1019.6 56.7332L1062.26 81.3666V130.633L1019.6 155.267L976.931 130.633V81.3666Z" 843 + stroke="rgba(0, 0, 0, 1.0)" 844 + stroke-width="1.0" 845 + /> 846 + <path 847 + d="M1020.23 156.367L1062.9 131.733L1105.56 156.367V205.633L1062.9 230.267L1020.23 205.633V156.367Z" 848 + stroke="rgba(0, 0, 0, 1.0)" 849 + stroke-width="1.0" 850 + /> 851 + <path 852 + d="M1063.53 81.3666L1106.2 56.7332L1148.86 81.3666V130.633L1106.2 155.267L1063.53 130.633V81.3666Z" 853 + stroke="rgba(0, 0, 0, 1.0)" 854 + stroke-width="1.0" 855 + /> 856 + <path 857 + d="M1106.83 156.367L1149.5 131.733L1192.16 156.367V205.633L1149.5 230.267L1106.83 205.633V156.367Z" 858 + stroke="rgba(0, 0, 0, 1.0)" 859 + stroke-width="1.0" 860 + /> 861 + <path 862 + d="M1150.13 231.367L1192.8 206.733L1235.46 231.367V280.633L1192.8 305.267L1150.13 280.633V231.367Z" 863 + stroke="rgba(0, 0, 0, 1.0)" 864 + stroke-width="1.0" 865 + /> 866 + <path 867 + d="M1193.43 156.367L1236.1 131.733L1278.76 156.367V205.633L1236.1 230.267L1193.43 205.633V156.367Z" 868 + stroke="rgba(0, 0, 0, 1.0)" 869 + stroke-width="1.0" 870 + /> 871 + <path 872 + d="M847.032 156.367L889.698 131.733L932.365 156.367V205.633L889.698 230.267L847.032 205.633V156.367Z" 873 + stroke="rgba(0, 0, 0, 1.0)" 874 + stroke-width="1.0" 875 + /> 876 + <path 877 + d="M890.332 231.367L932.998 206.733L975.664 231.367V280.633L932.998 305.267L890.332 280.633V231.367Z" 878 + stroke="rgba(0, 0, 0, 1.0)" 879 + stroke-width="1.0" 880 + /> 881 + <path 882 + d="M933.632 156.367L976.298 131.733L1018.96 156.367V205.633L976.298 230.267L933.632 205.633V156.367Z" 883 + stroke="rgba(0, 0, 0, 1.0)" 884 + stroke-width="1.0" 885 + /> 886 + <path 887 + d="M976.931 231.367L1019.6 206.733L1062.26 231.367V280.633L1019.6 305.267L976.931 280.633V231.367Z" 888 + stroke="rgba(0, 0, 0, 1.0)" 889 + stroke-width="1.0" 890 + /> 891 + <path 892 + d="M1020.23 306.367L1062.9 281.733L1105.56 306.367V355.633L1062.9 380.267L1020.23 355.633V306.367Z" 893 + stroke="rgba(0, 0, 0, 1.0)" 894 + stroke-width="1.0" 895 + /> 896 + <path 897 + d="M1063.53 231.367L1106.2 206.733L1148.86 231.367V280.633L1106.2 305.267L1063.53 280.633V231.367Z" 898 + stroke="rgba(0, 0, 0, 1.0)" 899 + stroke-width="1.0" 900 + /> 901 + <path 902 + d="M1106.83 306.367L1149.5 281.733L1192.16 306.367V355.633L1149.5 380.267L1106.83 355.633V306.367Z" 903 + stroke="rgba(0, 0, 0, 1.0)" 904 + stroke-width="1.0" 905 + /> 906 + <path 907 + d="M1150.13 381.367L1192.8 356.733L1235.46 381.367V430.633L1192.8 455.267L1150.13 430.633V381.367Z" 908 + stroke="rgba(0, 0, 0, 1.0)" 909 + stroke-width="1.0" 910 + /> 911 + <path 912 + d="M1193.43 306.367L1236.1 281.733L1278.76 306.367V355.633L1236.1 380.267L1193.43 355.633V306.367Z" 913 + stroke="rgba(0, 0, 0, 1.0)" 914 + stroke-width="1.0" 915 + /> 916 + <path 917 + d="M240.523 6.36671L283.211 -18.2669L325.899 6.36671V55.6333L283.211 80.2669L240.523 55.6333V6.36671Z" 918 + stroke="rgba(0, 0, 0, 1.0)" 919 + stroke-width="1.0" 920 + /> 921 + <path 922 + d="M327.167 6.36671L369.855 -18.2669L412.543 6.36671V55.6333L369.855 80.2669L327.167 55.6333V6.36671Z" 923 + stroke="rgba(0, 0, 0, 1.0)" 924 + stroke-width="1.0" 925 + /> 926 + <path 927 + d="M370.486 81.3667L413.174 56.7331L455.862 81.3667V130.633L413.174 155.267L370.486 130.633V81.3667Z" 928 + stroke="rgba(0, 0, 0, 1.0)" 929 + stroke-width="1.0" 930 + /> 931 + <path 932 + d="M413.81 6.36671L456.498 -18.2669L499.186 6.36671V55.6333L456.498 80.2669L413.81 55.6333V6.36671Z" 933 + stroke="rgba(0, 0, 0, 1.0)" 934 + stroke-width="1.0" 935 + /> 936 + <path 937 + d="M67.2365 6.36671L109.925 -18.2669L152.613 6.36671V55.6333L109.925 80.2669L67.2365 55.6333V6.36671Z" 938 + stroke="rgba(0, 0, 0, 1.0)" 939 + stroke-width="1.0" 940 + /> 941 + <path 942 + d="M110.558 81.3667L153.246 56.7331L195.934 81.3667V130.633L153.246 155.267L110.558 130.633V81.3667Z" 943 + stroke="rgba(0, 0, 0, 1.0)" 944 + stroke-width="1.0" 945 + /> 946 + <path 947 + d="M153.88 6.36671L196.568 -18.2669L239.256 6.36671V55.6333L196.568 80.2669L153.88 55.6333V6.36671Z" 948 + stroke="rgba(0, 0, 0, 1.0)" 949 + stroke-width="1.0" 950 + /> 951 + <path 952 + d="M197.201 81.3667L239.889 56.7331L282.577 81.3667V130.633L239.889 155.267L197.201 130.633V81.3667Z" 953 + stroke="rgba(0, 0, 0, 1.0)" 954 + stroke-width="1.0" 955 + /> 956 + <path 957 + d="M240.523 156.367L283.211 131.733L325.899 156.367V205.633L283.211 230.267L240.523 205.633V156.367Z" 958 + stroke="rgba(0, 0, 0, 1.0)" 959 + stroke-width="1.0" 960 + /> 961 + <path 962 + d="M283.845 81.3667L326.533 56.7331L369.221 81.3667V130.633L326.533 155.267L283.845 130.633V81.3667Z" 963 + stroke="rgba(0, 0, 0, 1.0)" 964 + stroke-width="1.0" 965 + /> 966 + <path 967 + d="M457.13 81.3667L499.818 56.7331L542.506 81.3667V130.633L499.818 155.267L457.13 130.633V81.3667Z" 968 + stroke="rgba(0, 0, 0, 1.0)" 969 + stroke-width="1.0" 970 + /> 971 + <path 972 + d="M500.452 156.367L543.14 131.733L585.828 156.367V205.633L543.14 230.267L500.452 205.633V156.367Z" 973 + stroke="rgba(0, 0, 0, 1.0)" 974 + stroke-width="1.0" 975 + /> 976 + <path 977 + d="M543.775 81.3667L586.463 56.7331L629.151 81.3667V130.633L586.463 155.267L543.775 130.633V81.3667Z" 978 + stroke="rgba(0, 0, 0, 1.0)" 979 + stroke-width="1.0" 980 + /> 981 + <path 982 + d="M587.095 156.367L629.783 131.733L672.471 156.367V205.633L629.783 230.267L587.095 205.633V156.367Z" 983 + stroke="rgba(0, 0, 0, 1.0)" 984 + stroke-width="1.0" 985 + /> 986 + <path 987 + d="M630.416 231.367L673.104 206.733L715.792 231.367V280.633L673.104 305.267L630.416 280.633V231.367Z" 988 + stroke="rgba(0, 0, 0, 1.0)" 989 + stroke-width="1.0" 990 + /> 991 + <path 992 + d="M673.738 156.367L716.426 131.733L759.114 156.367V205.633L716.426 230.267L673.738 205.633V156.367Z" 993 + stroke="rgba(0, 0, 0, 1.0)" 994 + stroke-width="1.0" 995 + /> 996 + <path 997 + d="M327.167 156.367L369.855 131.733L412.543 156.367V205.633L369.855 230.267L327.167 205.633V156.367Z" 998 + stroke="rgba(0, 0, 0, 1.0)" 999 + stroke-width="1.0" 1000 + /> 1001 + <path 1002 + d="M370.486 231.367L413.174 206.733L455.862 231.367V280.633L413.174 305.267L370.486 280.633V231.367Z" 1003 + stroke="rgba(0, 0, 0, 1.0)" 1004 + stroke-width="1.0" 1005 + /> 1006 + <path 1007 + d="M413.81 156.367L456.498 131.733L499.186 156.367V205.633L456.498 230.267L413.81 205.633V156.367Z" 1008 + stroke="rgba(0, 0, 0, 1.0)" 1009 + stroke-width="1.0" 1010 + /> 1011 + <path 1012 + d="M457.13 231.367L499.818 206.733L542.506 231.367V280.633L499.818 305.267L457.13 280.633V231.367Z" 1013 + stroke="rgba(0, 0, 0, 1.0)" 1014 + stroke-width="1.0" 1015 + /> 1016 + <path 1017 + d="M500.452 306.367L543.14 281.733L585.828 306.367V355.633L543.14 380.267L500.452 355.633V306.367Z" 1018 + stroke="rgba(0, 0, 0, 1.0)" 1019 + stroke-width="1.0" 1020 + /> 1021 + <path 1022 + d="M543.775 231.367L586.463 206.733L629.151 231.367V280.633L586.463 305.267L543.775 280.633V231.367Z" 1023 + fill="white" 1024 + fill-opacity="0.25" 1025 + stroke="rgba(0, 0, 0, 1.0)" 1026 + stroke-width="1.0" 1027 + /> 1028 + <path 1029 + d="M500.452 6.36671L543.14 -18.2669L585.828 6.36671V55.6333L543.14 80.2669L500.452 55.6333V6.36671Z" 1030 + stroke="rgba(0, 0, 0, 1.0)" 1031 + stroke-width="1.0" 1032 + /> 1033 + <path 1034 + d="M760.383 6.36671L803.071 -18.2669L845.759 6.36671V55.6333L803.071 80.2669L760.383 55.6333V6.36671Z" 1035 + stroke="rgba(0, 0, 0, 1.0)" 1036 + stroke-width="1.0" 1037 + /> 1038 + <path 1039 + d="M847.026 6.36671L889.714 -18.2669L932.402 6.36671V55.6333L889.714 80.2669L847.026 55.6333V6.36671Z" 1040 + stroke="rgba(0, 0, 0, 1.0)" 1041 + stroke-width="1.0" 1042 + /> 1043 + <path 1044 + d="M890.348 81.3667L933.036 56.7331L975.724 81.3667V130.633L933.036 155.267L890.348 130.633V81.3667Z" 1045 + fill="white" 1046 + fill-opacity="0.25" 1047 + stroke="rgba(0, 0, 0, 1.0)" 1048 + stroke-width="1.0" 1049 + /> 1050 + <path 1051 + d="M933.667 6.36671L976.355 -18.2669L1019.04 6.36671V55.6333L976.355 80.2669L933.667 55.6333V6.36671Z" 1052 + stroke="rgba(0, 0, 0, 1.0)" 1053 + stroke-width="1.0" 1054 + /> 1055 + <path 1056 + d="M587.095 6.36671L629.783 -18.2669L672.471 6.36671V55.6333L629.783 80.2669L587.095 55.6333V6.36671Z" 1057 + stroke="rgba(0, 0, 0, 1.0)" 1058 + stroke-width="1.0" 1059 + /> 1060 + <path 1061 + d="M630.416 81.3667L673.104 56.7331L715.792 81.3667V130.633L673.104 155.267L630.416 130.633V81.3667Z" 1062 + stroke="rgba(0, 0, 0, 1.0)" 1063 + stroke-width="1.0" 1064 + /> 1065 + <path 1066 + d="M673.738 6.36671L716.426 -18.2669L759.114 6.36671V55.6333L716.426 80.2669L673.738 55.6333V6.36671Z" 1067 + stroke="rgba(0, 0, 0, 1.0)" 1068 + stroke-width="1.0" 1069 + /> 1070 + <path 1071 + d="M717.061 81.3667L759.749 56.7331L802.437 81.3667V130.633L759.749 155.267L717.061 130.633V81.3667Z" 1072 + stroke="rgba(0, 0, 0, 1.0)" 1073 + stroke-width="1.0" 1074 + /> 1075 + <path 1076 + d="M760.383 156.367L803.071 131.733L845.759 156.367V205.633L803.071 230.267L760.383 205.633V156.367Z" 1077 + stroke="rgba(0, 0, 0, 1.0)" 1078 + stroke-width="1.0" 1079 + /> 1080 + <path 1081 + d="M803.702 81.3667L846.39 56.7331L889.078 81.3667V130.633L846.39 155.267L803.702 130.633V81.3667Z" 1082 + stroke="rgba(0, 0, 0, 1.0)" 1083 + stroke-width="1.0" 1084 + /> 1085 + <path 1086 + d="M327.233 606.367L369.899 581.733L412.566 606.367V655.633L369.899 680.267L327.233 655.633V606.367Z" 1087 + stroke="rgba(0, 0, 0, 1.0)" 1088 + stroke-width="1.0" 1089 + /> 1090 + <path 1091 + d="M370.533 681.367L413.199 656.733L455.865 681.367V730.633L413.199 755.267L370.533 730.633V681.367Z" 1092 + stroke="rgba(0, 0, 0, 1.0)" 1093 + stroke-width="1.0" 1094 + /> 1095 + <path 1096 + d="M413.833 606.367L456.499 581.733L499.165 606.367V655.633L456.499 680.267L413.833 655.633V606.367Z" 1097 + stroke="rgba(0, 0, 0, 1.0)" 1098 + stroke-width="1.0" 1099 + /> 1100 + <path 1101 + d="M457.133 681.367L499.799 656.733L542.465 681.367V730.633L499.799 755.267L457.133 730.633V681.367Z" 1102 + stroke="rgba(0, 0, 0, 1.0)" 1103 + stroke-width="1.0" 1104 + /> 1105 + <path 1106 + d="M543.732 681.367L586.398 656.733L629.065 681.367V730.633L586.398 755.267L543.732 730.633V681.367Z" 1107 + stroke="rgba(0, 0, 0, 1.0)" 1108 + stroke-width="1.0" 1109 + /> 1110 + <path 1111 + d="M197.334 681.367L240 656.733L282.666 681.367V730.633L240 755.267L197.334 730.633V681.367Z" 1112 + stroke="rgba(0, 0, 0, 1.0)" 1113 + stroke-width="1.0" 1114 + /> 1115 + <path 1116 + d="M283.933 681.367L326.6 656.733L369.266 681.367V730.633L326.6 755.267L283.933 730.633V681.367Z" 1117 + stroke="rgba(0, 0, 0, 1.0)" 1118 + stroke-width="1.0" 1119 + /> 1120 + <path 1121 + d="M587.032 456.367L629.698 431.733L672.365 456.367V505.633L629.698 530.267L587.032 505.633V456.367Z" 1122 + stroke="rgba(0, 0, 0, 1.0)" 1123 + stroke-width="1.0" 1124 + /> 1125 + <path 1126 + d="M630.332 531.367L672.998 506.733L715.664 531.367V580.633L672.998 605.267L630.332 580.633V531.367Z" 1127 + stroke="rgba(0, 0, 0, 1.0)" 1128 + stroke-width="1.0" 1129 + /> 1130 + <path 1131 + d="M673.632 456.367L716.298 431.733L758.964 456.367V505.633L716.298 530.267L673.632 505.633V456.367Z" 1132 + stroke="rgba(0, 0, 0, 1.0)" 1133 + stroke-width="1.0" 1134 + /> 1135 + <path 1136 + d="M716.931 531.367L759.598 506.733L802.264 531.367V580.633L759.598 605.267L716.931 580.633V531.367Z" 1137 + stroke="rgba(0, 0, 0, 1.0)" 1138 + stroke-width="1.0" 1139 + /> 1140 + <path 1141 + d="M760.231 606.367L802.897 581.733L845.564 606.367V655.633L802.897 680.267L760.231 655.633V606.367Z" 1142 + stroke="rgba(0, 0, 0, 1.0)" 1143 + stroke-width="1.0" 1144 + /> 1145 + <path 1146 + d="M803.531 531.367L846.197 506.733L888.864 531.367V580.633L846.197 605.267L803.531 580.633V531.367Z" 1147 + stroke="rgba(0, 0, 0, 1.0)" 1148 + stroke-width="1.0" 1149 + /> 1150 + <path 1151 + d="M457.133 531.367L499.799 506.733L542.465 531.367V580.633L499.799 605.267L457.133 580.633V531.367Z" 1152 + stroke="rgba(0, 0, 0, 1.0)" 1153 + stroke-width="1.0" 1154 + /> 1155 + <path 1156 + d="M500.432 606.367L543.099 581.733L585.765 606.367V655.633L543.099 680.267L500.432 655.633V606.367Z" 1157 + stroke="rgba(0, 0, 0, 1.0)" 1158 + stroke-width="1.0" 1159 + /> 1160 + <path 1161 + d="M543.732 531.367L586.398 506.733L629.065 531.367V580.633L586.398 605.267L543.732 580.633V531.367Z" 1162 + stroke="rgba(0, 0, 0, 1.0)" 1163 + stroke-width="1.0" 1164 + /> 1165 + <path 1166 + d="M587.032 606.367L629.698 581.733L672.365 606.367V655.633L629.698 680.267L587.032 655.633V606.367Z" 1167 + stroke="rgba(0, 0, 0, 1.0)" 1168 + stroke-width="1.0" 1169 + /> 1170 + <path 1171 + d="M630.332 681.367L672.998 656.733L715.664 681.367V730.633L672.998 755.267L630.332 730.633V681.367Z" 1172 + stroke="rgba(0, 0, 0, 1.0)" 1173 + stroke-width="1.0" 1174 + /> 1175 + <path 1176 + d="M673.632 606.367L716.298 581.733L758.964 606.367V655.633L716.298 680.267L673.632 655.633V606.367Z" 1177 + stroke="rgba(0, 0, 0, 1.0)" 1178 + stroke-width="1.0" 1179 + /> 1180 + <path 1181 + d="M846.831 606.367L889.497 581.733L932.163 606.367V655.633L889.497 680.267L846.831 655.633V606.367Z" 1182 + stroke="rgba(0, 0, 0, 1.0)" 1183 + stroke-width="1.0" 1184 + /> 1185 + <path 1186 + d="M890.131 681.367L932.797 656.733L975.463 681.367V730.633L932.797 755.267L890.131 730.633V681.367Z" 1187 + stroke="rgba(0, 0, 0, 1.0)" 1188 + stroke-width="1.0" 1189 + /> 1190 + <path 1191 + d="M933.43 606.367L976.097 581.733L1018.76 606.367V655.633L976.097 680.267L933.43 655.633V606.367Z" 1192 + stroke="rgba(0, 0, 0, 1.0)" 1193 + stroke-width="1.0" 1194 + /> 1195 + <path 1196 + d="M976.73 681.367L1019.4 656.733L1062.06 681.367V730.633L1019.4 755.267L976.73 730.633V681.367Z" 1197 + stroke="rgba(0, 0, 0, 1.0)" 1198 + stroke-width="1.0" 1199 + /> 1200 + <path 1201 + d="M1063.33 681.367L1106 656.733L1148.66 681.367V730.633L1106 755.267L1063.33 730.633V681.367Z" 1202 + stroke="rgba(0, 0, 0, 1.0)" 1203 + stroke-width="1.0" 1204 + /> 1205 + <path 1206 + d="M716.931 681.367L759.598 656.733L802.264 681.367V730.633L759.598 755.267L716.931 730.633V681.367Z" 1207 + stroke="rgba(0, 0, 0, 1.0)" 1208 + stroke-width="1.0" 1209 + /> 1210 + <path 1211 + d="M803.531 681.367L846.197 656.733L888.864 681.367V730.633L846.197 755.267L803.531 730.633V681.367Z" 1212 + stroke="rgba(0, 0, 0, 1.0)" 1213 + stroke-width="1.0" 1214 + /> 1215 + <path 1216 + d="M-62.7322 381.367L-20.0442 356.733L22.6438 381.367V430.633L-20.0442 455.267L-62.7322 430.633V381.367Z" 1217 + stroke="rgba(0, 0, 0, 1.0)" 1218 + stroke-width="1.0" 1219 + /> 1220 + <path 1221 + d="M-19.4139 456.367L23.2741 431.733L65.9621 456.367V505.633L23.2741 530.267L-19.4139 505.633V456.367Z" 1222 + stroke="rgba(0, 0, 0, 1.0)" 1223 + stroke-width="1.0" 1224 + /> 1225 + <path 1226 + d="M23.9103 381.367L66.5983 356.733L109.286 381.367V430.633L66.5983 455.267L23.9103 430.633V381.367Z" 1227 + stroke="rgba(0, 0, 0, 1.0)" 1228 + stroke-width="1.0" 1229 + /> 1230 + <path 1231 + d="M67.2306 456.367L109.919 431.733L152.607 456.367V505.633L109.919 530.267L67.2306 505.633V456.367Z" 1232 + stroke="rgba(0, 0, 0, 1.0)" 1233 + stroke-width="1.0" 1234 + /> 1235 + <path 1236 + d="M110.553 531.367L153.241 506.733L195.929 531.367V580.633L153.241 605.267L110.553 580.633V531.367Z" 1237 + stroke="rgba(0, 0, 0, 1.0)" 1238 + stroke-width="1.0" 1239 + /> 1240 + <path 1241 + d="M153.875 456.367L196.563 431.733L239.251 456.367V505.633L196.563 530.267L153.875 505.633V456.367Z" 1242 + stroke="rgba(0, 0, 0, 1.0)" 1243 + stroke-width="1.0" 1244 + /> 1245 + <path 1246 + d="M197.195 531.367L239.884 506.733L282.572 531.367V580.633L239.884 605.267L197.195 580.633V531.367Z" 1247 + stroke="rgba(0, 0, 0, 1.0)" 1248 + stroke-width="1.0" 1249 + /> 1250 + <path 1251 + d="M240.517 606.367L283.205 581.733L325.893 606.367V655.633L283.205 680.267L240.517 655.633V606.367Z" 1252 + stroke="rgba(0, 0, 0, 1.0)" 1253 + stroke-width="1.0" 1254 + /> 1255 + <path 1256 + d="M283.839 531.367L326.527 506.733L369.215 531.367V580.633L326.527 605.267L283.839 580.633V531.367Z" 1257 + fill="white" 1258 + fill-opacity="0.25" 1259 + stroke="rgba(0, 0, 0, 1.0)" 1260 + stroke-width="1.0" 1261 + /> 1262 + <path 1263 + d="M-62.7322 531.367L-20.0442 506.733L22.6438 531.367V580.633L-20.0442 605.267L-62.7322 580.633V531.367Z" 1264 + stroke="rgba(0, 0, 0, 1.0)" 1265 + stroke-width="1.0" 1266 + /> 1267 + <path 1268 + d="M-19.4139 606.367L23.2741 581.733L65.9621 606.367V655.633L23.2741 680.267L-19.4139 655.633V606.367Z" 1269 + stroke="rgba(0, 0, 0, 1.0)" 1270 + stroke-width="1.0" 1271 + /> 1272 + <path 1273 + d="M23.9103 531.367L66.5983 506.733L109.286 531.367V580.633L66.5983 605.267L23.9103 580.633V531.367Z" 1274 + stroke="rgba(0, 0, 0, 1.0)" 1275 + stroke-width="1.0" 1276 + /> 1277 + <path 1278 + d="M67.2306 606.367L109.919 581.733L152.607 606.367V655.633L109.919 680.267L67.2306 655.633V606.367Z" 1279 + stroke="rgba(0, 0, 0, 1.0)" 1280 + stroke-width="1.0" 1281 + /> 1282 + <path 1283 + d="M110.553 681.367L153.241 656.733L195.929 681.367V730.633L153.241 755.267L110.553 730.633V681.367Z" 1284 + stroke="rgba(0, 0, 0, 1.0)" 1285 + stroke-width="1.0" 1286 + /> 1287 + <path 1288 + d="M153.875 606.367L196.563 581.733L239.251 606.367V655.633L196.563 680.267L153.875 655.633V606.367Z" 1289 + stroke="rgba(0, 0, 0, 1.0)" 1290 + stroke-width="1.0" 1291 + /> 1292 + <path 1293 + d="M67.2306 156.367L109.919 131.733L152.607 156.367V205.633L109.919 230.267L67.2306 205.633V156.367Z" 1294 + fill="white" 1295 + fill-opacity="0.25" 1296 + stroke="rgba(0, 0, 0, 1.0)" 1297 + stroke-width="1.0" 1298 + /> 1299 + <path 1300 + d="M110.553 231.367L153.241 206.733L195.929 231.367V280.633L153.241 305.267L110.553 280.633V231.367Z" 1301 + stroke="rgba(0, 0, 0, 1.0)" 1302 + stroke-width="1.0" 1303 + /> 1304 + <path 1305 + d="M153.875 156.367L196.563 131.733L239.251 156.367V205.633L196.563 230.267L153.875 205.633V156.367Z" 1306 + stroke="rgba(0, 0, 0, 1.0)" 1307 + stroke-width="1.0" 1308 + /> 1309 + <path 1310 + d="M197.195 231.367L239.884 206.733L282.572 231.367V280.633L239.884 305.267L197.195 280.633V231.367Z" 1311 + stroke="rgba(0, 0, 0, 1.0)" 1312 + stroke-width="1.0" 1313 + /> 1314 + <path 1315 + d="M240.517 306.367L283.205 281.733L325.893 306.367V355.633L283.205 380.267L240.517 355.633V306.367Z" 1316 + stroke="rgba(0, 0, 0, 1.0)" 1317 + stroke-width="1.0" 1318 + /> 1319 + <path 1320 + d="M283.839 231.367L326.527 206.733L369.215 231.367V280.633L326.527 305.267L283.839 280.633V231.367Z" 1321 + stroke="rgba(0, 0, 0, 1.0)" 1322 + stroke-width="1.0" 1323 + /> 1324 + <path 1325 + d="M-62.7322 231.367L-20.0442 206.733L22.6438 231.367V280.633L-20.0442 305.267L-62.7322 280.633V231.367Z" 1326 + stroke="rgba(0, 0, 0, 1.0)" 1327 + stroke-width="1.0" 1328 + /> 1329 + <path 1330 + d="M-19.4139 306.367L23.2741 281.733L65.9621 306.367V355.633L23.2741 380.267L-19.4139 355.633V306.367Z" 1331 + stroke="rgba(0, 0, 0, 1.0)" 1332 + stroke-width="1.0" 1333 + /> 1334 + <path 1335 + d="M23.9103 231.367L66.5983 206.733L109.286 231.367V280.633L66.5983 305.267L23.9103 280.633V231.367Z" 1336 + stroke="rgba(0, 0, 0, 1.0)" 1337 + stroke-width="1.0" 1338 + /> 1339 + <path 1340 + d="M67.2306 306.367L109.919 281.733L152.607 306.367V355.633L109.919 380.267L67.2306 355.633V306.367Z" 1341 + stroke="rgba(0, 0, 0, 1.0)" 1342 + stroke-width="1.0" 1343 + /> 1344 + <path 1345 + d="M110.553 381.367L153.241 356.733L195.929 381.367V430.633L153.241 455.267L110.553 430.633V381.367Z" 1346 + stroke="rgba(0, 0, 0, 1.0)" 1347 + stroke-width="1.0" 1348 + /> 1349 + <path 1350 + d="M153.875 306.367L196.563 281.733L239.251 306.367V355.633L196.563 380.267L153.875 355.633V306.367Z" 1351 + stroke="rgba(0, 0, 0, 1.0)" 1352 + stroke-width="1.0" 1353 + /> 1354 + <path 1355 + d="M327.161 306.367L369.849 281.733L412.537 306.367V355.633L369.849 380.267L327.161 355.633V306.367Z" 1356 + stroke="rgba(0, 0, 0, 1.0)" 1357 + stroke-width="1.0" 1358 + /> 1359 + <path 1360 + d="M370.484 381.367L413.172 356.733L455.86 381.367V430.633L413.172 455.267L370.484 430.633V381.367Z" 1361 + stroke="rgba(0, 0, 0, 1.0)" 1362 + stroke-width="1.0" 1363 + /> 1364 + <path 1365 + d="M413.803 306.367L456.491 281.733L499.179 306.367V355.633L456.491 380.267L413.803 355.633V306.367Z" 1366 + stroke="rgba(0, 0, 0, 1.0)" 1367 + stroke-width="1.0" 1368 + /> 1369 + <path 1370 + d="M457.126 381.367L499.814 356.733L542.502 381.367V430.633L499.814 455.267L457.126 430.633V381.367Z" 1371 + stroke="rgba(0, 0, 0, 1.0)" 1372 + stroke-width="1.0" 1373 + /> 1374 + <path 1375 + d="M500.448 456.367L543.136 431.733L585.824 456.367V505.633L543.136 530.267L500.448 505.633V456.367Z" 1376 + stroke="rgba(0, 0, 0, 1.0)" 1377 + stroke-width="1.0" 1378 + /> 1379 + <path 1380 + d="M543.768 381.367L586.456 356.733L629.144 381.367V430.633L586.456 455.267L543.768 430.633V381.367Z" 1381 + stroke="rgba(0, 0, 0, 1.0)" 1382 + stroke-width="1.0" 1383 + /> 1384 + <path 1385 + d="M197.195 381.367L239.884 356.733L282.572 381.367V430.633L239.884 455.267L197.195 430.633V381.367Z" 1386 + stroke="rgba(0, 0, 0, 1.0)" 1387 + stroke-width="1.0" 1388 + /> 1389 + <path 1390 + d="M240.517 456.367L283.205 431.733L325.893 456.367V505.633L283.205 530.267L240.517 505.633V456.367Z" 1391 + stroke="rgba(0, 0, 0, 1.0)" 1392 + stroke-width="1.0" 1393 + /> 1394 + <path 1395 + d="M283.839 381.367L326.527 356.733L369.215 381.367V430.633L326.527 455.267L283.839 430.633V381.367Z" 1396 + stroke="rgba(0, 0, 0, 1.0)" 1397 + stroke-width="1.0" 1398 + /> 1399 + <path 1400 + d="M327.161 456.367L369.849 431.733L412.537 456.367V505.633L369.849 530.267L327.161 505.633V456.367Z" 1401 + stroke="rgba(0, 0, 0, 1.0)" 1402 + stroke-width="1.0" 1403 + /> 1404 + <path 1405 + d="M370.484 531.367L413.172 506.733L455.86 531.367V580.633L413.172 605.267L370.484 580.633V531.367Z" 1406 + stroke="rgba(0, 0, 0, 1.0)" 1407 + stroke-width="1.0" 1408 + /> 1409 + <path 1410 + d="M413.803 456.367L456.491 431.733L499.179 456.367V505.633L456.491 530.267L413.803 505.633V456.367Z" 1411 + stroke="rgba(0, 0, 0, 1.0)" 1412 + stroke-width="1.0" 1413 + /> 1414 + </g> 1415 + <defs> 1416 + <radialGradient 1417 + id="paint0_radial_91_8" 1418 + cx="0" 1419 + cy="0" 1420 + r="1" 1421 + gradientUnits="userSpaceOnUse" 1422 + gradientTransform="translate(608 362.9) rotate(90) scale(447.374 749.527)" 1423 + > 1424 + <stop stop-color="#D9D9D9" stop-opacity="0.1" /> 1425 + <stop offset="0.802083" stop-color="#D9D9D9" stop-opacity="0" /> 1426 + </radialGradient> 1427 + </defs> 1428 + </svg> 1429 + ); 1430 + 1431 + export default HexagonGrid;
+4 -2
components/Icons/Logos/JsIconWhite.tsx
··· 1 - import type { FC, SVGProps } from 'react'; 2 3 - const JsIconWhite: FC<SVGProps<SVGSVGElement>> = props => ( 4 <svg 5 width="71" 6 height="80"
··· 1 + import type { FC } from 'react'; 2 3 + import type { TailwindSVG } from '@/types/og'; 4 + 5 + const JsIconWhite: FC<TailwindSVG> = props => ( 6 <svg 7 width="71" 8 height="80"
+3
next.dynamic.mjs
··· 217 currentLocale, 218 path 219 ); 220 }); 221 222 return pageMetadata;
··· 217 currentLocale, 218 path 219 ); 220 + pageMetadata.openGraph.images = [ 221 + `${currentLocale}/next-data/og?title=${data.title}&type=${data.category ?? 'announcement'}`, 222 + ]; 223 }); 224 225 return pageMetadata;
+1 -1
tsconfig.json
··· 30 ".storybook/**/*.ts", 31 ".storybook/**/*.tsx" 32 ], 33 - "exclude": ["node_modules"] 34 }
··· 30 ".storybook/**/*.ts", 31 ".storybook/**/*.tsx" 32 ], 33 + "exclude": ["node_modules", ".next"] 34 }
+3
types/og.ts
···
··· 1 + import type { SVGProps } from 'react'; 2 + 3 + export type TailwindSVG = SVGProps<SVGSVGElement> & { tw?: string };
+10
util/hexToRGBA.ts
···
··· 1 + export const hexToRGBA = (hex: string, alpha = 0.9) => { 2 + hex = hex.replace(/^#/, ''); 3 + 4 + const bigint = parseInt(hex, 16); 5 + const r = (bigint >> 16) & 255; 6 + const g = (bigint >> 8) & 255; 7 + const b = bigint & 255; 8 + 9 + return `rgba(${r}, ${g}, ${b}, ${alpha})`; 10 + };