From 02fa6a1f25e7b09789c3fe3307ca3b839ebc5e7d Mon Sep 17 00:00:00 2001 From: OpenClaw Date: Mon, 13 Jul 2026 21:18:26 +0800 Subject: [PATCH 1/3] docs: add generated Go API reference --- .gitignore | 1 + README.md | 4 + docs/reference/_og/index.png | Bin 0 -> 51326 bytes docs/reference/_og/pkg-cmd-web.png | Bin 0 -> 56071 bytes docs/reference/_og/pkg-finder.png | Bin 0 -> 52613 bytes docs/reference/_og/pkg-internal-rwc.png | Bin 0 -> 57521 bytes docs/reference/_og/pkg-keyboard.png | Bin 0 -> 55802 bytes docs/reference/_og/pkg-server-service.png | Bin 0 -> 59428 bytes docs/reference/_og/pkg-server.png | Bin 0 -> 53131 bytes docs/reference/index.html | 83 + docs/reference/llms-full.txt | 61 + docs/reference/llms.txt | 13 + docs/reference/pkg-cmd-web.html | 83 + docs/reference/pkg-finder.html | 197 ++ docs/reference/pkg-internal-rwc.html | 80 + docs/reference/pkg-keyboard.html | 76 + docs/reference/pkg-server-service.html | 49 + docs/reference/pkg-server.html | 184 ++ docs/reference/search-index.json | 1 + docs/reference/sitemap.xml | 11 + docs/reference/sourcey.css | 2474 ++++++++++++++++++++ docs/reference/sourcey.js | 1 + docs/sourcey/fix-base-path.mjs | 27 + docs/sourcey/package.json | 15 + docs/sourcey/pnpm-lock.yaml | 2568 +++++++++++++++++++++ docs/sourcey/sourcey.config.ts | 49 + 26 files changed, 5977 insertions(+) create mode 100644 docs/reference/_og/index.png create mode 100644 docs/reference/_og/pkg-cmd-web.png create mode 100644 docs/reference/_og/pkg-finder.png create mode 100644 docs/reference/_og/pkg-internal-rwc.png create mode 100644 docs/reference/_og/pkg-keyboard.png create mode 100644 docs/reference/_og/pkg-server-service.png create mode 100644 docs/reference/_og/pkg-server.png create mode 100644 docs/reference/index.html create mode 100644 docs/reference/llms-full.txt create mode 100644 docs/reference/llms.txt create mode 100644 docs/reference/pkg-cmd-web.html create mode 100644 docs/reference/pkg-finder.html create mode 100644 docs/reference/pkg-internal-rwc.html create mode 100644 docs/reference/pkg-keyboard.html create mode 100644 docs/reference/pkg-server-service.html create mode 100644 docs/reference/pkg-server.html create mode 100644 docs/reference/search-index.json create mode 100644 docs/reference/sitemap.xml create mode 100644 docs/reference/sourcey.css create mode 100644 docs/reference/sourcey.js create mode 100644 docs/sourcey/fix-base-path.mjs create mode 100644 docs/sourcey/package.json create mode 100644 docs/sourcey/pnpm-lock.yaml create mode 100644 docs/sourcey/sourcey.config.ts diff --git a/.gitignore b/.gitignore index a051e14..22ae527 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ vendor/* dist/* build/* TySug +docs/sourcey/node_modules/ diff --git a/README.md b/README.md index 33cfc57..5168163 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,10 @@ Currently, it's a fairly naive approach and not (yet) backed by ML. # Using TySug +The generated [Go API reference](https://tysug.net/docs/reference/) covers the +library, web service, keyboard models, and runnable examples directly from the +current source tree. + You can use TySug as stand-alone webservice to match against a known-list. If you have Docker you'll have it up and running in a few minutes. ## TL;DR diff --git a/docs/reference/_og/index.png b/docs/reference/_og/index.png new file mode 100644 index 0000000000000000000000000000000000000000..68c966aae8b5eeaa85066526956f1827fc049ac1 GIT binary patch literal 51326 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%0D6SRT|O|a0NFh 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
ffK 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 CB8iIt literal 0 HcmV?d00001 diff --git a/docs/reference/_og/pkg-cmd-web.png b/docs/reference/_og/pkg-cmd-web.png new file mode 100644 index 0000000000000000000000000000000000000000..65b19c4cdc43465937d428c073d4ac41de37b729 GIT binary patch literal 56071 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 TJv0ga1yht)lPi@$KKcIu^qP06 literal 0 HcmV?d00001 diff --git a/docs/reference/_og/pkg-finder.png b/docs/reference/_og/pkg-finder.png new file mode 100644 index 0000000000000000000000000000000000000000..0823b57f264513680cd323ddafc26b8f8539ce48 GIT binary patch literal 52613 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 literal 0 HcmV?d00001 diff --git a/docs/reference/_og/pkg-keyboard.png b/docs/reference/_og/pkg-keyboard.png new file mode 100644 index 0000000000000000000000000000000000000000..7c35fecd19ea0ae97ac0ae0355e189213e6f165a GIT binary patch literal 55802 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
Cmd

cmd/web

github.com/Dynom/TySug/cmd/web

import "github.com/Dynom/TySug/cmd/web"

+ +

Variables

+

Version contains the app version, the value is changed during compile time to the appropriate Git tag

Source: cmd/web/main.go:16

+
+ +
+
var Version = "dev"
+
+

Types

+
+

type Config

+

Source: cmd/web/config.go:4

+

Config holds TySug's central config parameters

+
+
+ +
+
type Config struct {
+	References map[string][]string `toml:"references"`
+	Client     struct {
+		InputLengthMax int `toml:"inputLengthMax"`
+	} `toml:"client"`
+	CORS struct {
+		AllowedOrigins []string `toml:"allowedOrigins"`
+	} `toml:"CORS"`
+	Server struct {
+		ListenOn string `toml:"listenOn"`
+		Headers  []struct {
+			Name  string `toml:"name"`
+			Value string `toml:"value"`
+		} `toml:"headers"`
+		Log struct {
+			Level string `toml:"level"`
+		} `toml:"log"`
+		Profiler struct {
+			Enable bool   `toml:"enable"`
+			Prefix string `toml:"prefix"`
+		} `toml:"profiler"`
+	} `toml:"server"`
+}
+
+
Fields
  • References map[string][]string `toml:"references"`
  • Client struct { + InputLengthMax int `toml:"inputLengthMax"` +} `toml:"client"`
  • CORS struct { + AllowedOrigins []string `toml:"allowedOrigins"` +} `toml:"CORS"`
  • Server struct { + ListenOn string `toml:"listenOn"` + Headers []struct { + Name string `toml:"name"` + Value string `toml:"value"` + } `toml:"headers"` + Log struct { + Level string `toml:"level"` + } `toml:"log"` + Profiler struct { + Enable bool `toml:"enable"` + Prefix string `toml:"prefix"` + } `toml:"profiler"` +} `toml:"server"`
+
\ No newline at end of file diff --git a/docs/reference/llms-full.txt b/docs/reference/llms-full.txt new file mode 100644 index 0000000..c742e0c --- /dev/null +++ b/docs/reference/llms-full.txt @@ -0,0 +1,61 @@ +# TySug + +github.com/Dynom/TySug/cmd/web + +## Go API + +### cmd/web + +Path: `/docs/reference/pkg-cmd-web.html` + +github.com/Dynom/TySug/cmd/web + +import "github.com/Dynom/TySug/cmd/web" Index Variables Types type Config Variables Version contains the app version, the value is changed during compile time to the appropriate Git tag Source: cmd/web/main.go:16 Copy var Version = "dev" Types type Config Source: cmd/web/config.go:4 Config holds TySug's central config parameters Copy type Config struct { References map [ string ][] string `toml:"references"` Client struct { InputLengthMax int `toml:"inputLengthMax"` } `toml:"client"` CORS struct { AllowedOrigins [] string `toml:"allowedOrigins"` } `toml:"CORS"` Server struct { ListenOn string `toml:"listenOn"` Headers [] struct { Name string `toml:"name"` Value string `toml:"value"` } `toml:"headers"` Log struct { Level string `toml:"level"` } `toml:"log"` Profiler struct { Enable bool `toml:"enable"` Prefix string `toml:"prefix"` } `toml:"profiler"` } `toml:"server"` } Fields References map[string][]string `toml:"references"` Client struct { InputLengthMax int `toml:"inputLengthMax"` } `toml:"client"` CORS struct { AllowedOrigins []string `toml:"allowedOrigins"` } `toml:"CORS"` Server struct { ListenOn string `toml:"listenOn"` Headers []struct { Name string `toml:"name"` Value string `toml:"value"` } `toml:"headers"` Log struct { Level string `toml:"level"` } `toml:"log"` Profiler struct { Enable bool `toml:"enable"` Prefix string `toml:"prefix"` } `toml:"profiler"` } `toml:"server"` + +### finder + +Path: `/docs/reference/pkg-finder.html` + +github.com/Dynom/TySug/finder + +import "github.com/Dynom/TySug/finder" Index Constants Variables Functions func MarkingTypoProcessor() Processor func New(list []string, options ...Option) (*Finder, error) func NewDamerauLevenshtein() Algorithm func NewJaro() Algorithm func NewJaroWinkler(boostThreshold float64, prefixLength int) Algorithm func NewJaroWinklerDefaults() Algorithm func NewWagnerFischer(insert, delete, substitution int) Algorithm func WithAlgorithm(alg Algorithm) Option func WithLengthTolerance(t float64) Option func WithPreProcessor(p ...Processor) Option func WithPrefixBuckets(enable bool) Option Types type Algorithm type Finder type Option type Processor Constants These constants hold the value of the lowest and highest possible scores. Compatible with JSON serialization. It's not ideal to mix presentation with business logic but in this instance it was convenient and similarly effective as math.Inf(-1) Source: finder/find.go:38 Copy const ( WorstScoreValue = - 1 * math . MaxFloat32 BestScoreValue = math . MaxFloat32 ) Variables Source: finder/find.go:25 Copy var ( ErrNoAlgorithmDefined = errors . New ( "no algorithm defined" ) ErrPrefixExceedsInputLen = errors . New ( "prefix length exceeds input length" ) ) Functions func MarkingTypoProcessor() Processor Source: finder/processor.go:11 func New(list []string, options ...Option) (*Finder, error) Source: finder/find.go:43 New creates a new instance of Finder. The order of the list is significant func NewDamerauLevenshtein() Algorithm Source: finder/algorithm.go:43 NewDamerauLevenshtein returns the DamerauLevenshtein algorithm func NewJaro() Algorithm Source: finder/algorithm.go:66 NewJaro returns the default Jaro algorithm @see Original https://rosettacode.org/wiki/Jaro_distance#Go Relevant discussions: https://github.com/xrash/smetrics/issues/7#issuecomment-664794681 Changes over original: Reduced allocations Added rounding on the unaligned matches as per: http://www.alias-i.com/lingpipe/docs/api/com/aliasi/spell/JaroWinklerDistance.html Added support for 1 character inputs, by making sure the match distances is never negative func NewJaroWinkler(boostThreshold float64, prefixLength int) Algorithm Source: finder/algorithm.go:20 NewJaroWinkler returns the JaroWinkler algorithm func NewJaroWinklerDefaults() Algorithm Source: finder/algorithm.go:15 NewJaroWinklerDefaults returns the Jaro Winkler algorithm with 0.7 boost threshold and a prefix length of 4 func NewWagnerFischer(insert, delete, substitution int) Algorithm Source: finder/algorithm.go:51 NewWagnerFischer returns the NewWagnerFischer algorithm, sensible defaults are: i:1, d:3, s:1 func WithAlgorithm(alg Algorithm) Option Source: finder/option.go:7 WithAlgorithm allows you to set any algorithm func WithLengthTolerance(t float64) Option Source: finder/option.go:16 WithLengthTolerance defines a percentage of length above we no longer consider a length difference a typo, but instead we consider it as "completely wrong". A value of 0.2 specifies a tolerance of at most ~20% difference in size, with a minimum of 1 character. A value of 0 (the default) disables this feature. func WithPreProcessor(p ...Processor) Option Source: finder/option.go:32 func WithPrefixBuckets(enable bool) Option Source: finder/option.go:24 WithPrefixBuckets splits the reference list into buckets by their first letter. At a trade-off that the first character must be correct, this will significantly improve performance as it has a much smaller list to consider Types type Algorithm Source: finder/algorithm.go:12 Algorithm the type to comply with to create your own algorithm Note that the return value must be greater than WorstScoreValue and less than BestScoreValue Copy type Algorithm func ( a , b string ) float64 type Finder Source: finder/find.go:13 Finder is the type to find the nearest reference Copy type Finder struct { // contains filtered or unexported fields } func Exact(input string) bool Source: finder/find.go:94 Exact returns true if the input is an exact match. func Finder) Find(input string) (string, float64, bool) Source: finder/find.go:104 Find returns the best alternative, score and if it was an exact match or not. Since algorithms can define their own upper-bound, there is no "best" value. func FindCtx(ctx context.Context, input string) (string, float64, bool) Source: finder/find.go:110 FindCtx is the same as Find, with context support. func FindTopRankingCtx(ctx context.Context, input string) ([]string, float64, bool) Source: finder/find.go:116 FindTopRankingCtx returns a list (of at least one element) of references with the same "best" score func FindTopRankingPrefixCtx(ctx context.Context, input string, prefixLength uint) (list []string, exact bool, err error) Source: finder/find.go:123 FindTopRankingPrefixCtx requires the references to have an exact prefix match on N characters of the input. prefixLength cannot exceed length of input func GetMatchingPrefix(ctx context.Context, prefix string, max uint) ([]string, error) Source: finder/find.go:141 GetMatchingPrefix returns up to max ref's, that start with the prefix argument func Refresh(list []string) Source: finder/find.go:62 Refresh replaces the internal reference list. type Option Source: finder/option.go:4 Option is the type accepted by finder to set specific options Copy type Option func ( sug * Finder ) type Processor Source: finder/processor.go:9 Copy type Processor func ( string ) string + +### internal/rwc + +Path: `/docs/reference/pkg-internal-rwc.html` + +github.com/Dynom/TySug/internal/rwc + +import "github.com/Dynom/TySug/internal/rwc" Index Functions func New() *RWCMutex Types type RWCMutex type RWCMutexer Functions func New() *RWCMutex Source: internal/rwc/lock.go:19 Types type RWCMutex Source: internal/rwc/lock.go:27 Copy type RWCMutex struct { // contains filtered or unexported fields } func Lock() Source: internal/rwc/lock.go:37 Lock locks write workloads func RLock() Source: internal/rwc/lock.go:68 RLock allows read workloads to wait for writers to complete. func RUnlock() Source: internal/rwc/lock.go:76 RUnlock signals that a read workload is completed, so that a writer can start func Unlock() Source: internal/rwc/lock.go:51 Unlock releases locked write workloads type RWCMutexer Source: internal/rwc/lock.go:12 RWCMutexer is mostly just a copy & paste from sync.RWMutex but with channels. It outperforms sync.RWMutex on workloads with many short-read locks scenarios versus small wlock. See benchmarks for context Copy type RWCMutexer interface { RLock () RUnlock () Lock () Unlock () } Methods RLock func() RUnlock func() Lock func() Unlock func() + +### keyboard + +Path: `/docs/reference/pkg-keyboard.html` + +github.com/Dynom/TySug/keyboard + +import "github.com/Dynom/TySug/keyboard" Index Constants Functions func New(l Layout) KeyDist Types type KeyDist type Layout Constants Predefined keyboard layouts Source: keyboard/distance.go:12 Copy const ( Default Layout = QwertyUS QwertyUS Layout = "qwerty-us" ) Functions func New(l Layout) KeyDist Source: keyboard/distance.go:56 New produces a new instance of KeyDist, based on the keyboard layout you choose Types type KeyDist Source: keyboard/distance.go:51 KeyDist is the type that allows to find the best alternative based on keyboard layouts Copy type KeyDist struct { // contains filtered or unexported fields } func CalculateDistance(input, ref string) float64 Source: keyboard/distance.go:79 CalculateDistance calculates the total distances of the reference to the input func FindNearest(input string, list []string) (string, float64) Source: keyboard/distance.go:63 FindNearest finds the item in the list that is nearest to the input, based on the keyboard layout type Layout Source: keyboard/distance.go:8 Layout is the type used to define keyboard layouts Copy type Layout string + +### server + +Path: `/docs/reference/pkg-server.html` + +github.com/Dynom/TySug/server + +import "github.com/Dynom/TySug/server" Index Constants Variables Functions func NewHTTP(sr ServiceRegistry, mux *http.ServeMux, options ...Option) TySugServer func NewServiceRegistry() ServiceRegistry func WithCORS(allowedOrigins []string) Option func WithDefaultHeaders(headers http.Header) Option func WithGzipHandler() Option func WithInputLimitValidator(inputMax int) Option func WithLogger(logger *logrus.Logger) Option func WithPProf(prefix string) Option Types type Option type Service type ServiceRegistry type TySugServer type Validator Constants Context value parameters Source: server/http.go:29 Copy const ( CtxRequestID contextKey = iota ) Header constants Source: server/http.go:34 Copy const ( HeaderRequestID = "X-Request-ID" ) Variables Errors Source: server/http.go:19 Copy var ( ErrMissingBody = errors . New ( "missing body" ) ErrInvalidRequest = errors . New ( "invalid request" ) ErrInvalidRequestBody = errors . New ( "invalid request body" ) ErrBodyTooLarge = errors . New ( "body too large" ) ) Functions func NewHTTP(sr ServiceRegistry, mux *http.ServeMux, options ...Option) TySugServer Source: server/http.go:73 NewHTTP constructs a new TySugServer func NewServiceRegistry() ServiceRegistry Source: server/service_registry.go:14 NewServiceRegistry creates a new registry func WithCORS(allowedOrigins []string) Option Source: server/option.go:51 WithCORS adds the CORS handler to the request handling func WithDefaultHeaders(headers http.Header) Option Source: server/option.go:30 WithDefaultHeaders sets the default headers to be used when writing a response. func WithGzipHandler() Option Source: server/option.go:96 WithGzipHandler adds a gzip handler to the server's handlers func WithInputLimitValidator(inputMax int) Option Source: server/option.go:75 WithInputLimitValidator specifies a max input-value limit validator func WithLogger(logger *logrus.Logger) Option Source: server/option.go:19 WithLogger sets the logger to be used when encountering http-related errors. Errors are written to the standard error output in most cases. Printing on the standard output is reserved to extreme case where writing on stderr failed. func WithPProf(prefix string) Option Source: server/option.go:103 WithPProf enables pprof Types type Option Source: server/option.go:14 Option is a handy type used for configuration purposes Copy type Option func ( * TySugServer ) type Service Source: server/service.go:6 Service is the type any service must implement Copy type Service interface { Find ( ctx context . Context , input string ) ( string , float64 , bool ) } Methods Find func(ctx context.Context, input string) (string, float64, bool) type ServiceRegistry Source: server/service_registry.go:8 ServiceRegistry holds (opinionated) service objects for handling specific requests Copy type ServiceRegistry struct { // contains filtered or unexported fields } func GetServiceForList(name string) Service Source: server/service_registry.go:31 GetServiceForList returns a service able to handle a specific list func HasServiceForList(name string) bool Source: server/service_registry.go:40 HasServiceForList returns true only if a service has been registered for a certain list func Register(listName string, svc Service) *ServiceRegistry Source: server/service_registry.go:22 Register registers a new service with a list of references type TySugServer Source: server/http.go:56 TySugServer the HTTP server Copy type TySugServer struct { Logger * logrus . Logger // contains filtered or unexported fields } Fields Logger *logrus.Logger func ListenOnAndServe(addr string) error Source: server/http.go:66 ListenOnAndServe allows to set the host:port URL late. It calls ListenAndServe() type Validator Source: server/http.go:53 Validator is a type to validate a client request, returning a nil error means all went well. Copy type Validator func ( TSRequest tySugRequest ) error + +### server/service + +Path: `/docs/reference/pkg-server-service.html` + +github.com/Dynom/TySug/server/service + +import "github.com/Dynom/TySug/server/service" Index Functions func NewDomain(references []string, logger *logrus.Logger, options ...finder.Option) (Service, error) Types type Service Functions func NewDomain(references []string, logger *logrus.Logger, options ...finder.Option) (Service, error) Source: server/service/domain.go:14 NewDomain creates a new service Types type Service Source: server/service/domain.go:33 Service is the service type Copy type Service struct { // contains filtered or unexported fields } func Find(ctx context.Context, input string) (string, float64, bool) Source: server/service/domain.go:40 Find returns the nearest reference + +### Go API + +Path: `/docs/reference/` + +github.com/Dynom/TySug + +github.com/Dynom/TySug cmd/web github.com/Dynom/TySug/cmd/web finder github.com/Dynom/TySug/finder internal/rwc github.com/Dynom/TySug/internal/rwc keyboard github.com/Dynom/TySug/keyboard server github.com/Dynom/TySug/server server/service github.com/Dynom/TySug/server/service diff --git a/docs/reference/llms.txt b/docs/reference/llms.txt new file mode 100644 index 0000000..f3f1452 --- /dev/null +++ b/docs/reference/llms.txt @@ -0,0 +1,13 @@ +# TySug + +> github.com/Dynom/TySug/cmd/web + +## Go API + +- [cmd/web](/docs/reference/pkg-cmd-web.html): github.com/Dynom/TySug/cmd/web +- [finder](/docs/reference/pkg-finder.html): github.com/Dynom/TySug/finder +- [internal/rwc](/docs/reference/pkg-internal-rwc.html): github.com/Dynom/TySug/internal/rwc +- [keyboard](/docs/reference/pkg-keyboard.html): github.com/Dynom/TySug/keyboard +- [server](/docs/reference/pkg-server.html): github.com/Dynom/TySug/server +- [server/service](/docs/reference/pkg-server-service.html): github.com/Dynom/TySug/server/service +- [Go API](/docs/reference/): github.com/Dynom/TySug diff --git a/docs/reference/pkg-cmd-web.html b/docs/reference/pkg-cmd-web.html new file mode 100644 index 0000000..cab9ac6 --- /dev/null +++ b/docs/reference/pkg-cmd-web.html @@ -0,0 +1,83 @@ + +cmd/web - TySug
Cmd

cmd/web

github.com/Dynom/TySug/cmd/web

import "github.com/Dynom/TySug/cmd/web"

+ +

Variables

+

Version contains the app version, the value is changed during compile time to the appropriate Git tag

Source: cmd/web/main.go:16

+
+ +
+
var Version = "dev"
+
+

Types

+
+

type Config

+

Source: cmd/web/config.go:4

+

Config holds TySug's central config parameters

+
+
+ +
+
type Config struct {
+	References map[string][]string `toml:"references"`
+	Client     struct {
+		InputLengthMax int `toml:"inputLengthMax"`
+	} `toml:"client"`
+	CORS struct {
+		AllowedOrigins []string `toml:"allowedOrigins"`
+	} `toml:"CORS"`
+	Server struct {
+		ListenOn string `toml:"listenOn"`
+		Headers  []struct {
+			Name  string `toml:"name"`
+			Value string `toml:"value"`
+		} `toml:"headers"`
+		Log struct {
+			Level string `toml:"level"`
+		} `toml:"log"`
+		Profiler struct {
+			Enable bool   `toml:"enable"`
+			Prefix string `toml:"prefix"`
+		} `toml:"profiler"`
+	} `toml:"server"`
+}
+
+
Fields
  • References map[string][]string `toml:"references"`
  • Client struct { + InputLengthMax int `toml:"inputLengthMax"` +} `toml:"client"`
  • CORS struct { + AllowedOrigins []string `toml:"allowedOrigins"` +} `toml:"CORS"`
  • Server struct { + ListenOn string `toml:"listenOn"` + Headers []struct { + Name string `toml:"name"` + Value string `toml:"value"` + } `toml:"headers"` + Log struct { + Level string `toml:"level"` + } `toml:"log"` + Profiler struct { + Enable bool `toml:"enable"` + Prefix string `toml:"prefix"` + } `toml:"profiler"` +} `toml:"server"`
+
\ No newline at end of file diff --git a/docs/reference/pkg-finder.html b/docs/reference/pkg-finder.html new file mode 100644 index 0000000..67c2a63 --- /dev/null +++ b/docs/reference/pkg-finder.html @@ -0,0 +1,197 @@ + +finder - TySug
Finder

finder

github.com/Dynom/TySug/finder

import "github.com/Dynom/TySug/finder"

+ +

Constants

+

These constants hold the value of the lowest and highest possible scores. Compatible with JSON serialization. +It's not ideal to mix presentation with business logic but in this instance it was convenient and similarly +effective as math.Inf(-1)

Source: finder/find.go:38

+
+ +
+
const (
+	WorstScoreValue = -1 * math.MaxFloat32
+	BestScoreValue  = math.MaxFloat32
+)
+
+ +

Variables

+

Source: finder/find.go:25

+
+ +
+
var (
+	ErrNoAlgorithmDefined    = errors.New("no algorithm defined")
+	ErrPrefixExceedsInputLen = errors.New("prefix length exceeds input length")
+)
+
+ +

Functions

+
+

func MarkingTypoProcessor() Processor

+

Source: finder/processor.go:11

+
+
+

func New(list []string, options ...Option) (*Finder, error)

+

Source: finder/find.go:43

+

New creates a new instance of Finder. The order of the list is significant

+
+
+

func NewDamerauLevenshtein() Algorithm

+

Source: finder/algorithm.go:43

+

NewDamerauLevenshtein returns the DamerauLevenshtein algorithm

+
+
+

func NewJaro() Algorithm

+

Source: finder/algorithm.go:66

+

NewJaro returns the default Jaro algorithm +@see Original https://rosettacode.org/wiki/Jaro_distance#Go +Relevant discussions: https://github.com/xrash/smetrics/issues/7#issuecomment-664794681 +Changes over original:

+
+
+
+

func NewJaroWinkler(boostThreshold float64, prefixLength int) Algorithm

+

Source: finder/algorithm.go:20

+

NewJaroWinkler returns the JaroWinkler algorithm

+
+
+

func NewJaroWinklerDefaults() Algorithm

+

Source: finder/algorithm.go:15

+

NewJaroWinklerDefaults returns the Jaro Winkler algorithm with 0.7 boost threshold and a prefix length of 4

+
+
+

func NewWagnerFischer(insert, delete, substitution int) Algorithm

+

Source: finder/algorithm.go:51

+

NewWagnerFischer returns the NewWagnerFischer algorithm, sensible defaults are: i:1, d:3, s:1

+
+
+

func WithAlgorithm(alg Algorithm) Option

+

Source: finder/option.go:7

+

WithAlgorithm allows you to set any algorithm

+
+
+

func WithLengthTolerance(t float64) Option

+

Source: finder/option.go:16

+

WithLengthTolerance defines a percentage of length above we no longer consider a length difference a typo, but +instead we consider it as "completely wrong". A value of 0.2 specifies a tolerance of at most ~20% difference in +size, with a minimum of 1 character. A value of 0 (the default) disables this feature.

+
+
+

func WithPreProcessor(p ...Processor) Option

+

Source: finder/option.go:32

+
+
+

func WithPrefixBuckets(enable bool) Option

+

Source: finder/option.go:24

+

WithPrefixBuckets splits the reference list into buckets by their first letter. At a trade-off that the first +character must be correct, this will significantly improve performance as it has a much smaller list to consider

+
+

Types

+
+

type Algorithm

+

Source: finder/algorithm.go:12

+

Algorithm the type to comply with to create your own algorithm +Note that the return value must be greater than WorstScoreValue and less than BestScoreValue

+
+
+ +
+
type Algorithm func(a, b string) float64
+
+
+
+

type Finder

+

Source: finder/find.go:13

+

Finder is the type to find the nearest reference

+
+
+ +
+
type Finder struct {
+	// contains filtered or unexported fields
+}
+
+
+

func Exact(input string) bool

+

Source: finder/find.go:94

+

Exact returns true if the input is an exact match.

+
+
+

func Finder) Find(input string) (string, float64, bool)

+

Source: finder/find.go:104

+

Find returns the best alternative, score and if it was an exact match or not. +Since algorithms can define their own upper-bound, there is no "best" value.

+
+
+

func FindCtx(ctx context.Context, input string) (string, float64, bool)

+

Source: finder/find.go:110

+

FindCtx is the same as Find, with context support.

+
+
+

func FindTopRankingCtx(ctx context.Context, input string) ([]string, float64, bool)

+

Source: finder/find.go:116

+

FindTopRankingCtx returns a list (of at least one element) of references with the same "best" score

+
+
+

func FindTopRankingPrefixCtx(ctx context.Context, input string, prefixLength uint) (list []string, exact bool, err error)

+

Source: finder/find.go:123

+

FindTopRankingPrefixCtx requires the references to have an exact prefix match on N characters of the input. +prefixLength cannot exceed length of input

+
+
+

func GetMatchingPrefix(ctx context.Context, prefix string, max uint) ([]string, error)

+

Source: finder/find.go:141

+

GetMatchingPrefix returns up to max ref's, that start with the prefix argument

+
+
+

func Refresh(list []string)

+

Source: finder/find.go:62

+

Refresh replaces the internal reference list.

+
+
+
+

type Option

+

Source: finder/option.go:4

+

Option is the type accepted by finder to set specific options

+
+
+ +
+
type Option func(sug *Finder)
+
+
+
+

type Processor

+

Source: finder/processor.go:9

+
+
+ +
+
type Processor func(string) string
+
+
\ No newline at end of file diff --git a/docs/reference/pkg-internal-rwc.html b/docs/reference/pkg-internal-rwc.html new file mode 100644 index 0000000..cb4cd0c --- /dev/null +++ b/docs/reference/pkg-internal-rwc.html @@ -0,0 +1,80 @@ + +internal/rwc - TySug
Internal

internal/rwc

github.com/Dynom/TySug/internal/rwc

import "github.com/Dynom/TySug/internal/rwc"

+ +

Functions

+
+

func New() *RWCMutex

+

Source: internal/rwc/lock.go:19

+
+

Types

+
+

type RWCMutex

+

Source: internal/rwc/lock.go:27

+
+
+ +
+
type RWCMutex struct {
+	// contains filtered or unexported fields
+}
+
+
+

func Lock()

+

Source: internal/rwc/lock.go:37

+

Lock locks write workloads

+
+
+

func RLock()

+

Source: internal/rwc/lock.go:68

+

RLock allows read workloads to wait for writers to complete.

+
+
+

func RUnlock()

+

Source: internal/rwc/lock.go:76

+

RUnlock signals that a read workload is completed, so that a writer can start

+
+
+

func Unlock()

+

Source: internal/rwc/lock.go:51

+

Unlock releases locked write workloads

+
+
+
+

type RWCMutexer

+

Source: internal/rwc/lock.go:12

+

RWCMutexer is mostly just a copy & paste from sync.RWMutex but with channels. It outperforms sync.RWMutex +on workloads with many short-read locks scenarios versus small wlock. See benchmarks for context

+
+
+ +
+
type RWCMutexer interface {
+	RLock()
+	RUnlock()
+	Lock()
+	Unlock()
+}
+
+
Methods
  • RLock func()
  • RUnlock func()
  • Lock func()
  • Unlock func()
+
\ No newline at end of file diff --git a/docs/reference/pkg-keyboard.html b/docs/reference/pkg-keyboard.html new file mode 100644 index 0000000..d8fdff5 --- /dev/null +++ b/docs/reference/pkg-keyboard.html @@ -0,0 +1,76 @@ + +keyboard - TySug
Keyboard

keyboard

github.com/Dynom/TySug/keyboard

import "github.com/Dynom/TySug/keyboard"

+ +

Constants

+

Predefined keyboard layouts

Source: keyboard/distance.go:12

+
+ +
+
const (
+	Default  Layout = QwertyUS
+	QwertyUS Layout = "qwerty-us"
+)
+
+ +

Functions

+
+

func New(l Layout) KeyDist

+

Source: keyboard/distance.go:56

+

New produces a new instance of KeyDist, based on the keyboard layout you choose

+
+

Types

+
+

type KeyDist

+

Source: keyboard/distance.go:51

+

KeyDist is the type that allows to find the best alternative based on keyboard layouts

+
+
+ +
+
type KeyDist struct {
+	// contains filtered or unexported fields
+}
+
+
+

func CalculateDistance(input, ref string) float64

+

Source: keyboard/distance.go:79

+

CalculateDistance calculates the total distances of the reference to the input

+
+
+

func FindNearest(input string, list []string) (string, float64)

+

Source: keyboard/distance.go:63

+

FindNearest finds the item in the list that is nearest to the input, based on the keyboard layout

+
+
+
+

type Layout

+

Source: keyboard/distance.go:8

+

Layout is the type used to define keyboard layouts

+
+
+ +
+
type Layout string
+
+
\ No newline at end of file diff --git a/docs/reference/pkg-server-service.html b/docs/reference/pkg-server-service.html new file mode 100644 index 0000000..b875d1b --- /dev/null +++ b/docs/reference/pkg-server-service.html @@ -0,0 +1,49 @@ + +server/service - TySug
Server

server/service

github.com/Dynom/TySug/server/service

import "github.com/Dynom/TySug/server/service"

+ +

Functions

+
+

func NewDomain(references []string, logger *logrus.Logger, options ...finder.Option) (Service, error)

+

Source: server/service/domain.go:14

+

NewDomain creates a new service

+
+

Types

+
+

type Service

+

Source: server/service/domain.go:33

+

Service is the service type

+
+
+ +
+
type Service struct {
+	// contains filtered or unexported fields
+}
+
+
+

func Find(ctx context.Context, input string) (string, float64, bool)

+

Source: server/service/domain.go:40

+

Find returns the nearest reference

+
+
\ No newline at end of file diff --git a/docs/reference/pkg-server.html b/docs/reference/pkg-server.html new file mode 100644 index 0000000..8f4288f --- /dev/null +++ b/docs/reference/pkg-server.html @@ -0,0 +1,184 @@ + +server - TySug
Server

server

github.com/Dynom/TySug/server

import "github.com/Dynom/TySug/server"

+ +

Constants

+

Context value parameters

Source: server/http.go:29

+
+ +
+
const (
+	CtxRequestID contextKey = iota
+)
+
+

Header constants

Source: server/http.go:34

+
+ +
+
const (
+	HeaderRequestID = "X-Request-ID"
+)
+
+

Variables

+

Errors

Source: server/http.go:19

+
+ +
+
var (
+	ErrMissingBody        = errors.New("missing body")
+	ErrInvalidRequest     = errors.New("invalid request")
+	ErrInvalidRequestBody = errors.New("invalid request body")
+	ErrBodyTooLarge       = errors.New("body too large")
+)
+
+ + + +

Functions

+
+

func NewHTTP(sr ServiceRegistry, mux *http.ServeMux, options ...Option) TySugServer

+

Source: server/http.go:73

+

NewHTTP constructs a new TySugServer

+
+
+

func NewServiceRegistry() ServiceRegistry

+

Source: server/service_registry.go:14

+

NewServiceRegistry creates a new registry

+
+
+

func WithCORS(allowedOrigins []string) Option

+

Source: server/option.go:51

+

WithCORS adds the CORS handler to the request handling

+
+
+

func WithDefaultHeaders(headers http.Header) Option

+

Source: server/option.go:30

+

WithDefaultHeaders sets the default headers to be used when writing a response.

+
+
+

func WithGzipHandler() Option

+

Source: server/option.go:96

+

WithGzipHandler adds a gzip handler to the server's handlers

+
+
+

func WithInputLimitValidator(inputMax int) Option

+

Source: server/option.go:75

+

WithInputLimitValidator specifies a max input-value limit validator

+
+
+

func WithLogger(logger *logrus.Logger) Option

+

Source: server/option.go:19

+

WithLogger sets the logger to be used when encountering http-related errors. +Errors are written to the standard error output in most cases. Printing on the +standard output is reserved to extreme case where writing on stderr failed.

+
+
+

func WithPProf(prefix string) Option

+

Source: server/option.go:103

+

WithPProf enables pprof

+
+

Types

+
+

type Option

+

Source: server/option.go:14

+

Option is a handy type used for configuration purposes

+
+
+ +
+
type Option func(*TySugServer)
+
+
+
+

type Service

+

Source: server/service.go:6

+

Service is the type any service must implement

+
+
+ +
+
type Service interface {
+	Find(ctx context.Context, input string) (string, float64, bool)
+}
+
+
Methods
  • Find func(ctx context.Context, input string) (string, float64, bool)
+
+
+

type ServiceRegistry

+

Source: server/service_registry.go:8

+

ServiceRegistry holds (opinionated) service objects for handling specific requests

+
+
+ +
+
type ServiceRegistry struct {
+	// contains filtered or unexported fields
+}
+
+
+

func GetServiceForList(name string) Service

+

Source: server/service_registry.go:31

+

GetServiceForList returns a service able to handle a specific list

+
+
+

func HasServiceForList(name string) bool

+

Source: server/service_registry.go:40

+

HasServiceForList returns true only if a service has been registered for a certain list

+
+
+

func Register(listName string, svc Service) *ServiceRegistry

+

Source: server/service_registry.go:22

+

Register registers a new service with a list of references

+
+
+
+

type TySugServer

+

Source: server/http.go:56

+

TySugServer the HTTP server

+
+
+ +
+
type TySugServer struct {
+	Logger *logrus.Logger
+	// contains filtered or unexported fields
+}
+
+
Fields
  • Logger *logrus.Logger
+
+

func ListenOnAndServe(addr string) error

+

Source: server/http.go:66

+

ListenOnAndServe allows to set the host:port URL late. It calls ListenAndServe()

+
+
+
+

type Validator

+

Source: server/http.go:53

+

Validator is a type to validate a client request, returning a nil error means all went well.

+
+
+ +
+
type Validator func(TSRequest tySugRequest) error
+
+
\ No newline at end of file diff --git a/docs/reference/search-index.json b/docs/reference/search-index.json new file mode 100644 index 0000000..20595d5 --- /dev/null +++ b/docs/reference/search-index.json @@ -0,0 +1 @@ +[{"title":"cmd/web","content":"github.com/Dynom/TySug/cmd/web","url":"/docs/reference/pkg-cmd-web.html","tab":"Go API","category":"Pages"},{"title":"Variables","content":"cmd/web - Variables","url":"/docs/reference/pkg-cmd-web.html#variables","tab":"Go API","category":"Sections"},{"title":"Types","content":"cmd/web - Types","url":"/docs/reference/pkg-cmd-web.html#types","tab":"Go API","category":"Sections"},{"title":"Config","content":"cmd/web - Config","url":"/docs/reference/pkg-cmd-web.html#type-Config","tab":"Go API","category":"Sections"},{"title":"var Version","content":"Version contains the app version, the value is changed during compile time to the appropriate Git tag\n\nvar Version = \"dev\"","url":"/docs/reference/pkg-cmd-web.html#var-Version","tab":"Go API","category":"go variable"},{"title":"type Config","content":"Config holds TySug's central config parameters\n\ntype Config struct {\n\tReferences map[string][]string `toml:\"references\"`\n\tClient struct {\n\t\tInputLengthMax int `toml:\"inputLengthMax\"`\n\t} `toml:\"client\"`\n\tCORS struct {\n\t\tAllowedOrigins []string `toml:\"allowedOrigins\"`\n\t} `toml:\"CORS\"`\n\tServer struct {\n\t\tListenOn string `toml:\"listenOn\"`\n\t\tHeaders []struct {\n\t\t\tName string `toml:\"name\"`\n\t\t\tValue string `toml:\"value\"`\n\t\t} `toml:\"headers\"`\n\t\tLog struct {\n\t\t\tLevel string `toml:\"level\"`\n\t\t} `toml","url":"/docs/reference/pkg-cmd-web.html#type-Config","tab":"Go API","category":"go type"},{"title":"finder","content":"github.com/Dynom/TySug/finder","url":"/docs/reference/pkg-finder.html","tab":"Go API","category":"Pages"},{"title":"Constants","content":"finder - Constants","url":"/docs/reference/pkg-finder.html#constants","tab":"Go API","category":"Sections"},{"title":"Variables","content":"finder - Variables","url":"/docs/reference/pkg-finder.html#variables","tab":"Go API","category":"Sections"},{"title":"Functions","content":"finder - Functions","url":"/docs/reference/pkg-finder.html#functions","tab":"Go API","category":"Sections"},{"title":"MarkingTypoProcessor","content":"finder - MarkingTypoProcessor","url":"/docs/reference/pkg-finder.html#func-MarkingTypoProcessor","tab":"Go API","category":"Sections"},{"title":"New","content":"finder - New","url":"/docs/reference/pkg-finder.html#func-New","tab":"Go API","category":"Sections"},{"title":"NewDamerauLevenshtein","content":"finder - NewDamerauLevenshtein","url":"/docs/reference/pkg-finder.html#func-NewDamerauLevenshtein","tab":"Go API","category":"Sections"},{"title":"NewJaro","content":"finder - NewJaro","url":"/docs/reference/pkg-finder.html#func-NewJaro","tab":"Go API","category":"Sections"},{"title":"NewJaroWinkler","content":"finder - NewJaroWinkler","url":"/docs/reference/pkg-finder.html#func-NewJaroWinkler","tab":"Go API","category":"Sections"},{"title":"NewJaroWinklerDefaults","content":"finder - NewJaroWinklerDefaults","url":"/docs/reference/pkg-finder.html#func-NewJaroWinklerDefaults","tab":"Go API","category":"Sections"},{"title":"NewWagnerFischer","content":"finder - NewWagnerFischer","url":"/docs/reference/pkg-finder.html#func-NewWagnerFischer","tab":"Go API","category":"Sections"},{"title":"WithAlgorithm","content":"finder - WithAlgorithm","url":"/docs/reference/pkg-finder.html#func-WithAlgorithm","tab":"Go API","category":"Sections"},{"title":"WithLengthTolerance","content":"finder - WithLengthTolerance","url":"/docs/reference/pkg-finder.html#func-WithLengthTolerance","tab":"Go API","category":"Sections"},{"title":"WithPreProcessor","content":"finder - WithPreProcessor","url":"/docs/reference/pkg-finder.html#func-WithPreProcessor","tab":"Go API","category":"Sections"},{"title":"WithPrefixBuckets","content":"finder - WithPrefixBuckets","url":"/docs/reference/pkg-finder.html#func-WithPrefixBuckets","tab":"Go API","category":"Sections"},{"title":"Types","content":"finder - Types","url":"/docs/reference/pkg-finder.html#types","tab":"Go API","category":"Sections"},{"title":"Algorithm","content":"finder - Algorithm","url":"/docs/reference/pkg-finder.html#type-Algorithm","tab":"Go API","category":"Sections"},{"title":"Finder","content":"finder - Finder","url":"/docs/reference/pkg-finder.html#type-Finder","tab":"Go API","category":"Sections"},{"title":"Option","content":"finder - Option","url":"/docs/reference/pkg-finder.html#type-Option","tab":"Go API","category":"Sections"},{"title":"Processor","content":"finder - Processor","url":"/docs/reference/pkg-finder.html#type-Processor","tab":"Go API","category":"Sections"},{"title":"const WorstScoreValue","content":"These constants hold the value of the lowest and highest possible scores. Compatible with JSON serialization.\nIt's not ideal to mix presentation with business logic but in this instance it was convenient and similarly\neffective as math.Inf(-1)\n\nconst (\n\tWorstScoreValue = -1 * math.MaxFloat32\n\tBestScoreValue = math.MaxFloat32\n)","url":"/docs/reference/pkg-finder.html#const-WorstScoreValue","tab":"Go API","category":"go constant"},{"title":"const BestScoreValue","content":"These constants hold the value of the lowest and highest possible scores. Compatible with JSON serialization.\nIt's not ideal to mix presentation with business logic but in this instance it was convenient and similarly\neffective as math.Inf(-1)\n\nconst (\n\tWorstScoreValue = -1 * math.MaxFloat32\n\tBestScoreValue = math.MaxFloat32\n)","url":"/docs/reference/pkg-finder.html#const-BestScoreValue","tab":"Go API","category":"go constant"},{"title":"var ErrNoAlgorithmDefined","content":"var (\n\tErrNoAlgorithmDefined = errors.New(\"no algorithm defined\")\n\tErrPrefixExceedsInputLen = errors.New(\"prefix length exceeds input length\")\n)","url":"/docs/reference/pkg-finder.html#var-ErrNoAlgorithmDefined","tab":"Go API","category":"go variable"},{"title":"var ErrPrefixExceedsInputLen","content":"var (\n\tErrNoAlgorithmDefined = errors.New(\"no algorithm defined\")\n\tErrPrefixExceedsInputLen = errors.New(\"prefix length exceeds input length\")\n)","url":"/docs/reference/pkg-finder.html#var-ErrPrefixExceedsInputLen","tab":"Go API","category":"go variable"},{"title":"func MarkingTypoProcessor() Processor","content":"func MarkingTypoProcessor() Processor","url":"/docs/reference/pkg-finder.html#func-MarkingTypoProcessor","tab":"Go API","category":"go function"},{"title":"func New(list []string, options ...Option) (*Finder, error)","content":"New creates a new instance of Finder. The order of the list is significant\n\nfunc New(list []string, options ...Option) (*Finder, error)","url":"/docs/reference/pkg-finder.html#func-New","tab":"Go API","category":"go function"},{"title":"func NewDamerauLevenshtein() Algorithm","content":"NewDamerauLevenshtein returns the DamerauLevenshtein algorithm\n\nfunc NewDamerauLevenshtein() Algorithm","url":"/docs/reference/pkg-finder.html#func-NewDamerauLevenshtein","tab":"Go API","category":"go function"},{"title":"func NewJaro() Algorithm","content":"NewJaro returns the default Jaro algorithm\n@see Original https://rosettacode.org/wiki/Jaro_distance#Go\nRelevant discussions: https://github.com/xrash/smetrics/issues/7#issuecomment-664794681\nChanges over original:\n- Reduced allocations\n- Added rounding on the unaligned matches as per: http://www.alias-i.com/lingpipe/docs/api/com/aliasi/spell/JaroWinklerDistance.html\n- Added support for 1 character inputs, by making sure the match distances is never negative\n\nfunc NewJaro() Algorithm","url":"/docs/reference/pkg-finder.html#func-NewJaro","tab":"Go API","category":"go function"},{"title":"func NewJaroWinkler(boostThreshold float64, prefixLength int) Algorithm","content":"NewJaroWinkler returns the JaroWinkler algorithm\n\nfunc NewJaroWinkler(boostThreshold float64, prefixLength int) Algorithm","url":"/docs/reference/pkg-finder.html#func-NewJaroWinkler","tab":"Go API","category":"go function"},{"title":"func NewJaroWinklerDefaults() Algorithm","content":"NewJaroWinklerDefaults returns the Jaro Winkler algorithm with 0.7 boost threshold and a prefix length of 4\n\nfunc NewJaroWinklerDefaults() Algorithm","url":"/docs/reference/pkg-finder.html#func-NewJaroWinklerDefaults","tab":"Go API","category":"go function"},{"title":"func NewWagnerFischer(insert, delete, substitution int) Algorithm","content":"NewWagnerFischer returns the NewWagnerFischer algorithm, sensible defaults are: i:1, d:3, s:1\n\nfunc NewWagnerFischer(insert, delete, substitution int) Algorithm","url":"/docs/reference/pkg-finder.html#func-NewWagnerFischer","tab":"Go API","category":"go function"},{"title":"func WithAlgorithm(alg Algorithm) Option","content":"WithAlgorithm allows you to set any algorithm\n\nfunc WithAlgorithm(alg Algorithm) Option","url":"/docs/reference/pkg-finder.html#func-WithAlgorithm","tab":"Go API","category":"go function"},{"title":"func WithLengthTolerance(t float64) Option","content":"WithLengthTolerance defines a percentage of length above we no longer consider a length difference a typo, but\ninstead we consider it as \"completely wrong\". A value of 0.2 specifies a tolerance of at most ~20% difference in\nsize, with a minimum of 1 character. A value of 0 (the default) disables this feature.\n\nfunc WithLengthTolerance(t float64) Option","url":"/docs/reference/pkg-finder.html#func-WithLengthTolerance","tab":"Go API","category":"go function"},{"title":"func WithPreProcessor(p ...Processor) Option","content":"func WithPreProcessor(p ...Processor) Option","url":"/docs/reference/pkg-finder.html#func-WithPreProcessor","tab":"Go API","category":"go function"},{"title":"func WithPrefixBuckets(enable bool) Option","content":"WithPrefixBuckets splits the reference list into buckets by their first letter. At a trade-off that the first\ncharacter must be correct, this will significantly improve performance as it has a much smaller list to consider\n\nfunc WithPrefixBuckets(enable bool) Option","url":"/docs/reference/pkg-finder.html#func-WithPrefixBuckets","tab":"Go API","category":"go function"},{"title":"type Algorithm","content":"Algorithm the type to comply with to create your own algorithm\nNote that the return value must be greater than WorstScoreValue and less than BestScoreValue\n\ntype Algorithm func(a, b string) float64","url":"/docs/reference/pkg-finder.html#type-Algorithm","tab":"Go API","category":"go type"},{"title":"type Finder","content":"Finder is the type to find the nearest reference\n\ntype Finder struct {\n\t// contains filtered or unexported fields\n}","url":"/docs/reference/pkg-finder.html#type-Finder","tab":"Go API","category":"go type"},{"title":"Finder.Exact","content":"Exact returns true if the input is an exact match.\n\nfunc Exact(input string) bool","url":"/docs/reference/pkg-finder.html#method-Finder-Exact","tab":"Go API","category":"go method"},{"title":"Finder.Find","content":"Find returns the best alternative, score and if it was an exact match or not.\nSince algorithms can define their own upper-bound, there is no \"best\" value.\n\nfunc Finder) Find(input string) (string, float64, bool)","url":"/docs/reference/pkg-finder.html#method-Finder-Find","tab":"Go API","category":"go method"},{"title":"Finder.FindCtx","content":"FindCtx is the same as Find, with context support.\n\nfunc FindCtx(ctx context.Context, input string) (string, float64, bool)","url":"/docs/reference/pkg-finder.html#method-Finder-FindCtx","tab":"Go API","category":"go method"},{"title":"Finder.FindTopRankingCtx","content":"FindTopRankingCtx returns a list (of at least one element) of references with the same \"best\" score\n\nfunc FindTopRankingCtx(ctx context.Context, input string) ([]string, float64, bool)","url":"/docs/reference/pkg-finder.html#method-Finder-FindTopRankingCtx","tab":"Go API","category":"go method"},{"title":"Finder.FindTopRankingPrefixCtx","content":"FindTopRankingPrefixCtx requires the references to have an exact prefix match on N characters of the input.\nprefixLength cannot exceed length of input\n\nfunc FindTopRankingPrefixCtx(ctx context.Context, input string, prefixLength uint) (list []string, exact bool, err error)","url":"/docs/reference/pkg-finder.html#method-Finder-FindTopRankingPrefixCtx","tab":"Go API","category":"go method"},{"title":"Finder.GetMatchingPrefix","content":"GetMatchingPrefix returns up to max ref's, that start with the prefix argument\n\nfunc GetMatchingPrefix(ctx context.Context, prefix string, max uint) ([]string, error)","url":"/docs/reference/pkg-finder.html#method-Finder-GetMatchingPrefix","tab":"Go API","category":"go method"},{"title":"Finder.Refresh","content":"Refresh replaces the internal reference list.\n\nfunc Refresh(list []string)","url":"/docs/reference/pkg-finder.html#method-Finder-Refresh","tab":"Go API","category":"go method"},{"title":"type Option","content":"Option is the type accepted by finder to set specific options\n\ntype Option func(sug *Finder)","url":"/docs/reference/pkg-finder.html#type-Option","tab":"Go API","category":"go type"},{"title":"type Processor","content":"type Processor func(string) string","url":"/docs/reference/pkg-finder.html#type-Processor","tab":"Go API","category":"go type"},{"title":"internal/rwc","content":"github.com/Dynom/TySug/internal/rwc","url":"/docs/reference/pkg-internal-rwc.html","tab":"Go API","category":"Pages"},{"title":"Functions","content":"internal/rwc - Functions","url":"/docs/reference/pkg-internal-rwc.html#functions","tab":"Go API","category":"Sections"},{"title":"New","content":"internal/rwc - New","url":"/docs/reference/pkg-internal-rwc.html#func-New","tab":"Go API","category":"Sections"},{"title":"Types","content":"internal/rwc - Types","url":"/docs/reference/pkg-internal-rwc.html#types","tab":"Go API","category":"Sections"},{"title":"RWCMutex","content":"internal/rwc - RWCMutex","url":"/docs/reference/pkg-internal-rwc.html#type-RWCMutex","tab":"Go API","category":"Sections"},{"title":"RWCMutexer","content":"internal/rwc - RWCMutexer","url":"/docs/reference/pkg-internal-rwc.html#type-RWCMutexer","tab":"Go API","category":"Sections"},{"title":"func New() *RWCMutex","content":"func New() *RWCMutex","url":"/docs/reference/pkg-internal-rwc.html#func-New","tab":"Go API","category":"go function"},{"title":"type RWCMutex","content":"type RWCMutex struct {\n\t// contains filtered or unexported fields\n}","url":"/docs/reference/pkg-internal-rwc.html#type-RWCMutex","tab":"Go API","category":"go type"},{"title":"RWCMutex.Lock","content":"Lock locks write workloads\n\nfunc Lock()","url":"/docs/reference/pkg-internal-rwc.html#method-RWCMutex-Lock","tab":"Go API","category":"go method"},{"title":"RWCMutex.RLock","content":"RLock allows read workloads to wait for writers to complete.\n\nfunc RLock()","url":"/docs/reference/pkg-internal-rwc.html#method-RWCMutex-RLock","tab":"Go API","category":"go method"},{"title":"RWCMutex.RUnlock","content":"RUnlock signals that a read workload is completed, so that a writer can start\n\nfunc RUnlock()","url":"/docs/reference/pkg-internal-rwc.html#method-RWCMutex-RUnlock","tab":"Go API","category":"go method"},{"title":"RWCMutex.Unlock","content":"Unlock releases locked write workloads\n\nfunc Unlock()","url":"/docs/reference/pkg-internal-rwc.html#method-RWCMutex-Unlock","tab":"Go API","category":"go method"},{"title":"type RWCMutexer","content":"RWCMutexer is mostly just a copy & paste from sync.RWMutex but with channels. It outperforms sync.RWMutex\non workloads with many short-read locks scenarios versus small wlock. See benchmarks for context\n\ntype RWCMutexer interface {\n\tRLock()\n\tRUnlock()\n\tLock()\n\tUnlock()\n}","url":"/docs/reference/pkg-internal-rwc.html#type-RWCMutexer","tab":"Go API","category":"go type"},{"title":"keyboard","content":"github.com/Dynom/TySug/keyboard","url":"/docs/reference/pkg-keyboard.html","tab":"Go API","category":"Pages"},{"title":"Constants","content":"keyboard - Constants","url":"/docs/reference/pkg-keyboard.html#constants","tab":"Go API","category":"Sections"},{"title":"Functions","content":"keyboard - Functions","url":"/docs/reference/pkg-keyboard.html#functions","tab":"Go API","category":"Sections"},{"title":"New","content":"keyboard - New","url":"/docs/reference/pkg-keyboard.html#func-New","tab":"Go API","category":"Sections"},{"title":"Types","content":"keyboard - Types","url":"/docs/reference/pkg-keyboard.html#types","tab":"Go API","category":"Sections"},{"title":"KeyDist","content":"keyboard - KeyDist","url":"/docs/reference/pkg-keyboard.html#type-KeyDist","tab":"Go API","category":"Sections"},{"title":"Layout","content":"keyboard - Layout","url":"/docs/reference/pkg-keyboard.html#type-Layout","tab":"Go API","category":"Sections"},{"title":"const Default","content":"Predefined keyboard layouts\n\nconst (\n\tDefault Layout = QwertyUS\n\tQwertyUS Layout = \"qwerty-us\"\n)","url":"/docs/reference/pkg-keyboard.html#const-Default","tab":"Go API","category":"go constant"},{"title":"const QwertyUS","content":"Predefined keyboard layouts\n\nconst (\n\tDefault Layout = QwertyUS\n\tQwertyUS Layout = \"qwerty-us\"\n)","url":"/docs/reference/pkg-keyboard.html#const-QwertyUS","tab":"Go API","category":"go constant"},{"title":"func New(l Layout) KeyDist","content":"New produces a new instance of KeyDist, based on the keyboard layout you choose\n\nfunc New(l Layout) KeyDist","url":"/docs/reference/pkg-keyboard.html#func-New","tab":"Go API","category":"go function"},{"title":"type KeyDist","content":"KeyDist is the type that allows to find the best alternative based on keyboard layouts\n\ntype KeyDist struct {\n\t// contains filtered or unexported fields\n}","url":"/docs/reference/pkg-keyboard.html#type-KeyDist","tab":"Go API","category":"go type"},{"title":"KeyDist.CalculateDistance","content":"CalculateDistance calculates the total distances of the reference to the input\n\nfunc CalculateDistance(input, ref string) float64","url":"/docs/reference/pkg-keyboard.html#method-KeyDist-CalculateDistance","tab":"Go API","category":"go method"},{"title":"KeyDist.FindNearest","content":"FindNearest finds the item in the list that is nearest to the input, based on the keyboard layout\n\nfunc FindNearest(input string, list []string) (string, float64)","url":"/docs/reference/pkg-keyboard.html#method-KeyDist-FindNearest","tab":"Go API","category":"go method"},{"title":"type Layout","content":"Layout is the type used to define keyboard layouts\n\ntype Layout string","url":"/docs/reference/pkg-keyboard.html#type-Layout","tab":"Go API","category":"go type"},{"title":"server","content":"github.com/Dynom/TySug/server","url":"/docs/reference/pkg-server.html","tab":"Go API","category":"Pages"},{"title":"Constants","content":"server - Constants","url":"/docs/reference/pkg-server.html#constants","tab":"Go API","category":"Sections"},{"title":"Variables","content":"server - Variables","url":"/docs/reference/pkg-server.html#variables","tab":"Go API","category":"Sections"},{"title":"Functions","content":"server - Functions","url":"/docs/reference/pkg-server.html#functions","tab":"Go API","category":"Sections"},{"title":"NewHTTP","content":"server - NewHTTP","url":"/docs/reference/pkg-server.html#func-NewHTTP","tab":"Go API","category":"Sections"},{"title":"NewServiceRegistry","content":"server - NewServiceRegistry","url":"/docs/reference/pkg-server.html#func-NewServiceRegistry","tab":"Go API","category":"Sections"},{"title":"WithCORS","content":"server - WithCORS","url":"/docs/reference/pkg-server.html#func-WithCORS","tab":"Go API","category":"Sections"},{"title":"WithDefaultHeaders","content":"server - WithDefaultHeaders","url":"/docs/reference/pkg-server.html#func-WithDefaultHeaders","tab":"Go API","category":"Sections"},{"title":"WithGzipHandler","content":"server - WithGzipHandler","url":"/docs/reference/pkg-server.html#func-WithGzipHandler","tab":"Go API","category":"Sections"},{"title":"WithInputLimitValidator","content":"server - WithInputLimitValidator","url":"/docs/reference/pkg-server.html#func-WithInputLimitValidator","tab":"Go API","category":"Sections"},{"title":"WithLogger","content":"server - WithLogger","url":"/docs/reference/pkg-server.html#func-WithLogger","tab":"Go API","category":"Sections"},{"title":"WithPProf","content":"server - WithPProf","url":"/docs/reference/pkg-server.html#func-WithPProf","tab":"Go API","category":"Sections"},{"title":"Types","content":"server - Types","url":"/docs/reference/pkg-server.html#types","tab":"Go API","category":"Sections"},{"title":"Option","content":"server - Option","url":"/docs/reference/pkg-server.html#type-Option","tab":"Go API","category":"Sections"},{"title":"Service","content":"server - Service","url":"/docs/reference/pkg-server.html#type-Service","tab":"Go API","category":"Sections"},{"title":"ServiceRegistry","content":"server - ServiceRegistry","url":"/docs/reference/pkg-server.html#type-ServiceRegistry","tab":"Go API","category":"Sections"},{"title":"TySugServer","content":"server - TySugServer","url":"/docs/reference/pkg-server.html#type-TySugServer","tab":"Go API","category":"Sections"},{"title":"Validator","content":"server - Validator","url":"/docs/reference/pkg-server.html#type-Validator","tab":"Go API","category":"Sections"},{"title":"const CtxRequestID","content":"Context value parameters\n\nconst (\n\tCtxRequestID contextKey = iota\n)","url":"/docs/reference/pkg-server.html#const-CtxRequestID","tab":"Go API","category":"go constant"},{"title":"const HeaderRequestID","content":"Header constants\n\nconst (\n\tHeaderRequestID = \"X-Request-ID\"\n)","url":"/docs/reference/pkg-server.html#const-HeaderRequestID","tab":"Go API","category":"go constant"},{"title":"var ErrMissingBody","content":"Errors\n\nvar (\n\tErrMissingBody = errors.New(\"missing body\")\n\tErrInvalidRequest = errors.New(\"invalid request\")\n\tErrInvalidRequestBody = errors.New(\"invalid request body\")\n\tErrBodyTooLarge = errors.New(\"body too large\")\n)","url":"/docs/reference/pkg-server.html#var-ErrMissingBody","tab":"Go API","category":"go variable"},{"title":"var ErrInvalidRequest","content":"Errors\n\nvar (\n\tErrMissingBody = errors.New(\"missing body\")\n\tErrInvalidRequest = errors.New(\"invalid request\")\n\tErrInvalidRequestBody = errors.New(\"invalid request body\")\n\tErrBodyTooLarge = errors.New(\"body too large\")\n)","url":"/docs/reference/pkg-server.html#var-ErrInvalidRequest","tab":"Go API","category":"go variable"},{"title":"var ErrInvalidRequestBody","content":"Errors\n\nvar (\n\tErrMissingBody = errors.New(\"missing body\")\n\tErrInvalidRequest = errors.New(\"invalid request\")\n\tErrInvalidRequestBody = errors.New(\"invalid request body\")\n\tErrBodyTooLarge = errors.New(\"body too large\")\n)","url":"/docs/reference/pkg-server.html#var-ErrInvalidRequestBody","tab":"Go API","category":"go variable"},{"title":"var ErrBodyTooLarge","content":"Errors\n\nvar (\n\tErrMissingBody = errors.New(\"missing body\")\n\tErrInvalidRequest = errors.New(\"invalid request\")\n\tErrInvalidRequestBody = errors.New(\"invalid request body\")\n\tErrBodyTooLarge = errors.New(\"body too large\")\n)","url":"/docs/reference/pkg-server.html#var-ErrBodyTooLarge","tab":"Go API","category":"go variable"},{"title":"func NewHTTP(sr ServiceRegistry, mux *http.ServeMux, options ...Option) TySugServer","content":"NewHTTP constructs a new TySugServer\n\nfunc NewHTTP(sr ServiceRegistry, mux *http.ServeMux, options ...Option) TySugServer","url":"/docs/reference/pkg-server.html#func-NewHTTP","tab":"Go API","category":"go function"},{"title":"func NewServiceRegistry() ServiceRegistry","content":"NewServiceRegistry creates a new registry\n\nfunc NewServiceRegistry() ServiceRegistry","url":"/docs/reference/pkg-server.html#func-NewServiceRegistry","tab":"Go API","category":"go function"},{"title":"func WithCORS(allowedOrigins []string) Option","content":"WithCORS adds the CORS handler to the request handling\n\nfunc WithCORS(allowedOrigins []string) Option","url":"/docs/reference/pkg-server.html#func-WithCORS","tab":"Go API","category":"go function"},{"title":"func WithDefaultHeaders(headers http.Header) Option","content":"WithDefaultHeaders sets the default headers to be used when writing a response.\n\nfunc WithDefaultHeaders(headers http.Header) Option","url":"/docs/reference/pkg-server.html#func-WithDefaultHeaders","tab":"Go API","category":"go function"},{"title":"func WithGzipHandler() Option","content":"WithGzipHandler adds a gzip handler to the server's handlers\n\nfunc WithGzipHandler() Option","url":"/docs/reference/pkg-server.html#func-WithGzipHandler","tab":"Go API","category":"go function"},{"title":"func WithInputLimitValidator(inputMax int) Option","content":"WithInputLimitValidator specifies a max input-value limit validator\n\nfunc WithInputLimitValidator(inputMax int) Option","url":"/docs/reference/pkg-server.html#func-WithInputLimitValidator","tab":"Go API","category":"go function"},{"title":"func WithLogger(logger *logrus.Logger) Option","content":"WithLogger sets the logger to be used when encountering http-related errors.\nErrors are written to the standard error output in most cases. Printing on the\nstandard output is reserved to extreme case where writing on stderr failed.\n\nfunc WithLogger(logger *logrus.Logger) Option","url":"/docs/reference/pkg-server.html#func-WithLogger","tab":"Go API","category":"go function"},{"title":"func WithPProf(prefix string) Option","content":"WithPProf enables pprof\n\nfunc WithPProf(prefix string) Option","url":"/docs/reference/pkg-server.html#func-WithPProf","tab":"Go API","category":"go function"},{"title":"type Option","content":"Option is a handy type used for configuration purposes\n\ntype Option func(*TySugServer)","url":"/docs/reference/pkg-server.html#type-Option","tab":"Go API","category":"go type"},{"title":"type Service","content":"Service is the type any service must implement\n\ntype Service interface {\n\tFind(ctx context.Context, input string) (string, float64, bool)\n}","url":"/docs/reference/pkg-server.html#type-Service","tab":"Go API","category":"go type"},{"title":"type ServiceRegistry","content":"ServiceRegistry holds (opinionated) service objects for handling specific requests\n\ntype ServiceRegistry struct {\n\t// contains filtered or unexported fields\n}","url":"/docs/reference/pkg-server.html#type-ServiceRegistry","tab":"Go API","category":"go type"},{"title":"ServiceRegistry.GetServiceForList","content":"GetServiceForList returns a service able to handle a specific list\n\nfunc GetServiceForList(name string) Service","url":"/docs/reference/pkg-server.html#method-ServiceRegistry-GetServiceForList","tab":"Go API","category":"go method"},{"title":"ServiceRegistry.HasServiceForList","content":"HasServiceForList returns true only if a service has been registered for a certain list\n\nfunc HasServiceForList(name string) bool","url":"/docs/reference/pkg-server.html#method-ServiceRegistry-HasServiceForList","tab":"Go API","category":"go method"},{"title":"ServiceRegistry.Register","content":"Register registers a new service with a list of references\n\nfunc Register(listName string, svc Service) *ServiceRegistry","url":"/docs/reference/pkg-server.html#method-ServiceRegistry-Register","tab":"Go API","category":"go method"},{"title":"type TySugServer","content":"TySugServer the HTTP server\n\ntype TySugServer struct {\n\tLogger *logrus.Logger\n\t// contains filtered or unexported fields\n}","url":"/docs/reference/pkg-server.html#type-TySugServer","tab":"Go API","category":"go type"},{"title":"TySugServer.ListenOnAndServe","content":"ListenOnAndServe allows to set the host:port URL late. It calls ListenAndServe()\n\nfunc ListenOnAndServe(addr string) error","url":"/docs/reference/pkg-server.html#method-TySugServer-ListenOnAndServe","tab":"Go API","category":"go method"},{"title":"type Validator","content":"Validator is a type to validate a client request, returning a nil error means all went well.\n\ntype Validator func(TSRequest tySugRequest) error","url":"/docs/reference/pkg-server.html#type-Validator","tab":"Go API","category":"go type"},{"title":"server/service","content":"github.com/Dynom/TySug/server/service","url":"/docs/reference/pkg-server-service.html","tab":"Go API","category":"Pages"},{"title":"Functions","content":"server/service - Functions","url":"/docs/reference/pkg-server-service.html#functions","tab":"Go API","category":"Sections"},{"title":"NewDomain","content":"server/service - NewDomain","url":"/docs/reference/pkg-server-service.html#func-NewDomain","tab":"Go API","category":"Sections"},{"title":"Types","content":"server/service - Types","url":"/docs/reference/pkg-server-service.html#types","tab":"Go API","category":"Sections"},{"title":"Service","content":"server/service - Service","url":"/docs/reference/pkg-server-service.html#type-Service","tab":"Go API","category":"Sections"},{"title":"func NewDomain(references []string, logger *logrus.Logger, options ...finder.Option) (Service, error)","content":"NewDomain creates a new service\n\nfunc NewDomain(references []string, logger *logrus.Logger, options ...finder.Option) (Service, error)","url":"/docs/reference/pkg-server-service.html#func-NewDomain","tab":"Go API","category":"go function"},{"title":"type Service","content":"Service is the service type\n\ntype Service struct {\n\t// contains filtered or unexported fields\n}","url":"/docs/reference/pkg-server-service.html#type-Service","tab":"Go API","category":"go type"},{"title":"Service.Find","content":"Find returns the nearest reference\n\nfunc Find(ctx context.Context, input string) (string, float64, bool)","url":"/docs/reference/pkg-server-service.html#method-Service-Find","tab":"Go API","category":"go method"},{"title":"Go API","content":"github.com/Dynom/TySug","url":"/docs/reference/","tab":"Go API","category":"Pages"}] \ No newline at end of file diff --git a/docs/reference/sitemap.xml b/docs/reference/sitemap.xml new file mode 100644 index 0000000..4c158ed --- /dev/null +++ b/docs/reference/sitemap.xml @@ -0,0 +1,11 @@ + + + + https://tysug.net/docs/reference/pkg-cmd-web.html + https://tysug.net/docs/reference/pkg-finder.html + https://tysug.net/docs/reference/pkg-internal-rwc.html + https://tysug.net/docs/reference/pkg-keyboard.html + https://tysug.net/docs/reference/pkg-server.html + https://tysug.net/docs/reference/pkg-server-service.html + https://tysug.net/docs/reference/ + \ No newline at end of file diff --git a/docs/reference/sourcey.css b/docs/reference/sourcey.css new file mode 100644 index 0000000..0dd4e50 --- /dev/null +++ b/docs/reference/sourcey.css @@ -0,0 +1,2474 @@ +/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Consolas, "Liberation Mono", Menlo, monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-900:oklch(37.8% .077 168.94);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-600:oklch(51.1% .262 276.966);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-700:oklch(49.6% .265 301.924);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--color-gray-50:245 245 250;--color-gray-100:241 241 245;--color-gray-200:225 225 229;--color-gray-300:209 209 213;--color-gray-400:161 161 165;--color-gray-500:115 115 119;--color-gray-600:83 83 87;--color-gray-700:65 65 69;--color-gray-800:40 40 44;--color-gray-900:25 25 30;--color-gray-950:13 13 17;--color-stone-50:250 250 249;--color-stone-100:245 245 244;--color-stone-200:231 229 228;--color-stone-400:168 162 158;--color-stone-500:120 113 108;--color-stone-600:87 83 78;--color-stone-700:68 64 60;--color-stone-900:oklch(21.6% .006 56.043);--color-stone-950:12 10 9;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:.75rem;--sidebar-width:18rem;--header-height:7rem;--toc-width:19rem;--toc-inner-width:16.5rem;--content-padding:2.5rem;--content-max-width:44rem;--color-primary:99 102 241;--color-primary-light:129 140 248;--color-primary-dark:79 70 229;--color-primary-ink:79 70 229;--color-background-light:255 255 255;--color-background-dark:11 12 16;--color-code-block-light:255 255 255;--color-code-block-dark:11 12 14;--color-success:34 197 94;--color-overlay:0 0 0;--color-border-dark-subtle:255 255 255;--color-surface-dark-tint:255 255 255;--method-get:#16a34a;--method-post:#2563eb;--method-put:#d97706;--method-delete:#dc2626;--method-patch:#9333ea;--method-tool:#9333ea;--method-resource:#16a34a;--method-prompt:#2563eb}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-3{top:calc(var(--spacing) * 3)}.top-\[2\.75rem\]{top:2.75rem}.top-full{top:100%}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.right-auto{right:auto}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\[21\]{z-index:21}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mb-0{margin-bottom:0}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-\[26px\]{width:26px;height:26px}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-\[1\.5px\]{height:1.5px}.h-\[1lh\]{height:1lh}.h-full{height:100%}.max-h-full{max-height:100%}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-\[16\.5rem\]{width:16.5rem}.w-\[18rem\]{width:18rem}.w-\[19rem\]{width:19rem}.w-\[28rem\]{width:28rem}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[28rem\]{max-width:28rem}.max-w-\[92rem\]{max-width:92rem}.max-w-none{max-width:none}.min-w-0{min-width:0}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-\[42px\]{min-width:42px}.min-w-\[43px\]{min-width:43px}.min-w-\[120px\]{min-width:120px}.min-w-\[140px\]{min-width:140px}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px * var(--tw-space-y-reverse));margin-block-end:calc(1px * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}:where(.space-x-2\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:var(--spacing)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[rgb\(var\(--color-gray-100\)\)\]{border-color:rgb(var(--color-gray-100))}.border-\[rgb\(var\(--color-gray-200\)\/0\.7\)\]{border-color:rgb(var(--color-gray-200)/.7)}.border-\[rgb\(var\(--color-gray-500\)\/0\.08\)\]{border-color:rgb(var(--color-gray-500)/.08)}.border-\[rgb\(var\(--color-stone-200\)\)\]{border-color:rgb(var(--color-stone-200))}.bg-\[rgb\(var\(--color-background-light\)\)\]{background-color:rgb(var(--color-background-light))}.bg-\[rgb\(var\(--color-code-block-light\)\)\]{background-color:rgb(var(--color-code-block-light))}.bg-\[rgb\(var\(--color-gray-100\)\/0\.5\)\]{background-color:rgb(var(--color-gray-100)/.5)}.bg-\[rgb\(var\(--color-primary\)\)\]{background-color:rgb(var(--color-primary))}.bg-\[rgb\(var\(--color-primary-dark\)\)\]{background-color:rgb(var(--color-primary-dark))}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-100\/50{background-color:#fef3c680}@supports (color:color-mix(in lab, red, red)){.bg-amber-100\/50{background-color:color-mix(in oklab, var(--color-amber-100) 50%, transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-100\/50{background-color:#dbeafe80}@supports (color:color-mix(in lab, red, red)){.bg-blue-100\/50{background-color:color-mix(in oklab, var(--color-blue-100) 50%, transparent)}}.bg-blue-400\/20{background-color:#54a2ff33}@supports (color:color-mix(in lab, red, red)){.bg-blue-400\/20{background-color:color-mix(in oklab, var(--color-blue-400) 20%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-400\/20{background-color:color-mix(in srgb, 161 161 165 20%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-gray-400\/20{background-color:color-mix(in oklab, var(--color-gray-400) 20%, transparent)}}.bg-green-100{background-color:var(--color-green-100)}.bg-green-100\/50{background-color:#dcfce780}@supports (color:color-mix(in lab, red, red)){.bg-green-100\/50{background-color:color-mix(in oklab, var(--color-green-100) 50%, transparent)}}.bg-green-400\/20{background-color:#05df7233}@supports (color:color-mix(in lab, red, red)){.bg-green-400\/20{background-color:color-mix(in oklab, var(--color-green-400) 20%, transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-purple-400\/20{background-color:#c07eff33}@supports (color:color-mix(in lab, red, red)){.bg-purple-400\/20{background-color:color-mix(in oklab, var(--color-purple-400) 20%, transparent)}}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-100\/50{background-color:#ffe2e280}@supports (color:color-mix(in lab, red, red)){.bg-red-100\/50{background-color:color-mix(in oklab, var(--color-red-100) 50%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[rgb\(var\(--color-background-light\)\)\]{--tw-gradient-from:rgb(var(--color-background-light));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.p-2{padding:calc(var(--spacing) * 2)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-12{padding-inline:calc(var(--spacing) * 12)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-\[8\.5rem\]{padding-top:8.5rem}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.55rem\]{font-size:.55rem}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[1\.35rem\]{--tw-leading:1.35rem;line-height:1.35rem}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-words{overflow-wrap:break-word}.\[word-break\:break-word\]{word-break:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-\[rgb\(var\(--color-gray-400\)\)\]{color:rgb(var(--color-gray-400))}.text-\[rgb\(var\(--color-gray-500\)\)\]{color:rgb(var(--color-gray-500))}.text-\[rgb\(var\(--color-gray-600\)\)\]{color:rgb(var(--color-gray-600))}.text-\[rgb\(var\(--color-gray-700\)\)\]{color:rgb(var(--color-gray-700))}.text-\[rgb\(var\(--color-gray-800\)\)\]{color:rgb(var(--color-gray-800))}.text-\[rgb\(var\(--color-gray-900\)\)\]{color:rgb(var(--color-gray-900))}.text-\[rgb\(var\(--color-primary\)\)\]{color:rgb(var(--color-primary))}.text-\[rgb\(var\(--color-primary-ink\)\)\]{color:rgb(var(--color-primary-ink))}.text-\[rgb\(var\(--color-stone-400\)\)\]{color:rgb(var(--color-stone-400))}.text-\[rgb\(var\(--color-stone-500\)\)\]{color:rgb(var(--color-stone-500))}.text-\[rgb\(var\(--color-stone-600\)\)\]{color:rgb(var(--color-stone-600))}.text-\[rgb\(var\(--color-stone-950\)\)\]{color:rgb(var(--color-stone-950))}.text-amber-600{color:var(--color-amber-600)}.text-amber-900{color:var(--color-amber-900)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-gray-700{color:var(--color-gray-700)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-orange-900{color:var(--color-orange-900)}.text-purple-700{color:var(--color-purple-700)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[rgb\(var\(--color-gray-400\)\/0\.3\)\]{--tw-ring-color:rgb(var(--color-gray-400)/.3)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-0{outline-style:var(--tw-outline-style);outline-width:0}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.prose-gray{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733)}.select-none{-webkit-user-select:none;user-select:none}.\[text-shadow\:-0\.2px_0_0_currentColor\,0\.2px_0_0_currentColor\]{text-shadow:-.2px 0,.2px 0}@media (hover:hover){.group-hover\:bg-\[rgb\(var\(--color-gray-200\)\)\]:is(:where(.group):hover *){background-color:rgb(var(--color-gray-200))}.group-hover\:bg-\[rgb\(var\(--color-stone-200\)\/0\.5\)\]:is(:where(.group):hover *){background-color:rgb(var(--color-stone-200)/.5)}.group-hover\:text-\[rgb\(var\(--color-primary\)\)\]:is(:where(.group):hover *){color:rgb(var(--color-primary))}.group-hover\:text-\[rgb\(var\(--color-primary-ink\)\)\]:is(:where(.group):hover *){color:rgb(var(--color-primary-ink))}.group-hover\:opacity-90:is(:where(.group):hover *){opacity:.9}.group-hover\/copy\:text-\[rgb\(var\(--color-stone-500\)\)\]:is(:where(.group\/copy):hover *){color:rgb(var(--color-stone-500))}.peer-hover\:opacity-100:is(:where(.peer):hover~*){opacity:1}}.first\:mt-0:first-child{margin-top:0}@media (hover:hover){.hover\:border-\[rgb\(var\(--color-primary\)\/0\.4\)\]:hover{border-color:rgb(var(--color-primary)/.4)}.hover\:bg-\[rgb\(var\(--color-stone-100\)\)\]:hover{background-color:rgb(var(--color-stone-100))}.hover\:text-\[rgb\(var\(--color-gray-600\)\)\]:hover{color:rgb(var(--color-gray-600))}.hover\:text-\[rgb\(var\(--color-gray-700\)\)\]:hover{color:rgb(var(--color-gray-700))}.hover\:text-\[rgb\(var\(--color-gray-800\)\)\]:hover{color:rgb(var(--color-gray-800))}.hover\:text-\[rgb\(var\(--color-gray-900\)\)\]:hover{color:rgb(var(--color-gray-900))}.hover\:underline:hover{text-decoration-line:underline}.hover\:ring-\[rgb\(var\(--color-gray-600\)\/0\.3\)\]:hover{--tw-ring-color:rgb(var(--color-gray-600)/.3)}}@media (width>=40rem){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}@media (width>=64rem){.lg\:sticky{position:sticky}.lg\:mx-0{margin-inline:0}.lg\:mt-8{margin-top:calc(var(--spacing) * 8)}.lg\:-ml-12{margin-left:calc(var(--spacing) * -12)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:flex-row{flex-direction:row}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:px-12{padding-inline:calc(var(--spacing) * 12)}.lg\:pt-10{padding-top:calc(var(--spacing) * 10)}.lg\:pl-\[23\.7rem\]{padding-left:23.7rem}}@media (width>=80rem){.xl\:block{display:block}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:w-\[calc\(100\%-28rem\)\]{width:calc(100% - 28rem)}.xl\:flex-col{flex-direction:column}.xl\:flex-row{flex-direction:row}}.dark\:block:where(.dark,.dark *){display:block}.dark\:hidden:where(.dark,.dark *){display:none}.dark\:border-\[rgb\(255_255_255\/0\.1\)\]:where(.dark,.dark *){border-color:#ffffff1a}.dark\:border-\[rgb\(var\(--color-border-dark-subtle\)\/0\.1\)\]:where(.dark,.dark *){border-color:rgb(var(--color-border-dark-subtle)/.1)}.dark\:border-\[rgb\(var\(--color-gray-300\)\/0\.06\)\]:where(.dark,.dark *){border-color:rgb(var(--color-gray-300)/.06)}.dark\:border-\[rgb\(var\(--color-gray-300\)\/0\.08\)\]:where(.dark,.dark *){border-color:rgb(var(--color-gray-300)/.08)}.dark\:border-\[rgb\(var\(--color-gray-800\)\)\]:where(.dark,.dark *){border-color:rgb(var(--color-gray-800))}.dark\:border-\[rgb\(var\(--color-gray-800\)\/0\.5\)\]:where(.dark,.dark *){border-color:rgb(var(--color-gray-800)/.5)}.dark\:bg-\[rgb\(var\(--color-background-dark\)\)\]:where(.dark,.dark *){background-color:rgb(var(--color-background-dark))}.dark\:bg-\[rgb\(var\(--color-code-block-dark\)\)\]:where(.dark,.dark *){background-color:rgb(var(--color-code-block-dark))}.dark\:bg-\[rgb\(var\(--color-primary-light\)\)\]:where(.dark,.dark *){background-color:rgb(var(--color-primary-light))}.dark\:bg-\[rgb\(var\(--color-stone-900\)\)\]:where(.dark,.dark *){background-color:rgb(var(--color-stone-900))}.dark\:bg-\[rgb\(var\(--color-surface-dark-tint\)\/0\.05\)\]:where(.dark,.dark *){background-color:rgb(var(--color-surface-dark-tint)/.05)}.dark\:bg-amber-400\/10:where(.dark,.dark *){background-color:#fcbb001a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-400\/10:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-amber-400) 10%, transparent)}}.dark\:bg-blue-400:where(.dark,.dark *){background-color:var(--color-blue-400)}.dark\:bg-blue-400\/10:where(.dark,.dark *){background-color:#54a2ff1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-400\/10:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-400) 10%, transparent)}}.dark\:bg-blue-400\/20:where(.dark,.dark *){background-color:#54a2ff33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-400\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-400) 20%, transparent)}}.dark\:bg-green-400:where(.dark,.dark *){background-color:var(--color-green-400)}.dark\:bg-green-400\/10:where(.dark,.dark *){background-color:#05df721a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-green-400\/10:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-green-400) 10%, transparent)}}.dark\:bg-green-400\/20:where(.dark,.dark *){background-color:#05df7233}@supports (color:color-mix(in lab, red, red)){.dark\:bg-green-400\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-green-400) 20%, transparent)}}.dark\:bg-orange-400\/20:where(.dark,.dark *){background-color:#ff8b1a33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-orange-400\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-orange-400) 20%, transparent)}}.dark\:bg-purple-400:where(.dark,.dark *){background-color:var(--color-purple-400)}.dark\:bg-purple-400\/20:where(.dark,.dark *){background-color:#c07eff33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-purple-400\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-purple-400) 20%, transparent)}}.dark\:bg-red-400\/10:where(.dark,.dark *){background-color:#ff65681a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-400\/10:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-red-400) 10%, transparent)}}.dark\:bg-red-400\/20:where(.dark,.dark *){background-color:#ff656833}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-400\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-red-400) 20%, transparent)}}.dark\:bg-yellow-400\/20:where(.dark,.dark *){background-color:#fac80033}@supports (color:color-mix(in lab, red, red)){.dark\:bg-yellow-400\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-yellow-400) 20%, transparent)}}.dark\:from-\[rgb\(var\(--color-background-dark\)\)\]:where(.dark,.dark *){--tw-gradient-from:rgb(var(--color-background-dark));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:text-\[rgb\(255_255_255\/0\.4\)\]:where(.dark,.dark *){color:#fff6}.dark\:text-\[rgb\(var\(--color-gray-50\)\)\]:where(.dark,.dark *){color:rgb(var(--color-gray-50))}.dark\:text-\[rgb\(var\(--color-gray-200\)\)\]:where(.dark,.dark *){color:rgb(var(--color-gray-200))}.dark\:text-\[rgb\(var\(--color-gray-300\)\)\]:where(.dark,.dark *){color:rgb(var(--color-gray-300))}.dark\:text-\[rgb\(var\(--color-gray-400\)\)\]:where(.dark,.dark *){color:rgb(var(--color-gray-400))}.dark\:text-\[rgb\(var\(--color-gray-500\)\)\]:where(.dark,.dark *){color:rgb(var(--color-gray-500))}.dark\:text-\[rgb\(var\(--color-primary-light\)\)\]:where(.dark,.dark *){color:rgb(var(--color-primary-light))}.dark\:text-\[rgb\(var\(--color-stone-50\)\)\]:where(.dark,.dark *){color:rgb(var(--color-stone-50))}.dark\:text-\[rgb\(var\(--color-stone-400\)\)\]:where(.dark,.dark *){color:rgb(var(--color-stone-400))}.dark\:text-amber-300:where(.dark,.dark *){color:var(--color-amber-300)}.dark\:text-blue-300:where(.dark,.dark *){color:var(--color-blue-300)}.dark\:text-blue-400:where(.dark,.dark *){color:var(--color-blue-400)}.dark\:text-gray-400:where(.dark,.dark *){color:var(--color-gray-400)}.dark\:text-green-300:where(.dark,.dark *){color:var(--color-green-300)}.dark\:text-green-400:where(.dark,.dark *){color:var(--color-green-400)}.dark\:text-orange-300:where(.dark,.dark *){color:var(--color-orange-300)}.dark\:text-purple-400:where(.dark,.dark *){color:var(--color-purple-400)}.dark\:text-red-300:where(.dark,.dark *){color:var(--color-red-300)}.dark\:text-yellow-300:where(.dark,.dark *){color:var(--color-yellow-300)}.dark\:ring-\[rgb\(var\(--color-gray-600\)\/0\.3\)\]:where(.dark,.dark *){--tw-ring-color:rgb(var(--color-gray-600)/.3)}.dark\:brightness-110:where(.dark,.dark *){--tw-brightness:brightness(110%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.dark\:prose-invert:where(.dark,.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}@media (hover:hover){.dark\:group-hover\:bg-\[rgb\(var\(--color-gray-700\)\)\]:where(.dark,.dark *):is(:where(.group):hover *){background-color:rgb(var(--color-gray-700))}.dark\:group-hover\:bg-\[rgb\(var\(--color-stone-700\)\/0\.7\)\]:where(.dark,.dark *):is(:where(.group):hover *){background-color:rgb(var(--color-stone-700)/.7)}.dark\:group-hover\:text-\[rgb\(var\(--color-primary-light\)\)\]:where(.dark,.dark *):is(:where(.group):hover *){color:rgb(var(--color-primary-light))}.dark\:group-hover\/copy\:text-\[rgb\(255_255_255\/0\.6\)\]:where(.dark,.dark *):is(:where(.group\/copy):hover *){color:#fff9}.dark\:hover\:border-\[rgb\(var\(--color-primary-light\)\/0\.3\)\]:where(.dark,.dark *):hover{border-color:rgb(var(--color-primary-light)/.3)}.dark\:hover\:bg-\[rgb\(255_255_255\/0\.05\)\]:where(.dark,.dark *):hover{background-color:#ffffff0d}.dark\:hover\:text-\[rgb\(var\(--color-gray-200\)\)\]:where(.dark,.dark *):hover{color:rgb(var(--color-gray-200))}.dark\:hover\:text-\[rgb\(var\(--color-gray-300\)\)\]:where(.dark,.dark *):hover{color:rgb(var(--color-gray-300))}.dark\:hover\:ring-\[rgb\(var\(--color-gray-500\)\/0\.3\)\]:where(.dark,.dark *):hover{--tw-ring-color:rgb(var(--color-gray-500)/.3)}.dark\:hover\:brightness-125:where(.dark,.dark *):hover{--tw-brightness:brightness(125%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false} +/*$vite$:1*/ +/** + * Sourcey — Component styles. + * + * Layout and OpenAPI components use Tailwind classes in .tsx files. + * Markdown-generated components (code blocks, cards, steps, accordions, + * callouts, tabs) use semantic class names styled here — no Tailwind + * utilities in generated HTML. + */ + +/* ── Page Description (display font) ─────────────────────────────── */ + +#sourcey .page-description { + font-family: ui-serif, Georgia, Cambria, "Times New Roman", serif; + font-size: 1.125rem; + line-height: 1.35; + font-style: italic; + color: rgb(var(--color-gray-600)); +} +@media (min-width: 1024px) { + #sourcey .page-description { + font-size: 1.375rem; + line-height: 1.4; + } +} +.dark #sourcey .page-description { + color: rgb(var(--color-gray-400)); +} + +/* ── Page Top Gradient ────────────────────────────────────────────── */ + +#sourcey #page::before { + content: ""; + position: fixed; + top: 0; + left: 0; + right: 0; + height: 400px; + background: linear-gradient(to bottom, rgb(var(--color-primary) / 0.03), transparent); + pointer-events: none; + z-index: -1; +} +.dark #sourcey #page::before { + background: none; +} + +/* ── Scroll Offset (clears fixed navbar on anchor clicks) ──────────── */ + +[data-traverse-target], +h1[id], +h2[id], +h3[id], +h4[id], +h5[id], +h6[id] { + scroll-margin-top: var(--header-height, 7rem); +} + +/* ── Focus ─────────────────────────────────────────────────────────── */ + +#sourcey button:focus-visible { + outline: 2px solid rgb(var(--color-primary)); + outline-offset: 2px; +} + +/* ── Shiki Dual-Theme (defaultColor: false) ───────────────────────── */ +/* Shiki outputs --shiki-light and --shiki-dark CSS vars on each span. */ +/* Light mode: use --shiki-light. Dark mode: use --shiki-dark. */ + +.shiki, +.shiki span { + color: var(--shiki-light); + background-color: transparent !important; +} + +.dark .shiki, +.dark .shiki span { + color: var(--shiki-dark); +} + +.shiki pre { + background-color: transparent !important; + margin: 0; +} + +.shiki code { + font-family: inherit; + background: transparent; + border: none; + padding: 0; +} + +/* ── Responsive Tables ────────────────────────────────────────────── */ + +#sourcey .table-wrap { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} +#sourcey .table-wrap table { + margin: 0; +} +#sourcey .prose :where(thead th):not(:where([class~="not-prose"], [class~="not-prose"] *)) { + padding-top: 0.571429em; +} + +/* ── Prose Video (::video directive) ──────────────────────────────── */ + +#sourcey .prose-video { + position: relative; + width: 100%; + padding-bottom: 56.25%; /* 16:9 */ + margin: 1.5rem 0; + border-radius: var(--radius); + overflow: hidden; +} +#sourcey .prose-video iframe, +#sourcey .prose-video video { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +/* ── Prose Iframe (::iframe directive) ────────────────────────────── */ + +#sourcey .prose-iframe { + width: 100%; + margin: 1.5rem 0; + border-radius: var(--radius); + overflow: hidden; + border: 1px solid rgb(var(--color-stone-950) / 0.1); +} +.dark #sourcey .prose-iframe { + border-color: rgb(255 255 255 / 0.1); +} +#sourcey .prose-iframe iframe { + width: 100%; + height: 100%; + display: block; +} + +/* ── Inline Code (not-prose containers lose Tailwind prose styling) ── */ + +#sourcey .not-prose :not(pre) > code { + font-size: 0.875em; + font-weight: 600; + color: var(--tw-prose-code); +} +#sourcey .not-prose :not(pre) > code::before, +#sourcey .not-prose :not(pre) > code::after { + content: "`"; +} + +/* ── Prose Code Block (fenced code in markdown pages) ─────────────── */ + +#sourcey .prose-code-block { + position: relative; + border-radius: var(--radius); + border: 1px solid rgb(var(--color-stone-950) / 0.1); + margin: 1.25rem 0 2rem; + overflow: hidden; + color: rgb(var(--color-stone-950)); +} +.dark #sourcey .prose-code-block { + border-color: rgb(255 255 255 / 0.1); + color: rgb(var(--color-stone-50)); +} + +#sourcey .prose-code-copy { + position: absolute; + top: 0.75rem; + right: 1rem; + z-index: 10; +} + +#sourcey .prose-code-copy .copy-btn { + display: flex; + align-items: center; + justify-content: center; + width: 26px; + height: 26px; + border-radius: 0.375rem; + border: none; + background: transparent; + cursor: pointer; + color: rgb(var(--color-stone-400)); + transition: color 0.15s; +} +#sourcey .prose-code-copy .copy-btn:hover { + color: rgb(var(--color-stone-500)); +} +.dark #sourcey .prose-code-copy .copy-btn { + color: rgb(255 255 255 / 0.4); +} +.dark #sourcey .prose-code-copy .copy-btn:hover { + color: rgb(255 255 255 / 0.6); +} + +#sourcey .prose-code-copy .copy-btn svg { + width: 1rem; + height: 1rem; +} + +#sourcey .prose-code-content { + padding: 0.875rem 1rem; + border-radius: var(--radius); + background: rgb(var(--color-code-block-light)); + overflow-x: auto; + font-variant-ligatures: none; +} +.dark #sourcey .prose-code-content { + background: rgb(var(--color-code-block-dark)); +} + +#sourcey .prose-code-content pre { + margin: 0; + font-family: var(--font-mono); + font-size: 0.875rem; + line-height: 1.5rem; + white-space: pre; +} + +/* ── Nav Links ────────────────────────────────────────────────────── */ + +#sourcey .nav-group-label { + display: block; + padding: 0 0.75rem 0.25rem 1rem; + margin-bottom: 0.625rem; + font-size: inherit; + font-weight: 600; + color: rgb(var(--color-gray-900)); +} +.dark #sourcey .nav-group-label { + color: rgb(var(--color-gray-200)); +} +#sourcey .nav-group-link { + cursor: pointer; + border-radius: 0.75rem; + text-decoration: none; + transition: + color 0.15s, + background-color 0.15s; +} +#sourcey .nav-group-link:hover { + color: rgb(var(--color-primary-ink)); +} +.dark #sourcey .nav-group-link:hover { + color: rgb(var(--color-primary-light)); +} +#sourcey .nav-group-link.active { + color: rgb(var(--color-primary-ink)); +} +.dark #sourcey .nav-group-link.active { + color: rgb(var(--color-primary-light)); +} + +#sourcey .nav-tab-label { + display: block; + padding: 0.5rem 0.75rem 0.25rem 1rem; + font-size: 0.75rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + color: rgb(var(--color-gray-400)); +} +.dark #sourcey .nav-tab-label { + color: rgb(var(--color-gray-500)); +} + +#sourcey .nav-link { + display: flex; + align-items: flex-start; + padding: 0.375rem 0.75rem 0.375rem 1rem; + gap: 0.75rem; + cursor: pointer; + text-align: left; + overflow-wrap: break-word; + hyphens: auto; + border-radius: 0.75rem; + width: 100%; + color: rgb(var(--color-gray-700)); + transition: + color 0.15s, + background-color 0.15s; +} +.dark #sourcey .nav-link { + color: rgb(var(--color-gray-400)); +} +#sourcey .nav-link:hover { + color: rgb(var(--color-gray-900)); + background: rgb(var(--color-gray-100) / 0.6); +} +.dark #sourcey .nav-link:hover { + color: rgb(var(--color-gray-300)); + background: rgb(var(--color-gray-800) / 0.4); +} +#sourcey .nav-link.active { + color: rgb(var(--color-primary-ink)); + background: rgb(var(--color-primary) / 0.08); + text-shadow: + -0.2px 0 0 currentColor, + 0.2px 0 0 currentColor; +} +.dark #sourcey .nav-link.active { + color: rgb(var(--color-primary-light)); + background: rgb(var(--color-primary-light) / 0.08); +} + +/* ── TOC Active State ─────────────────────────────────────────────── */ + +#sourcey #toc .toc-item { + border-left: 2px solid rgb(var(--color-gray-200)); + padding-left: 0.75rem; + transition: + color 0.15s, + border-color 0.15s; +} +#sourcey #toc ul ul .toc-item { + margin-left: 0.75rem; + border-left: none; +} +.dark #sourcey #toc .toc-item { + border-left-color: rgb(var(--color-gray-700)); +} +#sourcey #toc .toc-item.active { + color: rgb(var(--color-primary-ink)); + border-left-color: rgb(var(--color-primary-ink)); + font-weight: 500; +} +.dark #sourcey #toc .toc-item.active { + color: rgb(var(--color-primary-light)); + border-left-color: rgb(var(--color-primary-light)); +} + +/* ── Code Block Panels (language dropdown + response tabs) ─────────── */ + +#sourcey .code-lang-panel { + display: none; +} +#sourcey .code-lang-panel.active { + display: block; +} + +#sourcey .lang-icon { + width: 0.875rem; + height: 0.875rem; + flex-shrink: 0; + vertical-align: -0.125rem; +} + +#sourcey .lang-icon[data-lang] { + display: inline-block; + background: currentColor; + -webkit-mask-size: contain; + mask-size: contain; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-position: center; + mask-position: center; +} + +#sourcey .response-panel { + display: none; +} +#sourcey .response-panel.active { + display: block; +} + +/* ── Response Tabs (status code tabs on code block) ───────────────── */ + +#sourcey .response-tab { + color: rgb(var(--color-gray-500)); + transition: color 0.15s; +} +.dark #sourcey .response-tab { + color: rgb(var(--color-gray-400)); +} + +#sourcey .response-tab.active { + color: rgb(var(--color-primary-ink)); +} +.dark #sourcey .response-tab.active { + color: rgb(var(--color-primary-light)); +} + +/* Active response tab underline */ +#sourcey .response-tab.active::after { + content: ""; + position: absolute; + right: 0; + bottom: -0.375rem; + left: 0; + height: 2px; + border-radius: 9999px; + background: rgb(var(--color-primary)); +} +.dark #sourcey .response-tab.active::after { + background: rgb(var(--color-primary-light)); +} + +/* ── Copy Button Feedback ─────────────────────────────────────────── */ + +#sourcey .copy-btn.copied { + color: rgb(var(--color-success)); +} + +/* ── Schema Utilities (used by SchemaView.tsx) ─────────────────────── */ + +/* ── Collapsible child attributes ── */ + +#sourcey .schema-expandable { + margin-top: 1rem; + border: 1px solid rgb(var(--color-gray-200) / 0.7); + border-radius: 0.75rem; +} +.dark #sourcey .schema-expandable { + border-color: rgb(255 255 255 / 0.1); +} + +#sourcey .schema-expandable-toggle { + display: flex; + align-items: center; + gap: 0.75rem; + padding: 0.75rem 1rem; + font-size: 0.875rem; + font-weight: 400; + color: rgb(var(--color-gray-600)); + cursor: pointer; + list-style: none; + user-select: none; +} +#sourcey .schema-expandable-toggle::-webkit-details-marker { + display: none; +} +.dark #sourcey .schema-expandable-toggle { + color: rgb(var(--color-gray-300)); +} +#sourcey .schema-expandable-toggle:hover { + background: rgb(var(--color-gray-100) / 0.5); + color: rgb(var(--color-gray-900)); + border-radius: 0.75rem; +} +.dark #sourcey .schema-expandable-toggle:hover { + background: rgb(255 255 255 / 0.05); + color: rgb(var(--color-gray-200)); +} + +#sourcey .schema-expandable-icon { + width: 0.625rem; + height: 0.625rem; + flex-shrink: 0; + transition: transform 75ms; + color: rgb(var(--color-gray-400)); +} +#sourcey details[open] > .schema-expandable-toggle > .schema-expandable-icon { + transform: rotate(90deg); +} + +#sourcey .schema-expandable-content { + padding: 0 1rem 0.5rem; + border-top: 1px solid rgb(var(--color-gray-100)); +} +.dark #sourcey .schema-expandable-content { + border-top-color: rgb(255 255 255 / 0.1); +} + +/* Legacy schema-nested — kept for variant nesting */ +#sourcey .schema-nested { + padding-left: 1rem; + border-left: 2px solid rgb(var(--color-gray-200)); + margin-top: 0.25rem; + margin-bottom: 0.25rem; +} +.dark #sourcey .schema-nested { + border-left-color: rgb(var(--color-gray-800)); +} + +#sourcey .schema-variant-option { + padding-left: 1rem; + border-left: 2px solid rgb(var(--color-gray-200)); + margin-bottom: 0.5rem; +} +.dark #sourcey .schema-variant-option { + border-left-color: rgb(var(--color-gray-800)); +} + +#sourcey .schema-variant-label { + font-size: 0.75rem; + font-weight: 600; + letter-spacing: 0.05em; + color: rgb(var(--color-gray-400)); + margin-bottom: 0.25rem; +} + +/* ── Type Display (used by SchemaDatatype.tsx) ─────────────────────── */ + +#sourcey .json-property-type { + display: inline-flex; + align-items: center; + font-style: normal; + font-weight: 500; + font-size: 0.75rem; + line-height: 1; + white-space: nowrap; + color: rgb(var(--color-gray-600)); + background: rgb(var(--color-gray-100) / 0.5); + padding: 0.25rem 0.5rem; + border-radius: 0.375rem; +} +.dark #sourcey .json-property-type { + background: rgb(var(--color-surface-dark-tint) / 0.05); + color: rgb(var(--color-gray-200)); +} + +#sourcey .json-property-format { + font-size: 0.75rem; + color: rgb(var(--color-gray-400)); +} + +#sourcey .json-property-enum { + display: inline-flex; + align-items: baseline; + gap: 0.25rem; + flex-wrap: wrap; +} + +#sourcey .json-property-enum-item, +#sourcey .json-property-default-value, +#sourcey .json-property-range { + display: inline-flex; + align-items: center; + font-size: 0.6875rem; + font-family: var(--font-mono); + line-height: 1; + white-space: nowrap; + color: rgb(var(--color-gray-500)); + background: rgb(var(--color-gray-100) / 0.5); + padding: 0.125rem 0.375rem; + border-radius: 9999px; +} +.dark #sourcey .json-property-enum-item, +.dark #sourcey .json-property-default-value, +.dark #sourcey .json-property-range { + background: rgb(var(--color-surface-dark-tint) / 0.05); + color: rgb(var(--color-gray-400)); +} + +#sourcey .json-property-enum-item { + color: rgb(var(--color-gray-700)); +} +.dark #sourcey .json-property-enum-item { + color: rgb(var(--color-gray-300)); +} + +#sourcey .json-property-default-value::before { + content: "= "; + color: rgb(var(--color-gray-400)); +} + +/* ── Parameter/Schema List (used by SchemaView.tsx, Parameters.tsx) ── */ + +#sourcey .param-item { + padding: 1rem 0; + border-bottom: 1px solid rgb(var(--color-gray-100)); +} +.dark #sourcey .param-item { + border-bottom-color: rgb(var(--color-gray-800)); +} + +#sourcey .param-item:last-child { + border-bottom: none; +} + +#sourcey .param-header { + display: flex; + align-items: baseline; + gap: 0.5rem; + flex-wrap: wrap; +} + +#sourcey .param-name { + font-family: var(--font-mono); + font-size: 0.875rem; + font-weight: 600; + color: rgb(var(--color-primary-ink)); + background: transparent; + border: none; + padding: 0; +} +.dark #sourcey .param-name { + color: rgb(var(--color-primary-light)); +} + +#sourcey .param-type { + display: inline-flex; + align-items: baseline; + gap: 0.375rem; +} + +#sourcey .param-in { + display: inline-flex; + align-items: center; + padding: 0.125rem 0.5rem; + font-size: 0.75rem; + font-weight: 500; + border-radius: 0.375rem; + background: rgb(var(--color-gray-100) / 0.5); + color: rgb(var(--color-gray-600)); + margin-left: auto; +} +.dark #sourcey .param-in { + background: rgb(var(--color-surface-dark-tint) / 0.05); + color: rgb(var(--color-gray-200)); +} + +#sourcey .param-description { + padding-top: 0.5rem; + font-size: 0.875rem; + color: rgb(var(--color-gray-700)); +} +.dark #sourcey .param-description { + color: rgb(var(--color-gray-400)); +} + +/* ── Steps (numbered step list with vertical connector) ────────────── */ + +#sourcey .steps { + margin-left: 0.875rem; + margin-top: 1rem; + margin-bottom: 1.5rem; +} + +#sourcey .steps .step-item { + position: relative; + display: flex; + align-items: flex-start; + padding-bottom: 1.25rem; +} + +#sourcey .steps .step-item::before { + content: ""; + position: absolute; + left: 13px; + top: 2.75rem; + bottom: 0; + width: 1px; + background: rgb(var(--color-gray-200) / 0.7); +} +.dark #sourcey .steps .step-item::before { + background: rgb(255 255 255 / 0.1); +} + +#sourcey .steps .step-item:last-child::before { + background: linear-gradient(to bottom, rgb(var(--color-gray-200) / 0.7), transparent); +} +.dark #sourcey .steps .step-item:last-child::before { + background: linear-gradient(to bottom, rgb(255 255 255 / 0.1), transparent); +} + +#sourcey .steps .step-number { + position: relative; + display: flex; + align-items: center; + justify-content: center; + width: 1.75rem; + height: 1.75rem; + flex-shrink: 0; + border-radius: 9999px; + background: rgb(var(--color-gray-50)); + font-size: 0.75rem; + font-weight: 600; + color: rgb(var(--color-gray-900)); + margin-top: 0.5rem; +} +.dark #sourcey .steps .step-number { + background: rgb(255 255 255 / 0.1); + color: rgb(var(--color-gray-50)); +} + +#sourcey .steps .step-body { + padding-left: 1rem; + flex: 1; + overflow: hidden; +} + +#sourcey .steps .step-title { + margin-top: 0.5rem; + font-weight: 600; + color: rgb(var(--color-gray-900)); +} +.dark #sourcey .steps .step-title { + color: rgb(var(--color-gray-200)); +} + +#sourcey .steps .step-content { + margin-top: 0.25rem; +} + +#sourcey .steps .step-content p { + margin: 0.25rem 0; +} + +/* ── Card Group (icon cards in a grid) ─────────────────────────────── */ + +#sourcey .card-group { + display: grid; + gap: 1rem; + margin-top: 1.25rem; + margin-bottom: 2rem; +} +@media (min-width: 640px) { + #sourcey .card-group[data-cols="2"] { + grid-template-columns: repeat(2, 1fr); + } + #sourcey .card-group[data-cols="3"] { + grid-template-columns: repeat(3, 1fr); + } + #sourcey .card-group[data-cols="4"] { + grid-template-columns: repeat(4, 1fr); + } +} + +#sourcey .card-item { + display: block; + position: relative; + border: 1px solid rgb(var(--color-gray-950) / 0.1); + border-radius: var(--radius); + padding: 1.25rem 1.5rem; + background: rgb(var(--color-background-light)); + text-decoration: none; + color: inherit; + cursor: pointer; + overflow: hidden; + transition: border-color 0.15s; +} +.dark #sourcey .card-item { + border-color: rgb(255 255 255 / 0.1); + background: rgb(var(--color-background-dark)); +} + +#sourcey .card-item:hover { + border-color: rgb(var(--color-primary)); +} +.dark #sourcey .card-item:hover { + border-color: rgb(var(--color-primary-light)); +} + +#sourcey .card-icon { + width: 1.5rem; + height: 1.5rem; + flex-shrink: 0; + color: rgb(var(--color-primary)); + margin-bottom: 0.75rem; +} +.dark #sourcey .card-icon { + color: rgb(var(--color-primary-light)); +} + +#sourcey .card-item-title { + font-size: 1rem; + font-weight: 600; + color: rgb(var(--color-gray-800)); + margin: 0 0 0.25rem; +} +.dark #sourcey .card-item-title { + color: #fff; +} + +#sourcey .card-item-content { + margin-top: 0.25rem; + font-size: 1rem; + line-height: 1.5; + color: rgb(var(--color-gray-600)); +} +.dark #sourcey .card-item-content { + color: rgb(var(--color-gray-400)); +} + +#sourcey .card-item-content p { + margin: 0; +} + +/* ── Accordion (expandable details) ────────────────────────────────── */ + +#sourcey .accordion-group { + margin-top: 0; + margin-bottom: 0.75rem; + border-radius: var(--radius); + border: 1px solid rgb(var(--color-gray-200) / 0.7); + overflow: hidden; +} +.dark #sourcey .accordion-group { + border-color: rgb(var(--color-gray-800) / 0.5); +} + +#sourcey .accordion-item { + border-bottom: 1px solid rgb(var(--color-gray-200) / 0.7); + background: rgb(var(--color-background-light)); +} +.dark #sourcey .accordion-item { + border-bottom-color: rgb(var(--color-gray-800) / 0.5); + background: rgb(var(--color-code-block-dark)); +} + +#sourcey .accordion-item:last-child { + border-bottom: none; +} + +#sourcey .accordion-trigger { + display: flex; + align-items: center; + gap: 0.5rem; + width: 100%; + padding: 1rem 1.25rem; + cursor: pointer; + font-weight: 500; + color: rgb(var(--color-gray-900)); + list-style: none; +} +#sourcey .accordion-trigger::-webkit-details-marker { + display: none; +} +.dark #sourcey .accordion-trigger { + color: rgb(var(--color-gray-200)); +} + +#sourcey .accordion-trigger:hover { + background: rgb(var(--color-gray-100)); +} +.dark #sourcey .accordion-trigger:hover { + background: rgb(var(--color-gray-800)); +} + +#sourcey .accordion-trigger::before { + content: ""; + display: inline-block; + width: 0.75rem; + height: 0.75rem; + flex-shrink: 0; + background: rgb(var(--color-gray-700)); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'%3E%3Cpath d='M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z'/%3E%3C/svg%3E"); + mask-repeat: no-repeat; + mask-position: center; + mask-size: contain; + transition: transform 0.15s; +} +.dark #sourcey .accordion-trigger::before { + background: rgb(var(--color-gray-400)); +} + +#sourcey .accordion-item[open] > .accordion-trigger::before { + transform: rotate(90deg); +} + +#sourcey .accordion-content { + padding: 0 1.25rem 1rem 2.5rem; + color: rgb(var(--color-gray-700)); +} +.dark #sourcey .accordion-content { + color: rgb(var(--color-gray-400)); +} + +#sourcey .accordion-content p { + margin: 0.25rem 0; +} + +/* ── Callouts (:::note, :::warning, :::tip, :::info) ───────────────── */ + +#sourcey .callout { + margin: 1.25rem 0; + border: none; + border-left: 2px solid; + border-radius: 0; + padding: 0.875rem 1rem; + font-size: 0.875rem; + line-height: 1.6; + color: rgb(var(--color-gray-700)); + border-left-color: rgb(var(--color-gray-300)); +} +.dark #sourcey .callout { + border-left-color: rgb(var(--color-gray-700)); + color: rgb(var(--color-gray-400)); +} + +#sourcey .callout-title { + font-weight: 600; + font-size: 0.8125rem; + text-transform: uppercase; + letter-spacing: 0.04em; +} + +/* Remove bottom margin when no content follows */ +#sourcey .callout-title:last-child { + margin-bottom: 0; +} + +#sourcey .callout-content { + margin-top: 0.375rem; +} + +#sourcey .callout-content p { + margin: 0.25rem 0; +} + +#sourcey .callout-content p:last-child { + margin-bottom: 0; +} + +/* Note — blue */ +#sourcey .callout-note { + border-left-color: #3b82f6; +} +.dark #sourcey .callout-note { + border-left-color: #60a5fa; +} +#sourcey .callout-note .callout-title { + color: #3b82f6; +} +.dark #sourcey .callout-note .callout-title { + color: #60a5fa; +} + +/* Warning — amber */ +#sourcey .callout-warning { + border-left-color: #f59e0b; +} +.dark #sourcey .callout-warning { + border-left-color: #fbbf24; +} +#sourcey .callout-warning .callout-title { + color: #f59e0b; +} +.dark #sourcey .callout-warning .callout-title { + color: #fbbf24; +} + +/* ── Changelog ───────────────────────────────────────────────────── */ + +#sourcey .sourcey-changelog-page { + width: 100%; +} + +#sourcey .sourcey-changelog-header { + margin-bottom: 2rem; +} + +#sourcey .sourcey-changelog-description { + margin-top: 0.75rem; + font-size: 1.05rem; + line-height: 1.7; + color: rgb(var(--color-gray-600)); + max-width: 65ch; + text-wrap: pretty; +} + +.dark #sourcey .sourcey-changelog-description { + color: rgb(var(--color-gray-400)); +} + +#sourcey .sourcey-changelog-description a { + color: rgb(var(--color-primary-ink)); + text-decoration: none; + border-bottom: 1px solid rgb(var(--color-primary-ink) / 0.3); +} + +#sourcey .sourcey-changelog-description a:hover { + border-bottom-color: rgb(var(--color-primary-ink)); +} + +.dark #sourcey .sourcey-changelog-description a { + color: rgb(var(--color-primary-light)); + border-bottom-color: rgb(var(--color-primary-light) / 0.3); +} + +.dark #sourcey .sourcey-changelog-description a:hover { + border-bottom-color: rgb(var(--color-primary-light)); +} + +#sourcey .sourcey-changelog-description code { + font-size: 0.92em; + padding: 0.05rem 0.3rem; + border-radius: 0.25rem; + background: rgb(var(--color-gray-100)); + color: rgb(var(--color-gray-800)); +} + +.dark #sourcey .sourcey-changelog-description code { + background: rgb(255 255 255 / 0.08); + color: rgb(var(--color-gray-200)); +} + +#sourcey .sourcey-changelog-list { + display: flex; + flex-direction: column; + gap: 1rem; +} + +#sourcey .sourcey-changelog-version { + border: 1px solid rgb(var(--color-gray-200) / 0.8); + border-radius: 1rem; + padding: 1.25rem 1.25rem 1rem; + background: linear-gradient(180deg, rgb(var(--color-gray-50) / 0.75), rgb(255 255 255)); +} + +.dark #sourcey .sourcey-changelog-version { + border-color: rgb(var(--color-gray-800) / 0.8); + background: linear-gradient(180deg, rgb(255 255 255 / 0.03), rgb(255 255 255 / 0.015)); +} + +#sourcey .sourcey-changelog-version-unreleased { + border-color: rgb(var(--color-primary) / 0.18); + border-left: 3px solid rgb(var(--color-primary)); + padding-left: calc(1.25rem - 2px); + background: linear-gradient( + 180deg, + rgb(var(--color-primary) / 0.04), + rgb(var(--color-primary) / 0.015) + ); +} + +.dark #sourcey .sourcey-changelog-version-unreleased { + border-color: rgb(var(--color-primary-light) / 0.22); + border-left-color: rgb(var(--color-primary-light)); + background: linear-gradient( + 180deg, + rgb(var(--color-primary-light) / 0.06), + rgb(var(--color-primary-light) / 0.02) + ); +} + +#sourcey .sourcey-changelog-version-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 1rem; + margin-bottom: 1rem; +} + +@media (max-width: 768px) { + #sourcey .sourcey-changelog-version-header { + flex-direction: column; + } +} + +#sourcey .sourcey-changelog-version-heading { + display: flex; + align-items: center; + gap: 0.5rem; + flex-wrap: wrap; +} + +#sourcey .sourcey-changelog-version-link { + font-size: 1.25rem; + font-weight: 700; + color: rgb(var(--color-gray-900)); + text-decoration: none; +} + +.dark #sourcey .sourcey-changelog-version-link { + color: rgb(var(--color-gray-200)); +} + +#sourcey .sourcey-changelog-version-link:hover { + color: rgb(var(--color-primary-ink)); +} + +.dark #sourcey .sourcey-changelog-version-link:hover { + color: rgb(var(--color-primary-light)); +} + +#sourcey .sourcey-changelog-version-meta { + display: flex; + align-items: center; + gap: 0.75rem; + font-size: 0.925rem; + color: rgb(var(--color-gray-500)); +} + +.dark #sourcey .sourcey-changelog-version-meta { + color: rgb(var(--color-gray-400)); +} + +#sourcey .sourcey-changelog-compare-link { + color: rgb(var(--color-primary-ink)); + text-decoration: none; +} + +.dark #sourcey .sourcey-changelog-compare-link { + color: rgb(var(--color-primary-light)); +} + +#sourcey .sourcey-changelog-pill { + display: inline-flex; + align-items: center; + border-radius: 999px; + padding: 0.15rem 0.5rem; + font-size: 0.72rem; + font-weight: 700; + letter-spacing: 0.03em; +} + +#sourcey .sourcey-changelog-pill-yanked { + background: rgb(239 68 68 / 0.12); + color: rgb(185 28 28); +} + +.dark #sourcey .sourcey-changelog-pill-yanked { + background: rgb(248 113 113 / 0.15); + color: rgb(252 165 165); +} + +#sourcey .sourcey-changelog-pill-pre { + background: rgb(var(--color-gray-100)); + color: rgb(var(--color-gray-600)); +} + +.dark #sourcey .sourcey-changelog-pill-pre { + background: rgb(255 255 255 / 0.08); + color: rgb(var(--color-gray-300)); +} + +#sourcey .sourcey-changelog-pill-next { + background: rgb(var(--color-primary) / 0.1); + color: rgb(var(--color-primary-ink)); + text-transform: uppercase; + letter-spacing: 0.06em; + font-size: 0.68rem; +} + +.dark #sourcey .sourcey-changelog-pill-next { + background: rgb(var(--color-primary-light) / 0.14); + color: rgb(var(--color-primary-light)); +} + +#sourcey .sourcey-changelog-summary { + margin-bottom: 1rem; +} + +#sourcey .sourcey-changelog-summary p:first-child { + margin-top: 0; +} + +#sourcey .sourcey-changelog-sections { + display: flex; + flex-direction: column; + gap: 0.875rem; +} + +#sourcey .sourcey-changelog-section { + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +#sourcey .sourcey-changelog-section-header { + display: flex; + align-items: center; + gap: 0.5rem; +} + +#sourcey .sourcey-changelog-entry-list { + margin: 0; + padding-left: 1.25rem; + color: rgb(var(--color-gray-700)); +} + +.dark #sourcey .sourcey-changelog-entry-list { + color: rgb(var(--color-gray-300)); +} + +#sourcey .sourcey-changelog-entry-list li { + margin: 0.35rem 0; +} + +#sourcey .sourcey-changelog-entry-list li > p { + margin: 0; +} + +#sourcey .sourcey-changelog-badge { + text-transform: none; +} + +#sourcey .sourcey-changelog-badge-added { + background: rgb(var(--color-success) / 0.12); + color: rgb(21 128 61); +} + +.dark #sourcey .sourcey-changelog-badge-added { + background: rgb(var(--color-success) / 0.16); + color: rgb(134 239 172); +} + +#sourcey .sourcey-changelog-badge-changed { + background: rgb(var(--color-primary) / 0.12); + color: rgb(var(--color-primary-ink)); +} + +.dark #sourcey .sourcey-changelog-badge-changed { + background: rgb(var(--color-primary-light) / 0.12); + color: rgb(var(--color-primary-light)); +} + +#sourcey .sourcey-changelog-badge-fixed { + background: rgb(245 158 11 / 0.14); + color: rgb(180 83 9); +} + +.dark #sourcey .sourcey-changelog-badge-fixed { + background: rgb(251 191 36 / 0.16); + color: rgb(253 224 71); +} + +#sourcey .sourcey-changelog-badge-removed, +#sourcey .sourcey-changelog-badge-security { + background: rgb(239 68 68 / 0.12); + color: rgb(185 28 28); +} + +.dark #sourcey .sourcey-changelog-badge-removed, +.dark #sourcey .sourcey-changelog-badge-security { + background: rgb(248 113 113 / 0.16); + color: rgb(252 165 165); +} + +#sourcey .sourcey-changelog-badge-deprecated, +#sourcey .sourcey-changelog-badge-other { + background: rgb(var(--color-gray-100)); + color: rgb(var(--color-gray-600)); +} + +.dark #sourcey .sourcey-changelog-badge-deprecated, +.dark #sourcey .sourcey-changelog-badge-other { + background: rgb(255 255 255 / 0.08); + color: rgb(var(--color-gray-300)); +} + +/* Tip — green */ +#sourcey .callout-tip { + border-left-color: #22c55e; +} +.dark #sourcey .callout-tip { + border-left-color: #4ade80; +} +#sourcey .callout-tip .callout-title { + color: #22c55e; +} +.dark #sourcey .callout-tip .callout-title { + color: #4ade80; +} + +/* Info — violet */ +#sourcey .callout-info { + border-left-color: #8b5cf6; +} +.dark #sourcey .callout-info { + border-left-color: #a78bfa; +} +#sourcey .callout-info .callout-title { + color: #8b5cf6; +} +.dark #sourcey .callout-info .callout-title { + color: #a78bfa; +} + +/* ── Directive Tabs (:::tabs, :::code-group) ───────────────────────── */ + +#sourcey .directive-tabs { + margin: 1.25rem 0; + border: 1px solid rgb(var(--color-stone-950) / 0.1); + border-radius: var(--radius); + overflow: hidden; +} +.dark #sourcey .directive-tabs { + border-color: rgb(255 255 255 / 0.1); +} + +#sourcey .directive-tab-bar { + display: flex; + gap: 0; + border-bottom: 1px solid rgb(var(--color-stone-200)); + background: rgb(var(--color-stone-50)); + padding: 0 0.25rem; +} +.dark #sourcey .directive-tab-bar { + border-bottom-color: rgb(255 255 255 / 0.06); + background: rgb(var(--color-code-block-dark)); +} + +#sourcey .directive-tab { + position: relative; + padding: 0.625rem 1rem; + font-size: 0.8125rem; + font-weight: 500; + color: rgb(var(--color-stone-500)); + background: transparent; + border: none; + cursor: pointer; + transition: color 0.15s; +} +#sourcey .directive-tab:hover { + color: rgb(var(--color-gray-900)); +} +.dark #sourcey .directive-tab:hover { + color: rgb(var(--color-gray-300)); +} + +#sourcey .directive-tab.active { + color: rgb(var(--color-primary-ink)); +} +.dark #sourcey .directive-tab.active { + color: rgb(var(--color-primary-light)); +} + +#sourcey .directive-tab.active::after { + content: ""; + position: absolute; + right: 0.5rem; + bottom: -1px; + left: 0.5rem; + height: 2px; + border-radius: 9999px; + background: rgb(var(--color-primary)); +} +.dark #sourcey .directive-tab.active::after { + background: rgb(var(--color-primary-light)); +} + +#sourcey .directive-tab-panel { + display: none; + padding: 1rem 1.25rem; +} + +#sourcey .directive-tab-panel.active { + display: block; +} + +/* Code group: tighter padding, code blocks fill the panel */ +#sourcey .directive-code-group .directive-tab-panel { + padding: 0; +} + +#sourcey .directive-code-group .directive-tab-panel pre { + margin: 0; + border-radius: 0; +} + +/* Strip nested code block chrome inside tab panels */ +#sourcey .directive-tabs .prose-code-block { + border: none; + border-radius: 0; + margin: 0; +} + +#sourcey .directive-tabs .prose-code-block .prose-code-copy { + display: none; +} + +/* ── Mobile navigation drawer (dialog) ────────────────────────────── */ + +.mobile-nav-dialog { + padding: 0; + border: none; + max-width: 20rem; + width: 80%; + height: 100%; + max-height: 100%; + margin: 0; + overflow-y: auto; + font-family: var(--font-sans); + font-size: 0.875rem; + line-height: 1.5rem; + background: rgb(var(--color-background-light)); + color: rgb(var(--color-gray-500)); +} +.mobile-nav-dialog[open] { + display: flex; + flex-direction: column; +} +.dark .mobile-nav-dialog { + background: rgb(var(--color-background-dark)); + color: rgb(var(--color-gray-400)); +} +.mobile-nav-dialog::backdrop { + background: rgb(0 0 0 / 0.25); + backdrop-filter: blur(2px); +} +.mobile-nav-dialog[open] { + animation: drawer-slide-in 0.2s ease-out; +} +.mobile-nav-dialog[open]::backdrop { + animation: drawer-fade-in 0.2s ease-out; +} + +/* ── Drawer group dropdown ─────────────────────────────────────────── */ + +.drawer-dropdown { + position: relative; +} + +.drawer-dropdown-trigger { + position: relative; + z-index: 11; + display: flex; + align-items: center; + justify-content: space-between; + gap: 0.5rem; + width: 100%; + padding: 0.625rem 1.125rem; + border-radius: var(--radius, 0.5rem); + font-size: 1rem; + font-weight: 600; + font-family: var(--font-sans); + color: rgb(var(--color-gray-900)); + background: rgb(var(--color-background-light)); + border: none; + box-shadow: inset 0 0 0 1px rgb(var(--color-gray-200)); + cursor: pointer; + text-align: left; +} +.dark .drawer-dropdown-trigger { + color: rgb(var(--color-gray-200)); + background: rgb(var(--color-background-dark)); + box-shadow: inset 0 0 0 1px rgb(var(--color-gray-600)); +} +.drawer-dropdown-trigger[aria-expanded="true"] { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + box-shadow: + inset 1px 0 0 rgb(var(--color-gray-200)), + inset -1px 0 0 rgb(var(--color-gray-200)), + inset 0 1px 0 rgb(var(--color-gray-200)); +} +.dark .drawer-dropdown-trigger[aria-expanded="true"] { + box-shadow: + inset 1px 0 0 rgb(var(--color-gray-600)), + inset -1px 0 0 rgb(var(--color-gray-600)), + inset 0 1px 0 rgb(var(--color-gray-600)); +} + +.drawer-dropdown-chevron { + color: rgb(var(--color-gray-400)); + transition: transform 0.15s ease; + flex-shrink: 0; +} +.drawer-dropdown-trigger[aria-expanded="true"] .drawer-dropdown-chevron { + transform: rotate(180deg); +} + +.drawer-dropdown-list { + position: absolute; + top: 100%; + left: 0; + right: 0; + z-index: 10; + list-style: none; + margin: 0; + padding: 0.375rem 0; + border-radius: 0 0 var(--radius, 0.5rem) var(--radius, 0.5rem); + background: rgb(var(--color-background-light)); + border: none; + box-shadow: + inset 1px 0 0 rgb(var(--color-gray-200)), + inset -1px 0 0 rgb(var(--color-gray-200)), + inset 0 -1px 0 rgb(var(--color-gray-200)), + 0 6px 16px rgb(0 0 0 / 0.08); +} +.dark .drawer-dropdown-list { + background: rgb(var(--color-background-dark)); + box-shadow: + inset 1px 0 0 rgb(var(--color-gray-600)), + inset -1px 0 0 rgb(var(--color-gray-600)), + inset 0 -1px 0 rgb(var(--color-gray-600)), + 0 6px 16px rgb(0 0 0 / 0.3); +} + +.drawer-dropdown-item { + display: block; + width: 100%; + padding: 0.5rem 1.125rem; + font-size: 1rem; + font-family: var(--font-sans); + text-align: left; + color: rgb(var(--color-gray-600)); + background: none; + border: none; + cursor: pointer; +} +.drawer-dropdown-item:hover { + background: rgb(var(--color-gray-50)); +} +.dark .drawer-dropdown-item { + color: rgb(var(--color-gray-400)); +} +.dark .drawer-dropdown-item:hover { + background: rgb(var(--color-gray-800)); +} +.drawer-dropdown-item.active { + color: rgb(var(--color-primary-ink)); + font-weight: 500; +} +.dark .drawer-dropdown-item.active { + color: rgb(var(--color-primary-light)); +} + +/* Drawer nav items — larger touch targets */ +#sourcey .mobile-nav-dialog .nav-link, +#sourcey .mobile-nav-dialog .nav-link:hover, +#sourcey .mobile-nav-dialog .nav-link.active { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.mobile-nav-dialog ul { + display: flex; + flex-direction: column; + gap: 0.125rem; +} + +@keyframes drawer-slide-in { + from { + transform: translateX(-100%); + } + to { + transform: translateX(0); + } +} +@keyframes drawer-fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +/* ── Code group cards (API right-hand panels) ─────────────────────── */ + +#sourcey .code-group { + position: relative; + display: flex; + flex-direction: column; + /* Visible so an open header dropdown menu is not clipped by the card; the + code body's rounded corners are clipped by .code-card-body instead. */ + overflow: visible; + border-radius: var(--radius); + border: 1px solid rgb(var(--color-stone-950) / 0.1); +} +.dark #sourcey .code-group { + border-color: rgb(255 255 255 / 0.1); +} + +#sourcey .code-group > div:first-child { + background: rgb(var(--color-stone-50)); + border-top-left-radius: var(--radius); + border-top-right-radius: var(--radius); +} +.dark #sourcey .code-group > div:first-child { + background: rgb(255 255 255 / 0.03); +} + +/* Clips the code panels' rounded bottom corners now that the card itself does + not clip. Horizontal code scrolling stays on the inner body element. */ +#sourcey .code-card-body { + overflow: hidden; + border-bottom-left-radius: var(--radius); + border-bottom-right-radius: var(--radius); +} + +#sourcey .code-lang-menu { + max-height: min(18rem, calc(100vh - var(--header-height, 0px) - 2rem)); + overflow-y: auto; + overscroll-behavior: contain; +} + +/* ── Print/PDF output ─────────────────────────────────────────────── */ + +@media print { + @page { + margin: 0.7in; + } + + html, + body, + #sourcey, + #sourcey #page, + #sourcey #docs { + background: #fff !important; + color: #111827 !important; + } + + #sourcey #page::before, + #sourcey #navbar, + #sourcey #toc, + #sourcey #search-dialog, + #sourcey .mobile-nav-dialog, + #sourcey .copy-btn, + #sourcey .prose-code-copy, + #sourcey .code-lang-dropdown { + display: none !important; + } + + #sourcey .max-w-\[92rem\], + #sourcey .max-w-3xl { + max-width: none !important; + margin: 0 !important; + padding: 0 !important; + } + + #sourcey #docs { + padding-top: 0 !important; + } + + #sourcey #docs > .flex, + #sourcey #docs [class*="lg:flex-row"], + #sourcey #docs [class*="xl:flex-row"] { + display: block !important; + } + + #sourcey #content-area { + width: 100% !important; + max-width: none !important; + margin: 0 !important; + padding: 0 !important; + } + + #sourcey #sidebar { + display: block !important; + position: static !important; + inset: auto !important; + width: auto !important; + margin: 0 0 1.5rem !important; + padding: 0 0 1rem !important; + border-bottom: 1px solid #e5e7eb; + } + + #sourcey #sidebar > div { + position: static !important; + inset: auto !important; + overflow: visible !important; + padding: 0 !important; + } + + #sourcey #sidebar .sticky { + display: none !important; + } + + #sourcey #sidebar #nav::before { + content: "Table of Contents"; + display: block; + margin: 0 0 0.75rem; + font-size: 0.875rem; + font-weight: 700; + color: #111827; + } + + #sourcey #sidebar .nav-group-label, + #sourcey #sidebar .nav-link { + color: #111827 !important; + background: transparent !important; + } + + #sourcey #sidebar .nav-link { + padding: 0.125rem 0 !important; + } + + #sourcey #docs article aside { + display: none !important; + } + + #sourcey #docs [class*="lg:hidden"], + #sourcey #docs [class*="xl:hidden"] { + display: block !important; + } + + #sourcey .code-group, + #sourcey .prose-code-block, + #sourcey .param-item, + #sourcey .schema-expandable, + #sourcey .sourcey-changelog-version { + break-inside: avoid; + } + + #sourcey .code-group, + #sourcey .prose-code-block, + #sourcey .prose-code-content, + #sourcey .code-card-body, + #sourcey .code-card-body > div, + #sourcey .code-card-body .font-mono { + background: #fff !important; + color: #111827 !important; + } + + #sourcey a { + color: #111827 !important; + text-decoration: underline; + } +} + +/* ── Selection ─────────────────────────────────────────────────────── */ + +#sourcey ::selection { + background: rgb(var(--color-primary) / 0.12); +} + +/* ── Search Dialog ────────────────────────────────────────────────── */ + +#sourcey #search-dialog { + display: none; + position: fixed; + inset: 0; + z-index: 500; + background: transparent; +} + +#sourcey #search-dialog.open { + display: block; +} + +#sourcey .search-dialog-inner { + position: absolute; + background: rgb(var(--color-background-light)); + border-radius: var(--radius); + border: 1px solid rgb(var(--color-gray-200) / 0.7); + box-shadow: 0 8px 32px rgb(var(--color-overlay) / 0.12); + overflow: hidden; +} +.dark #sourcey .search-dialog-inner { + background: rgb(var(--color-gray-900)); + border-color: rgb(var(--color-gray-700) / 0.5); + box-shadow: 0 8px 32px rgb(var(--color-overlay) / 0.4); +} + +#sourcey .search-input-row { + display: flex; + align-items: center; + gap: 0.625rem; + padding: 0.75rem 1rem; + border-bottom: 1px solid rgb(var(--color-gray-200)); +} +.dark #sourcey .search-input-row { + border-bottom-color: rgb(var(--color-gray-800)); +} + +#sourcey .search-input-icon { + width: 1.125rem; + height: 1.125rem; + flex-shrink: 0; + color: rgb(var(--color-gray-400)); +} + +#sourcey #search-input { + width: 100%; + border: none; + font-family: var(--font-sans); + font-size: 0.9375rem; + color: rgb(var(--color-gray-900)); + background: transparent; + outline: none; +} +.dark #sourcey #search-input { + color: rgb(var(--color-gray-100)); +} + +#sourcey #search-input::placeholder { + color: rgb(var(--color-gray-400)); +} + +#sourcey #search-results { + max-height: 50vh; + overflow-y: auto; + padding: 0.25rem; +} + +#sourcey .search-category { + padding: 0.5rem 0.75rem 0.25rem; + font-size: 0.6875rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + color: rgb(var(--color-gray-400)); +} + +#sourcey .search-footer { + display: flex; + align-items: center; + gap: 1rem; + padding: 0.5rem 0.75rem; + border-top: 1px solid rgb(var(--color-gray-200)); + font-size: 0.6875rem; + color: rgb(var(--color-gray-400)); +} +.dark #sourcey .search-footer { + border-top-color: rgb(var(--color-gray-800)); +} + +#sourcey .search-footer-hint { + display: flex; + align-items: center; + gap: 0.25rem; +} + +#sourcey .search-footer kbd, +#sourcey #search-open kbd { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 1.25rem; + height: 1.125rem; + padding: 0 0.25rem; + font-family: var(--font-sans); + font-size: 0.625rem; + font-weight: 500; + border-radius: 0.25rem; + border: 1px solid rgb(var(--color-gray-200)); + background: rgb(var(--color-gray-50)); + color: rgb(var(--color-gray-500)); +} +.dark #sourcey .search-footer kbd, +.dark #sourcey #search-open kbd { + border-color: rgb(var(--color-gray-700)); + background: rgb(var(--color-gray-800)); + color: rgb(var(--color-gray-400)); +} + +#sourcey .search-result { + display: flex; + align-items: baseline; + gap: 0.5rem; + padding: 0.5rem 0.75rem; + text-decoration: none; + color: rgb(var(--color-gray-700)); + border-radius: 0.375rem; + cursor: pointer; + transition: background 0.1s; +} +.dark #sourcey .search-result { + color: rgb(var(--color-gray-400)); +} + +#sourcey .search-result:hover, +#sourcey .search-result.active { + background: rgb(var(--color-primary) / 0.06); + color: rgb(var(--color-gray-900)); +} +.dark #sourcey .search-result:hover, +.dark #sourcey .search-result.active { + background: rgb(var(--color-primary-light) / 0.08); + color: rgb(var(--color-gray-200)); +} + +#sourcey .search-result-main { + display: flex; + align-items: baseline; + gap: 0.375rem; + flex: 1; + min-width: 0; +} + +#sourcey .search-result-method { + display: inline-flex; + align-items: center; + padding: 0.125rem 0.375rem; + font-size: 0.625rem; + font-weight: 700; + line-height: 1; + letter-spacing: 0.04em; + text-transform: uppercase; + white-space: nowrap; + border: 1px solid transparent; + border-radius: 3px; + color: rgb(var(--color-background-light)); + flex-shrink: 0; +} + +#sourcey .search-result-method.method-get { + background: var(--method-get); +} +#sourcey .search-result-method.method-post { + background: var(--method-post); +} +#sourcey .search-result-method.method-put { + background: var(--method-put); +} +#sourcey .search-result-method.method-delete { + background: var(--method-delete); +} +#sourcey .search-result-method.method-patch { + background: var(--method-patch); +} +#sourcey .search-result-method.method-tool { + background: var(--method-tool); +} +#sourcey .search-result-method.method-resource { + background: var(--method-resource); +} +#sourcey .search-result-method.method-prompt { + background: var(--method-prompt); +} + +#sourcey .search-result-path { + font-family: var(--font-mono); + font-size: 0.8125rem; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +#sourcey .search-result-summary { + font-size: 0.8125rem; + color: rgb(var(--color-gray-500)); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +#sourcey .search-result-tag { + font-size: 0.6875rem; + color: rgb(var(--color-gray-400)); + white-space: nowrap; + flex-shrink: 0; +} + +#sourcey .search-loading { + padding: 1rem; + color: rgb(var(--color-gray-500)); + font-size: 0.8125rem; +} + +/* ── Godoc rendering ─────────────────────────────────────────────── */ + +#sourcey .godoc-import, +#sourcey .godoc-import-path { + font-size: 0.8125rem; + color: rgb(var(--color-gray-500)); + margin: 0.25rem 0 1.5rem; +} + +#sourcey .godoc-import code, +#sourcey .godoc-import-path code { + font-family: var(--font-mono); + background: rgba(var(--color-gray-100), 0.6); + padding: 0.125rem 0.375rem; + border-radius: 3px; +} + +#sourcey .godoc-source { + margin: -0.25rem 0 0.625rem; + font-size: 0.75rem; + color: rgb(var(--color-gray-500)); +} + +#sourcey .godoc-source a { + color: inherit; + text-decoration: none; +} + +#sourcey .godoc-source a:hover { + color: rgb(var(--color-primary-ink)); +} + +#sourcey .godoc-toc { + margin: 1.5rem 0 2.5rem; + padding: 0.875rem 1rem; + border: 1px solid rgb(var(--color-gray-200)); + border-radius: 6px; + background: rgba(var(--color-gray-50), 0.5); +} + +#sourcey .godoc-toc h4 { + margin: 0 0 0.5rem; + font-size: 0.6875rem; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.04em; + color: rgb(var(--color-gray-500)); +} + +#sourcey .godoc-toc ul { + list-style: none; + margin: 0; + padding: 0; + font-size: 0.8125rem; +} + +#sourcey .godoc-toc li { + margin: 0.125rem 0; +} + +#sourcey .godoc-toc li.godoc-toc-sub { + padding-left: 1rem; + font-family: var(--font-mono); + font-size: 0.75rem; + color: rgb(var(--color-gray-600)); +} + +#sourcey .godoc-toc a { + color: inherit; + text-decoration: none; + border-bottom: 1px dotted transparent; +} + +#sourcey .godoc-toc a:hover { + color: rgb(var(--color-primary)); + border-bottom-color: currentColor; +} + +#sourcey .godoc-symbol { + font-family: var(--font-mono); + font-size: 0.95rem; + font-weight: 600; + margin: 1.75rem 0 0.5rem; + color: rgb(var(--color-gray-900)); + scroll-margin-top: 5rem; +} + +#sourcey .godoc-doc { + margin: 0.5rem 0 0.75rem; + color: rgb(var(--color-gray-700)); + font-size: 0.9375rem; + line-height: 1.65; +} + +#sourcey .godoc-doc p:first-child { + margin-top: 0; +} + +#sourcey .godoc-doc p:last-child { + margin-bottom: 0; +} + +#sourcey .godoc-value, +#sourcey .godoc-func, +#sourcey .godoc-type { + margin: 1rem 0 1.5rem; + scroll-margin-top: 5rem; +} + +#sourcey .godoc-type { + border-top: 1px solid rgb(var(--color-gray-200)); + padding-top: 1.25rem; + margin-top: 2rem; +} + +#sourcey .godoc-anchor { + display: block; + height: 0; + scroll-margin-top: 5rem; +} + +#sourcey .godoc-fields { + margin: 0.75rem 0 1rem; + padding: 0; + border: 1px solid rgb(var(--color-gray-200)); + border-radius: 6px; + background: rgba(var(--color-gray-50), 0.4); +} + +#sourcey .godoc-fields > summary { + cursor: pointer; + padding: 0.5rem 0.875rem; + font-size: 0.75rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.04em; + color: rgb(var(--color-gray-600)); + list-style: none; +} + +#sourcey .godoc-fields > summary::-webkit-details-marker { + display: none; +} + +#sourcey .godoc-fields > ul { + list-style: none; + margin: 0; + padding: 0; + border-top: 1px solid rgb(var(--color-gray-200)); +} + +#sourcey .godoc-field { + padding: 0.625rem 0.875rem; + border-bottom: 1px solid rgb(var(--color-gray-200)); + font-size: 0.875rem; +} + +#sourcey .godoc-field:last-child { + border-bottom: none; +} + +#sourcey .godoc-field-sig { + font-family: var(--font-mono); + font-size: 0.8125rem; + font-weight: 600; + color: rgb(var(--color-gray-900)); + background: transparent; + padding: 0; +} + +#sourcey .godoc-field-type { + font-weight: 400; + color: rgb(var(--color-gray-700)); +} + +#sourcey .godoc-tag { + font-family: var(--font-mono); + font-size: 0.75rem; + color: rgb(var(--color-gray-500)); + background: transparent; + padding: 0; + margin-left: 0.5rem; +} + +#sourcey .godoc-field-doc { + margin-top: 0.25rem; + font-size: 0.8125rem; + color: rgb(var(--color-gray-600)); + line-height: 1.55; +} + +#sourcey .godoc-example { + margin: 0.75rem 0 1.25rem; + padding: 0; + border: 1px solid rgb(var(--color-gray-200)); + border-radius: 6px; + background: rgba(var(--color-gray-50), 0.4); +} + +#sourcey .godoc-example > summary { + cursor: pointer; + padding: 0.5rem 0.875rem; + font-size: 0.75rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.04em; + color: rgb(var(--color-gray-600)); + list-style: none; +} + +#sourcey .godoc-example > summary::-webkit-details-marker { + display: none; +} + +#sourcey .godoc-example > summary::before { + content: "▸ "; + color: rgb(var(--color-gray-400)); + margin-right: 0.25rem; +} + +#sourcey .godoc-example[open] > summary::before { + content: "▾ "; +} + +#sourcey .godoc-example > pre, +#sourcey .godoc-example > .godoc-doc, +#sourcey .godoc-example > p { + margin: 0.5rem 0.875rem; +} + +#sourcey .godoc-example-output-label { + margin: 0.5rem 0.875rem 0; + font-size: 0.6875rem; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.04em; + color: rgb(var(--color-gray-500)); +} + +#sourcey .godoc-func .godoc-symbol, +#sourcey .godoc-type .godoc-symbol { + word-break: break-word; +} + +/* ── Rust API rendering (rustdoc adapter) ────────────────────────── */ +/* Shared API primitives (api-*) introduced for rustdoc and reusable + by godoc/doxygen in a follow-on retrofit. Class names mirror + rustdoc's DOM so deep-links from a rustdoc URL line up with + sourcey output. */ + +#sourcey .rust-item { + border-top: 1px solid rgb(var(--color-gray-200)); + padding-top: 1rem; + margin-top: 1.25rem; +} +.dark #sourcey .rust-item { + border-top-color: rgb(var(--color-gray-800)); +} + +#sourcey .code-header, +#sourcey .rust-signature { + font-family: + ui-monospace, "SF Mono", "Cascadia Code", Consolas, "Liberation Mono", Menlo, monospace; + font-size: 0.9375rem; + color: rgb(var(--color-gray-900)); + white-space: pre-wrap; + word-break: break-word; +} +.dark #sourcey .code-header, +.dark #sourcey .rust-signature { + color: rgb(var(--color-gray-100)); +} + +#sourcey .rust-signature .kw { + color: rgb(var(--color-rose-600)); + font-weight: 600; +} +.dark #sourcey .rust-signature .kw { + color: rgb(var(--color-rose-300)); +} + +#sourcey .rust-signature .ident { + color: rgb(var(--color-indigo-600)); +} +.dark #sourcey .rust-signature .ident { + color: rgb(var(--color-indigo-300)); +} + +#sourcey .rust-signature .lifetime { + color: rgb(var(--color-amber-700)); + font-style: italic; +} +.dark #sourcey .rust-signature .lifetime { + color: rgb(var(--color-amber-300)); +} + +#sourcey .api-rightside, +#sourcey .rightside { + float: right; + font-size: 0.8125rem; + color: rgb(var(--color-gray-500)); +} + +#sourcey .api-since, +#sourcey .since { + font-feature-settings: "tnum"; +} + +#sourcey .api-srclink, +#sourcey .srclink { + color: rgb(var(--color-indigo-600)); + text-decoration: none; +} +#sourcey .api-srclink:hover, +#sourcey .srclink:hover { + text-decoration: underline; +} +.dark #sourcey .api-srclink, +.dark #sourcey .srclink { + color: rgb(var(--color-indigo-300)); +} + +#sourcey .docblock, +#sourcey .rust-doc { + color: rgb(var(--color-gray-700)); + margin-top: 0.5rem; +} +.dark #sourcey .docblock, +.dark #sourcey .rust-doc { + color: rgb(var(--color-gray-300)); +} + +#sourcey .stab, +#sourcey .api-stab { + display: block; + margin: 0.5rem 0; + padding: 0.5rem 0.75rem; + border-radius: 0.375rem; + font-size: 0.875rem; + border: 1px solid transparent; +} +#sourcey .stab.unstable, +#sourcey .api-stab-unstable { + background-color: rgb(var(--color-amber-50)); + border-color: rgb(var(--color-amber-200)); + color: rgb(var(--color-amber-900)); +} +#sourcey .stab.deprecated, +#sourcey .api-stab-deprecated { + background-color: rgb(var(--color-rose-50)); + border-color: rgb(var(--color-rose-200)); + color: rgb(var(--color-rose-900)); +} +#sourcey .stab.portability, +#sourcey .api-stab-portability { + background-color: rgb(var(--color-emerald-50)); + border-color: rgb(var(--color-emerald-200)); + color: rgb(var(--color-emerald-900)); +} +.dark #sourcey .stab.unstable, +.dark #sourcey .api-stab-unstable { + background-color: rgba(251, 191, 36, 0.08); + border-color: rgba(251, 191, 36, 0.25); + color: rgb(var(--color-amber-200)); +} +.dark #sourcey .stab.deprecated, +.dark #sourcey .api-stab-deprecated { + background-color: rgba(244, 63, 94, 0.08); + border-color: rgba(244, 63, 94, 0.25); + color: rgb(var(--color-rose-200)); +} +.dark #sourcey .stab.portability, +.dark #sourcey .api-stab-portability { + background-color: rgba(16, 185, 129, 0.08); + border-color: rgba(16, 185, 129, 0.25); + color: rgb(var(--color-emerald-200)); +} + +/* Collapsible trait-impl block. Chevron pattern mirrors .godoc-example so the + disclosure reads the same across adapters. */ +#sourcey .api-toggle { + margin: 0.75rem 0; + border: 1px solid rgb(var(--color-gray-200)); + border-radius: 6px; + background: rgba(var(--color-gray-50), 0.4); +} +.dark #sourcey .api-toggle { + border-color: rgb(var(--color-gray-800)); +} +#sourcey .api-toggle > summary { + cursor: pointer; + padding: 0.5rem 0.875rem; + list-style: none; + font-family: var(--font-mono); + font-size: 0.8125rem; + color: rgb(var(--color-gray-700)); +} +.dark #sourcey .api-toggle > summary { + color: rgb(var(--color-gray-300)); +} +#sourcey .api-toggle > summary::-webkit-details-marker { + display: none; +} +#sourcey .api-toggle > summary::before { + content: "▸ "; + color: rgb(var(--color-gray-400)); + margin-right: 0.25rem; +} +#sourcey .api-toggle[open] > summary::before { + content: "▾ "; +} +/* The impl header lives inside the summary; keep it inline with the chevron + and strip heading margins. */ +#sourcey .api-toggle > summary .rust-impl-header { + display: inline; + margin: 0; + font-size: inherit; +} +#sourcey .api-toggle-body { + padding: 0.25rem 0.875rem 0.5rem; + border-top: 1px solid rgb(var(--color-gray-200)); +} +.dark #sourcey .api-toggle-body { + border-top-color: rgb(var(--color-gray-800)); +} +/* Marker / auto / blanket trait impls: a quiet list, not expandable boxes. */ +#sourcey .rust-impl-rows { + margin: 0.5rem 0 0.75rem; +} +#sourcey .rust-impl-row { + padding: 0.2rem 0; +} +#sourcey .rust-impl-row .rust-impl-header { + display: inline; + margin: 0; + font-size: 0.8125rem; + font-weight: 400; + color: rgb(var(--color-gray-600)); +} +.dark #sourcey .rust-impl-row .rust-impl-header { + color: rgb(var(--color-gray-400)); +} + +#sourcey .anchor, +#sourcey .api-anchor { + margin-left: 0.4rem; + color: rgb(var(--color-gray-400)); + text-decoration: none; + opacity: 0; + transition: opacity 0.1s ease; +} +#sourcey .section-header:hover .anchor, +#sourcey .section-header:hover .api-anchor, +#sourcey .code-header:hover .anchor, +#sourcey .code-header:hover .api-anchor { + opacity: 1; +} + +/* Inherent-impl methods and trait members render inline as their own sections. + Code (signatures, doctests) flows through the shared Shiki code block, so no + bespoke code styling lives here. */ +#sourcey .rust-member { + margin: 0.75rem 0; +} +#sourcey .rust-method-header { + margin: 0.5rem 0 0.25rem; +} +#sourcey .rust-doctest { + margin: 0.75rem 0; +} + +#sourcey .rust-doctest-badges { + display: flex; + flex-wrap: wrap; + gap: 0.25rem; + margin-bottom: 0.25rem; +} +#sourcey .rust-doctest-badge { + display: inline-block; + padding: 0.05rem 0.4rem; + font-size: 0.6875rem; + font-weight: 600; + border-radius: 0.25rem; + background-color: rgb(var(--color-gray-100)); + color: rgb(var(--color-gray-700)); + text-transform: lowercase; + letter-spacing: 0.02em; +} +.dark #sourcey .rust-doctest-badge { + background-color: rgb(var(--color-gray-800)); + color: rgb(var(--color-gray-300)); +} +#sourcey .rust-doctest-badge-should_panic, +#sourcey .rust-doctest-badge-compile_fail { + background-color: rgb(var(--color-rose-100)); + color: rgb(var(--color-rose-800)); +} +#sourcey .rust-doctest-badge-no_run, +#sourcey .rust-doctest-badge-ignore { + background-color: rgb(var(--color-amber-100)); + color: rgb(var(--color-amber-800)); +} + +#sourcey .rust-doctest-controls { + display: flex; + gap: 0.5rem; + margin-top: 0.5rem; + font-size: 0.8125rem; +} +#sourcey .rust-doctest-run, +#sourcey .rust-doctest-toggle-hidden { + cursor: pointer; + padding: 0.2rem 0.6rem; + border-radius: 0.375rem; + border: 1px solid rgb(var(--color-gray-300)); + background-color: rgb(var(--color-white)); + color: rgb(var(--color-gray-800)); + text-decoration: none; + line-height: 1; +} +#sourcey .rust-doctest-run:hover, +#sourcey .rust-doctest-toggle-hidden:hover { + background-color: rgb(var(--color-gray-50)); +} +.dark #sourcey .rust-doctest-run, +.dark #sourcey .rust-doctest-toggle-hidden { + background-color: rgb(var(--color-gray-900)); + border-color: rgb(var(--color-gray-700)); + color: rgb(var(--color-gray-200)); +} + +/* On the aggregated doctests page the code block already renders as a card, so + the section itself stays borderless. Just space the entries and accent the + heading so they don't read as cards within cards. */ +#sourcey .rust-doctests-index .rust-doctest { + margin: 1.5rem 0; +} +#sourcey .rust-doctests-index .rust-doctest > h3 { + padding-left: 0.625rem; + border-left: 3px solid rgb(var(--color-emerald-500)); +} +.dark #sourcey .rust-doctests-index .rust-doctest > h3 { + border-left-color: rgb(var(--color-emerald-400)); +} diff --git a/docs/reference/sourcey.js b/docs/reference/sourcey.js new file mode 100644 index 0000000..d0dc645 --- /dev/null +++ b/docs/reference/sourcey.js @@ -0,0 +1 @@ +(function(){(function(){function e(e){try{return window.sessionStorage.getItem(e)}catch{return null}}function t(e,t){try{window.sessionStorage.setItem(e,t)}catch{}}function n(e){try{window.sessionStorage.removeItem(e)}catch{}}function r(e){var t=(e||`/`).replace(/\/+$/,``)||`/`;return t=t.replace(/\/index(?:\.html)?$/,``)||`/`,t=t.replace(/\.html$/,``),t||`/`}function i(e){if(!e.length)return null;for(var t=e.map(function(e){return r(e).split(`/`).filter(Boolean)}),n=[],i=0;i=document.body.scrollHeight-10){var l=c[c.length-1];i=n.length?l.getAttribute(`data-traverse-target`):l.id}i&&d(i)}}var _=!1;window.addEventListener(`scroll`,function(){_||(_=!0,requestAnimationFrame(function(){g(),_=!1}))},{passive:!0});var v=window.location.hash.slice(1)||new URLSearchParams(window.location.search).get(`target`);v&&document.getElementById(v)?(d(v),requestAnimationFrame(function(){f(v,`instant`)})):g(),window.addEventListener(`hashchange`,function(){var e=window.location.hash.slice(1);e&&(d(e,!0),f(e,`smooth`))})}window.location.hash.slice(1)||new URLSearchParams(window.location.search).get(`target`)?requestAnimationFrame(e):`requestIdleCallback`in window?window.requestIdleCallback(e,{timeout:250}):window.addEventListener(`load`,e,{once:!0})})(),(function(){function e(){var e=null;document.addEventListener(`click`,function(e){var r=e.target.closest(`.code-lang-trigger`);if(document.querySelectorAll(`.code-lang-menu`).forEach(function(e){if(!r||!e.parentElement.contains(r)){t(e);var n=e.parentElement.querySelector(`.code-lang-trigger`);n&&n.setAttribute(`aria-expanded`,`false`)}}),r){e.stopPropagation();var i=r.nextElementSibling;if(i){var a=!i.classList.contains(`hidden`);a?t(i):(i.classList.remove(`hidden`),n(r,i)),r.setAttribute(`aria-expanded`,a?`false`:`true`)}}}),document.addEventListener(`click`,function(n){var r=n.target.closest(`.code-lang-option`);if(r){var a=r.closest(`.code-lang-dropdown`),o=!!(a&&a.hasAttribute(`data-lang-sync`)),s=r.textContent.trim(),c=r.closest(`.code-lang-menu`);if(c){t(c);var l=c.parentElement.querySelector(`.code-lang-trigger`);l&&l.setAttribute(`aria-expanded`,`false`)}var u=window.scrollY;if(i(r),o&&s!==e){e=s;var d=r.closest(`.code-group`);document.querySelectorAll(`.code-group`).forEach(function(e){e===d||!e.querySelector(`.code-lang-dropdown[data-lang-sync]`)||e.querySelectorAll(`.code-lang-option`).forEach(function(e){e.textContent.trim()===s&&i(e)})})}window.scrollTo(0,u)}});function t(e){e.classList.add(`hidden`),e.style.position=``,e.style.top=``,e.style.right=``,e.style.bottom=``,e.style.maxHeight=``}function n(e,t){var n=e.getBoundingClientRect(),r=4,i=8,a=window.innerHeight-n.bottom-i,o=n.top-i,s=a<160&&o>a;t.style.position=`fixed`,t.style.right=Math.max(i,window.innerWidth-n.right)+`px`,t.style.maxHeight=Math.max(96,Math.floor((s?o:a)-r))+`px`,s?(t.style.top=``,t.style.bottom=Math.max(i,window.innerHeight-n.top+r)+`px`):(t.style.bottom=``,t.style.top=Math.min(window.innerHeight-i,n.bottom+r)+`px`)}function r(e){var t=e.closest(`[data-response-dropdown]`);if(t){var n=t.getAttribute(`data-response-dropdown`),r=t.closest(`.code-group`),i=r&&r.querySelector(`.response-panel[data-response-panel="`+n+`"]`);if(i)return i}return e.closest(`.code-lang-scope`)||e.closest(`.code-group`)}function i(e){var t=e.closest(`.code-lang-dropdown`),n=r(e),i=e.getAttribute(`data-lang-index`);if(t){var a=t.querySelector(`.code-lang-label`);t.querySelectorAll(`.code-lang-option`).forEach(function(e){var n=e.getAttribute(`data-lang-index`)===i;if(e.setAttribute(`aria-selected`,n?`true`:`false`),e.className=e.className.replace(/(dark:)?text-\[rgb\([^\]]+\)\]/g,``).trim(),n){e.classList.add(`text-[rgb(var(--color-primary))]`,`dark:text-[rgb(var(--color-primary-light))]`),a&&(a.textContent=e.textContent.trim());var r=t.querySelector(`.code-lang-trigger .code-lang-icon`),o=e.querySelector(`.lang-icon`);r&&o&&(r.innerHTML=o.outerHTML)}else e.classList.add(`text-[rgb(var(--color-stone-600))]`,`dark:text-[rgb(var(--color-stone-400))]`)})}n&&n.querySelectorAll(`.code-lang-panel`).forEach(function(e){e.classList.toggle(`active`,e.getAttribute(`data-lang-panel`)===i)})}document.addEventListener(`click`,function(e){var t=e.target.closest(`.response-tab`);if(t){var n=t.closest(`.response-tabs`),r=t.getAttribute(`data-response-index`),i=window.scrollY;n.querySelectorAll(`.response-tab`).forEach(function(e){var t=e.getAttribute(`data-response-index`)===r;e.classList.toggle(`active`,t),e.setAttribute(`aria-selected`,t?`true`:`false`)}),n.querySelectorAll(`.response-panel`).forEach(function(e){e.classList.toggle(`active`,e.getAttribute(`data-response-panel`)===r)}),n.querySelectorAll(`[data-response-dropdown]`).forEach(function(e){e.classList.toggle(`hidden`,e.getAttribute(`data-response-dropdown`)!==r)}),window.scrollTo(0,i)}}),document.addEventListener(`click`,function(e){var t=e.target.closest(`.copy-btn`);if(t){var n=t.closest(`.code-group`)||t.closest(`.prose-code-block`);if(n){var r=n.querySelectorAll(`.code-lang-panel.active, .response-panel.active`),i=r.length?r[r.length-1]:null,a=i?i.querySelector(`code, .code-block, .font-mono`):n.querySelector(`code, .code-block, .font-mono`);if(a){var o=a.textContent||``;navigator.clipboard.writeText(o).then(function(){t.classList.add(`copied`);var e=t.nextElementSibling;e&&e.classList.contains(`copy-tooltip`)&&(e.textContent=`Copied!`),setTimeout(function(){t.classList.remove(`copied`),e&&e.classList.contains(`copy-tooltip`)&&(e.textContent=`Copy`)},2e3)})}}}}),document.addEventListener(`click`,function(e){var t=e.target.closest(`.rust-doctest-toggle-hidden`);if(t){var n=t.getAttribute(`data-target`),r=t.getAttribute(`data-display`),i=n?document.getElementById(n.replace(/^#/,``)):null,a=r?document.getElementById(r.replace(/^#/,``)):null;!i||!a||(i.hasAttribute(`hidden`)?(i.removeAttribute(`hidden`),a.setAttribute(`hidden`,``),t.textContent=`Hide hidden lines`):(i.setAttribute(`hidden`,``),a.removeAttribute(`hidden`),t.textContent=`Show hidden lines`))}}),document.addEventListener(`keydown`,function(e){e.key===`Escape`&&document.querySelectorAll(`.code-lang-menu`).forEach(function(e){e.classList.add(`hidden`);var t=e.parentElement.querySelector(`.code-lang-trigger`);t&&t.setAttribute(`aria-expanded`,`false`)})}),document.addEventListener(`click`,function(e){var t=e.target.closest(`.directive-tab`);if(t){var n=t.getAttribute(`data-tab-group`),r=t.getAttribute(`data-tab-index`),i=window.scrollY;document.querySelectorAll(`.directive-tab[data-tab-group="`+n+`"]`).forEach(function(e){e.classList.toggle(`active`,e.getAttribute(`data-tab-index`)===r)}),document.querySelectorAll(`.directive-tab-panel[data-tab-group="`+n+`"]`).forEach(function(e){e.classList.toggle(`active`,e.getAttribute(`data-tab-index`)===r)}),window.scrollTo(0,i)}})}`requestIdleCallback`in window?window.requestIdleCallback(e,{timeout:250}):window.addEventListener(`load`,e,{once:!0})})(),(function(){var e=`sourcey-theme`,t=document.getElementById(`theme-toggle`),n=document.documentElement;function r(){var t=localStorage.getItem(e);return t===`dark`||t===`light`?t:`light`}function i(e){e===`dark`?n.classList.add(`dark`):n.classList.remove(`dark`),n.style.colorScheme=e,t&&(t.setAttribute(`aria-label`,e===`dark`?`Switch to light mode`:`Switch to dark mode`),t.setAttribute(`title`,e===`dark`?`Light mode`:`Dark mode`))}i(r()),t&&t.addEventListener(`click`,function(){var t=n.classList.contains(`dark`)?`light`:`dark`;localStorage.setItem(e,t),i(t)})})(),(function(){function e(){var e=document.getElementById(`search-dialog`),t=document.getElementById(`search-input`),n=document.getElementById(`search-results`),r=document.getElementById(`search-open`);if(!e||!t||!n)return;var i=[],a=-1,o=[],s=!1,c=document.querySelector(`meta[name="sourcey-search"]`);function l(e){if(s){e();return}if(!c){s=!0,e();return}var t=c.getAttribute(`content`);fetch(t).then(function(e){return e.json()}).then(function(t){i=t.map(function(e){var t=e.title||``,n=e.qualifiedName||``,r=e.owner||``,i=e.tab||``;return{url:e.url,method:e.method||``,path:e.path||``,title:t,summary:n||t,tag:r||i,content:e.content||``,category:e.category||``,featured:!!e.featured,symbolKind:e.symbolKind||``,owner:r,ownerKind:e.ownerKind||``,namespace:e.namespace||``,qualifiedName:n,titleLower:t.toLowerCase(),pathLower:(e.path||``).toLowerCase(),qualifiedLower:n.toLowerCase(),ownerLower:r.toLowerCase(),searchText:[e.method||``,e.path||``,t,n,r,e.ownerKind||``,e.namespace||``,e.symbolKind||``,e.content||``,i].join(` `).toLowerCase()}}),s=!0,e()}).catch(function(){s=!0,e()})}var u=e.querySelector(`.search-dialog-inner`);function d(){if(!(!r||!u)){var e=r.getBoundingClientRect();u.style.position=`absolute`,u.style.top=e.top-4+`px`;var t=Math.min(e.width*.5,200);u.style.left=e.left-t/2+`px`,u.style.width=e.width+t+`px`,u.style.maxWidth=`none`,u.style.transform=`none`,u.style.margin=`0`}}function f(){d(),e.classList.add(`open`),t.value=``,t.focus(),s?m(``):(n.innerHTML=`
Loading…
`,l(function(){m(``)})),document.addEventListener(`keydown`,b)}function p(){e.classList.remove(`open`),document.removeEventListener(`keydown`,b)}function m(e){var t=e.toLowerCase().trim();if(t){var n=t.split(/\s+/);o=i.map(function(e){return{entry:e,score:h(e,t,n)}}).filter(function(e){return e.score>0});var r={Pages:0,Endpoints:1,Models:2,Functions:3,Types:4,Enums:5,"Enum Values":6,Variables:7,Friends:8,Properties:9,Members:10,Sections:20};o.sort(function(e,t){return t.score===e.score?(r[e.entry.category]||19)-(r[t.entry.category]||19):t.score-e.score}),o=o.map(function(e){return e.entry}).slice(0,50)}else{var s=i.filter(function(e){return e.featured}),c=i.filter(function(e){return!e.featured&&e.category!==`Sections`});o=s.concat(c).slice(0,30)}a=o.length?0:-1,g()}function h(e,t,n){if(!n.every(function(t){return e.searchText.indexOf(t)!==-1}))return 0;var r=t.replace(/\s+/g,``),i=e.qualifiedLower||``,a=e.titleLower||``,o=e.pathLower||``,s=e.ownerLower||``,c=1;return i&&i===r&&(c+=1200),a&&a===t&&(c+=900),o&&o===t&&(c+=850),i&&i.endsWith(`::`+r)&&(c+=780),s&&r===s+`::`+a&&(c+=760),i&&r.indexOf(`::`)!==-1&&i.indexOf(r)!==-1&&(c+=700),a&&a.indexOf(t)===0&&(c+=500),i&&i.indexOf(r)!==-1&&(c+=420),s&&s.indexOf(r)!==-1&&(c+=240),o&&o.indexOf(t)!==-1&&(c+=180),e.content.toLowerCase().indexOf(t)!==-1&&(c+=80),e.category===`Sections`&&(c-=70),e.symbolKind&&(c+=35),e.featured&&(c+=20),c}function g(){for(var e=``,t=``,r=0;r`+_(s)+``,t=s);var c=`search-result`+(r===a?` active`:``),l=i.method?``+i.method+` `+_(i.path)+``:``+_(i.summary)+``,u=i.tag?``+_(i.tag)+``:``,d=i.method&&i.summary?``+_(i.summary)+``:``;e+=`
`+l+d+`
`+u+`
`}n.innerHTML=e;var f=n.querySelector(`.search-result.active`);f&&f.scrollIntoView({block:`nearest`})}function _(e){var t=document.createElement(`span`);return t.textContent=e,t.innerHTML}function v(e){return _(e).replace(/"/g,`"`).replace(/'/g,`'`)}function y(e){if(!(e<0||e>=o.length)){var t=o[e];p(),window.location.href=t.url}}function b(e){if(e.key===`Escape`){p(),e.preventDefault();return}if(e.key===`ArrowDown`){e.preventDefault(),a=Math.min(a+1,o.length-1),g();return}if(e.key===`ArrowUp`){e.preventDefault(),a=Math.max(a-1,0),g();return}if(e.key===`Enter`){e.preventDefault(),a>=0&&y(a);return}}t.addEventListener(`input`,function(){m(t.value)}),n.addEventListener(`click`,function(e){var t=e.target.closest(`.search-result`);t&&(e.preventDefault(),y(parseInt(t.getAttribute(`data-index`),10)))}),r&&r.addEventListener(`click`,f);var x=document.getElementById(`search-open-mobile`);x&&x.addEventListener(`click`,f),document.addEventListener(`keydown`,function(e){(e.ctrlKey||e.metaKey)&&e.key===`k`&&(e.preventDefault(),f()),e.key===`/`&&!S(e.target)&&(e.preventDefault(),f())}),e.addEventListener(`click`,function(t){t.target===e&&p()});function S(e){var t=e.tagName;return t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||e.isContentEditable}}`requestIdleCallback`in window?window.requestIdleCallback(e,{timeout:250}):window.addEventListener(`load`,e,{once:!0})})()})(); \ No newline at end of file diff --git a/docs/sourcey/fix-base-path.mjs b/docs/sourcey/fix-base-path.mjs new file mode 100644 index 0000000..c1f722b --- /dev/null +++ b/docs/sourcey/fix-base-path.mjs @@ -0,0 +1,27 @@ +import { readdir, readFile, writeFile } from "node:fs/promises"; +import { resolve } from "node:path"; + +const outputDir = resolve("../reference"); +const basePath = "/docs/reference/"; +const htmlFiles = (await readdir(outputDir)).filter((file) => file.endsWith(".html")); +let replacements = 0; + +for (const file of htmlFiles) { + const path = resolve(outputDir, file); + const original = await readFile(path, "utf8"); + const updated = original.replaceAll( + /href="\/(index\.html|pkg-[^"]+\.html)"/g, + (_match, target) => { + replacements += 1; + return `href="${basePath}${target}"`; + } + ); + + await writeFile(path, updated); +} + +if (replacements === 0) { + throw new Error("No Sourcey navigation links were rewritten"); +} + +console.log(`Rewrote ${replacements} navigation links for ${basePath}`); diff --git a/docs/sourcey/package.json b/docs/sourcey/package.json new file mode 100644 index 0000000..b80a66c --- /dev/null +++ b/docs/sourcey/package.json @@ -0,0 +1,15 @@ +{ + "name": "tysug-sourcey-docs", + "private": true, + "engines": { + "node": ">=20" + }, + "packageManager": "pnpm@11.7.0", + "scripts": { + "build": "node ./node_modules/sourcey/dist/cli.js build --config sourcey.config.ts --output ../reference && node fix-base-path.mjs" + }, + "devDependencies": { + "consola": "3.4.2", + "sourcey": "3.6.5" + } +} diff --git a/docs/sourcey/pnpm-lock.yaml b/docs/sourcey/pnpm-lock.yaml new file mode 100644 index 0000000..c2dabf3 --- /dev/null +++ b/docs/sourcey/pnpm-lock.yaml @@ -0,0 +1,2568 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + consola: + specifier: 3.4.2 + version: 3.4.2 + sourcey: + specifier: 3.6.5 + version: 3.6.5(@babel/core@7.29.7) + +packages: + + '@apidevtools/json-schema-ref-parser@13.0.5': + resolution: {integrity: sha512-xfh4xVJD62gG6spIc7lwxoWT+l16nZu1ELyU8FkjaP/oD2yP09EvLAU6KhtudN9aML2Khhs9pY6Slr7KGTES3w==} + engines: {node: '>= 16'} + + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.29.7': + resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.29.7': + resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.7': + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-jsx@7.29.7': + resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.29.7': + resolution: {integrity: sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.29.7': + resolution: {integrity: sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.7': + resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.7': + resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} + engines: {node: '>=6.9.0'} + + '@emnapi/core@1.11.1': + resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} + + '@emnapi/runtime@1.11.1': + resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} + + '@emnapi/wasi-threads@1.2.2': + resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} + + '@exodus/schemasafe@1.3.0': + resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@napi-rs/wasm-runtime@1.1.6': + resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==} + peerDependencies: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 + + '@oxc-project/types@0.139.0': + resolution: {integrity: sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==} + + '@preact/preset-vite@2.10.5': + resolution: {integrity: sha512-p0vJpxiVO7KWWazWny3LUZ+saXyZKWv6Ju0bYMWNJRp2YveufRPgSUB1C4MTqGJfz07EehMgfN+AJNwQy+w6Iw==} + peerDependencies: + '@babel/core': 7.x + vite: 2.x || 3.x || 4.x || 5.x || 6.x || 7.x || 8.x + + '@prefresh/babel-plugin@0.5.3': + resolution: {integrity: sha512-57LX2SHs4BX2s1IwCjNzTE2OJeEepRCNf1VTEpbNcUyHfMO68eeOWGDIt4ob9aYlW6PEWZ1SuwNikuoIXANDtQ==} + + '@prefresh/core@1.5.10': + resolution: {integrity: sha512-7yPTFbG56sutaFu8krp3B4a200KOFUvrtlllKWRuLjsYXo9UUucHOZRcer+gtgMkFTpv6ob8TGcTwA32bSwa1w==} + peerDependencies: + preact: ^10.0.0 || ^11.0.0-0 + + '@prefresh/utils@1.2.1': + resolution: {integrity: sha512-vq/sIuN5nYfYzvyayXI4C2QkprfNaHUQ9ZX+3xLD8nL3rWyzpxOm1+K7RtMbhd+66QcaISViK7amjnheQ/4WZw==} + + '@prefresh/vite@2.4.12': + resolution: {integrity: sha512-FY1fzXpUjiuosznMV0YM7XAOPZjB5FIdWS0W24+XnlxYkt9hNAwwsiKYn+cuTEoMtD/ZVazS5QVssBr9YhpCQA==} + peerDependencies: + preact: ^10.4.0 || ^11.0.0-0 + vite: '>=2.0.0' + + '@resvg/resvg-js-android-arm-eabi@2.6.2': + resolution: {integrity: sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@resvg/resvg-js-android-arm64@2.6.2': + resolution: {integrity: sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@resvg/resvg-js-darwin-arm64@2.6.2': + resolution: {integrity: sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@resvg/resvg-js-darwin-x64@2.6.2': + resolution: {integrity: sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2': + resolution: {integrity: sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@resvg/resvg-js-linux-arm64-gnu@2.6.2': + resolution: {integrity: sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@resvg/resvg-js-linux-arm64-musl@2.6.2': + resolution: {integrity: sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@resvg/resvg-js-linux-x64-gnu@2.6.2': + resolution: {integrity: sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@resvg/resvg-js-linux-x64-musl@2.6.2': + resolution: {integrity: sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@resvg/resvg-js-win32-arm64-msvc@2.6.2': + resolution: {integrity: sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@resvg/resvg-js-win32-ia32-msvc@2.6.2': + resolution: {integrity: sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@resvg/resvg-js-win32-x64-msvc@2.6.2': + resolution: {integrity: sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@resvg/resvg-js@2.6.2': + resolution: {integrity: sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==} + engines: {node: '>= 10'} + + '@rolldown/binding-android-arm64@1.1.5': + resolution: {integrity: sha512-lZg8fqIv2v7FF237bwMgzGZEJvGL79/s5knJ/i6FmsGF4XXlzccZ4jb+TrFIxtSSxFtIpdsgrPZeMk1I9AFcyQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-darwin-arm64@1.1.5': + resolution: {integrity: sha512-51Bnx9pNiMRKSUNtBfySkNJ9vMU9Hh3I1ozDd6gyPPYzaXCfnptUcEZxXGYFn+ul2dtcMUiqGR1Yai2K10uoTw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.1.5': + resolution: {integrity: sha512-Tm+gbfC0aHu1tBA/JvKQh32S0K6YgCHkiAF4/W6xX0K0RmNuc94VeK419dJoE65R5aRxmo+noZQSWrAMF6yb6g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.1.5': + resolution: {integrity: sha512-JMzDKCCXq93YccG5gz3hvOs1oXRKAf0XYpfOS88e+wZrC8Iugj6j68867vrYZkvpDDpKn/KoKORThmchMpF6TA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.1.5': + resolution: {integrity: sha512-uML21j2K5TfPGutKxub+M+nLjZIrWjXQ5Grx4lCe/nimTj9B4L63zHpjXLl4y0L3mcm2htEQIb06oCG/szerNw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.1.5': + resolution: {integrity: sha512-navSiuTMogvnQoZoM/v+l3ZWo50/NTwSHSzheABx/RCnmUPaKwq9qSo4Br2OYRs21+Fz8uFqITZM3H4opOB0/Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-arm64-musl@1.1.5': + resolution: {integrity: sha512-lAryqH7IteztmCXQXk0etKj4wBQ7Gx5S6LjKhsgp9zb8I5bsuvU/2llH1hDQcjsFeqIsovMVN339/8pUDDBXxA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rolldown/binding-linux-ppc64-gnu@1.1.5': + resolution: {integrity: sha512-fsK/sNBnxzBlL4O1JNrZakVQxPspqpED5dLtNsZS9oOKmtSpdNIzxH2kkol5HYTWJN47sE20ztMJPxfZ89qGOg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-s390x-gnu@1.1.5': + resolution: {integrity: sha512-gLYb4BIadlfTOYT5gO503n8zQjXflgzpD0FcyKh0Mzx3rqCZKnHoJWV9xe1KXUJ5lx2JfcSHr/mhzS0PC/McAA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-gnu@1.1.5': + resolution: {integrity: sha512-FjcpEKUyJygHgs1o50VYNvkt5+7Le/VEdYt0AkRpkL33MnyQfwr8l5mXwMmfmTbyMPr5vJLC+8/Gd9gXnwU1QQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-musl@1.1.5': + resolution: {integrity: sha512-Me+PfPI2TMeOQk0gYWfLQZtTktrmzbr8cDboqX83XKc7UrgAi55gF+2dUkWdxd19n55Essp2yeca+O9N5rBxHg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rolldown/binding-openharmony-arm64@1.1.5': + resolution: {integrity: sha512-yc5WrLzXks6zCQfn9Oxr8pORKyl/pF+QjHmW/Qx3qu0oyrrNC+y2JLTU1E2rcWYAmzlnqngWXHQjy51VzW70Vw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-wasm32-wasi@1.1.5': + resolution: {integrity: sha512-VbQGPX2b4r48TAMIM2cjgluIM1HYutm4pcTEJsle7iEP7sB1dFqtPLBVbdLAZCxy1txCcPxf4QFf4v8uvltPqA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + + '@rolldown/binding-win32-arm64-msvc@1.1.5': + resolution: {integrity: sha512-gHv82k63z4qpV5+Q1y/12KrK0ltWBukVDI8nZcbT7Tt/ZlOIVwppazneq0F93oDxTo3IgAMEDIoQh3E2n6mVsw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.1.5': + resolution: {integrity: sha512-tTZuDBPw85tEN5PQi1pnEBzDy0Z49HtScLAbD5t6hyeU92A95pRWaSMw1GZZi/RwgSgUIl0xrSlXIT/9QzvYSA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + + '@rollup/pluginutils@4.2.1': + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + + '@rollup/pluginutils@5.4.0': + resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@shikijs/core@4.3.1': + resolution: {integrity: sha512-ANMDxuaPsNMdDC1m4vfvhlDmJweMwkE5XitTwrq2rWHx5jM+dlm4MmHt2PP6t0uejfR77SuhrhJ0zEijIF/uhA==} + engines: {node: '>=20'} + + '@shikijs/engine-javascript@4.3.1': + resolution: {integrity: sha512-JBItcnPuYq7jVJdZo/vMj94r+szT7XEjHFX+mvFDGSEIbVAXAGyHAHzhbWzpGOwYidCZrErJLLgn2PVeiokHnQ==} + engines: {node: '>=20'} + + '@shikijs/engine-oniguruma@4.3.1': + resolution: {integrity: sha512-OXyNMzg0pews+msMj4cHeqT4xiYKKvbnn6VbdAXxfoFl3SSx4fJTc8FadECuc5/H9p3BzhNAoAUXKwAu9rWYhg==} + engines: {node: '>=20'} + + '@shikijs/langs@4.3.1': + resolution: {integrity: sha512-m0l9nsDqgBHvbZbk7A0/kXz/impK3uB/c6rAn6Gpg/uPtdZRQ+alsN/17MU5thb68XTj/4DxkZAotrM0GGSpDQ==} + engines: {node: '>=20'} + + '@shikijs/primitive@4.3.1': + resolution: {integrity: sha512-CXQRQOYy1leqQ8ceTeJdmXv/bsUY++6QyLpXJ94LZAAYj5X2SKRdc5ipguv4NPyGVKItB2PPwUpRNe0Sjh5S1A==} + engines: {node: '>=20'} + + '@shikijs/themes@4.3.1': + resolution: {integrity: sha512-dgpoJ4WqNi2yTmizQHBJ5zcX6j2lE6icN/0yt4l1kkf16jrY/pwPLoTb1ETsWMz0OBLf9ZNvwmxft+cH+N9qSA==} + engines: {node: '>=20'} + + '@shikijs/types@4.3.1': + resolution: {integrity: sha512-CHFxE0jztBIZRHH6gxXE7DXUCFXjReEGxZ/j0rfSLGKZuwp2xBYycEP14875DSa9KLL/6700oxIq6oO6ef9K2g==} + engines: {node: '>=20'} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + + '@shuding/opentype.js@1.4.0-beta.0': + resolution: {integrity: sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==} + engines: {node: '>= 8.0.0'} + hasBin: true + + '@tailwindcss/node@4.3.2': + resolution: {integrity: sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==} + + '@tailwindcss/oxide-android-arm64@4.3.2': + resolution: {integrity: sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.3.2': + resolution: {integrity: sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.3.2': + resolution: {integrity: sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.3.2': + resolution: {integrity: sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2': + resolution: {integrity: sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==} + engines: {node: '>= 20'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.2': + resolution: {integrity: sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-arm64-musl@4.3.2': + resolution: {integrity: sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-linux-x64-gnu@4.3.2': + resolution: {integrity: sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-x64-musl@4.3.2': + resolution: {integrity: sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-wasm32-wasi@4.3.2': + resolution: {integrity: sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.2': + resolution: {integrity: sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.3.2': + resolution: {integrity: sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.3.2': + resolution: {integrity: sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==} + engines: {node: '>= 20'} + + '@tailwindcss/typography@0.5.20': + resolution: {integrity: sha512-hwbzQuNUfcPvbegQFatVPl/MY/tcM9KLl963hQ5laJKPh81TEZ1+dNG9PirGvcaDBkp+BCshExAyKVPW91dozw==} + peerDependencies: + tailwindcss: '>=3.0.0 || >=4.0.0 || insiders' + + '@tailwindcss/vite@4.3.2': + resolution: {integrity: sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA==} + peerDependencies: + vite: ^5.2.0 || ^6 || ^7 || ^8 + + '@tybys/wasm-util@0.10.3': + resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} + + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + + '@types/hast@3.0.5': + resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@ungap/structured-clone@1.3.3': + resolution: {integrity: sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + babel-plugin-transform-hook-names@1.0.2: + resolution: {integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==} + peerDependencies: + '@babel/core': ^7.12.10 + + base64-js@0.0.8: + resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==} + engines: {node: '>= 0.4'} + + baseline-browser-mapping@2.10.43: + resolution: {integrity: sha512-AjYpR78kDWAY3Efj+cDTFH9t9SCoL7OoTp1BOb0mQV7S+6CiLwnWM3FyxhJtdPufDFKzmCSFoUncKjWgJEZTCQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + browserslist@4.28.6: + resolution: {integrity: sha512-FQBYNK15VMslhLHpA7+n+n1GOlF1kId2xcCg7/j95f24AOF6VDYMNH4mFxF7KuaTdv627faazpOAjFzMrfJOUw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + + camelize@1.0.1: + resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} + + caniuse-lite@1.0.30001805: + resolution: {integrity: sha512-52noaS3DubycKSXaU30TwPGIp+POyQSUVa5jBEq3vkRkY0kjyb3LQgvhU6WGyCcyXqVLWO0Cw0Q6BSdD0kUfVA==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@13.1.0: + resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} + engines: {node: '>=18'} + + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + css-background-parser@0.1.0: + resolution: {integrity: sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==} + + css-box-shadow@1.0.0-3: + resolution: {integrity: sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==} + + css-color-keywords@1.0.0: + resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} + engines: {node: '>=4'} + + css-gradient-parser@0.0.17: + resolution: {integrity: sha512-w2Xy9UMMwlKtou0vlRnXvWglPAceXCTtcmVSo8ZBUvqCV5aXEFP/PC6d+I464810I9FT++UACwTD5511bmGPUg==} + engines: {node: '>=16'} + + css-select@5.2.2: + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + + css-to-react-native@3.2.0: + resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} + + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + dayjs@1.11.21: + resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + dom-serializer@3.1.1: + resolution: {integrity: sha512-4MEa38/QexBob6gFNwu+EGdWvhJ1OKuNwdYY3Y3NyeWDQfnGeDYQUDfIRzWu5B5gsv03so2Uxd28YC6zrsx3Lw==} + engines: {node: '>=20.19.0'} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domelementtype@3.0.0: + resolution: {integrity: sha512-umCQid3jKbDmVjx8jGaW7uUykm4DEUeyV21hPxNMo2nV955DhUThwqyOIDtreepP31hl84X7G5U9ZfsWvIB3Pg==} + engines: {node: '>=20.19.0'} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domhandler@6.0.1: + resolution: {integrity: sha512-gYzvtM72ZtxQO0T048kd6HWSbbGCNOUwcnfQ01cqIJ4X2IYKFFHZ5mKvrQETcFXxsRObZulDaKmy//R7TPtsBg==} + engines: {node: '>=20.19.0'} + + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + + domutils@4.0.2: + resolution: {integrity: sha512-qI4JLRKnSzqFqr7hAlS5xQDusBCjKSEG4t4+7aNrIQMHBcsC2TGEhuyABJdYkgSewL57PNLYEiibY2iPKhKpaA==} + engines: {node: '>=20.19.0'} + + electron-to-chromium@1.5.389: + resolution: {integrity: sha512-cEto7aeOqBfU1D+c5py5pE+ooscKE75JifxLBdFUZsqAxRS6y7kebtxAZvICszSl05gPjYHDTjY+lXpyGvpJbg==} + + emoji-regex-xs@2.0.1: + resolution: {integrity: sha512-1QFuh8l7LqUcKe24LsPUNzjrzJQ7pgRwp1QMcZ5MX6mFplk2zQ08NVCM84++1cveaUUYtcCYHmeFEuNg16sU4g==} + engines: {node: '>=10.0.0'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + enhanced-resolve@5.21.6: + resolution: {integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==} + engines: {node: '>=10.13.0'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + entities@8.0.0: + resolution: {integrity: sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==} + engines: {node: '>=20.19.0'} + + es6-promise@3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fflate@0.7.4: + resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + handlebars@4.7.9: + resolution: {integrity: sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==} + engines: {node: '>=0.4.7'} + hasBin: true + + hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + heroicons@2.2.0: + resolution: {integrity: sha512-yOwvztmNiBWqR946t+JdgZmyzEmnRMC2nxvHFC90bF1SUttwB6yJKYeme1JeEcBfobdOs827nCyiWBS2z/brog==} + + hex-rgb@4.3.0: + resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==} + engines: {node: '>=6'} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + htmlparser2@12.0.0: + resolution: {integrity: sha512-Tz7u1i95/g2x2jz81+x0FBVhBhY5aRTvD3tXXdFaljuNdzDLJ8UGNRrTcj2cgQvAg3iW/h77Fz15nLW0L0CrZw==} + engines: {node: '>=20.19.0'} + + http2-client@1.3.5: + resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.3.0: + resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + launder@1.7.1: + resolution: {integrity: sha512-mU6WRz5EusL9ZZuiZ5SO4Y6C0P9PAUR9iwdb6bzj4KDihm28DiHFw+/yk9DBH4f+Pv1wuzQ4e2jV3oQ7mkIqvw==} + + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} + + linebreak@1.1.0: + resolution: {integrity: sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + marked@15.0.12: + resolution: {integrity: sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==} + engines: {node: '>= 18'} + hasBin: true + + mcp-parser@0.4.0: + resolution: {integrity: sha512-KBGcH7tB0nCPTVg+g8NkBTxsALH5qPAiIwSg1bnGvpfsPYdLC2Ubmlv/J+JrhRhd2nnusfqP//O0AXB0ltMUwA==} + engines: {node: '>=20'} + hasBin: true + + mcp-schema@0.3.1: + resolution: {integrity: sha512-2W0uXdIBy4xRLkcZYQtxm1H8e3sGo/sM9+6ciOkPTQCKZnCm2qU+4/CpRSkt32MfoQzDamz6FqzknsFnafi2WA==} + engines: {node: '>=20'} + + mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + moxygen@2.1.12: + resolution: {integrity: sha512-jPDT933A9JJNDPXyy4HayCUYhMr9+42oB4n5OwIwcI8b8EX1n184lTRzvyLiNQuv386fj5Qp0F54u1RMTKvkzA==} + engines: {node: '>=20'} + hasBin: true + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.16: + resolution: {integrity: sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + node-fetch-h2@2.3.0: + resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} + engines: {node: 4.x || >=6.0.0} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-html-parser@6.1.13: + resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==} + + node-readfiles@0.2.0: + resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} + + node-releases@2.0.51: + resolution: {integrity: sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==} + engines: {node: '>=18'} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + oas-kit-common@1.0.8: + resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} + + oas-linter@3.2.2: + resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} + + oas-resolver@2.5.6: + resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} + hasBin: true + + oas-schema-walker@1.1.5: + resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} + + oas-validator@5.0.8: + resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} + + oniguruma-parser@0.12.2: + resolution: {integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==} + + oniguruma-to-es@4.3.6: + resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==} + + pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + + parse-css-color@0.2.1: + resolution: {integrity: sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==} + + parse-srcset@1.0.2: + resolution: {integrity: sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} + engines: {node: '>=12'} + + postcss-selector-parser@6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.5.17: + resolution: {integrity: sha512-J7EF+8X+CzRPaJPOv9Ck2wNWJvGnnl3PcNPAdGg6GTLjyVpyQ0yATMSXRFRV01BviT/9Gwuc3rjEyJbDJG9a4w==} + engines: {node: ^10 || ^12 || >=14} + + preact-render-to-string@6.7.0: + resolution: {integrity: sha512-Z4WR8fmLMRpdYqJ9i7vrlXSsSrxVJydwrkEXHapexfARbWfGb7vGcnvNQnIzN0cXciMVOlz/XLoiMCi9gUsy9Q==} + peerDependencies: + preact: '>=10 || >= 11.0.0-0' + + preact@10.29.7: + resolution: {integrity: sha512-DCHYrK/B10yUD3ZjLfhZ3WIE/9Vf9VFUODcRE2dRomTYDpJk6z6L9wecSfhfE6M9ZTHUdyQkoC46arIDhEV84Q==} + peerDependencies: + preact-render-to-string: '>=5' + peerDependenciesMeta: + preact-render-to-string: + optional: true + + property-information@7.2.0: + resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} + + reftools@1.1.9: + resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} + + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@6.1.0: + resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + rolldown@1.1.5: + resolution: {integrity: sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + sanitize-html@2.17.6: + resolution: {integrity: sha512-M4bo9tfv1yfhQZZKkc6dL07ALrGJtfvNOuhX3hU9AVPR/uPQ+nKOJBqTYc7LfMQblTW04mtSWDJWEyLvygJsLA==} + engines: {node: '>=22.12.0'} + + satori@0.26.0: + resolution: {integrity: sha512-tkMFrfIs3l2mQ2JEcyW0ADTy3zGggFRFzi6Ef8YozQSFsFKEqaSO1Y8F9wJg4//PJGQauMalHGTUEkPrFwhVPA==} + engines: {node: '>=16'} + + sax@1.6.0: + resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} + engines: {node: '>=11.0.0'} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + shiki@4.3.1: + resolution: {integrity: sha512-oR+qDVi2OjX1tmDpyv+3KviX01KzO6Af+0NNnKnsp9491UEGz2YpxTuJboS/6VhYpTdqzmuJBuiTlrAWWJAssw==} + engines: {node: '>=20'} + + should-equal@2.0.0: + resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} + + should-format@3.0.3: + resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} + + should-type-adaptors@1.1.0: + resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} + + should-type@1.4.0: + resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} + + should-util@1.0.1: + resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} + + should@13.2.3: + resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} + + simple-code-frame@1.3.0: + resolution: {integrity: sha512-MB4pQmETUBlNs62BBeRjIFGeuy/x6gGKh7+eRUemn1rCFhqo7K+4slPqsyizCbcbYLnaYqaoZ2FWsZ/jN06D8w==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + sourcey@3.6.5: + resolution: {integrity: sha512-Pq0UMFsMha5lYrA57iPiUxXe3usvpzbuOs8kawQydxFGUlGvasP9bPFF2gQpN9yWBTWpnIVlaxZamHEzdtj+1A==} + engines: {node: '>=20'} + hasBin: true + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + stack-trace@1.0.0: + resolution: {integrity: sha512-H6D7134xi6qONvh7ZHKgviXf+rd3vhGBSvebPZCaUkd8zvQ+7PtDw6CljPTe4cXWNf2IKZGNqw6VJXSb9IgBpA==} + engines: {node: '>=20.0.0'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string.prototype.codepointat@0.2.1: + resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + swagger2openapi@7.0.8: + resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} + hasBin: true + + tailwindcss@4.3.2: + resolution: {integrity: sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==} + + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + + tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} + hasBin: true + + unicode-trie@2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} + + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + vite-prerender-plugin@0.5.13: + resolution: {integrity: sha512-IKSpYkzDBsKAxa05naRbj7GvNVMSdww/Z/E89oO3xndz+gWnOBOKOAbEXv7qDhktY/j3vHgJmoV1pPzqU2tx9g==} + peerDependencies: + vite: 5.x || 6.x || 7.x || 8.x + + vite@8.1.4: + resolution: {integrity: sha512-bTT9PsdWO+MQMNG9ZXIP/qM9wGh37DFxTV/sPq9cFpHr3w4jkgef032PkAL9jAqhk3Nz8NQw3O8n6/xFkqO4QQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.3.0 + esbuild: ^0.27.0 || ^0.28.0 + jiti: '>=1.21.0' + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + xml2js@0.6.2: + resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} + engines: {node: '>=4.0.0'} + + xmlbuilder@11.0.1: + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml@1.10.3: + resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==} + engines: {node: '>= 6'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.3: + resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} + engines: {node: '>=12'} + + yoga-layout@3.2.1: + resolution: {integrity: sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==} + + zimmerframe@1.1.4: + resolution: {integrity: sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@apidevtools/json-schema-ref-parser@13.0.5': + dependencies: + '@types/json-schema': 7.0.15 + js-yaml: 4.3.0 + + '@babel/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.29.7': {} + + '@babel/core@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.29.7': + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.6 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-module-imports@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.29.7': {} + + '@babel/helper-string-parser@7.29.7': {} + + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/parser@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-jsx-development@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/template@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/traverse@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.7': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + + '@emnapi/core@1.11.1': + dependencies: + '@emnapi/wasi-threads': 1.2.2 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.11.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.2.2': + dependencies: + tslib: 2.8.1 + optional: true + + '@exodus/schemasafe@1.3.0': {} + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': + dependencies: + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@tybys/wasm-util': 0.10.3 + optional: true + + '@oxc-project/types@0.139.0': {} + + '@preact/preset-vite@2.10.5(@babel/core@7.29.7)(preact@10.29.7)(vite@8.1.4(jiti@2.7.0))': + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7) + '@prefresh/vite': 2.4.12(preact@10.29.7)(vite@8.1.4(jiti@2.7.0)) + '@rollup/pluginutils': 5.4.0 + babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.29.7) + debug: 4.4.3 + magic-string: 0.30.21 + picocolors: 1.1.1 + vite: 8.1.4(jiti@2.7.0) + vite-prerender-plugin: 0.5.13(vite@8.1.4(jiti@2.7.0)) + zimmerframe: 1.1.4 + transitivePeerDependencies: + - preact + - rollup + - supports-color + + '@prefresh/babel-plugin@0.5.3': {} + + '@prefresh/core@1.5.10(preact@10.29.7)': + dependencies: + preact: 10.29.7(preact-render-to-string@6.7.0) + + '@prefresh/utils@1.2.1': {} + + '@prefresh/vite@2.4.12(preact@10.29.7)(vite@8.1.4(jiti@2.7.0))': + dependencies: + '@babel/core': 7.29.7 + '@prefresh/babel-plugin': 0.5.3 + '@prefresh/core': 1.5.10(preact@10.29.7) + '@prefresh/utils': 1.2.1 + '@rollup/pluginutils': 4.2.1 + preact: 10.29.7(preact-render-to-string@6.7.0) + vite: 8.1.4(jiti@2.7.0) + transitivePeerDependencies: + - supports-color + + '@resvg/resvg-js-android-arm-eabi@2.6.2': + optional: true + + '@resvg/resvg-js-android-arm64@2.6.2': + optional: true + + '@resvg/resvg-js-darwin-arm64@2.6.2': + optional: true + + '@resvg/resvg-js-darwin-x64@2.6.2': + optional: true + + '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2': + optional: true + + '@resvg/resvg-js-linux-arm64-gnu@2.6.2': + optional: true + + '@resvg/resvg-js-linux-arm64-musl@2.6.2': + optional: true + + '@resvg/resvg-js-linux-x64-gnu@2.6.2': + optional: true + + '@resvg/resvg-js-linux-x64-musl@2.6.2': + optional: true + + '@resvg/resvg-js-win32-arm64-msvc@2.6.2': + optional: true + + '@resvg/resvg-js-win32-ia32-msvc@2.6.2': + optional: true + + '@resvg/resvg-js-win32-x64-msvc@2.6.2': + optional: true + + '@resvg/resvg-js@2.6.2': + optionalDependencies: + '@resvg/resvg-js-android-arm-eabi': 2.6.2 + '@resvg/resvg-js-android-arm64': 2.6.2 + '@resvg/resvg-js-darwin-arm64': 2.6.2 + '@resvg/resvg-js-darwin-x64': 2.6.2 + '@resvg/resvg-js-linux-arm-gnueabihf': 2.6.2 + '@resvg/resvg-js-linux-arm64-gnu': 2.6.2 + '@resvg/resvg-js-linux-arm64-musl': 2.6.2 + '@resvg/resvg-js-linux-x64-gnu': 2.6.2 + '@resvg/resvg-js-linux-x64-musl': 2.6.2 + '@resvg/resvg-js-win32-arm64-msvc': 2.6.2 + '@resvg/resvg-js-win32-ia32-msvc': 2.6.2 + '@resvg/resvg-js-win32-x64-msvc': 2.6.2 + + '@rolldown/binding-android-arm64@1.1.5': + optional: true + + '@rolldown/binding-darwin-arm64@1.1.5': + optional: true + + '@rolldown/binding-darwin-x64@1.1.5': + optional: true + + '@rolldown/binding-freebsd-x64@1.1.5': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.1.5': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.1.5': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.1.5': + optional: true + + '@rolldown/binding-linux-ppc64-gnu@1.1.5': + optional: true + + '@rolldown/binding-linux-s390x-gnu@1.1.5': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.1.5': + optional: true + + '@rolldown/binding-linux-x64-musl@1.1.5': + optional: true + + '@rolldown/binding-openharmony-arm64@1.1.5': + optional: true + + '@rolldown/binding-wasm32-wasi@1.1.5': + dependencies: + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.1.5': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.1.5': + optional: true + + '@rolldown/pluginutils@1.0.1': {} + + '@rollup/pluginutils@4.2.1': + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.2 + + '@rollup/pluginutils@5.4.0': + dependencies: + '@types/estree': 1.0.9 + estree-walker: 2.0.2 + picomatch: 4.0.5 + + '@shikijs/core@4.3.1': + dependencies: + '@shikijs/primitive': 4.3.1 + '@shikijs/types': 4.3.1 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.5 + hast-util-to-html: 9.0.5 + + '@shikijs/engine-javascript@4.3.1': + dependencies: + '@shikijs/types': 4.3.1 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 4.3.6 + + '@shikijs/engine-oniguruma@4.3.1': + dependencies: + '@shikijs/types': 4.3.1 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@4.3.1': + dependencies: + '@shikijs/types': 4.3.1 + + '@shikijs/primitive@4.3.1': + dependencies: + '@shikijs/types': 4.3.1 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.5 + + '@shikijs/themes@4.3.1': + dependencies: + '@shikijs/types': 4.3.1 + + '@shikijs/types@4.3.1': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.5 + + '@shikijs/vscode-textmate@10.0.2': {} + + '@shuding/opentype.js@1.4.0-beta.0': + dependencies: + fflate: 0.7.4 + string.prototype.codepointat: 0.2.1 + + '@tailwindcss/node@4.3.2': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.21.6 + jiti: 2.7.0 + lightningcss: 1.32.0 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.3.2 + + '@tailwindcss/oxide-android-arm64@4.3.2': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.3.2': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.3.2': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.3.2': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.2': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.3.2': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.3.2': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.3.2': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.3.2': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.2': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.3.2': + optional: true + + '@tailwindcss/oxide@4.3.2': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.3.2 + '@tailwindcss/oxide-darwin-arm64': 4.3.2 + '@tailwindcss/oxide-darwin-x64': 4.3.2 + '@tailwindcss/oxide-freebsd-x64': 4.3.2 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.2 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.2 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.2 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.2 + '@tailwindcss/oxide-linux-x64-musl': 4.3.2 + '@tailwindcss/oxide-wasm32-wasi': 4.3.2 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.2 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.2 + + '@tailwindcss/typography@0.5.20(tailwindcss@4.3.2)': + dependencies: + postcss-selector-parser: 6.0.10 + tailwindcss: 4.3.2 + + '@tailwindcss/vite@4.3.2(vite@8.1.4(jiti@2.7.0))': + dependencies: + '@tailwindcss/node': 4.3.2 + '@tailwindcss/oxide': 4.3.2 + tailwindcss: 4.3.2 + vite: 8.1.4(jiti@2.7.0) + + '@tybys/wasm-util@0.10.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/estree@1.0.9': {} + + '@types/hast@3.0.5': + dependencies: + '@types/unist': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/unist@3.0.3': {} + + '@ungap/structured-clone@1.3.3': {} + + ansi-regex@5.0.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + argparse@2.0.1: {} + + babel-plugin-transform-hook-names@1.0.2(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + + base64-js@0.0.8: {} + + baseline-browser-mapping@2.10.43: {} + + boolbase@1.0.0: {} + + browserslist@4.28.6: + dependencies: + baseline-browser-mapping: 2.10.43 + caniuse-lite: 1.0.30001805 + electron-to-chromium: 1.5.389 + node-releases: 2.0.51 + update-browserslist-db: 1.2.3(browserslist@4.28.6) + + call-me-maybe@1.0.2: {} + + camelize@1.0.1: {} + + caniuse-lite@1.0.30001805: {} + + ccount@2.0.1: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + citty@0.1.6: + dependencies: + consola: 3.4.2 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + comma-separated-tokens@2.0.3: {} + + commander@13.1.0: {} + + consola@3.4.2: {} + + convert-source-map@2.0.0: {} + + css-background-parser@0.1.0: {} + + css-box-shadow@1.0.0-3: {} + + css-color-keywords@1.0.0: {} + + css-gradient-parser@0.0.17: {} + + css-select@5.2.2: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + + css-to-react-native@3.2.0: + dependencies: + camelize: 1.0.1 + css-color-keywords: 1.0.0 + postcss-value-parser: 4.2.0 + + css-what@6.2.2: {} + + cssesc@3.0.0: {} + + dayjs@1.11.21: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + deepmerge@4.3.1: {} + + dequal@2.0.3: {} + + detect-libc@2.1.2: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + dom-serializer@3.1.1: + dependencies: + domelementtype: 3.0.0 + domhandler: 6.0.1 + entities: 8.0.0 + + domelementtype@2.3.0: {} + + domelementtype@3.0.0: {} + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domhandler@6.0.1: + dependencies: + domelementtype: 3.0.0 + + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + domutils@4.0.2: + dependencies: + dom-serializer: 3.1.1 + domelementtype: 3.0.0 + domhandler: 6.0.1 + + electron-to-chromium@1.5.389: {} + + emoji-regex-xs@2.0.1: {} + + emoji-regex@8.0.0: {} + + enhanced-resolve@5.21.6: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + + entities@4.5.0: {} + + entities@8.0.0: {} + + es6-promise@3.3.1: {} + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@4.0.0: {} + + estree-walker@2.0.2: {} + + fast-safe-stringify@2.1.1: {} + + fdir@6.5.0(picomatch@4.0.5): + optionalDependencies: + picomatch: 4.0.5 + + fflate@0.7.4: {} + + fsevents@2.3.3: + optional: true + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + graceful-fs@4.2.11: {} + + handlebars@4.7.9: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.3 + + hast-util-to-html@9.0.5: + dependencies: + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.5 + + he@1.2.0: {} + + heroicons@2.2.0: {} + + hex-rgb@4.3.0: {} + + html-void-elements@3.0.0: {} + + htmlparser2@12.0.0: + dependencies: + domelementtype: 3.0.0 + domhandler: 6.0.1 + domutils: 4.0.2 + entities: 8.0.0 + + http2-client@1.3.5: {} + + is-fullwidth-code-point@3.0.0: {} + + is-plain-object@5.0.0: {} + + jiti@2.7.0: {} + + js-tokens@4.0.0: {} + + js-yaml@4.3.0: + dependencies: + argparse: 2.0.1 + + jsesc@3.1.0: {} + + json5@2.2.3: {} + + kolorist@1.8.0: {} + + launder@1.7.1: + dependencies: + dayjs: 1.11.21 + + lightningcss-android-arm64@1.32.0: + optional: true + + lightningcss-darwin-arm64@1.32.0: + optional: true + + lightningcss-darwin-x64@1.32.0: + optional: true + + lightningcss-freebsd-x64@1.32.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + + lightningcss-linux-arm64-musl@1.32.0: + optional: true + + lightningcss-linux-x64-gnu@1.32.0: + optional: true + + lightningcss-linux-x64-musl@1.32.0: + optional: true + + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + + lightningcss-win32-x64-msvc@1.32.0: + optional: true + + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 + + linebreak@1.1.0: + dependencies: + base64-js: 0.0.8 + unicode-trie: 2.0.0 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + marked@15.0.12: {} + + mcp-parser@0.4.0: + dependencies: + mcp-schema: 0.3.1 + + mcp-schema@0.3.1: {} + + mdast-util-to-hast@13.2.1: + dependencies: + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.3 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-encode@2.0.1: {} + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.2: {} + + minimist@1.2.8: {} + + moxygen@2.1.12: + dependencies: + commander: 13.1.0 + handlebars: 4.7.9 + xml2js: 0.6.2 + + ms@2.1.3: {} + + nanoid@3.3.16: {} + + neo-async@2.6.2: {} + + node-fetch-h2@2.3.0: + dependencies: + http2-client: 1.3.5 + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-html-parser@6.1.13: + dependencies: + css-select: 5.2.2 + he: 1.2.0 + + node-readfiles@0.2.0: + dependencies: + es6-promise: 3.3.1 + + node-releases@2.0.51: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + oas-kit-common@1.0.8: + dependencies: + fast-safe-stringify: 2.1.1 + + oas-linter@3.2.2: + dependencies: + '@exodus/schemasafe': 1.3.0 + should: 13.2.3 + yaml: 1.10.3 + + oas-resolver@2.5.6: + dependencies: + node-fetch-h2: 2.3.0 + oas-kit-common: 1.0.8 + reftools: 1.1.9 + yaml: 1.10.3 + yargs: 17.7.3 + + oas-schema-walker@1.1.5: {} + + oas-validator@5.0.8: + dependencies: + call-me-maybe: 1.0.2 + oas-kit-common: 1.0.8 + oas-linter: 3.2.2 + oas-resolver: 2.5.6 + oas-schema-walker: 1.1.5 + reftools: 1.1.9 + should: 13.2.3 + yaml: 1.10.3 + + oniguruma-parser@0.12.2: {} + + oniguruma-to-es@4.3.6: + dependencies: + oniguruma-parser: 0.12.2 + regex: 6.1.0 + regex-recursion: 6.0.2 + + pako@0.2.9: {} + + parse-css-color@0.2.1: + dependencies: + color-name: 1.1.4 + hex-rgb: 4.3.0 + + parse-srcset@1.0.2: {} + + picocolors@1.1.1: {} + + picomatch@2.3.2: {} + + picomatch@4.0.5: {} + + postcss-selector-parser@6.0.10: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + + postcss@8.5.17: + dependencies: + nanoid: 3.3.16 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + preact-render-to-string@6.7.0(preact@10.29.7): + dependencies: + preact: 10.29.7(preact-render-to-string@6.7.0) + + preact@10.29.7(preact-render-to-string@6.7.0): + optionalDependencies: + preact-render-to-string: 6.7.0(preact@10.29.7) + + property-information@7.2.0: {} + + reftools@1.1.9: {} + + regex-recursion@6.0.2: + dependencies: + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@6.1.0: + dependencies: + regex-utilities: 2.3.0 + + require-directory@2.1.1: {} + + rolldown@1.1.5: + dependencies: + '@oxc-project/types': 0.139.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.1.5 + '@rolldown/binding-darwin-arm64': 1.1.5 + '@rolldown/binding-darwin-x64': 1.1.5 + '@rolldown/binding-freebsd-x64': 1.1.5 + '@rolldown/binding-linux-arm-gnueabihf': 1.1.5 + '@rolldown/binding-linux-arm64-gnu': 1.1.5 + '@rolldown/binding-linux-arm64-musl': 1.1.5 + '@rolldown/binding-linux-ppc64-gnu': 1.1.5 + '@rolldown/binding-linux-s390x-gnu': 1.1.5 + '@rolldown/binding-linux-x64-gnu': 1.1.5 + '@rolldown/binding-linux-x64-musl': 1.1.5 + '@rolldown/binding-openharmony-arm64': 1.1.5 + '@rolldown/binding-wasm32-wasi': 1.1.5 + '@rolldown/binding-win32-arm64-msvc': 1.1.5 + '@rolldown/binding-win32-x64-msvc': 1.1.5 + + sanitize-html@2.17.6: + dependencies: + deepmerge: 4.3.1 + escape-string-regexp: 4.0.0 + htmlparser2: 12.0.0 + is-plain-object: 5.0.0 + launder: 1.7.1 + parse-srcset: 1.0.2 + postcss: 8.5.17 + + satori@0.26.0: + dependencies: + '@shuding/opentype.js': 1.4.0-beta.0 + css-background-parser: 0.1.0 + css-box-shadow: 1.0.0-3 + css-gradient-parser: 0.0.17 + css-to-react-native: 3.2.0 + emoji-regex-xs: 2.0.1 + escape-html: 1.0.3 + linebreak: 1.1.0 + parse-css-color: 0.2.1 + postcss-value-parser: 4.2.0 + yoga-layout: 3.2.1 + + sax@1.6.0: {} + + semver@6.3.1: {} + + shiki@4.3.1: + dependencies: + '@shikijs/core': 4.3.1 + '@shikijs/engine-javascript': 4.3.1 + '@shikijs/engine-oniguruma': 4.3.1 + '@shikijs/langs': 4.3.1 + '@shikijs/themes': 4.3.1 + '@shikijs/types': 4.3.1 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.5 + + should-equal@2.0.0: + dependencies: + should-type: 1.4.0 + + should-format@3.0.3: + dependencies: + should-type: 1.4.0 + should-type-adaptors: 1.1.0 + + should-type-adaptors@1.1.0: + dependencies: + should-type: 1.4.0 + should-util: 1.0.1 + + should-type@1.4.0: {} + + should-util@1.0.1: {} + + should@13.2.3: + dependencies: + should-equal: 2.0.0 + should-format: 3.0.3 + should-type: 1.4.0 + should-type-adaptors: 1.1.0 + should-util: 1.0.1 + + simple-code-frame@1.3.0: + dependencies: + kolorist: 1.8.0 + + source-map-js@1.2.1: {} + + source-map@0.6.1: {} + + source-map@0.7.6: {} + + sourcey@3.6.5(@babel/core@7.29.7): + dependencies: + '@apidevtools/json-schema-ref-parser': 13.0.5 + '@preact/preset-vite': 2.10.5(@babel/core@7.29.7)(preact@10.29.7)(vite@8.1.4(jiti@2.7.0)) + '@resvg/resvg-js': 2.6.2 + '@tailwindcss/typography': 0.5.20(tailwindcss@4.3.2) + '@tailwindcss/vite': 4.3.2(vite@8.1.4(jiti@2.7.0)) + citty: 0.1.6 + heroicons: 2.2.0 + jiti: 2.7.0 + js-yaml: 4.3.0 + marked: 15.0.12 + mcp-parser: 0.4.0 + moxygen: 2.1.12 + preact: 10.29.7(preact-render-to-string@6.7.0) + preact-render-to-string: 6.7.0(preact@10.29.7) + sanitize-html: 2.17.6 + satori: 0.26.0 + shiki: 4.3.1 + swagger2openapi: 7.0.8 + tailwindcss: 4.3.2 + vite: 8.1.4(jiti@2.7.0) + transitivePeerDependencies: + - '@babel/core' + - '@types/node' + - '@vitejs/devtools' + - encoding + - esbuild + - less + - rollup + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + space-separated-tokens@2.0.2: {} + + stack-trace@1.0.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string.prototype.codepointat@0.2.1: {} + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + swagger2openapi@7.0.8: + dependencies: + call-me-maybe: 1.0.2 + node-fetch: 2.7.0 + node-fetch-h2: 2.3.0 + node-readfiles: 0.2.0 + oas-kit-common: 1.0.8 + oas-resolver: 2.5.6 + oas-schema-walker: 1.1.5 + oas-validator: 5.0.8 + reftools: 1.1.9 + yaml: 1.10.3 + yargs: 17.7.3 + transitivePeerDependencies: + - encoding + + tailwindcss@4.3.2: {} + + tapable@2.3.3: {} + + tiny-inflate@1.0.3: {} + + tinyglobby@0.2.17: + dependencies: + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 + + tr46@0.0.3: {} + + trim-lines@3.0.1: {} + + tslib@2.8.1: + optional: true + + uglify-js@3.19.3: + optional: true + + unicode-trie@2.0.0: + dependencies: + pako: 0.2.9 + tiny-inflate: 1.0.3 + + unist-util-is@6.0.1: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + + unist-util-visit@5.1.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + update-browserslist-db@1.2.3(browserslist@4.28.6): + dependencies: + browserslist: 4.28.6 + escalade: 3.2.0 + picocolors: 1.1.1 + + util-deprecate@1.0.2: {} + + vfile-message@4.0.3: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.3 + + vite-prerender-plugin@0.5.13(vite@8.1.4(jiti@2.7.0)): + dependencies: + kolorist: 1.8.0 + magic-string: 0.30.21 + node-html-parser: 6.1.13 + simple-code-frame: 1.3.0 + source-map: 0.7.6 + stack-trace: 1.0.0 + vite: 8.1.4(jiti@2.7.0) + + vite@8.1.4(jiti@2.7.0): + dependencies: + lightningcss: 1.32.0 + picomatch: 4.0.5 + postcss: 8.5.17 + rolldown: 1.1.5 + tinyglobby: 0.2.17 + optionalDependencies: + fsevents: 2.3.3 + jiti: 2.7.0 + + webidl-conversions@3.0.1: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + wordwrap@1.0.0: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + xml2js@0.6.2: + dependencies: + sax: 1.6.0 + xmlbuilder: 11.0.1 + + xmlbuilder@11.0.1: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yaml@1.10.3: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.3: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yoga-layout@3.2.1: {} + + zimmerframe@1.1.4: {} + + zwitch@2.0.4: {} diff --git a/docs/sourcey/sourcey.config.ts b/docs/sourcey/sourcey.config.ts new file mode 100644 index 0000000..aec88d8 --- /dev/null +++ b/docs/sourcey/sourcey.config.ts @@ -0,0 +1,49 @@ +import { defineConfig, godoc } from "sourcey"; + +export default defineConfig({ + name: "TySug", + siteUrl: "https://tysug.net", + baseUrl: "/docs/reference", + repo: "https://github.com/Dynom/TySug", + editBranch: "master", + theme: { + preset: "api-first", + colors: { + primary: "#2f855a", + light: "#48bb78", + dark: "#22543d" + } + }, + navigation: { + tabs: [ + { + tab: "Go API", + slug: "", + source: godoc({ + module: "../..", + packages: ["./..."], + mode: "live", + includeTests: true, + includeUnexported: false, + hideUndocumented: false + }) + } + ] + }, + navbar: { + links: [ + { + type: "github", + href: "https://github.com/Dynom/TySug" + } + ] + }, + footer: { + links: [ + { + type: "github", + href: "https://github.com/Dynom/TySug" + } + ] + } +}); From cb5654a4ebf00bd41bf7bd756a4ec48dbcaef24f Mon Sep 17 00:00:00 2001 From: OpenClaw Date: Mon, 13 Jul 2026 21:25:12 +0800 Subject: [PATCH 2/3] ci: ignore generated reference output --- .codacy.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .codacy.yml diff --git a/.codacy.yml b/.codacy.yml new file mode 100644 index 0000000..a4701e8 --- /dev/null +++ b/.codacy.yml @@ -0,0 +1,3 @@ +--- +exclude_paths: + - "docs/reference/**" From 104e64505a4666fccbbb1d6e658b2b7b2f5efe9d Mon Sep 17 00:00:00 2001 From: OpenClaw Date: Mon, 13 Jul 2026 21:28:19 +0800 Subject: [PATCH 3/3] ci: satisfy source config analysis --- docs/sourcey/fix-base-path.mjs | 50 ++++++++++++++++++++++------------ docs/sourcey/sourcey.config.ts | 26 +++++++++--------- 2 files changed, 46 insertions(+), 30 deletions(-) diff --git a/docs/sourcey/fix-base-path.mjs b/docs/sourcey/fix-base-path.mjs index c1f722b..26eb1f2 100644 --- a/docs/sourcey/fix-base-path.mjs +++ b/docs/sourcey/fix-base-path.mjs @@ -1,27 +1,43 @@ -import { readdir, readFile, writeFile } from "node:fs/promises"; -import { resolve } from "node:path"; +import { readFile, writeFile } from "node:fs/promises"; -const outputDir = resolve("../reference"); const basePath = "/docs/reference/"; -const htmlFiles = (await readdir(outputDir)).filter((file) => file.endsWith(".html")); +const html = { + index: await readFile("../reference/index.html", "utf8"), + cmdWeb: await readFile("../reference/pkg-cmd-web.html", "utf8"), + finder: await readFile("../reference/pkg-finder.html", "utf8"), + internalRwc: await readFile("../reference/pkg-internal-rwc.html", "utf8"), + keyboard: await readFile("../reference/pkg-keyboard.html", "utf8"), + server: await readFile("../reference/pkg-server.html", "utf8"), + serverService: await readFile("../reference/pkg-server-service.html", "utf8"), +}; let replacements = 0; -for (const file of htmlFiles) { - const path = resolve(outputDir, file); - const original = await readFile(path, "utf8"); - const updated = original.replaceAll( - /href="\/(index\.html|pkg-[^"]+\.html)"/g, - (_match, target) => { - replacements += 1; - return `href="${basePath}${target}"`; - } - ); - - await writeFile(path, updated); -} +const rewritten = Object.fromEntries( + Object.entries(html).map(([name, contents]) => [ + name, + contents.replaceAll( + /href="\/(index\.html|pkg-[^"]+\.html)"/g, + (_match, target) => { + replacements += 1; + return `href="${basePath}${target}"`; + }, + ), + ]), +); if (replacements === 0) { throw new Error("No Sourcey navigation links were rewritten"); } +await writeFile("../reference/index.html", rewritten.index); +await writeFile("../reference/pkg-cmd-web.html", rewritten.cmdWeb); +await writeFile("../reference/pkg-finder.html", rewritten.finder); +await writeFile("../reference/pkg-internal-rwc.html", rewritten.internalRwc); +await writeFile("../reference/pkg-keyboard.html", rewritten.keyboard); +await writeFile("../reference/pkg-server.html", rewritten.server); +await writeFile( + "../reference/pkg-server-service.html", + rewritten.serverService, +); + console.log(`Rewrote ${replacements} navigation links for ${basePath}`); diff --git a/docs/sourcey/sourcey.config.ts b/docs/sourcey/sourcey.config.ts index aec88d8..64c5a41 100644 --- a/docs/sourcey/sourcey.config.ts +++ b/docs/sourcey/sourcey.config.ts @@ -11,8 +11,8 @@ export default defineConfig({ colors: { primary: "#2f855a", light: "#48bb78", - dark: "#22543d" - } + dark: "#22543d", + }, }, navigation: { tabs: [ @@ -25,25 +25,25 @@ export default defineConfig({ mode: "live", includeTests: true, includeUnexported: false, - hideUndocumented: false - }) - } - ] + hideUndocumented: false, + }), + }, + ], }, navbar: { links: [ { type: "github", - href: "https://github.com/Dynom/TySug" - } - ] + href: "https://github.com/Dynom/TySug", + }, + ], }, footer: { links: [ { type: "github", - href: "https://github.com/Dynom/TySug" - } - ] - } + href: "https://github.com/Dynom/TySug", + }, + ], + }, });

cI1;=}5lHTHG@~lG?NdWQ3} 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≪U}^ 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�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 +cmd/web - TySug