nuxt-og-image 3.0.0-beta.3 → 3.0.0-beta.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +3 -3
  2. package/dist/client/200.html +5 -5
  3. package/dist/client/404.html +5 -5
  4. package/dist/client/_nuxt/{IconCSS.e8427024.js → IconCSS.06e6c904.js} +1 -1
  5. package/dist/client/_nuxt/IconCSS.7e8f1f7b.css +1 -0
  6. package/dist/client/_nuxt/builds/latest.json +1 -1
  7. package/dist/client/_nuxt/builds/meta/eb64321b-b694-4f04-b8be-8bfdecc73293.json +1 -0
  8. package/dist/client/_nuxt/entry.5625a982.js +137 -0
  9. package/dist/client/_nuxt/entry.f47d0628.css +1 -0
  10. package/dist/client/_nuxt/{error-404.b1c8e4c8.js → error-404.ab2243fa.js} +1 -1
  11. package/dist/client/_nuxt/{error-500.6b97e3ab.js → error-500.9440311e.js} +1 -1
  12. package/dist/client/index.html +5 -5
  13. package/dist/module.d.mts +44 -26
  14. package/dist/module.d.ts +44 -26
  15. package/dist/module.json +2 -2
  16. package/dist/module.mjs +152 -98
  17. package/dist/runtime/cache.d.ts +7 -10
  18. package/dist/runtime/cache.mjs +40 -27
  19. package/dist/runtime/components/OgImage/OgImage.d.ts +5 -0
  20. package/dist/runtime/components/OgImage/{index.mjs → OgImage.mjs} +1 -1
  21. package/dist/runtime/components/OgImage/OgImageScreenshot.d.ts +5 -0
  22. package/dist/runtime/components/OgImage/{Screenshot.mjs → OgImageScreenshot.mjs} +1 -1
  23. package/dist/runtime/components/Templates/{Official → Community}/BrandedLogo.vue +3 -2
  24. package/dist/runtime/components/Templates/Community/Nuxt.vue +6 -5
  25. package/dist/runtime/components/Templates/Community/NuxtSeo.vue +137 -0
  26. package/dist/runtime/components/Templates/{Official → Community}/SimpleBlog.vue +7 -5
  27. package/dist/runtime/components/Templates/Community/UnJs.vue +108 -0
  28. package/dist/runtime/components/Templates/{Official → Community}/Wave.vue +3 -2
  29. package/dist/runtime/components/Templates/{Official → Community}/WithEmoji.vue +3 -2
  30. package/dist/runtime/composables/defineOgImage.d.ts +2 -23
  31. package/dist/runtime/composables/defineOgImage.mjs +33 -116
  32. package/dist/runtime/composables/defineOgImageComponent.d.ts +3 -0
  33. package/dist/runtime/composables/defineOgImageComponent.mjs +8 -0
  34. package/dist/runtime/composables/defineOgImageScreenshot.d.ts +2 -0
  35. package/dist/runtime/composables/defineOgImageScreenshot.mjs +14 -0
  36. package/dist/runtime/core/bindings/css-inline/node.d.ts +2 -5
  37. package/dist/runtime/core/bindings/css-inline/node.mjs +2 -10
  38. package/dist/runtime/core/bindings/resvg/stackblitz.d.ts +40 -0
  39. package/dist/runtime/core/bindings/resvg/stackblitz.mjs +6 -0
  40. package/dist/runtime/core/bindings/resvg/wasm.mjs +2 -3
  41. package/dist/runtime/core/bindings/satori/stackblitz.mjs +13 -0
  42. package/dist/runtime/core/bindings/satori/wasm.d.ts +6 -0
  43. package/dist/runtime/core/bindings/satori/wasm.mjs +14 -0
  44. package/dist/runtime/core/cache/emojis.d.ts +1 -0
  45. package/dist/runtime/core/cache/emojis.mjs +5 -0
  46. package/dist/runtime/core/cache/htmlPayload.d.ts +5 -0
  47. package/dist/runtime/core/cache/htmlPayload.mjs +6 -0
  48. package/dist/runtime/core/cache/prerender.d.ts +1 -1
  49. package/dist/runtime/core/font/fetch.d.ts +2 -3
  50. package/dist/runtime/core/font/fetch.mjs +20 -8
  51. package/dist/runtime/core/html/applyEmojis.d.ts +3 -0
  52. package/dist/runtime/core/html/applyEmojis.mjs +37 -0
  53. package/dist/runtime/core/html/applyInlineCss.d.ts +3 -0
  54. package/dist/runtime/core/html/applyInlineCss.mjs +32 -0
  55. package/dist/runtime/core/html/devIframeTemplate.d.ts +2 -0
  56. package/dist/runtime/core/html/{fetch.mjs → devIframeTemplate.mjs} +33 -42
  57. package/dist/runtime/core/html/fetchIsland.d.ts +3 -0
  58. package/dist/runtime/core/html/fetchIsland.mjs +17 -0
  59. package/dist/runtime/core/options/fetch.d.ts +1 -1
  60. package/dist/runtime/core/options/fetch.mjs +10 -5
  61. package/dist/runtime/core/options/normalise.d.ts +2 -2
  62. package/dist/runtime/core/options/normalise.mjs +3 -2
  63. package/dist/runtime/core/renderers/chromium/index.mjs +6 -7
  64. package/dist/runtime/core/renderers/chromium/screenshot.d.ts +2 -3
  65. package/dist/runtime/core/renderers/chromium/screenshot.mjs +5 -4
  66. package/dist/runtime/core/renderers/satori/fonts.d.ts +2 -2
  67. package/dist/runtime/core/renderers/satori/fonts.mjs +2 -2
  68. package/dist/runtime/core/renderers/satori/index.d.ts +2 -3
  69. package/dist/runtime/core/renderers/satori/index.mjs +25 -22
  70. package/dist/runtime/core/renderers/satori/instances.d.ts +3 -0
  71. package/dist/runtime/core/renderers/satori/instances.mjs +15 -0
  72. package/dist/runtime/core/renderers/satori/plugins/emojis.mjs +15 -13
  73. package/dist/runtime/core/renderers/satori/plugins/imageSrc.mjs +8 -4
  74. package/dist/runtime/core/renderers/satori/plugins/unocss.d.ts +2 -0
  75. package/dist/runtime/core/renderers/satori/plugins/unocss.mjs +38 -0
  76. package/dist/runtime/core/renderers/satori/utils.d.ts +2 -3
  77. package/dist/runtime/core/renderers/satori/vnodes.d.ts +2 -3
  78. package/dist/runtime/core/renderers/satori/vnodes.mjs +16 -6
  79. package/dist/runtime/core/utils/resolveRendererContext.d.ts +2 -6
  80. package/dist/runtime/core/utils/resolveRendererContext.mjs +46 -23
  81. package/dist/runtime/core/utils/wasm.d.ts +3 -0
  82. package/dist/runtime/core/utils/wasm.mjs +16 -0
  83. package/dist/runtime/nitro/plugins/nuxt-content.mjs +3 -4
  84. package/dist/runtime/nitro/plugins/prerender.d.ts +1 -1
  85. package/dist/runtime/nitro/plugins/prerender.mjs +13 -5
  86. package/dist/runtime/nuxt/plugins/og-image-canonical-urls.server.mjs +31 -0
  87. package/dist/runtime/nuxt/plugins/route-rule-og-image.server.mjs +16 -50
  88. package/dist/runtime/nuxt/utils.d.ts +2 -0
  89. package/dist/runtime/nuxt/utils.mjs +53 -0
  90. package/dist/runtime/server/routes/__og-image__/debug.json.d.ts +1 -3
  91. package/dist/runtime/server/routes/__og-image__/debug.json.mjs +4 -8
  92. package/dist/runtime/server/routes/__og-image__/image.mjs +87 -0
  93. package/dist/runtime/types.d.ts +74 -25
  94. package/dist/runtime/utils.d.ts +4 -0
  95. package/dist/runtime/utils.mjs +11 -0
  96. package/dist/runtime/utils.pure.d.ts +5 -0
  97. package/dist/runtime/utils.pure.mjs +43 -0
  98. package/package.json +27 -29
  99. package/virtual.d.ts +49 -0
  100. package/dist/client/_nuxt/IconCSS.8f429b14.css +0 -1
  101. package/dist/client/_nuxt/builds/meta/af7b6f15-8224-4a19-bb3a-f685b2b145c3.json +0 -1
  102. package/dist/client/_nuxt/entry.434c2c45.css +0 -1
  103. package/dist/client/_nuxt/entry.8ea61ef1.js +0 -137
  104. package/dist/client/grid.png +0 -0
  105. package/dist/runtime/components/OgImage/Cached.d.ts +0 -5
  106. package/dist/runtime/components/OgImage/Cached.mjs +0 -10
  107. package/dist/runtime/components/OgImage/Dynamic.d.ts +0 -8
  108. package/dist/runtime/components/OgImage/Dynamic.mjs +0 -10
  109. package/dist/runtime/components/OgImage/Screenshot.d.ts +0 -6
  110. package/dist/runtime/components/OgImage/Static.d.ts +0 -8
  111. package/dist/runtime/components/OgImage/Static.mjs +0 -10
  112. package/dist/runtime/components/OgImage/WithoutCache.d.ts +0 -5
  113. package/dist/runtime/components/OgImage/WithoutCache.mjs +0 -10
  114. package/dist/runtime/components/OgImage/index.d.ts +0 -5
  115. package/dist/runtime/components/Templates/Official/Fallback.vue +0 -147
  116. package/dist/runtime/core/bindings/css-inline/mock.d.ts +0 -5
  117. package/dist/runtime/core/bindings/css-inline/mock.mjs +0 -3
  118. package/dist/runtime/core/bindings/satori/yoga-wasm.mjs +0 -7
  119. package/dist/runtime/core/bindings/sharp/wasm.d.ts +0 -2
  120. package/dist/runtime/core/bindings/sharp/wasm.mjs +0 -2
  121. package/dist/runtime/core/html/fetch.d.ts +0 -3
  122. package/dist/runtime/nuxt/plugins/nuxt-content-canonical-urls.mjs +0 -29
  123. package/dist/runtime/server/routes/__og-image__/image-[path]-og.[extension].mjs +0 -45
  124. package/dist/runtime/utilts.d.ts +0 -2
  125. package/dist/runtime/utilts.mjs +0 -8
  126. /package/dist/runtime/core/bindings/satori/{yoga-wasm.d.ts → stackblitz.d.ts} +0 -0
  127. /package/dist/runtime/nuxt/plugins/{nuxt-content-canonical-urls.d.ts → og-image-canonical-urls.server.d.ts} +0 -0
  128. /package/dist/runtime/server/routes/__og-image__/{image-[path]-og.[extension].d.ts → image.d.ts} +0 -0
