github.com/authzed/spicedb@v1.32.1-0.20240520085336-ebda56537386/pkg/proto/dispatch/v1/dispatch.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.33.0 4 // protoc (unknown) 5 // source: dispatch/v1/dispatch.proto 6 7 package dispatchv1 8 9 import ( 10 v1 "github.com/authzed/spicedb/pkg/proto/core/v1" 11 _ "github.com/envoyproxy/protoc-gen-validate/validate" 12 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 13 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 14 durationpb "google.golang.org/protobuf/types/known/durationpb" 15 structpb "google.golang.org/protobuf/types/known/structpb" 16 reflect "reflect" 17 sync "sync" 18 ) 19 20 const ( 21 // Verify that this generated code is sufficiently up-to-date. 22 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 23 // Verify that runtime/protoimpl is sufficiently up-to-date. 24 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 25 ) 26 27 type DispatchCheckRequest_DebugSetting int32 28 29 const ( 30 DispatchCheckRequest_NO_DEBUG DispatchCheckRequest_DebugSetting = 0 31 DispatchCheckRequest_ENABLE_BASIC_DEBUGGING DispatchCheckRequest_DebugSetting = 1 32 DispatchCheckRequest_ENABLE_TRACE_DEBUGGING DispatchCheckRequest_DebugSetting = 2 33 ) 34 35 // Enum value maps for DispatchCheckRequest_DebugSetting. 36 var ( 37 DispatchCheckRequest_DebugSetting_name = map[int32]string{ 38 0: "NO_DEBUG", 39 1: "ENABLE_BASIC_DEBUGGING", 40 2: "ENABLE_TRACE_DEBUGGING", 41 } 42 DispatchCheckRequest_DebugSetting_value = map[string]int32{ 43 "NO_DEBUG": 0, 44 "ENABLE_BASIC_DEBUGGING": 1, 45 "ENABLE_TRACE_DEBUGGING": 2, 46 } 47 ) 48 49 func (x DispatchCheckRequest_DebugSetting) Enum() *DispatchCheckRequest_DebugSetting { 50 p := new(DispatchCheckRequest_DebugSetting) 51 *p = x 52 return p 53 } 54 55 func (x DispatchCheckRequest_DebugSetting) String() string { 56 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 57 } 58 59 func (DispatchCheckRequest_DebugSetting) Descriptor() protoreflect.EnumDescriptor { 60 return file_dispatch_v1_dispatch_proto_enumTypes[0].Descriptor() 61 } 62 63 func (DispatchCheckRequest_DebugSetting) Type() protoreflect.EnumType { 64 return &file_dispatch_v1_dispatch_proto_enumTypes[0] 65 } 66 67 func (x DispatchCheckRequest_DebugSetting) Number() protoreflect.EnumNumber { 68 return protoreflect.EnumNumber(x) 69 } 70 71 // Deprecated: Use DispatchCheckRequest_DebugSetting.Descriptor instead. 72 func (DispatchCheckRequest_DebugSetting) EnumDescriptor() ([]byte, []int) { 73 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{0, 0} 74 } 75 76 type DispatchCheckRequest_ResultsSetting int32 77 78 const ( 79 DispatchCheckRequest_REQUIRE_ALL_RESULTS DispatchCheckRequest_ResultsSetting = 0 80 DispatchCheckRequest_ALLOW_SINGLE_RESULT DispatchCheckRequest_ResultsSetting = 1 81 ) 82 83 // Enum value maps for DispatchCheckRequest_ResultsSetting. 84 var ( 85 DispatchCheckRequest_ResultsSetting_name = map[int32]string{ 86 0: "REQUIRE_ALL_RESULTS", 87 1: "ALLOW_SINGLE_RESULT", 88 } 89 DispatchCheckRequest_ResultsSetting_value = map[string]int32{ 90 "REQUIRE_ALL_RESULTS": 0, 91 "ALLOW_SINGLE_RESULT": 1, 92 } 93 ) 94 95 func (x DispatchCheckRequest_ResultsSetting) Enum() *DispatchCheckRequest_ResultsSetting { 96 p := new(DispatchCheckRequest_ResultsSetting) 97 *p = x 98 return p 99 } 100 101 func (x DispatchCheckRequest_ResultsSetting) String() string { 102 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 103 } 104 105 func (DispatchCheckRequest_ResultsSetting) Descriptor() protoreflect.EnumDescriptor { 106 return file_dispatch_v1_dispatch_proto_enumTypes[1].Descriptor() 107 } 108 109 func (DispatchCheckRequest_ResultsSetting) Type() protoreflect.EnumType { 110 return &file_dispatch_v1_dispatch_proto_enumTypes[1] 111 } 112 113 func (x DispatchCheckRequest_ResultsSetting) Number() protoreflect.EnumNumber { 114 return protoreflect.EnumNumber(x) 115 } 116 117 // Deprecated: Use DispatchCheckRequest_ResultsSetting.Descriptor instead. 118 func (DispatchCheckRequest_ResultsSetting) EnumDescriptor() ([]byte, []int) { 119 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{0, 1} 120 } 121 122 type ResourceCheckResult_Membership int32 123 124 const ( 125 ResourceCheckResult_UNKNOWN ResourceCheckResult_Membership = 0 126 ResourceCheckResult_NOT_MEMBER ResourceCheckResult_Membership = 1 127 ResourceCheckResult_MEMBER ResourceCheckResult_Membership = 2 128 ResourceCheckResult_CAVEATED_MEMBER ResourceCheckResult_Membership = 3 129 ) 130 131 // Enum value maps for ResourceCheckResult_Membership. 132 var ( 133 ResourceCheckResult_Membership_name = map[int32]string{ 134 0: "UNKNOWN", 135 1: "NOT_MEMBER", 136 2: "MEMBER", 137 3: "CAVEATED_MEMBER", 138 } 139 ResourceCheckResult_Membership_value = map[string]int32{ 140 "UNKNOWN": 0, 141 "NOT_MEMBER": 1, 142 "MEMBER": 2, 143 "CAVEATED_MEMBER": 3, 144 } 145 ) 146 147 func (x ResourceCheckResult_Membership) Enum() *ResourceCheckResult_Membership { 148 p := new(ResourceCheckResult_Membership) 149 *p = x 150 return p 151 } 152 153 func (x ResourceCheckResult_Membership) String() string { 154 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 155 } 156 157 func (ResourceCheckResult_Membership) Descriptor() protoreflect.EnumDescriptor { 158 return file_dispatch_v1_dispatch_proto_enumTypes[2].Descriptor() 159 } 160 161 func (ResourceCheckResult_Membership) Type() protoreflect.EnumType { 162 return &file_dispatch_v1_dispatch_proto_enumTypes[2] 163 } 164 165 func (x ResourceCheckResult_Membership) Number() protoreflect.EnumNumber { 166 return protoreflect.EnumNumber(x) 167 } 168 169 // Deprecated: Use ResourceCheckResult_Membership.Descriptor instead. 170 func (ResourceCheckResult_Membership) EnumDescriptor() ([]byte, []int) { 171 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{2, 0} 172 } 173 174 type DispatchExpandRequest_ExpansionMode int32 175 176 const ( 177 DispatchExpandRequest_SHALLOW DispatchExpandRequest_ExpansionMode = 0 178 DispatchExpandRequest_RECURSIVE DispatchExpandRequest_ExpansionMode = 1 179 ) 180 181 // Enum value maps for DispatchExpandRequest_ExpansionMode. 182 var ( 183 DispatchExpandRequest_ExpansionMode_name = map[int32]string{ 184 0: "SHALLOW", 185 1: "RECURSIVE", 186 } 187 DispatchExpandRequest_ExpansionMode_value = map[string]int32{ 188 "SHALLOW": 0, 189 "RECURSIVE": 1, 190 } 191 ) 192 193 func (x DispatchExpandRequest_ExpansionMode) Enum() *DispatchExpandRequest_ExpansionMode { 194 p := new(DispatchExpandRequest_ExpansionMode) 195 *p = x 196 return p 197 } 198 199 func (x DispatchExpandRequest_ExpansionMode) String() string { 200 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 201 } 202 203 func (DispatchExpandRequest_ExpansionMode) Descriptor() protoreflect.EnumDescriptor { 204 return file_dispatch_v1_dispatch_proto_enumTypes[3].Descriptor() 205 } 206 207 func (DispatchExpandRequest_ExpansionMode) Type() protoreflect.EnumType { 208 return &file_dispatch_v1_dispatch_proto_enumTypes[3] 209 } 210 211 func (x DispatchExpandRequest_ExpansionMode) Number() protoreflect.EnumNumber { 212 return protoreflect.EnumNumber(x) 213 } 214 215 // Deprecated: Use DispatchExpandRequest_ExpansionMode.Descriptor instead. 216 func (DispatchExpandRequest_ExpansionMode) EnumDescriptor() ([]byte, []int) { 217 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{3, 0} 218 } 219 220 type ReachableResource_ResultStatus int32 221 222 const ( 223 // * 224 // REQUIRES_CHECK indicates that the resource is reachable but a Check is required to 225 // determine if the resource is actually found for the user. 226 ReachableResource_REQUIRES_CHECK ReachableResource_ResultStatus = 0 227 // * 228 // HAS_PERMISSION indicates that the resource is both reachable and found for the permission 229 // for the subject. 230 ReachableResource_HAS_PERMISSION ReachableResource_ResultStatus = 1 231 ) 232 233 // Enum value maps for ReachableResource_ResultStatus. 234 var ( 235 ReachableResource_ResultStatus_name = map[int32]string{ 236 0: "REQUIRES_CHECK", 237 1: "HAS_PERMISSION", 238 } 239 ReachableResource_ResultStatus_value = map[string]int32{ 240 "REQUIRES_CHECK": 0, 241 "HAS_PERMISSION": 1, 242 } 243 ) 244 245 func (x ReachableResource_ResultStatus) Enum() *ReachableResource_ResultStatus { 246 p := new(ReachableResource_ResultStatus) 247 *p = x 248 return p 249 } 250 251 func (x ReachableResource_ResultStatus) String() string { 252 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 253 } 254 255 func (ReachableResource_ResultStatus) Descriptor() protoreflect.EnumDescriptor { 256 return file_dispatch_v1_dispatch_proto_enumTypes[4].Descriptor() 257 } 258 259 func (ReachableResource_ResultStatus) Type() protoreflect.EnumType { 260 return &file_dispatch_v1_dispatch_proto_enumTypes[4] 261 } 262 263 func (x ReachableResource_ResultStatus) Number() protoreflect.EnumNumber { 264 return protoreflect.EnumNumber(x) 265 } 266 267 // Deprecated: Use ReachableResource_ResultStatus.Descriptor instead. 268 func (ReachableResource_ResultStatus) EnumDescriptor() ([]byte, []int) { 269 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{7, 0} 270 } 271 272 type ResolvedResource_Permissionship int32 273 274 const ( 275 ResolvedResource_UNKNOWN ResolvedResource_Permissionship = 0 276 ResolvedResource_HAS_PERMISSION ResolvedResource_Permissionship = 1 277 ResolvedResource_CONDITIONALLY_HAS_PERMISSION ResolvedResource_Permissionship = 2 278 ) 279 280 // Enum value maps for ResolvedResource_Permissionship. 281 var ( 282 ResolvedResource_Permissionship_name = map[int32]string{ 283 0: "UNKNOWN", 284 1: "HAS_PERMISSION", 285 2: "CONDITIONALLY_HAS_PERMISSION", 286 } 287 ResolvedResource_Permissionship_value = map[string]int32{ 288 "UNKNOWN": 0, 289 "HAS_PERMISSION": 1, 290 "CONDITIONALLY_HAS_PERMISSION": 2, 291 } 292 ) 293 294 func (x ResolvedResource_Permissionship) Enum() *ResolvedResource_Permissionship { 295 p := new(ResolvedResource_Permissionship) 296 *p = x 297 return p 298 } 299 300 func (x ResolvedResource_Permissionship) String() string { 301 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 302 } 303 304 func (ResolvedResource_Permissionship) Descriptor() protoreflect.EnumDescriptor { 305 return file_dispatch_v1_dispatch_proto_enumTypes[5].Descriptor() 306 } 307 308 func (ResolvedResource_Permissionship) Type() protoreflect.EnumType { 309 return &file_dispatch_v1_dispatch_proto_enumTypes[5] 310 } 311 312 func (x ResolvedResource_Permissionship) Number() protoreflect.EnumNumber { 313 return protoreflect.EnumNumber(x) 314 } 315 316 // Deprecated: Use ResolvedResource_Permissionship.Descriptor instead. 317 func (ResolvedResource_Permissionship) EnumDescriptor() ([]byte, []int) { 318 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{10, 0} 319 } 320 321 type CheckDebugTrace_RelationType int32 322 323 const ( 324 CheckDebugTrace_UNKNOWN CheckDebugTrace_RelationType = 0 325 CheckDebugTrace_RELATION CheckDebugTrace_RelationType = 1 326 CheckDebugTrace_PERMISSION CheckDebugTrace_RelationType = 2 327 ) 328 329 // Enum value maps for CheckDebugTrace_RelationType. 330 var ( 331 CheckDebugTrace_RelationType_name = map[int32]string{ 332 0: "UNKNOWN", 333 1: "RELATION", 334 2: "PERMISSION", 335 } 336 CheckDebugTrace_RelationType_value = map[string]int32{ 337 "UNKNOWN": 0, 338 "RELATION": 1, 339 "PERMISSION": 2, 340 } 341 ) 342 343 func (x CheckDebugTrace_RelationType) Enum() *CheckDebugTrace_RelationType { 344 p := new(CheckDebugTrace_RelationType) 345 *p = x 346 return p 347 } 348 349 func (x CheckDebugTrace_RelationType) String() string { 350 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 351 } 352 353 func (CheckDebugTrace_RelationType) Descriptor() protoreflect.EnumDescriptor { 354 return file_dispatch_v1_dispatch_proto_enumTypes[6].Descriptor() 355 } 356 357 func (CheckDebugTrace_RelationType) Type() protoreflect.EnumType { 358 return &file_dispatch_v1_dispatch_proto_enumTypes[6] 359 } 360 361 func (x CheckDebugTrace_RelationType) Number() protoreflect.EnumNumber { 362 return protoreflect.EnumNumber(x) 363 } 364 365 // Deprecated: Use CheckDebugTrace_RelationType.Descriptor instead. 366 func (CheckDebugTrace_RelationType) EnumDescriptor() ([]byte, []int) { 367 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{19, 0} 368 } 369 370 type DispatchCheckRequest struct { 371 state protoimpl.MessageState 372 sizeCache protoimpl.SizeCache 373 unknownFields protoimpl.UnknownFields 374 375 Metadata *ResolverMeta `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` 376 ResourceRelation *v1.RelationReference `protobuf:"bytes,2,opt,name=resource_relation,json=resourceRelation,proto3" json:"resource_relation,omitempty"` 377 ResourceIds []string `protobuf:"bytes,3,rep,name=resource_ids,json=resourceIds,proto3" json:"resource_ids,omitempty"` 378 Subject *v1.ObjectAndRelation `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` 379 ResultsSetting DispatchCheckRequest_ResultsSetting `protobuf:"varint,5,opt,name=results_setting,json=resultsSetting,proto3,enum=dispatch.v1.DispatchCheckRequest_ResultsSetting" json:"results_setting,omitempty"` 380 Debug DispatchCheckRequest_DebugSetting `protobuf:"varint,6,opt,name=debug,proto3,enum=dispatch.v1.DispatchCheckRequest_DebugSetting" json:"debug,omitempty"` 381 } 382 383 func (x *DispatchCheckRequest) Reset() { 384 *x = DispatchCheckRequest{} 385 if protoimpl.UnsafeEnabled { 386 mi := &file_dispatch_v1_dispatch_proto_msgTypes[0] 387 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 388 ms.StoreMessageInfo(mi) 389 } 390 } 391 392 func (x *DispatchCheckRequest) String() string { 393 return protoimpl.X.MessageStringOf(x) 394 } 395 396 func (*DispatchCheckRequest) ProtoMessage() {} 397 398 func (x *DispatchCheckRequest) ProtoReflect() protoreflect.Message { 399 mi := &file_dispatch_v1_dispatch_proto_msgTypes[0] 400 if protoimpl.UnsafeEnabled && x != nil { 401 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 402 if ms.LoadMessageInfo() == nil { 403 ms.StoreMessageInfo(mi) 404 } 405 return ms 406 } 407 return mi.MessageOf(x) 408 } 409 410 // Deprecated: Use DispatchCheckRequest.ProtoReflect.Descriptor instead. 411 func (*DispatchCheckRequest) Descriptor() ([]byte, []int) { 412 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{0} 413 } 414 415 func (x *DispatchCheckRequest) GetMetadata() *ResolverMeta { 416 if x != nil { 417 return x.Metadata 418 } 419 return nil 420 } 421 422 func (x *DispatchCheckRequest) GetResourceRelation() *v1.RelationReference { 423 if x != nil { 424 return x.ResourceRelation 425 } 426 return nil 427 } 428 429 func (x *DispatchCheckRequest) GetResourceIds() []string { 430 if x != nil { 431 return x.ResourceIds 432 } 433 return nil 434 } 435 436 func (x *DispatchCheckRequest) GetSubject() *v1.ObjectAndRelation { 437 if x != nil { 438 return x.Subject 439 } 440 return nil 441 } 442 443 func (x *DispatchCheckRequest) GetResultsSetting() DispatchCheckRequest_ResultsSetting { 444 if x != nil { 445 return x.ResultsSetting 446 } 447 return DispatchCheckRequest_REQUIRE_ALL_RESULTS 448 } 449 450 func (x *DispatchCheckRequest) GetDebug() DispatchCheckRequest_DebugSetting { 451 if x != nil { 452 return x.Debug 453 } 454 return DispatchCheckRequest_NO_DEBUG 455 } 456 457 type DispatchCheckResponse struct { 458 state protoimpl.MessageState 459 sizeCache protoimpl.SizeCache 460 unknownFields protoimpl.UnknownFields 461 462 Metadata *ResponseMeta `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` 463 ResultsByResourceId map[string]*ResourceCheckResult `protobuf:"bytes,2,rep,name=results_by_resource_id,json=resultsByResourceId,proto3" json:"results_by_resource_id,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 464 } 465 466 func (x *DispatchCheckResponse) Reset() { 467 *x = DispatchCheckResponse{} 468 if protoimpl.UnsafeEnabled { 469 mi := &file_dispatch_v1_dispatch_proto_msgTypes[1] 470 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 471 ms.StoreMessageInfo(mi) 472 } 473 } 474 475 func (x *DispatchCheckResponse) String() string { 476 return protoimpl.X.MessageStringOf(x) 477 } 478 479 func (*DispatchCheckResponse) ProtoMessage() {} 480 481 func (x *DispatchCheckResponse) ProtoReflect() protoreflect.Message { 482 mi := &file_dispatch_v1_dispatch_proto_msgTypes[1] 483 if protoimpl.UnsafeEnabled && x != nil { 484 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 485 if ms.LoadMessageInfo() == nil { 486 ms.StoreMessageInfo(mi) 487 } 488 return ms 489 } 490 return mi.MessageOf(x) 491 } 492 493 // Deprecated: Use DispatchCheckResponse.ProtoReflect.Descriptor instead. 494 func (*DispatchCheckResponse) Descriptor() ([]byte, []int) { 495 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{1} 496 } 497 498 func (x *DispatchCheckResponse) GetMetadata() *ResponseMeta { 499 if x != nil { 500 return x.Metadata 501 } 502 return nil 503 } 504 505 func (x *DispatchCheckResponse) GetResultsByResourceId() map[string]*ResourceCheckResult { 506 if x != nil { 507 return x.ResultsByResourceId 508 } 509 return nil 510 } 511 512 type ResourceCheckResult struct { 513 state protoimpl.MessageState 514 sizeCache protoimpl.SizeCache 515 unknownFields protoimpl.UnknownFields 516 517 Membership ResourceCheckResult_Membership `protobuf:"varint,1,opt,name=membership,proto3,enum=dispatch.v1.ResourceCheckResult_Membership" json:"membership,omitempty"` 518 Expression *v1.CaveatExpression `protobuf:"bytes,2,opt,name=expression,proto3" json:"expression,omitempty"` 519 MissingExprFields []string `protobuf:"bytes,3,rep,name=missing_expr_fields,json=missingExprFields,proto3" json:"missing_expr_fields,omitempty"` 520 } 521 522 func (x *ResourceCheckResult) Reset() { 523 *x = ResourceCheckResult{} 524 if protoimpl.UnsafeEnabled { 525 mi := &file_dispatch_v1_dispatch_proto_msgTypes[2] 526 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 527 ms.StoreMessageInfo(mi) 528 } 529 } 530 531 func (x *ResourceCheckResult) String() string { 532 return protoimpl.X.MessageStringOf(x) 533 } 534 535 func (*ResourceCheckResult) ProtoMessage() {} 536 537 func (x *ResourceCheckResult) ProtoReflect() protoreflect.Message { 538 mi := &file_dispatch_v1_dispatch_proto_msgTypes[2] 539 if protoimpl.UnsafeEnabled && x != nil { 540 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 541 if ms.LoadMessageInfo() == nil { 542 ms.StoreMessageInfo(mi) 543 } 544 return ms 545 } 546 return mi.MessageOf(x) 547 } 548 549 // Deprecated: Use ResourceCheckResult.ProtoReflect.Descriptor instead. 550 func (*ResourceCheckResult) Descriptor() ([]byte, []int) { 551 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{2} 552 } 553 554 func (x *ResourceCheckResult) GetMembership() ResourceCheckResult_Membership { 555 if x != nil { 556 return x.Membership 557 } 558 return ResourceCheckResult_UNKNOWN 559 } 560 561 func (x *ResourceCheckResult) GetExpression() *v1.CaveatExpression { 562 if x != nil { 563 return x.Expression 564 } 565 return nil 566 } 567 568 func (x *ResourceCheckResult) GetMissingExprFields() []string { 569 if x != nil { 570 return x.MissingExprFields 571 } 572 return nil 573 } 574 575 type DispatchExpandRequest struct { 576 state protoimpl.MessageState 577 sizeCache protoimpl.SizeCache 578 unknownFields protoimpl.UnknownFields 579 580 Metadata *ResolverMeta `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` 581 ResourceAndRelation *v1.ObjectAndRelation `protobuf:"bytes,2,opt,name=resource_and_relation,json=resourceAndRelation,proto3" json:"resource_and_relation,omitempty"` 582 ExpansionMode DispatchExpandRequest_ExpansionMode `protobuf:"varint,3,opt,name=expansion_mode,json=expansionMode,proto3,enum=dispatch.v1.DispatchExpandRequest_ExpansionMode" json:"expansion_mode,omitempty"` 583 } 584 585 func (x *DispatchExpandRequest) Reset() { 586 *x = DispatchExpandRequest{} 587 if protoimpl.UnsafeEnabled { 588 mi := &file_dispatch_v1_dispatch_proto_msgTypes[3] 589 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 590 ms.StoreMessageInfo(mi) 591 } 592 } 593 594 func (x *DispatchExpandRequest) String() string { 595 return protoimpl.X.MessageStringOf(x) 596 } 597 598 func (*DispatchExpandRequest) ProtoMessage() {} 599 600 func (x *DispatchExpandRequest) ProtoReflect() protoreflect.Message { 601 mi := &file_dispatch_v1_dispatch_proto_msgTypes[3] 602 if protoimpl.UnsafeEnabled && x != nil { 603 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 604 if ms.LoadMessageInfo() == nil { 605 ms.StoreMessageInfo(mi) 606 } 607 return ms 608 } 609 return mi.MessageOf(x) 610 } 611 612 // Deprecated: Use DispatchExpandRequest.ProtoReflect.Descriptor instead. 613 func (*DispatchExpandRequest) Descriptor() ([]byte, []int) { 614 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{3} 615 } 616 617 func (x *DispatchExpandRequest) GetMetadata() *ResolverMeta { 618 if x != nil { 619 return x.Metadata 620 } 621 return nil 622 } 623 624 func (x *DispatchExpandRequest) GetResourceAndRelation() *v1.ObjectAndRelation { 625 if x != nil { 626 return x.ResourceAndRelation 627 } 628 return nil 629 } 630 631 func (x *DispatchExpandRequest) GetExpansionMode() DispatchExpandRequest_ExpansionMode { 632 if x != nil { 633 return x.ExpansionMode 634 } 635 return DispatchExpandRequest_SHALLOW 636 } 637 638 type DispatchExpandResponse struct { 639 state protoimpl.MessageState 640 sizeCache protoimpl.SizeCache 641 unknownFields protoimpl.UnknownFields 642 643 Metadata *ResponseMeta `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` 644 TreeNode *v1.RelationTupleTreeNode `protobuf:"bytes,2,opt,name=tree_node,json=treeNode,proto3" json:"tree_node,omitempty"` 645 } 646 647 func (x *DispatchExpandResponse) Reset() { 648 *x = DispatchExpandResponse{} 649 if protoimpl.UnsafeEnabled { 650 mi := &file_dispatch_v1_dispatch_proto_msgTypes[4] 651 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 652 ms.StoreMessageInfo(mi) 653 } 654 } 655 656 func (x *DispatchExpandResponse) String() string { 657 return protoimpl.X.MessageStringOf(x) 658 } 659 660 func (*DispatchExpandResponse) ProtoMessage() {} 661 662 func (x *DispatchExpandResponse) ProtoReflect() protoreflect.Message { 663 mi := &file_dispatch_v1_dispatch_proto_msgTypes[4] 664 if protoimpl.UnsafeEnabled && x != nil { 665 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 666 if ms.LoadMessageInfo() == nil { 667 ms.StoreMessageInfo(mi) 668 } 669 return ms 670 } 671 return mi.MessageOf(x) 672 } 673 674 // Deprecated: Use DispatchExpandResponse.ProtoReflect.Descriptor instead. 675 func (*DispatchExpandResponse) Descriptor() ([]byte, []int) { 676 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{4} 677 } 678 679 func (x *DispatchExpandResponse) GetMetadata() *ResponseMeta { 680 if x != nil { 681 return x.Metadata 682 } 683 return nil 684 } 685 686 func (x *DispatchExpandResponse) GetTreeNode() *v1.RelationTupleTreeNode { 687 if x != nil { 688 return x.TreeNode 689 } 690 return nil 691 } 692 693 type Cursor struct { 694 state protoimpl.MessageState 695 sizeCache protoimpl.SizeCache 696 unknownFields protoimpl.UnknownFields 697 698 Sections []string `protobuf:"bytes,2,rep,name=sections,proto3" json:"sections,omitempty"` 699 DispatchVersion uint32 `protobuf:"varint,3,opt,name=dispatch_version,json=dispatchVersion,proto3" json:"dispatch_version,omitempty"` 700 } 701 702 func (x *Cursor) Reset() { 703 *x = Cursor{} 704 if protoimpl.UnsafeEnabled { 705 mi := &file_dispatch_v1_dispatch_proto_msgTypes[5] 706 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 707 ms.StoreMessageInfo(mi) 708 } 709 } 710 711 func (x *Cursor) String() string { 712 return protoimpl.X.MessageStringOf(x) 713 } 714 715 func (*Cursor) ProtoMessage() {} 716 717 func (x *Cursor) ProtoReflect() protoreflect.Message { 718 mi := &file_dispatch_v1_dispatch_proto_msgTypes[5] 719 if protoimpl.UnsafeEnabled && x != nil { 720 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 721 if ms.LoadMessageInfo() == nil { 722 ms.StoreMessageInfo(mi) 723 } 724 return ms 725 } 726 return mi.MessageOf(x) 727 } 728 729 // Deprecated: Use Cursor.ProtoReflect.Descriptor instead. 730 func (*Cursor) Descriptor() ([]byte, []int) { 731 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{5} 732 } 733 734 func (x *Cursor) GetSections() []string { 735 if x != nil { 736 return x.Sections 737 } 738 return nil 739 } 740 741 func (x *Cursor) GetDispatchVersion() uint32 { 742 if x != nil { 743 return x.DispatchVersion 744 } 745 return 0 746 } 747 748 type DispatchReachableResourcesRequest struct { 749 state protoimpl.MessageState 750 sizeCache protoimpl.SizeCache 751 unknownFields protoimpl.UnknownFields 752 753 Metadata *ResolverMeta `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` 754 ResourceRelation *v1.RelationReference `protobuf:"bytes,2,opt,name=resource_relation,json=resourceRelation,proto3" json:"resource_relation,omitempty"` 755 SubjectRelation *v1.RelationReference `protobuf:"bytes,3,opt,name=subject_relation,json=subjectRelation,proto3" json:"subject_relation,omitempty"` 756 SubjectIds []string `protobuf:"bytes,4,rep,name=subject_ids,json=subjectIds,proto3" json:"subject_ids,omitempty"` 757 // optional_cursor, if the specified, is the cursor at which to resume returning results. Note 758 // that reachableresources can return duplicates. 759 OptionalCursor *Cursor `protobuf:"bytes,5,opt,name=optional_cursor,json=optionalCursor,proto3" json:"optional_cursor,omitempty"` 760 // optional_limit, if given, specifies a limit on the number of resources returned. 761 OptionalLimit uint32 `protobuf:"varint,6,opt,name=optional_limit,json=optionalLimit,proto3" json:"optional_limit,omitempty"` 762 } 763 764 func (x *DispatchReachableResourcesRequest) Reset() { 765 *x = DispatchReachableResourcesRequest{} 766 if protoimpl.UnsafeEnabled { 767 mi := &file_dispatch_v1_dispatch_proto_msgTypes[6] 768 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 769 ms.StoreMessageInfo(mi) 770 } 771 } 772 773 func (x *DispatchReachableResourcesRequest) String() string { 774 return protoimpl.X.MessageStringOf(x) 775 } 776 777 func (*DispatchReachableResourcesRequest) ProtoMessage() {} 778 779 func (x *DispatchReachableResourcesRequest) ProtoReflect() protoreflect.Message { 780 mi := &file_dispatch_v1_dispatch_proto_msgTypes[6] 781 if protoimpl.UnsafeEnabled && x != nil { 782 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 783 if ms.LoadMessageInfo() == nil { 784 ms.StoreMessageInfo(mi) 785 } 786 return ms 787 } 788 return mi.MessageOf(x) 789 } 790 791 // Deprecated: Use DispatchReachableResourcesRequest.ProtoReflect.Descriptor instead. 792 func (*DispatchReachableResourcesRequest) Descriptor() ([]byte, []int) { 793 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{6} 794 } 795 796 func (x *DispatchReachableResourcesRequest) GetMetadata() *ResolverMeta { 797 if x != nil { 798 return x.Metadata 799 } 800 return nil 801 } 802 803 func (x *DispatchReachableResourcesRequest) GetResourceRelation() *v1.RelationReference { 804 if x != nil { 805 return x.ResourceRelation 806 } 807 return nil 808 } 809 810 func (x *DispatchReachableResourcesRequest) GetSubjectRelation() *v1.RelationReference { 811 if x != nil { 812 return x.SubjectRelation 813 } 814 return nil 815 } 816 817 func (x *DispatchReachableResourcesRequest) GetSubjectIds() []string { 818 if x != nil { 819 return x.SubjectIds 820 } 821 return nil 822 } 823 824 func (x *DispatchReachableResourcesRequest) GetOptionalCursor() *Cursor { 825 if x != nil { 826 return x.OptionalCursor 827 } 828 return nil 829 } 830 831 func (x *DispatchReachableResourcesRequest) GetOptionalLimit() uint32 { 832 if x != nil { 833 return x.OptionalLimit 834 } 835 return 0 836 } 837 838 type ReachableResource struct { 839 state protoimpl.MessageState 840 sizeCache protoimpl.SizeCache 841 unknownFields protoimpl.UnknownFields 842 843 ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` 844 ResultStatus ReachableResource_ResultStatus `protobuf:"varint,2,opt,name=result_status,json=resultStatus,proto3,enum=dispatch.v1.ReachableResource_ResultStatus" json:"result_status,omitempty"` 845 ForSubjectIds []string `protobuf:"bytes,3,rep,name=for_subject_ids,json=forSubjectIds,proto3" json:"for_subject_ids,omitempty"` 846 } 847 848 func (x *ReachableResource) Reset() { 849 *x = ReachableResource{} 850 if protoimpl.UnsafeEnabled { 851 mi := &file_dispatch_v1_dispatch_proto_msgTypes[7] 852 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 853 ms.StoreMessageInfo(mi) 854 } 855 } 856 857 func (x *ReachableResource) String() string { 858 return protoimpl.X.MessageStringOf(x) 859 } 860 861 func (*ReachableResource) ProtoMessage() {} 862 863 func (x *ReachableResource) ProtoReflect() protoreflect.Message { 864 mi := &file_dispatch_v1_dispatch_proto_msgTypes[7] 865 if protoimpl.UnsafeEnabled && x != nil { 866 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 867 if ms.LoadMessageInfo() == nil { 868 ms.StoreMessageInfo(mi) 869 } 870 return ms 871 } 872 return mi.MessageOf(x) 873 } 874 875 // Deprecated: Use ReachableResource.ProtoReflect.Descriptor instead. 876 func (*ReachableResource) Descriptor() ([]byte, []int) { 877 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{7} 878 } 879 880 func (x *ReachableResource) GetResourceId() string { 881 if x != nil { 882 return x.ResourceId 883 } 884 return "" 885 } 886 887 func (x *ReachableResource) GetResultStatus() ReachableResource_ResultStatus { 888 if x != nil { 889 return x.ResultStatus 890 } 891 return ReachableResource_REQUIRES_CHECK 892 } 893 894 func (x *ReachableResource) GetForSubjectIds() []string { 895 if x != nil { 896 return x.ForSubjectIds 897 } 898 return nil 899 } 900 901 type DispatchReachableResourcesResponse struct { 902 state protoimpl.MessageState 903 sizeCache protoimpl.SizeCache 904 unknownFields protoimpl.UnknownFields 905 906 Resource *ReachableResource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` 907 Metadata *ResponseMeta `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` 908 AfterResponseCursor *Cursor `protobuf:"bytes,3,opt,name=after_response_cursor,json=afterResponseCursor,proto3" json:"after_response_cursor,omitempty"` 909 } 910 911 func (x *DispatchReachableResourcesResponse) Reset() { 912 *x = DispatchReachableResourcesResponse{} 913 if protoimpl.UnsafeEnabled { 914 mi := &file_dispatch_v1_dispatch_proto_msgTypes[8] 915 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 916 ms.StoreMessageInfo(mi) 917 } 918 } 919 920 func (x *DispatchReachableResourcesResponse) String() string { 921 return protoimpl.X.MessageStringOf(x) 922 } 923 924 func (*DispatchReachableResourcesResponse) ProtoMessage() {} 925 926 func (x *DispatchReachableResourcesResponse) ProtoReflect() protoreflect.Message { 927 mi := &file_dispatch_v1_dispatch_proto_msgTypes[8] 928 if protoimpl.UnsafeEnabled && x != nil { 929 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 930 if ms.LoadMessageInfo() == nil { 931 ms.StoreMessageInfo(mi) 932 } 933 return ms 934 } 935 return mi.MessageOf(x) 936 } 937 938 // Deprecated: Use DispatchReachableResourcesResponse.ProtoReflect.Descriptor instead. 939 func (*DispatchReachableResourcesResponse) Descriptor() ([]byte, []int) { 940 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{8} 941 } 942 943 func (x *DispatchReachableResourcesResponse) GetResource() *ReachableResource { 944 if x != nil { 945 return x.Resource 946 } 947 return nil 948 } 949 950 func (x *DispatchReachableResourcesResponse) GetMetadata() *ResponseMeta { 951 if x != nil { 952 return x.Metadata 953 } 954 return nil 955 } 956 957 func (x *DispatchReachableResourcesResponse) GetAfterResponseCursor() *Cursor { 958 if x != nil { 959 return x.AfterResponseCursor 960 } 961 return nil 962 } 963 964 type DispatchLookupResourcesRequest struct { 965 state protoimpl.MessageState 966 sizeCache protoimpl.SizeCache 967 unknownFields protoimpl.UnknownFields 968 969 Metadata *ResolverMeta `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` 970 ObjectRelation *v1.RelationReference `protobuf:"bytes,2,opt,name=object_relation,json=objectRelation,proto3" json:"object_relation,omitempty"` 971 Subject *v1.ObjectAndRelation `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"` 972 Context *structpb.Struct `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"` 973 // optional_limit, if given, specifies a limit on the number of resources returned. 974 OptionalLimit uint32 `protobuf:"varint,4,opt,name=optional_limit,json=optionalLimit,proto3" json:"optional_limit,omitempty"` 975 // optional_cursor, if the specified, is the cursor at which to resume returning results. Note 976 // that lookupresources can return duplicates. 977 OptionalCursor *Cursor `protobuf:"bytes,6,opt,name=optional_cursor,json=optionalCursor,proto3" json:"optional_cursor,omitempty"` 978 } 979 980 func (x *DispatchLookupResourcesRequest) Reset() { 981 *x = DispatchLookupResourcesRequest{} 982 if protoimpl.UnsafeEnabled { 983 mi := &file_dispatch_v1_dispatch_proto_msgTypes[9] 984 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 985 ms.StoreMessageInfo(mi) 986 } 987 } 988 989 func (x *DispatchLookupResourcesRequest) String() string { 990 return protoimpl.X.MessageStringOf(x) 991 } 992 993 func (*DispatchLookupResourcesRequest) ProtoMessage() {} 994 995 func (x *DispatchLookupResourcesRequest) ProtoReflect() protoreflect.Message { 996 mi := &file_dispatch_v1_dispatch_proto_msgTypes[9] 997 if protoimpl.UnsafeEnabled && x != nil { 998 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 999 if ms.LoadMessageInfo() == nil { 1000 ms.StoreMessageInfo(mi) 1001 } 1002 return ms 1003 } 1004 return mi.MessageOf(x) 1005 } 1006 1007 // Deprecated: Use DispatchLookupResourcesRequest.ProtoReflect.Descriptor instead. 1008 func (*DispatchLookupResourcesRequest) Descriptor() ([]byte, []int) { 1009 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{9} 1010 } 1011 1012 func (x *DispatchLookupResourcesRequest) GetMetadata() *ResolverMeta { 1013 if x != nil { 1014 return x.Metadata 1015 } 1016 return nil 1017 } 1018 1019 func (x *DispatchLookupResourcesRequest) GetObjectRelation() *v1.RelationReference { 1020 if x != nil { 1021 return x.ObjectRelation 1022 } 1023 return nil 1024 } 1025 1026 func (x *DispatchLookupResourcesRequest) GetSubject() *v1.ObjectAndRelation { 1027 if x != nil { 1028 return x.Subject 1029 } 1030 return nil 1031 } 1032 1033 func (x *DispatchLookupResourcesRequest) GetContext() *structpb.Struct { 1034 if x != nil { 1035 return x.Context 1036 } 1037 return nil 1038 } 1039 1040 func (x *DispatchLookupResourcesRequest) GetOptionalLimit() uint32 { 1041 if x != nil { 1042 return x.OptionalLimit 1043 } 1044 return 0 1045 } 1046 1047 func (x *DispatchLookupResourcesRequest) GetOptionalCursor() *Cursor { 1048 if x != nil { 1049 return x.OptionalCursor 1050 } 1051 return nil 1052 } 1053 1054 type ResolvedResource struct { 1055 state protoimpl.MessageState 1056 sizeCache protoimpl.SizeCache 1057 unknownFields protoimpl.UnknownFields 1058 1059 ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` 1060 Permissionship ResolvedResource_Permissionship `protobuf:"varint,2,opt,name=permissionship,proto3,enum=dispatch.v1.ResolvedResource_Permissionship" json:"permissionship,omitempty"` 1061 MissingRequiredContext []string `protobuf:"bytes,3,rep,name=missing_required_context,json=missingRequiredContext,proto3" json:"missing_required_context,omitempty"` 1062 } 1063 1064 func (x *ResolvedResource) Reset() { 1065 *x = ResolvedResource{} 1066 if protoimpl.UnsafeEnabled { 1067 mi := &file_dispatch_v1_dispatch_proto_msgTypes[10] 1068 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1069 ms.StoreMessageInfo(mi) 1070 } 1071 } 1072 1073 func (x *ResolvedResource) String() string { 1074 return protoimpl.X.MessageStringOf(x) 1075 } 1076 1077 func (*ResolvedResource) ProtoMessage() {} 1078 1079 func (x *ResolvedResource) ProtoReflect() protoreflect.Message { 1080 mi := &file_dispatch_v1_dispatch_proto_msgTypes[10] 1081 if protoimpl.UnsafeEnabled && x != nil { 1082 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1083 if ms.LoadMessageInfo() == nil { 1084 ms.StoreMessageInfo(mi) 1085 } 1086 return ms 1087 } 1088 return mi.MessageOf(x) 1089 } 1090 1091 // Deprecated: Use ResolvedResource.ProtoReflect.Descriptor instead. 1092 func (*ResolvedResource) Descriptor() ([]byte, []int) { 1093 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{10} 1094 } 1095 1096 func (x *ResolvedResource) GetResourceId() string { 1097 if x != nil { 1098 return x.ResourceId 1099 } 1100 return "" 1101 } 1102 1103 func (x *ResolvedResource) GetPermissionship() ResolvedResource_Permissionship { 1104 if x != nil { 1105 return x.Permissionship 1106 } 1107 return ResolvedResource_UNKNOWN 1108 } 1109 1110 func (x *ResolvedResource) GetMissingRequiredContext() []string { 1111 if x != nil { 1112 return x.MissingRequiredContext 1113 } 1114 return nil 1115 } 1116 1117 type DispatchLookupResourcesResponse struct { 1118 state protoimpl.MessageState 1119 sizeCache protoimpl.SizeCache 1120 unknownFields protoimpl.UnknownFields 1121 1122 Metadata *ResponseMeta `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` 1123 ResolvedResource *ResolvedResource `protobuf:"bytes,2,opt,name=resolved_resource,json=resolvedResource,proto3" json:"resolved_resource,omitempty"` 1124 AfterResponseCursor *Cursor `protobuf:"bytes,3,opt,name=after_response_cursor,json=afterResponseCursor,proto3" json:"after_response_cursor,omitempty"` 1125 } 1126 1127 func (x *DispatchLookupResourcesResponse) Reset() { 1128 *x = DispatchLookupResourcesResponse{} 1129 if protoimpl.UnsafeEnabled { 1130 mi := &file_dispatch_v1_dispatch_proto_msgTypes[11] 1131 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1132 ms.StoreMessageInfo(mi) 1133 } 1134 } 1135 1136 func (x *DispatchLookupResourcesResponse) String() string { 1137 return protoimpl.X.MessageStringOf(x) 1138 } 1139 1140 func (*DispatchLookupResourcesResponse) ProtoMessage() {} 1141 1142 func (x *DispatchLookupResourcesResponse) ProtoReflect() protoreflect.Message { 1143 mi := &file_dispatch_v1_dispatch_proto_msgTypes[11] 1144 if protoimpl.UnsafeEnabled && x != nil { 1145 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1146 if ms.LoadMessageInfo() == nil { 1147 ms.StoreMessageInfo(mi) 1148 } 1149 return ms 1150 } 1151 return mi.MessageOf(x) 1152 } 1153 1154 // Deprecated: Use DispatchLookupResourcesResponse.ProtoReflect.Descriptor instead. 1155 func (*DispatchLookupResourcesResponse) Descriptor() ([]byte, []int) { 1156 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{11} 1157 } 1158 1159 func (x *DispatchLookupResourcesResponse) GetMetadata() *ResponseMeta { 1160 if x != nil { 1161 return x.Metadata 1162 } 1163 return nil 1164 } 1165 1166 func (x *DispatchLookupResourcesResponse) GetResolvedResource() *ResolvedResource { 1167 if x != nil { 1168 return x.ResolvedResource 1169 } 1170 return nil 1171 } 1172 1173 func (x *DispatchLookupResourcesResponse) GetAfterResponseCursor() *Cursor { 1174 if x != nil { 1175 return x.AfterResponseCursor 1176 } 1177 return nil 1178 } 1179 1180 type DispatchLookupSubjectsRequest struct { 1181 state protoimpl.MessageState 1182 sizeCache protoimpl.SizeCache 1183 unknownFields protoimpl.UnknownFields 1184 1185 Metadata *ResolverMeta `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` 1186 ResourceRelation *v1.RelationReference `protobuf:"bytes,2,opt,name=resource_relation,json=resourceRelation,proto3" json:"resource_relation,omitempty"` 1187 ResourceIds []string `protobuf:"bytes,3,rep,name=resource_ids,json=resourceIds,proto3" json:"resource_ids,omitempty"` 1188 SubjectRelation *v1.RelationReference `protobuf:"bytes,4,opt,name=subject_relation,json=subjectRelation,proto3" json:"subject_relation,omitempty"` 1189 // optional_limit, if given, specifies a limit on the number of subjects returned. Note that the number 1190 // returned may be less than this count. 1191 OptionalLimit uint32 `protobuf:"varint,5,opt,name=optional_limit,json=optionalLimit,proto3" json:"optional_limit,omitempty"` 1192 // optional_cursor, if the specified, is the cursor at which to resume returning results. Note 1193 // that lookupsubjects can return duplicates. 1194 OptionalCursor *Cursor `protobuf:"bytes,6,opt,name=optional_cursor,json=optionalCursor,proto3" json:"optional_cursor,omitempty"` 1195 } 1196 1197 func (x *DispatchLookupSubjectsRequest) Reset() { 1198 *x = DispatchLookupSubjectsRequest{} 1199 if protoimpl.UnsafeEnabled { 1200 mi := &file_dispatch_v1_dispatch_proto_msgTypes[12] 1201 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1202 ms.StoreMessageInfo(mi) 1203 } 1204 } 1205 1206 func (x *DispatchLookupSubjectsRequest) String() string { 1207 return protoimpl.X.MessageStringOf(x) 1208 } 1209 1210 func (*DispatchLookupSubjectsRequest) ProtoMessage() {} 1211 1212 func (x *DispatchLookupSubjectsRequest) ProtoReflect() protoreflect.Message { 1213 mi := &file_dispatch_v1_dispatch_proto_msgTypes[12] 1214 if protoimpl.UnsafeEnabled && x != nil { 1215 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1216 if ms.LoadMessageInfo() == nil { 1217 ms.StoreMessageInfo(mi) 1218 } 1219 return ms 1220 } 1221 return mi.MessageOf(x) 1222 } 1223 1224 // Deprecated: Use DispatchLookupSubjectsRequest.ProtoReflect.Descriptor instead. 1225 func (*DispatchLookupSubjectsRequest) Descriptor() ([]byte, []int) { 1226 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{12} 1227 } 1228 1229 func (x *DispatchLookupSubjectsRequest) GetMetadata() *ResolverMeta { 1230 if x != nil { 1231 return x.Metadata 1232 } 1233 return nil 1234 } 1235 1236 func (x *DispatchLookupSubjectsRequest) GetResourceRelation() *v1.RelationReference { 1237 if x != nil { 1238 return x.ResourceRelation 1239 } 1240 return nil 1241 } 1242 1243 func (x *DispatchLookupSubjectsRequest) GetResourceIds() []string { 1244 if x != nil { 1245 return x.ResourceIds 1246 } 1247 return nil 1248 } 1249 1250 func (x *DispatchLookupSubjectsRequest) GetSubjectRelation() *v1.RelationReference { 1251 if x != nil { 1252 return x.SubjectRelation 1253 } 1254 return nil 1255 } 1256 1257 func (x *DispatchLookupSubjectsRequest) GetOptionalLimit() uint32 { 1258 if x != nil { 1259 return x.OptionalLimit 1260 } 1261 return 0 1262 } 1263 1264 func (x *DispatchLookupSubjectsRequest) GetOptionalCursor() *Cursor { 1265 if x != nil { 1266 return x.OptionalCursor 1267 } 1268 return nil 1269 } 1270 1271 type FoundSubject struct { 1272 state protoimpl.MessageState 1273 sizeCache protoimpl.SizeCache 1274 unknownFields protoimpl.UnknownFields 1275 1276 SubjectId string `protobuf:"bytes,1,opt,name=subject_id,json=subjectId,proto3" json:"subject_id,omitempty"` 1277 CaveatExpression *v1.CaveatExpression `protobuf:"bytes,2,opt,name=caveat_expression,json=caveatExpression,proto3" json:"caveat_expression,omitempty"` 1278 ExcludedSubjects []*FoundSubject `protobuf:"bytes,3,rep,name=excluded_subjects,json=excludedSubjects,proto3" json:"excluded_subjects,omitempty"` 1279 } 1280 1281 func (x *FoundSubject) Reset() { 1282 *x = FoundSubject{} 1283 if protoimpl.UnsafeEnabled { 1284 mi := &file_dispatch_v1_dispatch_proto_msgTypes[13] 1285 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1286 ms.StoreMessageInfo(mi) 1287 } 1288 } 1289 1290 func (x *FoundSubject) String() string { 1291 return protoimpl.X.MessageStringOf(x) 1292 } 1293 1294 func (*FoundSubject) ProtoMessage() {} 1295 1296 func (x *FoundSubject) ProtoReflect() protoreflect.Message { 1297 mi := &file_dispatch_v1_dispatch_proto_msgTypes[13] 1298 if protoimpl.UnsafeEnabled && x != nil { 1299 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1300 if ms.LoadMessageInfo() == nil { 1301 ms.StoreMessageInfo(mi) 1302 } 1303 return ms 1304 } 1305 return mi.MessageOf(x) 1306 } 1307 1308 // Deprecated: Use FoundSubject.ProtoReflect.Descriptor instead. 1309 func (*FoundSubject) Descriptor() ([]byte, []int) { 1310 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{13} 1311 } 1312 1313 func (x *FoundSubject) GetSubjectId() string { 1314 if x != nil { 1315 return x.SubjectId 1316 } 1317 return "" 1318 } 1319 1320 func (x *FoundSubject) GetCaveatExpression() *v1.CaveatExpression { 1321 if x != nil { 1322 return x.CaveatExpression 1323 } 1324 return nil 1325 } 1326 1327 func (x *FoundSubject) GetExcludedSubjects() []*FoundSubject { 1328 if x != nil { 1329 return x.ExcludedSubjects 1330 } 1331 return nil 1332 } 1333 1334 type FoundSubjects struct { 1335 state protoimpl.MessageState 1336 sizeCache protoimpl.SizeCache 1337 unknownFields protoimpl.UnknownFields 1338 1339 FoundSubjects []*FoundSubject `protobuf:"bytes,1,rep,name=found_subjects,json=foundSubjects,proto3" json:"found_subjects,omitempty"` 1340 } 1341 1342 func (x *FoundSubjects) Reset() { 1343 *x = FoundSubjects{} 1344 if protoimpl.UnsafeEnabled { 1345 mi := &file_dispatch_v1_dispatch_proto_msgTypes[14] 1346 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1347 ms.StoreMessageInfo(mi) 1348 } 1349 } 1350 1351 func (x *FoundSubjects) String() string { 1352 return protoimpl.X.MessageStringOf(x) 1353 } 1354 1355 func (*FoundSubjects) ProtoMessage() {} 1356 1357 func (x *FoundSubjects) ProtoReflect() protoreflect.Message { 1358 mi := &file_dispatch_v1_dispatch_proto_msgTypes[14] 1359 if protoimpl.UnsafeEnabled && x != nil { 1360 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1361 if ms.LoadMessageInfo() == nil { 1362 ms.StoreMessageInfo(mi) 1363 } 1364 return ms 1365 } 1366 return mi.MessageOf(x) 1367 } 1368 1369 // Deprecated: Use FoundSubjects.ProtoReflect.Descriptor instead. 1370 func (*FoundSubjects) Descriptor() ([]byte, []int) { 1371 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{14} 1372 } 1373 1374 func (x *FoundSubjects) GetFoundSubjects() []*FoundSubject { 1375 if x != nil { 1376 return x.FoundSubjects 1377 } 1378 return nil 1379 } 1380 1381 type DispatchLookupSubjectsResponse struct { 1382 state protoimpl.MessageState 1383 sizeCache protoimpl.SizeCache 1384 unknownFields protoimpl.UnknownFields 1385 1386 FoundSubjectsByResourceId map[string]*FoundSubjects `protobuf:"bytes,1,rep,name=found_subjects_by_resource_id,json=foundSubjectsByResourceId,proto3" json:"found_subjects_by_resource_id,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1387 Metadata *ResponseMeta `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` 1388 AfterResponseCursor *Cursor `protobuf:"bytes,3,opt,name=after_response_cursor,json=afterResponseCursor,proto3" json:"after_response_cursor,omitempty"` 1389 } 1390 1391 func (x *DispatchLookupSubjectsResponse) Reset() { 1392 *x = DispatchLookupSubjectsResponse{} 1393 if protoimpl.UnsafeEnabled { 1394 mi := &file_dispatch_v1_dispatch_proto_msgTypes[15] 1395 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1396 ms.StoreMessageInfo(mi) 1397 } 1398 } 1399 1400 func (x *DispatchLookupSubjectsResponse) String() string { 1401 return protoimpl.X.MessageStringOf(x) 1402 } 1403 1404 func (*DispatchLookupSubjectsResponse) ProtoMessage() {} 1405 1406 func (x *DispatchLookupSubjectsResponse) ProtoReflect() protoreflect.Message { 1407 mi := &file_dispatch_v1_dispatch_proto_msgTypes[15] 1408 if protoimpl.UnsafeEnabled && x != nil { 1409 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1410 if ms.LoadMessageInfo() == nil { 1411 ms.StoreMessageInfo(mi) 1412 } 1413 return ms 1414 } 1415 return mi.MessageOf(x) 1416 } 1417 1418 // Deprecated: Use DispatchLookupSubjectsResponse.ProtoReflect.Descriptor instead. 1419 func (*DispatchLookupSubjectsResponse) Descriptor() ([]byte, []int) { 1420 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{15} 1421 } 1422 1423 func (x *DispatchLookupSubjectsResponse) GetFoundSubjectsByResourceId() map[string]*FoundSubjects { 1424 if x != nil { 1425 return x.FoundSubjectsByResourceId 1426 } 1427 return nil 1428 } 1429 1430 func (x *DispatchLookupSubjectsResponse) GetMetadata() *ResponseMeta { 1431 if x != nil { 1432 return x.Metadata 1433 } 1434 return nil 1435 } 1436 1437 func (x *DispatchLookupSubjectsResponse) GetAfterResponseCursor() *Cursor { 1438 if x != nil { 1439 return x.AfterResponseCursor 1440 } 1441 return nil 1442 } 1443 1444 type ResolverMeta struct { 1445 state protoimpl.MessageState 1446 sizeCache protoimpl.SizeCache 1447 unknownFields protoimpl.UnknownFields 1448 1449 AtRevision string `protobuf:"bytes,1,opt,name=at_revision,json=atRevision,proto3" json:"at_revision,omitempty"` 1450 DepthRemaining uint32 `protobuf:"varint,2,opt,name=depth_remaining,json=depthRemaining,proto3" json:"depth_remaining,omitempty"` 1451 // Deprecated: Marked as deprecated in dispatch/v1/dispatch.proto. 1452 RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1453 TraversalBloom []byte `protobuf:"bytes,4,opt,name=traversal_bloom,json=traversalBloom,proto3" json:"traversal_bloom,omitempty"` 1454 } 1455 1456 func (x *ResolverMeta) Reset() { 1457 *x = ResolverMeta{} 1458 if protoimpl.UnsafeEnabled { 1459 mi := &file_dispatch_v1_dispatch_proto_msgTypes[16] 1460 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1461 ms.StoreMessageInfo(mi) 1462 } 1463 } 1464 1465 func (x *ResolverMeta) String() string { 1466 return protoimpl.X.MessageStringOf(x) 1467 } 1468 1469 func (*ResolverMeta) ProtoMessage() {} 1470 1471 func (x *ResolverMeta) ProtoReflect() protoreflect.Message { 1472 mi := &file_dispatch_v1_dispatch_proto_msgTypes[16] 1473 if protoimpl.UnsafeEnabled && x != nil { 1474 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1475 if ms.LoadMessageInfo() == nil { 1476 ms.StoreMessageInfo(mi) 1477 } 1478 return ms 1479 } 1480 return mi.MessageOf(x) 1481 } 1482 1483 // Deprecated: Use ResolverMeta.ProtoReflect.Descriptor instead. 1484 func (*ResolverMeta) Descriptor() ([]byte, []int) { 1485 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{16} 1486 } 1487 1488 func (x *ResolverMeta) GetAtRevision() string { 1489 if x != nil { 1490 return x.AtRevision 1491 } 1492 return "" 1493 } 1494 1495 func (x *ResolverMeta) GetDepthRemaining() uint32 { 1496 if x != nil { 1497 return x.DepthRemaining 1498 } 1499 return 0 1500 } 1501 1502 // Deprecated: Marked as deprecated in dispatch/v1/dispatch.proto. 1503 func (x *ResolverMeta) GetRequestId() string { 1504 if x != nil { 1505 return x.RequestId 1506 } 1507 return "" 1508 } 1509 1510 func (x *ResolverMeta) GetTraversalBloom() []byte { 1511 if x != nil { 1512 return x.TraversalBloom 1513 } 1514 return nil 1515 } 1516 1517 type ResponseMeta struct { 1518 state protoimpl.MessageState 1519 sizeCache protoimpl.SizeCache 1520 unknownFields protoimpl.UnknownFields 1521 1522 DispatchCount uint32 `protobuf:"varint,1,opt,name=dispatch_count,json=dispatchCount,proto3" json:"dispatch_count,omitempty"` 1523 DepthRequired uint32 `protobuf:"varint,2,opt,name=depth_required,json=depthRequired,proto3" json:"depth_required,omitempty"` 1524 CachedDispatchCount uint32 `protobuf:"varint,3,opt,name=cached_dispatch_count,json=cachedDispatchCount,proto3" json:"cached_dispatch_count,omitempty"` 1525 DebugInfo *DebugInformation `protobuf:"bytes,6,opt,name=debug_info,json=debugInfo,proto3" json:"debug_info,omitempty"` 1526 } 1527 1528 func (x *ResponseMeta) Reset() { 1529 *x = ResponseMeta{} 1530 if protoimpl.UnsafeEnabled { 1531 mi := &file_dispatch_v1_dispatch_proto_msgTypes[17] 1532 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1533 ms.StoreMessageInfo(mi) 1534 } 1535 } 1536 1537 func (x *ResponseMeta) String() string { 1538 return protoimpl.X.MessageStringOf(x) 1539 } 1540 1541 func (*ResponseMeta) ProtoMessage() {} 1542 1543 func (x *ResponseMeta) ProtoReflect() protoreflect.Message { 1544 mi := &file_dispatch_v1_dispatch_proto_msgTypes[17] 1545 if protoimpl.UnsafeEnabled && x != nil { 1546 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1547 if ms.LoadMessageInfo() == nil { 1548 ms.StoreMessageInfo(mi) 1549 } 1550 return ms 1551 } 1552 return mi.MessageOf(x) 1553 } 1554 1555 // Deprecated: Use ResponseMeta.ProtoReflect.Descriptor instead. 1556 func (*ResponseMeta) Descriptor() ([]byte, []int) { 1557 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{17} 1558 } 1559 1560 func (x *ResponseMeta) GetDispatchCount() uint32 { 1561 if x != nil { 1562 return x.DispatchCount 1563 } 1564 return 0 1565 } 1566 1567 func (x *ResponseMeta) GetDepthRequired() uint32 { 1568 if x != nil { 1569 return x.DepthRequired 1570 } 1571 return 0 1572 } 1573 1574 func (x *ResponseMeta) GetCachedDispatchCount() uint32 { 1575 if x != nil { 1576 return x.CachedDispatchCount 1577 } 1578 return 0 1579 } 1580 1581 func (x *ResponseMeta) GetDebugInfo() *DebugInformation { 1582 if x != nil { 1583 return x.DebugInfo 1584 } 1585 return nil 1586 } 1587 1588 type DebugInformation struct { 1589 state protoimpl.MessageState 1590 sizeCache protoimpl.SizeCache 1591 unknownFields protoimpl.UnknownFields 1592 1593 Check *CheckDebugTrace `protobuf:"bytes,1,opt,name=check,proto3" json:"check,omitempty"` 1594 } 1595 1596 func (x *DebugInformation) Reset() { 1597 *x = DebugInformation{} 1598 if protoimpl.UnsafeEnabled { 1599 mi := &file_dispatch_v1_dispatch_proto_msgTypes[18] 1600 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1601 ms.StoreMessageInfo(mi) 1602 } 1603 } 1604 1605 func (x *DebugInformation) String() string { 1606 return protoimpl.X.MessageStringOf(x) 1607 } 1608 1609 func (*DebugInformation) ProtoMessage() {} 1610 1611 func (x *DebugInformation) ProtoReflect() protoreflect.Message { 1612 mi := &file_dispatch_v1_dispatch_proto_msgTypes[18] 1613 if protoimpl.UnsafeEnabled && x != nil { 1614 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1615 if ms.LoadMessageInfo() == nil { 1616 ms.StoreMessageInfo(mi) 1617 } 1618 return ms 1619 } 1620 return mi.MessageOf(x) 1621 } 1622 1623 // Deprecated: Use DebugInformation.ProtoReflect.Descriptor instead. 1624 func (*DebugInformation) Descriptor() ([]byte, []int) { 1625 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{18} 1626 } 1627 1628 func (x *DebugInformation) GetCheck() *CheckDebugTrace { 1629 if x != nil { 1630 return x.Check 1631 } 1632 return nil 1633 } 1634 1635 type CheckDebugTrace struct { 1636 state protoimpl.MessageState 1637 sizeCache protoimpl.SizeCache 1638 unknownFields protoimpl.UnknownFields 1639 1640 Request *DispatchCheckRequest `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` 1641 ResourceRelationType CheckDebugTrace_RelationType `protobuf:"varint,2,opt,name=resource_relation_type,json=resourceRelationType,proto3,enum=dispatch.v1.CheckDebugTrace_RelationType" json:"resource_relation_type,omitempty"` 1642 Results map[string]*ResourceCheckResult `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1643 IsCachedResult bool `protobuf:"varint,4,opt,name=is_cached_result,json=isCachedResult,proto3" json:"is_cached_result,omitempty"` 1644 SubProblems []*CheckDebugTrace `protobuf:"bytes,5,rep,name=sub_problems,json=subProblems,proto3" json:"sub_problems,omitempty"` 1645 Duration *durationpb.Duration `protobuf:"bytes,6,opt,name=duration,proto3" json:"duration,omitempty"` 1646 } 1647 1648 func (x *CheckDebugTrace) Reset() { 1649 *x = CheckDebugTrace{} 1650 if protoimpl.UnsafeEnabled { 1651 mi := &file_dispatch_v1_dispatch_proto_msgTypes[19] 1652 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1653 ms.StoreMessageInfo(mi) 1654 } 1655 } 1656 1657 func (x *CheckDebugTrace) String() string { 1658 return protoimpl.X.MessageStringOf(x) 1659 } 1660 1661 func (*CheckDebugTrace) ProtoMessage() {} 1662 1663 func (x *CheckDebugTrace) ProtoReflect() protoreflect.Message { 1664 mi := &file_dispatch_v1_dispatch_proto_msgTypes[19] 1665 if protoimpl.UnsafeEnabled && x != nil { 1666 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1667 if ms.LoadMessageInfo() == nil { 1668 ms.StoreMessageInfo(mi) 1669 } 1670 return ms 1671 } 1672 return mi.MessageOf(x) 1673 } 1674 1675 // Deprecated: Use CheckDebugTrace.ProtoReflect.Descriptor instead. 1676 func (*CheckDebugTrace) Descriptor() ([]byte, []int) { 1677 return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{19} 1678 } 1679 1680 func (x *CheckDebugTrace) GetRequest() *DispatchCheckRequest { 1681 if x != nil { 1682 return x.Request 1683 } 1684 return nil 1685 } 1686 1687 func (x *CheckDebugTrace) GetResourceRelationType() CheckDebugTrace_RelationType { 1688 if x != nil { 1689 return x.ResourceRelationType 1690 } 1691 return CheckDebugTrace_UNKNOWN 1692 } 1693 1694 func (x *CheckDebugTrace) GetResults() map[string]*ResourceCheckResult { 1695 if x != nil { 1696 return x.Results 1697 } 1698 return nil 1699 } 1700 1701 func (x *CheckDebugTrace) GetIsCachedResult() bool { 1702 if x != nil { 1703 return x.IsCachedResult 1704 } 1705 return false 1706 } 1707 1708 func (x *CheckDebugTrace) GetSubProblems() []*CheckDebugTrace { 1709 if x != nil { 1710 return x.SubProblems 1711 } 1712 return nil 1713 } 1714 1715 func (x *CheckDebugTrace) GetDuration() *durationpb.Duration { 1716 if x != nil { 1717 return x.Duration 1718 } 1719 return nil 1720 } 1721 1722 var File_dispatch_v1_dispatch_proto protoreflect.FileDescriptor 1723 1724 var file_dispatch_v1_dispatch_proto_rawDesc = []byte{ 1725 0x0a, 0x1a, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x69, 1726 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x64, 0x69, 1727 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x1a, 0x12, 0x63, 0x6f, 0x72, 0x65, 0x2f, 1728 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 1729 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 1730 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 1731 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 1732 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 1733 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 1734 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x04, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 1735 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 1736 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 1737 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 1738 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 1739 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x51, 1740 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 1741 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 1742 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 1743 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 1744 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 1745 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 1746 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 1747 0x65, 0x49, 0x64, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 1748 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 1749 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 1750 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x75, 0x62, 1751 0x6a, 0x65, 0x63, 0x74, 0x12, 0x59, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 1752 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 1753 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 1754 0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 1755 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 1756 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 1757 0x44, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 1758 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 1759 0x70, 0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 1760 0x74, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x05, 1761 0x64, 0x65, 0x62, 0x75, 0x67, 0x22, 0x54, 0x0a, 0x0c, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x65, 1762 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x5f, 0x44, 0x45, 0x42, 0x55, 1763 0x47, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x42, 0x41, 1764 0x53, 0x49, 0x43, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 1765 0x1a, 0x0a, 0x16, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 1766 0x44, 0x45, 0x42, 0x55, 0x47, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0x42, 0x0a, 0x0e, 0x52, 1767 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 1768 0x13, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x45, 0x53, 1769 0x55, 0x4c, 0x54, 0x53, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 1770 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x22, 1771 0xaa, 0x02, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x65, 0x63, 1772 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74, 1773 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 1774 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 1775 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 1776 0x12, 0x70, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x72, 1777 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 1778 0x32, 0x3b, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 1779 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 1780 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 1781 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 1782 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 1783 0x49, 0x64, 0x1a, 0x68, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x52, 1784 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 1785 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 1786 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 1787 0x20, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 1788 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 1789 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x99, 0x02, 0x0a, 1790 0x13, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 1791 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4b, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 1792 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 1793 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 1794 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 1795 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 1796 0x70, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 1797 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 1798 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 1799 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 1800 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x66, 0x69, 0x65, 1801 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x69, 0x73, 0x73, 0x69, 1802 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x4a, 0x0a, 0x0a, 1803 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 1804 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 1805 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x4d, 0x42, 0x45, 1806 0x52, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x41, 0x56, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, 1807 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x03, 0x22, 0xb8, 0x02, 0x0a, 0x15, 0x44, 0x69, 0x73, 1808 0x70, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 1809 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 1810 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 1811 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 1812 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 1813 0x61, 0x74, 0x61, 0x12, 0x58, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 1814 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 1815 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 1816 0x65, 0x63, 0x74, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 1817 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 1818 0x63, 0x65, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 1819 0x0e, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 1820 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 1821 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x70, 0x61, 1822 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 1823 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 1824 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x2b, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 1825 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x48, 0x41, 0x4c, 0x4c, 1826 0x4f, 0x57, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x43, 0x55, 0x52, 0x53, 0x49, 0x56, 1827 0x45, 0x10, 0x01, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 1828 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 1829 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 1830 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 1831 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 1832 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x09, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x6e, 0x6f, 1833 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 1834 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x70, 0x6c, 0x65, 1835 0x54, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x72, 0x65, 0x65, 0x4e, 0x6f, 1836 0x64, 0x65, 0x22, 0x55, 0x0a, 0x06, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 1837 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 1838 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x70, 1839 0x61, 0x74, 0x63, 0x68, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 1840 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x56, 0x65, 0x72, 0x73, 1841 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x8e, 0x03, 0x0a, 0x21, 0x44, 0x69, 1842 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52, 1843 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 1844 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 1845 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 1846 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 1847 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 1848 0x12, 0x51, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 1849 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 1850 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 1851 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 1852 0x01, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 1853 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 1854 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 1855 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1856 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 1857 0x02, 0x10, 0x01, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6c, 0x61, 1858 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 1859 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6a, 0x65, 1860 0x63, 0x74, 0x49, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 1861 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 1862 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 1863 0x73, 0x6f, 0x72, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x75, 0x72, 1864 0x73, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 1865 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x70, 0x74, 1866 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xe6, 0x01, 0x0a, 0x11, 0x52, 1867 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 1868 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 1869 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 1870 0x64, 0x12, 0x50, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 1871 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 1872 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 1873 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 1874 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 1875 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 1876 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x6f, 1877 0x72, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x73, 0x22, 0x36, 0x0a, 0x0c, 0x52, 1878 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x52, 1879 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x00, 0x12, 1880 0x12, 0x0a, 0x0e, 0x48, 0x41, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 1881 0x4e, 0x10, 0x01, 0x22, 0xe0, 0x01, 0x0a, 0x22, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 1882 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 1883 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65, 1884 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 1885 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x68, 1886 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 1887 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 1888 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 1889 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 1890 0x65, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x47, 0x0a, 1891 0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 1892 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 1893 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 1894 0x72, 0x52, 0x13, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 1895 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x88, 0x03, 0x0a, 0x1e, 0x44, 0x69, 0x73, 0x70, 0x61, 1896 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 1897 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 1898 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 1899 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 1900 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 1901 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x0f, 0x6f, 0x62, 1902 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 1903 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 1904 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 1905 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 1906 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x73, 0x75, 0x62, 1907 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 1908 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x64, 0x52, 0x65, 1909 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 1910 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 1911 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 1912 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 1913 0x75, 0x63, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x25, 0x0a, 0x0e, 1914 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 1915 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 1916 0x6d, 0x69, 0x74, 0x12, 0x3c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 1917 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 1918 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 1919 0x72, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x75, 0x72, 0x73, 0x6f, 1920 0x72, 0x22, 0x98, 0x02, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x52, 0x65, 1921 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 1922 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 1923 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69, 1924 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 1925 0x2c, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 1926 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x50, 1927 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x0e, 0x70, 1928 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, 0x38, 0x0a, 1929 0x18, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 1930 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 1931 0x16, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 1932 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x53, 0x0a, 0x0e, 0x50, 0x65, 0x72, 0x6d, 0x69, 1933 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 1934 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x41, 0x53, 0x5f, 0x50, 0x45, 1935 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 1936 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x48, 0x41, 0x53, 0x5f, 1937 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x22, 0xed, 0x01, 0x0a, 1938 0x1f, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 1939 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 1940 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 1941 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 1942 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x6d, 1943 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4a, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x6c, 1944 0x76, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 1945 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 1946 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 1947 0x65, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 1948 0x72, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 1949 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 1950 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 1951 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 1952 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x8c, 0x03, 0x0a, 1953 0x1d, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 1954 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 1955 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 1956 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 1957 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 1958 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 1959 0x51, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 1960 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 1961 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 1962 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 1963 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 1964 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 1965 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 1966 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x4f, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 1967 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 1968 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 1969 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 1970 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 1971 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 1972 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 1973 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3c, 0x0a, 1974 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 1975 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 1976 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x0e, 0x6f, 0x70, 0x74, 1977 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xbd, 0x01, 0x0a, 0x0c, 1978 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 1979 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 1980 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x11, 0x63, 1981 0x61, 0x76, 0x65, 0x61, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 1982 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 1983 0x2e, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 1984 0x6e, 0x52, 0x10, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 1985 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 1986 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 1987 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x75, 1988 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 1989 0x64, 0x65, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x51, 0x0a, 0x0d, 0x46, 1990 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0e, 1991 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 1992 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 1993 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 1994 0x0d, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x99, 1995 0x03, 0x0a, 0x1e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 1996 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 1997 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x1d, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x6a, 1998 0x65, 0x63, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 1999 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x64, 0x69, 0x73, 0x70, 2000 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 2001 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 2002 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 2003 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 2004 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x19, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 2005 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 2006 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 2007 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 2008 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x6d, 2009 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x47, 0x0a, 0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 2010 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 2011 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 2012 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x66, 0x74, 2013 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 2014 0x1a, 0x68, 0x0a, 0x1e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 2015 0x73, 0x42, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x74, 2016 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 2017 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 2018 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 2019 0x31, 0x2e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 2020 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc1, 0x01, 0x0a, 0x0c, 0x52, 2021 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x0b, 0x61, 2022 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 2023 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0x80, 0x08, 0x52, 0x0a, 0x61, 0x74, 0x52, 0x65, 2024 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x5f, 2025 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 2026 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x52, 2027 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 2028 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 2029 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x0f, 0x74, 2030 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x04, 2031 0x20, 0x01, 0x28, 0x0c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x7a, 0x03, 0x18, 0x80, 0x08, 0x52, 0x0e, 2032 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x22, 0xda, 2033 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 2034 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 2035 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 2036 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x5f, 2037 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 2038 0x64, 0x65, 0x70, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x32, 0x0a, 2039 0x15, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 2040 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x61, 2041 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 2042 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 2043 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 2044 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 2045 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4a, 2046 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x46, 0x0a, 0x10, 0x44, 2047 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 2048 0x32, 0x0a, 0x05, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 2049 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 2050 0x63, 0x6b, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x63, 0x68, 2051 0x65, 0x63, 0x6b, 0x22, 0xaf, 0x04, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 0x62, 2052 0x75, 0x67, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 2053 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 2054 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x43, 2055 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 2056 0x75, 0x65, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 2057 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 2058 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 2059 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x72, 0x61, 2060 0x63, 0x65, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 2061 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 2062 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 2063 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 2064 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 2065 0x72, 0x61, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 2066 0x79, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 2067 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 2068 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 2069 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x72, 0x6f, 0x62, 2070 0x6c, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x69, 0x73, 2071 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 2072 0x62, 0x75, 0x67, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x50, 0x72, 0x6f, 2073 0x62, 0x6c, 0x65, 0x6d, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 2074 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2075 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 2076 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x5c, 0x0a, 0x0c, 2077 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 2078 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 2079 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 2080 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 2081 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 2082 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x0c, 0x52, 0x65, 2083 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 2084 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x4c, 0x41, 0x54, 2085 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 2086 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x32, 0xbd, 0x04, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 2087 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x44, 0x69, 0x73, 2088 0x70, 0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x2e, 0x64, 0x69, 0x73, 2089 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 2090 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 2091 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 2092 0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2093 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x45, 2094 0x78, 0x70, 0x61, 0x6e, 0x64, 0x12, 0x22, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 2095 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x70, 0x61, 2096 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x64, 0x69, 0x73, 0x70, 2097 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 2098 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 2099 0x12, 0x81, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 2100 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 2101 0x2e, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 2102 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52, 2103 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 2104 0x2f, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 2105 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52, 2106 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2107 0x22, 0x00, 0x30, 0x01, 0x12, 0x78, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 2108 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 2109 0x2b, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 2110 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 2111 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x64, 2112 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 2113 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 2114 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x75, 2115 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 2116 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 2117 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c, 2118 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 2119 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 2120 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 2121 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2122 0x65, 0x22, 0x00, 0x30, 0x01, 0x42, 0xaa, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x69, 2123 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x44, 0x69, 0x73, 0x70, 0x61, 2124 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 2125 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2f, 0x73, 2126 0x70, 0x69, 0x63, 0x65, 0x64, 0x62, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2127 0x2f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x69, 0x73, 2128 0x70, 0x61, 0x74, 0x63, 0x68, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, 0x58, 0x58, 0xaa, 0x02, 0x0b, 2129 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0b, 0x44, 0x69, 2130 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x17, 0x44, 0x69, 0x73, 0x70, 2131 0x61, 0x74, 0x63, 0x68, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 2132 0x61, 0x74, 0x61, 0xea, 0x02, 0x0c, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x3a, 2133 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2134 } 2135 2136 var ( 2137 file_dispatch_v1_dispatch_proto_rawDescOnce sync.Once 2138 file_dispatch_v1_dispatch_proto_rawDescData = file_dispatch_v1_dispatch_proto_rawDesc 2139 ) 2140 2141 func file_dispatch_v1_dispatch_proto_rawDescGZIP() []byte { 2142 file_dispatch_v1_dispatch_proto_rawDescOnce.Do(func() { 2143 file_dispatch_v1_dispatch_proto_rawDescData = protoimpl.X.CompressGZIP(file_dispatch_v1_dispatch_proto_rawDescData) 2144 }) 2145 return file_dispatch_v1_dispatch_proto_rawDescData 2146 } 2147 2148 var file_dispatch_v1_dispatch_proto_enumTypes = make([]protoimpl.EnumInfo, 7) 2149 var file_dispatch_v1_dispatch_proto_msgTypes = make([]protoimpl.MessageInfo, 23) 2150 var file_dispatch_v1_dispatch_proto_goTypes = []interface{}{ 2151 (DispatchCheckRequest_DebugSetting)(0), // 0: dispatch.v1.DispatchCheckRequest.DebugSetting 2152 (DispatchCheckRequest_ResultsSetting)(0), // 1: dispatch.v1.DispatchCheckRequest.ResultsSetting 2153 (ResourceCheckResult_Membership)(0), // 2: dispatch.v1.ResourceCheckResult.Membership 2154 (DispatchExpandRequest_ExpansionMode)(0), // 3: dispatch.v1.DispatchExpandRequest.ExpansionMode 2155 (ReachableResource_ResultStatus)(0), // 4: dispatch.v1.ReachableResource.ResultStatus 2156 (ResolvedResource_Permissionship)(0), // 5: dispatch.v1.ResolvedResource.Permissionship 2157 (CheckDebugTrace_RelationType)(0), // 6: dispatch.v1.CheckDebugTrace.RelationType 2158 (*DispatchCheckRequest)(nil), // 7: dispatch.v1.DispatchCheckRequest 2159 (*DispatchCheckResponse)(nil), // 8: dispatch.v1.DispatchCheckResponse 2160 (*ResourceCheckResult)(nil), // 9: dispatch.v1.ResourceCheckResult 2161 (*DispatchExpandRequest)(nil), // 10: dispatch.v1.DispatchExpandRequest 2162 (*DispatchExpandResponse)(nil), // 11: dispatch.v1.DispatchExpandResponse 2163 (*Cursor)(nil), // 12: dispatch.v1.Cursor 2164 (*DispatchReachableResourcesRequest)(nil), // 13: dispatch.v1.DispatchReachableResourcesRequest 2165 (*ReachableResource)(nil), // 14: dispatch.v1.ReachableResource 2166 (*DispatchReachableResourcesResponse)(nil), // 15: dispatch.v1.DispatchReachableResourcesResponse 2167 (*DispatchLookupResourcesRequest)(nil), // 16: dispatch.v1.DispatchLookupResourcesRequest 2168 (*ResolvedResource)(nil), // 17: dispatch.v1.ResolvedResource 2169 (*DispatchLookupResourcesResponse)(nil), // 18: dispatch.v1.DispatchLookupResourcesResponse 2170 (*DispatchLookupSubjectsRequest)(nil), // 19: dispatch.v1.DispatchLookupSubjectsRequest 2171 (*FoundSubject)(nil), // 20: dispatch.v1.FoundSubject 2172 (*FoundSubjects)(nil), // 21: dispatch.v1.FoundSubjects 2173 (*DispatchLookupSubjectsResponse)(nil), // 22: dispatch.v1.DispatchLookupSubjectsResponse 2174 (*ResolverMeta)(nil), // 23: dispatch.v1.ResolverMeta 2175 (*ResponseMeta)(nil), // 24: dispatch.v1.ResponseMeta 2176 (*DebugInformation)(nil), // 25: dispatch.v1.DebugInformation 2177 (*CheckDebugTrace)(nil), // 26: dispatch.v1.CheckDebugTrace 2178 nil, // 27: dispatch.v1.DispatchCheckResponse.ResultsByResourceIdEntry 2179 nil, // 28: dispatch.v1.DispatchLookupSubjectsResponse.FoundSubjectsByResourceIdEntry 2180 nil, // 29: dispatch.v1.CheckDebugTrace.ResultsEntry 2181 (*v1.RelationReference)(nil), // 30: core.v1.RelationReference 2182 (*v1.ObjectAndRelation)(nil), // 31: core.v1.ObjectAndRelation 2183 (*v1.CaveatExpression)(nil), // 32: core.v1.CaveatExpression 2184 (*v1.RelationTupleTreeNode)(nil), // 33: core.v1.RelationTupleTreeNode 2185 (*structpb.Struct)(nil), // 34: google.protobuf.Struct 2186 (*durationpb.Duration)(nil), // 35: google.protobuf.Duration 2187 } 2188 var file_dispatch_v1_dispatch_proto_depIdxs = []int32{ 2189 23, // 0: dispatch.v1.DispatchCheckRequest.metadata:type_name -> dispatch.v1.ResolverMeta 2190 30, // 1: dispatch.v1.DispatchCheckRequest.resource_relation:type_name -> core.v1.RelationReference 2191 31, // 2: dispatch.v1.DispatchCheckRequest.subject:type_name -> core.v1.ObjectAndRelation 2192 1, // 3: dispatch.v1.DispatchCheckRequest.results_setting:type_name -> dispatch.v1.DispatchCheckRequest.ResultsSetting 2193 0, // 4: dispatch.v1.DispatchCheckRequest.debug:type_name -> dispatch.v1.DispatchCheckRequest.DebugSetting 2194 24, // 5: dispatch.v1.DispatchCheckResponse.metadata:type_name -> dispatch.v1.ResponseMeta 2195 27, // 6: dispatch.v1.DispatchCheckResponse.results_by_resource_id:type_name -> dispatch.v1.DispatchCheckResponse.ResultsByResourceIdEntry 2196 2, // 7: dispatch.v1.ResourceCheckResult.membership:type_name -> dispatch.v1.ResourceCheckResult.Membership 2197 32, // 8: dispatch.v1.ResourceCheckResult.expression:type_name -> core.v1.CaveatExpression 2198 23, // 9: dispatch.v1.DispatchExpandRequest.metadata:type_name -> dispatch.v1.ResolverMeta 2199 31, // 10: dispatch.v1.DispatchExpandRequest.resource_and_relation:type_name -> core.v1.ObjectAndRelation 2200 3, // 11: dispatch.v1.DispatchExpandRequest.expansion_mode:type_name -> dispatch.v1.DispatchExpandRequest.ExpansionMode 2201 24, // 12: dispatch.v1.DispatchExpandResponse.metadata:type_name -> dispatch.v1.ResponseMeta 2202 33, // 13: dispatch.v1.DispatchExpandResponse.tree_node:type_name -> core.v1.RelationTupleTreeNode 2203 23, // 14: dispatch.v1.DispatchReachableResourcesRequest.metadata:type_name -> dispatch.v1.ResolverMeta 2204 30, // 15: dispatch.v1.DispatchReachableResourcesRequest.resource_relation:type_name -> core.v1.RelationReference 2205 30, // 16: dispatch.v1.DispatchReachableResourcesRequest.subject_relation:type_name -> core.v1.RelationReference 2206 12, // 17: dispatch.v1.DispatchReachableResourcesRequest.optional_cursor:type_name -> dispatch.v1.Cursor 2207 4, // 18: dispatch.v1.ReachableResource.result_status:type_name -> dispatch.v1.ReachableResource.ResultStatus 2208 14, // 19: dispatch.v1.DispatchReachableResourcesResponse.resource:type_name -> dispatch.v1.ReachableResource 2209 24, // 20: dispatch.v1.DispatchReachableResourcesResponse.metadata:type_name -> dispatch.v1.ResponseMeta 2210 12, // 21: dispatch.v1.DispatchReachableResourcesResponse.after_response_cursor:type_name -> dispatch.v1.Cursor 2211 23, // 22: dispatch.v1.DispatchLookupResourcesRequest.metadata:type_name -> dispatch.v1.ResolverMeta 2212 30, // 23: dispatch.v1.DispatchLookupResourcesRequest.object_relation:type_name -> core.v1.RelationReference 2213 31, // 24: dispatch.v1.DispatchLookupResourcesRequest.subject:type_name -> core.v1.ObjectAndRelation 2214 34, // 25: dispatch.v1.DispatchLookupResourcesRequest.context:type_name -> google.protobuf.Struct 2215 12, // 26: dispatch.v1.DispatchLookupResourcesRequest.optional_cursor:type_name -> dispatch.v1.Cursor 2216 5, // 27: dispatch.v1.ResolvedResource.permissionship:type_name -> dispatch.v1.ResolvedResource.Permissionship 2217 24, // 28: dispatch.v1.DispatchLookupResourcesResponse.metadata:type_name -> dispatch.v1.ResponseMeta 2218 17, // 29: dispatch.v1.DispatchLookupResourcesResponse.resolved_resource:type_name -> dispatch.v1.ResolvedResource 2219 12, // 30: dispatch.v1.DispatchLookupResourcesResponse.after_response_cursor:type_name -> dispatch.v1.Cursor 2220 23, // 31: dispatch.v1.DispatchLookupSubjectsRequest.metadata:type_name -> dispatch.v1.ResolverMeta 2221 30, // 32: dispatch.v1.DispatchLookupSubjectsRequest.resource_relation:type_name -> core.v1.RelationReference 2222 30, // 33: dispatch.v1.DispatchLookupSubjectsRequest.subject_relation:type_name -> core.v1.RelationReference 2223 12, // 34: dispatch.v1.DispatchLookupSubjectsRequest.optional_cursor:type_name -> dispatch.v1.Cursor 2224 32, // 35: dispatch.v1.FoundSubject.caveat_expression:type_name -> core.v1.CaveatExpression 2225 20, // 36: dispatch.v1.FoundSubject.excluded_subjects:type_name -> dispatch.v1.FoundSubject 2226 20, // 37: dispatch.v1.FoundSubjects.found_subjects:type_name -> dispatch.v1.FoundSubject 2227 28, // 38: dispatch.v1.DispatchLookupSubjectsResponse.found_subjects_by_resource_id:type_name -> dispatch.v1.DispatchLookupSubjectsResponse.FoundSubjectsByResourceIdEntry 2228 24, // 39: dispatch.v1.DispatchLookupSubjectsResponse.metadata:type_name -> dispatch.v1.ResponseMeta 2229 12, // 40: dispatch.v1.DispatchLookupSubjectsResponse.after_response_cursor:type_name -> dispatch.v1.Cursor 2230 25, // 41: dispatch.v1.ResponseMeta.debug_info:type_name -> dispatch.v1.DebugInformation 2231 26, // 42: dispatch.v1.DebugInformation.check:type_name -> dispatch.v1.CheckDebugTrace 2232 7, // 43: dispatch.v1.CheckDebugTrace.request:type_name -> dispatch.v1.DispatchCheckRequest 2233 6, // 44: dispatch.v1.CheckDebugTrace.resource_relation_type:type_name -> dispatch.v1.CheckDebugTrace.RelationType 2234 29, // 45: dispatch.v1.CheckDebugTrace.results:type_name -> dispatch.v1.CheckDebugTrace.ResultsEntry 2235 26, // 46: dispatch.v1.CheckDebugTrace.sub_problems:type_name -> dispatch.v1.CheckDebugTrace 2236 35, // 47: dispatch.v1.CheckDebugTrace.duration:type_name -> google.protobuf.Duration 2237 9, // 48: dispatch.v1.DispatchCheckResponse.ResultsByResourceIdEntry.value:type_name -> dispatch.v1.ResourceCheckResult 2238 21, // 49: dispatch.v1.DispatchLookupSubjectsResponse.FoundSubjectsByResourceIdEntry.value:type_name -> dispatch.v1.FoundSubjects 2239 9, // 50: dispatch.v1.CheckDebugTrace.ResultsEntry.value:type_name -> dispatch.v1.ResourceCheckResult 2240 7, // 51: dispatch.v1.DispatchService.DispatchCheck:input_type -> dispatch.v1.DispatchCheckRequest 2241 10, // 52: dispatch.v1.DispatchService.DispatchExpand:input_type -> dispatch.v1.DispatchExpandRequest 2242 13, // 53: dispatch.v1.DispatchService.DispatchReachableResources:input_type -> dispatch.v1.DispatchReachableResourcesRequest 2243 16, // 54: dispatch.v1.DispatchService.DispatchLookupResources:input_type -> dispatch.v1.DispatchLookupResourcesRequest 2244 19, // 55: dispatch.v1.DispatchService.DispatchLookupSubjects:input_type -> dispatch.v1.DispatchLookupSubjectsRequest 2245 8, // 56: dispatch.v1.DispatchService.DispatchCheck:output_type -> dispatch.v1.DispatchCheckResponse 2246 11, // 57: dispatch.v1.DispatchService.DispatchExpand:output_type -> dispatch.v1.DispatchExpandResponse 2247 15, // 58: dispatch.v1.DispatchService.DispatchReachableResources:output_type -> dispatch.v1.DispatchReachableResourcesResponse 2248 18, // 59: dispatch.v1.DispatchService.DispatchLookupResources:output_type -> dispatch.v1.DispatchLookupResourcesResponse 2249 22, // 60: dispatch.v1.DispatchService.DispatchLookupSubjects:output_type -> dispatch.v1.DispatchLookupSubjectsResponse 2250 56, // [56:61] is the sub-list for method output_type 2251 51, // [51:56] is the sub-list for method input_type 2252 51, // [51:51] is the sub-list for extension type_name 2253 51, // [51:51] is the sub-list for extension extendee 2254 0, // [0:51] is the sub-list for field type_name 2255 } 2256 2257 func init() { file_dispatch_v1_dispatch_proto_init() } 2258 func file_dispatch_v1_dispatch_proto_init() { 2259 if File_dispatch_v1_dispatch_proto != nil { 2260 return 2261 } 2262 if !protoimpl.UnsafeEnabled { 2263 file_dispatch_v1_dispatch_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2264 switch v := v.(*DispatchCheckRequest); i { 2265 case 0: 2266 return &v.state 2267 case 1: 2268 return &v.sizeCache 2269 case 2: 2270 return &v.unknownFields 2271 default: 2272 return nil 2273 } 2274 } 2275 file_dispatch_v1_dispatch_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2276 switch v := v.(*DispatchCheckResponse); i { 2277 case 0: 2278 return &v.state 2279 case 1: 2280 return &v.sizeCache 2281 case 2: 2282 return &v.unknownFields 2283 default: 2284 return nil 2285 } 2286 } 2287 file_dispatch_v1_dispatch_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2288 switch v := v.(*ResourceCheckResult); i { 2289 case 0: 2290 return &v.state 2291 case 1: 2292 return &v.sizeCache 2293 case 2: 2294 return &v.unknownFields 2295 default: 2296 return nil 2297 } 2298 } 2299 file_dispatch_v1_dispatch_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2300 switch v := v.(*DispatchExpandRequest); i { 2301 case 0: 2302 return &v.state 2303 case 1: 2304 return &v.sizeCache 2305 case 2: 2306 return &v.unknownFields 2307 default: 2308 return nil 2309 } 2310 } 2311 file_dispatch_v1_dispatch_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2312 switch v := v.(*DispatchExpandResponse); i { 2313 case 0: 2314 return &v.state 2315 case 1: 2316 return &v.sizeCache 2317 case 2: 2318 return &v.unknownFields 2319 default: 2320 return nil 2321 } 2322 } 2323 file_dispatch_v1_dispatch_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2324 switch v := v.(*Cursor); i { 2325 case 0: 2326 return &v.state 2327 case 1: 2328 return &v.sizeCache 2329 case 2: 2330 return &v.unknownFields 2331 default: 2332 return nil 2333 } 2334 } 2335 file_dispatch_v1_dispatch_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2336 switch v := v.(*DispatchReachableResourcesRequest); i { 2337 case 0: 2338 return &v.state 2339 case 1: 2340 return &v.sizeCache 2341 case 2: 2342 return &v.unknownFields 2343 default: 2344 return nil 2345 } 2346 } 2347 file_dispatch_v1_dispatch_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 2348 switch v := v.(*ReachableResource); i { 2349 case 0: 2350 return &v.state 2351 case 1: 2352 return &v.sizeCache 2353 case 2: 2354 return &v.unknownFields 2355 default: 2356 return nil 2357 } 2358 } 2359 file_dispatch_v1_dispatch_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 2360 switch v := v.(*DispatchReachableResourcesResponse); i { 2361 case 0: 2362 return &v.state 2363 case 1: 2364 return &v.sizeCache 2365 case 2: 2366 return &v.unknownFields 2367 default: 2368 return nil 2369 } 2370 } 2371 file_dispatch_v1_dispatch_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 2372 switch v := v.(*DispatchLookupResourcesRequest); i { 2373 case 0: 2374 return &v.state 2375 case 1: 2376 return &v.sizeCache 2377 case 2: 2378 return &v.unknownFields 2379 default: 2380 return nil 2381 } 2382 } 2383 file_dispatch_v1_dispatch_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 2384 switch v := v.(*ResolvedResource); i { 2385 case 0: 2386 return &v.state 2387 case 1: 2388 return &v.sizeCache 2389 case 2: 2390 return &v.unknownFields 2391 default: 2392 return nil 2393 } 2394 } 2395 file_dispatch_v1_dispatch_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 2396 switch v := v.(*DispatchLookupResourcesResponse); i { 2397 case 0: 2398 return &v.state 2399 case 1: 2400 return &v.sizeCache 2401 case 2: 2402 return &v.unknownFields 2403 default: 2404 return nil 2405 } 2406 } 2407 file_dispatch_v1_dispatch_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 2408 switch v := v.(*DispatchLookupSubjectsRequest); i { 2409 case 0: 2410 return &v.state 2411 case 1: 2412 return &v.sizeCache 2413 case 2: 2414 return &v.unknownFields 2415 default: 2416 return nil 2417 } 2418 } 2419 file_dispatch_v1_dispatch_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 2420 switch v := v.(*FoundSubject); i { 2421 case 0: 2422 return &v.state 2423 case 1: 2424 return &v.sizeCache 2425 case 2: 2426 return &v.unknownFields 2427 default: 2428 return nil 2429 } 2430 } 2431 file_dispatch_v1_dispatch_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 2432 switch v := v.(*FoundSubjects); i { 2433 case 0: 2434 return &v.state 2435 case 1: 2436 return &v.sizeCache 2437 case 2: 2438 return &v.unknownFields 2439 default: 2440 return nil 2441 } 2442 } 2443 file_dispatch_v1_dispatch_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 2444 switch v := v.(*DispatchLookupSubjectsResponse); i { 2445 case 0: 2446 return &v.state 2447 case 1: 2448 return &v.sizeCache 2449 case 2: 2450 return &v.unknownFields 2451 default: 2452 return nil 2453 } 2454 } 2455 file_dispatch_v1_dispatch_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 2456 switch v := v.(*ResolverMeta); i { 2457 case 0: 2458 return &v.state 2459 case 1: 2460 return &v.sizeCache 2461 case 2: 2462 return &v.unknownFields 2463 default: 2464 return nil 2465 } 2466 } 2467 file_dispatch_v1_dispatch_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 2468 switch v := v.(*ResponseMeta); i { 2469 case 0: 2470 return &v.state 2471 case 1: 2472 return &v.sizeCache 2473 case 2: 2474 return &v.unknownFields 2475 default: 2476 return nil 2477 } 2478 } 2479 file_dispatch_v1_dispatch_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 2480 switch v := v.(*DebugInformation); i { 2481 case 0: 2482 return &v.state 2483 case 1: 2484 return &v.sizeCache 2485 case 2: 2486 return &v.unknownFields 2487 default: 2488 return nil 2489 } 2490 } 2491 file_dispatch_v1_dispatch_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 2492 switch v := v.(*CheckDebugTrace); i { 2493 case 0: 2494 return &v.state 2495 case 1: 2496 return &v.sizeCache 2497 case 2: 2498 return &v.unknownFields 2499 default: 2500 return nil 2501 } 2502 } 2503 } 2504 type x struct{} 2505 out := protoimpl.TypeBuilder{ 2506 File: protoimpl.DescBuilder{ 2507 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 2508 RawDescriptor: file_dispatch_v1_dispatch_proto_rawDesc, 2509 NumEnums: 7, 2510 NumMessages: 23, 2511 NumExtensions: 0, 2512 NumServices: 1, 2513 }, 2514 GoTypes: file_dispatch_v1_dispatch_proto_goTypes, 2515 DependencyIndexes: file_dispatch_v1_dispatch_proto_depIdxs, 2516 EnumInfos: file_dispatch_v1_dispatch_proto_enumTypes, 2517 MessageInfos: file_dispatch_v1_dispatch_proto_msgTypes, 2518 }.Build() 2519 File_dispatch_v1_dispatch_proto = out.File 2520 file_dispatch_v1_dispatch_proto_rawDesc = nil 2521 file_dispatch_v1_dispatch_proto_goTypes = nil 2522 file_dispatch_v1_dispatch_proto_depIdxs = nil 2523 }