diff --git a/packages/class-variant/src/index.tsx b/packages/class-variant/src/index.tsx index d05b54e8f..e11e7973e 100644 --- a/packages/class-variant/src/index.tsx +++ b/packages/class-variant/src/index.tsx @@ -1,12 +1,12 @@ import clsx from 'clsx' -type Param = string +type Param = string | string[] | Record | [string, { [key in keyof T]?: T[key] }] | { [key in keyof T]?: T[key] extends boolean | undefined ? string : Record } | ((valueByProp: T) => any) -type ReturnType = { default?: Partial } & ((valueByProp?: T) => string) +type ReturnType = { default?: Partial } & ((valueByProp?: T) => string) /** * 1. 'inline-flex rounded' @@ -20,7 +20,7 @@ function cv>(...params: Arra function cv>(firstParam: TemplateStringsArray, ...params: Array>): ReturnType function cv>(firstParam: TemplateStringsArray | Param, ...params: Array>): ReturnType { return function getClassNames(valueByProp: T = {} as any) { - const mergedValueByProp = Object.assign({}, getClassNames['default'], valueByProp) + const mergedValueByProp = Object.assign({}, (getClassNames as ReturnType).default, valueByProp) const isTemplateLiteral = Array.isArray(firstParam) && 'raw' in firstParam const classesConditions: [string, Record][] = [] const valuesByProp: Record> = {} @@ -34,7 +34,7 @@ function cv>(firstParam: Tem const newClassesByCondition = param[1] if (newClassesByCondition && typeof newClassesByCondition === 'object') { const keys = Object.keys(newClassesByCondition) - + let duplicated = false for (const eachClassesByCondition of classesConditions) { const entries = Object.entries(eachClassesByCondition[1]) @@ -47,7 +47,7 @@ function cv>(firstParam: Tem break } } - + if (!duplicated) { classesConditions.push(param as any) } @@ -83,7 +83,7 @@ function cv>(firstParam: Tem } } break - } + } } } break @@ -126,10 +126,10 @@ function cv>(firstParam: Tem classNames.push(eachClassesByCondition[0]) } } - + for (const eachProp in valuesByProp) { const value = mergedValueByProp[eachProp] ?? mergedValueByProp['$' + eachProp] ?? '' - const classes = valuesByProp[eachProp][value] + const classes = valuesByProp[eachProp][value as string | number] if (classes) { classNames.push(classes) } @@ -148,7 +148,7 @@ function cv>(firstParam: Tem classNames.push(eachClasses) } } - + let result = classNames.join(' ') if (isTemplateLiteral) { result = result.trim().replace(/\n/g, ' ').replace(/ +/g, ' ') diff --git a/packages/css/src/bin/index.ts b/packages/css/src/bin/index.ts index 593d75277..35392445a 100644 --- a/packages/css/src/bin/index.ts +++ b/packages/css/src/bin/index.ts @@ -69,7 +69,7 @@ program.command('render') try { const action = require('@master/css-renderer/actions/main') await action(args, options) - } catch (error) { + } catch (error: any) { if (error.code === 'ERR_MODULE_NOT_FOUND') { log.i`Please run **npm** **install** **@master/css-renderer** first` } else { @@ -88,7 +88,7 @@ program.command('extract') try { const action = require('@master/css-extractor/actions/main') await action(args, options) - } catch (error) { + } catch (error: any) { if (error.code === 'ERR_MODULE_NOT_FOUND') { log.i`Please run **npm** **install** **@master/css-extractor** first` } else { diff --git a/packages/css/src/config/functions.ts b/packages/css/src/config/functions.ts index 8d52b2fdd..2f9e12618 100644 --- a/packages/css/src/config/functions.ts +++ b/packages/css/src/config/functions.ts @@ -1,4 +1,4 @@ -import type { FunctionDefinition } from './' +import type { FunctionDefinition, FunctionDefinitions } from './' import type { Rule } from '../rule' const functions = { @@ -20,7 +20,7 @@ const functions = { calc: { transform(value, bypassVariableNames) { const valueComponents: Rule['valueComponents'] = [] - const functions = this.css.config.functions + const functions = this.css.config.functions as FunctionDefinitions let i = 0 const anaylze = (currentValueComponents: Rule['valueComponents'], bypassHandlingSeparator: boolean, bypassHandlingUnitForcely: boolean) => { let bypassHandlingUnit = false diff --git a/packages/css/src/config/index.ts b/packages/css/src/config/index.ts index 814a6d930..a9a2a26fc 100644 --- a/packages/css/src/config/index.ts +++ b/packages/css/src/config/index.ts @@ -11,11 +11,13 @@ import type { Rule, RuleDefinition, ValueComponent } from '../rule' const config: Config = { mediaQueries, selectors, + // @ts-expect-error semantics, rules, - functions: functions as any, + functions, + // @ts-expect-error animations, - variables: variables as any, + variables, scope: '', rootSize: 16, override: false, @@ -48,7 +50,7 @@ export type SemanticDefinitions = { [key in keyof typeof semantics]?: CSSDeclara export interface FunctionDefinition { unit?: string colored?: boolean - transform?(this: Rule, value: string, bypassVariableNames?: string[]): string | ValueComponent[] + transform?(this: Rule, value: string, bypassVariableNames: string[]): string | ValueComponent[] } export type FunctionDefinitions = { [key: string]: FunctionDefinition } diff --git a/packages/css/src/config/rules.ts b/packages/css/src/config/rules.ts index 403dca539..547872e80 100644 --- a/packages/css/src/config/rules.ts +++ b/packages/css/src/config/rules.ts @@ -3,6 +3,7 @@ import { START_SYMBOLS } from '../constants/start-symbol' import type { Rule, RuleDefinition } from '../rule' import { CSSDeclarations } from '../types/css-declarations' import { Layer } from '../layer' +import { PropertiesHyphen } from 'csstype' export const BORDER_STYLES = ['none', 'auto', 'hidden', 'dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'outset'] @@ -10,7 +11,7 @@ export const autofillSolidToValueComponent: RuleDefinition['transformValueCompon if (valueComponents.length < 2) return valueComponents const styleValueComponent = valueComponents.find((valueComponent) => { return valueComponent.type === 'string' && BORDER_STYLES.includes(valueComponent.value) || - valueComponent.type === 'variable' && BORDER_STYLES.includes(valueComponent.variable.value) + valueComponent.type === 'variable' && BORDER_STYLES.includes(valueComponent.variable?.value) }) if (!styleValueComponent) { valueComponents.push( @@ -36,19 +37,20 @@ const rules = { }, declare(value) { const declarations: CSSDeclarations = {} - const addProp = (propertyName: string) => { const indexOfColon = propertyName.indexOf(':') if (indexOfColon !== -1) { - declarations[propertyName.slice(0, indexOfColon)] = propertyName.slice(indexOfColon + 1) + const propName = propertyName.slice(0, indexOfColon) + declarations[propName] = propertyName.slice(indexOfColon + 1) } } const handleRule = (rule: Rule) => { const addProps = (cssText: string) => { - const cssProperties = cssText.slice(cssEscape(rule.className).length).match(/\{(.*)\}/)[1].split(';') - for (const eachCssProperty of cssProperties) { - addProp(eachCssProperty) - } + const cssProperties = cssText.slice(cssEscape(rule.className).length).match(/\{(.*)\}/)?.[1].split(';') + if (cssProperties) + for (const eachCssProperty of cssProperties) { + addProp(eachCssProperty) + } } for (const eachNative of rule.natives) { @@ -80,7 +82,7 @@ const rules = { } } - const names = [] + const names: string[] = [] let currentName = '' const addName = () => { if (currentName) { @@ -123,10 +125,11 @@ const rules = { break } else if (char in START_SYMBOLS && (end !== '\'' && end !== '"')) { i++ - analyze(START_SYMBOLS[char]) + analyze(START_SYMBOLS[char as keyof typeof START_SYMBOLS]) } } - })(undefined) + })('') + addName() for (const eachName of names) { @@ -250,10 +253,10 @@ const rules = { match: /^(?:mx|margin-x):/, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'margin-left': value + unit, - 'margin-right': value + unit + 'margin-left': value, + 'margin-right': value } }, variables: ['spacing'] @@ -262,10 +265,10 @@ const rules = { match: /^(?:my|margin-y):/, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'margin-top': value + unit, - 'margin-bottom': value + unit + 'margin-top': value, + 'margin-bottom': value } }, variables: ['spacing'] @@ -324,10 +327,10 @@ const rules = { match: /^(?:px|padding-x):/, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'padding-left': value + unit, - 'padding-right': value + unit + 'padding-left': value, + 'padding-right': value } }, variables: ['spacing'] @@ -336,10 +339,10 @@ const rules = { match: /^(?:py|padding-y):/, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'padding-top': value + unit, - 'padding-bottom': value + unit + 'padding-top': value, + 'padding-bottom': value } }, variables: ['spacing'] @@ -475,10 +478,10 @@ const rules = { 'box-decoration-break': { match: ['box-size', ['slice', 'clone']], layer: Layer.CoreNative, - declare(value, unit) { + declare(value) { return { - 'box-decoration-break': value + unit, - '-webkit-box-decoration-break': value + unit + 'box-decoration-break': value, + '-webkit-box-decoration-break': value } } } as RuleDefinition, @@ -609,14 +612,14 @@ const rules = { } as RuleDefinition, lines: { match: /^lines:/, - declare(value, unit) { + declare(value) { return { overflow: 'hidden', display: '-webkit-box', 'overflow-wrap': 'break-word', 'text-overflow': 'ellipsis', '-webkit-box-orient': 'vertical', - '-webkit-line-clamp': value + unit + '-webkit-line-clamp': value } } } as RuleDefinition, @@ -649,7 +652,7 @@ const rules = { } as RuleDefinition, 'overflow-x': { layer: Layer.CoreNative, - declare(value, unit) { + declare(value) { return value === 'overlay' ? { 'overflow-x': ['auto', value] } : { 'overflow-x': value } @@ -657,7 +660,7 @@ const rules = { } as RuleDefinition, 'overflow-y': { layer: Layer.CoreNative, - declare(value, unit) { + declare(value) { return value === 'overlay' ? { 'overflow-y': ['auto', value] } : { 'overflow-y': value } @@ -665,7 +668,7 @@ const rules = { } as RuleDefinition, overflow: { layer: Layer.CoreNativeShorthand, - declare(value, unit) { + declare(value) { return value === 'overlay' ? { overflow: ['auto', value] } : { overflow: value } @@ -708,19 +711,19 @@ const rules = { } as RuleDefinition, 'user-drag': { layer: Layer.CoreNative, - declare(value, unit) { + declare(value) { return { - 'user-drag': value + unit, - '-webkit-user-drag': value + unit + 'user-drag': value, + '-webkit-user-drag': value } } } as RuleDefinition, 'user-select': { layer: Layer.CoreNative, - declare(value, unit) { + declare(value) { return { - 'user-select': value + unit, - '-webkit-user-select': value + unit + 'user-select': value, + '-webkit-user-select': value } } } as RuleDefinition, @@ -733,13 +736,11 @@ const rules = { match: ['t(?:ext)?'], numeric: true, unit: 'rem', - declare(value, unit) { + declare(value) { const diff = .875 return { - 'font-size': value + unit, - 'line-height': unit === 'em' - ? value + diff + unit - : `calc(${value}${unit} + ${diff}em)` + 'font-size': value, + 'line-height': `calc(${value} + ${diff}em)` } } } as RuleDefinition, @@ -750,9 +751,9 @@ const rules = { variables: [ 'foreground' ], - declare(value, unit) { + declare(value) { return { - '-webkit-text-fill-color': value + unit + '-webkit-text-fill-color': value } } } as RuleDefinition, @@ -761,9 +762,9 @@ const rules = { numeric: true, unit: 'rem', layer: Layer.CoreNative, - declare(value, unit) { + declare(value) { return { - '-webkit-text-stroke-width': value + unit + '-webkit-text-stroke-width': value } }, } as RuleDefinition, @@ -774,18 +775,18 @@ const rules = { variables: [ 'foreground' ], - declare(value, unit) { + declare(value) { return { - '-webkit-text-stroke-color': value + unit + '-webkit-text-stroke-color': value } } } as RuleDefinition, 'text-stroke': { unit: 'rem', layer: Layer.CoreNative, - declare(value, unit) { + declare(value) { return { - '-webkit-text-stroke': value + unit + '-webkit-text-stroke': value } } } as RuleDefinition, @@ -931,10 +932,10 @@ const rules = { match: ['b(?:x|order-x(?:-color)?)'], layer: Layer.CoreShorthand, colored: true, - declare(value, unit) { + declare(value) { return { - 'border-left-color': value + unit, - 'border-right-color': value + unit + 'border-left-color': value, + 'border-right-color': value } } } as RuleDefinition, @@ -942,10 +943,10 @@ const rules = { match: ['b(?:y|order-y(?:-color)?)'], layer: Layer.CoreShorthand, colored: true, - declare(value, unit) { + declare(value) { return { - 'border-top-color': value + unit, - 'border-bottom-color': value + unit + 'border-top-color': value, + 'border-bottom-color': value } } } as RuleDefinition, @@ -979,10 +980,10 @@ const rules = { match: /^rt:/, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'border-top-left-radius': value + unit, - 'border-top-right-radius': value + unit + 'border-top-left-radius': value, + 'border-top-right-radius': value } } } as RuleDefinition, @@ -990,10 +991,10 @@ const rules = { match: /^rb:/, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'border-bottom-left-radius': value + unit, - 'border-bottom-right-radius': value + unit + 'border-bottom-left-radius': value, + 'border-bottom-right-radius': value } } } as RuleDefinition, @@ -1001,10 +1002,10 @@ const rules = { match: /^rl:/, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'border-top-left-radius': value + unit, - 'border-bottom-left-radius': value + unit + 'border-top-left-radius': value, + 'border-bottom-left-radius': value } } } as RuleDefinition, @@ -1012,10 +1013,10 @@ const rules = { match: /^rr:/, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'border-top-right-radius': value + unit, - 'border-bottom-right-radius': value + unit + 'border-top-right-radius': value, + 'border-bottom-right-radius': value } } } as RuleDefinition, @@ -1044,20 +1045,20 @@ const rules = { 'border-x-style': { match: ['b(?:x|order-x(?:-style)?)', BORDER_STYLES], layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'border-left-style': value + unit, - 'border-right-style': value + unit + 'border-left-style': value, + 'border-right-style': value } } } as RuleDefinition, 'border-y-style': { match: ['b(?:y|order-y(?:-style)?)', BORDER_STYLES], layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'border-top-style': value + unit, - 'border-bottom-style': value + unit + 'border-top-style': value, + 'border-bottom-style': value } } } as RuleDefinition, @@ -1095,10 +1096,10 @@ const rules = { numeric: true, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'border-left-width': value + unit, - 'border-right-width': value + unit + 'border-left-width': value, + 'border-right-width': value } } } as RuleDefinition, @@ -1107,10 +1108,10 @@ const rules = { numeric: true, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'border-top-width': value + unit, - 'border-bottom-width': value + unit + 'border-top-width': value, + 'border-bottom-width': value } } } as RuleDefinition, @@ -1222,10 +1223,10 @@ const rules = { 'background-clip': { match: ['(?:bg|background)', ['text']], layer: Layer.CoreNative, - declare(value, unit) { + declare(value) { return { - '-webkit-background-clip': value + unit, - 'background-clip': value + unit + '-webkit-background-clip': value, + 'background-clip': value } } } as RuleDefinition, @@ -1275,10 +1276,10 @@ const rules = { match: /^bd:/, layer: Layer.CoreNative, colored: true, - declare(value, unit) { + declare(value) { return { - 'backdrop-filter': value + unit, - '-webkit-backdrop-filter': value + unit + 'backdrop-filter': value, + '-webkit-backdrop-filter': value } } } as RuleDefinition, @@ -1356,11 +1357,11 @@ const rules = { } as RuleDefinition, 'grid-columns': { match: /^grid-cols:/, - declare(value, unit) { + declare(value) { return { display: 'grid', 'grid-template-columns': 'repeat' - + '(' + value + unit + + '(' + value + ',' + 'minmax' + '(' + 0 + ',' + 1 + 'fr' + '))', @@ -1385,12 +1386,12 @@ const rules = { } as RuleDefinition, 'grid-rows': { match: /^grid-rows:/, - declare(value, unit) { + declare(value) { return { display: 'grid', 'grid-auto-flow': 'column', 'grid-template-rows': 'repeat' - + '(' + value + unit + + '(' + value + ',' + 'minmax' + '(' + 0 + ',' + 1 + 'fr' + '))', @@ -1603,10 +1604,10 @@ const rules = { match: /^(?:scroll-margin-x|scroll-mx):/, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'scroll-margin-left': value + unit, - 'scroll-margin-right': value + unit + 'scroll-margin-left': value, + 'scroll-margin-right': value } }, variables: ['spacing'] @@ -1615,10 +1616,10 @@ const rules = { match: /^(?:scroll-margin-y|scroll-my):/, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'scroll-margin-top': value + unit, - 'scroll-margin-bottom': value + unit + 'scroll-margin-top': value, + 'scroll-margin-bottom': value } }, variables: ['spacing'] @@ -1658,10 +1659,10 @@ const rules = { match: /^(?:scroll-padding-x|scroll-px):/, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'scroll-padding-left': value + unit, - 'scroll-padding-right': value + unit + 'scroll-padding-left': value, + 'scroll-padding-right': value } }, variables: ['spacing'] @@ -1670,10 +1671,10 @@ const rules = { match: /^(?:scroll-padding-y|scroll-py):/, unit: 'rem', layer: Layer.CoreShorthand, - declare(value, unit) { + declare(value) { return { - 'scroll-padding-top': value + unit, - 'scroll-padding-bottom': value + unit + 'scroll-padding-top': value, + 'scroll-padding-bottom': value } }, variables: ['spacing'] @@ -1730,10 +1731,10 @@ const rules = { } as RuleDefinition, 'mask-image': { layer: Layer.CoreNative, - declare(value, unit) { + declare(value) { return { - 'mask-image': value + unit, - '-webkit-mask-image': value + unit + 'mask-image': value, + '-webkit-mask-image': value } } } as RuleDefinition diff --git a/packages/css/src/core.ts b/packages/css/src/core.ts index 41fbe5d4d..5fdb9e306 100644 --- a/packages/css/src/core.ts +++ b/packages/css/src/core.ts @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */ -import { Rule, NativeRule, RuleDefinition } from './rule' +import { Rule, NativeRule, RuleDefinition, RegisteredRule } from './rule' import type { Config, AnimationDefinitions } from './config' import { config as defaultConfig } from './config' import { CSSDeclarations } from './types/css-declarations' @@ -36,10 +36,10 @@ export class MasterCSS { static config: Config = defaultConfig readonly rules: Rule[] = [] readonly ruleBy: Record = {} - readonly classesUsage = {} + readonly classesUsage: Record = {} readonly config: Config - private readonly semanticRuleOptions: RuleDefinition[] = [] - private readonly ruleDefinitions: RuleDefinition[] = [] + readonly RegisteredSemanticRules: RegisteredRule[] = [] + readonly RegisteredRules: RegisteredRule[] = [] constructor( public customConfig: Config = defaultConfig @@ -62,9 +62,9 @@ export class MasterCSS { this.variables = {} this.mediaQueries = {} this.animations = {} - this.ruleDefinitions.length = 0 - this.semanticRuleOptions.length = 0 - this.variablesNativeRules = undefined + this.RegisteredRules.length = 0 + this.RegisteredSemanticRules.length = 0 + this.variablesNativeRules = {} this.hasKeyframesRule = false const colorVariableNames: Record = { current: undefined, @@ -74,7 +74,7 @@ export class MasterCSS { const { styles, selectors, variables, semantics, mediaQueries, rules, animations } = this.config - function escapeString(str) { + function escapeString(str: string) { return str.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&') } @@ -101,15 +101,15 @@ export class MasterCSS { if (variables) { const unexecutedAliasVariable: Record void }> = {} - const parseVariable = (variable: any, name: string, theme: string = undefined, group?: string) => { + const parseVariable = (variable: any, name: string, theme?: string) => { if (!variable) return const addVariable = ( name: string, variableValue: VariableValue, - replacedTheme: string = undefined, - alpha: string = undefined + replacedTheme?: string, + alpha?: string ) => { if (variableValue === undefined) return @@ -139,15 +139,20 @@ export class MasterCSS { variable.themes[currentTheme] = variableValue } else { variable.value = variableValue.value - variable.space = variableValue['space'] + if (variableValue.type === 'color') { + variable.space = variableValue.space + } } } else { if (currentTheme) { - this.variables[name] = { + const newVariable: Variable = { type: variableValue.type, - space: variableValue['space'], themes: { [currentTheme]: variableValue } } + if (variableValue.type === 'color') { + newVariable.space = variableValue.space + } + this.variables[name] = newVariable } else { this.variables[name] = variableValue } @@ -165,9 +170,9 @@ export class MasterCSS { const keys = Object.keys(variable) for (const eachKey of keys) { if (eachKey === '' || eachKey.startsWith('@')) { - parseVariable(variable[eachKey], name, (eachKey || keys.some(eachKey => eachKey.startsWith('@'))) ? eachKey.slice(1) : undefined, name) + parseVariable(variable[eachKey], name, (eachKey || keys.some(eachKey => eachKey.startsWith('@'))) ? eachKey.slice(1) : undefined) } else { - parseVariable(variable[eachKey], name + '-' + eachKey, undefined, name) + parseVariable(variable[eachKey], name + '-' + eachKey, undefined) } } } @@ -180,8 +185,8 @@ export class MasterCSS { if (!Object.prototype.hasOwnProperty.call(unexecutedAliasVariable, name)) { unexecutedAliasVariable[name] = {} } - unexecutedAliasVariable[name][theme] = () => { - delete unexecutedAliasVariable[name][theme] + unexecutedAliasVariable[name][theme as string] = () => { + delete unexecutedAliasVariable[name][theme as string] const [alias, aliasTheme] = aliasResult[1].split('@') if (alias) { @@ -213,12 +218,11 @@ export class MasterCSS { ? aliasVariable.themes?.[aliasTheme] : aliasVariable if (variable) { - addVariable( - name, - { type: variable.type, value: variable.value, space: variable['space'] }, - undefined, - aliasResult[2] - ) + const newVariable = { type: variable.type, value: variable.value } as VariableValue + if (variable.type === 'color') { + (newVariable as any).space = variable.space + } + addVariable(name, newVariable, undefined, aliasResult[2]) } } } @@ -261,10 +265,10 @@ export class MasterCSS { if (animations) { for (const animationName in animations) { - const newValueByPropertyNameByKeyframeName = this.animations[animationName] = {} + const newValueByPropertyNameByKeyframeName: any = this.animations[animationName] = {} const valueByPropertyNameByKeyframeName = animations[animationName] for (const animationName in valueByPropertyNameByKeyframeName) { - const newValueByPropertyName = newValueByPropertyNameByKeyframeName[animationName] = {} + const newValueByPropertyName: any = newValueByPropertyNameByKeyframeName[animationName] = {} const valueByPropertyName = valueByPropertyNameByKeyframeName[animationName] for (const propertyName in valueByPropertyName) { newValueByPropertyName[propertyName] = valueByPropertyName[propertyName] @@ -279,7 +283,7 @@ export class MasterCSS { if (Object.prototype.hasOwnProperty.call(this.styles, semanticName)) return - const currentClass = this.styles[semanticName] = [] + const currentClass: string[] = this.styles[semanticName] = [] const className = flattedStyles[semanticName] if (!className) @@ -324,13 +328,15 @@ export class MasterCSS { Object.entries(semantics) .sort((a: any, b: any) => a[0].localeCompare(b[0])) .forEach(([id, declarations]: [string, CSSDeclarations], index: number) => { - this.semanticRuleOptions.push({ + this.RegisteredSemanticRules.push({ id: '.' + id, - resolvedMatch: new RegExp('^' + escapeString(id) + '(?=!|\\*|>|\\+|~|:|\\[|@|_|\\.|$)', 'm'), + match: new RegExp('^' + escapeString(id) + '(?=!|\\*|>|\\+|~|:|\\[|@|_|\\.|$)', 'm'), order: index, - declarations, - layer: Layer.Semantic - }) + definition: { + declarations, + layer: Layer.Semantic + } + } as RegisteredRule) }) } @@ -341,23 +347,26 @@ export class MasterCSS { return (b[1].layer || 0) - (a[1].layer || 0) } return b[0].localeCompare(a[0]) - }) + }) as [string, RuleDefinition][] const rulesEntriesLength = rulesEntries.length const colorNames = Object.keys(colorVariableNames) rulesEntries .forEach(([id, eachRuleDefinition]: [string, RuleDefinition], index: number) => { - this.ruleDefinitions.push(eachRuleDefinition) - eachRuleDefinition.order = this.semanticRuleOptions.length + rulesEntriesLength - 1 - index + const eachRegisteredRule: RegisteredRule = { + id, + variables: {}, + order: this.RegisteredSemanticRules.length + rulesEntriesLength - 1 - index, + definition: eachRuleDefinition + } + this.RegisteredRules.push(eachRegisteredRule) const match = eachRuleDefinition.match - eachRuleDefinition.id = id - eachRuleDefinition.resolvedVariables = {} // todo: 不可使用 startsWith 判斷,應改為更精準的從 config.variables 取得目標變數群組,但 config.variables 中的值還沒被 resolve 像是 Array const addResolvedVariables = (prefix: string) => { for (const eachVariableName in this.variables) { if (eachVariableName.startsWith(prefix + '-') || eachVariableName.startsWith('-' + prefix + '-')) { const simplifiedName = eachVariableName.slice(prefix.length + (prefix.startsWith('-') ? 0 : 1)) - eachRuleDefinition.resolvedVariables[simplifiedName] = { + eachRegisteredRule.variables[simplifiedName] = { ...this.variables[eachVariableName], name: eachVariableName, } @@ -382,9 +391,9 @@ export class MasterCSS { if (values.length) { valueMatches.push(`(?:${values.join('|')})(?![a-zA-Z0-9-])`) } - if (Object.keys(eachRuleDefinition.resolvedVariables).length) { + if (Object.keys(eachRegisteredRule.variables).length) { valueMatches.push( - `(?:${Object.keys(eachRuleDefinition.resolvedVariables).join('|')})(?![a-zA-Z0-9-])`, + `(?:${Object.keys(eachRegisteredRule.variables).join('|')})(?![a-zA-Z0-9-])`, ) } if (eachRuleDefinition.colored) { @@ -398,9 +407,9 @@ export class MasterCSS { valueMatches.push('[\\d\\.]', '(?:max|min|calc|clamp)\\(.*\\)') } if (valueMatches.length) - eachRuleDefinition.resolvedMatch = new RegExp(`^${key}:(?:${valueMatches.join('|')})[^|]*?(?:@|$)`) + eachRegisteredRule.match = new RegExp(`^${key}:(?:${valueMatches.join('|')})[^|]*?(?:@|$)`) } else { - eachRuleDefinition.resolvedMatch = match as RegExp + eachRegisteredRule.match = match as RegExp } } }, @@ -413,25 +422,25 @@ export class MasterCSS { * @param syntax class syntax * @returns css text */ - match(syntax: string): RuleDefinition { + match(syntax: string): RegisteredRule | undefined { // 1. rules - for (const eachRuleDefinition of this.ruleDefinitions) { + for (const eachRegisteredRule of this.RegisteredRules) { if ( - eachRuleDefinition.resolvedMatch && eachRuleDefinition.resolvedMatch.test(syntax) || + eachRegisteredRule.match?.test(syntax) || ( - eachRuleDefinition.layer === Layer.Native || - eachRuleDefinition.layer === Layer.NativeShorthand || - eachRuleDefinition.layer === Layer.CoreNative || - eachRuleDefinition.layer === Layer.CoreNativeShorthand - ) && syntax.startsWith(eachRuleDefinition.id + ':') + eachRegisteredRule.definition.layer === Layer.Native || + eachRegisteredRule.definition.layer === Layer.NativeShorthand || + eachRegisteredRule.definition.layer === Layer.CoreNative || + eachRegisteredRule.definition.layer === Layer.CoreNativeShorthand + ) && syntax.startsWith(eachRegisteredRule.id + ':') ) { - return eachRuleDefinition + return eachRegisteredRule } } // 2. semantic rules - for (const eachSemanticRuleOptions of this.semanticRuleOptions) { - if (eachSemanticRuleOptions.resolvedMatch.test(syntax)) { - return eachSemanticRuleOptions + for (const EachRegisteredSemanticRule of this.RegisteredSemanticRules) { + if (EachRegisteredSemanticRule.match?.test(syntax)) { + return EachRegisteredSemanticRule } } } @@ -446,22 +455,17 @@ export class MasterCSS { if (Object.prototype.hasOwnProperty.call(this.ruleBy, eachSyntax)) return this.ruleBy[eachSyntax] - const ruleConfig = this.match(eachSyntax) - if (ruleConfig) { - return new Rule( - eachSyntax, - ruleConfig, - this - ) + const RegistedRule = this.match(eachSyntax) + if (RegistedRule) { + return new Rule(eachSyntax, RegistedRule, this) } } return ( - // `in` cannot be used Object.prototype.hasOwnProperty.call(this.styles, syntax) ? this.styles[syntax].map((eachSyntax) => create(eachSyntax)) : [create(syntax)] ) - .filter(eachRule => eachRule && eachRule.text) + .filter(eachRule => eachRule && eachRule.text) as Rule[] } /** @@ -496,15 +500,15 @@ export class MasterCSS { this.classesUsage = {} this.rules.length = 0 this.hasKeyframesRule = false - this.variablesNativeRules = undefined + this.variablesNativeRules = {} for (const keyframeName in this.animations) { const animation = this.animations[keyframeName] - animation.usage = undefined + animation.usage = 0 animation.native = undefined } for (const variableName in this.variables) { const variable = this.variables[variableName] - variable.usage = undefined + variable.usage = 0 } return this } @@ -559,6 +563,7 @@ export class MasterCSS { if (rule.variableNames) { for (const eachVariableName of rule.variableNames) { const variable = this.variables[eachVariableName] + if (!variable.usage) variable.usage = 0 if (!--variable.usage) { const removeProperty = (theme: string) => { const nativeRule = this.variablesNativeRules[theme]; @@ -571,7 +576,7 @@ export class MasterCSS { delete this.variablesNativeRules[theme] if (!variablesRule.natives.length) { this.rules.splice(0, 1) - this.variablesNativeRules = undefined + this.variablesNativeRules = {} } } } @@ -589,13 +594,14 @@ export class MasterCSS { // animations if (rule.animationNames) { - const keyframeRulesIndex = this.variablesNativeRules ? 1 : 0 + const keyframeRulesIndex = Object.keys(this.variablesNativeRules).length ? 1 : 0 const keyframeRule = this.rules[keyframeRulesIndex] for (const eachKeyframeName of rule.animationNames) { const keyframe = this.animations[eachKeyframeName] - if (!--keyframe.usage) { + if (!keyframe.usage) keyframe.usage = 0 + if (!--keyframe.usage && keyframe.native) { const nativeIndex = keyframeRule.natives.indexOf(keyframe.native) - this.style.sheet.deleteRule((this.variablesNativeRules ? Object.keys(this.variablesNativeRules).length : 0) + nativeIndex) + this.style.sheet?.deleteRule(Object.keys(this.variablesNativeRules).length + nativeIndex) keyframeRule.natives.splice(nativeIndex, 1) keyframe.native = undefined } @@ -643,7 +649,7 @@ export class MasterCSS { if (this.ruleBy[rule.className]) continue - let index: number + let index: number | undefined /** * 必須按斷點值遞增,並透過索引插入, * 以實現響應式先後套用的規則 @@ -653,7 +659,7 @@ export class MasterCSS { const endIndex = this.rules.length - 1 const { media, order, priority, hasWhere, className } = rule - const findIndex = (startIndex: number, stopCheck: (rule: Rule) => any, matchCheck?: (rule: Rule) => any) => { + const findIndex = (startIndex: number, stopCheck?: (rule: Rule) => any, matchCheck?: (rule: Rule) => any) => { let i = startIndex for (; i <= endIndex; i++) { const eachRule = this.rules[i] @@ -670,8 +676,8 @@ export class MasterCSS { : i - 1 } - let matchStartIndex: number - let matchEndIndex: number + let matchStartIndex: number | undefined + let matchEndIndex: number | undefined if (media) { const mediaStartIndex = this.rules.findIndex(eachRule => eachRule.media) if (mediaStartIndex === -1) { @@ -728,7 +734,7 @@ export class MasterCSS { } } - if (matchStartIndex !== -1) { + if (matchStartIndex !== -1 && matchStartIndex !== undefined) { const range = maxWidthFeature.value - minWidthFeature.value for (let i = matchEndIndex; i >= matchStartIndex; i--) { const { 'max-width': eachMaxWidthFeature, 'min-width': eachMinWidthFeature } = this.rules[i].media.features @@ -840,7 +846,7 @@ export class MasterCSS { } } } else { - const findStartIndex = this.variablesNativeRules + const findStartIndex = Object.keys(this.variablesNativeRules).length ? this.hasKeyframesRule ? 2 : 1 @@ -867,7 +873,7 @@ export class MasterCSS { } } - if (index === undefined) { + if (index === undefined && matchEndIndex !== undefined && matchStartIndex !== undefined) { if (matchStartIndex === -1) { index = matchEndIndex + 1 } else { @@ -916,7 +922,7 @@ export class MasterCSS { } } - this.rules.splice(index, 0, rule) + this.rules.splice(index as number, 0, rule) this.ruleBy[className] = rule // 只在瀏覽器端運行 @@ -924,29 +930,30 @@ export class MasterCSS { const sheet = this.style.sheet let cssRuleIndex = 0 - const getCssRuleIndex = (index: number) => { + const getCssRuleIndex = (index: number): void => { const previousRule = this.rules[index] if (previousRule) { if (!previousRule.natives.length) return getCssRuleIndex(index - 1) const lastNative = previousRule.natives[previousRule.natives.length - 1] - const lastNativeCssRule = lastNative.cssRule.parentRule ?? lastNative.cssRule - for (let i = 0; i < sheet.cssRules.length; i++) { - if (sheet.cssRules[i] === lastNativeCssRule) { - cssRuleIndex = i + 1 - break + const lastNativeCssRule = lastNative.cssRule?.parentRule ?? lastNative.cssRule + if (sheet) + for (let i = 0; i < sheet.cssRules.length; i++) { + if (sheet.cssRules[i] === lastNativeCssRule) { + cssRuleIndex = i + 1 + break + } } - } } } - getCssRuleIndex(index - 1) + getCssRuleIndex(index as number - 1) for (let i = 0; i < rule.natives.length;) { try { const native = rule.natives[i] - sheet.insertRule(native.text, cssRuleIndex) - native.cssRule = sheet.cssRules[cssRuleIndex++] + sheet?.insertRule(native.text, cssRuleIndex) + native.cssRule = sheet?.cssRules[cssRuleIndex++] i++ } catch (error) { console.error(error) @@ -987,7 +994,7 @@ export class MasterCSS { + '}' } - const keyframeRulesIndex = this.variablesNativeRules ? 1 : 0 + const keyframeRulesIndex = Object.keys(this.variablesNativeRules).length ? 1 : 0 let keyframeRule: Rule if (this.hasKeyframesRule) { (keyframeRule = this.rules[keyframeRulesIndex]).natives.push(nativeRule) @@ -1006,7 +1013,7 @@ export class MasterCSS { } if (sheet) { - let cssRule: CSSRule + let cssRule: CSSRule | undefined if (initializing) { for (let i = 0; i < sheet.cssRules.length; i++) { const eachCSSRule = sheet.cssRules[i] @@ -1023,7 +1030,7 @@ export class MasterCSS { if (cssRule) { nativeRule.cssRule = cssRule } else { - const cssRuleIndex = (this.variablesNativeRules ? Object.keys(this.variablesNativeRules).length : 0) + keyframeRule.natives.length - 1 + const cssRuleIndex = Object.keys(this.variablesNativeRules).length + keyframeRule.natives.length - 1 sheet.insertRule(nativeRule.text, cssRuleIndex) nativeRule.cssRule = sheet.cssRules[cssRuleIndex] } @@ -1045,10 +1052,10 @@ export class MasterCSS { variable.usage++ } else { const addProperty = (theme: string, variableValue: VariableValue) => { - let nativeRule = this.variablesNativeRules?.[theme] + let nativeRule = this.variablesNativeRules[theme] if (!nativeRule) { let cssRule: CSSStyleRule - let mediaConditionText: string + let mediaConditionText: string | undefined let selectorText: string if (theme) { @@ -1069,7 +1076,7 @@ export class MasterCSS { } if (sheet) { - const newCSSRuleIndex = this.variablesNativeRules + const newCSSRuleIndex = Object.keys(this.variablesNativeRules).length ? this.rules[0].natives.length : 0 sheet.insertRule( @@ -1084,7 +1091,7 @@ export class MasterCSS { : sheet.cssRules[newCSSRuleIndex]) as CSSStyleRule } else { const styleMap = new Map() - const style = Object.defineProperties( + const style: CSSStyleDeclaration = Object.defineProperties( {} as CSSStyleDeclaration, { getPropertyValue: { @@ -1148,18 +1155,15 @@ export class MasterCSS { } pushVariableNativeRule(theme: string, variableCSSRule: CSSStyleRule) { - if (!this.variablesNativeRules) { + if (!Object.keys(this.variablesNativeRules).length) { this.variablesNativeRules = {} - this.rules.splice( - 0, - 0, - { - natives: [], - get text() { - return this.natives.map((eachNative) => eachNative.text).join('') - } - } as Rule - ) + const newRule = { + natives: [], + get text() { + return this.natives.map((eachNative: any) => eachNative.text).join('') + } + } + this.rules.splice(0, 0, newRule as any) } let prefix = '' @@ -1187,6 +1191,12 @@ export class MasterCSS { } declare global { + // @ts-expect-error + // eslint-disable-next-line no-var + var MasterCSS: typeof MasterCSS + // eslint-disable-next-line no-var + var masterCSSs: MasterCSS[] + interface Window { MasterCSS: typeof MasterCSS masterCSSs: MasterCSS[] diff --git a/packages/css/src/functions/fill-color-scale.ts b/packages/css/src/functions/fill-color-scale.ts index 29beb18fb..e331f24e8 100644 --- a/packages/css/src/functions/fill-color-scale.ts +++ b/packages/css/src/functions/fill-color-scale.ts @@ -1,7 +1,7 @@ import { hexToRgb } from '../utils/hex-to-rgb' import { rgbToHex } from '../utils/rgb-to-hex' -export default function fillColorScale(data) { +export default function fillColorScale(data: any) { if (typeof data === 'string') { data = { '': data } } @@ -18,20 +18,20 @@ export default function fillColorScale(data) { if (!isLevelMore100 && (!hasMainRgb || Object.keys(data).length > 1)) { let startLevel = 0, - startRgb = '0' in data + startRgb: any = '0' in data ? hexToRgb(data[0]) : [0, 0, 0], - endLevel, - endRgb + endLevel: number, + endRgb: any - const newLevels = [] + const newLevels: number[] = [] const generateColor = () => { const levelDiff = endLevel - startLevel - const rgbDiff = endRgb.map((color, i) => (color - startRgb[i]) / levelDiff) + const rgbDiff = endRgb.map((color: any, i: any) => (color - startRgb[i]) / levelDiff) for (const eachNewLevel of newLevels) { const currentLevelDiff = eachNewLevel - startLevel - const newRgb = startRgb.map((color, i) => Math.round(color + rgbDiff[i] * currentLevelDiff)) - data[eachNewLevel] = '#' + rgbToHex.call(this, ...newRgb) + const newRgb = startRgb.map((color: any, i: any) => Math.round(color + rgbDiff[i] * currentLevelDiff)) + data[eachNewLevel] = '#' + rgbToHex(newRgb[0], newRgb[1], newRgb[2]) } } diff --git a/packages/css/src/functions/reorder-for-readable-classes.ts b/packages/css/src/functions/reorder-for-readable-classes.ts index 8b4b7a0f3..10f27e010 100644 --- a/packages/css/src/functions/reorder-for-readable-classes.ts +++ b/packages/css/src/functions/reorder-for-readable-classes.ts @@ -9,7 +9,6 @@ import { MasterCSS } from '../core' * @returns consistent classes */ export default function reorderForReadableClasses(classes: string[], options?: { css?: MasterCSS, config?: Config }) { - if (!classes.length) return let css: MasterCSS if (options?.css) { css = options?.css @@ -23,13 +22,13 @@ export default function reorderForReadableClasses(classes: string[], options?: { // 只保留樣式語法相關的 rules, 排除 keyframes 與 variables 在外 .filter(eachRule => eachRule.layer) .sort((a, b) => { - if (a.definition.layer === Layer.Semantic && b.definition.layer !== Layer.Semantic) { + if (a.layer === Layer.Semantic && b.layer !== Layer.Semantic) { // 如果 a 是 Layer.Semantic 而 b 不是,则 a 应该排在 b 前面 return -1 - } else if (a.definition.layer !== Layer.Semantic && b.definition.layer === Layer.Semantic) { + } else if (a.layer !== Layer.Semantic && b.layer === Layer.Semantic) { // 如果 b 是 Layer.Semantic 而 a 不是,则 b 应该排在 a 前面 return 1 - } else if (a.definition.id !== b.definition.id) { + } else if (a.id !== b.id) { return a.className.localeCompare(b.className) } else { // 檢查 vendorSuffixSelectors 是否存在 @@ -66,7 +65,7 @@ export default function reorderForReadableClasses(classes: string[], options?: { // 如果 a 和 b 的 id 相同,則按照以下規則排序 if ( - a.definition.id === b.definition.id && + a.id === b.id && a.stateToken === b.stateToken ) { return a.className.localeCompare(b.className) diff --git a/packages/css/src/polyfills/css-escape.ts b/packages/css/src/polyfills/css-escape.ts index 98de42996..1b29d6d27 100644 --- a/packages/css/src/polyfills/css-escape.ts +++ b/packages/css/src/polyfills/css-escape.ts @@ -3,7 +3,7 @@ if (!root.CSS && !root.CSS?.escape) { // https://drafts.csswg.org/cssom/#serialize-an-identifier - const cssEscape = function (value) { + const cssEscape = function (value: string) { if (arguments.length == 0) { throw new TypeError('`CSS.escape` requires an argument.') } diff --git a/packages/css/src/rule.ts b/packages/css/src/rule.ts index 3816e2fb3..5211f87fc 100644 --- a/packages/css/src/rule.ts +++ b/packages/css/src/rule.ts @@ -14,20 +14,21 @@ export class Rule { readonly order: number = 0 readonly layer: Layer = 0 readonly stateToken: string - readonly declarations: CSSDeclarations - readonly colored: boolean = false + readonly declarations?: CSSDeclarations - animationNames: string[] - variableNames: string[] + animationNames?: string[] + variableNames?: string[] constructor( public readonly className: string, - public readonly definition: RuleDefinition = {}, + RegisteredRule: RegisteredRule, public css: MasterCSS ) { - const { layer, unit, colored: configColored, analyze, transformValue, declare, transformValueComponents, create, order, id } = definition - this.order = order - this.layer = layer + Object.assign(this, RegisteredRule) + const { id, definition } = RegisteredRule + const { analyze, transformValue, declare, transformValueComponents, create, layer, unit, colored } = definition + this.layer = layer as Layer + this.colored = !!colored if (!definition.unit) definition.unit = '' if (!definition.separators) definition.separators = [','] const { scope, important, themeDriver } = css.config @@ -39,10 +40,10 @@ export class Rule { // 1. value / selectorToken this.declarations = definition.declarations let stateToken: string - let prefixToken: string - this.colored = configColored + let prefixToken: string | undefined if (layer === Layer.Semantic) { + // TODO: id 使用其他方式傳遞 stateToken = className.slice(id.length - 1) } else { let valueToken: string @@ -54,7 +55,7 @@ export class Rule { valueToken = className.slice(indexOfColon + 1) } this.valueComponents = [] - stateToken = valueToken.slice(this.parseValue(this.valueComponents, 0, valueToken, unit)) + stateToken = valueToken.slice(this.parseValue(this.valueComponents, 0, valueToken, unit, '')) } // 2. !important @@ -131,7 +132,7 @@ export class Rule { if (!vendor) continue - const newUnspacedVendorSelectors = [] + const newUnspacedVendorSelectors: string | any[] = [] for (const eachTransformedSelector of transformedSelectors) { transformSelector(eachTransformedSelector, selectorValues, newUnspacedVendorSelectors, false) } @@ -142,7 +143,7 @@ export class Rule { } const insertVendorSelectors = (vendor: string, selectorTexts: string[]) => { - const groupedSelectorTexts = selectorTexts.reduce((arr, eachSuffixSelector) => { + const groupedSelectorTexts = selectorTexts.reduce((arr: string[], eachSuffixSelector) => { arr.push(...spacedSelectorToken(eachSuffixSelector)) return arr }, []) @@ -214,7 +215,7 @@ export class Rule { } } else { for (const prefixSelectorVendor in this.vendorPrefixSelectors) { - const suffixSelectorVendors = suffixSelectorVendorsByPrefixSelectorVendor[prefixSelectorVendor] = [] + const suffixSelectorVendors: string[] = suffixSelectorVendorsByPrefixSelectorVendor[prefixSelectorVendor] = [] if (Object.prototype.hasOwnProperty.call(this.vendorSuffixSelectors, prefixSelectorVendor)) { suffixSelectorVendors.push(prefixSelectorVendor) } else { @@ -236,8 +237,8 @@ export class Rule { ) { this.direction = atToken } else { - let type: string - let queryText: string + let type = '' + let queryText: string | undefined const atRuleResult = atRuleRegExp.exec(atToken) if (atRuleResult) { @@ -248,7 +249,7 @@ export class Rule { token: atToken, features: {} } - const queryTexts = [] + const queryTexts: string[] = [] const analyzeToken = (typeOrFeatureToken: string) => { if ( @@ -369,12 +370,10 @@ export class Rule { } newValue = this.resolveValue(this.valueComponents, unit, []) if (transformValue) { - newValue = transformValue.call(this, newValue, this.css.config) + newValue = transformValue.call(this, newValue) } if (declare) { - let value: string - let unit: string - this.declarations = declare.call(this, unit ? value : newValue, unit || '') + this.declarations = declare.call(this, newValue) } else if (id) { this.declarations = { [id]: newValue @@ -382,7 +381,7 @@ export class Rule { } } - const propertiesText = [] + const propertiesText: string[] = [] for (const propertyName in this.declarations) { const push = (propertyText: string) => { // animations @@ -399,7 +398,7 @@ export class Rule { if (!this.animationNames) { this.animationNames = [] } - this.animationNames.push(...animationNames) + this.animationNames = animationNames } } @@ -409,13 +408,13 @@ export class Rule { } const prefix = propertyName + ':' - const declation = this.declarations[propertyName] - if (typeof declation === 'object') { - for (const value of declation) { + const declarations = this.declarations[propertyName] as any + if (Array.isArray(declarations)) { + for (const value of declarations) { push(prefix + value.toString()) } } else { - push(prefix + declation.toString()) + push(prefix + declarations.toString()) } } @@ -440,10 +439,10 @@ export class Rule { : '') + (scope ? scope + ' ' : '') + eachPrefixText) - .reduce((arr, eachPrefixText) => { + .reduce((arr: string[], eachPrefixText) => { arr.push( suffixSelectors - .reduce((_arr, eachSuffixSelector) => { + .reduce((_arr: string[], eachSuffixSelector) => { _arr.push(eachPrefixText + '.' + cssEscape(name) + eachSuffixSelector) return _arr }, []) @@ -502,7 +501,7 @@ export class Rule { currentValue += eachValueComponent.name + eachValueComponent.symbol + this.resolveValue(eachValueComponent.children, functionDefinition?.unit ?? unit, bypassVariableNames) - + START_SYMBOLS[eachValueComponent.symbol] + + START_SYMBOLS[eachValueComponent.symbol as keyof typeof START_SYMBOLS] } break // todo: 應挪到 parseValue 階段處理才能支援 variables: { x: 'calc(20vw-30px)' } 這種情況,並且解析上可能會比較合理、精簡 @@ -518,7 +517,7 @@ export class Rule { if (this.theme) { const themeVariable = variable.themes[this.theme] ?? variable if (themeVariable?.value) { - normalHandler(themeVariable) + normalHandler(themeVariable as any) } } else { if (!this.variableNames) { @@ -538,7 +537,7 @@ export class Rule { handleVariable( (variable) => { const valueComponents: ValueComponent[] = [] - this.parseValue(valueComponents, 0, variable.value as string, unit, undefined, undefined, [...bypassVariableNames, eachValueComponent.name]) + this.parseValue(valueComponents, 0, variable.value as string, unit, '', undefined, [...bypassVariableNames, eachValueComponent.name]) currentValue += this.resolveValue( valueComponents, unit, @@ -584,7 +583,7 @@ export class Rule { currentValue += (eachValueComponent.text || eachValueComponent.value) break case 'number': - currentValue += eachValueComponent.value + eachValueComponent.unit + currentValue += eachValueComponent.value + (eachValueComponent.unit || '') break default: currentValue += eachValueComponent.value @@ -603,8 +602,8 @@ export class Rule { i: number, value: string, unit: string, - endSymbol?: string, - parentFunctionName = undefined, + endSymbol: string, + parentFunctionName?: string, bypassVariableNames: string[] = [] ) => { const root = parentFunctionName === undefined @@ -616,7 +615,7 @@ export class Rule { const checkIsString = (value: string) => value === '\'' || value === '"' const isString = checkIsString(endSymbol) const separators = [','] - if (this.definition.separators.length) { + if (this.definition.separators?.length) { separators.push(...this.definition.separators) } @@ -626,8 +625,8 @@ export class Rule { let handled = false if (!isVarFunction || currentValueComponents.length) { const handleVariable = (variableName: string, alpha?: string) => { - const variable = Object.prototype.hasOwnProperty.call(this.definition.resolvedVariables, variableName) - ? this.definition.resolvedVariables[variableName] + const variable = Object.prototype.hasOwnProperty.call(this.variables, variableName) + ? this.variables[variableName] : Object.prototype.hasOwnProperty.call(this.css.variables, variableName) ? this.css.variables[variableName] : undefined @@ -684,7 +683,7 @@ export class Rule { currentValueComponents.push(newValueComponent) currentValue = '' - const functionDefinition = val === '(' && this.css.config.functions?.[functionName] + const functionDefinition = val === '(' ? this.css.config.functions?.[functionName] : undefined if (!this.colored && functionDefinition?.colored) { // @ts-ignore this.colored = true @@ -695,7 +694,7 @@ export class Rule { ++i, value, functionDefinition?.unit ?? unit, - START_SYMBOLS[val], + START_SYMBOLS[val as keyof typeof START_SYMBOLS], functionName || parentFunctionName || '' ) } else if ((val === '|' || val === ' ') && endSymbol !== '}' && (!isString || parentFunctionName === 'path')) { @@ -746,7 +745,7 @@ export class Rule { */ if (defaultUnit && !newUnit) { if (defaultUnit === 'rem' || defaultUnit === 'em') { - value = token / this.css.config.rootSize + value = token / (this.css.config.rootSize || 1) } newUnit = defaultUnit || '' } else { @@ -770,7 +769,7 @@ export class Rule { */ if (!newUnit) { if (defaultUnit === 'rem' || defaultUnit === 'em') { - value = value / this.css.config.rootSize + value = value / (this.css.config.rootSize || 1) } newUnit = defaultUnit || '' } @@ -794,35 +793,33 @@ export interface FunctionValueComponent { text?: string, token?: string, type: ' export interface VariableValueComponent { text?: string, token?: string, type: 'variable', name: string, alpha?: string, fallback?: string, variable?: Variable } export interface SeparatorValueComponent { text?: string, type: 'separator', value: string } -export interface Rule { - prefix?: string - token?: string - vendorPrefixSelectors?: Record - vendorSuffixSelectors?: Record - important?: boolean - media?: MediaQuery - direction?: string - theme?: string - unitToken?: string - hasWhere?: boolean - valueComponents?: Array - constructor: { - match?( - name: string, - matches: RegExp, - colors: Record>, - colorNames: string[] - ): RuleMeta - } +export interface Rule extends RegisteredRule { + colored: boolean + prefix: string + token: string + vendorPrefixSelectors: Record + vendorSuffixSelectors: Record + important: boolean + media: MediaQuery + direction: string + theme: string + unitToken: string + hasWhere: boolean + valueComponents: Array +} + +export interface RegisteredRule { + id: string + match?: RegExp + variables?: any + order: number + definition: RuleDefinition } export interface RuleDefinition { - id?: string + layer?: Layer match?: RegExp | [string, string[]?] - resolvedMatch?: RegExp - resolvedVariables?: any variables?: string[] - order?: number separators?: string[] shorthand?: string colored?: boolean @@ -830,11 +827,10 @@ export interface RuleDefinition { unit?: any native?: boolean declarations?: CSSDeclarations - layer?: Layer, analyze?: (this: Rule, className: string) => [valueToken: string, prefixToken?: string] transformValue?(this: Rule, value: string): string transformValueComponents?(this: Rule, valueComponents: ValueComponent[]): ValueComponent[] - declare?(this: Rule, value: string, unit: string): CSSDeclarations + declare?(this: Rule, value: string): CSSDeclarations delete?(this: Rule, className: string): void create?(this: Rule, className: string): void insert?(this: Rule): void @@ -855,13 +851,8 @@ export type MediaFeatureComponent = { export interface MediaQuery { token: string; - features?: { + features: { [key: string]: MediaFeatureComponent } type?: string; -} - -export interface RuleMeta { - value?: [string, string | Record] - config?: RuleDefinition } \ No newline at end of file diff --git a/packages/css/src/runtime.ts b/packages/css/src/runtime.ts index 85fc568dd..fe5a7660f 100644 --- a/packages/css/src/runtime.ts +++ b/packages/css/src/runtime.ts @@ -8,8 +8,7 @@ export class RuntimeCSS extends MasterCSS { readonly host: Element readonly observing = false readonly container: HTMLElement | ShadowRoot - readonly styleSheets: StyleSheetList - observer: MutationObserver + observer?: MutationObserver | null constructor( public root: Document | ShadowRoot | undefined | null = document, public customConfig: Config = defaultConfig @@ -23,9 +22,7 @@ export class RuntimeCSS extends MasterCSS { } else { this.container = this.root as RuntimeCSS['container'] this.host = (this.root as ShadowRoot).host - this.styleSheets = this.root.styleSheets } - this.styleSheets = this.root.styleSheets globalThis.runtimeCSSs.push(this) } @@ -35,21 +32,23 @@ export class RuntimeCSS extends MasterCSS { * @returns this */ observe(options: MutationObserverInit = { subtree: true, childList: true }) { - if (this.observing) return + if (this.observing || !this.root) return this if (globalThis.runtimeCSSs.find((eachRuntimeCSS) => eachRuntimeCSS !== this && eachRuntimeCSS.root === this.root)) { console.warn('Cannot observe the same root element repeatedly.') - return + return this } - for (const sheet of this.styleSheets) { - const { ownerNode } = sheet - if (ownerNode && (ownerNode as HTMLStyleElement).id === 'master') { - // @ts-ignore - this.style = ownerNode - break + + if (this.root?.styleSheets) + for (const sheet of this.root.styleSheets) { + const { ownerNode } = sheet + if (ownerNode && (ownerNode as HTMLStyleElement).id === 'master') { + // @ts-ignore + this.style = ownerNode + break + } } - } - if (this.style) { + if (this.style?.sheet) { let index = 0 for (; index < this.style.sheet.cssRules.length; index++) { const eachCSSRule = this.style.sheet.cssRules[index] @@ -106,7 +105,7 @@ export class RuntimeCSS extends MasterCSS { } for (; index < this.style.sheet.cssRules.length; index++) { - const getRule = (cssRule: any): Rule => { + const getRule = (cssRule: any): Rule | undefined => { if (cssRule.selectorText) { const selectorTexts = cssRule.selectorText.split(', ') const escapedClassNames = selectorTexts[0].split(' ') @@ -206,7 +205,7 @@ export class RuntimeCSS extends MasterCSS { this.observer = new MutationObserver((mutationRecords) => { // console.time('css engine'); - const correctionOfClassName = {} + const correctionOfClassName: Record = {} const attributeMutationRecords: MutationRecord[] = [] const updatedElements: Element[] = [] const unchangedElements: Element[] = [] @@ -369,7 +368,7 @@ export class RuntimeCSS extends MasterCSS { attributeFilter: ['class'], }); - (this.host as HTMLElement).style.display = null + (this.host as HTMLElement).style.removeProperty('display') // @ts-ignore this.observing = true return this @@ -418,6 +417,16 @@ export class RuntimeCSS extends MasterCSS { } declare global { + // @ts-expect-error + // eslint-disable-next-line no-var + var RuntimeCSS: typeof RuntimeCSS + // eslint-disable-next-line no-var + var masterCSSConfig: Config + // eslint-disable-next-line no-var + var runtimeCSSs: RuntimeCSS[] + // eslint-disable-next-line no-var + var runtimeCSS: RuntimeCSS + interface Window { RuntimeCSS: typeof RuntimeCSS masterCSSConfig: Config diff --git a/packages/css/src/types/css-declarations.ts b/packages/css/src/types/css-declarations.ts index 5f0033af2..59a9a3033 100644 --- a/packages/css/src/types/css-declarations.ts +++ b/packages/css/src/types/css-declarations.ts @@ -1,3 +1,3 @@ import { PropertiesHyphen } from 'csstype' -export type CSSDeclarations = { [key in keyof PropertiesHyphen]?: PropertiesHyphen[key] } +export type CSSDeclarations = { [key in keyof PropertiesHyphen]: PropertiesHyphen[key] } & { [key: string]: string } diff --git a/packages/css/src/utils/extend-config.ts b/packages/css/src/utils/extend-config.ts index 8b7744461..8cc3a5915 100644 --- a/packages/css/src/utils/extend-config.ts +++ b/packages/css/src/utils/extend-config.ts @@ -49,7 +49,7 @@ export function extendConfig(...configs: Config[]) { for (let i = 1; i < formattedConfigs.length; i++) { const currentFormattedConfig = formattedConfigs[i] extendedConfig = extend(extendedConfig, currentFormattedConfig) - if (Object.prototype.hasOwnProperty.call(currentFormattedConfig, 'animations')) { + if (Object.prototype.hasOwnProperty.call(currentFormattedConfig, 'animations') && extendedConfig.animations) { Object.assign(extendedConfig.animations, currentFormattedConfig.animations) } } diff --git a/packages/css/src/utils/flatten-object.ts b/packages/css/src/utils/flatten-object.ts index 0841eed02..3aad226cf 100644 --- a/packages/css/src/utils/flatten-object.ts +++ b/packages/css/src/utils/flatten-object.ts @@ -1,5 +1,5 @@ export function flattenObject(obj: Record, parentKey = ''): Record { - return Object.entries(obj).reduce((acc, [key, value]) => { + return Object.entries(obj).reduce((acc: Record, [key, value]) => { const currentKey = parentKey ? `${parentKey}${key ? '-' + key : ''}` : key diff --git a/packages/css/src/utils/hex-to-rgb.ts b/packages/css/src/utils/hex-to-rgb.ts index 920d94b99..58520c190 100644 --- a/packages/css/src/utils/hex-to-rgb.ts +++ b/packages/css/src/utils/hex-to-rgb.ts @@ -3,7 +3,10 @@ export function hexToRgb(hex: string) { hex = hex.slice(1) } - let r: number, g: number, b: number, a: number + let r: number | undefined + let g: number | undefined + let b: number | undefined + let a: number | undefined if (hex.length === 3 || hex.length === 4) { r = parseInt(hex[0] + hex[0], 16) g = parseInt(hex[1] + hex[1], 16) @@ -15,6 +18,6 @@ export function hexToRgb(hex: string) { b = parseInt(hex.slice(4, 6), 16) a = (hex.length === 8) ? Math.round(parseInt(hex.slice(6, 8), 16) / 255 * 100) / 100 : 1 } - + return [r, g, b, a] } \ No newline at end of file diff --git a/packages/css/src/utils/rgb-to-hex.ts b/packages/css/src/utils/rgb-to-hex.ts index 2b3a5240b..fce2c90b9 100644 --- a/packages/css/src/utils/rgb-to-hex.ts +++ b/packages/css/src/utils/rgb-to-hex.ts @@ -1,3 +1,3 @@ -export function rgbToHex(r, g, b) { +export function rgbToHex(r: number, g: number, b: number) { return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1) } \ No newline at end of file diff --git a/packages/eslint-plugin/tsconfig.json b/packages/eslint-plugin/tsconfig.json index c338512b3..49aa4055e 100644 --- a/packages/eslint-plugin/tsconfig.json +++ b/packages/eslint-plugin/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "src", - "moduleResolution": "Node" + "moduleResolution": "Node", + "strict": false }, "include": [ "src/**/*" diff --git a/packages/extractor.vite/package.json b/packages/extractor.vite/package.json index 933f14fb5..9f2949a05 100644 --- a/packages/extractor.vite/package.json +++ b/packages/extractor.vite/package.json @@ -47,5 +47,8 @@ "@master/css": "workspace:^", "@master/css-extractor": "workspace:^", "lodash.debounce": "^4.0.8" + }, + "devDependencies": { + "@types/lodash.debounce": "^4.0.9" } } \ No newline at end of file diff --git a/packages/extractor.vite/src/plugins/pre-insertion.ts b/packages/extractor.vite/src/plugins/pre-insertion.ts index 1c8e15a12..44f1383b8 100644 --- a/packages/extractor.vite/src/plugins/pre-insertion.ts +++ b/packages/extractor.vite/src/plugins/pre-insertion.ts @@ -1,6 +1,6 @@ import CSSExtractor from '@master/css-extractor' import type { Plugin, ViteDevServer } from 'vite' -import { exists, existsSync, readFileSync } from 'fs' +import { existsSync, readFileSync } from 'fs' import debounce from 'lodash.debounce' /** @@ -74,7 +74,7 @@ export default function PreInsertionPlugin( }, configureServer(devServer) { const resetHandler = async () => { - const tasks = [] + const tasks: any[] = [] /* 1. fixed sources */ tasks.push(await extractor.prepare()) /* 2. transform index.html */ @@ -82,17 +82,18 @@ export default function PreInsertionPlugin( tasks.push(extractor.insert(transformedIndexHTMLModule.id, transformedIndexHTMLModule.code)) } /* 3. transformed modules */ - const resolvedVirtualModuleId = extractor.resolvedVirtualModuleId tasks.concat( Array.from(server.moduleGraph.idToModuleMap.keys()) .filter((eachModuleId) => eachModuleId !== extractor.resolvedVirtualModuleId) .map(async (eachModuleId: string) => { const eachModule = server.moduleGraph.idToModuleMap.get(eachModuleId) - let eachModuleCode = eachModule.transformResult?.code - if (typeof eachModuleCode !== 'string' && !eachModule.file.startsWith('virtual:') && existsSync(eachModule.file)) { - eachModuleCode = readFileSync(eachModule.file, 'utf-8') + let eachModuleCode = eachModule?.transformResult?.code + if (eachModule && eachModuleCode) { + if (eachModule.file && typeof eachModuleCode !== 'string' && !eachModule.file.startsWith('virtual:') && existsSync(eachModule.file)) { + eachModuleCode = readFileSync(eachModule.file, 'utf-8') + } + await extractor.insert(eachModuleId, eachModuleCode) } - await extractor.insert(eachModuleId, eachModuleCode) }) ) await Promise.all(tasks) diff --git a/packages/extractor.vite/src/plugins/virtual-css-module.ts b/packages/extractor.vite/src/plugins/virtual-css-module.ts index f3b71f34f..01f7a6ac0 100644 --- a/packages/extractor.vite/src/plugins/virtual-css-module.ts +++ b/packages/extractor.vite/src/plugins/virtual-css-module.ts @@ -42,10 +42,11 @@ export default function VirtualCSSModulePlugins( for (const eachCssFileName of cssFileNames) { const chunk = bundle[eachCssFileName] if (chunk.type === 'asset') { + // @ts-expect-error bundle[eachCssFileName]['source'] = bundle[eachCssFileName]['source'].replace(extractor.slotCSSRule, extractor.css.text) } } - return null + return } } as Plugin ] diff --git a/packages/extractor.webpack/src/index.ts b/packages/extractor.webpack/src/index.ts index cc8aa53bd..4f90b0d15 100644 --- a/packages/extractor.webpack/src/index.ts +++ b/packages/extractor.webpack/src/index.ts @@ -8,7 +8,7 @@ const NAME = 'MasterCSSExtractorPlugin' export class CSSExtractorPlugin extends CSSExtractor { initialized = false - moduleContentByPath = {} + moduleContentByPath: any = {} apply(compiler: Compiler) { if (!this.initialized) { @@ -47,8 +47,10 @@ export class CSSExtractorPlugin extends CSSExtractor { compiler.hooks.thisCompilation.tap(NAME, (compilation) => { compilation.hooks.succeedModule.tap(NAME, async (module) => { + // @ts-expect-error const modulePath = module['resourceResolveData']?.['path'] || module['resource'] if (modulePath) { + // @ts-expect-error const moduleSource = module['_source'] const moduleContent = moduleSource?.source() this.moduleContentByPath[modulePath] = moduleContent diff --git a/packages/extractor/src/actions/main.ts b/packages/extractor/src/actions/main.ts index 61a8b40e1..aeeabe925 100644 --- a/packages/extractor/src/actions/main.ts +++ b/packages/extractor/src/actions/main.ts @@ -9,22 +9,22 @@ module.exports = async function action(specifiedSourcePaths: string[], options?: cwd?: string, options?: string | string[] | Options }): Promise { - const { watch, output, verbose, cwd, options: customOptions } = options + const { watch, output, verbose, cwd, options: customOptions } = options || {} const extractor = new CSSExtractor(customOptions, cwd) extractor.on('init', (options: Options) => { if (specifiedSourcePaths?.length) { options.include = [] options.exclude = [] } else { - if (!options.exclude.includes('**/node_modules/**')) { - options.exclude.push('**/node_modules/**') + if (!options.exclude?.includes('**/node_modules/**')) { + options.exclude?.push('**/node_modules/**') } - if (!options.exclude.includes('node_modules')) { - options.exclude.push('node_modules') + if (!options.exclude?.includes('node_modules')) { + options.exclude?.push('node_modules') } } options.output = output - options.verbose = +verbose || options.verbose + options.verbose = +(verbose || 0) || options.verbose }) extractor.init() const insert = async () => { @@ -43,7 +43,7 @@ module.exports = async function action(specifiedSourcePaths: string[], options?: const reset = async () => { await insert() /* If the specified source does not exist, watch the .include - .exclude */ - if (!specifiedSourcePaths?.length) { + if (!specifiedSourcePaths?.length && extractor.options.include) { await extractor.watchSource(extractor.options.include, { ignored: extractor.options.exclude }) } } @@ -73,4 +73,4 @@ module.exports = async function action(specifiedSourcePaths: string[], options?: extractor.export() } return extractor -} \ No newline at end of file +} \ No newline at end of file diff --git a/packages/extractor/src/core.ts b/packages/extractor/src/core.ts index fb77acf9a..9c3e41748 100644 --- a/packages/extractor/src/core.ts +++ b/packages/extractor/src/core.ts @@ -15,11 +15,9 @@ import { explorePathsSync, explorePathSync } from '@techor/glob' import path from 'path' export default class CSSExtractor extends EventEmitter { - css: MasterCSS latentClasses = new Set() validClasses = new Set() invalidClasses = new Set() - options: Options watching = false watchers: chokidar.FSWatcher[] = [] @@ -42,7 +40,7 @@ export default class CSSExtractor extends EventEmitter { } else { this.options = extend(defaultOptions, customOptions) } - if (this.options.verbose > 1) { + if (this.options.verbose && this.options.verbose > 1) { log.ok`**options**` log.tree(this.options) log`` @@ -50,7 +48,7 @@ export default class CSSExtractor extends EventEmitter { this.css = new MasterCSS( typeof this.options.config === 'object' ? this.options.config - : (exploreConfig(this.options.config, { cwd: this.cwd }) || {}) + : (exploreConfig(this.options.config as string, { cwd: this.cwd }) || {}) ) this.emit('init', this.options, this.config) return this @@ -145,19 +143,20 @@ export default class CSSExtractor extends EventEmitter { /* 排除指定的 class */ if (this.options.classes?.ignored?.length) latentClasses = latentClasses.filter((eachLatentClass) => { - for (const eachIgnoreClass of this.options.classes.ignored) { - if (typeof eachIgnoreClass === 'string') { - if (eachIgnoreClass === eachLatentClass) return false - } else if (eachIgnoreClass.test(eachLatentClass)) { - return false + if (this.options.classes?.ignored) + for (const eachIgnoreClass of this.options.classes.ignored) { + if (typeof eachIgnoreClass === 'string') { + if (eachIgnoreClass === eachLatentClass) return false + } else if (eachIgnoreClass.test(eachLatentClass)) { + return false + } } - } return true }) let time = process.hrtime() /* 根據類名尋找並插入規則 ( MasterCSS 本身帶有快取機制,重複的類名不會再編譯及產生 ) */ - const validClasses = [] + const validClasses: string[] = [] await Promise.all( latentClasses @@ -191,7 +190,7 @@ export default class CSSExtractor extends EventEmitter { return Promise.all(sources.map((eachRelPaths) => this.insertFile(eachRelPaths))) } - export(filename = this.options.module) { + export(filename = this.options.module as string) { const filepath = path.resolve(this.cwd, filename) const dir = path.dirname(filepath) if (!fs.existsSync(dir)) { @@ -318,15 +317,18 @@ export default class CSSExtractor extends EventEmitter { source = source.split('?')[0] } const { include, exclude, sources } = this.options - for (const eachSource of sources) { - if (minimatch(source, eachSource, { dot: true })) return true - } - for (const eachIncludePattern of include) { - if (!minimatch(source, eachIncludePattern, { dot: true })) return false - } - for (const eachExcludePattern of exclude) { - if (minimatch(source, eachExcludePattern, { dot: true })) return false - } + if (sources) + for (const eachSource of sources) { + if (minimatch(source, eachSource, { dot: true })) return true + } + if (include) + for (const eachIncludePattern of include) { + if (!minimatch(source, eachIncludePattern, { dot: true })) return false + } + if (exclude) + for (const eachExcludePattern of exclude) { + if (minimatch(source, eachExcludePattern, { dot: true })) return false + } return true } @@ -340,7 +342,7 @@ export default class CSSExtractor extends EventEmitter { /** * computed from string `options.config` */ - get configPath(): string { + get configPath(): string | undefined { if (typeof this.options.config === 'string' || Array.isArray(this.options.config)) { return explorePathSync(this.options.config, { cwd: this.cwd }) } @@ -349,7 +351,7 @@ export default class CSSExtractor extends EventEmitter { /** * computed from string `options.config` */ - get resolvedConfigPath(): string { + get resolvedConfigPath(): string | undefined { const configPath = this.configPath if (configPath) { return path.resolve(this.cwd, configPath) @@ -359,7 +361,7 @@ export default class CSSExtractor extends EventEmitter { /** * computed from string `customOptions` */ - get optionsPath(): string { + get optionsPath(): string | undefined { if (typeof this.customOptions === 'string' || Array.isArray(this.customOptions)) { return explorePathSync(this.customOptions, { cwd: this.cwd }) } @@ -368,7 +370,7 @@ export default class CSSExtractor extends EventEmitter { /** * computed from string `customOptions` */ - get resolvedOptionsPath(): string { + get resolvedOptionsPath(): string | undefined { const optionsPath = this.optionsPath if (optionsPath) { return path.resolve(this.cwd, optionsPath) @@ -380,6 +382,11 @@ export default class CSSExtractor extends EventEmitter { } get slotCSSRule(): string { - return '#' + cssEscape(this.options.module) + '{--slot:0}' + return '#' + cssEscape(this.options.module as string) + '{--slot:0}' } } + +export default interface CSSExtractor { + css: MasterCSS + options: Options +} diff --git a/packages/extractor/src/functions/extract-latent-classes.ts b/packages/extractor/src/functions/extract-latent-classes.ts index 0f1535059..a587cc8d5 100644 --- a/packages/extractor/src/functions/extract-latent-classes.ts +++ b/packages/extractor/src/functions/extract-latent-classes.ts @@ -35,16 +35,14 @@ const splitStringByQuotation = (content: string) => { return blocks } -const trimString = (content: string) => { +const trimString = (content: string): string => { const originContent = content - content = keepCompleteStringAndProcessContent( content, c => c .replace(/^[^:@~(]*(??)=/, '') .replace(/[([{\\:#=.]+$/, '') ) - if (originContent === content || !content) { return content } else { @@ -58,7 +56,7 @@ const findCompleteString = (content: string) => { return completeStrings } -const replaceCompleteString = (content: string, completeStrings: string[]) => { +const replaceCompleteString = (content: string, completeStrings: string[] | null) => { completeStrings?.forEach((completeString, index) => { content = content.replace(completeString, `COMPLETE-STRING--${index}--`) }) @@ -79,7 +77,7 @@ const keepCompleteStringAndProcessContent = (content: string, process: (content: const peelCompleteString = (content: string) => { const strings = new Set() const stringRegx = /((? { const completeStrings = findCompleteString(content) const checkContent: string = replaceCompleteString(content, completeStrings) const groupRegx = /{(.*)}/ - let m: RegExpExecArray + let m: RegExpExecArray | null while ((m = groupRegx.exec(checkContent)) !== null) { const groupClasses = m[1].split(';') return groupClasses.find(x => needExclude(x)) !== undefined diff --git a/packages/language-service/src/providers/color.ts b/packages/language-service/src/providers/color.ts index b76dc906d..08d722744 100644 --- a/packages/language-service/src/providers/color.ts +++ b/packages/language-service/src/providers/color.ts @@ -156,7 +156,7 @@ function parseColorString(colorString: string, theme: string, css: MasterCSS = n function getColorsRGBA(colorName: string, colorAlpha = 1, theme = '', css: MasterCSS = new MasterCSS()): Color { try { // todo: refactor colorNumberMap - const colorNumberMap = css.variables[colorName] + const colorNumberMap: any = css.variables[colorName] const levelRgb = hexToRgb(colorNumberMap[theme] ?? colorNumberMap[''] ?? Object.values(colorNumberMap)[0]) return { red: levelRgb.red / 255, green: levelRgb.green / 255, blue: levelRgb.blue / 255, alpha: colorAlpha } diff --git a/packages/language-service/src/providers/completion.ts b/packages/language-service/src/providers/completion.ts index e5cf81495..7416f1627 100644 --- a/packages/language-service/src/providers/completion.ts +++ b/packages/language-service/src/providers/completion.ts @@ -11,7 +11,9 @@ import { import type { CompletionItem, CompletionItemKind } from 'vscode-languageserver-types' import type { Position, TextDocument } from 'vscode-languageserver-textdocument' import { MasterCSS } from '@master/css' +// @ts-expect-error import { cssData } from 'vscode-css-languageservice/lib/umd/data/webCustomData' +// @ts-expect-error import { CSSDataProvider } from 'vscode-css-languageservice/lib/umd/languageFacts/dataProvider' let cssKeys: Array = [] @@ -132,7 +134,7 @@ export function getCompletionItem(instance: string, triggerKey: string, isStart: masterCssKeyValues.forEach(x => { const fullKey = x.key[0] - const originalCssProperty = cssProperties.find(x => x.name == fullKey) + const originalCssProperty = cssProperties.find((x: { name: string }) => x.name == fullKey) const originalCssValues = originalCssProperty?.values ?? [] for (const masterKey of x.key) { if (!masterCssKeyCompletionItems.find(existedValue => existedValue.label === masterKey + ':')) { @@ -158,13 +160,13 @@ export function getCompletionItem(instance: string, triggerKey: string, isStart: masterCssValues = masterCssValues.concat( originalCssValues - .filter((cssValue, index) => cssValue.description || (!cssValue.description && originalCssValues.indexOf(cssValue) === index)) - .map(cssValue => ({ + .filter((cssValue: { description: any }, index: any) => cssValue.description || (!cssValue.description && originalCssValues.indexOf(cssValue) === index)) + .map((cssValue: { name: string; description: any }) => ({ label: cssValue.name.replace(/,\s/g, ',').replace(/\s/g, '|').replace(/["']/g, ''), kind: 10, documentation: cssValue?.description ?? '' } as CompletionItem)) - .filter(cssValue => + .filter((cssValue: { label: any }) => !masterCssValues.find(existedValue => (typeof existedValue === 'string' ? existedValue : existedValue.label) === (typeof cssValue === 'string' ? cssValue : cssValue.label)) ) ) diff --git a/packages/language-service/src/providers/hover.ts b/packages/language-service/src/providers/hover.ts index 6220e8f74..a35cf1c40 100644 --- a/packages/language-service/src/providers/hover.ts +++ b/packages/language-service/src/providers/hover.ts @@ -1,9 +1,12 @@ import type { Hover, Range } from 'vscode-languageserver-types' import MasterCSS from '@master/css' -import { css_beautify } from 'js-beautify/js/lib/beautify-css' import { getCssEntryMarkdownDescription } from '../utils/get-css-entry-markdown-description' import { masterCssKeyValues } from '../constant' +// @ts-expect-error +import { css_beautify } from 'js-beautify/js/lib/beautify-css' +// @ts-expect-error import { cssData } from 'vscode-css-languageservice/lib/umd/data/webCustomData' +// @ts-expect-error import { CSSDataProvider } from 'vscode-css-languageservice/lib/umd/languageFacts/dataProvider' export function doHover(instance: string, range: Range, config?: any): Hover | null { @@ -51,9 +54,9 @@ function getCssHoverInfo(instance: string) { let cssHoverInfo: any = null for (const masterCssKeyValue of masterCssKeyValues) { const fullKey = masterCssKeyValue.key[0] - const originalCssProperty = cssProperties.find(x => x.name == fullKey) + const originalCssProperty = cssProperties.find((x: { name: string }) => x.name == fullKey) if (masterCssKeyValue.key.includes(masterKey) && originalCssProperty) { - if (!originalCssProperty.references?.find(x => x.name === 'Master Reference')) { + if (!originalCssProperty.references?.find((x: { name: string }) => x.name === 'Master Reference')) { originalCssProperty.references = [ ...(originalCssProperty?.references ?? []), { diff --git a/packages/language-service/src/utils/oklab-to-rgb.ts b/packages/language-service/src/utils/oklab-to-rgb.ts index 901bd5cea..0378e9569 100644 --- a/packages/language-service/src/utils/oklab-to-rgb.ts +++ b/packages/language-service/src/utils/oklab-to-rgb.ts @@ -1,18 +1,18 @@ -export function oklabToRgb([L, a, b]): any { +export function oklabToRgb([L, a, b]: any): any { let l = L + a * +0.3963377774 + b * +0.2158037573 let m = L + a * -0.1055613458 + b * -0.0638541728 let s = L + a * -0.0894841775 + b * -1.2914855480 - + l = l ** 3; m = m ** 3; s = s ** 3 let red = l * +4.0767416621 + m * -3.3077115913 + s * +0.2309699292 let green = l * -1.2684380046 + m * +2.6097574011 + s * -0.3413193965 let blue = l * -0.0041960863 + m * -0.7034186147 + s * +1.7076147010 - + red = 255 * linearToGamma(red) green = 255 * linearToGamma(green) blue = 255 * linearToGamma(blue) - + red = clamp(red, 0, 255) green = clamp(green, 0, 255) blue = clamp(blue, 0, 255) diff --git a/packages/language-service/src/utils/oklch-to-oklab.ts b/packages/language-service/src/utils/oklch-to-oklab.ts index 9e193e087..a3a71241f 100644 --- a/packages/language-service/src/utils/oklch-to-oklab.ts +++ b/packages/language-service/src/utils/oklch-to-oklab.ts @@ -1,5 +1,5 @@ -export function oklchToOklab([l, c, h]): any { +export function oklchToOklab([l, c, h]: any): any { return [ l, c * Math.cos(h * Math.PI / 180), diff --git a/packages/react/src/CSSProvider.tsx b/packages/react/src/CSSProvider.tsx index fd01297ed..1aab4782e 100644 --- a/packages/react/src/CSSProvider.tsx +++ b/packages/react/src/CSSProvider.tsx @@ -13,7 +13,7 @@ export function CSSProvider({ children, config, root }: { }) { const [runtimeCSS, setRuntimeCSS] = useState(); (typeof window !== 'undefined' ? useLayoutEffect : useEffect)(() => { - let newRuntimeCSS: RuntimeCSS = globalThis.runtimeCSSs?.find((eachCSS) => eachCSS.root === root) + let newRuntimeCSS: RuntimeCSS | undefined = globalThis.runtimeCSSs?.find((eachCSS) => eachCSS.root === root) if (newRuntimeCSS) { setRuntimeCSS(newRuntimeCSS) } else if (!runtimeCSS) { diff --git a/packages/react/src/ThemeServiceProvider.tsx b/packages/react/src/ThemeServiceProvider.tsx index 65a35a3f2..475e56f9b 100644 --- a/packages/react/src/ThemeServiceProvider.tsx +++ b/packages/react/src/ThemeServiceProvider.tsx @@ -6,7 +6,7 @@ import { Context, createContext, DependencyList, EffectCallback, useCallback, us const useIsomorphicEffect: (effect: EffectCallback, deps?: DependencyList) => void = typeof window !== 'undefined' ? useLayoutEffect : useEffect -export const ThemeServiceContext: Context = createContext(null) +export const ThemeServiceContext: Context = createContext(null) export function useThemeService() { return useContext(ThemeServiceContext) diff --git a/packages/react/src/styled.tsx b/packages/react/src/styled.tsx index f503548e8..8d689832e 100644 --- a/packages/react/src/styled.tsx +++ b/packages/react/src/styled.tsx @@ -44,7 +44,7 @@ export const styled: { //@ts-ignore , E extends object = object>(firstParam: F, ...params: F extends React.ComponentType ? ParamsType<'div', RE & E> : never): F extends React.ComponentType ? ReturnType> : never } = new Proxy( - ((firstParam, ...params) => { + ((firstParam: any, ...params: any[]) => { return (Array.isArray(firstParam) && 'raw' in firstParam || typeof firstParam !== 'object' || !('render' in firstParam)) ? styled.div(firstParam as any, ...params) : handle(firstParam.tag ?? firstParam, firstParam.params, firstParam.displayName) @@ -59,8 +59,8 @@ export const styled: { } ) -function handle, E extends object = object>(Tag: K, tagParams: TagParams, displayName: string, defaultProps?: Partial) { - return (...params: any[]) => { +function handle, E extends object = object>(Tag: K, tagParams: TagParams = [], displayName: string, defaultProps?: Partial) { + return (...params: any[]): any => { const generateFunctionComponent = (defaultClassNames: TemplateStringsArray, ...params: any[]) => { const newTagParams: TagParams = [...(tagParams || []), [defaultClassNames, params]] const component = forwardRef>((props, ref) => { @@ -149,7 +149,7 @@ function handle, E ex } unhandledTagParams.push([eachNewTagParam[0], newParams]) } - + for (let i = unhandledTagParams.length - 1; i >= 0; i--) { const eachHandledTagParam = unhandledTagParams[i] classNames.push(cv(eachHandledTagParam[0], ...eachHandledTagParam[1])(props)) @@ -174,7 +174,7 @@ function handle, E ex } const firstParam = params[0] - let newTagParams = tagParams || [] + let newTagParams = tagParams if (firstParam.params) { newTagParams = [...newTagParams, ...firstParam.params] } @@ -184,8 +184,8 @@ function handle, E ex } else if (typeof firstParam === 'object' && 'render' in firstParam) { return handle(Tag, newTagParams, firstParam.displayName, firstParam.defaultProps) } else { - const templateStringsArray = [] - const newParams = [] + const templateStringsArray: any[] = [] + const newParams: any[] = [] for (const eachParam of params) { (typeof eachParam === 'string' ? templateStringsArray : newParams).push(eachParam) } diff --git a/packages/renderer/package.json b/packages/renderer/package.json index 5d0dacf45..a40767b7b 100644 --- a/packages/renderer/package.json +++ b/packages/renderer/package.json @@ -51,6 +51,7 @@ "pretty-hrtime": "^1.0.3" }, "devDependencies": { + "@types/pretty-hrtime": "^1.0.3", "css-shared": "workspace:^", "ts-jest": "^29.0.5" } diff --git a/packages/renderer/src/actions/main.ts b/packages/renderer/src/actions/main.ts index 03f429f6c..c91ff391d 100644 --- a/packages/renderer/src/actions/main.ts +++ b/packages/renderer/src/actions/main.ts @@ -3,8 +3,9 @@ import type { Pattern } from 'fast-glob' import prettyHartime from 'pretty-hrtime' import { explorePathsSync } from '@techor/glob' import exploreConfig from 'explore-config' -import { readFile, writeFile, writeFileSync } from 'fs' +import { readFile, writeFileSync } from 'fs' import { brotliCompressSync } from 'zlib' +// @ts-expect-error import bytes from 'bytes' import { render } from '@master/css-server' diff --git a/packages/server.nitro/src/create-css-server-plugin.ts b/packages/server.nitro/src/create-css-server-plugin.ts index fc0c19b25..2d1d5918f 100644 --- a/packages/server.nitro/src/create-css-server-plugin.ts +++ b/packages/server.nitro/src/create-css-server-plugin.ts @@ -1,11 +1,11 @@ import type { Config } from '@master/css' import { render } from '@master/css-server' -import type { NitroAppPlugin, RenderResponse } from 'nitropack' +import type { NitroAppPlugin } from 'nitropack' export default function createCSSServerPlugin(options?: { config: Config }) { return async function (nitro) { - nitro.hooks.hook('render:response', async (response: RenderResponse) => { - if (typeof response.body === 'string' && (response.headers['Content-Type'] || response.headers['content-type'])?.includes('html')) { + nitro.hooks.hook('render:response', async (response) => { + if (typeof response.body === 'string' && (response.headers?.['Content-Type'] || response.headers?.['content-type'])?.includes('html')) { const { html } = render(response.body, options?.config) response.body = html } diff --git a/packages/server/src/parse-html.ts b/packages/server/src/parse-html.ts index 09a17042e..5c729e279 100644 --- a/packages/server/src/parse-html.ts +++ b/packages/server/src/parse-html.ts @@ -5,8 +5,7 @@ import { parse, type HTMLElement } from 'node-html-parser' * @returns {classes from html, root element} */ export default function parseHTML(html: string): { classes: string[], root: HTMLElement } { - if (!html) return - const classes = [] + const classes: string[] = [] const root = parse(html, { comment: true }) root.querySelectorAll('[class]').forEach(element => { const className = element.getAttribute('class') diff --git a/packages/server/src/render.ts b/packages/server/src/render.ts index c3042b821..1239c76f7 100644 --- a/packages/server/src/render.ts +++ b/packages/server/src/render.ts @@ -9,7 +9,6 @@ import parseHTML from './parse-html' * @param config */ export default function render(html: string, config?: Config): { html: string, root: HTMLElement, css?: MasterCSS, classes?: string[] } { - if (!html) return const { classes, root } = parseHTML(html) if (!classes.length) return { html, root, classes } const css = new MasterCSS(config) diff --git a/packages/theme-service/src/core.ts b/packages/theme-service/src/core.ts index 73bad34cd..9b0871c77 100644 --- a/packages/theme-service/src/core.ts +++ b/packages/theme-service/src/core.ts @@ -4,9 +4,9 @@ import defaultOptions, { Options, ThemeValue } from './options' export class ThemeService { // 按照系統的主題切換,目前只支援 light dark - private _darkMQL: MediaQueryList = typeof matchMedia !== 'undefined' ? matchMedia?.('(prefers-color-scheme:dark)') : undefined - private _value: ThemeValue - private _current: string + private _darkMQL?: MediaQueryList = typeof matchMedia !== 'undefined' ? matchMedia?.('(prefers-color-scheme:dark)') : undefined + private _value?: ThemeValue | null + private _current?: string | null public initialized = false constructor( @@ -17,7 +17,7 @@ export class ThemeService { } init() { - let value = this.options.default + let value = this.options?.default const storage = this.storage if (storage) { value = storage @@ -28,17 +28,16 @@ export class ThemeService { } get storage() { - const { store } = this.options - if (typeof localStorage !== 'undefined' && store) { - return localStorage.getItem(store) + if (typeof localStorage !== 'undefined' && this.options?.store) { + return localStorage.getItem(this.options?.store) } } get systemCurrent(): string { - return this._darkMQL.matches ? 'dark' : 'light' + return this._darkMQL?.matches ? 'dark' : 'light' } - set value(value: ThemeValue) { + set value(value: ThemeValue | undefined) { if (value === 'system') { this._darkMQL?.addEventListener?.('change', this._onThemeChange) this.current = this.systemCurrent @@ -47,16 +46,16 @@ export class ThemeService { this.current = value } if (value !== this._value) { - this.host.dispatchEvent(new CustomEvent('themeChange', { detail: this })) + this.host?.dispatchEvent(new CustomEvent('themeChange', { detail: this })) this._value = value } } - get value() { + get value(): ThemeService['_value'] { return this._value } - set current(current: string) { + set current(current: string | undefined) { const previous = this._current this._current = current if (this.host && previous !== current) { @@ -72,7 +71,7 @@ export class ThemeService { } } - get current() { + get current(): ThemeService['_current'] { return this._current } @@ -80,7 +79,7 @@ export class ThemeService { if (value && value !== this.value) { this.value = value // 儲存 theme 到 localStorage - if (typeof localStorage !== 'undefined' && this.storage !== value && this.options.store) { + if (typeof localStorage !== 'undefined' && this.storage !== value && this.options?.store) { localStorage.setItem(this.options.store, value) } } @@ -97,10 +96,11 @@ export class ThemeService { destroy(complete = true) { this._removeDarkMQLListener() if (this.host) { - this.host.style.colorScheme = null - this.host.classList.remove(this.current) + this.host.style.removeProperty('color-scheme') + if (this.current) + this.host.classList.remove(this.current) } - if (complete && typeof localStorage !== 'undefined' && this.options.store) { + if (complete && typeof localStorage !== 'undefined' && this.options?.store) { localStorage.removeItem(this.options.store) } this._current = null diff --git a/packages/validator/src/validate-css.ts b/packages/validator/src/validate-css.ts index 500014420..84de7848b 100644 --- a/packages/validator/src/validate-css.ts +++ b/packages/validator/src/validate-css.ts @@ -1,30 +1,32 @@ /* eslint-disable no-cond-assign */ +// @ts-expect-error import { lexer, parse, walk, property as propertyName } from 'css-tree' +import { SyntaxError } from './interfaces/syntax-error' -export default function validateCSS(text, parseOptions = { +export default function validateCSS(text: string, parseOptions = { parseAtrulePrelude: false, parseRulePrelude: false, parseValue: false, parseCustomProperty: false }) { - const errors = [] + const errors: any[] = [] const ast = parse(text, { ...parseOptions, - onParseError(error) { + onParseError(error: any) { errors.push(error) } }) walk(ast, { visit: 'Atrule', - enter(node) { + enter(node: any) { errors.push(...validateAtrule(node)) } }) walk(ast, { visit: 'Rule', - enter(node) { + enter(node: any) { errors.push(...validateRule(node)) } }) @@ -32,7 +34,7 @@ export default function validateCSS(text, parseOptions = { } -function isTargetError(error) { +function isTargetError(error: SyntaxError) { if (!error) { return null } @@ -46,7 +48,7 @@ function isTargetError(error) { return error } -export function validateAtrule(node) { +export function validateAtrule(node: { name: any; prelude: any; block: { children: any[] } }) { const atrule = node.name const errors = [] let error @@ -65,7 +67,7 @@ export function validateAtrule(node) { )) if (node.block && node.block.children) { - node.block.children.forEach(child => { + node.block.children.forEach((child: { type: string; property: any; value: any }) => { if (child.type === 'Declaration') { errors.push(...validateAtruleDescriptor( atrule, @@ -79,9 +81,9 @@ export function validateAtrule(node) { return errors } -export function validateAtrulePrelude(atrule, prelude) { +export function validateAtrulePrelude(atrule: string, prelude: any) { const errors = [] - let error + let error: SyntaxError | null if (error = isTargetError(lexer.checkAtrulePrelude(atrule, prelude))) { errors.push(Object.assign(error, { @@ -98,7 +100,7 @@ export function validateAtrulePrelude(atrule, prelude) { return errors } -export function validateAtruleDescriptor(atrule, descriptor, value) { +export function validateAtruleDescriptor(atrule: any, descriptor: string, value: any) { const errors = [] let error @@ -121,9 +123,9 @@ export function validateAtruleDescriptor(atrule, descriptor, value) { return errors } -export function validateDeclaration(property, value) { - const errors = [] - let error +export function validateDeclaration(property: string, value: any) { + const errors: any[] = [] + let error: SyntaxError | null if (propertyName(property).custom) { return errors @@ -144,11 +146,11 @@ export function validateDeclaration(property, value) { return errors } -export function validateRule(node) { - const errors = [] +export function validateRule(node: { block: { children: any[] } }) { + const errors: any[] = [] if (node.block && node.block.children) { - node.block.children.forEach(child => { + node.block.children.forEach((child: { type: string; property: any; value: any }) => { if (child.type === 'Declaration') { errors.push(...validateDeclaration( child.property, diff --git a/packages/vscode-language-service/src/extension.ts b/packages/vscode-language-service/src/extension.ts index 7a411a080..59d8f83dd 100644 --- a/packages/vscode-language-service/src/extension.ts +++ b/packages/vscode-language-service/src/extension.ts @@ -39,7 +39,7 @@ export function activate(context: ExtensionContext) { const Languages: { scheme: 'file', language: string }[] = [] - langs.forEach(x => { + langs.forEach((x: any) => { Languages.push({ scheme: 'file', language: x }) }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7217ad54b..261424f0e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,7 +58,7 @@ importers: version: link:shared eslint-plugin-react-hooks: specifier: ^4.6.0 - version: 4.6.0(eslint@8.54.0) + version: 4.6.0(eslint@8.55.0) fast-glob: specifier: ^3.2.12 version: 3.3.2 @@ -102,6 +102,301 @@ importers: specifier: ^1.10.15 version: 1.10.16 + ../..: + dependencies: + '@firebase/firestore': + specifier: ^4.3.2 + version: 4.4.0(@firebase/app@0.9.25) + '@formatjs/intl-localematcher': + specifier: ^0.2.32 + version: 0.2.32 + '@master/css': + specifier: ./projects/css/packages/css + version: link:projects/css/packages/css + '@master/css-extractor': + specifier: ./projects/css/packages/extractor + version: link:projects/css/packages/extractor + '@master/css-language-service': + specifier: ./projects/css/packages/language-service + version: link:projects/css/packages/language-service + '@master/css-renderer': + specifier: ./projects/css/packages/renderer + version: link:projects/css/packages/renderer + '@master/css.react': + specifier: ./projects/css/packages/react + version: link:projects/css/packages/react + '@master/eslint-config-css': + specifier: ./projects/css/packages/eslint-config + version: link:projects/css/packages/eslint-config + '@mdx-js/loader': + specifier: ^2.3.0 + version: 2.3.0(webpack@5.89.0) + '@mdx-js/react': + specifier: ^2.3.0 + version: 2.3.0(react@18.2.0) + '@next/mdx': + specifier: ^14.0.2 + version: 14.0.3(@mdx-js/loader@2.3.0)(@mdx-js/react@2.3.0) + '@popperjs/core': + specifier: ^2.11.6 + version: 2.11.8 + '@tabler/icons-react': + specifier: ^2.30.0 + version: 2.42.0(react@18.2.0) + '@vercel/analytics': + specifier: ^1.0.1 + version: 1.1.1 + animated-scroll-to: + specifier: ^2.2.0 + version: 2.3.0 + axios: + specifier: ^1.0.0 + version: 1.6.2 + canvas-confetti: + specifier: ^1.5.1 + version: 1.9.2 + clsx: + specifier: ^1.1.1 + version: 1.2.1 + crawlee: + specifier: ^3.3.0 + version: 3.6.2 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + css.escape: + specifier: ^1.5.1 + version: 1.5.1 + current-git-branch: + specifier: ^1.1.0 + version: 1.1.0 + dayjs: + specifier: ^1.11.9 + version: 1.11.10 + default-passive-events: + specifier: ^2.0.0 + version: 2.0.0 + eslint-mdx: + specifier: ^2.0.5 + version: 2.2.0(eslint@8.55.0) + fast-glob: + specifier: ^3.2.12 + version: 3.3.2 + file-loader: + specifier: ^6.2.0 + version: 6.2.0(webpack@5.89.0) + firebase: + specifier: ^10.6.0 + version: 10.7.1 + firebase-admin: + specifier: ^11.10.1 + version: 11.11.1 + fuse.js: + specifier: ^6.6.2 + version: 6.6.2 + get-contrast: + specifier: ^3.0.0 + version: 3.0.0 + github-slugger: + specifier: ^1.5.0 + version: 1.5.0 + global-jsdom: + specifier: ^9.0.1 + version: 9.1.0(jsdom@22.1.0) + html-react-parser: + specifier: ^3.0.4 + version: 3.0.16(react@18.2.0) + javascript-time-ago: + specifier: ^2.5.9 + version: 2.5.9 + js-beautify: + specifier: ^1.14.8 + version: 1.14.11 + kebab-case: + specifier: ^1.0.2 + version: 1.0.2 + mime-types: + specifier: ^2.1.35 + version: 2.1.35 + nanoid: + specifier: ^3.3.4 + version: 3.3.7 + negotiator: + specifier: ^0.6.3 + version: 0.6.3 + next: + specifier: ^14.0.2 + version: 14.0.2(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.69.5) + param-case: + specifier: ^3.0.4 + version: 3.0.4 + parent-module: + specifier: ^3.0.0 + version: 3.1.0 + pascal-case: + specifier: ^3.1.2 + version: 3.1.2 + prism-svelte: + specifier: ^0.5.0 + version: 0.5.0 + prismjs: + specifier: ^1.29.0 + version: 1.29.0 + raw-loader: + specifier: ^4.0.2 + version: 4.0.2(webpack@5.89.0) + react: + specifier: ^18.2.0 + version: 18.2.0 + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + react-intersection-observer: + specifier: ^9.4.0 + version: 9.5.3(react@18.2.0) + react-popper: + specifier: ^2.3.0 + version: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0)(react@18.2.0) + react-router-dom: + specifier: ^6.14.1 + version: 6.14.2(react-dom@18.2.0)(react@18.2.0) + rehype-slug: + specifier: ^5.1.0 + version: 5.1.0 + remark: + specifier: ^15.0.1 + version: 15.0.1 + remark-gfm: + specifier: ^3.0.1 + version: 3.0.1 + remark-slug: + specifier: ^7.0.1 + version: 7.0.1 + remark-toc: + specifier: ^8.0.1 + version: 8.0.1 + sass: + specifier: ^1.58.3 + version: 1.69.5 + server-only: + specifier: ^0.0.1 + version: 0.0.1 + sharp: + specifier: ^0.32.1 + version: 0.32.6 + slugify: + specifier: ^1.6.6 + version: 1.6.6 + spawn-sync: + specifier: ^2.0.0 + version: 2.0.0 + string-width: + specifier: ^5.1.2 + version: 5.1.2 + theme-service: + specifier: ./projects/css/packages/theme-service + version: link:projects/css/packages/theme-service + throttle-debounce: + specifier: ^5.0.0 + version: 5.0.0 + timeago-react: + specifier: ^3.0.6 + version: 3.0.6(react@18.2.0) + to-line: + specifier: ^1.5.0 + version: 1.5.5 + ts-dedent: + specifier: ^2.2.0 + version: 2.2.0 + turbo: + specifier: ^1.10.7 + version: 1.10.16 + unist-util-visit: + specifier: ^5.0.0 + version: 5.0.0 + upath: + specifier: ^2.0.1 + version: 2.0.1 + usehooks-ts: + specifier: ^2.9.1 + version: 2.9.1(react-dom@18.2.0)(react@18.2.0) + webpack-import-glob-loader: + specifier: ^1.6.3 + version: 1.6.3 + devDependencies: + '@next/bundle-analyzer': + specifier: ^14.0.2 + version: 14.0.3 + '@svgr/webpack': + specifier: ^8.0.1 + version: 8.1.0(typescript@5.2.2) + '@techor/extend': + specifier: ^2.0.5 + version: 2.5.19 + '@types/canvas-confetti': + specifier: ^1.4.2 + version: 1.6.4 + '@types/clone-deep': + specifier: ^4.0.1 + version: 4.0.4 + '@types/current-git-branch': + specifier: ^1.1.3 + version: 1.1.6 + '@types/javascript-time-ago': + specifier: ^2.0.3 + version: 2.0.8 + '@types/js-beautify': + specifier: ^1.13.3 + version: 1.14.3 + '@types/mdx': + specifier: ^2.0.4 + version: 2.0.10 + '@types/mime-types': + specifier: ^2.1.3 + version: 2.1.4 + '@types/negotiator': + specifier: ^0.6.1 + version: 0.6.3 + '@types/node': + specifier: ^17.0.45 + version: 17.0.45 + '@types/prismjs': + specifier: ^1.26.0 + version: 1.26.3 + '@types/react': + specifier: ^18.2.37 + version: 18.2.37 + '@types/react-dom': + specifier: ^18.2.15 + version: 18.2.15 + '@types/react-portal': + specifier: ^4.0.4 + version: 4.0.6 + '@types/react-sticky-el': + specifier: ^1.0.3 + version: 1.0.6 + '@types/throttle-debounce': + specifier: ^5.0.0 + version: 5.0.2 + copy-webpack-plugin: + specifier: ^11.0.0 + version: 11.0.0(webpack@5.89.0) + eslint: + specifier: ^8.52.0 + version: 8.55.0 + eslint-config-next: + specifier: ^14.0.2 + version: 14.0.2(eslint@8.55.0)(typescript@5.2.2) + eslint-plugin-import: + specifier: ^2.26.0 + version: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.55.0) + eslint-plugin-mdx: + specifier: ^2.0.5 + version: 2.2.0(eslint@8.55.0) + typescript: + specifier: ^5.2.2 + version: 5.2.2 + examples/angular-with-progressive-rendering: dependencies: '@angular/animations': @@ -399,7 +694,7 @@ importers: version: 14.0.2(eslint@8.53.0)(typescript@5.2.2) next: specifier: ^14.0.2 - version: 14.0.2(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) + version: 14.0.2(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.69.5) react: specifier: ^18.2.0 version: 18.2.0 @@ -435,7 +730,7 @@ importers: version: 14.0.2(eslint@8.53.0)(typescript@5.2.2) next: specifier: ^14.0.2 - version: 14.0.2(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) + version: 14.0.2(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.69.5) react: specifier: ^18.2.0 version: 18.2.0 @@ -471,7 +766,7 @@ importers: version: 14.0.2(eslint@8.53.0)(typescript@5.2.2) next: specifier: ^14.0.2 - version: 14.0.2(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) + version: 14.0.2(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.69.5) react: specifier: ^18.2.0 version: 18.2.0 @@ -499,7 +794,7 @@ importers: version: 18.18.9 nuxt: specifier: ^3.5.2 - version: 3.8.1(@types/node@18.18.9)(eslint@8.54.0)(typescript@5.2.2)(vite@4.5.0) + version: 3.8.1(@types/node@18.18.9)(eslint@8.55.0)(typescript@5.2.2)(vite@4.5.0) examples/nuxt.js-with-runtime-rendering: dependencies: @@ -515,7 +810,7 @@ importers: version: 18.18.9 nuxt: specifier: ^3.5.2 - version: 3.8.1(@types/node@18.18.9)(eslint@8.54.0)(typescript@5.2.2)(vite@4.5.0) + version: 3.8.1(@types/node@18.18.9)(eslint@8.55.0)(typescript@5.2.2)(vite@4.5.0) examples/nuxt.js-with-static-extraction: devDependencies: @@ -530,7 +825,7 @@ importers: version: 18.18.9 nuxt: specifier: ^3.5.2 - version: 3.8.1(@types/node@18.18.9)(eslint@8.54.0)(typescript@5.2.2)(vite@4.5.0) + version: 3.8.1(@types/node@18.18.9)(eslint@8.55.0)(typescript@5.2.2)(vite@4.5.0) examples/react-with-progressive-rendering: dependencies: @@ -1154,6 +1449,10 @@ importers: vite: specifier: '>=3.0.0' version: 4.5.0(@types/node@20.9.0)(less@4.2.0)(sass@1.69.5)(terser@5.24.0) + devDependencies: + '@types/lodash.debounce': + specifier: ^4.0.9 + version: 4.0.9 packages/extractor.webpack: dependencies: @@ -1264,6 +1563,9 @@ importers: specifier: ^1.0.3 version: 1.0.3 devDependencies: + '@types/pretty-hrtime': + specifier: ^1.0.3 + version: 1.0.3 css-shared: specifier: workspace:^ version: link:../../shared @@ -1443,7 +1745,7 @@ importers: version: 3.0.1(onigasm@2.2.5) next: specifier: 14.0.2 - version: 14.0.2(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) + version: 14.0.2(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.69.5) theme-service: specifier: workspace:^ version: link:../packages/theme-service @@ -1979,6 +2281,47 @@ packages: resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} dev: true + /@apify/consts@2.24.0: + resolution: {integrity: sha512-Dz4mMhHKmSiKGf6XC5tRfI1TAvjidV61G0AfmILEB6EoRfgrnVpHokly62Le1vjTpDwi4W7xPAujL5ze6n1ZpA==} + dev: false + + /@apify/datastructures@2.0.0: + resolution: {integrity: sha512-O7I31PvG4Qb/Zc2lAIkSUBRDLKDKLrmqtWG3Ea8To5xvbPKdiLuVx3IuAzjCs1UQVTbhN590Sw5xBoFghreAYA==} + dev: false + + /@apify/log@2.4.4: + resolution: {integrity: sha512-RYYHEGLgXxK7y9sZdN+6McBKA7ABIttuhIBiYGurvKITluLjEtPZ/5I7XrJwsijkDI+UxsiPkrhjfuzkTdHQfg==} + dependencies: + '@apify/consts': 2.24.0 + ansi-colors: 4.1.3 + dev: false + + /@apify/ps-tree@1.2.0: + resolution: {integrity: sha512-VHIswI7rD/R4bToeIDuJ9WJXt+qr5SdhfoZ9RzdjmCs9mgy7l0P4RugQEUCcU+WB4sfImbd4CKwzXcn0uYx1yw==} + engines: {node: '>= 0.10'} + hasBin: true + dependencies: + event-stream: 3.3.4 + dev: false + + /@apify/pseudo_url@2.0.34: + resolution: {integrity: sha512-bzj2MvKryfzc9GvLJ9xMG5iYrm27fS3wVBye7lVp+iYpTR2CqMZHu+MYH6Z9DDWZjB36t1T5yhW4Kz9tdw5M/A==} + dependencies: + '@apify/log': 2.4.4 + '@sapphire/shapeshift': 3.9.4 + dev: false + + /@apify/timeout@0.3.0: + resolution: {integrity: sha512-jLwg4vC1hHsU1UWbwO5suYFGPBANPy5Dovc6P9y56TZ1B2RsRYjfDaX3BdfaAa6E2akib19EinF9EjuN13m5AA==} + dev: false + + /@apify/utilities@2.9.4: + resolution: {integrity: sha512-rhmAKIYlxZSc9k/AmBIsnppHeLO7dfZXk6lfq8Qd1OGjcwVi5b6tZiF3eKj6d0VQUZBA/+G8VpnK+2XV1VYz5A==} + dependencies: + '@apify/consts': 2.24.0 + '@apify/log': 2.4.4 + dev: false + /@assemblyscript/loader@0.10.1: resolution: {integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==} dev: true @@ -3803,6 +4146,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} engines: {node: '>=6.9.0'} @@ -4580,6 +4933,271 @@ packages: chalk: 4.1.2 dev: true + /@crawlee/basic@3.6.2: + resolution: {integrity: sha512-w6bw1QdDGESMXnXxgmflO4hOuP7wiliSAnYCEBNTlCKuazm5Mfs2p7Y1KgEgrKznqlmlJAydMM8Qu16p+BzKzg==} + engines: {node: '>=16.0.0'} + dependencies: + '@apify/log': 2.4.4 + '@apify/timeout': 0.3.0 + '@apify/utilities': 2.9.4 + '@crawlee/core': 3.6.2 + '@crawlee/types': 3.6.2 + '@crawlee/utils': 3.6.2 + got-scraping: 4.0.2 + ow: 0.28.2 + tldts: 6.1.0 + tslib: 2.6.2 + type-fest: 4.7.1 + dev: false + + /@crawlee/browser-pool@3.6.2: + resolution: {integrity: sha512-iQqUSuF3LbX+6yamZ0NY4HgxSyKtP9uPYLIumXGF1RjWscU44UXneSPR9M0Zl8hrab/6AYqy5pDh8DQIW6ekSA==} + engines: {node: '>=16.0.0'} + peerDependencies: + playwright: '*' + puppeteer: '*' + peerDependenciesMeta: + playwright: + optional: true + puppeteer: + optional: true + dependencies: + '@apify/log': 2.4.4 + '@apify/timeout': 0.3.0 + '@crawlee/core': 3.6.2 + '@crawlee/types': 3.6.2 + fingerprint-generator: 2.1.45 + fingerprint-injector: 2.1.45 + lodash.merge: 4.6.2 + nanoid: 3.3.7 + ow: 0.28.2 + p-limit: 3.1.0 + proxy-chain: 2.4.0 + quick-lru: 5.1.1 + tiny-typed-emitter: 2.1.0 + tslib: 2.6.2 + dev: false + + /@crawlee/browser@3.6.2: + resolution: {integrity: sha512-miWYkpWtcd5RL6sCY6uUfoKMa7YuRlPirZLTDq9PsYK11on/MWH+Fpd73OVuiikhDuWAhO8vnKrM0Sa1QDgXOw==} + engines: {node: '>=16.0.0'} + dependencies: + '@apify/timeout': 0.3.0 + '@crawlee/basic': 3.6.2 + '@crawlee/browser-pool': 3.6.2 + '@crawlee/types': 3.6.2 + '@crawlee/utils': 3.6.2 + ow: 0.28.2 + tslib: 2.6.2 + transitivePeerDependencies: + - playwright + - puppeteer + dev: false + + /@crawlee/cheerio@3.6.2: + resolution: {integrity: sha512-XwklndvBfgv36MYKemXG77y0hz+pwSO6fcmnTQ9/aHqPIGJ1Wh7idqKPoa/8UsC7eajWoqHRmMAw6m1pySEyHg==} + engines: {node: '>=16.0.0'} + dependencies: + '@crawlee/http': 3.6.2 + '@crawlee/types': 3.6.2 + cheerio: 1.0.0-rc.12 + htmlparser2: 9.0.0 + tslib: 2.6.2 + dev: false + + /@crawlee/cli@3.6.2: + resolution: {integrity: sha512-AWrRYdbB7dgPPocP2XwSlxfjKPHU1LYWNtCbVidWYZ3edg7fzfCFy7HCaAvqtoujgfZtrQk7ncSHlrm9nO2Uvw==} + engines: {node: '>=16.0.0'} + hasBin: true + dependencies: + '@crawlee/templates': 3.6.2 + ansi-colors: 4.1.3 + fs-extra: 11.1.1 + inquirer: 8.2.6 + tslib: 2.6.2 + yargonaut: 1.1.4 + yargs: 17.7.2 + dev: false + + /@crawlee/core@3.6.2: + resolution: {integrity: sha512-dgjvBM0KUTxfBtjHELmWskBcJUwPoYnoag9SXTglbGudJGxlAL1o3tV8ziqGTq7Jfw+x31ibdB7s1WdAZfAyow==} + engines: {node: '>=16.0.0'} + dependencies: + '@apify/consts': 2.24.0 + '@apify/datastructures': 2.0.0 + '@apify/log': 2.4.4 + '@apify/pseudo_url': 2.0.34 + '@apify/timeout': 0.3.0 + '@apify/utilities': 2.9.4 + '@crawlee/memory-storage': 3.6.2 + '@crawlee/types': 3.6.2 + '@crawlee/utils': 3.6.2 + '@sapphire/async-queue': 1.5.1 + '@types/tough-cookie': 4.0.5 + '@vladfrangu/async_event_emitter': 2.2.4 + csv-stringify: 6.4.4 + fs-extra: 11.1.1 + got-scraping: 4.0.2 + json5: 2.2.3 + minimatch: 9.0.3 + ow: 0.28.2 + stream-chain: 2.2.5 + stream-json: 1.8.0 + tldts: 6.1.0 + tough-cookie: 4.1.3 + tslib: 2.6.2 + type-fest: 4.7.1 + dev: false + + /@crawlee/http@3.6.2: + resolution: {integrity: sha512-Ho85UUtCHHPQYrhKjDUcr5RF6HJY7+G0z6Ei+5d7bIE/haMeVyLLj5dKoE+TjInp9WeBgBze99xr8icb1S1DOw==} + engines: {node: '>=16.0.0'} + dependencies: + '@apify/timeout': 0.3.0 + '@apify/utilities': 2.9.4 + '@crawlee/basic': 3.6.2 + '@crawlee/types': 3.6.2 + '@crawlee/utils': 3.6.2 + '@types/content-type': 1.1.8 + cheerio: 1.0.0-rc.12 + content-type: 1.0.5 + got-scraping: 4.0.2 + iconv-lite: 0.6.3 + mime-types: 2.1.35 + ow: 0.28.2 + tslib: 2.6.2 + type-fest: 4.7.1 + dev: false + + /@crawlee/jsdom@3.6.2: + resolution: {integrity: sha512-yyzHERMUiAcXbOAoPImr54LOwKrh15NzpZJw72JadN89IuUpX7h2E2hkfJ6XFuUyd1QbSNCvtaEVFoivfHArNQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@apify/timeout': 0.3.0 + '@apify/utilities': 2.9.4 + '@crawlee/http': 3.6.2 + '@crawlee/types': 3.6.2 + '@types/jsdom': 21.1.6 + cheerio: 1.0.0-rc.12 + jsdom: 22.1.0 + ow: 0.28.2 + tslib: 2.6.2 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: false + + /@crawlee/linkedom@3.6.2: + resolution: {integrity: sha512-ISATzA5PzQJZfcshfWJMxq5GUq9Yi4arDMUShRBbp2pSAuWrdibCTpPOblC0FVnZbYVl4nNUZobQyXNfus7YmQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@apify/timeout': 0.3.0 + '@apify/utilities': 2.9.4 + '@crawlee/http': 3.6.2 + '@crawlee/types': 3.6.2 + linkedom: 0.16.4 + ow: 0.28.2 + tslib: 2.6.2 + dev: false + + /@crawlee/memory-storage@3.6.2: + resolution: {integrity: sha512-o3+snZFOleeyq+TKEY4ZlxvfZuQoDNvVnTOX2Scr2yLfEfTVgaJg/x2Go0a1heONiMqQDMas2PrDQFYT/1jF/Q==} + engines: {node: '>= 16'} + dependencies: + '@apify/log': 2.4.4 + '@crawlee/types': 3.6.2 + '@sapphire/async-queue': 1.5.1 + '@sapphire/shapeshift': 3.9.4 + content-type: 1.0.5 + fs-extra: 11.1.1 + json5: 2.2.3 + mime-types: 2.1.35 + proper-lockfile: 4.1.2 + tslib: 2.6.2 + dev: false + + /@crawlee/playwright@3.6.2: + resolution: {integrity: sha512-1mwObpUDTygudhBBPFFJfkyjp+HeFzuhrcvTr5KY/7ggR9A+lvPmkYGxf+H9VHJ8Md2hAabSqYIXnf3VEb/vTg==} + engines: {node: '>=16.0.0'} + peerDependencies: + playwright: '*' + peerDependenciesMeta: + playwright: + optional: true + dependencies: + '@apify/datastructures': 2.0.0 + '@apify/log': 2.4.4 + '@crawlee/browser': 3.6.2 + '@crawlee/browser-pool': 3.6.2 + '@crawlee/types': 3.6.2 + '@crawlee/utils': 3.6.2 + cheerio: 1.0.0-rc.12 + idcac-playwright: 0.1.2 + jquery: 3.7.1 + ow: 0.28.2 + tslib: 2.6.2 + transitivePeerDependencies: + - puppeteer + dev: false + + /@crawlee/puppeteer@3.6.2: + resolution: {integrity: sha512-6liZHplxjex7CioDbpb5oqYDr4o2Kkt1Rle8t72D0R9yT/QoO4e98B1fGv4+TPJUEEFuLNREE/Glu6amnjKT+w==} + engines: {node: '>=16.0.0'} + peerDependencies: + puppeteer: '*' + peerDependenciesMeta: + puppeteer: + optional: true + dependencies: + '@apify/datastructures': 2.0.0 + '@apify/log': 2.4.4 + '@crawlee/browser': 3.6.2 + '@crawlee/browser-pool': 3.6.2 + '@crawlee/types': 3.6.2 + '@crawlee/utils': 3.6.2 + cheerio: 1.0.0-rc.12 + devtools-protocol: 0.0.1203626 + idcac-playwright: 0.1.2 + jquery: 3.7.1 + ow: 0.28.2 + tslib: 2.6.2 + transitivePeerDependencies: + - playwright + dev: false + + /@crawlee/templates@3.6.2: + resolution: {integrity: sha512-1QxGUetsjOk+ezB0k8eizTAj1Dvt0ZJY+hvnH+kVDkRYpEJjohEmfPWipOjZCMRqa/cZpctLkt03NThVEfRV1A==} + engines: {node: '>=16.0.0'} + dependencies: + ansi-colors: 4.1.3 + inquirer: 9.2.11 + tslib: 2.6.2 + yargonaut: 1.1.4 + yargs: 17.7.2 + dev: false + + /@crawlee/types@3.6.2: + resolution: {integrity: sha512-jCdqv7dsjG/CnapW15rWUXYoAET29oRYVGZQw3Sn1cXmx86vF6JPrW2wRV2FkSTSnbqL9dMLSwX/2UJHf8IH8g==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.6.2 + dev: false + + /@crawlee/utils@3.6.2: + resolution: {integrity: sha512-Prjje1KmzHrn2Q+YnJkGLTgQrBkWJgyz1fZBAPPPkpJwdNe6HavIXdhmPv6mX3+JrSFxYcPolmoNV8g5u6QRhg==} + engines: {node: '>=16.0.0'} + dependencies: + '@apify/log': 2.4.4 + '@apify/ps-tree': 1.2.0 + '@crawlee/types': 3.6.2 + cheerio: 1.0.0-rc.12 + got-scraping: 4.0.2 + ow: 0.28.2 + tslib: 2.6.2 + dev: false + /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -4590,7 +5208,6 @@ packages: /@discoveryjs/json-ext@0.5.7: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} - dev: true /@emmetio/abbreviation@2.3.3: resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} @@ -5369,13 +5986,13 @@ packages: eslint: 8.53.0 eslint-visitor-keys: 3.4.3 - /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.55.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.54.0 + eslint: 8.55.0 eslint-visitor-keys: 3.4.3 /@eslint-community/regexpp@4.10.0: @@ -5398,26 +6015,624 @@ packages: transitivePeerDependencies: - supports-color + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.23.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + /@eslint/js@8.53.0: resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /@eslint/js@8.54.0: - resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==} + /@eslint/js@8.55.0: + resolution: {integrity: sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@fastify/busboy@1.2.1: + resolution: {integrity: sha512-7PQA7EH43S0CxcOa9OeAnaeA0oQ+e/DHNPZwSQM9CQHW76jle5+OvLdibRp/Aafs9KXbLhxyjOTkRjWUbQEd3Q==} + engines: {node: '>=14'} + dependencies: + text-decoding: 1.0.0 + dev: false + /@fastify/busboy@2.1.0: resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} engines: {node: '>=14'} - /@fontsource/fira-mono@4.5.10: - resolution: {integrity: sha512-bxUnRP8xptGRo8YXeY073DSpfK74XpSb0ZyRNpHV9WvLnJ7TwPOjZll8hTMin7zLC6iOp59pDZ8EQDj1gzgAQQ==} - dev: true + /@firebase/analytics-compat@0.2.6(@firebase/app-compat@0.2.25)(@firebase/app@0.9.25): + resolution: {integrity: sha512-4MqpVLFkGK7NJf/5wPEEP7ePBJatwYpyjgJ+wQHQGHfzaCDgntOnl9rL2vbVGGKCnRqWtZDIWhctB86UWXaX2Q==} + peerDependencies: + '@firebase/app-compat': 0.x + dependencies: + '@firebase/analytics': 0.10.0(@firebase/app@0.9.25) + '@firebase/analytics-types': 0.8.0 + '@firebase/app-compat': 0.2.25 + '@firebase/component': 0.6.4 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + transitivePeerDependencies: + - '@firebase/app' + dev: false + + /@firebase/analytics-types@0.8.0: + resolution: {integrity: sha512-iRP+QKI2+oz3UAh4nPEq14CsEjrjD6a5+fuypjScisAh9kXKFvdJOZJDwk7kikLvWVLGEs9+kIUS4LPQV7VZVw==} + dev: false + + /@firebase/analytics@0.10.0(@firebase/app@0.9.25): + resolution: {integrity: sha512-Locv8gAqx0e+GX/0SI3dzmBY5e9kjVDtD+3zCFLJ0tH2hJwuCAiL+5WkHuxKj92rqQj/rvkBUCfA1ewlX2hehg==} + peerDependencies: + '@firebase/app': 0.x + dependencies: + '@firebase/app': 0.9.25 + '@firebase/component': 0.6.4 + '@firebase/installations': 0.6.4(@firebase/app@0.9.25) + '@firebase/logger': 0.4.0 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + dev: false + + /@firebase/app-check-compat@0.3.8(@firebase/app-compat@0.2.25)(@firebase/app@0.9.25): + resolution: {integrity: sha512-EaETtChR4UgMokJFw+r6jfcIyCTUZSe0a6ivF37D9MxlG9G3wzK1COyXgxoX96GzXmDPc2aubX4PxCrdVHhrnA==} + peerDependencies: + '@firebase/app-compat': 0.x + dependencies: + '@firebase/app-check': 0.8.1(@firebase/app@0.9.25) + '@firebase/app-check-types': 0.5.0 + '@firebase/app-compat': 0.2.25 + '@firebase/component': 0.6.4 + '@firebase/logger': 0.4.0 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + transitivePeerDependencies: + - '@firebase/app' + dev: false + + /@firebase/app-check-interop-types@0.3.0: + resolution: {integrity: sha512-xAxHPZPIgFXnI+vb4sbBjZcde7ZluzPPaSK7Lx3/nmuVk4TjZvnL8ONnkd4ERQKL8WePQySU+pRcWkh8rDf5Sg==} + dev: false + + /@firebase/app-check-types@0.5.0: + resolution: {integrity: sha512-uwSUj32Mlubybw7tedRzR24RP8M8JUVR3NPiMk3/Z4bCmgEKTlQBwMXrehDAZ2wF+TsBq0SN1c6ema71U/JPyQ==} + dev: false + + /@firebase/app-check@0.8.1(@firebase/app@0.9.25): + resolution: {integrity: sha512-zi3vbM5tb/eGRWyiqf+1DXbxFu9Q07dnm46rweodgUpH9B8svxYkHfNwYWx7F5mjHU70SQDuaojH1We5ws9OKA==} + peerDependencies: + '@firebase/app': 0.x + dependencies: + '@firebase/app': 0.9.25 + '@firebase/component': 0.6.4 + '@firebase/logger': 0.4.0 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + dev: false + + /@firebase/app-compat@0.2.25: + resolution: {integrity: sha512-B/JtCp1FsTuzlh1tIGQpYM2AXps21/zlzpFsk5LRsROOTRhBcR2N45AyaONPFD06C0yS0Tw19foxADzHyOSC3A==} + dependencies: + '@firebase/app': 0.9.25 + '@firebase/component': 0.6.4 + '@firebase/logger': 0.4.0 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + dev: false + + /@firebase/app-types@0.9.0: + resolution: {integrity: sha512-AeweANOIo0Mb8GiYm3xhTEBVCmPwTYAu9Hcd2qSkLuga/6+j9b1Jskl5bpiSQWy9eJ/j5pavxj6eYogmnuzm+Q==} + dev: false + + /@firebase/app@0.9.25: + resolution: {integrity: sha512-fX22gL5USXhOK21Hlh3oTeOzQZ6th6S2JrjXNEpBARmwzuUkqmVGVdsOCIFYIsLpK0dQE3o8xZnLrRg5wnzZ/g==} + dependencies: + '@firebase/component': 0.6.4 + '@firebase/logger': 0.4.0 + '@firebase/util': 1.9.3 + idb: 7.1.1 + tslib: 2.6.2 + dev: false + + /@firebase/auth-compat@0.5.1(@firebase/app-compat@0.2.25)(@firebase/app-types@0.9.0)(@firebase/app@0.9.25): + resolution: {integrity: sha512-rgDZnrDoekRvtzXVji8Z61wxxkof6pTkjYEkybILrjM8tGP9tx4xa9qGpF4ax3AzF+rKr7mIa9NnoXEK4UNqmQ==} + peerDependencies: + '@firebase/app-compat': 0.x + dependencies: + '@firebase/app-compat': 0.2.25 + '@firebase/auth': 1.5.1(@firebase/app@0.9.25) + '@firebase/auth-types': 0.12.0(@firebase/app-types@0.9.0)(@firebase/util@1.9.3) + '@firebase/component': 0.6.4 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + undici: 5.26.5 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + - '@react-native-async-storage/async-storage' + dev: false + + /@firebase/auth-interop-types@0.2.1: + resolution: {integrity: sha512-VOaGzKp65MY6P5FI84TfYKBXEPi6LmOCSMMzys6o2BN2LOsqy7pCuZCup7NYnfbk5OkkQKzvIfHOzTm0UDpkyg==} + dev: false + + /@firebase/auth-types@0.12.0(@firebase/app-types@0.9.0)(@firebase/util@1.9.3): + resolution: {integrity: sha512-pPwaZt+SPOshK8xNoiQlK5XIrS97kFYc3Rc7xmy373QsOJ9MmqXxLaYssP5Kcds4wd2qK//amx/c+A8O2fVeZA==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + dependencies: + '@firebase/app-types': 0.9.0 + '@firebase/util': 1.9.3 + dev: false + + /@firebase/auth@1.5.1(@firebase/app@0.9.25): + resolution: {integrity: sha512-sVi7rq2YneLGJFqHa5S6nDfCHix9yuVV3RLhj/pWPlB4a36ofXal4E6PJwpeMc8uLjWEr1aovYN1jkXWNB6Avw==} + peerDependencies: + '@firebase/app': 0.x + '@react-native-async-storage/async-storage': ^1.18.1 + peerDependenciesMeta: + '@react-native-async-storage/async-storage': + optional: true + dependencies: + '@firebase/app': 0.9.25 + '@firebase/component': 0.6.4 + '@firebase/logger': 0.4.0 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + undici: 5.26.5 + dev: false + + /@firebase/component@0.6.4: + resolution: {integrity: sha512-rLMyrXuO9jcAUCaQXCMjCMUsWrba5fzHlNK24xz5j2W6A/SRmK8mZJ/hn7V0fViLbxC0lPMtrK1eYzk6Fg03jA==} + dependencies: + '@firebase/util': 1.9.3 + tslib: 2.6.2 + dev: false + + /@firebase/database-compat@0.3.4: + resolution: {integrity: sha512-kuAW+l+sLMUKBThnvxvUZ+Q1ZrF/vFJ58iUY9kAcbX48U03nVzIF6Tmkf0p3WVQwMqiXguSgtOPIB6ZCeF+5Gg==} + dependencies: + '@firebase/component': 0.6.4 + '@firebase/database': 0.14.4 + '@firebase/database-types': 0.10.4 + '@firebase/logger': 0.4.0 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + dev: false + + /@firebase/database-compat@1.0.2: + resolution: {integrity: sha512-09ryJnXDvuycsxn8aXBzLhBTuCos3HEnCOBWY6hosxfYlNCGnLvG8YMlbSAt5eNhf7/00B095AEfDsdrrLjxqA==} + dependencies: + '@firebase/component': 0.6.4 + '@firebase/database': 1.0.2 + '@firebase/database-types': 1.0.0 + '@firebase/logger': 0.4.0 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + dev: false + + /@firebase/database-types@0.10.4: + resolution: {integrity: sha512-dPySn0vJ/89ZeBac70T+2tWWPiJXWbmRygYv0smT5TfE3hDrQ09eKMF3Y+vMlTdrMWq7mUdYW5REWPSGH4kAZQ==} + dependencies: + '@firebase/app-types': 0.9.0 + '@firebase/util': 1.9.3 + dev: false + + /@firebase/database-types@1.0.0: + resolution: {integrity: sha512-SjnXStoE0Q56HcFgNQ+9SsmJc0c8TqGARdI/T44KXy+Ets3r6x/ivhQozT66bMnCEjJRywYoxNurRTMlZF8VNg==} + dependencies: + '@firebase/app-types': 0.9.0 + '@firebase/util': 1.9.3 + dev: false + + /@firebase/database@0.14.4: + resolution: {integrity: sha512-+Ea/IKGwh42jwdjCyzTmeZeLM3oy1h0mFPsTy6OqCWzcu/KFqRAr5Tt1HRCOBlNOdbh84JPZC47WLU18n2VbxQ==} + dependencies: + '@firebase/auth-interop-types': 0.2.1 + '@firebase/component': 0.6.4 + '@firebase/logger': 0.4.0 + '@firebase/util': 1.9.3 + faye-websocket: 0.11.4 + tslib: 2.6.2 + dev: false + + /@firebase/database@1.0.2: + resolution: {integrity: sha512-8X6NBJgUQzDz0xQVaCISoOLINKat594N2eBbMR3Mu/MH/ei4WM+aAMlsNzngF22eljXu1SILP5G3evkyvsG3Ng==} + dependencies: + '@firebase/app-check-interop-types': 0.3.0 + '@firebase/auth-interop-types': 0.2.1 + '@firebase/component': 0.6.4 + '@firebase/logger': 0.4.0 + '@firebase/util': 1.9.3 + faye-websocket: 0.11.4 + tslib: 2.6.2 + dev: false + + /@firebase/firestore-compat@0.3.23(@firebase/app-compat@0.2.25)(@firebase/app-types@0.9.0)(@firebase/app@0.9.25): + resolution: {integrity: sha512-uUTBiP0GLVBETaOCfB11d33OWB8x1r2G1Xrl0sRK3Va0N5LJ/GRvKVSGfM7VScj+ypeHe8RpdwKoCqLpN1e+uA==} + peerDependencies: + '@firebase/app-compat': 0.x + dependencies: + '@firebase/app-compat': 0.2.25 + '@firebase/component': 0.6.4 + '@firebase/firestore': 4.4.0(@firebase/app@0.9.25) + '@firebase/firestore-types': 3.0.0(@firebase/app-types@0.9.0)(@firebase/util@1.9.3) + '@firebase/util': 1.9.3 + tslib: 2.6.2 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + dev: false + + /@firebase/firestore-types@3.0.0(@firebase/app-types@0.9.0)(@firebase/util@1.9.3): + resolution: {integrity: sha512-Meg4cIezHo9zLamw0ymFYBD4SMjLb+ZXIbuN7T7ddXN6MGoICmOTq3/ltdCGoDCS2u+H1XJs2u/cYp75jsX9Qw==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + dependencies: + '@firebase/app-types': 0.9.0 + '@firebase/util': 1.9.3 + dev: false + + /@firebase/firestore@4.4.0(@firebase/app@0.9.25): + resolution: {integrity: sha512-VeDXD9PUjvcWY1tInBOMTIu2pijR3YYy+QAe5cxCo1Q1vW+aA/mpQHhebPM1J6b4Zd1MuUh8xpBRvH9ujKR56A==} + engines: {node: '>=10.10.0'} + peerDependencies: + '@firebase/app': 0.x + dependencies: + '@firebase/app': 0.9.25 + '@firebase/component': 0.6.4 + '@firebase/logger': 0.4.0 + '@firebase/util': 1.9.3 + '@firebase/webchannel-wrapper': 0.10.5 + '@grpc/grpc-js': 1.9.12 + '@grpc/proto-loader': 0.7.10 + tslib: 2.6.2 + undici: 5.26.5 + dev: false + + /@firebase/functions-compat@0.3.6(@firebase/app-compat@0.2.25)(@firebase/app@0.9.25): + resolution: {integrity: sha512-RQpO3yuHtnkqLqExuAT2d0u3zh8SDbeBYK5EwSCBKI9mjrFeJRXBnd3pEG+x5SxGJLy56/5pQf73mwt0OuH5yg==} + peerDependencies: + '@firebase/app-compat': 0.x + dependencies: + '@firebase/app-compat': 0.2.25 + '@firebase/component': 0.6.4 + '@firebase/functions': 0.11.0(@firebase/app@0.9.25) + '@firebase/functions-types': 0.6.0 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + transitivePeerDependencies: + - '@firebase/app' + dev: false + + /@firebase/functions-types@0.6.0: + resolution: {integrity: sha512-hfEw5VJtgWXIRf92ImLkgENqpL6IWpYaXVYiRkFY1jJ9+6tIhWM7IzzwbevwIIud/jaxKVdRzD7QBWfPmkwCYw==} + dev: false + + /@firebase/functions@0.11.0(@firebase/app@0.9.25): + resolution: {integrity: sha512-n1PZxKnJ++k73Q8khTPwihlbeKo6emnGzE0hX6QVQJsMq82y/XKmNpw2t/q30VJgwaia3ZXU1fd1C5wHncL+Zg==} + peerDependencies: + '@firebase/app': 0.x + dependencies: + '@firebase/app': 0.9.25 + '@firebase/app-check-interop-types': 0.3.0 + '@firebase/auth-interop-types': 0.2.1 + '@firebase/component': 0.6.4 + '@firebase/messaging-interop-types': 0.2.0 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + undici: 5.26.5 + dev: false + + /@firebase/installations-compat@0.2.4(@firebase/app-compat@0.2.25)(@firebase/app-types@0.9.0)(@firebase/app@0.9.25): + resolution: {integrity: sha512-LI9dYjp0aT9Njkn9U4JRrDqQ6KXeAmFbRC0E7jI7+hxl5YmRWysq5qgQl22hcWpTk+cm3es66d/apoDU/A9n6Q==} + peerDependencies: + '@firebase/app-compat': 0.x + dependencies: + '@firebase/app-compat': 0.2.25 + '@firebase/component': 0.6.4 + '@firebase/installations': 0.6.4(@firebase/app@0.9.25) + '@firebase/installations-types': 0.5.0(@firebase/app-types@0.9.0) + '@firebase/util': 1.9.3 + tslib: 2.6.2 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + dev: false + + /@firebase/installations-types@0.5.0(@firebase/app-types@0.9.0): + resolution: {integrity: sha512-9DP+RGfzoI2jH7gY4SlzqvZ+hr7gYzPODrbzVD82Y12kScZ6ZpRg/i3j6rleto8vTFC8n6Len4560FnV1w2IRg==} + peerDependencies: + '@firebase/app-types': 0.x + dependencies: + '@firebase/app-types': 0.9.0 + dev: false + + /@firebase/installations@0.6.4(@firebase/app@0.9.25): + resolution: {integrity: sha512-u5y88rtsp7NYkCHC3ElbFBrPtieUybZluXyzl7+4BsIz4sqb4vSAuwHEUgCgCeaQhvsnxDEU6icly8U9zsJigA==} + peerDependencies: + '@firebase/app': 0.x + dependencies: + '@firebase/app': 0.9.25 + '@firebase/component': 0.6.4 + '@firebase/util': 1.9.3 + idb: 7.0.1 + tslib: 2.6.2 + dev: false + + /@firebase/logger@0.4.0: + resolution: {integrity: sha512-eRKSeykumZ5+cJPdxxJRgAC3G5NknY2GwEbKfymdnXtnT0Ucm4pspfR6GT4MUQEDuJwRVbVcSx85kgJulMoFFA==} + dependencies: + tslib: 2.6.2 + dev: false + + /@firebase/messaging-compat@0.2.5(@firebase/app-compat@0.2.25)(@firebase/app@0.9.25): + resolution: {integrity: sha512-qHQZxm4hEG8/HFU/ls5/bU+rpnlPDoZoqi3ATMeb6s4hovYV9+PfV5I7ZrKV5eFFv47Hx1PWLe5uPnS4e7gMwQ==} + peerDependencies: + '@firebase/app-compat': 0.x + dependencies: + '@firebase/app-compat': 0.2.25 + '@firebase/component': 0.6.4 + '@firebase/messaging': 0.12.5(@firebase/app@0.9.25) + '@firebase/util': 1.9.3 + tslib: 2.6.2 + transitivePeerDependencies: + - '@firebase/app' + dev: false + + /@firebase/messaging-interop-types@0.2.0: + resolution: {integrity: sha512-ujA8dcRuVeBixGR9CtegfpU4YmZf3Lt7QYkcj693FFannwNuZgfAYaTmbJ40dtjB81SAu6tbFPL9YLNT15KmOQ==} + dev: false + + /@firebase/messaging@0.12.5(@firebase/app@0.9.25): + resolution: {integrity: sha512-i/rrEI2k9ueFhdIr8KQsptWGskrsnkC5TkohCTrJKz9P0C/PbNv14IAMkwhMJTqIur5VwuOnrUkc9Kdz7awekw==} + peerDependencies: + '@firebase/app': 0.x + dependencies: + '@firebase/app': 0.9.25 + '@firebase/component': 0.6.4 + '@firebase/installations': 0.6.4(@firebase/app@0.9.25) + '@firebase/messaging-interop-types': 0.2.0 + '@firebase/util': 1.9.3 + idb: 7.1.1 + tslib: 2.6.2 + dev: false + + /@firebase/performance-compat@0.2.4(@firebase/app-compat@0.2.25)(@firebase/app@0.9.25): + resolution: {integrity: sha512-nnHUb8uP9G8islzcld/k6Bg5RhX62VpbAb/Anj7IXs/hp32Eb2LqFPZK4sy3pKkBUO5wcrlRWQa6wKOxqlUqsg==} + peerDependencies: + '@firebase/app-compat': 0.x + dependencies: + '@firebase/app-compat': 0.2.25 + '@firebase/component': 0.6.4 + '@firebase/logger': 0.4.0 + '@firebase/performance': 0.6.4(@firebase/app@0.9.25) + '@firebase/performance-types': 0.2.0 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + transitivePeerDependencies: + - '@firebase/app' + dev: false + + /@firebase/performance-types@0.2.0: + resolution: {integrity: sha512-kYrbr8e/CYr1KLrLYZZt2noNnf+pRwDq2KK9Au9jHrBMnb0/C9X9yWSXmZkFt4UIdsQknBq8uBB7fsybZdOBTA==} + dev: false + + /@firebase/performance@0.6.4(@firebase/app@0.9.25): + resolution: {integrity: sha512-HfTn/bd8mfy/61vEqaBelNiNnvAbUtME2S25A67Nb34zVuCSCRIX4SseXY6zBnOFj3oLisaEqhVcJmVPAej67g==} + peerDependencies: + '@firebase/app': 0.x + dependencies: + '@firebase/app': 0.9.25 + '@firebase/component': 0.6.4 + '@firebase/installations': 0.6.4(@firebase/app@0.9.25) + '@firebase/logger': 0.4.0 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + dev: false + + /@firebase/remote-config-compat@0.2.4(@firebase/app-compat@0.2.25)(@firebase/app@0.9.25): + resolution: {integrity: sha512-FKiki53jZirrDFkBHglB3C07j5wBpitAaj8kLME6g8Mx+aq7u9P7qfmuSRytiOItADhWUj7O1JIv7n9q87SuwA==} + peerDependencies: + '@firebase/app-compat': 0.x + dependencies: + '@firebase/app-compat': 0.2.25 + '@firebase/component': 0.6.4 + '@firebase/logger': 0.4.0 + '@firebase/remote-config': 0.4.4(@firebase/app@0.9.25) + '@firebase/remote-config-types': 0.3.0 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + transitivePeerDependencies: + - '@firebase/app' + dev: false + + /@firebase/remote-config-types@0.3.0: + resolution: {integrity: sha512-RtEH4vdcbXZuZWRZbIRmQVBNsE7VDQpet2qFvq6vwKLBIQRQR5Kh58M4ok3A3US8Sr3rubYnaGqZSurCwI8uMA==} + dev: false + + /@firebase/remote-config@0.4.4(@firebase/app@0.9.25): + resolution: {integrity: sha512-x1ioTHGX8ZwDSTOVp8PBLv2/wfwKzb4pxi0gFezS5GCJwbLlloUH4YYZHHS83IPxnua8b6l0IXUaWd0RgbWwzQ==} + peerDependencies: + '@firebase/app': 0.x + dependencies: + '@firebase/app': 0.9.25 + '@firebase/component': 0.6.4 + '@firebase/installations': 0.6.4(@firebase/app@0.9.25) + '@firebase/logger': 0.4.0 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + dev: false + + /@firebase/storage-compat@0.3.3(@firebase/app-compat@0.2.25)(@firebase/app-types@0.9.0)(@firebase/app@0.9.25): + resolution: {integrity: sha512-WNtjYPhpOA1nKcRu5lIodX0wZtP8pI0VxDJnk6lr+av7QZNS1s6zvr+ERDTve+Qu4Hq/ZnNaf3kBEQR2ccXn6A==} + peerDependencies: + '@firebase/app-compat': 0.x + dependencies: + '@firebase/app-compat': 0.2.25 + '@firebase/component': 0.6.4 + '@firebase/storage': 0.12.0(@firebase/app@0.9.25) + '@firebase/storage-types': 0.8.0(@firebase/app-types@0.9.0)(@firebase/util@1.9.3) + '@firebase/util': 1.9.3 + tslib: 2.6.2 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + dev: false + + /@firebase/storage-types@0.8.0(@firebase/app-types@0.9.0)(@firebase/util@1.9.3): + resolution: {integrity: sha512-isRHcGrTs9kITJC0AVehHfpraWFui39MPaU7Eo8QfWlqW7YPymBmRgjDrlOgFdURh6Cdeg07zmkLP5tzTKRSpg==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + dependencies: + '@firebase/app-types': 0.9.0 + '@firebase/util': 1.9.3 + dev: false + + /@firebase/storage@0.12.0(@firebase/app@0.9.25): + resolution: {integrity: sha512-SGs02Y/mmWBRsqZiYLpv4Sf7uZYZzMWVNN+aKiDqPsFBCzD6hLvGkXz+u98KAl8FqcjgB8BtSu01wm4pm76KHA==} + peerDependencies: + '@firebase/app': 0.x + dependencies: + '@firebase/app': 0.9.25 + '@firebase/component': 0.6.4 + '@firebase/util': 1.9.3 + tslib: 2.6.2 + undici: 5.26.5 + dev: false + + /@firebase/util@1.9.3: + resolution: {integrity: sha512-DY02CRhOZwpzO36fHpuVysz6JZrscPiBXD0fXp6qSrL9oNOx5KWICKdR95C0lSITzxp0TZosVyHqzatE8JbcjA==} + dependencies: + tslib: 2.6.2 + dev: false + + /@firebase/webchannel-wrapper@0.10.5: + resolution: {integrity: sha512-eSkJsnhBWv5kCTSU1tSUVl9mpFu+5NXXunZc83le8GMjMlsWwQArSc7cJJ4yl+aDFY0NGLi0AjZWMn1axOrkRg==} + dev: false + + /@fontsource/fira-mono@4.5.10: + resolution: {integrity: sha512-bxUnRP8xptGRo8YXeY073DSpfK74XpSb0ZyRNpHV9WvLnJ7TwPOjZll8hTMin7zLC6iOp59pDZ8EQDj1gzgAQQ==} + dev: true + + /@formatjs/intl-localematcher@0.2.32: + resolution: {integrity: sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==} + dependencies: + tslib: 2.6.2 + dev: false /@gar/promisify@1.1.3: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: true + /@google-cloud/firestore@6.8.0: + resolution: {integrity: sha512-JRpk06SmZXLGz0pNx1x7yU3YhkUXheKgH5hbDZ4kMsdhtfV5qPLJLRI4wv69K0cZorIk+zTMOwptue7hizo0eA==} + engines: {node: '>=12.0.0'} + requiresBuild: true + dependencies: + fast-deep-equal: 3.1.3 + functional-red-black-tree: 1.0.1 + google-gax: 3.6.1 + protobufjs: 7.2.5 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + optional: true + + /@google-cloud/paginator@3.0.7: + resolution: {integrity: sha512-jJNutk0arIQhmpUUQJPJErsojqo834KcyB6X7a1mxuic8i1tKXxde8E69IZxNZawRIlZdIK2QY4WALvlK5MzYQ==} + engines: {node: '>=10'} + requiresBuild: true + dependencies: + arrify: 2.0.1 + extend: 3.0.2 + dev: false + optional: true + + /@google-cloud/projectify@3.0.0: + resolution: {integrity: sha512-HRkZsNmjScY6Li8/kb70wjGlDDyLkVk3KvoEo9uIoxSjYLJasGiCch9+PqRVDOCGUFvEIqyogl+BeqILL4OJHA==} + engines: {node: '>=12.0.0'} + requiresBuild: true + dev: false + optional: true + + /@google-cloud/promisify@3.0.1: + resolution: {integrity: sha512-z1CjRjtQyBOYL+5Qr9DdYIfrdLBe746jRTYfaYU6MeXkqp7UfYs/jX16lFFVzZ7PGEJvqZNqYUEtb1mvDww4pA==} + engines: {node: '>=12'} + requiresBuild: true + dev: false + optional: true + + /@google-cloud/storage@6.12.0: + resolution: {integrity: sha512-78nNAY7iiZ4O/BouWMWTD/oSF2YtYgYB3GZirn0To6eBOugjXVoK+GXgUXOl+HlqbAOyHxAVXOlsj3snfbQ1dw==} + engines: {node: '>=12'} + requiresBuild: true + dependencies: + '@google-cloud/paginator': 3.0.7 + '@google-cloud/projectify': 3.0.0 + '@google-cloud/promisify': 3.0.1 + abort-controller: 3.0.0 + async-retry: 1.3.3 + compressible: 2.0.18 + duplexify: 4.1.2 + ent: 2.2.0 + extend: 3.0.2 + fast-xml-parser: 4.3.2 + gaxios: 5.1.3 + google-auth-library: 8.9.0 + mime: 3.0.0 + mime-types: 2.1.35 + p-limit: 3.1.0 + retry-request: 5.0.2 + teeny-request: 8.0.3 + uuid: 8.3.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + optional: true + + /@grpc/grpc-js@1.8.21: + resolution: {integrity: sha512-KeyQeZpxeEBSqFVTi3q2K7PiPXmgBfECc4updA1ejCLjYmoAlvvM3ZMp5ztTDUCUQmoY3CpDxvchjO1+rFkoHg==} + engines: {node: ^8.13.0 || >=10.10.0} + requiresBuild: true + dependencies: + '@grpc/proto-loader': 0.7.10 + '@types/node': 20.9.0 + dev: false + optional: true + + /@grpc/grpc-js@1.9.12: + resolution: {integrity: sha512-Um5MBuge32TS3lAKX02PGCnFM4xPT996yLgZNb5H03pn6NyJ4Iwn5YcPq6Jj9yxGRk7WOgaZFtVRH5iTdYBeUg==} + engines: {node: ^8.13.0 || >=10.10.0} + dependencies: + '@grpc/proto-loader': 0.7.10 + '@types/node': 20.9.0 + dev: false + + /@grpc/proto-loader@0.7.10: + resolution: {integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==} + engines: {node: '>=6'} + hasBin: true + dependencies: + lodash.camelcase: 4.3.0 + long: 5.2.3 + protobufjs: 7.2.5 + yargs: 17.7.2 + dev: false + /@humanwhocodes/config-array@0.11.13: resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} engines: {node: '>=10.10.0'} @@ -5478,6 +6693,49 @@ packages: slash: 3.0.0 dev: true + /@jest/core@29.7.0: + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.9.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.9.0) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + dev: true + /@jest/core@29.7.0(ts-node@10.9.1): resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5736,6 +6994,15 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true + /@jsdoc/salty@0.2.7: + resolution: {integrity: sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==} + engines: {node: '>=v12.0.0'} + requiresBuild: true + dependencies: + lodash: 4.17.21 + dev: false + optional: true + /@jspm/core@2.0.1: resolution: {integrity: sha512-Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==} dev: true @@ -5754,7 +7021,6 @@ packages: /@leichtgewicht/ip-codec@2.0.4: resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} - dev: true /@lit-labs/ssr-dom-shim@1.1.2: resolution: {integrity: sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==} @@ -5771,7 +7037,6 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.5 - dev: true /@mapbox/node-pre-gyp@1.0.11: resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} @@ -5791,6 +7056,52 @@ packages: - supports-color dev: true + /@mdx-js/loader@2.3.0(webpack@5.89.0): + resolution: {integrity: sha512-IqsscXh7Q3Rzb+f5DXYk0HU71PK+WuFsEhf+mSV3fOhpLcEpgsHvTQ2h0T6TlZ5gHOaBeFjkXwB52by7ypMyNg==} + peerDependencies: + webpack: '>=4' + dependencies: + '@mdx-js/mdx': 2.3.0 + source-map: 0.7.4 + webpack: 5.89.0(@swc/core@1.3.96)(webpack-cli@5.1.4) + transitivePeerDependencies: + - supports-color + dev: false + + /@mdx-js/mdx@2.3.0: + resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==} + dependencies: + '@types/estree-jsx': 1.0.3 + '@types/mdx': 2.0.10 + estree-util-build-jsx: 2.2.2 + estree-util-is-identifier-name: 2.1.0 + estree-util-to-js: 1.2.0 + estree-walker: 3.0.3 + hast-util-to-estree: 2.3.3 + markdown-extensions: 1.1.1 + periscopic: 3.1.0 + remark-mdx: 2.3.0 + remark-parse: 10.0.2 + remark-rehype: 10.1.0 + unified: 10.1.2 + unist-util-position-from-estree: 1.1.2 + unist-util-stringify-position: 3.0.3 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + transitivePeerDependencies: + - supports-color + dev: false + + /@mdx-js/react@2.3.0(react@18.2.0): + resolution: {integrity: sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==} + peerDependencies: + react: '>=16' + dependencies: + '@types/mdx': 2.0.10 + '@types/react': 18.2.37 + react: 18.2.0 + dev: false + /@monaco-editor/loader@1.4.0(monaco-editor@0.44.0): resolution: {integrity: sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==} peerDependencies: @@ -5838,6 +7149,15 @@ packages: urlpattern-polyfill: 8.0.2 dev: true + /@next/bundle-analyzer@14.0.3: + resolution: {integrity: sha512-+UriXNEn2vGR2IxTiiuen45G7lXUbtMh0hgS/UH2o2E4TnScwjEEepqT76pY8fdpa5JEZ+gvBy6aSnrw4G2P2w==} + dependencies: + webpack-bundle-analyzer: 4.7.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + /@next/env@14.0.2: resolution: {integrity: sha512-HAW1sljizEaduEOes/m84oUqeIDAUYBR1CDwu2tobNlNDFP3cSm9d6QsOsGeNlIppU1p/p1+bWbYCbvwjFiceA==} dev: false @@ -5846,6 +7166,21 @@ packages: resolution: {integrity: sha512-APrYFsXfAhnysycqxHcpg6Y4i7Ukp30GzVSZQRKT3OczbzkqGjt33vNhScmgoOXYBU1CfkwgtXmNxdiwv1jKmg==} dependencies: glob: 7.1.7 + + /@next/mdx@14.0.3(@mdx-js/loader@2.3.0)(@mdx-js/react@2.3.0): + resolution: {integrity: sha512-RhiANppBndB7ELjPc3SEdEywLWgsy69Vj1bJtfDWqCl8yIVX9aps1D7kwby1pBAweHvZVpiI91Xu/78citVQrQ==} + peerDependencies: + '@mdx-js/loader': '>=0.15.0' + '@mdx-js/react': '>=0.15.0' + peerDependenciesMeta: + '@mdx-js/loader': + optional: true + '@mdx-js/react': + optional: true + dependencies: + '@mdx-js/loader': 2.3.0(webpack@5.89.0) + '@mdx-js/react': 2.3.0(react@18.2.0) + source-map: 0.7.4 dev: false /@next/swc-darwin-arm64@14.0.2: @@ -6127,7 +7462,6 @@ packages: read-package-json-fast: 3.0.2 semver: 7.5.4 walk-up-path: 3.0.1 - dev: true /@npmcli/fs@1.1.1: resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} @@ -6176,7 +7510,6 @@ packages: glob: 10.3.10 minimatch: 9.0.3 read-package-json-fast: 3.0.2 - dev: true /@npmcli/move-file@1.1.2: resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} @@ -6190,7 +7523,6 @@ packages: /@npmcli/name-from-folder@2.0.0: resolution: {integrity: sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true /@npmcli/node-gyp@3.0.0: resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} @@ -6237,7 +7569,7 @@ packages: '@nuxt/kit': 3.8.1 '@nuxt/schema': 3.8.1 execa: 7.2.0 - nuxt: 3.8.1(@types/node@18.18.9)(eslint@8.54.0)(typescript@5.2.2)(vite@4.5.0) + nuxt: 3.8.1(@types/node@18.18.9)(eslint@8.55.0)(typescript@5.2.2)(vite@4.5.0) vite: 4.5.0(@types/node@18.18.9)(less@4.2.0)(sass@1.69.5)(terser@5.24.0) transitivePeerDependencies: - rollup @@ -6287,7 +7619,7 @@ packages: local-pkg: 0.5.0 magicast: 0.3.2 nitropack: 2.7.2 - nuxt: 3.8.1(@types/node@18.18.9)(eslint@8.54.0)(typescript@5.2.2)(vite@4.5.0) + nuxt: 3.8.1(@types/node@18.18.9)(eslint@8.55.0)(typescript@5.2.2)(vite@4.5.0) nypm: 0.3.3 ofetch: 1.3.3 ohash: 1.1.3 @@ -6404,7 +7736,7 @@ packages: resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==} dev: true - /@nuxt/vite-builder@3.8.1(@types/node@18.18.9)(eslint@8.54.0)(typescript@5.2.2)(vue@3.3.8): + /@nuxt/vite-builder@3.8.1(@types/node@18.18.9)(eslint@8.55.0)(typescript@5.2.2)(vue@3.3.8): resolution: {integrity: sha512-Ot/twGONxj22T9U4bxp771ibKVFlZxIiYDHY/e6mZsE4Blc0efKo6MzPPPo0W4/tXQbtKKEq41uINN3dMI3mag==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -6441,7 +7773,7 @@ packages: unplugin: 1.5.0 vite: 4.5.0(@types/node@18.18.9)(less@4.2.0)(sass@1.69.5)(terser@5.24.0) vite-node: 0.33.0(@types/node@18.18.9) - vite-plugin-checker: 0.6.2(eslint@8.54.0)(typescript@5.2.2)(vite@4.5.0) + vite-plugin-checker: 0.6.2(eslint@8.55.0)(typescript@5.2.2)(vite@4.5.0) vue: 3.3.8(typescript@5.2.2) vue-bundle-renderer: 2.0.0 transitivePeerDependencies: @@ -6750,6 +8082,53 @@ packages: resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} dev: true + /@popperjs/core@2.11.8: + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + dev: false + + /@protobufjs/aspromise@1.1.2: + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + dev: false + + /@protobufjs/base64@1.1.2: + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + dev: false + + /@protobufjs/codegen@2.0.4: + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + dev: false + + /@protobufjs/eventemitter@1.1.0: + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + dev: false + + /@protobufjs/fetch@1.1.0: + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + dev: false + + /@protobufjs/float@1.0.2: + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + dev: false + + /@protobufjs/inquire@1.1.0: + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + dev: false + + /@protobufjs/path@1.1.2: + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + dev: false + + /@protobufjs/pool@1.1.0: + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + dev: false + + /@protobufjs/utf8@1.1.0: + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + dev: false + /@puppeteer/browsers@1.8.0: resolution: {integrity: sha512-TkRHIV6k2D8OlUe8RtG+5jgOF/H98Myx0M6AOafC8DdNVOFiBSFa5cpRDtpm8LXOa9sVwe0+e6Q3FC56X/DZfg==} engines: {node: '>=16.3.0'} @@ -7127,6 +8506,19 @@ packages: /@rushstack/eslint-patch@1.5.1: resolution: {integrity: sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==} + /@sapphire/async-queue@1.5.1: + resolution: {integrity: sha512-1RdpsmDQR/aWfp8oJzPtn4dNQrbpqSL5PIA0uAB/XwerPXUf994Ug1au1e7uGcD7ei8/F63UDjr5GWps1g/HxQ==} + engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + dev: false + + /@sapphire/shapeshift@3.9.4: + resolution: {integrity: sha512-SiOoCBmm8O7QuadLJnX4V0tAkhC54NIOZJtmvw+5zwnHaiulGkjY02wxCuK8Gf4V540ILmGz+UulC0U8mrOZjg==} + engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + dependencies: + fast-deep-equal: 3.1.3 + lodash: 4.17.21 + dev: false + /@schematics/angular@17.0.0: resolution: {integrity: sha512-9jKU5x/WzaBsfSkUowK1X74FqtMXa6+A60XgW4ACO8i6fwKfPeS+tIrAieeYOX80/njBh7I5CvcpHmWA2SbcXQ==} engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -7293,7 +8685,11 @@ packages: /@sindresorhus/is@4.6.0: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - dev: true + + /@sindresorhus/is@5.6.0: + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + dev: false /@sindresorhus/merge-streams@1.0.0: resolution: {integrity: sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==} @@ -7376,17 +8772,174 @@ packages: svelte: ^3.54.0 || ^4.0.0 || ^5.0.0-next.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.5.2)(svelte@4.2.3)(vite@4.5.0) - debug: 4.3.4 - deepmerge: 4.3.1 - kleur: 4.1.5 - magic-string: 0.30.5 - svelte: 4.2.3 - svelte-hmr: 0.15.3(svelte@4.2.3) - vite: 4.5.0(@types/node@20.9.0)(less@4.2.0)(sass@1.69.5)(terser@5.24.0) - vitefu: 0.2.5(vite@4.5.0) + '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.5.2)(svelte@4.2.3)(vite@4.5.0) + debug: 4.3.4 + deepmerge: 4.3.1 + kleur: 4.1.5 + magic-string: 0.30.5 + svelte: 4.2.3 + svelte-hmr: 0.15.3(svelte@4.2.3) + vite: 4.5.0(@types/node@20.9.0)(less@4.2.0)(sass@1.69.5)(terser@5.24.0) + vitefu: 0.2.5(vite@4.5.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.23.3): + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-preset@8.1.0(@babel/core@7.23.3): + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.23.3) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.23.3) + dev: true + + /@svgr/core@8.1.0(typescript@5.2.2): + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} + dependencies: + '@babel/core': 7.23.3 + '@svgr/babel-preset': 8.1.0(@babel/core@7.23.3) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.2.2) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@svgr/hast-util-to-babel-ast@8.0.0: + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} + dependencies: + '@babel/types': 7.23.3 + entities: 4.5.0 + dev: true + + /@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0): + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + dependencies: + '@babel/core': 7.23.3 + '@svgr/babel-preset': 8.1.0(@babel/core@7.23.3) + '@svgr/core': 8.1.0(typescript@5.2.2) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0)(typescript@5.2.2): + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + dependencies: + '@svgr/core': 8.1.0(typescript@5.2.2) + cosmiconfig: 8.3.6(typescript@5.2.2) + deepmerge: 4.3.1 + svgo: 3.0.3 + transitivePeerDependencies: + - typescript + dev: true + + /@svgr/webpack@8.1.0(typescript@5.2.2): + resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} + engines: {node: '>=14'} + dependencies: + '@babel/core': 7.23.3 + '@babel/plugin-transform-react-constant-elements': 7.23.3(@babel/core@7.23.3) + '@babel/preset-env': 7.23.3(@babel/core@7.23.3) + '@babel/preset-react': 7.23.3(@babel/core@7.23.3) + '@babel/preset-typescript': 7.23.3(@babel/core@7.23.3) + '@svgr/core': 8.1.0(typescript@5.2.2) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0)(typescript@5.2.2) transitivePeerDependencies: - supports-color + - typescript dev: true /@swc-node/core@1.10.6(@swc/core@1.3.96): @@ -7444,7 +8997,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /@swc/core-darwin-x64@1.3.96: @@ -7453,7 +9005,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /@swc/core-linux-arm-gnueabihf@1.3.96: @@ -7462,7 +9013,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-arm64-gnu@1.3.96: @@ -7471,7 +9021,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-arm64-musl@1.3.96: @@ -7480,7 +9029,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-x64-gnu@1.3.96: @@ -7489,7 +9037,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-x64-musl@1.3.96: @@ -7498,7 +9045,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-win32-arm64-msvc@1.3.96: @@ -7507,7 +9053,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /@swc/core-win32-ia32-msvc@1.3.96: @@ -7516,7 +9061,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /@swc/core-win32-x64-msvc@1.3.96: @@ -7525,7 +9069,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@swc/core@1.3.96: @@ -7551,11 +9094,9 @@ packages: '@swc/core-win32-arm64-msvc': 1.3.96 '@swc/core-win32-ia32-msvc': 1.3.96 '@swc/core-win32-x64-msvc': 1.3.96 - dev: true /@swc/counter@0.1.2: resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==} - dev: true /@swc/helpers@0.5.2: resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} @@ -7576,7 +9117,6 @@ packages: /@swc/types@0.1.5: resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} - dev: true /@szmarczak/http-timer@4.0.6: resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} @@ -7585,6 +9125,27 @@ packages: defer-to-connect: 2.0.1 dev: true + /@szmarczak/http-timer@5.0.1: + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + dependencies: + defer-to-connect: 2.0.1 + dev: false + + /@tabler/icons-react@2.42.0(react@18.2.0): + resolution: {integrity: sha512-2APr++u24P2mx9vJymJQJORRpu2Qej0rPrtAvgXu8YomHjLXVP+O1VtToSGyoSPH1ysA569XbxrwzOau9Ne12A==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 + dependencies: + '@tabler/icons': 2.42.0 + prop-types: 15.8.1 + react: 18.2.0 + dev: false + + /@tabler/icons@2.42.0: + resolution: {integrity: sha512-ynV4iaC1c1mUhuAr9HRaoq8KrWYmZ0bJEpOh7qTBE+OfdDsdvQUe+0S7FW+DHkJ4RuxQMdO8djrZK7HrUw9YMA==} + dev: false + /@techor/extend@2.5.19: resolution: {integrity: sha512-EmNY4tQgmUscPtecO7mqh9WUZgZBX43Cd/kxXzP85/DB4nu402xgwba5rTsk8ervxqoSzrtT1b+OnZ51cYnjuQ==} @@ -7723,7 +9284,6 @@ packages: /@tootallnate/once@2.0.0: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} - dev: true /@tootallnate/quickjs-emscripten@0.23.0: resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} @@ -7775,7 +9335,6 @@ packages: resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} dependencies: '@types/estree': 1.0.5 - dev: true /@types/aria-query@5.0.4: resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} @@ -7811,13 +9370,11 @@ packages: dependencies: '@types/connect': 3.4.38 '@types/node': 20.9.0 - dev: true /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: '@types/node': 20.9.0 - dev: true /@types/cacheable-request@6.0.3: resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} @@ -7828,6 +9385,14 @@ packages: '@types/responselike': 1.0.3 dev: true + /@types/canvas-confetti@1.6.4: + resolution: {integrity: sha512-fNyZ/Fdw/Y92X0vv7B+BD6ysHL4xVU5dJcgzgxLdGbn8O3PezZNIJpml44lKM0nsGur+o/6+NZbZeNTt00U1uA==} + dev: true + + /@types/clone-deep@4.0.4: + resolution: {integrity: sha512-vXh6JuuaAha6sqEbJueYdh5zNBPPgG1OYumuz2UvLvriN6ABHDSW8ludREGWJb1MLIzbwZn4q4zUbUCerJTJfA==} + dev: true + /@types/color-convert@2.0.3: resolution: {integrity: sha512-2Q6wzrNiuEvYxVQqhh7sXM2mhIhvZR/Paq4FdsQkOMgWsCIkKvSGj8Le1/XalulrmgOzPMqNa0ix+ePY4hTrfg==} dependencies: @@ -7842,20 +9407,21 @@ packages: resolution: {integrity: sha512-hgEx+hdJnfCHa62l6SNHNoe/cRge2HoUZe9KEDwOs2TvyocLTlTuw0rUMiii99kG2avc+BubhNpZ+cu05Gl8oQ==} dependencies: '@types/node': 20.9.0 - dev: true /@types/connect-history-api-fallback@1.5.3: resolution: {integrity: sha512-6mfQ6iNvhSKCZJoY6sIG3m0pKkdUcweVNOLuBBKvoWGzl2yRxOJcYOTRyLKt3nxXvBLJWa6QkW//tgbIwJehmA==} dependencies: '@types/express-serve-static-core': 4.17.41 '@types/node': 20.9.0 - dev: true /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: '@types/node': 20.9.0 - dev: true + + /@types/content-type@1.1.8: + resolution: {integrity: sha512-1tBhmVUeso3+ahfyaKluXe38p+94lovUZdoVfQ3OnJo9uJC42JT7CBoN3k9HYhAae+GwiBYmHu+N9FZhOG+2Pg==} + dev: false /@types/cookie@0.4.1: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} @@ -7870,6 +9436,10 @@ packages: '@types/node': 20.9.0 dev: true + /@types/current-git-branch@1.1.6: + resolution: {integrity: sha512-zXG02ZIQ98r/+ARpow/yx54GYie7yeDKPJUJq5eFe6FwiYjR3TK5To08zuZgcF90QjG0Z5sdD5hxHBVB93b5Kg==} + dev: true + /@types/debug@4.1.12: resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} dependencies: @@ -7884,14 +9454,12 @@ packages: dependencies: '@types/eslint': 8.44.7 '@types/estree': 1.0.5 - dev: true /@types/eslint@8.44.7: resolution: {integrity: sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 - dev: true /@types/estree-jsx@0.0.1: resolution: {integrity: sha512-gcLAYiMfQklDCPjQegGn0TBAn9it05ISEsEhlKQUddIk7o2XDokOcTN7HBO8tznM0D9dGezvHEfRZBfZf6me0A==} @@ -7903,7 +9471,6 @@ packages: resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==} dependencies: '@types/estree': 1.0.5 - dev: true /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -7915,7 +9482,6 @@ packages: '@types/qs': 6.9.10 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 - dev: true /@types/express@4.17.21: resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} @@ -7924,14 +9490,16 @@ packages: '@types/express-serve-static-core': 4.17.41 '@types/qs': 6.9.10 '@types/serve-static': 1.15.5 - dev: true + + /@types/extend@3.0.4: + resolution: {integrity: sha512-ArMouDUTJEz1SQRpFsT2rIw7DeqICFv5aaVzLSIYMYQSLcwcGOfT3VyglQs/p7K3F7fT4zxr0NWxYZIdifD6dA==} + dev: false /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 '@types/node': 20.9.0 - dev: true /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} @@ -7956,21 +9524,17 @@ packages: /@types/http-cache-semantics@4.0.4: resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - dev: true /@types/http-errors@2.0.4: resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - dev: true /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: '@types/node': 20.9.0 - dev: true /@types/is-empty@1.2.3: resolution: {integrity: sha512-4J1l5d79hoIvsrKh5VUKVRA1aIdsOb10Hu5j3J2VfP/msDnfTdGPmNp2E1Wg+vs97Bktzo+MZePFFXSGoykYJw==} - dev: true /@types/istanbul-lib-coverage@2.0.6: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -7992,6 +9556,10 @@ packages: resolution: {integrity: sha512-GJzYZWAr7aZuVsQwo77ErgdnqiXiz1lwsXXKgsJEwMlAxWQqjpiTGh0JOpLGXSlIFvIAFbgZTHs0u+jBzh/GFg==} dev: true + /@types/javascript-time-ago@2.0.8: + resolution: {integrity: sha512-X77q3xUzWVn0qohgurKE1G5NiXZjee8VbLqaukW/HXVkz7bdCFJgOPQ3JVB4IkrDhMS4CviFTmpZuNVg0i2QFA==} + dev: true + /@types/jest@29.5.8: resolution: {integrity: sha512-fXEFTxMV2Co8ZF5aYFJv+YeA08RTYJfhtN5c9JSv/mFEMe+xxjufCb+PHL+bJcMs/ebPUsBu+UNTEz+ydXrR6g==} dependencies: @@ -7999,6 +9567,10 @@ packages: pretty-format: 29.7.0 dev: true + /@types/js-beautify@1.14.3: + resolution: {integrity: sha512-FMbQHz+qd9DoGvgLHxeqqVPaNRffpIu5ZjozwV8hf9JAGpIOzuAf4wGbRSo8LNITHqGjmmVjaMggTT5P4v4IHg==} + dev: true + /@types/jsdom@20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: @@ -8007,9 +9579,16 @@ packages: parse5: 7.1.2 dev: true + /@types/jsdom@21.1.6: + resolution: {integrity: sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==} + dependencies: + '@types/node': 20.9.0 + '@types/tough-cookie': 4.0.5 + parse5: 7.1.2 + dev: false + /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: true /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} @@ -8018,12 +9597,49 @@ packages: resolution: {integrity: sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA==} dev: false + /@types/jsonwebtoken@9.0.5: + resolution: {integrity: sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA==} + dependencies: + '@types/node': 20.9.0 + dev: false + /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: '@types/node': 20.9.0 dev: true + /@types/linkify-it@3.0.5: + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + requiresBuild: true + dev: false + optional: true + + /@types/lodash.debounce@4.0.9: + resolution: {integrity: sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==} + dependencies: + '@types/lodash': 4.14.202 + dev: true + + /@types/lodash@4.14.202: + resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} + dev: true + + /@types/long@4.0.2: + resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} + requiresBuild: true + dev: false + optional: true + + /@types/markdown-it@12.2.3: + resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} + requiresBuild: true + dependencies: + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 + dev: false + optional: true + /@types/mdast@3.0.15: resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} dependencies: @@ -8037,19 +9653,22 @@ packages: /@types/mdurl@1.0.5: resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + + /@types/mdx@2.0.10: + resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==} + + /@types/mime-types@2.1.4: + resolution: {integrity: sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==} dev: true /@types/mime@1.3.5: resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - dev: true /@types/mime@3.0.4: resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} - dev: true /@types/minimatch@5.1.2: resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - dev: true /@types/minimist@1.2.5: resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} @@ -8058,6 +9677,10 @@ packages: /@types/ms@0.7.34: resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + /@types/negotiator@0.6.3: + resolution: {integrity: sha512-JkXTOdKs5MF086b/pt8C3+yVp3iDUwG635L7oCH6HvJvvr6lSUU5oe/gLXnPEfYRROHjJIPgCV6cuAg8gGkntQ==} + dev: true + /@types/nlcst@1.0.4: resolution: {integrity: sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==} dependencies: @@ -8068,17 +9691,14 @@ packages: resolution: {integrity: sha512-meK88cx/sTalPSLSoCzkiUB4VPIFHmxtXm5FaaqRDqBX2i/Sy8bJ4odsan0b20RBjPh06dAQ+OTTdnyQyhJZyQ==} dependencies: '@types/node': 20.9.0 - dev: true /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - dev: false /@types/node@18.18.9: resolution: {integrity: sha512-0f5klcuImLnG4Qreu9hPj/rEfFq6YRc5n2mAjSsH+ec/mJL+3voBH0+8T7o8RpFjH7ovc+TRsL/c7OYIQsPTfQ==} dependencies: undici-types: 5.26.5 - dev: true /@types/node@20.9.0: resolution: {integrity: sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==} @@ -8093,6 +9713,14 @@ packages: resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} dev: false + /@types/pretty-hrtime@1.0.3: + resolution: {integrity: sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==} + dev: true + + /@types/prismjs@1.26.3: + resolution: {integrity: sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==} + dev: true + /@types/prop-types@15.7.10: resolution: {integrity: sha512-mxSnDQxPqsZxmeShFH+uwQ4kO4gcJcGahjjMFeLbKE95IAZiiZyiEepGZjtXJ7hN/yfu0bu9xN2ajcU0JcxX6A==} @@ -8102,17 +9730,27 @@ packages: /@types/qs@6.9.10: resolution: {integrity: sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==} - dev: true /@types/range-parser@1.2.7: resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - dev: true /@types/react-dom@18.2.15: resolution: {integrity: sha512-HWMdW+7r7MR5+PZqJF6YFNSCtjz1T0dsvo/f1BV6HkV+6erD/nA7wd9NM00KVG83zf2nJ7uATPO9ttdIPvi3gg==} dependencies: '@types/react': 18.2.37 + /@types/react-portal@4.0.6: + resolution: {integrity: sha512-XUO/XRxovs50Hkfoant04x4AzDOE1ivJNKN/6QzNhH/37NpbWGFFGKFI1ZHOBU+wACPyj3V1A/XgEJkzoTQ7KQ==} + dependencies: + '@types/react': 18.2.37 + dev: true + + /@types/react-sticky-el@1.0.6: + resolution: {integrity: sha512-ermllRAXMOLxrIcIxMZWssz3hcod+Jbr30+jTfPUf5ORmDwR845vjX4qJU4suf4YXHFxZg56PijUg7qhaT6bNg==} + dependencies: + '@types/react': 18.2.37 + dev: true + /@types/react@18.2.37: resolution: {integrity: sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==} dependencies: @@ -8136,7 +9774,15 @@ packages: /@types/retry@0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} - dev: true + + /@types/rimraf@3.0.2: + resolution: {integrity: sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==} + requiresBuild: true + dependencies: + '@types/glob': 7.2.0 + '@types/node': 20.9.0 + dev: false + optional: true /@types/sax@1.2.7: resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} @@ -8156,13 +9802,11 @@ packages: dependencies: '@types/mime': 1.3.5 '@types/node': 20.9.0 - dev: true /@types/serve-index@1.9.4: resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} dependencies: '@types/express': 4.17.21 - dev: true /@types/serve-static@1.15.5: resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} @@ -8170,13 +9814,11 @@ packages: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 '@types/node': 20.9.0 - dev: true /@types/sockjs@0.3.36: resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: '@types/node': 20.9.0 - dev: true /@types/stack-utils@2.0.3: resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -8184,11 +9826,13 @@ packages: /@types/supports-color@8.1.3: resolution: {integrity: sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==} + + /@types/throttle-debounce@5.0.2: + resolution: {integrity: sha512-pDzSNulqooSKvSNcksnV72nk8p7gRqN8As71Sp28nov1IgmPKWbOEIwAWvBME5pPTtaXJAvG3O4oc76HlQ4kqQ==} dev: true /@types/tough-cookie@4.0.5: resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} - dev: true /@types/trusted-types@2.0.6: resolution: {integrity: sha512-HYtNooPvUY9WAVRBr4u+4Qa9fYD1ze2IUlAD3HoA6oehn1taGwBx3Oa52U4mTslTS+GAExKpaFu39Y5xUEwfjg==} @@ -8209,7 +9853,6 @@ packages: resolution: {integrity: sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg==} dependencies: '@types/node': 20.9.0 - dev: true /@types/yargs-parser@21.0.3: resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -8290,7 +9933,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.11.0(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.2.2): + /@typescript-eslint/eslint-plugin@6.11.0(@typescript-eslint/parser@6.13.1)(eslint@8.55.0)(typescript@5.2.2): resolution: {integrity: sha512-uXnpZDc4VRjY4iuypDBKzW1rz9T5YBBK0snMn8MaTSNd2kMlj50LnLBABELjJiOL5YHk7ZD8hbSpI9ubzqYI0w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -8302,13 +9945,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.13.1(eslint@8.55.0)(typescript@5.2.2) '@typescript-eslint/scope-manager': 6.11.0 - '@typescript-eslint/type-utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/type-utils': 6.11.0(eslint@8.55.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.11.0(eslint@8.55.0)(typescript@5.2.2) '@typescript-eslint/visitor-keys': 6.11.0 debug: 4.3.4 - eslint: 8.54.0 + eslint: 8.55.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 @@ -8379,7 +10022,7 @@ packages: transitivePeerDependencies: - supports-color - /@typescript-eslint/parser@6.13.1(eslint@8.54.0)(typescript@5.2.2): + /@typescript-eslint/parser@6.13.1(eslint@8.55.0)(typescript@5.2.2): resolution: {integrity: sha512-fs2XOhWCzRhqMmQf0eicLa/CWSaYss2feXsy7xBD/pLyWke/jCIVc2s1ikEAtSW7ina1HNhv7kONoEfVNEcdDQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -8394,7 +10037,7 @@ packages: '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.2.2) '@typescript-eslint/visitor-keys': 6.13.1 debug: 4.3.4 - eslint: 8.54.0 + eslint: 8.55.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color @@ -8461,7 +10104,7 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@6.11.0(eslint@8.54.0)(typescript@5.2.2): + /@typescript-eslint/type-utils@6.11.0(eslint@8.55.0)(typescript@5.2.2): resolution: {integrity: sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -8472,9 +10115,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.11.0(eslint@8.55.0)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.54.0 + eslint: 8.55.0 ts-api-utils: 1.0.3(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: @@ -8635,19 +10278,19 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.11.0(eslint@8.54.0)(typescript@5.2.2): + /@typescript-eslint/utils@6.11.0(eslint@8.55.0)(typescript@5.2.2): resolution: {integrity: sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.5 '@typescript-eslint/scope-manager': 6.11.0 '@typescript-eslint/types': 6.11.0 '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) - eslint: 8.54.0 + eslint: 8.55.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -8773,6 +10416,12 @@ packages: resolution: {integrity: sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ==} dev: true + /@vercel/analytics@1.1.1: + resolution: {integrity: sha512-+NqgNmSabg3IFfxYhrWCfB/H+RCUOCR5ExRudNG2+pcRehq628DJB5e1u1xqwpLtn4pAYii4D98w7kofORAGQA==} + dependencies: + server-only: 0.0.1 + dev: false + /@vercel/nft@0.24.3: resolution: {integrity: sha512-IyBdIxmFAeGZnEfMgt4QrGK7XX4lWazlQj34HEi9dw04/WeDBJ7r1yaOIO5tTf9pbfvwUFodj9b0H+NDGGoOMg==} engines: {node: '>=16'} @@ -8846,6 +10495,11 @@ packages: vue: 3.3.8(typescript@5.2.2) dev: true + /@vladfrangu/async_event_emitter@2.2.4: + resolution: {integrity: sha512-ButUPz9E9cXMLgvAW8aLAKKJJsPu1dY1/l/E8xzLFuysowXygs6GBcyunK9rnGC4zTsnIc2mQo71rGw9U+Ykug==} + engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + dev: false + /@volar/language-core@1.10.10: resolution: {integrity: sha512-nsV1o3AZ5n5jaEAObrS3MWLBWaGwUj/vAsc15FVNIv+DbpizQRISg9wzygsHBr56ELRH8r4K75vkYNMtsSNNWw==} dependencies: @@ -9084,19 +10738,15 @@ packages: dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - dev: true /@webassemblyjs/floating-point-hex-parser@1.11.6: resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} - dev: true /@webassemblyjs/helper-api-error@1.11.6: resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} - dev: true /@webassemblyjs/helper-buffer@1.11.6: resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} - dev: true /@webassemblyjs/helper-numbers@1.11.6: resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} @@ -9104,11 +10754,9 @@ packages: '@webassemblyjs/floating-point-hex-parser': 1.11.6 '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 - dev: true /@webassemblyjs/helper-wasm-bytecode@1.11.6: resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - dev: true /@webassemblyjs/helper-wasm-section@1.11.6: resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} @@ -9117,23 +10765,19 @@ packages: '@webassemblyjs/helper-buffer': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/wasm-gen': 1.11.6 - dev: true /@webassemblyjs/ieee754@1.11.6: resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} dependencies: '@xtuc/ieee754': 1.2.0 - dev: true /@webassemblyjs/leb128@1.11.6: resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} dependencies: '@xtuc/long': 4.2.2 - dev: true /@webassemblyjs/utf8@1.11.6: resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} - dev: true /@webassemblyjs/wasm-edit@1.11.6: resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} @@ -9146,7 +10790,6 @@ packages: '@webassemblyjs/wasm-opt': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 '@webassemblyjs/wast-printer': 1.11.6 - dev: true /@webassemblyjs/wasm-gen@1.11.6: resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} @@ -9156,7 +10799,6 @@ packages: '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - dev: true /@webassemblyjs/wasm-opt@1.11.6: resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} @@ -9165,7 +10807,6 @@ packages: '@webassemblyjs/helper-buffer': 1.11.6 '@webassemblyjs/wasm-gen': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 - dev: true /@webassemblyjs/wasm-parser@1.11.6: resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} @@ -9176,14 +10817,12 @@ packages: '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - dev: true /@webassemblyjs/wast-printer@1.11.6: resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} dependencies: '@webassemblyjs/ast': 1.11.6 '@xtuc/long': 4.2.2 - dev: true /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.89.0): resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} @@ -9194,7 +10833,6 @@ packages: dependencies: webpack: 5.89.0(@swc/core@1.3.96)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0) - dev: true /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.89.0): resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==} @@ -9205,7 +10843,6 @@ packages: dependencies: webpack: 5.89.0(@swc/core@1.3.96)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0) - dev: true /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.1)(webpack@5.89.0): resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} @@ -9221,15 +10858,12 @@ packages: webpack: 5.89.0(@swc/core@1.3.96)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0) webpack-dev-server: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0) - dev: true /@xtuc/ieee754@1.2.0: resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - dev: true /@xtuc/long@4.2.2: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - dev: true /@yarnpkg/lockfile@1.1.0: resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} @@ -9250,7 +10884,6 @@ packages: /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - dev: true /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} @@ -9301,7 +10934,6 @@ packages: acorn: ^8 dependencies: acorn: 8.11.2 - dev: true /acorn-jsx@5.3.2(acorn@8.11.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -9333,6 +10965,11 @@ packages: regex-parser: 2.2.11 dev: true + /adm-zip@0.5.10: + resolution: {integrity: sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==} + engines: {node: '>=6.0'} + dev: false + /after@0.8.2: resolution: {integrity: sha512-QbJ0NTQ/I9DI3uSJA4cbexiwQeRAfjPScqIbSjUDd9TOrcg6pTkdgziesOqxBMBzit8vFCTwrP27t13vFOORRA==} dev: false @@ -9394,7 +11031,6 @@ packages: optional: true dependencies: ajv: 8.12.0 - dev: true /ajv-keywords@3.5.2(ajv@6.12.6): resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} @@ -9402,7 +11038,6 @@ packages: ajv: ^6.9.1 dependencies: ajv: 6.12.6 - dev: true /ajv-keywords@5.1.0(ajv@8.12.0): resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} @@ -9411,7 +11046,6 @@ packages: dependencies: ajv: 8.12.0 fast-deep-equal: 3.1.3 - dev: true /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -9428,7 +11062,10 @@ packages: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 - dev: true + + /animated-scroll-to@2.3.0: + resolution: {integrity: sha512-PT/5MSKCWQaK2kuOl2HT2KJMuJEvUS4/TgMhWy82c2EmF74/CIkvPBPKOvd8nMYP6Higo7xCn49/iSW9BccMoQ==} + dev: false /ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} @@ -9439,14 +11076,12 @@ packages: /ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} - dev: true /ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} dependencies: type-fest: 0.21.3 - dev: true /ansi-escapes@6.2.0: resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} @@ -9459,7 +11094,11 @@ packages: resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} engines: {'0': node >= 0.8.0} hasBin: true - dev: true + + /ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + dev: false /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -9473,6 +11112,11 @@ packages: resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} dev: false + /ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + dev: false + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -9619,7 +11263,6 @@ packages: /array-flatten@2.1.2: resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} - dev: true /array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} @@ -9711,6 +11354,13 @@ packages: engines: {node: '>=0.10.0'} dev: true + /arrify@2.0.1: + resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} + engines: {node: '>=8'} + requiresBuild: true + dev: false + optional: true + /assign-symbols@1.0.0: resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} engines: {node: '>=0.10.0'} @@ -9768,7 +11418,6 @@ packages: /astring@1.8.6: resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} hasBin: true - dev: true /astro@2.10.15(@types/node@20.9.0): resolution: {integrity: sha512-7jgkCZexxOX541g2kKHGOcDDUVKYc+sGi87GtLOkbWwTsKqEIp9GU0o7DpKe1rhItm9VVEiHz4uxvMh3wGmJdA==} @@ -9935,6 +11584,14 @@ packages: resolution: {integrity: sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==} dev: false + /async-retry@1.3.3: + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + requiresBuild: true + dependencies: + retry: 0.13.1 + dev: false + optional: true + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: true @@ -9956,7 +11613,6 @@ packages: /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: true /atob@2.1.2: resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} @@ -10004,7 +11660,6 @@ packages: proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - dev: true /axobject-query@3.2.1: resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} @@ -10053,6 +11708,10 @@ packages: webpack: 5.89.0(@swc/core@1.3.96)(webpack-cli@5.1.4) dev: true + /babel-plugin-add-module-exports@0.2.1: + resolution: {integrity: sha512-3AN/9V/rKuv90NG65m4tTHsI04XrCKsWbztIcW7a8H5iIN7WlvWucRtVV0V/rT4QvtA11n5Vmp20fLwfMWqp6g==} + dev: false + /babel-plugin-istanbul@6.1.1: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} @@ -10233,7 +11892,6 @@ packages: /batch@0.6.1: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} - dev: true /bcp47@1.1.2: resolution: {integrity: sha512-JnkkL4GUpOvvanH9AZPX38CxhiLsXMBicBY2IAtqiVN8YulGDQybUydWA4W6yAMtw6iShtw+8HEF6cfrTHU+UQ==} @@ -10256,7 +11914,12 @@ packages: /big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - dev: true + + /bignumber.js@9.1.2: + resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} + requiresBuild: true + dev: false + optional: true /binary-extensions@1.13.1: resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} @@ -10295,6 +11958,12 @@ packages: resolution: {integrity: sha512-YRc9zvVz4wNaxcXmiSgb9LAg7YYwqQ2xd0Sj6osfA7k/PKmIGVlnOYs3wOFdkRC9/JpQu8sGt/zHgJV7xzerfg==} dev: false + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + requiresBuild: true + dev: false + optional: true + /body-parser@1.20.1: resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -10340,7 +12009,6 @@ packages: dns-equal: 1.0.0 fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 - dev: true /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -10533,6 +12201,10 @@ packages: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true + /buffer-equal-constant-time@1.0.1: + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + dev: false + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -10668,6 +12340,24 @@ packages: engines: {node: '>=10.6.0'} dev: true + /cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + dev: false + + /cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} + dependencies: + '@types/http-cache-semantics': 4.0.4 + get-stream: 6.0.1 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.0.0 + responselike: 3.0.0 + dev: false + /cacheable-request@7.0.4: resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} engines: {node: '>=8'} @@ -10696,6 +12386,11 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + /callsites@4.1.0: + resolution: {integrity: sha512-aBMbD1Xxay75ViYezwT40aQONfr+pSXTHwNKvIXhXD6+LY3F1dLIcceoC5OZKBVHbXcysz1hL9D2w0JJIMXpUw==} + engines: {node: '>=12.20'} + dev: false + /camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: @@ -10738,6 +12433,10 @@ packages: /caniuse-lite@1.0.30001562: resolution: {integrity: sha512-kfte3Hym//51EdX4239i+Rmp20EsLIYGdPkERegTgU19hQWCRhsRFGKHTliUlsry53tv17K7n077Kqa0WJU4ng==} + /canvas-confetti@1.9.2: + resolution: {integrity: sha512-6Xi7aHHzKwxZsem4mCKoqP6YwUG3HamaHHAlz1hTNQPCqXhARFpSXnkC9TWlahHY5CG6hSL5XexNjxK8irVErg==} + dev: false + /cardinal@2.1.1: resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} hasBin: true @@ -10746,9 +12445,29 @@ packages: redeyed: 2.1.1 dev: true + /catharsis@0.9.0: + resolution: {integrity: sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==} + engines: {node: '>= 10'} + requiresBuild: true + dependencies: + lodash: 4.17.21 + dev: false + optional: true + /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + /chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: false + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -10796,11 +12515,9 @@ packages: /character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - dev: true /chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true /cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} @@ -10867,7 +12584,6 @@ packages: /chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} - dev: true /chromium-bidi@0.4.33(devtools-protocol@0.0.1203626): resolution: {integrity: sha512-IxoFM5WGQOIAd95qrSXzJUv4eXIrh+RvU3rwwqIiwYuvfE7U/Llj4fejbsJnjJMUYCuGtVQsY2gv7oGl4aTNSQ==} @@ -10943,7 +12659,6 @@ packages: engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 - dev: true /cli-cursor@4.0.0: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} @@ -10968,12 +12683,10 @@ packages: /cli-width@3.0.0: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} - dev: true /cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} - dev: true /client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} @@ -11003,7 +12716,6 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true /clone-deep@4.0.1: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} @@ -11023,6 +12735,11 @@ packages: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} + /clsx@1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + engines: {node: '>=6'} + dev: false + /clsx@2.0.0: resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} engines: {node: '>=6'} @@ -11086,7 +12803,6 @@ packages: color-name: 1.1.4 simple-swizzle: 0.2.2 dev: false - optional: true /color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} @@ -11101,7 +12817,6 @@ packages: color-convert: 2.0.1 color-string: 1.9.1 dev: false - optional: true /colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} @@ -11109,14 +12824,12 @@ packages: /colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: true /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 - dev: true /comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} @@ -11250,7 +12963,6 @@ packages: inherits: 2.0.4 readable-stream: 3.6.2 typedarray: 0.0.6 - dev: true /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} @@ -11266,7 +12978,6 @@ packages: /connect-history-api-fallback@2.0.0: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} - dev: true /connect-route@0.1.5: resolution: {integrity: sha512-6OZGYeoKS7zzhCAGP+Du7WYjP4geK3ii0sZlS+Oqx+ANFPcS5t/jDJr9BuhgN9qPz1ld8iahiPxNrgJyHeZ3cw==} @@ -11478,6 +13189,40 @@ packages: typescript: 5.2.2 dev: true + /crawlee@3.6.2: + resolution: {integrity: sha512-UBGZIbQ5rxztWh3LKCvW/Sst3yNMwb8UqpSwInaFw18rQHviW/ZcFdLml6G71LkSmAeqeKFxhfYJJ42klWvF1w==} + engines: {node: '>=16.0.0'} + hasBin: true + peerDependencies: + playwright: '*' + puppeteer: '*' + peerDependenciesMeta: + playwright: + optional: true + puppeteer: + optional: true + dependencies: + '@crawlee/basic': 3.6.2 + '@crawlee/browser': 3.6.2 + '@crawlee/browser-pool': 3.6.2 + '@crawlee/cheerio': 3.6.2 + '@crawlee/cli': 3.6.2 + '@crawlee/core': 3.6.2 + '@crawlee/http': 3.6.2 + '@crawlee/jsdom': 3.6.2 + '@crawlee/linkedom': 3.6.2 + '@crawlee/playwright': 3.6.2 + '@crawlee/puppeteer': 3.6.2 + '@crawlee/utils': 3.6.2 + import-local: 3.1.0 + tslib: 2.6.2 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: false + /crc-32@1.2.2: resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} engines: {node: '>=0.8'} @@ -11492,6 +13237,25 @@ packages: readable-stream: 3.6.2 dev: true + /create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@20.9.0) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + /create-jest@29.7.0(@types/node@20.9.0)(ts-node@10.9.1): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -11532,7 +13296,6 @@ packages: hasBin: true dependencies: cross-spawn: 7.0.3 - dev: true /cross-fetch@4.0.0: resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} @@ -11548,6 +13311,14 @@ packages: jiti: 1.21.0 sucrase: 3.34.0 + /cross-spawn@5.1.0: + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + dependencies: + lru-cache: 4.1.5 + shebang-command: 1.2.0 + which: 1.3.1 + dev: false + /cross-spawn@6.0.5: resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} engines: {node: '>=4.8'} @@ -11574,6 +13345,20 @@ packages: type-fest: 1.4.0 dev: true + /css-color-list@0.0.1: + resolution: {integrity: sha512-+ArYbB9GT3tR/1ocPwgX2e9gwZiR3vi0+x0/HsQ1iB/9+tkugLJaPFO37s8zmNNc5vpsr8Kc7mQ78z83JwgfUA==} + dependencies: + css-color-names: 0.0.1 + dev: false + + /css-color-names@0.0.1: + resolution: {integrity: sha512-i7o8lqlrmiG/EUzlBftBncsrkYgBCfCI9X6plNxdyXMZlMNd4hPX7u/o7YLH9vwXPPPAr+BUs3R0oto+lzjbyA==} + dev: false + + /css-color-names@1.0.1: + resolution: {integrity: sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==} + dev: false + /css-declaration-sorter@6.4.1(postcss@8.4.31): resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} engines: {node: ^10 || ^12 || >=14} @@ -11638,6 +13423,10 @@ packages: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} + /css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + dev: false + /cssauron@1.4.0: resolution: {integrity: sha512-Ht70DcFBh+/ekjVrYS2PlDMdSQEl3OFNmjK6lcn49HptBgilXf/Zwg4uFh9Xn0pX3Q8YOkSjIFOfK2osvdqpBw==} dependencies: @@ -11721,7 +13510,6 @@ packages: /cssom@0.5.0: resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} - dev: true /cssstyle@2.3.0: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} @@ -11730,9 +13518,28 @@ packages: cssom: 0.3.8 dev: true + /cssstyle@3.0.0: + resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==} + engines: {node: '>=14'} + dependencies: + rrweb-cssom: 0.6.0 + dev: false + /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + /csv-stringify@6.4.4: + resolution: {integrity: sha512-NDshLupGa7gp4UG4sSNIqwYJqgSwvds0SvENntxoVoVvTzXcrHvd5gG2MWpbRpSNvk59dlmIe1IwNvSxN4IVmg==} + dev: false + + /current-git-branch@1.1.0: + resolution: {integrity: sha512-n5mwGZllLsFzxDPtTmadqGe4IIBPfqPbiIRX4xgFR9VK/Bx47U+94KiVkxSKAKN6/s43TlkztS2GZpgMKzwQ8A==} + dependencies: + babel-plugin-add-module-exports: 0.2.1 + execa: 0.6.3 + is-git-repository: 1.1.1 + dev: false + /custom-event@1.0.1: resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==} dev: true @@ -11763,6 +13570,15 @@ packages: whatwg-url: 11.0.0 dev: true + /data-urls@4.0.0: + resolution: {integrity: sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==} + engines: {node: '>=14'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 12.0.1 + dev: false + /date-format@0.0.0: resolution: {integrity: sha512-kAmAdtsjW5nQ02FERwI1bP4xe6HQBPwy5kpAF4CRSLOMUs/vgMIEEwpy6JqUs7NitTyhZiImxwAjgPpnteycHg==} deprecated: 0.x is no longer supported. Please upgrade to 4.x or higher. @@ -11777,6 +13593,10 @@ packages: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: false + /de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} dev: true @@ -11892,7 +13712,6 @@ packages: /decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - dev: true /decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} @@ -11985,7 +13804,10 @@ packages: engines: {node: '>= 10'} dependencies: execa: 5.1.1 - dev: true + + /default-passive-events@2.0.0: + resolution: {integrity: sha512-eMtt76GpDVngZQ3ocgvRcNCklUMwID1PaNbCNxfpDXuiOXttSh0HzBbda1HU9SIUsDc02vb7g9+3I5tlqe/qMQ==} + dev: false /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} @@ -11995,7 +13817,6 @@ packages: /defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} - dev: true /define-data-property@1.1.1: resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} @@ -12008,7 +13829,6 @@ packages: /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} - dev: true /define-lazy-prop@3.0.0: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} @@ -12060,7 +13880,6 @@ packages: /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - dev: true /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} @@ -12074,7 +13893,6 @@ packages: /depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} - dev: true /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} @@ -12122,7 +13940,6 @@ packages: /detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - dev: true /detect-port@1.5.1: resolution: {integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==} @@ -12155,7 +13972,6 @@ packages: /devtools-protocol@0.0.1203626: resolution: {integrity: sha512-nEzHZteIUZfGCZtTiS1fRpC8UZmsfD1SiyPvaUNvS13dvKf666OAm8YTi0+Ca3n1nLEyu49Cy4+dPWpaHFJk9g==} - dev: true /di@0.0.1: resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} @@ -12192,14 +14008,12 @@ packages: /dns-equal@1.0.0: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} - dev: true /dns-packet@5.6.1: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.4 - dev: true /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} @@ -12255,7 +14069,6 @@ packages: engines: {node: '>=12'} dependencies: webidl-conversions: 7.0.0 - dev: true /domhandler@4.3.1: resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} @@ -12290,7 +14103,6 @@ packages: dependencies: no-case: 3.0.4 tslib: 2.6.2 - dev: true /dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} @@ -12299,6 +14111,20 @@ packages: is-obj: 2.0.0 dev: true + /dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + dependencies: + is-obj: 2.0.0 + dev: false + + /dot-prop@7.2.0: + resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + type-fest: 2.19.0 + dev: false + /dot-prop@8.0.2: resolution: {integrity: sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==} engines: {node: '>=16'} @@ -12330,7 +14156,6 @@ packages: /duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true /duplexify@3.7.1: resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} @@ -12340,6 +14165,17 @@ packages: readable-stream: 2.3.8 stream-shift: 1.0.1 + /duplexify@4.1.2: + resolution: {integrity: sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==} + requiresBuild: true + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 3.6.2 + stream-shift: 1.0.1 + dev: false + optional: true + /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -12361,6 +14197,12 @@ packages: chalk: 4.1.2 dev: true + /ecdsa-sig-formatter@1.0.11: + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + dependencies: + safe-buffer: 5.2.1 + dev: false + /editorconfig@1.0.4: resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==} engines: {node: '>=14'} @@ -12402,7 +14244,6 @@ packages: /emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} - dev: true /encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} @@ -12516,11 +14357,9 @@ packages: /ent@2.2.0: resolution: {integrity: sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==} - dev: true /entities@2.1.0: resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} - dev: true /entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} @@ -12547,7 +14386,6 @@ packages: resolution: {integrity: sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==} engines: {node: '>=4'} hasBin: true - dev: true /err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} @@ -12565,7 +14403,6 @@ packages: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 - dev: true /error-stack-parser-es@0.1.1: resolution: {integrity: sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA==} @@ -12835,7 +14672,6 @@ packages: /escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - dev: true /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} @@ -12845,6 +14681,21 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} + /escodegen@1.14.3: + resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} + engines: {node: '>=4.0'} + hasBin: true + requiresBuild: true + dependencies: + esprima: 4.0.1 + estraverse: 4.3.0 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.6.1 + dev: false + optional: true + /escodegen@2.1.0: resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} engines: {node: '>=6.0'} @@ -12882,12 +14733,37 @@ packages: - supports-color dev: false + /eslint-config-next@14.0.2(eslint@8.55.0)(typescript@5.2.2): + resolution: {integrity: sha512-CasWThlsyIcg/a+clU6KVOMTieuDhTztsrqvniP6AsRki9v7FnojTa7vKQOYM8QSOsQdZ/aElLD1Y2Oc8/PsIg==} + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: '>=3.3.1' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@next/eslint-plugin-next': 14.0.2 + '@rushstack/eslint-patch': 1.5.1 + '@typescript-eslint/parser': 6.13.1(eslint@8.55.0)(typescript@5.2.2) + eslint: 8.55.0 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.55.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.55.0) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.55.0) + eslint-plugin-react: 7.33.2(eslint@8.55.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.55.0) + typescript: 5.2.2 + transitivePeerDependencies: + - eslint-import-resolver-webpack + - supports-color + dev: true + /eslint-config-techor@2.5.19(typescript@5.2.2): resolution: {integrity: sha512-JeSm6ugW+9xM+kkU8WpkPZx/4qXOllC4gkHcWDfEvVk94+TOk17mEfZCOHPflYMn3YYlJREnicng629b40RN+w==} dependencies: - '@typescript-eslint/eslint-plugin': 6.11.0(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.2.2) - '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.2.2) - eslint: 8.54.0 + '@typescript-eslint/eslint-plugin': 6.11.0(@typescript-eslint/parser@6.13.1)(eslint@8.55.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.13.1(eslint@8.55.0)(typescript@5.2.2) + eslint: 8.55.0 transitivePeerDependencies: - supports-color - typescript @@ -12958,6 +14834,29 @@ packages: - supports-color dev: false + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.55.0): + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.4 + enhanced-resolve: 5.15.0 + eslint: 8.55.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.55.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.55.0) + fast-glob: 3.3.2 + get-tsconfig: 4.7.2 + is-core-module: 2.13.1 + is-glob: 4.0.3 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + dev: true + /eslint-mdx@2.2.0(eslint@8.53.0): resolution: {integrity: sha512-AriN6lCW6KhWQ9GEiXapR1DokKHefOUqKvCmHxnE9puCWYhWiycU2SNKH8jmrasDBreZ+RtJDLi+RcUNLJatjg==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -12983,6 +14882,30 @@ packages: - supports-color dev: true + /eslint-mdx@2.2.0(eslint@8.55.0): + resolution: {integrity: sha512-AriN6lCW6KhWQ9GEiXapR1DokKHefOUqKvCmHxnE9puCWYhWiycU2SNKH8jmrasDBreZ+RtJDLi+RcUNLJatjg==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8.0.0' + dependencies: + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) + eslint: 8.55.0 + espree: 9.6.1 + estree-util-visit: 1.2.1 + remark-mdx: 2.3.0 + remark-parse: 10.0.2 + remark-stringify: 10.0.3 + synckit: 0.8.5 + tslib: 2.6.2 + unified: 10.1.2 + unified-engine: 10.1.0 + unist-util-visit: 4.1.2 + uvu: 0.5.6 + vfile: 5.3.7 + transitivePeerDependencies: + - supports-color + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.6.1)(eslint@8.53.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} @@ -13073,6 +14996,36 @@ packages: - supports-color dev: false + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.55.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.13.1(eslint@8.55.0)(typescript@5.2.2) + debug: 3.2.7(supports-color@5.5.0) + eslint: 8.55.0 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.55.0) + transitivePeerDependencies: + - supports-color + dev: true + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} @@ -13094,7 +15047,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.13.1(eslint@8.55.0)(typescript@5.2.2) debug: 3.2.7(supports-color@5.5.0) eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 @@ -13148,6 +15101,41 @@ packages: - supports-color dev: true + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.55.0): + resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 6.13.1(eslint@8.55.0)(typescript@5.2.2) + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.3 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7(supports-color@5.5.0) + doctrine: 2.1.0 + eslint: 8.55.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.55.0) + hasown: 2.0.0 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.1 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.13.1)(eslint@8.53.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} @@ -13158,7 +15146,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.13.1(eslint@8.55.0)(typescript@5.2.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -13211,13 +15199,37 @@ packages: '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.53.0)(typescript@4.9.5) '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@4.9.5) eslint: 8.53.0 - jest: 29.7.0(@types/node@20.9.0)(ts-node@10.9.1) - transitivePeerDependencies: - - supports-color - - typescript - dev: true + jest: 29.7.0(@types/node@20.9.0)(ts-node@10.9.1) + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.53.0): + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + '@babel/runtime': 7.23.2 + aria-query: 5.3.0 + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.7.0 + axobject-query: 3.2.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + es-iterator-helpers: 1.0.15 + eslint: 8.53.0 + hasown: 2.0.0 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.53.0): + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.55.0): resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} engines: {node: '>=4.0'} peerDependencies: @@ -13233,13 +15245,14 @@ packages: damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 es-iterator-helpers: 1.0.15 - eslint: 8.53.0 + eslint: 8.55.0 hasown: 2.0.0 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 minimatch: 3.1.2 object.entries: 1.1.7 object.fromentries: 2.0.7 + dev: true /eslint-plugin-markdown@3.0.1(eslint@8.53.0): resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} @@ -13253,6 +15266,18 @@ packages: - supports-color dev: true + /eslint-plugin-markdown@3.0.1(eslint@8.55.0): + resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.55.0 + mdast-util-from-markdown: 0.8.5 + transitivePeerDependencies: + - supports-color + dev: true + /eslint-plugin-mdx@2.2.0(eslint@8.53.0): resolution: {integrity: sha512-OseoMXUIr8iy3E0me+wJLVAxuB0kxHP1plxuYAJDynzorzOj2OKv8Fhr+rIOJ32zfl3bnEWsqFnUiCnyznr1JQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -13272,6 +15297,25 @@ packages: - supports-color dev: true + /eslint-plugin-mdx@2.2.0(eslint@8.55.0): + resolution: {integrity: sha512-OseoMXUIr8iy3E0me+wJLVAxuB0kxHP1plxuYAJDynzorzOj2OKv8Fhr+rIOJ32zfl3bnEWsqFnUiCnyznr1JQ==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8.0.0' + dependencies: + eslint: 8.55.0 + eslint-mdx: 2.2.0(eslint@8.55.0) + eslint-plugin-markdown: 3.0.1(eslint@8.55.0) + remark-mdx: 2.3.0 + remark-parse: 10.0.2 + remark-stringify: 10.0.3 + tslib: 2.6.2 + unified: 10.1.2 + vfile: 5.3.7 + transitivePeerDependencies: + - supports-color + dev: true + /eslint-plugin-node@11.1.0(eslint@8.53.0): resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} @@ -13295,13 +15339,13 @@ packages: dependencies: eslint: 8.53.0 - /eslint-plugin-react-hooks@4.6.0(eslint@8.54.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.55.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.54.0 + eslint: 8.55.0 dev: true /eslint-plugin-react-refresh@0.3.5(eslint@8.53.0): @@ -13336,6 +15380,31 @@ packages: semver: 6.3.1 string.prototype.matchall: 4.0.10 + /eslint-plugin-react@7.33.2(eslint@8.55.0): + resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.2 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.15 + eslint: 8.55.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + object.hasown: 1.1.3 + object.values: 1.1.7 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.10 + dev: true + /eslint-plugin-testing-library@5.11.1(eslint@8.53.0)(typescript@4.9.5): resolution: {integrity: sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} @@ -13355,7 +15424,6 @@ packages: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - dev: true /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} @@ -13431,15 +15499,15 @@ packages: transitivePeerDependencies: - supports-color - /eslint@8.54.0: - resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==} + /eslint@8.55.0: + resolution: {integrity: sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.3 - '@eslint/js': 8.54.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.55.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -13481,6 +15549,11 @@ packages: resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} dev: true + /esm@3.2.25: + resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} + engines: {node: '>=6'} + dev: false + /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -13509,7 +15582,6 @@ packages: /estraverse@4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} - dev: true /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} @@ -13519,7 +15591,6 @@ packages: resolution: {integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==} dependencies: '@types/estree': 1.0.5 - dev: true /estree-util-build-jsx@2.2.2: resolution: {integrity: sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==} @@ -13527,7 +15598,6 @@ packages: '@types/estree-jsx': 1.0.3 estree-util-is-identifier-name: 2.1.0 estree-walker: 3.0.3 - dev: true /estree-util-is-identifier-name@1.1.0: resolution: {integrity: sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==} @@ -13535,7 +15605,14 @@ packages: /estree-util-is-identifier-name@2.1.0: resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==} - dev: true + + /estree-util-to-js@1.2.0: + resolution: {integrity: sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==} + dependencies: + '@types/estree-jsx': 1.0.3 + astring: 1.8.6 + source-map: 0.7.4 + dev: false /estree-util-value-to-estree@1.3.0: resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==} @@ -13549,7 +15626,6 @@ packages: dependencies: '@types/estree-jsx': 1.0.3 '@types/unist': 2.0.10 - dev: true /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -13579,6 +15655,18 @@ packages: require-like: 0.1.2 dev: true + /event-stream@3.3.4: + resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} + dependencies: + duplexer: 0.1.2 + from: 0.1.7 + map-stream: 0.1.0 + pause-stream: 0.0.11 + split: 0.3.3 + stream-combiner: 0.0.4 + through: 2.3.8 + dev: false + /event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} @@ -13598,6 +15686,19 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} + /execa@0.6.3: + resolution: {integrity: sha512-/teX3MDLFBdYUhRk8WCBYboIMUmqeizu0m9Z3YF3JWrbEh/SlZg00vLJSaAGWw3wrZ9tE0buNw79eaAPYhUuvg==} + engines: {node: '>=4'} + dependencies: + cross-spawn: 5.1.0 + get-stream: 3.0.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + dev: false + /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -13698,7 +15799,6 @@ packages: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} requiresBuild: true - optional: true /expect@29.7.0: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} @@ -13786,7 +15886,6 @@ packages: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - dev: true /externality@1.0.2: resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} @@ -13883,10 +15982,24 @@ packages: resolution: {integrity: sha512-d9cEfo/WcOezgPLAC/8t8wGb6YOD6JTCPMw2QcG2nAdFmyY+9rTUizCTaGjIZAloWENTEUMAPpkUAIJJJ0i96A==} dev: false + /fast-text-encoding@1.0.6: + resolution: {integrity: sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w==} + requiresBuild: true + dev: false + optional: true + + /fast-xml-parser@4.3.2: + resolution: {integrity: sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==} + hasBin: true + requiresBuild: true + dependencies: + strnum: 1.0.5 + dev: false + optional: true + /fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} engines: {node: '>= 4.9.1'} - dev: true /fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} @@ -13897,14 +16010,12 @@ packages: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} dependencies: format: 0.2.2 - dev: true /faye-websocket@0.11.4: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} engines: {node: '>=0.8.0'} dependencies: websocket-driver: 0.7.4 - dev: true /fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} @@ -13918,6 +16029,12 @@ packages: pend: 1.2.0 dev: true + /figlet@1.7.0: + resolution: {integrity: sha512-gO8l3wvqo0V7wEFLXPbkX83b7MVjRrk1oRLfYlZXol8nEpb/ON9pcKLI4qpBv5YtOTfrINtqb7b40iYY2FTWFg==} + engines: {node: '>= 0.4.0'} + hasBin: true + dev: false + /figures@2.0.0: resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} engines: {node: '>=4'} @@ -13930,7 +16047,6 @@ packages: engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 - dev: true /figures@5.0.0: resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} @@ -13938,7 +16054,6 @@ packages: dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 - dev: true /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} @@ -13946,6 +16061,17 @@ packages: dependencies: flat-cache: 3.2.0 + /file-loader@6.2.0(webpack@5.89.0): + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.89.0(@swc/core@1.3.96)(webpack-cli@5.1.4) + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} requiresBuild: true @@ -14076,6 +16202,84 @@ packages: pkg-dir: 4.2.0 dev: false + /fingerprint-generator@2.1.45: + resolution: {integrity: sha512-hgTTaYpKRjMVNy/rPePoy/a9/nteh8cwSKfOr2uSflcTOeIDLciP8iWiIEA9KHH2gxzlUJpBSSl1cPI2x2vqFg==} + engines: {node: '>=16.0.0'} + dependencies: + generative-bayesian-network: 2.1.45 + header-generator: 2.1.45 + tslib: 2.6.2 + dev: false + + /fingerprint-injector@2.1.45: + resolution: {integrity: sha512-eacx6jUAlD62/H5QlZsemro+Dkm+VHrEfM+OSGi0bqm3QBNzkkg8itkJmozcK697NK5j8wsN24xpt3UJQe1WgA==} + engines: {node: '>=16.0.0'} + peerDependencies: + playwright: ^1.22.2 + puppeteer: '>= 9.x' + peerDependenciesMeta: + playwright: + optional: true + puppeteer: + optional: true + dependencies: + fingerprint-generator: 2.1.45 + tslib: 2.6.2 + dev: false + + /firebase-admin@11.11.1: + resolution: {integrity: sha512-UyEbq+3u6jWzCYbUntv/HuJiTixwh36G1R9j0v71mSvGAx/YZEWEW7uSGLYxBYE6ckVRQoKMr40PYUEzrm/4dg==} + engines: {node: '>=14'} + dependencies: + '@fastify/busboy': 1.2.1 + '@firebase/database-compat': 0.3.4 + '@firebase/database-types': 0.10.4 + '@types/node': 20.9.0 + jsonwebtoken: 9.0.2 + jwks-rsa: 3.1.0 + node-forge: 1.3.1 + uuid: 9.0.1 + optionalDependencies: + '@google-cloud/firestore': 6.8.0 + '@google-cloud/storage': 6.12.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /firebase@10.7.1: + resolution: {integrity: sha512-Mlt7y7zQ43FtKp4SCyYie3tnrOL3UMF2XXiV4ZXMrC0d0wtcOYmABuybhkJpJCKILpdekxr39wjnaai0DZlWFg==} + dependencies: + '@firebase/analytics': 0.10.0(@firebase/app@0.9.25) + '@firebase/analytics-compat': 0.2.6(@firebase/app-compat@0.2.25)(@firebase/app@0.9.25) + '@firebase/app': 0.9.25 + '@firebase/app-check': 0.8.1(@firebase/app@0.9.25) + '@firebase/app-check-compat': 0.3.8(@firebase/app-compat@0.2.25)(@firebase/app@0.9.25) + '@firebase/app-compat': 0.2.25 + '@firebase/app-types': 0.9.0 + '@firebase/auth': 1.5.1(@firebase/app@0.9.25) + '@firebase/auth-compat': 0.5.1(@firebase/app-compat@0.2.25)(@firebase/app-types@0.9.0)(@firebase/app@0.9.25) + '@firebase/database': 1.0.2 + '@firebase/database-compat': 1.0.2 + '@firebase/firestore': 4.4.0(@firebase/app@0.9.25) + '@firebase/firestore-compat': 0.3.23(@firebase/app-compat@0.2.25)(@firebase/app-types@0.9.0)(@firebase/app@0.9.25) + '@firebase/functions': 0.11.0(@firebase/app@0.9.25) + '@firebase/functions-compat': 0.3.6(@firebase/app-compat@0.2.25)(@firebase/app@0.9.25) + '@firebase/installations': 0.6.4(@firebase/app@0.9.25) + '@firebase/installations-compat': 0.2.4(@firebase/app-compat@0.2.25)(@firebase/app-types@0.9.0)(@firebase/app@0.9.25) + '@firebase/messaging': 0.12.5(@firebase/app@0.9.25) + '@firebase/messaging-compat': 0.2.5(@firebase/app-compat@0.2.25)(@firebase/app@0.9.25) + '@firebase/performance': 0.6.4(@firebase/app@0.9.25) + '@firebase/performance-compat': 0.2.4(@firebase/app-compat@0.2.25)(@firebase/app@0.9.25) + '@firebase/remote-config': 0.4.4(@firebase/app@0.9.25) + '@firebase/remote-config-compat': 0.2.4(@firebase/app-compat@0.2.25)(@firebase/app@0.9.25) + '@firebase/storage': 0.12.0(@firebase/app@0.9.25) + '@firebase/storage-compat': 0.3.3(@firebase/app-compat@0.2.25)(@firebase/app-types@0.9.0)(@firebase/app@0.9.25) + '@firebase/util': 1.9.3 + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + dev: false + /flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} @@ -14087,7 +16291,6 @@ packages: /flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - dev: true /flatted@3.2.9: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} @@ -14127,6 +16330,11 @@ packages: cross-spawn: 7.0.3 signal-exit: 4.1.0 + /form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + dev: false + /form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -14134,12 +16342,10 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: true /format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} - dev: true /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} @@ -14167,6 +16373,10 @@ packages: readable-stream: 2.3.8 dev: true + /from@0.1.7: + resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + dev: false + /fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} @@ -14186,7 +16396,6 @@ packages: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 - dev: true /fs-extra@3.0.1: resolution: {integrity: sha512-V3Z3WZWVUYd8hoCL5xfXJCaHWYzmtwW5XWYSlLgERi8PWd8bx1kUHUk8L1BT57e49oKnDDD180mjfrHc1yA9rg==} @@ -14221,7 +16430,6 @@ packages: /fs-monkey@1.0.5: resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} - dev: true /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -14257,9 +16465,20 @@ packages: es-abstract: 1.22.3 functions-have-names: 1.2.3 + /functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + requiresBuild: true + dev: false + optional: true + /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + /fuse.js@6.6.2: + resolution: {integrity: sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==} + engines: {node: '>=10'} + dev: false + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} @@ -14275,6 +16494,41 @@ packages: wide-align: 1.1.5 dev: true + /gaxios@5.1.3: + resolution: {integrity: sha512-95hVgBRgEIRQQQHIbnxBXeHbW4TqFk4ZDJW7wmVtvYar72FdhRIo1UGOLS2eRAKCPEdPBWu+M7+A33D9CdX9rA==} + engines: {node: '>=12'} + requiresBuild: true + dependencies: + extend: 3.0.2 + https-proxy-agent: 5.0.1 + is-stream: 2.0.1 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + optional: true + + /gcp-metadata@5.3.0: + resolution: {integrity: sha512-FNTkdNEnBdlqF2oatizolQqNANMrcqJt6AAYt99B3y1aLLC8Hc5IOBb+ZnnzllodEEf6xMBp6wRcBbc16fa65w==} + engines: {node: '>=12'} + requiresBuild: true + dependencies: + gaxios: 5.1.3 + json-bigint: 1.0.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + optional: true + + /generative-bayesian-network@2.1.45: + resolution: {integrity: sha512-Ceg6XePea8VNGTvVxlw8H/8a930rqUhDKNMi5Jo2DbTOJ/6RTrTlV4DGGQijJ4zFW2wOqFrSqLHPS2QfN+Jksw==} + dependencies: + adm-zip: 0.5.10 + tslib: 2.6.2 + dev: false + /generic-names@4.0.0: resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} dependencies: @@ -14288,7 +16542,17 @@ packages: /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - dev: true + + /get-contrast@3.0.0: + resolution: {integrity: sha512-B3uK3WpKz/4bHMCMSmi4UfZ/Gk8qqVHQXMk6ayhx/x5cCjK3hl5kvX4POTauVQK5kdzWNfbyd5QjwOxERSwKlQ==} + hasBin: true + dependencies: + css-color-names: 1.0.1 + is-blank: 2.1.0 + is-named-css-color: 1.0.0 + rgb: 0.1.0 + wcag-contrast: 3.0.0 + dev: false /get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} @@ -14312,6 +16576,11 @@ packages: engines: {node: '>=8'} dev: true + /get-stream@3.0.0: + resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} + engines: {node: '>=4'} + dev: false + /get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -14424,7 +16693,6 @@ packages: /github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} requiresBuild: true - optional: true /github-slugger@1.5.0: resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} @@ -14474,6 +16742,16 @@ packages: minipass: 7.0.4 path-scurry: 1.10.1 + /glob@5.0.15: + resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} + dependencies: + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + /glob@7.1.2: resolution: {integrity: sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==} dependencies: @@ -14504,7 +16782,6 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: false /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -14525,7 +16802,6 @@ packages: inherits: 2.0.4 minimatch: 5.1.6 once: 1.4.0 - dev: true /global-directory@4.0.1: resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} @@ -14541,6 +16817,15 @@ packages: ini: 1.3.8 dev: true + /global-jsdom@9.1.0(jsdom@22.1.0): + resolution: {integrity: sha512-mNjpiQBgCTApFeRZxU3L01pjzulHIbwtk+5rGDdqUDACTupvhHywpgaZtXNMn/97HofZzHEoXdNR5qFNgjZCSg==} + engines: {node: '>=16'} + peerDependencies: + jsdom: '>=22 <23' + dependencies: + jsdom: 22.1.0 + dev: false + /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -14613,11 +16898,81 @@ packages: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} dev: true + /google-auth-library@8.9.0: + resolution: {integrity: sha512-f7aQCJODJFmYWN6PeNKzgvy9LI2tYmXnzpNDHEjG5sDNPgGb2FXQyTBnXeSH+PAtpKESFD+LmHw3Ox3mN7e1Fg==} + engines: {node: '>=12'} + requiresBuild: true + dependencies: + arrify: 2.0.1 + base64-js: 1.5.1 + ecdsa-sig-formatter: 1.0.11 + fast-text-encoding: 1.0.6 + gaxios: 5.1.3 + gcp-metadata: 5.3.0 + gtoken: 6.1.2 + jws: 4.0.0 + lru-cache: 6.0.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + optional: true + + /google-gax@3.6.1: + resolution: {integrity: sha512-g/lcUjGcB6DSw2HxgEmCDOrI/CByOwqRvsuUvNalHUK2iPPPlmAIpbMbl62u0YufGMr8zgE3JL7th6dCb1Ry+w==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + dependencies: + '@grpc/grpc-js': 1.8.21 + '@grpc/proto-loader': 0.7.10 + '@types/long': 4.0.2 + '@types/rimraf': 3.0.2 + abort-controller: 3.0.0 + duplexify: 4.1.2 + fast-text-encoding: 1.0.6 + google-auth-library: 8.9.0 + is-stream-ended: 0.1.4 + node-fetch: 2.7.0 + object-hash: 3.0.0 + proto3-json-serializer: 1.1.1 + protobufjs: 7.2.4 + protobufjs-cli: 1.1.1(protobufjs@7.2.4) + retry-request: 5.0.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + optional: true + + /google-p12-pem@4.0.1: + resolution: {integrity: sha512-WPkN4yGtz05WZ5EhtlxNDWPhC4JIic6G8ePitwUWy4l+XPVYec+a0j0Ts47PDtW59y3RwAhUd9/h9ZZ63px6RQ==} + engines: {node: '>=12.0.0'} + hasBin: true + requiresBuild: true + dependencies: + node-forge: 1.3.1 + dev: false + optional: true + /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.2 + /got-scraping@4.0.2: + resolution: {integrity: sha512-zdCF7Cgtq7ECrG9WV4Vst9CqRaSilKMElzrdNZ30JHYgFeVL5ZC1MMB8qAgzuRGLLR4TML3ttHP+q138zCUg3Q==} + engines: {node: '>=16'} + dependencies: + got: 13.0.0 + header-generator: 2.1.45 + http2-wrapper: 2.2.1 + mimic-response: 4.0.0 + ow: 1.1.1 + quick-lru: 7.0.0 + tslib: 2.6.2 + dev: false + /got@11.8.6: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} engines: {node: '>=10.19.0'} @@ -14635,6 +16990,23 @@ packages: responselike: 2.0.1 dev: true + /got@13.0.0: + resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} + engines: {node: '>=16'} + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + dev: false + /graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true @@ -14660,6 +17032,20 @@ packages: engines: {node: '>=4.x'} dev: false + /gtoken@6.1.2: + resolution: {integrity: sha512-4ccGpzz7YAr7lxrT2neugmXQ3hP9ho2gcaityLVkiUecAiwiy60Ii8gRbZeOsXV19fYaRjgBSshs8kXw+NKCPQ==} + engines: {node: '>=12.0.0'} + requiresBuild: true + dependencies: + gaxios: 5.1.3 + google-p12-pem: 4.0.1 + jws: 4.0.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + optional: true + /gunzip-maybe@1.4.0: resolution: {integrity: sha512-Hx3SyK5oh/3UVlbGeceihwuORflZVXW7hfSN4GsH/5ECTM6rVBWJjc+D2ieGUyrH8Rbf7mM3/sSBAG9UUprfKA==} hasBin: true @@ -14684,6 +17070,13 @@ packages: through2: 2.0.5 dev: true + /gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: true + /gzip-size@7.0.0: resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -14706,7 +17099,6 @@ packages: /handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - dev: true /handlebars@4.7.8: resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} @@ -14726,6 +17118,13 @@ packages: engines: {node: '>=6'} dev: true + /has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: false + /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} @@ -14836,6 +17235,16 @@ packages: web-namespaces: 2.0.1 dev: false + /hast-util-has-property@2.0.1: + resolution: {integrity: sha512-X2+RwZIMTMKpXUzlotatPzWj8bspCymtXH3cfG3iQKV+wPF53Vgaqxi/eLqGck0wKq1kS9nvoB1wchbCPEL8sg==} + dev: false + + /hast-util-heading-rank@2.1.1: + resolution: {integrity: sha512-iAuRp+ESgJoRFJbSyaqsfvJDY6zzmFoEnL1gtz1+U8gKtGGj1p0CVlysuUAUjq95qlZESHINLThwJzNGmgGZxA==} + dependencies: + '@types/hast': 2.3.8 + dev: false + /hast-util-parse-selector@3.1.1: resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} dependencies: @@ -14902,7 +17311,6 @@ packages: zwitch: 2.0.4 transitivePeerDependencies: - supports-color - dev: true /hast-util-to-html@8.0.4: resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==} @@ -14960,6 +17368,12 @@ packages: zwitch: 2.0.4 dev: false + /hast-util-to-string@2.0.0: + resolution: {integrity: sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==} + dependencies: + '@types/hast': 2.3.8 + dev: false + /hast-util-whitespace@2.0.1: resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} @@ -15010,6 +17424,16 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + /header-generator@2.1.45: + resolution: {integrity: sha512-5XuR/aUJDXBap73A10lennFicUM69gSw0Ir3bTvIljwM3UZeF852oB7JnQdVuZSGKGatC3lVrl5Eo6IkJlDIKA==} + engines: {node: '>=16.0.0'} + dependencies: + browserslist: 4.22.1 + generative-bayesian-network: 2.1.45 + ow: 0.28.2 + tslib: 2.6.2 + dev: false + /hook-std@3.0.0: resolution: {integrity: sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -15044,18 +17468,22 @@ packages: obuf: 1.1.2 readable-stream: 2.3.8 wbuf: 1.7.3 - dev: true + + /html-dom-parser@3.1.7: + resolution: {integrity: sha512-cDgNF4YgF6J3H+d9mcldGL19p0GzVdS3iGuDNzYWQpU47q3+IRM85X3Xo07E+nntF4ek4s78A9V24EwxlPTjig==} + dependencies: + domhandler: 5.0.3 + htmlparser2: 8.0.2 + dev: false /html-encoding-sniffer@3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} dependencies: whatwg-encoding: 2.0.0 - dev: true /html-entities@2.4.0: resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} - dev: true /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -15079,6 +17507,18 @@ packages: terser: 5.24.0 dev: true + /html-react-parser@3.0.16(react@18.2.0): + resolution: {integrity: sha512-ysQZtRFPcg+McVb4B05oNWSnqM14zagpvTgGcI5e1/BvCl38YwzWzKibrbBmXeemg70olN1bAoeixo7o06G5Eg==} + peerDependencies: + react: 0.14 || 15 || 16 || 17 || 18 + dependencies: + domhandler: 5.0.3 + html-dom-parser: 3.1.7 + react: 18.2.0 + react-property: 2.0.0 + style-to-js: 1.1.3 + dev: false + /html-select@2.3.24: resolution: {integrity: sha512-kQ+YZoVQ8Aux6bUqMVc0iufcZOv03+xYZ4J5v2beT5wkNrW/e2roZ8pnU4LunVOVBGFkbodFKR0TvuMkTdyrJQ==} hasBin: true @@ -15147,12 +17587,20 @@ packages: domutils: 3.1.0 entities: 4.5.0 + /htmlparser2@9.0.0: + resolution: {integrity: sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + dev: false + /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} /http-deceiver@1.2.7: resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} - dev: true /http-errors@1.6.3: resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} @@ -15162,7 +17610,6 @@ packages: inherits: 2.0.3 setprototypeof: 1.1.0 statuses: 1.5.0 - dev: true /http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} @@ -15176,7 +17623,6 @@ packages: /http-parser-js@0.5.8: resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} - dev: true /http-proxy-agent@2.1.0: resolution: {integrity: sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==} @@ -15207,7 +17653,6 @@ packages: debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: true /http-proxy-agent@7.0.0: resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} @@ -15247,7 +17692,6 @@ packages: micromatch: 4.0.5 transitivePeerDependencies: - debug - dev: true /http-proxy@1.18.1: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} @@ -15272,6 +17716,14 @@ packages: resolve-alpn: 1.2.1 dev: true + /http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + dev: false + /https-proxy-agent@2.2.4: resolution: {integrity: sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==} engines: {node: '>= 4.5.0'} @@ -15354,6 +17806,18 @@ packages: postcss: 8.4.31 dev: true + /idb@7.0.1: + resolution: {integrity: sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==} + dev: false + + /idb@7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + dev: false + + /idcac-playwright@0.1.2: + resolution: {integrity: sha512-1YeecryHQC3SzDagSjqJTCDDs6F0x/9LaR8TPIN6x60myYAs7oALxZJdwNITeoR3wL0KeTZF3knVTRJ4gki5NQ==} + dev: false + /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -15414,7 +17878,6 @@ packages: dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 - dev: true /import-meta-resolve@2.2.2: resolution: {integrity: sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==} @@ -15457,7 +17920,6 @@ packages: /inherits@2.0.3: resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - dev: true /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -15468,7 +17930,6 @@ packages: /ini@4.1.1: resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true /inject-html@1.1.2: resolution: {integrity: sha512-XwGJ1KhM1lJnXUiRj/B+tc629xwivUYOAOGfbpJnqYWwady76fRWZqlp+fkbOSHFjdAXKk5jQm3Xw4RiFfVVsA==} @@ -15486,7 +17947,6 @@ packages: /inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - dev: true /inquirer@8.2.6: resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} @@ -15507,7 +17967,6 @@ packages: strip-ansi: 6.0.1 through: 2.3.8 wrap-ansi: 6.2.0 - dev: true /inquirer@9.2.11: resolution: {integrity: sha512-B2LafrnnhbRzCWfAdOXisUzL89Kg8cVJlYmhqoi3flSiV/TveO+nsXwgKr9h9PIo+J1hz7nBSk6gegRIMBBf7g==} @@ -15528,7 +17987,6 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - dev: true /internal-slot@1.0.6: resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} @@ -15541,7 +17999,6 @@ packages: /interpret@3.1.1: resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} engines: {node: '>=10.13.0'} - dev: true /into-stream@7.0.0: resolution: {integrity: sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==} @@ -15583,7 +18040,6 @@ packages: /ipaddr.js@2.1.0: resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} engines: {node: '>= 10'} - dev: true /iron-webcrypto@0.10.1: resolution: {integrity: sha512-QGOS8MRMnj/UiOa+aMIgfyHcvkhqNUsUxb1XzskENvbo+rEfp6TOwqd1KPuDzXC4OnGHcMSVxDGRoilqB8ViqA==} @@ -15602,7 +18058,6 @@ packages: /is-alphabetical@2.0.1: resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - dev: true /is-alphanumerical@1.0.4: resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} @@ -15616,7 +18071,6 @@ packages: dependencies: is-alphabetical: 2.0.1 is-decimal: 2.0.1 - dev: true /is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} @@ -15634,13 +18088,11 @@ packages: /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true /is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} requiresBuild: true dev: false - optional: true /is-async-function@2.0.0: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} @@ -15666,6 +18118,13 @@ packages: dependencies: binary-extensions: 2.2.0 + /is-blank@2.1.0: + resolution: {integrity: sha512-SOPvTu4ZRlJOSBBYV7+6D6wN+2UcN6IJCaQ2Yeu3BQ3oolsD4dqF95sz52TCSgMVCLR1osLOXIiFsO2TKp0GZA==} + dependencies: + is-empty: 1.2.0 + is-whitespace: 0.3.0 + dev: false + /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} @@ -15716,7 +18175,6 @@ packages: /is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - dev: true /is-deflate@1.0.0: resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==} @@ -15754,7 +18212,6 @@ packages: /is-empty@1.2.0: resolution: {integrity: sha512-F2FnH/otLNJv0J6wc73A5Xo7oHLNnqplYqZhUu01tD54DIPvxIRSTSLkrUB/M0nHO4vo1O9PDfN4KoTxCzLh/w==} - dev: true /is-equal-shallow@0.1.3: resolution: {integrity: sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==} @@ -15804,6 +18261,13 @@ packages: dependencies: has-tostringtag: 1.0.0 + /is-git-repository@1.1.1: + resolution: {integrity: sha512-hxLpJytJnIZ5Og5QsxSkzmb8Qx8rGau9bio1JN/QtXcGEFuSsQYau0IiqlsCwftsfVYjF1mOq6uLdmwNSspgpA==} + dependencies: + execa: 0.6.3 + path-is-absolute: 1.0.1 + dev: false + /is-glob@2.0.1: resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==} engines: {node: '>=0.10.0'} @@ -15834,7 +18298,6 @@ packages: /is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - dev: true /is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} @@ -15854,7 +18317,6 @@ packages: /is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - dev: true /is-interactive@2.0.0: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} @@ -15872,6 +18334,12 @@ packages: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} dev: true + /is-named-css-color@1.0.0: + resolution: {integrity: sha512-8U8MlUMBJ3RiDpbYY5QGmIxGKGmK8c96bnESYyY0rA4BwqN7EPOF9gG/TFktKd4J+p5isdEQ+1x5cwOkSUWCsw==} + dependencies: + css-color-list: 0.0.1 + dev: false + /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} @@ -15914,7 +18382,6 @@ packages: /is-obj@2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} - dev: true /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} @@ -15938,7 +18405,6 @@ packages: /is-plain-obj@3.0.0: resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} engines: {node: '>=10'} - dev: true /is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} @@ -15962,7 +18428,6 @@ packages: /is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - dev: true /is-primitive@2.0.0: resolution: {integrity: sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==} @@ -16014,6 +18479,11 @@ packages: resolution: {integrity: sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==} dev: false + /is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + dev: false + /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -16050,7 +18520,6 @@ packages: /is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - dev: true /is-unicode-supported@1.3.0: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} @@ -16073,6 +18542,11 @@ packages: /is-what@3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + /is-whitespace@0.3.0: + resolution: {integrity: sha512-RydPhl4S6JwAyj0JJjshWJEFG6hNye3pZFBRZaTUfZFwGHxzppNaNOVgQuS/E/SlhrApuMXrpnK1EEIXfdo3Dg==} + engines: {node: '>=0.10.0'} + dev: false + /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} @@ -16239,6 +18713,12 @@ packages: resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} dev: true + /javascript-time-ago@2.5.9: + resolution: {integrity: sha512-pQ8mNco/9g9TqWXWWjP0EWl6i/lAQScOyEeXy5AB+f7MfLSdgyV9BJhiOD1zrIac/lrxPYOWNbyl/IW8CW5n0A==} + dependencies: + relative-time-format: 1.1.6 + dev: false + /jest-changed-files@29.7.0: resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -16277,6 +18757,34 @@ packages: - supports-color dev: true + /jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0 + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@20.9.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + /jest-cli@29.7.0(@types/node@20.9.0)(ts-node@10.9.1): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -16305,6 +18813,46 @@ packages: - ts-node dev: true + /jest-config@29.7.0(@types/node@20.9.0): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.23.3 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.9.0 + babel-jest: 29.7.0(@babel/core@7.23.3) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + dev: true + /jest-config@29.7.0(@types/node@20.9.0)(ts-node@10.9.1): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -16663,7 +19211,6 @@ packages: '@types/node': 20.9.0 merge-stream: 2.0.0 supports-color: 8.1.1 - dev: true /jest-worker@29.7.0: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} @@ -16675,6 +19222,27 @@ packages: supports-color: 8.1.1 dev: true + /jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.7.0 + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + /jest@29.7.0(@types/node@20.9.0)(ts-node@10.9.1): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -16700,6 +19268,14 @@ packages: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true + /jose@4.15.4: + resolution: {integrity: sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==} + dev: false + + /jquery@3.7.1: + resolution: {integrity: sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==} + dev: false + /js-beautify@1.14.11: resolution: {integrity: sha512-rPogWqAfoYh1Ryqqh2agUpVfbxAhbjuN1SmU86dskQUKouRiggUTCO4+2ym9UPXllc2WAp0J+T5qxn7Um3lCdw==} engines: {node: '>=14'} @@ -16726,6 +19302,38 @@ packages: dependencies: argparse: 2.0.1 + /js2xmlparser@4.0.2: + resolution: {integrity: sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==} + requiresBuild: true + dependencies: + xmlcreate: 2.0.4 + dev: false + optional: true + + /jsdoc@4.0.2: + resolution: {integrity: sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==} + engines: {node: '>=12.0.0'} + hasBin: true + requiresBuild: true + dependencies: + '@babel/parser': 7.23.3 + '@jsdoc/salty': 0.2.7 + '@types/markdown-it': 12.2.3 + bluebird: 3.7.2 + catharsis: 0.9.0 + escape-string-regexp: 2.0.0 + js2xmlparser: 4.0.2 + klaw: 3.0.0 + markdown-it: 12.3.2 + markdown-it-anchor: 8.6.7(@types/markdown-it@12.2.3)(markdown-it@12.3.2) + marked: 4.3.0 + mkdirp: 1.0.4 + requizzle: 0.2.4 + strip-json-comments: 3.1.1 + underscore: 1.13.6 + dev: false + optional: true + /jsdom@20.0.3: resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} engines: {node: '>=14'} @@ -16767,6 +19375,44 @@ packages: - utf-8-validate dev: true + /jsdom@22.1.0: + resolution: {integrity: sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==} + engines: {node: '>=16'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + cssstyle: 3.0.0 + data-urls: 4.0.0 + decimal.js: 10.4.3 + domexception: 4.0.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.7 + parse5: 7.1.2 + rrweb-cssom: 0.6.0 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.3 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 12.0.1 + ws: 8.14.2 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -16783,6 +19429,14 @@ packages: hasBin: true dev: true + /json-bigint@1.0.0: + resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} + requiresBuild: true + dependencies: + bignumber.js: 9.1.2 + dev: false + optional: true + /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -16792,19 +19446,16 @@ packages: /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true /json-parse-even-better-errors@3.0.0: resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} /json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -16854,13 +19505,28 @@ packages: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 - dev: true /jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} dev: true + /jsonwebtoken@9.0.2: + resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} + engines: {node: '>=12', npm: '>=6'} + dependencies: + jws: 3.2.2 + lodash.includes: 4.3.0 + lodash.isboolean: 3.0.3 + lodash.isinteger: 4.0.4 + lodash.isnumber: 3.0.3 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.once: 4.1.1 + ms: 2.1.3 + semver: 7.5.4 + dev: false + /jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} @@ -16879,6 +19545,54 @@ packages: setimmediate: 1.0.5 dev: true + /jwa@1.4.1: + resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + dev: false + + /jwa@2.0.0: + resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==} + requiresBuild: true + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + dev: false + optional: true + + /jwks-rsa@3.1.0: + resolution: {integrity: sha512-v7nqlfezb9YfHHzYII3ef2a2j1XnGeSE/bK3WfumaYCqONAIstJbrEGapz4kadScZzEt7zYCN7bucj8C0Mv/Rg==} + engines: {node: '>=14'} + dependencies: + '@types/express': 4.17.21 + '@types/jsonwebtoken': 9.0.5 + debug: 4.3.4 + jose: 4.15.4 + limiter: 1.1.5 + lru-memoizer: 2.2.0 + transitivePeerDependencies: + - supports-color + dev: false + + /jws@3.2.2: + resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + dependencies: + jwa: 1.4.1 + safe-buffer: 5.2.1 + dev: false + + /jws@4.0.0: + resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} + requiresBuild: true + dependencies: + jwa: 2.0.0 + safe-buffer: 5.2.1 + dev: false + optional: true + /karma-chrome-launcher@3.2.0: resolution: {integrity: sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==} dependencies: @@ -16963,6 +19677,10 @@ packages: - utf-8-validate dev: true + /kebab-case@1.0.2: + resolution: {integrity: sha512-7n6wXq4gNgBELfDCpzKc+mRrZFs7D+wgfF5WRFLNAr4DA/qtr9Js8uOAVAfHhuLMfAcQ0pRKqbpjx+TcJVdE1Q==} + dev: false + /keytar@7.9.0: resolution: {integrity: sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==} requiresBuild: true @@ -16995,6 +19713,14 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + /klaw@3.0.0: + resolution: {integrity: sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==} + requiresBuild: true + dependencies: + graceful-fs: 4.2.11 + dev: false + optional: true + /kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} @@ -17041,7 +19767,6 @@ packages: dependencies: picocolors: 1.0.0 shell-quote: 1.8.1 - dev: true /lazystream@1.0.1: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} @@ -17086,6 +19811,16 @@ packages: engines: {node: '>=6'} dev: true + /levn@0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + requiresBuild: true + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + dev: false + optional: true + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -17120,7 +19855,6 @@ packages: /limiter@1.1.5: resolution: {integrity: sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==} - dev: true /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -17128,13 +19862,21 @@ packages: /lines-and-columns@2.0.4: resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + + /linkedom@0.16.4: + resolution: {integrity: sha512-SykvDVh/jAnaO+WiPqH5vX3QpZrIRImuppzYhIHons3RXPhDwqN2dOyfopOVaHleqWtoS+3vWCqen+m8M3HToQ==} + dependencies: + css-select: 5.1.0 + cssom: 0.5.0 + html-escaper: 3.0.3 + htmlparser2: 9.0.0 + uhyphen: 0.2.0 + dev: false /linkify-it@3.0.3: resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} dependencies: uc.micro: 1.0.6 - dev: true /listhen@1.5.5: resolution: {integrity: sha512-LXe8Xlyh3gnxdv4tSjTjscD1vpr/2PRpzq8YIaMJgyKzRG8wdISlWVWnGThJfHnlJ6hmLt2wq1yeeix0TEbuoA==} @@ -17196,7 +19938,6 @@ packages: dependencies: '@npmcli/config': 6.4.0 import-meta-resolve: 2.2.2 - dev: true /load-yaml-file@0.2.0: resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} @@ -17211,7 +19952,6 @@ packages: /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} - dev: true /loader-utils@2.0.4: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} @@ -17220,7 +19960,6 @@ packages: big.js: 5.2.2 emojis-list: 3.0.0 json5: 2.2.3 - dev: true /loader-utils@3.2.1: resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} @@ -17289,12 +20028,15 @@ packages: /lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - dev: true /lodash.capitalize@4.2.1: resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} dev: true + /lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + dev: false + /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} @@ -17306,13 +20048,20 @@ packages: resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} dev: true + /lodash.includes@4.3.0: + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} + dev: false + /lodash.isarguments@3.1.0: resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} dev: true + /lodash.isboolean@3.0.3: + resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + dev: false + /lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: true /lodash.isfinite@3.3.2: resolution: {integrity: sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==} @@ -17322,17 +20071,23 @@ packages: resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} dev: true + /lodash.isinteger@4.0.4: + resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} + dev: false + /lodash.ismatch@4.4.0: resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} dev: true + /lodash.isnumber@3.0.3: + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + dev: false + /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: true /lodash.isstring@4.0.1: resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - dev: true /lodash.kebabcase@4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} @@ -17349,6 +20104,10 @@ packages: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} dev: true + /lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + dev: false + /lodash.pick@4.4.0: resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} dev: true @@ -17382,7 +20141,6 @@ packages: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - dev: true /log-symbols@5.1.0: resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} @@ -17417,6 +20175,10 @@ packages: - supports-color dev: true + /long@5.2.3: + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} + dev: false + /longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -17430,19 +20192,37 @@ packages: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.6.2 - dev: true /lowercase-keys@2.0.0: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} dev: true + /lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + /lru-cache@10.0.2: resolution: {integrity: sha512-Yj9mA8fPiVgOUpByoTZO5pNrcl5Yk37FcSHsUINpAsaBIEZIuqcCclDZJCVxqQShDsmYX8QG63svJiTbOATZwg==} engines: {node: 14 || >=16.14} dependencies: semver: 7.5.4 + /lru-cache@4.0.2: + resolution: {integrity: sha512-uQw9OqphAGiZhkuPlpFGmdTU2tEuhxTourM/19qGJrxBPHAr/f8BT1a0i/lOclESnGatdJG/UCkP9kZB/Lh1iw==} + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: false + + /lru-cache@4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: false + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -17459,6 +20239,13 @@ packages: engines: {node: '>=12'} dev: true + /lru-memoizer@2.2.0: + resolution: {integrity: sha512-QfOZ6jNkxCcM/BkIPnFsqDhtrazLRsghi9mBwFAzol5GCvj4EkFT899Za3+QwikCg5sRX8JstioBDwOxEyzaNw==} + dependencies: + lodash.clonedeep: 4.5.0 + lru-cache: 4.0.2 + dev: false + /lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -17559,6 +20346,10 @@ packages: engines: {node: '>=8'} dev: true + /map-stream@0.1.0: + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} + dev: false + /map-visit@1.0.0: resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} engines: {node: '>=0.10.0'} @@ -17569,7 +20360,18 @@ packages: /markdown-extensions@1.1.1: resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==} engines: {node: '>=0.10.0'} - dev: true + + /markdown-it-anchor@8.6.7(@types/markdown-it@12.2.3)(markdown-it@12.3.2): + resolution: {integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==} + requiresBuild: true + peerDependencies: + '@types/markdown-it': '*' + markdown-it: '*' + dependencies: + '@types/markdown-it': 12.2.3 + markdown-it: 12.3.2 + dev: false + optional: true /markdown-it@12.3.2: resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} @@ -17580,7 +20382,6 @@ packages: linkify-it: 3.0.3 mdurl: 1.0.1 uc.micro: 1.0.6 - dev: true /markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} @@ -17601,6 +20402,14 @@ packages: supports-hyperlinks: 2.3.0 dev: true + /marked@4.3.0: + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} + engines: {node: '>= 12'} + hasBin: true + requiresBuild: true + dev: false + optional: true + /marked@5.1.2: resolution: {integrity: sha512-ahRPGXJpjMjwSOlBoTMZAK7ATXkli5qCPxZ21TG44rx1KEo44bii4ekgTDQPNRQ4Kh7JMb9Ub1PVk1NxRSsorg==} engines: {node: '>= 16'} @@ -17665,6 +20474,25 @@ packages: transitivePeerDependencies: - supports-color + /mdast-util-from-markdown@2.0.0: + resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: false + /mdast-util-frontmatter@1.0.1: resolution: {integrity: sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==} dependencies: @@ -17739,7 +20567,6 @@ packages: mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color - dev: true /mdast-util-mdx-jsx@1.2.0: resolution: {integrity: sha512-5+ot/kfxYd3ChgEMwsMUO71oAfYjyRI3pADEK4I7xTmWLGQ8Y7ghm1CG36zUoUvDPxMlIYwQV/9DYHAUWdG4dA==} @@ -17771,7 +20598,6 @@ packages: vfile-message: 3.1.4 transitivePeerDependencies: - supports-color - dev: true /mdast-util-mdx@1.1.0: resolution: {integrity: sha512-leKb9uG7laXdyFlTleYV4ZEaCpsxeU1LlkkR/xp35pgKrfV1Y0fNCuOw9vaRc2a9YDpH22wd145Wt7UY5yzeZw==} @@ -17793,7 +20619,6 @@ packages: mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color - dev: true /mdast-util-mdxjs-esm@1.3.1: resolution: {integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==} @@ -17805,7 +20630,6 @@ packages: mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color - dev: true /mdast-util-phrasing@3.0.1: resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} @@ -17813,6 +20637,13 @@ packages: '@types/mdast': 3.0.15 unist-util-is: 5.2.1 + /mdast-util-phrasing@4.0.0: + resolution: {integrity: sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==} + dependencies: + '@types/mdast': 4.0.3 + unist-util-is: 6.0.0 + dev: false + /mdast-util-to-hast@11.3.0: resolution: {integrity: sha512-4o3Cli3hXPmm1LhB+6rqhfsIUBjnKFlIUZvudaermXB+4/KONdd/W4saWWkC+LBLbPMqhFSSTSRgafHsT5fVJw==} dependencies: @@ -17865,6 +20696,19 @@ packages: unist-util-visit: 4.1.2 zwitch: 2.0.4 + /mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.0.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + dev: false + /mdast-util-to-string@2.0.0: resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} dev: true @@ -17874,6 +20718,24 @@ packages: dependencies: '@types/mdast': 3.0.15 + /mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + dependencies: + '@types/mdast': 4.0.3 + dev: false + + /mdast-util-toc@6.1.1: + resolution: {integrity: sha512-Er21728Kow8hehecK2GZtb7Ny3omcoPUVrmObiSUwmoRYVZaXLR751QROEFjR8W/vAQdHMLj49Lz20J55XaNpw==} + dependencies: + '@types/extend': 3.0.4 + '@types/mdast': 3.0.15 + extend: 3.0.2 + github-slugger: 2.0.0 + mdast-util-to-string: 3.2.0 + unist-util-is: 5.2.1 + unist-util-visit: 4.1.2 + dev: false + /mdn-data@2.0.28: resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} dev: true @@ -17883,7 +20745,6 @@ packages: /mdurl@1.0.1: resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - dev: true /media-query-parser@2.0.2: resolution: {integrity: sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==} @@ -17900,7 +20761,6 @@ packages: engines: {node: '>= 4.0.0'} dependencies: fs-monkey: 1.0.5 - dev: true /memorystream@0.3.1: resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} @@ -17963,6 +20823,27 @@ packages: micromark-util-types: 1.1.0 uvu: 0.5.6 + /micromark-core-commonmark@2.0.0: + resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + /micromark-extension-frontmatter@1.1.1: resolution: {integrity: sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ==} dependencies: @@ -18055,7 +20936,6 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: true /micromark-extension-mdx-jsx@1.0.5: resolution: {integrity: sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==} @@ -18070,13 +20950,11 @@ packages: micromark-util-types: 1.1.0 uvu: 0.5.6 vfile-message: 3.1.4 - dev: true /micromark-extension-mdx-md@1.0.1: resolution: {integrity: sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==} dependencies: micromark-util-types: 1.1.0 - dev: true /micromark-extension-mdxjs-esm@1.0.5: resolution: {integrity: sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==} @@ -18090,7 +20968,6 @@ packages: unist-util-position-from-estree: 1.1.2 uvu: 0.5.6 vfile-message: 3.1.4 - dev: true /micromark-extension-mdxjs@1.0.1: resolution: {integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==} @@ -18103,7 +20980,6 @@ packages: micromark-extension-mdxjs-esm: 1.0.5 micromark-util-combine-extensions: 1.1.0 micromark-util-types: 1.1.0 - dev: true /micromark-factory-destination@1.1.0: resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} @@ -18112,6 +20988,14 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + /micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + /micromark-factory-label@1.1.0: resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} dependencies: @@ -18120,6 +21004,15 @@ packages: micromark-util-types: 1.1.0 uvu: 0.5.6 + /micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + /micromark-factory-mdx-expression@1.0.9: resolution: {integrity: sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==} dependencies: @@ -18131,7 +21024,6 @@ packages: unist-util-position-from-estree: 1.1.2 uvu: 0.5.6 vfile-message: 3.1.4 - dev: true /micromark-factory-space@1.1.0: resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} @@ -18139,6 +21031,13 @@ packages: micromark-util-character: 1.2.0 micromark-util-types: 1.1.0 + /micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-types: 2.0.0 + dev: false + /micromark-factory-title@1.1.0: resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} dependencies: @@ -18147,6 +21046,15 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + /micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + /micromark-factory-whitespace@1.1.0: resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} dependencies: @@ -18155,6 +21063,15 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + /micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + /micromark-util-character@1.2.0: resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} dependencies: @@ -18173,6 +21090,12 @@ packages: dependencies: micromark-util-symbol: 1.1.0 + /micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: false + /micromark-util-classify-character@1.1.0: resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} dependencies: @@ -18180,17 +21103,38 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + /micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + /micromark-util-combine-extensions@1.1.0: resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} dependencies: micromark-util-chunked: 1.1.0 micromark-util-types: 1.1.0 + /micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + /micromark-util-decode-numeric-character-reference@1.1.0: resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} dependencies: micromark-util-symbol: 1.1.0 + /micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: false + /micromark-util-decode-string@1.1.0: resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} dependencies: @@ -18199,6 +21143,15 @@ packages: micromark-util-decode-numeric-character-reference: 1.1.0 micromark-util-symbol: 1.1.0 + /micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + dev: false + /micromark-util-encode@1.1.0: resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} @@ -18217,21 +21170,36 @@ packages: micromark-util-types: 1.1.0 uvu: 0.5.6 vfile-message: 3.1.4 - dev: true /micromark-util-html-tag-name@1.2.0: resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + /micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + dev: false + /micromark-util-normalize-identifier@1.1.0: resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} dependencies: micromark-util-symbol: 1.1.0 + /micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: false + /micromark-util-resolve-all@1.1.0: resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} dependencies: micromark-util-types: 1.1.0 + /micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + dependencies: + micromark-util-types: 2.0.0 + dev: false + /micromark-util-sanitize-uri@1.2.0: resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} dependencies: @@ -18255,6 +21223,15 @@ packages: micromark-util-types: 1.1.0 uvu: 0.5.6 + /micromark-util-subtokenize@2.0.0: + resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + /micromark-util-symbol@1.1.0: resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} @@ -18301,6 +21278,30 @@ packages: transitivePeerDependencies: - supports-color + /micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: false + /micromatch@2.3.11: resolution: {integrity: sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==} engines: {node: '>=0.10.0'} @@ -18397,6 +21398,11 @@ packages: engines: {node: '>=10'} requiresBuild: true + /mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -18414,7 +21420,6 @@ packages: /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - dev: true /minimatch@3.0.4: resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} @@ -18432,7 +21437,6 @@ packages: engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 - dev: true /minimatch@9.0.1: resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} @@ -18573,7 +21577,6 @@ packages: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true - dev: true /mlly@1.4.2: resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} @@ -18681,16 +21684,13 @@ packages: dependencies: dns-packet: 5.6.1 thunky: 1.1.0 - dev: true /mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true /mute-stream@1.0.0: resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true /mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -18738,7 +21738,6 @@ packages: /napi-build-utils@1.0.2: resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} requiresBuild: true - optional: true /napi-wasm@1.1.0: resolution: {integrity: sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg==} @@ -18787,7 +21786,6 @@ packages: /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true /nerf-dart@1.0.0: resolution: {integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==} @@ -18806,7 +21804,7 @@ packages: typescript: 5.2.2 dev: false - /next@14.0.2(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0): + /next@14.0.2(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.69.5): resolution: {integrity: sha512-jsAU2CkYS40GaQYOiLl9m93RTv2DA/tTJ0NRlmZIBIL87YwQ/xR8k796z7IqgM3jydI8G25dXvyYMC9VDIevIg==} engines: {node: '>=18.17.0'} hasBin: true @@ -18828,6 +21826,7 @@ packages: postcss: 8.4.31 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + sass: 1.69.5 styled-jsx: 5.1.1(@babel/core@7.23.3)(react@18.2.0) watchpack: 2.4.0 optionalDependencies: @@ -18960,7 +21959,6 @@ packages: dependencies: lower-case: 2.0.2 tslib: 2.6.2 - dev: true /node-abi@3.51.0: resolution: {integrity: sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==} @@ -18968,7 +21966,6 @@ packages: requiresBuild: true dependencies: semver: 7.5.4 - optional: true /node-addon-api@1.7.2: resolution: {integrity: sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==} @@ -18992,7 +21989,6 @@ packages: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} requiresBuild: true dev: false - optional: true /node-addon-api@7.0.0: resolution: {integrity: sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==} @@ -19018,12 +22014,10 @@ packages: optional: true dependencies: whatwg-url: 5.0.0 - dev: true /node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} - dev: true /node-gyp-build@4.6.1: resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} @@ -19155,7 +22149,6 @@ packages: /normalize-url@8.0.0: resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} engines: {node: '>=14.16'} - dev: true /npm-bundled@3.0.0: resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} @@ -19174,7 +22167,6 @@ packages: /npm-normalize-package-bin@3.0.1: resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true /npm-package-arg@11.0.1: resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} @@ -19234,6 +22226,13 @@ packages: string.prototype.padend: 3.1.5 dev: true + /npm-run-path@2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} + dependencies: + path-key: 2.0.1 + dev: false + /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -19467,7 +22466,7 @@ packages: fsevents: 2.3.3 dev: true - /nuxt@3.8.1(@types/node@18.18.9)(eslint@8.54.0)(typescript@5.2.2)(vite@4.5.0): + /nuxt@3.8.1(@types/node@18.18.9)(eslint@8.55.0)(typescript@5.2.2)(vite@4.5.0): resolution: {integrity: sha512-RSGO56Gv0x2f6AXWw4o4GoBaVdsD0qkPCjrX7Ud/jzH3cRJoyYMPuq/9AOLvf2o1ecZWl39j5elqJ4QHmggyOA==} engines: {node: ^14.18.0 || >=16.10.0} hasBin: true @@ -19486,7 +22485,7 @@ packages: '@nuxt/schema': 3.8.1 '@nuxt/telemetry': 2.5.2 '@nuxt/ui-templates': 1.3.1 - '@nuxt/vite-builder': 3.8.1(@types/node@18.18.9)(eslint@8.54.0)(typescript@5.2.2)(vue@3.3.8) + '@nuxt/vite-builder': 3.8.1(@types/node@18.18.9)(eslint@8.55.0)(typescript@5.2.2)(vue@3.3.8) '@types/node': 18.18.9 '@unhead/dom': 1.8.3 '@unhead/ssr': 1.8.3 @@ -19575,7 +22574,6 @@ packages: /nwsapi@2.2.7: resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} - dev: true /nypm@0.3.3: resolution: {integrity: sha512-FHoxtTscAE723e80d2M9cJRb4YVjL82Ra+ZV+YqC6rfNZUWahi+ZhPF+krnR+bdMvibsfHCtgKXnZf5R6kmEPA==} @@ -19610,6 +22608,13 @@ packages: kind-of: 3.2.2 dev: false + /object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + requiresBuild: true + dev: false + optional: true + /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} @@ -19700,7 +22705,6 @@ packages: /obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - dev: true /ofetch@1.3.3: resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} @@ -19765,7 +22769,6 @@ packages: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 - dev: true /open@9.1.0: resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} @@ -19788,6 +22791,11 @@ packages: yargs-parser: 21.1.1 dev: true + /opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + dev: true + /openurl@1.1.1: resolution: {integrity: sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==} dev: true @@ -19799,6 +22807,20 @@ packages: is-wsl: 1.1.0 dev: true + /optionator@0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} + requiresBuild: true + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + word-wrap: 1.2.5 + dev: false + optional: true + /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -19828,7 +22850,6 @@ packages: log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 - dev: true /ora@6.3.1: resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} @@ -19863,17 +22884,43 @@ packages: /os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} - dev: true /outdent@0.8.0: resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==} dev: true + /ow@0.28.2: + resolution: {integrity: sha512-dD4UpyBh/9m4X2NVjA+73/ZPBRF+uF4zIMFvvQsabMiEK8x41L3rQ8EENOi35kyyoaJwNxEeJcP6Fj1H4U409Q==} + engines: {node: '>=12'} + dependencies: + '@sindresorhus/is': 4.6.0 + callsites: 3.1.0 + dot-prop: 6.0.1 + lodash.isequal: 4.5.0 + vali-date: 1.0.0 + dev: false + + /ow@1.1.1: + resolution: {integrity: sha512-sJBRCbS5vh1Jp9EOgwp1Ws3c16lJrUkJYlvWTYC03oyiYVwS/ns7lKRWow4w4XjDyTrA2pplQv4B2naWSR6yDA==} + engines: {node: '>=14.16'} + dependencies: + '@sindresorhus/is': 5.6.0 + callsites: 4.1.0 + dot-prop: 7.2.0 + lodash.isequal: 4.5.0 + vali-date: 1.0.0 + dev: false + /p-cancelable@2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} dev: true + /p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + dev: false + /p-each-series@3.0.0: resolution: {integrity: sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==} engines: {node: '>=12'} @@ -19886,6 +22933,11 @@ packages: p-map: 5.5.0 dev: true + /p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + dev: false + /p-is-promise@3.0.0: resolution: {integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==} engines: {node: '>=8'} @@ -19975,7 +23027,6 @@ packages: dependencies: '@types/retry': 0.12.0 retry: 0.13.1 - dev: true /p-timeout@5.1.0: resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} @@ -20056,7 +23107,6 @@ packages: dependencies: dot-case: 3.0.4 tslib: 2.6.2 - dev: true /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} @@ -20064,6 +23114,18 @@ packages: dependencies: callsites: 3.1.0 + /parent-module@3.1.0: + resolution: {integrity: sha512-FX4TpKXX6CesSm1D9y5IcF0/KdDjP/w0c1AKqreGZne2QyWiPWHfoApMaJl8zvH3DTh+xtVmlLIUqSSoPYjqLQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + callsites: 4.1.0 + dev: false + + /parent-require@1.0.0: + resolution: {integrity: sha512-2MXDNZC4aXdkkap+rBBMv0lUsfJqvX5/2FiYYnfCnorZt3Pk06/IOR5KeaoghgS2w07MLWgjbsnyaq6PdHn2LQ==} + engines: {node: '>= 0.4.0'} + dev: false + /parse-entities@2.0.0: resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} dependencies: @@ -20086,7 +23148,6 @@ packages: is-alphanumerical: 2.0.1 is-decimal: 2.0.1 is-hexadecimal: 2.0.1 - dev: true /parse-git-config@3.0.0: resolution: {integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==} @@ -20132,7 +23193,6 @@ packages: error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 2.0.4 - dev: true /parse-json@7.1.1: resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==} @@ -20241,7 +23301,6 @@ packages: dependencies: no-case: 3.0.4 tslib: 2.6.2 - dev: true /pascalcase@0.1.1: resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} @@ -20273,7 +23332,6 @@ packages: /path-key@2.0.1: resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} engines: {node: '>=4'} - dev: true /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} @@ -20320,6 +23378,12 @@ packages: resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} dev: true + /pause-stream@0.0.11: + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + dependencies: + through: 2.3.8 + dev: false + /peek-stream@1.1.3: resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==} dependencies: @@ -20878,7 +23942,6 @@ packages: simple-get: 4.0.1 tar-fs: 2.1.1 tunnel-agent: 0.6.0 - optional: true /preferred-pm@3.1.2: resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} @@ -20890,6 +23953,13 @@ packages: which-pm: 2.0.0 dev: false + /prelude-ls@1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + requiresBuild: true + dev: false + optional: true + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -20967,6 +24037,10 @@ packages: parse-ms: 3.0.0 dev: true + /prism-svelte@0.5.0: + resolution: {integrity: sha512-db91Bf3pRGKDPz1lAqLFSJXeW13mulUJxhycysFpfXV5MIK7RgWWK2E5aPAa71s8TCzQUXxF5JOV42/iOs6QkA==} + dev: false + /prismjs@1.29.0: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} engines: {node: '>=6'} @@ -20985,7 +24059,6 @@ packages: /proc-log@3.0.0: resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -21026,12 +24099,90 @@ packages: object-assign: 4.1.1 react-is: 16.13.1 + /proper-lockfile@4.1.2: + resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} + dependencies: + graceful-fs: 4.2.11 + retry: 0.12.0 + signal-exit: 3.0.7 + dev: false + /property-information@6.4.0: resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==} /proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + /proto3-json-serializer@1.1.1: + resolution: {integrity: sha512-AwAuY4g9nxx0u52DnSMkqqgyLHaW/XaPLtaAo3y/ZCfeaQB/g4YDH4kb8Wc/mWzWvu0YjOznVnfn373MVZZrgw==} + engines: {node: '>=12.0.0'} + requiresBuild: true + dependencies: + protobufjs: 7.2.5 + dev: false + optional: true + + /protobufjs-cli@1.1.1(protobufjs@7.2.4): + resolution: {integrity: sha512-VPWMgIcRNyQwWUv8OLPyGQ/0lQY/QTQAVN5fh+XzfDwsVw1FZ2L3DM/bcBf8WPiRz2tNpaov9lPZfNcmNo6LXA==} + engines: {node: '>=12.0.0'} + hasBin: true + requiresBuild: true + peerDependencies: + protobufjs: ^7.0.0 + dependencies: + chalk: 4.1.2 + escodegen: 1.14.3 + espree: 9.6.1 + estraverse: 5.3.0 + glob: 8.1.0 + jsdoc: 4.0.2 + minimist: 1.2.8 + protobufjs: 7.2.4 + semver: 7.5.4 + tmp: 0.2.1 + uglify-js: 3.17.4 + dev: false + optional: true + + /protobufjs@7.2.4: + resolution: {integrity: sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ==} + engines: {node: '>=12.0.0'} + requiresBuild: true + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 20.9.0 + long: 5.2.3 + dev: false + optional: true + + /protobufjs@7.2.5: + resolution: {integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==} + engines: {node: '>=12.0.0'} + requiresBuild: true + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 20.9.0 + long: 5.2.3 + dev: false + /protocols@2.0.1: resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} dev: true @@ -21059,18 +24210,27 @@ packages: - supports-color dev: true + /proxy-chain@2.4.0: + resolution: {integrity: sha512-fbFfzJDxWcLYYvI+yx0VXjTgJPfXsGdhFnCJN4rq/5GZSgn9CQpRgm1KC2iEJfhL8gkeZCWJYBAllmGMT356cg==} + engines: {node: '>=14'} + dependencies: + tslib: 2.6.2 + dev: false + /proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: true /prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} requiresBuild: true optional: true + /pseudomap@1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + dev: false + /psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - dev: true /pstree.remy@1.1.8: resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} @@ -21156,7 +24316,6 @@ packages: /querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - dev: true /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -21173,7 +24332,11 @@ packages: /quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} - dev: true + + /quick-lru@7.0.0: + resolution: {integrity: sha512-MX8gB7cVYTrYcFfAnfLlhRd0+Toyl8yX8uBx1MrX7K0jegiz9TumwOK27ldXrgDlHRdVi+MqU9Ssw6dr4BNreg==} + engines: {node: '>=18'} + dev: false /radix3@1.1.0: resolution: {integrity: sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==} @@ -21192,7 +24355,6 @@ packages: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 - dev: true /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} @@ -21216,6 +24378,17 @@ packages: iconv-lite: 0.4.24 unpipe: 1.0.0 + /raw-loader@4.0.2(webpack@5.89.0): + resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.89.0(@swc/core@1.3.96)(webpack-cli@5.1.4) + dev: false + /rc9@2.1.1: resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==} dependencies: @@ -21243,6 +24416,18 @@ packages: scheduler: 0.23.0 dev: false + /react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + dev: false + + /react-intersection-observer@9.5.3(react@18.2.0): + resolution: {integrity: sha512-NJzagSdUPS5rPhaLsHXYeJbsvdpbJwL6yCHtMk91hc0ufQ2BnXis+0QQ9NBh6n9n+Q3OyjR6OQLShYbaNBkThQ==} + peerDependencies: + react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + dev: false + /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -21254,6 +24439,24 @@ packages: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true + /react-popper@2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==} + peerDependencies: + '@popperjs/core': ^2.0.0 + react: ^16.8.0 || ^17 || ^18 + react-dom: ^16.8.0 || ^17 || ^18 + dependencies: + '@popperjs/core': 2.11.8 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-fast-compare: 3.2.2 + warning: 4.0.3 + dev: false + + /react-property@2.0.0: + resolution: {integrity: sha512-kzmNjIgU32mO4mmH5+iUyrqlpFQhF8K2k7eZ4fdLSOPFrD1XgEuSBv9LDEgxRXTMBqMd8ppT0x6TIzqE5pdGdw==} + dev: false + /react-refresh@0.14.0: resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} engines: {node: '>=0.10.0'} @@ -21294,7 +24497,6 @@ packages: dependencies: json-parse-even-better-errors: 3.0.0 npm-normalize-package-bin: 3.0.1 - dev: true /read-package-json@7.0.0: resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} @@ -21441,7 +24643,6 @@ packages: engines: {node: '>= 10.13.0'} dependencies: resolve: 1.22.8 - dev: true /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} @@ -21579,6 +24780,18 @@ packages: unified: 10.1.2 dev: false + /rehype-slug@5.1.0: + resolution: {integrity: sha512-Gf91dJoXneiorNEnn+Phx97CO7oRMrpi+6r155tTxzGuLtm+QrI4cTwCa9e1rtePdL4i9tSO58PeSS6HWfgsiw==} + dependencies: + '@types/hast': 2.3.8 + github-slugger: 2.0.0 + hast-util-has-property: 2.0.1 + hast-util-heading-rank: 2.1.1 + hast-util-to-string: 2.0.0 + unified: 10.1.2 + unist-util-visit: 4.1.2 + dev: false + /rehype-stringify@9.0.4: resolution: {integrity: sha512-Uk5xu1YKdqobe5XpSskwPvo1XeHUUucWEQSl8hTrXt5selvca1e8K1EZ37E6YoZ4BT8BCqCdVfQW7OfHfthtVQ==} dependencies: @@ -21601,6 +24814,16 @@ packages: engines: {node: '>= 0.10'} dev: true + /relative-luminance@2.0.1: + resolution: {integrity: sha512-wFuITNthJilFPwkK7gNJcULxXBcfFZvZORsvdvxeOdO44wCeZnuQkf3nFFzOR/dpJNxYsdRZJLsepWbyKhnMww==} + dependencies: + esm: 3.2.25 + dev: false + + /relative-time-format@1.1.6: + resolution: {integrity: sha512-aCv3juQw4hT1/P/OrVltKWLlp15eW1GRcwP1XdxHrPdZE9MtgqFpegjnTjLhi2m2WI9MT/hQQtE+tjEWG1hgkQ==} + dev: false + /remark-frontmatter@4.0.1: resolution: {integrity: sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==} dependencies: @@ -21638,7 +24861,6 @@ packages: micromark-extension-mdxjs: 1.0.1 transitivePeerDependencies: - supports-color - dev: true /remark-parse@10.0.2: resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} @@ -21649,6 +24871,17 @@ packages: transitivePeerDependencies: - supports-color + /remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + micromark-util-types: 2.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + dev: false + /remark-rehype@10.1.0: resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} dependencies: @@ -21667,6 +24900,17 @@ packages: unified: 10.1.2 dev: true + /remark-slug@7.0.1: + resolution: {integrity: sha512-NRvYePr69LdeCkEGwL4KYAmq7kdWG5rEavCXMzUR4qndLoXHJAOLSUmPY6Qm4NJfKix7/EmgObyVaYivONAFhg==} + dependencies: + '@types/hast': 2.3.8 + '@types/mdast': 3.0.15 + github-slugger: 1.5.0 + mdast-util-to-string: 3.2.0 + unified: 10.1.2 + unist-util-visit: 4.1.2 + dev: false + /remark-smartypants@2.0.0: resolution: {integrity: sha512-Rc0VDmr/yhnMQIz8n2ACYXlfw/P/XZev884QU1I5u+5DgJls32o97Vc1RbK3pfumLsJomS2yy8eT4Fxj/2MDVA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -21682,7 +24926,33 @@ packages: '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 unified: 10.1.2 - dev: true + + /remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.4 + dev: false + + /remark-toc@8.0.1: + resolution: {integrity: sha512-7he2VOm/cy13zilnOTZcyAoyoolV26ULlon6XyCFU+vG54Z/LWJnwphj/xKIDLOt66QmJUgTyUvLVHi2aAElyg==} + dependencies: + '@types/mdast': 3.0.15 + mdast-util-toc: 6.1.1 + unified: 10.1.2 + dev: false + + /remark@15.0.1: + resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} + dependencies: + '@types/mdast': 4.0.3 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + dev: false /remove-trailing-separator@1.1.0: resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} @@ -21711,12 +24981,10 @@ packages: /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - dev: true /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - dev: true /require-like@0.1.2: resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} @@ -21730,16 +24998,22 @@ packages: /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + /requizzle@0.2.4: + resolution: {integrity: sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==} + requiresBuild: true + dependencies: + lodash: 4.17.21 + dev: false + optional: true + /resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - dev: true /resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 - dev: true /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} @@ -21748,7 +25022,6 @@ packages: /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - dev: true /resolve-global@1.0.0: resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} @@ -21820,13 +25093,19 @@ packages: lowercase-keys: 2.0.0 dev: true + /responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + dependencies: + lowercase-keys: 3.0.0 + dev: false + /restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true /restore-cursor@4.0.0: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} @@ -21876,15 +25155,25 @@ packages: unified: 10.1.2 dev: false + /retry-request@5.0.2: + resolution: {integrity: sha512-wfI3pk7EE80lCIXprqh7ym48IHYdwmAAzESdbU8Q9l7pnRCk9LEhpbOTNKjz6FARLm/Bl5m+4F0ABxOkYUujSQ==} + engines: {node: '>=12'} + requiresBuild: true + dependencies: + debug: 4.3.4 + extend: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: false + optional: true + /retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} - dev: true /retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} - dev: true /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} @@ -21894,6 +25183,11 @@ packages: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} dev: true + /rgb@0.1.0: + resolution: {integrity: sha512-F49dXX73a92N09uQkfCp2QjwXpmJcn9/i9PvjmwsSIXUGqRLCf/yx5Q9gRxuLQTq248kakqQuc8GX/U/CxSqlA==} + hasBin: true + dev: false + /rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} hasBin: true @@ -21931,6 +25225,10 @@ packages: optionalDependencies: fsevents: 2.3.3 + /rrweb-cssom@0.6.0: + resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} + dev: false + /run-applescript@5.0.0: resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} engines: {node: '>=12'} @@ -21940,12 +25238,10 @@ packages: /run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} - dev: true /run-async@3.0.0: resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} engines: {node: '>=0.12.0'} - dev: true /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -22058,7 +25354,6 @@ packages: engines: {node: '>=v12.22.7'} dependencies: xmlchars: 2.2.0 - dev: true /scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} @@ -22073,7 +25368,6 @@ packages: '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - dev: true /schema-utils@4.2.0: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} @@ -22083,7 +25377,6 @@ packages: ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) - dev: true /scule@1.0.0: resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} @@ -22099,7 +25392,6 @@ packages: /select-hose@2.0.0: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} - dev: true /selfsigned@2.4.1: resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} @@ -22107,7 +25399,6 @@ packages: dependencies: '@types/node-forge': 1.3.9 node-forge: 1.3.1 - dev: true /semantic-release-config-techor@2.5.19(@semantic-release/exec@6.0.3)(semantic-release@21.1.2): resolution: {integrity: sha512-1L/oZJqurXgsuKl84OF96IujzHM5x75sUY/T3IUXMb2fSGouj4zi73XNk7SG0a8q481d1/zs34sI6z1RLssQLQ==} @@ -22240,7 +25531,6 @@ packages: resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} dependencies: randombytes: 2.1.0 - dev: true /serve-index@1.9.1: resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} @@ -22255,7 +25545,6 @@ packages: parseurl: 1.3.3 transitivePeerDependencies: - supports-color - dev: true /serve-placeholder@2.0.1: resolution: {integrity: sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==} @@ -22289,6 +25578,10 @@ packages: /server-destroy@1.0.1: resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==} + /server-only@0.0.1: + resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} + dev: false + /server-static@2.0.5: resolution: {integrity: sha512-EH7QKqDlGFkJ4VVD3TXdUqPekk1qJxGnj4Euc9cFWD4zB2WBuPx576iMeLkEMAGVF6hLkN1Mpyb4WCUOb/Nusg==} hasBin: true @@ -22355,7 +25648,6 @@ packages: /setprototypeof@1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} - dev: true /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} @@ -22380,14 +25672,12 @@ packages: tar-fs: 3.0.4 tunnel-agent: 0.6.0 dev: false - optional: true /shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} dependencies: shebang-regex: 1.0.0 - dev: true /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} @@ -22398,7 +25688,6 @@ packages: /shebang-regex@1.0.0: resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} engines: {node: '>=0.10.0'} - dev: true /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} @@ -22406,7 +25695,6 @@ packages: /shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - dev: true /shiki@0.14.5: resolution: {integrity: sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==} @@ -22465,7 +25753,6 @@ packages: /simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} requiresBuild: true - optional: true /simple-get@4.0.1: resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} @@ -22474,7 +25761,6 @@ packages: decompress-response: 6.0.0 once: 1.4.0 simple-concat: 1.0.1 - optional: true /simple-git@3.20.0: resolution: {integrity: sha512-ozK8tl2hvLts8ijTs18iFruE+RoqmC/mqZhjs/+V7gS5W68JpJ3+FCTmLVqmR59MaUQ52MfGQuWsIqfsTbbJ0Q==} @@ -22492,7 +25778,6 @@ packages: dependencies: is-arrayish: 0.3.2 dev: false - optional: true /simple-update-notifier@1.1.0: resolution: {integrity: sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==} @@ -22501,6 +25786,15 @@ packages: semver: 7.0.0 dev: true + /sirv@1.0.19: + resolution: {integrity: sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.23 + mrmime: 1.0.1 + totalist: 1.1.0 + dev: true + /sirv@2.0.3: resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} engines: {node: '>= 10'} @@ -22542,6 +25836,11 @@ packages: resolution: {integrity: sha512-9bYT917D6H3+q8GlQBJmLVz3bc4OeVGfZ2BB12wvLnluTGfG6/8UdOUbKJDW1EEx9SZMDbjnatkau5/XcUeyOw==} dev: false + /slugify@1.6.6: + resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} + engines: {node: '>=8.0.0'} + dev: false + /smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -22551,6 +25850,13 @@ packages: resolution: {integrity: sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==} dev: true + /snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: true + /snapdragon-node@2.1.1: resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} engines: {node: '>=0.10.0'} @@ -22695,7 +26001,6 @@ packages: faye-websocket: 0.11.4 uuid: 8.3.2 websocket-driver: 0.7.4 - dev: true /socks-proxy-agent@8.0.2: resolution: {integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==} @@ -22807,6 +26112,10 @@ packages: resolution: {integrity: sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==} dev: true + /spawn-sync@2.0.0: + resolution: {integrity: sha512-AGXIhH/XZVinFewojYTsG8uapHX2e7MjtFbmibvK9qqG4qGd9b6jelU1sTkCA0RVGHvN9exJYTBVbF1Ls2f69g==} + dev: false + /spawnd@9.0.1: resolution: {integrity: sha512-vaMk8E9CpbjTYToBxLXowDeArGf1+yI7A6PU6Nr57b2g8BVY8nRi5vTBj3bMF8UkCrMdTMyf/Lh+lrcrW2z7pw==} engines: {node: '>=16'} @@ -22848,7 +26157,6 @@ packages: wbuf: 1.7.3 transitivePeerDependencies: - supports-color - dev: true /spdy@4.0.2: resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} @@ -22861,7 +26169,6 @@ packages: spdy-transport: 3.0.0 transitivePeerDependencies: - supports-color - dev: true /split-string@3.1.0: resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} @@ -22980,6 +26287,10 @@ packages: internal-slot: 1.0.6 dev: true + /stream-chain@2.2.5: + resolution: {integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==} + dev: false + /stream-combiner2@1.1.1: resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} dependencies: @@ -22987,6 +26298,26 @@ packages: readable-stream: 2.3.8 dev: true + /stream-combiner@0.0.4: + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + dependencies: + duplexer: 0.1.2 + dev: false + + /stream-events@1.0.5: + resolution: {integrity: sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==} + requiresBuild: true + dependencies: + stubs: 3.0.0 + dev: false + optional: true + + /stream-json@1.8.0: + resolution: {integrity: sha512-HZfXngYHUAr1exT4fxlbc1IOce1RYxp2ldeaf97LYCOPSoOqY/1Psp7iGvpb+6JIOgkra9zDYnPX01hGAHzEPw==} + dependencies: + stream-chain: 2.2.5 + dev: false + /stream-parser@0.3.1: resolution: {integrity: sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==} dependencies: @@ -23158,6 +26489,13 @@ packages: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 + /strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: false + /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -23183,6 +26521,11 @@ packages: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} engines: {node: '>=8'} + /strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + dev: false + /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -23213,6 +26556,18 @@ packages: acorn: 8.11.2 dev: true + /strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + requiresBuild: true + dev: false + optional: true + + /stubs@3.0.0: + resolution: {integrity: sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==} + requiresBuild: true + dev: false + optional: true + /style-loader@3.3.3(webpack@5.89.0): resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==} engines: {node: '>= 12.13.0'} @@ -23222,11 +26577,22 @@ packages: webpack: 5.89.0(@swc/core@1.3.96)(webpack-cli@5.1.4) dev: true + /style-to-js@1.1.3: + resolution: {integrity: sha512-zKI5gN/zb7LS/Vm0eUwjmjrXWw8IMtyA8aPBJZdYiQTXj4+wQ3IucOLIOnF7zCHxvW8UhIGh/uZh/t9zEHXNTQ==} + dependencies: + style-to-object: 0.4.1 + dev: false + + /style-to-object@0.4.1: + resolution: {integrity: sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==} + dependencies: + inline-style-parser: 0.1.1 + dev: false + /style-to-object@0.4.4: resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} dependencies: inline-style-parser: 0.1.1 - dev: true /styled-jsx@5.1.1(@babel/core@7.23.3)(react@18.2.0): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} @@ -23276,6 +26642,11 @@ packages: s.color: 0.0.15 dev: false + /supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + dev: false + /supports-color@5.4.0: resolution: {integrity: sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==} engines: {node: '>=4'} @@ -23300,12 +26671,10 @@ packages: engines: {node: '>=10'} dependencies: has-flag: 4.0.0 - dev: true /supports-color@9.4.0: resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} engines: {node: '>=12'} - dev: true /supports-hyperlinks@2.3.0: resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} @@ -23437,6 +26806,10 @@ packages: magic-string: 0.30.5 periscopic: 3.1.0 + /svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + dev: true + /svg-tags@1.0.0: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} dev: true @@ -23461,7 +26834,6 @@ packages: /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - dev: true /synckit@0.8.5: resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} @@ -23531,6 +26903,22 @@ packages: commander: 11.1.0 dev: true + /teeny-request@8.0.3: + resolution: {integrity: sha512-jJZpA5He2y52yUhA7pyAGZlgQpcB+xLjcN0eUFxr9c8hP/H7uOXbBNVo/O0C/xVfJLJs680jvkFgVJEEvk9+ww==} + engines: {node: '>=12'} + requiresBuild: true + dependencies: + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + node-fetch: 2.7.0 + stream-events: 1.0.5 + uuid: 9.0.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + optional: true + /temp-dir@3.0.0: resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} engines: {node: '>=14.16'} @@ -23570,7 +26958,6 @@ packages: serialize-javascript: 6.0.1 terser: 5.24.0 webpack: 5.89.0(@swc/core@1.3.96)(webpack-cli@5.1.4) - dev: true /terser@5.24.0: resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==} @@ -23591,6 +26978,10 @@ packages: minimatch: 3.1.2 dev: true + /text-decoding@1.0.0: + resolution: {integrity: sha512-/0TJD42KDnVwKmDK6jj3xP7E2MG7SHAOG4tyTgyUCRPdHwvkquYNLEQltmdMa3owq3TkddCVcTsoctJI8VQNKA==} + dev: false + /text-extensions@2.4.0: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} @@ -23610,6 +27001,11 @@ packages: dependencies: any-promise: 1.3.0 + /throttle-debounce@5.0.0: + resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} + engines: {node: '>=12.22'} + dev: false + /through2@0.4.2: resolution: {integrity: sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==} dependencies: @@ -23648,7 +27044,19 @@ packages: /thunky@1.1.0: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} - dev: true + + /timeago-react@3.0.6(react@18.2.0): + resolution: {integrity: sha512-4ywnCX3iFjdp84WPK7gt8s4n0FxXbYM+xv8hYL73p83dpcMxzmO+0W4xJuxflnkWNvum5aEaqTe6LZ3lUIudjQ==} + peerDependencies: + react: ^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + timeago.js: 4.0.2 + dev: false + + /timeago.js@4.0.2: + resolution: {integrity: sha512-a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==} + dev: false /tiny-glob@0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} @@ -23661,23 +27069,36 @@ packages: resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} dev: true + /tiny-typed-emitter@2.1.0: + resolution: {integrity: sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==} + dev: false + /titleize@3.0.0: resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} engines: {node: '>=12'} + /tldts-core@6.1.0: + resolution: {integrity: sha512-kWIs6ECYvpsHXmVezsbU2ZmaPZld6bArFUM2HS/Pz1o1pRCu/y8w6n02IfiefUA5NarwJ7sCjwsrKGtpztXYZQ==} + dev: false + + /tldts@6.1.0: + resolution: {integrity: sha512-9eh9oPefds2M+Trcgpa4gLaHtckcmfgHsNwQKE4kfiy6ApJrt4Thko2CXQ9s3K1o0rQtJOLmV0UfFLhC9CAN3w==} + hasBin: true + dependencies: + tldts-core: 6.1.0 + dev: false + /tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 - dev: true /tmp@0.2.1: resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} engines: {node: '>=8.17.0'} dependencies: rimraf: 3.0.2 - dev: true /tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -23691,6 +27112,11 @@ packages: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} + /to-line@1.5.5: + resolution: {integrity: sha512-sT6lF65b7+FG2X66XA8LWdCusgm6In+1KzAc9T7w3mb3P92/lLGwkEJmLE6I5ohZEGk1p8Rdmj13BzgKQYFkTw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + dev: false + /to-object-path@0.3.0: resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} engines: {node: '>=0.10.0'} @@ -23727,7 +27153,6 @@ packages: dependencies: is-buffer: 2.0.5 vfile: 5.3.7 - dev: true /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} @@ -23737,6 +27162,11 @@ packages: resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} dev: true + /totalist@1.1.0: + resolution: {integrity: sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==} + engines: {node: '>=6'} + dev: true + /totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} @@ -23757,11 +27187,9 @@ packages: punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 - dev: true /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: true /tr46@3.0.0: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} @@ -23770,6 +27198,13 @@ packages: punycode: 2.3.1 dev: true + /tr46@4.1.1: + resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} + engines: {node: '>=14'} + dependencies: + punycode: 2.3.1 + dev: false + /traverse@0.6.7: resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} dev: true @@ -23813,7 +27248,6 @@ packages: /ts-dedent@2.2.0: resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} engines: {node: '>=6.10'} - dev: true /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -23842,7 +27276,7 @@ packages: '@babel/core': 7.23.3 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.9.0)(ts-node@10.9.1) + jest: 29.7.0 jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -23979,7 +27413,6 @@ packages: requiresBuild: true dependencies: safe-buffer: 5.2.1 - optional: true /tunnel@0.0.6: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} @@ -23991,7 +27424,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /turbo-darwin-arm64@1.10.16: @@ -23999,7 +27431,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /turbo-linux-64@1.10.16: @@ -24007,7 +27438,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /turbo-linux-arm64@1.10.16: @@ -24015,7 +27445,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /turbo-windows-64@1.10.16: @@ -24023,7 +27452,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /turbo-windows-arm64@1.10.16: @@ -24031,7 +27459,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /turbo@1.10.16: @@ -24044,7 +27471,15 @@ packages: turbo-linux-arm64: 1.10.16 turbo-windows-64: 1.10.16 turbo-windows-arm64: 1.10.16 - dev: true + + /type-check@0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} + requiresBuild: true + dependencies: + prelude-ls: 1.1.2 + dev: false + optional: true /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} @@ -24074,7 +27509,6 @@ packages: /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - dev: true /type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} @@ -24103,7 +27537,6 @@ packages: /type-fest@4.7.1: resolution: {integrity: sha512-iWr8RUmzAJRfhZugX9O7nZE6pCxDU8CZ3QxsLuTnGcBLJpCaP2ll3s4eMTBoFnU/CeXY/5rfQSuAEsTGJO4y8A==} engines: {node: '>=16'} - dev: true /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} @@ -24160,7 +27593,6 @@ packages: /typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - dev: true /typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} @@ -24183,7 +27615,6 @@ packages: /uc.micro@1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} - dev: true /ufo@1.3.1: resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==} @@ -24194,9 +27625,12 @@ packages: engines: {node: '>=0.8.0'} hasBin: true requiresBuild: true - dev: true optional: true + /uhyphen@0.2.0: + resolution: {integrity: sha512-qz3o9CHXmJJPGBdqzab7qAYuW8kQGKNEuoHFYrBwV6hWIMcpAmxDLXojcHfFr9US1Pe6zUswEIJIbLI610fuqA==} + dev: false + /ultrahtml@1.5.2: resolution: {integrity: sha512-qh4mBffhlkiXwDAOxvSGxhL0QEQsTbnP9BozOK3OYPEGvPvdWzvAUaXNtUSMdNsKDtuyjEbyVUPFZ52SSLhLqw==} dev: true @@ -24239,7 +27673,6 @@ packages: /underscore@1.13.6: resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} - dev: true /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -24249,7 +27682,6 @@ packages: engines: {node: '>=14.0'} dependencies: '@fastify/busboy': 2.1.0 - dev: true /undici@5.27.2: resolution: {integrity: sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==} @@ -24335,7 +27767,6 @@ packages: yaml: 2.3.4 transitivePeerDependencies: - supports-color - dev: true /unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} @@ -24348,6 +27779,18 @@ packages: trough: 2.1.0 vfile: 5.3.7 + /unified@11.0.4: + resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + dependencies: + '@types/unist': 3.0.2 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.1.0 + vfile: 6.0.1 + dev: false + /unimport@3.5.0(rollup@3.29.4): resolution: {integrity: sha512-0Ei1iTeSYxs7oxxUf79/KaBc2dPjZxe7qdVpw7yIz5YcdTZjmBYO6ToLDW+fX9QOHiueZ3xtwb5Z/wqaSfXx6A==} dependencies: @@ -24422,7 +27865,6 @@ packages: resolution: {integrity: sha512-Op0XnmHUl6C2zo/yJCwhXQSm/SmW22eDZdWP2qdf4WpGrgO1ZxFodq+5zFyeRGasFjJotAnLgfuD1jkcKqiH1Q==} dependencies: '@types/unist': 2.0.10 - dev: true /unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} @@ -24446,7 +27888,6 @@ packages: resolution: {integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==} dependencies: '@types/unist': 2.0.10 - dev: true /unist-util-position@4.0.4: resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} @@ -24464,7 +27905,6 @@ packages: dependencies: '@types/unist': 2.0.10 unist-util-visit: 4.1.2 - dev: true /unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} @@ -24529,12 +27969,10 @@ packages: /universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} - dev: true /universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - dev: true /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} @@ -24710,7 +28148,6 @@ packages: dependencies: querystringify: 2.2.0 requires-port: 1.0.0 - dev: true /urlpattern-polyfill@8.0.2: resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} @@ -24725,6 +28162,17 @@ packages: engines: {node: '>=0.10.0'} dev: false + /usehooks-ts@2.9.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-2FAuSIGHlY+apM9FVlj8/oNhd+1y+Uwv5QNkMQz1oSfdHk4PXo1qoCw9I5M7j0vpH8CSWFJwXbVPeYDjLCx9PA==} + engines: {node: '>=16.15.0', npm: '>=8'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -24748,7 +28196,11 @@ packages: /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - dev: true + + /uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + dev: false /uvu@0.5.6: resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} @@ -24773,6 +28225,11 @@ packages: convert-source-map: 2.0.0 dev: true + /vali-date@1.0.0: + resolution: {integrity: sha512-sgECfZthyaCKW10N0fm27cg8HYTFK5qMWgypqkXMQ4Wbl/zZKx7xZICgcoxIIE+WFAP/MBL2EFwC/YvLxw3Zeg==} + engines: {node: '>=0.10.0'} + dev: false + /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -24829,21 +28286,18 @@ packages: vfile-message: 3.1.4 vfile-sort: 3.0.1 vfile-statistics: 2.0.1 - dev: true /vfile-sort@3.0.1: resolution: {integrity: sha512-1os1733XY6y0D5x0ugqSeaVJm9lYgj0j5qdcZQFyxlZOSy1jYarL77lLyb5gK4Wqr1d5OxmuyflSO3zKyFnTFw==} dependencies: vfile: 5.3.7 vfile-message: 3.1.4 - dev: true /vfile-statistics@2.0.1: resolution: {integrity: sha512-W6dkECZmP32EG/l+dp2jCLdYzmnDBIw6jwiLZSER81oR5AHRcVqL+k3Z+pfH1R73le6ayDkJRMk0sutj1bMVeg==} dependencies: vfile: 5.3.7 vfile-message: 3.1.4 - dev: true /vfile@5.3.7: resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} @@ -24907,7 +28361,7 @@ packages: - terser dev: true - /vite-plugin-checker@0.6.2(eslint@8.54.0)(typescript@5.2.2)(vite@4.5.0): + /vite-plugin-checker@0.6.2(eslint@8.55.0)(typescript@5.2.2)(vite@4.5.0): resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==} engines: {node: '>=14.16'} peerDependencies: @@ -24943,7 +28397,7 @@ packages: chalk: 4.1.2 chokidar: 3.5.3 commander: 8.3.0 - eslint: 8.54.0 + eslint: 8.55.0 fast-glob: 3.3.2 fs-extra: 11.1.1 lodash.debounce: 4.0.8 @@ -25329,11 +28783,9 @@ packages: engines: {node: '>=14'} dependencies: xml-name-validator: 4.0.0 - dev: true /walk-up-path@3.0.1: resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} - dev: true /walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} @@ -25341,6 +28793,12 @@ packages: makeerror: 1.0.12 dev: true + /warning@4.0.3: + resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} + dependencies: + loose-envify: 1.4.0 + dev: false + /watchpack@2.4.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} @@ -25352,7 +28810,12 @@ packages: resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} dependencies: minimalistic-assert: 1.0.1 - dev: true + + /wcag-contrast@3.0.0: + resolution: {integrity: sha512-RWbpg/S7FOXDCwqC2oFhN/vh8dHzj0OS6dpyOSDHyQFSmqmR+lAUStV/ziTT1GzDqL9wol+nZQB4vCi5yEak+w==} + dependencies: + relative-luminance: 2.0.1 + dev: false /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} @@ -25376,11 +28839,28 @@ packages: /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: true /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} + + /webpack-bundle-analyzer@4.7.0: + resolution: {integrity: sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==} + engines: {node: '>= 10.13.0'} + hasBin: true + dependencies: + acorn: 8.11.2 + acorn-walk: 8.3.0 + chalk: 4.1.2 + commander: 7.2.0 + gzip-size: 6.0.0 + lodash: 4.17.21 + opener: 1.5.2 + sirv: 1.0.19 + ws: 7.5.9 + transitivePeerDependencies: + - bufferutil + - utf-8-validate dev: true /webpack-cli@5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0): @@ -25415,7 +28895,6 @@ packages: webpack: 5.89.0(@swc/core@1.3.96)(webpack-cli@5.1.4) webpack-dev-server: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0) webpack-merge: 5.10.0 - dev: true /webpack-dev-middleware@5.3.3(webpack@5.89.0): resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} @@ -25429,7 +28908,6 @@ packages: range-parser: 1.2.1 schema-utils: 4.2.0 webpack: 5.89.0(@swc/core@1.3.96)(webpack-cli@5.1.4) - dev: true /webpack-dev-middleware@6.1.1(webpack@5.89.0): resolution: {integrity: sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==} @@ -25498,7 +28976,12 @@ packages: - debug - supports-color - utf-8-validate - dev: true + + /webpack-import-glob-loader@1.6.3: + resolution: {integrity: sha512-//xc5CYowGzVyPtj7OAU7mowkuR+ZEfFeeOGdcs/UR4u6IAGpXXBlwjC/YCOggv1vuXKJNyiS4w4GaqcXcEO6Q==} + dependencies: + glob: 5.0.15 + dev: false /webpack-merge@5.10.0: resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} @@ -25507,12 +28990,10 @@ packages: clone-deep: 4.0.1 flat: 5.0.2 wildcard: 2.0.1 - dev: true /webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - dev: true /webpack-subresource-integrity@5.1.0(webpack@5.89.0): resolution: {integrity: sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==} @@ -25570,7 +29051,6 @@ packages: - '@swc/core' - esbuild - uglify-js - dev: true /websocket-driver@0.7.4: resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} @@ -25579,24 +29059,20 @@ packages: http-parser-js: 0.5.8 safe-buffer: 5.2.1 websocket-extensions: 0.1.4 - dev: true /websocket-extensions@0.1.4: resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} engines: {node: '>=0.8.0'} - dev: true /whatwg-encoding@2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} dependencies: iconv-lite: 0.6.3 - dev: true /whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} - dev: true /whatwg-url@11.0.0: resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} @@ -25606,12 +29082,19 @@ packages: webidl-conversions: 7.0.0 dev: true + /whatwg-url@12.0.1: + resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} + engines: {node: '>=14'} + dependencies: + tr46: 4.1.1 + webidl-conversions: 7.0.0 + dev: false + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: true /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -25683,7 +29166,6 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - dev: true /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} @@ -25723,7 +29205,13 @@ packages: /wildcard@2.0.1: resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} - dev: true + + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + requiresBuild: true + dev: false + optional: true /wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} @@ -25736,7 +29224,6 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} @@ -25817,7 +29304,6 @@ packages: optional: true utf-8-validate: optional: true - dev: true /wtf-8@1.0.0: resolution: {integrity: sha512-qfR6ovmRRMxNHgUNYI9LRdVofApe/eYrv4ggNOvvCP+pPdEo9Ym93QN4jUceGD6PignBbp2zAzgoE7GibAdq2A==} @@ -25860,7 +29346,6 @@ packages: /xml-name-validator@4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} - dev: true /xml2js@0.5.0: resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} @@ -25877,7 +29362,12 @@ packages: /xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - dev: true + + /xmlcreate@2.0.4: + resolution: {integrity: sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==} + requiresBuild: true + dev: false + optional: true /xmlhttprequest-ssl@1.6.3: resolution: {integrity: sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==} @@ -25903,7 +29393,10 @@ packages: /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - dev: true + + /yallist@2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + dev: false /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -25914,7 +29407,14 @@ packages: /yaml@2.3.4: resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} engines: {node: '>= 14'} - dev: true + + /yargonaut@1.1.4: + resolution: {integrity: sha512-rHgFmbgXAAzl+1nngqOcwEljqHGG9uUZoPjsdZEs1w5JW9RXYzrSvH/u70C1JE5qFi0qjsdhnUX/dJRpWqitSA==} + dependencies: + chalk: 1.1.3 + figlet: 1.7.0 + parent-require: 1.0.0 + dev: false /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} @@ -25962,7 +29462,6 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - dev: true /yauzl@2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} diff --git a/shared/utils/css-escape.ts b/shared/utils/css-escape.ts index 6e9c6b174..64e3f41a1 100644 --- a/shared/utils/css-escape.ts +++ b/shared/utils/css-escape.ts @@ -1,4 +1,4 @@ -export default function cssEscape(value) { +export default function cssEscape(value: string) { if (typeof CSS !== 'undefined') return CSS.escape(value) if (arguments.length == 0) { throw new TypeError('`CSS.escape` requires an argument.') diff --git a/tsconfig.json b/tsconfig.json index 92d423fde..7890b82bc 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,6 +11,9 @@ "skipLibCheck": true, "declaration": true, "sourceMap": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, "lib": [ "es2021", "dom"