@@ -0,0 +1,87 @@
1
+ import { H3Error, createError, defineEventHandler, getQuery, setHeader } from "h3";
2
+ import { resolveRendererContext } from "../../../core/utils/resolveRendererContext.mjs";
3
+ import { fetchIsland } from "../../../core/html/fetchIsland.mjs";
4
+ import { devIframeTemplate } from "../../../core/html/devIframeTemplate.mjs";
5
+ import { applyInlineCss } from "../../../core/html/applyInlineCss.mjs";
6
+ import { useOgImageBufferCache } from "../../../cache.mjs";
7
+ import { useOgImageRuntimeConfig } from "../../../utils.mjs";
8
+ import { useSiteConfig } from "#imports";
9
+ export default defineEventHandler(async (e) => {
10
+ const ctx = await resolveRendererContext(e);
11
+ if (ctx instanceof H3Error)
12
+ return ctx;
13
+ const { isDebugJsonPayload, extension, options, renderer } = ctx;
14
+ const { debug, baseCacheKey } = useOgImageRuntimeConfig();
15
+ const compatibility = [];
16
+ if (isDebugJsonPayload) {
17
+ const queryExtension = getQuery(e).extension || ctx.options.extension;
18
+ if (["jpeg", "jpg"].includes(queryExtension) && options.renderer === "satori")
19
+ compatibility.push("Converting PNGs to JPEGs requires Sharp which only runs on Node based systems.");
20
+ if (options.renderer === "chromium")
21
+ compatibility.push("Using Chromium to generate images is only supported in Node based environments. It's recommended to only use this if you're prerendering");
22
+ if (await applyInlineCss(ctx, await fetchIsland(ctx)))
23
+ compatibility.push("Inlining CSS is only supported in Node based environments.");
24
+ setHeader(e, "Content-Type", "application/json");
25
+ return {
26
+ compatibility,
27
+ ...ctx,
28
+ siteConfig: useSiteConfig(e),
29
+ ...options.renderer === "satori" ? await renderer.debug(ctx) : void 0
30
+ };
31
+ }
32
+ switch (extension) {
33
+ case "html":
34
+ setHeader(e, "Content-Type", `text/html`);
35
+ return devIframeTemplate(ctx);
36
+ case "svg":
37
+ if (!debug && !import.meta.dev) {
38
+ return createError({
39
+ statusCode: 404
40
+ });
41
+ }
42
+ if (ctx.renderer.name !== "satori") {
43
+ return createError({
44
+ statusCode: 400,
45
+ statusMessage: `Generating ${extension}'s with ${renderer.name} is not supported.`
46
+ });
47
+ }
48
+ setHeader(e, "Content-Type", `image/svg+xml`);
49
+ return (await ctx.renderer.debug(ctx)).svg;
50
+ case "png":
51
+ case "jpeg":
52
+ case "jpg":
53
+ if (!renderer.supportedFormats.includes(extension)) {
54
+ return createError({
55
+ statusCode: 400,
56
+ statusMessage: `Generating ${extension}'s with ${renderer.name} is not supported.`
57
+ });
58
+ }
59
+ setHeader(e, "Content-Type", `image/${extension === "jpg" ? "jpeg" : extension}`);
60
+ break;
61
+ default:
62
+ return createError({
63
+ statusCode: 400,
64
+ statusMessage: `Invalid request for og.${extension}.`
65
+ });
66
+ }
67
+ const cacheApi = await useOgImageBufferCache(ctx, {
68
+ cacheMaxAgeSeconds: ctx.options.cacheMaxAgeSeconds,
69
+ baseCacheKey
70
+ });
71
+ if (typeof cacheApi === "undefined")
72
+ return;
73
+ let image = cacheApi.cachedItem;
74
+ if (!image) {
75
+ image = await renderer.createImage(ctx);
76
+ if (image instanceof H3Error)
77
+ return image;
78
+ if (!image) {
79
+ return createError({
80
+ statusCode: 500,
81
+ statusMessage: `Failed to generate og.${extension}.`
82
+ });
83
+ }
84
+ await cacheApi.update(image);
85
+ }
86
+ return image;
87
+ });
@@ -1,15 +1,40 @@
1
- /// <reference types="node" />
2
- import type { Buffer } from 'node:buffer';
3
1
  import type { html } from 'satori-html';
4
2
  import type { H3Error, H3Event } from 'h3';
5
3
  import type { ResvgRenderOptions } from '@resvg/resvg-js';
6
4
  import type { SatoriOptions } from 'satori';
5
+ import type { AllowedComponentProps, Component, ComponentCustomProps, VNodeProps } from '@vue/runtime-core';
6
+ import type { SharpOptions } from 'sharp';
7
+ import type { OgImageComponents } from '#nuxt-og-image/components';
8
+ export interface H3EventOgImageRender {
9
+ e: H3Event;
10
+ extension: 'png' | 'jpeg' | 'jpg' | 'svg' | 'html' | 'json';
11
+ key: string;
12
+ basePath: string;
13
+ renderer: Renderer;
14
+ options: OgImageOptions;
15
+ isDebugJsonPayload: boolean;
16
+ }
17
+ export type IconifyEmojiIconSets = 'twemoji' | 'noto' | 'fluent-emoji' | 'fluent-emoji-flat' | 'fluent-emoji-high-contrast' | 'noto-v1' | 'emojione' | 'emojione-monotone' | 'emojione-v1' | 'streamline-emojis' | 'openmoji';
18
+ export interface OgImageRuntimeConfig {
19
+ version: string;
20
+ satoriOptions: SatoriOptions;
21
+ resvgOptions: ResvgRenderOptions;
22
+ sharpOptions: SharpOptions;
23
+ runtimeSatori: boolean;
24
+ runtimeChromium: boolean;
25
+ defaults: OgImageOptions;
26
+ debug: boolean;
27
+ baseCacheKey: string;
28
+ fonts: FontConfig[];
29
+ hasNuxtIcon: boolean;
30
+ colorPreference: 'light' | 'dark';
31
+ }
7
32
  export interface OgImageComponent {
8
33
  path?: string;
9
34
  pascalName: string;
10
35
  kebabName: string;
11
36
  hash: string;
12
- category: 'app' | 'official' | 'community' | 'pro';
37
+ category: 'app' | 'community' | 'pro';
13
38
  credits?: string;
14
39
  }
