github.com/imannamdari/v2ray-core/v5@v5.0.5/app/dns/config.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.28.1 4 // protoc v3.21.12 5 // source: app/dns/config.proto 6 7 package dns 8 9 import ( 10 fakedns "github.com/imannamdari/v2ray-core/v5/app/dns/fakedns" 11 routercommon "github.com/imannamdari/v2ray-core/v5/app/router/routercommon" 12 net "github.com/imannamdari/v2ray-core/v5/common/net" 13 _ "github.com/imannamdari/v2ray-core/v5/common/protoext" 14 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 15 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 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 DomainMatchingType int32 28 29 const ( 30 DomainMatchingType_Full DomainMatchingType = 0 31 DomainMatchingType_Subdomain DomainMatchingType = 1 32 DomainMatchingType_Keyword DomainMatchingType = 2 33 DomainMatchingType_Regex DomainMatchingType = 3 34 ) 35 36 // Enum value maps for DomainMatchingType. 37 var ( 38 DomainMatchingType_name = map[int32]string{ 39 0: "Full", 40 1: "Subdomain", 41 2: "Keyword", 42 3: "Regex", 43 } 44 DomainMatchingType_value = map[string]int32{ 45 "Full": 0, 46 "Subdomain": 1, 47 "Keyword": 2, 48 "Regex": 3, 49 } 50 ) 51 52 func (x DomainMatchingType) Enum() *DomainMatchingType { 53 p := new(DomainMatchingType) 54 *p = x 55 return p 56 } 57 58 func (x DomainMatchingType) String() string { 59 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 60 } 61 62 func (DomainMatchingType) Descriptor() protoreflect.EnumDescriptor { 63 return file_app_dns_config_proto_enumTypes[0].Descriptor() 64 } 65 66 func (DomainMatchingType) Type() protoreflect.EnumType { 67 return &file_app_dns_config_proto_enumTypes[0] 68 } 69 70 func (x DomainMatchingType) Number() protoreflect.EnumNumber { 71 return protoreflect.EnumNumber(x) 72 } 73 74 // Deprecated: Use DomainMatchingType.Descriptor instead. 75 func (DomainMatchingType) EnumDescriptor() ([]byte, []int) { 76 return file_app_dns_config_proto_rawDescGZIP(), []int{0} 77 } 78 79 type QueryStrategy int32 80 81 const ( 82 QueryStrategy_USE_IP QueryStrategy = 0 83 QueryStrategy_USE_IP4 QueryStrategy = 1 84 QueryStrategy_USE_IP6 QueryStrategy = 2 85 ) 86 87 // Enum value maps for QueryStrategy. 88 var ( 89 QueryStrategy_name = map[int32]string{ 90 0: "USE_IP", 91 1: "USE_IP4", 92 2: "USE_IP6", 93 } 94 QueryStrategy_value = map[string]int32{ 95 "USE_IP": 0, 96 "USE_IP4": 1, 97 "USE_IP6": 2, 98 } 99 ) 100 101 func (x QueryStrategy) Enum() *QueryStrategy { 102 p := new(QueryStrategy) 103 *p = x 104 return p 105 } 106 107 func (x QueryStrategy) String() string { 108 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 109 } 110 111 func (QueryStrategy) Descriptor() protoreflect.EnumDescriptor { 112 return file_app_dns_config_proto_enumTypes[1].Descriptor() 113 } 114 115 func (QueryStrategy) Type() protoreflect.EnumType { 116 return &file_app_dns_config_proto_enumTypes[1] 117 } 118 119 func (x QueryStrategy) Number() protoreflect.EnumNumber { 120 return protoreflect.EnumNumber(x) 121 } 122 123 // Deprecated: Use QueryStrategy.Descriptor instead. 124 func (QueryStrategy) EnumDescriptor() ([]byte, []int) { 125 return file_app_dns_config_proto_rawDescGZIP(), []int{1} 126 } 127 128 type CacheStrategy int32 129 130 const ( 131 CacheStrategy_CacheEnabled CacheStrategy = 0 132 CacheStrategy_CacheDisabled CacheStrategy = 1 133 ) 134 135 // Enum value maps for CacheStrategy. 136 var ( 137 CacheStrategy_name = map[int32]string{ 138 0: "CacheEnabled", 139 1: "CacheDisabled", 140 } 141 CacheStrategy_value = map[string]int32{ 142 "CacheEnabled": 0, 143 "CacheDisabled": 1, 144 } 145 ) 146 147 func (x CacheStrategy) Enum() *CacheStrategy { 148 p := new(CacheStrategy) 149 *p = x 150 return p 151 } 152 153 func (x CacheStrategy) String() string { 154 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 155 } 156 157 func (CacheStrategy) Descriptor() protoreflect.EnumDescriptor { 158 return file_app_dns_config_proto_enumTypes[2].Descriptor() 159 } 160 161 func (CacheStrategy) Type() protoreflect.EnumType { 162 return &file_app_dns_config_proto_enumTypes[2] 163 } 164 165 func (x CacheStrategy) Number() protoreflect.EnumNumber { 166 return protoreflect.EnumNumber(x) 167 } 168 169 // Deprecated: Use CacheStrategy.Descriptor instead. 170 func (CacheStrategy) EnumDescriptor() ([]byte, []int) { 171 return file_app_dns_config_proto_rawDescGZIP(), []int{2} 172 } 173 174 type FallbackStrategy int32 175 176 const ( 177 FallbackStrategy_Enabled FallbackStrategy = 0 178 FallbackStrategy_Disabled FallbackStrategy = 1 179 FallbackStrategy_DisabledIfAnyMatch FallbackStrategy = 2 180 ) 181 182 // Enum value maps for FallbackStrategy. 183 var ( 184 FallbackStrategy_name = map[int32]string{ 185 0: "Enabled", 186 1: "Disabled", 187 2: "DisabledIfAnyMatch", 188 } 189 FallbackStrategy_value = map[string]int32{ 190 "Enabled": 0, 191 "Disabled": 1, 192 "DisabledIfAnyMatch": 2, 193 } 194 ) 195 196 func (x FallbackStrategy) Enum() *FallbackStrategy { 197 p := new(FallbackStrategy) 198 *p = x 199 return p 200 } 201 202 func (x FallbackStrategy) String() string { 203 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 204 } 205 206 func (FallbackStrategy) Descriptor() protoreflect.EnumDescriptor { 207 return file_app_dns_config_proto_enumTypes[3].Descriptor() 208 } 209 210 func (FallbackStrategy) Type() protoreflect.EnumType { 211 return &file_app_dns_config_proto_enumTypes[3] 212 } 213 214 func (x FallbackStrategy) Number() protoreflect.EnumNumber { 215 return protoreflect.EnumNumber(x) 216 } 217 218 // Deprecated: Use FallbackStrategy.Descriptor instead. 219 func (FallbackStrategy) EnumDescriptor() ([]byte, []int) { 220 return file_app_dns_config_proto_rawDescGZIP(), []int{3} 221 } 222 223 type NameServer struct { 224 state protoimpl.MessageState 225 sizeCache protoimpl.SizeCache 226 unknownFields protoimpl.UnknownFields 227 228 Address *net.Endpoint `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 229 ClientIp []byte `protobuf:"bytes,5,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"` 230 Tag string `protobuf:"bytes,7,opt,name=tag,proto3" json:"tag,omitempty"` 231 PrioritizedDomain []*NameServer_PriorityDomain `protobuf:"bytes,2,rep,name=prioritized_domain,json=prioritizedDomain,proto3" json:"prioritized_domain,omitempty"` 232 Geoip []*routercommon.GeoIP `protobuf:"bytes,3,rep,name=geoip,proto3" json:"geoip,omitempty"` 233 OriginalRules []*NameServer_OriginalRule `protobuf:"bytes,4,rep,name=original_rules,json=originalRules,proto3" json:"original_rules,omitempty"` 234 FakeDns *fakedns.FakeDnsPoolMulti `protobuf:"bytes,11,opt,name=fake_dns,json=fakeDns,proto3" json:"fake_dns,omitempty"` 235 // Deprecated. Use fallback_strategy. 236 // 237 // Deprecated: Do not use. 238 SkipFallback bool `protobuf:"varint,6,opt,name=skipFallback,proto3" json:"skipFallback,omitempty"` 239 QueryStrategy *QueryStrategy `protobuf:"varint,8,opt,name=query_strategy,json=queryStrategy,proto3,enum=v2ray.core.app.dns.QueryStrategy,oneof" json:"query_strategy,omitempty"` 240 CacheStrategy *CacheStrategy `protobuf:"varint,9,opt,name=cache_strategy,json=cacheStrategy,proto3,enum=v2ray.core.app.dns.CacheStrategy,oneof" json:"cache_strategy,omitempty"` 241 FallbackStrategy *FallbackStrategy `protobuf:"varint,10,opt,name=fallback_strategy,json=fallbackStrategy,proto3,enum=v2ray.core.app.dns.FallbackStrategy,oneof" json:"fallback_strategy,omitempty"` 242 } 243 244 func (x *NameServer) Reset() { 245 *x = NameServer{} 246 if protoimpl.UnsafeEnabled { 247 mi := &file_app_dns_config_proto_msgTypes[0] 248 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 249 ms.StoreMessageInfo(mi) 250 } 251 } 252 253 func (x *NameServer) String() string { 254 return protoimpl.X.MessageStringOf(x) 255 } 256 257 func (*NameServer) ProtoMessage() {} 258 259 func (x *NameServer) ProtoReflect() protoreflect.Message { 260 mi := &file_app_dns_config_proto_msgTypes[0] 261 if protoimpl.UnsafeEnabled && x != nil { 262 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 263 if ms.LoadMessageInfo() == nil { 264 ms.StoreMessageInfo(mi) 265 } 266 return ms 267 } 268 return mi.MessageOf(x) 269 } 270 271 // Deprecated: Use NameServer.ProtoReflect.Descriptor instead. 272 func (*NameServer) Descriptor() ([]byte, []int) { 273 return file_app_dns_config_proto_rawDescGZIP(), []int{0} 274 } 275 276 func (x *NameServer) GetAddress() *net.Endpoint { 277 if x != nil { 278 return x.Address 279 } 280 return nil 281 } 282 283 func (x *NameServer) GetClientIp() []byte { 284 if x != nil { 285 return x.ClientIp 286 } 287 return nil 288 } 289 290 func (x *NameServer) GetTag() string { 291 if x != nil { 292 return x.Tag 293 } 294 return "" 295 } 296 297 func (x *NameServer) GetPrioritizedDomain() []*NameServer_PriorityDomain { 298 if x != nil { 299 return x.PrioritizedDomain 300 } 301 return nil 302 } 303 304 func (x *NameServer) GetGeoip() []*routercommon.GeoIP { 305 if x != nil { 306 return x.Geoip 307 } 308 return nil 309 } 310 311 func (x *NameServer) GetOriginalRules() []*NameServer_OriginalRule { 312 if x != nil { 313 return x.OriginalRules 314 } 315 return nil 316 } 317 318 func (x *NameServer) GetFakeDns() *fakedns.FakeDnsPoolMulti { 319 if x != nil { 320 return x.FakeDns 321 } 322 return nil 323 } 324 325 // Deprecated: Do not use. 326 func (x *NameServer) GetSkipFallback() bool { 327 if x != nil { 328 return x.SkipFallback 329 } 330 return false 331 } 332 333 func (x *NameServer) GetQueryStrategy() QueryStrategy { 334 if x != nil && x.QueryStrategy != nil { 335 return *x.QueryStrategy 336 } 337 return QueryStrategy_USE_IP 338 } 339 340 func (x *NameServer) GetCacheStrategy() CacheStrategy { 341 if x != nil && x.CacheStrategy != nil { 342 return *x.CacheStrategy 343 } 344 return CacheStrategy_CacheEnabled 345 } 346 347 func (x *NameServer) GetFallbackStrategy() FallbackStrategy { 348 if x != nil && x.FallbackStrategy != nil { 349 return *x.FallbackStrategy 350 } 351 return FallbackStrategy_Enabled 352 } 353 354 type HostMapping struct { 355 state protoimpl.MessageState 356 sizeCache protoimpl.SizeCache 357 unknownFields protoimpl.UnknownFields 358 359 Type DomainMatchingType `protobuf:"varint,1,opt,name=type,proto3,enum=v2ray.core.app.dns.DomainMatchingType" json:"type,omitempty"` 360 Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` 361 Ip [][]byte `protobuf:"bytes,3,rep,name=ip,proto3" json:"ip,omitempty"` 362 // ProxiedDomain indicates the mapped domain has the same IP address on this 363 // domain. V2Ray will use this domain for IP queries. 364 ProxiedDomain string `protobuf:"bytes,4,opt,name=proxied_domain,json=proxiedDomain,proto3" json:"proxied_domain,omitempty"` 365 } 366 367 func (x *HostMapping) Reset() { 368 *x = HostMapping{} 369 if protoimpl.UnsafeEnabled { 370 mi := &file_app_dns_config_proto_msgTypes[1] 371 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 372 ms.StoreMessageInfo(mi) 373 } 374 } 375 376 func (x *HostMapping) String() string { 377 return protoimpl.X.MessageStringOf(x) 378 } 379 380 func (*HostMapping) ProtoMessage() {} 381 382 func (x *HostMapping) ProtoReflect() protoreflect.Message { 383 mi := &file_app_dns_config_proto_msgTypes[1] 384 if protoimpl.UnsafeEnabled && x != nil { 385 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 386 if ms.LoadMessageInfo() == nil { 387 ms.StoreMessageInfo(mi) 388 } 389 return ms 390 } 391 return mi.MessageOf(x) 392 } 393 394 // Deprecated: Use HostMapping.ProtoReflect.Descriptor instead. 395 func (*HostMapping) Descriptor() ([]byte, []int) { 396 return file_app_dns_config_proto_rawDescGZIP(), []int{1} 397 } 398 399 func (x *HostMapping) GetType() DomainMatchingType { 400 if x != nil { 401 return x.Type 402 } 403 return DomainMatchingType_Full 404 } 405 406 func (x *HostMapping) GetDomain() string { 407 if x != nil { 408 return x.Domain 409 } 410 return "" 411 } 412 413 func (x *HostMapping) GetIp() [][]byte { 414 if x != nil { 415 return x.Ip 416 } 417 return nil 418 } 419 420 func (x *HostMapping) GetProxiedDomain() string { 421 if x != nil { 422 return x.ProxiedDomain 423 } 424 return "" 425 } 426 427 type Config struct { 428 state protoimpl.MessageState 429 sizeCache protoimpl.SizeCache 430 unknownFields protoimpl.UnknownFields 431 432 // Nameservers used by this DNS. Only traditional UDP servers are support at 433 // the moment. A special value 'localhost' as a domain address can be set to 434 // use DNS on local system. 435 // 436 // Deprecated: Do not use. 437 NameServers []*net.Endpoint `protobuf:"bytes,1,rep,name=NameServers,proto3" json:"NameServers,omitempty"` 438 // NameServer list used by this DNS client. 439 NameServer []*NameServer `protobuf:"bytes,5,rep,name=name_server,json=nameServer,proto3" json:"name_server,omitempty"` 440 // Static hosts. Domain to IP. 441 // Deprecated. Use static_hosts. 442 // 443 // Deprecated: Do not use. 444 Hosts map[string]*net.IPOrDomain `protobuf:"bytes,2,rep,name=Hosts,proto3" json:"Hosts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 445 // Client IP for EDNS client subnet. Must be 4 bytes (IPv4) or 16 bytes 446 // (IPv6). 447 ClientIp []byte `protobuf:"bytes,3,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"` 448 // Static domain-ip mapping in DNS server. 449 StaticHosts []*HostMapping `protobuf:"bytes,4,rep,name=static_hosts,json=staticHosts,proto3" json:"static_hosts,omitempty"` 450 // Global fakedns object. 451 FakeDns *fakedns.FakeDnsPoolMulti `protobuf:"bytes,16,opt,name=fake_dns,json=fakeDns,proto3" json:"fake_dns,omitempty"` 452 // Tag is the inbound tag of DNS client. 453 Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"` 454 // Domain matcher to use 455 DomainMatcher string `protobuf:"bytes,15,opt,name=domain_matcher,json=domainMatcher,proto3" json:"domain_matcher,omitempty"` 456 // DisableCache disables DNS cache 457 // Deprecated. Use cache_strategy. 458 // 459 // Deprecated: Do not use. 460 DisableCache bool `protobuf:"varint,8,opt,name=disableCache,proto3" json:"disableCache,omitempty"` 461 // Deprecated. Use fallback_strategy. 462 // 463 // Deprecated: Do not use. 464 DisableFallback bool `protobuf:"varint,10,opt,name=disableFallback,proto3" json:"disableFallback,omitempty"` 465 // Deprecated. Use fallback_strategy. 466 // 467 // Deprecated: Do not use. 468 DisableFallbackIfMatch bool `protobuf:"varint,11,opt,name=disableFallbackIfMatch,proto3" json:"disableFallbackIfMatch,omitempty"` 469 // Default query strategy (IPv4, IPv6, or both) for each name server. 470 QueryStrategy QueryStrategy `protobuf:"varint,9,opt,name=query_strategy,json=queryStrategy,proto3,enum=v2ray.core.app.dns.QueryStrategy" json:"query_strategy,omitempty"` 471 // Default cache strategy for each name server. 472 CacheStrategy CacheStrategy `protobuf:"varint,12,opt,name=cache_strategy,json=cacheStrategy,proto3,enum=v2ray.core.app.dns.CacheStrategy" json:"cache_strategy,omitempty"` 473 // Default fallback strategy for each name server. 474 FallbackStrategy FallbackStrategy `protobuf:"varint,13,opt,name=fallback_strategy,json=fallbackStrategy,proto3,enum=v2ray.core.app.dns.FallbackStrategy" json:"fallback_strategy,omitempty"` 475 } 476 477 func (x *Config) Reset() { 478 *x = Config{} 479 if protoimpl.UnsafeEnabled { 480 mi := &file_app_dns_config_proto_msgTypes[2] 481 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 482 ms.StoreMessageInfo(mi) 483 } 484 } 485 486 func (x *Config) String() string { 487 return protoimpl.X.MessageStringOf(x) 488 } 489 490 func (*Config) ProtoMessage() {} 491 492 func (x *Config) ProtoReflect() protoreflect.Message { 493 mi := &file_app_dns_config_proto_msgTypes[2] 494 if protoimpl.UnsafeEnabled && x != nil { 495 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 496 if ms.LoadMessageInfo() == nil { 497 ms.StoreMessageInfo(mi) 498 } 499 return ms 500 } 501 return mi.MessageOf(x) 502 } 503 504 // Deprecated: Use Config.ProtoReflect.Descriptor instead. 505 func (*Config) Descriptor() ([]byte, []int) { 506 return file_app_dns_config_proto_rawDescGZIP(), []int{2} 507 } 508 509 // Deprecated: Do not use. 510 func (x *Config) GetNameServers() []*net.Endpoint { 511 if x != nil { 512 return x.NameServers 513 } 514 return nil 515 } 516 517 func (x *Config) GetNameServer() []*NameServer { 518 if x != nil { 519 return x.NameServer 520 } 521 return nil 522 } 523 524 // Deprecated: Do not use. 525 func (x *Config) GetHosts() map[string]*net.IPOrDomain { 526 if x != nil { 527 return x.Hosts 528 } 529 return nil 530 } 531 532 func (x *Config) GetClientIp() []byte { 533 if x != nil { 534 return x.ClientIp 535 } 536 return nil 537 } 538 539 func (x *Config) GetStaticHosts() []*HostMapping { 540 if x != nil { 541 return x.StaticHosts 542 } 543 return nil 544 } 545 546 func (x *Config) GetFakeDns() *fakedns.FakeDnsPoolMulti { 547 if x != nil { 548 return x.FakeDns 549 } 550 return nil 551 } 552 553 func (x *Config) GetTag() string { 554 if x != nil { 555 return x.Tag 556 } 557 return "" 558 } 559 560 func (x *Config) GetDomainMatcher() string { 561 if x != nil { 562 return x.DomainMatcher 563 } 564 return "" 565 } 566 567 // Deprecated: Do not use. 568 func (x *Config) GetDisableCache() bool { 569 if x != nil { 570 return x.DisableCache 571 } 572 return false 573 } 574 575 // Deprecated: Do not use. 576 func (x *Config) GetDisableFallback() bool { 577 if x != nil { 578 return x.DisableFallback 579 } 580 return false 581 } 582 583 // Deprecated: Do not use. 584 func (x *Config) GetDisableFallbackIfMatch() bool { 585 if x != nil { 586 return x.DisableFallbackIfMatch 587 } 588 return false 589 } 590 591 func (x *Config) GetQueryStrategy() QueryStrategy { 592 if x != nil { 593 return x.QueryStrategy 594 } 595 return QueryStrategy_USE_IP 596 } 597 598 func (x *Config) GetCacheStrategy() CacheStrategy { 599 if x != nil { 600 return x.CacheStrategy 601 } 602 return CacheStrategy_CacheEnabled 603 } 604 605 func (x *Config) GetFallbackStrategy() FallbackStrategy { 606 if x != nil { 607 return x.FallbackStrategy 608 } 609 return FallbackStrategy_Enabled 610 } 611 612 type SimplifiedConfig struct { 613 state protoimpl.MessageState 614 sizeCache protoimpl.SizeCache 615 unknownFields protoimpl.UnknownFields 616 617 // NameServer list used by this DNS client. 618 NameServer []*SimplifiedNameServer `protobuf:"bytes,5,rep,name=name_server,json=nameServer,proto3" json:"name_server,omitempty"` 619 // Client IP for EDNS client subnet. Must be 4 bytes (IPv4) or 16 bytes 620 // (IPv6). 621 ClientIp string `protobuf:"bytes,3,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"` 622 // Static domain-ip mapping in DNS server. 623 StaticHosts []*SimplifiedHostMapping `protobuf:"bytes,4,rep,name=static_hosts,json=staticHosts,proto3" json:"static_hosts,omitempty"` 624 // Global fakedns object. 625 FakeDns *fakedns.FakeDnsPoolMulti `protobuf:"bytes,16,opt,name=fake_dns,json=fakeDns,proto3" json:"fake_dns,omitempty"` 626 // Tag is the inbound tag of DNS client. 627 Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"` 628 // Domain matcher to use 629 DomainMatcher string `protobuf:"bytes,15,opt,name=domain_matcher,json=domainMatcher,proto3" json:"domain_matcher,omitempty"` 630 // DisableCache disables DNS cache 631 // Deprecated. Use cache_strategy. 632 // 633 // Deprecated: Do not use. 634 DisableCache bool `protobuf:"varint,8,opt,name=disableCache,proto3" json:"disableCache,omitempty"` 635 // Deprecated. Use fallback_strategy. 636 // 637 // Deprecated: Do not use. 638 DisableFallback bool `protobuf:"varint,10,opt,name=disableFallback,proto3" json:"disableFallback,omitempty"` 639 // Deprecated. Use fallback_strategy. 640 // 641 // Deprecated: Do not use. 642 DisableFallbackIfMatch bool `protobuf:"varint,11,opt,name=disableFallbackIfMatch,proto3" json:"disableFallbackIfMatch,omitempty"` 643 // Default query strategy (IPv4, IPv6, or both) for each name server. 644 QueryStrategy QueryStrategy `protobuf:"varint,9,opt,name=query_strategy,json=queryStrategy,proto3,enum=v2ray.core.app.dns.QueryStrategy" json:"query_strategy,omitempty"` 645 // Default cache strategy for each name server. 646 CacheStrategy CacheStrategy `protobuf:"varint,12,opt,name=cache_strategy,json=cacheStrategy,proto3,enum=v2ray.core.app.dns.CacheStrategy" json:"cache_strategy,omitempty"` 647 // Default fallback strategy for each name server. 648 FallbackStrategy FallbackStrategy `protobuf:"varint,13,opt,name=fallback_strategy,json=fallbackStrategy,proto3,enum=v2ray.core.app.dns.FallbackStrategy" json:"fallback_strategy,omitempty"` 649 } 650 651 func (x *SimplifiedConfig) Reset() { 652 *x = SimplifiedConfig{} 653 if protoimpl.UnsafeEnabled { 654 mi := &file_app_dns_config_proto_msgTypes[3] 655 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 656 ms.StoreMessageInfo(mi) 657 } 658 } 659 660 func (x *SimplifiedConfig) String() string { 661 return protoimpl.X.MessageStringOf(x) 662 } 663 664 func (*SimplifiedConfig) ProtoMessage() {} 665 666 func (x *SimplifiedConfig) ProtoReflect() protoreflect.Message { 667 mi := &file_app_dns_config_proto_msgTypes[3] 668 if protoimpl.UnsafeEnabled && x != nil { 669 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 670 if ms.LoadMessageInfo() == nil { 671 ms.StoreMessageInfo(mi) 672 } 673 return ms 674 } 675 return mi.MessageOf(x) 676 } 677 678 // Deprecated: Use SimplifiedConfig.ProtoReflect.Descriptor instead. 679 func (*SimplifiedConfig) Descriptor() ([]byte, []int) { 680 return file_app_dns_config_proto_rawDescGZIP(), []int{3} 681 } 682 683 func (x *SimplifiedConfig) GetNameServer() []*SimplifiedNameServer { 684 if x != nil { 685 return x.NameServer 686 } 687 return nil 688 } 689 690 func (x *SimplifiedConfig) GetClientIp() string { 691 if x != nil { 692 return x.ClientIp 693 } 694 return "" 695 } 696 697 func (x *SimplifiedConfig) GetStaticHosts() []*SimplifiedHostMapping { 698 if x != nil { 699 return x.StaticHosts 700 } 701 return nil 702 } 703 704 func (x *SimplifiedConfig) GetFakeDns() *fakedns.FakeDnsPoolMulti { 705 if x != nil { 706 return x.FakeDns 707 } 708 return nil 709 } 710 711 func (x *SimplifiedConfig) GetTag() string { 712 if x != nil { 713 return x.Tag 714 } 715 return "" 716 } 717 718 func (x *SimplifiedConfig) GetDomainMatcher() string { 719 if x != nil { 720 return x.DomainMatcher 721 } 722 return "" 723 } 724 725 // Deprecated: Do not use. 726 func (x *SimplifiedConfig) GetDisableCache() bool { 727 if x != nil { 728 return x.DisableCache 729 } 730 return false 731 } 732 733 // Deprecated: Do not use. 734 func (x *SimplifiedConfig) GetDisableFallback() bool { 735 if x != nil { 736 return x.DisableFallback 737 } 738 return false 739 } 740 741 // Deprecated: Do not use. 742 func (x *SimplifiedConfig) GetDisableFallbackIfMatch() bool { 743 if x != nil { 744 return x.DisableFallbackIfMatch 745 } 746 return false 747 } 748 749 func (x *SimplifiedConfig) GetQueryStrategy() QueryStrategy { 750 if x != nil { 751 return x.QueryStrategy 752 } 753 return QueryStrategy_USE_IP 754 } 755 756 func (x *SimplifiedConfig) GetCacheStrategy() CacheStrategy { 757 if x != nil { 758 return x.CacheStrategy 759 } 760 return CacheStrategy_CacheEnabled 761 } 762 763 func (x *SimplifiedConfig) GetFallbackStrategy() FallbackStrategy { 764 if x != nil { 765 return x.FallbackStrategy 766 } 767 return FallbackStrategy_Enabled 768 } 769 770 type SimplifiedHostMapping struct { 771 state protoimpl.MessageState 772 sizeCache protoimpl.SizeCache 773 unknownFields protoimpl.UnknownFields 774 775 Type DomainMatchingType `protobuf:"varint,1,opt,name=type,proto3,enum=v2ray.core.app.dns.DomainMatchingType" json:"type,omitempty"` 776 Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` 777 Ip []string `protobuf:"bytes,3,rep,name=ip,proto3" json:"ip,omitempty"` 778 // ProxiedDomain indicates the mapped domain has the same IP address on this 779 // domain. V2Ray will use this domain for IP queries. 780 ProxiedDomain string `protobuf:"bytes,4,opt,name=proxied_domain,json=proxiedDomain,proto3" json:"proxied_domain,omitempty"` 781 } 782 783 func (x *SimplifiedHostMapping) Reset() { 784 *x = SimplifiedHostMapping{} 785 if protoimpl.UnsafeEnabled { 786 mi := &file_app_dns_config_proto_msgTypes[4] 787 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 788 ms.StoreMessageInfo(mi) 789 } 790 } 791 792 func (x *SimplifiedHostMapping) String() string { 793 return protoimpl.X.MessageStringOf(x) 794 } 795 796 func (*SimplifiedHostMapping) ProtoMessage() {} 797 798 func (x *SimplifiedHostMapping) ProtoReflect() protoreflect.Message { 799 mi := &file_app_dns_config_proto_msgTypes[4] 800 if protoimpl.UnsafeEnabled && x != nil { 801 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 802 if ms.LoadMessageInfo() == nil { 803 ms.StoreMessageInfo(mi) 804 } 805 return ms 806 } 807 return mi.MessageOf(x) 808 } 809 810 // Deprecated: Use SimplifiedHostMapping.ProtoReflect.Descriptor instead. 811 func (*SimplifiedHostMapping) Descriptor() ([]byte, []int) { 812 return file_app_dns_config_proto_rawDescGZIP(), []int{4} 813 } 814 815 func (x *SimplifiedHostMapping) GetType() DomainMatchingType { 816 if x != nil { 817 return x.Type 818 } 819 return DomainMatchingType_Full 820 } 821 822 func (x *SimplifiedHostMapping) GetDomain() string { 823 if x != nil { 824 return x.Domain 825 } 826 return "" 827 } 828 829 func (x *SimplifiedHostMapping) GetIp() []string { 830 if x != nil { 831 return x.Ip 832 } 833 return nil 834 } 835 836 func (x *SimplifiedHostMapping) GetProxiedDomain() string { 837 if x != nil { 838 return x.ProxiedDomain 839 } 840 return "" 841 } 842 843 type SimplifiedNameServer struct { 844 state protoimpl.MessageState 845 sizeCache protoimpl.SizeCache 846 unknownFields protoimpl.UnknownFields 847 848 Address *net.Endpoint `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 849 ClientIp string `protobuf:"bytes,5,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"` 850 Tag string `protobuf:"bytes,7,opt,name=tag,proto3" json:"tag,omitempty"` 851 PrioritizedDomain []*SimplifiedNameServer_PriorityDomain `protobuf:"bytes,2,rep,name=prioritized_domain,json=prioritizedDomain,proto3" json:"prioritized_domain,omitempty"` 852 Geoip []*routercommon.GeoIP `protobuf:"bytes,3,rep,name=geoip,proto3" json:"geoip,omitempty"` 853 OriginalRules []*SimplifiedNameServer_OriginalRule `protobuf:"bytes,4,rep,name=original_rules,json=originalRules,proto3" json:"original_rules,omitempty"` 854 FakeDns *fakedns.FakeDnsPoolMulti `protobuf:"bytes,11,opt,name=fake_dns,json=fakeDns,proto3" json:"fake_dns,omitempty"` 855 // Deprecated. Use fallback_strategy. 856 // 857 // Deprecated: Do not use. 858 SkipFallback bool `protobuf:"varint,6,opt,name=skipFallback,proto3" json:"skipFallback,omitempty"` 859 QueryStrategy *QueryStrategy `protobuf:"varint,8,opt,name=query_strategy,json=queryStrategy,proto3,enum=v2ray.core.app.dns.QueryStrategy,oneof" json:"query_strategy,omitempty"` 860 CacheStrategy *CacheStrategy `protobuf:"varint,9,opt,name=cache_strategy,json=cacheStrategy,proto3,enum=v2ray.core.app.dns.CacheStrategy,oneof" json:"cache_strategy,omitempty"` 861 FallbackStrategy *FallbackStrategy `protobuf:"varint,10,opt,name=fallback_strategy,json=fallbackStrategy,proto3,enum=v2ray.core.app.dns.FallbackStrategy,oneof" json:"fallback_strategy,omitempty"` 862 } 863 864 func (x *SimplifiedNameServer) Reset() { 865 *x = SimplifiedNameServer{} 866 if protoimpl.UnsafeEnabled { 867 mi := &file_app_dns_config_proto_msgTypes[5] 868 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 869 ms.StoreMessageInfo(mi) 870 } 871 } 872 873 func (x *SimplifiedNameServer) String() string { 874 return protoimpl.X.MessageStringOf(x) 875 } 876 877 func (*SimplifiedNameServer) ProtoMessage() {} 878 879 func (x *SimplifiedNameServer) ProtoReflect() protoreflect.Message { 880 mi := &file_app_dns_config_proto_msgTypes[5] 881 if protoimpl.UnsafeEnabled && x != nil { 882 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 883 if ms.LoadMessageInfo() == nil { 884 ms.StoreMessageInfo(mi) 885 } 886 return ms 887 } 888 return mi.MessageOf(x) 889 } 890 891 // Deprecated: Use SimplifiedNameServer.ProtoReflect.Descriptor instead. 892 func (*SimplifiedNameServer) Descriptor() ([]byte, []int) { 893 return file_app_dns_config_proto_rawDescGZIP(), []int{5} 894 } 895 896 func (x *SimplifiedNameServer) GetAddress() *net.Endpoint { 897 if x != nil { 898 return x.Address 899 } 900 return nil 901 } 902 903 func (x *SimplifiedNameServer) GetClientIp() string { 904 if x != nil { 905 return x.ClientIp 906 } 907 return "" 908 } 909 910 func (x *SimplifiedNameServer) GetTag() string { 911 if x != nil { 912 return x.Tag 913 } 914 return "" 915 } 916 917 func (x *SimplifiedNameServer) GetPrioritizedDomain() []*SimplifiedNameServer_PriorityDomain { 918 if x != nil { 919 return x.PrioritizedDomain 920 } 921 return nil 922 } 923 924 func (x *SimplifiedNameServer) GetGeoip() []*routercommon.GeoIP { 925 if x != nil { 926 return x.Geoip 927 } 928 return nil 929 } 930 931 func (x *SimplifiedNameServer) GetOriginalRules() []*SimplifiedNameServer_OriginalRule { 932 if x != nil { 933 return x.OriginalRules 934 } 935 return nil 936 } 937 938 func (x *SimplifiedNameServer) GetFakeDns() *fakedns.FakeDnsPoolMulti { 939 if x != nil { 940 return x.FakeDns 941 } 942 return nil 943 } 944 945 // Deprecated: Do not use. 946 func (x *SimplifiedNameServer) GetSkipFallback() bool { 947 if x != nil { 948 return x.SkipFallback 949 } 950 return false 951 } 952 953 func (x *SimplifiedNameServer) GetQueryStrategy() QueryStrategy { 954 if x != nil && x.QueryStrategy != nil { 955 return *x.QueryStrategy 956 } 957 return QueryStrategy_USE_IP 958 } 959 960 func (x *SimplifiedNameServer) GetCacheStrategy() CacheStrategy { 961 if x != nil && x.CacheStrategy != nil { 962 return *x.CacheStrategy 963 } 964 return CacheStrategy_CacheEnabled 965 } 966 967 func (x *SimplifiedNameServer) GetFallbackStrategy() FallbackStrategy { 968 if x != nil && x.FallbackStrategy != nil { 969 return *x.FallbackStrategy 970 } 971 return FallbackStrategy_Enabled 972 } 973 974 type NameServer_PriorityDomain struct { 975 state protoimpl.MessageState 976 sizeCache protoimpl.SizeCache 977 unknownFields protoimpl.UnknownFields 978 979 Type DomainMatchingType `protobuf:"varint,1,opt,name=type,proto3,enum=v2ray.core.app.dns.DomainMatchingType" json:"type,omitempty"` 980 Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` 981 } 982 983 func (x *NameServer_PriorityDomain) Reset() { 984 *x = NameServer_PriorityDomain{} 985 if protoimpl.UnsafeEnabled { 986 mi := &file_app_dns_config_proto_msgTypes[6] 987 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 988 ms.StoreMessageInfo(mi) 989 } 990 } 991 992 func (x *NameServer_PriorityDomain) String() string { 993 return protoimpl.X.MessageStringOf(x) 994 } 995 996 func (*NameServer_PriorityDomain) ProtoMessage() {} 997 998 func (x *NameServer_PriorityDomain) ProtoReflect() protoreflect.Message { 999 mi := &file_app_dns_config_proto_msgTypes[6] 1000 if protoimpl.UnsafeEnabled && x != nil { 1001 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1002 if ms.LoadMessageInfo() == nil { 1003 ms.StoreMessageInfo(mi) 1004 } 1005 return ms 1006 } 1007 return mi.MessageOf(x) 1008 } 1009 1010 // Deprecated: Use NameServer_PriorityDomain.ProtoReflect.Descriptor instead. 1011 func (*NameServer_PriorityDomain) Descriptor() ([]byte, []int) { 1012 return file_app_dns_config_proto_rawDescGZIP(), []int{0, 0} 1013 } 1014 1015 func (x *NameServer_PriorityDomain) GetType() DomainMatchingType { 1016 if x != nil { 1017 return x.Type 1018 } 1019 return DomainMatchingType_Full 1020 } 1021 1022 func (x *NameServer_PriorityDomain) GetDomain() string { 1023 if x != nil { 1024 return x.Domain 1025 } 1026 return "" 1027 } 1028 1029 type NameServer_OriginalRule struct { 1030 state protoimpl.MessageState 1031 sizeCache protoimpl.SizeCache 1032 unknownFields protoimpl.UnknownFields 1033 1034 Rule string `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` 1035 Size uint32 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` 1036 } 1037 1038 func (x *NameServer_OriginalRule) Reset() { 1039 *x = NameServer_OriginalRule{} 1040 if protoimpl.UnsafeEnabled { 1041 mi := &file_app_dns_config_proto_msgTypes[7] 1042 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1043 ms.StoreMessageInfo(mi) 1044 } 1045 } 1046 1047 func (x *NameServer_OriginalRule) String() string { 1048 return protoimpl.X.MessageStringOf(x) 1049 } 1050 1051 func (*NameServer_OriginalRule) ProtoMessage() {} 1052 1053 func (x *NameServer_OriginalRule) ProtoReflect() protoreflect.Message { 1054 mi := &file_app_dns_config_proto_msgTypes[7] 1055 if protoimpl.UnsafeEnabled && x != nil { 1056 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1057 if ms.LoadMessageInfo() == nil { 1058 ms.StoreMessageInfo(mi) 1059 } 1060 return ms 1061 } 1062 return mi.MessageOf(x) 1063 } 1064 1065 // Deprecated: Use NameServer_OriginalRule.ProtoReflect.Descriptor instead. 1066 func (*NameServer_OriginalRule) Descriptor() ([]byte, []int) { 1067 return file_app_dns_config_proto_rawDescGZIP(), []int{0, 1} 1068 } 1069 1070 func (x *NameServer_OriginalRule) GetRule() string { 1071 if x != nil { 1072 return x.Rule 1073 } 1074 return "" 1075 } 1076 1077 func (x *NameServer_OriginalRule) GetSize() uint32 { 1078 if x != nil { 1079 return x.Size 1080 } 1081 return 0 1082 } 1083 1084 type SimplifiedNameServer_PriorityDomain struct { 1085 state protoimpl.MessageState 1086 sizeCache protoimpl.SizeCache 1087 unknownFields protoimpl.UnknownFields 1088 1089 Type DomainMatchingType `protobuf:"varint,1,opt,name=type,proto3,enum=v2ray.core.app.dns.DomainMatchingType" json:"type,omitempty"` 1090 Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` 1091 } 1092 1093 func (x *SimplifiedNameServer_PriorityDomain) Reset() { 1094 *x = SimplifiedNameServer_PriorityDomain{} 1095 if protoimpl.UnsafeEnabled { 1096 mi := &file_app_dns_config_proto_msgTypes[9] 1097 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1098 ms.StoreMessageInfo(mi) 1099 } 1100 } 1101 1102 func (x *SimplifiedNameServer_PriorityDomain) String() string { 1103 return protoimpl.X.MessageStringOf(x) 1104 } 1105 1106 func (*SimplifiedNameServer_PriorityDomain) ProtoMessage() {} 1107 1108 func (x *SimplifiedNameServer_PriorityDomain) ProtoReflect() protoreflect.Message { 1109 mi := &file_app_dns_config_proto_msgTypes[9] 1110 if protoimpl.UnsafeEnabled && x != nil { 1111 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1112 if ms.LoadMessageInfo() == nil { 1113 ms.StoreMessageInfo(mi) 1114 } 1115 return ms 1116 } 1117 return mi.MessageOf(x) 1118 } 1119 1120 // Deprecated: Use SimplifiedNameServer_PriorityDomain.ProtoReflect.Descriptor instead. 1121 func (*SimplifiedNameServer_PriorityDomain) Descriptor() ([]byte, []int) { 1122 return file_app_dns_config_proto_rawDescGZIP(), []int{5, 0} 1123 } 1124 1125 func (x *SimplifiedNameServer_PriorityDomain) GetType() DomainMatchingType { 1126 if x != nil { 1127 return x.Type 1128 } 1129 return DomainMatchingType_Full 1130 } 1131 1132 func (x *SimplifiedNameServer_PriorityDomain) GetDomain() string { 1133 if x != nil { 1134 return x.Domain 1135 } 1136 return "" 1137 } 1138 1139 type SimplifiedNameServer_OriginalRule struct { 1140 state protoimpl.MessageState 1141 sizeCache protoimpl.SizeCache 1142 unknownFields protoimpl.UnknownFields 1143 1144 Rule string `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` 1145 Size uint32 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` 1146 } 1147 1148 func (x *SimplifiedNameServer_OriginalRule) Reset() { 1149 *x = SimplifiedNameServer_OriginalRule{} 1150 if protoimpl.UnsafeEnabled { 1151 mi := &file_app_dns_config_proto_msgTypes[10] 1152 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1153 ms.StoreMessageInfo(mi) 1154 } 1155 } 1156 1157 func (x *SimplifiedNameServer_OriginalRule) String() string { 1158 return protoimpl.X.MessageStringOf(x) 1159 } 1160 1161 func (*SimplifiedNameServer_OriginalRule) ProtoMessage() {} 1162 1163 func (x *SimplifiedNameServer_OriginalRule) ProtoReflect() protoreflect.Message { 1164 mi := &file_app_dns_config_proto_msgTypes[10] 1165 if protoimpl.UnsafeEnabled && x != nil { 1166 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1167 if ms.LoadMessageInfo() == nil { 1168 ms.StoreMessageInfo(mi) 1169 } 1170 return ms 1171 } 1172 return mi.MessageOf(x) 1173 } 1174 1175 // Deprecated: Use SimplifiedNameServer_OriginalRule.ProtoReflect.Descriptor instead. 1176 func (*SimplifiedNameServer_OriginalRule) Descriptor() ([]byte, []int) { 1177 return file_app_dns_config_proto_rawDescGZIP(), []int{5, 1} 1178 } 1179 1180 func (x *SimplifiedNameServer_OriginalRule) GetRule() string { 1181 if x != nil { 1182 return x.Rule 1183 } 1184 return "" 1185 } 1186 1187 func (x *SimplifiedNameServer_OriginalRule) GetSize() uint32 { 1188 if x != nil { 1189 return x.Size 1190 } 1191 return 0 1192 } 1193 1194 var File_app_dns_config_proto protoreflect.FileDescriptor 1195 1196 var file_app_dns_config_proto_rawDesc = []byte{ 1197 0x0a, 0x14, 0x61, 0x70, 0x70, 0x2f, 0x64, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1198 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 1199 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x1a, 0x18, 0x63, 0x6f, 0x6d, 0x6d, 1200 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 1201 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 1202 0x2f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 1203 0x74, 0x6f, 0x1a, 0x24, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x72, 1204 0x6f, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 1205 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x61, 0x70, 0x70, 0x2f, 0x64, 0x6e, 1206 0x73, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, 0x73, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, 1207 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 1208 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 1209 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x07, 0x0a, 0x0a, 0x4e, 0x61, 1210 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 1211 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x32, 0x72, 0x61, 1212 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 1213 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 1214 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 1215 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 1216 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 1217 0x61, 0x67, 0x12, 0x5c, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 1218 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 1219 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 1220 0x64, 0x6e, 0x73, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 1221 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x11, 0x70, 1222 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 1223 0x12, 0x3f, 0x0a, 0x05, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 1224 0x29, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 1225 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 1226 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x05, 0x67, 0x65, 0x6f, 0x69, 1227 0x70, 0x12, 0x52, 0x0a, 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x75, 1228 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x76, 0x32, 0x72, 0x61, 1229 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x4e, 1230 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 1231 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 1232 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x66, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x6e, 1233 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 1234 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x66, 0x61, 0x6b, 1235 0x65, 0x64, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 1236 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x07, 0x66, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x12, 0x26, 1237 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x06, 1238 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x61, 1239 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x4d, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 1240 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 1241 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 1242 0x64, 0x6e, 0x73, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 1243 0x79, 0x48, 0x00, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 1244 0x67, 0x79, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 1245 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 1246 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 1247 0x6e, 0x73, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 1248 0x48, 0x01, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 1249 0x79, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 1250 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 1251 0x24, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 1252 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 1253 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, 0x02, 0x52, 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 1254 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x64, 0x0a, 0x0e, 1255 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3a, 1256 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x76, 1257 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 1258 0x73, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 1259 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 1260 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 1261 0x69, 0x6e, 0x1a, 0x36, 0x0a, 0x0c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x75, 1262 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 1263 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 1264 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x71, 1265 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x11, 0x0a, 1266 0x0f, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 1267 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 1268 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x98, 0x01, 0x0a, 0x0b, 0x48, 0x6f, 0x73, 0x74, 0x4d, 1269 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 1270 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 1271 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 1272 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 1273 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 1274 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 1275 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 1276 0x6f, 0x78, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 1277 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 1278 0x6e, 0x22, 0x90, 0x07, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0b, 1279 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 1280 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 1281 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 1282 0x6e, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 1283 0x65, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 1284 0x65, 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 1285 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x4e, 0x61, 1286 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x65, 1287 0x72, 0x76, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x05, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 1288 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 1289 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 1290 0x48, 0x6f, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 1291 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 1292 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 1293 0x49, 0x70, 0x12, 0x42, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x68, 0x6f, 0x73, 1294 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 1295 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x48, 0x6f, 1296 0x73, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x69, 1297 0x63, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x66, 0x61, 0x6b, 0x65, 0x5f, 0x64, 1298 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 1299 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x66, 0x61, 1300 0x6b, 0x65, 0x64, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 1301 0x6c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x07, 0x66, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x12, 1302 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 1303 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 1304 0x68, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6f, 0x6d, 0x61, 0x69, 1305 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 1306 0x62, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 1307 0x18, 0x01, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 1308 0x12, 0x2c, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 1309 0x61, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 1310 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x3a, 1311 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 1312 0x6b, 0x49, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 1313 0x18, 0x01, 0x52, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 1314 0x61, 0x63, 0x6b, 0x49, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x48, 0x0a, 0x0e, 0x71, 0x75, 1315 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x09, 0x20, 0x01, 1316 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 1317 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 1318 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 1319 0x74, 0x65, 0x67, 0x79, 0x12, 0x48, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x74, 1320 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 1321 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 1322 0x73, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 1323 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x51, 1324 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 1325 0x65, 0x67, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72, 0x61, 1326 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x46, 1327 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 1328 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 1329 0x79, 0x1a, 0x5b, 0x0a, 0x0a, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 1330 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 1331 0x79, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 1332 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 1333 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, 0x50, 0x4f, 0x72, 0x44, 0x6f, 0x6d, 1334 0x61, 0x69, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 1335 0x08, 0x07, 0x10, 0x08, 0x22, 0xed, 0x05, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 1336 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 1337 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 1338 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 1339 0x64, 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 1340 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x65, 1341 0x72, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 1342 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 1343 0x70, 0x12, 0x4c, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x68, 0x6f, 0x73, 0x74, 1344 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 1345 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x6d, 1346 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 1347 0x6e, 0x67, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 1348 0x47, 0x0a, 0x08, 0x66, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 1349 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 1350 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, 0x73, 0x2e, 0x46, 1351 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 1352 0x07, 0x66, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 1353 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x6f, 1354 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 1355 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 1356 0x72, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 1357 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x64, 0x69, 0x73, 1358 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x64, 0x69, 0x73, 1359 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 1360 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 1361 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x3a, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 1362 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x66, 0x4d, 0x61, 0x74, 0x63, 1363 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x64, 0x69, 0x73, 1364 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x66, 0x4d, 0x61, 1365 0x74, 0x63, 0x68, 0x12, 0x48, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 1366 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x32, 1367 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 1368 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0d, 1369 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x48, 0x0a, 1370 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 1371 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 1372 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 1373 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 1374 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x51, 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 1375 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x0d, 0x20, 0x01, 1376 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 1377 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 1378 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 1379 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x16, 0x82, 0xb5, 0x18, 0x09, 1380 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, 0x18, 0x05, 0x12, 0x03, 0x64, 1381 0x6e, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 1382 0x08, 0x07, 0x10, 0x08, 0x22, 0xa2, 0x01, 0x0a, 0x15, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 1383 0x69, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x3a, 1384 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x76, 1385 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 1386 0x73, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 1387 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 1388 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 1389 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 1390 0x69, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x6f, 1391 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x78, 1392 0x69, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0xc8, 0x07, 0x0a, 0x14, 0x53, 0x69, 1393 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 1394 0x65, 0x72, 0x12, 0x39, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 1395 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 1396 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 1397 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 1398 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 1399 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 1400 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x66, 0x0a, 0x12, 1401 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 1402 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 1403 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x53, 0x69, 1404 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 1405 0x65, 0x72, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 1406 0x6e, 0x52, 0x11, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x44, 0x6f, 1407 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x18, 0x03, 0x20, 1408 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 1409 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x6f, 0x75, 0x74, 1410 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x05, 1411 0x67, 0x65, 0x6f, 0x69, 0x70, 0x12, 0x5c, 0x0a, 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 1412 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 1413 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 1414 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 1415 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 1416 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x75, 1417 0x6c, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x66, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x18, 1418 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 1419 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x64, 1420 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x4d, 0x75, 1421 0x6c, 0x74, 0x69, 0x52, 0x07, 0x66, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0c, 1422 0x73, 0x6b, 0x69, 0x70, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 1423 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x61, 0x6c, 0x6c, 1424 0x62, 0x61, 0x63, 0x6b, 0x12, 0x4d, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 1425 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 1426 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 1427 0x73, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, 1428 0x00, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 1429 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x74, 0x72, 1430 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x32, 1431 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 1432 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, 0x01, 1433 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x88, 1434 0x01, 0x01, 0x12, 0x56, 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 1435 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 1436 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 1437 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 1438 0x65, 0x67, 0x79, 0x48, 0x02, 0x52, 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 1439 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x64, 0x0a, 0x0e, 0x50, 0x72, 1440 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3a, 0x0a, 0x04, 1441 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x76, 0x32, 0x72, 1442 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 1443 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 1444 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 1445 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 1446 0x1a, 0x36, 0x0a, 0x0c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, 1447 0x12, 0x12, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 1448 0x72, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 1449 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x71, 0x75, 0x65, 1450 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 1451 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x14, 1452 0x0a, 0x12, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x61, 1453 0x74, 0x65, 0x67, 0x79, 0x2a, 0x45, 0x0a, 0x12, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 1454 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x75, 1455 0x6c, 0x6c, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x64, 0x6f, 0x6d, 0x61, 0x69, 1456 0x6e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x10, 0x02, 1457 0x12, 0x09, 0x0a, 0x05, 0x52, 0x65, 0x67, 0x65, 0x78, 0x10, 0x03, 0x2a, 0x35, 0x0a, 0x0d, 0x51, 1458 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0a, 0x0a, 0x06, 1459 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, 1460 0x49, 0x50, 0x34, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x36, 1461 0x10, 0x02, 0x2a, 0x34, 0x0a, 0x0d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 1462 0x65, 0x67, 0x79, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x61, 0x62, 1463 0x6c, 0x65, 0x64, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 1464 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x01, 0x2a, 0x45, 0x0a, 0x10, 0x46, 0x61, 0x6c, 0x6c, 1465 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0b, 0x0a, 0x07, 1466 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x69, 0x73, 1467 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 1468 0x6c, 0x65, 0x64, 0x49, 0x66, 0x41, 0x6e, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x02, 0x42, 1469 0x57, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 1470 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x50, 0x01, 0x5a, 0x26, 0x67, 0x69, 0x74, 1471 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 1472 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 1473 0x64, 0x6e, 0x73, 0xaa, 0x02, 0x12, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 1474 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x44, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1475 } 1476 1477 var ( 1478 file_app_dns_config_proto_rawDescOnce sync.Once 1479 file_app_dns_config_proto_rawDescData = file_app_dns_config_proto_rawDesc 1480 ) 1481 1482 func file_app_dns_config_proto_rawDescGZIP() []byte { 1483 file_app_dns_config_proto_rawDescOnce.Do(func() { 1484 file_app_dns_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_app_dns_config_proto_rawDescData) 1485 }) 1486 return file_app_dns_config_proto_rawDescData 1487 } 1488 1489 var file_app_dns_config_proto_enumTypes = make([]protoimpl.EnumInfo, 4) 1490 var file_app_dns_config_proto_msgTypes = make([]protoimpl.MessageInfo, 11) 1491 var file_app_dns_config_proto_goTypes = []interface{}{ 1492 (DomainMatchingType)(0), // 0: v2ray.core.app.dns.DomainMatchingType 1493 (QueryStrategy)(0), // 1: v2ray.core.app.dns.QueryStrategy 1494 (CacheStrategy)(0), // 2: v2ray.core.app.dns.CacheStrategy 1495 (FallbackStrategy)(0), // 3: v2ray.core.app.dns.FallbackStrategy 1496 (*NameServer)(nil), // 4: v2ray.core.app.dns.NameServer 1497 (*HostMapping)(nil), // 5: v2ray.core.app.dns.HostMapping 1498 (*Config)(nil), // 6: v2ray.core.app.dns.Config 1499 (*SimplifiedConfig)(nil), // 7: v2ray.core.app.dns.SimplifiedConfig 1500 (*SimplifiedHostMapping)(nil), // 8: v2ray.core.app.dns.SimplifiedHostMapping 1501 (*SimplifiedNameServer)(nil), // 9: v2ray.core.app.dns.SimplifiedNameServer 1502 (*NameServer_PriorityDomain)(nil), // 10: v2ray.core.app.dns.NameServer.PriorityDomain 1503 (*NameServer_OriginalRule)(nil), // 11: v2ray.core.app.dns.NameServer.OriginalRule 1504 nil, // 12: v2ray.core.app.dns.Config.HostsEntry 1505 (*SimplifiedNameServer_PriorityDomain)(nil), // 13: v2ray.core.app.dns.SimplifiedNameServer.PriorityDomain 1506 (*SimplifiedNameServer_OriginalRule)(nil), // 14: v2ray.core.app.dns.SimplifiedNameServer.OriginalRule 1507 (*net.Endpoint)(nil), // 15: v2ray.core.common.net.Endpoint 1508 (*routercommon.GeoIP)(nil), // 16: v2ray.core.app.router.routercommon.GeoIP 1509 (*fakedns.FakeDnsPoolMulti)(nil), // 17: v2ray.core.app.dns.fakedns.FakeDnsPoolMulti 1510 (*net.IPOrDomain)(nil), // 18: v2ray.core.common.net.IPOrDomain 1511 } 1512 var file_app_dns_config_proto_depIdxs = []int32{ 1513 15, // 0: v2ray.core.app.dns.NameServer.address:type_name -> v2ray.core.common.net.Endpoint 1514 10, // 1: v2ray.core.app.dns.NameServer.prioritized_domain:type_name -> v2ray.core.app.dns.NameServer.PriorityDomain 1515 16, // 2: v2ray.core.app.dns.NameServer.geoip:type_name -> v2ray.core.app.router.routercommon.GeoIP 1516 11, // 3: v2ray.core.app.dns.NameServer.original_rules:type_name -> v2ray.core.app.dns.NameServer.OriginalRule 1517 17, // 4: v2ray.core.app.dns.NameServer.fake_dns:type_name -> v2ray.core.app.dns.fakedns.FakeDnsPoolMulti 1518 1, // 5: v2ray.core.app.dns.NameServer.query_strategy:type_name -> v2ray.core.app.dns.QueryStrategy 1519 2, // 6: v2ray.core.app.dns.NameServer.cache_strategy:type_name -> v2ray.core.app.dns.CacheStrategy 1520 3, // 7: v2ray.core.app.dns.NameServer.fallback_strategy:type_name -> v2ray.core.app.dns.FallbackStrategy 1521 0, // 8: v2ray.core.app.dns.HostMapping.type:type_name -> v2ray.core.app.dns.DomainMatchingType 1522 15, // 9: v2ray.core.app.dns.Config.NameServers:type_name -> v2ray.core.common.net.Endpoint 1523 4, // 10: v2ray.core.app.dns.Config.name_server:type_name -> v2ray.core.app.dns.NameServer 1524 12, // 11: v2ray.core.app.dns.Config.Hosts:type_name -> v2ray.core.app.dns.Config.HostsEntry 1525 5, // 12: v2ray.core.app.dns.Config.static_hosts:type_name -> v2ray.core.app.dns.HostMapping 1526 17, // 13: v2ray.core.app.dns.Config.fake_dns:type_name -> v2ray.core.app.dns.fakedns.FakeDnsPoolMulti 1527 1, // 14: v2ray.core.app.dns.Config.query_strategy:type_name -> v2ray.core.app.dns.QueryStrategy 1528 2, // 15: v2ray.core.app.dns.Config.cache_strategy:type_name -> v2ray.core.app.dns.CacheStrategy 1529 3, // 16: v2ray.core.app.dns.Config.fallback_strategy:type_name -> v2ray.core.app.dns.FallbackStrategy 1530 9, // 17: v2ray.core.app.dns.SimplifiedConfig.name_server:type_name -> v2ray.core.app.dns.SimplifiedNameServer 1531 8, // 18: v2ray.core.app.dns.SimplifiedConfig.static_hosts:type_name -> v2ray.core.app.dns.SimplifiedHostMapping 1532 17, // 19: v2ray.core.app.dns.SimplifiedConfig.fake_dns:type_name -> v2ray.core.app.dns.fakedns.FakeDnsPoolMulti 1533 1, // 20: v2ray.core.app.dns.SimplifiedConfig.query_strategy:type_name -> v2ray.core.app.dns.QueryStrategy 1534 2, // 21: v2ray.core.app.dns.SimplifiedConfig.cache_strategy:type_name -> v2ray.core.app.dns.CacheStrategy 1535 3, // 22: v2ray.core.app.dns.SimplifiedConfig.fallback_strategy:type_name -> v2ray.core.app.dns.FallbackStrategy 1536 0, // 23: v2ray.core.app.dns.SimplifiedHostMapping.type:type_name -> v2ray.core.app.dns.DomainMatchingType 1537 15, // 24: v2ray.core.app.dns.SimplifiedNameServer.address:type_name -> v2ray.core.common.net.Endpoint 1538 13, // 25: v2ray.core.app.dns.SimplifiedNameServer.prioritized_domain:type_name -> v2ray.core.app.dns.SimplifiedNameServer.PriorityDomain 1539 16, // 26: v2ray.core.app.dns.SimplifiedNameServer.geoip:type_name -> v2ray.core.app.router.routercommon.GeoIP 1540 14, // 27: v2ray.core.app.dns.SimplifiedNameServer.original_rules:type_name -> v2ray.core.app.dns.SimplifiedNameServer.OriginalRule 1541 17, // 28: v2ray.core.app.dns.SimplifiedNameServer.fake_dns:type_name -> v2ray.core.app.dns.fakedns.FakeDnsPoolMulti 1542 1, // 29: v2ray.core.app.dns.SimplifiedNameServer.query_strategy:type_name -> v2ray.core.app.dns.QueryStrategy 1543 2, // 30: v2ray.core.app.dns.SimplifiedNameServer.cache_strategy:type_name -> v2ray.core.app.dns.CacheStrategy 1544 3, // 31: v2ray.core.app.dns.SimplifiedNameServer.fallback_strategy:type_name -> v2ray.core.app.dns.FallbackStrategy 1545 0, // 32: v2ray.core.app.dns.NameServer.PriorityDomain.type:type_name -> v2ray.core.app.dns.DomainMatchingType 1546 18, // 33: v2ray.core.app.dns.Config.HostsEntry.value:type_name -> v2ray.core.common.net.IPOrDomain 1547 0, // 34: v2ray.core.app.dns.SimplifiedNameServer.PriorityDomain.type:type_name -> v2ray.core.app.dns.DomainMatchingType 1548 35, // [35:35] is the sub-list for method output_type 1549 35, // [35:35] is the sub-list for method input_type 1550 35, // [35:35] is the sub-list for extension type_name 1551 35, // [35:35] is the sub-list for extension extendee 1552 0, // [0:35] is the sub-list for field type_name 1553 } 1554 1555 func init() { file_app_dns_config_proto_init() } 1556 func file_app_dns_config_proto_init() { 1557 if File_app_dns_config_proto != nil { 1558 return 1559 } 1560 if !protoimpl.UnsafeEnabled { 1561 file_app_dns_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1562 switch v := v.(*NameServer); i { 1563 case 0: 1564 return &v.state 1565 case 1: 1566 return &v.sizeCache 1567 case 2: 1568 return &v.unknownFields 1569 default: 1570 return nil 1571 } 1572 } 1573 file_app_dns_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1574 switch v := v.(*HostMapping); i { 1575 case 0: 1576 return &v.state 1577 case 1: 1578 return &v.sizeCache 1579 case 2: 1580 return &v.unknownFields 1581 default: 1582 return nil 1583 } 1584 } 1585 file_app_dns_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1586 switch v := v.(*Config); i { 1587 case 0: 1588 return &v.state 1589 case 1: 1590 return &v.sizeCache 1591 case 2: 1592 return &v.unknownFields 1593 default: 1594 return nil 1595 } 1596 } 1597 file_app_dns_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1598 switch v := v.(*SimplifiedConfig); i { 1599 case 0: 1600 return &v.state 1601 case 1: 1602 return &v.sizeCache 1603 case 2: 1604 return &v.unknownFields 1605 default: 1606 return nil 1607 } 1608 } 1609 file_app_dns_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1610 switch v := v.(*SimplifiedHostMapping); i { 1611 case 0: 1612 return &v.state 1613 case 1: 1614 return &v.sizeCache 1615 case 2: 1616 return &v.unknownFields 1617 default: 1618 return nil 1619 } 1620 } 1621 file_app_dns_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1622 switch v := v.(*SimplifiedNameServer); i { 1623 case 0: 1624 return &v.state 1625 case 1: 1626 return &v.sizeCache 1627 case 2: 1628 return &v.unknownFields 1629 default: 1630 return nil 1631 } 1632 } 1633 file_app_dns_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1634 switch v := v.(*NameServer_PriorityDomain); i { 1635 case 0: 1636 return &v.state 1637 case 1: 1638 return &v.sizeCache 1639 case 2: 1640 return &v.unknownFields 1641 default: 1642 return nil 1643 } 1644 } 1645 file_app_dns_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1646 switch v := v.(*NameServer_OriginalRule); i { 1647 case 0: 1648 return &v.state 1649 case 1: 1650 return &v.sizeCache 1651 case 2: 1652 return &v.unknownFields 1653 default: 1654 return nil 1655 } 1656 } 1657 file_app_dns_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1658 switch v := v.(*SimplifiedNameServer_PriorityDomain); i { 1659 case 0: 1660 return &v.state 1661 case 1: 1662 return &v.sizeCache 1663 case 2: 1664 return &v.unknownFields 1665 default: 1666 return nil 1667 } 1668 } 1669 file_app_dns_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1670 switch v := v.(*SimplifiedNameServer_OriginalRule); i { 1671 case 0: 1672 return &v.state 1673 case 1: 1674 return &v.sizeCache 1675 case 2: 1676 return &v.unknownFields 1677 default: 1678 return nil 1679 } 1680 } 1681 } 1682 file_app_dns_config_proto_msgTypes[0].OneofWrappers = []interface{}{} 1683 file_app_dns_config_proto_msgTypes[5].OneofWrappers = []interface{}{} 1684 type x struct{} 1685 out := protoimpl.TypeBuilder{ 1686 File: protoimpl.DescBuilder{ 1687 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1688 RawDescriptor: file_app_dns_config_proto_rawDesc, 1689 NumEnums: 4, 1690 NumMessages: 11, 1691 NumExtensions: 0, 1692 NumServices: 0, 1693 }, 1694 GoTypes: file_app_dns_config_proto_goTypes, 1695 DependencyIndexes: file_app_dns_config_proto_depIdxs, 1696 EnumInfos: file_app_dns_config_proto_enumTypes, 1697 MessageInfos: file_app_dns_config_proto_msgTypes, 1698 }.Build() 1699 File_app_dns_config_proto = out.File 1700 file_app_dns_config_proto_rawDesc = nil 1701 file_app_dns_config_proto_goTypes = nil 1702 file_app_dns_config_proto_depIdxs = nil 1703 }