diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d24453354af213..63356b25073d1a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -52,7 +52,7 @@ jobs: REDIS_URL: redis://localhost:${{ job.services.redis.ports[6379] }}/ - name: Upload coverage to Codecov if: ${{ matrix.node-version == '18' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos as documented, but seems broken diff --git a/lib/radar.js b/lib/radar.js index af7cc6f9456bd2..032027ed771d32 100644 --- a/lib/radar.js +++ b/lib/radar.js @@ -4,7 +4,7 @@ const toSource = require('tosource'); const { join } = require('path'); // Namespaces that do not require radar.js -const allowNamespace = ['discourse', 'discuz', 'ehentai', 'mail', 'test']; +const allowNamespace = ['discourse', 'discuz', 'ehentai', 'lemmy', 'mail', 'test']; // Check if a radar.js file is exist under each folder of dirname for (const dir of fs.readdirSync(dirname)) { const dirPath = join(dirname, dir); diff --git a/lib/router.js b/lib/router.js index 6b5c9781931be5..bf397485b998ef 100644 --- a/lib/router.js +++ b/lib/router.js @@ -995,7 +995,7 @@ router.get('/dekudeals/:type', lazyloadRouteHandler('./routes/dekudeals')); router.get('/metacritic/release/:platform/:type/:sort?', lazyloadRouteHandler('./routes/metacritic/release')); // 快科技(原驱动之家) -router.get('/kkj/news', lazyloadRouteHandler('./routes/kkj/news')); +// router.get('/kkj/news', lazyloadRouteHandler('./routes/kkj/news')); // sixthtone router.get('/sixthtone/news', lazyloadRouteHandler('./routes/sixthtone/news')); @@ -1443,7 +1443,7 @@ router.get('/xinquji/today/internal', lazyloadRouteHandler('./routes/xinquji/int router.get('/gbcc/trust', lazyloadRouteHandler('./routes/gbcc/trust')); // CBC -router.get('/cbc/topics/:topic?', lazyloadRouteHandler('./routes/cbc/topics')); +// router.get('/cbc/topics/:topic?', lazyloadRouteHandler('./routes/cbc/topics')); // discuz // router.get('/discuz/:ver([7|x])/:cid([0-9]{2})/:link(.*)', lazyloadRouteHandler('./routes/discuz/discuz')); @@ -1868,9 +1868,9 @@ router.get('/gov/chongqing/ljxq/zwgk/:caty', lazyloadRouteHandler('./routes/gov/ router.get('/12379', lazyloadRouteHandler('./routes/12379/index')); // 鸟哥笔记 -router.get('/ngbj', lazyloadRouteHandler('./routes/niaogebiji/index')); -router.get('/ngbj/today', lazyloadRouteHandler('./routes/niaogebiji/today')); -router.get('/ngbj/cat/:cat', lazyloadRouteHandler('./routes/niaogebiji/cat')); +// router.get('/ngbj', lazyloadRouteHandler('./routes/niaogebiji/index')); +// router.get('/ngbj/today', lazyloadRouteHandler('./routes/niaogebiji/today')); +// router.get('/ngbj/cat/:cat', lazyloadRouteHandler('./routes/niaogebiji/cat')); // 梅花网 router.get('/meihua/shots/:caty', lazyloadRouteHandler('./routes/meihua/shots')); diff --git a/lib/routes/kkj/news.js b/lib/routes/kkj/news.js deleted file mode 100644 index 37a83876670702..00000000000000 --- a/lib/routes/kkj/news.js +++ /dev/null @@ -1,52 +0,0 @@ -const got = require('@/utils/got'); -const cheerio = require('cheerio'); -const parser = require('@/utils/rss-parser'); - -module.exports = async (ctx) => { - const feed = await parser.parseURL('http://rss.mydrivers.com/rss.aspx?Tid=1'); - - const ProcessFeed = (data) => { - const $ = cheerio.load(data); - - // 移除广告等内容 - $('.news_info .weixin ~ div').remove(); - $('.news_info .weixin').remove(); - $('.news_info script').remove(); - - // 提取内容 - return $('.news_info').html(); - }; - - const items = await Promise.all( - feed.items.map(async (item) => { - const cache = await ctx.cache.get(item.link); - if (cache) { - return Promise.resolve(JSON.parse(cache)); - } - - const response = await got({ - method: 'get', - url: item.link, - }); - - const description = ProcessFeed(response.data); - - const single = { - title: item.title, - description, - pubDate: item.pubDate, - link: item.link, - author: item.author, - }; - ctx.cache.set(item.link, JSON.stringify(single)); - return Promise.resolve(single); - }) - ); - - ctx.state.data = { - title: feed.title, - link: feed.link, - description: feed.description, - item: items, - }; -}; diff --git a/lib/routes/niaogebiji/cat.js b/lib/routes/niaogebiji/cat.js deleted file mode 100644 index f15238e08ada9c..00000000000000 --- a/lib/routes/niaogebiji/cat.js +++ /dev/null @@ -1,86 +0,0 @@ -const got = require('@/utils/got'); -const cheerio = require('cheerio'); - -/** - * 在一个CheerioElement数组中查找有你想要的属性的元素 - * @author KotoriK - * @param {Array} eles CheerioElement数组 - * @param {string} attrName 要查找的属性名称 - * @param {boolean} recursive 是否递归子节点 - * @returns 有你想要元素的数组 - */ -function findAttributeFromNodes(eles, attrName, recursive = false) { - let array = []; - for (const ele of eles) { - if (ele.attribs && ele.attribs[attrName]) { - array.push(ele); - } - if (recursive && ele.children) { - array = array.concat(findAttributeFromNodes(ele.children, attrName, true)); - } - } - return array; -} - -/** - * 在一个CheerioElement数组中查找有你给的属性及对应的值的元素 - * @author KotoriK - * @param {Array} eles CheerioElement数组 - * @param {string} attrName 要查找的属性名称 - * @param {boolean} recursive 是否递归子节点 - * @returns 有你想要元素的数组 - */ -function findMatch(eles, attrName, value, recursive = false) { - let array = []; - for (const ele of eles) { - if (ele.attribs && ele.attribs[attrName] === value) { - array.push(ele); - } - if (recursive && ele.children) { - array = array.concat(findMatch(ele.children, attrName, value, true)); - } - } - return array; -} - -module.exports = async (ctx) => { - const cat_id = ctx.params.cat; - const response = await got({ - method: 'get', - url: `http://www.niaogebiji.com/cat/${cat_id}`, - }); - const $ = cheerio.load(response.data); - const cat_name = $('h1').text(); - const articles = $('div.articleBox.clearfix'); - ctx.state.data = { - title: `鸟哥笔记-分类-${cat_name}`, - link: `http://www.niaogebiji.com/cat/${cat_id}`, - item: response.data - ? await Promise.all( - articles.toArray().map((element) => { - const article_div = findAttributeFromNodes(element.children, 'href')[0]; - const article_link = `http://www.niaogebiji.com${article_div.attribs.href}`; - return (async () => ({ - title: findMatch(article_div.children, 'class', 'articleTitle elp', true)[0].children[0].data, - category: cat_name, - description: await ctx.cache.tryGet(`ngbj-${article_div.attribs.href}`, async () => { - // get article - const article_response = await got({ - method: 'get', - url: article_link, - }); - const article_dom = cheerio.load(article_response.data); - return article_dom('div.mobileHide.pc_content').html(); - }), - link: article_link, - pubDate: parseInt(element.attribs['data-timepoint'] + '000'), - }))(); - }) - ) - : [ - { - title: '获取失败!', - }, - ], - }; -}; diff --git a/lib/routes/niaogebiji/index.js b/lib/routes/niaogebiji/index.js deleted file mode 100644 index 5a548358336885..00000000000000 --- a/lib/routes/niaogebiji/index.js +++ /dev/null @@ -1,40 +0,0 @@ -const got = require('@/utils/got'); -const cheerio = require('cheerio'); - -module.exports = async (ctx) => { - const response = await got({ - method: 'get', - url: `https://www.niaogebiji.com/`, - }); - const $ = cheerio.load(response.data); - const postList = $('.articleListBox').find('.articleBox').get(); - const result = await Promise.all( - postList.map(async (item) => { - const title = $(item).find('.article').find('a').find('.articleTitle').text(); - const link = 'https://www.niaogebiji.com' + $(item).find('.article').find('a').attr('href'); - const guid = link; - const pubDate = new Date(parseInt($(item).attr('data-timepoint')) * 1000).toUTCString(); - - const single = { - title, - link, - guid, - pubDate, - description: '', - }; - - const description_key = 'niaogebiji' + guid; - const description_value = await ctx.cache.get(description_key); - - if (description_value) { - single.description = description_value; - } else { - const temp = await got(link); - single.description = $(temp.data).find('.article').find('.pc_content').html(); - ctx.cache.set(description_key, single.description); - } - return Promise.resolve(single); - }) - ); - ctx.state.data = { title: '鸟哥笔记', link: 'https://www.niaogebiji.com/', item: result }; -}; diff --git a/lib/routes/niaogebiji/today.js b/lib/routes/niaogebiji/today.js deleted file mode 100644 index ae9a6197df615f..00000000000000 --- a/lib/routes/niaogebiji/today.js +++ /dev/null @@ -1,29 +0,0 @@ -const got = require('@/utils/got'); -module.exports = async (ctx) => { - const response = await got({ - method: 'post', - url: 'https://www.niaogebiji.com/pc/bulletin/index', - form: { - page: 1, - pub_time: '', - isfromajax: 1, - }, - }); - const data = response.data.return_data; - ctx.state.data = { - title: '鸟哥笔记-今日事', - link: 'https://www.niaogebiji.com/pc/bulletin/index', - item: data - ? data.map((item) => ({ - title: item.title, - description: item.content + `
原文链接`, - link: `https://www.niaogebiji.com/pc/bulletin/detail?id=${item.id}`, - pubDate: new Date(parseInt(data[0].pub_time + '000')), - })) - : [ - { - title: '获取失败!', - }, - ], - }; -}; diff --git a/lib/utils/rand-user-agent.js b/lib/utils/rand-user-agent.js index c1b915256dba4b..34d819f7db99f9 100644 --- a/lib/utils/rand-user-agent.js +++ b/lib/utils/rand-user-agent.js @@ -16,7 +16,7 @@ module.exports = ({ browser = 'chrome', os = 'mac os', device = 'desktop' }) => let UA = randUserAgent(device, browser, os); if (browser === 'chrome') { - while (UA.includes('Chrome-Lighthouse') || UA.includes('Gener8') || UA.includes('HeadlessChrome') || UA.includes('SMTBot')) { + while (UA.includes('Chrome-Lighthouse') || UA.includes('Gener8') || UA.includes('HeadlessChrome') || UA.includes('SMTBot') || UA.includes('Electron') || UA.includes('Code')) { UA = randUserAgent(device, browser, os); } } diff --git a/lib/v2/ainvest/article.js b/lib/v2/ainvest/article.js new file mode 100644 index 00000000000000..45fc227d44ee75 --- /dev/null +++ b/lib/v2/ainvest/article.js @@ -0,0 +1,42 @@ +const got = require('@/utils/got'); +const { parseDate } = require('@/utils/parse-date'); +const { getHeaders, randomString, encryptAES, decryptAES } = require('./utils'); + +module.exports = async (ctx) => { + const key = randomString(16); + + const { data: response } = await got.post('https://api.ainvest.com/gw/socialcenter/v1/edu/article/listArticle', { + headers: getHeaders(key), + searchParams: { + timestamp: Date.now(), + }, + data: encryptAES( + JSON.stringify({ + batch: ctx.query.limit ? parseInt(ctx.query.limit, 10) : 30, + startId: null, + tags: { + in: ['markettrends', 'premarket', 'companyinsights', 'macro'], + and: ['web', 'creationplatform'], + }, + }), + key + ), + }); + + const { data } = JSON.parse(decryptAES(response, key)); + + const items = data.map((item) => ({ + title: item.title, + description: item.content, + link: item.sourceUrl, + pubDate: parseDate(item.postDate, 'x'), + category: [item.nickName, ...item.tags.map((tag) => tag.code)], + })); + + ctx.state.data = { + title: 'AInvest - Latest Articles', + link: 'https://www.ainvest.com/news', + language: 'en', + item: items, + }; +}; diff --git a/lib/v2/ainvest/maintainer.js b/lib/v2/ainvest/maintainer.js new file mode 100644 index 00000000000000..4ac0e425c40004 --- /dev/null +++ b/lib/v2/ainvest/maintainer.js @@ -0,0 +1,4 @@ +module.exports = { + '/article': ['TonyRL'], + '/news': ['TonyRL'], +}; diff --git a/lib/v2/ainvest/news.js b/lib/v2/ainvest/news.js new file mode 100644 index 00000000000000..296cf6914df818 --- /dev/null +++ b/lib/v2/ainvest/news.js @@ -0,0 +1,39 @@ +const got = require('@/utils/got'); +const { parseDate } = require('@/utils/parse-date'); +const { getHeaders, randomString, decryptAES } = require('./utils'); + +module.exports = async (ctx) => { + const key = randomString(16); + + const { data: response } = await got('https://api.ainvest.com/gw/news_f10/v1/newsFlash/getNewsData', { + headers: getHeaders(key), + searchParams: { + terminal: 'web', + tab: 'all', + page: 1, + size: ctx.query.limit ? parseInt(ctx.query.limit, 10) : 50, + lastId: '', + timestamp: Date.now(), + }, + }); + + const { data } = JSON.parse(decryptAES(response, key)); + + const items = data.content.map((item) => ({ + title: item.title, + description: item.content, + link: item.sourceUrl, + pubDate: parseDate(item.publishTime, 'x'), + category: item.tagList.map((tag) => tag.nameEn), + author: item.userInfo.nickname, + upvotes: item.likeCount, + comments: item.commentCount, + })); + + ctx.state.data = { + title: 'AInvest - Latest News', + link: 'https://www.ainvest.com/news', + language: 'en', + item: items, + }; +}; diff --git a/lib/v2/ainvest/radar.js b/lib/v2/ainvest/radar.js new file mode 100644 index 00000000000000..a81c7dc87a6515 --- /dev/null +++ b/lib/v2/ainvest/radar.js @@ -0,0 +1,19 @@ +module.exports = { + 'ainvest.com': { + _name: 'AInvest', + '.': [ + { + title: 'Latest Article', + docs: 'https://docs.rsshub.app/finance#ainvest', + source: ['/news'], + target: '/ainvest/article', + }, + { + title: 'Latest News', + docs: 'https://docs.rsshub.app/finance#ainvest', + source: ['/news'], + target: '/ainvest/news', + }, + ], + }, +}; diff --git a/lib/v2/ainvest/router.js b/lib/v2/ainvest/router.js new file mode 100644 index 00000000000000..bba60f8e258262 --- /dev/null +++ b/lib/v2/ainvest/router.js @@ -0,0 +1,4 @@ +module.exports = (router) => { + router.get('/article', require('./article')); + router.get('/news', require('./news')); +}; diff --git a/lib/v2/ainvest/utils.js b/lib/v2/ainvest/utils.js new file mode 100644 index 00000000000000..80d74bbaf363ba --- /dev/null +++ b/lib/v2/ainvest/utils.js @@ -0,0 +1,73 @@ +const crypto = require('crypto'); +const CryptoJS = require('crypto-js'); +const { KJUR, KEYUTIL, hextob64 } = require('jsrsasign'); + +const publicKey = + 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCARnxLlrhTK28bEV7s2IROjT73KLSjfqpKIvV8L+Yhe4BrF0Ut4oOH728HZlbSF0C3N0vXZjLAFesoS4v1pYOjVCPXl920Lh2seCv82m0cK78WMGuqZTfA44Nv7JsQMHC3+J6IZm8YD53ft2d8mYBFgKektduucjx8sObe7eRyoQIDAQAB'; + +const randomString = (length) => { + if (length > 32) { + throw Error('Max length is 32.'); + } + return uuidv4().replace(/-/g, '').substring(0, length); +}; + +const uuidv4 = () => crypto.randomUUID(); + +/** + * @param {string} str + * @returns {CryptoJS.lib.WordArray} + */ +const MD5 = (str) => CryptoJS.MD5(str); + +const encryptAES = (data, key) => { + if (typeof key === 'string') { + key = MD5(key); + } + return CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(data), key, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7, + }).toString(); +}; + +const decryptAES = (data, key) => { + if (typeof key === 'string') { + key = MD5(key); + } + return CryptoJS.AES.decrypt(data, key, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7, + }).toString(CryptoJS.enc.Utf8); +}; + +const encryptRSA = (data) => { + // Original code: + // var n = new JSEncrypt(); + // n.setPublicKey(pubKey); + // return n.encrypt(message); + // Note: Server will reject the public key if it's encrypted using crypto.publicEncrypt(). + let pubKey = `-----BEGIN PUBLIC KEY-----${publicKey}-----END PUBLIC KEY-----`; + pubKey = KEYUTIL.getKey(pubKey); + return hextob64(KJUR.crypto.Cipher.encrypt(data, pubKey)); +}; + +const getHeaders = (key) => { + const fingerPrint = uuidv4(); + + return { + 'content-type': 'application/json', + 'ovse-trace': uuidv4(), + callertype: 'USER', + fingerprint: encryptAES(fingerPrint, MD5(key)), + onetimeskey: encryptRSA(key), + timestamp: encryptAES(Date.now(), key), + referer: 'https://www.ainvest.com/', + }; +}; + +module.exports = { + randomString, + encryptAES, + decryptAES, + getHeaders, +}; diff --git a/lib/v2/alternativeto/maintainer.js b/lib/v2/alternativeto/maintainer.js new file mode 100644 index 00000000000000..7d03305836c8df --- /dev/null +++ b/lib/v2/alternativeto/maintainer.js @@ -0,0 +1,4 @@ +module.exports = { + '/software/:name/:routeParams?': ['JimenezLi'], + '/platform/:name/:routeParams?': ['JimenezLi'], +}; diff --git a/lib/v2/alternativeto/platform.js b/lib/v2/alternativeto/platform.js new file mode 100644 index 00000000000000..fef2e5525050ae --- /dev/null +++ b/lib/v2/alternativeto/platform.js @@ -0,0 +1,32 @@ +const { baseURL, puppeteerGet } = require('./utils'); +const cheerio = require('cheerio'); + +module.exports = async (ctx) => { + const name = ctx.params.name; + const query = new URLSearchParams(ctx.params.routeParams); + const link = `https://alternativeto.net/platform/${name}/?${query.toString()}`; + + // use Puppeteer due to the obstacle by cloudflare challenge + const html = await puppeteerGet(link, ctx.cache); + const $ = cheerio.load(html); + + ctx.state.data = { + title: $('.Heading_h1___Cf5Y').text().trim(), + description: $('.intro-text').text().trim(), + link, + item: $('.AppListItem_appInfo__h9cWP') + .toArray() + .map((element) => { + const item = $(element); + const title = item.find('.Heading_h2___LwQD').text().trim(); + const link = `${baseURL}${item.find('.Heading_h2___LwQD a').attr('href')}`; + const description = item.find('.AppListItem_description__wtODK').text().trim(); + + return { + title, + link, + description, + }; + }), + }; +}; diff --git a/lib/v2/alternativeto/radar.js b/lib/v2/alternativeto/radar.js new file mode 100644 index 00000000000000..e33e25eaf42708 --- /dev/null +++ b/lib/v2/alternativeto/radar.js @@ -0,0 +1,19 @@ +module.exports = { + 'alternativeto.net': { + _name: 'AlternativeTo', + www: [ + { + title: 'Software Alternatives', + docs: 'https://docs.rsshub.app/routes/programming#alternativeto-software-alternatives', + source: '/software/:name', + target: '/software/:name', + }, + { + title: 'Platform Software', + docs: 'https://docs.rsshub.app/routes/programming#alternativeto-platform-software', + source: '/platform/:name', + target: '/platform/:name', + }, + ], + }, +}; diff --git a/lib/v2/alternativeto/router.js b/lib/v2/alternativeto/router.js new file mode 100644 index 00000000000000..985663ff9c3567 --- /dev/null +++ b/lib/v2/alternativeto/router.js @@ -0,0 +1,4 @@ +module.exports = (router) => { + router.get('/software/:name/:routeParams?', require('./software')); + router.get('/platform/:name/:routeParams?', require('./platform')); +}; diff --git a/lib/v2/alternativeto/software.js b/lib/v2/alternativeto/software.js new file mode 100644 index 00000000000000..a54d54de71fa90 --- /dev/null +++ b/lib/v2/alternativeto/software.js @@ -0,0 +1,32 @@ +const { baseURL, puppeteerGet } = require('./utils'); +const cheerio = require('cheerio'); + +module.exports = async (ctx) => { + const name = ctx.params.name; + const query = new URLSearchParams(ctx.params.routeParams); + const link = `https://alternativeto.net/software/${name}/?${query.toString()}`; + + // use Puppeteer due to the obstacle by cloudflare challenge + const html = await puppeteerGet(link, ctx.cache); + const $ = cheerio.load(html); + + ctx.state.data = { + title: $('.Heading_h1___Cf5Y').text().trim(), + description: $('.intro-text').text().trim(), + link, + item: $('.AppListItem_appInfo__h9cWP') + .toArray() + .map((element) => { + const item = $(element); + const title = item.find('.Heading_h2___LwQD').text().trim(); + const link = `${baseURL}${item.find('.Heading_h2___LwQD a').attr('href')}`; + const description = item.find('.AppListItem_description__wtODK').text().trim(); + + return { + title, + link, + description, + }; + }), + }; +}; diff --git a/lib/v2/alternativeto/utils.js b/lib/v2/alternativeto/utils.js new file mode 100644 index 00000000000000..1ecbc02434cda2 --- /dev/null +++ b/lib/v2/alternativeto/utils.js @@ -0,0 +1,22 @@ +const baseURL = 'https://alternativeto.net'; + +const puppeteerGet = (url, cache) => + cache.tryGet(url, async () => { + const browser = await require('@/utils/puppeteer')(); + const page = await browser.newPage(); + await page.setRequestInterception(true); + page.on('request', (request) => { + request.resourceType() === 'document' ? request.continue() : request.abort(); + }); + await page.goto(url, { + waitUntil: 'domcontentloaded', + }); + const html = await page.evaluate(() => document.documentElement.innerHTML); + browser.close(); + return html; + }); + +module.exports = { + baseURL, + puppeteerGet, +}; diff --git a/lib/v2/apple/apps.js b/lib/v2/apple/apps.js new file mode 100644 index 00000000000000..35ce321e15c566 --- /dev/null +++ b/lib/v2/apple/apps.js @@ -0,0 +1,36 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const { id, country } = ctx.params; + const url = `https://apps.apple.com/${country}/app/${id}`; + + const res = await got(url); + const $ = cheerio.load(res.data); + + const webPlatform = $('.we-localnav__title__product').text(); + + const appData = JSON.parse(Object.values(JSON.parse($('script#shoebox-media-api-cache-apps').text()))[0]); + const appName = appData.d[0].attributes.name; + const platform = Object.values(appData.d[0].attributes.platformAttributes)[0]; // may incldes osx appletvos, ios, etc. + + const items = platform.versionHistory.map((item) => ({ + title: `${appName} ${item.versionDisplay}`, + description: item.releaseNotes?.replace(/\n/g, '
'), + pubDate: parseDate(item.releaseTimestamp), + guid: `apple:apps:update:${country}:${id}:${item.versionDisplay}`, + link: url, + })); + + ctx.state.data = { + title: `${appName} for ${webPlatform === 'App Store' ? 'iOS' : 'macOS'} ${country === 'cn' ? '更新' : 'Update'}`, + description: platform.description.standard?.replace(/\n/g, ' '), + link: url, + item: items, + }; + + ctx.state.json = { + appData, + }; +}; diff --git a/lib/v2/apple/maintainer.js b/lib/v2/apple/maintainer.js index f20b561dccaee3..5c93b994748507 100644 --- a/lib/v2/apple/maintainer.js +++ b/lib/v2/apple/maintainer.js @@ -1,3 +1,4 @@ module.exports = { + '/apps/update/:country/:id': ['EkkoG'], '/exchange_repair/:country?': ['metowolf', 'HenryQW', 'kt286'], }; diff --git a/lib/v2/apple/radar.js b/lib/v2/apple/radar.js index 065cd9d3f7ac02..0627820d2b3b64 100644 --- a/lib/v2/apple/radar.js +++ b/lib/v2/apple/radar.js @@ -1,6 +1,14 @@ module.exports = { 'apple.com': { _name: 'Apple', + apps: [ + { + title: 'App Update', + docs: 'https://docs.rsshub.app/routes/program-update#app-store-mac-app-store', + source: ['/:contry/app/:appSlug/:id', '/:contry/app/:id'], + target: '/appstore/apps/update/:country/:id', + }, + ], support: [ { title: '换和维修扩展计划', diff --git a/lib/v2/apple/router.js b/lib/v2/apple/router.js index 08eee72723d5de..c9a52ef5434269 100644 --- a/lib/v2/apple/router.js +++ b/lib/v2/apple/router.js @@ -1,3 +1,4 @@ module.exports = function (router) { + router.get('/apps/update/:country/:id', require('./apps')); router.get('/exchange_repair/:country?', require('./exchange_repair')); }; diff --git a/lib/v2/appstore/maintainer.js b/lib/v2/appstore/maintainer.js index 33d8b2e2fc0423..909a4b3d60ac2c 100644 --- a/lib/v2/appstore/maintainer.js +++ b/lib/v2/appstore/maintainer.js @@ -1,5 +1,4 @@ module.exports = { - '/update/:country/:id': ['HenryQW'], '/price/:country/:type/:id': ['HenryQW'], '/iap/:country/:id': ['HenryQW'], '/xianmian': ['Andiedie'], diff --git a/lib/v2/appstore/radar.js b/lib/v2/appstore/radar.js index cb0f09751744d2..19c5ad174975b6 100644 --- a/lib/v2/appstore/radar.js +++ b/lib/v2/appstore/radar.js @@ -2,12 +2,6 @@ module.exports = { 'apple.com': { _name: 'Apple', apps: [ - { - title: '应用更新', - docs: 'https://docs.rsshub.app/routes/program-update#app-store-mac-app-store', - source: ['/:contry/app/:id'], - target: '/appstore/update/:country/:id', - }, { title: '价格更新', docs: 'https://docs.rsshub.app/routes/program-update#app-store-mac-app-store', diff --git a/lib/v2/appstore/router.js b/lib/v2/appstore/router.js index 9575545c3a474d..b8076dd66e31e8 100644 --- a/lib/v2/appstore/router.js +++ b/lib/v2/appstore/router.js @@ -3,5 +3,4 @@ module.exports = function (router) { router.get('/xianmian', require('./xianmian')); router.get('/iap/:country/:id', require('./in-app-purchase')); router.get('/price/:country/:type/:id', require('./price')); - router.get('/update/:country/:id', require('./update')); }; diff --git a/lib/v2/appstore/update.js b/lib/v2/appstore/update.js deleted file mode 100644 index 7e5fb500c2388b..00000000000000 --- a/lib/v2/appstore/update.js +++ /dev/null @@ -1,37 +0,0 @@ -const got = require('@/utils/got'); -const cheerio = require('cheerio'); - -module.exports = async (ctx) => { - const id = ctx.params.id; - const country = ctx.params.country; - const url = `https://apps.apple.com/${country}/app/${id}`; - - const res = await got.get(url); - const $ = cheerio.load(res.data); - - const titleTags = $('h1').attr('class', 'product-header__title'); - titleTags.find('span').remove(); - const platform = $('.we-localnav__title__product').text(); - - const title = `${titleTags.text().trim()} for ${platform === 'App Store' ? 'iOS' : 'macOS'} ${country === 'cn' ? '更新' : 'Update'}`; - - const items = []; - if ($('.whats-new').length > 0) { - $('.whats-new').each(() => { - const version = $('.whats-new__latest__version').text().split(' ')[1]; - const date = $('.whats-new__content time').attr('aria-label'); - const item = {}; - item.title = `${titleTags.text().trim()} ${version}`; - item.description = $('.whats-new__content .we-truncate').html(); - item.link = url; - item.guid = id + version; - item.pubDate = date; - items.push(item); - }); - } - ctx.state.data = { - title, - link: url, - item: items, - }; -}; diff --git a/lib/v2/cbc/maintainer.js b/lib/v2/cbc/maintainer.js new file mode 100644 index 00000000000000..363672ee3814a0 --- /dev/null +++ b/lib/v2/cbc/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/topics/:topic?': ['wb14123'], +}; diff --git a/lib/v2/cbc/radar.js b/lib/v2/cbc/radar.js new file mode 100644 index 00000000000000..34d9253a73cb94 --- /dev/null +++ b/lib/v2/cbc/radar.js @@ -0,0 +1,13 @@ +module.exports = { + 'cbc.ca': { + _name: 'Canadian Broadcasting Corporation', + '.': [ + { + title: 'News', + docs: 'https://docs.rsshub.app/routes/traditional-media#canadian-broadcasting-corporation', + source: ['/news'], + target: '/cbc/topics', + }, + ], + }, +}; diff --git a/lib/v2/cbc/router.js b/lib/v2/cbc/router.js new file mode 100644 index 00000000000000..6d2fc6901a4d70 --- /dev/null +++ b/lib/v2/cbc/router.js @@ -0,0 +1,3 @@ +module.exports = (router) => { + router.get('/topics/:topic?', require('./topics')); +}; diff --git a/lib/routes/cbc/topics.js b/lib/v2/cbc/topics.js similarity index 58% rename from lib/routes/cbc/topics.js rename to lib/v2/cbc/topics.js index 85701bdb02b3aa..df5bbf44951774 100644 --- a/lib/routes/cbc/topics.js +++ b/lib/v2/cbc/topics.js @@ -4,12 +4,9 @@ const cheerio = require('cheerio'); module.exports = async (ctx) => { const baseUrl = 'https://www.cbc.ca'; const topic = ctx.params.topic || ''; - const url = `${baseUrl}/news/${topic.replace('-', '/')}`; + const url = `${baseUrl}/news${topic ? `/${topic.replace('-', '/')}` : ''}`; - const response = await got({ - method: 'get', - url, - }); + const response = await got(url); const data = response.data; @@ -27,13 +24,13 @@ module.exports = async (ctx) => { $('a.card').each(pushLinks); const out = await Promise.all( - links.map(async (link) => { - const [title, author, pubDate, description] = await ctx.cache.tryGet(link, async () => { - const result = await got.get(link); + links.map((link) => + ctx.cache.tryGet(link, async () => { + const result = await got(link); const $ = cheerio.load(result.data); - const head = JSON.parse($('script[type="application/ld+json"]').html()); + const head = JSON.parse($('script[type="application/ld+json"]').first().text()); if (!head) { return []; } @@ -44,28 +41,16 @@ module.exports = async (ctx) => { author = head.author.map((author) => author.name).join(' & '); } const pubDate = head.datePublished; - const description = $('div.storyWrapper').html(); + const description = $('div[data-cy=storyWrapper]').html(); - return [title, author, pubDate, description]; - }); - - if (!title) { - return Promise.resolve(undefined); - } - - return { - title, - description, - pubDate, - link, - author, - }; - }) + return { title, author, pubDate, description, link }; + }) + ) ); ctx.state.data = { title: $('title').text(), link: url, - item: out.filter((x) => x), + item: out.filter((x) => x.title), }; }; diff --git a/lib/v2/gamegene/maintainer.js b/lib/v2/gamegene/maintainer.js new file mode 100644 index 00000000000000..8c0559d270cb89 --- /dev/null +++ b/lib/v2/gamegene/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/news': ['lone1y-51'], +}; diff --git a/lib/v2/gamegene/news.js b/lib/v2/gamegene/news.js new file mode 100644 index 00000000000000..a93fe643be9775 --- /dev/null +++ b/lib/v2/gamegene/news.js @@ -0,0 +1,50 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const url = 'https://gamegene.cn/news'; + const { data: response } = await got({ + method: 'get', + url, + }); + const $ = cheerio.load(response); + const list = $('div.mr245') + .toArray() + .map((item) => { + item = $(item); + const aEle = item.find('a').first(); + const href = aEle.attr('href'); + const title = aEle.find('h3').first().text(); + const author = item.find('a.namenode').text(); + const category = item.find('span.r').text(); + return { + title, + link: href, + author, + category, + }; + }); + const items = await Promise.all( + list.map((item) => + ctx.cache.tryGet(item.link, async () => { + const { data: response } = await got({ + method: 'get', + url: item.link, + }); + const $ = cheerio.load(response); + const dateTime = $('div.meta').find('time').first().text(); + item.pubDate = parseDate(dateTime); + item.description = $('div.content').first().html(); + return item; + }) + ) + ); + + ctx.state.data = { + // 在此处输出您的 RSS + item: items, + link: url, + title: '游戏基因 GameGene', + }; +}; diff --git a/lib/v2/gamegene/radar.js b/lib/v2/gamegene/radar.js new file mode 100644 index 00000000000000..73c2281622eba3 --- /dev/null +++ b/lib/v2/gamegene/radar.js @@ -0,0 +1,13 @@ +module.exports = { + 'gamegene.cn': { + _name: '游戏基因', + news: [ + { + title: '资讯', + docs: 'https://docs.rsshub.app/routes/game#you-xi-ji-yin', + source: ['/news'], + target: '/gamegene/news', + }, + ], + }, +}; diff --git a/lib/v2/gamegene/router.js b/lib/v2/gamegene/router.js new file mode 100644 index 00000000000000..69a5972f6a8112 --- /dev/null +++ b/lib/v2/gamegene/router.js @@ -0,0 +1,3 @@ +module.exports = function (router) { + router.get('/news', require('./news')); +}; diff --git a/lib/v2/kamen-rider-official/maintainer.js b/lib/v2/kamen-rider-official/maintainer.js new file mode 100644 index 00000000000000..d4350891fda653 --- /dev/null +++ b/lib/v2/kamen-rider-official/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/news/:category?': ['nczitzk'], +}; diff --git a/lib/v2/kamen-rider-official/news.js b/lib/v2/kamen-rider-official/news.js new file mode 100644 index 00000000000000..f514d35a71c454 --- /dev/null +++ b/lib/v2/kamen-rider-official/news.js @@ -0,0 +1,110 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); +const { art } = require('@/utils/render'); +const path = require('path'); + +module.exports = async (ctx) => { + const { category } = ctx.params; + const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 50; + + const rootUrl = 'https://www.kamen-rider-official.com'; + const apiUrl = new URL('api/v1/news_articles', rootUrl).href; + const currentUrl = new URL(`news_articles/${category ? `?category=${category}` : ''}`, rootUrl).href; + + const { data: currentResponse } = await got(currentUrl); + + const buildId = currentResponse.match(/"buildId":"(\w+)"/)[1]; + + const apiCategoryUrl = new URL(`_next/data/${buildId}/news_articles.json`, rootUrl).href; + + const { data: categoryResponse } = await got(apiCategoryUrl); + + const id = categoryResponse.pageProps.categoryIds[category]; + + const { data: response } = await got(apiUrl, { + searchParams: { + category_id: id, + limit, + offset: 0, + }, + }); + + let items = response.news_articles.slice(0, limit).map((item) => ({ + title: item.list_title, + link: new URL(item.path, rootUrl).href, + description: art(path.join(__dirname, 'templates/description.art'), { + image: item.list_image_path + ? { + src: new URL(item.list_image_path, rootUrl).href, + alt: item.list_title, + } + : undefined, + }), + author: item.author, + category: [item.category_name, item.category_2_name].filter((c) => c), + guid: `kamen-rider-official-${item.id}`, + pubDate: parseDate(item.release_date), + })); + + items = await Promise.all( + items.map((item) => + ctx.cache.tryGet(item.link, async () => { + const { data: detailResponse } = await got(item.link); + + const content = cheerio.load(detailResponse); + + content('a.c-button').each(function () { + content(this).parent().remove(); + }); + + content('img').each(function () { + content(this).replaceWith( + art(path.join(__dirname, 'templates/description.art'), { + image: { + src: content(this).prop('src'), + }, + }) + ); + }); + + item.title = content('h1.p-post__title').text() || item.title; + item.description = content('main.p-post__main').html(); + item.author = content('div.p-post__responsibility p') + .toArray() + .map((a) => content(a).text()) + .join(' / '); + item.category = Array.from( + new Set( + [ + ...item.category, + ...content('ul.p-post__categories li a.p-post__category') + .toArray() + .map((c) => content(c).text().trim()), + ].filter((c) => c) + ) + ); + + return item; + }) + ) + ); + + const $ = cheerio.load(currentResponse); + + const icon = new URL($('link[rel="icon"]').prop('href'), rootUrl).href; + + ctx.state.data = { + item: items, + title: `${$('title').text().split(/ー/)[0]}${category ? ` - ${category}` : ''}`, + link: currentUrl, + description: $('meta[property="og:description"]').prop('content'), + language: $('html').prop('lang'), + image: $('meta[property="og:image"]').prop('content'), + icon, + logo: icon, + subtitle: $('meta[property="keywords"]').prop('content'), + author: $('meta[property="og:site_name"]').prop('content'), + allowEmpty: true, + }; +}; diff --git a/lib/v2/kamen-rider-official/radar.js b/lib/v2/kamen-rider-official/radar.js new file mode 100644 index 00000000000000..5590dad332edb8 --- /dev/null +++ b/lib/v2/kamen-rider-official/radar.js @@ -0,0 +1,18 @@ +module.exports = { + 'kamen-rider-official.com': { + _name: '仮面ライダ', + '.': [ + { + title: '最新情報', + docs: 'https://docs.rsshub.app/routes/new-media#fan-mian-%E3%83%A9%E3%82%A4%E3%83%80-zui-xin-qing-bao', + source: ['/news_articles'], + target: (params, url) => { + url = new URL(url); + const category = url.searchParams.get('category'); + + return `/kamen-rider-official/news${category ? `/${category}` : ''}`; + }, + }, + ], + }, +}; diff --git a/lib/v2/kamen-rider-official/router.js b/lib/v2/kamen-rider-official/router.js new file mode 100644 index 00000000000000..1b7e3945024095 --- /dev/null +++ b/lib/v2/kamen-rider-official/router.js @@ -0,0 +1,3 @@ +module.exports = (router) => { + router.get('/news/:category?', require('./news')); +}; diff --git a/lib/v2/kamen-rider-official/templates/description.art b/lib/v2/kamen-rider-official/templates/description.art new file mode 100644 index 00000000000000..a56b27f6eda4e4 --- /dev/null +++ b/lib/v2/kamen-rider-official/templates/description.art @@ -0,0 +1,10 @@ +{{ if image }} +
+ {{ image.alt }} +
+{{ /if }} \ No newline at end of file diff --git a/lib/v2/lemmy/index.js b/lib/v2/lemmy/index.js new file mode 100644 index 00000000000000..3657ad82b8ebb6 --- /dev/null +++ b/lib/v2/lemmy/index.js @@ -0,0 +1,61 @@ +const got = require('@/utils/got'); +const { parseDate } = require('@/utils/parse-date'); +const md = require('markdown-it')({ html: true }); +const config = require('@/config').value; + +module.exports = async (ctx) => { + const sort = ctx.params.sort ?? 'Active'; + const community = ctx.params.community; + const communitySlices = community.split('@'); + if (communitySlices.length !== 2) { + ctx.throw(400, `Invalid community: ${community}`); + } + const instance = community.split('@')[1]; + const allowedDomain = ['lemmy.world', 'lemm.ee', 'lemmy.ml', 'sh.itjust.works', 'feddit.de', 'hexbear.net', 'beehaw.org', 'lemmynsfw.com', 'lemmy.ca', 'programming.dev']; + if (!config.feature.allow_user_supply_unsafe_domain && !allowedDomain.includes(new URL(`http://${instance}/`).hostname)) { + ctx.throw(403, `This RSS is disabled unless 'ALLOW_USER_SUPPLY_UNSAFE_DOMAIN' is set to 'true'.`); + } + + const communityUrl = `https://${instance}/api/v3/community?name=${community}`; + const communityData = await ctx.cache.tryGet(communityUrl, async () => { + const result = await got({ method: 'get', url: communityUrl, headers: { 'Content-Type': 'application/json' } }); + return result.data.community_view.community; + }); + + const postUrl = `https://${instance}/api/v3/post/list?type_=All&sort=${sort}&community_name=${community}&limit=50`; + const postData = await ctx.cache.tryGet( + postUrl, + async () => { + const result = await got({ method: 'get', url: postUrl, headers: { 'Content-Type': 'application/json' } }); + return result.data; + }, + config.cache.routeExpire, + false + ); + + const items = postData.posts.map((e) => { + const post = e.post; + const creator = e.creator; + const counts = e.counts; + const item = {}; + item.title = post.name; + item.author = creator.name; + item.pubDate = parseDate(post.published); + item.link = post.ap_id; + const url = post.url; + const urlContent = url ? `

${url}

` : ''; + const body = post.body ? md.render(post.body) : ''; + item.description = urlContent + body; + item.comments = counts.comments; + item.upvotes = counts.upvotes; + item.downvotes = counts.downvotes; + return item; + }); + + ctx.state.data = { + title: `${community} - ${sort} posts`, + description: communityData.description, + link: communityData.actor_id, + item: items, + }; +}; diff --git a/lib/v2/lemmy/maintainer.js b/lib/v2/lemmy/maintainer.js new file mode 100644 index 00000000000000..a1276bba595960 --- /dev/null +++ b/lib/v2/lemmy/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/:community/:sort?': ['wb14123'], +}; diff --git a/lib/v2/lemmy/router.js b/lib/v2/lemmy/router.js new file mode 100644 index 00000000000000..062bdeeaada2a9 --- /dev/null +++ b/lib/v2/lemmy/router.js @@ -0,0 +1,3 @@ +module.exports = function (router) { + router.get('/:community/:sort?', require('./index')); +}; diff --git a/lib/v2/mixcloud/index.js b/lib/v2/mixcloud/index.js index b4d4e7d7b1de36..243ef3c56e477a 100644 --- a/lib/v2/mixcloud/index.js +++ b/lib/v2/mixcloud/index.js @@ -6,6 +6,7 @@ const { queries } = require('./queries'); module.exports = async (ctx) => { const host = 'https://www.mixcloud.com'; const imageBaseURL = 'https://thumbnailer.mixcloud.com/unsafe/480x480/'; + const graphqlURL = 'https://app.mixcloud.com/graphql'; const headers = { Referer: host, 'Content-Type': 'application/json', @@ -40,7 +41,6 @@ module.exports = async (ctx) => { username: ctx.params.username, }, orderBy: 'LATEST', - audioTypes: ['SHOW'], }, }, favorites: { @@ -59,37 +59,20 @@ module.exports = async (ctx) => { }, }, }, - profile: { - query: queries.profile.query, - variables: { - lookup: { - username: ctx.params.username, - }, - }, - }, }; - const profile = ( - await got({ - method: 'post', - url: `${host}/graphql`, - json: payloads.profile, - headers, - }) - ).data.data; - - const biog = profile.user.biog; - const image = `${imageBaseURL}${profile.user.picture.urlRoot}`; - const data = ( await got({ method: 'post', - url: `${host}/graphql`, + url: graphqlURL, json: payloads[type], headers, }) ).data.data; + const biog = data.user.biog; + const image = `${imageBaseURL}${data.user.picture.urlRoot}`; + // https://github.com/ytdl-org/youtube-dl/blob/f1487d4fca40fd37d735753e24a7bae53a1b1513/youtube_dl/extractor/mixcloud.py#L72-L79 const decryptionKey = 'IFYOUWANTTHEARTISTSTOGETPAIDDONOTDOWNLOADFROMMIXCLOUD'; const decryptXorCipher = (key, cipherText) => { diff --git a/lib/v2/mixcloud/queries.js b/lib/v2/mixcloud/queries.js index 72b652b705340e..2102891a8888a7 100644 --- a/lib/v2/mixcloud/queries.js +++ b/lib/v2/mixcloud/queries.js @@ -1,6 +1,8 @@ const queries = { stream: { - query: `query UserStreamQuery($lookup: UserLookup!) { + query: `query UserStreamQuery( + $lookup: UserLookup! + ) { user: userLookup(lookup: $lookup) { username ...UserStreamPage_user @@ -27,6 +29,9 @@ const queries = { username isSubscribedTo isViewer + affiliateUsers { + totalCount + } } ...AudioCardFavoriteButton_cloudcast ...AudioCardRepostButton_cloudcast @@ -176,6 +181,7 @@ const queries = { isPublic slug description + audioType picture { urlRoot } @@ -209,6 +215,28 @@ const queries = { ...AudioCardTags_cloudcast } + fragment AudioCardSubLinks_cloudcast on Cloudcast { + id + isExclusive + owner { + id + displayName + username + ...Hovercard_user + } + creatorAttributions(first: 2) { + totalCount + edges { + node { + id + displayName + username + ...Hovercard_user + } + } + } + } + fragment AudioCardTags_cloudcast on Cloudcast { tags(country: "GLOBAL") { tag { @@ -224,18 +252,20 @@ const queries = { slug name audioType + audioQuality isLiveRecording isExclusive owner { id - displayName username - ...Hovercard_user ...UserBadge_user } + creatorAttributions(first: 2) { + totalCount + } + ...AudioCardSubLinks_cloudcast ...AudioCardPlayButton_cloudcast ...ExclusiveCloudcastBadgeContainer_cloudcast - ...CloudcastHQAudio_cloudcast } fragment AudioCard_cloudcast on Cloudcast { @@ -275,10 +305,6 @@ const queries = { } } - fragment CloudcastHQAudio_cloudcast on Cloudcast { - audioQuality - } - fragment ExclusiveCloudcastBadgeContainer_cloudcast on Cloudcast { isExclusive isExclusivePreviewOnly @@ -301,6 +327,17 @@ const queries = { } } + fragment ShareAudioCardList_user on User { + biog + username + displayName + id + isUploader + picture { + urlRoot + } + } + fragment UGCImage_picture on Picture { urlRoot primaryColor @@ -316,15 +353,16 @@ const queries = { id displayName username + ...ShareAudioCardList_user stream(first: 10) { edges { - cursor repostedBy node { id ...AudioCard_cloudcast __typename } + cursor } pageInfo { endCursor @@ -341,11 +379,10 @@ const queries = { query: `query UserUploadsQuery( $lookup: UserLookup! $orderBy: CloudcastOrderByEnum - $audioTypes: [AudioTypeEnum!] ) { user: userLookup(lookup: $lookup) { username - ...UserUploadsPage_user_3HcCKF + ...UserUploadsPage_user_7FfCv id } viewer { @@ -369,6 +406,9 @@ const queries = { username isSubscribedTo isViewer + affiliateUsers { + totalCount + } } ...AudioCardFavoriteButton_cloudcast ...AudioCardRepostButton_cloudcast @@ -518,6 +558,7 @@ const queries = { isPublic slug description + audioType picture { urlRoot } @@ -551,6 +592,28 @@ const queries = { ...AudioCardTags_cloudcast } + fragment AudioCardSubLinks_cloudcast on Cloudcast { + id + isExclusive + owner { + id + displayName + username + ...Hovercard_user + } + creatorAttributions(first: 2) { + totalCount + edges { + node { + id + displayName + username + ...Hovercard_user + } + } + } + } + fragment AudioCardTags_cloudcast on Cloudcast { tags(country: "GLOBAL") { tag { @@ -566,18 +629,20 @@ const queries = { slug name audioType + audioQuality isLiveRecording isExclusive owner { id - displayName username - ...Hovercard_user ...UserBadge_user } + creatorAttributions(first: 2) { + totalCount + } + ...AudioCardSubLinks_cloudcast ...AudioCardPlayButton_cloudcast ...ExclusiveCloudcastBadgeContainer_cloudcast - ...CloudcastHQAudio_cloudcast } fragment AudioCard_cloudcast on Cloudcast { @@ -617,10 +682,6 @@ const queries = { } } - fragment CloudcastHQAudio_cloudcast on Cloudcast { - audioQuality - } - fragment ExclusiveCloudcastBadgeContainer_cloudcast on Cloudcast { isExclusive isExclusivePreviewOnly @@ -643,6 +704,17 @@ const queries = { } } + fragment ShareAudioCardList_user on User { + biog + username + displayName + id + isUploader + picture { + urlRoot + } + } + fragment UGCImage_picture on Picture { urlRoot primaryColor @@ -654,16 +726,13 @@ const queries = { hasPremiumFeatures } - fragment UserUploadsPage_user_3HcCKF on User { + fragment UserUploadsPage_user_7FfCv on User { id displayName username - uploads( - first: 10 - orderBy: $orderBy - audioTypes: $audioTypes - isPublic: true - ) { + isViewer + ...ShareAudioCardList_user + uploads(first: 10, isPublic: true, orderBy: $orderBy, audioTypes: [SHOW]) { edges { node { ...AudioCard_cloudcast @@ -684,7 +753,9 @@ const queries = { }`, }, favorites: { - query: `query UserFavoritesQuery($lookup: UserLookup!) { + query: `query UserFavoritesQuery( + $lookup: UserLookup! + ) { user: userLookup(lookup: $lookup) { username hiddenFavorites: favorites { @@ -714,6 +785,9 @@ const queries = { username isSubscribedTo isViewer + affiliateUsers { + totalCount + } } ...AudioCardFavoriteButton_cloudcast ...AudioCardRepostButton_cloudcast @@ -863,6 +937,7 @@ const queries = { isPublic slug description + audioType picture { urlRoot } @@ -896,6 +971,28 @@ const queries = { ...AudioCardTags_cloudcast } + fragment AudioCardSubLinks_cloudcast on Cloudcast { + id + isExclusive + owner { + id + displayName + username + ...Hovercard_user + } + creatorAttributions(first: 2) { + totalCount + edges { + node { + id + displayName + username + ...Hovercard_user + } + } + } + } + fragment AudioCardTags_cloudcast on Cloudcast { tags(country: "GLOBAL") { tag { @@ -911,18 +1008,20 @@ const queries = { slug name audioType + audioQuality isLiveRecording isExclusive owner { id - displayName username - ...Hovercard_user ...UserBadge_user } + creatorAttributions(first: 2) { + totalCount + } + ...AudioCardSubLinks_cloudcast ...AudioCardPlayButton_cloudcast ...ExclusiveCloudcastBadgeContainer_cloudcast - ...CloudcastHQAudio_cloudcast } fragment AudioCard_cloudcast on Cloudcast { @@ -962,10 +1061,6 @@ const queries = { } } - fragment CloudcastHQAudio_cloudcast on Cloudcast { - audioQuality - } - fragment ExclusiveCloudcastBadgeContainer_cloudcast on Cloudcast { isExclusive isExclusivePreviewOnly @@ -988,6 +1083,17 @@ const queries = { } } + fragment ShareAudioCardList_user on User { + biog + username + displayName + id + isUploader + picture { + urlRoot + } + } + fragment UGCImage_picture on Picture { urlRoot primaryColor @@ -1004,6 +1110,7 @@ const queries = { displayName username isViewer + ...ShareAudioCardList_user favorites(first: 10) { edges { node { @@ -1028,7 +1135,9 @@ const queries = { }`, }, listens: { - query: `query UserListensQuery($lookup: UserLookup!) { + query: `query UserListensQuery( + $lookup: UserLookup! + ) { user: userLookup(lookup: $lookup) { username hiddenListeningHistory: listeningHistory { @@ -1058,6 +1167,9 @@ const queries = { username isSubscribedTo isViewer + affiliateUsers { + totalCount + } } ...AudioCardFavoriteButton_cloudcast ...AudioCardRepostButton_cloudcast @@ -1207,6 +1319,7 @@ const queries = { isPublic slug description + audioType picture { urlRoot } @@ -1240,6 +1353,28 @@ const queries = { ...AudioCardTags_cloudcast } + fragment AudioCardSubLinks_cloudcast on Cloudcast { + id + isExclusive + owner { + id + displayName + username + ...Hovercard_user + } + creatorAttributions(first: 2) { + totalCount + edges { + node { + id + displayName + username + ...Hovercard_user + } + } + } + } + fragment AudioCardTags_cloudcast on Cloudcast { tags(country: "GLOBAL") { tag { @@ -1255,18 +1390,20 @@ const queries = { slug name audioType + audioQuality isLiveRecording isExclusive owner { id - displayName username - ...Hovercard_user ...UserBadge_user } + creatorAttributions(first: 2) { + totalCount + } + ...AudioCardSubLinks_cloudcast ...AudioCardPlayButton_cloudcast ...ExclusiveCloudcastBadgeContainer_cloudcast - ...CloudcastHQAudio_cloudcast } fragment AudioCard_cloudcast on Cloudcast { @@ -1306,10 +1443,6 @@ const queries = { } } - fragment CloudcastHQAudio_cloudcast on Cloudcast { - audioQuality - } - fragment ExclusiveCloudcastBadgeContainer_cloudcast on Cloudcast { isExclusive isExclusivePreviewOnly @@ -1332,6 +1465,17 @@ const queries = { } } + fragment ShareAudioCardList_user on User { + biog + username + displayName + id + isUploader + picture { + urlRoot + } + } + fragment UGCImage_picture on Picture { urlRoot primaryColor @@ -1348,10 +1492,10 @@ const queries = { isViewer displayName username + ...ShareAudioCardList_user listeningHistory(first: 10) { totalCount edges { - cursor node { id cloudcast { @@ -1360,6 +1504,7 @@ const queries = { } __typename } + cursor } pageInfo { endCursor @@ -1376,143 +1521,6 @@ const queries = { ...AudioCard_viewer }`, }, - profile: { - query: `query UserProfileHeaderQuery($lookup: UserLookup!) { - user: userLookup(lookup: $lookup) { - id - displayName - username - isBranded - isStaff - isViewer - followers { - totalCount - } - hasCoverPicture - hasPremiumFeatures - hasProFeatures - picture { - primaryColor - ...UGCImage_picture - } - coverPicture { - urlRoot - } - ...ProfileNavigation_user - ...UserBadge_user - ...ShareUserButton_user - ...ProfileRegisterUpsellComponent_user - ...FollowButton_user - } - viewer { - ...ProfileRegisterUpsellComponent_viewer - ...FollowButton_viewer - id - } - } - - fragment FollowButton_user on User { - id - isFollowed - isFollowing - isViewer - followers { - totalCount - } - username - displayName - } - - fragment FollowButton_viewer on Viewer { - me { - id - } - } - - fragment ProfileNavigation_user on User { - id - username - stream { - totalCount - } - favorites { - totalCount - } - listeningHistory { - totalCount - } - uploads(audioTypes: [SHOW]) { - totalCount - } - tracks: uploads(audioTypes: [TRACK]) { - totalCount - } - posts { - totalCount - } - profileNavigation( - showsAudioTypes: [SHOW] - tracksAudioTypes: [TRACK] - streamAudioTypes: [SHOW, TRACK] - ) { - menuItems { - __typename - ... on NavigationItemInterface { - __isNavigationItemInterface: __typename - inDropdown - } - ... on HideableNavigationItemInterface { - __isHideableNavigationItemInterface: __typename - hidden - } - ... on PlaylistNavigationItem { - count - playlist { - id - name - slug - } - } - } - } - } - - fragment ProfileRegisterUpsellComponent_user on User { - id - displayName - followers { - totalCount - } - } - - fragment ProfileRegisterUpsellComponent_viewer on Viewer { - me { - id - } - } - - fragment ShareUserButton_user on User { - biog - username - displayName - id - isUploader - picture { - urlRoot - } - } - - fragment UGCImage_picture on Picture { - urlRoot - primaryColor - } - - fragment UserBadge_user on User { - hasProFeatures - isStaff - hasPremiumFeatures - }`, - }, }; module.exports = { diff --git a/lib/v2/mydrivers/cid.js b/lib/v2/mydrivers/cid.js new file mode 100644 index 00000000000000..65f44a6499dbc4 --- /dev/null +++ b/lib/v2/mydrivers/cid.js @@ -0,0 +1,38 @@ +const { parseDate } = require('@/utils/parse-date'); +const parser = require('@/utils/rss-parser'); + +const { rootUrl, rootRSSUrl, title, categories, getInfo, processItems } = require('./util'); + +module.exports = async (ctx) => { + const { id } = ctx.params; + const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 100; + + const queryString = id ? `?cid=${id}` : ''; + const currentUrl = new URL(id ? `newsclass.aspx${queryString}` : '', rootUrl).href; + + const rssUrl = new URL(`rss.aspx${queryString}`, rootRSSUrl).href; + + const feed = await parser.parseURL(rssUrl); + + let items = feed.items.slice(0, limit).map((item) => ({ + title: item.title, + link: item.link, + description: item.content, + author: item.creator, + category: item.categories, + guid: item.guid.match(/\/(\d+)\.htm/)[1], + pubDate: parseDate(item.isoDate), + })); + + if (id) { + items = await processItems(items, ctx.cache.tryGet); + } + + ctx.state.data = { + ...(await getInfo(currentUrl, ctx.cache.tryGet)), + ...{ + item: items, + title: `${title} - ${feed.title.split(/_/).pop() || categories.zhibo}`, + }, + }; +}; diff --git a/lib/v2/mydrivers/index.js b/lib/v2/mydrivers/index.js index b7dca23d8a6b67..02bf7899549dda 100644 --- a/lib/v2/mydrivers/index.js +++ b/lib/v2/mydrivers/index.js @@ -2,109 +2,60 @@ const got = require('@/utils/got'); const cheerio = require('cheerio'); const timezone = require('@/utils/timezone'); const { parseDate } = require('@/utils/parse-date'); +const { art } = require('@/utils/render'); +const path = require('path'); -const titles = { - '': { '': '最新' }, - new: { '': '最新' }, - hot: { '': '最热' }, - ac: { - new: '最新', - hot: '最热', - }, - bcid: { - 801: '电脑', - 802: '手机', - 803: '业界', - 806: '游戏', - 807: '汽车', - 809: '影视', - }, - tid: { - 1000: '科学', - 1001: '排行', - 1002: '评测', - 1003: '一图', - }, - icid: { - 67: '百度', - 90: '微软', - 121: '安卓', - 136: '华为', - 140: '魅族', - 148: 'OPPO', - 154: '三星', - 194: 'Xbox', - 270: '阿里', - 288: 'VIVO', - 385: '一加', - 429: '奔驰', - 461: '宝马', - 481: '大众', - 770: '比亚迪', - 1193: '特斯拉', - 6950: 'PS5', - 7259: '小鹏', - 7318: '蔚来', - 9355: '小米', - 12947: '理想', - }, - cid: { - 12: '显卡', - 13: 'CPU', - 38: '路由器', - 201: '苹果', - }, -}; +const { rootUrl, title, categories, convertToQueryString, getInfo, processItems } = require('./util'); module.exports = async (ctx) => { - const type = ctx.params.type ?? ''; - const id = ctx.params.id ?? ''; + let { category = 'new' } = ctx.params; - const rootUrl = 'https://m.mydrivers.com'; - const currentUrl = `${rootUrl}/${type === '' || type === 'ac' ? 'm/newslist.ashx' : 'newsclass.aspx'}${type ? (id ? `?${type}=${id}` : `?ac=${type}`) : ''}`; + let newTitle = ''; - const response = await got({ - method: 'get', - url: currentUrl, - }); + if (!/^(\w+\/\w+)$/.test(category)) { + newTitle = `${title} - ${categories.hasOwnProperty(category) ? categories[category] : categories[Object.keys(categories)[0]]}`; + category = `ac/${category}`; + } - const $ = cheerio.load(response.data); + const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 20; - const list = $('.newst a') - .map((_, item) => { - item = $(item); + const queryString = convertToQueryString(category); + const currentUrl = new URL(`newsclass.aspx${queryString}`, rootUrl).href; - return { - title: item.text(), - link: `${rootUrl}${item.attr('href')}`, - }; - }) - .get(); + const apiUrl = new URL(`m/newslist.ashx${queryString}`, rootUrl).href; - const items = await Promise.all( - list.map((item) => - ctx.cache.tryGet(item.link, async () => { - const detailResponse = await got({ - method: 'get', - url: item.link, - }); + const { data: response } = await got(apiUrl); - const content = cheerio.load(detailResponse.data); + const $ = cheerio.load(response); - content('.ab, .bb').remove(); + let items = $('li[data-id]') + .slice(0, limit) + .toArray() + .map((item) => { + item = $(item); - item.author = content('.writer').text(); - item.description = content('#content').html(); - item.pubDate = timezone(parseDate(content('.news_t1 ul li').eq(1).text().trim(), 'YYYY年MM月DD日 mm:ss'), +8); + return { + title: item.find('div.news_title').text(), + link: new URL(item.find('div.news_title span.newst a').prop('href'), rootUrl).href, + description: art(path.join(__dirname, 'templates/description.art'), { + image: item.find('a.newsimg img').prop('src'), + }), + author: item.find('p.tname').text(), + guid: item.prop('data-id'), + pubDate: timezone(parseDate(item.find('p.ttime').text()), +8), + comments: item.find('a.tpinglun').text() ? parseInt(item.find('a.tpinglun').text(), 10) : 0, + }; + }); - return item; - }) - ) - ); + items = await processItems(items, ctx.cache.tryGet); ctx.state.data = { - title: `${titles[type][id]} - 快科技`, - link: currentUrl, - item: items, + ...(await getInfo(currentUrl, ctx.cache.tryGet)), + ...Object.fromEntries( + Object.entries({ + item: items, + title: newTitle, + }).filter(([value]) => value) + ), }; }; diff --git a/lib/v2/mydrivers/maintainer.js b/lib/v2/mydrivers/maintainer.js index 5930963c00a3e5..863b0c8d4a4e32 100644 --- a/lib/v2/mydrivers/maintainer.js +++ b/lib/v2/mydrivers/maintainer.js @@ -1,3 +1,7 @@ module.exports = { - '/:type?/:id?': ['nczitzk'], + '/hot': ['nczitzk'], + '/new': ['kt286', 'nczitzk'], + '/rank/:range?': ['nczitzk'], + '/zhibo': ['nczitzk'], + '/:category?': ['nczitzk'], }; diff --git a/lib/v2/mydrivers/radar.js b/lib/v2/mydrivers/radar.js index fba4d1a1b96db9..5cb79e79209c8f 100644 --- a/lib/v2/mydrivers/radar.js +++ b/lib/v2/mydrivers/radar.js @@ -1,12 +1,213 @@ module.exports = { 'mydrivers.com': { _name: '快科技', - '.': [ + m: [ { - title: '新闻', - docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-xin-wen', + title: '最新', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-zui-xin', source: ['/'], - target: '/mydrivers/:type?/:id?', + target: '/mydrivers/new', + }, + { + title: '热门', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-re-men', + source: ['/'], + target: '/mydrivers/hot', + }, + { + title: '发布会', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fa-bu-hui', + source: ['/'], + target: '/mydrivers/zhibo', + }, + { + title: '排行', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-pai-hang', + source: ['/newsclass.aspx'], + target: '/mydrivers/rank', + }, + { + title: '分类', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: (params, url) => { + url = new URL(url); + + const theParam = [...url.searchParams.entries()] + .filter(([key, value]) => key && value !== '') + .map(([key, value]) => `${key}/${value}`) + .pop(); + + return `/mydrivers/${theParam}`; + }, + }, + { + title: '板块 - 电脑', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/bcid/801', + }, + { + title: '板块 - 手机', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/bcid/802', + }, + { + title: '板块 - 汽车', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/bcid/807', + }, + { + title: '板块 - 业界', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/bcid/803', + }, + { + title: '板块 - 游戏', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/bcid/806', + }, + { + title: '话题 - 科学', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/tid/1000', + }, + { + title: '话题 - 排行', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/tid/1001', + }, + { + title: '话题 - 评测', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/tid/1002', + }, + { + title: '话题 - 一图', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/tid/1003', + }, + { + title: '品牌 - 安卓', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/121', + }, + { + title: '品牌 - 阿里', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/270', + }, + { + title: '品牌 - 微软', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/90', + }, + { + title: '品牌 - 百度', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/67', + }, + { + title: '品牌 - PS5', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/6950', + }, + { + title: '品牌 - Xbox', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/194', + }, + { + title: '品牌 - 华为', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/136', + }, + { + title: '品牌 - 小米', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/9355', + }, + { + title: '品牌 - VIVO', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/288', + }, + { + title: '品牌 - 三星', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/154', + }, + { + title: '品牌 - 魅族', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/140', + }, + { + title: '品牌 - 一加', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/385', + }, + { + title: '品牌 - 比亚迪', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/770', + }, + { + title: '品牌 - 小鹏', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/7259', + }, + { + title: '品牌 - 蔚来', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/7318', + }, + { + title: '品牌 - 理想', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/12947', + }, + { + title: '品牌 - 奔驰', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/429', + }, + { + title: '品牌 - 宝马', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/461', + }, + { + title: '品牌 - 大众', + docs: 'https://docs.rsshub.app/routes/new-media#kuai-ke-ji-fen-lei', + source: ['/newsclass.aspx'], + target: '/mydrivers/icid/481', }, ], }, diff --git a/lib/v2/mydrivers/rank.js b/lib/v2/mydrivers/rank.js new file mode 100644 index 00000000000000..5a917f839666bd --- /dev/null +++ b/lib/v2/mydrivers/rank.js @@ -0,0 +1,40 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); + +const { rootUrl, getInfo, processItems } = require('./util'); + +module.exports = async (ctx) => { + const { range = '0' } = ctx.params; + const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 10; + + const currentUrl = new URL('newsclass.aspx?tid=1001', rootUrl).href; + + const apiUrl = new URL(`m/newslist.ashx?ac=rank&tid=${range}`, rootUrl).href; + + const { data: response } = await got(apiUrl); + + const $ = cheerio.load(response); + + let items = $('a') + .toArray() + .filter((item) => /\/(\d+)\.html?/.test($(item).prop('href'))) + .slice(0, limit) + .map((item) => { + item = $(item); + + const link = item.prop('href'); + + return { + title: item.text(), + link: new URL(link, rootUrl).href, + guid: link.match(/\/(\d+)\.html?/)[1], + }; + }); + + items = await processItems(items, ctx.cache.tryGet); + + ctx.state.data = { + item: items, + ...(await getInfo(currentUrl, ctx.cache.tryGet, parseInt(range, 10))), + }; +}; diff --git a/lib/v2/mydrivers/router.js b/lib/v2/mydrivers/router.js index 5f136f299b1c03..00c9ce58768187 100644 --- a/lib/v2/mydrivers/router.js +++ b/lib/v2/mydrivers/router.js @@ -1,3 +1,6 @@ module.exports = function (router) { - router.get('/:type?/:id?', require('./index')); + router.get('/cid/:id?', require('./cid')); + router.get('/rank/:range?', require('./rank')); + router.get('/zhibo', require('./cid')); + router.get('/:category*', require('./')); }; diff --git a/lib/v2/mydrivers/templates/description.art b/lib/v2/mydrivers/templates/description.art new file mode 100644 index 00000000000000..779c2f675fa5d4 --- /dev/null +++ b/lib/v2/mydrivers/templates/description.art @@ -0,0 +1,5 @@ +{{ if image }} +
+ +
+{{ /if }} \ No newline at end of file diff --git a/lib/v2/mydrivers/util.js b/lib/v2/mydrivers/util.js new file mode 100644 index 00000000000000..2242b75e069247 --- /dev/null +++ b/lib/v2/mydrivers/util.js @@ -0,0 +1,125 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const timezone = require('@/utils/timezone'); +const { parseDate } = require('@/utils/parse-date'); + +const domain = 'mydrivers.com'; +const rootUrl = `https://m.${domain}`; +const rootRSSUrl = `https://rss.${domain}`; +const apiVoteUrl = new URL('m/newsvote.ashx', rootUrl).href; + +const title = '快科技'; + +const categories = { + new: '最新', + hot: '热门', + zhibo: '直播', +}; + +/** + * Converts a path string into a query string. + * @param {string} path - The path string separated by slashes, containing key-value pairs. + * @returns {string} - The query string with key-value pairs separated by question marks and equal signs. + */ +const convertToQueryString = (path) => { + const parts = path.split('/'); + const queryStringParams = []; + + for (const [key, value] of parts.reduce((acc, part, index) => { + if (index % 2 === 0) { + acc.push([part]); + } else { + acc[acc.length - 1].push(part); + } + return acc; + }, [])) { + queryStringParams.push(`${key}=${value}`); + } + + return `?${queryStringParams.join('&')}`; +}; + +/** + * Retrieves information from a given URL using a provided tryGet function. + * @param {string} url - The URL to retrieve information from. + * @param {function} tryGet - The tryGet function that handles the retrieval process. + * @param {number|undefined} [range] - The index value of the range (optional). + * @returns {Promise} - A promise that resolves to an object containing the retrieved information. + */ +const getInfo = (url, tryGet, range = undefined) => + tryGet(url, async () => { + const { data: response } = await got(url); + + const $ = cheerio.load(response); + + const icon = new URL($('link[rel="apple-touch-icon-precomposed"]').prop('href'), rootUrl).href; + const image = `https:${$('div.logo a img').prop('src')}`; + const ranges = $('div.hottime a') + .toArray() + .map((a) => $(a).text()); + + return { + title: `${title} - ${range !== undefined && ranges ? ranges[range] : $(`a[data-id="${url.split(/=/).pop()}"]`).text() || $('#newsEventSwitch a.cur').text()}`, + link: url, + description: $('meta[name="description"]').prop('content'), + language: 'zh-cn', + image, + icon, + logo: icon, + subtitle: $('meta[name="keywords"]').prop('content'), + author: title, + allowEmpty: true, + }; + }); + +/** + * Process items asynchronously. + * + * @param {Array} items - The array of items to process. + * @param {function} tryGet - The tryGet function that handles the retrieval process. + * @returns {Promise>} Returns a Promise that resolves to an array of processed items. + */ +const processItems = async (items, tryGet) => + await Promise.all( + items.map((item) => + tryGet(`${domain}#${item.guid}`, async () => { + const { data: detailResponse } = await got(`${rootUrl}/newsview/${item.guid}.html`); + + const { data: voteResponse } = await got.post(apiVoteUrl, { + json: { + Tid: item.guid, + }, + }); + + const content = cheerio.load(detailResponse); + + item.title = content('div.news_t').text() || item.title; + item.description = content('#content').html() ?? item.description; + item.author = content('li.writer').text() || item.author; + item.category = [ + ...(item.category ?? []), + ...content('div.bqian1 a') + .toArray() + .map((c) => content(c).contents().last().text().trim()), + ].filter((c) => c); + item.guid = `${domain}#${item.guid}`; + item.pubDate = item.pubDate ?? timezone(parseDate(content('li.writer').next().text().trim(), 'YYYY年MM月DD日 HH:mm'), +8); + item.upvotes = voteResponse.NewsSupport ? parseInt(voteResponse.NewsSupport, 10) : 0; + item.downvotes = voteResponse.NewsOppose ? parseInt(voteResponse.NewsOppose, 10) : 0; + item.comments = content('#tpinglun').text() ? parseInt(content('#tpinglun').text(), 10) : 0; + + return item; + }) + ) + ); + +module.exports = { + rootUrl, + rootRSSUrl, + title, + categories, + + convertToQueryString, + getInfo, + processItems, +}; diff --git a/lib/v2/niaogebiji/cat.js b/lib/v2/niaogebiji/cat.js new file mode 100644 index 00000000000000..d13cc6b55c34ee --- /dev/null +++ b/lib/v2/niaogebiji/cat.js @@ -0,0 +1,53 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); +const timezone = require('@/utils/timezone'); + +module.exports = async (ctx) => { + const categoryId = ctx.params.cat; + const link = `https://www.niaogebiji.com/cat/${categoryId}`; + + const response = await got(link); + const $ = cheerio.load(response.data); + const catName = $('h1').text(); + + const articles = $('div.articleBox.clearfix') + .toArray() + .map((item) => { + item = $(item); + return { + title: item.find('.articleTitle').text().trim(), + description: item.find('.articleContentInner').text().trim(), + author: item.find('.author').text().trim(), + link: new URL(item.find('a').first().attr('href'), link).href, + category: [ + ...item + .find('.art_tag') + .toArray() + .map((tag) => $(tag).text().trim()), + catName, + ], + }; + }); + + const items = await Promise.all( + articles.map((element) => + ctx.cache.tryGet(element.link, async () => { + const response = await got(element.link); + const $ = cheerio.load(response.data); + + element.pubDate = timezone(parseDate($('.writeTime3').text().trim()), 8); + element.description = $('.pc_content').html(); + + return element; + }) + ) + ); + + ctx.state.data = { + title: $('head title').text(), + description: $('head meta[name="description"]').attr('content'), + link, + item: items, + }; +}; diff --git a/lib/v2/niaogebiji/index.js b/lib/v2/niaogebiji/index.js new file mode 100644 index 00000000000000..6480fbc2428a81 --- /dev/null +++ b/lib/v2/niaogebiji/index.js @@ -0,0 +1,41 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const baseUrl = 'https://www.niaogebiji.com'; + const { data: response } = await got(`${baseUrl}/pc/index/getMoreArticle`); + + if (response.return_code !== '200') { + throw Error(response.return_msg); + } + + const postList = response.return_data.map((item) => ({ + title: item.title, + description: item.summary, + author: item.author, + pubDate: parseDate(item.published_at, 'X'), + updated: parseDate(item.updated_at, 'X'), + category: [item.catname, ...item.tag_list], + link: new URL(item.link, baseUrl).href, + })); + + const result = await Promise.all( + postList.map((item) => + ctx.cache.tryGet(item.link, async () => { + const { data: response } = await got(item.link); + const $ = cheerio.load(response); + + item.description = $('.pc_content').html(); + + return item; + }) + ) + ); + + ctx.state.data = { + title: '鸟哥笔记', + link: baseUrl, + item: result, + }; +}; diff --git a/lib/v2/niaogebiji/maintainer.js b/lib/v2/niaogebiji/maintainer.js new file mode 100644 index 00000000000000..d6faf5c041c94e --- /dev/null +++ b/lib/v2/niaogebiji/maintainer.js @@ -0,0 +1,6 @@ +module.exports = { + '': ['WenryXu'], + '/': ['WenryXu'], + '/cat/:cat': ['cKotoriKat'], + '/today': ['KotoriK'], +}; diff --git a/lib/v2/niaogebiji/radar.js b/lib/v2/niaogebiji/radar.js new file mode 100644 index 00000000000000..a7ac4efc93988a --- /dev/null +++ b/lib/v2/niaogebiji/radar.js @@ -0,0 +1,25 @@ +module.exports = { + 'niaogebiji.com': { + _name: '鸟哥笔记', + '.': [ + { + title: '首页', + docs: 'https://docs.rsshub.app/new-media#niao-ge-bi-ji', + source: ['/'], + target: '/niaogebiji', + }, + { + title: '今日事', + docs: 'https://docs.rsshub.app/new-media#niao-ge-bi-ji', + source: ['/', '/bulletin'], + target: '/niaogebiji', + }, + { + title: '分类目录', + docs: 'https://docs.rsshub.app/new-media#niao-ge-bi-ji', + source: ['/cat/:cat'], + target: '/niaogebiji/cat/:cat', + }, + ], + }, +}; diff --git a/lib/v2/niaogebiji/router.js b/lib/v2/niaogebiji/router.js new file mode 100644 index 00000000000000..e0c5c72ef01cf2 --- /dev/null +++ b/lib/v2/niaogebiji/router.js @@ -0,0 +1,5 @@ +module.exports = (router) => { + router.get('/', require('./index')); + router.get('/cat/:cat', require('./cat')); + router.get('/today', require('./today')); +}; diff --git a/lib/v2/niaogebiji/today.js b/lib/v2/niaogebiji/today.js new file mode 100644 index 00000000000000..540365acf64fe6 --- /dev/null +++ b/lib/v2/niaogebiji/today.js @@ -0,0 +1,34 @@ +const got = require('@/utils/got'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const response = await got({ + method: 'post', + url: 'https://www.niaogebiji.com/pc/bulletin/index', + form: { + page: 1, + pub_time: '', + isfromajax: 1, + }, + }); + + if (response.data.return_code !== '200') { + throw Error(response.data.return_msg); + } + + const data = response.data.return_data; + + ctx.state.data = { + title: '鸟哥笔记-今日事', + link: 'https://www.niaogebiji.com/bulletin', + item: data.map((item) => ({ + title: item.title, + description: item.content, + link: item.url, + pubDate: parseDate(item.pub_time, 'X'), + updated: parseDate(item.updated_at, 'X'), + category: item.seo_keywords.split(','), + author: item.user_info.nickname, + })), + }; +}; diff --git a/lib/v2/reuters/common.js b/lib/v2/reuters/common.js index 2bfa07bc23eb47..0fb924f85be82e 100644 --- a/lib/v2/reuters/common.js +++ b/lib/v2/reuters/common.js @@ -55,8 +55,11 @@ module.exports = async (ctx) => { let items = response.result.articles.map((e) => ({ title: e.title, link: new URL(e.canonical_url, rootUrl).href, + guid: e.id, })); + items = items.filter((e, i) => items.findIndex((f) => e.guid === f.guid) === i); + items = await Promise.all( items.map((item) => ctx.cache.tryGet(item.link, async () => { diff --git a/lib/v2/rsshub/maintainer.js b/lib/v2/rsshub/maintainer.js index b0ffddb838814b..5ab179176c3389 100644 --- a/lib/v2/rsshub/maintainer.js +++ b/lib/v2/rsshub/maintainer.js @@ -3,4 +3,5 @@ module.exports = { '/rsshub/sponsors': ['DIYgod'], '/transform/html/:url/:routeParams': ['ttttmr'], '/transform/json/:url/:routeParams': ['ttttmr'], + '/transform/sitemap/:url/:routeParams?': ['flrngel'], }; diff --git a/lib/v2/rsshub/router.js b/lib/v2/rsshub/router.js index 960796dbf4660e..2f90c082f82a93 100644 --- a/lib/v2/rsshub/router.js +++ b/lib/v2/rsshub/router.js @@ -3,4 +3,5 @@ module.exports = (router) => { router.get('/sponsors', require('./sponsors')); router.get('/transform/html/:url/:routeParams', require('./transform/html')); router.get('/transform/json/:url/:routeParams', require('./transform/json')); + router.get('/transform/sitemap/:url/:routeParams?', require('./transform/sitemap')); }; diff --git a/lib/v2/rsshub/transform/sitemap.js b/lib/v2/rsshub/transform/sitemap.js new file mode 100644 index 00000000000000..9fe1fabef69b67 --- /dev/null +++ b/lib/v2/rsshub/transform/sitemap.js @@ -0,0 +1,52 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const config = require('@/config').value; + +module.exports = async (ctx) => { + if (!config.feature.allow_user_supply_unsafe_domain) { + ctx.throw(403, `This RSS is disabled unless 'ALLOW_USER_SUPPLY_UNSAFE_DOMAIN' is set to 'true'.`); + } + const { url } = ctx.params; + const response = await got({ + method: 'get', + url, + }); + + const routeParams = new URLSearchParams(ctx.params.routeParams); + const $ = cheerio.load(response.data, { xmlMode: true }); + + const rssTitle = routeParams.get('title') ? routeParams.get('title') : $('urlset url').length && $('urlset url').first().find('loc').text() ? $('urlset url').first().find('loc').text() : 'Sitemap'; + + let items; + const urls = $('urlset url').toArray(); + if (urls && urls.length) { + items = urls + .map((item) => { + try { + const title = $(item).find('loc').text() || ''; + const link = $(item).find('loc').text() || ''; + const description = $(item).find('loc').text() || ''; + const pubDate = $(item).find('lastmod').text() || undefined; + + return { + title, + link, + description, + pubDate, + }; + } catch (e) { + return null; + } + }) + .filter(Boolean); + } else { + items = []; + } + + ctx.state.data = { + title: rssTitle, + link: url, + description: `Proxy ${url}`, + item: items, + }; +}; diff --git a/lib/v2/scut/maintainer.js b/lib/v2/scut/maintainer.js index b66d98b34b8264..6c307266b0aafc 100644 --- a/lib/v2/scut/maintainer.js +++ b/lib/v2/scut/maintainer.js @@ -4,5 +4,6 @@ module.exports = { '/jwc/school/:category?': ['imkero', 'Rongronggg9'], '/scet/notice': ['railzy'], '/seie/news_center': ['auto-bot-ty'], + '/smae/:category?': ['Ermaotie'], '/yjs': ['shengmaosu'], }; diff --git a/lib/v2/scut/radar.js b/lib/v2/scut/radar.js index 0a52c32878e4ef..25a65f18b5c8ba 100644 --- a/lib/v2/scut/radar.js +++ b/lib/v2/scut/radar.js @@ -22,6 +22,40 @@ module.exports = { source: ['/ee/16285/list.htm'], target: '/scut/seie/news_center', }, + { + title: '机械与汽车工程学院 - 通知公告', + docs: 'https://docs.rsshub.app/routes/university#hua-nan-li-gong-da-xue', + source: ['/smae/:category/list.htm'], + target: (params) => { + let tid; + switch (params.category) { + case '20616': + tid = 'gwxx'; + break; + case '20617': + tid = 'djgz'; + break; + case '20622': + tid = 'rsgz'; + break; + case 'xsgz': + tid = 'xsgz'; + break; + case '20618': + tid = 'kysys'; + break; + case '20619': + tid = 'bksjw'; + break; + case '20620': + tid = 'yjsjw'; + break; + default: + return false; + } + return `/scut/smae/${tid}`; + }, + }, { title: '研究生院通知公告', docs: 'https://docs.rsshub.app/routes/university#hua-nan-li-gong-da-xue', diff --git a/lib/v2/scut/router.js b/lib/v2/scut/router.js index 6c2ecfda00a902..171153d5ec2aa5 100644 --- a/lib/v2/scut/router.js +++ b/lib/v2/scut/router.js @@ -4,5 +4,6 @@ module.exports = (router) => { router.get('/jwc/school/:category?', require('./jwc/school')); router.get('/scet/notice', require('./scet/notice')); router.get('/seie/news_center', require('./seie/news_center')); + router.get('/smae/:category?', require('./smae/notice')); router.get('/yjs', require('./yjs')); }; diff --git a/lib/v2/scut/smae/notice.js b/lib/v2/scut/smae/notice.js new file mode 100644 index 00000000000000..4a1535180746bf --- /dev/null +++ b/lib/v2/scut/smae/notice.js @@ -0,0 +1,54 @@ +// 导入必要的模组 +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +const categoryMap = { + gwxx: { title: '公务信息', tag: '20616' }, + djgz: { title: '党建工作', tag: '20617' }, + rsgz: { title: '人事工作', tag: '20622' }, + xsgz: { title: '学生工作', tag: 'xsgz' }, + kysys: { title: '科研实验室', tag: '20618' }, + bksjw: { title: '本科生教务', tag: '20619' }, + yjsjw: { title: '研究生教务', tag: '20620' }, +}; + +module.exports = async (ctx) => { + const baseUrl = 'http://www2.scut.edu.cn'; + + const categoryName = ctx.params.category || 'yjsjw'; + const categoryMeta = categoryMap[categoryName]; + const url = `${baseUrl}/smae/${categoryMeta.tag}/list.htm`; + + const { data: response } = await got(url); + const $ = cheerio.load(response); + const list = $('#wp_news_w6 ul li.news') + .toArray() + .map((item) => { + item = $(item); + const a = item.find('a'); + const pubDate = item.find('span.news_meta'); + return { + title: a.attr('title'), + link: `${baseUrl}${a.attr('href')}`, + pubDate: parseDate(pubDate.text()), + }; + }); + const items = await Promise.all( + list.map((item) => + ctx.cache.tryGet(item.link, async () => { + const { data: response } = await got(item.link); + const $ = cheerio.load(response); + + item.description = $('div.wp_articlecontent').html(); + + return item; + }) + ) + ); + ctx.state.data = { + title: `华南理工大学机械与汽车工程学院 - ${categoryMeta.title}`, + link: url, + item: items, + }; +}; diff --git a/lib/v2/sqmc/maintainer.js b/lib/v2/sqmc/maintainer.js new file mode 100644 index 00000000000000..19cd9e5c883729 --- /dev/null +++ b/lib/v2/sqmc/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/www/:category?': ['nyaShine'], +}; diff --git a/lib/v2/sqmc/radar.js b/lib/v2/sqmc/radar.js new file mode 100644 index 00000000000000..0b10ff0c4a8699 --- /dev/null +++ b/lib/v2/sqmc/radar.js @@ -0,0 +1,13 @@ +module.exports = { + 'sqmc.edu.cn': { + _name: '新乡医学院三全学院', + '.': [ + { + title: '官网信息', + docs: 'https://docs.rsshub.app/university.html#xin-xiang-yi-xue-yuan-san-quan-xue-yuan', + source: ['/:category/list.htm'], + target: '/sqmc/www/:category?', + }, + ], + }, +}; diff --git a/lib/v2/sqmc/router.js b/lib/v2/sqmc/router.js new file mode 100644 index 00000000000000..d4a87dd6d2e564 --- /dev/null +++ b/lib/v2/sqmc/router.js @@ -0,0 +1,3 @@ +module.exports = function (router) { + router.get('/www/:category?', require('./www')); +}; diff --git a/lib/v2/sqmc/www.js b/lib/v2/sqmc/www.js new file mode 100644 index 00000000000000..3686eb44616e8b --- /dev/null +++ b/lib/v2/sqmc/www.js @@ -0,0 +1,49 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const timezone = require('@/utils/timezone'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const category = ctx.params.category || '3157'; + + const rootUrl = 'https://www.sqmc.edu.cn'; + const currentUrl = `${rootUrl}/${category}/list.htm`; + + const response = await got({ + method: 'get', + url: currentUrl, + }); + + const $ = cheerio.load(response.data); + const list = $('div#wp_news_w9 ul li').get(); + + ctx.state.data = { + title: `新乡医学院三全学院官网信息${$('title').text()}`, + link: currentUrl, + item: await Promise.all( + list.map(async (item) => { + item = $(item); + + const link = new URL(item.find('dt a').attr('href'), rootUrl).href; + const pubDate = parseDate(item.find('dd').eq(0).text(), 'YYYY-MM-DD'); + + const cache = await ctx.cache.tryGet(link, async () => { + const detailResponse = await got({ + method: 'get', + url: link, + }); + const content = cheerio.load(detailResponse.data); + + return { + title: item.find('dt a').text(), + description: content('div.Tr_Detail').html(), + link, + pubDate: timezone(pubDate, +8), + }; + }); + + return cache; + }) + ), + }; +}; diff --git a/lib/v2/udn/breaking-news.js b/lib/v2/udn/breaking-news.js index c894c311d5001e..2f989fd54e4c80 100644 --- a/lib/v2/udn/breaking-news.js +++ b/lib/v2/udn/breaking-news.js @@ -55,7 +55,7 @@ module.exports = async (ctx) => { author: data.author.name, description, pubDate: timezone(parseDate(item.time.date, 'YYYY-MM-DD HH:mm'), +8), - category: [data.articleSection, ...data.keywords.split(',')], + category: [data.articleSection, $("meta[name='subsection']").attr('content'), ...data.keywords.split(',')], link, }; }); diff --git a/lib/v2/xinpianchang/index.js b/lib/v2/xinpianchang/index.js new file mode 100644 index 00000000000000..36f1cb045363ce --- /dev/null +++ b/lib/v2/xinpianchang/index.js @@ -0,0 +1,19 @@ +const { rootUrl, getData, processItems } = require('./util'); + +module.exports = async (ctx) => { + const { params = 'article-0-0-all-all-0-0-score' } = ctx.params; + const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 60; + + const currentUrl = new URL(`discover/${params}`, rootUrl).href; + + const { data, response } = await getData(currentUrl, ctx.cache.tryGet); + + let items = JSON.parse(response.match(/"list":(\[.*?\]),"total"/)[1]); + + items = await processItems(items.slice(0, limit), ctx.cache.tryGet); + + ctx.state.data = { + ...data, + item: items, + }; +}; diff --git a/lib/v2/xinpianchang/maintainer.js b/lib/v2/xinpianchang/maintainer.js new file mode 100644 index 00000000000000..0ddc7131e22dc2 --- /dev/null +++ b/lib/v2/xinpianchang/maintainer.js @@ -0,0 +1,4 @@ +module.exports = { + '/discover/:params?': ['nczitzk'], + '/rank/:category?': ['nczitzk'], +}; diff --git a/lib/v2/xinpianchang/radar.js b/lib/v2/xinpianchang/radar.js new file mode 100644 index 00000000000000..45cea9df995c81 --- /dev/null +++ b/lib/v2/xinpianchang/radar.js @@ -0,0 +1,28 @@ +module.exports = { + 'xinpianchang.com': { + _name: '新片场', + '.': [ + { + title: '发现', + docs: 'https://docs.rsshub.app/routes/new-media#xin-pian-chang-fa-xian', + source: ['/discover/:params'], + target: (params, url) => { + url = new URL(url); + const path = params.params ?? url.href.match(/discover\/(article.*?)/)[1]; + + return `/xinpianchang/discover${path ? `/${path}` : ''}`; + }, + }, + { + title: '排行榜', + docs: 'https://docs.rsshub.app/routes/new-media#xin-pian-chang-pai-hang-bang', + source: ['/rank/:params'], + target: (params, url) => { + const path = params.params.match(/article-(\w+)-\d+-\d+/)[1] ?? url.href.match(/rank\/article-(\w+)-\d+-\d+/)[1]; + + return `/xinpianchang/rank${path ? `/${path}` : ''}`; + }, + }, + ], + }, +}; diff --git a/lib/v2/xinpianchang/rank.js b/lib/v2/xinpianchang/rank.js new file mode 100644 index 00000000000000..60140a87fff47b --- /dev/null +++ b/lib/v2/xinpianchang/rank.js @@ -0,0 +1,33 @@ +const got = require('@/utils/got'); + +const { rootUrl, getData, processItems } = require('./util'); + +module.exports = async (ctx) => { + const { category = 'all' } = ctx.params; + const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 60; + + const apiRankUrl = new URL(`api/xpc/v2/rank/${category}`, rootUrl).href; + + const { data: apiResponse } = await got(apiRankUrl); + + const current = apiResponse.data.list[0]; + const currentUrl = current.web_link; + const currentName = `${current.code}-${current.year}-${current.index}`; + + const { data, response: currentResponse } = await getData(currentUrl, ctx.cache.tryGet); + + const buildId = currentResponse.match(/\/static\/(\w+)\/_buildManifest\.js/)[1]; + + const apiUrl = new URL(`_next/data/${buildId}/rank/article/${currentName}.json`, rootUrl).href; + + const { data: response } = await got(apiUrl); + + let items = response.pageProps.rankList; + + items = await processItems(items.slice(0, limit), ctx.cache.tryGet); + + ctx.state.data = { + ...data, + item: items, + }; +}; diff --git a/lib/v2/xinpianchang/router.js b/lib/v2/xinpianchang/router.js new file mode 100644 index 00000000000000..4084aa94f5b74c --- /dev/null +++ b/lib/v2/xinpianchang/router.js @@ -0,0 +1,5 @@ +module.exports = (router) => { + router.get('/discover/:params?', require('./')); + router.get('/rank/:category?', require('./rank')); + router.get('/:params?', require('./')); +}; diff --git a/lib/v2/xinpianchang/templates/description.art b/lib/v2/xinpianchang/templates/description.art new file mode 100644 index 00000000000000..3a8645dbadd04b --- /dev/null +++ b/lib/v2/xinpianchang/templates/description.art @@ -0,0 +1,13 @@ +{{ if content }} +

{{ content }}

+{{ /if }} + +{{ if enclousure }} + +{{ /if }} \ No newline at end of file diff --git a/lib/v2/xinpianchang/util.js b/lib/v2/xinpianchang/util.js new file mode 100644 index 00000000000000..c3f5125fc455fe --- /dev/null +++ b/lib/v2/xinpianchang/util.js @@ -0,0 +1,110 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); +const { art } = require('@/utils/render'); +const path = require('path'); + +const appKey = '61a2f329348b3bf77'; + +const domain = 'xinpianchang.com'; +const rootUrl = `https://www.${domain}`; +const rootApiUrl = `https://mod-api.${domain}`; + +/** + * Retrieves information from a given URL using a provided tryGet function. + * + * @param {string} url - The URL to fetch information from. + * @param {Function} tryGet - The tryGet function that handles the retrieval process. + * @returns {Promise} - A Promise that resolves to an object containing the retrieved information. + */ +const getData = (url, tryGet) => + tryGet(url, async () => { + const { data: response } = await got(url); + + const $ = cheerio.load(response); + + const icon = new URL('favicon.ico', rootUrl).href; + const author = $('meta[property="og:site_name"]').prop('content'); + + return { + data: { + title: $('span.bg-clip-text').text() || `${author}·${$('meta[property="og:title"]').prop('content').split('-')[0]}`, + link: url, + description: $('meta[property="og:description"]').prop('content'), + language: $('html').prop('lang'), + image: $('meta[property="og:image"]').prop('content'), + icon, + logo: icon, + subtitle: $('meta[property="og:description"]').prop('content'), + author, + itunes_author: author, + itunes_category: 'TV & Film', + allowEmpty: true, + }, + response, + }; + }); + +/** + * Process items asynchronously. + * + * @param {Array} items - The array of items to process. + * @param {function} tryGet - The tryGet function that handles the retrieval process. + * @returns {Promise>} Returns a Promise that resolves to an array of processed items. + */ +const processItems = async (items, tryGet) => { + items = items.map((item) => ({ + title: item.title, + link: item.web_url, + description: item.content, + author: item.author.userinfo.username, + category: [].concat(...item.categories.map((c) => [c.category_name, c.sub?.category_name])).filter((c) => c), + guid: `xinpianchang-${item.id}`, + pubDate: parseDate(item.publish_time * 1000), + itunes_item_image: item.cover, + itunes_duration: item.duration, + enclosure_url: item.video_library_id, + upvotes: item.count.count_liked ?? item.count.count_like, + comments: item.count.count_comment ?? 0, + })); + + return await Promise.all( + items.map((item) => + tryGet(item.guid, async () => { + const apiUrl = new URL(`mod/api/v2/media/${item.enclosure_url}?appKey=${appKey}`, rootApiUrl).href; + + const { data: detailResponse } = await got(apiUrl); + const data = detailResponse.data; + + const enclousure = data.resource?.progressive ? data.resource.progressive[0] : undefined; + + item.title = data.title ?? item.title; + item.description = art(path.join(__dirname, 'templates/description.art'), { + content: item.description, + cover: data.cover ?? item.itunes_item_image, + enclousure, + }); + item.author = data.owner.username ?? item.author; + + item.category = [...new Set([...item.category, ...(data.categories ?? []), ...(data.keywords ?? [])])]; + item.itunes_item_image = data.cover ?? item.itunes_item_image; + item.itunes_duration = data.duration ?? item.itunes_duration; + + if (enclousure) { + item.enclosure_url = enclousure.url ?? enclousure.backupUrl; + item.enclosure_length = enclousure.filesize; + item.enclosure_type = enclousure.mime; + } + + return item; + }) + ) + ); +}; + +module.exports = { + rootUrl, + + getData, + processItems, +}; diff --git a/lib/v2/xmut/jwc/bkjw.js b/lib/v2/xmut/jwc/bkjw.js new file mode 100644 index 00000000000000..40e29d91b67955 --- /dev/null +++ b/lib/v2/xmut/jwc/bkjw.js @@ -0,0 +1,62 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); +const xmut = 'https://jwc.xmut.edu.cn'; + +module.exports = async (ctx) => { + const { category = 'jwxt' } = ctx.params; + const url = `${xmut}/index/tzgg/${category}.htm`; + const res = await got(url, { + headers: { + referer: xmut, + }, + https: { + rejectUnauthorized: false, + }, + }); + const $ = cheerio.load(res.data); + const itemsArray = $('#result_list table tbody tr') + .map((index, row) => { + const res = $('td', row).eq(0); + const resDate = $('td', row).eq(1); + const resLink = $('a', res).attr('href'); + let link; + if (resLink.startsWith('../../')) { + const parsedUrl = new URL(resLink, xmut); + link = parsedUrl.href; + } else { + link = resLink; + } + const title = $('a', res).attr('title'); + const pubDate = parseDate(resDate.text().trim()); + return { + title, + link, + pubDate, + }; + }) + .get(); + const items = await Promise.all( + itemsArray.map((item) => + ctx.cache.tryGet(item.link, async () => { + const res = await got(item.link, { + headers: { + referer: xmut, + }, + https: { + rejectUnauthorized: false, + }, + }); + const $item = cheerio.load(res.data); + const content = $item('table #result #content form div #vsb_content_6').html(); + item.description = content; + return item; + }) + ) + ); + ctx.state.data = { + title: $('title').text(), + link: url, + item: items, + }; +}; diff --git a/lib/v2/xmut/jwc/yjs.js b/lib/v2/xmut/jwc/yjs.js new file mode 100644 index 00000000000000..31dbce1497bd9e --- /dev/null +++ b/lib/v2/xmut/jwc/yjs.js @@ -0,0 +1,51 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); +const xmut = 'https://yjs.xmut.edu.cn'; + +module.exports = async (ctx) => { + const { category = 'yjsc' } = ctx.params; + const url = `${xmut}/index/${category}.htm`; + const res = await got(url, { + headers: { + referer: xmut, + }, + https: { + rejectUnauthorized: false, + }, + }); + const $ = cheerio.load(res.data); + const items = $('.mainWrap .main_con .main_conR ul li') + .toArray() + .map((item) => { + item = $(item); + return { + title: item.find('em').text(), + link: `${xmut}/` + item.find('a').attr('href'), + pubDate: parseDate(item.find('span').text()), + }; + }); + const itemPromises = await Promise.all( + items.map((item) => + ctx.cache.tryGet(item.link, async () => { + const detailResponse = await got(item.link, { + headers: { + referer: xmut, + }, + https: { + rejectUnauthorized: false, + }, + }); + const $item = cheerio.load(detailResponse.data); + const content = $item('body .mainWrap .main_content .v_news_content').html(); + item.description = content; + return item; + }) + ) + ); + ctx.state.data = { + title: $('title').text(), + link: url, + item: itemPromises, + }; +}; diff --git a/lib/v2/xmut/maintainer.js b/lib/v2/xmut/maintainer.js new file mode 100644 index 00000000000000..4a9a09cccac1f0 --- /dev/null +++ b/lib/v2/xmut/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/jwc/:type/:method': ['icecliffs'], +}; diff --git a/lib/v2/xmut/radar.js b/lib/v2/xmut/radar.js new file mode 100644 index 00000000000000..b1adc5c15694fd --- /dev/null +++ b/lib/v2/xmut/radar.js @@ -0,0 +1,13 @@ +module.exports = { + 'xmut.edu.cn': { + _name: '厦门理工学院', + jwc: [ + { + title: '教务处', + docs: 'https://docs.rsshub.app/routes/university#xia-men-li-gong-da-xue', + source: ['/:category'], + target: (params) => `/xmut/jwc${params.category ? `/${params.category}` : ''}`, + }, + ], + }, +}; diff --git a/lib/v2/xmut/router.js b/lib/v2/xmut/router.js new file mode 100644 index 00000000000000..454670246e67a9 --- /dev/null +++ b/lib/v2/xmut/router.js @@ -0,0 +1,4 @@ +module.exports = (router) => { + router.get('/jwc/bkjw/:category?', require('./jwc/bkjw.js')); + router.get('/jwc/yjjw/:category?', require('./jwc/yjs.js')); +}; diff --git a/package.json b/package.json index fb050cdc3d9712..44b5fc8478307a 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "@koa/router": "12.0.0", "@notionhq/client": "2.2.13", "@postlight/parser": "2.2.3", - "@sentry/node": "7.69.0", + "@sentry/node": "7.70.0", "aes-js": "3.1.2", "art-template": "4.13.2", "bbcodejs": "0.0.4", @@ -113,6 +113,7 @@ "jsdom": "22.1.0", "json-bigint": "1.0.0", "json5": "2.2.3", + "jsrsasign": "10.8.6", "koa": "2.14.2", "koa-basic-auth": "4.0.0", "koa-favicon": "2.1.0", @@ -127,7 +128,7 @@ "pidusage": "3.0.2", "plist": "3.1.0", "proxy-chain": "2.3.0", - "puppeteer": "21.2.1", + "puppeteer": "21.3.1", "puppeteer-extra": "3.3.6", "puppeteer-extra-plugin-stealth": "2.11.2", "puppeteer-extra-plugin-user-data-dir": "2.4.1", @@ -157,8 +158,8 @@ "@types/fs-extra": "11.0.2", "@types/git-rev-sync": "2.0.0", "@types/imapflow": "1.0.13", - "@types/jsdom": "21.1.2", - "@types/json-bigint": "1.0.1", + "@types/jsdom": "21.1.3", + "@types/json-bigint": "1.0.2", "@types/koa": "2.13.9", "@types/koa-basic-auth": "2.0.4", "@types/koa-favicon": "2.0.22", @@ -178,7 +179,7 @@ "@types/supertest": "2.0.12", "@types/tiny-async-pool": "2.0.0", "@types/tough-cookie": "4.0.3", - "@vercel/nft": "0.23.1", + "@vercel/nft": "0.24.1", "cross-env": "7.0.3", "eslint": "8.49.0", "eslint-config-prettier": "9.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8a040320bf9ce1..6021f8d0885c77 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ dependencies: specifier: 2.2.3 version: 2.2.3 '@sentry/node': - specifier: 7.69.0 - version: 7.69.0 + specifier: 7.70.0 + version: 7.70.0 aes-js: specifier: 3.1.2 version: 3.1.2 @@ -95,6 +95,9 @@ dependencies: json5: specifier: 2.2.3 version: 2.2.3 + jsrsasign: + specifier: 10.8.6 + version: 10.8.6 koa: specifier: 2.14.2 version: 2.14.2 @@ -138,11 +141,11 @@ dependencies: specifier: 2.3.0 version: 2.3.0 puppeteer: - specifier: 21.2.1 - version: 21.2.1 + specifier: 21.3.1 + version: 21.3.1 puppeteer-extra: specifier: 3.3.6 - version: 3.3.6(puppeteer@21.2.1) + version: 3.3.6(puppeteer@21.3.1) puppeteer-extra-plugin-stealth: specifier: 2.11.2 version: 2.11.2(puppeteer-extra@3.3.6) @@ -224,11 +227,11 @@ devDependencies: specifier: 1.0.13 version: 1.0.13 '@types/jsdom': - specifier: 21.1.2 - version: 21.1.2 + specifier: 21.1.3 + version: 21.1.3 '@types/json-bigint': - specifier: 1.0.1 - version: 1.0.1 + specifier: 1.0.2 + version: 1.0.2 '@types/koa': specifier: 2.13.9 version: 2.13.9 @@ -287,8 +290,8 @@ devDependencies: specifier: 4.0.3 version: 4.0.3 '@vercel/nft': - specifier: 0.23.1 - version: 0.23.1 + specifier: 0.24.1 + version: 0.24.1 cross-env: specifier: 7.0.3 version: 7.0.3 @@ -1237,34 +1240,34 @@ packages: selderee: 0.11.0 dev: false - /@sentry-internal/tracing@7.69.0: - resolution: {integrity: sha512-4BgeWZUj9MO6IgfO93C9ocP3+AdngqujF/+zB2rFdUe+y9S6koDyUC7jr9Knds/0Ta72N/0D6PwhgSCpHK8s0Q==} + /@sentry-internal/tracing@7.70.0: + resolution: {integrity: sha512-SpbE6wZhs6QwG2ORWCt8r28o1T949qkWx/KeRTCdK4Ub95PQ3Y3DgnqD8Wz//3q50Wt6EZDEibmz4t067g6PPg==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.69.0 - '@sentry/types': 7.69.0 - '@sentry/utils': 7.69.0 + '@sentry/core': 7.70.0 + '@sentry/types': 7.70.0 + '@sentry/utils': 7.70.0 tslib: 2.6.2 dev: false - /@sentry/core@7.69.0: - resolution: {integrity: sha512-V6jvK2lS8bhqZDMFUtvwe2XvNstFQf5A+2LMKCNBOV/NN6eSAAd6THwEpginabjet9dHsNRmMk7WNKvrUfQhZw==} + /@sentry/core@7.70.0: + resolution: {integrity: sha512-voUsGVM+jwRp99AQYFnRvr7sVd2tUhIMj1L6F42LtD3vp7t5ZnKp3NpXagtFW2vWzXESfyJUBhM0qI/bFvn7ZA==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.69.0 - '@sentry/utils': 7.69.0 + '@sentry/types': 7.70.0 + '@sentry/utils': 7.70.0 tslib: 2.6.2 dev: false - /@sentry/node@7.69.0: - resolution: {integrity: sha512-T0NgPcmDQvEuz5hy6aEhXghTHHTWsiP3IWoeEAakDBHAXmtpT6lYFQZgb5AiEOt9F5KO/G/1yH3YYdpDAnKhPw==} + /@sentry/node@7.70.0: + resolution: {integrity: sha512-GeGlnu3QnJX0GN2FvZ3E31e48ZhRzEpREyC0Wa4BRvYHnyiGvsQjo/0RKeq6vvlggRhVnuoMg/jESyUmdntrAA==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.69.0 - '@sentry/core': 7.69.0 - '@sentry/types': 7.69.0 - '@sentry/utils': 7.69.0 - cookie: 0.4.2 + '@sentry-internal/tracing': 7.70.0 + '@sentry/core': 7.70.0 + '@sentry/types': 7.70.0 + '@sentry/utils': 7.70.0 + cookie: 0.5.0 https-proxy-agent: 5.0.1 lru_map: 0.3.3 tslib: 2.6.2 @@ -1272,16 +1275,16 @@ packages: - supports-color dev: false - /@sentry/types@7.69.0: - resolution: {integrity: sha512-zPyCox0mzitzU6SIa1KIbNoJAInYDdUpdiA+PoUmMn2hFMH1llGU/cS7f4w/mAsssTlbtlBi72RMnWUCy578bw==} + /@sentry/types@7.70.0: + resolution: {integrity: sha512-rY4DqpiDBtXSk4MDNBH3dwWqfPbNBI/9GA7Y5WJSIcObBtfBKp0fzYliHJZD0pgM7d4DPFrDn42K9Iiumgymkw==} engines: {node: '>=8'} dev: false - /@sentry/utils@7.69.0: - resolution: {integrity: sha512-4eBixe5Y+0EGVU95R4NxH3jkkjtkE4/CmSZD4In8SCkWGSauogePtq6hyiLsZuP1QHdpPb9Kt0+zYiBb2LouBA==} + /@sentry/utils@7.70.0: + resolution: {integrity: sha512-0cChMH0lsGp+5I3D4wOHWwjFN19HVrGUs7iWTLTO5St3EaVbdeLbI1vFXHxMxvopbwgpeZafbreHw/loIdZKpw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.69.0 + '@sentry/types': 7.70.0 tslib: 2.6.2 dev: false @@ -1516,16 +1519,16 @@ packages: '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/jsdom@21.1.2: - resolution: {integrity: sha512-bGj+7TaCkOwkJfx7HtS9p22Ij0A2aKMuz8a1+owpkxa1wU/HUBy/WAXhdv90uDdVI9rSjGvUrXmLSeA9VP3JeA==} + /@types/jsdom@21.1.3: + resolution: {integrity: sha512-1zzqSP+iHJYV4lB3lZhNBa012pubABkj9yG/GuXuf6LZH1cSPIJBqFDrm5JX65HHt6VOnNYdTui/0ySerRbMgA==} dependencies: '@types/node': 20.5.6 '@types/tough-cookie': 4.0.3 parse5: 7.1.2 dev: true - /@types/json-bigint@1.0.1: - resolution: {integrity: sha512-zpchZLNsNuzJHi6v64UBoFWAvQlPhch7XAi36FkH6tL1bbbmimIF+cS7vwkzY4u5RaSWMoflQfu+TshMPPw8uw==} + /@types/json-bigint@1.0.2: + resolution: {integrity: sha512-ZXqZc1YeBj1B2my/a/f5PWpNemgIb1r5s3cALPvsMqoGEZ0NOEo1UxrSRUEZr0EtChy1BH/CuORiYuvYr4/4Fw==} dev: true /@types/json-schema@7.0.12: @@ -1787,9 +1790,9 @@ packages: dev: false optional: true - /@vercel/nft@0.23.1: - resolution: {integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w==} - engines: {node: '>=14'} + /@vercel/nft@0.24.1: + resolution: {integrity: sha512-bGYrA/w98LNl9edxXcAezKs+Ixa2a+RkAvxXK38gH3815v+WkNa2AGY+wQv59vu2f9il9+zIKj6YrnlYIbh+jA==} + engines: {node: '>=16'} hasBin: true dependencies: '@mapbox/node-pre-gyp': 1.0.11 @@ -2425,13 +2428,14 @@ packages: engines: {node: '>=10'} dev: true - /chromium-bidi@0.4.26(devtools-protocol@0.0.1159816): - resolution: {integrity: sha512-lukBGfogAI4T0y3acc86RaacqgKQve47/8pV2c+Hr1PjcICj2K4OkL3qfX3qrqxxnd4ddurFC0WBA3VCQqYeUQ==} + /chromium-bidi@0.4.27(devtools-protocol@0.0.1179426): + resolution: {integrity: sha512-8Irq0FbKYN8Xmj8M62kta6wk5MyDKeYIFtNavxQ2M3xf2v5MCC4ntf+FxitQu1iHaQvGU6t5O+Nrep0RNNS0EQ==} peerDependencies: devtools-protocol: '*' dependencies: - devtools-protocol: 0.0.1159816 + devtools-protocol: 0.0.1179426 mitt: 3.0.1 + urlpattern-polyfill: 9.0.0 dev: false /chrono-node@2.7.0: @@ -2622,8 +2626,8 @@ packages: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true - /cookie@0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + /cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} dev: false @@ -2648,8 +2652,8 @@ packages: /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - /cosmiconfig@8.3.5: - resolution: {integrity: sha512-A5Xry3xfS96wy2qbiLkQLAg4JUrR2wvfybxj6yqLmrUfMAvhS3MZxIP2oQn0grgYIvJqzpeTEWu4vK0t+12NNw==} + /cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' @@ -2918,8 +2922,8 @@ packages: engines: {node: '>=8'} dev: true - /devtools-protocol@0.0.1159816: - resolution: {integrity: sha512-2cZlHxC5IlgkIWe2pSDmCrDiTzbSJWywjbDDnupOImEBcG31CQgBLV8wWE+5t+C4rimcjHsbzy7CBzf9oFjboA==} + /devtools-protocol@0.0.1179426: + resolution: {integrity: sha512-KKC7IGwdOr7u9kTGgjUvGTov/z1s2H7oHi3zKCdR9eSDyCPia5CBi4aRhtp7d8uR7l0GS5UTDw3TjKGu5CqINg==} dev: false /dezalgo@1.0.4: @@ -5095,6 +5099,10 @@ packages: verror: 1.10.0 dev: false + /jsrsasign@10.8.6: + resolution: {integrity: sha512-bQmbVtsfbgaKBTWCKiDCPlUPbdlRIK/FzSwT3BzIgZl/cU6TqXu6pZJsCI/dJVrZ9Gir5GC4woqw9shH/v7MBw==} + dev: false + /jwa@2.0.0: resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==} dependencies: @@ -6487,15 +6495,15 @@ packages: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - /puppeteer-core@21.2.1: - resolution: {integrity: sha512-+I8EjpWFeeFKScpQiTEnC4jGve2Wr4eA9qUMoa8S317DJPm9h7wzrT4YednZK2TQZMyPtPQ2Disb/Tg02+4Naw==} + /puppeteer-core@21.3.1: + resolution: {integrity: sha512-3VrCDEAHk0hPvE8qtfKgsT8CzRuaQrDQGXdCOuMFJM7Ap+ghpQzhPa9H3DE3gZgwDvC5Jt7SxUkAWLCeNbD0xw==} engines: {node: '>=16.3.0'} dependencies: '@puppeteer/browsers': 1.7.1 - chromium-bidi: 0.4.26(devtools-protocol@0.0.1159816) + chromium-bidi: 0.4.27(devtools-protocol@0.0.1179426) cross-fetch: 4.0.0 debug: 4.3.4 - devtools-protocol: 0.0.1159816 + devtools-protocol: 0.0.1179426 ws: 8.14.1 transitivePeerDependencies: - bufferutil @@ -6517,7 +6525,7 @@ packages: optional: true dependencies: debug: 4.3.4 - puppeteer-extra: 3.3.6(puppeteer@21.2.1) + puppeteer-extra: 3.3.6(puppeteer@21.3.1) puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6) puppeteer-extra-plugin-user-preferences: 2.4.1(puppeteer-extra@3.3.6) transitivePeerDependencies: @@ -6538,7 +6546,7 @@ packages: dependencies: debug: 4.3.4 fs-extra: 10.1.0 - puppeteer-extra: 3.3.6(puppeteer@21.2.1) + puppeteer-extra: 3.3.6(puppeteer@21.3.1) puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6) rimraf: 3.0.2 transitivePeerDependencies: @@ -6559,7 +6567,7 @@ packages: dependencies: debug: 4.3.4 deepmerge: 4.3.1 - puppeteer-extra: 3.3.6(puppeteer@21.2.1) + puppeteer-extra: 3.3.6(puppeteer@21.3.1) puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6) puppeteer-extra-plugin-user-data-dir: 2.4.1(puppeteer-extra@3.3.6) transitivePeerDependencies: @@ -6581,12 +6589,12 @@ packages: '@types/debug': 4.1.8 debug: 4.3.4 merge-deep: 3.0.3 - puppeteer-extra: 3.3.6(puppeteer@21.2.1) + puppeteer-extra: 3.3.6(puppeteer@21.3.1) transitivePeerDependencies: - supports-color dev: false - /puppeteer-extra@3.3.6(puppeteer@21.2.1): + /puppeteer-extra@3.3.6(puppeteer@21.3.1): resolution: {integrity: sha512-rsLBE/6mMxAjlLd06LuGacrukP2bqbzKCLzV1vrhHFavqQE/taQ2UXv3H5P0Ls7nsrASa+6x3bDbXHpqMwq+7A==} engines: {node: '>=8'} peerDependencies: @@ -6604,19 +6612,19 @@ packages: '@types/debug': 4.1.8 debug: 4.3.4 deepmerge: 4.3.1 - puppeteer: 21.2.1 + puppeteer: 21.3.1 transitivePeerDependencies: - supports-color dev: false - /puppeteer@21.2.1: - resolution: {integrity: sha512-bgY/lYBH3rR+m5EP1FxzY2MRMrau7Pyq+N5YlspA63sF+cBkUiTn5WZXwXm7mEHwkkOSVi5LiS74T5QIgrSklg==} + /puppeteer@21.3.1: + resolution: {integrity: sha512-MhDvA+BYmzx+9vHJ/ZtknhlPbSPjTlHQnW1QYfkGpBcGW2Yy6eMahjkNuhAzN29H9tb47IcT0QsVcUy3Txx+SA==} engines: {node: '>=16.3.0'} requiresBuild: true dependencies: '@puppeteer/browsers': 1.7.1 - cosmiconfig: 8.3.5 - puppeteer-core: 21.2.1 + cosmiconfig: 8.3.6 + puppeteer-core: 21.3.1 transitivePeerDependencies: - bufferutil - encoding @@ -7806,6 +7814,10 @@ packages: resolution: {integrity: sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==} dev: false + /urlpattern-polyfill@9.0.0: + resolution: {integrity: sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==} + dev: false + /utf8@3.0.0: resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} dev: true diff --git a/test/utils/rand-user-agent.js b/test/utils/rand-user-agent.js index f065e94dbdf8c5..01b2cc5b90be40 100644 --- a/test/utils/rand-user-agent.js +++ b/test/utils/rand-user-agent.js @@ -12,6 +12,13 @@ describe('rand-user-agent', () => { const match = uaArr.find((e) => !!(e.includes('Chrome-Lighthouse') || e.includes('HeadlessChrome'))); expect(match).toBeFalsy(); }); + it('chrome should not include electron', () => { + const uaArr = Array(100) + .fill() + .map(() => randUserAgent({ browser: 'chrome', os: 'windows' })); + const match = uaArr.find((e) => !!e.includes('Electron')); + expect(match).toBeFalsy(); + }); it('should has default random ua', async () => { nock('https://rsshub.test') diff --git a/website/docs/routes/finance.md b/website/docs/routes/finance.md index 42d5554e794127..9102cff9a0686d 100644 --- a/website/docs/routes/finance.md +++ b/website/docs/routes/finance.md @@ -38,6 +38,16 @@ +## AInvest {#ainvest} + +### Latest Article {#ainvest-latest-article} + + + +### Latest News {#ainvest-latest-news} + + + ## BigQuant {#bigquant} ### 专题报告 {#bigquant-zhuan-ti-bao-gao} diff --git a/website/docs/routes/game.md b/website/docs/routes/game.md index 968e486ae82b50..47473658688f34 100644 --- a/website/docs/routes/game.md +++ b/website/docs/routes/game.md @@ -76,22 +76,22 @@ Categories Language codes -| Language | Code | -| -------------- | ----- | -| Deutsch | de-de | -| English (US) | en-us | -| English (EU) | en-gb | -| Español (EU) | es-es | -| Español (Latino) | es-mx | -| Français | fr-fr | -| Italiano | it-it | -| Português (Brasil) | pt-br | -| Polski | pl-pl | -| Русский | ru-ru | -| 한국어 | ko-kr | -| ภาษาไทย | th-th | -| 日本語 | ja-jp | -| 繁體中文 | zh-tw | +| Language | Code | +| ------------------ | ----- | +| Deutsch | de-de | +| English (US) | en-us | +| English (EU) | en-gb | +| Español (EU) | es-es | +| Español (Latino) | es-mx | +| Français | fr-fr | +| Italiano | it-it | +| Português (Brasil) | pt-br | +| Polski | pl-pl | +| Русский | ru-ru | +| 한국어 | ko-kr | +| ภาษาไทย | th-th | +| 日本語 | ja-jp | +| 繁體中文 | zh-tw | @@ -143,8 +143,8 @@ Region Category -| all | topics | notices | maintenance | updates | status | developers | -| --- | ------ | ------- | ----------- | ------- | -------- | ---------- | +| all | topics | notices | maintenance | updates | status | developers | +| --- | ------ | ------- | ----------- | ------- | ------ | ---------- | @@ -178,9 +178,9 @@ Category -| Latest News | PC | Playstation | Nintendo | Xbox | Moblie | -| ----------- | -- | ----------- | -------- | ---- | ------ | -| latest-news | pc | playstation | nintendo | xbox | moblie | +| Latest News | PC | Playstation | Nintendo | Xbox | Moblie | +| ----------- | --- | ----------- | -------- | ---- | ------ | +| latest-news | pc | playstation | nintendo | xbox | moblie | Or @@ -303,10 +303,10 @@ So the route is [`/itch/devlogs/teamterrible/the-baby-in-yellow`](https://rsshub | filter | switch | ps4 | ps5 | steam | | ------ | ------ | --- | --- | ----- | | all | ✔ | ✔ | ✔ | ✔ | -| jx | ✔ | ✔ | ❌ | ✔ | +| jx | ✔ | ✔ | ❌ | ✔ | | sd | ✔ | ✔ | ✔ | ✔ | -| dl | ❌ | ✔ | ❌ | ✔ | -| vip | ❌ | ❌ | ✔ | ❌ | +| dl | ❌ | ✔ | ❌ | ✔ | +| vip | ❌ | ❌ | ✔ | ❌ | | 北美 | 欧洲(英语) | 法国 | 德国 | 日本 | | ---- | ------------ | ---- | ---- | ---- | @@ -371,8 +371,8 @@ Sorting types, default to `date`: ### Feed The Beast Modpack Updates {#minecraft-feed-the-beast-modpack-updates} -| param | description | -| ------| ------------ | +| param | description | +| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | modpackEntry | The entry name of modpack, can be found in modpack\'s page link, for `https://www.feed-the-beast.com/modpack/ftb_presents_direwolf20_1_16`, use `ftb_presents_direwolf20_1_16`. | @@ -518,8 +518,8 @@ Due to the regional restrictions, an RSSHub deployment in China Mainland may not Language Code | English (US) | 繁體中文 | 한국어 | 日本語 | -| ----- | ----- | ----- | ----- | -| en_US | zh_TW | ko_KR | ja_JP | +| ------------ | -------- | ------ | ------ | +| en_US | zh_TW | ko_KR | ja_JP | @@ -529,15 +529,15 @@ Language Code Sort Method -| Most Relevant | Most Recent | -| -------------- | ---- | -| default | new | +| Most Relevant | Most Recent | +| ------------- | ----------- | +| default | new | Language Code | English (US) | 繁體中文 | 한국어 | 日本語 | -| ----- | ----- | ----- | ----- | -| en_US | zh_TW | ko_KR | ja_JP | +| ------------ | -------- | ------ | ------ | +| en_US | zh_TW | ko_KR | ja_JP | @@ -625,9 +625,9 @@ The year, month and day provided under UTC time zone are the same as the officia -| 首頁 | PC | TV 掌機 | 手機遊戲 | 動漫畫 | 主題報導 | 活動展覽 | 電競 | -| ---- | -- | ------- | -------- | ------ | -------- | -------- | ---- | -| 缺省 | 1 | 3 | 4 | 5 | 9 | 11 | 13 | +| 首頁 | PC | TV 掌機 | 手機遊戲 | 動漫畫 | 主題報導 | 活動展覽 | 電競 | +| ---- | --- | ------- | -------- | ------ | -------- | -------- | ---- | +| 缺省 | 1 | 3 | 4 | 5 | 9 | 11 | 13 | | Switch | PS5 | PS4 | XboxOne | XboxSX | PC 單機 | PC 線上 | iOS | Android | Web | 漫畫 | 動畫 | | ------ | --- | --- | ------- | ------ | ------- | ------- | --- | ------- | --- | ----- | ----- | @@ -709,11 +709,11 @@ The year, month and day provided under UTC time zone are the same as the officia | 炉石传说 | 万智牌 | 游戏王 | 昆特牌 | 影之诗 | 符文之地传奇 | 阴阳师百闻牌 | | :------: | :----: | :----: | :----: | :----: | :----------: | :----------: | -| 17 | 18 | 16 | 19 | 20 | 329 | 221 | +| 17 | 18 | 16 | 19 | 20 | 329 | 221 | | 英雄联盟 | 电子游戏 | 桌面游戏 | 卡牌游戏 | 玩家杂谈 | 二次元 | | :------: | :------: | :------: | :------: | :------: | :----: | -| 112 | 389 | 24 | 102 | 23 | 117 | +| 112 | 389 | 24 | 102 | 23 | 117 | @@ -751,12 +751,12 @@ Example:`https://www.iyingdi.com/tz/people/55547` ,id 是 `55547` -| 键 | 含义 | 接受的值 | 默认值 | -| ----------- | ----------------------------------- | ------------------------------------------------------------ | ------------ | -| forumType | 主榜类型(仅原神、大别野有cos主榜) | tongren/cos | tongren | +| 键 | 含义 | 接受的值 | 默认值 | +| ----------- | ----------------------------------- | -------------------------------------------------------------------- | ------------ | +| forumType | 主榜类型(仅原神、大别野有cos主榜) | tongren/cos | tongren | | cateType | 子榜类型(仅崩坏三、原神有子榜) | 崩坏三:illustration/comic/cos;原神:illustration/comic/qute/manual | illustration | -| rankingType | 排行榜类型(崩坏二没有日榜) | daily/weekly/monthly | daily | -| lastId | 当前页id(用于分页) | 数字 | 1 | +| rankingType | 排行榜类型(崩坏二没有日榜) | daily/weekly/monthly | daily | +| lastId | 当前页id(用于分页) | 数字 | 1 | 游戏缩写(目前绝区零还没有同人榜 @@ -774,9 +774,9 @@ Example:`https://www.iyingdi.com/tz/people/55547` ,id 是 `55547` 崩坏三 子榜 -| 插画 | 漫画 | COS | -| ------------ | ----- | ---- | -| illustration | comic | cos | +| 插画 | 漫画 | COS | +| ------------ | ----- | --- | +| illustration | comic | cos | 原神 子榜 @@ -847,15 +847,15 @@ Example:`https://www.iyingdi.com/tz/people/55547` ,id 是 `55547` 平台 -| 安卓服 | iOS 服 | B 服 | +| 安卓服 | iOS 服 | B 服 | | :-----: | :----: | :------: | -| Android | IOS | Bilibili | +| Android | IOS | Bilibili | 分组 -| 全部 | 系统公告 | 活动公告 | -| :--: | :------: | :------: | -| ALL | SYSTEM | ACTIVITY | +| 全部 | 系统公告 | 活动公告 | +| :---: | :------: | :------: | +| ALL | SYSTEM | ACTIVITY | @@ -1001,12 +1001,18 @@ Example:`https://www.iyingdi.com/tz/people/55547` ,id 是 `55547` -| Switch | PS4 | PC | Xbox | -| ------ | --- | -- | ---- | -| 1 | 2 | 3 | 4 | +| Switch | PS4 | PC | Xbox | +| ------ | --- | --- | ---- | +| 1 | 2 | 3 | 4 | +## 游戏基因 {#you-xi-ji-yin} + +### 资讯 {#you-xi-ji-yin-zi-xun} + + + ## 游戏年轮 {#you-xi-nian-lun} ### 分类 {#you-xi-nian-lun-fen-lei} @@ -1124,9 +1130,9 @@ Example:`https://www.iyingdi.com/tz/people/55547` ,id 是 `55547` -| 新着 | PS5 | Switch | PS4 | ニュース | ゲームニュース | PR TIMES | 動画 | 特集・企画記事 | インタビュー | 取材・リポート | レビュー | インディーゲーム | -| ----------- | --- | ------ | --- | ---- | --------- | -------- | ------ | --------------- | --------- | ------------ | ------ | ---------- | -| new-article | ps5 | switch | ps4 | news | news-game | prtimes | videos | special-article | interview | event-report | review | indie-game | +| 新着 | PS5 | Switch | PS4 | ニュース | ゲームニュース | PR TIMES | 動画 | 特集・企画記事 | インタビュー | 取材・リポート | レビュー | インディーゲーム | +| ----------- | --- | ------ | --- | -------- | -------------- | -------- | ------ | --------------- | ------------ | -------------- | -------- | ---------------- | +| new-article | ps5 | switch | ps4 | news | news-game | prtimes | videos | special-article | interview | event-report | review | indie-game | @@ -1139,4 +1145,3 @@ Example:`https://www.iyingdi.com/tz/people/55547` ,id 是 `55547` ### 游戏横幅 {#%E3%83%9E%E3%82%AE%E3%82%A2%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89-magia-record-mo-fa-ji-lu-you-xi-heng-fu} - diff --git a/website/docs/routes/new-media.md b/website/docs/routes/new-media.md index 6900fa6bdf128a..795d426acff940 100644 --- a/website/docs/routes/new-media.md +++ b/website/docs/routes/new-media.md @@ -2794,6 +2794,47 @@ Type 栏目: +## 仮面ライダ {#fan-mian-%E3%83%A9%E3%82%A4%E3%83%80} + +### 最新情報 {#fan-mian-%E3%83%A9%E3%82%A4%E3%83%80-zui-xin-qing-bao} + + + +| Category | +| -------------------------------------- | +| すべて | +| テレビ | +| 映画・Vシネマ等 | +| Blu-ray・DVD、配信等 | +| 20作記念グッズ・東映EC商品 | +| 石ノ森章太郎生誕80周年記念商品 | +| 玩具・カード | +| 食品・飲料・菓子 | +| 子供生活雑貨 | +| アパレル・大人向け雑貨 | +| フィギュア・ホビー・一番くじ・プライズ | +| ゲーム・デジタル | +| 雑誌・書籍・漫画 | +| 音楽 | +| 映像 | +| イベント | +| ホテル・レストラン等 | +| キャンペーン・タイアップ等 | +| その他 | +| KAMEN RIDER STORE | +| THE鎧武祭り | +| 鎧武外伝 | +| 仮面ライダーリバイス | +| ファイナルステージ | +| THE50周年展 | +| 風都探偵 | +| 仮面ライダーギーツ | +| 仮面ライダーアウトサイダーズ | +| 仮面ライダーガッチャード | +| 仮面ライダーBLACK SUN | + + + ## 飞雪娱乐网 {#fei-xue-yu-le-wang} @@ -3328,55 +3369,242 @@ column 为 third 时可选的 category: ## 快科技 {#kuai-ke-ji} -### 新闻 {#kuai-ke-ji-xin-wen} +### 最新 {#kuai-ke-ji-zui-xin} - + -:::tip +### 热门 {#kuai-ke-ji-re-men} -使用 **类型** 表中的两个参数时,编号应留空,如:**最新** 为 [`/mydrivers/new`](https://rsshub.app/mydrivers/new) + -使用 **编号** 表中的参数不应遗漏对应类型参数,如 **电脑** 为 [`/mydrivers/bcid/801`](https://rsshub.app/mydrivers/bcid/801) +### 发布会 {#kuai-ke-ji-fa-bu-hui} -::: + -类型 +### 排行 {#kuai-ke-ji-pai-hang} -| 最新 | 热门 | -| ---- | ---- | -| new | hot | + + +| 24小时最热 | 本周最热 | 本月最热 | +| ---------- | -------- | -------- | +| 0 | 1 | 2 | + + + +### 分类 {#kuai-ke-ji-fen-lei} + + + +#### 板块 {#kuai-ke-ji-fen-lei-ban-kuai} + +| 电脑 | 手机 | 汽车 | 业界 | 游戏 | +| -------- | -------- | -------- | -------- | -------- | +| bcid/801 | bcid/802 | bcid/807 | bcid/803 | bcid/806 | + +#### 话题 {#kuai-ke-ji-fen-lei-hua-ti} + +| 科学 | 排行 | 评测 | 一图 | +| -------- | -------- | -------- | -------- | +| tid/1000 | tid/1001 | tid/1002 | tid/1003 | + +#### 品牌 {#kuai-ke-ji-fen-lei-pin-pai} + +| 安卓 | 阿里 | 微软 | 百度 | PS5 | Xbox | 华为 | +| -------- | -------- | ------- | ------- | --------- | -------- | -------- | +| icid/121 | icid/270 | icid/90 | icid/67 | icid/6950 | icid/194 | icid/136 | + +| 小米 | VIVO | 三星 | 魅族 | 一加 | 比亚迪 | 小鹏 | +| --------- | -------- | -------- | -------- | -------- | -------- | --------- | +| icid/9355 | icid/288 | icid/154 | icid/140 | icid/385 | icid/770 | icid/7259 | + +| 蔚来 | 理想 | 奔驰 | 宝马 | 大众 | +| --------- | ---------- | -------- | -------- | -------- | +| icid/7318 | icid/12947 | icid/429 | icid/461 | icid/481 | + +
+ 更多分类 + + | 电脑配件 | 手机之家 | 家用电器 | 网络设备 | 办公外设 | 游戏之家 | + | -------- | -------- | -------- | -------- | -------- | -------- | + | cid/2 | cid/3 | cid/4 | cid/5 | cid/6 | cid/7 | + + | 电脑软件 | 业内动向 | 品牌整机 | 其它资讯 | 显卡 | CPU | + | -------- | -------- | -------- | -------- | ------ | ------ | + | cid/8 | cid/9 | cid/10 | cid/11 | cid/12 | cid/13 | + + | 主板 | 内存 | 硬盘 | 机箱 | 电源 | 散热器 | + | ------ | ------ | ------ | ------ | ------ | ------ | + | cid/14 | cid/15 | cid/16 | cid/17 | cid/18 | cid/19 | + + | 光驱 | 声卡 | 键鼠 | 音箱 | 手机厂商 | 手机配件 | + | ------ | ------ | ------ | ------ | -------- | -------- | + | cid/20 | cid/21 | cid/22 | cid/23 | cid/24 | cid/25 | + + | PDA | MP3/MP4 | 摄像机 | 数码相机 | 摄像头 | 数码配件 | + | ------ | ------- | ------ | -------- | ------ | -------- | + | cid/26 | cid/27 | cid/29 | cid/30 | cid/31 | cid/32 | + + | 电子书 | 导航产品 | 录音笔 | 交换机 | 路由器 | 防火墙 | + | ------ | -------- | ------ | ------ | ------ | ------ | + | cid/33 | cid/34 | cid/35 | cid/37 | cid/38 | cid/40 | + + | 网卡 | 网络存储 | UPS | 打印机 | 复印机 | 复合机 | + | ------ | -------- | ------ | ------ | ------ | ------ | + | cid/41 | cid/43 | cid/44 | cid/45 | cid/46 | cid/47 | + + | 投影仪 | 扫描仪 | 传真机 | 电脑游戏 | 主机游戏 | 游戏主机 | + | ------ | ------ | ------ | -------- | -------- | -------- | + | cid/48 | cid/49 | cid/51 | cid/52 | cid/53 | cid/54 | + + | 掌机游戏 | 电脑驱动 | 桌面系统 | 视点人物 | 数据报告 | 科技前沿 | + | -------- | -------- | -------- | -------- | -------- | -------- | + | cid/55 | cid/57 | cid/58 | cid/62 | cid/63 | cid/65 | + + | 笔记本 | 台式机 | 服务器 | 一体机 | 其他 | PC硬件 | + | ------ | ------ | ------ | ------ | ------ | ------ | + | cid/66 | cid/67 | cid/68 | cid/69 | cid/73 | cid/74 | + + | 时尚数码 | 软件驱动 | 显示器 | 音箱耳机 | 投影机 | 便携机 | + | -------- | -------- | ------ | -------- | ------- | ------- | + | cid/78 | cid/79 | cid/80 | cid/92 | cid/100 | cid/108 | + + | 手机 | MP3 | MP4 | 闪存盘 | DV摄像机 | U盘 | + | ------- | ------- | ------- | ------- | -------- | ------- | + | cid/109 | cid/112 | cid/113 | cid/114 | cid/115 | cid/116 | + + | GPS | 移动硬盘 | 操作系统 | 驱动 | 软件 | 软件更新 | + | ------- | -------- | -------- | ------- | ------- | -------- | + | cid/117 | cid/119 | cid/120 | cid/121 | cid/122 | cid/123 | + + | 新软推荐 | 业界动态 | 软件评测 | 软件技巧 | 游戏相关 | 驱动研究 | + | -------- | -------- | -------- | -------- | -------- | -------- | + | cid/124 | cid/125 | cid/126 | cid/127 | cid/128 | cid/130 | + + | 游戏试玩 | 硬件学堂 | 实用技巧 | 新软体验 | 资讯教程 | 软件横评 | + | -------- | -------- | -------- | -------- | -------- | -------- | + | cid/131 | cid/132 | cid/133 | cid/134 | cid/135 | cid/136 | + + | Windows | Mac | Linux | 其它 | 使用技巧 | 深入研究 | + | ------- | ------- | ------- | ------- | -------- | -------- | + | cid/137 | cid/138 | cid/139 | cid/140 | cid/141 | cid/142 | + + | 游戏机 | 显示 | 存储 | 音频 | 外设 | 数码 | + | ------- | ------- | ------- | ------- | ------- | ------- | + | cid/144 | cid/145 | cid/146 | cid/147 | cid/148 | cid/151 | + + | 网络 | 办公 | 维修 | 安全 | 聊天 | 影音 | + | ------- | ------- | ------- | ------- | ------- | ------- | + | cid/152 | cid/154 | cid/155 | cid/156 | cid/157 | cid/158 | -编号 + | 国内 | 国外 | 办公应用 | 设计创意 | 基础知识 | 程序 | + | ------- | ------- | -------- | -------- | -------- | ------- | + | cid/159 | cid/160 | cid/161 | cid/162 | cid/163 | cid/164 | -| 最新 | 最热 | 电脑 | 手机 | 汽车 | 业界 | -| ------ | ------ | -------- | -------- | -------- | -------- | -| ac/new | ac/hot | bcid/801 | bcid/802 | bcid/807 | bcid/803 | + | 其他硬件 | 电视卡/盒 | 游戏体验 | 平板电视 | 企业动态 | 天文航天 | + | -------- | --------- | -------- | -------- | -------- | -------- | + | cid/166 | cid/170 | cid/172 | cid/173 | cid/174 | cid/175 | -| 科学 | 排行 | 评测 | 安卓 | 苹果 | CPU | -| -------- | -------- | -------- | -------- | ------- | ------ | -| tid/1000 | tid/1001 | tid/1002 | icid/121 | cid/201 | cid/13 | + | MID设备 | 数码相框 | 耳机 | 通讯运营商 | 电视盒 | 线材线缆 | + | ------- | -------- | ------- | ---------- | ------- | -------- | + | cid/176 | cid/177 | cid/179 | cid/180 | cid/182 | cid/183 | -| 显卡 | 一图 | 阿里 | 微软 | 百度 | 影视 | -| ------ | -------- | -------- | ------- | ------- | -------- | -| cid/12 | tid/1003 | icid/270 | icid/90 | icid/67 | bcid/809 | + | 小家电 | 网络游戏 | 行情信息 | 科学动态 | 生物世界 | 历史考古 | + | ------- | -------- | -------- | -------- | -------- | -------- | + | cid/184 | cid/186 | cid/188 | cid/192 | cid/193 | cid/194 | -| 游戏 | 路由器 | PS5 | Xbox | 华为 | OPPO | -| -------- | ------ | --------- | -------- | -------- | -------- | -| bcid/806 | cid/38 | icid/6950 | icid/194 | icid/136 | icid/148 | + | 生科医学 | 地理自然 | 工程建筑 | 苹果手机 | 谷歌Android | 塞班手机 | + | -------- | -------- | -------- | -------- | ----------- | -------- | + | cid/195 | cid/196 | cid/197 | cid/201 | cid/202 | cid/203 | -| 小米 | VIVO | 三星 | 魅族 | 一加 | 特斯拉 | -| --------- | -------- | -------- | -------- | -------- | --------- | -| icid/9355 | icid/288 | icid/154 | icid/140 | icid/385 | icid/1193 | + | 黑莓手机 | 微软手机 | 移动处理器 | 山寨机 | 手机游戏 | 安卓应用 | + | -------- | -------- | ---------- | ------- | -------- | -------- | + | cid/204 | cid/205 | cid/206 | cid/208 | cid/209 | cid/210 | -| 比亚迪 | 小鹏 | 蔚来 | 理想 | 奔驰 | 宝马 | 大众 | -| -------- | --------- | --------- | ---------- | -------- | -------- | -------- | -| icid/770 | icid/7259 | icid/7318 | icid/12947 | icid/429 | icid/461 | icid/481 | + | 娱乐生活 | 明星全接触 | 电影影讯 | 电视节目 | 音乐戏曲 | 国际风云 | + | -------- | ---------- | -------- | -------- | -------- | -------- | + | cid/212 | cid/213 | cid/214 | cid/215 | cid/216 | cid/217 | + + | 国内传真 | 社会民生 | 生活百态 | 医药健康 | 家居尚品 | 星座旅游 | + | -------- | -------- | -------- | -------- | -------- | -------- | + | cid/218 | cid/219 | cid/220 | cid/221 | cid/222 | cid/223 | + + | 评论分析 | 体育竞技 | IT八卦 | 科技动态 | 游戏动态 | 手机系统 | + | -------- | -------- | ------- | -------- | -------- | -------- | + | cid/224 | cid/225 | cid/226 | cid/227 | cid/228 | cid/232 | + + | 智能设备 | 生活电器 | 汽车相关 | 飞机航空 | 手机周边 | 网络运营商 | + | -------- | -------- | -------- | -------- | -------- | ---------- | + | cid/233 | cid/234 | cid/235 | cid/236 | cid/237 | cid/238 | + + | 平板电脑 | 苹果iPad | 安卓平板 | Windows平板 | 创业路上 | 网友热议 | + | -------- | -------- | -------- | ----------- | -------- | -------- | + | cid/239 | cid/240 | cid/241 | cid/242 | cid/243 | cid/244 | + + | IT圈 | 数码周边 | 智能手环 | 智能眼镜 | 智能手表 | iOS应用 | + | ------- | -------- | -------- | -------- | -------- | ------- | + | cid/246 | cid/247 | cid/248 | cid/249 | cid/250 | cid/251 | + + | 壁纸主题 | 游戏厂商 | 数理化学 | 科普知识 | 奇趣探险 | 汽车世界 | + | -------- | -------- | -------- | -------- | -------- | -------- | + | cid/252 | cid/253 | cid/254 | cid/255 | cid/256 | cid/257 | + + | 传统汽车 | 电动汽车 | 新能源汽车 | 无人驾驶汽车 | 车载系统 | 车载配件 | + | -------- | -------- | ---------- | ------------ | -------- | -------- | + | cid/258 | cid/259 | cid/260 | cid/261 | cid/262 | cid/263 | + + | 汽车厂商 | 影音动漫 | 精彩影视 | 电影动画 | 艺术设计 | 摄影达人 | + | -------- | -------- | -------- | -------- | -------- | -------- | + | cid/264 | cid/265 | cid/266 | cid/267 | cid/269 | cid/270 | + + | 固件 | 样张赏析 | 创意摄影 | WP应用 | 教育未来 | 安卓手机 | + | ------- | -------- | -------- | ------- | -------- | -------- | + | cid/272 | cid/273 | cid/274 | cid/284 | cid/285 | cid/288 | + + | 智能穿戴 | 移动应用 | 电子竞技 | 游戏八卦 | 游戏评测 | 生活百科 | + | -------- | -------- | -------- | -------- | -------- | -------- | + | cid/290 | cid/292 | cid/297 | cid/298 | cid/299 | cid/301 | + + | 智能家居 | 智能插座 | 智能摄像头 | 智能路由器 | 智能体重秤 | 智能血压计 | + | -------- | -------- | ---------- | ---------- | ---------- | ---------- | + | cid/302 | cid/303 | cid/304 | cid/305 | cid/306 | cid/307 | + + | 空气净化器 | 智能净水器 | 电动两轮车 | 公司财报 | 智能行车记录仪 | 网络影视 | + | ---------- | ---------- | ---------- | -------- | -------------- | -------- | + | cid/308 | cid/309 | cid/310 | cid/311 | cid/312 | cid/313 | + + | 多轴无人机 | 摩托车 | 自行车 | 共享经济 | 生活周边 | 网络安全 | + | ---------- | ------- | ------- | -------- | -------- | -------- | + | cid/314 | cid/316 | cid/317 | cid/320 | cid/321 | cid/322 | + + | 考勤机 | 网络红人 | 火车高铁 | 机器人 | 其他网络 | 快递物流 | + | ------- | -------- | -------- | ------- | -------- | -------- | + | cid/323 | cid/324 | cid/325 | cid/326 | cid/327 | cid/328 | + + | 科技资讯 | 好货推荐 | 日常用品 | 餐饮零食 | 化妆品 | 运动健康 | + | -------- | -------- | -------- | -------- | ------- | -------- | + | cid/329 | cid/334 | cid/335 | cid/336 | cid/339 | cid/340 | + + | 酒水饮料 | 个人洗护 | 电子产品 | 服装鞋帽 | 会员卡 | 用户投稿 | + | -------- | -------- | -------- | -------- | ------- | -------- | + | cid/341 | cid/342 | cid/343 | cid/345 | cid/346 | cid/351 | + + | APP投稿 | PC投稿 | 视频快讯 | 新品开箱 | 技巧教程 | 科技快讯 | + | ------- | ------- | -------- | -------- | -------- | -------- | + | cid/352 | cid/353 | cid/354 | cid/355 | cid/356 | cid/357 | + + | 产品评测 | 人物专访 | 会议活动 | 数码影音 | 数码影像 | 游戏周边 | + | -------- | -------- | -------- | -------- | -------- | -------- | + | cid/358 | cid/359 | cid/360 | cid/361 | cid/362 | cid/368 | + + | 汽车周边 | 个人交通 | 其他交通 | + | -------- | -------- | -------- | + | cid/369 | cid/370 | cid/371 | + +
-### 最新新闻 {#kuai-ke-ji-zui-xin-xin-wen} - ## 快媒体 {#kuai-mei-ti} @@ -3954,15 +4182,15 @@ column 为 third 时可选的 category: ### 首页 {#niao-ge-bi-ji-shou-ye} - + ### 今日事 {#niao-ge-bi-ji-jin-ri-shi} - + ### 分类目录 {#niao-ge-bi-ji-fen-lei-mu-lu} - + ## 派代 {#pai-dai} @@ -5130,6 +5358,37 @@ column 为 third 时可选的 category: +## 新片场 {#xin-pian-chang} + +### 发现 {#xin-pian-chang-fa-xian} + + + +:::tip + +跳转到欲订阅的分类页,将 URL 的 `/discover` 到末尾的部分填入 `params` 参数。 + +如 [全部原创视频作品](https://www.xinpianchang.com/discover/article-0-0-all-all-0-0-score) 的 URL 为 ,其 `/discover` 到末尾的部分为 `article-0-0-all-all-0-0-score`,所以对应的路由为 [/xinpianchang/discover/article-0-0-all-all-0-0-score](https://rsshub.app/xinpianchang/discover/article-0-0-all-all-0-0-score)。 + +::: + + + +### 排行榜 {#xin-pian-chang-pai-hang-bang} + + + +| 分类 | id | +| -------- | ---------- | +| 总榜 | all | +| 精选榜 | staffPicks | +| 广告 | ad | +| 宣传片 | publicity | +| 创意 | creative | +| 干货教程 | backstage | + + + ## 选股宝 {#xuan-gu-bao} ### 主题 {#xuan-gu-bao-zhu-ti} @@ -5410,7 +5669,7 @@ column 为 third 时可选的 category: | 小说 | 诗歌 | 散文 | 纪实 | 其他 | | ------------- | ------------- | ------------- | ------------- | ------------- | | 404015/404017 | 404015/404020 | 404015/404018 | 404015/404019 | 404015/419926 | - + | 平台推荐 | 本周之星 | 2018年5月18日前原创作品 | | ------------- | ------------- | ----------------------- | | 404015/419789 | 404015/431511 | 404009 | @@ -5418,23 +5677,23 @@ column 为 third 时可选的 category: | 《人民文学》 | 《诗刊》 | 《民族文学》 | 《收获》 | 《十月》 | | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | | 404015/416204/418925 | 404015/416204/418926 | 404015/416204/418928 | 404015/416204/418958 | 404015/416204/418956 | - + | 《小说选刊》 | 《北京文学》 | 《上海文学》 | 《天津文学》 | 《草原》 | | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | | 404015/416204/418929 | 404015/416204/418954 | 404015/416204/418962 | 404015/416204/419004 | 404015/416204/418989 | - + | 《黄河》 | 《江南》 | 《钟山》 | 《广州文艺》 | 《湖南文学》 | | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | | 404015/416204/426204 | 404015/416204/418957 | 404015/416204/418984 | 404015/416204/419881 | 404015/416204/419156 | - + | 《山西文学》 | 《花城》 | 《青年作家》 | 《雨花》 | 《红豆》 | | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | | 404015/416204/419827 | 404015/416204/418960 | 404015/416204/418967 | 404015/416204/419885 | 404015/416204/418993 | - + | 《长江文艺》 | 《中国作家》 | 《青年文学》 | 《美文》 | 《芙蓉》 | | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | | 404015/416204/418961 | 404015/416204/418927 | 404015/416204/418979 | 404015/416204/418985 | 404015/416204/418986 | - + | 《长城》 | 《福建文学》 | 《啄木鸟》 | 《芳草》 | 《小说月报》 | | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | | 404015/416204/418987 | 404015/416204/419003 | 404015/416204/435225 | 404015/416204/424311 | 404015/416204/418963 | diff --git a/website/docs/routes/other.md b/website/docs/routes/other.md index 44af8528f01b2e..9c8ae6dfb0b4cb 100644 --- a/website/docs/routes/other.md +++ b/website/docs/routes/other.md @@ -141,7 +141,7 @@ See [#app-store-mac-app-store](/routes/program-update#app-store-mac-app-store) ### 国家卫健委 - 疫情通报 {#corona-virus-disease-2019-guo-jia-wei-jian-wei-yi-qing-tong-bao} - + ### 财新网 - 新冠肺炎防疫全纪录 {#corona-virus-disease-2019-cai-xin-wang-xin-guan-fei-yan-fang-yi-quan-ji-lu} @@ -646,6 +646,25 @@ Parsing of `routeParams` parameter: +### Sitemap {#transformation-sitemap} + +Specify options (in the format of query string) in parameter `routeParams` parameter to extract data from Sitemap. (Follows Sitemap Protocol 0.9) + +| Key | Meaning | Accepted Values | Default | +|-----------------|----------------------------------------------------------------|-----------------|------------------------| +| `title` | The title of the RSS | `string` | Extract from `` | + +<Route author="flrngel" example="/rsshub/transform/xml/https%3A%2F%2Fwww.sitemaps.org%2Fsitemap.xml/" path="/rsshub/transform/html/:url/:routeParams?" paramsDesc={['`encodeURIComponent`ed URL address', 'Transformation rules, requires URL encode']} selfhost="1"> + +Parameters parsing in the above example: + +| Parameter | Value | +|---------------|-------------------------------------------| +| `url` | `https://www.sitemaps.org/sitemap.xml` | +| `routeParams` | `title=Example` | + +</Route> + ## TSSstatus (iOS downgrade channel) {#tssstatus-ios-downgrade-channel} ### Status {#tssstatus-ios-downgrade-channel-status} diff --git a/website/docs/routes/program-update.md b/website/docs/routes/program-update.md index 1515fc1a55b5f8..efe6afbf51ac7d 100644 --- a/website/docs/routes/program-update.md +++ b/website/docs/routes/program-update.md @@ -59,7 +59,7 @@ The parameters can be extracted from the Release page URL: `https://install.appc ### App Update {#app-store-mac-app-store-app-update} -<Route author="cielpy" example="/appstore/update/us/id697846300" path="/appstore/update/:country/:id" paramsDesc={['App Store Country, obtain from the app URL `https://apps.apple.com/us/app/reeder-3/id697846300?mt=8`, in this case, `us`', 'App Store app id, obtain from the app URL `https://apps.apple.com/us/app/reeder-3/id697846300?mt=8`, in this case, `id697846300`']} /> +<Route author="EkkoG" example="/apple/apps/update/us/id1529445840" path="/apple/apps/update/:country/:id" paramsDesc={['App Store Country, obtain from the app URL `https://apps.apple.com/us/app/apple-store/id375380948`, in this case, `us`', 'App Store app id, obtain from the app URL `https://apps.apple.com/us/app/apple-store/id375380948`, in this case, `id375380948`']} radar="1"/> ### Price Drop {#app-store-mac-app-store-price-drop} @@ -159,7 +159,7 @@ Language ### 更新日志 {#bugly-sdk-geng-xin-ri-zhi} -<Route author="cielpy" example="/bugly/changelog/1" path="/bugly/changelog/:platform" paramsDesc={['平台类型, 必选, 1 为 Android, 2 为 iOS']}/> +<Route author="EkkoG" example="/bugly/changelog/1" path="/bugly/changelog/:platform" paramsDesc={['平台类型, 必选, 1 为 Android, 2 为 iOS']}/> ## Cent Browser {#cent-browser} @@ -295,7 +295,7 @@ Language ### 更新 {#fir.im-ying-yong-geng-xin} -<Route author="cielpy" example="/fir/update/xcz" path="/fir/update/:id" paramsDesc={['fir app id, 必选, 如 fir 生成的链接地址为 https://fir.im/xcz, 则 id 为 `xcz`']}/> +<Route author="EkkoG" example="/fir/update/xcz" path="/fir/update/:id" paramsDesc={['fir app id, 必选, 如 fir 生成的链接地址为 https://fir.im/xcz, 则 id 为 `xcz`']}/> ## Firefox {#firefox} @@ -463,7 +463,7 @@ Logseq 开发团队已经放弃了 [旧网站](https://logseq.com/blog)。 ### Changelog {#nvidia-web-driver-changelog} -<Route author="cielpy" example="/nvidia/webdriverupdate" path="/nvidia/webdriverupdate"/> +<Route author="EkkoG" example="/nvidia/webdriverupdate" path="/nvidia/webdriverupdate"/> ## O&O Software {#o-o-software} @@ -769,7 +769,7 @@ Language ### 更新日志 {#teng-xun-yun-yi-dong-zhi-bo-sdk-geng-xin-ri-zhi} -<Route author="cielpy" example="/qcloud/mlvb/changelog" path="/qcloud/mlvb/changelog"/> +<Route author="EkkoG" example="/qcloud/mlvb/changelog" path="/qcloud/mlvb/changelog"/> ## 小米应用商店 {#xiao-mi-ying-yong-shang-dian} diff --git a/website/docs/routes/programming.md b/website/docs/routes/programming.md index c82c88b2f39007..6163e73cc2c2c2 100644 --- a/website/docs/routes/programming.md +++ b/website/docs/routes/programming.md @@ -82,6 +82,24 @@ You have the option to utilize the main heading or use individual categories as </Route> +## AlternativeTo {#alternativeto} + +### Software Alternatives {#alternativeto-software-alternatives} + +<Route author="JimenezLi" example="/alternativeto/software/cpp" path="/alternativeto/software/:name/:routeParams?" paramsDesc={['Software name', 'Filters of software type']} puppeteer="1" radar="1"> + +> routeParms can be copied from original site URL, example: `/alternativeto/software/cpp/license=opensource&platform=windows` + +</Route> + +### Platform Software {#alternativeto-platform-software} + +<Route author="JimenezLi" example="/alternativeto/platform/firefox" path="/alternativeto/platform/:name/:routeParams?" paramsDesc={['Platform name', 'Filters of software type']} puppeteer="1" radar="1"> + +> routeParms can be copied from original site URL, example: `/alternativeto/platform/firefox/license=free` + +</Route> + ## AtCoder {#atcoder} ### Present Contests {#atcoder-present-contests} diff --git a/website/docs/routes/social-media.md b/website/docs/routes/social-media.md index 9561a72dadad5f..40887eba62df2f 100644 --- a/website/docs/routes/social-media.md +++ b/website/docs/routes/social-media.md @@ -603,6 +603,12 @@ It's highly recommended to deploy with Redis cache enabled. <Route author="Dectinc DIYgod" example="/keep/user/556b02c1ab59390afea671ea" path="/keep/user/:id" paramsDesc={['Keep 用户 id']}/> +## Lemmy {#lemmy} + +### Community {#lemmy-community} + +<Route author="wb14123" example="/lemmy/technology@lemmy.world/Hot" path="/lemmy/:community/:sort?" paramsDesc={['Lemmmy community, for example technology@lemmy.world', 'Sort by, defaut to Active']} selfhost="1"/> + ## Lofter {#lofter} ### User {#lofter-user} diff --git a/website/docs/routes/traditional-media.md b/website/docs/routes/traditional-media.md index 493207517382be..85996ff8a30d60 100644 --- a/website/docs/routes/traditional-media.md +++ b/website/docs/routes/traditional-media.md @@ -163,11 +163,11 @@ Refer to [Boston.com's feed page](https://www.boston.com/rss-feeds) for tags. Fo </Route> -## CBC {#cbc} +## Canadian Broadcasting Corporation {#canadian-broadcasting-corporation} -通过提取文章全文,以提供比官方源更佳的阅读体验。 +### News {#canadian-broadcasting-corporation-news} -<Route author="wb14123" example="/cbc/topics" path="/cbc/topics/:topic?" paramsDesc={['CBC 频道。默认为 Top Stories。二级话题如 canada/toronto,需要用 `-` 替换掉 `/`。']}/> +<Route author="wb14123" example="/cbc/topics" path="/cbc/topics/:topic?" paramsDesc={['Channel,`Top Stories` by default. For secondary channel like `canada/toronto`, use `-` to replace `/`']} radar="1"/> ## Chicago Tribune {#chicago-tribune} diff --git a/website/docs/routes/university.md b/website/docs/routes/university.md index c4341e2706b642..f3db65573e6ea0 100644 --- a/website/docs/routes/university.md +++ b/website/docs/routes/university.md @@ -1813,6 +1813,16 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS ::: +### 机械与汽车工程学院 - 通知公告 {#hua-nan-li-gong-da-xue-ji-xie-yu-qi-che-gong-cheng-xue-yuan-tong-zhi-gong-gao} + +<Route author="Ermaotie" example="/scut/smae/yjsjw" path="/scut/smae/:category?" radar="1" paramsDesc={['通知分类,默认为 `yjsjw`']}> + +| 公务信息 | 党建工作 | 人事工作 | 学生工作 | 科研实验室 | 本科生教务 | 研究生教务 | +| ------- | ------- | -------- | ------- | --------- | --------- | --------- | +| gwxx | djgz | rsgz | xsgz | kysys | bksjw | yjsjw | + +</Route> + ## 华南农业大学 {#hua-nan-nong-ye-da-xue} ### 华农研讯 {#hua-nan-nong-ye-da-xue-hua-nong-yan-xun} @@ -2531,6 +2541,22 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS </Route> +## 厦门理工大学 {#xia-men-li-gong-da-xue} + +### 教务处 {#xia-men-li-gong-da-xue-jiao-wu-chu} + +<Route author="icecliffs" example="/xmut/jwc/bkjw/jxyx" path="/xmut/jwc/:type/:method" paramsDesc={['系统类型,分为 `bkjw` 本科生教务处, `yjjw` 研究生处', '分类如下表']} > + +| 本科生教务处 | 系统说明 | 研究生处 | 系统说明 | +| :------: | :--------: | :--------: | :-------: | +| jxyx | 教学运行 | tzgg | 通知公告 | +| zhsw | 综合事务 | xwdt | 新闻动态 | +| xwgl | 学务管理 | xstj | 学术研究 | +| sjjx | 实践教学 | yjsjw | 工作简讯 | +| jyjg | 教研教改 | | | + +</Route> + ## 山东大学 {#shan-dong-da-xue} ### 软件学院通知 {#shan-dong-da-xue-ruan-jian-xue-yuan-tong-zhi} @@ -3424,6 +3450,18 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS </Route> +## 新乡医学院三全学院 {#xin-xiang-yi-xue-yuan-san-quan-xue-yuan} + +### 官网信息 {#xin-xiang-yi-xue-yuan-san-quan-xue-yuan-guan-wang-xin-xi} + +<Route author="nyaShine" example="/sqmc/www/3157" path="/sqmc/www/:category?" paramsDesc={['分类ID,默认为`3157`']} radar="1"> + +| 学校要闻 | 通知 | 学术讲座 | 基层风采书院 | 基层风采院系 | 外媒报道 | 三全学院报 | +| -------- | -------- | -------- | -------- | -------- | -------- | -------- | +| 3157 | 3187 | 3188 | 3185 | 3186 | 3199 | 3200 | + +</Route> + ## 信阳师范学院 {#xin-yang-shi-fan-xue-yuan} ### 高等教育自学考试办公室 {#xin-yang-shi-fan-xue-yuan-gao-deng-jiao-yu-zi-xue-kao-shi-ban-gong-shi} diff --git a/website/package.json b/website/package.json index db1dd881df9c13..11ec159715acbf 100644 --- a/website/package.json +++ b/website/package.json @@ -17,10 +17,10 @@ }, "dependencies": { "@dipakparmar/docusaurus-plugin-umami": "^2.1.0", - "@docusaurus/core": "2.4.1", - "@docusaurus/plugin-client-redirects": "2.4.1", - "@docusaurus/plugin-pwa": "2.4.1", - "@docusaurus/preset-classic": "2.4.1", + "@docusaurus/core": "2.4.3", + "@docusaurus/plugin-client-redirects": "2.4.3", + "@docusaurus/plugin-pwa": "2.4.3", + "@docusaurus/preset-classic": "2.4.3", "@mdx-js/react": "^1.6.22", "clsx": "^2.0.0", "markdown-it": "^13.0.1", @@ -31,9 +31,9 @@ "react-dom": "^17.0.2" }, "devDependencies": { - "@docusaurus/module-type-aliases": "2.4.1", - "@docusaurus/types": "2.4.1", - "@tsconfig/docusaurus": "^2.0.0", + "@docusaurus/module-type-aliases": "2.4.3", + "@docusaurus/types": "2.4.3", + "@tsconfig/docusaurus": "^2.0.1", "@types/markdown-it": "^13.0.1", "@types/mdx-js__react": "^1.5.5", "@types/react": "^17.0.64", diff --git a/website/pnpm-lock.yaml b/website/pnpm-lock.yaml index 6dff6a12191f6f..f7c88b55c6db69 100644 --- a/website/pnpm-lock.yaml +++ b/website/pnpm-lock.yaml @@ -9,17 +9,17 @@ dependencies: specifier: ^2.1.0 version: 2.1.0(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) '@docusaurus/core': - specifier: 2.4.1 - version: 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + specifier: 2.4.3 + version: 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) '@docusaurus/plugin-client-redirects': - specifier: 2.4.1 - version: 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + specifier: 2.4.3 + version: 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) '@docusaurus/plugin-pwa': - specifier: 2.4.1 - version: 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + specifier: 2.4.3 + version: 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) '@docusaurus/preset-classic': - specifier: 2.4.1 - version: 2.4.1(@algolia/client-search@4.19.1)(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.7.0)(typescript@5.2.2) + specifier: 2.4.3 + version: 2.4.3(@algolia/client-search@4.20.0)(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.8.2)(typescript@5.2.2) '@mdx-js/react': specifier: ^1.6.22 version: 1.6.22(react@17.0.2) @@ -47,14 +47,14 @@ dependencies: devDependencies: '@docusaurus/module-type-aliases': - specifier: 2.4.1 - version: 2.4.1(react-dom@17.0.2)(react@17.0.2) + specifier: 2.4.3 + version: 2.4.3(react-dom@17.0.2)(react@17.0.2) '@docusaurus/types': - specifier: 2.4.1 - version: 2.4.1(react-dom@17.0.2)(react@17.0.2) + specifier: 2.4.3 + version: 2.4.3(react-dom@17.0.2)(react@17.0.2) '@tsconfig/docusaurus': - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^2.0.1 + version: 2.0.1 '@types/markdown-it': specifier: ^13.0.1 version: 13.0.1 @@ -73,142 +73,142 @@ devDependencies: packages: - /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.7.0): + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.2): resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.7.0) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.2) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights dev: false - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.7.0): + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.2): resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1) - search-insights: 2.7.0 + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) + search-insights: 2.8.2 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch dev: false - /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1): + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0): resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1) - '@algolia/client-search': 4.19.1 - algoliasearch: 4.19.1 + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) + '@algolia/client-search': 4.20.0 + algoliasearch: 4.20.0 dev: false - /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1): + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0): resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/client-search': 4.19.1 - algoliasearch: 4.19.1 + '@algolia/client-search': 4.20.0 + algoliasearch: 4.20.0 dev: false - /@algolia/cache-browser-local-storage@4.19.1: - resolution: {integrity: sha512-FYAZWcGsFTTaSAwj9Std8UML3Bu8dyWDncM7Ls8g+58UOe4XYdlgzXWbrIgjaguP63pCCbMoExKr61B+ztK3tw==} + /@algolia/cache-browser-local-storage@4.20.0: + resolution: {integrity: sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==} dependencies: - '@algolia/cache-common': 4.19.1 + '@algolia/cache-common': 4.20.0 dev: false - /@algolia/cache-common@4.19.1: - resolution: {integrity: sha512-XGghi3l0qA38HiqdoUY+wvGyBsGvKZ6U3vTiMBT4hArhP3fOGLXpIINgMiiGjTe4FVlTa5a/7Zf2bwlIHfRqqg==} + /@algolia/cache-common@4.20.0: + resolution: {integrity: sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==} dev: false - /@algolia/cache-in-memory@4.19.1: - resolution: {integrity: sha512-+PDWL+XALGvIginigzu8oU6eWw+o76Z8zHbBovWYcrtWOEtinbl7a7UTt3x3lthv+wNuFr/YD1Gf+B+A9V8n5w==} + /@algolia/cache-in-memory@4.20.0: + resolution: {integrity: sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==} dependencies: - '@algolia/cache-common': 4.19.1 + '@algolia/cache-common': 4.20.0 dev: false - /@algolia/client-account@4.19.1: - resolution: {integrity: sha512-Oy0ritA2k7AMxQ2JwNpfaEcgXEDgeyKu0V7E7xt/ZJRdXfEpZcwp9TOg4TJHC7Ia62gIeT2Y/ynzsxccPw92GA==} + /@algolia/client-account@4.20.0: + resolution: {integrity: sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==} dependencies: - '@algolia/client-common': 4.19.1 - '@algolia/client-search': 4.19.1 - '@algolia/transporter': 4.19.1 + '@algolia/client-common': 4.20.0 + '@algolia/client-search': 4.20.0 + '@algolia/transporter': 4.20.0 dev: false - /@algolia/client-analytics@4.19.1: - resolution: {integrity: sha512-5QCq2zmgdZLIQhHqwl55ZvKVpLM3DNWjFI4T+bHr3rGu23ew2bLO4YtyxaZeChmDb85jUdPDouDlCumGfk6wOg==} + /@algolia/client-analytics@4.20.0: + resolution: {integrity: sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==} dependencies: - '@algolia/client-common': 4.19.1 - '@algolia/client-search': 4.19.1 - '@algolia/requester-common': 4.19.1 - '@algolia/transporter': 4.19.1 + '@algolia/client-common': 4.20.0 + '@algolia/client-search': 4.20.0 + '@algolia/requester-common': 4.20.0 + '@algolia/transporter': 4.20.0 dev: false - /@algolia/client-common@4.19.1: - resolution: {integrity: sha512-3kAIVqTcPrjfS389KQvKzliC559x+BDRxtWamVJt8IVp7LGnjq+aVAXg4Xogkur1MUrScTZ59/AaUd5EdpyXgA==} + /@algolia/client-common@4.20.0: + resolution: {integrity: sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==} dependencies: - '@algolia/requester-common': 4.19.1 - '@algolia/transporter': 4.19.1 + '@algolia/requester-common': 4.20.0 + '@algolia/transporter': 4.20.0 dev: false - /@algolia/client-personalization@4.19.1: - resolution: {integrity: sha512-8CWz4/H5FA+krm9HMw2HUQenizC/DxUtsI5oYC0Jxxyce1vsr8cb1aEiSJArQT6IzMynrERif1RVWLac1m36xw==} + /@algolia/client-personalization@4.20.0: + resolution: {integrity: sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==} dependencies: - '@algolia/client-common': 4.19.1 - '@algolia/requester-common': 4.19.1 - '@algolia/transporter': 4.19.1 + '@algolia/client-common': 4.20.0 + '@algolia/requester-common': 4.20.0 + '@algolia/transporter': 4.20.0 dev: false - /@algolia/client-search@4.19.1: - resolution: {integrity: sha512-mBecfMFS4N+yK/p0ZbK53vrZbL6OtWMk8YmnOv1i0LXx4pelY8TFhqKoTit3NPVPwoSNN0vdSN9dTu1xr1XOVw==} + /@algolia/client-search@4.20.0: + resolution: {integrity: sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==} dependencies: - '@algolia/client-common': 4.19.1 - '@algolia/requester-common': 4.19.1 - '@algolia/transporter': 4.19.1 + '@algolia/client-common': 4.20.0 + '@algolia/requester-common': 4.20.0 + '@algolia/transporter': 4.20.0 dev: false /@algolia/events@4.0.1: resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} dev: false - /@algolia/logger-common@4.19.1: - resolution: {integrity: sha512-i6pLPZW/+/YXKis8gpmSiNk1lOmYCmRI6+x6d2Qk1OdfvX051nRVdalRbEcVTpSQX6FQAoyeaui0cUfLYW5Elw==} + /@algolia/logger-common@4.20.0: + resolution: {integrity: sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==} dev: false - /@algolia/logger-console@4.19.1: - resolution: {integrity: sha512-jj72k9GKb9W0c7TyC3cuZtTr0CngLBLmc8trzZlXdfvQiigpUdvTi1KoWIb2ZMcRBG7Tl8hSb81zEY3zI2RlXg==} + /@algolia/logger-console@4.20.0: + resolution: {integrity: sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==} dependencies: - '@algolia/logger-common': 4.19.1 + '@algolia/logger-common': 4.20.0 dev: false - /@algolia/requester-browser-xhr@4.19.1: - resolution: {integrity: sha512-09K/+t7lptsweRTueHnSnmPqIxbHMowejAkn9XIcJMLdseS3zl8ObnS5GWea86mu3vy4+8H+ZBKkUN82Zsq/zg==} + /@algolia/requester-browser-xhr@4.20.0: + resolution: {integrity: sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==} dependencies: - '@algolia/requester-common': 4.19.1 + '@algolia/requester-common': 4.20.0 dev: false - /@algolia/requester-common@4.19.1: - resolution: {integrity: sha512-BisRkcWVxrDzF1YPhAckmi2CFYK+jdMT60q10d7z3PX+w6fPPukxHRnZwooiTUrzFe50UBmLItGizWHP5bDzVQ==} + /@algolia/requester-common@4.20.0: + resolution: {integrity: sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==} dev: false - /@algolia/requester-node-http@4.19.1: - resolution: {integrity: sha512-6DK52DHviBHTG2BK/Vv2GIlEw7i+vxm7ypZW0Z7vybGCNDeWzADx+/TmxjkES2h15+FZOqVf/Ja677gePsVItA==} + /@algolia/requester-node-http@4.20.0: + resolution: {integrity: sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==} dependencies: - '@algolia/requester-common': 4.19.1 + '@algolia/requester-common': 4.20.0 dev: false - /@algolia/transporter@4.19.1: - resolution: {integrity: sha512-nkpvPWbpuzxo1flEYqNIbGz7xhfhGOKGAZS7tzC+TELgEmi7z99qRyTfNSUlW7LZmB3ACdnqAo+9A9KFBENviQ==} + /@algolia/transporter@4.20.0: + resolution: {integrity: sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==} dependencies: - '@algolia/cache-common': 4.19.1 - '@algolia/logger-common': 4.19.1 - '@algolia/requester-common': 4.19.1 + '@algolia/cache-common': 4.20.0 + '@algolia/logger-common': 4.20.0 + '@algolia/requester-common': 4.20.0 dev: false /@ampproject/remapping@2.2.1: @@ -231,16 +231,16 @@ packages: leven: 3.1.0 dev: false - /@babel/code-frame@7.22.10: - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.10 + '@babel/highlight': 7.22.20 chalk: 2.4.2 dev: false - /@babel/compat-data@7.22.9: - resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} + /@babel/compat-data@7.22.20: + resolution: {integrity: sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==} engines: {node: '>=6.9.0'} dev: false @@ -248,40 +248,40 @@ packages: resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.12.9) - '@babel/helpers': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.22.15 + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.12.9) + '@babel/helpers': 7.22.15 + '@babel/parser': 7.22.16 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.20 + '@babel/types': 7.22.19 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 lodash: 4.17.21 - resolve: 1.22.4 + resolve: 1.22.6 semver: 5.7.2 source-map: 0.5.7 transitivePeerDependencies: - supports-color dev: false - /@babel/core@7.22.10: - resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} + /@babel/core@7.22.20: + resolution: {integrity: sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) - '@babel/helpers': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) + '@babel/helpers': 7.22.15 + '@babel/parser': 7.22.16 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.20 + '@babel/types': 7.22.19 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -291,11 +291,11 @@ packages: - supports-color dev: false - /@babel/generator@7.22.10: - resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} + /@babel/generator@7.22.15: + resolution: {integrity: sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.19 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 @@ -305,74 +305,74 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.19 dev: false - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.10: - resolution: {integrity: sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.19 dev: false - /@babel/helper-compilation-targets@7.22.10: - resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.22.9 - '@babel/helper-validator-option': 7.22.5 + '@babel/compat-data': 7.22.20 + '@babel/helper-validator-option': 7.22.15 browserslist: 4.21.10 lru-cache: 5.1.1 semver: 6.3.1 dev: false - /@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==} + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.20) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: false - /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: false - /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.10): + /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.20): resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/core': 7.22.20 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.4 + resolve: 1.22.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-environment-visitor@7.22.5: - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} dev: false @@ -380,64 +380,64 @@ packages: resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 + '@babel/template': 7.22.15 + '@babel/types': 7.22.19 dev: false /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.19 dev: false - /@babel/helper-member-expression-to-functions@7.22.5: - resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} + /@babel/helper-member-expression-to-functions@7.22.15: + resolution: {integrity: sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.19 dev: false - /@babel/helper-module-imports@7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.19 dev: false - /@babel/helper-module-transforms@7.22.9(@babel/core@7.12.9): - resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + /@babel/helper-module-transforms@7.22.20(@babel/core@7.12.9): + resolution: {integrity: sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 dev: false - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + /@babel/helper-module-transforms@7.22.20(@babel/core@7.22.20): + resolution: {integrity: sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.22.20 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 dev: false /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.19 dev: false /@babel/helper-plugin-utils@7.10.4: @@ -449,27 +449,27 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.22.20): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-wrap-function': 7.22.10 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 dev: false - /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + /@babel/helper-replace-supers@7.22.20(@babel/core@7.22.20): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/core': 7.22.20 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 dev: false @@ -477,21 +477,21 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.19 dev: false /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.19 dev: false /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.19 dev: false /@babel/helper-string-parser@7.22.5: @@ -499,176 +499,177 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} dev: false - /@babel/helper-validator-option@7.22.5: - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} engines: {node: '>=6.9.0'} dev: false - /@babel/helper-wrap-function@7.22.10: - resolution: {integrity: sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==} + /@babel/helper-wrap-function@7.22.20: + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.22.5 - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 + '@babel/template': 7.22.15 + '@babel/types': 7.22.19 dev: false - /@babel/helpers@7.22.10: - resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} + /@babel/helpers@7.22.15: + resolution: {integrity: sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.20 + '@babel/types': 7.22.19 transitivePeerDependencies: - supports-color dev: false - /@babel/highlight@7.22.10: - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} + /@babel/highlight@7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 dev: false - /@babel/parser@7.22.10: - resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} + /@babel/parser@7.22.16: + resolution: {integrity: sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.19 dev: false - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.20) dev: false /@babel/plugin-proposal-object-rest-spread@7.12.1(@babel/core@7.12.9): resolution: {integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.10.4 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.12.9) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.12.9) dev: false - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.10): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.20): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 dev: false - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.10): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.20): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.10): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.20): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.10): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.20): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.10): + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.10): + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.10): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.20): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false @@ -681,40 +682,40 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.10): + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.10): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.20): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.10): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.20): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false @@ -727,449 +728,449 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.10): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.20): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.10): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.20): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.10): + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.10): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.20): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-async-generator-functions@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==} + /@babel/plugin-transform-async-generator-functions@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/core': 7.22.20 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.10) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.22.20) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.22.20 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.10) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-block-scoping@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==} + /@babel/plugin-transform-block-scoping@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-G1czpdJBZCtngoK1sJgloLiOHUnkb/bLZwqVZD8kXmq0ZnVfTTWUcs9OWtp0mBtYJ+4LQY1fllqBkOIPhXmFmw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} + /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.10) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.10): - resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} + /@babel/plugin-transform-classes@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.20) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: false - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.5 + '@babel/template': 7.22.15 dev: false - /@babel/plugin-transform-destructuring@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==} + /@babel/plugin-transform-destructuring@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} + /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.10 + '@babel/core': 7.22.20 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} + /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} + /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/core': 7.22.20 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} + /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} + /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} + /@babel/plugin-transform-modules-commonjs@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-jWL4eh90w0HQOTKP2MoXXUpVxilxsB2Vl4ji69rSjS3EcZ/v4sBmn+A3NpepuJzBhOaEBbR7udonlHHn5DWidg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: false - /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} + /@babel/plugin-transform-modules-systemjs@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 dev: false - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} + /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} + /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} + /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/compat-data': 7.22.20 + '@babel/core': 7.22.20 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} + /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-optional-chaining@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==} + /@babel/plugin-transform-optional-chaining@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.12.9): - resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.12.9): + resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1178,379 +1179,396 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} + /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.22.20): + resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.10) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-constant-elements@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-react-constant-elements@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} + /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/types': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.20) + '@babel/types': 7.22.19 dev: false - /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.10): + /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.20): resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 dev: false - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-runtime@7.22.10(@babel/core@7.22.10): + /@babel/plugin-transform-runtime@7.22.10(@babel/core@7.22.20): resolution: {integrity: sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.20) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.20) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.20) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/plugin-transform-runtime@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-tEVLhk8NRZSmwQ0DJtxxhTrCht1HVo8VaMzYT4w6lwyKBuHsgoioAUA7/6eT2fRfc5/23fuGdlwIxXhRVgWr4g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.20 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.10) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.10) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.10) + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.20) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.20) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.20) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-typescript@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==} + /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.20) dev: false - /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.10): + /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.20): resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.20): resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/preset-env@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==} + /@babel/preset-env@7.22.20(@babel/core@7.22.20): + resolution: {integrity: sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/compat-data': 7.22.20 + '@babel/core': 7.22.20 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.10) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.10) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.10) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.10) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.10) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.10) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-async-generator-functions': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.10) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.10) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.22.10) - '@babel/types': 7.22.10 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.10) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.10) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.10) - core-js-compat: 3.32.1 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.20) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.20) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.20) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.20) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.20) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.20) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.20) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.20) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.20) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.20) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-async-generator-functions': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-modules-systemjs': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.22.20) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.20) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.20) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.20) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.22.20) + '@babel/types': 7.22.19 + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.20) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.20) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.20) + core-js-compat: 3.32.2 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.22.10): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.22.20): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.22.10 + '@babel/types': 7.22.19 esutils: 2.0.3 dev: false - /@babel/preset-react@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==} + /@babel/preset-react@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.22.10) + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.22.20) dev: false - /@babel/preset-typescript@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==} + /@babel/preset-typescript@7.22.15(@babel/core@7.22.20): + resolution: {integrity: sha512-HblhNmh6yM+cU4VwbBRpxFhxsTdfS1zsvH9W+gEjD0ARV9+8B4sNfpI6GuhePti84nuvhiwKS539jKPFHskA9A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.22.10) + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.20) dev: false /@babel/regjsgen@0.8.0: @@ -1561,49 +1579,57 @@ packages: resolution: {integrity: sha512-IcixfV2Jl3UrqZX4c81+7lVg5++2ufYJyAFW3Aux/ZTvY6LVYYhJ9rMgnbX0zGVq6eqfVpnoatTjZdVki/GmWA==} engines: {node: '>=6.9.0'} dependencies: - core-js-pure: 3.32.1 + core-js-pure: 3.32.2 regenerator-runtime: 0.14.0 dev: false - /@babel/runtime@7.22.10: - resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} + /@babel/runtime-corejs3@7.22.15: + resolution: {integrity: sha512-SAj8oKi8UogVi6eXQXKNPu8qZ78Yzy7zawrlTr0M+IuW/g8Qe9gVDhGcF9h1S69OyACpYoLxEzpjs1M15sI5wQ==} engines: {node: '>=6.9.0'} dependencies: + core-js-pure: 3.32.2 regenerator-runtime: 0.14.0 + dev: false - /@babel/template@7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + /@babel/runtime@7.22.15: + resolution: {integrity: sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + regenerator-runtime: 0.14.0 + + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.22.16 + '@babel/types': 7.22.19 dev: false - /@babel/traverse@7.22.10: - resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} + /@babel/traverse@7.22.20: + resolution: {integrity: sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.22.15 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.22.16 + '@babel/types': 7.22.19 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: false - /@babel/types@7.22.10: - resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} + /@babel/types@7.22.19: + resolution: {integrity: sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 dev: false @@ -1650,7 +1676,7 @@ packages: resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} dev: false - /@docsearch/react@3.5.2(@algolia/client-search@4.19.1)(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.7.0): + /@docsearch/react@3.5.2(@algolia/client-search@4.20.0)(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.8.2): resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -1667,14 +1693,14 @@ packages: search-insights: optional: true dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.7.0) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1) + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.2) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) '@docsearch/css': 3.5.2 '@types/react': 17.0.64 - algoliasearch: 4.19.1 + algoliasearch: 4.20.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - search-insights: 2.7.0 + search-insights: 2.8.2 transitivePeerDependencies: - '@algolia/client-search' dev: false @@ -1687,16 +1713,16 @@ packages: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-transform-runtime': 7.22.10(@babel/core@7.22.10) - '@babel/preset-env': 7.22.10(@babel/core@7.22.10) - '@babel/preset-react': 7.22.5(@babel/core@7.22.10) - '@babel/preset-typescript': 7.22.5(@babel/core@7.22.10) - '@babel/runtime': 7.22.10 + '@babel/core': 7.22.20 + '@babel/generator': 7.22.15 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-transform-runtime': 7.22.10(@babel/core@7.22.20) + '@babel/preset-env': 7.22.20(@babel/core@7.22.20) + '@babel/preset-react': 7.22.15(@babel/core@7.22.20) + '@babel/preset-typescript': 7.22.15(@babel/core@7.22.20) + '@babel/runtime': 7.22.15 '@babel/runtime-corejs3': 7.22.10 - '@babel/traverse': 7.22.10 + '@babel/traverse': 7.22.20 '@docusaurus/cssnano-preset': 2.4.1 '@docusaurus/logger': 2.4.1 '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2) @@ -1707,7 +1733,7 @@ packages: '@slorber/static-site-generator-webpack-plugin': 4.0.7 '@svgr/webpack': 6.5.1 autoprefixer: 10.4.15(postcss@8.4.28) - babel-loader: 8.3.0(@babel/core@7.22.10)(webpack@5.88.2) + babel-loader: 8.3.0(@babel/core@7.22.20)(webpack@5.88.2) babel-plugin-dynamic-import-node: 2.3.3 boxen: 6.2.1 chalk: 4.1.2 @@ -1717,7 +1743,7 @@ packages: combine-promises: 1.2.0 commander: 5.1.0 copy-webpack-plugin: 11.0.0(webpack@5.88.2) - core-js: 3.32.1 + core-js: 3.32.2 css-loader: 6.8.1(webpack@5.88.2) css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.2)(webpack@5.88.2) cssnano: 5.1.15(postcss@8.4.28) @@ -1735,7 +1761,7 @@ packages: lodash: 4.17.21 mini-css-extract-plugin: 2.7.6(webpack@5.88.2) postcss: 8.4.28 - postcss-loader: 7.3.3(postcss@8.4.28)(webpack@5.88.2) + postcss-loader: 7.3.3(postcss@8.4.28)(typescript@5.2.2)(webpack@5.88.2) prompts: 2.4.2 react: 17.0.2 react-dev-utils: 12.0.1(typescript@5.2.2)(webpack@5.88.2) @@ -1779,6 +1805,106 @@ packages: - webpack-cli dev: false + /@docusaurus/core@2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): + resolution: {integrity: sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA==} + engines: {node: '>=16.14'} + hasBin: true + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@babel/core': 7.22.20 + '@babel/generator': 7.22.15 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-transform-runtime': 7.22.15(@babel/core@7.22.20) + '@babel/preset-env': 7.22.20(@babel/core@7.22.20) + '@babel/preset-react': 7.22.15(@babel/core@7.22.20) + '@babel/preset-typescript': 7.22.15(@babel/core@7.22.20) + '@babel/runtime': 7.22.15 + '@babel/runtime-corejs3': 7.22.15 + '@babel/traverse': 7.22.20 + '@docusaurus/cssnano-preset': 2.4.3 + '@docusaurus/logger': 2.4.3 + '@docusaurus/mdx-loader': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/react-loadable': 5.5.2(react@17.0.2) + '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-common': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) + '@slorber/static-site-generator-webpack-plugin': 4.0.7 + '@svgr/webpack': 6.5.1 + autoprefixer: 10.4.16(postcss@8.4.30) + babel-loader: 8.3.0(@babel/core@7.22.20)(webpack@5.88.2) + babel-plugin-dynamic-import-node: 2.3.3 + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.5.3 + clean-css: 5.3.2 + cli-table3: 0.6.3 + combine-promises: 1.2.0 + commander: 5.1.0 + copy-webpack-plugin: 11.0.0(webpack@5.88.2) + core-js: 3.32.2 + css-loader: 6.8.1(webpack@5.88.2) + css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.2)(webpack@5.88.2) + cssnano: 5.1.15(postcss@8.4.30) + del: 6.1.1 + detect-port: 1.5.1 + escape-html: 1.0.3 + eta: 2.2.0 + file-loader: 6.2.0(webpack@5.88.2) + fs-extra: 10.1.0 + html-minifier-terser: 6.1.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.5.3(webpack@5.88.2) + import-fresh: 3.3.0 + leven: 3.1.0 + lodash: 4.17.21 + mini-css-extract-plugin: 2.7.6(webpack@5.88.2) + postcss: 8.4.30 + postcss-loader: 7.3.3(postcss@8.4.30)(typescript@5.2.2)(webpack@5.88.2) + prompts: 2.4.2 + react: 17.0.2 + react-dev-utils: 12.0.1(typescript@5.2.2)(webpack@5.88.2) + react-dom: 17.0.2(react@17.0.2) + react-helmet-async: 1.3.0(react-dom@17.0.2)(react@17.0.2) + react-loadable: /@docusaurus/react-loadable@5.5.2(react@17.0.2) + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.88.2) + react-router: 5.3.4(react@17.0.2) + react-router-config: 5.1.1(react-router@5.3.4)(react@17.0.2) + react-router-dom: 5.3.4(react@17.0.2) + rtl-detect: 1.0.4 + semver: 7.5.4 + serve-handler: 6.1.5 + shelljs: 0.8.5 + terser-webpack-plugin: 5.3.9(webpack@5.88.2) + tslib: 2.6.2 + update-notifier: 5.1.0 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.88.2) + wait-on: 6.0.1 + webpack: 5.88.2 + webpack-bundle-analyzer: 4.9.1 + webpack-dev-server: 4.15.1(webpack@5.88.2) + webpack-merge: 5.9.0 + webpackbar: 5.0.2(webpack@5.88.2) + transitivePeerDependencies: + - '@docusaurus/types' + - '@parcel/css' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + dev: false + /@docusaurus/cssnano-preset@2.4.1: resolution: {integrity: sha512-ka+vqXwtcW1NbXxWsh6yA1Ckii1klY9E53cJ4O9J09nkMBgrNX3iEFED1fWdv8wf4mJjvGi5RLZ2p9hJNjsLyQ==} engines: {node: '>=16.14'} @@ -1789,6 +1915,16 @@ packages: tslib: 2.6.2 dev: false + /@docusaurus/cssnano-preset@2.4.3: + resolution: {integrity: sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA==} + engines: {node: '>=16.14'} + dependencies: + cssnano-preset-advanced: 5.3.10(postcss@8.4.30) + postcss: 8.4.30 + postcss-sort-media-queries: 4.4.1(postcss@8.4.30) + tslib: 2.6.2 + dev: false + /@docusaurus/logger@2.4.1: resolution: {integrity: sha512-5h5ysIIWYIDHyTVd8BjheZmQZmEgWDR54aQ1BX9pjFfpyzFo5puKXKYrYJXbjEHGyVhEzmB9UXwbxGfaZhOjcg==} engines: {node: '>=16.14'} @@ -1797,6 +1933,14 @@ packages: tslib: 2.6.2 dev: false + /@docusaurus/logger@2.4.3: + resolution: {integrity: sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w==} + engines: {node: '>=16.14'} + dependencies: + chalk: 4.1.2 + tslib: 2.6.2 + dev: false + /@docusaurus/mdx-loader@2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-4KhUhEavteIAmbBj7LVFnrVYDiU51H5YWW1zY6SmBSte/YLhDutztLTBE0PQl1Grux1jzUJeaSvAzHpTn6JJDQ==} engines: {node: '>=16.14'} @@ -1804,8 +1948,8 @@ packages: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@babel/parser': 7.22.10 - '@babel/traverse': 7.22.10 + '@babel/parser': 7.22.16 + '@babel/traverse': 7.22.20 '@docusaurus/logger': 2.4.1 '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1) '@mdx-js/mdx': 1.6.22 @@ -1832,14 +1976,49 @@ packages: - webpack-cli dev: false - /@docusaurus/module-type-aliases@2.4.1(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-gLBuIFM8Dp2XOCWffUDSjtxY7jQgKvYujt7Mx5s4FCTfoL5dN1EVbnrn+O2Wvh8b0a77D57qoIDY7ghgmatR1A==} + /@docusaurus/mdx-loader@2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw==} + engines: {node: '>=16.14'} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@babel/parser': 7.22.16 + '@babel/traverse': 7.22.20 + '@docusaurus/logger': 2.4.3 + '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) + '@mdx-js/mdx': 1.6.22 + escape-html: 1.0.3 + file-loader: 6.2.0(webpack@5.88.2) + fs-extra: 10.1.0 + image-size: 1.0.2 + mdast-util-to-string: 2.0.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + remark-emoji: 2.2.0 + stringify-object: 3.3.0 + tslib: 2.6.2 + unified: 9.2.2 + unist-util-visit: 2.0.3 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.88.2) + webpack: 5.88.2 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - uglify-js + - webpack-cli + dev: false + + /@docusaurus/module-type-aliases@2.4.3(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-cwkBkt1UCiduuvEAo7XZY01dJfRn7UR/75mBgOdb1hKknhrabJZ8YH+7savd/y9kLExPyrhe0QwdS9GuzsRRIA==} peerDependencies: react: '*' react-dom: '*' dependencies: '@docusaurus/react-loadable': 5.5.2(react@17.0.2) - '@docusaurus/types': 2.4.1(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) '@types/history': 4.7.11 '@types/react': 17.0.64 '@types/react-router-config': 5.0.7 @@ -1854,18 +2033,18 @@ packages: - uglify-js - webpack-cli - /@docusaurus/plugin-client-redirects@2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): - resolution: {integrity: sha512-tp0j16gaLIJ4p+IR0P6KDOFsTOGGMY54MNPnmM61Vaqqt5omLqsuKUO8UlCGU1oW/4EIQOhXYy99XYY5MjE+7A==} + /@docusaurus/plugin-client-redirects@2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): + resolution: {integrity: sha512-iCwc/zH8X6eNtLYdyUJFY6+GbsbRgMgvAC/TmSmCYTmwnoN5Y1Bc5OwUkdtoch0XKizotJMRAmGIAhP8sAetdQ==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/logger': 2.4.1 - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1) - '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1) + '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/logger': 2.4.3 + '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-common': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) eta: 2.2.0 fs-extra: 10.1.0 lodash: 4.17.21 @@ -1891,20 +2070,20 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-blog@2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): - resolution: {integrity: sha512-E2i7Knz5YIbE1XELI6RlTnZnGgS52cUO4BlCiCUCvQHbR+s1xeIWz4C6BtaVnlug0Ccz7nFSksfwDpVlkujg5Q==} + /@docusaurus/plugin-content-blog@2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): + resolution: {integrity: sha512-PVhypqaA0t98zVDpOeTqWUTvRqCEjJubtfFUQ7zJNYdbYTbS/E/ytq6zbLVsN/dImvemtO/5JQgjLxsh8XLo8Q==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/logger': 2.4.1 - '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/types': 2.4.1(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1) - '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1) + '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/logger': 2.4.3 + '@docusaurus/mdx-loader': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-common': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) cheerio: 1.0.0-rc.12 feed: 4.2.2 fs-extra: 10.1.0 @@ -1934,20 +2113,20 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-docs@2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): - resolution: {integrity: sha512-Lo7lSIcpswa2Kv4HEeUcGYqaasMUQNpjTXpV0N8G6jXgZaQurqp7E8NGYeGbDXnb48czmHWbzDL4S3+BbK0VzA==} + /@docusaurus/plugin-content-docs@2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): + resolution: {integrity: sha512-N7Po2LSH6UejQhzTCsvuX5NOzlC+HiXOVvofnEPj0WhMu1etpLEXE6a4aTxrtg95lQ5kf0xUIdjX9sh3d3G76A==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/logger': 2.4.1 - '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/module-type-aliases': 2.4.1(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/types': 2.4.1(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1) + '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/logger': 2.4.3 + '@docusaurus/mdx-loader': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/module-type-aliases': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) '@types/react-router-config': 5.0.7 combine-promises: 1.2.0 fs-extra: 10.1.0 @@ -1977,18 +2156,18 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-pages@2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): - resolution: {integrity: sha512-/UjuH/76KLaUlL+o1OvyORynv6FURzjurSjvn2lbWTFc4tpYY2qLYTlKpTCBVPhlLUQsfyFnshEJDLmPneq2oA==} + /@docusaurus/plugin-content-pages@2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): + resolution: {integrity: sha512-txtDVz7y3zGk67q0HjG0gRttVPodkHqE0bpJ+7dOaTH40CQFLSh7+aBeGnPOTl+oCPG+hxkim4SndqPqXjQ8Bg==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/types': 2.4.1(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1) + '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/mdx-loader': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) fs-extra: 10.1.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -2012,16 +2191,16 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-debug@2.4.1(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): - resolution: {integrity: sha512-7Yu9UPzRShlrH/G8btOpR0e6INFZr0EegWplMjOqelIwAcx3PKyR8mgPTxGTxcqiYj6hxSCRN0D8R7YrzImwNA==} + /@docusaurus/plugin-debug@2.4.3(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): + resolution: {integrity: sha512-LkUbuq3zCmINlFb+gAd4ZvYr+bPAzMC0hwND4F7V9bZ852dCX8YoWyovVUBKq4er1XsOwSQaHmNGtObtn8Av8Q==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/types': 2.4.1(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1) + '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) fs-extra: 10.1.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -2047,16 +2226,16 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-analytics@2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): - resolution: {integrity: sha512-dyZJdJiCoL+rcfnm0RPkLt/o732HvLiEwmtoNzOoz9MSZz117UH2J6U2vUDtzUzwtFLIf32KkeyzisbwUCgcaQ==} + /@docusaurus/plugin-google-analytics@2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): + resolution: {integrity: sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/types': 2.4.1(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1) + '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) react: 17.0.2 react-dom: 17.0.2(react@17.0.2) tslib: 2.6.2 @@ -2078,16 +2257,16 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-gtag@2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): - resolution: {integrity: sha512-mKIefK+2kGTQBYvloNEKtDmnRD7bxHLsBcxgnbt4oZwzi2nxCGjPX6+9SQO2KCN5HZbNrYmGo5GJfMgoRvy6uA==} + /@docusaurus/plugin-google-gtag@2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): + resolution: {integrity: sha512-5FMg0rT7sDy4i9AGsvJC71MQrqQZwgLNdDetLEGDHLfSHLvJhQbTCUGbGXknUgWXQJckcV/AILYeJy+HhxeIFA==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/types': 2.4.1(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1) + '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) react: 17.0.2 react-dom: 17.0.2(react@17.0.2) tslib: 2.6.2 @@ -2109,16 +2288,16 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-tag-manager@2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): - resolution: {integrity: sha512-Zg4Ii9CMOLfpeV2nG74lVTWNtisFaH9QNtEw48R5QE1KIwDBdTVaiSA18G1EujZjrzJJzXN79VhINSbOJO/r3g==} + /@docusaurus/plugin-google-tag-manager@2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): + resolution: {integrity: sha512-1jTzp71yDGuQiX9Bi0pVp3alArV0LSnHXempvQTxwCGAEzUWWaBg4d8pocAlTpbP9aULQQqhgzrs8hgTRPOM0A==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/types': 2.4.1(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1) + '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) react: 17.0.2 react-dom: 17.0.2(react@17.0.2) tslib: 2.6.2 @@ -2140,24 +2319,24 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-pwa@2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): - resolution: {integrity: sha512-kiD4qu5u3Nhwa6dPFrBDGInJYI/MWu01mbeLJFLk7oFqbkvLrHPKyB6KxrKQQfx/sAJKro79RYejigUDj0Ahig==} + /@docusaurus/plugin-pwa@2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): + resolution: {integrity: sha512-D/3F/tBMmcvPWgDxE4Oc6q7kO0hbMAqO6gGSqYJ4wNKpgZdFyDhURsep97k03UUojn/Oe/SDls+0D/Omopd0tQ==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/preset-env': 7.22.10(@babel/core@7.22.10) - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/theme-translations': 2.4.1 - '@docusaurus/types': 2.4.1(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1) - babel-loader: 8.3.0(@babel/core@7.22.10)(webpack@5.88.2) + '@babel/core': 7.22.20 + '@babel/preset-env': 7.22.20(@babel/core@7.22.20) + '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/theme-common': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/theme-translations': 2.4.3 + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) + babel-loader: 8.3.0(@babel/core@7.22.20)(webpack@5.88.2) clsx: 1.2.1 - core-js: 3.32.1 + core-js: 3.32.2 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) terser-webpack-plugin: 5.3.9(webpack@5.88.2) @@ -2186,19 +2365,19 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-sitemap@2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): - resolution: {integrity: sha512-lZx+ijt/+atQ3FVE8FOHV/+X3kuok688OydDXrqKRJyXBJZKgGjA2Qa8RjQ4f27V2woaXhtnyrdPop/+OjVMRg==} + /@docusaurus/plugin-sitemap@2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): + resolution: {integrity: sha512-LRQYrK1oH1rNfr4YvWBmRzTL0LN9UAPxBbghgeFRBm5yloF6P+zv1tm2pe2hQTX/QP5bSKdnajCvfnScgKXMZQ==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/logger': 2.4.1 - '@docusaurus/types': 2.4.1(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1) - '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1) + '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/logger': 2.4.3 + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-common': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) fs-extra: 10.1.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -2222,26 +2401,26 @@ packages: - webpack-cli dev: false - /@docusaurus/preset-classic@2.4.1(@algolia/client-search@4.19.1)(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.7.0)(typescript@5.2.2): - resolution: {integrity: sha512-P4//+I4zDqQJ+UDgoFrjIFaQ1MeS9UD1cvxVQaI6O7iBmiHQm0MGROP1TbE7HlxlDPXFJjZUK3x3cAoK63smGQ==} + /@docusaurus/preset-classic@2.4.3(@algolia/client-search@4.20.0)(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.8.2)(typescript@5.2.2): + resolution: {integrity: sha512-tRyMliepY11Ym6hB1rAFSNGwQDpmszvWYJvlK1E+md4SW8i6ylNHtpZjaYFff9Mdk3i/Pg8ItQq9P0daOJAvQw==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/plugin-content-blog': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/plugin-content-docs': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/plugin-content-pages': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/plugin-debug': 2.4.1(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/plugin-google-analytics': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/plugin-google-gtag': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/plugin-google-tag-manager': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/plugin-sitemap': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/theme-classic': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/theme-search-algolia': 2.4.1(@algolia/client-search@4.19.1)(@docusaurus/types@2.4.1)(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.7.0)(typescript@5.2.2) - '@docusaurus/types': 2.4.1(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/plugin-content-blog': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/plugin-content-docs': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/plugin-content-pages': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/plugin-debug': 2.4.3(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/plugin-google-analytics': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/plugin-google-gtag': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/plugin-google-tag-manager': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/plugin-sitemap': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/theme-classic': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/theme-common': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/theme-search-algolia': 2.4.3(@algolia/client-search@4.20.0)(@docusaurus/types@2.4.3)(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.8.2)(typescript@5.2.2) + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) react: 17.0.2 react-dom: 17.0.2(react@17.0.2) transitivePeerDependencies: @@ -2275,32 +2454,32 @@ packages: prop-types: 15.8.1 react: 17.0.2 - /@docusaurus/theme-classic@2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): - resolution: {integrity: sha512-Rz0wKUa+LTW1PLXmwnf8mn85EBzaGSt6qamqtmnh9Hflkc+EqiYMhtUJeLdV+wsgYq4aG0ANc+bpUDpsUhdnwg==} + /@docusaurus/theme-classic@2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): + resolution: {integrity: sha512-QKRAJPSGPfDY2yCiPMIVyr+MqwZCIV2lxNzqbyUW0YkrlmdzzP3WuQJPMGLCjWgQp/5c9kpWMvMxjhpZx1R32Q==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/module-type-aliases': 2.4.1(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/plugin-content-blog': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/plugin-content-docs': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/plugin-content-pages': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/theme-translations': 2.4.1 - '@docusaurus/types': 2.4.1(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1) - '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1) + '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/mdx-loader': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/module-type-aliases': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/plugin-content-blog': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/plugin-content-docs': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/plugin-content-pages': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/theme-common': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/theme-translations': 2.4.3 + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-common': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) '@mdx-js/react': 1.6.22(react@17.0.2) clsx: 1.2.1 copy-text-to-clipboard: 3.2.0 infima: 0.2.0-alpha.43 lodash: 4.17.21 nprogress: 0.2.0 - postcss: 8.4.28 + postcss: 8.4.30 prism-react-renderer: 1.3.5(react@17.0.2) prismjs: 1.29.0 react: 17.0.2 @@ -2327,20 +2506,20 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-common@2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): - resolution: {integrity: sha512-G7Zau1W5rQTaFFB3x3soQoZpkgMbl/SYNG8PfMFIjKa3M3q8n0m/GRf5/H/e5BqOvt8c+ZWIXGCiz+kUCSHovA==} + /@docusaurus/theme-common@2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2): + resolution: {integrity: sha512-7KaDJBXKBVGXw5WOVt84FtN8czGWhM0lbyWEZXGp8AFfL6sZQfRTluFp4QriR97qwzSyOfQb+nzcDZZU4tezUw==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/module-type-aliases': 2.4.1(react-dom@17.0.2)(react@17.0.2) - '@docusaurus/plugin-content-blog': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/plugin-content-docs': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/plugin-content-pages': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1) - '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1) + '@docusaurus/mdx-loader': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/module-type-aliases': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@docusaurus/plugin-content-blog': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/plugin-content-docs': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/plugin-content-pages': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-common': 2.4.3(@docusaurus/types@2.4.3) '@types/history': 4.7.11 '@types/react': 17.0.64 '@types/react-router-config': 5.0.7 @@ -2371,23 +2550,23 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-search-algolia@2.4.1(@algolia/client-search@4.19.1)(@docusaurus/types@2.4.1)(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.7.0)(typescript@5.2.2): - resolution: {integrity: sha512-6BcqW2lnLhZCXuMAvPRezFs1DpmEKzXFKlYjruuas+Xy3AQeFzDJKTJFIm49N77WFCTyxff8d3E4Q9pi/+5McQ==} + /@docusaurus/theme-search-algolia@2.4.3(@algolia/client-search@4.20.0)(@docusaurus/types@2.4.3)(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.8.2)(typescript@5.2.2): + resolution: {integrity: sha512-jziq4f6YVUB5hZOB85ELATwnxBz/RmSLD3ksGQOLDPKVzat4pmI8tddNWtriPpxR04BNT+ZfpPUMFkNFetSW1Q==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docsearch/react': 3.5.2(@algolia/client-search@4.19.1)(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.7.0) - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/logger': 2.4.1 - '@docusaurus/plugin-content-docs': 2.4.1(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) - '@docusaurus/theme-translations': 2.4.1 - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1) - algoliasearch: 4.19.1 - algoliasearch-helper: 3.14.0(algoliasearch@4.19.1) + '@docsearch/react': 3.5.2(@algolia/client-search@4.20.0)(@types/react@17.0.64)(react-dom@17.0.2)(react@17.0.2)(search-insights@2.8.2) + '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/logger': 2.4.3 + '@docusaurus/plugin-content-docs': 2.4.3(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/theme-common': 2.4.3(@docusaurus/types@2.4.3)(react-dom@17.0.2)(react@17.0.2)(typescript@5.2.2) + '@docusaurus/theme-translations': 2.4.3 + '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) + algoliasearch: 4.20.0 + algoliasearch-helper: 3.14.2(algoliasearch@4.20.0) clsx: 1.2.1 eta: 2.2.0 fs-extra: 10.1.0 @@ -2418,8 +2597,8 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-translations@2.4.1: - resolution: {integrity: sha512-T1RAGP+f86CA1kfE8ejZ3T3pUU3XcyvrGMfC/zxCtc2BsnoexuNI9Vk2CmuKCb+Tacvhxjv5unhxXce0+NKyvA==} + /@docusaurus/theme-translations@2.4.3: + resolution: {integrity: sha512-H4D+lbZbjbKNS/Zw1Lel64PioUAIT3cLYYJLUf3KkuO/oc9e0QCVhIYVtUI2SfBCF2NNdlyhBDQEEMygsCedIg==} engines: {node: '>=16.14'} dependencies: fs-extra: 10.1.0 @@ -2435,7 +2614,30 @@ packages: '@types/history': 4.7.11 '@types/react': 17.0.64 commander: 5.1.0 - joi: 17.9.2 + joi: 17.10.2 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-helmet-async: 1.3.0(react-dom@17.0.2)(react@17.0.2) + utility-types: 3.10.0 + webpack: 5.88.2 + webpack-merge: 5.9.0 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + - webpack-cli + dev: false + + /@docusaurus/types@2.4.3(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw==} + peerDependencies: + react: ^16.8.4 || ^17.0.0 + react-dom: ^16.8.4 || ^17.0.0 + dependencies: + '@types/history': 4.7.11 + '@types/react': 17.0.64 + commander: 5.1.0 + joi: 17.10.2 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) react-helmet-async: 1.3.0(react-dom@17.0.2)(react@17.0.2) @@ -2461,13 +2663,44 @@ packages: tslib: 2.6.2 dev: false + /@docusaurus/utils-common@2.4.3(@docusaurus/types@2.4.3): + resolution: {integrity: sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ==} + engines: {node: '>=16.14'} + peerDependencies: + '@docusaurus/types': '*' + peerDependenciesMeta: + '@docusaurus/types': + optional: true + dependencies: + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) + tslib: 2.6.2 + dev: false + /@docusaurus/utils-validation@2.4.1(@docusaurus/types@2.4.1): resolution: {integrity: sha512-unII3hlJlDwZ3w8U+pMO3Lx3RhI4YEbY3YNsQj4yzrkZzlpqZOLuAiZK2JyULnD+TKbceKU0WyWkQXtYbLNDFA==} engines: {node: '>=16.14'} dependencies: '@docusaurus/logger': 2.4.1 '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1) - joi: 17.9.2 + joi: 17.10.2 + js-yaml: 4.1.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - uglify-js + - webpack-cli + dev: false + + /@docusaurus/utils-validation@2.4.3(@docusaurus/types@2.4.3): + resolution: {integrity: sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw==} + engines: {node: '>=16.14'} + dependencies: + '@docusaurus/logger': 2.4.3 + '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) + joi: 17.10.2 js-yaml: 4.1.0 tslib: 2.6.2 transitivePeerDependencies: @@ -2513,6 +2746,40 @@ packages: - webpack-cli dev: false + /@docusaurus/utils@2.4.3(@docusaurus/types@2.4.3): + resolution: {integrity: sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==} + engines: {node: '>=16.14'} + peerDependencies: + '@docusaurus/types': '*' + peerDependenciesMeta: + '@docusaurus/types': + optional: true + dependencies: + '@docusaurus/logger': 2.4.3 + '@docusaurus/types': 2.4.3(react-dom@17.0.2)(react@17.0.2) + '@svgr/webpack': 6.5.1 + escape-string-regexp: 4.0.0 + file-loader: 6.2.0(webpack@5.88.2) + fs-extra: 10.1.0 + github-slugger: 1.5.0 + globby: 11.1.0 + gray-matter: 4.0.3 + js-yaml: 4.1.0 + lodash: 4.17.21 + micromatch: 4.0.5 + resolve-pathname: 3.0.0 + shelljs: 0.8.5 + tslib: 2.6.2 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.88.2) + webpack: 5.88.2 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - supports-color + - uglify-js + - webpack-cli + dev: false + /@hapi/hoek@9.3.0: resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} @@ -2521,21 +2788,21 @@ packages: dependencies: '@hapi/hoek': 9.3.0 - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 dev: false - /@jest/types@29.6.1: - resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.5.1 + '@types/node': 20.6.3 '@types/yargs': 17.0.24 chalk: 4.1.2 dev: false @@ -2634,11 +2901,11 @@ packages: fastq: 1.15.0 dev: false - /@polka/url@1.0.0-next.21: - resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + /@polka/url@1.0.0-next.23: + resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} dev: false - /@rollup/plugin-babel@5.3.1(@babel/core@7.22.10)(rollup@2.79.1): + /@rollup/plugin-babel@5.3.1(@babel/core@7.22.20)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -2649,8 +2916,8 @@ packages: '@types/babel__core': optional: true dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.22.20 + '@babel/helper-module-imports': 7.22.15 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 dev: false @@ -2666,7 +2933,7 @@ packages: builtin-modules: 3.3.0 deepmerge: 4.3.1 is-module: 1.0.0 - resolve: 1.22.4 + resolve: 1.22.6 rollup: 2.79.1 dev: false @@ -2727,104 +2994,104 @@ packages: ejs: 3.1.9 json5: 2.2.3 magic-string: 0.25.9 - string.prototype.matchall: 4.0.8 + string.prototype.matchall: 4.0.10 dev: false - /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.22.10): + /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.22.20): resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 dev: false - /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.22.10): + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.22.20): resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 dev: false - /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.22.10): + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.22.20): resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 dev: false - /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.22.10): + /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.22.20): resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 dev: false - /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.22.10): + /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.22.20): resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 dev: false - /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.22.10): + /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.22.20): resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 dev: false - /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.22.10): + /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.22.20): resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 dev: false - /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.22.10): + /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.22.20): resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} engines: {node: '>=12'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 dev: false - /@svgr/babel-preset@6.5.1(@babel/core@7.22.10): + /@svgr/babel-preset@6.5.1(@babel/core@7.22.20): resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.22.10) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.22.10) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.22.10) - '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.22.10) - '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.22.10) - '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.22.10) - '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.22.10) - '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.22.20) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.22.20) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.22.20) + '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.22.20) + '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.22.20) + '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.22.20) + '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.22.20) + '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.22.20) dev: false /@svgr/core@6.5.1: resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.22.10 - '@svgr/babel-preset': 6.5.1(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@svgr/babel-preset': 6.5.1(@babel/core@7.22.20) '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) camelcase: 6.3.0 cosmiconfig: 7.1.0 @@ -2836,7 +3103,7 @@ packages: resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} engines: {node: '>=10'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.19 entities: 4.5.0 dev: false @@ -2846,8 +3113,8 @@ packages: peerDependencies: '@svgr/core': ^6.0.0 dependencies: - '@babel/core': 7.22.10 - '@svgr/babel-preset': 6.5.1(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@svgr/babel-preset': 6.5.1(@babel/core@7.22.20) '@svgr/core': 6.5.1 '@svgr/hast-util-to-babel-ast': 6.5.1 svg-parser: 2.0.4 @@ -2871,11 +3138,11 @@ packages: resolution: {integrity: sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-transform-react-constant-elements': 7.22.5(@babel/core@7.22.10) - '@babel/preset-env': 7.22.10(@babel/core@7.22.10) - '@babel/preset-react': 7.22.5(@babel/core@7.22.10) - '@babel/preset-typescript': 7.22.5(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/plugin-transform-react-constant-elements': 7.22.5(@babel/core@7.22.20) + '@babel/preset-env': 7.22.20(@babel/core@7.22.20) + '@babel/preset-react': 7.22.15(@babel/core@7.22.20) + '@babel/preset-typescript': 7.22.15(@babel/core@7.22.20) '@svgr/core': 6.5.1 '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) '@svgr/plugin-svgo': 6.5.1(@svgr/core@6.5.1) @@ -2895,34 +3162,34 @@ packages: engines: {node: '>=10.13.0'} dev: false - /@tsconfig/docusaurus@2.0.0: - resolution: {integrity: sha512-X5wptT7pXA/46/IRFTW76oR5GNjoy9qjNM/1JGhFV4QAsmLh3YUpJJA+Vpx7Ds6eEBxSxz1QrgoNEBy6rLVs8w==} + /@tsconfig/docusaurus@2.0.1: + resolution: {integrity: sha512-7JrI61bTZ37DWrHx1qhOW+kPxSG95+/q+EiDCMIahh8Aqbk03+nVu+Z6YGOj3O5e6lXHJuf/LHJ/lc6j8IEQyA==} dev: true - /@types/body-parser@1.19.2: - resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} + /@types/body-parser@1.19.3: + resolution: {integrity: sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==} dependencies: - '@types/connect': 3.4.35 - '@types/node': 20.5.1 + '@types/connect': 3.4.36 + '@types/node': 20.6.3 dev: false - /@types/bonjour@3.5.10: - resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} + /@types/bonjour@3.5.11: + resolution: {integrity: sha512-isGhjmBtLIxdHBDl2xGwUzEM8AOyOvWsADWq7rqirdi/ZQoHnLWErHvsThcEzTX8juDRiZtzp2Qkv5bgNh6mAg==} dependencies: - '@types/node': 20.5.1 + '@types/node': 20.6.3 dev: false - /@types/connect-history-api-fallback@1.5.0: - resolution: {integrity: sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==} + /@types/connect-history-api-fallback@1.5.1: + resolution: {integrity: sha512-iaQslNbARe8fctL5Lk+DsmgWOM83lM+7FzP0eQUJs1jd3kBE8NWqBTIT2S8SqQOJjxvt2eyIjpOuYeRXq2AdMw==} dependencies: - '@types/express-serve-static-core': 4.17.35 - '@types/node': 20.5.1 + '@types/express-serve-static-core': 4.17.36 + '@types/node': 20.6.3 dev: false - /@types/connect@3.4.35: - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + /@types/connect@3.4.36: + resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} dependencies: - '@types/node': 20.5.1 + '@types/node': 20.6.3 dev: false /@types/eslint-scope@3.7.4: @@ -2935,7 +3202,7 @@ packages: resolution: {integrity: sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==} dependencies: '@types/estree': 1.0.1 - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.13 /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} @@ -2944,11 +3211,11 @@ packages: /@types/estree@1.0.1: resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} - /@types/express-serve-static-core@4.17.35: - resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} + /@types/express-serve-static-core@4.17.36: + resolution: {integrity: sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==} dependencies: - '@types/node': 20.5.1 - '@types/qs': 6.9.7 + '@types/node': 20.6.3 + '@types/qs': 6.9.8 '@types/range-parser': 1.2.4 '@types/send': 0.17.1 dev: false @@ -2956,16 +3223,16 @@ packages: /@types/express@4.17.17: resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.35 - '@types/qs': 6.9.7 + '@types/body-parser': 1.19.3 + '@types/express-serve-static-core': 4.17.36 + '@types/qs': 6.9.8 '@types/serve-static': 1.15.2 dev: false - /@types/hast@2.3.5: - resolution: {integrity: sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==} + /@types/hast@2.3.6: + resolution: {integrity: sha512-47rJE80oqPmFdVDCD7IheXBrVdwuBgsYwoczFvKmwfo2Mzsnt+V9OONsYauFmICb6lQPpCuXYJWejBNs4pDJRg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /@types/history@4.7.11: @@ -2975,14 +3242,14 @@ packages: resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} dev: false - /@types/http-errors@2.0.1: - resolution: {integrity: sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==} + /@types/http-errors@2.0.2: + resolution: {integrity: sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==} dev: false - /@types/http-proxy@1.17.11: - resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} + /@types/http-proxy@1.17.12: + resolution: {integrity: sha512-kQtujO08dVtQ2wXAuSFfk9ASy3sug4+ogFR8Kd8UgP8PEuc1/G/8yjYRmp//PcDNJEUKOza/MrQu15bouEUCiw==} dependencies: - '@types/node': 20.5.1 + '@types/node': 20.6.3 dev: false /@types/istanbul-lib-coverage@2.0.4: @@ -3001,13 +3268,13 @@ packages: '@types/istanbul-lib-report': 3.0.0 dev: false - /@types/json-schema@7.0.12: - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + /@types/json-schema@7.0.13: + resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 20.5.1 + '@types/node': 20.6.3 dev: false /@types/linkify-it@3.0.2: @@ -3024,7 +3291,7 @@ packages: /@types/mdast@3.0.12: resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /@types/mdurl@1.0.2: @@ -3049,8 +3316,8 @@ packages: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: false - /@types/node@20.5.1: - resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} + /@types/node@20.6.3: + resolution: {integrity: sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==} /@types/parse-json@4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} @@ -3067,8 +3334,8 @@ packages: /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} - /@types/qs@6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + /@types/qs@6.9.8: + resolution: {integrity: sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==} dev: false /@types/range-parser@1.2.4: @@ -3111,13 +3378,13 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.5.1 + '@types/node': 20.6.3 dev: false /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 20.5.1 + '@types/node': 20.6.3 dev: false /@types/retry@0.12.0: @@ -3137,7 +3404,7 @@ packages: resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} dependencies: '@types/mime': 1.3.2 - '@types/node': 20.5.1 + '@types/node': 20.6.3 dev: false /@types/serve-index@1.9.1: @@ -3149,29 +3416,29 @@ packages: /@types/serve-static@1.15.2: resolution: {integrity: sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==} dependencies: - '@types/http-errors': 2.0.1 + '@types/http-errors': 2.0.2 '@types/mime': 3.0.1 - '@types/node': 20.5.1 + '@types/node': 20.6.3 dev: false /@types/sockjs@0.3.33: resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} dependencies: - '@types/node': 20.5.1 + '@types/node': 20.6.3 dev: false - /@types/trusted-types@2.0.3: - resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} + /@types/trusted-types@2.0.4: + resolution: {integrity: sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==} dev: false - /@types/unist@2.0.7: - resolution: {integrity: sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==} + /@types/unist@2.0.8: + resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} dev: false /@types/ws@8.5.5: resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} dependencies: - '@types/node': 20.5.1 + '@types/node': 20.6.3 dev: false /@types/yargs-parser@21.0.0: @@ -3363,32 +3630,32 @@ packages: uri-js: 4.4.1 dev: false - /algoliasearch-helper@3.14.0(algoliasearch@4.19.1): - resolution: {integrity: sha512-gXDXzsSS0YANn5dHr71CUXOo84cN4azhHKUbg71vAWnH+1JBiR4jf7to3t3JHXknXkbV0F7f055vUSBKrltHLQ==} + /algoliasearch-helper@3.14.2(algoliasearch@4.20.0): + resolution: {integrity: sha512-FjDSrjvQvJT/SKMW74nPgFpsoPUwZCzGbCqbp8HhBFfSk/OvNFxzCaCmuO0p7AWeLy1gD+muFwQEkBwcl5H4pg==} peerDependencies: algoliasearch: '>= 3.1 < 6' dependencies: '@algolia/events': 4.0.1 - algoliasearch: 4.19.1 + algoliasearch: 4.20.0 dev: false - /algoliasearch@4.19.1: - resolution: {integrity: sha512-IJF5b93b2MgAzcE/tuzW0yOPnuUyRgGAtaPv5UUywXM8kzqfdwZTO4sPJBzoGz1eOy6H9uEchsJsBFTELZSu+g==} + /algoliasearch@4.20.0: + resolution: {integrity: sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==} dependencies: - '@algolia/cache-browser-local-storage': 4.19.1 - '@algolia/cache-common': 4.19.1 - '@algolia/cache-in-memory': 4.19.1 - '@algolia/client-account': 4.19.1 - '@algolia/client-analytics': 4.19.1 - '@algolia/client-common': 4.19.1 - '@algolia/client-personalization': 4.19.1 - '@algolia/client-search': 4.19.1 - '@algolia/logger-common': 4.19.1 - '@algolia/logger-console': 4.19.1 - '@algolia/requester-browser-xhr': 4.19.1 - '@algolia/requester-common': 4.19.1 - '@algolia/requester-node-http': 4.19.1 - '@algolia/transporter': 4.19.1 + '@algolia/cache-browser-local-storage': 4.20.0 + '@algolia/cache-common': 4.20.0 + '@algolia/cache-in-memory': 4.20.0 + '@algolia/client-account': 4.20.0 + '@algolia/client-analytics': 4.20.0 + '@algolia/client-common': 4.20.0 + '@algolia/client-personalization': 4.20.0 + '@algolia/client-search': 4.20.0 + '@algolia/logger-common': 4.20.0 + '@algolia/logger-console': 4.20.0 + '@algolia/requester-browser-xhr': 4.20.0 + '@algolia/requester-common': 4.20.0 + '@algolia/requester-node-http': 4.20.0 + '@algolia/transporter': 4.20.0 dev: false /ansi-align@3.0.1: @@ -3474,13 +3741,14 @@ packages: engines: {node: '>=8'} dev: false - /arraybuffer.prototype.slice@1.0.1: - resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 - define-properties: 1.2.0 + define-properties: 1.2.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 @@ -3507,14 +3775,46 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.10 - caniuse-lite: 1.0.30001521 - fraction.js: 4.2.0 + caniuse-lite: 1.0.30001538 + fraction.js: 4.3.6 normalize-range: 0.1.2 picocolors: 1.0.0 postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: false + /autoprefixer@10.4.16(postcss@8.4.28): + resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.10 + caniuse-lite: 1.0.30001538 + fraction.js: 4.3.6 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.28 + postcss-value-parser: 4.2.0 + dev: false + + /autoprefixer@10.4.16(postcss@8.4.30): + resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.10 + caniuse-lite: 1.0.30001538 + fraction.js: 4.3.6 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} @@ -3523,19 +3823,19 @@ packages: /axios@0.25.0: resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==} dependencies: - follow-redirects: 1.15.2 + follow-redirects: 1.15.3 transitivePeerDependencies: - debug dev: false - /babel-loader@8.3.0(@babel/core@7.22.10)(webpack@5.88.2): + /babel-loader@8.3.0(@babel/core@7.22.20)(webpack@5.88.2): resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} engines: {node: '>= 8.9'} peerDependencies: '@babel/core': ^7.0.0 webpack: '>=2' dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.20 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 @@ -3565,38 +3865,38 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: false - /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.10): + /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.20): resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.10 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10) + '@babel/compat-data': 7.22.20 + '@babel/core': 7.22.20 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.20) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.10): + /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.20): resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10) - core-js-compat: 3.32.1 + '@babel/core': 7.22.20 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.20) + core-js-compat: 3.32.2 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.10): + /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.20): resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10) + '@babel/core': 7.22.20 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.20) transitivePeerDependencies: - supports-color dev: false @@ -3712,10 +4012,10 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001521 - electron-to-chromium: 1.4.496 + caniuse-lite: 1.0.30001538 + electron-to-chromium: 1.4.526 node-releases: 2.0.13 - update-browserslist-db: 1.0.11(browserslist@4.21.10) + update-browserslist-db: 1.0.12(browserslist@4.21.10) /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -3781,13 +4081,13 @@ packages: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.21.10 - caniuse-lite: 1.0.30001521 + caniuse-lite: 1.0.30001538 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: false - /caniuse-lite@1.0.30001521: - resolution: {integrity: sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==} + /caniuse-lite@1.0.30001538: + resolution: {integrity: sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==} /ccount@1.1.0: resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} @@ -3858,7 +4158,7 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: false /chrome-trace-event@1.0.3: @@ -4094,19 +4394,19 @@ packages: webpack: 5.88.2 dev: false - /core-js-compat@3.32.1: - resolution: {integrity: sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==} + /core-js-compat@3.32.2: + resolution: {integrity: sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==} dependencies: browserslist: 4.21.10 dev: false - /core-js-pure@3.32.1: - resolution: {integrity: sha512-f52QZwkFVDPf7UEQZGHKx6NYxsxmVGJe5DIvbzOdRMJlmT6yv0KDjR8rmy3ngr/t5wU54c7Sp/qIJH0ppbhVpQ==} + /core-js-pure@3.32.2: + resolution: {integrity: sha512-Y2rxThOuNywTjnX/PgA5vWM6CZ9QB9sz9oGeCixV8MqXZO70z/5SHzf9EeBrEBK0PN36DnEBBu9O/aGWzKuMZQ==} requiresBuild: true dev: false - /core-js@3.32.1: - resolution: {integrity: sha512-lqufgNn9NLnESg5mQeYsxQP5w7wrViSj0jr/kv6ECQiByzQkrn1MKvV0L3acttpDqfQrHLwr2KCMgX5b8X+lyQ==} + /core-js@3.32.2: + resolution: {integrity: sha512-pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ==} requiresBuild: true dev: false @@ -4136,20 +4436,26 @@ packages: yaml: 1.10.2 dev: false - /cosmiconfig@8.2.0: - resolution: {integrity: sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==} + /cosmiconfig@8.3.6(typescript@5.2.2): + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 + typescript: 5.2.2 dev: false /cross-fetch@3.1.8: resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} dependencies: - node-fetch: 2.6.12 + node-fetch: 2.7.0 transitivePeerDependencies: - encoding dev: false @@ -4177,18 +4483,27 @@ packages: postcss: 8.4.28 dev: false + /css-declaration-sorter@6.4.1(postcss@8.4.30): + resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} + engines: {node: ^10 || ^12 || >=14} + peerDependencies: + postcss: ^8.0.9 + dependencies: + postcss: 8.4.30 + dev: false + /css-loader@6.8.1(webpack@5.88.2): resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.28) - postcss: 8.4.28 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.28) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.28) - postcss-modules-scope: 3.0.0(postcss@8.4.28) - postcss-modules-values: 4.0.0(postcss@8.4.28) + icss-utils: 5.1.0(postcss@8.4.30) + postcss: 8.4.30 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.30) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.30) + postcss-modules-scope: 3.0.0(postcss@8.4.30) + postcss-modules-values: 4.0.0(postcss@8.4.30) postcss-value-parser: 4.2.0 semver: 7.5.4 webpack: 5.88.2 @@ -4220,9 +4535,9 @@ packages: optional: true dependencies: clean-css: 5.3.2 - cssnano: 5.1.15(postcss@8.4.28) - jest-worker: 29.6.2 - postcss: 8.4.28 + cssnano: 5.1.15(postcss@8.4.30) + jest-worker: 29.7.0 + postcss: 8.4.30 schema-utils: 4.2.0 serialize-javascript: 6.0.1 source-map: 0.6.1 @@ -4274,7 +4589,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - autoprefixer: 10.4.15(postcss@8.4.28) + autoprefixer: 10.4.16(postcss@8.4.28) cssnano-preset-default: 5.2.14(postcss@8.4.28) postcss: 8.4.28 postcss-discard-unused: 5.1.0(postcss@8.4.28) @@ -4283,6 +4598,21 @@ packages: postcss-zindex: 5.1.0(postcss@8.4.28) dev: false + /cssnano-preset-advanced@5.3.10(postcss@8.4.30): + resolution: {integrity: sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + autoprefixer: 10.4.16(postcss@8.4.30) + cssnano-preset-default: 5.2.14(postcss@8.4.30) + postcss: 8.4.30 + postcss-discard-unused: 5.1.0(postcss@8.4.30) + postcss-merge-idents: 5.1.1(postcss@8.4.30) + postcss-reduce-idents: 5.2.0(postcss@8.4.30) + postcss-zindex: 5.1.0(postcss@8.4.30) + dev: false + /cssnano-preset-default@5.2.14(postcss@8.4.28): resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} engines: {node: ^10 || ^12 || >=14.0} @@ -4321,6 +4651,44 @@ packages: postcss-unique-selectors: 5.1.1(postcss@8.4.28) dev: false + /cssnano-preset-default@5.2.14(postcss@8.4.30): + resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + css-declaration-sorter: 6.4.1(postcss@8.4.30) + cssnano-utils: 3.1.0(postcss@8.4.30) + postcss: 8.4.30 + postcss-calc: 8.2.4(postcss@8.4.30) + postcss-colormin: 5.3.1(postcss@8.4.30) + postcss-convert-values: 5.1.3(postcss@8.4.30) + postcss-discard-comments: 5.1.2(postcss@8.4.30) + postcss-discard-duplicates: 5.1.0(postcss@8.4.30) + postcss-discard-empty: 5.1.1(postcss@8.4.30) + postcss-discard-overridden: 5.1.0(postcss@8.4.30) + postcss-merge-longhand: 5.1.7(postcss@8.4.30) + postcss-merge-rules: 5.1.4(postcss@8.4.30) + postcss-minify-font-values: 5.1.0(postcss@8.4.30) + postcss-minify-gradients: 5.1.1(postcss@8.4.30) + postcss-minify-params: 5.1.4(postcss@8.4.30) + postcss-minify-selectors: 5.2.1(postcss@8.4.30) + postcss-normalize-charset: 5.1.0(postcss@8.4.30) + postcss-normalize-display-values: 5.1.0(postcss@8.4.30) + postcss-normalize-positions: 5.1.1(postcss@8.4.30) + postcss-normalize-repeat-style: 5.1.1(postcss@8.4.30) + postcss-normalize-string: 5.1.0(postcss@8.4.30) + postcss-normalize-timing-functions: 5.1.0(postcss@8.4.30) + postcss-normalize-unicode: 5.1.1(postcss@8.4.30) + postcss-normalize-url: 5.1.0(postcss@8.4.30) + postcss-normalize-whitespace: 5.1.1(postcss@8.4.30) + postcss-ordered-values: 5.1.3(postcss@8.4.30) + postcss-reduce-initial: 5.1.2(postcss@8.4.30) + postcss-reduce-transforms: 5.1.0(postcss@8.4.30) + postcss-svgo: 5.1.0(postcss@8.4.30) + postcss-unique-selectors: 5.1.1(postcss@8.4.30) + dev: false + /cssnano-utils@3.1.0(postcss@8.4.28): resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} engines: {node: ^10 || ^12 || >=14.0} @@ -4330,6 +4698,15 @@ packages: postcss: 8.4.28 dev: false + /cssnano-utils@3.1.0(postcss@8.4.30): + resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + dev: false + /cssnano@5.1.15(postcss@8.4.28): resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} engines: {node: ^10 || ^12 || >=14.0} @@ -4342,6 +4719,18 @@ packages: yaml: 1.10.2 dev: false + /cssnano@5.1.15(postcss@8.4.30): + resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-preset-default: 5.2.14(postcss@8.4.30) + lilconfig: 2.1.0 + postcss: 8.4.30 + yaml: 1.10.2 + dev: false + /csso@4.2.0: resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} engines: {node: '>=8.0.0'} @@ -4403,15 +4792,25 @@ packages: resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} dev: false + /define-data-property@1.1.0: + resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + gopd: 1.0.1 + has-property-descriptors: 1.0.0 + dev: false + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} dev: false - /define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: + define-data-property: 1.1.0 has-property-descriptors: 1.0.0 object-keys: 1.1.1 dev: false @@ -4487,8 +4886,8 @@ packages: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} dev: false - /dns-packet@5.6.0: - resolution: {integrity: sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==} + /dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.4 @@ -4588,8 +4987,8 @@ packages: jake: 10.8.7 dev: false - /electron-to-chromium@1.4.496: - resolution: {integrity: sha512-qeXC3Zbykq44RCrBa4kr8v/dWzYJA8rAwpyh9Qd+NKWoJfjG5vvJqy9XOJ9H4P/lqulZBCgUWAYi+FeK5AuJ8g==} + /electron-to-chromium@1.4.526: + resolution: {integrity: sha512-tjjTMjmZAx1g6COrintLTa2/jcafYKxKoiEkdQOrVdbLaHh2wCt2nsAF8ZHweezkrP+dl/VG9T5nabcYoo0U5Q==} /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -4646,17 +5045,17 @@ packages: is-arrayish: 0.2.1 dev: false - /es-abstract@1.22.1: - resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} + /es-abstract@1.22.2: + resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.1 + arraybuffer.prototype.slice: 1.0.2 available-typed-arrays: 1.0.5 call-bind: 1.0.2 es-set-tostringtag: 2.0.1 es-to-primitive: 1.2.1 - function.prototype.name: 1.1.5 + function.prototype.name: 1.1.6 get-intrinsic: 1.2.1 get-symbol-description: 1.0.0 globalthis: 1.0.3 @@ -4677,12 +5076,12 @@ packages: object-inspect: 1.12.3 object-keys: 1.1.1 object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 - safe-array-concat: 1.0.0 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.0.1 safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.7 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 typed-array-buffer: 1.0.0 typed-array-byte-length: 1.0.0 typed-array-byte-offset: 1.0.0 @@ -4691,8 +5090,8 @@ packages: which-typed-array: 1.1.11 dev: false - /es-module-lexer@1.3.0: - resolution: {integrity: sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==} + /es-module-lexer@1.3.1: + resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} /es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} @@ -4785,7 +5184,7 @@ packages: resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} engines: {node: '>= 0.8'} dependencies: - '@types/node': 20.5.1 + '@types/node': 20.6.3 require-like: 0.1.2 dev: false @@ -4919,7 +5318,7 @@ packages: object-assign: 4.1.1 promise: 7.3.1 setimmediate: 1.0.5 - ua-parser-js: 1.0.35 + ua-parser-js: 1.0.36 transitivePeerDependencies: - encoding dev: false @@ -5019,8 +5418,8 @@ packages: - encoding dev: false - /follow-redirects@1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + /follow-redirects@1.15.3: + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -5049,8 +5448,8 @@ packages: vue-template-compiler: optional: true dependencies: - '@babel/code-frame': 7.22.10 - '@types/json-schema': 7.0.12 + '@babel/code-frame': 7.22.13 + '@types/json-schema': 7.0.13 chalk: 4.1.2 chokidar: 3.5.3 cosmiconfig: 6.0.0 @@ -5071,8 +5470,8 @@ packages: engines: {node: '>= 0.6'} dev: false - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + /fraction.js@4.3.6: + resolution: {integrity: sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==} dev: false /fresh@0.5.2: @@ -5107,8 +5506,8 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true @@ -5119,13 +5518,13 @@ packages: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: false - /function.prototype.name@1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 functions-have-names: 1.2.3 dev: false @@ -5242,7 +5641,7 @@ packages: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: - define-properties: 1.2.0 + define-properties: 1.2.1 dev: false /globby@11.1.0: @@ -5368,7 +5767,7 @@ packages: /hast-to-hyperscript@9.0.1: resolution: {integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 comma-separated-tokens: 1.0.8 property-information: 5.6.0 space-separated-tokens: 1.1.5 @@ -5395,7 +5794,7 @@ packages: /hast-util-raw@6.0.1: resolution: {integrity: sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==} dependencies: - '@types/hast': 2.3.5 + '@types/hast': 2.3.6 hast-util-from-parse5: 6.0.1 hast-util-to-parse5: 6.0.0 html-void-elements: 1.0.5 @@ -5420,7 +5819,7 @@ packages: /hastscript@6.0.0: resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} dependencies: - '@types/hast': 2.3.5 + '@types/hast': 2.3.6 comma-separated-tokens: 1.0.8 hast-util-parse-selector: 2.2.5 property-information: 5.6.0 @@ -5435,7 +5834,7 @@ packages: /history@4.10.1: resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.15 loose-envify: 1.4.0 resolve-pathname: 3.0.0 tiny-invariant: 1.3.1 @@ -5473,7 +5872,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.19.2 + terser: 5.20.0 dev: false /html-tags@3.3.1: @@ -5560,7 +5959,7 @@ packages: optional: true dependencies: '@types/express': 4.17.17 - '@types/http-proxy': 1.17.11 + '@types/http-proxy': 1.17.12 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -5574,7 +5973,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.2 + follow-redirects: 1.15.3 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -5592,13 +5991,13 @@ packages: safer-buffer: 2.1.2 dev: false - /icss-utils@5.1.0(postcss@8.4.28): + /icss-utils@5.1.0(postcss@8.4.30): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.28 + postcss: 8.4.30 dev: false /idb@7.1.1: @@ -5887,6 +6286,11 @@ packages: dependencies: isobject: 3.0.1 + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + dev: false + /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -5997,12 +6401,12 @@ packages: minimatch: 3.1.2 dev: false - /jest-util@29.6.2: - resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 - '@types/node': 20.5.1 + '@jest/types': 29.6.3 + '@types/node': 20.6.3 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -6013,7 +6417,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.5.1 + '@types/node': 20.6.3 merge-stream: 2.0.0 supports-color: 7.2.0 dev: false @@ -6022,27 +6426,27 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.5.1 + '@types/node': 20.6.3 merge-stream: 2.0.0 supports-color: 8.1.1 - /jest-worker@29.6.2: - resolution: {integrity: sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==} + /jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.5.1 - jest-util: 29.6.2 + '@types/node': 20.6.3 + jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false - /jiti@1.19.3: - resolution: {integrity: sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==} + /jiti@1.20.0: + resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==} hasBin: true dev: false - /joi@17.9.2: - resolution: {integrity: sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==} + /joi@17.10.2: + resolution: {integrity: sha512-hcVhjBxRNW/is3nNLdGLIjkgXetkeGc2wyhydhz8KumG23Aerk4HPjU5zaPAMRqXQFc0xNqXTC7+zQjxr0GlKA==} dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 @@ -6213,14 +6617,30 @@ packages: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: false + /lodash.escape@4.0.1: + resolution: {integrity: sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==} + dev: false + + /lodash.flatten@4.4.0: + resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} + dev: false + /lodash.flow@3.5.0: resolution: {integrity: sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==} dev: false + /lodash.invokemap@4.6.0: + resolution: {integrity: sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w==} + dev: false + /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: false + /lodash.pullall@4.2.0: + resolution: {integrity: sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg==} + dev: false + /lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} dev: false @@ -6229,6 +6649,10 @@ packages: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} dev: false + /lodash.uniqby@4.7.0: + resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} + dev: false + /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: false @@ -6312,7 +6736,7 @@ packages: resolution: {integrity: sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==} dependencies: '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 mdast-util-definitions: 4.0.0 mdurl: 1.0.1 unist-builder: 2.0.3 @@ -6477,7 +6901,7 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true dependencies: - dns-packet: 5.6.0 + dns-packet: 5.6.1 thunky: 1.1.0 dev: false @@ -6508,8 +6932,8 @@ packages: lodash: 4.17.21 dev: false - /node-fetch@2.6.12: - resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -6583,7 +7007,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 + define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 dev: false @@ -6730,7 +7154,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -6852,6 +7276,16 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-calc@8.2.4(postcss@8.4.30): + resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} + peerDependencies: + postcss: ^8.2.2 + dependencies: + postcss: 8.4.30 + postcss-selector-parser: 6.0.13 + postcss-value-parser: 4.2.0 + dev: false + /postcss-colormin@5.3.1(postcss@8.4.28): resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -6865,6 +7299,19 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-colormin@5.3.1(postcss@8.4.30): + resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-convert-values@5.1.3(postcss@8.4.28): resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} engines: {node: ^10 || ^12 || >=14.0} @@ -6876,6 +7323,17 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-convert-values@5.1.3(postcss@8.4.30): + resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-discard-comments@5.1.2(postcss@8.4.28): resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -6885,6 +7343,15 @@ packages: postcss: 8.4.28 dev: false + /postcss-discard-comments@5.1.2(postcss@8.4.30): + resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + dev: false + /postcss-discard-duplicates@5.1.0(postcss@8.4.28): resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} engines: {node: ^10 || ^12 || >=14.0} @@ -6894,6 +7361,15 @@ packages: postcss: 8.4.28 dev: false + /postcss-discard-duplicates@5.1.0(postcss@8.4.30): + resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + dev: false + /postcss-discard-empty@5.1.1(postcss@8.4.28): resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} engines: {node: ^10 || ^12 || >=14.0} @@ -6903,6 +7379,15 @@ packages: postcss: 8.4.28 dev: false + /postcss-discard-empty@5.1.1(postcss@8.4.30): + resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + dev: false + /postcss-discard-overridden@5.1.0(postcss@8.4.28): resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} engines: {node: ^10 || ^12 || >=14.0} @@ -6912,6 +7397,15 @@ packages: postcss: 8.4.28 dev: false + /postcss-discard-overridden@5.1.0(postcss@8.4.30): + resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + dev: false + /postcss-discard-unused@5.1.0(postcss@8.4.28): resolution: {integrity: sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==} engines: {node: ^10 || ^12 || >=14.0} @@ -6922,18 +7416,46 @@ packages: postcss-selector-parser: 6.0.13 dev: false - /postcss-loader@7.3.3(postcss@8.4.28)(webpack@5.88.2): + /postcss-discard-unused@5.1.0(postcss@8.4.30): + resolution: {integrity: sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-loader@7.3.3(postcss@8.4.28)(typescript@5.2.2)(webpack@5.88.2): + resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + dependencies: + cosmiconfig: 8.3.6(typescript@5.2.2) + jiti: 1.20.0 + postcss: 8.4.28 + semver: 7.5.4 + webpack: 5.88.2 + transitivePeerDependencies: + - typescript + dev: false + + /postcss-loader@7.3.3(postcss@8.4.30)(typescript@5.2.2)(webpack@5.88.2): resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==} engines: {node: '>= 14.15.0'} peerDependencies: postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 dependencies: - cosmiconfig: 8.2.0 - jiti: 1.19.3 - postcss: 8.4.28 + cosmiconfig: 8.3.6(typescript@5.2.2) + jiti: 1.20.0 + postcss: 8.4.30 semver: 7.5.4 webpack: 5.88.2 + transitivePeerDependencies: + - typescript dev: false /postcss-merge-idents@5.1.1(postcss@8.4.28): @@ -6947,6 +7469,17 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-merge-idents@5.1.1(postcss@8.4.30): + resolution: {integrity: sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-utils: 3.1.0(postcss@8.4.30) + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-merge-longhand@5.1.7(postcss@8.4.28): resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -6958,6 +7491,17 @@ packages: stylehacks: 5.1.1(postcss@8.4.28) dev: false + /postcss-merge-longhand@5.1.7(postcss@8.4.30): + resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + stylehacks: 5.1.1(postcss@8.4.30) + dev: false + /postcss-merge-rules@5.1.4(postcss@8.4.28): resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} engines: {node: ^10 || ^12 || >=14.0} @@ -6971,6 +7515,19 @@ packages: postcss-selector-parser: 6.0.13 dev: false + /postcss-merge-rules@5.1.4(postcss@8.4.30): + resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + caniuse-api: 3.0.0 + cssnano-utils: 3.1.0(postcss@8.4.30) + postcss: 8.4.30 + postcss-selector-parser: 6.0.13 + dev: false + /postcss-minify-font-values@5.1.0(postcss@8.4.28): resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} engines: {node: ^10 || ^12 || >=14.0} @@ -6981,6 +7538,16 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-minify-font-values@5.1.0(postcss@8.4.30): + resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-minify-gradients@5.1.1(postcss@8.4.28): resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} engines: {node: ^10 || ^12 || >=14.0} @@ -6993,6 +7560,18 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-minify-gradients@5.1.1(postcss@8.4.30): + resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + colord: 2.9.3 + cssnano-utils: 3.1.0(postcss@8.4.30) + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-minify-params@5.1.4(postcss@8.4.28): resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} engines: {node: ^10 || ^12 || >=14.0} @@ -7005,6 +7584,18 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-minify-params@5.1.4(postcss@8.4.30): + resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + cssnano-utils: 3.1.0(postcss@8.4.30) + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-minify-selectors@5.2.1(postcss@8.4.28): resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} engines: {node: ^10 || ^12 || >=14.0} @@ -7015,45 +7606,55 @@ packages: postcss-selector-parser: 6.0.13 dev: false - /postcss-modules-extract-imports@3.0.0(postcss@8.4.28): + /postcss-minify-selectors@5.2.1(postcss@8.4.30): + resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-modules-extract-imports@3.0.0(postcss@8.4.30): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.28 + postcss: 8.4.30 dev: false - /postcss-modules-local-by-default@4.0.3(postcss@8.4.28): + /postcss-modules-local-by-default@4.0.3(postcss@8.4.30): resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.28) - postcss: 8.4.28 + icss-utils: 5.1.0(postcss@8.4.30) + postcss: 8.4.30 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: false - /postcss-modules-scope@3.0.0(postcss@8.4.28): + /postcss-modules-scope@3.0.0(postcss@8.4.30): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.28 + postcss: 8.4.30 postcss-selector-parser: 6.0.13 dev: false - /postcss-modules-values@4.0.0(postcss@8.4.28): + /postcss-modules-values@4.0.0(postcss@8.4.30): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.28) - postcss: 8.4.28 + icss-utils: 5.1.0(postcss@8.4.30) + postcss: 8.4.30 dev: false /postcss-normalize-charset@5.1.0(postcss@8.4.28): @@ -7065,6 +7666,15 @@ packages: postcss: 8.4.28 dev: false + /postcss-normalize-charset@5.1.0(postcss@8.4.30): + resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + dev: false + /postcss-normalize-display-values@5.1.0(postcss@8.4.28): resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} engines: {node: ^10 || ^12 || >=14.0} @@ -7075,6 +7685,16 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-normalize-display-values@5.1.0(postcss@8.4.30): + resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-normalize-positions@5.1.1(postcss@8.4.28): resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} engines: {node: ^10 || ^12 || >=14.0} @@ -7085,6 +7705,16 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-normalize-positions@5.1.1(postcss@8.4.30): + resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-normalize-repeat-style@5.1.1(postcss@8.4.28): resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} engines: {node: ^10 || ^12 || >=14.0} @@ -7095,6 +7725,16 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-normalize-repeat-style@5.1.1(postcss@8.4.30): + resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-normalize-string@5.1.0(postcss@8.4.28): resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} engines: {node: ^10 || ^12 || >=14.0} @@ -7105,6 +7745,16 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-normalize-string@5.1.0(postcss@8.4.30): + resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-normalize-timing-functions@5.1.0(postcss@8.4.28): resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} engines: {node: ^10 || ^12 || >=14.0} @@ -7115,6 +7765,16 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-normalize-timing-functions@5.1.0(postcss@8.4.30): + resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-normalize-unicode@5.1.1(postcss@8.4.28): resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} engines: {node: ^10 || ^12 || >=14.0} @@ -7126,6 +7786,17 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-normalize-unicode@5.1.1(postcss@8.4.30): + resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-normalize-url@5.1.0(postcss@8.4.28): resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} engines: {node: ^10 || ^12 || >=14.0} @@ -7137,6 +7808,17 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-normalize-url@5.1.0(postcss@8.4.30): + resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + normalize-url: 6.1.0 + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-normalize-whitespace@5.1.1(postcss@8.4.28): resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} engines: {node: ^10 || ^12 || >=14.0} @@ -7147,6 +7829,16 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-normalize-whitespace@5.1.1(postcss@8.4.30): + resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-ordered-values@5.1.3(postcss@8.4.28): resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -7158,6 +7850,17 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-ordered-values@5.1.3(postcss@8.4.30): + resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-utils: 3.1.0(postcss@8.4.30) + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-reduce-idents@5.2.0(postcss@8.4.28): resolution: {integrity: sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==} engines: {node: ^10 || ^12 || >=14.0} @@ -7168,6 +7871,16 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-reduce-idents@5.2.0(postcss@8.4.30): + resolution: {integrity: sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-reduce-initial@5.1.2(postcss@8.4.28): resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} engines: {node: ^10 || ^12 || >=14.0} @@ -7179,6 +7892,17 @@ packages: postcss: 8.4.28 dev: false + /postcss-reduce-initial@5.1.2(postcss@8.4.30): + resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + caniuse-api: 3.0.0 + postcss: 8.4.30 + dev: false + /postcss-reduce-transforms@5.1.0(postcss@8.4.28): resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -7189,6 +7913,16 @@ packages: postcss-value-parser: 4.2.0 dev: false + /postcss-reduce-transforms@5.1.0(postcss@8.4.30): + resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + dev: false + /postcss-selector-parser@6.0.13: resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} engines: {node: '>=4'} @@ -7207,6 +7941,16 @@ packages: sort-css-media-queries: 2.1.0 dev: false + /postcss-sort-media-queries@4.4.1(postcss@8.4.30): + resolution: {integrity: sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.4.16 + dependencies: + postcss: 8.4.30 + sort-css-media-queries: 2.1.0 + dev: false + /postcss-svgo@5.1.0(postcss@8.4.28): resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} engines: {node: ^10 || ^12 || >=14.0} @@ -7218,6 +7962,17 @@ packages: svgo: 2.8.0 dev: false + /postcss-svgo@5.1.0(postcss@8.4.30): + resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-value-parser: 4.2.0 + svgo: 2.8.0 + dev: false + /postcss-unique-selectors@5.1.1(postcss@8.4.28): resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} engines: {node: ^10 || ^12 || >=14.0} @@ -7228,6 +7983,16 @@ packages: postcss-selector-parser: 6.0.13 dev: false + /postcss-unique-selectors@5.1.1(postcss@8.4.30): + resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + postcss-selector-parser: 6.0.13 + dev: false + /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: false @@ -7241,6 +8006,15 @@ packages: postcss: 8.4.28 dev: false + /postcss-zindex@5.1.0(postcss@8.4.30): + resolution: {integrity: sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.30 + dev: false + /postcss@8.4.28: resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} engines: {node: ^10 || ^12 || >=14} @@ -7250,6 +8024,15 @@ packages: source-map-js: 1.0.2 dev: false + /postcss@8.4.30: + resolution: {integrity: sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: false + /prepend-http@2.0.0: resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} engines: {node: '>=4'} @@ -7431,7 +8214,7 @@ packages: typescript: optional: true dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 address: 1.2.2 browserslist: 4.21.10 chalk: 4.1.2 @@ -7486,7 +8269,7 @@ packages: react: ^16.6.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.15 invariant: 2.2.4 prop-types: 15.8.1 react: 17.0.2 @@ -7508,7 +8291,7 @@ packages: react-base16-styling: 0.6.0 react-dom: 17.0.2(react@17.0.2) react-lifecycles-compat: 3.0.4 - react-textarea-autosize: 8.5.2(@types/react@17.0.64)(react@17.0.2) + react-textarea-autosize: 8.5.3(@types/react@17.0.64)(react@17.0.2) transitivePeerDependencies: - '@types/react' - encoding @@ -7525,7 +8308,7 @@ packages: react-loadable: '*' webpack: '>=4.41.1 || 5.x' dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.15 react-loadable: /@docusaurus/react-loadable@5.5.2(react@17.0.2) webpack: 5.88.2 dev: false @@ -7536,7 +8319,7 @@ packages: react: '>=15' react-router: '>=5' dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.15 react: 17.0.2 react-router: 5.3.4(react@17.0.2) dev: false @@ -7546,7 +8329,7 @@ packages: peerDependencies: react: '>=15' dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.15 history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -7561,7 +8344,7 @@ packages: peerDependencies: react: '>=15' dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.15 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 @@ -7573,13 +8356,13 @@ packages: tiny-warning: 1.0.3 dev: false - /react-textarea-autosize@8.5.2(@types/react@17.0.64)(react@17.0.2): - resolution: {integrity: sha512-uOkyjkEl0ByEK21eCJMHDGBAAd/BoFQBawYK5XItjAmCTeSbjxghd8qnt7nzsLYzidjnoObu6M26xts0YGKsGg==} + /react-textarea-autosize@8.5.3(@types/react@17.0.64)(react@17.0.2): + resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==} engines: {node: '>=10'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.15 react: 17.0.2 use-composed-ref: 1.3.0(react@17.0.2) use-latest: 1.2.1(@types/react@17.0.64)(react@17.0.2) @@ -7630,7 +8413,7 @@ packages: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} dependencies: - resolve: 1.22.4 + resolve: 1.22.6 dev: false /recursive-readdir@2.2.3: @@ -7640,8 +8423,8 @@ packages: minimatch: 3.1.2 dev: false - /regenerate-unicode-properties@10.1.0: - resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 @@ -7657,16 +8440,16 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.22.15 dev: false - /regexp.prototype.flags@1.5.0: - resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 + define-properties: 1.2.1 + set-function-name: 2.0.1 dev: false /regexpu-core@5.3.2: @@ -7675,7 +8458,7 @@ packages: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.0 + regenerate-unicode-properties: 10.1.1 regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 @@ -7798,8 +8581,8 @@ packages: resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} dev: false - /resolve@1.22.4: - resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} + /resolve@1.22.6: + resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} hasBin: true dependencies: is-core-module: 2.13.0 @@ -7836,11 +8619,11 @@ packages: peerDependencies: rollup: ^2.0.0 dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 - terser: 5.19.2 + terser: 5.20.0 dev: false /rollup@2.79.1: @@ -7848,7 +8631,7 @@ packages: engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: false /rtl-detect@1.0.4: @@ -7861,7 +8644,7 @@ packages: dependencies: find-up: 5.0.0 picocolors: 1.0.0 - postcss: 8.4.28 + postcss: 8.4.30 strip-json-comments: 3.1.1 dev: false @@ -7877,8 +8660,8 @@ packages: tslib: 2.6.2 dev: false - /safe-array-concat@1.0.0: - resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} + /safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} engines: {node: '>=0.4'} dependencies: call-bind: 1.0.2 @@ -7920,7 +8703,7 @@ packages: resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} engines: {node: '>= 8.9.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.13 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: false @@ -7929,7 +8712,7 @@ packages: resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} engines: {node: '>= 8.9.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.13 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: false @@ -7938,7 +8721,7 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.13 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) @@ -7946,15 +8729,14 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.13 ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) dev: false - /search-insights@2.7.0: - resolution: {integrity: sha512-GLbVaGgzYEKMvuJbHRhLi1qoBFnjXZGZ6l4LxOYPCp4lI2jDRB3jPU9/XNhMwv6kvnA9slTreq6pvK+b3o3aqg==} - engines: {node: '>=8.16.0'} + /search-insights@2.8.2: + resolution: {integrity: sha512-PxA9M5Q2bpBelVvJ3oDZR8nuY00Z6qwOxL53wNpgzV28M/D6u9WUbImDckjLSILBF8F1hn/mgyuUaOPtjow4Qw==} dev: false /section-matter@1.0.0: @@ -8078,6 +8860,15 @@ packages: - supports-color dev: false + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.0 + dev: false + /setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: false @@ -8141,11 +8932,20 @@ packages: resolution: {integrity: sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.21 + '@polka/url': 1.0.0-next.23 mrmime: 1.0.1 totalist: 1.1.0 dev: false + /sirv@2.0.3: + resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.23 + mrmime: 1.0.1 + totalist: 3.0.1 + dev: false + /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: false @@ -8276,8 +9076,8 @@ packages: engines: {node: '>= 0.8'} dev: false - /std-env@3.4.0: - resolution: {integrity: sha512-YqHeQIIQ8r1VtUZOTOyjsAXAsjr369SplZ5rlQaiJTBsvodvPSCME7vuz8pnQltbQ0Cw0lyFo5Q8uyNwYQ58Xw==} + /std-env@3.4.3: + resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==} dev: false /string-width@4.2.3: @@ -8298,42 +9098,43 @@ packages: strip-ansi: 7.1.0 dev: false - /string.prototype.matchall@4.0.8: - resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + /string.prototype.matchall@4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 has-symbols: 1.0.3 internal-slot: 1.0.5 - regexp.prototype.flags: 1.5.0 + regexp.prototype.flags: 1.5.1 + set-function-name: 2.0.1 side-channel: 1.0.4 dev: false - /string.prototype.trim@1.2.7: - resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 dev: false - /string.prototype.trimend@1.0.6: - resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 dev: false - /string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 dev: false /string_decoder@1.1.1: @@ -8413,6 +9214,17 @@ packages: postcss-selector-parser: 6.0.13 dev: false + /stylehacks@5.1.1(postcss@8.4.30): + resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.10 + postcss: 8.4.30 + postcss-selector-parser: 6.0.13 + dev: false + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -8500,11 +9312,11 @@ packages: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.19.2 + terser: 5.20.0 webpack: 5.88.2 - /terser@5.19.2: - resolution: {integrity: sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==} + /terser@5.20.0: + resolution: {integrity: sha512-e56ETryaQDyebBwJIWYB2TT6f2EZ0fL0sW/JRXNMN26zZdKi2u/E/5my5lG6jNxym6qsrVXfFRmOdV42zlAgLQ==} engines: {node: '>=10'} hasBin: true dependencies: @@ -8556,6 +9368,11 @@ packages: engines: {node: '>=6'} dev: false + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false @@ -8655,8 +9472,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - /ua-parser-js@1.0.35: - resolution: {integrity: sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==} + /ua-parser-js@1.0.36: + resolution: {integrity: sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw==} dev: false /uc.micro@1.0.6: @@ -8705,7 +9522,7 @@ packages: /unified@9.2.0: resolution: {integrity: sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 bail: 1.0.5 extend: 3.0.2 is-buffer: 2.0.5 @@ -8717,7 +9534,7 @@ packages: /unified@9.2.2: resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 bail: 1.0.5 extend: 3.0.2 is-buffer: 2.0.5 @@ -8764,20 +9581,20 @@ packages: /unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /unist-util-visit-parents@3.1.1: resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-is: 4.1.0 dev: false /unist-util-visit@2.0.3: resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-is: 4.1.0 unist-util-visit-parents: 3.1.1 dev: false @@ -8797,8 +9614,8 @@ packages: engines: {node: '>=4'} dev: false - /update-browserslist-db@1.0.11(browserslist@4.21.10): - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + /update-browserslist-db@1.0.12(browserslist@4.21.10): + resolution: {integrity: sha512-tE1smlR58jxbFMtrMpFNRmsrOXlpNXss965T1CrpwuZUzUAg/TBQc94SpyhDLSzrqrJS9xTRBthnZAGcE1oaxg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -8937,14 +9754,14 @@ packages: /vfile-message@2.0.4: resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-stringify-position: 2.0.3 dev: false /vfile@4.2.1: resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 is-buffer: 2.0.5 unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 @@ -8956,7 +9773,7 @@ packages: hasBin: true dependencies: axios: 0.25.0 - joi: 17.9.2 + joi: 17.10.2 lodash: 4.17.21 minimist: 1.2.8 rxjs: 7.8.1 @@ -9009,6 +9826,33 @@ packages: - utf-8-validate dev: false + /webpack-bundle-analyzer@4.9.1: + resolution: {integrity: sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w==} + engines: {node: '>= 10.13.0'} + hasBin: true + dependencies: + '@discoveryjs/json-ext': 0.5.7 + acorn: 8.10.0 + acorn-walk: 8.2.0 + commander: 7.2.0 + escape-string-regexp: 4.0.0 + gzip-size: 6.0.0 + is-plain-object: 5.0.0 + lodash.debounce: 4.0.8 + lodash.escape: 4.0.1 + lodash.flatten: 4.4.0 + lodash.invokemap: 4.6.0 + lodash.pullall: 4.2.0 + lodash.uniqby: 4.7.0 + opener: 1.5.2 + picocolors: 1.0.0 + sirv: 2.0.3 + ws: 7.5.9 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + /webpack-dev-middleware@5.3.3(webpack@5.88.2): resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} engines: {node: '>= 12.13.0'} @@ -9036,8 +9880,8 @@ packages: webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.10 - '@types/connect-history-api-fallback': 1.5.0 + '@types/bonjour': 3.5.11 + '@types/connect-history-api-fallback': 1.5.1 '@types/express': 4.17.17 '@types/serve-index': 1.9.1 '@types/serve-static': 1.15.2 @@ -9066,7 +9910,7 @@ packages: spdy: 4.0.2 webpack: 5.88.2 webpack-dev-middleware: 5.3.3(webpack@5.88.2) - ws: 8.13.0 + ws: 8.14.2 transitivePeerDependencies: - bufferutil - debug @@ -9105,7 +9949,7 @@ packages: browserslist: 4.21.10 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 - es-module-lexer: 1.3.0 + es-module-lexer: 1.3.1 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -9133,7 +9977,7 @@ packages: chalk: 4.1.2 consola: 2.15.3 pretty-time: 1.1.0 - std-env: 3.4.0 + std-env: 3.4.3 webpack: 5.88.2 dev: false @@ -9237,10 +10081,10 @@ packages: engines: {node: '>=10.0.0'} dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) - '@babel/core': 7.22.10 - '@babel/preset-env': 7.22.10(@babel/core@7.22.10) - '@babel/runtime': 7.22.10 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.10)(rollup@2.79.1) + '@babel/core': 7.22.20 + '@babel/preset-env': 7.22.20(@babel/core@7.22.20) + '@babel/runtime': 7.22.15 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.20)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -9362,7 +10206,7 @@ packages: /workbox-window@6.6.0: resolution: {integrity: sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==} dependencies: - '@types/trusted-types': 2.0.3 + '@types/trusted-types': 2.0.4 workbox-core: 6.6.0 dev: false @@ -9410,8 +10254,8 @@ packages: optional: true dev: false - /ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + /ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1