15
40
  export interface ScreenshotOptions {
@@ -33,31 +58,53 @@ export interface ScreenshotOptions {
33
58
  */
34
59
  delay?: number;
35
60
  }
36
- export interface OgImageOptions extends Partial<ScreenshotOptions> {
37
- component?: string;
38
- renderer?: 'chromium' | 'satori';
39
- extension?: 'png' | 'jpeg' | 'jpg';
61
+ export type OgImagePrebuilt = {
62
+ url: string;
63
+ } & Pick<OgImageOptions, 'width' | 'height' | 'alt'>;
64
+ export type DefineOgImageInput = OgImageOptions | OgImagePrebuilt | false;
65
+ export interface OgImageOptions<T extends keyof OgImageComponents = 'NuxtSeo'> {
66
+ /**
67
+ * The width of the screenshot.
68
+ *
69
+ * @default 1200
70
+ */
71
+ width?: number;
72
+ /**
73
+ * The height of the screenshot.
74
+ *
75
+ * @default 630
76
+ */
77
+ height?: number;
78
+ /**
79
+ * The alt text for the image.
80
+ */
81
+ alt?: string;
40
82
  /**
41
- * @deprecated use renderer. Replace `browser` with `chromium`
83
+ * Use a prebuilt image instead of generating one.
84
+ *
85
+ * Should be an absolute URL.
42
86
  */
43
- provider?: 'browser' | 'satori';
87
+ url?: string;
88
+ /**
89
+ * The name of the component to render.
90
+ */
91
+ component?: T | string;
92
+ /**
93
+ * Props to pass to the component.
94
+ */
95
+ props?: OgImageComponents[T] | Record<string, any>;
96
+ renderer?: 'chromium' | 'satori';
97
+ extension?: 'png' | 'jpeg' | 'jpg';
98
+ emojis?: IconifyEmojiIconSets;
44
99
  /**
45
100
  * Provide a static HTML template to render the OG Image instead of a component.
46
101
  */
47
102
  html?: string;
48
- cache?: boolean;
49
- cacheKey?: string;
50
103
  resvg?: ResvgRenderOptions;
51
104
  satori?: SatoriOptions;
52
- /**
53
- * The time to live of the cache in milliseconds.
54
- */
55
- cacheTtl?: number;
56
- [key: string]: any;
57
- }
58
- export interface RuntimeOgImageOptions extends Omit<OgImageOptions, 'extension'> {
59
- extension: 'png' | 'jpeg' | 'jpg' | 'svg' | 'json' | 'html';
60
- path: string;
105
+ screenshot?: Partial<ScreenshotOptions>;
106
+ sharp?: SharpOptions;
107
+ cacheMaxAgeSeconds?: number;
61
108
  }
62
109
  export interface FontConfig {
63
110
  name: string;
@@ -65,17 +112,19 @@ export interface FontConfig {
65
112
  path?: string;
66
113
  }
67
114
  export type InputFontConfig = (`${string}:${number}` | FontConfig);
68
- export type RendererOptions = Omit<RuntimeOgImageOptions, 'extension'> & {
69
- extension: Omit<RuntimeOgImageOptions['extension'], 'html'>;
115
+ export type RendererOptions = Omit<OgImageOptions, 'extension'> & {
116
+ extension: Omit<OgImageOptions['extension'], 'html'>;
70
117
  };
71
118
  export interface Renderer {
72
119
  name: 'chromium' | 'satori';
73
120
  supportedFormats: Partial<RendererOptions['extension']>[];
74
- createImage: (e: H3Event, options: RendererOptions) => Promise<H3Error | Buffer>;
121
+ createImage: (e: H3EventOgImageRender) => Promise<H3Error | BufferSource | void>;
122
+ debug: (e: H3EventOgImageRender) => Promise<Record<string, any>>;
75
123
  }
76
- export type OgImageScreenshotOptions = Omit<OgImageOptions, 'component'>;
124
+ export type ExtractComponentProps<T extends Component> = T extends new (...args: any) => any ? Omit<InstanceType<T>['$props'], keyof ComponentCustomProps | keyof VNodeProps | keyof AllowedComponentProps> : never;
125
+ export type OgImagePageScreenshotOptions = Omit<OgImageOptions, 'html' | 'renderer' | 'component' | 'satori' | 'resvg' | 'sharp'>;
77
126
  export type VNode = ReturnType<typeof html>;
78
127
  export interface SatoriTransformer {
79
128
  filter: (node: VNode) => boolean;
80
- transform: (node: VNode, e: H3Event) => Promise<void>;
129
+ transform: (node: VNode, e: H3EventOgImageRender) => Promise<void>;
81
130
  }
@@ -0,0 +1,4 @@
1
+ import type { OgImageOptions, OgImageRuntimeConfig } from './types';
2
+ export * from './utils.pure';
3
+ export declare function getOgImagePath(pagePath: string, _options?: Partial<OgImageOptions>): string;
4
+ export declare function useOgImageRuntimeConfig(): OgImageRuntimeConfig;
@@ -0,0 +1,11 @@
1
+ import { joinURL } from "ufo";
2
+ import { defu } from "defu";
3
+ import { useRuntimeConfig } from "#imports";
4
+ export * from "./utils.pure.mjs";
5
+ export function getOgImagePath(pagePath, _options) {
6
+ const options = defu(_options, useOgImageRuntimeConfig().defaults);
7
+ return joinURL("/__og-image__/image", pagePath, `og.${options.extension}`);
8
+ }
9
+ export function useOgImageRuntimeConfig() {
10
+ return useRuntimeConfig()["nuxt-og-image"];
11
+ }
@@ -0,0 +1,5 @@
1
+ import type { OgImageOptions } from './types';
2
+ export declare function isInternalRoute(path: string): boolean;
3
+ export declare function separateProps(options: OgImageOptions | undefined, ignoreKeys?: string[]): {
4
+ props: Record<string, any>;
5
+ };
@@ -0,0 +1,43 @@
1
+ import { defu } from "defu";
2
+ export function isInternalRoute(path) {
3
+ const lastSegment = path.split("/").pop() || path;
4
+ return lastSegment.includes(".") || path.startsWith("/__") || path.startsWith("@");
5
+ }
6
+ function filterIsOgImageOption(key) {
7
+ const keys = [
8
+ "url",
9
+ "extension",
10
+ "width",
11
+ "height",
12
+ "alt",
13
+ "props",
14
+ "renderer",
15
+ "html",
16
+ "component",
17
+ "renderer",
18
+ "emojis",
19
+ "satori",
20
+ "resvg",
21
+ "sharp",
22
+ "screenshot",
23
+ "cacheMaxAgeSeconds",
24
+ "componentHash"
25
+ ];
26
+ return keys.includes(key);
27
+ }
28
+ export function separateProps(options, ignoreKeys = []) {
29
+ options = options || {};
30
+ const _props = defu(options.props, Object.fromEntries(
31
+ Object.entries({ ...options }).filter(([k]) => !filterIsOgImageOption(k) && !ignoreKeys.includes(k))
32
+ ));
33
+ const props = {};
34
+ Object.entries(_props).forEach(([key, val]) => {
35
+ props[key.replace(/-([a-z])/g, (g) => g[1].toUpperCase())] = val;
36
+ });
37
+ return {
38
+ ...Object.fromEntries(
39
+ Object.entries({ ...options }).filter(([k]) => filterIsOgImageOption(k) || ignoreKeys.includes(k))
40
+ ),
41
+ props
42
+ };
43
+ }
package/package.json CHANGED
@@ -1,9 +1,14 @@
1
1
  {
2
2
  "name": "nuxt-og-image",
3
3
  "type": "module",
4
- "version": "3.0.0-beta.3",
4
+ "version": "3.0.0-beta.31",
5
5
  "packageManager": "pnpm@8.11.0",
6
6
  "description": "Enlightened OG Image generation for Nuxt.",
7
+ "author": {
8
+ "website": "https://harlanzw.com",
9
+ "name": "Harlan Wilton",
10
+ "url": "harlan@harlanzw.com"
11
+ },
7
12
  "license": "MIT",
8
13
  "funding": "https://github.com/sponsors/harlan-zw",
9
14
  "homepage": "https://github.com/harlan-zw/nuxt-og-image#readme",
@@ -24,75 +29,68 @@
24
29
  "main": "./dist/module.cjs",
25
30
  "types": "./dist/types.d.ts",
26
31
  "files": [
27
- "dist"
32
+ "dist",
33
+ "virtual.d.ts"
28
34
  ],
29
35
  "dependencies": {
30
- "@img/sharp-libvips-dev": "^1.0.0",
31
- "@img/sharp-wasm32": "0.33.0-rc.2",
36
+ "@iconify-json/noto": "^1.1.17",
37
+ "@img/sharp-wasm32": "^0.33.0",
32
38
  "@nuxt/devtools-kit": "^1.0.4",
33
39
  "@nuxt/kit": "^3.8.2",
34
40
  "@resvg/resvg-js": "^2.6.0",
35
41
  "@resvg/resvg-wasm": "^2.6.0",
36
- "@twemoji/api": "^14.1.2",
37
- "@types/fs-extra": "^11.0.4",
38
- "birpc": "0.2.14",
39
- "chalk": "^5.3.0",
42
+ "@unocss/core": "^0.58.0",
43
+ "@unocss/preset-wind": "^0.58.0",
40
44
  "chrome-launcher": "^1.1.0",
41
45
  "css-inline": "^0.11.0",
42
46
  "defu": "^6.1.3",
43
47
  "execa": "^8.0.1",
44
- "fast-glob": "^3.3.2",
45
- "flatted": "^3.2.9",
46
48
  "floating-vue": "2.0.0-beta.24",
47
- "fs-extra": "^11.2.0",
48
- "globby": "^14.0.0",
49
49
  "image-size": "^1.0.2",
50
- "launch-editor": "^2.6.1",
51
50
  "nuxt-site-config": "^1.6.6",
52
51
  "nuxt-site-config-kit": "^1.6.6",
53
52
  "nypm": "^0.3.3",
54
53
  "ofetch": "^1.3.3",
55
54
  "ohash": "^1.1.3",
56
55
  "pathe": "^1.1.1",
57
- "playwright-core": "^1.40.0",
56
+ "playwright-core": "^1.40.1",
58
57
  "radix3": "^1.1.0",
59
58
  "satori": "0.10.11",
60
59
  "satori-html": "^0.3.2",
61
- "sharp": "0.33.0-rc.2",
60
+ "sharp": "0.33.0",
62
61
  "sirv": "^2.0.3",
63
- "std-env": "^3.5.0",
64
- "svg2png-wasm": "^1.4.1",
62
+ "std-env": "^3.6.0",
65
63
  "terminate": "^2.6.1",
66
- "tinyws": "^0.1.0",
67
- "twemoji": "^14.0.2",
68
64
  "ufo": "^1.3.2",
69
- "vue-component-meta": "^1.8.22",
70
- "ws": "^8.14.2",
71
65
  "yoga-wasm-web": "^0.3.3"
72
66
  },
73
67
  "devDependencies": {
74
- "@antfu/eslint-config": "2.1.1",
75
- "@img/sharp-linux-x64": "0.33.0-rc.2",
68
+ "@antfu/eslint-config": "2.2.2",
69
+ "@img/sharp-linux-x64": "0.33.0",
76
70
  "@nuxt/content": "^2.9.0",
77
71
  "@nuxt/devtools": "1.0.4",
78
72
  "@nuxt/module-builder": "^0.5.4",
79
73
  "@nuxt/test-utils": "3.8.1",
74
+ "@nuxt/ui": "^2.11.0",
80
75
  "@nuxtjs/eslint-config-typescript": "^12.1.0",
81
- "@nuxtjs/i18n": "8.0.0-rc.5",
82
- "@types/ws": "^8.5.10",
76
+ "@nuxtjs/i18n": "8.0.0-rc.6",
77
+ "@nuxtjs/tailwindcss": "^6.10.1",
78
+ "@unocss/nuxt": "^0.58.0",
83
79
  "bumpp": "^9.2.0",
84
- "eslint": "8.54.0",
85
- "jest-image-snapshot": "^6.2.0",
80
+ "eslint": "8.55.0",
81
+ "jest-image-snapshot": "^6.3.0",
86
82
  "nuxt": "^3.8.2",
87
83
  "nuxt-icon": "0.6.6",
88
- "playwright": "^1.40.0",
84
+ "playwright": "^1.40.1",
89
85
  "sass": "^1.69.5",
90
86
  "vitest": "^0.34.6"
91
87
  },
92
88
  "build": {
93
89
  "externals": [
94
90
  "h3",
95
- "nitropack"
91
+ "nitropack",
92
+ "@vue/runtime-core",
93
+ "#nuxt-og-image/components"
96
94
  ]
97
95
  },
98
96
  "scripts": {
package/virtual.d.ts ADDED
@@ -0,0 +1,49 @@
1
+ declare module '#nuxt-og-image/components' {
2
+ import type { Component } from 'vue'
3
+
4
+ const components: Record<string, Component>
5
+ export default components
6
+ }
7
+ declare module '#nuxt-og-image/renderers/satori' {
8
+ import type Renderer from './src/runtime/types'
9
+
10
+ const renderer: Renderer | { __unenv__: true } | undefined
11
+ export default renderer
12
+ }
13
+ declare module '#nuxt-og-image/renderers/chromium' {
14
+ import type Renderer from './src/runtime/types'
15
+
16
+ const renderer: Renderer | { __unenv__: true } | undefined
17
+ export default renderer
18
+ }
19
+
20
+ declare module '#nuxt-og-image/bindings/satori' {
21
+ const satori: typeof import('satori').satori
22
+ export default satori
23
+ }
24
+
25
+ declare module '#nuxt-og-image/bindings/resvg' {
26
+ interface WasmResvg {
27
+ initWasmPromise: Promise<void>
28
+ Resvg: import('resvg').Resvg
29
+ }
30
+ const instance: WasmResvg
31
+ export default instance
32
+ }
33
+ declare module '#nuxt-og-image/bindings/chromium' {
34
+ export const createBrowser: () => Promise<Browser | void>
35
+ }
36
+
37
+ declare module '#nuxt-og-image/bindings/css-inline' {
38
+ import type _CssInline from 'css-inline'
39
+
40
+ const cssInline: _CssInline
41
+ export default cssInline
42
+ }
43
+
44
+ declare module '#nuxt-og-image/bindings/sharp' {
45
+ import type _sharp from 'sharp'
46
+
47
+ const sharp: _sharp
48
+ export default sharp
49
+ }
@@ -1 +0,0 @@
1
- span[data-v-2408e4e8]{background-color:currentColor;display:inline-block;-webkit-mask-image:var(--f4b1dbd8);mask-image:var(--f4b1dbd8);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle}
@@ -1 +0,0 @@
1
- {"id":"af7b6f15-8224-4a19-bb3a-f685b2b145c3","timestamp":1701182903781,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
@@ -1 +0,0 @@
1
- :root{--nui-c-context: 125,125,125}html{background-color:#fff}html.dark{background-color:#151515;color:#fff;color-scheme:dark}::-moz-selection{background:#8884}::selection{background:#8884}.shiki .line{display:inline-block;position:relative;width:100%}.shiki.diff .line>span{filter:saturate(.75);opacity:.75}.shiki.diff .line-added,.shiki.diff .line-removed{scroll-margin:5em}.shiki.diff .line-added>span,.shiki.diff .line-removed>span{opacity:1!important;position:inherit;scroll-margin:20px;z-index:100}.shiki.diff .line-added>span{color:#218c3b!important}.shiki.diff .line-removed>span{color:#d15547!important}.shiki .line-added:after{background-color:#43885420;bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.shiki .line-removed:after{background-color:#8f4c3926;bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2147483646}.dark::view-transition-old(root){z-index:2147483646}.dark::view-transition-new(root){z-index:1}*,:after,:before{border-color:var(--un-default-border-color, #e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }@font-face{font-display:swap;font-family:DM Mono;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/dmmono/v14/aFTU7PB1QTsUX8KYthSQBLyM.woff2) format("woff2");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:DM Mono;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/dmmono/v14/aFTU7PB1QTsUX8KYthqQBA.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxRR232VGM.woff2) format("woff2");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxRSW32.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.carbon-chevron-down{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:airline-passenger-care{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M18 23h-2v-2a3.003 3.003 0 0 0-3-3H9a3.003 3.003 0 0 0-3 3v2H4v-2a5.006 5.006 0 0 1 5-5h4a5.006 5.006 0 0 1 5 5zM11 6a3 3 0 1 1-3 3a3 3 0 0 1 3-3m0-2a5 5 0 1 0 5 5a5 5 0 0 0-5-5M2 26h28v2H2zM27.303 8a2.662 2.662 0 0 0-1.908.806L25 9.21l-.395-.405a2.662 2.662 0 0 0-3.816 0a2.8 2.8 0 0 0 0 3.896L25 17l4.21-4.298a2.8 2.8 0 0 0 0-3.896A2.662 2.662 0 0 0 27.304 8'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:app{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M28 10h-6v14h2v-4h4a2.003 2.003 0 0 0 2-2v-6a2.002 2.002 0 0 0-2-2m-4 8v-6h4v6zm-6-8h-6v14h2v-4h4a2.003 2.003 0 0 0 2-2v-6a2.002 2.002 0 0 0-2-2m-4 8v-6h4v6zm-6-8H3v2h5v2H4a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h6v-8a2.002 2.002 0 0 0-2-2m0 8H4v-2h4z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:book{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 10h7v2h-7zm0 5h7v2h-7zm0 5h7v2h-7zM6 10h7v2H6zm0 5h7v2H6zm0 5h7v2H6z'/%3E%3Cpath fill='currentColor' d='M28 5H4a2.002 2.002 0 0 0-2 2v18a2.002 2.002 0 0 0 2 2h24a2.002 2.002 0 0 0 2-2V7a2.002 2.002 0 0 0-2-2M4 7h11v18H4Zm13 18V7h11v18Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:brush-freehand{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath d='M28.828 3.172a4.094 4.094 0 0 0-5.656 0L4.05 22.292A6.954 6.954 0 0 0 2 27.242V30h2.756a6.952 6.952 0 0 0 4.95-2.05L28.828 8.829a3.999 3.999 0 0 0 0-5.657zM10.91 18.26l2.829 2.829l-2.122 2.121l-2.828-2.828zm-2.619 8.276A4.966 4.966 0 0 1 4.756 28H4v-.759a4.967 4.967 0 0 1 1.464-3.535l1.91-1.91l2.829 2.828zM27.415 7.414l-12.261 12.26l-2.829-2.828l12.262-12.26a2.047 2.047 0 0 1 2.828 0a2 2 0 0 1 0 2.828z' fill='currentColor'/%3E%3Cpath d='M6.5 15a3.5 3.5 0 0 1-2.475-5.974l3.5-3.5a1.502 1.502 0 0 0 0-2.121a1.537 1.537 0 0 0-2.121 0L3.415 5.394L2 3.98l1.99-1.988a3.585 3.585 0 0 1 4.95 0a3.504 3.504 0 0 1 0 4.949L5.439 10.44a1.502 1.502 0 0 0 0 2.121a1.537 1.537 0 0 0 2.122 0l4.024-4.024L13 9.95l-4.025 4.024A3.475 3.475 0 0 1 6.5 15z' fill='currentColor'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:checkmark-filled{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 2a14 14 0 1 0 14 14A14 14 0 0 0 16 2m-2 19.59l-5-5L10.59 15L14 18.41L21.41 11l1.596 1.586Z'/%3E%3Cpath fill='none' d='m14 21.591l-5-5L10.591 15L14 18.409L21.41 11l1.595 1.585z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:checkmark-filled-warning{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M14 2a12 12 0 1 0 3.393 23.506l3.924-7.85A2.985 2.985 0 0 1 24 16h1.82A11.935 11.935 0 0 0 14 2m-2 16.59l-4-4L9.59 13L12 15.41L17.41 10L19 11.59Z'/%3E%3Cpath fill='currentColor' d='M27.38 28h-6.762L24 21.236ZM24 18a1 1 0 0 0-.895.553l-5 10A1 1 0 0 0 19 30h10a1 1 0 0 0 .921-1.39l-5.026-10.057A1 1 0 0 0 24 18'/%3E%3Cpath fill='none' d='m12 18.591l-4-4L9.591 13L12 15.409L17.409 10L19 11.591z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:debug{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m29.83 20l.34-2l-5.17-.85v-4.38l5.06-1.36l-.51-1.93l-4.83 1.29A9 9 0 0 0 20 5V2h-2v2.23a8.81 8.81 0 0 0-4 0V2h-2v3a9 9 0 0 0-4.71 5.82L2.46 9.48L2 11.41l5 1.36v4.38L1.84 18l.32 2L7 19.18a8.9 8.9 0 0 0 .82 3.57l-4.53 4.54l1.42 1.42l4.19-4.2a9 9 0 0 0 14.2 0l4.19 4.2l1.42-1.42l-4.54-4.54a8.9 8.9 0 0 0 .83-3.57ZM15 25.92A7 7 0 0 1 9 19v-6h6ZM9.29 11a7 7 0 0 1 13.42 0ZM23 19a7 7 0 0 1-6 6.92V13h6Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:favorite{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M22.45 6a5.47 5.47 0 0 1 3.91 1.64a5.7 5.7 0 0 1 0 8L16 26.13L5.64 15.64a5.7 5.7 0 0 1 0-8a5.48 5.48 0 0 1 7.82 0l2.54 2.6l2.53-2.58A5.44 5.44 0 0 1 22.45 6m0-2a7.47 7.47 0 0 0-5.34 2.24L16 7.36l-1.11-1.12a7.49 7.49 0 0 0-10.68 0a7.72 7.72 0 0 0 0 10.82L16 29l11.79-11.94a7.72 7.72 0 0 0 0-10.82A7.49 7.49 0 0 0 22.45 4'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:gui-management{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 24v-2h-2.101a4.968 4.968 0 0 0-.732-1.753l1.49-1.49l-1.414-1.414l-1.49 1.49A4.968 4.968 0 0 0 24 18.101V16h-2v2.101a4.968 4.968 0 0 0-1.753.732l-1.49-1.49l-1.414 1.414l1.49 1.49A4.968 4.968 0 0 0 18.101 22H16v2h2.101a4.968 4.968 0 0 0 .732 1.753l-1.49 1.49l1.414 1.414l1.49-1.49a4.968 4.968 0 0 0 1.753.732V30h2v-2.101a4.968 4.968 0 0 0 1.753-.732l1.49 1.49l1.414-1.414l-1.49-1.49A4.968 4.968 0 0 0 27.899 24Zm-7 2a3 3 0 1 1 3-3a3.003 3.003 0 0 1-3 3'/%3E%3Cpath fill='currentColor' d='M28 4H4a2.002 2.002 0 0 0-2 2v20a2.002 2.002 0 0 0 2 2h10v-2H4V12h24v3h2V6a2.002 2.002 0 0 0-2-2m0 6H4V6h24Z'/%3E%3Ccircle cx='20' cy='8' r='1' fill='currentColor'/%3E%3Ccircle cx='23' cy='8' r='1' fill='currentColor'/%3E%3Ccircle cx='26' cy='8' r='1' fill='currentColor'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:html{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M28 19v-8h-2v10h6v-2zm-4-8h-2l-1.5 4l-1.5-4h-2v10h2v-7l1.5 4l1.5-4v7h2zM9 13h2v8h2v-8h2v-2H9zm-4-2v4H2v-4H0v10h2v-4h3v4h2V11z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:ibm-cloud-pak-manta-automated-data-lineage{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 11V5h-6v2H14V4a2.003 2.003 0 0 0-2-2H4a2.003 2.003 0 0 0-2 2v8a2.003 2.003 0 0 0 2 2h8a2.003 2.003 0 0 0 2-2V9a3.003 3.003 0 0 1 3 3v9h-6v-2H5v6h6v-2h6v2a2.003 2.003 0 0 0 2 2h5v2h6v-6h-6v2h-5v-7h5v2h6v-6h-6v2h-5v-4a4.952 4.952 0 0 0-1.025-3H24v2ZM4 12V4h8v8Zm5 11H7v-2h2Zm17 2h2v2h-2Zm0-9h2v2h-2Zm0-9h2v2h-2Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:image{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 14a3 3 0 1 0-3-3a3 3 0 0 0 3 3m0-4a1 1 0 1 1-1 1a1 1 0 0 1 1-1'/%3E%3Cpath fill='currentColor' d='M26 4H6a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2m0 22H6v-6l5-5l5.59 5.59a2 2 0 0 0 2.82 0L21 19l5 5Zm0-4.83l-3.59-3.59a2 2 0 0 0-2.82 0L18 19.17l-5.59-5.59a2 2 0 0 0-2.82 0L6 17.17V6h20Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:image-search{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M24 14a5.99 5.99 0 0 0-4.885 9.471L14 28.586L15.414 30l5.115-5.115A5.997 5.997 0 1 0 24 14m0 10a4 4 0 1 1 4-4a4.005 4.005 0 0 1-4 4m-7-12a3 3 0 1 0-3-3a3.003 3.003 0 0 0 3 3m0-4a1 1 0 1 1-1 1a1 1 0 0 1 1-1'/%3E%3Cpath fill='currentColor' d='M12 24H4v-6.003L9 13l5.586 5.586L16 17.168l-5.586-5.585a2 2 0 0 0-2.828 0L4 15.168V4h20v6h2V4a2.002 2.002 0 0 0-2-2H4a2.002 2.002 0 0 0-2 2v20a2.002 2.002 0 0 0 2 2h8Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:information{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M17 22v-8h-4v2h2v6h-3v2h8v-2zM16 8a1.5 1.5 0 1 0 1.5 1.5A1.5 1.5 0 0 0 16 8'/%3E%3Cpath fill='currentColor' d='M16 30a14 14 0 1 1 14-14a14 14 0 0 1-14 14m0-26a12 12 0 1 0 12 12A12 12 0 0 0 16 4'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:jpg{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 23h-6a2 2 0 0 1-2-2V11a2 2 0 0 1 2-2h6v2h-6v10h4v-4h-2v-2h4zm-16 0h-2V9h6a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-4zm0-7h4v-5h-4zm-6 7H4a2 2 0 0 1-2-2v-2h2v2h4V9h2v12a2 2 0 0 1-2 2'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:list-checked{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 22h14v2H16zm-2-2.6L12.6 18L6 24.6L3.4 22L2 23.4l4 4zM16 8h14v2H16zm-2-2.6L12.6 4L6 10.6L3.4 8L2 9.4l4 4z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:open-panel-right{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M28 4H4a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2M4 6h16v20H4Zm24 20h-6V6h6Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:operations-record{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M20 20h10v2H20zm0 4h10v2H20zm0 4h10v2H20zm-4-8a3.912 3.912 0 0 1-4-4a3.912 3.912 0 0 1 4-4a3.912 3.912 0 0 1 4 4h2a6 6 0 1 0-6 6z'/%3E%3Cpath fill='currentColor' d='m29.305 11.044l-2.36-4.088a1.998 1.998 0 0 0-2.374-.895l-2.434.824a11.042 11.042 0 0 0-1.312-.758l-.504-2.52A2 2 0 0 0 18.36 2h-4.72a2 2 0 0 0-1.961 1.608l-.504 2.519a10.967 10.967 0 0 0-1.327.753l-2.42-.819a1.998 1.998 0 0 0-2.372.895l-2.36 4.088a2 2 0 0 0 .411 2.502l1.931 1.697C5.021 15.495 5 15.745 5 16c0 .258.01.513.028.766l-1.92 1.688a2 2 0 0 0-.413 2.502l2.36 4.088a1.998 1.998 0 0 0 2.374.895l2.434-.824a10.974 10.974 0 0 0 1.312.759l.503 2.518A2 2 0 0 0 13.64 30H16v-2h-2.36l-.71-3.55a9.095 9.095 0 0 1-2.695-1.572l-3.447 1.166l-2.36-4.088l2.725-2.395a8.926 8.926 0 0 1-.007-3.128l-2.718-2.39l2.36-4.087l3.427 1.16A9.03 9.03 0 0 1 12.93 7.55L13.64 4h4.72l.71 3.55a9.098 9.098 0 0 1 2.695 1.572l3.447-1.166l2.36 4.088l-2.798 2.452L26.092 16l2.8-2.454a2 2 0 0 0 .413-2.502'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:png{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 23h-6a2 2 0 0 1-2-2V11a2 2 0 0 1 2-2h6v2h-6v10h4v-4h-2v-2h4zm-12-4L14.32 9H12v14h2V13l3.68 10H20V9h-2zM4 23H2V9h6a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H4zm0-7h4v-5H4z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:reset{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M18 28A12 12 0 1 0 6 16v6.2l-3.6-3.6L1 20l6 6l6-6l-1.4-1.4L8 22.2V16a10 10 0 1 1 10 10Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:settings{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M27 16.76v-1.53l1.92-1.68A2 2 0 0 0 29.3 11l-2.36-4a2 2 0 0 0-1.73-1a2 2 0 0 0-.64.1l-2.43.82a11.35 11.35 0 0 0-1.31-.75l-.51-2.52a2 2 0 0 0-2-1.61h-4.68a2 2 0 0 0-2 1.61l-.51 2.52a11.48 11.48 0 0 0-1.32.75l-2.38-.86A2 2 0 0 0 6.79 6a2 2 0 0 0-1.73 1L2.7 11a2 2 0 0 0 .41 2.51L5 15.24v1.53l-1.89 1.68A2 2 0 0 0 2.7 21l2.36 4a2 2 0 0 0 1.73 1a2 2 0 0 0 .64-.1l2.43-.82a11.35 11.35 0 0 0 1.31.75l.51 2.52a2 2 0 0 0 2 1.61h4.72a2 2 0 0 0 2-1.61l.51-2.52a11.48 11.48 0 0 0 1.32-.75l2.42.82a2 2 0 0 0 .64.1a2 2 0 0 0 1.73-1l2.28-4a2 2 0 0 0-.41-2.51ZM25.21 24l-3.43-1.16a8.86 8.86 0 0 1-2.71 1.57L18.36 28h-4.72l-.71-3.55a9.36 9.36 0 0 1-2.7-1.57L6.79 24l-2.36-4l2.72-2.4a8.9 8.9 0 0 1 0-3.13L4.43 12l2.36-4l3.43 1.16a8.86 8.86 0 0 1 2.71-1.57L13.64 4h4.72l.71 3.55a9.36 9.36 0 0 1 2.7 1.57L25.21 8l2.36 4l-2.72 2.4a8.9 8.9 0 0 1 0 3.13L27.57 20Z'/%3E%3Cpath fill='currentColor' d='M16 22a6 6 0 1 1 6-6a5.94 5.94 0 0 1-6 6m0-10a3.91 3.91 0 0 0-4 4a3.91 3.91 0 0 0 4 4a3.91 3.91 0 0 0 4-4a3.91 3.91 0 0 0-4-4'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:side-panel-open{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M28 4H4c-1.1 0-2 .9-2 2v20c0 1.1.9 2 2 2h24c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2M10 26H4V6h6zm18 0H12v-9h10.2l-3.6 3.6L20 22l6-6l-6-6l-1.4 1.4l3.6 3.6H12V6h16z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:svg{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 23h-6a2 2 0 0 1-2-2V11a2 2 0 0 1 2-2h6v2h-6v10h4v-4h-2v-2h4zM18 9l-2 13l-2-13h-2l2.52 14h2.96L20 9zM8 23H2v-2h6v-4H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h6v2H4v4h4a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:warning{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 2a14 14 0 1 0 14 14A14 14 0 0 0 16 2m0 26a12 12 0 1 1 12-12a12 12 0 0 1-12 12'/%3E%3Cpath fill='currentColor' d='M15 8h2v11h-2zm1 14a1.5 1.5 0 1 0 1.5 1.5A1.5 1.5 0 0 0 16 22'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-carbon-circle-dash{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.7 4.7a14.7 14.7 0 0 0-3 3.1L6.3 9a13.26 13.26 0 0 1 2.6-2.7zm-3.1 7.6l-1.9-.6A12.51 12.51 0 0 0 2 16h2a11.48 11.48 0 0 1 .6-3.7m-1.9 8.1a14.4 14.4 0 0 0 2 3.9l1.6-1.2a12.89 12.89 0 0 1-1.7-3.3zm5.1 6.9a14.4 14.4 0 0 0 3.9 2l.6-1.9A12.89 12.89 0 0 1 9 25.7zm3.9-24.6l.6 1.9A11.48 11.48 0 0 1 16 4V2a12.51 12.51 0 0 0-4.3.7zm12.5 24.6a15.18 15.18 0 0 0 3.1-3.1L25.7 23a11.53 11.53 0 0 1-2.7 2.7zm3.2-7.6l1.9.6A15.47 15.47 0 0 0 30 16h-2a11.48 11.48 0 0 1-.6 3.7m1.8-8.1a14.4 14.4 0 0 0-2-3.9l-1.6 1.2a12.89 12.89 0 0 1 1.7 3.3zm-5.1-7a14.4 14.4 0 0 0-3.9-2l-.6 1.9a12.89 12.89 0 0 1 3.3 1.7zm-3.8 24.7l-.6-1.9a11.48 11.48 0 0 1-3.7.6v2a21.42 21.42 0 0 0 4.3-.7z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-carbon\:arrow-up-right,[i-carbon\:arrow-up-right=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.logos\:chrome{background:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='%23FFF' d='M128.003 199.216c39.335 0 71.221-31.888 71.221-71.223c0-39.335-31.886-71.223-71.221-71.223c-39.335 0-71.222 31.888-71.222 71.223c0 39.335 31.887 71.223 71.222 71.223'/%3E%3Cpath fill='%23229342' d='M35.89 92.997c-5.313-9.203-11.558-18.862-18.736-28.977a127.98 127.98 0 0 0 110.857 191.981c11.78-16.523 19.78-28.437 23.996-35.74c8.099-14.028 18.573-34.112 31.423-60.251v-.015a63.993 63.993 0 0 1-110.857.017c-17.453-32.548-29.68-54.887-36.683-67.015'/%3E%3Cpath fill='%23FBC116' d='M128.008 255.996A127.972 127.972 0 0 0 256 127.997A127.983 127.983 0 0 0 238.837 64c-24.248-2.39-42.143-3.585-53.686-3.585c-13.088 0-32.139 1.195-57.152 3.585l-.014.01a63.993 63.993 0 0 1 55.444 31.987a63.993 63.993 0 0 1-.001 64.01l-55.42 95.989'/%3E%3Cpath fill='%231A73E8' d='M128.003 178.677c27.984 0 50.669-22.685 50.669-50.67c0-27.986-22.685-50.67-50.67-50.67c-27.983 0-50.669 22.686-50.669 50.67s22.686 50.67 50.67 50.67'/%3E%3Cpath fill='%23E33B2E' d='M128.003 64.004H238.84a127.973 127.973 0 0 0-221.685.015l55.419 95.99l.015.008a63.993 63.993 0 0 1 55.415-96.014l-.002.001'/%3E%3C/svg%3E") no-repeat;background-color:transparent;background-size:100% 100%;display:inline-block;height:1.2em;vertical-align:middle;width:1.2em}.logos\:facebook{background:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='%231877F2' d='M256 128C256 57.308 198.692 0 128 0C57.308 0 0 57.308 0 128c0 63.888 46.808 116.843 108 126.445V165H75.5v-37H108V99.8c0-32.08 19.11-49.8 48.348-49.8C170.352 50 185 52.5 185 52.5V84h-16.14C152.959 84 148 93.867 148 103.99V128h35.5l-5.675 37H148v89.445c61.192-9.602 108-62.556 108-126.445'/%3E%3Cpath fill='%23FFF' d='m177.825 165l5.675-37H148v-24.01C148 93.866 152.959 84 168.86 84H185V52.5S170.352 50 156.347 50C127.11 50 108 67.72 108 99.8V128H75.5v37H108v89.445A128.959 128.959 0 0 0 128 256a128.9 128.9 0 0 0 20-1.555V165z'/%3E%3C/svg%3E") no-repeat;background-color:transparent;background-size:100% 100%;display:inline-block;height:1.2em;vertical-align:middle;width:1.2em}.logos\:github-icon{background:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 250' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='%23161614' d='M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46c6.397 1.185 8.746-2.777 8.746-6.158c0-3.052-.12-13.135-.174-23.83c-35.61 7.742-43.124-15.103-43.124-15.103c-5.823-14.795-14.213-18.73-14.213-18.73c-11.613-7.944.876-7.78.876-7.78c12.853.902 19.621 13.19 19.621 13.19c11.417 19.568 29.945 13.911 37.249 10.64c1.149-8.272 4.466-13.92 8.127-17.116c-28.431-3.236-58.318-14.212-58.318-63.258c0-13.975 5-25.394 13.188-34.358c-1.329-3.224-5.71-16.242 1.24-33.874c0 0 10.749-3.44 35.21 13.121c10.21-2.836 21.16-4.258 32.038-4.307c10.878.049 21.837 1.47 32.066 4.307c24.431-16.56 35.165-13.12 35.165-13.12c6.967 17.63 2.584 30.65 1.255 33.873c8.207 8.964 13.173 20.383 13.173 34.358c0 49.163-29.944 59.988-58.447 63.157c4.591 3.972 8.682 11.762 8.682 23.704c0 17.126-.148 30.91-.148 35.126c0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002C256 57.307 198.691 0 128.001 0m-80.06 182.34c-.282.636-1.283.827-2.194.39c-.929-.417-1.45-1.284-1.15-1.922c.276-.655 1.279-.838 2.205-.399c.93.418 1.46 1.293 1.139 1.931m6.296 5.618c-.61.566-1.804.303-2.614-.591c-.837-.892-.994-2.086-.375-2.66c.63-.566 1.787-.301 2.626.591c.838.903 1 2.088.363 2.66m4.32 7.188c-.785.545-2.067.034-2.86-1.104c-.784-1.138-.784-2.503.017-3.05c.795-.547 2.058-.055 2.861 1.075c.782 1.157.782 2.522-.019 3.08m7.304 8.325c-.701.774-2.196.566-3.29-.49c-1.119-1.032-1.43-2.496-.726-3.27c.71-.776 2.213-.558 3.315.49c1.11 1.03 1.45 2.505.701 3.27m9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033c-1.448-.439-2.395-1.613-2.103-2.626c.301-1.01 1.747-1.484 3.207-1.028c1.446.436 2.396 1.602 2.095 2.622m10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95c-1.53.034-2.769-.82-2.786-1.86c0-1.065 1.202-1.932 2.733-1.958c1.522-.03 2.768.818 2.768 1.868m10.555-.405c.182 1.03-.875 2.088-2.387 2.37c-1.485.271-2.861-.365-3.05-1.386c-.184-1.056.893-2.114 2.376-2.387c1.514-.263 2.868.356 3.061 1.403'/%3E%3C/svg%3E") no-repeat;background-color:transparent;background-size:100% 100%;display:inline-block;height:1.2em;vertical-align:middle;width:1.2em}.logos\:slack-icon{background:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='%23E01E5A' d='M53.841 161.32c0 14.832-11.987 26.82-26.819 26.82c-14.832 0-26.819-11.988-26.819-26.82c0-14.831 11.987-26.818 26.82-26.818H53.84v26.819m13.41 0c0-14.831 11.987-26.818 26.819-26.818c14.832 0 26.819 11.987 26.819 26.819v67.047c0 14.832-11.987 26.82-26.82 26.82c-14.83 0-26.818-11.988-26.818-26.82v-67.047'/%3E%3Cpath fill='%2336C5F0' d='M94.07 53.638c-14.832 0-26.82-11.987-26.82-26.819C67.25 11.987 79.239 0 94.07 0s26.819 11.987 26.819 26.819v26.82h-26.82m0 13.613c14.832 0 26.819 11.987 26.819 26.819c0 14.832-11.987 26.819-26.82 26.819H26.82C11.987 120.889 0 108.902 0 94.069c0-14.83 11.987-26.818 26.819-26.818h67.25'/%3E%3Cpath fill='%232EB67D' d='M201.55 94.07c0-14.832 11.987-26.82 26.818-26.82c14.832 0 26.82 11.988 26.82 26.82s-11.988 26.819-26.82 26.819H201.55v-26.82m-13.41 0c0 14.832-11.988 26.819-26.82 26.819c-14.831 0-26.818-11.987-26.818-26.82V26.82C134.502 11.987 146.489 0 161.32 0c14.831 0 26.819 11.987 26.819 26.819v67.25'/%3E%3Cpath fill='%23ECB22E' d='M161.32 201.55c14.832 0 26.82 11.987 26.82 26.818c0 14.832-11.988 26.82-26.82 26.82c-14.831 0-26.818-11.988-26.818-26.82V201.55h26.819m0-13.41c-14.831 0-26.818-11.988-26.818-26.82c0-14.831 11.987-26.818 26.819-26.818h67.25c14.832 0 26.82 11.987 26.82 26.819c0 14.831-11.988 26.819-26.82 26.819h-67.25'/%3E%3C/svg%3E") no-repeat;background-color:transparent;background-size:100% 100%;display:inline-block;height:1.2em;vertical-align:middle;width:1.2em}.logos\:twitter{background:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 209' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='%2355acee' d='M256 25.45a105.04 105.04 0 0 1-30.166 8.27c10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52c0 4.117.465 8.125 1.36 11.97c-43.65-2.191-82.35-23.1-108.255-54.876c-4.52 7.757-7.11 16.78-7.11 26.404c0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661c0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475c-17.975 14.086-40.622 22.483-65.228 22.483c-4.24 0-8.42-.249-12.529-.734c23.243 14.902 50.85 23.597 80.51 23.597c96.607 0 149.434-80.031 149.434-149.435c0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45'/%3E%3C/svg%3E") no-repeat;background-color:transparent;background-size:100% 100%;display:inline-block;height:1.2em;vertical-align:middle;width:1.2em}.logos\:vercel-icon{background:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 222' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath d='m128 0l128 221.705H0z'/%3E%3C/svg%3E") no-repeat;background-color:transparent;background-size:100% 100%;display:inline-block;height:1.2em;vertical-align:middle;width:1.2em}.logos\:whatsapp-icon{background:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 258' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cdefs%3E%3ClinearGradient id='logosWhatsappIcon0' x1='50%25' x2='50%25' y1='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%231FAF38'/%3E%3Cstop offset='100%25' stop-color='%2360D669'/%3E%3C/linearGradient%3E%3ClinearGradient id='logosWhatsappIcon1' x1='50%25' x2='50%25' y1='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%23F9F9F9'/%3E%3Cstop offset='100%25' stop-color='%23FFF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23logosWhatsappIcon0)' d='M5.463 127.456c-.006 21.677 5.658 42.843 16.428 61.499L4.433 252.697l65.232-17.104a122.994 122.994 0 0 0 58.8 14.97h.054c67.815 0 123.018-55.183 123.047-123.01c.013-32.867-12.775-63.773-36.009-87.025c-23.23-23.25-54.125-36.061-87.043-36.076c-67.823 0-123.022 55.18-123.05 123.004'/%3E%3Cpath fill='url(%23logosWhatsappIcon1)' d='M1.07 127.416c-.007 22.457 5.86 44.38 17.014 63.704L0 257.147l67.571-17.717c18.618 10.151 39.58 15.503 60.91 15.511h.055c70.248 0 127.434-57.168 127.464-127.423c.012-34.048-13.236-66.065-37.3-90.15C194.633 13.286 162.633.014 128.536 0C58.276 0 1.099 57.16 1.071 127.416m40.24 60.376l-2.523-4.005c-10.606-16.864-16.204-36.352-16.196-56.363C22.614 69.029 70.138 21.52 128.576 21.52c28.3.012 54.896 11.044 74.9 31.06c20.003 20.018 31.01 46.628 31.003 74.93c-.026 58.395-47.551 105.91-105.943 105.91h-.042c-19.013-.01-37.66-5.116-53.922-14.765l-3.87-2.295l-40.098 10.513l10.706-39.082'/%3E%3Cpath fill='%23FFF' d='M96.678 74.148c-2.386-5.303-4.897-5.41-7.166-5.503c-1.858-.08-3.982-.074-6.104-.074c-2.124 0-5.575.799-8.492 3.984c-2.92 3.188-11.148 10.892-11.148 26.561c0 15.67 11.413 30.813 13.004 32.94c1.593 2.123 22.033 35.307 54.405 48.073c26.904 10.609 32.379 8.499 38.218 7.967c5.84-.53 18.844-7.702 21.497-15.139c2.655-7.436 2.655-13.81 1.859-15.142c-.796-1.327-2.92-2.124-6.105-3.716c-3.186-1.593-18.844-9.298-21.763-10.361c-2.92-1.062-5.043-1.592-7.167 1.597c-2.124 3.184-8.223 10.356-10.082 12.48c-1.857 2.129-3.716 2.394-6.9.801c-3.187-1.598-13.444-4.957-25.613-15.806c-9.468-8.442-15.86-18.867-17.718-22.056c-1.858-3.184-.199-4.91 1.398-6.497c1.431-1.427 3.186-3.719 4.78-5.578c1.588-1.86 2.118-3.187 3.18-5.311c1.063-2.126.531-3.986-.264-5.579c-.798-1.593-6.987-17.343-9.819-23.64'/%3E%3C/svg%3E") no-repeat;background-color:transparent;background-size:100% 100%;display:inline-block;height:1.2em;vertical-align:middle;width:1.2em}.n-badge{background-color:rgba(var(--nui-c-context),.1);border-radius:.25rem;color:rgba(var(--nui-c-context),1);font-size:.75rem;line-height:1rem;margin-left:.125rem;margin-right:.125rem;padding:.125rem .375rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.n-button-icon{font-size:1.1em;margin-left:-.2em;margin-right:.2em}.n-icon-button{align-items:center;aspect-ratio:1/1;border-radius:.25rem;display:flex;height:1.6em;justify-content:center;opacity:.5;width:1.6em}.n-loading{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.n-panel-grids-center{align-items:center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' transform='scale(3)'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cpath fill='none' stroke='hsla(0, 0%25, 98%25, 1)' stroke-width='.2' d='M10 0v20ZM0 10h20Z'/%3E%3C/svg%3E");background-size:40px 40px;display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:center}.n-tip-base{align-items:center;background-color:rgba(var(--nui-c-context),.04);border-radius:.25rem;color:rgba(var(--nui-c-context),1);display:flex;gap:.5rem;padding:.4em 1em}.n-button-base{--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgba(0,0,0,.05));align-items:center;border-color:#9ca3af33;border-radius:.25rem;border-width:1px;box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);display:inline-flex;gap:.25rem;opacity:.8;outline:2px solid transparent!important;outline-offset:2px!important;padding:.25em 1em;touch-action:manipulation}.n-icon{flex:none}.n-border-base{border-color:#9ca3af33}.hover\:n-button-hover:hover{border-color:rgba(var(--nui-c-context),1)!important;color:rgba(var(--nui-c-context),1);opacity:1}.n-bg-active{background-color:#9ca3af0d}.dark .n-bg-base{--un-bg-opacity:1;background-color:rgb(21 21 21 / var(--un-bg-opacity))}.n-bg-base{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.dark .n-tip-base{background-color:rgba(var(--nui-c-context),.12)}.hover\:n-bg-active:hover{background-color:#9ca3af0d}.n-icon-button:hover{background-color:#9ca3af0d;opacity:1}.active\:n-button-active:active{--un-ring-width:3px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);--un-ring-color:rgba(var(--nui-c-context),.1);background-color:rgba(var(--nui-c-context),.05);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.hover\:n-link-hover:hover{color:rgba(var(--nui-c-context),1);opacity:1!important;text-decoration-color:rgba(var(--nui-c-context),1)!important;text-decoration-style:dotted}.n-link-base{text-decoration-color:#0003;text-decoration-line:underline;text-underline-offset:2px}.dark .n-link-base{text-decoration-color:#fff6}.focus-visible\:n-focus-base:focus-visible{--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);--un-ring-color:rgba(var(--nui-c-context),.5);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.n-transition{transition-duration:.15s;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dark .n-panel-grids-center{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' transform='scale(3)'%3E%3Crect width='100%25' height='100%25' fill='hsl(0, 0%25, 8.5%25)'/%3E%3Cpath fill='none' stroke='hsl(0, 0%25, 11.0%25)' stroke-width='.2' d='M10 0v20ZM0 10h20Z'/%3E%3C/svg%3E");background-size:40px 40px}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-bottom-1\/2{bottom:-50%}.bottom-3{bottom:.75rem}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.z-10{z-index:10}.z-2{z-index:2}.z-20{z-index:20}.grid{display:grid}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-3{margin-bottom:.75rem;margin-top:.75rem}.mb-1{margin-bottom:.25rem}.mb-16{margin-bottom:4rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb2,[mb2=""]{margin-bottom:.5rem}.ml--1px{margin-left:-1px}.ml-1{margin-left:.25rem}.mr-\[2px\]{margin-right:2px}.mr-1{margin-right:.25rem}.ms{margin-inline-start:1rem}.mt-1,.mt1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.h-\[120px\]{height:120px}.h-1\/2{height:50%}.h-1px{height:1px}.h-85vh{height:85vh}.h-auto{height:auto}.h-full,[h-full=""]{height:100%}.h1{height:.25rem}.h2{height:.5rem}.h3{height:.75rem}.max-h-full{max-height:100%}.max-w-135{max-width:33.75rem}.max-w-520px{max-width:520px}.min-h-screen{min-height:100vh}.w-\[100px\]{width:100px}.w-\[228px\]{width:228px}.w-full{width:100%}.flex,[flex=""],[flex~="~"]{display:flex}.flex-inline{display:inline-flex}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-shrink{flex-shrink:1}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.translate-y--1,[translate-y--1=""]{--un-translate-y:-.25rem;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer,[cursor-pointer=""]{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.place-content-center{place-content:center}.place-self-start,[place-self-start=""]{place-self:start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center,[items-center=""]{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-gap2,.gap-2,[gap-2=""]{gap:.5rem}.gap-1\.5{gap:.375rem}.gap-3,[flex~=gap-3]{gap:.75rem}.space-x-1>:not([hidden])~:not([hidden]){--un-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--un-space-x-reverse)));margin-right:calc(.25rem*var(--un-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--un-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--un-space-x-reverse)));margin-right:calc(.5rem*var(--un-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--un-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--un-space-x-reverse)));margin-right:calc(.75rem*var(--un-space-x-reverse))}.space-x-5>:not([hidden])~:not([hidden]){--un-space-x-reverse:0;margin-left:calc(1.25rem*(1 - var(--un-space-x-reverse)));margin-right:calc(1.25rem*var(--un-space-x-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--un-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--un-space-y-reverse)))}.of-auto,[of-auto=""]{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.border,.border-1,[border=""]{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-\[\#cfd9de\]{--un-border-opacity:1;border-color:rgb(207 217 222 / var(--un-border-opacity))}.border-white{--un-border-opacity:1;border-color:rgb(255 255 255 / var(--un-border-opacity))}.dark .dark\:border-hex-121212{--un-border-opacity:1;border-color:rgb(18 18 18 / var(--un-border-opacity))}.rounded{border-radius:.25rem}.rounded-\[16px\]{border-radius:16px}.rounded-lg{border-radius:.5rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.border-none{border-style:none}.border-solid{border-style:solid}.bg-black\/20{background-color:#0003}.bg-black\/5{background-color:#0000000d}.bg-blue-100{--un-bg-opacity:1;background-color:rgb(219 234 254 / var(--un-bg-opacity))}.bg-light-200{--un-bg-opacity:1;background-color:rgb(250 250 250 / var(--un-bg-opacity))}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.dark .dark\:bg-black{--un-bg-opacity:1;background-color:rgb(0 0 0 / var(--un-bg-opacity))}.dark .dark\:bg-dark-700{--un-bg-opacity:1;background-color:rgb(27 27 27 / var(--un-bg-opacity))}.dark .dark\:bg-white\/10{background-color:#ffffff1a}.\!p-0{padding:0!important}.p-2,.p2{padding:.5rem}.p-8{padding:2rem}.p4{padding:1rem}.px,.px-4,.px4{padding-left:1rem;padding-right:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2px{padding-bottom:2px;padding-top:2px}.pb6{padding-bottom:1.5rem}.pr-4{padding-right:1rem}.pt-14{padding-top:3.5rem}.pt-4{padding-top:1rem}.pt2{padding-top:.5rem}.text-center{text-align:center}.text-10px{font-size:10px}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-base,[text-base=""]{font-size:1rem;line-height:1.5rem}.text-lg,[text-lg=""]{font-size:1.125rem;line-height:1.75rem}.text-sm,[text-sm=""]{font-size:.875rem;line-height:1.25rem}.text-xl,[text-xl=""]{font-size:1.25rem;line-height:1.75rem}.text-xs,[text-xs=""]{font-size:.75rem;line-height:1rem}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-tight{line-height:1.25}.font-sans{font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.dark .dark\:text-white,.text-white{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.text-black{--un-text-opacity:1;color:rgb(0 0 0 / var(--un-text-opacity))}.text-blue-300{--un-text-opacity:1;color:rgb(147 197 253 / var(--un-text-opacity))}.text-blue-500{--un-text-opacity:1;color:rgb(59 130 246 / var(--un-text-opacity))}.text-blue-700{--un-text-opacity:1;color:rgb(29 78 216 / var(--un-text-opacity))}.group:hover .group-hover\:text-green-500,.text-green-500{--un-text-opacity:1;color:rgb(34 197 94 / var(--un-text-opacity))}.text-primary,.hover\:text-primary:hover{--un-text-opacity:1;color:rgb(9 158 97 / var(--un-text-opacity))}.underline,[underline=""],.hover\:underline:hover{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.op-0\.1{opacity:.001}.op100{opacity:1}.op35{opacity:.35}.op50,.opacity-50,[op50=""]{opacity:.5}.op60{opacity:.6}.op75,[op75=""]{opacity:.75}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.ring-2{--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.ring-green-500{--un-ring-opacity:1;--un-ring-color:rgb(34 197 94 / var(--un-ring-opacity))}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.transition,[transition=""]{transition-duration:.15s;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500,[duration-500=""]{transition-duration:.5s}.ease,.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.n-disabled,.n-disabled\:n-disabled[disabled],[disabled] .n-disabled\:n-disabled{filter:saturate(0);opacity:.6;pointer-events:none}@media (min-width:640px){.sm\:block{display:block}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-3{padding-bottom:.75rem;padding-top:.75rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-8xl{font-size:6rem;line-height:1}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.dark .dark\:sm\:text-green-400{--un-text-opacity:1;color:rgb(74 222 128 / var(--un-text-opacity))}.sm\:text-green-500{--un-text-opacity:1;color:rgb(34 197 94 / var(--un-text-opacity))}}@media (min-width:1024px){.lg\:flex{display:flex}}div[data-v-2927f5bd]{aspect-ratio:2 / 1;background-color:#fff;background-size:contain;cursor:pointer;height:auto!important;margin:0 auto;max-height:100%;max-width:100%;transition:.4s ease-in-out;width:auto!important}iframe[data-v-c1f1bfd7]{height:auto;margin:0 auto;max-width:100%;transition:.4s ease-in-out;width:auto}.image-wrap[data-v-e8f124aa]{aspect-ratio:2 / 1;background-color:#0000001a;height:315px;opacity:1}.domain[data-v-e8f124aa]{word-wrap:break-word;font-size:13px;font-weight:400;height:20px;line-height:16px;min-width:0;padding:0 4px;text-align:center;text-overflow:unset;-webkit-user-select:none;-moz-user-select:none;user-select:none}.root[data-v-e8f124aa]{cursor:pointer;outline-style:none;transition-duration:.2s}.favIcon[data-v-5c1cba39] img{border-radius:2px;box-sizing:content-box;height:16px;margin-right:6px;overflow:hidden;vertical-align:middle;width:16px}.root[data-v-5c1cba39]{word-wrap:break-word;-webkit-font-smoothing:antialiased;display:flex;font-family:Noto Sans,NotoSansJP,Slack-Lato,Lato,appleLogo,sans-serif;font-size:15px;line-height:1.46666667;text-rendering:optimizeLegibility}.siteName[data-v-5c1cba39]{word-wrap:break-word;flex:1 1;font-weight:700;overflow:hidden}.description[data-v-5c1cba39]{color:#2c2d30}.title[data-v-5c1cba39]{font-feature-settings:"liga","clig";color:#0576b9;font-variant-ligatures:common-ligatures;font-weight:700}.content[data-v-5c1cba39]{max-width:520px;padding:0 12px}.bar[data-v-5c1cba39]{background-color:#e8e8e8;border-radius:8px;flex-shrink:0;width:4px}.icon[data-v-7472fb15]{display:inline-block;vertical-align:middle}details[data-v-348c1d92]{border-style:none}summary[data-v-348c1d92]{border-style:none;list-style:none}details[open] summary[data-v-348c1d92]{border-style:none}details summary[data-v-348c1d92]::-webkit-details-marker{display:none}details[open] .chevron[data-v-348c1d92]{opacity:.75;transform:rotate(180deg)}.resize-observer[data-v-b329ee4c]{background-color:transparent;border:none;display:block;height:100%;left:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:-1}.resize-observer[data-v-b329ee4c] object{display:block;height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:-1}.v-popper__popper{left:0;outline:none;top:0;z-index:10000}.v-popper__popper.v-popper__popper--hidden{opacity:0;pointer-events:none;transition:opacity .15s,visibility .15s;visibility:hidden}.v-popper__popper.v-popper__popper--shown{opacity:1;transition:opacity .15s;visibility:visible}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{display:none;height:100%;left:0;position:absolute;top:0;width:100%}.v-popper__inner{box-sizing:border-box;overflow-y:auto;position:relative}.v-popper__inner>div{max-height:inherit;max-width:inherit;position:relative;z-index:1}.v-popper__arrow-container{height:10px;position:absolute;width:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;height:0;left:0;position:absolute;top:0;width:0}.v-popper__arrow-inner{border-width:7px;visibility:hidden}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;border-top-width:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-left-color:transparent!important;border-left-width:0;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-right-color:transparent!important;border-right-width:0;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-dropdown .v-popper__inner{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 6px 30px #0000001a;color:#000}.v-popper--theme-dropdown .v-popper__arrow-inner{border-color:#fff;visibility:visible}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);border-radius:6px;color:#fff;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.jse-theme-dark{--jse-theme: dark;--jse-theme-color: #2f6dd0;--jse-theme-color-highlight: #467cd2;--jse-background-color: #1e1e1e;--jse-text-color: #d4d4d4;--jse-main-border: 1px solid #4f4f4f;--jse-menu-color: #fff;--jse-modal-background: #2f2f2f;--jse-modal-overlay-background: rgba(0,0,0,.5);--jse-modal-code-background: #2f2f2f;--jse-tooltip-color: var(--jse-text-color);--jse-tooltip-background: #4b4b4b;--jse-tooltip-border: 1px solid #737373;--jse-tooltip-action-button-color: inherit;--jse-tooltip-action-button-background: #737373;--jse-panel-background: #333;--jse-panel-background-border: 1px solid #464646;--jse-panel-color: var(--jse-text-color);--jse-panel-color-readonly: #737373;--jse-panel-border: 1px solid #3c3c3c;--jse-panel-button-color-highlight: #e5e5e5;--jse-panel-button-background-highlight: #464646;--jse-navigation-bar-background: #656565;--jse-navigation-bar-background-highlight: #7e7e7e;--jse-navigation-bar-dropdown-color: var(--jse-text-color);--jse-context-menu-background: #4b4b4b;--jse-context-menu-background-highlight: #595959;--jse-context-menu-separator-color: #595959;--jse-context-menu-color: var(--jse-text-color);--jse-context-menu-pointer-background: #737373;--jse-context-menu-pointer-background-highlight: #818181;--jse-context-menu-pointer-color: var(--jse-context-menu-color);--jse-key-color: #9cdcfe;--jse-value-color: var(--jse-text-color);--jse-value-color-number: #b5cea8;--jse-value-color-boolean: #569cd6;--jse-value-color-null: #569cd6;--jse-value-color-string: #ce9178;--jse-value-color-url: #ce9178;--jse-delimiter-color: #949494;--jse-edit-outline: 2px solid var(--jse-text-color);--jse-selection-background-color: #464646;--jse-selection-background-inactive-color: #333;--jse-hover-background-color: #343434;--jse-active-line-background-color: hsla(0,0%,100%,.06);--jse-search-match-background-color: #343434;--jse-collapsed-items-background-color: #333;--jse-collapsed-items-selected-background-color: #565656;--jse-collapsed-items-link-color: #b2b2b2;--jse-collapsed-items-link-color-highlight: #ec8477;--jse-search-match-color: #724c27;--jse-search-match-outline: 1px solid #966535;--jse-search-match-active-color: #9f6c39;--jse-search-match-active-outline: 1px solid #bb7f43;--jse-tag-background: #444;--jse-tag-color: #bdbdbd;--jse-table-header-background: #333;--jse-table-header-background-highlight: #424242;--jse-table-row-odd-background: hsla(0,0%,100%,.1);--jse-input-background: #3d3d3d;--jse-input-border: var(--jse-main-border);--jse-button-background: grey;--jse-button-background-highlight: #7a7a7a;--jse-button-color: #e0e0e0;--jse-button-secondary-background: #494949;--jse-button-secondary-background-highlight: #5d5d5d;--jse-button-secondary-background-disabled: #9d9d9d;--jse-button-secondary-color: var(--jse-text-color);--jse-a-color: #55abff;--jse-a-color-highlight: #4387c9;--background: #3d3d3d;--border: 1px solid #4f4f4f;--list-background: #3d3d3d;--item-hover-bg: #505050;--multi-item-bg: #5b5b5b;--input-color: #d4d4d4;--multi-clear-bg: #8a8a8a;--multi-item-clear-icon-color: #d4d4d4;--multi-item-outline: 1px solid #696969;--list-shadow: 0 2px 8px 0 rgba(0,0,0,.4);--jse-color-picker-background: #656565;--jse-color-picker-border-box-shadow: #8c8c8c 0 0 0 1px}.splitpanes{display:flex;height:100%;width:100%}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;-moz-user-select:none;user-select:none}.splitpanes__pane{height:100%;overflow:hidden;width:100%}.splitpanes--vertical .splitpanes__pane{transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;box-sizing:border-box;flex-shrink:0;position:relative}.splitpanes.default-theme .splitpanes__splitter:after,.splitpanes.default-theme .splitpanes__splitter:before{background-color:#00000026;content:"";left:50%;position:absolute;top:50%;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:after,.splitpanes.default-theme .splitpanes__splitter:hover:before{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme .splitpanes--vertical>.splitpanes__splitter,.default-theme.splitpanes--vertical>.splitpanes__splitter{border-left:1px solid #eee;margin-left:-1px;width:7px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{height:30px;transform:translateY(-50%);width:1px}.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter,.default-theme.splitpanes--horizontal>.splitpanes__splitter{border-top:1px solid #eee;height:7px;margin-top:-1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{height:1px;transform:translate(-50%);width:30px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.tab-panels{width:100%}div[role=tabpanel]{display:flex;width:100%}.splitpanes.default-theme .splitpanes__pane{background-color:transparent!important}.dark .splitpanes.default-theme .splitpanes__splitter{background-color:transparent!important;background-image:linear-gradient(transparent,rgba(0,0,0,.05) 50%,transparent);border-left:1px solid rgba(156,163,175,.05)}.dark .splitpanes.default-theme .splitpanes__splitter:before,.splitpanes.default-theme .splitpanes__splitter:after{background-color:#9ca3af4d!important}.v-popper--theme-dropdown .v-popper__inner,.v-popper--theme-tooltip .v-popper__inner{border-width:1px;border-radius:.25rem;--un-text-opacity:1;color:rgb(0 0 0 / var(--un-text-opacity));--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);background-color:#fff;box-shadow:0 6px 30px #0000001a}.dark .v-popper--theme-dropdown .v-popper__inner,.dark .v-popper--theme-tooltip .v-popper__inner{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.v-popper--theme-dropdown .v-popper__arrow-inner,.v-popper--theme-tooltip .v-popper__arrow-inner{--un-border-opacity:1;border-color:rgb(255 255 255 / var(--un-border-opacity));visibility:visible}.dark .v-popper--theme-dropdown .v-popper__arrow-inner,.dark .v-popper--theme-tooltip .v-popper__arrow-inner{--un-border-opacity:1;border-color:rgb(18 18 18 / var(--un-border-opacity))}.v-popper--theme-dropdown .v-popper__arrow-outer,.v-popper--theme-tooltip .v-popper__arrow-outer{--at-apply: border-base}.v-popper--theme-tooltip.v-popper--shown,.v-popper--theme-tooltip.v-popper--shown *{transition:none!important}header{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#fffc}html{font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";-ms-overflow-style:none;overflow-y:scroll;overscroll-behavior:none;scrollbar-width:none}body::-webkit-scrollbar{display:none}body{height:calc(100vh + 1px)}html.dark{background:#111;color-scheme:dark}.n-markdown a{--un-text-opacity:1;color:rgb(9 158 97 / var(--un-text-opacity))}.n-markdown a:hover{text-decoration-line:underline}.prose a:hover{--un-text-opacity:1;color:rgb(9 158 97 / var(--un-text-opacity))}.prose code:before{content:""}.prose code:after{content:""}.prose hr{margin-top:.5rem;margin-bottom:.5rem;display:block;height:1px;width:100%;border-width:1px;border-bottom-width:1px;border-style:solid;opacity:.5}.dark .shiki{background:var(--shiki-dark-bg, inherit)!important}.dark .shiki span{color:var(--shiki-dark, inherit)!important}textarea{background:#8881}:root{--jse-theme-color: #fff !important;--jse-text-color-inverse: #777 !important;--jse-theme-color-highlight: #eee !important;--jse-panel-background: #fff !important;--jse-background-color: var(--jse-panel-background) !important;--jse-error-color: #ee534150 !important;--jse-main-border: none !important}.dark,.jse-theme-dark{--jse-panel-background: #111 !important;--jse-theme-color: #111 !important;--jse-text-color-inverse: #fff !important;--jse-main-border: none !important}.json-editor-vue .no-main-menu{border:none!important}.json-editor-vue .jse-main{min-height:1em!important}.json-editor-vue .jse-contents{border-radius:5px!important;border-width:0!important}::-webkit-scrollbar{width:6px}::-webkit-scrollbar:horizontal{height:6px}::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-track{background:var(--c-border);border-radius:1px}::-webkit-scrollbar-thumb{background:#8881;border-radius:1px;-webkit-transition:background .2s ease;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:#8885}.no-scrollbar::-webkit-scrollbar{display:none;height:0!important;width:0!important}