@imenam/mcp-documentor 1.0.42 → 1.0.43

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 (68) hide show
  1. package/dist/shared/schemas/doc.schema.d.ts +3 -0
  2. package/dist/shared/schemas/doc.schema.js +2 -1
  3. package/dist/src/core/section-tracker.d.ts +3 -1
  4. package/dist/src/core/section-tracker.js +30 -6
  5. package/dist/src/gui-worker.js +3 -1
  6. package/dist/src/tools/get-doc-metadata.js +1 -1
  7. package/dist/src/tools/refresh-file-snapshot.js +5 -1
  8. package/dist/src/tools/search-docs.js +5 -4
  9. package/dist/src/version.d.ts +1 -1
  10. package/dist/src/version.js +1 -1
  11. package/gui/dist/assets/{_baseUniq-CAC7UtIV.js → _baseUniq-DZMSH6LY.js} +1 -1
  12. package/gui/dist/assets/{arc-CWPLoMKh.js → arc-d6vCj415.js} +1 -1
  13. package/gui/dist/assets/{architectureDiagram-Q4EWVU46-BWFAS_jb.js → architectureDiagram-Q4EWVU46-DpjCbxl8.js} +1 -1
  14. package/gui/dist/assets/{blockDiagram-DXYQGD6D-CT_9uxA4.js → blockDiagram-DXYQGD6D-CZIaNHcg.js} +1 -1
  15. package/gui/dist/assets/{c4Diagram-AHTNJAMY-D-DmwGiz.js → c4Diagram-AHTNJAMY-1msrJILA.js} +1 -1
  16. package/gui/dist/assets/channel-BFrTrLvs.js +1 -0
  17. package/gui/dist/assets/{chunk-4BX2VUAB-C0xLQwJ7.js → chunk-4BX2VUAB-CkLF885e.js} +1 -1
  18. package/gui/dist/assets/{chunk-4TB4RGXK-bMsBCqYj.js → chunk-4TB4RGXK-D8CC2YNW.js} +1 -1
  19. package/gui/dist/assets/{chunk-55IACEB6-BY1WMvcH.js → chunk-55IACEB6-C7FEdpkb.js} +1 -1
  20. package/gui/dist/assets/{chunk-EDXVE4YY-BQC7TacF.js → chunk-EDXVE4YY-C23agwGR.js} +1 -1
  21. package/gui/dist/assets/{chunk-FMBD7UC4-bP7fPFzd.js → chunk-FMBD7UC4-CEhsfI5h.js} +1 -1
  22. package/gui/dist/assets/{chunk-OYMX7WX6-C4IwYIda.js → chunk-OYMX7WX6-ilR6wRCK.js} +1 -1
  23. package/gui/dist/assets/{chunk-QZHKN3VN-Cf4Xcz9l.js → chunk-QZHKN3VN-DdQZG0vY.js} +1 -1
  24. package/gui/dist/assets/{chunk-YZCP3GAM-CigQkEAZ.js → chunk-YZCP3GAM-CgmspmqH.js} +1 -1
  25. package/gui/dist/assets/classDiagram-6PBFFD2Q-BZfAjuci.js +1 -0
  26. package/gui/dist/assets/classDiagram-v2-HSJHXN6E-BZfAjuci.js +1 -0
  27. package/gui/dist/assets/clone-yCXJEjsc.js +1 -0
  28. package/gui/dist/assets/{cose-bilkent-S5V4N54A-CrIJv9Xh.js → cose-bilkent-S5V4N54A-56jCXyJj.js} +1 -1
  29. package/gui/dist/assets/{dagre-KV5264BT-DTbmoEVc.js → dagre-KV5264BT-DGnxBfaO.js} +1 -1
  30. package/gui/dist/assets/{diagram-5BDNPKRD-Cnjq8sNy.js → diagram-5BDNPKRD-DogE9xah.js} +1 -1
  31. package/gui/dist/assets/{diagram-G4DWMVQ6-Cc0sWbzZ.js → diagram-G4DWMVQ6-DyZFSdHs.js} +1 -1
  32. package/gui/dist/assets/{diagram-MMDJMWI5-D34S9PpQ.js → diagram-MMDJMWI5-sWXZ6wCa.js} +1 -1
  33. package/gui/dist/assets/{diagram-TYMM5635-BsPe6ShI.js → diagram-TYMM5635-C7qkJ6-2.js} +1 -1
  34. package/gui/dist/assets/{erDiagram-SMLLAGMA-BeFJ1foo.js → erDiagram-SMLLAGMA-AhWYISUY.js} +1 -1
  35. package/gui/dist/assets/{flowDiagram-DWJPFMVM-CjMFd88O.js → flowDiagram-DWJPFMVM-Br8z3zk6.js} +1 -1
  36. package/gui/dist/assets/{ganttDiagram-T4ZO3ILL-CugMb9XL.js → ganttDiagram-T4ZO3ILL-CBCeivaB.js} +1 -1
  37. package/gui/dist/assets/{gitGraphDiagram-UUTBAWPF-BMDVmwo4.js → gitGraphDiagram-UUTBAWPF-Cnlj4QP0.js} +1 -1
  38. package/gui/dist/assets/{graph-IE3vzU1d.js → graph-Cjti22ih.js} +1 -1
  39. package/gui/dist/assets/index-S_CEg9ug.css +1 -0
  40. package/gui/dist/assets/{index-Tfvmw2iu.js → index-r9vO4oVD.js} +4 -4
  41. package/gui/dist/assets/{infoDiagram-42DDH7IO-dFksHKzL.js → infoDiagram-42DDH7IO-5N3Oyg5b.js} +1 -1
  42. package/gui/dist/assets/{ishikawaDiagram-UXIWVN3A-Dn5JS3n-.js → ishikawaDiagram-UXIWVN3A-8hzonEtF.js} +1 -1
  43. package/gui/dist/assets/{journeyDiagram-VCZTEJTY-flNLUjGA.js → journeyDiagram-VCZTEJTY-KRgQGKFH.js} +1 -1
  44. package/gui/dist/assets/{kanban-definition-6JOO6SKY-BHMQ95I3.js → kanban-definition-6JOO6SKY-B8BnXjy5.js} +1 -1
  45. package/gui/dist/assets/{layout-DILumY9_.js → layout-CeSYiiC6.js} +1 -1
  46. package/gui/dist/assets/{linear-CEWdQMoX.js → linear-GvfAFEU8.js} +1 -1
  47. package/gui/dist/assets/{min-BSijUdNS.js → min-CkKufs6A.js} +1 -1
  48. package/gui/dist/assets/{mindmap-definition-QFDTVHPH-CbIdCT18.js → mindmap-definition-QFDTVHPH-DLavNUck.js} +1 -1
  49. package/gui/dist/assets/{pieDiagram-DEJITSTG-BIeSpZ8o.js → pieDiagram-DEJITSTG-DHcucViZ.js} +1 -1
  50. package/gui/dist/assets/{quadrantDiagram-34T5L4WZ-C2_VeK0y.js → quadrantDiagram-34T5L4WZ-DKJ9xm03.js} +1 -1
  51. package/gui/dist/assets/{requirementDiagram-MS252O5E-BobeMyYU.js → requirementDiagram-MS252O5E-_HRD8DRs.js} +1 -1
  52. package/gui/dist/assets/{sankeyDiagram-XADWPNL6-_0K0w8mh.js → sankeyDiagram-XADWPNL6-BheI7uAI.js} +1 -1
  53. package/gui/dist/assets/{sequenceDiagram-FGHM5R23-CxWseivu.js → sequenceDiagram-FGHM5R23-DWW_pOkZ.js} +1 -1
  54. package/gui/dist/assets/{stateDiagram-FHFEXIEX-xAnXnHUU.js → stateDiagram-FHFEXIEX-CMInyUmC.js} +1 -1
  55. package/gui/dist/assets/stateDiagram-v2-QKLJ7IA2-Dueg5g0Q.js +1 -0
  56. package/gui/dist/assets/{timeline-definition-GMOUNBTQ-CPuPjJg7.js → timeline-definition-GMOUNBTQ-843gDlOd.js} +1 -1
  57. package/gui/dist/assets/{vennDiagram-DHZGUBPP-oTLkRNDM.js → vennDiagram-DHZGUBPP-36_WQJ2W.js} +1 -1
  58. package/gui/dist/assets/{wardley-RL74JXVD-AP7N9VGj.js → wardley-RL74JXVD-DAuMNidq.js} +1 -1
  59. package/gui/dist/assets/{wardleyDiagram-NUSXRM2D-t_vBEbYh.js → wardleyDiagram-NUSXRM2D-DPec4Dij.js} +1 -1
  60. package/gui/dist/assets/{xychartDiagram-5P7HB3ND-DrSm-1-s.js → xychartDiagram-5P7HB3ND-W-o516TZ.js} +1 -1
  61. package/gui/dist/index.html +2 -2
  62. package/package.json +1 -1
  63. package/gui/dist/assets/channel-BPqVwb1D.js +0 -1
  64. package/gui/dist/assets/classDiagram-6PBFFD2Q-C4UDSQAO.js +0 -1
  65. package/gui/dist/assets/classDiagram-v2-HSJHXN6E-C4UDSQAO.js +0 -1
  66. package/gui/dist/assets/clone-Bqy5nShd.js +0 -1
  67. package/gui/dist/assets/index-BEJDvqRE.css +0 -1
  68. package/gui/dist/assets/stateDiagram-v2-QKLJ7IA2-BAi3xiyL.js +0 -1
