@plotday/twister 0.32.1 → 0.33.0

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 (93) hide show
  1. package/bin/commands/deploy.js +45 -5
  2. package/bin/commands/deploy.js.map +1 -1
  3. package/bin/templates/AGENTS.template.md +37 -0
  4. package/cli/templates/AGENTS.template.md +37 -0
  5. package/dist/common/projects.d.ts +3 -2
  6. package/dist/common/projects.d.ts.map +1 -1
  7. package/dist/docs/assets/hierarchy.js +1 -1
  8. package/dist/docs/assets/navigation.js +1 -1
  9. package/dist/docs/assets/search.js +1 -1
  10. package/dist/docs/classes/tool.ITool.html +1 -1
  11. package/dist/docs/classes/tool.Tool.html +9 -7
  12. package/dist/docs/classes/tools_ai.AI.html +1 -1
  13. package/dist/docs/classes/tools_callbacks.Callbacks.html +1 -1
  14. package/dist/docs/classes/tools_integrations.Integrations.html +12 -9
  15. package/dist/docs/classes/tools_network.Network.html +1 -1
  16. package/dist/docs/classes/tools_plot.Plot.html +1 -1
  17. package/dist/docs/classes/tools_store.Store.html +1 -1
  18. package/dist/docs/classes/tools_tasks.Tasks.html +1 -1
  19. package/dist/docs/classes/tools_twists.Twists.html +1 -1
  20. package/dist/docs/classes/twist.Twist.html +5 -4
  21. package/dist/docs/documents/Built-in_Tools.html +2 -6
  22. package/dist/docs/enums/plot.ActorType.html +4 -4
  23. package/dist/docs/enums/tools_integrations.AuthProvider.html +11 -11
  24. package/dist/docs/hierarchy.html +1 -1
  25. package/dist/docs/media/SYNC_STRATEGIES.md +39 -0
  26. package/dist/docs/modules/index.html +1 -1
  27. package/dist/docs/modules/tools_integrations.html +1 -1
  28. package/dist/docs/types/plot.Activity.html +1 -1
  29. package/dist/docs/types/plot.ActivityCommon.html +8 -8
  30. package/dist/docs/types/plot.ActivityLink.html +4 -5
  31. package/dist/docs/types/plot.ActivityMeta.html +1 -1
  32. package/dist/docs/types/plot.ActivityOccurrence.html +7 -7
  33. package/dist/docs/types/plot.ActivityOccurrenceUpdate.html +1 -1
  34. package/dist/docs/types/plot.ActivityUpdate.html +1 -1
  35. package/dist/docs/types/plot.ActivityWithNotes.html +1 -1
  36. package/dist/docs/types/plot.Actor.html +5 -5
  37. package/dist/docs/types/plot.ContentType.html +1 -1
  38. package/dist/docs/types/plot.NewActivity.html +1 -1
  39. package/dist/docs/types/plot.NewActivityOccurrence.html +1 -1
  40. package/dist/docs/types/plot.NewActivityWithNotes.html +1 -1
  41. package/dist/docs/types/plot.NewActor.html +1 -1
  42. package/dist/docs/types/plot.NewContact.html +4 -4
  43. package/dist/docs/types/plot.NewNote.html +1 -1
  44. package/dist/docs/types/plot.NewTags.html +1 -1
  45. package/dist/docs/types/plot.Note.html +1 -1
  46. package/dist/docs/types/plot.NoteUpdate.html +3 -3
  47. package/dist/docs/types/plot.PickPriorityConfig.html +2 -2
  48. package/dist/docs/types/plot.Tags.html +1 -1
  49. package/dist/docs/types/tools_integrations.AuthToken.html +4 -4
  50. package/dist/docs/types/tools_integrations.Authorization.html +9 -9
  51. package/dist/llm-docs/common/projects.d.ts +1 -1
  52. package/dist/llm-docs/common/projects.d.ts.map +1 -1
  53. package/dist/llm-docs/common/projects.js +1 -1
  54. package/dist/llm-docs/common/projects.js.map +1 -1
  55. package/dist/llm-docs/plot.d.ts +1 -1
  56. package/dist/llm-docs/plot.d.ts.map +1 -1
  57. package/dist/llm-docs/plot.js +1 -1
  58. package/dist/llm-docs/plot.js.map +1 -1
  59. package/dist/llm-docs/tool.d.ts +1 -1
  60. package/dist/llm-docs/tool.d.ts.map +1 -1
  61. package/dist/llm-docs/tool.js +1 -1
  62. package/dist/llm-docs/tool.js.map +1 -1
  63. package/dist/llm-docs/tools/integrations.d.ts +1 -1
  64. package/dist/llm-docs/tools/integrations.d.ts.map +1 -1
  65. package/dist/llm-docs/tools/integrations.js +1 -1
  66. package/dist/llm-docs/tools/integrations.js.map +1 -1
  67. package/dist/llm-docs/twist-guide-template.d.ts +1 -1
  68. package/dist/llm-docs/twist-guide-template.d.ts.map +1 -1
  69. package/dist/llm-docs/twist-guide-template.js +1 -1
  70. package/dist/llm-docs/twist-guide-template.js.map +1 -1
  71. package/dist/llm-docs/twist.d.ts +1 -1
  72. package/dist/llm-docs/twist.d.ts.map +1 -1
  73. package/dist/llm-docs/twist.js +1 -1
  74. package/dist/llm-docs/twist.js.map +1 -1
  75. package/dist/plot.d.ts +1 -3
  76. package/dist/plot.d.ts.map +1 -1
  77. package/dist/plot.js.map +1 -1
  78. package/dist/tool.d.ts +9 -3
  79. package/dist/tool.d.ts.map +1 -1
  80. package/dist/tool.js +4 -2
  81. package/dist/tool.js.map +1 -1
  82. package/dist/tools/integrations.d.ts +15 -24
  83. package/dist/tools/integrations.d.ts.map +1 -1
  84. package/dist/tools/integrations.js +1 -14
  85. package/dist/tools/integrations.js.map +1 -1
  86. package/dist/twist-guide.d.ts +1 -1
  87. package/dist/twist-guide.d.ts.map +1 -1
  88. package/dist/twist.d.ts +5 -2
  89. package/dist/twist.d.ts.map +1 -1
  90. package/dist/twist.js +2 -1
  91. package/dist/twist.js.map +1 -1
  92. package/package.json +1 -1
  93. package/dist/docs/enums/tools_integrations.AuthLevel.html +0 -7
