nuxt-og-image 5.1.11 → 5.1.13

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 (56) hide show
  1. package/README.md +1 -1
  2. package/dist/client/200.html +1 -1
  3. package/dist/client/404.html +1 -1
  4. package/dist/client/_nuxt/{l5rcX3cq.js → B3LgXoKV.js} +1 -7
  5. package/dist/client/_nuxt/CPsbVDfV.js +1 -0
  6. package/dist/client/_nuxt/CjQm5wk3.js +4029 -0
  7. package/dist/client/_nuxt/D0TMZt8T.js +1 -0
  8. package/dist/client/_nuxt/builds/latest.json +1 -1
  9. package/dist/client/_nuxt/builds/meta/eb2c0390-3125-4af7-b189-e76a7dfe3017.json +1 -0
  10. package/dist/client/_nuxt/entry.cdy4VsCK.css +1 -0
  11. package/dist/client/_nuxt/error-404.Cu4JbXd7.css +1 -0
  12. package/dist/client/_nuxt/error-500.B79uceR7.css +1 -0
  13. package/dist/client/index.html +1 -1
  14. package/dist/content.cjs +6 -6
  15. package/dist/content.d.cts +13 -13
  16. package/dist/content.d.mts +13 -13
  17. package/dist/content.d.ts +13 -13
  18. package/dist/content.mjs +1 -1
  19. package/dist/module.cjs +25 -14
  20. package/dist/module.d.cts +5 -3
  21. package/dist/module.d.mts +5 -3
  22. package/dist/module.d.ts +5 -3
  23. package/dist/module.json +1 -1
  24. package/dist/module.mjs +27 -16
  25. package/dist/runtime/app/components/Templates/Community/BrandedLogo.d.vue.ts +2 -1
  26. package/dist/runtime/app/components/Templates/Community/BrandedLogo.vue.d.ts +2 -1
  27. package/dist/runtime/app/components/Templates/Community/Frame.d.vue.ts +2 -1
  28. package/dist/runtime/app/components/Templates/Community/Frame.vue.d.ts +2 -1
  29. package/dist/runtime/app/components/Templates/Community/Nuxt.d.vue.ts +2 -1
  30. package/dist/runtime/app/components/Templates/Community/Nuxt.vue.d.ts +2 -1
  31. package/dist/runtime/app/components/Templates/Community/NuxtSeo.d.vue.ts +2 -1
  32. package/dist/runtime/app/components/Templates/Community/NuxtSeo.vue.d.ts +2 -1
  33. package/dist/runtime/app/components/Templates/Community/Pergel.d.vue.ts +2 -1
  34. package/dist/runtime/app/components/Templates/Community/Pergel.vue.d.ts +2 -1
  35. package/dist/runtime/app/components/Templates/Community/SimpleBlog.d.vue.ts +2 -1
  36. package/dist/runtime/app/components/Templates/Community/SimpleBlog.vue.d.ts +2 -1
  37. package/dist/runtime/app/components/Templates/Community/UnJs.d.vue.ts +2 -1
  38. package/dist/runtime/app/components/Templates/Community/UnJs.vue.d.ts +2 -1
  39. package/dist/runtime/app/components/Templates/Community/Wave.d.vue.ts +2 -1
  40. package/dist/runtime/app/components/Templates/Community/Wave.vue.d.ts +2 -1
  41. package/dist/runtime/app/components/Templates/Community/WithEmoji.d.vue.ts +2 -1
  42. package/dist/runtime/app/components/Templates/Community/WithEmoji.vue.d.ts +2 -1
  43. package/dist/runtime/server/og-image/bindings/satori/wasm-fs.d.ts +1 -1
  44. package/dist/runtime/server/og-image/bindings/satori/wasm-fs.js +4 -8
  45. package/dist/runtime/server/og-image/bindings/satori/wasm.d.ts +1 -1
  46. package/dist/runtime/server/og-image/bindings/satori/wasm.js +4 -9
  47. package/dist/runtime/server/og-image/context.js +4 -5
  48. package/dist/runtime/server/util/wasm.d.ts +1 -1
  49. package/package.json +48 -47
  50. package/dist/client/_nuxt/CvR-yWOW.js +0 -4062
  51. package/dist/client/_nuxt/DEnNbrAc.js +0 -1
  52. package/dist/client/_nuxt/DeGaHs8e.js +0 -1
  53. package/dist/client/_nuxt/builds/meta/fc37de2c-ce5a-4687-b9b5-2020cf8f035c.json +0 -1
  54. package/dist/client/_nuxt/entry.DykVEqUW.css +0 -1
  55. package/dist/client/_nuxt/error-404.C93MUFlo.css +0 -1
  56. package/dist/client/_nuxt/error-500.D-IxLaDc.css +0 -1
