diff --git a/docs/ability/flux-schnell-faceid.md b/docs/ability/flux-schnell-faceid.md deleted file mode 100644 index 4787696e3ce9b467dc225a518904fa43f7ab87fd..0000000000000000000000000000000000000000 --- a/docs/ability/flux-schnell-faceid.md +++ /dev/null @@ -1,100 +0,0 @@ -# 人脸迁移 - -人脸迁移指的是在图像模型的生图功能基础上,将特定的人脸迁移到生成图像上。 - -用户给定一张带有人物面部的图像,模型会提取该图像人物面部,并在依据提示词在生成图像的过程中,将该面部嵌入到生成图像中。 - -平台基于flux提供了开箱即用的人脸迁移接口,您可以在[Serverless API]({{SITE_URL}}/serverless-api?model=flux-1-schnell&operation=134)页面快速体验。 - -以下将说明如何通过代码使用人脸迁移接口。 - -:::info -概念说明 -“**人脸迁移**”一般是指将人脸从原图中换到另一张图中的人上。 -“**生成图像**”在本教程中指大模型根据提示词生成的图片。 -::: - -# 步骤一:输入API Key并定义请求函数 - -首先获取你的[API Key]({{SITE_URL}}/dashboard/settings/tokens),然后可定义请求函数如下: - -```python -import requests -import base64 -from PIL import Image -from io import BytesIO - -API_URL = "{{SITE_URL}}/v1/images/face-migration" -headers = { - "Authorization": "Bearer " -} - -def query(payload): - files = { - "image": (payload["image"], open(payload["image"], "rb")) - } - data = {key: payload[key] for key in payload if key not in files} - response = requests.post(API_URL, headers=headers, files=files, data=data) - return response.json() -``` - -# 步骤二:请求并获得数据结果 - -请求方式如下,不过需要注意flux模型的提示词(prompt)需要是**英文**。 - -```python -output = query({ - "model": "flux-1-schnell", - "image": "v2-d31d9e5ab74c7d4bbf4ccacde1497a18_r.jpg", - "size": "1024x1024", - "guidance_scale": 4, - "num_inference_steps": 4, - "id_weight": 1, - "id_timestep_start": 0, - "prompt": "Portrait painting, delicate sketch style, colored painting, ultra-high-definition, ultra-high pixel count" -}) -``` - -上述代码中的提示词`Portrait painting, delicate sketch style, colored painting`要求生成一张 精致的彩色素描肖像化。 -教程使用的id图像如下: - -![input](../../static\img\serverless-api\flux-schnell-faceid-input.jpg) - -参数说明: - -- `model`:模型名,此处固定。 -- `image`:本地的图片路径,事实上在函数中可以看到是以二进制的形式传输。 -- `size`:生成图像的尺寸。 -- `guidance_scale`:提示词引导系数,越大则生成图片对提示词的遵从度越高。 -- `num_inference_steps`:生成图片的步数,该模型4步即可生成效果极佳的图片。 -- `id_weight`:id参考图对生成图片的影响度,越大则人脸生成的越像,可以适当调整。 -- `id_timestep_start`:开始在生图时嵌入人脸的步数,越小则在越早的步数中开始生成人脸,就越像。可适当调整。 -- `prompt`:生成图片的提示词,flux支持长文本复杂的提示词,越详细越好,可以放心大胆的写。 - -# 步骤三:解码并保存结果 - -得到的结果为json,格式如下: - -```json -{ - "data": [ - { - "b64_json": "" - } - ], - "created": "" -} -``` - -数据结果为base64编码的图像,因此需要解码后才能保存,解包、解码如下: - -```python -b64data = output['data'][0]['b64_json'] -img = Image.open(BytesIO(base64.b64decode(b64data))) -img.save("/path/to/save/res.jpg") -img.show() -``` - -结果如下图,按照我们的要求,生成了特定人脸的彩色素描肖像化。效果非常好了: - -![output](../../static\img\serverless-api\flux-schnell-faceid-res.jpg) diff --git a/docs/ability/fuzzy.md b/docs/ability/fuzzy.md deleted file mode 100644 index ac67166e5cd36407c4eaead2475424839f7aec6d..0000000000000000000000000000000000000000 --- a/docs/ability/fuzzy.md +++ /dev/null @@ -1,88 +0,0 @@ -# 使用风格迁移快速实现图像滤镜功能 - -图像滤镜一直是许多应用中常见的功能。使用大模型,可以快速实现图像滤镜功能,不需要复杂的图像处理,就能够快速实现多种滤镜效果。 - -大模型实现滤镜可以通过 图生图、使用lora、微调模型等多种方式实现。 -本期我们使用风格迁移接口快速实现图像滤镜功能。相比其他方式,风格迁移接口使用简单,效果显著,能够快速实现多种滤镜效果。 - -## 步骤一:体验接口效果 - -### 功能说明 - -Serverless API 提供了接口快速体验的界面,可以快速体验接口效果。 -打开 [Serverless API 页面]({{SITE_URL}}/serverless-api?model=Kolors&operation=41) ,找到图像生成与处理下的Kolors模型,点击进入接口详情页,切换到风格迁移的API。 - -![image-20250113153212170](./fuzzy.assets/image-20250113153212170.png) - -风格迁移接口中,原图指的是想要进行迁移和修改的图片。提示词和image是用以指导原图修改的文本和风格图。 - -### 类吉卜力风格迁移 - -接下来我们用这个接口 完成 类吉卜力画风 的 风格迁移。 - -使用下图,作为参考的image。 - -![20250113164303_吉卜力风格__小清新](./fuzzy.assets/20250113164303_吉卜力风格__小清新.jpeg) - -使用一张普通的风景图作为原图。 - -![P1012997](./fuzzy.assets/P1012997.jpeg) - -在页面上填入这些图片,为了让产出的图片更贴合原图,我们讲strength参数设置为0.4。 - -![image-20250113173048253](./fuzzy.assets/image-20250113173048253.png) - -输出结果如下: - -![image-20250113173107828](./fuzzy.assets/image-20250113173107828.png) - -### 毛茸茸风格迁移 - -参考图如下: - -![image-20250114143124824](./fuzzy.assets/image-20250114143124824.png) - -和前文步骤相同,我们能够通过风格迁移接口快速复制毛茸茸的图片风格。 - -输入如下: - -![image-20250114144653414](./fuzzy.assets/image-20250114144653414.png) - -输出结果如下: - -![image-20250114144718497](./fuzzy.assets/image-20250114144718497.png) - -## 步骤二:调用接口 - -完成了功能体验和验证后,接下来我们可以通过代码调用,将上述功能集成到自己的应用中。 - -```python -import requests - -API_URL = "{{SITE_URL}}/api/serverless/Kolors/image-to-image" -headers = { - "Authorization": "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "Content-Type": "application/json" -} - -def query(payload): - response = requests.post(API_URL, headers=headers, json=payload) - return response.content - -output = query({ - "parameters": { - "prompt": "图片提示词", - "width": 1024, - "height": 1024, - "steps": 25, - "guidance_scale": 6, - "strength": 0.5, - "scale": 0.5 - }, - "image": "参考图的base64字符串", - "inputs": "原图的base64字符串" -}) - -with open("output.png", "wb") as file: - file.write(output) -``` diff --git a/docs/ability/request.md b/docs/ability/request.md deleted file mode 100644 index e0132aa692c0a39211cede351aa4fd4b3cfd2c72..0000000000000000000000000000000000000000 --- a/docs/ability/request.md +++ /dev/null @@ -1,183 +0,0 @@ -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# 调用语言大模型接口 - -:::tip -前置条件: - -1. 三选一:准备好 python 或 nodejs 开发环境 或 [创建一个在线应用]({{SITE_URL}}/apps/new) -2. 二选一:[创建访问令牌]({{SITE_URL}}/stringify/dashboard/settings/tokens) 购买 [Serverless API]({{SITE_URL}}/serverless-api#%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90) 或 使用免费的临时 token - ::: - -## 通过 curl 快速使用大模型能力 - -一些框架、插件封装度较高,curl 可清晰了解请求路径、参数的原始情况: - - - - ```bash - curl {{SITE_URL}}/v1/chat/completions \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer 你的 Gitee AI 访问令牌" \ - -d '{ - "model": "Qwen2.5-72B-Instruct", - "stream": false, - "messages": [ - { - "role": "system", - "content": "你是聪明的助手" - }, - { - "role": "user", - "content": "老鼠生病了可以吃老鼠药治好吗?" - } - ] - }' - ``` - - -```js -async function query(data) { - const response = await fetch( - "{{SITE_URL}}/v1/chat/completions", - { - headers: { - "Authorization": "Bearer xxxxx", - "Content-Type": "application/json" - }, - method: "POST", - body: JSON.stringify(data), - } - ); - const result = await response.json(); - return result; -} - -query({ -"messages": [ -{ -"role": "system", -"content": "你是聪明的助手" -}, -{ -"role": "user", -"content": "老鼠生病了可以吃老鼠药治好吗?" -} -], -"model": "Qwen2.5-72B-Instruct", -"stream": false, -"max_tokens": 512, -"temperature": 0.7, -"top_p": 0.7, -"frequency_penalty": 1 -}).then((response) => { -console.log(JSON.stringify(response)); -}); - -```` - - - -AI 模型响应: -```json -{ - "id": "chat-476266af435142d2bb7d342ea54694f2", - "object": "chat.completion", - "created": 1731401912, - "model": "Qwen2.5-72B-Instruct", - "choices": [{ - "index": 0, - "message": { - "role": "assistant", - "content": "不可以。老鼠药是用于杀死老鼠的毒药,而不是治疗老鼠的疾病。如果老鼠生病了,应该寻求兽医的帮助。", - "tool_calls": [] - }, - "logprobs": null, - "finish_reason": "stop", - "stop_reason": null - }], - "usage": { - "prompt_tokens": 27, - "total_tokens": 57, - "completion_tokens": 30 - }, - "prompt_logprobs": null -} -```` - -## 使用 openai 客户端调用 Gitee AI 模型 API - -Gitee AI 的 Serverless API 兼容开发者喜爱且社区流行的 OpenAI 风格 API。 - -所有支持 OpenAI API 的工具都可以直接使用 Gitee AI 的 Serverless API 工作。 - -以 openai 客户端为例,首先安装依赖:`pip install openai -i https://mirrors.cloud.tencent.com/pypi/simple` - -:::tip -如果你有 javascript 经验可使用 [openai nodejs 客户端](https://www.npmjs.com/package/openai/) -::: - -app.py 文件如下: - -```python -from openai import OpenAI -import json - -base_url = "{{SITE_URL}}/v1" - -model_name = "Qwen2.5-72B-Instruct" - -# {{SITE_URL}}/dashboard/settings/tokens 获取你的 api_key -client = OpenAI(base_url=base_url, api_key="GITEE_AI_API_KEY") - -completion = client.chat.completions.create( - model=model_name, # 指定模型名称 例如 Qwen2.5-72B-Instruct,可访问 {{SITE_URL}}/serverless-api 查看 - stream=True, - temperature=0.7, - top_p=0.95, - frequency_penalty=1.05, - messages=[ - {"role": "system", "content": "你是一个有用的助手。"}, - {"role": "user", "content": "写一个 python 简明教程"} - ] -) - -for chunk in completion: - print(chunk.choices[0].delta.content, end="") - -``` - -## 请求体常见参数说明 - -- model:指定要使用的模型名称,比如 "Qwen2.5-72B-Instruct" 或 "Yi-1.5-34B-Chat". - -- messages:消息列表,用于设置对话的上下文,每条消息包含 role 和 content。通过控制此列表,可实现多轮对话。这里的 messages 就是常说的 “prompt” 。 - - role:表示消息的角色类型,可以是以下三种: - - system:系统角色,通常用于设定 AI 的行为和性格,比如 "你是一个专家"。 - - user:用户角色,表示用户的问题或指令。 - - assistant:助手角色,表示 AI 的回答,可以用来模拟多轮对话。 - - content:消息的具体文本内容。 -- temperature:用于控制生成内容的随机性,取值范围为 0-1。值越低,输出越稳定;值越高,输出越有创造性。 -- top_p:值在 0-1 之间,控制生成内容的保守性或多样性。 -- max_tokens:限制生成文本的长度,防止过长的回复。 -- stream:布尔值,true 将逐字响应,避免等待时间过长。 -- frequency_penalty:用于控制模型在生成内容时的重复程度。它的值在 -2.0 到 2.0 之间,建议设置 > 1。 -- tools:用于定义工具列表, -- tool_choice: 支持 "auto" 由模型自动选择工具,也支持强制选择工具,写法如下: - -```json -"tool_choice": {"type": "function", "function": {"name": "function_name"}}, -``` - -- guided_json:让模型以指定的 JSON Schema 响应。不建议与 tools、guided_json 同时传入。 - -> JSON Schema 更多信息可参阅:[JSON Schema](https://json-schema.org/learn/miscellaneous-examples) - -- guided_choice: 让模型选择提供的字符串列表之一,不建议与 tools、guided_json 同时传入。 - - 例如判断用户输入正负面性可传入: - -```json -"guided_choice": ["正面", "负面", "中性"] -``` diff --git a/docs/app-store/create.md b/docs/app-store/create.md deleted file mode 100644 index 6dc7fcecdc93027eaf9c95dc39adb95757a73ee6..0000000000000000000000000000000000000000 --- a/docs/app-store/create.md +++ /dev/null @@ -1,33 +0,0 @@ -# 创建应用 -创建应用: -您将从这里开始,学习如何创建一个AI应用。 -前提条件: -- 拥有GItee AI的账号 -- 可以在GItee AI模型下载中找到适合的模型 -- 可以在GItee AI数据集下载中找到合适的数据集,或上传管理专业的数据集 -- 在GItee AI模型微调中训练你的模型 -- 在自己的应用中调用训练模型的Serverless API -### 开始创建应用: -#### 步骤1:完成实名认证 -1. 在这里 https://ai.gitee.com/ 登录你的GItee AI账号 -2. 单击“工作台”>“应用”,我们会进入自己的应用管理页面 - -![创建应用](/img/app-store/create-1.png) - -1. 单击“开始认证”进入认证流程 - -![创建应用](/img/app-store/create-2.png) - -4. 个人认证:对于个人应用开发者来说需要填写实名认证信息 - -![创建应用](/img/app-store/create-3.png) - -5. 企业认证:如果从组织的方式进入工作台>应用,那么我们需要填写组织信息,进行认证 - -![创建应用](/img/app-store/create-4.png) - -#### 步骤2:创建应用 -认证之后,我们就可以看到应用列表了,点击右上方“新建应用”,进入应用信息创建表单,填写完基本信息后,应用创建就已经完成了 - -![创建应用](/img/app-store/create-5.png) -![创建应用](/img/app-store/create-6.png) diff --git a/docs/app-store/intro.md b/docs/app-store/intro.md deleted file mode 100644 index eceb86da8a215ea50b4314aa14d0b00a1c72a504..0000000000000000000000000000000000000000 --- a/docs/app-store/intro.md +++ /dev/null @@ -1,6 +0,0 @@ -# 应用市场介绍 - -您可以在这里发布自己训练的模型应用,这些应用会向市场的公众开放,运作方式与APP Store相似; -如果你想开发AI应用程序,可以在GItee AI中免费查找和调试你的AI模型,帮助开发者发布自己的AI应用,更好的服务于特定场景的用户使用,同时也为大模型生态带来新的机遇。 -同时也是为开发者提供一个推广变现的平台。 -好产品就应该被大众知道。 \ No newline at end of file diff --git a/docs/app-store/notes.md b/docs/app-store/notes.md deleted file mode 100644 index 1e2b7cb8a971966658f28a8e1e50e53e68d8f131..0000000000000000000000000000000000000000 --- a/docs/app-store/notes.md +++ /dev/null @@ -1,32 +0,0 @@ -# 应用开发过程中的操作及注意事项 - -### 操作:回撤 -当审核通过之后,应用的状态为“待发布”时,“生产”模式展示为最近的待发布应用信息,此时存在“回撤”操作 -![](/img/app-store/action-1.png) - -1. 当首次发布应用进行“回撤”操作:在此场景下点击“回撤”,“开发”模式将回到至“开发中”状态,“生产”环境下审核通过同步的数据将被回撤,整体返回到“提交发布申请”之前,方便重新编辑后再次进行提交; -2. 当已有发布过的应用进行“回撤”操作:此场景下点击“回撤”,“开发”模式将回到至“开发中”状态,“生产”环境下审核通过同步的数据将被回撤,返回到上次发布的版本时刻,开发者可在“开发”模式下进行调整,再次“提交发布申请” - -### 操作:下架 -当应用市场应用出现故障、事故或不在运营等情况,需对应用进行下架操作,以确保应用用户及合规安全 -当应用被发布后,应用管理的列表和应用详情的“生产”模式会出现“下架”操作按钮 - - -![](/img/app-store/action-2.png) -![](/img/app-store/action-3.png) - -### 应用被拒绝 -当应用提交的“基本信息”和“上架信息”存在违规时,审核员将拒绝引用通过审核,此时被拒绝应用的状态为“已拒绝” - -![](/img/app-store/action-4.png) - -在该应用的详情页的进度步骤展示区域,将展示审核员不通过的原因 -请按照审核原因,修改信息后重新提交审核 - -![](/img/app-store/action-5.png) - -### 版本替换提示 -若您已经发布了一个应用,但是现在有新应用已经开发完成将要发布,我们会在“开发”模式与“生产”模式的按钮上提示您,当前生产已经发布的版本号,与正在开发即将发布的版本号 - -![](/img/app-store/action-6.png) - diff --git a/docs/app-store/publish.md b/docs/app-store/publish.md deleted file mode 100644 index 96902e8575c3e17774ce75caeb46d564e3e4d840..0000000000000000000000000000000000000000 --- a/docs/app-store/publish.md +++ /dev/null @@ -1,68 +0,0 @@ -# 应用的开发与发布 -在应用列表找到刚刚新建的应用,并点击后方的“管理”按钮,进入当前应用详情页 - -![](/img/app-store/publish-1.png) -![](/img/app-store/publish-2.png) - -### 开发模式 - -为了方便开发者调试应用,在“开发”模式下,用户可以将应用的“基础信息”与“上架信息”补全,点击“保存”后方便开发者在当前应用信息下进入调试阶段; -1. 在调试时,开发者需将接口请求头参数“X-Dev-Mode”设置为ture,以便于调试时查看信息 -2. “开发”模式下“提交上架申请”操作的信息,当前状态为“审核中”,在审核通过之前不可进行修改,请您耐心等待审核通过 - -![](/img/app-store/publish-3.png) - -#### 步骤1:基本信息 -用于记录应用的名称、介绍、Icon等应用用于在应用市场展示的信息 - -![](/img/app-store/publish-4.png) - -1. 应用名称:当前应用的名字,用于应用市场页面显示应用的名称 -2. 简短介绍:简单介绍当前应用的特点及核心功能,用于应用市场卡片列表及详情页的应用简介 -3. 应用类型:当前应用使用端的类别,用于应用市场列表卡片及详情页中标签应用类别的展示 -4. 应用分类:当前应用使用场景类别,用于应用市场列表卡片及详情页中标签应用分类的展示 -5. 应用Icon:上传的Icon用于应用图标的展示,同时也用于当前应用市场和应用详情中应用图标展示 -6. 应用图库:上传上限6张当前应用核心功能特点的图片,若有视频则图片只能上传5张,用于应用详情页帮助用户更好理解应用核心功能的展示 -7. 详情介绍:描述应用具体的功能和特点,避免使用夸大词法,例如:“最安全”或“最受欢迎”等,这些内容用于应用详情页应用的介绍 - -#### 步骤2:上架信息 -用于记录应用版本、访问地址、收费设置等用于应用使用相关的信息 - -![](/img/app-store/publish-5.png) - -1. 版本号:记录当前应用版本,系统会自动生成并填写在输入框中,开发者可根据应用情况自行调整 -2. 版本介绍:记录当前版本发布的核心功能、特性、及修复bug的介绍,版本介绍用于应用详情页中介绍版本发布功能 -3. 应用访问地址/下载地址:该地址用于访问以上线的该应用或下载该应用,该链接用于详情页“立刻访问”或“立刻下载”按钮 -4. 收费设置:收费设置用于开发者设置对于应用用户的收费策略,支持设置多种计费方式 - 1. 计费类型:计费类型用于选择开发者需要提供给应用用户的收费策略,平台提供“订阅计费”和“按量计费”收费策略可同时设置多个,便于开发者用于不同场景 - 1. 订阅计费:按照一定周期一次性收取应用使用权费用的计费方式 - 1. 名称:用于表示当前计费方式的名字 - 2. 标识:用于应用开发调取计费接口时的唯一标识 - 3. 订阅费(元):用于表示当前设置的固定应用使用周期下的购买金额 - 4. 订阅周期:用于设置当前订阅费下的固定应用使用周期 - 2. 按量计费:按照应用用户调用模型使用量的计费方式 - 1. 名称:用于表示当前计费方式的名字 - 2. 标识:用于应用开发调取计费接口时的唯一标识 - 3. 计费倍率:用于设置当前应用使用模型用量计费单位之上的一个倍率系数,该系数用于作为对应用用户的单位计费倍率,公式为:模型调用单位计费\*计费倍率=应用用户单位费用。例如:当前应用A模型调用为1元/次或1元/百万Token\*2=应用用户2元/一次或2元/百万次Token - 4. 查询模型单价:点击该链接将打开当前模力方舟模型计费表,开发者可以打开该文档,找到自己应用使用模型计费方式,用于计算对应用用户的计费方式 - -#### 步骤3:提交审核 - -当用户提交填写完“基础信息”和“上架信息”后,点击“上架信息”下方的“提交上架申请”按钮,完成开发阶段,等待后台审核通过,此时状态为“审核中” - -![](/img/app-store/publish-6.png) -![](/img/app-store/publish-7.png) - -### 生产模式 - -#### 步骤1:检查并发布 -“生产模式”为开发者提供一个上线前的检查的阶段,当“开发模式”下的应用信息被审核通过后,应用信息将被自动同步至“生产模式”下,此时状态为“待发布”,用户可以在这里检查即将上架应用的信息,并且进行最终的“发布”操作 - -**注意:记得将调试时设置的请求头参数“X-Dev-Mode”设置为“false”,使用正式接口进行调用** - -![](/img/app-store/publish-8.png) - -点击“发布”按钮,当前应用将会发布至应用市场进行展示,此时应用市场的用户就能够看到,并访问或下载您开发的应用了 - -![](/img/app-store/publish-9.png) -![](/img/app-store/publish-10.png) \ No newline at end of file diff --git a/docs/app-store/view.md b/docs/app-store/view.md deleted file mode 100644 index 4558915ae659805be6f84b3681ee047c4b2ffe57..0000000000000000000000000000000000000000 --- a/docs/app-store/view.md +++ /dev/null @@ -1,11 +0,0 @@ -# 应用市场展示与详情 - -### 应用市场卡片列表 -发布后的应用最终会在应用市场列表中展示,浏览应用市场的用户可以从这里找到自己感兴趣的应用并访问或下载 - -![](/img/app-store/view-1.png) - -### 应用详情 -点击任意应用卡片,可进入到应用详情页查看应用介绍、示例图片、及功能特性等信息 - -![](/img/app-store/view-2.png) \ No newline at end of file diff --git a/docs/appendix/_category_.json b/docs/appendix/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..971bdf8e5f339c1191f46879fca7c3b92c27784c --- /dev/null +++ b/docs/appendix/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "附录", + "position": 100, + "collapsed": true +} \ No newline at end of file diff --git a/docs/appendix/contact.md b/docs/appendix/contact.md new file mode 100644 index 0000000000000000000000000000000000000000..50c8dd658a6cbd5420628b9e775e3f3c0b91045c --- /dev/null +++ b/docs/appendix/contact.md @@ -0,0 +1,29 @@ +--- +sidebar_position: 5 +--- + +# 联系我们 + +为了方便您跟我们联系,模力方舟提供了多种联系方式。 + +## 提交工单 + +有关模力方舟平台的使用的问题请 [提交工单](https://gitee.com/moark/feedback/issues/new) 。 + +## 微信群 + +您可以通过微信扫码加入开发者交流群: + +![微信群二维码](../../static/img/contact/contact_qrcode.png) + +## 企业服务 + +若您有资源包采购/续费、私有部署、算力定制等需求:发送需求至 gitee-ai@oschina.cn +请在邮件中备注:企业名称+业务场景+预估调用规模。 + +您也可以在微信公众号和小红书上关注我们,获取最新模型动态、功能更新、技术干货与活动通知,随时了解模力方舟前沿信息。 + +## 微信公众号和小红书 + +![微信公众号二维码](https://ai-assets.gitee.com/_next/static/media/qrcode.14114e81.png) +![小红书](https://ai-assets.gitee.com/_next/static/media/xiaohongshu.1d80bc66.png) diff --git a/docs/appendix/glossary.md b/docs/appendix/glossary.md new file mode 100644 index 0000000000000000000000000000000000000000..5e5d5485c75459dbd81411f15a57e9f47e8782cc --- /dev/null +++ b/docs/appendix/glossary.md @@ -0,0 +1,42 @@ +--- +sidebar_position: 1 +hide_table_of_contents: true +--- + +# 术语表 + +通过术语表,您可以了解涵盖 AI 技术及相关领域核心术语,为您理解产品功能与技术原理提供基础概念参考。 + +| 术语类别 | 术语名称/缩写 | 定义说明 | +| ---------------- | ------------------------------------- | ---------------------------------------------------------------------------------- | +| 模型与算法技术 | LoRA(Low-Rank Adaptation) | 轻量级模型微调技术,通过低秩矩阵分解减少微调参数,适用于文生图、大语言模型等场景。 | +| | LLM(Large Language Model) | 基于海量文本训练的大型语言模型,支持文本创作、问答等任务,如Qwen2.5、GLM-4。 | +| | SFT(Supervised Fine-Tuning) | 利用标注数据优化预训练模型,提升特定任务表现,适用于小数据集场景。 | +| | DPO(Direct Preference Optimization) | 基于人类偏好数据优化模型,提升大语言模型对话质量。 | +| | Transformers | 基于自注意力机制的架构,用于NLP任务,是LLM核心架构之一。 | +| | Diffusers | 生成式图像模型库,支持文生图、图生图,如Stable Diffusion。 | +| | 函数调用/工具调用 | 大模型调用预设函数/工具的能力,实现跨工具协同(如调用天气API)。 | +| 数据与训练相关 | 数据集(Dataset) | 用于模型训练的结构化数据集合,分公开和私有,支持多种格式。 | +| | 数据集卡片(Dataset Card) | 记录数据集元信息(许可证、语言等)的文件(README.md),帮助理解数据集。 | +| | 模型卡片(Model Card) | 描述模型信息的文档,含用途、局限性等,载体为模型仓库README.md。 | +| | Token | 模型处理文本的基本单位,用于计算长度和计费。 | +| API与服务技术 | Serverless API | 无需管理服务器的API服务,按调用次数计费,支持文本生成等功能。 | +| | API流水线(API Workflow) | 可视化工作流引擎,串联多模型API实现自动化任务(如“文本→图像”生成)。 | +| | 访问令牌(Access Token) | API调用的身份凭证,分全资源和部分授权,绑定资源包控制权限。 | +| | 模型上下文协议 MCP | 定义了模型如何请求工具执行操作、如何与环境交互,以及如何从外部系统获得结果的协议。 | +| | 临时令牌(Temporary Token) | 短期有效令牌,适用于客户端调用,安全性更高。 | +| | 故障转移机制 | 算力故障时自动切换至其他算力,通过请求头`X-Failover-Enabled`启用。 | +| 图像与多媒体技术 | 文生图(Text-to-Image) | 根据文本生成图像,如FLUX.1模型,可通过参数控制效果。 | +| | 图生图(Image-to-Image) | 基于原图生成新图像,支持风格迁移、局部重绘。 | +| | OCR | 从图像提取文本的技术,支持多语言、表格、公式识别。 | +| | 语音合成(TTS) | 将文本转为语音,支持声纹定制,如ChatTTS模型。 | +| | 自动语音识别(ASR) | 将语音转为文本,支持多语言和方言。 | +| 部署与计算相关 | 模型引擎(Model Engine) | 托管模型部署服务,支持自定义算力,适用于生产环境。 | +| | 端侧(Edge Device) | 边缘设备(如手机),支持部署轻量级模型,实现低延迟推理。 | +| | GPU | 并行计算硬件,适用于模型训练和推理,如NVIDIA A10。 | +| | vllm | 高性能LLM推理库,优化对话模型并发和延迟。 | +| | Docker | 容器化工具,打包应用及环境,支持自定义配置。 | +| 参数与配置相关 | Temperature | 控制生成随机性(0-1),值低输出稳定,值高更具创造性。 | +| | Top_p | 控制多样性(0-1),与temperature配合使用。 | +| | Guidance Scale | 图像生成中控制文本提示影响程度的参数。 | +| | JSON Schema | 约束模型输出格式的规范,确保生成结构化数据。 | diff --git a/docs/related-agreements/privacy.md b/docs/appendix/privacy.md similarity index 99% rename from docs/related-agreements/privacy.md rename to docs/appendix/privacy.md index 2384650366146bf450201d315f7082e888e61188..a1ba306bcc9a00c6f2fdd3caa71565f35da8f427 100644 --- a/docs/related-agreements/privacy.md +++ b/docs/appendix/privacy.md @@ -1,3 +1,7 @@ +--- +sidebar_position: 3 +--- + # 隐私政策 模力方舟(Gitee AI)(以下简称“模力方舟”或“服务”)由深圳奥思研工智能科技有限公司(以下简称为“我们”或“公司”)提供,我们致力于保护我们的服务和用户(以下简称为“您”或“用户”)的隐私。 diff --git a/docs/question-answer.md b/docs/appendix/qa.md similarity index 30% rename from docs/question-answer.md rename to docs/appendix/qa.md index f930011a94d0ecafe240be7594d339e459ce516a..d274da2f8f188141c96a199478029dbb37a8a8d5 100644 --- a/docs/question-answer.md +++ b/docs/appendix/qa.md @@ -1,37 +1,55 @@ +--- +sidebar_position: 4 +--- + # 常见问题 -## 性能问题 +欢迎查看模力方舟的常见问题汇总,以下为各板块常见问题的解决方案: -### Serverless API 支持多少并发? +## 令牌常见问题 -目前 Serverless API 背后是一个统一的算力池,灵活调度。Serverless API 不对并发做限制,如果您遇到了并发问题,随时欢迎[联系我们]({{SITE_URL}}/docs/contact)添加资源。 +### 访问令牌常见问题 -## 购买问题 +- 提示令牌无效,请核对"令牌"是否正确或检查令牌是否被删除无法使用。 -### 购买前是否可以体验? +- 提示令牌无任何可用资源,请核对"令牌"是否授权已购买资源,或检查授权资源是否过期或使用完毕。 -您可以在模型详情页面使用挂件或调用 API 体验模型的生成效果 +### 临时令牌常见问题 -![输入图片说明](/img/base/flux-1-schnell.png) +- 提示"令牌无效",请核对"令牌"是否正确或绑定的"访问令牌"已删除或该令牌已失效 -您也可以在 [Serverless API 选购页面]({{SITE_URL}}/serverless-api)体验我们精选的模型。 +- 提示"令牌无任何可用资源",请核对绑定"访问令牌"是否授权已购买资源,或检查授权资源是否过期或使用完毕。 -![输入图片说明](/img/base/serverless-api-flux-1-schnell.png) +### 接口调用常见问题 -### 如何查看和管理已购买的资源? +| 状态码 | 异常信息(中文) | 异常信息(英文) | 备注 | +| ------ | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 400 | 服务不存在 | Service not found | 请求路径不正确,请重新在体验接口中复制URL | +| 400 | 已达到最大当日免费API使用次数, 请购买资源后继续使用API。 | Today the free API access limit exceeded. | 当前调用接口的访问令牌为"**免费体验访问令牌**",每日限制接口调用次数,当前已达到最大调用次数,可付费购买资源包后配置付费访问令牌。 | +| 400 | 该令牌不能访问任何资源,请绑定或购买资源后使用 | The access token cannot access any resources, purchase or authorize resources to use the access token | 请核实该"访问令牌"是否授权已够买资源包,并且该资源包可用于调用该接口,可在"[**访问令牌**]({{SITE_URL}}/dashboard/settings/tokens)"界面进行重新配置。 | +| 400 | 资源未购买或未授权,请购买或授权资源后再使用 | Resources are not purchased or authorized. Purchase or authorize resources before using them. | 请核实是否已购买资源包或该资源包是否已用尽或过期,并且该访问凭证已授权该资源,可在"[**访问令牌**]({{SITE_URL}}/dashboard/settings/tokens)"界面进行重新配置或续费"[**资源包**]({{SITE_URL}}/dashboard/serverless)"。 | -下单并支付完成 Serverless API、模型引擎或应用后,我们会为您准备对应的服务,准备完成后,您可以在工作台对应资源的页面,看到您所购买的资源。 +## 模型广场常见问题 -![输入图片说明](/img/base/serverless-api.png) -![alt text](/img/base/modelengin.png) +### Serverless API 支持多少并发? + +目前 Serverless API 背后是一个统一的算力池,灵活调度。Serverless API 不对并发做限制,如果您遇到了并发问题,随时欢迎 [联系我们](docs/appendix/contact.md) 添加资源。 -### 如何给模型引擎、Serverless API续费? +### 购买前是否可以体验? + +在购买之前,您可以在 [AI 模型广场]({{SITE_URL}}/serverless-api) 免费体验所有精选模型。 -**增购 Serverless** **API** :在工作台 - Serverless API 列表页面,点击续费,即可增加资源余额,增购成功后,剩余天数将以最新的订单为准重新计算。 +![免费体验模型](/img/base/serverless-api-flux-1-schnell.png) -**续费模型引擎**:模型引擎暂时不支持线上续费,如有需要,可[联系我们]({{SITE_URL}}/about)。 +选择 “免费体验访问令牌” 即可享受免费体验,每位用户每日拥有 100 次免费调用次数: -Serverless API 和模型引擎即将到期或已到期之时,系统将给您发送站内通知和邮件提醒,请确保已绑定有效的邮箱。 +![调用次数](/img/base/counts.png) + +### 如何查看和管理已购买的资源? + +下单并支付完成 Serverless API 或应用后,我们会为您准备对应的服务,准备完成后,您可以在工作台对应资源的页面,看到您所购买的资源。 + +![输入图片说明](/img/base/serverless-api.png) ### 组织下的资源如何管理? @@ -53,9 +71,9 @@ Serverless API 和模型引擎即将到期或已到期之时,系统将给您 ### 账户余额怎么提现? -目前我们不支持线上提现,如果您有提现需求,请[联系我们]({{SITE_URL}}/about)。 +目前我们不支持线上提现,如果您有提现需求,请 [联系我们]({{SITE_URL}}/about) 。 -### 支付成功,但返回支付页提示“订单仍未支付” +### 支付成功,但支付页提示“订单仍未支付” 如果您已完成支付,但返回支付页面点击 **已完成支付** 按钮时提示“订单仍未支付”,请通过向 gitee-ai@oschina.cn 发送邮件与我们联系。 @@ -65,7 +83,7 @@ Serverless API 和模型引擎即将到期或已到期之时,系统将给您 接口已全面升级,推荐使用兼容 OpenAI 的新接口,以获得更好的兼容性和长期支持。 -🔗 **新接口文档**:[文档链接](/docs/openapi/v1) +🔗 **新接口文档**:[文档链接](../openapi/v1) 🚀 **升级亮点** diff --git a/docs/related-agreements/terms.md b/docs/appendix/terms.md similarity index 99% rename from docs/related-agreements/terms.md rename to docs/appendix/terms.md index b84f3ef991a0fed3168a8e72cb72e22d3211916a..9b4a47f5631d699c4717626220345fd9fb7fc665 100644 --- a/docs/related-agreements/terms.md +++ b/docs/appendix/terms.md @@ -1,6 +1,8 @@ -# 服务条款 +--- +sidebar_position: 2 +--- -生效日期:2024年 5 月 1 日 +# 服务条款 无论是自然人本人还是法人或非法人组织授权的代表(“您”),本服务条款是模力方舟(Gitee AI)(以下简称“模力方舟”、“公司”、“我们”)和您之间具有约束力的协议。 @@ -410,7 +412,7 @@ ## 第十条 隐私 -我们将根据我们的隐私政策提供服务,网址为:{{SITE_URL}}/privacy。 +我们将根据我们的隐私政策提供服务,网址为:{{SITE_URL}}/docs/appendix/privacy ## 第十一条 投诉 diff --git a/docs/apps.md b/docs/apps.md deleted file mode 100644 index f700c3d8a726016047763d48cf6984dd99607725..0000000000000000000000000000000000000000 --- a/docs/apps.md +++ /dev/null @@ -1,27 +0,0 @@ -# 应用 - -- 使用应用,借助 AI 模型能力,您可以构建一个创意十足、功能强大的 Web 程序。 -- Gitee AI 的应用可以自由编写任何程序,您可以选择预设的 Streamlit 和 Gradio 常用的 SDK。您也可以使用 Dockerfile 来高度自定义运行环境。 -- 您可以通过 transformers 、diffusers 库加载 [Gitee AI 模型]({{SITE_URL}}/models),也可以使用 HTML、JS 等任意编程语言构建界面、调用 [Gitee AI 模型引擎]({{SITE_URL}}/endpoints) 或其他渠道提供的 API 服务。 -- 在线部署后,可通过浏览器直接访问、分享您的应用、推广您自己的模型、创意,而无需考虑服务器、算力资源、域名、部署等复杂繁琐问题。 - -想更好演示您的应用,您还可以将您的应用配置升级,使其在 GPU 或其他更好的加速硬件上运行。 - -## 相关内容 - -- [应用概述](/apps/overview) -- [应用 GPU 升级](/apps/gpu-upgrades) -- [应用存储空间](/apps/storage) -- [Gradio 应用](/apps/sdks-gradio) -- [Streamlit 应用](/apps/sdks-streamlit) -- [静态应用](/apps/sdks-static) -- [Docker 应用](/apps/sdks-docker) -- [应用问答](/apps/qa) - -## 联系我们 - -如果您在创建用时需要帮助,或者您遇到任何其他问题,请随时提问。 - -如果您对硬件资源有要求、自定义应用演示、高级 GPU 或其他内容感兴趣,请在下方的[意见反馈](https://gitee.com/gitee-ai/feedback/issues/new)与我们联系。 - -您也可以在微信公众号上关注我们! diff --git a/docs/apps/china-computing-power.md b/docs/apps/china-computing-power.md deleted file mode 100644 index cfd650dcbd6d99971d0083e0969e08a1f791752b..0000000000000000000000000000000000000000 --- a/docs/apps/china-computing-power.md +++ /dev/null @@ -1,96 +0,0 @@ -# 国产算力 - -在应用中使用国产算力非常简单,只需要注意几点即可。 - -## 天数智芯 天垓 100 - -- 天垓 100 应用环境已内置适配好驱动、软件,您无需关心兼容和安装问题。 - - **下列软件版本不可更改**: - ```plaintext - torch==2.1.1+corex.20240627082324 - torch_cluster==1.6.0+corex.3.2.0 - torch_quiver==0.1.0+corex.3.2.0 - torch_scatter==2.1.0+corex.3.2.0 - torch_sparse==0.6.16+corex.3.2.0 - torchaudio==2.1.0+corex.3.2.0 - torchvision==0.16.0+corex.3.2.0 - vllm==0.3.3+corex.20240702092246 - tensorflow==2.12.0+corex.3.2.0 - diffusers==0.29.0+corex.3.2.0 - cupy==11.4.0+corex.3.2.0 - dali==1.21.0+corex.3.2.0 - dropout_layer_norm==0.1+corex.3.2.0 - flash_attn==2.0.1+corex.3.2.0 - fused_dense_lib==0.1+corex.3.2.0 - fused_softmax_lib==0.1+corex.3.2.0 - horovod==0.27.0+corex.3.2.0 - igie==0.9.dev0+corex.3.2.0 - ixformer==0.4.0+corex.3.2.0 - megatron_deepspeed==0.2.1rc0+corex.3.2.0 - mxnet==1.9.0+corex.3.2.0 - onnxruntime-gpu==1.13.1+corex.3.2.0 - paddlepaddle==2.4.1+corex.3.2.0 - rotary_emb==0.1+corex.3.2.0 - xentropy_cuda_lib==0.1+corex.3.2.0 - ``` - 上述软件由算力厂商持续更新中。 - - 在 requements.txt 文件中指定上述软件版本将是无效操作。 - -- 应用中 天垓 100 使用 Docker - -如果应用使用 Dockerfile 自定义环境,在 `天垓 100` 需要使用基础镜像,方可正常使用算力: - -`FROM registry.gitee-ai.local/base/iluvatar-corex:3.2.0-bi100` - -一个国产算力使用 Dockerfile 执行 Python 代码完整示例: - -```Dockerfile -FROM registry.gitee-ai.local/base/iluvatar-corex:3.2.0-bi100 - -RUN useradd -m -u 1000 user - -WORKDIR /home/user/app - -RUN apt-get update && apt-get install -y git git-lfs && git lfs install - -COPY requirements.tx[t] /home/user/app - -RUN if [ -f ./requirements.txt ]; then \ - pip install --no-cache-dir -r ./requirements.txt -i https://mirrors.cloud.tencent.com/pypi/simple; \ -else \ - echo "requirements.txt not found!"; \ -fi - - -COPY --chown=1000 . /home/user/app - -RUN chmod -R 777 /home/user/app - -ENV PYTHONUNBUFFERED=1 - -EXPOSE 7860 - -ENTRYPOINT ["python3", "app.py"] -``` - -除了上述通用基础镜像,还有其他特殊镜像可供使用: - -- 兼容 stable-diffusion-3-medium-diffusers 的基础镜像: - - `registry.gitee-ai.local/base/iluvatar-corex:3.2.0-sd3-bi100` - -- 量化类模型专用镜像: - - `registry.gitee-ai.local/base/iluvatar-corex:3.2.0-quant-bi100` - -### 天数显卡查看显存 - -执行 `ixsmi` 命令可以查看显存使用情况,等同于 Nvidia `nvidia-smi` - -![Alt text](/img/app/ixsmi.png) - -:::tip 对话模型加速 -对话模型建议使用 `vllm` 获得最佳性能 -::: diff --git a/docs/apps/getting-started/app-log.png b/docs/apps/getting-started/app-log.png deleted file mode 100644 index 247408b83d50e5b11fe8115691d51b9364f5782a..0000000000000000000000000000000000000000 Binary files a/docs/apps/getting-started/app-log.png and /dev/null differ diff --git a/docs/apps/getting-started/app-no-app-file.png b/docs/apps/getting-started/app-no-app-file.png deleted file mode 100644 index 55a523d182523ee0f0b32fe82b5efd7da8a80bbf..0000000000000000000000000000000000000000 Binary files a/docs/apps/getting-started/app-no-app-file.png and /dev/null differ diff --git a/docs/apps/getting-started/app-poem.png b/docs/apps/getting-started/app-poem.png deleted file mode 100644 index 69aa4101c462d463ac722486d945f8f972ad1142..0000000000000000000000000000000000000000 Binary files a/docs/apps/getting-started/app-poem.png and /dev/null differ diff --git a/docs/apps/getting-started/app-restart.png b/docs/apps/getting-started/app-restart.png deleted file mode 100644 index 9735f305986638717e56c94439bd787aa0d1b38e..0000000000000000000000000000000000000000 Binary files a/docs/apps/getting-started/app-restart.png and /dev/null differ diff --git a/docs/apps/getting-started/app-running.png b/docs/apps/getting-started/app-running.png deleted file mode 100644 index ebbe49e0d932ea0b472730ffa457f691076590aa..0000000000000000000000000000000000000000 Binary files a/docs/apps/getting-started/app-running.png and /dev/null differ diff --git a/docs/apps/getting-started/new-app.png b/docs/apps/getting-started/new-app.png deleted file mode 100644 index 24ed5b51caa5435f4ed98aace4ff459dae7303b0..0000000000000000000000000000000000000000 Binary files a/docs/apps/getting-started/new-app.png and /dev/null differ diff --git a/docs/apps/gpu-upgrades.md b/docs/apps/gpu-upgrades.md deleted file mode 100644 index bd81258a4a19cd0db35c221d8fdfdf365a7ebece..0000000000000000000000000000000000000000 --- a/docs/apps/gpu-upgrades.md +++ /dev/null @@ -1,101 +0,0 @@ -# 应用 GPU 升级 - -您可以使用应用顶部导航栏中的**设置**按钮升级应用的GPU。 - -![alt text](/img/app/apps_setting.png) - - -当您的应用运行时,您可以直接从小风车上查看它运行在哪个硬件上: - -![alt text](/img/app/apps_fan.png) - -## 特定的框架要求 - -:::warning -国产显卡已内置 torch、tensorflow、 vllm 等定制软件,请勿更换版本,否则算力可能无法正常还使用。 - -详情参考: -[国产算力](/docs/apps/china-computing-power) -::: -### PyTorch - -Nvidia 显卡您需要安装与内置 CUDA 驱动程序兼容的 PyTorch 版本。将以下两行添加到您的 requirements.txt 文件中: - -```html ---extra-index-url https://mirrors.aliyun.com/pytorch-wheels/cu121 -torch -``` - -您就可以通过在 app.py 中运行以下代码,从而检查空间日志中的输出来验证安装是否成功: - -```python -import torch -print(f"CUDA 可用: {torch.cuda.is_available()}") -# True -print(f"设备名称: {torch.cuda.get_device_name(torch.cuda.current_device())}") -# Tesla T4 -``` - -大部分框架在检测到 GPU 可用的情况下会自动切换至 GPU 进行运算。这一点在 transformers、fastai 等众多框架的 Pipelines 相关功能中都能看到。然而,在某些情况下,当您直接使用 PyTorch 时,您可能需要手动将模型和数据转移到 GPU 上,以确保计算过程是在 GPU 而非 CPU 上执行的。这时,您需要利用 PyTorch 的 “.to()” 语法来实现,比如: - -```python -model = load_pytorch_model() -model = model.to("cuda") -``` - -类似的: - -```python -data = data.to("cuda") -``` - - - -### Tensorflow - -TensorFlow 默认安装后能够自动识别 CUDA 设备。您只需在 requirements.txt 文件中加入 tensorflow,并在您的 app.py 文件中使用以下代码,随后就可以在应用日志中检查确认了。 - -```python -import tensorflow as tf -print(tf.config.list_physical_devices('GPU')) -# [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')] -``` - -这段代码将帮助您验证 TensorFlow 是否已经正确设置,并且能够利用 GPU 设备进行计算。 - -## 应用休眠 - -通常情况下,您的应用是不会自动休眠的。但是,您可以为您应用设置一个休眠时间,到期后应用自动停止运行。您也可以在设置中点击“暂停”按钮休眠, 在休眠状态下,应用硬件不会收取您的费用。 - -您可以在应用的硬件设置中看到以下界面配置选项: - -![alt text](/img/app/apps_sleep.png) - -具体选项如下: - -![alt text](/img/app/apps_sleeptimes.png) - -## 应用暂停 - -您可以在设置中暂停您的应用。应用被“暂停”意味着该应用处于等待状态,应用不会使用任何资源,直到您手动重启为止,且只有应用的所有者能够重新启动它。暂停时应用不会产生费用。 - -![alt text](/img/app/apps_stop.png) \ No newline at end of file diff --git a/docs/apps/overview.md b/docs/apps/overview.md deleted file mode 100644 index 2915e81524706f5ce45529aa010570b610885606..0000000000000000000000000000000000000000 --- a/docs/apps/overview.md +++ /dev/null @@ -1,66 +0,0 @@ -# 应用概述 - -Gitee AI 的应用功能让您能够在几分钟内轻松创建和部署由 ML 驱动的展示应用。 - -## 创建应用 - -请访问个人主页并单击新建应用,创建您的应用。您需要为应用填写应用名称、选择许可证以及设置应用的可见性,同时您还需为您的空间选择 SDK。目前平台提供四个 SDK 选项:Streamlit、 Gradio、 Docker 和静态 HTML。您也可以为您的应用选择合适的硬件配置,其中包括各种规格参数的 CPU 及 GPU。如下: - -![alt text](/img/app/apps_selection.png) - -如果您选好了硬件配置,并且选择“Gradio”作为您的 SDK,您将导航到您的新仓库: - -![alt text](/img/app/apps_gradio.png) - -在构建上,如同模型和数据集一样,您的代码是被存储在了一个 git 仓库。使用 git 和 git-lfs 可以管理您的**应用**仓库代码。如果需要添加文件到您的**应用**时,请遵循“[推送仓库](/repositories#推送仓库)”中的相同流程。每次推送新的提交时,**应用**界面都会提示您重新启动,如不重启,应用不会更新。 - -## 硬件资源 - -默认情况下,每个应用新建时您已选择好对应的硬件,您可以期限内使用这些资源。您也可以升级更好的硬件,包括多种 GPU 和持久性存储。如有升级需求,请在您的**应用**中点击“设置”按钮,并选择您偏好的硬件配置。 - -![alt text](/img/app/apps_resource.png) - -## 应用密钥和变量 -您可以正常使用代码获取系统环境变量,它们将作为环境变量暴露给您的应用程序。 - -应用变量是公开的,被 Fork 时也会自动添加到 Fork 应用中。 - -而秘钥也会作为环境变量注入,但秘钥被设置后不可见,也无法被 Fork,建议私有信息使用秘钥。 - -如果您在应用设置中添加了秘钥或环境变量 键: `G_TOKEN` 值: `b53de003db22348606b`,以 Python 为例,获取环境变量: -```python -import os -G_TOKEN = os.getenv('G_TOKEN') -print(G_TOKEN) # 输出: b53de003db22348606b -``` - -![alt text](/img/app/apps_secret.png) - -## 应用设置 -应用设置界面可调整: - -- 名称、地址 -- 可见性、申请公开 - - 应用申请公开需要审核,审核通过后,您的应用将会在应用列表中展示 -- 硬件套餐 -- 环境变量、密钥 -- 应用全屏 - - 在功能设置中,您可以调整 `应用布局` 为全屏模式 -- 重启、暂停 -- 成员管理 - - 应用私有状态下,仓库成员也可以访问应用。 -- 删除应用 - -## 仓库克隆 - -您可以在本地克隆应用的代码仓库,首先请点击应用页面右上角的“克隆应用”: - -![alt text](/img/app/apps_git_copy.png) - -然后您就可以按照说明使用 HTTPS 或 SSH 将应用仓库克隆到本地计算机。 - -![alt text](/img/app/apps_https.png) - -![alt text](/img/app/apps_ssh.png) - -如果使用 SSH 方式推送代码,需要 Gitee 账号添加 SHH 公钥 https://gitee.com/profile/sshkeys \ No newline at end of file diff --git a/docs/apps/qa.md b/docs/apps/qa.md deleted file mode 100644 index 35738254229061e4426175338c747e14f9d6d675..0000000000000000000000000000000000000000 --- a/docs/apps/qa.md +++ /dev/null @@ -1,200 +0,0 @@ -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# 应用常见问题 - -## 如何安装依赖? - -以应用 SDK 为 Gradio 为例,将 python 依赖写入 requirements.txt 文件至仓库根目录即可。 -以安装 NodeJs 为例,根目录写入 packages.txt 文件,重启应用将会自动使用 apt-get 安装。 - -当应用 SDK 为 Docker 时,将完全由您自定义环境, 需要您自己执行相关操作,本次竞赛环境中,为正常使用算力,需要使用 registry.gitee-ai.local/base/iluvatar-corex:3.2.0-bi100 作为基础镜像 - -## 应用中如何高速下载模型? - -使用 transformers、diffusers 、huggingface_hub 等库载入模型将会从 Gitee AI 高速下载。您也可以使 Git 克隆模型。 -:::tip -在 **应用** 中默认即为内网高速下载。请勿修改环境变量 `HF_ENDPOINT` 。 -::: -下载格式一般为 `hf-models/模型名`,举例如下: - - - - ```python - from transformers import AutoModelForCausalLM - model = AutoModelForCausalLM.from_pretrained( - "hf-models/glm-4-9b-chat", - torch_dtype=torch.float16, - low_cpu_mem_usage=True, - trust_remote_code=True, - ).to(0).eval() - ``` - - - ```python - from huggingface_hub import hf_hub_download - hf_hub_download("hf-models/sdxl-turbo", "sd_xl_turbo_1.0.safetensors", local_dir="./models/checkpoints") - ``` - - - ```python - from diffusers import DiffusionPipeline - DiffusionPipeline.from_pretrained("hf-models/sdxl-turbo", variant="fp16", use_safetensors=True, torch_dtype=torch.float16) - ``` - - - ```bash - git clone https://gitee.com/hf-models/glm-4-9b-chat.git --depth=1 --single-branch --progress --verbose - -c lfs.url="http://lfs-service/hf-models/glm-4-9b-chat" ./checkpoints # 然后可以从 ./checkpoints 文件夹加载模型。 - ``` - - - -## 如何使用环境变量、秘钥? -在应用设置-功能中,您可以添加环境变量,使用方法参考: - [在应用中使用环境变量、秘钥]({{SITE_URL}}/docs/apps/qa#%E5%A6%82%E4%BD%95%E5%9C%A8%E5%BA%94%E7%94%A8%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E7%A7%98%E9%92%A5) - -## 如何让团队成员有权限推送代码到仓库? - -应用设置 “成员管理” 可前往 Gitee 添加仓库成员。 - -如果使用 SSH 方式推送代码,需要 Gitee 账号添加 SHH 公钥 https://gitee.com/profile/sshkeys - -## 应用显示 Running 为什么页面没有响应? - -- 如果您查看日志,应用运行正常,您可以检查您的应用是否运行在 **7860** 端口。 -- 或者检查应用是否运行在 **0.0.0.0** ip 上,如果是其他特定的 ip, 则可能无法访问。 - -## 为什么我的应用会出现 CORS、CRSF 等报错,导致页面无法访问? - -- 您需要取消应用的访问限制,例如 jupyter-lab, 存在配置 `--NotebookApp.allow_remote_access=True` 允许远程访问,`--NotebookApp.allow_origin=*` 允许跨域请求。 - Streamlit 也有类似的配置,例如 - -``` -ENTRYPOINT ["streamlit", "run", "app.py", \ - "--server.port=7860",\ - "--server.enableCORS=false", \ - "--server.headless=true", \ - "--server.enableXsrfProtection=false", \ - "--server.fileWatcherType=none", \ - "--global.developmentMode=false", \ - "--server.enableWebsocketCompression=false", \ - "--browser.gatherUsageStats=false"] -``` - -通常这些配置都可添加到启动参数上。 - -## 如何排查错误 - -您可以点击界面的日志按钮,查询日志信息,以及提供的运行时信息。将会提供当前状态的原因、消息,上次启动失败的报错信息、重启次数、退出码等。 - -![Alt text](../../static/img/app/qa/error_log.png) - -## 为什么我的应用一直在 Pending 状态? - -可能是正在分配资源,或平台 CPU、内存资源不足,请耐心等待 - -## 应用各类状态是什么意思? - -| 状态名称 | 描述 | -| --------------------- | ------------------------------------------------ | -| No_app_file | 应用没有入口文件 | -| Building | 应用正在拉取代码、构建中 | -| Readying | 应用正在准备中,可能是正在执行仓库代码、下载模型 | -| Running on CPU | 应用运行在 CPU 算力上 | -| Running on Nvidia A10 | 应用运行在 Nvidia A10 显卡算力上 | -| Pending | 应用正在等待中,可能是正在分配资源中、资源不足 | -| Paused | 用户手动暂停应用 | -| Stopped | 应用异常停止,可能是系统或代码出现异常 | -| Runtime_error | 应用运行时出现错误,可能是代码或系统错误 | -| Sleeping | 应用休眠中,满足休眠倒计时,效果同暂停 | - -## 应用设置中的“出厂重启”和“重启”有什么区别? - -| 类型 | 出厂重启 | 重启 | -| -------------------- | -------- | ---- | -| 是否拉取仓库最新代码 | 是 | 否 | -| 是否重新构建 | 是 | 否 | -| 是否重新下载依赖 | 是 | 否 | -| 是否重新执行仓库代码 | 是 | 是 | -| 是否更新硬件配置 | 是 | 是 | -| 是否更新环境变量 | 是 | 是 | - -如果您更新了仓库代码,应用将会识别并在界面顶部提示重启,此时重启与出厂重启效果一致。 - -## 应用的生命周期是? - -应用内部的流程为: - -1. 用户选择 SDK,创建应用 -2. 用户写入代码到仓库 -3. 根据 SDK 和代码构建为 Docker 镜像,安装依赖 -4. 启动镜像,执行仓库中的用户代码,最终启动服务到 7860 端口 -5. 用户可在浏览器在线访问应用 - -## 如何在应用中使用环境变量、秘钥? - -您可以正常使用代码获取系统环境变量。 - -> 注意,秘钥也会作为环境变量注入,但秘钥被设置后不可见,也无法被 Fork。 - -以 Python 为例,获取环境变量: -如果您在应用设置中添加了 键: `G_TOKEN` 值:`b53de003db22348606b` - -```python -import os -G_TOKEN = os.getenv('G_TOKEN') -print(G_TOKEN) # 输出: b53de003db22348606b -``` - -## 如何安装依赖? - -- python 依赖 - - SDK 为 Gradio、Streamlit 时,将 python 依赖写入 requirements.txt 即可。 -- 系统依赖 - - 例如安装 NodeJs,根目录写入 packages.txt 文件,重启应用将会自动使用 apt-get 安装。 - ```packages - nodejs - npm - ``` - -## 下载依赖镜像源可以自定义吗? - -Gitee AI 默认使用了国内镜像源,您可以自行修改镜像源地址加速,例如 Python requirements.txt 文件: - -``` ---extra-index-url https://mirrors.cloud.tencent.com/pypi/simple -gradio==4.31.5 -``` - -推荐使用的国内源源: - -- 腾讯 https://mirrors.cloud.tencent.com/pypi/simple -- 阿里 https://mirrors.aliyun.com/pypi/simple/ -- 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ -- 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ - -## 免费存储空间是多少?存储的数据会消失吗? - -目前应用免费临时存储为 60GB,如果您未购买持久存储,则临时存储在应用重启、超额时会被清空。 - -参考:[应用存储](/docs/apps/storage) - -## 为什么我的应用在页面中高度不对? - -如果您自定义了程序,请在 html 中引用即可: - -```js - -``` - -## 创建的应用,Web 界面太小,如何全屏? - -应用设置 - 功能 - 应用 Header 布局中可选择布局。 - -## 如何让我的应用被推荐? - -如果您开发了优秀、好玩、有趣的应用,您可以前往 [反馈](https://gitee.com/gitee-ai/feedback/issues) 提供应用信息申请 diff --git a/docs/apps/sdks-docker.md b/docs/apps/sdks-docker.md deleted file mode 100644 index c8e21881f274a48feab58e1584e2531ea6271fe7..0000000000000000000000000000000000000000 --- a/docs/apps/sdks-docker.md +++ /dev/null @@ -1,110 +0,0 @@ -# Docker 应用 - -**应用**提供了对自定义 Docker 容器的支持,通过编写 Dockerfile 您可以自定义运行环境,将有更大的发挥空间。 - -## 创建 Docker 应用 - -在[创建新应用]({{SITE_URL}}/apps/new)时选择 Docker 作为 SDK。 - -### 编写 Dockerfile 部署自己的 JupyterLab ! - -要点: 将您的 Dockerfile 放置于仓库根目录下,并将您的程序运行在 7860 端口即可。例如: - -```Dockerfile -FROM ubuntu:latest # 国产算力需使用特定镜像,例如 天垓 100:`FROM registry.gitee-ai.local/base/iluvatar-corex:3.2.0-sd3-bi100` -RUN apt-get update && \ - apt-get install -y python3.9 \ - python3-pip \ - git \ - git-lfs \ - wget - - - -RUN pip3 install --default-timeout=100 --no-cache-dir JPype1 ipywidgets jupyterlab pandas jupyterlab-language-pack-zh-CN jupyter-server-proxy numpy seaborn scipy matplotlib pyNetLogo SALib -i https://mirrors.cloud.tencent.com/pypi/simple - -RUN useradd -ms /bin/bash jupyter -USER jupyter -WORKDIR home/jupyter -EXPOSE 7860 -ENTRYPOINT ["jupyter", "lab","--allow-root","--ip=0.0.0.0","--port=7860","--no-browser","--NotebookApp.token=" , "--NotebookApp.password=", "--NotebookApp.allow_remote_access=True", "--NotebookApp.allow_origin=*", "--ServerApp.disable_check_xsrf=True"] -USER root -RUN chown -R jupyter:jupyter /home -``` - -提交 Dockerfile 到仓库后,重启应用即可: - -![dockerfile](../../static/img/app/dockerfile.png) - -## 环境变量、密钥管理 - -您可以在应用设置中管理应用的环境变量。[阅读更多](/apps/overview#管理密钥和环境变量) - -## 权限 - -容器以用户 ID 为 1000 的用户身份运行。为了规避权限相关的问题,您应当在进行文件复制(COPY)或下载之前,先创建一个用户并设定其工作目录(WORKDIR)。 - -```bash - -# 创建一个名为 "user" 的新用户,并指定用户 ID 为 1000 -RUN useradd -m -u 1000 user - -# 切换当前用户为 "user" -USER user - -# 设置环境变量 HOME 为用户的主目录,并更新 PATH 环境变量 -ENV HOME=/home/user \ - PATH=/home/user/.local/bin:$PATH - -# 设置工作目录为用户的应用目录 -WORKDIR $HOME/app - -# 在切换为 `USER user` 后尝试运行 pip 命令,以避免 Python 操作时的权限问题 -RUN pip install --no-cache-dir --upgrade pip - -# 将当前目录下的内容复制到容器的 $HOME/app 目录下,并确保新复制的文件拥有者为用户 -COPY --chown=user . $HOME/app - -# 下载检查点文件 -RUN mkdir content -ADD --chown=user https:// content/ - -``` - -:::warning -使用 --chown=user 选项与 ADD 和 COPY 命令结合,以确保新文件的拥有者为您创建的用户。 -::: - -如果仍遇到权限问题,您可能需要在 Dockerfile 中使用 chmod 或 chown 命令来赋予正确的权限。例如,若您想使用 /data 目录,可以如下操作: - -```bash - -RUN mkdir -p /data -RUN chmod 777 /data - -``` - -应尽量避免不必要的权限更改操作。 - -:::warning -更新文件的元信息会导致在新的层中创建一个副本,因此,递归执行 chown 可能会由于所有受影响文件的复制而使镜像体积大增。 -::: - -比起通过运行 chown 来解决权限问题: - -```bash - -COPY checkpoint . -RUN chown -R user checkpoint - -``` - -您应当按照以下方法做: - -```bash - -COPY --chown=user checkpoint . - -``` - -(ADD 命令也同理适用) diff --git a/docs/apps/sdks-gradio.md b/docs/apps/sdks-gradio.md deleted file mode 100644 index d610d3a31b28cf57624997104a9aed1ac6935036..0000000000000000000000000000000000000000 --- a/docs/apps/sdks-gradio.md +++ /dev/null @@ -1,83 +0,0 @@ -# Gradio 应用 - -Gradio 提供了简单直观的界面,让模型可以通过一系列输入,生成图像、音频等内容进行展示输出。现在,Gradio 还增加了一个绘图输出组件,可以使用 Matplotlib、Bokeh 和 Plotly 让数据可视化!更多细节,请查看 Gradio 的[入门指南](https://www.gradio.app/guides/quickstart)。 - -:::tip -Gradio 仅为 UI 库,SDK 自带 Python 环境,您可以在应用中直接使用 Python 代码,也可以自行安装其他依赖。 -::: - -在[创建新应用]({{SITE_URL}}/apps/new)时选择 Gradio 作为 SDK。 - -访问 [Gradio 文档](https://www.gradio.app/docs/interface)了解其所有特性,并查看 [Gradio 指南](https://www.gradio.app/guides),这些实用的教程可以指导您使用Gradio! - -## 您的第一个 Gradio 应用:中文诗生成器 - -在以下各节内容中,您将了解创建应用、配置应用以及将代码部署到应用的基础知识。我们将使用 Gradio 创建一个中文诗生成应用,该应用将用于演示gpt2-chinese-poem 模型,该模型可以根据输入生成中文诗。 - -您可以在 [stringify/gpt2-chinese-poem-app]({{SITE_URL}}/apps/stringify/gpt2-chinese-poem-app/tree/master) 上找到此应用的全部内容。 - -### 创建 Gradio 应用 - -我们从[创建新应用]({{SITE_URL}}/apps/new)开始,并选择 Gradio 作为我们的依赖 SDK。Gitee AI 应用是基于 Git 仓库的,这意味着您可以通过推送提交来逐步(与他人协作)开发您的应用。在继续之前,请查看[仓库指南](/repositories),学习如何创建和编辑文件。 - -#### 添加依赖 - -该应用使用 Transformers pipeline 依赖包来使用模型,通过在仓库中创建一个 requirements.txt 文件并向其添加以下依赖来完成: - -```html -transformers torch -``` - -应用在运行时将会自动安装这些依赖! - -#### 创建 Gradio 界面 - -创建 Gradio 应用时,请在仓库文件中创建一个名为 **app.py** 的文件,并添加以下代码: - -```python - -import torch -import gradio as gr -import torch.nn.functional as F -from transformers import BertTokenizer, GPT2LMHeadModel -tokenizer = BertTokenizer.from_pretrained("hf-models/gpt2-chinese-poem") -model = GPT2LMHeadModel.from_pretrained("hf-models/gpt2-chinese-poem") -model.eval() -def top_k_top_p_filtering(logits, top_k=0, top_p=0.0, filter_value=-float('Inf')): - assert logits.dim() == 1 - top_k = min(top_k, logits.size(-1)) - if top_k > 0: - indices_to_remove = logits < torch.topk(logits, top_k)[0][..., -1, None] - logits[indices_to_remove] = filter_value - if top_p > 0.0: - sorted_logits, sorted_indices = torch.sort(logits, descending=True) - cumulative_probs = torch.cumsum(F.softmax(sorted_logits, dim=-1), dim=-1) - sorted_indices_to_remove = cumulative_probs > top_p - sorted_indices_to_remove[..., 1:] = sorted_indices_to_remove[..., :-1].clone() - sorted_indices_to_remove[..., 0] = 0 - indices_to_remove = sorted_indices[sorted_indices_to_remove] - logits[indices_to_remove] = filter_value - return logits -def generate(input_text): - input_ids = [tokenizer.cls_token_id] - input_ids.extend( tokenizer.encode(input_text, add_special_tokens=False) ) - input_ids = torch.tensor( [input_ids] ) - generated = [] - for _ in range(100): - output = model(input_ids) - next_token_logits = output.logits[0, -1, :] - next_token_logits[tokenizer.convert_tokens_to_ids('[UNK]')] = -float('Inf') - filtered_logits = top_k_top_p_filtering(next_token_logits, top_k=8, top_p=1) - next_token = torch.multinomial( F.softmax(filtered_logits, dim=-1), num_samples=1 ) - if next_token == tokenizer.sep_token_id: - break - generated.append( next_token.item() ) - input_ids = torch.cat((input_ids, next_token.unsqueeze(0)), dim=1) - return input_text + "".join( tokenizer.convert_ids_to_tokens(generated) ) -examples = [["不堪翘首暮云中"], ["开源中国"], ["行到水穷处"], ["王师北定中原日"] ,["雪"], ["海上升明月"], ["十年磨一剑"]] -if __name__ == "__main__": - gr.Interface(fn=generate, inputs="text", outputs="text",examples=examples).queue(concurrency_count=1).launch() - -``` - -此 Python 脚本使用 Transformers pipeline 加载 Gradio 使用的 gpt2-chinese-poem-app 模型。将代码保存到 **app.py** 文件后,点击 “启动”,您可以查看日志,稍后请访问“App”选项卡即可以查看您的应用运行情况! diff --git a/docs/apps/sdks-static.md b/docs/apps/sdks-static.md deleted file mode 100644 index 5becb4fe93547eff193420f16e3f9453c4890129..0000000000000000000000000000000000000000 --- a/docs/apps/sdks-static.md +++ /dev/null @@ -1,13 +0,0 @@ -# 静态应用 - -您可以使用 HTML 而非 Streamlit 和 Gradio 来构建您的应用。 请在新建应用时选择 Static 类型,新建完成后创建一个 `index.html` 文件并在内部放置您的 HTML 代码。 - -![alt text](/img/app/image-2.png) - -![alt text](/img/app/image-4.png) - -下面是使用 HTML 构建应用的例子: - -- [transformers-js-object-detection]({{SITE_URL}}/apps/stringify/static-app_object-detection): 物体区域检测 - -![alt text](/img/app/image-1.png) diff --git a/docs/apps/sdks-streamlit.md b/docs/apps/sdks-streamlit.md deleted file mode 100644 index f06e74fe1a1f9a593f29edd1c930d747c0f5d78b..0000000000000000000000000000000000000000 --- a/docs/apps/sdks-streamlit.md +++ /dev/null @@ -1,60 +0,0 @@ -# Streamlit 应用 - -Streamlit 让您能够使用 Python 快速搭建具有丰富功能的响应式网络应用。响应式意味着每次应用的状态改变,都会重新执行一遍您的代码。同时 Streamlit 在数据可视化方面也表现出色,它支持如 Bokeh、Plotly 和 Altair 等多种图表库。 - -当您[创建新应用]({{SITE_URL}}/apps/new)时,选择 Streamlit 作为 SDK。 - -有关 Streamlit 的更多信息,请查阅 [Streamlit 文档](https://docs.streamlit.io/)。 - -## 您的第一个 Streamlit 应用:热狗识别器 - -在以下各节内容中,您将了解创建应用、配置应用以及将代码部署到应用的基础知识。我们将使用 Streamlit 创建一个热狗识别器应用,该应用将用于演示 hf-models/hotdog-not-hotdog 模型,该模型可以检测给定图片是否包含热狗。 - -您可以在 [stringify/streamlit-chotdog-not-hotdog-2]({{SITE_URL}}/apps/stringify/streamlit-chotdog-not-hotdog-2/blob/master/app.py) 上找到此应用的全部内容。 - -### 创建 Streamlit 应用 - -我们从[创建新应用]({{SITE_URL}}/apps/new)开始,并选择 Streamlit 作为我们的依赖 SDK。Gitee AI 应用是基于 Git 仓库的,这样您就可以通过推送提交来逐步(与他人协作)开发您的应用。在继续之前,请查看[仓库指南](/repositories),学习如何创建和编辑文件。 - -#### 添加依赖 - -对于我们将要创建的热狗识别器,我们会使用 Transformers pipeline 依赖包来使用模型,因此我们需要先安装一些依赖。我们可以通过在仓库中创建一个 requirements.txt 文件并向其添加以下依赖来完成: - -```html -transformers torch -``` - -应用在运行时将会自动安装这些依赖! - -#### 创建 Streamlit 界面 - -创建 Streamlit 应用时,请在仓库中创建一个名为 **app.py** 的文件,并添加以下代码: - -```python - -import streamlit as st -from transformers import pipeline -from PIL import Image - -pipeline = pipeline(task="image-classification", model="hf-models/hotdog-not-hotdog") - -st.title("是热狗? 或不是?") - -file_name = st.file_uploader("上传一张图片,将会输出是热狗的概率") - -if file_name is not None: - col1, col2 = st.columns(2) - - image = Image.open(file_name) - col1.image(image, use_column_width=True) - predictions = pipeline(image) - - col2.header("Probabilities") - for p in predictions: - col2.subheader(f"{ p['label'] }: { round(p['score'] * 100, 1)}%") - -``` - -此 Python 脚本使用 Transformers pipeline 加载 Streamlit 使用的 hf-models/hotdog-not-hotdog Streamlit 应用会需要您上传一张图片,然后将其识别为热狗或非热狗。将代码保存到 **app.py** 文件后,请访问“App”选项卡以查看您的应用运行情况! - -![alt text](/img/app/apps_hotdog.png) diff --git a/docs/apps/storage.md b/docs/apps/storage.md deleted file mode 100644 index 07ee30aa164a54041f6cfcedb76ea9da3352a37e..0000000000000000000000000000000000000000 --- a/docs/apps/storage.md +++ /dev/null @@ -1,28 +0,0 @@ -# 应用存储 - -## 临时存储 - -每个应用都赠送 60 GB 临时存储,足以存储大部分 AI 大模型。 -以下情况会导致数据清空: - -- 应用重启、暂停 -- 占用存储超过 60 GB - -重启应用后,会再次执行仓库代码。如果需要持久化存储数据,可以使用持久存储套餐。 - -## 应用持久存储套餐 - -![应用持久存储套餐](/img/app/storage.png) - - -## 应用持久存储使用方式 -1. 选择附带持久存储的应用套餐 - -2. 使用代码将数据存入 /data 即可 - -:::tip 包含持久存储的套餐 - - 如果持久存储为 20 GB,加上临时存储,则总存储为 80 GB。 - - 存入 /data 目录的数据在应用重启、暂停时不会被清空。 - - 其他目录数据依旧是临时存储。 - - 需要合理管理存储空间,无法写入数据时注意清理。 -::: \ No newline at end of file diff --git a/docs/appstore/_category_.json b/docs/appstore/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..a5db5fd556f12543570fa2622b94e951f5ab8d63 --- /dev/null +++ b/docs/appstore/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "AI 应用市场", + "position": 4, + "collapsed": false +} \ No newline at end of file diff --git a/docs/related-agreements/app-store-developer-agreement.md b/docs/appstore/agreement.md similarity index 68% rename from docs/related-agreements/app-store-developer-agreement.md rename to docs/appstore/agreement.md index b8b391e88f9b1e9a5636558ad4a48bf7e6b952f9..cd6b95dea84b8ddba5b16ca56eebb99dc4b8d923 100644 --- a/docs/related-agreements/app-store-developer-agreement.md +++ b/docs/appstore/agreement.md @@ -1,4 +1,8 @@ -# 应用商店开发者协议 +--- +sidebar_position: 10 +--- + +# 应用市场开发者协议 上次更新日期:2025 年 7 月 9 日 @@ -6,18 +10,18 @@ ### (一)定义 -1. 模力方舟应用商店 :指由模力方舟(Gitee AI)运营的,为用户和开发者提供应用展示、下载、使用及管理等服务的在线平台,以下简称应用商店、平台、我们。 -2. 应用 :指开发者开发的,符合本协议及应用商店各项要求,通过应用商店向用户提供的各类软件程序及相关内容。 -3. 开发者 :指符合本协议规定的资质要求,经审核通过后,在应用商店提交、发布、运营应用的自然人、法人或其他组织。 -4. 用户 :指所有直接或间接使用开发者开发或更新至应用商店上的应用的用户。 +1. 模力方舟应用市场 :指由模力方舟(Gitee AI)运营的,为用户和开发者提供应用展示、下载、使用及管理等服务的在线平台,以下简称应用市场、平台、我们。 +2. 应用 :指开发者开发的,符合本协议及应用市场各项要求,通过应用市场向用户提供的各类软件程序及相关内容。 +3. 开发者 :指符合本协议规定的资质要求,经审核通过后,在应用市场提交、发布、运营应用的自然人、法人或其他组织。 +4. 用户 :指所有直接或间接使用开发者开发或更新至应用市场上的应用的用户。 5. Serverless API:指模力方舟为开发者提供一个便捷调用不同种类模型的方式,通过简单的 HTTP 请求在模力方舟的共享基础设施上进行快速推理。 6. Serverless API 资源包:或称模型资源包,是用于抵扣 Serverless API 调用费用的预付费资源包。 ### (二)目的和范围 -1. 本协议旨在规范开发者在模力方舟(Gitee AI)应用商店(以下简称 “应用商店”)的开发、发布、运营等行为,确保应用商店的安全、稳定、健康运行,为用户提供兼容有效的应用服务,营造良好的应用生态环境。 -2. 本协议是深圳奥思研工智能科技有限公司及关联或下属公司(以下简称“奥思”)与应用开发者(以下简称“开发者”或“您”)关于奥思授权开发者在应用商店提交应用,以及与应用商店相关的所有活动所订立的协议。 -3. 开发者在应用商店分发应用的行为受本协议、模力方舟服务条款、模力方舟隐私协议或您与模力方舟之间达成的其他类似服务条款与协议的约束。如果本协议与其他服务条款与协议之间存在冲突,则在应用商店中发布和分发您的应用时,以本协议为准。 +1. 本协议旨在规范开发者在模力方舟(Gitee AI)应用市场(以下简称 “应用市场”)的开发、发布、运营等行为,确保应用市场的安全、稳定、健康运行,为用户提供兼容有效的应用服务,营造良好的应用生态环境。 +2. 本协议是北京奥思研工智能科技有限公司及关联或下属公司(以下简称“奥思”)与应用开发者(以下简称“开发者”或“您”)关于奥思授权开发者在应用市场提交应用,以及与应用市场相关的所有活动所订立的协议。 +3. 开发者在应用市场分发应用的行为受本协议、模力方舟服务条款、模力方舟隐私协议或您与模力方舟之间达成的其他类似服务条款与协议的约束。如果本协议与其他服务条款与协议之间存在冲突,则在应用市场中发布和分发您的应用时,以本协议为准。 ## 二、开发者资质要求 @@ -29,7 +33,7 @@ ### (二)开发能力与经验 1. 开发者应具备相应的软件开发技术能力,确保所提交的应用符合软件工程的基本规范和质量标准。 -2. 鼓励开发者提供过往的开发案例和相关证明材料,以便应用商店进行综合评估。 +2. 鼓励开发者提供过往的开发案例和相关证明材料,以便应用市场进行综合评估。 ## 三、应用提交规范 @@ -43,7 +47,7 @@ 2. 原创性 - 开发者应保证应用内容的原创性,如使用他人作品或技术,需提供合法的授权许可证明。 - - 应用商店有权对应用的原创性进行审查,如发现应用存在抄袭、剽窃等侵权行为,将采取相应的处罚措施。 + - 应用市场有权对应用的原创性进行审查,如发现应用存在抄袭、剽窃等侵权行为,将采取相应的处罚措施。 3. 完整性 @@ -51,7 +55,7 @@ - 应用应提供必要的用户支持和帮助文档,以便用户在使用过程中能够及时获取帮助和解决问题。 4. 适配性 - - 应用应能够适配应用商店所支持的各种终端设备和操作系统版本,保证在不同设备和系统环境下都能正常运行。开发者应针对不同设备和系统进行充分的测试和优化,确保应用的兼容性和稳定性。 + - 应用应能够适配应用市场所支持的各种终端设备和操作系统版本,保证在不同设备和系统环境下都能正常运行。开发者应针对不同设备和系统进行充分的测试和优化,确保应用的兼容性和稳定性。 ### (二)应用技术规范 @@ -63,111 +67,111 @@ 2. 安全性要求 - 开发者应采取有效的安全措施,确保应用本身的安全性,防止用户数据泄露、被恶意攻击等安全问题。应用应遵循安全编码规范,避免出现安全漏洞和风险。 - - 应用不得包含任何恶意代码、病毒、木马等安全威胁,不得从事任何危害网络安全和信息安全的活动。开发者应配合应用商店进行安全审查和检测,及时修复安全漏洞和问题。 + - 应用不得包含任何恶意代码、病毒、木马等安全威胁,不得从事任何危害网络安全和信息安全的活动。开发者应配合应用市场进行安全审查和检测,及时修复安全漏洞和问题。 3. 兼容性要求 - - 应用应与应用商店及其他应用保持良好的兼容性,不得与应用商店的正常运行或其他应用的功能实现产生冲突。开发者应遵循应用商店的开发规范和技术,要求确保应用的兼容性和互操作性。 + - 应用应与应用市场及其他应用保持良好的兼容性,不得与应用市场的正常运行或其他应用的功能实现产生冲突。开发者应遵循应用市场的开发规范和技术,要求确保应用的兼容性和互操作性。 - 如应用需要与其他应用或系统进行交互和集成,应遵循相关的接口规范和协议,确保数据的准确传输和功能的正常实现。 4. 遵循接口规范 - - 开发者在使用应用商店提供的各类接口时,应严格遵循接口的使用规范和要求,不得滥用或不当使用接口,以免影响应用商店和其他应用的正常运行。开发者应合理设置接口调用频率和参数,避免对应用商店服务器造成过大的压力。 + - 开发者在使用应用市场提供的各类接口时,应严格遵循接口的使用规范和要求,不得滥用或不当使用接口,以免影响应用市场和其他应用的正常运行。开发者应合理设置接口调用频率和参数,避免对应用市场服务器造成过大的压力。 ### (三)提交流程与审核 -1. 开发者应按照应用商店规定的提交流程,通过指定的平台或渠道提交应用,并提供完整、准确的应用信息和相关资料。提交的应用信息应包括但不限于应用名称、版本号、功能描述、截图、安装包等。 -2. 应用商店将对提交的应用进行审核,审核内容包括但不限于应用的内容、技术性能、安全性、合法性等方面。审核周期根据将实际情况确定,开发者应及时关注审核进度和结果。应用商店有权根据审核情况要求开发者提供补充材料或修改应用。 -3. 对于审核未通过的应用,开发者应在规定时间内根据审核意见进行修改和完善,并重新提交审核。如开发者对审核结果有异议,可按照规定的申诉流程向应用商店提出。申诉申诉时,开发者应提供详细的异议说明和相关证据,以便应用商店进行复核和处理。 +1. 开发者应按照应用市场规定的提交流程,通过指定的平台或渠道提交应用,并提供完整、准确的应用信息和相关资料。提交的应用信息应包括但不限于应用名称、版本号、功能描述、截图、安装包等。 +2. 应用市场将对提交的应用进行审核,审核内容包括但不限于应用的内容、技术性能、安全性、合法性等方面。审核周期根据将实际情况确定,开发者应及时关注审核进度和结果。应用市场有权根据审核情况要求开发者提供补充材料或修改应用。 +3. 对于审核未通过的应用,开发者应在规定时间内根据审核意见进行修改和完善,并重新提交审核。如开发者对审核结果有异议,可按照规定的申诉流程向应用市场提出。申诉申诉时,开发者应提供详细的异议说明和相关证据,以便应用市场进行复核和处理。 ## 四、用户隐私与数据保护 ### (一)用户隐私保护 1. 开发者应严格遵守相关法律法规和本协议的要求,保护用户的个人隐私信息。未经用户明确同意,不得收集、使用、共享、转让或公开披露用户的个人隐私信息。 -2. 开发者应在应用中提供明确、易懂的隐私政策,向用户说明应用如何收集、使用、存储和保护用户的个人信息,以及用户如何行使个人信息相关的权利。隐私政策应符合相关法律法规的要求,并在应用商店进行公示。 +2. 开发者应在应用中提供明确、易懂的隐私政策,向用户说明应用如何收集、使用、存储和保护用户的个人信息,以及用户如何行使个人信息相关的权利。隐私政策应符合相关法律法规的要求,并在应用市场进行公示。 3. 开发者应当在不违反用户隐私权利及相关适用法律的前提下,向用户提供修改、删除用户数据的方式。 -4. 应用商店有权对开发者收集、使用用户隐私信息的行为进行监督和检查,如发现开发者违反本协议和隐私政策的,将采取相应的处罚措施。开发者应配合应用商店的监督检查,提供必要的信息和资料。 +4. 应用市场有权对开发者收集、使用用户隐私信息的行为进行监督和检查,如发现开发者违反本协议和隐私政策的,将采取相应的处罚措施。开发者应配合应用市场的监督检查,提供必要的信息和资料。 ### (二)数据安全 -1. 开发者应采取合理的技术和管理措施,确保用户数据的安全性,防止数据泄露、丢失、被篡改等安全事件的发生。如发生数据安全事件,开发者应及时通知应用商店和受影响的用户,并采取有效的补救措施,减轻可能造成的损害。 -2. 应用商店将提供必要的技术支持和安全保障,协助开发者保护用户数据的安全。同时,应用商店也有权对开发者的数据安全措施进行检查和评估,如发现存在安全隐患,可要求开发者限期整改。开发者应按照应用商店的要求及时整改,确保数据安全。 +1. 开发者应采取合理的技术和管理措施,确保用户数据的安全性,防止数据泄露、丢失、被篡改等安全事件的发生。如发生数据安全事件,开发者应及时通知应用市场和受影响的用户,并采取有效的补救措施,减轻可能造成的损害。 +2. 应用市场将提供必要的技术支持和安全保障,协助开发者保护用户数据的安全。同时,应用市场也有权对开发者的数据安全措施进行检查和评估,如发现存在安全隐患,可要求开发者限期整改。开发者应按照应用市场的要求及时整改,确保数据安全。 -## 五、应用商店的权利与义务 +## 五、应用市场的权利与义务 ### (一)权利 -1. 审核权 :应用商店有权对开发者提交的应用进行审核,决定是否接受该应用在应用商店上架。审核过程中,应用商店有权根据本协议及应用商店的相关规定,对应用的内容、质量、安全性、合法性等方面进行全面审查。 -2. 管理权 :应用商店有权对应用商店内的所有应用进行管理和监督,包括但不限于对应用的分类、排序、推荐、下架等操作,以确保应用商店的良好运营秩序。应用商店有权根据运营需要和用户反馈,对应用进行调整和优化。 -3. 处罚权 :对于违反本协议或相关法律法规的应用或开发者,应用商店有权采取相应的处罚措施,包括但不限于警告、下架应用、限制开发者账户权限、终止合作等。应用商店将根据违规行为的性质和严重程度,采取适当的处罚措施,以维护应用商店的正常运营和用户权益。 -4. 知识产权保护权 :应用商店有权保护自身的知识产权,如发现开发者侵犯其知识产权,将依法追究开发者的法律责任,并有权要求开发者承担相应的赔偿责任。应用商店的知识产权包括但不限于商标、著作权、专利权、商业秘密等。 +1. 审核权 :应用市场有权对开发者提交的应用进行审核,决定是否接受该应用在应用市场上架。审核过程中,应用市场有权根据本协议及应用市场的相关规定,对应用的内容、质量、安全性、合法性等方面进行全面审查。 +2. 管理权 :应用市场有权对应用市场内的所有应用进行管理和监督,包括但不限于对应用的分类、排序、推荐、下架等操作,以确保应用市场的良好运营秩序。应用市场有权根据运营需要和用户反馈,对应用进行调整和优化。 +3. 处罚权 :对于违反本协议或相关法律法规的应用或开发者,应用市场有权采取相应的处罚措施,包括但不限于警告、下架应用、限制开发者账户权限、终止合作等。应用市场将根据违规行为的性质和严重程度,采取适当的处罚措施,以维护应用市场的正常运营和用户权益。 +4. 知识产权保护权 :应用市场有权保护自身的知识产权,如发现开发者侵犯其知识产权,将依法追究开发者的法律责任,并有权要求开发者承担相应的赔偿责任。应用市场的知识产权包括但不限于商标、著作权、专利权、商业秘密等。 ### (二)义务 -1. 提供服务 :应用商店应为开发者提供稳定、可靠的应用提交、审核、发布、运营等服务,并确保应用商店平台的正常运行。应用商店应不断优化平台功能和服务质量,为开发者和用户提供账号用户提供便捷、高效的服务环境。 -2. 技术支持 :应用商店应为开发者提供必要的技术支持和开发文档,帮助开发者更好地开发和优化应用。应用商店应及时解答开发者在开发过程中遇到的技术问题,提供技术支持和解决方案。 -3. 安全保障 :应用商店应采取有效的安全措施,保护应用商店平台和用户数据的安全,防止遭受黑客攻击、数据泄露等安全威胁。应用商店应建立健全的安全防护体系,及时发现和修复安全漏洞,确保平台的安全性和稳定性。 -4. 投诉处理 :应用商店应建立有效的用户投诉处理机制,及时处理用户对应用的投诉和反馈,并将处理结果反馈给用户。应用商店应公正、客观地处理用户投诉,保障用户合法权益。 +1. 提供服务 :应用市场应为开发者提供稳定、可靠的应用提交、审核、发布、运营等服务,并确保应用市场平台的正常运行。应用市场应不断优化平台功能和服务质量,为开发者和用户提供账号用户提供便捷、高效的服务环境。 +2. 技术支持 :应用市场应为开发者提供必要的技术支持和开发文档,帮助开发者更好地开发和优化应用。应用市场应及时解答开发者在开发过程中遇到的技术问题,提供技术支持和解决方案。 +3. 安全保障 :应用市场应采取有效的安全措施,保护应用市场平台和用户数据的安全,防止遭受黑客攻击、数据泄露等安全威胁。应用市场应建立健全的安全防护体系,及时发现和修复安全漏洞,确保平台的安全性和稳定性。 +4. 投诉处理 :应用市场应建立有效的用户投诉处理机制,及时处理用户对应用的投诉和反馈,并将处理结果反馈给用户。应用市场应公正、客观地处理用户投诉,保障用户合法权益。 ## 六、开发者的权利与义务 ### (一)权利 -1. 获得收益 :开发者有权根据本协议和应用商店的相关规定,从其应用的销售收入中获得相应的收益分成。收益分配比例和结算方式等具体事宜,将根据本协议第七条执行。 -2. 意见反馈 :开发者有权向应用商店提出意见和建议,对应用商店的服务和运营进行评价和反馈。应用商店将认真听取开发者的反馈,不断改进和优化服务。 +1. 获得收益 :开发者有权根据本协议和应用市场的相关规定,从其应用的销售收入中获得相应的收益分成。收益分配比例和结算方式等具体事宜,将根据本协议第七条执行。 +2. 意见反馈 :开发者有权向应用市场提出意见和建议,对应用市场的服务和运营进行评价和反馈。应用市场将认真听取开发者的反馈,不断改进和优化服务。 ### (二)义务 -1. 遵守协议 :开发者应严格遵守本协议的各项规定,以及应用商店发布的其他相关政策和要求。开发者应确保其应用的开发、提交、运营等活动符合本协议和应用商店的要求,不得从事任何违反协议和规定的活动。 +1. 遵守协议 :开发者应严格遵守本协议的各项规定,以及应用市场发布的其他相关政策和要求。开发者应确保其应用的开发、提交、运营等活动符合本协议和应用市场的要求,不得从事任何违反协议和规定的活动。 2. 维护应用质量 :开发者应负责应用的维护和更新,确保应用的质量和性能满足用户需求。开发者应及时修复应用中存在的漏洞和问题,优化应用的功能和体验,提高用户满意度。 3. 保护用户权益 :开发者应尊重和保护用户的合法权益,不得从事任何损害用户利益的行为。开发者应确保应用的合法性和合规性,避免给用户带来不必要的风险和损失。 -4. 配合审核与管理 :开发者应积极配合应用商店的审核和管理工作,按照应用商店的要求提供必要的信息和资料。如应用商店要求开发者对应用进行修改或调整,开发者应及时响应并完成相关工作。 -5. 开发者应确保其在应用商店注册的联系方式准确无误,以便应用商店能够及时向开发者发送通知。如开发者联系方式发生变更,应在变更后及时在应用商店进行更新。 +4. 配合审核与管理 :开发者应积极配合应用市场的审核和管理工作,按照应用市场的要求提供必要的信息和资料。如应用市场要求开发者对应用进行修改或调整,开发者应及时响应并完成相关工作。 +5. 开发者应确保其在应用市场注册的联系方式准确无误,以便应用市场能够及时向开发者发送通知。如开发者联系方式发生变更,应在变更后及时在应用市场进行更新。 ## 七、费用与支付 ### (一)费用标准 -应用商店有权根据运营成本、市场竞争等因素,制定和调整应用的上架费用、收益分成比例等费用标准。如有变更,将在生效前三十天通过邮件、电话、短信、网页公告等方式告知开发者。 +应用市场有权根据运营成本、市场竞争等因素,制定和调整应用的上架费用、收益分成比例等费用标准。如有变更,将在生效前三十天通过邮件、电话、短信、网页公告等方式告知开发者。 -1. 应用商店免费为开发者提供应用展示、下载、使用及管理等服务,但并不排除今后就其提供的上述服务与其他新增服务收取费用和分享开发者收益的可能。 +1. 应用市场免费为开发者提供应用展示、下载、使用及管理等服务,但并不排除今后就其提供的上述服务与其他新增服务收取费用和分享开发者收益的可能。 2. 应用收入分成总额:扣除以下费用后的余额为应用收入分成总额 3. 应用产生的所有购买 Serverless API 资源包金额 4. 优惠券 5. 适用的税费 6. 退款 -7. 基于应用收入分成总额的标准分成比例为 20:80(应用商店:开发者) -8. 若支付给您的部分需要缴纳增值税、预提税或其它税款,应用商店将在付款前直接扣除相应金额。 -9. 优惠券:当用户在应用商店使用优惠券时,使用优惠券支付的金额参与分成。如果由您发起或您确认同意参加由您承担部分或全部成本的优惠券活动,则活动中用户消耗的优惠券会从您的收入结算金额中扣除。 +7. 基于应用收入分成总额的标准分成比例为 20:80(应用市场:开发者) +8. 若支付给您的部分需要缴纳增值税、预提税或其它税款,应用市场将在付款前直接扣除相应金额。 +9. 优惠券:当用户在应用市场使用优惠券时,使用优惠券支付的金额参与分成。如果由您发起或您确认同意参加由您承担部分或全部成本的优惠券活动,则活动中用户消耗的优惠券会从您的收入结算金额中扣除。 ### (二)支付方式 -1. 应用商店将提供多种支付方式供开发者选择,包括但不限于银行转账、在线支付等。开发者可根据自身情况选择合适的支付方式,并按照应用商店的要求完成支付流程。 -2. 支付成功后,应用商店将为开发者提供相应的支付凭证和发票。开发者如需查询支付记录或申请发票,可在平台的费用中心页面进行操作。 +1. 应用市场将提供多种支付方式供开发者选择,包括但不限于银行转账、在线支付等。开发者可根据自身情况选择合适的支付方式,并按照应用市场的要求完成支付流程。 +2. 支付成功后,应用市场将为开发者提供相应的支付凭证和发票。开发者如需查询支付记录或申请发票,可在平台的费用中心页面进行操作。 ### (三)收益结算 -1. 应用商店将在每自然月与开发者进行收益结算,将上月应用的应用收入分成总额按照约定的分成比例分配给开发者。 -2. 开发者应确保其在应用商店注册的收款账户信息准确无误,以便应用商店能够及时、准确地支付收益。如因开发者账户信息错误导致收益支付失败,责任由开发者自行承担。 +1. 应用市场将在每自然月与开发者进行收益结算,将上月应用的应用收入分成总额按照约定的分成比例分配给开发者。 +2. 开发者应确保其在应用市场注册的收款账户信息准确无误,以便应用市场能够及时、准确地支付收益。如因开发者账户信息错误导致收益支付失败,责任由开发者自行承担。 3. 小额递延结算。如果结算周期内未结算的累计交易金额小于下表所列的适用最低结算金额,则顺延结算日,直至未结算累计交易金额达到最低结算金额。最低结算金额(含增值税)约定为:100 元人民币。 ## 八、知识产权 ### (一)开发者知识产权 -1. 开发者对其所提交的应用拥有合法的知识产权,包括但不限于著作权、商标权、专利权等。开发者应保证所提交的应用不存在任何知识产权纠纷或争议,如因应用的知识产权问题导致应用商店或第三方遭受损失,开发者应承担全部法律责任和赔偿责任。 -2. 开发者授权应用商店在应用商店平台上展示、推广、分发应用,并允许应用商店对应用进行非排他、全球性、不可撤销性和免授权费之授权必要的复制、修改、翻译等操作,以适应应用商店的运营和推广需要。应用商店对应用的上述使用行为不免除开发者对应用知识产权的责任和义务。 +1. 开发者对其所提交的应用拥有合法的知识产权,包括但不限于著作权、商标权、专利权等。开发者应保证所提交的应用不存在任何知识产权纠纷或争议,如因应用的知识产权问题导致应用市场或第三方遭受损失,开发者应承担全部法律责任和赔偿责任。 +2. 开发者授权应用市场在应用市场平台上展示、推广、分发应用,并允许应用市场对应用进行非排他、全球性、不可撤销性和免授权费之授权必要的复制、修改、翻译等操作,以适应应用市场的运营和推广需要。应用市场对应用的上述使用行为不免除开发者对应用知识产权的责任和义务。 -### (二)应用商店知识产权 +### (二)应用市场知识产权 -1. 应用商店拥有其平台的知识产权,包括但不限于商标、著作权、专利权、商业秘密等。未经应用商店书面同意,开发者不得使用、复制、修改、传播或以其他方式侵犯应用商店的知识产权。 -2. 应用商店提供的开发文档、工具、接口等资料和资源,仅供开发者在开发、运营应用时使用,开发者不得将其用于其他商业目的或非法用途。开发者在使用过程中应遵守应用商店的相关规定和要求,不得对应用商店的知识产权造成损害。 +1. 应用市场拥有其平台的知识产权,包括但不限于商标、著作权、专利权、商业秘密等。未经应用市场书面同意,开发者不得使用、复制、修改、传播或以其他方式侵犯应用市场的知识产权。 +2. 应用市场提供的开发文档、工具、接口等资料和资源,仅供开发者在开发、运营应用时使用,开发者不得将其用于其他商业目的或非法用途。开发者在使用过程中应遵守应用市场的相关规定和要求,不得对应用市场的知识产权造成损害。 ## 九、保密条款 ### (一)保密信息 -1. 双方应对在本协议履行过程中知悉的对方的商业秘密、技术秘密、用户数据等保密信息予以保密。保密信息包括但不限于应用商店的运营数据、用户信息、技术文档、商业计划等,以及开发者的应用源代码、开发文档、商业机密等。 +1. 双方应对在本协议履行过程中知悉的对方的商业秘密、技术秘密、用户数据等保密信息予以保密。保密信息包括但不限于应用市场的运营数据、用户信息、技术文档、商业计划等,以及开发者的应用源代码、开发文档、商业机密等。 2. 未经对方书面同意,任何一方不得向第三方披露或使用对方的保密信息。双方应采取合理的措施,确保保密信息的安全和保密,防止保密信息泄露或被滥用。 ### (二)保密期限 @@ -179,19 +183,19 @@ ### (一)协议变更 -1. 应用商店有权根据法律法规的变化、市场环境的调整、运营需要等因素,对本协议进行修改和补充。修改后的协议将在应用商店平台进行公示,自公示之日起生效。如开发者不同意修改后的协议,可在公示期内书面通知应用商店终止本协议。 -2. 开发者如需对本协议进行变更,应提前与应用商店协商,并经应用商店书面同意后方可实施。未经应用商店同意,开发者不得擅自变更本协议的内容和条款。 +1. 应用市场有权根据法律法规的变化、市场环境的调整、运营需要等因素,对本协议进行修改和补充。修改后的协议将在应用市场平台进行公示,自公示之日起生效。如开发者不同意修改后的协议,可在公示期内书面通知应用市场终止本协议。 +2. 开发者如需对本协议进行变更,应提前与应用市场协商,并经应用市场书面同意后方可实施。未经应用市场同意,开发者不得擅自变更本协议的内容和条款。 ### (二)协议终止 1. 本协议在以下情况下终止: - 双方协商一致终止本协议; -- 开发者因违反本协议规定,被应用商店终止合作; -- 开发者主动申请终止合作,经应用商店同意后; +- 开发者因违反本协议规定,被应用市场终止合作; +- 开发者主动申请终止合作,经应用市场同意后; - 其他法律法规规定或本协议约定的终止情形。 -2. 协议终止后,开发者应在应用商店平台下架其应用,并停止所有与应用商店相关的运营活动。开发者应对其应用在终止前的运营行为和后果承担全部责任。 +2. 协议终止后,开发者应在应用市场平台下架其应用,并停止所有与应用市场相关的运营活动。开发者应对其应用在终止前的运营行为和后果承担全部责任。 3. 因不可抗力事件(包括但不限于自然灾害、政府行为、社会异常事件等)导致一方无法履行本协议的,不承担违约责任。但受影响方应在不可抗力事件发生后及时通知对方,并提供相关证明文件。 4. 受不可抗力影响的一方应采取合理的措施,减少不可抗力事件对协议履行的影响,并在不可抗力事件消除后及时恢复履行协议。 diff --git a/docs/appstore/auth.md b/docs/appstore/auth.md new file mode 100644 index 0000000000000000000000000000000000000000..6bb9506c9512a4355ec14fe43901b517668d62b5 --- /dev/null +++ b/docs/appstore/auth.md @@ -0,0 +1,28 @@ +--- +sidebar_position: 2 +--- + +# 开发者身份认证 + +## 一. 注册并登录模力方舟 + +- 访问 {{SITE_URL}}/ 并点击右上角登录 +- 使用 Gitee 账号登录,如果您没有 Gitee 账号,请先 [注册后再登录](https://gitee.com/signup) + +## 二. 完成应用开发者认证 + +单击 `工作台` > `应用`,进入自己的应用管理页面 + +![进入应用](/img/app-store/create-1.png) + +单击 `开始认证` 按钮进入认证流程 + +![开始认证](/img/app-store/create-2.png) + +**个人认证:** 个人应用开发者需要填写实名认证信息,并转入支付宝进行人脸识别认证。 + +![个人认证](/img/app-store/create-3.png) + +**企业认证:** 如果从组织的方式进入工作台>应用,请填写组织信息,提交后模力方舟的工作人员会进行人工审核(审核需要 2-5 个工作日)。 + +![组织认证](/img/app-store/create-4.png) diff --git a/docs/appstore/cost.md b/docs/appstore/cost.md new file mode 100644 index 0000000000000000000000000000000000000000..7cb81a79931f4f837191bf3de29303c85f0f33e4 --- /dev/null +++ b/docs/appstore/cost.md @@ -0,0 +1,22 @@ +--- +sidebar_position: 6 +--- + +# 收入和成本核算 + +应用的使用者对所有算力的消耗都由开发者的资源包承担,开发者首先需要购买模型资源包,并确保资源包的余额充足,避免在应用运行时出现余额不足的情况。 + +:::info 如何独立核算不同应用的收入 +我们建议为每个应用创建一个独立的令牌,并绑定独立的资源包,可以更好地管理应用的调用和成本。 +::: + +## 收入计算公式 + +**开发者收入** = **应用总收入** \* (1 - **平台抽成比例**) - **税费** +**开发者利润** = **开发者收入** - **模型调用成本** + +模型调用成本是指在应用中使用模力方舟提供的模型 API 所产生的费用。这些费用通常是根据 API 调用的次数、Token 数来计算的。开发者需要根据自己的应用场景,合理预估模型调用的频率和数据量,从而进行成本预算。 + +税费是指根据当地税务政策,开发者需要缴纳的税款 (一般为 6%)。具体税率和计算方式可能因国家或地区而异,开发者需要咨询专业的财务顾问或税务机构来了解相关规定。 + +开发者最后实际获得的收入为前面计算公式第一项中的 **开发者收入**,这部分费用模力方舟将以月结的方式跟开发者进行结算。 diff --git a/docs/appstore/create-app.md b/docs/appstore/create-app.md new file mode 100644 index 0000000000000000000000000000000000000000..f3d4029361f36bce1d4dd891ebab967f4c5d29c6 --- /dev/null +++ b/docs/appstore/create-app.md @@ -0,0 +1,53 @@ +--- +sidebar_position: 3 +--- + +# 创建和开发应用 + +模力方舟 AI 应用市场支持的应用包括但不限于:桌面软件、移动 App、小程序、Web 应用等。 + +:::warning +在创建应用之前,您需要先完成 [开发者身份认证](./auth)。 +::: + +认证之后,我们就可以看到应用列表了: + +![应用列表](/img/app-store/create-5.png) + +## 创建应用 + +点击右上方“新建应用”,进入应用信息创建表单 + +![创建应用](/img/app-store/create-6.png) + +填写完基本信息后,应用创建就已经完成了。 + +接下来,您可以在应用详情页中进行应用的配置、收费策略制定、发布等操作。需要填写的应用信息包括: + +1. **应用名称:** 当前应用的名字,用于应用市场页面显示应用的名称 +2. **简短介绍:** 简单介绍当前应用的特点及核心功能,用于应用市场卡片列表及详情页的应用简介 +3. **应用类型:** 当前应用使用端的类别,用于应用市场列表卡片及详情页中标签应用类别的展示 +4. **应用分类:** 当前应用使用场景类别,用于应用市场列表卡片及详情页中标签应用分类的展示 +5. **应用图标:** 上传的图标用于应用图标的展示,同时也用于当前应用市场和应用详情中应用图标展示 +6. **应用图库:** 上传上限6张当前应用核心功能特点的图片,若有视频则图片只能上传 5 张,用于应用详情页帮助用户更好理解应用核心功能的展示 +7. **详情介绍:** 描述应用具体的功能和特点,避免使用夸大词法,例如:“最安全”或“最受欢迎”等,这些内容用于应用详情页应用的介绍 + +## 使用应用专属访问令牌 + +当应用创建完成后,系统会自动创建一个应用专属的访问令牌。该令牌只允许调用 [AI 应用市场接口文档]({{SITE_URL}}/docs/openapi/v1#tag/ai%E5%BA%94%E7%94%A8%E5%B8%82%E5%9C%BA%E6%8E%A5%E5%8F%A3),不能调用模型 API。在您的应用中应该使用这个专属的令牌进行用户身份认证和应用收费等操作。 + +应用专属令牌如下图所示: + +![应用专属访问令牌](/img/app-store/apptoken.jpg) + +## 使用用户身份认证接口 + +模力方舟为应用的每一个用户提供了身份认证接口,开发者可以通过该接口来实现用户的身份验证和信息获取。当使用该接口时,系统会为每个用户生成一个用户专属令牌,应用应该使用这个用户专属令牌来调用模型 API。调用模型 API 所产生的费用都会汇集到开发者的应用专属资源包中。 + +这个过程无需最终用户去购买资源包、创建令牌等专业的操作,模力方舟会自动使用开发者的资源包来抵扣用户的模型调用费用。 + +## 使用应用收费接口 + +为了让开发者在应用中实现收费功能,模力方舟提供了应用收费接口。开发者可以通过该接口来实现应用的收费策略和计费方式。 + +详细的收费策略请看下一节。 diff --git a/docs/appstore/intro.md b/docs/appstore/intro.md new file mode 100644 index 0000000000000000000000000000000000000000..4a37531832236934597b78864cf0ca74f615a9cf --- /dev/null +++ b/docs/appstore/intro.md @@ -0,0 +1,67 @@ +--- +title: AI 应用市场介绍 +description: AI 应用市场是模力方舟打造的开放平台,旨在帮助开发者和用户高效创建、部署并使用各类 AI 应用。 +sidebar_position: 1 +--- + +import { BsGpuCard } from "react-icons/bs"; +import { FaUser } from "react-icons/fa"; +import { IoIosStats } from "react-icons/io"; +import { FaBullhorn } from "react-icons/fa"; + +# AI 应用市场 —— 让应用触达最终用户 + +:::tip AI 应用扶持计划 +现在加入 AI 应用市场,您可以享受平台提供的多项扶持政策,包括:算力全免、零抽成、推广支持等。 +有效期至2025年12月31日 +::: + +AI 应用市场是模力方舟打造的开放平台,旨在帮助开发者和用户高效创建、部署并使用各类 AI 应用。在这里,您可以便捷地将 AI 模型集成进应用,并将成果共享给更多用户。平台提供从 “开发 → 上架 → 展示 → 变现” 的全流程服务,助力开发者将创意快速转化为产品,实现从模型能力到用户价值的完整闭环。我们致力于共建 AI 应用生态,连接创意、用户与算力,释放 AI 的真正潜能。 + +![AI应用市场](/img/apps/app1.png) + +### 为 AI 应用提供的价值 + +
+ +
+
+

模型与算力的支持

+
+
+ 平台为 AI 应用提供超百款模型的服务,包括共享算力和专属算力,按用量计费。 +
+
+ +
+
+

用户身份认证

+
+
+ 帮您实现对应用用户的身份认证,包括手机以及邮箱验证等等。 +
+
+ +
+
+

统计与计费

+
+
+ 为应用提供丰富的收费模式,支持多种支付方式,同时详细的使用统计报告。 +
+
+ +
+
+

宣传推广

+
+
+ 通过开源中国自身渠道为广大的 AI 应用提供宣传推广支持。 +
+
+ +
+ +### 支持多种应用形式 + +包括但不限于:桌面软件、移动 App、小程序、Web 应用等。我们鼓励开发者在多种平台上发布 AI 应用,以便触达更广泛的用户群体。 diff --git a/docs/appstore/price.md b/docs/appstore/price.md new file mode 100644 index 0000000000000000000000000000000000000000..990e55f73aa293ed544c612b89df4b25f62e37d9 --- /dev/null +++ b/docs/appstore/price.md @@ -0,0 +1,55 @@ +--- +title: 应用收费策略 +sidebar_position: 4 +--- + +# 制定应用收费策略 + +应用收费策略是指开发者在模力方舟应用市场中为其应用设定的收费方式和价格。通过合理的收费策略,开发者可以实现应用的商业化运营,同时为用户提供优质的服务。 + +## 收费策略类型 + +模力方舟应用市场支持多种收费策略,开发者可以根据应用的特点和目标用户选择合适的收费方式: + +- **一次性收费**:用户在下载应用时支付一次性费用,开发者获得全部收入。 +- **订阅制收费**:用户按周期(如月、年)支付费用,开发者可获得持续收入。 +- **按用量收费**:用户根据实际使用量支付费用,适用于资源消耗型应用。 +- **免费模式**:应用免费使用。 + +## 收费策略设置 + +开发者可以在应用市场的应用管理中设置收费策略。 + +设置方法如下: + +进入应用列表,选择要设置的应用,点击 **管理** 按钮,切换到 **上架信息** 页: + +![app-price](/img/app-store/app-price.jpg) + +### 订阅制 + +在 **收费设置** 部分,选择合适的收费方式,并填写相关信息,如价格、周期等。 + +![收费列表](/img/app-store/price-list.jpg) + +### 按量制 + +如果要添加按量计费的收费方式,可以点击 **添加** 下拉菜单,选择 **按量制方案**。 + +![按量制](/img/app-store/price-ratio.jpg) + +按量制方案需要填写计费倍率,1.0 表示与模型广场的模型定价一致,1.5 表示按 1.5 倍计费,其中差额部分将作为开发者的收入。 + +## 制定收费策略的注意事项 + +1. **市场调研**:了解同类应用的收费情况,合理定价。 +2. **用户体验**:确保收费方式简单明了,不影响用户使用体验。 +3. **灵活调整**:根据市场反馈和用户需求,及时调整收费策略。 +4. **透明度**:在应用描述中清晰说明收费方式和价格,避免用户误解。 +5. **优惠活动**:可以设置试用期或优惠活动,吸引用户尝试付费服务。 + +## 使用应用收费接口 + +模力方舟为应用提供了收费接口,开发者可以通过该接口来实现应用的收费策略和计费方式。 + +相关的接口详情请看 [AI 应用市场接口文档]({{SITE_URL}}/docs/openapi/v1#tag/ai%E5%BA%94%E7%94%A8%E5%B8%82%E5%9C%BA%E6%8E%A5%E5%8F%A3)。 diff --git a/docs/appstore/publish.md b/docs/appstore/publish.md new file mode 100644 index 0000000000000000000000000000000000000000..64e11b5f199e65326d5d210f9e42ff8ef30fccb8 --- /dev/null +++ b/docs/appstore/publish.md @@ -0,0 +1,22 @@ +--- +title: 发布到应用市场 +sidebar_position: 5 +--- + +# 发布到应用市场 + +在填写完应用详细介绍、截图,以及设置好应用的收费策略后,就可以将应用提交到模力方舟应用市场进行审核。 + +![](/img/app-store/publish-6.png) + +提交后,应用将进入审核阶段。 + +![](/img/app-store/publish-7.png) + +审核通过后,应用将转为 **待发布** 状态。 + +![](/img/app-store/publish-8.png) + +当您点击发布按钮后,应用将会在应用市场中展示。 + +![](/img/app-store/publish-10.png) diff --git a/docs/appstore/qa.md b/docs/appstore/qa.md new file mode 100644 index 0000000000000000000000000000000000000000..dbd77edf13578b94fe2cb3fcdec296faec334db8 --- /dev/null +++ b/docs/appstore/qa.md @@ -0,0 +1,24 @@ +--- +sidebar_position: 11 +--- + +# 常见问题 + +## 应用平台的 API 能做什么? + +1. 帮助应用快速接入支付能力进行变现 +2. 支持灵活的付费策略定制 +3. 支持用户手机号登录并购买您定义的套餐并恢复购买之前的套餐 +4. 用户购买套餐后将产生 token 用于模型接口的调用,推理接口请参考示例和 API 文档 + +## 应用平台支持哪些应用形式? + +我们推荐先在桌面应用、网站应用中集成,当然 iOS/Android/小程序等也可以接入 + +## 开发应用时我需要为平台付费吗? + +为了能向您的应用用户提供 AI 能力,需要您购买一定数量的模型资源包,当用户在您应用中调用模型接口时,将直接从您购买的模型资源包里扣费,推荐购买全模型资源包享受更多模型选择。 + +## 如何获得收入? + +您可以在工作台的应用详情里查看到收入情况,我们的收益抽成比例是 20%,例如:您的总收入是 100 元,实际能提现的收入则是 80 元。 diff --git a/docs/best-practice/integration.md b/docs/best-practice/integration.md deleted file mode 100644 index 0dd58545cc52102017ec81129d8a54a887925f01..0000000000000000000000000000000000000000 --- a/docs/best-practice/integration.md +++ /dev/null @@ -1,197 +0,0 @@ -# Serverless API 应用集成指南 - -[Serverless API]({{SITE_URL}}/serverless-api) 提供了数量众多的模型 API,只需调用 API 就可以将其强大的功能集成到您的应用中。本文为大家推荐了一些可集成 Serverless API 的应用,以及详细的集成配置指南。 - -这些应用运行我们日常使用的平台上,如 Windows、mac 上的客户端、网页应用、浏览器插件,移动端 APP 等,通过使用这些应用,即可释放 Serverless API 的模型能力,从而提升您使用 AI 的便捷性。以下是应用的访问地址和简介: - -| 分类 | 应用名称 | 简介 | -| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| 客户端类 | [Chatbox](https://chatboxai.app/zh) | 一个支持多种流行LLM模型的桌面客户端,可在 Windows、Mac 和 Linux 上使用 | -| | [OpenCat](https://opencat.app/zh-Hans/) | OpenCat 是一个 AI 对话聊天客户端,支持 iOS 和 macOS | -| | [Dify](https://dify.ai/) | 一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务和 [LLMOps](https://docs.dify.ai/v/zh-hans/learn-more/extended-reading/what-is-llmops) 的理念,使开发者可以快速搭建生产级的生成式 AI 应用 | -| | [Nextchat](https://nextchat.dev/) | 只需轻点几下,就能在自己的服务器上搭建聊天服务 | -| | [Pal Chat](https://apps.apple.com/us/app/pal-chat-ai-chat-client/id6447545085) | 一款可以在 iPhone 或 iPad 上使用的 AI 助手 | -| | [Enconvo](https://www.enconvo.com/) | Enconvo 是 AI 时代的启动器,是所有AI功能的入口,也是一位体贴的智能助理.】 | -| | [Cherry Studio](https://www.cherrystudios.com/) | 一款为创造者而生的桌面版 AI 助手 | -| 浏览器插件 | [沉浸式翻译](https://immersivetranslate.com/zh-Hans/) | 一款双语对照网页翻译插件,简洁,高效 | -| | [ChatGPT Box](https://github.com/josStorer/chatGPTBox) | 将 LLM 作为私人助手,整合到你的浏览器中 | -| | [划词翻译](https://hcfy.app/) | 整合了多家翻译 API 以及 LLM API 的浏览器翻译插件 | -| | [欧路翻译](https://chromewebstore.google.com/detail/%E6%AC%A7%E8%B7%AF%E7%BF%BB%E8%AF%91-%E7%BD%91%E9%A1%B5%E5%88%92%E8%AF%8D%E7%BF%BB%E8%AF%91%E5%B7%A5%E5%85%B7/djbfechcnkppbknmlhfcaoifgnicolin) | 提供鼠标划词搜索、逐段对照翻译、PDF 文献翻译功能。可以使用支持 DeepSeek AI, Bing、GPT、Google 等多种翻译引擎 | -| IM 助手 | [茴香豆](https://github.com/InternLM/HuixiangDou/blob/main/README_zh.md) | 一个集成到个人微信群/飞书群的领域知识助手,专注解答问题不闲聊 | -| | [QChatGPT](https://github.com/RockChinQ/QChatGPT) | 高稳定性、支持插件、实时联网的 LLM QQ / QQ频道 / One Bot 机器人 | -| VScode 插件 | [Continue](https://github.com/continuedev/continue) | 开源 IDE 插件,使用 LLM 做你的编程助手 | - -以上应用均支持集成 Serverless API,配置操作也很简单,在选择 API 配置的时候,因为 Serverless API 与 OpenAI API 格式兼容,模型提供方只需要选择 OpenAl APl Compatible。这个时候通常需要填写 API 调用地址、API key 等信息,下面是操作步骤: - -## 操作步骤 - -**1. 获取** **API** **路径:** - -请在 Serverless API 页选择你想要使用的模型,点击调用,获取它的 API 调用地址,如下所示: - -``` -{{SITE_URL}}/api/serverless//chat/completions -``` - -![alt text](../../static/img/serverless-api/integrated/integrate1.png) - -**2. 通过上面获取的路径,通常需要将路径拆分,填写下方信息:** - -- API Host (Domain):_{{SITE_URL}}_ -- API Path:_api/serverless/<Model>/chat/completions_ - -![alt text](../../static/img/serverless-api/integrated/integrate2.png) - -**3. 获取 API key:** - -前往 Gitee AI 工作台 - 设置 - 访问令牌,创建你的 API Key - -![alt text](../../static/img/serverless-api/integrated/integrate3.png) - -在一些业务场景中,可能需要让客户端直接调用 Serverless API ,这时候需要将 Access Token 传递给客户端,为了安全起见,建议将 Access Token 存储在后端,通过后端服务代理调用 Serverless API。 - -如果希望直接在客户端使用 Access Token ,Gitee AI 提供了创建临时 Token 的接口,该接口的详细使用方法请查看 **[创建临时 Access Token]({{SITE_URL}}/docs/openapi/v1#tag/account/POST/account/temporary-token)** - -## 集成 OpenCat - -OpenCat 是一个 AI 对话聊天客户端,支持 iOS 和 macOS,在对话框内,可以快速的使用 prompt,展开新的对话,通过对接一些主流平台的 API ,可以选择与多种模型聊天。 - -### 配置指南 - -1. 下载 [OpenCat](https://opencat.app/zh-Hans/) - -2. 进入setting——Providers - -3. 输入 API Domain、API Path、API Key - -- API Domain:_{{SITE_URL}}_ -- API Path:不同模型的路径不同,示例:_api/serverless/<Model>/chat/completions_ -- API key: 在 Gitee AI 工作台-设置复制访问令牌(API key) - -4. 点击验证,提示 Validate Success 即可 - -![alt text](../../static/img/serverless-api/integrated/integrate4.png) - -## 集成沉浸式翻译 - -[Immersive Translate](https://immersivetranslate.com/) 是一款浏览器插件,专注于提供高效的双语对照翻译服务。它支持网页、PDF、EPUB 等多种格式的翻译,能够实时翻译外语内容,并支持视频双语字幕翻译。插件提供了便捷的鼠标悬停翻译和输入框翻译功能,是提升信息获取效率的利器。 - -### **配置指南** - -1. 安装成功后,进入 Immersive Translate 插件 - “翻译服务”,滑到最底部添加自定义翻译服务。 - -![alt text](../../static/img/serverless-api/integrated/integrate5.png) - -2. 在设置页面输入以下关键信息: - -- 自定义 API 接口地址: _此处填写 Serverless API 完整的调用地址_ -- APIKEY:在 Gitee AI 工作台 - 设置 - 访问令牌,复制访问令牌(API key) -- 每秒最大请求数:1 -- 每次请求最大文本长度:1200 -- 每次请求最大段落数:8 - -3. 点击页面上方“点此测试服务”,显示“验证成功”即配置完成 - -![alt text](../../static/img/serverless-api/integrated/integrate6.png) - -## 集成 Dify - -Dify 是一款开源的大语言模型(LLM))应用开发平台。它融合了后端即服务(Backend as Service)和 [LLMOps](https://docs.dify.ai/v/zh-hans/learn-more/extended-reading/what-is-llmops) 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。 - -### 配置指南 - -Serverless API 支持在 Dify 中调用,使用步骤如下 - -1. 获取 Gitee AI 访问令牌 - -开发者首先需要访问 [Gitee AI 工作台]({{SITE_URL}}/dashboard/settings/tokens)中获取访问令牌,没有购买 Serverless API 的开发者,可以使用免费体验访问令牌(仅供体验,每日调用次数有限),复制想要使用的令牌即可。 - -![](../../static/img/serverless-api/integrated/integrate14.png) - -2. 在 Dify 中填入访问令牌 - -打开并登录 Dify(https://cloud.dify.ai),点击页面右上角用户名,进入设置,选择「模型供应商」。 - -![](../../static/img/serverless-api/integrated/integrate15.png) - -选择 Gitee AI 中的设置,填入此前复制的访问令牌,点击保存即可。 - -![](../../static/img/serverless-api/integrated/integrate16.png) - -3. 在应用编排中调用 Gitee AI - -至此,开发者便可以在 Dify 的应用编排中调用来自 Gitee AI 的模型了。 - -![](../../static/img/serverless-api/integrated/integrate17.png) - -## 集成 Nextchat - -[Nextchat](https://nextchat.dev/) 是一款网页端的 AI 对话工具,支持自定义大模型。还支持在自己的服务器上搭建聊天服务。 - -### 配置指南 - -1. 点击设置,并滚动至自定义接口,选择 OpenAI -2. Serverless API 链接,在调用窗口获取,填写完整 URL,示例:_{{SITE_URL}}/api/serverless/Qwen2-7B-Instruct/chat/completions_ - -![alt text](../../static/img/serverless-api/integrated/integrate10.png) - -3. 最后,创建新聊天,点击对话设置,选择刚刚配置的模型,就可以在对话框内调用模型了。 - -![alt text](../../static/img/serverless-api/integrated/integrate11.png) - -![alt text](../../static/img/serverless-api/integrated/integrate12.png) - -## 集成 ChatGPTBox - -[ChatGPT Box](https://github.com/josStorer/chatGPTBox) 是一款浏览器插件,支持在浏览器内随时呼出 AI 对话框,并适用于手机端浏览器。支持自定义模型 API,它还提供框选内容执行任务、静态卡片浮出聊天框、代码高亮和复杂公式渲染、对话记录保存等功能。 - -### 配置指南 - -下载 ChatGPTBox 并安装成功后,点击插件图标,按照以下要求操作: - -- 选择自定义模型 -- 模型名称无严格要求 -- API 地址:填写完整的 Serverless API 地址 -- API key:在 Gitee AI 工作台-设置复制访问令牌(API key) - -![alt text](../../static/img/serverless-api/integrated/integrate13.png) - -## 集成 Continue - -[Continue](https://github.com/continuedev/continue) 是领先的开源 AI 代码助手。您可以连接任何模型和任何上下文,在 VS Code 和 JetBrains 中构建自定义自动完成和聊天体验。 - -### 配置指南 - -在 VS Code 和 JetBrains 安装 continue 的扩展之后,按照一下要求操作 -serverless API 提供 [OpenAI compatible API ](https://docs.continue.dev/customize/model-providers/openai#openai-compatible-servers--apis),以 deepseek 模型为例,使用其他模型可以替换成对应的配置 - -```json -# config.json - -{ - "completionOptions": { - "BaseCompletionOptions": { - "temperature": 0.0, - "maxTokens": 256 - } - }, - "models": [ - { - "title": "DeepSeek-33b", - "model": "deepseek-33b", - "apiKey": "#{APIKEY}", - "apiBase": "{{SITE_URL}}/api/serverless/deepseek-coder-33B-instruct/", - "provider": "openai" - } - ], - "tabAutocompleteModel": { - "title": "DeepSeek-33b", - "model": "deepseek-33b", - "apiKey": "#{APIKEY}", - "apiBase": "{{SITE_URL}}/api/serverless/deepseek-coder-33B-instruct/", - "provider": "openai" - }, -... -``` - -更多应用,请查看文章顶部表格,如有疑问或建议,请随时[联系我们]({{SITE_URL}}/about)。 diff --git a/docs/billing/_category_.json b/docs/billing/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..b4f3ae5ff7040db6a7179b8bef4caef86f4f1695 --- /dev/null +++ b/docs/billing/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "资源包与计费", + "position": 6, + "collapsed": true +} \ No newline at end of file diff --git a/docs/billing/balance.md b/docs/billing/balance.md deleted file mode 100644 index c7422e38240bc0068e2f80ca8d2171fc0c63322f..0000000000000000000000000000000000000000 --- a/docs/billing/balance.md +++ /dev/null @@ -1,42 +0,0 @@ -# 优惠券使用指南 -GiteeAI 目前有2种优惠券,分别是代金券和算力券。如果您有体验诉求,欢迎[联系我们](../contact.md)。 - -## 算力券 - -### 使用规则 -算力券和算力类型相关。当您购买的资源与算力券对应的算力厂商相匹配时,才可以使用账户内的算力券抵扣。 -- 在支付时,算力券优先于代金券与现金余额。多张符合条件的算力券可同时使用。 - -- 退款时,算力券支付部分会退回至算力券中。 - -- 算力券支付部分不支持开发票。 - - -### 使用算力券 - -若您或组织账户有算力券,且在有效期内,在购买 Serverless API、应用或模型引擎时,选择在适用范围内的算力类型,下单页会默认勾选使用算力券。算力券可多次使用,直至有效期过期或余额使用完毕。 - -## 代金券 - -### 使用规则 - -代金券在 Gitee AI 平台中所有付费场景中均可进行使用。 - -- 在支付时,代金券优先于现金余额,多张符合条件的代金券可同时使用。 - -- 退款时,代金券支付部分会退回至代金券中。 - -- 代金券不可提现,不可转赠,不可开票。 - - -### 兑换代金券 - -您获取平台发放的代金券兑换码后,即可在代金券兑换页面,完成兑换,兑换码仅可使用一次。 - -![alt text](/img/billing/image.png) - - - -**使用代金券** - -若您或组织账户有代金券,在购买 Serverless API、模型引擎、应用时,将默认勾选使用。代金券可多次使用,直至有效期过期或余额使用完毕。 \ No newline at end of file diff --git a/docs/billing/coupons.md b/docs/billing/coupons.md new file mode 100644 index 0000000000000000000000000000000000000000..7a3e63440149b03e9a30d12a02d2b7aa958e409e --- /dev/null +++ b/docs/billing/coupons.md @@ -0,0 +1,69 @@ +--- +sidebar_position: 3 +--- + +# 优惠券使用指南 + +模力方舟目前提供**代金券**、**折扣券**和**算力券**三种优惠券类型。适用于不同付费场景。以下为具体使用规则及操作说明: + +## 代金券 +**定义**:平台通用券,可用于所有付费场景。 + +### 使用规则 +- **支付优先级**:代金券优先于现金余额,多张符合条件的代金券可同时使用。 +- **使用次数**:可多次使用,直至有效期过期或余额使用完毕。 +- **限制说明**:不可提现、转赠或开票;状态为 “已过期”“已使用”(余额为 0)时不可用;不能抵扣欠费费用。 +- **退款规则**:代金券支付部分退回至代金券账户。 + +### 兑换方法 +获取平台发放的代金券兑换码后,进入 [费用中心 - 代金券]({{SITE_URL}}/dashboard/billing/coupons/cash) ,点击右上角 “兑换”。 + +![alt text](../../static/img/billing/image.png) + +兑换页面展示代金券详情(如面值、生效 / 失效日期),若输入格式错误、无效或已兑换,将提示对应错误信息。 + +### 使用步骤 +购买资源时(如 Serverless API),下单页默认勾选可用代金券。 + +支付完成后,代金券余额自动扣除,可在 [代金券页面]({{SITE_URL}}/dashboard/billing/coupons/cash) 查看使用记录及剩余余额。 + + +## 折扣券 + +**定义**:折扣券是一种可在结算时抵扣部分金额或享受优惠的凭证,帮助用户以更低价格获取商品或服务。 + +### 使用规则 +- **使用次数**:一个订单只能使用一张折扣券,不可与算力券、代金券叠加使用。 +- **限制说明**:折扣券抵扣部分不支持开发票;状态为 “已过期” “已使用” 时不可用;不能抵扣欠费费用。 +- **退款规则**:订单支付后折扣券不可退回,折扣券只在指定时间内有效。 + +### 兑换方法 +获取平台发放的折扣券兑换码后,进入 [费用中心 - 折扣券]({{SITE_URL}}/dashboard/billing/coupons/discount) ,点击右上角 “兑换”。 + +兑换页面展示折扣券详情(如折扣、生效 / 失效日期),若输入格式错误、无效或已兑换,将提示对应错误信息。 + +### 使用步骤 +购买资源时(如 Serverless API),下单页默认勾选可用折扣券。 + +支付完成后,折扣券自动扣除,可在 [折扣券页面]({{SITE_URL}}/dashboard/billing/coupons/discount) 查看使用记录。 + +## 算力券 + +**定义**:算力券和算力类型相关,仅用于购买算力资源的专用券,需与算力厂商匹配(如天数智芯、沐曦等)。 + +### 使用规则 + +- **支付优先级**:在支付时,算力券优先于代金券与现金余额。多张符合条件的算力券可同时使用。 +- **使用次数**:可多次使用,直至有效期过期或余额使用完毕。 +- **限制说明**:算力券支付部分不支持开发票;状态为 “已过期”“已使用”(余额为 0)时不可用;不能抵扣欠费费用。 +- **退款规则**:退款时,算力券支付部分会退回至算力券账户中。 + +### 兑换方法 +获取平台发放的算力券兑换码(16 位唯一字符串)后,进入 [费用中心 - 算力券]({{SITE_URL}}/dashboard/billing/coupons/compute),点击右上角 “兑换” 按钮,输入兑换码完成兑换。 + +兑换页面展示算力券详情(如面值、生效 / 失效日期、适用厂商),若输入格式错误、无效或已兑换,将提示对应错误信息。 + +### 使用步骤 +购买算力资源时(如 “沐曦 - 模型资源包”),需选择与算力券匹配的算力厂商资源包(误选其他资源包无法使用算力券)。 + +下单页默认勾选可用算力券,支付完成后,算力券余额自动扣除,可在 [算力券页面]({{SITE_URL}}/dashboard/billing/coupons/compute) 查看使用记录及剩余余额。 \ No newline at end of file diff --git a/docs/billing/index.md b/docs/billing/index.md new file mode 100644 index 0000000000000000000000000000000000000000..c57d6fc3e989054de647b5991a518ae1b84ffe77 --- /dev/null +++ b/docs/billing/index.md @@ -0,0 +1,30 @@ +# 资源包与计费 + +本章节内容包括模力方舟的资源包、计费方式、如何查看账单以及使用日志等内容。 + +## 资源包 + +模型资源包是模力方舟为用户提供的预付费模型调用服务包,包括: + +### 全模型资源包 + +全模型资源包是预付费的模型 API 调用包,允许用户使用模型广场上已部署的所有模型的 API,适用于需要多种模型调用的用户。系统将根据不同模型的定价标准,自动从资源包中扣除相应的费用。 + +当用户使用全模型资源包时,系统会自动进行算力的调度和分配,确保用户可以高效地调用所需的模型。因为模型都会部署在一个以上的算力集群之上,假如某个算力集群发生故障时,系统会自动切换到其他可用的算力集群,确保模型调用的稳定性和可靠性。 + +**推荐用户优先选择全模型资源包**。 + +### 算力资源包 + +与全模型资源包不同的是,算力资源包是指单个计算集群上的模型服务包。例如在 `沐曦集群` 部署了 50 个模型,那么当您购买的是沐曦算力资源包,就只能使用这 50 个模型。 + +## 计费点 + +模力方舟的计费点包括模型资源包以及 [模型微调服务](../products/training/price)。 + +## 统计与日志 + +在模力方舟的工作台中,您可以查看资源使用情况和调用日志: + +- **用量统计**:查看 Serverless API 调用的宏观数据统计,了解资源使用的核心指标分布。 [查看用量统计]({{SITE_URL}}/dashboard/statistics/usage-statistics) +- **使用日志**:提供资源调用的细粒度行为记录,支持按条件筛选,精准定位每一次 API 调用的详细信息。[查看使用日志]({{SITE_URL}}/dashboard/statistics/usage-logs) diff --git a/docs/billing/invoice.md b/docs/billing/invoice.md new file mode 100644 index 0000000000000000000000000000000000000000..5deb109308b58dcebb514ecdd9dd1dd86beaddb3 --- /dev/null +++ b/docs/billing/invoice.md @@ -0,0 +1,31 @@ +--- +sidebar_position: 2 +--- + +# 如何开具发票 + + + +## 前提条件 +- **订单状态要求**:仅支持已完成订单中所支付的现金金额开具发票,订单状态为待支付、待审核、已取消的不可开具发票;产生退款的订单不支持开具发票,开具发票后的订单不支持退款。 +- **金额类型要求**:仅支持对已完成的订单开具发票,交易未完成、订单状态为待支付、准备中、待审核时不可开票;增值税普通发票、增值税专用发票仅支持申请电子版。 +- **信息准备**:开具前需先在「发票信息管理」内确认发票信息(如发票抬头、邮箱等);增值税专用发票需上传营业执照和一般纳税人证明。 + +## 操作步骤 +1. **选择订单**:进入 [发票管理首页]({{SITE_URL}}/dashboard/billing/invoices),点击右上角 [开具发票]({{SITE_URL}}/dashboard/billing/invoices/apply) + + 选择符合条件的已完成订单(可查看订单号、服务、产品、扣款时间、支付金额等信息)。 + + ![invoice01](../../static/img/billing/invoice01.jpg) + +2. **申请开票**:选择订单提交申请后,进入「申请开票」页面(修改发票信息时也可进入此页面)。表单会读取「发票信息管理」中的内容,可在页面修改但不影响原存储信息,需与财务核实开票类型和信息(一经开票无法更换)。 + + ![invoice02](../../static/img/billing/invoice02.jpg) + +3. **提交与发送**:确认信息无误后提交申请,电子发票将在 7-15 个工作日内发送至提交时填写的邮箱,可前往邮箱搜索 “深圳市奥思” 查阅。 + +## 其他注意事项 +- 待审核或已拒绝的开票记录,可修改信息后申请重开。 +- 发票管理页面可查询开票余额、历史开票记录(含开票中、已开票、退票中等状态),并支持查看发票详情。 + + ![invoice03](../../static/img/billing/invoice03.jpg) \ No newline at end of file diff --git a/docs/billing/overview.assets/image-20241204191721197.png b/docs/billing/overview.assets/image-20241204191721197.png deleted file mode 100644 index 4f77407fb82d546c94adc9fe0cbb742c25f7fa33..0000000000000000000000000000000000000000 Binary files a/docs/billing/overview.assets/image-20241204191721197.png and /dev/null differ diff --git a/docs/billing/overview.md b/docs/billing/overview.md deleted file mode 100644 index fd70b1b02f5afc6d63ce6fefc1720071b5876f4a..0000000000000000000000000000000000000000 --- a/docs/billing/overview.md +++ /dev/null @@ -1,8 +0,0 @@ -# 计费概述 -GiteeAI 目前有三种付费资源类型,分别是:**Serverless API**、**模型引擎**、**应用**。 - -Serverless API 按照调用次数付费。您需要提前购买资源包,详情参考 [Serverless API 资源包](/billing/resource_package)。 - -模型引擎、应用 按照您占据资源的时间付费,不同的资源价格单位时间价格不同。 - -![image-20241204191721197](./overview.assets/image-20241204191721197.png) diff --git a/docs/billing/purchase.md b/docs/billing/purchase.md new file mode 100644 index 0000000000000000000000000000000000000000..ac428ef511a079522d943fa4c98730cf88d4faeb --- /dev/null +++ b/docs/billing/purchase.md @@ -0,0 +1,91 @@ +--- +sidebar_position: 1 +--- + +# 购买模型资源包 + +## 简介 + +模力方舟模型资源包是平台为满足用户在各类场景下使用模型的需求而提供的预付费模型调用服务包,可用于 Serverless API 调用等付费场景,支持全模型覆盖及特定算力场景,购买后立即生效,自动抵扣调用费用,直至资源包用完或到期。 + +资源包类型包括: + +- **全模型资源包**:覆盖平台所有可用模型,调用时自动匹配最优算力,无需手动选择,适合大多数通用场景; +- 算力资源包:如沐曦资源包、天数智芯资源包等,仅支持对应厂商的算力及模型,需手动绑定令牌使用。 + +## 全模型资源包 + +### 核心优势 + +- **全模型覆盖**:支持平台所有Serverless API模型(如文本生成、图像识别、视频生成等),无需单独购买多个资源包; +- **自动选算力**:调用时根据模型类型、任务复杂度自动匹配最优算力(如沐曦·曦云C系列、天数智芯·天垓系列等),无需手动指定; +- **灵活抵扣**:无论调用何种模型或算力,均从全模型资源包余额中统一扣费,简化管理。 + +### 购买入口 + +直接访问:[全模型资源包购买页]({{SITE_URL}}/serverless-api/order?package=1910) ,选择购买方(个人/组织)和购买金额 + +![image](../../static/img/purchase/purchase03.png) + +点击下一步,会按照支付优先级依次抵扣 + +![image](../../static/img/purchase/purchase05.png) + +### 创建订单并付款 + +支付成功后,可在 [订单管理]({{SITE_URL}}/dashboard/billing/orders) 查看订单详情,包括订单号、购买时间、支付金额、资源包信息等。 + +## 算力资源包 + +### 选择资源包 + +访问 [AI 模型广场]({{SITE_URL}}/serverless-api) ,可通过在线体验了解推理效果,并选择不同 API 及算力上的效果挑选适合自己需求的资源包。 + +![image](../../static/img/purchase/purchase04.png) + +### 购买资源包 + +体验满意后,点击页面右上方 “购买” 按钮,选择资源包归属(个人或组织)及购买金额,支持自定义金额。 + +![image](../../static/img/purchase/purchase02.png) + +### 创建订单并付款 + +支付成功后,可在 [订单管理]({{SITE_URL}}/dashboard/billing/orders) 查看订单详情,包括订单号、购买时间、支付金额、资源包信息等。 + +## 令牌管理与调用 + +访问令牌是调用模力方舟 API 的身份凭证,与资源包授权、调用密切相关,详细规则可查看 **[访问令牌文档](/docs/organization/access-token)** + +## 资源包续费与选择策略 + +### 资源包续费流程 + +用户可进入 [**模型资源包管理页面**]({{SITE_URL}}/dashboard/serverless) 页面,查看对应模型资源包的调用详情及剩余天数,若需续费,点击对应资源包的「续费」按钮,按购买流程重新选择金额完成支付即可,续费后有效期将重置计算。 + +### 资源包选择策略 + +不同资源包对应**不同厂商算力**,支持的模型范围、价格存在差异,选择建议如下: + +#### 优先推荐:全模型资源包 + +- **核心优势**:覆盖平台**所有可用模型**,调用时自动匹配最优算力(无需手动指定),一次购买即可满足多场景需求,灵活度最高。 +- **购买入口**:直接点击 [**全模型资源包购买**]({{SITE_URL}}/serverless-api/order?package=1910) 快速下单。 + +#### 特定场景可选:厂商专属资源包 + +仅在**持有对应算力券**时建议选择(如“沐曦算力券”“天数智芯算力券” ): + +- **价值**:算力券可抵扣资源包费用(如 100 元算力券直接抵扣对应厂商资源包 100 元支出 ),降低成本; +- **限制**:无算力券时,专属资源包仅支持单一厂商算力,会**限制模型使用范围**,灵活性远低于全模型资源包,不建议单独购买。 + +### 参考文档 + +- **模型与算力对应关系**:查看 [模型广场(Serverless API)](../products/apis) ,了解不同厂商资源包支持的模型; +- **资源包价格详情**:访问 [模型广场]({{SITE_URL}}/serverless-api) ,对比各资源包的价格与权益。 + +## 其他注意事项 + +- 模型资源包默认有效期为一年,若需延长有效期,可参照 [资源包续费流程](/billing/purchase.md#资源包续费流程) 进行续费。 +- 请妥善保管好自己的账户信息,避免账户被盗用导致资源包被非法使用。 +- 如需开具购买模型资源包的发票,可按照平台的 [发票开具流程](invoice.md) 进行申请。 diff --git a/docs/billing/resource_package.assets/image-20241205114119697.png b/docs/billing/resource_package.assets/image-20241205114119697.png deleted file mode 100644 index d52832dc0b53de5be6e10147686a2c1890f8422f..0000000000000000000000000000000000000000 Binary files a/docs/billing/resource_package.assets/image-20241205114119697.png and /dev/null differ diff --git a/docs/billing/resource_package.md b/docs/billing/resource_package.md deleted file mode 100644 index d500fceb406f888f8e87387e0db75cb3ddb91fbb..0000000000000000000000000000000000000000 --- a/docs/billing/resource_package.md +++ /dev/null @@ -1,16 +0,0 @@ -# Serverless API 资源包 - -## 简介 - -Serverless API 资源包是用于抵扣 Serverless API 调用费用的预付费资源包。 - -资源包目前包括全模型资源包、天数智芯资源包、沐曦资源包等等。 - -![image-20241205114119697](./resource_package.assets/image-20241205114119697.png) - -不同的资源包背后的算力不同,支持的模型和对应的价格也不一样。 - -如果您不知道如何选择,可以**直接使用全模型资源包**,全模型资源包覆盖所有可用模型并自动选择算力。 - -目前不同厂商及其支持的Serverless API模型您可以参考文档[Serverless API模型概览](../ability/serverless-api.mdx)。 -价格可以参考资源包的[详情页面]({{SITE_URL}}/serverless-api)。 diff --git a/docs/contact.md b/docs/contact.md deleted file mode 100644 index 750a1eded593116b4187311075186f27d569b0e8..0000000000000000000000000000000000000000 --- a/docs/contact.md +++ /dev/null @@ -1,7 +0,0 @@ -# 联系我们 - -如果您在使用过程中遇到问题,或者有任何建议和意见,欢迎通过以下方式联系我们。 - -![微信二维码](/img/contact/contact_qrcode.jpg) - -欢迎您的反馈,并会尽快回复您的微信消息。 \ No newline at end of file diff --git a/docs/engines/model-engine.md b/docs/engines/model-engine.md deleted file mode 100644 index 75455eb706f595babae38369361febc3dc20fab3..0000000000000000000000000000000000000000 --- a/docs/engines/model-engine.md +++ /dev/null @@ -1,31 +0,0 @@ -# 模型引擎 - -通过模型引擎,您可以在一个专门的、完全托管的基础架构上轻松部署 Transformers、Diffusers 或其他任何模型。利用我们安全、合规且灵活的生产级解决方案,帮助您降低成本。 - -## 创建模型引擎 - -登录后,您可以通过首页“解决方案”的“模型引擎”选项卡,进入到页面。 - -![alt text](/img/engines/model-engine/engine_model.png) - -### 1.选择模型并为您的引擎命名 - -![alt text](/img/engines/model-engine/model_1.png) - -### 2.选择您的云供应商以及具体的硬件配置 - -![alt text](/img/engines/model-engine/image-1.png) - -如果需要使用其他云供商或有其他的硬件要求,请[联系我们](https://gitee.com/gitee-ai/feedback/issues/new?title=%E6%A8%A1%E5%9E%8B%E5%BC%95%E6%93%8E%E9%9C%80%E6%B1%82)。 - -### 3.选择您的引擎的安全保护等级 - -![alt text](/img/engines/model-engine/image-2.png) - -### 4.点击新建模型引擎 - -![alt text](/img/engines/model-engine/image-3.png) - -### 5.等待引擎对模型进行构建、初始化和运行,整个过程可能需要几分钟。 - -![alt text](/img/engines/model-engine/image-4.png) diff --git a/docs/engines/model.md b/docs/engines/model.md deleted file mode 100644 index 5f017f60057b9f4228410038198bb593d90a41bc..0000000000000000000000000000000000000000 --- a/docs/engines/model.md +++ /dev/null @@ -1,66 +0,0 @@ -# 部署模型到 Gitee AI 算力 - -本教程将以模型 [stabilityai/stable-diffusion-2-base]({{SITE_URL}}/hf-models/stabilityai/stable-diffusion-2-base) 为例,逐步讲解如何将模型部署到 Gitee AI 算力上并用于图像生成。 - -## 1. 新建模型引擎的两个入口 - -### 从导航栏进入 - -点击导航栏中的「解决方案」菜单,点击「模型引擎」进入模型引擎页面,然后点击右侧的「+新建模型引擎」按钮: - -![step1-1](/img/engines/model-engine/getting-started/step1-1.png) - -### 从模型主页进入 - -您可以在模型页面中通过筛选找到 [stabilityai/stable-diffusion-2-base]({{SITE_URL}}/hf-models/stabilityai/stable-diffusion-2-base) : - -![step1-2](/img/engines/model-engine/getting-started/step1-2.png) - -点击它的资料卡片进入主页了解详细信息,然后在「部署」菜单中点击「模型引擎」以将它部署为模型引擎。 - -![step1-3](/img/engines/model-engine/getting-started/step1-3.png) - -## 2. 填入模型名称和您的模型引擎名称 - -![step2](/img/engines/model-engine/getting-started/step2.png) - -## 3. 选择您的算力资源配置 - -选择算力供应商、区域以及资源类型。 - -![step3](/img/engines/model-engine/getting-started/step3.png) - -该界面展示了每种算力的配置和每小时单价,您可以根据模型的算力需求和预算选择合适的算力。 - -## 4. 自定义您的模型引擎 - -目前可自定义的配置有: - -- **版本:** 可填入模型的 Git 仓库中的分支名、标签名和提交(commit sha)。未指定版本时,模型引擎会从模型仓库的主分支上拉取最新的文件。 -- **任务:** 在您选择模型后,该配置项会自动变更为合适的任务,如果您选择的模型支持多种任务且想使用其它任务,则可以更改该配置项。 - -![step4](/img/engines/model-engine/getting-started/step4.png) - -## 5. 创建您的模型引擎 - -点击「新建模型引擎」按钮。 - -![step5](/img/engines/model-engine/getting-started/step5.png) - -## 6. 等待模型引擎下载模型、初始化和运行 - -模型引擎从创建到运行会经历三个阶段:等待分配算力资源、下载模型仓库、加载模型。等待时间取决于模型的大小,对于比较大的模型,大部分时间会花费在模型下载上,您可以参考服务器信息中的下载进度来了解大概的剩余等待时间。 - -![step6](/img/engines/model-engine/getting-started/step6.png) - -## 7. 测试您的模型引擎 - -在「文本转图像」界面中输入任意提示词然后点击运行即可测试模型引擎的运行效果。 - -![step7](/img/engines/model-engine/getting-started/step7.png) - -## 8. 在您的应用程序中调用模型引擎 - -模型引擎是以 API 的形式提供服务的,您可以参考「调用示例」中给出的示例代码为您的应用程序添加模型引擎的调用能力。 - -![step8](/img/engines/model-engine/getting-started/step8.png) diff --git a/docs/getting-started.md b/docs/getting-started.md new file mode 100644 index 0000000000000000000000000000000000000000..e782f0d76314c70311d71232a87606ffbd5b4175 --- /dev/null +++ b/docs/getting-started.md @@ -0,0 +1,72 @@ +--- +title: 新手入门 +description: 本篇文档将引导您完成从注册账号到首次成功通过 API 调用一个开源大模型的全过程,帮助您快速上手,感受 AI 的强大能力。 +sidebar_position: 2 +hide_table_of_contents: true +--- + +# 新手入门 —— 快速体验开源大模型 + +欢迎来到模力方舟!本篇文档将引导您完成从注册账号到首次成功通过 API 调用一个开源大模型的全过程,帮助您快速上手,感受 AI 的强大能力。 + +## 第一步:注册并登录账号 + +要使用模力方舟的各项功能,您首先需要一个账号。 + +1. 访问 [**模力方舟**]({{SITE_URL}}) 并点击右上角的“登录”按钮。 +2. 将引导您使用 Gitee 账号登录,如果您没有 Gitee 账号,请先 [注册](https://gitee.com/signup) 。 +3. 完成登录后,系统将您引导至控制台。每个账号每天可以免费调用各种模型,共 **100** 次。 + +## 第二步:在线体验模型 + +我们提供了一个“模型广场”,您可以在浏览器中直接与上百种热门的开源大模型进行交互,无需任何编程。 + +1. 在页面顶部的导航栏中,找到并点击 [**模型广场**]({{SITE_URL}}/serverless-api)。 +2. 在模型广场中,您可以看到各种类型的模型,如 `DeepSeek`、 `Qwen`、`Stable Diffusion` 等。 +3. 选择一个您感兴趣的文本生成模型,例如 **DeepSeek-R1**,点击进入 [模型体验]({{SITE_URL}}/serverless-api?model=DeepSeek-R1&tab=info)。 +4. 在详情页的右侧,您首先会看到模型的基本介绍、接口、定价等信息,点击 **在线体验** 按钮,就会看到一个对话界面。在输入框中输入您的问题或指令,例如:“请帮我写一首关于春天的五言绝句”,然后点击“发送”。 +5. 稍等片刻,模型就会生成回应。恭喜您,您已经成功与一个大模型进行了交互! + +![模型在线体验](../static/img/serverless-api/use.jpg) + +## 第三步:使用 API 调用模型 + +虽然在线体验非常方便,但对于开发者来说,直接通过 API 调用模型更为灵活。模力方舟提供了 OpenAI 兼容的接口,您可以在自己的应用中集成模型能力。 + +1. 在模型体验页中,找到 **API** 部分,您会看到一个示例代码片段。 + ![模型在线体验](../static/img/serverless-api/api.jpg) +2. 复制示例代码,并将代码中 `api_key` 替换成您自己的令牌([创建令牌](/docs/organization/access-token)),接下来就可以在自己的 Python 环境中运行。 +3. 关于 API 的更多细节,您可以参考 [API 文档](/docs/openapi/v1)。 +4. 一个最简单的 Python 调用大模型的示例代码: + +```python showLineNumbers title="python" +import requests + +url = "{{SITE_URL}}/v1/chat/completions" +headers = { + "Authorization": "Bearer ", + "Content-Type": "application/json" +} +data = { + "model": "DeepSeek-R1", # 模型名称 + "messages": [ + {"role": "user", "content": "请帮我写一首关于春天的五言绝句"} + ], + "max_tokens": 100, # 最大生成 token 数 + "temperature": 0.7 # 控制生成文本的随机性 +} +response = requests.post(url, headers=headers, json=data) +if response.status_code == 200: + result = response.json() + print("模型回应:", result['choices'][0]['message']['content']) +else: + print("请求失败,状态码:", response.status_code, "错误信息:", response.text) +``` + +## 接下来 + +您已经掌握了在模力方舟上体验和运行模型的基本方法。接下来,您可以探索更高级的功能: + +- [**体验更多的模型**](./products/apis):体验多达十几个类别的模型,了解如何通过标准 API 在您自己的应用程序中集成模型能力。 +- [**模型微调**](./products/training):学习如何使用您自己的数据来微调一个基础模型,使其更适应您的特定任务。 +- [**发布到 AI 应用市场**](./appstore/create-app):如何开发一个 AI 应用,并发布到 AI 应用市场。 diff --git a/docs/getting-started/app.md b/docs/getting-started/app.md deleted file mode 100644 index 7899c23bb41934c55a263f02655a8b3e589593b7..0000000000000000000000000000000000000000 --- a/docs/getting-started/app.md +++ /dev/null @@ -1,197 +0,0 @@ -# 快速开发古诗词生成器 - -## 应用简介 - -- 使用应用,借助 AI 模型能力,您可以构建一个创意十足、功能强大的 Web 程序。 -- Gitee AI 的应用可以自由编写任何程序,您可以选择预设的 Streamlit 和 Gradio 常用的 SDK。您也可以使用 Dockerfile 来高度自定义运行环境。 -- 您可以通过 transformers 、diffusers 库加载 [Gitee AI 模型]({{SITE_URL}}/models),也可以使用 HTML、JS 等任意编程语言构建界面、调用 [Gitee AI 模型引擎]({{SITE_URL}}/endpoints) 或其他渠道提供的 API 服务。 -- 在线部署后,可通过浏览器直接访问、分享您的应用、推广您自己的模型、创意,而无需考虑服务器、算力资源、域名、部署等复杂繁琐问题。 - -[前往新建应用!]({{SITE_URL}}/apps/new) - -## Hello Gitee AI! - -##### 1. 新建应用 - -前往[新建应用]({{SITE_URL}}/apps/new)界面,填写应用名称、地址、这里选择应用 SDK 为 Gradio, 这里选择免费 2 核 4G 算力,最后点击“新建应用”。 - -> SDK 说明: -> -> - Gradio:您的应用将预设一个 Gradio,它是一个 Python 库,常用于快速构建 AI 应用的用户界面。 **您的程序需要 app.py 作为入口,并运行在 7860 端口**。 -> - Streamlit:您的应用将预设一个 **Streamlit**,它是一个 Python 库,常用于快速构建数据应用的用户界面。**您的程序需要 app.py 作为入口,并运行在 7860 端口**。 -> - Docker:您可以使用 Dockerfile 来高度自定义您的应用。**您的程序需要运行在 7860 端口**。 -> - Static:纯前端的浏览器程序,您可以上传静态文件,如 HTML、JS、CSS 等,**以 index.html 作为程序入口**,常用于使用 JS 调用 API 服务,构建 AI 应用。 - -![新建应用](../apps/getting-started/new-app.png) - -##### 2. 应用初始界面 - -新建应用后,您将看到应用的初始界面,您可以在这里查看您的应用信息、代码、git 仓库信息、日志、设置等。 - -![gradio没有入口文件](../apps/getting-started/app-no-app-file.png) - -- 您可以选择 git 克隆代码仓库到本地,编写代码后推送到 Gitee AI 仓库,或者直接在"文件" 中在线编辑代码。本次教程使用 git 克隆。 - -执行 `git clone git@{{SITE_URL}}:stringify/Hello_Gitee_AI` 将仓库克隆到您的设备。 - -> 使用 SSH 克隆,如未配置 Gitee SSH 公钥,请 [前往添加 Gitee SSH 公钥](https://gitee.com/profile/sshkeys) - -##### 3. 创建入口文件、提交文件到 Gitee AI - -在代码仓库根目录下创建 app.py 文件,写入以下代码: - -```python -import gradio as gr -def greet(name): - return "Hello " + name + "!!" - -demo = gr.Interface(fn=greet, inputs="text", outputs="text") -demo.launch(server_name='0.0.0.0', server_port=7860) -``` - -提交并推送代码到 Gitee AI 仓库 - -```git -git add app.py -git commit -m "创建 app.py 文件" -git push -``` - -##### 4. 应用代码更新提示 - -应用代码已推送到 Gitee AI,刷新界面,顶部会看到提示重启应用 - -> 重启应用后,您的应用将重新构建、部署,您可以在日志中查看相关信息。 -> 修改代码或出现系统异常后,您也可以进入**设置-功能**界面,点击出厂重启,更新应用。 - -![重启提示](../apps/getting-started/app-restart.png) - -##### 5. 点击立即重启 - -稍等片刻,您的应用将部署,您可以在日志中查看部署进度。 - -> 代码更新后,重启应用将进入 `Building ` 状态,稍等片刻刷新页面可看应用状态显示 `Running on CPU`,即启动成功。 - -- 应用状态说明: - - | 状态名称 | 描述 | - | --------------------- | ------------------------------------------------ | - | No_app_file | 应用没有入口文件 | - | Building | 应用正在拉取代码、构建中 | - | Readying | 应用正在准备中,可能是正在执行仓库代码、下载模型 | - | Running on CPU | 应用运行在 CPU 算力上 | - | Running on Nvidia A10 | 应用运行在 Nvidia A10 显卡算力上 | - | Pending | 应用正在等待中,可能是正在分配资源中、资源不足 | - | Paused | 用户手动暂停应用 | - | Stopped | 应用异常停止,可能是系统或代码出现异常 | - | Runtime_error | 应用运行时出现错误,可能是代码或系统错误 | - | SLEEPING | 应用休眠中,满足休眠倒计时 | - -![应用日志](../apps/getting-started/app-log.png) - -##### 6. 应用部署成功!查看应用界面: - -![Alt text](../apps/getting-started/app-running.png) - -## 中文古诗生成器 - -前面只是小试牛刀,现在尝试真正的 AI 能力: - -##### 1. 修改 app.py 代码 - -现在,您可以尝试使用 Gitee AI 模型库中的模型,如中文古诗生成器,将下面代码替换到 app.py 中: - -```python -import torch # 导入 PyTorch 库,用于深度学习任务。 -import gradio as gr # 导入Gradio库,用于构建交互式界面。 -import torch.nn.functional as F -from transformers import BertTokenizer, GPT2LMHeadModel # 从transformers库中导入BertTokenizer和GPT2LMHeadModel,用于自然语言处理和文本生成任务。 - -# Gitee AI 支持 transformers diffusers 等库,您可以直接使用 Gitee AI 模型库中的模型,前往 {{SITE_URL}}/models 查看更多模型。您也可以使用其他方式下载模型(例如 git 克隆、其他源下载) -tokenizer = BertTokenizer.from_pretrained("hf-models/gpt2-chinese-poem") # 用预训练的 BertTokenizer 加载中文诗歌生成模型的tokenizer。 -model = GPT2LMHeadModel.from_pretrained("hf-models/gpt2-chinese-poem") # 使用预训练的GPT-2模型加载中文诗歌生成模型。 -model.eval() # 将模型设置为评估模式,保证推理阶段的一致性、稳定性和效率。评估模式与训练模式相对应。 - -# 定义了一个函数,用于对模型输出的logits进行top-k和top-p过滤: -# 确保在生成文本时,只有概率最高的几个token被考虑,提高生成文本的质量和连贯性。 -def top_k_top_p_filtering(logits, top_k=0, top_p=0.0, filter_value=-float('Inf')): - assert logits.dim() == 1 - top_k = min(top_k, logits.size(-1)) - if top_k > 0: - indices_to_remove = logits < torch.topk(logits, top_k)[0][..., -1, None] - logits[indices_to_remove] = filter_value - if top_p > 0.0: - sorted_logits, sorted_indices = torch.sort(logits, descending=True) - cumulative_probs = torch.cumsum(F.softmax(sorted_logits, dim=-1), dim=-1) - sorted_indices_to_remove = cumulative_probs > top_p - sorted_indices_to_remove[..., 1:] = sorted_indices_to_remove[..., :-1].clone() - sorted_indices_to_remove[..., 0] = 0 - indices_to_remove = sorted_indices[sorted_indices_to_remove] - logits[indices_to_remove] = filter_value - return logits -# 定义了生成函数,接受一个输入文本,然后利用 AI 模型生成新文本。 -def generate(input_text): - input_ids = [tokenizer.cls_token_id] - input_ids.extend( tokenizer.encode(input_text, add_special_tokens=False) ) - input_ids = torch.tensor( [input_ids] ) - generated = [] - for _ in range(100): - output = model(input_ids) - next_token_logits = output.logits[0, -1, :] - next_token_logits[tokenizer.convert_tokens_to_ids('[UNK]')] = -float('Inf') - filtered_logits = top_k_top_p_filtering(next_token_logits, top_k=8, top_p=1) - next_token = torch.multinomial( F.softmax(filtered_logits, dim=-1), num_samples=1 ) - if next_token == tokenizer.sep_token_id: - break - generated.append( next_token.item() ) - input_ids = torch.cat((input_ids, next_token.unsqueeze(0)), dim=1) - return input_text + "".join( tokenizer.convert_ids_to_tokens(generated) ) -examples = [["不堪翘首暮云中"], ["开源中国"], ["行到水穷处"], ["王师北定中原日"] ,["雪"], ["海上升明月"], ["十年磨一剑"]] - -# 创建一个 Gradio 接口,用于接收用户输入,调用 generate 函数生成文本,并返回生成的文本。Gradio 默认启动到 7860 端口。 -if __name__ == "__main__": - gr.Interface(fn=generate, inputs="text", outputs="text",examples=examples).queue().launch() -``` - -##### 2. 添加 requirements.txt 文件 - -app.py 代码除了使用到您选择的预设 SDK 中的 Gradio, 还使用到其他库。 -在代码仓库根目录下创建 requirements.txt 文件,写入以下代码提交到仓库: - -``` ---extra-index-url https://mirrors.cloud.tencent.com/pypi/simple -torch -transformers -``` - -您也可以自定义依赖库版本。Gitee AI 加速依赖下载默认使用了镜像源,您也可自定义替换为其他源: - -``` ---extra-index-url https://mirrors.cloud.tencent.com/pypi/simple -gradio==4.26.0 -torch -transformers -``` - -##### 3. 更新代码后点击页面顶部的"立即重启"按钮或进入设置-功能界面点击"出厂重启",即可查看应用效果。 - -输入 `十年磨一剑` AI 输出 `十年磨一剑,未试请长缨。马上高歌起,风尘事不平。` - -![中文诗生成器](../apps/getting-started/app-poem.png) - -在此示例中,您已经成功构建了一个中文古诗生成器应用!您还可以进入应用设置中升级硬件配置、调整应用信息、添加环境变量、秘钥等。 - -## 更多应用示例 - -- [应用首页]({{SITE_URL}}/apps) -- [文生文: 中文古诗生成器,Gradio + CPU]({{SITE_URL}}/apps/stringify/gpt2-chinese-poem-app/tree/master) -- [文生图: SD3 中文提示词 ,Gradio + GPU + API]({{SITE_URL}}/apps/stringify/stable-diffusion-3-medium-mr100/tree/master) -- [文生图: Animagine-xl,Gradio + GPU]({{SITE_URL}}/apps/stringify/Animagine-xl-bi100/tree/master) -- [对话: Llama3-70b-chinese-chat, Gitee AI Serverless API]({{SITE_URL}}/apps/stringify/Llama3-70b-chinese-chat-serverless) -- [语音合成: ChatTTS,Gradio + GPU]({{SITE_URL}}/apps/stringify/ChatTTS-bi100/tree/master) -- [文生图: SDXL-Turbo,Gradio + GPU]({{SITE_URL}}/apps/stringify/sdxl-iluvatar/tree/master) -- [物体检测: 静态页面 Static]({{SITE_URL}}/apps/stringify/static-app_object-detection/tree/master) -- [对话:glm4-chat,Gradio + GPU]({{SITE_URL}}/apps/stringify/glm4-chat-9b/tree/master) -- [图生文: Gradio + CPU]({{SITE_URL}}/apps/stringify/vit-gpt2-image-captioning/tree/main) -- [在线工具:jupyter-lab,Dockerfile]({{SITE_URL}}/apps/stringifygroup/jupyter-lab/tree/master) -- [livebook: Dockerfile]({{SITE_URL}}/apps/edmondfrank/livebook/tree/master) diff --git a/docs/getting-started/enroll-as-an-app-developer.md b/docs/getting-started/enroll-as-an-app-developer.md deleted file mode 100644 index 44213a799918a80a67ac53fd0ec6bf87c9192e09..0000000000000000000000000000000000000000 --- a/docs/getting-started/enroll-as-an-app-developer.md +++ /dev/null @@ -1,42 +0,0 @@ -# 成为应用开发者(内测) - -## 1. 注册并登录模力方舟(Gitee AI) - -- 访问 {{SITE_URL}}/ 并点击右上角登录 -- 使用 Gitee 账号登录,如果您没有 Gitee 账号,请先[注册后再登录](https://gitee.com/signup) - -## 2. 获取个人空间地址并开通应用开发内测 - -- 访问您的[个人信息]({{SITE_URL}}/dashboard/settings/profile)设置页面 -- 复制**个人空间地址**,将**个人空间地址**发送给官方人员,我们将尽快为您开通应用开发内测资格 - -![个人空间地址](/img/getting-started/overview/enroll-as-an-app-developer/namespace.png) - -## 3. 创建应用 - -![创建应用](/img/getting-started/overview/enroll-as-an-app-developer/create-app.gif) - -## 4. 在您的应用里集成 SDK - -- 点击应用右侧的 “管理” 进入详情页,复制 APPID 以便使用应用开发相关的 API - ![集成 SDK](/img/getting-started/overview/enroll-as-an-app-developer/sdk-integration.gif) -- 前往[访问令牌]({{SITE_URL}}/dashboard/settings/tokens)页面,获取名为 `App market access token` 的应用访问令牌,该令牌将使用在 API 的 `Authorization` 请求头里,例如: - ```bash - curl {{SITE_URL}}/v1/app \ - --header 'Authorization: Bearer YOUR_SECRET_TOKEN' - ``` -- 访问接口文档,查看应用开发[相关接口]({{SITE_URL}}/docs/openapi/v1#tag/%E5%BA%94%E7%94%A8/GET/app) - -## 5. 常见问题 - -- 应用平台的 API 能做什么? - 1. 帮助应用快速接入支付能力进行变现 - 2. 支持灵活的付费策略定制 - 3. 支持用户手机号登录并购买您定义的套餐并恢复购买之前的套餐 - 4. 用户购买套餐后将产生 token 用于模型接口的调用,推理接口请参考示例和 API 文档 -- 支持哪些应用形式? - 我们推荐先在桌面应用、网站应用中集成,当然 iOS/Android/小程序等也可以接入 -- 开发应用时我需要为平台付费吗? - 为了能向您的应用用户提供 AI 能力,需要您购买一定数量的模型资源包,当用户在您应用中调用模型接口时,将直接从您购买的模型资源包里扣费,推荐购买全模型资源包享受更多模型选择。 -- 如何获得收入? - 您可以在工作台的应用详情里查看到收入情况,我们的收益抽成比例是 15%,例如:您的总收入是 100 元,实际能提现的收入则是 85 元。 diff --git a/docs/getting-started/intro.md b/docs/getting-started/intro.md deleted file mode 100644 index df576716bc8382d72bf185a437659ff7b937e3e5..0000000000000000000000000000000000000000 --- a/docs/getting-started/intro.md +++ /dev/null @@ -1,44 +0,0 @@ -# 介绍 - -[模力方舟(Gitee AI)]({{SITE_URL}}),以下简称 Gitee AI,汇聚了最新最热的 AI 模型,提供模型体验、推理、微调和应用的一站式服务,我们提供了丰富的算力选择,希望帮助企业和开发者更容易地开发 AI 应用。 - -Gitee AI 是基于 Git 代码托管技术开发的针对 AI 应用场景的开源平台,基于 Gitee 多年在 Git 代码和 LFS 大文件托管方面的技术积累,我们为用户提供了快速、稳定的模型托管服务,让您轻松的分享和下载开源模型、数据集和 AI 应用,在此基础上我们目前构建了三个核心功能:Serverless API、应用、微调,为您提供一站式的 AI 应用开发服务。 - -Gitee AI 通过 Gitee 账号登录,如果您还没有 Gitee 账号,请先[注册 Gitee 账号](https://gitee.com/signup?redirect_to_url={{SITE_URL}})。 - -注册成功后,您可以关注 [Gitee AI 的公众号](https://mp.weixin.qq.com/s/Yu7Ddb_bxqCamskZC0wloA)、加入用户交流群。 - -## 功能说明 - -### 模型托管 - -Gitee AI 上的模型、数据集和应用都基于 Git 仓库存储,依托 Gitee 多年积累的 Git 代码托管技术,我们为您提供了快速、稳定的托管和协作服务,让您轻松的分享和下载开源模型、数据集和应用。 - -#### 模型 - -您可以在 Gitee AI 上探索并使用大量由社区开源的模型。为了用户更有效地使用和开发模型,每个模型的仓库都配备了[模型卡片](/models/cards),详细介绍了该模型的局限性和存在的偏差。 - -这些模型的仓库还可以包含更多[元信息](/models/cards#元信息(metadata)),诸如模型的任务类型、支持的语言、相关指标。通过 Serverless API 页面,让其他人能更轻松的在线体验模型的能力(在模型页面[体验 DeepSeek-R1 模型]({{SITE_URL}}/hf-models/DeepSeek-R1/api)),方便快速地在产品原型中进行集成和测试。 - -您可以查阅[模型文档](/models),了解如何上传、下载或者将模型集成到自己的项目中。 - -#### 数据集 - -Gitee AI 收录了大量的数据集,这些数据集适用于自然语言处理(NLP)、计算机视觉和音频处理等多种领域的训练任务。 - -在平台上,您可以轻松地寻找、下载和上传数据集。平台上大部分数据集都是公开可用的,如果您有特定的许可证要求或需要隐私保护,您也可以创建私有数据集。 - -您可以查阅[数据集文档](/datasets)了解更多有关数据集的信息。 - -### Serverless API - -API 为开发者提供一个便捷的方式来调用不同种类的模型,无需关心底层的硬件或管理服务器。支持通过简单的 HTTP 请求在 Gitee AI 的共享基础设施上进行快速推理。 -您可以在 [Serverless API 选购页面]({{SITE_URL}}/serverless-api),浏览我们精选的模型,免费体验不同模型的生成效果,也可调用 API。 - -### 应用(内测) - -我们正在打造一个全新的应用平台,通过我们的 SDK 和 API 服务,快速让您的应用接入 AI 能力以及支付、订阅套餐等能力。平台将为您提供运营、数据分析等能力,帮助您更好地运营推广您的应用,查看[如何成为首批内测用户](/docs/getting-started/enroll-as-an-app-developer)。 - -### 模型微调 - -模型微调支持文生图和大语言模型,您可以上传自己的数据集,进行微调,并生成新的 LoRA 模型。LoRA 模型将保存在您的模型仓库中,您可以在 Serverless API 中动态加载微调后的 LoRA 模型。想了解更多,请查看[模型微调使用指南](/docs/training)。 diff --git a/docs/getting-started/try-opensource-model.md b/docs/getting-started/try-opensource-model.md deleted file mode 100644 index 99de2e57be42f0de171603b59b246cd8eec8608c..0000000000000000000000000000000000000000 --- a/docs/getting-started/try-opensource-model.md +++ /dev/null @@ -1,43 +0,0 @@ -# 一分钟体验开源大模型 - -Gitee AI 提供了大量的开源大模型供大家免费体验,您可以通过以下方式免费体验开源大模型: - -## 通过「模型引擎挂件」免费体验开源大模型 - -1. 点击访问 [模型列表]({{SITE_URL}}/models),您可以查看 Gitee AI 上所有公开的开源模型,您可通过筛选功能或关键词搜索找到您感兴趣的模型。 - - ![模型列表](/img/getting-started/overview/models.png) - - 当您找到感兴趣的模型后,点击模型卡片,进入模型详情页。 - -2. 在模型详情页,您可以查看该模型的详细信息,包括模型介绍、模型文件、点赞数、下载数等,帮助您快速了解模型。 - - ![模型详情](/img/getting-started/overview/model-detail.png) - - 在页面右侧,您可以看到该模型的「在线体验」功能。您可以点击示例进行切换,以查看模型的效果。此外,您也可以根据界面提示,输入合适的内容,亲身体验模型的效果。 - - 这里我们以 **stable-diffusion-2** 为例,在该模型中,您可以输入一句文字描述,让模型帮您生成对应的图片。 - - ![模型推理](/img/getting-started/overview/model-inference.png) - -## 通过「应用」免费体验开源大模型 - -1. 点击访问 [应用列表]({{SITE_URL}}/apps),您可以查看 Gitee AI 上所有公开的应用,您可通过搜索功能找到您感兴趣的应用。 - - ![应用列表](/img/getting-started/overview/apps.png) - - 当您找到感兴趣的应用后,点击应用卡片,进入应用详情页。 - -2. 在应用详情页,您可以查看该应用的应用展示、应用文件等,这里我们以 **chatglm3-6b** 为例,在该应用中,您可以输入文字与 AI 进行对话,体验 ChatGLM3-6B 模型的效果。 - - ![应用详情](/img/getting-started/overview/app-detail.png) - - 输入内容后,点击「Submit」按钮,AI 将会返回对应的回答。 - -## 通过「Serverless API」免费体验开源大模型 - -1. 点击访问[Serverless API 选购页面]({{SITE_URL}}/serverless-api)。 - -2. 您可以浏览我们精选的模型,点击体验,即可体验不同模型的生成效果,也可免费调用 API。 - -![alt text](/img/getting-started/overview/api.png) diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000000000000000000000000000000000000..f7fb0b6d525e295d92e266e154f5ecbd688d643d --- /dev/null +++ b/docs/index.md @@ -0,0 +1,144 @@ +--- +title: 文档中心 +sidebar_label: 快速导航 +description: 模力方舟 (Gitee AI) 是一个面向开发者、终端用户与产业场景的 AI 应用共创平台,提供高可用的模型 API 服务、 API 工作流、模型微调服务,帮助开发者打造可落地的 AI 应用,并与用户、行业场景形成商业闭环。 +sidebar_position: 1 +hide_table_of_contents: true +--- + +import { FaRocket } from 'react-icons/fa'; +import { MdDataset } from 'react-icons/md'; +import { FaDatabase } from 'react-icons/fa'; +import { PiGearFineBold } from 'react-icons/pi'; +import { IoStorefront } from 'react-icons/io5'; +import { FaRunning } from 'react-icons/fa'; +import { FaQuestionCircle } from 'react-icons/fa'; +import { MdFeedback } from 'react-icons/md'; +import { MdContactPhone } from 'react-icons/md'; + +# 模力方舟文档中心 + +模力方舟 (Gitee AI) 是一个面向开发者、终端用户与产业场景的 AI 应用共创平台,提供高可用的模型 API 服务、 API 工作流、模型微调服务,帮助开发者打造可落地的 AI 应用,并与用户、行业场景形成商业闭环。 + +
+ + +
+

+ + 快速上手 +

+
+
+ 从注册账号开始,快速体验模力方舟平台提供的最基本的功能。 +
+
+ + +
+

+ + 模型在线体验 +

+
+
+ 模力方舟提供十几个类别共一百多个模型的在线体验,您可以通过浏览器快速体验这些模型。 +
+
+ + +
+

+ + AI 应用市场 +

+
+
+ 为AI应用从“开发→上架→展示→变现”全流程服务,实现从创意到产品、从产品到用户的完整闭环。 +
+
+ + +
+

+ + 模型微调 +

+
+
+ 提供包括文本生成以及文生图的微调支持(Qwen2.5\Qwen3\SDXL\Flux等),使用简单方便。 +
+
+ + +
+

+ + 模型库 +

+
+
+ 模力方舟镜像了一万多全球最热门的开源大模型,方便您进行模型浏览与下载。 +
+
+ + +
+

+ + 数据集 +

+
+
+ 提供一万多个热门开源数据集,覆盖文本、图像、语音以及各个行业的数据。 +
+
+ +
+ +## 社区交流 + + + +:::info 文档贡献奖励 +欢迎大家帮我们完善模力方舟的使用指南,如果您提交的 Pull Request 被合入,我们将根据合并内容的重要性予以代金券奖励。 +贡献方法:点击发现问题的文档页面底部的 `编辑此页` 链接。 +::: diff --git a/docs/models.md b/docs/models.md deleted file mode 100644 index 821760069fb157e2ad9366de9d95b9790a8fc605..0000000000000000000000000000000000000000 --- a/docs/models.md +++ /dev/null @@ -1,15 +0,0 @@ -# 模型 - -我们托管了上千个 HuggingFace 上最受欢迎、下载量最大的模型,并持续更新中。 - -![alt text](/img/base/models.png) - -## 分类 - -我们将这些模型按照任务类型、框架、语言等维度进行了分类,方便用户快速查找和使用。同时我们提供了强大的搜索,您可以通过关键词来搜索标题、描述来寻找感兴趣的模型。 - -## 专区 - -我们建立了**国产大模型**、**AI 编程**以及**国产 GPU 厂商**的模型专区,这些专区汇聚了行业内最新最受欢迎的大模型。 - -关于 GPU 厂商专区,我们跟国内领先的 GPU 厂商合作,在 Gitee AI 中接入了厂商的 GPU 算力资源,并通过[在线体验挂件](/models/widgets)免费提供给用户体验。专区中的模型都支持在厂商的 GPU 算力上进行在线推理。 \ No newline at end of file diff --git a/docs/models/cards.md b/docs/models/cards.md deleted file mode 100644 index 5c31d58d9a2f22254a4403edb63f573dbb82639e..0000000000000000000000000000000000000000 --- a/docs/models/cards.md +++ /dev/null @@ -1,33 +0,0 @@ -# 模型卡片 - -模型卡片即模型首页左侧的基本介绍,信息来自于模型仓库的 README.md 文件,包含文件顶部的 YAML 元信息(metadata)和 Markdown 描述信息。 - -## 编辑模型卡片 - -如果你是模型创建者,可以点击模型卡片右上角的“编辑模型卡片”按钮,编辑模型的元信息和描述。 - -![alt text](/img/model/edit-model-card.png) - -### 元信息(metadata) - -元信息表单支持编辑模型的许可证、训练用到的数据集、语言、度量指标、**框架**和**任务类型**,其中**框架**和**任务类型**用于帮助我们确认是否可以尝试为模型提供[在线体验挂件](/models/widgets),二者缺一不可。 - -编辑元信息表单后,内容将同步保存到 README.md 顶部的 YAML 元信息信息中。 - -![alt text](/img/model/edit-model-card-metadata.png) - -元信息由 `---` 包裹,内容为 YAML 格式: - -```yaml ---- -license: mit -language: - - en - - zh ---- -``` - -### 描述 - -描述内容为 Markdown 格式,用于介绍当前模型,关于 Markdown 语法请参考[CommonMark](https://commonmark.org/help/)。 - diff --git a/docs/models/download-stats.md b/docs/models/download-stats.md deleted file mode 100644 index 0db2caab0bed9f4542228d317e6d51842e58395c..0000000000000000000000000000000000000000 --- a/docs/models/download-stats.md +++ /dev/null @@ -1,9 +0,0 @@ -# 下载统计 - -在模型页面右侧,在线体验上方,我们提供了该模型最近 30 天的下载数据,下载包括本地克隆和仓库 ZIP 下载的总数。 - -![alt text](/img/model/download-stats.png) - -模型的下载数是一个重要的受欢迎指标,所以我们在模型列表也提供了按下载数排序的功能,让用户可以快速找到最受欢迎的模型。 - -![alt text](/img/model/sort-by-downloads.png) \ No newline at end of file diff --git a/docs/models/intro.md b/docs/models/intro.md deleted file mode 100644 index 6d30898fc0895cdbbb541553f2e69bb849598122..0000000000000000000000000000000000000000 --- a/docs/models/intro.md +++ /dev/null @@ -1 +0,0 @@ -# 概述 \ No newline at end of file diff --git a/docs/models/model-engine-api.md b/docs/models/model-engine-api.md deleted file mode 100644 index da7fafc40c1aa1397fa86b830eebe2dbeb76004f..0000000000000000000000000000000000000000 --- a/docs/models/model-engine-api.md +++ /dev/null @@ -1,15 +0,0 @@ -# 模型引擎挂件 API - -在提供[模型引擎挂件](/models/widgets)的同时,我们也提供了模型引擎挂件的 API,供用户在产品原型阶段调用。由于该 API 使用的免费共享资源,请勿在生产环境中使用。 - -## 接口请求示例 - -访问模型详情页,点击“部署”按钮,选择“推断 API”选项,即可获取到模型引擎挂件 API 的请求示例。 - -![alt text](/img/model/deploy-dropdown.png) - -我们提供了 `Python`, `JavaScript` 和 `cURL` 三种示例,您也可以参考示例在其他语言中调用该 API。 - -![alt text](/img/model/inference-api-examples.png) - -为了使用私有模型的推理 API,请勾选弹窗右上角的 **添加 API Token** 选项。 \ No newline at end of file diff --git a/docs/models/uploading.md b/docs/models/uploading.md deleted file mode 100644 index e7acc589c1024403c4f97f81ab77aead9b01fc1d..0000000000000000000000000000000000000000 --- a/docs/models/uploading.md +++ /dev/null @@ -1,18 +0,0 @@ -# 模型上传 - -请先参考[仓库](/repositories#克隆仓库)文档: - -1. 在线[创建模型仓库](/repositories#创建仓库)并获取到仓库地址; - -2. 下载并安装 Git LFS,设置 SSH 公钥(如果您选择使用 SSH 方式推送); - -3. 将仓库克隆到本地,然后将模型文件放入仓库中; - -4. 提交文件并推送到远程仓库; - -5. 前往模型详情页,[编辑模型卡片](/models/cards#编辑模型卡片),填写模型的元信息和描述。 - - -### 使用 `gai` 命令行工具上传模型 - -如果模型仓库中文件较大,Git 推送出现上传缓慢或上传失败的情况,推荐使用 `gai` 命令行工具上传,详见 [Gitee AI CLI 文档](/gai)。 diff --git a/docs/models/widgets.md b/docs/models/widgets.md deleted file mode 100644 index 267f13d61a63d0d4a57d55a4c931b4daca216878..0000000000000000000000000000000000000000 --- a/docs/models/widgets.md +++ /dev/null @@ -1,66 +0,0 @@ -# 模型引擎挂件 - -模型引擎挂件是我们提供的一种在线快速体验模型推理的能力,当模型配置了合适**框架**和**任务类型**时,模型详情页右侧将显示可在线体验的挂件。 - -![alt text](/img/model/widget.png) - -模型引擎背后使用了共享的**免费算力**,我们也支持选择不同种类算力资源,其中包含国产 GPU 和 Intel CPU。 - -不同**任务类型**的模型将使用不同的挂件,请按照挂件提示尝试**运行**挂件。 - -## 支持框架 - -我们暂时支持的**框架** 有: -- Transformers -- Diffusers - -其他框架仍在适配中,敬请期待。 - -## 支持任务类型 - -我们支持的**任务类型**有: -- 自动语音识别 -- 特征抽取 -- 填空 -- 图像分类 -- 问答 -- 句子相似度 -- 端到端文本生成 -- 文本分类 -- 文本生成 -- 序列标注 -- 文本转图像 -- 翻译 - -## 未支持的任务类型 - -暂未支持的**任务类型**有: -- 音频转音频 -- 音频分类 -- 对话生成 -- 图像转图像 -- 图像描述 -- 图像分割 -- 物体检测 -- 文本摘要 -- 表格问答 -- 文本转语音 -- 表格分类 -- 表格回归 -- 视觉问答 -- 强化学习 -- 零样本分类 -- 文档问答 -- 零样本图像分类 - -## 运行流程 - -当选择不同算力资源时,模型引擎会自动切换到对应的算力资源上进行推理,而这一过程将经历如下过程: - -1. 创建模型推理服务实例,为服务实例分配算力资源。由于算力资源有限,可能出现 GPU 不足的情况,如遇到此类情况,请稍后再试。 -2. 下载模型到算力对应的集群(不同算力资源一般位于不同地区的数据中心)将耗费一定时间,请耐心等待。我们会为某些模型提前在数据中心内缓存,以加快下载速度。 -3. 加载模型到 GPU 或内存中,并提供 API 服务,供挂件或用户调用。 - -## 用于原型测试的推断 API - -除了使用挂件进行在线体验外,我们还提供了[推断 API](/models/model-engine-api),供用户在产品原型阶段调用。 \ No newline at end of file diff --git a/docs/organization/_category_.json b/docs/organization/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..144caf5a20ffa9cee6af4079a049f1295ecbd3bd --- /dev/null +++ b/docs/organization/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "账号与组织管理", + "position": 5, + "collapsed": true +} \ No newline at end of file diff --git a/docs/organization/access-token.md b/docs/organization/access-token.md index e5ef1dc8bfba8fc0e15eed51bdd11325482bddda..d8ae12559449fa77327c06d0e5e05cb395f590cb 100644 --- a/docs/organization/access-token.md +++ b/docs/organization/access-token.md @@ -1,91 +1,61 @@ -# 访问令牌 - -## 访问令牌 - -### 功能描述 - -访问令牌用于验证您的身份,可通过访问令牌使用模型引擎 API、Serverless API 等功能。支持在个人和组织工作台下创建,可选择授权访问所有或指定可访问资源。 - -- 个人创建的访问令牌,仅用于访问个人资源。 - -- 组织创建的访问令牌,可访问组织下的资源,组织访问令牌需组织创建者和管理员创建,可将已保存的访问令牌,发送给组织成员使用。 - -### 操作方式 - -可在"**工作台->设置->**[**访问令牌**]({{SITE_URL}}/dashboard/settings/tokens)"页面中查看、创建、编辑、删除"访问令牌"。 - -具体页面如下图所示: -![alt text](/img/organization/access-token-image2.png) - -### 授权方式 +--- +sidebar_position: 3 +--- -1. 授权全部资源 -**说明:** 授权所有购买的Serverless资源包时,如果同一个模型归属多个资源包,则按照有效且最新购买的资源包进行扣款。如果无需指定固定资源包,建议使用该方式。 +# 访问令牌 -2. 授权部分资源 +访问令牌是调用模力方舟 API 的身份凭证,支持精细化权限控制,涵盖个人及组织场景,与资源包调用密切关联,以下为详细说明: -**说明:** 如需指定固定资源进行扣款,可通过创建不同的"访问令牌"授权不同的资源来进行权限控制。建议通过创建多个"访问令牌"或购买多个不同的资源包进行授权,灵活使用实现权限控制。 +## 创建访问令牌 -### 常见问题 +1. 进入 [**工作台->设置->访问令牌**]({{SITE_URL}}/dashboard/settings/tokens) +2. 点击「+ 新建访问令牌」,填写令牌名称(如“个人项目调用”)。 +3. 选择授权范围: -- 提示令牌无效,请核对"令牌"是否正确或检查令牌是否被删除无法使用。 + **授权全部资源**:可访问您购买的所有 Serverless API 资源包,包括后续新购资源,如果无需指定固定资源包,建议使用该方式。 -- 提示令牌无任何可用资源,请核对"令牌"是否授权已购买资源,或检查授权资源是否过期或使用完毕。 + **授权部分资源**:手动勾选特定资源包(如仅选“全模型资源包”“沐曦资源包” ),仅允许调用该资源包包含的模型接口。 + ![image](../../static/img/purchase/purchase07.png) + + **优先使用 Token 计费**:部分模型同时支持按次和按 Token 数计费,勾选此项后,使用令牌调用的对应模型将按 Token 数计费,否则默认按次计费,您可根据自身调用情况决定是否勾选,以最大化降低成本。 :::warning 1. 系统默认会创建"**免费体验访问令牌**",该令牌用于给用户体验使用,无法编辑或删除,无需购买资源即可体验接口调用,使用该令牌不会产生任何扣费。该令牌体验次数有限制,请勿用于生产环境,如需正式使用请购买资源使用付费令牌。 -2. 资源用量会提醒用户,收到提醒后建议尽早续费,避免影响后续使用。 +2. 资源用量不足30%、10%、0时会通过站内信息和邮件提醒用户,收到提醒后建议尽早续费,避免影响后续使用。 ::: ---- - -## 临时令牌 - -"临时令牌"用于验证您的身份,该令牌有效期更短,可通过该令牌使用模型引擎 API、Serverless API 等功能。 - -为了安全起见,如果需要在客户端或浏览器中使用令牌,建议使用"临时令牌"。 - -### 操作方式 +## 编辑访问令牌 +已创建的令牌支持修改: +- **名称**:直接编辑令牌标识; +- **资源授权**:切换“全部资源/部分资源”,重新勾选授权的资源包; -生成"访问令牌"后,调用API生成临时令牌,详情请看"[创建临时的Access Token]({{SITE_URL}}/docs/openapi/v1#tag/account/POST/account/temporary-token)"。 +![image](../../static/img/purchase/purchase06.png) -### 常见问题 +## 临时令牌生成 -- 提示"令牌无效",请核对"令牌"是否正确或绑定的"访问令牌"已删除或该令牌已失效 +为提升客户端使用安全性,可生成短期有效的临时令牌: -- 提示"令牌无任何可用资源",请核对绑定"访问令牌"是否授权已购买资源,或检查授权资源是否过期或使用完毕。 +1. 使用已创建的访问令牌,调用API生成临时令牌,详情请看 [创建临时访问令牌]({{SITE_URL}}/docs/openapi/v1#tag/ai应用市场接口) 。 +2. 临时令牌默认有效期为 1 小时,可在接口中指定过期时间(最长 24 小时)。 +3. 用途:适用于前端页面、客户端直接调用 API 场景,避免长期令牌泄露。 :::warning 1. 创建的临时令牌是绑定在创建临时令牌鉴权的"访问令牌"上,因此该"访问令牌"权限变更及删除操作都会影响到临时令牌。建议单独创建一个"访问令牌"用于生成临时令牌,并且避免变更该令牌。 ::: ---- - -## 使用技巧 - -**1. 提升模型的并发能力** - -通过购买多个资源并创建多个“访问令牌”,每个令牌授权不同的资源。每个资源可以独立并发处理请求,从而实现客户端的并发能力提升。 - -**2. 实现不同环境的隔离** - -为每个环境购买独立的资源包,分别创建不同的“访问令牌”。各个环境使用专属的“访问令牌”,从而实现不同环境的完全隔离。 - -**3. 使用指定的资源包进行扣款** - -通过创建特定的“访问令牌”并授权指定资源,API 调用时使用对应的令牌,以确保资源消耗与扣费精确对应。 - ---- +## 组织访问令牌 +组织访问令牌用于调用组织名下的资源,由管理员统一创建和管理 +1. 进入 [组织工作台 > 设置 > 访问令牌]({{SITE_URL}}/dashboard/settings/tokens) 页面。 +2. 点击「+ 新建组织令牌」,选择授权的资源范围(同个人令牌)。 +3. 令牌创建后,可共享给组织成员用于 API 调用,但仅能访问组织资源。 +4. 管理员可在令牌列表中查看调用记录,或禁用异常令牌。 -## 接口调用常见问题 +## 权限控制说明 -| 状态码 | 异常信息(中文) | 异常信息(英文) | 备注 | -| ------ | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| 400 | 服务不存在 | Service not found | 请求路径不正确,请重新在体验接口中复制URL | -| 400 | 已达到最大当日免费API使用次数, 请购买资源后继续使用API。 | Today the free API access limit exceeded. | 当前调用接口的访问令牌为"**免费体验访问令牌**",每日限制接口调用次数,当前已达到最大调用次数,可付费购买资源包后配置付费访问令牌。 | -| 400 | 该令牌不能访问任何资源,请绑定或购买资源后使用 | The access token cannot access any resources, purchase or authorize resources to use the access token | 请核实该"访问令牌"是否授权已够买资源包,并且该资源包可用于调用该接口,可在"[**访问令牌**]({{SITE_URL}}/dashboard/settings/tokens)"界面进行重新配置。 | -| 400 | 资源未购买或未授权,请购买或授权资源后再使用 | Resources are not purchased or authorized. Purchase or authorize resources before using them. | 请核实是否已购买资源包或该资源包是否已用尽或过期,并且该访问凭证已授权该资源,可在"[**访问令牌**]({{SITE_URL}}/dashboard/settings/tokens)"界面进行重新配置或续费"[**资源包**]({{SITE_URL}}/dashboard/serverless)"。 | +- 个人访问令牌仅能访问您的个人资源,无法操作组织资源。 +- 若令牌关联的资源包过期或用尽,调用 API 时将返回「资源未授权」错误。 +- 可在「访问令牌」页面随时禁用或删除令牌,立即终止其有效性。 diff --git a/docs/organization/create-organization.md b/docs/organization/create-organization.md deleted file mode 100644 index 70efba813aaddd4737175ce8fae353b235be1084..0000000000000000000000000000000000000000 --- a/docs/organization/create-organization.md +++ /dev/null @@ -1,32 +0,0 @@ - - -# 创建和同步组织 - -Gitee AI 支持用户创建组织,以及同步 Gitee 的组织。组织成员可以共同创建模型、数据集。管理员还可以创建应用、模型引擎和 Serverless API,允许管理员设置用户角色来控制对仓库的访问并管理其组织的付款方式和账单信息。 - - -## 新建组织 - -在 Gitee AI 右上角菜单点击[新建组织],即可创建新组织。 - -![alt text](/img/organization/image-01.png) - -进入创建页面后,按照提示填写对应内容,点击“**新建组织**”即可完成创建。 - -![alt text](/img/organization/image-0.png) - -## 同步 Gitee 账号下的组织 - -Gitee AI 支持同步用户在 Gitee 平台下已创建的组织。 - -在创建组织时,选择想要同步的 Gitee 组织,即可完成同步。 - -![alt text](/img/organization/image02.png) - - -### 同步内容 - -- 组织信息的同步:在 Gitee 修改的组织信息会实时同步至 Gitee AI,组织信息包括组织名称、组织空间地址、组织简介、网址。 -- 组织成员的同步:首次同步会同步所有成员,后续同步需在组织工作台-成员管理页面,点击同步成员。 - -![alt text](/img/organization/image03.png) diff --git a/docs/organization/organization-dashboard.md b/docs/organization/organization-dashboard.md deleted file mode 100644 index 76ac305cbfe200b84694903d14633e5b766d7f1d..0000000000000000000000000000000000000000 --- a/docs/organization/organization-dashboard.md +++ /dev/null @@ -1,10 +0,0 @@ -# 组织工作台 -Gitee AI 的工作台分为个人和组织,如果您已加入组织,在工作台界面,点击用户名称,就可以切换到对应的组织工作台。组织管理员可以在工作台管理已创建的资源、订单和费用等。组织成员则可以在工作台查看已创建的资源,并且管理自己创建的模型和数据集。 - -![alt text](/img/organization/image.png) - -## 组织主页 - -除了个人主页外,每一个组织都拥有组织主页,内外部成员均可查看组织的简介、成员、以及公开的资源。您可以在在个人主页下,点击组织 Logo,即可查看所属组织的主页,也可以在浏览资源时点击组织名称查看其主页。 - -![alt text](/img/organization/image-1.png) \ No newline at end of file diff --git a/docs/organization/organization-management.md b/docs/organization/organization-management.md deleted file mode 100644 index 233ca4354cb1f66ae77722acd7496e2952f13e4f..0000000000000000000000000000000000000000 --- a/docs/organization/organization-management.md +++ /dev/null @@ -1,31 +0,0 @@ -# 组织管理 - -## 组织信息修改 - -管理员在工作台或组织信息页面,点击组织设置,可以修改以下组织信息。同时也支持同步用户在 Gitee 所修改的组织信息。 - -![alt text](/img/organization/image-2.png) - -## 组织成员管理 - -管理员在组织成员页面点击管理成员,可跳转至 Gitee 成员管理页面,可添加或移除成员。 - -![alt text](/img/organization/image-3.png) - -## 组织权限说明 - -GItee AI 的组织角色分为管理员和普通成员,对于两种角色,有以下权限区分: - -| 操作 | 管理员 | 普通成员 | -| :---------------- | :-- | ---- | -| 创建模型 | ✓ | ✓ | -| 创建数据集 | ✓ | ✓ | -| 创建应用 | ✓ | | -| 创建模型引擎 | ✓ | | -| 创建 Serverless API | ✓ | | -| 创建组织访问令牌 | ✓ | | -| 管理成员 | ✓ | | -| 编辑组织信息 | ✓ | | -| 订单和费用管理 | ✓ | | - -普通成员可以创建模型和数据集,不支持创建模型引擎、Serverless API 和应用,但是可以在组织工作台下查看已创建的资源和使用日志。管理员如需普通成员参与资源的创建,可在成员管理页面调整普通成员的角色为管理员。 \ No newline at end of file diff --git a/docs/organization/organizations.md b/docs/organization/organizations.md new file mode 100644 index 0000000000000000000000000000000000000000..fd10475f9a8acdd41ab7f16103b60d36bbefa767 --- /dev/null +++ b/docs/organization/organizations.md @@ -0,0 +1,121 @@ +--- +sidebar_position: 2 +--- + +# 组织协作管理 + +组织功能支持团队共享资源、协同开发,适用于企业、科研团队等多人间协作场景,权限体系与 Gitee 组织无缝同步。 + +## 组织创建与同步 + +模力方舟支持用户创建组织,以及同步 Gitee 的组织。组织成员可以共同创建模型、数据集。管理员还可以创建应用、模型引擎和 Serverless API,允许管理员设置用户角色来控制对仓库的访问并管理其组织的付款方式和账单信息。 + +### 新建组织 + +1. 在模力方舟右上角菜单点击 [新建组织] ,即可创建新组织。 + +![alt text](/img/organization/image-01.png) + +2. 进入创建页面后,填写组织信息: + + 组织名称:如“XX公司 AI 团队”。 + + 组织空间地址:唯一标识,用于访问组织主页(格式:{{SITE_URL}}/[空间地址])。 + + 组织简介:描述组织用途,将显示在组织主页。 + + 点击“**新建组织**”即可完成创建,系统自动创建组织并将您设为管理员。 + +![alt text](/img/organization/image-0.png) + +### 从 Gitee 同步组织 + +若您在 Gitee 已有组织,可直接同步至模力方舟: + +1. 在创建组织时,选择想要同步的 Gitee 组织,即可完成同步。 + +![alt text](/img/organization/image02.png) + +2. 系统将列出您在 Gitee 拥有的组织,勾选需要同步的组织,点击「同步所选组织」。 +3. 同步完成后,组织信息(名称、成员、权限)将与 Gitee 实时同步。 + +#### 同步内容 + +- 组织信息的同步:在 Gitee 修改的组织信息会实时同步至模力方舟,组织信息包括组织名称、组织空间地址、组织简介、网址。 +- 组织成员的同步:首次同步会同步所有成员,后续同步需在组织工作台-成员管理页面,点击同步成员。 + +![alt text](/img/organization/image03.png) + +## 组织主页 + +除了个人主页外,每一个组织都拥有组织主页,内外部成员均可查看组织的简介、成员、以及公开的资源。您可以在在个人主页下,点击组织 Logo,即可查看所属组织的主页,也可以在浏览资源时点击组织名称查看其主页。 + +![alt text](/img/organization/image-1.png) + +## 组织工作台 + +模力方舟的工作台分为个人和组织,如果您已加入组织,在工作台界面,点击用户名称,就可以切换到对应的组织工作台。组织工作台为团队提供集中化资源管理能力,与个人工作台的区别在于: + +- **资源范围**:仅显示组织名下的模型、数据集、应用及购买的资源包。 +- **权限控制**:管理员可查看所有资源,普通成员仅能查看授权资源。 +- **专属功能**:包含组织成员管理、资源共享设置、团队统计报表等功能。 + +![alt text](/img/organization/image.png) + +## 组织管理 + +### 组织信息修改 + +管理员在工作台或组织信息页面,点击组织设置,可以修改以下组织信息。同时也支持同步用户在 Gitee 所修改的组织信息。 + +![alt text](/img/organization/image-2.png) + +### 组织成员管理 + +1. 管理员进入「组织工作台 > 组织成员」页面。 +2. 添加成员:管理员点击「管理成员 > 添加成员」,可选择所邀请成员的的组织权限(管理员/开发者),复制链接地址或分享邀请二维码添加成员。 + 您也可以直接输入Gitee用户的个人空间地址或完整的邮箱地址直接添加成员。 + + ![alt text](/img/organization/image04.png) + +3. 移除成员:管理员点击「管理成员」,可选中对应成员并移除,确认后该成员将失去组织资源访问权限。 + + ![alt text](/img/organization/image-3.png) + +### 组织权限说明 + +模力方舟的组织角色分为管理员和普通成员,对于两种角色,有以下权限区分: + +| 操作 | 管理员 | 普通成员 | +| :------------------ | :----- | -------- | +| 创建模型 | ✓ | ✓ | +| 创建数据集 | ✓ | ✓ | +| 创建应用 | ✓ | | +| 创建模型引擎 | ✓ | | +| 创建 Serverless API | ✓ | | +| 创建组织访问令牌 | ✓ | | +| 管理成员 | ✓ | | +| 编辑组织信息 | ✓ | | +| 订单和费用管理 | ✓ | | + +普通成员可以在组织工作台下查看已创建的资源和使用日志。 + +## 组织资源共享 + +组织内资源默认私有,可通过以下方式共享: + +1. **模型/数据集共享**: + + 创建资源时选择「归属组织」为目标组织。 + + 进入资源详情页,在「设置 > 权限管理」中勾选「允许组织内所有成员访问」。 + +2. **应用协作开发**: + + 在应用详情页的「成员管理」中添加组织成员,分配「开发者」角色。 + + 被添加成员可克隆应用仓库、提交代码并参与开发。 + +## 组织访问令牌 + +组织访问令牌用于调用组织名下的资源,由管理员统一创建和管理,详情请看 [访问令牌](/docs/organization/access-token#%E7%BB%84%E7%BB%87%E8%AE%BF%E9%97%AE%E4%BB%A4%E7%89%8C) 。 diff --git a/docs/organization/personal-dashboard.md b/docs/organization/personal-dashboard.md deleted file mode 100644 index 5e7a886d21f6506d4f62b5f88426cc13cf27b7c1..0000000000000000000000000000000000000000 --- a/docs/organization/personal-dashboard.md +++ /dev/null @@ -1,22 +0,0 @@ -# 个人工作台 -登录成功后,将自动跳转至工作台界面,您也可以在顶部导航点击 Gitee AI 的 LOGO 或工作台按钮,进入个人工作台界面。在工作台界面,您可以管理已创建和购买的资源、订单与费用、访问令牌、账号信息等。 - -![alt text](/img/organization/personaldashboardimg1.png) - -在个人工作台下您可以设置或查看以下与个人相关的信息: - -- **个人信息**:您的个人信息包括姓名、个人空间地址、邮箱和自由介绍,信息和 Gitee 账户相同,在Gitee 修改后,即可同步至 Gitee AI,研究领域可在Gitee AI 填写。 - -- **我的动态**:我的动态会记录您的创建、更新、点赞等操作的内容,方便您回顾在平台的个人活动。 - -- **我的邀请**:系统会在活动期间,发送邀请码给用户,您可以在右上角的头像菜单中,点击我的邀请,使用邀请码或查看邀请记录。 - -- **个人主页**:您可以查看自己或他人的个人主页,个人主页中包含个人信息、所属组织、以及个人公开的资源。 - -![alt text](/img/organization/personaldashboardimg2.png) - - - - - - \ No newline at end of file diff --git a/docs/organization/statistics.md b/docs/organization/statistics.md deleted file mode 100644 index 6284d6703c92d2fbd94bf29f674584b94dab50e3..0000000000000000000000000000000000000000 --- a/docs/organization/statistics.md +++ /dev/null @@ -1,3 +0,0 @@ -# 统计与日志 -在个人和组织工作台下,您可以查看模型引擎和 Serverless API 的用量统计及使用日志。这些信息包括 API 调用次数、请求时间和请求 IP 等,有助于您更有效地监控和管理资源使用情况。 -![alt text](/img/organization/statisticsimg1.png) \ No newline at end of file diff --git a/docs/organization/workbench.md b/docs/organization/workbench.md new file mode 100644 index 0000000000000000000000000000000000000000..45a9e9db45d53af569f46ee4ab8c91602816562e --- /dev/null +++ b/docs/organization/workbench.md @@ -0,0 +1,38 @@ +--- +sidebar_position: 1 +--- + +# 个人工作台 + +## 简介 +个人工作台是您使用模力方舟进行资源管理、费用查看及功能操作的核心入口,集成多维度信息与操作模块,助力高效使用平台服务。 + +登录成功后,将自动跳转至工作台界面,您也可以在顶部导航点击模力方舟的 LOGO 或工作台按钮,进入个人工作台界面。在工作台界面,集成了所有核心功能入口: +- **资源管理**:包含Serverless API、模型引擎、应用、模型微调、模型与数据集等功能,可浏览/管理您创建或收藏的资源。 +- **费用中心**:查看账户余额、订单管理、发票管理及优惠券使用情况。 +- **设置入口**:您可以从左侧导航栏最下端点击设置图标,或者在右上角头像下拉菜单进入设置界面,可配置个人信息、访问令牌等。 +- **社区动态**:实时推送平台最新资讯,如模型深度解析、免费资源开放通知、热门模型在线体验等内容。 + +![alt text](/img/organization/personaldashboardimg1.png) + +## 个人信息设置 + +个人信息与 Gitee 账号实时同步,无需单独维护: + +1. 登录后点击右上角头像,选择「个人设置」进入信息页面。 +2. 可编辑内容包括: + + 基础信息:姓名、头像(同步自 Gitee 账号)。 + + 联系信息:邮箱(与 Gitee 账号绑定,用于接收通知)。 + + 研究领域:自定义填写,帮助平台推荐相关模型与资源。 + +3. 点击「保存」即可更新,信息变更将实时同步至 Gitee 账号。 + +## 个人统计与日志 + +该模块为您提供模力方舟资源使用的全方位数据追踪,涵盖用量统计与使用日志,助力您精准掌握资源消耗、排查调用问题。 + +**用量统计**:进入 [工作台 > 统计与日志 > 用量统计]({{SITE_URL}}/dashboard/statistics/usage-statistics) ,查看 Serverless API 调用的宏观数据统计,您可快速了解资源使用的核心指标分布,识别高频调用、高耗时的资源,为资源优化、成本控制提供数据依据。 +**调用日志**:提供资源调用的细粒度行为记录,支持按条件筛选,精准定位每一次 API 调用的详细信息,可导出 CSV 用于审计。 diff --git a/docs/products/_category_.json b/docs/products/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..9c671e66a04d872ec830ef858eb259baa2c78eda --- /dev/null +++ b/docs/products/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "功能实践", + "position": 3, + "collapsed": false +} \ No newline at end of file diff --git a/docs/products/apis/3d/_category_.json b/docs/products/apis/3d/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..5b4cf2c1bba03b636246e056fb022639417ced06 --- /dev/null +++ b/docs/products/apis/3d/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "3D大模型", + "position": 6, + "collapsed": true +} \ No newline at end of file diff --git a/docs/products/apis/3d/index.md b/docs/products/apis/3d/index.md new file mode 100644 index 0000000000000000000000000000000000000000..95861be299a6a28fbeb8fdd79bb58c45d825c93e --- /dev/null +++ b/docs/products/apis/3d/index.md @@ -0,0 +1,214 @@ +# 3D大模型 + +## 基本介绍 + +3D 大模型用来将输入的图片转成 3D 模型,具备高保真度、细节丰富和高效生成的特点,可快速将图像转换为逼真的 3D 物体,广泛应用于游戏开发、影视制作、虚拟现实等领域。 + +实际的 3D 效果如下图所示: + +![3D](https://gitee.com/hf-models/Hunyuan3D-2/raw/main/assets/images/e2e-1.gif) + +![3D](https://gitee.com/hf-models/Hunyuan3D-2/raw/main/assets/images/e2e-2.gif) + +## 模型列表 + +目前模型广场已上线的 3D 大模型包括: + +| 模型名称 | 描述 | +| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| [Hunyuan3D-2 单色]({{SITE_URL}}/serverless-api?model=Hunyuan3D-2) | Hunyuan3D-2 是腾讯混元团队推出的高质量 3D 生成模型,具备高保真度、细节丰富和高效生成的特点,可快速将文本或图像转换为逼真的 3D 物体。 | +| [Hunyuan3D-2 彩色]({{SITE_URL}}/serverless-api?model=Hunyuan3D-2) | Hunyuan3D-2 是腾讯混元团队推出的高质量 3D 生成模型,具备高保真度、细节丰富和高效生成的特点,可快速将文本或图像转换为逼真的 3D 物体。 | +| [Hi3DGen]({{SITE_URL}}/serverless-api?model=Hi3DGen) | Hi3DGen 是一个 AI 工具,它可以把您上传的普通图片,智能转换成有“立体感”的图片(法线图),常用于制作 3D 效果,比如游戏建模、虚拟现实、动画制作等。 | +| [Step1X-3D]({{SITE_URL}}/serverless-api?model=Step1X-3D) | Step1X-3D 是一款由阶跃星辰(StepFun)与光影焕像(LightIllusions)联合研发并开源的高保真 3D 生成模型,专为高质量、可控的 3D 内容创作而设计。 | + +## 在线体验 + +以 `Hunyuan3D-2` 模型为例,模型的输入是图片,输出是对应的 3D 模型。用户可以通过上传图片来使用该模型。 + +如下图所示: + +![3D 生成](/img/serverless-api/hunyuan3d.jpg) + +## 异步调用示例代码 + +由于模型生成时间可能较长,因此接口采用异步调用的方式,关于模力方舟的异步任务 API 请参考 [这里]({{SITE_URL}}/docs/openapi/v1#tag/异步任务)。 + +以下是使用 Python 调用 3D 生成模型的示例代码: + +```python showLineNumbers title="python" +import requests +from requests_toolbelt import MultipartEncoder +import os +import time +import json +import webbrowser +import contextlib +import mimetypes + +API_URL = "{{SITE_URL}}/v1/async/image-to-3d" +API_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +headers = { + "Authorization": f"Bearer {API_TOKEN}" +} + +def query(payload): + fields = [ + ("type", payload["type"]), + ("model", payload["model"]), + ("texture", str(payload["texture"]).lower()), + ("seed", str(payload["seed"])), + ("num_inference_steps", str(payload["num_inference_steps"])), + ("octree_resolution", str(payload["octree_resolution"])), + ("guidance_scale", str(payload["guidance_scale"])), + ] + with contextlib.ExitStack() as stack: + filepath = payload["image"] + name = os.path.basename(filepath) + if filepath.startswith(("http://", "https://")): + response = requests.get(filepath, timeout=10) + response.raise_for_status() + fields.append(("image", (name, response.content, response.headers.get("Content-Type", "application/octet-stream")))) + else: + mime_type, _ = mimetypes.guess_type(filepath) + fields.append(("image", (name, stack.enter_context(open(filepath, "rb")), mime_type or "application/octet-stream"))) + encoder = MultipartEncoder(fields) + headers["Content-Type"] = encoder.content_type + response = requests.post(API_URL, headers=headers, data=encoder) + return response.json() + +def poll_task(task_id): + status_url = f"{{SITE_URL}}/v1/task/{task_id}" + timeout = 30 * 60 + retry_interval = 10 + attempts = 0 + max_attempts = int(timeout / retry_interval) + while attempts < max_attempts: + attempts += 1 + print(f"Checking task status [{attempts}]...", end="") + response = requests.get(status_url, headers=headers, timeout=10) + result = response.json() + if result.get("error"): + print('error') + raise ValueError(f"{result['error']}: {result.get('message', 'Unknown error')}") + status = result.get("status", "unknown") + print(status) + if status == "success": + if "output" in result and "file_url" in result["output"]: + file_url = result["output"]["file_url"] + duration = (result.get('completed_at', 0) - result.get('started_at', 0)) / 1000 + print(f"🔗 Donwload link: {file_url}") + print(f"⏱️ Task duration: {duration:.2f} seconds") + # Open the result URL in the browser + webbrowser.open(file_url) + else: + print("⚠️ No output URL found") + elif status in ["failed", "cancelled"]: + print(f"❌ Task {status}") + else: + time.sleep(retry_interval) + continue + task_file = f"task_{task_id}.json" + with open(task_file, "w") as f: + json.dump(result, f, indent=4) + print(f"Task was saved to file {task_file}") + return result + print(f"⏰ Maximum attempts reached ({max_attempts})") + return {"status": "timeout", "message": "maximum wait time exceeded"} + +if __name__ == "__main__": + print("Creating task...") + result = query({ + "image": "path/to/image.jpg", + "type": "glb", + "model": "Hunyuan3D-2", + "texture": True, + "seed": 1234, + "num_inference_steps": 5, + "octree_resolution": 128, + "guidance_scale": 5 + }) + task_id = result.get("task_id") + if not task_id: + raise ValueError("Task ID not found in the response") + print(f"Task ID: {task_id}") + task = poll_task(task_id) + if task.get("status") == "success": + # Do something with the task result here + print("Task completed successfully!") +``` + +模型生成的 3D 文件是 `.glb` 格式的,您可以使用 3D 查看工具(如 [glTF Viewer](https://gltf-viewer.donmccurdy.com/))来查看生成的 3D 模型。 + +## 使用场景 + +#### 🎮 游戏开发 + +- **角色建模**:快速将概念图转换为游戏角色的 3D 模型 +- **道具制作**:为游戏创建各种武器、装备和环境道具 +- **场景资产**:生成建筑物、植被、装饰品等场景元素 +- **原型设计**:在游戏开发早期快速制作模型原型 + +#### 🎬 影视制作 + +- **数字资产**:为电影、电视剧创建数字化的道具和场景 +- **特效预览**:快速生成预览模型用于特效规划 +- **虚拟布景**:创建虚拟环境和背景元素 +- **动画制作**:为动画项目提供角色和物体模型 + +#### 🏠 建筑设计 + +- **概念可视化**:将平面设计图转换为立体模型 +- **室内设计**:快速生成家具和装饰品的 3D 模型 +- **方案展示**:为客户展示设计方案的立体效果 +- **空间规划**:辅助进行空间布局和设计优化 + +#### 🛒 电商零售 + +- **产品展示**:为商品创建 360° 全方位展示模型 +- **虚拟试用**:让用户在购买前预览产品的立体效果 +- **AR 购物**:结合 AR 技术实现虚拟试穿试用 +- **营销素材**:制作吸引眼球的 3D 广告内容 + +#### 📚 教育培训 + +- **教学模型**:为生物、化学、物理等学科制作教学模型 +- **历史重现**:重建历史文物和古代建筑 +- **虚拟实验**:创建虚拟实验室和实验器材 +- **互动学习**:开发 3D 互动教学内容 + +#### 🏥 医疗健康 + +- **解剖模型**:生成人体器官和组织的 3D 模型 +- **手术规划**:为复杂手术提供 3D 参考模型 +- **康复训练**:开发 3D 康复训练应用 +- **医疗器械**:设计和展示医疗设备的 3D 模型 + +#### 🏭 工业制造 + +- **产品设计**:快速制作产品原型和设计方案 +- **质量检测**:创建标准模型用于质量对比 +- **培训教学**:制作设备操作和维护的培训模型 +- **展示演示**:为客户展示产品的立体效果 + +#### 🌐 虚拟现实/增强现实 + +- **VR 内容**:为 VR 应用创建沉浸式 3D 环境 +- **AR 应用**:开发 AR 应用所需的 3D 素材 +- **虚拟展厅**:构建虚拟展览和展示空间 +- **元宇宙应用**:为元宇宙平台提供 3D 资产 + +#### 🎨 艺术创作 + +- **数字雕塑**:将 2D 艺术作品转换为 3D 雕塑 +- **装置艺术**:设计和预览艺术装置的效果 +- **文创产品**:开发具有 3D 效果的文创商品 +- **展览策划**:为艺术展览创建 3D 展示内容 + +#### 📱 移动应用 + +- **社交分享**:让用户分享个性化的 3D 内容 +- **娱乐应用**:开发 3D 小游戏和互动应用 +- **生活工具**:创建实用的 3D 测量和设计工具 +- **个性定制**:提供个性化 3D 商品定制服务 + +通过这些丰富的应用场景,3D 大模型正在革命性地改变各行各业的工作流程,大大降低了 3D 内容创作的门槛,提高了设计和开发效率。 diff --git a/docs/products/apis/_category_.json b/docs/products/apis/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..7452c9143162a6b7364c9135d504876d7ca818d0 --- /dev/null +++ b/docs/products/apis/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "🔥 模型广场 (Serverless API)", + "position": 1, + "collapsed": true +} \ No newline at end of file diff --git a/docs/products/apis/async-task.md b/docs/products/apis/async-task.md new file mode 100644 index 0000000000000000000000000000000000000000..1eca00d39cffeee68b2b141195f3178362b4dc9d --- /dev/null +++ b/docs/products/apis/async-task.md @@ -0,0 +1,201 @@ + + +# 异步任务接口使用指南 + +## 概述 + +对于生成时长较长的任务(如 3D 建模、视频生成、长语音合成等),平台提供了专门的异步任务接口,让您能够高效地处理耗时操作而无需长时间等待响应。 + +## 接口架构 + +异步任务接口采用提交-查询模式: + +- **提交接口**:用于创建异步任务,例如文本生成音乐的提交接口为 `/async/music/generations` +- **查询接口**:统一的任务状态查询接口 `https://ai.gitee.com/api/v1/task/` +- **任务取消接口**:`https://ai.gitee.com/api/v1/task//cancel` +- **配额查询接口**:`https://ai.gitee.com/v1/tasks/available-quota` +- **任务状态接口**:`https://ai.gitee.com/v1/task//status` +- **任务记录接口**:`https://ai.gitee.com/v1/task/` + +## 工作流程 + +1. **提交任务** → 获取 `task_id` 和查询 URL +2. **轮询查询** → 检查任务状态 +3. **获取结果** → 下载生成的文件 + +## 完整示例:音乐生成 + +以下示例演示如何使用 ACE-Step 音乐大模型生成音乐: + +### Python 实现 + +```python showLineNumbers title="python" +import os +import requests +import base64 +from PIL import Image +from io import BytesIO +from requests_toolbelt.multipart.encoder import MultipartEncoder + +API_URL = "https://ai.gitee.com/v1/async/music/generations" +headers = { + "Authorization": "Bearer ", +} + +def query(payload): + data = {} + for key, value in payload.items(): + if value is None: + data[key] = "" + elif isinstance(value, list): + data[key] = ",".join(map(str, value)) + elif isinstance(value, bool): + data[key] = str(value).lower() + else: + data[key] = str(value) + multipart_data = MultipartEncoder(fields=data) + headers["Content-Type"] = multipart_data.content_type + response = requests.post(API_URL, headers=headers, data=multipart_data) + return response.json() + +output = query({ + "model": "ACE-Step-v1-3.5B", + "task": "text2music", + "duration": 60, + "prompt": "pop, synth, drums, guitar, 120 bpm, upbeat, catchy, vibrant, female vocals, polished vocals", + "lyrics": """[Verse] +Neon lights across the sky +Every moment passing by +Your smile catches in my mind +Like a snapshot frozen time +[Chorus] +We're dancing through the night +Under these electric lights +Don't need to think about tomorrow +Just feel this moment right +[Verse] +City pulse beneath our feet +Hearts aligned to steady beat +Take my hand and follow me +Into who we're meant to be +[Bridge] +One life, one chance +One perfect night romance +Our story's just beginning +In this magical dance""", + "infer_steps": 60, + "lora_name": 'None', + "guidance_scale": 15, + "guidance_scale_text": 0, + "guidance_scale_lyric": 0, + "scheduler_type": "euler", + "cfg_type": "apg", + "omega_scale": 10, + "guidance_interval": 0.5, + "guidance_interval_decay": 0, + "min_guidance_scale": 3, + "use_erg_tag": True, + "use_erg_lyric": True, + "use_erg_diffusion": True, +}) +query_url = output["urls"]["get"] + +while True: + resp = requests.get(query_url, headers=headers).json() + print("task status: ", resp["status"]) + if resp["status"] == "failure": + print(resp) + print("task failed") + os._exit(1) + if resp["status"] == "success": + break + +file_url = resp["output"]["file_url"] +print('final url ', file_url) +resp = requests.get(file_url) + +with open("output.mp3", "wb") as f: + f.write(resp.content) +``` + +## 主要参数说明 + +### 通用参数 +- `model`: 使用的模型名称(如 "ACE-Step-v1-3.5B") + +### 音乐生成专用参数 +- `task`: 任务类型(如 "text2music") +- `duration`: 生成时长(秒) +- `prompt`: 音乐风格描述 +- `lyrics`: 歌词内容 +- `infer_steps`: 推理步数(影响质量和速度) +- `guidance_scale`: 引导强度 +- `scheduler_type`: 调度器类型 + +## 错误处理 + +### 常见错误类型 + +1. **认证错误** (401) + - 检查 API 令牌是否正确 + - 确认令牌是否有效且未过期 + +2. **参数错误** (400) + - 验证必填参数是否完整 + - 检查参数格式是否正确 + +3. **任务失败** + - 查看返回的错误信息 + - 调整参数重新尝试 + +## 最佳实践 + +1. **合理设置轮询间隔**:建议 5-10 秒,避免过于频繁的请求 +2. **实现超时机制**:设置合理的最大等待时间 +3. **错误重试**:对临时性错误实现指数退避重试 +4. **资源清理**:及时处理下载的文件,避免占用过多磁盘空间 +5. **并发配额管理**:提交任务前检查可用配额,避免超出限制 +6. **任务状态监控**:定期检查任务状态,及时处理失败任务 +7. **合理使用取消功能**:对于不再需要的任务及时取消,释放资源 + +### 配额管理示例 + +```bash showLineNumbers title="bash" +# 查询可用配额 +curl -H "Authorization: Bearer " \ + https://ai.gitee.com/v1/tasks/available-quota + +# 取消不需要的任务 +curl -X POST \ + -H "Authorization: Bearer " \ + https://ai.gitee.com/api/v1/task//cancel + +# 查询任务状态 +curl -H "Authorization: Bearer " \ + https://ai.gitee.com/v1/task//status +``` + +## 常见问题 + +**Q: 任务提交后多久能完成?** +A: 根据任务复杂度不同,通常在 1-10 分钟内完成。 + +**Q: 是否可以取消正在进行的任务?** +A: 支持任务取消。使用取消接口 `https://ai.gitee.com/api/v1/task//cancel` 可以取消 waiting 或 in_progress 状态的任务。 + +**Q: 什么是并发配额限制?** +A: 每个账号的异步任务有并发配额限制,包括处于 waiting 和 in_progress 状态的任务总数。超过配额将无法提交新任务。 + +**Q: 如何查询我的可用配额?** +A: 使用配额查询接口 `https://ai.gitee.com/v1/tasks/available-quota` 可以查询当前可用的异步任务并发配额。 + +**Q: 下载链接有效期多长?** +A: 下载链接通常有效期为 24 小时,请及时下载保存。 + +**Q: 如何获取任务的详细信息?** +A: 使用任务记录接口 `https://ai.gitee.com/v1/task/` 可以获取任务的完整信息,包括参数、状态、结果等。 + + +**Q: 如何处理配额不足的情况?** +A: 可以通过以下方式处理:1) 等待现有任务完成;2) 取消不需要的任务;3) 实现任务队列管理机制。 + diff --git a/docs/products/apis/documents/_category_.json b/docs/products/apis/documents/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..460215b8ea47ecd69b79ba7cb84be3cecf1e1db8 --- /dev/null +++ b/docs/products/apis/documents/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "文档处理/OCR", + "position": 4, + "collapsed": true +} \ No newline at end of file diff --git a/docs/ability/ocr.md b/docs/products/apis/documents/ocr.md similarity index 34% rename from docs/ability/ocr.md rename to docs/products/apis/documents/ocr.md index 1ec4c4e4eb681f270002e02f3ed66e6cc2e3e181..5254e2b1cbe57e652e883b3781bfd795773a6063 100644 --- a/docs/ability/ocr.md +++ b/docs/products/apis/documents/ocr.md @@ -1,51 +1,60 @@ +--- +sidebar_position: 2 +--- + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# OCR 文档识别 +# OCR 图文识别 + +## 基本介绍 + +OCR(Optical Character Recognition,光学字符识别)技术是指通过人工智能模型,从图像中提取文本信息的技术。它的核心任务是将图像中的文字内容转化为可编辑的文本数据,广泛应用于文档数字化、信息提取、数据录入等领域。 + +目前模型广场已上线的 OCR 模型包括:[GOT-OCR2_0]({{SITE_URL}}/serverless-api?model=GOT-OCR2_0) ## GOT-OCR2_0 -[GOT-OCR2_0]({{SITE_URL}}/serverless-api?model=GOT-OCR2_0) 提供功能强大的 OCR 解决方案,能够高精度、快速、全面的提取图像中的文本信息,支持多种语言,适用于各种场景,例如提取身份证、银行卡、PDF 文档、表格、车牌、手写文字、设备铭牌、数学公式等图像信息。 +GOT-OCR2_0 提供功能强大的 OCR 解决方案,能够高精度、快速、全面的提取图像中的文本信息,支持多种语言,适用于各种场景,例如提取身份证、银行卡、PDF 文档、表格、车牌、手写文字、设备铭牌、数学公式等图像信息。 -## 使用方法 +### 使用方法 您可以点击 [GOT-OCR2_0]({{SITE_URL}}/serverless-api?model=GOT-OCR2_0) 在线免费体验。以下是代码调用示例。 - -```bash -curl {{SITE_URL}}/v1/images/ocr \ - -X POST \ - -H "Authorization: Bearer 私人令牌" \ - -F "model=GOT-OCR2_0" - -F "image=@path/to/image.jpg" - -F "response_format=text" -``` - - -```python -import requests -API_URL = "{{SITE_URL}}/v1/images/ocr" -HEADERS = { - "Authorization": "Bearer 私人令牌", -} -def query(image_path, model="GOT-OCR2_0", response_format="text"): - with open(image_path, "rb") as image_file: - response = requests.post( - API_URL, - headers=HEADERS, - files={"image": (image_path, image_file)}, - data={"model": model, "response_format": response_format}, - ) - return response.json() - -output = query("test.jpg") -print(output) # {"text": "xxx"} -``` - + + ```bash showLineNumbers + curl {{SITE_URL}}/v1/images/ocr \ + -X POST \ + -H "Authorization: Bearer 私人令牌" \ + -F "model=GOT-OCR2_0" + -F "image=@path/to/image.jpg" + -F "response_format=text" + ``` + + + ```python showLineNumbers title="python" + import requests + API_URL = "{{SITE_URL}}/v1/images/ocr" + HEADERS = { + "Authorization": "Bearer 私人令牌", + } + def query(image_path, model="GOT-OCR2_0", response_format="text"): + with open(image_path, "rb") as image_file: + response = requests.post( + API_URL, + headers=HEADERS, + files={"image": (image_path, image_file)}, + data={"model": model, "response_format": response_format}, + ) + return response.json() + + output = query("test.jpg") + print(output) # {"text": "xxx"} + ``` -## 参数说明: +### 参数说明: - 私人令牌:用于验证调用身份,点击 [私人令牌]({{SITE_URL}}/dashboard/settings/tokens) 获取 - model:填写 GOT-OCR2_0 指定使用 OCR 大模型 @@ -57,11 +66,11 @@ print(output) # {"text": "xxx"} - 值为 `text` 返回纯文本内容 - 值为 `format` 返回 [mathpix-markdown](https://github.com/Mathpix) 格式内容,建议带数学公式的图片使用该参数 -## 使用示例 +### 使用示例 使用图片: -![image-20250114152140833](./ocr.assets/image-20250114152140833.png) +![image-20250114152140833](../../ocr.assets/image-20250114152140833.png) 执行上文中的代码后将会响应: @@ -69,8 +78,8 @@ print(output) # {"text": "xxx"} { "text": "美迪兰(南京)医疗设备有限公司\n名称:..." } -``` +```` [GOT-OCR2_0]({{SITE_URL}}/serverless-api?model=GOT-OCR2_0)在线体验效果如下: -![image-20250114152442007](./ocr.assets/image-20250114152442007.png) +![image-20250114152442007](../../ocr.assets/image-20250114152442007.png) diff --git a/docs/ability/pdf.md b/docs/products/apis/documents/pdf.md similarity index 78% rename from docs/ability/pdf.md rename to docs/products/apis/documents/pdf.md index a9cbadb9d581067604c2342be48d25b25432a839..a99df1c9cb199f5d51f89467b1050195a47562af 100644 --- a/docs/ability/pdf.md +++ b/docs/products/apis/documents/pdf.md @@ -1,11 +1,21 @@ +--- +sidebar_position: 1 +--- + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# PDF 文档解析 +# 文档解析 + +## 基本介绍 + +文档解析是指通过人工智能模型,从各种格式的文档中提取有价值的信息和内容。它的核心任务是将非结构化或半结构化的文档内容转化为结构化数据,便于后续的分析和处理。文档解析技术广泛应用于知识库建设、数据挖掘、信息检索等领域。 + +目前模型广场已上线的文档解析模型包括:[PDF-Extract-Kit]({{SITE_URL}}/serverless-api?model=PDF-Extract-Kit-1.0) ## PDF-Extract-Kit -[PDF-Extract-Kit]({{SITE_URL}}/serverless-api?model=PDF-Extract-Kit-1.0) 专为从各类复杂 PDF 文档中高效提取高质量内容而设计。它具备以下特点: +PDF-Extract-Kit 专为从各类复杂 PDF 文档中高效提取高质量内容而设计。它具备以下特点: - 能够精确还原原始文档的布局。 - 输出内容为 Markdown 格式,便于阅读。 @@ -22,16 +32,13 @@ import TabItem from '@theme/TabItem'; - 在科研领域,数学、物理、工程等学科中,适用于识别文档中数学公式和复杂表格。 - 在线文档服务与 SaaS 应用,提供一站式文档解析、格式转换和内容抽取服务。 -## 使用方法 +### 使用方法 您可以点击 [PDF-Extract-Kit]({{SITE_URL}}/serverless-api?model=PDF-Extract-Kit-1.0) 在线免费体验。以下是代码调用示例。 - - - -```bash +```bash showLineNumbers curl {{SITE_URL}}/v1/async/documents/parse \ -X POST \ - -H "Authorization: Bearer 你的私人令牌" \ + -H "Authorization: Bearer 您的访问令牌" \ -F "model=PDF-Extract-Kit-1.0" \ -F "is_ocr=true" \ -F "formula_enable=true" \ @@ -40,12 +47,9 @@ import TabItem from '@theme/TabItem'; -F "file=@path/to/file.pdf" ``` - - - -## 参数说明: +### 参数说明: -- 私人令牌:用于验证调用身份,点击 [私人令牌]({{SITE_URL}}/dashboard/settings/tokens) 获取。 +- 私人令牌:用于验证调用身份,点击 [访问令牌]({{SITE_URL}}/dashboard/settings/tokens) 获取。 - model:填写 PDF-Extract-Kit 使用指定的大模型。 - file:需要解析的文件。 - 支持`pdf`, `png`, `jpg`, `gif`, `docx`, `pptx` 格式的文件。 @@ -60,13 +64,13 @@ import TabItem from '@theme/TabItem'; - `doclayout_yolo` (默认值,更快、更准确) - `layoutlmv3` (更稳定) -## 使用示例 +### 使用示例 -![image-20250114152140833](./pdf.assets/pdf.png) +![image-20250114152140833](../../pdf.assets/pdf.png) 该接口为异步接口,需要先提交任务,获取到任务 ID,随后再根据 ID 轮询获取执行结果。CURL 提交任务后将会响应: -```json +```json showLineNumbers { "task_id": "AAC2KETEYJVKER04U6RNMHJTOGLVEG1B", "status": "waiting", @@ -80,12 +84,12 @@ import TabItem from '@theme/TabItem'; 再根据 task_id 获取最终执行结果: -```bash +```bash showLineNumbers curl {{SITE_URL}}/v1/task/AAC2KETEYJVKER04U6RNMHJTOGLVEG1B/ - --header 'Authorization: Bearer 你的私人令牌' + --header 'Authorization: Bearer 您的访问令牌' ``` -```json +```json showLineNumbers { "task_id": "AAC2KETEYJVKER04U6RNMHJTOGLVEG1B", "output": { @@ -112,7 +116,3 @@ curl {{SITE_URL}}/v1/task/AAC2KETEYJVKER04U6RNMHJTOGLVEG1B/ ``` 当响应中的 `status` 变为 `success`,即解析成功。`output` 为解析结果,`segments` 为解析结果分段,分段基于分页或语义逻辑进行划分。 - -:::tip 接口参考 -[接口文档-异步任务]({{SITE_URL}}/docs/openapi/v1#tag/%E5%BC%82%E6%AD%A5%E4%BB%BB%E5%8A%A1/GET/tasks) -::: diff --git a/docs/products/apis/edge/_category_.json b/docs/products/apis/edge/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..7efc925fa722689a79c0a637baebbe9c990703a4 --- /dev/null +++ b/docs/products/apis/edge/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "端侧大模型开发指南", + "position": 11, + "collapsed": true +} \ No newline at end of file diff --git a/docs/best-practice/edge.md b/docs/products/apis/edge/index.md similarity index 74% rename from docs/best-practice/edge.md rename to docs/products/apis/edge/index.md index ac796358c5da7031985c8d0dd2137aeadb693c6f..334e8d9a0b992d8905ddc64103f93882adf351e7 100644 --- a/docs/best-practice/edge.md +++ b/docs/products/apis/edge/index.md @@ -2,17 +2,18 @@ 端侧指的是边缘端的设备,如手机、平板、电脑等。端侧设备一般性能有限,无法运行大参数模型,但是能够运行许多轻量级模型,应用场景广泛。 -Gitee AI联合华为昇腾和香橙派,为开发者提供端侧模型开发套件,帮助开发者快速上手端侧模型推理。 +模力方舟联合华为昇腾和香橙派,为开发者提供端侧模型开发套件,帮助开发者快速上手端侧模型推理。 :::info -目前Gitee AI 正在适配更多模型到端侧并搭配上手教程,敬请期待。 +目前模力方舟正在适配更多模型到端侧并搭配上手教程,敬请期待。 ::: 目前支持的开发板套件及其资料下载: - [Orange Pi AIPro (20T)]() - [Orange Pi AIPro (8T)](http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-AIpro.html) -- Orange Pi AIStudio + +Orange Pi AIStudio 快速入门: - [开发板镜像烧录与环境配置](https://www.mindspore.cn/docs/zh-CN/r2.4.10/orange_pi/environment_setup.html) @@ -26,4 +27,4 @@ Gitee AI联合华为昇腾和香橙派,为开发者提供端侧模型开发套 - [Orange Pi 工具下载](http://www.orangepi.cn/html/serviceAndSupport/index.html) -如果您在使用过程中遇到问题,欢迎[联系我们]({{SITE_URL}}/docs/contact)。 +如果您在使用过程中遇到问题,欢迎 [联系我们](/docs/appendix/contact)。 diff --git a/docs/products/apis/embeddings/_category_.json b/docs/products/apis/embeddings/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..1645a8c8096191be8709f3811d5a12e756272306 --- /dev/null +++ b/docs/products/apis/embeddings/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "向量化与重排", + "position": 5, + "collapsed": true +} \ No newline at end of file diff --git a/docs/products/apis/embeddings/index.md b/docs/products/apis/embeddings/index.md new file mode 100644 index 0000000000000000000000000000000000000000..577b270d9da1894674f9a6ab849590b6bbc27eda --- /dev/null +++ b/docs/products/apis/embeddings/index.md @@ -0,0 +1,110 @@ +import ServerlessAPIServices from '@site/src/components/ServerlessAPIServices'; + +# 向量化与重排 + +## 基本介绍 + +向量化与重排是自然语言处理和信息检索领域的重要技术。它们通过将文本转换为向量表示,帮助计算机理解和处理语言数据。这些技术在搜索引擎、推荐系统和语义分析等应用中发挥着关键作用。 + +:::tip 福利提醒 +模力方舟上已部署的向量化和重排模型 **全部免费,全部免费,全部免费!!!** +::: + +## 模型列表 + +以下是模力方舟上已部署的向量化和重排模型列表: + + + +## 向量化模型 + +向量化模型将文本数据转换为高维向量表示,使得相似的文本在向量空间中距离较近。这些模型通常使用深度学习技术,如 Transformer 架构,来捕捉文本的语义信息。 + +向量模型的最关键参数是维度,维度越高,模型的表达能力越强,但计算和存储成本也会增加,模力方舟上的向量化模型覆盖从 **512** 维到 **4096** 维,请根据实际需要选择。 + +示例代码: + +```python showLineNumbers title="python" +from openai import OpenAI + +client = OpenAI( + base_url="{{SITE_URL}}/v1", + api_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", # 替换为您的令牌 + default_headers={"X-Failover-Enabled":"true"}, +) + +response = client.embeddings.create( + input="你好,我是模力方舟。", + model="Qwen3-Embedding-4B", +) +``` + +## 多模态向量化 + +模力方舟支持多模态向量化模型,可以处理文本、图片等多种输入类型。这些模型能够将不同模态的数据转换为统一的向量表示,便于进行跨模态检索和分析。 + +目前已部署的多模态向量化模型包括: + +- [jina-embeddings-v4]({{SITE_URL}}/serverless-api?model=jina-embeddings-v4) 向量维度为 2048 +- [jina-clip-v1]({{SITE_URL}}/serverless-api?model=jina-clip-v1) 向量维度为 768 +- [jina-clip-v2]({{SITE_URL}}/serverless-api?model=jina-clip-v2) 向量维度为 1024 + +示例代码: + +```python showLineNumbers title="python" +from openai import OpenAI + +client = OpenAI( + base_url="{{SITE_URL}}/v1", + api_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", # 替换为您的令牌 +) + +response = client.embeddings.create( + input=[ + { "text": "a blue cat" }, + { "text": "a dog" }, + { "image": "https://example.com/image.jpg"} + ], + model="jina-embeddings-v4", +) +``` + +## 重排模型 + +重排模型通过对搜索结果进行再排序,提高信息检索的准确性和相关性。这些模型通常基于用户的历史行为和偏好,结合向量化技术,来优化搜索结果的展示顺序。 + +示例代码: + +```python showLineNumbers title="python" +import requests + +API_URL = "{{SITE_URL}}/v1/rerank" +API_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" # 替换为您的令牌 +headers = { + "X-Failover-Enabled": "true", + "Authorization": f"Bearer {API_TOKEN}" +} + +def query(payload): + response = requests.post(API_URL, headers=headers, json=payload) + return response.json() + +output = query({ + "query": "How to read a CSV file in Python?", + "documents": [ + "Use pandas: `import pandas as pd; df = pd.read_csv('data.csv')`", + "You can read CSV files with numpy.loadtxt()", + "To write JSON files, use json.dump() in Python", + "CSV means Comma Separated Values. Python files can be opened using read() method." + ], + "model": "Qwen3-Reranker-4B" +}) +print(output) +``` + +## 应用场景 + +- **信息检索**:通过向量化技术提高搜索引擎的检索效率和准确性。 +- **推荐系统**:利用向量化和重排技术为用户提供个性化的内容推荐。 +- **语义分析**:通过向量化文本数据,帮助理解文本的语义关系和上下文信息。 +- **自然语言处理**:在机器翻译、情感分析等任务中,向量化技术用于表示和处理语言数据。 diff --git a/docs/products/apis/images-vision/_category_.json b/docs/products/apis/images-vision/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..bcf0340973e37a622df8c44d4cabac301d5dd55e --- /dev/null +++ b/docs/products/apis/images-vision/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "图像与视觉", + "position": 2, + "collapsed": true +} \ No newline at end of file diff --git a/docs/products/apis/images-vision/faceid.md b/docs/products/apis/images-vision/faceid.md new file mode 100644 index 0000000000000000000000000000000000000000..6f1303c7ac2c316c9187b1d9f8c853ff08bb9f9c --- /dev/null +++ b/docs/products/apis/images-vision/faceid.md @@ -0,0 +1,142 @@ +--- +sidebar_position: 6 +--- + +# 图像编辑:人脸迁移 + +## 功能描述 + +人脸迁移指的是在图像模型的生图功能基础上,将特定的人脸迁移到生成图像上。用户给定一张带有人物面部的图像,模型会提取该图像人物面部,并在依据提示词在生成图像的过程中,将该面部嵌入到生成图像中。 + +## 支持人脸迁移的模型 + +- [flux-1-schnell]({{SITE_URL}}/serverless-api?model=flux-1-schnell&tab=info) + +## 使用接口调用 + +以下将说明如何通过代码使用人脸迁移接口。 + +### 步骤一:输入API Key并定义请求函数 + +首先获取您的 [访问令牌]({{SITE_URL}}/dashboard/settings/tokens),然后可定义请求函数如下: + +```python showLineNumbers title="python" +import requests +import base64 +from PIL import Image +from io import BytesIO + +API_URL = "{{SITE_URL}}/v1/images/face-migration" +headers = { + "Authorization": "Bearer " +} + +def query(payload): + files = { + "image": (payload["image"], open(payload["image"], "rb")) + } + data = {key: payload[key] for key in payload if key not in files} + response = requests.post(API_URL, headers=headers, files=files, data=data) + return response.json() +``` + +### 步骤二:请求并获得数据结果 + +请求方式如下,不过需要注意 `flux` 模型的提示词 (prompt) 需要是 **英文**。 + +```python showLineNumbers title="python" +output = query({ + "model": "flux-1-schnell", + "image": "liuyifei.png", + "size": "1024x1024", + "guidance_scale": 4, + "num_inference_steps": 4, + "id_weight": 1, + "id_timestep_start": 0, + "prompt": "Portrait painting, delicate sketch style, colored painting, ultra-high-definition, ultra-high pixel count" +}) +``` + +上述代码中的提示词 `Portrait painting, delicate sketch style, colored painting` 要求生成一张 精致的彩色素描肖像化。 +教程使用的id图像如下: + +![input](../../../../static/img/serverless-api/liuyifei.png) + +参数说明: + +- **model**:模型名,此处固定。 +- **image**:本地的图片路径,事实上在函数中可以看到是以二进制的形式传输。 +- **size**:生成图像的尺寸。 +- **guidance_scale**:提示词引导系数,越大则生成图片对提示词的遵从度越高。 +- **num_inference_steps**:生成图片的步数,该模型4步即可生成效果极佳的图片。 +- **id_weight**:id参考图对生成图片的影响度,越大则人脸生成的越像,可以适当调整。 +- **id_timestep_start** :开始在生图时嵌入人脸的步数,越小则在越早的步数中开始生成人脸,就越像。可适当调整。 +- **prompt** :生成图片的提示词,flux支持长文本复杂的提示词,越详细越好,可以放心大胆的写。 + +### 步骤三:解码并保存结果 + +得到的结果为 json,格式如下: + +```json +{ + "data": [ + { + "b64_json": "" + } + ], + "created": "" +} +``` + +数据结果为 Base64 编码的图像,因此需要解码后才能保存,解包、解码如下: + +```python showLineNumbers title="python" +b64data = output['data'][0]['b64_json'] +img = Image.open(BytesIO(base64.b64decode(b64data))) +img.save("/path/to/save/res.jpg") +img.show() +``` + +结果如下图,按照我们的要求,生成了特定人脸的彩色素描肖像化: + +![output](../../../../static/img/serverless-api/flux_face.jpg) + +完整示例代码如下: + +```python showLineNumbers title="python" +import requests +import base64 +from PIL import Image +from io import BytesIO + +API_URL = "https://ai.gitee.com/v1/images/face-migration" +headers = { + "Authorization": "Bearer " +} + +def query(payload): + files = { + "image": (payload["image"], open(payload["image"], "rb")) + } + data = {key: payload[key] for key in payload if key not in files} + response = requests.post(API_URL, headers=headers, files=files, data=data) + return response.json() + +output = query({ + "model": "flux-1-schnell", + "image": "liuyifei.png", + "size": "1024x1024", + "guidance_scale": 4, + "num_inference_steps": 4, + "id_weight": 1, + "id_timestep_start": 0, + "prompt": "a woman holding sign with glowing green text \"Gitee AI\"", +}) + +data = output["data"][0]["b64_json"] + +stream = BytesIO(base64.b64decode(data)) +img = Image.open(stream) +img.save("output.png") +img.show() +``` \ No newline at end of file diff --git a/docs/products/apis/images-vision/fuzzy.md b/docs/products/apis/images-vision/fuzzy.md new file mode 100644 index 0000000000000000000000000000000000000000..fdd48dbe74bad3e524ab2b90e306f3e20497fd33 --- /dev/null +++ b/docs/products/apis/images-vision/fuzzy.md @@ -0,0 +1,193 @@ +--- +sidebar_position: 5 +--- + +# 图像编辑:风格迁移 + +## 功能描述 + +图像滤镜一直是许多应用中常见的功能。使用大模型,可以快速实现图像滤镜功能,不需要复杂的图像处理,就能够快速实现多种滤镜效果。 + +大模型实现滤镜可以通过 图生图、使用 `LORA`、微调模型等多种方式实现。 + +本文我们使用风格迁移接口快速实现图像滤镜功能。相比其他方式,风格迁移接口使用简单,效果显著,能够快速实现多种滤镜效果。 + +## 支持风格迁移的模型 + +- [Kolors]({{SITE_URL}}/serverless-api?model=Kolors&tab=info) +- [HiDream-E1-Full]({{SITE_URL}}/serverless-api?model=HiDream-E1-Full&tab=info) +- [DreamO]({{SITE_URL}}/serverless-api?model=DreamO&tab=info) + +## 体验接口效果 + +### 功能说明 + +Serverless API 提供了接口快速体验的界面,可以快速体验接口效果。 +打开 [Serverless API 页面]({{SITE_URL}}/serverless-api?model=Kolors&operation=41) ,找到图像生成与处理下的 `Kolors` 模型,点击进入接口详情页,切换到风格迁移的 API 。 + +![image-20250113153212170](../../fuzzy.assets/style_web.jpg) + +风格迁移接口中,原图指的是想要进行迁移和修改的图片。提示词和 image 是用以指导原图修改的文本和风格图。 + +### 类吉卜力风格迁移 + +接下来我们用这个接口 完成 类吉卜力画风 的 风格迁移。 + +使用下图,作为参考的图像: + +![20250113164303_吉卜力风格__小清新](../../fuzzy.assets/20250113164303_吉卜力风格__小清新.jpeg) + +使用一张普通的风景图作为原图。 + +![P1012997](../../fuzzy.assets/P1012997.jpeg) + +在页面上填入这些图片,为了让产出的图片更贴合原图,我们将 strength 参数设置为0.4。 + +![image-20250113173048253](../../fuzzy.assets/image-20250113173048253.png) + +输出结果如下: + +![image-20250113173107828](../../fuzzy.assets/image-20250113173107828.png) + +### 毛茸茸风格迁移 + +参考图如下: + +![image-20250114143124824](../../fuzzy.assets/image-20250114143124824.png) + +和前文步骤相同,我们能够通过风格迁移接口快速复制毛茸茸的图片风格。 + +输入如下: + +![image-20250114144653414](../../fuzzy.assets/image-20250114144653414.png) + +输出结果如下: + +![image-20250114144718497](../../fuzzy.assets/image-20250114144718497.png) + +## 调用风格迁移接口 + +完成了功能体验和验证后,接下来我们可以通过代码调用,将上述功能集成到自己的应用中。 + +```python showLineNumbers title="python" +import os +import requests +import base64 +from PIL import Image +from io import BytesIO +from requests_toolbelt import MultipartEncoder + +API_URL = "https://ai.gitee.com/v1/images/style-migration" +headers = { + "Authorization": "Bearer ", +} + +def open_image(img_path): + file_name = os.path.basename(img_path) + return (file_name, open(img_path, "rb"), "application/octet-stream") + +def query(payload): + data = {} + for key, value in payload.items(): + if key == "image": + continue + if key == "style_image": + continue + if value is None: + data[key] = "" + elif isinstance(value, list): + data[key] = ",".join(map(str, value)) + elif isinstance(value, bool): + data[key] = str(value).lower() + else: + data[key] = str(value) + + data["image"] = open_image(payload["image"]) + data["style_image"] = open_image(payload["style_image"]) + multipart_data = MultipartEncoder(fields=data) + headers["Content-Type"] = multipart_data.content_type + response = requests.post(API_URL, headers=headers, data=multipart_data) + return response.json() + +output = query({ + "model": "Kolors", + "size": "1024x1024", + "steps": 25, + "guidance_scale": 6, + "strength": 0.6, + "scale": 0.5, + "prompt": "将女孩照片转为参考图的 jojo 风格", + "style_image": "jojo.jpeg", + "image": "woman1.png", +}) +data = output["data"][0]["b64_json"] + +img = Image.open(BytesIO(base64.b64decode(data))) +img.save("img_style.png") +img.show() +``` + +## 使用场景 + +#### 🎨 艺术创作 + +- **绘画风格转换**:将照片转换为油画、水彩、素描、国画等艺术风格 +- **动漫风格化**:将真实照片转换为动漫、卡通或插画风格 +- **名画风格模仿**:模仿梵高、毕加索、莫奈等大师的绘画风格 +- **文化风格融合**:融合不同文化背景的艺术特色,如中国风、日式、欧式等 + +#### 📸 摄影后期 + +- **滤镜效果**:快速实现复古、胶片、黑白、暖色调等摄影滤镜 +- **氛围营造**:调整图片的整体氛围,如梦幻、神秘、温馨等 +- **季节风格**:将图片转换为春夏秋冬不同季节的视觉效果 +- **时代风格**:营造80年代复古、赛博朋克、蒸汽朋克等时代感 + +#### 🎮 游戏开发 + +- **概念艺术**:为游戏场景、角色创建不同风格的概念图 +- **美术风格统一**:确保游戏内所有素材保持一致的艺术风格 +- **原画制作**:将3D渲染图转换为手绘风格的原画 +- **UI风格化**:为游戏界面元素应用特定的艺术风格 + +#### 🎬 影视制作 + +- **分镜头设计**:为影视作品创建不同风格的分镜草图 +- **后期调色**:实现特定的视觉风格和色调效果 +- **动画风格**:将真人素材转换为动画风格 +- **特效预览**:快速预览不同视觉效果的呈现方式 + +#### 🏢 商业应用 + +- **品牌形象**:为企业创建具有品牌特色的视觉风格 +- **产品展示**:用不同艺术风格展示产品,增强视觉吸引力 +- **广告创意**:快速生成多种风格的广告视觉方案 +- **包装设计**:为产品包装应用特定的艺术风格 + +#### 📱 社交媒体 + +- **个人头像**:制作具有个性化风格的社交媒体头像 +- **内容创作**:为社交平台内容添加独特的视觉风格 +- **表情包制作**:创建具有特定风格的表情包和贴纸 +- **短视频素材**:为短视频制作统一风格的视觉素材 + +#### 🏠 室内设计 + +- **装修预览**:将室内空间图片转换为不同装修风格 +- **风格探索**:快速预览现代、古典、工业、北欧等装修风格 +- **色彩搭配**:尝试不同的色彩方案和材质效果 +- **氛围设计**:营造温馨、简约、奢华等不同的空间氛围 + +#### 📚 教育培训 + +- **艺术教学**:帮助学生理解不同艺术风格的特点 +- **创意启发**:为学生提供创作灵感和参考素材 +- **历史重现**:将现代场景转换为历史时期的视觉风格 +- **文化展示**:展示不同文化背景下的艺术表现形式 + +#### 💼 电商零售 + +- **产品风格化**:为商品图片应用符合目标用户喜好的风格 +- **场景营造**:创建符合品牌调性的购物场景 +- **节日主题**:根据不同节日调整商品展示风格 +- **用户个性化**:为不同用户群体提供个性化的视觉体验 diff --git a/docs/products/apis/images-vision/inpainting.md b/docs/products/apis/images-vision/inpainting.md new file mode 100644 index 0000000000000000000000000000000000000000..157637a0b340b759cbdd55e7dbfa351a653dcecb --- /dev/null +++ b/docs/products/apis/images-vision/inpainting.md @@ -0,0 +1,75 @@ +--- +sidebar_position: 2 +--- + +# 图像编辑:垫图 + +## 功能描述 + +“垫图”功能让您可以通过上传一张图片作为参考基础,再结合您的文本描述,生成一张与上传图片风格或内容相关的新图片。无论是调整颜色、风格,还是丰富细节,垫图都能帮助您在已有图片基础上轻松创建全新视觉效果。 + +简而言之,垫图功能可以让您在已有图片的基础上,生成一张与之相关的新图片。 + +## 支持垫图的模型 + +- [Kolors]({{SITE_URL}}/serverless-api?model=Kolors&tab=info) +- [FLUX.1-Kontext-dev]({{SITE_URL}}/serverless-api?model=FLUX.1-Kontext-dev&tab=info) +- [FLUX.1-Dev]({{SITE_URL}}/serverless-api?model=FLUX.1-dev&tab=info) +- [HiDream-E1-Full]({{SITE_URL}}/serverless-api?model=HiDream-E1-Full&tab=info) + +## 使用方式 + +上传参考图->输入提示词->输入其它参数->点击运行 + +![Image](https://foruda.gitee.com/images/1729563843676749379/6ca35c1d_14415575.jpeg) + +## 示例效果 + +| 参考图 | prompt | 结果 | +| ----------------------------------------------------------------------------------- | ------------------------------------------ | --------------------------------------------------------------------------------------------- | +| ![Image](https://foruda.gitee.com/images/1729492513893163648/03bd7fd3_14415575.png) | 穿着黑色的T恤衫,上面中文绿色大写着“hello” | ![Image](https://gitee-ai-testing.su.bcebos.com/v1/uploads/img/news_cover_9-user-guide3.png) | +| ![Image](https://foruda.gitee.com/images/1729492538626036018/5fe7bace_14415575.png) | 一只微笑的兔子奔跑 | ![Image](https://gitee-ai-testing.su.bcebos.com/v1/uploads/img/news_cover_10-user-guide5.png) | + +## 使用场景 + +#### 🎨 风格转换 + +- **艺术风格化**:将普通照片转换为油画、水彩、素描等艺术风格 +- **时代风格**:将现代照片转换为复古、赛博朋克、蒸汽朋克等特定时代风格 +- **文化风格**:转换为中国风、日式、欧式等不同文化背景的视觉风格 + +#### 🏞️ 场景重构 + +- **环境改变**:将室内场景转为户外,或改变季节、天气条件 +- **背景替换**:保持主体不变,更换全新的背景环境 +- **氛围营造**:调整光线、色调来营造不同的情感氛围 + +#### 👔 服装与造型 + +- **服装设计**:为人物更换不同款式、颜色的服装 +- **发型变化**:尝试不同的发型和发色搭配 +- **妆容调整**:改变妆容风格,从日常到晚宴等不同场合 + +#### 🏗️ 建筑与空间 + +- **室内设计**:改变房间的装修风格、家具布局 +- **建筑改造**:为建筑外观添加不同的设计元素 +- **景观设计**:调整户外空间的植被、装饰等 + +#### 📱 产品展示 + +- **产品变体**:展示产品的不同颜色、材质版本 +- **场景应用**:将产品放置在不同的使用场景中 +- **包装设计**:为产品设计不同风格的包装外观 + +#### 🎭 创意设计 + +- **概念艺术**:为游戏、电影等创作概念设计图 +- **广告创意**:快速生成广告视觉创意的多个方案 +- **插画创作**:基于草图或参考图创作精美插画 + +#### 🔧 图像修复与增强 + +- **细节丰富**:为简单的草图添加丰富的细节和质感 +- **分辨率提升**:在提高图像质量的同时保持原有特征 +- **损坏修复**:修复老照片的破损部分并保持原有风格 diff --git a/docs/ability/florence-2-large.md b/docs/products/apis/images-vision/object-detection.md similarity index 66% rename from docs/ability/florence-2-large.md rename to docs/products/apis/images-vision/object-detection.md index b47088f4a8a51c72d0579474544cf17ecaf92d8f..4d9a8073b3c7b0fd282bde9ed412d70427f7482b 100644 --- a/docs/ability/florence-2-large.md +++ b/docs/products/apis/images-vision/object-detection.md @@ -1,24 +1,26 @@ -# 图像物体检测与描述 +--- +sidebar_position: 7 +--- -Florence-2-large是微软出品的开源多功能图像标记模型,可以辅助标记图像内容、生成图像描述、识别目标等。 +# 物体检测与描述 -得益于大模型架构,Florence-2还支持使用提示词定向标记图中特定对象。 +模力方舟上通过 [Florence-2-large]({{SITE_URL}}/serverless-api?model=Florence-2-large&tab=info) 模型提供了图像标记的能力。 -Gitee AI的Serverless API服务 优化并提供了该模型开箱即用的API,将繁杂的功能整合为更易使用的接口。 - -您可以通过界面快速[体验]({{SITE_URL}}/serverless-api/florence-2-large)接口能力。下面将基于代码调用介绍该接口的能力。 +`Florence-2-large` 是微软出品的开源多功能图像标记模型,可以辅助标记图像内容、生成图像描述、识别目标等。得益于大模型架构,`Florence-2` 还支持使用提示词定向标记图中特定对象。 :::tip 该模型仅支持**英文**输入输出,因此无论是输入的提示词还是识别的内容和输出的结果**都将是英文的**,任何其它语言的信息都会导致模型出现无法预计的输出结果。 ::: +下面介绍如何在代码中使用 `Florence-2-large` 模型进行图像标记。 + ## 准备工作 -首先获取你的[API Key]({{SITE_URL}}/dashboard/settings/tokens),然后可定义请求函数如下。 +首先获取您的 [访问令牌]({{SITE_URL}}/dashboard/settings/tokens) ,然后可定义请求函数如下。 -接口的使用以Python代码为例,下面将分别演示“图像描述”与“目标识别”两个功能项的使用方法。在开始前先定义请求函数如下: +接口的使用以 Python 代码为例,下面将分别演示“图像描述”与“目标识别”两个功能项的使用方法。在开始前先定义请求函数如下: -```python +```python showLineNumbers title="python" import requests headers = { @@ -41,14 +43,14 @@ def query(url, payload): 下文中使用的图片示例为: -![](../../static/img/base/florence-2-image.webp) +![](../../../../static/img/base/florence-2-image.webp) ## 1. 图像描述生成 该功能可以获取用户输入的图片的自然语言描述。 -使用上文的query函数,发起请求如下: +使用上文的 query 函数,发起请求如下: -```python +```python showLineNumbers title="python" output = query(url_caption, { "model": "Florence-2-large", "image": "path/to/image.jpg", @@ -58,44 +60,44 @@ output = query(url_caption, { 请求参数说明: -- `image`:需要进行描述的图片,仅支持输入一张图片。 -- `caption_level`:需要描述图片的详细程度,**支持0、1、2三个等级**,等级越高则描述得越详细,输出的字数越多。等级可根据需求进行调整,若不填写则采用默认等级0。 +- `image` :需要进行描述的图片,仅支持输入一张图片。 +- `caption_level` :需要描述图片的详细程度,**支持0、1、2三个等级**,等级越高则描述得越详细,输出的字数越多。等级可根据需求进行调整,若不填写则采用默认等级 0 。 -设置 `caption_level=0`时输出如下: +设置 `caption_level=0` 时输出如下: > A woman and a little girl walking down a dirt road. -设置 `caption_level=1`时输出如下: +设置 `caption_level=1` 时输出如下: > The image shows a woman and a little girl walking down a dirt road, hand in hand, with a horse in the background. The sky is filled with clouds and the ground is covered with lush green grass. The image is animated, giving it a whimsical feel. -设置 `caption_level=2`时输出如下: +设置 `caption_level=2` 时输出如下: > The image is an illustration of a mother and daughter walking hand in hand in a field. The mother is wearing a long white dress with pink flowers on it and has long blonde hair. She is holding the hand of the daughter, who is also wearing a purple dress. They are both smiling and appear to be enjoying each other's company. > In the background, there is a fence with wooden posts and a horse grazing on the grass. The sky is filled with fluffy white clouds and the sun is shining brightly, creating a warm glow. The field is covered in yellow flowers and there are hills in the distance. The overall mood of the image is peaceful and serene. -从结果中可以直观的感受到`caption_level`级别越高,描述结果越详细,您可根据需求选择不同的等级。 +从结果中可以直观的感受到 `caption_level` 级别越高,描述结果越详细,您可根据需求选择不同的等级。 ## 2. 目标识别 该功能通过在请求中输入一张图片,获得该图片主体目标的标签和位置信息。 -与传统的目标识别不同的是,大模型的目标识别不提供标签的置信度,每个结果都是确定的。但是大模型支持输入提示词参数 `prompt`进行辅助,并且能有更详细的标签描述,不需要提前预置标签。 +与传统的目标识别不同的是,大模型的目标识别不提供标签的置信度,每个结果都是确定的。但是大模型支持输入提示词参数 `prompt` 进行辅助,并且能有更详细的标签描述,不需要提前预置标签。 -以是否输入 `prompt`作为区分,该功能可分为"传统目标识别"和“指令目标识别” +以是否输入 `prompt` 作为区分,该功能可分为"传统目标识别"和“指令目标识别” ### 2.1 传统目标识别 该识别方法类似传统的目标识别任务,能够响应标签与目标矩形的坐标。基于该方法的请求代码如下: -代码中仅使用 `image`和 `caption_level`两个参数: +代码中仅使用 `image` 和 `caption_level` 两个参数: -- `image`:需要进行描述的图片,仅支持输入一张图片。 -- `caption_level`:需要描述图片的详细程度,**支持0、1两个个等级**,等级越高则描述得越详细,输出的字数越多。等级可根据需求进行调整,若不填写则采用默认等级0。 +- `image` :需要进行描述的图片,仅支持输入一张图片。 +- `caption_level` :需要描述图片的详细程度,**支持 0、1 两个等级**,等级越高则描述得越详细,输出的字数越多。等级可根据需求进行调整,若不填写则采用默认等级 0 。 使用如下的请求代码: -```python +```python showLineNumbers title="python" output = query({ "model": "Florence-2-large", "image": "path/to/image.jpg", @@ -117,15 +119,15 @@ output = query({ } ``` -是一个json格式,详细说明如下: +是一个 json 格式,详细说明如下: -- `num_objects`:识别到图中目标的数量。 -- `objects`:一个数组对象,数组中的每个对象包含了每个目标的标签和位置。 - - `label`:该目标的标签信息。 - - `bbox`:该目标的位置,是一个四元组,可两两分组为 `(x1,y1), (x2,y2)`,分别表示矩形框左上角和右下角的坐标。 +- `num_objects` :识别到图中目标的数量。 +- `objects` :一个数组对象,数组中的每个对象包含了每个目标的标签和位置。 + - `label` :该目标的标签信息。 + - `bbox` :该目标的位置,是一个四元组,可两两分组为 `(x1,y1), (x2,y2)`,分别表示矩形框左上角和右下角的坐标。 我们使用相同的示例图片。 -设置 `caption_level=0`时输出如下: +设置 `caption_level=0` 时输出如下: ```json { @@ -168,7 +170,7 @@ output = query({ } ``` -设置 `caption_level=1`时输出如下: +设置 `caption_level=1` 时输出如下: ```json { @@ -206,22 +208,22 @@ output = query({ } ``` -值得注意的是,设置不同的 `caption_level`可能会出现**完全不同**的识别结果。 +值得注意的是,设置不同的 `caption_level` 可能会出现**完全不同**的识别结果。 -上文结果中,``等级0识别出的物体数目要多于等级1的``,等级1识别出的物体的描述要比等级0的更加详细。 +上文结果中,`` 等级0识别出的物体数目要多于等级1的 `` ,等级1识别出的物体的描述要比等级0的更加详细。 这是因为等级越高,描述得更加详细,模型越倾向于寻找复杂的物体,目标的描述的更复杂,描述质量更高。 换句话说,等级越低,模型越偏向于选择简单的目标,描述更加简短,结果中的物体会更多。因此,您可以根据这样的经验选择合适的参数进行目标识别。 ### 2.2 指令目标识别 -该功能在请求输入一张图片的同时,还要输入一句 `prompt`提示词。 +该功能在请求输入一张图片的同时,还要输入一句 `prompt` 提示词。 -模型将提取 `prompt`中与图片内容相关的词语作为标签结果进行目标识别。如下文,我们在prompt中写了`beautiful girl in the image`,模型就会识别图像中的`beautiful girl`并响应标签和目标位置。 +模型将提取 `prompt` 中与图片内容相关的词语作为标签结果进行目标识别。如下文,我们在prompt中写了 `beautiful girl in the image` ,模型就会识别图像中的 `beautiful girl` 并响应标签和目标位置。 -注意,若使用了 `prompt`参数,`caption_level`参数将会失效,标签内容的详细程度将由提示词决定。 +注意,若使用了 `prompt` 参数,`caption_level` 参数将会失效,标签内容的详细程度将由提示词决定。 -```python +```python showLineNumbers title="python" output = query(url_onject_detection, { "model": "Florence-2-large", "image": "path/to/image.jpg", @@ -231,8 +233,8 @@ output = query(url_onject_detection, { 请求参数说明: -- `image`:需要进行描述的图片,仅支持输入一张图片。 -- `prompt`:辅助提示词。 +- `image` :需要进行描述的图片,仅支持输入一张图片。 +- `prompt` :辅助提示词。 请求结果如下: @@ -257,9 +259,9 @@ output = query(url_onject_detection, { } ``` -从请求结果中可以看到,模型发现 `prompt`中的`beautiful girl`的语义与图中的两个女孩子相近,因此模型识别到了这两个目标,给出了 `bbox`目标位置,同时标签使用我们在 `prompt`中的词语或短句。 +从请求结果中可以看到,模型发现 `prompt` 中的 `beautiful girl` 的语义与图中的两个女孩子相近,因此模型识别到了这两个目标,给出了 `bbox` 目标位置,同时标签使用我们在 `prompt` 中的词语或短句。 -该功能适合用于当您想对图中指定的主体对象进行标记时,模型会使用咱们 `prompt`内的词语作为 `label`给到具体的标记对象。 +该功能适合用于当您想对图中指定的主体对象进行标记时,模型会使用咱们 `prompt` 内的词语作为 `label` 给到具体的标记对象。 :::tip 偷偷告诉您,我们发现热门影视动漫角色模型也能识别到哦(我们试过《星球大战》以及《海贼王》),可以尝试玩一下~ @@ -269,7 +271,7 @@ output = query(url_onject_detection, { 在目标识别获得标签后,为了更好的看到标记效果,我们提供一个绘制结果的函数供参考,代码如下: -```python +```python showLineNumbers title="python" from PIL import Image, ImageDraw, ImageFont def draw_labelled_bbox(image, bbox, label): @@ -327,7 +329,7 @@ image.show() image.save("/path/to/save.jpg") ``` -示例图片和具体的标签结果 `obj`为例: +示例图片和具体的标签结果 `obj` 为例: ```json { @@ -338,9 +340,9 @@ image.save("/path/to/save.jpg") } ``` -将结果转为python中的 `dict`类,我们使用如下代码调用函数: +将结果转为python中的 `dict` 类,我们使用如下代码调用函数: -```python +```python showLineNumbers title="python" image = loaded_image label = obj['label'] bbox = obj['bbox'] @@ -351,7 +353,7 @@ image.show() 可得到标注结果如下图所示: -![](../../static/img/base/florence-tag-res.jpg) +![](../../../../static/img/base/florence-tag-res.jpg) 示例代码中有字体和调用相关的注释,您可以根据需求更改。 diff --git a/docs/ability/image-generation-user-guide.md b/docs/products/apis/images-vision/partial-repaint.md similarity index 37% rename from docs/ability/image-generation-user-guide.md rename to docs/products/apis/images-vision/partial-repaint.md index 0092f93b4b9a87746dc77479704db8a7a9925bce..3738160c63272d7c6d0d522001dbf229f0f4676b 100644 --- a/docs/ability/image-generation-user-guide.md +++ b/docs/products/apis/images-vision/partial-repaint.md @@ -1,92 +1,74 @@ -# 图片生成-使用指南 +--- +sidebar_position: 4 +--- -## 文生图 +# 图像编辑:局部重绘 -### 垫图 - -**功能描述:** - -“垫图”功能让您可以通过上传一张图片作为参考基础,再结合您的文本描述,生成一张与上传图片风格或内容相关的新图片。无论是调整颜色、风格,还是丰富细节,垫图都能帮助您在已有图片基础上轻松创建全新视觉效果。 - -**特性:** - -可以保持跟参考图一样的风格,生成一张全新的图片 - -**使用方式:** - -上传参考图->输入提示词->输入其它参数->点击运行 - -> ![Image](https://foruda.gitee.com/images/1729563843676749379/6ca35c1d_14415575.jpeg) - -**示例:** - -| 参考图 | prompt | 结果 | -| ----------------------------------------------------------------------------------- | ------------------------------------------ | --------------------------------------------------------------------------------------------- | -| ![Image](https://foruda.gitee.com/images/1729492513893163648/03bd7fd3_14415575.png) | 穿着黑色的T恤衫,上面中文绿色大写着“hello” | ![Image](https://gitee-ai-testing.su.bcebos.com/v1/uploads/img/news_cover_9-user-guide3.png) | -| ![Image](https://foruda.gitee.com/images/1729492538626036018/5fe7bace_14415575.png) | 一只微笑的兔子奔跑 | ![Image](https://gitee-ai-testing.su.bcebos.com/v1/uploads/img/news_cover_10-user-guide5.png) | - -## 图生图 - -### 局部重绘 - -**功能描述:** +## 功能描述 "局部重绘"功能让您可以轻松修补、修改或重绘图像中的特定区域。通过选择需要重绘的区域并输入您的期望,智能填补缺失部分或替换瑕疵区域,保持原图风格一致。 -**特性:** +简而言之,局部重绘功能可以让您在已有图片的基础上,修改或替换特定区域的内容。 -可以保持跟原图一致,只修改指定部分 +## 支持局部重绘的模型 -**使用方式:** +- [Kolors]({{SITE_URL}}/serverless-api?model=Kolors&tab=info) +- [FLUX.1-Dev]({{SITE_URL}}/serverless-api?model=FLUX.1-dev&tab=info) +- [FLUX.1-Kontext-dev]({{SITE_URL}}/serverless-api?model=FLUX.1-Kontext-dev&tab=info) + +## 使用方式 上传原图->上传图层->输入提示词->输入其它参数->点击运行 -> ![Image](https://foruda.gitee.com/images/1729564620777315028/0737ae03_14415575.jpeg) +![局部重绘](https://foruda.gitee.com/images/1729564620777315028/0737ae03_14415575.jpeg) -**示例:** +## 示例效果 | 参考图 | 图层 | prompt | 结果 | | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | | ![Image](https://foruda.gitee.com/images/1729492589364653082/4af32ae7_14415575.png) | ![Image](https://foruda.gitee.com/images/1729492604658575880/02103d7d_14415575.png) | 穿着美少女战士的衣服,一件类似于水手服风格的衣服,包括一个白色紧身上衣,前胸搭配一个大大的红色蝴蝶结。衣服的领子部分呈蓝色,并且有白色条纹。她还穿着一条蓝色百褶裙,超高清,辛烷渲染,高级质感,32k,高分辨率,最好的质量,超级细节,景深 | ![Image](https://foruda.gitee.com/images/1729510320514796520/affd853e_14415575.jpeg) | | ![Image](https://foruda.gitee.com/images/1729492724529895938/8039019e_14415575.png) | ![Image](https://foruda.gitee.com/images/1729492743609546551/870abb50_14415575.png) | 这是一幅令人垂涎欲滴的火锅画面,各种美味的食材在翻滚的锅中煮着,散发出的热气和香气令人陶醉。火红的辣椒和鲜艳的辣椒油熠熠生辉,具有诱人的招人入胜之色彩。锅内肉质细腻的薄切牛肉、爽口的豆腐皮、鲍汁浓郁的金针菇、爽脆的蔬菜,融合在一起,营造出五彩斑斓的视觉呈现 | ![Image](https://foruda.gitee.com/images/1729510496525173718/68e75386_14415575.jpeg) | -### 风格迁移 - -**功能描述:** - -支持将一张图像的风格(风格图)与另一张图像的内容(内容图)进行融合,在保持内容图结构特征的同时,将风格图的风格细节迁移到内容图上。 - -**特性:** +## 使用场景 -保持与原图结构特征一致 +#### 🎨 风格转换 -**使用方式:** +- **艺术风格化**:将普通照片转换为油画、水彩、素描等艺术风格 +- **时代风格**:将现代照片转换为复古、赛博朋克、蒸汽朋克等特定时代风格 +- **文化风格**:转换为中国风、日式、欧式等不同文化背景的视觉风格 -上传原图->上传风格图->输入提示词->输入其它参数->点击运行 +#### 🏞️ 场景重构 -> ![Image](https://foruda.gitee.com/images/1730717653844390098/cc93294b_14415575.jpeg) +- **环境改变**:将室内场景转为户外,或改变季节、天气条件 +- **背景替换**:保持主体不变,更换全新的背景环境 +- **氛围营造**:调整光线、色调来营造不同的情感氛围 -**示例:** +#### 👔 服装与造型 -| 原图 | 风格图 | prompt | 结果 | -| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -| ![Image](https://foruda.gitee.com/images/1730717315869167857/f68fd614_14415575.png) | ![Image](https://foruda.gitee.com/images/1730717335606745953/3f8d2e96_14415575.jpeg) | 一个漂亮的女孩,最好的质量,超细节,8K画质 | ![Image](https://foruda.gitee.com/images/1730717435094009374/ae4b7808_14415575.jpeg) | -| ![Image](https://foruda.gitee.com/images/1730717785390462554/1b427e52_14415575.png) | ![Image](https://foruda.gitee.com/images/1730717865249521755/b04232ab_14415575.jpeg) | 一位穿着紫色泡泡袖连衣裙、戴着皇冠和白色蕾丝手套的女孩,超高分辨率,最佳品质,8k画质 | ![Image](https://foruda.gitee.com/images/1730717691098923785/8f9c895d_14415575.jpeg) | +- **服装设计**:为人物更换不同款式、颜色的服装 +- **发型变化**:尝试不同的发型和发色搭配 +- **妆容调整**:改变妆容风格,从日常到晚宴等不同场合 -### 使用技巧 +#### 🏗️ 建筑与空间 -**如何让生成的图片更符合我们的预期?** +- **室内设计**:改变房间的装修风格、家具布局 +- **建筑改造**:为建筑外观添加不同的设计元素 +- **景观设计**:调整户外空间的植被、装饰等 -1. 准确使用提示词 +#### 📱 产品展示 -提示词是帮助模型理解您的意图并生成图像的关键。通过输入具体的内容和效果,您可以得到更准确和稳定的生成结果。为了提高生成图像的质量,可以使用5W1H公式来构建提示词: +- **产品变体**:展示产品的不同颜色、材质版本 +- **场景应用**:将产品放置在不同的使用场景中 +- **包装设计**:为产品设计不同风格的包装外观 -| WHO | WHAT | WHEN | WHERE | WHY | HOW | -| --- | -------- | -------- | ------ | ------ | -------------- | -| 谁 | 长什么样 | 什么时候 | 在哪里 | 做什么 | 画面细节什么样 | +#### 🎭 创意设计 -**如何生成图层?** +- **概念艺术**:为游戏、电影等创作概念设计图 +- **广告创意**:快速生成广告视觉创意的多个方案 +- **插画创作**:基于草图或参考图创作精美插画 -推荐使用以下工具帮助快速生成图层 +#### 🔧 图像修复与增强 -[快捷生成图层工具]({{SITE_URL}}/apps/wang-tu1357/tuxiangyanmashengchengqi) +- **细节丰富**:为简单的草图添加丰富的细节和质感 +- **分辨率提升**:在提高图像质量的同时保持原有特征 +- **损坏修复**:修复老照片的破损部分并保持原有风格 diff --git a/docs/products/apis/images-vision/text2image.md b/docs/products/apis/images-vision/text2image.md new file mode 100644 index 0000000000000000000000000000000000000000..528f25aab818872cade9b1df18aba5307858eb51 --- /dev/null +++ b/docs/products/apis/images-vision/text2image.md @@ -0,0 +1,102 @@ +--- +sidebar_position: 1 +--- + +import ServerlessAPIServices from '@site/src/components/ServerlessAPIServices'; + +# 文生图 + +## 功能描述 + +文生图模型可以根据用户输入的文本描述生成相应的图像。该模型支持多种风格和主题,能够生成高质量的图像,适用于创意设计、艺术创作等多个领域。 + +![模型参数](/img/serverless-api/model-args.jpg) + +:::info 注意事项 +同是文生图模型,但不同模型的调用参数可能不一致,具体的参数以及参数的意思请参考对应模型的体验界面。 +::: + +## 文生图模型列表 + +模力方舟提供非常丰富的文生图模型,您可以在 [模型广场]({{SITE_URL}}/serverless-api#image_generation) 中查看和体验这些模型。 + + + +## 调用文生图模型 + +### 使用 OpenAI SDK + +您可以使用 OpenAI 的 SDK 来调用文生图模型。以下是一个使用 Python 的示例: + +```python showLineNumbers title="python" +from openai import OpenAI +import base64 + +client = OpenAI( + base_url="{{SITE_URL}}/v1", + api_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", # 替换为您的 API Key + default_headers={"X-Failover-Enabled":"true"}, +) + +response = client.images.generate( + prompt="a white siamese cat", # 替换为您的文本描述 + model="Kolors", # 替换为您选择的模型名称 + size="1024x1024", + extra_body={ + "num_inference_steps": 25, + "guidance_scale": 7.5, + }, +) + +image_base64 = response.data[0].b64_json +image_bytes = base64.b64decode(image_base64) + +# Save the image to a file +with open("Kolors-output.png", "wb") as f: + f.write(image_bytes) +``` + +### 使用 Requests 库 + +如果您不想使用 OpenAI 的 SDK,也可以直接使用 `requests` 库来调用文生图模型。以下是一个使用 Python 的示例: + +```python showLineNumbers title="python" +import requests +import base64 +import json + +url = "{{SITE_URL}}/v1/images/generations" + +headers = { + "Authorization": "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", # 替换为您的 API Key + "Content-Type": "application/json", + "X-Failover-Enabled": "true" +} + +data = { + "prompt": "a white siamese cat", # 替换为您的文本描述 + "model": "Kolors", # 替换为您选择的模型名称 + "size": "1024x1024", + "response_format": "b64_json", + "num_inference_steps": 25, + "guidance_scale": 7.5 +} + +response = requests.post(url, headers=headers, json=data) + +if response.status_code == 200: + result = response.json() + image_base64 = result["data"][0]["b64_json"] + image_bytes = base64.b64decode(image_base64) + + # 保存图片到文件 + with open("Kolors-output.png", "wb") as f: + f.write(image_bytes) + + print("图片生成成功并已保存为 Kolors-output.png") +else: + print(f"请求失败,状态码: {response.status_code}") + print(f"错误信息: {response.text}") +``` + +其他编程语言可以参考 [接口文档]({{SITE_URL}}/docs/openapi/v1#tag/图像生成/post/async/images/generations) 中的示例代码。 diff --git a/docs/products/apis/images-vision/visions.md b/docs/products/apis/images-vision/visions.md new file mode 100644 index 0000000000000000000000000000000000000000..d8c05056d3fd82fafacefba428462ba52bd6d1e8 --- /dev/null +++ b/docs/products/apis/images-vision/visions.md @@ -0,0 +1,112 @@ +--- +sidebar_position: 7 +--- + +import ServerlessAPIServices from '@site/src/components/ServerlessAPIServices'; + +# 视觉模型 + +## 功能描述 + +视觉模型是一类专门用于处理和理解图像、视频等视觉信息的人工智能模型。这些模型通过深度学习技术,能够像人类一样"看懂"图像内容,并执行各种视觉相关的任务。 + +视觉模型的核心能力包括图像识别、内容理解、特征提取和模式匹配等。它们广泛应用于自动驾驶、医疗影像分析、安全监控、内容审核等领域,帮助人们更高效地处理和利用视觉数据。 + +## 视觉模型一览表 + + + +## 使用方法 + +给定一张图,并输入相应的提示词,模型根据提示词的要求返回结果文本信息。 + +![视觉模型体验](/img/serverless-api/visions.jpg) + +## 示例代码 + +```python showLineNumbers title="python" +from openai import OpenAI + +client = OpenAI( + base_url="{{SITE_URL}}/v1", + api_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", # 替换为您的访问令牌 +) + +response = client.chat.completions.create( + messages=[ + { + "role": "system", + "content": "You are a helpful and harmless assistant. You should think step-by-step." + }, + { + "role": "user", + "content": [ + { + "type": "image_url", + "image_url": { + "url": "https://example.com/image.jpg" # 替换为您的图片URL + } + }, + { + "type": "text", + "text": "Please describe this image" # 替换为您的提示词 + } + ] + } + ], + model="InternVL3-78B", + stream=True, + max_tokens=512, + temperature=0.7, + top_p=1, + extra_body={ + "top_k": 1, + }, + frequency_penalty=0, +) + +fullResponse = "" +print("Response:") +# Print streaming response +for chunk in response: + delta = chunk.choices[0].delta + # If is thinking content, print it in gray + if hasattr(delta, 'reasoning_content') and delta.reasoning_content: + fullResponse += delta.reasoning_content + print(f"\033[90m{delta.reasoning_content}\033[0m", end="", flush=True) + elif delta.content: + fullResponse += delta.content + print(delta.content, end="", flush=True) +``` + +## 使用场景 + +#### 🛡️ 内容审核 + +- **违规内容检测**:识别不当或违规图像内容 +- **质量评估**:评估图像的质量和适用性 +- **版权保护**:检测图像的版权和来源信息 + +#### 🏥 医疗诊断 + +- **医学影像分析**:分析X光、CT、MRI等医学图像 +- **病变检测**:识别和定位病变区域 +- **辅助诊断**:为医生提供诊断建议和参考 + +#### 🚗 自动驾驶 + +- **环境感知**:识别道路、车辆、行人等交通元素 +- **障碍物检测**:实时检测道路上的障碍物 +- **交通标识识别**:识别交通信号灯、标志牌等 + +#### 🛒 电商零售 + +- **商品识别**:自动识别和分类商品 +- **相似商品推荐**:基于视觉相似性推荐商品 +- **库存管理**:通过图像识别进行库存盘点 + +#### 🏭 工业检测 + +- **质量控制**:检测产品的缺陷和质量问题 +- **安全监控**:监控工业环境的安全状况 +- **设备维护**:通过视觉检测进行设备状态评估 diff --git a/docs/ability/serverless-api.mdx b/docs/products/apis/index.md similarity index 32% rename from docs/ability/serverless-api.mdx rename to docs/products/apis/index.md index c3e8e2e468b7609d09578366d68d5b690e1ae3b0..626673680995142d9da231bd8d68bd44f043b57d 100644 --- a/docs/ability/serverless-api.mdx +++ b/docs/products/apis/index.md @@ -1,43 +1,65 @@ +--- +description: 模型广场 (Serverless API) 为开发者提供一个便捷的方式来调用不同种类的模型,无需关心底层的硬件或管理服务器。此 API 只需通过简单的 HTTP 请求就可以使用模力方舟的各种模型服务。 +--- + import ServerlessAPIServices from '@site/src/components/ServerlessAPIServices'; -# Serverless API 模型概览 +# 模型广场 (Serverless API) 概览 -Serverless API 为开发者提供一个便捷的方式来调用不同种类的模型,无需关心底层的硬件或管理服务器。此 API 支持通过简单的 HTTP 请求在 Gitee AI 的共享基础设施上进行快速推理。 +模型广场 (Serverless API) 为开发者提供一个便捷的方式来调用不同种类的模型,无需关心底层的硬件或管理服务器。 +此 API 只需通过简单的 HTTP 请求就可以使用模力方舟的各种模型服务。 -## 体验 Serverless API +## 体验模型服务 -您可以在 [Serverless API 体验页面]({{SITE_URL}}/serverless-api),浏览我们精选的模型,免费体验不同模型的生成效果,也可调用 API。 +您可以在 [模型广场]({{SITE_URL}}/serverless-api),浏览我们精选的模型,免费体验不同模型的生成效果,也可调用 API。 -目前我们支持的模型包括不限于以下几个,排序按照上线时间倒序: +目前已部署了十几个品类的超过 100 个的模型,以下是大语言模型列表: - + 更多的模型 API 服务逐步添加中... -## 购买 Serverless API +## 购买模型资源包 **购买流程:** -1. **选择模型:** 访问 Serverless API 体验,挑选一个适合你需求的模型。如果您不确定选择,可以体验模型挂件,以了解模型的推理效果。在体验模型挂件时,可以选择该不同的 API 以及在不同算力上的效果。 -2. **购买资源包**:体验完模型挂件后,可以直接点击右下方“购买”按钮购买模型对应算力的资源包,选择归属于自己或组织,选择购买的金额。 -3. **创建订单并付款**:完成付款后,在工作台界面-Serverless API 可调用已购 API。 +1. **在线体验模型:** 访问 [模型广场]({{SITE_URL}}/serverless-api) 浏览已部署的模型列表,您可以免费在线体验这些模型的效果。 +2. **购买资源包**:在模型广场中点击 [购买全模型资源包]({{SITE_URL}}/serverless-api/order?package=1910) ,选择归属于自己或组织购及购买的金额。 +3. **创建订单并付款**:完成付款后,在 [模型广场]({{SITE_URL}}/serverless-api) 体验所有的模型或者通过 API 调用这些模型。 -![输入图片说明](/img/base/serverless-package-purchase.jpeg) +![购买全模型资源包](/img/purchase/purchase03.png) **计费说明:** -- **计费规则**:按调用次数计费,购买了同一个资源包多次,并且调用时访问令牌未绑定具体资源包时,将按购买先后顺序依次扣费 -- **退订规则**:使用中的资源不支持在线退订,如有需要请[联系我们]({{SITE_URL}}/about) +- **计费规则**:支持按调用次数和按 `tokens` 计费两种方式,按需选择,多次购买了同一个资源包并且调用时访问令牌未绑定具体资源包时,将按照购买先后顺序扣费 +- **退订规则**:使用中的模型资源包不支持退款。 + +更完整的模型包购买说明请访问 [购买模型资源包](/docs/billing/purchase) ## 本地调用 API 进行推理 如果您想要通过 Serverless API 进行模型推理,请遵循以下步骤: -1. **创建访问令牌**:您需要登录账号,在工作台-账户设置中,找到“访问令牌”,创建一个授权访问所选资源的令牌;如果您希望为某个“访问令牌”绑定某个资源包,也可以创建一个支持访问“部分资源”的“访问令牌”。 -2. **调用 Serverless API**:在工作台 Serverless API 列表中,选择购买的资源包点击“模型调用”,点击某个模型的“调用”,选择刚创建访问令牌,先通过挂件进行测试 +1. **创建访问令牌**:您需要登录账号,前往 [**工作台->设置->访问令牌**]({{SITE_URL}}/dashboard/settings/tokens) ,创建一个授权访问所选资源的令牌;如果您希望为某个“访问令牌”绑定某个资源包,也可以创建一个支持访问“部分资源”的“访问令牌”。 +2. **调用 Serverless API**:在 [AI 模型广场]({{SITE_URL}}/serverless-api) 中,选择已购的模型资源包 + + ![选择模型资源包](/img/serverless-api/select-api.png) + + 点击 `体验` 所需模型 + + ![体验模型](/img/serverless-api/experience-api.png) + + 选择有授权对应资源包的访问令牌 + + ![选择授权该资源包的令牌](/img/serverless-api/select-token.png) + + 若您购买了全模型资源包,则可以调用 [AI 模型广场]({{SITE_URL}}/serverless-api) 的所有模型 + + ![全模型调用](/img/serverless-api/all-api.png) + 3. **本地调用 API 进行推理**:通过挂件测试正常,可以选择 “API” 形式调用,选择对应的编程语言或者工具,例如 Python,勾选 “添加令牌”,即可拷贝对应的代码在本地进行执行。我们暂时只给出了 Python/JavaScript/cURL 的示例,其他语言可以参考这些示例进行编写。 -![alt text](/img/base/serverless-api-call.jpeg) + ![本地调用 API ](/img/base/serverless-api-call.png) ## 故障转移机制 @@ -47,6 +69,6 @@ API 提供了故障转移机制,确保在模型推理过程中出现故障时 :::warning -1. 启用故障转移机制后,若当前算力模型出现故障,系统会自动切换到可用算力进行处理。扣费将按照最后一次成功调用的算力模型计算,并扣除当前资源包金额。用户可在"[使用日志]({{SITE_URL}}/dashboard/statistics/usage-logs)"中查看到调用链路。如果不接受该扣费方式,建议不要开启故障转移机制。 +1. 启用故障转移机制后,若当前算力模型出现故障,系统会自动切换到可用算力进行处理。扣费将按照最后一次成功调用的算力模型计算,并扣除当前资源包金额。用户可在" [使用日志]({{SITE_URL}}/dashboard/statistics/usage-logs) "中查看到调用链路。如果不接受该扣费方式,建议不要开启故障转移机制。 2. 如果未添加请求头 X-Failover-Enabled 参数,且当前算力模型支持故障转移,则系统会默认启用故障转移机制。 ::: diff --git a/docs/products/apis/integrations/_category_.json b/docs/products/apis/integrations/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..cab61598b4f41a13b07c99527adfb1bf91eea749 --- /dev/null +++ b/docs/products/apis/integrations/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "第三方应用集成指南", + "position": 10, + "collapsed": true +} \ No newline at end of file diff --git a/docs/products/apis/integrations/chatgptbox.md b/docs/products/apis/integrations/chatgptbox.md new file mode 100644 index 0000000000000000000000000000000000000000..0b329f200e932436eaa084cd660789c84f890125 --- /dev/null +++ b/docs/products/apis/integrations/chatgptbox.md @@ -0,0 +1,18 @@ +--- +sidebar_position: 5 +--- + +# ChatGPTBox + +[ChatGPT Box](https://github.com/josStorer/chatGPTBox) 是一款浏览器插件,支持在浏览器内随时呼出 AI 对话框,并适用于手机端浏览器。支持自定义模型 API,它还提供框选内容执行任务、静态卡片浮出聊天框、代码高亮和复杂公式渲染、对话记录保存等功能。 + +### 配置指南 + +下载 ChatGPTBox 并安装成功后,点击插件图标,按照以下要求操作: + +- 选择自定义模型 +- 模型名称无严格要求 +- API 地址:填写完整的 Serverless API 地址 +- API key:在 [**工作台->设置->访问令牌**]({{SITE_URL}}/dashboard/settings/tokens) 中复制访问令牌(API key) + +![alt text](/img/serverless-api/integrated/integrate13.png) diff --git a/docs/products/apis/integrations/claude-code.md b/docs/products/apis/integrations/claude-code.md new file mode 100644 index 0000000000000000000000000000000000000000..1753d5a522cd30451750a88e06ef01f4e51a03f6 --- /dev/null +++ b/docs/products/apis/integrations/claude-code.md @@ -0,0 +1,109 @@ +--- +sidebar_position: 9 +--- + +# Claude Code + +Claude Code 是 Anthropic 推出的 AI 编程助手,我们的平台为开发者提供了完整的 Claude Code 集成解决方案,让您能够无缝地将 Claude Code 与各种模型提供商连接,实现灵活的 AI 编程助手体验。通过我们的集成方案,您可以享受 Anthropic 的最新更新,同时保持对模型交互方式的完全控制。 + +### 配置指南 + +Serverless API 支持在 Claude Code 中调用,使用步骤如下 + +1. 安装 Claude Code 和集成工具 + +首先,确保您的开发环境已安装 Claude Code: + +```bash +npm install -g @anthropic-ai/claude-code +``` + +然后安装 Claude Code Router 作为集成工具: + +```bash +npm install -g @musistudio/claude-code-router +``` + +2. 获取模力方舟访问令牌 + +开发者首先需要访问 [**工作台->设置->访问令牌**]({{SITE_URL}}/dashboard/settings/tokens) 中获取访问令牌,没有购买 Serverless API 的开发者,可以使用免费体验访问令牌(仅供体验,每日调用次数有限),复制想要使用的令牌即可。 + +![](/img/serverless-api/integrated/integrate14.png) + +3. 配置集成文件 + +在您的主目录下创建配置文件 `~/.claude-code-router/config.json`, 并在 `api_key` 处替换为您的访问令牌: + +```json showLineNumbers title="config.json" +{ + "Providers": [ + { + "name": "gitee", + "api_base_url": "https://ai.gitee.com/v1/chat/completions", + "api_key": "your-api-key", + "models": ["kimi-k2-instruct"], + "transformer": { + "use": [ + [ + "maxtoken", + { + "max_tokens": 131072 + } + ] + ] + } + } + ], + "Router": { + "default": "gitee,kimi-k2-instruct", + "background": "gitee,kimi-k2-instruct", + "think": "gitee,kimi-k2-instruct", + "longContext": "gitee,kimi-k2-instruct" + }, + "APIKEY": "your-secret-key", + "LOG": true, + "HOST": "0.0.0.0" +} +``` + +4. 启动集成服务 + +通过我们的集成方案启动 Claude Code: + +```bash +ccr code +``` + +![](/img/serverless-api/integrated/claude-code-integrate.png) + +5. 在 Claude Code 中使用模力方舟 + +至此,开发者便可以在 Claude Code 中调用来自模力方舟的模型了。您还可以在开发过程中实时切换模型: + +``` +/model gitee,kimi-k2-instruct +``` + +![](/img/serverless-api/integrated/claude-code-checkout-model.png) + +### 配置参数说明 + +- **APIKEY** (可选): 设置密钥以验证请求 +- **PROXY_URL** (可选): 为 API 请求设置代理 +- **LOG** (可选): 启用日志记录,日志文件将位于 `$HOME/.claude-code-router.log` +- **HOST** (可选): 设置服务器的主机地址 + +### 智能路由配置 + +路由配置定义了不同场景下使用的模型: + +- **default**: 默认模型,如果没有配置其他路由,将用于所有请求 +- **background**: 后台任务使用的模型 +- **think**: 思考任务使用的模型 +- **longContext**: 长上下文任务使用的模型 + +### 更多资源 + +- [平台 API 文档](/docs/products/apis/) +- [Claude Code 官方文档](https://docs.anthropic.com/claude/docs) +- [集成工具 GitHub 仓库](https://github.com/musistudio/claude-code-router) diff --git a/docs/products/apis/integrations/continue.md b/docs/products/apis/integrations/continue.md new file mode 100644 index 0000000000000000000000000000000000000000..b2b85e6643fc94dd482198f333a73d8b371de50d --- /dev/null +++ b/docs/products/apis/integrations/continue.md @@ -0,0 +1,41 @@ +--- +sidebar_position: 6 +--- + +# Continue + +[Continue](https://github.com/continuedev/continue) 是领先的开源 AI 代码助手。您可以连接任何模型和任何上下文,在 VS Code 和 JetBrains 中构建自定义自动完成和聊天体验。 + +### 配置指南 + +在 VS Code 和 JetBrains 安装 continue 的扩展之后,按照一下要求操作 +serverless API 提供 [OpenAI compatible API ](https://docs.continue.dev/customize/model-providers/openai#openai-compatible-servers--apis),以 deepseek 模型为例,使用其他模型可以替换成对应的配置 + +```json +# config.json + +{ + "completionOptions": { + "BaseCompletionOptions": { + "temperature": 0.0, + "maxTokens": 256 + } + }, + "models": [ + { + "title": "DeepSeek-33b", + "model": "deepseek-33b", + "apiKey": "#{APIKEY}", + "apiBase": "{{SITE_URL}}/v1/", + "provider": "openai" + } + ], + "tabAutocompleteModel": { + "title": "DeepSeek-33b", + "model": "deepseek-33b", + "apiKey": "#{APIKEY}", + "apiBase": "{{SITE_URL}}/v1/", + "provider": "openai" + }, +... +``` diff --git a/docs/products/apis/integrations/dify.md b/docs/products/apis/integrations/dify.md new file mode 100644 index 0000000000000000000000000000000000000000..b2de9e6f479b44dac5339fb981da3f5b183a9871 --- /dev/null +++ b/docs/products/apis/integrations/dify.md @@ -0,0 +1,33 @@ +--- +sidebar_position: 2 +--- + +# Dify + +Dify 是一款开源的大语言模型(LLM)应用开发平台。它融合了后端即服务(Backend as Service)和 [LLMOps](https://docs.dify.ai/v/zh-hans/learn-more/extended-reading/what-is-llmops) 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。 + +### 配置指南 + +Serverless API 支持在 Dify 中调用,使用步骤如下 + +1. 获取模力方舟访问令牌 + +开发者首先需要访问 [**工作台->设置->访问令牌**]({{SITE_URL}}/dashboard/settings/tokens) 中获取访问令牌,没有购买 Serverless API 的开发者,可以使用免费体验访问令牌(仅供体验,每日调用次数有限),复制想要使用的令牌即可。 + +![](/img/serverless-api/integrated/integrate14.png) + +2. 在 Dify 中填入访问令牌 + +打开并登录 [Dify](https://cloud.dify.ai) ,点击页面右上角用户名,进入设置,选择「模型供应商」。 + +![](/img/serverless-api/integrated/integrate15.png) + +选择 模力方舟中的设置,填入此前复制的访问令牌,点击保存即可。 + +![](/img/serverless-api/integrated/integrate16.png) + +3. 在应用编排中调用模力方舟 + +至此,开发者便可以在 Dify 的应用编排中调用来自模力方舟的模型了。 + +![](/img/serverless-api/integrated/integrate17.png) diff --git a/docs/products/apis/integrations/immersive.md b/docs/products/apis/integrations/immersive.md new file mode 100644 index 0000000000000000000000000000000000000000..7ab00404c0722cd6776d1c16b7701599279b5ce4 --- /dev/null +++ b/docs/products/apis/integrations/immersive.md @@ -0,0 +1,25 @@ +--- +sidebar_position: 10 +--- + +# 集成沉浸式翻译 + +[Immersive Translate](https://immersivetranslate.com/) 是一款浏览器插件,专注于提供高效的双语对照翻译服务。它支持网页、PDF、EPUB 等多种格式的翻译,能够实时翻译外语内容,并支持视频双语字幕翻译。插件提供了便捷的鼠标悬停翻译和输入框翻译功能,是提升信息获取效率的利器。 + +### **配置指南** + +1. 安装成功后,进入 Immersive Translate 插件 - “翻译服务”,滑到最底部添加自定义翻译服务。 + +![alt text](/img/serverless-api/integrated/integrate5.png) + +2. 在设置页面输入以下关键信息: + +- 自定义 API 接口地址: _此处填写 Serverless API 完整的调用地址_ +- APIKEY:在 模力方舟 工作台 - 设置 - 访问令牌,复制访问令牌(API key) +- 每秒最大请求数:1 +- 每次请求最大文本长度:1200 +- 每次请求最大段落数:8 + +3. 点击页面上方“点此测试服务”,显示“验证成功”即配置完成 + +![alt text](/img/serverless-api/integrated/integrate6.png) diff --git a/docs/products/apis/integrations/intro.md b/docs/products/apis/integrations/intro.md new file mode 100644 index 0000000000000000000000000000000000000000..7c69e75ff80e369a013d651f2ca86666d030c5ba --- /dev/null +++ b/docs/products/apis/integrations/intro.md @@ -0,0 +1,63 @@ +--- +title: 集成指南 +sidebar_position: 1 +--- + +# Serverless API 与应用的集成 + +[Serverless API]({{SITE_URL}}/serverless-api) 提供了数量众多的模型 API,只需调用 API 就可以将其强大的功能集成到您的应用中。本文为大家推荐了一些可集成 Serverless API 的应用,以及详细的集成配置指南。 + +## 集成应用列表 + +这些应用运行我们日常使用的平台上,如 Windows、mac 上的客户端、网页应用、浏览器插件,移动端 APP 等,通过使用这些应用,即可释放 Serverless API 的模型能力,从而提升您使用 AI 的便捷性。以下是应用的访问地址和简介: + +| 分类 | 应用名称 | 简介 | +| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 客户端类 | [Chatbox](https://chatboxai.app/zh) | 一个支持多种流行LLM模型的桌面客户端,可在 Windows、Mac 和 Linux 上使用 | +| | [OpenCat](https://opencat.app/zh-Hans/) | OpenCat 是一个 AI 对话聊天客户端,支持 iOS 和 macOS | +| | [Dify](https://dify.ai/) | 一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务和 [LLMOps](https://docs.dify.ai/v/zh-hans/learn-more/extended-reading/what-is-llmops) 的理念,使开发者可以快速搭建生产级的生成式 AI 应用 | +| | [Nextchat](https://nextchat.dev/) | 只需轻点几下,就能在自己的服务器上搭建聊天服务 | +| | [Pal Chat](https://apps.apple.com/us/app/pal-chat-ai-chat-client/id6447545085) | 一款可以在 iPhone 或 iPad 上使用的 AI 助手 | +| | [Enconvo](https://www.enconvo.com/) | Enconvo 是 AI 时代的启动器,是所有AI功能的入口,也是一位体贴的智能助理.】 | +| | [Cherry Studio](https://www.cherrystudios.com/) | 一款为创造者而生的桌面版 AI 助手 | +| 浏览器插件 | [沉浸式翻译](https://immersivetranslate.com/zh-Hans/) | 一款双语对照网页翻译插件,简洁,高效 | +| | [ChatGPT Box](https://github.com/josStorer/chatGPTBox) | 将 LLM 作为私人助手,整合到您的浏览器中 | +| | [划词翻译](https://hcfy.app/) | 整合了多家翻译 API 以及 LLM API 的浏览器翻译插件 | +| | [欧路翻译](https://chromewebstore.google.com/detail/%E6%AC%A7%E8%B7%AF%E7%BF%BB%E8%AF%91-%E7%BD%91%E9%A1%B5%E5%88%92%E8%AF%8D%E7%BF%BB%E8%AF%91%E5%B7%A5%E5%85%B7/djbfechcnkppbknmlhfcaoifgnicolin) | 提供鼠标划词搜索、逐段对照翻译、PDF 文献翻译功能。可以使用支持 DeepSeek AI, Bing、GPT、Google 等多种翻译引擎 | +| IM 助手 | [茴香豆](https://github.com/InternLM/HuixiangDou/blob/main/README_zh.md) | 一个集成到个人微信群/飞书群的领域知识助手,专注解答问题不闲聊 | +| | [QChatGPT](https://github.com/RockChinQ/QChatGPT) | 高稳定性、支持插件、实时联网的 LLM QQ / QQ频道 / One Bot 机器人 | +| 编程工具 | [Continue](https://github.com/continuedev/continue) | 开源 IDE 插件,使用 LLM 做您的编程助手 | +| | [Cursor](../mcp#cursor-配置示例) | Cursor 是一个专为程序员设计的 AI 编程编辑器,它基于 VS Code 构建,但集成了强大的大语言模型能力,主打 “AI pair programming” —— 让 AI 成为你的编程伙伴。 | + +以上应用均支持集成 Serverless API,配置操作也很简单,在选择 API 配置的时候,因为 Serverless API 与 OpenAI API 格式兼容,模型提供方只需要选择 OpenAl APl Compatible。这个时候通常需要填写 API 调用地址、API key 等信息,下面是操作步骤: + +## 操作步骤 + +### 获取访问令牌路径 + +请在 Serverless API 页选择您想要使用的模型,点击调用,获取它的 API 调用地址,如下所示: + +``` +{{SITE_URL}}/v1/chat/completions +``` + +![alt text](/img/serverless-api/integrated/integrate1.png) + +### 配置 API 调用地址 + +通过上面获取的路径,通常需要将路径拆分,填写下方信息: + +- API Host (Domain):_{{SITE_URL}}_ +- API Path:_/v1/chat/completions_ + +![alt text](/img/serverless-api/integrated/integrate2.png) + +### 获取访问令牌 + +前往 [**工作台->设置->访问令牌**]({{SITE_URL}}/dashboard/settings/tokens) ,创建您的访问令牌 + +![alt text](/img/serverless-api/integrated/integrate3.png) + +在一些业务场景中,可能需要让客户端直接调用 Serverless API ,这时候需要将 Access Token 传递给客户端,为了安全起见,建议将 Access Token 存储在后端,通过后端服务代理调用 Serverless API。 + +如果希望直接在客户端使用 Access Token ,模力方舟提供了创建临时 Token 的接口,该接口的详细使用方法请查看 [**创建临时访问令牌**]({{SITE_URL}}/docs/openapi/v1#tag/ai应用市场接口) 。 diff --git a/docs/products/apis/integrations/nextchat.md b/docs/products/apis/integrations/nextchat.md new file mode 100644 index 0000000000000000000000000000000000000000..2bad32ef0c96e304fc594555475d038127f57b16 --- /dev/null +++ b/docs/products/apis/integrations/nextchat.md @@ -0,0 +1,20 @@ +--- +sidebar_position: 4 +--- + +# Nextchat + +[Nextchat](https://nextchat.dev/) 是一款网页端的 AI 对话工具,支持自定义大模型。还支持在自己的服务器上搭建聊天服务。 + +### 配置指南 + +1. 点击设置,并滚动至自定义接口,选择 OpenAI +2. Serverless API 链接,在调用窗口获取,填写完整 URL,示例:{{SITE_URL}}/serverless-api?model=Qwen2-7B-Instruct&maximized=1 + +![alt text](/img/serverless-api/integrated/integrate10.png) + +3. 最后,创建新聊天,点击对话设置,选择刚刚配置的模型,就可以在对话框内调用模型了。 + +![alt text](/img/serverless-api/integrated/integrate11.png) + +![alt text](/img/serverless-api/integrated/integrate12.png) diff --git a/docs/products/apis/integrations/openchat.md b/docs/products/apis/integrations/openchat.md new file mode 100644 index 0000000000000000000000000000000000000000..94db67150c16bfcdf5c28c7cffd8f53dea7106cb --- /dev/null +++ b/docs/products/apis/integrations/openchat.md @@ -0,0 +1,23 @@ +--- +sidebar_position: 3 +--- + +# OpenCat + +OpenCat 是一个 AI 对话聊天客户端,支持 iOS 和 macOS,在对话框内,可以快速的使用 prompt,展开新的对话,通过对接一些主流平台的 API ,可以选择与多种模型聊天。 + +### 配置指南 + +1. 下载 [OpenCat](https://opencat.app/zh-Hans/) + +2. 进入setting——Providers + +3. 输入 API Domain、API Path、API Key + +- API Domain:_{{SITE_URL}}_ +- API Path:不同模型的路径不同,示例:_/v1/chat/completions_ +- API key: 在 模力方舟 工作台-设置复制访问令牌(API key) + +4. 点击验证,提示 Validate Success 即可 + +![alt text](/img/serverless-api/integrated/integrate4.png) diff --git a/docs/best-practice/mcp.md b/docs/products/apis/mcp.md similarity index 58% rename from docs/best-practice/mcp.md rename to docs/products/apis/mcp.md index c09538379f74f74d0f7d6b7a76078a3c29829bdf..c434d3c7bcaf4eb260d15b819a431c77f17a57ee 100644 --- a/docs/best-practice/mcp.md +++ b/docs/products/apis/mcp.md @@ -1,50 +1,51 @@ --- -title: Gitee AI MCP Server -description: 用于 Gitee AI 的模型上下文协议服务,提供文本生成图片和语音合成功能 +title: MCP 集成 +description: 用于模力方舟的模型上下文协议服务,提供文本生成图片和语音合成功能 --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Gitee AI MCP Server +# 使用 MCP 的方式使用模力方舟的模型 API -Gitee AI MCP 服务是一个用于 Gitee AI 的模型上下文协议(Model Context Protocol,MCP)服务。它提供了强大的多媒体生成能力,包括文本生成图片和文本生成语音功能,使 AI 助手能够创建丰富的视觉和音频内容。 +模力方舟 MCP 服务是一个用于模力方舟的模型上下文协议(Model Context Protocol,MCP)服务。它提供了强大的多媒体生成能力,包括文本生成图片和文本生成语音功能,使 AI 助手能够创建丰富的视觉和音频内容。 :::tip 快速开始 + 1. 访问 [{{SITE_URL}}/dashboard/settings/tokens]({{SITE_URL}}/dashboard/settings/tokens) 获取您的 Access Token。 2. 在客户端(如 cursor)中配置 MCP 服务。
-[![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](cursor://anysphere.cursor-deeplink/mcp/install?name=gitee-ai&config=eyJ1cmwiOiJodHRwczovL2FpLmdpdGVlLmNvbS9tY3Avc3NlIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyIDx5b3VyX2FjY2Vzc190b2tlbj4ifX0%3D) -::: + [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](cursor://anysphere.cursor-deeplink/mcp/install?name=gitee-ai&config=eyJ1cmwiOiJodHRwczovL2FpLmdpdGVlLmNvbS9tY3Avc3NlIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyIDx5b3VyX2FjY2Vzc190b2tlbj4ifX0%3D) + ::: ## 功能特点 - **文本生成图片**:支持多种图像生成模型,可根据文本描述创建高质量图片 - **文本生成语音**:将文本转换为自然语音,支持多种音频格式 -- 可配置的 API 基础 URL,支持不同的 Gitee AI 实例 +- 可配置的 API 基础 URL,支持不同的模力方舟实例 - 支持多种响应格式(Base64、URL、二进制流等) - 灵活的参数配置,满足不同使用场景 ## 实战场景:多媒体内容创作 1. 根据文字描述生成配图
- ![image](../../static/img/serverless-api/mcp/text2image.png) + ![image](../../../static/img/serverless-api/mcp/text2image.png) 2. 为文档或演示创建语音旁白
- ![image](../../static/img/serverless-api/mcp/text2speech.png) + ![image](../../../static/img/serverless-api/mcp/text2speech.png) 3. 批量生成营销素材
- ![poster](../../static/img/serverless-api/mcp/poster.png) + ![poster](../../../static/img/serverless-api/mcp/poster.png) ## MCP Hosts 配置 :::tip 开始使用 -配置 Gitee AI MCP 服务需要提供有效的 Access Token 进行身份验证。 +配置模力方舟 MCP 服务需要提供有效的 Access Token 进行身份验证。 ::: -```json +```json showLineNumbers title="config.json" { "mcpServers": { "gitee-ai": { - "url": "https://ai.gitee.com/mcp/sse", + "url": "{{SITE_URL}}/mcp/sse", "headers": { "Authorization": "Bearer " } @@ -56,16 +57,17 @@ Gitee AI MCP 服务是一个用于 Gitee AI 的模型上下文协议(Model Con ### Claude Desktop 配置示例 1. 打开 Claude Desktop 配置文件: + - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json` 2. 添加 MCP 服务器配置: -```json title="claude_desktop_config.json" +```json showLineNumberstitle="claude_desktop_config.json" { "mcpServers": { "gitee-ai": { - "url": "https://ai.gitee.com/mcp/sse", + "url": "{{SITE_URL}}/mcp/sse", "headers": { "Authorization": "Bearer " } @@ -76,17 +78,39 @@ Gitee AI MCP 服务是一个用于 Gitee AI 的模型上下文协议(Model Con 3. 重启 Claude Desktop +### Cursor 配置示例 + +1. 打开 Cursor 设置页面,进入“MCP 服务”配置项。 + +2. 添加 MCP 服务器配置,格式如下: + +```json showLineNumbers title="cursor-mcp-config.json" +{ + "mcpServers": { + "gitee-ai": { + "url": "{{SITE_URL}}/mcp/sse", + "headers": { + "Authorization": "Bearer " + } + } + } +} +``` + +3. 保存配置后,打开对应的 MCP 服务,并开始使用 + ## 可用工具 服务器提供了以下多媒体生成工具: ### 图片生成工具 -| 工具名称 | 端点 | 描述 | -| --- | --- | --- | +| 工具名称 | 端点 | 描述 | +| ----------------- | --------------------- | -------------------- | | **text_to_image** | `/images/generations` | 根据文本描述生成图片 | **功能特性:** + - 支持多种图像生成模型(如 stable-diffusion-3.5-large-turbo) - 可配置图片尺寸(如 1024x1024) - 支持参考图片输入(base64 或 URL) @@ -94,6 +118,7 @@ Gitee AI MCP 服务是一个用于 Gitee AI 的模型上下文协议(Model Con - 支持用户标识符追踪 **请求参数:** + - `model`(必需):模型名称 - `prompt`(必需):文本描述 - `size`:图片尺寸 @@ -101,23 +126,26 @@ Gitee AI MCP 服务是一个用于 Gitee AI 的模型上下文协议(Model Con - `response_format`:响应格式(b64_json 或 url) :::warning 参数注意事项 + - 模型名称支持带有命名空间,例如 `stable-diffusion-3.5-large-turbo` 或 `stabilityai/stable-diffusion-3.5-large-turbo` - 目前 `n` 参数只支持值为 1,即每次只能生成一张图片 -::: + ::: ### 语音合成工具 -| 工具名称 | 端点 | 描述 | -| --- | --- | --- | +| 工具名称 | 端点 | 描述 | +| ------------------ | --------------- | ---------------- | | **text_to_speech** | `/audio/speech` | 将文本转换为语音 | **功能特性:** + - 支持多种语音合成模型(如 whisper-large-v3-turbo) - 多种音频格式输出(wav、mp3) - 灵活的响应方式:二进制流或 URL 链接 - 生成的音频 URL 有效期为 1 小时 **请求参数:** + - `model`(必需):模型名称 - `input`(必需):输入文本 - `response_format`:响应格式(url 或 blob,默认为 blob) @@ -128,7 +156,7 @@ Gitee AI MCP 服务是一个用于 Gitee AI 的模型上下文协议(Model Con ## 集成说明 -Gitee AI MCP 服务可以轻松集成到支持 MCP 协议的各种 AI 助手和应用中,为用户提供强大的多媒体内容生成能力。通过这些工具,AI 助手可以: +模力方舟 MCP 服务可以轻松集成到支持 MCP 协议的各种 AI 助手和应用中,为用户提供强大的多媒体内容生成能力。通过这些工具,AI 助手可以: - 为用户的创意想法快速生成视觉内容 - 将文字内容转换为音频,提供更丰富的交互体验 diff --git a/docs/products/apis/moderations/_category_.json b/docs/products/apis/moderations/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..3b4bd59418e7c2ff0bbaee706e83ecff6bfbaf8b --- /dev/null +++ b/docs/products/apis/moderations/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "风控识别", + "position": 9, + "collapsed": true +} \ No newline at end of file diff --git a/docs/products/apis/moderations/index.md b/docs/products/apis/moderations/index.md new file mode 100644 index 0000000000000000000000000000000000000000..9a48dba6b5e4b4890a0391432eb6d7f1a9e872a5 --- /dev/null +++ b/docs/products/apis/moderations/index.md @@ -0,0 +1,65 @@ +# 风控识别 + +## 基本介绍 + +风控识别 API 提供了多种模型,旨在帮助用户识别和处理视频中的敏感内容。 + +## 模型列表 + +### [文本审核]({{SITE_URL}}/serverless-api?model=moark-text-moderation) + +高效准确的文本内容审核 API 服务,支持识别色情、暴力、辱骂等不良信息,适用于社交平台、评论区、即时通讯等场景,保障内容安全合规。 + +### [nsfw-classifier]({{SITE_URL}}/serverless-api?model=nsfw-classifier) + +NSFW Classifier 是一个高精度的深度学习模型,专门用于实时识别和过滤不适合公开环境的敏感图片。 + +### [Security-semantic-filtering]({{SITE_URL}}/serverless-api?model=Security-semantic-filtering&tab=info) + +Security-semantic-filtering 是一种用于增强系统安全性的技术,通过对数据语义的过滤和分析,确保敏感信息的保护和合规性。 + +## 示例代码 + +### 文本内容风控检查 + +```python showLineNumbers title="python" +from openai import OpenAI + +client = OpenAI( + base_url="{{SITE_URL}}/v1", + api_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", # 请替换为您的令牌 +) + +response = client.moderations.create( + input=[ + { + "type": "text", + "text": "...text to classify goes here..." + } + ], + model="moark-text-moderation", # 替换为所需的模型名称 +) +``` + +### 图片检查 + +```python showLineNumbers title="python" +from openai import OpenAI + +client = OpenAI( + base_url="{{SITE_URL}}/v1", + api_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", # 请替换为您的令牌 +) + +response = client.moderations.create( + input=[ + { + "type": "image_url", + "image_url": { + "url": "https://example.com/image.jpg" + } + } + ], + model="nsfw-classifier", +) +``` diff --git a/docs/products/apis/speeches/_category_.json b/docs/products/apis/speeches/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..7e4c263a09f81af13d972da872b6cbd8493a471c --- /dev/null +++ b/docs/products/apis/speeches/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "语音识别与合成", + "position": 3, + "collapsed": true +} \ No newline at end of file diff --git a/docs/products/apis/speeches/audio.md b/docs/products/apis/speeches/audio.md new file mode 100644 index 0000000000000000000000000000000000000000..20c2fef14fb1b865566b48a5f7e0cafabf19ae62 --- /dev/null +++ b/docs/products/apis/speeches/audio.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 4 +--- + +# 语音多模态 + +## 基本介绍 + +语音多模态是指将语音与其他模态(如文本、图像等)结合起来进行处理和分析的技术。它的核心任务是通过融合不同模态的信息,提升对语音内容的理解和生成能力。语音多模态技术广泛应用于智能客服、语音助手、视频内容分析等领域。 + +目前模力方舟部署的语音多模态大模型包括: + +- [Qwen2-Audio-7B-Instruct]({{SITE_URL}}/serverless-api?model=Qwen2-Audio-7B-Instruct) + Qwen2-Audio-7B-Instruct是大型音频语言模型,具备语音聊天和音频分析功能,支持多种语言输入,提升了语音交互和音频处理能力。 diff --git a/docs/products/apis/speeches/speech-recognition.md b/docs/products/apis/speeches/speech-recognition.md new file mode 100644 index 0000000000000000000000000000000000000000..1af4e2a08013782936829ff2dd678e7462897998 --- /dev/null +++ b/docs/products/apis/speeches/speech-recognition.md @@ -0,0 +1,58 @@ +--- +sidebar_position: 1 +--- + +import ServerlessAPIServices from '@site/src/components/ServerlessAPIServices'; + +# 语音识别 + +## 基本介绍 + +语音识别是将语音信号转换为文本的技术。它的核心任务是将人类的语音输入转化为机器可以理解和处理的文字信息。语音识别技术广泛应用于语音助手、自动字幕生成、语音搜索等领域。 + +## 模型列表 + +目前模型广场已上线的语音识别模型如下表所示,这些模型基本都是支持多语种的语音识别,能否将不同语言的语音准确地转化为文本。 + + + +## 在线体验 + +以 `SenseVoiceSmall` 模型为例,模型的输入是音频文件,输出是对应的文本内容。用户可以通过上传音频文件或提供音频 URL 的方式来使用该模型。 `SenseVoiceSmall` 支持多达 5 种语言的语音识别,包括中文、英文、粤语、日文、韩文等。 + +如下图所示: + +![语音识别](/img/serverless-api/speech-recognition.jpg) + +## 示例代码 + +以下是使用 Python 调用语音识别模型的示例代码: + +```python showLineNumbers title="python" +import requests +from requests_toolbelt import MultipartEncoder +import os + +API_URL = "{{SITE_URL}}/v1/audio/transcriptions" +API_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" # 请替换为您的令牌 +headers = { + "Authorization": f"Bearer {API_TOKEN}" +} + +def query(payload): + fields = [ + ("model", payload["model"]), # 模型名称 + ("language", payload["language"]), + ("file", (os.path.basename(payload["file"]), open(payload["file"], "rb"), "audio/wav")), + ] + encoder = MultipartEncoder(fields) + headers["Content-Type"] = encoder.content_type + response = requests.post(API_URL, headers=headers, data=encoder) + return response.json() + +output = query({ + "model": "SenseVoiceSmall", + "language": "zh" +}) +print(output) +``` diff --git a/docs/products/apis/speeches/text-to-speech.md b/docs/products/apis/speeches/text-to-speech.md new file mode 100644 index 0000000000000000000000000000000000000000..314551e5e39b20ba09b105f101fdea79d27f5048 --- /dev/null +++ b/docs/products/apis/speeches/text-to-speech.md @@ -0,0 +1,54 @@ +--- +sidebar_position: 2 +--- + +import ServerlessAPIServices from '@site/src/components/ServerlessAPIServices'; + +# 语音合成 + +## 基本介绍 + +语音生成是指通过人工智能模型,生成语音音频的技术。它的核心任务是将文字转化为听得见的声音,通常是人类语音的形式。语音生成模型可以模拟人类的语音特征,包括音色、语调、语速等,使得生成的语音听起来更自然、更真实。 + +## 模型列表 + +目前模型广场已上线的的语音生成模型包括: + + + +注意每个模型的使用方式可能略有不同,具体请参考对应模型的体验页面。 + +## 在线体验 + +以 `F5-TTS` 模型为例,模型的输入是文本内容,输出是对应的音频文件。用户可以通过输入文本来使用该模型。 + +如下图所示: + +![语音合成](/img/serverless-api/text2speech.jpg) + +同时,您可以自定义声纹。`F5-TTS` 的声纹要求录制一段 `WAV` 格式的示例录音,以及对应该录音的文字内容作为声纹信息。 + +关于声纹的使用方法请参考 [声纹使用指南](./voiceprint)。 + +## 示例代码 + +以下是使用 Python 调用语音生成模型的示例代码: + +```python showLineNumbers title="python" +from openai import OpenAI + +client = OpenAI( + base_url="{{SITE_URL}}/v1", + api_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", # 请替换为您的令牌 +) + +response = client.audio.speech.create( + input="你好,我是开源中国的模力方舟。", + model="F5-TTS", + extra_body={ + "prompt_audio_url": "https://gitee.com/realhugh/imgs/raw/master/jay_prompt.wav", + "prompt_text": "对我来讲是一种荣幸,但是也是压力蛮大的。不过我觉得是一种呃很好的一个挑战。", + }, + voice="alloy", +) +``` diff --git a/docs/ability/voice-url.md b/docs/products/apis/speeches/voiceprint.md similarity index 48% rename from docs/ability/voice-url.md rename to docs/products/apis/speeches/voiceprint.md index 4c8efaf546aadceb5560a55106461e8b1b0b6d5a..589542f8fcbe67a2ec2c93a7c36bac66c0657c1b 100644 --- a/docs/ability/voice-url.md +++ b/docs/products/apis/speeches/voiceprint.md @@ -1,28 +1,53 @@ -# 语音生成模型-声纹参数配置指南 +--- +sidebar_position: 3 +--- + +# 声纹(声音克隆) ## 基本介绍 -目前 Serverless API 的语音生成模型 [CosyVoice-300M]({{SITE_URL}}/serverless-api?model=FunAudioLLM-CosyVoice-300M)、[ChatTTS]({{SITE_URL}}/serverless-api?model=ChatTTS)、[fish-speech-1.2-sft]({{SITE_URL}}/serverless-api?model=fish-speech-1.2-sft) 支持识别音频的声音数据,生成和样本一致的声音。可应用于定制化语音助手,虚拟角色声音制作等场景。 +声纹技术是指通过人工智能模型,生成与特定声音特征一致的语音音频。将声纹信息与文本内容结合,可以生成具有特定音色、语调和语速的语音。声纹技术广泛应用于个性化语音合成、语音助手、智能客服等领域。 + +目前模型广场已上线的语音合成模型基本都支持声纹,但是每个模型使用声纹的方式有所不同,主要包含如下几种方式: + +- 内置声纹 +- 直接使用录音作为声纹 +- 使用录音与对应的文本内容作为声纹 +- 使用 `.pt` 格式的声纹文件 + +## 一. 内置声纹 + +部分模型不支持自定义声纹,它内置了为数不多的几个声纹信息,用户可以直接使用这些模型进行语音合成。例如 [Spark-TTS-0.5B]({{SITE_URL}}/serverless-api?model=Spark-TTS-0.5B) 可以选择内置的男生、女生声纹。 + +![Spark-TTS](/img/serverless-api/spark-tts.jpg) -![alt text](/img/serverless-api/voiceurl1.png) +## 二. 直接使用录音作为声纹 -## 简要操作步骤 +[IndexTTS-1.5]({{SITE_URL}}/serverless-api?model=IndexTTS-1.5) 使用录音作为声纹信息,用户只需上传一段音频文件,模型会自动提取音频中的声音特征进行语音合成。 -只需在语音生成模型的参数设置中配置 voice_url ,以 url 的形式传递 .pt 格式的声纹文件给模型,即可生成和文件中声音特征一致的音频。主要包括以下几个关键步骤: +![Index-TTS](/img/serverless-api/index-tts.jpg) + +## 三. 使用录音与对应的文本内容作为声纹 + +如下图所示,[F5-TTS]({{SITE_URL}}/serverless-api?model=F5-TTS) 、 [CosyVoice2-0.5B]({{SITE_URL}}/serverless-api?model=CosyVoice2-0.5B) 和 [Step-Audio-TTS-3B]({{SITE_URL}}/serverless-api?model=Step-Audio-TTS-3B) 模型的声纹要求都是录制一段 WAV 格式的示例录音,以及对该录音的文字内容作为声纹信息。请使用录音软件录制吐字清晰的音频,时长建议保持在 5-15 秒,文件格式为 .wav ,建议文件不易过大。 + +![语音合成](/img/serverless-api/text2speech.jpg) + +## 四. 使用 .pt 格式的声纹文件 + +只需在语音生成模型的参数设置中配置 `voice_url` ,以 URL 的形式传递 `.pt` 格式的声纹文件给模型,即可生成和文件中声音特征一致的音频。主要包括以下几个关键步骤: 1. 制作.pt 格式的声纹文件,可以通过音频文件转制而成,不同模型所要求的声纹文件不同: -- CosyVoice-300M 和 fish-speech-1.2-sft 模型可使用 Gitee AI 提供的声纹文件接口制作。 -- ChatTTS 模型可使用 ChatTTS 声音克隆工具 http://region-9.autodl.pro:41137/ 制作。 +- `CosyVoice-300M` 和 `fish-speech-1.2-sft` 模型可使用平台提供的声纹文件接口制作。 +- `ChatTTS` 模型可使用 `ChatTTS` 声音克隆工具 http://region-9.autodl.pro:41137/ 制作(目前该页面已不可访问,官方不再提供直接生成 pt 文件的服务)。 -2. 将制作好的 .pt 格式的声纹文件,存放在公开可下载的地址,比如放在您的 Gitee 代码仓库中。 +2. 将制作好的 `.pt` 格式的声纹文件,存放在公开可下载的地址,比如放在您的 `Gitee` 代码仓库中。 -3. 复制下载地址至下图模型中的 voice_url 参数,最后输入文本并运行,就能生成与文件音色一致的声音了。 +3. 复制下载地址至下图模型中的 `voice_url` 参数,最后输入文本并运行,就能生成与文件音色一致的声音了。 ![alt text](/img/serverless-api/voiceurl2.png) -## 详细操作步骤: - ### 步骤1:制作.pt 格式的声纹文件 #### **1.1 制作音频文件** @@ -31,7 +56,7 @@ #### **1.2 生成 CosyVoice-300M 和 fish-speech-1.2-sft 模型的声纹文件** -将音频文件上传至 Gitee AI 提供的声音特征提取接口,下面是接口的详细说明: +将音频文件上传至平台提供的声音特征提取接口,下面是接口的详细说明: **功能描述** @@ -48,7 +73,7 @@ HTTPS 调用 ``` -POST {{SITE_URL}}/api/serverless/FunAudioLLM-CosyVoice-300M/voice-feature-extraction +POST {{SITE_URL}}/v1/audio/voice-feature-extraction ``` **请求参数** @@ -58,17 +83,19 @@ POST {{SITE_URL}}/api/serverless/FunAudioLLM-CosyVoice-300M/voice-feature-extrac | Header | Authorization | string | 是 | 访问令牌,可在工作台->设置->访问令牌,进行生成获取。值格式:"Bearer access_token",示例值:"Bearer t-g1044qeGEDXTB6NDJOGV4JQCYDGHRBARFTGT1234" | | form-data | file | file | 是 | 语音内容。注意:Content-Type 为 application/octet-stream,示例值为二进制文件。 | | form-data | prompt_text | string | 是 | 提词内容。注意:与录音内容一致的文字描述。 | +| form-data | model | string | 是 | 模型名称:CosyVoice-300M | **返回参数** -HTTP状态码为 200 时,表示成功。返回文件二进制流。 +HTTP 状态码为 200 时,表示成功。返回文件二进制流。 **cURL 示例** ``` cURL ---location --request POST '{{SITE_URL}}/api/serverless/FunAudioLLM-CosyVoice-300M/voice-feature-extraction' ---header 'Authorization: Bearer 输入你的 Gitee AI 访问令牌 ' +--location --request POST '{{SITE_URL}}/vi/audio/voice-feature-extraction' +--header 'Authorization: Bearer 输入您的访问令牌 ' +--form 'model="CosyVoice-300M"' --form 'file=@"上传.mp3 或.m4a格式的文件"' --form 'prompt_text="和录音内容一致的文字描述“’ ``` @@ -77,7 +104,7 @@ cURL 1)新建接口井输入接口地址。 - 2)添加 Authorization 参数,参数值可以在 Gitee Al 工作台-访问令牌获取。 + 2)添加 Authorization 参数,参数值可以在模力方舟工作台-访问令牌获取。 3)选择 Body -> form-data 。 @@ -105,9 +132,9 @@ cURL ### 步骤2:上传声纹文件并获取下载地址 -语音生成模型的 voice_url 参数需要读取声纹文件,所以我们需要将声纹文件上传至网盘或其他可下载的公共空间,并获取文件下载的 url,配置到语音模型的 voice_url 参数即可。 +语音生成模型的 `voice_url` 参数需要读取声纹文件,所以我们需要将声纹文件上传至网盘或其他可下载的公共空间,并获取文件下载的 URL,配置到语音模型的 `voice_url` 参数即可。 -推荐您在 Gitee 创建或选择一个公开的仓库,将.pt 文件上传至仓库中。在 Gitee 仓库中找到上传的文件,点击文件名称进入下载,鼠标右击下载并复制下载地址,如下所示: +推荐您在 Gitee 创建或选择一个公开的仓库,将 `.pt` 文件上传至仓库中。在 Gitee 仓库中找到上传的文件,点击文件名称进入下载,鼠标右击下载并复制下载地址,如下所示: ![alt text](/img/serverless-api/voiceurl6.png) ![alt text](/img/serverless-api/voiceurl7.png) @@ -119,4 +146,4 @@ cURL ![alt text](/img/serverless-api/voiceurl9.png) -您可以制作个人或特定声音的声纹文件 url,体验不同模型生成效果,将模型 API 集成到您的业务中,实现多种有趣又有用的应用。 +您可以制作个人或特定声音的声纹文件 URL,体验不同模型生成效果,将模型 API 集成到您的业务中,实现多种有趣又有用的应用。 diff --git a/docs/products/apis/texts/_category_.json b/docs/products/apis/texts/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..c9454cab79ff43d02aef6d0db2c7b8548e174a10 --- /dev/null +++ b/docs/products/apis/texts/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "文本生成与补全", + "position": 1, + "collapsed": true +} \ No newline at end of file diff --git a/docs/ability/function-call.md b/docs/products/apis/texts/function-calling.md similarity index 52% rename from docs/ability/function-call.md rename to docs/products/apis/texts/function-calling.md index 666557b83b6afa2e0ef0aff00b2fd3fdcacd415d..23ad8caa703504b7f730ab98fe2181153856a9c7 100644 --- a/docs/ability/function-call.md +++ b/docs/products/apis/texts/function-calling.md @@ -1,69 +1,72 @@ -# 函数调用 +--- +sidebar_position: 2 +--- + +# 函数调用 (Function Calling) ## 概述 -大模型中的函数调用又称`function call`。函数调用指的是用户通过描述函数和目标任务,让大模型尝试去调用某个函数。 +大模型中的函数调用又称 `Function Calling` 。函数调用指的是用户通过描述函数和目标任务,让大模型尝试去调用某个函数。 -需要注意的是,大模型本身没有能力自行执行函数,大模型根据用户输入和函数定义,向你提供:是否需要调用、调用什么函数、函数参数。得到这些信息后,客户端再自行执行函数,再把执行结果给到大模型,进行下一轮的任务。 +需要注意的是,大模型本身没有能力自行执行函数,大模型根据用户输入和函数定义,向您提供:是否需要调用、调用什么函数、函数参数。得到这些信息后,客户端再自行执行函数,再把执行结果给到大模型,进行下一轮的任务。 -一些框架比如 LangGraph、LlamaIndex 可以简化这一过程。GiteeAI 提供了开箱即用的大模型函数调用能力,下文将讲述如何使用。 +一些框架比如 `LangGraph` 、`LlamaIndex` 可以简化这一过程。模力方舟提供了开箱即用的大模型函数调用能力,下文将讲述如何使用。 :::tip -“function call” 与 “tool call” 是类似概念,“tool call” 是升级版,已替代 “function call”。工具列表需要传入 tools。 +`Function Calling` 与 `tool call` 是类似概念,`tool call` 是升级版,已替代 `Function Calling` 。 +工具列表需要传入 `tools` 。 ::: ## 案例一:让AI知道今天的天气,直接解析函数调用结果 -本案例的方法为最直接的方法,用于理解 function call 流程和原理。结合Langchain的更简便的方法实现参考[案例二](#案例二:配合Langchain-让AI总结汇报今日新闻)。 +本案例的方法为最直接的方法,用于理解 `Function Calling` 流程和原理。结合Langchain的更简便的方法实现参考 [案例二](/docs/products/apis/texts/function-calling#%E6%A1%88%E4%BE%8B%E4%BA%8C%E9%85%8D%E5%90%88-langchain-%E8%AE%A9-ai-%E6%80%BB%E7%BB%93%E6%B1%87%E6%8A%A5%E4%BB%8A%E6%97%A5%E6%96%B0%E9%97%BB) ### 步骤一:组合tools参数 -首先组合tools参数,下面向大模型描述了一个名为`get_current_weather`的函数,函数传入参数为city,x,y,函数能力是通过城市名和经纬度获取地点的天气情况: +首先组合tools参数,下面向大模型描述了一个名为 `get_current_weather` 的函数,函数传入参数为 `city`, `x` , `y` ,函数能力是通过城市名和经纬度获取地点的天气情况: -```python +```python showLineNumbers title="python" tools = [ { "type": "function", "function": { "name": "get_current_weather", - "description": "根据经纬度城市名,获取指定地点的天气情况", + "description": "通过城市名和日期获取地点的天气情况,包括温度、天气状况等信息", "parameters": { "type": "object", "properties": { "city": { "type": "string", - "description": "根据用户提到的地点推测城市", - }, - "x": { - "type": "float", - "description": "城市的经度,根据你的知识推测", - }, - "y": { - "type": "float", - "description": "城市的纬度,根据你的知识推测", + "description": "用户想要查询天气的城市名称", }, + "date": { + "type": "string", + "description": "想要查询的日期,如'今天'、'明天'或具体日期'2023-10-01'", + } }, - "required": ["city", "x", "y"], + "required": ["city", "date"], }, } } ] ``` -tools 是一个列表,可定义多个,参数说明: +`tools` 是一个列表,可定义多个,参数说明: -- type:定义参数对象的类型,通常是 object,表示参数结构为一个包含多个属性的 JSON 对象。 -- properties:这是核心部分,列出每个参数的具体定义。[JSON Schema](https://json-schema.org/learn/miscellaneous-examples) 格式。 - - name:每个属性的名称,对应函数的参数名。 - - type:参数的数据类型,比如 string、float、integer 等。 - - description:描述每个参数的用途,帮助模型理解如何填充参数值。 - - required:指定哪些参数是必填的,如果参数在 required 列表中,那么模型在生成调用时必须填充这些参数。 +- `type` :定义参数对象的类型,通常是 object,表示参数结构为一个包含多个属性的 JSON 对象。 +- `properties` :这是核心部分,列出每个参数的具体定义 [JSON Schema](https://json-schema.org/learn/miscellaneous-examples) 格式。 + - `name` :每个属性的名称,对应函数的参数名。 + - `type` :参数的数据类型,比如 string、float、integer 等。 + - `description` :描述每个参数的用途,帮助模型理解如何填充参数值。 + - `required` :指定哪些参数是必填的,如果参数在 required 列表中,那么模型在生成调用时必须填充这些参数。 ### 步骤二:调用大模型 -将上文拼凑好的tools参数传入客户端中,解析响应的请求,并根据请求调用定义好的get_current_weather函数。 +将上文拼凑好的 `tools` 参数传入客户端中,解析响应的请求,并根据请求调用定义好的 `get_current_weather` 函数。 + +```python showLineNumbers title="python" +import json -```python completion_tool = client.chat.completions.create( model=model_name, stream=False, @@ -72,27 +75,23 @@ completion_tool = client.chat.completions.create( top_p=0.95, tool_choice="auto", messages=[ - {"role": "system", "content": "你是聪明的助手,在合适的时候会调用工具。"}, - {"role": "user", "content": "中国首都的天气情况"} + {"role": "system", "content": "你是聪明的助手,在需要查询天气时会调用工具。"}, + {"role": "user", "content": "北京今天的天气怎么样?"} ] ) print(completion_tool, end="\n\n") -def get_current_weather(city: str, x: float, y: float) -> str: - print(f"执行 get_current_weather, 获得的参数是: city: {city},x: {x}, y: {y}") - # 执行一些爬虫、调用 API... - return """北京当前温度:12°C - 天气状况:雾霾 - 体感温度:12°C - 今天天气:大部分地区多云,最低气温9°C - 空气质量:轻度污染 (51-100),主要污染物 PM2.5 75 μg/m³ - 风速:轻风 (2 - 5 公里/小时),西南风 1级 - 湿度:78% - 能见度:能见度差 (1 - 2 公里),2 公里 - 气压:1018 hPa - 露点:8°C""" +def get_current_weather(city: str, date: str) -> str: + print(f"执行 get_current_weather, 获得的参数是: city: {city}, date: {date}") + # 模拟天气查询接口返回结果 + return f"""北京市{date}天气信息: + 天气状况:晴朗 + 温度:25-32℃ + 风力:东北风3-4级 + 湿度:45% + 紫外线强度:中等,建议外出涂抹防晒霜""" function_res = completion_tool.choices[0].message.tool_calls[0].function @@ -103,39 +102,50 @@ print("即将调用的函数是: ", function_res.name) json_arguments = json.loads( completion_tool.choices[0].message.tool_calls[0].function.arguments) -print(f"tool call 参数:", - json_arguments["city"], json_arguments["x"], json_arguments["y"]) +print(f"tool call 参数: 城市: {json_arguments['city']}, 日期: {json_arguments['date']}") # 执行函数 eval(f'{function_res.name}(**{arguments_res})') ``` -至此函数已成功调用!你可以将函数响应的结果处理为: -`{'role': 'tool', 'name': 'get_current_weather', 'content': '抓取的数据: 北京当前温度:12°C天气状况:雾霾...', tool_call_id:'xxxx'}` 添加到 messages 消息列表末尾,再次请求 Gitee AI Serverless API,让 AI 整理答案。 +至此函数已成功调用!您可以将函数响应的结果处理为: -## 案例二:配合Langchain 让AI总结汇报今日新闻 +``` +{ + 'role': 'tool', + 'name': 'get_current_weather', + 'content': '北京市今天天气信息:天气状况:晴朗...', + 'tool_call_id': 'xxxx' +} +``` + +## 案例二:配合 Langchain 让 AI 总结汇报今日新闻 ### 步骤一:安装必要的库 -langchain 等库提供了更多简便的工具和写法,首先安装必要的库: +Langchain 等库提供了更多简便的工具和写法,首先安装必要的库: -``` -pip install langchain==0.3.3 langgraph==0.2.38 langchain_core langchain_community==0.3.2 langchain_openai -i https://mirrors.cloud.tencent.com/pypi/simple +```bash title="bash" +pip install \ + langchain==0.3.3 \ + langgraph==0.2.38 \ + langchain_core \ + langchain_community==0.3.2 \ + langchain_openai \ + -i https://mirrors.cloud.tencent.com/pypi/simple ``` -:::tip -你也可以使用 [langchain javascript 版本](https://js.langchain.com/docs/introduction/) -::: +您也可以使用 [**langchain 的 JavaScript 版本**](https://js.langchain.com/docs/introduction/) -使用 langchain `@tool` 装饰器,会自动帮你转换为符合规范的 tools 参数,包括首行的 """xxx""" 注释和 Annotated 注释都会成为 tools 参数中的 "description"。 -使用 langgraph `create_react_agent` 创建 agent, 将会自动生成函数调用、执行工具、回传工具消息等,极大简化流程。 +使用 `langchain @tool` 装饰器,会自动帮您转换为符合规范的 tools 参数,包括首行的 """xxx""" 注释和 Annotated 注释都会成为 `tools` 参数中的 `description` 。 +使用 langgraph `create_react_agent` 创建 `agent`, 将会自动生成函数调用、执行工具、回传工具消息等,极大简化流程。 ### 步骤二:获取新闻信息 -下面实现让 AI “获取新闻,编写并执行 Python 代码,将新闻写入到 ./news.txt 文件中”: +下面实现让 AI 获取新闻,编写并执行 Python 代码,将新闻写入到 `news.txt` 文件中”: -```python +```python showLineNumbers title="python" from langchain_openai import ChatOpenAI from langchain.tools import tool from langchain_community.document_loaders import WebBaseLoader @@ -178,7 +188,7 @@ tools_list = [get_news, python_code_exec] model_name = "Qwen2.5-72B-Instruct" base_url = "{{SITE_URL}}/v1" -# {{SITE_URL}}/dashboard/settings/tokens 获取你的访问令牌 +# {{SITE_URL}}/dashboard/settings/tokens 获取您的访问令牌 GITEE_AI_API_KEY = "" llm = ChatOpenAI(model=model_name, api_key=GITEE_AI_API_KEY, base_url=base_url, streaming=True, temperature=0.1, presence_penalty=1.05, top_p=0.9, @@ -218,4 +228,4 @@ for ai_msg, metadata in agent_executor.stream( print(ai_res_msg) ``` -你将会看到模型实时调用的过程和最新新闻结果,然后 AI 将自行编写代码,将新闻标题保存到 news.txt 文件中! +您将会看到模型实时调用的过程和最新新闻结果,然后 AI 将自行编写代码,将新闻标题保存到 `news.txt` 文件中! diff --git a/docs/ability/json-output.md b/docs/products/apis/texts/json-output.md similarity index 57% rename from docs/ability/json-output.md rename to docs/products/apis/texts/json-output.md index e8266dfa766ca07f13d21958e6f1bbd041527c03..03989ca77c33e21018b41293ad55003853cc4314 100644 --- a/docs/ability/json-output.md +++ b/docs/products/apis/texts/json-output.md @@ -1,8 +1,29 @@ -# JSON 响应 +--- +sidebar_position: 3 +--- -通过 prompt 使模型响应 JSON 不稳定?现在你可以通过`guided_json`让模型以自定义的 [JSON Schema](https://json-schema.org/learn/miscellaneous-examples) 结构响应,在请求中携带`guided_json`参数即可,示例如下。 +# 结构化输出 -```json +## 简介 + +JSON 是世界上应用最广泛的数据交换格式之一。而符合 [JSON Schema](https://json-schema.org/learn/miscellaneous-examples) 规范的 JSON 数据可以被广泛地解析和验证。模力方舟的模型支持结构化输出功能,允许开发者在请求中指定 JSON Schema,从而确保模型生成的响应符合预期的格式。只需在请求中携带 `guided_json` 参数即可,无需担心模型遗漏必填键,或生成无效的枚举值。 + +## 优势 + +使用 JSON 结构化输出的一些优势包括: + +1. **数据格式保证**:确保模型输出始终符合预定义的 JSON Schema 格式,无需额外的格式验证步骤 +2. **类型安全性**:自动确保数据类型正确(如字符串、整数、布尔值),避免类型转换错误 +3. **必填字段控制**:通过 `required` 属性确保关键字段不会被遗漏,提高数据完整性 +4. **枚举值约束**:可以限制某些字段只能取特定的值,防止生成无效的选项 +5. **错误处理标准化**:当模型无法生成有效内容时,可以返回标准格式的错误信息,便于程序处理 +6. **减少解析复杂度**:无需编写复杂的文本解析逻辑,直接获得结构化数据 +7. **API 集成友好**:生成的 JSON 可以直接用于 API 调用、数据库存储或其他系统集成 +8. **提示词简化**:不需要在提示词中反复强调输出格式要求,让提示更加专注于业务逻辑 + +## 示例代码 + +```python showLineNumbers title="python" "guided_json": """{ "type": "object", "properties": { @@ -25,13 +46,15 @@ 再添加一些 prompt 提升可靠性,AI 将会根据输入提取数据生成标准的 JSON: -```python +```python showLineNumbers title="python" from langchain_openai import ChatOpenAI + model_name = "Qwen2.5-72B-Instruct" base_url = "{{SITE_URL}}/v1" -# {{SITE_URL}}/dashboard/settings/tokens 获取你的访问令牌 +# {{SITE_URL}}/dashboard/settings/tokens 获取您的访问令牌 GITEE_AI_API_KEY = "" -llm = ChatOpenAI(model=model_name, api_key=GITEE_AI_API_KEY, base_url=base_url, streaming=True, temperature=0.1, presence_penalty=1.05, top_p=0.9, +llm = ChatOpenAI(model=model_name, api_key=GITEE_AI_API_KEY, base_url=base_url, streaming=True, temperature=0.1, + presence_penalty=1.05, top_p=0.9, extra_body={ "guided_json": """{ "type": "object", diff --git a/docs/ability/lang-style.md b/docs/products/apis/texts/lang-style.md similarity index 45% rename from docs/ability/lang-style.md rename to docs/products/apis/texts/lang-style.md index c32325eac8b51dc0df117ec4e496674f925a38e1..2ee741654d2d0329d95efe5047704eb9c1a48259 100644 --- a/docs/ability/lang-style.md +++ b/docs/products/apis/texts/lang-style.md @@ -1,29 +1,33 @@ -# 定制AI的聊天角色风格 +--- +sidebar_position: 4 +--- + +# 定制 AI 的聊天角色风格 :::tip -如果您还不熟悉如何调用语言大模型接口,可以参考文档 [调用语言大模型接口](./request.md)。 +如果您还不熟悉如何调用语言大模型接口,可以参考文档 [基础文本生成示例](/docs/products/apis/texts/text-generation#%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B%E5%9F%BA%E7%A1%80%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90%E7%A4%BA%E4%BE%8B)。 ::: -定制 AI 风格非常简单,你只需要在 role 为 system 的 content 中写入你需要的角色风格提示词即可。 +定制 AI 风格非常简单,您只需要在 role 为 system 的 content 中写入您需要的角色风格提示词即可。 -# 步骤一:创建Client +## 步骤一:创建Client -首先创建openai client。您也可以通过curl或者javascript等方式调用,详情参考文档 [调用语言大模型接口](./request.md)。 +首先创建 openai client。您也可以通过 curl 或者 javascript 等方式调用,详情参考文档 [通过 curl 快速使用大模型能力](/docs/products/apis/texts/text-generation#%E7%A4%BA%E4%BE%8B%E4%B8%80%E9%80%9A%E8%BF%87-curl-%E5%BF%AB%E9%80%9F%E4%BD%BF%E7%94%A8%E5%A4%A7%E6%A8%A1%E5%9E%8B%E8%83%BD%E5%8A%9B)。 -```python +```python showLineNumbers title="python" from openai import OpenAI import json base_url = "{{SITE_URL}}/v1" model_name = "Qwen2.5-72B-Instruct" -# {{SITE_URL}}/dashboard/settings/tokens 获取你的 api_key -client = OpenAI(base_url=base_url, api_key="GITEE_AI_API_KEY") +# {{SITE_URL}}/dashboard/settings/tokens 获取您的访问令牌 +client = OpenAI(base_url=base_url, api_key="访问令牌") ``` -# 步骤二:设置角色风格 +## 步骤二:设置角色风格 -在 messages 中添加一个 role 为 system 的消息,内容为你的提示词。例如,以下代码将创建一个名为“萌萌”的二次元女生角色,并使用颜文字和可爱语气与用户交流。 +在 `messages` 中添加一个 `role` 为 `system` 的消息,内容为您的提示词。例如,以下代码将创建一个名为“萌萌”的二次元女生角色,并使用颜文字和可爱语气与用户交流。 -```python +```python showLineNumbers title="python" completion = client.chat.completions.create( model=model_name, stream=True, @@ -37,11 +41,11 @@ completion = client.chat.completions.create( ) ``` -# 步骤三:获取结果 +## 步骤三:获取结果 解析事件流中的 JSON 数据可以实时打印出 AI 回答的消息。 -```python +```python showLineNumbers title="python" for chunk in completion: print(chunk.choices[0].delta.content, end="") ``` diff --git a/docs/products/apis/texts/text-comlpetion.md b/docs/products/apis/texts/text-comlpetion.md new file mode 100644 index 0000000000000000000000000000000000000000..bc6dd7d66586c81ace998024b7a6d4d99ed93ed7 --- /dev/null +++ b/docs/products/apis/texts/text-comlpetion.md @@ -0,0 +1,233 @@ +--- +sidebar_position: 1.5 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# 文本补全 + +## 功能描述 + +文本补全专注于基于用户提供的现有文本片段 `Prompt` ,生成逻辑连贯、风格统一的续写内容,实现对已有文本的无缝扩展、完善或补充。无论是句子续写、段落扩展、格式填充还是内容润色,均能通过简洁的 API 调用实现,且兼容 OpenAI 风格接口,降低开发者接入成本。 + +**功能特点**: + +- **上下文感知**:精准理解输入文本的语义、逻辑和风格,确保补全内容与原文一脉相承 +- **多场景适配**:支持句子补全、段落续写、文档扩充、格式填充(如表格内容补全)、内容润色等场景 +- **风格统一**:可通过参数控制补全内容与原文风格的一致性,包括语气、正式度、专业领域词汇等 +- **无缝集成**:兼容主流开发框架(`LangChain`、`LlamaIndex` 等),支持与文本生成功能协同使用 +- **高效响应**:支持流式输出 `Stream`,实时获取补全结果,提升交互体验 + +模力方舟集成了多种高性能文本补全模型,您可以在 [AI 模型广场]({{SITE_URL}}/serverless-api) 中了解其特性并体验效果,您也可以通过 [基础文本补全示例](text-comlpetion#快速上手基础文本补全示例) 快速上手。 + +## 快速上手:基础文本补全示例 +### 前置条件: + +1. 三选一:准备好 `python` 或 `nodejs` 开发环境 或 [创建一个在线应用]({{SITE_URL}}/apps/new) +2. 二选一:[创建访问令牌]({{SITE_URL}}/dashboard/settings/tokens) 购买 [Serverless API]({{SITE_URL}}/serverless-api#%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90) 或 使用免费的临时 `token` + +### 示例一:通过 curl 快速使用文本补全能力 + +使用 `curl` 可清晰了解文本补全请求的路径、参数的原始情况: + +```bash showLineNumbers +curl {{SITE_URL}}/v1/completions \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer 您的访问令牌" \ + -d '{ + "model": "Qwen2.5-72B-Instruct", + "prompt": "人工智能是一门研究如何使计算机能够", + "stream": false, + "max_tokens": 100, + "temperature": 0.7 + }' +``` +AI 模型响应: +```json showLineNumbers title="json" +{ + "id": "cmpl-6d4f8a9b9c7e6f5d4c3b2a1", + "object": "text_completion", + "created": 1731402000, + "model": "Qwen2.5-72B-Instruct", + "choices": [ + { + "text": "像人类一样思考、学习和执行各种智能任务的学科。它融合了计算机科学、数学、心理学、语言学等多个领域的知识,旨在构建具有智能行为的系统。这些系统能够感知环境、处理信息、进行推理决策,并通过经验不断改进自身性能,广泛应用于图像识别、自然语言处理、机器人技术等诸多领域。", + "index": 0, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 15, + "completion_tokens": 120, + "total_tokens": 135 + } +} +``` +### 示例二:使用 OpenAI 客户端调用文本补全 API +模力方舟的 Serverless API 兼容开发者喜爱且社区流行的 OpenAI 风格 API。 + +所有支持 OpenAI API 的工具都可以直接使用模力方舟的 Serverless API 工作。 + +1. **获取访问凭证**:登录模力方舟控制台,在 [**工作台 -> 访问令牌**]({{SITE_URL}}/dashboard/settings/tokens) 中创建访问令牌。 +2. **安装客户端**:以 OpenAI 客户端为例,首先安装依赖: + +```bash +pip install openai -i https://mirrors.cloud.tencent.com/pypi/simple +``` + +如果您有 javascript 经验可使用 [OpenAI nodejs 客户端](https://www.npmjs.com/package/openai/) + +通过简单接口调用,生成指定内容: +```python showLineNumbers title="python" +from openai import OpenAI + +client = OpenAI( + base_url="{{SITE_URL}}/v1", + api_key="您的访问令牌" +) + +response = client.completions.create( + model="Qwen2.5-72B-Instruct", + prompt="春天来了,公园里的花儿", + max_tokens=50, + temperature=0.8 +) +print(response.choices[0].text) +``` + +### 流式响应 +对于较长文本的补全,启用流式响应 `stream=True` 可实时获取补全内容,提升用户体验: +```python showLineNumbers title="python" +from openai import OpenAI + +client = OpenAI( + base_url="{{SITE_URL}}/v1", + api_key="您的访问令牌" +) + +stream = client.completions.create( + model="Qwen2.5-72B-Instruct", + prompt="在遥远的未来,人类已经能够", + stream=True, + max_tokens=200, + temperature=0.9 +) + +for chunk in stream: + if chunk.choices[0].text: + print(chunk.choices[0].text, end="") +``` +**可能的输出:** +> 在遥远的未来,人类已经能够自由穿梭于星际之间,在不同的星球上建立起繁荣的殖民地。他们破解了宇宙的诸多奥秘,掌握了先进的能源技术,能够利用恒星的能量为文明提供源源不断的动力。同时,人类与其他外星文明建立了友好的交流与合作关系,共同探索宇宙的未知领域,推动着整个银河系的文明进步... +### 参数说明 +参数说明详见 [接口文档]({{SITE_URL}}/docs/openapi/v1#tag/文本生成/post/completions) + +## 模型选择 +选择合适的模型进行文本补全,需结合补全场景的特点和模型的特性,以下是关键考虑因素: + +#### 任务场景适配 +- **短句 / 短语补全**:如搜索建议、句子填空,可选择轻量级模型(如 Qwen3-4B、Qwen3-8B ),兼顾速度与成本 +- **长文本片段补全**:如文章续写、段落扩展,需选择上下文窗口较大(如 128K )且长文本理解能力强的模型(如 kimi-k2-instruct ) +- **专业领域补全**:如学术论文片段补全、专业报告续写,优先选择在对应领域训练的模型(如 ERNIE-4.5-Turbo 擅长中文专业领域,DeepSeek-R1 擅长推理) + +#### 功能特性需求 +- **风格一致性**:若需严格保持与输入文本一致的风格(如古文补全、特定作者文风模仿),可选择对风格感知敏感的模型(如 Qwen2.5-72B-Instruct ) +- **事实准确性**:对于需要准确事实支撑的补全(如技术文档补全),关注模型的事实性表现 + +#### 选型实践建议 +- **快速验证**:先用小参数模型(如 Qwen3-4B )测试补全逻辑和提示词效果,降低试错成本 +- **效果优化**:根据补全质量反馈(如连贯性、相关性),切换至更优模型。例如短句补全效果不佳时,可尝试 Qwen2.5-32B-Instruct + +综合以上因素,从模力方舟模型广场中选择最匹配您文本补全场景的模型,可获得更高效、更高质量的补全结果。 + +## 提示工程 +在文本补全中,提示词(prompt)的设计尤为重要,直接影响补全内容与原始文本的连贯性和相关性。好的提示词能够引导模型生成符合预期的补全结果。 + +#### 明确补全边界与方向 +在 prompt 中清晰暗示补全的方向和范围,有助于模型生成更贴合需求的内容。 + +**示例:** +- 不佳的 prompt:"电脑的用途"(更偏向生成全新内容) +- 较好的 prompt:"电脑的用途广泛,例如在工作中,它可以帮助我们"(明确是对 “工作中用途” 的补全) + +### 保持风格一致性 +若希望补全内容与输入文本风格一致(如正式 / 非正式、专业 / 通俗、特定文体),可在 prompt 中体现或通过 `instructions` 参数指定。 + +**示例:通过 instructions 设定风格** +```python showLineNumbers title="python" +from openai import OpenAI + +client = OpenAI( + base_url="{{SITE_URL}}/v1", + api_key="您的访问令牌" +) + +client.completions.create( + model="Qwen2.5-72B-Instruct", + prompt="余尝闻,世间至美之物,莫过于", + instructions="用文言文风格续写,语言典雅,意境优美", + max_tokens=100 +) +``` +**可能的输出:** +> 余尝闻,世间至美之物,莫过于山川之巍峨,江河之浩渺。朝观日出东海,霞光万丈;暮赏月落西山,清辉千里。春有百花争艳,秋有硕果飘香,此等自然之景,非人工所能雕琢,足令人心旷神怡,流连忘返。 + +### 利用上下文提示 +对于长文本片段的补全,确保提供足够的上下文信息,帮助模型理解文本的主题、逻辑和风格。 +**示例:** +```python showLineNumbers title="python" +from openai import OpenAI + +client = OpenAI( + base_url="{{SITE_URL}}/v1", + api_key="您的访问令牌" +) + +prompt = """ +以下是一篇关于环境保护的文章片段,请继续补全: + +"随着工业化进程的加速,环境问题日益凸显。空气污染、水污染、土壤污染等不仅威胁着生态平衡,也对人类的健康造成了严重影响。为了应对这些挑战,我们每个人都有责任行动起来," +""" + +client.completions.create( + model="Qwen2.5-72B-Instruct", + prompt=prompt, + max_tokens=150 +) +``` +### 少样本补全示例 +通过在 `prompt` 中提供 “输入片段 + 补全示例”,可以引导模型快速掌握特定补全模式。 +**示例:邮件回复片段补全** +```python showLineNumbers title="python" +prompt = """ +请按照以下示例的风格,补全邮件回复片段: + +示例1: +输入片段:"请问下周一会议的时间可以调整吗?" +补全内容:"您好,下周一会议的时间可以调整,请问您方便周一下午2点或者周三上午10点吗?期待您的回复。" + +示例2: +输入片段:"关于项目延期的问题,我想和您讨论一下解决方案。" +补全内容:"您好,关于项目延期的问题,我很乐意和您一起讨论解决方案。我今天下午和明天全天都有空,您看什么时间方便?" + +需要补全的片段:"能否提供一下上个月的财务报表?" +补全内容: +""" + +from openai import OpenAI + +client = OpenAI( + base_url="{{SITE_URL}}/v1", + api_key="您的访问令牌" +) + +client.completions.create( + model="Qwen2.5-72B-Instruct", + prompt=prompt, + max_tokens=50 +) +``` +**可能的输出:** +> "您好,上个月的财务报表我已经准备好,稍后会发送到您的邮箱。如果您有任何疑问,随时可以和我联系。" +通过以上提示工程技巧,可以有效提升文本补全的质量和准确性,使补全内容更好地满足实际需求。 \ No newline at end of file diff --git a/docs/products/apis/texts/text-generation.md b/docs/products/apis/texts/text-generation.md new file mode 100644 index 0000000000000000000000000000000000000000..fff1710969dac95dbdf589ea8e7c71680b961f1f --- /dev/null +++ b/docs/products/apis/texts/text-generation.md @@ -0,0 +1,375 @@ +--- +sidebar_position: 1 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# 文本生成 + +## 功能描述 + +文本生成支持基于用户输入的文本提示 `Prompt` ,生成符合语境、逻辑连贯的续写内容,或直接创作全新文本。无论是长文创作,还是特定风格的内容生成,均能通过简洁的 API 调用实现,且兼容 OpenAI 风格接口,降低开发者接入成本。 + +**功能特点**: + +- **多场景适配**:支持文案创作、代码生成、内容摘要等多类场景 +- **风格可控**:可通过参数精准控制生成内容的随机性、长度、语气风格 +- **无缝集成**:兼容主流开发框架 `LangChain` 、 `LlamaIndex` 等),支持函数调用、工具链扩展 +- **高效响应**:支持流式输出 `Stream` ,减少等待时间,提升交互体验 + +模力方舟集成了多种高性能文本生成模型,您可以在 [AI 模型广场]({{SITE_URL}}/serverless-api) 中了解其特性并体验效果,也可以通过 [基础文本生成示例](text-generation#快速上手基础文本生成示例) 快速上手。 + +## 快速上手:基础文本生成示例 + +### 前置条件: + +1. 三选一:准备好 `python` 或 `nodejs` 开发环境 或 [创建一个在线应用]({{SITE_URL}}/apps/new) +2. 二选一:[创建访问令牌]({{SITE_URL}}/dashboard/settings/tokens)、[购买模型资源包]({{SITE_URL}}/serverless-api#%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90) 或 使用免费的临时 `token` + +### 示例一:通过 curl 快速使用大模型能力 + +一些框架、插件封装度较高,`curl` 可清晰了解请求路径、参数的原始情况: + + + + ```shell showLineNumbers + curl {{SITE_URL}}/v1/chat/completions \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer 您的访问令牌" \ + -d '{ + "model": "Qwen2.5-72B-Instruct", + "stream": false, + "messages": [ + { + "role": "system", + "content": "你是聪明的助手" + }, + { + "role": "user", + "content": "老鼠生病了可以吃老鼠药治好吗?" + } + ] + }' + ``` + + + ```javascript showLineNumbers + async function query(data) { + const response = await fetch('https://ai.gitee.com/v1/chat/completions', { + headers: { + Authorization: 'Bearer xxxxx', + 'Content-Type': 'application/json', + }, + method: 'POST', + body: JSON.stringify(data), + }); + const result = await response.json(); + return result; + } + + query({ + "messages": [ + { + "role": "system", + "content": "你是聪明的助手" + }, + { + "role": "user", + "content": "老鼠生病了可以吃老鼠药治好吗?" + } + ], + "model": "Qwen2.5-72B-Instruct", + "stream": false, + "max_tokens": 512, + "temperature": 0.7, + "top_p": 0.7, + "frequency_penalty": 1 + }).then((response) => { + console.log(JSON.stringify(response)); + }); + + ``` + + + +AI 模型响应: +```json showLineNumbers +{ + "id": "chat-476266af435142d2bb7d342ea54694f2", + "object": "chat.completion", + "created": 1731401912, + "model": "Qwen2.5-72B-Instruct", + "choices": [{ + "index": 0, + "message": { + "role": "assistant", + "content": "不可以。老鼠药是用于杀死老鼠的毒药,而不是治疗老鼠的疾病。如果老鼠生病了,应该寻求兽医的帮助。", + "tool_calls": [] + }, + "logprobs": null, + "finish_reason": "stop", + "stop_reason": null + }], + "usage": { + "prompt_tokens": 27, + "total_tokens": 57, + "completion_tokens": 30 + }, + "prompt_logprobs": null +} +```` + +### 示例二:使用 OpenAI 客户端调用模力方舟模型 API + +模力方舟的 Serverless API 兼容开发者喜爱且社区流行的 OpenAI 风格 API。 + +所有支持 OpenAI API 的工具都可以直接使用模力方舟的 Serverless API 工作。 + +1. **获取访问凭证**:登录模力方舟控制台,在 [**工作台 -> 访问令牌**]({{SITE_URL}}/dashboard/settings/tokens) 中创建访问令牌。 +2. **安装客户端**:以 OpenAI 客户端为例,首先安装依赖: + +```bash +pip install openai -i https://mirrors.cloud.tencent.com/pypi/simple +``` +如果您有 javascript 经验可使用 [OpenAI nodejs 客户端](https://www.npmjs.com/package/openai/) + +通过简单接口调用,生成指定内容: + +```python showLineNumbers title="python" +from openai import OpenAI +import json + +base_url = "{{SITE_URL}}/v1" + +model_name = "Qwen2.5-72B-Instruct" + +# {{SITE_URL}}/dashboard/settings/tokens 获取您的访问令牌 +GITEE_AI_API_KEY = "您的访问令牌" +client = OpenAI(base_url=base_url, api_key=GITEE_AI_API_KEY) + +completion = client.chat.completions.create( + model=model_name, # 指定模型名称 例如 Qwen2.5-72B-Instruct,可访问 {{SITE_URL}}/serverless-api 查看 + stream=True, + temperature=0.7, + top_p=0.95, + frequency_penalty=1.05, + messages=[ + {"role": "system", "content": "你是一个有用的助手。"}, + {"role": "user", "content": "写一个 python 简明教程"} + ] +) + +for chunk in completion: + print(chunk.choices[0].delta.content, end="") + +``` + +除了纯文本,您还可以让模型以 JSON 格式返回结构化数据 —— 此功能称为 [**结构化输出**](json-output.md) ,在模力方舟中可通过 `guided_json` 参数实现。 + +### 流式响应 + +对于长文本生成,启用流式响应 `stream=True` 可实时获取结果,减少等待时间: + +```python showLineNumbers title="python" +from openai import OpenAI + +# 初始化客户端 +client = OpenAI( + base_url="{{SITE_URL}}/v1", + api_key="您的访问令牌" +) + +stream = client.chat.completions.create( + model="Qwen2.5-72B-Instruct",# 替换成指定模型名称 + messages=[ + {"role": "user", "content": "写一段关于人工智能发展历程的短文"} + ], + stream=True, # 启用流式输出 + temperature=0.6 +) + +for chunk in stream: + if chunk.choices[0].delta.content: + print(chunk.choices[0].delta.content, end="") +``` + +### 核心参数说明 + +- **tool_choice**: 支持 `auto` 由模型自动选择工具,也支持强制选择工具,写法如下: + +```json +"tool_choice": {"type": "function", "function": {"name": "function_name"}}, +``` + +- **guided_json**:让模型以指定的 JSON Schema 响应。不建议与 `tools`、`guided_json` 同时传入。 + + > JSON Schema 更多信息可参阅:[JSON Schema](https://json-schema.org/learn/miscellaneous-examples) + +- **guided_choice**: 让模型选择提供的字符串列表之一,不建议与 `tools`、`guided_json` 同时传入。 + +例如判断用户输入正负面性可传入: + +```json +"guided_choice": ["正面", "负面", "中性"] +``` + +其他参数详见 [接口文档]({{SITE_URL}}/docs/openapi/v1#tag/文本生成) + + +## 模型选择 + +通过 API 生成内容时,一个关键选择是您想要使用的模型,即上述代码示例中的 `model` 参数。您可以在 [模型广场]({{SITE_URL}}/serverless-api#text-generation) 找到可用模型的完整列表。选择文本生成模型时,需要考虑以下几个因素: + +#### 任务场景适配 + +- **通用文本创作**:如文案撰写、故事续写,优先选语言理解与生成能力均衡的模型,适配日常多样化表达需求 +- **专业领域任务**:代码生成、数学推理等场景,需聚焦模型在对应领域的专项能力,像代码逻辑推导、公式运算精度 +- **长文本处理**:万字级文档生成,关注模型上下文窗口(如 32K、128K 等),确保完整承接信息逻辑 + +#### 功能特性需求 + +- **工具调用能力**:需结合外部系统(如函数调用、多模态工具),优先选标注 “Function Calling” 的模型(如 kimi-k2-instruct、Qwen2.5-72B-Instruct),实现与业务系统深度交互 +- **多语言支持**:涉及中英双语或小语种,关注 “多语言” 标签模型(如 ERNIE-4.5-Turbo ),保障跨语言文本质量 + +#### 选型实践建议 + +- **快速验证**:先用免费模型(如 Qwen3-8B、Qwen3-4B )跑通流程,验证任务可行性 +- **场景深化**:聚焦核心需求(如长文本选 kimi-k2-instruct 、专业推理选 DeepSeek-R1 ),迁移至对应模型优化效果 + +结合以上考虑因素,可根据实际业务的文本场景复杂度、功能依赖等精准匹配模力方舟模型广场中的模型,提升文本生成效率与质量。 + +## 提示工程 + +提示工程是为模型编写有效指令的过程,目的是让模型持续生成符合需求的内容。由于模型生成具有非确定性,构建精准提示词需结合艺术与科学,但通过技术和最佳实践可稳定获取优质结果。 + +- 核心原则-模型适配性:不同模型、同系列不同版本对提示的响应存在差异。 + +### 消息角色与指令遵循 + +通过 `instructions` 参数或**消息角色**,可分层向模型注入指令,控制响应逻辑。 + +1. **instructions 参数**:全局指令优先级 + +`instructions` 为模型提供**高级指令**(语气、目标、示例等),优先级高于 `input` 内容。 + +```javascript showLineNumbers title="javascript" +import OpenAI from 'openai'; +const client = new OpenAI({ + baseURL: '{{SITE_URL}}/v1', + apiKey: '您的模力方舟API密钥', +}); + +const response = await client.responses.create({ + model: '对应模型名称', + // 定义全局风格/规则 + instructions: '用老奶奶的语气说话,带点生活化的比喻和慈祥的唠叨', + input: 'JavaScript中的分号是可选的吗?', +}); + +console.log(response.output_text); +// 示例输出:"哎哟孩子啊,JavaScript里这个分号嘛,就像咱们包饺子放盐——可放可不放!不过奶奶跟你说啊,该放的时候还是得放,不然煮出来容易破皮(出bug)哩!" +``` + +2. **消息角色**:精细化场景控制 + + 结合 `system` 、`user`、 `assistant` 角色,可更灵活定义交互逻辑。 + + 若需深度定制 AI 人设(如二次元风格、专业助手),可扩展阅读:[定制AI的聊天角色风格](./lang-style) + +### 提示词格式化技巧 + +通过 Markdown 和 XML 标签 增强提示词结构,帮助模型理解逻辑边界,提升输出准确性。 + +**推荐结构(developer 消息)**: + +- 身份:描述助手的角色、沟通风格和目标 +- 指令:明确规则(必做 / 禁止事项) +- 示例:提供输入输出样例 +- 上下文:补充私有数据或相关信息(建议放末尾,便于动态替换) + +**示例:代码生成提示词** + +```text +# 身份 +你是一名编码助手,帮助在JavaScript代码中强制使用蛇形命名法变量,并编写可在Internet Explorer 6中运行的代码。 + +# 指令 +定义变量时,使用蛇形命名法(例如my_variable)而不是驼峰命名法(例如myVariable)。 +为了支持旧浏览器,使用较旧的"var"关键字声明变量。 +不要用Markdown格式回应,只需按要求返回代码。 + +# 示例 + +如何声明一个用于名字的字符串变量? + + + +var first_name = "安娜"; + +``` + +### 少样本学习 + +通过在提示词中包含少量输入 / 输出示例,引导模型快速掌握任务(无需微调)。模型会隐式学习示例中的模式并应用于新输入。 + +**示例:情感分类任务** + +```text +# 身份 +你是一个有帮助的助手,将简短的产品评论标记为正面、负面或中性。 + +# 指令 +* 响应中只输出一个单词,不包含额外格式或评论。 +* 你的响应只能是"正面"、"负面"或"中性"中的一个。 + +# 示例 + +我非常喜欢这副耳机——音质太棒了! + + + +正面 + + + +电池续航还行,但感觉很廉价。 + + + +中性 + + + +客户服务太糟糕了,我再也不会从他们那里买东西了。 + + + +负面 + +``` + +### 函数调用与提示词结合 + +当提示词需要外部数据(如实时天气、数据库查询)时,可通过**函数调用**扩展模型能力。模型会根据提示词判断是否调用工具、调用哪个工具及参数,客户端执行后返回结果即可。 + +详细实现方法可参考: [**函数调用**](./function-calling) + +### 上下文与性能优化 + +1. 上下文窗口规划 + 模型可处理的最大数据量有限,称为上下文窗口: + +- 不同模型支持的窗口大小不同 +- 长文本处理建议:分段输入、使用摘要工具压缩上下文 + +2. 提示词缓存优化 + 将重复使用的固定内容(如系统指令)放在提示词开头,利用缓存减少计算成本: + +```python showLineNumbers title="python" +# 高效结构:固定内容在前,动态内容在后 +messages = [ + {"role": "system", "content": "固定的系统指令,如'你是电商客服,需礼貌回答订单问题'"}, # 可被缓存 + {"role": "user", "content": "动态用户输入:我的订单12345什么时候发货?"} # 实时处理 +] +``` diff --git a/docs/products/apis/videos/_category_.json b/docs/products/apis/videos/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..1d4abe3b0a0d47664c56cbd0e93d7790689e299b --- /dev/null +++ b/docs/products/apis/videos/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "视频大模型", + "position": 7, + "collapsed": true +} \ No newline at end of file diff --git a/docs/products/apis/videos/index.md b/docs/products/apis/videos/index.md new file mode 100644 index 0000000000000000000000000000000000000000..d0c0c6e0d891ee3b4ddeb7ab594bff8c0e906508 --- /dev/null +++ b/docs/products/apis/videos/index.md @@ -0,0 +1,95 @@ +import ServerlessAPIServices from '@site/src/components/ServerlessAPIServices'; + +# 视频大模型 + +## 基本介绍 + +视频大模型包括文生视频和图生视频。文生视频是指通过输入文本描述生成对应的视频内容,而图生视频则是通过输入图片生成相关的视频。视频大模型的应用场景包括影视制作、广告创意、教育培训等领域。 + +## 视频模型列表 + +目前模型广场已上线的的视频生成模型包括: + + + +## 使用方法 + +在模型使用界面输入文本描述,模型将生成对应的视频内容。以下是使用 `Wan2.1-T2V-14B` 模型的示例: + +![wan2.1-t2v](/img/serverless-api/wan-t2v.jpg) + +## 示例代码 + +模力方舟上所有的视频模型皆使用异步接口方式调用,详情请看模型体验页面的示例代码,或者参考 [异步接口使用指南]({{SITE_URL}}/docs/openapi/v1#tag/异步任务)。 + +```python showLineNumbers title="python" +import requests +import time +import json +import webbrowser + +API_URL = "{{SITE_URL}}/v1/async/videos/generations" +API_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" # 请替换为您的令牌 +headers = { + "Authorization": f"Bearer {API_TOKEN}" +} + +def query(payload): + response = requests.post(API_URL, headers=headers, json=payload) + return response.json() + +def poll_task(task_id): + status_url = f"{{SITE_URL}}/v1/task/{task_id}" + timeout = 30 * 60 + retry_interval = 10 + attempts = 0 + max_attempts = int(timeout / retry_interval) + while attempts < max_attempts: + attempts += 1 + print(f"Checking task status [{attempts}]...", end="") + response = requests.get(status_url, headers=headers, timeout=10) + result = response.json() + if result.get("error"): + print('error') + raise ValueError(f"{result['error']}: {result.get('message', 'Unknown error')}") + status = result.get("status", "unknown") + print(status) + if status == "success": + if "output" in result and "file_url" in result["output"]: + file_url = result["output"]["file_url"] + duration = (result.get('completed_at', 0) - result.get('started_at', 0)) / 1000 + print(f"🔗 Donwload link: {file_url}") + print(f"⏱️ Task duration: {duration:.2f} seconds") + # Open the result URL in the browser + webbrowser.open(file_url) + else: + print("⚠️ No output URL found") + elif status in ["failed", "cancelled"]: + print(f"❌ Task {status}") + else: + time.sleep(retry_interval) + continue + task_file = f"task_{task_id}.json" + with open(task_file, "w") as f: + json.dump(result, f, indent=4) + print(f"Task was saved to file {task_file}") + return result + print(f"⏰ Maximum attempts reached ({max_attempts})") + return {"status": "timeout", "message": "maximum wait time exceeded"} + +if __name__ == "__main__": + print("Creating task...") + result = query({ + "model": "Wan2.1-T2V-1.3B", + "num_inferenece_steps": 50, + "num_frames": 81 + }) + task_id = result.get("task_id") + if not task_id: + raise ValueError("Task ID not found in the response") + print(f"Task ID: {task_id}") + task = poll_task(task_id) + if task.get("status") == "success": + # Do something with the task result here + print("Task completed successfully!") +``` diff --git a/docs/products/datasets/_category_.json b/docs/products/datasets/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..6715f7e504fcdabb9802970668eb116d4abe9e56 --- /dev/null +++ b/docs/products/datasets/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "数据集", + "position": 3, + "collapsed": true +} \ No newline at end of file diff --git a/docs/datasets/cards.md b/docs/products/datasets/card.md similarity index 69% rename from docs/datasets/cards.md rename to docs/products/datasets/card.md index 68f8a93e1a8b99de392c4284f1823d5de2e7c1b7..9e08137fad1cde5b01f65884297a0a741627bd2a 100644 --- a/docs/datasets/cards.md +++ b/docs/products/datasets/card.md @@ -1,10 +1,14 @@ +--- +sidebar_position: 1 +--- + # 数据集卡片 -## 什么是数据集卡片 +## 数据集卡片 -数据集卡片是一种用于在仓库中记录每个数据集详细信息的文件。在 Gitee AI ,数据集的主页会展示该数据集卡片的内容。为了指导用户有效地、负责任地利用数据,建议数据集卡片应包含数据集潜在的偏见信息的相关内容。简而言之,数据集卡片能帮助用户了解数据集包含的内容,并在`README.md`提供关于如何恰当使用这些数据的背景信息。 +数据集卡片是一种用于在仓库中记录每个数据集详细信息的文件。在模力方舟 ,数据集的主页会展示该数据集卡片的内容。为了指导用户有效地、负责任地利用数据,建议数据集卡片应包含数据集潜在的偏见信息的相关内容。简而言之,数据集卡片能帮助用户了解数据集包含的内容,并在 `README.md` 提供关于如何恰当使用这些数据的背景信息。 -此外,您可以在数据集卡片中添加关于数据集的元信息。这些元信息提供了诸如许可证、使用语言、数据集大小等重要信息。此外还包括标签以便用户更容易地找到数据集,以及关于数据文件配置的选项。这些标签被定义在文件`README.md`顶部的 YAML 元信息区域内。 +此外,您可以在数据集卡片中添加关于数据集的元信息。这些元信息提供了诸如许可证、使用语言、数据集大小等重要信息。此外还包括标签以便用户更容易地找到数据集,以及关于数据文件配置的选项。这些标签被定义在文件 `README.md` 顶部的 YAML 元信息区域内。 ## 数据集卡片元信息 @@ -22,9 +26,9 @@ tags: --- ``` -这样,您就可以通过这种方式在 `README.md` 文件中明确指定数据集卡片上应展示的元信息,从而让数据集的展示更加清晰和有用。 +您就可以通过这种方式在 `README.md` 文件中明确指定数据集卡片上应展示的元信息,从而让数据集的展示更加清晰和有用。 -您添加到数据集卡片的元信息能够在 Gitee AI 上启用某些互动功能。例如: +您添加到数据集卡片的元信息能够在模力方舟上启用某些互动功能。例如: 允许用户在 {{SITE_URL}}/datasets 上过滤和发现数据集。 如果您根据表格中的许可证选择一个关键词,该许可证会在数据集页面上显示。 @@ -44,7 +48,7 @@ tags: ## 相关论文 -如果数据集卡片包含指向论文的链接,Hub将提取论文链接并将其包含在数据集标签中,格式为 论文 论文链接 ,如下: +如果数据集卡片包含指向论文的链接,Hub 将提取论文链接并将其包含在数据集标签中,格式为论文链接 ,如下: ![alt text](/img/dataset/card_paper.png) diff --git a/docs/datasets/downloading.md b/docs/products/datasets/download.md similarity index 35% rename from docs/datasets/downloading.md rename to docs/products/datasets/download.md index 1f29bfd97e9f3258f54ccf2c99f0c6a5a7180b28..819a5fcb406734063196d28f6816ca6f38c366ff 100644 --- a/docs/datasets/downloading.md +++ b/docs/products/datasets/download.md @@ -1,8 +1,11 @@ +--- +sidebar_position: 3 +--- + # 数据集下载 我们目前只提供一种方式下载数据集:克隆仓库。 ### 克隆仓库 -请参考[克隆仓库](/repositories#克隆仓库)文档,做好必要设置后,即可克隆仓库到本地。 - +请参考 [克隆仓库](/docs/products/models/repositories#%E5%85%8B%E9%9A%86%E4%BB%93%E5%BA%93) 文档,做好必要设置后,即可克隆仓库到本地。 diff --git a/docs/datasets.md b/docs/products/datasets/index.md similarity index 64% rename from docs/datasets.md rename to docs/products/datasets/index.md index c08b694f4f066f17dddb87044f0c52076043b1f5..b06e05e3b06d6fb5afbbf21168f8365a2f47737a 100644 --- a/docs/datasets.md +++ b/docs/products/datasets/index.md @@ -1,8 +1,8 @@ # 数据集 -Gitee AI 拥有大量的数据集,涵盖各种领域和各种细分任务(翻译、语音识别、图像分割等)。 +模力方舟存储大量的开源数据集,其中多数是全球知名的数据集。涵盖各种领域和各种细分任务(翻译、语音识别、图像分割等)。 -每个数据集都是一个Git 仓库,其中包含生成训练、评估和测试所需的数据。有关如何构建数据集仓库的信息,请参考[数据集卡片](/datasets/cards)。 +每个数据集都是一个Git 仓库,其中包含生成训练、评估和测试所需的数据。有关如何构建数据集仓库的信息,请参考 [数据集卡片](/docs/products/datasets/card)。 以下文档将指导您如何与这些数据集进行交互,例如:上传新数据集、探索数据集内容以及在项目中使用数据集。 @@ -10,8 +10,8 @@ Gitee AI 拥有大量的数据集,涵盖各种领域和各种细分任务( 与模型和应用一样,您可以使用顶部导航或主数据集页面上的搜索栏进行搜索。您可以使用语言、任务和许可证等过滤器来过滤结果,从而找到适合您的数据集。 -![alt text](/img/base/datasets_search.png) +![datasets](/img/base/datasets.jpg) ## 隐私 -由于数据集是仓库,因此您可以通过“设置”选项卡在私有和公共之间切换其可见性。 \ No newline at end of file +由于数据集是仓库,因此您可以通过“设置”选项卡在私有和公共之间切换其可见性。 diff --git a/docs/datasets/uploading.md b/docs/products/datasets/upload.md similarity index 35% rename from docs/datasets/uploading.md rename to docs/products/datasets/upload.md index 1099126424c9601fcbd70a4f06099ae42facc90b..2afbdf6787a9515cb1ab193d544c088f2bab318e 100644 --- a/docs/datasets/uploading.md +++ b/docs/products/datasets/upload.md @@ -1,12 +1,16 @@ +--- +sidebar_position: 1 +--- + # 数据集上传 -Gitee AI 拥有大量数据集。我们鼓励您将数据集分享到社区,以帮助发展开源模型社区并加快每个人的进步。欢迎每一位社区贡献者向社区分享您的数据集! +我们鼓励您将数据集分享到社区,以帮助发展开源模型社区并加快每个人的进步。欢迎每一位社区贡献者向社区分享您的数据集! -## 上传步骤 +## 使用仓库上传数据集 -请先参考[仓库](/repositories#克隆仓库)文档: +请先参考 [模型与数据集仓库](/docs/products/models/repositories) 文档: -1. 在线[创建数据集仓库](/repositories#创建仓库)并获取到仓库地址; +1. 在线 [创建数据集仓库](/docs/products/models/repositories) 并获取到仓库地址; 2. 下载并安装 Git LFS,设置 SSH 公钥(如果您选择使用 SSH 方式推送); @@ -14,9 +18,8 @@ Gitee AI 拥有大量数据集。我们鼓励您将数据集分享到社区, 4. 提交文件并推送到远程仓库; -5. 前往模型详情页,[编辑数据集卡片](/datasets/cards#编辑数据集卡片),填写模型的元信息和描述。 - +5. 前往模型详情页,[编辑数据集卡片](/docs/products/datasets/card),填写模型的元信息和描述。 -### 使用 `gai` 命令行工具上传数据集 +## 使用 `gai` 命令行工具上传数据集 -如果数据集仓库中文件较大,Git 推送出现上传缓慢或上传失败的情况,推荐使用 `gai` 命令行工具上传,详见 [Gitee AI CLI 文档](/gai)。 +如果数据集仓库中文件较大,Git 推送出现上传缓慢或上传失败的情况,推荐使用 `gai` 命令行工具上传,详见 [gai 工具文档](https://gitee.com/moark/cli)。 diff --git "a/docs/ability/fuzzy.assets/20250113164303_\345\220\211\345\215\234\345\212\233\351\243\216\346\240\274__\345\260\217\346\270\205\346\226\260.jpeg" "b/docs/products/fuzzy.assets/20250113164303_\345\220\211\345\215\234\345\212\233\351\243\216\346\240\274__\345\260\217\346\270\205\346\226\260.jpeg" similarity index 100% rename from "docs/ability/fuzzy.assets/20250113164303_\345\220\211\345\215\234\345\212\233\351\243\216\346\240\274__\345\260\217\346\270\205\346\226\260.jpeg" rename to "docs/products/fuzzy.assets/20250113164303_\345\220\211\345\215\234\345\212\233\351\243\216\346\240\274__\345\260\217\346\270\205\346\226\260.jpeg" diff --git a/docs/ability/fuzzy.assets/P1012997.jpeg b/docs/products/fuzzy.assets/P1012997.jpeg similarity index 100% rename from docs/ability/fuzzy.assets/P1012997.jpeg rename to docs/products/fuzzy.assets/P1012997.jpeg diff --git a/docs/ability/fuzzy.assets/image-20250113153212170.png b/docs/products/fuzzy.assets/image-20250113153212170.png similarity index 100% rename from docs/ability/fuzzy.assets/image-20250113153212170.png rename to docs/products/fuzzy.assets/image-20250113153212170.png diff --git a/docs/ability/fuzzy.assets/image-20250113173048253.png b/docs/products/fuzzy.assets/image-20250113173048253.png similarity index 100% rename from docs/ability/fuzzy.assets/image-20250113173048253.png rename to docs/products/fuzzy.assets/image-20250113173048253.png diff --git a/docs/ability/fuzzy.assets/image-20250113173107828.png b/docs/products/fuzzy.assets/image-20250113173107828.png similarity index 100% rename from docs/ability/fuzzy.assets/image-20250113173107828.png rename to docs/products/fuzzy.assets/image-20250113173107828.png diff --git a/docs/ability/fuzzy.assets/image-20250114143124824.png b/docs/products/fuzzy.assets/image-20250114143124824.png similarity index 100% rename from docs/ability/fuzzy.assets/image-20250114143124824.png rename to docs/products/fuzzy.assets/image-20250114143124824.png diff --git a/docs/ability/fuzzy.assets/image-20250114144653414.png b/docs/products/fuzzy.assets/image-20250114144653414.png similarity index 100% rename from docs/ability/fuzzy.assets/image-20250114144653414.png rename to docs/products/fuzzy.assets/image-20250114144653414.png diff --git a/docs/ability/fuzzy.assets/image-20250114144718497.png b/docs/products/fuzzy.assets/image-20250114144718497.png similarity index 100% rename from docs/ability/fuzzy.assets/image-20250114144718497.png rename to docs/products/fuzzy.assets/image-20250114144718497.png diff --git a/docs/products/fuzzy.assets/jojo.jpeg b/docs/products/fuzzy.assets/jojo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..33657f77d6e37cfaf1f7bda97eecca0aa9f9bb89 Binary files /dev/null and b/docs/products/fuzzy.assets/jojo.jpeg differ diff --git a/docs/products/fuzzy.assets/style_web.jpg b/docs/products/fuzzy.assets/style_web.jpg new file mode 100644 index 0000000000000000000000000000000000000000..926d92aba53b72ed251f1ee309f074f99f2fa833 Binary files /dev/null and b/docs/products/fuzzy.assets/style_web.jpg differ diff --git a/docs/products/models/_category_.json b/docs/products/models/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..0b85ff0867c0a0ec1f6fe9f91dbb53907b6de335 --- /dev/null +++ b/docs/products/models/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "模型库", + "position": 2, + "collapsed": true +} \ No newline at end of file diff --git a/docs/products/models/card.md b/docs/products/models/card.md new file mode 100644 index 0000000000000000000000000000000000000000..87bc845523a302e1e1a45e996d88353c2edc7a03 --- /dev/null +++ b/docs/products/models/card.md @@ -0,0 +1,58 @@ +--- +sidebar_position: 1 +--- + +# 模型卡片 + +本文档将详细说明模型卡片的概念、创建规范、操作方法和维护要求。 + +## 模型卡片 + +模型卡片作为用户了解模型详情的重要入口,通过模型仓库中的 README.md 文件进行管理和展示。它由 YAML 头部元数据和 Markdown 正文内容两部分构成,是用户快速理解、应用和分享模型的重要桥梁。 + +一个高质量的模型卡片通常应该涵盖以下核心要素: + +- **模型基础信息**:模型名称、功能描述、技术架构、核心特性等基本介绍。 + +- **应用场景和使用范围**:明确说明模型的适用领域和应用场景,帮助用户判断是否符合需求。 + +- **使用指南**:提供详细的使用说明,包括所需的开发框架、运行环境配置、输入数据格式等。最好能提供可运行的代码示例。 + +- **训练数据说明**:描述模型训练时使用的数据集类型、数据规模、数据预处理方式等。 + +- **训练过程介绍**:阐述模型的训练方法、关键参数设置、优化策略等技术细节。 + +- **性能评估报告**:展示模型在各项指标上的表现,包括准确率、速度等性能数据。 + +具体的编写要求和格式规范请参考下文的详细说明。 + +为了帮助社区用户更好地发现、使用和改进开源模型,我们鼓励所有模型发布者按照标准规范来完善模型卡片内容。同时,我们也欢迎社区成员积极参与模型生态建设,您可以在模型页面的讨论区提出改进建议,或者直接通过提交 Pull Request 的方式来优化和完善模型卡片。 + +## 编辑模型卡片 + +如果您是模型创建者,可以点击模型卡片右上角的“编辑模型卡片”按钮,编辑模型的元信息和描述。 + +![alt text](../../../static/img/model/edit-model-card.png) + +### 元信息(metadata) + +元信息表单支持编辑模型的许可证、训练用到的数据集、语言、度量指标、**框架**和**任务类型**。 + +编辑元信息表单后,内容将同步保存到 README.md 顶部的 YAML 元信息信息中。 + +![alt text](../../../static/img/model/edit-model-card-metadata.png) + +元信息由 `---` 包裹,内容为 YAML 格式: + +```yaml +--- +license: mit +language: + - en + - zh +--- +``` + +### 描述 + +描述内容为 Markdown 格式,用于介绍当前模型,关于 Markdown 语法请参考 [CommonMark](https://commonmark.org/help/) 。 diff --git a/docs/models/downloading.md b/docs/products/models/download.md similarity index 44% rename from docs/models/downloading.md rename to docs/products/models/download.md index 2dea9632454d02db1fff5176fe1b43002861230f..a4e29090ac311ad3964464514c9f474768700e69 100644 --- a/docs/models/downloading.md +++ b/docs/products/models/download.md @@ -1,16 +1,21 @@ +--- +sidebar_position: 3 +--- + # 模型下载 -我们提供两种方式下载模型:克隆仓库和使用 huggingface_hub/transfomers/diffusers 库直接使用。 +我们提供两种方式下载模型:克隆仓库和使用 `huggingface_hub` `transfomers` `diffusers` 库直接使用。 + +## 一. 克隆仓库 -### 克隆仓库 +请参考 [模型仓库](/docs/products/models/repositories) 文档,做好必要设置后,即可克隆仓库到本地。 -请参考[克隆仓库](/repositories#克隆仓库)文档,做好必要设置后,即可克隆仓库到本地。 +## 二. 使用 huggingface 库下载模型 -### 使用 huggingface_hub/transfomers/diffusers 库下载或本地模型推理 +我们对 huggingface 模型下载相关 API 进行了适配,只需要配置合适的环境变量 `HF_ENDPOINT` 和 `HF_HOME`,即可使用 `huggingface_hub` `transfomers` `diffusers` 库直接下载使用模力方舟上的模型。 -我们对 Huggingface 模型下载相关 API 进行了适配,只需要配置合适的环境变量 `HF_ENDPOINT` 和 `HF_HOME`,即可使用 HuggingfaceHub/Transfomers/Diffusers 库直接下载使用 Gitee AI 上的模型。 +### 1. 设置环境变量 (二选一) -#### 1. 设置环境变量 (二选一) - 可以在执行脚本前设置环境变量: ```bash @@ -18,41 +23,49 @@ export HF_ENDPOINT=https://hf-api.gitee.com export HF_HOME=~/.cache/gitee-ai ``` -- 或者,在要执行的 python 代码 **头部** 粘贴以下代码: -```python +- 或者,在要执行的 python 代码 **头部** 粘贴以下代码: + +```python showLineNumbers title="python" import os os.environ["HF_HOME"] = "~/.cache/gitee-ai" os.environ["HF_ENDPOINT"] = "https://hf-api.gitee.com" ``` -下载私有模型时,请使用 [Gitee 私人令牌](https://gitee.com/profile/personal_access_tokens) 设置环境变量 HF_TOKEN,然后再执行下载代码 + +下载私有模型时,请使用 [Gitee 私人令牌](https://gitee.com/profile/personal_access_tokens) 设置环境变量 `HF_TOKEN`,然后再执行下载代码 ```bash export HF_TOKEN= ``` -:::tip -在 **Gitee AI 应用** 中,**无需修改** 环境变量 `HF_ENDPOINT` ,默认即内网高速下载。 -::: - -#### 2. 下载模型或本地模型推理 +### 2. 下载模型或本地模型推理 [huggingface_hub](https://github.com/huggingface/huggingface_hub): -```python +```python showLineNumbers title="python" from huggingface_hub import hf_hub_download hf_hub_download("hf-models/sdxl-turbo", "sd_xl_turbo_1.0.safetensors", local_dir="./models") ``` [transformers](https://github.com/huggingface/transformers): -```python +```python showLineNumbers title="python" from transformers import pipeline pipe = pipeline("text-generation", model="gpt2") ``` [diffusers](https://github.com/huggingface/diffusers): -```python +```python showLineNumbers title="python" from diffusers import DiffusionPipeline pipeline = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0") ``` + +## 三. 下载统计 + +在模型页面右侧,在线体验上方,我们提供了该模型最近 30 天的下载数据,下载包括本地克隆和仓库 ZIP 下载的总数。 + +![alt text](/img/model/download-stats.png) + +模型的下载数是一个重要的受欢迎指标,所以我们在模型列表也提供了按下载数排序的功能,让用户可以快速找到最受欢迎的模型。 + +![alt text](/img/model/sort-by-downloads.png) diff --git a/docs/products/models/index.md b/docs/products/models/index.md new file mode 100644 index 0000000000000000000000000000000000000000..5a0cb18c56e0aad40dc8bdd2f296a5b6a1815e29 --- /dev/null +++ b/docs/products/models/index.md @@ -0,0 +1,56 @@ +# 模型库 + +模力方舟的模型库收录了来自全球最优秀的开源模型,涵盖了文本对话、图像处理、计算机视觉、语音识别、视频等多个领域。 + +![alt text](/img/base/models.png) + +## 功能特性 + +### 🔍 智能分类与搜索 + +- **多维度分类**:按任务类型、模型框架、支持语言等维度精准分类 +- **强大搜索**:支持通过模型名称、描述、标签等关键词快速检索 +- **筛选功能**:可按热度、更新时间、模型大小等条件筛选 + +### 🚀 一键体验 + +- **在线预览**:无需下载即可在浏览器中直接体验模型效果(仅限部分模型) +- **多种调用方式**:支持 Web 界面、API 调用、SDK 集成等多种使用方式 +- **性能优化**:基于高性能推理引擎,确保模型运行效率 + +### 📊 详细信息 + +模型库中绝大多数的模型页面都提供: + +- 模型介绍和适用场景 +- 技术参数和性能指标 +- 使用示例和最佳实践 +- 下载统计 + +## 核心概念 + +### 模型(Model) + +指一个完整的 AI 模型实例,包含: + +- **模型架构**:神经网络的结构设计 +- **训练参数**:通过训练得到的模型权重 +- **配置文件**:模型运行所需的配置信息 +- **示例代码**:帮助用户快速上手的代码示例 + +### 模型库(Model Repository) + +提供模型的存储、管理和分发服务: + +- **版本管理**:支持模型的多版本管理和回滚 +- **访问控制**:可设置公开、私有或团队共享 +- **存储优化**:采用分布式存储,确保高可用性 +- **API 接口**:提供完整的模型管理 API + +## 快速开始 + +1. **浏览模型**:访问 [模型库首页]({{SITE_URL}}/models) 开始探索 +2. **在线体验**:点击任意模型卡片,进入详情页面体验 +3. **API 调用**:参考 [调用 API 文档](/docs/products/apis/?tag=%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90#%E6%9C%AC%E5%9C%B0%E8%B0%83%E7%94%A8-api-%E8%BF%9B%E8%A1%8C%E6%8E%A8%E7%90%86) 了解如何在应用中集成 + +> 💡 **提示**:新用户注册即可获得免费额度,足够体验所有公开模型的基础功能。 diff --git a/docs/repositories.md b/docs/products/models/repositories.md similarity index 61% rename from docs/repositories.md rename to docs/products/models/repositories.md index a974d9630b5c8bfd789678f960bb260490baba6a..078e3a3f0ef711d56f10be5fe3b1dcae512d3da6 100644 --- a/docs/repositories.md +++ b/docs/products/models/repositories.md @@ -1,10 +1,14 @@ -# 仓库 +--- +sidebar_position: 4 +--- -Gitee AI 上托管的模型、数据集、应用都以 Git 仓库的形式存储,基于 Gitee 成熟的代码托管能力,为用户提供稳定的仓库托管服务。 +# 模型和数据集仓库 + +模力方舟上托管的模型、数据集、应用都以 Git 仓库的形式存储,基于 Gitee 成熟的代码托管能力,为用户提供稳定的仓库托管服务。 ## 创建仓库 -登录 Gitee AI 后,点击右上角头像,我们提供了 **新建模型**、**新建数据集**、**新建应用** 三个入口用于创建不同的仓库。 +登录模力方舟后,点击右上角头像,我们提供了 **新建模型**、**新建数据集**、**新建应用** 三个入口用于创建不同的仓库。 ![alt text](/img/base/new-model-dataset-app-dropdown.png) @@ -16,7 +20,7 @@ Gitee AI 上托管的模型、数据集、应用都以 Git 仓库的形式存储 ## 克隆仓库 -类似于普通的 Git 仓库,我们提供了 `HTTPS` 和 `SSH` 两种协议用于克隆仓库。您可以在模型和数据集仓库首页右侧的 `...` 下拉菜单找到**克隆仓库**入口,对于应用仓库,则是 **克隆应用** 按钮。 +类似于普通的 Git 仓库,我们提供了 `HTTPS` 和 `SSH` 两种协议用于克隆仓库。您可以在模型和数据集仓库首页右侧的 `...` 下拉菜单找到 **克隆仓库** 入口,对于应用仓库,则是 **克隆应用** 按钮。 在克隆之前,请先确保本地已安装 [Git LFS](https://git-lfs.com/)。 @@ -30,8 +34,8 @@ Gitee AI 上托管的模型、数据集、应用都以 Git 仓库的形式存储 如果您使用的是 `HTTPS` 方式,推送时需要输入 Gitee 用户名和密码。 -如果您使用的是 `SSH` 方式,推送前请确保在 Gitee 上已[添加 SSH 公钥](https://help.gitee.com/repository/ssh-key/generate-and-add-ssh-public-key)。 +如果您使用的是 `SSH` 方式,推送前请确保在 Gitee 上已 [添加 SSH 公钥](https://help.gitee.com/repository/ssh-key/generate-and-add-ssh-public-key)。 ## 其他 -更多 Git 仓库相关操作请参考[社区版相关文档](https://help.gitee.com/repository) +更多 Git 仓库相关操作请参考 [社区版相关文档](https://help.gitee.com/repository) diff --git a/docs/gai/gai.md b/docs/products/models/upload.md similarity index 51% rename from docs/gai/gai.md rename to docs/products/models/upload.md index be766842f01973054932e8391c840a47f0d29844..177f2ee4c1cedf7cbfe4ffedd6227cbc0aea34b2 100644 --- a/docs/gai/gai.md +++ b/docs/products/models/upload.md @@ -1,8 +1,30 @@ -# 使用 Gitee AI 命令行工具上传模型 +--- +sidebar_position: 2 +--- -#### 介绍 +# 模型上传 -Gitee AI 命令行工具(`gai`)是一款专为开发者设计的高效工具,帮助用户轻松地将模型和数据集上传到 Gitee AI 平台。 +在模力方舟平台上,您可以通过两种方式上传模型:在线创建模型仓库并推送模型文件,或使用模力方舟命令行工具 `gai` 进行上传。 + +### 一. 在线创建模型仓库并推送文件 + +开始之前请先参考 [仓库](/docs/products/models/repositories) 文档: + +1. 在线 [创建模型仓库](/docs/products/models/repositories#%E5%88%9B%E5%BB%BA%E4%BB%93%E5%BA%93) 并获取到仓库地址; + +2. 下载并安装 Git LFS,设置 SSH 公钥(如果您选择使用 SSH 方式推送); + +3. 将仓库克隆到本地,然后将模型文件放入仓库中; + +4. 提交文件并推送到远程仓库; + +5. 前往模型详情页,[编辑模型卡片](/docs/products/models/card#%E7%BC%96%E8%BE%91%E6%A8%A1%E5%9E%8B%E5%8D%A1%E7%89%87),填写模型的元信息和描述。 + +### 二. 使用 `gai` 命令行工具上传模型 + +如果模型仓库中文件较大,Git 推送出现上传缓慢或上传失败的情况,推荐使用 `gai` 命令行工具上传。 + +模力方舟命令行工具 [gai](https://gitee.com/moark/cli) 是一款专为开发者设计的高效工具,帮助用户轻松地将模型和数据集上传到模力方舟平台。 #### 运行环境说明 @@ -40,27 +62,26 @@ git lfs install 2. 安装 `gai` ```bash - # Mac 和 Linux 用户若出现 "md5sum: command not found" 错误,可以通过 `brew install coreutils` 安装 md5sum 工具解决 # Windows 用户安装完 Git Bash 自带了 md5sum 无需处理 # 下载并安装 gai -sudo /bin/bash -c "$(curl -fsSL https://gitee.com/gitee-ai/cli/raw/master/install.sh)" +sudo /bin/bash -c "$(curl -fsSL https://gitee.com/moark/cli/raw/master/install.sh)" -# 检查 Gitee AI CLI 版本 +# 检查版本 gai version ``` 3. 配置 `gai` - 创建 Gitee 私人令牌:https://gitee.com/profile/personal_access_tokens ,创建令牌时请勾选 `projects` 权限 -- 创建 Gitee AI 访问令牌,请参考帮助文档:{{SITE_URL}}/docs/organization/access-token ,创建时「资源授权」请选择「全部资源」 +- 创建模力方舟访问令牌,请参考 [帮助文档](/docs/organization/access-token) ,创建时「资源授权」请选择「全部资源」 - 在 `gai` 中配置令牌 ```bash - # 全局配置 Gitee AI 和 Gitee 访问令牌 + # 全局配置 模力方舟 和 Gitee 访问令牌 gai config gitee-token - gai config gitee-ai-token + gai config gitee-ai-token <模力方舟访问令牌> ``` 如果希望为**不同仓库**设置不同令牌,可参考如下命令进行配置: @@ -70,29 +91,29 @@ cd <仓库地址> # 配置 Gitee 私人令牌 gai config --local gitee-token -# 配置 Gitee AI 访问令牌 -gai config --local gitee-ai-token +# 配置模力方舟访问令牌 +gai config --local gitee-ai-token <模力方舟访问令牌> ``` #### 使用 -将本地的大模型文件推送到 Gitee AI 模型仓库 +将本地的大模型文件推送到模力方舟模型仓库 -1. 在 Gitee AI [创建模型仓库]({{SITE_URL}}/models/new) +1. 在模力方舟 [创建模型仓库]({{SITE_URL}}/models/new) 2. 获取仓库地址并克隆到本地 - ![输入图片说明](../../static/img/gai/clone.png) + ![输入图片说明](../../../static/img/gai/clone.png) ```bash git clone {{SITE_URL}}// cd ``` -3. 初始化仓库配置(使用 `gai` 作为 Git LFS 的[自定义传输代理](https://github.com/git-lfs/git-lfs/blob/main/docs/custom-transfers.md)),每个仓库只需设置一次即可,相关配置将存储在仓库的 `.git/config` 文件中 +3. 初始化仓库配置(使用 `gai` 作为 Git LFS 的 [自定义传输代理](https://github.com/git-lfs/git-lfs/blob/main/docs/custom-transfers.md)) ,每个仓库只需设置一次即可,相关配置将存储在仓库的 `.git/config` 文件中 ```bash - # 为本地仓库初始化 Gitee AI Cli 配置 + # 为本地仓库初始化 gai 配置 gai config init ``` @@ -103,6 +124,6 @@ gai config --local gitee-ai-token cp ~//model.safetensors . git add . && git commit -m 'Add model.safetensors file' - # 将更新推送到 Gitee AI 模型、数据集仓库 + # 将更新推送到模力方舟模型、数据集仓库 git push origin master ``` diff --git a/docs/ability/ocr.assets/image-20250114152140833.png b/docs/products/ocr.assets/image-20250114152140833.png similarity index 100% rename from docs/ability/ocr.assets/image-20250114152140833.png rename to docs/products/ocr.assets/image-20250114152140833.png diff --git a/docs/ability/ocr.assets/image-20250114152442007.png b/docs/products/ocr.assets/image-20250114152442007.png similarity index 100% rename from docs/ability/ocr.assets/image-20250114152442007.png rename to docs/products/ocr.assets/image-20250114152442007.png diff --git a/docs/ability/pdf.assets/pdf.png b/docs/products/pdf.assets/pdf.png similarity index 100% rename from docs/ability/pdf.assets/pdf.png rename to docs/products/pdf.assets/pdf.png diff --git a/docs/products/training/_category_.json b/docs/products/training/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..c93cfd02bd028b643ca1bfc9b1a8ba4e02afb02f --- /dev/null +++ b/docs/products/training/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "模型微调", + "position": 5, + "collapsed": true +} \ No newline at end of file diff --git a/docs/training/image-generate.md b/docs/products/training/image-generate.md similarity index 76% rename from docs/training/image-generate.md rename to docs/products/training/image-generate.md index 0a2eceffe314ac8e7fcb137d87ded8cc019a9284..406f5322242648c8503bffa4e6bcf2892393f5ac 100644 --- a/docs/training/image-generate.md +++ b/docs/products/training/image-generate.md @@ -1,23 +1,34 @@ +--- +sidebar_position: 2 +--- + # 文生图模型微调 ## 概述 -图像大模型本身已经学到非常多通用的艺术风格和物体,但是它没法理解某个具体的人、具体的事物是什么样子的。通过微调,我们可以教会大模型画出你身边某个具体的人或事物。 -本文将通过 5 张特定狗狗照片的数据集,通过 GiteeAI 开箱即用的模型微调功能。让大模型 “记住” 特定狗狗的特征。 + +图像大模型本身已经学到非常多通用的艺术风格和物体,但是它没法理解某个具体的人、具体的事物是什么样子的。通过微调,我们可以教会大模型画出您身边某个具体的人或事物。 + +目前支持微调的模型包括:`SDXL 1.0` 以及 `FLUX-Dev` 。 + +本文将通过 5 张特定狗狗照片的数据集,通过模力方舟提供的开箱即用的模型微调功能。让大模型 “记住” 特定狗狗的特征。 ## 步骤一:创建微调任务 -在 GiteeAI 控制台的左边侧边栏找到`模型微调`。点击右上角 `新建任务`,填写任务名称,点击`创建任务`。 + +在模力方舟控制台的左边侧边栏找到 `模型微调`。点击右上角 `新建任务`,填写任务名称,点击 `创建任务`。 ![entry](/img/training/guide/create-task.png) ![entry](/img/training/guide/create-task-form.png) ## 步骤二:数据集准备 + 数据集极大地影响微调的效果,数据集包括数据和打标两部分。 建议数据集图片中包含目标物体的多个角度,支持 png, jpg, jpeg 格式的图片上传,最大支持 5M 大小的图片,最多不超过 100 张图片。 + > 本教程示例图片 | | | | | | -|-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------| +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | | ![dogs](/img/training/dogs/0.jpg) | ![dogs](/img/training/dogs/1.jpg) | ![dogs](/img/training/dogs/2.jpg) | ![dogs](/img/training/dogs/3.jpg) | ![dogs](/img/training/dogs/4.jpg) | 将图片上传到微调任务中,点击 `上传图片` 按钮,选择图片文件。 @@ -25,7 +36,6 @@ ![entry](/img/training/guide/task-data-form.png) ![entry](/img/training/guide/task-data-upload.png) - 图片上传完成后,点击`打标/裁剪`按钮,系统将为您的图片进行打标。 ![entry](/img/training/guide/task-data-processing.png) @@ -33,8 +43,8 @@ 点击图片,在弹窗中查看自动打标的结果,您可以根据需要进行修改。 -- 删除你觉得和图片无关的标签 -- 添加你觉得需要的标签内容 +- 删除您觉得和图片无关的标签 +- 添加您觉得需要的标签内容 ![entry](/img/training/guide/task-data-tags-edit.png) @@ -62,9 +72,9 @@ ## 步骤五:查看 LoRA 效果 -微调完成后,每个`循环轮次`会生成一个 LoRA 模型,每个 `LoRA` 模型都会使用`标签`推理生成 3 张图, 一般 `loss` 值越低效果越好。 +微调完成后,每个 `循环轮次` 会生成一个 `LoRA` 模型,每个 `LoRA` 模型都会使用 `标签` 推理生成 3 张图, 一般 `loss` 值越低效果越好。 -你也可以通过生图测试,输入自定义提示词,查看模型效果。 +您也可以通过生图测试,输入自定义提示词,查看模型效果。 ![entry](/img/training/guide/task-result-lora-test.png) ![entry](/img/training/guide/task-result-lora-test-drawer.png) @@ -76,7 +86,6 @@ ![entry](/img/training/guide/task-result-save-set-repo.png) ![entry](/img/training/guide/task-result-save.png) -你可以跟据效果图,挑选出需要保存的 `LoRA` 模型,点击 `保存到仓库` 按钮,稍等片刻,模型将保存到您的仓库中。 +您可以跟据效果图,挑选出需要保存的 `LoRA` 模型,点击 `保存到仓库` 按钮,稍等片刻,模型将保存到您的仓库中。 ![entry](/img/training/guide/task-result-save-btn.png)![entry](/img/training/guide/task-result-save-result.png) - diff --git a/docs/training.mdx b/docs/products/training/index.md similarity index 50% rename from docs/training.mdx rename to docs/products/training/index.md index 6e5aa551d48ad746301b5e80025bebb6e4b66bcc..29692810ce3302ab484d008400bf18df15168b7c 100644 --- a/docs/training.mdx +++ b/docs/products/training/index.md @@ -1,3 +1,7 @@ +--- +description: 大模型微调是指在已经经过大规模数据训练的基础模型之上,利用特定领域或任务的小规模数据集对模型进行进一步调整和优化的过程。 +--- + import ReactPlayer from 'react-player/lazy'; # 模型微调 @@ -6,22 +10,15 @@ import ReactPlayer from 'react-player/lazy'; 大模型本身已经学习到了非常多的通用的语言知识,但是对于特定的任务和领域,其效果可能还不够理想,通过微调可以让模型理解特定数据并处理特定任务。 -GiteeAI支持开箱即用的微调功能。具体支持的微调功能有: +模力方舟支持开箱即用的微调功能。具体支持的微调功能有: -- 文生图模型: SDXL (FLUX 正在开发中) - [上手指南](/training/image-generate) -- 大语言模型:Qwen2.5 +- 文生图模型: `SDXL 1.0` 以及 `FLUX-Dev` +- 文本生成模型:`Qwen2.5` , `Qwen3` #### 从 0 开始实操上手视频 - -:::tip -模型微调功能现已上线,欢迎扫描下方二维码加入微调交流群了解最新动态 - -![](/img/training/guide/contact-qrcode-wx-group.jpeg) -::: diff --git a/docs/products/training/price.md b/docs/products/training/price.md new file mode 100644 index 0000000000000000000000000000000000000000..36e3c3322466ced630cbd5c02e988b2b9e0ed815 --- /dev/null +++ b/docs/products/training/price.md @@ -0,0 +1,26 @@ +--- +sidebar_position: 3 +--- + +# 模型微调计费 + +## 微调定价 + +模力方舟的模型微调服务采用按微调时长进行计费的模式,具体费用取决于微调消耗的时间。 + +当前支持的模型、算力以及定价的关系如下表所示: + +| 模型/算力 | 天垓100 | 沐曦 C500 | +| --------- | ------- | --------- | +| Qwen2.5 | - | 4 元/时 | +| Qwen3 | - | 4 元/时 | +| SDXL | 2 元/时 | 4 元/时 | +| FLUX-Dev | - | 4 元/时 | + +## 计费流程 + +用户在开始微调模型前,系统会根据所选的模型以及数据集先预估一个价格,并要求您在微调开始之前进行支付。当微调结束后,系统采取多退少不补的方案,也就是说如果实际消耗的费用小于您支付的费用,自动将多支付的费用退回到您的账号;如果实际运行的费用超过预估的费用,超出的这部分费用不需要您进行支付。 + +:::tip +模型微调服务可以使用代金券、算力券和折扣券进行抵扣。 +::: diff --git a/docs/training/text-generate.md b/docs/products/training/text-generate.md similarity index 75% rename from docs/training/text-generate.md rename to docs/products/training/text-generate.md index 508f52a7067ad110de6b64285f669e1b00b6ac4b..9ad5376cedc3b0ef2c0c39a30f5c3c7d90f49d41 100644 --- a/docs/training/text-generate.md +++ b/docs/products/training/text-generate.md @@ -1,8 +1,14 @@ -# 大语言模型微调 +--- +sidebar_position: 1 +--- + +import ReactPlayer from 'react-player/lazy'; + +# 文本生成模型微调 ## 模型类别 -我们目前支持Qwen2.5系列的多个纯文本对话类的模型微调,后续会支持更多模型。 +模力方舟目前已支持 `Qwen2.5` 以及 `Qwen3` 系列的多个纯文本对话类的模型微调,更多模型微调支持在陆续上线中,敬请期待。 ## 数据集准备 @@ -12,31 +18,31 @@ ```json { - "messages": [ - { - "role": "system", - "content": "系统提示词(选填)" - }, - { - "role": "user", - "content": "用户的问题内容" - }, - { - "role": "assistant", - "content": "语言模型的回答内容" - } - ] - } + "messages": [ + { + "role": "system", + "content": "系统提示词(选填)" + }, + { + "role": "user", + "content": "用户的问题内容" + }, + { + "role": "assistant", + "content": "语言模型的回答内容" + } + ] +} ``` -* 一轮对话的数据由一条 `messages`的 `json`数据组成,包含三种角色:`system `、`user `、`assistant`,而 `content`包含该角色的会话内容。 -* `system`表示“系统提示词”,一轮对话只能有一条且必须是第一个,它是一个指令权重很高的内容,用于初步规范模型的通用行为。 -* `user`和 `assistant`分别表示“用户提示词”和“模型回复”。模型在训练中要根据会话记录学习 `assistant`的内容,因此数据集中要**至少包含一对 user 和 assistant 的问答对**。 -* 会话不限长度,`user`和 `assistant`的会话内容可以不止一条。 +- 一轮对话的数据由一条 `messages` 的 `json` 数据组成,包含三种角色:`system ` 、`user ` 、`assistant` ,而 `content` 包含该角色的会话内容。 +- `system` 表示“系统提示词”,一轮对话只能有一条且必须是第一个,它是一个指令权重很高的内容,用于初步规范模型的通用行为。 +- `user` 和 `assistant` 分别表示“用户提示词”和“模型回复”。模型在训练中要根据会话记录学习 `assistant` 的内容,因此数据集中要**至少包含一对 user 和 assistant 的问答对**。 +- 会话不限长度,`user` 和 `assistant` 的会话内容可以不止一条。 ### 数据集保存类型 -我们目前仅支持 `jsonl`的保存格式,文件内容由多行 message 的对话数据组成,内容示例如下: +我们目前仅支持 `jsonl` 的保存格式,文件内容由多行 message 的对话数据组成,内容示例如下: ```json lines {"messages": [{"role": "system", "content": "you are a helpful assistant. "}, {"role": "user", "content": "什么是大语言模型?"}, {"role": "assistant", "content": "大语言模型(Large Language Model,简称LLM)是指使用大量文本数据训练的深度学习模型,能够生成自然语言文本或理解语言文本的含义,是自然语言处理领域的重要工具,可以处理多种自然语言任务"}]} @@ -44,7 +50,7 @@ {"messages": [{"role": "system", "content": "you are a helpful assistant. "}, {"role": "user", "content": "热胀冷缩是什么导致的?"}, {"role": "assistant", "content": "热胀冷缩现象是物质的一种基本性质,其主要原因与物质内部的微观结构以及粒子间的相互作用有关。"}, {"role": "user", "content": "感谢你的回答!"}, {"role": "assistant", "content": "不用谢,很高兴可以帮到你,还有什么其他问题吗?"}]} ``` -同时,您可以通过[此处](/files/training/example.jsonl)下载该文件用于参考。 +同时,您可以通过 [此处](/files/training/example.jsonl) 下载该文件用于参考。 ## 模型微调 @@ -52,7 +58,7 @@ #### SFT (监督微调) -监督微调(SFT)通过一个包含明确问题和答案的规范数据集继续训练一个已有的模型,使得最终训练好的模型生成的内容尽可能与数据集中相似。应用SFT微调的可能场景有: +监督微调(SFT)通过一个包含明确问题和答案的规范数据集继续训练一个已有的模型,使得最终训练好的模型生成的内容尽可能与数据集中相似。应用 SFT 微调的可能场景有: - 提升模型在特定领域或场景的能力:原预训练模型的问答效果在特定场景或任务中较差,通过拿这些领域或场景的数据内容训练,模型可以学习这些场景下的回复内容、格式、语气等,以提升相应的能力。 - 有限数据的训练:SFT微调不要求预训练那样巨量的数据,仅需很少且质量很高的数据,就可以以更低成本的让模型实现回复预期内容。 @@ -60,7 +66,7 @@ ### 进入训练界面 -首先在我们的模型广场主页中,点击“工作台”进入到个人主页,如下图所示: +首先在我们的模型广场主页中,点击 “工作台” 进入到个人主页,如下图所示: ![模型广场页面](/img/training/guide-llm/first-in-index.png) @@ -96,7 +102,7 @@ ### 训练与保存 -刚进入到训练页面时,须排队请求GPU资源,训练初始化成功后如下图所示,表示已经开始训练了。 +刚进入到训练页面时,须排队请求 GPU 资源,训练初始化成功后如下图所示,表示已经开始训练了。 ![开始训练的状态](/img/training/guide-llm/third-train-begin.png) @@ -123,3 +129,11 @@ 当显示保存成功时,这个 LoRA 文件就到您的仓库了,您可以选择继续在平台体验效果,也可以将 LoRA 进行后续的任何操作。 以上就是所有的操作了,祝您可以顺利微调出自己心仪的 LoRA 模型~ + +更详细的关于文本微调的介绍和操作,可以观看以下视频: + + diff --git a/docs/products/workflow/_category_.json b/docs/products/workflow/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..abf91f33e8048b87f9cff04e1144419d1efcd33d --- /dev/null +++ b/docs/products/workflow/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "API 流水线", + "position": 4, + "collapsed": true +} \ No newline at end of file diff --git a/docs/workflow/api.md b/docs/products/workflow/api.md similarity index 39% rename from docs/workflow/api.md rename to docs/products/workflow/api.md index 1f0077cc7a6643debe1dfe2cdf9ae45c7d9f7c3c..e8f3a71c066896470d1ab964d2d9b7777e03e4c5 100644 --- a/docs/workflow/api.md +++ b/docs/products/workflow/api.md @@ -1,4 +1,8 @@ -# 访问 API +--- +sidebar_position: 6 +--- + +# 使用 API 调用流水线 ## 介绍 @@ -8,10 +12,10 @@ ## API 文档 -您可以到 [API 文档]({{SITE_URL}}/docs/openapi/v1#tag/api流水线/POST/workflows/{workflowId}/run) 中查看 API 的详细调用说明。 +您可以到 [API 文档]({{SITE_URL}}/docs/openapi/v1#tag/api%E6%B5%81%E6%B0%B4%E7%BA%BF/post/workflows/{workflowId}/run) 中查看 API 的详细调用说明。 ## 访问令牌 -访问令牌是调用 API 的凭证,您需要在 工作台 - 设置 - 访问令牌,获取您的 API Key。 +访问令牌是调用 API 的凭证,您需要在 [**工作台->设置->访问令牌**]({{SITE_URL}}/dashboard/settings/tokens) ,获取您的访问令牌。 ![api](/img/serverless-api/integrated/integrate3.png) diff --git a/docs/workflow.md b/docs/products/workflow/index.md similarity index 42% rename from docs/workflow.md rename to docs/products/workflow/index.md index c9da2aa21df0134930b2606fb15bcaadb6927c07..44adc9d6d16f4011595e27dd841e584575d4a357 100644 --- a/docs/workflow.md +++ b/docs/products/workflow/index.md @@ -1,3 +1,7 @@ +--- +description: API 流水线是一种可视化工作流引擎,支持通过节点自由组合多种模型 API(如文本对话、图像生成、音频处理等),构建自动化任务流程。 +--- + # API 流水线 ## 基本介绍 @@ -11,9 +15,9 @@ API 流水线是一种可视化工作流引擎,支持通过节点自由组合 如果您是首次使用 API 流水线,建议按以下顺序阅读: -1. **[快速上手](/docs/workflow/quick-start)** - 通过实际示例快速上手 -2. **[节点说明](/docs/workflow/node/start)** - 了解各种节点的功能和配置 -3. **[应用场景](/docs/workflow/scene/text)** - 探索不同模型的实际应用 +1. **[快速上手](/docs/products/workflow/quick-start)** - 通过实际示例快速上手 +2. **[节点说明](/docs/products/workflow/node)** - 了解各种节点的功能和配置 +3. **[应用场景](/docs/products/workflow/scene)** - 探索不同模型的实际应用 ## 关键概念 @@ -21,10 +25,11 @@ API 流水线是一种可视化工作流引擎,支持通过节点自由组合 API 流水线由不同功能的节点组成,每个节点执行特定的操作: -- **[开始节点](/docs/workflow/node/start)** - API 流水线的入口,定义输入参数 -- **[模型节点](/docs/workflow/node/model)** - 调用AI模型处理数据 -- **[条件分支节点](/docs/workflow/node/condition)** - 根据条件选择执行路径 -- **[结束节点](/docs/workflow/node/end)** - API 流水线的出口,定义输出结果 +- **[开始节点](/docs/products/workflow/node/#%E5%BC%80%E5%A7%8B%E8%8A%82%E7%82%B9)** - API 流水线的入口,定义输入参数 +- **[模型节点](/docs/products/workflow/node/#%E6%A8%A1%E5%9E%8B%E8%8A%82%E7%82%B9)** - 调用AI模型处理数据 +- **[条件分支节点](/docs/products/workflow/node/#%E6%9D%A1%E4%BB%B6%E5%88%86%E6%94%AF%E8%8A%82%E7%82%B9)** - 根据条件选择执行路径 +- **[注释节点](/docs/products/workflow/node/#%E6%B3%A8%E9%87%8A%E8%8A%82%E7%82%B9)** - 给流水线添加注释说明 +- **[结束节点](/docs/products/workflow/node/#%E7%BB%93%E6%9D%9F%E8%8A%82%E7%82%B9)** - API 流水线的出口,定义输出结果 ### 变量系统 @@ -46,19 +51,19 @@ API 流水线按照节点连接的顺序执行: API 流水线支持多种类型的 AI 模型,满足不同的业务需求: -| 模型类型 | 主要功能 | 应用场景 | -| ----------------------------------------- | -------------------- | ------------------------ | -| [文本生成](/docs/workflow/scene/text) | 文本理解、生成、分类 | 内容创作、客服问答、翻译 | -| [视觉模型](/docs/workflow/scene/vision) | 图像理解、内容识别 | 图像分析、OCR、质检 | -| [图像生成](/docs/workflow/scene/image) | 根据描述生成图像 | 设计创作、内容制作 | -| [语音模型](/docs/workflow/scene/audio) | 语音识别、语音合成 | 语音助手、内容播报 | -| [风控识别](/docs/workflow/scene/security) | 内容安全审核 | 内容监控、合规检查 | +| 模型类型 | 主要功能 | 应用场景 | +| -------------------------------------------------- | -------------------- | ------------------------ | +| [文本生成](/docs/products/workflow/scene/#%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF) | 文本理解、生成、分类 | 内容创作、客服问答、翻译 | +| [视觉模型](/docs/products/workflow/scene/#%E8%A7%86%E8%A7%89%E6%A8%A1%E5%9E%8B%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF) | 图像理解、内容识别 | 图像分析、OCR、质检 | +| [图像生成](/docs/products/workflow/scene/#%E5%9B%BE%E5%83%8F%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF) | 根据描述生成图像 | 设计创作、内容制作 | +| [语音模型](/docs/products/workflow/scene/#%E8%AF%AD%E9%9F%B3%E6%A8%A1%E5%9E%8B%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF) | 语音识别、语音合成 | 语音助手、内容播报 | +| [风控识别](/docs/products/workflow/scene/#%E9%A3%8E%E6%8E%A7%E8%AF%86%E5%88%AB%E6%A8%A1%E5%9E%8B%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF) | 内容安全审核 | 内容监控、合规检查 | ## 计费模式 -API 流水线的费用基于模型调用情况结算,具体取决于模型节点的类型和数量。计费与您使用的[访问令牌(token)](/docs/workflow/api#访问令牌)所绑定的资源包权限直接关联。 +API 流水线的费用基于模型调用情况结算,具体取决于模型节点的类型和数量。计费与您使用的 [访问令牌](/docs/products/workflow/api#访问令牌) 所绑定的资源包权限直接关联。 -不同资源包包含的可用模型及对应价格可能不同。为确保您的 API 流水线拥有所有模型的完整调用权限,强烈建议购买[全模型资源包]({{SITE_URL}}/serverless-api/packages/1910),并使用绑定了该资源包的访问令牌进行调用。 +不同资源包包含的可用模型及对应价格可能不同。为确保您的 API 流水线拥有所有模型的完整调用权限,强烈建议购买 [全模型资源包]({{SITE_URL}}/serverless-api/packages/1910) ,并使用绑定了该资源包的访问令牌进行调用。 ### 计费规则 @@ -77,10 +82,10 @@ API 流水线的费用基于模型调用情况结算,具体取决于模型节 > 具体每个模型的费用请参考 [模型广场]({{SITE_URL}}/serverless-api) -## 下一步 +#### 下一步 准备开始使用 API 流水线了吗? -👉 [查看操作步骤](/docs/workflow/quick-start) 了解如何创建您的第一个 API 流水线 +👉 [查看操作步骤](/docs/products/workflow/quick-start) 了解如何创建您的第一个 API 流水线 -👉 [浏览应用场景](/docs/workflow/scene/text) 寻找适合您业务的解决方案 +👉 [浏览应用场景](/docs/products/workflow/scene) 寻找适合您业务的解决方案 diff --git a/docs/products/workflow/node/_category_.json b/docs/products/workflow/node/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..55dee1495b96d1bf8806f3c1e86fb71dd544ccea --- /dev/null +++ b/docs/products/workflow/node/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "流水线节点说明", + "position": 3, + "collapsed": true +} \ No newline at end of file diff --git a/docs/workflow/node/start.md b/docs/products/workflow/node/index.md similarity index 30% rename from docs/workflow/node/start.md rename to docs/products/workflow/node/index.md index 4f8d9b4044f01091192a49c9845a04c3a44c8bc7..2aaede10ea83c791e34ba881c060f4188f2e28b0 100644 --- a/docs/workflow/node/start.md +++ b/docs/products/workflow/node/index.md @@ -1,11 +1,12 @@ -# 开始 +# 流水线节点说明 + +## 开始节点 -## 定义 **「开始」** 节点是每个 API 流水线必备的预设节点,作为整个流程的入口点,负责接收和定义外部输入参数。 ![开始节点](/img/workflow/start.png) -## 节点功能 +### 节点功能 开始节点的主要作用: @@ -13,7 +14,7 @@ - **参数接收**:接收来自外部的输入数据 - **数据类型定义**:规范输入数据的格式和类型 -## 输入参数 +### 输入参数 接收来自外部的变量,支持多种输入参数类型,可根据业务需求灵活配置: @@ -24,7 +25,7 @@ ![输入类型示例](/img/workflow/input-1.png) ![输入配置界面](/img/workflow/input-3.png) -## 系统变量 +### 系统变量 系统变量指的是在 API 流水线内预设的系统级参数,可以被应用内的其它节点全局读取。通常用于记录不同应用和用户的使用行为等。包括以下变量: @@ -32,17 +33,105 @@ - **sys.workflow_id**:API 流水线的唯一标识符,用于区分不同 API 流水线。 - **sys.user_id**:用户 ID,每个用户在使用 API 流水线时,系统会自动向用户分配唯一标识符,用以区分不同的用户。 -## 配置方法 +### 配置方法 1. 选中开始节点 2. 在右侧详情面板点击输入字段的 **「+」** 按钮 3. 选择合适的参数类型 4. 设置参数名称和描述 -## 下一步 + +## 模型节点 -配置完开始节点后,您可以: +模型节点提供调用模型的能力,可处理用户在 “开始” 节点中输入的信息以及其它模型节点输出的信息(自然语言、上传的文件或图片),给出有效的回应信息。 -- [添加模型节点](/docs/workflow/node/model) 处理输入数据 -- [设置条件分支](/docs/workflow/node/condition) 实现逻辑控制 -- [查看完整示例](/docs/workflow/quick-start) 了解整体流程 +![模型节点](/img/workflow/model-1.png) + +### 模型设置 + +模型节点支持调用多种类型的模型,包括文本生成模型、视觉模型、图像生成、语音识别、语音合成、风控识别等模型。在模型下拉菜单,可点击选择模型。 + +![模型节点](/img/workflow/llm.png) +![模型节点](/img/workflow/stt.png) + +### 接口设置 + +有的模型只有一个接口,例如文本生成模型,只有一个文本生成的接口;图像生成模型,可能有多种接口,如:垫图、局部重绘、风格迁移等。 + +![模型节点](/img/workflow/model-2.png) + +### 参数设置 + +根据模型要求,设置输入参数,例如stream、max_tokens、temperature等。在接口下拉菜单的右侧,可点击选择参数设置,如下图: + +![模型节点](/img/workflow/model-3.png) + +### 变量设置 + +在参数设置中,可以设置参数的变量,例如:input、image、file等,变量可以从开始节点获取,也可以从上游模型节点获取。 + +![模型节点](/img/workflow/var.png) + +### 输出设置 + +模型的输出参数,不同类型的模型的输出变量会不同,例如:文本生成模型的输出变量为:text, 图像生成模型的输出变量为: image。 + +![模型节点](/img/workflow/output.png) + + +## 条件分支节点 + +条件分支节点用于根据条件选择不同的执行路径: + +![模型节点](/img/workflow/ifelse.png) + +### 条件类型 +条件分支节点支持的条件类型有以下几种: + +- 包含 +- 不包含 +- 开始是 +- 结束是 +- 是 +- 不是 +- 为空 +- 不为空 + +条件判断支持多个条件组合。 + + +## 注释节点 + +注释节点用于在 API 流水线中添加说明文字、备注信息或描述,帮助开发者更好地理解和维护流程逻辑。 + +![注释节点](/img/workflow/note.png) + +### 节点功能 + +注释节点的主要作用: + +- **流程说明**:为复杂的流程逻辑添加文字说明 +- **备注记录**:记录设计思路、注意事项或待办事项 +- **文档化**:提升流水线的可读性和可维护性 +- **团队协作**:便于团队成员理解流程设计意图 + +### 特点说明 + +- **非执行节点**:注释节点仅用于说明,不参与实际的流程执行 +- **独立存在**:不需要连接到其他节点,可以独立放置在画布任意位置 + +### 添加方法 +1. 右击鼠标,弹出菜单,选择“添加注释”,或者在工具栏中点击“添加注释”按钮 +2. 在文本框中输入注释内容 +3. 根据需要调整注释节点在画布中的位置 + +![注释节点](/img/workflow/note1.png) + + +## 结束节点 + +每个 API 流水线必须包含至少一个结束节点作为其执行的终点,该节点负责输出流程的最终结果。结束节点标志着流程的终止,其后不能再连接任何节点。 + +API 流水线中只有运行到结束节点才会输出执行结果。如果流程中存在分支(如条件判断),则可能需要定义多个结束节点(每个分支路径一个)。在结束节点上,需要定义其输出的变量,这些变量可以基于该节点之前任何上游节点的输出值进行设置。 + +![模型节点](/img/workflow/end.png) diff --git a/docs/workflow/quick-start.md b/docs/products/workflow/quick-start.md similarity index 69% rename from docs/workflow/quick-start.md rename to docs/products/workflow/quick-start.md index b6b4da6e4248455386c64ec4e0c3fad002250699..27282d89a928a12c3e2bc94019f25ed46485adcd 100644 --- a/docs/workflow/quick-start.md +++ b/docs/products/workflow/quick-start.md @@ -1,10 +1,17 @@ +--- +sidebar_label: 快速上手(视频) +sidebar_position: 1 +--- + +import ReactPlayer from 'react-player/lazy'; + # 快速上手 -以下是一个简单的示例,演示了如何创建一个 API 流水线。 +以下是一个简单的示例,演示了如何创建一个 API 流水线。您也可以 [直接点击查看实操视频](#quick-start-video) ## 新建 API 流水线 -进入[API 流水线]({{SITE_URL}}/dashboard/workflows)页面,点击 **「新建 API 流水线」** 按钮,打开新建弹窗,输入 **名称** 和 **描述** ,创建一个 API 流水线。 +进入 [API 流水线]({{SITE_URL}}/dashboard/workflows) 页面,点击 **「新建 API 流水线」** 按钮,打开新建弹窗,输入 **名称** 和 **描述** ,创建一个 API 流水线。 ![新建 API 流水线](/img/workflow/step-1.png) ![新建 API 流水线](/img/workflow/step-2.png) @@ -37,12 +44,20 @@ ![保存 API 流水线](/img/workflow/step-6.png) +## 从 0 开始实操上手视频 {#quick-start-video} + + + ## 完成 恭喜!您已经成功创建了第一个 API 流水线。 -## 下一步 +#### 下一步 -- [了解如何运行](/docs/workflow/run) - 查看 API 流水线运行结果 -- [了解更多节点类型](/docs/workflow/node/start) - 探索开始、模型、条件分支、结束节点的详细功能 -- [查看应用场景](/docs/workflow/scene/text) - 学习不同模型的实际应用案例 +- [了解如何运行](./run) - 查看 API 流水线运行结果 +- [了解更多节点类型](./node) - 探索开始、模型、条件分支、结束节点的详细功能 +- [查看应用场景](./scene) - 学习不同模型的实际应用案例 diff --git a/docs/workflow/run.md b/docs/products/workflow/run.md similarity index 69% rename from docs/workflow/run.md rename to docs/products/workflow/run.md index a16aa25f601b47e0231aeeb06a357624c6321caa..e7b38b839ad2bd44bcb121e6e2a3ed4dea2c4231 100644 --- a/docs/workflow/run.md +++ b/docs/products/workflow/run.md @@ -1,12 +1,13 @@ -# 预览与运行 +--- +sidebar_position: 4 +--- -API 流水线提供了运行功能,点击 **「运行」** 打开运行面板。 +# 预览与运行流水线 +API 流水线提供了运行功能,点击 **「运行」** 打开运行面板。 ![运行](/img/workflow/run.png) - 输入开始节点配置的参数后,点击 **「运行」** 按钮,即可看到运行的结果。 - -![运行](/img/workflow/example-text.png) \ No newline at end of file +![运行](/img/workflow/example-text.png) diff --git a/docs/products/workflow/scene/_category_.json b/docs/products/workflow/scene/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..cd6ec68d5a01b69ba8c9ebf9110ad9aa48b2a46b --- /dev/null +++ b/docs/products/workflow/scene/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "流水线的应用场景", + "position": 2, + "collapsed": true +} \ No newline at end of file diff --git a/docs/products/workflow/scene/index.md b/docs/products/workflow/scene/index.md new file mode 100644 index 0000000000000000000000000000000000000000..5b2e622aa2489277af1eaafe3cd663cd1582180a --- /dev/null +++ b/docs/products/workflow/scene/index.md @@ -0,0 +1,244 @@ +# 流水线的应用场景 +## 语音模型应用场景 + +语音模型包括自动语音识别(ASR)和语音合成(TTS)两大类型,为音频内容的理解和生成提供强大能力。 + +![API 流水线](/img/workflow/example-audio.png) +### 自动语音识别模型 + +自动语音识别模型能够将语音转换为文字,支持多种语言和方言,广泛应用于各种需要语音理解的场景。 + +![模型节点](/img/workflow/stt.png) + +#### 主要应用场景 + +##### 会议实时转录 +在远程协作情景中,实时转写跨语言线上会议内容,生成带时间戳的对话记录,支持关键词检索与重点标记。 + +**典型用例**: +- 远程会议自动记录 +- 多语言会议同步翻译 +- 会议纪要自动生成 + +##### 视频内容配字幕 +在媒体生产情景中,为短视频/长片纪录片自动生成多语言字幕,同步输出字幕文件(SRT/VTT)。 + +**典型用例**: +- 视频自动字幕生成 +- 多语言字幕制作 +- 媒体内容本地化 + +### 语音合成模型 + +语音合成模型能够将文字转换为自然流畅的语音,支持多种音色和情感表达。 + +![模型节点](/img/workflow/tts.png) + +#### 主要应用场景 + +##### 多角色有声内容创作 +生成不同性别/年龄的旁白角色音,批量输出带情感变化的配音片段。 + +**典型用例**: +- 有声小说制作 +- 广告配音生成 +- 播客节目制作 +- 角色扮演音频 + + +##### 长文本语音播报 +将小说章节转换为自然流畅的朗读音频,自动插入呼吸停顿/强调重音。 + +**典型用例**: +- 长篇小说朗读 +- 新闻播报生成 +- 学习材料朗读 + +## 图像生成模型应用场景 + +图像生成模型能够根据文字描述或其他图像生成高质量的图像内容,支持多种创作和编辑场景,为视觉内容创作提供强大支持。 + +![API 流水线](/img/workflow/example-image.png) + +### 主要应用场景 + +#### 产品视觉设计 +根据商品描述生成高质量产品海报、场景图或营销素材,支持背景替换/风格迁移,确保视觉风格符合品牌调性。 + +**典型用例**: +- 电商产品海报自动生成 +- 产品场景图批量制作 +- 营销素材个性化定制 +- 品牌视觉风格统一 +- 产品包装设计辅助 + +#### 创意内容生成 +基于文字指令(如"赛博朋克风格的城市夜景")批量生成原创插图、封面图或概念艺术,提升内容吸引力。 + +**典型用例**: +- 文章配图自动生成 +- 社交媒体内容创作 +- 书籍封面设计 +- 概念艺术创作 +- 广告创意素材制作 + +#### 图像修复与增强 +对老照片等模糊、破损或低分辨率图像进行超分重建、划痕修复、色彩还原,提升历史资料可用性。 + +**典型用例**: +- 老照片修复翻新 +- 图像去噪处理 +- 色彩增强与校正 +- 历史文档图像修复 + +#### 定制化风格迁移 +在游戏/影视美术情景中,将概念图自动转换为指定艺术风格(如水墨风、像素风、3D渲染),或统一多张素材的画风一致性。 + +**典型用例**: +- 游戏美术资源统一风格 +- 影视概念图风格化 +- 艺术作品风格转换 +- 品牌视觉一致性保证 +- 创意风格探索 + +#### 个性化定制 +根据用户喜好和需求,生成个性化的头像、壁纸、装饰图案等专属内容。 + +**典型用例**: +- 个人头像定制生成 +- 手机壁纸个性化 +- 家居装饰图案设计 +- 个人品牌视觉创建 + +## 风控识别模型应用场景 + +风控识别模型专门用于内容安全审核,能够自动识别和过滤不当内容,保障平台和业务的安全合规运营。 + +![API 流水线](/img/workflow/example-vision.png) + +### 主要应用场景 + +#### 文本内容审核 +实时检测用户发布的文本/图片(如评论区、动态),拦截色情、暴力、辱骂信息等违规内容。 + +**检测类型**: +- 色情低俗内容识别 +- 暴力血腥内容检测 +- 恶意攻击言论过滤 +- 垃圾广告信息拦截 +- 敏感政治内容识别 + +#### 文件上传风控 +扫描用户上传的文档/图片中的敏感内容,防止涉政标识、违禁图片等危险内容传播。 + +**典型用例**: +- 文档内容安全扫描 +- 图片违规内容检测 +- 色情违规图片识别 +- 涉政违规图片识别 + +## 文本生成模型应用场景 + +文本生成模型(LLM) 节点是能够利用大语言模型的对话/生成/分类/处理等能力,根据给定的提示词处理广泛的任务类型,并能够在 API 流水线的不同环节使用。包含多种主流模型,如 DeepSeek、Qwen 系列等。 + +![模型节点](/img/workflow/run.png) +![模型节点](/img/workflow/example-text.png) + + +### 主要应用场景 + +#### 意图识别 +在客服对话情景中,对用户问题进行意图识别和分类,导向下游不同的流程。 + +**典型用例**: +- 客服机器人自动分类用户问题(技术支持、退款申请、产品咨询) +- 智能路由用户请求到相应的专业客服团队 +- 实时分析用户情绪,调整对话策略 + +#### 文本生成 +在文章生成情景中,作为内容生成的节点,根据主题、关键词生成符合的文本内容。 + +**典型用例**: +- 营销文案自动生成 +- 产品说明书批量创建 +- 个性化邮件内容生成 +- 社交媒体内容创作 + +#### 内容分类 +在邮件批处理情景中,对邮件的类型进行自动化分类,如咨询/投诉/垃圾邮件。 + +**典型用例**: +- 自动邮件分拣系统 +- 内容审核分类 +- 文档自动归档 +- 用户反馈分类分析 + +#### 文本转换 +在文本翻译情景中,将用户提供的文本内容翻译成指定语言。 + +**典型用例**: +- 多语言内容本地化 +- 实时聊天翻译 +- 文档翻译批处理 +- 跨语言信息检索 + +#### 代码生成 +在辅助编程情景中,根据用户的要求生成指定的业务代码,编写测试用例。 + +**典型用例**: +- 自动化测试用例生成 +- API文档生成 +- 代码重构建议s +- 编程教学辅助 + +### 配置要点 + +- **模型选择**:根据任务复杂度选择合适的模型规模 +- **提示词优化**:针对具体场景设计专业的提示词模板 +- **参数调整**:根据输出要求调整 temperature、max_tokens 等参数 +- **变量设置**:合理设置输入输出变量,便于上下游节点数据传递 + +## 视觉模型应用场景 + +视觉模型能够理解和分析图像内容,提供智能的图像识别、理解和分析能力,广泛应用于各种需要视觉理解的场景。 + +![模型节点](/img/workflow/example-vision.png) + +### 主要应用场景 + +#### 图像内容理解与问答 +在智能客服情景中,分析用户上传的产品故障图片、操作界面截图或实物照片,精准识别内容并回答相关问题。 + +**典型用例**: +- 产品故障图片自动诊断 +- 操作界面问题识别 +- 产品外观质量检测 +- 用户问题可视化分析 + +#### 图文信息提取与处理 +在文档自动化处理中,解析扫描文档、票据、合同或带文字信息的图片,提取关键字段、识别表格数据或进行文字翻译。 + +**典型用例**: +- 发票信息自动提取 +- 合同关键条款识别 +- 表格数据结构化 +- 多语言文档翻译 +- 身份证信息识别 + +#### 工业视觉检测 +在生产线自动化质检中,实时分析产品/零部件的高清图像,检测划痕、裂纹、装配错误、尺寸偏差、异物或印刷缺陷。 + +**典型用例**: +- 产品表面缺陷检测 +- 装配完整性验证 +- 尺寸规格自动测量 +- 印刷质量控制 +- 异物检测与分拣 + +#### 教育/培训辅助 +在智能教育平台中,识别教材插图、实验图片、手写解题步骤或学生绘画作品,提供解释、批改、答疑或生成相关的学习问题。 + +**典型用例**: +- 手写作业自动批改 +- 实验结果图像分析 +- 教材内容理解辅助 diff --git a/docs/repositories/getting-started.md b/docs/repositories/getting-started.md deleted file mode 100644 index 78b93a086003a14e097ef10d02441552455e23a9..0000000000000000000000000000000000000000 --- a/docs/repositories/getting-started.md +++ /dev/null @@ -1 +0,0 @@ -# 仓库入门 \ No newline at end of file diff --git a/docs/repositories/licenses.md b/docs/repositories/licenses.md deleted file mode 100644 index 9d70a052fea5cc1fff4d307f03238db3937e083e..0000000000000000000000000000000000000000 --- a/docs/repositories/licenses.md +++ /dev/null @@ -1 +0,0 @@ -# 仓库许可证 \ No newline at end of file diff --git a/docs/repositories/pulls-and-issues.md b/docs/repositories/pulls-and-issues.md deleted file mode 100644 index 2e0f248313ae021050de8020d99d2afea88b486d..0000000000000000000000000000000000000000 --- a/docs/repositories/pulls-and-issues.md +++ /dev/null @@ -1 +0,0 @@ -# 仓库 Pull Request 和 Issue \ No newline at end of file diff --git a/docs/repositories/settings.md b/docs/repositories/settings.md deleted file mode 100644 index 582a6b2a0815069ac1db7ee890d057271c4f55c5..0000000000000000000000000000000000000000 --- a/docs/repositories/settings.md +++ /dev/null @@ -1 +0,0 @@ -# 仓库设置 \ No newline at end of file diff --git a/docs/training/step-by-step-llm-train.md b/docs/training/step-by-step-llm-train.md deleted file mode 100644 index f5e214f6401712d1e814daea437d414dbbb400f7..0000000000000000000000000000000000000000 --- a/docs/training/step-by-step-llm-train.md +++ /dev/null @@ -1 +0,0 @@ -# 手把手教你微调一个会思考的模型 diff --git a/docs/workflow/node/condition.md b/docs/workflow/node/condition.md deleted file mode 100644 index cbc4228f175ae19630a54b16cffe1f99c82b67de..0000000000000000000000000000000000000000 --- a/docs/workflow/node/condition.md +++ /dev/null @@ -1,19 +0,0 @@ -# 条件分支 - -## 定义 - -条件分支节点用于根据条件选择不同的执行路径: - - ![模型节点](/img/workflow/ifelse.png) - -条件分支节点支持的条件类型有以下几种: -- 包含 -- 不包含 -- 开始是 -- 结束是 -- 是 -- 不是 -- 为空 -- 不为空 - -条件判断支持多个条件组合。 \ No newline at end of file diff --git a/docs/workflow/node/end.md b/docs/workflow/node/end.md deleted file mode 100644 index f81cd1443e89491469bdd8700c9e05313d4774cf..0000000000000000000000000000000000000000 --- a/docs/workflow/node/end.md +++ /dev/null @@ -1,8 +0,0 @@ -# 结束 - -## 定义 -每个 API 流水线必须包含至少一个结束节点作为其执行的终点,该节点负责输出流程的最终结果。结束节点标志着流程的终止,其后不能再连接任何节点。 - -API 流水线中只有运行到结束节点才会输出执行结果。如果流程中存在分支(如条件判断),则可能需要定义多个结束节点(每个分支路径一个)。在结束节点上,需要定义其输出的变量,这些变量可以基于该节点之前任何上游节点的输出值进行设置。 - - ![模型节点](/img/workflow/end.png) diff --git a/docs/workflow/node/model.md b/docs/workflow/node/model.md deleted file mode 100644 index 0c770e7c445a61576da0a76bff53875eef313018..0000000000000000000000000000000000000000 --- a/docs/workflow/node/model.md +++ /dev/null @@ -1,34 +0,0 @@ -# 模型 - -## 定义 -模型节点提供调用模型的能力,可处理用户在 “开始” 节点中输入的信息以及其它模型节点输出的信息(自然语言、上传的文件或图片),给出有效的回应信息。 - -![模型节点](/img/workflow/model-1.png) - -## 节点功能 - -### 模型设置 -模型节点支持调用多种类型的模型,包括文本生成模型、视觉模型、图像生成、语音识别、语音合成、风控识别等模型。在模型下拉菜单,可点击选择模型。 - -![模型节点](/img/workflow/llm.png) -![模型节点](/img/workflow/stt.png) - -### 接口设置 -有的模型只有一个接口,例如文本生成模型,只有一个文本生成的接口;图像生成模型,可能有多种接口,如:垫图、局部重绘、风格迁移等。 - - ![模型节点](/img/workflow/model-2.png) - -### 参数设置 -根据模型要求,设置输入参数,例如stream、max_tokens、temperature等。在接口下拉菜单的右侧,可点击选择参数设置,如下图: - - ![模型节点](/img/workflow/model-3.png) - -### 变量设置 -在参数设置中,可以设置参数的变量,例如:input、image、file等,变量可以从开始节点获取,也可以从上游模型节点获取。 - - ![模型节点](/img/workflow/var.png) - -### 输出设置 -模型的输出参数,不同类型的模型的输出变量会不同,例如:文本生成模型的输出变量为:text, 图像生成模型的输出变量为: image。 - - ![模型节点](/img/workflow/output.png) \ No newline at end of file diff --git a/docs/workflow/scene/audio.md b/docs/workflow/scene/audio.md deleted file mode 100644 index f49ff9c0073e2e77e62a47438691ad3176e365e0..0000000000000000000000000000000000000000 --- a/docs/workflow/scene/audio.md +++ /dev/null @@ -1,55 +0,0 @@ -# 语音模型应用场景 - -语音模型包括自动语音识别(ASR)和语音合成(TTS)两大类型,为音频内容的理解和生成提供强大能力。 - -![API 流水线](/img/workflow/example-audio.png) - -## 自动语音识别模型 - -自动语音识别模型能够将语音转换为文字,支持多种语言和方言,广泛应用于各种需要语音理解的场景。 - -![模型节点](/img/workflow/stt.png) - -### 主要应用场景 - -#### 会议实时转录 -在远程协作情景中,实时转写跨语言线上会议内容,生成带时间戳的对话记录,支持关键词检索与重点标记。 - -**典型用例**: -- 远程会议自动记录 -- 多语言会议同步翻译 -- 会议纪要自动生成 - -#### 视频内容配字幕 -在媒体生产情景中,为短视频/长片纪录片自动生成多语言字幕,同步输出字幕文件(SRT/VTT)。 - -**典型用例**: -- 视频自动字幕生成 -- 多语言字幕制作 -- 媒体内容本地化 - -## 语音合成模型 - -语音合成模型能够将文字转换为自然流畅的语音,支持多种音色和情感表达。 - -![模型节点](/img/workflow/tts.png) - -### 主要应用场景 - -#### 多角色有声内容创作 -生成不同性别/年龄的旁白角色音,批量输出带情感变化的配音片段。 - -**典型用例**: -- 有声小说制作 -- 广告配音生成 -- 播客节目制作 -- 角色扮演音频 - - -#### 长文本语音播报 -将小说章节转换为自然流畅的朗读音频,自动插入呼吸停顿/强调重音。 - -**典型用例**: -- 长篇小说朗读 -- 新闻播报生成 -- 学习材料朗读 diff --git a/docs/workflow/scene/image.md b/docs/workflow/scene/image.md deleted file mode 100644 index 3245ad66af2539cdeb09b6c82dfbb7aabef1f3e4..0000000000000000000000000000000000000000 --- a/docs/workflow/scene/image.md +++ /dev/null @@ -1,55 +0,0 @@ -# 图像生成模型应用场景 - -图像生成模型能够根据文字描述或其他图像生成高质量的图像内容,支持多种创作和编辑场景,为视觉内容创作提供强大支持。 - -![API 流水线](/img/workflow/example-image.png) - -## 主要应用场景 - -### 产品视觉设计 -根据商品描述生成高质量产品海报、场景图或营销素材,支持背景替换/风格迁移,确保视觉风格符合品牌调性。 - -**典型用例**: -- 电商产品海报自动生成 -- 产品场景图批量制作 -- 营销素材个性化定制 -- 品牌视觉风格统一 -- 产品包装设计辅助 - -### 创意内容生成 -基于文字指令(如"赛博朋克风格的城市夜景")批量生成原创插图、封面图或概念艺术,提升内容吸引力。 - -**典型用例**: -- 文章配图自动生成 -- 社交媒体内容创作 -- 书籍封面设计 -- 概念艺术创作 -- 广告创意素材制作 - -### 图像修复与增强 -对老照片等模糊、破损或低分辨率图像进行超分重建、划痕修复、色彩还原,提升历史资料可用性。 - -**典型用例**: -- 老照片修复翻新 -- 图像去噪处理 -- 色彩增强与校正 -- 历史文档图像修复 - -### 定制化风格迁移 -在游戏/影视美术情景中,将概念图自动转换为指定艺术风格(如水墨风、像素风、3D渲染),或统一多张素材的画风一致性。 - -**典型用例**: -- 游戏美术资源统一风格 -- 影视概念图风格化 -- 艺术作品风格转换 -- 品牌视觉一致性保证 -- 创意风格探索 - -### 个性化定制 -根据用户喜好和需求,生成个性化的头像、壁纸、装饰图案等专属内容。 - -**典型用例**: -- 个人头像定制生成 -- 手机壁纸个性化 -- 家居装饰图案设计 -- 个人品牌视觉创建 diff --git a/docs/workflow/scene/security.md b/docs/workflow/scene/security.md deleted file mode 100644 index 7b619251d22d177858b226d262649f55700ef88d..0000000000000000000000000000000000000000 --- a/docs/workflow/scene/security.md +++ /dev/null @@ -1,27 +0,0 @@ -# 风控识别模型应用场景 - -风控识别模型专门用于内容安全审核,能够自动识别和过滤不当内容,保障平台和业务的安全合规运营。 - -![API 流水线](/img/workflow/example-vision.png) - -## 主要应用场景 - -### 文本内容审核 -实时检测用户发布的文本/图片(如评论区、动态),拦截色情、暴力、辱骂信息等违规内容。 - -**检测类型**: -- 色情低俗内容识别 -- 暴力血腥内容检测 -- 恶意攻击言论过滤 -- 垃圾广告信息拦截 -- 敏感政治内容识别 - -### 文件上传风控 -扫描用户上传的文档/图片中的敏感内容,防止涉政标识、违禁图片等危险内容传播。 - -**典型用例**: -- 文档内容安全扫描 -- 图片违规内容检测 -- 色情违规图片识别 -- 涉政违规图片识别 - diff --git a/docs/workflow/scene/text.md b/docs/workflow/scene/text.md deleted file mode 100644 index fc3aac50cb88637b4aa647ebc7029e1507b7e397..0000000000000000000000000000000000000000 --- a/docs/workflow/scene/text.md +++ /dev/null @@ -1,60 +0,0 @@ -# 文本生成模型应用场景 - -文本生成模型(LLM) 节点是能够利用大语言模型的对话/生成/分类/处理等能力,根据给定的提示词处理广泛的任务类型,并能够在 API 流水线的不同环节使用。包含多种主流模型,如DeepSeek、Qwen系列等。 - -![模型节点](/img/workflow/run.png) -![模型节点](/img/workflow/example-text.png) - - -## 主要应用场景 - -### 意图识别 -在客服对话情景中,对用户问题进行意图识别和分类,导向下游不同的流程。 - -**典型用例**: -- 客服机器人自动分类用户问题(技术支持、退款申请、产品咨询) -- 智能路由用户请求到相应的专业客服团队 -- 实时分析用户情绪,调整对话策略 - -### 文本生成 -在文章生成情景中,作为内容生成的节点,根据主题、关键词生成符合的文本内容。 - -**典型用例**: -- 营销文案自动生成 -- 产品说明书批量创建 -- 个性化邮件内容生成 -- 社交媒体内容创作 - -### 内容分类 -在邮件批处理情景中,对邮件的类型进行自动化分类,如咨询/投诉/垃圾邮件。 - -**典型用例**: -- 自动邮件分拣系统 -- 内容审核分类 -- 文档自动归档 -- 用户反馈分类分析 - -### 文本转换 -在文本翻译情景中,将用户提供的文本内容翻译成指定语言。 - -**典型用例**: -- 多语言内容本地化 -- 实时聊天翻译 -- 文档翻译批处理 -- 跨语言信息检索 - -### 代码生成 -在辅助编程情景中,根据用户的要求生成指定的业务代码,编写测试用例。 - -**典型用例**: -- 自动化测试用例生成 -- API文档生成 -- 代码重构建议 -- 编程教学辅助 - -## 配置要点 - -- **模型选择**:根据任务复杂度选择合适的模型规模 -- **提示词优化**:针对具体场景设计专业的提示词模板 -- **参数调整**:根据输出要求调整temperature、max_tokens等参数 -- **变量设置**:合理设置输入输出变量,便于上下游节点数据传递 \ No newline at end of file diff --git a/docs/workflow/scene/vision.md b/docs/workflow/scene/vision.md deleted file mode 100644 index e12f3f4495e5058c98338237fe8326748e3b4a14..0000000000000000000000000000000000000000 --- a/docs/workflow/scene/vision.md +++ /dev/null @@ -1,44 +0,0 @@ -# 视觉模型应用场景 - -视觉模型能够理解和分析图像内容,提供智能的图像识别、理解和分析能力,广泛应用于各种需要视觉理解的场景。 - -![模型节点](/img/workflow/example-vision.png) - -## 主要应用场景 - -### 图像内容理解与问答 -在智能客服情景中,分析用户上传的产品故障图片、操作界面截图或实物照片,精准识别内容并回答相关问题。 - -**典型用例**: -- 产品故障图片自动诊断 -- 操作界面问题识别 -- 产品外观质量检测 -- 用户问题可视化分析 - -### 图文信息提取与处理 -在文档自动化处理中,解析扫描文档、票据、合同或带文字信息的图片,提取关键字段、识别表格数据或进行文字翻译。 - -**典型用例**: -- 发票信息自动提取 -- 合同关键条款识别 -- 表格数据结构化 -- 多语言文档翻译 -- 身份证信息识别 - -### 工业视觉检测 -在生产线自动化质检中,实时分析产品/零部件的高清图像,检测划痕、裂纹、装配错误、尺寸偏差、异物或印刷缺陷。 - -**典型用例**: -- 产品表面缺陷检测 -- 装配完整性验证 -- 尺寸规格自动测量 -- 印刷质量控制 -- 异物检测与分拣 - -### 教育/培训辅助 -在智能教育平台中,识别教材插图、实验图片、手写解题步骤或学生绘画作品,提供解释、批改、答疑或生成相关的学习问题。 - -**典型用例**: -- 手写作业自动批改 -- 实验结果图像分析 -- 教材内容理解辅助 diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 1f126c0d919a4dcab74284f032c61c4bafc1eda6..0abfa95284923fc939fac065b8391da5a09129dc 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -4,6 +4,7 @@ import type { Config } from '@docusaurus/types'; import type * as Preset from '@docusaurus/preset-classic'; import type { ScalarOptions } from '@scalar/docusaurus'; + const CDN_PREFIX = process.env.DOCS_CDN_PREFIX; const SITE_URL = process.env.DOCS_SITE_URL; envCheck(); @@ -44,13 +45,13 @@ const config: Config = { sidebarPath: './sidebars.ts', // Please change this to your repo. // Remove this to remove the "edit this page" links. - editUrl: 'https://gitee.com/gitee-ai/docs/edit/main/', + editUrl: 'https://gitee.com/moark/docs/edit/main/', }, blog: { showReadingTime: true, // Please change this to your repo. // Remove this to remove the "edit this page" links. - editUrl: 'https://gitee.com/gitee-ai/docs/edit/main/', + editUrl: 'https://gitee.com/moark/docs/edit/main/', }, theme: { customCss: './src/css/custom.css', @@ -65,7 +66,7 @@ const config: Config = { navbar: { // title: 'Gitee AI', logo: { - alt: 'Gitee AI', + alt: 'moark logo', src: `${CDN_PREFIX}/img/logo-full.svg`, srcDark: `${CDN_PREFIX}/img/logo-full-white.svg`, href: SITE_URL, @@ -186,7 +187,7 @@ const config: Config = { }, { label: '文档', - to: '/docs/getting-started/intro', + to: `${CDN_PREFIX}`, className: 'gai-navbar-item', activeBaseRegex: '^/docs.*', }, @@ -237,9 +238,10 @@ const config: Config = { }, ], */ - copyright: `Copyright © ${new Date().getFullYear()} Gitee AI. Powered by Scalar`, + copyright: `Copyright © ${new Date().getFullYear()} 模力方舟.`, }, prism: { + additionalLanguages: ['bash', 'json'], theme: prismThemes.github, darkTheme: prismThemes.dracula, }, @@ -247,9 +249,51 @@ const config: Config = { selector: '.markdown img', config: {}, }, + metadata: [ + { + name: 'keywords', + content: 'moark, gitee ai, 模力方舟, 大模型, MaaS, 模型即服务, AI 应用, AI 开发, AI 平台, AI 工具, AI 解决方案, AI 搜索, AI 数据分析' + }, + { + name: 'description', + content: + '模力方舟(Gitee AI),汇聚了最新最热的 AI 模型,提供模型体验、推理、微调和应用的一站式服务,提供了丰富的算力选择,希望帮助企业和开发者更容易地开发 AI 应用。' + } + ], + colorMode: { + defaultMode: 'light', + disableSwitch: false, + respectPrefersColorScheme: true + }, } satisfies Preset.ThemeConfig, plugins: [ 'docusaurus-plugin-image-zoom', + // 添加本地搜索插件 + [ + require.resolve('@easyops-cn/docusaurus-search-local'), + { + // 中文搜索配置 + hashed: true, + language: ['en', 'zh'], + indexDocs: true, + indexBlog: false, + indexPages: false, + docsRouteBasePath: '/', + // 搜索结果数量限制 + searchResultLimits: 8, + // 搜索上下文长度 + searchResultContextMaxLength: 50, + // 启用搜索建议 + explicitSearchResultPath: true, + // 支持中文分词 + searchBarShortcut: true, + searchBarShortcutHint: true, + // 搜索栏位置 + searchBarPosition: 'right', + // 不索引调试构建 + ignoreFiles: [/\/build\//, /\/node_modules\//], + }, + ], // 添加自定义加载效果插件 require('./src/plugins/scalar-loading-plugin'), // 添加简单的环境变量替换插件(只处理 .md 文件) @@ -261,7 +305,7 @@ const config: Config = { { id: 'openapi/v1', label: '接口文档', - route: '/docs/openapi/v1', + route: `${CDN_PREFIX}/openapi/v1`, showNavLink: false, configuration: { url: `${SITE_URL}/v1/yaml`, diff --git a/package.json b/package.json index 9064fe8e128f2360a396fa878e25eb7e2fb3e578..6b92916064d693500e3c6de03d150671165eb5ee 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "gitee-ai-docs", - "version": "0.0.0", - "private": true, + "name": "moark-docs", + "version": "2.0.0", + "private": false, "scripts": { "docusaurus": "docusaurus", "start": "docusaurus start", @@ -18,6 +18,7 @@ "dependencies": { "@docusaurus/core": "^3.8.1", "@docusaurus/preset-classic": "^3.8.1", + "@easyops-cn/docusaurus-search-local": "^0.52.1", "@mdx-js/react": "^3.0.0", "@scalar/docusaurus": "0.7.7", "clsx": "^2.0.0", @@ -27,6 +28,7 @@ "prism-react-renderer": "^2.3.0", "react": "^18.0.0", "react-dom": "^18.0.0", + "react-icons": "^5.5.0", "react-player": "^2.16.0" }, "devDependencies": { @@ -52,5 +54,13 @@ "engines": { "node": ">=18.0" }, - "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" + "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e", + "description": "该仓库是模力方舟平台的文档项目,包含了使用手册以及 API 文档。其中 API 文档使用了 [Scalar](https://scalar.com/) 进行展示。对应网址是 https://ai.gitee.com/docs 。", + "main": "babel.config.js", + "directories": { + "doc": "docs" + }, + "keywords": [], + "author": "", + "license": "ISC" } diff --git a/sidebars.ts b/sidebars.ts index 4153af8d5eede174c739d3c73328c3c851d0152f..c7b50a37cad99a8d85874aaec6224a794cb0583b 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -13,419 +13,7 @@ import type { SidebarsConfig } from '@docusaurus/plugin-content-docs'; const sidebars: SidebarsConfig = { // By default, Docusaurus generates a sidebar from the docs folder structure // tutorialSidebar: [{ type: 'autogenerated', dirName: '.' }], - - // But you can create a sidebar manually - tutorialSidebar: [ - { - type: 'category', - collapsed: false, - label: '开始使用', - items: [ - { - type: 'doc', - id: 'getting-started/intro', - }, - { - type: 'doc', - id: 'getting-started/enroll-as-an-app-developer', - }, - ], - }, - - { - type: 'category', - collapsed: false, - label: '最佳实践', - items: [ - { - type: 'doc', - id: 'best-practice/integration', - }, - { - type: 'doc', - id: 'best-practice/edge', - }, - { - type: 'doc', - id: 'best-practice/mcp', - }, - ], - }, - - { - type: 'category', - collapsed: false, - label: '能力特性', - items: [ - { - type: 'doc', - id: 'ability/serverless-api', - }, - { - type: 'category', - collapsed: true, - label: '文本生成', - items: [ - { - type: 'doc', - id: 'ability/request', - }, - { - type: 'doc', - id: 'ability/lang-style', - }, - { - type: 'doc', - id: 'ability/function-call', - }, - { - type: 'doc', - id: 'ability/json-output', - }, - ], - }, - { - type: 'category', - collapsed: true, - label: '图像生成与处理', - items: [ - { - type: 'doc', - id: 'ability/image-generation-user-guide', - }, - { - type: 'doc', - id: 'ability/fuzzy', - }, - { - type: 'doc', - id: 'ability/flux-schnell-faceid', - }, - { - type: 'doc', - id: 'ability/florence-2-large', - }, - ], - }, - { - type: 'category', - collapsed: true, - label: '语音合成', - items: [ - { - type: 'doc', - id: 'ability/voice-url', - }, - ], - }, - { - type: 'category', - collapsed: true, - label: '文档处理/OCR', - items: [ - { - type: 'doc', - id: 'ability/ocr', - }, - { - type: 'doc', - id: 'ability/pdf', - }, - ], - }, - ], - }, - { - type: 'category', - collapsed: true, - label: '购买指南', - items: [ - { - type: 'doc', - id: 'billing/overview', - }, - { - type: 'doc', - id: 'billing/resource_package', - }, - { - type: 'doc', - id: 'billing/balance', - }, - ], - }, - - { - type: 'category', - collapsed: true, - label: '操作指南', - items: [ - { - type: 'category', - collapsed: true, - label: '模型', - link: { - type: 'doc', - id: 'models', - }, - items: [ - { - type: 'doc', - id: 'models/cards', - }, - { - type: 'doc', - id: 'models/uploading', - }, - { - type: 'doc', - id: 'gai/gai', - }, - { - type: 'doc', - id: 'models/downloading', - }, - { - type: 'doc', - id: 'models/widgets', - }, - { - type: 'doc', - id: 'models/model-engine-api', - }, - { - type: 'doc', - id: 'models/download-stats', - }, - ], - }, - { - type: 'category', - collapsed: true, - label: '数据集', - link: { - type: 'doc', - id: 'datasets', - }, - items: [ - { - type: 'doc', - id: 'datasets/cards', - }, - { - type: 'doc', - id: 'datasets/uploading', - }, - { - type: 'doc', - id: 'datasets/downloading', - }, - ], - }, - { - type: 'category', - collapsed: true, - label: '应用市场', - link: { - type: 'doc', - id: 'app-store/intro', - }, - items: [ - { - type: 'doc', - id: 'app-store/create', - }, - { - type: 'doc', - id: 'app-store/publish', - }, - { - type: 'doc', - id: 'app-store/view', - }, - { - type: 'doc', - id: 'app-store/notes', - }, - ], - }, - { - type: 'category', - collapsed: true, - label: '模型微调', - link: { - type: 'doc', - id: 'training', - }, - items: [ - { - type: 'doc', - id: 'training/image-generate', - }, - { - type: 'doc', - id: 'training/text-generate', - }, - ], - }, - { - type: 'category', - collapsed: true, - label: 'API 流水线', - link: { - type: 'doc', - id: 'workflow', - }, - items: [ - { - type: 'doc', - id: 'workflow/quick-start', - }, - { - type: 'doc', - id: 'workflow/run', - }, - { - type: 'doc', - id: 'workflow/api', - }, - { - type: 'category', - collapsed: false, - label: '节点说明', - items: [ - { - type: 'doc', - id: 'workflow/node/start', - }, - { - type: 'doc', - id: 'workflow/node/model', - }, - { - type: 'doc', - id: 'workflow/node/condition', - }, - { - type: 'doc', - id: 'workflow/node/end', - }, - ], - }, - { - type: 'category', - collapsed: true, - label: '应用场景', - items: [ - { - type: 'doc', - id: 'workflow/scene/text', - }, - { - type: 'doc', - id: 'workflow/scene/vision', - }, - { - type: 'doc', - id: 'workflow/scene/image', - }, - { - type: 'doc', - id: 'workflow/scene/audio', - }, - { - type: 'doc', - id: 'workflow/scene/security', - }, - ], - }, - ], - }, - { - type: 'category', - collapsed: true, - label: '引擎', - items: [ - { - type: 'doc', - id: 'engines/model', - }, - { - type: 'doc', - id: 'engines/model-engine', - }, - ], - }, - { - type: 'doc', - id: 'repositories', - }, - - { - type: 'category', - collapsed: true, - label: '个人与组织', - items: [ - { - type: 'doc', - id: 'organization/personal-dashboard', - }, - - { - type: 'doc', - id: 'organization/create-organization', - }, - { - type: 'doc', - id: 'organization/organization-dashboard', - }, - { - type: 'doc', - id: 'organization/organization-management', - }, - { - type: 'doc', - id: 'organization/access-token', - }, - { - type: 'doc', - id: 'organization/statistics', - }, - ], - }, - ], - }, - - { - type: 'category', - collapsed: true, - label: '相关协议', - items: [ - { - type: 'doc', - id: 'related-agreements/privacy', - }, - { - type: 'doc', - id: 'related-agreements/terms', - }, - { - type: 'doc', - id: 'related-agreements/app-store-developer-agreement', - }, - ], - }, - - { - type: 'doc', - id: 'question-answer', - }, - - { - type: 'doc', - id: 'contact', - }, - ], + docs: [{ type: 'autogenerated', dirName: '.' }], }; export default sidebars; diff --git a/src/components/ServerlessAPIServices.jsx b/src/components/ServerlessAPIServices.jsx index 6154a4621ce7e43ac6d1c0a292fec16dc55c2694..8975a560314cc7a899cb93807face2e65c41de38 100644 --- a/src/components/ServerlessAPIServices.jsx +++ b/src/components/ServerlessAPIServices.jsx @@ -1,6 +1,119 @@ import React, { useEffect, useState } from 'react'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +/** API 请求配置 */ +const API_CONFIG = { + SERVICES_PAGE_SIZE: 200, + SERVERLESS_SERVICE_CATEGORY: 'serverless-service', +}; + +/** URL 参数键名 */ +const URL_PARAMS = { + VENDOR: 'vendor', + TAG: 'tag', +}; + +/** 筛选器默认值 */ +const FILTER_DEFAULTS = { + ALL: 'all', +}; + +// ============================================================================ +// 工具函数 - 数据处理相关 +// ============================================================================ + +/** + * 获取服务的唯一厂商列表 + * @param {Array} services - 服务列表 + * @returns {Array} 排序后的厂商列表 + */ +function extractUniqueVendors(services) { + const vendorSet = new Set(); + + services.forEach((service) => { + service.operations?.forEach((operation) => { + if (operation.vendor_info?.label) { + vendorSet.add(operation.vendor_info.label); + } + }); + }); + + return Array.from(vendorSet).sort(); +} + +/** + * 获取服务的唯一分类列表(按 sort_order 排序) + * @param {Array} services - 服务列表 + * @returns {Array} 排序后的分类列表 + */ +function extractUniqueCategories(services) { + const categoryMap = new Map(); + + services.forEach((service) => { + if (!service.tags?.length) return; + + const categoryTag = service.tags.find((tag) => + tag.categories?.some( + ({ slug }) => slug === API_CONFIG.SERVERLESS_SERVICE_CATEGORY, + ), + ); + + if (categoryTag?.name && categoryTag.name !== '-') { + categoryMap.set(categoryTag.name, categoryTag); + } + }); + + // 按 sort_order 排序(倒序) + return Array.from(categoryMap.values()).sort((a, b) => { + const orderA = a.sort_order ?? Number.MAX_SAFE_INTEGER; + const orderB = b.sort_order ?? Number.MAX_SAFE_INTEGER; + + return orderA !== orderB ? orderB - orderA : 0; + }); +} + +/** + * 获取服务的分类名称 + * @param {Array} tags - 标签列表 + * @returns {string} 分类名称,未找到时返回 '-' + */ +function getServiceCategoryName(tags) { + if (!tags?.length) return '-'; + + const categoryTag = tags.find((tag) => + tag.categories?.some( + ({ slug }) => slug === API_CONFIG.SERVERLESS_SERVICE_CATEGORY, + ), + ); + + return categoryTag?.name || '-'; +} + +/** + * 按 name 合并操作列表 + * @param {Array} operations - 操作列表 + * @returns {Array} 合并并排序后的操作列表 + */ +function mergeOperations(operations) { + // 按 name 合并操作 + const operationMap = new Map(); + operations.forEach((operation) => { + const name = operation.name; + if (!name) return; + if (!operationMap.has(name)) { + operationMap.set(name, operation); + } + }); + return Array.from(operationMap.values()); +} + +// ============================================================================ +// UI 组件 - 错误和加载状态 +// ============================================================================ + +/** + * 错误消息组件 + */ function ErrorMessage({ error }) { return (

{ - service.operations?.forEach((op) => { - if (op.vendor_info?.label) { - vendors.add(op.vendor_info.label); - } - }); - }); - return Array.from(vendors).sort(); +/** + * 加载状态组件 + */ +function LoadingMessage() { + return ( +

+ 加载 Serverless API 服务列表... +

+ ); } -function getServiceCategory(tags) { - const found = tags.filter((tag) => - tag.categories?.find(({ slug }) => slug === 'serverless-service'), +// ============================================================================ +// UI 组件 - 筛选器 +// ============================================================================ + +/** + * 筛选器组件 + */ +function FilterControls({ + selectedVendor, + selectedTag, + vendors, + tags, + serviceCount, + operationCount, + onVendorChange, + onTagChange, +}) { + const selectStyle = { + padding: '5px 8px', + borderRadius: 4, + border: 0, + outline: '1px solid #ccc', + borderRight: '8px solid transparent', + }; + + return ( +
+
+ {/* 厂商筛选器 */} + {/**/} + {/* */} + {/* {isMobile ? '厂商:' : '选择厂商:'}*/} + {/* */} + {/* onVendorChange(e.target.value)}*/} + {/* style={isMobile ? mobileSelectStyle : selectStyle}*/} + {/* >*/} + {/* */} + {/* {vendors.map((vendor) => (*/} + {/* */} + {/* ))}*/} + {/* */} + {/*
*/} + + {/* 分类筛选器 */} +
+ + +
+
+ + {/* 统计信息 */} + + 共 {serviceCount} 个模型, {operationCount} 个接口 + + ); - return found.length > 0 ? found[0].name : '-'; } -export default function ServerlessAPIServices() { - const { siteConfig } = useDocusaurusContext(); - const HOST = siteConfig.url; - const [loading, setLoading] = useState(true); - const [services, setServices] = useState([]); - const [filteredServices, setFilteredServices] = useState([]); - const [filteredOpsCount, setFilteredOpsCount] = useState([]); - const [selectedVendor, setSelectedVendor] = useState('all'); - const [vendors, setVendors] = useState([]); - const [showOperations, setShowOperations] = useState(false); - const [error, setError] = useState(null); +// ============================================================================ +// UI 组件 - 服务表格 +// ============================================================================ + +/** + * 服务表格组件 + */ +function ServicesTable({ services, showOperations, hostUrl }) { + const isMobile = typeof window !== 'undefined' && window.innerWidth <= 768; + + const renderOperationCell = (operation, ident, createdAt) => ( + + {/**/} + {/* {operation?.vendor_info?.label || '未知厂商'}*/} + {/*{' '}*/} + + {operation.name} + + {/**/} + {/* {new Date(operation.created_at || createdAt).toLocaleDateString(*/} + {/* 'zh-CN',*/} + {/* )}*/} + {/**/} + + ); + /** + * 渲染服务基本信息单元格 + */ + const renderServiceInfoCells = (service, operationCount) => ( + <> + + + {service.model_info.name} + + + + {getServiceCategoryName(service.tags) || '-'} + + + {service.remark ?? ''} + + + ); + + return ( + + + + + + + {showOperations && } + + + + {services.map((service, serviceIndex) => { + const { filteredOps = [], created_at, ident } = service; + const hasOperations = filteredOps.length > 0; + + return hasOperations ? ( + // 有操作的服务 - 每个操作一行 + filteredOps.map((operation, opIndex) => ( + + {opIndex === 0 && + renderServiceInfoCells(service, filteredOps.length)} + {renderOperationCell(operation, ident, created_at)} + + )) + ) : ( + // 无操作的服务 - 单行显示 + + + + + + + ); + })} + +
模型名称分类简介接口
+ + {service.model_info.name} + + + {getServiceCategoryName(service.tags) || '-'} + + {service.remark ?? ''} + + - +
+ ); +} + +// ============================================================================ +// 自定义 Hooks - 状态管理 +// ============================================================================ + +/** + * URL 参数管理 Hook + */ +function useURLParams( + defaultVendor = FILTER_DEFAULTS.ALL, + defaultTag = FILTER_DEFAULTS.ALL, +) { + const [selectedVendor, setSelectedVendor] = useState(defaultVendor); + const [selectedTag, setSelectedTag] = useState(defaultTag); + + // 初始化:从 URL 读取参数,如果没有则使用默认值 useEffect(() => { - const params = new URLSearchParams(window.location.search); - const vendorParam = params.get('vendor'); + const urlParams = new URLSearchParams(window.location.search); + const vendorParam = urlParams.get(URL_PARAMS.VENDOR); + const tagParam = urlParams.get(URL_PARAMS.TAG); + if (vendorParam) { setSelectedVendor(vendorParam); + } else if (defaultVendor !== FILTER_DEFAULTS.ALL) { + setSelectedVendor(defaultVendor); + } + + if (tagParam) { + setSelectedTag(tagParam); + } else if (defaultTag !== FILTER_DEFAULTS.ALL) { + setSelectedTag(defaultTag); } - }, []); + }, [defaultVendor, defaultTag]); + // 同步:更新 URL 参数 useEffect(() => { - const params = new URLSearchParams(window.location.search); - if (selectedVendor === 'all') { - params.delete('vendor'); + const urlParams = new URLSearchParams(window.location.search); + + // 处理厂商参数 + if (selectedVendor === FILTER_DEFAULTS.ALL) { + urlParams.delete(URL_PARAMS.VENDOR); + } else { + urlParams.set(URL_PARAMS.VENDOR, selectedVendor); + } + + // 处理分类参数 + if (selectedTag === FILTER_DEFAULTS.ALL) { + urlParams.delete(URL_PARAMS.TAG); } else { - params.set('vendor', selectedVendor); + urlParams.set(URL_PARAMS.TAG, selectedTag); } - const newUrl = `${window.location.pathname}${params.toString() ? '?' + params.toString() : ''}`; + const newUrl = `${window.location.pathname}${urlParams.toString() ? '?' + urlParams.toString() : ''}`; window.history.pushState({}, '', newUrl); - }, [selectedVendor]); + }, [selectedVendor, selectedTag]); + + return { + selectedVendor, + selectedTag, + setSelectedVendor, + setSelectedTag, + }; +} + +/** + * 服务数据获取 Hook + */ +function useServicesData(hostUrl) { + const [loading, setLoading] = useState(true); + const [services, setServices] = useState([]); + const [vendors, setVendors] = useState([]); + const [tags, setTags] = useState([]); + const [showOperations, setShowOperations] = useState(false); + const [error, setError] = useState(null); useEffect(() => { - async function getOperations() { - setLoading(true); - const resp = await fetch(`${HOST}/api/pay/service/operations`); - if (resp.status !== 200) { - await getServices(); - return; + let isMounted = true; + + /** + * 获取操作数据(优先方案) + */ + async function fetchOperationsData() { + try { + const response = await fetch(`${hostUrl}/api/pay/service/operations`); + + if (response.status !== 200) { + await fetchServicesData(); + return; + } + + const data = await response.json(); + const processedServices = data + .map(({ operations, service }) => { + // 计算厂商最早日期 + const vendorEarliestDates = operations.reduce((acc, op) => { + const vendor = op?.vendor_info?.label || '未知厂商'; + const date = op.created_at || service.created_at; + if (!acc[vendor] || date < acc[vendor]) { + acc[vendor] = date; + } + return acc; + }, {}); + + return { + ...service, + operations: operations.sort((a, b) => { + const labelA = a.vendor_info?.label || ''; + const labelB = b.vendor_info?.label || ''; + return labelA.localeCompare(labelB); + }), + vendorEarliestDates, + }; + }) + .filter(({ tags }) => tags?.length > 0) + .sort(({ name: c1 }, { name: c2 }) => c1.localeCompare(c2)); + + if (isMounted) { + setServices(processedServices); + setVendors(extractUniqueVendors(processedServices)); + setTags(extractUniqueCategories(processedServices)); + setShowOperations(true); + setLoading(false); + } + } catch (err) { + console.error('Failed to fetch operations:', err); + await fetchServicesData(); } - const items = await resp.json(); - const svs = items - .map(({ operations, service }) => { - const vendorEarliestDates = operations.reduce((acc, op) => { - const vendor = op?.vendor_info?.label || '未知厂商'; - const date = op.created_at || service.created_at; - if (!acc[vendor] || date < acc[vendor]) { - acc[vendor] = date; - } - return acc; - }, {}); - - return { - ...service, - operations: operations.sort((a, b) => { - const labelA = a.vendor_info?.label || ''; - const labelB = b.vendor_info?.label || ''; - return labelA.localeCompare(labelB); - }), - vendorEarliestDates, - }; - }) - .filter(({ tags }) => tags && tags.length > 0) - .sort(({ created_at: c1 }, { created_at: c2 }) => (c1 < c2 ? 1 : -1)); - setServices(svs); - setFilteredServices(svs); - setVendors(getUniqueVendors(svs)); - setShowOperations(true); - setLoading(false); } - async function getServices() { + + /** + * 获取服务数据(备用方案) + */ + async function fetchServicesData() { try { - setLoading(true); - const resp = await fetch( - `${HOST}/api/pay/services?type=serverless&page=1&size=100`, - ); - const { items } = await resp.json(); - setServices( - items - .filter(({ tags }) => tags && tags.length > 0) - .sort(({ created_at: c1 }, { created_at: c2 }) => - c1 < c2 ? 1 : -1, - ), + const response = await fetch( + `${hostUrl}/api/pay/services?type=serverless&page=1&size=${API_CONFIG.SERVICES_PAGE_SIZE}`, ); - } catch (e) { - console.error(e); - setError(e.message); - setServices([]); - } finally { - setLoading(false); + const { items } = await response.json(); + + const processedServices = items + .filter(({ tags }) => tags?.length > 0) + .sort(({ created_at: c1 }, { created_at: c2 }) => + c1.localeCompare(c2), + ); + + if (isMounted) { + setServices(processedServices); + setTags(extractUniqueCategories(processedServices)); + setLoading(false); + } + } catch (err) { + console.error('Failed to fetch services:', err); + if (isMounted) { + setError(err.message); + setServices([]); + setLoading(false); + } } } - getOperations(); - }, []); + + fetchOperationsData(); + + return () => { + isMounted = false; + }; + }, [hostUrl]); + + return { + loading, + services, + vendors, + tags, + showOperations, + error, + }; +} + +/** + * 服务筛选 Hook + */ +function useFilteredServices(services, selectedVendor, selectedTag) { + const [filteredServices, setFilteredServices] = useState([]); + const [filteredOpsCount, setFilteredOpsCount] = useState(0); useEffect(() => { - if (selectedVendor === 'all') { - setFilteredServices( - services.map((service) => ({ - ...service, - filteredOps: (service.operations || []).sort((a, b) => { - const dateA = a.created_at || service.created_at; - const dateB = b.created_at || service.created_at; - return new Date(dateA) - new Date(dateB); - }), - })), - ); + // 步骤1:按分类筛选服务 + let servicesByTag = services; + if (selectedTag !== FILTER_DEFAULTS.ALL) { + servicesByTag = services.filter((service) => { + const categoryName = getServiceCategoryName(service.tags || []); + return categoryName === selectedTag; + }); + } + + // 步骤2:按厂商筛选操作 + if (selectedVendor === FILTER_DEFAULTS.ALL) { + // 显示所有厂商的操作 + const processedServices = servicesByTag.map((service) => ({ + ...service, + filteredOps: mergeOperations(service.operations || []), + })); + + setFilteredServices(processedServices); setFilteredOpsCount( - services.reduce((acc, service) => { - return acc + (service.operations || []).length; - }, 0), + processedServices.reduce( + (total, service) => total + (service.filteredOps?.length || 0), + 0, + ), ); } else { - const fss = services + // 只显示选中厂商的操作 + const processedServices = servicesByTag .map((service) => ({ ...service, - filteredOps: (service.operations || []) - .filter((op) => op?.vendor_info?.label === selectedVendor) - .sort((a, b) => { - const dateA = a.created_at || service.created_at; - const dateB = b.created_at || service.created_at; - return new Date(dateA) - new Date(dateB); - }), + filteredOps: mergeOperations( + (service.operations || []).filter( + (op) => op?.vendor_info?.label === selectedVendor, + ), + ), })) - .filter((service) => (service.filteredOps || []).length > 0); - setFilteredServices(fss); + .filter((service) => service.filteredOps.length > 0); + + setFilteredServices(processedServices); setFilteredOpsCount( - fss.reduce((acc, service) => { - return acc + (service.filteredOps || []).length; - }, 0), + processedServices.reduce( + (total, service) => total + service.filteredOps.length, + 0, + ), ); } - }, [selectedVendor, services]); + }, [selectedVendor, selectedTag, services]); + + return { + filteredServices, + filteredOpsCount, + }; +} + +// ============================================================================ +// 主组件 +// ============================================================================ + +/** + * ServerlessAPIServices 主组件 + * @param {Object} props - 组件属性 + * @param {string} [props.defaultVendor] - 默认厂商筛选值 + * @param {string} [props.defaultTag] - 默认分类筛选值 + */ +export default function ServerlessAPIServices({ + defaultVendor, + defaultTag, +} = {}) { + const { siteConfig } = useDocusaurusContext(); + const hostUrl = siteConfig.url; + // 状态管理 + const { selectedVendor, selectedTag, setSelectedVendor, setSelectedTag } = + useURLParams(defaultVendor, defaultTag); + const { loading, services, vendors, tags, showOperations, error } = + useServicesData(hostUrl); + const { filteredServices, filteredOpsCount } = useFilteredServices( + services, + selectedVendor, + selectedTag, + ); + + // 加载状态 if (loading) { - return ( -

- 加载 Serverless API 服务列表... -

- ); + return ; } + // 错误状态 if (services.length === 0) { return ; } + // 正常渲染 return ( <> -
- - - - 共 {filteredServices.length} 个模型, {filteredOpsCount} 个接口 - -
- - - - - - - {showOperations && ( - - )} - - - - {filteredServices.map( - ( - { - created_at, - model_info, - id, - remark, - tags, - filteredOps = [], - ident, - }, - index, - ) => - (filteredOps || []).length > 0 ? ( - filteredOps.map((op, opIndex) => ( - - {opIndex === 0 ? ( - <> - - - - - ) : null} - - - )) - ) : ( - - - - - - - ), - )} - -
模型名称分类简介接口(上线时间)
- - {model_info.name} - - - {getServiceCategory(tags) || '-'} - - {remark ?? ''} - - - {op?.vendor_info?.label || '未知厂商'} - {' '} - - {op.name} - {' '} - - {new Date( - op.created_at || created_at, - ).toLocaleDateString('zh-CN')} - -
- - {model_info.name} - - - {getServiceCategory(tags) || '-'} - - {remark ?? ''} - - - -
+ + ); } diff --git a/src/css/custom.css b/src/css/custom.css index 962695d028f6561ea06e763b63d9c5810d639751..bafb69e714b0e3ad71f936e4e7a04fa29cd75cab 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -91,19 +91,30 @@ input[type='number'] { .navbar__item.navbar__link, .navbar__items .navbar__link { font-size: 10.5pt; - padding: var(--ifm-navbar-item-padding-vertical) - var(--ifm-navbar-item-padding-horizontal); + padding: var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal); } + .navbar__items .navbar__link { display: block; } -.navbar__items > a:nth-of-type(2) { + +.navbar__items>a:nth-of-type(2) { margin-left: auto; } -.navbar__items > a:last-child { + +.navbar__items>a:last-child { margin-right: auto; } +.prism-code { + font-size: 0.8rem; + line-height: 1.5; + padding: 1rem; + border-radius: 8px; + tab-size: 4; + -moz-tab-size: 4; +} + .footer { font-size: 10.5pt; padding: 8px; @@ -119,6 +130,10 @@ input[type='number'] { font-size: 10.5pt; } +article { + font-size: 0.96em +} + article h1 { font-size: 1.8em; margin: 20px 0; @@ -138,8 +153,7 @@ article img { border-radius: 8px; width: auto !important; height: auto !important; - max-width: 100%; - max-height: 250px !important; + max-width: 80%; } article table th { @@ -202,12 +216,10 @@ div[id^='headlessui-disclosure-panel'] tr td.relative:nth-child(2) { } .theme-doc-toc-desktop { - top: calc( - var(--ifm-navbar-height) + 1rem + var(--ifm-navbar-height) - ) !important; + top: calc(var(--ifm-navbar-height) + 1rem + var(--ifm-navbar-height)) !important; } -.dropdown > .navbar__link:after { +.dropdown>.navbar__link:after { width: 4px; height: 4px; border-width: 1px 1px 0 0; @@ -226,9 +238,11 @@ div[id^='headlessui-disclosure-panel'] tr td.relative:nth-child(2) { height: 32px; line-height: 18px; } + .gai-navbar-item-home:hover { background-color: var(--ifm-navbar-button-background-color); } + .gai-navbar-item-home a { color: var(--ifm-navbar-button-color); text-decoration: none; @@ -263,6 +277,7 @@ div[id^='headlessui-disclosure-panel'] tr td.relative:nth-child(2) { border: none; padding: 6px 12px; } + .gai-navbar-item-home a { color: var(--ifm-menu-color); } @@ -278,7 +293,7 @@ div[id^='headlessui-disclosure-panel'] tr td.relative:nth-child(2) { margin-top: calc(-1 * var(--ifm-navbar-height) * 2) !important; } -.theme-doc-sidebar-container > div > div { +.theme-doc-sidebar-container>div>div { padding-top: calc(var(--ifm-navbar-height) * 2) !important; } @@ -290,6 +305,7 @@ div[id^='headlessui-disclosure-panel'] tr td.relative:nth-child(2) { .sidebar-heading.sidebar-group-item__folder { margin-top: 16px; } + .sidebar-group.sidebar-indent-nested .sidebar-group-item .sidebar-heading { padding-left: 12px !important; } @@ -311,3 +327,51 @@ div[id^='headlessui-disclosure-panel'] tr td.relative:nth-child(2) { .darklight-reference { display: none !important; } + +.cards { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); + gap: 2rem; + margin: 2rem 1rem; +} + +.card { + background: inherit; + border-radius: 12px; + text-decoration: none; + color: inherit; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04); + transition: all 0.2s ease; + border: 1px solid #eee; +} + +.card:hover { + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); + transform: translateY(-2px); + text-decoration: none; + color: inherit; + background-color: var(--ifm-navbar-second-background-color); +} + +.card__header h3 { + display: flex; + align-items: center; + gap: 0.5rem; +} + +.card p { + margin: 0; +} + +.menu__caret:before, +.menu__link:after { + background-size: 1.3rem 1.3rem; +} + +table.serverless-api-services tr:nth-child(2n) { + background-color: unset; +} + +table.serverless-api-services tr:hover td{ + background-color: var(--ifm-table-stripe-background); +} \ No newline at end of file diff --git a/src/pages/index.tsx b/src/pages/index.tsx deleted file mode 100644 index 266305e3e251b5cf38842998bde93c61abb6dca1..0000000000000000000000000000000000000000 --- a/src/pages/index.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { Redirect } from '@docusaurus/router'; - -export default function Home() { - return ; -} diff --git a/src/plugins/env-replacement-loader.js b/src/plugins/env-replacement-loader.js index e41f0cbd98cca9c3e1a5439fa8e7d38cec85769f..d52e01280320b64aea3f9b2c31f4dcd2039e4fe2 100644 --- a/src/plugins/env-replacement-loader.js +++ b/src/plugins/env-replacement-loader.js @@ -28,7 +28,7 @@ module.exports = function (source) { // 如果进行了替换,输出调试信息(仅在开发模式下) if (hasReplacements && process.env.NODE_ENV === 'development') { - console.log(`[env-replacement-loader] 已处理文件: ${this.resourcePath}`); + // console.log(`[env-replacement-loader] 已处理文件: ${this.resourcePath}`); } return result; diff --git a/src/theme/Navbar/index.tsx b/src/theme/Navbar/index.tsx index 2c363fc0666c584e4f9c1bd16dfb4539b550dabb..e25d5170d4a9fa03efe316db08d7967248393fa1 100644 --- a/src/theme/Navbar/index.tsx +++ b/src/theme/Navbar/index.tsx @@ -24,7 +24,7 @@ export default function NavBar(): JSX.Element {
使用指南 diff --git a/static/img/app-store/action-1.png b/static/img/app-store/action-1.png deleted file mode 100644 index 82e56f1c2067143f216fa46cc8b5b4e6ba639d53..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/action-1.png and /dev/null differ diff --git a/static/img/app-store/action-2.png b/static/img/app-store/action-2.png deleted file mode 100644 index 522ecd5e4b7398f3441b7335c5ca1e2412e85d02..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/action-2.png and /dev/null differ diff --git a/static/img/app-store/action-3.png b/static/img/app-store/action-3.png deleted file mode 100644 index bbb21fdea8e4907f6a5bd6180107b3645b30330c..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/action-3.png and /dev/null differ diff --git a/static/img/app-store/action-4.png b/static/img/app-store/action-4.png deleted file mode 100644 index d43337c1ab5e76131ea613c20bd17585158bed24..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/action-4.png and /dev/null differ diff --git a/static/img/app-store/action-5.png b/static/img/app-store/action-5.png deleted file mode 100644 index 165131ed41c3e259db0f85cb7199ceca84be950b..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/action-5.png and /dev/null differ diff --git a/static/img/app-store/action-6.png b/static/img/app-store/action-6.png deleted file mode 100644 index 8cf94605dca762d16cafb07bc4ecbd5be2318a6d..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/action-6.png and /dev/null differ diff --git a/static/img/app-store/app-price.jpg b/static/img/app-store/app-price.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2bd645de6dee68be0d2d4025a066d65f6496682e Binary files /dev/null and b/static/img/app-store/app-price.jpg differ diff --git a/static/img/app-store/apptoken.jpg b/static/img/app-store/apptoken.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a68d06bd665e8c6de03339357540388fc411019a Binary files /dev/null and b/static/img/app-store/apptoken.jpg differ diff --git a/static/img/app-store/price-list.jpg b/static/img/app-store/price-list.jpg new file mode 100644 index 0000000000000000000000000000000000000000..87472274d964fdb8f13666e7c20d770a6da78ea4 Binary files /dev/null and b/static/img/app-store/price-list.jpg differ diff --git a/static/img/app-store/price-ratio.jpg b/static/img/app-store/price-ratio.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8199a92dd9caff9c7f77c9b8069be508ff2b96fc Binary files /dev/null and b/static/img/app-store/price-ratio.jpg differ diff --git a/static/img/app-store/publish-1.png b/static/img/app-store/publish-1.png deleted file mode 100644 index 647227c73d920bb959de15c801d92e172ec3145b..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/publish-1.png and /dev/null differ diff --git a/static/img/app-store/publish-2.png b/static/img/app-store/publish-2.png deleted file mode 100644 index c2bdd4fb8ba74ed14e60415b3d3024eca8dc6e7d..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/publish-2.png and /dev/null differ diff --git a/static/img/app-store/publish-3.png b/static/img/app-store/publish-3.png deleted file mode 100644 index bf6b579a41d1506fbb6bd4e1b25bceca7ab9b548..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/publish-3.png and /dev/null differ diff --git a/static/img/app-store/publish-4.png b/static/img/app-store/publish-4.png deleted file mode 100644 index a18f0c18511a8638393c144586dbed2bd35a38ed..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/publish-4.png and /dev/null differ diff --git a/static/img/app-store/publish-5.png b/static/img/app-store/publish-5.png deleted file mode 100644 index ccec60499d8e97a3b09a390ec148f52aa4b30296..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/publish-5.png and /dev/null differ diff --git a/static/img/app-store/publish-9.png b/static/img/app-store/publish-9.png deleted file mode 100644 index f5590e2d75b4d5a986de91783b156a8e74ea03c4..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/publish-9.png and /dev/null differ diff --git a/static/img/app-store/view-1.png b/static/img/app-store/view-1.png deleted file mode 100644 index 855e47ea1fc213da1af1098c6c96840509e90294..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/view-1.png and /dev/null differ diff --git a/static/img/app-store/view-2.png b/static/img/app-store/view-2.png deleted file mode 100644 index e7eaf4d0702213011d349442a5215e21b15bf613..0000000000000000000000000000000000000000 Binary files a/static/img/app-store/view-2.png and /dev/null differ diff --git a/static/img/app/apps_fan.png b/static/img/app/apps_fan.png deleted file mode 100644 index c277867c6a950f718a9d87211c3ed38d208ef8ca..0000000000000000000000000000000000000000 Binary files a/static/img/app/apps_fan.png and /dev/null differ diff --git a/static/img/app/apps_git_copy.png b/static/img/app/apps_git_copy.png deleted file mode 100644 index 05cb21884967b89ac94085f0c4083b8f76467016..0000000000000000000000000000000000000000 Binary files a/static/img/app/apps_git_copy.png and /dev/null differ diff --git a/static/img/app/apps_gradio.png b/static/img/app/apps_gradio.png deleted file mode 100644 index 544dfb0c399122bf430a2be6e3ee39f81abdf8fc..0000000000000000000000000000000000000000 Binary files a/static/img/app/apps_gradio.png and /dev/null differ diff --git a/static/img/app/apps_hotdog.png b/static/img/app/apps_hotdog.png deleted file mode 100644 index 3c2c73d22c3695645edafeca8786f28bd2552e17..0000000000000000000000000000000000000000 Binary files a/static/img/app/apps_hotdog.png and /dev/null differ diff --git a/static/img/app/apps_https.png b/static/img/app/apps_https.png deleted file mode 100644 index c98efb6eb5df5798a71d222e6a3e3ddfc4562421..0000000000000000000000000000000000000000 Binary files a/static/img/app/apps_https.png and /dev/null differ diff --git a/static/img/app/apps_resource.png b/static/img/app/apps_resource.png deleted file mode 100644 index 26b93c9db4cc66bad3be2fede5d494cffd6179de..0000000000000000000000000000000000000000 Binary files a/static/img/app/apps_resource.png and /dev/null differ diff --git a/static/img/app/apps_secret.png b/static/img/app/apps_secret.png deleted file mode 100644 index 1304a1e1411db4b733bf7e0b0d2446c134733bad..0000000000000000000000000000000000000000 Binary files a/static/img/app/apps_secret.png and /dev/null differ diff --git a/static/img/app/apps_selection.png b/static/img/app/apps_selection.png deleted file mode 100644 index 9a5b0d9c1a7cae5601a9c653eb856650a2c7be05..0000000000000000000000000000000000000000 Binary files a/static/img/app/apps_selection.png and /dev/null differ diff --git a/static/img/app/apps_setting.png b/static/img/app/apps_setting.png deleted file mode 100644 index 835b9728209ed7e60861674d55b6c9319055841c..0000000000000000000000000000000000000000 Binary files a/static/img/app/apps_setting.png and /dev/null differ diff --git a/static/img/app/apps_sleep.png b/static/img/app/apps_sleep.png deleted file mode 100644 index 65918ec1830b0680289d954e6f2bb75f8747cadd..0000000000000000000000000000000000000000 Binary files a/static/img/app/apps_sleep.png and /dev/null differ diff --git a/static/img/app/apps_sleeptimes.png b/static/img/app/apps_sleeptimes.png deleted file mode 100644 index e468f212e53d93d8cf93e60f3a2040e540bb93e0..0000000000000000000000000000000000000000 Binary files a/static/img/app/apps_sleeptimes.png and /dev/null differ diff --git a/static/img/app/apps_ssh.png b/static/img/app/apps_ssh.png deleted file mode 100644 index 458b6e146e5512c0644be792a27d5d86b87cffac..0000000000000000000000000000000000000000 Binary files a/static/img/app/apps_ssh.png and /dev/null differ diff --git a/static/img/app/apps_stop.png b/static/img/app/apps_stop.png deleted file mode 100644 index c8cc2d8cdf8361a369a31b35005859375a413a7c..0000000000000000000000000000000000000000 Binary files a/static/img/app/apps_stop.png and /dev/null differ diff --git a/static/img/app/dockerfile.png b/static/img/app/dockerfile.png deleted file mode 100644 index 99cdb43c3d14b5a9d847461478eea43bc707a3b5..0000000000000000000000000000000000000000 Binary files a/static/img/app/dockerfile.png and /dev/null differ diff --git a/static/img/app/image-1.png b/static/img/app/image-1.png deleted file mode 100644 index 2a5d6bad3c14a56fc9de3e0750b9e70aaada8fb5..0000000000000000000000000000000000000000 Binary files a/static/img/app/image-1.png and /dev/null differ diff --git a/static/img/app/image-2.png b/static/img/app/image-2.png deleted file mode 100644 index 9ff2d8faca3fd46650358be2d2202ebc6ecea2d8..0000000000000000000000000000000000000000 Binary files a/static/img/app/image-2.png and /dev/null differ diff --git a/static/img/app/image-3.png b/static/img/app/image-3.png deleted file mode 100644 index cbf1b8fb2ed3804aa104a3aaa6336f88ba721870..0000000000000000000000000000000000000000 Binary files a/static/img/app/image-3.png and /dev/null differ diff --git a/static/img/app/image-4.png b/static/img/app/image-4.png deleted file mode 100644 index 98f97448f2eb8e2660a2b4d2a3e6743fd615683e..0000000000000000000000000000000000000000 Binary files a/static/img/app/image-4.png and /dev/null differ diff --git a/static/img/app/image.png b/static/img/app/image.png deleted file mode 100644 index dc8f76db8c6b5a6e26de28ff46631457db5e0eb0..0000000000000000000000000000000000000000 Binary files a/static/img/app/image.png and /dev/null differ diff --git a/static/img/app/ixsmi.png b/static/img/app/ixsmi.png deleted file mode 100644 index 8116cb68b0b7abb9b9272978c221f823a1de0489..0000000000000000000000000000000000000000 Binary files a/static/img/app/ixsmi.png and /dev/null differ diff --git a/static/img/app/qa/error_log.png b/static/img/app/qa/error_log.png deleted file mode 100644 index fb7f78e7d83644f9fa756cee444538b5cf696e1d..0000000000000000000000000000000000000000 Binary files a/static/img/app/qa/error_log.png and /dev/null differ diff --git a/static/img/app/storage.png b/static/img/app/storage.png deleted file mode 100644 index a423c0451c3679cb65be3b8a37ca0e36bee6ba8e..0000000000000000000000000000000000000000 Binary files a/static/img/app/storage.png and /dev/null differ diff --git a/static/img/apps/app1.png b/static/img/apps/app1.png new file mode 100644 index 0000000000000000000000000000000000000000..63251bd54eeea95fa3b1484120aff25ab2aa056e Binary files /dev/null and b/static/img/apps/app1.png differ diff --git a/static/img/base/counts.png b/static/img/base/counts.png new file mode 100644 index 0000000000000000000000000000000000000000..7702eff0ded9c0f8303235d881e024f7d6b01474 Binary files /dev/null and b/static/img/base/counts.png differ diff --git a/static/img/base/datasets.jpg b/static/img/base/datasets.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f7172c17b32fd5c749ee50f8115491d695db46d2 Binary files /dev/null and b/static/img/base/datasets.jpg differ diff --git a/static/img/base/datasets_search.png b/static/img/base/datasets_search.png deleted file mode 100644 index 8e1fcd9a17b48a72092569d51ea4293097dddf8f..0000000000000000000000000000000000000000 Binary files a/static/img/base/datasets_search.png and /dev/null differ diff --git a/static/img/base/modelengin.png b/static/img/base/modelengin.png deleted file mode 100644 index c534f678c4bc2d6b4560b3b212e25bcb60f2b6e6..0000000000000000000000000000000000000000 Binary files a/static/img/base/modelengin.png and /dev/null differ diff --git a/static/img/base/serverless-api-call.jpeg b/static/img/base/serverless-api-call.jpeg deleted file mode 100644 index 3c1fb1ceab6105b198ce3b26cf3b6b63ca09fe3c..0000000000000000000000000000000000000000 Binary files a/static/img/base/serverless-api-call.jpeg and /dev/null differ diff --git a/static/img/base/serverless-api-call.png b/static/img/base/serverless-api-call.png new file mode 100644 index 0000000000000000000000000000000000000000..04a17f81b6c5855c779332f9b713964af34cc10d Binary files /dev/null and b/static/img/base/serverless-api-call.png differ diff --git a/static/img/base/serverless-api-flux-1-schnell.png b/static/img/base/serverless-api-flux-1-schnell.png index d26baa22229e6c32df82f70025a5d215e13a5259..9441871a4c4b6730d7fe207a1bd5a663d647931f 100644 Binary files a/static/img/base/serverless-api-flux-1-schnell.png and b/static/img/base/serverless-api-flux-1-schnell.png differ diff --git a/static/img/base/serverless-api.png b/static/img/base/serverless-api.png index 3f8f328be251655928c10782e18059bc76b24224..e5ef2d188158ecc8f5f923f6f38d8de89371083f 100644 Binary files a/static/img/base/serverless-api.png and b/static/img/base/serverless-api.png differ diff --git a/static/img/base/serverless-package-purchase.jpeg b/static/img/base/serverless-package-purchase.jpeg deleted file mode 100644 index ed97247508d3f36a55ac6e1bbec1dd6cbec3bb9f..0000000000000000000000000000000000000000 Binary files a/static/img/base/serverless-package-purchase.jpeg and /dev/null differ diff --git a/static/img/base/serverless-package-purchase.png b/static/img/base/serverless-package-purchase.png new file mode 100644 index 0000000000000000000000000000000000000000..8d9b19d50b5c103967ac1fc9dd2e1ca381fcde4c Binary files /dev/null and b/static/img/base/serverless-package-purchase.png differ diff --git a/static/img/billing/invoice01.jpg b/static/img/billing/invoice01.jpg new file mode 100644 index 0000000000000000000000000000000000000000..45da797c5be5d40357c955fbae835a26942de0a7 Binary files /dev/null and b/static/img/billing/invoice01.jpg differ diff --git a/static/img/billing/invoice02.jpg b/static/img/billing/invoice02.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1fb5b79862b1ed8fecaa4a4baabec80f4d0f9b0e Binary files /dev/null and b/static/img/billing/invoice02.jpg differ diff --git a/static/img/billing/invoice03.jpg b/static/img/billing/invoice03.jpg new file mode 100644 index 0000000000000000000000000000000000000000..be0cde4443848b2207fa18733d53bfbe622dec01 Binary files /dev/null and b/static/img/billing/invoice03.jpg differ diff --git a/static/img/contact/contact_qrcode.jpg b/static/img/contact/contact_qrcode.jpg deleted file mode 100644 index 3b9325ff810a8977d4157b98f9fd0a41337d73cc..0000000000000000000000000000000000000000 Binary files a/static/img/contact/contact_qrcode.jpg and /dev/null differ diff --git a/static/img/contact/contact_qrcode.png b/static/img/contact/contact_qrcode.png new file mode 100644 index 0000000000000000000000000000000000000000..6d91a46decb5bb289ca10b980a6ad08f7031471d Binary files /dev/null and b/static/img/contact/contact_qrcode.png differ diff --git a/static/img/contact/feedback.png b/static/img/contact/feedback.png new file mode 100644 index 0000000000000000000000000000000000000000..6d4a20474c5643e8f3c8e4c5e8b9f05951ced3e4 Binary files /dev/null and b/static/img/contact/feedback.png differ diff --git a/static/img/contact/official.png b/static/img/contact/official.png new file mode 100644 index 0000000000000000000000000000000000000000..0394f5876d13f360fa85a278b09bcd65e91082d8 Binary files /dev/null and b/static/img/contact/official.png differ diff --git a/static/img/organization/image04.png b/static/img/organization/image04.png new file mode 100644 index 0000000000000000000000000000000000000000..4d3c35a87346f3160d3faee5aa8d50af56a8ceb5 Binary files /dev/null and b/static/img/organization/image04.png differ diff --git a/static/img/organization/personaldashboardimg2.png b/static/img/organization/personaldashboardimg2.png deleted file mode 100644 index 0b790a282d9743b931aeaed036a1c89c39fecd70..0000000000000000000000000000000000000000 Binary files a/static/img/organization/personaldashboardimg2.png and /dev/null differ diff --git a/static/img/purchase/purchase01.png b/static/img/purchase/purchase01.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6bd82e48ac900c1a5c2614eaf34af78d7610dd Binary files /dev/null and b/static/img/purchase/purchase01.png differ diff --git a/static/img/purchase/purchase02.png b/static/img/purchase/purchase02.png new file mode 100644 index 0000000000000000000000000000000000000000..cbbb6aecae6f322489e0e99ce9846ee77d4c574e Binary files /dev/null and b/static/img/purchase/purchase02.png differ diff --git a/static/img/purchase/purchase03.png b/static/img/purchase/purchase03.png new file mode 100644 index 0000000000000000000000000000000000000000..d37abfa944c590eec8879f6807553e8271ba3da4 Binary files /dev/null and b/static/img/purchase/purchase03.png differ diff --git a/static/img/purchase/purchase04.png b/static/img/purchase/purchase04.png new file mode 100644 index 0000000000000000000000000000000000000000..1168b834b910e124d1795a69bc9985d2408335ba Binary files /dev/null and b/static/img/purchase/purchase04.png differ diff --git a/static/img/purchase/purchase05.png b/static/img/purchase/purchase05.png new file mode 100644 index 0000000000000000000000000000000000000000..6bb140cd8ddf892e31f2425e1dc2725fe54d098b Binary files /dev/null and b/static/img/purchase/purchase05.png differ diff --git a/static/img/purchase/purchase06.png b/static/img/purchase/purchase06.png new file mode 100644 index 0000000000000000000000000000000000000000..42d5a16124271ddfa882d67f29ebdf5503c296ff Binary files /dev/null and b/static/img/purchase/purchase06.png differ diff --git a/static/img/purchase/purchase07.png b/static/img/purchase/purchase07.png new file mode 100644 index 0000000000000000000000000000000000000000..126fada6d020570365556501fa835b4b11ab5d6c Binary files /dev/null and b/static/img/purchase/purchase07.png differ diff --git a/static/img/serverless-api/all-api.png b/static/img/serverless-api/all-api.png new file mode 100644 index 0000000000000000000000000000000000000000..2ea01360737b8fb66a87a67b9fd49fdfecb010b2 Binary files /dev/null and b/static/img/serverless-api/all-api.png differ diff --git a/static/img/serverless-api/api.jpg b/static/img/serverless-api/api.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc3676e30350b7c0c47a9e7c31e1d3a42eb4fb40 Binary files /dev/null and b/static/img/serverless-api/api.jpg differ diff --git a/static/img/serverless-api/experience-api.png b/static/img/serverless-api/experience-api.png new file mode 100644 index 0000000000000000000000000000000000000000..02ed3d6b9689dfd9e935d9777a7e5b01602af97e Binary files /dev/null and b/static/img/serverless-api/experience-api.png differ diff --git a/static/img/serverless-api/flux_face.jpg b/static/img/serverless-api/flux_face.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f46ef697c9870daa941e81014e859b3f7021584b Binary files /dev/null and b/static/img/serverless-api/flux_face.jpg differ diff --git a/static/img/serverless-api/hunyuan3d.jpg b/static/img/serverless-api/hunyuan3d.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b30c89c132a3023c7ea92ae564c3ea00aed04ee5 Binary files /dev/null and b/static/img/serverless-api/hunyuan3d.jpg differ diff --git a/static/img/serverless-api/index-tts.jpg b/static/img/serverless-api/index-tts.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2341c6755075496ef2dd66f6d12a5697e02313bf Binary files /dev/null and b/static/img/serverless-api/index-tts.jpg differ diff --git a/static/img/serverless-api/integrated/claude-code-checkout-model.png b/static/img/serverless-api/integrated/claude-code-checkout-model.png new file mode 100644 index 0000000000000000000000000000000000000000..80b19375d57c48102d131afd069848c09f43f2aa Binary files /dev/null and b/static/img/serverless-api/integrated/claude-code-checkout-model.png differ diff --git a/static/img/serverless-api/integrated/claude-code-integrate.png b/static/img/serverless-api/integrated/claude-code-integrate.png new file mode 100644 index 0000000000000000000000000000000000000000..546fda38780140158bba2214d8f233af41b94a45 Binary files /dev/null and b/static/img/serverless-api/integrated/claude-code-integrate.png differ diff --git a/static/img/serverless-api/liuyifei.png b/static/img/serverless-api/liuyifei.png new file mode 100644 index 0000000000000000000000000000000000000000..b282a89c5cfbc76c4f1bc6b53026c0ede132d598 Binary files /dev/null and b/static/img/serverless-api/liuyifei.png differ diff --git a/static/img/serverless-api/model-args.jpg b/static/img/serverless-api/model-args.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8a6a1a26801553a44930d1d7742aca5cbe8b0f0f Binary files /dev/null and b/static/img/serverless-api/model-args.jpg differ diff --git a/static/img/serverless-api/select-api.png b/static/img/serverless-api/select-api.png new file mode 100644 index 0000000000000000000000000000000000000000..02d30a5df21297fffb9a9bc213ec81f56aebd40f Binary files /dev/null and b/static/img/serverless-api/select-api.png differ diff --git a/static/img/serverless-api/select-token.png b/static/img/serverless-api/select-token.png new file mode 100644 index 0000000000000000000000000000000000000000..83ea1f5854a05ca1ed3d3caf999c8c74ad6c97d3 Binary files /dev/null and b/static/img/serverless-api/select-token.png differ diff --git a/static/img/serverless-api/spark-tts.jpg b/static/img/serverless-api/spark-tts.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85d6877908fe28cfad5dbb38d39e373797e40639 Binary files /dev/null and b/static/img/serverless-api/spark-tts.jpg differ diff --git a/static/img/serverless-api/speech-recognition.jpg b/static/img/serverless-api/speech-recognition.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2d27fb1b69a0e5f7f19259ceb0a687f9e0a8b425 Binary files /dev/null and b/static/img/serverless-api/speech-recognition.jpg differ diff --git a/static/img/serverless-api/text2speech.jpg b/static/img/serverless-api/text2speech.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a88c70ed892fada60bc6abe799b94ff14a1da670 Binary files /dev/null and b/static/img/serverless-api/text2speech.jpg differ diff --git a/static/img/serverless-api/use.jpg b/static/img/serverless-api/use.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d893e4f617982df24d92b63917fc4f676c1f50ed Binary files /dev/null and b/static/img/serverless-api/use.jpg differ diff --git a/static/img/serverless-api/visions.jpg b/static/img/serverless-api/visions.jpg new file mode 100644 index 0000000000000000000000000000000000000000..51c441a0b2fcef7ac9c72eca8edabf057848530d Binary files /dev/null and b/static/img/serverless-api/visions.jpg differ diff --git a/static/img/serverless-api/wan-t2v.jpg b/static/img/serverless-api/wan-t2v.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4627edfdf6380709de31f0fc18d04349db8365fd Binary files /dev/null and b/static/img/serverless-api/wan-t2v.jpg differ diff --git a/static/img/workflow/input-1.png b/static/img/workflow/input-1.png index 58f748fba7624392b42a75812e19b42a3628b03f..a55e960b73821c35746c3841b6d7023452553a7a 100644 Binary files a/static/img/workflow/input-1.png and b/static/img/workflow/input-1.png differ diff --git a/static/img/workflow/note.png b/static/img/workflow/note.png new file mode 100644 index 0000000000000000000000000000000000000000..443ecf4f3dc944938636919e2ce235477386241a Binary files /dev/null and b/static/img/workflow/note.png differ diff --git a/static/img/workflow/note1.png b/static/img/workflow/note1.png new file mode 100644 index 0000000000000000000000000000000000000000..44a261924715ea124db1c680ed9ca0a632fbfefa Binary files /dev/null and b/static/img/workflow/note1.png differ diff --git a/static/img/workflow/output.png b/static/img/workflow/output.png index f01b648905490efaae7f81413e9fabcb0909446f..e0e25cee7651029dcc8de446f9758461092c4924 100644 Binary files a/static/img/workflow/output.png and b/static/img/workflow/output.png differ diff --git a/static/img/workflow/step-6.png b/static/img/workflow/step-6.png index 9468ba24c9bd57cbb3808add8ccd8034b59ef385..0abaacbafeaa5415a7d92d705870e653ab534e0c 100644 Binary files a/static/img/workflow/step-6.png and b/static/img/workflow/step-6.png differ diff --git a/yarn.lock b/yarn.lock index 53a26fa71392af7a16094a41445a14bebc4add24..36243b244c02c69e155e1138047613bfe8a74b15 100644 --- a/yarn.lock +++ b/yarn.lock @@ -29,145 +29,136 @@ resolved "https://registry.npmmirror.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8" integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ== -"@algolia/client-abtesting@5.32.0": - version "5.32.0" - resolved "https://registry.npmmirror.com/@algolia/client-abtesting/-/client-abtesting-5.32.0.tgz#b9ce496665c5385ef09d2297e280381c78598e9d" - integrity sha512-HG/6Eib6DnJYm/B2ijWFXr4txca/YOuA4K7AsEU0JBrOZSB+RU7oeDyNBPi3c0v0UDDqlkBqM3vBU/auwZlglA== - dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" - -"@algolia/client-analytics@5.32.0": - version "5.32.0" - resolved "https://registry.npmmirror.com/@algolia/client-analytics/-/client-analytics-5.32.0.tgz#844ae80626bdaa1b5a1750b538db585734ec70ee" - integrity sha512-8Y9MLU72WFQOW3HArYv16+Wvm6eGmsqbxxM1qxtm0hvSASJbxCm+zQAZe5stqysTlcWo4BJ82KEH1PfgHbJAmQ== - dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" - -"@algolia/client-common@5.32.0": - version "5.32.0" - resolved "https://registry.npmmirror.com/@algolia/client-common/-/client-common-5.32.0.tgz#468b36d0ee7c9c64bafc62099475a1889d032196" - integrity sha512-w8L+rgyXMCPBKmEdOT+RfgMrF0mT6HK60vPYWLz8DBs/P7yFdGo7urn99XCJvVLMSKXrIbZ2FMZ/i50nZTXnuQ== - -"@algolia/client-insights@5.32.0": - version "5.32.0" - resolved "https://registry.npmmirror.com/@algolia/client-insights/-/client-insights-5.32.0.tgz#18c4011a782b8ab8bb73af5afbc8aca1a16474d7" - integrity sha512-AdWfynhUeX7jz/LTiFU3wwzJembTbdLkQIOLs4n7PyBuxZ3jz4azV1CWbIP8AjUOFmul6uXbmYza+KqyS5CzOA== - dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" - -"@algolia/client-personalization@5.32.0": - version "5.32.0" - resolved "https://registry.npmmirror.com/@algolia/client-personalization/-/client-personalization-5.32.0.tgz#3b3fd95f8c437ed5becfa4ec97f3c3b8396d5a20" - integrity sha512-bTupJY4xzGZYI4cEQcPlSjjIEzMvv80h7zXGrXY1Y0KC/n/SLiMv84v7Uy+B6AG1Kiy9FQm2ADChBLo1uEhGtQ== - dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" - -"@algolia/client-query-suggestions@5.32.0": - version "5.32.0" - resolved "https://registry.npmmirror.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.32.0.tgz#4582f47f120da89029d3511818342c0a90a22f62" - integrity sha512-if+YTJw1G3nDKL2omSBjQltCHUQzbaHADkcPQrGFnIGhVyHU3Dzq4g46uEv8mrL5sxL8FjiS9LvekeUlL2NRqw== - dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" - -"@algolia/client-search@5.32.0": - version "5.32.0" - resolved "https://registry.npmmirror.com/@algolia/client-search/-/client-search-5.32.0.tgz#0e3b4775bf98e9215b683d598d0fce2d94b7b062" - integrity sha512-kmK5nVkKb4DSUgwbveMKe4X3xHdMsPsOVJeEzBvFJ+oS7CkBPmpfHAEq+CcmiPJs20YMv6yVtUT9yPWL5WgAhg== - dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" +"@algolia/client-abtesting@5.34.0": + version "5.34.0" + resolved "https://registry.npmmirror.com/@algolia/client-abtesting/-/client-abtesting-5.34.0.tgz#1b7162c76cb77179a114d34efd76b0078ba2cab3" + integrity sha512-d6ardhDtQsnMpyr/rPrS3YuIE9NYpY4rftkC7Ap9tyuhZ/+V3E/LH+9uEewPguKzVqduApdwJzYq2k+vAXVEbQ== + dependencies: + "@algolia/client-common" "5.34.0" + "@algolia/requester-browser-xhr" "5.34.0" + "@algolia/requester-fetch" "5.34.0" + "@algolia/requester-node-http" "5.34.0" + +"@algolia/client-analytics@5.34.0": + version "5.34.0" + resolved "https://registry.npmmirror.com/@algolia/client-analytics/-/client-analytics-5.34.0.tgz#1eb5c5cfdf4be62f5a71600c9e04e71d7a742dc5" + integrity sha512-WXIByjHNA106JO1Dj6b4viSX/yMN3oIB4qXr2MmyEmNq0MgfuPfPw8ayLRIZPa9Dp27hvM3G8MWJ4RG978HYFw== + dependencies: + "@algolia/client-common" "5.34.0" + "@algolia/requester-browser-xhr" "5.34.0" + "@algolia/requester-fetch" "5.34.0" + "@algolia/requester-node-http" "5.34.0" + +"@algolia/client-common@5.34.0": + version "5.34.0" + resolved "https://registry.npmmirror.com/@algolia/client-common/-/client-common-5.34.0.tgz#c617f62d73325f2c61bf5ee1c122f385f66fc117" + integrity sha512-JeN1XJLZIkkv6yK0KT93CIXXk+cDPUGNg5xeH4fN9ZykYFDWYRyqgaDo+qvg4RXC3WWkdQ+hogQuuCk4Y3Eotw== + +"@algolia/client-insights@5.34.0": + version "5.34.0" + resolved "https://registry.npmmirror.com/@algolia/client-insights/-/client-insights-5.34.0.tgz#5623db7c926e1e600dd5b8e6f76ab703b8920eb7" + integrity sha512-gdFlcQa+TWXJUsihHDlreFWniKPFIQ15i5oynCY4m9K3DCex5g5cVj9VG4Hsquxf2t6Y0yv8w6MvVTGDO8oRLw== + dependencies: + "@algolia/client-common" "5.34.0" + "@algolia/requester-browser-xhr" "5.34.0" + "@algolia/requester-fetch" "5.34.0" + "@algolia/requester-node-http" "5.34.0" + +"@algolia/client-personalization@5.34.0": + version "5.34.0" + resolved "https://registry.npmmirror.com/@algolia/client-personalization/-/client-personalization-5.34.0.tgz#e9e8d8af7ff74ab1c72fed259da0c916ada88719" + integrity sha512-g91NHhIZDkh1IUeNtsUd8V/ZxuBc2ByOfDqhCkoQY3Z/mZszhpn3Czn6AR5pE81fx793vMaiOZvQVB5QttArkQ== + dependencies: + "@algolia/client-common" "5.34.0" + "@algolia/requester-browser-xhr" "5.34.0" + "@algolia/requester-fetch" "5.34.0" + "@algolia/requester-node-http" "5.34.0" + +"@algolia/client-query-suggestions@5.34.0": + version "5.34.0" + resolved "https://registry.npmmirror.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.34.0.tgz#50fdd06c47d949c315590806dba33b549e300365" + integrity sha512-cvRApDfFrlJ3Vcn37U4Nd/7S6T8cx7FW3mVLJPqkkzixv8DQ/yV+x4VLirxOtGDdq3KohcIbIGWbg1QuyOZRvQ== + dependencies: + "@algolia/client-common" "5.34.0" + "@algolia/requester-browser-xhr" "5.34.0" + "@algolia/requester-fetch" "5.34.0" + "@algolia/requester-node-http" "5.34.0" + +"@algolia/client-search@5.34.0": + version "5.34.0" + resolved "https://registry.npmmirror.com/@algolia/client-search/-/client-search-5.34.0.tgz#44867a0b0be7103d4d72601b7dd534bad6fe6d6d" + integrity sha512-m9tK4IqJmn+flEPRtuxuHgiHmrKV0su5fuVwVpq8/es4DMjWMgX1a7Lg1PktvO8AbKaTp9kTtBAPnwXpuCwmEg== + dependencies: + "@algolia/client-common" "5.34.0" + "@algolia/requester-browser-xhr" "5.34.0" + "@algolia/requester-fetch" "5.34.0" + "@algolia/requester-node-http" "5.34.0" "@algolia/events@^4.0.1": version "4.0.1" - resolved "https://registry.npmmirror.com/@algolia/events/-/events-4.0.1.tgz" + resolved "https://registry.npmmirror.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/ingestion@1.32.0": - version "1.32.0" - resolved "https://registry.npmmirror.com/@algolia/ingestion/-/ingestion-1.32.0.tgz#4ab08b4c72205c8727dfafeefc4651a07ea2ed9d" - integrity sha512-PZTqjJbx+fmPuT2ud1n4vYDSF1yrT//vOGI9HNYKNA0PM0xGUBWigf5gRivHsXa3oBnUlTyHV9j7Kqx5BHbVHQ== +"@algolia/ingestion@1.34.0": + version "1.34.0" + resolved "https://registry.npmmirror.com/@algolia/ingestion/-/ingestion-1.34.0.tgz#393e20c4948f304349230de7cdfd4be5ce6efe93" + integrity sha512-2rxy4XoeRtIpzxEh5u5UgDC5HY4XbNdjzNgFx1eDrfFkSHpEVjirtLhISMy2N5uSFqYu1uUby5/NC1Soq8J7iw== dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" + "@algolia/client-common" "5.34.0" + "@algolia/requester-browser-xhr" "5.34.0" + "@algolia/requester-fetch" "5.34.0" + "@algolia/requester-node-http" "5.34.0" -"@algolia/monitoring@1.32.0": - version "1.32.0" - resolved "https://registry.npmmirror.com/@algolia/monitoring/-/monitoring-1.32.0.tgz#6c9343081184e40c3bf0a4c01b96ac3d8c0c2190" - integrity sha512-kYYoOGjvNQAmHDS1v5sBj+0uEL9RzYqH/TAdq8wmcV+/22weKt/fjh+6LfiqkS1SCZFYYrwGnirrUhUM36lBIQ== +"@algolia/monitoring@1.34.0": + version "1.34.0" + resolved "https://registry.npmmirror.com/@algolia/monitoring/-/monitoring-1.34.0.tgz#f163560f660195e028b02a81e4bc3475cf001225" + integrity sha512-OJiDhlJX8ZdWAndc50Z6aUEW/YmnhFK2ul3rahMw5/c9Damh7+oY9SufoK2LimJejy+65Qka06YPG29v2G/vww== dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" + "@algolia/client-common" "5.34.0" + "@algolia/requester-browser-xhr" "5.34.0" + "@algolia/requester-fetch" "5.34.0" + "@algolia/requester-node-http" "5.34.0" -"@algolia/recommend@5.32.0": - version "5.32.0" - resolved "https://registry.npmmirror.com/@algolia/recommend/-/recommend-5.32.0.tgz#fb508fc35bc0ad2f549fe520e4961733081f334c" - integrity sha512-jyIBLdskjPAL7T1g57UMfUNx+PzvYbxKslwRUKBrBA6sNEsYCFdxJAtZSLUMmw6MC98RDt4ksmEl5zVMT5bsuw== +"@algolia/recommend@5.34.0": + version "5.34.0" + resolved "https://registry.npmmirror.com/@algolia/recommend/-/recommend-5.34.0.tgz#5adec4b49c32612309204e9f17f9180c6e4e1da9" + integrity sha512-fzNQZAdVxu/Gnbavy8KW5gurApwdYcPW6+pjO7Pw8V5drCR3eSqnOxSvp79rhscDX8ezwqMqqK4F3Hsq+KpRzg== dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" + "@algolia/client-common" "5.34.0" + "@algolia/requester-browser-xhr" "5.34.0" + "@algolia/requester-fetch" "5.34.0" + "@algolia/requester-node-http" "5.34.0" -"@algolia/requester-browser-xhr@5.32.0": - version "5.32.0" - resolved "https://registry.npmmirror.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.32.0.tgz#17617ec3b1ec304f9ff43f7eee482766aa7b49e0" - integrity sha512-eDp14z92Gt6JlFgiexImcWWH+Lk07s/FtxcoDaGrE4UVBgpwqOO6AfQM6dXh1pvHxlDFbMJihHc/vj3gBhPjqQ== +"@algolia/requester-browser-xhr@5.34.0": + version "5.34.0" + resolved "https://registry.npmmirror.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.34.0.tgz#3882e55907d6a3cf7160aef5b6743be398b88c57" + integrity sha512-gEI0xjzA/xvMpEdYmgQnf6AQKllhgKRtnEWmwDrnct+YPIruEHlx1dd7nRJTy/33MiYcCxkB4khXpNrHuqgp3Q== dependencies: - "@algolia/client-common" "5.32.0" + "@algolia/client-common" "5.34.0" -"@algolia/requester-fetch@5.32.0": - version "5.32.0" - resolved "https://registry.npmmirror.com/@algolia/requester-fetch/-/requester-fetch-5.32.0.tgz#4d388574c0cce3edcd430d915c136d94c6ea0d4b" - integrity sha512-rnWVglh/K75hnaLbwSc2t7gCkbq1ldbPgeIKDUiEJxZ4mlguFgcltWjzpDQ/t1LQgxk9HdIFcQfM17Hid3aQ6Q== +"@algolia/requester-fetch@5.34.0": + version "5.34.0" + resolved "https://registry.npmmirror.com/@algolia/requester-fetch/-/requester-fetch-5.34.0.tgz#bda378f9e5d70d7516d15478a5a7123eaf62afb0" + integrity sha512-5SwGOttpbACT4jXzfSJ3mnTcF46SVNSnZ1JjxC3qBa3qKi4U0CJGzuVVy3L798u8dG5H0SZ2MAB5v7180Gnqew== dependencies: - "@algolia/client-common" "5.32.0" + "@algolia/client-common" "5.34.0" -"@algolia/requester-node-http@5.32.0": - version "5.32.0" - resolved "https://registry.npmmirror.com/@algolia/requester-node-http/-/requester-node-http-5.32.0.tgz#ef7d878e62c30d97e7588ad05752bb080f52a90e" - integrity sha512-LbzQ04+VLkzXY4LuOzgyjqEv/46Gwrk55PldaglMJ4i4eDXSRXGKkwJpXFwsoU+c1HMQlHIyjJBhrfsfdyRmyQ== +"@algolia/requester-node-http@5.34.0": + version "5.34.0" + resolved "https://registry.npmmirror.com/@algolia/requester-node-http/-/requester-node-http-5.34.0.tgz#047bf7f7027c2d94752da55d60d2a3f6d38d12c3" + integrity sha512-409XlyIyEXrxyGjWxd0q5RASizHSRVUU0AXPCEdqnbcGEzbCgL1n7oYI8YxzE/RqZLha+PNwWCcTVn7EE5tyyQ== dependencies: - "@algolia/client-common" "5.32.0" + "@algolia/client-common" "5.34.0" "@ampproject/remapping@^2.2.0": version "2.3.0" - resolved "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz" + resolved "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== dependencies: "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.26.2": - version "7.26.2" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz" - integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== - dependencies: - "@babel/helper-validator-identifier" "^7.25.9" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/code-frame@^7.27.1": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== @@ -176,38 +167,12 @@ js-tokens "^4.0.0" picocolors "^1.1.1" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.7", "@babel/compat-data@^7.26.8": - version "7.26.8" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz" - integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== - "@babel/compat-data@^7.27.2", "@babel/compat-data@^7.27.7", "@babel/compat-data@^7.28.0": version "7.28.0" resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.28.0.tgz#9fc6fd58c2a6a15243cd13983224968392070790" integrity sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw== -"@babel/core@^7.21.3": - version "7.26.10" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz" - integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.10" - "@babel/helper-compilation-targets" "^7.26.5" - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helpers" "^7.26.10" - "@babel/parser" "^7.26.10" - "@babel/template" "^7.26.9" - "@babel/traverse" "^7.26.10" - "@babel/types" "^7.26.10" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/core@^7.25.9": +"@babel/core@^7.21.3", "@babel/core@^7.25.9": version "7.28.0" resolved "https://registry.npmmirror.com/@babel/core/-/core-7.28.0.tgz#55dad808d5bf3445a108eefc88ea3fdf034749a4" integrity sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ== @@ -239,24 +204,6 @@ "@jridgewell/trace-mapping" "^0.3.28" jsesc "^3.0.2" -"@babel/generator@^7.26.10", "@babel/generator@^7.27.0": - version "7.27.0" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz" - integrity sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw== - dependencies: - "@babel/parser" "^7.27.0" - "@babel/types" "^7.27.0" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" - -"@babel/helper-annotate-as-pure@^7.22.5", "@babel/helper-annotate-as-pure@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz" - integrity sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg== - dependencies: - "@babel/types" "^7.24.7" - "@babel/helper-annotate-as-pure@^7.27.1", "@babel/helper-annotate-as-pure@^7.27.3": version "7.27.3" resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz#f31fd86b915fc4daf1f3ac6976c59be7084ed9c5" @@ -264,25 +211,6 @@ dependencies: "@babel/types" "^7.27.3" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz" - integrity sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.26.5": - version "7.27.0" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz" - integrity sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA== - dependencies: - "@babel/compat-data" "^7.26.8" - "@babel/helper-validator-option" "^7.25.9" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - "@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2": version "7.27.2" resolved "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" @@ -294,21 +222,6 @@ lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz" - integrity sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-member-expression-to-functions" "^7.24.7" - "@babel/helper-optimise-call-expression" "^7.24.7" - "@babel/helper-replace-supers" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" - semver "^6.3.1" - "@babel/helper-create-class-features-plugin@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz#5bee4262a6ea5ddc852d0806199eb17ca3de9281" @@ -322,25 +235,7 @@ "@babel/traverse" "^7.27.1" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6": - version "7.22.15" - resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz" - integrity sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - regexpu-core "^5.3.1" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.27.1": +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz#05b0882d97ba1d4d03519e4bce615d70afa18c53" integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ== @@ -349,17 +244,6 @@ regexpu-core "^6.2.0" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.1": - version "0.6.1" - resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz" - integrity sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - "@babel/helper-define-polyfill-provider@^0.6.5": version "0.6.5" resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz#742ccf1cb003c07b48859fc9fa2c1bbe40e5f753" @@ -371,41 +255,11 @@ lodash.debounce "^4.0.8" resolve "^1.22.10" -"@babel/helper-environment-visitor@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz" - integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-function-name@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz" - integrity sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA== - dependencies: - "@babel/template" "^7.24.7" - "@babel/types" "^7.24.7" - "@babel/helper-globals@^7.28.0": version "7.28.0" resolved "https://registry.npmmirror.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== -"@babel/helper-hoist-variables@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz" - integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-member-expression-to-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz" - integrity sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - "@babel/helper-member-expression-to-functions@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz#ea1211276be93e798ce19037da6f06fbb994fa44" @@ -414,14 +268,6 @@ "@babel/traverse" "^7.27.1" "@babel/types" "^7.27.1" -"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.7", "@babel/helper-module-imports@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz" - integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - "@babel/helper-module-imports@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" @@ -430,15 +276,6 @@ "@babel/traverse" "^7.27.1" "@babel/types" "^7.27.1" -"@babel/helper-module-transforms@^7.24.7", "@babel/helper-module-transforms@^7.26.0": - version "7.26.0" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz" - integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.27.3": version "7.27.3" resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz#db0bbcfba5802f9ef7870705a7ef8788508ede02" @@ -448,13 +285,6 @@ "@babel/helper-validator-identifier" "^7.27.1" "@babel/traverse" "^7.27.3" -"@babel/helper-optimise-call-expression@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz" - integrity sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A== - dependencies: - "@babel/types" "^7.24.7" - "@babel/helper-optimise-call-expression@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200" @@ -462,30 +292,11 @@ dependencies: "@babel/types" "^7.27.1" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.24.0" - resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" - integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== - -"@babel/helper-plugin-utils@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz" - integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== - -"@babel/helper-plugin-utils@^7.27.1": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== -"@babel/helper-remap-async-to-generator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz" - integrity sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-wrap-function" "^7.24.7" - "@babel/helper-remap-async-to-generator@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6" @@ -495,15 +306,6 @@ "@babel/helper-wrap-function" "^7.27.1" "@babel/traverse" "^7.27.1" -"@babel/helper-replace-supers@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz" - integrity sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg== - dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-member-expression-to-functions" "^7.24.7" - "@babel/helper-optimise-call-expression" "^7.24.7" - "@babel/helper-replace-supers@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0" @@ -513,22 +315,6 @@ "@babel/helper-optimise-call-expression" "^7.27.1" "@babel/traverse" "^7.27.1" -"@babel/helper-simple-access@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz" - integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-skip-transparent-expression-wrappers@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz" - integrity sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56" @@ -537,53 +323,21 @@ "@babel/traverse" "^7.27.1" "@babel/types" "^7.27.1" -"@babel/helper-split-export-declaration@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz" - integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-string-parser@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz" - integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== - "@babel/helper-string-parser@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== -"@babel/helper-validator-identifier@^7.24.7", "@babel/helper-validator-identifier@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz" - integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== - "@babel/helper-validator-identifier@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== -"@babel/helper-validator-option@^7.23.5", "@babel/helper-validator-option@^7.24.7", "@babel/helper-validator-option@^7.25.9": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz" - integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== - "@babel/helper-validator-option@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== -"@babel/helper-wrap-function@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz" - integrity sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw== - dependencies: - "@babel/helper-function-name" "^7.24.7" - "@babel/template" "^7.24.7" - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - "@babel/helper-wrap-function@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz#b88285009c31427af318d4fe37651cd62a142409" @@ -593,14 +347,6 @@ "@babel/traverse" "^7.27.1" "@babel/types" "^7.27.1" -"@babel/helpers@^7.26.10": - version "7.27.0" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz" - integrity sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg== - dependencies: - "@babel/template" "^7.27.0" - "@babel/types" "^7.27.0" - "@babel/helpers@^7.27.6": version "7.27.6" resolved "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.27.6.tgz#6456fed15b2cb669d2d1fabe84b66b34991d812c" @@ -609,13 +355,6 @@ "@babel/template" "^7.27.2" "@babel/types" "^7.27.6" -"@babel/parser@^7.26.10", "@babel/parser@^7.27.0": - version "7.27.0" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz" - integrity sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg== - dependencies: - "@babel/types" "^7.27.0" - "@babel/parser@^7.27.2", "@babel/parser@^7.28.0": version "7.28.0" resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.28.0.tgz#979829fbab51a29e13901e5a80713dbcb840825e" @@ -623,14 +362,6 @@ dependencies: "@babel/types" "^7.28.0" -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz" - integrity sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ== - dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz#61dd8a8e61f7eb568268d1b5f129da3eee364bf9" @@ -646,13 +377,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz" - integrity sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz#beb623bd573b8b6f3047bd04c32506adc3e58a72" @@ -660,15 +384,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz" - integrity sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz#e134a5479eb2ba9c02714e8c1ebf1ec9076124fd" @@ -678,14 +393,6 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" "@babel/plugin-transform-optional-chaining" "^7.27.1" -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz" - integrity sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg== - dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz#bb1c25af34d75115ce229a1de7fa44bf8f955670" @@ -696,51 +403,16 @@ "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz" - integrity sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-import-assertions@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz#88894aefd2b03b5ee6ad1562a7c8e1587496aecd" @@ -748,13 +420,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-import-attributes@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz" - integrity sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-import-attributes@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" @@ -762,34 +427,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.23.3": - version "7.24.1" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz" - integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-jsx@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz" - integrity sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-jsx@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" @@ -797,69 +434,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz" - integrity sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-typescript@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18" @@ -869,19 +443,12 @@ "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz" - integrity sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-arrow-functions@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a" @@ -889,16 +456,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-async-generator-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz" - integrity sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g== - dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-remap-async-to-generator" "^7.24.7" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-transform-async-generator-functions@^7.28.0": version "7.28.0" resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz#1276e6c7285ab2cd1eccb0bc7356b7a69ff842c2" @@ -908,15 +465,6 @@ "@babel/helper-remap-async-to-generator" "^7.27.1" "@babel/traverse" "^7.28.0" -"@babel/plugin-transform-async-to-generator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz" - integrity sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA== - dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-remap-async-to-generator" "^7.24.7" - "@babel/plugin-transform-async-to-generator@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz#9a93893b9379b39466c74474f55af03de78c66e7" @@ -926,13 +474,6 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/helper-remap-async-to-generator" "^7.27.1" -"@babel/plugin-transform-block-scoped-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz" - integrity sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-block-scoped-functions@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9" @@ -940,13 +481,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-block-scoping@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz" - integrity sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-block-scoping@^7.28.0": version "7.28.0" resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz#e7c50cbacc18034f210b93defa89638666099451" @@ -954,14 +488,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-class-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz" - integrity sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-class-properties@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz#dd40a6a370dfd49d32362ae206ddaf2bb082a925" @@ -970,15 +496,6 @@ "@babel/helper-create-class-features-plugin" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-class-static-block@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz" - integrity sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-transform-class-static-block@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz#7e920d5625b25bbccd3061aefbcc05805ed56ce4" @@ -987,20 +504,6 @@ "@babel/helper-create-class-features-plugin" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-classes@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz" - integrity sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-replace-supers" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" - globals "^11.1.0" - "@babel/plugin-transform-classes@^7.28.0": version "7.28.0" resolved "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.0.tgz#12fa46cffc32a6e084011b650539e880add8a0f8" @@ -1013,14 +516,6 @@ "@babel/helper-replace-supers" "^7.27.1" "@babel/traverse" "^7.28.0" -"@babel/plugin-transform-computed-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz" - integrity sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/template" "^7.24.7" - "@babel/plugin-transform-computed-properties@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz#81662e78bf5e734a97982c2b7f0a793288ef3caa" @@ -1029,13 +524,6 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/template" "^7.27.1" -"@babel/plugin-transform-destructuring@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz" - integrity sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-destructuring@^7.28.0": version "7.28.0" resolved "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz#0f156588f69c596089b7d5b06f5af83d9aa7f97a" @@ -1044,14 +532,6 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/traverse" "^7.28.0" -"@babel/plugin-transform-dotall-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz" - integrity sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-dotall-regex@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz#aa6821de864c528b1fecf286f0a174e38e826f4d" @@ -1060,13 +540,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-duplicate-keys@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz" - integrity sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-duplicate-keys@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1" @@ -1082,14 +555,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-dynamic-import@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz" - integrity sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-transform-dynamic-import@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz#4c78f35552ac0e06aa1f6e3c573d67695e8af5a4" @@ -1105,14 +570,6 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-destructuring" "^7.28.0" -"@babel/plugin-transform-exponentiation-operator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz" - integrity sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-exponentiation-operator@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz#fc497b12d8277e559747f5a3ed868dd8064f83e1" @@ -1120,14 +577,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-export-namespace-from@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz" - integrity sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-transform-export-namespace-from@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz#71ca69d3471edd6daa711cf4dfc3400415df9c23" @@ -1135,14 +584,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-for-of@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz" - integrity sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/plugin-transform-for-of@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a" @@ -1151,15 +592,6 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-function-name@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz" - integrity sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w== - dependencies: - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-function-name@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7" @@ -1169,14 +601,6 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-json-strings@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz" - integrity sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-transform-json-strings@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz#a2e0ce6ef256376bd527f290da023983527a4f4c" @@ -1184,13 +608,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz" - integrity sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-literals@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24" @@ -1198,14 +615,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-logical-assignment-operators@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz" - integrity sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-transform-logical-assignment-operators@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz#890cb20e0270e0e5bebe3f025b434841c32d5baa" @@ -1213,13 +622,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-member-expression-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz" - integrity sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-member-expression-literals@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz#37b88ba594d852418e99536f5612f795f23aeaf9" @@ -1227,14 +629,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-amd@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz" - integrity sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg== - dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-modules-amd@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f" @@ -1243,15 +637,6 @@ "@babel/helper-module-transforms" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-commonjs@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz" - integrity sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ== - dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" - "@babel/plugin-transform-modules-commonjs@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832" @@ -1260,16 +645,6 @@ "@babel/helper-module-transforms" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-systemjs@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz" - integrity sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw== - dependencies: - "@babel/helper-hoist-variables" "^7.24.7" - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/plugin-transform-modules-systemjs@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz#00e05b61863070d0f3292a00126c16c0e024c4ed" @@ -1280,14 +655,6 @@ "@babel/helper-validator-identifier" "^7.27.1" "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-modules-umd@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz" - integrity sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A== - dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-modules-umd@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334" @@ -1296,14 +663,6 @@ "@babel/helper-module-transforms" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-named-capturing-groups-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz" - integrity sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-named-capturing-groups-regex@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz#f32b8f7818d8fc0cc46ee20a8ef75f071af976e1" @@ -1312,13 +671,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-new-target@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz" - integrity sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-new-target@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb" @@ -1326,14 +678,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-nullish-coalescing-operator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz" - integrity sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-transform-nullish-coalescing-operator@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz#4f9d3153bf6782d73dd42785a9d22d03197bc91d" @@ -1341,14 +685,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-numeric-separator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz" - integrity sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-transform-numeric-separator@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz#614e0b15cc800e5997dadd9bd6ea524ed6c819c6" @@ -1356,16 +692,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-object-rest-spread@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz" - integrity sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q== - dependencies: - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.24.7" - "@babel/plugin-transform-object-rest-spread@^7.28.0": version "7.28.0" resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz#d23021857ffd7cd809f54d624299b8086402ed8d" @@ -1377,14 +703,6 @@ "@babel/plugin-transform-parameters" "^7.27.7" "@babel/traverse" "^7.28.0" -"@babel/plugin-transform-object-super@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz" - integrity sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-replace-supers" "^7.24.7" - "@babel/plugin-transform-object-super@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5" @@ -1393,14 +711,6 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/helper-replace-supers" "^7.27.1" -"@babel/plugin-transform-optional-catch-binding@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz" - integrity sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-transform-optional-catch-binding@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz#84c7341ebde35ccd36b137e9e45866825072a30c" @@ -1408,15 +718,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-optional-chaining@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz" - integrity sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-transform-optional-chaining@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz#874ce3c4f06b7780592e946026eb76a32830454f" @@ -1425,13 +726,6 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-parameters@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz" - integrity sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-parameters@^7.27.7": version "7.27.7" resolved "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz#1fd2febb7c74e7d21cf3b05f7aebc907940af53a" @@ -1439,14 +733,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-private-methods@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz" - integrity sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-private-methods@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz#fdacbab1c5ed81ec70dfdbb8b213d65da148b6af" @@ -1455,16 +741,6 @@ "@babel/helper-create-class-features-plugin" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-private-property-in-object@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz" - integrity sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-transform-private-property-in-object@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz#4dbbef283b5b2f01a21e81e299f76e35f900fb11" @@ -1474,13 +750,6 @@ "@babel/helper-create-class-features-plugin" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-property-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz" - integrity sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-property-literals@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz#07eafd618800591e88073a0af1b940d9a42c6424" @@ -1489,18 +758,11 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-react-constant-elements@^7.21.3": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.7.tgz" - integrity sha512-7LidzZfUXyfZ8/buRW6qIIHBY8wAZ1OrY9c/wTr8YhZ6vMPo+Uc/CVFLYY1spZrEQlD4w5u8wjqk5NQ3OVqQKA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-react-display-name@^7.24.1": - version "7.24.1" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz" - integrity sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw== + version "7.27.1" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz#6c6b50424e749a6e48afd14cf7b92f98cb9383f9" + integrity sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-react-display-name@^7.27.1": version "7.28.0" @@ -1509,13 +771,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-react-jsx-development@^7.22.5": - version "7.22.5" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz" - integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.22.5" - "@babel/plugin-transform-react-jsx-development@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz#47ff95940e20a3a70e68ad3d4fcb657b647f6c98" @@ -1523,17 +778,6 @@ dependencies: "@babel/plugin-transform-react-jsx" "^7.27.1" -"@babel/plugin-transform-react-jsx@^7.22.5", "@babel/plugin-transform-react-jsx@^7.23.4": - version "7.23.4" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz" - integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/types" "^7.23.4" - "@babel/plugin-transform-react-jsx@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz#1023bc94b78b0a2d68c82b5e96aed573bcfb9db0" @@ -1545,14 +789,6 @@ "@babel/plugin-syntax-jsx" "^7.27.1" "@babel/types" "^7.27.1" -"@babel/plugin-transform-react-pure-annotations@^7.24.1": - version "7.24.1" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz" - integrity sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-transform-react-pure-annotations@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz#339f1ce355eae242e0649f232b1c68907c02e879" @@ -1561,18 +797,10 @@ "@babel/helper-annotate-as-pure" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-regenerator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz" - integrity sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - regenerator-transform "^0.15.2" - "@babel/plugin-transform-regenerator@^7.28.0": - version "7.28.0" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.0.tgz#f19ca3558f7121924fc4ba6cd2afe3a5cdac89b1" - integrity sha512-LOAozRVbqxEVjSKfhGnuLoE4Kz4Oc5UJzuvFUhSsQzdCdaAQu06mG8zDv2GFSerM62nImUZ7K92vxnQcLSDlCQ== + version "7.28.1" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.1.tgz#bde80603442ff4bb4e910bc8b35485295d556ab1" + integrity sha512-P0QiV/taaa3kXpLY+sXla5zec4E+4t4Aqc9ggHlfZ7a2cp8/x/Gv08jfwEtn9gnnYIMvHx6aoOZ8XJL8eU71Dg== dependencies: "@babel/helper-plugin-utils" "^7.27.1" @@ -1584,13 +812,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-reserved-words@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz" - integrity sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-reserved-words@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz#40fba4878ccbd1c56605a4479a3a891ac0274bb4" @@ -1610,13 +831,6 @@ babel-plugin-polyfill-regenerator "^0.6.5" semver "^6.3.1" -"@babel/plugin-transform-shorthand-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz" - integrity sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-shorthand-properties@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90" @@ -1624,14 +838,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-spread@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz" - integrity sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/plugin-transform-spread@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz#1a264d5fc12750918f50e3fe3e24e437178abb08" @@ -1640,13 +846,6 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-sticky-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz" - integrity sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-sticky-regex@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280" @@ -1654,13 +853,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-template-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz" - integrity sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-template-literals@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8" @@ -1668,13 +860,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-typeof-symbol@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz" - integrity sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-typeof-symbol@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369" @@ -1682,16 +867,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-typescript@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz" - integrity sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-typescript" "^7.24.7" - "@babel/plugin-transform-typescript@^7.27.1": version "7.28.0" resolved "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz#796cbd249ab56c18168b49e3e1d341b72af04a6b" @@ -1703,13 +878,6 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" "@babel/plugin-syntax-typescript" "^7.27.1" -"@babel/plugin-transform-unicode-escapes@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz" - integrity sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-unicode-escapes@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806" @@ -1717,14 +885,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-unicode-property-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz" - integrity sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-unicode-property-regex@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz#bdfe2d3170c78c5691a3c3be934c8c0087525956" @@ -1733,14 +893,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-unicode-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz" - integrity sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-unicode-regex@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97" @@ -1749,14 +901,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-unicode-sets-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz" - integrity sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-transform-unicode-sets-regex@^7.27.1": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz#6ab706d10f801b5c72da8bb2548561fa04193cd1" @@ -1765,94 +909,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/preset-env@^7.20.2": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.24.7.tgz" - integrity sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ== - dependencies: - "@babel/compat-data" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-validator-option" "^7.24.7" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.7" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.24.7" - "@babel/plugin-syntax-import-attributes" "^7.24.7" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.24.7" - "@babel/plugin-transform-async-generator-functions" "^7.24.7" - "@babel/plugin-transform-async-to-generator" "^7.24.7" - "@babel/plugin-transform-block-scoped-functions" "^7.24.7" - "@babel/plugin-transform-block-scoping" "^7.24.7" - "@babel/plugin-transform-class-properties" "^7.24.7" - "@babel/plugin-transform-class-static-block" "^7.24.7" - "@babel/plugin-transform-classes" "^7.24.7" - "@babel/plugin-transform-computed-properties" "^7.24.7" - "@babel/plugin-transform-destructuring" "^7.24.7" - "@babel/plugin-transform-dotall-regex" "^7.24.7" - "@babel/plugin-transform-duplicate-keys" "^7.24.7" - "@babel/plugin-transform-dynamic-import" "^7.24.7" - "@babel/plugin-transform-exponentiation-operator" "^7.24.7" - "@babel/plugin-transform-export-namespace-from" "^7.24.7" - "@babel/plugin-transform-for-of" "^7.24.7" - "@babel/plugin-transform-function-name" "^7.24.7" - "@babel/plugin-transform-json-strings" "^7.24.7" - "@babel/plugin-transform-literals" "^7.24.7" - "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" - "@babel/plugin-transform-member-expression-literals" "^7.24.7" - "@babel/plugin-transform-modules-amd" "^7.24.7" - "@babel/plugin-transform-modules-commonjs" "^7.24.7" - "@babel/plugin-transform-modules-systemjs" "^7.24.7" - "@babel/plugin-transform-modules-umd" "^7.24.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" - "@babel/plugin-transform-new-target" "^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7" - "@babel/plugin-transform-numeric-separator" "^7.24.7" - "@babel/plugin-transform-object-rest-spread" "^7.24.7" - "@babel/plugin-transform-object-super" "^7.24.7" - "@babel/plugin-transform-optional-catch-binding" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.7" - "@babel/plugin-transform-parameters" "^7.24.7" - "@babel/plugin-transform-private-methods" "^7.24.7" - "@babel/plugin-transform-private-property-in-object" "^7.24.7" - "@babel/plugin-transform-property-literals" "^7.24.7" - "@babel/plugin-transform-regenerator" "^7.24.7" - "@babel/plugin-transform-reserved-words" "^7.24.7" - "@babel/plugin-transform-shorthand-properties" "^7.24.7" - "@babel/plugin-transform-spread" "^7.24.7" - "@babel/plugin-transform-sticky-regex" "^7.24.7" - "@babel/plugin-transform-template-literals" "^7.24.7" - "@babel/plugin-transform-typeof-symbol" "^7.24.7" - "@babel/plugin-transform-unicode-escapes" "^7.24.7" - "@babel/plugin-transform-unicode-property-regex" "^7.24.7" - "@babel/plugin-transform-unicode-regex" "^7.24.7" - "@babel/plugin-transform-unicode-sets-regex" "^7.24.7" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.4" - babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.31.0" - semver "^6.3.1" - -"@babel/preset-env@^7.25.9": +"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.25.9": version "7.28.0" resolved "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.28.0.tgz#d23a6bc17b43227d11db77081a0779c706b5569c" integrity sha512-VmaxeGOwuDqzLl5JUkIRM1X2Qu2uKGxHEQWh+cvvbl7JuJRgKGJSfsEF/bUaxFhJl/XAyxBe7q7qSuTbKFuCyg== @@ -1930,26 +987,14 @@ "@babel/preset-modules@0.1.6-no-external-plugins": version "0.1.6-no-external-plugins" - resolved "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" + resolved "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.18.6": - version "7.24.1" - resolved "https://registry.npmmirror.com/@babel/preset-react/-/preset-react-7.24.1.tgz" - integrity sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-transform-react-display-name" "^7.24.1" - "@babel/plugin-transform-react-jsx" "^7.23.4" - "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.24.1" - -"@babel/preset-react@^7.25.9": +"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.25.9": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/preset-react/-/preset-react-7.27.1.tgz#86ea0a5ca3984663f744be2fd26cb6747c3fd0ec" integrity sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA== @@ -1961,18 +1006,7 @@ "@babel/plugin-transform-react-jsx-development" "^7.27.1" "@babel/plugin-transform-react-pure-annotations" "^7.27.1" -"@babel/preset-typescript@^7.21.0": - version "7.24.7" - resolved "https://registry.npmmirror.com/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz" - integrity sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-validator-option" "^7.24.7" - "@babel/plugin-syntax-jsx" "^7.24.7" - "@babel/plugin-transform-modules-commonjs" "^7.24.7" - "@babel/plugin-transform-typescript" "^7.24.7" - -"@babel/preset-typescript@^7.25.9": +"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.25.9": version "7.27.1" resolved "https://registry.npmmirror.com/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz#190742a6428d282306648a55b0529b561484f912" integrity sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ== @@ -1983,11 +1017,6 @@ "@babel/plugin-transform-modules-commonjs" "^7.27.1" "@babel/plugin-transform-typescript" "^7.27.1" -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - "@babel/runtime-corejs3@^7.25.9": version "7.28.0" resolved "https://registry.npmmirror.com/@babel/runtime-corejs3/-/runtime-corejs3-7.28.0.tgz#4d9938897f5a9aaa9e5f99408a4bf86daba40ec1" @@ -1995,27 +1024,11 @@ dependencies: core-js-pure "^3.43.0" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4": - version "7.24.1" - resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.1.tgz" - integrity sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/runtime@^7.25.9": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.25.9": version "7.27.6" resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.27.6.tgz#ec4070a04d76bae8ddbb10770ba55714a417b7c6" integrity sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q== -"@babel/template@^7.24.7", "@babel/template@^7.26.9", "@babel/template@^7.27.0": - version "7.27.0" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz" - integrity sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/parser" "^7.27.0" - "@babel/types" "^7.27.0" - "@babel/template@^7.27.1", "@babel/template@^7.27.2": version "7.27.2" resolved "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" @@ -2025,20 +1038,7 @@ "@babel/parser" "^7.27.2" "@babel/types" "^7.27.1" -"@babel/traverse@^7.24.7", "@babel/traverse@^7.25.9", "@babel/traverse@^7.26.10": - version "7.27.0" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz" - integrity sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.27.0" - "@babel/parser" "^7.27.0" - "@babel/template" "^7.27.0" - "@babel/types" "^7.27.0" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.28.0": +"@babel/traverse@^7.25.9", "@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.28.0": version "7.28.0" resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.0.tgz#518aa113359b062042379e333db18380b537e34b" integrity sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg== @@ -2051,25 +1051,17 @@ "@babel/types" "^7.28.0" debug "^4.3.1" -"@babel/types@^7.21.3", "@babel/types@^7.23.4", "@babel/types@^7.24.7", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.27.0", "@babel/types@^7.4.4": - version "7.27.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz" - integrity sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - -"@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.27.6", "@babel/types@^7.28.0": - version "7.28.0" - resolved "https://registry.npmmirror.com/@babel/types/-/types-7.28.0.tgz#2fd0159a6dc7353933920c43136335a9b264d950" - integrity sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg== +"@babel/types@^7.21.3", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.27.6", "@babel/types@^7.28.0", "@babel/types@^7.4.4": + version "7.28.1" + resolved "https://registry.npmmirror.com/@babel/types/-/types-7.28.1.tgz#2aaf3c10b31ba03a77ac84f52b3912a0edef4cf9" + integrity sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ== dependencies: "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.27.1" "@colors/colors@1.5.0": version "1.5.0" - resolved "https://registry.npmmirror.com/@colors/colors/-/colors-1.5.0.tgz" + resolved "https://registry.npmmirror.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== "@csstools/cascade-layer-name-parser@^2.0.5": @@ -2407,7 +1399,7 @@ "@discoveryjs/json-ext@0.5.7": version "0.5.7" - resolved "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" + resolved "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== "@docsearch/css@3.9.0": @@ -2609,7 +1601,7 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-docs@3.8.1": +"@docusaurus/plugin-content-docs@3.8.1", "@docusaurus/plugin-content-docs@^2 || ^3": version "3.8.1" resolved "https://registry.npmmirror.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.8.1.tgz#40686a206abb6373bee5638de100a2c312f112a4" integrity sha512-oByRkSZzeGNQByCMaX+kif5Nl2vmtj2IHQI2fWjCfCootsdKZDPFLonhIp5s3IGJO7PLUfe0POyw0Xh/RrGXJA== @@ -2823,7 +1815,7 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@3.8.1": +"@docusaurus/theme-translations@3.8.1", "@docusaurus/theme-translations@^2 || ^3": version "3.8.1" resolved "https://registry.npmmirror.com/@docusaurus/theme-translations/-/theme-translations-3.8.1.tgz#4b1d76973eb53861e167c7723485e059ba4ffd0a" integrity sha512-OTp6eebuMcf2rJt4bqnvuwmm3NVXfzfYejL+u/Y1qwKhZPrjPoKWfk1CbOP5xH5ZOPkiAsx4dHdQBRJszK3z2g== @@ -2851,7 +1843,7 @@ webpack "^5.95.0" webpack-merge "^5.9.0" -"@docusaurus/utils-common@3.8.1": +"@docusaurus/utils-common@3.8.1", "@docusaurus/utils-common@^2 || ^3": version "3.8.1" resolved "https://registry.npmmirror.com/@docusaurus/utils-common/-/utils-common-3.8.1.tgz#c369b8c3041afb7dcd595d4172beb1cc1015c85f" integrity sha512-zTZiDlvpvoJIrQEEd71c154DkcriBecm4z94OzEE9kz7ikS3J+iSlABhFXM45mZ0eN5pVqqr7cs60+ZlYLewtg== @@ -2859,7 +1851,7 @@ "@docusaurus/types" "3.8.1" tslib "^2.6.0" -"@docusaurus/utils-validation@3.8.1": +"@docusaurus/utils-validation@3.8.1", "@docusaurus/utils-validation@^2 || ^3": version "3.8.1" resolved "https://registry.npmmirror.com/@docusaurus/utils-validation/-/utils-validation-3.8.1.tgz#0499c0d151a4098a0963237057993282cfbd538e" integrity sha512-gs5bXIccxzEbyVecvxg6upTwaUbfa0KMmTj7HhHzc016AGyxH2o73k1/aOD0IFrdCsfJNt37MqNI47s2MgRZMA== @@ -2873,7 +1865,7 @@ lodash "^4.17.21" tslib "^2.6.0" -"@docusaurus/utils@3.8.1": +"@docusaurus/utils@3.8.1", "@docusaurus/utils@^2 || ^3": version "3.8.1" resolved "https://registry.npmmirror.com/@docusaurus/utils/-/utils-3.8.1.tgz#2ac1e734106e2f73dbd0f6a8824d525f9064e9f0" integrity sha512-P1ml0nvOmEFdmu0smSXOqTS1sxU5tqvnc0dA4MTKV39kye+bhQnjkIKEE18fNOvxjyB86k8esoCIFM3x4RykOQ== @@ -2900,28 +1892,81 @@ utility-types "^3.10.0" webpack "^5.88.1" +"@easyops-cn/autocomplete.js@^0.38.1": + version "0.38.1" + resolved "https://registry.npmmirror.com/@easyops-cn/autocomplete.js/-/autocomplete.js-0.38.1.tgz#46dff5795a9a032fa9b9250fdf63ca6c61c07629" + integrity sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q== + dependencies: + cssesc "^3.0.0" + immediate "^3.2.3" + +"@easyops-cn/docusaurus-search-local@^0.52.1": + version "0.52.1" + resolved "https://registry.npmmirror.com/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.52.1.tgz#b2ba5007472ec9d30572228fc1368f03a4404dbb" + integrity sha512-pwfANjTLOQyAPc2Iz93WbG4OQM5C4COCWARbLAs79FIpIS38gHq3PrbDIX8f7oDhGQp1u6f8fr3K3u3+yZXZTA== + dependencies: + "@docusaurus/plugin-content-docs" "^2 || ^3" + "@docusaurus/theme-translations" "^2 || ^3" + "@docusaurus/utils" "^2 || ^3" + "@docusaurus/utils-common" "^2 || ^3" + "@docusaurus/utils-validation" "^2 || ^3" + "@easyops-cn/autocomplete.js" "^0.38.1" + "@node-rs/jieba" "^1.6.0" + cheerio "^1.0.0" + clsx "^2.1.1" + comlink "^4.4.2" + debug "^4.2.0" + fs-extra "^10.0.0" + klaw-sync "^6.0.0" + lunr "^2.3.9" + lunr-languages "^1.4.0" + mark.js "^8.11.1" + tslib "^2.4.0" + +"@emnapi/core@^1.4.3": + version "1.4.5" + resolved "https://registry.npmmirror.com/@emnapi/core/-/core-1.4.5.tgz#bfbb0cbbbb9f96ec4e2c4fd917b7bbe5495ceccb" + integrity sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q== + dependencies: + "@emnapi/wasi-threads" "1.0.4" + tslib "^2.4.0" + +"@emnapi/runtime@^1.4.3": + version "1.4.5" + resolved "https://registry.npmmirror.com/@emnapi/runtime/-/runtime-1.4.5.tgz#c67710d0661070f38418b6474584f159de38aba9" + integrity sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg== + dependencies: + tslib "^2.4.0" + +"@emnapi/wasi-threads@1.0.4": + version "1.0.4" + resolved "https://registry.npmmirror.com/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz#703fc094d969e273b1b71c292523b2f792862bf4" + integrity sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g== + dependencies: + tslib "^2.4.0" + "@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": version "9.3.0" - resolved "https://registry.npmmirror.com/@hapi/hoek/-/hoek-9.3.0.tgz" + resolved "https://registry.npmmirror.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== "@hapi/topo@^5.1.0": version "5.1.0" - resolved "https://registry.npmmirror.com/@hapi/topo/-/topo-5.1.0.tgz" + resolved "https://registry.npmmirror.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== dependencies: "@hapi/hoek" "^9.0.0" "@jest/schemas@^29.6.3": version "29.6.3" - resolved "https://registry.npmmirror.com/@jest/schemas/-/schemas-29.6.3.tgz" + resolved "https://registry.npmmirror.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== dependencies: "@sinclair/typebox" "^0.27.8" "@jest/types@^29.6.3": version "29.6.3" - resolved "https://registry.npmmirror.com/@jest/types/-/types-29.6.3.tgz" + resolved "https://registry.npmmirror.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== dependencies: "@jest/schemas" "^29.6.3" @@ -2931,7 +1976,7 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jridgewell/gen-mapping@^0.3.12": +"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": version "0.3.12" resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz#2234ce26c62889f03db3d7fea43c1932ab3e927b" integrity sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg== @@ -2939,52 +1984,25 @@ "@jridgewell/sourcemap-codec" "^1.5.0" "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" - resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - "@jridgewell/source-map@^0.3.3": - version "0.3.6" - resolved "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz" - integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== + version "0.3.10" + resolved "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.10.tgz#a35714446a2e84503ff9bfe66f1d1d4846f2075b" + integrity sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q== dependencies: "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/sourcemap-codec@^1.5.0": +"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": version "1.5.4" resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz#7358043433b2e5da569aa02cbc4c121da3af27d7" integrity sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw== -"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@jridgewell/trace-mapping@^0.3.28": +"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28": version "0.3.29" resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz#a58d31eaadaf92c6695680b2e1d464a9b8fbf7fc" integrity sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ== @@ -2994,13 +2012,13 @@ "@leichtgewicht/ip-codec@^2.0.1": version "2.0.5" - resolved "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz" + resolved "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== "@mdx-js/mdx@^3.0.0": - version "3.0.1" - resolved "https://registry.npmmirror.com/@mdx-js/mdx/-/mdx-3.0.1.tgz" - integrity sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA== + version "3.1.0" + resolved "https://registry.npmmirror.com/@mdx-js/mdx/-/mdx-3.1.0.tgz#10235cab8ad7d356c262e8c21c68df5850a97dc3" + integrity sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw== dependencies: "@types/estree" "^1.0.0" "@types/estree-jsx" "^1.0.0" @@ -3008,14 +2026,15 @@ "@types/mdx" "^2.0.0" collapse-white-space "^2.0.0" devlop "^1.0.0" - estree-util-build-jsx "^3.0.0" estree-util-is-identifier-name "^3.0.0" - estree-util-to-js "^2.0.0" + estree-util-scope "^1.0.0" estree-walker "^3.0.0" - hast-util-to-estree "^3.0.0" hast-util-to-jsx-runtime "^2.0.0" markdown-extensions "^2.0.0" - periscopic "^3.0.0" + recma-build-jsx "^1.0.0" + recma-jsx "^1.0.0" + recma-stringify "^1.0.0" + rehype-recma "^1.0.0" remark-mdx "^3.0.0" remark-parse "^11.0.0" remark-rehype "^11.0.0" @@ -3027,15 +2046,116 @@ vfile "^6.0.0" "@mdx-js/react@^3.0.0": - version "3.0.1" - resolved "https://registry.npmmirror.com/@mdx-js/react/-/react-3.0.1.tgz" - integrity sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A== + version "3.1.0" + resolved "https://registry.npmmirror.com/@mdx-js/react/-/react-3.1.0.tgz#c4522e335b3897b9a845db1dbdd2f966ae8fb0ed" + integrity sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ== dependencies: "@types/mdx" "^2.0.0" +"@napi-rs/wasm-runtime@^0.2.3": + version "0.2.12" + resolved "https://registry.npmmirror.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz#3e78a8b96e6c33a6c517e1894efbd5385a7cb6f2" + integrity sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ== + dependencies: + "@emnapi/core" "^1.4.3" + "@emnapi/runtime" "^1.4.3" + "@tybys/wasm-util" "^0.10.0" + +"@node-rs/jieba-android-arm-eabi@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-android-arm-eabi/-/jieba-android-arm-eabi-1.10.4.tgz#c8c0be3895f01c86a0138cbb1b2228d0895c6854" + integrity sha512-MhyvW5N3Fwcp385d0rxbCWH42kqDBatQTyP8XbnYbju2+0BO/eTeCCLYj7Agws4pwxn2LtdldXRSKavT7WdzNA== + +"@node-rs/jieba-android-arm64@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-android-arm64/-/jieba-android-arm64-1.10.4.tgz#02bcf7a52d6036983398fa041d50ab73e53e8e03" + integrity sha512-XyDwq5+rQ+Tk55A+FGi6PtJbzf974oqnpyCcCPzwU3QVXJCa2Rr4Lci+fx8oOpU4plT3GuD+chXMYLsXipMgJA== + +"@node-rs/jieba-darwin-arm64@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-darwin-arm64/-/jieba-darwin-arm64-1.10.4.tgz#2f39e7f21d1f01afe06fb4c5deeb7ac098f7870c" + integrity sha512-G++RYEJ2jo0rxF9626KUy90wp06TRUjAsvY/BrIzEOX/ingQYV/HjwQzNPRR1P1o32a6/U8RGo7zEBhfdybL6w== + +"@node-rs/jieba-darwin-x64@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-darwin-x64/-/jieba-darwin-x64-1.10.4.tgz#c3d007962f5b247c3a8a0707dd393ee71f840ea6" + integrity sha512-MmDNeOb2TXIZCPyWCi2upQnZpPjAxw5ZGEj6R8kNsPXVFALHIKMa6ZZ15LCOkSTsKXVC17j2t4h+hSuyYb6qfQ== + +"@node-rs/jieba-freebsd-x64@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-freebsd-x64/-/jieba-freebsd-x64-1.10.4.tgz#5ab23591604f4a256f6bad1e4230faeac5220a0d" + integrity sha512-/x7aVQ8nqUWhpXU92RZqd333cq639i/olNpd9Z5hdlyyV5/B65LLy+Je2B2bfs62PVVm5QXRpeBcZqaHelp/bg== + +"@node-rs/jieba-linux-arm-gnueabihf@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-linux-arm-gnueabihf/-/jieba-linux-arm-gnueabihf-1.10.4.tgz#415237af704f9bbd10742995f02f779679a840b1" + integrity sha512-crd2M35oJBRLkoESs0O6QO3BBbhpv+tqXuKsqhIG94B1d02RVxtRIvSDwO33QurxqSdvN9IeSnVpHbDGkuXm3g== + +"@node-rs/jieba-linux-arm64-gnu@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-linux-arm64-gnu/-/jieba-linux-arm64-gnu-1.10.4.tgz#3e9debcc6c903852a28df9caa3d004cb08bc9299" + integrity sha512-omIzNX1psUzPcsdnUhGU6oHeOaTCuCjUgOA/v/DGkvWC1jLcnfXe4vdYbtXMh4XOCuIgS1UCcvZEc8vQLXFbXQ== + +"@node-rs/jieba-linux-arm64-musl@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-linux-arm64-musl/-/jieba-linux-arm64-musl-1.10.4.tgz#faf11579a7cc3f798780819403b1fb34a0360d9e" + integrity sha512-Y/tiJ1+HeS5nnmLbZOE+66LbsPOHZ/PUckAYVeLlQfpygLEpLYdlh0aPpS5uiaWMjAXYZYdFkpZHhxDmSLpwpw== + +"@node-rs/jieba-linux-x64-gnu@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-linux-x64-gnu/-/jieba-linux-x64-gnu-1.10.4.tgz#05187afe917370ef2607564897ec5979f8e67ca9" + integrity sha512-WZO8ykRJpWGE9MHuZpy1lu3nJluPoeB+fIJJn5CWZ9YTVhNDWoCF4i/7nxz1ntulINYGQ8VVuCU9LD86Mek97g== + +"@node-rs/jieba-linux-x64-musl@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-linux-x64-musl/-/jieba-linux-x64-musl-1.10.4.tgz#d38addcb65de3b6c5e8af4bcdfaf7495bb676534" + integrity sha512-uBBD4S1rGKcgCyAk6VCKatEVQb6EDD5I40v/DxODi5CuZVCANi9m5oee/MQbAoaX7RydA2f0OSCE9/tcwXEwUg== + +"@node-rs/jieba-wasm32-wasi@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-wasm32-wasi/-/jieba-wasm32-wasi-1.10.4.tgz#28662dba21da3fdf7a7904dac19ecffba9244457" + integrity sha512-Y2umiKHjuIJy0uulNDz9SDYHdfq5Hmy7jY5nORO99B4pySKkcrMjpeVrmWXJLIsEKLJwcCXHxz8tjwU5/uhz0A== + dependencies: + "@napi-rs/wasm-runtime" "^0.2.3" + +"@node-rs/jieba-win32-arm64-msvc@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-win32-arm64-msvc/-/jieba-win32-arm64-msvc-1.10.4.tgz#7d8dffe5e54fc9ca0f8fddef93fde72ecc2a4ae4" + integrity sha512-nwMtViFm4hjqhz1it/juQnxpXgqlGltCuWJ02bw70YUDMDlbyTy3grCJPpQQpueeETcALUnTxda8pZuVrLRcBA== + +"@node-rs/jieba-win32-ia32-msvc@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-win32-ia32-msvc/-/jieba-win32-ia32-msvc-1.10.4.tgz#5081fa5e4ca84ba8044f52e0d53d9c07b2ab370b" + integrity sha512-DCAvLx7Z+W4z5oKS+7vUowAJr0uw9JBw8x1Y23Xs/xMA4Em+OOSiaF5/tCJqZUCJ8uC4QeImmgDFiBqGNwxlyA== + +"@node-rs/jieba-win32-x64-msvc@1.10.4": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba-win32-x64-msvc/-/jieba-win32-x64-msvc-1.10.4.tgz#fc325ccea3f7b864965d8cfe2ddd6bf10857f9df" + integrity sha512-+sqemSfS1jjb+Tt7InNbNzrRh1Ua3vProVvC4BZRPg010/leCbGFFiQHpzcPRfpxAXZrzG5Y0YBTsPzN/I4yHQ== + +"@node-rs/jieba@^1.6.0": + version "1.10.4" + resolved "https://registry.npmmirror.com/@node-rs/jieba/-/jieba-1.10.4.tgz#9bc8f7e65bbb968b329c7571086993b55a95ef56" + integrity sha512-GvDgi8MnBiyWd6tksojej8anIx18244NmIOc1ovEw8WKNUejcccLfyu8vj66LWSuoZuKILVtNsOy4jvg3aoxIw== + optionalDependencies: + "@node-rs/jieba-android-arm-eabi" "1.10.4" + "@node-rs/jieba-android-arm64" "1.10.4" + "@node-rs/jieba-darwin-arm64" "1.10.4" + "@node-rs/jieba-darwin-x64" "1.10.4" + "@node-rs/jieba-freebsd-x64" "1.10.4" + "@node-rs/jieba-linux-arm-gnueabihf" "1.10.4" + "@node-rs/jieba-linux-arm64-gnu" "1.10.4" + "@node-rs/jieba-linux-arm64-musl" "1.10.4" + "@node-rs/jieba-linux-x64-gnu" "1.10.4" + "@node-rs/jieba-linux-x64-musl" "1.10.4" + "@node-rs/jieba-wasm32-wasi" "1.10.4" + "@node-rs/jieba-win32-arm64-msvc" "1.10.4" + "@node-rs/jieba-win32-ia32-msvc" "1.10.4" + "@node-rs/jieba-win32-x64-msvc" "1.10.4" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -3043,12 +2163,12 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": version "1.2.8" - resolved "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + resolved "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" @@ -3056,47 +2176,47 @@ "@pnpm/config.env-replace@^1.1.0": version "1.1.0" - resolved "https://registry.npmmirror.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz" + resolved "https://registry.npmmirror.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== "@pnpm/network.ca-file@^1.0.1": version "1.0.2" - resolved "https://registry.npmmirror.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz" + resolved "https://registry.npmmirror.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz#2ab05e09c1af0cdf2fcf5035bea1484e222f7983" integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== dependencies: graceful-fs "4.2.10" "@pnpm/npm-conf@^2.1.0": - version "2.2.2" - resolved "https://registry.npmmirror.com/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz" - integrity sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA== + version "2.3.1" + resolved "https://registry.npmmirror.com/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz#bb375a571a0bd63ab0a23bece33033c683e9b6b0" + integrity sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw== dependencies: "@pnpm/config.env-replace" "^1.1.0" "@pnpm/network.ca-file" "^1.0.1" config-chain "^1.1.11" "@polka/url@^1.0.0-next.24": - version "1.0.0-next.25" - resolved "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.25.tgz" - integrity sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ== + version "1.0.0-next.29" + resolved "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.29.tgz#5a40109a1ab5f84d6fd8fc928b19f367cbe7e7b1" + integrity sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww== "@scalar/docusaurus@0.7.7": version "0.7.7" - resolved "https://registry.npmjs.org/@scalar/docusaurus/-/docusaurus-0.7.7.tgz#e8c8b25c1945866432d7062978d3665911251816" + resolved "https://registry.npmmirror.com/@scalar/docusaurus/-/docusaurus-0.7.7.tgz#e8c8b25c1945866432d7062978d3665911251816" integrity sha512-0SrnPd2kVZVQ1/Ugz7r7R526ba8F/E737zhCkA0jIxpnj6GoSB63C47zcUx2BZkO+j0mUrVawaFuJpv/705B4Q== dependencies: "@scalar/types" "0.2.7" "@scalar/openapi-types@0.3.5": version "0.3.5" - resolved "https://registry.npmjs.org/@scalar/openapi-types/-/openapi-types-0.3.5.tgz#8691db9ffc071dc246462a032fc5f66d09264272" + resolved "https://registry.npmmirror.com/@scalar/openapi-types/-/openapi-types-0.3.5.tgz#8691db9ffc071dc246462a032fc5f66d09264272" integrity sha512-/iTUSJMMHVMIFJngeIjTVtU5lwIMNyEIm25e0XtDV0veW6zmIhLsaH2/nwpIgR1iXVyd/uWMyMrtQW329s3c4w== dependencies: zod "3.24.1" "@scalar/types@0.2.7": version "0.2.7" - resolved "https://registry.npmjs.org/@scalar/types/-/types-0.2.7.tgz#be7f44f14bc33e5733fee3715e7dc35452b38cd8" + resolved "https://registry.npmmirror.com/@scalar/types/-/types-0.2.7.tgz#be7f44f14bc33e5733fee3715e7dc35452b38cd8" integrity sha512-C4sbkqzCeQWYWaOUIQPdVm6g3FhUkcqpVorArApv7WfCEgVn1KLOOYELFMWwCHim2GnrZblVVUPubf0UXjUcLA== dependencies: "@scalar/openapi-types" "0.3.5" @@ -3105,39 +2225,39 @@ "@sideway/address@^4.1.5": version "4.1.5" - resolved "https://registry.npmmirror.com/@sideway/address/-/address-4.1.5.tgz" + resolved "https://registry.npmmirror.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q== dependencies: "@hapi/hoek" "^9.0.0" "@sideway/formula@^3.0.1": version "3.0.1" - resolved "https://registry.npmmirror.com/@sideway/formula/-/formula-3.0.1.tgz" + resolved "https://registry.npmmirror.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== "@sideway/pinpoint@^2.0.0": version "2.0.0" - resolved "https://registry.npmmirror.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" + resolved "https://registry.npmmirror.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== "@sinclair/typebox@^0.27.8": version "0.27.8" - resolved "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.27.8.tgz" + resolved "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== "@sindresorhus/is@^4.6.0": version "4.6.0" - resolved "https://registry.npmmirror.com/@sindresorhus/is/-/is-4.6.0.tgz" + resolved "https://registry.npmmirror.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== "@sindresorhus/is@^5.2.0": version "5.6.0" - resolved "https://registry.npmmirror.com/@sindresorhus/is/-/is-5.6.0.tgz" + resolved "https://registry.npmmirror.com/@sindresorhus/is/-/is-5.6.0.tgz#41dd6093d34652cddb5d5bdeee04eafc33826668" integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== "@slorber/remark-comment@^1.0.0": version "1.0.0" - resolved "https://registry.npmmirror.com/@slorber/remark-comment/-/remark-comment-1.0.0.tgz" + resolved "https://registry.npmmirror.com/@slorber/remark-comment/-/remark-comment-1.0.0.tgz#2a020b3f4579c89dec0361673206c28d67e08f5a" integrity sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA== dependencies: micromark-factory-space "^1.0.0" @@ -3146,47 +2266,47 @@ "@svgr/babel-plugin-add-jsx-attribute@8.0.0": version "8.0.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== "@svgr/babel-plugin-remove-jsx-attribute@8.0.0": version "8.0.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== "@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": version "8.0.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== "@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": version "8.0.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== "@svgr/babel-plugin-svg-dynamic-title@8.0.0": version "8.0.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== "@svgr/babel-plugin-svg-em-dimensions@8.0.0": version "8.0.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== "@svgr/babel-plugin-transform-react-native-svg@8.1.0": version "8.1.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== "@svgr/babel-plugin-transform-svg-component@8.0.0": version "8.0.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== "@svgr/babel-preset@8.1.0": version "8.1.0" - resolved "https://registry.npmmirror.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" @@ -3200,7 +2320,7 @@ "@svgr/core@8.1.0": version "8.1.0" - resolved "https://registry.npmmirror.com/@svgr/core/-/core-8.1.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== dependencies: "@babel/core" "^7.21.3" @@ -3211,7 +2331,7 @@ "@svgr/hast-util-to-babel-ast@8.0.0": version "8.0.0" - resolved "https://registry.npmmirror.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== dependencies: "@babel/types" "^7.21.3" @@ -3219,7 +2339,7 @@ "@svgr/plugin-jsx@8.1.0": version "8.1.0" - resolved "https://registry.npmmirror.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== dependencies: "@babel/core" "^7.21.3" @@ -3229,7 +2349,7 @@ "@svgr/plugin-svgo@8.1.0": version "8.1.0" - resolved "https://registry.npmmirror.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== dependencies: cosmiconfig "^8.1.3" @@ -3238,7 +2358,7 @@ "@svgr/webpack@^8.1.0": version "8.1.0" - resolved "https://registry.npmmirror.com/@svgr/webpack/-/webpack-8.1.0.tgz" + resolved "https://registry.npmmirror.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2" integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== dependencies: "@babel/core" "^7.21.3" @@ -3252,41 +2372,41 @@ "@szmarczak/http-timer@^5.0.1": version "5.0.1" - resolved "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz" + resolved "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== dependencies: defer-to-connect "^2.0.1" "@trysound/sax@0.2.0": version "0.2.0" - resolved "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz" + resolved "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== -"@types/acorn@^4.0.0": - version "4.0.6" - resolved "https://registry.npmmirror.com/@types/acorn/-/acorn-4.0.6.tgz" - integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== +"@tybys/wasm-util@^0.10.0": + version "0.10.0" + resolved "https://registry.npmmirror.com/@tybys/wasm-util/-/wasm-util-0.10.0.tgz#2fd3cd754b94b378734ce17058d0507c45c88369" + integrity sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ== dependencies: - "@types/estree" "*" + tslib "^2.4.0" "@types/body-parser@*": - version "1.19.5" - resolved "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.5.tgz" - integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + version "1.19.6" + resolved "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.6.tgz#1859bebb8fd7dac9918a45d54c1971ab8b5af474" + integrity sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g== dependencies: "@types/connect" "*" "@types/node" "*" "@types/bonjour@^3.5.9": version "3.5.13" - resolved "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.13.tgz" + resolved "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== dependencies: "@types/node" "*" "@types/connect-history-api-fallback@^1.3.5": version "1.5.4" - resolved "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz" + resolved "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== dependencies: "@types/express-serve-static-core" "*" @@ -3294,65 +2414,79 @@ "@types/connect@*": version "3.4.38" - resolved "https://registry.npmmirror.com/@types/connect/-/connect-3.4.38.tgz" + resolved "https://registry.npmmirror.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== dependencies: "@types/node" "*" "@types/debug@^4.0.0": version "4.1.12" - resolved "https://registry.npmmirror.com/@types/debug/-/debug-4.1.12.tgz" + resolved "https://registry.npmmirror.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== dependencies: "@types/ms" "*" -"@types/eslint-scope@^3.7.3", "@types/eslint-scope@^3.7.7": +"@types/eslint-scope@^3.7.7": version "3.7.7" - resolved "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz" + resolved "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.56.6" - resolved "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.6.tgz" - integrity sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A== + version "9.6.1" + resolved "https://registry.npmmirror.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" + integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree-jsx@^1.0.0": version "1.0.5" - resolved "https://registry.npmmirror.com/@types/estree-jsx/-/estree-jsx-1.0.5.tgz" + resolved "https://registry.npmmirror.com/@types/estree-jsx/-/estree-jsx-1.0.5.tgz#858a88ea20f34fe65111f005a689fa1ebf70dc18" integrity sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg== dependencies: "@types/estree" "*" -"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/estree@^1.0.8": +"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.8": version "1.0.8" resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - version "4.17.43" - resolved "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz" - integrity sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg== +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": + version "5.0.7" + resolved "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz#2fa94879c9d46b11a5df4c74ac75befd6b283de6" + integrity sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/send" "*" -"@types/express@*", "@types/express@^4.17.13": - version "4.17.21" - resolved "https://registry.npmmirror.com/@types/express/-/express-4.17.21.tgz" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== +"@types/express-serve-static-core@^4.17.33": + version "4.19.6" + resolved "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz#e01324c2a024ff367d92c66f48553ced0ab50267" + integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*": + version "5.0.3" + resolved "https://registry.npmmirror.com/@types/express/-/express-5.0.3.tgz#6c4bc6acddc2e2a587142e1d8be0bce20757e956" + integrity sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^5.0.0" + "@types/serve-static" "*" + +"@types/express@^4.17.13": + version "4.17.23" + resolved "https://registry.npmmirror.com/@types/express/-/express-4.17.23.tgz#35af3193c640bfd4d7fe77191cd0ed411a433bef" + integrity sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.33" @@ -3361,138 +2495,126 @@ "@types/gtag.js@^0.0.12": version "0.0.12" - resolved "https://registry.npmmirror.com/@types/gtag.js/-/gtag.js-0.0.12.tgz" + resolved "https://registry.npmmirror.com/@types/gtag.js/-/gtag.js-0.0.12.tgz#095122edca896689bdfcdd73b057e23064d23572" integrity sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg== "@types/hast@^3.0.0": version "3.0.4" - resolved "https://registry.npmmirror.com/@types/hast/-/hast-3.0.4.tgz" + resolved "https://registry.npmmirror.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== dependencies: "@types/unist" "*" "@types/history@^4.7.11": version "4.7.11" - resolved "https://registry.npmmirror.com/@types/history/-/history-4.7.11.tgz" + resolved "https://registry.npmmirror.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== "@types/html-minifier-terser@^6.0.0": version "6.1.0" - resolved "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + resolved "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== "@types/http-cache-semantics@^4.0.2": version "4.0.4" - resolved "https://registry.npmmirror.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz" + resolved "https://registry.npmmirror.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== "@types/http-errors@*": - version "2.0.4" - resolved "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.4.tgz" - integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + version "2.0.5" + resolved "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.5.tgz#5b749ab2b16ba113423feb1a64a95dcd30398472" + integrity sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg== "@types/http-proxy@^1.17.8": - version "1.17.14" - resolved "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.14.tgz" - integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + version "1.17.16" + resolved "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.16.tgz#dee360707b35b3cc85afcde89ffeebff7d7f9240" + integrity sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w== dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.6" - resolved "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" + resolved "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== "@types/istanbul-lib-report@*": version "3.0.3" - resolved "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz" + resolved "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": version "3.0.4" - resolved "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz" + resolved "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== dependencies: "@types/istanbul-lib-report" "*" "@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.15" - resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz" + resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/mdast@^4.0.0", "@types/mdast@^4.0.2": - version "4.0.3" - resolved "https://registry.npmmirror.com/@types/mdast/-/mdast-4.0.3.tgz" - integrity sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg== + version "4.0.4" + resolved "https://registry.npmmirror.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6" + integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== dependencies: "@types/unist" "*" "@types/mdx@^2.0.0": - version "2.0.12" - resolved "https://registry.npmmirror.com/@types/mdx/-/mdx-2.0.12.tgz" - integrity sha512-H9VZ9YqE+H28FQVchC83RCs5xQ2J7mAAv6qdDEaWmXEVl3OpdH+xfrSUzQ1lp7U7oSTRZ0RvW08ASPJsYBi7Cw== - -"@types/mime@*": - version "4.0.0" - resolved "https://registry.npmmirror.com/@types/mime/-/mime-4.0.0.tgz" - integrity sha512-5eEkJZ/BLvTE3vXGKkWlyTSUVZuzj23Wj8PoyOq2lt5I3CYbiLBOPb3XmCW6QcuOibIUE6emHXHt9E/F/rCa6w== - dependencies: - mime "*" + version "2.0.13" + resolved "https://registry.npmmirror.com/@types/mdx/-/mdx-2.0.13.tgz#68f6877043d377092890ff5b298152b0a21671bd" + integrity sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw== "@types/mime@^1": version "1.3.5" - resolved "https://registry.npmmirror.com/@types/mime/-/mime-1.3.5.tgz" + resolved "https://registry.npmmirror.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== "@types/ms@*": - version "0.7.34" - resolved "https://registry.npmmirror.com/@types/ms/-/ms-0.7.34.tgz" - integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== + version "2.1.0" + resolved "https://registry.npmmirror.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" + integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== "@types/node-forge@^1.3.0": - version "1.3.11" - resolved "https://registry.npmmirror.com/@types/node-forge/-/node-forge-1.3.11.tgz" - integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + version "1.3.13" + resolved "https://registry.npmmirror.com/@types/node-forge/-/node-forge-1.3.13.tgz#1797af20f7eccaf5f37b4d1739923bb0519d95b6" + integrity sha512-zePQJSW5QkwSHKRApqWCVKeKoSOt4xvEnLENZPjyvm9Ezdf/EyDeJM7jqLzOwjVICQQzvLZ63T55MKdJB5H6ww== dependencies: "@types/node" "*" "@types/node@*": - version "20.12.2" - resolved "https://registry.npmmirror.com/@types/node/-/node-20.12.2.tgz" - integrity sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ== + version "24.1.0" + resolved "https://registry.npmmirror.com/@types/node/-/node-24.1.0.tgz#0993f7dc31ab5cc402d112315b463e383d68a49c" + integrity sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w== dependencies: - undici-types "~5.26.4" + undici-types "~7.8.0" "@types/node@^17.0.5": version "17.0.45" - resolved "https://registry.npmmirror.com/@types/node/-/node-17.0.45.tgz" + resolved "https://registry.npmmirror.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== "@types/prismjs@^1.26.0": - version "1.26.3" - resolved "https://registry.npmmirror.com/@types/prismjs/-/prismjs-1.26.3.tgz" - integrity sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw== - -"@types/prop-types@*": - version "15.7.12" - resolved "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.12.tgz" - integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== + version "1.26.5" + resolved "https://registry.npmmirror.com/@types/prismjs/-/prismjs-1.26.5.tgz#72499abbb4c4ec9982446509d2f14fb8483869d6" + integrity sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ== "@types/qs@*": - version "6.9.14" - resolved "https://registry.npmmirror.com/@types/qs/-/qs-6.9.14.tgz" - integrity sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA== + version "6.14.0" + resolved "https://registry.npmmirror.com/@types/qs/-/qs-6.14.0.tgz#d8b60cecf62f2db0fb68e5e006077b9178b85de5" + integrity sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ== "@types/range-parser@*": version "1.2.7" - resolved "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.7.tgz" + resolved "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== "@types/react-router-config@*", "@types/react-router-config@^5.0.7": version "5.0.11" - resolved "https://registry.npmmirror.com/@types/react-router-config/-/react-router-config-5.0.11.tgz" + resolved "https://registry.npmmirror.com/@types/react-router-config/-/react-router-config-5.0.11.tgz#2761a23acc7905a66a94419ee40294a65aaa483a" integrity sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw== dependencies: "@types/history" "^4.7.11" @@ -3501,7 +2623,7 @@ "@types/react-router-dom@*": version "5.3.3" - resolved "https://registry.npmmirror.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" + resolved "https://registry.npmmirror.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== dependencies: "@types/history" "^4.7.11" @@ -3510,104 +2632,95 @@ "@types/react-router@*", "@types/react-router@^5.1.0": version "5.1.20" - resolved "https://registry.npmmirror.com/@types/react-router/-/react-router-5.1.20.tgz" + resolved "https://registry.npmmirror.com/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== dependencies: "@types/history" "^4.7.11" "@types/react" "*" "@types/react@*": - version "18.2.73" - resolved "https://registry.npmmirror.com/@types/react/-/react-18.2.73.tgz" - integrity sha512-XcGdod0Jjv84HOC7N5ziY3x+qL0AfmubvKOZ9hJjJ2yd5EE+KYjWhdOjt387e9HPheHkdggF9atTifMRtyAaRA== + version "19.1.8" + resolved "https://registry.npmmirror.com/@types/react/-/react-19.1.8.tgz#ff8395f2afb764597265ced15f8dddb0720ae1c3" + integrity sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g== dependencies: - "@types/prop-types" "*" csstype "^3.0.2" "@types/retry@0.12.0": version "0.12.0" - resolved "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz" + resolved "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== "@types/sax@^1.2.1": version "1.2.7" - resolved "https://registry.npmmirror.com/@types/sax/-/sax-1.2.7.tgz" + resolved "https://registry.npmmirror.com/@types/sax/-/sax-1.2.7.tgz#ba5fe7df9aa9c89b6dff7688a19023dd2963091d" integrity sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A== dependencies: "@types/node" "*" "@types/send@*": - version "0.17.4" - resolved "https://registry.npmmirror.com/@types/send/-/send-0.17.4.tgz" - integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + version "0.17.5" + resolved "https://registry.npmmirror.com/@types/send/-/send-0.17.5.tgz#d991d4f2b16f2b1ef497131f00a9114290791e74" + integrity sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w== dependencies: "@types/mime" "^1" "@types/node" "*" "@types/serve-index@^1.9.1": version "1.9.4" - resolved "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.4.tgz" + resolved "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== dependencies: "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.5" - resolved "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.5.tgz" - integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== + version "1.15.8" + resolved "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.8.tgz#8180c3fbe4a70e8f00b9f70b9ba7f08f35987877" + integrity sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg== dependencies: "@types/http-errors" "*" - "@types/mime" "*" "@types/node" "*" + "@types/send" "*" "@types/sockjs@^0.3.33": version "0.3.36" - resolved "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.36.tgz" + resolved "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== dependencies: "@types/node" "*" "@types/unist@*", "@types/unist@^3.0.0": - version "3.0.2" - resolved "https://registry.npmmirror.com/@types/unist/-/unist-3.0.2.tgz" - integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== + version "3.0.3" + resolved "https://registry.npmmirror.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" + integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== "@types/unist@^2.0.0": - version "2.0.10" - resolved "https://registry.npmmirror.com/@types/unist/-/unist-2.0.10.tgz" - integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== + version "2.0.11" + resolved "https://registry.npmmirror.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4" + integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== "@types/ws@^8.5.5": - version "8.5.10" - resolved "https://registry.npmmirror.com/@types/ws/-/ws-8.5.10.tgz" - integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + version "8.18.1" + resolved "https://registry.npmmirror.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9" + integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== dependencies: "@types/node" "*" "@types/yargs-parser@*": version "21.0.3" - resolved "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz" + resolved "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.32.tgz" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + version "17.0.33" + resolved "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== dependencies: "@types/yargs-parser" "*" "@ungap/structured-clone@^1.0.0": - version "1.2.0" - resolved "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": - version "1.12.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.12.1.tgz" - integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + version "1.3.0" + resolved "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" + integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== "@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": version "1.14.1" @@ -3617,45 +2730,21 @@ "@webassemblyjs/helper-numbers" "1.13.2" "@webassemblyjs/helper-wasm-bytecode" "1.13.2" -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - "@webassemblyjs/floating-point-hex-parser@1.13.2": version "1.13.2" resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - "@webassemblyjs/helper-api-error@1.13.2": version "1.13.2" resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== -"@webassemblyjs/helper-buffer@1.12.1": - version "1.12.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz" - integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== - "@webassemblyjs/helper-buffer@1.14.1": version "1.14.1" resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - "@webassemblyjs/helper-numbers@1.13.2": version "1.13.2" resolved "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" @@ -3665,26 +2754,11 @@ "@webassemblyjs/helper-api-error" "1.13.2" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - "@webassemblyjs/helper-wasm-bytecode@1.13.2": version "1.13.2" resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== -"@webassemblyjs/helper-wasm-section@1.12.1": - version "1.12.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz" - integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/helper-wasm-section@1.14.1": version "1.14.1" resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" @@ -3695,13 +2769,6 @@ "@webassemblyjs/helper-wasm-bytecode" "1.13.2" "@webassemblyjs/wasm-gen" "1.14.1" -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - "@webassemblyjs/ieee754@1.13.2": version "1.13.2" resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" @@ -3709,13 +2776,6 @@ dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - "@webassemblyjs/leb128@1.13.2": version "1.13.2" resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" @@ -3723,30 +2783,11 @@ dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - "@webassemblyjs/utf8@1.13.2": version "1.13.2" resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== -"@webassemblyjs/wasm-edit@^1.12.1": - version "1.12.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz" - integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-opt" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wast-printer" "1.12.1" - "@webassemblyjs/wasm-edit@^1.14.1": version "1.14.1" resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" @@ -3761,17 +2802,6 @@ "@webassemblyjs/wasm-parser" "1.14.1" "@webassemblyjs/wast-printer" "1.14.1" -"@webassemblyjs/wasm-gen@1.12.1": - version "1.12.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz" - integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - "@webassemblyjs/wasm-gen@1.14.1": version "1.14.1" resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" @@ -3783,16 +2813,6 @@ "@webassemblyjs/leb128" "1.13.2" "@webassemblyjs/utf8" "1.13.2" -"@webassemblyjs/wasm-opt@1.12.1": - version "1.12.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz" - integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wasm-opt@1.14.1": version "1.14.1" resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" @@ -3803,18 +2823,6 @@ "@webassemblyjs/wasm-gen" "1.14.1" "@webassemblyjs/wasm-parser" "1.14.1" -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": - version "1.12.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz" - integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - "@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": version "1.14.1" resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" @@ -3827,14 +2835,6 @@ "@webassemblyjs/leb128" "1.13.2" "@webassemblyjs/utf8" "1.13.2" -"@webassemblyjs/wast-printer@1.12.1": - version "1.12.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz" - integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@xtuc/long" "4.2.2" - "@webassemblyjs/wast-printer@1.14.1": version "1.14.1" resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" @@ -3845,65 +2845,57 @@ "@xtuc/ieee754@^1.2.0": version "1.2.0" - resolved "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + resolved "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== "@xtuc/long@4.2.2": version "4.2.2" - resolved "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz" + resolved "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== "@yarnpkg/lockfile@^1.1.0": version "1.1.0" - resolved "https://registry.npmmirror.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz" + resolved "https://registry.npmmirror.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: +accepts@~1.3.4, accepts@~1.3.8: version "1.3.8" - resolved "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz" + resolved "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== dependencies: mime-types "~2.1.34" negotiator "0.6.3" -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - acorn-import-phases@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/acorn-import-phases/-/acorn-import-phases-1.0.3.tgz#30394a1dccee5f380aecb8205b8c69b4f7ae688e" - integrity sha512-jtKLnfoOzm28PazuQ4dVBcE9Jeo6ha1GAJvq3N0LlNOszmTfx+wSycBehn+FN0RnyeR77IBxN/qVYMw0Rlj0Xw== + version "1.0.4" + resolved "https://registry.npmmirror.com/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz#16eb850ba99a056cb7cbfe872ffb8972e18c8bd7" + integrity sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ== acorn-jsx@^5.0.0: version "5.3.2" - resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.0.0: - version "8.3.2" - resolved "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.3.2.tgz" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== - -acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: - version "8.11.3" - resolved "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + version "8.3.4" + resolved "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== + dependencies: + acorn "^8.11.0" -acorn@^8.14.0, acorn@^8.15.0: +acorn@^8.0.0, acorn@^8.0.4, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.15.0: version "8.15.0" resolved "https://registry.npmmirror.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== address@^1.0.1: version "1.2.2" - resolved "https://registry.npmmirror.com/address/-/address-1.2.2.tgz" + resolved "https://registry.npmmirror.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== aggregate-error@^3.0.0: version "3.1.0" - resolved "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz" + resolved "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" @@ -3911,26 +2903,26 @@ aggregate-error@^3.0.0: ajv-formats@^2.1.1: version "2.1.1" - resolved "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz" + resolved "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== dependencies: ajv "^8.0.0" ajv-keywords@^3.5.2: version "3.5.2" - resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== ajv-keywords@^5.1.0: version "5.1.0" - resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz" + resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== dependencies: fast-deep-equal "^3.1.3" ajv@^6.12.5: version "6.12.6" - resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz" + resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -3939,14 +2931,14 @@ ajv@^6.12.5: uri-js "^4.2.2" ajv@^8.0.0, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + version "8.17.1" + resolved "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== dependencies: - fast-deep-equal "^3.1.1" + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" - uri-js "^4.2.2" algoliasearch-helper@^3.22.6: version "3.26.0" @@ -3956,27 +2948,27 @@ algoliasearch-helper@^3.22.6: "@algolia/events" "^4.0.1" algoliasearch@^5.14.2, algoliasearch@^5.17.1: - version "5.32.0" - resolved "https://registry.npmmirror.com/algoliasearch/-/algoliasearch-5.32.0.tgz#2b9d17c4592b573146e3a2322a563aef68d473e3" - integrity sha512-84xBncKNPBK8Ae89F65+SyVcOihrIbm/3N7to+GpRBHEUXGjA3ydWTMpcRW6jmFzkBQ/eqYy/y+J+NBpJWYjBg== - dependencies: - "@algolia/client-abtesting" "5.32.0" - "@algolia/client-analytics" "5.32.0" - "@algolia/client-common" "5.32.0" - "@algolia/client-insights" "5.32.0" - "@algolia/client-personalization" "5.32.0" - "@algolia/client-query-suggestions" "5.32.0" - "@algolia/client-search" "5.32.0" - "@algolia/ingestion" "1.32.0" - "@algolia/monitoring" "1.32.0" - "@algolia/recommend" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" + version "5.34.0" + resolved "https://registry.npmmirror.com/algoliasearch/-/algoliasearch-5.34.0.tgz#eb71f52b254059bfe40342ff47a2d3641b93c68b" + integrity sha512-wioVnf/8uuG8Bmywhk5qKIQ3wzCCtmdvicPRb0fa3kKYGGoewfgDqLEaET1MV2NbTc3WGpPv+AgauLVBp1nB9A== + dependencies: + "@algolia/client-abtesting" "5.34.0" + "@algolia/client-analytics" "5.34.0" + "@algolia/client-common" "5.34.0" + "@algolia/client-insights" "5.34.0" + "@algolia/client-personalization" "5.34.0" + "@algolia/client-query-suggestions" "5.34.0" + "@algolia/client-search" "5.34.0" + "@algolia/ingestion" "1.34.0" + "@algolia/monitoring" "1.34.0" + "@algolia/recommend" "5.34.0" + "@algolia/requester-browser-xhr" "5.34.0" + "@algolia/requester-fetch" "5.34.0" + "@algolia/requester-node-http" "5.34.0" ansi-align@^3.0.1: version "3.0.1" - resolved "https://registry.npmmirror.com/ansi-align/-/ansi-align-3.0.1.tgz" + resolved "https://registry.npmmirror.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== dependencies: string-width "^4.1.0" @@ -3990,34 +2982,34 @@ ansi-escapes@^4.3.2: ansi-html-community@^0.0.8: version "0.0.8" - resolved "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + resolved "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.0.1.tgz" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + version "6.1.0" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz" + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" ansi-styles@^6.1.0: version "6.2.1" - resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz" + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz" + resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" @@ -4025,54 +3017,42 @@ anymatch@~3.1.2: arg@^5.0.0: version "5.0.2" - resolved "https://registry.npmmirror.com/arg/-/arg-5.0.2.tgz" + resolved "https://registry.npmmirror.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== argparse@^1.0.7: version "1.0.10" - resolved "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz" + resolved "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== array-flatten@1.1.1: version "1.1.1" - resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz" + resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz" + resolved "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== astring@^1.8.0: - version "1.8.6" - resolved "https://registry.npmmirror.com/astring/-/astring-1.8.6.tgz" - integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== + version "1.9.0" + resolved "https://registry.npmmirror.com/astring/-/astring-1.9.0.tgz#cc73e6062a7eb03e7d19c22d8b0b3451fd9bfeef" + integrity sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg== at-least-node@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz" + resolved "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -autoprefixer@^10.4.19: - version "10.4.19" - resolved "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.19.tgz" - integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== - dependencies: - browserslist "^4.23.0" - caniuse-lite "^1.0.30001599" - fraction.js "^4.3.7" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -autoprefixer@^10.4.21: +autoprefixer@^10.4.19, autoprefixer@^10.4.21: version "10.4.21" resolved "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.21.tgz#77189468e7a8ad1d9a37fbc08efc9f480cf0a95d" integrity sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ== @@ -4094,20 +3074,11 @@ babel-loader@^9.2.1: babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" - resolved "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + resolved "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== dependencies: object.assign "^4.1.0" -babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.10" - resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz" - integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.1" - semver "^6.3.1" - babel-plugin-polyfill-corejs2@^0.4.14: version "0.4.14" resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz#8101b82b769c568835611542488d463395c2ef8f" @@ -4117,14 +3088,6 @@ babel-plugin-polyfill-corejs2@^0.4.14: "@babel/helper-define-polyfill-provider" "^0.6.5" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.10.4: - version "0.10.4" - resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz" - integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.1" - core-js-compat "^3.36.1" - babel-plugin-polyfill-corejs3@^0.13.0: version "0.13.0" resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz#bb7f6aeef7addff17f7602a08a6d19a128c30164" @@ -4133,13 +3096,6 @@ babel-plugin-polyfill-corejs3@^0.13.0: "@babel/helper-define-polyfill-provider" "^0.6.5" core-js-compat "^3.43.0" -babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.1" - resolved "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz" - integrity sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.1" - babel-plugin-polyfill-regenerator@^0.6.5: version "0.6.5" resolved "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz#32752e38ab6f6767b92650347bf26a31b16ae8c5" @@ -4149,33 +3105,33 @@ babel-plugin-polyfill-regenerator@^0.6.5: bail@^2.0.0: version "2.0.2" - resolved "https://registry.npmmirror.com/bail/-/bail-2.0.2.tgz" + resolved "https://registry.npmmirror.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== batch@0.6.1: version "0.6.1" - resolved "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz" + resolved "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== big.js@^5.2.2: version "5.2.2" - resolved "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz" + resolved "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== binary-extensions@^2.0.0: version "2.3.0" - resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz" + resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -body-parser@1.20.2: - version "1.20.2" - resolved "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.2.tgz" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== +body-parser@1.20.3: + version "1.20.3" + resolved "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== dependencies: bytes "3.1.2" content-type "~1.0.5" @@ -4185,27 +3141,27 @@ body-parser@1.20.2: http-errors "2.0.0" iconv-lite "0.4.24" on-finished "2.4.1" - qs "6.11.0" + qs "6.13.0" raw-body "2.5.2" type-is "~1.6.18" unpipe "1.0.0" bonjour-service@^1.0.11: - version "1.2.1" - resolved "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.2.1.tgz" - integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== + version "1.3.0" + resolved "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.3.0.tgz#80d867430b5a0da64e82a8047fc1e355bdb71722" + integrity sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA== dependencies: fast-deep-equal "^3.1.3" multicast-dns "^7.2.5" boolbase@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz" + resolved "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== boxen@^6.2.1: version "6.2.1" - resolved "https://registry.npmmirror.com/boxen/-/boxen-6.2.1.tgz" + resolved "https://registry.npmmirror.com/boxen/-/boxen-6.2.1.tgz#b098a2278b2cd2845deef2dff2efc38d329b434d" integrity sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw== dependencies: ansi-align "^3.0.1" @@ -4219,7 +3175,7 @@ boxen@^6.2.1: boxen@^7.0.0: version "7.1.1" - resolved "https://registry.npmmirror.com/boxen/-/boxen-7.1.1.tgz" + resolved "https://registry.npmmirror.com/boxen/-/boxen-7.1.1.tgz#f9ba525413c2fec9cdb88987d835c4f7cad9c8f4" integrity sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog== dependencies: ansi-align "^3.0.1" @@ -4232,31 +3188,21 @@ boxen@^7.0.0: wrap-ansi "^8.1.0" brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + version "1.1.12" + resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" + integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" braces@^3.0.3, braces@~3.0.2: version "3.0.3" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" + resolved "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: fill-range "^7.1.1" -browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.23.0, browserslist@^4.24.0: - version "4.24.4" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz" - integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== - dependencies: - caniuse-lite "^1.0.30001688" - electron-to-chromium "^1.5.73" - node-releases "^2.0.19" - update-browserslist-db "^1.1.1" - -browserslist@^4.24.4, browserslist@^4.25.0, browserslist@^4.25.1: +browserslist@^4.0.0, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.24.4, browserslist@^4.25.0, browserslist@^4.25.1: version "4.25.1" resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.25.1.tgz#ba9e8e6f298a1d86f829c9b975e07948967bb111" integrity sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw== @@ -4268,27 +3214,27 @@ browserslist@^4.24.4, browserslist@^4.25.0, browserslist@^4.25.1: buffer-from@^1.0.0: version "1.1.2" - resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz" + resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== bytes@3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz" + resolved "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== bytes@3.1.2: version "3.1.2" - resolved "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz" + resolved "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== cacheable-lookup@^7.0.0: version "7.0.0" - resolved "https://registry.npmmirror.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz" + resolved "https://registry.npmmirror.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz#3476a8215d046e5a3202a9209dd13fec1f933a27" integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== cacheable-request@^10.2.8: version "10.2.14" - resolved "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-10.2.14.tgz" + resolved "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-10.2.14.tgz#eb915b665fda41b79652782df3f553449c406b9d" integrity sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== dependencies: "@types/http-cache-semantics" "^4.0.2" @@ -4299,25 +3245,40 @@ cacheable-request@^10.2.8: normalize-url "^8.0.0" responselike "^3.0.0" -call-bind@^1.0.5, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== dependencies: - es-define-property "^1.0.0" es-errors "^1.3.0" function-bind "^1.1.2" + +call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" get-intrinsic "^1.2.4" - set-function-length "^1.2.1" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz" + resolved "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camel-case@^4.1.2: version "4.1.2" - resolved "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz" + resolved "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== dependencies: pascal-case "^3.1.2" @@ -4325,17 +3286,17 @@ camel-case@^4.1.2: camelcase@^6.2.0: version "6.3.0" - resolved "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz" + resolved "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== camelcase@^7.0.1: version "7.0.1" - resolved "https://registry.npmmirror.com/camelcase/-/camelcase-7.0.1.tgz" + resolved "https://registry.npmmirror.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== caniuse-api@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz" + resolved "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== dependencies: browserslist "^4.0.0" @@ -4343,62 +3304,57 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001688: - version "1.0.30001715" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001715.tgz" - integrity sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw== - -caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.30001726: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.30001726: version "1.0.30001727" resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz#22e9706422ad37aa50556af8c10e40e2d93a8b85" integrity sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q== ccount@^2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz" + resolved "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== chalk@^4.0.0, chalk@^4.1.2: version "4.1.2" - resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" chalk@^5.0.1, chalk@^5.2.0: - version "5.3.0" - resolved "https://registry.npmmirror.com/chalk/-/chalk-5.3.0.tgz" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + version "5.4.1" + resolved "https://registry.npmmirror.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8" + integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== char-regex@^1.0.2: version "1.0.2" - resolved "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz" + resolved "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== character-entities-html4@^2.0.0: version "2.1.0" - resolved "https://registry.npmmirror.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz" + resolved "https://registry.npmmirror.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== character-entities-legacy@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" + resolved "https://registry.npmmirror.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== character-entities@^2.0.0: version "2.0.2" - resolved "https://registry.npmmirror.com/character-entities/-/character-entities-2.0.2.tgz" + resolved "https://registry.npmmirror.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== character-reference-invalid@^2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz" + resolved "https://registry.npmmirror.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== cheerio-select@^2.1.0: version "2.1.0" - resolved "https://registry.npmmirror.com/cheerio-select/-/cheerio-select-2.1.0.tgz" + resolved "https://registry.npmmirror.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== dependencies: boolbase "^1.0.0" @@ -4421,9 +3377,26 @@ cheerio@1.0.0-rc.12: parse5 "^7.0.0" parse5-htmlparser2-tree-adapter "^7.0.0" +cheerio@^1.0.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/cheerio/-/cheerio-1.1.2.tgz#26af77e89336c81c63ea83197f868b4cbd351369" + integrity sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg== + dependencies: + cheerio-select "^2.1.0" + dom-serializer "^2.0.0" + domhandler "^5.0.3" + domutils "^3.2.2" + encoding-sniffer "^0.2.1" + htmlparser2 "^10.0.0" + parse5 "^7.3.0" + parse5-htmlparser2-tree-adapter "^7.1.0" + parse5-parser-stream "^7.1.2" + undici "^7.12.0" + whatwg-mimetype "^4.0.0" + chokidar@^3.5.3: version "3.6.0" - resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz" + resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" @@ -4437,36 +3410,36 @@ chokidar@^3.5.3: fsevents "~2.3.2" chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + version "1.0.4" + resolved "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== ci-info@^3.2.0, ci-info@^3.7.0: version "3.9.0" - resolved "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz" + resolved "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== clean-css@^5.2.2, clean-css@^5.3.3, clean-css@~5.3.2: version "5.3.3" - resolved "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.3.tgz" + resolved "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd" integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== dependencies: source-map "~0.6.0" clean-stack@^2.0.0: version "2.2.0" - resolved "https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz" + resolved "https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== cli-boxes@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/cli-boxes/-/cli-boxes-3.0.0.tgz" + resolved "https://registry.npmmirror.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== cli-table3@^0.6.3: - version "0.6.4" - resolved "https://registry.npmmirror.com/cli-table3/-/cli-table3-0.6.4.tgz" - integrity sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw== + version "0.6.5" + resolved "https://registry.npmmirror.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" + integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== dependencies: string-width "^4.2.0" optionalDependencies: @@ -4474,113 +3447,118 @@ cli-table3@^0.6.3: clone-deep@^4.0.1: version "4.0.1" - resolved "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz" + resolved "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== dependencies: is-plain-object "^2.0.4" kind-of "^6.0.2" shallow-clone "^3.0.0" -clsx@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/clsx/-/clsx-2.1.0.tgz" - integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== +clsx@^2.0.0, clsx@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== collapse-white-space@^2.0.0: version "2.1.0" - resolved "https://registry.npmmirror.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz" + resolved "https://registry.npmmirror.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca" integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz" + resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colord@^2.9.3: version "2.9.3" - resolved "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz" + resolved "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== colorette@^2.0.10: version "2.0.20" - resolved "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz" + resolved "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== combine-promises@^1.1.0: version "1.2.0" - resolved "https://registry.npmmirror.com/combine-promises/-/combine-promises-1.2.0.tgz" + resolved "https://registry.npmmirror.com/combine-promises/-/combine-promises-1.2.0.tgz#5f2e68451862acf85761ded4d9e2af7769c2ca6a" integrity sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ== +comlink@^4.4.2: + version "4.4.2" + resolved "https://registry.npmmirror.com/comlink/-/comlink-4.4.2.tgz#cbbcd82742fbebc06489c28a183eedc5c60a2bca" + integrity sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g== + comma-separated-tokens@^2.0.0: version "2.0.3" - resolved "https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" + resolved "https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== commander@^10.0.0: version "10.0.1" - resolved "https://registry.npmmirror.com/commander/-/commander-10.0.1.tgz" + resolved "https://registry.npmmirror.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== commander@^2.20.0: version "2.20.3" - resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz" + resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^5.1.0: version "5.1.0" - resolved "https://registry.npmmirror.com/commander/-/commander-5.1.0.tgz" + resolved "https://registry.npmmirror.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== commander@^7.2.0: version "7.2.0" - resolved "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz" + resolved "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== commander@^8.3.0: version "8.3.0" - resolved "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz" + resolved "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== common-path-prefix@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz" + resolved "https://registry.npmmirror.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== -compressible@~2.0.16: +compressible@~2.0.18: version "2.0.18" - resolved "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz" + resolved "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== dependencies: mime-db ">= 1.43.0 < 2" compression@^1.7.4: - version "1.7.4" - resolved "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + version "1.8.1" + resolved "https://registry.npmmirror.com/compression/-/compression-1.8.1.tgz#4a45d909ac16509195a9a28bd91094889c180d79" + integrity sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w== dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" + bytes "3.1.2" + compressible "~2.0.18" debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" + negotiator "~0.6.4" + on-headers "~1.1.0" + safe-buffer "5.2.1" vary "~1.1.2" concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz" + resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== config-chain@^1.1.11: version "1.1.13" - resolved "https://registry.npmmirror.com/config-chain/-/config-chain-1.1.13.tgz" + resolved "https://registry.npmmirror.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== dependencies: ini "^1.3.4" @@ -4588,7 +3566,7 @@ config-chain@^1.1.11: configstore@^6.0.0: version "6.0.0" - resolved "https://registry.npmmirror.com/configstore/-/configstore-6.0.0.tgz" + resolved "https://registry.npmmirror.com/configstore/-/configstore-6.0.0.tgz#49eca2ebc80983f77e09394a1a56e0aca8235566" integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA== dependencies: dot-prop "^6.0.1" @@ -4599,7 +3577,7 @@ configstore@^6.0.0: connect-history-api-fallback@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" + resolved "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== consola@^3.2.3: @@ -4609,44 +3587,44 @@ consola@^3.2.3: content-disposition@0.5.2: version "0.5.2" - resolved "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.2.tgz" + resolved "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA== content-disposition@0.5.4: version "0.5.4" - resolved "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz" + resolved "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== dependencies: safe-buffer "5.2.1" content-type@~1.0.4, content-type@~1.0.5: version "1.0.5" - resolved "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz" + resolved "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== convert-source-map@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz" + resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== cookie-signature@1.0.6: version "1.0.6" - resolved "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz" + resolved "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.npmmirror.com/cookie/-/cookie-0.6.0.tgz" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== +cookie@0.7.1: + version "0.7.1" + resolved "https://registry.npmmirror.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9" + integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== copy-text-to-clipboard@^3.2.0: version "3.2.0" - resolved "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz" + resolved "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz#0202b2d9bdae30a49a53f898626dcc3b49ad960b" integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q== copy-webpack-plugin@^11.0.0: version "11.0.0" - resolved "https://registry.npmmirror.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz" + resolved "https://registry.npmmirror.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== dependencies: fast-glob "^3.2.11" @@ -4656,13 +3634,6 @@ copy-webpack-plugin@^11.0.0: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.31.0, core-js-compat@^3.36.1: - version "3.36.1" - resolved "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.36.1.tgz" - integrity sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA== - dependencies: - browserslist "^4.23.0" - core-js-compat@^3.43.0: version "3.44.0" resolved "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.44.0.tgz#62b9165b97e4cbdb8bca16b14818e67428b4a0f8" @@ -4676,18 +3647,18 @@ core-js-pure@^3.43.0: integrity sha512-gvMQAGB4dfVUxpYD0k3Fq8J+n5bB6Ytl15lqlZrOIXFzxOhtPaObfkQGHtMRdyjIf7z2IeNULwi1jEwyS+ltKQ== core-js@^3.31.1: - version "3.36.1" - resolved "https://registry.npmmirror.com/core-js/-/core-js-3.36.1.tgz" - integrity sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA== + version "3.44.0" + resolved "https://registry.npmmirror.com/core-js/-/core-js-3.44.0.tgz#db4fd4fa07933c1d6898c8b112a1119a9336e959" + integrity sha512-aFCtd4l6GvAXwVEh3XbbVqJGHDJt0OZRa+5ePGx3LLwi12WfexqQxcsohb2wgsa/92xtl19Hd66G/L+TaAxDMw== core-util-is@~1.0.0: version "1.0.3" - resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz" + resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: version "8.3.6" - resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz" + resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== dependencies: import-fresh "^3.3.0" @@ -4696,9 +3667,9 @@ cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: path-type "^4.0.0" cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + version "7.0.6" + resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -4706,7 +3677,7 @@ cross-spawn@^7.0.3: crypto-random-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz" + resolved "https://registry.npmmirror.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2" integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== dependencies: type-fest "^1.0.1" @@ -4720,7 +3691,7 @@ css-blank-pseudo@^7.0.1: css-declaration-sorter@^7.2.0: version "7.2.0" - resolved "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz" + resolved "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz#6dec1c9523bc4a643e088aab8f09e67a54961024" integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== css-has-pseudo@^7.0.2: @@ -4748,7 +3719,7 @@ css-loader@^6.11.0: css-minimizer-webpack-plugin@^5.0.1: version "5.0.1" - resolved "https://registry.npmmirror.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz" + resolved "https://registry.npmmirror.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz#33effe662edb1a0bf08ad633c32fa75d0f7ec565" integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== dependencies: "@jridgewell/trace-mapping" "^0.3.18" @@ -4765,7 +3736,7 @@ css-prefers-color-scheme@^10.0.0: css-select@^4.1.3: version "4.3.0" - resolved "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz" + resolved "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== dependencies: boolbase "^1.0.0" @@ -4775,9 +3746,9 @@ css-select@^4.1.3: nth-check "^2.0.1" css-select@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/css-select/-/css-select-5.1.0.tgz" - integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + version "5.2.2" + resolved "https://registry.npmmirror.com/css-select/-/css-select-5.2.2.tgz#01b6e8d163637bb2dd6c982ca4ed65863682786e" + integrity sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw== dependencies: boolbase "^1.0.0" css-what "^6.1.0" @@ -4787,7 +3758,7 @@ css-select@^5.1.0: css-tree@^2.3.1: version "2.3.1" - resolved "https://registry.npmmirror.com/css-tree/-/css-tree-2.3.1.tgz" + resolved "https://registry.npmmirror.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== dependencies: mdn-data "2.0.30" @@ -4795,16 +3766,16 @@ css-tree@^2.3.1: css-tree@~2.2.0: version "2.2.1" - resolved "https://registry.npmmirror.com/css-tree/-/css-tree-2.2.1.tgz" + resolved "https://registry.npmmirror.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== dependencies: mdn-data "2.0.28" source-map-js "^1.0.1" css-what@^6.0.1, css-what@^6.1.0: - version "6.1.0" - resolved "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + version "6.2.2" + resolved "https://registry.npmmirror.com/css-what/-/css-what-6.2.2.tgz#cdcc8f9b6977719fdfbd1de7aec24abf756b9dea" + integrity sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA== cssdb@^8.3.0: version "8.3.1" @@ -4813,12 +3784,12 @@ cssdb@^8.3.0: cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz" + resolved "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== cssnano-preset-advanced@^6.1.2: version "6.1.2" - resolved "https://registry.npmmirror.com/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz" + resolved "https://registry.npmmirror.com/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz#82b090872b8f98c471f681d541c735acf8b94d3f" integrity sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ== dependencies: autoprefixer "^10.4.19" @@ -4831,7 +3802,7 @@ cssnano-preset-advanced@^6.1.2: cssnano-preset-default@^6.1.2: version "6.1.2" - resolved "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz" + resolved "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz#adf4b89b975aa775f2750c89dbaf199bbd9da35e" integrity sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg== dependencies: browserslist "^4.23.0" @@ -4867,12 +3838,12 @@ cssnano-preset-default@^6.1.2: cssnano-utils@^4.0.2: version "4.0.2" - resolved "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-4.0.2.tgz" + resolved "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-4.0.2.tgz#56f61c126cd0f11f2eef1596239d730d9fceff3c" integrity sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ== cssnano@^6.0.1, cssnano@^6.1.2: version "6.1.2" - resolved "https://registry.npmmirror.com/cssnano/-/cssnano-6.1.2.tgz" + resolved "https://registry.npmmirror.com/cssnano/-/cssnano-6.1.2.tgz#4bd19e505bd37ee7cf0dc902d3d869f6d79c66b8" integrity sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA== dependencies: cssnano-preset-default "^6.1.2" @@ -4880,36 +3851,29 @@ cssnano@^6.0.1, cssnano@^6.1.2: csso@^5.0.5: version "5.0.5" - resolved "https://registry.npmmirror.com/csso/-/csso-5.0.5.tgz" + resolved "https://registry.npmmirror.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== dependencies: css-tree "~2.2.0" csstype@^3.0.2: version "3.1.3" - resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz" + resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== debounce@^1.2.1: version "1.2.1" - resolved "https://registry.npmmirror.com/debounce/-/debounce-1.2.1.tgz" + resolved "https://registry.npmmirror.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== debug@2.6.9: version "2.6.9" - resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz" + resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.3.4" - resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^4.4.1: +debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.2.0, debug@^4.3.1, debug@^4.4.1: version "4.4.1" resolved "https://registry.npmmirror.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== @@ -4917,44 +3881,44 @@ debug@^4.4.1: ms "^2.1.3" decode-named-character-reference@^1.0.0: - version "1.0.2" - resolved "https://registry.npmmirror.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" - integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== + version "1.2.0" + resolved "https://registry.npmmirror.com/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz#25c32ae6dd5e21889549d40f676030e9514cc0ed" + integrity sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q== dependencies: character-entities "^2.0.0" decompress-response@^6.0.0: version "6.0.0" - resolved "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz" + resolved "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== dependencies: mimic-response "^3.1.0" deep-extend@^0.6.0: version "0.6.0" - resolved "https://registry.npmmirror.com/deep-extend/-/deep-extend-0.6.0.tgz" + resolved "https://registry.npmmirror.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== deepmerge@^4.0.0, deepmerge@^4.3.1: version "4.3.1" - resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz" + resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== default-gateway@^6.0.3: version "6.0.3" - resolved "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz" + resolved "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== dependencies: execa "^5.0.0" defer-to-connect@^2.0.1: version "2.0.1" - resolved "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz" + resolved "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== define-data-property@^1.0.1, define-data-property@^1.1.4: version "1.1.4" - resolved "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz" + resolved "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== dependencies: es-define-property "^1.0.0" @@ -4963,12 +3927,12 @@ define-data-property@^1.0.1, define-data-property@^1.1.4: define-lazy-prop@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" + resolved "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== define-properties@^1.2.1: version "1.2.1" - resolved "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz" + resolved "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: define-data-property "^1.0.1" @@ -4977,61 +3941,61 @@ define-properties@^1.2.1: depd@2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz" + resolved "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== depd@~1.1.2: version "1.1.2" - resolved "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz" + resolved "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== dequal@^2.0.0: version "2.0.3" - resolved "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz" + resolved "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== destroy@1.2.0: version "1.2.0" - resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz" + resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== detect-node@^2.0.4: version "2.1.0" - resolved "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz" + resolved "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== detect-port@^1.5.1: - version "1.5.1" - resolved "https://registry.npmmirror.com/detect-port/-/detect-port-1.5.1.tgz" - integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== + version "1.6.1" + resolved "https://registry.npmmirror.com/detect-port/-/detect-port-1.6.1.tgz#45e4073997c5f292b957cb678fb0bb8ed4250a67" + integrity sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q== dependencies: address "^1.0.1" debug "4" devlop@^1.0.0, devlop@^1.1.0: version "1.1.0" - resolved "https://registry.npmmirror.com/devlop/-/devlop-1.1.0.tgz" + resolved "https://registry.npmmirror.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== dependencies: dequal "^2.0.0" dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz" + resolved "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" dns-packet@^5.2.2: version "5.6.1" - resolved "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.1.tgz" + resolved "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== dependencies: "@leichtgewicht/ip-codec" "^2.0.1" docusaurus-plugin-image-zoom@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/docusaurus-plugin-image-zoom/-/docusaurus-plugin-image-zoom-2.0.0.tgz" + resolved "https://registry.npmmirror.com/docusaurus-plugin-image-zoom/-/docusaurus-plugin-image-zoom-2.0.0.tgz#961603e5865677500bcd4bc9a8a95ea8188ee540" integrity sha512-TWHQZeoiged+95CESlZk++lihzl3pqw34n0/fbexx2AocmFhbo9K2scYDgYB8amki4/X6mUCLTPZE1pQvT+00Q== dependencies: medium-zoom "^1.0.8" @@ -5039,14 +4003,14 @@ docusaurus-plugin-image-zoom@^2.0.0: dom-converter@^0.2.0: version "0.2.0" - resolved "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz" + resolved "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== dependencies: utila "~0.4" dom-serializer@^1.0.1: version "1.4.1" - resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz" + resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== dependencies: domelementtype "^2.0.1" @@ -5055,7 +4019,7 @@ dom-serializer@^1.0.1: dom-serializer@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz" + resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== dependencies: domelementtype "^2.3.0" @@ -5064,36 +4028,36 @@ dom-serializer@^2.0.0: domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" - resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz" + resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" - resolved "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz" + resolved "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== dependencies: domelementtype "^2.2.0" domhandler@^5.0.2, domhandler@^5.0.3: version "5.0.3" - resolved "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz" + resolved "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== dependencies: domelementtype "^2.3.0" domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" - resolved "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz" + resolved "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" domelementtype "^2.2.0" domhandler "^4.2.0" -domutils@^3.0.1: - version "3.1.0" - resolved "https://registry.npmmirror.com/domutils/-/domutils-3.1.0.tgz" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== +domutils@^3.0.1, domutils@^3.2.1, domutils@^3.2.2: + version "3.2.2" + resolved "https://registry.npmmirror.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78" + integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw== dependencies: dom-serializer "^2.0.0" domelementtype "^2.3.0" @@ -5101,7 +4065,7 @@ domutils@^3.0.1: dot-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz" + resolved "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== dependencies: no-case "^3.0.4" @@ -5109,78 +4073,87 @@ dot-case@^3.0.4: dot-prop@^6.0.1: version "6.0.1" - resolved "https://registry.npmmirror.com/dot-prop/-/dot-prop-6.0.1.tgz" + resolved "https://registry.npmmirror.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== dependencies: is-obj "^2.0.0" dotenv@^16.4.7: - version "16.4.7" - resolved "https://registry.npmmirror.com/dotenv/-/dotenv-16.4.7.tgz" - integrity sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ== + version "16.6.1" + resolved "https://registry.npmmirror.com/dotenv/-/dotenv-16.6.1.tgz#773f0e69527a8315c7285d5ee73c4459d20a8020" + integrity sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow== + +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" duplexer@^0.1.2: version "0.1.2" - resolved "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz" + resolved "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== eastasianwidth@^0.2.0: version "0.2.0" - resolved "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + resolved "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== ee-first@1.1.1: version "1.1.1" - resolved "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz" + resolved "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.5.173: - version "1.5.182" - resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.182.tgz#4ab73104f893938acb3ab9c28d7bec170c116b3e" - integrity sha512-Lv65Btwv9W4J9pyODI6EWpdnhfvrve/us5h1WspW8B2Fb0366REPtY3hX7ounk1CkV/TBjWCEvCBBbYbmV0qCA== - -electron-to-chromium@^1.5.73: - version "1.5.143" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.143.tgz" - integrity sha512-QqklJMOFBMqe46k8iIOwA9l2hz57V2OKMmP5eSWcUvwx+mASAsbU+wkF1pHjn9ZVSBPrsYWr4/W/95y5SwYg2g== + version "1.5.190" + resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.190.tgz#f0ac8be182291a45e8154dbb12f18d2b2318e4ac" + integrity sha512-k4McmnB2091YIsdCgkS0fMVMPOJgxl93ltFzaryXqwip1AaxeDqKCGLxkXODDA5Ab/D+tV5EL5+aTx76RvLRxw== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz" + resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.2: version "9.2.2" - resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz" + resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== emojilib@^2.4.0: version "2.4.0" - resolved "https://registry.npmmirror.com/emojilib/-/emojilib-2.4.0.tgz" + resolved "https://registry.npmmirror.com/emojilib/-/emojilib-2.4.0.tgz#ac518a8bb0d5f76dda57289ccb2fdf9d39ae721e" integrity sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw== emojis-list@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz" + resolved "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== emoticon@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/emoticon/-/emoticon-4.0.1.tgz" - integrity sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw== + version "4.1.0" + resolved "https://registry.npmmirror.com/emoticon/-/emoticon-4.1.0.tgz#d5a156868ee173095627a33de3f1e914c3dde79e" + integrity sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ== encodeurl@~1.0.2: version "1.0.2" - resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz" + resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -enhanced-resolve@^5.16.0: - version "5.16.0" - resolved "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz" - integrity sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA== +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + +encoding-sniffer@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz#396ec97ac22ce5a037ba44af1992ac9d46a7b819" + integrity sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw== dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" + iconv-lite "^0.6.3" + whatwg-encoding "^3.1.1" enhanced-resolve@^5.17.2: version "5.18.2" @@ -5192,71 +4165,101 @@ enhanced-resolve@^5.17.2: entities@^2.0.0: version "2.2.0" - resolved "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz" + resolved "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== entities@^4.2.0, entities@^4.4.0: version "4.5.0" - resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz" + resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== +entities@^6.0.0: + version "6.0.1" + resolved "https://registry.npmmirror.com/entities/-/entities-6.0.1.tgz#c28c34a43379ca7f61d074130b2f5f7020a30694" + integrity sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g== + error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz" + resolved "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== es-errors@^1.3.0: version "1.3.0" - resolved "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz" + resolved "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-module-lexer@^1.2.1: - version "1.5.0" - resolved "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.5.0.tgz" - integrity sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw== + version "1.7.0" + resolved "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" + integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +esast-util-from-estree@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz#8d1cfb51ad534d2f159dc250e604f3478a79f1ad" + integrity sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ== + dependencies: + "@types/estree-jsx" "^1.0.0" + devlop "^1.0.0" + estree-util-visit "^2.0.0" + unist-util-position-from-estree "^2.0.0" + +esast-util-from-js@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz#5147bec34cc9da44accf52f87f239a40ac3e8225" + integrity sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw== + dependencies: + "@types/estree-jsx" "^1.0.0" + acorn "^8.0.0" + esast-util-from-estree "^2.0.0" + vfile-message "^4.0.0" escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" + resolved "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-goat@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/escape-goat/-/escape-goat-4.0.0.tgz" + resolved "https://registry.npmmirror.com/escape-goat/-/escape-goat-4.0.0.tgz#9424820331b510b0666b98f7873fe11ac4aa8081" integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg== escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz" + resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escape-string-regexp@^5.0.0: version "5.0.0" - resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" + resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== eslint-scope@5.1.1: version "5.1.1" - resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz" + resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" @@ -5264,36 +4267,36 @@ eslint-scope@5.1.1: esprima@^4.0.0: version "4.0.1" - resolved "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz" + resolved "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz" + resolved "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1: version "4.3.0" - resolved "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz" + resolved "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.2.0: version "5.3.0" - resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== estree-util-attach-comments@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz" + resolved "https://registry.npmmirror.com/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz#344bde6a64c8a31d15231e5ee9e297566a691c2d" integrity sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw== dependencies: "@types/estree" "^1.0.0" estree-util-build-jsx@^3.0.0: version "3.0.1" - resolved "https://registry.npmmirror.com/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz" + resolved "https://registry.npmmirror.com/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz#b6d0bced1dcc4f06f25cf0ceda2b2dcaf98168f1" integrity sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ== dependencies: "@types/estree-jsx" "^1.0.0" @@ -5303,12 +4306,20 @@ estree-util-build-jsx@^3.0.0: estree-util-is-identifier-name@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz" + resolved "https://registry.npmmirror.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz#0b5ef4c4ff13508b34dcd01ecfa945f61fce5dbd" integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== +estree-util-scope@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/estree-util-scope/-/estree-util-scope-1.0.0.tgz#9cbdfc77f5cb51e3d9ed4ad9c4adbff22d43e585" + integrity sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + estree-util-to-js@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz" + resolved "https://registry.npmmirror.com/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz#10a6fb924814e6abb62becf0d2bc4dea51d04f17" integrity sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg== dependencies: "@types/estree-jsx" "^1.0.0" @@ -5316,16 +4327,15 @@ estree-util-to-js@^2.0.0: source-map "^0.7.0" estree-util-value-to-estree@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz" - integrity sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA== + version "3.4.0" + resolved "https://registry.npmmirror.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.4.0.tgz#827122e40c3a756d3c4cf5d5d296fa06026a1a4f" + integrity sha512-Zlp+gxis+gCfK12d3Srl2PdX2ybsEA8ZYy6vQGVQTNNYLEGRQQ56XB64bjemN8kxIKXP1nC9ip4Z+ILy9LGzvQ== dependencies: "@types/estree" "^1.0.0" - is-plain-obj "^4.0.0" estree-util-visit@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/estree-util-visit/-/estree-util-visit-2.0.0.tgz" + resolved "https://registry.npmmirror.com/estree-util-visit/-/estree-util-visit-2.0.0.tgz#13a9a9f40ff50ed0c022f831ddf4b58d05446feb" integrity sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww== dependencies: "@types/estree-jsx" "^1.0.0" @@ -5333,29 +4343,29 @@ estree-util-visit@^2.0.0: estree-walker@^3.0.0: version "3.0.3" - resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz" + resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== dependencies: "@types/estree" "^1.0.0" esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== eta@^2.2.0: version "2.2.0" - resolved "https://registry.npmmirror.com/eta/-/eta-2.2.0.tgz" + resolved "https://registry.npmmirror.com/eta/-/eta-2.2.0.tgz#eb8b5f8c4e8b6306561a455e62cd7492fe3a9b8a" integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g== etag@~1.8.1: version "1.8.1" - resolved "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz" + resolved "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== eval@^0.1.8: version "0.1.8" - resolved "https://registry.npmmirror.com/eval/-/eval-0.1.8.tgz" + resolved "https://registry.npmmirror.com/eval/-/eval-0.1.8.tgz#2b903473b8cc1d1989b83a1e7923f883eb357f85" integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw== dependencies: "@types/node" "*" @@ -5363,12 +4373,12 @@ eval@^0.1.8: eventemitter3@^4.0.0, eventemitter3@^4.0.4: version "4.0.7" - resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz" + resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== events@^3.2.0: version "3.3.0" - resolved "https://registry.npmmirror.com/events/-/events-3.3.0.tgz" + resolved "https://registry.npmmirror.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== execa@5.1.1, execa@^5.0.0: @@ -5387,36 +4397,36 @@ execa@5.1.1, execa@^5.0.0: strip-final-newline "^2.0.0" express@^4.17.3: - version "4.19.2" - resolved "https://registry.npmmirror.com/express/-/express-4.19.2.tgz" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== + version "4.21.2" + resolved "https://registry.npmmirror.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32" + integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.2" + body-parser "1.20.3" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.6.0" + cookie "0.7.1" cookie-signature "1.0.6" debug "2.6.9" depd "2.0.0" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.2.0" + finalhandler "1.3.1" fresh "0.5.2" http-errors "2.0.0" - merge-descriptors "1.0.1" + merge-descriptors "1.0.3" methods "~1.1.2" on-finished "2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.7" + path-to-regexp "0.1.12" proxy-addr "~2.0.7" - qs "6.11.0" + qs "6.13.0" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" + send "0.19.0" + serve-static "1.16.2" setprototypeof "1.2.0" statuses "2.0.1" type-is "~1.6.18" @@ -5425,61 +4435,66 @@ express@^4.17.3: extend-shallow@^2.0.1: version "2.0.1" - resolved "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz" + resolved "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== dependencies: is-extendable "^0.1.0" extend@^3.0.0: version "3.0.2" - resolved "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz" + resolved "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: - version "3.3.2" - resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + version "3.3.3" + resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + resolved "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +fast-uri@^3.0.1: + version "3.0.6" + resolved "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" + integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== + fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + version "1.19.1" + resolved "https://registry.npmmirror.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== dependencies: reusify "^1.0.4" fault@^2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/fault/-/fault-2.0.1.tgz" + resolved "https://registry.npmmirror.com/fault/-/fault-2.0.1.tgz#d47ca9f37ca26e4bd38374a7c500b5a384755b6c" integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== dependencies: format "^0.2.0" faye-websocket@^0.11.3: version "0.11.4" - resolved "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz" + resolved "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== dependencies: websocket-driver ">=0.5.1" feed@^4.2.2: version "4.2.2" - resolved "https://registry.npmmirror.com/feed/-/feed-4.2.2.tgz" + resolved "https://registry.npmmirror.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== dependencies: xml-js "^1.6.11" @@ -5493,7 +4508,7 @@ figures@^3.2.0: file-loader@^6.2.0: version "6.2.0" - resolved "https://registry.npmmirror.com/file-loader/-/file-loader-6.2.0.tgz" + resolved "https://registry.npmmirror.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== dependencies: loader-utils "^2.0.0" @@ -5501,18 +4516,18 @@ file-loader@^6.2.0: fill-range@^7.1.1: version "7.1.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" + resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== +finalhandler@1.3.1: + version "1.3.1" + resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019" + integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== dependencies: debug "2.6.9" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" on-finished "2.4.1" parseurl "~1.3.3" @@ -5521,7 +4536,7 @@ finalhandler@1.2.0: find-cache-dir@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz" + resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== dependencies: common-path-prefix "^3.0.0" @@ -5529,7 +4544,7 @@ find-cache-dir@^4.0.0: find-up@^6.3.0: version "6.3.0" - resolved "https://registry.npmmirror.com/find-up/-/find-up-6.3.0.tgz" + resolved "https://registry.npmmirror.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== dependencies: locate-path "^7.1.0" @@ -5537,50 +4552,59 @@ find-up@^6.3.0: find-yarn-workspace-root@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz" + resolved "https://registry.npmmirror.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== dependencies: micromatch "^4.0.2" flat@^5.0.2: version "5.0.2" - resolved "https://registry.npmmirror.com/flat/-/flat-5.0.2.tgz" + resolved "https://registry.npmmirror.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== follow-redirects@^1.0.0: - version "1.15.6" - resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.6.tgz" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + version "1.15.9" + resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== form-data-encoder@^2.1.2: version "2.1.4" - resolved "https://registry.npmmirror.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz" + resolved "https://registry.npmmirror.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz#261ea35d2a70d48d30ec7a9603130fa5515e9cd5" integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== format@^0.2.0: version "0.2.2" - resolved "https://registry.npmmirror.com/format/-/format-0.2.2.tgz" + resolved "https://registry.npmmirror.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== forwarded@0.2.0: version "0.2.0" - resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz" + resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fraction.js@^4.3.7: version "4.3.7" - resolved "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.3.7.tgz" + resolved "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== fresh@0.5.2: version "0.5.2" - resolved "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz" + resolved "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^11.1.1, fs-extra@^11.2.0: - version "11.2.0" - resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.2.0.tgz" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + version "11.3.0" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" + integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -5588,7 +4612,7 @@ fs-extra@^11.1.1, fs-extra@^11.2.0: fs-extra@^9.0.0: version "9.1.0" - resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: at-least-node "^1.0.0" @@ -5597,78 +4621,91 @@ fs-extra@^9.0.0: universalify "^2.0.0" fs-monkey@^1.0.4: - version "1.0.5" - resolved "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.5.tgz" - integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + version "1.1.0" + resolved "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.1.0.tgz#632aa15a20e71828ed56b24303363fb1414e5997" + integrity sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw== fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz" + resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@~2.3.2: version "2.3.3" - resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz" + resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz" + resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz" + resolved "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" es-errors "^1.3.0" + es-object-atoms "^1.1.1" function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" - resolved "https://registry.npmmirror.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" + resolved "https://registry.npmmirror.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== +get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" - resolved "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz" + resolved "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== github-slugger@^1.5.0: version "1.5.0" - resolved "https://registry.npmmirror.com/github-slugger/-/github-slugger-1.5.0.tgz" + resolved "https://registry.npmmirror.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz" + resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.1: version "6.0.2" - resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz" + resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" glob-to-regexp@^0.4.1: version "0.4.1" - resolved "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + resolved "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== glob@^7.1.3: version "7.2.3" - resolved "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz" + resolved "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -5680,19 +4717,14 @@ glob@^7.1.3: global-dirs@^3.0.0: version "3.0.1" - resolved "https://registry.npmmirror.com/global-dirs/-/global-dirs-3.0.1.tgz" + resolved "https://registry.npmmirror.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== dependencies: ini "2.0.0" -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - globby@^11.1.0: version "11.1.0" - resolved "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz" + resolved "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -5704,7 +4736,7 @@ globby@^11.1.0: globby@^13.1.1: version "13.2.2" - resolved "https://registry.npmmirror.com/globby/-/globby-13.2.2.tgz" + resolved "https://registry.npmmirror.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== dependencies: dir-glob "^3.0.1" @@ -5713,16 +4745,14 @@ globby@^13.1.1: merge2 "^1.4.1" slash "^4.0.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== got@^12.1.0: version "12.6.1" - resolved "https://registry.npmmirror.com/got/-/got-12.6.1.tgz" + resolved "https://registry.npmmirror.com/got/-/got-12.6.1.tgz#8869560d1383353204b5a9435f782df9c091f549" integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== dependencies: "@sindresorhus/is" "^5.2.0" @@ -5739,17 +4769,17 @@ got@^12.1.0: graceful-fs@4.2.10: version "4.2.10" - resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz" + resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" - resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz" + resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== gray-matter@^4.0.3: version "4.0.3" - resolved "https://registry.npmmirror.com/gray-matter/-/gray-matter-4.0.3.tgz" + resolved "https://registry.npmmirror.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== dependencies: js-yaml "^3.13.1" @@ -5759,75 +4789,70 @@ gray-matter@^4.0.3: gzip-size@^6.0.0: version "6.0.0" - resolved "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz" + resolved "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== dependencies: duplexer "^0.1.2" handle-thing@^2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz" + resolved "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz" + resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: version "1.0.2" - resolved "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" + resolved "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1: - version "1.0.3" - resolved "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== has-yarn@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/has-yarn/-/has-yarn-3.0.0.tgz" + resolved "https://registry.npmmirror.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d" integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== -hasown@^2.0.0, hasown@^2.0.2: +hasown@^2.0.2: version "2.0.2" - resolved "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz" + resolved "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" hast-util-from-parse5@^8.0.0: - version "8.0.1" - resolved "https://registry.npmmirror.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz" - integrity sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ== + version "8.0.3" + resolved "https://registry.npmmirror.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz#830a35022fff28c3fea3697a98c2f4cc6b835a2e" + integrity sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg== dependencies: "@types/hast" "^3.0.0" "@types/unist" "^3.0.0" devlop "^1.0.0" - hastscript "^8.0.0" - property-information "^6.0.0" + hastscript "^9.0.0" + property-information "^7.0.0" vfile "^6.0.0" vfile-location "^5.0.0" web-namespaces "^2.0.0" hast-util-parse-selector@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz" + resolved "https://registry.npmmirror.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz#352879fa86e25616036037dd8931fb5f34cb4a27" integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== dependencies: "@types/hast" "^3.0.0" hast-util-raw@^9.0.0: - version "9.0.2" - resolved "https://registry.npmmirror.com/hast-util-raw/-/hast-util-raw-9.0.2.tgz" - integrity sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA== + version "9.1.0" + resolved "https://registry.npmmirror.com/hast-util-raw/-/hast-util-raw-9.1.0.tgz#79b66b26f6f68fb50dfb4716b2cdca90d92adf2e" + integrity sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw== dependencies: "@types/hast" "^3.0.0" "@types/unist" "^3.0.0" @@ -5844,9 +4869,9 @@ hast-util-raw@^9.0.0: zwitch "^2.0.0" hast-util-to-estree@^3.0.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz" - integrity sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw== + version "3.1.3" + resolved "https://registry.npmmirror.com/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz#e654c1c9374645135695cc0ab9f70b8fcaf733d7" + integrity sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w== dependencies: "@types/estree" "^1.0.0" "@types/estree-jsx" "^1.0.0" @@ -5859,16 +4884,16 @@ hast-util-to-estree@^3.0.0: mdast-util-mdx-expression "^2.0.0" mdast-util-mdx-jsx "^3.0.0" mdast-util-mdxjs-esm "^2.0.0" - property-information "^6.0.0" + property-information "^7.0.0" space-separated-tokens "^2.0.0" - style-to-object "^0.4.0" + style-to-js "^1.0.0" unist-util-position "^5.0.0" zwitch "^2.0.0" hast-util-to-jsx-runtime@^2.0.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz" - integrity sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ== + version "2.3.6" + resolved "https://registry.npmmirror.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz#ff31897aae59f62232e21594eac7ef6b63333e98" + integrity sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg== dependencies: "@types/estree" "^1.0.0" "@types/hast" "^3.0.0" @@ -5880,15 +4905,15 @@ hast-util-to-jsx-runtime@^2.0.0: mdast-util-mdx-expression "^2.0.0" mdast-util-mdx-jsx "^3.0.0" mdast-util-mdxjs-esm "^2.0.0" - property-information "^6.0.0" + property-information "^7.0.0" space-separated-tokens "^2.0.0" - style-to-object "^1.0.0" + style-to-js "^1.0.0" unist-util-position "^5.0.0" vfile-message "^4.0.0" hast-util-to-parse5@^8.0.0: version "8.0.0" - resolved "https://registry.npmmirror.com/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz" + resolved "https://registry.npmmirror.com/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz#477cd42d278d4f036bc2ea58586130f6f39ee6ed" integrity sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw== dependencies: "@types/hast" "^3.0.0" @@ -5901,30 +4926,30 @@ hast-util-to-parse5@^8.0.0: hast-util-whitespace@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz" + resolved "https://registry.npmmirror.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621" integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== dependencies: "@types/hast" "^3.0.0" -hastscript@^8.0.0: - version "8.0.0" - resolved "https://registry.npmmirror.com/hastscript/-/hastscript-8.0.0.tgz" - integrity sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw== +hastscript@^9.0.0: + version "9.0.1" + resolved "https://registry.npmmirror.com/hastscript/-/hastscript-9.0.1.tgz#dbc84bef6051d40084342c229c451cd9dc567dff" + integrity sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w== dependencies: "@types/hast" "^3.0.0" comma-separated-tokens "^2.0.0" hast-util-parse-selector "^4.0.0" - property-information "^6.0.0" + property-information "^7.0.0" space-separated-tokens "^2.0.0" he@^1.2.0: version "1.2.0" - resolved "https://registry.npmmirror.com/he/-/he-1.2.0.tgz" + resolved "https://registry.npmmirror.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== history@^4.9.0: version "4.10.1" - resolved "https://registry.npmmirror.com/history/-/history-4.10.1.tgz" + resolved "https://registry.npmmirror.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== dependencies: "@babel/runtime" "^7.1.2" @@ -5936,14 +4961,14 @@ history@^4.9.0: hoist-non-react-statics@^3.1.0: version "3.3.2" - resolved "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + resolved "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0" hpack.js@^2.1.6: version "2.1.6" - resolved "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz" + resolved "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== dependencies: inherits "^2.0.1" @@ -5952,18 +4977,18 @@ hpack.js@^2.1.6: wbuf "^1.1.0" html-entities@^2.3.2: - version "2.5.2" - resolved "https://registry.npmmirror.com/html-entities/-/html-entities-2.5.2.tgz" - integrity sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA== + version "2.6.0" + resolved "https://registry.npmmirror.com/html-entities/-/html-entities-2.6.0.tgz#7c64f1ea3b36818ccae3d3fb48b6974208e984f8" + integrity sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ== html-escaper@^2.0.2: version "2.0.2" - resolved "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz" + resolved "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== html-minifier-terser@^6.0.2: version "6.1.0" - resolved "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + resolved "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== dependencies: camel-case "^4.1.2" @@ -5976,7 +5001,7 @@ html-minifier-terser@^6.0.2: html-minifier-terser@^7.2.0: version "7.2.0" - resolved "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz" + resolved "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz#18752e23a2f0ed4b0f550f217bb41693e975b942" integrity sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA== dependencies: camel-case "^4.1.2" @@ -5989,12 +5014,12 @@ html-minifier-terser@^7.2.0: html-tags@^3.3.1: version "3.3.1" - resolved "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz" + resolved "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== html-void-elements@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-3.0.0.tgz" + resolved "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-3.0.0.tgz#fc9dbd84af9e747249034d4d62602def6517f1d7" integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== html-webpack-plugin@^5.6.0: @@ -6008,9 +5033,19 @@ html-webpack-plugin@^5.6.0: pretty-error "^4.0.0" tapable "^2.0.0" +htmlparser2@^10.0.0: + version "10.0.0" + resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-10.0.0.tgz#77ad249037b66bf8cc99c6e286ef73b83aeb621d" + integrity sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.2.1" + entities "^6.0.0" + htmlparser2@^6.1.0: version "6.1.0" - resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz" + resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: domelementtype "^2.0.1" @@ -6020,7 +5055,7 @@ htmlparser2@^6.1.0: htmlparser2@^8.0.1: version "8.0.2" - resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-8.0.2.tgz" + resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== dependencies: domelementtype "^2.3.0" @@ -6029,18 +5064,18 @@ htmlparser2@^8.0.1: entities "^4.4.0" http-cache-semantics@^4.1.1: - version "4.1.1" - resolved "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + version "4.2.0" + resolved "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#205f4db64f8562b76a4ff9235aa5279839a09dd5" + integrity sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ== http-deceiver@^1.2.7: version "1.2.7" - resolved "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz" + resolved "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== http-errors@2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz" + resolved "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: depd "2.0.0" @@ -6051,7 +5086,7 @@ http-errors@2.0.0: http-errors@~1.6.2: version "1.6.3" - resolved "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz" + resolved "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== dependencies: depd "~1.1.2" @@ -6060,14 +5095,14 @@ http-errors@~1.6.2: statuses ">= 1.4.0 < 2" http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.8.tgz" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + version "0.5.10" + resolved "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.10.tgz#b3277bd6d7ed5588e20ea73bf724fcbe44609075" + integrity sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA== http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + version "2.0.9" + resolved "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz#e9e63d68afaa4eee3d147f39149ab84c0c2815ef" + integrity sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q== dependencies: "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" @@ -6077,7 +5112,7 @@ http-proxy-middleware@^2.0.3: http-proxy@^1.18.1: version "1.18.1" - resolved "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz" + resolved "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== dependencies: eventemitter3 "^4.0.0" @@ -6086,7 +5121,7 @@ http-proxy@^1.18.1: http2-wrapper@^2.1.10: version "2.2.1" - resolved "https://registry.npmmirror.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz" + resolved "https://registry.npmmirror.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a" integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== dependencies: quick-lru "^5.1.1" @@ -6094,52 +5129,64 @@ http2-wrapper@^2.1.10: human-signals@^2.1.0: version "2.1.0" - resolved "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz" + resolved "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== iconv-lite@0.4.24: version "0.4.24" - resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz" + resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@0.6.3, iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" - resolved "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz" + resolved "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== ignore@^5.2.0, ignore@^5.2.4: - version "5.3.1" - resolved "https://registry.npmmirror.com/ignore/-/ignore-5.3.1.tgz" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + version "5.3.2" + resolved "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== image-size@^2.0.2: version "2.0.2" resolved "https://registry.npmmirror.com/image-size/-/image-size-2.0.2.tgz#84a7b43704db5736f364bf0d1b029821299b4bdc" integrity sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w== -import-fresh@^3.3.0: +immediate@^3.2.3: version "3.3.0" - resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + resolved "https://registry.npmmirror.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" + integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== + +import-fresh@^3.3.0: + version "3.3.1" + resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" import-lazy@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/import-lazy/-/import-lazy-4.0.0.tgz" + resolved "https://registry.npmmirror.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz" + resolved "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz" + resolved "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== infima@0.2.0-alpha.45: @@ -6149,7 +5196,7 @@ infima@0.2.0-alpha.45: inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz" + resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -6157,59 +5204,54 @@ inflight@^1.0.4: inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inherits@2.0.3: version "2.0.3" - resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz" + resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== ini@2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/ini/-/ini-2.0.0.tgz" + resolved "https://registry.npmmirror.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== ini@^1.3.4, ini@~1.3.0: version "1.3.8" - resolved "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz" + resolved "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -inline-style-parser@0.1.1: - version "0.1.1" - resolved "https://registry.npmmirror.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz" - integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== - -inline-style-parser@0.2.3: - version "0.2.3" - resolved "https://registry.npmmirror.com/inline-style-parser/-/inline-style-parser-0.2.3.tgz" - integrity sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g== +inline-style-parser@0.2.4: + version "0.2.4" + resolved "https://registry.npmmirror.com/inline-style-parser/-/inline-style-parser-0.2.4.tgz#f4af5fe72e612839fcd453d989a586566d695f22" + integrity sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q== invariant@^2.2.4: version "2.2.4" - resolved "https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz" + resolved "https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== dependencies: loose-envify "^1.0.0" ipaddr.js@1.9.1: version "1.9.1" - resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== ipaddr.js@^2.0.1: - version "2.1.0" - resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + version "2.2.0" + resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz#d33fa7bac284f4de7af949638c9d68157c6b92e8" + integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== is-alphabetical@^2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz" + resolved "https://registry.npmmirror.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== is-alphanumerical@^2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz" + resolved "https://registry.npmmirror.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== dependencies: is-alphabetical "^2.0.0" @@ -6217,30 +5259,23 @@ is-alphanumerical@^2.0.0: is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz" + resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz" + resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" is-ci@^3.0.1: version "3.0.1" - resolved "https://registry.npmmirror.com/is-ci/-/is-ci-3.0.1.tgz" + resolved "https://registry.npmmirror.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== dependencies: ci-info "^3.2.0" -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - is-core-module@^2.16.0: version "2.16.1" resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" @@ -6250,44 +5285,44 @@ is-core-module@^2.16.0: is-decimal@^2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/is-decimal/-/is-decimal-2.0.1.tgz" + resolved "https://registry.npmmirror.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" - resolved "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz" + resolved "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== is-extendable@^0.1.0: version "0.1.1" - resolved "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz" + resolved "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz" + resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-hexadecimal@^2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz" + resolved "https://registry.npmmirror.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== is-installed-globally@^0.4.0: version "0.4.0" - resolved "https://registry.npmmirror.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz" + resolved "https://registry.npmmirror.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== dependencies: global-dirs "^3.0.0" @@ -6295,108 +5330,101 @@ is-installed-globally@^0.4.0: is-npm@^6.0.0: version "6.0.0" - resolved "https://registry.npmmirror.com/is-npm/-/is-npm-6.0.0.tgz" + resolved "https://registry.npmmirror.com/is-npm/-/is-npm-6.0.0.tgz#b59e75e8915543ca5d881ecff864077cba095261" integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^1.0.1: version "1.0.1" - resolved "https://registry.npmmirror.com/is-obj/-/is-obj-1.0.1.tgz" + resolved "https://registry.npmmirror.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== is-obj@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz" + resolved "https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== is-path-inside@^3.0.2: version "3.0.3" - resolved "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz" + resolved "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-plain-obj@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== is-plain-obj@^4.0.0: version "4.1.0" - resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz" + resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz" + resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" -is-reference@^3.0.0: - version "3.0.2" - resolved "https://registry.npmmirror.com/is-reference/-/is-reference-3.0.2.tgz" - integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== - dependencies: - "@types/estree" "*" - is-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/is-regexp/-/is-regexp-1.0.0.tgz" + resolved "https://registry.npmmirror.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== is-stream@^2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz" + resolved "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-typedarray@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz" + resolved "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-wsl@^2.1.1, is-wsl@^2.2.0: version "2.2.0" - resolved "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz" + resolved "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: is-docker "^2.0.0" is-yarn-global@^0.4.0: version "0.4.1" - resolved "https://registry.npmmirror.com/is-yarn-global/-/is-yarn-global-0.4.1.tgz" + resolved "https://registry.npmmirror.com/is-yarn-global/-/is-yarn-global-0.4.1.tgz#b312d902b313f81e4eaf98b6361ba2b45cd694bb" integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== isarray@0.0.1: version "0.0.1" - resolved "https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz" + resolved "https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== isarray@^2.0.5: version "2.0.5" - resolved "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz" + resolved "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isarray@~1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz" + resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz" + resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^3.0.1: version "3.0.1" - resolved "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz" + resolved "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== jest-util@^29.7.0: version "29.7.0" - resolved "https://registry.npmmirror.com/jest-util/-/jest-util-29.7.0.tgz" + resolved "https://registry.npmmirror.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== dependencies: "@jest/types" "^29.6.3" @@ -6408,7 +5436,7 @@ jest-util@^29.7.0: jest-worker@^27.4.5: version "27.5.1" - resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz" + resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" @@ -6417,7 +5445,7 @@ jest-worker@^27.4.5: jest-worker@^29.4.3: version "29.7.0" - resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-29.7.0.tgz" + resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== dependencies: "@types/node" "*" @@ -6427,13 +5455,13 @@ jest-worker@^29.4.3: jiti@^1.20.0: version "1.21.7" - resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz" + resolved "https://registry.npmmirror.com/jiti/-/jiti-1.21.7.tgz#9dd81043424a3d28458b193d965f0d18a2300ba9" integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== joi@^17.9.2: - version "17.12.2" - resolved "https://registry.npmmirror.com/joi/-/joi-17.12.2.tgz" - integrity sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw== + version "17.13.3" + resolved "https://registry.npmmirror.com/joi/-/joi-17.13.3.tgz#0f5cc1169c999b30d344366d384b12d92558bcec" + integrity sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA== dependencies: "@hapi/hoek" "^9.3.0" "@hapi/topo" "^5.1.0" @@ -6443,12 +5471,12 @@ joi@^17.9.2: "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz" + resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" @@ -6456,21 +5484,16 @@ js-yaml@^3.13.1: js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz" + resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" jsesc@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz" + resolved "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - jsesc@~3.0.2: version "3.0.2" resolved "https://registry.npmmirror.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" @@ -6478,42 +5501,43 @@ jsesc@~3.0.2: json-buffer@3.0.1: version "3.0.1" - resolved "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz" + resolved "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" - resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-stable-stringify@^1.0.2: - version "1.1.1" - resolved "https://registry.npmmirror.com/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz" - integrity sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg== + version "1.3.0" + resolved "https://registry.npmmirror.com/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz#8903cfac42ea1a0f97f35d63a4ce0518f0cc6a70" + integrity sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.4" isarray "^2.0.5" jsonify "^0.0.1" object-keys "^1.1.1" json5@^2.1.2, json5@^2.2.3: version "2.2.3" - resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz" + resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonfile@^6.0.1: version "6.1.0" - resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz" + resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" @@ -6522,61 +5546,61 @@ jsonfile@^6.0.1: jsonify@^0.0.1: version "0.0.1" - resolved "https://registry.npmmirror.com/jsonify/-/jsonify-0.0.1.tgz" + resolved "https://registry.npmmirror.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== keyv@^4.5.3: version "4.5.4" - resolved "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz" + resolved "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" - resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz" + resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== klaw-sync@^6.0.0: version "6.0.0" - resolved "https://registry.npmmirror.com/klaw-sync/-/klaw-sync-6.0.0.tgz" + resolved "https://registry.npmmirror.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== dependencies: graceful-fs "^4.1.11" kleur@^3.0.3: version "3.0.3" - resolved "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz" + resolved "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== latest-version@^7.0.0: version "7.0.0" - resolved "https://registry.npmmirror.com/latest-version/-/latest-version-7.0.0.tgz" + resolved "https://registry.npmmirror.com/latest-version/-/latest-version-7.0.0.tgz#843201591ea81a4d404932eeb61240fe04e9e5da" integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg== dependencies: package-json "^8.1.0" launch-editor@^2.6.0: - version "2.6.1" - resolved "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.6.1.tgz" - integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== + version "2.10.0" + resolved "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.10.0.tgz#5ca3edfcb9667df1e8721310f3a40f1127d4bc42" + integrity sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA== dependencies: picocolors "^1.0.0" shell-quote "^1.8.1" leven@^3.1.0: version "3.1.0" - resolved "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz" + resolved "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== lilconfig@^3.1.1: version "3.1.3" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz" + resolved "https://registry.npmmirror.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== load-script@^1.0.0: @@ -6586,12 +5610,12 @@ load-script@^1.0.0: loader-runner@^4.2.0: version "4.3.0" - resolved "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz" + resolved "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== loader-utils@^2.0.0: version "2.0.4" - resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz" + resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== dependencies: big.js "^5.2.2" @@ -6600,72 +5624,80 @@ loader-utils@^2.0.0: locate-path@^7.1.0: version "7.2.0" - resolved "https://registry.npmmirror.com/locate-path/-/locate-path-7.2.0.tgz" + resolved "https://registry.npmmirror.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== dependencies: p-locate "^6.0.0" lodash.debounce@^4.0.8: version "4.0.8" - resolved "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + resolved "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== lodash.memoize@^4.1.2: version "4.1.2" - resolved "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + resolved "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== lodash.uniq@^4.5.0: version "4.5.0" - resolved "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + resolved "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" - resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz" + resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== longest-streak@^3.0.0: version "3.1.0" - resolved "https://registry.npmmirror.com/longest-streak/-/longest-streak-3.1.0.tgz" + resolved "https://registry.npmmirror.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz" + resolved "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" lower-case@^2.0.2: version "2.0.2" - resolved "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz" + resolved "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== dependencies: tslib "^2.0.3" lowercase-keys@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz" + resolved "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" +lunr-languages@^1.4.0: + version "1.14.0" + resolved "https://registry.npmmirror.com/lunr-languages/-/lunr-languages-1.14.0.tgz#6e97635f434631729dd0e5654daedd291cd6f2d0" + integrity sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA== + +lunr@^2.3.9: + version "2.3.9" + resolved "https://registry.npmmirror.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" + integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== + +mark.js@^8.11.1: + version "8.11.1" + resolved "https://registry.npmmirror.com/mark.js/-/mark.js-8.11.1.tgz#180f1f9ebef8b0e638e4166ad52db879beb2ffc5" + integrity sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ== markdown-extensions@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz" + resolved "https://registry.npmmirror.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz#34bebc83e9938cae16e0e017e4a9814a8330d3c4" integrity sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q== markdown-table@^2.0.0: @@ -6676,17 +5708,23 @@ markdown-table@^2.0.0: repeat-string "^1.0.0" markdown-table@^3.0.0: - version "3.0.3" - resolved "https://registry.npmmirror.com/markdown-table/-/markdown-table-3.0.3.tgz" - integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== + version "3.0.4" + resolved "https://registry.npmmirror.com/markdown-table/-/markdown-table-3.0.4.tgz#fe44d6d410ff9d6f2ea1797a3f60aa4d2b631c2a" + integrity sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw== + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== mdast-util-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz" - integrity sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q== + version "3.1.0" + resolved "https://registry.npmmirror.com/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz#f3656f4aab6ae3767d3c72cfab5e8055572ccba1" + integrity sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q== dependencies: "@types/mdast" "^4.0.0" "@types/unist" "^3.0.0" + ccount "^2.0.0" devlop "^1.0.0" mdast-util-from-markdown "^2.0.0" mdast-util-to-markdown "^2.0.0" @@ -6695,9 +5733,9 @@ mdast-util-directive@^3.0.0: unist-util-visit-parents "^6.0.0" mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz" - integrity sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA== + version "3.0.2" + resolved "https://registry.npmmirror.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz#70a3174c894e14df722abf43bc250cbae44b11df" + integrity sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg== dependencies: "@types/mdast" "^4.0.0" escape-string-regexp "^5.0.0" @@ -6705,9 +5743,9 @@ mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: unist-util-visit-parents "^6.0.0" mdast-util-from-markdown@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz" - integrity sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA== + version "2.0.2" + resolved "https://registry.npmmirror.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz#4850390ca7cf17413a9b9a0fbefcd1bc0eb4160a" + integrity sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA== dependencies: "@types/mdast" "^4.0.0" "@types/unist" "^3.0.0" @@ -6724,7 +5762,7 @@ mdast-util-from-markdown@^2.0.0: mdast-util-frontmatter@^2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz" + resolved "https://registry.npmmirror.com/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz#f5f929eb1eb36c8a7737475c7eb438261f964ee8" integrity sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA== dependencies: "@types/mdast" "^4.0.0" @@ -6735,9 +5773,9 @@ mdast-util-frontmatter@^2.0.0: micromark-extension-frontmatter "^2.0.0" mdast-util-gfm-autolink-literal@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz" - integrity sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg== + version "2.0.1" + resolved "https://registry.npmmirror.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz#abd557630337bd30a6d5a4bd8252e1c2dc0875d5" + integrity sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ== dependencies: "@types/mdast" "^4.0.0" ccount "^2.0.0" @@ -6746,9 +5784,9 @@ mdast-util-gfm-autolink-literal@^2.0.0: micromark-util-character "^2.0.0" mdast-util-gfm-footnote@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz" - integrity sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ== + version "2.1.0" + resolved "https://registry.npmmirror.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz#7778e9d9ca3df7238cc2bd3fa2b1bf6a65b19403" + integrity sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ== dependencies: "@types/mdast" "^4.0.0" devlop "^1.1.0" @@ -6758,7 +5796,7 @@ mdast-util-gfm-footnote@^2.0.0: mdast-util-gfm-strikethrough@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz" + resolved "https://registry.npmmirror.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz#d44ef9e8ed283ac8c1165ab0d0dfd058c2764c16" integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== dependencies: "@types/mdast" "^4.0.0" @@ -6767,7 +5805,7 @@ mdast-util-gfm-strikethrough@^2.0.0: mdast-util-gfm-table@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz" + resolved "https://registry.npmmirror.com/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz#7a435fb6223a72b0862b33afbd712b6dae878d38" integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== dependencies: "@types/mdast" "^4.0.0" @@ -6778,7 +5816,7 @@ mdast-util-gfm-table@^2.0.0: mdast-util-gfm-task-list-item@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz" + resolved "https://registry.npmmirror.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz#e68095d2f8a4303ef24094ab642e1047b991a936" integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== dependencies: "@types/mdast" "^4.0.0" @@ -6787,9 +5825,9 @@ mdast-util-gfm-task-list-item@^2.0.0: mdast-util-to-markdown "^2.0.0" mdast-util-gfm@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz" - integrity sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw== + version "3.1.0" + resolved "https://registry.npmmirror.com/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz#2cdf63b92c2a331406b0fb0db4c077c1b0331751" + integrity sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ== dependencies: mdast-util-from-markdown "^2.0.0" mdast-util-gfm-autolink-literal "^2.0.0" @@ -6800,9 +5838,9 @@ mdast-util-gfm@^3.0.0: mdast-util-to-markdown "^2.0.0" mdast-util-mdx-expression@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz" - integrity sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw== + version "2.0.1" + resolved "https://registry.npmmirror.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz#43f0abac9adc756e2086f63822a38c8d3c3a5096" + integrity sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ== dependencies: "@types/estree-jsx" "^1.0.0" "@types/hast" "^3.0.0" @@ -6812,9 +5850,9 @@ mdast-util-mdx-expression@^2.0.0: mdast-util-to-markdown "^2.0.0" mdast-util-mdx-jsx@^3.0.0: - version "3.1.2" - resolved "https://registry.npmmirror.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz" - integrity sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA== + version "3.2.0" + resolved "https://registry.npmmirror.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz#fd04c67a2a7499efb905a8a5c578dddc9fdada0d" + integrity sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q== dependencies: "@types/estree-jsx" "^1.0.0" "@types/hast" "^3.0.0" @@ -6826,13 +5864,12 @@ mdast-util-mdx-jsx@^3.0.0: mdast-util-to-markdown "^2.0.0" parse-entities "^4.0.0" stringify-entities "^4.0.0" - unist-util-remove-position "^5.0.0" unist-util-stringify-position "^4.0.0" vfile-message "^4.0.0" mdast-util-mdx@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz" + resolved "https://registry.npmmirror.com/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz#792f9cf0361b46bee1fdf1ef36beac424a099c41" integrity sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w== dependencies: mdast-util-from-markdown "^2.0.0" @@ -6843,7 +5880,7 @@ mdast-util-mdx@^3.0.0: mdast-util-mdxjs-esm@^2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz" + resolved "https://registry.npmmirror.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz#019cfbe757ad62dd557db35a695e7314bcc9fa97" integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== dependencies: "@types/estree-jsx" "^1.0.0" @@ -6855,16 +5892,16 @@ mdast-util-mdxjs-esm@^2.0.0: mdast-util-phrasing@^4.0.0: version "4.1.0" - resolved "https://registry.npmmirror.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz" + resolved "https://registry.npmmirror.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz#7cc0a8dec30eaf04b7b1a9661a92adb3382aa6e3" integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== dependencies: "@types/mdast" "^4.0.0" unist-util-is "^6.0.0" mdast-util-to-hast@^13.0.0: - version "13.1.0" - resolved "https://registry.npmmirror.com/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz" - integrity sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA== + version "13.2.0" + resolved "https://registry.npmmirror.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz#5ca58e5b921cc0a3ded1bc02eed79a4fe4fe41f4" + integrity sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA== dependencies: "@types/hast" "^3.0.0" "@types/mdast" "^4.0.0" @@ -6877,49 +5914,50 @@ mdast-util-to-hast@^13.0.0: vfile "^6.0.0" mdast-util-to-markdown@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz" - integrity sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ== + version "2.1.2" + resolved "https://registry.npmmirror.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz#f910ffe60897f04bb4b7e7ee434486f76288361b" + integrity sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA== dependencies: "@types/mdast" "^4.0.0" "@types/unist" "^3.0.0" longest-streak "^3.0.0" mdast-util-phrasing "^4.0.0" mdast-util-to-string "^4.0.0" + micromark-util-classify-character "^2.0.0" micromark-util-decode-string "^2.0.0" unist-util-visit "^5.0.0" zwitch "^2.0.0" mdast-util-to-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz" + resolved "https://registry.npmmirror.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814" integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== dependencies: "@types/mdast" "^4.0.0" mdn-data@2.0.28: version "2.0.28" - resolved "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.28.tgz" + resolved "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== mdn-data@2.0.30: version "2.0.30" - resolved "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.30.tgz" + resolved "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== media-typer@0.3.0: version "0.3.0" - resolved "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz" + resolved "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== medium-zoom@^1.0.8: version "1.1.0" - resolved "https://registry.npmmirror.com/medium-zoom/-/medium-zoom-1.1.0.tgz" + resolved "https://registry.npmmirror.com/medium-zoom/-/medium-zoom-1.1.0.tgz#6efb6bbda861a02064ee71a2617a8dc4381ecc71" integrity sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ== memfs@^3.4.3: version "3.6.0" - resolved "https://registry.npmmirror.com/memfs/-/memfs-3.6.0.tgz" + resolved "https://registry.npmmirror.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== dependencies: fs-monkey "^1.0.4" @@ -6929,30 +5967,30 @@ memoize-one@^5.1.1: resolved "https://registry.npmmirror.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== merge-stream@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz" + resolved "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz" + resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== methods@~1.1.2: version "1.1.2" - resolved "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz" + resolved "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromark-core-commonmark@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz" - integrity sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA== + version "2.0.3" + resolved "https://registry.npmmirror.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz#c691630e485021a68cf28dbc2b2ca27ebf678cd4" + integrity sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg== dependencies: decode-named-character-reference "^1.0.0" devlop "^1.0.0" @@ -6972,9 +6010,9 @@ micromark-core-commonmark@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz" - integrity sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg== + version "3.0.2" + resolved "https://registry.npmmirror.com/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz#2eb61985d1995a7c1ff7621676a4f32af29409e8" + integrity sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -6986,7 +6024,7 @@ micromark-extension-directive@^3.0.0: micromark-extension-frontmatter@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz" + resolved "https://registry.npmmirror.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz#651c52ffa5d7a8eeed687c513cd869885882d67a" integrity sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg== dependencies: fault "^2.0.0" @@ -6995,9 +6033,9 @@ micromark-extension-frontmatter@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-autolink-literal@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz" - integrity sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg== + version "2.1.0" + resolved "https://registry.npmmirror.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz#6286aee9686c4462c1e3552a9d505feddceeb935" + integrity sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw== dependencies: micromark-util-character "^2.0.0" micromark-util-sanitize-uri "^2.0.0" @@ -7005,9 +6043,9 @@ micromark-extension-gfm-autolink-literal@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-footnote@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz" - integrity sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg== + version "2.1.0" + resolved "https://registry.npmmirror.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz#4dab56d4e398b9853f6fe4efac4fc9361f3e0750" + integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== dependencies: devlop "^1.0.0" micromark-core-commonmark "^2.0.0" @@ -7019,9 +6057,9 @@ micromark-extension-gfm-footnote@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-strikethrough@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz" - integrity sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw== + version "2.1.0" + resolved "https://registry.npmmirror.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz#86106df8b3a692b5f6a92280d3879be6be46d923" + integrity sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw== dependencies: devlop "^1.0.0" micromark-util-chunked "^2.0.0" @@ -7031,9 +6069,9 @@ micromark-extension-gfm-strikethrough@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-table@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz" - integrity sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw== + version "2.1.1" + resolved "https://registry.npmmirror.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz#fac70bcbf51fe65f5f44033118d39be8a9b5940b" + integrity sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -7043,15 +6081,15 @@ micromark-extension-gfm-table@^2.0.0: micromark-extension-gfm-tagfilter@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz" + resolved "https://registry.npmmirror.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz#f26d8a7807b5985fba13cf61465b58ca5ff7dc57" integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg== dependencies: micromark-util-types "^2.0.0" micromark-extension-gfm-task-list-item@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz" - integrity sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw== + version "2.1.0" + resolved "https://registry.npmmirror.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz#bcc34d805639829990ec175c3eea12bb5b781f2c" + integrity sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -7061,7 +6099,7 @@ micromark-extension-gfm-task-list-item@^2.0.0: micromark-extension-gfm@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz" + resolved "https://registry.npmmirror.com/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz#3e13376ab95dd7a5cfd0e29560dfe999657b3c5b" integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w== dependencies: micromark-extension-gfm-autolink-literal "^2.0.0" @@ -7074,9 +6112,9 @@ micromark-extension-gfm@^3.0.0: micromark-util-types "^2.0.0" micromark-extension-mdx-expression@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz" - integrity sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ== + version "3.0.1" + resolved "https://registry.npmmirror.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz#43d058d999532fb3041195a3c3c05c46fa84543b" + integrity sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q== dependencies: "@types/estree" "^1.0.0" devlop "^1.0.0" @@ -7088,31 +6126,31 @@ micromark-extension-mdx-expression@^3.0.0: micromark-util-types "^2.0.0" micromark-extension-mdx-jsx@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz" - integrity sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w== + version "3.0.2" + resolved "https://registry.npmmirror.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz#ffc98bdb649798902fa9fc5689f67f9c1c902044" + integrity sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ== dependencies: - "@types/acorn" "^4.0.0" "@types/estree" "^1.0.0" devlop "^1.0.0" estree-util-is-identifier-name "^3.0.0" micromark-factory-mdx-expression "^2.0.0" micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" vfile-message "^4.0.0" micromark-extension-mdx-md@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz" + resolved "https://registry.npmmirror.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz#1d252881ea35d74698423ab44917e1f5b197b92d" integrity sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ== dependencies: micromark-util-types "^2.0.0" micromark-extension-mdxjs-esm@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz" + resolved "https://registry.npmmirror.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz#de21b2b045fd2059bd00d36746081de38390d54a" integrity sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A== dependencies: "@types/estree" "^1.0.0" @@ -7127,7 +6165,7 @@ micromark-extension-mdxjs-esm@^3.0.0: micromark-extension-mdxjs@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz" + resolved "https://registry.npmmirror.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz#b5a2e0ed449288f3f6f6c544358159557549de18" integrity sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ== dependencies: acorn "^8.0.0" @@ -7140,18 +6178,18 @@ micromark-extension-mdxjs@^3.0.0: micromark-util-types "^2.0.0" micromark-factory-destination@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz" - integrity sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz#8fef8e0f7081f0474fbdd92deb50c990a0264639" + integrity sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA== dependencies: micromark-util-character "^2.0.0" micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" micromark-factory-label@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz" - integrity sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz#5267efa97f1e5254efc7f20b459a38cb21058ba1" + integrity sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg== dependencies: devlop "^1.0.0" micromark-util-character "^2.0.0" @@ -7159,12 +6197,13 @@ micromark-factory-label@^2.0.0: micromark-util-types "^2.0.0" micromark-factory-mdx-expression@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz" - integrity sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg== + version "2.0.3" + resolved "https://registry.npmmirror.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz#bb09988610589c07d1c1e4425285895041b3dfa9" + integrity sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ== dependencies: "@types/estree" "^1.0.0" devlop "^1.0.0" + micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" micromark-util-events-to-acorn "^2.0.0" micromark-util-symbol "^2.0.0" @@ -7174,24 +6213,24 @@ micromark-factory-mdx-expression@^2.0.0: micromark-factory-space@^1.0.0: version "1.1.0" - resolved "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz" + resolved "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== dependencies: micromark-util-character "^1.0.0" micromark-util-types "^1.0.0" micromark-factory-space@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz" - integrity sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz#36d0212e962b2b3121f8525fc7a3c7c029f334fc" + integrity sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg== dependencies: micromark-util-character "^2.0.0" micromark-util-types "^2.0.0" micromark-factory-title@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz" - integrity sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz#237e4aa5d58a95863f01032d9ee9b090f1de6e94" + integrity sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw== dependencies: micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" @@ -7199,9 +6238,9 @@ micromark-factory-title@^2.0.0: micromark-util-types "^2.0.0" micromark-factory-whitespace@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz" - integrity sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz#06b26b2983c4d27bfcc657b33e25134d4868b0b1" + integrity sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ== dependencies: micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" @@ -7210,55 +6249,55 @@ micromark-factory-whitespace@^2.0.0: micromark-util-character@^1.0.0, micromark-util-character@^1.1.0: version "1.2.0" - resolved "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz" + resolved "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== dependencies: micromark-util-symbol "^1.0.0" micromark-util-types "^1.0.0" micromark-util-character@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.0.tgz" - integrity sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ== + version "2.1.1" + resolved "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6" + integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== dependencies: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" micromark-util-chunked@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz" - integrity sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz#47fbcd93471a3fccab86cff03847fc3552db1051" + integrity sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA== dependencies: micromark-util-symbol "^2.0.0" micromark-util-classify-character@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz" - integrity sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz#d399faf9c45ca14c8b4be98b1ea481bced87b629" + integrity sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q== dependencies: micromark-util-character "^2.0.0" micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" micromark-util-combine-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz" - integrity sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz#2a0f490ab08bff5cc2fd5eec6dd0ca04f89b30a9" + integrity sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg== dependencies: micromark-util-chunked "^2.0.0" micromark-util-types "^2.0.0" micromark-util-decode-numeric-character-reference@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz" - integrity sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ== + version "2.0.2" + resolved "https://registry.npmmirror.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz#fcf15b660979388e6f118cdb6bf7d79d73d26fe5" + integrity sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw== dependencies: micromark-util-symbol "^2.0.0" micromark-util-decode-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz" - integrity sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz#6cb99582e5d271e84efca8e61a807994d7161eb2" + integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ== dependencies: decode-named-character-reference "^1.0.0" micromark-util-character "^2.0.0" @@ -7266,16 +6305,15 @@ micromark-util-decode-string@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz" - integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8" + integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== micromark-util-events-to-acorn@^2.0.0: - version "2.0.2" - resolved "https://registry.npmmirror.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz" - integrity sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA== + version "2.0.3" + resolved "https://registry.npmmirror.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz#e7a8a6b55a47e5a06c720d5a1c4abae8c37c98f3" + integrity sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg== dependencies: - "@types/acorn" "^4.0.0" "@types/estree" "^1.0.0" "@types/unist" "^3.0.0" devlop "^1.0.0" @@ -7285,37 +6323,37 @@ micromark-util-events-to-acorn@^2.0.0: vfile-message "^4.0.0" micromark-util-html-tag-name@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz" - integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz#e40403096481986b41c106627f98f72d4d10b825" + integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA== micromark-util-normalize-identifier@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz" - integrity sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz#c30d77b2e832acf6526f8bf1aa47bc9c9438c16d" + integrity sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q== dependencies: micromark-util-symbol "^2.0.0" micromark-util-resolve-all@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz" - integrity sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz#e1a2d62cdd237230a2ae11839027b19381e31e8b" + integrity sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg== dependencies: micromark-util-types "^2.0.0" micromark-util-sanitize-uri@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz" - integrity sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7" + integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== dependencies: micromark-util-character "^2.0.0" micromark-util-encode "^2.0.0" micromark-util-symbol "^2.0.0" micromark-util-subtokenize@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz" - integrity sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg== + version "2.1.0" + resolved "https://registry.npmmirror.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz#d8ade5ba0f3197a1cf6a2999fbbfe6357a1a19ee" + integrity sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA== dependencies: devlop "^1.0.0" micromark-util-chunked "^2.0.0" @@ -7324,28 +6362,28 @@ micromark-util-subtokenize@^2.0.0: micromark-util-symbol@^1.0.0, micromark-util-symbol@^1.0.1: version "1.1.0" - resolved "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz" + resolved "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== micromark-util-symbol@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz" - integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== + version "2.0.1" + resolved "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8" + integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== micromark-util-types@^1.0.0: version "1.1.0" - resolved "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz" + resolved "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== micromark-util-types@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-2.0.0.tgz" - integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== + version "2.0.2" + resolved "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz#f00225f5f5a0ebc3254f96c36b6605c4b393908e" + integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== micromark@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/micromark/-/micromark-4.0.0.tgz" - integrity sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ== + version "4.0.2" + resolved "https://registry.npmmirror.com/micromark/-/micromark-4.0.2.tgz#91395a3e1884a198e62116e33c9c568e39936fdb" + integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA== dependencies: "@types/debug" "^4.0.0" debug "^4.0.0" @@ -7365,61 +6403,61 @@ micromark@^4.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: +micromatch@^4.0.2, micromatch@^4.0.5, micromatch@^4.0.8: version "4.0.8" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz" + resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: braces "^3.0.3" picomatch "^2.3.1" -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": +mime-db@1.52.0: version "1.52.0" - resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz" + resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== +"mime-db@>= 1.43.0 < 2": + version "1.54.0" + resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" + integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== + mime-db@~1.33.0: version "1.33.0" - resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.33.0.tgz" + resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== mime-types@2.1.18: version "2.1.18" - resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.18.tgz" + resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== dependencies: mime-db "~1.33.0" mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" - resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz" + resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" -mime@*: - version "4.0.1" - resolved "https://registry.npmmirror.com/mime/-/mime-4.0.1.tgz" - integrity sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA== - mime@1.6.0: version "1.6.0" - resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz" + resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mimic-fn@^2.1.0: version "2.1.0" - resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz" + resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mimic-response@^3.1.0: version "3.1.0" - resolved "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz" + resolved "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== mimic-response@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/mimic-response/-/mimic-response-4.0.0.tgz" + resolved "https://registry.npmmirror.com/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f" integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== mini-css-extract-plugin@^2.9.2: @@ -7432,44 +6470,39 @@ mini-css-extract-plugin@^2.9.2: minimalistic-assert@^1.0.0: version "1.0.1" - resolved "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + resolved "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== minimatch@3.1.2, minimatch@^3.1.1: version "3.1.2" - resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" minimist@^1.2.0, minimist@^1.2.6: version "1.2.8" - resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz" + resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== mrmime@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.0.tgz" - integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== + version "2.0.1" + resolved "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.1.tgz#bc3e87f7987853a54c9850eeb1f1078cd44adddc" + integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== ms@2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz" + resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - ms@2.1.3, ms@^2.1.3: version "2.1.3" - resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz" + resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== multicast-dns@^7.2.5: version "7.2.5" - resolved "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz" + resolved "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== dependencies: dns-packet "^5.2.2" @@ -7477,36 +6510,41 @@ multicast-dns@^7.2.5: nanoid@5.1.5: version "5.1.5" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz#f7597f9d9054eb4da9548cdd53ca70f1790e87de" + resolved "https://registry.npmmirror.com/nanoid/-/nanoid-5.1.5.tgz#f7597f9d9054eb4da9548cdd53ca70f1790e87de" integrity sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw== -nanoid@^3.3.11, nanoid@^3.3.8: +nanoid@^3.3.11: version "3.3.11" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz" + resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== negotiator@0.6.3: version "0.6.3" - resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz" + resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== +negotiator@~0.6.4: + version "0.6.4" + resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + neo-async@^2.6.2: version "2.6.2" - resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz" + resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== no-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz" + resolved "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== dependencies: lower-case "^2.0.2" tslib "^2.0.3" node-emoji@^2.1.0: - version "2.1.3" - resolved "https://registry.npmmirror.com/node-emoji/-/node-emoji-2.1.3.tgz" - integrity sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA== + version "2.2.0" + resolved "https://registry.npmmirror.com/node-emoji/-/node-emoji-2.2.0.tgz#1d000e3c76e462577895be1b436f4aa2d6760eb0" + integrity sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw== dependencies: "@sindresorhus/is" "^4.6.0" char-regex "^1.0.2" @@ -7515,44 +6553,44 @@ node-emoji@^2.1.0: node-forge@^1: version "1.3.1" - resolved "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz" + resolved "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-releases@^2.0.19: version "2.0.19" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz" + resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz" + resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-range@^0.1.2: version "0.1.2" - resolved "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz" + resolved "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== normalize-url@^8.0.0: - version "8.0.1" - resolved "https://registry.npmmirror.com/normalize-url/-/normalize-url-8.0.1.tgz" - integrity sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w== + version "8.0.2" + resolved "https://registry.npmmirror.com/normalize-url/-/normalize-url-8.0.2.tgz#3b343a42f837e4dae2b01917c04e8de3782e9170" + integrity sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw== npm-run-path@^4.0.1: version "4.0.1" - resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz" + resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" nprogress@^0.2.0: version "0.2.0" - resolved "https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz" + resolved "https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== nth-check@^2.0.1: version "2.1.1" - resolved "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz" + resolved "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== dependencies: boolbase "^1.0.0" @@ -7567,63 +6605,65 @@ null-loader@^4.0.1: object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz" + resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz" + resolved "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.0: - version "4.1.5" - resolved "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.5.tgz" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + version "4.1.7" + resolved "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - has-symbols "^1.0.3" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" object-keys "^1.1.1" obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" - resolved "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz" + resolved "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== on-finished@2.4.1: version "2.4.1" - resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz" + resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: ee-first "1.1.1" -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== +on-headers@~1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/on-headers/-/on-headers-1.1.0.tgz#59da4f91c45f5f989c6e4bcedc5a3b0aed70ff65" + integrity sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A== once@^1.3.0: version "1.4.0" - resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz" + resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" onetime@^5.1.2: version "5.1.2" - resolved "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz" + resolved "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" open@^7.4.2: version "7.4.2" - resolved "https://registry.npmmirror.com/open/-/open-7.4.2.tgz" + resolved "https://registry.npmmirror.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== dependencies: is-docker "^2.0.0" @@ -7631,7 +6671,7 @@ open@^7.4.2: open@^8.0.9, open@^8.4.0: version "8.4.2" - resolved "https://registry.npmmirror.com/open/-/open-8.4.2.tgz" + resolved "https://registry.npmmirror.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== dependencies: define-lazy-prop "^2.0.0" @@ -7640,41 +6680,41 @@ open@^8.0.9, open@^8.4.0: opener@^1.5.2: version "1.5.2" - resolved "https://registry.npmmirror.com/opener/-/opener-1.5.2.tgz" + resolved "https://registry.npmmirror.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== os-tmpdir@~1.0.2: version "1.0.2" - resolved "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + resolved "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== p-cancelable@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-3.0.0.tgz" + resolved "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== p-finally@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz" + resolved "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== p-limit@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/p-limit/-/p-limit-4.0.0.tgz" + resolved "https://registry.npmmirror.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== dependencies: yocto-queue "^1.0.0" p-locate@^6.0.0: version "6.0.0" - resolved "https://registry.npmmirror.com/p-locate/-/p-locate-6.0.0.tgz" + resolved "https://registry.npmmirror.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== dependencies: p-limit "^4.0.0" p-map@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/p-map/-/p-map-4.0.0.tgz" + resolved "https://registry.npmmirror.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: aggregate-error "^3.0.0" @@ -7689,7 +6729,7 @@ p-queue@^6.6.2: p-retry@^4.5.0: version "4.6.2" - resolved "https://registry.npmmirror.com/p-retry/-/p-retry-4.6.2.tgz" + resolved "https://registry.npmmirror.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== dependencies: "@types/retry" "0.12.0" @@ -7704,7 +6744,7 @@ p-timeout@^3.2.0: package-json@^8.1.0: version "8.1.1" - resolved "https://registry.npmmirror.com/package-json/-/package-json-8.1.1.tgz" + resolved "https://registry.npmmirror.com/package-json/-/package-json-8.1.1.tgz#3e9948e43df40d1e8e78a85485f1070bf8f03dc8" integrity sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA== dependencies: got "^12.1.0" @@ -7714,7 +6754,7 @@ package-json@^8.1.0: param-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz" + resolved "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== dependencies: dot-case "^3.0.4" @@ -7722,18 +6762,17 @@ param-case@^3.0.4: parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz" + resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-entities@^4.0.0: - version "4.0.1" - resolved "https://registry.npmmirror.com/parse-entities/-/parse-entities-4.0.1.tgz" - integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w== + version "4.0.2" + resolved "https://registry.npmmirror.com/parse-entities/-/parse-entities-4.0.2.tgz#61d46f5ed28e4ee62e9ddc43d6b010188443f159" + integrity sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw== dependencies: "@types/unist" "^2.0.0" - character-entities "^2.0.0" character-entities-legacy "^3.0.0" character-reference-invalid "^2.0.0" decode-named-character-reference "^1.0.0" @@ -7743,7 +6782,7 @@ parse-entities@^4.0.0: parse-json@^5.2.0: version "5.2.0" - resolved "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz" + resolved "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -7753,32 +6792,39 @@ parse-json@^5.2.0: parse-numeric-range@^1.3.0: version "1.3.0" - resolved "https://registry.npmmirror.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" + resolved "https://registry.npmmirror.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3" integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== -parse5-htmlparser2-tree-adapter@^7.0.0: - version "7.0.0" - resolved "https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" - integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== +parse5-htmlparser2-tree-adapter@^7.0.0, parse5-htmlparser2-tree-adapter@^7.1.0: + version "7.1.0" + resolved "https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz#b5a806548ed893a43e24ccb42fbb78069311e81b" + integrity sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g== dependencies: - domhandler "^5.0.2" + domhandler "^5.0.3" parse5 "^7.0.0" -parse5@^7.0.0: +parse5-parser-stream@^7.1.2: version "7.1.2" - resolved "https://registry.npmmirror.com/parse5/-/parse5-7.1.2.tgz" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + resolved "https://registry.npmmirror.com/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz#d7c20eadc37968d272e2c02660fff92dd27e60e1" + integrity sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow== dependencies: - entities "^4.4.0" + parse5 "^7.0.0" + +parse5@^7.0.0, parse5@^7.3.0: + version "7.3.0" + resolved "https://registry.npmmirror.com/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05" + integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== + dependencies: + entities "^6.0.0" parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" - resolved "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz" + resolved "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== pascal-case@^3.1.2: version "3.1.2" - resolved "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz" + resolved "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== dependencies: no-case "^3.0.4" @@ -7786,7 +6832,7 @@ pascal-case@^3.1.2: patch-package@^8.0.0: version "8.0.0" - resolved "https://registry.npmmirror.com/patch-package/-/patch-package-8.0.0.tgz" + resolved "https://registry.npmmirror.com/patch-package/-/patch-package-8.0.0.tgz#d191e2f1b6e06a4624a0116bcb88edd6714ede61" integrity sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA== dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -7807,45 +6853,45 @@ patch-package@^8.0.0: path-exists@^5.0.0: version "5.0.0" - resolved "https://registry.npmmirror.com/path-exists/-/path-exists-5.0.0.tgz" + resolved "https://registry.npmmirror.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-is-inside@1.0.2: version "1.0.2" - resolved "https://registry.npmmirror.com/path-is-inside/-/path-is-inside-1.0.2.tgz" + resolved "https://registry.npmmirror.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-root-regex@^0.1.0: version "0.1.2" - resolved "https://registry.npmmirror.com/path-root-regex/-/path-root-regex-0.1.2.tgz" + resolved "https://registry.npmmirror.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" integrity sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ== path-root@^0.1.1: version "0.1.1" - resolved "https://registry.npmmirror.com/path-root/-/path-root-0.1.1.tgz" + resolved "https://registry.npmmirror.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" integrity sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg== dependencies: path-root-regex "^0.1.0" -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== +path-to-regexp@0.1.12: + version "0.1.12" + resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7" + integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== path-to-regexp@3.3.0: version "3.3.0" @@ -7853,39 +6899,30 @@ path-to-regexp@3.3.0: integrity sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw== path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + version "1.9.0" + resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-1.9.0.tgz#5dc0753acbf8521ca2e0f137b4578b917b10cf24" + integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== dependencies: isarray "0.0.1" path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz" + resolved "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -periscopic@^3.0.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/periscopic/-/periscopic-3.1.0.tgz" - integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^3.0.0" - is-reference "^3.0.0" - picocolors@^1.0.0, picocolors@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" + resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pkg-dir@^7.0.0: version "7.0.0" - resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-7.0.0.tgz" + resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== dependencies: find-up "^6.3.0" @@ -7899,7 +6936,7 @@ postcss-attribute-case-insensitive@^7.0.1: postcss-calc@^9.0.1: version "9.0.1" - resolved "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-9.0.1.tgz" + resolved "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== dependencies: postcss-selector-parser "^6.0.11" @@ -7941,7 +6978,7 @@ postcss-color-rebeccapurple@^10.0.0: postcss-colormin@^6.1.0: version "6.1.0" - resolved "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-6.1.0.tgz" + resolved "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-6.1.0.tgz#076e8d3fb291fbff7b10e6b063be9da42ff6488d" integrity sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw== dependencies: browserslist "^4.23.0" @@ -7951,7 +6988,7 @@ postcss-colormin@^6.1.0: postcss-convert-values@^6.1.0: version "6.1.0" - resolved "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz" + resolved "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz#3498387f8efedb817cbc63901d45bd1ceaa40f48" integrity sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w== dependencies: browserslist "^4.23.0" @@ -7997,27 +7034,27 @@ postcss-dir-pseudo-class@^9.0.1: postcss-discard-comments@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz" + resolved "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz#e768dcfdc33e0216380623652b0a4f69f4678b6c" integrity sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw== postcss-discard-duplicates@^6.0.3: version "6.0.3" - resolved "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz" + resolved "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz#d121e893c38dc58a67277f75bb58ba43fce4c3eb" integrity sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw== postcss-discard-empty@^6.0.3: version "6.0.3" - resolved "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz" + resolved "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz#ee39c327219bb70473a066f772621f81435a79d9" integrity sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ== postcss-discard-overridden@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz" + resolved "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz#4e9f9c62ecd2df46e8fdb44dc17e189776572e2d" integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ== postcss-discard-unused@^6.0.5: version "6.0.5" - resolved "https://registry.npmmirror.com/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz" + resolved "https://registry.npmmirror.com/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz#c1b0e8c032c6054c3fbd22aaddba5b248136f338" integrity sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA== dependencies: postcss-selector-parser "^6.0.16" @@ -8092,7 +7129,7 @@ postcss-logical@^8.1.0: postcss-merge-idents@^6.0.3: version "6.0.3" - resolved "https://registry.npmmirror.com/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz" + resolved "https://registry.npmmirror.com/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz#7b9c31c7bc823c94bec50f297f04e3c2b838ea65" integrity sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g== dependencies: cssnano-utils "^4.0.2" @@ -8100,7 +7137,7 @@ postcss-merge-idents@^6.0.3: postcss-merge-longhand@^6.0.5: version "6.0.5" - resolved "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz" + resolved "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz#ba8a8d473617c34a36abbea8dda2b215750a065a" integrity sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w== dependencies: postcss-value-parser "^4.2.0" @@ -8108,7 +7145,7 @@ postcss-merge-longhand@^6.0.5: postcss-merge-rules@^6.1.1: version "6.1.1" - resolved "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz" + resolved "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz#7aa539dceddab56019469c0edd7d22b64c3dea9d" integrity sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ== dependencies: browserslist "^4.23.0" @@ -8118,14 +7155,14 @@ postcss-merge-rules@^6.1.1: postcss-minify-font-values@^6.1.0: version "6.1.0" - resolved "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz" + resolved "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz#a0e574c02ee3f299be2846369211f3b957ea4c59" integrity sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg== dependencies: postcss-value-parser "^4.2.0" postcss-minify-gradients@^6.0.3: version "6.0.3" - resolved "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz" + resolved "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz#ca3eb55a7bdb48a1e187a55c6377be918743dbd6" integrity sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q== dependencies: colord "^2.9.3" @@ -8134,7 +7171,7 @@ postcss-minify-gradients@^6.0.3: postcss-minify-params@^6.1.0: version "6.1.0" - resolved "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz" + resolved "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz#54551dec77b9a45a29c3cb5953bf7325a399ba08" integrity sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA== dependencies: browserslist "^4.23.0" @@ -8143,7 +7180,7 @@ postcss-minify-params@^6.1.0: postcss-minify-selectors@^6.0.4: version "6.0.4" - resolved "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz" + resolved "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz#197f7d72e6dd19eed47916d575d69dc38b396aff" integrity sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ== dependencies: postcss-selector-parser "^6.0.16" @@ -8171,7 +7208,7 @@ postcss-modules-scope@^3.2.0: postcss-modules-values@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + resolved "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: icss-utils "^5.0.0" @@ -8187,47 +7224,47 @@ postcss-nesting@^13.0.2: postcss-normalize-charset@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz" + resolved "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz#1ec25c435057a8001dac942942a95ffe66f721e1" integrity sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ== postcss-normalize-display-values@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz" + resolved "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz#54f02764fed0b288d5363cbb140d6950dbbdd535" integrity sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-positions@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz" + resolved "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz#e982d284ec878b9b819796266f640852dbbb723a" integrity sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-repeat-style@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz" + resolved "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz#f8006942fd0617c73f049dd8b6201c3a3040ecf3" integrity sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-string@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz" + resolved "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz#e3cc6ad5c95581acd1fc8774b309dd7c06e5e363" integrity sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-timing-functions@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz" + resolved "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz#40cb8726cef999de984527cbd9d1db1f3e9062c0" integrity sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-unicode@^6.1.0: version "6.1.0" - resolved "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz" + resolved "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz#aaf8bbd34c306e230777e80f7f12a4b7d27ce06e" integrity sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg== dependencies: browserslist "^4.23.0" @@ -8235,14 +7272,14 @@ postcss-normalize-unicode@^6.1.0: postcss-normalize-url@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz" + resolved "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz#292792386be51a8de9a454cb7b5c58ae22db0f79" integrity sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-whitespace@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz" + resolved "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz#fbb009e6ebd312f8b2efb225c2fcc7cf32b400cd" integrity sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q== dependencies: postcss-value-parser "^4.2.0" @@ -8254,7 +7291,7 @@ postcss-opacity-percentage@^3.0.0: postcss-ordered-values@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz" + resolved "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz#366bb663919707093451ab70c3f99c05672aaae5" integrity sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q== dependencies: cssnano-utils "^4.0.2" @@ -8358,14 +7395,14 @@ postcss-pseudo-class-any-link@^10.0.1: postcss-reduce-idents@^6.0.3: version "6.0.3" - resolved "https://registry.npmmirror.com/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz" + resolved "https://registry.npmmirror.com/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz#b0d9c84316d2a547714ebab523ec7d13704cd486" integrity sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA== dependencies: postcss-value-parser "^4.2.0" postcss-reduce-initial@^6.1.0: version "6.1.0" - resolved "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz" + resolved "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz#4401297d8e35cb6e92c8e9586963e267105586ba" integrity sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw== dependencies: browserslist "^4.23.0" @@ -8373,7 +7410,7 @@ postcss-reduce-initial@^6.1.0: postcss-reduce-transforms@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz" + resolved "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz#6fa2c586bdc091a7373caeee4be75a0f3e12965d" integrity sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA== dependencies: postcss-value-parser "^4.2.0" @@ -8392,7 +7429,7 @@ postcss-selector-not@^8.0.1: postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16: version "6.1.2" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz" + resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== dependencies: cssesc "^3.0.0" @@ -8408,14 +7445,14 @@ postcss-selector-parser@^7.0.0: postcss-sort-media-queries@^5.2.0: version "5.2.0" - resolved "https://registry.npmmirror.com/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz" + resolved "https://registry.npmmirror.com/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz#4556b3f982ef27d3bac526b99b6c0d3359a6cf97" integrity sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA== dependencies: sort-css-media-queries "2.2.0" postcss-svgo@^6.0.3: version "6.0.3" - resolved "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-6.0.3.tgz" + resolved "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-6.0.3.tgz#1d6e180d6df1fa8a3b30b729aaa9161e94f04eaa" integrity sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g== dependencies: postcss-value-parser "^4.2.0" @@ -8423,31 +7460,22 @@ postcss-svgo@^6.0.3: postcss-unique-selectors@^6.0.4: version "6.0.4" - resolved "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz" + resolved "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz#983ab308896b4bf3f2baaf2336e14e52c11a2088" integrity sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg== dependencies: postcss-selector-parser "^6.0.16" postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" - resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss-zindex@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/postcss-zindex/-/postcss-zindex-6.0.2.tgz" + resolved "https://registry.npmmirror.com/postcss-zindex/-/postcss-zindex-6.0.2.tgz#e498304b83a8b165755f53db40e2ea65a99b56e1" integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== -postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.33: - version "8.5.3" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz" - integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== - dependencies: - nanoid "^3.3.8" - picocolors "^1.1.1" - source-map-js "^1.2.1" - -postcss@^8.5.4: +postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.33, postcss@^8.5.4: version "8.5.6" resolved "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== @@ -8458,17 +7486,17 @@ postcss@^8.5.4: postinstall-postinstall@^2.1.0: version "2.1.0" - resolved "https://registry.npmmirror.com/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz" + resolved "https://registry.npmmirror.com/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz#4f7f77441ef539d1512c40bd04c71b06a4704ca3" integrity sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ== prettier@^3.2.5: - version "3.2.5" - resolved "https://registry.npmmirror.com/prettier/-/prettier-3.2.5.tgz" - integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== + version "3.6.2" + resolved "https://registry.npmmirror.com/prettier/-/prettier-3.6.2.tgz#ccda02a1003ebbb2bfda6f83a074978f608b9393" + integrity sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ== pretty-error@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/pretty-error/-/pretty-error-4.0.0.tgz" + resolved "https://registry.npmmirror.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== dependencies: lodash "^4.17.20" @@ -8476,30 +7504,30 @@ pretty-error@^4.0.0: pretty-time@^1.1.0: version "1.1.0" - resolved "https://registry.npmmirror.com/pretty-time/-/pretty-time-1.1.0.tgz" + resolved "https://registry.npmmirror.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== prism-react-renderer@^2.3.0: - version "2.3.1" - resolved "https://registry.npmmirror.com/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz" - integrity sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw== + version "2.4.1" + resolved "https://registry.npmmirror.com/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz#ac63b7f78e56c8f2b5e76e823a976d5ede77e35f" + integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig== dependencies: "@types/prismjs" "^1.26.0" clsx "^2.0.0" prismjs@^1.29.0: - version "1.29.0" - resolved "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz" - integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== + version "1.30.0" + resolved "https://registry.npmmirror.com/prismjs/-/prismjs-1.30.0.tgz#d9709969d9d4e16403f6f348c63553b19f0975a9" + integrity sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw== process-nextick-args@~2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== prompts@^2.4.2: version "2.4.2" - resolved "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz" + resolved "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== dependencies: kleur "^3.0.3" @@ -8507,7 +7535,7 @@ prompts@^2.4.2: prop-types@^15.6.2, prop-types@^15.7.2: version "15.8.1" - resolved "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz" + resolved "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" @@ -8515,18 +7543,23 @@ prop-types@^15.6.2, prop-types@^15.7.2: react-is "^16.13.1" property-information@^6.0.0: - version "6.4.1" - resolved "https://registry.npmmirror.com/property-information/-/property-information-6.4.1.tgz" - integrity sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w== + version "6.5.0" + resolved "https://registry.npmmirror.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" + integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== + +property-information@^7.0.0: + version "7.1.0" + resolved "https://registry.npmmirror.com/property-information/-/property-information-7.1.0.tgz#b622e8646e02b580205415586b40804d3e8bfd5d" + integrity sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ== proto-list@~1.2.1: version "1.2.4" - resolved "https://registry.npmmirror.com/proto-list/-/proto-list-1.2.4.tgz" + resolved "https://registry.npmmirror.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== proxy-addr@~2.0.7: version "2.0.7" - resolved "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz" + resolved "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: forwarded "0.2.0" @@ -8534,53 +7567,53 @@ proxy-addr@~2.0.7: punycode@^2.1.0: version "2.3.1" - resolved "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz" + resolved "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== pupa@^3.1.0: version "3.1.0" - resolved "https://registry.npmmirror.com/pupa/-/pupa-3.1.0.tgz" + resolved "https://registry.npmmirror.com/pupa/-/pupa-3.1.0.tgz#f15610274376bbcc70c9a3aa8b505ea23f41c579" integrity sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug== dependencies: escape-goat "^4.0.0" -qs@6.11.0: - version "6.11.0" - resolved "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== +qs@6.13.0: + version "6.13.0" + resolved "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== dependencies: - side-channel "^1.0.4" + side-channel "^1.0.6" queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz" + resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== quick-lru@^5.1.1: version "5.1.1" - resolved "https://registry.npmmirror.com/quick-lru/-/quick-lru-5.1.1.tgz" + resolved "https://registry.npmmirror.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz" + resolved "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" range-parser@1.2.0: version "1.2.0" - resolved "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.0.tgz" + resolved "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" - resolved "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz" + resolved "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== raw-body@2.5.2: version "2.5.2" - resolved "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz" + resolved "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== dependencies: bytes "3.1.2" @@ -8590,7 +7623,7 @@ raw-body@2.5.2: rc@1.2.8: version "1.2.8" - resolved "https://registry.npmmirror.com/rc/-/rc-1.2.8.tgz" + resolved "https://registry.npmmirror.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: deep-extend "^0.6.0" @@ -8599,16 +7632,16 @@ rc@1.2.8: strip-json-comments "~2.0.1" react-dom@^18.0.0: - version "18.2.0" - resolved "https://registry.npmmirror.com/react-dom/-/react-dom-18.2.0.tgz" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + version "18.3.1" + resolved "https://registry.npmmirror.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== dependencies: loose-envify "^1.1.0" - scheduler "^0.23.0" + scheduler "^0.23.2" react-fast-compare@^3.0.1, react-fast-compare@^3.2.0: version "3.2.2" - resolved "https://registry.npmmirror.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz" + resolved "https://registry.npmmirror.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== "react-helmet-async@npm:@slorber/react-helmet-async@1.3.0": @@ -8622,9 +7655,14 @@ react-fast-compare@^3.0.1, react-fast-compare@^3.2.0: react-fast-compare "^3.2.0" shallowequal "^1.1.0" +react-icons@^5.5.0: + version "5.5.0" + resolved "https://registry.npmmirror.com/react-icons/-/react-icons-5.5.0.tgz#8aa25d3543ff84231685d3331164c00299cdfaf2" + integrity sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw== + react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: version "16.13.1" - resolved "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz" + resolved "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-json-view-lite@^2.3.0: @@ -8634,22 +7672,22 @@ react-json-view-lite@^2.3.0: react-loadable-ssr-addon-v5-slorber@^1.0.1: version "1.0.1" - resolved "https://registry.npmmirror.com/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz" + resolved "https://registry.npmmirror.com/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz#2cdc91e8a744ffdf9e3556caabeb6e4278689883" integrity sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A== dependencies: "@babel/runtime" "^7.10.3" "react-loadable@npm:@docusaurus/react-loadable@6.0.0": version "6.0.0" - resolved "https://registry.npmmirror.com/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz" + resolved "https://registry.npmmirror.com/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz#de6c7f73c96542bd70786b8e522d535d69069dc4" integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== dependencies: "@types/react" "*" react-player@^2.16.0: - version "2.16.0" - resolved "https://registry.npmmirror.com/react-player/-/react-player-2.16.0.tgz#89070700b03f5a5ded9f0b3165d4717390796481" - integrity sha512-mAIPHfioD7yxO0GNYVFD1303QFtI3lyyQZLY229UEAp/a10cSW+hPcakg0Keq8uWJxT2OiT/4Gt+Lc9bD6bJmQ== + version "2.16.1" + resolved "https://registry.npmmirror.com/react-player/-/react-player-2.16.1.tgz#f157600bd04a641d9a2c53685235d34dcfabac6b" + integrity sha512-mxP6CqjSWjidtyDoMOSHVPdhX0pY16aSvw5fVr44EMaT7X5Xz46uQ4b/YBm1v2x+3hHkB9PmjEEkmbHb9PXQ4w== dependencies: deepmerge "^4.0.0" load-script "^1.0.0" @@ -8659,14 +7697,14 @@ react-player@^2.16.0: react-router-config@^5.1.1: version "5.1.1" - resolved "https://registry.npmmirror.com/react-router-config/-/react-router-config-5.1.1.tgz" + resolved "https://registry.npmmirror.com/react-router-config/-/react-router-config-5.1.1.tgz#0f4263d1a80c6b2dc7b9c1902c9526478194a988" integrity sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg== dependencies: "@babel/runtime" "^7.1.2" react-router-dom@^5.3.4: version "5.3.4" - resolved "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-5.3.4.tgz" + resolved "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-5.3.4.tgz#2ed62ffd88cae6db134445f4a0c0ae8b91d2e5e6" integrity sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ== dependencies: "@babel/runtime" "^7.12.13" @@ -8679,7 +7717,7 @@ react-router-dom@^5.3.4: react-router@5.3.4, react-router@^5.3.4: version "5.3.4" - resolved "https://registry.npmmirror.com/react-router/-/react-router-5.3.4.tgz" + resolved "https://registry.npmmirror.com/react-router/-/react-router-5.3.4.tgz#8ca252d70fcc37841e31473c7a151cf777887bb5" integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== dependencies: "@babel/runtime" "^7.12.13" @@ -8693,15 +7731,15 @@ react-router@5.3.4, react-router@^5.3.4: tiny-warning "^1.0.0" react@^18.0.0: - version "18.2.0" - resolved "https://registry.npmmirror.com/react/-/react-18.2.0.tgz" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + version "18.3.1" + resolved "https://registry.npmmirror.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== dependencies: loose-envify "^1.1.0" readable-stream@^2.0.1: version "2.3.8" - resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz" + resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: core-util-is "~1.0.0" @@ -8714,7 +7752,7 @@ readable-stream@^2.0.1: readable-stream@^3.0.6: version "3.6.2" - resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz" + resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== dependencies: inherits "^2.0.3" @@ -8723,17 +7761,50 @@ readable-stream@^3.0.6: readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz" + resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== +recma-build-jsx@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz#c02f29e047e103d2fab2054954e1761b8ea253c4" + integrity sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew== dependencies: - regenerate "^1.4.2" + "@types/estree" "^1.0.0" + estree-util-build-jsx "^3.0.0" + vfile "^6.0.0" + +recma-jsx@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/recma-jsx/-/recma-jsx-1.0.0.tgz#f7bef02e571a49d6ba3efdfda8e2efab48dbe3aa" + integrity sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q== + dependencies: + acorn-jsx "^5.0.0" + estree-util-to-js "^2.0.0" + recma-parse "^1.0.0" + recma-stringify "^1.0.0" + unified "^11.0.0" + +recma-parse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/recma-parse/-/recma-parse-1.0.0.tgz#c351e161bb0ab47d86b92a98a9d891f9b6814b52" + integrity sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ== + dependencies: + "@types/estree" "^1.0.0" + esast-util-from-js "^2.0.0" + unified "^11.0.0" + vfile "^6.0.0" + +recma-stringify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/recma-stringify/-/recma-stringify-1.0.0.tgz#54632030631e0c7546136ff9ef8fde8e7b44f130" + integrity sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g== + dependencies: + "@types/estree" "^1.0.0" + estree-util-to-js "^2.0.0" + unified "^11.0.0" + vfile "^6.0.0" regenerate-unicode-properties@^10.2.0: version "10.2.0" @@ -8744,33 +7815,9 @@ regenerate-unicode-properties@^10.2.0: regenerate@^1.4.2: version "1.4.2" - resolved "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz" + resolved "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== - dependencies: - "@babel/regjsgen" "^0.8.0" - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - regexpu-core@^6.2.0: version "6.2.0" resolved "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826" @@ -8784,15 +7831,15 @@ regexpu-core@^6.2.0: unicode-match-property-value-ecmascript "^2.1.0" registry-auth-token@^5.0.1: - version "5.0.2" - resolved "https://registry.npmmirror.com/registry-auth-token/-/registry-auth-token-5.0.2.tgz" - integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== + version "5.1.0" + resolved "https://registry.npmmirror.com/registry-auth-token/-/registry-auth-token-5.1.0.tgz#3c659047ecd4caebd25bc1570a3aa979ae490eca" + integrity sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw== dependencies: "@pnpm/npm-conf" "^2.1.0" registry-url@^6.0.0: version "6.0.1" - resolved "https://registry.npmmirror.com/registry-url/-/registry-url-6.0.1.tgz" + resolved "https://registry.npmmirror.com/registry-url/-/registry-url-6.0.1.tgz#056d9343680f2f64400032b1e199faa692286c58" integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q== dependencies: rc "1.2.8" @@ -8809,31 +7856,33 @@ regjsparser@^0.12.0: dependencies: jsesc "~3.0.2" -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - rehype-raw@^7.0.0: version "7.0.0" - resolved "https://registry.npmmirror.com/rehype-raw/-/rehype-raw-7.0.0.tgz" + resolved "https://registry.npmmirror.com/rehype-raw/-/rehype-raw-7.0.0.tgz#59d7348fd5dbef3807bbaa1d443efd2dd85ecee4" integrity sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww== dependencies: "@types/hast" "^3.0.0" hast-util-raw "^9.0.0" vfile "^6.0.0" +rehype-recma@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/rehype-recma/-/rehype-recma-1.0.0.tgz#d68ef6344d05916bd96e25400c6261775411aa76" + integrity sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw== + dependencies: + "@types/estree" "^1.0.0" + "@types/hast" "^3.0.0" + hast-util-to-estree "^3.0.0" + relateurl@^0.2.7: version "0.2.7" - resolved "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz" + resolved "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== remark-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/remark-directive/-/remark-directive-3.0.0.tgz" - integrity sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA== + version "3.0.1" + resolved "https://registry.npmmirror.com/remark-directive/-/remark-directive-3.0.1.tgz#689ba332f156cfe1118e849164cc81f157a3ef0a" + integrity sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A== dependencies: "@types/mdast" "^4.0.0" mdast-util-directive "^3.0.0" @@ -8842,7 +7891,7 @@ remark-directive@^3.0.0: remark-emoji@^4.0.0: version "4.0.1" - resolved "https://registry.npmmirror.com/remark-emoji/-/remark-emoji-4.0.1.tgz" + resolved "https://registry.npmmirror.com/remark-emoji/-/remark-emoji-4.0.1.tgz#671bfda668047689e26b2078c7356540da299f04" integrity sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg== dependencies: "@types/mdast" "^4.0.2" @@ -8853,7 +7902,7 @@ remark-emoji@^4.0.0: remark-frontmatter@^5.0.0: version "5.0.0" - resolved "https://registry.npmmirror.com/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz" + resolved "https://registry.npmmirror.com/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz#b68d61552a421ec412c76f4f66c344627dc187a2" integrity sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ== dependencies: "@types/mdast" "^4.0.0" @@ -8862,9 +7911,9 @@ remark-frontmatter@^5.0.0: unified "^11.0.0" remark-gfm@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/remark-gfm/-/remark-gfm-4.0.0.tgz" - integrity sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA== + version "4.0.1" + resolved "https://registry.npmmirror.com/remark-gfm/-/remark-gfm-4.0.1.tgz#33227b2a74397670d357bf05c098eaf8513f0d6b" + integrity sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg== dependencies: "@types/mdast" "^4.0.0" mdast-util-gfm "^3.0.0" @@ -8874,16 +7923,16 @@ remark-gfm@^4.0.0: unified "^11.0.0" remark-mdx@^3.0.0: - version "3.0.1" - resolved "https://registry.npmmirror.com/remark-mdx/-/remark-mdx-3.0.1.tgz" - integrity sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA== + version "3.1.0" + resolved "https://registry.npmmirror.com/remark-mdx/-/remark-mdx-3.1.0.tgz#f979be729ecb35318fa48e2135c1169607a78343" + integrity sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA== dependencies: mdast-util-mdx "^3.0.0" micromark-extension-mdxjs "^3.0.0" remark-parse@^11.0.0: version "11.0.0" - resolved "https://registry.npmmirror.com/remark-parse/-/remark-parse-11.0.0.tgz" + resolved "https://registry.npmmirror.com/remark-parse/-/remark-parse-11.0.0.tgz#aa60743fcb37ebf6b069204eb4da304e40db45a1" integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== dependencies: "@types/mdast" "^4.0.0" @@ -8892,9 +7941,9 @@ remark-parse@^11.0.0: unified "^11.0.0" remark-rehype@^11.0.0: - version "11.1.0" - resolved "https://registry.npmmirror.com/remark-rehype/-/remark-rehype-11.1.0.tgz" - integrity sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g== + version "11.1.2" + resolved "https://registry.npmmirror.com/remark-rehype/-/remark-rehype-11.1.2.tgz#2addaadda80ca9bd9aa0da763e74d16327683b37" + integrity sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw== dependencies: "@types/hast" "^3.0.0" "@types/mdast" "^4.0.0" @@ -8904,7 +7953,7 @@ remark-rehype@^11.0.0: remark-stringify@^11.0.0: version "11.0.0" - resolved "https://registry.npmmirror.com/remark-stringify/-/remark-stringify-11.0.0.tgz" + resolved "https://registry.npmmirror.com/remark-stringify/-/remark-stringify-11.0.0.tgz#4c5b01dd711c269df1aaae11743eb7e2e7636fd3" integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== dependencies: "@types/mdast" "^4.0.0" @@ -8913,7 +7962,7 @@ remark-stringify@^11.0.0: renderkid@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/renderkid/-/renderkid-3.0.0.tgz" + resolved "https://registry.npmmirror.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== dependencies: css-select "^4.1.3" @@ -8929,50 +7978,41 @@ repeat-string@^1.0.0: require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz" + resolved "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== "require-like@>= 0.1.1": version "0.1.2" - resolved "https://registry.npmmirror.com/require-like/-/require-like-0.1.2.tgz" + resolved "https://registry.npmmirror.com/require-like/-/require-like-0.1.2.tgz#ad6f30c13becd797010c468afa775c0c0a6b47fa" integrity sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A== requires-port@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz" + resolved "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== resolve-alpn@^1.2.0: version "1.2.1" - resolved "https://registry.npmmirror.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz" + resolved "https://registry.npmmirror.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz" + resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-package-path@^4.0.3: version "4.0.3" - resolved "https://registry.npmmirror.com/resolve-package-path/-/resolve-package-path-4.0.3.tgz" + resolved "https://registry.npmmirror.com/resolve-package-path/-/resolve-package-path-4.0.3.tgz#31dab6897236ea6613c72b83658d88898a9040aa" integrity sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA== dependencies: path-root "^0.1.1" resolve-pathname@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz" + resolved "https://registry.npmmirror.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== -resolve@^1.14.2: - version "1.22.8" - resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - resolve@^1.22.10: version "1.22.10" resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" @@ -8984,39 +8024,39 @@ resolve@^1.22.10: responselike@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/responselike/-/responselike-3.0.0.tgz" + resolved "https://registry.npmmirror.com/responselike/-/responselike-3.0.0.tgz#20decb6c298aff0dbee1c355ca95461d42823626" integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== dependencies: lowercase-keys "^3.0.0" retry@^0.13.1: version "0.13.1" - resolved "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz" + resolved "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + version "1.1.0" + resolved "https://registry.npmmirror.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== rimraf@^2.6.3: version "2.7.1" - resolved "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz" + resolved "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== dependencies: glob "^7.1.3" rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" rtlcss@^4.1.0: - version "4.1.1" - resolved "https://registry.npmmirror.com/rtlcss/-/rtlcss-4.1.1.tgz" - integrity sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ== + version "4.3.0" + resolved "https://registry.npmmirror.com/rtlcss/-/rtlcss-4.3.0.tgz#f8efd4d5b64f640ec4af8fa25b65bacd9e07cc97" + integrity sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -9025,35 +8065,35 @@ rtlcss@^4.1.0: run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz" + resolved "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" - resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz" + resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -"safer-buffer@>= 2.1.2 < 3": +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" - resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz" + resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sax@^1.2.4: - version "1.3.0" - resolved "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + version "1.4.1" + resolved "https://registry.npmmirror.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.0.tgz" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== dependencies: loose-envify "^1.1.0" @@ -9062,26 +8102,16 @@ schema-dts@^1.1.2: resolved "https://registry.npmmirror.com/schema-dts/-/schema-dts-1.1.5.tgz#9237725d305bac3469f02b292a035107595dc324" integrity sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg== -schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: +schema-utils@^3.0.0: version "3.3.0" - resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz" + resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== dependencies: "@types/json-schema" "^7.0.8" ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^4.0.0, schema-utils@^4.0.1: - version "4.2.0" - resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.2.0.tgz" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -schema-utils@^4.3.0, schema-utils@^4.3.2: +schema-utils@^4.0.0, schema-utils@^4.0.1, schema-utils@^4.3.0, schema-utils@^4.3.2: version "4.3.2" resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.3.2.tgz#0c10878bf4a73fd2b1dfd14b9462b26788c806ae" integrity sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ== @@ -9093,7 +8123,7 @@ schema-utils@^4.3.0, schema-utils@^4.3.2: section-matter@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/section-matter/-/section-matter-1.0.0.tgz" + resolved "https://registry.npmmirror.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== dependencies: extend-shallow "^2.0.1" @@ -9101,12 +8131,12 @@ section-matter@^1.0.0: select-hose@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz" + resolved "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== selfsigned@^2.1.1: version "2.4.1" - resolved "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.4.1.tgz" + resolved "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== dependencies: "@types/node-forge" "^1.3.0" @@ -9114,37 +8144,25 @@ selfsigned@^2.1.1: semver-diff@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/semver-diff/-/semver-diff-4.0.0.tgz" + resolved "https://registry.npmmirror.com/semver-diff/-/semver-diff-4.0.0.tgz#3afcf5ed6d62259f5c72d0d5d50dffbdc9680df5" integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA== dependencies: semver "^7.3.5" semver@^6.3.1: version "6.3.1" - resolved "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz" + resolved "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.5, semver@^7.3.7, semver@^7.5.4: - version "7.6.0" - resolved "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.8: - version "7.6.3" - resolved "https://registry.npmmirror.com/semver/-/semver-7.6.3.tgz" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -semver@^7.5.3: - version "7.6.2" - resolved "https://registry.npmmirror.com/semver/-/semver-7.6.2.tgz" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== +semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: + version "7.7.2" + resolved "https://registry.npmmirror.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" + integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== -send@0.18.0: - version "0.18.0" - resolved "https://registry.npmmirror.com/send/-/send-0.18.0.tgz" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== +send@0.19.0: + version "0.19.0" + resolved "https://registry.npmmirror.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== dependencies: debug "2.6.9" depd "2.0.0" @@ -9162,7 +8180,7 @@ send@0.18.0: serialize-javascript@^6.0.0, serialize-javascript@^6.0.1, serialize-javascript@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz" + resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== dependencies: randombytes "^2.1.0" @@ -9182,7 +8200,7 @@ serve-handler@^6.1.6: serve-index@^1.9.1: version "1.9.1" - resolved "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.1.tgz" + resolved "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== dependencies: accepts "~1.3.4" @@ -9193,19 +8211,19 @@ serve-index@^1.9.1: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== +serve-static@1.16.2: + version "1.16.2" + resolved "https://registry.npmmirror.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== dependencies: - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.18.0" + send "0.19.0" -set-function-length@^1.2.1: +set-function-length@^1.2.2: version "1.2.2" - resolved "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz" + resolved "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== dependencies: define-data-property "^1.1.4" @@ -9217,61 +8235,91 @@ set-function-length@^1.2.1: setprototypeof@1.1.0: version "1.1.0" - resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz" + resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== setprototypeof@1.2.0: version "1.2.0" - resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz" + resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== shallow-clone@^3.0.0: version "3.0.1" - resolved "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz" + resolved "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== dependencies: kind-of "^6.0.2" shallowequal@^1.1.0: version "1.1.0" - resolved "https://registry.npmmirror.com/shallowequal/-/shallowequal-1.1.0.tgz" + resolved "https://registry.npmmirror.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz" + resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.1.tgz" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + version "1.8.3" + resolved "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.3.tgz#55e40ef33cf5c689902353a3d8cd1a6725f08b4b" + integrity sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw== -side-channel@^1.0.4: - version "1.0.6" - resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== dependencies: - call-bind "^1.0.7" es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.0.6: + version "1.1.0" + resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" - resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz" + resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== sirv@^2.0.3: version "2.0.4" - resolved "https://registry.npmmirror.com/sirv/-/sirv-2.0.4.tgz" + resolved "https://registry.npmmirror.com/sirv/-/sirv-2.0.4.tgz#5dd9a725c578e34e449f332703eb2a74e46a29b0" integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ== dependencies: "@polka/url" "^1.0.0-next.24" @@ -9280,13 +8328,13 @@ sirv@^2.0.3: sisteransi@^1.0.5: version "1.0.5" - resolved "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz" + resolved "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== sitemap@^7.1.1: - version "7.1.1" - resolved "https://registry.npmmirror.com/sitemap/-/sitemap-7.1.1.tgz" - integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== + version "7.1.2" + resolved "https://registry.npmmirror.com/sitemap/-/sitemap-7.1.2.tgz#6ce1deb43f6f177c68bc59cf93632f54e3ae6b72" + integrity sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw== dependencies: "@types/node" "^17.0.5" "@types/sax" "^1.2.1" @@ -9295,29 +8343,29 @@ sitemap@^7.1.1: skin-tone@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/skin-tone/-/skin-tone-2.0.0.tgz" + resolved "https://registry.npmmirror.com/skin-tone/-/skin-tone-2.0.0.tgz#4e3933ab45c0d4f4f781745d64b9f4c208e41237" integrity sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA== dependencies: unicode-emoji-modifier-base "^1.0.0" slash@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/slash/-/slash-2.0.0.tgz" + resolved "https://registry.npmmirror.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz" + resolved "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slash@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/slash/-/slash-4.0.0.tgz" + resolved "https://registry.npmmirror.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== snake-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmmirror.com/snake-case/-/snake-case-3.0.4.tgz" + resolved "https://registry.npmmirror.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== dependencies: dot-case "^3.0.4" @@ -9325,7 +8373,7 @@ snake-case@^3.0.4: sockjs@^0.3.24: version "0.3.24" - resolved "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz" + resolved "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== dependencies: faye-websocket "^0.11.3" @@ -9334,17 +8382,17 @@ sockjs@^0.3.24: sort-css-media-queries@2.2.0: version "2.2.0" - resolved "https://registry.npmmirror.com/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz" + resolved "https://registry.npmmirror.com/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz#aa33cf4a08e0225059448b6c40eddbf9f1c8334c" integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA== source-map-js@^1.0.1, source-map-js@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" + resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== source-map-support@~0.5.20: version "0.5.21" - resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz" + resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" @@ -9352,22 +8400,22 @@ source-map-support@~0.5.20: source-map@^0.6.0, source-map@~0.6.0: version "0.6.1" - resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@^0.7.0: version "0.7.4" - resolved "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== space-separated-tokens@^2.0.0: version "2.0.2" - resolved "https://registry.npmmirror.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" + resolved "https://registry.npmmirror.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== spdy-transport@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz" + resolved "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== dependencies: debug "^4.1.0" @@ -9379,7 +8427,7 @@ spdy-transport@^3.0.0: spdy@^4.0.2: version "4.0.2" - resolved "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz" + resolved "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== dependencies: debug "^4.1.0" @@ -9390,22 +8438,22 @@ spdy@^4.0.2: sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz" + resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== srcset@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/srcset/-/srcset-4.0.0.tgz" + resolved "https://registry.npmmirror.com/srcset/-/srcset-4.0.0.tgz#336816b665b14cd013ba545b6fe62357f86e65f4" integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== statuses@2.0.1: version "2.0.1" - resolved "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz" + resolved "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== "statuses@>= 1.4.0 < 2": version "1.5.0" - resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz" + resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== std-env@^3.7.0: @@ -9415,7 +8463,7 @@ std-env@^3.7.0: string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" - resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -9424,7 +8472,7 @@ string-width@^4.1.0, string-width@^4.2.0: string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" - resolved "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz" + resolved "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: eastasianwidth "^0.2.0" @@ -9433,29 +8481,29 @@ string-width@^5.0.1, string-width@^5.1.2: string_decoder@^1.1.1: version "1.3.0" - resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz" + resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz" + resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" stringify-entities@^4.0.0: - version "4.0.3" - resolved "https://registry.npmmirror.com/stringify-entities/-/stringify-entities-4.0.3.tgz" - integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== + version "4.0.4" + resolved "https://registry.npmmirror.com/stringify-entities/-/stringify-entities-4.0.4.tgz#b3b79ef5f277cc4ac73caeb0236c5ba939b3a4f3" + integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== dependencies: character-entities-html4 "^2.0.0" character-entities-legacy "^3.0.0" stringify-object@^3.3.0: version "3.3.0" - resolved "https://registry.npmmirror.com/stringify-object/-/stringify-object-3.3.0.tgz" + resolved "https://registry.npmmirror.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== dependencies: get-own-enumerable-property-symbols "^3.0.0" @@ -9464,55 +8512,55 @@ stringify-object@^3.3.0: strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^7.0.1: version "7.1.0" - resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: ansi-regex "^6.0.1" strip-bom-string@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz" + resolved "https://registry.npmmirror.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== strip-final-newline@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + resolved "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== -style-to-object@^0.4.0: - version "0.4.4" - resolved "https://registry.npmmirror.com/style-to-object/-/style-to-object-0.4.4.tgz" - integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== +style-to-js@^1.0.0: + version "1.1.17" + resolved "https://registry.npmmirror.com/style-to-js/-/style-to-js-1.1.17.tgz#488b1558a8c1fd05352943f088cc3ce376813d83" + integrity sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA== dependencies: - inline-style-parser "0.1.1" + style-to-object "1.0.9" -style-to-object@^1.0.0: - version "1.0.6" - resolved "https://registry.npmmirror.com/style-to-object/-/style-to-object-1.0.6.tgz" - integrity sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA== +style-to-object@1.0.9: + version "1.0.9" + resolved "https://registry.npmmirror.com/style-to-object/-/style-to-object-1.0.9.tgz#35c65b713f4a6dba22d3d0c61435f965423653f0" + integrity sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw== dependencies: - inline-style-parser "0.2.3" + inline-style-parser "0.2.4" stylehacks@^6.1.1: version "6.1.1" - resolved "https://registry.npmmirror.com/stylehacks/-/stylehacks-6.1.1.tgz" + resolved "https://registry.npmmirror.com/stylehacks/-/stylehacks-6.1.1.tgz#543f91c10d17d00a440430362d419f79c25545a6" integrity sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg== dependencies: browserslist "^4.23.0" @@ -9520,31 +8568,31 @@ stylehacks@^6.1.1: supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz" + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-color@^8.0.0: version "8.1.1" - resolved "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz" + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== svg-parser@^2.0.4: version "2.0.4" - resolved "https://registry.npmmirror.com/svg-parser/-/svg-parser-2.0.4.tgz" + resolved "https://registry.npmmirror.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== svgo@^3.0.2, svgo@^3.2.0: version "3.3.2" - resolved "https://registry.npmmirror.com/svgo/-/svgo-3.3.2.tgz" + resolved "https://registry.npmmirror.com/svgo/-/svgo-3.3.2.tgz#ad58002652dffbb5986fc9716afe52d869ecbda8" integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw== dependencies: "@trysound/sax" "0.2.0" @@ -9556,22 +8604,11 @@ svgo@^3.0.2, svgo@^3.2.0: picocolors "^1.0.0" tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: - version "2.2.1" - resolved "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.9: - version "5.3.10" - resolved "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.20" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" + version "2.2.2" + resolved "https://registry.npmmirror.com/tapable/-/tapable-2.2.2.tgz#ab4984340d30cb9989a490032f086dbb8b56d872" + integrity sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg== -terser-webpack-plugin@^5.3.11: +terser-webpack-plugin@^5.3.11, terser-webpack-plugin@^5.3.9: version "5.3.14" resolved "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06" integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw== @@ -9582,17 +8619,7 @@ terser-webpack-plugin@^5.3.11: serialize-javascript "^6.0.2" terser "^5.31.1" -terser@^5.10.0, terser@^5.15.1, terser@^5.26.0: - version "5.30.0" - resolved "https://registry.npmmirror.com/terser/-/terser-5.30.0.tgz" - integrity sha512-Y/SblUl5kEyEFzhMAQdsxVHh+utAxd4IuRNJzKywY/4uzSogh3G219jqbDDxYu4MXO9CzY3tSEqmZvW6AoEDJw== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -terser@^5.31.1: +terser@^5.10.0, terser@^5.15.1, terser@^5.31.1: version "5.43.1" resolved "https://registry.npmmirror.com/terser/-/terser-5.43.1.tgz#88387f4f9794ff1a29e7ad61fb2932e25b4fdb6d" integrity sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg== @@ -9604,17 +8631,17 @@ terser@^5.31.1: thunky@^1.0.2: version "1.1.0" - resolved "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz" + resolved "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== tiny-invariant@^1.0.2: version "1.3.3" - resolved "https://registry.npmmirror.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz" + resolved "https://registry.npmmirror.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== tiny-warning@^1.0.0: version "1.0.3" - resolved "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz" + resolved "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== tinypool@^1.0.2: @@ -9624,42 +8651,42 @@ tinypool@^1.0.2: tmp@^0.0.33: version "0.0.33" - resolved "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz" + resolved "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" toidentifier@1.0.1: version "1.0.1" - resolved "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz" + resolved "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== totalist@^3.0.0: version "3.0.1" - resolved "https://registry.npmmirror.com/totalist/-/totalist-3.0.1.tgz" + resolved "https://registry.npmmirror.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== trim-lines@^3.0.0: version "3.0.1" - resolved "https://registry.npmmirror.com/trim-lines/-/trim-lines-3.0.1.tgz" + resolved "https://registry.npmmirror.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== trough@^2.0.0: version "2.2.0" - resolved "https://registry.npmmirror.com/trough/-/trough-2.2.0.tgz" + resolved "https://registry.npmmirror.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== -tslib@^2.0.3, tslib@^2.6.0: - version "2.6.2" - resolved "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tslib@^2.0.3, tslib@^2.4.0, tslib@^2.6.0: + version "2.8.1" + resolved "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== type-fest@^0.21.3: version "0.21.3" @@ -9668,17 +8695,17 @@ type-fest@^0.21.3: type-fest@^1.0.1: version "1.4.0" - resolved "https://registry.npmmirror.com/type-fest/-/type-fest-1.4.0.tgz" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== type-fest@^2.13.0, type-fest@^2.5.0: version "2.19.0" - resolved "https://registry.npmmirror.com/type-fest/-/type-fest-2.19.0.tgz" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== type-is@~1.6.18: version "1.6.18" - resolved "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz" + resolved "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== dependencies: media-typer "0.3.0" @@ -9686,53 +8713,58 @@ type-is@~1.6.18: typedarray-to-buffer@^3.1.5: version "3.1.5" - resolved "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + resolved "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== dependencies: is-typedarray "^1.0.0" typescript@~5.2.2: version "5.2.2" - resolved "https://registry.npmmirror.com/typescript/-/typescript-5.2.2.tgz" + resolved "https://registry.npmmirror.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~7.8.0: + version "7.8.0" + resolved "https://registry.npmmirror.com/undici-types/-/undici-types-7.8.0.tgz#de00b85b710c54122e44fbfd911f8d70174cd294" + integrity sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw== + +undici@^7.12.0: + version "7.12.0" + resolved "https://registry.npmmirror.com/undici/-/undici-7.12.0.tgz#e93244fa49383e8a0e1a4295048fd454541c7ccb" + integrity sha512-GrKEsc3ughskmGA9jevVlIOPMiiAHJ4OFUtaAH+NhfTUSiZ1wMPIQqQvAJUrJspFXJt3EBWgpAeoHEDVT1IBug== unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + version "2.0.1" + resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== unicode-emoji-modifier-base@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz" + resolved "https://registry.npmmirror.com/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz#dbbd5b54ba30f287e2a8d5a249da6c0cef369459" integrity sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g== unicode-match-property-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + resolved "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: unicode-canonical-property-names-ecmascript "^2.0.0" unicode-property-aliases-ecmascript "^2.0.0" unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + version "2.2.0" + resolved "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" + integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== unicode-property-aliases-ecmascript@^2.0.0: version "2.1.0" - resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: - version "11.0.4" - resolved "https://registry.npmmirror.com/unified/-/unified-11.0.4.tgz" - integrity sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ== + version "11.0.5" + resolved "https://registry.npmmirror.com/unified/-/unified-11.0.5.tgz#f66677610a5c0a9ee90cab2b8d4d66037026d9e1" + integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA== dependencies: "@types/unist" "^3.0.0" bail "^2.0.0" @@ -9744,50 +8776,42 @@ unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: unique-string@^3.0.0: version "3.0.0" - resolved "https://registry.npmmirror.com/unique-string/-/unique-string-3.0.0.tgz" + resolved "https://registry.npmmirror.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== dependencies: crypto-random-string "^4.0.0" unist-util-is@^6.0.0: version "6.0.0" - resolved "https://registry.npmmirror.com/unist-util-is/-/unist-util-is-6.0.0.tgz" + resolved "https://registry.npmmirror.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424" integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== dependencies: "@types/unist" "^3.0.0" unist-util-position-from-estree@^2.0.0: version "2.0.0" - resolved "https://registry.npmmirror.com/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz" + resolved "https://registry.npmmirror.com/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz#d94da4df596529d1faa3de506202f0c9a23f2200" integrity sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ== dependencies: "@types/unist" "^3.0.0" unist-util-position@^5.0.0: version "5.0.0" - resolved "https://registry.npmmirror.com/unist-util-position/-/unist-util-position-5.0.0.tgz" + resolved "https://registry.npmmirror.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4" integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== dependencies: "@types/unist" "^3.0.0" -unist-util-remove-position@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz" - integrity sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q== - dependencies: - "@types/unist" "^3.0.0" - unist-util-visit "^5.0.0" - unist-util-stringify-position@^4.0.0: version "4.0.0" - resolved "https://registry.npmmirror.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz" + resolved "https://registry.npmmirror.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== dependencies: "@types/unist" "^3.0.0" unist-util-visit-parents@^6.0.0: version "6.0.1" - resolved "https://registry.npmmirror.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz" + resolved "https://registry.npmmirror.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815" integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== dependencies: "@types/unist" "^3.0.0" @@ -9795,7 +8819,7 @@ unist-util-visit-parents@^6.0.0: unist-util-visit@^5.0.0: version "5.0.0" - resolved "https://registry.npmmirror.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz" + resolved "https://registry.npmmirror.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6" integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== dependencies: "@types/unist" "^3.0.0" @@ -9804,17 +8828,17 @@ unist-util-visit@^5.0.0: universalify@^2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz" + resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz" + resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.1.1, update-browserslist-db@^1.1.3: +update-browserslist-db@^1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz" + resolved "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== dependencies: escalade "^3.2.0" @@ -9822,7 +8846,7 @@ update-browserslist-db@^1.1.1, update-browserslist-db@^1.1.3: update-notifier@^6.0.2: version "6.0.2" - resolved "https://registry.npmmirror.com/update-notifier/-/update-notifier-6.0.2.tgz" + resolved "https://registry.npmmirror.com/update-notifier/-/update-notifier-6.0.2.tgz#a6990253dfe6d5a02bd04fbb6a61543f55026b60" integrity sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og== dependencies: boxen "^7.0.0" @@ -9842,14 +8866,14 @@ update-notifier@^6.0.2: uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" url-loader@^4.1.1: version "4.1.1" - resolved "https://registry.npmmirror.com/url-loader/-/url-loader-4.1.1.tgz" + resolved "https://registry.npmmirror.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== dependencies: loader-utils "^2.0.0" @@ -9858,32 +8882,32 @@ url-loader@^4.1.1: util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz" + resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== utila@~0.4: version "0.4.0" - resolved "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz" + resolved "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== utility-types@^3.10.0: version "3.11.0" - resolved "https://registry.npmmirror.com/utility-types/-/utility-types-3.11.0.tgz" + resolved "https://registry.npmmirror.com/utility-types/-/utility-types-3.11.0.tgz#607c40edb4f258915e901ea7995607fdf319424c" integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== utils-merge@1.0.1: version "1.0.1" - resolved "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz" + resolved "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== uuid@^8.3.2: version "8.3.2" - resolved "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz" + resolved "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== validate-peer-dependencies@^2.2.0: version "2.2.0" - resolved "https://registry.npmmirror.com/validate-peer-dependencies/-/validate-peer-dependencies-2.2.0.tgz" + resolved "https://registry.npmmirror.com/validate-peer-dependencies/-/validate-peer-dependencies-2.2.0.tgz#47b8ff008f66a66fc5d8699123844522c1d874f4" integrity sha512-8X1OWlERjiUY6P6tdeU9E0EwO8RA3bahoOVG7ulOZT5MqgNDUO/BQoVjYiHPcNe+v8glsboZRIw9iToMAA2zAA== dependencies: resolve-package-path "^4.0.3" @@ -9891,57 +8915,56 @@ validate-peer-dependencies@^2.2.0: value-equal@^1.0.1: version "1.0.1" - resolved "https://registry.npmmirror.com/value-equal/-/value-equal-1.0.1.tgz" + resolved "https://registry.npmmirror.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== vary@~1.1.2: version "1.1.2" - resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz" + resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== vfile-location@^5.0.0: - version "5.0.2" - resolved "https://registry.npmmirror.com/vfile-location/-/vfile-location-5.0.2.tgz" - integrity sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg== + version "5.0.3" + resolved "https://registry.npmmirror.com/vfile-location/-/vfile-location-5.0.3.tgz#cb9eacd20f2b6426d19451e0eafa3d0a846225c3" + integrity sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg== dependencies: "@types/unist" "^3.0.0" vfile "^6.0.0" vfile-message@^4.0.0: version "4.0.2" - resolved "https://registry.npmmirror.com/vfile-message/-/vfile-message-4.0.2.tgz" + resolved "https://registry.npmmirror.com/vfile-message/-/vfile-message-4.0.2.tgz#c883c9f677c72c166362fd635f21fc165a7d1181" integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== dependencies: "@types/unist" "^3.0.0" unist-util-stringify-position "^4.0.0" vfile@^6.0.0, vfile@^6.0.1: - version "6.0.1" - resolved "https://registry.npmmirror.com/vfile/-/vfile-6.0.1.tgz" - integrity sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw== + version "6.0.3" + resolved "https://registry.npmmirror.com/vfile/-/vfile-6.0.3.tgz#3652ab1c496531852bf55a6bac57af981ebc38ab" + integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q== dependencies: "@types/unist" "^3.0.0" - unist-util-stringify-position "^4.0.0" vfile-message "^4.0.0" watchpack@^2.4.1: - version "2.4.1" - resolved "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.1.tgz" - integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== + version "2.4.4" + resolved "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.4.tgz#473bda72f0850453da6425081ea46fc0d7602947" + integrity sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" - resolved "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz" + resolved "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== dependencies: minimalistic-assert "^1.0.0" web-namespaces@^2.0.0: version "2.0.1" - resolved "https://registry.npmmirror.com/web-namespaces/-/web-namespaces-2.0.1.tgz" + resolved "https://registry.npmmirror.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== webpack-bundle-analyzer@^4.10.2: @@ -9964,7 +8987,7 @@ webpack-bundle-analyzer@^4.10.2: webpack-dev-middleware@^5.3.4: version "5.3.4" - resolved "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz" + resolved "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517" integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q== dependencies: colorette "^2.0.10" @@ -10011,7 +9034,7 @@ webpack-dev-server@^4.15.2: webpack-merge@^5.9.0: version "5.10.0" - resolved "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.10.0.tgz" + resolved "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== dependencies: clone-deep "^4.0.1" @@ -10027,50 +9050,15 @@ webpack-merge@^6.0.1: flat "^5.0.2" wildcard "^2.0.1" -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - webpack-sources@^3.3.3: version "3.3.3" resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.3.3.tgz#d4bf7f9909675d7a070ff14d0ef2a4f3c982c723" integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg== -webpack@^5.88.1: - version "5.91.0" - resolved "https://registry.npmmirror.com/webpack/-/webpack-5.91.0.tgz" - integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.16.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.11" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.1" - webpack-sources "^3.2.3" - -webpack@^5.95.0: - version "5.100.0" - resolved "https://registry.npmmirror.com/webpack/-/webpack-5.100.0.tgz#fa3ef235b38969bd0ded53297a2c44a5f092f8f4" - integrity sha512-H8yBSBTk+BqxrINJnnRzaxU94SVP2bjd7WmA+PfCphoIdDpeQMJ77pq9/4I7xjLq38cB1bNKfzYPZu8pB3zKtg== +webpack@^5.88.1, webpack@^5.95.0: + version "5.100.2" + resolved "https://registry.npmmirror.com/webpack/-/webpack-5.100.2.tgz#e2341facf9f7de1d702147c91bcb65b693adf9e8" + integrity sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw== dependencies: "@types/eslint-scope" "^3.7.7" "@types/estree" "^1.0.8" @@ -10114,7 +9102,7 @@ webpackbar@^6.0.1: websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" - resolved "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz" + resolved "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== dependencies: http-parser-js ">=0.5.1" @@ -10123,19 +9111,31 @@ websocket-driver@>=0.5.1, websocket-driver@^0.7.4: websocket-extensions@>=0.1.1: version "0.1.4" - resolved "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + resolved "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== +whatwg-encoding@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5" + integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ== + dependencies: + iconv-lite "0.6.3" + +whatwg-mimetype@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a" + integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg== + which@^2.0.1: version "2.0.2" - resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz" + resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" widest-line@^4.0.1: version "4.0.1" - resolved "https://registry.npmmirror.com/widest-line/-/widest-line-4.0.1.tgz" + resolved "https://registry.npmmirror.com/widest-line/-/widest-line-4.0.1.tgz#a0fc673aaba1ea6f0a0d35b3c2795c9a9cc2ebf2" integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== dependencies: string-width "^5.0.1" @@ -10156,7 +9156,7 @@ wrap-ansi@^7.0.0: wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: version "8.1.0" - resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== dependencies: ansi-styles "^6.1.0" @@ -10165,12 +9165,12 @@ wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: wrappy@1: version "1.0.2" - resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz" + resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^3.0.3: version "3.0.3" - resolved "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + resolved "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== dependencies: imurmurhash "^0.1.4" @@ -10179,53 +9179,48 @@ write-file-atomic@^3.0.3: typedarray-to-buffer "^3.1.5" ws@^7.3.1: - version "7.5.9" - resolved "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + version "7.5.10" + resolved "https://registry.npmmirror.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== ws@^8.13.0: - version "8.16.0" - resolved "https://registry.npmmirror.com/ws/-/ws-8.16.0.tgz" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + version "8.18.3" + resolved "https://registry.npmmirror.com/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472" + integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: version "5.1.0" - resolved "https://registry.npmmirror.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz" + resolved "https://registry.npmmirror.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9" integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== xml-js@^1.6.11: version "1.6.11" - resolved "https://registry.npmmirror.com/xml-js/-/xml-js-1.6.11.tgz" + resolved "https://registry.npmmirror.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== dependencies: sax "^1.2.4" yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz" + resolved "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - yaml@^2.2.2: - version "2.4.5" - resolved "https://registry.npmmirror.com/yaml/-/yaml-2.4.5.tgz" - integrity sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg== + version "2.8.0" + resolved "https://registry.npmmirror.com/yaml/-/yaml-2.8.0.tgz#15f8c9866211bdc2d3781a0890e44d4fa1a5fff6" + integrity sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ== yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-1.0.0.tgz" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + version "1.2.1" + resolved "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-1.2.1.tgz#36d7c4739f775b3cbc28e6136e21aa057adec418" + integrity sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg== zod@3.24.1: version "3.24.1" - resolved "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz#27445c912738c8ad1e9de1bea0359fa44d9d35ee" + resolved "https://registry.npmmirror.com/zod/-/zod-3.24.1.tgz#27445c912738c8ad1e9de1bea0359fa44d9d35ee" integrity sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A== zwitch@^2.0.0: version "2.0.4" - resolved "https://registry.npmmirror.com/zwitch/-/zwitch-2.0.4.tgz" + resolved "https://registry.npmmirror.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==