@@ -47,11 +47,31 @@ const network_error_1 = require("../utils/network-error");
47
47
  const out = __importStar(require("../utils/output"));
48
48
  const sse_1 = require("../utils/sse");
49
49
  const token_js_1 = require("../utils/token.js");
50
+ async function fetchWithRetry(url, options, maxRetries = 3) {
51
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
52
+ try {
53
+ const response = await fetch(url, options);
54
+ if (response.status < 500 || attempt === maxRetries) {
55
+ return response;
56
+ }
57
+ // 5xx — retry with backoff
58
+ const delay = 1000 * Math.pow(2, attempt);
59
+ await new Promise((r) => setTimeout(r, delay));
60
+ }
61
+ catch (error) {
62
+ if (attempt === maxRetries)
63
+ throw error;
64
+ const delay = 1000 * Math.pow(2, attempt);
65
+ await new Promise((r) => setTimeout(r, delay));
66
+ }
67
+ }
68
+ throw new Error("Retry logic error");
69
+ }
50
70
  async function createNewPublisher(apiUrl, deployToken) {
51
71
  // Try to get user's name for default
52
72
  let defaultName = "";
53
73
  try {
54
- const userResponse = await fetch(`${apiUrl}/v1/twist/user`, {
74
+ const userResponse = await fetchWithRetry(`${apiUrl}/v1/twist/user`, {
55
75
  method: "GET",
56
76
  headers: {
57
77
  Authorization: `Bearer ${deployToken}`,
@@ -65,6 +85,10 @@ async function createNewPublisher(apiUrl, deployToken) {
65
85
  out.error("Authentication failed", "Your login token is invalid or has expired. Please run 'plot login' to authenticate.");
66
86
  process.exit(1);
67
87
  }
88
+ else if (userResponse.status >= 500) {
89
+ out.error("Server error", "The Plot API is temporarily unavailable. Please try again.");
90
+ process.exit(1);
91
+ }
68
92
  }
69
93
  catch (error) {
70
94
  // Ignore error, just won't have default
@@ -108,7 +132,7 @@ async function createNewPublisher(apiUrl, deployToken) {
108
132
  // Create publisher via API
109
133
  try {
110
134
  out.progress(`Creating publisher "${publisherName}"...`);
111
- const createResponse = await fetch(`${apiUrl}/v1/twist/publishers`, {
135
+ const createResponse = await fetchWithRetry(`${apiUrl}/v1/twist/publishers`, {
112
136
  method: "POST",
113
137
  headers: {
114
138
  "Content-Type": "application/json",
@@ -124,6 +148,10 @@ async function createNewPublisher(apiUrl, deployToken) {
124
148
  out.error("Authentication failed", "Your login token is invalid or has expired. Please run 'plot login' to authenticate.");
125
149
  process.exit(1);
126
150
  }
151
+ if (createResponse.status >= 500) {
152
+ out.error("Server error", "The Plot API is temporarily unavailable. Please try again.");
153
+ process.exit(1);
154
+ }
127
155
  const errorText = await createResponse.text();
128
156
  out.error("Failed to create publisher", errorText);
129
157
  process.exit(1);
@@ -257,7 +285,7 @@ async function deployCommand(options) {
257
285
  let needsPublisher = true;
258
286
  const urlPath = deploymentId || "personal";
259
287
  try {
260
- const twistInfoResponse = await fetch(`${options.apiUrl}/v1/twist/${urlPath}`, {
288
+ const twistInfoResponse = await fetchWithRetry(`${options.apiUrl}/v1/twist/${urlPath}`, {
261
289
  method: "GET",
262
290
  headers: {
263
291
  Authorization: `Bearer ${deployToken}`,
@@ -276,6 +304,10 @@ async function deployCommand(options) {
276
304
  out.error("Authentication failed", "Your login token is invalid or has expired. Please run 'plot login' to authenticate.");
277
305
  process.exit(1);
278
306
  }
307
+ else if (twistInfoResponse.status >= 500) {
308
+ out.error("Server error", "The Plot API is temporarily unavailable. Please try again.");
309
+ process.exit(1);
310
+ }
279
311
  else if (twistInfoResponse.status !== 404) {
280
312
  // Log non-404 errors, but continue with publisher setup
281
313
  const errorText = await twistInfoResponse.text();
@@ -295,7 +327,7 @@ async function deployCommand(options) {
295
327
  let fetchSucceeded = false;
296
328
  try {
297
329
  // Fetch accessible publishers
298
- const publishersResponse = await fetch(`${options.apiUrl}/v1/twist/publishers`, {
330
+ const publishersResponse = await fetchWithRetry(`${options.apiUrl}/v1/twist/publishers`, {
299
331
  method: "GET",
300
332
  headers: {
301
333
  Authorization: `Bearer ${deployToken}`,
@@ -307,6 +339,10 @@ async function deployCommand(options) {
307
339
  out.error("Authentication failed", "Your login token is invalid or has expired. Please run 'plot login' to authenticate.");
308
340
  process.exit(1);
309
341
  }
342
+ if (publishersResponse.status >= 500) {
343
+ out.error("Server error", "The Plot API is temporarily unavailable. Please try again.");
344
+ process.exit(1);
345
+ }
310
346
  const errorText = await publishersResponse.text();
311
347
  out.warning("Failed to fetch publishers", [errorText]);
312
348
  }
@@ -420,7 +456,7 @@ async function deployCommand(options) {
420
456
  // Use deploymentId for non-personal, or "personal" for personal environment
421
457
  const urlPath = deploymentId || "personal";
422
458
  try {
423
- const response = await fetch(`${options.apiUrl}/v1/twist/${urlPath}`, {
459
+ const response = await fetchWithRetry(`${options.apiUrl}/v1/twist/${urlPath}`, {
424
460
  method: "POST",
425
461
  headers: {
426
462
  "Content-Type": "application/json",
@@ -434,6 +470,10 @@ async function deployCommand(options) {
434
470
  out.error("Authentication failed", "Your login token is invalid or has expired. Please run 'plot login' to authenticate.");
435
471
  process.exit(1);
436
472
  }
473
+ if (response.status >= 500) {
474
+ out.error("Server error", "The Plot API is temporarily unavailable. Please try again.");
475
+ process.exit(1);
476
+ }
437
477
  const errorText = await response.text();
438
478
  out.error("Upload failed", errorText);
439
479
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../cli/commands/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../cli/commands/deploy.ts"],"names":[],"mappings":"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"}
@@ -570,6 +570,43 @@ const activity: NewActivity = {
570
570
  - **Incremental sync**: New activities appear as unread, and archived state is preserved (respects user's archiving decisions)
571
571
  - **Reinstall**: Acts as initial sync, so previously archived activities are unarchived (fresh start)
572
572
 
573
+ ### Two-Way Sync: Avoiding Race Conditions
574
+
575
+ When implementing two-way sync where items created in Plot are pushed to an external system (e.g. Notes becoming comments), a race condition can occur: the external system may send a webhook for the newly created item before you've updated the Activity/Note with the external key. The webhook handler won't find the item by external key and may create a duplicate.
576
+
577
+ **Solution:** Embed the Plot `Activity.id` / `Note.id` in the external item's metadata when creating it, and update `Activity.source` / `Note.key` after creation. When processing webhooks, check for the Plot ID in metadata first.
578
+
579
+ ```typescript
580
+ async pushNoteAsComment(note: Note, externalItemId: string): Promise<void> {
581
+ // Create external item with Plot ID in metadata for webhook correlation
582
+ const externalComment = await externalApi.createComment(externalItemId, {
583
+ body: note.content,
584
+ metadata: { plotNoteId: note.id },
585
+ });
586
+
587
+ // Update Note with external key AFTER creation
588
+ // A webhook may arrive before this completes — that's OK (see onWebhook below)
589
+ await this.tools.plot.updateNote({
590
+ id: note.id,
591
+ key: `comment-${externalComment.id}`,
592
+ });
593
+ }
594
+
595
+ async onWebhook(payload: WebhookPayload): Promise<void> {
596
+ const comment = payload.comment;
597
+
598
+ // Use Plot ID from metadata if present (handles race condition),
599
+ // otherwise fall back to upserting by activity source and key
600
+ await this.tools.plot.createNote({
601
+ ...(comment.metadata?.plotNoteId
602
+ ? { id: comment.metadata.plotNoteId }
603
+ : { activity: { source: payload.itemUrl } }),
604
+ key: `comment-${comment.id}`,
605
+ content: comment.body,
606
+ });
607
+ }
608
+ ```
609
+
573
610
  ## Error Handling
574
611
 
575
612
  Always handle errors gracefully and communicate them to users:
@@ -570,6 +570,43 @@ const activity: NewActivity = {
570
570
  - **Incremental sync**: New activities appear as unread, and archived state is preserved (respects user's archiving decisions)
571
571
  - **Reinstall**: Acts as initial sync, so previously archived activities are unarchived (fresh start)
572
572
 
573
+ ### Two-Way Sync: Avoiding Race Conditions
574
+
575
+ When implementing two-way sync where items created in Plot are pushed to an external system (e.g. Notes becoming comments), a race condition can occur: the external system may send a webhook for the newly created item before you've updated the Activity/Note with the external key. The webhook handler won't find the item by external key and may create a duplicate.
576
+
577
+ **Solution:** Embed the Plot `Activity.id` / `Note.id` in the external item's metadata when creating it, and update `Activity.source` / `Note.key` after creation. When processing webhooks, check for the Plot ID in metadata first.
578
+
579
+ ```typescript
580
+ async pushNoteAsComment(note: Note, externalItemId: string): Promise<void> {
581
+ // Create external item with Plot ID in metadata for webhook correlation
582
+ const externalComment = await externalApi.createComment(externalItemId, {
583
+ body: note.content,
584
+ metadata: { plotNoteId: note.id },
585
+ });
586
+
587
+ // Update Note with external key AFTER creation
588
+ // A webhook may arrive before this completes — that's OK (see onWebhook below)
589
+ await this.tools.plot.updateNote({
590
+ id: note.id,
591
+ key: `comment-${externalComment.id}`,
592
+ });
593
+ }
594
+
595
+ async onWebhook(payload: WebhookPayload): Promise<void> {
596
+ const comment = payload.comment;
597
+
598
+ // Use Plot ID from metadata if present (handles race condition),
599
+ // otherwise fall back to upserting by activity source and key
600
+ await this.tools.plot.createNote({
601
+ ...(comment.metadata?.plotNoteId
602
+ ? { id: comment.metadata.plotNoteId }
603
+ : { activity: { source: payload.itemUrl } }),
604
+ key: `comment-${comment.id}`,
605
+ content: comment.body,
606
+ });
607
+ }
608
+ ```
609
+
573
610
  ## Error Handling
574
611
 
575
612
  Always handle errors gracefully and communicate them to users:
@@ -128,8 +128,9 @@ export type ProjectTool = {
128
128
  * @param authToken - Authorization token for access
129
129
  * @param meta - Activity metadata containing the tool's issue/task identifier
130
130
  * @param body - The comment text content
131
- * @returns Promise that resolves when the comment is added
131
+ * @param noteId - Optional Plot note ID, used by tools that support comment metadata (e.g. Jira)
132
+ * @returns The external comment key (e.g. "comment-123") for dedup, or void
132
133
  */
133
- addIssueComment?(authToken: string, meta: ActivityMeta, body: string): Promise<void>;
134
+ addIssueComment?(authToken: string, meta: ActivityMeta, body: string, noteId?: string): Promise<string | void>;
134
135
  };
135
136
  //# sourceMappingURL=projects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/common/projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACb,MAAM,UAAU,CAAC;AAElB;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gFAAgF;IAChF,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oDAAoD;IACpD,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;;OAMG;IACH,WAAW,CACT,KAAK,SAAS,YAAY,EAAE,EAC5B,SAAS,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,GAAG,EAE5D,QAAQ,EAAE,SAAS,EACnB,GAAG,SAAS,EAAE,KAAK,GAClB,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,SAAS,CACP,KAAK,SAAS,YAAY,EAAE,EAC5B,SAAS,SAAS,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,GAAG,EAEzE,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,kBAAkB,EACtB,QAAQ,EAAE,SAAS,EACnB,GAAG,SAAS,EAAE,KAAK,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,CACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/common/projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACb,MAAM,UAAU,CAAC;AAElB;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gFAAgF;IAChF,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oDAAoD;IACpD,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;;OAMG;IACH,WAAW,CACT,KAAK,SAAS,YAAY,EAAE,EAC5B,SAAS,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,GAAG,EAE5D,QAAQ,EAAE,SAAS,EACnB,GAAG,SAAS,EAAE,KAAK,GAClB,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,SAAS,CACP,KAAK,SAAS,YAAY,EAAE,EAC5B,SAAS,SAAS,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,GAAG,EAEzE,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,kBAAkB,EACtB,QAAQ,EAAE,SAAS,EACnB,GAAG,SAAS,EAAE,KAAK,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,CACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3B,CAAC"}
@@ -1 +1 @@
1
- window.hierarchyData = "eJyNkrFuwyAQht/l5gslDTHgLerkparUblVUUYc0Voip4KoMkd+9wm4rOsHCAN//f4d0NwjeU4T2VW/3CMEene1p8GOE9gZ6m87RXCy00L147wDhPIwHaNf3CuErOGihdyZGG+/Ie8dmip3oktD5BVqgeFil2Gq5QOhPgzsEOyavQiEkCimxaTjKNUfZbFBxgUpp1FzuJwStskmqBqmYY0IQQubF1yFSLFXHN5o5tuAVEplLdl1ZYAa268rFTcOz4gfj3LvpzxUf6H9R9hcq2+Q6t3Uj2Y9gll0pCoeMZnm0QttsMu2jpasP57JxXED2Eyh7FBeZ58l5Kks+nSeW0Ip6pbP6Z/LBlvtjwtgMlw2a/9tlE2s2gRLGZrhkmKZvf4JclQ=="
1
+ window.hierarchyData = "eJyNkrFuwyAQht/l5gs1TYyBLerkparUblFUUZs2Voip4KoMkd+9st1WdIKFAb7//w7pbhC8pwj6oOQRIdh3Zzsa/BhB30DJ+RzNxYKG9sV7BwjnYexB83uJ8BUcaOicidHGO/LesYViJ7rM6PICGij2mzm2WS8QutPg+mBH0AdecdzVAndSoBAKG66wEQolr1CqGhXfHicEXvFklqJRCiaZEHa1SIuvQ6SYq46vtHBsxQskMpXs27zADGzf5ouFUEnxg3HuzXTngg90vyj7C+VtDU9t7Uj2I5h1W7LCIaFZGi3Q/vvko6WrD+e8cVxB9hPIeySvEs+T85SXfDpPbEYL6lWd1D+TDzbfH2eMLXDeoPg23WUTSzaBZowtcM4wTd9EI1z7"
@@ -1 +1 @@
1
- window.navigationData = "eJytm99z2zYSx/8Vj/qaOydpmrp58+nSVlfH8VjK9aGT0SAUbKEmAZUALbs3/d9vAJAUQCywq1SvwhefXSx+EMBCv/1vZviTmb2b/dSJDdezF7NqK+pNy+Xs3W+HQm6MkPdnS8NawzezF7MdM9vZu9lGVV3DpdHnvWTdS/65NU09ezF7EHIze3fx7cXF25cXf70YiXPV8rO5khXfGQ3xrGA9CDDavzpRm38IebZSqgZxg2LtFBTexjZ43mmjmjLWCtdeSKPPrxZnt/yOt1xWHGz71WI9CjDabSeNaPjZe/koWiUtAWL2snUgg8mfA/YHtenq7KioVNMoeV6xmssNaw9WG1/t3AvWgyC29xqGrp53/OyyFkxn7c573mVntgej5nkHmAy1E/svf/j+1Xevw35JGlJmYrzls6w+7oxQUmPIQEr10g41qqdWC3M/R/0t5IY/pf3ofj5V7y15K1gt/mRfaj713xsKFVg0PnViA1NsSa7Nh/rXrOF6x6qsu7GBOCKpiTcw5MdOVsM4gNdXyVtmgnjcDTVCU4Mstvn2jevFsFXj4pEzuGL3pW7+xrjyvk2vfnjz7cs3Af4/y4/X/2V1x4uM37WSj70qR7qsjGoX2QA7DrMa1wk5ymrLGz5XtQLWoLBRVlb1shzrphWqFea5SNodRDnONd+TUJLvCbQB9Wm3iYZJwbdukBZiLx6FebZzFusAJzReiPF+seUU3oMXYrwrIR/IPtZCPiB+zpX0s0PI+5tWPYoNL4+bKqiwO1Sg+E32mcD7wA0j8RovzM4Wdq+xya/LIxtFSL5HKEOr5u6TRWpXNUgxJolG4PwqzPZaGV5u6wDcC7OVvboQu+Pgku+P4Q/wj1XVtZP9ZcF1FcoJvhPxgfMkCymesN6lFtCV70ZUD8OKalcDUf4Y7kT1MKyq1SAnRIkaG0JEjogD2no76MquqXJ9vscRfI9RlKH0rqVQvmTIp5/1inKvIRDfZUWOg1A+VqpFvlLXfD9X0rDKYD5Vo6zwxTNcGtSvyusQz+xhwp17kc+mUar+MupytEV8jgE4wnhFyR/UkVKfLcqdJQp1P6gNr2/acLudJzVWvIvEeZ8cGXGs6TV5yi3/o+O6PISYaEdViaR3SmpkYIv2IMuzls/a8OYD15rdY0DttM2ozVM/ad7SmJ3mLYV4qbXQhklDw7JBTmHbUUvD2uFLIdJotEhSYohRlqprsf2H0IMoO7v5k7lhbXkIW+3Oi3KcfzPD+nWwiNoww6pRl121GnbPUbeEVSF+/ShqHHQnaoxzy5lW0h5pMFg7KFHihlWGb44h+xpUC3YOzFld4/2rVF2xuibwbrnuasKIUapunZTAfP/Eq87exiS3eRkyHyqosUJ5JSAsAShjybF13mI0L+4UWF1/YVX53FodRBinHKoqUGVnmjT8vmV43EUszMaqM1vSqZ91Zks57Xdme8UfsW91Z7Z1ryqRVCv+dE1AaaGyRFypB47TTK/KkX7lX7ZKPVC2E3svxfcU19zsVVseanLUYCeky6rimnZQZ4MUu20jMIdzIcrsN/MEZL+fR4n2BLVwH6qfmdzUyHC2Bynh1NtRnW1/rcp9vPOCXP2lUW35w697Rf6OSiNrh+kVWcJeaEPYghirQ3chV6p8RVCr0p2A8+WGt43QGv9+WPEuEhe5BBrKwBHF2aIaoblLCGCTxSkfB2WO+P7JtKwy7pB5y03Xlhcw7uXurNkO8hzbJYIXcpLRBagWZ4Q0vTD/fbrjLU4TVkZiUfYYjobvLdyuYMvLt/HOKS+KOXFKaQeuCfbXUyUGk1yQz+Y5E30Zlg1MMy4BYyjEIGDmJuAE5VR/phddgFdeggHh3EIcqFFAhcWJBQBmBRgsTgkEEFtACHm2fl9Gbcw0nwA0x0uowCKKCgEu+wHaqCLEi0aGhFSfoUt+wOmD7AivETaoPN7vwrTLidEZXUgdhLM6kR0RHCwk1EAQmk9rdHzdHzqlCJWn6YK4USQEkCuYeEFePlXyvOfwgaH1UYYwFBIgycV+jOmL0YdA0K1+QArK8Xcw72XX8MPpGfyEA68suOyaYZ0fiyfvytAnBwEkFOCY+KUBgLECHJM+MABQgyiPK78rCJCQsOjlNKUUu+dLp4C//xxo3Nshr4HgF1KH2l1XfLxTeEx0YOTfEsW7VAM1xLDp6gtHgTIHQr7vBktfTS1cTP0C7/hM+iwv8+KxZjq/cZ7cIFZe7OmL9Onfq9fh8CrUhaseN7BKucKx+cVUYRpIfe5ycgBNr5k4QUDDjGAYEYe/XJRjYq9k2rvCi0IgKyfGOqGdXjZp0HdvkbxcDuZ1JVqaa4FYg6pEAvIjEGqUlVhphgRCDaoSKZPJgHCRtMwsZklgNlCl2C9gngTsm0CJEaFMSY550GLUfK4kx57WSC2E04twkZBPyvvd0Wh9KkS3j7nM9YQ70eFYMHWdQAMVjsznrhPuVIrDweR1wg1UOBLHHRFNLI4kzPTyOO1kJ8BAYOJ5wgo0tOAjUadBooQhyFnyjD9HHh2S5yz91inoXFuO76H0eZXPLHrcKDjBRgBIY8b7gYOxOWx2ujug/b1lkoMN+ya1mOuhNHaimEv1/FBzir0paDIOYmRykbX/FaHMpFTDeEbGIz06idLsahHstKeZTmAOO5xTiXHCOTNNZBeJTkuZsTKX5/XgvvgEYy1JKMfDbDB0DRn8isGVy4mHg2CwGWvpMxbOung2OfdSjlqc7I1D5u8yEztfEaxCsjqM13ifF2lPM2kyDwXCQR7d+HhhfsLkXgkkwFhYvECCnggkvEhHmYEazsd7pCs8wTiaJP3jgeSNLFNTfiilLhv4AYCnucITuDx5ZRC77I2sUlNZlzPZ+B7nSk/h9MTMxGtvZgVYO/qiAnxCkZziQovgjvj4A1z02iJcHnpbVwpNp+SfXAC8qZi0PsPvJtzPp+ploJMdfpUaSQdlZ0Stz7dMb1MvXdnalpFcxf6++kcnqoefI0uH/68GtkZdbPXt9JLPu+46Kue7KyQ5jw/z5JVEMMZDa4Pwb4/vzIsZPzJDi5EQG/KlVzMpOlVjfPjlTEoOdRgTej2TEg8qEi/zn/uESPzDPXiHnSIDGUYEUh4pbxThux/0Gh7+z31uRn2jY3l6H//5r8//B1+/NEM="
1
+ window.navigationData = "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"