From 62048c68f0ce27a0e63429efe8687d5b42b7a44d Mon Sep 17 00:00:00 2001 From: Haka <76921756+Hakorr@users.noreply.github.com> Date: Sun, 25 Sep 2022 02:55:11 +0300 Subject: [PATCH 01/30] Image item refactor and redesign --- ui/media/main.css | 44 +++++------- ui/media/main.js | 168 ++++++++++++++++++++-------------------------- 2 files changed, 88 insertions(+), 124 deletions(-) diff --git a/ui/media/main.css b/ui/media/main.css index 388c8ccd..7b01e14b 100644 --- a/ui/media/main.css +++ b/ui/media/main.css @@ -69,38 +69,28 @@ label { font-size: 8pt; } .imgSeedLabel { - position: absolute; - transform: translateX(-100%); - margin-top: 5pt; - margin-left: -5pt; - font-size: 10pt; - - background-color: #333; - opacity: 0.8; - color: #ddd; - border-radius: 3pt; - padding: 1pt 3pt; -} -.imgUseBtn { - position: absolute; - transform: translateX(-100%); - margin-top: 30pt; - margin-left: -5pt; -} -.imgSaveBtn { - position: absolute; - transform: translateX(-100%); - margin-top: 55pt; - margin-left: -5pt; + font-size: 1.3em; } .imgItem { - display: inline; - padding-right: 10px; + display: inline-block; + width: fit-content; + height: fit-content; + padding: 0.5em; + border: 1px solid rgb(255 255 255 / 25%); + margin-top: 1em; + margin-right: 1em; } .imgItemInfo { - opacity: 0.5; + width: 100%; + height: 2em; + padding-bottom: 0.5em; + display: flex; + align-items: center; + justify-content: space-between; +} +.imgInfoLeft { + margin-right: 1em; } - #container { width: 90%; margin-left: auto; diff --git a/ui/media/main.js b/ui/media/main.js index 7633b7ee..fb394981 100644 --- a/ui/media/main.js +++ b/ui/media/main.js @@ -251,18 +251,74 @@ async function healthCheck() { } } -function makeImageElement(width, height) { - let imgItem = document.createElement('div') - imgItem.className = 'imgItem' +function showImages(res, req) { + res.output.forEach(result => { + if(typeof res != 'object') return; - let img = document.createElement('img') - img.width = parseInt(width) - img.height = parseInt(height) + const imageData = result?.data, + imageSeed = result?.seed, + imageWidth = req.width, + imageHeight = req.height; - imgItem.appendChild(img) - imagesContainer.appendChild(imgItem) + // don't continue if data is incorrect + if (!(imageData && imageSeed)) + { + setStatus('request', 'invalid image', 'error'); + console.log(imageData); + return; + } - return imgItem + const imageItemElem = document.createElement('div'); + imageItemElem.className = 'imgItem'; + imageItemElem.innerHTML = ` +
+
+ +
+
+ + +
+
+ + `; + + const imageElem = imageItemElem.querySelector('img'), + imageSeedLabel = imageItemElem.querySelector('.imgSeedLabel'), + useAsInputBtn = imageItemElem.querySelector('.imgUseBtn'), + saveImageBtn = imageItemElem.querySelector('.imgSaveBtn'); + + imageElem.src = imageData; + imageElem.width = parseInt(imageWidth); + imageElem.height = parseInt(imageHeight); + + imageSeedLabel.innerText = imageSeed; + + useAsInputBtn.addEventListener('click', () => { + initImageSelector.value = null; + initImagePreview.src = imageData; + + initImagePreviewContainer.style.display = 'block'; + inpaintingEditorContainer.style.display = 'none'; + promptStrengthContainer.style.display = 'block'; + maskSetting.checked = false; + + // maskSetting.style.display = 'block'; + + randomSeedField.checked = false; + seedField.value = imageSeed; + seedField.disabled = false; + }); + + saveImageBtn.addEventListener('click', () => { + const imgDownload = document.createElement('a'); + imgDownload.download = createFileName(imageSeed); + imgDownload.href = imageData; + imgDownload.click(); + }); + + imagesContainer.appendChild(imageItemElem); + }); } // makes a single image. don't call this directly, use makeImage() instead @@ -275,14 +331,6 @@ async function doMakeImage(reqBody, batchCount) { let seed = reqBody['seed'] let numOutputs = parseInt(reqBody['num_outputs']) - let images = [] - - function makeImageContainers(numImages) { - for (let i = images.length; i < numImages; i++) { - images.push(makeImageElement(reqBody.width, reqBody.height)) - } - } - try { res = await fetch('/image', { method: 'POST', @@ -411,86 +459,13 @@ async function doMakeImage(reqBody, batchCount) { res = undefined } - if (!res) { - return false - } + if (!res) return false; - lastPromptUsed = reqBody['prompt'] + lastPromptUsed = reqBody['prompt']; - makeImageContainers(res.output.length) + showImages(res, reqBody); - for (let idx in res.output) { - let imgBody = '' - let seed = 0 - - try { - let imgData = res.output[idx] - imgBody = imgData.data - seed = imgData.seed - } catch (e) { - console.log(imgBody) - setStatus('request', 'invalid image', 'error') - continue - } - - let imgItem = images[idx] - let img = imgItem.firstChild - - img.src = imgBody - - let imgItemInfo = document.createElement('span') - imgItemInfo.className = 'imgItemInfo' - - let imgSeedLabel = document.createElement('span') - imgSeedLabel.className = 'imgSeedLabel' - imgSeedLabel.innerText = 'Seed: ' + seed - - let imgUseBtn = document.createElement('button') - imgUseBtn.className = 'imgUseBtn' - imgUseBtn.innerText = 'Use as Input' - - let imgSaveBtn = document.createElement('button') - imgSaveBtn.className = 'imgSaveBtn' - imgSaveBtn.innerText = 'Download' - - imgItem.appendChild(imgItemInfo) - imgItemInfo.appendChild(imgSeedLabel) - imgItemInfo.appendChild(imgUseBtn) - imgItemInfo.appendChild(imgSaveBtn) - - imgUseBtn.addEventListener('click', function() { - initImageSelector.value = null - initImagePreview.src = imgBody - - initImagePreviewContainer.style.display = 'block' - inpaintingEditorContainer.style.display = 'none' - promptStrengthContainer.style.display = 'block' - maskSetting.checked = false - - // maskSetting.style.display = 'block' - - randomSeedField.checked = false - seedField.value = seed - seedField.disabled = false - }) - - imgSaveBtn.addEventListener('click', function() { - let imgDownload = document.createElement('a') - imgDownload.download = createFileName(); - imgDownload.href = imgBody - imgDownload.click() - }) - - imgItem.addEventListener('mouseenter', function() { - imgItemInfo.style.opacity = 1 - }) - - imgItem.addEventListener('mouseleave', function() { - imgItemInfo.style.opacity = 0.5 - }) - } - - return true + return true; } function validateInput() { @@ -639,12 +614,11 @@ async function makeImage() { // create a file name with embedded prompt and metadata // for easier cateloging and comparison -function createFileName() { +function createFileName(seed) { // Most important information is the prompt let underscoreName = lastPromptUsed.replace(/[^a-zA-Z0-9]/g, '_') underscoreName = underscoreName.substring(0, 100) - const seed = seedField.value const steps = numInferenceStepsField.value const guidance = guidanceScaleField.value @@ -1215,4 +1189,4 @@ async function loadModifiers() { } catch (e) { console.log('error fetching modifiers', e) } -} +} \ No newline at end of file From 5ba802dc68f8a1dcc1fa4133e792dcb2a3e2b0b4 Mon Sep 17 00:00:00 2001 From: Haka <76921756+Hakorr@users.noreply.github.com> Date: Mon, 26 Sep 2022 17:50:27 +0300 Subject: [PATCH 02/30] Overlaid info --- ui/media/main.css | 30 +++++++++++++++++++----------- ui/media/main.js | 10 ++++------ 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/ui/media/main.css b/ui/media/main.css index 7b01e14b..4c742a1c 100644 --- a/ui/media/main.css +++ b/ui/media/main.css @@ -69,27 +69,35 @@ label { font-size: 8pt; } .imgSeedLabel { - font-size: 1.3em; + font-size: 1em; + background-color: rgb(44, 45, 48); + border-radius: 5px; + padding: 5px; } .imgItem { display: inline-block; - width: fit-content; - height: fit-content; - padding: 0.5em; - border: 1px solid rgb(255 255 255 / 25%); margin-top: 1em; margin-right: 1em; } +.imgContainer { + display: flex; + justify-content: flex-end; +} .imgItemInfo { - width: 100%; - height: 2em; padding-bottom: 0.5em; display: flex; - align-items: center; - justify-content: space-between; + align-items: flex-end; + flex-direction: column; + position: absolute; + padding: 5px; + opacity: 0.25; + transition: 0.1s all; } -.imgInfoLeft { - margin-right: 1em; +.imgContainer:hover > .imgItemInfo { + opacity: 1; +} +.imgItemInfo * { + margin-bottom: 7px; } #container { width: 90%; diff --git a/ui/media/main.js b/ui/media/main.js index fb394981..171545a1 100644 --- a/ui/media/main.js +++ b/ui/media/main.js @@ -271,16 +271,14 @@ function showImages(res, req) { const imageItemElem = document.createElement('div'); imageItemElem.className = 'imgItem'; imageItemElem.innerHTML = ` -
-
+
+ +
-
-
- `; const imageElem = imageItemElem.querySelector('img'), @@ -292,7 +290,7 @@ function showImages(res, req) { imageElem.width = parseInt(imageWidth); imageElem.height = parseInt(imageHeight); - imageSeedLabel.innerText = imageSeed; + imageSeedLabel.innerText = 'Seed: ' + imageSeed; useAsInputBtn.addEventListener('click', () => { initImageSelector.value = null; From c1dea44fa6581a48a0f3123b5a27ac3a87b5ee1c Mon Sep 17 00:00:00 2001 From: Haka <76921756+Hakorr@users.noreply.github.com> Date: Tue, 27 Sep 2022 17:23:19 +0300 Subject: [PATCH 03/30] Fix for live preview --- ui/media/main.js | 127 ++++++++++++++++++++++++----------------------- 1 file changed, 65 insertions(+), 62 deletions(-) diff --git a/ui/media/main.js b/ui/media/main.js index 171545a1..334947c0 100644 --- a/ui/media/main.js +++ b/ui/media/main.js @@ -251,71 +251,81 @@ async function healthCheck() { } } -function showImages(res, req) { - res.output.forEach(result => { +function showImages(req, res, livePreview) { + res.output.forEach((result, index) => { if(typeof res != 'object') return; - const imageData = result?.data, - imageSeed = result?.seed, + const imageData = result?.data || result?.path, + imageSeed = req.seed + index, imageWidth = req.width, - imageHeight = req.height; + imageHeight = req.height, + imageIdentifier = 'IMG_' + (imageSeed + '').replace(/\d/g, c => 'SUOMIPERKL'[c]); + + if (!imageData) { + // res contained no data for the image, stop execution - // don't continue if data is incorrect - if (!(imageData && imageSeed)) - { setStatus('request', 'invalid image', 'error'); - console.log(imageData); return; } - const imageItemElem = document.createElement('div'); - imageItemElem.className = 'imgItem'; - imageItemElem.innerHTML = ` -
- -
- - - -
-
- `; - - const imageElem = imageItemElem.querySelector('img'), - imageSeedLabel = imageItemElem.querySelector('.imgSeedLabel'), - useAsInputBtn = imageItemElem.querySelector('.imgUseBtn'), - saveImageBtn = imageItemElem.querySelector('.imgSaveBtn'); + let imageItemElem = document.querySelector('#' + imageIdentifier); - imageElem.src = imageData; + if(!imageItemElem) { + imageItemElem = document.createElement('div'); + imageItemElem.className = 'imgItem'; + imageItemElem.id = imageIdentifier; + imageItemElem.innerHTML = ` +
+ +
+ + + +
+
+ `; + + const useAsInputBtn = imageItemElem.querySelector('.imgUseBtn'); + const saveImageBtn = imageItemElem.querySelector('.imgSaveBtn'); + + useAsInputBtn.addEventListener('click', () => { + initImageSelector.value = null; + initImagePreview.src = imageData; + + initImagePreviewContainer.style.display = 'block'; + inpaintingEditorContainer.style.display = 'none'; + promptStrengthContainer.style.display = 'block'; + maskSetting.checked = false; + + // maskSetting.style.display = 'block'; + + randomSeedField.checked = false; + seedField.value = imageSeed; + seedField.disabled = false; + }); + + saveImageBtn.addEventListener('click', () => { + const imgDownload = document.createElement('a'); + imgDownload.download = createFileName(imageSeed); + imgDownload.href = imageData; + imgDownload.click(); + }); + + imagesContainer.appendChild(imageItemElem); + } + + const imageElem = imageItemElem.querySelector('img'); + const imageSeedLabel = imageItemElem.querySelector('.imgSeedLabel'); + + imageElem.src = livePreview + ? imageData + '?t=' + new Date().getTime() + : imageData; imageElem.width = parseInt(imageWidth); imageElem.height = parseInt(imageHeight); - imageSeedLabel.innerText = 'Seed: ' + imageSeed; - - useAsInputBtn.addEventListener('click', () => { - initImageSelector.value = null; - initImagePreview.src = imageData; - - initImagePreviewContainer.style.display = 'block'; - inpaintingEditorContainer.style.display = 'none'; - promptStrengthContainer.style.display = 'block'; - maskSetting.checked = false; - - // maskSetting.style.display = 'block'; - - randomSeedField.checked = false; - seedField.value = imageSeed; - seedField.disabled = false; - }); - - saveImageBtn.addEventListener('click', () => { - const imgDownload = document.createElement('a'); - imgDownload.download = createFileName(imageSeed); - imgDownload.href = imageData; - imgDownload.click(); - }); - - imagesContainer.appendChild(imageItemElem); + imageSeedLabel.innerText = livePreview + ? '(Live Preview)' + : 'Seed: ' + imageSeed; }); } @@ -381,14 +391,7 @@ async function doMakeImage(reqBody, batchCount) { progressBar.style.display = 'block' if (stepUpdate.output !== undefined) { - makeImageContainers(numOutputs) - - for (idx in stepUpdate.output) { - let imgItem = images[idx] - let img = imgItem.firstChild - let tmpImageData = stepUpdate.output[idx] - img.src = tmpImageData['path'] + '?t=' + new Date().getTime() - } + showImages(reqBody, stepUpdate, true); } } } catch (e) { @@ -461,7 +464,7 @@ async function doMakeImage(reqBody, batchCount) { lastPromptUsed = reqBody['prompt']; - showImages(res, reqBody); + showImages(reqBody, res, false); return true; } From 10c4bee1e501322b679c8db5251d7c8b6bcffc2e Mon Sep 17 00:00:00 2001 From: Haka <76921756+Hakorr@users.noreply.github.com> Date: Wed, 28 Sep 2022 00:05:34 +0300 Subject: [PATCH 04/30] Fix for show all images --- ui/media/main.js | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/ui/media/main.js b/ui/media/main.js index 334947c0..fe5652f1 100644 --- a/ui/media/main.js +++ b/ui/media/main.js @@ -255,13 +255,13 @@ function showImages(req, res, livePreview) { res.output.forEach((result, index) => { if(typeof res != 'object') return; - const imageData = result?.data || result?.path, - imageSeed = req.seed + index, + const imageData = result?.data || result?.path + '?t=' + new Date().getTime(), + imageSeed = req.seed, imageWidth = req.width, imageHeight = req.height, - imageIdentifier = 'IMG_' + (imageSeed + '').replace(/\d/g, c => 'SUOMIPERKL'[c]); + imageIdentifier = 'IMG_ID_' + (imageSeed + '').replace(/\d/g, c => 'SUOMIPERKL'[c]) + 'X'.repeat(index); - if (!imageData) { + if (!imageData.includes('/')) { // res contained no data for the image, stop execution setStatus('request', 'invalid image', 'error'); @@ -285,12 +285,14 @@ function showImages(req, res, livePreview) {
`; - const useAsInputBtn = imageItemElem.querySelector('.imgUseBtn'); - const saveImageBtn = imageItemElem.querySelector('.imgSaveBtn'); + const useAsInputBtn = imageItemElem.querySelector('.imgUseBtn'), + saveImageBtn = imageItemElem.querySelector('.imgSaveBtn'); + + useAsInputBtn.addEventListener('click', e => { + const imgData = e.path.find(x => x == imageItemElem).querySelector('img').src; - useAsInputBtn.addEventListener('click', () => { initImageSelector.value = null; - initImagePreview.src = imageData; + initImagePreview.src = imgData; initImagePreviewContainer.style.display = 'block'; inpaintingEditorContainer.style.display = 'none'; @@ -303,23 +305,23 @@ function showImages(req, res, livePreview) { seedField.value = imageSeed; seedField.disabled = false; }); - - saveImageBtn.addEventListener('click', () => { + + saveImageBtn.addEventListener('click', e => { + const imgData = e.path.find(x => x == imageItemElem).querySelector('img').src; + const imgDownload = document.createElement('a'); imgDownload.download = createFileName(imageSeed); - imgDownload.href = imageData; + imgDownload.href = imgData; imgDownload.click(); }); imagesContainer.appendChild(imageItemElem); } - const imageElem = imageItemElem.querySelector('img'); - const imageSeedLabel = imageItemElem.querySelector('.imgSeedLabel'); + const imageElem = imageItemElem.querySelector('img'), + imageSeedLabel = imageItemElem.querySelector('.imgSeedLabel'); - imageElem.src = livePreview - ? imageData + '?t=' + new Date().getTime() - : imageData; + imageElem.src = imageData; imageElem.width = parseInt(imageWidth); imageElem.height = parseInt(imageHeight); From a28f1294e28faef98f54bfdff9f16339a9f6433c Mon Sep 17 00:00:00 2001 From: cmdr2 Date: Thu, 29 Sep 2022 13:01:18 +0530 Subject: [PATCH 05/30] Integrate with beta; Use the outputContainer for the task; Don't show the info while a live preview is generating; Use the local task container reference instead of a seed-based identifier (will fail if the seed is same across two tasks) --- ui/index.html | 4 +-- ui/media/main.css | 6 ++-- ui/media/main.js | 87 +++++++++++++++++++++++++++-------------------- 3 files changed, 55 insertions(+), 42 deletions(-) diff --git a/ui/index.html b/ui/index.html index ed35db3c..5e2d94dc 100644 --- a/ui/index.html +++ b/ui/index.html @@ -4,7 +4,7 @@ - + @@ -213,7 +213,7 @@
- + + + + + + - - diff --git a/ui/frontend/build_src/package-lock.json b/ui/frontend/build_src/package-lock.json deleted file mode 100644 index bfa45c4f..00000000 --- a/ui/frontend/build_src/package-lock.json +++ /dev/null @@ -1,8225 +0,0 @@ -{ - "name": "react-ts", - "version": "0.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "react-ts", - "version": "0.0.0", - "dependencies": { - "@headlessui/react": "^1.7.2", - "@tanstack/react-location": "^3.7.4", - "@tanstack/react-query": "^4.2.3", - "@tanstack/react-query-devtools": "^4.2.3", - "@vanilla-extract/css": "^1.9.0", - "@vanilla-extract/css-utils": "^0.1.2", - "@vanilla-extract/recipes": "^0.2.5", - "@vanilla-extract/vite-plugin": "^3.5.0", - "i18next": "^21.9.2", - "immer": "^9.0.15", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-i18next": "^11.18.6", - "uuid": "^9.0.0", - "zustand": "^4.1.1" - }, - "devDependencies": { - "@types/node": "^18.7.18", - "@types/react": "^18.0.17", - "@types/react-dom": "^18.0.6", - "@types/uuid": "^8.3.4", - "@typescript-eslint/eslint-plugin": "^5.37.0", - "@typescript-eslint/parser": "^5.37.0", - "@vitejs/plugin-react": "^2.0.1", - "eslint": "^8.23.1", - "eslint-config-prettier": "^8.5.0", - "eslint-config-standard-with-typescript": "^23.0.0", - "eslint-plugin-i18n-json": "^4.0.0", - "eslint-plugin-i18next": "^6.0.0-4", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-n": "^15.2.5", - "eslint-plugin-promise": "^6.0.1", - "eslint-plugin-react": "^7.31.8", - "prettier": "^2.7.1", - "typescript": "^4.8.3", - "vite": "^3.0.7", - "vite-plugin-eslint": "^1.8.1" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz", - "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz", - "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz", - "integrity": "sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.19.0", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz", - "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", - "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", - "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", - "dev": true, - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", - "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz", - "integrity": "sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", - "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz", - "integrity": "sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.0", - "@babel/types": "^7.19.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz", - "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz", - "integrity": "sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", - "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "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" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@formatjs/ecma402-abstract": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.12.0.tgz", - "integrity": "sha512-0/wm9b7brUD40kx7KSE0S532T8EfH06Zc41rGlinoNyYXnuusR6ull2x63iFJgVXgwahm42hAW7dcYdZ+llZzA==", - "dev": true, - "dependencies": { - "@formatjs/intl-localematcher": "0.2.31", - "tslib": "2.4.0" - } - }, - "node_modules/@formatjs/ecma402-abstract/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - }, - "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.7.tgz", - "integrity": "sha512-KM4ikG5MloXMulqn39Js3ypuVzpPKq/DDplvl01PE2qD9rAzFO8YtaUCC9vr9j3sRXwdHPeTe8r3J/8IJgvYEQ==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.12.0", - "@formatjs/icu-skeleton-parser": "1.3.13", - "tslib": "2.4.0" - } - }, - "node_modules/@formatjs/icu-messageformat-parser/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - }, - "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.3.13", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.13.tgz", - "integrity": "sha512-qb1kxnA4ep76rV+d9JICvZBThBpK5X+nh1dLmmIReX72QyglicsaOmKEcdcbp7/giCWfhVs6CXPVA2JJ5/ZvAw==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.12.0", - "tslib": "2.4.0" - } - }, - "node_modules/@formatjs/icu-skeleton-parser/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - }, - "node_modules/@formatjs/intl-localematcher": { - "version": "0.2.31", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.31.tgz", - "integrity": "sha512-9QTjdSBpQ7wHShZgsNzNig5qT3rCPvmZogS/wXZzKotns5skbXgs0I7J8cuN0PPqXyynvNVuN+iOKhNS2eb+ZA==", - "dev": true, - "dependencies": { - "tslib": "2.4.0" - } - }, - "node_modules/@formatjs/intl-localematcher/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - }, - "node_modules/@headlessui/react": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.2.tgz", - "integrity": "sha512-snLv2lxwsf2HNTOBNgHYdvoYZ3ChJE8QszPi1d/hl9js8KrFrUulTaQBfSyPbJP5BybVreWh9DxCgz9S0Z6hKQ==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": "^16 || ^17 || ^18", - "react-dom": "^16 || ^17 || ^18" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", - "dev": true, - "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/@tanstack/match-sorter-utils": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.1.1.tgz", - "integrity": "sha512-IdmEekEYxQsoLOR0XQyw3jD1GujBpRRYaGJYQUw1eOT1eUugWxdc7jomh1VQ1EKHcdwDLpLaCz/8y4KraU4T9A==", - "dependencies": { - "remove-accents": "0.4.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/kentcdodds" - } - }, - "node_modules/@tanstack/query-core": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.2.3.tgz", - "integrity": "sha512-zdt5lYWs1dZaA3IxJbCgtAfHZJScRZONpiLL7YkeOkrme5MfjQqTpjq7LYbzpyuwPOh2Jx68le0PLl57JFv5hQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/react-location": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@tanstack/react-location/-/react-location-3.7.4.tgz", - "integrity": "sha512-6rH2vNHGr0uyeUz5ZHvWMYjeYKGgIKFzvs5749QtnS9f+FU7t7fQE0hKZAzltBZk82LT7iYbcHBRyUg2lW13VA==", - "dependencies": { - "@babel/runtime": "^7.16.7", - "history": "^5.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": ">=16", - "react-dom": ">=16" - } - }, - "node_modules/@tanstack/react-query": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.2.3.tgz", - "integrity": "sha512-JLaMOxoJTkiAu7QpevRCt2uI/0vd3E8K/rSlCuRgWlcW5DeJDFpDS5kfzmLO5MOcD97fgsJRrDbxDORxR1FdJA==", - "dependencies": { - "@tanstack/query-core": "4.2.3", - "@types/use-sync-external-store": "^0.0.3", - "use-sync-external-store": "^1.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-native": "*" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } - } - }, - "node_modules/@tanstack/react-query-devtools": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-4.2.3.tgz", - "integrity": "sha512-0PH8n824BnFyMrtv7q5uLS0b7jYg2tDH8vU4etkSYzV1uL4RJjiqMh7Gyi8qhYCwM+khlrkRYlNZvE0cxlp3SQ==", - "dependencies": { - "@tanstack/match-sorter-utils": "^8.0.0-alpha.82", - "@types/use-sync-external-store": "^0.0.3", - "use-sync-external-store": "^1.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "@tanstack/react-query": "4.2.3", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@types/eslint": { - "version": "8.4.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", - "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "18.7.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.18.tgz", - "integrity": "sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg==", - "dev": true - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "dev": true - }, - "node_modules/@types/react": { - "version": "18.0.18", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.18.tgz", - "integrity": "sha512-6hI08umYs6NaiHFEEGioXnxJ+oEhY3eRz8VCUaudZmGdtvPviCJB8mgaMxaDWAdPSYd4eFavrPk2QIolwbLYrg==", - "dev": true, - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.0.6", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz", - "integrity": "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", - "dev": true - }, - "node_modules/@types/use-sync-external-store": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", - "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" - }, - "node_modules/@types/uuid": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", - "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.37.0.tgz", - "integrity": "sha512-Fde6W0IafXktz1UlnhGkrrmnnGpAo1kyX7dnyHHVrmwJOn72Oqm3eYtddrpOwwel2W8PAK9F3pIL5S+lfoM0og==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/type-utils": "5.37.0", - "@typescript-eslint/utils": "5.37.0", - "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" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.37.0.tgz", - "integrity": "sha512-01VzI/ipYKuaG5PkE5+qyJ6m02fVALmMPY3Qq5BHflDx3y4VobbLdHQkSMg9VPRS4KdNt4oYTMaomFoHonBGAw==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/typescript-estree": "5.37.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.37.0.tgz", - "integrity": "sha512-F67MqrmSXGd/eZnujjtkPgBQzgespu/iCZ+54Ok9X5tALb9L2v3G+QBSoWkXG0p3lcTJsL+iXz5eLUEdSiJU9Q==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/visitor-keys": "5.37.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.37.0.tgz", - "integrity": "sha512-BSx/O0Z0SXOF5tY0bNTBcDEKz2Ec20GVYvq/H/XNKiUorUFilH7NPbFUuiiyzWaSdN3PA8JV0OvYx0gH/5aFAQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "5.37.0", - "@typescript-eslint/utils": "5.37.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.37.0.tgz", - "integrity": "sha512-3frIJiTa5+tCb2iqR/bf7XwU20lnU05r/sgPJnRpwvfZaqCJBrl8Q/mw9vr3NrNdB/XtVyMA0eppRMMBqdJ1bA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.37.0.tgz", - "integrity": "sha512-JkFoFIt/cx59iqEDSgIGnQpCTRv96MQnXCYvJi7QhBC24uyuzbD8wVbajMB1b9x4I0octYFJ3OwjAwNqk1AjDA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/visitor-keys": "5.37.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.37.0.tgz", - "integrity": "sha512-jUEJoQrWbZhmikbcWSMDuUSxEE7ID2W/QCV/uz10WtQqfOuKZUqFGjqLJ+qhDd17rjgp+QJPqTdPIBWwoob2NQ==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/typescript-estree": "5.37.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.37.0.tgz", - "integrity": "sha512-Hp7rT4cENBPIzMwrlehLW/28EVCOcE9U1Z1BQTc8EA8v5qpr7GRGuG+U58V5tTY48zvUOA3KHvw3rA8tY9fbdA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.37.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@vanilla-extract/css": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.9.0.tgz", - "integrity": "sha512-YERVutWIpttfkEAynBUgdHKMcSPjMAtu5IFfDfEdXmeygilV12S5WUYMzjrqu0F/LZBtqrHG5fa2tiCiFpay+w==", - "dependencies": { - "@emotion/hash": "^0.8.0", - "@vanilla-extract/private": "^1.0.3", - "chalk": "^4.1.1", - "css-what": "^5.0.1", - "cssesc": "^3.0.0", - "csstype": "^3.0.7", - "deep-object-diff": "^1.1.0", - "deepmerge": "^4.2.2", - "escape-string-regexp": "^4.0.0", - "media-query-parser": "^2.0.2", - "outdent": "^0.8.0" - } - }, - "node_modules/@vanilla-extract/css-utils": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@vanilla-extract/css-utils/-/css-utils-0.1.2.tgz", - "integrity": "sha512-qoxIu5E/UhJtoKsPL1JaU9nhTN0Xl5zYV0pScOgsvc3JN46TvTTt0L3GV8x3PQpZP7x3elw8BsC9czYbhJy9Gg==" - }, - "node_modules/@vanilla-extract/css/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@vanilla-extract/css/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@vanilla-extract/css/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@vanilla-extract/css/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@vanilla-extract/css/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vanilla-extract/css/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@vanilla-extract/css/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vanilla-extract/integration": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@vanilla-extract/integration/-/integration-5.0.1.tgz", - "integrity": "sha512-HRV/HvC/lihb9wT3x5s7pf5qLjqxSd9nBePJ10juOuMB5cl2ZClEcts076m9BuRKM3wRK2h7KuwkNsaUtjujxQ==", - "dependencies": { - "@vanilla-extract/css": "^1.7.2", - "esbuild": "^0.11.16", - "eval": "0.1.6", - "find-up": "^5.0.0", - "javascript-stringify": "^2.0.1", - "lodash": "^4.17.21", - "outdent": "^0.8.0" - } - }, - "node_modules/@vanilla-extract/integration/node_modules/esbuild": { - "version": "0.11.23", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.11.23.tgz", - "integrity": "sha512-iaiZZ9vUF5wJV8ob1tl+5aJTrwDczlvGP0JoMmnpC2B0ppiMCu8n8gmy5ZTGl5bcG081XBVn+U+jP+mPFm5T5Q==", - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - } - }, - "node_modules/@vanilla-extract/private": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@vanilla-extract/private/-/private-1.0.3.tgz", - "integrity": "sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ==" - }, - "node_modules/@vanilla-extract/recipes": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@vanilla-extract/recipes/-/recipes-0.2.5.tgz", - "integrity": "sha512-OWXUUiFJdswD3+Xg8f8avuw/vAHZRFS4oHqFeoV1TcO8cfbDQ0zmkreBHvyspoJU+qsyWK48yPHKSptqNRPy9Q==", - "peerDependencies": { - "@vanilla-extract/css": "^1.0.0" - } - }, - "node_modules/@vanilla-extract/vite-plugin": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@vanilla-extract/vite-plugin/-/vite-plugin-3.5.0.tgz", - "integrity": "sha512-UMK2xUkfBclg8EAsR9V3mKQ44XjiyqpABZUBOJp3Vk8NDYHV8E/Ysn8xUB2WSJJnRLd4gqpHnivqRNRRfKV/gw==", - "dependencies": { - "@vanilla-extract/integration": "^5.0.0", - "outdent": "^0.8.0", - "postcss": "^8.3.6", - "postcss-load-config": "^3.1.0" - }, - "peerDependencies": { - "vite": "^2.2.3" - } - }, - "node_modules/@vitejs/plugin-react": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.1.0.tgz", - "integrity": "sha512-am6rPyyU3LzUYne3Gd9oj9c4Rzbq5hQnuGXSMT6Gujq45Il/+bunwq3lrB7wghLkiF45ygMwft37vgJ/NE8IAA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.18.13", - "@babel/plugin-transform-react-jsx": "^7.18.10", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-jsx-self": "^7.18.6", - "@babel/plugin-transform-react-jsx-source": "^7.18.6", - "magic-string": "^0.26.2", - "react-refresh": "^0.14.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^3.0.0" - } - }, - "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-includes": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", - "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", - "dev": true, - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", - "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", - "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/builtins/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001390", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz", - "integrity": "sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deep-object-diff": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.7.tgz", - "integrity": "sha512-QkgBca0mL08P6HiOjoqvmm6xOAl2W6CT2+34Ljhg0OeFan8cwlcdq8jrLKsBBuUFAZLsN5b6y491KdKEoSo9lg==" - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.242", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.242.tgz", - "integrity": "sha512-nPdgMWtjjWGCtreW/2adkrB2jyHjClo9PtVhR6rW+oxa4E4Wom642Tn+5LslHP3XPL5MCpkn5/UEY60EXylNeQ==", - "dev": true - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.2.tgz", - "integrity": "sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==", - "dev": true, - "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.2", - "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.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.7.tgz", - "integrity": "sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==", - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/linux-loong64": "0.15.7", - "esbuild-android-64": "0.15.7", - "esbuild-android-arm64": "0.15.7", - "esbuild-darwin-64": "0.15.7", - "esbuild-darwin-arm64": "0.15.7", - "esbuild-freebsd-64": "0.15.7", - "esbuild-freebsd-arm64": "0.15.7", - "esbuild-linux-32": "0.15.7", - "esbuild-linux-64": "0.15.7", - "esbuild-linux-arm": "0.15.7", - "esbuild-linux-arm64": "0.15.7", - "esbuild-linux-mips64le": "0.15.7", - "esbuild-linux-ppc64le": "0.15.7", - "esbuild-linux-riscv64": "0.15.7", - "esbuild-linux-s390x": "0.15.7", - "esbuild-netbsd-64": "0.15.7", - "esbuild-openbsd-64": "0.15.7", - "esbuild-sunos-64": "0.15.7", - "esbuild-windows-32": "0.15.7", - "esbuild-windows-64": "0.15.7", - "esbuild-windows-arm64": "0.15.7" - } - }, - "node_modules/esbuild-android-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz", - "integrity": "sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-android-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz", - "integrity": "sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz", - "integrity": "sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz", - "integrity": "sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz", - "integrity": "sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz", - "integrity": "sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-32": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz", - "integrity": "sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz", - "integrity": "sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz", - "integrity": "sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz", - "integrity": "sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz", - "integrity": "sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz", - "integrity": "sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-riscv64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz", - "integrity": "sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-s390x": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz", - "integrity": "sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-netbsd-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz", - "integrity": "sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-openbsd-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz", - "integrity": "sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-sunos-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz", - "integrity": "sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-32": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz", - "integrity": "sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz", - "integrity": "sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz", - "integrity": "sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.23.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.23.1.tgz", - "integrity": "sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.3.2", - "@humanwhocodes/config-array": "^0.10.4", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", - "@humanwhocodes/module-importer": "^1.0.1", - "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.4.0", - "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", - "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-sdsl": "^4.1.4", - "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" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", - "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-config-standard": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", - "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peerDependencies": { - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0", - "eslint-plugin-promise": "^6.0.0" - } - }, - "node_modules/eslint-config-standard-with-typescript": { - "version": "23.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-23.0.0.tgz", - "integrity": "sha512-iaaWifImn37Z1OXbNW1es7KI+S7D408F9ys0bpaQf2temeBWlvb0Nc5qHkOgYaRb5QxTZT32GGeN1gtswASOXA==", - "dev": true, - "dependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint-config-standard": "17.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0", - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0", - "eslint-plugin-promise": "^6.0.0", - "typescript": "*" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-es": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", - "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", - "dev": true, - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-i18n-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-i18n-json/-/eslint-plugin-i18n-json-4.0.0.tgz", - "integrity": "sha512-rglbr9f/UaPN/OeiSLVVFlIh4RrXPTzX5qr4tqOdTj1Ryr8xIhUzriDDuyuPWliektO86c/zy1RldmBIOfDNsQ==", - "dev": true, - "dependencies": { - "@formatjs/icu-messageformat-parser": "^2.0.18", - "chalk": "^2.3.2", - "indent-string": "^3.2.0", - "jest-diff": "^22.0.3", - "lodash.get": "^4.4.2", - "lodash.isequal": "^4.5.0", - "lodash.isplainobject": "^4.0.6", - "lodash.set": "^4.3.2", - "log-symbols": "^2.2.0", - "parse-json": "^5.2.0", - "plur": "^2.1.2", - "pretty-format": "^22.0.3" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">=4.0.0" - } - }, - "node_modules/eslint-plugin-i18next": { - "version": "6.0.0-4", - "resolved": "https://registry.npmjs.org/eslint-plugin-i18next/-/eslint-plugin-i18next-6.0.0-4.tgz", - "integrity": "sha512-QF0TpFuk5HkdzKBirXsWvueX50GIu/mhTUtYWSUSHjJcLPugap890XGsyDhOSUpX/tNzX32K43v96InZr7+mmg==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21", - "requireindex": "~1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", - "dev": true, - "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" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/eslint-plugin-n": { - "version": "15.2.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.2.5.tgz", - "integrity": "sha512-8+BYsqiyZfpu6NXmdLOXVUfk8IocpCjpd8nMRRH0A9ulrcemhb2VI9RSJMEy5udx++A/YcVPD11zT8hpFq368g==", - "dev": true, - "dependencies": { - "builtins": "^5.0.1", - "eslint-plugin-es": "^4.1.0", - "eslint-utils": "^3.0.0", - "ignore": "^5.1.1", - "is-core-module": "^2.10.0", - "minimatch": "^3.1.2", - "resolve": "^1.22.1", - "semver": "^7.3.7" - }, - "engines": { - "node": ">=12.22.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-n/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-promise": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.1.tgz", - "integrity": "sha512-uM4Tgo5u3UWQiroOyDEsYcVMOo7re3zmno0IZmB5auxoaQNIceAbXEkSt8RNrKtaYehARHG06pYK6K1JhtP0Zw==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.31.8", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.8.tgz", - "integrity": "sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.5", - "array.prototype.flatmap": "^1.3.0", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.1", - "object.values": "^1.1.5", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dev": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/espree": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", - "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", - "dev": true, - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eval": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.6.tgz", - "integrity": "sha512-o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ==", - "dependencies": { - "require-like": ">= 0.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, - "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" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/history": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", - "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", - "dependencies": { - "@babel/runtime": "^7.7.6" - } - }, - "node_modules/html-parse-stringify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", - "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", - "dependencies": { - "void-elements": "3.1.0" - } - }, - "node_modules/i18next": { - "version": "21.9.2", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.9.2.tgz", - "integrity": "sha512-00fVrLQOwy45nm3OtC9l1WiLK3nJlIYSljgCt0qzTaAy65aciMdRy9GsuW+a2AtKtdg9/njUGfRH30LRupV7ZQ==", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } - ], - "dependencies": { - "@babel/runtime": "^7.17.2" - } - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/immer": { - "version": "9.0.15", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.15.tgz", - "integrity": "sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/irregular-plurals": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz", - "integrity": "sha512-kniTIJmaZYiwa17eTtWIfm0K342seyugl6vuC8DiiyiRAJWAVlLkqGCI0Im0neo0TkXw+pRcKaBPRdcKHnQJ6Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.6.tgz", - "integrity": "sha512-krO72EO2NptOGAX2KYyqbP9vYMlNAXdB53rq6f8LXY6RY7JdSR/3BD6wLUlPHSAesmY9vstNrjvqGaCiRK/91Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/javascript-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", - "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==" - }, - "node_modules/jest-diff": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-22.4.3.tgz", - "integrity": "sha512-/QqGvCDP5oZOF6PebDuLwrB2BMD8ffJv6TAGAdEVuDx1+uEgrHpSFrfrOiMRx2eJ1hgNjlQrOQEHetVwij90KA==", - "dev": true, - "dependencies": { - "chalk": "^2.0.1", - "diff": "^3.2.0", - "jest-get-type": "^22.4.3", - "pretty-format": "^22.4.3" - } - }, - "node_modules/jest-get-type": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", - "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", - "dev": true - }, - "node_modules/js-sdsl": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz", - "integrity": "sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==", - "dev": true - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "dev": true - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", - "dev": true - }, - "node_modules/log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/magic-string": { - "version": "0.26.3", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.3.tgz", - "integrity": "sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.8" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/media-query-parser": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/media-query-parser/-/media-query-parser-2.0.2.tgz", - "integrity": "sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==", - "dependencies": { - "@babel/runtime": "^7.12.5" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", - "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.hasown": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", - "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/outdent": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz", - "integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==" - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/plur": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", - "integrity": "sha512-WhcHk576xg9y/iv6RWOuroZgsqvCbJN+XGvAypCJwLAYs2iWDp5LUmvaCdV6JR2O0SMBf8l6p7A94AyLCFVMlQ==", - "dev": true, - "dependencies": { - "irregular-plurals": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "8.4.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", - "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - }, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/pretty-format": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", - "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-i18next": { - "version": "11.18.6", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.18.6.tgz", - "integrity": "sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA==", - "dependencies": { - "@babel/runtime": "^7.14.5", - "html-parse-stringify": "^3.0.1" - }, - "peerDependencies": { - "i18next": ">= 19.0.0", - "react": ">= 16.8.0" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "node_modules/react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/remove-accents": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", - "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==" - }, - "node_modules/require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", - "engines": { - "node": "*" - } - }, - "node_modules/requireindex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.1.0.tgz", - "integrity": "sha512-LBnkqsDE7BZKvqylbmn7lTIVdpx4K/QCduRATpO5R+wtPmky/a8pN1bO2D6wXppn1497AJF9mNjqAXr6bdl9jg==", - "dev": true, - "engines": { - "node": ">=0.10.5" - } - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "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" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "2.78.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz", - "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", - "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.1", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typescript": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz", - "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz", - "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/vite": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.0.tgz", - "integrity": "sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==", - "dependencies": { - "esbuild": "^0.15.6", - "postcss": "^8.4.16", - "resolve": "^1.22.1", - "rollup": "~2.78.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "less": "*", - "sass": "*", - "stylus": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "less": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vite-plugin-eslint": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/vite-plugin-eslint/-/vite-plugin-eslint-1.8.1.tgz", - "integrity": "sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^4.2.1", - "@types/eslint": "^8.4.5", - "rollup": "^2.77.2" - }, - "peerDependencies": { - "eslint": ">=7", - "vite": ">=2" - } - }, - "node_modules/void-elements": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", - "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zustand": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.1.1.tgz", - "integrity": "sha512-h4F3WMqsZgvvaE0n3lThx4MM81Ls9xebjvrABNzf5+jb3/03YjNTSgZXeyrvXDArMeV9untvWXRw1tY+ntPYbA==", - "dependencies": { - "use-sync-external-store": "1.2.0" - }, - "engines": { - "node": ">=12.7.0" - }, - "peerDependencies": { - "immer": ">=9.0", - "react": ">=16.8" - }, - "peerDependenciesMeta": { - "immer": { - "optional": true - }, - "react": { - "optional": true - } - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz", - "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==", - "dev": true - }, - "@babel/core": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz", - "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz", - "integrity": "sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==", - "dev": true, - "requires": { - "@babel/types": "^7.19.0", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz", - "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", - "dev": true - }, - "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", - "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==", - "dev": true - }, - "@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", - "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.19.0" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", - "dev": true, - "requires": { - "@babel/plugin-transform-react-jsx": "^7.18.6" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", - "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz", - "integrity": "sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/runtime": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", - "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - } - }, - "@babel/traverse": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz", - "integrity": "sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.0", - "@babel/types": "^7.19.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz", - "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", - "to-fast-properties": "^2.0.0" - } - }, - "@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" - }, - "@esbuild/linux-loong64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz", - "integrity": "sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==", - "optional": true - }, - "@eslint/eslintrc": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", - "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "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" - }, - "dependencies": { - "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - } - } - }, - "@formatjs/ecma402-abstract": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.12.0.tgz", - "integrity": "sha512-0/wm9b7brUD40kx7KSE0S532T8EfH06Zc41rGlinoNyYXnuusR6ull2x63iFJgVXgwahm42hAW7dcYdZ+llZzA==", - "dev": true, - "requires": { - "@formatjs/intl-localematcher": "0.2.31", - "tslib": "2.4.0" - }, - "dependencies": { - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - } - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.7.tgz", - "integrity": "sha512-KM4ikG5MloXMulqn39Js3ypuVzpPKq/DDplvl01PE2qD9rAzFO8YtaUCC9vr9j3sRXwdHPeTe8r3J/8IJgvYEQ==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.12.0", - "@formatjs/icu-skeleton-parser": "1.3.13", - "tslib": "2.4.0" - }, - "dependencies": { - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - } - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.3.13", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.13.tgz", - "integrity": "sha512-qb1kxnA4ep76rV+d9JICvZBThBpK5X+nh1dLmmIReX72QyglicsaOmKEcdcbp7/giCWfhVs6CXPVA2JJ5/ZvAw==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.12.0", - "tslib": "2.4.0" - }, - "dependencies": { - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - } - } - }, - "@formatjs/intl-localematcher": { - "version": "0.2.31", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.31.tgz", - "integrity": "sha512-9QTjdSBpQ7wHShZgsNzNig5qT3rCPvmZogS/wXZzKotns5skbXgs0I7J8cuN0PPqXyynvNVuN+iOKhNS2eb+ZA==", - "dev": true, - "requires": { - "tslib": "2.4.0" - }, - "dependencies": { - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - } - } - }, - "@headlessui/react": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.2.tgz", - "integrity": "sha512-snLv2lxwsf2HNTOBNgHYdvoYZ3ChJE8QszPi1d/hl9js8KrFrUulTaQBfSyPbJP5BybVreWh9DxCgz9S0Z6hKQ==", - "requires": {} - }, - "@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - } - }, - "@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", - "dev": true - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", - "dev": true, - "requires": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" - } - }, - "@tanstack/match-sorter-utils": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.1.1.tgz", - "integrity": "sha512-IdmEekEYxQsoLOR0XQyw3jD1GujBpRRYaGJYQUw1eOT1eUugWxdc7jomh1VQ1EKHcdwDLpLaCz/8y4KraU4T9A==", - "requires": { - "remove-accents": "0.4.2" - } - }, - "@tanstack/query-core": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.2.3.tgz", - "integrity": "sha512-zdt5lYWs1dZaA3IxJbCgtAfHZJScRZONpiLL7YkeOkrme5MfjQqTpjq7LYbzpyuwPOh2Jx68le0PLl57JFv5hQ==" - }, - "@tanstack/react-location": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@tanstack/react-location/-/react-location-3.7.4.tgz", - "integrity": "sha512-6rH2vNHGr0uyeUz5ZHvWMYjeYKGgIKFzvs5749QtnS9f+FU7t7fQE0hKZAzltBZk82LT7iYbcHBRyUg2lW13VA==", - "requires": { - "@babel/runtime": "^7.16.7", - "history": "^5.2.0" - } - }, - "@tanstack/react-query": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.2.3.tgz", - "integrity": "sha512-JLaMOxoJTkiAu7QpevRCt2uI/0vd3E8K/rSlCuRgWlcW5DeJDFpDS5kfzmLO5MOcD97fgsJRrDbxDORxR1FdJA==", - "requires": { - "@tanstack/query-core": "4.2.3", - "@types/use-sync-external-store": "^0.0.3", - "use-sync-external-store": "^1.2.0" - } - }, - "@tanstack/react-query-devtools": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-4.2.3.tgz", - "integrity": "sha512-0PH8n824BnFyMrtv7q5uLS0b7jYg2tDH8vU4etkSYzV1uL4RJjiqMh7Gyi8qhYCwM+khlrkRYlNZvE0cxlp3SQ==", - "requires": { - "@tanstack/match-sorter-utils": "^8.0.0-alpha.82", - "@types/use-sync-external-store": "^0.0.3", - "use-sync-external-store": "^1.2.0" - } - }, - "@types/eslint": { - "version": "8.4.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", - "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "@types/node": { - "version": "18.7.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.18.tgz", - "integrity": "sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg==", - "dev": true - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "dev": true - }, - "@types/react": { - "version": "18.0.18", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.18.tgz", - "integrity": "sha512-6hI08umYs6NaiHFEEGioXnxJ+oEhY3eRz8VCUaudZmGdtvPviCJB8mgaMxaDWAdPSYd4eFavrPk2QIolwbLYrg==", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.0.6", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz", - "integrity": "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", - "dev": true - }, - "@types/use-sync-external-store": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", - "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" - }, - "@types/uuid": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", - "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.37.0.tgz", - "integrity": "sha512-Fde6W0IafXktz1UlnhGkrrmnnGpAo1kyX7dnyHHVrmwJOn72Oqm3eYtddrpOwwel2W8PAK9F3pIL5S+lfoM0og==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/type-utils": "5.37.0", - "@typescript-eslint/utils": "5.37.0", - "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" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/parser": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.37.0.tgz", - "integrity": "sha512-01VzI/ipYKuaG5PkE5+qyJ6m02fVALmMPY3Qq5BHflDx3y4VobbLdHQkSMg9VPRS4KdNt4oYTMaomFoHonBGAw==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/typescript-estree": "5.37.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.37.0.tgz", - "integrity": "sha512-F67MqrmSXGd/eZnujjtkPgBQzgespu/iCZ+54Ok9X5tALb9L2v3G+QBSoWkXG0p3lcTJsL+iXz5eLUEdSiJU9Q==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/visitor-keys": "5.37.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.37.0.tgz", - "integrity": "sha512-BSx/O0Z0SXOF5tY0bNTBcDEKz2Ec20GVYvq/H/XNKiUorUFilH7NPbFUuiiyzWaSdN3PA8JV0OvYx0gH/5aFAQ==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.37.0", - "@typescript-eslint/utils": "5.37.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.37.0.tgz", - "integrity": "sha512-3frIJiTa5+tCb2iqR/bf7XwU20lnU05r/sgPJnRpwvfZaqCJBrl8Q/mw9vr3NrNdB/XtVyMA0eppRMMBqdJ1bA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.37.0.tgz", - "integrity": "sha512-JkFoFIt/cx59iqEDSgIGnQpCTRv96MQnXCYvJi7QhBC24uyuzbD8wVbajMB1b9x4I0octYFJ3OwjAwNqk1AjDA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/visitor-keys": "5.37.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/utils": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.37.0.tgz", - "integrity": "sha512-jUEJoQrWbZhmikbcWSMDuUSxEE7ID2W/QCV/uz10WtQqfOuKZUqFGjqLJ+qhDd17rjgp+QJPqTdPIBWwoob2NQ==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/typescript-estree": "5.37.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.37.0.tgz", - "integrity": "sha512-Hp7rT4cENBPIzMwrlehLW/28EVCOcE9U1Z1BQTc8EA8v5qpr7GRGuG+U58V5tTY48zvUOA3KHvw3rA8tY9fbdA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.37.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@vanilla-extract/css": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.9.0.tgz", - "integrity": "sha512-YERVutWIpttfkEAynBUgdHKMcSPjMAtu5IFfDfEdXmeygilV12S5WUYMzjrqu0F/LZBtqrHG5fa2tiCiFpay+w==", - "requires": { - "@emotion/hash": "^0.8.0", - "@vanilla-extract/private": "^1.0.3", - "chalk": "^4.1.1", - "css-what": "^5.0.1", - "cssesc": "^3.0.0", - "csstype": "^3.0.7", - "deep-object-diff": "^1.1.0", - "deepmerge": "^4.2.2", - "escape-string-regexp": "^4.0.0", - "media-query-parser": "^2.0.2", - "outdent": "^0.8.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@vanilla-extract/css-utils": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@vanilla-extract/css-utils/-/css-utils-0.1.2.tgz", - "integrity": "sha512-qoxIu5E/UhJtoKsPL1JaU9nhTN0Xl5zYV0pScOgsvc3JN46TvTTt0L3GV8x3PQpZP7x3elw8BsC9czYbhJy9Gg==" - }, - "@vanilla-extract/integration": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@vanilla-extract/integration/-/integration-5.0.1.tgz", - "integrity": "sha512-HRV/HvC/lihb9wT3x5s7pf5qLjqxSd9nBePJ10juOuMB5cl2ZClEcts076m9BuRKM3wRK2h7KuwkNsaUtjujxQ==", - "requires": { - "@vanilla-extract/css": "^1.7.2", - "esbuild": "^0.11.16", - "eval": "0.1.6", - "find-up": "^5.0.0", - "javascript-stringify": "^2.0.1", - "lodash": "^4.17.21", - "outdent": "^0.8.0" - }, - "dependencies": { - "esbuild": { - "version": "0.11.23", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.11.23.tgz", - "integrity": "sha512-iaiZZ9vUF5wJV8ob1tl+5aJTrwDczlvGP0JoMmnpC2B0ppiMCu8n8gmy5ZTGl5bcG081XBVn+U+jP+mPFm5T5Q==" - } - } - }, - "@vanilla-extract/private": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@vanilla-extract/private/-/private-1.0.3.tgz", - "integrity": "sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ==" - }, - "@vanilla-extract/recipes": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@vanilla-extract/recipes/-/recipes-0.2.5.tgz", - "integrity": "sha512-OWXUUiFJdswD3+Xg8f8avuw/vAHZRFS4oHqFeoV1TcO8cfbDQ0zmkreBHvyspoJU+qsyWK48yPHKSptqNRPy9Q==", - "requires": {} - }, - "@vanilla-extract/vite-plugin": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@vanilla-extract/vite-plugin/-/vite-plugin-3.5.0.tgz", - "integrity": "sha512-UMK2xUkfBclg8EAsR9V3mKQ44XjiyqpABZUBOJp3Vk8NDYHV8E/Ysn8xUB2WSJJnRLd4gqpHnivqRNRRfKV/gw==", - "requires": { - "@vanilla-extract/integration": "^5.0.0", - "outdent": "^0.8.0", - "postcss": "^8.3.6", - "postcss-load-config": "^3.1.0" - } - }, - "@vitejs/plugin-react": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.1.0.tgz", - "integrity": "sha512-am6rPyyU3LzUYne3Gd9oj9c4Rzbq5hQnuGXSMT6Gujq45Il/+bunwq3lrB7wghLkiF45ygMwft37vgJ/NE8IAA==", - "dev": true, - "requires": { - "@babel/core": "^7.18.13", - "@babel/plugin-transform-react-jsx": "^7.18.10", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-jsx-self": "^7.18.6", - "@babel/plugin-transform-react-jsx-source": "^7.18.6", - "magic-string": "^0.26.2", - "react-refresh": "^0.14.0" - } - }, - "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "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": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "array-includes": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", - "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", - "dev": true, - "requires": { - "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-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array.prototype.flat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", - "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", - "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", - "es-shim-unscopables": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" - } - }, - "builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "requires": { - "semver": "^7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001390", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz", - "integrity": "sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deep-object-diff": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.7.tgz", - "integrity": "sha512-QkgBca0mL08P6HiOjoqvmm6xOAl2W6CT2+34Ljhg0OeFan8cwlcdq8jrLKsBBuUFAZLsN5b6y491KdKEoSo9lg==" - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "electron-to-chromium": { - "version": "1.4.242", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.242.tgz", - "integrity": "sha512-nPdgMWtjjWGCtreW/2adkrB2jyHjClo9PtVhR6rW+oxa4E4Wom642Tn+5LslHP3XPL5MCpkn5/UEY60EXylNeQ==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.2.tgz", - "integrity": "sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==", - "dev": true, - "requires": { - "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.2", - "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.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "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": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "esbuild": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.7.tgz", - "integrity": "sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==", - "requires": { - "@esbuild/linux-loong64": "0.15.7", - "esbuild-android-64": "0.15.7", - "esbuild-android-arm64": "0.15.7", - "esbuild-darwin-64": "0.15.7", - "esbuild-darwin-arm64": "0.15.7", - "esbuild-freebsd-64": "0.15.7", - "esbuild-freebsd-arm64": "0.15.7", - "esbuild-linux-32": "0.15.7", - "esbuild-linux-64": "0.15.7", - "esbuild-linux-arm": "0.15.7", - "esbuild-linux-arm64": "0.15.7", - "esbuild-linux-mips64le": "0.15.7", - "esbuild-linux-ppc64le": "0.15.7", - "esbuild-linux-riscv64": "0.15.7", - "esbuild-linux-s390x": "0.15.7", - "esbuild-netbsd-64": "0.15.7", - "esbuild-openbsd-64": "0.15.7", - "esbuild-sunos-64": "0.15.7", - "esbuild-windows-32": "0.15.7", - "esbuild-windows-64": "0.15.7", - "esbuild-windows-arm64": "0.15.7" - } - }, - "esbuild-android-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz", - "integrity": "sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w==", - "optional": true - }, - "esbuild-android-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz", - "integrity": "sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ==", - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz", - "integrity": "sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg==", - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz", - "integrity": "sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ==", - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz", - "integrity": "sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ==", - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz", - "integrity": "sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q==", - "optional": true - }, - "esbuild-linux-32": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz", - "integrity": "sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg==", - "optional": true - }, - "esbuild-linux-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz", - "integrity": "sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==", - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz", - "integrity": "sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ==", - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz", - "integrity": "sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw==", - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz", - "integrity": "sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw==", - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz", - "integrity": "sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw==", - "optional": true - }, - "esbuild-linux-riscv64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz", - "integrity": "sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g==", - "optional": true - }, - "esbuild-linux-s390x": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz", - "integrity": "sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ==", - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz", - "integrity": "sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ==", - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz", - "integrity": "sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ==", - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz", - "integrity": "sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag==", - "optional": true - }, - "esbuild-windows-32": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz", - "integrity": "sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA==", - "optional": true - }, - "esbuild-windows-64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz", - "integrity": "sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q==", - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz", - "integrity": "sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw==", - "optional": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "eslint": { - "version": "8.23.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.23.1.tgz", - "integrity": "sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.3.2", - "@humanwhocodes/config-array": "^0.10.4", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", - "@humanwhocodes/module-importer": "^1.0.1", - "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.4.0", - "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", - "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-sdsl": "^4.1.4", - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "eslint-config-prettier": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", - "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", - "dev": true, - "requires": {} - }, - "eslint-config-standard": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", - "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", - "dev": true, - "requires": {} - }, - "eslint-config-standard-with-typescript": { - "version": "23.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-23.0.0.tgz", - "integrity": "sha512-iaaWifImn37Z1OXbNW1es7KI+S7D408F9ys0bpaQf2temeBWlvb0Nc5qHkOgYaRb5QxTZT32GGeN1gtswASOXA==", - "dev": true, - "requires": { - "@typescript-eslint/parser": "^5.0.0", - "eslint-config-standard": "17.0.0" - } - }, - "eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-es": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", - "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", - "dev": true, - "requires": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "eslint-plugin-i18n-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-i18n-json/-/eslint-plugin-i18n-json-4.0.0.tgz", - "integrity": "sha512-rglbr9f/UaPN/OeiSLVVFlIh4RrXPTzX5qr4tqOdTj1Ryr8xIhUzriDDuyuPWliektO86c/zy1RldmBIOfDNsQ==", - "dev": true, - "requires": { - "@formatjs/icu-messageformat-parser": "^2.0.18", - "chalk": "^2.3.2", - "indent-string": "^3.2.0", - "jest-diff": "^22.0.3", - "lodash.get": "^4.4.2", - "lodash.isequal": "^4.5.0", - "lodash.isplainobject": "^4.0.6", - "lodash.set": "^4.3.2", - "log-symbols": "^2.2.0", - "parse-json": "^5.2.0", - "plur": "^2.1.2", - "pretty-format": "^22.0.3" - } - }, - "eslint-plugin-i18next": { - "version": "6.0.0-4", - "resolved": "https://registry.npmjs.org/eslint-plugin-i18next/-/eslint-plugin-i18next-6.0.0-4.tgz", - "integrity": "sha512-QF0TpFuk5HkdzKBirXsWvueX50GIu/mhTUtYWSUSHjJcLPugap890XGsyDhOSUpX/tNzX32K43v96InZr7+mmg==", - "dev": true, - "requires": { - "lodash": "^4.17.21", - "requireindex": "~1.1.0" - } - }, - "eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "eslint-plugin-n": { - "version": "15.2.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.2.5.tgz", - "integrity": "sha512-8+BYsqiyZfpu6NXmdLOXVUfk8IocpCjpd8nMRRH0A9ulrcemhb2VI9RSJMEy5udx++A/YcVPD11zT8hpFq368g==", - "dev": true, - "requires": { - "builtins": "^5.0.1", - "eslint-plugin-es": "^4.1.0", - "eslint-utils": "^3.0.0", - "ignore": "^5.1.1", - "is-core-module": "^2.10.0", - "minimatch": "^3.1.2", - "resolve": "^1.22.1", - "semver": "^7.3.7" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "eslint-plugin-promise": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.1.tgz", - "integrity": "sha512-uM4Tgo5u3UWQiroOyDEsYcVMOo7re3zmno0IZmB5auxoaQNIceAbXEkSt8RNrKtaYehARHG06pYK6K1JhtP0Zw==", - "dev": true, - "requires": {} - }, - "eslint-plugin-react": { - "version": "7.31.8", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.8.tgz", - "integrity": "sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw==", - "dev": true, - "requires": { - "array-includes": "^3.1.5", - "array.prototype.flatmap": "^1.3.0", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.1", - "object.values": "^1.1.5", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.7" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - } - } - }, - "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true - }, - "espree": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", - "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - } - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "eval": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.6.tgz", - "integrity": "sha512-o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ==", - "requires": { - "require-like": ">= 0.1.1" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "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": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "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": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "history": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", - "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", - "requires": { - "@babel/runtime": "^7.7.6" - } - }, - "html-parse-stringify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", - "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", - "requires": { - "void-elements": "3.1.0" - } - }, - "i18next": { - "version": "21.9.2", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.9.2.tgz", - "integrity": "sha512-00fVrLQOwy45nm3OtC9l1WiLK3nJlIYSljgCt0qzTaAy65aciMdRy9GsuW+a2AtKtdg9/njUGfRH30LRupV7ZQ==", - "requires": { - "@babel/runtime": "^7.17.2" - } - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "immer": { - "version": "9.0.15", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.15.tgz", - "integrity": "sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "irregular-plurals": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz", - "integrity": "sha512-kniTIJmaZYiwa17eTtWIfm0K342seyugl6vuC8DiiyiRAJWAVlLkqGCI0Im0neo0TkXw+pRcKaBPRdcKHnQJ6Q==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.6.tgz", - "integrity": "sha512-krO72EO2NptOGAX2KYyqbP9vYMlNAXdB53rq6f8LXY6RY7JdSR/3BD6wLUlPHSAesmY9vstNrjvqGaCiRK/91Q==", - "dev": true - }, - "is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "javascript-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", - "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==" - }, - "jest-diff": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-22.4.3.tgz", - "integrity": "sha512-/QqGvCDP5oZOF6PebDuLwrB2BMD8ffJv6TAGAdEVuDx1+uEgrHpSFrfrOiMRx2eJ1hgNjlQrOQEHetVwij90KA==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "diff": "^3.2.0", - "jest-get-type": "^22.4.3", - "pretty-format": "^22.4.3" - } - }, - "jest-get-type": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", - "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", - "dev": true - }, - "js-sdsl": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz", - "integrity": "sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true - }, - "jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", - "dev": true, - "requires": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==" - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", - "dev": true - }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "requires": { - "chalk": "^2.0.1" - } - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "magic-string": { - "version": "0.26.3", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.3.tgz", - "integrity": "sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "media-query-parser": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/media-query-parser/-/media-query-parser-2.0.2.tgz", - "integrity": "sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==", - "requires": { - "@babel/runtime": "^7.12.5" - } - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "object.fromentries": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", - "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "object.hasown": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", - "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", - "dev": true, - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - } - }, - "object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "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" - } - }, - "outdent": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz", - "integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==" - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "plur": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", - "integrity": "sha512-WhcHk576xg9y/iv6RWOuroZgsqvCbJN+XGvAypCJwLAYs2iWDp5LUmvaCdV6JR2O0SMBf8l6p7A94AyLCFVMlQ==", - "dev": true, - "requires": { - "irregular-plurals": "^1.0.0" - } - }, - "postcss": { - "version": "8.4.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", - "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", - "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", - "requires": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "dev": true - }, - "pretty-format": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", - "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true - } - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - } - }, - "react-i18next": { - "version": "11.18.6", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.18.6.tgz", - "integrity": "sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA==", - "requires": { - "@babel/runtime": "^7.14.5", - "html-parse-stringify": "^3.0.1" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "remove-accents": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", - "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==" - }, - "require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==" - }, - "requireindex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.1.0.tgz", - "integrity": "sha512-LBnkqsDE7BZKvqylbmn7lTIVdpx4K/QCduRATpO5R+wtPmky/a8pN1bO2D6wXppn1497AJF9mNjqAXr6bdl9jg==", - "dev": true - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rollup": { - "version": "2.78.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz", - "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==", - "requires": { - "fsevents": "~2.3.2" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "string.prototype.matchall": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", - "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.1", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - } - }, - "string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "typescript": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz", - "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==", - "dev": true - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "update-browserslist-db": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz", - "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "requires": {} - }, - "uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" - }, - "vite": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.0.tgz", - "integrity": "sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==", - "requires": { - "esbuild": "^0.15.6", - "fsevents": "~2.3.2", - "postcss": "^8.4.16", - "resolve": "^1.22.1", - "rollup": "~2.78.0" - } - }, - "vite-plugin-eslint": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/vite-plugin-eslint/-/vite-plugin-eslint-1.8.1.tgz", - "integrity": "sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^4.2.1", - "@types/eslint": "^8.4.5", - "rollup": "^2.77.2" - } - }, - "void-elements": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", - "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "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" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - }, - "zustand": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.1.1.tgz", - "integrity": "sha512-h4F3WMqsZgvvaE0n3lThx4MM81Ls9xebjvrABNzf5+jb3/03YjNTSgZXeyrvXDArMeV9untvWXRw1tY+ntPYbA==", - "requires": { - "use-sync-external-store": "1.2.0" - } - } - } -} diff --git a/ui/frontend/build_src/package.json b/ui/frontend/build_src/package.json deleted file mode 100644 index e5b27a7e..00000000 --- a/ui/frontend/build_src/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "react-ts", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "pretty": "prettier --write .", - "dev": "vite", - "build": "tsc && vite build --emptyOutDir", - "preview": "vite preview" - }, - "dependencies": { - "@headlessui/react": "^1.7.2", - "@tanstack/react-location": "^3.7.4", - "@tanstack/react-query": "^4.2.3", - "@tanstack/react-query-devtools": "^4.2.3", - "@vanilla-extract/css": "^1.9.0", - "@vanilla-extract/css-utils": "^0.1.2", - "@vanilla-extract/recipes": "^0.2.5", - "@vanilla-extract/vite-plugin": "^3.5.0", - "i18next": "^21.9.2", - "immer": "^9.0.15", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-i18next": "^11.18.6", - "uuid": "^9.0.0", - "zustand": "^4.1.1" - }, - "devDependencies": { - "@types/node": "^18.7.18", - "@types/react": "^18.0.17", - "@types/react-dom": "^18.0.6", - "@types/uuid": "^8.3.4", - "@typescript-eslint/eslint-plugin": "^5.37.0", - "@typescript-eslint/parser": "^5.37.0", - "@vitejs/plugin-react": "^2.0.1", - "eslint": "^8.23.1", - "eslint-config-prettier": "^8.5.0", - "eslint-config-standard-with-typescript": "^23.0.0", - "eslint-plugin-i18n-json": "^4.0.0", - "eslint-plugin-i18next": "^6.0.0-4", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-n": "^15.2.5", - "eslint-plugin-promise": "^6.0.1", - "eslint-plugin-react": "^7.31.8", - "prettier": "^2.7.1", - "typescript": "^4.8.3", - "vite": "^3.0.7", - "vite-plugin-eslint": "^1.8.1" - }, - "overrides": { - "@vanilla-extract/vite-plugin": { - "vite": "^3" - } - } -} diff --git a/ui/frontend/build_src/prettier.cjs b/ui/frontend/build_src/prettier.cjs deleted file mode 100644 index f57cec25..00000000 --- a/ui/frontend/build_src/prettier.cjs +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - singleQuote: true, - tabWidth: 2, - semi: true, - trailingComma: "es5", - endOfLine: "lf", -}; diff --git a/ui/frontend/build_src/src/App.tsx b/ui/frontend/build_src/src/App.tsx deleted file mode 100644 index f4e312e1..00000000 --- a/ui/frontend/build_src/src/App.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import React from "react"; -import { ReactLocation, Router } from "@tanstack/react-location"; -import Home from "./pages/Home"; -import Settings from "./pages/Settings"; -import "./Translation/config"; -const location = new ReactLocation(); - -function App() { - - return ( - }, - { path: "/settings", element: }, - ]} - > - ); -} - -export default App; diff --git a/ui/frontend/build_src/src/Translation/config.ts b/ui/frontend/build_src/src/Translation/config.ts deleted file mode 100644 index 31c0611b..00000000 --- a/ui/frontend/build_src/src/Translation/config.ts +++ /dev/null @@ -1,32 +0,0 @@ -import i18n from "i18next"; -// this should be updated to an interface -import ENTranslation from "./locales/en/home.json"; -import ESTranslation from "./locales/es/home.json"; -import { initReactI18next } from "react-i18next"; - -export const resources = { - en: { - translation: ENTranslation, - }, - es: { - translation: ESTranslation, - }, -} as const; -i18n - .use(initReactI18next) - .init({ - lng: "en", - interpolation: { - escapeValue: false, - }, - resources, - }) - .then(() => { - console.log("i18n initialized"); - }) - .catch((err) => { - console.error("i18n initialization failed", err); - }) - .finally(() => { - console.log("i18n initialization finished"); - }); diff --git a/ui/frontend/build_src/src/Translation/locales/en/home.json b/ui/frontend/build_src/src/Translation/locales/en/home.json deleted file mode 100644 index 143adf7e..00000000 --- a/ui/frontend/build_src/src/Translation/locales/en/home.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "title": "Stable Diffusion UI", - "description": "", - "navbar": { - "home": "Home", - "history": "History", - "community": "Community", - "settings": "Settings" - }, - "land-cre": { - "cp": "Create Profile", - "cp-place": "Profile name", - "pp": "Profile Picture", - "pp-disc": "", - "ast": "Automatically save to", - "ast-disc": "File path to auto save your creations", - "place": "File path", - "cre": "Create" - }, - "land-pre": { - "user": "Username", - "add": "Add Profile" - }, - "home": { - "status-starting": "Stable Diffusion is starting...", - "status-ready": "Stable Diffusion is ready to use!", - "status-error": "Stable Diffusion is not running!", - "editor-title": "Prompt", - "initial-img-txt": "Initial Image: (optional)", - "initial-img-btn": "Browse...", - "initial-img-text2": "No file selected.", - "make-img-btn": "Make Image", - "make-img-btn-stop": "Stop" - }, - "in-paint": { - "txt": "In-Painting (select the area which the AI will paint into)", - "clear": "Clear" - }, - "settings": { - "base-img": "Use base image:", - "seed": "Seed:", - "amount-of-img": "Amount of images to make:", - "how-many": "How many at once:", - "stream-img": "Stream images (this will slow down image generation):", - "width": "Width:", - "height": "Height:", - "sampler": "Sampler:", - "steps": "Number of inference steps:", - "guide-scale": "Guidance Scale:", - "prompt-str": "Prompt Strength:", - "live-preview": "Show a live preview of the image (disable this for faster image generation)", - "fix-face": "Fix incorrect faces and eyes (uses GFPGAN)", - "ups": "Upscale the image to 4x resolution using:", - "no-ups": "No Upscaling", - "corrected": "Show only the corrected/upscaled image" - }, - "tags": { - "txt": "Image Modifiers (art styles, tags etc)" - }, - "preview-prompt": { - "part1": "Type a prompt and press the \"Make Image\" button.", - "part2": "You can set an \"Initial Image\" if you want to guide the AI.\n", - "part3": "You can also add modifiers like \"Realistic\", \"Pencil Sketch\", \"ArtStation\" etc by browsing through the \"Image Modifiers\" section and selecting the desired modifiers.\n", - "part4": "Click \"Advanced Settings\" for additional settings like seed, image size, number of images to generate etc.", - "part5": "Enjoy! :)" - }, - "current-task": "Current task", - "recent-create": "Recently Created", - "popup": { - "use-btn": "Use Image", - "use-btn2": "Use Image and Tags" - }, - "history": { - "fave": "Favorites Only", - "search": "Search" - }, - "advanced-settings": { - "sound": "Play sound on task completion", - "sound-disc": "Will play a sound so user can hear when image is done.", - "turbo": "Turbo mode", - "turbo-disc": "Generates images faster, but uses an additional 1 GB of GPU memory", - "cpu": "Use CPU instead of GPU", - "cpu-disc": "Warning: this will be *very* slow", - "gpu": "Use full precision", - "gpu-disc": "(for GPU-only. warning: this will consume more VRAM)", - "beta": "Beta Features", - "beta-disc": "Get the latest features immediately (but could be less stable). \nPlease restart the program after changing this.", - "save": "SAVE" - }, - "storage": { - "ast": "Automatically save to", - "ast-disc": "File path to auto save your creations", - "place": "File path", - "cps": "Cross profile sharing", - "cps-disc": "Profiles will see suggestions from each other.", - "acb": "Allow cloud backup", - "acb-disc": "A button will show up for images on hover", - "acb-place": "Choose your", - "acc-api": "Api key", - "acb-api-place": "Your API key", - "save": "SAVE" - }, - "import": { - "imp-btn": "IMPORT", - "exp-btn": "EXPORT", - "disc": "It is a good idea to leave the exported file as it is. Otherwise it may not import correctly", - "disc:2": "When importing, only profiles that are not already present on the will be added." - }, - "about": "If you found this project useful and want to help keep it alive, please to help cover the cost of development and maintenance! Thank you for your support!\n\nPlease feel free to join the discord community or file an issue if you have any problems or suggestions in using this interface.\n\nDisclaimer: The authors of this project are not responsible for any content generated using this interface.\n\nThis license of this software forbids you from sharing any content that violates any laws, produce any harm to a person, disseminate any personal information that would be meant for harm,\nspread misinformation and target vulnerable groups. For the full list of restrictions please read the license.\n\nBy using this software, you consent to the terms and conditions of the license.\n" -} diff --git a/ui/frontend/build_src/src/Translation/locales/es/home.json b/ui/frontend/build_src/src/Translation/locales/es/home.json deleted file mode 100644 index 1c7fe6f5..00000000 --- a/ui/frontend/build_src/src/Translation/locales/es/home.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "title": "Stable Diffusion UI", - "description": "", - "navbar": { - "home": "Home", - "history": "History", - "community": "Community", - "settings": "Settings" - }, - "land-cre": { - "cp": "Create Profile", - "cp-place": "Profile name", - "pp": "Profile Picture", - "pp-disc": "", - "ast": "Automatically save to", - "ast-disc": "File path to auto save your creations", - "place": "File path", - "cre": "Create" - }, - "land-pre": { - "user": "Username", - "add": "Add Profile" - }, - "home": { - "status-starting": "Stable Diffusion is starting...", - "status-ready": "Stable Diffusion is ready to use!", - "status-error": "Stable Diffusion is not running!", - "editor-title": "Prompt", - "initial-img-txt": "Initial Image: (optional)", - "initial-img-btn": "Browse...", - "initial-img-text2": "No file selected.", - "make-img-btn": "Make Image", - "make-img-btn-stop": "Stop" - }, - "in-paint": { - "txt": "In-Painting (select the area which the AI will paint into)", - "clear": "Clear" - }, - "settings": { - "base-img": "Use base image:", - "seed": "Seed:", - "amount-of-img": "Amount of images to make:", - "how-many": "How many at once:", - "width": "Width:", - "height": "Height:", - "steps": "Number of inference steps:", - "guide-scale": "Guidance Scale:", - "prompt-str": "Prompt Strength:", - "live-preview": "Show a live preview of the image (disable this for faster image generation)", - "fix-face": "Fix incorrect faces and eyes (uses GFPGAN)", - "ups": "Upscale the image to 4x resolution using:", - "no-ups": "No Upscaling", - "corrected": "Show only the corrected/upscaled image" - }, - "tags": { - "txt": "Image Modifiers (art styles, tags etc)" - }, - "preview-prompt": { - "part1": "Type a prompt and press the \"Make Image\" button.", - "part2": "You can set an \"Initial Image\" if you want to guide the AI.\n", - "part3": "You can also add modifiers like \"Realistic\", \"Pencil Sketch\", \"ArtStation\" etc by browsing through the \"Image Modifiers\" section and selecting the desired modifiers.\n", - "part4": "Click \"Advanced Settings\" for additional settings like seed, image size, number of images to generate etc.", - "part5": "Enjoy! :)" - }, - "current-task": "Current task", - "recent-create": "Recently Created", - "popup": { - "use-btn": "Use Image", - "use-btn2": "Use Image and Tags" - }, - "history": { - "fave": "Favorites Only", - "search": "Search" - }, - "advanced-settings": { - "sound": "Play sound on task completion", - "sound-disc": "Will play a sound so user can hear when image is done.", - "turbo": "Turbo mode", - "turbo-disc": "Generates images faster, but uses an additional 1 GB of GPU memory", - "cpu": "Use CPU instead of GPU", - "cpu-disc": "Warning: this will be *very* slow", - "gpu": "Use full precision", - "gpu-disc": "(for GPU-only. warning: this will consume more VRAM)", - "beta": "Beta Features", - "beta-disc": "Get the latest features immediately (but could be less stable). \nPlease restart the program after changing this.", - "save": "SAVE" - }, - "storage": { - "ast": "Automatically save to", - "ast-disc": "File path to auto save your creations", - "place": "File path", - "cps": "Cross profile sharing", - "cps-disc": "Profiles will see suggestions from each other.", - "acb": "Allow cloud backup", - "acb-disc": "A button will show up for images on hover", - "acb-place": "Choose your", - "acc-api": "Api key", - "acb-api-place": "Your API key", - "save": "SAVE" - }, - "import": { - "imp-btn": "IMPORT", - "exp-btn": "EXPORT", - "disc": "It is a good idea to leave the exported file as it is. Otherwise it may not import correctly", - "disc:2": "When importing, only profiles that are not already present on the will be added." - }, - "about": "If you found this project useful and want to help keep it alive, please to help cover the cost of development and maintenance! Thank you for your support!\n\nPlease feel free to join the discord community or file an issue if you have any problems or suggestions in using this interface.\n\nDisclaimer: The authors of this project are not responsible for any content generated using this interface.\n\nThis license of this software forbids you from sharing any content that violates any laws, produce any harm to a person, disseminate any personal information that would be meant for harm,\nspread misinformation and target vulnerable groups. For the full list of restrictions please read the license.\n\nBy using this software, you consent to the terms and conditions of the license.\n" -} diff --git a/ui/frontend/build_src/src/api/index.ts b/ui/frontend/build_src/src/api/index.ts deleted file mode 100644 index 2fba8a5f..00000000 --- a/ui/frontend/build_src/src/api/index.ts +++ /dev/null @@ -1,146 +0,0 @@ -/** - * basic server health - */ - -import type { SAMPLER_OPTIONS } from "../stores/imageCreateStore"; - -// when we are on dev we want to specifiy 9000 as the port for the backend -// when we are on prod we want be realtive to the current url -export const API_URL = import.meta.env.DEV ? "http://localhost:9000" : ""; - -export const HEALTH_PING_INTERVAL = 5000; // 5 seconds -export const healthPing = async () => { - const pingUrl = `${API_URL}/ping`; - const response = await fetch(pingUrl); - const data = await response.json(); - return data; -}; - -/** - * the local list of modifications - */ -export const loadModifications = async () => { - const response = await fetch(`${API_URL}/modifiers.json`); - const data = await response.json(); - return data; -}; - -export const getSaveDirectory = async () => { - const response = await fetch(`${API_URL}/output_dir`); - const data = await response.json(); - return data[0]; -}; - -export const KEY_CONFIG = "config"; -export const getConfig = async () => { - const response = await fetch(`${API_URL}/app_config`); - const data = await response.json(); - return data; -}; - -export const KEY_TOGGLE_CONFIG = "toggle_config"; -export const toggleBetaConfig = async (branch: string) => { - const response = await fetch(`${API_URL}/app_config`, { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ - update_branch: branch, - }), - }); - const data = await response.json(); - return data; -}; - -/** - * post a new request for an image - */ -// TODO; put hese some place better -export interface ImageRequest { - session_id: string; - prompt: string; - negative_prompt: string; - seed: number; - num_outputs: number; - num_inference_steps: number; - guidance_scale: number; - width: - | 128 - | 192 - | 256 - | 320 - | 384 - | 448 - | 512 - | 576 - | 640 - | 704 - | 768 - | 832 - | 896 - | 960 - | 1024; - height: - | 128 - | 192 - | 256 - | 320 - | 384 - | 448 - | 512 - | 576 - | 640 - | 704 - | 768 - | 832 - | 896 - | 960 - | 1024; - // allow_nsfw: boolean - turbo: boolean; - use_cpu: boolean; - use_full_precision: boolean; - save_to_disk_path: null | string; - use_face_correction: null | "GFPGANv1.3"; - use_upscale: null | "RealESRGAN_x4plus" | "RealESRGAN_x4plus_anime_6B" | ""; - show_only_filtered_image: boolean; - init_image: undefined | string; - prompt_strength: undefined | number; - mask: undefined | string; - sampler: typeof SAMPLER_OPTIONS[number]; - stream_progress_updates: true; - stream_image_progress: boolean; - -} - -export interface ImageOutput { - data: string; - path_abs: string | null; - seed: number; -} - -export interface ImageReturnType { - output: ImageOutput[]; - request: ImageRequest; - status: string; -} - -export const MakeImageKey = "MakeImage"; -export const doMakeImage = async (reqBody: ImageRequest) => { - const res = await fetch(`${API_URL}/image`, { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(reqBody), - }); - return res; -}; - -export const doStopImage = async () => { - - const response = await fetch(`${API_URL}/image/stop`); - const data = await response.json(); - return data; -}; \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/_recipes/button.css.ts b/ui/frontend/build_src/src/components/_recipes/button.css.ts deleted file mode 100644 index d801ee14..00000000 --- a/ui/frontend/build_src/src/components/_recipes/button.css.ts +++ /dev/null @@ -1,140 +0,0 @@ -// would prefer to use a var here, but it doesn't work -// vars: { -// '--button-base-saturation': vars.colorMod.saturation.normal, -// '--button-base-lightness': vars.colorMod.lightness.normal, -// }, - - -import { recipe } from "@vanilla-extract/recipes"; -import { vars } from "../../styles/theme/index.css"; - -export const buttonStyle = recipe({ - - base: { - fontSize: vars.fonts.sizes.Subheadline, - fontWeight: "bold", - color: vars.colors.text.normal, - padding: vars.spacing.small, - border: "0", - borderRadius: vars.trim.smallBorderRadius, - }, - - variants: { - color: { - primary: { - // @ts-expect-error - '--button-hue': vars.brandHue, - '--button-base-saturation': vars.colorMod.saturation.normal, - '--button-base-lightness': vars.colorMod.lightness.normal, - }, - secondary: { - // @ts-expect-error - '--button-hue': vars.secondaryHue, - '--button-base-saturation': vars.colorMod.saturation.normal, - '--button-base-lightness': vars.colorMod.lightness.normal, - }, - tertiary: { - // @ts-expect-error - '--button-hue': vars.tertiaryHue, - '--button-base-saturation': vars.colorMod.saturation.normal, - '--button-base-lightness': vars.colorMod.lightness.normal, - }, - cancel: { - // @ts-expect-error - '--button-hue': vars.errorHue, - '--button-base-saturation': vars.colorMod.saturation.normal, - '--button-base-lightness': vars.colorMod.lightness.normal, - }, - accent: { - // @ts-expect-error - '--button-hue': vars.backgroundAccentHue, - '--button-base-saturation': vars.backgroundAccentSaturation, - '--button-base-lightness': vars.backgroundAccentLightness, - }, - clear: { - backgroundColor: "transparent", - }, - }, - - type: { - fill: { - backgroundColor: `hsl(var(--button-hue),var(--button-base-saturation),${vars.colorMod.lightness.normal})`, - border: `1px solid hsl(var(--button-hue),var(--button-base-saturation),${vars.colorMod.lightness.normal})`, - ":hover": { - backgroundColor: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.normal})`, - border: `1px solid hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.normal})`, - }, - ":active": { - backgroundColor: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, - border: `1px solid hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, - }, - - ":focus": { - backgroundColor: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, - border: `1px solid hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, - }, - - ":disabled": { - backgroundColor: `hsl(var(--button-hue),${vars.colorMod.saturation.dim},${vars.colorMod.lightness.dim})`, - border: `1px solid hsl(var(--button-hue),${vars.colorMod.saturation.dim},${vars.colorMod.lightness.dim})`, - }, - }, - outline: { - backgroundColor: "transparent", - border: `1px solid hsl(var(--button-hue),var(--button-base-saturation),${vars.colorMod.lightness.normal})`, - ":hover": { - borderColor: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.normal})`, - }, - - ":active": { - borderColor: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, - }, - - ":focus": { - borderColor: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, - }, - - ":disabled": { - borderColor: `hsl(var(--button-hue),${vars.colorMod.saturation.dim},${vars.colorMod.lightness.dim})`, - }, - }, - action: { - backgroundColor: "transparent", - color: `hsl(var(--button-hue),var(--button-base-saturation),${vars.colorMod.lightness.normal})`, - textDecoration: "underline", - ":hover": { - color: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.normal})`, - }, - - ":active": { - color: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, - }, - - ":focus": { - color: `hsl(var(--button-hue),${vars.colorMod.saturation.bright},${vars.colorMod.lightness.dim})`, - }, - - ":disabled": { - color: `hsl(var(--button-hue),${vars.colorMod.saturation.dim},${vars.colorMod.lightness.dim})`, - }, - } - }, - - size: { - slim: { - padding: vars.spacing.min, - fontSize: vars.fonts.sizes.Caption, - }, - large: { - width: "100%", - fontSize: vars.fonts.sizes.Headline, - } - } - }, - - defaultVariants: { - color: "primary", - type: "fill", - }, - -}); \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/_recipes/card.css.ts b/ui/frontend/build_src/src/components/_recipes/card.css.ts deleted file mode 100644 index efec2fa1..00000000 --- a/ui/frontend/build_src/src/components/_recipes/card.css.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { recipe } from "@vanilla-extract/recipes"; -import { vars } from "../../styles/theme/index.css"; - -export const card = recipe({ - - base: { - color: vars.colors.text.normal, - padding: vars.spacing.medium, - }, - - variants: { - backing: { - normal: { - background: vars.backgroundMain, - }, - light: { - background: vars.backgroundLight, - }, - dark: { - background: vars.backgroundDark, - }, - }, - - rounded: { - true: { - borderRadius: vars.trim.smallBorderRadius, - }, - }, - - info: { - true: { - background: vars.backgroundDark, - border: `1px solid ${vars.backgroundAccentMain}`, - }, - }, - - level: { - flat: {}, - 1: { boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)" }, - 2: { boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)" }, - 3: { boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)" }, - }, - }, - defaultVariants: { - backing: "light", - level: 'flat', - rounded: true, - }, -}); - - diff --git a/ui/frontend/build_src/src/components/_recipes/index.css.ts b/ui/frontend/build_src/src/components/_recipes/index.css.ts deleted file mode 100644 index 578e13a3..00000000 --- a/ui/frontend/build_src/src/components/_recipes/index.css.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { recipe } from "@vanilla-extract/recipes"; -import { vars } from "../../styles/theme/index.css"; - - -export const card = recipe({ - base: { - background: vars.backgroundMain, - color: vars.colors.text.normal, - padding: vars.spacing.medium, - borderRadius: vars.trim.smallBorderRadius, - }, - variants: { - level: { - 1: { boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)" }, - 2: { boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)" }, - 3: { boxShadow: "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)" }, - }, - }, - defaultVariants: { - level: 1, - }, -}); - - diff --git a/ui/frontend/build_src/src/components/_recipes/popover_headless.css.ts b/ui/frontend/build_src/src/components/_recipes/popover_headless.css.ts deleted file mode 100644 index b006c14c..00000000 --- a/ui/frontend/build_src/src/components/_recipes/popover_headless.css.ts +++ /dev/null @@ -1,39 +0,0 @@ - -import { style, globalStyle } from "@vanilla-extract/css"; - -// import { recipe } from "@vanilla-extract/recipes"; -import { vars } from "../../styles/theme/index.css"; - -import { - card -} from "./card.css"; - -export const PopoverMain = style({ - position: 'relative' -}); - -export const PopoverButtonStyle = style({ - backgroundColor: "transparent", - border: "0 none", - cursor: "pointer", - padding: vars.spacing.none, - fontSize: vars.fonts.sizes.Subheadline, -}); - -globalStyle(`${PopoverButtonStyle} > i`, { - marginRight: vars.spacing.small, -}); - -export const PopoverPanelMain = style([card( - { - backing: 'dark', - level: 2, - } -), { - position: 'absolute', - top: '100%', - right: '0', - zIndex: '1', -}]); - - diff --git a/ui/frontend/build_src/src/components/_recipes/switch_headless.css.ts b/ui/frontend/build_src/src/components/_recipes/switch_headless.css.ts deleted file mode 100644 index 22a5be25..00000000 --- a/ui/frontend/build_src/src/components/_recipes/switch_headless.css.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { style, } from "@vanilla-extract/css"; - -// import { recipe } from "@vanilla-extract/recipes"; -import { vars } from "../../styles/theme/index.css"; - -export const SwitchGroupMain = style({ -}); - -export const SwitchMain = style({ -}); - -export const SwitchLabel = style({ -}); - -export const SwitchEnabled = style({ -}); - -export const SwitchPill = style({ -}); diff --git a/ui/frontend/build_src/src/components/_recipes/tabs_headless.css.ts b/ui/frontend/build_src/src/components/_recipes/tabs_headless.css.ts deleted file mode 100644 index b66d4a9b..00000000 --- a/ui/frontend/build_src/src/components/_recipes/tabs_headless.css.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { style } from '@vanilla-extract/css'; -import { recipe } from "@vanilla-extract/recipes"; -import { vars } from "../../styles/theme/index.css"; - -export const tabStyles = recipe({ - base: { - background: vars.backgroundMain, - color: vars.colors.text.normal, - padding: vars.spacing.small, - borderRadius: `${vars.trim.smallBorderRadius} ${vars.trim.smallBorderRadius} 0 0`, - border: `1px solid ${vars.backgroundLight}`, - borderBottom: 'none', - marginLeft: vars.spacing.small, - boxShadow: `0px -1px 4px -2px ${vars.backgroundAccentMain} inset`, - width: 'fit-content', - ':focus': { - outline: 'none', - }, - }, - - variants: { - selected: { - true: { - background: vars.backgroundLight, - color: vars.colors.text.normal, - boxShadow: `0px -1px 4px -2px ${vars.backgroundDark} inset`, - } - } - } -}); - -export const tabPanelStyles = recipe({ - base: { - color: vars.colors.text.normal, - // borderRadius: `0 0 ${vars.trim.smallBorderRadius} ${vars.trim.smallBorderRadius}`, - background: vars.backgroundLight, - padding: vars.spacing.medium, - flexGrow: 1, - overflow: 'auto', - // "::-webkit-scrollbar": { - // width: "4px", - // }, - - }, - variants: { - - backing: { - normal: { - background: vars.backgroundMain, - }, - light: { - background: vars.backgroundLight, - }, - dark: { - background: vars.backgroundDark, - }, - }, - }, -}); - diff --git a/ui/frontend/build_src/src/components/layouts/CreationTabs/creationTabs.css.ts b/ui/frontend/build_src/src/components/layouts/CreationTabs/creationTabs.css.ts deleted file mode 100644 index 8b1e9b35..00000000 --- a/ui/frontend/build_src/src/components/layouts/CreationTabs/creationTabs.css.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; -import { vars } from "../../../styles/theme/index.css"; -import { - tabPanelStyles, -} from "../../_recipes/tabs_headless.css"; - - -export const TabpanelScrollFlop = style([tabPanelStyles(), { - direction: 'rtl', - // position: 'relative', - overflow: 'overlay', - "::-webkit-scrollbar": { - position: 'absolute', - width: "6px", - backgroundColor: vars.backgroundAccentMain, - }, - - "::-webkit-scrollbar-thumb": { - backgroundColor: vars.backgroundDark, - borderRadius: "4px", - }, - - - // "::-webkit-scrollbar-button: { - // backgroundColor: vars.backgroundDark, - // } - - -}]); - -globalStyle(`${TabpanelScrollFlop} > *`, { - direction: 'ltr', - -}); diff --git a/ui/frontend/build_src/src/components/layouts/CreationTabs/index.tsx b/ui/frontend/build_src/src/components/layouts/CreationTabs/index.tsx deleted file mode 100644 index 4d4d4965..00000000 --- a/ui/frontend/build_src/src/components/layouts/CreationTabs/index.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import React, { Fragment } from "react"; -import { Tab } from '@headlessui/react'; - - - -import CreationPanel from "../../organisms/creationPanel"; -import QueueDisplay from "../../organisms/queueDisplay"; - -import ProcessingStatus from "../../molecules/queueStatusTab"; - -import { - tabStyles, -} from "../../_recipes/tabs_headless.css"; - -import { - TabpanelScrollFlop -} from "./creationTabs.css"; - -export default function CreationTabs() { - - return ( - - - - {({ selected }) => ( - - )} - - - - {({ selected }) => ( - - - )} - - - - - - - - - - - - - - ); -} diff --git a/ui/frontend/build_src/src/components/layouts/basicDisplay/basicDisplay.css.ts b/ui/frontend/build_src/src/components/layouts/basicDisplay/basicDisplay.css.ts deleted file mode 100644 index 29ed38b6..00000000 --- a/ui/frontend/build_src/src/components/layouts/basicDisplay/basicDisplay.css.ts +++ /dev/null @@ -1,107 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; -import { vars } from "../../../styles/theme/index.css"; - -import { - tabStyles -} from "../../_recipes/tabs_headless.css"; - - -export const basicDisplayLayout = style({ - width: "100%", - height: "100%", - display: "grid", - gridTemplateColumns: "1fr 250px", - gridTemplateRows: "1fr 250px", - gridTemplateAreas: ` - "content info" - "history history"`, - - overflow: "hidden", - - selectors: { - '&[data-hide-info]': { - gridTemplateColumns: "1fr", - gridTemplateRows: "1fr 250px", - // gridTemplateAreas: ` - // "content" - // "history"`, - }, - '&[data-hide-history]': { - gridTemplateColumns: "1fr 250px", - gridTemplateRows: "1fr 0px", - // gridTemplateAreas: ` - // "content info"`, - }, - '&[data-hide-info][data-hide-history]': { - gridTemplateColumns: "1fr 0px", - gridTemplateRows: "1fr 0px", - // gridTemplateAreas: ` - // "content"`, - }, - }, - - - // "@media": { - // "screen and (max-width: 800px)": { - // gridTemplateColumns: "1fr", - // gridTemplateRows: "100px 300px 1fr", - // gridTemplateAreas: ` - // "header" - // "create" - // "display" - // `, - // }, - // }, - -}); - -// globalStyle(`${basicDisplayLayout}.hideHistory`, { - -// }); - -export const contentLayout = style({ - gridArea: "content", -}); - -export const infoLayout = style({ - gridArea: "info", - position: "relative", -}); - -export const historyLayout = style({ - gridArea: "history", - position: "relative", -}); - -globalStyle(`${historyLayout} > button`, { - position: "absolute", - top: '-29px', -}); - -export const displayContainer = style({ - flexGrow: 1, - overflow: 'auto', - display: "flex", -}); - -export const displayData = style({ - width: '250px', - height: '100%', - backgroundColor: 'rebeccapurple', - position: 'relative', -}); - -export const DataTab = style([tabStyles(), { - position: 'absolute', - top: '0', - left: '0', - - // pretty sure this is a magic number - transformOrigin: '37% 275%', - transform: 'rotate(-90deg)', -}]); - - -// export const previousImages = style({ -// minHeight: '250px', -// }); diff --git a/ui/frontend/build_src/src/components/layouts/basicDisplay/index.tsx b/ui/frontend/build_src/src/components/layouts/basicDisplay/index.tsx deleted file mode 100644 index 814ec58f..00000000 --- a/ui/frontend/build_src/src/components/layouts/basicDisplay/index.tsx +++ /dev/null @@ -1,65 +0,0 @@ - -import React, { useState, useRef, useEffect } from "react"; -import { Transition } from '@headlessui/react' - -import CurrentDisplay from "../../organisms/currentDisplay"; -import CompletedImages from "../../organisms/completedImages"; -import CurrentInfo from "../../organisms/currentInfo"; - - -import { - tabStyles -} from "../../_recipes/tabs_headless.css"; - -import { - basicDisplayLayout, - contentLayout, - infoLayout, - historyLayout -} from "./basicDisplay.css"; - -export default function BasicDisplay() { - - const [isShowingHistory, setIsShowingHistory] = useState(true) - - const layoutRef = useRef(null); - - useEffect(() => { - - if (layoutRef.current != undefined) { - // set the hide-history data attribute - if (isShowingHistory) { - layoutRef.current.removeAttribute('data-hide-history'); - } - else { - // layoutRef.current.dataset.hideHistory = "true"; - layoutRef.current.setAttribute('data-hide-history', ''); - } - } - }, [layoutRef, isShowingHistory]); - - - return ( -
-
- -
- - {/*
- -
*/} - -
- - -
-
- ); -} diff --git a/ui/frontend/build_src/src/components/molecules/audioDing/index.tsx b/ui/frontend/build_src/src/components/molecules/audioDing/index.tsx deleted file mode 100644 index fbffb91a..00000000 --- a/ui/frontend/build_src/src/components/molecules/audioDing/index.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from "react"; -import { API_URL } from "../../../api"; - -const url = `${API_URL}/ding.mp3`; - -const AudioDing = React.forwardRef((props, ref) => ( - // @ts-expect-error - -)); - -AudioDing.displayName = "AudioDing"; - -export default AudioDing; - diff --git a/ui/frontend/build_src/src/components/molecules/betaMode/index.tsx b/ui/frontend/build_src/src/components/molecules/betaMode/index.tsx deleted file mode 100644 index 62740b28..00000000 --- a/ui/frontend/build_src/src/components/molecules/betaMode/index.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import React, { useState, useEffect } from "react"; -import { useQuery, useQueryClient } from "@tanstack/react-query"; - -import { - KEY_CONFIG, - getConfig, - KEY_TOGGLE_CONFIG, - toggleBetaConfig, -} from "../../../api"; - -import { useTranslation } from "react-i18next"; - -export default function BetaMode() { - const { t } = useTranslation(); - // gate for the toggle - const [shouldSetCofig, setShouldSetConfig] = useState(false); - // next branch to get - const [branchToGetNext, setBranchToGetNext] = useState("beta"); - - // our basic config - const { status: configStatus, data: configData } = useQuery( - [KEY_CONFIG], - getConfig - ); - const queryClient = useQueryClient(); - - // the toggle config - const { status: toggleStatus, data: toggleData } = useQuery( - [KEY_TOGGLE_CONFIG], - async () => await toggleBetaConfig(branchToGetNext), - { - enabled: shouldSetCofig, - } - ); - - // this is also in the Header Display - // TODO: make this a custom hook - useEffect(() => { - if (configStatus === "success") { - const { update_branch: updateBranch } = configData; - - if (updateBranch === "main") { - setBranchToGetNext("beta"); - } else { - // setIsBeta(true); - setBranchToGetNext("main"); - } - } - }, [configStatus, configData]); - - useEffect(() => { - if (toggleStatus === "success") { - if (toggleData[0] === "OK") { - // force a refetch of the config - void queryClient.invalidateQueries([KEY_CONFIG]) - } - setShouldSetConfig(false); - } - }, [toggleStatus, toggleData, setShouldSetConfig]); - - return ( - - ); -} diff --git a/ui/frontend/build_src/src/components/molecules/clearQueue/index.tsx b/ui/frontend/build_src/src/components/molecules/clearQueue/index.tsx deleted file mode 100644 index 04de1342..00000000 --- a/ui/frontend/build_src/src/components/molecules/clearQueue/index.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import React from "react"; -import { doStopImage } from "../../../api"; -import { useRequestQueue } from "../../../stores/requestQueueStore"; - -import { - buttonStyle -} from "../../_recipes/button.css"; - - -export default function ClearQueue() { - - const hasQueue = useRequestQueue((state) => state.hasAnyQueue()); - const clearQueue = useRequestQueue((state) => state.clearQueue); - - const stopAll = async () => { - try { - clearQueue(); - const res = await doStopImage(); - } catch (e) { - console.log(e); - } - }; - - return ( - - ); -} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/molecules/drawImage/drawImage.css.ts b/ui/frontend/build_src/src/components/molecules/drawImage/drawImage.css.ts deleted file mode 100644 index 7b0cc7fc..00000000 --- a/ui/frontend/build_src/src/components/molecules/drawImage/drawImage.css.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; - -export const DrawImageMain = style({ - position: "relative", -}); - -globalStyle(`${DrawImageMain} > canvas`, { - position: "absolute", - top: "0", - left: "0", - width: "100%", - height: "100%", -}); - -globalStyle(`${DrawImageMain} > canvas:first-of-type`, { - opacity: ".7", -}); - -globalStyle(`${DrawImageMain} > img`, { - top: "0", - left: "0", -}); diff --git a/ui/frontend/build_src/src/components/molecules/drawImage/index.tsx b/ui/frontend/build_src/src/components/molecules/drawImage/index.tsx deleted file mode 100644 index 9d8f414d..00000000 --- a/ui/frontend/build_src/src/components/molecules/drawImage/index.tsx +++ /dev/null @@ -1,194 +0,0 @@ -import React, { useRef, useState, useEffect } from "react"; - -import { - DrawImageMain, -} from "./drawImage.css"; - -// https://github.com/embiem/react-canvas-draw - -interface DrawImageProps { - imageData: string; - brushSize: number; - - brushShape: string; - brushColor: string; - isErasing: boolean; - setData: (data: string) => void; -} - -export default function DrawImage({ - imageData, - brushSize, - brushShape, - brushColor, - isErasing, - setData, -}: DrawImageProps) { - const drawingRef = useRef(null); - const cursorRef = useRef(null); - const [isUpdating, setIsUpdating] = useState(false); - - const [canvasWidth, setCanvasWidth] = useState(512); - const [canvasHeight, setCanvasHeight] = useState(512); - - useEffect(() => { - const img = new Image(); - img.onload = () => { - setCanvasWidth(img.width); - setCanvasHeight(img.height); - }; - img.src = imageData; - }, [imageData]); - - useEffect(() => { - // when the brush color changes, change the color of all the - // drawn pixels to the new color - if (drawingRef.current != null) { - const ctx = drawingRef.current.getContext("2d"); - if (ctx != null) { - - const imageData = ctx.getImageData(0, 0, canvasWidth, canvasHeight); - const data = imageData.data; - for (let i = 0; i < data.length; i += 4) { - if (data[i + 3] > 0) { - data[i] = parseInt(brushColor, 16); - data[i + 1] = parseInt(brushColor, 16); - data[i + 2] = parseInt(brushColor, 16); - } - } - ctx.putImageData(imageData, 0, 0); - } - } - }, [brushColor]); - - const _handleMouseDown = ( - e: React.MouseEvent - ) => { - const { - nativeEvent: { offsetX, offsetY }, - } = e; - - setIsUpdating(true); - }; - - const _handleMouseUp = ( - e: React.MouseEvent - ) => { - setIsUpdating(false); - const canvas = drawingRef.current; - if (canvas != null) { - const data = canvas.toDataURL(); - setData(data); - } - }; - - const _drawCanvas = (x: number, y: number, brushSize: number, brushShape: string, brushColor: string | CanvasGradient | CanvasPattern) => { - const canvas = drawingRef.current; - if (canvas != null) { - const ctx = canvas.getContext("2d"); - if (ctx != null) { - if (isErasing) { - // stack overflow https://stackoverflow.com/questions/10396991/clearing-circular-regions-from-html5-canvas - const offset = brushSize / 2; - ctx.clearRect(x - offset, y - offset, brushSize, brushSize); - } else { - ctx.beginPath(); - ctx.lineWidth = brushSize; - // @ts-expect-error - ctx.lineCap = brushShape; - ctx.strokeStyle = brushColor; - ctx.moveTo(x, y); - ctx.lineTo(x, y); - ctx.stroke(); - } - } - } - }; - - const _drawCursor = ( - x: number, - y: number, - brushSize: number, - brushShape: string, - brushColor: string - ) => { - const canvas = cursorRef.current; - if (canvas != null) { - const ctx = canvas.getContext("2d"); - if (ctx != null) { - ctx.beginPath(); - ctx.clearRect(0, 0, canvas.width, canvas.height); - - if (isErasing) { - const offset = brushSize / 2; - // draw a quare - ctx.lineWidth = 2; - ctx.lineCap = "butt"; - ctx.strokeStyle = brushColor; - ctx.moveTo(x - offset, y - offset); - ctx.lineTo(x + offset, y - offset); - ctx.lineTo(x + offset, y + offset); - ctx.lineTo(x - offset, y + offset); - ctx.lineTo(x - offset, y - offset); - ctx.stroke(); - } else { - ctx.lineWidth = brushSize; - // @ts-expect-error - ctx.lineCap = brushShape; - ctx.strokeStyle = brushColor; - ctx.moveTo(x, y); - ctx.lineTo(x, y); - ctx.stroke(); - } - } - - - - } - }; - - const _handleMouseMove = ( - e: React.MouseEvent - ) => { - const { - nativeEvent: { offsetX: x, offsetY: y }, - } = e; - - _drawCursor(x, y, brushSize, brushShape, brushColor); - - if (isUpdating) { - _drawCanvas(x, y, brushSize, brushShape, brushColor); - } - }; - - // function for external use - const fillCanvas = () => { - const canvas = drawingRef.current; - if (canvas != null) { - const ctx = canvas.getContext("2d"); - if (ctx != null) { - ctx.fillStyle = brushColor; - ctx.fillRect(0, 0, canvas.width, canvas.height); - } - } - }; - - return ( -
- - - -
- ); -} diff --git a/ui/frontend/build_src/src/components/molecules/generatedImage/generatedImage.css.ts b/ui/frontend/build_src/src/components/molecules/generatedImage/generatedImage.css.ts deleted file mode 100644 index 5feab2b3..00000000 --- a/ui/frontend/build_src/src/components/molecules/generatedImage/generatedImage.css.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; - -export const generatedImageMain = style({ - position: "relative", -}); - -globalStyle(`${generatedImageMain} img`, { - width: "100%", - height: "100%", - objectFit: "contain", -}); diff --git a/ui/frontend/build_src/src/components/molecules/generatedImage/index.tsx b/ui/frontend/build_src/src/components/molecules/generatedImage/index.tsx deleted file mode 100644 index c15e6f25..00000000 --- a/ui/frontend/build_src/src/components/molecules/generatedImage/index.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; - -import { ImageRequest } from "../../../api"; - -import { - generatedImageMain, -} from "./generatedImage.css"; - -interface GeneretaedImageProps { - imageData: string | undefined; - metadata: ImageRequest | undefined; - className?: string; -} - -export default function GeneratedImage({ - imageData, - metadata, - className, -}: GeneretaedImageProps) { - return ( -
- {metadata!.prompt} -
- ); -} diff --git a/ui/frontend/build_src/src/components/molecules/makeButton/index.tsx b/ui/frontend/build_src/src/components/molecules/makeButton/index.tsx deleted file mode 100644 index 708f4686..00000000 --- a/ui/frontend/build_src/src/components/molecules/makeButton/index.tsx +++ /dev/null @@ -1,276 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -import React, { useEffect, useRef } from "react"; - -import { useImageCreate } from "../../../stores/imageCreateStore"; -import { - QueueStatus, - useRequestQueue -} from "../../../stores/requestQueueStore"; - -import { - FetchingStates, - useImageFetching -} from "../../../stores/imageFetchingStore"; - - -import { useImageDisplay } from "../../../stores/imageDisplayStore"; - -import { v4 as uuidv4 } from "uuid"; - -import { useRandomSeed } from "../../../utils"; -import { - ImageRequest, - ImageReturnType, - ImageOutput, - doMakeImage, -} from "../../../api"; - -import { - buttonStyle -} from "../../_recipes/button.css"; - -import { useTranslation } from "react-i18next"; - -import AudioDing from "../../molecules/audioDing"; - -const idDelim = "_batch"; - -export default function MakeButton() { - const { t } = useTranslation(); - - const dingRef = useRef(); - - const parallelCount = useImageCreate((state) => state.parallelCount); - const builtRequest = useImageCreate((state) => state.builtRequest); - const isRandomSeed = useImageCreate((state) => state.isRandomSeed()); - const setRequestOption = useImageCreate((state) => state.setRequestOptions); - - const isSoundEnabled = useImageCreate((state) => state.isSoundEnabled()); - - const addtoQueue = useRequestQueue((state) => state.addtoQueue); - const hasQueue = useRequestQueue((state) => state.hasPendingQueue()); - const { id, options } = useRequestQueue((state) => state.firstInQueue()); - const updateQueueStatus = useRequestQueue((state) => state.updateStatus); - - const status = useImageFetching((state) => state.status); - const setStatus = useImageFetching((state) => state.setStatus); - const setStep = useImageFetching((state) => state.setStep); - const setTotalSteps = useImageFetching((state) => state.setTotalSteps); - const addProgressImage = useImageFetching((state) => state.addProgressImage); - const setStartTime = useImageFetching((state) => state.setStartTime); - const setNowTime = useImageFetching((state) => state.setNowTime); - const resetForFetching = useImageFetching((state) => state.resetForFetching); - const appendData = useImageFetching((state) => state.appendData); - - const updateDisplay = useImageDisplay((state) => state.updateDisplay); - - const hackJson = (jsonStr: string, id: string) => { - - try { - const parsed = JSON.parse(jsonStr); - const { status, request, output: outputs } = parsed as ImageReturnType; - - - if (status === 'succeeded') { - - updateQueueStatus(id, QueueStatus.complete); - outputs.forEach((output: any, index: number) => { - - const { data, seed } = output as ImageOutput; - const seedReq = { - ...request, - seed, - }; - const batchId = `${id}${idDelim}-${seed}-${index}`; - updateDisplay(batchId, data, seedReq); - }); - } - - else { - console.warn(`Unexpected status: ${status}`); - updateQueueStatus(id, QueueStatus.error); - } - - } - catch (e) { - updateQueueStatus(id, QueueStatus.error); - console.warn("Error HACKING JSON: ", e) - } - } - - const parseRequest = async (id: string, reader: ReadableStreamDefaultReader) => { - const decoder = new TextDecoder(); - let finalJSON = ''; - - while (true) { - const { done, value } = await reader.read(); - const jsonStr = decoder.decode(value); - if (done) { - setStatus(FetchingStates.COMPLETE); - hackJson(finalJSON, id); - if (isSoundEnabled) { - void dingRef.current?.play(); - } - break; - } - - try { - const update = JSON.parse(jsonStr); - const { status } = update; - - if (status === "progress") { - setStatus(FetchingStates.PROGRESSING); - const { progress: { step, total_steps }, output: outputs } = update; - setStep(step); - setTotalSteps(total_steps); - - if (step === 0) { - setStartTime(); - } - else { - setNowTime(); - } - - if (void 0 !== outputs) { - outputs.forEach((output: any) => { - // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - const timePath = `${output.path}?t=${new Date().getTime()}` - addProgressImage(timePath); - }); - } - - } else if (status === "succeeded") { - // TODO this should be the the new out instead of the try catch - // wait for the path to come back instead of the data - setStatus(FetchingStates.SUCCEEDED); - } - else if (status === 'failed') { - console.warn('failed'); - console.warn(update); - } - else { - console.warn("UNKNOWN ?", update); - } - } - catch (e) { - // console.log('EXPECTED PARSE ERRROR') - finalJSON += jsonStr; - } - - } - } - - const startStream = async (id: string, req: ImageRequest) => { - - try { - updateQueueStatus(id, QueueStatus.processing); - resetForFetching(); - const res = await doMakeImage(req); - const reader = res.body?.getReader(); - - if (void 0 !== reader) { - void parseRequest(id, reader); - } - - } catch (e) { - console.log('TOP LINE STREAM ERROR') - updateQueueStatus(id, QueueStatus.error); - console.log(e); - } - - } - - const queueImageRequest = (req: ImageRequest) => { - // the actual number of request we will make - const requests = []; - // the number of images we will make - let { num_outputs } = req; - if (parallelCount > num_outputs) { - requests.push(num_outputs); - } else { - // while we have at least 1 image to make - while (num_outputs >= 1) { - // subtract the parallel count from the number of images to make - num_outputs -= parallelCount; - - // if we are still 0 or greater we can make the full parallel count - if (num_outputs <= 0) { - requests.push(parallelCount); - } - // otherwise we can only make the remaining images - else { - requests.push(Math.abs(num_outputs)); - } - } - } - - requests.forEach((num, index) => { - // get the seed we want to use - let seed = req.seed; - if (index !== 0) { - // we want to use a random seed for subsequent requests - seed = useRandomSeed(); - } - // add the request to the queue - addtoQueue(uuidv4(), { - ...req, - // updated the number of images to make - num_outputs: num, - // update the seed - seed, - }); - }); - } - - const makeImageQueue = async () => { - // potentially update the seed - if (isRandomSeed) { - // update the seed for the next time we click the button - setRequestOption("seed", useRandomSeed()); - } - // the request that we have built - const req = builtRequest(); - queueImageRequest(req); - }; - - useEffect(() => { - const makeImages = async (options: ImageRequest) => { - // removeFirstInQueue(); - await startStream(id ?? "", options); - } - - if (status === FetchingStates.PROGRESSING || status === FetchingStates.FETCHING) { - return; - } - - if (hasQueue) { - - if (options === undefined) { - console.log('req is undefined'); - return; - } - - makeImages(options).catch((e) => { - console.log('HAS QUEUE ERROR'); - console.log(e); - }); - } - - }, [hasQueue, status, id, options, startStream]); - - return ( - <> - - - - ); -} diff --git a/ui/frontend/build_src/src/components/molecules/modifierTag/index.tsx b/ui/frontend/build_src/src/components/molecules/modifierTag/index.tsx deleted file mode 100644 index cd4330f1..00000000 --- a/ui/frontend/build_src/src/components/molecules/modifierTag/index.tsx +++ /dev/null @@ -1,93 +0,0 @@ -import React, { useState } from "react"; -import { v4 as uuidv4 } from "uuid"; -import { - ModifierPreview, - useImageCreate -} from "../../../stores/imageCreateStore"; - -import { API_URL } from "../../../api"; - -import { - IconFont, -} from "../../../styles/shared.css"; - -import { - ModifierTagMain, - ModifierActions, - tagPreview, - TagText, - TagToggle, -} from "./modifierTags.css"; - -interface ModifierTagProps { - name: string; - category: string; - previews: ModifierPreview[]; -} - -export default function ModifierTag({ name, category, previews }: ModifierTagProps) { - - const previewType: 'portrait' | 'landscape' = "portrait"; - - const [showActions, setShowActions] = useState(false); - - const handleHover = () => { - setShowActions(true); - }; - - const handleLeave = () => { - setShowActions(false); - }; - - const addCreateTag = useImageCreate((state) => state.addCreateTag); - const setPositivePrompt = () => { - addCreateTag({ id: uuidv4(), name, type: 'positive' }); - } - const setNegativePrompt = () => { - addCreateTag({ id: uuidv4(), name, type: 'negative' }); - } - - - const hasTag = useImageCreate((state) => state.hasTag(category, name)) - ? "selected" - : ""; - const toggleTag = useImageCreate((state) => state.toggleTag); - - const _toggleTag = () => { - toggleTag(category, name); - }; - - // , hasTag].join(" ") - return ( -
-

{name}

- {showActions && ( -
- - -
- )} - {/*
- {previews.map((preview) => { - if (preview.name !== previewType) { - return null; - } - return ( - {preview.name} - ); - })} -
*/} -
- ); -} diff --git a/ui/frontend/build_src/src/components/molecules/modifierTag/modifierTags.css.ts b/ui/frontend/build_src/src/components/molecules/modifierTag/modifierTags.css.ts deleted file mode 100644 index 3ceb5c1f..00000000 --- a/ui/frontend/build_src/src/components/molecules/modifierTag/modifierTags.css.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; -import { vars } from '../../../styles/theme/index.css'; - -import { card } from '../../_recipes/card.css'; - -export const ModifierTagMain = style([ - card({ - backing: 'normal', - level: 1, - info: true - }), { - position: "relative", - width: "fit-content", - borderColor: `hsl(${vars.brandHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, - padding: vars.spacing.small, - } -]); - -globalStyle(`${ModifierTagMain}.selected`, { - backgroundColor: "rgb(131, 11, 121)", -}) - -globalStyle(`${ModifierTagMain} p`, { - margin: 0, - textAlign: "center", - marginBottom: "2px", -}); - - -export const TagText = style({ - opacity: 1, -}); - -export const TagToggle = style({ - opacity: 0.3, -}); - - -export const ModifierActions = style({ - position: "absolute", - top: "0", - left: "0", - height: "100%", - width: "100%", - display: "flex", - flexDirection: "row", -}); - -globalStyle(`${ModifierActions} button`, { - flexGrow: 1, - backgroundColor: "transparent", - border: "none", - boxShadow: `inset 0 0 24px 0px rgb(255 255 255 / 50%)`, - borderRadius: "5px", - padding: "0", -}); - -export const tagPreview = style({ - display: 'flex', - justifyContent: 'center', -}); - -globalStyle(`${tagPreview} img`, { - width: "90px", - height: "100%", - objectFit: "cover", - objectPosition: "center", -}); - diff --git a/ui/frontend/build_src/src/components/molecules/promptTag/index.tsx b/ui/frontend/build_src/src/components/molecules/promptTag/index.tsx deleted file mode 100644 index 2a87a64b..00000000 --- a/ui/frontend/build_src/src/components/molecules/promptTag/index.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import React, { useState } from "react"; - -import { useImageCreate } from "../../../stores/imageCreateStore"; - -import { - IconFont, -} from "../../../styles/shared.css"; - -import { - PromptTagMain, - TagToggle, - TagRemoveButton, - PromptTagText, - PromptTagToggle -} from "./promptTag.css"; - -interface PromptTagProps { - id: string; - name: string; - category?: string; - previews?: string[]; - type: string; -}; - -export default function PromptTag({ id, name, category, previews, type }: PromptTagProps) { - - const [showToggle, setShowToggle] = useState(false); - - const removeCreateTag = useImageCreate((state) => state.removeCreateTag); - const changeCreateTagType = useImageCreate((state) => state.changeCreateTagType); - - const handleHover = () => { - setShowToggle(true); - }; - - const handleLeave = () => { - setShowToggle(false); - }; - - const toggleType = () => { - if (type === 'positive') { - changeCreateTagType(id, 'negative'); - } - else { - changeCreateTagType(id, 'positive'); - } - }; - - const handleRemove = () => { - console.log('remove'); - removeCreateTag(id); - }; - - return ( -
-

{name}

- {showToggle && } - {showToggle && } -
- ); -}; \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/molecules/promptTag/promptTag.css.ts b/ui/frontend/build_src/src/components/molecules/promptTag/promptTag.css.ts deleted file mode 100644 index f8932121..00000000 --- a/ui/frontend/build_src/src/components/molecules/promptTag/promptTag.css.ts +++ /dev/null @@ -1,55 +0,0 @@ -/* eslint-disable @typescript-eslint/restrict-template-expressions */ -import { style, globalStyle } from '@vanilla-extract/css'; - -import { XButton } from "../../../styles/shared.css"; -import { vars } from '../../../styles/theme/index.css'; -import { card } from '../../_recipes/card.css'; - - -export const PromptTagMain = style([ - card({ - backing: 'normal', - level: 1, - info: true - }), { - position: "relative", - width: "fit-content", - backgroundColor: `hsl(${vars.backgroundLight}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, - padding: vars.spacing.small, - } -]); - -export const PromptTagText = style({ - opacity: 1, - fontSize: vars.fonts.sizes.Plain, -}); - -export const PromptTagToggle = style({ - opacity: 0.3, - fontSize: vars.fonts.sizes.Plain, -}); - -globalStyle(`${PromptTagMain}.positive`, { - borderColor: `hsl(${vars.brandHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, -}); - -globalStyle(`${PromptTagMain}.negative`, { - borderColor: `hsl(${vars.errorHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, -}); - -export const TagToggle = style({ - position: "absolute", - top: "0", - right: "0", - height: "100%", - width: "100%", - border: "none", - backgroundColor: "transparent", - boxShadow: `inset 0 0 24px 0px rgb(255 255 255 / 50%)`, -}); - -export const TagRemoveButton = style([XButton, { - top: '-4px', - left: '4px', - padding: '0', -}]); \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/molecules/queueStatusTab/index.tsx b/ui/frontend/build_src/src/components/molecules/queueStatusTab/index.tsx deleted file mode 100644 index b0dd173c..00000000 --- a/ui/frontend/build_src/src/components/molecules/queueStatusTab/index.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import React, { useEffect, useState } from "react"; - -import { FetchingStates, useImageFetching } from "../../../stores/imageFetchingStore"; -import { useRequestQueue } from "../../../stores/requestQueueStore"; - -export default function QueueStatusTab() { - - - const [showBasicQueue, setShowBasicQueue] = useState(true); - - const hasPendingQueue = useRequestQueue((state) => state.hasPendingQueue()); - const pendingRequests = useRequestQueue((state) => state.pendingRequests()); - - const status = useImageFetching((state) => state.status); - - const step = useImageFetching((state) => state.step); - const totalSteps = useImageFetching((state) => state.totalSteps); - - const startTime = useImageFetching((state) => state.timeStarted); - const timeNow = useImageFetching((state) => state.timeNow); - const [timeRemaining, setTimeRemaining] = useState(0); - - const [percent, setPercent] = useState(0); - - useEffect(() => { - if (totalSteps > 0) { - setPercent(Math.round((step / totalSteps) * 100)); - } else { - setPercent(0); - } - }, [step, totalSteps]); - - useEffect(() => { - // find the remaining time - const timeTaken = +timeNow - +startTime; - const timePerStep = step == 0 ? 0 : timeTaken / step; - const totalTime = timePerStep * totalSteps; - const timeRemaining = (totalTime - timeTaken) / 1000; - // @ts-expect-error - setTimeRemaining(timeRemaining.toPrecision(3)); - - }, [step, totalSteps, startTime, timeNow, setTimeRemaining]); - - useEffect(() => { - if (hasPendingQueue) { - setShowBasicQueue(false); - } - }, [status, hasPendingQueue]); - - // {/* {showBasicQueue - // ? <> */} - // Queue - // {/* - // : <> - // Percent: {percent}% - // npm - // } */} - - - return ( - <> - Queue - {hasPendingQueue && Items Remaining: {pendingRequests.length} } - - ) - -} - - - diff --git a/ui/frontend/build_src/src/components/molecules/stopButton/index.tsx b/ui/frontend/build_src/src/components/molecules/stopButton/index.tsx deleted file mode 100644 index 9c0864bf..00000000 --- a/ui/frontend/build_src/src/components/molecules/stopButton/index.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; -import { doStopImage } from "../../../api"; - - -import { - buttonStyle -} from "../../_recipes/button.css"; - -export default function StopButton() { - - const stopMake = async () => { - try { - const res = await doStopImage(); - } catch (e) { - console.log(e); - } - }; - - return ; -} diff --git a/ui/frontend/build_src/src/components/organisms/completedImages/completedImages.css.ts b/ui/frontend/build_src/src/components/organisms/completedImages/completedImages.css.ts deleted file mode 100644 index c5d98bc1..00000000 --- a/ui/frontend/build_src/src/components/organisms/completedImages/completedImages.css.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; - -import { vars } from "../../../styles/theme/index.css"; -import { - card as cardStyle, -} from '../../_recipes/card.css' - -export const completedImagesMain = style({ - position: "relative", -}); - -// globalStyle(`${completedImagesMain} > button`, { -// position: "absolute", -// top: '-29px', -// }); - -export const completedImagesContent = style([cardStyle(), { - height: "250px", - width: "100%", - display: "flex", - padding: vars.spacing.medium, - borderRadius: 0, -}]); - -export const completedImagesList = style({ - display: "flex", - flexDirection: "row", - flexWrap: "nowrap", - height: "100%", - width: "100%", - overflow: "auto", - paddingLeft: vars.spacing.none, -}); - -globalStyle(`${completedImagesContent} li`, { - position: "relative", -}); - -globalStyle(`${completedImagesContent} > li:first-of-type`, { - marginLeft: vars.spacing.medium, -}); - -globalStyle(`${completedImagesContent} > li:last-of-type`, { - marginRight: 0, -}); - -export const imageContain = style({ - width: "206px", - backgroundColor: "black", - display: "flex", - justifyContent: "center", - alignItems: "center", - flexShrink: 0, - border: "0 none", - padding: "0", - marginLeft: vars.spacing.medium, - cursor: "pointer", -}); - -globalStyle(`${imageContain} img`, { - width: "100%", - objectFit: "contain", -}); diff --git a/ui/frontend/build_src/src/components/organisms/completedImages/index.tsx b/ui/frontend/build_src/src/components/organisms/completedImages/index.tsx deleted file mode 100644 index 593f52c5..00000000 --- a/ui/frontend/build_src/src/components/organisms/completedImages/index.tsx +++ /dev/null @@ -1,87 +0,0 @@ -import React, { useState } from "react"; - - -import { useImageDisplay } from "../../../stores/imageDisplayStore"; - -import { - completedImagesMain, - completedImagesContent, - completedImagesList, - imageContain, -} from "./completedImages.css"; - -import { - buttonStyle -} from "../../_recipes/button.css"; - -// import { Transition } from '@headlessui/react' - - -// import { -// tabStyles -// } from "../../_recipes/tabs_headless.css"; - -export default function CompletedImages( - -) { - - const [isShowing, setIsShowing] = useState(false) - - - const images = useImageDisplay((state) => state.images); - const setCurrentImage = useImageDisplay((state) => state.setCurrentImage); - const clearDisplay = useImageDisplay((state) => state.clearDisplay); - - const removeImagesAll = () => { - clearDisplay(); - }; - - return ( -
- {/* */} - {/* */} - -
- {/* Adjust the dom do we dont do this check twice */} - {images != null && images.length > 0 && ( - - )} -
    - {images?.map((image, index) => { - if (void 0 === image) { - console.warn(`image ${index} is undefined`); - return null; - } - - return ( -
  • - -
  • - ); - })} -
-
- {/*
*/} -
- ); -} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/advancedsettings.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/advancedsettings.css.ts deleted file mode 100644 index 2bc200fa..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/advancedsettings.css.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; - -import { vars } from "../../../../styles/theme/index.css"; - -export const AdvancedSettingsList = style({ - paddingLeft: 0, - listStyleType: "none", -}); - -export const AdvancedSettingGrouping = style({ - marginTop: vars.spacing.small, -}); diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/improvementSettings/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/improvementSettings/index.tsx deleted file mode 100644 index ed423aa8..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/improvementSettings/index.tsx +++ /dev/null @@ -1,119 +0,0 @@ -import React, { useEffect, useState } from "react"; -import { useImageCreate } from "../../../../../stores/imageCreateStore"; - -import { useCreateUI } from "../../creationPanelUIStore"; - -import { - SettingItem, -} from "../../../../../styles/shared.css"; - -import { - buttonStyle, -} from "../../../../_recipes/button.css"; - -import { useTranslation } from "react-i18next"; - -export default function ImprovementSettings() { - const { t } = useTranslation(); - - // these are conditionals that should be retired and inferred from the store - const isUsingFaceCorrection = useImageCreate((state) => - state.isUsingFaceCorrection() - ); - - const isUsingUpscaling = useImageCreate((state) => state.isUsingUpscaling()); - - const useUpscale = useImageCreate((state) => - state.getValueForRequestKey("use_upscale") - ); - - const filteredOnly = useImageCreate((state) => - state.getValueForRequestKey("show_only_filtered_image") - ); - - const toggleUseFaceCorrection = useImageCreate( - (state) => state.toggleUseFaceCorrection - ); - - const setRequestOption = useImageCreate((state) => state.setRequestOptions); - - const improvementOpen = useCreateUI( - (state) => state.isOpenAdvImprovementSettings - ); - - const toggleImprovementOpen = useCreateUI( - (state) => state.toggleAdvImprovementSettings - ); - - const [isFilteringDisabled, setIsFilteringDisabled] = useState(false); - // should probably be a store selector - useEffect(() => { - // if either are true we arent disabled - if (isUsingFaceCorrection || useUpscale != "") { - setIsFilteringDisabled(false); - } else { - setIsFilteringDisabled(true); - } - }, [isUsingFaceCorrection, isUsingUpscaling, setIsFilteringDisabled]); - - return ( -
- - {improvementOpen && ( - <> -
- -
-
- -
-
- -
- - )} -
- ); -} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/index.tsx deleted file mode 100644 index 4a0da019..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/index.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import React, { useEffect } from "react"; -import { useCreateUI } from "../creationPanelUIStore"; - - - -import { - card -} from '../../../_recipes/card.css'; - -import { - buttonStyle, -} from "../../../_recipes/button.css"; - -import { - AdvancedSettingsList, - AdvancedSettingGrouping, -} from "./advancedsettings.css"; - -import ImprovementSettings from "./improvementSettings"; -import PropertySettings from "./propertySettings"; -import WorkflowSettings from "./workflowSettings"; - -function SettingsList() { - return ( -
    -
  • - -
  • -
  • - -
  • -
  • - -
  • -
- ); -} - -export default function AdvancedSettings() { - const advancedSettingsIsOpen = useCreateUI( - (state) => state.isOpenAdvancedSettings - ); - - const toggleAdvancedSettingsIsOpen = useCreateUI( - (state) => state.toggleAdvancedSettings - ); - - return ( -
- - {advancedSettingsIsOpen && } -
- ); -} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/propertySettings/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/propertySettings/index.tsx deleted file mode 100644 index 6d824384..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/propertySettings/index.tsx +++ /dev/null @@ -1,211 +0,0 @@ -import React from "react"; -import { useImageCreate, SAMPLER_OPTIONS } from "../../../../../stores/imageCreateStore"; -import { useCreateUI } from "../../creationPanelUIStore"; - -import { - SettingItem, -} from "../../../../../styles/shared.css"; - - -import { - buttonStyle, -} from "../../../../_recipes/button.css"; - - - -import { useTranslation } from "react-i18next"; - -// todo: move this someplace more global -const IMAGE_DIMENSIONS = [ - { value: 128, label: "128 (*)" }, - { value: 192, label: "192" }, - { value: 256, label: "256 (*)" }, - { value: 320, label: "320" }, - { value: 384, label: "384" }, - { value: 448, label: "448" }, - { value: 512, label: "512 (*)" }, - { value: 576, label: "576" }, - { value: 640, label: "640" }, - { value: 704, label: "704" }, - { value: 768, label: "768 (*)" }, - { value: 832, label: "832" }, - { value: 896, label: "896" }, - { value: 960, label: "960" }, - { value: 1024, label: "1024 (*)" }, -]; - -export default function PropertySettings() { - const { t } = useTranslation(); - - const setRequestOption = useImageCreate((state) => state.setRequestOptions); - const toggleUseRandomSeed = useImageCreate( - (state) => state.toggleUseRandomSeed - ); - const isRandomSeed = useImageCreate((state) => state.isRandomSeed()); - - const seed = useImageCreate((state) => state.getValueForRequestKey("seed")); - const steps = useImageCreate((state) => - state.getValueForRequestKey("num_inference_steps") - ); - const guidanceScale = useImageCreate((state) => - state.getValueForRequestKey("guidance_scale") - ); - - const initImage = useImageCreate((state) => - state.getValueForRequestKey("init_image") - ); - - const promptStrength = useImageCreate((state) => - state.getValueForRequestKey("prompt_strength") - ); - - const width = useImageCreate((state) => state.getValueForRequestKey("width")); - const height = useImageCreate((state) => - state.getValueForRequestKey("height") - ); - - const sampler = useImageCreate((state) => - state.getValueForRequestKey("sampler") - ); - - const propertyOpen = useCreateUI((state) => state.isOpenAdvPropertySettings); - const togglePropertyOpen = useCreateUI( - (state) => state.toggleAdvPropertySettings - ); - - return ( -
- - {propertyOpen && ( - <> -
- - -
- -
- -
- -
- - {guidanceScale} -
- - {void 0 !== initImage && ( -
- - {promptStrength} -
- )} - -
- - - -
- -
- -
- - )} -
- ); -} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/workflowSettings/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/workflowSettings/index.tsx deleted file mode 100644 index ac08418e..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/advancedSettings/workflowSettings/index.tsx +++ /dev/null @@ -1,84 +0,0 @@ -import React from "react"; -import { useImageCreate } from "../../../../../stores/imageCreateStore"; - -import { useCreateUI } from "../../creationPanelUIStore"; - -import { - SettingItem, -} from "../../../../../styles/shared.css"; - -import { - buttonStyle, -} from "../../../../_recipes/button.css"; - -import { useTranslation } from "react-i18next"; - -export default function WorkflowSettings() { - const { t } = useTranslation(); - - const numOutputs = useImageCreate((state) => - state.getValueForRequestKey("num_outputs") - ); - const parallelCount = useImageCreate((state) => state.parallelCount); - - const setRequestOption = useImageCreate((state) => state.setRequestOptions); - const setParallelCount = useImageCreate((state) => state.setParallelCount); - const shouldStreamImages = useImageCreate((state) => state.getValueForRequestKey("stream_image_progress")); - - const workflowOpen = useCreateUI((state) => state.isOpenAdvWorkflowSettings); - const toggleWorkflowOpen = useCreateUI( - (state) => state.toggleAdvWorkflowSettings - ); - - return ( -
- - {workflowOpen && ( - <> -
- -
-
- -
- -
- -
- - )} -
- ); -} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/basicCreation.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/basicCreation.css.ts deleted file mode 100644 index 10b402b1..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/basicCreation.css.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; - -import { card } from "../../../_recipes/card.css"; - - -export const CreationBasicMain = style([ - card({ - backing: 'normal', - level: 1 - }), { - position: "relative", - width: "100%", - }] -); - -export const PromptDisplay = style({}); - -globalStyle(`${CreationBasicMain} > *`, { - marginBottom: '10px' -}); diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/index.tsx deleted file mode 100644 index b1aa67c9..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/index.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import React, { ChangeEvent } from "react"; -import { useImageCreate } from "../../../../stores/imageCreateStore"; - -import { - CreationBasicMain, - PromptDisplay, -} from "./basicCreation.css"; - -import MakeButton from "../../../molecules/makeButton"; - -import PromptCreator from "./promptCreator"; -// import CreationActions from "./creationActions"; -import SeedImage from "./seedImage"; -import ActiveTags from "./promptCreator/activeTags"; - -import { useTranslation } from "react-i18next"; - -export default function BasicCreation() { - const { t } = useTranslation(); - - const promptText = useImageCreate((state) => - state.getValueForRequestKey("prompt") - ); - const setRequestOption = useImageCreate((state) => state.setRequestOptions); - - const handlePromptChange = (event: ChangeEvent) => { - setRequestOption("prompt", event.target.value); - }; - - return ( -
- - - -
- ); -} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/activeTags/activeTags.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/activeTags/activeTags.css.ts deleted file mode 100644 index 555f620d..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/activeTags/activeTags.css.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { style } from '@vanilla-extract/css'; -import { vars } from '../../../../../../styles/theme/index.css'; -export const ActiveTagListMain = style({ - display: 'flex', - flexDirection: 'row', - flexWrap: 'wrap', - gap: '10px', - width: '100%', - height: '100%', - overflow: 'visible', - scrollbarWidth: 'none', - msOverflowStyle: 'none', - '::-webkit-scrollbar': { - display: 'none', - }, -}); - - diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/activeTags/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/activeTags/index.tsx deleted file mode 100644 index 9406d430..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/activeTags/index.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import React from "react"; - -import { useImageCreate } from "../../../../../../stores/imageCreateStore"; -import ModifierTag from "../../../../../molecules/modifierTag"; - -// import { -// card -// } from '../../../../../_recipes/card.css'; - - - -import PromptTag from "../../../../../molecules/promptTag"; - -import { - ActiveTagListMain -} from "./activeTags.css"; - - -export default function ActiveTags() { - const selectedtags = useImageCreate((state) => state.selectedTags()); - - const createTags = useImageCreate((state) => state.createTags); - - return ( -
-
    - {createTags.map((tag) => { - console.log(tag); - return ( -
  • - {/* @ts-expect-error */} - -
  • ) - } - )} -
-
- ); -} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/index.tsx deleted file mode 100644 index a7755371..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/index.tsx +++ /dev/null @@ -1,108 +0,0 @@ -import React, { useState, ChangeEvent, KeyboardEventHandler, Fragment } from "react"; -import { v4 as uuidv4 } from "uuid"; -import { Switch } from '@headlessui/react' - -import { useImageCreate } from "../../../../../stores/imageCreateStore"; - -import ActiveTags from "./activeTags"; - -import { - IconFont, -} from "../../../../../styles/shared.css"; - -import { - buttonStyle, -} from "../../../../_recipes/button.css"; - -import { - PromptCreatorMain, - ToggleGroupMain, - ToggleMain, - ToggleLabel, - ToggleEnabled, - TogglePill, - buttonRow, -} from "./promptCreator.css"; - - - -import { useTranslation } from "react-i18next"; -import { type } from "os"; - -interface TagTypeProps { - positive: boolean; - setPositive: (positive: boolean) => void; -}; - -function TagTypeToggle({ positive, setPositive }: TagTypeProps) { - return ( - -
- Type - - - {positive - ? - : } - - -
-
- ); -} - -export default function PromptCreator() { - - const [positive, setPositive] = useState(true) - const [tagText, setTagText] = useState('An astronaut riding a horse'); - - const addCreateTag = useImageCreate((state) => state.addCreateTag); - - const { t } = useTranslation(); - - const checkForEnter = (event: KeyboardEventHandler) => { - // @ts-expect-error - if (event.key === "Enter") { - if (tagText !== '') { - const type = positive ? "positive" : "negative"; - - tagText.split(',').map((tag) => tag.trim()).forEach((tag) => { - addCreateTag({ id: uuidv4(), name: tag, type }); - }); - //debugger; - - setTagText(''); - } - } - }; - - return ( -
-
-

{t("home.editor-title")}

- {/* @ts-expect-error */} - { - setTagText(event.target.value) - }}> -
-
- - - -
- -
- ); -} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/promptCreator.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/promptCreator.css.ts deleted file mode 100644 index fbda231d..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/promptCreator/promptCreator.css.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { style, globalStyle } from '@vanilla-extract/css'; - -import { vars } from "../../../../../styles/theme/index.css"; - -export const PromptCreatorMain = style({ - display: 'flex', - flexDirection: 'column', - width: '100%', - height: '100%', - marginBottom: 0, -}); - -globalStyle(`${PromptCreatorMain} input`, { - width: '100%', -}); - -globalStyle(`${PromptCreatorMain} > div`, { - marginBottom: vars.spacing.small, -}); - -export const ToggleGroupMain = style({ - // '--toggle-size': '30px', -}); - -export const ToggleMain = style({ - background: vars.backgroundDark, - height: '22px', - borderRadius: '15px', - width: '34px', - border: 0, - position: 'relative', - display: 'inline-flex', - padding: 0, - flexDirection: 'column', - alignItems: 'center', - justifyContent: 'center', - boxShadow: `0 0 2px 0 ${vars.backgroundDark}`, -}); - -export const ToggleLabel = style({ -}); - -export const ToggleEnabled = style({ -}); - -globalStyle(`${ToggleMain}[data-headlessui-state="checked"]`, { - background: vars.backgroundLight, -}); - -export const TogglePill = style({ - display: 'inline-flex', - height: '18px', - width: '30px', - borderRadius: '15px', - background: vars.backgroundDark, - flexDirection: 'column', - alignItems: 'center', - justifyContent: 'center', -}); - -globalStyle(`${ToggleMain}[data-headlessui-state="checked"] ${TogglePill}`, { - background: vars.backgroundAccentMain, -}); - -globalStyle(`${TogglePill} p`, { - color: vars.colors.text.normal, -}); - - -export const buttonRow = style({ - marginTop: vars.spacing.small, - display: 'flex', - flexDirection: 'row', -}); - -globalStyle(`${buttonRow} > button`, { - flexGrow: 1, - marginRight: vars.spacing.medium, -}); \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/index.tsx deleted file mode 100644 index 7ceb78f5..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/index.tsx +++ /dev/null @@ -1,108 +0,0 @@ -import React, { useRef, ChangeEvent } from "react"; - - - -import { XButton } from "../../../../../styles/shared.css"; - -import { - ImageInputDisplay, - InputLabel, - ImageInput, - ImageFixer, -} from "./seedImage.css"; - -import { - buttonStyle -} from "../../../../_recipes/button.css"; - -import { useImageCreate } from "../../../../../stores/imageCreateStore"; - -import { useTranslation } from "react-i18next"; - -// TODO : figure out why this needs props to be passed in.. fixes a type error -// when the component is used in the parent component -export default function SeedImage(_props: any) { - const { t } = useTranslation(); - - const imageInputRef = useRef(null); - - const initImage = useImageCreate((state) => - state.getValueForRequestKey("init_image") - ); - - const isInPaintingMode = useImageCreate((state) => state.isInpainting); - - const setRequestOption = useImageCreate((state) => state.setRequestOptions); - - const _startFileSelect = () => { - imageInputRef.current?.click(); - }; - const _handleFileSelect = (event: ChangeEvent) => { - // @ts-expect-error - const file = event.target.files[0]; - - if (void 0 !== file) { - const reader = new FileReader(); - reader.onload = (e) => { - if (e.target != null) { - setRequestOption("init_image", e.target.result); - } - }; - reader.readAsDataURL(file); - } - }; - - const toggleInpainting = useImageCreate((state) => state.toggleInpainting); - - const _handleClearImage = () => { - setRequestOption("init_image", undefined); - - setRequestOption("mask", undefined); - if (isInPaintingMode) { - toggleInpainting(); - } - }; - - return ( -
-
- - - -
- -
- {void 0 !== initImage && ( - <> -
- - -
- - - )} -
-
- ); -} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/seedImage.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/seedImage.css.ts deleted file mode 100644 index 8a5f4a99..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/seedImage/seedImage.css.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { style } from "@vanilla-extract/css"; - -import { vars } from "../../../../../styles/theme/index.css"; - -export const ImageInputDisplay = style({ - display: "flex", -}); - -export const InputLabel = style({ - marginBottom: vars.spacing.small, - display: "block", -}); - -export const ImageInput = style({ - display: "none", -}); - - -// this is needed to fix an issue with the image input text -// when that is a drag an drop we can remove this -export const ImageFixer = style({ - marginLeft: "20px", -}); diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/showQueue/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/showQueue/index.tsx deleted file mode 100644 index 287c70ca..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/basicCreation/showQueue/index.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import React from "react"; - -import { useCreateUI } from "../../creationPanelUIStore"; - -export default function ShowQueue() { - - const showQueue = useCreateUI((state) => state.showQueue); - const toggleQueue = useCreateUI((state) => state.toggleQueue); - - return ( - - ); -} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanel.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanel.css.ts deleted file mode 100644 index 47e6c5c5..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanel.css.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; -import { vars } from "../../../styles/theme/index.css"; -export const CreationPaneMain = style({ - position: "relative", - width: "100%", - height: "100%", - overflowY: "auto", - overflowX: "hidden", -}); - -globalStyle(`${CreationPaneMain} > div`, { - marginBottom: vars.spacing.medium, -}); - -export const InpaintingSlider = style({ - position: "absolute", - top: "10px", - left: "400px", - zIndex: 1, - backgroundColor: "rgba(0, 0, 0, 0.5)", -}); diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanelUIStore.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanelUIStore.ts deleted file mode 100644 index 6a615dee..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/creationPanelUIStore.ts +++ /dev/null @@ -1,89 +0,0 @@ -import create from "zustand"; -import produce from "immer"; -import { persist } from "zustand/middleware"; - -export interface ImageCreationUIOptions { - isOpenAdvancedSettings: boolean; - isOpenAdvImprovementSettings: boolean; - isOpenAdvPropertySettings: boolean; - isOpenAdvWorkflowSettings: boolean; - isOpenImageModifier: boolean; - showQueue: boolean; - - toggleAdvancedSettings: () => void; - toggleAdvImprovementSettings: () => void; - toggleAdvPropertySettings: () => void; - toggleAdvWorkflowSettings: () => void; - - toggleImageModifier: () => void; - toggleQueue: () => void; - -} - -export const useCreateUI = create( - //@ts-expect-error - persist( - (set, get) => ({ - isOpenAdvancedSettings: false, - isOpenAdvImprovementSettings: false, - isOpenAdvPropertySettings: false, - isOpenAdvWorkflowSettings: false, - isOpenImageModifier: false, - showQueue: false, - - toggleAdvancedSettings: () => { - set( - produce((state: ImageCreationUIOptions) => { - state.isOpenAdvancedSettings = !state.isOpenAdvancedSettings; - }) - ); - }, - - toggleAdvImprovementSettings: () => { - set( - produce((state: ImageCreationUIOptions) => { - state.isOpenAdvImprovementSettings = - !state.isOpenAdvImprovementSettings; - }) - ); - }, - - toggleAdvPropertySettings: () => { - set( - produce((state: ImageCreationUIOptions) => { - state.isOpenAdvPropertySettings = !state.isOpenAdvPropertySettings; - }) - ); - }, - - toggleAdvWorkflowSettings: () => { - set( - produce((state: ImageCreationUIOptions) => { - state.isOpenAdvWorkflowSettings = !state.isOpenAdvWorkflowSettings; - }) - ); - }, - - toggleImageModifier: () => { - set( - produce((state: ImageCreationUIOptions) => { - state.isOpenImageModifier = !state.isOpenImageModifier; - }) - ); - }, - - toggleQueue: () => { - set( - produce((state: ImageCreationUIOptions) => { - state.showQueue = !state.showQueue; - }) - ); - }, - - }), - { - name: "createUI", - // getStorage: () => localStorage, - } - ) -); diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/imageModifiers.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/imageModifiers.css.ts deleted file mode 100644 index 61056131..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/imageModifiers.css.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; -import { vars } from "../../../../styles/theme/index.css"; - -export const ImagerModifierGroups = style({ - // marginBottom: vars.spacing.small, - paddingLeft: 0, - listStyleType: "none", -}); - -globalStyle(`${ImagerModifierGroups} li`, { - marginTop: vars.spacing.medium, -}); - -export const ImageModifierGrouping = style({ - marginTop: vars.spacing.medium, -}); - -globalStyle(`${ImageModifierGrouping} h4`, { - fontSize: vars.fonts.sizes.Plain, -}); - - -export const ModifierListStyle = style({ - paddingLeft: 0, - listStyleType: "none", - display: "flex", - flexWrap: "wrap", - gap: vars.spacing.small, -}); - -globalStyle(`${ModifierListStyle} li`, { - margin: 0, -}); diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/index.tsx deleted file mode 100644 index 9dce96d1..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/index.tsx +++ /dev/null @@ -1,115 +0,0 @@ -import React, { useState } from "react"; - -import { - MenuButton, -} from "../../../../styles/shared.css"; - -import { - card -} from '../../../_recipes/card.css'; - -import { - buttonStyle, -} from "../../../_recipes/button.css"; - -import { - ImagerModifierGroups, - ImageModifierGrouping, - ModifierListStyle, -} from "./imageModifiers.css"; - -import { ModifierObject, useImageCreate } from "../../../../stores/imageCreateStore"; -import { useCreateUI } from "../creationPanelUIStore"; - -import ModifierTag from "../../../molecules/modifierTag"; - -interface ModifierListProps { - category: string; - tags: ModifierObject[]; -} - -function ModifierList({ tags, category }: ModifierListProps) { - return ( -
    - {tags.map((tag) => ( -
  • - -
  • - ))} -
- ); -} - -interface ModifierGroupingProps { - title: string; - category: string; - tags: ModifierObject[]; -} - -function ModifierGrouping({ title, category, tags }: ModifierGroupingProps) { - // doing this localy for now, but could move to a store - // and persist if we wanted to - const [isExpanded, setIsExpanded] = useState(false); - - const _toggleExpand = () => { - setIsExpanded(!isExpanded); - }; - - return ( -
- - {isExpanded && } -
- ); -} - -export default function ImageModifers() { - const allModifiers = useImageCreate((state) => state.allModifiers); - - const imageModifierIsOpen = useCreateUI((state) => state.isOpenImageModifier); - const toggleImageModifiersIsOpen = useCreateUI( - (state) => state.toggleImageModifier - ); - - const handleClick = () => { - toggleImageModifiersIsOpen(); - }; - - return ( -
- - - {imageModifierIsOpen && ( -
    - {allModifiers.map((item, index) => { - return ( -
  • - -
  • - ); - })} -
- )} -
- ); -} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/modifiers.mock.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/modifiers.mock.ts deleted file mode 100644 index 4a3fe97e..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/imageModifiers/modifiers.mock.ts +++ /dev/null @@ -1,18 +0,0 @@ -const Mockifiers = [ - [ - "Drawing Style", - [ - "Cel Shading", - "Children's Drawing", - "Crosshatch", - "Detailed and Intricate", - "Doodle", - "Dot Art", - "Line Art", - "Sketch", - ], - ], - ["Visual Style", ["2D", "8-bit", "16-bit", "Anaglyph", "Anime", "CGI"]], -]; - -export default Mockifiers; diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/index.tsx deleted file mode 100644 index 9730ba11..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/index.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import React, { ChangeEvent } from "react"; - -import BasicCreation from "./basicCreation"; -import AdvancedSettings from "./advancedSettings"; -import ImageModifiers from "./imageModifiers"; -import InpaintingPanel from "./inpaintingPanel"; - -import QueueDisplay from "../queueDisplay"; - -// this works but causes type errors so its not worth it for now -// import { useImageCreate } from "@stores/imageCreateStore.ts"; - -import { useImageCreate } from "../../../stores/imageCreateStore"; -import { useRequestQueue } from "../../../stores/requestQueueStore"; - - -import { - CreationPaneMain, - InpaintingSlider, -} from "./creationPanel.css"; - - -export default function CreationPanel() { - const isInPaintingMode = useImageCreate((state) => state.isInpainting); - - const hasQueue = useRequestQueue((state) => state.hasAnyQueue()); - - return ( - <> -
- - - -
- - {isInPaintingMode && ( -
- -
- )} - - ); -} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/inpaintingPanel/index.tsx b/ui/frontend/build_src/src/components/organisms/creationPanel/inpaintingPanel/index.tsx deleted file mode 100644 index 3e56f8a3..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/inpaintingPanel/index.tsx +++ /dev/null @@ -1,114 +0,0 @@ -import React, { useRef, useState, ChangeEvent } from "react"; -import DrawImage from "../../../molecules/drawImage"; - -import { useImageCreate } from "../../../../stores/imageCreateStore"; - -import { - InpaintingPanelMain, - InpaintingControls, - InpaintingControlRow, -} from "./inpaintingPanel.css"; - -export default function InpaintingPanel() { - // no idea if this is the right typing - // const drawingRef = useRef(null); - - const [brushSize, setBrushSize] = useState("20"); - const [brushShape, setBrushShape] = useState("round"); - const [brushColor, setBrushColor] = useState("#fff"); - const [isErasing, setIsErasing] = useState(false); - - const initImage = useImageCreate((state) => - state.getValueForRequestKey("init_image") - ); - - const setRequestOption = useImageCreate((state) => state.setRequestOptions); - - const setMask = (data: string) => { - setRequestOption("mask", data); - } - - - const _handleBrushMask = () => { - setIsErasing(false); - }; - - const _handleBrushErase = () => { - setIsErasing(true); - }; - - - const _handleBrushSize = (event: ChangeEvent) => { - setBrushSize(event.target.value); - }; - - return ( -
- -
-
- - - {/* - */} - - -
- -
- - - - {/* */} - {/* */} -
-
-
- ); -} diff --git a/ui/frontend/build_src/src/components/organisms/creationPanel/inpaintingPanel/inpaintingPanel.css.ts b/ui/frontend/build_src/src/components/organisms/creationPanel/inpaintingPanel/inpaintingPanel.css.ts deleted file mode 100644 index 84f432ff..00000000 --- a/ui/frontend/build_src/src/components/organisms/creationPanel/inpaintingPanel/inpaintingPanel.css.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { style } from "@vanilla-extract/css"; - -export const InpaintingPanelMain = style({ - position: "relative", - width: "100%", - height: "100%", - padding: "10px 10px", -}); - -export const InpaintingControls = style({ - display: "flex", - flexDirection: "row", - width: "100%", - flexWrap: "wrap", -}); - -export const InpaintingControlRow = style({ - display: "flex", - flexDirection: "row", - justifyContent: "space-evenly", - alignItems: "center", - width: "100%", - - ":first-of-type": { - margin: "10px 0", - }, -}); diff --git a/ui/frontend/build_src/src/components/organisms/currentDisplay/currentDisplay.css.ts b/ui/frontend/build_src/src/components/organisms/currentDisplay/currentDisplay.css.ts deleted file mode 100644 index 15ba7cc0..00000000 --- a/ui/frontend/build_src/src/components/organisms/currentDisplay/currentDisplay.css.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { style } from '@vanilla-extract/css' - -// handles all 3 -export const currentDisplayMain = style({ - display: 'flex', - flexDirection: 'column', - justifyContent: 'center', - alignItems: 'center', - height: '100%', - width: '100%', - padding: '0 0 0 0', -}) diff --git a/ui/frontend/build_src/src/components/organisms/currentDisplay/imageDisplay/imageDisplay.css.ts b/ui/frontend/build_src/src/components/organisms/currentDisplay/imageDisplay/imageDisplay.css.ts deleted file mode 100644 index ad84a309..00000000 --- a/ui/frontend/build_src/src/components/organisms/currentDisplay/imageDisplay/imageDisplay.css.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { style, globalStyle } from '@vanilla-extract/css' - -import { vars } from '../../../../styles/theme/index.css' - -export const imageDisplayMain = style({ - height: '100%', - width: '100%', - display: 'flex', - flexDirection: 'column', -}); - -export const imageDisplayContainer = style({ - height: '100%', - width: '80%', - display: 'flex', - justifyContent: 'center', -}); - -export const imageDisplayCenter = style({ - width: '100%', - maxWidth: '1000px', - position: 'relative', -}); - -export const imageDisplayContent = style({ - display: 'flex', - flexDirection: 'column', -}); - -globalStyle(`${imageDisplayContent} > div`, { - marginBottom: vars.spacing.medium, -}); - -globalStyle(`${imageDisplayContent} p`, { - marginBottom: vars.spacing.small, -}); - -globalStyle(`${imageDisplayContent} button`, { - marginRight: vars.spacing.medium, -}); \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/currentDisplay/imageDisplay/index.tsx b/ui/frontend/build_src/src/components/organisms/currentDisplay/imageDisplay/index.tsx deleted file mode 100644 index 48cfe2ae..00000000 --- a/ui/frontend/build_src/src/components/organisms/currentDisplay/imageDisplay/index.tsx +++ /dev/null @@ -1,100 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -import React from "react"; -import { useImageCreate } from "../../../../stores/imageCreateStore"; -import { CompletedImagesType } from "../../../../stores/imageDisplayStore"; - -import GeneratedImage from "../../../molecules/generatedImage"; - -import { - imageDisplayMain, - imageDisplayContainer, - imageDisplayCenter, - imageDisplayContent, -} from './imageDisplay.css'; - - -import { - buttonStyle -} from "../../../_recipes/button.css"; - -export default function ImageDisplay({ info, data }: CompletedImagesType) { - - const createFileName = () => { - const { - prompt, - negative_prompt, - seed, - num_inference_steps, - guidance_scale, - use_face_correction, - use_upscale, - width, - height, - } = info; - - // Most important information is the prompt - let underscoreName = prompt.replace(/[^a-zA-Z0-9]/g, "_"); - underscoreName = underscoreName.substring(0, 100); - // name and the top level metadata - let fileName = `${underscoreName}_Seed-${seed}_Steps-${num_inference_steps}_Guidance-${guidance_scale}`; - // Add the face correction and upscale - if (typeof use_face_correction == "string") { - fileName += `_FaceCorrection-${use_face_correction}`; - } - if (typeof use_upscale == "string") { - fileName += `_Upscale-${use_upscale}`; - } - // Add the width and height - fileName += `_${width}x${height}`; - // add the file extension - fileName += ".png"; - // return fileName - return fileName; - }; - - const setRequestOption = useImageCreate((state) => state.setRequestOptions); - - const _handleSave = () => { - const link = document.createElement("a"); - link.download = createFileName(); - link.href = data ?? ""; - link.click(); - }; - - const _handleUseAsInput = () => { - setRequestOption("init_image", data); - }; - - return ( -
- -
- -
- -
-
-

{info?.prompt}

-

{info?.negative_prompt}

-
- - -
-
- -
- -
- -
- -
- ); -}; diff --git a/ui/frontend/build_src/src/components/organisms/currentDisplay/index.tsx b/ui/frontend/build_src/src/components/organisms/currentDisplay/index.tsx deleted file mode 100644 index 458deac6..00000000 --- a/ui/frontend/build_src/src/components/organisms/currentDisplay/index.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import React, { useEffect, useState } from "react"; - -import { FetchingStates, useImageFetching } from "../../../stores/imageFetchingStore"; -import { useImageDisplay } from "../../../stores/imageDisplayStore"; - -import { API_URL } from "../../../api"; - -import { - currentDisplayMain, -} from './currentDisplay.css'; - -import ImageDisplay from "./imageDisplay"; - -const IdleDisplay = () => { - return ( -

Try Making a new image!

- ); -}; - -const LoadingDisplay = ({ images }: { images: string[] }) => { - - return ( - <> - {images.map((image, index) => { - if (index == images.length - 1) { - return ( - - ) - } - }) - } - - ); -}; - -export default function CurrentDisplay() { - - const status = useImageFetching((state) => state.status); - const currentImage = useImageDisplay((state) => state.currentImage); - - const progressImages = useImageFetching((state) => state.progressImages); - - return ( -
- - {(currentImage == null) && } - {/* {(status === FetchingStates.FETCHING || status === FetchingStates.PROGRESSING) && } - {(currentImage != null) && } */} - - { - (progressImages.length > 0) - ? - : (currentImage != null) && - } - -
- ); -} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/currentInfo/currentInfo.css.ts b/ui/frontend/build_src/src/components/organisms/currentInfo/currentInfo.css.ts deleted file mode 100644 index 167d8c2d..00000000 --- a/ui/frontend/build_src/src/components/organisms/currentInfo/currentInfo.css.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { style } from '@vanilla-extract/css' - -import { - card as cardStyles, -} from '../../_recipes/card.css' - -export const currentInfoMain = style([ - cardStyles( - { - backing: 'dark', - } - ), - { - // display: 'flex', - // flexDirection: 'column', - // justifyContent: 'center', - // alignItems: 'center', - // height: '100%', - width: '250px', - padding: '0 0 0 0', - }, -]) diff --git a/ui/frontend/build_src/src/components/organisms/currentInfo/index.tsx b/ui/frontend/build_src/src/components/organisms/currentInfo/index.tsx deleted file mode 100644 index bb131621..00000000 --- a/ui/frontend/build_src/src/components/organisms/currentInfo/index.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from "react"; -import { currentInfoMain } from "./currentInfo.css"; -export default function CurrentInfo() { - return
current info
; -} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/footerDisplay/footerDisplay.css.ts b/ui/frontend/build_src/src/components/organisms/footerDisplay/footerDisplay.css.ts deleted file mode 100644 index 9dc7cb4d..00000000 --- a/ui/frontend/build_src/src/components/organisms/footerDisplay/footerDisplay.css.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; - -import { vars } from "../../../styles/theme/index.css"; - -export const FooterDisplayMain = style({ - color: vars.colors.text.normal, - fontSize: vars.fonts.sizes.Caption, - - display: "inline-block", - // marginTop: vars.spacing.medium, - // marginBottom: vars.spacing.medium, - // TODO move this to the theme - padding: vars.spacing.small, - boxShadow: - "0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15)", -}); - -export const CoffeeButton = style({ - height: "23px", - transform: "translateY(25%)", -}); - -globalStyle(`${FooterDisplayMain} a`, { - color: vars.colors.link, - textDecoration: "none", -}); - -globalStyle(`${FooterDisplayMain} a:hover`, { - textDecoration: "underline", -}); - -globalStyle(`${FooterDisplayMain} a:visited`, { - color: vars.colors.link, -}); - -globalStyle(`${FooterDisplayMain} a:active`, { - color: vars.colors.link, -}); - -globalStyle(`${FooterDisplayMain} a:focus`, { - color: vars.colors.link, -}); - -globalStyle(`${FooterDisplayMain} p`, { - margin: vars.spacing.min, -}); - -// .footer-display { -// color: #ffffff; -// display: flex; -// flex-direction: column; -// align-items: center; -// justify-content: center; -// } - -// #coffeeButton { -// height: 23px; -// transform: translateY(25%); -// } diff --git a/ui/frontend/build_src/src/components/organisms/footerDisplay/index.tsx b/ui/frontend/build_src/src/components/organisms/footerDisplay/index.tsx deleted file mode 100644 index 428ee3f8..00000000 --- a/ui/frontend/build_src/src/components/organisms/footerDisplay/index.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import React from "react"; - -import { - FooterDisplayMain, - CoffeeButton, -} from "./footerDisplay.css"; - -import { API_URL } from "../../../api"; - -export default function FooterDisplay() { - return ( -
-

- If you found this project useful and want to help keep it alive, please{" "} - - - {" "} - to help cover the cost of development and maintenance! Thank you for - your support! -

-

- Please feel free to join the{" "} - - discord community - {" "} - or{" "} - - file an issue - {" "} - if you have any problems or suggestions in using this interface. -

- -
- ); -} diff --git a/ui/frontend/build_src/src/components/organisms/headerDisplay/headerDisplay.css.ts b/ui/frontend/build_src/src/components/organisms/headerDisplay/headerDisplay.css.ts deleted file mode 100644 index f1d7a2d0..00000000 --- a/ui/frontend/build_src/src/components/organisms/headerDisplay/headerDisplay.css.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; -import { vars } from "../../../styles/theme/index.css"; - -export const HeaderDisplayMain = style({ - color: vars.colors.text.normal, - display: "flex", - justifyContent: "space-between" -}); - -globalStyle(`${HeaderDisplayMain} > h1`, { - fontSize: vars.fonts.sizes.Title, - fontWeight: "bold", - marginRight: vars.spacing.medium, -}); - - -export const HeaderTitle = style({ - marginLeft: vars.spacing.large, -}); - -export const HeaderLinks = style({ - display: "flex", - alignItems: "center", - flexGrow: 1, - justifyContent: "space-between", - maxWidth: "300px", - marginRight: vars.spacing.large, -}); \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/headerDisplay/helpOptions/helpOptions.css.ts b/ui/frontend/build_src/src/components/organisms/headerDisplay/helpOptions/helpOptions.css.ts deleted file mode 100644 index e8be07c6..00000000 --- a/ui/frontend/build_src/src/components/organisms/headerDisplay/helpOptions/helpOptions.css.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { style } from "@vanilla-extract/css"; - -export const HelpContent = style({ - width: '300px', -}); diff --git a/ui/frontend/build_src/src/components/organisms/headerDisplay/helpOptions/index.tsx b/ui/frontend/build_src/src/components/organisms/headerDisplay/helpOptions/index.tsx deleted file mode 100644 index 56ffb8dd..00000000 --- a/ui/frontend/build_src/src/components/organisms/headerDisplay/helpOptions/index.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import React from "react"; -import { Popover } from '@headlessui/react'; -// import { useTranslation } from "react-i18next"; - -import { - PopoverMain, - PopoverButtonStyle, - PopoverPanelMain, -} from "../../../_recipes/popover_headless.css"; - -import { - card -} from '../../../_recipes/card.css'; - -import { - IconFont, - SettingItem -} from "../../../../styles/shared.css"; - -import { - HelpContent -} from "./helpOptions.css"; - -export default function HelpOptions() { - - return ( - - - - Help & Community - - - - - - - ); -}; \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/headerDisplay/index.tsx b/ui/frontend/build_src/src/components/organisms/headerDisplay/index.tsx deleted file mode 100644 index bb7fe3b4..00000000 --- a/ui/frontend/build_src/src/components/organisms/headerDisplay/index.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import React, { useEffect, useState } from "react"; - -import { useQuery } from "@tanstack/react-query"; -import { KEY_CONFIG, getConfig } from "../../../api"; - -import StatusDisplay from "./statusDisplay"; - -import HelpOptions from "./helpOptions"; -import SystemSettings from "./systemSettings"; - -import { useTranslation } from "react-i18next"; - -import { - HeaderDisplayMain, - HeaderTitle, - HeaderLinks, -} from "./headerDisplay.css"; - -// import LanguageDropdown from "./languageDropdown"; - -export default function HeaderDisplay() { - const { t } = useTranslation(); - - const { status, data } = useQuery([KEY_CONFIG], getConfig); - - const [version, setVersion] = useState("2.1.0"); - const [release, setRelease] = useState(""); - - // this is also in the Beta Mode - // TODO: make this a custom hook - useEffect(() => { - if (status === "success") { - // TODO also pass down the actual version - const { update_branch: updateBranch } = data; - - // just hard coded for now - setVersion("v2.1"); - - if (updateBranch === "main") { - setRelease("(stable)"); - } else { - setRelease("(beta)"); - } - } - }, [status, data, setVersion, setVersion]); - - return ( -
-
-

- {t("title")} {version} {release}{" "} -

- -
-
- - -
- {/* */} -
- ); -} diff --git a/ui/frontend/build_src/src/components/organisms/headerDisplay/languageDropdown/index.tsx b/ui/frontend/build_src/src/components/organisms/headerDisplay/languageDropdown/index.tsx deleted file mode 100644 index f6e3c651..00000000 --- a/ui/frontend/build_src/src/components/organisms/headerDisplay/languageDropdown/index.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import React, { useState } from "react"; -import { useTranslation } from "react-i18next"; - -const LanguageDropdown = () => { - const { i18n } = useTranslation(); - const [language, setLanguage] = useState("id"); - - const handleLangChange = (evt: any) => { - const lang = evt.target.value; - console.log(lang); - setLanguage(lang); - i18n.changeLanguage(lang); - }; - - return ( - - ); -}; - -export default LanguageDropdown; diff --git a/ui/frontend/build_src/src/components/organisms/headerDisplay/statusDisplay/index.tsx b/ui/frontend/build_src/src/components/organisms/headerDisplay/statusDisplay/index.tsx deleted file mode 100644 index c4d47d80..00000000 --- a/ui/frontend/build_src/src/components/organisms/headerDisplay/statusDisplay/index.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import React, { useEffect, useState, useRef } from "react"; -import { useQuery } from "@tanstack/react-query"; - -import { healthPing, HEALTH_PING_INTERVAL } from "../../../../api"; - -import AudioDing from "../../../molecules/audioDing"; - -import { - StartingStatus, - ErrorStatus, - SuccessStatus, -} from "./statusDisplay.css"; - -const startingMessage = "Stable Diffusion is starting..."; -const successMessage = "Stable Diffusion is ready to use!"; -const errorMessage = "Stable Diffusion is not running!"; - -export default function StatusDisplay({ className }: { className?: string }) { - const [statusMessage, setStatusMessage] = useState(startingMessage); - const [statusClass, setStatusClass] = useState(StartingStatus); - - const dingRef = useRef(); - - // but this will be moved to the status display when it is created - const { status, data } = useQuery(["health"], healthPing, { - refetchInterval: HEALTH_PING_INTERVAL, - }); - - useEffect(() => { - if (status === "loading") { - setStatusMessage(startingMessage); - setStatusClass(StartingStatus); - } else if (status === "error") { - setStatusMessage(errorMessage); - setStatusClass(ErrorStatus); - } else if (status === "success") { - if (data[0] === "OK") { - setStatusMessage(successMessage); - setStatusClass(SuccessStatus); - // catch an auto play error - dingRef.current?.play().catch((e) => { - console.log('DING!') - }); - } else { - setStatusMessage(errorMessage); - setStatusClass(ErrorStatus); - } - } - }, [status, data, dingRef]); - - return ( - <> - -

{statusMessage}

- - ); -} diff --git a/ui/frontend/build_src/src/components/organisms/headerDisplay/statusDisplay/statusDisplay.css.ts b/ui/frontend/build_src/src/components/organisms/headerDisplay/statusDisplay/statusDisplay.css.ts deleted file mode 100644 index ccbdacb5..00000000 --- a/ui/frontend/build_src/src/components/organisms/headerDisplay/statusDisplay/statusDisplay.css.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { style } from "@vanilla-extract/css"; - -import { vars } from "../../../../styles/theme/index.css"; - -export const StartingStatus = style({ - color: `hsl(${vars.warningHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, -}); - -export const ErrorStatus = style({ - color: `hsl(${vars.errorHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, -}); - -export const SuccessStatus = style({ - color: `hsl(${vars.successHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, -}); diff --git a/ui/frontend/build_src/src/components/organisms/headerDisplay/systemSettings/index.tsx b/ui/frontend/build_src/src/components/organisms/headerDisplay/systemSettings/index.tsx deleted file mode 100644 index f0162d7e..00000000 --- a/ui/frontend/build_src/src/components/organisms/headerDisplay/systemSettings/index.tsx +++ /dev/null @@ -1,162 +0,0 @@ -/* eslint-disable @typescript-eslint/strict-boolean-expressions */ -import React from "react"; -import { Popover } from '@headlessui/react'; -import { useTranslation } from "react-i18next"; - -import { useImageCreate } from "../../../../stores/imageCreateStore"; - -import BetaMode from "../../../molecules/betaMode"; - - -import { - IconFont, - SettingItem -} from "../../../../styles/shared.css"; - -import { - PopoverMain, - PopoverButtonStyle, - PopoverPanelMain, -} from "../../../_recipes/popover_headless.css"; - -import { - SettingContent -} from "./systemSettings.css"; - -// import { -// SwitchGroupMain, -// SwitchMain, -// SwitchLabel, -// SwitchEnabled, -// SwitchPill, -// } from "../../../_headless/switch/index.css"; - - -export default function SystemSettings() { - const { t } = useTranslation(); - - const isUseAutoSave = useImageCreate((state) => state.isUseAutoSave()); - const diskPath = useImageCreate((state) => - state.getValueForRequestKey("save_to_disk_path") - ); - - const turbo = useImageCreate((state) => state.getValueForRequestKey("turbo")); - const useCpu = useImageCreate((state) => - state.getValueForRequestKey("use_cpu") - ); - const useFullPrecision = useImageCreate((state) => - state.getValueForRequestKey("use_full_precision") - ); - - const isSoundEnabled = useImageCreate((state) => state.isSoundEnabled()); - - const setRequestOption = useImageCreate((state) => state.setRequestOptions); - const toggleUseAutoSave = useImageCreate((state) => state.toggleUseAutoSave); - const toggleSoundEnabled = useImageCreate( - (state) => state.toggleSoundEnabled - ); - - return ( - - - - Settings - - - -
-

System Settings

-
    -
  • - - -
  • -
  • - - - - {/* - <>{t("advanced-settings.sound")} - - - - */} -
  • - - -
  • - -
  • -
  • - -
  • -
  • - -
  • - -
  • - -
  • - - - - - -
-
-
-
- - ); -} diff --git a/ui/frontend/build_src/src/components/organisms/headerDisplay/systemSettings/systemSettings.css.ts b/ui/frontend/build_src/src/components/organisms/headerDisplay/systemSettings/systemSettings.css.ts deleted file mode 100644 index 6d7cb097..00000000 --- a/ui/frontend/build_src/src/components/organisms/headerDisplay/systemSettings/systemSettings.css.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { style } from "@vanilla-extract/css"; - -export const SettingContent = style({ - width: '480px', -}); diff --git a/ui/frontend/build_src/src/components/organisms/queueDisplay/index.tsx b/ui/frontend/build_src/src/components/organisms/queueDisplay/index.tsx deleted file mode 100644 index c866b797..00000000 --- a/ui/frontend/build_src/src/components/organisms/queueDisplay/index.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import React from "react"; -import { ImageRequest } from "../../../api"; - -import { QueuedRequest, useRequestQueue } from "../../../stores/requestQueueStore"; - -import { - QueueDisplayMain, - QueueListButtons, -} from "./queueDisplay.css"; - -import { - buttonStyle -} from "../../_recipes/button.css"; - -import ClearQueue from "../../molecules/clearQueue"; -import QueueItem from "./queueItem"; - -export default function QueueDisplay() { - - const requests: QueuedRequest[] = useRequestQueue((state) => state.requests); - const removeCompleted = useRequestQueue((state) => state.removeCompleted); - const removeErrored = useRequestQueue((state) => state.removeErrored); - - const clearCompleted = () => { - removeCompleted(); - } - - const clearErrored = () => { - removeErrored(); - } - - return ( -
- -
- - -
- {requests.map((request) => { - return ; - })} -
- ); -}; diff --git a/ui/frontend/build_src/src/components/organisms/queueDisplay/queueDisplay.css.ts b/ui/frontend/build_src/src/components/organisms/queueDisplay/queueDisplay.css.ts deleted file mode 100644 index d3aa3259..00000000 --- a/ui/frontend/build_src/src/components/organisms/queueDisplay/queueDisplay.css.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; - - -import { vars } from "../../../styles/theme/index.css"; - -export const QueueDisplayMain = style({ - display: "flex", - flexDirection: "column", - width: '100%', - height: '100%', -}); - -export const QueueListButtons = style({ - display: "flex", - flexDirection: "row", - justifyContent: "space-between", - alignItems: "center", - marginBottom: vars.spacing.medium, - marginTop: vars.spacing.medium, -}); - -globalStyle(`${QueueListButtons} button`, { - flexGrow: 1, -}); - -globalStyle(`${QueueListButtons} button:first-child`, { - marginRight: vars.spacing.medium, -}); \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/queueDisplay/queueItem/index.tsx b/ui/frontend/build_src/src/components/organisms/queueDisplay/queueItem/index.tsx deleted file mode 100644 index 0cdf4e10..00000000 --- a/ui/frontend/build_src/src/components/organisms/queueDisplay/queueItem/index.tsx +++ /dev/null @@ -1,125 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ - -import React from "react"; - - -import { QueueStatus, QueuedRequest, useRequestQueue } from '../../../../stores/requestQueueStore'; - -import StopButton from '../../../molecules/stopButton'; - -import { - QueueItemMain, - QueueItemInfo, - QueueButtons, -} from "./queueItem.css"; - - -import { - buttonStyle -} from "../../../_recipes/button.css"; - - -interface QueueItemProps { - request: QueuedRequest; -} - -export default function QueueItem({ request }: QueueItemProps) { - - const removeItem = useRequestQueue((state) => state.removeItem); - const updateStatus = useRequestQueue((state) => state.updateStatus); - const sendPendingToTop = useRequestQueue((state) => state.sendPendingToTop); - - const { - id, - options: { - prompt, - num_outputs, - seed, - sampler, - guidance_scale, - num_inference_steps, - - }, - status, - } = request; - - const removeFromQueue = () => { - removeItem(id); - } - - const pauseItem = () => { - updateStatus(id, QueueStatus.paused); - } - - const retryRequest = () => { - updateStatus(id, QueueStatus.pending); - } - - const sendToTop = () => { - sendPendingToTop(id); - } - - return ( -
- -
-

{prompt}

-

Making {num_outputs} concurrent images

-

- Seed: {seed} - Sampler: {sampler} - Guidance Scale: {guidance_scale} - Num Inference Steps: {num_inference_steps} -

-
- -
- - {status === QueueStatus.processing && ( - - )} - - {status === QueueStatus.complete && ( - - )} - - {status === QueueStatus.pending && ( - <> - - - - - )} - - {status === QueueStatus.paused && ( - - )} - - {status === QueueStatus.error && ( - - )} -
- -
- ); -} \ No newline at end of file diff --git a/ui/frontend/build_src/src/components/organisms/queueDisplay/queueItem/queueItem.css.ts b/ui/frontend/build_src/src/components/organisms/queueDisplay/queueItem/queueItem.css.ts deleted file mode 100644 index 54da4020..00000000 --- a/ui/frontend/build_src/src/components/organisms/queueDisplay/queueItem/queueItem.css.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; - - -import { vars } from "../../../../styles/theme/index.css"; - - -import { QueueStatus } from "../../../../stores/requestQueueStore"; - - -import { - card -} from '../../../_recipes/card.css'; - -export const QueueItemMain = style([card( - { - - info: true, - level: 1 - } -), { - display: "flex", - flexDirection: "column", - width: "100%", - marginBottom: vars.spacing.medium, -}]); - -export const QueueItemInfo = style({ - -}); - -globalStyle(`${QueueItemInfo} p`, { - marginBottom: vars.spacing.small, -}); - -globalStyle(`${QueueItemMain}.${QueueStatus.complete}`, { - borderColor: `hsl(${vars.secondaryHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, -}); - -globalStyle(`${QueueItemMain}.${QueueStatus.processing}`, { - borderColor: `hsl(${vars.tertiaryHue}, ${vars.colorMod.saturation.bright}, ${vars.colorMod.lightness.bright})`, -}); - -globalStyle(`${QueueItemMain}.${QueueStatus.pending}`, { - borderColor: `hsl(${vars.backgroundAccentMain}, ${vars.colorMod.saturation.bright}, ${vars.colorMod.lightness.normal})`, -}); - -globalStyle(`${QueueItemMain}.${QueueStatus.paused}`, { - borderColor: `hsl(${vars.backgroundAccentMain}, ${vars.colorMod.saturation.dim}, ${vars.colorMod.lightness.dim})`, - backgroundColor: `hsl(${vars.backgroundAccentMain}, ${vars.colorMod.saturation.dim}, ${vars.colorMod.lightness.dim})`, -}); - -globalStyle(`${QueueItemMain}.${QueueStatus.error}`, { - borderColor: `hsl(${vars.errorHue}, ${vars.colorMod.saturation.normal}, ${vars.colorMod.lightness.normal})`, -}); - -export const QueueButtons = style({ - display: "flex", - flexDirection: "row", - justifyContent: "space-between", - alignItems: "center", -}); \ No newline at end of file diff --git a/ui/frontend/build_src/src/main.tsx b/ui/frontend/build_src/src/main.tsx deleted file mode 100644 index 8b61d6f2..00000000 --- a/ui/frontend/build_src/src/main.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import React from "react"; -import ReactDOM from "react-dom/client"; - -import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; - -import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; - -import { enableMapSet } from "immer"; - -import App from "./App"; - -import "./styles/index.css.ts"; - -const queryClient = new QueryClient({ - defaultOptions: { - queries: { - refetchOnWindowFocus: false, - refetchOnReconnect: false, - refetchOnMount: false, - staleTime: Infinity, - cacheTime: Infinity, - }, - }, -}); - -enableMapSet(); -// application entry point -ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( - - - - - - -); diff --git a/ui/frontend/build_src/src/modifiers.json b/ui/frontend/build_src/src/modifiers.json deleted file mode 100644 index d680709e..00000000 --- a/ui/frontend/build_src/src/modifiers.json +++ /dev/null @@ -1,144 +0,0 @@ -[ - [ - "Drawing Style", - [ - "Cel Shading", - "Children's Drawing", - "Crosshatch", - "Detailed and Intricate", - "Doodle", - "Dot Art", - "Line Art", - "Sketch" - ] - ], - [ - "Visual Style", - [ - "2D", - "8-bit", - "16-bit", - "Anaglyph", - "Anime", - "CGI", - "Cartoon", - "Comic Book", - "Concept Art", - "Digital Art", - "Fantasy", - "Graphic Novel", - "Hard Edge Painting", - "Hydrodipped", - "Lithography", - "Manga", - "Modern Art", - "Mosaic", - "Mural", - "Photo", - "Realistic", - "Street Art", - "Visual Novel", - "Watercolor" - ] - ], - [ - "Pen", - ["Chalk", "Colored Pencil", "Graphite", "Ink", "Oil Paint", "Pastel Art"] - ], - [ - "Carving and Etching", - [ - "Etching", - "Linocut", - "Paper Model", - "Paper-Mache", - "Papercutting", - "Pyrography", - "Wood-Carving" - ] - ], - [ - "Camera", - [ - "Aerial View", - "Canon50", - "Cinematic", - "Close-up", - "Color Grading", - "Dramatic", - "Film Grain", - "Fisheye Lens", - "Glamor Shot", - "Golden Hour", - "HD", - "Lens Flare", - "Macro", - "Polaroid", - "Vintage", - "War Photography", - "White Balance", - "Wildlife Photography" - ] - ], - [ - "Color", - [ - "Beautiful Lighting", - "Colorful", - "Dynamic Lighting", - "Electric Colors", - "Infrared", - "Synthwave", - "Warm Color Palette" - ] - ], - [ - "Emotions", - [ - "Angry", - "Disgusted", - "Embarrassed", - "Evil", - "Excited", - "Fear", - "Happy", - "Lonely", - "Sad", - "Surprised" - ] - ], - [ - "Style of an artist or community", - [ - "Artstation", - "by Agnes Lawrence Pelton", - "by Akihito Yoshida", - "by Andy Warhol", - "by Artgerm", - "by Asaf Hanuka", - "by Aubrey Beardsley", - "by Banksy", - "by Ben Enwonwu", - "by Caravaggio Michelangelo Merisi", - "by David Mann", - "by Frida Kahlo", - "by H.R. Giger", - "by Hayao Miyazaki", - "by Ivan Shishkin", - "by Johannes Vermeer", - "by John William Waterhouse", - "by Katsushika Hokusai", - "by Ko Young Hoon", - "by Leonardo da Vinci", - "by Lisa Frank", - "by Mahmoud Saïd", - "by Mark Brooks", - "by Pablo Picasso", - "by Richard Dadd", - "by Salvador Dalí", - "by Tivadar Csontváry Kosztka", - "by Yoshitaka Amano", - "by wlop" - ] - ] -] diff --git a/ui/frontend/build_src/src/pages/Experimental/index.tsx b/ui/frontend/build_src/src/pages/Experimental/index.tsx deleted file mode 100644 index 9ca01644..00000000 --- a/ui/frontend/build_src/src/pages/Experimental/index.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import React from "react"; - -export default function Beta() { - return ( -
-

Beta

-
- ); -} diff --git a/ui/frontend/build_src/src/pages/Home/home.css.ts b/ui/frontend/build_src/src/pages/Home/home.css.ts deleted file mode 100644 index 60f9aead..00000000 --- a/ui/frontend/build_src/src/pages/Home/home.css.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; -import { vars } from "../../styles/theme/index.css"; - -export const AppLayout = style({ - position: "relative", - - width: "100vw", - height: "100vh", - pointerEvents: "auto", - display: "grid", - backgroundColor: vars.backgroundMain, - gridTemplateColumns: "400px 1fr", - gridTemplateRows: "70px 1fr 115px", - gridTemplateAreas: ` - "header header header" - "create display display" - "create display display" - `, - - - // "@media": { - // "screen and (max-width: 800px)": { - // gridTemplateColumns: "1fr", - // gridTemplateRows: "100px 300px 1fr", - // gridTemplateAreas: ` - // "header" - // "create" - // "display" - // `, - // }, - // }, -}); - -export const HeaderLayout = style({ - gridArea: "header", -}); - -export const CreateLayout = style({ - gridArea: "create", - position: "relative", - display: "flex", - flexDirection: "column", -}); - -export const DisplayLayout = style({ - gridArea: "display", - overflow: "auto", -}); - -export const FooterLayout = style({ - gridArea: "footer", - display: "flex", - justifyContent: "center", -}); diff --git a/ui/frontend/build_src/src/pages/Home/index.tsx b/ui/frontend/build_src/src/pages/Home/index.tsx deleted file mode 100644 index 811e832d..00000000 --- a/ui/frontend/build_src/src/pages/Home/index.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import React, { useEffect } from "react"; - -import { - AppLayout, - HeaderLayout, - CreateLayout, - DisplayLayout, - FooterLayout, -} from "./home.css"; - -import { useQuery } from "@tanstack/react-query"; -import { getSaveDirectory, loadModifications } from "../../api"; -import Mockifiers from "../../components/organisms/creationPanel/imageModifiers/modifiers.mock"; - -import { useImageCreate } from "../../stores/imageCreateStore"; - -// Todo - import components here -import HeaderDisplay from "../../components/organisms/headerDisplay"; -import BasicDisplay from "../../components/layouts/basicDisplay"; -import FooterDisplay from "../../components/organisms/footerDisplay"; -import CreationTabs from "../../components/layouts/creationTabs"; - -function Home() { - // Get the original save directory - const setRequestOption = useImageCreate((state) => state.setRequestOptions); - - const { status: statusSave, data: dataSave } = useQuery( - ["SaveDir"], - getSaveDirectory - ); - const { status: statusMods, data: dataMoads } = useQuery( - ["modifications"], - loadModifications - ); - - const setAllModifiers = useImageCreate((state) => state.setAllModifiers); - - useEffect(() => { - if (statusSave === "success") { - setRequestOption("save_to_disk_path", dataSave); - } - }, [setRequestOption, statusSave, dataSave]); - - useEffect(() => { - if (statusMods === "success") { - setAllModifiers(dataMoads); - } else if (statusMods === "error") { - // @ts-expect-error - setAllModifiers(Mockifiers); - } - }, [setRequestOption, statusMods, dataMoads]); - - return ( - <> -
-
- -
- -
- -
-
-
- -
- - ); -} - -export default Home; diff --git a/ui/frontend/build_src/src/pages/Settings/index.tsx b/ui/frontend/build_src/src/pages/Settings/index.tsx deleted file mode 100644 index 3d75c1ef..00000000 --- a/ui/frontend/build_src/src/pages/Settings/index.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import React from "react"; - -export default function Settings() { - return ( -
-

Settings

-
- ); -} diff --git a/ui/frontend/build_src/src/stores/imageCreateStore.ts b/ui/frontend/build_src/src/stores/imageCreateStore.ts deleted file mode 100644 index 6b31f55a..00000000 --- a/ui/frontend/build_src/src/stores/imageCreateStore.ts +++ /dev/null @@ -1,397 +0,0 @@ -/* eslint-disable @typescript-eslint/strict-boolean-expressions */ -import create from "zustand"; -import produce from "immer"; -import { devtools } from "zustand/middleware"; - -import { useRandomSeed } from "../utils"; - -import { ImageRequest } from "../api"; - -export interface ImageCreationUiOptions { - isUseRandomSeed: boolean; - isUseAutoSave: boolean; - isSoundEnabled: boolean; -} - -export const SAMPLER_OPTIONS = [ - 'plms', - 'ddim', - 'heun', - 'euler', - 'euler_a', - 'dpm2', - 'dpm2_a', - 'lms', -] as const; - -export interface ModifierPreview { - name: string; - path: string; -} - -export interface ModifierObject { - category?: string; - modifier: string; - previews: ModifierPreview[]; -} - -interface ModifiersList { - category: string; - modifiers: ModifierObject[]; -} - -type ModifiersOptionList = ModifiersList[]; - -export interface promptTag { - id: string; - name: string; - type: 'positive' | 'negative'; -} - -interface ImageCreateState { - parallelCount: number; - requestOptions: ImageRequest; - allModifiers: ModifiersOptionList; - - createTags: promptTag[]; - // negativeTags: promptTag[]; - - tagMap: Record; - isInpainting: boolean; - - setParallelCount: (count: number) => void; - setRequestOptions: (key: keyof ImageRequest, value: any) => void; - getValueForRequestKey: (key: keyof ImageRequest) => any; - setAllModifiers: (modifiers: ModifiersOptionList) => void; - - setModifierOptions: (key: string, value: any) => void; - toggleTag: (category: string, tag: string) => void; - hasTag: (category: string, tag: string) => boolean; - selectedTags: () => ModifierObject[]; - addCreateTag: (tag: promptTag) => void; - removeCreateTag: (id: string) => void; - changeCreateTagType: (id: string, type: 'positive' | 'negative') => void; - reorderCreateTag: (tag: promptTag, index: number) => void; - - builtRequest: () => ImageRequest; - - uiOptions: ImageCreationUiOptions; - toggleUseUpscaling: () => void; - // isUsingUpscaling: () => boolean - toggleUseFaceCorrection: () => void; - isUsingFaceCorrection: () => boolean; - isUsingUpscaling: () => boolean; - toggleUseRandomSeed: () => void; - isRandomSeed: () => boolean; - toggleUseAutoSave: () => void; - isUseAutoSave: () => boolean; - toggleSoundEnabled: () => void; - isSoundEnabled: () => boolean; - toggleInpainting: () => void; -} - -// devtools breaks TS -export const useImageCreate = create( - // @ts-expect-error - devtools((set, get) => ({ - parallelCount: 1, - - requestOptions: { - session_id: new Date().getTime().toString(), - prompt: "a photograph of an astronaut riding a horse", - negative_prompt: "", - seed: useRandomSeed(), - num_outputs: 1, - num_inference_steps: 50, - guidance_scale: 7.5, - width: 512, - height: 512, - prompt_strength: 0.8, - // allow_nsfw: false, - turbo: true, - use_cpu: false, - use_full_precision: true, - save_to_disk_path: "null", - use_face_correction: "GFPGANv1.3", - use_upscale: "RealESRGAN_x4plus", - show_only_filtered_image: true, - init_image: undefined, - sampler: "plms", - stream_progress_updates: true, - stream_image_progress: false, - mask: undefined, - }, - - // selected tags - createTags: [] as promptTag[], - // negativeTags: [] as promptTag[], - - // eslint-disable-next-line @typescript-eslint/consistent-type-assertions - tagMap: {} as Record, - - uiOptions: { - // TODO proper persistence of all UI / user settings centrally somewhere? - // localStorage.getItem('ui:advancedSettingsIsOpen') === 'true', - isUseRandomSeed: true, - isUseAutoSave: false, - isSoundEnabled: false, - }, - - allModifiers: [] as ModifiersOptionList, - - isInpainting: false, - - setParallelCount: (count: number) => - set( - produce((state) => { - state.parallelCount = count; - }) - ), - - setRequestOptions: (key: keyof ImageRequest, value: any) => { - set( - produce((state) => { - state.requestOptions[key] = value; - }) - ); - }, - - getValueForRequestKey: (key: keyof ImageRequest) => { - return get().requestOptions[key]; - }, - - setAllModifiers: (modifiers: ModifiersOptionList) => { - set( - produce((state) => { - state.allModifiers = modifiers; - }) - ); - }, - - toggleTag: (category: string, tag: string) => { - set( - produce((state) => { - - if (Object.keys(state.tagMap).includes(category)) { - if (state.tagMap[category].includes(tag)) { - state.tagMap[category] = state.tagMap[category].filter((t: string) => t !== tag); - } else { - state.tagMap[category].push(tag); - } - } else { - state.tagMap[category] = [tag]; - } - - }) - ); - }, - - hasTag: (category: string, tag: string) => { - return get().tagMap[category]?.includes(tag); - }, - - selectedTags: () => { - // get all the modifiers and all the tags - const allModifiers = get().allModifiers; - const selectedTags = get().tagMap; - let selected: ModifierObject[] = []; - - // for each mappped tag - for (const [category, tags] of Object.entries(selectedTags)) { - // find the modifier - const modifier = allModifiers.find((m) => m.category === category); - if (modifier) { - // for each tag in the modifier - for (const tag of tags) { - // find the tag - const tagObject = modifier.modifiers.find((m) => m.modifier === tag); - if (tagObject) { - // add the previews to the selected list - selected = selected.concat({ - ...tagObject, - category: modifier.category - }); - } - } - } - } - return selected; - }, - - addCreateTag: (tag: promptTag) => { - set( - produce((state) => { - state.createTags.push(tag); - }) - ); - }, - - removeCreateTag: (id: string) => { - set( - produce((state) => { - // @ts-expect-error - state.createTags = state.createTags.filter((t) => t.id !== id); - }) - - ); - }, - - changeCreateTagType: (id: string, type: 'positive' | 'negative') => { - set( - produce((state) => { - // @ts-expect-error - const tag = state.createTags.find((t) => t.id === id); - if (tag) { - tag.type = type; - } - }) - ); - }, - - - reorderCreateTag: (tag: promptTag, index: number) => { - set( - produce((state) => { - const tagIndex = state.createTags.indexOf(tag); - if (tagIndex !== -1) { - state.createTags.splice(tagIndex, 1); - state.createTags.splice(index, 0, tag); - } - }) - ); - }, - - // the request body to send to the server - // this is a computed value, just adding the tags to the request - builtRequest: () => { - const state = get(); - const requestOptions = state.requestOptions; - const selectedTags = get().selectedTags(); - const tags = selectedTags.map((t: ModifierObject) => t.modifier); - - const positivePrompt = state.createTags.filter((t) => t.type === "positive").map((t) => t.name).join(","); - const negativePrompt = state.createTags.filter((t) => t.type === "negative").map((t) => t.name).join(","); - - // join all the tags with a comma and add it to the prompt - // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - // const prompt = `${requestOptions.prompt}, ${tags.join(",")}`; - - const request = { - ...requestOptions, - prompt: positivePrompt, - negative_prompt: negativePrompt, - }; - // if we arent using auto save clear the save path - if (!state.uiOptions.isUseAutoSave) { - // maybe this is "None" ? - // TODO check this - request.save_to_disk_path = null; - } - - if (void 0 === request.init_image) { - request.prompt_strength = undefined; - } - - // a bit of a hack. figure out what a clean value to pass to the server is - // if we arent using upscaling clear the upscaling - if (request.use_upscale === "") { - request.use_upscale = null; - } - - // make sure you look above for the "null" value - // this patches over a a backend issue if you dont ask for a filtered image - // you get nothing back - - if ( - null === request.use_upscale && - null === request.use_face_correction - ) { - request.show_only_filtered_image = false; - } - return request; - }, - - toggleUseFaceCorrection: () => { - set( - produce((state) => { - const isSeting = - typeof state.getValueForRequestKey("use_face_correction") === - "string" - ? null - : "GFPGANv1.3"; - state.requestOptions.use_face_correction = isSeting; - }) - ); - }, - - isUsingFaceCorrection: () => { - const isUsing = - typeof get().getValueForRequestKey("use_face_correction") === "string"; - return isUsing; - }, - - isUsingUpscaling: () => { - const isUsing = get().getValueForRequestKey("use_upscale") !== ""; - return isUsing; - }, - - toggleUseRandomSeed: () => { - set( - produce((state: ImageCreateState) => { - state.uiOptions.isUseRandomSeed = !state.uiOptions.isUseRandomSeed; - state.requestOptions.seed = state.uiOptions.isUseRandomSeed - ? useRandomSeed() - : state.requestOptions.seed; - - // localStorage.setItem( - // "ui:isUseRandomSeed", - // state.uiOptions.isUseRandomSeed - // ); - }) - ); - }, - - isRandomSeed: () => { - return get().uiOptions.isUseRandomSeed; - }, - - toggleUseAutoSave: () => { - //isUseAutoSave - //save_to_disk_path - set( - produce((state: ImageCreateState) => { - state.uiOptions.isUseAutoSave = !state.uiOptions.isUseAutoSave; - - // localStorage.setItem( - // "ui:isUseAutoSave", - // state.uiOptions.isUseAutoSave - // ); - }) - ); - }, - - isUseAutoSave: () => { - return get().uiOptions.isUseAutoSave; - }, - - toggleSoundEnabled: () => { - set( - produce((state: ImageCreateState) => { - state.uiOptions.isSoundEnabled = !state.uiOptions.isSoundEnabled; - }) - ); - }, - - isSoundEnabled: () => { - return get().uiOptions.isSoundEnabled; - }, - - toggleInpainting: () => { - set( - produce((state: ImageCreateState) => { - state.isInpainting = !state.isInpainting; - }) - ); - }, - })) -); diff --git a/ui/frontend/build_src/src/stores/imageDisplayStore.ts b/ui/frontend/build_src/src/stores/imageDisplayStore.ts deleted file mode 100644 index 553ad2ee..00000000 --- a/ui/frontend/build_src/src/stores/imageDisplayStore.ts +++ /dev/null @@ -1,54 +0,0 @@ -import create from "zustand"; -import produce from "immer"; - -import { ImageRequest } from "../api"; - -export interface CompletedImagesType { - id?: string; - data: string | undefined; - info: ImageRequest; -} - -interface ImageDisplayState { - // imageOptions: Map; - images: CompletedImagesType[] - currentImage: CompletedImagesType | null - updateDisplay: (id: string, ImageData: string, imageOptions: any) => void; - setCurrentImage: (image: CompletedImagesType) => void; - clearDisplay: () => void; -} - -export const useImageDisplay = create((set, get) => ({ - imageMap: new Map(), - images: [], - currentImage: null, - // use produce to make sure we don't mutate state - // imageOptions: any - updateDisplay: (id: string, ImageData: string, imageOptions) => { - set( - produce((state) => { - state.currentImage = { id, display: ImageData, info: imageOptions }; - state.images.unshift({ id, data: ImageData, info: imageOptions }); - state.currentImage = state.images[0]; - }) - ); - }, - - setCurrentImage: (image) => { - set( - produce((state) => { - state.currentImage = image; - }) - ); - }, - - clearDisplay: () => { - set( - produce((state) => { - state.images = []; - state.currentImage = null; - }) - ); - } - -})); diff --git a/ui/frontend/build_src/src/stores/imageFetchingStore.ts b/ui/frontend/build_src/src/stores/imageFetchingStore.ts deleted file mode 100644 index 42391a31..00000000 --- a/ui/frontend/build_src/src/stores/imageFetchingStore.ts +++ /dev/null @@ -1,113 +0,0 @@ -import create from "zustand"; -import produce from "immer"; - -export const FetchingStates = { - IDLE: "IDLE", - FETCHING: "FETCHING", - PROGRESSING: "PROGRESSING", - SUCCEEDED: "SUCCEEDED", - COMPLETE: "COMPLETE", - ERROR: "ERROR", -} as const; - -interface ImageFetchingState { - status: typeof FetchingStates[keyof typeof FetchingStates]; - step: number; - totalSteps: number; - data: string; - progressImages: string[] - timeStarted: Date; - timeNow: Date; - appendData: (data: string) => void; - reset: () => void; - setStatus: (status: typeof FetchingStates[keyof typeof FetchingStates]) => void; - setStep: (step: number) => void; - setTotalSteps: (totalSteps: number) => void; - addProgressImage: (imageLink: string) => void; - setStartTime: () => void; - setNowTime: () => void; - resetForFetching: () => void; -} - -export const useImageFetching = create((set) => ({ - status: FetchingStates.IDLE, - step: 0, - totalSteps: 0, - data: '', - progressImages: [], - timeStarted: new Date(), - timeNow: new Date(), - // use produce to make sure we don't mutate state - appendData: (data: string) => { - set( - produce((state: ImageFetchingState) => { - // eslint-disable-next-line @typescript-eslint/restrict-plus-operands - state.data += data; - }) - ); - }, - reset: () => { - set( - produce((state: ImageFetchingState) => { - state.status = FetchingStates.IDLE; - state.step = 0; - state.totalSteps = 0; - state.data = ''; - }) - ); - }, - setStatus: (status: typeof FetchingStates[keyof typeof FetchingStates]) => { - set( - produce((state: ImageFetchingState) => { - state.status = status; - }) - ); - }, - setStep: (step: number) => { - set( - produce((state: ImageFetchingState) => { - state.step = step; - }) - ); - }, - setTotalSteps: (totalSteps: number) => { - set( - produce((state: ImageFetchingState) => { - state.totalSteps = totalSteps; - }) - ); - }, - addProgressImage: (imageLink: string) => { - set( - produce((state: ImageFetchingState) => { - state.progressImages.push(imageLink); - }) - ); - }, - setStartTime: () => { - set( - produce((state: ImageFetchingState) => { - state.timeStarted = new Date(); - }) - ); - }, - setNowTime: () => { - set( - produce((state: ImageFetchingState) => { - state.timeNow = new Date(); - }) - ); - }, - resetForFetching: () => { - set( - produce((state: ImageFetchingState) => { - state.status = FetchingStates.FETCHING; - state.progressImages = []; - state.step = 0; - state.totalSteps = 0; - state.timeNow = new Date(); - state.timeStarted = new Date(); - }) - ); - } -})); diff --git a/ui/frontend/build_src/src/stores/requestQueueStore.ts b/ui/frontend/build_src/src/stores/requestQueueStore.ts deleted file mode 100644 index d0dad899..00000000 --- a/ui/frontend/build_src/src/stores/requestQueueStore.ts +++ /dev/null @@ -1,160 +0,0 @@ -import create from "zustand"; -import produce from "immer"; - -import { ImageRequest } from "../api"; - -export enum QueueStatus { - pending = "pending", - processing = "processing", - complete = "complete", - paused = "paused", - error = "error", -} - -export interface QueuedRequest { - id: string; - options: ImageRequest; - status: QueueStatus[keyof QueueStatus]; - //"pending" | "processing" | "complete" | "error"; -} - -interface RequestQueueState { - requests: QueuedRequest[]; - addtoQueue: (id: string, imgRec: ImageRequest) => void; - pendingRequests: () => QueuedRequest[]; - hasPendingQueue: () => boolean; - hasAnyQueue: () => boolean; - firstInQueue: () => QueuedRequest; - updateStatus: (id: string, status: QueueStatus[keyof QueueStatus]) => void; - sendPendingToTop: (id: string) => void; - removeItem: (id: string) => void; - removeCompleted: () => void; - removeErrored: () => void; - clearQueue: () => void; - -} - -export const useRequestQueue = create((set, get) => ({ - requests: [], - // use produce to make sure we don't mutate state - addtoQueue: (id: string, imgRec: ImageRequest) => { - set( - produce((state) => { - const item: QueuedRequest = { id, options: imgRec, status: QueueStatus.pending }; - state.requests.push(item); - }) - ); - }, - - pendingRequests: () => { - return get().requests.filter((item) => item.status === QueueStatus.pending); - }, - - hasPendingQueue: () => { - return get().pendingRequests().length > 0; - }, - - hasAnyQueue: () => { - return get().requests.length > 0; - }, - - firstInQueue: () => { - const pending = get().pendingRequests()[0]; - - if (pending === undefined) { - // eslint-disable-next-line @typescript-eslint/consistent-type-assertions - const temp: QueuedRequest = { id: "", options: ({} as ImageRequest), status: QueueStatus.pending }; - return temp; - } - return pending; - }, - - updateStatus: (id: string, status: QueueStatus[keyof QueueStatus]) => { - set( - produce((state) => { - const item = state.requests.find((item: QueuedRequest) => item.id === id); - if (void 0 !== item) { - item.status = status; - } - }) - ); - }, - - sendPendingToTop: (id: string) => { - set( - produce((state) => { - const item = state.requests.find((item: QueuedRequest) => item.id === id); - - if (void 0 !== item) { - // remove from current position - const index = state.requests.indexOf(item); - state.requests.splice(index, 1); - - // find the first available stop and insert it there - for (let i = 0; i < state.requests.length; i++) { - const curStatus = state.requests[i].status; - - // skip over any items that are not pending or paused - if (curStatus === QueueStatus.processing) { - continue; - } - if (curStatus === QueueStatus.complete) { - continue; - } - if (curStatus === QueueStatus.error) { - continue; - } - - // insert infront of any pending or paused items - state.requests.splice(i, 0, item); - break; - } - } - }) - ); - }, - - removeItem: (id: string) => { - set( - produce((state) => { - const index = state.requests.findIndex((item: QueuedRequest) => item.id === id); - if (index > -1) { - state.requests.splice(index, 1); - } - }) - ); - }, - - removeCompleted: () => { - set( - produce((state) => { - const completed = state.requests.filter((item: QueuedRequest) => item.status === QueueStatus.complete); - completed.forEach((item: QueuedRequest) => { - const index = state.requests.indexOf(item); - state.requests.splice(index, 1); - }); - }) - ); - }, - - removeErrored: () => { - set( - produce((state) => { - const errored = state.requests.filter((item: QueuedRequest) => item.status === QueueStatus.error); - errored.forEach((item: QueuedRequest) => { - const index = state.requests.indexOf(item); - state.requests.splice(index, 1); - }); - }) - ); - }, - - - clearQueue: () => { - set( - produce((state) => { - state.requests = []; - }) - ); - }, -})); diff --git a/ui/frontend/build_src/src/styles/index.css.ts b/ui/frontend/build_src/src/styles/index.css.ts deleted file mode 100644 index 68914de2..00000000 --- a/ui/frontend/build_src/src/styles/index.css.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { globalStyle } from "@vanilla-extract/css"; -import { vars } from "./theme/index.css"; - -// baisc body style -globalStyle("body", { - margin: 0, - minWidth: "320px", - minHeight: "100vh", -}); - - - - - -// single page style -globalStyle("#root", { - position: "absolute", - top: 0, - left: 0, - width: "100vw", - height: "100vh", - overflow: 'auto', - overflowX: 'hidden', - // "::-webkit-scrollbar": { - // width: "0", - // }, -}); - -// border box all -globalStyle(`*`, { - boxSizing: "border-box", -}); - -globalStyle(`button`, { - fontSize: vars.fonts.sizes.Body, -}); - -globalStyle(`.visually-hidden`, { - visibility: "hidden", - position: "absolute", -}); - -/** RESETS */ -globalStyle(`h1, h2, h3, h4, h5, h6, p, label, ul, textarea`, { - margin: 0, - padding: 0, - fontFamily: vars.fonts.body, -}); - -globalStyle(`h3`, { - fontSize: vars.fonts.sizes.Subheadline, -}); - -globalStyle(`h4, h5`, { - fontSize: vars.fonts.sizes.SubSubheadline, -}); - -globalStyle(`h6`, { - fontSize: vars.fonts.sizes.Body, -}); - -globalStyle(`p, label`, { - fontSize: vars.fonts.sizes.Body, -}); - -globalStyle(`textarea`, { - padding: 0, - border: "none", - fontSize: vars.fonts.sizes.Body, - fontWeight: "bold", -}); - -globalStyle(`a`, { - color: vars.colors.link, - textDecoration: "none", -}); - -globalStyle(`ul`, { - listStyle: "none", -}); \ No newline at end of file diff --git a/ui/frontend/build_src/src/styles/shared.css.ts b/ui/frontend/build_src/src/styles/shared.css.ts deleted file mode 100644 index 5fcfe51b..00000000 --- a/ui/frontend/build_src/src/styles/shared.css.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { style, globalStyle } from "@vanilla-extract/css"; -import { vars } from "./theme/index.css"; - - -//TODO this should probably just be for all li elements -export const SettingItem = style({ - marginBottom: vars.spacing.medium, - selectors: { - "&:last-of-type": { - marginBottom: vars.spacing.none, - }, - }, -}); - - -export const IconFont = style({ - // reliant on font-awesome cdn - fontFamily: "Font Awesome 6 Free" -}); - - -export const XButton = style({ - position: "absolute", - transform: "translateX(-50%) translateY(-35%)", - background: "black", - color: "white", - border: "2pt solid #ccc", - padding: "0", - cursor: "pointer", - outline: "inherit", - borderRadius: "8pt", - width: "16pt", - height: "16pt", - fontFamily: "Verdana", - fontSize: "8pt", -}); - - - -export const MenuButton = style({ - display: "block", - width: "100%", - textAlign: "left", - backgroundColor: "transparent", - color: vars.colors.text.normal, - border: "0 none", - cursor: "pointer", - padding: "0", - marginBottom: vars.spacing.medium, -}); - -globalStyle(`${MenuButton}> h4`, { - color: "#e7ba71", -}); - diff --git a/ui/frontend/build_src/src/styles/theme/index.css.ts b/ui/frontend/build_src/src/styles/theme/index.css.ts deleted file mode 100644 index faceb83d..00000000 --- a/ui/frontend/build_src/src/styles/theme/index.css.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { - createGlobalTheme, - createThemeContract, - createTheme, -} from "@vanilla-extract/css"; - -const app = createGlobalTheme(":root", { - spacing: { - none: "0", - min: "2px", - small: "5px", - medium: "10px", - large: "25px", - }, - - trim: { - smallBorderRadius: "5px", - }, - - fonts: { - body: "Arial, Helvetica, sans-serif;", - // IconFont is a shared class for now - sizes: { - Title: "2em", - Headline: "1.5em", - Subheadline: "1.20em", - SubSubheadline: "1.1em", - Body: "1em", - Plain: "0.8em", - Caption: ".75em", - Overline: ".5em", - }, - }, - // colors, - - // 60 degree color difference - // step downs - brandHue: '265', // purple - secondaryHue: '225', // deep blue - tertiaryHue: '145', // grass green - - // step ups - errorHue: '0', - warningHue: '25', // orange - successHue: '85', // green - - colorMod: { - saturation: { - bright: "100%", - normal: "60%", - dimmed: "50%", - dim: "30%", - }, - lightness: { - normal: "45%", - bright: "60%", - dim: "40%", - }, - }, - - // is the secondary hue - backgroundMain: 'hsl(225, 6%, 13%)', - backgroundLight: 'hsl(225, 4%, 18%)', - backgroundDark: 'hsl(225, 3%, 7%)', - backgroundAccentMain: 'hsl(225, 6%, 30%)', - - backgroundAccentHue: '225', - backgroundAccentSaturation: '26%', - backgroundAccentLightness: '70%', - - // this is depricated - colors: { - text: { - normal: "#ffffff", // white - dimmed: "#d1d5db", // off white - - secondary: "#ffffff", // white - secondaryDimmed: "#d1d5db", // off white - - accent: "#e7ba71", // orange - accentDimmed: "#7d6641", // muted orange - }, - link: "#0066cc", // blue - } -}); - -export const vars = { ...app }; diff --git a/ui/frontend/build_src/src/utils.ts b/ui/frontend/build_src/src/utils.ts deleted file mode 100644 index dbe52aad..00000000 --- a/ui/frontend/build_src/src/utils.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function useRandomSeed() { - return Math.floor(Math.random() * 10000); -} diff --git a/ui/frontend/build_src/src/vite-env.d.ts b/ui/frontend/build_src/src/vite-env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/ui/frontend/build_src/src/vite-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/ui/frontend/build_src/tsconfig.json b/ui/frontend/build_src/tsconfig.json deleted file mode 100644 index 898ec466..00000000 --- a/ui/frontend/build_src/tsconfig.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": "./", - "paths": { - "@stores": ["src/stores"] - }, - - "target": "ESNext", - "useDefineForClassFields": true, - "lib": ["DOM", "DOM.Iterable", "ESNext"], - "allowJs": false, - "skipLibCheck": true, - "esModuleInterop": false, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "module": "ESNext", - "moduleResolution": "Node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx" - }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] -} diff --git a/ui/frontend/build_src/tsconfig.node.json b/ui/frontend/build_src/tsconfig.node.json deleted file mode 100644 index 9d31e2ae..00000000 --- a/ui/frontend/build_src/tsconfig.node.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Node", - "allowSyntheticDefaultImports": true - }, - "include": ["vite.config.ts"] -} diff --git a/ui/frontend/build_src/vite.config.ts b/ui/frontend/build_src/vite.config.ts deleted file mode 100644 index 5a2f2842..00000000 --- a/ui/frontend/build_src/vite.config.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { defineConfig } from "vite"; -import eslint from "vite-plugin-eslint"; -import react from "@vitejs/plugin-react"; -import { vanillaExtractPlugin } from "@vanilla-extract/vite-plugin"; - -import path from "path"; -// https://vitejs.dev/config/ -export default defineConfig({ - resolve: { - alias: { - // TODO figure out why vs code complains about this even though it works - "@stores": path.resolve(__dirname, "./src/stores"), - // TODO - add more aliases - }, - }, - - plugins: [ - eslint(), - react(), - vanillaExtractPlugin({ - // configuration - }), - ], - - server: { - port: 9001, - }, - - build: { - // make sure everythign is in the same directory - outDir: "../dist", - rollupOptions: { - output: { - // dont hash the file names - // maybe once we update the python server? - entryFileNames: `[name].js`, - chunkFileNames: `[name].js`, - assetFileNames: `[name].[ext]`, - }, - }, - }, -}); diff --git a/ui/frontend/build_src/vite.config.ts.timestamp-1664475745198.mjs b/ui/frontend/build_src/vite.config.ts.timestamp-1664475745198.mjs deleted file mode 100644 index 6232ef47..00000000 --- a/ui/frontend/build_src/vite.config.ts.timestamp-1664475745198.mjs +++ /dev/null @@ -1,36 +0,0 @@ -// vite.config.ts -import { defineConfig } from "vite"; -import eslint from "vite-plugin-eslint"; -import react from "@vitejs/plugin-react"; -import { vanillaExtractPlugin } from "@vanilla-extract/vite-plugin"; -import path from "path"; -var __vite_injected_original_dirname = "C:\\Users\\KC\\stable-diffusion-ui-react\\ui\\frontend\\build_src"; -var vite_config_default = defineConfig({ - resolve: { - alias: { - "@stores": path.resolve(__vite_injected_original_dirname, "./src/stores") - } - }, - plugins: [ - eslint(), - react(), - vanillaExtractPlugin({}) - ], - server: { - port: 9001 - }, - build: { - outDir: "../dist", - rollupOptions: { - output: { - entryFileNames: `[name].js`, - chunkFileNames: `[name].js`, - assetFileNames: `[name].[ext]` - } - } - } -}); -export { - vite_config_default as default -}; -//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxLQ1xcXFxzdGFibGUtZGlmZnVzaW9uLXVpLXJlYWN0XFxcXHVpXFxcXGZyb250ZW5kXFxcXGJ1aWxkX3NyY1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcS0NcXFxcc3RhYmxlLWRpZmZ1c2lvbi11aS1yZWFjdFxcXFx1aVxcXFxmcm9udGVuZFxcXFxidWlsZF9zcmNcXFxcdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0M6L1VzZXJzL0tDL3N0YWJsZS1kaWZmdXNpb24tdWktcmVhY3QvdWkvZnJvbnRlbmQvYnVpbGRfc3JjL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCBlc2xpbnQgZnJvbSBcInZpdGUtcGx1Z2luLWVzbGludFwiO1xuaW1wb3J0IHJlYWN0IGZyb20gXCJAdml0ZWpzL3BsdWdpbi1yZWFjdFwiO1xuaW1wb3J0IHsgdmFuaWxsYUV4dHJhY3RQbHVnaW4gfSBmcm9tIFwiQHZhbmlsbGEtZXh0cmFjdC92aXRlLXBsdWdpblwiO1xuXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XG4gIHJlc29sdmU6IHtcbiAgICBhbGlhczoge1xuICAgICAgLy8gVE9ETyBmaWd1cmUgb3V0IHdoeSB2cyBjb2RlIGNvbXBsYWlucyBhYm91dCB0aGlzIGV2ZW4gdGhvdWdoIGl0IHdvcmtzXG4gICAgICBcIkBzdG9yZXNcIjogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCIuL3NyYy9zdG9yZXNcIiksXG4gICAgICAvLyBUT0RPIC0gYWRkIG1vcmUgYWxpYXNlc1xuICAgIH0sXG4gIH0sXG5cbiAgcGx1Z2luczogW1xuICAgIGVzbGludCgpLFxuICAgIHJlYWN0KCksXG4gICAgdmFuaWxsYUV4dHJhY3RQbHVnaW4oe1xuICAgICAgLy8gY29uZmlndXJhdGlvblxuICAgIH0pLFxuICBdLFxuXG4gIHNlcnZlcjoge1xuICAgIHBvcnQ6IDkwMDEsXG4gIH0sXG5cbiAgYnVpbGQ6IHtcbiAgICAvLyBtYWtlIHN1cmUgZXZlcnl0aGlnbiBpcyBpbiB0aGUgc2FtZSBkaXJlY3RvcnlcbiAgICBvdXREaXI6IFwiLi4vZGlzdFwiLFxuICAgIHJvbGx1cE9wdGlvbnM6IHtcbiAgICAgIG91dHB1dDoge1xuICAgICAgICAvLyBkb250IGhhc2ggdGhlIGZpbGUgbmFtZXNcbiAgICAgICAgLy8gbWF5YmUgb25jZSB3ZSB1cGRhdGUgdGhlIHB5dGhvbiBzZXJ2ZXI/XG4gICAgICAgIGVudHJ5RmlsZU5hbWVzOiBgW25hbWVdLmpzYCxcbiAgICAgICAgY2h1bmtGaWxlTmFtZXM6IGBbbmFtZV0uanNgLFxuICAgICAgICBhc3NldEZpbGVOYW1lczogYFtuYW1lXS5bZXh0XWAsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG59KTtcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBaVgsU0FBUyxvQkFBb0I7QUFDOVksT0FBTyxZQUFZO0FBQ25CLE9BQU8sV0FBVztBQUNsQixTQUFTLDRCQUE0QjtBQUVyQyxPQUFPLFVBQVU7QUFMakIsSUFBTSxtQ0FBbUM7QUFPekMsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDMUIsU0FBUztBQUFBLElBQ1AsT0FBTztBQUFBLE1BRUwsV0FBVyxLQUFLLFFBQVEsa0NBQVcsY0FBYztBQUFBLElBRW5EO0FBQUEsRUFDRjtBQUFBLEVBRUEsU0FBUztBQUFBLElBQ1AsT0FBTztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04scUJBQXFCLENBRXJCLENBQUM7QUFBQSxFQUNIO0FBQUEsRUFFQSxRQUFRO0FBQUEsSUFDTixNQUFNO0FBQUEsRUFDUjtBQUFBLEVBRUEsT0FBTztBQUFBLElBRUwsUUFBUTtBQUFBLElBQ1IsZUFBZTtBQUFBLE1BQ2IsUUFBUTtBQUFBLFFBR04sZ0JBQWdCO0FBQUEsUUFDaEIsZ0JBQWdCO0FBQUEsUUFDaEIsZ0JBQWdCO0FBQUEsTUFDbEI7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg== diff --git a/ui/frontend/dist/index.css b/ui/frontend/dist/index.css deleted file mode 100644 index b2f7c486..00000000 --- a/ui/frontend/dist/index.css +++ /dev/null @@ -1 +0,0 @@ -:root{--_4vfmtj0: 0;--_4vfmtj1: 2px;--_4vfmtj2: 5px;--_4vfmtj3: 10px;--_4vfmtj4: 25px;--_4vfmtj5: 5px;--_4vfmtj6: Arial, Helvetica, sans-serif;--_4vfmtj7: 2em;--_4vfmtj8: 1.5em;--_4vfmtj9: 1.2em;--_4vfmtja: 1.1em;--_4vfmtjb: 1em;--_4vfmtjc: .8em;--_4vfmtjd: .75em;--_4vfmtje: .5em;--_4vfmtjf: 265;--_4vfmtjg: 225;--_4vfmtjh: 145;--_4vfmtji: 0;--_4vfmtjj: 25;--_4vfmtjk: 85;--_4vfmtjl: 100%;--_4vfmtjm: 60%;--_4vfmtjn: 50%;--_4vfmtjo: 30%;--_4vfmtjp: 45%;--_4vfmtjq: 60%;--_4vfmtjr: 40%;--_4vfmtjs: hsl(225, 6%, 13%);--_4vfmtjt: hsl(225, 4%, 18%);--_4vfmtju: hsl(225, 3%, 7%);--_4vfmtjv: hsl(225, 6%, 30%);--_4vfmtjw: 225;--_4vfmtjx: 26%;--_4vfmtjy: 70%;--_4vfmtjz: #ffffff;--_4vfmtj10: #d1d5db;--_4vfmtj11: #ffffff;--_4vfmtj12: #d1d5db;--_4vfmtj13: #e7ba71;--_4vfmtj14: #7d6641;--_4vfmtj15: #0066cc}._1qevocv0{position:relative;width:100vw;height:100vh;pointer-events:auto;display:grid;background-color:var(--_4vfmtjs);grid-template-columns:400px 1fr;grid-template-rows:70px 1fr 115px;grid-template-areas:"header header header" "create display display" "create display display"}._1qevocv1{grid-area:header}._1qevocv2{grid-area:create;position:relative;display:flex;flex-direction:column}._1qevocv3{grid-area:display;overflow:auto}._1qevocv4{grid-area:footer;display:flex;justify-content:center}._1jo75h0{color:hsl(var(--_4vfmtjj),var(--_4vfmtjm),var(--_4vfmtjp))}._1jo75h1{color:hsl(var(--_4vfmtji),var(--_4vfmtjm),var(--_4vfmtjp))}._1jo75h2{color:hsl(var(--_4vfmtjk),var(--_4vfmtjm),var(--_4vfmtjp))}._1g1xsdd0{color:var(--_4vfmtjz);padding:var(--_4vfmtj3)}._1g1xsdd1{background:var(--_4vfmtjs)}._1g1xsdd2{background:var(--_4vfmtjt)}._1g1xsdd3{background:var(--_4vfmtju)}._1g1xsdd4{border-radius:var(--_4vfmtj5)}._1g1xsdd5{background:var(--_4vfmtju);border:1px solid var(--_4vfmtjv)}._1g1xsdd6,._1g1xsdd7,._1g1xsdd8{box-shadow:0 4px 8px #00000026,0 6px 20px #00000026}._1m2mgvr0{position:relative}._1m2mgvr1{background-color:transparent;border:0 none;cursor:pointer;padding:var(--_4vfmtj0);font-size:var(--_4vfmtj9)}._1m2mgvr1>i{margin-right:var(--_4vfmtj2)}._1m2mgvr2{position:absolute;top:100%;right:0;z-index:1}._1961rof0{margin-bottom:var(--_4vfmtj3)}._1961rof0:last-of-type{margin-bottom:var(--_4vfmtj0)}._1961rof1{font-family:Font Awesome 6 Free}._1961rof2{position:absolute;transform:translate(-50%) translateY(-35%);background:black;color:#fff;border:2pt solid #ccc;padding:0;cursor:pointer;outline:inherit;border-radius:8pt;width:16pt;height:16pt;font-family:Verdana;font-size:8pt}._1961rof3{display:block;width:100%;text-align:left;background-color:transparent;color:var(--_4vfmtjz);border:0 none;cursor:pointer;padding:0;margin-bottom:var(--_4vfmtj3)}._1961rof3>h4{color:#e7ba71}._1d4r83s0{width:300px}.cg4q680{width:480px}._1v2cc580{color:var(--_4vfmtjz);display:flex;justify-content:space-between}._1v2cc580>h1{font-size:var(--_4vfmtj7);font-weight:700;margin-right:var(--_4vfmtj3)}._1v2cc581{margin-left:var(--_4vfmtj4)}._1v2cc582{display:flex;align-items:center;flex-grow:1;justify-content:space-between;max-width:300px;margin-right:var(--_4vfmtj4)}._1xhk59i0{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;padding:0}._1yvg52n0{position:relative}._1yvg52n0 img{width:100%;height:100%;object-fit:contain}._1swsr2r0{height:100%;width:100%;display:flex;flex-direction:column}._1swsr2r1{height:100%;width:80%;display:flex;justify-content:center}._1swsr2r2{width:100%;max-width:1000px;position:relative}._1swsr2r3{display:flex;flex-direction:column}._1swsr2r3>div{margin-bottom:var(--_4vfmtj3)}._1swsr2r3 p{margin-bottom:var(--_4vfmtj2)}._1swsr2r3 button{margin-right:var(--_4vfmtj3)}._1wzejc90{font-size:var(--_4vfmtj9);font-weight:700;color:var(--_4vfmtjz);padding:var(--_4vfmtj2);border:0;border-radius:var(--_4vfmtj5)}._1wzejc91{--button-hue: var(--_4vfmtjf);--button-base-saturation: var(--_4vfmtjm);--button-base-lightness: var(--_4vfmtjp)}._1wzejc92{--button-hue: var(--_4vfmtjg);--button-base-saturation: var(--_4vfmtjm);--button-base-lightness: var(--_4vfmtjp)}._1wzejc93{--button-hue: var(--_4vfmtjh);--button-base-saturation: var(--_4vfmtjm);--button-base-lightness: var(--_4vfmtjp)}._1wzejc94{--button-hue: var(--_4vfmtji);--button-base-saturation: var(--_4vfmtjm);--button-base-lightness: var(--_4vfmtjp)}._1wzejc95{--button-hue: var(--_4vfmtjw);--button-base-saturation: var(--_4vfmtjx);--button-base-lightness: var(--_4vfmtjy)}._1wzejc96{background-color:transparent}._1wzejc97{background-color:hsl(var(--button-hue),var(--button-base-saturation),var(--_4vfmtjp));border:1px solid hsl(var(--button-hue),var(--button-base-saturation),var(--_4vfmtjp))}._1wzejc97:hover{background-color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjp));border:1px solid hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjp))}._1wzejc97:active{background-color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr));border:1px solid hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr))}._1wzejc97:focus{background-color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr));border:1px solid hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr))}._1wzejc97:disabled{background-color:hsl(var(--button-hue),var(--_4vfmtjo),var(--_4vfmtjr));border:1px solid hsl(var(--button-hue),var(--_4vfmtjo),var(--_4vfmtjr))}._1wzejc98{background-color:transparent;border:1px solid hsl(var(--button-hue),var(--button-base-saturation),var(--_4vfmtjp))}._1wzejc98:hover{border-color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjp))}._1wzejc98:active{border-color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr))}._1wzejc98:focus{border-color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr))}._1wzejc98:disabled{border-color:hsl(var(--button-hue),var(--_4vfmtjo),var(--_4vfmtjr))}._1wzejc99{background-color:transparent;color:hsl(var(--button-hue),var(--button-base-saturation),var(--_4vfmtjp));text-decoration:underline}._1wzejc99:hover{color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjp))}._1wzejc99:active{color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr))}._1wzejc99:focus{color:hsl(var(--button-hue),var(--_4vfmtjl),var(--_4vfmtjr))}._1wzejc99:disabled{color:hsl(var(--button-hue),var(--_4vfmtjo),var(--_4vfmtjr))}._1wzejc9a{padding:var(--_4vfmtj1);font-size:var(--_4vfmtjd)}._1wzejc9b{width:100%;font-size:var(--_4vfmtj8)}._1ma99900{position:relative}._1ma99901{height:250px;width:100%;display:flex;padding:var(--_4vfmtj3);border-radius:0}._1ma99902{display:flex;flex-direction:row;flex-wrap:nowrap;height:100%;width:100%;overflow:auto;padding-left:var(--_4vfmtj0)}._1ma99901 li{position:relative}._1ma99901>li:first-of-type{margin-left:var(--_4vfmtj3)}._1ma99901>li:last-of-type{margin-right:0}._1ma99903{width:206px;background-color:#000;display:flex;justify-content:center;align-items:center;flex-shrink:0;border:0 none;padding:0;margin-left:var(--_4vfmtj3);cursor:pointer}._1ma99903 img{width:100%;object-fit:contain}.ejmsqv0{background:var(--_4vfmtjs);color:var(--_4vfmtjz);padding:var(--_4vfmtj2);border-radius:var(--_4vfmtj5) var(--_4vfmtj5) 0 0;border:1px solid var(--_4vfmtjt);border-bottom:none;margin-left:var(--_4vfmtj2);box-shadow:0 -1px 4px -2px var(--_4vfmtjv) inset;width:fit-content}.ejmsqv0:focus{outline:none}.ejmsqv1{background:var(--_4vfmtjt);color:var(--_4vfmtjz);box-shadow:0 -1px 4px -2px var(--_4vfmtju) inset}.ejmsqv2{color:var(--_4vfmtjz);background:var(--_4vfmtjt);padding:var(--_4vfmtj3);flex-grow:1;overflow:auto}.ejmsqv3{background:var(--_4vfmtjs)}.ejmsqv4{background:var(--_4vfmtjt)}.ejmsqv5{background:var(--_4vfmtju)}._3dzc6s0{width:100%;height:100%;display:grid;grid-template-columns:1fr 250px;grid-template-rows:1fr 250px;grid-template-areas:"content info" "history history";overflow:hidden}._3dzc6s0[data-hide-info]{grid-template-columns:1fr;grid-template-rows:1fr 250px}._3dzc6s0[data-hide-history]{grid-template-columns:1fr 250px;grid-template-rows:1fr 0px}._3dzc6s0[data-hide-info][data-hide-history]{grid-template-columns:1fr 0px;grid-template-rows:1fr 0px}._3dzc6s1{grid-area:content}._3dzc6s2{grid-area:info;position:relative}._3dzc6s3{grid-area:history;position:relative}._3dzc6s3>button{position:absolute;top:-29px}._3dzc6s4{flex-grow:1;overflow:auto;display:flex}._3dzc6s5{width:250px;height:100%;background-color:#639;position:relative}._3dzc6s6{position:absolute;top:0;left:0;transform-origin:37% 275%;transform:rotate(-90deg)}._97t2g70{color:var(--_4vfmtjz);font-size:var(--_4vfmtjd);display:inline-block;padding:var(--_4vfmtj2);box-shadow:0 4px 8px #00000026,0 6px 20px #00000026}._97t2g71{height:23px;transform:translateY(25%)}._97t2g70 a{color:var(--_4vfmtj15);text-decoration:none}._97t2g70 a:hover{text-decoration:underline}._97t2g70 a:visited,._97t2g70 a:active{color:var(--_4vfmtj15)}._97t2g70 a:focus{color:var(--_4vfmtj15)}._97t2g70 p{margin:var(--_4vfmtj1)}._1how28i0{position:relative;width:100%}._1how28i0>*{margin-bottom:10px}._1ilavkl0{position:relative;width:fit-content;background-color:hsl(var(--_4vfmtjt),var(--_4vfmtjm),var(--_4vfmtjp));padding:var(--_4vfmtj2)}._1ilavkl1{opacity:1;font-size:var(--_4vfmtjc)}._1ilavkl2{opacity:.3;font-size:var(--_4vfmtjc)}._1ilavkl0.positive{border-color:hsl(var(--_4vfmtjf),var(--_4vfmtjm),var(--_4vfmtjp))}._1ilavkl0.negative{border-color:hsl(var(--_4vfmtji),var(--_4vfmtjm),var(--_4vfmtjp))}._1ilavkl3{position:absolute;top:0;right:0;height:100%;width:100%;border:none;background-color:transparent;box-shadow:inset 0 0 24px #ffffff7f}._1ilavkl4{top:-4px;left:4px;padding:0}.d1va400{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;width:100%;height:100%;overflow:visible;scrollbar-width:none;-ms-overflow-style:none}.d1va400::-webkit-scrollbar{display:none}._9fxd10{display:flex;flex-direction:column;width:100%;height:100%;margin-bottom:0}._9fxd10 input{width:100%}._9fxd10>div{margin-bottom:var(--_4vfmtj2)}._9fxd12{background:var(--_4vfmtju);height:22px;border-radius:15px;width:34px;border:0;position:relative;display:inline-flex;padding:0;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 2px 0 var(--_4vfmtju)}._9fxd12[data-headlessui-state=checked]{background:var(--_4vfmtjt)}._9fxd15{display:inline-flex;height:18px;width:30px;border-radius:15px;background:var(--_4vfmtju);flex-direction:column;align-items:center;justify-content:center}._9fxd12[data-headlessui-state=checked] ._9fxd15{background:var(--_4vfmtjv)}._9fxd15 p{color:var(--_4vfmtjz)}._9fxd16{margin-top:var(--_4vfmtj2);display:flex;flex-direction:row}._9fxd16>button{flex-grow:1;margin-right:var(--_4vfmtj3)}._1rn4m8a0{display:flex}._1rn4m8a1{margin-bottom:var(--_4vfmtj2);display:block}._1rn4m8a2{display:none}._1rn4m8a3{margin-left:20px}._11d5x3d0{padding-left:0;list-style-type:none}._11d5x3d1{margin-top:var(--_4vfmtj2)}.g3uahc0{padding-left:0;list-style-type:none}.g3uahc0 li,.g3uahc1{margin-top:var(--_4vfmtj3)}.g3uahc1 h4{font-size:var(--_4vfmtjc)}.g3uahc2{padding-left:0;list-style-type:none;display:flex;flex-wrap:wrap;gap:var(--_4vfmtj2)}.g3uahc2 li{margin:0}._1uf7s3f0{position:relative;width:fit-content;border-color:hsl(var(--_4vfmtjf),var(--_4vfmtjm),var(--_4vfmtjp));padding:var(--_4vfmtj2)}._1uf7s3f0.selected{background-color:#830b79}._1uf7s3f0 p{margin:0 0 2px;text-align:center}._1uf7s3f1{opacity:1}._1uf7s3f2{opacity:.3}._1uf7s3f3{position:absolute;top:0;left:0;height:100%;width:100%;display:flex;flex-direction:row}._1uf7s3f3 button{flex-grow:1;background-color:transparent;border:none;box-shadow:inset 0 0 24px #ffffff7f;border-radius:5px;padding:0}._1uf7s3f4{display:flex;justify-content:center}._1uf7s3f4 img{width:90px;height:100%;object-fit:cover;object-position:center}.fma0ug0{position:relative}.fma0ug0>canvas{position:absolute;top:0;left:0;width:100%;height:100%}.fma0ug0>canvas:first-of-type{opacity:.7}.fma0ug0>img{top:0;left:0}._2yyo4x0{position:relative;width:100%;height:100%;padding:10px}._2yyo4x1{display:flex;flex-direction:row;width:100%;flex-wrap:wrap}._2yyo4x2{display:flex;flex-direction:row;justify-content:space-evenly;align-items:center;width:100%}._2yyo4x2:first-of-type{margin:10px 0}.jx6k9z0{position:relative;width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.jx6k9z0>div{margin-bottom:var(--_4vfmtj3)}.jx6k9z1{position:absolute;top:10px;left:400px;z-index:1;background-color:#00000080}._1jtagr80{display:flex;flex-direction:column;width:100%;height:100%}._1jtagr81{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:var(--_4vfmtj3);margin-top:var(--_4vfmtj3)}._1jtagr81 button{flex-grow:1}._1jtagr81 button:first-child{margin-right:var(--_4vfmtj3)}._133914l0{display:flex;flex-direction:column;width:100%;margin-bottom:var(--_4vfmtj3)}._133914l1 p{margin-bottom:var(--_4vfmtj2)}._133914l0.complete{border-color:hsl(var(--_4vfmtjg),var(--_4vfmtjm),var(--_4vfmtjp))}._133914l0.processing{border-color:hsl(var(--_4vfmtjh),var(--_4vfmtjl),var(--_4vfmtjq))}._133914l0.pending{border-color:hsl(var(--_4vfmtjv),var(--_4vfmtjl),var(--_4vfmtjp))}._133914l0.paused{border-color:hsl(var(--_4vfmtjv),var(--_4vfmtjo),var(--_4vfmtjr));background-color:hsl(var(--_4vfmtjv),var(--_4vfmtjo),var(--_4vfmtjr))}._133914l0.error{border-color:hsl(var(--_4vfmtji),var(--_4vfmtjm),var(--_4vfmtjp))}._133914l2{display:flex;flex-direction:row;justify-content:space-between;align-items:center}._1j91ti00{direction:rtl;overflow:overlay}._1j91ti00::-webkit-scrollbar{position:absolute;width:6px;background-color:var(--_4vfmtjv)}._1j91ti00::-webkit-scrollbar-thumb{background-color:var(--_4vfmtju);border-radius:4px}._1j91ti00>*{direction:ltr}body{margin:0;min-width:320px;min-height:100vh}#root{position:absolute;top:0;left:0;width:100vw;height:100vh;overflow:auto;overflow-x:hidden}*{box-sizing:border-box}button{font-size:var(--_4vfmtjb)}.visually-hidden{visibility:hidden;position:absolute}h1,h2,h3,h4,h5,h6,p,label,ul,textarea{margin:0;padding:0;font-family:var(--_4vfmtj6)}h3{font-size:var(--_4vfmtj9)}h4,h5{font-size:var(--_4vfmtja)}h6,p,label{font-size:var(--_4vfmtjb)}textarea{padding:0;border:none;font-size:var(--_4vfmtjb);font-weight:700}a{color:var(--_4vfmtj15);text-decoration:none}ul{list-style:none} diff --git a/ui/frontend/dist/index.html b/ui/frontend/dist/index.html deleted file mode 100644 index e9600505..00000000 --- a/ui/frontend/dist/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - Stable Diffusion UI - - - - - -
- - - diff --git a/ui/frontend/dist/index.js b/ui/frontend/dist/index.js deleted file mode 100644 index 68b3c9b3..00000000 --- a/ui/frontend/dist/index.js +++ /dev/null @@ -1,113 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerpolicy&&(o.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?o.credentials="include":i.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();function wd(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var P={exports:{}},$={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var ki=Symbol.for("react.element"),Ig=Symbol.for("react.portal"),Lg=Symbol.for("react.fragment"),Dg=Symbol.for("react.strict_mode"),Fg=Symbol.for("react.profiler"),Mg=Symbol.for("react.provider"),jg=Symbol.for("react.context"),Ag=Symbol.for("react.forward_ref"),$g=Symbol.for("react.suspense"),Ug=Symbol.for("react.memo"),zg=Symbol.for("react.lazy"),tc=Symbol.iterator;function Bg(e){return e===null||typeof e!="object"?null:(e=tc&&e[tc]||e["@@iterator"],typeof e=="function"?e:null)}var xd={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Pd=Object.assign,kd={};function Cr(e,t,n){this.props=e,this.context=t,this.refs=kd,this.updater=n||xd}Cr.prototype.isReactComponent={};Cr.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Cr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Od(){}Od.prototype=Cr.prototype;function _l(e,t,n){this.props=e,this.context=t,this.refs=kd,this.updater=n||xd}var El=_l.prototype=new Od;El.constructor=_l;Pd(El,Cr.prototype);El.isPureReactComponent=!0;var nc=Array.isArray,_d=Object.prototype.hasOwnProperty,Cl={current:null},Ed={key:!0,ref:!0,__self:!0,__source:!0};function Cd(e,t,n){var r,i={},o=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(o=""+t.key),t)_d.call(t,r)&&!Ed.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,X=T[B];if(0>>1;Bi(Qn,M))Bei(Mt,Qn)?(T[B]=Mt,T[Be]=M,B=Be):(T[B]=Qn,T[_e]=M,B=_e);else if(Bei(Mt,M))T[B]=Mt,T[Be]=M,B=Be;else break e}}return F}function i(T,F){var M=T.sortIndex-F.sortIndex;return M!==0?M:T.id-F.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,f=null,d=3,p=!1,g=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function m(T){for(var F=n(u);F!==null;){if(F.callback===null)r(u);else if(F.startTime<=T)r(u),F.sortIndex=F.expirationTime,t(l,F);else break;F=n(u)}}function S(T){if(y=!1,m(T),!g)if(n(l)!==null)g=!0,Xe(_);else{var F=n(u);F!==null&&De(S,F.startTime-T)}}function _(T,F){g=!1,y&&(y=!1,v(b),b=-1),p=!0;var M=d;try{for(m(F),f=n(l);f!==null&&(!(f.expirationTime>F)||T&&!I());){var B=f.callback;if(typeof B=="function"){f.callback=null,d=f.priorityLevel;var X=B(f.expirationTime<=F);F=e.unstable_now(),typeof X=="function"?f.callback=X:f===n(l)&&r(l),m(F)}else r(l);f=n(l)}if(f!==null)var Yt=!0;else{var _e=n(u);_e!==null&&De(S,_e.startTime-F),Yt=!1}return Yt}finally{f=null,d=M,p=!1}}var O=!1,C=null,b=-1,k=5,E=-1;function I(){return!(e.unstable_now()-ET||125B?(T.sortIndex=M,t(u,T),n(l)===null&&T===n(u)&&(y?(v(b),b=-1):y=!0,De(S,M-B))):(T.sortIndex=X,t(l,T),g||p||(g=!0,Xe(_))),T},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(T){var F=d;return function(){var M=d;d=F;try{return T.apply(this,arguments)}finally{d=M}}}})(Nd);(function(e){e.exports=Nd})(Rd);/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Td=P.exports,We=Rd.exports;function N(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),da=Object.prototype.hasOwnProperty,Kg=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ic={},oc={};function Wg(e){return da.call(oc,e)?!0:da.call(ic,e)?!1:Kg.test(e)?oc[e]=!0:(ic[e]=!0,!1)}function Gg(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Yg(e,t,n,r){if(t===null||typeof t>"u"||Gg(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Te(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var ye={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ye[e]=new Te(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ye[t]=new Te(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ye[e]=new Te(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ye[e]=new Te(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ye[e]=new Te(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ye[e]=new Te(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ye[e]=new Te(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ye[e]=new Te(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ye[e]=new Te(e,5,!1,e.toLowerCase(),null,!1,!1)});var Rl=/[\-:]([a-z])/g;function Nl(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Rl,Nl);ye[t]=new Te(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Rl,Nl);ye[t]=new Te(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Rl,Nl);ye[t]=new Te(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ye[e]=new Te(e,1,!1,e.toLowerCase(),null,!1,!1)});ye.xlinkHref=new Te("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ye[e]=new Te(e,1,!1,e.toLowerCase(),null,!0,!0)});function Tl(e,t,n,r){var i=ye.hasOwnProperty(t)?ye[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` -`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{bs=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ur(e):""}function Jg(e){switch(e.tag){case 5:return Ur(e.type);case 16:return Ur("Lazy");case 13:return Ur("Suspense");case 19:return Ur("SuspenseList");case 0:case 2:case 15:return e=Rs(e.type,!1),e;case 11:return e=Rs(e.type.render,!1),e;case 1:return e=Rs(e.type,!0),e;default:return""}}function ma(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Wn:return"Fragment";case Kn:return"Portal";case pa:return"Profiler";case Il:return"StrictMode";case ha:return"Suspense";case ga:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Dd:return(e.displayName||"Context")+".Consumer";case Ld:return(e._context.displayName||"Context")+".Provider";case Ll:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Dl:return t=e.displayName||null,t!==null?t:ma(e.type)||"Memo";case Zt:t=e._payload,e=e._init;try{return ma(e(t))}catch{}}return null}function Xg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ma(t);case 8:return t===Il?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function yn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Md(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Zg(e){var t=Md(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Di(e){e._valueTracker||(e._valueTracker=Zg(e))}function jd(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Md(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function go(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function va(e,t){var n=t.checked;return te({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n!=null?n:e._wrapperState.initialChecked})}function ac(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=yn(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Ad(e,t){t=t.checked,t!=null&&Tl(e,"checked",t,!1)}function ya(e,t){Ad(e,t);var n=yn(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Sa(e,t.type,n):t.hasOwnProperty("defaultValue")&&Sa(e,t.type,yn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function lc(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Sa(e,t,n){(t!=="number"||go(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var zr=Array.isArray;function or(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Fi.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function ni(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Vr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},em=["Webkit","ms","Moz","O"];Object.keys(Vr).forEach(function(e){em.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Vr[t]=Vr[e]})});function Bd(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Vr.hasOwnProperty(e)&&Vr[e]?(""+t).trim():t+"px"}function Qd(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=Bd(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var tm=te({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Pa(e,t){if(t){if(tm[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(N(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(N(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(N(61))}if(t.style!=null&&typeof t.style!="object")throw Error(N(62))}}function ka(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Oa=null;function Fl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var _a=null,sr=null,ar=null;function fc(e){if(e=Ei(e)){if(typeof _a!="function")throw Error(N(280));var t=e.stateNode;t&&(t=rs(t),_a(e.stateNode,e.type,t))}}function Hd(e){sr?ar?ar.push(e):ar=[e]:sr=e}function Vd(){if(sr){var e=sr,t=ar;if(ar=sr=null,fc(e),t)for(e=0;e>>=0,e===0?32:31-(dm(e)/pm|0)|0}var Mi=64,ji=4194304;function Br(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function So(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=Br(a):(o&=s,o!==0&&(r=Br(o)))}else s=n&~i,s!==0?r=Br(s):o!==0&&(r=Br(o));if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if((r&4)!==0&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Oi(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-ht(t),e[t]=n}function vm(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Kr),wc=String.fromCharCode(32),xc=!1;function fp(e,t){switch(e){case"keyup":return Vm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function dp(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Gn=!1;function Km(e,t){switch(e){case"compositionend":return dp(t);case"keypress":return t.which!==32?null:(xc=!0,wc);case"textInput":return e=t.data,e===wc&&xc?null:e;default:return null}}function Wm(e,t){if(Gn)return e==="compositionend"||!Ql&&fp(e,t)?(e=up(),ro=Ul=sn=null,Gn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=_c(n)}}function mp(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?mp(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function vp(){for(var e=window,t=go();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=go(e.document)}return t}function Hl(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function rv(e){var t=vp(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&mp(n.ownerDocument.documentElement,n)){if(r!==null&&Hl(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=Ec(n,o);var s=Ec(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Yn=null,Ta=null,Gr=null,Ia=!1;function Cc(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ia||Yn==null||Yn!==go(r)||(r=Yn,"selectionStart"in r&&Hl(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Gr&&li(Gr,r)||(Gr=r,r=Po(Ta,"onSelect"),0Zn||(e.current=Aa[Zn],Aa[Zn]=null,Zn--)}function K(e,t){Zn++,Aa[Zn]=e.current,e.current=t}var Sn={},ke=Pn(Sn),je=Pn(!1),Fn=Sn;function pr(e,t){var n=e.type.contextTypes;if(!n)return Sn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ae(e){return e=e.childContextTypes,e!=null}function Oo(){Y(je),Y(ke)}function Dc(e,t,n){if(ke.current!==Sn)throw Error(N(168));K(ke,t),K(je,n)}function Ep(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(N(108,Xg(e)||"Unknown",i));return te({},n,r)}function _o(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Sn,Fn=ke.current,K(ke,e),K(je,je.current),!0}function Fc(e,t,n){var r=e.stateNode;if(!r)throw Error(N(169));n?(e=Ep(e,t,Fn),r.__reactInternalMemoizedMergedChildContext=e,Y(je),Y(ke),K(ke,e)):Y(je),K(je,n)}var At=null,is=!1,Qs=!1;function Cp(e){At===null?At=[e]:At.push(e)}function gv(e){is=!0,Cp(e)}function kn(){if(!Qs&&At!==null){Qs=!0;var e=0,t=V;try{var n=At;for(V=1;e>=s,i-=s,Ut=1<<32-ht(t)+i|n<b?(k=C,C=null):k=C.sibling;var E=d(v,C,m[b],S);if(E===null){C===null&&(C=k);break}e&&C&&E.alternate===null&&t(v,C),h=o(E,h,b),O===null?_=E:O.sibling=E,O=E,C=k}if(b===m.length)return n(v,C),J&&_n(v,b),_;if(C===null){for(;bb?(k=C,C=null):k=C.sibling;var I=d(v,C,E.value,S);if(I===null){C===null&&(C=k);break}e&&C&&I.alternate===null&&t(v,C),h=o(I,h,b),O===null?_=I:O.sibling=I,O=I,C=k}if(E.done)return n(v,C),J&&_n(v,b),_;if(C===null){for(;!E.done;b++,E=m.next())E=f(v,E.value,S),E!==null&&(h=o(E,h,b),O===null?_=E:O.sibling=E,O=E);return J&&_n(v,b),_}for(C=r(v,C);!E.done;b++,E=m.next())E=p(C,v,b,E.value,S),E!==null&&(e&&E.alternate!==null&&C.delete(E.key===null?b:E.key),h=o(E,h,b),O===null?_=E:O.sibling=E,O=E);return e&&C.forEach(function(j){return t(v,j)}),J&&_n(v,b),_}function x(v,h,m,S){if(typeof m=="object"&&m!==null&&m.type===Wn&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Li:e:{for(var _=m.key,O=h;O!==null;){if(O.key===_){if(_=m.type,_===Wn){if(O.tag===7){n(v,O.sibling),h=i(O,m.props.children),h.return=v,v=h;break e}}else if(O.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===Zt&&Bc(_)===O.type){n(v,O.sibling),h=i(O,m.props),h.ref=Mr(v,O,m),h.return=v,v=h;break e}n(v,O);break}else t(v,O);O=O.sibling}m.type===Wn?(h=Ln(m.props.children,v.mode,S,m.key),h.return=v,v=h):(S=fo(m.type,m.key,m.props,null,v.mode,S),S.ref=Mr(v,h,m),S.return=v,v=S)}return s(v);case Kn:e:{for(O=m.key;h!==null;){if(h.key===O)if(h.tag===4&&h.stateNode.containerInfo===m.containerInfo&&h.stateNode.implementation===m.implementation){n(v,h.sibling),h=i(h,m.children||[]),h.return=v,v=h;break e}else{n(v,h);break}else t(v,h);h=h.sibling}h=Js(m,v.mode,S),h.return=v,v=h}return s(v);case Zt:return O=m._init,x(v,h,O(m._payload),S)}if(zr(m))return g(v,h,m,S);if(Tr(m))return y(v,h,m,S);Hi(v,m)}return typeof m=="string"&&m!==""||typeof m=="number"?(m=""+m,h!==null&&h.tag===6?(n(v,h.sibling),h=i(h,m),h.return=v,v=h):(n(v,h),h=Ys(m,v.mode,S),h.return=v,v=h),s(v)):n(v,h)}return x}var gr=Fp(!0),Mp=Fp(!1),Ci={},Rt=Pn(Ci),di=Pn(Ci),pi=Pn(Ci);function Rn(e){if(e===Ci)throw Error(N(174));return e}function Zl(e,t){switch(K(pi,t),K(di,e),K(Rt,Ci),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:xa(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=xa(t,e)}Y(Rt),K(Rt,t)}function mr(){Y(Rt),Y(di),Y(pi)}function jp(e){Rn(pi.current);var t=Rn(Rt.current),n=xa(t,e.type);t!==n&&(K(di,e),K(Rt,n))}function eu(e){di.current===e&&(Y(Rt),Y(di))}var Z=Pn(0);function To(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hs=[];function tu(){for(var e=0;en?n:4,e(!0);var r=Vs.transition;Vs.transition={};try{e(!1),t()}finally{V=n,Vs.transition=r}}function Zp(){return at().memoizedState}function Sv(e,t,n){var r=hn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},eh(e))th(t,n);else if(n=Tp(e,t,n,r),n!==null){var i=Re();gt(n,e,r,i),nh(n,t,r)}}function wv(e,t,n){var r=hn(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(eh(e))th(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,vt(a,s)){var l=t.interleaved;l===null?(i.next=i,Jl(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=Tp(e,t,i,r),n!==null&&(i=Re(),gt(n,e,r,i),nh(n,t,r))}}function eh(e){var t=e.alternate;return e===ee||t!==null&&t===ee}function th(e,t){Yr=Io=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function nh(e,t,n){if((n&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,jl(e,n)}}var Lo={readContext:st,useCallback:Se,useContext:Se,useEffect:Se,useImperativeHandle:Se,useInsertionEffect:Se,useLayoutEffect:Se,useMemo:Se,useReducer:Se,useRef:Se,useState:Se,useDebugValue:Se,useDeferredValue:Se,useTransition:Se,useMutableSource:Se,useSyncExternalStore:Se,useId:Se,unstable_isNewReconciler:!1},xv={readContext:st,useCallback:function(e,t){return Ot().memoizedState=[e,t===void 0?null:t],e},useContext:st,useEffect:Hc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ao(4194308,4,Wp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ao(4194308,4,e,t)},useInsertionEffect:function(e,t){return ao(4,2,e,t)},useMemo:function(e,t){var n=Ot();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ot();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Sv.bind(null,ee,e),[r.memoizedState,e]},useRef:function(e){var t=Ot();return e={current:e},t.memoizedState=e},useState:Qc,useDebugValue:su,useDeferredValue:function(e){return Ot().memoizedState=e},useTransition:function(){var e=Qc(!1),t=e[0];return e=yv.bind(null,e[1]),Ot().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=ee,i=Ot();if(J){if(n===void 0)throw Error(N(407));n=n()}else{if(n=t(),pe===null)throw Error(N(349));(jn&30)!==0||Up(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,Hc(Bp.bind(null,r,o,e),[e]),r.flags|=2048,mi(9,zp.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Ot(),t=pe.identifierPrefix;if(J){var n=zt,r=Ut;n=(r&~(1<<32-ht(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=hi++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[_t]=t,e[fi]=r,fh(e,t,!1,!1),t.stateNode=e;e:{switch(s=ka(n,r),n){case"dialog":W("cancel",e),W("close",e),i=r;break;case"iframe":case"object":case"embed":W("load",e),i=r;break;case"video":case"audio":for(i=0;iyr&&(t.flags|=128,r=!0,jr(o,!1),t.lanes=4194304)}else{if(!r)if(e=To(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),jr(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!J)return we(t),null}else 2*oe()-o.renderingStartTime>yr&&n!==1073741824&&(t.flags|=128,r=!0,jr(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=oe(),t.sibling=null,n=Z.current,K(Z,r?n&1|2:n&1),t):(we(t),null);case 22:case 23:return du(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(Qe&1073741824)!==0&&(we(t),t.subtreeFlags&6&&(t.flags|=8192)):we(t),null;case 24:return null;case 25:return null}throw Error(N(156,t.tag))}function Rv(e,t){switch(ql(t),t.tag){case 1:return Ae(t.type)&&Oo(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return mr(),Y(je),Y(ke),tu(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return eu(t),null;case 13:if(Y(Z),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(N(340));hr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Y(Z),null;case 4:return mr(),null;case 10:return Yl(t.type._context),null;case 22:case 23:return du(),null;case 24:return null;default:return null}}var qi=!1,Pe=!1,Nv=typeof WeakSet=="function"?WeakSet:Set,L=null;function rr(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ne(e,t,r)}else n.current=null}function Ya(e,t,n){try{n()}catch(r){ne(e,t,r)}}var Zc=!1;function Tv(e,t){if(La=wo,e=vp(),Hl(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,f=e,d=null;t:for(;;){for(var p;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(p=f.firstChild)!==null;)d=f,f=p;for(;;){if(f===e)break t;if(d===n&&++u===i&&(a=s),d===o&&++c===r&&(l=s),(p=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=p}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Da={focusedElem:e,selectionRange:n},wo=!1,L=t;L!==null;)if(t=L,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,L=e;else for(;L!==null;){t=L;try{var g=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var y=g.memoizedProps,x=g.memoizedState,v=t.stateNode,h=v.getSnapshotBeforeUpdate(t.elementType===t.type?y:ft(t.type,y),x);v.__reactInternalSnapshotBeforeUpdate=h}break;case 3:var m=t.stateNode.containerInfo;m.nodeType===1?m.textContent="":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(N(163))}}catch(S){ne(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,L=e;break}L=t.return}return g=Zc,Zc=!1,g}function Jr(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&Ya(t,n,o)}i=i.next}while(i!==r)}}function as(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Ja(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function hh(e){var t=e.alternate;t!==null&&(e.alternate=null,hh(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_t],delete t[fi],delete t[ja],delete t[pv],delete t[hv])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function gh(e){return e.tag===5||e.tag===3||e.tag===4}function ef(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||gh(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Xa(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=ko));else if(r!==4&&(e=e.child,e!==null))for(Xa(e,t,n),e=e.sibling;e!==null;)Xa(e,t,n),e=e.sibling}function Za(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Za(e,t,n),e=e.sibling;e!==null;)Za(e,t,n),e=e.sibling}var ge=null,dt=!1;function Jt(e,t,n){for(n=n.child;n!==null;)mh(e,t,n),n=n.sibling}function mh(e,t,n){if(bt&&typeof bt.onCommitFiberUnmount=="function")try{bt.onCommitFiberUnmount(Zo,n)}catch{}switch(n.tag){case 5:Pe||rr(n,t);case 6:var r=ge,i=dt;ge=null,Jt(e,t,n),ge=r,dt=i,ge!==null&&(dt?(e=ge,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ge.removeChild(n.stateNode));break;case 18:ge!==null&&(dt?(e=ge,n=n.stateNode,e.nodeType===8?Bs(e.parentNode,n):e.nodeType===1&&Bs(e,n),si(e)):Bs(ge,n.stateNode));break;case 4:r=ge,i=dt,ge=n.stateNode.containerInfo,dt=!0,Jt(e,t,n),ge=r,dt=i;break;case 0:case 11:case 14:case 15:if(!Pe&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&((o&2)!==0||(o&4)!==0)&&Ya(n,t,s),i=i.next}while(i!==r)}Jt(e,t,n);break;case 1:if(!Pe&&(rr(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){ne(n,t,a)}Jt(e,t,n);break;case 21:Jt(e,t,n);break;case 22:n.mode&1?(Pe=(r=Pe)||n.memoizedState!==null,Jt(e,t,n),Pe=r):Jt(e,t,n);break;default:Jt(e,t,n)}}function tf(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Nv),t.forEach(function(r){var i=Uv.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function ut(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=oe()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Lv(r/1960))-r,10e?16:e,an===null)var r=!1;else{if(e=an,an=null,Mo=0,(U&6)!==0)throw Error(N(331));var i=U;for(U|=4,L=e.current;L!==null;){var o=L,s=o.child;if((L.flags&16)!==0){var a=o.deletions;if(a!==null){for(var l=0;loe()-cu?In(e,0):uu|=n),$e(e,t)}function Oh(e,t){t===0&&((e.mode&1)===0?t=1:(t=ji,ji<<=1,(ji&130023424)===0&&(ji=4194304)));var n=Re();e=Vt(e,t),e!==null&&(Oi(e,t,n),$e(e,n))}function $v(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Oh(e,n)}function Uv(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(N(314))}r!==null&&r.delete(t),Oh(e,n)}var _h;_h=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||je.current)Me=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return Me=!1,Cv(e,t,n);Me=(e.flags&131072)!==0}else Me=!1,J&&(t.flags&1048576)!==0&&bp(t,Co,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;lo(e,t),e=t.pendingProps;var i=pr(t,ke.current);ur(t,n),i=ru(null,t,r,e,i,n);var o=iu();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ae(r)?(o=!0,_o(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Xl(t),i.updater=os,t.stateNode=i,i._reactInternals=t,Qa(t,r,e,n),t=qa(null,t,r,!0,o,n)):(t.tag=0,J&&o&&Vl(t),Ce(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(lo(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=Bv(r),e=ft(r,e),i){case 0:t=Va(null,t,r,e,n);break e;case 1:t=Yc(null,t,r,e,n);break e;case 11:t=Wc(null,t,r,e,n);break e;case 14:t=Gc(null,t,r,ft(r.type,e),n);break e}throw Error(N(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ft(r,i),Va(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ft(r,i),Yc(e,t,r,i,n);case 3:e:{if(lh(t),e===null)throw Error(N(387));r=t.pendingProps,o=t.memoizedState,i=o.element,Ip(e,t),No(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=vr(Error(N(423)),t),t=Jc(e,t,r,n,i);break e}else if(r!==i){i=vr(Error(N(424)),t),t=Jc(e,t,r,n,i);break e}else for(qe=fn(t.stateNode.containerInfo.firstChild),Ke=t,J=!0,pt=null,n=Mp(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(hr(),r===i){t=qt(e,t,n);break e}Ce(e,t,r,n)}t=t.child}return t;case 5:return jp(t),e===null&&Ua(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,Fa(r,i)?s=null:o!==null&&Fa(r,o)&&(t.flags|=32),ah(e,t),Ce(e,t,s,n),t.child;case 6:return e===null&&Ua(t),null;case 13:return uh(e,t,n);case 4:return Zl(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=gr(t,null,r,n):Ce(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ft(r,i),Wc(e,t,r,i,n);case 7:return Ce(e,t,t.pendingProps,n),t.child;case 8:return Ce(e,t,t.pendingProps.children,n),t.child;case 12:return Ce(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,K(bo,r._currentValue),r._currentValue=s,o!==null)if(vt(o.value,s)){if(o.children===i.children&&!je.current){t=qt(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=Bt(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),za(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(N(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),za(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Ce(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,ur(t,n),i=st(i),r=r(i),t.flags|=1,Ce(e,t,r,n),t.child;case 14:return r=t.type,i=ft(r,t.pendingProps),i=ft(r.type,i),Gc(e,t,r,i,n);case 15:return oh(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ft(r,i),lo(e,t),t.tag=1,Ae(r)?(e=!0,_o(t)):e=!1,ur(t,n),Dp(t,r,i),Qa(t,r,i,n),qa(null,t,r,!0,e,n);case 19:return ch(e,t,n);case 22:return sh(e,t,n)}throw Error(N(156,t.tag))};function Eh(e,t){return Xd(e,t)}function zv(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function it(e,t,n,r){return new zv(e,t,n,r)}function hu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Bv(e){if(typeof e=="function")return hu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ll)return 11;if(e===Dl)return 14}return 2}function gn(e,t){var n=e.alternate;return n===null?(n=it(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function fo(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")hu(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Wn:return Ln(n.children,i,o,t);case Il:s=8,i|=8;break;case pa:return e=it(12,n,t,i|2),e.elementType=pa,e.lanes=o,e;case ha:return e=it(13,n,t,i),e.elementType=ha,e.lanes=o,e;case ga:return e=it(19,n,t,i),e.elementType=ga,e.lanes=o,e;case Fd:return us(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Ld:s=10;break e;case Dd:s=9;break e;case Ll:s=11;break e;case Dl:s=14;break e;case Zt:s=16,r=null;break e}throw Error(N(130,e==null?e:typeof e,""))}return t=it(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Ln(e,t,n,r){return e=it(7,e,r,t),e.lanes=n,e}function us(e,t,n,r){return e=it(22,e,r,t),e.elementType=Fd,e.lanes=n,e.stateNode={isHidden:!1},e}function Ys(e,t,n){return e=it(6,e,null,t),e.lanes=n,e}function Js(e,t,n){return t=it(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Qv(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ts(0),this.expirationTimes=Ts(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ts(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function gu(e,t,n,r,i,o,s,a,l){return e=new Qv(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=it(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Xl(o),e}function Hv(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(n){console.error(n)}}t(),e.exports=Ye})(bd);var cf=bd.exports;fa.createRoot=cf.createRoot,fa.hydrateRoot=cf.hydrateRoot;var Su={exports:{}},Nh={};/** - * @license React - * use-sync-external-store-shim.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Sr=P.exports;function Gv(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Yv=typeof Object.is=="function"?Object.is:Gv,Jv=Sr.useState,Xv=Sr.useEffect,Zv=Sr.useLayoutEffect,ey=Sr.useDebugValue;function ty(e,t){var n=t(),r=Jv({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return Zv(function(){i.value=n,i.getSnapshot=t,Xs(i)&&o({inst:i})},[e,n,t]),Xv(function(){return Xs(i)&&o({inst:i}),e(function(){Xs(i)&&o({inst:i})})},[e]),ey(n),n}function Xs(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Yv(e,n)}catch{return!0}}function ny(e,t){return t()}var ry=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?ny:ty;Nh.useSyncExternalStore=Sr.useSyncExternalStore!==void 0?Sr.useSyncExternalStore:ry;(function(e){e.exports=Nh})(Su);var hs={exports:{}},gs={};/** - * @license React - * react-jsx-runtime.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var iy=P.exports,oy=Symbol.for("react.element"),sy=Symbol.for("react.fragment"),ay=Object.prototype.hasOwnProperty,ly=iy.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,uy={key:!0,ref:!0,__self:!0,__source:!0};function Th(e,t,n){var r,i={},o=null,s=null;n!==void 0&&(o=""+n),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(s=t.ref);for(r in t)ay.call(t,r)&&!uy.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)i[r]===void 0&&(i[r]=t[r]);return{$$typeof:oy,type:e,key:o,ref:s,props:i,_owner:ly.current}}gs.Fragment=sy;gs.jsx=Th;gs.jsxs=Th;(function(e){e.exports=gs})(hs);const lt=hs.exports.Fragment,w=hs.exports.jsx,R=hs.exports.jsxs;/** - * react-query - * - * Copyright (c) TanStack - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */class bi{constructor(){this.listeners=[],this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.push(t),this.onSubscribe(),()=>{this.listeners=this.listeners.filter(n=>n!==t),this.onUnsubscribe()}}hasListeners(){return this.listeners.length>0}onSubscribe(){}onUnsubscribe(){}}const yi=typeof window>"u";function Ze(){}function cy(e,t){return typeof e=="function"?e(t):e}function il(e){return typeof e=="number"&&e>=0&&e!==1/0}function Ih(e,t){return Math.max(e+(t||0)-Date.now(),0)}function po(e,t,n){return ms(e)?typeof t=="function"?{...n,queryKey:e,queryFn:t}:{...t,queryKey:e}:e}function tn(e,t,n){return ms(e)?[{...t,queryKey:e},n]:[e||{},t]}function ff(e,t){const{type:n="all",exact:r,fetchStatus:i,predicate:o,queryKey:s,stale:a}=e;if(ms(s)){if(r){if(t.queryHash!==wu(s,t.options))return!1}else if(!$o(t.queryKey,s))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||typeof i<"u"&&i!==t.state.fetchStatus||o&&!o(t))}function df(e,t){const{exact:n,fetching:r,predicate:i,mutationKey:o}=e;if(ms(o)){if(!t.options.mutationKey)return!1;if(n){if(Nn(t.options.mutationKey)!==Nn(o))return!1}else if(!$o(t.options.mutationKey,o))return!1}return!(typeof r=="boolean"&&t.state.status==="loading"!==r||i&&!i(t))}function wu(e,t){return((t==null?void 0:t.queryKeyHashFn)||Nn)(e)}function Nn(e){return JSON.stringify(e,(t,n)=>ol(n)?Object.keys(n).sort().reduce((r,i)=>(r[i]=n[i],r),{}):n)}function $o(e,t){return Lh(e,t)}function Lh(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Lh(e[n],t[n])):!1}function Dh(e,t){if(e===t)return e;const n=hf(e)&&hf(t);if(n||ol(e)&&ol(t)){const r=n?e.length:Object.keys(e).length,i=n?t:Object.keys(t),o=i.length,s=n?[]:{};let a=0;for(let l=0;l"u")return!0;const n=t.prototype;return!(!gf(n)||!n.hasOwnProperty("isPrototypeOf"))}function gf(e){return Object.prototype.toString.call(e)==="[object Object]"}function ms(e){return Array.isArray(e)}function Fh(e){return new Promise(t=>{setTimeout(t,e)})}function mf(e){Fh(0).then(e)}function fy(){if(typeof AbortController=="function")return new AbortController}function sl(e,t,n){return n.isDataEqual!=null&&n.isDataEqual(e,t)?e:typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?Dh(e,t):t}class dy extends bi{constructor(){super(),this.setup=t=>{if(!yi&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),window.addEventListener("focus",n,!1),()=>{window.removeEventListener("visibilitychange",n),window.removeEventListener("focus",n)}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()})}setFocused(t){this.focused=t,t&&this.onFocus()}onFocus(){this.listeners.forEach(t=>{t()})}isFocused(){return typeof this.focused=="boolean"?this.focused:typeof document>"u"?!0:[void 0,"visible","prerender"].includes(document.visibilityState)}}const Uo=new dy;class py extends bi{constructor(){super(),this.setup=t=>{if(!yi&&window.addEventListener){const n=()=>t();return window.addEventListener("online",n,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",n)}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setOnline(r):this.onOnline()})}setOnline(t){this.online=t,t&&this.onOnline()}onOnline(){this.listeners.forEach(t=>{t()})}isOnline(){return typeof this.online=="boolean"?this.online:typeof navigator>"u"||typeof navigator.onLine>"u"?!0:navigator.onLine}}const zo=new py;function hy(e){return Math.min(1e3*2**e,3e4)}function vs(e){return(e!=null?e:"online")==="online"?zo.isOnline():!0}class Mh{constructor(t){this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}}function ho(e){return e instanceof Mh}function jh(e){let t=!1,n=0,r=!1,i,o,s;const a=new Promise((x,v)=>{o=x,s=v}),l=x=>{r||(p(new Mh(x)),e.abort==null||e.abort())},u=()=>{t=!0},c=()=>{t=!1},f=()=>!Uo.isFocused()||e.networkMode!=="always"&&!zo.isOnline(),d=x=>{r||(r=!0,e.onSuccess==null||e.onSuccess(x),i==null||i(),o(x))},p=x=>{r||(r=!0,e.onError==null||e.onError(x),i==null||i(),s(x))},g=()=>new Promise(x=>{i=v=>{if(r||!f())return x(v)},e.onPause==null||e.onPause()}).then(()=>{i=void 0,r||e.onContinue==null||e.onContinue()}),y=()=>{if(r)return;let x;try{x=e.fn()}catch(v){x=Promise.reject(v)}Promise.resolve(x).then(d).catch(v=>{var h,m;if(r)return;const S=(h=e.retry)!=null?h:3,_=(m=e.retryDelay)!=null?m:hy,O=typeof _=="function"?_(n,v):_,C=S===!0||typeof S=="number"&&n{if(f())return g()}).then(()=>{t?p(v):y()})})};return vs(e.networkMode)?y():g().then(y),{promise:a,cancel:l,continue:()=>{i==null||i()},cancelRetry:u,continueRetry:c}}const xu=console;function gy(){let e=[],t=0,n=c=>{c()},r=c=>{c()};const i=c=>{let f;t++;try{f=c()}finally{t--,t||a()}return f},o=c=>{t?e.push(c):mf(()=>{n(c)})},s=c=>(...f)=>{o(()=>{c(...f)})},a=()=>{const c=e;e=[],c.length&&mf(()=>{r(()=>{c.forEach(f=>{n(f)})})})};return{batch:i,batchCalls:s,schedule:o,setNotifyFunction:c=>{n=c},setBatchNotifyFunction:c=>{r=c}}}const ae=gy();class Ah{destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),il(this.cacheTime)&&(this.gcTimeout=setTimeout(()=>{this.optionalRemove()},this.cacheTime))}updateCacheTime(t){this.cacheTime=Math.max(this.cacheTime||0,t!=null?t:yi?1/0:5*60*1e3)}clearGcTimeout(){this.gcTimeout&&(clearTimeout(this.gcTimeout),this.gcTimeout=void 0)}}class my extends Ah{constructor(t){super(),this.abortSignalConsumed=!1,this.defaultOptions=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.cache=t.cache,this.logger=t.logger||xu,this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.initialState=t.state||vy(this.options),this.state=this.initialState,this.meta=t.meta}setOptions(t){this.options={...this.defaultOptions,...t},this.meta=t==null?void 0:t.meta,this.updateCacheTime(this.options.cacheTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.cache.remove(this)}setData(t,n){const r=sl(this.state.data,t,this.options);return this.dispatch({data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){this.dispatch({type:"setState",state:t,setStateOptions:n})}cancel(t){var n;const r=this.promise;return(n=this.retryer)==null||n.cancel(t),r?r.then(Ze).catch(Ze):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.initialState)}isActive(){return this.observers.some(t=>t.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||this.observers.some(t=>t.getCurrentResult().isStale)}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!Ih(this.state.dataUpdatedAt,t)}onFocus(){var t;const n=this.observers.find(r=>r.shouldFetchOnWindowFocus());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}onOnline(){var t;const n=this.observers.find(r=>r.shouldFetchOnReconnect());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}addObserver(t){this.observers.indexOf(t)===-1&&(this.observers.push(t),this.clearGcTimeout(),this.cache.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.indexOf(t)!==-1&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(this.retryer&&(this.abortSignalConsumed?this.retryer.cancel({revert:!0}):this.retryer.cancelRetry()),this.scheduleGc()),this.cache.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.dispatch({type:"invalidate"})}fetch(t,n){var r,i;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&n!=null&&n.cancelRefetch)this.cancel({silent:!0});else if(this.promise){var o;return(o=this.retryer)==null||o.continueRetry(),this.promise}}if(t&&this.setOptions(t),!this.options.queryFn){const p=this.observers.find(g=>g.options.queryFn);p&&this.setOptions(p.options)}Array.isArray(this.options.queryKey);const s=fy(),a={queryKey:this.queryKey,pageParam:void 0,meta:this.meta},l=p=>{Object.defineProperty(p,"signal",{enumerable:!0,get:()=>{if(s)return this.abortSignalConsumed=!0,s.signal}})};l(a);const u=()=>this.options.queryFn?(this.abortSignalConsumed=!1,this.options.queryFn(a)):Promise.reject("Missing queryFn"),c={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:u,meta:this.meta};if(l(c),(r=this.options.behavior)==null||r.onFetch(c),this.revertState=this.state,this.state.fetchStatus==="idle"||this.state.fetchMeta!==((i=c.fetchOptions)==null?void 0:i.meta)){var f;this.dispatch({type:"fetch",meta:(f=c.fetchOptions)==null?void 0:f.meta})}const d=p=>{if(ho(p)&&p.silent||this.dispatch({type:"error",error:p}),!ho(p)){var g,y;(g=(y=this.cache.config).onError)==null||g.call(y,p,this)}this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.retryer=jh({fn:c.fetchFn,abort:s==null?void 0:s.abort.bind(s),onSuccess:p=>{var g,y;if(typeof p>"u"){d(new Error("Query data cannot be undefined"));return}this.setData(p),(g=(y=this.cache.config).onSuccess)==null||g.call(y,p,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:d,onFail:()=>{this.dispatch({type:"failed"})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:c.options.retry,retryDelay:c.options.retryDelay,networkMode:c.options.networkMode}),this.promise=this.retryer.promise,this.promise}dispatch(t){const n=r=>{var i,o;switch(t.type){case"failed":return{...r,fetchFailureCount:r.fetchFailureCount+1};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,fetchFailureCount:0,fetchMeta:(i=t.meta)!=null?i:null,fetchStatus:vs(this.options.networkMode)?"fetching":"paused",...!r.dataUpdatedAt&&{error:null,status:"loading"}};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:(o=t.dataUpdatedAt)!=null?o:Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0}};case"error":const s=t.error;return ho(s)&&s.revert&&this.revertState?{...this.revertState}:{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),ae.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate(t)}),this.cache.notify({query:this,type:"updated",action:t})})}}function vy(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,r=typeof e.initialData<"u"?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0,i=typeof t<"u";return{data:t,dataUpdateCount:0,dataUpdatedAt:i?r!=null?r:Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchMeta:null,isInvalidated:!1,status:i?"success":"loading",fetchStatus:"idle"}}class yy extends bi{constructor(t){super(),this.config=t||{},this.queries=[],this.queriesMap={}}build(t,n,r){var i;const o=n.queryKey,s=(i=n.queryHash)!=null?i:wu(o,n);let a=this.get(s);return a||(a=new my({cache:this,logger:t.getLogger(),queryKey:o,queryHash:s,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o),meta:n.meta}),this.add(a)),a}add(t){this.queriesMap[t.queryHash]||(this.queriesMap[t.queryHash]=t,this.queries.push(t),this.notify({type:"added",query:t}))}remove(t){const n=this.queriesMap[t.queryHash];n&&(t.destroy(),this.queries=this.queries.filter(r=>r!==t),n===t&&delete this.queriesMap[t.queryHash],this.notify({type:"removed",query:t}))}clear(){ae.batch(()=>{this.queries.forEach(t=>{this.remove(t)})})}get(t){return this.queriesMap[t]}getAll(){return this.queries}find(t,n){const[r]=tn(t,n);return typeof r.exact>"u"&&(r.exact=!0),this.queries.find(i=>ff(r,i))}findAll(t,n){const[r]=tn(t,n);return Object.keys(r).length>0?this.queries.filter(i=>ff(r,i)):this.queries}notify(t){ae.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){ae.batch(()=>{this.queries.forEach(t=>{t.onFocus()})})}onOnline(){ae.batch(()=>{this.queries.forEach(t=>{t.onOnline()})})}}class Sy extends Ah{constructor(t){super(),this.options={...t.defaultOptions,...t.options},this.mutationId=t.mutationId,this.mutationCache=t.mutationCache,this.logger=t.logger||xu,this.observers=[],this.state=t.state||wy(),this.meta=t.meta,this.updateCacheTime(this.options.cacheTime),this.scheduleGc()}setState(t){this.dispatch({type:"setState",state:t})}addObserver(t){this.observers.indexOf(t)===-1&&(this.observers.push(t),this.clearGcTimeout(),this.mutationCache.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.observers=this.observers.filter(n=>n!==t),this.scheduleGc(),this.mutationCache.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.observers.length||(this.state.status==="loading"?this.scheduleGc():this.mutationCache.remove(this))}continue(){return this.retryer?(this.retryer.continue(),this.retryer.promise):this.execute()}async execute(){const t=()=>{var m;return this.retryer=jh({fn:()=>this.options.mutationFn?this.options.mutationFn(this.state.variables):Promise.reject("No mutationFn found"),onFail:()=>{this.dispatch({type:"failed"})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:(m=this.options.retry)!=null?m:0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode}),this.retryer.promise},n=this.state.status==="loading";try{var r,i,o,s,a,l;if(!n){var u,c,f,d;this.dispatch({type:"loading",variables:this.options.variables}),(u=(c=this.mutationCache.config).onMutate)==null||u.call(c,this.state.variables,this);const S=await((f=(d=this.options).onMutate)==null?void 0:f.call(d,this.state.variables));S!==this.state.context&&this.dispatch({type:"loading",context:S,variables:this.state.variables})}const m=await t();return(r=(i=this.mutationCache.config).onSuccess)==null||r.call(i,m,this.state.variables,this.state.context,this),await((o=(s=this.options).onSuccess)==null?void 0:o.call(s,m,this.state.variables,this.state.context)),await((a=(l=this.options).onSettled)==null?void 0:a.call(l,m,null,this.state.variables,this.state.context)),this.dispatch({type:"success",data:m}),m}catch(m){try{var p,g,y,x,v,h;throw(p=(g=this.mutationCache.config).onError)==null||p.call(g,m,this.state.variables,this.state.context,this),await((y=(x=this.options).onError)==null?void 0:y.call(x,m,this.state.variables,this.state.context)),await((v=(h=this.options).onSettled)==null?void 0:v.call(h,void 0,m,this.state.variables,this.state.context)),m}finally{this.dispatch({type:"error",error:m})}}}dispatch(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:r.failureCount+1};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"loading":return{...r,context:t.context,data:void 0,error:null,isPaused:!vs(this.options.networkMode),status:"loading",variables:t.variables};case"success":return{...r,data:t.data,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,isPaused:!1,status:"error"};case"setState":return{...r,...t.state}}};this.state=n(this.state),ae.batch(()=>{this.observers.forEach(r=>{r.onMutationUpdate(t)}),this.mutationCache.notify({mutation:this,type:"updated",action:t})})}}function wy(){return{context:void 0,data:void 0,error:null,failureCount:0,isPaused:!1,status:"idle",variables:void 0}}class xy extends bi{constructor(t){super(),this.config=t||{},this.mutations=[],this.mutationId=0}build(t,n,r){const i=new Sy({mutationCache:this,logger:t.getLogger(),mutationId:++this.mutationId,options:t.defaultMutationOptions(n),state:r,defaultOptions:n.mutationKey?t.getMutationDefaults(n.mutationKey):void 0,meta:n.meta});return this.add(i),i}add(t){this.mutations.push(t),this.notify({type:"added",mutation:t})}remove(t){this.mutations=this.mutations.filter(n=>n!==t),this.notify({type:"removed",mutation:t})}clear(){ae.batch(()=>{this.mutations.forEach(t=>{this.remove(t)})})}getAll(){return this.mutations}find(t){return typeof t.exact>"u"&&(t.exact=!0),this.mutations.find(n=>df(t,n))}findAll(t){return this.mutations.filter(n=>df(t,n))}notify(t){ae.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.mutations.filter(n=>n.state.isPaused);return ae.batch(()=>t.reduce((n,r)=>n.then(()=>r.continue().catch(Ze)),Promise.resolve()))}}function Py(){return{onFetch:e=>{e.fetchFn=()=>{var t,n,r,i,o,s;const a=(t=e.fetchOptions)==null||(n=t.meta)==null?void 0:n.refetchPage,l=(r=e.fetchOptions)==null||(i=r.meta)==null?void 0:i.fetchMore,u=l==null?void 0:l.pageParam,c=(l==null?void 0:l.direction)==="forward",f=(l==null?void 0:l.direction)==="backward",d=((o=e.state.data)==null?void 0:o.pages)||[],p=((s=e.state.data)==null?void 0:s.pageParams)||[];let g=p,y=!1;const x=O=>{Object.defineProperty(O,"signal",{enumerable:!0,get:()=>{var C;if((C=e.signal)!=null&&C.aborted)y=!0;else{var b;(b=e.signal)==null||b.addEventListener("abort",()=>{y=!0})}return e.signal}})},v=e.options.queryFn||(()=>Promise.reject("Missing queryFn")),h=(O,C,b,k)=>(g=k?[C,...g]:[...g,C],k?[b,...O]:[...O,b]),m=(O,C,b,k)=>{if(y)return Promise.reject("Cancelled");if(typeof b>"u"&&!C&&O.length)return Promise.resolve(O);const E={queryKey:e.queryKey,pageParam:b,meta:e.meta};x(E);const I=v(E);return Promise.resolve(I).then(z=>h(O,b,z,k))};let S;if(!d.length)S=m([]);else if(c){const O=typeof u<"u",C=O?u:vf(e.options,d);S=m(d,O,C)}else if(f){const O=typeof u<"u",C=O?u:ky(e.options,d);S=m(d,O,C,!0)}else{g=[];const O=typeof e.options.getNextPageParam>"u";S=(a&&d[0]?a(d[0],0,d):!0)?m([],O,p[0]):Promise.resolve(h([],p[0],d[0]));for(let b=1;b{if(a&&d[b]?a(d[b],b,d):!0){const I=O?p[b]:vf(e.options,k);return m(k,O,I)}return Promise.resolve(h(k,p[b],d[b]))})}return S.then(O=>({pages:O,pageParams:g}))}}}}function vf(e,t){return e.getNextPageParam==null?void 0:e.getNextPageParam(t[t.length-1],t)}function ky(e,t){return e.getPreviousPageParam==null?void 0:e.getPreviousPageParam(t[0],t)}class Oy{constructor(t={}){this.queryCache=t.queryCache||new yy,this.mutationCache=t.mutationCache||new xy,this.logger=t.logger||xu,this.defaultOptions=t.defaultOptions||{},this.queryDefaults=[],this.mutationDefaults=[]}mount(){this.unsubscribeFocus=Uo.subscribe(()=>{Uo.isFocused()&&(this.resumePausedMutations(),this.queryCache.onFocus())}),this.unsubscribeOnline=zo.subscribe(()=>{zo.isOnline()&&(this.resumePausedMutations(),this.queryCache.onOnline())})}unmount(){var t,n;(t=this.unsubscribeFocus)==null||t.call(this),(n=this.unsubscribeOnline)==null||n.call(this)}isFetching(t,n){const[r]=tn(t,n);return r.fetchStatus="fetching",this.queryCache.findAll(r).length}isMutating(t){return this.mutationCache.findAll({...t,fetching:!0}).length}getQueryData(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state.data}getQueriesData(t){return this.getQueryCache().findAll(t).map(({queryKey:n,state:r})=>{const i=r.data;return[n,i]})}setQueryData(t,n,r){const i=this.queryCache.find(t),o=i==null?void 0:i.state.data,s=cy(n,o);if(typeof s>"u")return;const a=po(t),l=this.defaultQueryOptions(a);return this.queryCache.build(this,l).setData(s,{...r,manual:!0})}setQueriesData(t,n,r){return ae.batch(()=>this.getQueryCache().findAll(t).map(({queryKey:i})=>[i,this.setQueryData(i,n,r)]))}getQueryState(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state}removeQueries(t,n){const[r]=tn(t,n),i=this.queryCache;ae.batch(()=>{i.findAll(r).forEach(o=>{i.remove(o)})})}resetQueries(t,n,r){const[i,o]=tn(t,n,r),s=this.queryCache,a={type:"active",...i};return ae.batch(()=>(s.findAll(i).forEach(l=>{l.reset()}),this.refetchQueries(a,o)))}cancelQueries(t,n,r){const[i,o={}]=tn(t,n,r);typeof o.revert>"u"&&(o.revert=!0);const s=ae.batch(()=>this.queryCache.findAll(i).map(a=>a.cancel(o)));return Promise.all(s).then(Ze).catch(Ze)}invalidateQueries(t,n,r){const[i,o]=tn(t,n,r);return ae.batch(()=>{var s,a;if(this.queryCache.findAll(i).forEach(u=>{u.invalidate()}),i.refetchType==="none")return Promise.resolve();const l={...i,type:(s=(a=i.refetchType)!=null?a:i.type)!=null?s:"active"};return this.refetchQueries(l,o)})}refetchQueries(t,n,r){const[i,o]=tn(t,n,r),s=ae.batch(()=>this.queryCache.findAll(i).filter(l=>!l.isDisabled()).map(l=>{var u;return l.fetch(void 0,{...o,cancelRefetch:(u=o==null?void 0:o.cancelRefetch)!=null?u:!0,meta:{refetchPage:i.refetchPage}})}));let a=Promise.all(s).then(Ze);return o!=null&&o.throwOnError||(a=a.catch(Ze)),a}fetchQuery(t,n,r){const i=po(t,n,r),o=this.defaultQueryOptions(i);typeof o.retry>"u"&&(o.retry=!1);const s=this.queryCache.build(this,o);return s.isStaleByTime(o.staleTime)?s.fetch(o):Promise.resolve(s.state.data)}prefetchQuery(t,n,r){return this.fetchQuery(t,n,r).then(Ze).catch(Ze)}fetchInfiniteQuery(t,n,r){const i=po(t,n,r);return i.behavior=Py(),this.fetchQuery(i)}prefetchInfiniteQuery(t,n,r){return this.fetchInfiniteQuery(t,n,r).then(Ze).catch(Ze)}resumePausedMutations(){return this.mutationCache.resumePausedMutations()}getQueryCache(){return this.queryCache}getMutationCache(){return this.mutationCache}getLogger(){return this.logger}getDefaultOptions(){return this.defaultOptions}setDefaultOptions(t){this.defaultOptions=t}setQueryDefaults(t,n){const r=this.queryDefaults.find(i=>Nn(t)===Nn(i.queryKey));r?r.defaultOptions=n:this.queryDefaults.push({queryKey:t,defaultOptions:n})}getQueryDefaults(t){if(!t)return;const n=this.queryDefaults.find(r=>$o(t,r.queryKey));return n==null?void 0:n.defaultOptions}setMutationDefaults(t,n){const r=this.mutationDefaults.find(i=>Nn(t)===Nn(i.mutationKey));r?r.defaultOptions=n:this.mutationDefaults.push({mutationKey:t,defaultOptions:n})}getMutationDefaults(t){if(!t)return;const n=this.mutationDefaults.find(r=>$o(t,r.mutationKey));return n==null?void 0:n.defaultOptions}defaultQueryOptions(t){if(t!=null&&t._defaulted)return t;const n={...this.defaultOptions.queries,...this.getQueryDefaults(t==null?void 0:t.queryKey),...t,_defaulted:!0};return!n.queryHash&&n.queryKey&&(n.queryHash=wu(n.queryKey,n)),typeof n.refetchOnReconnect>"u"&&(n.refetchOnReconnect=n.networkMode!=="always"),typeof n.useErrorBoundary>"u"&&(n.useErrorBoundary=!!n.suspense),n}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...this.defaultOptions.mutations,...this.getMutationDefaults(t==null?void 0:t.mutationKey),...t,_defaulted:!0}}clear(){this.queryCache.clear(),this.mutationCache.clear()}}class _y extends bi{constructor(t,n){super(),this.client=t,this.options=n,this.trackedProps=new Set,this.selectError=null,this.bindMethods(),this.setOptions(n)}bindMethods(){this.remove=this.remove.bind(this),this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.length===1&&(this.currentQuery.addObserver(this),yf(this.currentQuery,this.options)&&this.executeFetch(),this.updateTimers())}onUnsubscribe(){this.listeners.length||this.destroy()}shouldFetchOnReconnect(){return al(this.currentQuery,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return al(this.currentQuery,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=[],this.clearStaleTimeout(),this.clearRefetchInterval(),this.currentQuery.removeObserver(this)}setOptions(t,n){const r=this.options,i=this.currentQuery;if(this.options=this.client.defaultQueryOptions(t),pf(r,this.options)||this.client.getQueryCache().notify({type:"observerOptionsUpdated",query:this.currentQuery,observer:this}),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=r.queryKey),this.updateQuery();const o=this.hasListeners();o&&Sf(this.currentQuery,i,this.options,r)&&this.executeFetch(),this.updateResult(n),o&&(this.currentQuery!==i||this.options.enabled!==r.enabled||this.options.staleTime!==r.staleTime)&&this.updateStaleTimeout();const s=this.computeRefetchInterval();o&&(this.currentQuery!==i||this.options.enabled!==r.enabled||s!==this.currentRefetchInterval)&&this.updateRefetchInterval(s)}getOptimisticResult(t){const n=this.client.getQueryCache().build(this.client,t);return this.createResult(n,t)}getCurrentResult(){return this.currentResult}trackResult(t){const n={};return Object.keys(t).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(this.trackedProps.add(r),t[r])})}),n}getCurrentQuery(){return this.currentQuery}remove(){this.client.getQueryCache().remove(this.currentQuery)}refetch({refetchPage:t,...n}={}){return this.fetch({...n,meta:{refetchPage:t}})}fetchOptimistic(t){const n=this.client.defaultQueryOptions(t),r=this.client.getQueryCache().build(this.client,n);return r.isFetchingOptimistic=!0,r.fetch().then(()=>this.createResult(r,n))}fetch(t){var n;return this.executeFetch({...t,cancelRefetch:(n=t.cancelRefetch)!=null?n:!0}).then(()=>(this.updateResult(),this.currentResult))}executeFetch(t){this.updateQuery();let n=this.currentQuery.fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(Ze)),n}updateStaleTimeout(){if(this.clearStaleTimeout(),yi||this.currentResult.isStale||!il(this.options.staleTime))return;const n=Ih(this.currentResult.dataUpdatedAt,this.options.staleTime)+1;this.staleTimeoutId=setTimeout(()=>{this.currentResult.isStale||this.updateResult()},n)}computeRefetchInterval(){var t;return typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.currentResult.data,this.currentQuery):(t=this.options.refetchInterval)!=null?t:!1}updateRefetchInterval(t){this.clearRefetchInterval(),this.currentRefetchInterval=t,!(yi||this.options.enabled===!1||!il(this.currentRefetchInterval)||this.currentRefetchInterval===0)&&(this.refetchIntervalId=setInterval(()=>{(this.options.refetchIntervalInBackground||Uo.isFocused())&&this.executeFetch()},this.currentRefetchInterval))}updateTimers(){this.updateStaleTimeout(),this.updateRefetchInterval(this.computeRefetchInterval())}clearStaleTimeout(){this.staleTimeoutId&&(clearTimeout(this.staleTimeoutId),this.staleTimeoutId=void 0)}clearRefetchInterval(){this.refetchIntervalId&&(clearInterval(this.refetchIntervalId),this.refetchIntervalId=void 0)}createResult(t,n){const r=this.currentQuery,i=this.options,o=this.currentResult,s=this.currentResultState,a=this.currentResultOptions,l=t!==r,u=l?t.state:this.currentQueryInitialState,c=l?this.currentResult:this.previousQueryResult,{state:f}=t;let{dataUpdatedAt:d,error:p,errorUpdatedAt:g,fetchStatus:y,status:x}=f,v=!1,h=!1,m;if(n._optimisticResults){const O=this.hasListeners(),C=!O&&yf(t,n),b=O&&Sf(t,r,n,i);(C||b)&&(y=vs(t.options.networkMode)?"fetching":"paused",d||(x="loading")),n._optimisticResults==="isRestoring"&&(y="idle")}if(n.keepPreviousData&&!f.dataUpdateCount&&c!=null&&c.isSuccess&&x!=="error")m=c.data,d=c.dataUpdatedAt,x=c.status,v=!0;else if(n.select&&typeof f.data<"u")if(o&&f.data===(s==null?void 0:s.data)&&n.select===this.selectFn)m=this.selectResult;else try{this.selectFn=n.select,m=n.select(f.data),m=sl(o==null?void 0:o.data,m,n),this.selectResult=m,this.selectError=null}catch(O){this.selectError=O}else m=f.data;if(typeof n.placeholderData<"u"&&typeof m>"u"&&x==="loading"){let O;if(o!=null&&o.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData))O=o.data;else if(O=typeof n.placeholderData=="function"?n.placeholderData():n.placeholderData,n.select&&typeof O<"u")try{O=n.select(O),O=sl(o==null?void 0:o.data,O,n),this.selectError=null}catch(C){this.selectError=C}typeof O<"u"&&(x="success",m=O,h=!0)}this.selectError&&(p=this.selectError,m=this.selectResult,g=Date.now(),x="error");const S=y==="fetching";return{status:x,fetchStatus:y,isLoading:x==="loading",isSuccess:x==="success",isError:x==="error",data:m,dataUpdatedAt:d,error:p,errorUpdatedAt:g,failureCount:f.fetchFailureCount,errorUpdateCount:f.errorUpdateCount,isFetched:f.dataUpdateCount>0||f.errorUpdateCount>0,isFetchedAfterMount:f.dataUpdateCount>u.dataUpdateCount||f.errorUpdateCount>u.errorUpdateCount,isFetching:S,isRefetching:S&&x!=="loading",isLoadingError:x==="error"&&f.dataUpdatedAt===0,isPaused:y==="paused",isPlaceholderData:h,isPreviousData:v,isRefetchError:x==="error"&&f.dataUpdatedAt!==0,isStale:Pu(t,n),refetch:this.refetch,remove:this.remove}}updateResult(t){const n=this.currentResult,r=this.createResult(this.currentQuery,this.options);if(this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,pf(r,n))return;this.currentResult=r;const i={cache:!0},o=()=>{if(!n)return!0;const{notifyOnChangeProps:s}=this.options;if(s==="all"||!s&&!this.trackedProps.size)return!0;const a=new Set(s!=null?s:this.trackedProps);return this.options.useErrorBoundary&&a.add("error"),Object.keys(this.currentResult).some(l=>{const u=l;return this.currentResult[u]!==n[u]&&a.has(u)})};(t==null?void 0:t.listeners)!==!1&&o()&&(i.listeners=!0),this.notify({...i,...t})}updateQuery(){const t=this.client.getQueryCache().build(this.client,this.options);if(t===this.currentQuery)return;const n=this.currentQuery;this.currentQuery=t,this.currentQueryInitialState=t.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))}onQueryUpdate(t){const n={};t.type==="success"?n.onSuccess=!t.manual:t.type==="error"&&!ho(t.error)&&(n.onError=!0),this.updateResult(n),this.hasListeners()&&this.updateTimers()}notify(t){ae.batch(()=>{if(t.onSuccess){var n,r,i,o;(n=(r=this.options).onSuccess)==null||n.call(r,this.currentResult.data),(i=(o=this.options).onSettled)==null||i.call(o,this.currentResult.data,null)}else if(t.onError){var s,a,l,u;(s=(a=this.options).onError)==null||s.call(a,this.currentResult.error),(l=(u=this.options).onSettled)==null||l.call(u,void 0,this.currentResult.error)}t.listeners&&this.listeners.forEach(c=>{c(this.currentResult)}),t.cache&&this.client.getQueryCache().notify({query:this.currentQuery,type:"observerResultsUpdated"})})}}function Ey(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function yf(e,t){return Ey(e,t)||e.state.dataUpdatedAt>0&&al(e,t,t.refetchOnMount)}function al(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&Pu(e,t)}return!1}function Sf(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&Pu(e,n)}function Pu(e,t){return e.isStaleByTime(t.staleTime)}const wf=P.exports.createContext(void 0),$h=P.exports.createContext(!1);function Uh(e,t){return e||(t&&typeof window<"u"?(window.ReactQueryClientContext||(window.ReactQueryClientContext=wf),window.ReactQueryClientContext):wf)}const zh=({context:e}={})=>{const t=P.exports.useContext(Uh(e,P.exports.useContext($h)));if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Cy=({client:e,children:t,context:n,contextSharing:r=!1})=>{P.exports.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]);const i=Uh(n,r);return w($h.Provider,{value:!n&&r,children:w(i.Provider,{value:e,children:t})})},Bh=P.exports.createContext(!1),by=()=>P.exports.useContext(Bh);Bh.Provider;function Ry(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}const Ny=P.exports.createContext(Ry()),Ty=()=>P.exports.useContext(Ny);function Iy(e,t){return typeof e=="function"?e(...t):!!e}function Ly(e,t){const n=zh({context:e.context}),r=by(),i=Ty(),o=n.defaultQueryOptions(e);o._optimisticResults=r?"isRestoring":"optimistic",o.onError&&(o.onError=ae.batchCalls(o.onError)),o.onSuccess&&(o.onSuccess=ae.batchCalls(o.onSuccess)),o.onSettled&&(o.onSettled=ae.batchCalls(o.onSettled)),o.suspense&&typeof o.staleTime!="number"&&(o.staleTime=1e3),(o.suspense||o.useErrorBoundary)&&(i.isReset()||(o.retryOnMount=!1));const[s]=P.exports.useState(()=>new t(n,o)),a=s.getOptimisticResult(o);if(Su.exports.useSyncExternalStore(P.exports.useCallback(l=>r?()=>{}:s.subscribe(ae.batchCalls(l)),[s,r]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),P.exports.useEffect(()=>{i.clearReset()},[i]),P.exports.useEffect(()=>{s.setOptions(o,{listeners:!1})},[o,s]),o.suspense&&a.isLoading&&a.isFetching&&!r)throw s.fetchOptimistic(o).then(({data:l})=>{o.onSuccess==null||o.onSuccess(l),o.onSettled==null||o.onSettled(l,null)}).catch(l=>{i.clearReset(),o.onError==null||o.onError(l),o.onSettled==null||o.onSettled(void 0,l)});if(a.isError&&!i.isReset()&&!a.isFetching&&Iy(o.useErrorBoundary,[a.error,s.getCurrentQuery()]))throw a.error;return o.notifyOnChangeProps?a:s.trackResult(a)}function wr(e,t,n){const r=po(e,t,n);return Ly(r,_y)}/** - * react-query-devtools-noop - * - * Copyright (c) TanStack - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Dy(){return null}function rt(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:ku(e)?2:Ou(e)?3:0}function ll(e,t){return Nr(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Fy(e,t){return Nr(e)===2?e.get(t):e[t]}function Qh(e,t,n){var r=Nr(e);r===2?e.set(t,n):r===3?(e.delete(t),e.add(n)):e[t]=n}function My(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function ku(e){return By&&e instanceof Map}function Ou(e){return Qy&&e instanceof Set}function fe(e){return e.o||e.t}function _u(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Vy(e);delete t[Q];for(var n=Ru(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=jy),Object.freeze(e),t&&Pr(e,function(n,r){return Eu(r,!0)},!0)),e}function jy(){rt(2)}function Cu(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Nt(e){var t=cl[e];return t||rt(18,e),t}function Ay(e,t){cl[e]||(cl[e]=t)}function Bo(){return wi}function Zs(e,t){t&&(Nt("Patches"),e.u=[],e.s=[],e.v=t)}function Qo(e){ul(e),e.p.forEach($y),e.p=null}function ul(e){e===wi&&(wi=e.l)}function xf(e){return wi={p:[],l:wi,h:e,m:!0,_:0}}function $y(e){var t=e[Q];t.i===0||t.i===1?t.j():t.O=!0}function ea(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.g||Nt("ES5").S(t,e,r),r?(n[Q].P&&(Qo(t),rt(4)),Kt(e)&&(e=Ho(t,e),t.l||Vo(t,e)),t.u&&Nt("Patches").M(n[Q].t,e,t.u,t.s)):e=Ho(t,n,[]),Qo(t),t.u&&t.v(t.u,t.s),e!==Hh?e:void 0}function Ho(e,t,n){if(Cu(t))return t;var r=t[Q];if(!r)return Pr(t,function(o,s){return Pf(e,r,t,o,s,n)},!0),t;if(r.A!==e)return t;if(!r.P)return Vo(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=_u(r.k):r.o;Pr(r.i===3?new Set(i):i,function(o,s){return Pf(e,r,i,o,s,n)}),Vo(e,i,!1),n&&e.u&&Nt("Patches").R(r,n,e.u,e.s)}return r.o}function Pf(e,t,n,r,i,o){if(xr(i)){var s=Ho(e,i,o&&t&&t.i!==3&&!ll(t.D,r)?o.concat(r):void 0);if(Qh(n,r,s),!xr(s))return;e.m=!1}if(Kt(i)&&!Cu(i)){if(!e.h.F&&e._<1)return;Ho(e,i),t&&t.A.l||Vo(e,i)}}function Vo(e,t,n){n===void 0&&(n=!1),e.h.F&&e.m&&Eu(t,n)}function ta(e,t){var n=e[Q];return(n?fe(n):e)[t]}function kf(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function $t(e){e.P||(e.P=!0,e.l&&$t(e.l))}function na(e){e.o||(e.o=_u(e.t))}function Si(e,t,n){var r=ku(t)?Nt("MapSet").N(t,n):Ou(t)?Nt("MapSet").T(t,n):e.g?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:Bo(),P:!1,I:!1,D:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=fl;s&&(l=[a],u=Hr);var c=Proxy.revocable(l,u),f=c.revoke,d=c.proxy;return a.k=d,a.j=f,d}(t,n):Nt("ES5").J(t,n);return(n?n.A:Bo()).p.push(r),r}function Uy(e){return xr(e)||rt(22,e),function t(n){if(!Kt(n))return n;var r,i=n[Q],o=Nr(n);if(i){if(!i.P&&(i.i<4||!Nt("ES5").K(i)))return i.t;i.I=!0,r=Of(n,o),i.I=!1}else r=Of(n,o);return Pr(r,function(s,a){i&&Fy(i.t,s)===a||Qh(r,s,t(a))}),o===3?new Set(r):r}(e)}function Of(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return _u(e)}function zy(){function e(a,l){function u(){this.constructor=a}i(a,l),a.prototype=(u.prototype=l.prototype,new u)}function t(a){a.o||(a.D=new Map,a.o=new Map(a.t))}function n(a){a.o||(a.o=new Set,a.t.forEach(function(l){if(Kt(l)){var u=Si(a.A.h,l,a);a.p.set(l,u),a.o.add(u)}else a.o.add(l)}))}function r(a){a.O&&rt(3,JSON.stringify(fe(a)))}var i=function(a,l){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(u,c){u.__proto__=c}||function(u,c){for(var f in c)c.hasOwnProperty(f)&&(u[f]=c[f])})(a,l)},o=function(){function a(u,c){return this[Q]={i:2,l:c,A:c?c.A:Bo(),P:!1,I:!1,o:void 0,D:void 0,t:u,k:this,C:!1,O:!1},this}e(a,Map);var l=a.prototype;return Object.defineProperty(l,"size",{get:function(){return fe(this[Q]).size}}),l.has=function(u){return fe(this[Q]).has(u)},l.set=function(u,c){var f=this[Q];return r(f),fe(f).has(u)&&fe(f).get(u)===c||(t(f),$t(f),f.D.set(u,!0),f.o.set(u,c),f.D.set(u,!0)),this},l.delete=function(u){if(!this.has(u))return!1;var c=this[Q];return r(c),t(c),$t(c),c.t.has(u)?c.D.set(u,!1):c.D.delete(u),c.o.delete(u),!0},l.clear=function(){var u=this[Q];r(u),fe(u).size&&(t(u),$t(u),u.D=new Map,Pr(u.t,function(c){u.D.set(c,!1)}),u.o.clear())},l.forEach=function(u,c){var f=this;fe(this[Q]).forEach(function(d,p){u.call(c,f.get(p),p,f)})},l.get=function(u){var c=this[Q];r(c);var f=fe(c).get(u);if(c.I||!Kt(f)||f!==c.t.get(u))return f;var d=Si(c.A.h,f,c);return t(c),c.o.set(u,d),d},l.keys=function(){return fe(this[Q]).keys()},l.values=function(){var u,c=this,f=this.keys();return(u={})[Gi]=function(){return c.values()},u.next=function(){var d=f.next();return d.done?d:{done:!1,value:c.get(d.value)}},u},l.entries=function(){var u,c=this,f=this.keys();return(u={})[Gi]=function(){return c.entries()},u.next=function(){var d=f.next();if(d.done)return d;var p=c.get(d.value);return{done:!1,value:[d.value,p]}},u},l[Gi]=function(){return this.entries()},a}(),s=function(){function a(u,c){return this[Q]={i:3,l:c,A:c?c.A:Bo(),P:!1,I:!1,o:void 0,t:u,k:this,p:new Map,O:!1,C:!1},this}e(a,Set);var l=a.prototype;return Object.defineProperty(l,"size",{get:function(){return fe(this[Q]).size}}),l.has=function(u){var c=this[Q];return r(c),c.o?!!c.o.has(u)||!(!c.p.has(u)||!c.o.has(c.p.get(u))):c.t.has(u)},l.add=function(u){var c=this[Q];return r(c),this.has(u)||(n(c),$t(c),c.o.add(u)),this},l.delete=function(u){if(!this.has(u))return!1;var c=this[Q];return r(c),n(c),$t(c),c.o.delete(u)||!!c.p.has(u)&&c.o.delete(c.p.get(u))},l.clear=function(){var u=this[Q];r(u),fe(u).size&&(n(u),$t(u),u.o.clear())},l.values=function(){var u=this[Q];return r(u),n(u),u.o.values()},l.entries=function(){var u=this[Q];return r(u),n(u),u.o.entries()},l.keys=function(){return this.values()},l[Gi]=function(){return this.values()},l.forEach=function(u,c){for(var f=this.values(),d=f.next();!d.done;)u.call(c,d.value,d.value,this),d=f.next()},a}();Ay("MapSet",{N:function(a,l){return new o(a,l)},T:function(a,l){return new s(a,l)}})}var _f,wi,bu=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",By=typeof Map<"u",Qy=typeof Set<"u",Ef=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",Hh=bu?Symbol.for("immer-nothing"):((_f={})["immer-nothing"]=!0,_f),Cf=bu?Symbol.for("immer-draftable"):"__$immer_draftable",Q=bu?Symbol.for("immer-state"):"__$immer_state",Gi=typeof Symbol<"u"&&Symbol.iterator||"@@iterator",Hy=""+Object.prototype.constructor,Ru=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,Vy=Object.getOwnPropertyDescriptors||function(e){var t={};return Ru(e).forEach(function(n){t[n]=Object.getOwnPropertyDescriptor(e,n)}),t},cl={},fl={get:function(e,t){if(t===Q)return e;var n=fe(e);if(!ll(n,t))return function(i,o,s){var a,l=kf(o,s);return l?"value"in l?l.value:(a=l.get)===null||a===void 0?void 0:a.call(i.k):void 0}(e,n,t);var r=n[t];return e.I||!Kt(r)?r:r===ta(e.t,t)?(na(e),e.o[t]=Si(e.A.h,r,e)):r},has:function(e,t){return t in fe(e)},ownKeys:function(e){return Reflect.ownKeys(fe(e))},set:function(e,t,n){var r=kf(fe(e),t);if(r!=null&&r.set)return r.set.call(e.k,n),!0;if(!e.P){var i=ta(fe(e),t),o=i==null?void 0:i[Q];if(o&&o.t===n)return e.o[t]=n,e.D[t]=!1,!0;if(My(n,i)&&(n!==void 0||ll(e.t,t)))return!0;na(e),$t(e)}return e.o[t]===n&&typeof n!="number"&&(n!==void 0||t in e.o)||(e.o[t]=n,e.D[t]=!0,!0)},deleteProperty:function(e,t){return ta(e.t,t)!==void 0||t in e.t?(e.D[t]=!1,na(e),$t(e)):delete e.D[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var n=fe(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:r.enumerable,value:n[t]}},defineProperty:function(){rt(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){rt(12)}},Hr={};Pr(fl,function(e,t){Hr[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),Hr.deleteProperty=function(e,t){return Hr.set.call(this,e,t,void 0)},Hr.set=function(e,t,n){return fl.set.call(this,e[0],t,n,e[0])};var qy=function(){function e(n){var r=this;this.g=Ef,this.F=!0,this.produce=function(i,o,s){if(typeof i=="function"&&typeof o!="function"){var a=o;o=i;var l=r;return function(y){var x=this;y===void 0&&(y=a);for(var v=arguments.length,h=Array(v>1?v-1:0),m=1;m1?c-1:0),d=1;d=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Nt("Patches").$;return xr(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),Ge=new qy,A=Ge.produce;Ge.produceWithPatches.bind(Ge);Ge.setAutoFreeze.bind(Ge);Ge.setUseProxies.bind(Ge);Ge.applyPatches.bind(Ge);Ge.createDraft.bind(Ge);Ge.finishDraft.bind(Ge);function kr(){return kr=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}/** - * react-location - * - * Copyright (c) TanStack - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function mt(){return mt=Object.assign||function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function Yy(e,t){var n,r,i,o="";for(n in e)if((i=e[n])!==void 0)if(Array.isArray(i))for(r=0;rGh?Wy():Gy();class Nu{constructor(){this.listeners=[]}subscribe(t){return this.listeners.push(t),()=>{this.listeners=this.listeners.filter(n=>n!==t)}}notify(){this.listeners.forEach(t=>t())}}class n0 extends Nu{constructor(t){var n,r;super(),this.isTransitioning=!1,this.history=(t==null?void 0:t.history)||t0(),this.stringifySearch=(n=t==null?void 0:t.stringifySearch)!=null?n:g0,this.parseSearch=(r=t==null?void 0:t.parseSearch)!=null?r:h0,this.current=this.parseLocation(this.history.location),this.destroy=this.history.listen(i=>{this.current=this.parseLocation(i.location,this.current),this.notify()})}buildNext(t,n){var r,i,o,s;t===void 0&&(t="/"),n===void 0&&(n={});const a=mt({},this.current,n.from),l=p0(t,a.pathname,""+((r=n.to)!=null?r:".")),u=(i=n.__searchFilters)!=null&&i.length?n.__searchFilters.reduce((g,y)=>y(g),a.search):a.search,c=n.search===!0?u:n.search?(o=Df(n.search,u))!=null?o:{}:(s=n.__searchFilters)!=null&&s.length?u:{},f=ml(a.search,c),d=this.stringifySearch(f);let p=n.hash===!0?a.hash:Df(n.hash,a.hash);return p=p?"#"+p:"",{pathname:l,search:f,searchStr:d,hash:p,href:""+l+d+p,key:n.key}}navigate(t,n){this.current=t,this.navigateTimeout&&clearTimeout(this.navigateTimeout);let r="replace";return n||(r="push"),this.parseLocation(this.history.location).href===this.current.href&&!this.current.key&&(r="replace"),r==="replace"?this.history.replace({pathname:this.current.pathname,hash:this.current.hash,search:this.current.searchStr}):this.history.push({pathname:this.current.pathname,hash:this.current.hash,search:this.current.searchStr})}parseLocation(t,n){var r;const i=this.parseSearch(t.search);return{pathname:t.pathname,searchStr:t.search,search:ml(n==null?void 0:n.search,i),hash:(r=t.hash.split("#").reverse()[0])!=null?r:"",href:""+t.pathname+t.search+t.hash,key:t.key}}}function Yh(e){return w(Kh.Provider,{...e})}function r0(e){let{children:t,location:n,__experimental__snapshot:r}=e,i=hl(e,Xy);const o=P.exports.useRef(null);o.current||(o.current=new o0({location:n,__experimental__snapshot:r,routes:i.routes}));const s=o.current,[a,l]=P.exports.useReducer(()=>({}),{});return s.update(i),gl(()=>s.subscribe(()=>{l()}),[]),gl(()=>s.updateLocation(n.current).unsubscribe,[n.current.key]),P.exports.createElement(qh.Provider,{value:{location:n}},P.exports.createElement(Wh.Provider,{value:{router:s}},w(i0,{}),w(Yh,{value:[s.rootMatch,...s.state.matches],children:t!=null?t:w(ng,{})})))}function i0(){const e=Tu(),t=tg(),n=l0();return gl(()=>{t({to:".",search:!0,hash:!0}).href!==e.current.href&&n({to:".",search:!0,hash:!0,fromCurrent:!0,replace:!0})},[]),null}class o0 extends Nu{constructor(t){var n;let{location:r,__experimental__snapshot:i}=t,o=hl(t,Zy);super(),this.routesById={},this.update=a=>{let{basepath:l,routes:u}=a,c=hl(a,e0);Object.assign(this,c),this.basepath=ys("/"+(l!=null?l:"")),this.routesById={};const f=(d,p)=>d.map(g=>{var y,x,v,h;const m=(y=g.path)!=null?y:"*",S=Or([(p==null?void 0:p.id)==="root"?"":p==null?void 0:p.id,""+(m==null?void 0:m.replace(/(.)\/$/,"$1"))+(g.id?"-"+g.id:"")]);if(g=mt({},g,{pendingMs:(x=g.pendingMs)!=null?x:c==null?void 0:c.defaultPendingMs,pendingMinMs:(v=g.pendingMinMs)!=null?v:c==null?void 0:c.defaultPendingMinMs,id:S}),this.routesById[S])throw new Error;return this.routesById[S]=g,g.children=(h=g.children)!=null&&h.length?f(g.children,g):void 0,g});this.routes=f(u),this.rootMatch={id:"root",params:{},search:{},pathname:this.basepath,route:null,ownData:{},data:{},isLoading:!1,status:"resolved"}},this.setState=a=>{const l=a({state:this.state,pending:this.pending});this.state=l.state,this.pending=l.pending,this.cleanMatchCache(),this.notify()},this.matchCache={},this.cleanMatchCache=()=>{var a,l,u;const c=[...(a=this==null?void 0:this.state.matches)!=null?a:[],...(l=this==null||(u=this.pending)==null?void 0:u.matches)!=null?l:[]].map(f=>f.id);Object.values(this.matchCache).forEach(f=>{var d;if(!f.updatedAt||c.includes(f.id))return;const p=Date.now()-((d=f.updatedAt)!=null?d:0);(!f.maxAge||p>f.maxAge)&&(f.route.unloader&&f.route.unloader(f),delete this.matchCache[f.id])})},this.updateLocation=a=>{let l;return{promise:new Promise(c=>{const f=new If(this,a);this.setState(d=>mt({},d,{pending:{location:f.location,matches:f.matches}})),l=f.subscribe(()=>{const d=this.state.matches;d.filter(p=>!f.matches.find(g=>g.id===p.id)).forEach(p=>{p.onExit==null||p.onExit(p)}),d.filter(p=>f.matches.find(g=>g.id===p.id)).forEach(p=>{p.route.onTransition==null||p.route.onTransition(p)}),f.matches.filter(p=>!d.find(g=>g.id===p.id)).forEach(p=>{p.onExit=p.route.onMatch==null?void 0:p.route.onMatch(p)}),this.setState(p=>mt({},p,{state:{location:f.location,matches:f.matches},pending:void 0})),c()}),f.loadData(),f.startPending()}),unsubscribe:l}},this.__experimental__createSnapshot=()=>({location:this.state.location,matches:this.state.matches.map(a=>{let{ownData:l,id:u}=a;return{id:u,ownData:l}})}),this.update(o);let s=[];if(i){const a=new If(this,r.current);a.matches.forEach((l,u)=>{var c,f,d;if(l.id!==((c=i.matches[u])==null?void 0:c.id)){var p;throw new Error("Router hydration mismatch: "+l.id+" !== "+((p=i.matches[u])==null?void 0:p.id))}l.ownData=(f=(d=i.matches[u])==null?void 0:d.ownData)!=null?f:{}}),Jh(a.matches),s=a.matches}this.state={location:(n=i==null?void 0:i.location)!=null?n:r.current,matches:s},r.subscribe(()=>this.notify())}}function Tu(){const e=P.exports.useContext(qh);return rg(!!e,"useLocation must be used within a "),e.location}class s0{constructor(t){this.status="loading",this.ownData={},this.data={},this.isLoading=!1,this.notify=n=>{var r;(r=this.matchLoader)==null||r.preNotify(n?this:void 0)},this.assignMatchLoader=n=>{this.matchLoader=n},this.startPending=()=>{this.pendingTimeout&&clearTimeout(this.pendingTimeout),this.route.pendingMs!==void 0&&(this.pendingTimeout=setTimeout(()=>{var n;this.status==="loading"&&(this.status="pending"),(n=this.notify)==null||n.call(this),typeof this.route.pendingMinMs<"u"&&(this.pendingMinPromise=new Promise(r=>setTimeout(r,this.route.pendingMinMs)))},this.route.pendingMs))},this.load=n=>{var r,i;if(this.maxAge=(r=(i=n.maxAge)!=null?i:this.route.loaderMaxAge)!=null?r:n.router.defaultLoaderMaxAge,this.loaderPromise)return;const o=this.route.import;this.loaderPromise=(o?(()=>(this.isLoading=!0,o({params:this.params,search:this.search}).then(s=>{this.route=mt({},this.route,s)})))():Promise.resolve()).then(()=>{const s=[];["element","errorElement","pendingElement"].forEach(c=>{const f=this.route[c];this[c]||(typeof f=="function"?(this.isLoading=!0,s.push(f(this).then(d=>{this[c]=d}))):this[c]=this.route[c])});const l=this.route.loader,u=l?new Promise(async c=>{this.isLoading=!0;const f=g=>{this.updatedAt=Date.now(),c(this.ownData),this.status=g},d=g=>{this.ownData=g,this.error=void 0,f("resolved")},p=g=>{console.error(g),this.error=g,f("rejected")};try{d(await l(this,{parentMatch:n.parentMatch,dispatch:async g=>{var y;g.type==="resolve"?d(g.data):g.type==="reject"?p(g.error):g.type==="loading"?this.isLoading=!0:g.type==="maxAge"&&(this.maxAge=g.maxAge),this.updatedAt=Date.now(),(y=this.notify)==null||y.call(this,!0)}}))}catch(g){p(g)}}):Promise.resolve();return Promise.all([...s,u]).then(()=>{this.status="resolved",this.isLoading=!1,this.startPending=void 0}).then(()=>this.pendingMinPromise).then(()=>{var c;this.pendingTimeout&&clearTimeout(this.pendingTimeout),(c=this.notify)==null||c.call(this,!0)})}).then(()=>this.ownData)},Object.assign(this,t)}}class If extends Nu{constructor(t,n){var r;super(),r=this,this.preNotifiedMatches=[],this.status="pending",this.preNotify=o=>{o&&(this.preNotifiedMatches.includes(o)||this.preNotifiedMatches.push(o)),(!o||this.preNotifiedMatches.length===this.matches.length)&&(this.status="resolved",Jh(this.matches),this.notify())},this.loadData=async function(o){var s;let{maxAge:a}=o===void 0?{}:o;if(r.router.cleanMatchCache(),!((s=r.matches)!=null&&s.length)){r.preNotify();return}return r.firstRenderPromises=[],r.matches.forEach((l,u)=>{var c,f;const d=(c=r.matches)==null?void 0:c[u-1];l.assignMatchLoader==null||l.assignMatchLoader(r),l.load==null||l.load({maxAge:a,parentMatch:d,router:r.router}),(f=r.firstRenderPromises)==null||f.push(l.loaderPromise)}),await Promise.all(r.firstRenderPromises).then(()=>(r.preNotify(),r.matches))},this.load=async function(o){let{maxAge:s}=o===void 0?{}:o;return await r.loadData({maxAge:s})},this.startPending=async()=>{this.matches.forEach(o=>o.startPending==null?void 0:o.startPending())},this.router=t,this.location=n,this.matches=[];const i=Zh(this.router,this.location);this.matches=i==null?void 0:i.map(o=>(this.router.matchCache[o.id]||(this.router.matchCache[o.id]=new s0(o)),this.router.matchCache[o.id]))}}function Jh(e){e==null||e.forEach((t,n)=>{var r;const i=e==null?void 0:e[n-1];t.data=mt({},(r=i==null?void 0:i.data)!=null?r:{},t.ownData)})}function Xh(){const e=P.exports.useContext(Wh);if(!e)throw rg(!0,"You are trying to use useRouter() outside of ReactLocation!"),new Error;return e.router}function Zh(e,t){if(!e.routes.length)return[];const n=[],r=async(i,o)=>{var s;let{pathname:a,params:l}=o;const c=(e!=null&&e.filterRoutes?e==null?void 0:e.filterRoutes(i):i).find(g=>{var y,x;const v=Or([a,g.path]),h=!!(g.path!=="/"||(y=g.children)!=null&&y.length),m=u0(t,{to:v,search:g.search,fuzzy:h,caseSensitive:(x=g.caseSensitive)!=null?x:e.caseSensitive});return m&&(l=mt({},l,m)),!!m});if(!c)return;const f=Lf(c.path,l);a=Or([a,f]);const p={id:Lf(c.id,l,!0),route:c,params:l,pathname:a,search:t.search};n.push(p),(s=c.children)!=null&&s.length&&r(c.children,p)};return r(e.routes,e.rootMatch),n}function Lf(e,t,n){const r=xi(e);return Or(r.map(i=>{if(i.value==="*"&&!n)return"";if(i.type==="param"){var o;return(o=t[i.value.substring(1)])!=null?o:""}return i.value}))}function eg(){return P.exports.useContext(Kh)}function a0(){var e;return(e=eg())==null?void 0:e[0]}function l0(){const e=Tu(),t=a0(),n=tg();function r(i){var o;let{search:s,hash:a,replace:l,from:u,to:c,fromCurrent:f}=i;f=(o=f)!=null?o:typeof c>"u";const d=n({to:c,search:s,hash:a,from:f?e.current:u!=null?u:{pathname:t.pathname}});e.navigate(d,l)}return ig(r)}function tg(){const e=Tu(),t=Xh();return ig(r=>{const i=e.buildNext(t.basepath,r),s=Zh(t,i).map(a=>{var l;return(l=a.route.searchFilters)!=null?l:[]}).flat().filter(Boolean);return e.buildNext(t.basepath,mt({},r,{__searchFilters:s}))})}function ng(){var e;const t=Xh(),[n,...r]=eg(),i=r[0];if(!i)return null;const o=(e=i.errorElement)!=null?e:t.defaultErrorElement,s=(()=>{var a,l;if(i.status==="rejected"){if(o)return o;if(!t.useErrorBoundary)return"An unknown error occured!";throw i.error}const u=(a=i.pendingElement)!=null?a:t.defaultPendingElement;if(i.status==="loading")return null;if(i.status==="pending"&&(i.route.pendingMs||u))return u!=null?u:null;const c=(l=i.element)!=null?l:t.defaultElement;return c!=null?c:w(ng,{})})();return w(Yh,{value:r,children:s})}function u0(e,t){const n=f0(e,t),r=d0(e,t);if(!(t.to&&!n)&&!(t.search&&!r))return n!=null?n:{}}function rg(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function c0(e){return typeof e=="function"}function Df(e,t){return c0(e)?e(t):e}function Or(e){return ys(e.filter(Boolean).join("/"))}function ys(e){return(""+e).replace(/\/{2,}/g,"/")}function f0(e,t){var n;const r=xi(e.pathname),i=xi(""+((n=t.to)!=null?n:"*")),o={};return(()=>{for(let a=0;ad.value)),!0):!1;if(u.type==="pathname"){if(u.value==="/"&&!(l!=null&&l.value))return!0;if(l){if(t.caseSensitive){if(u.value!==l.value)return!1}else if(u.value.toLowerCase()!==l.value.toLowerCase())return!1}}if(!l)return!1;u.type==="param"&&(o[u.value.substring(1)]=l.value)}if(c&&!f)return!!t.fuzzy}return!0})()?o:void 0}function d0(e,t){return!!(t.search&&t.search(e.search))}function xi(e){if(!e)return[];e=ys(e);const t=[];if(e.slice(0,1)==="/"&&(e=e.substring(1),t.push({type:"pathname",value:"/"})),!e)return t;const n=e.split("/").filter(Boolean);return t.push(...n.map(r=>r.startsWith("*")?{type:"wildcard",value:r}:r.charAt(0)===":"?{type:"param",value:r}:{type:"pathname",value:r})),e.slice(-1)==="/"&&(e=e.substring(1),t.push({type:"pathname",value:"/"})),t}function p0(e,t,n){t=t.replace(new RegExp("^"+e),"/"),n=n.replace(new RegExp("^"+e),"/");let r=xi(t);const i=xi(n);i.forEach((s,a)=>{if(s.value==="/")a?a===i.length-1&&r.push(s):r=[s];else if(s.value==="..")r.pop();else{if(s.value===".")return;r.push(s)}});const o=Or([e,...r.map(s=>s.value)]);return ys(o)}function ig(e){const t=P.exports.useRef(),n=P.exports.useRef(e);return n.current=e,t.current||(t.current=function(){return n.current(...arguments)}),t.current}function ml(e,t){if(e===t)return e;const n=Array.isArray(e)&&Array.isArray(t);if(n||Ff(e)&&Ff(t)){const r=n?e.length:Object.keys(e).length,i=n?t:Object.keys(t),o=i.length,s=n?[]:{};let a=0;for(let l=0;l"u")return!0;const n=t.prototype;return!(!Mf(n)||!n.hasOwnProperty("isPrototypeOf"))}function Mf(e){return Object.prototype.toString.call(e)==="[object Object]"}const h0=m0(JSON.parse),g0=v0(JSON.stringify);function m0(e){return t=>{t.substring(0,1)==="?"&&(t=t.substring(1));let n=Jy(t);for(let r in n){const i=n[r];if(typeof i=="string")try{n[r]=e(i)}catch{}}return n}}function v0(e){return t=>{t=mt({},t),t&&Object.keys(t).forEach(r=>{const i=t[r];if(typeof i>"u"||i===void 0)delete t[r];else if(i&&typeof i=="object"&&i!==null)try{t[r]=e(i)}catch{}});const n=Yy(t).toString();return n?"?"+n:""}}var y0="_1qevocv0",S0="_1qevocv2",w0="_1qevocv3",x0="_1qevocv4",P0="_1qevocv1";const Lt="",k0=5e3,O0=async()=>{const e=`${Lt}/ping`;return await(await fetch(e)).json()},_0=async()=>await(await fetch(`${Lt}/modifiers.json`)).json(),E0=async()=>(await(await fetch(`${Lt}/output_dir`)).json())[0],vl="config",og=async()=>await(await fetch(`${Lt}/app_config`)).json(),C0="toggle_config",b0=async e=>await(await fetch(`${Lt}/app_config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({update_branch:e})})).json(),R0=async e=>await fetch(`${Lt}/image`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),sg=async()=>await(await fetch(`${Lt}/image/stop`)).json(),N0=[["Drawing Style",["Cel Shading","Children's Drawing","Crosshatch","Detailed and Intricate","Doodle","Dot Art","Line Art","Sketch"]],["Visual Style",["2D","8-bit","16-bit","Anaglyph","Anime","CGI"]]],jf=e=>{let t;const n=new Set,r=(l,u)=>{const c=typeof l=="function"?l(t):l;if(c!==t){const f=t;t=(u!=null?u:typeof c!="object")?c:Object.assign({},t,c),n.forEach(d=>d(t,f))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>n.clear()};return t=e(r,i,a),a},T0=e=>e?jf(e):jf;var ag={exports:{}},lg={};/** - * @license React - * use-sync-external-store-shim/with-selector.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Ss=P.exports,I0=Su.exports;function L0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var D0=typeof Object.is=="function"?Object.is:L0,F0=I0.useSyncExternalStore,M0=Ss.useRef,j0=Ss.useEffect,A0=Ss.useMemo,$0=Ss.useDebugValue;lg.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=M0(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=A0(function(){function l(p){if(!u){if(u=!0,c=p,p=r(p),i!==void 0&&s.hasValue){var g=s.value;if(i(g,p))return f=g}return f=p}if(g=f,D0(c,p))return g;var y=r(p);return i!==void 0&&i(g,y)?g:(c=p,f=y)}var u=!1,c,f,d=n===void 0?null:n;return[function(){return l(t())},d===null?void 0:function(){return l(d())}]},[t,n,r,i]);var a=F0(e,o[0],o[1]);return j0(function(){s.hasValue=!0,s.value=a},[a]),$0(a),a};(function(e){e.exports=lg})(ag);const U0=wd(ag.exports),{useSyncExternalStoreWithSelector:z0}=U0;function B0(e,t=e.getState,n){const r=z0(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return P.exports.useDebugValue(r),r}const Af=e=>{const t=typeof e=="function"?T0(e):e,n=(r,i)=>B0(t,r,i);return Object.assign(n,t),n},Q0=e=>e?Af(e):Af;var Ri=Q0;const H0=(e,t={})=>(n,r,i)=>{const{enabled:o,anonymousActionType:s,...a}=t;let l;try{l=(o!=null?o:({BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0}&&"production")!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!l)return({BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0}&&"production")!=="production"&&o&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),e(n,r,i);const u=l.connect(a);let c=!0;i.setState=(p,g,y)=>{const x=n(p,g);return c&&u.send(y===void 0?{type:s||"anonymous"}:typeof y=="string"?{type:y}:y,r()),x};const f=(...p)=>{const g=c;c=!1,n(...p),c=g},d=e(i.setState,r,i);if(u.init(d),i.dispatchFromDevtools&&typeof i.dispatch=="function"){let p=!1;const g=i.dispatch;i.dispatch=(...y)=>{({BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0}&&"production")!=="production"&&y[0].type==="__setState"&&!p&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),p=!0),g(...y)}}return u.subscribe(p=>{var g;switch(p.type){case"ACTION":if(typeof p.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return ra(p.payload,y=>{if(y.type==="__setState"){f(y.state);return}!i.dispatchFromDevtools||typeof i.dispatch=="function"&&i.dispatch(y)});case"DISPATCH":switch(p.payload.type){case"RESET":return f(d),u.init(i.getState());case"COMMIT":return u.init(i.getState());case"ROLLBACK":return ra(p.state,y=>{f(y),u.init(i.getState())});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return ra(p.state,y=>{f(y)});case"IMPORT_STATE":{const{nextLiftedState:y}=p.payload,x=(g=y.computedStates.slice(-1)[0])==null?void 0:g.state;if(!x)return;f(x),u.send(null,y);return}case"PAUSE_RECORDING":return c=!c}return}}),d},V0=H0,ra=(e,t)=>{let n;try{n=JSON.parse(e)}catch(r){console.error("[zustand devtools middleware] Could not parse the received json",r)}n!==void 0&&t(n)},Wo=e=>t=>{try{const n=e(t);return n instanceof Promise?n:{then(r){return Wo(r)(n)},catch(r){return this}}}catch(n){return{then(r){return this},catch(r){return Wo(r)(n)}}}},q0=(e,t)=>(n,r,i)=>{let o={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:x=>x,version:0,merge:(x,v)=>({...v,...x}),...t},s=!1;const a=new Set,l=new Set;let u;try{u=o.getStorage()}catch{}if(!u)return e((...x)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),n(...x)},r,i);const c=Wo(o.serialize),f=()=>{const x=o.partialize({...r()});let v;const h=c({state:x,version:o.version}).then(m=>u.setItem(o.name,m)).catch(m=>{v=m});if(v)throw v;return h},d=i.setState;i.setState=(x,v)=>{d(x,v),f()};const p=e((...x)=>{n(...x),f()},r,i);let g;const y=()=>{var x;if(!u)return;s=!1,a.forEach(h=>h(r()));const v=((x=o.onRehydrateStorage)==null?void 0:x.call(o,r()))||void 0;return Wo(u.getItem.bind(u))(o.name).then(h=>{if(h)return o.deserialize(h)}).then(h=>{if(h)if(typeof h.version=="number"&&h.version!==o.version){if(o.migrate)return o.migrate(h.state,h.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return h.state}).then(h=>{var m;return g=o.merge(h,(m=r())!=null?m:p),n(g,!0),f()}).then(()=>{v==null||v(g,void 0),s=!0,l.forEach(h=>h(g))}).catch(h=>{v==null||v(void 0,h)})};return i.persist={setOptions:x=>{o={...o,...x},x.getStorage&&(u=x.getStorage())},clearStorage:()=>{u==null||u.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>y(),hasHydrated:()=>s,onHydrate:x=>(a.add(x),()=>{a.delete(x)}),onFinishHydration:x=>(l.add(x),()=>{l.delete(x)})},y(),g||p},K0=q0;function Go(){return Math.floor(Math.random()*1e4)}const W0=["plms","ddim","heun","euler","euler_a","dpm2","dpm2_a","lms"],D=Ri(V0((e,t)=>({parallelCount:1,requestOptions:{session_id:new Date().getTime().toString(),prompt:"a photograph of an astronaut riding a horse",negative_prompt:"",seed:Go(),num_outputs:1,num_inference_steps:50,guidance_scale:7.5,width:512,height:512,prompt_strength:.8,turbo:!0,use_cpu:!1,use_full_precision:!0,save_to_disk_path:"null",use_face_correction:"GFPGANv1.3",use_upscale:"RealESRGAN_x4plus",show_only_filtered_image:!0,init_image:void 0,sampler:"plms",stream_progress_updates:!0,stream_image_progress:!1,mask:void 0},createTags:[],tagMap:{},uiOptions:{isUseRandomSeed:!0,isUseAutoSave:!1,isSoundEnabled:!1},allModifiers:[],isInpainting:!1,setParallelCount:n=>e(A(r=>{r.parallelCount=n})),setRequestOptions:(n,r)=>{e(A(i=>{i.requestOptions[n]=r}))},getValueForRequestKey:n=>t().requestOptions[n],setAllModifiers:n=>{e(A(r=>{r.allModifiers=n}))},toggleTag:(n,r)=>{e(A(i=>{Object.keys(i.tagMap).includes(n)?i.tagMap[n].includes(r)?i.tagMap[n]=i.tagMap[n].filter(o=>o!==r):i.tagMap[n].push(r):i.tagMap[n]=[r]}))},hasTag:(n,r)=>{var i;return(i=t().tagMap[n])==null?void 0:i.includes(r)},selectedTags:()=>{const n=t().allModifiers,r=t().tagMap;let i=[];for(const[o,s]of Object.entries(r)){const a=n.find(l=>l.category===o);if(a)for(const l of s){const u=a.modifiers.find(c=>c.modifier===l);u&&(i=i.concat({...u,category:a.category}))}}return i},addCreateTag:n=>{e(A(r=>{r.createTags.push(n)}))},removeCreateTag:n=>{e(A(r=>{r.createTags=r.createTags.filter(i=>i.id!==n)}))},changeCreateTagType:(n,r)=>{e(A(i=>{const o=i.createTags.find(s=>s.id===n);o&&(o.type=r)}))},reorderCreateTag:(n,r)=>{e(A(i=>{const o=i.createTags.indexOf(n);o!==-1&&(i.createTags.splice(o,1),i.createTags.splice(r,0,n))}))},builtRequest:()=>{const n=t(),r=n.requestOptions;t().selectedTags().map(l=>l.modifier);const o=n.createTags.filter(l=>l.type==="positive").map(l=>l.name).join(","),s=n.createTags.filter(l=>l.type==="negative").map(l=>l.name).join(","),a={...r,prompt:o,negative_prompt:s};return n.uiOptions.isUseAutoSave||(a.save_to_disk_path=null),a.init_image===void 0&&(a.prompt_strength=void 0),a.use_upscale===""&&(a.use_upscale=null),a.use_upscale===null&&a.use_face_correction===null&&(a.show_only_filtered_image=!1),a},toggleUseFaceCorrection:()=>{e(A(n=>{const r=typeof n.getValueForRequestKey("use_face_correction")=="string"?null:"GFPGANv1.3";n.requestOptions.use_face_correction=r}))},isUsingFaceCorrection:()=>typeof t().getValueForRequestKey("use_face_correction")=="string",isUsingUpscaling:()=>t().getValueForRequestKey("use_upscale")!=="",toggleUseRandomSeed:()=>{e(A(n=>{n.uiOptions.isUseRandomSeed=!n.uiOptions.isUseRandomSeed,n.requestOptions.seed=n.uiOptions.isUseRandomSeed?Go():n.requestOptions.seed}))},isRandomSeed:()=>t().uiOptions.isUseRandomSeed,toggleUseAutoSave:()=>{e(A(n=>{n.uiOptions.isUseAutoSave=!n.uiOptions.isUseAutoSave}))},isUseAutoSave:()=>t().uiOptions.isUseAutoSave,toggleSoundEnabled:()=>{e(A(n=>{n.uiOptions.isSoundEnabled=!n.uiOptions.isSoundEnabled}))},isSoundEnabled:()=>t().uiOptions.isSoundEnabled,toggleInpainting:()=>{e(A(n=>{n.isInpainting=!n.isInpainting}))}}))),G0=`${Lt}/ding.mp3`,Iu=G.forwardRef((e,t)=>w("audio",{ref:t,style:{display:"none"},children:w("source",{src:G0,type:"audio/mp3"})}));Iu.displayName="AudioDing";var $f="_1jo75h1",Uf="_1jo75h0",Y0="_1jo75h2";const zf="Stable Diffusion is starting...",J0="Stable Diffusion is ready to use!",Bf="Stable Diffusion is not running!";function X0({className:e}){const[t,n]=P.exports.useState(zf),[r,i]=P.exports.useState(Uf),o=P.exports.useRef(),{status:s,data:a}=wr(["health"],O0,{refetchInterval:k0});return P.exports.useEffect(()=>{var l;s==="loading"?(n(zf),i(Uf)):s==="error"?(n(Bf),i($f)):s==="success"&&(a[0]==="OK"?(n(J0),i(Y0),(l=o.current)==null||l.play().catch(u=>{console.log("DING!")})):(n(Bf),i($f)))},[s,a,o]),R(lt,{children:[w(Iu,{ref:o}),w("p",{className:[r,e].join(" "),children:t})]})}const ug=typeof window>"u"||typeof document>"u";let Wt=ug?P.exports.useEffect:P.exports.useLayoutEffect;function Dn(e){let t=P.exports.useRef(e);return Wt(()=>{t.current=e},[e]),t}function Z0(e){typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e).catch(t=>setTimeout(()=>{throw t}))}let q=function(e){let t=Dn(e);return G.useCallback((...n)=>t.current(...n),[t])},ia={serverHandoffComplete:!1};function e1(){let[e,t]=P.exports.useState(ia.serverHandoffComplete);return P.exports.useEffect(()=>{e!==!0&&t(!0)},[e]),P.exports.useEffect(()=>{ia.serverHandoffComplete===!1&&(ia.serverHandoffComplete=!0)},[]),e}var Qf;let t1=0;function Hf(){return++t1}let yt=(Qf=G.useId)!=null?Qf:function(){let e=e1(),[t,n]=G.useState(e?Hf:null);return Wt(()=>{t===null&&n(Hf())},[t]),t!=null?""+t:void 0};function St(e,t,...n){if(e in t){let i=t[e];return typeof i=="function"?i(...n):i}let r=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(i=>`"${i}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,St),r}function Lu(e){return ug?null:e instanceof Node?e.ownerDocument:e!=null&&e.hasOwnProperty("current")&&e.current instanceof Node?e.current.ownerDocument:document}let yl=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");var me=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(me||{}),n1=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(n1||{}),r1=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(r1||{});function cg(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(yl))}var Du=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(Du||{});function fg(e,t=0){var n;return e===((n=Lu(e))==null?void 0:n.body)?!1:St(t,{[0](){return e.matches(yl)},[1](){let r=e;for(;r!==null;){if(r.matches(yl))return!0;r=r.parentElement}return!1}})}let i1=["textarea","input"].join(",");function o1(e){var t,n;return(n=(t=e==null?void 0:e.matches)==null?void 0:t.call(e,i1))!=null?n:!1}function Sl(e,t=n=>n){return e.slice().sort((n,r)=>{let i=t(n),o=t(r);if(i===null||o===null)return 0;let s=i.compareDocumentPosition(o);return s&Node.DOCUMENT_POSITION_FOLLOWING?-1:s&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function nt(e,t,n=!0,r=null){let i=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,o=Array.isArray(e)?n?Sl(e):e:cg(e);r=r!=null?r:i.activeElement;let s=(()=>{if(t&5)return 1;if(t&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),a=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,o.indexOf(r))-1;if(t&4)return Math.max(0,o.indexOf(r))+1;if(t&8)return o.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),l=t&32?{preventScroll:!0}:{},u=0,c=o.length,f;do{if(u>=c||u+c<=0)return 0;let d=a+u;if(t&16)d=(d+c)%c;else{if(d<0)return 3;if(d>=c)return 1}f=o[d],f==null||f.focus(l),u+=s}while(f!==i.activeElement);return t&6&&o1(f)&&f.select(),f.hasAttribute("tabindex")||f.setAttribute("tabindex","0"),2}function oa(e,t,n){let r=Dn(t);P.exports.useEffect(()=>{function i(o){r.current(o)}return document.addEventListener(e,i,n),()=>document.removeEventListener(e,i,n)},[e,n])}function s1(e,t,n=!0){let r=P.exports.useRef(!1);P.exports.useEffect(()=>{requestAnimationFrame(()=>{r.current=n})},[n]);function i(s,a){if(!r.current||s.defaultPrevented)return;let l=function c(f){return typeof f=="function"?c(f()):Array.isArray(f)||f instanceof Set?f:[f]}(e),u=a(s);if(u!==null&&!!u.ownerDocument.documentElement.contains(u)){for(let c of l){if(c===null)continue;let f=c instanceof HTMLElement?c:c.current;if(f!=null&&f.contains(u))return}return!fg(u,Du.Loose)&&u.tabIndex!==-1&&s.preventDefault(),t(s,u)}}let o=P.exports.useRef(null);oa("mousedown",s=>{r.current&&(o.current=s.target)},!0),oa("click",s=>{!o.current||(i(s,()=>o.current),o.current=null)},!0),oa("blur",s=>i(s,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}function Vf(e){var t;if(e.type)return e.type;let n=(t=e.as)!=null?t:"button";if(typeof n=="string"&&n.toLowerCase()==="button")return"button"}function Fu(e,t){let[n,r]=P.exports.useState(()=>Vf(e));return Wt(()=>{r(Vf(e))},[e.type,e.as]),Wt(()=>{n||!t.current||t.current instanceof HTMLButtonElement&&!t.current.hasAttribute("type")&&r("button")},[n,t]),n}let dg=Symbol();function a1(e,t=!0){return Object.assign(e,{[dg]:t})}function Ue(...e){let t=P.exports.useRef(e);P.exports.useEffect(()=>{t.current=e},[e]);let n=q(r=>{for(let i of t.current)i!=null&&(typeof i=="function"?i(r):i.current=r)});return e.every(r=>r==null||(r==null?void 0:r[dg]))?void 0:n}var Un=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(Un||{}),l1=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(l1||{});function Ie({ourProps:e,theirProps:t,slot:n,defaultTag:r,features:i,visible:o=!0,name:s}){let a=pg(t,e);if(o)return Yi(a,n,r,s);let l=i!=null?i:0;if(l&2){let{static:u=!1,...c}=a;if(u)return Yi(c,n,r,s)}if(l&1){let{unmount:u=!0,...c}=a;return St(u?0:1,{[0](){return null},[1](){return Yi({...c,hidden:!0,style:{display:"none"}},n,r,s)}})}return Yi(a,n,r,s)}function Yi(e,t={},n,r){let{as:i=n,children:o,refName:s="ref",...a}=sa(e,["unmount","static"]),l=e.ref!==void 0?{[s]:e.ref}:{},u=typeof o=="function"?o(t):o;a.className&&typeof a.className=="function"&&(a.className=a.className(t));let c={};if(t){let f=!1,d=[];for(let[p,g]of Object.entries(t))typeof g=="boolean"&&(f=!0),g===!0&&d.push(p);f&&(c["data-headlessui-state"]=d.join(" "))}if(i===P.exports.Fragment&&Object.keys(wl(a)).length>0){if(!P.exports.isValidElement(u)||Array.isArray(u)&&u.length>1)throw new Error(['Passing props on "Fragment"!',"",`The current component <${r} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(a).map(f=>` - ${f}`).join(` -`),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map(f=>` - ${f}`).join(` -`)].join(` -`));return P.exports.cloneElement(u,Object.assign({},pg(u.props,wl(sa(a,["ref"]))),c,l,u1(u.ref,l.ref)))}return P.exports.createElement(i,Object.assign({},sa(a,["ref"]),i!==P.exports.Fragment&&l,i!==P.exports.Fragment&&c),u)}function u1(...e){return{ref:e.every(t=>t==null)?void 0:t=>{for(let n of e)n!=null&&(typeof n=="function"?n(t):n.current=t)}}}function pg(...e){if(e.length===0)return{};if(e.length===1)return e[0];let t={},n={};for(let r of e)for(let i in r)i.startsWith("on")&&typeof r[i]=="function"?(n[i]!=null||(n[i]=[]),n[i].push(r[i])):t[i]=r[i];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(n).map(r=>[r,void 0])));for(let r in n)Object.assign(t,{[r](i,...o){let s=n[r];for(let a of s){if((i instanceof Event||(i==null?void 0:i.nativeEvent)instanceof Event)&&i.defaultPrevented)return;a(i,...o)}}});return t}function ze(e){var t;return Object.assign(P.exports.forwardRef(e),{displayName:(t=e.displayName)!=null?t:e.name})}function wl(e){let t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function sa(e,t=[]){let n=Object.assign({},e);for(let r of t)r in n&&delete n[r];return n}function Mu(e){let t=e.parentElement,n=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(n=t),t=t.parentElement;let r=(t==null?void 0:t.getAttribute("disabled"))==="";return r&&c1(n)?!1:r}function c1(e){if(!e)return!1;let t=e.previousElementSibling;for(;t!==null;){if(t instanceof HTMLLegendElement)return!1;t=t.previousElementSibling}return!0}function f1(e){var t;let n=(t=e==null?void 0:e.form)!=null?t:e.closest("form");if(n){for(let r of n.elements)if(r.tagName==="INPUT"&&r.type==="submit"||r.tagName==="BUTTON"&&r.type==="submit"||r.nodeName==="INPUT"&&r.type==="image"){r.click();return}}}let d1="div";var _r=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(_r||{});let Er=ze(function(e,t){let{features:n=1,...r}=e,i={ref:t,"aria-hidden":(n&2)===2?!0:void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(n&4)===4&&(n&2)!==2&&{display:"none"}}};return Ie({ourProps:i,theirProps:r,slot:{},defaultTag:d1,name:"Hidden"})}),ju=P.exports.createContext(null);ju.displayName="OpenClosedContext";var Pi=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Pi||{});function hg(){return P.exports.useContext(ju)}function p1({value:e,children:t}){return G.createElement(ju.Provider,{value:e},t)}var se=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(se||{});function h1(e,t,n){let[r,i]=P.exports.useState(n),o=e!==void 0;return[o?e:r,q(s=>(o||i(s),t==null?void 0:t(s)))]}function g1(e,t,n){let r=Dn(t);P.exports.useEffect(()=>{function i(o){r.current(o)}return window.addEventListener(e,i,n),()=>window.removeEventListener(e,i,n)},[e,n])}var Tn=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(Tn||{});function gg(){let e=P.exports.useRef(0);return g1("keydown",t=>{t.key==="Tab"&&(e.current=t.shiftKey?1:0)},!0),e}function Au(...e){return P.exports.useMemo(()=>Lu(...e),[...e])}function m1(e,t,n,r){let i=Dn(n);P.exports.useEffect(()=>{e=e!=null?e:window;function o(s){i.current(s)}return e.addEventListener(t,o,r),()=>e.removeEventListener(t,o,r)},[e,t,r])}let mg=P.exports.createContext(null);function vg(){let e=P.exports.useContext(mg);if(e===null){let t=new Error("You used a component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(t,vg),t}return e}function v1(){let[e,t]=P.exports.useState([]);return[e.length>0?e.join(" "):void 0,P.exports.useMemo(()=>function(n){let r=q(o=>(t(s=>[...s,o]),()=>t(s=>{let a=s.slice(),l=a.indexOf(o);return l!==-1&&a.splice(l,1),a}))),i=P.exports.useMemo(()=>({register:r,slot:n.slot,name:n.name,props:n.props}),[r,n.slot,n.name,n.props]);return G.createElement(mg.Provider,{value:i},n.children)},[t])]}let y1="p",S1=ze(function(e,t){let n=vg(),r=`headlessui-description-${yt()}`,i=Ue(t);Wt(()=>n.register(r),[r,n.register]);let o=e,s={ref:i,...n.props,id:r};return Ie({ourProps:s,theirProps:o,slot:n.slot||{},defaultTag:y1,name:n.name||"Description"})});var w1=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(w1||{}),x1=(e=>(e[e.TogglePopover=0]="TogglePopover",e[e.ClosePopover=1]="ClosePopover",e[e.SetButton=2]="SetButton",e[e.SetButtonId=3]="SetButtonId",e[e.SetPanel=4]="SetPanel",e[e.SetPanelId=5]="SetPanelId",e))(x1||{});let P1={[0]:e=>({...e,popoverState:St(e.popoverState,{[0]:1,[1]:0})}),[1](e){return e.popoverState===1?e:{...e,popoverState:1}},[2](e,t){return e.button===t.button?e:{...e,button:t.button}},[3](e,t){return e.buttonId===t.buttonId?e:{...e,buttonId:t.buttonId}},[4](e,t){return e.panel===t.panel?e:{...e,panel:t.panel}},[5](e,t){return e.panelId===t.panelId?e:{...e,panelId:t.panelId}}},$u=P.exports.createContext(null);$u.displayName="PopoverContext";function ws(e){let t=P.exports.useContext($u);if(t===null){let n=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,ws),n}return t}let Uu=P.exports.createContext(null);Uu.displayName="PopoverAPIContext";function zu(e){let t=P.exports.useContext(Uu);if(t===null){let n=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,zu),n}return t}let Bu=P.exports.createContext(null);Bu.displayName="PopoverGroupContext";function yg(){return P.exports.useContext(Bu)}let Qu=P.exports.createContext(null);Qu.displayName="PopoverPanelContext";function k1(){return P.exports.useContext(Qu)}function O1(e,t){return St(t.type,P1,e,t)}let _1="div",E1=ze(function(e,t){var n;let r=`headlessui-popover-button-${yt()}`,i=`headlessui-popover-panel-${yt()}`,o=P.exports.useRef(null),s=Ue(t,a1(k=>{o.current=k})),a=P.exports.useReducer(O1,{popoverState:1,button:null,buttonId:r,panel:null,panelId:i,beforePanelSentinel:P.exports.createRef(),afterPanelSentinel:P.exports.createRef()}),[{popoverState:l,button:u,panel:c,beforePanelSentinel:f,afterPanelSentinel:d},p]=a,g=Au((n=o.current)!=null?n:u);P.exports.useEffect(()=>p({type:3,buttonId:r}),[r,p]),P.exports.useEffect(()=>p({type:5,panelId:i}),[i,p]);let y=P.exports.useMemo(()=>{if(!u||!c)return!1;for(let k of document.querySelectorAll("body > *"))if(Number(k==null?void 0:k.contains(u))^Number(k==null?void 0:k.contains(c)))return!0;return!1},[u,c]),x=P.exports.useMemo(()=>({buttonId:r,panelId:i,close:()=>p({type:1})}),[r,i,p]),v=yg(),h=v==null?void 0:v.registerPopover,m=q(()=>{var k;return(k=v==null?void 0:v.isFocusWithinPopoverGroup())!=null?k:(g==null?void 0:g.activeElement)&&((u==null?void 0:u.contains(g.activeElement))||(c==null?void 0:c.contains(g.activeElement)))});P.exports.useEffect(()=>h==null?void 0:h(x),[h,x]),m1(g==null?void 0:g.defaultView,"focus",k=>{var E,I,j,z;l===0&&(m()||!u||!c||(I=(E=f.current)==null?void 0:E.contains)!=null&&I.call(E,k.target)||(z=(j=d.current)==null?void 0:j.contains)!=null&&z.call(j,k.target)||p({type:1}))},!0),s1([u,c],(k,E)=>{p({type:1}),fg(E,Du.Loose)||(k.preventDefault(),u==null||u.focus())},l===0);let S=q(k=>{p({type:1});let E=(()=>k?k instanceof HTMLElement?k:"current"in k&&k.current instanceof HTMLElement?k.current:u:u)();E==null||E.focus()}),_=P.exports.useMemo(()=>({close:S,isPortalled:y}),[S,y]),O=P.exports.useMemo(()=>({open:l===0,close:S}),[l,S]),C=e,b={ref:s};return G.createElement($u.Provider,{value:a},G.createElement(Uu.Provider,{value:_},G.createElement(p1,{value:St(l,{[0]:Pi.Open,[1]:Pi.Closed})},Ie({ourProps:b,theirProps:C,slot:O,defaultTag:_1,name:"Popover"}))))}),C1="button",b1=ze(function(e,t){let[n,r]=ws("Popover.Button"),{isPortalled:i}=zu("Popover.Button"),o=P.exports.useRef(null),s=`headlessui-focus-sentinel-${yt()}`,a=yg(),l=a==null?void 0:a.closeOthers,u=k1(),c=u===null?!1:u===n.panelId,f=Ue(o,t,c?null:k=>r({type:2,button:k})),d=Ue(o,t),p=Au(o),g=q(k=>{var E,I,j;if(c){if(n.popoverState===1)return;switch(k.key){case se.Space:case se.Enter:k.preventDefault(),(I=(E=k.target).click)==null||I.call(E),r({type:1}),(j=n.button)==null||j.focus();break}}else switch(k.key){case se.Space:case se.Enter:k.preventDefault(),k.stopPropagation(),n.popoverState===1&&(l==null||l(n.buttonId)),r({type:0});break;case se.Escape:if(n.popoverState!==0)return l==null?void 0:l(n.buttonId);if(!o.current||(p==null?void 0:p.activeElement)&&!o.current.contains(p.activeElement))return;k.preventDefault(),k.stopPropagation(),r({type:1});break}}),y=q(k=>{c||k.key===se.Space&&k.preventDefault()}),x=q(k=>{var E,I;Mu(k.currentTarget)||e.disabled||(c?(r({type:1}),(E=n.button)==null||E.focus()):(k.preventDefault(),k.stopPropagation(),n.popoverState===1&&(l==null||l(n.buttonId)),r({type:0}),(I=n.button)==null||I.focus()))}),v=q(k=>{k.preventDefault(),k.stopPropagation()}),h=n.popoverState===0,m=P.exports.useMemo(()=>({open:h}),[h]),S=Fu(e,o),_=e,O=c?{ref:d,type:S,onKeyDown:g,onClick:x}:{ref:f,id:n.buttonId,type:S,"aria-expanded":e.disabled?void 0:n.popoverState===0,"aria-controls":n.panel?n.panelId:void 0,onKeyDown:g,onKeyUp:y,onClick:x,onMouseDown:v},C=gg(),b=q(()=>{let k=n.panel;if(!k)return;function E(){St(C.current,{[Tn.Forwards]:()=>nt(k,me.First),[Tn.Backwards]:()=>nt(k,me.Last)})}E()});return R(lt,{children:[Ie({ourProps:O,theirProps:_,slot:m,defaultTag:C1,name:"Popover.Button"}),h&&!c&&i&&w(Er,{id:s,features:_r.Focusable,as:"button",type:"button",onFocus:b})]})}),R1="div",N1=Un.RenderStrategy|Un.Static,T1=ze(function(e,t){let[{popoverState:n},r]=ws("Popover.Overlay"),i=Ue(t),o=`headlessui-popover-overlay-${yt()}`,s=hg(),a=(()=>s!==null?s===Pi.Open:n===0)(),l=q(c=>{if(Mu(c.currentTarget))return c.preventDefault();r({type:1})}),u=P.exports.useMemo(()=>({open:n===0}),[n]);return Ie({ourProps:{ref:i,id:o,"aria-hidden":!0,onClick:l},theirProps:e,slot:u,defaultTag:R1,features:N1,visible:a,name:"Popover.Overlay"})}),I1="div",L1=Un.RenderStrategy|Un.Static,D1=ze(function(e,t){let{focus:n=!1,...r}=e,[i,o]=ws("Popover.Panel"),{close:s,isPortalled:a}=zu("Popover.Panel"),l=`headlessui-focus-sentinel-before-${yt()}`,u=`headlessui-focus-sentinel-after-${yt()}`,c=P.exports.useRef(null),f=Ue(c,t,_=>{o({type:4,panel:_})}),d=Au(c),p=hg(),g=(()=>p!==null?p===Pi.Open:i.popoverState===0)(),y=q(_=>{var O;switch(_.key){case se.Escape:if(i.popoverState!==0||!c.current||(d==null?void 0:d.activeElement)&&!c.current.contains(d.activeElement))return;_.preventDefault(),_.stopPropagation(),o({type:1}),(O=i.button)==null||O.focus();break}});P.exports.useEffect(()=>{var _;e.static||i.popoverState===1&&((_=e.unmount)!=null?_:!0)&&o({type:4,panel:null})},[i.popoverState,e.unmount,e.static,o]),P.exports.useEffect(()=>{if(!n||i.popoverState!==0||!c.current)return;let _=d==null?void 0:d.activeElement;c.current.contains(_)||nt(c.current,me.First)},[n,c,i.popoverState]);let x=P.exports.useMemo(()=>({open:i.popoverState===0,close:s}),[i,s]),v={ref:f,id:i.panelId,onKeyDown:y,onBlur:n&&i.popoverState===0?_=>{var O,C,b,k,E;let I=_.relatedTarget;!I||!c.current||(O=c.current)!=null&&O.contains(I)||(o({type:1}),(((b=(C=i.beforePanelSentinel.current)==null?void 0:C.contains)==null?void 0:b.call(C,I))||((E=(k=i.afterPanelSentinel.current)==null?void 0:k.contains)==null?void 0:E.call(k,I)))&&I.focus({preventScroll:!0}))}:void 0,tabIndex:-1},h=gg(),m=q(()=>{let _=c.current;if(!_)return;function O(){St(h.current,{[Tn.Forwards]:()=>{nt(_,me.First)},[Tn.Backwards]:()=>{var C;(C=i.button)==null||C.focus({preventScroll:!0})}})}O()}),S=q(()=>{let _=c.current;if(!_)return;function O(){St(h.current,{[Tn.Forwards]:()=>{var C,b,k;if(!i.button)return;let E=cg(),I=E.indexOf(i.button),j=E.slice(0,I+1),z=[...E.slice(I+1),...j];for(let H of z.slice())if(((b=(C=H==null?void 0:H.id)==null?void 0:C.startsWith)==null?void 0:b.call(C,"headlessui-focus-sentinel-"))||((k=i.panel)==null?void 0:k.contains(H))){let Oe=z.indexOf(H);Oe!==-1&&z.splice(Oe,1)}nt(z,me.First,!1)},[Tn.Backwards]:()=>nt(_,me.Last)})}O()});return G.createElement(Qu.Provider,{value:i.panelId},g&&a&&w(Er,{id:l,ref:i.beforePanelSentinel,features:_r.Focusable,as:"button",type:"button",onFocus:m}),Ie({ourProps:v,theirProps:r,slot:x,defaultTag:I1,features:L1,visible:g,name:"Popover.Panel"}),g&&a&&w(Er,{id:u,ref:i.afterPanelSentinel,features:_r.Focusable,as:"button",type:"button",onFocus:S}))}),F1="div",M1=ze(function(e,t){let n=P.exports.useRef(null),r=Ue(n,t),[i,o]=P.exports.useState([]),s=q(g=>{o(y=>{let x=y.indexOf(g);if(x!==-1){let v=y.slice();return v.splice(x,1),v}return y})}),a=q(g=>(o(y=>[...y,g]),()=>s(g))),l=q(()=>{var g;let y=Lu(n);if(!y)return!1;let x=y.activeElement;return(g=n.current)!=null&&g.contains(x)?!0:i.some(v=>{var h,m;return((h=y.getElementById(v.buttonId))==null?void 0:h.contains(x))||((m=y.getElementById(v.panelId))==null?void 0:m.contains(x))})}),u=q(g=>{for(let y of i)y.buttonId!==g&&y.close()}),c=P.exports.useMemo(()=>({registerPopover:a,unregisterPopover:s,isFocusWithinPopoverGroup:l,closeOthers:u}),[a,s,l,u]),f=P.exports.useMemo(()=>({}),[]),d=e,p={ref:r};return G.createElement(Bu.Provider,{value:c},Ie({ourProps:p,theirProps:d,slot:f,defaultTag:F1,name:"Popover.Group"}))}),fr=Object.assign(E1,{Button:b1,Overlay:T1,Panel:D1,Group:M1}),Sg=P.exports.createContext(null);function wg(){let e=P.exports.useContext(Sg);if(e===null){let t=new Error("You used a