@@ -5,6 +5,7 @@ export declare const TrackedSectionSchema: z.ZodObject<{
5
5
  bottom: z.ZodArray<z.ZodString>;
6
6
  }, z.core.$strip>;
7
7
  sectionHash: z.ZodString;
8
+ lineCount: z.ZodOptional<z.ZodNumber>;
8
9
  }, z.core.$strip>;
9
10
  export type TrackedSection = z.infer<typeof TrackedSectionSchema>;
10
11
  export declare const TrackedFileSchema: z.ZodObject<{
@@ -17,6 +18,7 @@ export declare const TrackedFileSchema: z.ZodObject<{
17
18
  bottom: z.ZodArray<z.ZodString>;
18
19
  }, z.core.$strip>;
19
20
  sectionHash: z.ZodString;
21
+ lineCount: z.ZodOptional<z.ZodNumber>;
20
22
  }, z.core.$strip>>>;
21
23
  }, z.core.$strip>;
22
24
  export type TrackedFile = z.infer<typeof TrackedFileSchema>;
@@ -46,6 +48,7 @@ export declare const DocSchema: z.ZodObject<{
46
48
  bottom: z.ZodArray<z.ZodString>;
47
49
  }, z.core.$strip>;
48
50
  sectionHash: z.ZodString;
