@37signals/basecamp 0.18.0 → 0.20.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.
- package/README.md +94 -2
- package/dist/client.d.ts +6 -6
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +11 -7
- package/dist/client.js.map +1 -1
- package/dist/download.js +1 -1
- package/dist/errors.d.ts +10 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +42 -13
- package/dist/errors.js.map +1 -1
- package/dist/generated/metadata.d.ts +1 -2
- package/dist/generated/metadata.d.ts.map +1 -1
- package/dist/generated/metadata.js +47 -1
- package/dist/generated/metadata.js.map +1 -1
- package/dist/generated/metadata.ts +48 -3
- package/dist/generated/openapi-stripped.json +816 -60
- package/dist/generated/path-mapping.d.ts.map +1 -1
- package/dist/generated/path-mapping.js +7 -4
- package/dist/generated/path-mapping.js.map +1 -1
- package/dist/generated/path-mapping.ts +8 -5
- package/dist/generated/person-id-sites.d.ts +2 -0
- package/dist/generated/person-id-sites.d.ts.map +1 -0
- package/dist/generated/person-id-sites.js +689 -0
- package/dist/generated/person-id-sites.js.map +1 -0
- package/dist/generated/person-id-sites.ts +690 -0
- package/dist/generated/schema.d.ts +643 -12
- package/dist/generated/services/event-feed.d.ts +92 -0
- package/dist/generated/services/event-feed.d.ts.map +1 -0
- package/dist/generated/services/event-feed.js +80 -0
- package/dist/generated/services/event-feed.js.map +1 -0
- package/dist/generated/services/event-feed.ts +153 -0
- package/dist/generated/services/gauges.d.ts +7 -3
- package/dist/generated/services/gauges.d.ts.map +1 -1
- package/dist/generated/services/gauges.js +4 -1
- package/dist/generated/services/gauges.js.map +1 -1
- package/dist/generated/services/gauges.ts +10 -3
- package/dist/generated/services/index.d.ts +1 -1
- package/dist/generated/services/index.d.ts.map +1 -1
- package/dist/generated/services/index.js +1 -1
- package/dist/generated/services/index.js.map +1 -1
- package/dist/generated/services/index.ts +1 -1
- package/dist/generated/services/lineup.d.ts +13 -0
- package/dist/generated/services/lineup.d.ts.map +1 -1
- package/dist/generated/services/lineup.js +18 -0
- package/dist/generated/services/lineup.js.map +1 -1
- package/dist/generated/services/lineup.ts +26 -0
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -6
- package/dist/index.js.map +1 -1
- package/dist/person-id.d.ts +133 -0
- package/dist/person-id.d.ts.map +1 -0
- package/dist/person-id.js +163 -0
- package/dist/person-id.js.map +1 -0
- package/dist/retry.d.ts +2 -1
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +21 -11
- package/dist/retry.js.map +1 -1
- package/dist/services/base.d.ts +35 -0
- package/dist/services/base.d.ts.map +1 -1
- package/dist/services/base.js +387 -55
- package/dist/services/base.js.map +1 -1
- package/dist/services/comments-extensions.d.ts +89 -0
- package/dist/services/comments-extensions.d.ts.map +1 -0
- package/dist/services/comments-extensions.js +166 -0
- package/dist/services/comments-extensions.js.map +1 -0
- package/dist/services/mentions.d.ts +255 -0
- package/dist/services/mentions.d.ts.map +1 -0
- package/dist/services/mentions.js +1431 -0
- package/dist/services/mentions.js.map +1 -0
- package/dist/services/merge-safe.d.ts +13 -5
- package/dist/services/merge-safe.d.ts.map +1 -1
- package/dist/services/merge-safe.js +71 -13
- package/dist/services/merge-safe.js.map +1 -1
- package/dist/services/recordings-extensions.d.ts +354 -0
- package/dist/services/recordings-extensions.d.ts.map +1 -0
- package/dist/services/recordings-extensions.js +1940 -0
- package/dist/services/recordings-extensions.js.map +1 -0
- package/package.json +4 -4
- package/src/generated/metadata.ts +48 -3
- package/src/generated/openapi-stripped.json +816 -60
- package/src/generated/path-mapping.ts +8 -5
- package/src/generated/person-id-sites.ts +690 -0
- package/src/generated/schema.d.ts +643 -12
- package/src/generated/services/event-feed.ts +153 -0
- package/src/generated/services/gauges.ts +10 -3
- package/src/generated/services/index.ts +1 -1
- package/src/generated/services/lineup.ts +26 -0
- package/dist/generated/services/automation.d.ts +0 -25
- package/dist/generated/services/automation.d.ts.map +0 -1
- package/dist/generated/services/automation.js +0 -33
- package/dist/generated/services/automation.js.map +0 -1
- package/dist/generated/services/automation.ts +0 -49
- package/src/generated/services/automation.ts +0 -49
package/README.md
CHANGED
|
@@ -433,7 +433,7 @@ The SDK provides typed services for the complete Basecamp API:
|
|
|
433
433
|
| `messages` | list, get, create, update, pin, unpin |
|
|
434
434
|
| `messageBoards` | get |
|
|
435
435
|
| `messageTypes` | list, get, create, update, delete |
|
|
436
|
-
| `comments` | list, get, create, update |
|
|
436
|
+
| `comments` | list, get, create, update, expandMentions, createWithMentions |
|
|
437
437
|
| `campfires` | list, get, listLines, getLine, createLine, updateLine, deleteLine |
|
|
438
438
|
|
|
439
439
|
### Card Tables (Kanban)
|
|
@@ -470,7 +470,7 @@ The SDK provides typed services for the complete Basecamp API:
|
|
|
470
470
|
| `webhooks` | list, get, create, update, delete |
|
|
471
471
|
| `subscriptions` | get, subscribe, unsubscribe, update |
|
|
472
472
|
| `events` | list, listForRecording |
|
|
473
|
-
| `recordings` | archive, unarchive, trash |
|
|
473
|
+
| `recordings` | archive, unarchive, trash, summarize |
|
|
474
474
|
|
|
475
475
|
### Search & Reports
|
|
476
476
|
|
|
@@ -496,6 +496,98 @@ The SDK provides typed services for the complete Basecamp API:
|
|
|
496
496
|
|---------|---------|
|
|
497
497
|
| `forwards` | list, get, listReplies, getReply |
|
|
498
498
|
|
|
499
|
+
## Recording Summaries and Mentions
|
|
500
|
+
|
|
501
|
+
### `recordings.summarize`
|
|
502
|
+
|
|
503
|
+
An event feed row or a webhook gives you a pointer — a bucket, a recording id,
|
|
504
|
+
and a type — not the recording. `summarize` turns that pointer into a compact
|
|
505
|
+
projection through the one typed read the type names, so a consumer can decide
|
|
506
|
+
what to do about a recording without fetching and reasoning over its whole
|
|
507
|
+
payload.
|
|
508
|
+
|
|
509
|
+
```ts
|
|
510
|
+
const summary = await client.recordings.summarize({
|
|
511
|
+
bucketId: 2085958499,
|
|
512
|
+
recordingId: 1069479361,
|
|
513
|
+
eventType: "comment.created", // or recordingType: "Comment", which wins when both are given
|
|
514
|
+
});
|
|
515
|
+
|
|
516
|
+
summary.type; // "Comment"
|
|
517
|
+
summary.title; // "Re: We won Leto!"
|
|
518
|
+
summary.content; // the rich text, in full
|
|
519
|
+
summary.mentioned_person_ids; // [1049715915] — always an array
|
|
520
|
+
summary.bucket?.id; // checked against the pointer's bucketId
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
`summarizableRecordingTypes()` and `summarizableEventTypes()` list what it
|
|
524
|
+
routes. The set is deliberate rather than exhaustive: a type outside it fails
|
|
525
|
+
with `unknown_recording_type` by design, and `boost.*` fails with
|
|
526
|
+
`no_recording_type` — a boost row points at its target, whose type it does not
|
|
527
|
+
carry.
|
|
528
|
+
|
|
529
|
+
A chat line is the one type whose read needs an id the pointer does not carry,
|
|
530
|
+
so `summarize` discovers its Campfire first: the bucket's project dock, then
|
|
531
|
+
the account-wide Campfire listing filtered to that bucket, trying the line under
|
|
532
|
+
each candidate until one answers. Both sources are cached for ten minutes on the
|
|
533
|
+
client, so a burst of lines costs one project read and one listing.
|
|
534
|
+
|
|
535
|
+
Failures that are the composite's own conclusion, rather than one read's HTTP
|
|
536
|
+
answer, are `RecordingSummaryError`s carrying a `kind` you match on. They are
|
|
537
|
+
statusless — no `httpStatus` — which is what tells `recording_unresolved` apart
|
|
538
|
+
from a 404 a read actually returned:
|
|
539
|
+
|
|
540
|
+
```ts
|
|
541
|
+
try {
|
|
542
|
+
await client.recordings.summarize(ref);
|
|
543
|
+
} catch (err) {
|
|
544
|
+
if (err instanceof UnresolvedRecordingError) {
|
|
545
|
+
// Every visible Campfire answered 404: the line is under none you can
|
|
546
|
+
// currently see. Not an outage — block the record and retry later.
|
|
547
|
+
err.campfireIds; // the candidates tried, in order
|
|
548
|
+
err.staleCampfireIds; // candidates a refresh no longer lists: visibility changed
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
| `kind` | `code` | Meaning |
|
|
554
|
+
|--------|--------|---------|
|
|
555
|
+
| `no_recording_type` | `usage` | The event type names no recording type (`boost.*`). No request was made. |
|
|
556
|
+
| `unknown_recording_type` | `usage` | Neither type spelling is in the routing table. No request was made. |
|
|
557
|
+
| `recording_unresolved` | `not_found` | A chat line was found under no Campfire you can currently see. Unanimous across every port. |
|
|
558
|
+
| `campfire_discovery_incomplete` | `usage` | Candidates were left unsearched, so nothing can be reported absent. `usage` is one of only three coarse codes no HTTP response can produce (with `network` and `ambiguous`), and the one of those three that also describes a call the SDK declined to complete, so this verdict can never be read back as a constituent read's own answer. Non-retryable: both reasons are deterministic for the same account state. The merged ports had split (`api_error` here, in Python, Ruby and Rust; `usage` in Kotlin), and [card 40](https://app.basecamp.com/2914079/buckets/48699913/card_tables/cards/10308122086) settled it for all seven; the shared fixture now pins the code, not just the identity. |
|
|
559
|
+
| `bucket_mismatch` | `usage` | The read returned a recording from a different bucket than the pointer named — the caller's argument, not the API misbehaving. Not `not_found`: the read FOUND the recording, in another bucket, and returned it, so nothing is absent. The merged ports had split (`not_found` in Rust, exit 2; `usage` in the other four, exit 1), and [card 41](https://app.basecamp.com/2914079/buckets/48699913/card_tables/cards/10308966794) settled it for all seven. |
|
|
560
|
+
|
|
561
|
+
Any other failure is the constituent read's own error, unchanged: a candidate
|
|
562
|
+
Campfire answering 401, 403 or 5xx stops the search and surfaces as that error
|
|
563
|
+
rather than being read as "not here".
|
|
564
|
+
|
|
565
|
+
### Mentions
|
|
566
|
+
|
|
567
|
+
A mention in Basecamp rich text is a `<bc-attachment>` carrying the mentioned
|
|
568
|
+
person's `attachable_sgid`. `comments.createWithMentions` resolves each id
|
|
569
|
+
through the people read first, so a failed lookup posts nothing:
|
|
570
|
+
|
|
571
|
+
```ts
|
|
572
|
+
await client.comments.createWithMentions(1069479351, "<div>On it.</div>", [1049715915]);
|
|
573
|
+
// POSTs: <div><bc-attachment sgid="..."></bc-attachment> On it.</div>
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
`comments.expandMentions(content, personIds)` does the same expansion without
|
|
577
|
+
posting — the markup is identical for a rich-text Campfire line.
|
|
578
|
+
|
|
579
|
+
Four pure helpers are exported for reading and writing the markup directly:
|
|
580
|
+
`mentionedPersonIds(richText)`, `personIdFromSGID(sgid)`, `mentionMarkup(person)`
|
|
581
|
+
and `withMentions(content, people)`.
|
|
582
|
+
|
|
583
|
+
**The read and write sides are not interchangeable.** An sgid's signature can
|
|
584
|
+
only be verified by Basecamp, so `mentionedPersonIds` *describes* what a text
|
|
585
|
+
says it mentions — report it, but never treat an id in it as proof that a valid
|
|
586
|
+
mention exists. The write side therefore always performs the people read, and
|
|
587
|
+
skips a person only when the content already carries the exact
|
|
588
|
+
`attachable_sgid` that read returned. Deduplicating by person id instead would
|
|
589
|
+
let a stale or forged tag suppress the real mention.
|
|
590
|
+
|
|
499
591
|
## Downloading Files
|
|
500
592
|
|
|
501
593
|
Fetch an upload's file content in one call. The SDK fetches the upload
|
package/dist/client.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ import { TodosetsService } from "./generated/services/todosets.js";
|
|
|
18
18
|
import { HillChartsService } from "./generated/services/hill-charts.js";
|
|
19
19
|
import { PeopleService } from "./generated/services/people.js";
|
|
20
20
|
import { MessagesService } from "./generated/services/messages.js";
|
|
21
|
-
import { CommentsService } from "./
|
|
21
|
+
import { CommentsService } from "./services/comments-extensions.js";
|
|
22
22
|
import { CampfiresService } from "./generated/services/campfires.js";
|
|
23
23
|
import { CardTablesService } from "./generated/services/card-tables.js";
|
|
24
24
|
import { CardsService } from "./services/cards-extensions.js";
|
|
@@ -34,6 +34,7 @@ import { ClientCorrespondencesService } from "./generated/services/client-corres
|
|
|
34
34
|
import { ClientRepliesService } from "./generated/services/client-replies.js";
|
|
35
35
|
import { WebhooksService } from "./generated/services/webhooks.js";
|
|
36
36
|
import { BookmarksService } from "./generated/services/bookmarks.js";
|
|
37
|
+
import { EventFeedService } from "./generated/services/event-feed.js";
|
|
37
38
|
import { BubbleUpsService } from "./generated/services/bubble-ups.js";
|
|
38
39
|
import { FoldersService } from "./generated/services/folders.js";
|
|
39
40
|
import { DraftsService } from "./generated/services/drafts.js";
|
|
@@ -48,12 +49,11 @@ import { CloudFilesService } from "./generated/services/cloud-files.js";
|
|
|
48
49
|
import { GoogleDocumentsService } from "./generated/services/google-documents.js";
|
|
49
50
|
import { SchedulesService } from "./services/schedules-extensions.js";
|
|
50
51
|
import { EventsService } from "./generated/services/events.js";
|
|
51
|
-
import { RecordingsService } from "./
|
|
52
|
+
import { RecordingsService } from "./services/recordings-extensions.js";
|
|
52
53
|
import { SearchService } from "./generated/services/search.js";
|
|
53
54
|
import { ReportsService } from "./generated/services/reports.js";
|
|
54
55
|
import { TemplatesService } from "./generated/services/templates.js";
|
|
55
56
|
import { LineupService } from "./generated/services/lineup.js";
|
|
56
|
-
import { AutomationService } from "./generated/services/automation.js";
|
|
57
57
|
import { TodolistGroupsService } from "./generated/services/todolist-groups.js";
|
|
58
58
|
import { ToolsService } from "./generated/services/tools.js";
|
|
59
59
|
import { TimesheetsService } from "./generated/services/timesheets.js";
|
|
@@ -129,6 +129,8 @@ export interface BasecampClient extends RawClient {
|
|
|
129
129
|
readonly webhooks: WebhooksService;
|
|
130
130
|
/** Bookmarks service - the current user's personal bookmarks */
|
|
131
131
|
readonly bookmarks: BookmarksService;
|
|
132
|
+
/** Event Feed service - the account event feed, the agent inbox, and stream tickets (SPEC §23 wire layer) */
|
|
133
|
+
readonly eventFeed: EventFeedService;
|
|
132
134
|
/** Bubble Ups service - bubble a recording up and back down in the current user's readings */
|
|
133
135
|
readonly bubbleUps: BubbleUpsService;
|
|
134
136
|
/** Folders service - the current user's home-screen folders (wire type "Stack") */
|
|
@@ -167,8 +169,6 @@ export interface BasecampClient extends RawClient {
|
|
|
167
169
|
readonly templates: TemplatesService;
|
|
168
170
|
/** Lineup service - manage timeline markers */
|
|
169
171
|
readonly lineup: LineupService;
|
|
170
|
-
/** Automation service - lineup marker listings and other automation */
|
|
171
|
-
readonly automation: AutomationService;
|
|
172
172
|
/** Todolist groups service - manage groups within todolists */
|
|
173
173
|
readonly todolistGroups: TodolistGroupsService;
|
|
174
174
|
/** Tools service - manage project dock tools */
|
|
@@ -224,7 +224,7 @@ export interface BasecampClientOptions {
|
|
|
224
224
|
/** Maximum pages to follow during auto-pagination (defaults to 10,000) */
|
|
225
225
|
maxPages?: number;
|
|
226
226
|
}
|
|
227
|
-
export declare const VERSION = "0.
|
|
227
|
+
export declare const VERSION = "0.20.0";
|
|
228
228
|
export declare const API_VERSION = "2026-09-02";
|
|
229
229
|
/**
|
|
230
230
|
* Creates a type-safe Basecamp API client with built-in middleware for:
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,YAAiC,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAA0C,MAAM,uBAAuB,CAAC;AACxH,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAavE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,YAAiC,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAA0C,MAAM,uBAAuB,CAAC;AACxH,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAavE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAKlF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,YAAY,EAAE,KAAK,EAAE,CAAC;AAStB;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,yDAAyD;IACzD,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAM/B,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,kDAAkD;IAClD,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,2EAA2E;IAC3E,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;IAC7D,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,6GAA6G;IAC7G,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAErC,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAErC,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,gEAAgE;IAChE,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,oEAAoE;IACpE,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,sFAAsF;IACtF,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,2DAA2D;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,8DAA8D;IAC9D,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,+DAA+D;IAC/D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACtD;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,mFAAmF;IACnF,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,OAAO,WAAW,CAAC;AAChC,eAAO,MAAM,WAAW,eAAe,CAAC;AAGxC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAoPnF;AAiVD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmHpD;AAuID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,eAAe,EAAE,QAAQ,EACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,EAC3C,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,GAAE,MAA0B,GACnC,OAAO,CAAC,CAAC,EAAE,CAAC,CAuCd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,eAAe,EAAE,QAAQ,EACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,EAC3C,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,GAAE,MAA0B,GACnC,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAIpC;AA6CD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC"}
|
package/dist/client.js
CHANGED
|
@@ -24,7 +24,7 @@ import { TodosetsService } from "./generated/services/todosets.js";
|
|
|
24
24
|
import { HillChartsService } from "./generated/services/hill-charts.js";
|
|
25
25
|
import { PeopleService } from "./generated/services/people.js";
|
|
26
26
|
import { MessagesService } from "./generated/services/messages.js";
|
|
27
|
-
import { CommentsService } from "./
|
|
27
|
+
import { CommentsService } from "./services/comments-extensions.js";
|
|
28
28
|
import { CampfiresService } from "./generated/services/campfires.js";
|
|
29
29
|
import { CardTablesService } from "./generated/services/card-tables.js";
|
|
30
30
|
import { CardsService } from "./services/cards-extensions.js";
|
|
@@ -40,6 +40,7 @@ import { ClientCorrespondencesService } from "./generated/services/client-corres
|
|
|
40
40
|
import { ClientRepliesService } from "./generated/services/client-replies.js";
|
|
41
41
|
import { WebhooksService } from "./generated/services/webhooks.js";
|
|
42
42
|
import { BookmarksService } from "./generated/services/bookmarks.js";
|
|
43
|
+
import { EventFeedService } from "./generated/services/event-feed.js";
|
|
43
44
|
import { BubbleUpsService } from "./generated/services/bubble-ups.js";
|
|
44
45
|
import { FoldersService } from "./generated/services/folders.js";
|
|
45
46
|
import { DraftsService } from "./generated/services/drafts.js";
|
|
@@ -54,12 +55,11 @@ import { CloudFilesService } from "./generated/services/cloud-files.js";
|
|
|
54
55
|
import { GoogleDocumentsService } from "./generated/services/google-documents.js";
|
|
55
56
|
import { SchedulesService } from "./services/schedules-extensions.js";
|
|
56
57
|
import { EventsService } from "./generated/services/events.js";
|
|
57
|
-
import { RecordingsService } from "./
|
|
58
|
+
import { RecordingsService } from "./services/recordings-extensions.js";
|
|
58
59
|
import { SearchService } from "./generated/services/search.js";
|
|
59
60
|
import { ReportsService } from "./generated/services/reports.js";
|
|
60
61
|
import { TemplatesService } from "./generated/services/templates.js";
|
|
61
62
|
import { LineupService } from "./generated/services/lineup.js";
|
|
62
|
-
import { AutomationService } from "./generated/services/automation.js";
|
|
63
63
|
import { TodolistGroupsService } from "./generated/services/todolist-groups.js";
|
|
64
64
|
import { ToolsService } from "./generated/services/tools.js";
|
|
65
65
|
import { TimesheetsService } from "./generated/services/timesheets.js";
|
|
@@ -81,7 +81,7 @@ import { AuthorizationService } from "./services/authorization.js";
|
|
|
81
81
|
* a TimeoutOverflowWarning rather than honored.
|
|
82
82
|
*/
|
|
83
83
|
const MAX_TIMEOUT_MS = 2_147_483_647;
|
|
84
|
-
export const VERSION = "0.
|
|
84
|
+
export const VERSION = "0.20.0";
|
|
85
85
|
export const API_VERSION = "2026-09-02";
|
|
86
86
|
const DEFAULT_USER_AGENT = `basecamp-sdk-ts/${VERSION} (api:${API_VERSION})`;
|
|
87
87
|
/**
|
|
@@ -252,7 +252,9 @@ export function createBasecampClient(options) {
|
|
|
252
252
|
defineService("people", () => new PeopleService(client, hooks, fetchPage, maxPages));
|
|
253
253
|
defineService("authorization", () => new AuthorizationService(client, hooks, authStrategy, userAgent));
|
|
254
254
|
defineService("messages", () => new MessagesService(client, hooks, fetchPage, maxPages));
|
|
255
|
-
|
|
255
|
+
// The mention composites resolve person ids through the client's own people
|
|
256
|
+
// read; positional args mirror BaseService, with the source appended last.
|
|
257
|
+
defineService("comments", () => new CommentsService(client, hooks, fetchPage, maxPages, undefined, undefined, () => enhancedClient));
|
|
256
258
|
defineService("campfires", () => new CampfiresService(client, hooks, fetchPage, maxPages));
|
|
257
259
|
defineService("cardTables", () => new CardTablesService(client, hooks, fetchPage, maxPages));
|
|
258
260
|
defineService("cards", () => new CardsService(client, hooks, fetchPage, maxPages));
|
|
@@ -268,6 +270,7 @@ export function createBasecampClient(options) {
|
|
|
268
270
|
defineService("clientReplies", () => new ClientRepliesService(client, hooks, fetchPage, maxPages));
|
|
269
271
|
defineService("webhooks", () => new WebhooksService(client, hooks, fetchPage, maxPages));
|
|
270
272
|
defineService("bookmarks", () => new BookmarksService(client, hooks, fetchPage, maxPages));
|
|
273
|
+
defineService("eventFeed", () => new EventFeedService(client, hooks, fetchPage, maxPages));
|
|
271
274
|
defineService("bubbleUps", () => new BubbleUpsService(client, hooks, fetchPage, maxPages));
|
|
272
275
|
defineService("folders", () => new FoldersService(client, hooks, fetchPage, maxPages));
|
|
273
276
|
defineService("drafts", () => new DraftsService(client, hooks, fetchPage, maxPages));
|
|
@@ -285,12 +288,13 @@ export function createBasecampClient(options) {
|
|
|
285
288
|
new UploadsService(client, hooks, fetchPage, maxPages, undefined, undefined, downloadURLFn));
|
|
286
289
|
defineService("schedules", () => new SchedulesService(client, hooks, fetchPage, maxPages));
|
|
287
290
|
defineService("events", () => new EventsService(client, hooks, fetchPage, maxPages));
|
|
288
|
-
|
|
291
|
+
// summarize() composes the other services' generated reads; the thunk is lazy
|
|
292
|
+
// so the accessors it reaches are the ones this client defines.
|
|
293
|
+
defineService("recordings", () => new RecordingsService(client, hooks, fetchPage, maxPages, undefined, undefined, () => enhancedClient));
|
|
289
294
|
defineService("search", () => new SearchService(client, hooks, fetchPage, maxPages));
|
|
290
295
|
defineService("reports", () => new ReportsService(client, hooks, fetchPage, maxPages));
|
|
291
296
|
defineService("templates", () => new TemplatesService(client, hooks, fetchPage, maxPages));
|
|
292
297
|
defineService("lineup", () => new LineupService(client, hooks, fetchPage, maxPages));
|
|
293
|
-
defineService("automation", () => new AutomationService(client, hooks, fetchPage, maxPages));
|
|
294
298
|
defineService("todolistGroups", () => new TodolistGroupsService(client, hooks, fetchPage, maxPages));
|
|
295
299
|
defineService("tools", () => new ToolsService(client, hooks, fetchPage, maxPages));
|
|
296
300
|
defineService("timesheets", () => new TimesheetsService(client, hooks, fetchPage, maxPages));
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,YAAiC,MAAM,eAAe,CAAC;AAE9D,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACxH,OAAO,EAAqB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAuB,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GAGjB,MAAM,YAAY,CAAC;AAEpB,+EAA+E;AAC/E,yEAAyE;AACzE,+EAA+E;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF,+EAA+E;AAC/E,+DAA+D;AAC/D,+EAA+E;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAKnE;;;;GAIG;AACH,MAAM,cAAc,GAAG,aAAa,CAAC;AA6KrC,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAChC,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AACxC,MAAM,kBAAkB,GAAG,mBAAmB,OAAO,SAAS,WAAW,GAAG,CAAC;AAE7E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,MAAM,EACJ,SAAS,EACT,WAAW,EACX,IAAI,EACJ,OAAO,GAAG,6BAA6B,SAAS,EAAE,EAClD,SAAS,GAAG,kBAAkB,EAC9B,WAAW,GAAG,KAAK,EACnB,WAAW,GAAG,IAAI,EAClB,gBAAgB,GAAG,KAAK,EACxB,KAAK,EACL,QAAQ,GACT,GAAG,OAAO,CAAC;IAEZ,6EAA6E;IAC7E,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC;QACxB,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,kDAAkD,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,4CAA4C,CAAC,CAAC;IACjF,CAAC;IAED,6EAA6E;IAC7E,wEAAwE;IACxE,+EAA+E;IAC/E,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,8EAA8E;IAC9E,uBAAuB;IACvB,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;QACnC,gBAAgB,GAAG,CAAC;QACpB,gBAAgB,GAAG,cAAc,EACjC,CAAC;QACD,MAAM,IAAI,aAAa,CACrB,OAAO,EACP,uDAAuD,cAAc,SAAS,gBAAgB,EAAE,CACjG,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,+EAA+E;IAC/E,2EAA2E;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,6CAA6C;IAC7C,EAAE;IACF,8EAA8E;IAC9E,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,8EAA8E;IAC9E,6EAA6E;IAC7E,+CAA+C;IAC/C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,YAAY,GAAiB,IAAI,IAAI,UAAU,CAAC,WAAY,CAAC,CAAC;IAEpE,sEAAsE;IACtE,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClE,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,4BAA4B,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa;gBAAE,MAAM,GAAG,CAAC;YAC5C,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,qBAAqB,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,gEAAgE;IAChE,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE9C,4EAA4E;IAC5E,8EAA8E;IAC9E,sEAAsE;IACtE,6EAA6E;IAC7E,2DAA2D;IAC3D,MAAM,MAAM,GAAG,YAAY,CAAQ;QACjC,OAAO;QACP,KAAK,EAAE,mBAAmB,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC;KACjE,CAAC,CAAC;IAEH,qDAAqD;IACrD,8EAA8E;IAC9E,2EAA2E;IAC3E,2DAA2D;IAC3D,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;IAErF,8EAA8E;IAC9E,6EAA6E;IAC7E,kEAAkE;IAClE,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC;IAEjD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,oDAAoD;IACpD,MAAM,cAAc,GAAG,MAAwB,CAAC;IAChD,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE;QAC3C,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,EAAE;QAC7C,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,uFAAuF;IACvF,MAAM,SAAS,GAAG,KAAK,EAAE,GAAW,EAAqB,EAAE;QACzD,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,YAAY,EAAE,SAAS;YACvB,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAC;QACH,MAAM,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,kGAAkG;IAClG,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAW,EAAE,IAAiB,EAAqB,EAAE;QACrF,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACrC,MAAM,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,gBAAgB,CAAC,CAAC;QACzE,IAAI,CAAC;YACH,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF,yCAAyC;IACzC,kDAAkD;IAClD,oFAAoF;IACpF,MAAM,YAAY,GAA4B,EAAE,CAAC;IAEjD,MAAM,aAAa,GAAG,CAAI,IAAY,EAAE,OAAgB,EAAE,EAAE;QAC1D,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE;YAC1C,GAAG;gBACD,iEAAiE;gBACjE,sEAAsE;gBACtE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAM,CAAC;YACjD,CAAC;YACD,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,oEAAoE;IACpE,oEAAoE;IACpE,MAAM,aAAa,GAAG,iBAAiB,CAAC;QACtC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW;KACvE,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,aAAa,EAAE;QACnD,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzF,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnF,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3F,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzF,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7F,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrF,aAAa,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IACvG,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzF,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzF,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3F,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7F,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnF,aAAa,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/F,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3F,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3F,aAAa,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnG,aAAa,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjG,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzF,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzF,aAAa,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvG,aAAa,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,IAAI,4BAA4B,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnH,aAAa,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnG,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzF,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3F,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3F,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrF,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3F,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnG,aAAa,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/F,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrF,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3F,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7F,aAAa,CACX,iBAAiB,EACjB,GAAG,EAAE,CAAC,IAAI,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CACrE,CAAC;IACF,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE;IAC5B,iFAAiF;IACjF,iEAAiE;IACjE,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAC5F,CAAC;IACF,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3F,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrF,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7F,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrF,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3F,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrF,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7F,aAAa,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrG,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnF,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7F,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzF,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7F,aAAa,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzG,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrF,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;IACpH,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrF,aAAa,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnG,aAAa,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvG,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,SAAS,oBAAoB,CAAC,YAA0B,EAAE,SAAiB,EAAE,gBAAwB,EAAE,OAAe;IACpH,OAAO;QACL,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE;YACzB,0DAA0D;YAC1D,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAC7C,6EAA6E;YAC7E,0EAA0E;YAC1E,gFAAgF;YAChF,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAElD,gEAAgE;YAChE,yEAAyE;YACzE,6DAA6D;YAC7D,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;gBAC3B,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBAClD,CAAC,CAAC,aAAa,CAAC;YAElB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM;gBACN,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aAC3B,CAAC,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AA0BD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,gBAAgB;IAGS;IAFZ,MAAM,GAAG,IAAI,OAAO,EAAyB,CAAC;IAE/D,YAA6B,KAAgC;QAAhC,UAAK,GAAL,KAAK,CAA2B;IAAG,CAAC;IAEjE,uDAAuD;IACvD,KAAK,CAAC,OAAgB,EAAE,MAAc,EAAE,GAAW,EAAE,OAAe;QAClE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CACN,OAAgB,EAChB,MAAc,EACd,GAAW,EACX,OAAmE;QAEnE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO;QACtC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,MAAM,GAAkB;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU;YACV,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;YACrC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CACb,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAC5E,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CACN,MAAc,EACd,GAAW,EACX,aAAqB,EACrB,KAAY,EACZ,OAAe;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CACb,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CACnB,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,EACvC,aAAa,GAAG,CAAC,EACjB,KAAK,EACL,OAAO,CACR,CACF,CAAC;IACJ,CAAC;IAEO,IAAI,CAAC,EAAc;QACzB,IAAI,CAAC;YACH,EAAE,EAAE,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;IACH,CAAC;CACF;AAED,SAAS,yBAAyB,CAAC,SAA2B;IAC5D,OAAO;QACL,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;YACpC,qEAAqE;YACrE,0EAA0E;YAC1E,yEAAyE;YACzE,sEAAsE;YACtE,kCAAkC;YAClC,EAAE;YACF,0EAA0E;YAC1E,0EAA0E;YAC1E,6EAA6E;YAC7E,6EAA6E;YAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC;YAE/D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE;gBACvD,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,SAAS;aACV,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;YAC9B,yEAAyE;YACzE,wEAAwE;YACxE,iCAAiC;YACjC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE;gBACvD,UAAU,EAAE,CAAC;gBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjE,CAAC,CAAC;YAEH,6EAA6E;YAC7E,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAWD,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,SAAS,qBAAqB;IAC5B,2DAA2D;IAC3D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5C,mEAAmE;IACnE,MAAM,aAAa,GAAG,IAAI,OAAO,EAAmB,CAAC;IAErD,mFAAmF;IACnF,2DAA2D;IAC3D,sEAAsE;IACtE,EAAE;IACF,sFAAsF;IACtF,sEAAsE;IACtE,MAAM,sBAAsB,GAAG,GAAG,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,sFAAsF;IACtF,uEAAuE;IACvE,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEzD,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,YAAY,CAAC,IAAI,IAAI,sBAAsB,EAAE,CAAC;YAChD,qDAAqD;YACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAClD,IAAI,QAAQ;gBAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,UAAyB,EAAmB,EAAE;QACxE,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,8BAA8B;QAC9B,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,0EAA0E;QAC1E,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAE5B,gDAAgD;QAChD,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1B,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC/D,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;iBAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;YACZ,uCAAuC;YACvC,eAAe,EAAE,CAAC;YAClB,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;QAEL,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAExD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,KAAK,CAAC,IAAI,IAAI,iBAAiB,EAAE,CAAC;YACpC,qDAAqD;YACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC3C,IAAI,QAAQ;gBAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE;YACzB,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;gBAAE,OAAO,OAAO,CAAC;YAE7C,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAElC,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC;gBAChB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC;YAED,+CAA+C;YAC/C,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAErC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;YACpC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;gBAAE,OAAO,QAAQ,CAAC;YAE9C,4EAA4E;YAC5E,kFAAkF;YAClF,MAAM,QAAQ,GACZ,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC1B,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAErF,oEAAoE;YACpE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC9C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;oBACjC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;wBAC9B,MAAM,EAAE,GAAG;wBACX,OAAO;qBACR,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,uCAAuC;YACvC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC3C,WAAW,EAAE,CAAC;oBACd,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAAW,EAAE,SAAiB;IACjD,OAAO,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC;AAC/B,CAAC;AAED,gFAAgF;AAChF,gEAAgE;AAChE,gFAAgF;AAEhF,8EAA8E;AAC9E,4EAA4E;AAC5E,0EAA0E;AAE1E,+DAA+D;AAE/D;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,yCAAyC;IACzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE3B,kEAAkE;IAClE,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjD,uDAAuD;IACvD,8EAA8E;IAC9E,wDAAwD;IACxD,MAAM,SAAS,GAA2B;QACxC,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,cAAc;QACzB,WAAW,EAAE,eAAe;QAC5B,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE,UAAU;QACtB,KAAK,EAAE,cAAc;QACrB,YAAY,EAAE,aAAa;QAC3B,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,cAAc;QACzB,eAAe,EAAE,oBAAoB;QACrC,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,eAAe;QAC3B,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,UAAU,EAAG,sBAAsB;QAC1C,SAAS,EAAE,cAAc;QACzB,WAAW,EAAE,eAAe;QAC5B,gBAAgB,EAAE,oBAAoB;QACtC,cAAc,EAAE,aAAa;QAC7B,OAAO,EAAE,WAAW;QACpB,cAAc,EAAE,WAAW;QAC3B,QAAQ,EAAE,aAAa;QACvB,gBAAgB,EAAE,YAAY;QAC9B,cAAc,EAAE,mBAAmB;QACnC,SAAS,EAAE,cAAc;QACzB,EAAE,EAAE,YAAY,EAAG,+CAA+C;QAClE,gBAAgB,EAAE,WAAW;QAC7B,WAAW,EAAE,QAAQ,EAAG,gDAAgD;QACxE,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,cAAc,EAAG,8CAA8C;QAC1E,MAAM,EAAE,WAAW,EAAG,gCAAgC;QACtD,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,aAAa;QACvB,iBAAiB,EAAE,WAAW;QAC9B,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,YAAY,EAAG,4BAA4B;QACpD,qBAAqB,EAAE,kBAAkB;QACzC,QAAQ,EAAE,YAAY,EAAG,oCAAoC;QAC7D,QAAQ,EAAE,YAAY,EAAG,oCAAoC;QAC7D,KAAK,EAAE,YAAY,EAAG,iCAAiC;KACxD,CAAC;IAEF,gFAAgF;IAChF,+EAA+E;IAC/E,+EAA+E;IAC/E,MAAM,gBAAgB,GAA2C;QAC/D,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE;KAC9D,CAAC;IAEF,oEAAoE;IACpE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,cAAc,GAAG,IAAI,CAAC;IAE1B,yCAAyC;IACzC,MAAM,WAAW,GAAG,qBAAqB,CAAC;IAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,wCAAwC;QACxC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,gDAAgD;YAChD,IAAI,cAAc,EAAE,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,uEAAuE;gBACvE,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC1E,MAAM,QAAQ,GAAG,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/E,iCAAiC;gBACjC,MAAM,WAAW,GAAG,QAAQ,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACnF,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,8EAA8E;YAC9E,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,WAAW,GAAG,OAAO,CAAC;QACtB,cAAc,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,mBAAmB;IACnB,IAAI,cAAc,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,aAAa,EAAE,CAAC;QAClB,cAAc,IAAI,OAAO,CAAC;IAC5B,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAAC,MAAc,EAAE,GAAW;IAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,GAAG,WAAW,IAAI,cAAc,EAAE,CAAC;IAC/C,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,aAAa;QAC1B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAiD,CAAC;QACxE,CAAC,CAAC,SAAS,CAAC;IAEd,0EAA0E;IAC1E,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;YAChC,OAAQ,MAAM,CAAC,KAAqB,IAAI,oBAAoB,CAAC;QAC/D,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,OAAO,MAAM,CAAC,KAAoB,CAAC;IACrC,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,mBAAmB,CAC1B,SAA2B,EAC3B,YAA0B,EAC1B,WAAoB;IAEpB,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;QACvB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QAChC,MAAM,WAAW,GAAG,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAgB;YACnC,GAAG,WAAW;YACd,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACvD,CAAC;QAEF,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,UAAU,GAAuB,IAAI,CAAC;QAC1C,IACE,eAAe,CAAC,WAAW,GAAG,CAAC;YAC/B,CAAC,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,KAAK,IAAI,WAAW,KAAK,OAAO,CAAC;YAC5E,OAAO,CAAC,IAAI,EACZ,CAAC;YACD,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,CAAC;QAED,IAAI,cAAc,GAAG,OAAO,CAAC;QAC7B,MAAM,WAAW,GAAG,KAAK,EAAE,OAAe,EAAqB,EAAE;YAC/D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,sEAAsE;gBACtE,uEAAuE;gBACvE,iEAAiE;gBACjE,4DAA4D;gBAC5D,cAAc,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;oBAChC,MAAM;oBACN,OAAO,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;oBACrC,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAC;gBAEH,oEAAoE;gBACpE,sEAAsE;gBACtE,oEAAoE;gBACpE,wDAAwD;gBACxD,IAAI,CAAC;oBACH,MAAM,YAAY,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC1D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,uEAAuE;YACvE,kEAAkE;YAClE,OAAO,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC,CAAC;QAEF,MAAM,IAAI,GAAc;YACtB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC;YAClE,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC;YACxE,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC1C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC;SACjE,CAAC;QAEF,IAAI,CAAC;YACH,OAAO,MAAM,gBAAgB,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uEAAuE;YACvE,6DAA6D;YAC7D,MAAM,KAAK,YAAY,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAGhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,eAAyB,EACzB,KAA2C,EAC3C,UAAmB,EACnB,WAAmB,iBAAiB;IAEpC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE9B,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,IAAI,QAAQ,GAAG,eAAe,CAAC;IAE/B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAEvB,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,uEAAuE;QACvE,gEAAgE;QAChE,4EAA4E;QAC5E,gCAAgC;QAChC,IAAI,IAAI,KAAK,QAAQ;YAAE,MAAM;QAE7B,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU;YAAE,MAAM;QAEvB,mFAAmF;QACnF,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAErD,iFAAiF;QACjF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,sDAAsD,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QACvE,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;QACxC,CAAC;QAED,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,WAAW,CACzB,eAAyB,EACzB,KAA2C,EAC3C,UAAmB,EACnB,WAAmB,iBAAiB;IAEpC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE9B,OAAO,aAAa,CAAC,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACrE,CAAC;AAED;;;;GAIG;AACH,KAAK,SAAS,CAAC,CAAC,aAAa,CAC3B,eAAyB,EACzB,KAA2C,EAC3C,UAA8B,EAC9B,QAAgB;IAEhB,IAAI,QAAQ,GAAG,eAAe,CAAC;IAE/B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,MAAM,KAAK,CAAC;QAEZ,2EAA2E;QAC3E,0EAA0E;QAC1E,mCAAmC;QACnC,IAAI,IAAI,KAAK,QAAQ;YAAE,MAAM;QAE7B,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU;YAAE,MAAM;QAEvB,mFAAmF;QACnF,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAErD,iFAAiF;QACjF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,sDAAsD,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QACvE,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;QACxC,CAAC;QAED,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/download.js
CHANGED
|
@@ -4,7 +4,7 @@ import { TerminalRetryError, executeWithRetry, } from "./retry.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* The fixed hop-1 retry policy (SPEC §14): three total attempts when retry is
|
|
6
6
|
* enabled, retrying network errors plus {429, 502, 503, 504} — never 500 —
|
|
7
|
-
* with exponential backoff, honoring Retry-After
|
|
7
|
+
* with exponential backoff, honoring Retry-After at every status in that set. DownloadURL is
|
|
8
8
|
* deliberately absent from behavior-model.json, so the policy is passed to
|
|
9
9
|
* the retry primitive directly rather than looked up by operation. There is
|
|
10
10
|
* no public knob for the attempt count.
|
package/dist/errors.d.ts
CHANGED
|
@@ -171,7 +171,16 @@ export declare function errorFromResponse(response: Response, requestId?: string
|
|
|
171
171
|
* the service layer sees the response — re-reading it would throw and lose the
|
|
172
172
|
* server's message).
|
|
173
173
|
*/
|
|
174
|
-
export declare function errorFromParsedBody(response: Response, body: unknown, requestId?: string): BasecampError;
|
|
174
|
+
export declare function errorFromParsedBody(response: Response, body: unknown, requestId?: string, retryAfter?: number | undefined): BasecampError;
|
|
175
|
+
/**
|
|
176
|
+
* SPEC §6 `MAX_RETRY_AFTER_SECONDS`: the value a parsed Retry-After saturates
|
|
177
|
+
* at, in both wire forms. A representability bound pinned once for all six
|
|
178
|
+
* SDKs — the narrowest `retry_after` integer any of them ships, and the same
|
|
179
|
+
* ceiling §16 already names — not a policy cap. Compared against the digit
|
|
180
|
+
* string's width before any conversion, so a 400-digit value never becomes
|
|
181
|
+
* Infinity on its way to the comparison.
|
|
182
|
+
*/
|
|
183
|
+
export declare const MAX_RETRY_AFTER_SECONDS = 2147483647;
|
|
175
184
|
/**
|
|
176
185
|
* Parses the Retry-After header value (SPEC §6, "Retry-After Parsing
|
|
177
186
|
* Algorithm"): integer seconds when > 0, else an RFC 7231 HTTP-date reduced to
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
CHANGED
|
@@ -241,9 +241,14 @@ export async function errorFromResponse(response, requestId) {
|
|
|
241
241
|
* the service layer sees the response — re-reading it would throw and lose the
|
|
242
242
|
* server's message).
|
|
243
243
|
*/
|
|
244
|
-
export function errorFromParsedBody(response, body, requestId
|
|
244
|
+
export function errorFromParsedBody(response, body, requestId,
|
|
245
|
+
// The parsed Retry-After, when the caller already holds it: a retry loop
|
|
246
|
+
// hands over the value that governs the sleep it is about to take, so the
|
|
247
|
+
// error §7 step 3i gives on_retry carries that number and not a second
|
|
248
|
+
// parse of an HTTP-date, which can round to one second less across a
|
|
249
|
+
// whole-second boundary. Absent, the header is parsed here.
|
|
250
|
+
retryAfter = parseRetryAfter(response.headers.get("Retry-After"))) {
|
|
245
251
|
const httpStatus = response.status;
|
|
246
|
-
const retryAfter = parseRetryAfter(response.headers.get("Retry-After"));
|
|
247
252
|
// Try to extract error message from the parsed body. The fallback is the
|
|
248
253
|
// fixed code-bearing phrase (SPEC §6 step 5), never response.statusText —
|
|
249
254
|
// the wire reason phrase does not exist under HTTP/2 and is empty for an
|
|
@@ -283,11 +288,11 @@ export function errorFromParsedBody(response, body, requestId) {
|
|
|
283
288
|
}
|
|
284
289
|
switch (httpStatus) {
|
|
285
290
|
case 401:
|
|
286
|
-
return new BasecampError("auth_required", message, { httpStatus, hint, requestId });
|
|
291
|
+
return new BasecampError("auth_required", message, { httpStatus, hint, requestId, retryAfter });
|
|
287
292
|
case 403:
|
|
288
|
-
return new BasecampError("forbidden", message, { httpStatus, hint, requestId });
|
|
293
|
+
return new BasecampError("forbidden", message, { httpStatus, hint, requestId, retryAfter });
|
|
289
294
|
case 404:
|
|
290
|
-
return new BasecampError("not_found", message, { httpStatus, hint, requestId });
|
|
295
|
+
return new BasecampError("not_found", message, { httpStatus, hint, requestId, retryAfter });
|
|
291
296
|
case 429:
|
|
292
297
|
return new BasecampError("rate_limit", message, {
|
|
293
298
|
httpStatus,
|
|
@@ -297,7 +302,7 @@ export function errorFromParsedBody(response, body, requestId) {
|
|
|
297
302
|
requestId,
|
|
298
303
|
});
|
|
299
304
|
case 400:
|
|
300
|
-
return new BasecampError("validation", message, { httpStatus, hint, requestId, fieldErrors });
|
|
305
|
+
return new BasecampError("validation", message, { httpStatus, hint, requestId, fieldErrors, retryAfter });
|
|
301
306
|
case 422:
|
|
302
307
|
if (confirmationPeople) {
|
|
303
308
|
return new PeopleConfirmationRequiredError(message, confirmationPeople, {
|
|
@@ -305,9 +310,10 @@ export function errorFromParsedBody(response, body, requestId) {
|
|
|
305
310
|
hint,
|
|
306
311
|
requestId,
|
|
307
312
|
fieldErrors,
|
|
313
|
+
retryAfter,
|
|
308
314
|
});
|
|
309
315
|
}
|
|
310
|
-
return new BasecampError("validation", message, { httpStatus, hint, requestId, fieldErrors });
|
|
316
|
+
return new BasecampError("validation", message, { httpStatus, hint, requestId, fieldErrors, retryAfter });
|
|
311
317
|
case 507:
|
|
312
318
|
// A 5xx status carrying a client fact: the account is out of storage, or
|
|
313
319
|
// at its webhook ceiling. Retrying cannot satisfy it, so this must be
|
|
@@ -317,15 +323,20 @@ export function errorFromParsedBody(response, body, requestId) {
|
|
|
317
323
|
retryable: false,
|
|
318
324
|
hint,
|
|
319
325
|
requestId,
|
|
326
|
+
retryAfter,
|
|
320
327
|
});
|
|
321
328
|
default:
|
|
322
329
|
// 5xx errors are retryable
|
|
323
330
|
const retryable = httpStatus >= 500 && httpStatus < 600;
|
|
331
|
+
// retryAfter rides along at every status (SPEC §6 "HTTP Status Mapping
|
|
332
|
+
// Algorithm"): one parse feeds both the retry loop's sleep and this
|
|
333
|
+
// field, so an exhausted 503 reports the wait the origin named.
|
|
324
334
|
return new BasecampError("api_error", message, {
|
|
325
335
|
httpStatus,
|
|
326
336
|
retryable,
|
|
327
337
|
hint,
|
|
328
338
|
requestId,
|
|
339
|
+
retryAfter,
|
|
329
340
|
});
|
|
330
341
|
}
|
|
331
342
|
}
|
|
@@ -458,10 +469,25 @@ function flattenFieldErrors(fieldErrors) {
|
|
|
458
469
|
.join(", ");
|
|
459
470
|
}
|
|
460
471
|
/**
|
|
461
|
-
* `delay-seconds` per RFC 9110
|
|
462
|
-
*
|
|
472
|
+
* `delay-seconds` per RFC 9110: `1*DIGIT`, unsigned ASCII digits and nothing
|
|
473
|
+
* else. A leading sign is malformed (SPEC §6's parsing table), even though an
|
|
474
|
+
* earlier revision accepted one on the precedent of the stdlib integer parsers
|
|
475
|
+
* that do. Surrounding whitespace is trimmed by the caller before the test.
|
|
463
476
|
*/
|
|
464
|
-
const DELAY_SECONDS =
|
|
477
|
+
const DELAY_SECONDS = /^\d+$/;
|
|
478
|
+
/**
|
|
479
|
+
* SPEC §6 `MAX_RETRY_AFTER_SECONDS`: the value a parsed Retry-After saturates
|
|
480
|
+
* at, in both wire forms. A representability bound pinned once for all six
|
|
481
|
+
* SDKs — the narrowest `retry_after` integer any of them ships, and the same
|
|
482
|
+
* ceiling §16 already names — not a policy cap. Compared against the digit
|
|
483
|
+
* string's width before any conversion, so a 400-digit value never becomes
|
|
484
|
+
* Infinity on its way to the comparison.
|
|
485
|
+
*/
|
|
486
|
+
export const MAX_RETRY_AFTER_SECONDS = 2_147_483_647;
|
|
487
|
+
const MAX_RETRY_AFTER_DIGITS = String(MAX_RETRY_AFTER_SECONDS).length;
|
|
488
|
+
function saturateRetryAfter(seconds) {
|
|
489
|
+
return seconds > MAX_RETRY_AFTER_SECONDS ? MAX_RETRY_AFTER_SECONDS : seconds;
|
|
490
|
+
}
|
|
465
491
|
/**
|
|
466
492
|
* IMF-fixdate per RFC 7231 — `Sun, 06 Nov 1994 08:49:37 GMT`. A shape gate
|
|
467
493
|
* only: `Date.parse` still does the calendar arithmetic below, and still
|
|
@@ -525,8 +551,11 @@ export function parseRetryAfter(value) {
|
|
|
525
551
|
// instruction would become a tight retry loop against a server already
|
|
526
552
|
// answering 429 (SPEC §7's backoff ceiling exists for exactly this).
|
|
527
553
|
if (DELAY_SECONDS.test(trimmed)) {
|
|
528
|
-
const
|
|
529
|
-
|
|
554
|
+
const digits = trimmed.replace(/^0+/, "");
|
|
555
|
+
if (digits.length > MAX_RETRY_AFTER_DIGITS)
|
|
556
|
+
return MAX_RETRY_AFTER_SECONDS;
|
|
557
|
+
const seconds = Number(digits);
|
|
558
|
+
return seconds > 0 ? saturateRetryAfter(seconds) : undefined;
|
|
530
559
|
}
|
|
531
560
|
// Step 2 — an HTTP-date, reduced to the seconds remaining and honoured when
|
|
532
561
|
// that is positive. A past date returns undefined rather than 0: handing back
|
|
@@ -538,7 +567,7 @@ export function parseRetryAfter(value) {
|
|
|
538
567
|
if (!isNaN(date)) {
|
|
539
568
|
const diffMs = date - Date.now();
|
|
540
569
|
if (diffMs > 0) {
|
|
541
|
-
return Math.ceil(diffMs / 1000);
|
|
570
|
+
return saturateRetryAfter(Math.ceil(diffMs / 1000));
|
|
542
571
|
}
|
|
543
572
|
}
|
|
544
573
|
}
|