From c7e1696f6e99fb7fbad9e9887e8feab6bec50be7 Mon Sep 17 00:00:00 2001 From: beanbean9339 Date: Mon, 20 Jul 2026 19:07:38 -0400 Subject: [PATCH 1/4] chore(vite): set base path to /OpenCite/ for GitHub Pages deployment --- package-lock.json | 557 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 3 +- vite.config.js | 1 + 3 files changed, 560 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 6d91beb..ab990b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ }, "devDependencies": { "@vitejs/plugin-react": "^4.3.1", + "gh-pages": "^6.3.0", "vite": "^5.4.8" } }, @@ -692,6 +693,41 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "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/@rolldown/pluginutils": { "version": "1.0.0-beta.27", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", @@ -1090,6 +1126,21 @@ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, + "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/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true + }, "node_modules/baseline-browser-mapping": { "version": "2.10.32", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.32.tgz", @@ -1102,6 +1153,18 @@ "node": ">=6.0.0" } }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/browserslist": { "version": "4.28.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", @@ -1155,6 +1218,21 @@ } ] }, + "node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -1178,12 +1256,30 @@ } } }, + "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/electron-to-chromium": { "version": "1.5.364", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.364.tgz", "integrity": "sha512-G/dYE3+AYhyHwzTwg8UbnXf7zqMERYh7l2jJ3QujhFsH8agSYwtnGAR2aZ7f0AakIKJXd5En/Hre4igIUrdlYw==", "dev": true }, + "node_modules/email-addresses": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", + "dev": true + }, "node_modules/esbuild": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", @@ -1231,6 +1327,122 @@ "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/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "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.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-extra": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.6.tgz", + "integrity": "sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -1254,6 +1466,105 @@ "node": ">=6.9.0" } }, + "node_modules/gh-pages": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.3.0.tgz", + "integrity": "sha512-Ot5lU6jK0Eb+sszG8pciXdjMXdBJ5wODvgjR+imihTqsUWF2K6dJ9HST55lgqcs8wWcw6o6wAsUzfcYRhJPXbA==", + "dev": true, + "dependencies": { + "async": "^3.2.4", + "commander": "^13.0.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^11.1.1", + "globby": "^11.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=10" + } + }, + "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/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/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "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-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/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -1283,6 +1594,30 @@ "node": ">=6" } }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -1303,6 +1638,43 @@ "yallist": "^3.0.2" } }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -1336,12 +1708,90 @@ "node": ">=18" } }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/postcss": { "version": "8.5.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", @@ -1370,6 +1820,26 @@ "node": "^10 || ^12 || >=14" } }, + "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.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", @@ -1402,6 +1872,16 @@ "node": ">=0.10.0" } }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/rollup": { "version": "4.60.4", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.4.tgz", @@ -1446,6 +1926,29 @@ "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/scheduler": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", @@ -1463,6 +1966,15 @@ "semver": "bin/semver.js" } }, + "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.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -1472,6 +1984,51 @@ "node": ">=0.10.0" } }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/update-browserslist-db": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", diff --git a/package.json b/package.json index 63c1d16..f52e519 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ }, "devDependencies": { "@vitejs/plugin-react": "^4.3.1", + "gh-pages": "^6.3.0", "vite": "^5.4.8" } -} \ No newline at end of file +} diff --git a/vite.config.js b/vite.config.js index 0466183..24ca3ce 100644 --- a/vite.config.js +++ b/vite.config.js @@ -2,5 +2,6 @@ import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; export default defineConfig({ + base: '/OpenCite/', plugins: [react()], }); From b3b3eddb228dea3c3430bcbb4ea4c26ab58a0357 Mon Sep 17 00:00:00 2001 From: beanbean9339 Date: Mon, 20 Jul 2026 19:08:52 -0400 Subject: [PATCH 2/4] Updates --- .gitignore | 7 ++++++ assets/index-B9NQpN-P.css | 1 + assets/index-D4E24Fst.js | 49 +++++++++++++++++++++++++++++++++++++++ index.html | 13 +++++++++++ 4 files changed, 70 insertions(+) create mode 100644 .gitignore create mode 100644 assets/index-B9NQpN-P.css create mode 100644 assets/index-D4E24Fst.js create mode 100644 index.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..905dc1e --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +node_modules/ +dist/ +.vite/ +.env +.env.* +*.local +.DS_Store \ No newline at end of file diff --git a/assets/index-B9NQpN-P.css b/assets/index-B9NQpN-P.css new file mode 100644 index 0000000..33c9767 --- /dev/null +++ b/assets/index-B9NQpN-P.css @@ -0,0 +1 @@ +:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e8edf2;background:radial-gradient(circle at top,rgba(92,124,250,.24),transparent 36%),linear-gradient(180deg,#0f172a,#111827);line-height:1.5;font-weight:400}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh}button,input,select,textarea{font:inherit}button{border:0;border-radius:999px;padding:.9rem 1.25rem;background:#f8fafc;color:#0f172a;cursor:pointer}button.secondary{background:transparent;color:#e8edf2;border:1px solid rgba(232,237,242,.2)}.app-shell{min-height:100vh;display:grid;place-items:center;padding:32px}.card{width:min(920px,100%);background:#0f172ab8;border:1px solid rgba(148,163,184,.18);border-radius:28px;padding:32px;box-shadow:0 24px 80px #02061761;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero{margin-bottom:24px}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:#93c5fd}h1,h2,p{margin-top:0}h1{margin-bottom:12px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.lede{margin:0;max-width:62ch;color:#cbd5e1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:grid;gap:8px}label span{font-size:.92rem;color:#cbd5e1}input,select,textarea{width:100%;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:#0f172ae6;color:#f8fafc;padding:.95rem 1rem}textarea{resize:vertical;min-height:140px}.full-width{grid-column:1 / -1}.authors-list{display:grid;gap:12px}.author-row{display:grid;gap:8px}.author-row button{justify-self:start}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.preview{margin-top:28px;display:grid;gap:16px}.preview .actions{margin-top:12px;margin-bottom:12px}pre{margin:0;overflow:auto;white-space:pre-wrap;word-break:break-word;border-radius:20px;padding:20px;background:#0206178f;border:1px solid rgba(148,163,184,.14);color:#bfdbfe}@media (max-width: 720px){.app-shell{padding:16px}.card{padding:20px;border-radius:22px}.form-grid{grid-template-columns:1fr}} diff --git a/assets/index-D4E24Fst.js b/assets/index-D4E24Fst.js new file mode 100644 index 0000000..825c0fe --- /dev/null +++ b/assets/index-D4E24Fst.js @@ -0,0 +1,49 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const o of l)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(l){const o={};return l.integrity&&(o.integrity=l.integrity),l.referrerPolicy&&(o.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?o.credentials="include":l.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(l){if(l.ep)return;l.ep=!0;const o=n(l);fetch(l.href,o)}})();function sc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Gu={exports:{}},tl={},Xu={exports:{}},j={};/** + * @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 Xn=Symbol.for("react.element"),ac=Symbol.for("react.portal"),cc=Symbol.for("react.fragment"),fc=Symbol.for("react.strict_mode"),dc=Symbol.for("react.profiler"),pc=Symbol.for("react.provider"),mc=Symbol.for("react.context"),hc=Symbol.for("react.forward_ref"),vc=Symbol.for("react.suspense"),yc=Symbol.for("react.memo"),gc=Symbol.for("react.lazy"),Fi=Symbol.iterator;function wc(e){return e===null||typeof e!="object"?null:(e=Fi&&e[Fi]||e["@@iterator"],typeof e=="function"?e:null)}var Zu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ju=Object.assign,qu={};function on(e,t,n){this.props=e,this.context=t,this.refs=qu,this.updater=n||Zu}on.prototype.isReactComponent={};on.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")};on.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function bu(){}bu.prototype=on.prototype;function Vo(e,t,n){this.props=e,this.context=t,this.refs=qu,this.updater=n||Zu}var Bo=Vo.prototype=new bu;Bo.constructor=Vo;Ju(Bo,on.prototype);Bo.isPureReactComponent=!0;var Ui=Array.isArray,es=Object.prototype.hasOwnProperty,Ho={current:null},ts={key:!0,ref:!0,__self:!0,__source:!0};function ns(e,t,n){var r,l={},o=null,i=null;if(t!=null)for(r in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(o=""+t.key),t)es.call(t,r)&&!ts.hasOwnProperty(r)&&(l[r]=t[r]);var u=arguments.length-2;if(u===1)l.children=n;else if(1>>1,X=C[H];if(0>>1;Hl(wl,T))gtl(tr,wl)?(C[H]=tr,C[gt]=T,H=gt):(C[H]=wl,C[yt]=T,H=yt);else if(gtl(tr,T))C[H]=tr,C[gt]=T,H=gt;else break e}}return P}function l(C,P){var T=C.sortIndex-P.sortIndex;return T!==0?T:C.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var i=Date,u=i.now();e.unstable_now=function(){return i.now()-u}}var s=[],c=[],h=1,m=null,p=3,w=!1,g=!1,k=!1,R=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var P=n(c);P!==null;){if(P.callback===null)r(c);else if(P.startTime<=C)r(c),P.sortIndex=P.expirationTime,t(s,P);else break;P=n(c)}}function v(C){if(k=!1,d(C),!g)if(n(s)!==null)g=!0,yl(E);else{var P=n(c);P!==null&&gl(v,P.startTime-C)}}function E(C,P){g=!1,k&&(k=!1,f(z),z=-1),w=!0;var T=p;try{for(d(P),m=n(s);m!==null&&(!(m.expirationTime>P)||C&&!ze());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var X=H(m.expirationTime<=P);P=e.unstable_now(),typeof X=="function"?m.callback=X:m===n(s)&&r(s),d(P)}else r(s);m=n(s)}if(m!==null)var er=!0;else{var yt=n(c);yt!==null&&gl(v,yt.startTime-P),er=!1}return er}finally{m=null,p=T,w=!1}}var _=!1,N=null,z=-1,B=5,L=-1;function ze(){return!(e.unstable_now()-LC||125H?(C.sortIndex=T,t(c,C),n(s)===null&&C===n(c)&&(k?(f(z),z=-1):k=!0,gl(v,T-H))):(C.sortIndex=X,t(s,C),g||w||(g=!0,yl(E))),C},e.unstable_shouldYield=ze,e.unstable_wrapCallback=function(C){var P=p;return function(){var T=p;p=P;try{return C.apply(this,arguments)}finally{p=T}}}})(us);is.exports=us;var Lc=is.exports;/** + * @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 Oc=We,ge=Lc;function y(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"),Gl=Object.prototype.hasOwnProperty,Rc=/^[: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]*$/,Ai={},Wi={};function Dc(e){return Gl.call(Wi,e)?!0:Gl.call(Ai,e)?!1:Rc.test(e)?Wi[e]=!0:(Ai[e]=!0,!1)}function Mc(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 Ic(e,t,n,r){if(t===null||typeof t>"u"||Mc(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 ae(e,t,n,r,l,o,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var ee={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ee[e]=new ae(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ee[t]=new ae(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ee[e]=new ae(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ee[e]=new ae(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){ee[e]=new ae(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ee[e]=new ae(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ee[e]=new ae(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ee[e]=new ae(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ee[e]=new ae(e,5,!1,e.toLowerCase(),null,!1,!1)});var Ko=/[\-:]([a-z])/g;function Yo(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(Ko,Yo);ee[t]=new ae(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(Ko,Yo);ee[t]=new ae(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(Ko,Yo);ee[t]=new ae(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ee[e]=new ae(e,1,!1,e.toLowerCase(),null,!1,!1)});ee.xlinkHref=new ae("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ee[e]=new ae(e,1,!1,e.toLowerCase(),null,!0,!0)});function Go(e,t,n,r){var l=ee.hasOwnProperty(t)?ee[t]:null;(l!==null?l.type!==0:r||!(2u||l[i]!==o[u]){var s=` +`+l[i].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=i&&0<=u);break}}}finally{xl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?wn(e):""}function Fc(e){switch(e.tag){case 5:return wn(e.type);case 16:return wn("Lazy");case 13:return wn("Suspense");case 19:return wn("SuspenseList");case 0:case 2:case 15:return e=El(e.type,!1),e;case 11:return e=El(e.type.render,!1),e;case 1:return e=El(e.type,!0),e;default:return""}}function ql(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 Mt:return"Fragment";case Dt:return"Portal";case Xl:return"Profiler";case Xo:return"StrictMode";case Zl:return"Suspense";case Jl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case cs:return(e.displayName||"Context")+".Consumer";case as:return(e._context.displayName||"Context")+".Provider";case Zo:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Jo:return t=e.displayName||null,t!==null?t:ql(e.type)||"Memo";case qe:t=e._payload,e=e._init;try{return ql(e(t))}catch{}}return null}function Uc(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 ql(t);case 8:return t===Xo?"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 dt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ds(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function $c(e){var t=ds(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 l=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(i){r=""+i,o.call(this,i)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function lr(e){e._valueTracker||(e._valueTracker=$c(e))}function ps(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ds(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Lr(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 bl(e,t){var n=t.checked;return W({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Bi(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=dt(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 ms(e,t){t=t.checked,t!=null&&Go(e,"checked",t,!1)}function eo(e,t){ms(e,t);var n=dt(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")?to(e,t.type,n):t.hasOwnProperty("defaultValue")&&to(e,t.type,dt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Hi(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 to(e,t,n){(t!=="number"||Lr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var kn=Array.isArray;function Kt(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=or.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Rn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var En={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},Ac=["Webkit","ms","Moz","O"];Object.keys(En).forEach(function(e){Ac.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),En[t]=En[e]})});function gs(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||En.hasOwnProperty(e)&&En[e]?(""+t).trim():t+"px"}function ws(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=gs(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Wc=W({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 lo(e,t){if(t){if(Wc[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(y(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(y(61))}if(t.style!=null&&typeof t.style!="object")throw Error(y(62))}}function oo(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 io=null;function qo(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var uo=null,Yt=null,Gt=null;function Yi(e){if(e=qn(e)){if(typeof uo!="function")throw Error(y(280));var t=e.stateNode;t&&(t=il(t),uo(e.stateNode,e.type,t))}}function ks(e){Yt?Gt?Gt.push(e):Gt=[e]:Yt=e}function Ss(){if(Yt){var e=Yt,t=Gt;if(Gt=Yt=null,Yi(e),t)for(e=0;e>>=0,e===0?32:31-(qc(e)/bc|0)|0}var ir=64,ur=4194304;function Sn(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 Mr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,o=e.pingedLanes,i=n&268435455;if(i!==0){var u=i&~l;u!==0?r=Sn(u):(o&=i,o!==0&&(r=Sn(o)))}else i=n&~l,i!==0?r=Sn(i):o!==0&&(r=Sn(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,o=t&-t,l>=o||l===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Zn(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Oe(t),e[t]=n}function rf(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=_n),nu=" ",ru=!1;function Ws(e,t){switch(e){case"keyup":return Of.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Vs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var It=!1;function Df(e,t){switch(e){case"compositionend":return Vs(t);case"keypress":return t.which!==32?null:(ru=!0,nu);case"textInput":return e=t.data,e===nu&&ru?null:e;default:return null}}function Mf(e,t){if(It)return e==="compositionend"||!ii&&Ws(e,t)?(e=$s(),xr=ri=nt=null,It=!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=uu(n)}}function Ks(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ks(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ys(){for(var e=window,t=Lr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Lr(e.document)}return t}function ui(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 Hf(e){var t=Ys(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ks(n.ownerDocument.documentElement,n)){if(r!==null&&ui(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 l=n.textContent.length,o=Math.min(r.start,l);r=r.end===void 0?o:Math.min(r.end,l),!e.extend&&o>r&&(l=r,r=o,o=l),l=su(n,o);var i=su(n,r);l&&i&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.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,Ft=null,mo=null,zn=null,ho=!1;function au(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ho||Ft==null||Ft!==Lr(r)||(r=Ft,"selectionStart"in r&&ui(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}),zn&&$n(zn,r)||(zn=r,r=Ur(mo,"onSelect"),0At||(e.current=So[At],So[At]=null,At--)}function M(e,t){At++,So[At]=e.current,e.current=t}var pt={},le=ht(pt),de=ht(!1),Nt=pt;function bt(e,t){var n=e.type.contextTypes;if(!n)return pt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},o;for(o in n)l[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function pe(e){return e=e.childContextTypes,e!=null}function Ar(){F(de),F(le)}function vu(e,t,n){if(le.current!==pt)throw Error(y(168));M(le,t),M(de,n)}function na(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(y(108,Uc(e)||"Unknown",l));return W({},n,r)}function Wr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pt,Nt=le.current,M(le,e),M(de,de.current),!0}function yu(e,t,n){var r=e.stateNode;if(!r)throw Error(y(169));n?(e=na(e,t,Nt),r.__reactInternalMemoizedMergedChildContext=e,F(de),F(le),M(le,e)):F(de),M(de,n)}var Ve=null,ul=!1,Fl=!1;function ra(e){Ve===null?Ve=[e]:Ve.push(e)}function nd(e){ul=!0,ra(e)}function vt(){if(!Fl&&Ve!==null){Fl=!0;var e=0,t=D;try{var n=Ve;for(D=1;e>=i,l-=i,Be=1<<32-Oe(t)+l|n<z?(B=N,N=null):B=N.sibling;var L=p(f,N,d[z],v);if(L===null){N===null&&(N=B);break}e&&N&&L.alternate===null&&t(f,N),a=o(L,a,z),_===null?E=L:_.sibling=L,_=L,N=B}if(z===d.length)return n(f,N),U&&wt(f,z),E;if(N===null){for(;zz?(B=N,N=null):B=N.sibling;var ze=p(f,N,L.value,v);if(ze===null){N===null&&(N=B);break}e&&N&&ze.alternate===null&&t(f,N),a=o(ze,a,z),_===null?E=ze:_.sibling=ze,_=ze,N=B}if(L.done)return n(f,N),U&&wt(f,z),E;if(N===null){for(;!L.done;z++,L=d.next())L=m(f,L.value,v),L!==null&&(a=o(L,a,z),_===null?E=L:_.sibling=L,_=L);return U&&wt(f,z),E}for(N=r(f,N);!L.done;z++,L=d.next())L=w(N,f,z,L.value,v),L!==null&&(e&&L.alternate!==null&&N.delete(L.key===null?z:L.key),a=o(L,a,z),_===null?E=L:_.sibling=L,_=L);return e&&N.forEach(function(an){return t(f,an)}),U&&wt(f,z),E}function R(f,a,d,v){if(typeof d=="object"&&d!==null&&d.type===Mt&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case rr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===Mt){if(_.tag===7){n(f,_.sibling),a=l(_,d.props.children),a.return=f,f=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===qe&&ku(E)===_.type){n(f,_.sibling),a=l(_,d.props),a.ref=vn(f,_,d),a.return=f,f=a;break e}n(f,_);break}else t(f,_);_=_.sibling}d.type===Mt?(a=_t(d.props.children,f.mode,v,d.key),a.return=f,f=a):(v=jr(d.type,d.key,d.props,null,f.mode,v),v.ref=vn(f,a,d),v.return=f,f=v)}return i(f);case Dt:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){n(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{n(f,a);break}else t(f,a);a=a.sibling}a=Ql(d,f.mode,v),a.return=f,f=a}return i(f);case qe:return _=d._init,R(f,a,_(d._payload),v)}if(kn(d))return g(f,a,d,v);if(fn(d))return k(f,a,d,v);mr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(n(f,a.sibling),a=l(a,d),a.return=f,f=a):(n(f,a),a=Hl(d,f.mode,v),a.return=f,f=a),i(f)):n(f,a)}return R}var tn=ua(!0),sa=ua(!1),Hr=ht(null),Qr=null,Bt=null,fi=null;function di(){fi=Bt=Qr=null}function pi(e){var t=Hr.current;F(Hr),e._currentValue=t}function Co(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Zt(e,t){Qr=e,fi=Bt=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(fe=!0),e.firstContext=null)}function _e(e){var t=e._currentValue;if(fi!==e)if(e={context:e,memoizedValue:t,next:null},Bt===null){if(Qr===null)throw Error(y(308));Bt=e,Qr.dependencies={lanes:0,firstContext:e}}else Bt=Bt.next=e;return t}var xt=null;function mi(e){xt===null?xt=[e]:xt.push(e)}function aa(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,mi(t)):(n.next=l.next,l.next=n),t.interleaved=n,Ge(e,r)}function Ge(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var be=!1;function hi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ca(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Qe(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function st(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,O&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Ge(e,n)}return l=r.interleaved,l===null?(t.next=t,mi(r)):(t.next=l.next,l.next=t),r.interleaved=t,Ge(e,n)}function Cr(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ei(e,n)}}function Su(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,o=null;if(n=n.firstBaseUpdate,n!==null){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};o===null?l=o=i:o=o.next=i,n=n.next}while(n!==null);o===null?l=o=t:o=o.next=t}else l=o=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:o,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Kr(e,t,n,r){var l=e.updateQueue;be=!1;var o=l.firstBaseUpdate,i=l.lastBaseUpdate,u=l.shared.pending;if(u!==null){l.shared.pending=null;var s=u,c=s.next;s.next=null,i===null?o=c:i.next=c,i=s;var h=e.alternate;h!==null&&(h=h.updateQueue,u=h.lastBaseUpdate,u!==i&&(u===null?h.firstBaseUpdate=c:u.next=c,h.lastBaseUpdate=s))}if(o!==null){var m=l.baseState;i=0,h=c=s=null,u=o;do{var p=u.lane,w=u.eventTime;if((r&p)===p){h!==null&&(h=h.next={eventTime:w,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var g=e,k=u;switch(p=t,w=n,k.tag){case 1:if(g=k.payload,typeof g=="function"){m=g.call(w,m,p);break e}m=g;break e;case 3:g.flags=g.flags&-65537|128;case 0:if(g=k.payload,p=typeof g=="function"?g.call(w,m,p):g,p==null)break e;m=W({},m,p);break e;case 2:be=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,p=l.effects,p===null?l.effects=[u]:p.push(u))}else w={eventTime:w,lane:p,tag:u.tag,payload:u.payload,callback:u.callback,next:null},h===null?(c=h=w,s=m):h=h.next=w,i|=p;if(u=u.next,u===null){if(u=l.shared.pending,u===null)break;p=u,u=p.next,p.next=null,l.lastBaseUpdate=p,l.shared.pending=null}}while(!0);if(h===null&&(s=m),l.baseState=s,l.firstBaseUpdate=c,l.lastBaseUpdate=h,t=l.shared.interleaved,t!==null){l=t;do i|=l.lane,l=l.next;while(l!==t)}else o===null&&(l.shared.lanes=0);Tt|=i,e.lanes=i,e.memoizedState=m}}function xu(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=$l.transition;$l.transition={};try{e(!1),t()}finally{D=n,$l.transition=r}}function za(){return Ne().memoizedState}function id(e,t,n){var r=ct(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Pa(e))Ta(t,n);else if(n=aa(e,t,n,r),n!==null){var l=ue();Re(n,e,r,l),ja(n,t,r)}}function ud(e,t,n){var r=ct(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Pa(e))Ta(t,l);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,u=o(i,n);if(l.hasEagerState=!0,l.eagerState=u,De(u,i)){var s=t.interleaved;s===null?(l.next=l,mi(t)):(l.next=s.next,s.next=l),t.interleaved=l;return}}catch{}finally{}n=aa(e,t,l,r),n!==null&&(l=ue(),Re(n,e,r,l),ja(n,t,r))}}function Pa(e){var t=e.alternate;return e===A||t!==null&&t===A}function Ta(e,t){Pn=Gr=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ja(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ei(e,n)}}var Xr={readContext:_e,useCallback:te,useContext:te,useEffect:te,useImperativeHandle:te,useInsertionEffect:te,useLayoutEffect:te,useMemo:te,useReducer:te,useRef:te,useState:te,useDebugValue:te,useDeferredValue:te,useTransition:te,useMutableSource:te,useSyncExternalStore:te,useId:te,unstable_isNewReconciler:!1},sd={readContext:_e,useCallback:function(e,t){return Ie().memoizedState=[e,t===void 0?null:t],e},useContext:_e,useEffect:Cu,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Nr(4194308,4,xa.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Nr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Nr(4,2,e,t)},useMemo:function(e,t){var n=Ie();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ie();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=id.bind(null,A,e),[r.memoizedState,e]},useRef:function(e){var t=Ie();return e={current:e},t.memoizedState=e},useState:Eu,useDebugValue:Ei,useDeferredValue:function(e){return Ie().memoizedState=e},useTransition:function(){var e=Eu(!1),t=e[0];return e=od.bind(null,e[1]),Ie().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=A,l=Ie();if(U){if(n===void 0)throw Error(y(407));n=n()}else{if(n=t(),J===null)throw Error(y(349));Pt&30||ma(r,t,n)}l.memoizedState=n;var o={value:n,getSnapshot:t};return l.queue=o,Cu(va.bind(null,r,o,e),[e]),r.flags|=2048,Yn(9,ha.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Ie(),t=J.identifierPrefix;if(U){var n=He,r=Be;n=(r&~(1<<32-Oe(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Qn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=i.createElement(n,{is:r.is}):(e=i.createElement(n),n==="select"&&(i=e,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):e=i.createElementNS(e,n),e[Fe]=t,e[Vn]=r,Aa(e,t,!1,!1),t.stateNode=e;e:{switch(i=oo(n,r),n){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;lln&&(t.flags|=128,r=!0,yn(o,!1),t.lanes=4194304)}else{if(!r)if(e=Yr(i),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),yn(o,!0),o.tail===null&&o.tailMode==="hidden"&&!i.alternate&&!U)return ne(t),null}else 2*Q()-o.renderingStartTime>ln&&n!==1073741824&&(t.flags|=128,r=!0,yn(o,!1),t.lanes=4194304);o.isBackwards?(i.sibling=t.child,t.child=i):(n=o.last,n!==null?n.sibling=i:t.child=i,o.last=i)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Q(),t.sibling=null,n=$.current,M($,r?n&1|2:n&1),t):(ne(t),null);case 22:case 23:return Ti(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?he&1073741824&&(ne(t),t.subtreeFlags&6&&(t.flags|=8192)):ne(t),null;case 24:return null;case 25:return null}throw Error(y(156,t.tag))}function vd(e,t){switch(ai(t),t.tag){case 1:return pe(t.type)&&Ar(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return nn(),F(de),F(le),gi(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return yi(t),null;case 13:if(F($),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(y(340));en()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return F($),null;case 4:return nn(),null;case 10:return pi(t.type._context),null;case 22:case 23:return Ti(),null;case 24:return null;default:return null}}var vr=!1,re=!1,yd=typeof WeakSet=="function"?WeakSet:Set,x=null;function Ht(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){V(e,t,r)}else n.current=null}function Ro(e,t,n){try{n()}catch(r){V(e,t,r)}}var Mu=!1;function gd(e,t){if(vo=Ir,e=Ys(),ui(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 l=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var i=0,u=-1,s=-1,c=0,h=0,m=e,p=null;t:for(;;){for(var w;m!==n||l!==0&&m.nodeType!==3||(u=i+l),m!==o||r!==0&&m.nodeType!==3||(s=i+r),m.nodeType===3&&(i+=m.nodeValue.length),(w=m.firstChild)!==null;)p=m,m=w;for(;;){if(m===e)break t;if(p===n&&++c===l&&(u=i),p===o&&++h===r&&(s=i),(w=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=w}n=u===-1||s===-1?null:{start:u,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(yo={focusedElem:e,selectionRange:n},Ir=!1,x=t;x!==null;)if(t=x,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,x=e;else for(;x!==null;){t=x;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var k=g.memoizedProps,R=g.memoizedState,f=t.stateNode,a=f.getSnapshotBeforeUpdate(t.elementType===t.type?k:Te(t.type,k),R);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(v){V(t,t.return,v)}if(e=t.sibling,e!==null){e.return=t.return,x=e;break}x=t.return}return g=Mu,Mu=!1,g}function Tn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var o=l.destroy;l.destroy=void 0,o!==void 0&&Ro(t,n,o)}l=l.next}while(l!==r)}}function cl(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 Do(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 Ba(e){var t=e.alternate;t!==null&&(e.alternate=null,Ba(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Fe],delete t[Vn],delete t[ko],delete t[ed],delete t[td])),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 Ha(e){return e.tag===5||e.tag===3||e.tag===4}function Iu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ha(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 Mo(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=$r));else if(r!==4&&(e=e.child,e!==null))for(Mo(e,t,n),e=e.sibling;e!==null;)Mo(e,t,n),e=e.sibling}function Io(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(Io(e,t,n),e=e.sibling;e!==null;)Io(e,t,n),e=e.sibling}var q=null,je=!1;function Je(e,t,n){for(n=n.child;n!==null;)Qa(e,t,n),n=n.sibling}function Qa(e,t,n){if(Ue&&typeof Ue.onCommitFiberUnmount=="function")try{Ue.onCommitFiberUnmount(nl,n)}catch{}switch(n.tag){case 5:re||Ht(n,t);case 6:var r=q,l=je;q=null,Je(e,t,n),q=r,je=l,q!==null&&(je?(e=q,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):q.removeChild(n.stateNode));break;case 18:q!==null&&(je?(e=q,n=n.stateNode,e.nodeType===8?Il(e.parentNode,n):e.nodeType===1&&Il(e,n),Fn(e)):Il(q,n.stateNode));break;case 4:r=q,l=je,q=n.stateNode.containerInfo,je=!0,Je(e,t,n),q=r,je=l;break;case 0:case 11:case 14:case 15:if(!re&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var o=l,i=o.destroy;o=o.tag,i!==void 0&&(o&2||o&4)&&Ro(n,t,i),l=l.next}while(l!==r)}Je(e,t,n);break;case 1:if(!re&&(Ht(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){V(n,t,u)}Je(e,t,n);break;case 21:Je(e,t,n);break;case 22:n.mode&1?(re=(r=re)||n.memoizedState!==null,Je(e,t,n),re=r):Je(e,t,n);break;default:Je(e,t,n)}}function Fu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new yd),t.forEach(function(r){var l=zd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Pe(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=i),r&=~o}if(r=l,r=Q()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*kd(r/1960))-r,10e?16:e,rt===null)var r=!1;else{if(e=rt,rt=null,qr=0,O&6)throw Error(y(331));var l=O;for(O|=4,x=e.current;x!==null;){var o=x,i=o.child;if(x.flags&16){var u=o.deletions;if(u!==null){for(var s=0;sQ()-zi?Ct(e,0):Ni|=n),me(e,t)}function ba(e,t){t===0&&(e.mode&1?(t=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):t=1);var n=ue();e=Ge(e,t),e!==null&&(Zn(e,t,n),me(e,n))}function Nd(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ba(e,n)}function zd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(t),ba(e,n)}var ec;ec=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||de.current)fe=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return fe=!1,md(e,t,n);fe=!!(e.flags&131072)}else fe=!1,U&&t.flags&1048576&&la(t,Br,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;zr(e,t),e=t.pendingProps;var l=bt(t,le.current);Zt(t,n),l=ki(null,t,r,e,l,n);var o=Si();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,pe(r)?(o=!0,Wr(t)):o=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,hi(t),l.updater=al,t.stateNode=l,l._reactInternals=t,No(t,r,e,n),t=To(null,t,r,!0,o,n)):(t.tag=0,U&&o&&si(t),ie(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(zr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Td(r),e=Te(r,e),l){case 0:t=Po(null,t,r,e,n);break e;case 1:t=Ou(null,t,r,e,n);break e;case 11:t=ju(null,t,r,e,n);break e;case 14:t=Lu(null,t,r,Te(r.type,e),n);break e}throw Error(y(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Te(r,l),Po(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Te(r,l),Ou(e,t,r,l,n);case 3:e:{if(Fa(t),e===null)throw Error(y(387));r=t.pendingProps,o=t.memoizedState,l=o.element,ca(e,t),Kr(t,r,null,n);var i=t.memoizedState;if(r=i.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){l=rn(Error(y(423)),t),t=Ru(e,t,r,n,l);break e}else if(r!==l){l=rn(Error(y(424)),t),t=Ru(e,t,r,n,l);break e}else for(ve=ut(t.stateNode.containerInfo.firstChild),ye=t,U=!0,Le=null,n=sa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(en(),r===l){t=Xe(e,t,n);break e}ie(e,t,r,n)}t=t.child}return t;case 5:return fa(t),e===null&&Eo(t),r=t.type,l=t.pendingProps,o=e!==null?e.memoizedProps:null,i=l.children,go(r,l)?i=null:o!==null&&go(r,o)&&(t.flags|=32),Ia(e,t),ie(e,t,i,n),t.child;case 6:return e===null&&Eo(t),null;case 13:return Ua(e,t,n);case 4:return vi(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=tn(t,null,r,n):ie(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Te(r,l),ju(e,t,r,l,n);case 7:return ie(e,t,t.pendingProps,n),t.child;case 8:return ie(e,t,t.pendingProps.children,n),t.child;case 12:return ie(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,o=t.memoizedProps,i=l.value,M(Hr,r._currentValue),r._currentValue=i,o!==null)if(De(o.value,i)){if(o.children===l.children&&!de.current){t=Xe(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var u=o.dependencies;if(u!==null){i=o.child;for(var s=u.firstContext;s!==null;){if(s.context===r){if(o.tag===1){s=Qe(-1,n&-n),s.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var h=c.pending;h===null?s.next=s:(s.next=h.next,h.next=s),c.pending=s}}o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),Co(o.return,n,t),u.lanes|=n;break}s=s.next}}else if(o.tag===10)i=o.type===t.type?null:o.child;else if(o.tag===18){if(i=o.return,i===null)throw Error(y(341));i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),Co(i,n,t),i=o.sibling}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===t){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}ie(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Zt(t,n),l=_e(l),r=r(l),t.flags|=1,ie(e,t,r,n),t.child;case 14:return r=t.type,l=Te(r,t.pendingProps),l=Te(r.type,l),Lu(e,t,r,l,n);case 15:return Da(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Te(r,l),zr(e,t),t.tag=1,pe(r)?(e=!0,Wr(t)):e=!1,Zt(t,n),La(t,r,l),No(t,r,l,n),To(null,t,r,!0,e,n);case 19:return $a(e,t,n);case 22:return Ma(e,t,n)}throw Error(y(156,t.tag))};function tc(e,t){return Ps(e,t)}function Pd(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 Ee(e,t,n,r){return new Pd(e,t,n,r)}function Li(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Td(e){if(typeof e=="function")return Li(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Zo)return 11;if(e===Jo)return 14}return 2}function ft(e,t){var n=e.alternate;return n===null?(n=Ee(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 jr(e,t,n,r,l,o){var i=2;if(r=e,typeof e=="function")Li(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case Mt:return _t(n.children,l,o,t);case Xo:i=8,l|=8;break;case Xl:return e=Ee(12,n,t,l|2),e.elementType=Xl,e.lanes=o,e;case Zl:return e=Ee(13,n,t,l),e.elementType=Zl,e.lanes=o,e;case Jl:return e=Ee(19,n,t,l),e.elementType=Jl,e.lanes=o,e;case fs:return dl(n,l,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case as:i=10;break e;case cs:i=9;break e;case Zo:i=11;break e;case Jo:i=14;break e;case qe:i=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return t=Ee(i,n,t,l),t.elementType=e,t.type=r,t.lanes=o,t}function _t(e,t,n,r){return e=Ee(7,e,r,t),e.lanes=n,e}function dl(e,t,n,r){return e=Ee(22,e,r,t),e.elementType=fs,e.lanes=n,e.stateNode={isHidden:!1},e}function Hl(e,t,n){return e=Ee(6,e,null,t),e.lanes=n,e}function Ql(e,t,n){return t=Ee(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function jd(e,t,n,r,l){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=_l(0),this.expirationTimes=_l(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_l(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Oi(e,t,n,r,l,o,i,u,s){return e=new jd(e,t,n,u,s),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Ee(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},hi(o),e}function Ld(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(oc)}catch(e){console.error(e)}}oc(),os.exports=we;var Id=os.exports,Qu=Id;Yl.createRoot=Qu.createRoot,Yl.hydrateRoot=Qu.hydrateRoot;function Fd({form:e,typeOptions:t,licenseOptions:n,updateField:r,updateAuthorField:l,addAuthor:o,removeAuthor:i}){return S.jsxs("form",{className:"form-grid",onSubmit:u=>u.preventDefault(),children:[S.jsxs("label",{className:"full-width",children:[S.jsx("span",{children:"Title"}),S.jsx("input",{name:"title",value:e.title,onChange:r,placeholder:"Project title"})]}),S.jsxs("label",{className:"full-width",children:[S.jsx("span",{children:"Authors"}),S.jsx("div",{className:"authors-list",children:e.authors.map((u,s)=>S.jsxs("div",{className:"author-row",children:[S.jsx("input",{value:u.givenNames,onChange:c=>l(s,"givenNames",c.target.value),placeholder:"Given names"}),S.jsx("input",{value:u.familyNames,onChange:c=>l(s,"familyNames",c.target.value),placeholder:"Family names"}),S.jsx("input",{value:u.orcid,onChange:c=>l(s,"orcid",c.target.value),placeholder:"ORCID (optional)"}),S.jsx("input",{value:u.affiliation,onChange:c=>l(s,"affiliation",c.target.value),placeholder:"Affiliation (optional)"}),S.jsx("button",{type:"button",className:"secondary",onClick:()=>i(s),children:"Remove author"})]},u.id??`author-${s}`))}),S.jsx("button",{type:"button",className:"secondary",onClick:o,children:"Add author"})]}),S.jsxs("label",{children:[S.jsx("span",{children:"License"}),S.jsxs("select",{name:"license",value:e.license,onChange:r,children:[S.jsx("option",{value:"",children:"Select license (SPDX code)"}),n.map(u=>S.jsx("option",{value:u,children:u},u))]})]}),S.jsxs("label",{children:[S.jsx("span",{children:"Keywords"}),S.jsx("input",{name:"keywords",value:e.keywords,onChange:r,placeholder:"open science, metadata, citation"})]}),S.jsxs("label",{children:[S.jsx("span",{children:"Type of work"}),S.jsx("select",{name:"typeOfWork",value:e.typeOfWork,onChange:r,children:t.map(u=>S.jsx("option",{value:u.value,children:u.label},u.value))})]}),e.typeOfWork==="other"&&S.jsxs("label",{children:[S.jsx("span",{children:"Specify type of work"}),S.jsx("input",{name:"customTypeOfWork",value:e.customTypeOfWork,onChange:r,placeholder:"e.g., protocol, poster, thesis"})]}),S.jsxs("label",{children:[S.jsx("span",{children:"Version"}),S.jsx("input",{name:"version",value:e.version,onChange:r,placeholder:"1.0.0"})]}),S.jsxs("label",{children:[S.jsx("span",{children:"Publication date"}),S.jsx("input",{name:"publicationDate",value:e.publicationDate,onChange:r,placeholder:"YYYY-MM-DD"})]}),S.jsxs("label",{children:[S.jsx("span",{children:"Repository URL"}),S.jsx("input",{name:"repositoryCode",value:e.repositoryCode,onChange:r,placeholder:"https://github.com/user/repo"})]}),S.jsxs("label",{children:[S.jsx("span",{children:"DOI (version-agnostic, from Zenodo)"}),S.jsx("input",{name:"doi",value:e.doi,onChange:r,placeholder:"10.0000/zenodo.example.doi"})]}),S.jsxs("label",{className:"full-width",children:[S.jsx("span",{children:"Abstract"}),S.jsx("textarea",{name:"abstract",value:e.abstract,onChange:r,rows:"6",placeholder:"Short description of the work"})]}),S.jsxs("label",{className:"full-width",children:[S.jsx("span",{children:"References"}),S.jsx("textarea",{name:"references",value:e.references,onChange:r,rows:"4",placeholder:"One citation per line"}),S.jsx("small",{children:"One reference per line. Plain text citation format."})]}),S.jsxs("label",{className:"full-width",children:[S.jsx("span",{children:"Grants"}),S.jsx("textarea",{name:"grants",value:e.grants,onChange:r,rows:"3",placeholder:"One grant ID per line"}),S.jsx("small",{children:"Format: :: (e.g., 021nxhr62::2118240)"})]})]})}function Ud(e){const t=String(e??"").trim();return t?t.startsWith("http://")||t.startsWith("https://")?t:`https://orcid.org/${t}`:""}function $d(e){return String(e??"").replace(/^https?:\/\/(www\.)?orcid\.org\//,"").trim()}function Ad(e){return Array.isArray(e)?e.map(t=>({givenNames:String((t==null?void 0:t.givenNames)??""),familyNames:String((t==null?void 0:t.familyNames)??""),orcid:String((t==null?void 0:t.orcid)??""),affiliation:String((t==null?void 0:t.affiliation)??"")})):[]}function Wd(e){return Ad(e).filter(t=>t.givenNames||t.familyNames).map(t=>{const n=t.givenNames,r=t.familyNames,l=t.orcid,o=t.affiliation,i=n&&r?`${r}, ${n}`:r||n;return{givenNames:n,familyNames:r,citationAuthor:{"given-names":n,"family-names":r,orcid:l},zenodoName:i,zenodoOrcid:$d(l),zenodoAffiliation:o}})}function Vd(e){return String(e??"").split(` +`).map(t=>t.trim()).filter(Boolean)}function Bd(e){return[...new Set(String(e??"").split(",").map(t=>t.trim().toLowerCase()).filter(Boolean))]}function Hd(e){return String(e??"").split(` +`).map(t=>t.trim()).filter(Boolean)}const Qd={software:"software",article:"publication",dataset:"dataset",other:"other"};function ic(e){const t=Wd(e.authors??[]),n=Bd(e.keywords??""),r=Hd(e.references??""),l=Vd(e.grants??""),o=e.typeOfWork;return{title:e.title??"",authors:t,keywords:n,license:e.license??"",typeOfWork:o,customTypeOfWork:e.customTypeOfWork??"",zenodoUploadType:Qd[o]??"other",version:e.version??"",publicationDate:e.publicationDate??"",repositoryCode:e.repositoryCode??"",doi:e.doi??"",abstract:e.abstract??"",references:r,grants:l}}function oe(e){return String(e??"").replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function Kd(e){return String(e??"").split(` +`).map(t=>` ${t}`).join(` +`)}function Yd(e){const t=e.typeOfWork||"software",n=e.repositoryCode||"https://github.com/Imageomics/repository",r=e.version||"v0.0.0",l=`${n}/releases/tag/${r}`,o=`${n}/tree/${r}`,i=e.authors.map(h=>{const m=[`- family-names: "${oe(h.citationAuthor["family-names"])}"`,` given-names: "${oe(h.citationAuthor["given-names"])}"`];return h.citationAuthor.orcid&&m.push(` orcid: "${oe(h.citationAuthor.orcid)}"`),m.join(` +`)}),s=(e.keywords.includes("imageomics")?e.keywords:["imageomics",...e.keywords]).map(h=>` - "${oe(h)}"`),c=e.abstract||"No abstract provided.";return["abstract: >-",Kd(c),"authors:",...i.length?i:['- family-names: "Unknown"',' given-names: "Author"',' orcid: "https://orcid.org/0000-0000-0000-0000"'],"cff-version: 1.2.0",`date-released: "${oe(e.publicationDate||"YYYY-MM-DD")}"`,"identifiers:",` - description: "The GitHub release URL of tag ${oe(r)}."`," type: url",` value: "${oe(l)}"`,` - description: "The GitHub URL of the commit tagged with ${oe(r)}."`," type: url",` value: "${oe(o)}"`,"keywords:",...s,`license: "${oe(e.license)}"`,'message: "If you find this software helpful in your research, please cite both the software and our paper."',`repository-code: "${oe(n)}"`,`title: "${oe(e.title)}"`,`version: "${oe(e.version)}"`,...e.doi?[`doi: "${oe(e.doi)}"`]:[],`type: ${oe(t)}`,""].join(` +`)}function Gd(e){const t=e.keywords.includes("imageomics")?e.keywords:["imageomics",...e.keywords],n=e.authors.length?e.authors.map(r=>({name:r.zenodoName,orcid:r.zenodoOrcid||"",affiliation:r.zenodoAffiliation||""})):[{name:"family-names, given-names",orcid:"",affiliation:""}];return JSON.stringify({creators:n,upload_type:e.zenodoUploadType,description:e.abstract,keywords:t,title:e.title,version:e.version,license:e.license,publication_date:e.publicationDate,grants:e.grants.map(r=>({id:r})),references:e.references},null,2)}function Xd(e){const t=n=>String(n??"").replace(/[ \t]+/g," ").trim();return{...e,title:t(e.title),authors:Array.isArray(e.authors)?e.authors.map(n=>({givenNames:t(n.givenNames),familyNames:t(n.familyNames),orcid:Ud(t(n.orcid)),affiliation:t(n.affiliation)})):[],license:t(e.license),keywords:t(e.keywords),customTypeOfWork:t(e.customTypeOfWork),abstract:t(e.abstract),version:t(e.version),publicationDate:t(e.publicationDate),repositoryCode:t(e.repositoryCode),doi:t(e.doi),references:String(e.references??"").trim(),grants:String(e.grants??"").trim()}}function Ku(e,t){const n=ic(e),r={},l=/^[A-Za-z0-9.-]+::[A-Za-z0-9.-]+$/;e.title||(r.title="Title is required"),n.authors.length===0&&(r.authors="At least one author is required"),e.license||(r.license="License is required"),t.some(i=>i.value===e.typeOfWork)||(r.typeOfWork="Type of work is invalid");const o=String(e.grants??"").split(` +`);for(let i=0;i::`;break}}return r}function Zd(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`author-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function Wo(){return{id:Zd(),givenNames:"",familyNames:"",orcid:"",affiliation:""}}const Jd={title:"",authors:[Wo()],license:"",keywords:"",typeOfWork:"software",customTypeOfWork:"",version:"",publicationDate:"",repositoryCode:"",doi:"",abstract:"",references:"",grants:""},Kl=[{value:"article",label:"Article"},{value:"dataset",label:"Dataset"},{value:"software",label:"Software"},{value:"other",label:"Other"}],qd=["MIT","CC0-1.0","CC-BY-4.0","Apache-2.0","BSD-3-Clause","GPL-3.0-only"];function Yu(e,t,n){const r=new Blob([t],{type:n}),l=URL.createObjectURL(r),o=document.createElement("a");o.href=l,o.download=e,o.click(),setTimeout(()=>URL.revokeObjectURL(l),0)}function bd(){const[e,t]=We.useState(Jd),[n,r]=We.useState("citation"),l=We.useMemo(()=>Xd(e),[e]),o=We.useMemo(()=>ic(l),[l]),i=We.useMemo(()=>Yd(o),[o]),u=We.useMemo(()=>Gd(o),[o]);function s(g){const{name:k,value:R}=g.target;t(f=>({...f,[k]:R}))}function c(g,k,R){t(f=>({...f,authors:f.authors.map((a,d)=>d===g?{...a,[k]:R}:a)}))}function h(){t(g=>({...g,authors:[...g.authors,Wo()]}))}function m(g){t(k=>({...k,authors:k.authors.length>1?k.authors.filter((R,f)=>f!==g):[Wo()]}))}function p(){const g=Ku(l,Kl);if(Object.keys(g).length>0){alert(Object.values(g).join(` +`));return}Yu("CITATION.cff",i,"text/yaml;charset=utf-8")}function w(){const g=Ku(l,Kl);if(Object.keys(g).length>0){alert(Object.values(g).join(` +`));return}Yu(".zenodo.json",u,"application/json;charset=utf-8")}return S.jsx("main",{className:"app-shell",children:S.jsxs("section",{className:"card",children:[S.jsxs("div",{className:"hero",children:[S.jsx("p",{className:"eyebrow",children:"OpenCite"}),S.jsx("h1",{children:"Generate citation metadata from one clean form."}),S.jsxs("p",{className:"lede",children:["Fill in the metadata once, then download both ",S.jsx("strong",{children:"CITATION.cff"})," and",S.jsx("strong",{children:".zenodo.json"}),"."]})]}),S.jsx(Fd,{form:e,typeOptions:Kl,licenseOptions:qd,updateField:s,updateAuthorField:c,addAuthor:h,removeAuthor:m}),S.jsxs("div",{className:"actions",children:[S.jsx("button",{type:"button",onClick:p,children:"Generate CITATION.cff"}),S.jsx("button",{type:"button",className:"secondary",onClick:w,children:"Generate .zenodo.json"})]}),S.jsx("div",{className:"preview",children:S.jsxs("div",{children:[S.jsx("h2",{children:"Preview"}),S.jsxs("div",{className:"actions",children:[S.jsx("button",{type:"button",className:n==="citation"?"":"secondary",onClick:()=>r("citation"),children:"CITATION.cff"}),S.jsx("button",{type:"button",className:n==="zenodo"?"":"secondary",onClick:()=>r("zenodo"),children:".zenodo.json"})]}),S.jsx("pre",{children:n==="citation"?i:u})]})})]})})}Yl.createRoot(document.getElementById("root")).render(S.jsx(Cc.StrictMode,{children:S.jsx(bd,{})})); diff --git a/index.html b/index.html new file mode 100644 index 0000000..51179cc --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + OpenCite + + + + +
+ + From b11364bedb4067eeeb5dcefbc1902dcdcff1f8b8 Mon Sep 17 00:00:00 2001 From: beanbean9339 Date: Mon, 20 Jul 2026 19:09:44 -0400 Subject: [PATCH 3/4] chore(deploy): add GitHub Pages config/scripts and publish dist to gh-pages --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index f52e519..1c1c5ea 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "scripts": { "dev": "vite", "build": "vite build", + "deploy": "gh-pages -d dist", "preview": "vite preview" }, "dependencies": { From a15be267bcfb5e65482b207baa63fa68a90d006d Mon Sep 17 00:00:00 2001 From: beanbean9339 Date: Fri, 4 Sep 2026 14:45:12 -0400 Subject: [PATCH 4/4] Updates --- assets/index-B9NQpN-P.css | 1 - assets/index-BcPV9U15.js | 45 +++++++++++++++++++++++++++++++++++ assets/index-D4E24Fst.js | 49 --------------------------------------- assets/index-DQprbZaI.css | 1 + index.html | 4 ++-- 5 files changed, 48 insertions(+), 52 deletions(-) delete mode 100644 assets/index-B9NQpN-P.css create mode 100644 assets/index-BcPV9U15.js delete mode 100644 assets/index-D4E24Fst.js create mode 100644 assets/index-DQprbZaI.css diff --git a/assets/index-B9NQpN-P.css b/assets/index-B9NQpN-P.css deleted file mode 100644 index 33c9767..0000000 --- a/assets/index-B9NQpN-P.css +++ /dev/null @@ -1 +0,0 @@ -:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e8edf2;background:radial-gradient(circle at top,rgba(92,124,250,.24),transparent 36%),linear-gradient(180deg,#0f172a,#111827);line-height:1.5;font-weight:400}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh}button,input,select,textarea{font:inherit}button{border:0;border-radius:999px;padding:.9rem 1.25rem;background:#f8fafc;color:#0f172a;cursor:pointer}button.secondary{background:transparent;color:#e8edf2;border:1px solid rgba(232,237,242,.2)}.app-shell{min-height:100vh;display:grid;place-items:center;padding:32px}.card{width:min(920px,100%);background:#0f172ab8;border:1px solid rgba(148,163,184,.18);border-radius:28px;padding:32px;box-shadow:0 24px 80px #02061761;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero{margin-bottom:24px}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:#93c5fd}h1,h2,p{margin-top:0}h1{margin-bottom:12px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.lede{margin:0;max-width:62ch;color:#cbd5e1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:grid;gap:8px}label span{font-size:.92rem;color:#cbd5e1}input,select,textarea{width:100%;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:#0f172ae6;color:#f8fafc;padding:.95rem 1rem}textarea{resize:vertical;min-height:140px}.full-width{grid-column:1 / -1}.authors-list{display:grid;gap:12px}.author-row{display:grid;gap:8px}.author-row button{justify-self:start}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.preview{margin-top:28px;display:grid;gap:16px}.preview .actions{margin-top:12px;margin-bottom:12px}pre{margin:0;overflow:auto;white-space:pre-wrap;word-break:break-word;border-radius:20px;padding:20px;background:#0206178f;border:1px solid rgba(148,163,184,.14);color:#bfdbfe}@media (max-width: 720px){.app-shell{padding:16px}.card{padding:20px;border-radius:22px}.form-grid{grid-template-columns:1fr}} diff --git a/assets/index-BcPV9U15.js b/assets/index-BcPV9U15.js new file mode 100644 index 0000000..f5f0da7 --- /dev/null +++ b/assets/index-BcPV9U15.js @@ -0,0 +1,45 @@ +var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),l=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var u=o((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.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`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,C={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function T(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)S.call(n,i)&&!w.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1{t.exports=u()})),f=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=typeof setTimeout==`function`?setTimeout:null,_=typeof clearTimeout==`function`?clearTimeout:null,v=typeof setImmediate<`u`?setImmediate:null;typeof navigator<`u`&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function b(e){if(h=!1,y(e),!m){if(n(c)!==null)m=!0,M(x);else{var t=n(l);t!==null&&N(b,t.startTime-e)}}}function x(t,i){m=!1,h&&(h=!1,_(w),w=-1),p=!0;var a=f;try{for(y(i),d=n(c);d!==null&&(!(d.expirationTime>i)||t&&!D());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=i);i=e.unstable_now(),typeof s==`function`?d.callback=s:d===n(c)&&r(c),y(i)}else r(c);d=n(c)}if(d!==null)var u=!0;else{var g=n(l);g!==null&&N(b,g.startTime-i),u=!1}return u}finally{d=null,f=a,p=!1}}var S=!1,C=null,w=-1,T=5,E=-1;function D(){return!(e.unstable_now()-Ee||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(_(w),w=-1):h=!0,N(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,M(x))),r},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),p=o(((e,t)=>{t.exports=f()})),m=o((e=>{var t=d(),n=p();function r(e){for(var t=`https://reactjs.org/docs/error-decoder.html?invariant=`+e,n=1;n`u`||window.document===void 0||window.document.createElement===void 0),l=Object.prototype.hasOwnProperty,u=/^[: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]*$/,f={},m={};function h(e){return l.call(m,e)?!0:l.call(f,e)?!1:u.test(e)?m[e]=!0:(f[e]=!0,!1)}function g(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?(e=e.toLowerCase().slice(0,5),e!==`data-`&&e!==`aria-`):!n.acceptsBooleans;default:return!1}}function _(e,t,n,r){if(t==null||g(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function v(e,t,n,r,i,a,o){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=a,this.removeEmptyString=o}var y={};`children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style`.split(` `).forEach(function(e){y[e]=new v(e,0,!1,e,null,!1,!1)}),[[`acceptCharset`,`accept-charset`],[`className`,`class`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`]].forEach(function(e){var t=e[0];y[t]=new v(t,1,!1,e[1],null,!1,!1)}),[`contentEditable`,`draggable`,`spellCheck`,`value`].forEach(function(e){y[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)}),[`autoReverse`,`externalResourcesRequired`,`focusable`,`preserveAlpha`].forEach(function(e){y[e]=new v(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){y[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)}),[`checked`,`multiple`,`muted`,`selected`].forEach(function(e){y[e]=new v(e,3,!0,e,null,!1,!1)}),[`capture`,`download`].forEach(function(e){y[e]=new v(e,4,!1,e,null,!1,!1)}),[`cols`,`rows`,`size`,`span`].forEach(function(e){y[e]=new v(e,6,!1,e,null,!1,!1)}),[`rowSpan`,`start`].forEach(function(e){y[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function x(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(b,x);y[t]=new v(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(b,x);y[t]=new v(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(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/XML/1998/namespace`,!1,!1)}),[`tabIndex`,`crossOrigin`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)}),y.xlinkHref=new v(`xlinkHref`,1,!1,`xlink:href`,`http://www.w3.org/1999/xlink`,!0,!1),[`src`,`href`,`action`,`formAction`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)});function S(e,t,n,r){var i=y.hasOwnProperty(t)?y[t]:null;(i===null?r||!(2s||i[o]!==a[s]){var c=` +`+i[o].replace(` at new `,` at `);return e.displayName&&c.includes(``)&&(c=c.replace(``,e.displayName)),c}while(1<=o&&0<=s);break}}}finally{te=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:``)?ee(e):``}function re(e){switch(e.tag){case 5:return ee(e.type);case 16:return ee(`Lazy`);case 13:return ee(`Suspense`);case 19:return ee(`SuspenseList`);case 0:case 2:case 15:return e=ne(e.type,!1),e;case 11:return e=ne(e.type.render,!1),e;case 1:return e=ne(e.type,!0),e;default:return``}}function ie(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 E:return`Fragment`;case T:return`Portal`;case O:return`Profiler`;case D:return`StrictMode`;case M:return`Suspense`;case N:return`SuspenseList`}if(typeof e==`object`)switch(e.$$typeof){case A:return(e.displayName||`Context`)+`.Consumer`;case k:return(e._context.displayName||`Context`)+`.Provider`;case j:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case P:return t=e.displayName||null,t===null?ie(e.type)||`Memo`:t;case F:t=e._payload,e=e._init;try{return ie(e(t))}catch{}}return null}function ae(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`:`ForwardRef(`+e+`)`);case 7:return`Fragment`;case 5:return t;case 4:return`Portal`;case 3:return`Root`;case 6:return`Text`;case 16:return ie(t);case 8:return t===D?`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 oe(e){switch(typeof e){case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function se(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function V(e){var t=se(e)?`checked`:`value`,n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=``+e[t];if(!e.hasOwnProperty(t)&&n!==void 0&&typeof n.get==`function`&&typeof n.set==`function`){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ce(e){e._valueTracker||=V(e)}function le(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=se(e)?e.checked?`true`:`false`:e.value),e=r,e!==n&&(t.setValue(e),!0)}function ue(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}function de(e,t){var n=t.checked;return z({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function fe(e,t){var n=t.defaultValue==null?``:t.defaultValue,r=t.checked==null?t.defaultChecked:t.checked;n=oe(t.value==null?n:t.value),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type===`checkbox`||t.type===`radio`?t.checked!=null:t.value!=null}}function pe(e,t){t=t.checked,t!=null&&S(e,`checked`,t,!1)}function me(e,t){pe(e,t);var n=oe(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`)?ge(e,t.type,n):t.hasOwnProperty(`defaultValue`)&&ge(e,t.type,oe(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function he(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 ge(e,t,n){(t!==`number`||ue(e.ownerDocument)!==e)&&(n==null?e.defaultValue=``+e._wrapperState.initialValue:e.defaultValue!==``+n&&(e.defaultValue=``+n))}var _e=Array.isArray;function ve(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i`+t.valueOf().toString()+``,t=Te.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function De(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Oe={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},ke=[`Webkit`,`ms`,`Moz`,`O`];Object.keys(Oe).forEach(function(e){ke.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Oe[t]=Oe[e]})});function Ae(e,t,n){return t==null||typeof t==`boolean`||t===``?``:n||typeof t!=`number`||t===0||Oe.hasOwnProperty(e)&&Oe[e]?(``+t).trim():t+`px`}function je(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=n.indexOf(`--`)===0,i=Ae(n,t[n],r);n===`float`&&(n=`cssFloat`),r?e.setProperty(n,i):e[n]=i}}var H=z({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 Me(e,t){if(t){if(H[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(r(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(r(60));if(typeof t.dangerouslySetInnerHTML!=`object`||!(`__html`in t.dangerouslySetInnerHTML))throw Error(r(61))}if(t.style!=null&&typeof t.style!=`object`)throw Error(r(62))}}function Ne(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 Pe=null;function Fe(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ie=null,Le=null,Re=null;function ze(e){if(e=Pi(e)){if(typeof Ie!=`function`)throw Error(r(280));var t=e.stateNode;t&&(t=Ii(t),Ie(e.stateNode,e.type,t))}}function Be(e){Le?Re?Re.push(e):Re=[e]:Le=e}function Ve(){if(Le){var e=Le,t=Re;if(Re=Le=null,ze(e),t)for(e=0;e>>=0,e===0?32:31-(Ct(e)/wt|0)|0}var Et=64,Dt=4194304;function Ot(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 kt(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~i;s===0?(a&=o,a!==0&&(r=Ot(a))):r=Ot(s)}else o=n&~i,o===0?a!==0&&(r=Ot(a)):r=Ot(o);if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,a=t&-t,i>=a||i===16&&a&4194240))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Ft(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-St(t),e[t]=n}function It(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=Yn),Qn=` `,$n=!1;function er(e,t){switch(e){case`keyup`:return qn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function tr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var nr=!1;function rr(e,t){switch(e){case`compositionend`:return tr(t);case`keypress`:return t.which===32?($n=!0,Qn):null;case`textInput`:return e=t.data,e===Qn&&$n?null:e;default:return null}}function ir(e,t){if(nr)return e===`compositionend`||!Jn&&er(e,t)?(e=yn(),vn=_n=gn=null,nr=!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}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Tr(n)}}function Dr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Dr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Or(){for(var e=window,t=ue();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=ue(e.document)}return t}function kr(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 Ar(e){var t=Or(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Dr(n.ownerDocument.documentElement,n)){if(r!==null&&kr(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,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=Er(n,a);var o=Er(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.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,Mr=null,Nr=null,Pr=null,Fr=!1;function Ir(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Fr||Mr==null||Mr!==ue(r)||(r=Mr,`selectionStart`in r&&kr(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}),Pr&&wr(Pr,r)||(Pr=r,r=si(Nr,`onSelect`),0Ri||(e.current=Li[Ri],Li[Ri]=null,Ri--)}function X(e,t){Ri++,Li[Ri]=e.current,e.current=t}var Bi={},Vi=zi(Bi),Hi=zi(!1),Ui=Bi;function Wi(e,t){var n=e.type.contextTypes;if(!n)return Bi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Gi(e){return e=e.childContextTypes,e!=null}function Ki(){Y(Hi),Y(Vi)}function qi(e,t,n){if(Vi.current!==Bi)throw Error(r(168));X(Vi,t),X(Hi,n)}function Ji(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!=`function`)return n;for(var a in i=i.getChildContext(),i)if(!(a in t))throw Error(r(108,ae(e)||`Unknown`,a));return z({},n,i)}function Yi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Bi,Ui=Vi.current,X(Vi,e),X(Hi,Hi.current),!0}function Xi(e,t,n){var i=e.stateNode;if(!i)throw Error(r(169));n?(e=Ji(e,t,Ui),i.__reactInternalMemoizedMergedChildContext=e,Y(Hi),Y(Vi),X(Vi,e)):Y(Hi),X(Hi,n)}var Zi=null,Qi=!1,$i=!1;function ea(e){Zi===null?Zi=[e]:Zi.push(e)}function ta(e){Qi=!0,ea(e)}function na(){if(!$i&&Zi!==null){$i=!0;var e=0,t=W;try{var n=Zi;for(W=1;e>=o,i-=o,ua=1<<32-St(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(r,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(r,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(r,d),Z&&fa(r,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),Z&&fa(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Z&&fa(a,g),u}for(h=i(a,h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),Z&&fa(a,g),u}function _(e,r,i,o){if(typeof i==`object`&&i&&i.type===E&&i.key===null&&(i=i.props.children),typeof i==`object`&&i){switch(i.$$typeof){case w:a:{for(var c=i.key,l=r;l!==null;){if(l.key===c){if(c=i.type,c===E){if(l.tag===7){n(e,l.sibling),r=a(l,i.props.children),r.return=e,e=r;break a}}else if(l.elementType===c||typeof c==`object`&&c&&c.$$typeof===F&&ja(c)===l.type){n(e,l.sibling),r=a(l,i.props),r.ref=ka(e,l,i),r.return=e,e=r;break a}n(e,l);break}t(e,l),l=l.sibling}i.type===E?(r=Zl(i.props.children,e.mode,o,i.key),r.return=e,e=r):(o=Xl(i.type,i.key,i.props,null,e.mode,o),o.ref=ka(e,r,i),o.return=e,e=o)}return s(e);case T:a:{for(l=i.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){n(e,r.sibling),r=a(r,i.children||[]),r.return=e,e=r;break a}n(e,r);break}t(e,r),r=r.sibling}r=eu(i,e.mode,o),r.return=e,e=r}return s(e);case F:return l=i._init,_(e,r,l(i._payload),o)}if(_e(i))return h(e,r,i,o);if(R(i))return g(e,r,i,o);Aa(e,i)}return typeof i==`string`&&i!==``||typeof i==`number`?(i=``+i,r!==null&&r.tag===6?(n(e,r.sibling),r=a(r,i),r.return=e,e=r):(n(e,r),r=$l(i,e.mode,o),r.return=e,e=r),s(e)):n(e,r)}return _}var Na=Ma(!0),Pa=Ma(!1),Fa=zi(null),Ia=null,La=null,Ra=null;function za(){Ra=La=Ia=null}function Ba(e){var t=Fa.current;Y(Fa),e._currentValue=t}function Va(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Ha(e,t){Ia=e,Ra=La=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ms=!0),e.firstContext=null)}function Ua(e){var t=e._currentValue;if(Ra!==e){if(e={context:e,memoizedValue:t,next:null},La===null){if(Ia===null)throw Error(r(308));La=e,Ia.dependencies={lanes:0,firstContext:e}}else La=La.next=e}return t}var Wa=null;function Ga(e){Wa===null?Wa=[e]:Wa.push(e)}function Ka(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Ga(t)):(n.next=i.next,i.next=n),t.interleaved=n,qa(e,r)}function qa(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Ja=!1;function Ya(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Xa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Za(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Qa(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,$&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,qa(e,n)}return i=r.interleaved,i===null?(t.next=t,Ga(r)):(t.next=i.next,i.next=t),r.interleaved=t,qa(e,n)}function $a(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194240)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Lt(e,n)}}function eo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function to(e,t,n,r){var i=e.updateQueue;Ja=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane,p=s.eventTime;if((r&f)===f){u!==null&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});a:{var m=e,h=s;switch(f=t,p=n,h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(p,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(p,d,f):m,f==null)break a;d=z({},d,f);break a;case 2:Ja=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,f=i.effects,f===null?i.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;f=s,s=f.next,f.next=null,i.lastBaseUpdate=f,i.shared.pending=null}}while(1);if(u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);Jc|=o,e.lanes=o,e.memoizedState=d}}function no(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=vo.transition;vo.transition={};try{e(!1),t()}finally{W=n,vo.transition=r}}function as(){return Mo().memoizedState}function os(e,t,n){var r=pl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},cs(e))ls(t,n);else if(n=Ka(e,t,n,r),n!==null){var i=fl();ml(n,e,r,i),us(n,t,r)}}function ss(e,t,n){var r=pl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(cs(e))ls(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Cr(s,o)){var c=t.interleaved;c===null?(i.next=i,Ga(t)):(i.next=c.next,c.next=i),t.interleaved=i;return}}catch{}n=Ka(e,t,i,r),n!==null&&(i=fl(),ml(n,e,r,i),us(n,t,r))}}function cs(e){var t=e.alternate;return e===bo||t!==null&&t===bo}function ls(e,t){wo=Co=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function us(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Lt(e,n)}}var ds={readContext:Ua,useCallback:Do,useContext:Do,useEffect:Do,useImperativeHandle:Do,useInsertionEffect:Do,useLayoutEffect:Do,useMemo:Do,useReducer:Do,useRef:Do,useState:Do,useDebugValue:Do,useDeferredValue:Do,useTransition:Do,useMutableSource:Do,useSyncExternalStore:Do,useId:Do,unstable_isNewReconciler:!1},fs={readContext:Ua,useCallback:function(e,t){return jo().memoizedState=[e,t===void 0?null:t],e},useContext:Ua,useEffect:Jo,useImperativeHandle:function(e,t,n){return n=n==null?null:n.concat([e]),Ko(4194308,4,Qo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ko(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ko(4,2,e,t)},useMemo:function(e,t){var n=jo();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=jo();return t=n===void 0?t:n(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=os.bind(null,bo,e),[r.memoizedState,e]},useRef:function(e){var t=jo();return e={current:e},t.memoizedState=e},useState:Uo,useDebugValue:es,useDeferredValue:function(e){return jo().memoizedState=e},useTransition:function(){var e=Uo(!1),t=e[0];return e=is.bind(null,e[1]),jo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=bo,a=jo();if(Z){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),Vc===null)throw Error(r(349));yo&30||Ro(i,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Jo(Bo.bind(null,i,o,e),[e]),i.flags|=2048,Wo(9,zo.bind(null,i,o,n,t),void 0,null),n},useId:function(){var e=jo(),t=Vc.identifierPrefix;if(Z){var n=da,r=ua;n=(r&~(1<<32-St(r)-1)).toString(32)+n,t=`:`+t+`R`+n,n=To++,0<\/script>`,e=e.removeChild(e.firstChild)):typeof i.is==`string`?e=c.createElement(n,{is:i.is}):(e=c.createElement(n),n===`select`&&(c=e,i.multiple?c.multiple=!0:i.size&&(c.size=i.size))):e=c.createElementNS(e,n),e[Di]=t,e[Oi]=i,nc(e,t,!1,!1),t.stateNode=e;a:{switch(c=Ne(n,i),n){case`dialog`:J(`cancel`,e),J(`close`,e),o=i;break;case`iframe`:case`object`:case`embed`:J(`load`,e),o=i;break;case`video`:case`audio`:for(o=0;oel&&(t.flags|=128,i=!0,ac(s,!1),t.lanes=4194304)}}else{if(!i){if(e=mo(c),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ac(s,!0),s.tail===null&&s.tailMode===`hidden`&&!c.alternate&&!Z)return oc(t),null}else 2*U()-s.renderingStartTime>el&&n!==1073741824&&(t.flags|=128,i=!0,ac(s,!1),t.lanes=4194304)}s.isBackwards?(c.sibling=t.child,t.child=c):(n=s.last,n===null?t.child=c:n.sibling=c,s.last=c)}return s.tail===null?(oc(t),null):(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=U(),t.sibling=null,n=po.current,X(po,i?n&1|2:n&1),t);case 22:case 23:return wl(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Wc&1073741824&&(oc(t),t.subtreeFlags&6&&(t.flags|=8192)):oc(t),null;case 24:return null;case 25:return null}throw Error(r(156,t.tag))}function cc(e,t){switch(ha(t),t.tag){case 1:return Gi(t.type)&&Ki(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return lo(),Y(Hi),Y(Vi),go(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return fo(t),null;case 13:if(Y(po),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));Ea()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Y(po),null;case 4:return lo(),null;case 10:return Ba(t.type._context),null;case 22:case 23:return wl(),null;case 24:return null;default:return null}}var lc=!1,uc=!1,dc=typeof WeakSet==`function`?WeakSet:Set,Q=null;function fc(e,t){var n=e.ref;if(n!==null){if(typeof n==`function`)try{n(null)}catch(n){Rl(e,t,n)}else n.current=null}}function pc(e,t,n){try{n()}catch(n){Rl(e,t,n)}}var mc=!1;function hc(e,t){if(hi=ln,e=Or(),kr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var a=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||i!==0&&f.nodeType!==3||(l=s+i),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===i&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(gi={focusedElem:e,selectionRange:n},ln=!1,Q=t;Q!==null;)if(t=Q,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Q=e;else for(;Q!==null;){t=Q;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var g=h.memoizedProps,_=h.memoizedState,v=t.stateNode;v.__reactInternalSnapshotBeforeUpdate=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:hs(t.type,g),_)}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent=``:y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(e){Rl(t,t.return,e)}if(e=t.sibling,e!==null){e.return=t.return,Q=e;break}Q=t.return}return h=mc,mc=!1,h}function gc(e,t,n){var r=t.updateQueue;if(r=r===null?null:r.lastEffect,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&pc(t,n,a)}i=i.next}while(i!==r)}}function _c(e,t){if(t=t.updateQueue,t=t===null?null:t.lastEffect,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 vc(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 yc(e){var t=e.alternate;t!==null&&(e.alternate=null,yc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Di],delete t[Oi],delete t[Ai],delete t[ji],delete t[Mi])),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 bc(e){return e.tag===5||e.tag===3||e.tag===4}function xc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||bc(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 a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Sc(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=mi));else if(r!==4&&(e=e.child,e!==null))for(Sc(e,t,n),e=e.sibling;e!==null;)Sc(e,t,n),e=e.sibling}function Cc(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(Cc(e,t,n),e=e.sibling;e!==null;)Cc(e,t,n),e=e.sibling}var wc=null,Tc=!1;function Ec(e,t,n){for(n=n.child;n!==null;)Dc(e,t,n),n=n.sibling}function Dc(e,t,n){if(bt&&typeof bt.onCommitFiberUnmount==`function`)try{bt.onCommitFiberUnmount(yt,n)}catch{}switch(n.tag){case 5:uc||fc(n,t);case 6:var r=wc,i=Tc;wc=null,Ec(e,t,n),wc=r,Tc=i,wc!==null&&(Tc?(e=wc,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):wc.removeChild(n.stateNode));break;case 18:wc!==null&&(Tc?(e=wc,n=n.stateNode,e.nodeType===8?Ci(e.parentNode,n):e.nodeType===1&&Ci(e,n),sn(e)):Ci(wc,n.stateNode));break;case 4:r=wc,i=Tc,wc=n.stateNode.containerInfo,Tc=!0,Ec(e,t,n),wc=r,Tc=i;break;case 0:case 11:case 14:case 15:if(!uc&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&pc(n,t,o),i=i.next}while(i!==r)}Ec(e,t,n);break;case 1:if(!uc&&(fc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){Rl(n,t,e)}Ec(e,t,n);break;case 21:Ec(e,t,n);break;case 22:n.mode&1?(uc=(r=uc)||n.memoizedState!==null,Ec(e,t,n),uc=r):Ec(e,t,n);break;default:Ec(e,t,n)}}function Oc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new dc),t.forEach(function(t){var r=Hl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function kc(e,t){var n=t.deletions;if(n!==null)for(var i=0;ia&&(a=s),i&=~o}if(i=a,i=U()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Lc(i/1960))-i,10e?16:e,ol===null)var i=!1;else{if(e=ol,ol=null,sl=0,$&6)throw Error(r(331));var a=$;for($|=4,Q=e.current;Q!==null;){var o=Q,s=o.child;if(Q.flags&16){var c=o.deletions;if(c!==null){for(var l=0;lU()-$c?Tl(e,0):Xc|=n),hl(e,t)}function Bl(e,t){t===0&&(e.mode&1?(t=Dt,Dt<<=1,!(Dt&130023424)&&(Dt=4194304)):t=1);var n=fl();e=qa(e,t),e!==null&&(Ft(e,t,n),hl(e,n))}function Vl(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Bl(e,n)}function Hl(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(r(314))}i!==null&&i.delete(t),Bl(e,n)}var Ul=function(e,t,n){if(e!==null){if(e.memoizedProps!==t.pendingProps||Hi.current)Ms=!0;else{if((e.lanes&n)===0&&!(t.flags&128))return Ms=!1,tc(e,t,n);Ms=!!(e.flags&131072)}}else Ms=!1,Z&&t.flags&1048576&&pa(t,oa,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;$s(e,t),e=t.pendingProps;var a=Wi(t,Vi.current);Ha(t,n),a=ko(null,t,i,e,a,n);var o=Ao();return t.flags|=1,typeof a==`object`&&a&&typeof a.render==`function`&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Gi(i)?(o=!0,Yi(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Ya(t),a.updater=_s,t.stateNode=a,a._reactInternals=t,xs(t,i,e,n),t=Vs(null,t,i,!0,o,n)):(t.tag=0,Z&&o&&ma(t),Ns(null,t,a,n),t=t.child),t;case 16:i=t.elementType;a:{switch($s(e,t),e=t.pendingProps,a=i._init,i=a(i._payload),t.type=i,a=t.tag=Jl(i),e=hs(i,e),a){case 0:t=zs(null,t,i,e,n);break a;case 1:t=Bs(null,t,i,e,n);break a;case 11:t=Ps(null,t,i,e,n);break a;case 14:t=Fs(null,t,i,hs(i.type,e),n);break a}throw Error(r(306,i,``))}return t;case 0:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),zs(e,t,i,a,n);case 1:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),Bs(e,t,i,a,n);case 3:a:{if(Hs(t),e===null)throw Error(r(387));i=t.pendingProps,o=t.memoizedState,a=o.element,Xa(e,t),to(t,i,null,n);var s=t.memoizedState;if(i=s.element,o.isDehydrated){if(o={element:i,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){a=Ss(Error(r(423)),t),t=Us(e,t,i,n,a);break a}if(i!==a){a=Ss(Error(r(424)),t),t=Us(e,t,i,n,a);break a}for(_a=wi(t.stateNode.containerInfo.firstChild),ga=t,Z=!0,va=null,n=Pa(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Ea(),i===a){t=ec(e,t,n);break a}Ns(e,t,i,n)}t=t.child}return t;case 5:return uo(t),e===null&&Sa(t),i=t.type,a=t.pendingProps,o=e===null?null:e.memoizedProps,s=a.children,_i(i,a)?s=null:o!==null&&_i(i,o)&&(t.flags|=32),Rs(e,t),Ns(e,t,s,n),t.child;case 6:return e===null&&Sa(t),null;case 13:return Ks(e,t,n);case 4:return co(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=Na(t,null,i,n):Ns(e,t,i,n),t.child;case 11:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),Ps(e,t,i,a,n);case 7:return Ns(e,t,t.pendingProps,n),t.child;case 8:return Ns(e,t,t.pendingProps.children,n),t.child;case 12:return Ns(e,t,t.pendingProps.children,n),t.child;case 10:a:{if(i=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,X(Fa,i._currentValue),i._currentValue=s,o!==null){if(Cr(o.value,s)){if(o.children===a.children&&!Hi.current){t=ec(e,t,n);break a}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var c=o.dependencies;if(c!==null){s=o.child;for(var l=c.firstContext;l!==null;){if(l.context===i){if(o.tag===1){l=Za(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Va(o.return,n,t),c.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(r(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),Va(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}}Ns(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,i=t.pendingProps.children,Ha(t,n),a=Ua(a),i=i(a),t.flags|=1,Ns(e,t,i,n),t.child;case 14:return i=t.type,a=hs(i,t.pendingProps),a=hs(i.type,a),Fs(e,t,i,a,n);case 15:return Is(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),$s(e,t),t.tag=1,Gi(i)?(e=!0,Yi(t)):e=!1,Ha(t,n),ys(t,i,a),xs(t,i,a,n),Vs(null,t,i,!0,e,n);case 19:return Qs(e,t,n);case 22:return Ls(e,t,n)}throw Error(r(156,t.tag))};function Wl(e,t){return lt(e,t)}function Gl(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 Kl(e,t,n,r){return new Gl(e,t,n,r)}function ql(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Jl(e){if(typeof e==`function`)return+!!ql(e);if(e!=null){if(e=e.$$typeof,e===j)return 11;if(e===P)return 14}return 2}function Yl(e,t){var n=e.alternate;return n===null?(n=Kl(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 Xl(e,t,n,i,a,o){var s=2;if(i=e,typeof e==`function`)ql(e)&&(s=1);else if(typeof e==`string`)s=5;else a:switch(e){case E:return Zl(n.children,a,o,t);case D:s=8,a|=8;break;case O:return e=Kl(12,n,t,a|2),e.elementType=O,e.lanes=o,e;case M:return e=Kl(13,n,t,a),e.elementType=M,e.lanes=o,e;case N:return e=Kl(19,n,t,a),e.elementType=N,e.lanes=o,e;case I:return Ql(n,a,o,t);default:if(typeof e==`object`&&e)switch(e.$$typeof){case k:s=10;break a;case A:s=9;break a;case j:s=11;break a;case P:s=14;break a;case F:s=16,i=null;break a}throw Error(r(130,e==null?e:typeof e,``))}return t=Kl(s,n,t,a),t.elementType=e,t.type=i,t.lanes=o,t}function Zl(e,t,n,r){return e=Kl(7,e,r,t),e.lanes=n,e}function Ql(e,t,n,r){return e=Kl(22,e,r,t),e.elementType=I,e.lanes=n,e.stateNode={isHidden:!1},e}function $l(e,t,n){return e=Kl(6,e,null,t),e.lanes=n,e}function eu(e,t,n){return t=Kl(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function tu(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=Pt(0),this.expirationTimes=Pt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pt(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function nu(e,t,n,r,i,a,o,s,c){return e=new tu(e,t,n,s,c),t===1?(t=1,!0===a&&(t|=8)):t=0,a=Kl(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ya(a),e}function ru(e,t,n){var r=3{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=m()})),g=o((e=>{var t=h();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot})),_=o(((e,t)=>{(function(n){typeof e==`object`&&t!==void 0?t.exports=n():typeof define==`function`&&define.amd?define([],n):(typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:this).JSZip=n()})(function(){return function e(t,n,r){function i(o,s){if(!n[o]){if(!t[o]){var c=typeof l==`function`&&l;if(!s&&c)return c(o,!0);if(a)return a(o,!0);var u=Error(`Cannot find module '`+o+`'`);throw u.code=`MODULE_NOT_FOUND`,u}var d=n[o]={exports:{}};t[o][0].call(d.exports,function(e){var n=t[o][1][e];return i(n||e)},d,d.exports,e,t,n,r)}return n[o].exports}for(var a=typeof l==`function`&&l,o=0;o>2,s=(3&t)<<4|n>>4,c=1>6:64,l=2>4,n=(15&o)<<4|(s=a.indexOf(e.charAt(l++)))>>2,r=(3&s)<<6|(c=a.indexOf(e.charAt(l++))),f[u++]=t,s!==64&&(f[u++]=n),c!==64&&(f[u++]=r);return f}},{"./support":30,"./utils":32}],2:[function(e,t,n){var r=e(`./external`),i=e(`./stream/DataWorker`),a=e(`./stream/Crc32Probe`),o=e(`./stream/DataLengthProbe`);function s(e,t,n,r,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=n,this.compression=r,this.compressedContent=i}s.prototype={getContentWorker:function(){var e=new i(r.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new o(`data_length`)),t=this;return e.on(`end`,function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw Error(`Bug : uncompressed data size mismatch`)}),e},getCompressedWorker:function(){return new i(r.Promise.resolve(this.compressedContent)).withStreamInfo(`compressedSize`,this.compressedSize).withStreamInfo(`uncompressedSize`,this.uncompressedSize).withStreamInfo(`crc32`,this.crc32).withStreamInfo(`compression`,this.compression)}},s.createWorkerFrom=function(e,t,n){return e.pipe(new a).pipe(new o(`uncompressedSize`)).pipe(t.compressWorker(n)).pipe(new o(`compressedSize`)).withStreamInfo(`compression`,t)},t.exports=s},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,n){var r=e(`./stream/GenericWorker`);n.STORE={magic:`\0\0`,compressWorker:function(){return new r(`STORE compression`)},uncompressWorker:function(){return new r(`STORE decompression`)}},n.DEFLATE=e(`./flate`)},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,n){var r=e(`./utils`),i=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();t.exports=function(e,t){return e!==void 0&&e.length?r.getTypeOf(e)===`string`?function(e,t,n,r){var a=i,o=r+n;e^=-1;for(var s=r;s>>8^a[255&(e^t.charCodeAt(s))];return-1^e}(0|t,e,e.length,0):function(e,t,n,r){var a=i,o=r+n;e^=-1;for(var s=r;s>>8^a[255&(e^t[s])];return-1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,n){n.base64=!1,n.binary=!1,n.dir=!1,n.createFolders=!0,n.date=null,n.compression=null,n.compressionOptions=null,n.comment=null,n.unixPermissions=null,n.dosPermissions=null},{}],6:[function(e,t,n){var r=null;r=typeof Promise<`u`?Promise:e(`lie`),t.exports={Promise:r}},{lie:37}],7:[function(e,t,n){var r=typeof Uint8Array<`u`&&typeof Uint16Array<`u`&&typeof Uint32Array<`u`,i=e(`pako`),a=e(`./utils`),o=e(`./stream/GenericWorker`),s=r?`uint8array`:`array`;function c(e,t){o.call(this,`FlateWorker/`+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}n.magic=`\b\0`,a.inherits(c,o),c.prototype.processChunk=function(e){this.meta=e.meta,this._pako===null&&this._createPako(),this._pako.push(a.transformTo(s,e.data),!1)},c.prototype.flush=function(){o.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},c.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this._pako=null},c.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},n.compressWorker=function(e){return new c(`Deflate`,e)},n.uncompressWorker=function(){return new c(`Inflate`,{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,n){function r(e,t){var n,r=``;for(n=0;n>>=8;return r}function i(e,t,n,i,o,u){var d,f,p=e.file,m=e.compression,h=u!==s.utf8encode,g=a.transformTo(`string`,u(p.name)),_=a.transformTo(`string`,s.utf8encode(p.name)),v=p.comment,y=a.transformTo(`string`,u(v)),b=a.transformTo(`string`,s.utf8encode(v)),x=_.length!==p.name.length,S=b.length!==v.length,C=``,w=``,T=``,E=p.dir,D=p.date,O={crc32:0,compressedSize:0,uncompressedSize:0};t&&!n||(O.crc32=e.crc32,O.compressedSize=e.compressedSize,O.uncompressedSize=e.uncompressedSize);var k=0;t&&(k|=8),h||!x&&!S||(k|=2048);var A=0,j=0;E&&(A|=16),o===`UNIX`?(j=798,A|=function(e,t){var n=e;return e||(n=t?16893:33204),(65535&n)<<16}(p.unixPermissions,E)):(j=20,A|=function(e){return 63&(e||0)}(p.dosPermissions)),d=D.getUTCHours(),d<<=6,d|=D.getUTCMinutes(),d<<=5,d|=D.getUTCSeconds()/2,f=D.getUTCFullYear()-1980,f<<=4,f|=D.getUTCMonth()+1,f<<=5,f|=D.getUTCDate(),x&&(w=r(1,1)+r(c(g),4)+_,C+=`up`+r(w.length,2)+w),S&&(T=r(1,1)+r(c(y),4)+b,C+=`uc`+r(T.length,2)+T);var M=``;return M+=` +\0`,M+=r(k,2),M+=m.magic,M+=r(d,2),M+=r(f,2),M+=r(O.crc32,4),M+=r(O.compressedSize,4),M+=r(O.uncompressedSize,4),M+=r(g.length,2),M+=r(C.length,2),{fileRecord:l.LOCAL_FILE_HEADER+M+g+C,dirRecord:l.CENTRAL_FILE_HEADER+r(j,2)+M+r(y.length,2)+`\0\0\0\0`+r(A,4)+r(i,4)+g+C+y}}var a=e(`../utils`),o=e(`../stream/GenericWorker`),s=e(`../utf8`),c=e(`../crc32`),l=e(`../signature`);function u(e,t,n,r){o.call(this,`ZipFileWorker`),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=n,this.encodeFileName=r,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}a.inherits(u,o),u.prototype.push=function(e){var t=e.meta.percent||0,n=this.entriesCount,r=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,o.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:n?(t+100*(n-r-1))/n:100}}))},u.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var n=i(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:n.fileRecord,meta:{percent:0}})}else this.accumulate=!0},u.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,n=i(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(n.dirRecord),t)this.push({data:function(e){return l.DATA_DESCRIPTOR+r(e.crc32,4)+r(e.compressedSize,4)+r(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:n.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},u.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t=this.index;t--)n=(n<<8)+this.byteAt(t);return this.index+=e,n},readString:function(e){return r.transformTo(`string`,this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,n){var r=e(`./Uint8ArrayReader`);function i(e){r.call(this,e)}e(`../utils`).inherits(i,r),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,n){var r=e(`./DataReader`);function i(e){r.call(this,e)}e(`../utils`).inherits(i,r),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,n){var r=e(`./ArrayReader`);function i(e){r.call(this,e)}e(`../utils`).inherits(i,r),i.prototype.readData=function(e){if(this.checkOffset(e),e===0)return new Uint8Array;var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,n){var r=e(`../utils`),i=e(`../support`),a=e(`./ArrayReader`),o=e(`./StringReader`),s=e(`./NodeBufferReader`),c=e(`./Uint8ArrayReader`);t.exports=function(e){var t=r.getTypeOf(e);return r.checkSupport(t),t!==`string`||i.uint8array?t===`nodebuffer`?new s(e):i.uint8array?new c(r.transformTo(`uint8array`,e)):new a(r.transformTo(`array`,e)):new o(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,n){n.LOCAL_FILE_HEADER=`PK`,n.CENTRAL_FILE_HEADER=`PK`,n.CENTRAL_DIRECTORY_END=`PK`,n.ZIP64_CENTRAL_DIRECTORY_LOCATOR=`PK\x07`,n.ZIP64_CENTRAL_DIRECTORY_END=`PK`,n.DATA_DESCRIPTOR=`PK\x07\b`},{}],24:[function(e,t,n){var r=e(`./GenericWorker`),i=e(`../utils`);function a(e){r.call(this,`ConvertWorker to `+e),this.destType=e}i.inherits(a,r),a.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=a},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,n){var r=e(`./GenericWorker`),i=e(`../crc32`);function a(){r.call(this,`Crc32Probe`),this.withStreamInfo(`crc32`,0)}e(`../utils`).inherits(a,r),a.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=a},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,n){var r=e(`../utils`),i=e(`./GenericWorker`);function a(e){i.call(this,`DataLengthProbe for `+e),this.propName=e,this.withStreamInfo(e,0)}r.inherits(a,i),a.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=a},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,n){var r=e(`../utils`),i=e(`./GenericWorker`);function a(e){i.call(this,`DataWorker`);var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=``,this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=r.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}r.inherits(a,i),a.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},a.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,r.delay(this._tickAndRepeat,[],this)),!0)},a.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(r.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},a.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case`string`:e=this.data.substring(this.index,t);break;case`uint8array`:e=this.data.subarray(this.index,t);break;case`array`:case`nodebuffer`:e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=a},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,n){function r(e){this.name=e||`default`,this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}r.prototype={push:function(e){this.emit(`data`,e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(`end`),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(`error`,e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(`error`,e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var n=0;n `+e:e}},t.exports=r},{}],29:[function(e,t,n){var r=e(`../utils`),i=e(`./ConvertWorker`),a=e(`./GenericWorker`),o=e(`../base64`),s=e(`../support`),c=e(`../external`),l=null;if(s.nodestream)try{l=e(`../nodejs/NodejsStreamOutputAdapter`)}catch{}function u(e,t){return new c.Promise(function(n,i){var a=[],s=e._internalType,c=e._outputType,l=e._mimeType;e.on(`data`,function(e,n){a.push(e),t&&t(n)}).on(`error`,function(e){a=[],i(e)}).on(`end`,function(){try{n(function(e,t,n){switch(e){case`blob`:return r.newBlob(r.transformTo(`arraybuffer`,t),n);case`base64`:return o.encode(t);default:return r.transformTo(e,t)}}(c,function(e,t){var n,r=0,i=null,a=0;for(n=0;n`u`)n.blob=!1;else{var r=new ArrayBuffer(0);try{n.blob=new Blob([r],{type:`application/zip`}).size===0}catch{try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(r),n.blob=i.getBlob(`application/zip`).size===0}catch{n.blob=!1}}}try{n.nodestream=!!e(`readable-stream`).Readable}catch{n.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,n){for(var r=e(`./utils`),i=e(`./support`),a=e(`./nodejsUtils`),o=e(`./stream/GenericWorker`),s=Array(256),c=0;c<256;c++)s[c]=252<=c?6:248<=c?5:240<=c?4:224<=c?3:192<=c?2:1;s[254]=s[254]=1;function l(){o.call(this,`utf-8 decode`),this.leftOver=null}function u(){o.call(this,`utf-8 encode`)}n.utf8encode=function(e){return i.nodebuffer?a.newBufferFrom(e,`utf-8`):function(e){var t,n,r,a,o,s=e.length,c=0;for(a=0;a>>6:(n<65536?t[o++]=224|n>>>12:(t[o++]=240|n>>>18,t[o++]=128|n>>>12&63),t[o++]=128|n>>>6&63),t[o++]=128|63&n);return t}(e)},n.utf8decode=function(e){return i.nodebuffer?r.transformTo(`nodebuffer`,e).toString(`utf-8`):function(e){var t,n,i,a,o=e.length,c=Array(2*o);for(t=n=0;t>10&1023,c[n++]=56320|1023&i)}return c.length!==n&&(c.subarray?c=c.subarray(0,n):c.length=n),r.applyFromCharCode(c)}(e=r.transformTo(i.uint8array?`uint8array`:`array`,e))},r.inherits(l,o),l.prototype.processChunk=function(e){var t=r.transformTo(i.uint8array?`uint8array`:`array`,e.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var a=t;(t=new Uint8Array(a.length+this.leftOver.length)).set(this.leftOver,0),t.set(a,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var o=function(e,t){var n;for((t||=e.length)>e.length&&(t=e.length),n=t-1;0<=n&&(192&e[n])==128;)n--;return n<0||n===0?t:n+s[e[n]]>t?n:t}(t),c=t;o!==t.length&&(i.uint8array?(c=t.subarray(0,o),this.leftOver=t.subarray(o,t.length)):(c=t.slice(0,o),this.leftOver=t.slice(o,t.length))),this.push({data:n.utf8decode(c),meta:e.meta})},l.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:n.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},n.Utf8DecodeWorker=l,r.inherits(u,o),u.prototype.processChunk=function(e){this.push({data:n.utf8encode(e.data),meta:e.meta})},n.Utf8EncodeWorker=u},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,n){var r=e(`./support`),i=e(`./base64`),a=e(`./nodejsUtils`),o=e(`./external`);function s(e){return e}function c(e,t){for(var n=0;n>8;this.dir=!!(16&this.externalFileAttributes),e==0&&(this.dosPermissions=63&this.externalFileAttributes),e==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!==`/`||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=r(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,n,r,i=e.index+this.extraFieldsLength;for(this.extraFields||={};e.index+4>>6:(n<65536?t[o++]=224|n>>>12:(t[o++]=240|n>>>18,t[o++]=128|n>>>12&63),t[o++]=128|n>>>6&63),t[o++]=128|63&n);return t},n.buf2binstring=function(e){return c(e,e.length)},n.binstring2buf=function(e){for(var t=new r.Buf8(e.length),n=0,i=t.length;n>10&1023,l[r++]=56320|1023&i)}return c(l,r)},n.utf8border=function(e,t){var n;for((t||=e.length)>e.length&&(t=e.length),n=t-1;0<=n&&(192&e[n])==128;)n--;return n<0||n===0?t:n+o[e[n]]>t?n:t}},{"./common":41}],43:[function(e,t,n){t.exports=function(e,t,n,r){for(var i=65535&e|0,a=e>>>16&65535|0,o=0;n!==0;){for(n-=o=2e3>>1:e>>>1;t[n]=e}return t}();t.exports=function(e,t,n,i){var a=r,o=i+n;e^=-1;for(var s=i;s>>8^a[255&(e^t[s])];return-1^e}},{}],46:[function(e,t,n){var r,i=e(`../utils/common`),a=e(`./trees`),o=e(`./adler32`),s=e(`./crc32`),c=e(`./messages`),l=0,u=4,d=0,f=-2,p=-1,m=4,h=2,g=8,_=9,v=286,y=30,b=19,x=2*v+1,S=15,C=3,w=258,T=w+C+1,E=42,D=113,O=1,k=2,A=3,j=4;function M(e,t){return e.msg=c[t],t}function N(e){return(e<<1)-(4e.avail_out&&(n=e.avail_out),n!==0&&(i.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))}function I(e,t){a._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function L(e,t){e.pending_buf[e.pending++]=t}function R(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function z(e,t){var n,r,i=e.max_chain_length,a=e.strstart,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-T?e.strstart-(e.w_size-T):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+w,p=l[a+o-1],m=l[a+o];e.prev_length>=e.good_match&&(i>>=2),s>e.lookahead&&(s=e.lookahead);do if(l[(n=t)+o]===m&&l[n+o-1]===p&&l[n]===l[a]&&l[++n]===l[a+1]){a+=2,n++;do;while(l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&ac&&--i!=0);return o<=e.lookahead?o:e.lookahead}function B(e){var t,n,r,a,c,l,u,d,f,p,m=e.w_size;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=m+(m-T)){for(i.arraySet(e.window,e.window,m,m,0),e.match_start-=m,e.strstart-=m,e.block_start-=m,t=n=e.hash_size;r=e.head[--t],e.head[t]=m<=r?r-m:0,--n;);for(t=n=m;r=e.prev[--t],e.prev[t]=m<=r?r-m:0,--n;);a+=m}if(e.strm.avail_in===0)break;if(l=e.strm,u=e.window,d=e.strstart+e.lookahead,f=a,p=void 0,p=l.avail_in,f=C)for(c=e.strstart-e.insert,e.ins_h=e.window[c],e.ins_h=(e.ins_h<=C&&(e.ins_h=(e.ins_h<=C){if(r=a._tr_tally(e,e.strstart-e.match_start,e.match_length-C),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=C){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<=C&&(e.ins_h=(e.ins_h<=C&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-C,r=a._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-C),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(B(e),e.lookahead===0&&t===l)return O;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((e.strstart===0||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,I(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-T&&(I(e,!1),e.strm.avail_out===0))return O}return e.insert=0,t===u?(I(e,!0),e.strm.avail_out===0?A:j):(e.strstart>e.block_start&&(I(e,!1),e.strm.avail_out),O)}),new ne(4,4,8,4,ee),new ne(4,5,16,8,ee),new ne(4,6,32,32,ee),new ne(4,4,16,16,te),new ne(8,16,32,32,te),new ne(8,16,128,128,te),new ne(8,32,128,256,te),new ne(32,128,258,1024,te),new ne(32,258,258,4096,te)],n.deflateInit=function(e,t){return oe(e,t,g,15,8,0)},n.deflateInit2=oe,n.deflateReset=ae,n.deflateResetKeep=ie,n.deflateSetHeader=function(e,t){return e&&e.state&&e.state.wrap===2?(e.state.gzhead=t,d):f},n.deflate=function(e,t){var n,i,o,c;if(!e||!e.state||5>8&255),L(i,i.gzhead.time>>16&255),L(i,i.gzhead.time>>24&255),L(i,i.level===9?2:2<=i.strategy||i.level<2?4:0),L(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(L(i,255&i.gzhead.extra.length),L(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=s(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(L(i,0),L(i,0),L(i,0),L(i,0),L(i,0),L(i,i.level===9?2:2<=i.strategy||i.level<2?4:0),L(i,3),i.status=D);else{var p=g+(i.w_bits-8<<4)<<8;p|=(2<=i.strategy||i.level<2?0:i.level<6?1:i.level===6?2:3)<<6,i.strstart!==0&&(p|=32),p+=31-p%31,i.status=D,R(i,p),i.strstart!==0&&(R(i,e.adler>>>16),R(i,65535&e.adler)),e.adler=1}}if(i.status===69){if(i.gzhead.extra){for(o=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>o&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),F(e),o=i.pending,i.pending!==i.pending_buf_size));)L(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>o&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73}if(i.status===73){if(i.gzhead.name){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),F(e),o=i.pending,i.pending===i.pending_buf_size)){c=1;break}c=i.gzindexo&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),c===0&&(i.gzindex=0,i.status=91)}else i.status=91}if(i.status===91){if(i.gzhead.comment){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),F(e),o=i.pending,i.pending===i.pending_buf_size)){c=1;break}c=i.gzindexo&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),c===0&&(i.status=103)}else i.status=103}if(i.status===103&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&F(e),i.pending+2<=i.pending_buf_size&&(L(i,255&e.adler),L(i,e.adler>>8&255),e.adler=0,i.status=D)):i.status=D),i.pending!==0){if(F(e),e.avail_out===0)return i.last_flush=-1,d}else if(e.avail_in===0&&N(t)<=N(n)&&t!==u)return M(e,-5);if(i.status===666&&e.avail_in!==0)return M(e,-5);if(e.avail_in!==0||i.lookahead!==0||t!==l&&i.status!==666){var m=i.strategy===2?function(e,t){for(var n;;){if(e.lookahead===0&&(B(e),e.lookahead===0)){if(t===l)return O;break}if(e.match_length=0,n=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(I(e,!1),e.strm.avail_out===0))return O}return e.insert=0,t===u?(I(e,!0),e.strm.avail_out===0?A:j):e.last_lit&&(I(e,!1),e.strm.avail_out===0)?O:k}(i,t):i.strategy===3?function(e,t){for(var n,r,i,o,s=e.window;;){if(e.lookahead<=w){if(B(e),e.lookahead<=w&&t===l)return O;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=C&&0e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=C?(n=a._tr_tally(e,1,e.match_length-C),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(I(e,!1),e.strm.avail_out===0))return O}return e.insert=0,t===u?(I(e,!0),e.strm.avail_out===0?A:j):e.last_lit&&(I(e,!1),e.strm.avail_out===0)?O:k}(i,t):r[i.level].func(i,t);if(m!==A&&m!==j||(i.status=666),m===O||m===A)return e.avail_out===0&&(i.last_flush=-1),d;if(m===k&&(t===1?a._tr_align(i):t!==5&&(a._tr_stored_block(i,0,0,!1),t===3&&(P(i.head),i.lookahead===0&&(i.strstart=0,i.block_start=0,i.insert=0))),F(e),e.avail_out===0))return i.last_flush=-1,d}return t===u?i.wrap<=0?1:(i.wrap===2?(L(i,255&e.adler),L(i,e.adler>>8&255),L(i,e.adler>>16&255),L(i,e.adler>>24&255),L(i,255&e.total_in),L(i,e.total_in>>8&255),L(i,e.total_in>>16&255),L(i,e.total_in>>24&255)):(R(i,e.adler>>>16),R(i,65535&e.adler)),F(e),0=n.w_size&&(s===0&&(P(n.head),n.strstart=0,n.block_start=0,n.insert=0),p=new i.Buf8(n.w_size),i.arraySet(p,t,m-n.w_size,n.w_size,0),t=p,m=n.w_size),c=e.avail_in,l=e.next_in,u=e.input,e.avail_in=m,e.next_in=0,e.input=t,B(n);n.lookahead>=C;){for(r=n.strstart,a=n.lookahead-(C-1);n.ins_h=(n.ins_h<>>=b=y>>>24,m-=b,(b=y>>>16&255)==0)E[a++]=65535&y;else{if(!(16&b)){if(!(64&b)){y=h[(65535&y)+(p&(1<>>=b,m-=b),m<15&&(p+=T[r++]<>>=b=y>>>24,m-=b,!(16&(b=y>>>16&255))){if(!(64&b)){y=g[(65535&y)+(p&(1<>>=b,m-=b,(b=a-o)>3,p&=(1<<(m-=x<<3))-1,e.next_in=r,e.next_out=a,e.avail_in=r>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function g(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function _(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=``,t.wrap&&(e.adler=1&t.wrap),t.mode=f,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new r.Buf32(p),t.distcode=t.distdyn=new r.Buf32(m),t.sane=1,t.back=-1,u):d}function v(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,_(e)):d}function y(e,t){var n,r;return e&&e.state?(r=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=o.wsize?(r.arraySet(o.window,t,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(i<(a=o.wsize-o.wnext)&&(a=i),r.arraySet(o.window,t,n-i,a,o.wnext),(i-=a)?(r.arraySet(o.window,t,n-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,n.check=a(n.check,B,2,0),x=b=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&b)<<8)+(b>>8))%31){e.msg=`incorrect header check`,n.mode=30;break}if((15&b)!=8){e.msg=`unknown compression method`,n.mode=30;break}if(x-=4,F=8+(15&(b>>>=4)),n.wbits===0)n.wbits=F;else if(F>n.wbits){e.msg=`invalid window size`,n.mode=30;break}n.dmax=1<>8&1),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=a(n.check,B,2,0)),x=b=0,n.mode=3;case 3:for(;x<32;){if(v===0)break e;v--,b+=p[g++]<>>8&255,B[2]=b>>>16&255,B[3]=b>>>24&255,n.check=a(n.check,B,4,0)),x=b=0,n.mode=4;case 4:for(;x<16;){if(v===0)break e;v--,b+=p[g++]<>8),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=a(n.check,B,2,0)),x=b=0,n.mode=5;case 5:if(1024&n.flags){for(;x<16;){if(v===0)break e;v--,b+=p[g++]<>>8&255,n.check=a(n.check,B,2,0)),x=b=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&(v<(E=n.length)&&(E=v),E&&(n.head&&(F=n.head.extra_len-n.length,n.head.extra||(n.head.extra=Array(n.head.extra_len)),r.arraySet(n.head.extra,p,g,E,F)),512&n.flags&&(n.check=a(n.check,p,E,g)),v-=E,g+=E,n.length-=E),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(v===0)break e;for(E=0;F=p[g+E++],n.head&&F&&n.length<65536&&(n.head.name+=String.fromCharCode(F)),F&&E>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=12;break;case 10:for(;x<32;){if(v===0)break e;v--,b+=p[g++]<>>=7&x,x-=7&x,n.mode=27;break}for(;x<3;){if(v===0)break e;v--,b+=p[g++]<>>=1)){case 0:n.mode=14;break;case 1:if(w(n),n.mode=20,t!==6)break;b>>>=2,x-=2;break e;case 2:n.mode=17;break;case 3:e.msg=`invalid block type`,n.mode=30}b>>>=2,x-=2;break;case 14:for(b>>>=7&x,x-=7&x;x<32;){if(v===0)break e;v--,b+=p[g++]<>>16^65535)){e.msg=`invalid stored block lengths`,n.mode=30;break}if(n.length=65535&b,x=b=0,n.mode=15,t===6)break e;case 15:n.mode=16;case 16:if(E=n.length){if(v>>=5,x-=5,n.ndist=1+(31&b),b>>>=5,x-=5,n.ncode=4+(15&b),b>>>=4,x-=4,286>>=3,x-=3}for(;n.have<19;)n.lens[ee[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,L={bits:n.lenbits},I=s(0,n.lens,0,19,n.lencode,0,n.work,L),n.lenbits=L.bits,I){e.msg=`invalid code lengths set`,n.mode=30;break}n.have=0,n.mode=19;case 19:for(;n.have>>16&255,j=65535&z,!((k=z>>>24)<=x);){if(v===0)break e;v--,b+=p[g++]<>>=k,x-=k,n.lens[n.have++]=j;else{if(j===16){for(R=k+2;x>>=k,x-=k,n.have===0){e.msg=`invalid bit length repeat`,n.mode=30;break}F=n.lens[n.have-1],E=3+(3&b),b>>>=2,x-=2}else if(j===17){for(R=k+3;x>>=k)),b>>>=3,x-=3}else{for(R=k+7;x>>=k)),b>>>=7,x-=7}if(n.have+E>n.nlen+n.ndist){e.msg=`invalid bit length repeat`,n.mode=30;break}for(;E--;)n.lens[n.have++]=F}}if(n.mode===30)break;if(n.lens[256]===0){e.msg=`invalid code -- missing end-of-block`,n.mode=30;break}if(n.lenbits=9,L={bits:n.lenbits},I=s(c,n.lens,0,n.nlen,n.lencode,0,n.work,L),n.lenbits=L.bits,I){e.msg=`invalid literal/lengths set`,n.mode=30;break}if(n.distbits=6,n.distcode=n.distdyn,L={bits:n.distbits},I=s(l,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,L),n.distbits=L.bits,I){e.msg=`invalid distances set`,n.mode=30;break}if(n.mode=20,t===6)break e;case 20:n.mode=21;case 21:if(6<=v&&258<=y){e.next_out=_,e.avail_out=y,e.next_in=g,e.avail_in=v,n.hold=b,n.bits=x,o(e,C),_=e.next_out,m=e.output,y=e.avail_out,g=e.next_in,p=e.input,v=e.avail_in,b=n.hold,x=n.bits,n.mode===12&&(n.back=-1);break}for(n.back=0;A=(z=n.lencode[b&(1<>>16&255,j=65535&z,!((k=z>>>24)<=x);){if(v===0)break e;v--,b+=p[g++]<>M)])>>>16&255,j=65535&z,!(M+(k=z>>>24)<=x);){if(v===0)break e;v--,b+=p[g++]<>>=M,x-=M,n.back+=M}if(b>>>=k,x-=k,n.back+=k,n.length=j,A===0){n.mode=26;break}if(32&A){n.back=-1,n.mode=12;break}if(64&A){e.msg=`invalid literal/length code`,n.mode=30;break}n.extra=15&A,n.mode=22;case 22:if(n.extra){for(R=n.extra;x>>=n.extra,x-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;A=(z=n.distcode[b&(1<>>16&255,j=65535&z,!((k=z>>>24)<=x);){if(v===0)break e;v--,b+=p[g++]<>M)])>>>16&255,j=65535&z,!(M+(k=z>>>24)<=x);){if(v===0)break e;v--,b+=p[g++]<>>=M,x-=M,n.back+=M}if(b>>>=k,x-=k,n.back+=k,64&A){e.msg=`invalid distance code`,n.mode=30;break}n.offset=j,n.extra=15&A,n.mode=24;case 24:if(n.extra){for(R=n.extra;x>>=n.extra,x-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg=`invalid distance too far back`,n.mode=30;break}n.mode=25;case 25:if(y===0)break e;if(E=C-y,n.offset>E){if((E=n.offset-E)>n.whave&&n.sane){e.msg=`invalid distance too far back`,n.mode=30;break}D=E>n.wnext?(E-=n.wnext,n.wsize-E):n.wnext-E,E>n.length&&(E=n.length),O=n.window}else O=m,D=_-n.offset,E=n.length;for(yv?(b=L[R+d[w]],N[P+d[w]]):(b=96,0),p=1<>k)+(m-=p)]=y<<24|b<<16|x|0,m!==0;);for(p=1<>=1;if(p===0?M=0:(M&=p-1,M+=p),w++,--F[C]==0){if(C===E)break;C=t[n+d[w]]}if(D>>7)]}function L(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function R(e,t,n){e.bi_valid>h-n?(e.bi_buf|=t<>h-e.bi_valid,e.bi_valid+=n-h):(e.bi_buf|=t<>>=1,n<<=1,0<--t;);return n>>>1}function ee(e,t,n){var r,i,a=Array(m+1),o=0;for(r=1;r<=m;r++)a[r]=o=o+n[r-1]<<1;for(i=0;i<=t;i++){var s=e[2*i+1];s!==0&&(e[2*i]=B(a[s]++,s))}}function te(e){for(var t=0;t>1;1<=n;n--)ie(e,a,n);for(i=c;n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ie(e,a,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,a[2*i]=a[2*n]+a[2*r],e.depth[i]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,a[2*n+1]=a[2*r+1]=i,e.heap[1]=i++,ie(e,a,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,i,a,o,s,c=t.dyn_tree,l=t.max_code,u=t.stat_desc.static_tree,d=t.stat_desc.has_stree,f=t.stat_desc.extra_bits,h=t.stat_desc.extra_base,g=t.stat_desc.max_length,_=0;for(a=0;a<=m;a++)e.bl_count[a]=0;for(c[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n>=7;r>>=1)if(1&n&&e.dyn_ltree[2*t]!==0)return i;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return a;for(t=32;t>>3,(s=e.static_len+3+7>>>3)<=o&&(o=s)):o=s=n+5,n+4<=o&&t!==-1?le(e,t,n,r):e.strategy===4||s===o?(R(e,2+ +!!r,3),ae(e,T,E)):(R(e,4+ +!!r,3),function(e,t,n,r){var i;for(R(e,t-257,5),R(e,n-1,5),R(e,r-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,t===0?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(O[n]+l+1)]++,e.dyn_dtree[2*I(t)]++),e.last_lit===e.lit_bufsize-1},n._tr_align=function(e){R(e,2,3),z(e,_,T),function(e){e.bi_valid===16?(L(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{"../utils/common":41}],53:[function(e,t,n){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=``,this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,n){(function(e){(function(e,t){if(!e.setImmediate){var n,r,i,a,o=1,s={},c=!1,l=e.document,u=Object.getPrototypeOf&&Object.getPrototypeOf(e);u=u&&u.setTimeout?u:e,n={}.toString.call(e.process)===`[object process]`?function(e){process.nextTick(function(){f(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage(``,`*`),e.onmessage=n,t}}()?(a=`setImmediate$`+Math.random()+`$`,e.addEventListener?e.addEventListener(`message`,p,!1):e.attachEvent(`onmessage`,p),function(t){e.postMessage(a+t,`*`)}):e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){f(e.data)},function(e){i.port2.postMessage(e)}):l&&`onreadystatechange`in l.createElement(`script`)?(r=l.documentElement,function(e){var t=l.createElement(`script`);t.onreadystatechange=function(){f(e),t.onreadystatechange=null,r.removeChild(t),t=null},r.appendChild(t)}):function(e){setTimeout(f,0,e)},u.setImmediate=function(e){typeof e!=`function`&&(e=Function(``+e));for(var t=Array(arguments.length-1),r=0;r`u`?e===void 0?this:e:self)}).call(this,typeof global<`u`?global:typeof self<`u`?self:typeof window<`u`?window:{})},{}]},{},[10])(10)})})),v=o((e=>{var t=d(),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragment`),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,r){var s,c={},l=null,u=null;for(s in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)i.call(t,s)&&!o.hasOwnProperty(s)&&(c[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)c[s]===void 0&&(c[s]=t[s]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:a.current}}e.Fragment=r,e.jsx=s,e.jsxs=s})),y=o(((e,t)=>{t.exports=v()})),b=c(g(),1),x=c(_(),1),S=c(d(),1),C=y();function w({form:e,typeOptions:t,licenseOptions:n,grantSuggestions:r=[],errors:i={},touchedFields:a={},importedMetadataAvailable:o=!1,orcidSuggestions:s={},updateField:c,appendGrantSuggestion:l,appendAllGrantSuggestions:u,updateAuthorField:d,suggestOrcid:f,applySuggestedOrcid:p,reorderAuthor:m,addAuthor:h,removeAuthor:g}){let[_,v]=(0,S.useState)(!1),[y,b]=(0,S.useState)({}),x=Array.isArray(e.authors)?e.authors.length:0,w=_?x:Math.min(x,3),T=Math.max(0,x-w),E=e=>!!a[e],D=(e,t)=>!!a[`authors.${e}.${t}`],O=e=>!!i[e]&&(E(e)||o),k=(e,t)=>!!i.authorOrcid?.[e]&&(D(e,t)||o);function A(e){b(t=>({...t,[e]:!t[e]}))}return(0,C.jsxs)(`form`,{className:`form-grid`,onSubmit:e=>e.preventDefault(),children:[(0,C.jsx)(`p`,{className:`full-width required-note`,children:`* required for valid metadata export`}),(0,C.jsxs)(`section`,{className:`full-width form-section`,"aria-labelledby":`section-basics-title`,children:[(0,C.jsxs)(`header`,{className:`section-header`,children:[(0,C.jsx)(`p`,{className:`section-step`,children:`1. Basics`}),(0,C.jsx)(`h3`,{id:`section-basics-title`,children:`Core project details`}),(0,C.jsx)(`p`,{className:`section-lede`,children:`Start with what this work is and how people should reference it.`})]}),(0,C.jsxs)(`div`,{className:`section-grid`,children:[(0,C.jsxs)(`label`,{className:`full-width ${O(`title`)?`field-error`:``}`,children:[(0,C.jsx)(`span`,{children:`Title*`}),(0,C.jsx)(`input`,{className:O(`title`)?`input-error`:``,name:`title`,value:e.title,onChange:c,placeholder:`Project title`,"aria-invalid":!!O(`title`)}),(E(`title`)||o)&&i.title?(0,C.jsx)(`small`,{className:`error-text`,children:i.title}):null]}),(0,C.jsxs)(`label`,{className:`full-width`,children:[(0,C.jsx)(`span`,{children:`Abstract`}),(0,C.jsx)(`textarea`,{name:`abstract`,value:e.abstract,onChange:c,rows:`6`,placeholder:`Short description of the work`})]})]})]}),(0,C.jsxs)(`section`,{className:`full-width form-section`,"aria-labelledby":`section-authors-title`,children:[(0,C.jsxs)(`header`,{className:`section-header`,children:[(0,C.jsx)(`p`,{className:`section-step`,children:`2. Creators`}),(0,C.jsx)(`h3`,{id:`section-authors-title`,children:`Author list and ORCID`}),(0,C.jsx)(`p`,{className:`section-lede`,children:`Add authors in publication order, then enrich with ORCID and affiliation.`})]}),(0,C.jsxs)(`label`,{className:`full-width ${O(`authors`)?`field-error`:``}`,children:[(0,C.jsx)(`span`,{children:`Authors*`}),x>3&&(0,C.jsxs)(`div`,{className:`authors-toolbar`,children:[(0,C.jsxs)(`small`,{children:[`Showing `,w,` of `,x,` author`,x===1?``:`s`,`.`]}),(0,C.jsx)(`button`,{type:`button`,className:`secondary`,onClick:()=>v(e=>!e),children:_?`Show fewer authors`:`Show all authors (${x})`})]}),(0,C.jsx)(`div`,{className:`authors-list`,children:e.authors.slice(0,w).map((t,n)=>{let r=[t.givenNames,t.familyNames].filter(Boolean).join(` `).trim()||`Author ${n+1}`,a=k(n,`orcid`),c=_||n<3||a,l=Object.prototype.hasOwnProperty.call(y,n)?y[n]:c;return(0,C.jsxs)(`div`,{className:`author-row`,children:[(0,C.jsxs)(`div`,{className:`author-row-header`,children:[(0,C.jsx)(`strong`,{children:r}),(0,C.jsx)(`button`,{type:`button`,className:`secondary`,onClick:()=>A(n),children:l?`Hide details`:`Show details`})]}),l&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(`input`,{value:t.givenNames,onChange:e=>d(n,`givenNames`,e.target.value),placeholder:`Given names`}),(0,C.jsx)(`input`,{value:t.familyNames,onChange:e=>d(n,`familyNames`,e.target.value),placeholder:`Family names`}),(0,C.jsx)(`input`,{value:t.orcid,onChange:e=>d(n,`orcid`,e.target.value),placeholder:`ORCID (optional)`,className:k(n,`orcid`)?`input-error`:``,"aria-invalid":!!k(n,`orcid`)}),(D(n,`orcid`)||o)&&i.authorOrcid?.[n]?(0,C.jsx)(`small`,{className:`error-text`,children:i.authorOrcid[n]}):null,(0,C.jsxs)(`div`,{className:`orcid-tools`,children:[(0,C.jsx)(`button`,{type:`button`,className:`secondary`,onClick:()=>f(n),disabled:s[n]?.loading,children:s[n]?.loading?`Searching…`:`Suggest ORCID`}),s[n]?.error?(0,C.jsx)(`small`,{className:`error-text`,children:s[n].error}):null,s[n]?.suggestions?.length>0?(0,C.jsx)(`div`,{className:`orcid-suggestions`,children:s[n].suggestions.map(e=>(0,C.jsxs)(`button`,{type:`button`,className:`secondary orcid-suggestion`,onClick:()=>p(n,e),children:[e.label,` - `,e.orcid.replace(`https://orcid.org/`,``)]},`${e.orcid}-${e.label}`))}):null]}),(0,C.jsx)(`input`,{value:t.affiliation,onChange:e=>d(n,`affiliation`,e.target.value),placeholder:`Affiliation (optional)`}),(0,C.jsxs)(`div`,{className:`author-actions`,children:[(0,C.jsx)(`button`,{type:`button`,className:`secondary icon-button`,onClick:()=>m(n,-1),disabled:n===0,"aria-label":`Move author ${n+1} up`,title:`Move up`,children:`↑`}),(0,C.jsx)(`button`,{type:`button`,className:`secondary icon-button`,onClick:()=>m(n,1),disabled:n===e.authors.length-1,"aria-label":`Move author ${n+1} down`,title:`Move down`,children:`↓`}),(0,C.jsx)(`button`,{type:`button`,className:`secondary`,onClick:()=>g(n),children:`Remove author`})]})]})]},t.id??`author-${n}`)})}),T>0&&!_&&(0,C.jsxs)(`small`,{children:[T,` more author`,T===1?``:`s`,` hidden. Use "Show all authors" to manage the full list.`]}),(0,C.jsx)(`button`,{type:`button`,className:`secondary`,onClick:h,children:`Add author`}),(E(`authors`)||o)&&i.authors?(0,C.jsx)(`small`,{className:`error-text`,children:i.authors}):null]})]}),(0,C.jsxs)(`section`,{className:`full-width form-section`,"aria-labelledby":`section-publishing-title`,children:[(0,C.jsxs)(`header`,{className:`section-header`,children:[(0,C.jsx)(`p`,{className:`section-step`,children:`3. Publishing metadata`}),(0,C.jsx)(`h3`,{id:`section-publishing-title`,children:`Version, date, license, and identifiers`}),(0,C.jsx)(`p`,{className:`section-lede`,children:`Use release-aligned values so your exports match what users see on GitHub and Zenodo.`})]}),(0,C.jsxs)(`div`,{className:`section-grid`,children:[(0,C.jsxs)(`label`,{className:O(`typeOfWork`)?`field-error`:``,children:[(0,C.jsx)(`span`,{children:`Type of work*`}),(0,C.jsx)(`select`,{className:O(`typeOfWork`)?`input-error`:``,name:`typeOfWork`,value:e.typeOfWork,onChange:c,"aria-invalid":!!O(`typeOfWork`),children:t.map(e=>(0,C.jsx)(`option`,{value:e.value,children:e.label},e.value))}),(E(`typeOfWork`)||o)&&i.typeOfWork?(0,C.jsx)(`small`,{className:`error-text`,children:i.typeOfWork}):null]}),e.typeOfWork===`other`&&(0,C.jsxs)(`label`,{children:[(0,C.jsx)(`span`,{children:`Specify type of work`}),(0,C.jsx)(`input`,{name:`customTypeOfWork`,value:e.customTypeOfWork,onChange:c,placeholder:`e.g., protocol, poster, thesis`})]}),(0,C.jsxs)(`label`,{className:O(`version`)?`field-error`:``,children:[(0,C.jsx)(`span`,{children:`Version*`}),(0,C.jsx)(`input`,{className:O(`version`)?`input-error`:``,name:`version`,value:e.version,onChange:c,placeholder:`e.g. v1.2.3 or 1.2.3`,"aria-invalid":!!O(`version`)}),(0,C.jsxs)(`small`,{children:[`Use Semantic Versioning (MAJOR.MINOR.PATCH), like `,(0,C.jsx)(`strong`,{children:`1.2.3`}),` or `,(0,C.jsx)(`strong`,{children:`v1.2.3`}),`. Use the exact value you plan to publish as your GitHub release tag.`]}),(0,C.jsxs)(`small`,{children:[`Need a refresher? See`,` `,(0,C.jsx)(`a`,{href:`https://semver.org/`,target:`_blank`,rel:`noreferrer`,children:`semver.org`}),`.`]}),(E(`version`)||o)&&i.version?(0,C.jsx)(`small`,{className:`error-text`,children:i.version}):null]}),(0,C.jsxs)(`label`,{className:O(`publicationDate`)?`field-error`:``,children:[(0,C.jsx)(`span`,{children:`Publication date`}),(0,C.jsx)(`input`,{className:O(`publicationDate`)?`input-error`:``,name:`publicationDate`,value:e.publicationDate,onChange:c,placeholder:`YYYY-MM-DD`,"aria-invalid":!!O(`publicationDate`)}),(E(`publicationDate`)||o)&&i.publicationDate?(0,C.jsx)(`small`,{className:`error-text`,children:i.publicationDate}):null]}),(0,C.jsxs)(`label`,{className:O(`license`)?`field-error`:``,children:[(0,C.jsx)(`span`,{children:`License*`}),(0,C.jsxs)(`select`,{className:O(`license`)?`input-error`:``,name:`license`,value:e.license,onChange:c,"aria-invalid":!!O(`license`),children:[(0,C.jsx)(`option`,{value:``,children:`Select license (SPDX code)`}),n.map(e=>(0,C.jsx)(`option`,{value:e,children:e},e))]}),(E(`license`)||o)&&i.license?(0,C.jsx)(`small`,{className:`error-text`,children:i.license}):null]}),(0,C.jsxs)(`label`,{children:[(0,C.jsx)(`span`,{children:`Repository URL`}),(0,C.jsx)(`input`,{name:`repositoryCode`,value:e.repositoryCode,onChange:c,placeholder:`https://github.com/user/repo`})]}),(0,C.jsxs)(`label`,{children:[(0,C.jsx)(`span`,{children:`DOI (version-agnostic, from Zenodo)`}),(0,C.jsx)(`input`,{name:`doi`,value:e.doi,onChange:c,placeholder:`10.0000/zenodo.example.doi`})]}),(0,C.jsxs)(`label`,{children:[(0,C.jsx)(`span`,{children:`Keywords`}),(0,C.jsx)(`input`,{name:`keywords`,value:e.keywords,onChange:c,placeholder:`open science, metadata, citation`})]})]})]}),(0,C.jsxs)(`section`,{className:`full-width form-section`,"aria-labelledby":`section-references-title`,children:[(0,C.jsxs)(`header`,{className:`section-header`,children:[(0,C.jsx)(`p`,{className:`section-step`,children:`4. References`}),(0,C.jsx)(`h3`,{id:`section-references-title`,children:`Related work and dependencies`})]}),(0,C.jsxs)(`label`,{className:`full-width`,children:[(0,C.jsx)(`span`,{children:`References`}),(0,C.jsx)(`textarea`,{name:`references`,value:e.references,onChange:c,rows:`8`,placeholder:`One citation per line + +Or structured blocks separated by blank lines, for example: +- type: software +title: Example software title +version: 1.0.0 +authors: + - family-names: Lastname + given-names: Firstname +repository-code: https://github.com/org/repo +date-released: 2025-01-01 +doi: 10.0000/example +license: MIT`}),(0,C.jsx)(`small`,{children:`Use one plain-text citation per line, or use structured key:value blocks (separated by blank lines) for full Citation.cff references.`})]})]}),(0,C.jsxs)(`section`,{className:`full-width form-section`,"aria-labelledby":`section-funding-title`,children:[(0,C.jsxs)(`header`,{className:`section-header`,children:[(0,C.jsx)(`p`,{className:`section-step`,children:`5. Funding`}),(0,C.jsx)(`h3`,{id:`section-funding-title`,children:`Grant IDs and acknowledgements`})]}),(0,C.jsxs)(`label`,{className:`full-width ${E(`grants`)&&i.grants?`field-error`:``}`,children:[(0,C.jsx)(`span`,{children:`Grants`}),(0,C.jsx)(`textarea`,{className:E(`grants`)&&i.grants?`input-error`:``,name:`grants`,value:e.grants,onChange:c,rows:`3`,placeholder:`One grant ID per line`,"aria-invalid":!!(E(`grants`)&&i.grants)}),(0,C.jsxs)(`div`,{className:`grant-suggestions`,children:[r.map(e=>(0,C.jsxs)(`button`,{type:`button`,className:`secondary`,title:e.note,onClick:()=>l(e.id),children:[`Add `,e.label]},e.id)),(0,C.jsx)(`button`,{type:`button`,className:`secondary`,onClick:u,children:`Add all suggested grants`})]}),(0,C.jsx)(`ul`,{className:`grant-reference-list`,children:r.map(e=>(0,C.jsxs)(`li`,{children:[(0,C.jsx)(`strong`,{children:e.id}),` `,`-`,` `,e.note]},`reference-${e.id}`))}),(0,C.jsx)(`small`,{children:`Format: :: (e.g., 021nxhr62::2118240)`}),E(`grants`)&&i.grants?(0,C.jsx)(`small`,{className:`error-text`,children:i.grants}):null]})]})]})}var T=/\b(\d{4}-\d{4}-\d{4}-\d{3}[0-9X])\b/i,E=/(?:https?:\/\/)?(?:www\.)?orcid\.org\/(\d{4}-\d{4}-\d{4}-\d{3}[0-9X])/i;function D(e){let t=String(e??``).trim();if(!t)return``;let n=O(t).toUpperCase();return n&&k(n)?`https://orcid.org/${n}`:t}function O(e){return String(e??``).replace(/^(?:https?:\/\/)?(?:www\.)?orcid\.org\//i,``).trim()}function k(e){let t=O(e).toUpperCase();if(!t)return!0;if(!T.test(t))return!1;let n=t.replace(/-/g,``),r=0;for(let e=0;e<15;e+=1){let t=Number(n[e]);if(!Number.isInteger(t)||t<0||t>9)return!1;r=(r+t)*2}let i=(12-r%11)%11,a=i===10?`X`:String(i);return n[15]===a}function A(e){let t=String(e??``).trim().replace(/[<>()]/g,` `);if(!t)return null;let n=t.match(E);if(n?.[1])return D(n[1].toUpperCase());let r=t.match(T);return r?.[1]?D(r[1].toUpperCase()):null}function j(e){if(typeof e==`string`)return A(e);if(Array.isArray(e)){for(let t of e){let e=j(t);if(e)return e}return null}if(e&&typeof e==`object`)for(let t of Object.values(e)){let e=j(t);if(e)return e}return null}function M(e,t=[]){return j(t)??j(e)}function N(e){return O(e)}function P(e){return Array.isArray(e)?e.map(e=>({givenNames:String(e?.givenNames??``),familyNames:String(e?.familyNames??``),orcid:String(e?.orcid??``),affiliation:String(e?.affiliation??``)})):[]}function F(e){return P(e).filter(e=>e.givenNames||e.familyNames).map(e=>{let t=e.givenNames,n=e.familyNames,r=e.orcid,i=e.affiliation,a=t&&n?`${n}, ${t}`:n||t;return{givenNames:t,familyNames:n,citationAuthor:{"given-names":t,"family-names":n,orcid:r},zenodoName:a,zenodoOrcid:N(r),zenodoAffiliation:i}})}function I(e){return String(e??``).split(` +`).map(e=>e.trim()).filter(Boolean)}function L(e){return[...new Set(String(e??``).split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean))]}function R(e){return String(e??``).split(` +`).map(e=>e.trim()).filter(Boolean)}var z={software:`software`,article:`publication`,dataset:`dataset`,other:`other`};function B(e){let t=F(e.authors??[]),n=L(e.keywords??``),r=R(e.references??``),i=I(e.grants??``),a=e.typeOfWork;return{title:e.title??``,authors:t,keywords:n,license:e.license??``,typeOfWork:a,customTypeOfWork:e.customTypeOfWork??``,zenodoUploadType:z[a]??`other`,version:e.version??``,publicationDate:e.publicationDate??``,repositoryCode:e.repositoryCode??``,doi:e.doi??``,abstract:e.abstract??``,references:r,grants:i}}var ee={title:``,authors:[],keywords:[],license:``,typeOfWork:`software`,customTypeOfWork:``,zenodoUploadType:`software`,version:``,publicationDate:``,repositoryCode:``,doi:``,abstract:``,references:[],grants:[]};function te(e){return{...ee,...e}}function ne(e){return String(e??``).trim()}function re(e){let t=ne(e);if(!t||!/^\d{4}-\d{2}-\d{2}$/.test(t))return!1;let[n,r,i]=t.split(`-`),a=Number(n),o=Number(r),s=Number(i);if(!Number.isInteger(a)||!Number.isInteger(o)||!Number.isInteger(s))return!1;let c=new Date(Date.UTC(a,o-1,s));return c.getUTCFullYear()===a&&c.getUTCMonth()===o-1&&c.getUTCDate()===s}function ie(e,t){let n=RegExp(`^${t}:\\s*(.+)\\s*$`,`m`),r=ne((String(e).match(n)||[])[1]);if(!r)return``;let i=r.match(/^"(.*)"$/)||r.match(/^'(.*)'$/);return ne(i?i[1]:r)}function ae(e){let t=String(e??``).split(/\r?\n/),n=t.findIndex(e=>/^authors:\s*(.*)$/.test(e));if(n<0)return!1;let r=t[n].match(/^authors:\s*(.*)$/),i=ne(r?r[1]:``);if(i)return/^\[\s*\]$/.test(i)?!1:/^\[.*\]$/.test(i)?ne(i.slice(1,-1)).length>0:!1;let a=(t[n].match(/^\s*/)||[``])[0].length;for(let e=n+1;e0){i.push(`Errors:`);for(let e of t)i.push(`- ${e}`);i.push(``)}if(n.length>0){i.push(`Warnings:`);for(let e of n)i.push(`- ${e}`);i.push(``)}return i.push(`Summary:`),i.push(`- title: ${r.title?`present`:`missing`}`),i.push(`- version: ${r.version?r.version:`missing`}`),i.push(`- date-released: ${r.dateReleased?r.dateReleased:`missing`}`),i.push(`- repository-code: ${r.repositoryCode?`present`:`missing`}`),i.join(` +`)}function se(e){let t=[],n=[],r=String(e??``),i=ie(r,`cff-version`),a=ie(r,`title`),o=ie(r,`version`),s=ie(r,`date-released`),c=ie(r,`repository-code`);i||t.push(`cff-version is required.`),a||t.push(`title is required.`),o||t.push(`version is required.`),s?re(s)||t.push(`date-released must be a real date in YYYY-MM-DD format.`):t.push(`date-released is required.`),ae(r)||t.push(`authors must include at least one author entry.`),c||n.push(`repository-code is recommended for provenance and release linking.`),/^https?:\/\//i.test(c||``)||n.push(`repository-code should be an absolute URL.`);let l=t.length===0,u={title:a,version:o,dateReleased:s,repositoryCode:c};return{isValid:l,errors:t,warnings:n,fields:u,report:oe({isValid:l,errors:t,warnings:n,fields:u})}}function V(e){return String(e??``).replace(/[\t ]+/g,` `).trim()}function ce(e){let t=V(e);if(!t||!t.includes(`T`))return t;let n=new Date(t);return Number.isNaN(n.getTime())?t.split(`T`)[0]:[n.getFullYear(),String(n.getMonth()+1).padStart(2,`0`),String(n.getDate()).padStart(2,`0`)].join(`-`)}function le(e){let t=V(e);if(!t)return``;let n=t[0],r=t[t.length-1];return n===`"`&&r===`"`||n===`'`&&r===`'`?t.slice(1,-1):t}function ue(...e){for(let t of e){if(Array.isArray(t)){if(t.length>0)return t;continue}let e=V(t);if(e)return e}return``}function de(e){return Array.isArray(e)?e.map(e=>V(e)).filter(Boolean):e?String(e).split(/[\n,]/).map(e=>V(e)).filter(Boolean):[]}function fe(e){return[...new Set(de(e).map(e=>e.toLowerCase()))]}function pe(e){return Array.isArray(e)?e.map(e=>V(e)).filter(Boolean):e?String(e).split(/\n+/).map(e=>V(e)).filter(Boolean):[]}function me(e){return Array.isArray(e)?e.map(e=>typeof e==`string`?V(e):e&&typeof e==`object`?V(e.id??e.value??e.grantId??``):``).filter(Boolean):e?String(e).split(/\n+/).map(e=>V(e)).filter(Boolean):[]}function he(e){let t=V(e);return t?t.split(/([\-'])/).map(e=>{if(e===`-`||e===`'`||/[a-z]/.test(e)&&/[A-Z]/.test(e))return e;let t=e.toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)}).join(``):``}function ge(e){return V(e).split(/\s+/).map(e=>he(e)).filter(Boolean).join(` `)}function _e(e){return V(e).replace(/[._-]+/g,` `).replace(/([A-Z]+)([A-Z][a-z])/g,`$1 $2`).replace(/([a-z\d])([A-Z])/g,`$1 $2`).replace(/([A-Za-z])(\d)/g,`$1 $2`).replace(/(\d)([A-Za-z])/g,`$1 $2`)}function ve(e){let t=V(e);if(!t)return{givenNames:``,familyNames:``};if(t.includes(`,`)){let[e,...n]=t.split(`,`);return{givenNames:ge(n.join(`,`).trim()),familyNames:ge(e)}}let n=_e(t).split(/\s+/).filter(Boolean);return n.length>1&&/^\d+$/.test(n[n.length-1])&&(n=n.slice(0,-1)),n.length<=1?{givenNames:ge(n[0]??``),familyNames:``}:{givenNames:ge(n.slice(0,-1).join(` `)),familyNames:ge(n[n.length-1])}}function ye(e){if(!e)return null;if(typeof e==`string`){let{givenNames:t,familyNames:n}=ve(e);return t||n?{givenNames:t,familyNames:n,orcid:``,affiliation:``}:null}if(typeof e!=`object`)return null;let t=V(e.name??e.fullName??e.full_name??e.creator_name??``),n=t?ve(t):null,r=ge(e.givenNames??e[`given-names`]??e.firstName??e.firstname??n?.givenNames??``),i=ge(e.familyNames??e[`family-names`]??e.lastName??e.lastname??n?.familyNames??``),a=V(e.affiliation??e.organization??e.company??e.institution??``),o=D(e.orcid??e.ORCID??e.orcidId??``);if(r&&!i){let e=ve(r);e.familyNames&&(r=e.givenNames,i=e.familyNames)}return!r&&!i&&!a&&!o?null:{givenNames:r,familyNames:i,orcid:o,affiliation:a}}function be(e){return Array.isArray(e)?e.map(e=>ye(e)).filter(Boolean):[]}function xe(e){let t=V(e);if(!t)return``;let n=t.replace(/^git\+/,``).replace(/\.git$/i,``).replace(/\/+$/,``);try{let e=new URL(n),t=e.hostname.toLowerCase(),r=e.pathname.replace(/\/+$/,``);return t===`github.com`&&(r=r.toLowerCase()),`${e.protocol}//${t}${r}`}catch{return n}}function Se(e){let t=V(e).toLowerCase();return t?t.replace(/^v(?=\d)/,``):``}function Ce(e){let t=String(e??``).replace(/\r\n/g,` +`).split(` +`),n=[],r=!1;for(let e of t){let t=e.trim();if(!t){if(r)break;continue}if(!r&&/^#{1,6}\s+/.test(t)){r=!0;continue}(r||!/^(!|\[|-)/.test(t))&&(r=!0,n.push(t))}return n.join(` `).replace(/\s+/g,` `).trim()}function we(e){return String(e??``).trim()}function Te(e){return ce(e)}function Ee(e){return we(e).toLowerCase().replace(/^v(?=\d)/,``)}function De(e){let t=Ee(e).match(/^(\d+)\.(\d+)\.(\d+)(?:-([0-9a-z]+(?:\.[0-9a-z]+)*))?(?:\+[0-9a-z]+(?:\.[0-9a-z]+)*)?$/i);return t?{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3]),prerelease:t[4]??``}:null}function Oe(e,t){let n=e?e.split(`.`):[],r=t?t.split(`.`):[];if(n.length===0&&r.length===0)return 0;if(n.length===0)return 1;if(r.length===0)return-1;let i=Math.max(n.length,r.length);for(let e=0;ei)return 1}return 0}function ke(e,t){return e.major===t.major?e.minor===t.minor?e.patch===t.patch?Oe(e.prerelease,t.prerelease):e.patch-t.patch:e.minor-t.minor:e.major-t.major}function Ae(e){return we(e).replace(/^git\+/,``).replace(/\/+$/,``).replace(/\.git$/i,``).replace(/\/+$/,``).toLowerCase()}function je(e){return we(e).toUpperCase().replace(/^SPDX:/,``).trim()}function H(e,t,n,r){return{status:e,title:t,description:n,recommendation:r}}function Me(e){let t=e.fileValidationSummary?.citation;return t?.present?t.valid?H(`pass`,`Repository has a CITATION.cff`,`CITATION.cff was found and passed schema validation.`,`Keep the file and update only changed fields when needed.`):H(`error`,`Repository has a CITATION.cff`,`CITATION.cff exists but is invalid: ${(t.errors||[]).join(` | `)}`,`Fix required fields or regenerate CITATION.cff before trusting imported values.`):H(`warning`,`Repository is missing a CITATION.cff`,`No CITATION.cff file was found in the repository.`,`Generate a CITATION.cff file to improve citation metadata quality.`)}function Ne(e){let t=e.fileValidationSummary?.zenodo;return t?.present?t.valid?H(`pass`,`Repository has a .zenodo.json`,`.zenodo.json was found and passed schema validation.`,`Keep the file and update only changed fields when needed.`):H(`error`,`Repository has a .zenodo.json`,`.zenodo.json exists but is invalid: ${(t.errors||[]).join(` | `)}`,`Fix required fields or regenerate .zenodo.json before trusting imported values.`):H(`warning`,`Repository is missing a .zenodo.json`,`No .zenodo.json file was found in the repository.`,`Generate a .zenodo.json file for Zenodo-compatible metadata exports.`)}function Pe(e){let t=Ae(e.repoData?.html_url),n=Ae(e.metadata?.repositoryCode);return!t&&!n?H(`warning`,`Repository URL is current`,`Repository URL metadata is not available for comparison.`,`Set repository-code to the canonical GitHub repository URL.`):t&&!n?H(`warning`,`Repository URL is current`,`Repository URL is available, but repository-code is missing from imported metadata.`,`Set repository-code to the canonical GitHub repository URL.`):!t&&n?H(`warning`,`Repository URL is current`,`Repository URL could not be verified from GitHub API data.`,`Verify repository-code manually and rerun import when GitHub API access is available.`):t&&n&&t!==n?H(`warning`,`Repository URL is current`,`Imported repository URL does not match the current repository URL.`,`Update repository-code to match the current GitHub repository URL.`):H(`pass`,`Repository URL is current`,`Repository URL metadata matches the current repository URL.`,`Keep repository URL updated after transfers or renames.`)}function Fe(e){let t=we(e.releaseData?.tag_name),n=we(e.metadata?.version),r=De(t),i=De(n);return n?i?t?r?ke(i,r)<=0?H(`warning`,`Version is ahead of latest release tag`,`Version metadata (${n}) is not ahead of the latest release tag (${t}).`,`Set metadata version to the next logical semantic version for the upcoming release.`):H(`pass`,`Version is ahead of latest release tag`,`Version metadata (${n}) is a valid next semantic version relative to latest release (${t}).`,`Keep metadata version ahead of the latest release while preparing the next release.`):H(`warning`,`Version is ahead of latest release tag`,`Latest release tag (${t}) is not parseable as semantic versioning.`,`Use semantic version release tags (for example v1.2.3) so upcoming-release progression can be validated.`):H(`pass`,`Version is ahead of latest release tag`,`No latest release tag is available, so there is no baseline to compare; metadata version is accepted for the planned upcoming release.`,`Keep semantic versioning for planned releases; progression checks will apply once a baseline release exists.`):H(`warning`,`Version is ahead of latest release tag`,`Version metadata (${n}) is not parseable as semantic versioning.`,`Use semantic version format (for example 1.2.3) for upcoming-release metadata.`):H(`error`,`Version is ahead of latest release tag`,`Version metadata is missing.`,`Set a semantic version for the upcoming release metadata.`)}function Ie(e){let t=Te(e.releaseData?.published_at),n=Te(e.metadata?.publicationDate);return n?t?t&&n&&n<=t?H(`warning`,`Publication date is after latest release date`,`Metadata publication date (${n}) is not later than latest release date (${t}).`,`Set publication date for a newer upcoming release timeline.`):H(`pass`,`Publication date is after latest release date`,`Publication date metadata (${n}) is later than latest release date (${t}).`,`Keep publication date current for the next planned release.`):H(`pass`,`Publication date is after latest release date`,`No latest release publish date is available, so there is no baseline to compare; metadata publication date is accepted for the planned upcoming release.`,`Keep publication date current for the planned release; progression checks will apply once a baseline release exists.`):H(`warning`,`Publication date is after latest release date`,`Publication date metadata is missing.`,`Set publication date for the planned upcoming release.`)}function Le(e){let t=je(e.repoData?.license?.spdx_id),n=je(e.metadata?.license);return!t&&!n?H(`warning`,`License matches repository license`,`Neither repository nor metadata license information is available, so the match cannot be verified.`,`Set a clear SPDX license in repository metadata and citation files.`):t&&!n?H(`warning`,`License matches repository license`,`Repository license is available, but metadata license is missing, so the match cannot be verified.`,`Set metadata license to match repository SPDX license so match verification can be completed.`):!t&&n?H(`warning`,`License matches repository license`,`Metadata license is present, but repository SPDX license is missing, so the match cannot be verified.`,`Add repository SPDX license information and keep metadata aligned with repository policy.`):t&&n&&t!==n?H(`warning`,`License matches repository license`,`Metadata license does not align with repository SPDX license.`,`Update citation metadata license to match repository license policy.`):H(`pass`,`License matches repository license`,`Metadata license aligns with repository license information.`,`Keep license metadata aligned with repository SPDX settings.`)}function Re(e){let t=Array.isArray(e.metadata?.authors)?e.metadata.authors:[];return t.length===0?H(`error`,`Authors are present`,`No authors were found in merged metadata.`,`Add at least one author to citation metadata before export.`):H(`pass`,`Authors are present`,`${t.length} author${t.length===1?``:`s`} found in metadata.`,`Maintain complete author attribution for each release.`)}function ze(e){let t=Array.isArray(e.metadata?.authors)?e.metadata.authors:[],n=t.map(e=>we(e?.orcid)).filter(Boolean),r=t.filter(e=>!we(e?.orcid)).length,i=n.filter(e=>!k(e)),a=`ORCID IDs Missing`,o=`ORCID IDs are valid`;return i.length>0?H(`error`,o,`${i.length} ORCID value${i.length===1?` is`:`s are`} invalid.`+(r>0?` Missing ORCID for ${r} author${r===1?``:`s`}.`:``),`Correct ORCID format/checksum for all listed ORCID identifiers and add missing ORCIDs when available.`):n.length===0?H(`warning`,a,r>0?`Missing ORCID for ${r} author${r===1?``:`s`}.`:`No ORCID IDs were provided for authors.`,`Add ORCID IDs for contributors when available to improve author disambiguation.`):r>0?H(`warning`,a,`Missing ORCID for ${r} author${r===1?``:`s`}.`,`Add ORCID IDs for contributors when available to improve author disambiguation.`):H(`pass`,o,`All provided ORCID IDs are valid.`,`Keep ORCID IDs updated for ongoing contributor attribution.`)}function Be(e){let t=Array.isArray(e.metadata?.keywords)?e.metadata.keywords.filter(Boolean):[];return t.length===0?H(`warning`,`Keywords exist`,`No keywords were found in metadata.`,`Add project keywords to improve discoverability in citation systems.`):H(`pass`,`Keywords exist`,`${t.length} keyword${t.length===1?``:`s`} found in metadata.`,`Keep keywords focused and current with project scope.`)}function Ve(e){return we(e.metadata?.abstract)?H(`pass`,`Abstract exists`,`Abstract/description is present in metadata.`,`Keep abstract up to date as project goals evolve.`):H(`warning`,`Abstract exists`,`No abstract/description was found in metadata.`,`Add a concise abstract describing purpose and scope of the project.`)}function He(e){return we(e.metadata?.doi)?H(`pass`,`Project DOI is available`,`Version-agnostic project DOI is present in citation metadata.`,`Keep using the version-agnostic project DOI in citation metadata; version-specific release DOIs are handled separately by the archive/release workflow.`):H(`pass`,`Project DOI is available`,`A DOI is not required for this citation workflow.`,`If a project DOI is available, include the version-agnostic project DOI in citation metadata; do not require a version-specific release DOI in CITATION.cff.`)}var Ue=[Me,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He];function We(e,t=Ue){return t.map(t=>t(e))}var Ge=`https://api.github.com`;function Ke(e){return String(e??``).replace(/[\t ]+/g,` `).trim()}function qe(e){let t;try{t=new URL(e)}catch{throw Error(`Invalid GitHub repository URL.`)}if(t.hostname.replace(/^www\./,``).toLowerCase()!==`github.com`)throw Error(`Only GitHub repository URLs are supported.`);let n=t.pathname.split(`/`).filter(Boolean).map(e=>decodeURIComponent(e));if(n.length<2)throw Error(`Expected a repository URL in the form https://github.com/owner/repo.`);let[r,i]=n;return{owner:r,repo:i.replace(/\.git$/i,``)}}function Je(e){return String(e).split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}function Ye(e){let t=String(e??``).replace(/\s+/g,``);if(!t)return``;if(typeof atob==`function`){let e=atob(t);if(typeof TextDecoder==`function`){let t=Uint8Array.from(e,e=>e.charCodeAt(0));return new TextDecoder(`utf-8`).decode(t)}return e}return typeof Buffer<`u`?Buffer.from(t,`base64`).toString(`utf8`):``}function Xe(e,t){return t&&typeof t==`object`&&t.message?String(t.message):`${e.status} ${e.statusText}`.trim()}function Ze(e={}){let t=Ke(e.authToken??``);if(t)return t;try{if(typeof window<`u`&&window.localStorage){let e=Ke(window.localStorage.getItem(`opencite_github_token`)??``);if(e)return e}}catch{}return``}function Qe({authToken:e=``,source:t=``,label:n=``,onWarning:r=()=>{}}={}){return{authToken:e,source:t,label:n,onWarning:r}}function $e(e,t){return`${Ge}/repos/${e}/${t}`}function et(e,t,n=1){return`${Ge}/repos/${e}/${t}/releases?per_page=${Number.isInteger(n)?Math.min(Math.max(n,1),100):1}`}function tt(e,t,n=``,r=1){return`${Ge}/repos/${e}/${t}/commits?per_page=${Number.isInteger(r)?Math.min(Math.max(r,1),100):1}${n?`&sha=${encodeURIComponent(n)}`:``}`}function nt(e,t,n){return`${Ge}/repos/${e}/${t}/branches/${encodeURIComponent(n)}`}function rt(e,t,n,r=!0){return`${Ge}/repos/${e}/${t}/git/trees/${encodeURIComponent(n)}${r?`?recursive=1`:``}`}function it(e,t,n,r=100){return`${Ge}/repos/${e}/${t}/contributors?per_page=${r}&page=${n}`}function at(e){return`${Ge}/users/${encodeURIComponent(e)}`}function ot(e){return`${Ge}/users/${encodeURIComponent(e)}/social_accounts`}function st(e=``){let t={Accept:`application/vnd.github+json`,"X-GitHub-Api-Version":`2022-11-28`};return e&&(t.Authorization=`Bearer ${e}`),t}async function ct(e,t=``){let n;try{n=await fetch(e,{headers:st(t)})}catch(e){return{ok:!1,status:0,statusText:`Network error`,data:null,rateLimited:!1,error:e instanceof Error?e.message:String(e)}}let r=await n.text(),i=null;if(r)try{i=JSON.parse(r)}catch{i=r}let a=i&&typeof i==`object`?String(i.message??``):``,o=n.status===403&&(n.headers.get(`x-ratelimit-remaining`)===`0`||/rate limit|secondary rate limit|abuse detection/i.test(a));return{ok:n.ok,status:n.status,statusText:n.statusText,data:i,rateLimited:o}}async function lt(e,{authToken:t=``,source:n,onError:r}){let i=await ct(e,t);if(!i.ok){let t=i.rateLimited?`GitHub API rate limit exceeded.`:Xe(i,i.data);return r(n,i.rateLimited?`rate-limited`:`request-failed`,t,{url:e}),null}return i.data}async function ut(e,{authToken:t=``,source:n,label:r,onWarning:i}){let a=await ct(e,t);if(!a.ok){if(a.status===404)return null;let t=a.rateLimited?`GitHub API rate limit exceeded while fetching ${r}.`:`${r} unavailable: ${Xe(a,a.data)}`;return i(n,a.rateLimited?`rate-limited`:`request-failed`,t,{url:e}),null}return a.data}async function dt(e,t,n,{authToken:r=``,onWarning:i}){let a=await ut(tt(e,t,n),Qe({authToken:r,source:`commits`,label:`the latest commit`,onWarning:i}));return!Array.isArray(a)||a.length===0?``:Ke(a[0]?.commit?.committer?.date??a[0]?.commit?.author?.date??``)}async function ft(e,t,n,r,{authToken:i=``,onWarning:a}){let o=`${Ge}/repos/${e}/${t}/contents/${Je(n)}?ref=${encodeURIComponent(r)}`,s=await ct(o,i);if(!s.ok)return s.status===404||a(`contents`,s.rateLimited?`rate-limited`:`request-failed`,s.rateLimited?`GitHub API rate limit exceeded while fetching ${n}.`:`Unable to fetch ${n}: ${Xe(s,s.data)}`,{path:n,url:o}),null;let c=s.data;if(!c||Array.isArray(c))return a(`contents`,`unexpected-response`,`GitHub returned an unexpected payload for ${n}.`,{path:n,url:o}),null;if(c.truncated&&c.download_url){let e=await ct(c.download_url,i);return e.ok?typeof e.data==`string`?e.data:``:(a(`contents`,`request-failed`,`Unable to fetch the full contents of ${n}.`,{path:n,url:o}),null)}return c.encoding===`base64`&&c.content?Ye(c.content):``}function U(e){return V(e).toLowerCase().replace(/[^a-z0-9\s]/g,` `).replace(/\s+/g,` `).trim()}function pt(e){let t=U(e?.givenNames??``),n=U(e?.familyNames??``),r=t.split(` `).filter(Boolean),i=n.split(` `).filter(Boolean);return{givenNames:t,familyNames:n,givenFirst:r[0]??``,givenInitials:r.map(e=>e[0]).join(``),familyLast:i[i.length-1]??``,fullName:[t,n].filter(Boolean).join(` `).trim()}}function mt(e){let t=pt(e),n=t.givenNames,r=t.familyNames,i=t.givenFirst,a=t.familyLast,o=new Set([`${n}|${r}`,`${i}|${r}`,`${n}|${a}`,`${i}|${a}`]);return o.delete(`|`),o.delete(``),[...o].filter(Boolean)}function ht(e,t){let n=pt(e),r=pt(t);return!n.familyLast||!r.familyLast||n.familyLast!==r.familyLast?!1:!!(n.givenNames&&r.givenNames&&n.givenNames===r.givenNames||n.givenFirst&&r.givenFirst&&n.givenFirst===r.givenFirst||n.givenInitials&&r.givenInitials&&n.givenInitials===r.givenInitials||n.fullName&&r.fullName&&n.fullName===r.fullName)}function gt(e,t){let n=be(Array.isArray(e)?e:[]);if(n.length===0)return be(Array.isArray(t)?t:[]);let r=be(Array.isArray(t)?t:[]),i=new Map;for(let e of r)if(e.orcid||e.affiliation)for(let t of mt(e)){let n=i.get(t)??[];n.push(e),i.set(t,n)}return n.map(e=>{let t=mt(e).flatMap(e=>i.get(e)??[]),n=r.filter(t=>ht(e,t)),a=[...new Set([...t,...n])],o=[...new Set(a.map(e=>e.orcid).filter(Boolean))],s=[...new Set(a.map(e=>e.affiliation).filter(Boolean))];return!e.orcid&&o.length>1||!e.affiliation&&s.length>1?e:{...e,orcid:e.orcid||o[0]||``,affiliation:e.affiliation||s[0]||``}})}function _t(e){let t=new Set,n=new Map,r=new Map,i=[];for(let a of e){let e=ye(a);if(!e)continue;let o=V(e?.orcid??``).toLowerCase(),s=[V(e?.givenNames??``).toLowerCase(),V(e?.familyNames??``).toLowerCase()].join(`|`);if(s!==`|`&&r.has(s)){let t=r.get(s),i=V(t?.orcid??``).toLowerCase();if(!i||!o||i===o){!t.orcid&&e.orcid&&(t.orcid=e.orcid),!t.affiliation&&e.affiliation&&(t.affiliation=e.affiliation),o&&!n.has(o)&&n.set(o,t);continue}}let c=i.find(t=>{let n=V(t?.orcid??``).toLowerCase();return n&&o&&n!==o?!1:ht(t,e)});if(c){!c.orcid&&e.orcid&&(c.orcid=e.orcid),!c.affiliation&&e.affiliation&&(c.affiliation=e.affiliation);let t=V(c?.orcid??``).toLowerCase();t&&!n.has(t)&&n.set(t,c);continue}if(o&&n.has(o)){let t=n.get(o);!t.affiliation&&e.affiliation&&(t.affiliation=e.affiliation);continue}let l=[V(e?.givenNames??``).toLowerCase(),V(e?.familyNames??``).toLowerCase(),V(e?.orcid??``).toLowerCase()].join(`|`);if(!l||t.has(l))continue;t.add(l);let u={...e};i.push(u),o&&n.set(o,u),s!==`|`&&r.set(s,u)}return i}function vt(e,t){let n=be(Array.isArray(e)?e:[]),r=be(Array.isArray(t)?t:[]);if(r.length===0||n.length<=1)return n;let i=new Map,a=new Map;r.forEach((e,t)=>{let n=V(e?.orcid??``).toLowerCase();n&&!i.has(n)&&i.set(n,t);for(let n of mt(e))a.has(n)||a.set(n,t)});let o=n.map((e,t)=>{let n=V(e?.orcid??``).toLowerCase();if(n&&i.has(n))return{author:e,originalIndex:t,rank:i.get(n)};let o=mt(e).map(e=>a.get(e)).filter(e=>Number.isInteger(e));if(o.length>0)return{author:e,originalIndex:t,rank:Math.min(...o)};let s=r.findIndex(t=>ht(e,t));return s>=0?{author:e,originalIndex:t,rank:s}:{author:e,originalIndex:t,rank:1/0}});return o.sort((e,t)=>e.rank===t.rank?e.originalIndex-t.originalIndex:e.rank-t.rank),o.map(e=>e.author)}var yt=4,bt=20,xt=100;function St(e,t){let n=t(e??``).trim();if(!n)return!1;let r=n.toLowerCase().replace(/[._]+/g,` `).replace(/\s+/g,` `).trim();if(!r)return!1;if(r.includes(`[bot]`)||r.endsWith(`-bot`)||r.startsWith(`bot-`)||r.includes(`-bot`))return!0;let i=new Set([`copilot`,`codex`,`dependabot`,`chatgpt`,`gpt`,`openai`,`assistant`,`bot`]),a=r.split(/\s+/).filter(Boolean);if(a.length===1)return i.has(a[0]);let[o,s]=a,c=!!s&&[`actions`,`copilot`,`agent`,`code`,`cli`,`bot`,`assistant`].includes(s);if(o===`github`&&c||(o===`claude`||o===`copilot`||o===`swe`)&&c||o===`claude`&&s===`fable`)return!0;let l=r.replace(/-/g,` `);return[`github actions`,`github copilot`,`copilot agent`,`swe agent`,`claude code`,`claude agent`,`claude bot`,`claude cli`,`codex`,`dependabot`,`chatgpt`,`openai`,`ai assistant`].some(e=>l.includes(e))}function Ct(e,t,n){let r=n(t?.login??e?.login??``).toLowerCase(),i=n(e?.type??``).toLowerCase(),a=n(t?.type??``).toLowerCase(),o=n(t?.name??``).toLowerCase();return!!(i&&i!==`user`||a&&a!==`user`||St(r,n)||St(o,n))}async function wt(e,t,n,r,i,{fetchOptionalJson:a,addWarning:o}){let s=[],c=1;for(;;){let l=await a(it(e,t,c,xt),Qe({authToken:r,source:`contributors`,label:`contributors page ${c}`,onWarning:(e,t,r,i={})=>o(n,e,t,r,i)}))||[];if(!Array.isArray(l)||l.length===0)break;if(s.push(...l),i&&s.length>=i)return s.slice(0,i);if(l.length]+>\s*$/,``).trim();!r||/\d/.test(r)||St(r,e=>String(e??``))||t.add(r)}return[...t]}async function Dt({owner:e,repo:t,warnings:n,authToken:r=``,contributorFallbackLimit:i=yt,emitFallbackWarning:a=!0,cleanString:o,normalizeAuthor:s,normalizeAuthors:c,addWarning:l,fetchOptionalJson:u,extractOrcidFromGithubProfile:d}){let f=await wt(e,t,n,r,null,{fetchOptionalJson:u,addWarning:l});if(!Array.isArray(f)||f.length===0)return{fallbackAuthors:[],lookupAuthors:[]};a&&l(n,`authors`,`commit-based-fallback`,i?`Using top ${i} contributors as fallback authors.`:`Using contributors as fallback authors.`,{owner:e,repo:t});let p=await Promise.all(f.map(async e=>{let t=o(e?.login??``);if(!t)return{contributor:e,profile:null,socialAccounts:[],author:null,autoFilledOrcid:!1,excludedAutomated:!1};if(Ct(e,null,o))return{contributor:e,profile:null,socialAccounts:[],author:null,autoFilledOrcid:!1,excludedAutomated:!0};let i=await u(at(t),Qe({authToken:r,source:`contributor-profile`,label:`the profile for ${t}`,onWarning:(e,t,r,i={})=>l(n,e,t,r,i)}));if(!i)return{contributor:e,profile:null,socialAccounts:[],author:/\d/.test(t)?null:s({name:t}),autoFilledOrcid:!1,excludedAutomated:!1};let a=await u(ot(t),Qe({authToken:r,source:`contributor-profile-links`,label:`the profile links for ${t}`,onWarning:(e,t,r,i={})=>l(n,e,t,r,i)}))||[];if(Ct(e,i,o))return{contributor:e,profile:i,socialAccounts:a,author:null,autoFilledOrcid:!1,excludedAutomated:!0};let c=d(i,a);return i?.name?{contributor:e,profile:i,socialAccounts:a,author:s({name:i.name,affiliation:i.company??``,orcid:c}),autoFilledOrcid:!!c,excludedAutomated:!1}:/\d/.test(t)?{contributor:e,profile:i,socialAccounts:a,author:null,autoFilledOrcid:!1,excludedAutomated:!1}:{contributor:e,profile:i,socialAccounts:a,author:s({name:t,affiliation:``,orcid:c}),autoFilledOrcid:!!c,excludedAutomated:!1}})),m=p.filter(e=>e?.excludedAutomated).length;m>0&&l(n,`authors`,`automated-contributors-excluded`,`Excluded ${m} automated account(s) from fallback authors.`,{owner:e,repo:t});let h=p.filter(e=>e?.autoFilledOrcid).length;h>0&&l(n,`authors`,`orcid-autofilled`,`Auto-filled ORCID for ${h} contributor(s) from GitHub profile data.`,{owner:e,repo:t});let g=p.slice(0,i??p.length).map(e=>e?.author),_=p.map(e=>e?.author);return{fallbackAuthors:_t(c(g)),lookupAuthors:_t(c(_))}}function Ot(e,t,n,r){e.push({kind:`warning`,source:t,code:n,message:r})}function kt(e){let t=V(e).toLowerCase();return t===`dataset`?`dataset`:[`article`,`book`,`book-chapter`,`conference-paper`,`journal-article`,`manuscript`,`preprint`,`report`,`thesis`].includes(t)?`article`:t===`other`?`other`:`software`}function At({repo:e,release:t,defaultPublicationDate:n,citation:r,zenodo:i,packageMeta:a,readme:o,contributors:s,contributorLookupAuthors:c,supplementalCitationAuthors:l=[]}){let u=[...be(Array.isArray(r?.authors)?r.authors:[]),...be(Array.isArray(i?.authors)?i.authors:[]),...be(Array.isArray(a?.authors)?a.authors:[]),...be(Array.isArray(l)?l:[]),...be(Array.isArray(s)?s:[])],d=fe(ue(r?.keywords,i?.keywords,a?.keywords,e?.topics)),f=pe(ue(i?.references,r?.references)),p=me(ue(i?.grants)),m=vt(_t(gt(u,c)),c);return te({title:V(ue(r?.title,i?.title,a?.title,e?.name)),authors:m,keywords:d,license:V(ue(r?.license,i?.license,a?.license,e?.license?.spdx_id)),typeOfWork:kt(ue(i?.typeOfWork,r?.typeOfWork,`software`)),customTypeOfWork:``,zenodoUploadType:kt(ue(i?.typeOfWork,r?.typeOfWork,`software`)),version:V(ue(r?.version,i?.version,a?.version,t?.tag_name)),publicationDate:V(ue(r?.publicationDate,i?.publicationDate,t?.published_at,n)).split(`T`)[0],repositoryCode:xe(ue(e?.html_url,r?.repositoryCode,a?.repositoryCode)),doi:V(ue(i?.doi,r?.doi)),abstract:V(ue(r?.abstract,i?.abstract,a?.abstract,o,e?.description)),references:f,grants:p})}function jt({warnings:e,citation:t,zenodo:n,releaseData:r,repoData:i,metadata:a}){let o=V(r?.tag_name??``),s=V(t?.version??``),c=V(n?.version??``),l=V(a?.version??``),u=Se(s),d=Se(c),f=/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;s&&!f.test(s)&&Ot(e,`citation`,`invalid-version`,`CITATION.cff version (${s}) is not a valid Semantic Version.`),c&&!f.test(c)&&Ot(e,`zenodo`,`invalid-version`,`.zenodo.json version (${c}) is not a valid Semantic Version.`),o&&!f.test(o)&&Ot(e,`release`,`invalid-version`,`Latest release tag (${o}) is not a valid Semantic Version.`),u&&d&&u!==d&&Ot(e,`citation`,`cross-file-version-mismatch`,`CITATION.cff version (${s}) and .zenodo.json version (${c}) differ.`);let p=xe(i?.html_url??``),m=xe(t?.repositoryCode??``);p&&m&&p!==m&&Ot(e,`citation`,`repository-url-mismatch`,`CITATION.cff repository-code (${m}) differs from repository URL (${p}); using repository URL for import.`),l||Ot(e,`citation`,`missing-version`,`No version could be determined from release tag, CITATION.cff, .zenodo.json, or package metadata.`);let h=V(i?.license?.spdx_id??``).toUpperCase(),g=V(t?.license??``).toUpperCase(),_=V(n?.license??``).toUpperCase();h&&g&&h!==g&&Ot(e,`citation`,`license-mismatch`,`CITATION.cff license (${g}) differs from repository SPDX license (${h}); imported metadata keeps source precedence but should be reviewed.`),h&&_&&h!==_&&Ot(e,`zenodo`,`license-mismatch`,`.zenodo.json license (${_}) differs from repository SPDX license (${h}); imported metadata keeps source precedence but should be reviewed.`)}var Mt=V,Nt=ye,Pt=fe,Ft=xe,It=Ce;function Lt(e){return JSON.parse(e)}function W(e){let t=[];return e.author&&t.push(e.author),Array.isArray(e.authors)&&t.push(...e.authors),t.map(e=>Nt(e)).filter(Boolean)}function Rt(e){let t=Lt(e);return{title:Mt(t.name??``),abstract:Mt(t.description??``),version:Mt(t.version??``),repositoryCode:Ft(typeof t.repository==`string`?t.repository:t.repository?.url??t.homepage??``),license:Mt(typeof t.license==`string`?t.license:t.license?.type??``),keywords:Pt(t.keywords),authors:W(t)}}function zt(e,t){let n=String(e??``).replace(/\r\n/g,` +`).split(` +`),r=[],i=!1;for(let e of n){let n=e.trim().match(/^\[([^\]]+)\]$/);if(n){if(i)break;i=n[1]===t;continue}i&&r.push(e)}return r.join(` +`)}function Bt(e,t){let n=e.match(RegExp(`^${t}\\s*=\\s*(.+)$`,`m`));return n?n[1].trim():``}function Vt(e,t){let n=Bt(e,t).match(/^['"](.+?)['"]$/);return n?n[1].trim():``}function Ht(e){return[...String(e??``).matchAll(/['"]([^'"]+)['"]/g)].map(e=>Mt(e[1])).filter(Boolean)}function Ut(e){let t=zt(e,`project`)||zt(e,`tool.poetry`),n=Bt(t,`authors`)||Bt(t,`maintainers`),r=[...String(n??``).matchAll(/name\s*=\s*['"]([^'"]+)['"]/g)].map(e=>Nt({name:e[1]})).filter(Boolean),i=Vt(t,`license`)||Mt((t.match(/license\s*=\s*\{[^}]*text\s*=\s*['"]([^'"]+)['"][^}]*\}/s)||[])[1]??``),a=Vt(t,`repository`)||Vt(t,`homepage`)||Vt(t,`url`);return{title:Vt(t,`name`),abstract:Vt(t,`description`),version:Vt(t,`version`),repositoryCode:a,license:i,keywords:Pt(Ht(Bt(t,`keywords`))),authors:r}}function Wt(e){let t=String(e??``),n=e=>Mt((t.match(RegExp(`${e}\\s*=\\s*['"]([^'"]+)['"]`,`m`))||[])[1]??``),r=[],i=n(`author`),a=n(`maintainer`);return i?r.push(Nt({name:i})):a&&r.push(Nt({name:a})),{title:n(`name`),abstract:n(`description`),version:n(`version`),repositoryCode:Ft(n(`url`)),license:n(`license`),keywords:Pt(n(`keywords`)),authors:r.filter(Boolean)}}function Gt(e){let t=zt(e,`package`),n=Ht(Bt(t,`authors`)).map(e=>Nt({name:e})).filter(Boolean);return{title:Vt(t,`name`),abstract:Vt(t,`description`),version:Vt(t,`version`),repositoryCode:Vt(t,`repository`),license:Vt(t,`license`),keywords:Pt(Ht(Bt(t,`keywords`))),authors:n}}function Kt(e){let t=String(e??``),n=e=>Mt((t.match(e)||[])[1]??``),r=[...t.matchAll(/[\s\S]*?([^<]+)<\/name>[\s\S]*?<\/developer>/g)].map(e=>Nt({name:e[1]})).filter(Boolean),i=t.match(/[\s\S]*?([^<]+)<\/name>[\s\S]*?<\/license>/);return{title:n(/([^<]+)<\/name>/),abstract:n(/([^<]+)<\/description>/),version:n(/([^<]+)<\/version>/),repositoryCode:n(/([^<]+)<\/url>/),license:Mt((i||[])[1]??``),keywords:[],authors:r}}function qt(e){return It(e)}function G(e){return String(e??``).trim()}function Jt(e){let t=G(e);return t?t.replace(/^git\+/,``).replace(/\.git$/i,``).replace(/\/+$/,``).toLowerCase():``}function Yt(e){return ce(e)}function Xt(e){return G(e).toLowerCase().replace(/^v(?=\d)/,``)}function Zt(e){let t=G(e?.givenNames??e?.[`given-names`]??``),n=G(e?.familyNames??e?.[`family-names`]??``);return G(e?.name??``)||[t,n].filter(Boolean).join(` `).trim()}function Qt(e){let t=G(e?.givenNames??e?.[`given-names`]??``).toLowerCase(),n=G(e?.familyNames??e?.[`family-names`]??``).toLowerCase(),r=G(e?.name??``).toLowerCase();if(n||t)return`${n}\u0000${t}`;let i=r.indexOf(`,`);return i>=0?`${r.slice(0,i).trim()}\u0000${r.slice(i+1).trim()}`:`\u0000${r}`}function $t(e){return Array.isArray(e)?e.map(e=>({displayName:Zt(e).toLowerCase(),sortKey:Qt(e)})).filter(e=>e.displayName).sort((e,t)=>e.sortKey.localeCompare(t.sortKey)).map(e=>e.displayName):[]}function en(e){return Array.isArray(e)?e.map(e=>G(e).toLowerCase()).filter(Boolean).sort():[]}function tn({currentValue:e,githubValue:t,canDetermine:n}){return n?G(e)?e===t?`identical`:`different`:`missing`:`cannot determine`}function nn({file:e,field:t,currentValue:n,githubValue:r,canDetermine:i=!0,recommendations:a={}}){let o=tn({currentValue:n,githubValue:r,canDetermine:i});return{file:e,field:t,status:o,currentValue:n,githubValue:r,recommendation:a[o]??(o===`identical`?`No update needed.`:o===`cannot determine`?`Cannot determine from live GitHub metadata; review manually.`:o===`missing`?`Add ${t} from current metadata sources.`:`Review and update ${t} to match current repository metadata.`)}}function rn({file:e,metadata:t,context:n}){let r=Xt(t?.version),i=Xt(n.releaseData?.tag_name);return nn({file:e,field:`version`,currentValue:r,githubValue:i,canDetermine:!!i,recommendations:{different:`Update version to latest release.`,missing:`Add version from latest release tag.`}})}function an({file:e,metadata:t,context:n}){let r=Jt(t?.repositoryCode),i=Jt(n.repoData?.html_url);return nn({file:e,field:`repository-code`,currentValue:r,githubValue:i,canDetermine:!!i,recommendations:{different:`Repository was renamed. Update repository-code.`,missing:`Add repository-code from current GitHub URL.`}})}function on({file:e,metadata:t,context:n}){let r=G(t?.license).toUpperCase(),i=G(n.repoData?.license?.spdx_id).toUpperCase();return nn({file:e,field:`license`,currentValue:r,githubValue:i,canDetermine:!!i,recommendations:{different:`Review repository license and align citation metadata if needed.`,missing:`Add repository SPDX license to metadata.`}})}function sn({file:e,metadata:t,context:n}){let r=e===`.zenodo.json`?`publication_date`:`date-released`,i=Yt(t?.publicationDate),a=Yt(n.releaseData?.published_at);return nn({file:e,field:r,currentValue:i,githubValue:a,canDetermine:!!a,recommendations:{different:`Update release date to match latest GitHub release date.`,missing:`Add latest release date to metadata.`}})}function cn({file:e,metadata:t,context:n}){let r=$t(t?.authors).join(`, `),i=$t(n.contributorLookupAuthors).join(`, `);return nn({file:e,field:`authors`,currentValue:r,githubValue:i,canDetermine:!!i,recommendations:{different:`Review author list and update contributor attribution as needed.`,missing:`Add authors from repository contributors or known citation authors.`}})}function ln({file:e,metadata:t}){let n=(Array.isArray(t?.authors)?t.authors:[]).filter(e=>G(e?.orcid)).length;return nn({file:e,field:`orcid`,currentValue:String(n),githubValue:``,canDetermine:!1,recommendations:{"cannot determine":`ORCID cannot be determined from GitHub metadata alone; review manually.`,missing:`Add ORCID IDs for authors when available.`}})}function un({file:e,metadata:t}){return nn({file:e,field:`doi`,currentValue:G(t?.doi),githubValue:``,canDetermine:!1,recommendations:{"cannot determine":`DOI cannot be determined from GitHub metadata alone; review manually.`,missing:`Add DOI if you have an archival DOI (for example from Zenodo).`}})}function dn({file:e,metadata:t,context:n}){let r=en(t?.keywords).join(`, `),i=en(n.repoData?.topics).join(`, `);return nn({file:e,field:`keywords`,currentValue:r,githubValue:i,canDetermine:!!i,recommendations:{different:`Review keywords and align with repository topics where appropriate.`,missing:`Add keywords to improve discoverability.`}})}function fn({file:e,metadata:t,context:n}){let r=G(t?.abstract),i=G(n.repoData?.description);return nn({file:e,field:`abstract`,currentValue:r,githubValue:i,canDetermine:!!i,recommendations:{different:`Review abstract text against repository description and update if outdated.`,missing:`Add an abstract/description for citation clarity.`}})}var pn=[rn,an,on,sn,cn,ln,un,dn,fn];function mn({file:e,metadata:t,context:n,validators:r=pn}){return r.map(r=>r({file:e,metadata:t,context:n}))}function hn(e){let t=[];return e.fileValidationSummary?.citation?.present&&e.citationForComparison&&t.push(...mn({file:`CITATION.cff`,metadata:e.citationForComparison,context:e})),e.fileValidationSummary?.zenodo?.present&&e.zenodoForComparison&&t.push(...mn({file:`.zenodo.json`,metadata:e.zenodoForComparison,context:e})),t}function gn({id:e,status:t,severity:n,category:r,file:i,field:a,message:o,recommendation:s,action:c}){return{id:e,status:t,severity:n,category:r,file:i,field:a,message:o,recommendation:s,action:c}}function _n(e){return e===`citation`?`CITATION.cff`:e===`zenodo`?`.zenodo.json`:``}function vn(e){let t={correct:0,missing:0,outdated:0,invalid:0};for(let n of e)Object.prototype.hasOwnProperty.call(t,n.status)&&(t[n.status]+=1);return{total:e.length,byStatus:t}}function yn(e,t){let n=e.some(e=>e.status===`invalid`),r=e.some(e=>e.status===`outdated`),i=e.some(e=>e.status===`missing`),a=e.some(e=>e.file===`CITATION.cff`&&e.action===`regenerate-file`),o=e.some(e=>e.file===`.zenodo.json`&&e.action===`regenerate-file`),s=!n&&!r&&!i,c=!n&&(r||i),l=n||!t?.citation?.present||!t?.zenodo?.present,u=[];return s&&u.push(`Keep current files as-is. Metadata is already consistent with repository state.`),c&&u.push(`Update specific outdated or missing fields without replacing the whole files.`),l&&u.push(`Generate fresh metadata files for invalid or missing files.`),u.push(`Import review never overwrites repository files automatically; you choose what to update.`),{canKeepCurrentFiles:s,canUpdateSpecificFields:c,shouldGenerateNewFiles:l,citationNeedsRegenerate:a,zenodoNeedsRegenerate:o,actions:u}}function bn(e){let t=e.fileValidationSummary?.citation;return t?.present?t.valid?gn({id:`citation-valid`,status:`correct`,severity:`low`,category:`file-state`,file:`CITATION.cff`,field:``,message:`CITATION.cff exists and passes schema validation.`,recommendation:`Keep file and only update changed fields when needed.`,action:`keep-file`}):gn({id:`citation-invalid`,status:`invalid`,severity:`high`,category:`schema`,file:`CITATION.cff`,field:``,message:`CITATION.cff is invalid: ${(t.errors||[]).join(` | `)}`,recommendation:`Fix validation errors first; regenerate file if many fields are broken.`,action:`regenerate-file`}):gn({id:`citation-missing`,status:`missing`,severity:`medium`,category:`file-state`,file:`CITATION.cff`,field:``,message:`CITATION.cff was not found in the repository.`,recommendation:`Generate CITATION.cff or add the required fields manually.`,action:`generate-file`})}function xn(e){let t=e.fileValidationSummary?.zenodo;return t?.present?t.valid?gn({id:`zenodo-valid`,status:`correct`,severity:`low`,category:`file-state`,file:`.zenodo.json`,field:``,message:`.zenodo.json exists and passes schema validation.`,recommendation:`Keep file and only update changed fields when needed.`,action:`keep-file`}):gn({id:`zenodo-invalid`,status:`invalid`,severity:`high`,category:`schema`,file:`.zenodo.json`,field:``,message:`.zenodo.json is invalid: ${(t.errors||[]).join(` | `)}`,recommendation:`Fix validation errors first; regenerate file if many fields are broken.`,action:`regenerate-file`}):gn({id:`zenodo-missing`,status:`missing`,severity:`medium`,category:`file-state`,file:`.zenodo.json`,field:``,message:`.zenodo.json was not found in the repository.`,recommendation:`Generate .zenodo.json or add required fields manually.`,action:`generate-file`})}function Sn(e){return e===`version-mismatch`||e===`cross-file-version-mismatch`?`version`:e===`date-mismatch`?`publicationDate`:e===`repository-url-mismatch`?`repositoryCode`:e===`license-mismatch`?`license`:e===`missing-version`?`version`:``}function Cn(e){return e===`missing-version`?`missing`:`outdated`}function wn(e){return`update-field`}function Tn(e){return e===`missing-version`?`Set version from latest release tag or add it manually if release data is unavailable.`:`Update the field to match current repository metadata.`}function En(e){let t=new Set([`version-mismatch`,`cross-file-version-mismatch`,`date-mismatch`,`repository-url-mismatch`,`license-mismatch`,`missing-version`]),n=[],r=new Set;for(let i of e.warnings||[]){let e=String(i?.code??``);if(!t.has(e))continue;let a=String(i?.source??``),o=`${e}|${a}|${i?.message??``}`;r.has(o)||(r.add(o),n.push(gn({id:`consistency-${r.size}`,status:Cn(e),severity:e===`missing-version`?`high`:`medium`,category:`consistency`,file:_n(a),field:Sn(e),message:String(i?.message??`Metadata consistency issue detected.`),recommendation:Tn(e),action:wn(e)})))}return n}var Dn=[bn,xn,En];function On(e,t=Dn){let n=[];for(let r of t){let t=r(e);Array.isArray(t)?n.push(...t.filter(Boolean)):t&&n.push(t)}return{findings:n,summary:vn(n),recommendations:yn(n,e.fileValidationSummary)}}function kn(e){return String(e??``).trim()}function An(e){let t=kn(e);if(!t||!/^\d{4}-\d{2}-\d{2}$/.test(t))return!1;let[n,r,i]=t.split(`-`),a=Number(n),o=Number(r),s=Number(i);if(!Number.isInteger(a)||!Number.isInteger(o)||!Number.isInteger(s))return!1;let c=new Date(Date.UTC(a,o-1,s));return c.getUTCFullYear()===a&&c.getUTCMonth()===o-1&&c.getUTCDate()===s}function jn({isValid:e,errors:t,warnings:n,payload:r}){let i=[`OpenCite Metadata Validation Report`,`=================================`,`Status: ${e?`PASS`:`FAIL`}`,``,`File: .zenodo.json`,`Generated: ${new Date().toISOString()}`,``];if(t.length>0){i.push(`Errors:`);for(let e of t)i.push(`- ${e}`);i.push(``)}if(n.length>0){i.push(`Warnings:`);for(let e of n)i.push(`- ${e}`);i.push(``)}return i.push(`Summary:`),i.push(`- title: ${kn(r.title)?`present`:`missing`}`),i.push(`- version: ${kn(r.version)?`present`:`missing`}`),i.push(`- publication_date: ${kn(r.publication_date)?r.publication_date:`missing`}`),i.push(`- creators: ${Array.isArray(r.creators)?r.creators.length:0}`),i.push(`- grants: ${Array.isArray(r.grants)?r.grants.length:0}`),i.join(` +`)}function Mn(e){let t=[],n=[],r=new Set([`publication`,`poster`,`presentation`,`dataset`,`image`,`video`,`software`,`lesson`,`physicalobject`,`other`]),i=/^[A-Za-z0-9.-]+::[A-Za-z0-9.-]+$/,a;try{a=JSON.parse(String(e??``))}catch(e){let r=e instanceof Error?e.message:String(e);return t.push(`Invalid JSON: ${r}`),{isValid:!1,errors:t,warnings:n,payload:null,report:jn({isValid:!1,errors:t,warnings:n,payload:{}})}}let o=kn(a.title),s=kn(a.version),c=kn(a.publication_date),l=kn(a.upload_type);if(o||t.push(`title is required.`),s||t.push(`version is required.`),c?An(c)||t.push(`publication_date must be a real date in YYYY-MM-DD format.`):t.push(`publication_date is required.`),l?r.has(l)||n.push(`upload_type \"${l}\" is not a common Zenodo upload_type value.`):n.push(`upload_type is recommended for Zenodo deposits; OpenCite will infer software when generating an export.`),!Array.isArray(a.creators)||a.creators.length===0?t.push(`creators must include at least one creator entry.`):a.creators.some(e=>!kn(e?.name))&&t.push(`each creator entry must include a non-empty name.`),!Array.isArray(a.grants))n.push(`grants should be an array of objects containing an id field.`);else for(let e=0;e::.`)}let u=t.length===0,d=jn({isValid:u,errors:t,warnings:n,payload:a});return{isValid:u,errors:t,warnings:n,payload:a,report:d}}var Nn=`https://zenodo.org/api/records`;function Pn(e){return String(e??``).trim()}function Fn(e){return Pn(e).replace(/^git\+/,``).replace(/\.git$/i,``).replace(/\/+$/,``).toLowerCase()}function In(e){return Pn(e?.doi??e?.metadata?.doi??``)}function Ln(e,t){let n=Fn(t);if(!n)return!1;let r=(Array.isArray(e?.metadata?.related_identifiers)?e.metadata.related_identifiers:[]).map(e=>e?.identifier);return[e?.metadata?.url,e?.links?.html,...r].some(e=>Fn(e)===n)}async function Rn({repositoryUrl:e,title:t,fetchImpl:n=globalThis.fetch}={}){let r=Pn(t);if(!r||typeof n!=`function`)return null;let i=`metadata.title:"${r.replace(/"/g,`\\"`)}"`,a=`${Nn}?q=${encodeURIComponent(i)}&all_versions=true&size=20`,o;try{o=await n(a,{headers:{Accept:`application/json`}})}catch{return null}if(!o?.ok)return null;let s;try{s=await o.json()}catch{return null}let c=(Array.isArray(s?.hits?.hits)?s.hits.hits:[]).filter(e=>Pn(e?.metadata?.title).toLowerCase()===r.toLowerCase());return In(c.find(t=>Ln(t,e))||(c.length===1?c[0]:null))||null}var zn=[`CITATION.cff`,`.zenodo.json`,`README.md`,`package.json`,`pyproject.toml`,`setup.py`,`Cargo.toml`,`pom.xml`],K=V,Bn=ue,Vn=fe,Hn=pe,Un=ye,Wn=be,Gn=xe,Kn=le;function qn(e,t,n,r,i={}){return{kind:e,source:t,code:n,message:r,...i}}function Jn(e,t,n,r,i={}){e.push(qn(`warning`,t,n,r,i))}function Yn(e,t,n,r,i={}){e.push(qn(`error`,t,n,r,i))}function Xn(e,t){if(t)return;let n=e.some(e=>e.code===`rate-limited`),r=e.some(e=>e.code===`rate-limit-hint`);n&&!r&&Jn(e,`github-auth`,`rate-limit-hint`,`To reduce rate limits, pass authToken explicitly or set localStorage.opencite_github_token.`)}function Zn(e={}){return e.inspectRepositoryFiles!==!1}function Qn(e,t,n,r){if(r){if(!r.isValid){let i=`${n} failed validation: ${r.errors.join(` | `)}`;Jn(e,t,`${t}-file-invalid`,i,{path:n})}for(let i of r.warnings)Jn(e,t,`${t}-file-warning`,`${n}: ${i}`,{path:n})}}function $n(e={}){return e[`CITATION.cff`]?`CITATION.cff`:``}function er(e={}){let t=[],n={citation:{present:!1,valid:!0,path:``,errors:[]},zenodo:{present:!1,valid:!0,path:`.zenodo.json`,errors:[]},warnings:t},r=$n(e);if(r){let i=e[r];n.citation.present=!0,n.citation.path=r;let a=se(i);a.isValid||(n.citation.valid=!1,n.citation.errors=[...a.errors]),Qn(t,`citation`,r,a)}let i=`.zenodo.json`,a=e[i];if(a){n.zenodo.present=!0;let e=Mn(a);e.isValid||(n.zenodo.valid=!1,n.zenodo.errors=[...e.errors]),Qn(t,`zenodo`,i,e)}return n}function tr(e){let t=String(e??``).replace(/\r\n/g,` +`).split(` +`),n={title:``,abstract:``,version:``,publicationDate:``,repositoryCode:``,license:``,doi:``,keywords:[],authors:[],references:[]},r=[],i=`top`,a=null,o=null,s=()=>{a&&(a.givenNames||a.familyNames||a[`given-names`]||a[`family-names`]||a.orcid||a.affiliation)&&n.authors.push(a),a=null},c=()=>{if(!o||typeof o!=`object`){o=null;return}let e=K(o.doi??o.DOI??``),t=K(o.url??o.link??o.value??``),r=K(o.title??o[`article-title`]??o.reference??o.text??``);if(e){n.references.push(/^https?:\/\//i.test(e)?e:`https://doi.org/${e}`),o=null;return}if(t){n.references.push(t),o=null;return}r&&n.references.push(r),o=null},l=(e,t)=>{let r=Kn(t);r&&(e===`title`&&(n.title=r),e===`version`&&(n.version=r),e===`date-released`&&(n.publicationDate=r),e===`repository-code`&&(n.repositoryCode=r),e===`license`&&(n.license=r),e===`doi`&&(n.doi=r))};for(let e=0;e|]/.test(r))n.abstract=r;else{let r=[];for(let n=e+1;nf?r.push(i.slice(Math.min(i.length,f+2))):r.push(``),e=n}n.abstract=r.join(` +`).trim()}continue}if(/^keywords:\s*$/i.test(d)){i=`keywords`;continue}if(/^authors:\s*$/i.test(d)){i=`authors`;continue}if(/^references:\s*$/i.test(d)){i=`references`;continue}if(/^preferred-citation:\s*$/i.test(d)){r.push(`preferred-citation section is not fully parsed during import; using top-level citation fields.`);continue}let m=d.match(/^([A-Za-z0-9_-]+):\s*(.*)$/);m&&l(m[1],m[2])}return s(),c(),{...n,keywords:Vn(n.keywords),authors:Wn(n.authors),references:Hn(n.references),_warnings:r}}function nr(e){return JSON.parse(e)}function rr(e){let t=nr(e),n=Array.isArray(t.creators)?t.creators.map(e=>Un(e)).filter(Boolean):[],r=Array.isArray(t.grants)?t.grants.map(e=>K(e?.id??e?.value??``)).filter(Boolean):[],i=Array.isArray(t.references)?t.references.map(e=>typeof e==`string`?K(e):e&&typeof e==`object`?K(e.text??e.reference??e.id??``):``).filter(Boolean):[];return{title:K(t.title??``),abstract:K(t.description??``),version:K(t.version??``),publicationDate:K(t.publication_date??``),repositoryCode:Gn(t.repository??t.url??``),license:K(typeof t.license==`string`?t.license:t.license?.id??t.license?.name??``),doi:K(t.doi??``),keywords:Vn(t.keywords),authors:n,references:i,grants:r}}function ir(e,t,n,r){try{if(e===`.zenodo.json`)return rr(t);if(e===`CITATION.cff`){let r=tr(t);if(Array.isArray(r._warnings))for(let t of r._warnings)Jn(n,`parser`,`citation-partial-parse`,t,{path:e});let{_warnings:i,...a}=r;return a}if(e===`package.json`)return Rt(t);if(e===`pyproject.toml`)return Ut(t);if(e===`setup.py`)return Wt(t);if(e===`Cargo.toml`)return Gt(t);if(e===`pom.xml`)return Kt(t);if(e===`README.md`)return{abstract:qt(t)}}catch(t){return Jn(n,`parser`,`parse-failed`,`Could not parse ${e}. ${t instanceof Error?t.message:String(t)}`,{path:e}),null}return Yn(r,`parser`,`unsupported-file`,`Unsupported file: ${e}`,{path:e}),null}async function ar(e,t={}){let n=[],r=[],i=te({authors:[],keywords:[],references:[],grants:[]}),a=Ze(t),o=Zn(t),s=Tt(t),c,l;try{({owner:c,repo:l}=qe(e))}catch(e){return Yn(r,`url`,`invalid-url`,e instanceof Error?e.message:String(e)),{metadata:i,warnings:n,errors:r,review:null,healthScan:[]}}let u=await lt($e(c,l),{authToken:a,source:`repository`,onError:(e,t,n,i={})=>Yn(r,e,t,n,i)});if(!u)return{metadata:i,warnings:n,errors:r,review:null,healthScan:[]};let d=K(u.default_branch??``),f=await ut(et(c,l,1),Qe({authToken:a,source:`release`,label:`the latest release`,onWarning:(e,t,r,i={})=>Jn(n,e,t,r,i)})),p=Array.isArray(f)&&f.length>0?f[0]:null,m=await ut(tt(c,l,d,10),Qe({authToken:a,source:`commits`,label:`recent commits`,onWarning:(e,t,r,i={})=>Jn(n,e,t,r,i)})),h=p?.published_at?``:await dt(c,l,d,{authToken:a,onWarning:(e,t,r,i={})=>Jn(n,e,t,r,i)}),g=Array.from(new Set((Array.isArray(m)?m:[]).flatMap(e=>Et(e?.commit?.message??``)))),_={},v={},y=`HEAD`;if(o){y=K((d?await ut(nt(c,l,d),Qe({authToken:a,source:`branch`,label:`the default branch`,onWarning:(e,t,r,i={})=>Jn(n,e,t,r,i)})):null)?.name??d??u.default_branch??`HEAD`);let e=await ut(rt(c,l,y,!0),Qe({authToken:a,source:`repository-tree`,label:`the repository tree`,onWarning:(e,t,r,i={})=>Jn(n,e,t,r,i)})),t=Array.isArray(e?.tree)?e.tree.map(e=>K(e?.path??``)).filter(Boolean):[],i=await Promise.all(zn.map(async e=>{let r=t.length>0?t.find(t=>t.toLowerCase()===e.toLowerCase()):null;return r?[e,await ft(c,l,r,y,{authToken:a,onWarning:(e,t,r,i={})=>Jn(n,e,t,r,i)})]:t.length>0?[e,null]:[e,await ft(c,l,e,y,{authToken:a,onWarning:(e,t,r,i={})=>Jn(n,e,t,r,i)})]}));Object.assign(v,Object.fromEntries(i));let o=$n(v);for(let e of zn){if(e===`CITATION.cff`&&o&&e!==o)continue;let t=v[e];if(!t)continue;let i=ir(e,t,n,r);if(i){let t=e===`CITATION.cff`?`CITATION.cff`:e.toLowerCase();_[t]=i}}}let b=er(v);for(let e of b.warnings)n.push(e);let x=_[`CITATION.cff`]??null,S=_[`.zenodo.json`]??null,C=x,w=S,T=[];b.citation.present&&!b.citation.valid&&(T=Wn(x?.authors??[]),C=null,Jn(n,`citation`,`citation-file-skipped`,`${b.citation.path||`CITATION.cff`} is invalid; ignoring non-author citation fields to avoid propagating incorrect values, but preserving parsed author entries and continuing with repository/package/README/contributor fallback metadata.`,{path:b.citation.path||`CITATION.cff`})),b.zenodo.present&&!b.zenodo.valid&&(w=null,Jn(n,`zenodo`,`zenodo-file-skipped`,`.zenodo.json is invalid; ignoring imported Zenodo metadata to avoid propagating incorrect values and continuing with repository/package/README/contributor fallback metadata.`,{path:`.zenodo.json`}));let E=_[`package.json`]||_[`pyproject.toml`]||_[`setup.py`]||_[`cargo.toml`]||_[`pom.xml`],D=_[`readme.md`]?.abstract||``,O=Bn(C?.authors,w?.authors,E?.authors,T).length>0,k=await Dt({owner:c,repo:l,warnings:n,authToken:a,contributorFallbackLimit:s,emitFallbackWarning:!O,cleanString:K,normalizeAuthor:Un,normalizeAuthors:Wn,addWarning:Jn,fetchOptionalJson:ut,extractOrcidFromGithubProfile:M}),A=Wn(g.map(e=>Un({name:e}))),j=_t([...A,...k.fallbackAuthors.filter(Boolean)]),N=_t([...A,...k.lookupAuthors.filter(Boolean)]);Xn(n,a),Bn(C?.authors,w?.authors,E?.authors,j).length||Jn(n,`authors`,`missing-authors`,`No author names found in repository metadata.`,{owner:c,repo:l});let P=At({repo:u,release:p,defaultPublicationDate:h,citation:C,zenodo:w,packageMeta:E,readme:D,contributors:j,contributorLookupAuthors:N,supplementalCitationAuthors:T});if(P.repositoryCode||=Gn(u.html_url??`https://github.com/${c}/${l}`),!P.version&&p?.tag_name&&(P.version=K(p.tag_name)),P.publicationDate||=K(p?.published_at??h??u.created_at).split(`T`)[0],!P.doi&&t.lookupExternalDoi!==!1){let e=await Rn({repositoryUrl:P.repositoryCode,title:P.title});e&&(P.doi=e,Jn(n,`doi`,`external-doi-found`,`Found a matching DOI in Zenodo records.`,{doi:e}))}return jt({warnings:n,citation:C,zenodo:w,releaseData:p,repoData:u,metadata:P}),{metadata:P,warnings:n,errors:r,review:On({warnings:n,errors:r,metadata:P,repoData:u,releaseData:p,fileValidationSummary:b,citation:C,zenodo:w,packageMeta:E}),healthScan:We({warnings:n,errors:r,metadata:P,repoData:u,releaseData:p,fileValidationSummary:b,citation:C,zenodo:w,packageMeta:E}),comparisons:hn({repoData:u,releaseData:p,fileValidationSummary:b,citationForComparison:x,zenodoForComparison:S,contributorLookupAuthors:N})}}function or(e){return`"${String(e??``).replace(/"/g,`\\"`).trim()}"`}function sr({givenNames:e,familyNames:t,affiliation:n}){let r=[],i=String(e??``).trim(),a=String(t??``).trim(),o=String(n??``).trim();return i&&r.push(`given-names:${or(i)}`),a&&r.push(`family-name:${or(a)}`),o&&r.push(`affiliation-org-name:${or(o)}`),r.join(` AND `)}function cr(e){let t=String(e?.[`orcid-id`]??``).trim();if(!t)return null;let n=String(e?.[`given-names`]??``).trim(),r=String(e?.[`family-names`]??``).trim(),i=[];for(let t of[`institution-name`,`employment-org-name`,`ror-org-name`]){let n=e?.[t];Array.isArray(n)?i.push(...n.map(e=>String(e??``).trim()).filter(Boolean)):n&&i.push(String(n).trim())}return{orcid:`https://orcid.org/${t}`,givenNames:n,familyNames:r,affiliation:i[0]??``,label:[n,r].filter(Boolean).join(` `).trim()||t}}function lr(e){return String(e??``).toLowerCase().replace(/[^a-z0-9\s]/g,` `).replace(/\s+/g,` `).trim()}function ur(e,t){let n=lr(e),r=lr(t);return!n||!r?!1:n===r||n.includes(r)||r.includes(n)}function dr(e,t){let n=lr(e?.givenNames),r=lr(e?.familyNames),i=String(e?.affiliation??``).trim(),a=t.filter(e=>lr(e.givenNames)===n&&lr(e.familyNames)===r);if(a.length===1)return a[0];if(a.length>1&&i){let e=a.filter(e=>ur(e.affiliation,i));if(e.length===1)return e[0]}return null}async function fr(e){let t=sr(e);if(!t)return[];let n=await fetch(`https://pub.orcid.org/v3.0/expanded-search/?q=${encodeURIComponent(t)}`,{headers:{Accept:`application/json`}});if(!n.ok)throw Error(`ORCID search failed: ${n.status} ${n.statusText}`);let r=await n.json();return(Array.isArray(r?.[`expanded-result`])?r[`expanded-result`]:[]).map(e=>cr(e)).filter(Boolean).slice(0,5)}function q(e){return String(e??``).replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function pr(e){return String(e??``).split(` +`).map(e=>` ${e}`).join(` +`)}function mr(e,t=`article`){let n=String(e??``).trim();return n&&(n.replace(/\s*\([^)]*\)\s*$/g,``).trim().toLowerCase().split(/\s+/)[0]||``).replace(/[^a-z0-9-]/g,``)||t}function hr(e){return String(e??``).replace(/\s+/g,` `).trim()}function gr(e){if(e&&typeof e==`object`&&!Array.isArray(e)){let t=mr(e.type,`article`),n=String(e.title||e.reference||e.text||``).trim(),r=String(e.version||``).trim(),i=String(e[`repository-code`]||``).trim(),a=String(e[`date-released`]||``).trim(),o=String(e.doi||``).trim(),s=String(e.license||``).trim(),c=String(e.url||``).trim(),l=!!(n||o||c),u=Array.isArray(e.authors)?e.authors.filter(e=>e&&typeof e==`object`).map(e=>({familyNames:String(e[`family-names`]??``).trim(),givenNames:String(e[`given-names`]??``).trim(),orcid:String(e.orcid??``).trim()})).filter(e=>e.familyNames||e.givenNames||e.orcid):[];if(!l)return[];let d=hr(n||(o?`DOI: ${o}`:``)||(c?`URL: ${c}`:``));if(!d)return[];let f=[` - type: ${q(t)}`];if(f.push(` title: "${q(d)}"`),o&&f.push(` doi: ${q(o)}`),c&&f.push(` url: "${q(c)}"`),r&&f.push(` version: "${q(r)}"`),i&&f.push(` repository-code: "${q(i)}"`),a&&f.push(` date-released: "${q(a)}"`),s&&f.push(` license: "${q(s)}"`),u.length>0){f.push(` authors:`);for(let e of u){let t=e.familyNames,n=e.givenNames,r=e.orcid,i=` -`;t&&(i+=` family-names: "${q(t)}"`),n&&(i+=i===` -`?` given-names: "${q(n)}"`:`\n given-names: "${q(n)}"`),f.push(i),r&&f.push(` orcid: "${q(r)}"`)}}return f}let t=String(e??``).trim();if(!t)return[];let n=t.match(/(?:https?:\/\/(?:dx\.)?doi\.org\/|doi:\s*)(10\.\d{4,9}\/[\w./;():-]+)/i);if(n){let e=n[1].replace(/[.,;:]+$/g,``);return[` - type: article`,` title: "${q(hr(t))}"`,` doi: ${q(e)}`,` url: "${q(`https://doi.org/${e}`)}"`]}return/^https?:\/\//i.test(t)?[` - type: article`,` title: "${q(hr(t))}"`,` url: "${q(t)}"`]:[` - type: article`,` title: "${q(hr(t))}"`]}function _r(e){let t=mr(e.typeOfWork,`software`),n=e.repositoryCode||`https://github.com/Imageomics/repository`,r=String(e.version??``).trim(),i=r?`${n}/releases/tag/${r}`:``,a=r?`${n}/tree/${r}`:``,o=e.authors.map(e=>{let t=[`- family-names: "${q(e.citationAuthor[`family-names`])}"`,` given-names: "${q(e.citationAuthor[`given-names`])}"`];return e.citationAuthor.orcid&&t.push(` orcid: "${q(e.citationAuthor.orcid)}"`),t.join(` +`)}),s=(e.keywords.includes(`imageomics`)?e.keywords:[`imageomics`,...e.keywords]).map(e=>` - "${q(e)}"`),c=(Array.isArray(e.references)?e.references:[]).flatMap(e=>gr(e)),l=e.abstract||`No abstract provided.`,u=Array.isArray(e.references)&&e.references.length>0?`If you find this work helpful in your research, please cite this work and the associated references.`:`If you find this work helpful in your research, please cite it.`;return[`abstract: >-`,pr(l),`authors:`,...o.length?o:[`- family-names: "Unknown"`,` given-names: "Author"`,` orcid: "https://orcid.org/0000-0000-0000-0000"`],`cff-version: 1.2.0`,`date-released: "${q(e.publicationDate||`YYYY-MM-DD`)}"`,...i?[`identifiers:`,` - description: "The GitHub release URL of tag ${q(r)}."`,` type: url`,` value: "${q(i)}"`,` - description: "The GitHub source tree URL aligned to release tag ${q(r)}."`,` type: url`,` value: "${q(a)}"`]:[],`keywords:`,...s,...c.length>0?[`references:`,...c]:[],`license: "${q(e.license)}"`,`message: "${q(u)}"`,`repository-code: "${q(n)}"`,`title: "${q(e.title)}"`,`version: "${q(e.version)}"`,...e.doi?[`doi: "${q(e.doi)}"`]:[],`type: ${q(t)}`,``].join(` +`)}function vr(e){let t=(Array.isArray(e.references)?e.references:[]).map(e=>typeof e==`string`?e.trim():e&&typeof e==`object`?String(e.doi||e.url||e.title||``).trim():``).filter(Boolean),n=e.keywords.includes(`imageomics`)?e.keywords:[`imageomics`,...e.keywords],r=e.authors.length?e.authors.map(e=>({name:e.zenodoName,orcid:e.zenodoOrcid||``,affiliation:e.zenodoAffiliation||``})):[{name:`family-names, given-names`,orcid:``,affiliation:``}];return JSON.stringify({creators:r,upload_type:e.zenodoUploadType,description:e.abstract,keywords:n,title:e.title,version:e.version,license:e.license,publication_date:e.publicationDate,grants:e.grants.map(e=>({id:e})),references:t},null,2)}function yr(e){let t=String(e??``).trim();if(!t)return!0;if(!/^\d{4}-\d{2}-\d{2}$/.test(t))return!1;let[n,r,i]=t.split(`-`),a=Number(n),o=Number(r),s=Number(i);if(!Number.isInteger(a)||!Number.isInteger(o)||!Number.isInteger(s))return!1;let c=new Date(Date.UTC(a,o-1,s));return c.getUTCFullYear()===a&&c.getUTCMonth()===o-1&&c.getUTCDate()===s}function br(e){let t=String(e??``).trim();return t?/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/.test(t):!1}function xr(e){let t=e=>String(e??``).replace(/[ \t]+/g,` `).trim();return{...e,title:t(e.title),authors:Array.isArray(e.authors)?e.authors.map(e=>({givenNames:t(e.givenNames),familyNames:t(e.familyNames),orcid:D(t(e.orcid)),affiliation:t(e.affiliation)})):[],license:t(e.license),keywords:t(e.keywords),customTypeOfWork:t(e.customTypeOfWork),abstract:t(e.abstract),version:t(e.version),publicationDate:t(e.publicationDate),repositoryCode:t(e.repositoryCode),doi:t(e.doi),references:String(e.references??``).trim(),grants:String(e.grants??``).trim()}}function Sr(e){if(!e)return!1;let t=(Array.isArray(e.authors)?e.authors:[]).some(e=>Object.values(e??{}).some(e=>String(e??``).trim()));return!!(String(e.title??``).trim()||String(e.abstract??``).trim()||String(e.license??``).trim()||String(e.version??``).trim()||String(e.publicationDate??``).trim()||String(e.repositoryCode??``).trim()||String(e.doi??``).trim()||String(e.keywords??``).trim()||String(e.references??``).trim()||String(e.grants??``).trim()||t)}function Cr(e,t){let n=B(e),r={},i={},a=/^[A-Za-z0-9.-]+::[A-Za-z0-9.-]+$/,o=new Set;e.title||(r.title=`Title is required`),n.authors.length===0&&(r.authors=`At least one author is required`),e.license||(r.license=`License is required`),e.version?br(e.version)||(r.version=`Version must use Semantic Versioning (for example: 1.2.3 or v1.2.3).`):r.version=`Version is required`,t.some(t=>t.value===e.typeOfWork)||(r.typeOfWork=`Type of work is invalid`),e.publicationDate?yr(e.publicationDate)||(r.publicationDate=`Publication date must be a real date in YYYY-MM-DD format`):r.publicationDate=`Publication date is required`;let s=Array.isArray(e.authors)?e.authors:[],c=new Map,l=new Map;s.forEach((e,t)=>{let n=String(e?.orcid??``).trim().toLowerCase(),r=String(e?.givenNames??``).trim().toLowerCase(),a=String(e?.familyNames??``).trim().toLowerCase(),s=r&&a?`${r}|${a}`:``;if(n){let e=c.get(n);e===void 0?c.set(n,t):(o.add(e+1),o.add(t+1))}if(s){let e=l.get(s);e===void 0?l.set(s,t):(o.add(e+1),o.add(t+1))}k(e?.orcid??``)||(i[t]=`Invalid ORCID (must be a valid 16-digit ORCID, with final checksum that can be X).`)}),o.size>0&&(r.authors=`Duplicate author entries found on rows ${[...o].sort((e,t)=>e-t).join(`, `)}. Remove duplicates before export.`),Object.keys(i).length>0&&(r.authorOrcid=i);let u=String(e.grants??``).split(` +`);for(let e=0;e::`;break}}return r}var wr=`CITATION.cff`,Tr=`.zenodo.json`;function Er(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`author-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function Dr(){return{id:Er(),givenNames:``,familyNames:``,orcid:``,affiliation:``}}var Or={title:``,authors:[Dr()],license:``,keywords:``,typeOfWork:`software`,customTypeOfWork:``,version:`0.1.0`,publicationDate:``,repositoryCode:``,doi:``,abstract:``,references:``,grants:``},kr=[{value:`article`,label:`Article`},{value:`dataset`,label:`Dataset`},{value:`software`,label:`Software`},{value:`other`,label:`Other`}],Ar=[`MIT`,`CC0-1.0`,`CC-BY-4.0`,`Apache-2.0`,`BSD-3-Clause`,`GPL-3.0-only`],jr=[{id:`021nxhr62::2118240`,label:`Imageomics NSF grant`,note:`Imageomics program grant (NSF funder code 021nxhr62).`},{id:`021nxhr62::2330423`,label:`ABC NSF grant`,note:`ABC NSF grant; NSERC portion requires manual update when applicable.`}],Mr={title:`Title`,authors:`Authors`,license:`License`,typeOfWork:`Type`,version:`Version`,publicationDate:`Publication date`,grants:`Grants`},Nr=[`Import`,`Review Metadata`,`Validate`,`Export Citation Files`],Pr=180;function Fr(e,t=Pr){let n=String(e??``).replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,Math.max(0,t-1)).trimEnd()}…`}function Ir(e){let t=String(e??``).trim();return t?t.split(/[-_\s]+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `):`Warning`}function Lr(e){let t=new Map;for(let n of e){let e=String(n?.code??`warning`),r=Fr(n?.message??`Warning`),i=t.get(e)??{code:e,total:0,messages:new Map};i.total+=1,i.messages.set(r,(i.messages.get(r)??0)+1),t.set(e,i)}return[...t.values()].map(e=>{let t=[...e.messages.entries()].map(([e,t])=>t>1?`${e} (${t}x)`:e);return e.total===1&&t.length===1?t[0]:`${Ir(e.code)} (${e.total}): ${t.join(` | `)}`})}function Rr(e){let t=String(e??``).toLowerCase();return t===`correct`?`Correct`:t===`missing`?`Missing`:t===`outdated`?`Outdated`:t===`invalid`?`Invalid`:`Review`}function zr(e){let t=String(e??``).trim();return t===`keep-file`?`Keep file`:t===`update-field`?`Update field`:t===`generate-file`?`Generate file`:t===`regenerate-file`?`Regenerate file`:`Review`}function Br(e){let t=String(e??``).toLowerCase();return t===`pass`?`PASS`:t===`warning`?`WARNING`:t===`error`?`ERROR`:`CHECK`}function Vr(e){let t=String(e??``).toLowerCase();return t===`pass`?`health-badge health-badge-pass`:t===`warning`?`health-badge health-badge-warning`:t===`error`?`health-badge health-badge-error`:`health-badge`}function Hr(e){let t=String(e??``).toLowerCase();return t===`identical`?`IDENTICAL`:t===`different`?`DIFFERENT`:t===`missing`?`MISSING`:t===`cannot determine`?`CANNOT DETERMINE`:`UNKNOWN`}function Ur(e){return`comparison-status comparison-status-${String(e??``).toLowerCase().replace(/\s+/g,`-`)}`}function Wr(e){if(!e)return``;let t=String(e.field??``).replace(/_/g,` `);return e.status===`different`?`${t} is outdated`:e.status===`missing`?`${t} is missing`:e.status===`cannot determine`?`${t} cannot be determined from GitHub metadata`:``}function Gr(e){let t=[],n=[],r=(e.healthScan||[]).filter(e=>e.status===`warning`||e.status===`error`);for(let e of r){let r=String(e.description||``).trim();r&&t.push(r);let i=String(e.recommendation||``).trim();i&&n.push(i)}let i=(e.comparisons||[]).filter(e=>e.status!==`identical`);for(let e of i){let r=Wr(e);r&&t.push(r);let i=String(e.recommendation||``).trim();i&&n.push(i)}let a=[...new Set(t)].filter(Boolean),o=[...new Set(n)].filter(Boolean);return{healthy:a.length===0&&(e.errors||[]).length===0,warningCount:a.length,warnings:a,recommendations:o}}function Kr(e){return Object.entries(e).map(([e,t])=>{if(e===`authorOrcid`&&t&&typeof t==`object`){let e=Object.values(t)[0];return e?`Author ORCID: ${e}`:`Author ORCID: fix the highlighted ORCID fields.`}return e===`authors`?t:Mr[e]?`${Mr[e]}: ${t}`:t}).filter(Boolean)}function qr(e){let t=[];return e.title&&t.push(`Title`),e.authors&&t.push(`Authors`),e.license&&t.push(`License`),e.typeOfWork&&t.push(`Type`),e.version&&t.push(`Version`),e.publicationDate&&t.push(`Publication date`),e.grants&&t.push(`Grants`),e.authorOrcid&&typeof e.authorOrcid==`object`&&t.push(`Author ORCID`),t}function Jr(){return{givenNames:``,familyNames:``,orcid:``,affiliation:``}}function Yr(e){return{title:String(e.title??``),authors:Array.isArray(e.authors)&&e.authors.length>0?e.authors.map(e=>({givenNames:String(e.givenNames??``),familyNames:String(e.familyNames??``),orcid:String(e.orcid??``),affiliation:String(e.affiliation??``)})):[Jr()],license:String(e.license??``),keywords:Array.isArray(e.keywords)?e.keywords.join(`, `):``,typeOfWork:String(e.typeOfWork??`software`),customTypeOfWork:String(e.customTypeOfWork??``),version:String(e.version??``),publicationDate:String(e.publicationDate??``),repositoryCode:String(e.repositoryCode??``),doi:String(e.doi??``),abstract:String(e.abstract??``),references:Array.isArray(e.references)?e.references.join(` +`):``,grants:Array.isArray(e.grants)?e.grants.join(` +`):``}}function Xr(e,t,n){let r=new Blob([t],{type:n}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=e,a.style.display=`none`,document.body.appendChild(a),a.click(),setTimeout(()=>{a.remove(),URL.revokeObjectURL(i)},1500)}function Zr(e){return/^references:\s*$/m.test(String(e??``))?!0:typeof window<`u`&&typeof window.confirm==`function`?window.confirm(`CITATION.cff currently has no references section. Continue export anyway?`):!0}function Qr(){return typeof window<`u`&&typeof window.showSaveFilePicker==`function`}async function $r(e,t,n){let r=new x.default;return r.file(wr,e),r.file(Tr,t),r.file(`METADATA_VALIDATION.txt`,n),r.generateAsync({type:`blob`})}async function ei(e,t,n,r=[]){if(Qr())try{let i=await(await window.showSaveFilePicker({suggestedName:e,types:r})).createWritable(),a=t instanceof Blob?t:new Blob([t],{type:n});return await i.write(a),await i.close(),!0}catch(e){if(e instanceof Error&&e.name===`AbortError`)return!1}return Xr(e,t,n),!0}function J(){let[e,t]=(0,S.useState)(`generator`),[n,r]=(0,S.useState)(Or),[i,a]=(0,S.useState)(``),[o,s]=(0,S.useState)(``),[c,l]=(0,S.useState)({loading:!1,warnings:[],errors:[],review:null,healthScan:[],comparisons:[]}),[u,d]=(0,S.useState)(!1),[f,p]=(0,S.useState)(!1),[m,h]=(0,S.useState)(!1),[g,_]=(0,S.useState)(`citation`),[v,y]=(0,S.useState)(`idle`),[b,x]=(0,S.useState)({}),[T,E]=(0,S.useState)({kind:``,message:``,details:[]}),[D,O]=(0,S.useState)({}),[k,A]=(0,S.useState)(!1),[j,M]=(0,S.useState)(()=>{if(typeof window>`u`)return`dark`;let e=window.localStorage.getItem(`opencite-theme`);return e===`light`||e===`dark`?e:window.matchMedia?.(`(prefers-color-scheme: light)`).matches?`light`:`dark`}),N=(0,S.useRef)(0);(0,S.useEffect)(()=>{document.documentElement.setAttribute(`data-theme`,j),window.localStorage.setItem(`opencite-theme`,j)},[j]);function P(){M(e=>e===`light`?`dark`:`light`)}let F=(0,S.useMemo)(()=>xr(n),[n]),I=(0,S.useMemo)(()=>B(F),[F]),L=(0,S.useMemo)(()=>Cr(F,kr),[F]),R=(0,S.useMemo)(()=>Lr(c.warnings),[c.warnings]),z=(0,S.useMemo)(()=>{let e={pass:0,warning:0,error:0};for(let t of c.healthScan){let n=String(t?.status??``).toLowerCase();(n===`pass`||n===`warning`||n===`error`)&&(e[n]+=1)}return e},[c.healthScan]),ee=(0,S.useMemo)(()=>c.healthScan.filter(e=>String(e?.status??``).toLowerCase()===`pass`),[c.healthScan]),te=(0,S.useMemo)(()=>c.healthScan.filter(e=>String(e?.status??``).toLowerCase()===`warning`),[c.healthScan]),ne=(0,S.useMemo)(()=>c.healthScan.filter(e=>String(e?.status??``).toLowerCase()===`error`),[c.healthScan]),re=(0,S.useMemo)(()=>Gr(c),[c]),ie=(0,S.useMemo)(()=>_r(I),[I]),ae=(0,S.useMemo)(()=>vr(I),[I]),oe=(0,S.useMemo)(()=>se(ie),[ie]),V=(0,S.useMemo)(()=>Mn(ae),[ae]),ce=(0,S.useMemo)(()=>[oe.report,``,V.report].join(` +`),[oe.report,V.report]),le=!!(F.title.trim()||F.authors.some(e=>e.givenNames||e.familyNames)),ue=Object.keys(L).length>0||!oe.isValid||!V.isValid,de=(0,S.useMemo)(()=>F.repositoryCode.trim()?le?ue?3:4:2:1,[F.repositoryCode,le,ue]);function fe(e){let t=Kr(e),n=qr(e);E({kind:`validation`,message:n.length>0?`Missing or invalid fields: ${n.join(`, `)}.`:`Some required values are missing or invalid. Review the highlighted fields below.`,details:t.length>0?t:[`Review the highlighted fields below.`]}),typeof window<`u`&&typeof window.scrollTo==`function`&&window.scrollTo({top:0,behavior:`smooth`})}function pe(){E({kind:``,message:``,details:[]})}function me(){t(`generator`),typeof window<`u`&&typeof window.scrollTo==`function`&&window.scrollTo({top:0,behavior:`smooth`})}function he(e,t){return(0,C.jsxs)(`li`,{className:`health-item`,children:[(0,C.jsxs)(`div`,{className:`health-item-header`,children:[(0,C.jsx)(`span`,{className:Vr(e.status),children:Br(e.status)}),(0,C.jsx)(`strong`,{children:e.title})]}),(0,C.jsx)(`p`,{className:`health-item-description`,children:e.description}),e.recommendation?(0,C.jsxs)(`p`,{className:`health-item-recommendation`,children:[(0,C.jsx)(`span`,{children:`Recommendation:`}),` `,e.recommendation]}):null]},t)}async function ge(){Xr(wr,ie,`text/yaml;charset=utf-8`)}async function _e(){Xr(Tr,ae,`application/json;charset=utf-8`)}function ve(e){let{name:t,value:n}=e.target;O(e=>({...e,[t]:!0})),r(e=>({...e,[t]:n}))}function ye(e){let t=String(e??``).trim();t&&r(e=>{let n=String(e.grants??``).split(` +`).map(e=>e.trim()).filter(Boolean);return n.includes(t)?e:{...e,grants:[...n,t].join(` +`)}})}function be(){r(e=>{let t=new Set(String(e.grants??``).split(` +`).map(e=>e.trim()).filter(Boolean));for(let e of jr)t.add(e.id);return{...e,grants:[...t].join(` +`)}})}function xe(e,t,n){O(n=>({...n,authors:!0,[`authors.${e}.${t}`]:!0})),r(r=>({...r,authors:r.authors.map((r,i)=>i===e?{...r,[t]:n}:r)}))}function Se(){r(e=>({...e,authors:[...e.authors,Dr()]}))}function Ce(e){r(t=>({...t,authors:t.authors.length>1?t.authors.filter((t,n)=>n!==e):[Dr()]})),x(t=>{let n={};for(let[r,i]of Object.entries(t)){let t=Number(r);Number.isInteger(t)&&t!==e&&(n[t>e?t-1:t]=i)}return n})}function we(e,t){let i=e+t;i<0||i>=n.authors.length||(r(t=>{if(i<0||i>=t.authors.length)return t;let n=[...t.authors];return[n[e],n[i]]=[n[i],n[e]],{...t,authors:n}}),x(t=>{let n={...t},r=n[e];return n[e]=n[i],n[i]=r,n}))}async function Te(e){let t=Array.isArray(e.authors)?e.authors:[],n=[...t],r={};for(let e=0;e0&&(r[e]={loading:!1,suggestions:t,error:``})}catch(t){r[e]={loading:!1,suggestions:[],error:t instanceof Error?t.message:`ORCID search failed.`}}}return{form:{...e,authors:n},suggestions:r}}async function Ee(){let e=i.trim();if(!e){l({loading:!1,warnings:[],review:null,healthScan:[],comparisons:[],errors:[{kind:`error`,source:`ui`,code:`empty-url`,message:`Paste a GitHub repository URL first.`}]});return}l({loading:!0,warnings:[],errors:[],review:null,healthScan:[],comparisons:[]});let t=N.current+1;N.current=t;try{let n=await ar(e,{contributorFallbackLimit:5,authToken:o.trim()});if(N.current!==t)return;let i=Yr(n.metadata),a={},s=Sr(i);if(n.errors.length===0&&s){let e=await Te(i);i=e.form,a=e.suggestions}if(N.current!==t)return;s||O(e=>({...e,title:!0,authors:!0,license:!0,version:!0,typeOfWork:!0,publicationDate:!0})),l({loading:!1,warnings:n.warnings,errors:n.errors,review:s&&n.review||null,healthScan:s&&Array.isArray(n.healthScan)?n.healthScan:[],comparisons:s&&Array.isArray(n.comparisons)?n.comparisons:[]}),A(s),n.errors.length===0&&(r(i),x(a))}catch(e){if(N.current!==t)return;l({loading:!1,warnings:[],review:null,healthScan:[],comparisons:[],errors:[{kind:`error`,source:`import`,code:`import-failed`,message:e instanceof Error?e.message:`GitHub import failed unexpectedly.`}]})}}async function De(e){let t=n.authors[e]??{};x(t=>({...t,[e]:{loading:!0,suggestions:[],error:``}}));try{let n=await fr(t);x(t=>({...t,[e]:{loading:!1,suggestions:n,error:n.length>0?``:`No ORCID candidates found.`}}))}catch(t){x(n=>({...n,[e]:{loading:!1,suggestions:[],error:t instanceof Error?t.message:`ORCID search failed.`}}))}}function Oe(e,t){r(n=>({...n,authors:n.authors.map((n,r)=>r===e?{...n,orcid:t.orcid}:n)})),x(t=>({...t,[e]:{loading:!1,suggestions:[],error:``}}))}function ke(){if(Object.keys(L).length>0){fe(L);return}if(!oe.isValid){E({kind:`validation`,message:`Cannot export CITATION.cff until validation issues are fixed.`,details:oe.errors});return}Zr(ie)&&(pe(),p(!0),ge(),setTimeout(()=>{p(!1)},500))}async function Ae(){if(Object.keys(L).length>0){fe(L);return}if(!V.isValid){E({kind:`validation`,message:`Cannot export .zenodo.json until validation issues are fixed.`,details:V.errors});return}pe(),h(!0);try{await _e()}finally{setTimeout(()=>h(!1),500)}}async function je(){if(Object.keys(L).length>0){fe(L);return}if(!oe.isValid){E({kind:`validation`,message:`Cannot create ZIP until CITATION.cff validation issues are fixed.`,details:oe.errors});return}if(!V.isValid){E({kind:`validation`,message:`Cannot create ZIP until .zenodo.json validation issues are fixed.`,details:V.errors});return}if(Zr(ie)){pe(),d(!0);try{let e=await $r(ie,ae,ce),t=String(F.title||`opencite-metadata`).trim().toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``)||`opencite-metadata`;if(Qr()&&await ei(`${t}.zip`,e,`application/zip`,[{description:`OpenCite metadata ZIP`,accept:{"application/zip":[`.zip`]}}]))return;Xr(`${t}.zip`,e,`application/zip`)}catch(e){alert(`Could not create ZIP file: ${e instanceof Error?e.message:String(e)}`)}finally{d(!1)}}}async function H(){if(v!==`idle`)return;let e=g===`citation`?ie:ae;try{if(y(`copying`),!navigator?.clipboard?.writeText)throw Error(`Clipboard API is unavailable in this browser context.`);await navigator.clipboard.writeText(e),y(`copied`)}catch(e){console.error(`Could not copy preview to clipboard:`,e),y(`error`)}finally{setTimeout(()=>{y(`idle`)},2e3)}}return(0,C.jsx)(`main`,{className:`app-shell`,children:(0,C.jsxs)(`section`,{className:`card`,children:[(0,C.jsxs)(`div`,{className:`hero`,children:[(0,C.jsxs)(`div`,{className:`hero-header`,children:[(0,C.jsx)(`p`,{className:`eyebrow`,children:`OpenCite`}),(0,C.jsx)(`button`,{type:`button`,className:`secondary theme-toggle`,onClick:P,"aria-label":`Switch to ${j===`light`?`dark`:`light`} mode`,"aria-pressed":j===`dark`,title:`Switch to ${j===`light`?`dark`:`light`} mode`,children:(0,C.jsx)(`span`,{"aria-hidden":`true`,children:j===`light`?`☾`:`☀`})})]}),(0,C.jsx)(`p`,{className:`visually-hidden`,role:`status`,children:j===`light`?`Light mode enabled.`:`Dark mode enabled.`}),(0,C.jsx)(`h1`,{children:e===`generator`?`Generate citation metadata from one clean form.`:`Run a citation health review for any GitHub repository.`}),(0,C.jsx)(`p`,{className:`lede`,children:e===`generator`?(0,C.jsxs)(C.Fragment,{children:[`Fill in the metadata once, then download both `,(0,C.jsx)(`strong`,{children:`CITATION.cff`}),` and`,(0,C.jsx)(`strong`,{children:` .zenodo.json`}),`.`]}):`Analyze existing repository metadata and get actionable recommendations before deciding what to update or regenerate.`})]}),(0,C.jsxs)(`div`,{className:`page-tabs`,role:`tablist`,"aria-label":`OpenCite pages`,children:[(0,C.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":e===`generator`,className:e===`generator`?`tab-active`:`secondary`,onClick:()=>t(`generator`),children:`Metadata Generator`}),(0,C.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":e===`review`,className:e===`review`?`tab-active`:`secondary`,onClick:()=>t(`review`),children:`Citation Health Review`})]}),(0,C.jsxs)(`section`,{className:`pipeline-card`,"aria-labelledby":`pipeline-title`,children:[(0,C.jsx)(`h2`,{id:`pipeline-title`,children:`Progress`}),(0,C.jsx)(`ol`,{className:`pipeline-list`,children:Nr.map((e,t)=>{let n=t+1,r=n0&&(0,C.jsx)(`ul`,{children:T.details.slice(0,5).map((e,t)=>(0,C.jsx)(`li`,{children:e},`${e}-${t}`))})]}),e===`generator`&&c.healthScan.length>0&&(0,C.jsxs)(`div`,{className:`export-notice export-notice-info`,role:`status`,"aria-live":`polite`,children:[(0,C.jsx)(`strong`,{children:`Reviewed metadata loaded in editor.`}),(0,C.jsxs)(`ul`,{children:[(0,C.jsxs)(`li`,{children:[`Warnings: `,z.warning]}),(0,C.jsxs)(`li`,{children:[`Passing checks: `,z.pass]}),(0,C.jsxs)(`li`,{children:[`Errors: `,z.error]})]})]}),e===`generator`&&(0,C.jsxs)(`div`,{className:`import-panel compact-import full-width`,children:[(0,C.jsxs)(`label`,{children:[(0,C.jsx)(`span`,{children:`Import metadata from GitHub repository`}),(0,C.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:`https://github.com/imageomics/OpenCite`})]}),(0,C.jsxs)(`label`,{children:[(0,C.jsx)(`span`,{children:`GitHub token (optional)`}),(0,C.jsx)(`input`,{type:`password`,value:o,onChange:e=>s(e.target.value),placeholder:`For higher GitHub API limits`,autoComplete:`off`})]}),(0,C.jsxs)(`p`,{className:`import-note`,children:[`Use a fine-grained token with public repository read access for higher API limits. This works even when the repository does not have a `,(0,C.jsx)(`strong`,{children:`CITATION.cff`}),` file.`]}),(0,C.jsxs)(`div`,{className:`actions`,children:[(0,C.jsx)(`button`,{type:`button`,onClick:Ee,disabled:c.loading,children:c.loading?`Importing…`:`Import GitHub metadata`}),(0,C.jsx)(`button`,{type:`button`,className:`secondary`,onClick:()=>t(`review`),children:`Open Full Citation Review`})]}),(c.errors.length>0||c.warnings.length>0)&&(0,C.jsxs)(`div`,{className:`import-feedback`,children:[c.errors.length>0&&(0,C.jsxs)(`div`,{className:`feedback-block feedback-error`,children:[(0,C.jsx)(`strong`,{children:`Import errors`}),(0,C.jsx)(`ul`,{children:c.errors.map((e,t)=>(0,C.jsx)(`li`,{children:e.message},`generator-error-${e.code}-${t}`))})]}),c.warnings.length>0&&(0,C.jsxs)(`div`,{className:`feedback-block feedback-warning`,children:[(0,C.jsx)(`strong`,{children:`Import warnings`}),(0,C.jsx)(`ul`,{children:R.map((e,t)=>(0,C.jsx)(`li`,{children:e},`generator-warning-${t}`))})]})]})]}),e===`review`&&(0,C.jsxs)(`div`,{className:`import-panel full-width`,children:[(0,C.jsxs)(`label`,{children:[(0,C.jsx)(`span`,{children:`Import from GitHub repository`}),(0,C.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:`https://github.com/imageomics/OpenCite`})]}),(0,C.jsxs)(`label`,{children:[(0,C.jsx)(`span`,{children:`GitHub token (optional)`}),(0,C.jsx)(`input`,{type:`password`,value:o,onChange:e=>s(e.target.value),placeholder:`For higher GitHub API limits`,autoComplete:`off`})]}),(0,C.jsx)(`div`,{className:`actions`,children:(0,C.jsx)(`button`,{type:`button`,onClick:Ee,disabled:c.loading,children:c.loading?`Importing…`:`Import GitHub metadata`})}),(c.errors.length>0||c.warnings.length>0||c.review||c.healthScan.length>0||c.comparisons.length>0)&&(0,C.jsxs)(`div`,{className:`import-feedback`,children:[(0,C.jsxs)(`div`,{className:`feedback-block feedback-summary`,children:[(0,C.jsx)(`strong`,{children:`Citation Review`}),(0,C.jsx)(`p`,{className:`review-summary`,children:re.healthy?`✓ Repository metadata looks healthy`:`Warnings (${re.warningCount})`}),re.warnings.length>0&&(0,C.jsx)(`ul`,{children:re.warnings.map((e,t)=>(0,C.jsx)(`li`,{children:e},`summary-warning-${t}`))}),re.recommendations.length>0&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(`p`,{className:`review-summary`,children:`Recommendations`}),(0,C.jsx)(`ul`,{children:re.recommendations.map((e,t)=>(0,C.jsx)(`li`,{children:e},`summary-recommendation-${t}`))})]})]}),c.errors.length>0&&(0,C.jsxs)(`div`,{className:`feedback-block feedback-error`,children:[(0,C.jsx)(`strong`,{children:`Import errors`}),(0,C.jsx)(`ul`,{children:c.errors.map((e,t)=>(0,C.jsx)(`li`,{children:e.message},`error-${e.code}-${t}`))})]}),c.warnings.length>0&&(0,C.jsxs)(`div`,{className:`feedback-block feedback-warning`,children:[(0,C.jsx)(`strong`,{children:`Import warnings`}),(0,C.jsx)(`ul`,{children:R.map((e,t)=>(0,C.jsx)(`li`,{children:e},`warning-group-${t}`))})]}),c.review&&(0,C.jsxs)(`div`,{className:`feedback-block feedback-review`,children:[(0,C.jsx)(`strong`,{children:`Metadata review`}),(0,C.jsxs)(`p`,{className:`review-summary`,children:[`Correct: `,c.review.summary?.byStatus?.correct??0,` | Missing: `,c.review.summary?.byStatus?.missing??0,` | Outdated: `,c.review.summary?.byStatus?.outdated??0,` | Invalid: `,c.review.summary?.byStatus?.invalid??0]}),Array.isArray(c.review.recommendations?.actions)&&c.review.recommendations.actions.length>0&&(0,C.jsx)(`ul`,{children:c.review.recommendations.actions.map((e,t)=>(0,C.jsx)(`li`,{children:e},`review-action-${t}`))}),Array.isArray(c.review.findings)&&c.review.findings.length>0&&(0,C.jsx)(`ul`,{children:c.review.findings.map((e,t)=>(0,C.jsxs)(`li`,{children:[`[`,Rr(e.status),` | `,zr(e.action),`]`,e.file?` ${e.file}:`:``,` `,e.message]},`review-finding-${e.id||t}`))})]}),c.healthScan.length>0&&(0,C.jsxs)(`div`,{className:`feedback-block feedback-health`,children:[(0,C.jsx)(`strong`,{children:`Citation health scan`}),(0,C.jsxs)(`p`,{className:`review-summary`,children:[`Passing checks: `,z.pass,` | Warnings to review: `,z.warning,` | Errors to fix: `,z.error]}),(0,C.jsx)(`div`,{className:`actions`,children:(0,C.jsx)(`button`,{type:`button`,onClick:me,children:`Open Reviewed Metadata In Editor`})}),ne.length>0&&(0,C.jsxs)(`div`,{className:`health-group`,children:[(0,C.jsx)(`h3`,{children:`Errors (Fix first)`}),(0,C.jsx)(`ul`,{className:`health-list`,children:ne.map((e,t)=>he(e,`health-error-${t}`))})]}),te.length>0&&(0,C.jsxs)(`div`,{className:`health-group`,children:[(0,C.jsx)(`h3`,{children:`Warnings (Recommended updates)`}),(0,C.jsx)(`ul`,{className:`health-list`,children:te.map((e,t)=>he(e,`health-warning-${t}`))})]}),ee.length>0&&(0,C.jsxs)(`div`,{className:`health-group`,children:[(0,C.jsx)(`h3`,{children:`Done Well`}),(0,C.jsx)(`ul`,{className:`health-list`,children:ee.map((e,t)=>he(e,`health-pass-${t}`))})]})]}),c.comparisons.length>0&&(0,C.jsxs)(`div`,{className:`feedback-block feedback-comparison`,children:[(0,C.jsx)(`strong`,{children:`Field-by-field comparison (existing files vs live GitHub metadata)`}),(0,C.jsx)(`ul`,{className:`comparison-list`,children:c.comparisons.map((e,t)=>(0,C.jsxs)(`li`,{className:`comparison-item`,children:[(0,C.jsxs)(`div`,{className:`comparison-header`,children:[(0,C.jsxs)(`strong`,{children:[e.file,` - `,e.field]}),(0,C.jsx)(`span`,{className:Ur(e.status),children:Hr(e.status)})]}),(0,C.jsxs)(`p`,{children:[(0,C.jsx)(`span`,{children:`Current:`}),` `,e.currentValue||`(missing)`]}),(0,C.jsxs)(`p`,{children:[(0,C.jsx)(`span`,{children:`GitHub:`}),` `,e.githubValue||`(cannot determine)`]}),(0,C.jsxs)(`p`,{children:[(0,C.jsx)(`span`,{children:`Recommendation:`}),` `,e.recommendation]})]},`comparison-${e.file}-${e.field}-${t}`))})]})]})]}),e===`generator`&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(w,{form:n,typeOptions:kr,licenseOptions:Ar,grantSuggestions:jr,errors:L,touchedFields:D,importedMetadataAvailable:k,orcidSuggestions:b,updateField:ve,appendGrantSuggestion:ye,appendAllGrantSuggestions:be,updateAuthorField:xe,suggestOrcid:De,applySuggestedOrcid:Oe,reorderAuthor:we,addAuthor:Se,removeAuthor:Ce}),(0,C.jsxs)(`div`,{className:`actions`,children:[(0,C.jsxs)(`button`,{type:`button`,onClick:ke,disabled:f,className:f?`loading-button`:``,children:[f&&(0,C.jsx)(`span`,{className:`button-spinner`,"aria-hidden":`true`}),f?`Generating CITATION.cff…`:`Generate CITATION.cff`]}),(0,C.jsxs)(`button`,{type:`button`,className:`secondary ${m?`loading-button`:``}`,onClick:Ae,disabled:m,children:[m&&(0,C.jsx)(`span`,{className:`button-spinner`,"aria-hidden":`true`}),m?`Generating .zenodo.json…`:`Generate .zenodo.json`]}),(0,C.jsxs)(`button`,{type:`button`,className:`secondary ${u?`loading-button`:``}`,onClick:je,disabled:u,children:[u&&(0,C.jsx)(`span`,{className:`button-spinner`,"aria-hidden":`true`}),u?`Creating ZIP…`:`Download ZIP (Both Files)`]})]}),(0,C.jsxs)(`p`,{className:`filename-note`,children:[`Keep the Zenodo filename as `,(0,C.jsx)(`strong`,{children:`.zenodo.json`}),` for downstream tooling compatibility. The ZIP now includes `,(0,C.jsx)(`strong`,{children:`METADATA_VALIDATION.txt`}),` with export checks.`]}),(0,C.jsx)(`div`,{className:`preview`,children:(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`h2`,{children:`Preview`}),(0,C.jsxs)(`div`,{className:`actions`,children:[(0,C.jsx)(`button`,{type:`button`,className:g===`citation`?``:`secondary`,onClick:()=>_(`citation`),children:`CITATION.cff`}),(0,C.jsx)(`button`,{type:`button`,className:g===`zenodo`?``:`secondary`,onClick:()=>_(`zenodo`),children:`.zenodo.json`}),(0,C.jsx)(`button`,{type:`button`,className:`secondary`,onClick:H,disabled:v!==`idle`,children:v===`copied`?`✓ Copied!`:v===`error`?`Copy failed`:v===`copying`?`Copying...`:`Copy`})]}),(0,C.jsx)(`pre`,{children:g===`citation`?ie:ae})]})})]}),(0,C.jsxs)(`footer`,{className:`app-footer`,"aria-label":`Project acknowledgements`,children:[(0,C.jsx)(`h3`,{children:`About OpenCite`}),(0,C.jsx)(`p`,{children:`OpenCite helps researchers create standardized citation metadata for research software.`}),(0,C.jsxs)(`p`,{children:[`This work was supported by both the`,` `,(0,C.jsx)(`a`,{href:`https://imageomics.org/`,target:`_blank`,rel:`noreferrer`,children:`Imageomics Institute`}),` `,`and the`,` `,(0,C.jsx)(`a`,{href:`http://abcresearchcenter.org/`,target:`_blank`,rel:`noreferrer`,children:`AI and Biodiversity Change (ABC) Global Center`}),`. The Imageomics Institute is funded by the U.S. National Science Foundation's Harnessing the Data Revolution (HDR) program under`,` `,(0,C.jsx)(`a`,{href:`https://www.nsf.gov/awardsearch/showAward?AWD_ID=2118240`,target:`_blank`,rel:`noreferrer`,children:`Award #2118240`}),` `,`(Imageomics: A New Frontier of Biological Information Powered by Knowledge-Guided Machine Learning). The ABC Global Center is funded by the U.S. National Science Foundation under`,` `,(0,C.jsx)(`a`,{href:`https://www.nsf.gov/awardsearch/showAward?AWD_ID=2330423&HistoricalAwards=false`,target:`_blank`,rel:`noreferrer`,children:`Award No. 2330423`}),` `,`and Natural Sciences and Engineering Research Council of Canada under`,` `,(0,C.jsx)(`a`,{href:`https://www.nserc-crsng.gc.ca/ase-oro/Details-Detailles_eng.asp?id=782440`,target:`_blank`,rel:`noreferrer`,children:`Award No. 585136`}),`. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the funding agencies.`]}),(0,C.jsx)(`p`,{children:`Contributors: Isabella Lo and Elizabeth Campolongo.`}),(0,C.jsxs)(`p`,{children:[(0,C.jsx)(`a`,{href:`https://github.com/Imageomics/OpenCite`,target:`_blank`,rel:`noreferrer`,children:`View OpenCite on GitHub`}),` • `,(0,C.jsx)(`a`,{href:`https://imageomics.github.io/Collaborative-distributed-science-guide/`,target:`_blank`,rel:`noreferrer`,children:`Read the Collaborative Distributed Science Guide`})]})]})]})})}b.createRoot(document.getElementById(`root`)).render((0,C.jsx)(S.StrictMode,{children:(0,C.jsx)(J,{})})); \ No newline at end of file diff --git a/assets/index-D4E24Fst.js b/assets/index-D4E24Fst.js deleted file mode 100644 index 825c0fe..0000000 --- a/assets/index-D4E24Fst.js +++ /dev/null @@ -1,49 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const o of l)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(l){const o={};return l.integrity&&(o.integrity=l.integrity),l.referrerPolicy&&(o.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?o.credentials="include":l.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(l){if(l.ep)return;l.ep=!0;const o=n(l);fetch(l.href,o)}})();function sc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Gu={exports:{}},tl={},Xu={exports:{}},j={};/** - * @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 Xn=Symbol.for("react.element"),ac=Symbol.for("react.portal"),cc=Symbol.for("react.fragment"),fc=Symbol.for("react.strict_mode"),dc=Symbol.for("react.profiler"),pc=Symbol.for("react.provider"),mc=Symbol.for("react.context"),hc=Symbol.for("react.forward_ref"),vc=Symbol.for("react.suspense"),yc=Symbol.for("react.memo"),gc=Symbol.for("react.lazy"),Fi=Symbol.iterator;function wc(e){return e===null||typeof e!="object"?null:(e=Fi&&e[Fi]||e["@@iterator"],typeof e=="function"?e:null)}var Zu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ju=Object.assign,qu={};function on(e,t,n){this.props=e,this.context=t,this.refs=qu,this.updater=n||Zu}on.prototype.isReactComponent={};on.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")};on.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function bu(){}bu.prototype=on.prototype;function Vo(e,t,n){this.props=e,this.context=t,this.refs=qu,this.updater=n||Zu}var Bo=Vo.prototype=new bu;Bo.constructor=Vo;Ju(Bo,on.prototype);Bo.isPureReactComponent=!0;var Ui=Array.isArray,es=Object.prototype.hasOwnProperty,Ho={current:null},ts={key:!0,ref:!0,__self:!0,__source:!0};function ns(e,t,n){var r,l={},o=null,i=null;if(t!=null)for(r in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(o=""+t.key),t)es.call(t,r)&&!ts.hasOwnProperty(r)&&(l[r]=t[r]);var u=arguments.length-2;if(u===1)l.children=n;else if(1>>1,X=C[H];if(0>>1;Hl(wl,T))gtl(tr,wl)?(C[H]=tr,C[gt]=T,H=gt):(C[H]=wl,C[yt]=T,H=yt);else if(gtl(tr,T))C[H]=tr,C[gt]=T,H=gt;else break e}}return P}function l(C,P){var T=C.sortIndex-P.sortIndex;return T!==0?T:C.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var i=Date,u=i.now();e.unstable_now=function(){return i.now()-u}}var s=[],c=[],h=1,m=null,p=3,w=!1,g=!1,k=!1,R=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var P=n(c);P!==null;){if(P.callback===null)r(c);else if(P.startTime<=C)r(c),P.sortIndex=P.expirationTime,t(s,P);else break;P=n(c)}}function v(C){if(k=!1,d(C),!g)if(n(s)!==null)g=!0,yl(E);else{var P=n(c);P!==null&&gl(v,P.startTime-C)}}function E(C,P){g=!1,k&&(k=!1,f(z),z=-1),w=!0;var T=p;try{for(d(P),m=n(s);m!==null&&(!(m.expirationTime>P)||C&&!ze());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var X=H(m.expirationTime<=P);P=e.unstable_now(),typeof X=="function"?m.callback=X:m===n(s)&&r(s),d(P)}else r(s);m=n(s)}if(m!==null)var er=!0;else{var yt=n(c);yt!==null&&gl(v,yt.startTime-P),er=!1}return er}finally{m=null,p=T,w=!1}}var _=!1,N=null,z=-1,B=5,L=-1;function ze(){return!(e.unstable_now()-LC||125H?(C.sortIndex=T,t(c,C),n(s)===null&&C===n(c)&&(k?(f(z),z=-1):k=!0,gl(v,T-H))):(C.sortIndex=X,t(s,C),g||w||(g=!0,yl(E))),C},e.unstable_shouldYield=ze,e.unstable_wrapCallback=function(C){var P=p;return function(){var T=p;p=P;try{return C.apply(this,arguments)}finally{p=T}}}})(us);is.exports=us;var Lc=is.exports;/** - * @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 Oc=We,ge=Lc;function y(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"),Gl=Object.prototype.hasOwnProperty,Rc=/^[: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]*$/,Ai={},Wi={};function Dc(e){return Gl.call(Wi,e)?!0:Gl.call(Ai,e)?!1:Rc.test(e)?Wi[e]=!0:(Ai[e]=!0,!1)}function Mc(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 Ic(e,t,n,r){if(t===null||typeof t>"u"||Mc(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 ae(e,t,n,r,l,o,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var ee={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ee[e]=new ae(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ee[t]=new ae(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ee[e]=new ae(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ee[e]=new ae(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){ee[e]=new ae(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ee[e]=new ae(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ee[e]=new ae(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ee[e]=new ae(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ee[e]=new ae(e,5,!1,e.toLowerCase(),null,!1,!1)});var Ko=/[\-:]([a-z])/g;function Yo(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(Ko,Yo);ee[t]=new ae(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(Ko,Yo);ee[t]=new ae(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(Ko,Yo);ee[t]=new ae(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ee[e]=new ae(e,1,!1,e.toLowerCase(),null,!1,!1)});ee.xlinkHref=new ae("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ee[e]=new ae(e,1,!1,e.toLowerCase(),null,!0,!0)});function Go(e,t,n,r){var l=ee.hasOwnProperty(t)?ee[t]:null;(l!==null?l.type!==0:r||!(2u||l[i]!==o[u]){var s=` -`+l[i].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=i&&0<=u);break}}}finally{xl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?wn(e):""}function Fc(e){switch(e.tag){case 5:return wn(e.type);case 16:return wn("Lazy");case 13:return wn("Suspense");case 19:return wn("SuspenseList");case 0:case 2:case 15:return e=El(e.type,!1),e;case 11:return e=El(e.type.render,!1),e;case 1:return e=El(e.type,!0),e;default:return""}}function ql(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 Mt:return"Fragment";case Dt:return"Portal";case Xl:return"Profiler";case Xo:return"StrictMode";case Zl:return"Suspense";case Jl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case cs:return(e.displayName||"Context")+".Consumer";case as:return(e._context.displayName||"Context")+".Provider";case Zo:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Jo:return t=e.displayName||null,t!==null?t:ql(e.type)||"Memo";case qe:t=e._payload,e=e._init;try{return ql(e(t))}catch{}}return null}function Uc(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 ql(t);case 8:return t===Xo?"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 dt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ds(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function $c(e){var t=ds(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 l=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(i){r=""+i,o.call(this,i)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function lr(e){e._valueTracker||(e._valueTracker=$c(e))}function ps(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ds(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Lr(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 bl(e,t){var n=t.checked;return W({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Bi(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=dt(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 ms(e,t){t=t.checked,t!=null&&Go(e,"checked",t,!1)}function eo(e,t){ms(e,t);var n=dt(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")?to(e,t.type,n):t.hasOwnProperty("defaultValue")&&to(e,t.type,dt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Hi(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 to(e,t,n){(t!=="number"||Lr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var kn=Array.isArray;function Kt(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=or.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Rn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var En={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},Ac=["Webkit","ms","Moz","O"];Object.keys(En).forEach(function(e){Ac.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),En[t]=En[e]})});function gs(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||En.hasOwnProperty(e)&&En[e]?(""+t).trim():t+"px"}function ws(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=gs(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Wc=W({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 lo(e,t){if(t){if(Wc[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(y(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(y(61))}if(t.style!=null&&typeof t.style!="object")throw Error(y(62))}}function oo(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 io=null;function qo(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var uo=null,Yt=null,Gt=null;function Yi(e){if(e=qn(e)){if(typeof uo!="function")throw Error(y(280));var t=e.stateNode;t&&(t=il(t),uo(e.stateNode,e.type,t))}}function ks(e){Yt?Gt?Gt.push(e):Gt=[e]:Yt=e}function Ss(){if(Yt){var e=Yt,t=Gt;if(Gt=Yt=null,Yi(e),t)for(e=0;e>>=0,e===0?32:31-(qc(e)/bc|0)|0}var ir=64,ur=4194304;function Sn(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 Mr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,o=e.pingedLanes,i=n&268435455;if(i!==0){var u=i&~l;u!==0?r=Sn(u):(o&=i,o!==0&&(r=Sn(o)))}else i=n&~l,i!==0?r=Sn(i):o!==0&&(r=Sn(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,o=t&-t,l>=o||l===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Zn(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Oe(t),e[t]=n}function rf(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=_n),nu=" ",ru=!1;function Ws(e,t){switch(e){case"keyup":return Of.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Vs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var It=!1;function Df(e,t){switch(e){case"compositionend":return Vs(t);case"keypress":return t.which!==32?null:(ru=!0,nu);case"textInput":return e=t.data,e===nu&&ru?null:e;default:return null}}function Mf(e,t){if(It)return e==="compositionend"||!ii&&Ws(e,t)?(e=$s(),xr=ri=nt=null,It=!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=uu(n)}}function Ks(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ks(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ys(){for(var e=window,t=Lr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Lr(e.document)}return t}function ui(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 Hf(e){var t=Ys(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ks(n.ownerDocument.documentElement,n)){if(r!==null&&ui(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 l=n.textContent.length,o=Math.min(r.start,l);r=r.end===void 0?o:Math.min(r.end,l),!e.extend&&o>r&&(l=r,r=o,o=l),l=su(n,o);var i=su(n,r);l&&i&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.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,Ft=null,mo=null,zn=null,ho=!1;function au(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ho||Ft==null||Ft!==Lr(r)||(r=Ft,"selectionStart"in r&&ui(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}),zn&&$n(zn,r)||(zn=r,r=Ur(mo,"onSelect"),0At||(e.current=So[At],So[At]=null,At--)}function M(e,t){At++,So[At]=e.current,e.current=t}var pt={},le=ht(pt),de=ht(!1),Nt=pt;function bt(e,t){var n=e.type.contextTypes;if(!n)return pt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},o;for(o in n)l[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function pe(e){return e=e.childContextTypes,e!=null}function Ar(){F(de),F(le)}function vu(e,t,n){if(le.current!==pt)throw Error(y(168));M(le,t),M(de,n)}function na(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(y(108,Uc(e)||"Unknown",l));return W({},n,r)}function Wr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pt,Nt=le.current,M(le,e),M(de,de.current),!0}function yu(e,t,n){var r=e.stateNode;if(!r)throw Error(y(169));n?(e=na(e,t,Nt),r.__reactInternalMemoizedMergedChildContext=e,F(de),F(le),M(le,e)):F(de),M(de,n)}var Ve=null,ul=!1,Fl=!1;function ra(e){Ve===null?Ve=[e]:Ve.push(e)}function nd(e){ul=!0,ra(e)}function vt(){if(!Fl&&Ve!==null){Fl=!0;var e=0,t=D;try{var n=Ve;for(D=1;e>=i,l-=i,Be=1<<32-Oe(t)+l|n<z?(B=N,N=null):B=N.sibling;var L=p(f,N,d[z],v);if(L===null){N===null&&(N=B);break}e&&N&&L.alternate===null&&t(f,N),a=o(L,a,z),_===null?E=L:_.sibling=L,_=L,N=B}if(z===d.length)return n(f,N),U&&wt(f,z),E;if(N===null){for(;zz?(B=N,N=null):B=N.sibling;var ze=p(f,N,L.value,v);if(ze===null){N===null&&(N=B);break}e&&N&&ze.alternate===null&&t(f,N),a=o(ze,a,z),_===null?E=ze:_.sibling=ze,_=ze,N=B}if(L.done)return n(f,N),U&&wt(f,z),E;if(N===null){for(;!L.done;z++,L=d.next())L=m(f,L.value,v),L!==null&&(a=o(L,a,z),_===null?E=L:_.sibling=L,_=L);return U&&wt(f,z),E}for(N=r(f,N);!L.done;z++,L=d.next())L=w(N,f,z,L.value,v),L!==null&&(e&&L.alternate!==null&&N.delete(L.key===null?z:L.key),a=o(L,a,z),_===null?E=L:_.sibling=L,_=L);return e&&N.forEach(function(an){return t(f,an)}),U&&wt(f,z),E}function R(f,a,d,v){if(typeof d=="object"&&d!==null&&d.type===Mt&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case rr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===Mt){if(_.tag===7){n(f,_.sibling),a=l(_,d.props.children),a.return=f,f=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===qe&&ku(E)===_.type){n(f,_.sibling),a=l(_,d.props),a.ref=vn(f,_,d),a.return=f,f=a;break e}n(f,_);break}else t(f,_);_=_.sibling}d.type===Mt?(a=_t(d.props.children,f.mode,v,d.key),a.return=f,f=a):(v=jr(d.type,d.key,d.props,null,f.mode,v),v.ref=vn(f,a,d),v.return=f,f=v)}return i(f);case Dt:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){n(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{n(f,a);break}else t(f,a);a=a.sibling}a=Ql(d,f.mode,v),a.return=f,f=a}return i(f);case qe:return _=d._init,R(f,a,_(d._payload),v)}if(kn(d))return g(f,a,d,v);if(fn(d))return k(f,a,d,v);mr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(n(f,a.sibling),a=l(a,d),a.return=f,f=a):(n(f,a),a=Hl(d,f.mode,v),a.return=f,f=a),i(f)):n(f,a)}return R}var tn=ua(!0),sa=ua(!1),Hr=ht(null),Qr=null,Bt=null,fi=null;function di(){fi=Bt=Qr=null}function pi(e){var t=Hr.current;F(Hr),e._currentValue=t}function Co(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Zt(e,t){Qr=e,fi=Bt=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(fe=!0),e.firstContext=null)}function _e(e){var t=e._currentValue;if(fi!==e)if(e={context:e,memoizedValue:t,next:null},Bt===null){if(Qr===null)throw Error(y(308));Bt=e,Qr.dependencies={lanes:0,firstContext:e}}else Bt=Bt.next=e;return t}var xt=null;function mi(e){xt===null?xt=[e]:xt.push(e)}function aa(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,mi(t)):(n.next=l.next,l.next=n),t.interleaved=n,Ge(e,r)}function Ge(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var be=!1;function hi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ca(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Qe(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function st(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,O&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Ge(e,n)}return l=r.interleaved,l===null?(t.next=t,mi(r)):(t.next=l.next,l.next=t),r.interleaved=t,Ge(e,n)}function Cr(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ei(e,n)}}function Su(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,o=null;if(n=n.firstBaseUpdate,n!==null){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};o===null?l=o=i:o=o.next=i,n=n.next}while(n!==null);o===null?l=o=t:o=o.next=t}else l=o=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:o,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Kr(e,t,n,r){var l=e.updateQueue;be=!1;var o=l.firstBaseUpdate,i=l.lastBaseUpdate,u=l.shared.pending;if(u!==null){l.shared.pending=null;var s=u,c=s.next;s.next=null,i===null?o=c:i.next=c,i=s;var h=e.alternate;h!==null&&(h=h.updateQueue,u=h.lastBaseUpdate,u!==i&&(u===null?h.firstBaseUpdate=c:u.next=c,h.lastBaseUpdate=s))}if(o!==null){var m=l.baseState;i=0,h=c=s=null,u=o;do{var p=u.lane,w=u.eventTime;if((r&p)===p){h!==null&&(h=h.next={eventTime:w,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var g=e,k=u;switch(p=t,w=n,k.tag){case 1:if(g=k.payload,typeof g=="function"){m=g.call(w,m,p);break e}m=g;break e;case 3:g.flags=g.flags&-65537|128;case 0:if(g=k.payload,p=typeof g=="function"?g.call(w,m,p):g,p==null)break e;m=W({},m,p);break e;case 2:be=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,p=l.effects,p===null?l.effects=[u]:p.push(u))}else w={eventTime:w,lane:p,tag:u.tag,payload:u.payload,callback:u.callback,next:null},h===null?(c=h=w,s=m):h=h.next=w,i|=p;if(u=u.next,u===null){if(u=l.shared.pending,u===null)break;p=u,u=p.next,p.next=null,l.lastBaseUpdate=p,l.shared.pending=null}}while(!0);if(h===null&&(s=m),l.baseState=s,l.firstBaseUpdate=c,l.lastBaseUpdate=h,t=l.shared.interleaved,t!==null){l=t;do i|=l.lane,l=l.next;while(l!==t)}else o===null&&(l.shared.lanes=0);Tt|=i,e.lanes=i,e.memoizedState=m}}function xu(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=$l.transition;$l.transition={};try{e(!1),t()}finally{D=n,$l.transition=r}}function za(){return Ne().memoizedState}function id(e,t,n){var r=ct(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Pa(e))Ta(t,n);else if(n=aa(e,t,n,r),n!==null){var l=ue();Re(n,e,r,l),ja(n,t,r)}}function ud(e,t,n){var r=ct(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Pa(e))Ta(t,l);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,u=o(i,n);if(l.hasEagerState=!0,l.eagerState=u,De(u,i)){var s=t.interleaved;s===null?(l.next=l,mi(t)):(l.next=s.next,s.next=l),t.interleaved=l;return}}catch{}finally{}n=aa(e,t,l,r),n!==null&&(l=ue(),Re(n,e,r,l),ja(n,t,r))}}function Pa(e){var t=e.alternate;return e===A||t!==null&&t===A}function Ta(e,t){Pn=Gr=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ja(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ei(e,n)}}var Xr={readContext:_e,useCallback:te,useContext:te,useEffect:te,useImperativeHandle:te,useInsertionEffect:te,useLayoutEffect:te,useMemo:te,useReducer:te,useRef:te,useState:te,useDebugValue:te,useDeferredValue:te,useTransition:te,useMutableSource:te,useSyncExternalStore:te,useId:te,unstable_isNewReconciler:!1},sd={readContext:_e,useCallback:function(e,t){return Ie().memoizedState=[e,t===void 0?null:t],e},useContext:_e,useEffect:Cu,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Nr(4194308,4,xa.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Nr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Nr(4,2,e,t)},useMemo:function(e,t){var n=Ie();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ie();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=id.bind(null,A,e),[r.memoizedState,e]},useRef:function(e){var t=Ie();return e={current:e},t.memoizedState=e},useState:Eu,useDebugValue:Ei,useDeferredValue:function(e){return Ie().memoizedState=e},useTransition:function(){var e=Eu(!1),t=e[0];return e=od.bind(null,e[1]),Ie().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=A,l=Ie();if(U){if(n===void 0)throw Error(y(407));n=n()}else{if(n=t(),J===null)throw Error(y(349));Pt&30||ma(r,t,n)}l.memoizedState=n;var o={value:n,getSnapshot:t};return l.queue=o,Cu(va.bind(null,r,o,e),[e]),r.flags|=2048,Yn(9,ha.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Ie(),t=J.identifierPrefix;if(U){var n=He,r=Be;n=(r&~(1<<32-Oe(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Qn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=i.createElement(n,{is:r.is}):(e=i.createElement(n),n==="select"&&(i=e,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):e=i.createElementNS(e,n),e[Fe]=t,e[Vn]=r,Aa(e,t,!1,!1),t.stateNode=e;e:{switch(i=oo(n,r),n){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;lln&&(t.flags|=128,r=!0,yn(o,!1),t.lanes=4194304)}else{if(!r)if(e=Yr(i),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),yn(o,!0),o.tail===null&&o.tailMode==="hidden"&&!i.alternate&&!U)return ne(t),null}else 2*Q()-o.renderingStartTime>ln&&n!==1073741824&&(t.flags|=128,r=!0,yn(o,!1),t.lanes=4194304);o.isBackwards?(i.sibling=t.child,t.child=i):(n=o.last,n!==null?n.sibling=i:t.child=i,o.last=i)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Q(),t.sibling=null,n=$.current,M($,r?n&1|2:n&1),t):(ne(t),null);case 22:case 23:return Ti(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?he&1073741824&&(ne(t),t.subtreeFlags&6&&(t.flags|=8192)):ne(t),null;case 24:return null;case 25:return null}throw Error(y(156,t.tag))}function vd(e,t){switch(ai(t),t.tag){case 1:return pe(t.type)&&Ar(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return nn(),F(de),F(le),gi(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return yi(t),null;case 13:if(F($),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(y(340));en()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return F($),null;case 4:return nn(),null;case 10:return pi(t.type._context),null;case 22:case 23:return Ti(),null;case 24:return null;default:return null}}var vr=!1,re=!1,yd=typeof WeakSet=="function"?WeakSet:Set,x=null;function Ht(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){V(e,t,r)}else n.current=null}function Ro(e,t,n){try{n()}catch(r){V(e,t,r)}}var Mu=!1;function gd(e,t){if(vo=Ir,e=Ys(),ui(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 l=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var i=0,u=-1,s=-1,c=0,h=0,m=e,p=null;t:for(;;){for(var w;m!==n||l!==0&&m.nodeType!==3||(u=i+l),m!==o||r!==0&&m.nodeType!==3||(s=i+r),m.nodeType===3&&(i+=m.nodeValue.length),(w=m.firstChild)!==null;)p=m,m=w;for(;;){if(m===e)break t;if(p===n&&++c===l&&(u=i),p===o&&++h===r&&(s=i),(w=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=w}n=u===-1||s===-1?null:{start:u,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(yo={focusedElem:e,selectionRange:n},Ir=!1,x=t;x!==null;)if(t=x,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,x=e;else for(;x!==null;){t=x;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var k=g.memoizedProps,R=g.memoizedState,f=t.stateNode,a=f.getSnapshotBeforeUpdate(t.elementType===t.type?k:Te(t.type,k),R);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(v){V(t,t.return,v)}if(e=t.sibling,e!==null){e.return=t.return,x=e;break}x=t.return}return g=Mu,Mu=!1,g}function Tn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var o=l.destroy;l.destroy=void 0,o!==void 0&&Ro(t,n,o)}l=l.next}while(l!==r)}}function cl(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 Do(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 Ba(e){var t=e.alternate;t!==null&&(e.alternate=null,Ba(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Fe],delete t[Vn],delete t[ko],delete t[ed],delete t[td])),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 Ha(e){return e.tag===5||e.tag===3||e.tag===4}function Iu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ha(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 Mo(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=$r));else if(r!==4&&(e=e.child,e!==null))for(Mo(e,t,n),e=e.sibling;e!==null;)Mo(e,t,n),e=e.sibling}function Io(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(Io(e,t,n),e=e.sibling;e!==null;)Io(e,t,n),e=e.sibling}var q=null,je=!1;function Je(e,t,n){for(n=n.child;n!==null;)Qa(e,t,n),n=n.sibling}function Qa(e,t,n){if(Ue&&typeof Ue.onCommitFiberUnmount=="function")try{Ue.onCommitFiberUnmount(nl,n)}catch{}switch(n.tag){case 5:re||Ht(n,t);case 6:var r=q,l=je;q=null,Je(e,t,n),q=r,je=l,q!==null&&(je?(e=q,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):q.removeChild(n.stateNode));break;case 18:q!==null&&(je?(e=q,n=n.stateNode,e.nodeType===8?Il(e.parentNode,n):e.nodeType===1&&Il(e,n),Fn(e)):Il(q,n.stateNode));break;case 4:r=q,l=je,q=n.stateNode.containerInfo,je=!0,Je(e,t,n),q=r,je=l;break;case 0:case 11:case 14:case 15:if(!re&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var o=l,i=o.destroy;o=o.tag,i!==void 0&&(o&2||o&4)&&Ro(n,t,i),l=l.next}while(l!==r)}Je(e,t,n);break;case 1:if(!re&&(Ht(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){V(n,t,u)}Je(e,t,n);break;case 21:Je(e,t,n);break;case 22:n.mode&1?(re=(r=re)||n.memoizedState!==null,Je(e,t,n),re=r):Je(e,t,n);break;default:Je(e,t,n)}}function Fu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new yd),t.forEach(function(r){var l=zd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Pe(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=i),r&=~o}if(r=l,r=Q()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*kd(r/1960))-r,10e?16:e,rt===null)var r=!1;else{if(e=rt,rt=null,qr=0,O&6)throw Error(y(331));var l=O;for(O|=4,x=e.current;x!==null;){var o=x,i=o.child;if(x.flags&16){var u=o.deletions;if(u!==null){for(var s=0;sQ()-zi?Ct(e,0):Ni|=n),me(e,t)}function ba(e,t){t===0&&(e.mode&1?(t=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):t=1);var n=ue();e=Ge(e,t),e!==null&&(Zn(e,t,n),me(e,n))}function Nd(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ba(e,n)}function zd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(t),ba(e,n)}var ec;ec=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||de.current)fe=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return fe=!1,md(e,t,n);fe=!!(e.flags&131072)}else fe=!1,U&&t.flags&1048576&&la(t,Br,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;zr(e,t),e=t.pendingProps;var l=bt(t,le.current);Zt(t,n),l=ki(null,t,r,e,l,n);var o=Si();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,pe(r)?(o=!0,Wr(t)):o=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,hi(t),l.updater=al,t.stateNode=l,l._reactInternals=t,No(t,r,e,n),t=To(null,t,r,!0,o,n)):(t.tag=0,U&&o&&si(t),ie(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(zr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Td(r),e=Te(r,e),l){case 0:t=Po(null,t,r,e,n);break e;case 1:t=Ou(null,t,r,e,n);break e;case 11:t=ju(null,t,r,e,n);break e;case 14:t=Lu(null,t,r,Te(r.type,e),n);break e}throw Error(y(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Te(r,l),Po(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Te(r,l),Ou(e,t,r,l,n);case 3:e:{if(Fa(t),e===null)throw Error(y(387));r=t.pendingProps,o=t.memoizedState,l=o.element,ca(e,t),Kr(t,r,null,n);var i=t.memoizedState;if(r=i.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){l=rn(Error(y(423)),t),t=Ru(e,t,r,n,l);break e}else if(r!==l){l=rn(Error(y(424)),t),t=Ru(e,t,r,n,l);break e}else for(ve=ut(t.stateNode.containerInfo.firstChild),ye=t,U=!0,Le=null,n=sa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(en(),r===l){t=Xe(e,t,n);break e}ie(e,t,r,n)}t=t.child}return t;case 5:return fa(t),e===null&&Eo(t),r=t.type,l=t.pendingProps,o=e!==null?e.memoizedProps:null,i=l.children,go(r,l)?i=null:o!==null&&go(r,o)&&(t.flags|=32),Ia(e,t),ie(e,t,i,n),t.child;case 6:return e===null&&Eo(t),null;case 13:return Ua(e,t,n);case 4:return vi(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=tn(t,null,r,n):ie(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Te(r,l),ju(e,t,r,l,n);case 7:return ie(e,t,t.pendingProps,n),t.child;case 8:return ie(e,t,t.pendingProps.children,n),t.child;case 12:return ie(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,o=t.memoizedProps,i=l.value,M(Hr,r._currentValue),r._currentValue=i,o!==null)if(De(o.value,i)){if(o.children===l.children&&!de.current){t=Xe(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var u=o.dependencies;if(u!==null){i=o.child;for(var s=u.firstContext;s!==null;){if(s.context===r){if(o.tag===1){s=Qe(-1,n&-n),s.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var h=c.pending;h===null?s.next=s:(s.next=h.next,h.next=s),c.pending=s}}o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),Co(o.return,n,t),u.lanes|=n;break}s=s.next}}else if(o.tag===10)i=o.type===t.type?null:o.child;else if(o.tag===18){if(i=o.return,i===null)throw Error(y(341));i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),Co(i,n,t),i=o.sibling}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===t){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}ie(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Zt(t,n),l=_e(l),r=r(l),t.flags|=1,ie(e,t,r,n),t.child;case 14:return r=t.type,l=Te(r,t.pendingProps),l=Te(r.type,l),Lu(e,t,r,l,n);case 15:return Da(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Te(r,l),zr(e,t),t.tag=1,pe(r)?(e=!0,Wr(t)):e=!1,Zt(t,n),La(t,r,l),No(t,r,l,n),To(null,t,r,!0,e,n);case 19:return $a(e,t,n);case 22:return Ma(e,t,n)}throw Error(y(156,t.tag))};function tc(e,t){return Ps(e,t)}function Pd(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 Ee(e,t,n,r){return new Pd(e,t,n,r)}function Li(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Td(e){if(typeof e=="function")return Li(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Zo)return 11;if(e===Jo)return 14}return 2}function ft(e,t){var n=e.alternate;return n===null?(n=Ee(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 jr(e,t,n,r,l,o){var i=2;if(r=e,typeof e=="function")Li(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case Mt:return _t(n.children,l,o,t);case Xo:i=8,l|=8;break;case Xl:return e=Ee(12,n,t,l|2),e.elementType=Xl,e.lanes=o,e;case Zl:return e=Ee(13,n,t,l),e.elementType=Zl,e.lanes=o,e;case Jl:return e=Ee(19,n,t,l),e.elementType=Jl,e.lanes=o,e;case fs:return dl(n,l,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case as:i=10;break e;case cs:i=9;break e;case Zo:i=11;break e;case Jo:i=14;break e;case qe:i=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return t=Ee(i,n,t,l),t.elementType=e,t.type=r,t.lanes=o,t}function _t(e,t,n,r){return e=Ee(7,e,r,t),e.lanes=n,e}function dl(e,t,n,r){return e=Ee(22,e,r,t),e.elementType=fs,e.lanes=n,e.stateNode={isHidden:!1},e}function Hl(e,t,n){return e=Ee(6,e,null,t),e.lanes=n,e}function Ql(e,t,n){return t=Ee(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function jd(e,t,n,r,l){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=_l(0),this.expirationTimes=_l(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_l(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Oi(e,t,n,r,l,o,i,u,s){return e=new jd(e,t,n,u,s),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Ee(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},hi(o),e}function Ld(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(oc)}catch(e){console.error(e)}}oc(),os.exports=we;var Id=os.exports,Qu=Id;Yl.createRoot=Qu.createRoot,Yl.hydrateRoot=Qu.hydrateRoot;function Fd({form:e,typeOptions:t,licenseOptions:n,updateField:r,updateAuthorField:l,addAuthor:o,removeAuthor:i}){return S.jsxs("form",{className:"form-grid",onSubmit:u=>u.preventDefault(),children:[S.jsxs("label",{className:"full-width",children:[S.jsx("span",{children:"Title"}),S.jsx("input",{name:"title",value:e.title,onChange:r,placeholder:"Project title"})]}),S.jsxs("label",{className:"full-width",children:[S.jsx("span",{children:"Authors"}),S.jsx("div",{className:"authors-list",children:e.authors.map((u,s)=>S.jsxs("div",{className:"author-row",children:[S.jsx("input",{value:u.givenNames,onChange:c=>l(s,"givenNames",c.target.value),placeholder:"Given names"}),S.jsx("input",{value:u.familyNames,onChange:c=>l(s,"familyNames",c.target.value),placeholder:"Family names"}),S.jsx("input",{value:u.orcid,onChange:c=>l(s,"orcid",c.target.value),placeholder:"ORCID (optional)"}),S.jsx("input",{value:u.affiliation,onChange:c=>l(s,"affiliation",c.target.value),placeholder:"Affiliation (optional)"}),S.jsx("button",{type:"button",className:"secondary",onClick:()=>i(s),children:"Remove author"})]},u.id??`author-${s}`))}),S.jsx("button",{type:"button",className:"secondary",onClick:o,children:"Add author"})]}),S.jsxs("label",{children:[S.jsx("span",{children:"License"}),S.jsxs("select",{name:"license",value:e.license,onChange:r,children:[S.jsx("option",{value:"",children:"Select license (SPDX code)"}),n.map(u=>S.jsx("option",{value:u,children:u},u))]})]}),S.jsxs("label",{children:[S.jsx("span",{children:"Keywords"}),S.jsx("input",{name:"keywords",value:e.keywords,onChange:r,placeholder:"open science, metadata, citation"})]}),S.jsxs("label",{children:[S.jsx("span",{children:"Type of work"}),S.jsx("select",{name:"typeOfWork",value:e.typeOfWork,onChange:r,children:t.map(u=>S.jsx("option",{value:u.value,children:u.label},u.value))})]}),e.typeOfWork==="other"&&S.jsxs("label",{children:[S.jsx("span",{children:"Specify type of work"}),S.jsx("input",{name:"customTypeOfWork",value:e.customTypeOfWork,onChange:r,placeholder:"e.g., protocol, poster, thesis"})]}),S.jsxs("label",{children:[S.jsx("span",{children:"Version"}),S.jsx("input",{name:"version",value:e.version,onChange:r,placeholder:"1.0.0"})]}),S.jsxs("label",{children:[S.jsx("span",{children:"Publication date"}),S.jsx("input",{name:"publicationDate",value:e.publicationDate,onChange:r,placeholder:"YYYY-MM-DD"})]}),S.jsxs("label",{children:[S.jsx("span",{children:"Repository URL"}),S.jsx("input",{name:"repositoryCode",value:e.repositoryCode,onChange:r,placeholder:"https://github.com/user/repo"})]}),S.jsxs("label",{children:[S.jsx("span",{children:"DOI (version-agnostic, from Zenodo)"}),S.jsx("input",{name:"doi",value:e.doi,onChange:r,placeholder:"10.0000/zenodo.example.doi"})]}),S.jsxs("label",{className:"full-width",children:[S.jsx("span",{children:"Abstract"}),S.jsx("textarea",{name:"abstract",value:e.abstract,onChange:r,rows:"6",placeholder:"Short description of the work"})]}),S.jsxs("label",{className:"full-width",children:[S.jsx("span",{children:"References"}),S.jsx("textarea",{name:"references",value:e.references,onChange:r,rows:"4",placeholder:"One citation per line"}),S.jsx("small",{children:"One reference per line. Plain text citation format."})]}),S.jsxs("label",{className:"full-width",children:[S.jsx("span",{children:"Grants"}),S.jsx("textarea",{name:"grants",value:e.grants,onChange:r,rows:"3",placeholder:"One grant ID per line"}),S.jsx("small",{children:"Format: :: (e.g., 021nxhr62::2118240)"})]})]})}function Ud(e){const t=String(e??"").trim();return t?t.startsWith("http://")||t.startsWith("https://")?t:`https://orcid.org/${t}`:""}function $d(e){return String(e??"").replace(/^https?:\/\/(www\.)?orcid\.org\//,"").trim()}function Ad(e){return Array.isArray(e)?e.map(t=>({givenNames:String((t==null?void 0:t.givenNames)??""),familyNames:String((t==null?void 0:t.familyNames)??""),orcid:String((t==null?void 0:t.orcid)??""),affiliation:String((t==null?void 0:t.affiliation)??"")})):[]}function Wd(e){return Ad(e).filter(t=>t.givenNames||t.familyNames).map(t=>{const n=t.givenNames,r=t.familyNames,l=t.orcid,o=t.affiliation,i=n&&r?`${r}, ${n}`:r||n;return{givenNames:n,familyNames:r,citationAuthor:{"given-names":n,"family-names":r,orcid:l},zenodoName:i,zenodoOrcid:$d(l),zenodoAffiliation:o}})}function Vd(e){return String(e??"").split(` -`).map(t=>t.trim()).filter(Boolean)}function Bd(e){return[...new Set(String(e??"").split(",").map(t=>t.trim().toLowerCase()).filter(Boolean))]}function Hd(e){return String(e??"").split(` -`).map(t=>t.trim()).filter(Boolean)}const Qd={software:"software",article:"publication",dataset:"dataset",other:"other"};function ic(e){const t=Wd(e.authors??[]),n=Bd(e.keywords??""),r=Hd(e.references??""),l=Vd(e.grants??""),o=e.typeOfWork;return{title:e.title??"",authors:t,keywords:n,license:e.license??"",typeOfWork:o,customTypeOfWork:e.customTypeOfWork??"",zenodoUploadType:Qd[o]??"other",version:e.version??"",publicationDate:e.publicationDate??"",repositoryCode:e.repositoryCode??"",doi:e.doi??"",abstract:e.abstract??"",references:r,grants:l}}function oe(e){return String(e??"").replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function Kd(e){return String(e??"").split(` -`).map(t=>` ${t}`).join(` -`)}function Yd(e){const t=e.typeOfWork||"software",n=e.repositoryCode||"https://github.com/Imageomics/repository",r=e.version||"v0.0.0",l=`${n}/releases/tag/${r}`,o=`${n}/tree/${r}`,i=e.authors.map(h=>{const m=[`- family-names: "${oe(h.citationAuthor["family-names"])}"`,` given-names: "${oe(h.citationAuthor["given-names"])}"`];return h.citationAuthor.orcid&&m.push(` orcid: "${oe(h.citationAuthor.orcid)}"`),m.join(` -`)}),s=(e.keywords.includes("imageomics")?e.keywords:["imageomics",...e.keywords]).map(h=>` - "${oe(h)}"`),c=e.abstract||"No abstract provided.";return["abstract: >-",Kd(c),"authors:",...i.length?i:['- family-names: "Unknown"',' given-names: "Author"',' orcid: "https://orcid.org/0000-0000-0000-0000"'],"cff-version: 1.2.0",`date-released: "${oe(e.publicationDate||"YYYY-MM-DD")}"`,"identifiers:",` - description: "The GitHub release URL of tag ${oe(r)}."`," type: url",` value: "${oe(l)}"`,` - description: "The GitHub URL of the commit tagged with ${oe(r)}."`," type: url",` value: "${oe(o)}"`,"keywords:",...s,`license: "${oe(e.license)}"`,'message: "If you find this software helpful in your research, please cite both the software and our paper."',`repository-code: "${oe(n)}"`,`title: "${oe(e.title)}"`,`version: "${oe(e.version)}"`,...e.doi?[`doi: "${oe(e.doi)}"`]:[],`type: ${oe(t)}`,""].join(` -`)}function Gd(e){const t=e.keywords.includes("imageomics")?e.keywords:["imageomics",...e.keywords],n=e.authors.length?e.authors.map(r=>({name:r.zenodoName,orcid:r.zenodoOrcid||"",affiliation:r.zenodoAffiliation||""})):[{name:"family-names, given-names",orcid:"",affiliation:""}];return JSON.stringify({creators:n,upload_type:e.zenodoUploadType,description:e.abstract,keywords:t,title:e.title,version:e.version,license:e.license,publication_date:e.publicationDate,grants:e.grants.map(r=>({id:r})),references:e.references},null,2)}function Xd(e){const t=n=>String(n??"").replace(/[ \t]+/g," ").trim();return{...e,title:t(e.title),authors:Array.isArray(e.authors)?e.authors.map(n=>({givenNames:t(n.givenNames),familyNames:t(n.familyNames),orcid:Ud(t(n.orcid)),affiliation:t(n.affiliation)})):[],license:t(e.license),keywords:t(e.keywords),customTypeOfWork:t(e.customTypeOfWork),abstract:t(e.abstract),version:t(e.version),publicationDate:t(e.publicationDate),repositoryCode:t(e.repositoryCode),doi:t(e.doi),references:String(e.references??"").trim(),grants:String(e.grants??"").trim()}}function Ku(e,t){const n=ic(e),r={},l=/^[A-Za-z0-9.-]+::[A-Za-z0-9.-]+$/;e.title||(r.title="Title is required"),n.authors.length===0&&(r.authors="At least one author is required"),e.license||(r.license="License is required"),t.some(i=>i.value===e.typeOfWork)||(r.typeOfWork="Type of work is invalid");const o=String(e.grants??"").split(` -`);for(let i=0;i::`;break}}return r}function Zd(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`author-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function Wo(){return{id:Zd(),givenNames:"",familyNames:"",orcid:"",affiliation:""}}const Jd={title:"",authors:[Wo()],license:"",keywords:"",typeOfWork:"software",customTypeOfWork:"",version:"",publicationDate:"",repositoryCode:"",doi:"",abstract:"",references:"",grants:""},Kl=[{value:"article",label:"Article"},{value:"dataset",label:"Dataset"},{value:"software",label:"Software"},{value:"other",label:"Other"}],qd=["MIT","CC0-1.0","CC-BY-4.0","Apache-2.0","BSD-3-Clause","GPL-3.0-only"];function Yu(e,t,n){const r=new Blob([t],{type:n}),l=URL.createObjectURL(r),o=document.createElement("a");o.href=l,o.download=e,o.click(),setTimeout(()=>URL.revokeObjectURL(l),0)}function bd(){const[e,t]=We.useState(Jd),[n,r]=We.useState("citation"),l=We.useMemo(()=>Xd(e),[e]),o=We.useMemo(()=>ic(l),[l]),i=We.useMemo(()=>Yd(o),[o]),u=We.useMemo(()=>Gd(o),[o]);function s(g){const{name:k,value:R}=g.target;t(f=>({...f,[k]:R}))}function c(g,k,R){t(f=>({...f,authors:f.authors.map((a,d)=>d===g?{...a,[k]:R}:a)}))}function h(){t(g=>({...g,authors:[...g.authors,Wo()]}))}function m(g){t(k=>({...k,authors:k.authors.length>1?k.authors.filter((R,f)=>f!==g):[Wo()]}))}function p(){const g=Ku(l,Kl);if(Object.keys(g).length>0){alert(Object.values(g).join(` -`));return}Yu("CITATION.cff",i,"text/yaml;charset=utf-8")}function w(){const g=Ku(l,Kl);if(Object.keys(g).length>0){alert(Object.values(g).join(` -`));return}Yu(".zenodo.json",u,"application/json;charset=utf-8")}return S.jsx("main",{className:"app-shell",children:S.jsxs("section",{className:"card",children:[S.jsxs("div",{className:"hero",children:[S.jsx("p",{className:"eyebrow",children:"OpenCite"}),S.jsx("h1",{children:"Generate citation metadata from one clean form."}),S.jsxs("p",{className:"lede",children:["Fill in the metadata once, then download both ",S.jsx("strong",{children:"CITATION.cff"})," and",S.jsx("strong",{children:".zenodo.json"}),"."]})]}),S.jsx(Fd,{form:e,typeOptions:Kl,licenseOptions:qd,updateField:s,updateAuthorField:c,addAuthor:h,removeAuthor:m}),S.jsxs("div",{className:"actions",children:[S.jsx("button",{type:"button",onClick:p,children:"Generate CITATION.cff"}),S.jsx("button",{type:"button",className:"secondary",onClick:w,children:"Generate .zenodo.json"})]}),S.jsx("div",{className:"preview",children:S.jsxs("div",{children:[S.jsx("h2",{children:"Preview"}),S.jsxs("div",{className:"actions",children:[S.jsx("button",{type:"button",className:n==="citation"?"":"secondary",onClick:()=>r("citation"),children:"CITATION.cff"}),S.jsx("button",{type:"button",className:n==="zenodo"?"":"secondary",onClick:()=>r("zenodo"),children:".zenodo.json"})]}),S.jsx("pre",{children:n==="citation"?i:u})]})})]})})}Yl.createRoot(document.getElementById("root")).render(S.jsx(Cc.StrictMode,{children:S.jsx(bd,{})})); diff --git a/assets/index-DQprbZaI.css b/assets/index-DQprbZaI.css new file mode 100644 index 0000000..73992e5 --- /dev/null +++ b/assets/index-DQprbZaI.css @@ -0,0 +1 @@ +:root{--teal-9:#245963;--teal-10:#16414a;--lime-9:#7eac55;--lime-10:#9fce78;--app-bg-1:#0f172a;--app-bg-2:#111827;--text-primary:#e8edf2;--text-secondary:#cbd5e1;--surface-card:#0f172ab8;--surface-input:#0f172ae6;--surface-muted:#0206178f;--surface-panel:#02061747;--surface-panel-soft:#02061738;--border-soft:#94a3b838;--border-strong:#94a3b859;--border-faint:#94a3b829;--on-primary:#fafdfe;--focus-ring:#8bbbc559;--secondary-button-bg:#24596329;--secondary-button-text:#e7f4f7;--secondary-button-border:var(--teal-9);--secondary-button-hover:var(--teal-10);--link-color:#aaced6;--link-color-hover:#bedbe2;--selection-bg:#567c33;--hero-glow-teal:#24596359;--hero-glow-lime:#7eac552e;--status-success-text:#bbf7d0;--status-success-bg:#16653447;--status-success-bg-subtle:#16653424;--status-success-border:#86efac73;--status-warning-text:#fde68a;--status-warning-bg:#713f1252;--status-warning-bg-subtle:#713f1229;--status-warning-border:#fbbf2452;--status-error-text:#fecaca;--status-error-bg:#7f1d1d4d;--status-error-bg-subtle:#7f1d1d1f;--status-error-border:#f8717159;--status-info-text:#bfdbfe;--status-info-bg:#1e40af38;--status-info-bg-subtle:#1e40af1f;--status-info-border:#93c5fd52;--accent-text-strong:#8bbbc5;--accent-text-emphasis:#9fce78;color:var(--text-primary);background:radial-gradient(circle at top right, var(--hero-glow-teal), transparent 38%), radial-gradient(circle at top left, var(--hero-glow-lime), transparent 42%), linear-gradient(180deg, var(--app-bg-1) 0%, var(--app-bg-2) 100%);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}:root[data-theme=light]{--app-bg-1:#f4f7f6;--app-bg-2:#eaf1e6;--text-primary:#16202b;--text-secondary:#47566b;--surface-card:#ffffffdb;--surface-input:#fff;--surface-muted:#e9f0eceb;--surface-panel:#fff9;--surface-panel-soft:#ffffff73;--border-soft:#2459632e;--border-strong:#24596361;--border-faint:#2459631f;--focus-ring:#24596340;--secondary-button-bg:#24596314;--secondary-button-text:#16414a;--link-color:#16414a;--link-color-hover:#245963;--selection-bg:#cfe7b5;--hero-glow-teal:#2459632e;--hero-glow-lime:#7eac5538;--accent-text-strong:#16414a;--accent-text-emphasis:#4f7a2e;--status-success-text:#1f5c2e;--status-success-bg:#e3f5e0;--status-success-bg-subtle:#eef8ec;--status-success-border:#1f5c2e59;--status-warning-text:#7a5210;--status-warning-bg:#fbf0d9;--status-warning-bg-subtle:#fdf6e8;--status-warning-border:#7a521052;--status-error-text:#8a2c2c;--status-error-bg:#fbe7e7;--status-error-bg-subtle:#fdf2f2;--status-error-border:#8a2c2c52;--status-info-text:#1d4c8a;--status-info-bg:#e6eefb;--status-info-bg-subtle:#f0f5fc;--status-info-border:#1d4c8a4d}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}button,input,select,textarea{font:inherit}button{background:var(--teal-9);color:var(--on-primary);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.9rem 1.25rem;transition:background-color .12s,border-color .12s,color .12s}button:hover{background:var(--teal-10)}button.secondary{background:var(--secondary-button-bg);color:var(--secondary-button-text);border-color:var(--secondary-button-border)}button.secondary:hover{background:var(--secondary-button-hover);color:var(--on-primary)}button.loading-button{align-items:center;gap:.65rem;display:inline-flex}.button-spinner{border:2px solid #0f172a2e;border-top-color:currentColor;border-radius:999px;flex:none;width:.95rem;height:.95rem;animation:.8s linear infinite spin}.app-shell{place-items:center;min-height:100vh;padding:32px;display:grid}.card{background:var(--surface-card);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:28px;width:min(920px,100%);padding:32px;box-shadow:0 24px 80px #02061761}.hero{border:1px solid var(--border-soft);background:radial-gradient(circle at 85% 12%, var(--hero-glow-teal), transparent 40%), linear-gradient(180deg, var(--surface-card), var(--surface-muted));border-radius:20px;margin-bottom:24px;padding:22px}.hero-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.theme-toggle{padding:.45rem .9rem;font-size:.85rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-tabs{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.pipeline-card{border:1px solid var(--border-soft);background:var(--surface-panel-soft);border-radius:18px;margin-bottom:20px;padding:16px}.pipeline-card h2{margin:0 0 10px;font-size:1.05rem}.pipeline-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pipeline-step{color:var(--text-secondary);align-items:center;gap:10px;display:flex}.step-badge{border:1px solid var(--border-strong);border-radius:999px;flex:none;place-items:center;width:1.55rem;height:1.55rem;font-size:.84rem;display:grid}.pipeline-step-complete{color:var(--accent-text-strong);font-weight:600}.pipeline-step-complete .step-badge{background:var(--teal-9);color:var(--on-primary);border-color:var(--teal-9)}.pipeline-step-current{color:var(--accent-text-emphasis);font-weight:700}.pipeline-step-current .step-badge{background:var(--teal-9);color:var(--on-primary);border:2px solid var(--lime-9)}.pipeline-step-upcoming{color:var(--text-secondary)}.tab-active{background:var(--teal-9);color:var(--on-primary);border:1px solid var(--teal-9)}.export-notice{border:1px solid #0000;border-radius:18px;margin-bottom:20px;padding:16px 18px;box-shadow:0 12px 40px #0206172e}.export-notice strong{margin-bottom:8px;display:block}.export-notice ul{margin:0;padding-left:18px}.export-notice-warning{background:var(--status-warning-bg);border-color:var(--status-warning-border)}.export-notice-info{background:var(--status-info-bg);border-color:var(--status-info-border)}.import-panel{background:var(--surface-panel);border:1px solid var(--border-faint);border-radius:22px;margin-bottom:20px;padding:20px}.import-feedback{gap:12px;margin-top:14px;display:grid}.feedback-block{border-radius:16px;padding:14px 16px}.feedback-block strong{margin-bottom:8px;display:block}.feedback-block ul{margin:0;padding-left:18px}.feedback-error{background:var(--status-error-bg);border:1px solid var(--status-error-border)}.feedback-warning{background:var(--status-warning-bg);border:1px solid var(--status-warning-border)}.feedback-review{background:var(--status-info-bg);border:1px solid var(--status-info-border)}.feedback-health{background:var(--status-success-bg);border:1px solid var(--status-success-border)}.feedback-comparison{background:var(--surface-muted);border:1px solid var(--border-strong)}.feedback-summary{background:var(--status-info-bg);border:1px solid var(--status-info-border)}.comparison-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.comparison-item{border:1px solid var(--border-soft);background:var(--surface-panel);border-radius:12px;padding:10px 12px}.comparison-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.comparison-status{letter-spacing:.03em;border:1px solid var(--border-strong);color:var(--text-primary);border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.comparison-status-identical{border-color:var(--status-success-border);background:var(--status-success-bg);color:var(--status-success-text)}.comparison-status-different,.comparison-status-missing{border-color:var(--status-warning-border);background:var(--status-warning-bg);color:var(--status-warning-text)}.comparison-status-cannot-determine{border-color:var(--status-info-border);background:var(--status-info-bg);color:var(--status-info-text)}.comparison-item p{color:var(--text-secondary);margin:4px 0;font-size:.9rem}.comparison-item p span{color:var(--text-primary);font-weight:700}.health-group{border-top:1px solid var(--border-soft);margin-top:12px;padding-top:10px}.health-group h3{color:var(--text-primary);margin:0 0 8px;font-size:.95rem}.health-group ul{margin:0;padding-left:18px}.health-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.health-item{border:1px solid var(--border-soft);background:var(--surface-panel);border-radius:12px;padding:10px 12px}.health-item-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.health-badge{letter-spacing:.03em;border:1px solid var(--border-strong);min-width:70px;color:var(--text-primary);border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.health-badge-pass{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.health-badge-warning{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}.health-badge-error{background:var(--status-error-bg);border-color:var(--status-error-border);color:var(--status-error-text)}.health-item-description,.health-item-recommendation{color:var(--text-secondary);margin:0;font-size:.92rem}.health-item-recommendation{margin-top:6px}.health-item-recommendation span{color:var(--text-primary);font-weight:700}.review-summary{color:var(--text-secondary);margin:0 0 8px;font-size:.92rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--accent-text-emphasis);margin:0 0 8px;font-size:.75rem;font-weight:700}h1,h2,p{margin-top:0}h1{margin-bottom:12px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.lede{max-width:62ch;color:var(--text-secondary);margin:0}.learn-more-panel{background:var(--surface-panel-soft);border:1px solid var(--border-faint);border-radius:20px;margin-bottom:20px;padding:18px 20px}.learn-more-panel h2{margin:0 0 6px;font-size:1.15rem}.learn-more-panel p{color:var(--text-secondary);margin:0 0 10px}.learn-more-panel ul{gap:6px;margin:0;padding-left:18px;display:grid}.learn-more-panel a{color:var(--link-color)}.learn-more-panel a:hover,.learn-more-panel a:focus-visible{color:var(--link-color-hover)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-section{border:1px solid var(--border-soft);background:var(--surface-panel-soft);border-radius:18px;gap:14px;padding:16px;display:grid}.section-header h3{color:var(--text-primary);margin:2px 0 0;font-size:1.02rem}.section-step{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text-emphasis);margin:0;font-size:.78rem;font-weight:700}.section-lede{color:var(--text-secondary);margin:6px 0 0;font-size:.9rem}.section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.required-note{color:var(--text-secondary);margin:0;font-size:.85rem}label{gap:8px;display:grid}label span{color:var(--text-secondary);font-size:.92rem}label.field-error{border:1px solid var(--status-error-border);background:var(--status-error-bg-subtle);border-radius:12px;padding:8px 10px}.field-error span{color:var(--status-error-text)}input,select,textarea{border:1px solid var(--border-strong);background:var(--surface-input);width:100%;color:var(--text-primary);border-radius:16px;padding:.95rem 1rem;transition:border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:var(--text-secondary)}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{border-color:var(--teal-9);box-shadow:0 0 0 3px var(--focus-ring);outline:2px solid #0000}select{background-color:var(--surface-input);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath fill='%23cbd5e1' d='M5.5 7.5L10 12l4.5-4.5 1.4 1.4L10 14.8 4.1 8.9z'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;background-size:.9rem;border-radius:10px;min-height:48px;padding-right:2.4rem;line-height:1.2}select option{background-color:var(--surface-input);color:var(--text-primary)}select::-ms-expand{display:none}.compact-import{margin-bottom:22px}.import-note{color:var(--text-secondary);margin:10px 0 0;font-size:.9rem}.input-error{border-color:var(--status-error-border);box-shadow:0 0 0 1px var(--status-error-border)}.error-text{color:var(--status-error-text);font-size:.82rem}textarea{resize:vertical;min-height:140px}.full-width{grid-column:1/-1}.authors-list{gap:12px;display:grid}.authors-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.authors-toolbar small{color:var(--text-secondary)}.author-row{border:1px solid var(--border-soft);background:var(--surface-panel-soft);border-radius:14px;gap:8px;padding:12px;display:grid}.author-row-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.author-actions{flex-wrap:wrap;gap:8px;display:flex}.orcid-tools,.orcid-suggestions{gap:8px;display:grid}.orcid-suggestion{text-align:left;border-radius:16px}.author-actions button{justify-self:start}.icon-button{min-width:44px;padding-left:.9rem;padding-right:.9rem}.actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.filename-note{color:var(--text-secondary);margin:10px 0 0;font-size:.9rem}.filename-note strong{color:var(--text-primary)}.grant-suggestions{flex-wrap:wrap;gap:8px;display:flex}.grant-reference-list{color:var(--text-secondary);gap:4px;margin:0;padding-left:18px;display:grid}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.button-spinner{animation:none}}.preview{gap:16px;margin-top:28px;display:grid}.preview .actions{margin-top:12px;margin-bottom:12px}pre{white-space:pre-wrap;word-break:break-word;background:var(--surface-muted);border:1px solid var(--border-soft);color:var(--text-primary);border-radius:20px;margin:0;padding:20px;overflow:auto}.app-footer{border-top:1px solid var(--border-soft);gap:8px;margin-top:28px;padding-top:18px;display:grid}.app-footer h3{margin:0}.app-footer p{color:var(--text-secondary);margin:0;font-size:.92rem}.app-footer a{color:var(--link-color);font-weight:600;text-decoration-color:#aaced659}.app-footer a:hover{color:var(--link-color-hover);-webkit-text-decoration-color:var(--link-color-hover);text-decoration-color:var(--link-color-hover)}::selection{background:var(--selection-bg);color:var(--text-primary)}@media (width<=720px){.app-shell{padding:16px}.card{border-radius:22px;padding:20px}.form-grid,.section-grid{grid-template-columns:1fr}} diff --git a/index.html b/index.html index 51179cc..f2b0a09 100644 --- a/index.html +++ b/index.html @@ -4,8 +4,8 @@ OpenCite - - + +