git-truck 0.0.0-9ac4b13 → 0.0.0-a2e076e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +94 -96
  3. package/build/build/assets/RevisionSelect-63a449e9.js +1 -0
  4. package/build/build/assets/_index-a66953e3.js +1 -0
  5. package/build/build/assets/_repo._-d33925c8.js +26 -0
  6. package/build/build/assets/commits-4ed993c7.js +1 -0
  7. package/build/build/assets/components-eab0844a.js +111 -0
  8. package/build/build/assets/entry.client-62c2d95e.js +56 -0
  9. package/build/build/assets/index-927578d0.js +24 -0
  10. package/build/build/assets/progress-4ed993c7.js +1 -0
  11. package/build/build/assets/root-5808dc06.css +1 -0
  12. package/build/build/assets/root-92240ff0.js +10 -0
  13. package/build/build/assets/util-5b787743.js +1 -0
  14. package/build/build/favicon.ico +0 -0
  15. package/build/build/manifest-87bdaca6.js +1 -0
  16. package/build/build/manifest.json +94 -0
  17. package/build/favicon.ico +0 -0
  18. package/build/index.js +8687 -1251
  19. package/cli.js +676 -801
  20. package/package.json +144 -133
  21. package/public/build/assets/RevisionSelect-63a449e9.js +1 -0
  22. package/public/build/assets/_index-a66953e3.js +1 -0
  23. package/public/build/assets/_repo._-d33925c8.js +26 -0
  24. package/public/build/assets/commit_icon-72465c41.png +0 -0
  25. package/public/build/assets/commits-4ed993c7.js +1 -0
  26. package/public/build/assets/components-eab0844a.js +111 -0
  27. package/public/build/assets/entry.client-62c2d95e.js +56 -0
  28. package/public/build/assets/index-927578d0.js +24 -0
  29. package/public/build/assets/progress-4ed993c7.js +1 -0
  30. package/public/build/assets/root-5808dc06.css +1 -0
  31. package/public/build/assets/root-92240ff0.js +10 -0
  32. package/public/build/assets/truck-ac0ca9ed.gif +0 -0
  33. package/public/build/assets/util-5b787743.js +1 -0
  34. package/public/build/favicon.ico +0 -0
  35. package/public/build/manifest-87bdaca6.js +1 -0
  36. package/public/build/manifest.json +94 -0
  37. package/build/metafile.js.json +0 -1
  38. package/build/metafile.server.json +0 -1
  39. package/build/version.txt +0 -1
  40. package/public/build/_assets/index-J6PD77UO.css +0 -1
  41. package/public/build/_assets/tailwind-ZNYP4XBM.css +0 -1
  42. package/public/build/_assets/truck-JLDVJULS.png +0 -0
  43. package/public/build/_assets/vars-4NGWF3MU.css +0 -1
  44. package/public/build/_shared/chunk-7ZRMUBOE.js +0 -1
  45. package/public/build/_shared/chunk-AL2GFMRM.js +0 -32
  46. package/public/build/_shared/chunk-MFUESDJJ.js +0 -1
  47. package/public/build/_shared/chunk-QKOGMPSY.js +0 -264
  48. package/public/build/entry.client-53JI5JAC.js +0 -1
  49. package/public/build/manifest-A074C4DF.js +0 -1
  50. package/public/build/root-KLFTCYMF.js +0 -1
  51. package/public/build/routes/$repo.$-DEUWK53A.js +0 -82
  52. package/public/build/routes/_index-62BORZC7.js +0 -1
  53. /package/{public/build/_assets/commit_icon-JEPGHU5X.png → build/build/assets/commit_icon-72465c41.png} +0 -0
  54. /package/{public/build/_assets/truck-7F5JWBYT.gif → build/build/assets/truck-ac0ca9ed.gif} +0 -0
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2022 git-truck
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2022 git-truck
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,96 +1,94 @@
1
- # Git Truck 🚛 ·
2
- [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/git-truck/git-truck/blob/main/LICENSE)
3
- [![Git Truck on NPM](https://img.shields.io/npm/v/git-truck)](https://www.npmjs.com/git-truck)
4
-
5
- ![Demo](demo.gif)
6
-
7
- Git-Truck provides you with a truckload of visualizations for your git repository, and helps you find out if your project has a good [truck factor](https://www.agileadvice.com/2005/05/15/agilemanagement/truck-factor/):
8
-
9
- | | |
10
- |-|-|
11
- | The files in your system where you have a single contributor (i.e., truck-factor = 1) | <img width="1912" alt="image" src="https://user-images.githubusercontent.com/464519/167393939-8d683732-4583-44fe-99a3-36c818761bcb.png"> |
12
- | You can see how the various developers contribute to your codebase | <img width="1913" alt="image" src="https://user-images.githubusercontent.com/464519/167394548-ca66665a-a699-44d7-8a97-bc7309c72f8a.png"> |
13
- | You can determine which parts of the system that are most often changed | <img width="1912" alt="image" src="https://user-images.githubusercontent.com/464519/167395118-6a4f50f4-5f37-4e0d-bcc8-144797b83e65.png"> |
14
-
15
-
16
- ### What makes Git Truck different?
17
-
18
- - Private by design
19
- - Works offline
20
- - Git provider agnostic - Works with any Git repository
21
- - No tracking, no ads, no data mining, no analytics, no cloud, no servers
22
-
23
-
24
- ## [Prerequisites](#prerequisites)
25
-
26
- To use Git Truck, you will need to have the following programs installed:
27
-
28
- - [Node.js](https://nodejs.org/en/) 16.13 or newer
29
- - npm 6.14 or newer
30
- - [git](https://git-scm.com/downloads) 2.29 or newer
31
-
32
- To check if these programs are installed, and what version you have, run `node --version`, `npm --version` and `git --version`. If any of these are not installed on your system, or are just very old, they can be installed from the links above. Note that `npm` is installed along with `node`.
33
-
34
- ## [Get started](#get-started)
35
-
36
- 1. Within a git repository, or a directory containing git repositories, run the command `npx -y git-truck`.
37
- 2. The application will now open in your default browser.
38
-
39
- **Git Truck is part of a research study, so please fill out our [short survey](https://forms.gle/9wCCAw6zae7wuwZQ6) after trying out the tool. Thanks!**
40
-
41
- ## [I got an error or I want to give feedback, what do i do?](#i-got-an-error-or-i-want-to-give-feedback-what-do-i-do)
42
-
43
- Please open an issue [here](https://github.com/git-truck/git-truck/issues) where you describe your problem. Please include git version, node version, npm version, operating system, and an image of the problem would be great too!
44
-
45
- If you have any suggestions about new features, or things that you think should be different, also feel free to open an issue.
46
-
47
- ## [Advanced use](#advanced-use)
48
-
49
- Run `npx git-truck` in the root of a git repository, that you want to visualize:
50
-
51
- ```sh
52
- npx git-truck [args]
53
- ```
54
-
55
- ### [Arguments](#arguments)
56
-
57
- | arg | description | default value |
58
- | :------------------: | :-------------------------------------------------------------------: | :----------------: |
59
- | `--path` | path to a folder or a git repository | current directory |
60
- | `--log` | output log level. See [here](./src/analyzer/log.server.ts) for values | - |
61
- | `--port` | port to use for the program | 3000 |
62
- | `--invalidate-cache` | bypass analyzer cache manually | - |
63
- | `--headless` | run the program without opening the browser | - |
64
-
65
- **Note:** Using `--invalidate-cache` will cause the analyzer to run every time the client talks to the server.
66
-
67
- ### [Configuration](#configuration)
68
-
69
- You can add a `truckconfig.json` file to the root of your project, where you can define the arguments you want.
70
- Additionally you can define which git-aliases should be considered as the same person using `unionedAuthors`. If provided, the first name in the array is used as the name of the person.
71
- You can also define files to ignore.
72
-
73
- **Example:**
74
-
75
- ```json
76
- {
77
- "log": "debug",
78
- "branch": "main",
79
- "unionedAuthors": [
80
- ["Bob", "Bobby Bob"],
81
- ["Alice", "aliiii", "alice alice"]
82
- ],
83
- "hiddenFiles": ["package-lock.json", "*.bin", "*.svg"],
84
- "invalidateCache": true
85
- }
86
- ```
87
-
88
- ### Very large repositories
89
-
90
- If the repository you intend to analyze is very large (300k+ commits), we recommend to increase the memory available to nodejs by setting the environment variable `NODE_OPTIONS` to `--max-old-space-size=4096` before starting Git Truck, otherwise analyzation might crash.
91
-
92
- If your repository has more than 1 million commits, it is unlikely that Git Truck can successfully analyze it, even with higher memory limit.
93
-
94
- ## Star History
95
-
96
- [![Star History Chart](https://api.star-history.com/svg?repos=git-truck/git-truck&type=Date)](https://star-history.com/#git-truck/git-truck&Date)
1
+ # Git Truck 🚛 &middot; [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/git-truck/git-truck/blob/main/LICENSE) [![Git Truck on NPM](https://img.shields.io/npm/v/git-truck)](https://www.npmjs.com/git-truck)
2
+
3
+ ![Demo](demo.gif)
4
+
5
+ Git-Truck provides you with a truckload of visualizations for your git repository, and helps you find out if your project has a good [truck factor](https://www.agileadvice.com/2005/05/15/agilemanagement/truck-factor/):
6
+
7
+ | | |
8
+ |-|-|
9
+ | The files in your system where you have a single contributor (i.e., truck-factor = 1) | <img width="1912" alt="image" src="https://user-images.githubusercontent.com/464519/167393939-8d683732-4583-44fe-99a3-36c818761bcb.png"> |
10
+ | You can see how the various developers contribute to your codebase | <img width="1913" alt="image" src="https://user-images.githubusercontent.com/464519/167394548-ca66665a-a699-44d7-8a97-bc7309c72f8a.png"> |
11
+ | You can determine which parts of the system that are most often changed | <img width="1912" alt="image" src="https://user-images.githubusercontent.com/464519/167395118-6a4f50f4-5f37-4e0d-bcc8-144797b83e65.png"> |
12
+
13
+
14
+ ### What makes Git Truck different?
15
+
16
+ - Private by design
17
+ - Works offline
18
+ - Git provider agnostic - Works with any Git repository
19
+ - No tracking, no ads, no data mining, no analytics, no cloud, no servers
20
+
21
+
22
+ ## [Prerequisites](#prerequisites)
23
+
24
+ To use Git Truck, you will need to have the following programs installed:
25
+
26
+ - [Node.js](https://nodejs.org/en/) 16.13 or newer
27
+ - npm 6.14 or newer
28
+ - [git](https://git-scm.com/downloads) 2.29 or newer
29
+
30
+ To check if these programs are installed, and what version you have, run `node --version`, `npm --version` and `git --version`. If any of these are not installed on your system, or are just very old, they can be installed from the links above. Note that `npm` is installed along with `node`.
31
+
32
+ ## [Get started](#get-started)
33
+
34
+ 1. Within a git repository, or a directory containing git repositories, run the command `npx -y git-truck`.
35
+ 2. The application will now open in your default browser.
36
+
37
+ **Git Truck is part of a research study, so please fill out our [short survey](https://forms.gle/9wCCAw6zae7wuwZQ6) after trying out the tool. Thanks!**
38
+
39
+ ## [I got an error or I want to give feedback, what do i do?](#i-got-an-error-or-i-want-to-give-feedback-what-do-i-do)
40
+
41
+ Please open an issue [here](https://github.com/git-truck/git-truck/issues) where you describe your problem. Please include git version, node version, npm version, operating system, and an image of the problem would be great too!
42
+
43
+ If you have any suggestions about new features, or things that you think should be different, also feel free to open an issue.
44
+
45
+ ## [Advanced use](#advanced-use)
46
+
47
+ Run `npx git-truck` in the root of a git repository, that you want to visualize:
48
+
49
+ ```sh
50
+ npx git-truck [args]
51
+ ```
52
+
53
+ ### [Arguments](#arguments)
54
+
55
+ | arg | description | default value |
56
+ | :------------------: | :-------------------------------------------------------------------: | :----------------: |
57
+ | `--path` | path to a folder or a git repository | current directory |
58
+ | `--log` | output log level. See [here](./src/analyzer/log.server.ts) for values | - |
59
+ | `--port` | port to use for the program | 3000 |
60
+ | `--invalidate-cache` | bypass analyzer cache manually | - |
61
+ | `--headless` | run the program without opening the browser | - |
62
+
63
+ **Note:** Using `--invalidate-cache` will cause the analyzer to run every time the client talks to the server.
64
+
65
+ ### [Configuration](#configuration)
66
+
67
+ You can add a `truckconfig.json` file to the root of your project, where you can define the arguments you want.
68
+ Additionally you can define which git-aliases should be considered as the same person using `unionedAuthors`. If provided, the first name in the array is used as the name of the person.
69
+ You can also define files to ignore.
70
+
71
+ **Example:**
72
+
73
+ ```json
74
+ {
75
+ "log": "debug",
76
+ "branch": "main",
77
+ "unionedAuthors": [
78
+ ["Bob", "Bobby Bob"],
79
+ ["Alice", "aliiii", "alice alice"]
80
+ ],
81
+ "hiddenFiles": ["package-lock.json", "*.bin", "*.svg"],
82
+ "invalidateCache": true
83
+ }
84
+ ```
85
+
86
+ ### Very large repositories
87
+
88
+ If the repository you intend to analyze is very large (300k+ commits), we recommend to increase the memory available to nodejs by setting the environment variable `NODE_OPTIONS` to `--max-old-space-size=4096` before starting Git Truck, otherwise analyzation might crash.
89
+
90
+ If your repository has more than 1 million commits, it is unlikely that Git Truck can successfully analyze it, even with higher memory limit.
91
+
92
+ ## Star History
93
+
94
+ [![Star History Chart](https://api.star-history.com/svg?repos=git-truck/git-truck&type=Date)](https://star-history.com/#git-truck/git-truck&Date)
@@ -0,0 +1 @@
1
+ import{o as Lt,j as Z}from"./components-eab0844a.js";import{I as Ot,m as At}from"./util-5b787743.js";var be={exports:{}};const Tt="2.0.0",ot=256,xt=Number.MAX_SAFE_INTEGER||9007199254740991,Ct=16,Pt=ot-6,jt=["major","premajor","minor","preminor","patch","prepatch","prerelease"];var ue={MAX_LENGTH:ot,MAX_SAFE_COMPONENT_LENGTH:Ct,MAX_SAFE_BUILD_LENGTH:Pt,MAX_SAFE_INTEGER:xt,RELEASE_TYPES:jt,SEMVER_SPEC_VERSION:Tt,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2};const Dt=typeof process=="object"&&process.env&&{}.NODE_DEBUG&&/\bsemver\b/i.test({}.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};var he=Dt;(function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:s}=ue,i=he;t=e.exports={};const o=t.re=[],l=t.safeRe=[],a=t.src=[],c=t.t={};let u=0;const f="[a-zA-Z0-9-]",N=[["\\s",1],["\\d",s],[f,n]],g=M=>{for(const[C,X]of N)M=M.split(`${C}*`).join(`${C}{0,${X}}`).split(`${C}+`).join(`${C}{1,${X}}`);return M},d=(M,C,X)=>{const A=g(C),U=u++;i(M,U,C),c[M]=U,a[U]=C,o[U]=new RegExp(C,X?"g":void 0),l[U]=new RegExp(A,X?"g":void 0)};d("NUMERICIDENTIFIER","0|[1-9]\\d*"),d("NUMERICIDENTIFIERLOOSE","\\d+"),d("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${f}*`),d("MAINVERSION",`(${a[c.NUMERICIDENTIFIER]})\\.(${a[c.NUMERICIDENTIFIER]})\\.(${a[c.NUMERICIDENTIFIER]})`),d("MAINVERSIONLOOSE",`(${a[c.NUMERICIDENTIFIERLOOSE]})\\.(${a[c.NUMERICIDENTIFIERLOOSE]})\\.(${a[c.NUMERICIDENTIFIERLOOSE]})`),d("PRERELEASEIDENTIFIER",`(?:${a[c.NUMERICIDENTIFIER]}|${a[c.NONNUMERICIDENTIFIER]})`),d("PRERELEASEIDENTIFIERLOOSE",`(?:${a[c.NUMERICIDENTIFIERLOOSE]}|${a[c.NONNUMERICIDENTIFIER]})`),d("PRERELEASE",`(?:-(${a[c.PRERELEASEIDENTIFIER]}(?:\\.${a[c.PRERELEASEIDENTIFIER]})*))`),d("PRERELEASELOOSE",`(?:-?(${a[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${a[c.PRERELEASEIDENTIFIERLOOSE]})*))`),d("BUILDIDENTIFIER",`${f}+`),d("BUILD",`(?:\\+(${a[c.BUILDIDENTIFIER]}(?:\\.${a[c.BUILDIDENTIFIER]})*))`),d("FULLPLAIN",`v?${a[c.MAINVERSION]}${a[c.PRERELEASE]}?${a[c.BUILD]}?`),d("FULL",`^${a[c.FULLPLAIN]}$`),d("LOOSEPLAIN",`[v=\\s]*${a[c.MAINVERSIONLOOSE]}${a[c.PRERELEASELOOSE]}?${a[c.BUILD]}?`),d("LOOSE",`^${a[c.LOOSEPLAIN]}$`),d("GTLT","((?:<|>)?=?)"),d("XRANGEIDENTIFIERLOOSE",`${a[c.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),d("XRANGEIDENTIFIER",`${a[c.NUMERICIDENTIFIER]}|x|X|\\*`),d("XRANGEPLAIN",`[v=\\s]*(${a[c.XRANGEIDENTIFIER]})(?:\\.(${a[c.XRANGEIDENTIFIER]})(?:\\.(${a[c.XRANGEIDENTIFIER]})(?:${a[c.PRERELEASE]})?${a[c.BUILD]}?)?)?`),d("XRANGEPLAINLOOSE",`[v=\\s]*(${a[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[c.XRANGEIDENTIFIERLOOSE]})(?:${a[c.PRERELEASELOOSE]})?${a[c.BUILD]}?)?)?`),d("XRANGE",`^${a[c.GTLT]}\\s*${a[c.XRANGEPLAIN]}$`),d("XRANGELOOSE",`^${a[c.GTLT]}\\s*${a[c.XRANGEPLAINLOOSE]}$`),d("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),d("COERCERTL",a[c.COERCE],!0),d("LONETILDE","(?:~>?)"),d("TILDETRIM",`(\\s*)${a[c.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",d("TILDE",`^${a[c.LONETILDE]}${a[c.XRANGEPLAIN]}$`),d("TILDELOOSE",`^${a[c.LONETILDE]}${a[c.XRANGEPLAINLOOSE]}$`),d("LONECARET","(?:\\^)"),d("CARETTRIM",`(\\s*)${a[c.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",d("CARET",`^${a[c.LONECARET]}${a[c.XRANGEPLAIN]}$`),d("CARETLOOSE",`^${a[c.LONECARET]}${a[c.XRANGEPLAINLOOSE]}$`),d("COMPARATORLOOSE",`^${a[c.GTLT]}\\s*(${a[c.LOOSEPLAIN]})$|^$`),d("COMPARATOR",`^${a[c.GTLT]}\\s*(${a[c.FULLPLAIN]})$|^$`),d("COMPARATORTRIM",`(\\s*)${a[c.GTLT]}\\s*(${a[c.LOOSEPLAIN]}|${a[c.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",d("HYPHENRANGE",`^\\s*(${a[c.XRANGEPLAIN]})\\s+-\\s+(${a[c.XRANGEPLAIN]})\\s*$`),d("HYPHENRANGELOOSE",`^\\s*(${a[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${a[c.XRANGEPLAINLOOSE]})\\s*$`),d("STAR","(<|>)?=?\\s*\\*"),d("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),d("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(be,be.exports);var ne=be.exports;const Ft=Object.freeze({loose:!0}),_t=Object.freeze({}),Gt=e=>e?typeof e!="object"?Ft:e:_t;var we=Gt;const Pe=/^[0-9]+$/,at=(e,t)=>{const r=Pe.test(e),n=Pe.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:e<t?-1:1},Mt=(e,t)=>at(t,e);var lt={compareIdentifiers:at,rcompareIdentifiers:Mt};const se=he,{MAX_LENGTH:je,MAX_SAFE_INTEGER:ie}=ue,{safeRe:De,t:Fe}=ne,Xt=we,{compareIdentifiers:H}=lt;let Ut=class F{constructor(t,r){if(r=Xt(r),t instanceof F){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>je)throw new TypeError(`version is longer than ${je} characters`);se("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;const n=t.trim().match(r.loose?De[Fe.LOOSE]:De[Fe.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>ie||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ie||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ie||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){const i=+s;if(i>=0&&i<ie)return i}return s}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(se("SemVer.compare",this.version,this.options,t),!(t instanceof F)){if(typeof t=="string"&&t===this.version)return 0;t=new F(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof F||(t=new F(t,this.options)),H(this.major,t.major)||H(this.minor,t.minor)||H(this.patch,t.patch)}comparePre(t){if(t instanceof F||(t=new F(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{const n=this.prerelease[r],s=t.prerelease[r];if(se("prerelease compare",r,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return H(n,s)}while(++r)}compareBuild(t){t instanceof F||(t=new F(t,this.options));let r=0;do{const n=this.build[r],s=t.build[r];if(se("prerelease compare",r,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return H(n,s)}while(++r)}inc(t,r,n){switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,n),this.inc("pre",r,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,n),this.inc("pre",r,n);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const s=Number(n)?1:0;if(!r&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[s];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(r===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(r){let i=[r,s];n===!1&&(i=[r]),H(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};var T=Ut;const _e=T,Vt=(e,t,r=!1)=>{if(e instanceof _e)return e;try{return new _e(e,t)}catch(n){if(!r)return null;throw n}};var W=Vt;const kt=W,qt=(e,t)=>{const r=kt(e,t);return r?r.version:null};var Ht=qt;const zt=W,Bt=(e,t)=>{const r=zt(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};var Yt=Bt;const Ge=T,Wt=(e,t,r,n,s)=>{typeof r=="string"&&(s=n,n=r,r=void 0);try{return new Ge(e instanceof Ge?e.version:e,r).inc(t,n,s).version}catch{return null}};var Kt=Wt;const Me=W,Zt=(e,t)=>{const r=Me(e,null,!0),n=Me(t,null,!0),s=r.compare(n);if(s===0)return null;const i=s>0,o=i?r:n,l=i?n:r,a=!!o.prerelease.length;if(!!l.prerelease.length&&!a)return!l.patch&&!l.minor?"major":o.patch?"patch":o.minor?"minor":"major";const u=a?"pre":"";return r.major!==n.major?u+"major":r.minor!==n.minor?u+"minor":r.patch!==n.patch?u+"patch":"prerelease"};var Jt=Zt;const Qt=T,er=(e,t)=>new Qt(e,t).major;var tr=er;const rr=T,nr=(e,t)=>new rr(e,t).minor;var sr=nr;const ir=T,or=(e,t)=>new ir(e,t).patch;var ar=or;const lr=W,cr=(e,t)=>{const r=lr(e,t);return r&&r.prerelease.length?r.prerelease:null};var ur=cr;const Xe=T,hr=(e,t,r)=>new Xe(e,r).compare(new Xe(t,r));var j=hr;const fr=j,pr=(e,t,r)=>fr(t,e,r);var mr=pr;const Er=j,gr=(e,t)=>Er(e,t,!0);var vr=gr;const Ue=T,$r=(e,t,r)=>{const n=new Ue(e,r),s=new Ue(t,r);return n.compare(s)||n.compareBuild(s)};var Se=$r;const dr=Se,Rr=(e,t)=>e.sort((r,n)=>dr(r,n,t));var yr=Rr;const Ir=Se,br=(e,t)=>e.sort((r,n)=>Ir(n,r,t));var Nr=br;const wr=j,Sr=(e,t,r)=>wr(e,t,r)>0;var fe=Sr;const Lr=j,Or=(e,t,r)=>Lr(e,t,r)<0;var Le=Or;const Ar=j,Tr=(e,t,r)=>Ar(e,t,r)===0;var ct=Tr;const xr=j,Cr=(e,t,r)=>xr(e,t,r)!==0;var ut=Cr;const Pr=j,jr=(e,t,r)=>Pr(e,t,r)>=0;var Oe=jr;const Dr=j,Fr=(e,t,r)=>Dr(e,t,r)<=0;var Ae=Fr;const _r=ct,Gr=ut,Mr=fe,Xr=Oe,Ur=Le,Vr=Ae,kr=(e,t,r,n)=>{switch(t){case"===":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e===r;case"!==":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e!==r;case"":case"=":case"==":return _r(e,r,n);case"!=":return Gr(e,r,n);case">":return Mr(e,r,n);case">=":return Xr(e,r,n);case"<":return Ur(e,r,n);case"<=":return Vr(e,r,n);default:throw new TypeError(`Invalid operator: ${t}`)}};var ht=kr;const qr=T,Hr=W,{safeRe:oe,t:ae}=ne,zr=(e,t)=>{if(e instanceof qr)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;t=t||{};let r=null;if(!t.rtl)r=e.match(oe[ae.COERCE]);else{let n;for(;(n=oe[ae.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)(!r||n.index+n[0].length!==r.index+r[0].length)&&(r=n),oe[ae.COERCERTL].lastIndex=n.index+n[1].length+n[2].length;oe[ae.COERCERTL].lastIndex=-1}return r===null?null:Hr(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,t)};var Br=zr,Ee,Ve;function Yr(){return Ve||(Ve=1,Ee=function(e){e.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}),Ee}var Wr=b;b.Node=q;b.create=b;function b(e){var t=this;if(t instanceof b||(t=new b),t.tail=null,t.head=null,t.length=0,e&&typeof e.forEach=="function")e.forEach(function(s){t.push(s)});else if(arguments.length>0)for(var r=0,n=arguments.length;r<n;r++)t.push(arguments[r]);return t}b.prototype.removeNode=function(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");var t=e.next,r=e.prev;return t&&(t.prev=r),r&&(r.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=r),e.list.length--,e.next=null,e.prev=null,e.list=null,t};b.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}};b.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}};b.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)Zr(this,arguments[e]);return this.length};b.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++)Jr(this,arguments[e]);return this.length};b.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}};b.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}};b.prototype.forEach=function(e,t){t=t||this;for(var r=this.head,n=0;r!==null;n++)e.call(t,r.value,n,this),r=r.next};b.prototype.forEachReverse=function(e,t){t=t||this;for(var r=this.tail,n=this.length-1;r!==null;n--)e.call(t,r.value,n,this),r=r.prev};b.prototype.get=function(e){for(var t=0,r=this.head;r!==null&&t<e;t++)r=r.next;if(t===e&&r!==null)return r.value};b.prototype.getReverse=function(e){for(var t=0,r=this.tail;r!==null&&t<e;t++)r=r.prev;if(t===e&&r!==null)return r.value};b.prototype.map=function(e,t){t=t||this;for(var r=new b,n=this.head;n!==null;)r.push(e.call(t,n.value,this)),n=n.next;return r};b.prototype.mapReverse=function(e,t){t=t||this;for(var r=new b,n=this.tail;n!==null;)r.push(e.call(t,n.value,this)),n=n.prev;return r};b.prototype.reduce=function(e,t){var r,n=this.head;if(arguments.length>1)r=t;else if(this.head)n=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var s=0;n!==null;s++)r=e(r,n.value,s),n=n.next;return r};b.prototype.reduceReverse=function(e,t){var r,n=this.tail;if(arguments.length>1)r=t;else if(this.tail)n=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var s=this.length-1;n!==null;s--)r=e(r,n.value,s),n=n.prev;return r};b.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;r!==null;t++)e[t]=r.value,r=r.next;return e};b.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;r!==null;t++)e[t]=r.value,r=r.prev;return e};b.prototype.slice=function(e,t){t=t||this.length,t<0&&(t+=this.length),e=e||0,e<0&&(e+=this.length);var r=new b;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var n=0,s=this.head;s!==null&&n<e;n++)s=s.next;for(;s!==null&&n<t;n++,s=s.next)r.push(s.value);return r};b.prototype.sliceReverse=function(e,t){t=t||this.length,t<0&&(t+=this.length),e=e||0,e<0&&(e+=this.length);var r=new b;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var n=this.length,s=this.tail;s!==null&&n>t;n--)s=s.prev;for(;s!==null&&n>e;n--,s=s.prev)r.push(s.value);return r};b.prototype.splice=function(e,t,...r){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,s=this.head;s!==null&&n<e;n++)s=s.next;for(var i=[],n=0;s&&n<t;n++)i.push(s.value),s=this.removeNode(s);s===null&&(s=this.tail),s!==this.head&&s!==this.tail&&(s=s.prev);for(var n=0;n<r.length;n++)s=Kr(this,s,r[n]);return i};b.prototype.reverse=function(){for(var e=this.head,t=this.tail,r=e;r!==null;r=r.prev){var n=r.prev;r.prev=r.next,r.next=n}return this.head=t,this.tail=e,this};function Kr(e,t,r){var n=t===e.head?new q(r,null,t,e):new q(r,t,t.next,e);return n.next===null&&(e.tail=n),n.prev===null&&(e.head=n),e.length++,n}function Zr(e,t){e.tail=new q(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++}function Jr(e,t){e.head=new q(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++}function q(e,t,r,n){if(!(this instanceof q))return new q(e,t,r,n);this.list=n,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,r?(r.prev=this,this.next=r):this.next=null}try{Yr()(b)}catch{}const Qr=Wr,V=Symbol("max"),G=Symbol("length"),z=Symbol("lengthCalculator"),te=Symbol("allowStale"),k=Symbol("maxAge"),_=Symbol("dispose"),ke=Symbol("noDisposeOnSet"),O=Symbol("lruList"),P=Symbol("cache"),ft=Symbol("updateAgeOnGet"),ge=()=>1;class en{constructor(t){if(typeof t=="number"&&(t={max:t}),t||(t={}),t.max&&(typeof t.max!="number"||t.max<0))throw new TypeError("max must be a non-negative number");this[V]=t.max||1/0;const r=t.length||ge;if(this[z]=typeof r!="function"?ge:r,this[te]=t.stale||!1,t.maxAge&&typeof t.maxAge!="number")throw new TypeError("maxAge must be a number");this[k]=t.maxAge||0,this[_]=t.dispose,this[ke]=t.noDisposeOnSet||!1,this[ft]=t.updateAgeOnGet||!1,this.reset()}set max(t){if(typeof t!="number"||t<0)throw new TypeError("max must be a non-negative number");this[V]=t||1/0,J(this)}get max(){return this[V]}set allowStale(t){this[te]=!!t}get allowStale(){return this[te]}set maxAge(t){if(typeof t!="number")throw new TypeError("maxAge must be a non-negative number");this[k]=t,J(this)}get maxAge(){return this[k]}set lengthCalculator(t){typeof t!="function"&&(t=ge),t!==this[z]&&(this[z]=t,this[G]=0,this[O].forEach(r=>{r.length=this[z](r.value,r.key),this[G]+=r.length})),J(this)}get lengthCalculator(){return this[z]}get length(){return this[G]}get itemCount(){return this[O].length}rforEach(t,r){r=r||this;for(let n=this[O].tail;n!==null;){const s=n.prev;qe(this,t,n,r),n=s}}forEach(t,r){r=r||this;for(let n=this[O].head;n!==null;){const s=n.next;qe(this,t,n,r),n=s}}keys(){return this[O].toArray().map(t=>t.key)}values(){return this[O].toArray().map(t=>t.value)}reset(){this[_]&&this[O]&&this[O].length&&this[O].forEach(t=>this[_](t.key,t.value)),this[P]=new Map,this[O]=new Qr,this[G]=0}dump(){return this[O].map(t=>le(this,t)?!1:{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[O]}set(t,r,n){if(n=n||this[k],n&&typeof n!="number")throw new TypeError("maxAge must be a number");const s=n?Date.now():0,i=this[z](r,t);if(this[P].has(t)){if(i>this[V])return Y(this,this[P].get(t)),!1;const a=this[P].get(t).value;return this[_]&&(this[ke]||this[_](t,a.value)),a.now=s,a.maxAge=n,a.value=r,this[G]+=i-a.length,a.length=i,this.get(t),J(this),!0}const o=new tn(t,r,i,s,n);return o.length>this[V]?(this[_]&&this[_](t,r),!1):(this[G]+=o.length,this[O].unshift(o),this[P].set(t,this[O].head),J(this),!0)}has(t){if(!this[P].has(t))return!1;const r=this[P].get(t).value;return!le(this,r)}get(t){return ve(this,t,!0)}peek(t){return ve(this,t,!1)}pop(){const t=this[O].tail;return t?(Y(this,t),t.value):null}del(t){Y(this,this[P].get(t))}load(t){this.reset();const r=Date.now();for(let n=t.length-1;n>=0;n--){const s=t[n],i=s.e||0;if(i===0)this.set(s.k,s.v);else{const o=i-r;o>0&&this.set(s.k,s.v,o)}}}prune(){this[P].forEach((t,r)=>ve(this,r,!1))}}const ve=(e,t,r)=>{const n=e[P].get(t);if(n){const s=n.value;if(le(e,s)){if(Y(e,n),!e[te])return}else r&&(e[ft]&&(n.value.now=Date.now()),e[O].unshiftNode(n));return s.value}},le=(e,t)=>{if(!t||!t.maxAge&&!e[k])return!1;const r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[k]&&r>e[k]},J=e=>{if(e[G]>e[V])for(let t=e[O].tail;e[G]>e[V]&&t!==null;){const r=t.prev;Y(e,t),t=r}},Y=(e,t)=>{if(t){const r=t.value;e[_]&&e[_](r.key,r.value),e[G]-=r.length,e[P].delete(r.key),e[O].removeNode(t)}};class tn{constructor(t,r,n,s,i){this.key=t,this.value=r,this.length=n,this.now=s,this.maxAge=i||0}}const qe=(e,t,r,n)=>{let s=r.value;le(e,s)&&(Y(e,r),e[te]||(s=void 0)),s&&t.call(n,s.value,s.key,e)};var rn=en,$e,He;function D(){if(He)return $e;He=1;class e{constructor(h,R){if(R=n(R),h instanceof e)return h.loose===!!R.loose&&h.includePrerelease===!!R.includePrerelease?h:new e(h.raw,R);if(h instanceof s)return this.raw=h.value,this.set=[[h]],this.format(),this;if(this.options=R,this.loose=!!R.loose,this.includePrerelease=!!R.includePrerelease,this.raw=h.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(v=>this.parseRange(v.trim())).filter(v=>v.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const v=this.set[0];if(this.set=this.set.filter($=>!d($[0])),this.set.length===0)this.set=[v];else if(this.set.length>1){for(const $ of this.set)if($.length===1&&M($[0])){this.set=[$];break}}}this.format()}format(){return this.range=this.set.map(h=>h.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(h){const v=((this.options.includePrerelease&&N)|(this.options.loose&&g))+":"+h,$=r.get(v);if($)return $;const E=this.options.loose,y=E?l[a.HYPHENRANGELOOSE]:l[a.HYPHENRANGE];h=h.replace(y,wt(this.options.includePrerelease)),i("hyphen replace",h),h=h.replace(l[a.COMPARATORTRIM],c),i("comparator trim",h),h=h.replace(l[a.TILDETRIM],u),i("tilde trim",h),h=h.replace(l[a.CARETTRIM],f),i("caret trim",h);let w=h.split(" ").map(L=>X(L,this.options)).join(" ").split(/\s+/).map(L=>Nt(L,this.options));E&&(w=w.filter(L=>(i("loose invalid filter",L,this.options),!!L.match(l[a.COMPARATORLOOSE])))),i("range list",w);const I=new Map,S=w.map(L=>new s(L,this.options));for(const L of S){if(d(L))return[L];I.set(L.value,L)}I.size>1&&I.has("")&&I.delete("");const x=[...I.values()];return r.set(v,x),x}intersects(h,R){if(!(h instanceof e))throw new TypeError("a Range is required");return this.set.some(v=>C(v,R)&&h.set.some($=>C($,R)&&v.every(E=>$.every(y=>E.intersects(y,R)))))}test(h){if(!h)return!1;if(typeof h=="string")try{h=new o(h,this.options)}catch{return!1}for(let R=0;R<this.set.length;R++)if(St(this.set[R],h,this.options))return!0;return!1}}$e=e;const t=rn,r=new t({max:1e3}),n=we,s=pe(),i=he,o=T,{safeRe:l,t:a,comparatorTrimReplace:c,tildeTrimReplace:u,caretTrimReplace:f}=ne,{FLAG_INCLUDE_PRERELEASE:N,FLAG_LOOSE:g}=ue,d=p=>p.value==="<0.0.0-0",M=p=>p.value==="",C=(p,h)=>{let R=!0;const v=p.slice();let $=v.pop();for(;R&&v.length;)R=v.every(E=>$.intersects(E,h)),$=v.pop();return R},X=(p,h)=>(i("comp",p,h),p=dt(p,h),i("caret",p),p=U(p,h),i("tildes",p),p=yt(p,h),i("xrange",p),p=bt(p,h),i("stars",p),p),A=p=>!p||p.toLowerCase()==="x"||p==="*",U=(p,h)=>p.trim().split(/\s+/).map(R=>$t(R,h)).join(" "),$t=(p,h)=>{const R=h.loose?l[a.TILDELOOSE]:l[a.TILDE];return p.replace(R,(v,$,E,y,w)=>{i("tilde",p,v,$,E,y,w);let I;return A($)?I="":A(E)?I=`>=${$}.0.0 <${+$+1}.0.0-0`:A(y)?I=`>=${$}.${E}.0 <${$}.${+E+1}.0-0`:w?(i("replaceTilde pr",w),I=`>=${$}.${E}.${y}-${w} <${$}.${+E+1}.0-0`):I=`>=${$}.${E}.${y} <${$}.${+E+1}.0-0`,i("tilde return",I),I})},dt=(p,h)=>p.trim().split(/\s+/).map(R=>Rt(R,h)).join(" "),Rt=(p,h)=>{i("caret",p,h);const R=h.loose?l[a.CARETLOOSE]:l[a.CARET],v=h.includePrerelease?"-0":"";return p.replace(R,($,E,y,w,I)=>{i("caret",p,$,E,y,w,I);let S;return A(E)?S="":A(y)?S=`>=${E}.0.0${v} <${+E+1}.0.0-0`:A(w)?E==="0"?S=`>=${E}.${y}.0${v} <${E}.${+y+1}.0-0`:S=`>=${E}.${y}.0${v} <${+E+1}.0.0-0`:I?(i("replaceCaret pr",I),E==="0"?y==="0"?S=`>=${E}.${y}.${w}-${I} <${E}.${y}.${+w+1}-0`:S=`>=${E}.${y}.${w}-${I} <${E}.${+y+1}.0-0`:S=`>=${E}.${y}.${w}-${I} <${+E+1}.0.0-0`):(i("no pr"),E==="0"?y==="0"?S=`>=${E}.${y}.${w}${v} <${E}.${y}.${+w+1}-0`:S=`>=${E}.${y}.${w}${v} <${E}.${+y+1}.0-0`:S=`>=${E}.${y}.${w} <${+E+1}.0.0-0`),i("caret return",S),S})},yt=(p,h)=>(i("replaceXRanges",p,h),p.split(/\s+/).map(R=>It(R,h)).join(" ")),It=(p,h)=>{p=p.trim();const R=h.loose?l[a.XRANGELOOSE]:l[a.XRANGE];return p.replace(R,(v,$,E,y,w,I)=>{i("xRange",p,v,$,E,y,w,I);const S=A(E),x=S||A(y),L=x||A(w),K=L;return $==="="&&K&&($=""),I=h.includePrerelease?"-0":"",S?$===">"||$==="<"?v="<0.0.0-0":v="*":$&&K?(x&&(y=0),w=0,$===">"?($=">=",x?(E=+E+1,y=0,w=0):(y=+y+1,w=0)):$==="<="&&($="<",x?E=+E+1:y=+y+1),$==="<"&&(I="-0"),v=`${$+E}.${y}.${w}${I}`):x?v=`>=${E}.0.0${I} <${+E+1}.0.0-0`:L&&(v=`>=${E}.${y}.0${I} <${E}.${+y+1}.0-0`),i("xRange return",v),v})},bt=(p,h)=>(i("replaceStars",p,h),p.trim().replace(l[a.STAR],"")),Nt=(p,h)=>(i("replaceGTE0",p,h),p.trim().replace(l[h.includePrerelease?a.GTE0PRE:a.GTE0],"")),wt=p=>(h,R,v,$,E,y,w,I,S,x,L,K,Vs)=>(A(v)?R="":A($)?R=`>=${v}.0.0${p?"-0":""}`:A(E)?R=`>=${v}.${$}.0${p?"-0":""}`:y?R=`>=${R}`:R=`>=${R}${p?"-0":""}`,A(S)?I="":A(x)?I=`<${+S+1}.0.0-0`:A(L)?I=`<${S}.${+x+1}.0-0`:K?I=`<=${S}.${x}.${L}-${K}`:p?I=`<${S}.${x}.${+L+1}-0`:I=`<=${I}`,`${R} ${I}`.trim()),St=(p,h,R)=>{for(let v=0;v<p.length;v++)if(!p[v].test(h))return!1;if(h.prerelease.length&&!R.includePrerelease){for(let v=0;v<p.length;v++)if(i(p[v].semver),p[v].semver!==s.ANY&&p[v].semver.prerelease.length>0){const $=p[v].semver;if($.major===h.major&&$.minor===h.minor&&$.patch===h.patch)return!0}return!1}return!0};return $e}var de,ze;function pe(){if(ze)return de;ze=1;const e=Symbol("SemVer ANY");class t{static get ANY(){return e}constructor(u,f){if(f=r(f),u instanceof t){if(u.loose===!!f.loose)return u;u=u.value}u=u.trim().split(/\s+/).join(" "),o("comparator",u,f),this.options=f,this.loose=!!f.loose,this.parse(u),this.semver===e?this.value="":this.value=this.operator+this.semver.version,o("comp",this)}parse(u){const f=this.options.loose?n[s.COMPARATORLOOSE]:n[s.COMPARATOR],N=u.match(f);if(!N)throw new TypeError(`Invalid comparator: ${u}`);this.operator=N[1]!==void 0?N[1]:"",this.operator==="="&&(this.operator=""),N[2]?this.semver=new l(N[2],this.options.loose):this.semver=e}toString(){return this.value}test(u){if(o("Comparator.test",u,this.options.loose),this.semver===e||u===e)return!0;if(typeof u=="string")try{u=new l(u,this.options)}catch{return!1}return i(u,this.operator,this.semver,this.options)}intersects(u,f){if(!(u instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new a(u.value,f).test(this.value):u.operator===""?u.value===""?!0:new a(this.value,f).test(u.semver):(f=r(f),f.includePrerelease&&(this.value==="<0.0.0-0"||u.value==="<0.0.0-0")||!f.includePrerelease&&(this.value.startsWith("<0.0.0")||u.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&u.operator.startsWith(">")||this.operator.startsWith("<")&&u.operator.startsWith("<")||this.semver.version===u.semver.version&&this.operator.includes("=")&&u.operator.includes("=")||i(this.semver,"<",u.semver,f)&&this.operator.startsWith(">")&&u.operator.startsWith("<")||i(this.semver,">",u.semver,f)&&this.operator.startsWith("<")&&u.operator.startsWith(">")))}}de=t;const r=we,{safeRe:n,t:s}=ne,i=ht,o=he,l=T,a=D();return de}const nn=D(),sn=(e,t,r)=>{try{t=new nn(t,r)}catch{return!1}return t.test(e)};var me=sn;const on=D(),an=(e,t)=>new on(e,t).set.map(r=>r.map(n=>n.value).join(" ").trim().split(" "));var ln=an;const cn=T,un=D(),hn=(e,t,r)=>{let n=null,s=null,i=null;try{i=new un(t,r)}catch{return null}return e.forEach(o=>{i.test(o)&&(!n||s.compare(o)===-1)&&(n=o,s=new cn(n,r))}),n};var fn=hn;const pn=T,mn=D(),En=(e,t,r)=>{let n=null,s=null,i=null;try{i=new mn(t,r)}catch{return null}return e.forEach(o=>{i.test(o)&&(!n||s.compare(o)===1)&&(n=o,s=new pn(n,r))}),n};var gn=En;const Re=T,vn=D(),Be=fe,$n=(e,t)=>{e=new vn(e,t);let r=new Re("0.0.0");if(e.test(r)||(r=new Re("0.0.0-0"),e.test(r)))return r;r=null;for(let n=0;n<e.set.length;++n){const s=e.set[n];let i=null;s.forEach(o=>{const l=new Re(o.semver.version);switch(o.operator){case">":l.prerelease.length===0?l.patch++:l.prerelease.push(0),l.raw=l.format();case"":case">=":(!i||Be(l,i))&&(i=l);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),i&&(!r||Be(r,i))&&(r=i)}return r&&e.test(r)?r:null};var dn=$n;const Rn=D(),yn=(e,t)=>{try{return new Rn(e,t).range||"*"}catch{return null}};var In=yn;const bn=T,pt=pe(),{ANY:Nn}=pt,wn=D(),Sn=me,Ye=fe,We=Le,Ln=Ae,On=Oe,An=(e,t,r,n)=>{e=new bn(e,n),t=new wn(t,n);let s,i,o,l,a;switch(r){case">":s=Ye,i=Ln,o=We,l=">",a=">=";break;case"<":s=We,i=On,o=Ye,l="<",a="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Sn(e,t,n))return!1;for(let c=0;c<t.set.length;++c){const u=t.set[c];let f=null,N=null;if(u.forEach(g=>{g.semver===Nn&&(g=new pt(">=0.0.0")),f=f||g,N=N||g,s(g.semver,f.semver,n)?f=g:o(g.semver,N.semver,n)&&(N=g)}),f.operator===l||f.operator===a||(!N.operator||N.operator===l)&&i(e,N.semver))return!1;if(N.operator===a&&o(e,N.semver))return!1}return!0};var Te=An;const Tn=Te,xn=(e,t,r)=>Tn(e,t,">",r);var Cn=xn;const Pn=Te,jn=(e,t,r)=>Pn(e,t,"<",r);var Dn=jn;const Ke=D(),Fn=(e,t,r)=>(e=new Ke(e,r),t=new Ke(t,r),e.intersects(t,r));var _n=Fn;const Gn=me,Mn=j;var Xn=(e,t,r)=>{const n=[];let s=null,i=null;const o=e.sort((u,f)=>Mn(u,f,r));for(const u of o)Gn(u,t,r)?(i=u,s||(s=u)):(i&&n.push([s,i]),i=null,s=null);s&&n.push([s,null]);const l=[];for(const[u,f]of n)u===f?l.push(u):!f&&u===o[0]?l.push("*"):f?u===o[0]?l.push(`<=${f}`):l.push(`${u} - ${f}`):l.push(`>=${u}`);const a=l.join(" || "),c=typeof t.raw=="string"?t.raw:String(t);return a.length<c.length?a:t};const Ze=D(),xe=pe(),{ANY:ye}=xe,Q=me,Ce=j,Un=(e,t,r={})=>{if(e===t)return!0;e=new Ze(e,r),t=new Ze(t,r);let n=!1;e:for(const s of e.set){for(const i of t.set){const o=kn(s,i,r);if(n=n||o!==null,o)continue e}if(n)return!1}return!0},Vn=[new xe(">=0.0.0-0")],Je=[new xe(">=0.0.0")],kn=(e,t,r)=>{if(e===t)return!0;if(e.length===1&&e[0].semver===ye){if(t.length===1&&t[0].semver===ye)return!0;r.includePrerelease?e=Vn:e=Je}if(t.length===1&&t[0].semver===ye){if(r.includePrerelease)return!0;t=Je}const n=new Set;let s,i;for(const g of e)g.operator===">"||g.operator===">="?s=Qe(s,g,r):g.operator==="<"||g.operator==="<="?i=et(i,g,r):n.add(g.semver);if(n.size>1)return null;let o;if(s&&i){if(o=Ce(s.semver,i.semver,r),o>0)return null;if(o===0&&(s.operator!==">="||i.operator!=="<="))return null}for(const g of n){if(s&&!Q(g,String(s),r)||i&&!Q(g,String(i),r))return null;for(const d of t)if(!Q(g,String(d),r))return!1;return!0}let l,a,c,u,f=i&&!r.includePrerelease&&i.semver.prerelease.length?i.semver:!1,N=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1;f&&f.prerelease.length===1&&i.operator==="<"&&f.prerelease[0]===0&&(f=!1);for(const g of t){if(u=u||g.operator===">"||g.operator===">=",c=c||g.operator==="<"||g.operator==="<=",s){if(N&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===N.major&&g.semver.minor===N.minor&&g.semver.patch===N.patch&&(N=!1),g.operator===">"||g.operator===">="){if(l=Qe(s,g,r),l===g&&l!==s)return!1}else if(s.operator===">="&&!Q(s.semver,String(g),r))return!1}if(i){if(f&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===f.major&&g.semver.minor===f.minor&&g.semver.patch===f.patch&&(f=!1),g.operator==="<"||g.operator==="<="){if(a=et(i,g,r),a===g&&a!==i)return!1}else if(i.operator==="<="&&!Q(i.semver,String(g),r))return!1}if(!g.operator&&(i||s)&&o!==0)return!1}return!(s&&c&&!i&&o!==0||i&&u&&!s&&o!==0||N||f)},Qe=(e,t,r)=>{if(!e)return t;const n=Ce(e.semver,t.semver,r);return n>0?e:n<0||t.operator===">"&&e.operator===">="?t:e},et=(e,t,r)=>{if(!e)return t;const n=Ce(e.semver,t.semver,r);return n<0?e:n>0||t.operator==="<"&&e.operator==="<="?t:e};var qn=Un;const Ie=ne,tt=ue,Hn=T,rt=lt,zn=W,Bn=Ht,Yn=Yt,Wn=Kt,Kn=Jt,Zn=tr,Jn=sr,Qn=ar,es=ur,ts=j,rs=mr,ns=vr,ss=Se,is=yr,os=Nr,as=fe,ls=Le,cs=ct,us=ut,hs=Oe,fs=Ae,ps=ht,ms=Br,Es=pe(),gs=D(),vs=me,$s=ln,ds=fn,Rs=gn,ys=dn,Is=In,bs=Te,Ns=Cn,ws=Dn,Ss=_n,Ls=Xn,Os=qn;var ee={parse:zn,valid:Bn,clean:Yn,inc:Wn,diff:Kn,major:Zn,minor:Jn,patch:Qn,prerelease:es,compare:ts,rcompare:rs,compareLoose:ns,compareBuild:ss,sort:is,rsort:os,gt:as,lt:ls,eq:cs,neq:us,gte:hs,lte:fs,cmp:ps,coerce:ms,Comparator:Es,Range:gs,satisfies:vs,toComparators:$s,maxSatisfying:ds,minSatisfying:Rs,minVersion:ys,validRange:Is,outside:bs,gtr:Ns,ltr:ws,intersects:Ss,simplifyRange:Ls,subset:Os,SemVer:Hn,re:Ie.re,src:Ie.src,tokens:Ie.t,SEMVER_SPEC_VERSION:tt.SEMVER_SPEC_VERSION,RELEASE_TYPES:tt.RELEASE_TYPES,compareIdentifiers:rt.compareIdentifiers,rcompareIdentifiers:rt.rcompareIdentifiers},As={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};const re=As,mt={};for(const e of Object.keys(re))mt[re[e]]=e;const m={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};var Et=m;for(const e of Object.keys(m)){if(!("channels"in m[e]))throw new Error("missing channels property: "+e);if(!("labels"in m[e]))throw new Error("missing channel labels property: "+e);if(m[e].labels.length!==m[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:r}=m[e];delete m[e].channels,delete m[e].labels,Object.defineProperty(m[e],"channels",{value:t}),Object.defineProperty(m[e],"labels",{value:r})}m.rgb.hsl=function(e){const t=e[0]/255,r=e[1]/255,n=e[2]/255,s=Math.min(t,r,n),i=Math.max(t,r,n),o=i-s;let l,a;i===s?l=0:t===i?l=(r-n)/o:r===i?l=2+(n-t)/o:n===i&&(l=4+(t-r)/o),l=Math.min(l*60,360),l<0&&(l+=360);const c=(s+i)/2;return i===s?a=0:c<=.5?a=o/(i+s):a=o/(2-i-s),[l,a*100,c*100]};m.rgb.hsv=function(e){let t,r,n,s,i;const o=e[0]/255,l=e[1]/255,a=e[2]/255,c=Math.max(o,l,a),u=c-Math.min(o,l,a),f=function(N){return(c-N)/6/u+1/2};return u===0?(s=0,i=0):(i=u/c,t=f(o),r=f(l),n=f(a),o===c?s=n-r:l===c?s=1/3+t-n:a===c&&(s=2/3+r-t),s<0?s+=1:s>1&&(s-=1)),[s*360,i*100,c*100]};m.rgb.hwb=function(e){const t=e[0],r=e[1];let n=e[2];const s=m.rgb.hsl(e)[0],i=1/255*Math.min(t,Math.min(r,n));return n=1-1/255*Math.max(t,Math.max(r,n)),[s,i*100,n*100]};m.rgb.cmyk=function(e){const t=e[0]/255,r=e[1]/255,n=e[2]/255,s=Math.min(1-t,1-r,1-n),i=(1-t-s)/(1-s)||0,o=(1-r-s)/(1-s)||0,l=(1-n-s)/(1-s)||0;return[i*100,o*100,l*100,s*100]};function Ts(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}m.rgb.keyword=function(e){const t=mt[e];if(t)return t;let r=1/0,n;for(const s of Object.keys(re)){const i=re[s],o=Ts(e,i);o<r&&(r=o,n=s)}return n};m.keyword.rgb=function(e){return re[e]};m.rgb.xyz=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;const s=t*.4124+r*.3576+n*.1805,i=t*.2126+r*.7152+n*.0722,o=t*.0193+r*.1192+n*.9505;return[s*100,i*100,o*100]};m.rgb.lab=function(e){const t=m.rgb.xyz(e);let r=t[0],n=t[1],s=t[2];r/=95.047,n/=100,s/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,s=s>.008856?s**(1/3):7.787*s+16/116;const i=116*n-16,o=500*(r-n),l=200*(n-s);return[i,o,l]};m.hsl.rgb=function(e){const t=e[0]/360,r=e[1]/100,n=e[2]/100;let s,i,o;if(r===0)return o=n*255,[o,o,o];n<.5?s=n*(1+r):s=n+r-n*r;const l=2*n-s,a=[0,0,0];for(let c=0;c<3;c++)i=t+1/3*-(c-1),i<0&&i++,i>1&&i--,6*i<1?o=l+(s-l)*6*i:2*i<1?o=s:3*i<2?o=l+(s-l)*(2/3-i)*6:o=l,a[c]=o*255;return a};m.hsl.hsv=function(e){const t=e[0];let r=e[1]/100,n=e[2]/100,s=r;const i=Math.max(n,.01);n*=2,r*=n<=1?n:2-n,s*=i<=1?i:2-i;const o=(n+r)/2,l=n===0?2*s/(i+s):2*r/(n+r);return[t,l*100,o*100]};m.hsv.rgb=function(e){const t=e[0]/60,r=e[1]/100;let n=e[2]/100;const s=Math.floor(t)%6,i=t-Math.floor(t),o=255*n*(1-r),l=255*n*(1-r*i),a=255*n*(1-r*(1-i));switch(n*=255,s){case 0:return[n,a,o];case 1:return[l,n,o];case 2:return[o,n,a];case 3:return[o,l,n];case 4:return[a,o,n];case 5:return[n,o,l]}};m.hsv.hsl=function(e){const t=e[0],r=e[1]/100,n=e[2]/100,s=Math.max(n,.01);let i,o;o=(2-r)*n;const l=(2-r)*s;return i=r*s,i/=l<=1?l:2-l,i=i||0,o/=2,[t,i*100,o*100]};m.hwb.rgb=function(e){const t=e[0]/360;let r=e[1]/100,n=e[2]/100;const s=r+n;let i;s>1&&(r/=s,n/=s);const o=Math.floor(6*t),l=1-n;i=6*t-o,o&1&&(i=1-i);const a=r+i*(l-r);let c,u,f;switch(o){default:case 6:case 0:c=l,u=a,f=r;break;case 1:c=a,u=l,f=r;break;case 2:c=r,u=l,f=a;break;case 3:c=r,u=a,f=l;break;case 4:c=a,u=r,f=l;break;case 5:c=l,u=r,f=a;break}return[c*255,u*255,f*255]};m.cmyk.rgb=function(e){const t=e[0]/100,r=e[1]/100,n=e[2]/100,s=e[3]/100,i=1-Math.min(1,t*(1-s)+s),o=1-Math.min(1,r*(1-s)+s),l=1-Math.min(1,n*(1-s)+s);return[i*255,o*255,l*255]};m.xyz.rgb=function(e){const t=e[0]/100,r=e[1]/100,n=e[2]/100;let s,i,o;return s=t*3.2406+r*-1.5372+n*-.4986,i=t*-.9689+r*1.8758+n*.0415,o=t*.0557+r*-.204+n*1.057,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,s=Math.min(Math.max(0,s),1),i=Math.min(Math.max(0,i),1),o=Math.min(Math.max(0,o),1),[s*255,i*255,o*255]};m.xyz.lab=function(e){let t=e[0],r=e[1],n=e[2];t/=95.047,r/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;const s=116*r-16,i=500*(t-r),o=200*(r-n);return[s,i,o]};m.lab.xyz=function(e){const t=e[0],r=e[1],n=e[2];let s,i,o;i=(t+16)/116,s=r/500+i,o=i-n/200;const l=i**3,a=s**3,c=o**3;return i=l>.008856?l:(i-16/116)/7.787,s=a>.008856?a:(s-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,s*=95.047,i*=100,o*=108.883,[s,i,o]};m.lab.lch=function(e){const t=e[0],r=e[1],n=e[2];let s;s=Math.atan2(n,r)*360/2/Math.PI,s<0&&(s+=360);const o=Math.sqrt(r*r+n*n);return[t,o,s]};m.lch.lab=function(e){const t=e[0],r=e[1],s=e[2]/360*2*Math.PI,i=r*Math.cos(s),o=r*Math.sin(s);return[t,i,o]};m.rgb.ansi16=function(e,t=null){const[r,n,s]=e;let i=t===null?m.rgb.hsv(e)[2]:t;if(i=Math.round(i/50),i===0)return 30;let o=30+(Math.round(s/255)<<2|Math.round(n/255)<<1|Math.round(r/255));return i===2&&(o+=60),o};m.hsv.ansi16=function(e){return m.rgb.ansi16(m.hsv.rgb(e),e[2])};m.rgb.ansi256=function(e){const t=e[0],r=e[1],n=e[2];return t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)};m.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const r=(~~(e>50)+1)*.5,n=(t&1)*r*255,s=(t>>1&1)*r*255,i=(t>>2&1)*r*255;return[n,s,i]};m.ansi256.rgb=function(e){if(e>=232){const i=(e-232)*10+8;return[i,i,i]}e-=16;let t;const r=Math.floor(e/36)/5*255,n=Math.floor((t=e%36)/6)/5*255,s=t%6/5*255;return[r,n,s]};m.rgb.hex=function(e){const r=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};m.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=r.split("").map(l=>l+l).join(""));const n=parseInt(r,16),s=n>>16&255,i=n>>8&255,o=n&255;return[s,i,o]};m.rgb.hcg=function(e){const t=e[0]/255,r=e[1]/255,n=e[2]/255,s=Math.max(Math.max(t,r),n),i=Math.min(Math.min(t,r),n),o=s-i;let l,a;return o<1?l=i/(1-o):l=0,o<=0?a=0:s===t?a=(r-n)/o%6:s===r?a=2+(n-t)/o:a=4+(t-r)/o,a/=6,a%=1,[a*360,o*100,l*100]};m.hsl.hcg=function(e){const t=e[1]/100,r=e[2]/100,n=r<.5?2*t*r:2*t*(1-r);let s=0;return n<1&&(s=(r-.5*n)/(1-n)),[e[0],n*100,s*100]};m.hsv.hcg=function(e){const t=e[1]/100,r=e[2]/100,n=t*r;let s=0;return n<1&&(s=(r-n)/(1-n)),[e[0],n*100,s*100]};m.hcg.rgb=function(e){const t=e[0]/360,r=e[1]/100,n=e[2]/100;if(r===0)return[n*255,n*255,n*255];const s=[0,0,0],i=t%1*6,o=i%1,l=1-o;let a=0;switch(Math.floor(i)){case 0:s[0]=1,s[1]=o,s[2]=0;break;case 1:s[0]=l,s[1]=1,s[2]=0;break;case 2:s[0]=0,s[1]=1,s[2]=o;break;case 3:s[0]=0,s[1]=l,s[2]=1;break;case 4:s[0]=o,s[1]=0,s[2]=1;break;default:s[0]=1,s[1]=0,s[2]=l}return a=(1-r)*n,[(r*s[0]+a)*255,(r*s[1]+a)*255,(r*s[2]+a)*255]};m.hcg.hsv=function(e){const t=e[1]/100,r=e[2]/100,n=t+r*(1-t);let s=0;return n>0&&(s=t/n),[e[0],s*100,n*100]};m.hcg.hsl=function(e){const t=e[1]/100,n=e[2]/100*(1-t)+.5*t;let s=0;return n>0&&n<.5?s=t/(2*n):n>=.5&&n<1&&(s=t/(2*(1-n))),[e[0],s*100,n*100]};m.hcg.hwb=function(e){const t=e[1]/100,r=e[2]/100,n=t+r*(1-t);return[e[0],(n-t)*100,(1-n)*100]};m.hwb.hcg=function(e){const t=e[1]/100,n=1-e[2]/100,s=n-t;let i=0;return s<1&&(i=(n-s)/(1-s)),[e[0],s*100,i*100]};m.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};m.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};m.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};m.gray.hsl=function(e){return[0,0,e[0]]};m.gray.hsv=m.gray.hsl;m.gray.hwb=function(e){return[0,100,e[0]]};m.gray.cmyk=function(e){return[0,0,0,e[0]]};m.gray.lab=function(e){return[e[0],0,0]};m.gray.hex=function(e){const t=Math.round(e[0]/100*255)&255,n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n};m.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]};const ce=Et;function xs(){const e={},t=Object.keys(ce);for(let r=t.length,n=0;n<r;n++)e[t[n]]={distance:-1,parent:null};return e}function Cs(e){const t=xs(),r=[e];for(t[e].distance=0;r.length;){const n=r.pop(),s=Object.keys(ce[n]);for(let i=s.length,o=0;o<i;o++){const l=s[o],a=t[l];a.distance===-1&&(a.distance=t[n].distance+1,a.parent=n,r.unshift(l))}}return t}function Ps(e,t){return function(r){return t(e(r))}}function js(e,t){const r=[t[e].parent,e];let n=ce[t[e].parent][e],s=t[e].parent;for(;t[s].parent;)r.unshift(t[s].parent),n=Ps(ce[t[s].parent][s],n),s=t[s].parent;return n.conversion=r,n}var Ds=function(e){const t=Cs(e),r={},n=Object.keys(t);for(let s=n.length,i=0;i<s;i++){const o=n[i];t[o].parent!==null&&(r[o]=js(o,t))}return r};const Ne=Et,Fs=Ds,B={},_s=Object.keys(Ne);function Gs(e){const t=function(...r){const n=r[0];return n==null?n:(n.length>1&&(r=n),e(r))};return"conversion"in e&&(t.conversion=e.conversion),t}function Ms(e){const t=function(...r){const n=r[0];if(n==null)return n;n.length>1&&(r=n);const s=e(r);if(typeof s=="object")for(let i=s.length,o=0;o<i;o++)s[o]=Math.round(s[o]);return s};return"conversion"in e&&(t.conversion=e.conversion),t}_s.forEach(e=>{B[e]={},Object.defineProperty(B[e],"channels",{value:Ne[e].channels}),Object.defineProperty(B[e],"labels",{value:Ne[e].labels});const t=Fs(e);Object.keys(t).forEach(n=>{const s=t[n];B[e][n]=Ms(s),B[e][n].raw=Gs(s)})});var Xs=B;const gt=Lt(Xs);function Hs(e){return e?new Date(e*1e3).toLocaleString("en-gb",{day:"2-digit",month:"short",year:"numeric"}):"Invalid date"}function zs(e){return new Date(e).toLocaleString("da-dk",{day:"2-digit",month:"2-digit",year:"2-digit"})}function Bs(e){return new Date(e).toLocaleString("da-dk",{hour:"2-digit",minute:"2-digit",day:"2-digit",month:"short",year:"2-digit"})}function Ys(e){const t=Date.now(),r=60*60*1e3,n=24*r,s=t-e*1e3;if(s<0)return"Unknown time ago";if(s>n){const o=Math.floor(s/n);return`${o} day${o>1?"s":""} ago`}const i=Math.floor(s/r);return i>1?`${i} hours ago`:i===1?"1 hour ago":"<1 hour ago"}const Ws=e=>e[e.length-1],Ks=e=>e.length<=1?[]:e.slice(0,e.length-1),Zs=e=>e.length<=1?[]:e.slice(1);function Js(e){return e.includes("\\")?"\\":"/"}const Qs=(e,t)=>[e,encodeURIComponent(t)].join("/"),ei=(e,t)=>{const r=ee.valid(ee.clean(e)),n=ee.valid(ee.clean(t));return!r||!n?r?1:n?-1:e.toLowerCase().localeCompare(t.toLowerCase()):ee.compare(r,n)},nt=new Map;function vt(e){const t=Us(e);return Math.sqrt(Math.pow(t[0],2)*.241+Math.pow(t[1],2)*.691+Math.pow(t[2],2)*.068)}const st=new Map;function Us(e){const t=st.get(e);if(t)return t;const r=gt.hex.rgb(e);return st.set(e,r),r}const ti=e=>{if(!/^#([0-9A-F]{3}){1,2}$/i.test(e))return"#000000";const t=nt.get(e);if(t)return t;const n=vt(e)>186?"#000000":"#ffffff";return nt.set(e,n),n},it=new Map;function ri(e,t,r){const n=`${e}-${t}-${r}`,s=it.get(n);if(s)return s;const i=`#${gt.hsl.hex([e,t,r])}`;return it.set(n,i),i}function ni(e){return vt(e)/255}const si=(e=null)=>(e==null?void 0:e.type)==="tree",ii=(e=null)=>(e==null?void 0:e.type)==="blob";function oi({headGroups:e,analyzedHeads:t,disabled:r,className:n="",...s}){const i=Object.entries(e);return Z.jsxs("div",{className:"grid w-full grid-cols-[auto_1fr] place-items-center gap-2",children:[Z.jsx(Ot.Icon,{path:At,size:.75}),Z.jsx("select",{className:`input text-gray-800 ${n}`,...s,children:i.map(([o,l])=>Object.entries(l).length>0?Z.jsx("optgroup",{label:o,children:Object.entries(l).map(([a,c])=>{const u=t[c];return Z.jsx("option",{value:a,disabled:r,title:u?"Analyzed":"Not analyzed",children:a},a)})},o):null)})]})}export{oi as R,Hs as a,ti as b,Bs as c,zs as d,ni as e,Js as f,Qs as g,ri as h,ii as i,Ks as j,si as k,Ws as l,Zs as m,Ys as n,ei as s};
@@ -0,0 +1 @@
1
+ import{u as c,r as l,j as e,a as o,b as g,L as d}from"./components-eab0844a.js";import{c as x,C as r}from"./util-5b787743.js";import{g as C,R as h}from"./RevisionSelect-63a449e9.js";const B="/build/assets/truck-ac0ca9ed.gif";function m({className:t=""}){const a=c();l.useEffect(()=>{a.state==="idle"&&a.load("/progress")},[a.state]);const A=l.useMemo(()=>{if(!a.data)return"Starting analyzation";const{progress:n,totalCommitCount:s,analyzationStatus:i}=a.data;return!i||i==="Starting"?"Starting analyzation":i==="GeneratingChart"?"Generating chart":"Analyzing commits: "+(n&&s?Math.round(n/s*100):0)+"% done"},[a.data]);return e.jsx("div",{className:x("grid h-full w-full place-items-center",t),style:{backgroundColor:"var(--global-bg-color)"},children:e.jsxs("div",{className:"flex animate-hide-initially flex-col px-2 py-2 opacity-0",children:[e.jsx("p",{className:"text-center text-3xl font-bold opacity-70",children:A}),e.jsx("img",{src:B,alt:"🚛",className:"w-full min-w-0 max-w-sm self-center"})]})})}const p="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAAHuElEQVR4Xu2dsW8cVRCHL30sBEoqQKK1EI3/gasc6oBEQ41k5ILO3VV2eugiRRE9Tf6Ao3FL4QbRWCJCMjVVJEqj5CwB0nt3nt/N7s7sfCmdN2/nfb/5vOuN7TxY8AcChQk8KHx2jg6BBQIwBKUJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4ObybAJeXl7fgjEdguVy6ZRzvdPt35AYHAfYPY4gdEGA7VQQYYuoC7YkACBBoHMdvBQEQYPypC3RFBECAQOM4fisIMLEAR0dH46de8IpXV1fNU/cE6L20qCbM4F8EI8A4NiKAxhkBNG7hqhBAiwQBNG7hqhBAiwQBNG7hqhBAiwQBNG7hqhBAiwQBNG7hqqwC3Nz8bfrerdevfzG9ZQoHqNMQAmRJakefCKAFiQAat3BVCKBFggAat3BVCKBFggAat3BVCKBFggAat3BVCKBF4ibAarVqvlU4OzvTOqPKRGBoAXrNZH87hACmMYu7GAG0bBBA4xauCgG0SBBA4xauCgG0SBBA4xauCgG0SBBA4xauCgG0SNwE6P2EET8QowVjrbIK8NXzP03fC2Ttp7f+p5OP3GbOoye3ZhDAIw59DwTQ2CGAxi1cFQJokSCAxi1cFQJokSCAxi1cFQJokSCAxi1cFQJokSCAxi1clZcAv/5wbDrbZ9+tm+t7+/TWT/V2CAFMccddjABaNgigcQtXhQBaJAigcQtXhQBaJAigcQtXhQBaJAigcQtXhQBaJAigcQtXlUWAHrip3g4hQLhR1hpCAI0bAmjcwlUhgBYJAmjcwlUhgBYJAmjcwlUhgBYJAmjcwlUhgBYJAmjcwlVlF2Cqt0MIEG6UtYYQQOOGABq3cFUIoEWCABq3cFUIoEWCABq3cFUIoEWCABq3cFUIoEXiJgC/HVoLwKsKATSSCKBxC1eFAFokCKBxC1eFAFokCKBxC1eFAFokCKBxC1eFAFokCKBxC1eFAFokbgLwy3G1ALyqvAT46+a3ZksffPypV6vNfbyua/39QggwaKzjbY4AG9YIMN7MhboSAiBAqIEcuxkEQICxZy7U9RAAAUIN5NjNIAACjD1zoa5XTYDTw9+b/JfLpenFjmnxtsR5DTqtDwiw4Y8A087hZFdHAASYbPgiXBgBECDCHE7WAwIgwGTDF+HCCBBUgAjDUbmHi4uL5vHf//LH5set35PTW99j3vueIut1X379XvMSBwcHphc7psXKW6DKwxfh7AiwPQUEiDClA/aAAAgw4HjF3xoBECD+lA7YIQIgwIDjFX9rBBhJgNPT01vLOFxfX1uWm9eu1+3/wby30fGx7X9I7+3z4uFDc68eBd+8eWPaxvoWqLf5z88+b/7V4eFh8+MffvG9qU/rT6JN9gMxCLDJFQE2HBBgh+fcAUyfCHcu5g6wQcQd4G5UeATa7gyPQBs+bv8OwCMQj0D/VY5HIB6Bdj62eC7gEWjiR6BemLeLRfPt0JPOW5f1em29KzX3//bkpNnSo8ePmx8/Pz/vHcHaT3OfP54+Nb0ls8rxyatXLn1uuW4KzlZuQ0N7O/0IsFgsEGAzmkN/okGAOwLcAayjsHM9d4CdiBoLuANsoHAH4A7wPz34GkD5dNKv4WsAjSdfA9xxG/rZlDtA0TuA5qWpqvlsulqtTJsMLYCpmZiLZ8l58DvACFnOMpgRuFkvMUvOCDDSI5B12gKuR4CAobxtaZbBBGQ9S87cAbgD3Nc1BLgvqZHXzTKYkRne53Kz5DyHO0AvPOv33syZxX0GXF2TmvOcQ08djDqNE9Sl5owA/07MnFkM6QUCDEl3j71TB7PHuccuTc15zp/1Ugcz9hTvcb3UnBGAR6A9Zv9dKQLsS5B6CExFYM53gKmYct1EBBAgUVi06k8AAfyZsmMiAgiQKCxa9SeAAP5M2TERAQRIFBat+hNAAH+m7JiIAAIkCotW/QkggD9TdkxEAAEShUWr/gQQwJ8pOyYigACJwqJVfwII4M+UHRMRQIBEYdGqPwEE8GfKjokIIECisGjVnwAC+DNlx0QEECBRWLTqTwAB/JmyYyICCJAoLFr1J4AA/kzZMREBBEgUFq36E0AAf6bsmIgAAiQKi1b9CSCAP1N2TEQAARKFRav+BBDAnyk7JiKAAInColV/Agjgz5QdExFAgERh0ao/AQTwZ8qOiQggQKKwaNWfAAL4M2XHRAQQIFFYtOpPAAH8mbJjIgIIkCgsWvUngAD+TNkxEQEESBQWrfoTQAB/puyYiAACJAqLVv0JIIA/U3ZMRAABEoVFq/4EEMCfKTsmIoAAicKiVX8CCODPlB0TEUCARGHRqj8BBPBnyo6JCPwDAEEjDFGnv/IAAAAASUVORK5CYIIA";function I(){const{repositories:t,baseDir:a,baseDirName:A}=o();return g().state!=="idle"?e.jsx("div",{className:"grid h-screen place-items-center",children:e.jsx(m,{})}):e.jsxs("main",{className:"m-auto flex min-h-screen w-full max-w-7xl flex-col gap-2 p-2",children:[e.jsxs("div",{className:"card",children:[e.jsxs("h1",{className:"flex items-center text-4xl",children:[e.jsx("img",{src:p,alt:"Git Truck",className:"mr-2 inline-block h-12"}),"Git Truck"]}),e.jsx("p",{children:e.jsxs(e.Fragment,{children:["Found ",t.length," git repositor",t.length===1?"y":"ies"," in the folder"," ",e.jsx(r,{inline:!0,title:a,children:A}),"."]})})]}),e.jsx(u,{repositories:t})]})}function u({repositories:t}){return t.length===0?e.jsx(e.Fragment,{children:e.jsxs("p",{children:["Try running ",e.jsx(r,{inline:!0,children:"git-truck"})," in another folder or provide another path as argument."]})}):e.jsx(e.Fragment,{children:e.jsx("nav",{children:e.jsxs("ul",{className:"grid grid-cols-[repeat(auto-fit,minmax(225px,1fr))] gap-2",children:[t.map(a=>e.jsx(f,{repo:a},a.path)),e.jsxs("li",{className:"card gap-3 p-0",children:[e.jsxs("h2",{className:"card__title rounded-t bg-gradient-to-r from-blue-500 to-blue-600 p-3 pb-3 text-white transition-colors",title:"Add repository",children:[e.jsx("span",{className:"line-clamp-1 break-all",children:"Add repository"}),e.jsx("span",{className:"align-content-start right-0 top-0 flex min-w-max select-none place-items-center rounded-full bg-white/20 px-2 py-1.5 text-xs font-bold uppercase leading-none tracking-widest text-white/90",children:"Coming soon"})]}),e.jsxs("div",{className:"flex flex-col gap-2 p-3 pt-0",children:[e.jsx("input",{type:"text",className:"input",placeholder:"git@github.com/owner/repo.git"}),e.jsx("button",{className:"btn",disabled:!0,title:"Coming soon!",children:"Clone"})]})]})]})})})}function f({repo:t}){const[a,A]=l.useState(t.currentHead),n=C(t.name,a),s=t.analyzedHeads[a];return e.jsx("div",{children:e.jsxs("div",{className:"card gap-3 p-0",children:[e.jsxs("h2",{className:`card__title rounded-t bg-gradient-to-r p-3 text-white ${s?" from-green-500 to-green-600 ":"from-gray-500 to-gray-600"}`,title:t.name,children:[e.jsx("h2",{className:"line-clamp-1 break-all",children:t.name}),e.jsx("span",{className:"align-content-start right-0 top-0 flex min-w-max select-none place-items-center rounded-full bg-white/20 px-2 py-1.5 text-xs font-bold uppercase leading-none tracking-widest text-white/90",children:s?"Ready":"Not analyzed"})]}),e.jsxs("div",{className:"flex flex-col gap-2 p-3 pt-0",children:[e.jsx(h,{value:a,onChange:i=>A(i.target.value),headGroups:t.refs,analyzedHeads:t.analyzedHeads}),e.jsx("div",{className:"grid",children:e.jsx(d,{className:`btn ${s?"btn--success":""}`,to:n,children:s?"View":"Analyze"})})]})]})},t.name)}export{I as default};