From 9001cd7c258aa3d018dee0bc8495ff43453b9bc1 Mon Sep 17 00:00:00 2001 From: yupili Date: Fri, 16 Sep 2022 18:14:04 +0800 Subject: [PATCH] first init --- .eslintrc.js | 17 + .gitignore | 25 + .vscode/extensions.json | 3 + README.md | 4 + index.html | 13 + package.json | 36 + public/logo.png | Bin 0 -> 4597 bytes src/App.vue | 41 + src/assets/bg.jpeg | Bin 0 -> 131251 bytes src/assets/logo.png | Bin 0 -> 4597 bytes src/assets/vue.svg | 1 + src/configs/routes.ts | 9 + src/core/game.ts | 368 +++++++ src/core/gameV1.ts | 395 +++++++ src/core/globalStore.ts | 74 ++ src/core/type.d.ts | 24 + src/main.ts | 21 + src/pages/IndexPage.vue | 119 +++ src/pages/IndexPageV1.vue | 507 +++++++++ src/style.css | 0 src/vite-env.d.ts | 7 + tsconfig.json | 18 + tsconfig.node.json | 9 + vite.config.ts | 12 + yarn.lock | 2038 +++++++++++++++++++++++++++++++++++++ 25 files changed, 3741 insertions(+) create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 README.md create mode 100644 index.html create mode 100644 package.json create mode 100644 public/logo.png create mode 100644 src/App.vue create mode 100644 src/assets/bg.jpeg create mode 100644 src/assets/logo.png create mode 100644 src/assets/vue.svg create mode 100644 src/configs/routes.ts create mode 100644 src/core/game.ts create mode 100644 src/core/gameV1.ts create mode 100644 src/core/globalStore.ts create mode 100644 src/core/type.d.ts create mode 100644 src/main.ts create mode 100644 src/pages/IndexPage.vue create mode 100644 src/pages/IndexPageV1.vue create mode 100644 src/style.css create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts create mode 100644 yarn.lock diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..98b6948 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,17 @@ +module.exports = { + env: { + browser: true, + es2021: true, + node: true, + }, + extends: ["plugin:vue/vue3-recommended", "plugin:prettier/recommended"], + parserOptions: { + ecmaVersion: "latest", + parser: "@typescript-eslint/parser", + sourceType: "module", + }, + plugins: ["vue", "@typescript-eslint", "prettier"], + rules: { + "prettier/prettier": "error", + }, +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fc5ae9f --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +.vercel diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..f1671f9 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +被羊了个羊虐了后,我自己做了一个! + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..0381c55 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + 鱼了个鱼 + + +
+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..094852d --- /dev/null +++ b/package.json @@ -0,0 +1,36 @@ +{ + "name": "yulegeyu", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vue-tsc --noEmit && vite build", + "preview": "vite preview" + }, + "dependencies": { + "ant-design-vue": "^3.2.11", + "lodash": "^4.17.21", + "pinia": "^2.0.19", + "pinia-plugin-persistedstate": "^2.1.1", + "vue": "^3.2.37", + "vue-router": "4" + }, + "devDependencies": { + "@types/lodash": "^4.14.185", + "@typescript-eslint/eslint-plugin": "^5.23.0", + "@typescript-eslint/parser": "^5.23.0", + "@vitejs/plugin-vue": "^3.0.3", + "eslint": "^8.15.0", + "eslint-config-prettier": "^8.5.0", + "eslint-config-standard": "^17.0.0", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-n": "^15.2.0", + "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-promise": "^6.0.0", + "eslint-plugin-vue": "^8.7.1", + "prettier": "^2.7.1", + "typescript": "^4.6.4", + "vite": "^3.0.7", + "vue-tsc": "^0.39.5" + } +} diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..43ad7f70e441fac41866c88648572d58e20e06b1 GIT binary patch literal 4597 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 literal 0 HcmV?d00001 diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..37ad403 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,41 @@ + + + diff --git a/src/assets/bg.jpeg b/src/assets/bg.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ce40f0f1066bee644f1c22ef1079a0c3f63ebc73 GIT binary patch literal 131251 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 X#Dfu~blQK;G?&;^O5`{BGyZ=7pDei; literal 0 HcmV?d00001 diff --git a/src/assets/logo.png b/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..43ad7f70e441fac41866c88648572d58e20e06b1 GIT binary patch literal 4597 zcmV%dwrmupoN2lkB*VCtg%l^OP!mYm6MgYwz+(HdvI)R zs;H{DwYX?yXN!r8e0X}((bS8IiL_Yi3(yVOwH$YjkgEZ*gXC zPD(^IFEx{hkz`(EURYmLP)~SmcWPg0oROQ9iIbO%m2+rvW?yGuTVO~+M`2iCMn6Sz zXmC+ZQ&3DyO-M&aJwkzYe_dBzURhmOR$EI%N<%t8RZ~_~Q&N9(e{E=PY-ns#OiQSt zsCjXDa%^%{PgYe=Q%y`yZDMR}VQN!RR5>v>d~thwZ+T2gNj^6|e{_9MNKZR6IE{gg zjDd=We1?U3gm!dyURGREPEJlnO+`FEc5rrQVrEcEP?3g@jfIYlgN%uTii&=SgLr{{ za(r-Xa9mbgSXEbBR#Q(*QBY1$eR_UyYH?3VNtln9kcg3HU1(!lU|?5XTT@zCR8whX zXpsc5!cUTvc3D zOj53)kcx?kO-oLoo}XqyAMF4D077(9PE!C42o*vwhw{;{ zAKJ{retB=p?$JlP@1IIi{zX-oMsP8(Mc|CK%)V~w@&bf0mpTC>v?mY3R_4(5WPoFObPp7uN$tQ}3 zN=L4Co$1P6eXSoq>~B)!5=RT3La}&P>CCcP3nS+_* z$L~Mr|EI=;$A!Ch?-q*&L-DRN+tsB%+nT%cxVx>l&Eqpjd)n96m1V`$@vgJS^$+e3 z?Dt2l8hrHHwS>(e@c9f@O+JndhmN^oyW~tS?uj?pEN=FEH<;g~?!829V^T2BikC-cid$ke4!yB1|+HymIBXC?)3cc-whmaVm4R zH7!nOhyNlnR@d8|13`*O429ucyLOo{s^AK3cVhCB0R-8^!7!Pb#%+%6Vo8St7{Cz& zMv~2@e^Kc-qs?_Q|X8jr_yIo;`BsI|nY5PfLRTaDHC3^>d?~Y3# ziRIR|^{3b^-j){cJ}*WKxiXoTeG*(dN{v+tn=~B{J32ZfS^f9cW#XfR#}~6IO9U5I zkWmuz-PJNzG$ETRNf@V^)^FHqU$x48dt=rX^5n5KfCfwfBN+OA>ZiP(iizQ9c73Ki1ubYYQ>`w zLoKr6UL$i8yIclYpu>9umQ|G~2kKe=c>K_zk`Y6}8nw$?|56$7u8y$ z&sQXc7(nE5`3^bPMB_cy7`Ou*4hc}e??tcgTKwhob|3X<_r^WCy)u3&O5!+;GT8MH zcmbPy0(V3LtRtLM==7#aYq~u2TvjbCv*I` zUcc~*=}mZgwOXUme;qa!iVB*>Aoj(2$a``Vf*|!5cl!Ap`N_IfmD;+6Q5E1A4J8E) zbL2Iwb?a2?RJE!a8Ll83Dhf|50+q^i=}(XU+{kzP;(qO+xQ>tNd?lk1lT|YUr_MLG zFp);&)D5=xFb6$(&jJW=^oUozTFobtxQSb%+5xSr6a=w2ghEPMHBpB|@&Rc*d*<}z z&t`dSXCkiE#*LI8-JA3kNCK_CfHa;zwyz#Rn450A+;@KWslZM9s|sSb*VVK3>{O$a z+00e3SP)~~1qOowLG7qkL6!tD2iO(ShdO=v^03c;xS&}{3Pb&TqGV_wg|Pfo({7^q z22#(gVl(zNpRcXk3fAO963fj^7k5J5!#ECecR&DvfKgFuQ396=1WHGU*YQv!%4E)5 ze)44Cr_u7Xwe|KI34U!YM_UpI6he3(QYOkE1~4EJX>mtN)O!5%lTS+D96%_Yj?ZFTsMeCClorCx&Gg|$ zfK)L+w^g<0y&%cfS+nZatPe2u>;#Bf%{g|gf!~_DtnJQN(bbNu)O9tRYpfR<8QXdjA;E}H z2|^;a?t{yS*dnnAzL(5D=Oje!vG+&X3JYylK%c`*^~OJmR6di9h#NfR;=Hir)lAG)Jo+8 zycIdttz(#L7A6f#u{azKTRK9wnzc}e!}02s)!IVfT8=Y7>=jlPZrZqi-`*pKkFHts zaLZu$|4}bboqWPU`)HCRi6@&^LMr9l$2CkjoH^7^s!FR?GfdeG> zXZ6=A%b^aiXu+Z$hkeBmuHz{X;w)sX-`_4v)EXc&6D&nV_X;a3cWpYc_wdoAWYDFX z8rngU3Xq&zo>QE+etC`>$1Rdy$;%Q7da_Qfo`QYNqEOeXS%0r^ z>*He=CZj|-^+ee#(WoU+gEj#zv8=NPB&;NY1a09#SYOf~A&Ji$HC3BTMiq}6R<1M< z&zhRf=4a|Fw(H>sG^cXoop%^8_EZf|BNQ}4!F5zqhvT$^4LDs+e}Dx`w-;^yq1ZRf z0|(%$hQY#QijtbkS5}^VrchjOs@Lb{=5DV5OYW*oXBNnkOJ&^<2{>rDa|D-HV`+t# zW}Q)$KY%2XC~DOP&CG8lX`!yL&({zINlD3bBhPGu?4}gYK0H&byOy~MVq?{+?YX-y z48VZdZw_z--Wzd*rI8^@fk02N$LRz~sl-zC`G!N^&jsVUI((7D?dt68?2?iVo%r(Q zC-Y#XACTlTyeU5y(y6Fu{o_d(V%o*a8f`01BMa5SF%+%S={%mG5OkUY<+@T`X;u9r z!%*xyriMbkNL-d|$SyIdXp$h><&6q~cdqH|xpPfb>O;L9e1EyI82*GRp$H36t~3Kd zLCA8M%^r_O*U(YVaM<^x-|Bc8vG+={cRoK@OFER214$Gul;Q!3aD4OUA^X%5!a*l1 zq408LXSB^F2tq9Aa>)`%4{i+B57V1{9$8X?BqcVtl2`I10=->@0Kw!54x2gamW$?S*Vl*tFf}Ygd`0O z=3p=uiwOmYEQH;j2#vt{XIQmKNH!i?k1A>Bd0I{nf@q--jdQWjG)g?n$`YM9O8`lM zOwtj|0!RNW{kY>clDvT3_58U_rE)u+;6XPXss&6ZhhW$&Or}f>uu@7Q2uP4Z7>50j z9jlX)>}oiVMo2NBwzgJDBS&3bvG%J?dBEyqMI?aI28>?TSJq*zT4#4e% zC2MCz5iG5n2YfZ6*7P6=%gT}CEw2W+6Fxg>~CGhP>>5aoJ*!Q9vFHv7A0ZBX_x7%Z}iKBnz z$=Jja2x4&bN;*|2^t^U3OczDW(L4IuF( zz>!Eq5}vqjGWJ`HHyYbO;&OGWlq6fH(O9VO!zit$R2P6aw439;crauBZ$G#kk&%%h zdD;TzK&i*ez|7lUPz=&Fc;O;3hv&>0i2XSO5sMa%88Qazk8z%`+3Ot!CHzCur%xZ9 fo`(JBKYxo)6d{22tc3{g00000NkvXXu0mjfLXMwK literal 0 HcmV?d00001 diff --git a/src/assets/vue.svg b/src/assets/vue.svg new file mode 100644 index 0000000..770e9d3 --- /dev/null +++ b/src/assets/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/configs/routes.ts b/src/configs/routes.ts new file mode 100644 index 0000000..4002532 --- /dev/null +++ b/src/configs/routes.ts @@ -0,0 +1,9 @@ +import { RouteRecordRaw } from "vue-router"; +import IndexPage from "../pages/IndexPage.vue"; + +export default [ + { + path: "/", + component: IndexPage, + }, +] as RouteRecordRaw[]; diff --git a/src/core/game.ts b/src/core/game.ts new file mode 100644 index 0000000..c6a4dd8 --- /dev/null +++ b/src/core/game.ts @@ -0,0 +1,368 @@ +/** + * 游戏逻辑 V2(不固定 level) + * + * @author yupi https://github.com/liyupi + */ +import { useGlobalStore } from "./globalStore"; +// @ts-ignore +import _ from "lodash"; +import { nextTick, ref } from "vue"; + +const useGame = () => { + const { gameConfig } = useGlobalStore(); + + // 游戏状态:0 - 初始化, 1 - 进行中, 2 - 结束 + const gameStatus = ref(0); + + // 各层块 + const levelBlocksVal = ref([]); + // 随机区块 + const randomBlocksVal = ref([]); + // 插槽区 + const slotAreaVal = ref([]); + // 当前槽占用数 + const currSlotNum = ref(0); + + // 保存所有块(包括随机块) + const blockData: Record = {}; + + // 总共划分 24 x 24 的格子,每个块占 3 x 3 的格子,生成的起始 x 和 y 坐标范围均为 0 ~ 21 + const boxWidthNum = 24; + const boxHeightNum = 24; + + // 每个格子的宽高 + const widthUnit = 14; + const heightUnit = 14; + + // 保存整个 "棋盘" 的每个格子状态(下标为格子起始点横纵坐标) + let chessBoard: ChessBoardUnitType[][] = []; + + /** + * 初始化指定大小的棋盘 + * @param width + * @param height + */ + const initChessBoard = (width: number, height: number) => { + chessBoard = new Array(width); + for (let i = 0; i < width; i++) { + chessBoard[i] = new Array(height); + for (let j = 0; j < height; j++) { + chessBoard[i][j] = { + blocks: [], + }; + } + } + }; + + // 初始化棋盘 + initChessBoard(boxWidthNum, boxHeightNum); + + /** + * 游戏初始化 + */ + const initGame = () => { + console.log("initGame", gameConfig); + + // 0. 设置父容器宽高 + const levelBoardDom: any = document.getElementsByClassName("level-board"); + levelBoardDom[0].style.width = widthUnit * boxWidthNum + "px"; + levelBoardDom[0].style.height = heightUnit * boxHeightNum + "px"; + + // 1. 规划块数 + // 块数单位(总块数必须是该值的倍数) + const blockNumUnit = gameConfig.composeNum * gameConfig.typeNum; + console.log("块数单位", blockNumUnit); + + // 随机生成的总块数 + const totalRandomBlockNum = gameConfig.randomBlocks.reduce((pre, curr) => { + return pre + curr; + }, 0); + console.log("随机生成的总块数", totalRandomBlockNum); + + // 需要的最小块数 + const minBlockNum = + gameConfig.levelNum * gameConfig.levelBlockNum + totalRandomBlockNum; + console.log("需要的最小块数", minBlockNum); + + // 补齐到 blockNumUnit 的倍数 + // e.g. minBlockNum = 14, blockNumUnit = 6, 补到 18 + let totalBlockNum = minBlockNum; + if (totalBlockNum % blockNumUnit !== 0) { + totalBlockNum = + (Math.floor(minBlockNum / blockNumUnit) + 1) * blockNumUnit; + } + console.log("总块数", totalBlockNum); + + // 2. 初始化块,随机生成块的内容 + // 保存所有块的数组 + const animalBlocks: string[] = []; + // 需要用到的动物数组 + const needAnimals = gameConfig.animals.slice(0, gameConfig.typeNum); + // 依次把块塞到数组里 + for (let i = 0; i < totalBlockNum; i++) { + animalBlocks.push(needAnimals[i % gameConfig.typeNum]); + } + // 打乱数组 + const randomAnimalBlocks = _.shuffle(animalBlocks); + + // 初始化 + const allBlocks: BlockType[] = []; + for (let i = 0; i < totalBlockNum; i++) { + const newBlock = { + id: i, + status: 0, + level: 0, + type: randomAnimalBlocks[i], + higherThanBlocks: [] as BlockType[], + lowerThanBlocks: [] as BlockType[], + } as BlockType; + allBlocks.push(newBlock); + } + + // 下一个要塞入的块 + let pos = 0; + + // 3. 计算随机生成的块 + const randomBlocks: BlockType[][] = []; + gameConfig.randomBlocks.forEach((randomBlock, idx) => { + randomBlocks[idx] = []; + for (let i = 0; i < randomBlock; i++) { + randomBlocks[idx].push(allBlocks[pos]); + blockData[pos] = allBlocks[pos]; + pos++; + } + }); + + // 剩余块数 + let leftBlockNum = totalBlockNum - totalRandomBlockNum; + + // 4. 计算有层级关系的块 + const levelBlocks: BlockType[] = []; + let minX = 0; + let maxX = 22; + let minY = 0; + let maxY = 22; + // 分为 gameConfig.levelNum 批,依次生成,每批的边界不同 + for (let i = 0; i < gameConfig.levelNum; i++) { + let nextBlockNum = Math.min(gameConfig.levelBlockNum, leftBlockNum); + // 最后一批,分配所有 leftBlockNum + if (i == gameConfig.levelNum - 1) { + nextBlockNum = leftBlockNum; + } + // 边界收缩 + if (gameConfig.borderStep > 0) { + const dir = i % 4; + if (i > 0) { + if (dir === 0) { + minX += gameConfig.borderStep; + } else if (dir === 1) { + maxY -= gameConfig.borderStep; + } else if (dir === 2) { + minY += gameConfig.borderStep; + } else { + maxX -= gameConfig.borderStep; + } + } + } + const nextGenBlocks = allBlocks.slice(pos, pos + nextBlockNum); + levelBlocks.push(...nextGenBlocks); + pos = pos + nextBlockNum; + // 生成块的坐标 + genLevelBlockPos(nextGenBlocks, minX, minY, maxX, maxY); + leftBlockNum -= nextBlockNum; + if (leftBlockNum <= 0) { + break; + } + } + console.log("最终剩余块数", leftBlockNum); + + // 4. 初始化空插槽 + const slotArea: BlockType[] = new Array(gameConfig.slotNum).fill(null); + console.log("随机块情况", randomBlocks); + + return { + levelBlocks, + randomBlocks, + slotArea, + }; + }; + + /** + * 生成一批层级块(坐标、层级关系) + * @param blocks + * @param minX + * @param minY + * @param maxX + * @param maxY + */ + const genLevelBlockPos = ( + blocks: BlockType[], + minX: number, + minY: number, + maxX: number, + maxY: number + ) => { + // 记录这批块的坐标,用于保证同批次元素不能完全重叠 + const currentPosSet = new Set(); + for (let i = 0; i < blocks.length; i++) { + const block = blocks[i]; + // 随机生成坐标 + let newPosX; + let newPosY; + let key; + while (true) { + newPosX = Math.floor(Math.random() * maxX + minX); + newPosY = Math.floor(Math.random() * maxY + minY); + key = newPosX + "," + newPosY; + // 同批次元素不能完全重叠 + if (!currentPosSet.has(key)) { + break; + } + } + chessBoard[newPosX][newPosY].blocks.push(block); + currentPosSet.add(key); + block.x = newPosX; + block.y = newPosY; + // 填充层级关系 + genLevelRelation(block); + } + }; + + /** + * 给块绑定层级关系(用于确认哪些元素是当前可点击的) + * 核心逻辑:每个块压住和其坐标有交集棋盘格内所有 level 大于它的点,双向建立联系 + * @param block + */ + const genLevelRelation = (block: BlockType) => { + // 确定该块附近的格子坐标范围 + const minX = Math.max(block.x - 2, 0); + const minY = Math.max(block.y - 2, 0); + const maxX = Math.min(block.x + 3, boxWidthNum - 2); + const maxY = Math.min(block.y + 3, boxWidthNum - 2); + // 遍历该块附近的格子 + let maxLevel = 0; + for (let i = minX; i < maxX; i++) { + for (let j = minY; j < maxY; j++) { + const relationBlocks = chessBoard[i][j].blocks; + if (relationBlocks.length > 0) { + // 取当前位置最高层的块 + const maxLevelRelationBlock = + relationBlocks[relationBlocks.length - 1]; + // 排除自己 + if (maxLevelRelationBlock.id === block.id) { + continue; + } + maxLevel = Math.max(maxLevel, maxLevelRelationBlock.level); + block.higherThanBlocks.push(maxLevelRelationBlock); + maxLevelRelationBlock.lowerThanBlocks.push(block); + } + } + } + // 比最高层的块再高一层(初始为 1) + block.level = maxLevel + 1; + }; + + /** + * 点击块事件 + * @param block + * @param e + * @param randomIdx 随机区域下标,>= 0 表示点击的是随机块 + */ + const doClickBlock = (block: BlockType, e: Event, randomIdx = -1) => { + // 已经输了 / 已经被点击 / 有上层块,不能再点击 + if ( + currSlotNum.value >= gameConfig.slotNum || + block.status !== 0 || + block.lowerThanBlocks.length > 0 + ) { + return; + } + // 修改元素状态为已点击 + block.status = 1; + // 移除当前元素 + if (randomIdx >= 0) { + // 移除所点击的随机区域的第一个元素 + randomBlocksVal.value[randomIdx] = randomBlocksVal.value[randomIdx].slice( + 1, + randomBlocksVal.value[randomIdx].length + ); + } else { + // 删除节点 + // @ts-ignore + e.target.remove(); + // 移除覆盖关系 + block.higherThanBlocks.forEach((higherThanBlock) => { + _.remove(higherThanBlock.lowerThanBlocks, (lowerThanBlock) => { + return lowerThanBlock.id === block.id; + }); + }); + } + // 新元素加入插槽 + let tempSlotNum = currSlotNum.value; + slotAreaVal.value[tempSlotNum] = block; + // 检查是否有可消除的 + // block => 出现次数 + const map: Record = {}; + // 去除空槽 + const tempSlotAreaVal = slotAreaVal.value.filter( + (slotBlock) => !!slotBlock + ); + tempSlotAreaVal.forEach((slotBlock) => { + const type = slotBlock.type; + if (!map[type]) { + map[type] = 1; + } else { + map[type]++; + } + }); + console.log("tempSlotAreaVal", tempSlotAreaVal); + console.log("map", map); + // 得到新数组 + const newSlotAreaVal = new Array(gameConfig.slotNum).fill(null); + tempSlotNum = 0; + tempSlotAreaVal.forEach((slotBlock) => { + // 成功消除(不添加到新数组中) + if (map[slotBlock.type] >= gameConfig.composeNum) { + // 块状态改为已消除 + slotBlock.status = 2; + return; + } + newSlotAreaVal[tempSlotNum++] = slotBlock; + }); + slotAreaVal.value = newSlotAreaVal; + currSlotNum.value = tempSlotNum; + // 游戏结束 + if (tempSlotNum >= gameConfig.slotNum) { + gameStatus.value = 2; + setTimeout(() => { + alert("你输了"); + }, 2000); + } + }; + + /** + * 开始游戏 + */ + const doStart = () => { + gameStatus.value = 0; + const { levelBlocks, randomBlocks, slotArea } = initGame(); + console.log(levelBlocks, randomBlocks, slotArea); + levelBlocksVal.value = levelBlocks; + randomBlocksVal.value = randomBlocks; + slotAreaVal.value = slotArea; + gameStatus.value = 1; + }; + + return { + gameStatus, + levelBlocksVal, + randomBlocksVal, + slotAreaVal, + widthUnit, + heightUnit, + doClickBlock, + doStart, + }; +}; + +export default useGame; diff --git a/src/core/gameV1.ts b/src/core/gameV1.ts new file mode 100644 index 0000000..22c6232 --- /dev/null +++ b/src/core/gameV1.ts @@ -0,0 +1,395 @@ +/** + * 游戏逻辑 V1(划分层级生成,可能出现同层级互相覆盖的情况,故废弃) + * + * @author yupi https://github.com/liyupi + */ +import { useGlobalStore } from "./globalStore"; +// @ts-ignore +import _ from "lodash"; +import { nextTick, ref } from "vue"; + +const useGameV1 = () => { + const { gameConfig } = useGlobalStore(); + + // 游戏状态:0 - 初始化, 1 - 进行中, 2 - 结束 + const gameStatus = ref(0); + + // 各层块 + const levelBlocksVal = ref([]); + // 随机区块 + const randomBlocksVal = ref([]); + // 插槽区 + const slotAreaVal = ref([]); + // 当前槽占用数 + const currSlotNum = ref(0); + + // 保存所有块(包括随机块) + const blockData: Record = {}; + + // 总共划分 24 x 24 的格子,每个块占 3 x 3 的格子,生成的起始 x 和 y 坐标范围均为 0 ~ 21 + const boxWidthNum = 24; + const boxHeightNum = 24; + + // 保存整个 "棋盘" 的每个格子状态(下标为格子起始点横纵坐标) + let chessBoard: ChessBoardUnitType[][] = []; + + /** + * 初始化指定大小的棋盘 + * @param width + * @param height + */ + const initChessBoard = (width: number, height: number) => { + chessBoard = new Array(width); + for (let i = 0; i < width; i++) { + chessBoard[i] = new Array(height); + for (let j = 0; j < height; j++) { + chessBoard[i][j] = { + blocks: [], + }; + } + } + }; + + // 初始化棋盘 + initChessBoard(boxWidthNum, boxHeightNum); + + /** + * 游戏初始化 + */ + const initGame = () => { + console.log("initGame", gameConfig); + + // 1. 规划块数 + // 块数单位(总块数必须是该值的倍数) + const blockNumUnit = gameConfig.composeNum * gameConfig.typeNum; + console.log("块数单位", blockNumUnit); + + // 随机生成的总块数 + const totalRandomBlockNum = gameConfig.randomBlocks.reduce((pre, curr) => { + return pre + curr; + }, 0); + console.log("随机生成的总块数", totalRandomBlockNum); + + // 需要的最小块数 + const minBlockNum = Math.ceil( + (gameConfig.levelNum * + (gameConfig.topBlockNum + gameConfig.minBottomBlockNum)) / + 2 + + totalRandomBlockNum + ); + console.log("需要的最小块数", minBlockNum); + + // 补齐到 blockNumUnit 的倍数 + // e.g. minBlockNum = 14, blockNumUnit = 6, 补到 18 + let totalBlockNum = minBlockNum; + if (totalBlockNum % blockNumUnit !== 0) { + totalBlockNum = + (Math.floor(minBlockNum / blockNumUnit) + 1) * blockNumUnit; + } + console.log("总块数", totalBlockNum); + + // 2. 随机生成块 + // 保存所有块的数组 + const animalBlocks: string[] = []; + // 需要用到的动物数组 + const needAnimals = gameConfig.animals.slice(0, gameConfig.typeNum); + // 依次把块塞到数组里 + for (let i = 0; i < totalBlockNum; i++) { + animalBlocks.push(needAnimals[i % gameConfig.typeNum]); + } + // 打乱数组 + const randomAnimalBlocks = _.shuffle(animalBlocks); + // 下一个要塞入的块 + let pos = 0; + + // 3. 填充结果 + // 计算随机生成的块 + const randomBlocks: BlockType[][] = []; + gameConfig.randomBlocks.forEach((randomBlock, idx) => { + randomBlocks[idx] = []; + for (let i = 0; i < randomBlock; i++) { + const newBlock = { + id: pos, + level: i, + status: 0, + type: randomAnimalBlocks[pos], + higherThanBlocks: [] as BlockType[], + lowerThanBlocks: [] as BlockType[], + } as BlockType; + randomBlocks[idx].push(newBlock); + blockData[pos] = newBlock; + pos++; + } + }); + // 剩余块数 + let leftBlockNum = totalBlockNum - totalRandomBlockNum; + + // 计算每层生成的块数 + // 每层递减块数 + // e.g. 最上层 38 块,最下层不小于 20 块,共 10 层,则每层递减块数为 18 / 9 = 2 + const stepNum = Math.floor( + (gameConfig.topBlockNum - gameConfig.minBottomBlockNum) / + (gameConfig.levelNum - 1) + ); + console.log("每层递减块数", stepNum); + + // 下一层要分配的块数 + let nextBlockNum = gameConfig.topBlockNum; + // 各层的块 + const levelBlocks: BlockType[][] = []; + for (let i = 0; i < gameConfig.levelNum; i++) { + // 最后一层,所有的块都分配出去 + if (i == gameConfig.levelNum - 1) { + nextBlockNum = leftBlockNum; + } + levelBlocks[i] = []; + // 添加新块 + for (let j = 0; j < nextBlockNum; j++) { + if (pos >= totalBlockNum) { + break; + } + const newBlock = { + id: pos, + level: i, + status: 0, + type: randomAnimalBlocks[pos], + higherThanBlocks: [] as BlockType[], + lowerThanBlocks: [] as BlockType[], + } as BlockType; + levelBlocks[i].push(newBlock); + blockData[pos] = newBlock; + pos++; + } + leftBlockNum -= nextBlockNum; + nextBlockNum -= stepNum; + } + console.log("剩余块数", leftBlockNum); + + // 4. 初始化空插槽 + const slotArea: BlockType[] = new Array(gameConfig.slotNum).fill(null); + + console.log( + "各层数量", + levelBlocks + .map((levelBlock, idx) => `第${idx}层:${levelBlock.length} 块`) + .join("\n") + ); + console.log("随机块情况", randomBlocks); + + return { + levelBlocks, + randomBlocks, + slotArea, + }; + }; + + /** + * 随机生成块坐标 + */ + const randomPos = () => { + const levelBoardDom: any = document.getElementsByClassName("level-board"); + // 为方便给格子设置固定宽高,不动态计算了 + // const totalWidth = levelBoardDom[0].clientWidth; + const blockDomList = document.getElementsByClassName("level-block"); + // 每个格子的宽高 + const widthUnit = 14; + const heightUnit = 14; + // 设置父容器宽高 + levelBoardDom[0].style.width = widthUnit * boxWidthNum + "px"; + levelBoardDom[0].style.height = heightUnit * boxHeightNum + "px"; + // 遍历时层级递增 + for (let i = 0; i < blockDomList.length; i++) { + let blockDom: any = blockDomList[i]; + const blockId = blockDom.dataset.id; + const block = blockData[blockId]; + blockDom.style.position = "absolute"; + // 随机生成坐标,当前层级不能重复 + let newPosX; + let newPosY; + while (true) { + newPosX = Math.floor(Math.random() * (boxWidthNum - 2)); + newPosY = Math.floor(Math.random() * (boxHeightNum - 2)); + const currChessBoardUnit = chessBoard[newPosX][newPosY]; + // 同层级元素不能完全重叠 + if ( + currChessBoardUnit.blocks.length < 1 || + currChessBoardUnit.blocks[currChessBoardUnit.blocks.length - 1] + .level != block.level + ) { + break; + } + } + chessBoard[newPosX][newPosY].blocks.push(block); + block.x = newPosX; + block.y = newPosY; + blockDom.style.left = newPosX * widthUnit + "px"; + blockDom.style.top = newPosY * heightUnit + "px"; + } + }; + + // 可能导致死循环,暂不使用 + // /** + // * 判断某个坐标是否和其他块有重叠 + // * @param x + // * @param y + // * @param block + // */ + // const hasOverlap = (x: number, y: number, block: BlockType) => { + // // 确定该块附近的格子坐标范围 + // const minX = Math.max(x - 2, 0); + // const minY = Math.max(y - 2, 0); + // const maxX = Math.min(x + 3, boxWidthNum - 2); + // const maxY = Math.min(y + 3, boxWidthNum - 2); + // // 遍历该块附近的格子 + // for (let i = minX; i < maxX; i++) { + // for (let j = minY; j < maxY; j++) { + // const relationBlocks = chessBoard[i][j].blocks; + // for (const relationBlock of relationBlocks) { + // if (relationBlocks[relationBlocks.length - 1].level != block.level) { + // return false; + // } + // } + // } + // } + // return true; + // }; + + /** + * 绑定层级覆盖关系(用于确认哪些元素是当前可点击的) + * + * 核心逻辑:每个块压住和其坐标有交集棋盘格内所有 level 大于它的点,双向建立联系 + */ + const bindLevelRelation = () => { + levelBlocksVal.value.forEach((levelBlock) => { + levelBlock.forEach((block) => { + const x = block.x; + const y = block.y; + // 确定该块附近的格子坐标范围 + const minX = Math.max(x - 2, 0); + const minY = Math.max(y - 2, 0); + const maxX = Math.min(x + 3, boxWidthNum - 2); + const maxY = Math.min(y + 3, boxWidthNum - 2); + // 遍历该块附近的格子 + for (let i = minX; i < maxX; i++) { + for (let j = minY; j < maxY; j++) { + const relationBlocks = chessBoard[i][j].blocks; + relationBlocks.forEach((relationBlock) => { + // 建立覆盖关系 + if (relationBlock.level > block.level) { + block.higherThanBlocks.push(relationBlock); + relationBlock.lowerThanBlocks.push(block); + } + }); + } + } + }); + }); + }; + + /** + * 点击块事件 + * @param block + * @param e + * @param randomIdx 随机区域下标,>= 0 表示点击的是随机块 + */ + const doClickBlock = (block: BlockType, e: Event, randomIdx = -1) => { + // 已经输了 / 已经被点击 / 有上层块,不能再点击 + if ( + currSlotNum.value >= gameConfig.slotNum || + block.status !== 0 || + block.lowerThanBlocks.length > 0 + ) { + return; + } + // 修改元素状态为已点击 + block.status = 1; + // 移除当前元素 + if (randomIdx >= 0) { + // 移除所点击的随机区域的第一个元素 + randomBlocksVal.value[randomIdx] = randomBlocksVal.value[randomIdx].slice( + 1, + randomBlocksVal.value[randomIdx].length + ); + } else { + // 删除节点 + // @ts-ignore + e.target.remove(); + // 移除覆盖关系 + block.higherThanBlocks.forEach((higherThanBlock) => { + _.remove(higherThanBlock.lowerThanBlocks, (lowerThanBlock) => { + return lowerThanBlock.id === block.id; + }); + }); + } + // 新元素加入插槽 + let tempSlotNum = currSlotNum.value; + slotAreaVal.value[tempSlotNum] = block; + // 检查是否有可消除的 + // block => 出现次数 + const map: Record = {}; + // 去除空槽 + const tempSlotAreaVal = slotAreaVal.value.filter( + (slotBlock) => !!slotBlock + ); + tempSlotAreaVal.forEach((slotBlock) => { + const type = slotBlock.type; + if (!map[type]) { + map[type] = 1; + } else { + map[type]++; + } + }); + console.log("tempSlotAreaVal", tempSlotAreaVal); + console.log("map", map); + // 得到新数组 + const newSlotAreaVal = new Array(gameConfig.slotNum).fill(null); + tempSlotNum = 0; + tempSlotAreaVal.forEach((slotBlock) => { + // 成功消除(不添加到新数组中) + if (map[slotBlock.type] >= gameConfig.composeNum) { + // 块状态改为已消除 + slotBlock.status = 2; + return; + } + newSlotAreaVal[tempSlotNum++] = slotBlock; + }); + slotAreaVal.value = newSlotAreaVal; + currSlotNum.value = tempSlotNum; + // 游戏结束 + if (tempSlotNum >= gameConfig.slotNum) { + gameStatus.value = 2; + setTimeout(() => { + alert("你输了"); + }, 2000); + } + }; + + /** + * 开始游戏 + */ + const doStart = () => { + gameStatus.value = 0; + const { levelBlocks, randomBlocks, slotArea } = initGame(); + console.log(levelBlocks, randomBlocks, slotArea); + levelBlocksVal.value = levelBlocks; + randomBlocksVal.value = randomBlocks; + slotAreaVal.value = slotArea; + // 等 dom 更新后才刷新坐标 + nextTick(() => { + randomPos(); + bindLevelRelation(); + gameStatus.value = 1; + }); + }; + + return { + gameStatus, + levelBlocksVal, + randomBlocksVal, + slotAreaVal, + doClickBlock, + doStart, + }; +}; + +export default useGameV1; diff --git a/src/core/globalStore.ts b/src/core/globalStore.ts new file mode 100644 index 0000000..da9065c --- /dev/null +++ b/src/core/globalStore.ts @@ -0,0 +1,74 @@ +import { defineStore } from "pinia"; + +const defaultGameConfig = { + // 槽容量 + slotNum: 7, + // 需要多少个一样块的才能合成 + composeNum: 3, + // 动物类别数 + typeNum: 10, + // 每层块数(大致) + levelBlockNum: 30, + // 边界收缩步长 + borderStep: 1, + // 总层数(最小为 2) + levelNum: 2, + // 最上层块数 + topBlockNum: 40, + // 最下层块数最小值 + minBottomBlockNum: 20, + // 随机区块数(数组长度代表随机区数量,值表示每个随机区生产多少块) + randomBlocks: [8, 8], + // 动物数组 + animals: [ + "🐔", + "🐟", + "🦆", + "🐶", + "🐱", + "🐴", + "🐑", + "🐦", + "🐧", + "🐊", + "🐺", + "🐒", + "🐳", + "🐬", + "🐢", + "🦖", + "🦒", + "🦁", + "🐍", + "🐭", + "🐂", + ], +}; + +/** + * 全局状态存储 + * + * @author yupi + */ +export const useGlobalStore = defineStore("global", { + state: () => ({ + gameConfig: { ...defaultGameConfig }, + }), + getters: {}, + // 持久化 + persist: { + key: "global", + storage: window.localStorage, + beforeRestore: (context) => { + console.log("load globalStore data start"); + }, + afterRestore: (context) => { + console.log("load globalStore data end"); + }, + }, + actions: { + reset() { + this.$reset(); + }, + }, +}); diff --git a/src/core/type.d.ts b/src/core/type.d.ts new file mode 100644 index 0000000..a0c1e7b --- /dev/null +++ b/src/core/type.d.ts @@ -0,0 +1,24 @@ +/** + * 块类型 + */ +interface BlockType { + id: number; + x: number; + y: number; + level: number; + type: string; + // 0 - 正常, 1 - 已点击, 2 - 已消除 + status: 0 | 1 | 2; + // 压住的其他块 + higherThanBlocks: BlockType[]; + // 被哪些块压住(为空表示可点击) + lowerThanBlocks: BlockType[]; +} + +/** + * 每个格子单元类型 + */ +interface ChessBoardUnitType { + // 放到当前格子里的块(层级越高下标越大) + blocks: BlockType[]; +} diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..82d8237 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,21 @@ +import { createApp } from "vue"; +import Antd from "ant-design-vue"; +import App from "./App.vue"; +import * as VueRouter from "vue-router"; +import routes from "./configs/routes"; +import { createPinia } from "pinia"; +import piniaPluginPersistedstate from "pinia-plugin-persistedstate"; +import "ant-design-vue/dist/antd.css"; +import "./style.css"; + +// 路由 +const router = VueRouter.createRouter({ + history: VueRouter.createWebHashHistory(), + routes, +}); + +// 状态管理 +const pinia = createPinia(); +pinia.use(piniaPluginPersistedstate); + +createApp(App).use(Antd).use(router).use(pinia).mount("#app"); diff --git a/src/pages/IndexPage.vue b/src/pages/IndexPage.vue new file mode 100644 index 0000000..a8d0adb --- /dev/null +++ b/src/pages/IndexPage.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/src/pages/IndexPageV1.vue b/src/pages/IndexPageV1.vue new file mode 100644 index 0000000..6e552cd --- /dev/null +++ b/src/pages/IndexPageV1.vue @@ -0,0 +1,507 @@ + + + + + diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..e69de29 diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..323c78a --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1,7 @@ +/// + +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const component: DefineComponent<{}, {}, any> + export default component +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..d4aefa2 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "moduleResolution": "Node", + "strict": true, + "jsx": "preserve", + "sourceMap": true, + "resolveJsonModule": true, + "isolatedModules": true, + "esModuleInterop": true, + "lib": ["ESNext", "DOM"], + "skipLibCheck": true + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..9d31e2a --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..4985aff --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from "vite"; +import vue from "@vitejs/plugin-vue"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + vue({ + // 支持 Markdown 文件加载 + include: [/\.vue$/], + }), + ], +}); diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..173822e --- /dev/null +++ b/yarn.lock @@ -0,0 +1,2038 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ant-design/colors@^6.0.0": + version "6.0.0" + resolved "https://registry.npmmirror.com/@ant-design/colors/-/colors-6.0.0.tgz#9b9366257cffcc47db42b9d0203bb592c13c0298" + integrity sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ== + dependencies: + "@ctrl/tinycolor" "^3.4.0" + +"@ant-design/icons-svg@^4.2.1": + version "4.2.1" + resolved "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz#8630da8eb4471a4aabdaed7d1ff6a97dcb2cf05a" + integrity sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw== + +"@ant-design/icons-vue@^6.1.0": + version "6.1.0" + resolved "https://registry.npmmirror.com/@ant-design/icons-vue/-/icons-vue-6.1.0.tgz#f9324fdc0eb4cea943cf626d2bf3db9a4ff4c074" + integrity sha512-EX6bYm56V+ZrKN7+3MT/ubDkvJ5rK/O2t380WFRflDcVFgsvl3NLH7Wxeau6R8DbrO5jWR6DSTC3B6gYFp77AA== + dependencies: + "@ant-design/colors" "^6.0.0" + "@ant-design/icons-svg" "^4.2.1" + +"@babel/parser@^7.16.4": + version "7.18.11" + resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9" + integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ== + +"@babel/runtime@^7.10.5": + version "7.18.9" + resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" + integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== + dependencies: + regenerator-runtime "^0.13.4" + +"@ctrl/tinycolor@^3.4.0": + version "3.4.1" + resolved "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz#75b4c27948c81e88ccd3a8902047bcd797f38d32" + integrity sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw== + +"@esbuild/linux-loong64@0.14.54": + version "0.14.54" + resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" + integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw== + +"@eslint/eslintrc@^1.3.0": + version "1.3.0" + resolved "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" + integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.3.2" + globals "^13.15.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.10.4": + version "0.10.4" + resolved "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" + integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/gitignore-to-minimatch@^1.0.2": + version "1.0.2" + resolved "https://registry.npmmirror.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" + integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@simonwep/pickr@~1.8.0": + version "1.8.2" + resolved "https://registry.npmmirror.com/@simonwep/pickr/-/pickr-1.8.2.tgz#96dc86675940d7cad63d69c22083dd1cbb9797cb" + integrity sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA== + dependencies: + core-js "^3.15.1" + nanopop "^2.1.0" + +"@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.npmmirror.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/lodash@^4.14.185": + version "4.14.185" + resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.185.tgz#c9843f5a40703a8f5edfd53358a58ae729816908" + integrity sha512-evMDG1bC4rgQg4ku9tKpuMh5iBNEwNa3tf9zRHdP1qlv+1WUg44xat4IxCE14gIpZRGUUWAx2VhItCZc25NfMA== + +"@typescript-eslint/eslint-plugin@^5.23.0": + version "5.33.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.1.tgz#c0a480d05211660221eda963cc844732fe9b1714" + integrity sha512-S1iZIxrTvKkU3+m63YUOxYPKaP+yWDQrdhxTglVDVEVBf+aCSw85+BmJnyUaQQsk5TXFG/LpBu9fa+LrAQ91fQ== + dependencies: + "@typescript-eslint/scope-manager" "5.33.1" + "@typescript-eslint/type-utils" "5.33.1" + "@typescript-eslint/utils" "5.33.1" + debug "^4.3.4" + functional-red-black-tree "^1.0.1" + ignore "^5.2.0" + regexpp "^3.2.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.23.0": + version "5.33.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.33.1.tgz#e4b253105b4d2a4362cfaa4e184e2d226c440ff3" + integrity sha512-IgLLtW7FOzoDlmaMoXdxG8HOCByTBXrB1V2ZQYSEV1ggMmJfAkMWTwUjjzagS6OkfpySyhKFkBw7A9jYmcHpZA== + dependencies: + "@typescript-eslint/scope-manager" "5.33.1" + "@typescript-eslint/types" "5.33.1" + "@typescript-eslint/typescript-estree" "5.33.1" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.33.1": + version "5.33.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.33.1.tgz#8d31553e1b874210018ca069b3d192c6d23bc493" + integrity sha512-8ibcZSqy4c5m69QpzJn8XQq9NnqAToC8OdH/W6IXPXv83vRyEDPYLdjAlUx8h/rbusq6MkW4YdQzURGOqsn3CA== + dependencies: + "@typescript-eslint/types" "5.33.1" + "@typescript-eslint/visitor-keys" "5.33.1" + +"@typescript-eslint/type-utils@5.33.1": + version "5.33.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.33.1.tgz#1a14e94650a0ae39f6e3b77478baff002cec4367" + integrity sha512-X3pGsJsD8OiqhNa5fim41YtlnyiWMF/eKsEZGsHID2HcDqeSC5yr/uLOeph8rNF2/utwuI0IQoAK3fpoxcLl2g== + dependencies: + "@typescript-eslint/utils" "5.33.1" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.33.1": + version "5.33.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.33.1.tgz#3faef41793d527a519e19ab2747c12d6f3741ff7" + integrity sha512-7K6MoQPQh6WVEkMrMW5QOA5FO+BOwzHSNd0j3+BlBwd6vtzfZceJ8xJ7Um2XDi/O3umS8/qDX6jdy2i7CijkwQ== + +"@typescript-eslint/typescript-estree@5.33.1": + version "5.33.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.1.tgz#a573bd360790afdcba80844e962d8b2031984f34" + integrity sha512-JOAzJ4pJ+tHzA2pgsWQi4804XisPHOtbvwUyqsuuq8+y5B5GMZs7lI1xDWs6V2d7gE/Ez5bTGojSK12+IIPtXA== + dependencies: + "@typescript-eslint/types" "5.33.1" + "@typescript-eslint/visitor-keys" "5.33.1" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.33.1": + version "5.33.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.33.1.tgz#171725f924fe1fe82bb776522bb85bc034e88575" + integrity sha512-uphZjkMaZ4fE8CR4dU7BquOV6u0doeQAr8n6cQenl/poMaIyJtBu8eys5uk6u5HiDH01Mj5lzbJ5SfeDz7oqMQ== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.33.1" + "@typescript-eslint/types" "5.33.1" + "@typescript-eslint/typescript-estree" "5.33.1" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/visitor-keys@5.33.1": + version "5.33.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.1.tgz#0155c7571c8cd08956580b880aea327d5c34a18b" + integrity sha512-nwIxOK8Z2MPWltLKMLOEZwmfBZReqUdbEoHQXeCpa+sRVARe5twpJGHCB4dk9903Yaf0nMAlGbQfaAH92F60eg== + dependencies: + "@typescript-eslint/types" "5.33.1" + eslint-visitor-keys "^3.3.0" + +"@vitejs/plugin-vue@^3.0.3": + version "3.0.3" + resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-3.0.3.tgz#7e3e401ccb30b4380d2279d9849281413f1791ef" + integrity sha512-U4zNBlz9mg+TA+i+5QPc3N5lQvdUXENZLO2h0Wdzp56gI1MWhqJOv+6R+d4kOzoaSSq6TnGPBdZAXKOe4lXy6g== + +"@volar/code-gen@0.39.5": + version "0.39.5" + resolved "https://registry.npmmirror.com/@volar/code-gen/-/code-gen-0.39.5.tgz#971aad44cf9cfaf047c39dbc495ac061c66989da" + integrity sha512-vQr5VoCH8T2NHmqLc/AA1/4F8l41WB+24+I+VjxBaev/Hmwjye9K0GlmMHAOl84WB3hWGOqpHaPX6JkqzRNjJg== + dependencies: + "@volar/source-map" "0.39.5" + +"@volar/source-map@0.39.5": + version "0.39.5" + resolved "https://registry.npmmirror.com/@volar/source-map/-/source-map-0.39.5.tgz#0ee7308f718bc0fb280c22f3252968d04750fac6" + integrity sha512-IVOX+v++Sr5Kok4/cLbDJp2vf1ia1rChpV7adgcnMle6uORBuGFEur234UzamK0iHRCcfFFRz7z+hSPf2CO23Q== + +"@volar/typescript-faster@0.39.5": + version "0.39.5" + resolved "https://registry.npmmirror.com/@volar/typescript-faster/-/typescript-faster-0.39.5.tgz#433b1d8caa981f6e5ff1ccc6fde4a1bdb9b25db8" + integrity sha512-IzLqlxefmKkjNKXC/8aFiqPcTqnj6RG31D2f9cIWxmW9pvUYJxLED+y9phnOxNxq0OmeRtQ3Pfmvu85tUBoZsQ== + dependencies: + semver "^7.3.7" + +"@volar/vue-code-gen@0.39.5": + version "0.39.5" + resolved "https://registry.npmmirror.com/@volar/vue-code-gen/-/vue-code-gen-0.39.5.tgz#b16e52de668bd465e3b74a5785dda712979a1bcc" + integrity sha512-y+QUV9MuuasiIuRoGKQl+gMhDaAX6XNhckAyJCvD1FZ8f2eJuPY2VtoFxmu/Z2bGWBdtUW/g98jaeKJ+j3wwOw== + dependencies: + "@volar/code-gen" "0.39.5" + "@volar/source-map" "0.39.5" + "@vue/compiler-core" "^3.2.37" + "@vue/compiler-dom" "^3.2.37" + "@vue/shared" "^3.2.37" + +"@volar/vue-language-core@0.39.5": + version "0.39.5" + resolved "https://registry.npmmirror.com/@volar/vue-language-core/-/vue-language-core-0.39.5.tgz#9f4d83c452f6d5a1a67b3cf2e95e0b456e86549c" + integrity sha512-m+e1tYuL/WRPhSeC7hZ0NuSwHsfnnGJVxCBHLaP7jR0f6xcC0DAegP3QF+gfu9ZJFPGznpZYFKadngMjuhQS9Q== + dependencies: + "@volar/code-gen" "0.39.5" + "@volar/source-map" "0.39.5" + "@volar/vue-code-gen" "0.39.5" + "@vue/compiler-sfc" "^3.2.37" + "@vue/reactivity" "^3.2.37" + +"@volar/vue-typescript@0.39.5": + version "0.39.5" + resolved "https://registry.npmmirror.com/@volar/vue-typescript/-/vue-typescript-0.39.5.tgz#3c57befd4c996fef8df70d171ba531871f215535" + integrity sha512-ckhWD1xOi0OMr702XVkv/Npsb9FKAp5gvhxyLv0QqWekPdSo04t4KrZfwosJLGERIEcyr50SuB7HqBp8ndQmzA== + dependencies: + "@volar/code-gen" "0.39.5" + "@volar/typescript-faster" "0.39.5" + "@volar/vue-language-core" "0.39.5" + +"@vue/compiler-core@3.2.37", "@vue/compiler-core@^3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.37.tgz#b3c42e04c0e0f2c496ff1784e543fbefe91e215a" + integrity sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/shared" "3.2.37" + estree-walker "^2.0.2" + source-map "^0.6.1" + +"@vue/compiler-dom@3.2.37", "@vue/compiler-dom@^3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz#10d2427a789e7c707c872da9d678c82a0c6582b5" + integrity sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ== + dependencies: + "@vue/compiler-core" "3.2.37" + "@vue/shared" "3.2.37" + +"@vue/compiler-sfc@3.2.37", "@vue/compiler-sfc@^3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz#3103af3da2f40286edcd85ea495dcb35bc7f5ff4" + integrity sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.37" + "@vue/compiler-dom" "3.2.37" + "@vue/compiler-ssr" "3.2.37" + "@vue/reactivity-transform" "3.2.37" + "@vue/shared" "3.2.37" + estree-walker "^2.0.2" + magic-string "^0.25.7" + postcss "^8.1.10" + source-map "^0.6.1" + +"@vue/compiler-ssr@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz#4899d19f3a5fafd61524a9d1aee8eb0505313cff" + integrity sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw== + dependencies: + "@vue/compiler-dom" "3.2.37" + "@vue/shared" "3.2.37" + +"@vue/devtools-api@^6.1.4", "@vue/devtools-api@^6.2.1": + version "6.2.1" + resolved "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.2.1.tgz#6f2948ff002ec46df01420dfeff91de16c5b4092" + integrity sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ== + +"@vue/reactivity-transform@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz#0caa47c4344df4ae59f5a05dde2a8758829f8eca" + integrity sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.37" + "@vue/shared" "3.2.37" + estree-walker "^2.0.2" + magic-string "^0.25.7" + +"@vue/reactivity@3.2.37", "@vue/reactivity@^3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.37.tgz#5bc3847ac58828e2b78526e08219e0a1089f8848" + integrity sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A== + dependencies: + "@vue/shared" "3.2.37" + +"@vue/runtime-core@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.37.tgz#7ba7c54bb56e5d70edfc2f05766e1ca8519966e3" + integrity sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ== + dependencies: + "@vue/reactivity" "3.2.37" + "@vue/shared" "3.2.37" + +"@vue/runtime-dom@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz#002bdc8228fa63949317756fb1e92cdd3f9f4bbd" + integrity sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw== + dependencies: + "@vue/runtime-core" "3.2.37" + "@vue/shared" "3.2.37" + csstype "^2.6.8" + +"@vue/server-renderer@3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.37.tgz#840a29c8dcc29bddd9b5f5ffa22b95c0e72afdfc" + integrity sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA== + dependencies: + "@vue/compiler-ssr" "3.2.37" + "@vue/shared" "3.2.37" + +"@vue/shared@3.2.37", "@vue/shared@^3.2.37": + version "3.2.37" + resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.37.tgz#8e6adc3f2759af52f0e85863dfb0b711ecc5c702" + integrity sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.8.0: + version "8.8.0" + resolved "https://registry.npmmirror.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" + integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== + +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ant-design-vue@^3.2.11: + version "3.2.11" + resolved "https://registry.npmmirror.com/ant-design-vue/-/ant-design-vue-3.2.11.tgz#034b2a2adef82a34440c10b90a5e02bcd25b376b" + integrity sha512-QKCAcOY5EJF0PepiVGA4X5PzUetYUvG5qALmA+2TON40pc2+brOEiVTwr3kjF9N+f7q4MpyiLPu4pIErwoajOQ== + dependencies: + "@ant-design/colors" "^6.0.0" + "@ant-design/icons-vue" "^6.1.0" + "@babel/runtime" "^7.10.5" + "@ctrl/tinycolor" "^3.4.0" + "@simonwep/pickr" "~1.8.0" + array-tree-filter "^2.1.0" + async-validator "^4.0.0" + dayjs "^1.10.5" + dom-align "^1.12.1" + dom-scroll-into-view "^2.0.0" + lodash "^4.17.21" + lodash-es "^4.17.15" + resize-observer-polyfill "^1.5.1" + scroll-into-view-if-needed "^2.2.25" + shallow-equal "^1.0.0" + vue-types "^3.0.0" + warning "^4.0.0" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-includes@^3.1.4: + version "3.1.5" + resolved "https://registry.npmmirror.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" + integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + +array-tree-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" + integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.flat@^1.2.5: + version "1.3.0" + resolved "https://registry.npmmirror.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" + integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.2" + es-shim-unscopables "^1.0.0" + +async-validator@^4.0.0: + version "4.2.5" + resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" + integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +builtins@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" + integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + dependencies: + semver "^7.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +compute-scroll-into-view@^1.0.17: + version "1.0.17" + resolved "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz#6a88f18acd9d42e9cf4baa6bec7e0522607ab7ab" + integrity sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +core-js@^3.15.1: + version "3.24.1" + resolved "https://registry.npmmirror.com/core-js/-/core-js-3.24.1.tgz#cf7724d41724154010a6576b7b57d94c5d66e64f" + integrity sha512-0QTBSYSUZ6Gq21utGzkfITDylE8jWC9Ne1D2MrhvlsZBI1x39OdDIVbzSqtgMndIy6BlHxBXpMGqzZmnztg2rg== + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@^2.6.8: + version "2.6.20" + resolved "https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz#9229c65ea0b260cf4d3d997cb06288e36a8d6dda" + integrity sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA== + +dayjs@^1.10.5: + version "1.11.5" + resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93" + integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA== + +debug@^2.6.9: + version "2.6.9" + resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +define-properties@^1.1.3, define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-align@^1.12.1: + version "1.12.3" + resolved "https://registry.npmmirror.com/dom-align/-/dom-align-1.12.3.tgz#a36d02531dae0eefa2abb0c4db6595250526f103" + integrity sha512-Gj9hZN3a07cbR6zviMUBOMPdWxYhbMI+x+WS0NAIu2zFZmbK8ys9R79g+iG9qLnlCwpFoaB+fKy8Pdv470GsPA== + +dom-scroll-into-view@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz#0decc8522801fd8d3f1c6ba355a74d382c5f989b" + integrity sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w== + +es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: + version "1.20.1" + resolved "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" + integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + regexp.prototype.flags "^1.4.3" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +esbuild-android-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" + integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== + +esbuild-android-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" + integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== + +esbuild-darwin-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" + integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== + +esbuild-darwin-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" + integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== + +esbuild-freebsd-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" + integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== + +esbuild-freebsd-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" + integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== + +esbuild-linux-32@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" + integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== + +esbuild-linux-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" + integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== + +esbuild-linux-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" + integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== + +esbuild-linux-arm@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" + integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== + +esbuild-linux-mips64le@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" + integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== + +esbuild-linux-ppc64le@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" + integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== + +esbuild-linux-riscv64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" + integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== + +esbuild-linux-s390x@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" + integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== + +esbuild-netbsd-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" + integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== + +esbuild-openbsd-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" + integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== + +esbuild-sunos-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" + integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw== + +esbuild-windows-32@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" + integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== + +esbuild-windows-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" + integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== + +esbuild-windows-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" + integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg== + +esbuild@^0.14.47: + version "0.14.54" + resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2" + integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== + optionalDependencies: + "@esbuild/linux-loong64" "0.14.54" + esbuild-android-64 "0.14.54" + esbuild-android-arm64 "0.14.54" + esbuild-darwin-64 "0.14.54" + esbuild-darwin-arm64 "0.14.54" + esbuild-freebsd-64 "0.14.54" + esbuild-freebsd-arm64 "0.14.54" + esbuild-linux-32 "0.14.54" + esbuild-linux-64 "0.14.54" + esbuild-linux-arm "0.14.54" + esbuild-linux-arm64 "0.14.54" + esbuild-linux-mips64le "0.14.54" + esbuild-linux-ppc64le "0.14.54" + esbuild-linux-riscv64 "0.14.54" + esbuild-linux-s390x "0.14.54" + esbuild-netbsd-64 "0.14.54" + esbuild-openbsd-64 "0.14.54" + esbuild-sunos-64 "0.14.54" + esbuild-windows-32 "0.14.54" + esbuild-windows-64 "0.14.54" + esbuild-windows-arm64 "0.14.54" + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-prettier@^8.5.0: + version "8.5.0" + resolved "https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + +eslint-config-standard@^17.0.0: + version "17.0.0" + resolved "https://registry.npmmirror.com/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz#fd5b6cf1dcf6ba8d29f200c461de2e19069888cf" + integrity sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg== + +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.npmmirror.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.7.3: + version "2.7.4" + resolved "https://registry.npmmirror.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" + integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== + dependencies: + debug "^3.2.7" + +eslint-plugin-es@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz#f0822f0c18a535a97c3e714e89f88586a7641ec9" + integrity sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@^2.26.0: + version "2.26.0" + resolved "https://registry.npmmirror.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" + integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== + dependencies: + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.3" + has "^1.0.3" + is-core-module "^2.8.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.values "^1.1.5" + resolve "^1.22.0" + tsconfig-paths "^3.14.1" + +eslint-plugin-n@^15.2.0: + version "15.2.4" + resolved "https://registry.npmmirror.com/eslint-plugin-n/-/eslint-plugin-n-15.2.4.tgz#d62021a0821ae650701ed459756aaf478a9b6056" + integrity sha512-tjnVMv2fiXYMnuiIFI8QMtyUFI42SckEEWvi8h68SWGWshfqO6SSCASy24dGMGAiy7NUk6DZt90DM0iNUsmQ5w== + dependencies: + builtins "^5.0.1" + eslint-plugin-es "^4.1.0" + eslint-utils "^3.0.0" + ignore "^5.1.1" + is-core-module "^2.9.0" + minimatch "^3.1.2" + resolve "^1.10.1" + semver "^7.3.7" + +eslint-plugin-prettier@^4.0.0: + version "4.2.1" + resolved "https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-promise@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/eslint-plugin-promise/-/eslint-plugin-promise-6.0.0.tgz#017652c07c9816413a41e11c30adc42c3d55ff18" + integrity sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw== + +eslint-plugin-vue@^8.7.1: + version "8.7.1" + resolved "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz#f13c53547a0c9d64588a675cc5ecc6ccaf63703f" + integrity sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg== + dependencies: + eslint-utils "^3.0.0" + natural-compare "^1.4.0" + nth-check "^2.0.1" + postcss-selector-parser "^6.0.9" + semver "^7.3.5" + vue-eslint-parser "^8.0.1" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.0.0, eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@^8.15.0: + version "8.22.0" + resolved "https://registry.npmmirror.com/eslint/-/eslint-8.22.0.tgz#78fcb044196dfa7eef30a9d65944f6f980402c48" + integrity sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA== + dependencies: + "@eslint/eslintrc" "^1.3.0" + "@humanwhocodes/config-array" "^0.10.4" + "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.3.3" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + functional-red-black-tree "^1.0.1" + glob-parent "^6.0.1" + globals "^13.15.0" + globby "^11.1.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^9.0.0, espree@^9.3.2, espree@^9.3.3: + version "9.3.3" + resolved "https://registry.npmmirror.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d" + integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + +fast-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.npmmirror.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.6" + resolved "https://registry.npmmirror.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2" + integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.2" + resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" + integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^13.15.0: + version "13.17.0" + resolved "https://registry.npmmirror.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" + integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== + dependencies: + type-fest "^0.20.2" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +ignore@^5.1.1, ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-core-module@^2.8.1, is-core-module@^2.9.0: + version "2.10.0" + resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" + integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-object@3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-3.0.1.tgz#662d92d24c0aa4302407b0d45d21f2251c85f85b" + integrity sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash-es@^4.17.15: + version "4.17.21" + resolved "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +magic-string@^0.25.7: + version "0.25.9" + resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" + integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== + dependencies: + sourcemap-codec "^1.4.8" + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +nanopop@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/nanopop/-/nanopop-2.1.0.tgz#23476513cee2405888afd2e8a4b54066b70b9e60" + integrity sha512-jGTwpFRexSH+fxappnGQtN9dspgE2ipa1aOjtR24igG0pv6JCxImIAmrLRHX+zUF5+1wtsFVbKyfP51kIGAVNw== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +object-inspect@^1.12.0, object-inspect@^1.9.0: + version "1.12.2" + resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.2: + version "4.1.4" + resolved "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.npmmirror.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.npmmirror.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pinia-plugin-persistedstate@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-2.1.1.tgz#584c416cdc278689ae9d49483621ec96dcb7d6ef" + integrity sha512-HUgsU5IRtM75eAQiIqzT3p1oPEuYH1/B2ipTMU++yE+FV0LkHaBswdKXs0RMWYCmugO8s62oxLTh/N1dLNp+5A== + +pinia@^2.0.19: + version "2.0.19" + resolved "https://registry.npmmirror.com/pinia/-/pinia-2.0.19.tgz#1ee8b521ab0fdac16b727151f7761674a04875e1" + integrity sha512-Q/UQrmFLDMdlCkLfM5rGw1Ug0A7dy0G7NtBusMQSK+TNjf3CV/pO0RqblNIfuurWl42byTjM6HIemCWOfo8KXA== + dependencies: + "@vue/devtools-api" "^6.2.1" + vue-demi "*" + +postcss-selector-parser@^6.0.9: + version "6.0.10" + resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" + integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss@^8.1.10, postcss@^8.4.16: + version "8.4.16" + resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" + integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^2.7.1: + version "2.7.1" + resolved "https://registry.npmmirror.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" + integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.npmmirror.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + +regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +regexpp@^3.0.0, regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.10.1, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +"rollup@>=2.75.6 <2.77.0 || ~2.77.0": + version "2.77.3" + resolved "https://registry.npmmirror.com/rollup/-/rollup-2.77.3.tgz#8f00418d3a2740036e15deb653bed1a90ee0cc12" + integrity sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g== + optionalDependencies: + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +scroll-into-view-if-needed@^2.2.25: + version "2.2.29" + resolved "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.29.tgz#551791a84b7e2287706511f8c68161e4990ab885" + integrity sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg== + dependencies: + compute-scroll-into-view "^1.0.17" + +semver@^7.0.0, semver@^7.3.5, semver@^7.3.7: + version "7.3.7" + resolved "https://registry.npmmirror.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + +shallow-equal@^1.0.0: + version "1.2.1" + resolved "https://registry.npmmirror.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" + integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +string.prototype.trimend@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + +string.prototype.trimstart@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tsconfig-paths@^3.14.1: + version "3.14.1" + resolved "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" + integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +typescript@^4.6.4: + version "4.7.4" + resolved "https://registry.npmmirror.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" + integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +vite@^3.0.7: + version "3.0.8" + resolved "https://registry.npmmirror.com/vite/-/vite-3.0.8.tgz#aa095ad8e3e5da46d9ec7e878f262678965d6531" + integrity sha512-AOZ4eN7mrkJiOLuw8IA7piS4IdOQyQCA81GxGsAQvAZzMRi9ZwGB3TOaYsj4uLAWK46T5L4AfQ6InNGlxX30IQ== + dependencies: + esbuild "^0.14.47" + postcss "^8.4.16" + resolve "^1.22.1" + rollup ">=2.75.6 <2.77.0 || ~2.77.0" + optionalDependencies: + fsevents "~2.3.2" + +vue-demi@*: + version "0.13.8" + resolved "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.8.tgz#5c568fb3b4d8f848acc658dfccd3d875035b5653" + integrity sha512-Vy1zbZhCOdsmvGR6tJhAvO5vhP7eiS8xkbYQSoVa7o6KlIy3W8Rc53ED4qI4qpeRDjv3mLfXSEpYU6Yq4pgXRg== + +vue-eslint-parser@^8.0.1: + version "8.3.0" + resolved "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz#5d31129a1b3dd89c0069ca0a1c88f970c360bd0d" + integrity sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g== + dependencies: + debug "^4.3.2" + eslint-scope "^7.0.0" + eslint-visitor-keys "^3.1.0" + espree "^9.0.0" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^7.3.5" + +vue-router@4: + version "4.1.3" + resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.1.3.tgz#f8dc7931a2253cc5aa9b740f8b98969d08ca283c" + integrity sha512-XvK81bcYglKiayT7/vYAg/f36ExPC4t90R/HIpzrZ5x+17BOWptXLCrEPufGgZeuq68ww4ekSIMBZY1qdUdfjA== + dependencies: + "@vue/devtools-api" "^6.1.4" + +vue-tsc@^0.39.5: + version "0.39.5" + resolved "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-0.39.5.tgz#0b75f5c3574b70fb448982702db2aa532a7fad6e" + integrity sha512-jhTsrKhZkafpIeN4Cbhr1K53hNfa/oesSrlh7hUaeHyCk55VhZT6oJkwJbtqN4MYkWZIwPrm3/xTwsELuf2ocg== + dependencies: + "@volar/vue-language-core" "0.39.5" + "@volar/vue-typescript" "0.39.5" + +vue-types@^3.0.0: + version "3.0.2" + resolved "https://registry.npmmirror.com/vue-types/-/vue-types-3.0.2.tgz#ec16e05d412c038262fc1efa4ceb9647e7fb601d" + integrity sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw== + dependencies: + is-plain-object "3.0.1" + +vue@^3.2.37: + version "3.2.37" + resolved "https://registry.npmmirror.com/vue/-/vue-3.2.37.tgz#da220ccb618d78579d25b06c7c21498ca4e5452e" + integrity sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ== + dependencies: + "@vue/compiler-dom" "3.2.37" + "@vue/compiler-sfc" "3.2.37" + "@vue/runtime-dom" "3.2.37" + "@vue/server-renderer" "3.2.37" + "@vue/shared" "3.2.37" + +warning@^4.0.0: + version "4.0.3" + resolved "https://registry.npmmirror.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==