@@ -0,0 +1 @@
1
+ import{_ as o,u as s,c as a,o as i,a as t,t as r}from"./CjQm5wk3.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},l={class:"max-w-520px text-center"},c=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return s({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,: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: }'}]}),(g,h)=>(i(),a("div",u,[t("div",l,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.statusCode)},null,8,c),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusMessage)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},m=o(f,[["__scopeId","data-v-53279abb"]]);export{m as default};
@@ -1 +1 @@
1
- {"id":"fc37de2c-ce5a-4687-b9b5-2020cf8f035c","timestamp":1758084483296}
1
+ {"id":"eb2c0390-3125-4af7-b189-e76a7dfe3017","timestamp":1765493657780}
@@ -0,0 +1 @@
1
+ {"id":"eb2c0390-3125-4af7-b189-e76a7dfe3017","timestamp":1765493657780,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
@@ -0,0 +1 @@
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}.shiki .line-added:after,.shiki .line-removed:after{content:"";display:block;inset:0;position:absolute}.shiki .line-removed:after{background-color:#8f4c3926}::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}:after,:before{--un-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}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-feature-settings:normal;font-size:1em;font-variation-settings:normal}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{color:inherit;font-family:inherit;font-feature-settings: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}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{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]:where(:not([hidden=until-found])){display:none}@font-face{font-display:swap;font-family:DM Mono;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTU7PB1QTsUX8KYthSQBK6PYK3EXw.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,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/v16/aFTU7PB1QTsUX8KYthqQBK6PYK0.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+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/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxRR232RmYJp8I5zzw.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,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/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxRSW32RmYJp8I5.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+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}*,: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: }.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")}.carbon-chevron-down,.carbon\:airline-passenger-care{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.66 2.66 0 0 0-1.908.806L25 9.21l-.395-.405a2.66 2.66 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.66 2.66 0 0 0 27.304 8'/%3E%3C/svg%3E")}.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 2 0 0 0-2-2m-4 8v-6h4v6zm-6-8h-6v14h2v-4h4a2.003 2.003 0 0 0 2-2v-6a2 2 0 0 0-2-2m-4 8v-6h4v6zm-6-8H3v2h5v2H4a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h6v-8a2 2 0 0 0-2-2m0 8H4v-2h4z'/%3E%3C/svg%3E")}.carbon\:app,.carbon\:book{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 2 0 0 0-2 2v18a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2M4 7h11v18H4Zm13 18V7h11v18Z'/%3E%3C/svg%3E")}.carbon\:brush-freehand,[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")}.carbon\:brush-freehand,.carbon\:checkmark,[carbon\:brush-freehand=""]{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{--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='m13 24l-9-9l1.414-1.414L13 21.171L26.586 7.586L28 9z'/%3E%3C/svg%3E")}.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")}.carbon\:checkmark-filled,.carbon\:checkmark-filled-warning{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.99 2.99 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")}.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.8 8.8 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")}.carbon\:debug,.carbon\:drag-horizontal{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\:drag-horizontal{--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='M12 4v11H5.83l2.58-2.59L7 11l-5 5l5 5l1.41-1.41L5.83 17H12v11h2V4zm13 7l-1.41 1.41L26.17 15H20V4h-2v24h2V17h6.17l-2.58 2.59L25 21l5-5z'/%3E%3C/svg%3E")}.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.101a5 5 0 0 0-.732-1.753l1.49-1.49l-1.414-1.414l-1.49 1.49A5 5 0 0 0 24 18.101V16h-2v2.101a5 5 0 0 0-1.753.732l-1.49-1.49l-1.414 1.414l1.49 1.49A5 5 0 0 0 18.101 22H16v2h2.101a5 5 0 0 0 .732 1.753l-1.49 1.49l1.414 1.414l1.49-1.49a5 5 0 0 0 1.753.732V30h2v-2.101a5 5 0 0 0 1.753-.732l1.49 1.49l1.414-1.414l-1.49-1.49A5 5 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 2 0 0 0-2 2v20a2 2 0 0 0 2 2h10v-2H4V12h24v3h2V6a2 2 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")}.carbon\:gui-management,.carbon\:html{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")}.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.95 4.95 0 0 0-1.025-3H24v2ZM4 12V4h8v8Zm5 11H7v-2h2Zm17 2h2v2h-2Zm0-9h2v2h-2Zm0-9h2v2h-2Z'/%3E%3C/svg%3E")}.carbon\:ibm-cloud-pak-manta-automated-data-lineage,.carbon\:image{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")}.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 2 0 0 0-2-2H4a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h8Z'/%3E%3C/svg%3E")}.carbon\:image-search,.carbon\:information{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")}.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")}.carbon\:jpg,.carbon\:open-panel-right{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")}.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.91 3.91 0 0 1-4-4a3.91 3.91 0 0 1 4-4a3.91 3.91 0 0 1 4 4h2a6 6 0 1 0-6 6z'/%3E%3Cpath fill='currentColor' d='m29.305 11.044l-2.36-4.088a2 2 0 0 0-2.374-.895l-2.434.824a11 11 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.519a11 11 0 0 0-1.327.753l-2.42-.819a2 2 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 16q0 .387.028.766l-1.92 1.688a2 2 0 0 0-.413 2.502l2.36 4.088a2 2 0 0 0 2.374.895l2.434-.824a11 11 0 0 0 1.312.759l.503 2.518A2 2 0 0 0 13.64 30H16v-2h-2.36l-.71-3.55a9.1 9.1 0 0 1-2.695-1.572l-3.447 1.166l-2.36-4.088l2.725-2.395a8.9 8.9 0 0 1-.007-3.128l-2.718-2.39l2.36-4.087l3.427 1.16A9 9 0 0 1 12.93 7.55L13.64 4h4.72l.71 3.55a9.1 9.1 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")}.carbon\:operations-record,.carbon\:png{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")}.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")}.carbon\:reset,.carbon\:settings{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 11 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.5 11.5 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 11 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.5 11.5 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.9 8.9 0 0 1-2.71 1.57L18.36 28h-4.72l-.71-3.55a9.4 9.4 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.9 8.9 0 0 1 2.71-1.57L13.64 4h4.72l.71 3.55a9.4 9.4 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")}.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")}.carbon\:side-panel-open,.carbon\:svg{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")}.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")}.carbon\:warning,.i-carbon-circle-dash{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.3 13.3 0 0 1 2.6-2.7zm-3.1 7.6l-1.9-.6A12.5 12.5 0 0 0 2 16h2a11.5 11.5 0 0 1 .6-3.7m-1.9 8.1a14.4 14.4 0 0 0 2 3.9l1.6-1.2a12.9 12.9 0 0 1-1.7-3.3zm5.1 6.9a14.4 14.4 0 0 0 3.9 2l.6-1.9A12.9 12.9 0 0 1 9 25.7zm3.9-24.6l.6 1.9A11.5 11.5 0 0 1 16 4V2a12.5 12.5 0 0 0-4.3.7m12.5 24.6a15.2 15.2 0 0 0 3.1-3.1L25.7 23a11.5 11.5 0 0 1-2.7 2.7zm3.2-7.6l1.9.6A15.5 15.5 0 0 0 30 16h-2a11.5 11.5 0 0 1-.6 3.7m1.8-8.1a14.4 14.4 0 0 0-2-3.9l-1.6 1.2a12.9 12.9 0 0 1 1.7 3.3zm-5.1-7a14.4 14.4 0 0 0-3.9-2l-.6 1.9a12.9 12.9 0 0 1 3.3 1.7zm-3.8 24.7l-.6-1.9a11.5 11.5 0 0 1-3.7.6v2a21.4 21.4 0 0 0 4.3-.7'/%3E%3C/svg%3E")}.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.223S167.338 56.77 128.003 56.77S56.78 88.658 56.78 127.993s31.887 71.223 71.222 71.223'/%3E%3Cpath fill='%23229342' d='M35.89 92.997Q27.92 79.192 17.154 64.02a127.98 127.98 0 0 0 110.857 191.981q17.671-24.785 23.996-35.74q12.148-21.042 31.423-60.251v-.015a63.993 63.993 0 0 1-110.857.017Q46.395 111.19 35.89 92.998'/%3E%3Cpath fill='%23FBC116' d='M128.008 255.996A127.97 127.97 0 0 0 256 127.997A128 128 0 0 0 238.837 64q-36.372-3.585-53.686-3.585q-19.632 0-57.152 3.585l-.014.01a63.99 63.99 0 0 1 55.444 31.987a63.99 63.99 0 0 1-.001 64.01z'/%3E%3Cpath fill='%231A73E8' d='M128.003 178.677c27.984 0 50.669-22.685 50.669-50.67s-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.014z'/%3E%3C/svg%3E") no-repeat;background-color:transparent;background-size:100% 100%;width:1.2em}.logos\:chrome,.logos\:vercel-icon{display:inline-block;height:1.2em;vertical-align:middle}.logos\:vercel-icon{background:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 222' display='inline-block' vertical-align='middle' width='1.4em' 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%;width:1.4em}.simple-icons\:slack{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M5.042 15.165a2.53 2.53 0 0 1-2.52 2.523A2.53 2.53 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52a2.527 2.527 0 0 1 2.521 2.52v6.313A2.53 2.53 0 0 1 8.834 24a2.53 2.53 0 0 1-2.521-2.522zM8.834 5.042a2.53 2.53 0 0 1-2.521-2.52A2.53 2.53 0 0 1 8.834 0a2.53 2.53 0 0 1 2.521 2.522v2.52zm0 1.271a2.53 2.53 0 0 1 2.521 2.521a2.53 2.53 0 0 1-2.521 2.521H2.522A2.53 2.53 0 0 1 0 8.834a2.53 2.53 0 0 1 2.522-2.521zm10.122 2.521a2.53 2.53 0 0 1 2.522-2.521A2.53 2.53 0 0 1 24 8.834a2.53 2.53 0 0 1-2.522 2.521h-2.522zm-1.268 0a2.53 2.53 0 0 1-2.523 2.521a2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.53 2.53 0 0 1 2.523 2.522zm-2.523 10.122a2.53 2.53 0 0 1 2.523 2.522A2.53 2.53 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522zm0-1.268a2.527 2.527 0 0 1-2.52-2.523a2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.53 2.53 0 0 1-2.522 2.523z'/%3E%3C/svg%3E")}.simple-icons\:slack,.simple-icons\:whatsapp{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}.simple-icons\:whatsapp{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' 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.472 14.382c-.297-.149-1.758-.867-2.03-.967c-.273-.099-.471-.148-.67.15c-.197.297-.767.966-.94 1.164c-.173.199-.347.223-.644.075c-.297-.15-1.255-.463-2.39-1.475c-.883-.788-1.48-1.761-1.653-2.059c-.173-.297-.018-.458.13-.606c.134-.133.298-.347.446-.52s.198-.298.298-.497c.099-.198.05-.371-.025-.52s-.669-1.612-.916-2.207c-.242-.579-.487-.5-.669-.51a13 13 0 0 0-.57-.01c-.198 0-.52.074-.792.372c-.272.297-1.04 1.016-1.04 2.479c0 1.462 1.065 2.875 1.213 3.074s2.096 3.2 5.077 4.487c.709.306 1.262.489 1.694.625c.712.227 1.36.195 1.871.118c.571-.085 1.758-.719 2.006-1.413s.248-1.289.173-1.413c-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214l-3.741.982l.998-3.648l-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884c2.64 0 5.122 1.03 6.988 2.898a9.82 9.82 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.82 11.82 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.9 11.9 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.82 11.82 0 0 0-3.48-8.413'/%3E%3C/svg%3E")}.simple-icons\:x{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' 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.234 10.162L22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299l-.929-1.329L3.076 1.56h3.182l5.965 8.532l.929 1.329l7.754 11.09h-3.182z'/%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~="default:"]:default{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.223S167.338 56.77 128.003 56.77S56.78 88.658 56.78 127.993s31.887 71.223 71.222 71.223'/%3E%3Cpath fill='%23229342' d='M35.89 92.997Q27.92 79.192 17.154 64.02a127.98 127.98 0 0 0 110.857 191.981q17.671-24.785 23.996-35.74q12.148-21.042 31.423-60.251v-.015a63.993 63.993 0 0 1-110.857.017Q46.395 111.19 35.89 92.998'/%3E%3Cpath fill='%23FBC116' d='M128.008 255.996A127.97 127.97 0 0 0 256 127.997A128 128 0 0 0 238.837 64q-36.372-3.585-53.686-3.585q-19.632 0-57.152 3.585l-.014.01a63.99 63.99 0 0 1 55.444 31.987a63.99 63.99 0 0 1-.001 64.01z'/%3E%3Cpath fill='%231A73E8' d='M128.003 178.677c27.984 0 50.669-22.685 50.669-50.67s-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.014z'/%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~="default:"]:default{background:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 222' display='inline-block' vertical-align='middle' width='1.4em' 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.4em}.n-badge{background-color:rgba(var(--nui-c-context),.1);border-radius:.25rem;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;--un-text-opacity:1;color:rgba(var(--nui-c-context),var(--un-text-opacity))}.n-button-icon{font-size:1.1em;margin-left:-.2em;margin-right:.2em}.n-icon-button,[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{width:100%}.n-loading,.n-panel-grids-center{align-items:center;display:flex;height:100%;justify-content:center}.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='%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;flex-direction:column;gap:.5rem}.n-button-base{align-items:center;border-color:#9ca3af33;border-radius:.25rem;border-width:1px;display:inline-flex;gap:.25rem;opacity:.8;padding:.25em 1em;touch-action:manipulation;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color,rgba(0,0,0,.05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);outline:2px solid transparent!important;outline-offset:2px!important}.n-icon{flex:none}.n-card-base{border-color:#9ca3af33;border-radius:.25rem;border-width:1px;--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity));--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color,rgba(0,0,0,.05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.n-border-base,[n-border-base=""]{border-color:#9ca3af33}.hover\:n-button-hover:hover{--un-border-opacity:1!important;border-color:rgba(var(--nui-c-context),var(--un-border-opacity))!important;--un-text-opacity:1;color:rgba(var(--nui-c-context),var(--un-text-opacity));opacity:1}.n-bg-active{background-color:#9ca3af0d}.dark .n-bg-base,.dark .n-card-base{--un-bg-opacity:1;background-color:rgb(21 21 21/var(--un-bg-opacity))}.n-bg-base,.n-code-block{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.dark .n-code-block{--un-bg-opacity:1;background-color:rgb(18 18 18/var(--un-bg-opacity))}.dark .n-glass-effect{background-color:#141414e6}.n-glass-effect{background-color:#fffc;--un-backdrop-blur:blur(6px);-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)}.hover\:n-bg-active:hover,[hover\:n-bg-active=""]:hover{background-color:#9ca3af0d}.n-icon-button:hover,[n-icon-button=""]:hover{background-color:#9ca3af0d;opacity:1}.active\:n-button-active:active{background-color:rgba(var(--nui-c-context),.05);--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);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);--un-ring-color:rgba(var(--nui-c-context),.1)}.hover\:n-link-hover:hover{--un-text-opacity:1;color:rgba(var(--nui-c-context),var(--un-text-opacity));-webkit-text-decoration-color:rgba(var(--nui-c-context),var(--un-line-opacity))!important;--un-line-opacity:1!important;opacity:1!important;text-decoration-color:rgba(var(--nui-c-context),var(--un-line-opacity))!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-within\:n-focus-base:focus-within{--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);--un-ring-color:rgba(var(--nui-c-context),.5)}.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);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);--un-ring-color:rgba(var(--nui-c-context),.5)}.n-transition,[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}.absolute{position:absolute}.fixed{position:fixed}.relative,[relative=""]{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-0{left:0}.right-1{right:.25rem}.right-2{right:.5rem}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.-z-1{z-index:-1}.z-100{z-index:100}.z-2{z-index:2}.grid{display:grid}.-mx-px{margin-left:-1px;margin-right:-1px}.mx-auto{margin-left:auto;margin-right:auto}.my-10,[my-10=""]{margin-bottom:2.5rem;margin-top:2.5rem}.my-2,[my-2=""]{margin-bottom:.5rem;margin-top:.5rem}.my-3{margin-bottom:.75rem;margin-top:.75rem}.mb-1{margin-bottom:.25rem}.mb-2,.mb2,[mb2=""]{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml--1px{margin-left:-1px}.ml-1{margin-left:.25rem}.mr-0\.4em{margin-right:.4em}.mr-1{margin-right:.25rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt1{margin-top:.25rem}.mt2,[mt2=""]{margin-top:.5rem}.block,[block=""]{display:block}.hidden,[hidden=""]{display:none}[aspect-ratio~="1"]{aspect-ratio:1}[size~="40"]{height:10rem;width:10rem}[size~="60"]{height:15rem;width:15rem}.\!h-\[300px\]{height:300px!important}.\!h-\[90px\]{height:90px!important}.h-\[150px\]{height:150px}.h-1px,[h-1px=""]{height:1px}.h-6{height:1.5rem}.h-85vh{height:85vh}.h-full,[h-full=""]{height:100%}.h1,[h1=""]{height:.25rem}.h2,[h2=""]{height:.5rem}.h3{height:.75rem}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.max-w-135{max-width:33.75rem}.max-w-520px{max-width:520px}.min-h-screen{min-height:100vh}.w-\[100px\]{width:100px}.w-\[600px\]{width:600px}.w-200,[w-200=""]{width:50rem}.w-6{width:1.5rem}.w-full,[w-full=""]{width:100%}.flex,[flex=""],[flex~="~"]{display:flex}.flex-inline{display:inline-flex}.flex-auto{flex:1 1 auto}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-row{flex-direction:row}.flex-col,[flex~=col]{flex-direction:column}.flex-wrap{flex-wrap:wrap}.translate-y--1,[translate-y--1=""]{--un-translate-y:-.25rem}.transform,.translate-y--1,[translate-y--1=""]{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}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance: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-end,[justify-end=""]{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-gap2,.gap-2,[flex~=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]),[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-2>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-bottom:calc(.5rem*var(--un-space-y-reverse));margin-top:calc(.5rem*(1 - var(--un-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-bottom:calc(.75rem*var(--un-space-y-reverse));margin-top:calc(.75rem*(1 - var(--un-space-y-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{overflow:auto}.overflow-hidden{overflow:hidden}.b,.border,.border-1,[border-1=""],[border=""]{border-width:1px}.border-2{border-width:2px}.border-b,[border-b=""]{border-bottom-width:1px}.border-l{border-left-width:1px}[border~=t]{border-top-width:1px}.border-gray-300{--un-border-opacity:1;border-color:rgb(209 213 219/var(--un-border-opacity))}.border-gray\:10{border-color:#9ca3af1a}.border-transparent{border-color:transparent}.border-zinc-300,[border-zinc-300=""]{--un-border-opacity:1;border-color:rgb(212 212 216/var(--un-border-opacity))}.dark .dark\:border-gray-700{--un-border-opacity:1;border-color:rgb(55 65 81/var(--un-border-opacity))}.dark .dark\:border-zinc-700,.dark [dark\:border-zinc-700=""]{--un-border-opacity:1;border-color:rgb(63 63 70/var(--un-border-opacity))}.focus-within\:border-context:focus-within{--un-border-opacity:1;border-color:rgba(var(--nui-c-context),var(--un-border-opacity))}.hover\:border-yellow-500:hover{--un-border-opacity:1;border-color:rgb(234 179 8/var(--un-border-opacity))}.rounded{border-radius:.25rem}.rounded-\[0\.35rem\]{border-radius:.35rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border-none{border-style:none}.border-solid,[border-solid=""]{border-style:solid}.bg-blue-100{--un-bg-opacity:1;background-color:rgb(219 234 254/var(--un-bg-opacity))}.bg-sky-700\/75{background-color:#0369a1bf}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.dark .dark\:bg-\[\#020420\]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}[fill-opacity~="0.2"]{--un-fill-opacity:.002}[stroke-width~="1.5"]{stroke-width:1.5px}[stroke~="#fff"]{--un-stroke-opacity:1;stroke:rgb(255 255 255/var(--un-stroke-opacity))}.\!p-0{padding:0!important}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4,.p4,[p4=""]{padding:1rem}.p-5{padding:1.25rem}.px,.px-4,.px4,[px=""]{padding-left:1rem;padding-right:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.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}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2px{padding-bottom:2px;padding-top:2px}.py-4{padding-bottom:1rem;padding-top:1rem}.pb6{padding-bottom:1.5rem}.pr-\[30px\]{padding-right:30px}.pr-4{padding-right:1rem}.pt-4{padding-top:1rem}.pt2{padding-top:.5rem}.text-center{text-align:center}.text-\[80px\]{font-size:80px}.text-1\.1em{font-size:1.1em}.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-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}[text-sm~="default:"]:default{font-size:.875rem;line-height:1.25rem}.dark .dark\:text-white,.text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}.text-\[\#020420\]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\]{--un-text-opacity:1;color:rgb(100 116 139/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))}.text-gray-500{--un-text-opacity:1;color:rgb(107 114 128/var(--un-text-opacity))}.text-gray-900{--un-text-opacity:1;color:rgb(17 24 39/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,[text-primary=""]{--un-text-opacity:1;color:rgb(9 158 97/var(--un-text-opacity))}.text-red-500{--un-text-opacity:1;color:rgb(239 68 68/var(--un-text-opacity))}.text-yellow-500{--un-text-opacity:1;color:rgb(234 179 8/var(--un-text-opacity))}.hover\:text-\[\#00DC82\]:hover{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.hover\:text-primary:hover,[hover\:text-primary=""]:hover{--un-text-opacity:1;color:rgb(9 158 97/var(--un-text-opacity))}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.font-sans,[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}.capitalize,[capitalize=""]{text-transform:capitalize}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.underline{text-decoration-line:underline}[underline~="default:"]:default{text-decoration-line:underline}.hover\:underline:hover,[hover\:underline=""]:hover{text-decoration-line:underline}.underline-offset-3{text-underline-offset:3px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tab,[tab=""]{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.op-0\.1{opacity:.001}.op0{opacity:0}.group:hover .group-hover\:opacity-100,.op100,.opacity-100{opacity:1}.op35{opacity:.35}.op50,.opacity-50,[op50=""]{opacity:.5}.op60{opacity:.6}.op75,.opacity-75,[op75=""]{opacity:.75}.opacity-65{opacity:.65}.opacity-70{opacity:.7}.opacity-80{opacity:.8}[op35~="target:"]:target{opacity:.35}[op35~="default:"]:default{opacity:.35}.hover\:opacity-90:hover{opacity:.9}.shadow-md{--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color,rgba(0,0,0,.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color,rgba(0,0,0,.1))}.group:hover .group-hover\:shadow-sm,.shadow-md{box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.group:hover .group-hover\:shadow-sm{--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color,rgba(0,0,0,.05))}.\!outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.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-offset-2{--un-ring-offset-width:2px}.ring-green-500{--un-ring-opacity:1;--un-ring-color:rgb(34 197 94/var(--un-ring-opacity))}.ring-white\/60{--un-ring-color:hsla(0,0%,100%,.6)}.ring-offset-sky-300{--un-ring-offset-opacity:1;--un-ring-offset-color:rgb(125 211 252/var(--un-ring-offset-opacity))}[blur=""]{--un-blur:blur(8px)}.filter,[blur=""]{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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,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,[ease=""]{transition-timing-function:cubic-bezier(.4,0,.2,1)}.n-blue{--nui-c-context:96,165,250}[n~="1"]{font-size:.25rem}[n~=solid]{background-color:rgba(var(--nui-c-context),1)!important;border-color:rgba(var(--nui-c-context),1);color:#fff!important}.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\:text-\[110px\]{font-size:110px}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}}@media(min-width:1024px){.lg\:flex{display:flex}}div[data-v-3dcbf580]{height:100%;margin:0 auto;transition:.4s ease-in-out;width:100%}div[class~=data-valid][data-v-3dcbf580]{background-color:transparent;background-color:#fff;background-size:contain;cursor:pointer}div[class~=data-error][data-v-3dcbf580]{overflow-x:auto}div[class~=data-error][data-v-3dcbf580] .shiki{white-space:normal}iframe[data-v-87cb4c8e]{height:auto;margin:0 auto;max-width:100%;transition:.4s ease-in-out;width:auto}.favIcon[data-v-7ae46d8f] img{border-radius:2px;box-sizing:content-box;height:16px;margin-right:6px;overflow:hidden;vertical-align:middle;width:16px}.root[data-v-7ae46d8f]{display:flex;font-family:Noto Sans,NotoSansJP,Slack-Lato,Lato,appleLogo,sans-serif;font-size:15px;line-height:1.46666667;-webkit-font-smoothing:antialiased;min-height:300px;text-rendering:optimizeLegibility}.root[data-v-7ae46d8f],.siteName[data-v-7ae46d8f]{word-wrap:break-word}.siteName[data-v-7ae46d8f]{flex:1 1;font-weight:700;overflow:hidden}.description[data-v-7ae46d8f]{color:#fff;margin-bottom:8px;opacity:.7}.title[data-v-7ae46d8f]{color:#0576b9;font-feature-settings:"liga","clig";font-variant-ligatures:common-ligatures;font-weight:700}.content[data-v-7ae46d8f]{padding:0 12px}.bar[data-v-7ae46d8f]{background-color:#e8e8e8;border-radius:8px;flex-shrink:0;width:4px}details[data-v-348c1d92],summary[data-v-348c1d92]{border-style:none}summary[data-v-348c1d92]{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)}.n-code-block-lines .shiki code .line:before{display:none}.resize-observer[data-v-b329ee4c]{background-color:transparent;border:none;opacity:0}.resize-observer[data-v-b329ee4c],.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-tooltip .v-popper__inner{background:#000c;border-radius:6px;color:#fff;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.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}.jse-theme-dark{--jse-theme:dark;--jse-theme-color:#2f6dd0;--jse-theme-color-highlight:#467cd2;--jse-background-color:#1e1e1e;--jse-text-color:#d4d4d4;--jse-text-color-inverse:#4d4d4d;--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;--jse-svelte-select-background:#3d3d3d;--jse-svelte-select-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 .splitpanes__pane,:has(.splitpanes--dragging){pointer-events:none;-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;will-change:width}.splitpanes--horizontal .splitpanes__pane{transition:height .2s ease-out;will-change:height}.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}.default-theme.splitpanes .splitpanes__pane{background-color:#f2f2f2}.default-theme.splitpanes .splitpanes__splitter{background-color:#fff;box-sizing:border-box;flex-shrink:0;position:relative}.default-theme.splitpanes .splitpanes__splitter:after,.default-theme.splitpanes .splitpanes__splitter:before{background-color:#00000026;content:"";left:50%;position:absolute;top:50%;transition:background-color .3s}.default-theme.splitpanes .splitpanes__splitter:hover:after,.default-theme.splitpanes .splitpanes__splitter:hover:before{background-color:#00000040}.default-theme.splitpanes .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}header{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#fffc}.dark header{background-color:#111c}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";overflow-y:scroll;overscroll-behavior:none;-ms-overflow-style: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:after,.prose code:before{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}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}.no-main-menu{border:none!important}.jse-main{min-height:1em!important}.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}
@@ -0,0 +1 @@
1
+ .grid[data-v-2d588b9f]{display:grid}.mb-2[data-v-2d588b9f]{margin-bottom:.5rem}.mb-4[data-v-2d588b9f]{margin-bottom:1rem}.max-w-520px[data-v-2d588b9f]{max-width:520px}.min-h-screen[data-v-2d588b9f]{min-height:100vh}.w-full[data-v-2d588b9f]{width:100%}.flex[data-v-2d588b9f]{display:flex}.place-content-center[data-v-2d588b9f]{place-content:center}.items-center[data-v-2d588b9f]{align-items:center}.justify-center[data-v-2d588b9f]{justify-content:center}.overflow-hidden[data-v-2d588b9f]{overflow:hidden}.bg-white[data-v-2d588b9f]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-2d588b9f]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-2d588b9f]{text-align:center}.text-\[80px\][data-v-2d588b9f]{font-size:80px}.text-2xl[data-v-2d588b9f]{font-size:1.5rem;line-height:2rem}.text-sm[data-v-2d588b9f]{font-size:.875rem;line-height:1.25rem}.text-\[\#020420\][data-v-2d588b9f]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-2d588b9f]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.hover\:text-\[\#00DC82\][data-v-2d588b9f]:hover{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.font-medium[data-v-2d588b9f]{font-weight:500}.font-semibold[data-v-2d588b9f]{font-weight:600}.leading-none[data-v-2d588b9f]{line-height:1}.tracking-wide[data-v-2d588b9f]{letter-spacing:.025em}.font-sans[data-v-2d588b9f]{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}.tabular-nums[data-v-2d588b9f]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.underline[data-v-2d588b9f]{text-decoration-line:underline}.underline-offset-3[data-v-2d588b9f]{text-underline-offset:3px}.antialiased[data-v-2d588b9f]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-2d588b9f]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-2d588b9f]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\:text-\[110px\][data-v-2d588b9f]{font-size:110px}.sm\:text-3xl[data-v-2d588b9f]{font-size:1.875rem;line-height:2.25rem}}
@@ -0,0 +1 @@
1
+ .grid[data-v-53279abb]{display:grid}.mb-2[data-v-53279abb]{margin-bottom:.5rem}.mb-4[data-v-53279abb]{margin-bottom:1rem}.max-w-520px[data-v-53279abb]{max-width:520px}.min-h-screen[data-v-53279abb]{min-height:100vh}.place-content-center[data-v-53279abb]{place-content:center}.overflow-hidden[data-v-53279abb]{overflow:hidden}.bg-white[data-v-53279abb]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-53279abb]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-53279abb]{text-align:center}.text-\[80px\][data-v-53279abb]{font-size:80px}.text-2xl[data-v-53279abb]{font-size:1.5rem;line-height:2rem}.text-\[\#020420\][data-v-53279abb]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-53279abb]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.font-semibold[data-v-53279abb]{font-weight:600}.leading-none[data-v-53279abb]{line-height:1}.tracking-wide[data-v-53279abb]{letter-spacing:.025em}.font-sans[data-v-53279abb]{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}.tabular-nums[data-v-53279abb]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.antialiased[data-v-53279abb]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-53279abb]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-53279abb]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\:text-\[110px\][data-v-53279abb]{font-size:110px}.sm\:text-3xl[data-v-53279abb]{font-size:1.875rem;line-height:2.25rem}}
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-og-image/_nuxt/CvR-yWOW.js"}}</script><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.DykVEqUW.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CvR-yWOW.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CVO1_9PV.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D0r3Knsf.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/B8PEiB0p.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cp-IABpG.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/l5rcX3cq.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-og-image/_nuxt/error-404.C93MUFlo.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DEnNbrAc.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-og-image/_nuxt/error-500.D-IxLaDc.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DeGaHs8e.js"><script type="module" src="/__nuxt-og-image/_nuxt/CvR-yWOW.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1758084495410,false]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"fc37de2c-ce5a-4687-b9b5-2020cf8f035c",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.cdy4VsCK.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CjQm5wk3.js"><script type="module" src="/__nuxt-og-image/_nuxt/CjQm5wk3.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1765493670143,false]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"eb2c0390-3125-4af7-b189-e76a7dfe3017",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
package/dist/content.cjs CHANGED
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- const content = require('@nuxt/content');
3
+ const zod = require('zod');
4
4
 
5
- const ogImageSchema = content.z.object({
6
- url: content.z.string().optional(),
7
- component: content.z.string().optional(),
8
- props: content.z.record(content.z.string(), content.z.any())
5
+ const ogImageSchema = zod.z.object({
6
+ url: zod.z.string().optional(),
7
+ component: zod.z.string().optional(),
8
+ props: zod.z.record(zod.z.string(), zod.z.any())
9
9
  }).optional();
10
- const schema = content.z.object({
10
+ const schema = zod.z.object({
11
11
  ogImage: ogImageSchema
12
12
  });
13
13
  function asOgImageCollection(collection) {
@@ -1,11 +1,11 @@
1
- import * as zod from 'zod';
2
1
  import { Collection } from '@nuxt/content';
2
+ import { z } from 'zod';
3
3
 
4
- declare const ogImageSchema: zod.ZodOptional<zod.ZodObject<{
5
- url: zod.ZodOptional<zod.ZodString>;
6
- component: zod.ZodOptional<zod.ZodString>;
7
- props: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
8
- }, "strip", zod.ZodTypeAny, {
4
+ declare const ogImageSchema: z.ZodOptional<z.ZodObject<{
5
+ url: z.ZodOptional<z.ZodString>;
6
+ component: z.ZodOptional<z.ZodString>;
7
+ props: z.ZodRecord<z.ZodString, z.ZodAny>;
8
+ }, "strip", z.ZodTypeAny, {
9
9
  props: Record<string, any>;
10
10
  url?: string | undefined;
11
11
  component?: string | undefined;
@@ -14,12 +14,12 @@ declare const ogImageSchema: zod.ZodOptional<zod.ZodObject<{
14
14
  url?: string | undefined;
15
15
  component?: string | undefined;
16
16
  }>>;
17
- declare const schema: zod.ZodObject<{
18
- ogImage: zod.ZodOptional<zod.ZodObject<{
19
- url: zod.ZodOptional<zod.ZodString>;
20
- component: zod.ZodOptional<zod.ZodString>;
21
- props: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
22
- }, "strip", zod.ZodTypeAny, {
17
+ declare const schema: z.ZodObject<{
18
+ ogImage: z.ZodOptional<z.ZodObject<{
19
+ url: z.ZodOptional<z.ZodString>;
20
+ component: z.ZodOptional<z.ZodString>;
21
+ props: z.ZodRecord<z.ZodString, z.ZodAny>;
22
+ }, "strip", z.ZodTypeAny, {
23
23
  props: Record<string, any>;
24
24
  url?: string | undefined;
25
25
  component?: string | undefined;
@@ -28,7 +28,7 @@ declare const schema: zod.ZodObject<{
28
28
  url?: string | undefined;
29
29
  component?: string | undefined;
30
30
  }>>;
31
- }, "strip", zod.ZodTypeAny, {
31
+ }, "strip", z.ZodTypeAny, {
32
32
  ogImage?: {
33
33
  props: Record<string, any>;
34
34
  url?: string | undefined;
@@ -1,11 +1,11 @@
1
- import * as zod from 'zod';
2
1
  import { Collection } from '@nuxt/content';
2
+ import { z } from 'zod';
3
3
 
4
- declare const ogImageSchema: zod.ZodOptional<zod.ZodObject<{
5
- url: zod.ZodOptional<zod.ZodString>;
6
- component: zod.ZodOptional<zod.ZodString>;
7
- props: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
8
- }, "strip", zod.ZodTypeAny, {
4
+ declare const ogImageSchema: z.ZodOptional<z.ZodObject<{
5
+ url: z.ZodOptional<z.ZodString>;
6
+ component: z.ZodOptional<z.ZodString>;
7
+ props: z.ZodRecord<z.ZodString, z.ZodAny>;
8
+ }, "strip", z.ZodTypeAny, {
9
9
  props: Record<string, any>;
10
10
  url?: string | undefined;
11
11
  component?: string | undefined;
@@ -14,12 +14,12 @@ declare const ogImageSchema: zod.ZodOptional<zod.ZodObject<{
14
14
  url?: string | undefined;
15
15
  component?: string | undefined;
16
16
  }>>;
17
- declare const schema: zod.ZodObject<{
18
- ogImage: zod.ZodOptional<zod.ZodObject<{
19
- url: zod.ZodOptional<zod.ZodString>;
20
- component: zod.ZodOptional<zod.ZodString>;
21
- props: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
22
- }, "strip", zod.ZodTypeAny, {
17
+ declare const schema: z.ZodObject<{
18
+ ogImage: z.ZodOptional<z.ZodObject<{
19
+ url: z.ZodOptional<z.ZodString>;
20
+ component: z.ZodOptional<z.ZodString>;
21
+ props: z.ZodRecord<z.ZodString, z.ZodAny>;
22
+ }, "strip", z.ZodTypeAny, {
23
23
  props: Record<string, any>;
24
24
  url?: string | undefined;
25
25
  component?: string | undefined;
@@ -28,7 +28,7 @@ declare const schema: zod.ZodObject<{
28
28
  url?: string | undefined;
29
29
  component?: string | undefined;
30
30
  }>>;
31
- }, "strip", zod.ZodTypeAny, {
31
+ }, "strip", z.ZodTypeAny, {
32
32
  ogImage?: {
33
33
  props: Record<string, any>;
34
34
  url?: string | undefined;
package/dist/content.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import * as zod from 'zod';
2
1
  import { Collection } from '@nuxt/content';
2
+ import { z } from 'zod';
3
3
 
4
- declare const ogImageSchema: zod.ZodOptional<zod.ZodObject<{
5
- url: zod.ZodOptional<zod.ZodString>;
6
- component: zod.ZodOptional<zod.ZodString>;
7
- props: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
8
- }, "strip", zod.ZodTypeAny, {
4
+ declare const ogImageSchema: z.ZodOptional<z.ZodObject<{
5
+ url: z.ZodOptional<z.ZodString>;
6
+ component: z.ZodOptional<z.ZodString>;
7
+ props: z.ZodRecord<z.ZodString, z.ZodAny>;
8
+ }, "strip", z.ZodTypeAny, {
9
9
  props: Record<string, any>;
10
10
  url?: string | undefined;
11
11
  component?: string | undefined;
@@ -14,12 +14,12 @@ declare const ogImageSchema: zod.ZodOptional<zod.ZodObject<{
14
14
  url?: string | undefined;
15
15
  component?: string | undefined;
16
16
  }>>;
17
- declare const schema: zod.ZodObject<{
18
- ogImage: zod.ZodOptional<zod.ZodObject<{
19
- url: zod.ZodOptional<zod.ZodString>;
20
- component: zod.ZodOptional<zod.ZodString>;
21
- props: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
22
- }, "strip", zod.ZodTypeAny, {
17
+ declare const schema: z.ZodObject<{
18
+ ogImage: z.ZodOptional<z.ZodObject<{
19
+ url: z.ZodOptional<z.ZodString>;
20
+ component: z.ZodOptional<z.ZodString>;
21
+ props: z.ZodRecord<z.ZodString, z.ZodAny>;
22
+ }, "strip", z.ZodTypeAny, {
23
23
  props: Record<string, any>;
24
24
  url?: string | undefined;
25
25
  component?: string | undefined;
@@ -28,7 +28,7 @@ declare const schema: zod.ZodObject<{
28
28
  url?: string | undefined;
29
29
  component?: string | undefined;
30
30
  }>>;
31
- }, "strip", zod.ZodTypeAny, {
31
+ }, "strip", z.ZodTypeAny, {
32
32
  ogImage?: {
33
33
  props: Record<string, any>;
34
34
  url?: string | undefined;
package/dist/content.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from '@nuxt/content';
1
+ import { z } from 'zod';
2
2
 
3
3
  const ogImageSchema = z.object({
4
4
  url: z.string().optional(),
package/dist/module.cjs CHANGED
@@ -61,28 +61,33 @@ async function downloadFont(font, storage, mirror) {
61
61
  const { name, weight, style } = font;
62
62
  const key = `${name}-${style}-${weight}.ttf.base64`;
63
63
  if (await storage.hasItem(key))
64
- return true;
65
- const host = typeof mirror === "undefined" ? "fonts.googleapis.com" : mirror === true ? "fonts.font.im" : mirror;
66
- const css = await ofetch.$fetch(`https://${host}/css2?family=${name}:${style === "ital" ? `ital,wght@1,${weight}` : `wght@${weight}`}`, {
64
+ return { success: true };
65
+ const host = mirror || "fonts.googleapis.com";
66
+ const cssUrl = `https://${host}/css2?family=${name}:${style === "ital" ? `ital,wght@1,${weight}` : `wght@${weight}`}`;
67
+ const css = await ofetch.$fetch(cssUrl, {
67
68
  timeout: 10 * 1e3,
68
69
  // 10 second timeout
69
70
  headers: {
70
71
  // Make sure it returns TTF.
71
72
  "User-Agent": "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; de-at) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1"
72
73
  }
73
- }).catch(() => {
74
- return false;
74
+ }).catch((err) => {
75
+ return { error: err };
75
76
  });
76
- if (!css)
77
- return false;
77
+ if (!css || typeof css !== "string")
78
+ return { success: false, error: css?.error || new Error(`Failed to fetch CSS from ${cssUrl}`), host };
78
79
  const ttfResource = css.match(/src: url\((.+)\) format\('(opentype|truetype)'\)/);
79
80
  if (ttfResource?.[1]) {
80
- const buf = await ofetch.$fetch(ttfResource[1], { baseURL: host, responseType: "arrayBuffer" });
81
+ const buf = await ofetch.$fetch(ttfResource[1], { responseType: "arrayBuffer" }).catch((err) => {
82
+ return { error: err };
83
+ });
84
+ if (buf && "error" in buf)
85
+ return { success: false, error: buf.error, host, fontUrl: ttfResource[1] };
81
86
  const base64Font = Buffer.from(buf).toString("base64");
82
87
  await storage.setItem(key, base64Font);
83
- return true;
88
+ return { success: true };
84
89
  }
85
- return false;
90
+ return { success: false, error: new Error("No TTF resource found in CSS response"), host };
86
91
  }
87
92
 
88
93
  const autodetectableProviders = {
@@ -338,8 +343,10 @@ function setupDevToolsUI(options, resolve, nuxt = kit.useNuxt()) {
338
343
  });
339
344
  } else {
340
345
  nuxt.hook("vite:extendConfig", (config) => {
341
- config.server = config.server || {};
342
- config.server.proxy = config.server.proxy || {};
346
+ if (!config.server) {
347
+ config.server = {};
348
+ }
349
+ config.server.proxy ||= {};
343
350
  config.server.proxy[DEVTOOLS_UI_ROUTE] = {
344
351
  target: `http://localhost:${DEVTOOLS_UI_LOCAL_PORT}${DEVTOOLS_UI_ROUTE}`,
345
352
  changeOrigin: true,
@@ -696,10 +703,14 @@ const module$1 = kit.defineNuxtModule({
696
703
  logger_js.logger.warn(`The ${fontKey} font was skipped because remote fonts are not available in StackBlitz, please use a local font.`);
697
704
  return false;
698
705
  }
699
- if (await downloadFont(f, fontStorage, config.googleFontMirror)) {
706
+ const result = await downloadFont(f, fontStorage, config.googleFontMirror);
707
+ if (result.success) {
700
708
  f.key = `nuxt-og-image:fonts:${fontFileBase}.ttf.base64`;
701
709
  } else {
702
- logger_js.logger.warn(`Failed to download font ${fontKey}. You may be offline or behind a firewall blocking Google. Consider setting \`googleFontMirror: true\`.`);
710
+ const mirrorMsg = config.googleFontMirror ? `using mirror host \`${result.host}\`` : "Consider using local font files via the `path` option if you are in China or behind a firewall.";
711
+ logger_js.logger.warn(`Failed to download font ${fontKey} ${mirrorMsg}`);
712
+ if (result.error)
713
+ logger_js.logger.warn(` Error: ${result.error.message || result.error}`);
703
714
  return false;
704
715
  }
705
716
  } else if (f.path) {
package/dist/module.d.cts CHANGED
@@ -79,11 +79,13 @@ interface ModuleOptions {
79
79
  */
80
80
  compatibility?: CompatibilityFlagEnvOverrides;
81
81
  /**
82
- * Use an alternative host for downloading Google Fonts. This is used to support China where Google Fonts is blocked.
82
+ * Use an alternative host for downloading Google Fonts.
83
83
  *
84
- * When `true` is set will use `fonts.font.im`, otherwise will use a string as the host.
84
+ * Provide a custom mirror host (e.g., your own proxy server).
85
+ * Note: The mirror must serve TTF fonts for Satori compatibility.
86
+ * For China users, consider using local font files via the `path` option instead.
85
87
  */
86
- googleFontMirror?: true | string;
88
+ googleFontMirror?: string;
87
89
  /**
88
90
  * Only allow the prerendering and dev runtimes to generate images.
89
91
  */
package/dist/module.d.mts CHANGED
@@ -79,11 +79,13 @@ interface ModuleOptions {
79
79
  */
80
80
  compatibility?: CompatibilityFlagEnvOverrides;
81
81
  /**
82
- * Use an alternative host for downloading Google Fonts. This is used to support China where Google Fonts is blocked.
82
+ * Use an alternative host for downloading Google Fonts.
83
83
  *
84
- * When `true` is set will use `fonts.font.im`, otherwise will use a string as the host.
84
+ * Provide a custom mirror host (e.g., your own proxy server).
85
+ * Note: The mirror must serve TTF fonts for Satori compatibility.
86
+ * For China users, consider using local font files via the `path` option instead.
85
87
  */
86
- googleFontMirror?: true | string;
88
+ googleFontMirror?: string;
87
89
  /**
88
90
  * Only allow the prerendering and dev runtimes to generate images.
89
91
  */
package/dist/module.d.ts CHANGED
@@ -79,11 +79,13 @@ interface ModuleOptions {
79
79
  */
80
80
  compatibility?: CompatibilityFlagEnvOverrides;
81
81
  /**
82
- * Use an alternative host for downloading Google Fonts. This is used to support China where Google Fonts is blocked.
82
+ * Use an alternative host for downloading Google Fonts.
83
83
  *
84
- * When `true` is set will use `fonts.font.im`, otherwise will use a string as the host.
84
+ * Provide a custom mirror host (e.g., your own proxy server).
85
+ * Note: The mirror must serve TTF fonts for Satori compatibility.
86
+ * For China users, consider using local font files via the `path` option instead.
85
87
  */
86
- googleFontMirror?: true | string;
88
+ googleFontMirror?: string;
87
89
  /**
88
90
  * Only allow the prerendering and dev runtimes to generate images.
89
91
  */
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "nuxt": ">=3.16.0"
5
5
  },
6
6
  "configKey": "ogImage",
7
- "version": "5.1.11",
7
+ "version": "5.1.13",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.2",
10
10
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -41,28 +41,33 @@ async function downloadFont(font, storage, mirror) {
41
41
  const { name, weight, style } = font;
42
42
  const key = `${name}-${style}-${weight}.ttf.base64`;
43
43
  if (await storage.hasItem(key))
44
- return true;
45
- const host = typeof mirror === "undefined" ? "fonts.googleapis.com" : mirror === true ? "fonts.font.im" : mirror;
46
- const css = await $fetch(`https://${host}/css2?family=${name}:${style === "ital" ? `ital,wght@1,${weight}` : `wght@${weight}`}`, {
44
+ return { success: true };
45
+ const host = mirror || "fonts.googleapis.com";
46
+ const cssUrl = `https://${host}/css2?family=${name}:${style === "ital" ? `ital,wght@1,${weight}` : `wght@${weight}`}`;
47
+ const css = await $fetch(cssUrl, {
47
48
  timeout: 10 * 1e3,
48
49
  // 10 second timeout
49
50
  headers: {
50
51
  // Make sure it returns TTF.
51
52
  "User-Agent": "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; de-at) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1"
52
53
  }
53
- }).catch(() => {
54
- return false;
54
+ }).catch((err) => {
55
+ return { error: err };
55
56
  });
56
- if (!css)
57
- return false;
57
+ if (!css || typeof css !== "string")
58
+ return { success: false, error: css?.error || new Error(`Failed to fetch CSS from ${cssUrl}`), host };
58
59
  const ttfResource = css.match(/src: url\((.+)\) format\('(opentype|truetype)'\)/);
59
60
  if (ttfResource?.[1]) {
60
- const buf = await $fetch(ttfResource[1], { baseURL: host, responseType: "arrayBuffer" });
61
+ const buf = await $fetch(ttfResource[1], { responseType: "arrayBuffer" }).catch((err) => {
62
+ return { error: err };
63
+ });
64
+ if (buf && "error" in buf)
65
+ return { success: false, error: buf.error, host, fontUrl: ttfResource[1] };
61
66
  const base64Font = Buffer.from(buf).toString("base64");
62
67
  await storage.setItem(key, base64Font);
63
- return true;
68
+ return { success: true };
64
69
  }
65
- return false;
70
+ return { success: false, error: new Error("No TTF resource found in CSS response"), host };
66
71
  }
67
72
 
68
73
  const autodetectableProviders = {
@@ -318,8 +323,10 @@ function setupDevToolsUI(options, resolve, nuxt = useNuxt()) {
318
323
  });
319
324
  } else {
320
325
  nuxt.hook("vite:extendConfig", (config) => {
321
- config.server = config.server || {};
322
- config.server.proxy = config.server.proxy || {};
326
+ if (!config.server) {
327
+ config.server = {};
328
+ }
329
+ config.server.proxy ||= {};
323
330
  config.server.proxy[DEVTOOLS_UI_ROUTE] = {
324
331
  target: `http://localhost:${DEVTOOLS_UI_LOCAL_PORT}${DEVTOOLS_UI_ROUTE}`,
325
332
  changeOrigin: true,
@@ -529,7 +536,7 @@ function isProviderEnabledForEnv(provider, nuxt, config) {
529
536
  return nuxt.options.dev && config.compatibility?.dev?.[provider] !== false || !nuxt.options.dev && (config.compatibility?.runtime?.[provider] !== false || config.compatibility?.prerender?.[provider] !== false);
530
537
  }
531
538
  const defaultComponentDirs = ["OgImage", "og-image", "OgImageTemplate"];
532
- const module = defineNuxtModule({
539
+ const module$1 = defineNuxtModule({
533
540
  meta: {
534
541
  name: "nuxt-og-image",
535
542
  compatibility: {
@@ -676,10 +683,14 @@ const module = defineNuxtModule({
676
683
  logger.warn(`The ${fontKey} font was skipped because remote fonts are not available in StackBlitz, please use a local font.`);
677
684
  return false;
678
685
  }
679
- if (await downloadFont(f, fontStorage, config.googleFontMirror)) {
686
+ const result = await downloadFont(f, fontStorage, config.googleFontMirror);
687
+ if (result.success) {
680
688
  f.key = `nuxt-og-image:fonts:${fontFileBase}.ttf.base64`;
681
689
  } else {
682
- logger.warn(`Failed to download font ${fontKey}. You may be offline or behind a firewall blocking Google. Consider setting \`googleFontMirror: true\`.`);
690
+ const mirrorMsg = config.googleFontMirror ? `using mirror host \`${result.host}\`` : "Consider using local font files via the `path` option if you are in China or behind a firewall.";
691
+ logger.warn(`Failed to download font ${fontKey} ${mirrorMsg}`);
692
+ if (result.error)
693
+ logger.warn(` Error: ${result.error.message || result.error}`);
683
694
  return false;
684
695
  }
685
696
  } else if (f.path) {
@@ -995,4 +1006,4 @@ export {}
995
1006
  }
996
1007
  });
997
1008
 
998
- export { module as default };
1009
+ export { module$1 as default };