@opsee/mcp-server 0.5.7 → 0.6.1
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 +58 -1
- package/gen/api/v1/models_pb.d.ts +102 -1
- package/gen/api/v1/models_pb.js +21 -2
- package/gen/api/v1/task_dependency_pb.d.ts +151 -0
- package/gen/api/v1/task_dependency_pb.js +60 -0
- package/gen/api/v1/task_pb.d.ts +5 -0
- package/gen/api/v1/task_pb.js +1 -1
- package/package.json +1 -1
- package/src/client/api.ts +12 -0
- package/src/server.ts +6 -0
- package/src/tools/comments.ts +96 -0
- package/src/tools/labels.ts +199 -0
- package/src/tools/task-dependencies.ts +96 -0
- package/src/tools/tasks.ts +56 -8
- package/src/tools/user.ts +41 -1
- package/src/utils/format.ts +81 -1
package/README.md
CHANGED
|
@@ -31,17 +31,34 @@ Ask Claude things like:
|
|
|
31
31
|
- "What cycles are active in project 1?"
|
|
32
32
|
- "Show me the docs in project 1"
|
|
33
33
|
|
|
34
|
-
## Available Tools (
|
|
34
|
+
## Available Tools (36)
|
|
35
35
|
|
|
36
36
|
| Tool | Description |
|
|
37
37
|
|------|-------------|
|
|
38
38
|
| `opsee_get_me` | Get your profile info |
|
|
39
|
+
| `opsee_list_users` | List company users (resolve assignee IDs) |
|
|
40
|
+
| `opsee_get_user` | Get user details |
|
|
39
41
|
| `opsee_list_projects` | List all projects |
|
|
40
42
|
| `opsee_get_project` | Get project details |
|
|
41
43
|
| `opsee_list_tasks` | List tasks with filters |
|
|
42
44
|
| `opsee_get_task` | Get task details |
|
|
43
45
|
| `opsee_create_task` | Create a new task |
|
|
44
46
|
| `opsee_update_task` | Update task fields |
|
|
47
|
+
| `opsee_bulk_update_tasks` | Update many tasks in one transaction |
|
|
48
|
+
| `opsee_list_comments` | List comments on a task |
|
|
49
|
+
| `opsee_add_comment` | Add a comment to a task |
|
|
50
|
+
| `opsee_delete_comment` | Delete a comment |
|
|
51
|
+
| `opsee_list_labels` | List labels in a project |
|
|
52
|
+
| `opsee_get_label` | Get label details |
|
|
53
|
+
| `opsee_create_label` | Create a label |
|
|
54
|
+
| `opsee_update_label` | Update a label |
|
|
55
|
+
| `opsee_delete_label` | Delete a label |
|
|
56
|
+
| `opsee_attach_label_to_task` | Attach a label to a task |
|
|
57
|
+
| `opsee_detach_label_from_task` | Detach a label from a task (pass TaskLabel join-row id) |
|
|
58
|
+
| `opsee_list_task_labels` | List labels attached to a task |
|
|
59
|
+
| `opsee_create_task_dependency` | Add a typed task-to-task relation (BLOCKS / BLOCKED_BY / DUPLICATES / RELATES_TO) |
|
|
60
|
+
| `opsee_list_task_dependencies` | List a task's dependencies (both directions) |
|
|
61
|
+
| `opsee_delete_task_dependency` | Delete a task dependency by ID |
|
|
45
62
|
| `opsee_list_task_types` | Get task types (Bug, Feature, etc.) |
|
|
46
63
|
| `opsee_list_task_priorities` | Get priority levels |
|
|
47
64
|
| `opsee_list_boards` | List Kanban boards |
|
|
@@ -55,6 +72,46 @@ Ask Claude things like:
|
|
|
55
72
|
| `opsee_create_doc_page` | Create a new doc page |
|
|
56
73
|
| `opsee_list_repositories` | List connected repositories |
|
|
57
74
|
|
|
75
|
+
## Task description format
|
|
76
|
+
|
|
77
|
+
The `description` field on tasks accepts and returns user-supplied text, but the Opsee backend may normalize the stored representation. The exact round-trip behavior depends on the backend version and is not yet fully documented here.
|
|
78
|
+
|
|
79
|
+
### What's confirmed
|
|
80
|
+
|
|
81
|
+
- The MCP wrapper passes `description` to the backend unmodified. Whatever transformation happens is server-side.
|
|
82
|
+
- Read tools (`opsee_get_task`, `opsee_list_tasks`) return whatever the backend has stored, byte-for-byte.
|
|
83
|
+
|
|
84
|
+
### What needs empirical verification
|
|
85
|
+
|
|
86
|
+
The following test plan, run against a live Opsee instance, captures round-trip behavior for the three common input forms. **Results have not yet been recorded here — run the test and fill in the observed strings below.**
|
|
87
|
+
|
|
88
|
+
```text
|
|
89
|
+
# Plain text with separator and trailer
|
|
90
|
+
opsee_create_task(projectId=<P>, title="rt plain",
|
|
91
|
+
description="line one\nline two\n---\nLabels: x")
|
|
92
|
+
opsee_get_task(taskId=<id>) → record exact returned description
|
|
93
|
+
|
|
94
|
+
# Markdown with headers, list, fenced code
|
|
95
|
+
opsee_create_task(projectId=<P>, title="rt md",
|
|
96
|
+
description="# H1\n- bullet\n\n```ts\ncode\n```")
|
|
97
|
+
opsee_get_task(taskId=<id>) → record exact returned description
|
|
98
|
+
|
|
99
|
+
# BlockNote JSON
|
|
100
|
+
opsee_create_task(projectId=<P>, title="rt blocknote",
|
|
101
|
+
description='[{"type":"paragraph","content":[{"type":"text","text":"x"}]}]')
|
|
102
|
+
opsee_get_task(taskId=<id>) → record exact returned description
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Observed round-trip outcomes
|
|
106
|
+
|
|
107
|
+
| Input form | Stored form (from `opsee_get_task`) | Notes |
|
|
108
|
+
|---|---|---|
|
|
109
|
+
| Plain text | _Pending empirical verification_ | |
|
|
110
|
+
| Markdown | _Pending empirical verification_ | |
|
|
111
|
+
| BlockNote JSON | _Pending empirical verification_ | |
|
|
112
|
+
|
|
113
|
+
> If the round trip is lossy (e.g. plain text becomes BlockNote JSON on read), callers relying on byte-identical round-trip should treat `description` as backend-defined and avoid parsing trailers; use first-class fields (`opsee_attach_label_to_task`, `opsee_add_comment`, etc.) for structured metadata instead.
|
|
114
|
+
|
|
58
115
|
## Remote MCP Server (Recommended)
|
|
59
116
|
|
|
60
117
|
The remote server runs in the cloud with OAuth 2.0 authentication - no local setup or tokens needed.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// @generated from file api/v1/models.proto (package api.v1, syntax proto3)
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
5
|
-
import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
|
|
5
|
+
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
|
|
6
6
|
import type { Message } from "@bufbuild/protobuf";
|
|
7
7
|
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
8
8
|
import type { VCSProvider } from "./vcs_pb";
|
|
@@ -1823,6 +1823,16 @@ export declare type Task = Message<"api.v1.Task"> & {
|
|
|
1823
1823
|
* @generated from field: api.v1.Milestone milestone = 43;
|
|
1824
1824
|
*/
|
|
1825
1825
|
milestone?: Milestone;
|
|
1826
|
+
|
|
1827
|
+
/**
|
|
1828
|
+
* @generated from field: repeated api.v1.TaskDependency task_dependencies_outgoing = 44;
|
|
1829
|
+
*/
|
|
1830
|
+
taskDependenciesOutgoing: TaskDependency[];
|
|
1831
|
+
|
|
1832
|
+
/**
|
|
1833
|
+
* @generated from field: repeated api.v1.TaskDependency task_dependencies_incoming = 45;
|
|
1834
|
+
*/
|
|
1835
|
+
taskDependenciesIncoming: TaskDependency[];
|
|
1826
1836
|
};
|
|
1827
1837
|
|
|
1828
1838
|
/**
|
|
@@ -3429,3 +3439,94 @@ export declare type MilestoneDocument = Message<"api.v1.MilestoneDocument"> & {
|
|
|
3429
3439
|
*/
|
|
3430
3440
|
export declare const MilestoneDocumentSchema: GenMessage<MilestoneDocument>;
|
|
3431
3441
|
|
|
3442
|
+
/**
|
|
3443
|
+
* @generated from message api.v1.TaskDependency
|
|
3444
|
+
*/
|
|
3445
|
+
export declare type TaskDependency = Message<"api.v1.TaskDependency"> & {
|
|
3446
|
+
/**
|
|
3447
|
+
* @generated from field: uint32 id = 1;
|
|
3448
|
+
*/
|
|
3449
|
+
id: number;
|
|
3450
|
+
|
|
3451
|
+
/**
|
|
3452
|
+
* @generated from field: uint32 from_task_id = 2;
|
|
3453
|
+
*/
|
|
3454
|
+
fromTaskId: number;
|
|
3455
|
+
|
|
3456
|
+
/**
|
|
3457
|
+
* @generated from field: api.v1.Task from_task = 3;
|
|
3458
|
+
*/
|
|
3459
|
+
fromTask?: Task;
|
|
3460
|
+
|
|
3461
|
+
/**
|
|
3462
|
+
* @generated from field: uint32 to_task_id = 4;
|
|
3463
|
+
*/
|
|
3464
|
+
toTaskId: number;
|
|
3465
|
+
|
|
3466
|
+
/**
|
|
3467
|
+
* @generated from field: api.v1.Task to_task = 5;
|
|
3468
|
+
*/
|
|
3469
|
+
toTask?: Task;
|
|
3470
|
+
|
|
3471
|
+
/**
|
|
3472
|
+
* @generated from field: api.v1.TaskDependencyType type = 6;
|
|
3473
|
+
*/
|
|
3474
|
+
type: TaskDependencyType;
|
|
3475
|
+
|
|
3476
|
+
/**
|
|
3477
|
+
* @generated from field: uint32 company_id = 7;
|
|
3478
|
+
*/
|
|
3479
|
+
companyId: number;
|
|
3480
|
+
|
|
3481
|
+
/**
|
|
3482
|
+
* @generated from field: google.protobuf.Timestamp created_at = 8;
|
|
3483
|
+
*/
|
|
3484
|
+
createdAt?: Timestamp;
|
|
3485
|
+
|
|
3486
|
+
/**
|
|
3487
|
+
* @generated from field: google.protobuf.Timestamp updated_at = 9;
|
|
3488
|
+
*/
|
|
3489
|
+
updatedAt?: Timestamp;
|
|
3490
|
+
};
|
|
3491
|
+
|
|
3492
|
+
/**
|
|
3493
|
+
* Describes the message api.v1.TaskDependency.
|
|
3494
|
+
* Use `create(TaskDependencySchema)` to create a new message.
|
|
3495
|
+
*/
|
|
3496
|
+
export declare const TaskDependencySchema: GenMessage<TaskDependency>;
|
|
3497
|
+
|
|
3498
|
+
/**
|
|
3499
|
+
* @generated from enum api.v1.TaskDependencyType
|
|
3500
|
+
*/
|
|
3501
|
+
export enum TaskDependencyType {
|
|
3502
|
+
/**
|
|
3503
|
+
* @generated from enum value: TASK_DEPENDENCY_TYPE_UNSPECIFIED = 0;
|
|
3504
|
+
*/
|
|
3505
|
+
UNSPECIFIED = 0,
|
|
3506
|
+
|
|
3507
|
+
/**
|
|
3508
|
+
* @generated from enum value: TASK_DEPENDENCY_TYPE_BLOCKS = 1;
|
|
3509
|
+
*/
|
|
3510
|
+
BLOCKS = 1,
|
|
3511
|
+
|
|
3512
|
+
/**
|
|
3513
|
+
* @generated from enum value: TASK_DEPENDENCY_TYPE_BLOCKED_BY = 2;
|
|
3514
|
+
*/
|
|
3515
|
+
BLOCKED_BY = 2,
|
|
3516
|
+
|
|
3517
|
+
/**
|
|
3518
|
+
* @generated from enum value: TASK_DEPENDENCY_TYPE_DUPLICATES = 3;
|
|
3519
|
+
*/
|
|
3520
|
+
DUPLICATES = 3,
|
|
3521
|
+
|
|
3522
|
+
/**
|
|
3523
|
+
* @generated from enum value: TASK_DEPENDENCY_TYPE_RELATES_TO = 4;
|
|
3524
|
+
*/
|
|
3525
|
+
RELATES_TO = 4,
|
|
3526
|
+
}
|
|
3527
|
+
|
|
3528
|
+
/**
|
|
3529
|
+
* Describes the enum api.v1.TaskDependencyType.
|
|
3530
|
+
*/
|
|
3531
|
+
export declare const TaskDependencyTypeSchema: GenEnum<TaskDependencyType>;
|
|
3532
|
+
|
package/gen/api/v1/models_pb.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// @generated from file api/v1/models.proto (package api.v1, syntax proto3)
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
5
|
-
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
|
|
5
|
+
import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv1";
|
|
6
6
|
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
7
7
|
import { file_api_v1_vcs } from "./vcs_pb";
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ import { file_api_v1_vcs } from "./vcs_pb";
|
|
|
10
10
|
* Describes the file api/v1/models.proto.
|
|
11
11
|
*/
|
|
12
12
|
export const file_api_v1_models = /*@__PURE__*/
|
|
13
|
-
fileDesc("ChNhcGkvdjEvbW9kZWxzLnByb3RvEgZhcGkudjEiJgoKUGVybWlzc2lvbhIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJImgKBFJvbGUSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIdCgdwYXJlbnRzGAMgAygLMgwuYXBpLnYxLlJvbGUSJwoLcGVybWlzc2lvbnMYBCADKAsyEi5hcGkudjEuUGVybWlzc2lvbiLhAgoEVXNlchIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEg0KBWVtYWlsGAIgASgJEhIKCmZpcnN0X25hbWUYAyABKAkSEQoJbGFzdF9uYW1lGAQgASgJEhEKCWZ1bGxfbmFtZRgFIAEoCRIVCg1wcm92aWRlcl9uYW1lGAYgASgJEhsKBXJvbGVzGAcgAygLMgwuYXBpLnYxLlJvbGUSJQoPZmxhdHRlbmVkX3JvbGVzGAggAygLMgwuYXBpLnYxLlJvbGUSEgoKY3JlYXRlZF9hdBgJIAEoCRISCgpjb21wYW55X2lkGAogASgNEiAKB2NvbXBhbnkYCyABKAsyDy5hcGkudjEuQ29tcGFueRINCgVwaG9uZRgMIAEoCRIYChBwaG9uZV9jb3VudHJ5X2lkGA0gASgNEhIKCmF2YXRhcl91cmwYDiABKAkSFAoMYXZhdGFyX2NvbG9yGA8gASgJItAECgdDb21wYW55EgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSDAoEbmFtZRgCIAEoCRIMCgRzbHVnGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESGAoLd2Vic2l0ZV91cmwYBSABKAlIAYgBARIVCghpbmR1c3RyeRgGIAEoCUgCiAEBEhEKBHNpemUYByABKAlIA4gBARIaCg1zZXR0aW5nc19qc29uGAggASgJSASIAQESEQoJaXNfYWN0aXZlGAkgASgIEhoKDWJpbGxpbmdfZW1haWwYCiABKAlIBYgBARIUCgdhZGRyZXNzGAsgASgJSAaIAQESFQoIYWRkcmVzczIYDCABKAlIB4gBARIRCgRjaXR5GA0gASgJSAiIAQESEgoFc3RhdGUYDiABKAlICYgBARIVCgh6aXBfY29kZRgPIAEoCUgKiAEBEhcKCmNvdW50cnlfaWQYECABKA1IC4gBARITCgZ0YXhfaWQYESABKAlIDIgBARIgCgdjb3VudHJ5GBIgASgLMg8uYXBpLnYxLkNvdW50cnlCDgoMX2Rlc2NyaXB0aW9uQg4KDF93ZWJzaXRlX3VybEILCglfaW5kdXN0cnlCBwoFX3NpemVCEAoOX3NldHRpbmdzX2pzb25CEAoOX2JpbGxpbmdfZW1haWxCCgoIX2FkZHJlc3NCCwoJX2FkZHJlc3MyQgcKBV9jaXR5QggKBl9zdGF0ZUILCglfemlwX2NvZGVCDQoLX2NvdW50cnlfaWRCCQoHX3RheF9pZCLkBAoMU3Vic2NyaXB0aW9uEgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSEgoKY29tcGFueV9pZBgCIAEoDRIaChJzdHJpcGVfY3VzdG9tZXJfaWQYAyABKAkSIwoWc3RyaXBlX3N1YnNjcmlwdGlvbl9pZBgEIAEoCUgAiAEBEg4KBnN0YXR1cxgFIAEoCRI9ChRjdXJyZW50X3BlcmlvZF9zdGFydBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI7ChJjdXJyZW50X3BlcmlvZF9lbmQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESHgoRcGF5bWVudF9tZXRob2RfaWQYCCABKA1IA4gBARInCgVpdGVtcxgJIAMoCzIYLmFwaS52MS5TdWJzY3JpcHRpb25JdGVtEi0KDnBheW1lbnRfbWV0aG9kGAogASgLMhUuYXBpLnYxLlBheW1lbnRNZXRob2QSIAoHY29tcGFueRgLIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhkKF19zdHJpcGVfc3Vic2NyaXB0aW9uX2lkQhcKFV9jdXJyZW50X3BlcmlvZF9zdGFydEIVChNfY3VycmVudF9wZXJpb2RfZW5kQhQKEl9wYXltZW50X21ldGhvZF9pZCKAAgoQU3Vic2NyaXB0aW9uSXRlbRIKCgJpZBgBIAEoDRIXCg9zdWJzY3JpcHRpb25faWQYAiABKA0SFAoMcHJvZHVjdF90eXBlGAMgASgJEhAKCHF1YW50aXR5GAQgASgFEhIKCnVuaXRfcHJpY2UYBSABKAMSGAoQYmlsbGluZ19pbnRlcnZhbBgGIAEoCRIRCglpc19hY3RpdmUYByABKAgSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAixAIKDVBheW1lbnRNZXRob2QSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRISCgpjb21wYW55X2lkGAIgASgNEhgKEHN0cmlwZV9tZXRob2RfaWQYAyABKAkSDAoEdHlwZRgEIAEoCRINCgVsYXN0NBgFIAEoCRINCgVicmFuZBgGIAEoCRIUCgxleHBpcnlfbW9udGgYByABKAUSEwoLZXhwaXJ5X3llYXIYCCABKAUSEgoKaXNfZGVmYXVsdBgJIAEoCBIgCgdjb21wYW55GAogASgLMg8uYXBpLnYxLkNvbXBhbnkSLgoKY3JlYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAioAIKDVByb2R1Y3RDb25maWcSCgoCaWQYASABKA0SFAoMcHJvZHVjdF90eXBlGAIgASgJEhUKDW1vbnRobHlfcHJpY2UYAyABKAMSFAoMeWVhcmx5X3ByaWNlGAQgASgDEhUKDWZyZWVfcXVhbnRpdHkYBSABKAUSFAoMaXNfcmVjdXJyaW5nGAYgASgIEhkKEXN0cmlwZV9tb250aGx5X2lkGAcgASgJEhgKEHN0cmlwZV95ZWFybHlfaWQYCCABKAkSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAizAIKDkNvbXBhbnlDcmVkaXRzEgoKAmlkGAEgASgNEhIKCmNvbXBhbnlfaWQYAiABKA0SFQoNdG90YWxfY3JlZGl0cxgDIAEoBRIUCgx1c2VkX2NyZWRpdHMYBCABKAUSGQoRYXZhaWxhYmxlX2NyZWRpdHMYBSABKAUSOgoRbGFzdF9hbGxvY2F0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESIAoHY29tcGFueRgHIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhQKEl9sYXN0X2FsbG9jYXRlZF9hdCKjAgoRQ3JlZGl0VHJhbnNhY3Rpb24SCgoCaWQYASABKA0SEgoKY29tcGFueV9pZBgCIAEoDRIOCgZhbW91bnQYAyABKAUSDgoGcmVhc29uGAQgASgJEhgKC2VudGl0eV90eXBlGAUgASgJSACIAQESFgoJZW50aXR5X2lkGAYgASgJSAGIAQESGgoNbWV0YWRhdGFfanNvbhgHIAEoCUgCiAEBEiAKB2NvbXBhbnkYCCABKAsyDy5hcGkudjEuQ29tcGFueRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZW50aXR5X3R5cGVCDAoKX2VudGl0eV9pZEIQCg5fbWV0YWRhdGFfanNvbiL0AQoHUHJvamVjdBIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEgwKBG5hbWUYAiABKAkSDAoEc2x1ZxgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgFIAEoCBIaCg1zZXR0aW5nc19qc29uGAYgASgJSAGIAQESEgoKY29tcGFueV9pZBgHIAEoDRIgCgdjb21wYW55GAggASgLMg8uYXBpLnYxLkNvbXBhbnkSEgoKc2hvcnRfbmFtZRgJIAEoCUIOCgxfZGVzY3JpcHRpb25CEAoOX3NldHRpbmdzX2pzb24ipQEKEVByb2plY3RNZW1iZXJzaGlwEgoKAmlkGAEgASgNEgwKBHJvbGUYAiABKAkSEwoLaXNfZmF2b3JpdGUYAyABKAgSEgoKcHJvamVjdF9pZBgEIAEoDRIgCgdwcm9qZWN0GAUgASgLMg8uYXBpLnYxLlByb2plY3QSDwoHdXNlcl9pZBgGIAEoDRIaCgR1c2VyGAcgASgLMgwuYXBpLnYxLlVzZXIiwgIKCERvY1NwYWNlEgoKAmlkGAEgASgNEg0KBXRpdGxlGAIgASgJEgwKBHNsdWcYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARISCgppc19kZWZhdWx0GAUgASgIEhMKC2lzX2FyY2hpdmVkGAYgASgIEhIKCnByb2plY3RfaWQYByABKA0SIAoHcHJvamVjdBgIIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgJIAEoDRIlCg9jcmVhdGVkX2J5X3VzZXIYCiABKAsyDC5hcGkudjEuVXNlchIaChJ1cGRhdGVkX2J5X3VzZXJfaWQYCyABKA0SJQoPdXBkYXRlZF9ieV91c2VyGAwgASgLMgwuYXBpLnYxLlVzZXJCDgoMX2Rlc2NyaXB0aW9uIvsDCgdEb2NQYWdlEgoKAmlkGAEgASgNEg0KBXRpdGxlGAIgASgJEgwKBHNsdWcYAyABKAkSFwoPY3VycmVudF9jb250ZW50GAQgASgJEhQKDGNvbnRlbnRfdHlwZRgFIAEoCRIeChZjdXJyZW50X3ZlcnNpb25fbnVtYmVyGAYgASgFEg8KB2lzX3Jvb3QYByABKAgSEwoLaXNfYXJjaGl2ZWQYCCABKAgSFQoNZGlzcGxheV9vcmRlchgJIAEoBRIUCgxkb2Nfc3BhY2VfaWQYCiABKA0SIwoJZG9jX3NwYWNlGAsgASgLMhAuYXBpLnYxLkRvY1NwYWNlEhsKDnBhcmVudF9wYWdlX2lkGAwgASgNSACIAQESJAoLcGFyZW50X3BhZ2UYDSABKAsyDy5hcGkudjEuRG9jUGFnZRIkCgtjaGlsZF9wYWdlcxgOIAMoCzIPLmFwaS52MS5Eb2NQYWdlEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgPIAEoDRIlCg9jcmVhdGVkX2J5X3VzZXIYECABKAsyDC5hcGkudjEuVXNlchIaChJ1cGRhdGVkX2J5X3VzZXJfaWQYESABKA0SJQoPdXBkYXRlZF9ieV91c2VyGBIgASgLMgwuYXBpLnYxLlVzZXJCEQoPX3BhcmVudF9wYWdlX2lkIvUCCg5Eb2NQYWdlVmVyc2lvbhIKCgJpZBgBIAEoDRIWCg52ZXJzaW9uX251bWJlchgCIAEoBRINCgV0aXRsZRgDIAEoCRIPCgdjb250ZW50GAQgASgJEhQKDGNvbnRlbnRfdHlwZRgFIAEoCRIbCg5jaGFuZ2Vfc3VtbWFyeRgGIAEoCUgAiAEBEhMKC2RvY19wYWdlX2lkGAcgASgNEiEKCGRvY19wYWdlGAggASgLMg8uYXBpLnYxLkRvY1BhZ2USGgoSY3JlYXRlZF9ieV91c2VyX2lkGAkgASgNEiUKD2NyZWF0ZWRfYnlfdXNlchgKIAEoCzIMLmFwaS52MS5Vc2VyEi4KCmNyZWF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhEKD19jaGFuZ2Vfc3VtbWFyeSKQCAoOVkNTSW50ZWdyYXRpb24SCgoCaWQYASABKA0SEgoKcmVwb19vd25lchgCIAEoCRIRCglyZXBvX25hbWUYAyABKAkSFwoPdG9rZW5fZW5jcnlwdGVkGAQgASgJEhYKDmRlZmF1bHRfYnJhbmNoGAUgASgJEhsKDndlYmhvb2tfc2VjcmV0GAYgASgJSACIAQESHQoQcGVybWlzc2lvbnNfanNvbhgHIAEoCUgBiAEBEhEKCWlzX2FjdGl2ZRgIIAEoCBISCgpwcm9qZWN0X2lkGAkgASgNEiAKB3Byb2plY3QYCiABKAsyDy5hcGkudjEuUHJvamVjdBIcCg9pbnN0YWxsYXRpb25faWQYCyABKANIAogBARITCgZhcHBfaWQYDCABKAlIA4gBARIpChxpbnN0YWxsYXRpb25fdG9rZW5fZW5jcnlwdGVkGA0gASgJSASIAQESRgodaW5zdGFsbGF0aW9uX3Rva2VuX2V4cGlyZXNfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESGAoLb2F1dGhfc3RhdGUYDyABKAlIBogBARIYChBhdXRvX3N5bmNfaXNzdWVzGBAgASgIEhoKEmVuYWJsZV9wcl93ZWJob29rcxgRIAEoCBIlCghwcm92aWRlchgeIAEoDjITLmFwaS52MS5WQ1NQcm92aWRlchIZCgxpbnN0YW5jZV91cmwYHyABKAlIB4gBARIjChZhY2Nlc3NfdG9rZW5fZW5jcnlwdGVkGCAgASgJSAiIAQESJAoXcmVmcmVzaF90b2tlbl9lbmNyeXB0ZWQYISABKAlICYgBARI5ChB0b2tlbl9leHBpcmVzX2F0GCIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgKiAEBEhwKD2dpdGxhYl9ncm91cF9pZBgjIAEoA0gLiAEBEhsKDmdpdGxhYl91c2VyX2lkGCQgASgDSAyIAQFCEQoPX3dlYmhvb2tfc2VjcmV0QhMKEV9wZXJtaXNzaW9uc19qc29uQhIKEF9pbnN0YWxsYXRpb25faWRCCQoHX2FwcF9pZEIfCh1faW5zdGFsbGF0aW9uX3Rva2VuX2VuY3J5cHRlZEIgCh5faW5zdGFsbGF0aW9uX3Rva2VuX2V4cGlyZXNfYXRCDgoMX29hdXRoX3N0YXRlQg8KDV9pbnN0YW5jZV91cmxCGQoXX2FjY2Vzc190b2tlbl9lbmNyeXB0ZWRCGgoYX3JlZnJlc2hfdG9rZW5fZW5jcnlwdGVkQhMKEV90b2tlbl9leHBpcmVzX2F0QhIKEF9naXRsYWJfZ3JvdXBfaWRCEQoPX2dpdGxhYl91c2VyX2lkItAEChFQcm9qZWN0UmVwb3NpdG9yeRIKCgJpZBgBIAEoDRISCgpwcm9qZWN0X2lkGAIgASgNEiAKB3Byb2plY3QYAyABKAsyDy5hcGkudjEuUHJvamVjdBIaChJ2Y3NfaW50ZWdyYXRpb25faWQYBCABKA0SLwoPdmNzX2ludGVncmF0aW9uGAUgASgLMhYuYXBpLnYxLlZDU0ludGVncmF0aW9uEhUKDXJlcG9zaXRvcnlfaWQYBiABKAMSGAoQcmVwb3NpdG9yeV9vd25lchgHIAEoCRIXCg9yZXBvc2l0b3J5X25hbWUYCCABKAkSHAoUcmVwb3NpdG9yeV9mdWxsX25hbWUYCSABKAkSFgoOZGVmYXVsdF9icmFuY2gYCiABKAkSEgoKaXNfcHJpdmF0ZRgLIAEoCBIYCgtkZXNjcmlwdGlvbhgMIAEoCUgAiAEBEgsKA3VybBgNIAEoCRIRCglpc19hY3RpdmUYDiABKAgSLgoKY3JlYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGAoQYXV0b19zeW5jX2lzc3VlcxgRIAEoCBIaChJlbmFibGVfcHJfd2ViaG9va3MYEiABKAgSJQoIcHJvdmlkZXIYEyABKA4yEy5hcGkudjEuVkNTUHJvdmlkZXISEQoJY2xvbmVfdXJsGBQgASgJQg4KDF9kZXNjcmlwdGlvbiK5AQoFQm9hcmQSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESFQoNZGlzcGxheV9vcmRlchgEIAEoBRIRCglpc19hY3RpdmUYBSABKAgSEgoKcHJvamVjdF9pZBgGIAEoDRIgCgdwcm9qZWN0GAcgASgLMg8uYXBpLnYxLlByb2plY3RCDgoMX2Rlc2NyaXB0aW9uIo4CCgVDeWNsZRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhEKBGdvYWwYAyABKAlIAIgBARIuCgpzdGFydF9kYXRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRfZGF0ZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKcHJvamVjdF9pZBgGIAEoDRIgCgdwcm9qZWN0GAcgASgLMg8uYXBpLnYxLlByb2plY3QSEQoJaXNfYWN0aXZlGAggASgIEhgKC2Rlc2NyaXB0aW9uGAkgASgJSAGIAQFCBwoFX2dvYWxCDgoMX2Rlc2NyaXB0aW9uIt8BCgtCb2FyZENvbHVtbhIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEgwKBG5hbWUYAiABKAkSFQoNZGlzcGxheV9vcmRlchgDIAEoBRISCgVjb2xvchgEIAEoCUgAiAEBEhwKD2xpZmVjeWNsZV9zdGF0ZRgFIAEoCUgBiAEBEhEKCWlzX2FjdGl2ZRgGIAEoCBIQCghib2FyZF9pZBgHIAEoDRIcCgVib2FyZBgIIAEoCzINLmFwaS52MS5Cb2FyZEIICgZfY29sb3JCEgoQX2xpZmVjeWNsZV9zdGF0ZSK+AQoIVGFza1R5cGUSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRISCgVjb2xvchgDIAEoCUgAiAEBEhEKBGljb24YBCABKAlIAYgBARISCgpwcm9qZWN0X2lkGAUgASgNEiAKB3Byb2plY3QYBiABKAsyDy5hcGkudjEuUHJvamVjdBIVCg1kaXNwbGF5X29yZGVyGAcgASgFEhEKCWlzX2FjdGl2ZRgIIAEoCEIICgZfY29sb3JCBwoFX2ljb24ingEKDFRhc2tQcmlvcml0eRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEg0KBWxldmVsGAMgASgFEhIKBWNvbG9yGAQgASgJSACIAQESEgoKcHJvamVjdF9pZBgFIAEoDRIgCgdwcm9qZWN0GAYgASgLMg8uYXBpLnYxLlByb2plY3QSEQoJaXNfYWN0aXZlGAcgASgIQggKBl9jb2xvciKjAQoFTGFiZWwSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRINCgVjb2xvchgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgNEiAKB3Byb2plY3QYBSABKAsyDy5hcGkudjEuUHJvamVjdBIYCgtkZXNjcmlwdGlvbhgGIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgHIAEoCEIOCgxfZGVzY3JpcHRpb24i5QEKCUNvbXBvbmVudBIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEgoKcHJvamVjdF9pZBgEIAEoDRIgCgdwcm9qZWN0GAUgASgLMg8uYXBpLnYxLlByb2plY3QSGQoMbGVhZF91c2VyX2lkGAYgASgNSAGIAQESHwoJbGVhZF91c2VyGAcgASgLMgwuYXBpLnYxLlVzZXISEQoJaXNfYWN0aXZlGAggASgIQg4KDF9kZXNjcmlwdGlvbkIPCg1fbGVhZF91c2VyX2lkItEMCgRUYXNrEgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSEgoKaWRlbnRpZmllchgCIAEoCRINCgV0aXRsZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhUKDWRpc3BsYXlfb3JkZXIYBSABKAUSGQoMc3RvcnlfcG9pbnRzGAYgASgFSAGIAQESHAoPZXN0aW1hdGVkX2hvdXJzGAcgASgBSAKIAQESGQoMYWN0dWFsX2hvdXJzGAggASgBSAOIAQESLAoIZHVlX2RhdGUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FpX21vZGVfZW5hYmxlZBgKIAEoCBIaCg1tZXRhZGF0YV9qc29uGAsgASgJSASIAQESEAoIYm9hcmRfaWQYDCABKA0SHAoFYm9hcmQYDSABKAsyDS5hcGkudjEuQm9hcmQSFwoPYm9hcmRfY29sdW1uX2lkGA4gASgNEikKDGJvYXJkX2NvbHVtbhgPIAEoCzITLmFwaS52MS5Cb2FyZENvbHVtbhISCgpwcm9qZWN0X2lkGBAgASgNEiAKB3Byb2plY3QYESABKAsyDy5hcGkudjEuUHJvamVjdBIUCgx0YXNrX3R5cGVfaWQYEiABKA0SIwoJdGFza190eXBlGBMgASgLMhAuYXBpLnYxLlRhc2tUeXBlEhgKEHRhc2tfcHJpb3JpdHlfaWQYFCABKA0SKwoNdGFza19wcmlvcml0eRgVIAEoCzIULmFwaS52MS5UYXNrUHJpb3JpdHkSGAoQcmVwb3J0ZXJfdXNlcl9pZBgWIAEoDRIjCg1yZXBvcnRlcl91c2VyGBcgASgLMgwuYXBpLnYxLlVzZXISHQoQYXNzaWduZWRfdXNlcl9pZBgYIAEoDUgFiAEBEiMKDWFzc2lnbmVkX3VzZXIYGSABKAsyDC5hcGkudjEuVXNlchIbCg5wYXJlbnRfdGFza19pZBgaIAEoDUgGiAEBEiEKC3BhcmVudF90YXNrGBsgASgLMgwuYXBpLnYxLlRhc2sSEgoKY29tcGFueV9pZBgcIAEoDRIgCgdjb21wYW55GB0gASgLMg8uYXBpLnYxLkNvbXBhbnkSJgoLdGFza19sYWJlbHMYHiADKAsyES5hcGkudjEuVGFza0xhYmVsEi4KD3Rhc2tfY29tcG9uZW50cxgfIAMoCzIVLmFwaS52MS5UYXNrQ29tcG9uZW50EjIKEXRhc2tfY29udHJpYnV0b3JzGCAgAygLMhcuYXBpLnYxLlRhc2tDb250cmlidXRvchIxChF0YXNrX3JlcG9zaXRvcmllcxghIAMoCzIWLmFwaS52MS5UYXNrUmVwb3NpdG9yeRIzChJ0YXNrX3B1bGxfcmVxdWVzdHMYIiADKAsyFy5hcGkudjEuVGFza1B1bGxSZXF1ZXN0EhUKCGN5Y2xlX2lkGCMgASgNSAeIAQESHAoFY3ljbGUYJCABKAsyDS5hcGkudjEuQ3ljbGUSIgoJd29ya19sb2dzGCUgAygLMg8uYXBpLnYxLldvcmtMb2cSNAoLcmVzb2x2ZWRfYXQYJiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAiIAQESKwoOdGFza19kb2NfcGFnZXMYJyADKAsyEy5hcGkudjEuVGFza0RvY1BhZ2USLAoOdGFza19kb2N1bWVudHMYKCADKAsyFC5hcGkudjEuVGFza0RvY3VtZW50Ei4KCmNyZWF0ZWRfYXQYKSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYKiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiQKCW1pbGVzdG9uZRgrIAEoCzIRLmFwaS52MS5NaWxlc3RvbmVCDgoMX2Rlc2NyaXB0aW9uQg8KDV9zdG9yeV9wb2ludHNCEgoQX2VzdGltYXRlZF9ob3Vyc0IPCg1fYWN0dWFsX2hvdXJzQhAKDl9tZXRhZGF0YV9qc29uQhMKEV9hc3NpZ25lZF91c2VyX2lkQhEKD19wYXJlbnRfdGFza19pZEILCglfY3ljbGVfaWRCDgoMX3Jlc29sdmVkX2F0InQKCVRhc2tMYWJlbBIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhoKBHRhc2sYAyABKAsyDC5hcGkudjEuVGFzaxIQCghsYWJlbF9pZBgEIAEoDRIcCgVsYWJlbBgFIAEoCzINLmFwaS52MS5MYWJlbCKFAQoPVGFza0NvbnRyaWJ1dG9yEgoKAmlkGAEgASgNEgwKBHJvbGUYAiABKAkSDwoHdGFza19pZBgDIAEoDRIaCgR0YXNrGAQgASgLMgwuYXBpLnYxLlRhc2sSDwoHdXNlcl9pZBgFIAEoDRIaCgR1c2VyGAYgASgLMgwuYXBpLnYxLlVzZXIihAEKDVRhc2tDb21wb25lbnQSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIaCgR0YXNrGAMgASgLMgwuYXBpLnYxLlRhc2sSFAoMY29tcG9uZW50X2lkGAQgASgNEiQKCWNvbXBvbmVudBgFIAEoCzIRLmFwaS52MS5Db21wb25lbnQi0AEKDlRhc2tSZXBvc2l0b3J5EgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SGgoSdmNzX2ludGVncmF0aW9uX2lkGAQgASgNEi8KD3Zjc19pbnRlZ3JhdGlvbhgFIAEoCzIWLmFwaS52MS5WQ1NJbnRlZ3JhdGlvbhIdChVwcm9qZWN0X3JlcG9zaXRvcnlfaWQYBiABKA0SNQoScHJvamVjdF9yZXBvc2l0b3J5GAcgASgLMhkuYXBpLnYxLlByb2plY3RSZXBvc2l0b3J5InYKC1Rhc2tEb2NQYWdlEgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SEwoLZG9jX3BhZ2VfaWQYAyABKA0SIQoIZG9jX3BhZ2UYBCABKAsyDy5hcGkudjEuRG9jUGFnZRISCgpjb21wYW55X2lkGAUgASgNIngKDFRhc2tEb2N1bWVudBIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhMKC2RvY3VtZW50X2lkGAMgASgNEiIKCGRvY3VtZW50GAQgASgLMhAuYXBpLnYxLkRvY3VtZW50EhIKCmNvbXBhbnlfaWQYBSABKA0i6QEKD1Rhc2tQdWxsUmVxdWVzdBIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEh0KFXByb2plY3RfcmVwb3NpdG9yeV9pZBgDIAEoDRI1ChJwcm9qZWN0X3JlcG9zaXRvcnkYBCABKAsyGS5hcGkudjEuUHJvamVjdFJlcG9zaXRvcnkSEQoJcHJfbnVtYmVyGAUgASgFEg0KBXRpdGxlGAYgASgJEgsKA3VybBgHIAEoCRINCgVzdGF0ZRgIIAEoCRIlCghwcm92aWRlchgJIAEoDjITLmFwaS52MS5WQ1NQcm92aWRlciKJAwoHQ29tbWVudBIKCgJpZBgBIAEoDRIPCgdjb250ZW50GAIgASgJEhMKC2lzX2ludGVybmFsGAMgASgIEhQKB3Rhc2tfaWQYBCABKA1IAIgBARIaCgR0YXNrGAUgASgLMgwuYXBpLnYxLlRhc2sSGAoLZG9jX3BhZ2VfaWQYBiABKA1IAYgBARIhCghkb2NfcGFnZRgHIAEoCzIPLmFwaS52MS5Eb2NQYWdlEg8KB3VzZXJfaWQYCCABKA0SGgoEdXNlchgJIAEoCzIMLmFwaS52MS5Vc2VyEhIKCmNvbXBhbnlfaWQYCiABKA0SIAoHY29tcGFueRgLIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF90YXNrX2lkQg4KDF9kb2NfcGFnZV9pZCL8AgoKQXR0YWNobWVudBIKCgJpZBgBIAEoDRIQCghmaWxlbmFtZRgCIAEoCRIRCglmaWxlX3NpemUYAyABKAMSEQoJbWltZV90eXBlGAQgASgJEhQKDHN0b3JhZ2VfcGF0aBgFIAEoCRIXCgpwdWJsaWNfdXJsGAYgASgJSACIAQESFAoHdGFza19pZBgHIAEoDUgBiAEBEhoKBHRhc2sYCCABKAsyDC5hcGkudjEuVGFzaxIYCgtkb2NfcGFnZV9pZBgJIAEoDUgCiAEBEiEKCGRvY19wYWdlGAogASgLMg8uYXBpLnYxLkRvY1BhZ2USDwoHdXNlcl9pZBgLIAEoDRIaCgR1c2VyGAwgASgLMgwuYXBpLnYxLlVzZXISEgoKY29tcGFueV9pZBgNIAEoDRIgCgdjb21wYW55GA4gASgLMg8uYXBpLnYxLkNvbXBhbnlCDQoLX3B1YmxpY191cmxCCgoIX3Rhc2tfaWRCDgoMX2RvY19wYWdlX2lkIlEKC0FJUnVuU3RhdHVzEgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24iaAoLQUlVbml0U3RhZ2USCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEhUKDWRpc3BsYXlfb3JkZXIYBCABKAVCDgoMX2Rlc2NyaXB0aW9uIlIKDEFJVW5pdFN0YXR1cxIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIlQKDkFJVW5pdENhdGVnb3J5EgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24i6AUKDUFJV29ya2Zsb3dSdW4SCgoCaWQYASABKA0SHQoVYWlfY3JlZGl0c191c2VkX3RvdGFsGAIgASgFEhoKDW1ldGFkYXRhX2pzb24YAyABKAlIAIgBARIPCgd0YXNrX2lkGAQgASgNEhoKBHRhc2sYBSABKAsyDC5hcGkudjEuVGFzaxIcChR0cmlnZ2VyZWRfYnlfdXNlcl9pZBgGIAEoDRInChF0cmlnZ2VyZWRfYnlfdXNlchgHIAEoCzIMLmFwaS52MS5Vc2VyEhgKEGFpX3J1bl9zdGF0dXNfaWQYCCABKA0SKgoNYWlfcnVuX3N0YXR1cxgJIAEoCzITLmFwaS52MS5BSVJ1blN0YXR1cxIdChBjdXJyZW50X3N0YWdlX2lkGAogASgNSAGIAQESKgoNY3VycmVudF9zdGFnZRgLIAEoCzITLmFwaS52MS5BSVVuaXRTdGFnZRIuCgpjcmVhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRuYW1lGA4gASgJEjMKCnN0YXJ0ZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESNQoMY29tcGxldGVkX2F0GBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEiIKFXJlc3RhcnRlZF9mcm9tX3J1bl9pZBgRIAEoDUgEiAEBEhoKDXNvdXJjZV9icmFuY2gYEiABKAlIBYgBAUIQCg5fbWV0YWRhdGFfanNvbkITChFfY3VycmVudF9zdGFnZV9pZEINCgtfc3RhcnRlZF9hdEIPCg1fY29tcGxldGVkX2F0QhgKFl9yZXN0YXJ0ZWRfZnJvbV9ydW5faWRCEAoOX3NvdXJjZV9icmFuY2gi+wcKDkFJV29ya2Zsb3dVbml0EgoKAmlkGAEgASgNEhYKDnNlcXVlbmNlX29yZGVyGAIgASgFEhgKEHdvcmtfZGVzY3JpcHRpb24YAyABKAkSFwoKdmNzX2JyYW5jaBgEIAEoCUgAiAEBEhcKCnZjc19wcl91cmwYBSABKAlIAYgBARIbCg5kZXBsb3ltZW50X3VybBgGIAEoCUgCiAEBEh4KEXRlc3RfcmVzdWx0c19qc29uGAcgASgJSAOIAQESFgoJZXJyb3JfbG9nGAggASgJSASIAQESFwoPYWlfY3JlZGl0c191c2VkGAkgASgFEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIBYgBARIaChJhaV93b3JrZmxvd19ydW5faWQYCyABKA0SLgoPYWlfd29ya2Zsb3dfcnVuGAwgASgLMhUuYXBpLnYxLkFJV29ya2Zsb3dSdW4SDwoHdGFza19pZBgNIAEoDRIaCgR0YXNrGA4gASgLMgwuYXBpLnYxLlRhc2sSGgoSdmNzX2ludGVncmF0aW9uX2lkGA8gASgNEi8KD3Zjc19pbnRlZ3JhdGlvbhgQIAEoCzIWLmFwaS52MS5WQ1NJbnRlZ3JhdGlvbhIgChNhaV91bml0X2NhdGVnb3J5X2lkGBEgASgNSAaIAQESMAoQYWlfdW5pdF9jYXRlZ29yeRgSIAEoCzIWLmFwaS52MS5BSVVuaXRDYXRlZ29yeRIYChBhaV91bml0X3N0YWdlX2lkGBMgASgNEioKDWFpX3VuaXRfc3RhZ2UYFCABKAsyEy5hcGkudjEuQUlVbml0U3RhZ2USGQoRYWlfdW5pdF9zdGF0dXNfaWQYFSABKA0SLAoOYWlfdW5pdF9zdGF0dXMYFiABKAsyFC5hcGkudjEuQUlVbml0U3RhdHVzEh8KEmRlcGVuZHNfb25fdW5pdF9pZBgXIAEoDUgHiAEBEi8KD2RlcGVuZHNfb25fdW5pdBgYIAEoCzIWLmFwaS52MS5BSVdvcmtmbG93VW5pdBIuCgpjcmVhdGVkX2F0GBkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEINCgtfdmNzX2JyYW5jaEINCgtfdmNzX3ByX3VybEIRCg9fZGVwbG95bWVudF91cmxCFAoSX3Rlc3RfcmVzdWx0c19qc29uQgwKCl9lcnJvcl9sb2dCEAoOX21ldGFkYXRhX2pzb25CFgoUX2FpX3VuaXRfY2F0ZWdvcnlfaWRCFQoTX2RlcGVuZHNfb25fdW5pdF9pZCL/AQoLRW52aXJvbm1lbnQSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIRCgR0eXBlGAMgASgJSACIAQESGgoNazhzX25hbWVzcGFjZRgEIAEoCUgBiAEBEhgKC2Jhc2VfZG9tYWluGAUgASgJSAKIAQESGgoNbWV0YWRhdGFfanNvbhgGIAEoCUgDiAEBEhIKCnByb2plY3RfaWQYByABKA0SIAoHcHJvamVjdBgIIAEoCzIPLmFwaS52MS5Qcm9qZWN0QgcKBV90eXBlQhAKDl9rOHNfbmFtZXNwYWNlQg4KDF9iYXNlX2RvbWFpbkIQCg5fbWV0YWRhdGFfanNvbiKiAgoKRGVwbG95bWVudBIKCgJpZBgBIAEoDRIOCgZzdGF0dXMYAiABKAkSEAoDdXJsGAMgASgJSACIAQESFQoIbG9nc191cmwYBCABKAlIAYgBARIaCg1tZXRhZGF0YV9qc29uGAUgASgJSAKIAQESFgoOZW52aXJvbm1lbnRfaWQYBiABKA0SKAoLZW52aXJvbm1lbnQYByABKAsyEy5hcGkudjEuRW52aXJvbm1lbnQSGgoSYWlfd29ya2Zsb3dfcnVuX2lkGAggASgNEi4KD2FpX3dvcmtmbG93X3J1bhgJIAEoCzIVLmFwaS52MS5BSVdvcmtmbG93UnVuQgYKBF91cmxCCwoJX2xvZ3NfdXJsQhAKDl9tZXRhZGF0YV9qc29uIvwBCgdUZXN0UnVuEgoKAmlkGAEgASgNEgwKBHR5cGUYAiABKAkSDgoGc3RhdHVzGAMgASgJEhYKCWZyYW1ld29yaxgEIAEoCUgAiAEBEhcKCnJlcG9ydF91cmwYBSABKAlIAYgBARIZCgxyZXN1bHRzX2pzb24YBiABKAlIAogBARIbChNhaV93b3JrZmxvd191bml0X2lkGAcgASgNEjAKEGFpX3dvcmtmbG93X3VuaXQYCCABKAsyFi5hcGkudjEuQUlXb3JrZmxvd1VuaXRCDAoKX2ZyYW1ld29ya0INCgtfcmVwb3J0X3VybEIPCg1fcmVzdWx0c19qc29uIsQCCgtBY3Rpdml0eUxvZxIKCgJpZBgBIAEoDRIOCgZhY3Rpb24YAiABKAkSEwoLZW50aXR5X3R5cGUYAyABKAkSEQoJZW50aXR5X2lkGAQgASgNEhMKC2Rlc2NyaXB0aW9uGAUgASgJEhoKDW1ldGFkYXRhX2pzb24YBiABKAlIAIgBARIXCgppcF9hZGRyZXNzGAcgASgJSAGIAQESFAoHdXNlcl9pZBgIIAEoDUgCiAEBEhoKBHVzZXIYCSABKAsyDC5hcGkudjEuVXNlchIXCgpwcm9qZWN0X2lkGAogASgNSAOIAQESIAoHcHJvamVjdBgLIAEoCzIPLmFwaS52MS5Qcm9qZWN0QhAKDl9tZXRhZGF0YV9qc29uQg0KC19pcF9hZGRyZXNzQgoKCF91c2VyX2lkQg0KC19wcm9qZWN0X2lkIocDCgxOb3RpZmljYXRpb24SCgoCaWQYASABKA0SDQoFdGl0bGUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIZChFub3RpZmljYXRpb25fdHlwZRgEIAEoCRIYCgtlbnRpdHlfdHlwZRgFIAEoCUgAiAEBEhYKCWVudGl0eV9pZBgGIAEoDUgBiAEBEhcKCmFjdGlvbl91cmwYByABKAlIAogBARIPCgdpc19yZWFkGAggASgIEhYKDnNlbnRfdmlhX2VtYWlsGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIA4gBARIPCgd1c2VyX2lkGAsgASgNEhoKBHVzZXIYDCABKAsyDC5hcGkudjEuVXNlchISCgpjb21wYW55X2lkGA0gASgNEiAKB2NvbXBhbnkYDiABKAsyDy5hcGkudjEuQ29tcGFueUIOCgxfZW50aXR5X3R5cGVCDAoKX2VudGl0eV9pZEINCgtfYWN0aW9uX3VybEIQCg5fbWV0YWRhdGFfanNvbiJbCgdDb3VudHJ5EgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSEAoIaXNvX2NvZGUYAyABKAkSEQoJaXNvX2NvZGUyGAQgASgJEhEKCWRpYWxfY29kZRgFIAEoCSL1BAoIRG9jdW1lbnQSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRIQCghmaWxlbmFtZRgCIAEoCRIRCgltaW1lX3R5cGUYAyABKAkSDAoEc2l6ZRgEIAEoAxITCgtzdG9yYWdlX3VybBgFIAEoCRITCgZzaGEyNTYYBiABKAlIAIgBARIWCglkaXNrX25hbWUYByABKAlIAYgBARIRCgRraW5kGAggASgJSAKIAQESEQoJaXNfZm9sZGVyGAkgASgIEhYKCWZ1bGxfcGF0aBgKIAEoCUgDiAEBEh0KEHBhcmVudF9mb2xkZXJfaWQYCyABKA1IBIgBARInCg1wYXJlbnRfZm9sZGVyGAwgASgLMhAuYXBpLnYxLkRvY3VtZW50EhIKCnByb2plY3RfaWQYDSABKA0SIAoHcHJvamVjdBgOIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhIKCmNvbXBhbnlfaWQYDyABKA0SIAoHY29tcGFueRgQIAEoCzIPLmFwaS52MS5Db21wYW55EhsKE3VwbG9hZGVkX2J5X3VzZXJfaWQYESABKA0SJgoQdXBsb2FkZWRfYnlfdXNlchgSIAEoCzIMLmFwaS52MS5Vc2VyEi4KCmNyZWF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgkKB19zaGEyNTZCDAoKX2Rpc2tfbmFtZUIHCgVfa2luZEIMCgpfZnVsbF9wYXRoQhMKEV9wYXJlbnRfZm9sZGVyX2lkIt0BCgxEb2N1bWVudExpbmsSCgoCaWQYASABKA0SEQoJbGlua19raW5kGAIgASgJEg8KB2xpbmtfaWQYAyABKA0SEwoLZG9jdW1lbnRfaWQYBCABKA0SIgoIZG9jdW1lbnQYBSABKAsyEC5hcGkudjEuRG9jdW1lbnQSEgoKY29tcGFueV9pZBgGIAEoDRIgCgdjb21wYW55GAcgASgLMg8uYXBpLnYxLkNvbXBhbnkSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiiAIKB1dvcmtMb2cSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIaCgR0YXNrGAMgASgLMgwuYXBpLnYxLlRhc2sSDwoHdXNlcl9pZBgEIAEoDRIaCgR1c2VyGAUgASgLMgwuYXBpLnYxLlVzZXISDQoFaG91cnMYBiABKAESGAoLZGVzY3JpcHRpb24YByABKAlIAIgBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb24ihwMKCU1pbGVzdG9uZRIKCgJpZBgBIAEoDRIMCgR1dWlkGAIgASgJEgwKBG5hbWUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIzCgpzdGFydF9kYXRlGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjEKCGVuZF9kYXRlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEg4KBnN0YXR1cxgHIAEoCRISCgpwcm9qZWN0X2lkGAggASgNEiAKB3Byb2plY3QYCSABKAsyDy5hcGkudjEuUHJvamVjdBIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CDQoLX3N0YXJ0X2RhdGVCCwoJX2VuZF9kYXRlIpgBCg1NaWxlc3RvbmVUYXNrEgoKAmlkGAEgASgNEhQKDG1pbGVzdG9uZV9pZBgCIAEoDRIkCgltaWxlc3RvbmUYAyABKAsyES5hcGkudjEuTWlsZXN0b25lEg8KB3Rhc2tfaWQYBCABKA0SGgoEdGFzaxgFIAEoCzIMLmFwaS52MS5UYXNrEhIKCmNvbXBhbnlfaWQYBiABKA0ipgEKEE1pbGVzdG9uZURvY1BhZ2USCgoCaWQYASABKA0SFAoMbWlsZXN0b25lX2lkGAIgASgNEiQKCW1pbGVzdG9uZRgDIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSEwoLZG9jX3BhZ2VfaWQYBCABKA0SIQoIZG9jX3BhZ2UYBSABKAsyDy5hcGkudjEuRG9jUGFnZRISCgpjb21wYW55X2lkGAYgASgNIscBChNNaWxlc3RvbmVSZXBvc2l0b3J5EgoKAmlkGAEgASgNEhQKDG1pbGVzdG9uZV9pZBgCIAEoDRIkCgltaWxlc3RvbmUYAyABKAsyES5hcGkudjEuTWlsZXN0b25lEh0KFXByb2plY3RfcmVwb3NpdG9yeV9pZBgEIAEoDRI1ChJwcm9qZWN0X3JlcG9zaXRvcnkYBSABKAsyGS5hcGkudjEuUHJvamVjdFJlcG9zaXRvcnkSEgoKY29tcGFueV9pZBgGIAEoDSKoAQoRTWlsZXN0b25lRG9jdW1lbnQSCgoCaWQYASABKA0SFAoMbWlsZXN0b25lX2lkGAIgASgNEiQKCW1pbGVzdG9uZRgDIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSEwoLZG9jdW1lbnRfaWQYBCABKA0SIgoIZG9jdW1lbnQYBSABKAsyEC5hcGkudjEuRG9jdW1lbnQSEgoKY29tcGFueV9pZBgGIAEoDUJwCgpjb20uYXBpLnYxQgtNb2RlbHNQcm90b1ABWhxvcHNlZS9iYWNrZW5kL2dlbi9hcGkvdjE7Z2VuogIDQVhYqgIGQXBpLlYxygIGQXBpXFYx4gISQXBpXFYxXEdQQk1ldGFkYXRh6gIHQXBpOjpWMWIGcHJvdG8z", [file_google_protobuf_timestamp, file_api_v1_vcs]);
|
|
13
|
+
fileDesc("ChNhcGkvdjEvbW9kZWxzLnByb3RvEgZhcGkudjEiJgoKUGVybWlzc2lvbhIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJImgKBFJvbGUSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIdCgdwYXJlbnRzGAMgAygLMgwuYXBpLnYxLlJvbGUSJwoLcGVybWlzc2lvbnMYBCADKAsyEi5hcGkudjEuUGVybWlzc2lvbiLhAgoEVXNlchIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEg0KBWVtYWlsGAIgASgJEhIKCmZpcnN0X25hbWUYAyABKAkSEQoJbGFzdF9uYW1lGAQgASgJEhEKCWZ1bGxfbmFtZRgFIAEoCRIVCg1wcm92aWRlcl9uYW1lGAYgASgJEhsKBXJvbGVzGAcgAygLMgwuYXBpLnYxLlJvbGUSJQoPZmxhdHRlbmVkX3JvbGVzGAggAygLMgwuYXBpLnYxLlJvbGUSEgoKY3JlYXRlZF9hdBgJIAEoCRISCgpjb21wYW55X2lkGAogASgNEiAKB2NvbXBhbnkYCyABKAsyDy5hcGkudjEuQ29tcGFueRINCgVwaG9uZRgMIAEoCRIYChBwaG9uZV9jb3VudHJ5X2lkGA0gASgNEhIKCmF2YXRhcl91cmwYDiABKAkSFAoMYXZhdGFyX2NvbG9yGA8gASgJItAECgdDb21wYW55EgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSDAoEbmFtZRgCIAEoCRIMCgRzbHVnGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESGAoLd2Vic2l0ZV91cmwYBSABKAlIAYgBARIVCghpbmR1c3RyeRgGIAEoCUgCiAEBEhEKBHNpemUYByABKAlIA4gBARIaCg1zZXR0aW5nc19qc29uGAggASgJSASIAQESEQoJaXNfYWN0aXZlGAkgASgIEhoKDWJpbGxpbmdfZW1haWwYCiABKAlIBYgBARIUCgdhZGRyZXNzGAsgASgJSAaIAQESFQoIYWRkcmVzczIYDCABKAlIB4gBARIRCgRjaXR5GA0gASgJSAiIAQESEgoFc3RhdGUYDiABKAlICYgBARIVCgh6aXBfY29kZRgPIAEoCUgKiAEBEhcKCmNvdW50cnlfaWQYECABKA1IC4gBARITCgZ0YXhfaWQYESABKAlIDIgBARIgCgdjb3VudHJ5GBIgASgLMg8uYXBpLnYxLkNvdW50cnlCDgoMX2Rlc2NyaXB0aW9uQg4KDF93ZWJzaXRlX3VybEILCglfaW5kdXN0cnlCBwoFX3NpemVCEAoOX3NldHRpbmdzX2pzb25CEAoOX2JpbGxpbmdfZW1haWxCCgoIX2FkZHJlc3NCCwoJX2FkZHJlc3MyQgcKBV9jaXR5QggKBl9zdGF0ZUILCglfemlwX2NvZGVCDQoLX2NvdW50cnlfaWRCCQoHX3RheF9pZCLkBAoMU3Vic2NyaXB0aW9uEgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSEgoKY29tcGFueV9pZBgCIAEoDRIaChJzdHJpcGVfY3VzdG9tZXJfaWQYAyABKAkSIwoWc3RyaXBlX3N1YnNjcmlwdGlvbl9pZBgEIAEoCUgAiAEBEg4KBnN0YXR1cxgFIAEoCRI9ChRjdXJyZW50X3BlcmlvZF9zdGFydBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI7ChJjdXJyZW50X3BlcmlvZF9lbmQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESHgoRcGF5bWVudF9tZXRob2RfaWQYCCABKA1IA4gBARInCgVpdGVtcxgJIAMoCzIYLmFwaS52MS5TdWJzY3JpcHRpb25JdGVtEi0KDnBheW1lbnRfbWV0aG9kGAogASgLMhUuYXBpLnYxLlBheW1lbnRNZXRob2QSIAoHY29tcGFueRgLIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhkKF19zdHJpcGVfc3Vic2NyaXB0aW9uX2lkQhcKFV9jdXJyZW50X3BlcmlvZF9zdGFydEIVChNfY3VycmVudF9wZXJpb2RfZW5kQhQKEl9wYXltZW50X21ldGhvZF9pZCKAAgoQU3Vic2NyaXB0aW9uSXRlbRIKCgJpZBgBIAEoDRIXCg9zdWJzY3JpcHRpb25faWQYAiABKA0SFAoMcHJvZHVjdF90eXBlGAMgASgJEhAKCHF1YW50aXR5GAQgASgFEhIKCnVuaXRfcHJpY2UYBSABKAMSGAoQYmlsbGluZ19pbnRlcnZhbBgGIAEoCRIRCglpc19hY3RpdmUYByABKAgSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAixAIKDVBheW1lbnRNZXRob2QSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRISCgpjb21wYW55X2lkGAIgASgNEhgKEHN0cmlwZV9tZXRob2RfaWQYAyABKAkSDAoEdHlwZRgEIAEoCRINCgVsYXN0NBgFIAEoCRINCgVicmFuZBgGIAEoCRIUCgxleHBpcnlfbW9udGgYByABKAUSEwoLZXhwaXJ5X3llYXIYCCABKAUSEgoKaXNfZGVmYXVsdBgJIAEoCBIgCgdjb21wYW55GAogASgLMg8uYXBpLnYxLkNvbXBhbnkSLgoKY3JlYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAioAIKDVByb2R1Y3RDb25maWcSCgoCaWQYASABKA0SFAoMcHJvZHVjdF90eXBlGAIgASgJEhUKDW1vbnRobHlfcHJpY2UYAyABKAMSFAoMeWVhcmx5X3ByaWNlGAQgASgDEhUKDWZyZWVfcXVhbnRpdHkYBSABKAUSFAoMaXNfcmVjdXJyaW5nGAYgASgIEhkKEXN0cmlwZV9tb250aGx5X2lkGAcgASgJEhgKEHN0cmlwZV95ZWFybHlfaWQYCCABKAkSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAizAIKDkNvbXBhbnlDcmVkaXRzEgoKAmlkGAEgASgNEhIKCmNvbXBhbnlfaWQYAiABKA0SFQoNdG90YWxfY3JlZGl0cxgDIAEoBRIUCgx1c2VkX2NyZWRpdHMYBCABKAUSGQoRYXZhaWxhYmxlX2NyZWRpdHMYBSABKAUSOgoRbGFzdF9hbGxvY2F0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESIAoHY29tcGFueRgHIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhQKEl9sYXN0X2FsbG9jYXRlZF9hdCKjAgoRQ3JlZGl0VHJhbnNhY3Rpb24SCgoCaWQYASABKA0SEgoKY29tcGFueV9pZBgCIAEoDRIOCgZhbW91bnQYAyABKAUSDgoGcmVhc29uGAQgASgJEhgKC2VudGl0eV90eXBlGAUgASgJSACIAQESFgoJZW50aXR5X2lkGAYgASgJSAGIAQESGgoNbWV0YWRhdGFfanNvbhgHIAEoCUgCiAEBEiAKB2NvbXBhbnkYCCABKAsyDy5hcGkudjEuQ29tcGFueRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZW50aXR5X3R5cGVCDAoKX2VudGl0eV9pZEIQCg5fbWV0YWRhdGFfanNvbiL0AQoHUHJvamVjdBIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEgwKBG5hbWUYAiABKAkSDAoEc2x1ZxgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgFIAEoCBIaCg1zZXR0aW5nc19qc29uGAYgASgJSAGIAQESEgoKY29tcGFueV9pZBgHIAEoDRIgCgdjb21wYW55GAggASgLMg8uYXBpLnYxLkNvbXBhbnkSEgoKc2hvcnRfbmFtZRgJIAEoCUIOCgxfZGVzY3JpcHRpb25CEAoOX3NldHRpbmdzX2pzb24ipQEKEVByb2plY3RNZW1iZXJzaGlwEgoKAmlkGAEgASgNEgwKBHJvbGUYAiABKAkSEwoLaXNfZmF2b3JpdGUYAyABKAgSEgoKcHJvamVjdF9pZBgEIAEoDRIgCgdwcm9qZWN0GAUgASgLMg8uYXBpLnYxLlByb2plY3QSDwoHdXNlcl9pZBgGIAEoDRIaCgR1c2VyGAcgASgLMgwuYXBpLnYxLlVzZXIiwgIKCERvY1NwYWNlEgoKAmlkGAEgASgNEg0KBXRpdGxlGAIgASgJEgwKBHNsdWcYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARISCgppc19kZWZhdWx0GAUgASgIEhMKC2lzX2FyY2hpdmVkGAYgASgIEhIKCnByb2plY3RfaWQYByABKA0SIAoHcHJvamVjdBgIIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgJIAEoDRIlCg9jcmVhdGVkX2J5X3VzZXIYCiABKAsyDC5hcGkudjEuVXNlchIaChJ1cGRhdGVkX2J5X3VzZXJfaWQYCyABKA0SJQoPdXBkYXRlZF9ieV91c2VyGAwgASgLMgwuYXBpLnYxLlVzZXJCDgoMX2Rlc2NyaXB0aW9uIvsDCgdEb2NQYWdlEgoKAmlkGAEgASgNEg0KBXRpdGxlGAIgASgJEgwKBHNsdWcYAyABKAkSFwoPY3VycmVudF9jb250ZW50GAQgASgJEhQKDGNvbnRlbnRfdHlwZRgFIAEoCRIeChZjdXJyZW50X3ZlcnNpb25fbnVtYmVyGAYgASgFEg8KB2lzX3Jvb3QYByABKAgSEwoLaXNfYXJjaGl2ZWQYCCABKAgSFQoNZGlzcGxheV9vcmRlchgJIAEoBRIUCgxkb2Nfc3BhY2VfaWQYCiABKA0SIwoJZG9jX3NwYWNlGAsgASgLMhAuYXBpLnYxLkRvY1NwYWNlEhsKDnBhcmVudF9wYWdlX2lkGAwgASgNSACIAQESJAoLcGFyZW50X3BhZ2UYDSABKAsyDy5hcGkudjEuRG9jUGFnZRIkCgtjaGlsZF9wYWdlcxgOIAMoCzIPLmFwaS52MS5Eb2NQYWdlEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgPIAEoDRIlCg9jcmVhdGVkX2J5X3VzZXIYECABKAsyDC5hcGkudjEuVXNlchIaChJ1cGRhdGVkX2J5X3VzZXJfaWQYESABKA0SJQoPdXBkYXRlZF9ieV91c2VyGBIgASgLMgwuYXBpLnYxLlVzZXJCEQoPX3BhcmVudF9wYWdlX2lkIvUCCg5Eb2NQYWdlVmVyc2lvbhIKCgJpZBgBIAEoDRIWCg52ZXJzaW9uX251bWJlchgCIAEoBRINCgV0aXRsZRgDIAEoCRIPCgdjb250ZW50GAQgASgJEhQKDGNvbnRlbnRfdHlwZRgFIAEoCRIbCg5jaGFuZ2Vfc3VtbWFyeRgGIAEoCUgAiAEBEhMKC2RvY19wYWdlX2lkGAcgASgNEiEKCGRvY19wYWdlGAggASgLMg8uYXBpLnYxLkRvY1BhZ2USGgoSY3JlYXRlZF9ieV91c2VyX2lkGAkgASgNEiUKD2NyZWF0ZWRfYnlfdXNlchgKIAEoCzIMLmFwaS52MS5Vc2VyEi4KCmNyZWF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhEKD19jaGFuZ2Vfc3VtbWFyeSKQCAoOVkNTSW50ZWdyYXRpb24SCgoCaWQYASABKA0SEgoKcmVwb19vd25lchgCIAEoCRIRCglyZXBvX25hbWUYAyABKAkSFwoPdG9rZW5fZW5jcnlwdGVkGAQgASgJEhYKDmRlZmF1bHRfYnJhbmNoGAUgASgJEhsKDndlYmhvb2tfc2VjcmV0GAYgASgJSACIAQESHQoQcGVybWlzc2lvbnNfanNvbhgHIAEoCUgBiAEBEhEKCWlzX2FjdGl2ZRgIIAEoCBISCgpwcm9qZWN0X2lkGAkgASgNEiAKB3Byb2plY3QYCiABKAsyDy5hcGkudjEuUHJvamVjdBIcCg9pbnN0YWxsYXRpb25faWQYCyABKANIAogBARITCgZhcHBfaWQYDCABKAlIA4gBARIpChxpbnN0YWxsYXRpb25fdG9rZW5fZW5jcnlwdGVkGA0gASgJSASIAQESRgodaW5zdGFsbGF0aW9uX3Rva2VuX2V4cGlyZXNfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESGAoLb2F1dGhfc3RhdGUYDyABKAlIBogBARIYChBhdXRvX3N5bmNfaXNzdWVzGBAgASgIEhoKEmVuYWJsZV9wcl93ZWJob29rcxgRIAEoCBIlCghwcm92aWRlchgeIAEoDjITLmFwaS52MS5WQ1NQcm92aWRlchIZCgxpbnN0YW5jZV91cmwYHyABKAlIB4gBARIjChZhY2Nlc3NfdG9rZW5fZW5jcnlwdGVkGCAgASgJSAiIAQESJAoXcmVmcmVzaF90b2tlbl9lbmNyeXB0ZWQYISABKAlICYgBARI5ChB0b2tlbl9leHBpcmVzX2F0GCIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgKiAEBEhwKD2dpdGxhYl9ncm91cF9pZBgjIAEoA0gLiAEBEhsKDmdpdGxhYl91c2VyX2lkGCQgASgDSAyIAQFCEQoPX3dlYmhvb2tfc2VjcmV0QhMKEV9wZXJtaXNzaW9uc19qc29uQhIKEF9pbnN0YWxsYXRpb25faWRCCQoHX2FwcF9pZEIfCh1faW5zdGFsbGF0aW9uX3Rva2VuX2VuY3J5cHRlZEIgCh5faW5zdGFsbGF0aW9uX3Rva2VuX2V4cGlyZXNfYXRCDgoMX29hdXRoX3N0YXRlQg8KDV9pbnN0YW5jZV91cmxCGQoXX2FjY2Vzc190b2tlbl9lbmNyeXB0ZWRCGgoYX3JlZnJlc2hfdG9rZW5fZW5jcnlwdGVkQhMKEV90b2tlbl9leHBpcmVzX2F0QhIKEF9naXRsYWJfZ3JvdXBfaWRCEQoPX2dpdGxhYl91c2VyX2lkItAEChFQcm9qZWN0UmVwb3NpdG9yeRIKCgJpZBgBIAEoDRISCgpwcm9qZWN0X2lkGAIgASgNEiAKB3Byb2plY3QYAyABKAsyDy5hcGkudjEuUHJvamVjdBIaChJ2Y3NfaW50ZWdyYXRpb25faWQYBCABKA0SLwoPdmNzX2ludGVncmF0aW9uGAUgASgLMhYuYXBpLnYxLlZDU0ludGVncmF0aW9uEhUKDXJlcG9zaXRvcnlfaWQYBiABKAMSGAoQcmVwb3NpdG9yeV9vd25lchgHIAEoCRIXCg9yZXBvc2l0b3J5X25hbWUYCCABKAkSHAoUcmVwb3NpdG9yeV9mdWxsX25hbWUYCSABKAkSFgoOZGVmYXVsdF9icmFuY2gYCiABKAkSEgoKaXNfcHJpdmF0ZRgLIAEoCBIYCgtkZXNjcmlwdGlvbhgMIAEoCUgAiAEBEgsKA3VybBgNIAEoCRIRCglpc19hY3RpdmUYDiABKAgSLgoKY3JlYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGAoQYXV0b19zeW5jX2lzc3VlcxgRIAEoCBIaChJlbmFibGVfcHJfd2ViaG9va3MYEiABKAgSJQoIcHJvdmlkZXIYEyABKA4yEy5hcGkudjEuVkNTUHJvdmlkZXISEQoJY2xvbmVfdXJsGBQgASgJQg4KDF9kZXNjcmlwdGlvbiK5AQoFQm9hcmQSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESFQoNZGlzcGxheV9vcmRlchgEIAEoBRIRCglpc19hY3RpdmUYBSABKAgSEgoKcHJvamVjdF9pZBgGIAEoDRIgCgdwcm9qZWN0GAcgASgLMg8uYXBpLnYxLlByb2plY3RCDgoMX2Rlc2NyaXB0aW9uIo4CCgVDeWNsZRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhEKBGdvYWwYAyABKAlIAIgBARIuCgpzdGFydF9kYXRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRfZGF0ZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKcHJvamVjdF9pZBgGIAEoDRIgCgdwcm9qZWN0GAcgASgLMg8uYXBpLnYxLlByb2plY3QSEQoJaXNfYWN0aXZlGAggASgIEhgKC2Rlc2NyaXB0aW9uGAkgASgJSAGIAQFCBwoFX2dvYWxCDgoMX2Rlc2NyaXB0aW9uIt8BCgtCb2FyZENvbHVtbhIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEgwKBG5hbWUYAiABKAkSFQoNZGlzcGxheV9vcmRlchgDIAEoBRISCgVjb2xvchgEIAEoCUgAiAEBEhwKD2xpZmVjeWNsZV9zdGF0ZRgFIAEoCUgBiAEBEhEKCWlzX2FjdGl2ZRgGIAEoCBIQCghib2FyZF9pZBgHIAEoDRIcCgVib2FyZBgIIAEoCzINLmFwaS52MS5Cb2FyZEIICgZfY29sb3JCEgoQX2xpZmVjeWNsZV9zdGF0ZSK+AQoIVGFza1R5cGUSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRISCgVjb2xvchgDIAEoCUgAiAEBEhEKBGljb24YBCABKAlIAYgBARISCgpwcm9qZWN0X2lkGAUgASgNEiAKB3Byb2plY3QYBiABKAsyDy5hcGkudjEuUHJvamVjdBIVCg1kaXNwbGF5X29yZGVyGAcgASgFEhEKCWlzX2FjdGl2ZRgIIAEoCEIICgZfY29sb3JCBwoFX2ljb24ingEKDFRhc2tQcmlvcml0eRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEg0KBWxldmVsGAMgASgFEhIKBWNvbG9yGAQgASgJSACIAQESEgoKcHJvamVjdF9pZBgFIAEoDRIgCgdwcm9qZWN0GAYgASgLMg8uYXBpLnYxLlByb2plY3QSEQoJaXNfYWN0aXZlGAcgASgIQggKBl9jb2xvciKjAQoFTGFiZWwSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRINCgVjb2xvchgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgNEiAKB3Byb2plY3QYBSABKAsyDy5hcGkudjEuUHJvamVjdBIYCgtkZXNjcmlwdGlvbhgGIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgHIAEoCEIOCgxfZGVzY3JpcHRpb24i5QEKCUNvbXBvbmVudBIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEgoKcHJvamVjdF9pZBgEIAEoDRIgCgdwcm9qZWN0GAUgASgLMg8uYXBpLnYxLlByb2plY3QSGQoMbGVhZF91c2VyX2lkGAYgASgNSAGIAQESHwoJbGVhZF91c2VyGAcgASgLMgwuYXBpLnYxLlVzZXISEQoJaXNfYWN0aXZlGAggASgIQg4KDF9kZXNjcmlwdGlvbkIPCg1fbGVhZF91c2VyX2lkIskNCgRUYXNrEgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSEgoKaWRlbnRpZmllchgCIAEoCRINCgV0aXRsZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhUKDWRpc3BsYXlfb3JkZXIYBSABKAUSGQoMc3RvcnlfcG9pbnRzGAYgASgFSAGIAQESHAoPZXN0aW1hdGVkX2hvdXJzGAcgASgBSAKIAQESGQoMYWN0dWFsX2hvdXJzGAggASgBSAOIAQESLAoIZHVlX2RhdGUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FpX21vZGVfZW5hYmxlZBgKIAEoCBIaCg1tZXRhZGF0YV9qc29uGAsgASgJSASIAQESEAoIYm9hcmRfaWQYDCABKA0SHAoFYm9hcmQYDSABKAsyDS5hcGkudjEuQm9hcmQSFwoPYm9hcmRfY29sdW1uX2lkGA4gASgNEikKDGJvYXJkX2NvbHVtbhgPIAEoCzITLmFwaS52MS5Cb2FyZENvbHVtbhISCgpwcm9qZWN0X2lkGBAgASgNEiAKB3Byb2plY3QYESABKAsyDy5hcGkudjEuUHJvamVjdBIUCgx0YXNrX3R5cGVfaWQYEiABKA0SIwoJdGFza190eXBlGBMgASgLMhAuYXBpLnYxLlRhc2tUeXBlEhgKEHRhc2tfcHJpb3JpdHlfaWQYFCABKA0SKwoNdGFza19wcmlvcml0eRgVIAEoCzIULmFwaS52MS5UYXNrUHJpb3JpdHkSGAoQcmVwb3J0ZXJfdXNlcl9pZBgWIAEoDRIjCg1yZXBvcnRlcl91c2VyGBcgASgLMgwuYXBpLnYxLlVzZXISHQoQYXNzaWduZWRfdXNlcl9pZBgYIAEoDUgFiAEBEiMKDWFzc2lnbmVkX3VzZXIYGSABKAsyDC5hcGkudjEuVXNlchIbCg5wYXJlbnRfdGFza19pZBgaIAEoDUgGiAEBEiEKC3BhcmVudF90YXNrGBsgASgLMgwuYXBpLnYxLlRhc2sSEgoKY29tcGFueV9pZBgcIAEoDRIgCgdjb21wYW55GB0gASgLMg8uYXBpLnYxLkNvbXBhbnkSJgoLdGFza19sYWJlbHMYHiADKAsyES5hcGkudjEuVGFza0xhYmVsEi4KD3Rhc2tfY29tcG9uZW50cxgfIAMoCzIVLmFwaS52MS5UYXNrQ29tcG9uZW50EjIKEXRhc2tfY29udHJpYnV0b3JzGCAgAygLMhcuYXBpLnYxLlRhc2tDb250cmlidXRvchIxChF0YXNrX3JlcG9zaXRvcmllcxghIAMoCzIWLmFwaS52MS5UYXNrUmVwb3NpdG9yeRIzChJ0YXNrX3B1bGxfcmVxdWVzdHMYIiADKAsyFy5hcGkudjEuVGFza1B1bGxSZXF1ZXN0EhUKCGN5Y2xlX2lkGCMgASgNSAeIAQESHAoFY3ljbGUYJCABKAsyDS5hcGkudjEuQ3ljbGUSIgoJd29ya19sb2dzGCUgAygLMg8uYXBpLnYxLldvcmtMb2cSNAoLcmVzb2x2ZWRfYXQYJiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAiIAQESKwoOdGFza19kb2NfcGFnZXMYJyADKAsyEy5hcGkudjEuVGFza0RvY1BhZ2USLAoOdGFza19kb2N1bWVudHMYKCADKAsyFC5hcGkudjEuVGFza0RvY3VtZW50Ei4KCmNyZWF0ZWRfYXQYKSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYKiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiQKCW1pbGVzdG9uZRgrIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSOgoadGFza19kZXBlbmRlbmNpZXNfb3V0Z29pbmcYLCADKAsyFi5hcGkudjEuVGFza0RlcGVuZGVuY3kSOgoadGFza19kZXBlbmRlbmNpZXNfaW5jb21pbmcYLSADKAsyFi5hcGkudjEuVGFza0RlcGVuZGVuY3lCDgoMX2Rlc2NyaXB0aW9uQg8KDV9zdG9yeV9wb2ludHNCEgoQX2VzdGltYXRlZF9ob3Vyc0IPCg1fYWN0dWFsX2hvdXJzQhAKDl9tZXRhZGF0YV9qc29uQhMKEV9hc3NpZ25lZF91c2VyX2lkQhEKD19wYXJlbnRfdGFza19pZEILCglfY3ljbGVfaWRCDgoMX3Jlc29sdmVkX2F0InQKCVRhc2tMYWJlbBIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhoKBHRhc2sYAyABKAsyDC5hcGkudjEuVGFzaxIQCghsYWJlbF9pZBgEIAEoDRIcCgVsYWJlbBgFIAEoCzINLmFwaS52MS5MYWJlbCKFAQoPVGFza0NvbnRyaWJ1dG9yEgoKAmlkGAEgASgNEgwKBHJvbGUYAiABKAkSDwoHdGFza19pZBgDIAEoDRIaCgR0YXNrGAQgASgLMgwuYXBpLnYxLlRhc2sSDwoHdXNlcl9pZBgFIAEoDRIaCgR1c2VyGAYgASgLMgwuYXBpLnYxLlVzZXIihAEKDVRhc2tDb21wb25lbnQSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIaCgR0YXNrGAMgASgLMgwuYXBpLnYxLlRhc2sSFAoMY29tcG9uZW50X2lkGAQgASgNEiQKCWNvbXBvbmVudBgFIAEoCzIRLmFwaS52MS5Db21wb25lbnQi0AEKDlRhc2tSZXBvc2l0b3J5EgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SGgoSdmNzX2ludGVncmF0aW9uX2lkGAQgASgNEi8KD3Zjc19pbnRlZ3JhdGlvbhgFIAEoCzIWLmFwaS52MS5WQ1NJbnRlZ3JhdGlvbhIdChVwcm9qZWN0X3JlcG9zaXRvcnlfaWQYBiABKA0SNQoScHJvamVjdF9yZXBvc2l0b3J5GAcgASgLMhkuYXBpLnYxLlByb2plY3RSZXBvc2l0b3J5InYKC1Rhc2tEb2NQYWdlEgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SEwoLZG9jX3BhZ2VfaWQYAyABKA0SIQoIZG9jX3BhZ2UYBCABKAsyDy5hcGkudjEuRG9jUGFnZRISCgpjb21wYW55X2lkGAUgASgNIngKDFRhc2tEb2N1bWVudBIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhMKC2RvY3VtZW50X2lkGAMgASgNEiIKCGRvY3VtZW50GAQgASgLMhAuYXBpLnYxLkRvY3VtZW50EhIKCmNvbXBhbnlfaWQYBSABKA0i6QEKD1Rhc2tQdWxsUmVxdWVzdBIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEh0KFXByb2plY3RfcmVwb3NpdG9yeV9pZBgDIAEoDRI1ChJwcm9qZWN0X3JlcG9zaXRvcnkYBCABKAsyGS5hcGkudjEuUHJvamVjdFJlcG9zaXRvcnkSEQoJcHJfbnVtYmVyGAUgASgFEg0KBXRpdGxlGAYgASgJEgsKA3VybBgHIAEoCRINCgVzdGF0ZRgIIAEoCRIlCghwcm92aWRlchgJIAEoDjITLmFwaS52MS5WQ1NQcm92aWRlciKJAwoHQ29tbWVudBIKCgJpZBgBIAEoDRIPCgdjb250ZW50GAIgASgJEhMKC2lzX2ludGVybmFsGAMgASgIEhQKB3Rhc2tfaWQYBCABKA1IAIgBARIaCgR0YXNrGAUgASgLMgwuYXBpLnYxLlRhc2sSGAoLZG9jX3BhZ2VfaWQYBiABKA1IAYgBARIhCghkb2NfcGFnZRgHIAEoCzIPLmFwaS52MS5Eb2NQYWdlEg8KB3VzZXJfaWQYCCABKA0SGgoEdXNlchgJIAEoCzIMLmFwaS52MS5Vc2VyEhIKCmNvbXBhbnlfaWQYCiABKA0SIAoHY29tcGFueRgLIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF90YXNrX2lkQg4KDF9kb2NfcGFnZV9pZCL8AgoKQXR0YWNobWVudBIKCgJpZBgBIAEoDRIQCghmaWxlbmFtZRgCIAEoCRIRCglmaWxlX3NpemUYAyABKAMSEQoJbWltZV90eXBlGAQgASgJEhQKDHN0b3JhZ2VfcGF0aBgFIAEoCRIXCgpwdWJsaWNfdXJsGAYgASgJSACIAQESFAoHdGFza19pZBgHIAEoDUgBiAEBEhoKBHRhc2sYCCABKAsyDC5hcGkudjEuVGFzaxIYCgtkb2NfcGFnZV9pZBgJIAEoDUgCiAEBEiEKCGRvY19wYWdlGAogASgLMg8uYXBpLnYxLkRvY1BhZ2USDwoHdXNlcl9pZBgLIAEoDRIaCgR1c2VyGAwgASgLMgwuYXBpLnYxLlVzZXISEgoKY29tcGFueV9pZBgNIAEoDRIgCgdjb21wYW55GA4gASgLMg8uYXBpLnYxLkNvbXBhbnlCDQoLX3B1YmxpY191cmxCCgoIX3Rhc2tfaWRCDgoMX2RvY19wYWdlX2lkIlEKC0FJUnVuU3RhdHVzEgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24iaAoLQUlVbml0U3RhZ2USCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEhUKDWRpc3BsYXlfb3JkZXIYBCABKAVCDgoMX2Rlc2NyaXB0aW9uIlIKDEFJVW5pdFN0YXR1cxIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIlQKDkFJVW5pdENhdGVnb3J5EgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24i6AUKDUFJV29ya2Zsb3dSdW4SCgoCaWQYASABKA0SHQoVYWlfY3JlZGl0c191c2VkX3RvdGFsGAIgASgFEhoKDW1ldGFkYXRhX2pzb24YAyABKAlIAIgBARIPCgd0YXNrX2lkGAQgASgNEhoKBHRhc2sYBSABKAsyDC5hcGkudjEuVGFzaxIcChR0cmlnZ2VyZWRfYnlfdXNlcl9pZBgGIAEoDRInChF0cmlnZ2VyZWRfYnlfdXNlchgHIAEoCzIMLmFwaS52MS5Vc2VyEhgKEGFpX3J1bl9zdGF0dXNfaWQYCCABKA0SKgoNYWlfcnVuX3N0YXR1cxgJIAEoCzITLmFwaS52MS5BSVJ1blN0YXR1cxIdChBjdXJyZW50X3N0YWdlX2lkGAogASgNSAGIAQESKgoNY3VycmVudF9zdGFnZRgLIAEoCzITLmFwaS52MS5BSVVuaXRTdGFnZRIuCgpjcmVhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRuYW1lGA4gASgJEjMKCnN0YXJ0ZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESNQoMY29tcGxldGVkX2F0GBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEiIKFXJlc3RhcnRlZF9mcm9tX3J1bl9pZBgRIAEoDUgEiAEBEhoKDXNvdXJjZV9icmFuY2gYEiABKAlIBYgBAUIQCg5fbWV0YWRhdGFfanNvbkITChFfY3VycmVudF9zdGFnZV9pZEINCgtfc3RhcnRlZF9hdEIPCg1fY29tcGxldGVkX2F0QhgKFl9yZXN0YXJ0ZWRfZnJvbV9ydW5faWRCEAoOX3NvdXJjZV9icmFuY2gi+wcKDkFJV29ya2Zsb3dVbml0EgoKAmlkGAEgASgNEhYKDnNlcXVlbmNlX29yZGVyGAIgASgFEhgKEHdvcmtfZGVzY3JpcHRpb24YAyABKAkSFwoKdmNzX2JyYW5jaBgEIAEoCUgAiAEBEhcKCnZjc19wcl91cmwYBSABKAlIAYgBARIbCg5kZXBsb3ltZW50X3VybBgGIAEoCUgCiAEBEh4KEXRlc3RfcmVzdWx0c19qc29uGAcgASgJSAOIAQESFgoJZXJyb3JfbG9nGAggASgJSASIAQESFwoPYWlfY3JlZGl0c191c2VkGAkgASgFEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIBYgBARIaChJhaV93b3JrZmxvd19ydW5faWQYCyABKA0SLgoPYWlfd29ya2Zsb3dfcnVuGAwgASgLMhUuYXBpLnYxLkFJV29ya2Zsb3dSdW4SDwoHdGFza19pZBgNIAEoDRIaCgR0YXNrGA4gASgLMgwuYXBpLnYxLlRhc2sSGgoSdmNzX2ludGVncmF0aW9uX2lkGA8gASgNEi8KD3Zjc19pbnRlZ3JhdGlvbhgQIAEoCzIWLmFwaS52MS5WQ1NJbnRlZ3JhdGlvbhIgChNhaV91bml0X2NhdGVnb3J5X2lkGBEgASgNSAaIAQESMAoQYWlfdW5pdF9jYXRlZ29yeRgSIAEoCzIWLmFwaS52MS5BSVVuaXRDYXRlZ29yeRIYChBhaV91bml0X3N0YWdlX2lkGBMgASgNEioKDWFpX3VuaXRfc3RhZ2UYFCABKAsyEy5hcGkudjEuQUlVbml0U3RhZ2USGQoRYWlfdW5pdF9zdGF0dXNfaWQYFSABKA0SLAoOYWlfdW5pdF9zdGF0dXMYFiABKAsyFC5hcGkudjEuQUlVbml0U3RhdHVzEh8KEmRlcGVuZHNfb25fdW5pdF9pZBgXIAEoDUgHiAEBEi8KD2RlcGVuZHNfb25fdW5pdBgYIAEoCzIWLmFwaS52MS5BSVdvcmtmbG93VW5pdBIuCgpjcmVhdGVkX2F0GBkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEINCgtfdmNzX2JyYW5jaEINCgtfdmNzX3ByX3VybEIRCg9fZGVwbG95bWVudF91cmxCFAoSX3Rlc3RfcmVzdWx0c19qc29uQgwKCl9lcnJvcl9sb2dCEAoOX21ldGFkYXRhX2pzb25CFgoUX2FpX3VuaXRfY2F0ZWdvcnlfaWRCFQoTX2RlcGVuZHNfb25fdW5pdF9pZCL/AQoLRW52aXJvbm1lbnQSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIRCgR0eXBlGAMgASgJSACIAQESGgoNazhzX25hbWVzcGFjZRgEIAEoCUgBiAEBEhgKC2Jhc2VfZG9tYWluGAUgASgJSAKIAQESGgoNbWV0YWRhdGFfanNvbhgGIAEoCUgDiAEBEhIKCnByb2plY3RfaWQYByABKA0SIAoHcHJvamVjdBgIIAEoCzIPLmFwaS52MS5Qcm9qZWN0QgcKBV90eXBlQhAKDl9rOHNfbmFtZXNwYWNlQg4KDF9iYXNlX2RvbWFpbkIQCg5fbWV0YWRhdGFfanNvbiKiAgoKRGVwbG95bWVudBIKCgJpZBgBIAEoDRIOCgZzdGF0dXMYAiABKAkSEAoDdXJsGAMgASgJSACIAQESFQoIbG9nc191cmwYBCABKAlIAYgBARIaCg1tZXRhZGF0YV9qc29uGAUgASgJSAKIAQESFgoOZW52aXJvbm1lbnRfaWQYBiABKA0SKAoLZW52aXJvbm1lbnQYByABKAsyEy5hcGkudjEuRW52aXJvbm1lbnQSGgoSYWlfd29ya2Zsb3dfcnVuX2lkGAggASgNEi4KD2FpX3dvcmtmbG93X3J1bhgJIAEoCzIVLmFwaS52MS5BSVdvcmtmbG93UnVuQgYKBF91cmxCCwoJX2xvZ3NfdXJsQhAKDl9tZXRhZGF0YV9qc29uIvwBCgdUZXN0UnVuEgoKAmlkGAEgASgNEgwKBHR5cGUYAiABKAkSDgoGc3RhdHVzGAMgASgJEhYKCWZyYW1ld29yaxgEIAEoCUgAiAEBEhcKCnJlcG9ydF91cmwYBSABKAlIAYgBARIZCgxyZXN1bHRzX2pzb24YBiABKAlIAogBARIbChNhaV93b3JrZmxvd191bml0X2lkGAcgASgNEjAKEGFpX3dvcmtmbG93X3VuaXQYCCABKAsyFi5hcGkudjEuQUlXb3JrZmxvd1VuaXRCDAoKX2ZyYW1ld29ya0INCgtfcmVwb3J0X3VybEIPCg1fcmVzdWx0c19qc29uIsQCCgtBY3Rpdml0eUxvZxIKCgJpZBgBIAEoDRIOCgZhY3Rpb24YAiABKAkSEwoLZW50aXR5X3R5cGUYAyABKAkSEQoJZW50aXR5X2lkGAQgASgNEhMKC2Rlc2NyaXB0aW9uGAUgASgJEhoKDW1ldGFkYXRhX2pzb24YBiABKAlIAIgBARIXCgppcF9hZGRyZXNzGAcgASgJSAGIAQESFAoHdXNlcl9pZBgIIAEoDUgCiAEBEhoKBHVzZXIYCSABKAsyDC5hcGkudjEuVXNlchIXCgpwcm9qZWN0X2lkGAogASgNSAOIAQESIAoHcHJvamVjdBgLIAEoCzIPLmFwaS52MS5Qcm9qZWN0QhAKDl9tZXRhZGF0YV9qc29uQg0KC19pcF9hZGRyZXNzQgoKCF91c2VyX2lkQg0KC19wcm9qZWN0X2lkIocDCgxOb3RpZmljYXRpb24SCgoCaWQYASABKA0SDQoFdGl0bGUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIZChFub3RpZmljYXRpb25fdHlwZRgEIAEoCRIYCgtlbnRpdHlfdHlwZRgFIAEoCUgAiAEBEhYKCWVudGl0eV9pZBgGIAEoDUgBiAEBEhcKCmFjdGlvbl91cmwYByABKAlIAogBARIPCgdpc19yZWFkGAggASgIEhYKDnNlbnRfdmlhX2VtYWlsGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIA4gBARIPCgd1c2VyX2lkGAsgASgNEhoKBHVzZXIYDCABKAsyDC5hcGkudjEuVXNlchISCgpjb21wYW55X2lkGA0gASgNEiAKB2NvbXBhbnkYDiABKAsyDy5hcGkudjEuQ29tcGFueUIOCgxfZW50aXR5X3R5cGVCDAoKX2VudGl0eV9pZEINCgtfYWN0aW9uX3VybEIQCg5fbWV0YWRhdGFfanNvbiJbCgdDb3VudHJ5EgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSEAoIaXNvX2NvZGUYAyABKAkSEQoJaXNvX2NvZGUyGAQgASgJEhEKCWRpYWxfY29kZRgFIAEoCSL1BAoIRG9jdW1lbnQSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRIQCghmaWxlbmFtZRgCIAEoCRIRCgltaW1lX3R5cGUYAyABKAkSDAoEc2l6ZRgEIAEoAxITCgtzdG9yYWdlX3VybBgFIAEoCRITCgZzaGEyNTYYBiABKAlIAIgBARIWCglkaXNrX25hbWUYByABKAlIAYgBARIRCgRraW5kGAggASgJSAKIAQESEQoJaXNfZm9sZGVyGAkgASgIEhYKCWZ1bGxfcGF0aBgKIAEoCUgDiAEBEh0KEHBhcmVudF9mb2xkZXJfaWQYCyABKA1IBIgBARInCg1wYXJlbnRfZm9sZGVyGAwgASgLMhAuYXBpLnYxLkRvY3VtZW50EhIKCnByb2plY3RfaWQYDSABKA0SIAoHcHJvamVjdBgOIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhIKCmNvbXBhbnlfaWQYDyABKA0SIAoHY29tcGFueRgQIAEoCzIPLmFwaS52MS5Db21wYW55EhsKE3VwbG9hZGVkX2J5X3VzZXJfaWQYESABKA0SJgoQdXBsb2FkZWRfYnlfdXNlchgSIAEoCzIMLmFwaS52MS5Vc2VyEi4KCmNyZWF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgkKB19zaGEyNTZCDAoKX2Rpc2tfbmFtZUIHCgVfa2luZEIMCgpfZnVsbF9wYXRoQhMKEV9wYXJlbnRfZm9sZGVyX2lkIt0BCgxEb2N1bWVudExpbmsSCgoCaWQYASABKA0SEQoJbGlua19raW5kGAIgASgJEg8KB2xpbmtfaWQYAyABKA0SEwoLZG9jdW1lbnRfaWQYBCABKA0SIgoIZG9jdW1lbnQYBSABKAsyEC5hcGkudjEuRG9jdW1lbnQSEgoKY29tcGFueV9pZBgGIAEoDRIgCgdjb21wYW55GAcgASgLMg8uYXBpLnYxLkNvbXBhbnkSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiiAIKB1dvcmtMb2cSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIaCgR0YXNrGAMgASgLMgwuYXBpLnYxLlRhc2sSDwoHdXNlcl9pZBgEIAEoDRIaCgR1c2VyGAUgASgLMgwuYXBpLnYxLlVzZXISDQoFaG91cnMYBiABKAESGAoLZGVzY3JpcHRpb24YByABKAlIAIgBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb24ihwMKCU1pbGVzdG9uZRIKCgJpZBgBIAEoDRIMCgR1dWlkGAIgASgJEgwKBG5hbWUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIzCgpzdGFydF9kYXRlGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjEKCGVuZF9kYXRlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEg4KBnN0YXR1cxgHIAEoCRISCgpwcm9qZWN0X2lkGAggASgNEiAKB3Byb2plY3QYCSABKAsyDy5hcGkudjEuUHJvamVjdBIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CDQoLX3N0YXJ0X2RhdGVCCwoJX2VuZF9kYXRlIpgBCg1NaWxlc3RvbmVUYXNrEgoKAmlkGAEgASgNEhQKDG1pbGVzdG9uZV9pZBgCIAEoDRIkCgltaWxlc3RvbmUYAyABKAsyES5hcGkudjEuTWlsZXN0b25lEg8KB3Rhc2tfaWQYBCABKA0SGgoEdGFzaxgFIAEoCzIMLmFwaS52MS5UYXNrEhIKCmNvbXBhbnlfaWQYBiABKA0ipgEKEE1pbGVzdG9uZURvY1BhZ2USCgoCaWQYASABKA0SFAoMbWlsZXN0b25lX2lkGAIgASgNEiQKCW1pbGVzdG9uZRgDIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSEwoLZG9jX3BhZ2VfaWQYBCABKA0SIQoIZG9jX3BhZ2UYBSABKAsyDy5hcGkudjEuRG9jUGFnZRISCgpjb21wYW55X2lkGAYgASgNIscBChNNaWxlc3RvbmVSZXBvc2l0b3J5EgoKAmlkGAEgASgNEhQKDG1pbGVzdG9uZV9pZBgCIAEoDRIkCgltaWxlc3RvbmUYAyABKAsyES5hcGkudjEuTWlsZXN0b25lEh0KFXByb2plY3RfcmVwb3NpdG9yeV9pZBgEIAEoDRI1ChJwcm9qZWN0X3JlcG9zaXRvcnkYBSABKAsyGS5hcGkudjEuUHJvamVjdFJlcG9zaXRvcnkSEgoKY29tcGFueV9pZBgGIAEoDSKoAQoRTWlsZXN0b25lRG9jdW1lbnQSCgoCaWQYASABKA0SFAoMbWlsZXN0b25lX2lkGAIgASgNEiQKCW1pbGVzdG9uZRgDIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSEwoLZG9jdW1lbnRfaWQYBCABKA0SIgoIZG9jdW1lbnQYBSABKAsyEC5hcGkudjEuRG9jdW1lbnQSEgoKY29tcGFueV9pZBgGIAEoDSKkAgoOVGFza0RlcGVuZGVuY3kSCgoCaWQYASABKA0SFAoMZnJvbV90YXNrX2lkGAIgASgNEh8KCWZyb21fdGFzaxgDIAEoCzIMLmFwaS52MS5UYXNrEhIKCnRvX3Rhc2tfaWQYBCABKA0SHQoHdG9fdGFzaxgFIAEoCzIMLmFwaS52MS5UYXNrEigKBHR5cGUYBiABKA4yGi5hcGkudjEuVGFza0RlcGVuZGVuY3lUeXBlEhIKCmNvbXBhbnlfaWQYByABKA0SLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAqygEKElRhc2tEZXBlbmRlbmN5VHlwZRIkCiBUQVNLX0RFUEVOREVOQ1lfVFlQRV9VTlNQRUNJRklFRBAAEh8KG1RBU0tfREVQRU5ERU5DWV9UWVBFX0JMT0NLUxABEiMKH1RBU0tfREVQRU5ERU5DWV9UWVBFX0JMT0NLRURfQlkQAhIjCh9UQVNLX0RFUEVOREVOQ1lfVFlQRV9EVVBMSUNBVEVTEAMSIwofVEFTS19ERVBFTkRFTkNZX1RZUEVfUkVMQVRFU19UTxAEQnAKCmNvbS5hcGkudjFCC01vZGVsc1Byb3RvUAFaHG9wc2VlL2JhY2tlbmQvZ2VuL2FwaS92MTtnZW6iAgNBWFiqAgZBcGkuVjHKAgZBcGlcVjHiAhJBcGlcVjFcR1BCTWV0YWRhdGHqAgdBcGk6OlYxYgZwcm90bzM", [file_google_protobuf_timestamp, file_api_v1_vcs]);
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Describes the message api.v1.Permission.
|
|
@@ -390,3 +390,22 @@ export const MilestoneRepositorySchema = /*@__PURE__*/
|
|
|
390
390
|
export const MilestoneDocumentSchema = /*@__PURE__*/
|
|
391
391
|
messageDesc(file_api_v1_models, 53);
|
|
392
392
|
|
|
393
|
+
/**
|
|
394
|
+
* Describes the message api.v1.TaskDependency.
|
|
395
|
+
* Use `create(TaskDependencySchema)` to create a new message.
|
|
396
|
+
*/
|
|
397
|
+
export const TaskDependencySchema = /*@__PURE__*/
|
|
398
|
+
messageDesc(file_api_v1_models, 54);
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
* Describes the enum api.v1.TaskDependencyType.
|
|
402
|
+
*/
|
|
403
|
+
export const TaskDependencyTypeSchema = /*@__PURE__*/
|
|
404
|
+
enumDesc(file_api_v1_models, 0);
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* @generated from enum api.v1.TaskDependencyType
|
|
408
|
+
*/
|
|
409
|
+
export const TaskDependencyType = /*@__PURE__*/
|
|
410
|
+
tsEnum(TaskDependencyTypeSchema);
|
|
411
|
+
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.2.3
|
|
2
|
+
// @generated from file api/v1/task_dependency.proto (package api.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
|
|
6
|
+
import type { Message } from "@bufbuild/protobuf";
|
|
7
|
+
import type { TaskDependency, TaskDependencyType } from "./models_pb";
|
|
8
|
+
import type { Pagination } from "./pagination_pb";
|
|
9
|
+
import type { EmptySchema } from "@bufbuild/protobuf/wkt";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Describes the file api/v1/task_dependency.proto.
|
|
13
|
+
*/
|
|
14
|
+
export declare const file_api_v1_task_dependency: GenFile;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Request definitions
|
|
18
|
+
*
|
|
19
|
+
* @generated from message api.v1.AddTaskDependencyRequest
|
|
20
|
+
*/
|
|
21
|
+
export declare type AddTaskDependencyRequest = Message<"api.v1.AddTaskDependencyRequest"> & {
|
|
22
|
+
/**
|
|
23
|
+
* @generated from field: uint32 from_task_id = 1;
|
|
24
|
+
*/
|
|
25
|
+
fromTaskId: number;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @generated from field: uint32 to_task_id = 2;
|
|
29
|
+
*/
|
|
30
|
+
toTaskId: number;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @generated from field: api.v1.TaskDependencyType type = 3;
|
|
34
|
+
*/
|
|
35
|
+
type: TaskDependencyType;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Describes the message api.v1.AddTaskDependencyRequest.
|
|
40
|
+
* Use `create(AddTaskDependencyRequestSchema)` to create a new message.
|
|
41
|
+
*/
|
|
42
|
+
export declare const AddTaskDependencyRequestSchema: GenMessage<AddTaskDependencyRequest>;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @generated from message api.v1.GetTaskDependenciesRequest
|
|
46
|
+
*/
|
|
47
|
+
export declare type GetTaskDependenciesRequest = Message<"api.v1.GetTaskDependenciesRequest"> & {
|
|
48
|
+
/**
|
|
49
|
+
* @generated from field: uint32 task_id = 1;
|
|
50
|
+
*/
|
|
51
|
+
taskId: number;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @generated from field: api.v1.Pagination pagination = 2;
|
|
55
|
+
*/
|
|
56
|
+
pagination?: Pagination;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Describes the message api.v1.GetTaskDependenciesRequest.
|
|
61
|
+
* Use `create(GetTaskDependenciesRequestSchema)` to create a new message.
|
|
62
|
+
*/
|
|
63
|
+
export declare const GetTaskDependenciesRequestSchema: GenMessage<GetTaskDependenciesRequest>;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @generated from message api.v1.DeleteTaskDependencyRequest
|
|
67
|
+
*/
|
|
68
|
+
export declare type DeleteTaskDependencyRequest = Message<"api.v1.DeleteTaskDependencyRequest"> & {
|
|
69
|
+
/**
|
|
70
|
+
* @generated from field: uint32 id = 1;
|
|
71
|
+
*/
|
|
72
|
+
id: number;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Describes the message api.v1.DeleteTaskDependencyRequest.
|
|
77
|
+
* Use `create(DeleteTaskDependencyRequestSchema)` to create a new message.
|
|
78
|
+
*/
|
|
79
|
+
export declare const DeleteTaskDependencyRequestSchema: GenMessage<DeleteTaskDependencyRequest>;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Response definitions
|
|
83
|
+
*
|
|
84
|
+
* @generated from message api.v1.AddTaskDependencyResponse
|
|
85
|
+
*/
|
|
86
|
+
export declare type AddTaskDependencyResponse = Message<"api.v1.AddTaskDependencyResponse"> & {
|
|
87
|
+
/**
|
|
88
|
+
* @generated from field: api.v1.TaskDependency task_dependency = 1;
|
|
89
|
+
*/
|
|
90
|
+
taskDependency?: TaskDependency;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Describes the message api.v1.AddTaskDependencyResponse.
|
|
95
|
+
* Use `create(AddTaskDependencyResponseSchema)` to create a new message.
|
|
96
|
+
*/
|
|
97
|
+
export declare const AddTaskDependencyResponseSchema: GenMessage<AddTaskDependencyResponse>;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* @generated from message api.v1.GetTaskDependenciesResponse
|
|
101
|
+
*/
|
|
102
|
+
export declare type GetTaskDependenciesResponse = Message<"api.v1.GetTaskDependenciesResponse"> & {
|
|
103
|
+
/**
|
|
104
|
+
* @generated from field: repeated api.v1.TaskDependency task_dependencies = 1;
|
|
105
|
+
*/
|
|
106
|
+
taskDependencies: TaskDependency[];
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* @generated from field: api.v1.Pagination pagination = 2;
|
|
110
|
+
*/
|
|
111
|
+
pagination?: Pagination;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Describes the message api.v1.GetTaskDependenciesResponse.
|
|
116
|
+
* Use `create(GetTaskDependenciesResponseSchema)` to create a new message.
|
|
117
|
+
*/
|
|
118
|
+
export declare const GetTaskDependenciesResponseSchema: GenMessage<GetTaskDependenciesResponse>;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Service
|
|
122
|
+
*
|
|
123
|
+
* @generated from service api.v1.TaskDependencyService
|
|
124
|
+
*/
|
|
125
|
+
export declare const TaskDependencyService: GenService<{
|
|
126
|
+
/**
|
|
127
|
+
* @generated from rpc api.v1.TaskDependencyService.AddTaskDependency
|
|
128
|
+
*/
|
|
129
|
+
addTaskDependency: {
|
|
130
|
+
methodKind: "unary";
|
|
131
|
+
input: typeof AddTaskDependencyRequestSchema;
|
|
132
|
+
output: typeof AddTaskDependencyResponseSchema;
|
|
133
|
+
},
|
|
134
|
+
/**
|
|
135
|
+
* @generated from rpc api.v1.TaskDependencyService.GetTaskDependencies
|
|
136
|
+
*/
|
|
137
|
+
getTaskDependencies: {
|
|
138
|
+
methodKind: "unary";
|
|
139
|
+
input: typeof GetTaskDependenciesRequestSchema;
|
|
140
|
+
output: typeof GetTaskDependenciesResponseSchema;
|
|
141
|
+
},
|
|
142
|
+
/**
|
|
143
|
+
* @generated from rpc api.v1.TaskDependencyService.DeleteTaskDependency
|
|
144
|
+
*/
|
|
145
|
+
deleteTaskDependency: {
|
|
146
|
+
methodKind: "unary";
|
|
147
|
+
input: typeof DeleteTaskDependencyRequestSchema;
|
|
148
|
+
output: typeof EmptySchema;
|
|
149
|
+
},
|
|
150
|
+
}>;
|
|
151
|
+
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.2.3
|
|
2
|
+
// @generated from file api/v1/task_dependency.proto (package api.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
|
6
|
+
import { file_google_protobuf_empty } from "@bufbuild/protobuf/wkt";
|
|
7
|
+
import { file_google_api_annotations } from "../../google/api/annotations_pb";
|
|
8
|
+
import { file_validate_validate } from "../../validate/validate_pb";
|
|
9
|
+
import { file_api_v1_pagination } from "./pagination_pb";
|
|
10
|
+
import { file_api_v1_models } from "./models_pb";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Describes the file api/v1/task_dependency.proto.
|
|
14
|
+
*/
|
|
15
|
+
export const file_api_v1_task_dependency = /*@__PURE__*/
|
|
16
|
+
fileDesc("ChxhcGkvdjEvdGFza19kZXBlbmRlbmN5LnByb3RvEgZhcGkudjEijAEKGEFkZFRhc2tEZXBlbmRlbmN5UmVxdWVzdBIdCgxmcm9tX3Rhc2tfaWQYASABKA1CB/pCBCoCKAESGwoKdG9fdGFza19pZBgCIAEoDUIH+kIEKgIoARI0CgR0eXBlGAMgASgOMhouYXBpLnYxLlRhc2tEZXBlbmRlbmN5VHlwZUIK+kIHggEEEAEgACJeChpHZXRUYXNrRGVwZW5kZW5jaWVzUmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBEiYKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbiIyChtEZWxldGVUYXNrRGVwZW5kZW5jeVJlcXVlc3QSEwoCaWQYASABKA1CB/pCBCoCKAEiTAoZQWRkVGFza0RlcGVuZGVuY3lSZXNwb25zZRIvCg90YXNrX2RlcGVuZGVuY3kYASABKAsyFi5hcGkudjEuVGFza0RlcGVuZGVuY3kieAobR2V0VGFza0RlcGVuZGVuY2llc1Jlc3BvbnNlEjEKEXRhc2tfZGVwZW5kZW5jaWVzGAEgAygLMhYuYXBpLnYxLlRhc2tEZXBlbmRlbmN5EiYKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbjKYAwoVVGFza0RlcGVuZGVuY3lTZXJ2aWNlEn4KEUFkZFRhc2tEZXBlbmRlbmN5EiAuYXBpLnYxLkFkZFRhc2tEZXBlbmRlbmN5UmVxdWVzdBohLmFwaS52MS5BZGRUYXNrRGVwZW5kZW5jeVJlc3BvbnNlIiSC0+STAh46ASoiGS9hcGkvdjEvdGFzay1kZXBlbmRlbmNpZXMSgQEKE0dldFRhc2tEZXBlbmRlbmNpZXMSIi5hcGkudjEuR2V0VGFza0RlcGVuZGVuY2llc1JlcXVlc3QaIy5hcGkudjEuR2V0VGFza0RlcGVuZGVuY2llc1Jlc3BvbnNlIiGC0+STAhsSGS9hcGkvdjEvdGFzay1kZXBlbmRlbmNpZXMSewoURGVsZXRlVGFza0RlcGVuZGVuY3kSIy5hcGkudjEuRGVsZXRlVGFza0RlcGVuZGVuY3lSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiaC0+STAiAqHi9hcGkvdjEvdGFzay1kZXBlbmRlbmNpZXMve2lkfUJ4Cgpjb20uYXBpLnYxQhNUYXNrRGVwZW5kZW5jeVByb3RvUAFaHG9wc2VlL2JhY2tlbmQvZ2VuL2FwaS92MTtnZW6iAgNBWFiqAgZBcGkuVjHKAgZBcGlcVjHiAhJBcGlcVjFcR1BCTWV0YWRhdGHqAgdBcGk6OlYxYgZwcm90bzM", [file_google_protobuf_empty, file_google_api_annotations, file_validate_validate, file_api_v1_pagination, file_api_v1_models]);
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Describes the message api.v1.AddTaskDependencyRequest.
|
|
20
|
+
* Use `create(AddTaskDependencyRequestSchema)` to create a new message.
|
|
21
|
+
*/
|
|
22
|
+
export const AddTaskDependencyRequestSchema = /*@__PURE__*/
|
|
23
|
+
messageDesc(file_api_v1_task_dependency, 0);
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Describes the message api.v1.GetTaskDependenciesRequest.
|
|
27
|
+
* Use `create(GetTaskDependenciesRequestSchema)` to create a new message.
|
|
28
|
+
*/
|
|
29
|
+
export const GetTaskDependenciesRequestSchema = /*@__PURE__*/
|
|
30
|
+
messageDesc(file_api_v1_task_dependency, 1);
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Describes the message api.v1.DeleteTaskDependencyRequest.
|
|
34
|
+
* Use `create(DeleteTaskDependencyRequestSchema)` to create a new message.
|
|
35
|
+
*/
|
|
36
|
+
export const DeleteTaskDependencyRequestSchema = /*@__PURE__*/
|
|
37
|
+
messageDesc(file_api_v1_task_dependency, 2);
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Describes the message api.v1.AddTaskDependencyResponse.
|
|
41
|
+
* Use `create(AddTaskDependencyResponseSchema)` to create a new message.
|
|
42
|
+
*/
|
|
43
|
+
export const AddTaskDependencyResponseSchema = /*@__PURE__*/
|
|
44
|
+
messageDesc(file_api_v1_task_dependency, 3);
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Describes the message api.v1.GetTaskDependenciesResponse.
|
|
48
|
+
* Use `create(GetTaskDependenciesResponseSchema)` to create a new message.
|
|
49
|
+
*/
|
|
50
|
+
export const GetTaskDependenciesResponseSchema = /*@__PURE__*/
|
|
51
|
+
messageDesc(file_api_v1_task_dependency, 4);
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Service
|
|
55
|
+
*
|
|
56
|
+
* @generated from service api.v1.TaskDependencyService
|
|
57
|
+
*/
|
|
58
|
+
export const TaskDependencyService = /*@__PURE__*/
|
|
59
|
+
serviceDesc(file_api_v1_task_dependency, 0);
|
|
60
|
+
|
package/gen/api/v1/task_pb.d.ts
CHANGED
|
@@ -303,6 +303,11 @@ export declare type GetTasksRequest = Message<"api.v1.GetTasksRequest"> & {
|
|
|
303
303
|
* @generated from field: api.v1.FilterOptions filter_options = 3;
|
|
304
304
|
*/
|
|
305
305
|
filterOptions?: FilterOptions;
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* @generated from field: repeated uint32 label_ids = 4;
|
|
309
|
+
*/
|
|
310
|
+
labelIds: number[];
|
|
306
311
|
};
|
|
307
312
|
|
|
308
313
|
/**
|
package/gen/api/v1/task_pb.js
CHANGED
|
@@ -14,7 +14,7 @@ import { file_api_v1_models } from "./models_pb";
|
|
|
14
14
|
* Describes the file api/v1/task.proto.
|
|
15
15
|
*/
|
|
16
16
|
export const file_api_v1_task = /*@__PURE__*/
|
|
17
|
-
fileDesc("ChFhcGkvdjEvdGFzay5wcm90bxIGYXBpLnYxIvkFCg5BZGRUYXNrUmVxdWVzdBIiCgppZGVudGlmaWVyGAEgASgJQgn6QgZyBBABGDJIAIgBARIZCgV0aXRsZRgCIAEoCUIK+kIHcgUQARjIARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEh4KDWRpc3BsYXlfb3JkZXIYBCABKAVCB/pCBBoCKAASIgoMc3RvcnlfcG9pbnRzGAUgASgFQgf6QgQaAigBSAKIAQESLAoPZXN0aW1hdGVkX2hvdXJzGAYgASgBQg76QgsSCSkAAAAAAAAAAEgDiAEBEikKDGFjdHVhbF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIBIgBARIsCghkdWVfZGF0ZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPYWlfbW9kZV9lbmFibGVkGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIBYgBARIQCghib2FyZF9pZBgLIAEoDRIXCg9ib2FyZF9jb2x1bW5faWQYDCABKA0SEgoKcHJvamVjdF9pZBgNIAEoDRIUCgx0YXNrX3R5cGVfaWQYDiABKA0SGAoQdGFza19wcmlvcml0eV9pZBgPIAEoDRIYChByZXBvcnRlcl91c2VyX2lkGBAgASgNEh0KEGFzc2lnbmVkX3VzZXJfaWQYESABKA1IBogBARIbCg5wYXJlbnRfdGFza19pZBgSIAEoDUgHiAEBEhYKDnJlcG9zaXRvcnlfaWRzGBMgAygNEhUKCGN5Y2xlX2lkGBQgASgNSAiIAQFCDQoLX2lkZW50aWZpZXJCDgoMX2Rlc2NyaXB0aW9uQg8KDV9zdG9yeV9wb2ludHNCEgoQX2VzdGltYXRlZF9ob3Vyc0IPCg1fYWN0dWFsX2hvdXJzQhAKDl9tZXRhZGF0YV9qc29uQhMKEV9hc3NpZ25lZF91c2VyX2lkQhEKD19wYXJlbnRfdGFza19pZEILCglfY3ljbGVfaWQi4gYKD0VkaXRUYXNrUmVxdWVzdBITCgJpZBgBIAEoDUIH+kIEKgIoARIdCgppZGVudGlmaWVyGAIgASgJQgn6QgZyBBABGDISGQoFdGl0bGUYAyABKAlCCvpCB3IFEAEYyAESGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIeCg1kaXNwbGF5X29yZGVyGAUgASgFQgf6QgQaAigAEiIKDHN0b3J5X3BvaW50cxgGIAEoBUIH+kIEGgIoAUgBiAEBEiwKD2VzdGltYXRlZF9ob3VycxgHIAEoAUIO+
|
|
17
|
+
fileDesc("ChFhcGkvdjEvdGFzay5wcm90bxIGYXBpLnYxIvkFCg5BZGRUYXNrUmVxdWVzdBIiCgppZGVudGlmaWVyGAEgASgJQgn6QgZyBBABGDJIAIgBARIZCgV0aXRsZRgCIAEoCUIK+kIHcgUQARjIARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEh4KDWRpc3BsYXlfb3JkZXIYBCABKAVCB/pCBBoCKAASIgoMc3RvcnlfcG9pbnRzGAUgASgFQgf6QgQaAigBSAKIAQESLAoPZXN0aW1hdGVkX2hvdXJzGAYgASgBQg76QgsSCSkAAAAAAAAAAEgDiAEBEikKDGFjdHVhbF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIBIgBARIsCghkdWVfZGF0ZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPYWlfbW9kZV9lbmFibGVkGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIBYgBARIQCghib2FyZF9pZBgLIAEoDRIXCg9ib2FyZF9jb2x1bW5faWQYDCABKA0SEgoKcHJvamVjdF9pZBgNIAEoDRIUCgx0YXNrX3R5cGVfaWQYDiABKA0SGAoQdGFza19wcmlvcml0eV9pZBgPIAEoDRIYChByZXBvcnRlcl91c2VyX2lkGBAgASgNEh0KEGFzc2lnbmVkX3VzZXJfaWQYESABKA1IBogBARIbCg5wYXJlbnRfdGFza19pZBgSIAEoDUgHiAEBEhYKDnJlcG9zaXRvcnlfaWRzGBMgAygNEhUKCGN5Y2xlX2lkGBQgASgNSAiIAQFCDQoLX2lkZW50aWZpZXJCDgoMX2Rlc2NyaXB0aW9uQg8KDV9zdG9yeV9wb2ludHNCEgoQX2VzdGltYXRlZF9ob3Vyc0IPCg1fYWN0dWFsX2hvdXJzQhAKDl9tZXRhZGF0YV9qc29uQhMKEV9hc3NpZ25lZF91c2VyX2lkQhEKD19wYXJlbnRfdGFza19pZEILCglfY3ljbGVfaWQi4gYKD0VkaXRUYXNrUmVxdWVzdBITCgJpZBgBIAEoDUIH+kIEKgIoARIdCgppZGVudGlmaWVyGAIgASgJQgn6QgZyBBABGDISGQoFdGl0bGUYAyABKAlCCvpCB3IFEAEYyAESGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIeCg1kaXNwbGF5X29yZGVyGAUgASgFQgf6QgQaAigAEiIKDHN0b3J5X3BvaW50cxgGIAEoBUIH+kIEGgIoAUgBiAEBEiwKD2VzdGltYXRlZF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIAogBARIpCgxhY3R1YWxfaG91cnMYCCABKAFCDvpCCxIJKQAAAAAAAAAASAOIAQESLAoIZHVlX2RhdGUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FpX21vZGVfZW5hYmxlZBgKIAEoCBIaCg1tZXRhZGF0YV9qc29uGAsgASgJSASIAQESEAoIYm9hcmRfaWQYDCABKA0SFwoPYm9hcmRfY29sdW1uX2lkGA0gASgNEhIKCnByb2plY3RfaWQYDiABKA0SFAoMdGFza190eXBlX2lkGA8gASgNEhgKEHRhc2tfcHJpb3JpdHlfaWQYECABKA0SGAoQcmVwb3J0ZXJfdXNlcl9pZBgRIAEoDRIdChBhc3NpZ25lZF91c2VyX2lkGBIgASgNSAWIAQESGwoOcGFyZW50X3Rhc2tfaWQYEyABKA1IBogBARIWCg5yZXBvc2l0b3J5X2lkcxgUIAMoDRIVCghjeWNsZV9pZBgVIAEoDUgHiAEBEi8KC3Jlc29sdmVkX2F0GBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeChFvcmlnaW5hbF9lc3RpbWF0ZRgXIAEoAUgIiAEBQg4KDF9kZXNjcmlwdGlvbkIPCg1fc3RvcnlfcG9pbnRzQhIKEF9lc3RpbWF0ZWRfaG91cnNCDwoNX2FjdHVhbF9ob3Vyc0IQCg5fbWV0YWRhdGFfanNvbkITChFfYXNzaWduZWRfdXNlcl9pZEIRCg9fcGFyZW50X3Rhc2tfaWRCCwoJX2N5Y2xlX2lkQhQKEl9vcmlnaW5hbF9lc3RpbWF0ZSIcCg5HZXRUYXNrUmVxdWVzdBIKCgJpZBgBIAEoDSIuChRHZXRUYXNrQnlVVUlEUmVxdWVzdBIWCgR1dWlkGAEgASgJQgj6QgVyA7ABASKiAQoPR2V0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESMAoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uQgj6QgWKAQIQARItCg5maWx0ZXJfb3B0aW9ucxgDIAEoCzIVLmFwaS52MS5GaWx0ZXJPcHRpb25zEhEKCWxhYmVsX2lkcxgEIAMoDSIfChFEZWxldGVUYXNrUmVxdWVzdBIKCgJpZBgBIAEoDSJXChBHZXRUYXNrc1Jlc3BvbnNlEhsKBXRhc2tzGAEgAygLMgwuYXBpLnYxLlRhc2sSJgoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uIi0KD0FkZFRhc2tSZXNwb25zZRIaCgR0YXNrGAEgASgLMgwuYXBpLnYxLlRhc2siLgoQRWRpdFRhc2tSZXNwb25zZRIaCgR0YXNrGAEgASgLMgwuYXBpLnYxLlRhc2siLQoPR2V0VGFza1Jlc3BvbnNlEhoKBHRhc2sYASABKAsyDC5hcGkudjEuVGFzayI0ChhUcmlnZ2VyQUlXb3JrZmxvd1JlcXVlc3QSGAoHdGFza19pZBgBIAEoDUIH+kIEKgIoASJOChlUcmlnZ2VyQUlXb3JrZmxvd1Jlc3BvbnNlEhAKCGpvYl9uYW1lGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIPCgdtZXNzYWdlGAMgASgJInIKEkV4cG9ydFRhc2tzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEi0KDmZpbHRlcl9vcHRpb25zGAIgASgLMhUuYXBpLnYxLkZpbHRlck9wdGlvbnMSEAoIdGFza19pZHMYAyADKA0iPAoTRXhwb3J0VGFza3NSZXNwb25zZRITCgtjc3ZfY29udGVudBgBIAEoDBIQCghmaWxlbmFtZRgCIAEoCSJwChJJbXBvcnRUYXNrc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIhCgtjc3ZfY29udGVudBgCIAEoDEIM+kIJegcQARiAgIAFEhoKEnNraXBfbm90aWZpY2F0aW9ucxgDIAEoCCJFCgxJbXBvcnRlZFRhc2sSEwoLZXh0ZXJuYWxfaWQYASABKAkSDwoHdGFza19pZBgCIAEoDRIPCgdjcmVhdGVkGAMgASgIIq0BChNJbXBvcnRUYXNrc1Jlc3BvbnNlEhUKDWNyZWF0ZWRfY291bnQYASABKAUSFQoNdXBkYXRlZF9jb3VudBgCIAEoBRIUCgxmYWlsZWRfY291bnQYAyABKAUSDgoGZXJyb3JzGAQgAygJEhUKDXNraXBwZWRfY291bnQYBSABKAUSKwoNY3JlYXRlZF90YXNrcxgGIAMoCzIULmFwaS52MS5JbXBvcnRlZFRhc2sipwEKCFRhc2tMaW5rEh8KC2V4dGVybmFsX2lkGAEgASgJQgr6QgdyBRABGIABEikKEnBhcmVudF9leHRlcm5hbF9pZBgCIAEoCUII+kIFcgMYgAFIAIgBARIlCg5taWxlc3RvbmVfbmFtZRgDIAEoCUII+kIFcgMYgAJIAYgBAUIVChNfcGFyZW50X2V4dGVybmFsX2lkQhEKD19taWxlc3RvbmVfbmFtZSJnChxMaW5rVGFza3NCeUV4dGVybmFsSWRSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESKgoFbGlua3MYAiADKAsyEC5hcGkudjEuVGFza0xpbmtCCfpCBpIBAxCIJyJiCh1MaW5rVGFza3NCeUV4dGVybmFsSWRSZXNwb25zZRIWCg5saW5rZWRfcGFyZW50cxgBIAEoBRIZChFsaW5rZWRfbWlsZXN0b25lcxgCIAEoBRIOCgZlcnJvcnMYAyADKAki0QIKFEJ1bGtFZGl0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESGgoIdGFza19pZHMYAiADKA1CCPpCBZIBAggBEhwKD2JvYXJkX2NvbHVtbl9pZBgDIAEoDUgAiAEBEh0KEHRhc2tfcHJpb3JpdHlfaWQYBCABKA1IAYgBARIZCgx0YXNrX3R5cGVfaWQYBSABKA1IAogBARIdChBhc3NpZ25lZF91c2VyX2lkGAYgASgNSAOIAQESFQoIY3ljbGVfaWQYByABKA1IBIgBARIWCg5yZXBvc2l0b3J5X2lkcxgIIAMoDUISChBfYm9hcmRfY29sdW1uX2lkQhMKEV90YXNrX3ByaW9yaXR5X2lkQg8KDV90YXNrX3R5cGVfaWRCEwoRX2Fzc2lnbmVkX3VzZXJfaWRCCwoJX2N5Y2xlX2lkIi4KFUJ1bGtFZGl0VGFza3NSZXNwb25zZRIVCg11cGRhdGVkX2NvdW50GAEgASgFIlEKFkJ1bGtEZWxldGVUYXNrc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIaCgh0YXNrX2lkcxgCIAMoDUII+kIFkgECCAEiMAoXQnVsa0RlbGV0ZVRhc2tzUmVzcG9uc2USFQoNZGVsZXRlZF9jb3VudBgBIAEoBSJ2ChFBZGRXb3JrTG9nUmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBEh0KBWhvdXJzGAIgASgBQg76QgsSCSmamZmZmZm5PxIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiI3ChJBZGRXb3JrTG9nUmVzcG9uc2USIQoId29ya19sb2cYASABKAsyDy5hcGkudjEuV29ya0xvZyIzChREZWxldGVXb3JrTG9nUmVxdWVzdBIPCgd0YXNrX2lkGAEgASgNEgoKAmlkGAIgASgNMukMCgtUYXNrU2VydmljZRJ9CgtFeHBvcnRUYXNrcxIaLmFwaS52MS5FeHBvcnRUYXNrc1JlcXVlc3QaGy5hcGkudjEuRXhwb3J0VGFza3NSZXNwb25zZSI1gtPkkwIvOgEqIiovYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9leHBvcnQSfQoLSW1wb3J0VGFza3MSGi5hcGkudjEuSW1wb3J0VGFza3NSZXF1ZXN0GhsuYXBpLnYxLkltcG9ydFRhc2tzUmVzcG9uc2UiNYLT5JMCLzoBKiIqL2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vdGFza3MvaW1wb3J0EqgBChVMaW5rVGFza3NCeUV4dGVybmFsSWQSJC5hcGkudjEuTGlua1Rhc2tzQnlFeHRlcm5hbElkUmVxdWVzdBolLmFwaS52MS5MaW5rVGFza3NCeUV4dGVybmFsSWRSZXNwb25zZSJCgtPkkwI8OgEqIjcvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9saW5rLWJ5LWV4dGVybmFsLWlkElQKB0FkZFRhc2sSFi5hcGkudjEuQWRkVGFza1JlcXVlc3QaFy5hcGkudjEuQWRkVGFza1Jlc3BvbnNlIhiC0+STAhI6ASoiDS9hcGkvdjEvdGFza3MSXAoIRWRpdFRhc2sSFy5hcGkudjEuRWRpdFRhc2tSZXF1ZXN0GhguYXBpLnYxLkVkaXRUYXNrUmVzcG9uc2UiHYLT5JMCFzoBKhoSL2FwaS92MS90YXNrcy97aWR9ElYKB0dldFRhc2sSFi5hcGkudjEuR2V0VGFza1JlcXVlc3QaFy5hcGkudjEuR2V0VGFza1Jlc3BvbnNlIhqC0+STAhQSEi9hcGkvdjEvdGFza3Mve2lkfRJpCg1HZXRUYXNrQnlVVUlEEhwuYXBpLnYxLkdldFRhc2tCeVVVSURSZXF1ZXN0GhcuYXBpLnYxLkdldFRhc2tSZXNwb25zZSIhgtPkkwIbEhkvYXBpL3YxL3Rhc2tzL3V1aWQve3V1aWR9ElQKCEdldFRhc2tzEhcuYXBpLnYxLkdldFRhc2tzUmVxdWVzdBoYLmFwaS52MS5HZXRUYXNrc1Jlc3BvbnNlIhWC0+STAg8SDS9hcGkvdjEvdGFza3MSWwoKRGVsZXRlVGFzaxIZLmFwaS52MS5EZWxldGVUYXNrUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIagtPkkwIUKhIvYXBpL3YxL3Rhc2tzL3tpZH0ShwEKEVRyaWdnZXJBSVdvcmtmbG93EiAuYXBpLnYxLlRyaWdnZXJBSVdvcmtmbG93UmVxdWVzdBohLmFwaS52MS5UcmlnZ2VyQUlXb3JrZmxvd1Jlc3BvbnNlIi2C0+STAic6ASoiIi9hcGkvdjEvdGFza3Mve3Rhc2tfaWR9L3RyaWdnZXItYWkScQoKQWRkV29ya0xvZxIZLmFwaS52MS5BZGRXb3JrTG9nUmVxdWVzdBoaLmFwaS52MS5BZGRXb3JrTG9nUmVzcG9uc2UiLILT5JMCJjoBKiIhL2FwaS92MS90YXNrcy97dGFza19pZH0vd29yay1sb2dzEnUKDURlbGV0ZVdvcmtMb2cSHC5hcGkudjEuRGVsZXRlV29ya0xvZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLoLT5JMCKComL2FwaS92MS90YXNrcy97dGFza19pZH0vd29yay1sb2dzL3tpZH0SgQEKDUJ1bGtFZGl0VGFza3MSHC5hcGkudjEuQnVsa0VkaXRUYXNrc1JlcXVlc3QaHS5hcGkudjEuQnVsa0VkaXRUYXNrc1Jlc3BvbnNlIjOC0+STAi06ASoaKC9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Rhc2tzL2J1bGsSjgEKD0J1bGtEZWxldGVUYXNrcxIeLmFwaS52MS5CdWxrRGVsZXRlVGFza3NSZXF1ZXN0Gh8uYXBpLnYxLkJ1bGtEZWxldGVUYXNrc1Jlc3BvbnNlIjqC0+STAjQ6ASoiLy9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Rhc2tzL2J1bGstZGVsZXRlQm4KCmNvbS5hcGkudjFCCVRhc2tQcm90b1ABWhxvcHNlZS9iYWNrZW5kL2dlbi9hcGkvdjE7Z2VuogIDQVhYqgIGQXBpLlYxygIGQXBpXFYx4gISQXBpXFYxXEdQQk1ldGFkYXRh6gIHQXBpOjpWMWIGcHJvdG8z", [file_google_protobuf_empty, file_google_protobuf_timestamp, file_google_api_annotations, file_validate_validate, file_api_v1_pagination, file_api_v1_filter, file_api_v1_models]);
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Describes the message api.v1.AddTaskRequest.
|
package/package.json
CHANGED
package/src/client/api.ts
CHANGED
|
@@ -22,6 +22,10 @@ import { UserService } from "../../gen/api/v1/user_pb.js";
|
|
|
22
22
|
import { VCSIntegrationService } from "../../gen/api/v1/vcs_integration_pb.js";
|
|
23
23
|
import { MilestoneService } from "../../gen/api/v1/milestone_pb.js";
|
|
24
24
|
import { MilestoneTaskService } from "../../gen/api/v1/milestone_task_pb.js";
|
|
25
|
+
import { LabelService } from "../../gen/api/v1/label_pb.js";
|
|
26
|
+
import { TaskLabelService } from "../../gen/api/v1/task_label_pb.js";
|
|
27
|
+
import { CommentService } from "../../gen/api/v1/comment_pb.js";
|
|
28
|
+
import { TaskDependencyService } from "../../gen/api/v1/task_dependency_pb.js";
|
|
25
29
|
|
|
26
30
|
const authInterceptor: Interceptor = (next) => async (req) => {
|
|
27
31
|
// Remote mode: token from AsyncLocalStorage (per-request)
|
|
@@ -97,6 +101,10 @@ export type ApiClients = {
|
|
|
97
101
|
vcsIntegrations: Client<typeof VCSIntegrationService>;
|
|
98
102
|
milestones: Client<typeof MilestoneService>;
|
|
99
103
|
milestoneTasks: Client<typeof MilestoneTaskService>;
|
|
104
|
+
labels: Client<typeof LabelService>;
|
|
105
|
+
taskLabels: Client<typeof TaskLabelService>;
|
|
106
|
+
comments: Client<typeof CommentService>;
|
|
107
|
+
taskDependencies: Client<typeof TaskDependencyService>;
|
|
100
108
|
};
|
|
101
109
|
|
|
102
110
|
export function getClients(): ApiClients {
|
|
@@ -115,6 +123,10 @@ export function getClients(): ApiClients {
|
|
|
115
123
|
vcsIntegrations: makeClient(VCSIntegrationService),
|
|
116
124
|
milestones: makeClient(MilestoneService),
|
|
117
125
|
milestoneTasks: makeClient(MilestoneTaskService),
|
|
126
|
+
labels: makeClient(LabelService),
|
|
127
|
+
taskLabels: makeClient(TaskLabelService),
|
|
128
|
+
comments: makeClient(CommentService),
|
|
129
|
+
taskDependencies: makeClient(TaskDependencyService),
|
|
118
130
|
};
|
|
119
131
|
}
|
|
120
132
|
return cachedClients;
|