XCZM commited on
Commit
1490cc2
1 Parent(s): 70c6197

Upload 15 files

Browse files
Files changed (15) hide show
  1. .dockerignore +37 -0
  2. .env +20 -0
  3. .eslintignore +5 -0
  4. .eslintrc.json +14 -0
  5. .gitignore +23 -0
  6. .prettierignore +6 -0
  7. .prettierrc.json +8 -0
  8. CODE_OF_CONDUCT.md +84 -0
  9. Dockerfile +41 -0
  10. LICENSE +21 -0
  11. README.md +158 -10
  12. docker-compose.yml +15 -0
  13. package.json +52 -0
  14. pnpm-lock.yaml +1678 -0
  15. tsconfig.json +13 -0
.dockerignore ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # folders
2
+ .devcontainer
3
+ .github
4
+ .husky
5
+ .idea
6
+ .vscode
7
+ Dockerfile*
8
+ LICENSE
9
+ Procfile
10
+ node_modules
11
+ test
12
+
13
+ # files
14
+ .codecov.yml
15
+ .dockerignore
16
+ .editorconfig
17
+ .eslint*
18
+ .gitignore
19
+ .gitpod.yml
20
+ .markdownlint.jsonc
21
+ .prettier*
22
+ .(yarn|npm|nvm)rc
23
+ *.md
24
+ app.json
25
+ docker-compose*
26
+ fly.toml
27
+ jsconfig.json
28
+ npm-debug.log
29
+ process.json
30
+ package-lock.json
31
+ vercel.json
32
+
33
+ # git but keep the git commit hash
34
+ .git/logs
35
+ .git/index
36
+ .git/info
37
+ .git/hooks
.env ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 服务端口
2
+ PORT = 6688
3
+
4
+ # 允许的域名
5
+ ALLOWED_DOMAIN = "*"
6
+
7
+ # ROBOT
8
+ DISALLOW_ROBOT = true
9
+
10
+ # 缓存时长( 秒 )
11
+ CACHE_TTL = 3600
12
+
13
+ # 请求超时( 毫秒 )
14
+ REQUEST_TIMEOUT = 6000
15
+
16
+ # 是否输出日志
17
+ USE_LOG_FILE = true
18
+
19
+ # RSS Mode
20
+ RSS_MODE = false
.eslintignore ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ .vscode
2
+ docker-compose.yml
3
+ dist
4
+ logs
5
+ !/.github
.eslintrc.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "env": {
3
+ "browser": true,
4
+ "es2021": true
5
+ },
6
+ "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
7
+ "parser": "@typescript-eslint/parser",
8
+ "parserOptions": {
9
+ "ecmaVersion": "latest",
10
+ "sourceType": "module"
11
+ },
12
+ "plugins": ["@typescript-eslint"],
13
+ "rules": {}
14
+ }
.gitignore ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Logs
2
+ logs
3
+ *.log
4
+ npm-debug.log*
5
+ yarn-debug.log*
6
+ yarn-error.log*
7
+ pnpm-debug.log*
8
+ lerna-debug.log*
9
+
10
+ node_modules
11
+ .DS_Store
12
+ dist
13
+ *.local
14
+
15
+ # Editor directories and files
16
+ .vscode/*
17
+ !.vscode/extensions.json
18
+ .idea
19
+ *.suo
20
+ *.ntvs*
21
+ *.njsproj
22
+ *.sln
23
+ *.sw?
.prettierignore ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ dist
2
+ node_modules
3
+ pnpm-lock.yaml
4
+ LICENSE.md
5
+ # tsconfig.json
6
+ # tsconfig.*.json
.prettierrc.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "$schema": "https://json.schemastore.org/prettierrc",
3
+ "singleQuote": false,
4
+ "trailingComma": "all",
5
+ "tabWidth": 2,
6
+ "semi": true,
7
+ "printWidth": 100
8
+ }
CODE_OF_CONDUCT.md ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
6
+
7
+ We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
8
+
9
+ ## Our Standards
10
+
11
+ Examples of behavior that contributes to a positive environment for our community include:
12
+
13
+ - Demonstrating empathy and kindness toward other people
14
+ - Being respectful of differing opinions, viewpoints, and experiences
15
+ - Giving and gracefully accepting constructive feedback
16
+ - Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
17
+ - Focusing on what is best not just for us as individuals, but for the overall community
18
+
19
+ Examples of unacceptable behavior include:
20
+
21
+ - The use of sexualized language or imagery, and sexual attention or
22
+ advances of any kind
23
+ - Trolling, insulting or derogatory comments, and personal or political attacks
24
+ - Public or private harassment
25
+ - Publishing others' private information, such as a physical or email
26
+ address, without their explicit permission
27
+ - Other conduct which could reasonably be considered inappropriate in a
28
+ professional setting
29
+
30
+ ## Enforcement Responsibilities
31
+
32
+ Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
33
+
34
+ Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
35
+
36
+ ## Scope
37
+
38
+ This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
39
+
40
+ ## Enforcement
41
+
42
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at <i@diygod.me>. All complaints will be reviewed and investigated promptly and fairly.
43
+
44
+ All community leaders are obligated to respect the privacy and security of the reporter of any incident.
45
+
46
+ ## Enforcement Guidelines
47
+
48
+ Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
49
+
50
+ ### 1. Correction
51
+
52
+ **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
53
+
54
+ **Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
55
+
56
+ ### 2. Warning
57
+
58
+ **Community Impact**: A violation through a single incident or series of actions.
59
+
60
+ **Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
61
+
62
+ ### 3. Temporary Ban
63
+
64
+ **Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
65
+
66
+ **Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
67
+
68
+ ### 4. Permanent Ban
69
+
70
+ **Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
71
+
72
+ **Consequence**: A permanent ban from any sort of public interaction within the project community.
73
+
74
+ ## Attribution
75
+
76
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0,
77
+ available at <https://www.contributor-covenant.org/version/2/0/code_of_conduct.html>.
78
+
79
+ Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).
80
+
81
+ [homepage]: https://www.contributor-covenant.org
82
+
83
+ For answers to common questions about this code of conduct, see the FAQ at
84
+ <https://www.contributor-covenant.org/faq>. Translations are available at <https://www.contributor-covenant.org/translations>.
Dockerfile ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM node:20-alpine AS base
2
+
3
+ FROM base AS builder
4
+
5
+ RUN apk add --no-cache libc6-compat
6
+ RUN npm install -g pnpm
7
+ WORKDIR /app
8
+
9
+ COPY package*json tsconfig.json pnpm-lock.yaml .env ./
10
+ COPY src ./src
11
+ COPY public ./public
12
+
13
+ RUN pnpm install && \
14
+ pnpm build && \
15
+ pnpm prune --production
16
+
17
+ FROM base AS runner
18
+ WORKDIR /app
19
+
20
+ # 创建用户和组
21
+ RUN addgroup --system --gid 114514 nodejs
22
+ RUN adduser --system --uid 114514 hono
23
+
24
+ # 创建日志目录
25
+ RUN mkdir -p /app/logs && chown -R hono:nodejs /app/logs
26
+
27
+ # 复制文件
28
+ COPY --from=builder --chown=hono:nodejs /app/node_modules /app/node_modules
29
+ COPY --from=builder --chown=hono:nodejs /app/dist /app/dist
30
+ COPY --from=builder /app/public /app/public
31
+ COPY --from=builder /app/.env /app/.env
32
+ COPY --from=builder /app/package.json /app/package.json
33
+
34
+ # 切换用户
35
+ USER hono
36
+
37
+ # 暴露端口
38
+ EXPOSE 6688
39
+
40
+ # 运行
41
+ CMD ["node", "/app/dist/index.js"]
LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2023 imsyy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
README.md CHANGED
@@ -1,10 +1,158 @@
1
- ---
2
- title: DailyHotApi
3
- emoji: 🏃
4
- colorFrom: purple
5
- colorTo: gray
6
- sdk: docker
7
- pinned: false
8
- ---
9
-
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div align="center">
2
+ <img alt="logo" height="120" src="./public/favicon.png" width="120"/>
3
+ <h2>今日热榜</h2>
4
+ <p>一个聚合热门数据的 API 接口</p>
5
+ </div>
6
+
7
+ ## 🚩 特性
8
+
9
+ - 极快响应,便于开发
10
+ - 支持 RSS 模式和 JSON 模式
11
+ - 支持多种部署方式
12
+ - 简明的路由目录,便于新增
13
+
14
+ ## 👀 示例
15
+
16
+ > 这里是使用该 API 的示例站点
17
+ > 示例站点可能由于访问量或者长久未维护而访问异常
18
+ > 若您也使用了本 API 搭建了网站,欢迎提交您的站点链接
19
+
20
+ - [今日热榜 - https://hot.imsyy.top/](https://hot.imsyy.top/)
21
+
22
+ ## 🎉 总览
23
+
24
+ > 🟢 状态正常 / 🟠 可能失效 / ❌ 无法使用 / ⚠️ 需要科学上网
25
+
26
+ | **站点** | **类别** | **调用名称** | **状态** |
27
+ | ---------------- | ------------ | -------------- | -------- |
28
+ | 哔哩哔哩 | 热门榜 | bilibili | 🟢 |
29
+ | AcFun | 排行榜 | acfun | 🟢 |
30
+ | 微博 | 热搜榜 | weibo | 🟢 |
31
+ | 知乎 | 热榜 | zhihu | 🟢 |
32
+ | 知乎日报 | 推荐榜 | zhihu-daily | 🟢 |
33
+ | 百度 | 热搜榜 | baidu | 🟢 |
34
+ | 抖音 | 热点榜 | douyin | 🟢 |
35
+ | 豆瓣电影 | 新片榜 | douban-movie | 🟢 |
36
+ | 豆瓣讨论小组 | 讨论精选 | douban-group | 🟢 |
37
+ | 百度贴吧 | 热议榜 | tieba | 🟢 |
38
+ | 少数派 | 热榜 | sspai | 🟢 |
39
+ | IT之家 | 热榜 | ithome | 🟠 |
40
+ | IT之家「喜加一」 | 最新动态 | ithome-xijiayi | 🟠 |
41
+ | 简书 | 热门推荐 | jianshu | 🟠 |
42
+ | 澎湃新闻 | 热榜 | thepaper | 🟢 |
43
+ | 今日头条 | 热榜 | toutiao | 🟢 |
44
+ | 36 氪 | 热榜 | 36kr | 🟢 |
45
+ | 51CTO | 推荐榜 | 51cto | 🟢 |
46
+ | 稀土掘金 | 热榜 | juejin | 🟢 |
47
+ | 腾讯新闻 | 热点榜 | qq-news | 🟢 |
48
+ | 网易新闻 | 热点榜 | netease-news | 🟢 |
49
+ | 虎嗅 | 24小时 | huxiu | 🟢 |
50
+ | 爱范儿 | 快讯 | ifanr | 🟢 |
51
+ | 英雄联盟 | 更新公告 | lol | 🟢 |
52
+ | 原神 | 最新消息 | genshin | 🟢 |
53
+ | 崩坏3 | 最新动态 | honkai | 🟢 |
54
+ | 崩坏:星穹铁道 | 最新动态 | starrail | 🟢 |
55
+ | 微信读书 | 飙升榜 | weread | 🟢 |
56
+ | NGA | 热帖 | ngabbs | 🟢 |
57
+ | V2EX | 主题榜 | v2ex | ⚠️ |
58
+ | HelloGitHub | Trending | hellogithub | 🟢 |
59
+ | 中央气象台 | 全国气象预警 | weatheralarm | 🟢 |
60
+ | 中国地震台 | 地震速报 | earthquake | 🟢 |
61
+
62
+ ## ⚙️ 部署
63
+
64
+ 具体使用说明可参考 [我的博客](https://blog.imsyy.top/posts/2024/0408),下方仅讲解基础操作:
65
+
66
+ ### Docker 部署
67
+
68
+ > 安装及配置 Docker 将不在此处说明,请自行解决
69
+
70
+ #### 本地构建
71
+
72
+ ```bash
73
+ # 构建
74
+ docker build -t dailyhot-api .
75
+ # 运行
76
+ docker run -p 6688:6688 -d dailyhot-api
77
+ # 或使用 Docker Compose
78
+ docker-compose up -d
79
+ ```
80
+
81
+ #### 在线部署
82
+
83
+ ```bash
84
+ # 拉取
85
+ docker pull imsyy/dailyhot-api:latest
86
+ # 运行
87
+ docker run -p 6688:6688 -d imsyy/dailyhot-api:latest
88
+ ```
89
+
90
+ ### 手动部署
91
+
92
+ 最直接的方式,您可以按照以下步骤将 DailyHotApi 部署在您的电脑、服务器或者其他任何地方
93
+
94
+ #### 安装
95
+
96
+ ```bash
97
+ git clone https://github.com/imsyy/DailyHotApi.git
98
+ cd DailyHotApi
99
+ ```
100
+
101
+ 然后再执行安装依赖
102
+
103
+ ```bash
104
+ npm install
105
+ ```
106
+
107
+ #### 开发
108
+
109
+ ```bash
110
+ npm run dev
111
+ ```
112
+
113
+ 成功启动后程序会在控制台输出可访问的地址
114
+
115
+ #### 编译运行
116
+
117
+ ```bash
118
+ npm run build
119
+ npm run start
120
+ ```
121
+
122
+ 成功启动后程序会在控制台输出可访问的地址
123
+
124
+ ### Railway 部署
125
+
126
+ 本项目支持使用 [Railway](https://railway.app/) 一键部署,请先将本项目 fork 到您的仓库中,即可使用一键部署。
127
+
128
+ ### Zeabur 部署
129
+
130
+ 本项目支持使用 [Zeabur](https://zeabur.com/) 一键部署,请先将本项目 fork 到您的仓库中,即可使用一键部署。
131
+
132
+ ### Vercel 部署
133
+
134
+ > 🚧 Vercel 部署支持正在修复中
135
+
136
+ 若您目前仅能通过 `Vercel` 进行部署,那么请暂时不要使用最新版本
137
+
138
+ ## ⚠️ 须知
139
+
140
+ - 本项目���了避免频繁请求官方数据,默认对数据做了缓存处理,默认为 `60` 分钟,如需更改,请自行修改配置
141
+ - 本项目部分接口使用了 **页面爬虫**,若违反对应页面的相关规则,请 **及时通知我去除该接口**
142
+
143
+ ## 📢 免责声明
144
+
145
+ - 本项目提供的 `API` 仅供开发者进行技术研究和开发测试使用。使用该 `API` 获取的信息仅供参考,不代表本项目对信息的准确性、可靠性、合法性、完整性作出任何承诺或保证。本项目不对任何因使用该 `API` 获取信息而导致的任何直接或间接损失负责。本项目保留随时更改 `API` 接口地址、接口协议、接口参数及其他相关内容的权利。本项目对使用者使用 `API` 的行为不承担任何直接或间接的法律责任
146
+ - 本项目并未与相关信息提供方建立任何关联或合作关系,获取的信息均来自公开渠道,如因使用该 `API` 获取信息而产生的任何法律责任,由使用者自行承担
147
+ - 本项目对使用 `API` 获取的信息进行了最大限度的筛选和整理,但不保证信息的准确性和完整性。使用 `API` 获取信息时,请务必自行核实信息的真实性和可靠性,谨慎处理相关事项
148
+ - 本项目保留对 `API` 的随时更改、停用、限制使用等措施的权利。任何因使用本 `API` 产生的损失,本项目不负担任何赔偿和责任
149
+
150
+ ## 😘 鸣谢
151
+
152
+ 特此感谢为本项目提供支持与灵感的项目
153
+
154
+ - [RSSHub](https://github.com/DIYgod/RSSHub)
155
+
156
+ ## ⭐ Star History
157
+
158
+ [![Star History Chart](https://api.star-history.com/svg?repos=imsyy/DailyHotApi&type=Date)](https://star-history.com/#imsyy/DailyHotApi&Date)
docker-compose.yml ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: "3.8"
2
+
3
+ services:
4
+ DailyhotApi:
5
+ build:
6
+ context: .
7
+ target: runner
8
+ ports:
9
+ - "6688:6688"
10
+ volumes:
11
+ - "./logs:/app/logs"
12
+ environment:
13
+ - PORT=6688
14
+ user: "114514"
15
+ restart: always
package.json ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "dailyhot_api",
3
+ "version": "2.0.0-rc.2",
4
+ "description": "An Api on Today's Hot list",
5
+ "keywords": [
6
+ "API",
7
+ "RSS"
8
+ ],
9
+ "homepage": "https://github.com/imsyy/DailyHotApi#readme",
10
+ "bugs": {
11
+ "url": "https://github.com/imsyy/DailyHotApi/issues"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/DIYgod/RSSHub.git"
16
+ },
17
+ "license": "MIT",
18
+ "author": "imsyy",
19
+ "main": "src/index.ts",
20
+ "scripts": {
21
+ "format": "prettier --write .",
22
+ "lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts,.vue --fix",
23
+ "dev": "tsx watch --no-cache src/index.ts",
24
+ "dev:cache": "tsx watch src/index.ts",
25
+ "build": "tsc --project tsconfig.json",
26
+ "start": "tsx src/index.ts"
27
+ },
28
+ "type": "module",
29
+ "dependencies": {
30
+ "@hono/node-server": "^1.9.1",
31
+ "axios": "^1.6.8",
32
+ "cheerio": "1.0.0-rc.12",
33
+ "dotenv": "^16.4.5",
34
+ "feed": "^4.2.2",
35
+ "hono": "^4.2.2",
36
+ "md5": "^2.3.0",
37
+ "node-cache": "^5.1.2",
38
+ "winston": "^3.13.0"
39
+ },
40
+ "devDependencies": {
41
+ "@types/node": "^20.12.5",
42
+ "@typescript-eslint/eslint-plugin": "^7.5.0",
43
+ "@typescript-eslint/parser": "^7.5.0",
44
+ "eslint": "^8.57.0",
45
+ "prettier": "^3.2.5",
46
+ "tsx": "^3.14.0",
47
+ "typescript": "^5.4.4"
48
+ },
49
+ "engines": {
50
+ "node": ">=20"
51
+ }
52
+ }
pnpm-lock.yaml ADDED
@@ -0,0 +1,1678 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ lockfileVersion: '6.0'
2
+
3
+ settings:
4
+ autoInstallPeers: true
5
+ excludeLinksFromLockfile: false
6
+
7
+ dependencies:
8
+ '@hono/node-server':
9
+ specifier: ^1.9.1
10
+ version: 1.9.1
11
+ axios:
12
+ specifier: ^1.6.8
13
+ version: 1.6.8
14
+ cheerio:
15
+ specifier: 1.0.0-rc.12
16
+ version: 1.0.0-rc.12
17
+ dotenv:
18
+ specifier: ^16.4.5
19
+ version: 16.4.5
20
+ feed:
21
+ specifier: ^4.2.2
22
+ version: 4.2.2
23
+ hono:
24
+ specifier: ^4.2.2
25
+ version: 4.2.2
26
+ md5:
27
+ specifier: ^2.3.0
28
+ version: 2.3.0
29
+ node-cache:
30
+ specifier: ^5.1.2
31
+ version: 5.1.2
32
+ winston:
33
+ specifier: ^3.13.0
34
+ version: 3.13.0
35
+
36
+ devDependencies:
37
+ '@types/node':
38
+ specifier: ^20.12.5
39
+ version: 20.12.5
40
+ '@typescript-eslint/eslint-plugin':
41
+ specifier: ^7.5.0
42
+ version: 7.5.0(@typescript-eslint/parser@7.5.0)(eslint@8.57.0)(typescript@5.4.4)
43
+ '@typescript-eslint/parser':
44
+ specifier: ^7.5.0
45
+ version: 7.5.0(eslint@8.57.0)(typescript@5.4.4)
46
+ eslint:
47
+ specifier: ^8.57.0
48
+ version: 8.57.0
49
+ prettier:
50
+ specifier: ^3.2.5
51
+ version: 3.2.5
52
+ tsx:
53
+ specifier: ^3.14.0
54
+ version: 3.14.0
55
+ typescript:
56
+ specifier: ^5.4.4
57
+ version: 5.4.4
58
+
59
+ packages:
60
+
61
+ /@aashutoshrathi/word-wrap@1.2.6:
62
+ resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
63
+ engines: {node: '>=0.10.0'}
64
+ dev: true
65
+
66
+ /@colors/colors@1.6.0:
67
+ resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==}
68
+ engines: {node: '>=0.1.90'}
69
+ dev: false
70
+
71
+ /@dabh/diagnostics@2.0.3:
72
+ resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==}
73
+ dependencies:
74
+ colorspace: 1.1.4
75
+ enabled: 2.0.0
76
+ kuler: 2.0.0
77
+ dev: false
78
+
79
+ /@esbuild/android-arm64@0.18.20:
80
+ resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
81
+ engines: {node: '>=12'}
82
+ cpu: [arm64]
83
+ os: [android]
84
+ requiresBuild: true
85
+ dev: true
86
+ optional: true
87
+
88
+ /@esbuild/android-arm@0.18.20:
89
+ resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
90
+ engines: {node: '>=12'}
91
+ cpu: [arm]
92
+ os: [android]
93
+ requiresBuild: true
94
+ dev: true
95
+ optional: true
96
+
97
+ /@esbuild/android-x64@0.18.20:
98
+ resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
99
+ engines: {node: '>=12'}
100
+ cpu: [x64]
101
+ os: [android]
102
+ requiresBuild: true
103
+ dev: true
104
+ optional: true
105
+
106
+ /@esbuild/darwin-arm64@0.18.20:
107
+ resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
108
+ engines: {node: '>=12'}
109
+ cpu: [arm64]
110
+ os: [darwin]
111
+ requiresBuild: true
112
+ dev: true
113
+ optional: true
114
+
115
+ /@esbuild/darwin-x64@0.18.20:
116
+ resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
117
+ engines: {node: '>=12'}
118
+ cpu: [x64]
119
+ os: [darwin]
120
+ requiresBuild: true
121
+ dev: true
122
+ optional: true
123
+
124
+ /@esbuild/freebsd-arm64@0.18.20:
125
+ resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
126
+ engines: {node: '>=12'}
127
+ cpu: [arm64]
128
+ os: [freebsd]
129
+ requiresBuild: true
130
+ dev: true
131
+ optional: true
132
+
133
+ /@esbuild/freebsd-x64@0.18.20:
134
+ resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
135
+ engines: {node: '>=12'}
136
+ cpu: [x64]
137
+ os: [freebsd]
138
+ requiresBuild: true
139
+ dev: true
140
+ optional: true
141
+
142
+ /@esbuild/linux-arm64@0.18.20:
143
+ resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
144
+ engines: {node: '>=12'}
145
+ cpu: [arm64]
146
+ os: [linux]
147
+ requiresBuild: true
148
+ dev: true
149
+ optional: true
150
+
151
+ /@esbuild/linux-arm@0.18.20:
152
+ resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
153
+ engines: {node: '>=12'}
154
+ cpu: [arm]
155
+ os: [linux]
156
+ requiresBuild: true
157
+ dev: true
158
+ optional: true
159
+
160
+ /@esbuild/linux-ia32@0.18.20:
161
+ resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
162
+ engines: {node: '>=12'}
163
+ cpu: [ia32]
164
+ os: [linux]
165
+ requiresBuild: true
166
+ dev: true
167
+ optional: true
168
+
169
+ /@esbuild/linux-loong64@0.18.20:
170
+ resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
171
+ engines: {node: '>=12'}
172
+ cpu: [loong64]
173
+ os: [linux]
174
+ requiresBuild: true
175
+ dev: true
176
+ optional: true
177
+
178
+ /@esbuild/linux-mips64el@0.18.20:
179
+ resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
180
+ engines: {node: '>=12'}
181
+ cpu: [mips64el]
182
+ os: [linux]
183
+ requiresBuild: true
184
+ dev: true
185
+ optional: true
186
+
187
+ /@esbuild/linux-ppc64@0.18.20:
188
+ resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
189
+ engines: {node: '>=12'}
190
+ cpu: [ppc64]
191
+ os: [linux]
192
+ requiresBuild: true
193
+ dev: true
194
+ optional: true
195
+
196
+ /@esbuild/linux-riscv64@0.18.20:
197
+ resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
198
+ engines: {node: '>=12'}
199
+ cpu: [riscv64]
200
+ os: [linux]
201
+ requiresBuild: true
202
+ dev: true
203
+ optional: true
204
+
205
+ /@esbuild/linux-s390x@0.18.20:
206
+ resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
207
+ engines: {node: '>=12'}
208
+ cpu: [s390x]
209
+ os: [linux]
210
+ requiresBuild: true
211
+ dev: true
212
+ optional: true
213
+
214
+ /@esbuild/linux-x64@0.18.20:
215
+ resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
216
+ engines: {node: '>=12'}
217
+ cpu: [x64]
218
+ os: [linux]
219
+ requiresBuild: true
220
+ dev: true
221
+ optional: true
222
+
223
+ /@esbuild/netbsd-x64@0.18.20:
224
+ resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
225
+ engines: {node: '>=12'}
226
+ cpu: [x64]
227
+ os: [netbsd]
228
+ requiresBuild: true
229
+ dev: true
230
+ optional: true
231
+
232
+ /@esbuild/openbsd-x64@0.18.20:
233
+ resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
234
+ engines: {node: '>=12'}
235
+ cpu: [x64]
236
+ os: [openbsd]
237
+ requiresBuild: true
238
+ dev: true
239
+ optional: true
240
+
241
+ /@esbuild/sunos-x64@0.18.20:
242
+ resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
243
+ engines: {node: '>=12'}
244
+ cpu: [x64]
245
+ os: [sunos]
246
+ requiresBuild: true
247
+ dev: true
248
+ optional: true
249
+
250
+ /@esbuild/win32-arm64@0.18.20:
251
+ resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
252
+ engines: {node: '>=12'}
253
+ cpu: [arm64]
254
+ os: [win32]
255
+ requiresBuild: true
256
+ dev: true
257
+ optional: true
258
+
259
+ /@esbuild/win32-ia32@0.18.20:
260
+ resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
261
+ engines: {node: '>=12'}
262
+ cpu: [ia32]
263
+ os: [win32]
264
+ requiresBuild: true
265
+ dev: true
266
+ optional: true
267
+
268
+ /@esbuild/win32-x64@0.18.20:
269
+ resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
270
+ engines: {node: '>=12'}
271
+ cpu: [x64]
272
+ os: [win32]
273
+ requiresBuild: true
274
+ dev: true
275
+ optional: true
276
+
277
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):
278
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
279
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
280
+ peerDependencies:
281
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
282
+ dependencies:
283
+ eslint: 8.57.0
284
+ eslint-visitor-keys: 3.4.3
285
+ dev: true
286
+
287
+ /@eslint-community/regexpp@4.10.0:
288
+ resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
289
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
290
+ dev: true
291
+
292
+ /@eslint/eslintrc@2.1.4:
293
+ resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
294
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
295
+ dependencies:
296
+ ajv: 6.12.6
297
+ debug: 4.3.4
298
+ espree: 9.6.1
299
+ globals: 13.24.0
300
+ ignore: 5.3.1
301
+ import-fresh: 3.3.0
302
+ js-yaml: 4.1.0
303
+ minimatch: 3.1.2
304
+ strip-json-comments: 3.1.1
305
+ transitivePeerDependencies:
306
+ - supports-color
307
+ dev: true
308
+
309
+ /@eslint/js@8.57.0:
310
+ resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
311
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
312
+ dev: true
313
+
314
+ /@hono/node-server@1.9.1:
315
+ resolution: {integrity: sha512-XBru0xbtRlTZJyAiFJLn7XDKbCVXBaRhVQAQhB9TwND2gwj8jf9SDWIj/7VxVtNAjURJf7Ofcz58DRA6DPYiWA==}
316
+ engines: {node: '>=18.14.1'}
317
+ dev: false
318
+
319
+ /@humanwhocodes/config-array@0.11.14:
320
+ resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
321
+ engines: {node: '>=10.10.0'}
322
+ dependencies:
323
+ '@humanwhocodes/object-schema': 2.0.3
324
+ debug: 4.3.4
325
+ minimatch: 3.1.2
326
+ transitivePeerDependencies:
327
+ - supports-color
328
+ dev: true
329
+
330
+ /@humanwhocodes/module-importer@1.0.1:
331
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
332
+ engines: {node: '>=12.22'}
333
+ dev: true
334
+
335
+ /@humanwhocodes/object-schema@2.0.3:
336
+ resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
337
+ dev: true
338
+
339
+ /@nodelib/fs.scandir@2.1.5:
340
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
341
+ engines: {node: '>= 8'}
342
+ dependencies:
343
+ '@nodelib/fs.stat': 2.0.5
344
+ run-parallel: 1.2.0
345
+ dev: true
346
+
347
+ /@nodelib/fs.stat@2.0.5:
348
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
349
+ engines: {node: '>= 8'}
350
+ dev: true
351
+
352
+ /@nodelib/fs.walk@1.2.8:
353
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
354
+ engines: {node: '>= 8'}
355
+ dependencies:
356
+ '@nodelib/fs.scandir': 2.1.5
357
+ fastq: 1.17.1
358
+ dev: true
359
+
360
+ /@types/json-schema@7.0.15:
361
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
362
+ dev: true
363
+
364
+ /@types/node@20.12.5:
365
+ resolution: {integrity: sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==}
366
+ dependencies:
367
+ undici-types: 5.26.5
368
+ dev: true
369
+
370
+ /@types/semver@7.5.8:
371
+ resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
372
+ dev: true
373
+
374
+ /@types/triple-beam@1.3.5:
375
+ resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==}
376
+ dev: false
377
+
378
+ /@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0)(eslint@8.57.0)(typescript@5.4.4):
379
+ resolution: {integrity: sha512-HpqNTH8Du34nLxbKgVMGljZMG0rJd2O9ecvr2QLYp+7512ty1j42KnsFwspPXg1Vh8an9YImf6CokUBltisZFQ==}
380
+ engines: {node: ^18.18.0 || >=20.0.0}
381
+ peerDependencies:
382
+ '@typescript-eslint/parser': ^7.0.0
383
+ eslint: ^8.56.0
384
+ typescript: '*'
385
+ peerDependenciesMeta:
386
+ typescript:
387
+ optional: true
388
+ dependencies:
389
+ '@eslint-community/regexpp': 4.10.0
390
+ '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4)
391
+ '@typescript-eslint/scope-manager': 7.5.0
392
+ '@typescript-eslint/type-utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4)
393
+ '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4)
394
+ '@typescript-eslint/visitor-keys': 7.5.0
395
+ debug: 4.3.4
396
+ eslint: 8.57.0
397
+ graphemer: 1.4.0
398
+ ignore: 5.3.1
399
+ natural-compare: 1.4.0
400
+ semver: 7.6.0
401
+ ts-api-utils: 1.3.0(typescript@5.4.4)
402
+ typescript: 5.4.4
403
+ transitivePeerDependencies:
404
+ - supports-color
405
+ dev: true
406
+
407
+ /@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4):
408
+ resolution: {integrity: sha512-cj+XGhNujfD2/wzR1tabNsidnYRaFfEkcULdcIyVBYcXjBvBKOes+mpMBP7hMpOyk+gBcfXsrg4NBGAStQyxjQ==}
409
+ engines: {node: ^18.18.0 || >=20.0.0}
410
+ peerDependencies:
411
+ eslint: ^8.56.0
412
+ typescript: '*'
413
+ peerDependenciesMeta:
414
+ typescript:
415
+ optional: true
416
+ dependencies:
417
+ '@typescript-eslint/scope-manager': 7.5.0
418
+ '@typescript-eslint/types': 7.5.0
419
+ '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4)
420
+ '@typescript-eslint/visitor-keys': 7.5.0
421
+ debug: 4.3.4
422
+ eslint: 8.57.0
423
+ typescript: 5.4.4
424
+ transitivePeerDependencies:
425
+ - supports-color
426
+ dev: true
427
+
428
+ /@typescript-eslint/scope-manager@7.5.0:
429
+ resolution: {integrity: sha512-Z1r7uJY0MDeUlql9XJ6kRVgk/sP11sr3HKXn268HZyqL7i4cEfrdFuSSY/0tUqT37l5zT0tJOsuDP16kio85iA==}
430
+ engines: {node: ^18.18.0 || >=20.0.0}
431
+ dependencies:
432
+ '@typescript-eslint/types': 7.5.0
433
+ '@typescript-eslint/visitor-keys': 7.5.0
434
+ dev: true
435
+
436
+ /@typescript-eslint/type-utils@7.5.0(eslint@8.57.0)(typescript@5.4.4):
437
+ resolution: {integrity: sha512-A021Rj33+G8mx2Dqh0nMO9GyjjIBK3MqgVgZ2qlKf6CJy51wY/lkkFqq3TqqnH34XyAHUkq27IjlUkWlQRpLHw==}
438
+ engines: {node: ^18.18.0 || >=20.0.0}
439
+ peerDependencies:
440
+ eslint: ^8.56.0
441
+ typescript: '*'
442
+ peerDependenciesMeta:
443
+ typescript:
444
+ optional: true
445
+ dependencies:
446
+ '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4)
447
+ '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4)
448
+ debug: 4.3.4
449
+ eslint: 8.57.0
450
+ ts-api-utils: 1.3.0(typescript@5.4.4)
451
+ typescript: 5.4.4
452
+ transitivePeerDependencies:
453
+ - supports-color
454
+ dev: true
455
+
456
+ /@typescript-eslint/types@7.5.0:
457
+ resolution: {integrity: sha512-tv5B4IHeAdhR7uS4+bf8Ov3k793VEVHd45viRRkehIUZxm0WF82VPiLgHzA/Xl4TGPg1ZD49vfxBKFPecD5/mg==}
458
+ engines: {node: ^18.18.0 || >=20.0.0}
459
+ dev: true
460
+
461
+ /@typescript-eslint/typescript-estree@7.5.0(typescript@5.4.4):
462
+ resolution: {integrity: sha512-YklQQfe0Rv2PZEueLTUffiQGKQneiIEKKnfIqPIOxgM9lKSZFCjT5Ad4VqRKj/U4+kQE3fa8YQpskViL7WjdPQ==}
463
+ engines: {node: ^18.18.0 || >=20.0.0}
464
+ peerDependencies:
465
+ typescript: '*'
466
+ peerDependenciesMeta:
467
+ typescript:
468
+ optional: true
469
+ dependencies:
470
+ '@typescript-eslint/types': 7.5.0
471
+ '@typescript-eslint/visitor-keys': 7.5.0
472
+ debug: 4.3.4
473
+ globby: 11.1.0
474
+ is-glob: 4.0.3
475
+ minimatch: 9.0.3
476
+ semver: 7.6.0
477
+ ts-api-utils: 1.3.0(typescript@5.4.4)
478
+ typescript: 5.4.4
479
+ transitivePeerDependencies:
480
+ - supports-color
481
+ dev: true
482
+
483
+ /@typescript-eslint/utils@7.5.0(eslint@8.57.0)(typescript@5.4.4):
484
+ resolution: {integrity: sha512-3vZl9u0R+/FLQcpy2EHyRGNqAS/ofJ3Ji8aebilfJe+fobK8+LbIFmrHciLVDxjDoONmufDcnVSF38KwMEOjzw==}
485
+ engines: {node: ^18.18.0 || >=20.0.0}
486
+ peerDependencies:
487
+ eslint: ^8.56.0
488
+ dependencies:
489
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
490
+ '@types/json-schema': 7.0.15
491
+ '@types/semver': 7.5.8
492
+ '@typescript-eslint/scope-manager': 7.5.0
493
+ '@typescript-eslint/types': 7.5.0
494
+ '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4)
495
+ eslint: 8.57.0
496
+ semver: 7.6.0
497
+ transitivePeerDependencies:
498
+ - supports-color
499
+ - typescript
500
+ dev: true
501
+
502
+ /@typescript-eslint/visitor-keys@7.5.0:
503
+ resolution: {integrity: sha512-mcuHM/QircmA6O7fy6nn2w/3ditQkj+SgtOc8DW3uQ10Yfj42amm2i+6F2K4YAOPNNTmE6iM1ynM6lrSwdendA==}
504
+ engines: {node: ^18.18.0 || >=20.0.0}
505
+ dependencies:
506
+ '@typescript-eslint/types': 7.5.0
507
+ eslint-visitor-keys: 3.4.3
508
+ dev: true
509
+
510
+ /@ungap/structured-clone@1.2.0:
511
+ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
512
+ dev: true
513
+
514
+ /acorn-jsx@5.3.2(acorn@8.11.3):
515
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
516
+ peerDependencies:
517
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
518
+ dependencies:
519
+ acorn: 8.11.3
520
+ dev: true
521
+
522
+ /acorn@8.11.3:
523
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
524
+ engines: {node: '>=0.4.0'}
525
+ hasBin: true
526
+ dev: true
527
+
528
+ /ajv@6.12.6:
529
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
530
+ dependencies:
531
+ fast-deep-equal: 3.1.3
532
+ fast-json-stable-stringify: 2.1.0
533
+ json-schema-traverse: 0.4.1
534
+ uri-js: 4.4.1
535
+ dev: true
536
+
537
+ /ansi-regex@5.0.1:
538
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
539
+ engines: {node: '>=8'}
540
+ dev: true
541
+
542
+ /ansi-styles@4.3.0:
543
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
544
+ engines: {node: '>=8'}
545
+ dependencies:
546
+ color-convert: 2.0.1
547
+ dev: true
548
+
549
+ /argparse@2.0.1:
550
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
551
+ dev: true
552
+
553
+ /array-union@2.1.0:
554
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
555
+ engines: {node: '>=8'}
556
+ dev: true
557
+
558
+ /async@3.2.5:
559
+ resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==}
560
+ dev: false
561
+
562
+ /asynckit@0.4.0:
563
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
564
+ dev: false
565
+
566
+ /axios@1.6.8:
567
+ resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==}
568
+ dependencies:
569
+ follow-redirects: 1.15.6
570
+ form-data: 4.0.0
571
+ proxy-from-env: 1.1.0
572
+ transitivePeerDependencies:
573
+ - debug
574
+ dev: false
575
+
576
+ /balanced-match@1.0.2:
577
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
578
+ dev: true
579
+
580
+ /boolbase@1.0.0:
581
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
582
+ dev: false
583
+
584
+ /brace-expansion@1.1.11:
585
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
586
+ dependencies:
587
+ balanced-match: 1.0.2
588
+ concat-map: 0.0.1
589
+ dev: true
590
+
591
+ /brace-expansion@2.0.1:
592
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
593
+ dependencies:
594
+ balanced-match: 1.0.2
595
+ dev: true
596
+
597
+ /braces@3.0.2:
598
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
599
+ engines: {node: '>=8'}
600
+ dependencies:
601
+ fill-range: 7.0.1
602
+ dev: true
603
+
604
+ /buffer-from@1.1.2:
605
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
606
+ dev: true
607
+
608
+ /callsites@3.1.0:
609
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
610
+ engines: {node: '>=6'}
611
+ dev: true
612
+
613
+ /chalk@4.1.2:
614
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
615
+ engines: {node: '>=10'}
616
+ dependencies:
617
+ ansi-styles: 4.3.0
618
+ supports-color: 7.2.0
619
+ dev: true
620
+
621
+ /charenc@0.0.2:
622
+ resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
623
+ dev: false
624
+
625
+ /cheerio-select@2.1.0:
626
+ resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
627
+ dependencies:
628
+ boolbase: 1.0.0
629
+ css-select: 5.1.0
630
+ css-what: 6.1.0
631
+ domelementtype: 2.3.0
632
+ domhandler: 5.0.3
633
+ domutils: 3.1.0
634
+ dev: false
635
+
636
+ /cheerio@1.0.0-rc.12:
637
+ resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==}
638
+ engines: {node: '>= 6'}
639
+ dependencies:
640
+ cheerio-select: 2.1.0
641
+ dom-serializer: 2.0.0
642
+ domhandler: 5.0.3
643
+ domutils: 3.1.0
644
+ htmlparser2: 8.0.2
645
+ parse5: 7.1.2
646
+ parse5-htmlparser2-tree-adapter: 7.0.0
647
+ dev: false
648
+
649
+ /clone@2.1.2:
650
+ resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
651
+ engines: {node: '>=0.8'}
652
+ dev: false
653
+
654
+ /color-convert@1.9.3:
655
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
656
+ dependencies:
657
+ color-name: 1.1.3
658
+ dev: false
659
+
660
+ /color-convert@2.0.1:
661
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
662
+ engines: {node: '>=7.0.0'}
663
+ dependencies:
664
+ color-name: 1.1.4
665
+ dev: true
666
+
667
+ /color-name@1.1.3:
668
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
669
+ dev: false
670
+
671
+ /color-name@1.1.4:
672
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
673
+
674
+ /color-string@1.9.1:
675
+ resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
676
+ dependencies:
677
+ color-name: 1.1.4
678
+ simple-swizzle: 0.2.2
679
+ dev: false
680
+
681
+ /color@3.2.1:
682
+ resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==}
683
+ dependencies:
684
+ color-convert: 1.9.3
685
+ color-string: 1.9.1
686
+ dev: false
687
+
688
+ /colorspace@1.1.4:
689
+ resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==}
690
+ dependencies:
691
+ color: 3.2.1
692
+ text-hex: 1.0.0
693
+ dev: false
694
+
695
+ /combined-stream@1.0.8:
696
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
697
+ engines: {node: '>= 0.8'}
698
+ dependencies:
699
+ delayed-stream: 1.0.0
700
+ dev: false
701
+
702
+ /concat-map@0.0.1:
703
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
704
+ dev: true
705
+
706
+ /cross-spawn@7.0.3:
707
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
708
+ engines: {node: '>= 8'}
709
+ dependencies:
710
+ path-key: 3.1.1
711
+ shebang-command: 2.0.0
712
+ which: 2.0.2
713
+ dev: true
714
+
715
+ /crypt@0.0.2:
716
+ resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==}
717
+ dev: false
718
+
719
+ /css-select@5.1.0:
720
+ resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
721
+ dependencies:
722
+ boolbase: 1.0.0
723
+ css-what: 6.1.0
724
+ domhandler: 5.0.3
725
+ domutils: 3.1.0
726
+ nth-check: 2.1.1
727
+ dev: false
728
+
729
+ /css-what@6.1.0:
730
+ resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
731
+ engines: {node: '>= 6'}
732
+ dev: false
733
+
734
+ /debug@4.3.4:
735
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
736
+ engines: {node: '>=6.0'}
737
+ peerDependencies:
738
+ supports-color: '*'
739
+ peerDependenciesMeta:
740
+ supports-color:
741
+ optional: true
742
+ dependencies:
743
+ ms: 2.1.2
744
+ dev: true
745
+
746
+ /deep-is@0.1.4:
747
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
748
+ dev: true
749
+
750
+ /delayed-stream@1.0.0:
751
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
752
+ engines: {node: '>=0.4.0'}
753
+ dev: false
754
+
755
+ /dir-glob@3.0.1:
756
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
757
+ engines: {node: '>=8'}
758
+ dependencies:
759
+ path-type: 4.0.0
760
+ dev: true
761
+
762
+ /doctrine@3.0.0:
763
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
764
+ engines: {node: '>=6.0.0'}
765
+ dependencies:
766
+ esutils: 2.0.3
767
+ dev: true
768
+
769
+ /dom-serializer@2.0.0:
770
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
771
+ dependencies:
772
+ domelementtype: 2.3.0
773
+ domhandler: 5.0.3
774
+ entities: 4.5.0
775
+ dev: false
776
+
777
+ /domelementtype@2.3.0:
778
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
779
+ dev: false
780
+
781
+ /domhandler@5.0.3:
782
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
783
+ engines: {node: '>= 4'}
784
+ dependencies:
785
+ domelementtype: 2.3.0
786
+ dev: false
787
+
788
+ /domutils@3.1.0:
789
+ resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
790
+ dependencies:
791
+ dom-serializer: 2.0.0
792
+ domelementtype: 2.3.0
793
+ domhandler: 5.0.3
794
+ dev: false
795
+
796
+ /dotenv@16.4.5:
797
+ resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
798
+ engines: {node: '>=12'}
799
+ dev: false
800
+
801
+ /enabled@2.0.0:
802
+ resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==}
803
+ dev: false
804
+
805
+ /entities@4.5.0:
806
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
807
+ engines: {node: '>=0.12'}
808
+ dev: false
809
+
810
+ /esbuild@0.18.20:
811
+ resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
812
+ engines: {node: '>=12'}
813
+ hasBin: true
814
+ requiresBuild: true
815
+ optionalDependencies:
816
+ '@esbuild/android-arm': 0.18.20
817
+ '@esbuild/android-arm64': 0.18.20
818
+ '@esbuild/android-x64': 0.18.20
819
+ '@esbuild/darwin-arm64': 0.18.20
820
+ '@esbuild/darwin-x64': 0.18.20
821
+ '@esbuild/freebsd-arm64': 0.18.20
822
+ '@esbuild/freebsd-x64': 0.18.20
823
+ '@esbuild/linux-arm': 0.18.20
824
+ '@esbuild/linux-arm64': 0.18.20
825
+ '@esbuild/linux-ia32': 0.18.20
826
+ '@esbuild/linux-loong64': 0.18.20
827
+ '@esbuild/linux-mips64el': 0.18.20
828
+ '@esbuild/linux-ppc64': 0.18.20
829
+ '@esbuild/linux-riscv64': 0.18.20
830
+ '@esbuild/linux-s390x': 0.18.20
831
+ '@esbuild/linux-x64': 0.18.20
832
+ '@esbuild/netbsd-x64': 0.18.20
833
+ '@esbuild/openbsd-x64': 0.18.20
834
+ '@esbuild/sunos-x64': 0.18.20
835
+ '@esbuild/win32-arm64': 0.18.20
836
+ '@esbuild/win32-ia32': 0.18.20
837
+ '@esbuild/win32-x64': 0.18.20
838
+ dev: true
839
+
840
+ /escape-string-regexp@4.0.0:
841
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
842
+ engines: {node: '>=10'}
843
+ dev: true
844
+
845
+ /eslint-scope@7.2.2:
846
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
847
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
848
+ dependencies:
849
+ esrecurse: 4.3.0
850
+ estraverse: 5.3.0
851
+ dev: true
852
+
853
+ /eslint-visitor-keys@3.4.3:
854
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
855
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
856
+ dev: true
857
+
858
+ /eslint@8.57.0:
859
+ resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
860
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
861
+ hasBin: true
862
+ dependencies:
863
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
864
+ '@eslint-community/regexpp': 4.10.0
865
+ '@eslint/eslintrc': 2.1.4
866
+ '@eslint/js': 8.57.0
867
+ '@humanwhocodes/config-array': 0.11.14
868
+ '@humanwhocodes/module-importer': 1.0.1
869
+ '@nodelib/fs.walk': 1.2.8
870
+ '@ungap/structured-clone': 1.2.0
871
+ ajv: 6.12.6
872
+ chalk: 4.1.2
873
+ cross-spawn: 7.0.3
874
+ debug: 4.3.4
875
+ doctrine: 3.0.0
876
+ escape-string-regexp: 4.0.0
877
+ eslint-scope: 7.2.2
878
+ eslint-visitor-keys: 3.4.3
879
+ espree: 9.6.1
880
+ esquery: 1.5.0
881
+ esutils: 2.0.3
882
+ fast-deep-equal: 3.1.3
883
+ file-entry-cache: 6.0.1
884
+ find-up: 5.0.0
885
+ glob-parent: 6.0.2
886
+ globals: 13.24.0
887
+ graphemer: 1.4.0
888
+ ignore: 5.3.1
889
+ imurmurhash: 0.1.4
890
+ is-glob: 4.0.3
891
+ is-path-inside: 3.0.3
892
+ js-yaml: 4.1.0
893
+ json-stable-stringify-without-jsonify: 1.0.1
894
+ levn: 0.4.1
895
+ lodash.merge: 4.6.2
896
+ minimatch: 3.1.2
897
+ natural-compare: 1.4.0
898
+ optionator: 0.9.3
899
+ strip-ansi: 6.0.1
900
+ text-table: 0.2.0
901
+ transitivePeerDependencies:
902
+ - supports-color
903
+ dev: true
904
+
905
+ /espree@9.6.1:
906
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
907
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
908
+ dependencies:
909
+ acorn: 8.11.3
910
+ acorn-jsx: 5.3.2(acorn@8.11.3)
911
+ eslint-visitor-keys: 3.4.3
912
+ dev: true
913
+
914
+ /esquery@1.5.0:
915
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
916
+ engines: {node: '>=0.10'}
917
+ dependencies:
918
+ estraverse: 5.3.0
919
+ dev: true
920
+
921
+ /esrecurse@4.3.0:
922
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
923
+ engines: {node: '>=4.0'}
924
+ dependencies:
925
+ estraverse: 5.3.0
926
+ dev: true
927
+
928
+ /estraverse@5.3.0:
929
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
930
+ engines: {node: '>=4.0'}
931
+ dev: true
932
+
933
+ /esutils@2.0.3:
934
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
935
+ engines: {node: '>=0.10.0'}
936
+ dev: true
937
+
938
+ /fast-deep-equal@3.1.3:
939
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
940
+ dev: true
941
+
942
+ /fast-glob@3.3.2:
943
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
944
+ engines: {node: '>=8.6.0'}
945
+ dependencies:
946
+ '@nodelib/fs.stat': 2.0.5
947
+ '@nodelib/fs.walk': 1.2.8
948
+ glob-parent: 5.1.2
949
+ merge2: 1.4.1
950
+ micromatch: 4.0.5
951
+ dev: true
952
+
953
+ /fast-json-stable-stringify@2.1.0:
954
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
955
+ dev: true
956
+
957
+ /fast-levenshtein@2.0.6:
958
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
959
+ dev: true
960
+
961
+ /fastq@1.17.1:
962
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
963
+ dependencies:
964
+ reusify: 1.0.4
965
+ dev: true
966
+
967
+ /fecha@4.2.3:
968
+ resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==}
969
+ dev: false
970
+
971
+ /feed@4.2.2:
972
+ resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==}
973
+ engines: {node: '>=0.4.0'}
974
+ dependencies:
975
+ xml-js: 1.6.11
976
+ dev: false
977
+
978
+ /file-entry-cache@6.0.1:
979
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
980
+ engines: {node: ^10.12.0 || >=12.0.0}
981
+ dependencies:
982
+ flat-cache: 3.2.0
983
+ dev: true
984
+
985
+ /fill-range@7.0.1:
986
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
987
+ engines: {node: '>=8'}
988
+ dependencies:
989
+ to-regex-range: 5.0.1
990
+ dev: true
991
+
992
+ /find-up@5.0.0:
993
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
994
+ engines: {node: '>=10'}
995
+ dependencies:
996
+ locate-path: 6.0.0
997
+ path-exists: 4.0.0
998
+ dev: true
999
+
1000
+ /flat-cache@3.2.0:
1001
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
1002
+ engines: {node: ^10.12.0 || >=12.0.0}
1003
+ dependencies:
1004
+ flatted: 3.3.1
1005
+ keyv: 4.5.4
1006
+ rimraf: 3.0.2
1007
+ dev: true
1008
+
1009
+ /flatted@3.3.1:
1010
+ resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
1011
+ dev: true
1012
+
1013
+ /fn.name@1.1.0:
1014
+ resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==}
1015
+ dev: false
1016
+
1017
+ /follow-redirects@1.15.6:
1018
+ resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==}
1019
+ engines: {node: '>=4.0'}
1020
+ peerDependencies:
1021
+ debug: '*'
1022
+ peerDependenciesMeta:
1023
+ debug:
1024
+ optional: true
1025
+ dev: false
1026
+
1027
+ /form-data@4.0.0:
1028
+ resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
1029
+ engines: {node: '>= 6'}
1030
+ dependencies:
1031
+ asynckit: 0.4.0
1032
+ combined-stream: 1.0.8
1033
+ mime-types: 2.1.35
1034
+ dev: false
1035
+
1036
+ /fs.realpath@1.0.0:
1037
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1038
+ dev: true
1039
+
1040
+ /fsevents@2.3.3:
1041
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1042
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1043
+ os: [darwin]
1044
+ requiresBuild: true
1045
+ dev: true
1046
+ optional: true
1047
+
1048
+ /get-tsconfig@4.7.3:
1049
+ resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==}
1050
+ dependencies:
1051
+ resolve-pkg-maps: 1.0.0
1052
+ dev: true
1053
+
1054
+ /glob-parent@5.1.2:
1055
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1056
+ engines: {node: '>= 6'}
1057
+ dependencies:
1058
+ is-glob: 4.0.3
1059
+ dev: true
1060
+
1061
+ /glob-parent@6.0.2:
1062
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1063
+ engines: {node: '>=10.13.0'}
1064
+ dependencies:
1065
+ is-glob: 4.0.3
1066
+ dev: true
1067
+
1068
+ /glob@7.2.3:
1069
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1070
+ dependencies:
1071
+ fs.realpath: 1.0.0
1072
+ inflight: 1.0.6
1073
+ inherits: 2.0.4
1074
+ minimatch: 3.1.2
1075
+ once: 1.4.0
1076
+ path-is-absolute: 1.0.1
1077
+ dev: true
1078
+
1079
+ /globals@13.24.0:
1080
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
1081
+ engines: {node: '>=8'}
1082
+ dependencies:
1083
+ type-fest: 0.20.2
1084
+ dev: true
1085
+
1086
+ /globby@11.1.0:
1087
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1088
+ engines: {node: '>=10'}
1089
+ dependencies:
1090
+ array-union: 2.1.0
1091
+ dir-glob: 3.0.1
1092
+ fast-glob: 3.3.2
1093
+ ignore: 5.3.1
1094
+ merge2: 1.4.1
1095
+ slash: 3.0.0
1096
+ dev: true
1097
+
1098
+ /graphemer@1.4.0:
1099
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1100
+ dev: true
1101
+
1102
+ /has-flag@4.0.0:
1103
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1104
+ engines: {node: '>=8'}
1105
+ dev: true
1106
+
1107
+ /hono@4.2.2:
1108
+ resolution: {integrity: sha512-mDmjBHF6uBNN3TASdAbDCFsN9FLbrlgXyFZkhLEkU7hUgk0+T9hcsUrL/nho4qV+Xk0RDHx7gop4Q1gelZZVRw==}
1109
+ engines: {node: '>=16.0.0'}
1110
+ dev: false
1111
+
1112
+ /htmlparser2@8.0.2:
1113
+ resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
1114
+ dependencies:
1115
+ domelementtype: 2.3.0
1116
+ domhandler: 5.0.3
1117
+ domutils: 3.1.0
1118
+ entities: 4.5.0
1119
+ dev: false
1120
+
1121
+ /ignore@5.3.1:
1122
+ resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
1123
+ engines: {node: '>= 4'}
1124
+ dev: true
1125
+
1126
+ /import-fresh@3.3.0:
1127
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1128
+ engines: {node: '>=6'}
1129
+ dependencies:
1130
+ parent-module: 1.0.1
1131
+ resolve-from: 4.0.0
1132
+ dev: true
1133
+
1134
+ /imurmurhash@0.1.4:
1135
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1136
+ engines: {node: '>=0.8.19'}
1137
+ dev: true
1138
+
1139
+ /inflight@1.0.6:
1140
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1141
+ dependencies:
1142
+ once: 1.4.0
1143
+ wrappy: 1.0.2
1144
+ dev: true
1145
+
1146
+ /inherits@2.0.4:
1147
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1148
+
1149
+ /is-arrayish@0.3.2:
1150
+ resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
1151
+ dev: false
1152
+
1153
+ /is-buffer@1.1.6:
1154
+ resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
1155
+ dev: false
1156
+
1157
+ /is-extglob@2.1.1:
1158
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1159
+ engines: {node: '>=0.10.0'}
1160
+ dev: true
1161
+
1162
+ /is-glob@4.0.3:
1163
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1164
+ engines: {node: '>=0.10.0'}
1165
+ dependencies:
1166
+ is-extglob: 2.1.1
1167
+ dev: true
1168
+
1169
+ /is-number@7.0.0:
1170
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1171
+ engines: {node: '>=0.12.0'}
1172
+ dev: true
1173
+
1174
+ /is-path-inside@3.0.3:
1175
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1176
+ engines: {node: '>=8'}
1177
+ dev: true
1178
+
1179
+ /is-stream@2.0.1:
1180
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
1181
+ engines: {node: '>=8'}
1182
+ dev: false
1183
+
1184
+ /isexe@2.0.0:
1185
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1186
+ dev: true
1187
+
1188
+ /js-yaml@4.1.0:
1189
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1190
+ hasBin: true
1191
+ dependencies:
1192
+ argparse: 2.0.1
1193
+ dev: true
1194
+
1195
+ /json-buffer@3.0.1:
1196
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1197
+ dev: true
1198
+
1199
+ /json-schema-traverse@0.4.1:
1200
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1201
+ dev: true
1202
+
1203
+ /json-stable-stringify-without-jsonify@1.0.1:
1204
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1205
+ dev: true
1206
+
1207
+ /keyv@4.5.4:
1208
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1209
+ dependencies:
1210
+ json-buffer: 3.0.1
1211
+ dev: true
1212
+
1213
+ /kuler@2.0.0:
1214
+ resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==}
1215
+ dev: false
1216
+
1217
+ /levn@0.4.1:
1218
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1219
+ engines: {node: '>= 0.8.0'}
1220
+ dependencies:
1221
+ prelude-ls: 1.2.1
1222
+ type-check: 0.4.0
1223
+ dev: true
1224
+
1225
+ /locate-path@6.0.0:
1226
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1227
+ engines: {node: '>=10'}
1228
+ dependencies:
1229
+ p-locate: 5.0.0
1230
+ dev: true
1231
+
1232
+ /lodash.merge@4.6.2:
1233
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1234
+ dev: true
1235
+
1236
+ /logform@2.6.0:
1237
+ resolution: {integrity: sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==}
1238
+ engines: {node: '>= 12.0.0'}
1239
+ dependencies:
1240
+ '@colors/colors': 1.6.0
1241
+ '@types/triple-beam': 1.3.5
1242
+ fecha: 4.2.3
1243
+ ms: 2.1.3
1244
+ safe-stable-stringify: 2.4.3
1245
+ triple-beam: 1.4.1
1246
+ dev: false
1247
+
1248
+ /lru-cache@6.0.0:
1249
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1250
+ engines: {node: '>=10'}
1251
+ dependencies:
1252
+ yallist: 4.0.0
1253
+ dev: true
1254
+
1255
+ /md5@2.3.0:
1256
+ resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==}
1257
+ dependencies:
1258
+ charenc: 0.0.2
1259
+ crypt: 0.0.2
1260
+ is-buffer: 1.1.6
1261
+ dev: false
1262
+
1263
+ /merge2@1.4.1:
1264
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1265
+ engines: {node: '>= 8'}
1266
+ dev: true
1267
+
1268
+ /micromatch@4.0.5:
1269
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1270
+ engines: {node: '>=8.6'}
1271
+ dependencies:
1272
+ braces: 3.0.2
1273
+ picomatch: 2.3.1
1274
+ dev: true
1275
+
1276
+ /mime-db@1.52.0:
1277
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
1278
+ engines: {node: '>= 0.6'}
1279
+ dev: false
1280
+
1281
+ /mime-types@2.1.35:
1282
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
1283
+ engines: {node: '>= 0.6'}
1284
+ dependencies:
1285
+ mime-db: 1.52.0
1286
+ dev: false
1287
+
1288
+ /minimatch@3.1.2:
1289
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1290
+ dependencies:
1291
+ brace-expansion: 1.1.11
1292
+ dev: true
1293
+
1294
+ /minimatch@9.0.3:
1295
+ resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
1296
+ engines: {node: '>=16 || 14 >=14.17'}
1297
+ dependencies:
1298
+ brace-expansion: 2.0.1
1299
+ dev: true
1300
+
1301
+ /ms@2.1.2:
1302
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1303
+ dev: true
1304
+
1305
+ /ms@2.1.3:
1306
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1307
+ dev: false
1308
+
1309
+ /natural-compare@1.4.0:
1310
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1311
+ dev: true
1312
+
1313
+ /node-cache@5.1.2:
1314
+ resolution: {integrity: sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg==}
1315
+ engines: {node: '>= 8.0.0'}
1316
+ dependencies:
1317
+ clone: 2.1.2
1318
+ dev: false
1319
+
1320
+ /nth-check@2.1.1:
1321
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
1322
+ dependencies:
1323
+ boolbase: 1.0.0
1324
+ dev: false
1325
+
1326
+ /once@1.4.0:
1327
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1328
+ dependencies:
1329
+ wrappy: 1.0.2
1330
+ dev: true
1331
+
1332
+ /one-time@1.0.0:
1333
+ resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==}
1334
+ dependencies:
1335
+ fn.name: 1.1.0
1336
+ dev: false
1337
+
1338
+ /optionator@0.9.3:
1339
+ resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
1340
+ engines: {node: '>= 0.8.0'}
1341
+ dependencies:
1342
+ '@aashutoshrathi/word-wrap': 1.2.6
1343
+ deep-is: 0.1.4
1344
+ fast-levenshtein: 2.0.6
1345
+ levn: 0.4.1
1346
+ prelude-ls: 1.2.1
1347
+ type-check: 0.4.0
1348
+ dev: true
1349
+
1350
+ /p-limit@3.1.0:
1351
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1352
+ engines: {node: '>=10'}
1353
+ dependencies:
1354
+ yocto-queue: 0.1.0
1355
+ dev: true
1356
+
1357
+ /p-locate@5.0.0:
1358
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1359
+ engines: {node: '>=10'}
1360
+ dependencies:
1361
+ p-limit: 3.1.0
1362
+ dev: true
1363
+
1364
+ /parent-module@1.0.1:
1365
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1366
+ engines: {node: '>=6'}
1367
+ dependencies:
1368
+ callsites: 3.1.0
1369
+ dev: true
1370
+
1371
+ /parse5-htmlparser2-tree-adapter@7.0.0:
1372
+ resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==}
1373
+ dependencies:
1374
+ domhandler: 5.0.3
1375
+ parse5: 7.1.2
1376
+ dev: false
1377
+
1378
+ /parse5@7.1.2:
1379
+ resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
1380
+ dependencies:
1381
+ entities: 4.5.0
1382
+ dev: false
1383
+
1384
+ /path-exists@4.0.0:
1385
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1386
+ engines: {node: '>=8'}
1387
+ dev: true
1388
+
1389
+ /path-is-absolute@1.0.1:
1390
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1391
+ engines: {node: '>=0.10.0'}
1392
+ dev: true
1393
+
1394
+ /path-key@3.1.1:
1395
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1396
+ engines: {node: '>=8'}
1397
+ dev: true
1398
+
1399
+ /path-type@4.0.0:
1400
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1401
+ engines: {node: '>=8'}
1402
+ dev: true
1403
+
1404
+ /picomatch@2.3.1:
1405
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1406
+ engines: {node: '>=8.6'}
1407
+ dev: true
1408
+
1409
+ /prelude-ls@1.2.1:
1410
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1411
+ engines: {node: '>= 0.8.0'}
1412
+ dev: true
1413
+
1414
+ /prettier@3.2.5:
1415
+ resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
1416
+ engines: {node: '>=14'}
1417
+ hasBin: true
1418
+ dev: true
1419
+
1420
+ /proxy-from-env@1.1.0:
1421
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
1422
+ dev: false
1423
+
1424
+ /punycode@2.3.1:
1425
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1426
+ engines: {node: '>=6'}
1427
+ dev: true
1428
+
1429
+ /queue-microtask@1.2.3:
1430
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1431
+ dev: true
1432
+
1433
+ /readable-stream@3.6.2:
1434
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
1435
+ engines: {node: '>= 6'}
1436
+ dependencies:
1437
+ inherits: 2.0.4
1438
+ string_decoder: 1.3.0
1439
+ util-deprecate: 1.0.2
1440
+ dev: false
1441
+
1442
+ /resolve-from@4.0.0:
1443
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1444
+ engines: {node: '>=4'}
1445
+ dev: true
1446
+
1447
+ /resolve-pkg-maps@1.0.0:
1448
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
1449
+ dev: true
1450
+
1451
+ /reusify@1.0.4:
1452
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1453
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1454
+ dev: true
1455
+
1456
+ /rimraf@3.0.2:
1457
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
1458
+ hasBin: true
1459
+ dependencies:
1460
+ glob: 7.2.3
1461
+ dev: true
1462
+
1463
+ /run-parallel@1.2.0:
1464
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1465
+ dependencies:
1466
+ queue-microtask: 1.2.3
1467
+ dev: true
1468
+
1469
+ /safe-buffer@5.2.1:
1470
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
1471
+ dev: false
1472
+
1473
+ /safe-stable-stringify@2.4.3:
1474
+ resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==}
1475
+ engines: {node: '>=10'}
1476
+ dev: false
1477
+
1478
+ /sax@1.3.0:
1479
+ resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==}
1480
+ dev: false
1481
+
1482
+ /semver@7.6.0:
1483
+ resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
1484
+ engines: {node: '>=10'}
1485
+ hasBin: true
1486
+ dependencies:
1487
+ lru-cache: 6.0.0
1488
+ dev: true
1489
+
1490
+ /shebang-command@2.0.0:
1491
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1492
+ engines: {node: '>=8'}
1493
+ dependencies:
1494
+ shebang-regex: 3.0.0
1495
+ dev: true
1496
+
1497
+ /shebang-regex@3.0.0:
1498
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1499
+ engines: {node: '>=8'}
1500
+ dev: true
1501
+
1502
+ /simple-swizzle@0.2.2:
1503
+ resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
1504
+ dependencies:
1505
+ is-arrayish: 0.3.2
1506
+ dev: false
1507
+
1508
+ /slash@3.0.0:
1509
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1510
+ engines: {node: '>=8'}
1511
+ dev: true
1512
+
1513
+ /source-map-support@0.5.21:
1514
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
1515
+ dependencies:
1516
+ buffer-from: 1.1.2
1517
+ source-map: 0.6.1
1518
+ dev: true
1519
+
1520
+ /source-map@0.6.1:
1521
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1522
+ engines: {node: '>=0.10.0'}
1523
+ dev: true
1524
+
1525
+ /stack-trace@0.0.10:
1526
+ resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==}
1527
+ dev: false
1528
+
1529
+ /string_decoder@1.3.0:
1530
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
1531
+ dependencies:
1532
+ safe-buffer: 5.2.1
1533
+ dev: false
1534
+
1535
+ /strip-ansi@6.0.1:
1536
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1537
+ engines: {node: '>=8'}
1538
+ dependencies:
1539
+ ansi-regex: 5.0.1
1540
+ dev: true
1541
+
1542
+ /strip-json-comments@3.1.1:
1543
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1544
+ engines: {node: '>=8'}
1545
+ dev: true
1546
+
1547
+ /supports-color@7.2.0:
1548
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1549
+ engines: {node: '>=8'}
1550
+ dependencies:
1551
+ has-flag: 4.0.0
1552
+ dev: true
1553
+
1554
+ /text-hex@1.0.0:
1555
+ resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==}
1556
+ dev: false
1557
+
1558
+ /text-table@0.2.0:
1559
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
1560
+ dev: true
1561
+
1562
+ /to-regex-range@5.0.1:
1563
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1564
+ engines: {node: '>=8.0'}
1565
+ dependencies:
1566
+ is-number: 7.0.0
1567
+ dev: true
1568
+
1569
+ /triple-beam@1.4.1:
1570
+ resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==}
1571
+ engines: {node: '>= 14.0.0'}
1572
+ dev: false
1573
+
1574
+ /ts-api-utils@1.3.0(typescript@5.4.4):
1575
+ resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
1576
+ engines: {node: '>=16'}
1577
+ peerDependencies:
1578
+ typescript: '>=4.2.0'
1579
+ dependencies:
1580
+ typescript: 5.4.4
1581
+ dev: true
1582
+
1583
+ /tsx@3.14.0:
1584
+ resolution: {integrity: sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==}
1585
+ hasBin: true
1586
+ dependencies:
1587
+ esbuild: 0.18.20
1588
+ get-tsconfig: 4.7.3
1589
+ source-map-support: 0.5.21
1590
+ optionalDependencies:
1591
+ fsevents: 2.3.3
1592
+ dev: true
1593
+
1594
+ /type-check@0.4.0:
1595
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1596
+ engines: {node: '>= 0.8.0'}
1597
+ dependencies:
1598
+ prelude-ls: 1.2.1
1599
+ dev: true
1600
+
1601
+ /type-fest@0.20.2:
1602
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
1603
+ engines: {node: '>=10'}
1604
+ dev: true
1605
+
1606
+ /typescript@5.4.4:
1607
+ resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==}
1608
+ engines: {node: '>=14.17'}
1609
+ hasBin: true
1610
+ dev: true
1611
+
1612
+ /undici-types@5.26.5:
1613
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
1614
+ dev: true
1615
+
1616
+ /uri-js@4.4.1:
1617
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1618
+ dependencies:
1619
+ punycode: 2.3.1
1620
+ dev: true
1621
+
1622
+ /util-deprecate@1.0.2:
1623
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1624
+ dev: false
1625
+
1626
+ /which@2.0.2:
1627
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1628
+ engines: {node: '>= 8'}
1629
+ hasBin: true
1630
+ dependencies:
1631
+ isexe: 2.0.0
1632
+ dev: true
1633
+
1634
+ /winston-transport@4.7.0:
1635
+ resolution: {integrity: sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==}
1636
+ engines: {node: '>= 12.0.0'}
1637
+ dependencies:
1638
+ logform: 2.6.0
1639
+ readable-stream: 3.6.2
1640
+ triple-beam: 1.4.1
1641
+ dev: false
1642
+
1643
+ /winston@3.13.0:
1644
+ resolution: {integrity: sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==}
1645
+ engines: {node: '>= 12.0.0'}
1646
+ dependencies:
1647
+ '@colors/colors': 1.6.0
1648
+ '@dabh/diagnostics': 2.0.3
1649
+ async: 3.2.5
1650
+ is-stream: 2.0.1
1651
+ logform: 2.6.0
1652
+ one-time: 1.0.0
1653
+ readable-stream: 3.6.2
1654
+ safe-stable-stringify: 2.4.3
1655
+ stack-trace: 0.0.10
1656
+ triple-beam: 1.4.1
1657
+ winston-transport: 4.7.0
1658
+ dev: false
1659
+
1660
+ /wrappy@1.0.2:
1661
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1662
+ dev: true
1663
+
1664
+ /xml-js@1.6.11:
1665
+ resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==}
1666
+ hasBin: true
1667
+ dependencies:
1668
+ sax: 1.3.0
1669
+ dev: false
1670
+
1671
+ /yallist@4.0.0:
1672
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
1673
+ dev: true
1674
+
1675
+ /yocto-queue@0.1.0:
1676
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
1677
+ engines: {node: '>=10'}
1678
+ dev: true
tsconfig.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "moduleResolution": "Bundler",
6
+ "strict": false,
7
+ "types": ["node"],
8
+ "jsx": "react-jsx",
9
+ "jsxImportSource": "hono/jsx",
10
+ "outDir": "./dist"
11
+ },
12
+ "exclude": ["node_modules", "*.test.*"]
13
+ }