51
+ lineCount: z.ZodOptional<z.ZodNumber>;
49
52
  }, z.core.$strip>>>;
50
53
  }, z.core.$strip>>>;
51
54
  tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -5,6 +5,7 @@ export const TrackedSectionSchema = z.object({
5
5
  bottom: z.array(z.string()),
6
6
  }),
7
7
  sectionHash: z.string(),
8
+ lineCount: z.number().optional(),
8
9
  });
9
10
  export const TrackedFileSchema = z.object({
10
11
  path: z.string(),
@@ -75,7 +76,7 @@ export const SearchDocsArgsSchema = z.object({
75
76
  });
76
77
  export const RefreshFileSnapshotArgsSchema = z.object({
77
78
  paths: z.array(z.string()).min(1).describe("Paths of documentation entries to refresh, e.g. ['backend/auth/authentication', 'setup']"),
78
- file_paths: z.array(z.string()).optional().describe("Specific tracked file paths to refresh (refreshes all tracked files if omitted)"),
79
+ file_paths: z.array(z.string()).optional().describe("Specific tracked file paths to refresh, as absolute paths (refreshes all tracked files if omitted)"),
79
80
  });
80
81
  export const GetDocMetadataArgsSchema = z.object({
81
82
  path: z.string().describe("Path of the documentation entry, e.g. 'backend/auth/authentication'"),
@@ -2,7 +2,9 @@ import type { TrackedSection } from "../../shared/schemas/doc.schema.js";
2
2
  /**
3
3
  * Reads a file and snapshots a section defined by 1-indexed [start, end] line numbers.
4
4
  * Extracts top/bottom anchor lines and computes a hash of the section content.
5
- * The `lines` input is intentionally not persisted — only anchors and sectionHash are stored.
5
+ * The `lines` input is intentionally not persisted — only anchors, sectionHash, and lineCount are stored.
6
+ * `lineCount` is used by findAndHashSection to constrain the bottom anchor search and prevent
7
+ * false matches when the file contains repeated lines.
6
8
  */
7
9
  export declare function snapshotSection(absolutePath: string, start: number, end: number): TrackedSection;
8
10
  type FindResult = {
@@ -1,10 +1,14 @@
1
1
  import crypto from "crypto";
2
2
  import fs from "fs";
3
3
  const ANCHOR_SIZE = 3;
4
+ // Tolerance (in lines) around the expected bottom anchor position when lineCount is known.
5
+ const BOTTOM_ANCHOR_TOLERANCE = 10;
4
6
  /**
5
7
  * Reads a file and snapshots a section defined by 1-indexed [start, end] line numbers.
6
8
  * Extracts top/bottom anchor lines and computes a hash of the section content.
7
- * The `lines` input is intentionally not persisted — only anchors and sectionHash are stored.
9
+ * The `lines` input is intentionally not persisted — only anchors, sectionHash, and lineCount are stored.
10
+ * `lineCount` is used by findAndHashSection to constrain the bottom anchor search and prevent
11
+ * false matches when the file contains repeated lines.
8
12
  */
9
13
  export function snapshotSection(absolutePath, start, end) {
10
14
  const fileContent = fs.readFileSync(absolutePath, "utf-8");
@@ -24,7 +28,7 @@ export function snapshotSection(absolutePath, start, end) {
24
28
  bottom = sectionLines.slice(sectionLines.length - ANCHOR_SIZE);
25
29
  }
26
30
  const sectionHash = crypto.createHash("sha256").update(sectionLines.join("\n")).digest("hex");
27
- return { anchors: { top, bottom }, sectionHash };
31
+ return { anchors: { top, bottom }, sectionHash, lineCount: sectionLines.length };
28
32
  }
29
33
  /**
30
34
  * Locates a tracked section in the current file content using its stored anchors,
@@ -50,12 +54,23 @@ export function findAndHashSection(absolutePath, section) {
50
54
  }
51
55
  return { found: false };
52
56
  }
53
- // Normal path: locate top anchor, then search for bottom anchor below it
57
+ // Normal path: locate top anchor, then search for bottom anchor below it.
58
+ // If lineCount is stored, constrain the search window to prevent false matches on repeated lines.
54
59
  for (let i = 0; i <= fileLines.length - top.length; i++) {
55
60
  if (!top.every((line, j) => fileLines[i + j] === line))
56
61
  continue;
57
62
  const searchStart = i + top.length;
58
- for (let k = searchStart; k <= fileLines.length - bottom.length; k++) {
63
+ // Constrain bottom anchor search when lineCount is known
64
+ const expectedBottomStart = section.lineCount !== undefined
65
+ ? i + section.lineCount - bottom.length
66
+ : undefined;
67
+ const kMin = expectedBottomStart !== undefined
68
+ ? Math.max(searchStart, expectedBottomStart - BOTTOM_ANCHOR_TOLERANCE)
69
+ : searchStart;
70
+ const kMax = expectedBottomStart !== undefined
71
+ ? Math.min(fileLines.length - bottom.length, expectedBottomStart + BOTTOM_ANCHOR_TOLERANCE)
72
+ : fileLines.length - bottom.length;
73
+ for (let k = kMin; k <= kMax; k++) {
59
74
  if (!bottom.every((line, j) => fileLines[k + j] === line))
60
75
  continue;
61
76
  const sectionLines = fileLines.slice(i, k + bottom.length);
@@ -87,12 +102,21 @@ export function relocateAndRefreshSection(absolutePath, section) {
87
102
  if (!top.every((line, j) => fileLines[i + j] === line))
88
103
  continue;
89
104
  const searchStart = i + top.length;
90
- for (let k = searchStart; k <= fileLines.length - bottom.length; k++) {
105
+ const expectedBottomStart = section.lineCount !== undefined
106
+ ? i + section.lineCount - bottom.length
107
+ : undefined;
108
+ const kMin = expectedBottomStart !== undefined
109
+ ? Math.max(searchStart, expectedBottomStart - BOTTOM_ANCHOR_TOLERANCE)
110
+ : searchStart;
111
+ const kMax = expectedBottomStart !== undefined
112
+ ? Math.min(fileLines.length - bottom.length, expectedBottomStart + BOTTOM_ANCHOR_TOLERANCE)
113
+ : fileLines.length - bottom.length;
114
+ for (let k = kMin; k <= kMax; k++) {
91
115
  if (!bottom.every((line, j) => fileLines[k + j] === line))
92
116
  continue;
93
117
  const sectionLines = fileLines.slice(i, k + bottom.length);
94
118
  const sectionHash = crypto.createHash("sha256").update(sectionLines.join("\n")).digest("hex");
95
- return { found: true, refreshed: { anchors: section.anchors, sectionHash } };
119
+ return { found: true, refreshed: { anchors: section.anchors, sectionHash, lineCount: sectionLines.length } };
96
120
  }
97
121
  }
98
122
  return { found: false };
@@ -390,6 +390,7 @@ app.get("/api/export-zip/:id", async (c) => {
390
390
  }
391
391
  }
392
392
  catch { /* use default */ }
393
+ const flat = c.req.query('flat') === '1';
393
394
  const zip = new JSZip();
394
395
  for (const ref of bundle.docs) {
395
396
  let project;
@@ -416,7 +417,8 @@ app.get("/api/export-zip/:id", async (c) => {
416
417
  content = `# [Read error: ${ref}]\n`;
417
418
  }
418
419
  }
419
- zip.file(`${project}/${docId}.md`, content);
420
+ const zipPath = flat ? `${docId.split('/').pop()}.md` : `${project}/${docId}.md`;
421
+ zip.file(zipPath, content);
420
422
  }
421
423
  const zipBuffer = await zip.generateAsync({ type: "nodebuffer" });
422
424
  return new Response(new Uint8Array(zipBuffer), {
@@ -26,7 +26,7 @@ export async function getDocMetadata(storageEngine, args) {
26
26
  if (doc.tracked_files.length > 0) {
27
27
  text += `\nTracked files (${doc.tracked_files.length} total):\n`;
28
28
  text += doc.tracked_files.map((f) => {
29
- let entry = ` ${fileStatusIcon(f.path)} — ${f.path}\n Snapshot: ${f.lastModifiedAt}`;
29
+ let entry = ` ${fileStatusIcon(f.path)} — ${f.path}\n File mtime: ${f.lastModifiedAt}`;
30
30
  if (f.sections && f.sections.length > 0) {
31
31
  const sectionLines = f.sections.map((section, idx) => {
32
32
  const result = findAndHashSection(f.path, section);
@@ -17,8 +17,12 @@ export async function refreshFileSnapshot(storageEngine, historyStore, args) {
17
17
  const missing = [];
18
18
  const skipped = [];
19
19
  const anchorsLost = [];
20
+ // Normalize to forward slashes and lowercase for case-insensitive comparison on Windows
21
+ // (e.g. stored 'c:\...' vs provided 'C:\...'). file_paths must be absolute paths.
22
+ const norm = (p) => p.replace(/\\/g, "/").toLowerCase();
23
+ const resolvedFilePaths = validated.file_paths?.map(norm);
20
24
  for (const tracked of doc.tracked_files) {
21
- if (validated.file_paths && !validated.file_paths.includes(tracked.path)) {
25
+ if (resolvedFilePaths && !resolvedFilePaths.includes(norm(tracked.path))) {
22
26
  skipped.push(tracked.path);
23
27
  continue;
24
28
  }
@@ -2,9 +2,9 @@ import { SearchDocsArgsSchema } from "../../shared/schemas/doc.schema.js";
2
2
  export async function searchDocs(storageEngine, embeddingEngine, args) {
3
3
  try {
4
4
  const validated = SearchDocsArgsSchema.parse(args);
5
- const currentProject = storageEngine.getConfig().currentProject;
6
- const results = await embeddingEngine.search(validated.query, currentProject, validated.top_k, async (id) => {
7
- const doc = await storageEngine.getDoc(id);
5
+ const config = storageEngine.getConfig();
6
+ const results = await embeddingEngine.searchAcrossProjects(validated.query, config.projects, validated.top_k, async (project, docPath) => {
7
+ const doc = await storageEngine.getDoc(docPath, project);
8
8
  if (!doc)
9
9
  return null;
10
10
  return { title: doc.title, content: doc.content };
@@ -13,7 +13,8 @@ export async function searchDocs(storageEngine, embeddingEngine, args) {
13
13
  return { content: [{ type: "text", text: "No matching documentation entries found." }] };
14
14
  }
15
15
  const lines = results.map((r, i) => {
16
- return `${i + 1}. **${r.title}** [${r.id}] — score: ${(r.score * 100).toFixed(1)}%\n ${r.excerpt}...`;
16
+ const projectTag = r.project && r.project !== config.currentProject ? ` _(project: ${r.project})_` : "";
17
+ return `${i + 1}. **${r.title}** [${r.id}]${projectTag} — score: ${(r.score * 100).toFixed(1)}%\n ${r.excerpt}...`;
17
18
  });
18
19
  return {
19
20
  content: [{ type: "text", text: `Search results for "${validated.query}":\n\n${lines.join("\n\n")}` }],
@@ -1 +1 @@
1
- export declare const APP_VERSION = "1.0.42";
1
+ export declare const APP_VERSION = "1.0.43";
@@ -1,2 +1,2 @@
1
1
  // Auto-generated version file - do not edit manually
2
- export const APP_VERSION = '1.0.42';
2
+ export const APP_VERSION = '1.0.43';
@@ -1 +1 @@
1
- import{aY as L,bu as ln,aH as A,aW as P,aG as W,bv as gn,bw as dn,bx as hn,by as z,bz as pn,bp as An,bA as m,aZ as N,b2 as B,b5 as T,bB as _n,b0 as on,bC as wn,bs as On,aI as V,bq as vn,bD as R}from"./index-Tfvmw2iu.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function bn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var U=P?P.prototype:void 0,H=U?U.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return bn(n,k)+"";if(x(n))return H?H.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function In(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function Rn(n,r,e){return r===r?In(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&Rn(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function C(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function Cn(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var $n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dn=/\\(\\)?/g,Gn=Cn(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace($n,function(e,i,f,t){r.push(f?t.replace(Dn,"$1"):i||e)}),r});function Fn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:C(n,r)?[n]:Gn(Fn(n))}function I(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[I(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var K=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(K&&n&&n[K])}function Kr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Bn(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Un(){return[]}var Hn=Object.prototype,Kn=Hn.propertyIsEnumerable,q=Object.getOwnPropertySymbols,qn=q?function(n){return n==null?[]:(n=Object(n),en(q(n),function(r){return Kn.call(n,r)}))}:Un;function Zn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function Z(n){return Zn(n,M,qn)}var Yn="__lodash_hash_undefined__";function Xn(n){return this.__data__.set(n,Yn),this}function Jn(n){return this.__data__.has(n)}function b(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}b.prototype.add=b.prototype.push=Xn;b.prototype.has=Jn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new b:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function $(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Y=P?P.prototype:void 0,S=Y?Y.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=$),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=Z(n),a=u.length,h=Z(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var F=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(F===void 0?O===v||f(O,v,e,i,t):F)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var y=n.constructor,E=r.constructor;y!=E&&"constructor"in n&&"constructor"in r&&!(typeof y=="function"&&y instanceof y&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,X="[object Arguments]",J="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?J:N(n),h=u?J:N(r);a=a==X?c:a,h=h==X?c:h;var g=a==c,l=h==c,d=a==h;if(d&&B(n)){if(!B(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function D(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,D,f)}var vr=1,Pr=2;function br(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?D(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function yr(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=yr(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||br(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=I(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Ir(n,r){return n!=null&&Tr(n,r,cr)}var Rr=1,Sr=2;function Lr(n,r){return C(n)&&sn(r)?un(I(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Ir(e,n):D(r,i,Rr|Sr)}}function xr(n){return function(r){return r?.[n]}}function Mr(n){return function(r){return nn(r,n)}}function Cr(n){return C(n)?xr(I(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):Er(n):Cr(n)}function $r(n,r){return n&&vn(n,r,M)}function Dr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var G=Dr($r);function Gr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:G;return e(n,Gr(r))}function Fr(n,r){var e=[];return G(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Fr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Yr(n,r,e){var i=A(n)?Bn:mr,f=arguments.length<3;return i(n,an(r),e,f,G)}var Nr=1/0,Br=R&&1/$(new R([,-0]))[1]==Nr?function(n){return new R(n)}:yn,Ur=200;function Xr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Ur){var h=r?null:Br(n);if(h)return $(h);s=!1,f=tn,a=new b}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{G as a,Kr as b,an as c,bn as d,rn as e,Zn as f,qn as g,En as h,x as i,Z as j,M as k,Xr as l,Zr as m,qr as n,cn as o,Gr as p,$r as q,Yr as r,Un as s,Tr as t,j as u,I as v,nn as w,Ir as x,Fn as y};
1
+ import{aY as L,bu as ln,aH as A,aW as P,aG as W,bv as gn,bw as dn,bx as hn,by as z,bz as pn,bp as An,bA as m,aZ as N,b2 as B,b5 as T,bB as _n,b0 as on,bC as wn,bs as On,aI as V,bq as vn,bD as R}from"./index-r9vO4oVD.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function bn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var U=P?P.prototype:void 0,H=U?U.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return bn(n,k)+"";if(x(n))return H?H.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function In(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function Rn(n,r,e){return r===r?In(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&Rn(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function C(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function Cn(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var $n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dn=/\\(\\)?/g,Gn=Cn(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace($n,function(e,i,f,t){r.push(f?t.replace(Dn,"$1"):i||e)}),r});function Fn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:C(n,r)?[n]:Gn(Fn(n))}function I(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[I(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var K=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(K&&n&&n[K])}function Kr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Bn(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Un(){return[]}var Hn=Object.prototype,Kn=Hn.propertyIsEnumerable,q=Object.getOwnPropertySymbols,qn=q?function(n){return n==null?[]:(n=Object(n),en(q(n),function(r){return Kn.call(n,r)}))}:Un;function Zn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function Z(n){return Zn(n,M,qn)}var Yn="__lodash_hash_undefined__";function Xn(n){return this.__data__.set(n,Yn),this}function Jn(n){return this.__data__.has(n)}function b(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}b.prototype.add=b.prototype.push=Xn;b.prototype.has=Jn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new b:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function $(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Y=P?P.prototype:void 0,S=Y?Y.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=$),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=Z(n),a=u.length,h=Z(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var F=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(F===void 0?O===v||f(O,v,e,i,t):F)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var y=n.constructor,E=r.constructor;y!=E&&"constructor"in n&&"constructor"in r&&!(typeof y=="function"&&y instanceof y&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,X="[object Arguments]",J="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?J:N(n),h=u?J:N(r);a=a==X?c:a,h=h==X?c:h;var g=a==c,l=h==c,d=a==h;if(d&&B(n)){if(!B(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function D(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,D,f)}var vr=1,Pr=2;function br(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?D(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function yr(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=yr(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||br(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=I(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Ir(n,r){return n!=null&&Tr(n,r,cr)}var Rr=1,Sr=2;function Lr(n,r){return C(n)&&sn(r)?un(I(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Ir(e,n):D(r,i,Rr|Sr)}}function xr(n){return function(r){return r?.[n]}}function Mr(n){return function(r){return nn(r,n)}}function Cr(n){return C(n)?xr(I(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):Er(n):Cr(n)}function $r(n,r){return n&&vn(n,r,M)}function Dr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var G=Dr($r);function Gr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:G;return e(n,Gr(r))}function Fr(n,r){var e=[];return G(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Fr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Yr(n,r,e){var i=A(n)?Bn:mr,f=arguments.length<3;return i(n,an(r),e,f,G)}var Nr=1/0,Br=R&&1/$(new R([,-0]))[1]==Nr?function(n){return new R(n)}:yn,Ur=200;function Xr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Ur){var h=r?null:Br(n);if(h)return $(h);s=!1,f=tn,a=new b}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{G as a,Kr as b,an as c,bn as d,rn as e,Zn as f,qn as g,En as h,x as i,Z as j,M as k,Xr as l,Zr as m,qr as n,cn as o,Gr as p,$r as q,Yr as r,Un as s,Tr as t,j as u,I as v,nn as w,Ir as x,Fn as y};
@@ -1 +1 @@
1
- import{a0 as ln,a1 as an,a2 as y,a3 as tn,a4 as H,a5 as q,a6 as _,a7 as un,a8 as rn,a9 as L,aa as o,ab as B,ac as sn,ad as on,ae as fn}from"./index-Tfvmw2iu.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(fn(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,F=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<rn)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(on((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{a0 as ln,a1 as an,a2 as y,a3 as tn,a4 as H,a5 as q,a6 as _,a7 as un,a8 as rn,a9 as L,aa as o,ab as B,ac as sn,ad as on,ae as fn}from"./index-r9vO4oVD.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(fn(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,F=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<rn)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(on((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};