*: regenerate proto files

release-3.1
Gyu-Ho Lee 2016-07-15 13:24:19 -07:00
parent 4a7b730e69
commit 5b92e17e86
4 changed files with 851 additions and 55 deletions

View File

@ -427,6 +427,7 @@ Empty field.
| ----- | ----------- | ---- |
| key | key is the first key to delete in the range. | bytes |
| range_end | range_end is the key following the last key to delete for the range [key, range_end). If range_end is not given, the range is defined to contain only the key argument. If range_end is '\0', the range is all keys greater than or equal to the key argument. | bytes |
| prev_kv | If prev_kv is set, etcd gets the previous key-value pairs before deleting it. The previous key-value pairs will be returned in the delte response. | bool |
@ -436,6 +437,7 @@ Empty field.
| ----- | ----------- | ---- |
| header | | ResponseHeader |
| deleted | deleted is the number of keys deleted by the delete range request. | int64 |
| prev_kvs | if prev_kv is set in the request, the previous key-value pairs will be returned. | (slice of) mvccpb.KeyValue |
@ -591,6 +593,7 @@ Empty field.
| key | key is the key, in bytes, to put into the key-value store. | bytes |
| value | value is the value, in bytes, to associate with the key in the key-value store. | bytes |
| lease | lease is the lease ID to associate with the key in the key-value store. A lease value of 0 indicates no lease. | int64 |
| prev_kv | If prev_kv is set, etcd gets the previous key-value pair before changing it. The previous key-value pair will be returned in the put response. | bool |
@ -599,6 +602,7 @@ Empty field.
| Field | Description | Type |
| ----- | ----------- | ---- |
| header | | ResponseHeader |
| prev_kv | if prev_kv is set in the request, the previous key-value pair will be returned. | mvccpb.KeyValue |
@ -613,6 +617,8 @@ Empty field.
| sort_order | sort_order is the order for returned sorted results. | SortOrder |
| sort_target | sort_target is the key-value field to use for sorting. | SortTarget |
| serializable | serializable sets the range request to use serializable member-local reads. Range requests are linearizable by default; linearizable requests have higher latency and lower throughput than serializable requests but reflect the current consensus of the cluster. For better performance, in exchange for possible stale reads, a serializable range request is served locally without needing to reach consensus with other nodes in the cluster. | bool |
| keys_only | keys_only when set returns only the keys and not the values. | bool |
| count_only | count_only when set returns only the count of the keys in the range. | bool |
@ -621,8 +627,9 @@ Empty field.
| Field | Description | Type |
| ----- | ----------- | ---- |
| header | | ResponseHeader |
| kvs | kvs is the list of key-value pairs matched by the range request. | (slice of) mvccpb.KeyValue |
| kvs | kvs is the list of key-value pairs matched by the range request. kvs is empty when count is requested. | (slice of) mvccpb.KeyValue |
| more | more indicates if there are more keys to return in the requested range. | bool |
| count | count is set to the number of keys within the range when requested. | int64 |
@ -732,6 +739,8 @@ From google paxosdb paper: Our implementation hinges around a powerful primitive
| range_end | range_end is the end of the range [key, range_end) to watch. If range_end is not given, only the key argument is watched. If range_end is equal to '\0', all keys greater than or equal to the key argument are watched. | bytes |
| start_revision | start_revision is an optional revision to watch from (inclusive). No start_revision is "now". | int64 |
| progress_notify | progress_notify is set so that the etcd server will periodically send a WatchResponse with no events to the new watcher if there are no recent events. It is useful when clients wish to recover a disconnected watcher starting from a recent known revision. The etcd server may decide how often it will send notifications based on current load. | bool |
| filters | filter out put event. filter out delete event. filters filter the events at server side before it sends back to the watcher. | (slice of) FilterType |
| prev_kv | If prev_kv is set, created watcher gets the previous KV before the event happens. If the previous KV is already compacted, nothing will be returned. | bool |
@ -764,6 +773,7 @@ From google paxosdb paper: Our implementation hinges around a powerful primitive
| ----- | ----------- | ---- |
| type | type is the kind of event. If type is a PUT, it indicates new data has been stored to the key. If type is a DELETE, it indicates the key was deleted. | EventType |
| kv | kv holds the KeyValue for the event. A PUT event contains current kv pair. A PUT event with kv.Version=1 indicates the creation of a key. A DELETE/EXPIRE event contains the deleted key with its modification revision set to the revision of deletion. | KeyValue |
| prev_kv | prev_kv holds the key-value pair before the event happens. | KeyValue |

View File

@ -15,13 +15,553 @@
"application/json"
],
"paths": {
"/v3alpha/auth/authenticate": {
"post": {
"summary": "Authenticate processes an authenticate request.",
"operationId": "Authenticate",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthenticateResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthenticateRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/disable": {
"post": {
"summary": "AuthDisable disables authentication.",
"operationId": "AuthDisable",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthDisableResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthDisableRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/enable": {
"post": {
"summary": "AuthEnable enables authentication.",
"operationId": "AuthEnable",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthEnableResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthEnableRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/role/add": {
"post": {
"summary": "RoleAdd adds a new role.",
"operationId": "RoleAdd",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthRoleAddResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthRoleAddRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/role/delete": {
"post": {
"summary": "RoleDelete deletes a specified role.",
"operationId": "RoleDelete",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthRoleDeleteResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthRoleDeleteRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/role/get": {
"post": {
"summary": "RoleGet gets detailed role information.",
"operationId": "RoleGet",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthRoleGetResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthRoleGetRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/role/grant": {
"post": {
"summary": "RoleGrantPermission grants a permission of a specified key or range to a specified role.",
"operationId": "RoleGrantPermission",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthRoleGrantPermissionResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthRoleGrantPermissionRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/role/list": {
"post": {
"summary": "RoleList gets lists of all roles.",
"operationId": "RoleList",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthRoleListResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthRoleListRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/role/revoke": {
"post": {
"summary": "RoleRevokePermission revokes a key or range permission of a specified role.",
"operationId": "RoleRevokePermission",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthRoleRevokePermissionResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthRoleRevokePermissionRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/user/add": {
"post": {
"summary": "UserAdd adds a new user.",
"operationId": "UserAdd",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserAddResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserAddRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/user/changepw": {
"post": {
"summary": "UserChangePassword changes the password of a specified user.",
"operationId": "UserChangePassword",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserChangePasswordResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserChangePasswordRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/user/delete": {
"post": {
"summary": "UserDelete deletes a specified user.",
"operationId": "UserDelete",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserDeleteResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserDeleteRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/user/get": {
"post": {
"summary": "UserGet gets detailed user information.",
"operationId": "UserGet",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserGetResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserGetRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/user/grant": {
"post": {
"summary": "UserGrant grants a role to a specified user.",
"operationId": "UserGrantRole",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserGrantRoleResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserGrantRoleRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/user/list": {
"post": {
"summary": "UserList gets a list of all users.",
"operationId": "UserList",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserListResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserListRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/auth/user/revoke": {
"post": {
"summary": "UserRevokeRole revokes a role of specified user.",
"operationId": "UserRevokeRole",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserRevokeRoleResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAuthUserRevokeRoleRequest"
}
}
],
"tags": [
"Auth"
]
}
},
"/v3alpha/cluster/member/add": {
"post": {
"summary": "MemberAdd adds a member into the cluster.",
"operationId": "MemberAdd",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbMemberAddResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbMemberAddRequest"
}
}
],
"tags": [
"Cluster"
]
}
},
"/v3alpha/cluster/member/list": {
"post": {
"summary": "MemberList lists all the members in the cluster.",
"operationId": "MemberList",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbMemberListResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbMemberListRequest"
}
}
],
"tags": [
"Cluster"
]
}
},
"/v3alpha/cluster/member/remove": {
"post": {
"summary": "MemberRemove removes an existing member from the cluster.",
"operationId": "MemberRemove",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbMemberRemoveResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbMemberRemoveRequest"
}
}
],
"tags": [
"Cluster"
]
}
},
"/v3alpha/cluster/member/update": {
"post": {
"summary": "MemberUpdate updates the member configuration.",
"operationId": "MemberUpdate",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbMemberUpdateResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbMemberUpdateRequest"
}
}
],
"tags": [
"Cluster"
]
}
},
"/v3alpha/kv/compaction": {
"post": {
"summary": "Txn processes multiple requests in a single transaction.\nA txn request increments the revision of the key-value store\nand generates events with the same revision for every completed request.\nIt is not allowed to modify the same key several times within one txn.",
"operationId": "Compact",
"responses": {
"200": {
"description": "Description",
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbCompactionResponse"
}
@ -42,13 +582,40 @@
]
}
},
"/v3alpha/kv/lease/revoke": {
"post": {
"summary": "LeaseRevoke revokes a lease. All keys attached to the lease will expire and be deleted.",
"operationId": "LeaseRevoke",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbLeaseRevokeResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbLeaseRevokeRequest"
}
}
],
"tags": [
"Lease"
]
}
},
"/v3alpha/kv/put": {
"post": {
"summary": "Put puts the given key into the key-value store.\nA put request increments the revision of the key-value store\nand generates one event in the event history.",
"operationId": "Put",
"responses": {
"200": {
"description": "Description",
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbPutResponse"
}
@ -75,7 +642,7 @@
"operationId": "Range",
"responses": {
"200": {
"description": "Description",
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbRangeResponse"
}
@ -102,7 +669,7 @@
"operationId": "Txn",
"responses": {
"200": {
"description": "Description",
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbTxnResponse"
}
@ -122,6 +689,224 @@
"KV"
]
}
},
"/v3alpha/lease/grant": {
"post": {
"summary": "LeaseGrant creates a lease which expires if the server does not receive a keepAlive\nwithin a given time to live period. All keys attached to the lease will be expired and\ndeleted if the lease expires. Each expired key generates a delete event in the event history.",
"operationId": "LeaseGrant",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbLeaseGrantResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbLeaseGrantRequest"
}
}
],
"tags": [
"Lease"
]
}
},
"/v3alpha/lease/keepalive": {
"post": {
"summary": "LeaseKeepAlive keeps the lease alive by streaming keep alive requests from the client\nto the server and streaming keep alive responses from the server to the client.",
"operationId": "LeaseKeepAlive",
"responses": {
"200": {
"description": "(streaming responses)",
"schema": {
"$ref": "#/definitions/etcdserverpbLeaseKeepAliveResponse"
}
}
},
"parameters": [
{
"name": "body",
"description": "(streaming inputs)",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbLeaseKeepAliveRequest"
}
}
],
"tags": [
"Lease"
]
}
},
"/v3alpha/maintenance/alarm": {
"post": {
"summary": "Alarm activates, deactivates, and queries alarms regarding cluster health.",
"operationId": "Alarm",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbAlarmResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbAlarmRequest"
}
}
],
"tags": [
"Maintenance"
]
}
},
"/v3alpha/maintenance/defragment": {
"post": {
"summary": "Defragment defragments a member's backend database to recover storage space.",
"operationId": "Defragment",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbDefragmentResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbDefragmentRequest"
}
}
],
"tags": [
"Maintenance"
]
}
},
"/v3alpha/maintenance/hash": {
"post": {
"summary": "Hash returns the hash of the local KV state for consistency checking purpose.\nThis is designed for testing; do not use this in production when there\nare ongoing transactions.",
"operationId": "Hash",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbHashResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbHashRequest"
}
}
],
"tags": [
"Maintenance"
]
}
},
"/v3alpha/maintenance/snapshot": {
"post": {
"summary": "Snapshot sends a snapshot of the entire backend from a member over a stream to a client.",
"operationId": "Snapshot",
"responses": {
"200": {
"description": "(streaming responses)",
"schema": {
"$ref": "#/definitions/etcdserverpbSnapshotResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbSnapshotRequest"
}
}
],
"tags": [
"Maintenance"
]
}
},
"/v3alpha/maintenance/status": {
"post": {
"summary": "Status gets the status of the member.",
"operationId": "Status",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/etcdserverpbStatusResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbStatusRequest"
}
}
],
"tags": [
"Maintenance"
]
}
},
"/v3alpha/watch": {
"post": {
"summary": "Watch watches for events happening or that have happened. Both input and output\nare streams; the input stream is for creating and canceling watchers and the output\nstream sends events. One watch RPC can watch on multiple key ranges, streaming events\nfor several watches at once. The entire event history can be watched starting from the\nlast compaction revision.",
"operationId": "Watch",
"responses": {
"200": {
"description": "(streaming responses)",
"schema": {
"$ref": "#/definitions/etcdserverpbWatchResponse"
}
}
},
"parameters": [
{
"name": "body",
"description": "(streaming inputs)",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/etcdserverpbWatchRequest"
}
}
],
"tags": [
"Watch"
]
}
}
},
"definitions": {

View File

@ -13,9 +13,9 @@ import (
"io"
"net/http"
"github.com/gengo/grpc-gateway/runtime"
"github.com/gengo/grpc-gateway/utilities"
"github.com/golang/protobuf/proto"
"github.com/grpc-ecosystem/grpc-gateway/runtime"
"github.com/grpc-ecosystem/grpc-gateway/utilities"
"golang.org/x/net/context"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"

View File

@ -1836,52 +1836,53 @@ var (
)
var fileDescriptorRaft = []byte{
// 750 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x64, 0x54, 0xcd, 0x6e, 0xd4, 0x3a,
0x14, 0x6e, 0x66, 0x32, 0x7f, 0x67, 0xda, 0xa9, 0xeb, 0xce, 0xbd, 0x8a, 0xaa, 0xab, 0xde, 0xde,
0xe8, 0x2e, 0x50, 0x51, 0x0b, 0x74, 0xc1, 0x82, 0x5d, 0x7f, 0x90, 0x5a, 0x89, 0x56, 0x30, 0x6d,
0x59, 0x80, 0x10, 0x72, 0x13, 0x4f, 0x66, 0xa0, 0x89, 0x23, 0xc7, 0x53, 0xda, 0x0d, 0x42, 0x62,
0xcb, 0xbb, 0xf0, 0x1a, 0x5d, 0xf6, 0x09, 0x10, 0xf0, 0x24, 0x1c, 0x3b, 0xce, 0x4c, 0xd2, 0x59,
0x44, 0xb2, 0xbf, 0xef, 0xf8, 0x9c, 0xef, 0x7c, 0x3e, 0x0e, 0x80, 0x64, 0x43, 0xb5, 0x9d, 0x4a,
0xa1, 0x04, 0x6d, 0xea, 0x75, 0x7a, 0xb1, 0xd6, 0x8f, 0x44, 0x24, 0x0c, 0xf4, 0x48, 0xaf, 0x72,
0xd6, 0xff, 0x0c, 0x8d, 0xe7, 0x89, 0x92, 0x37, 0xf4, 0x21, 0xb8, 0x67, 0x37, 0x29, 0xf7, 0x9c,
0x0d, 0xe7, 0x41, 0x6f, 0x67, 0x65, 0x3b, 0x3f, 0xb5, 0x6d, 0x48, 0x4d, 0xec, 0xb9, 0xb7, 0x3f,
0xfe, 0x5d, 0x18, 0xb8, 0x0a, 0xd7, 0xd4, 0xc3, 0x60, 0x2e, 0x63, 0xaf, 0x86, 0xc1, 0xee, 0x94,
0x41, 0x84, 0xae, 0x41, 0xe3, 0x28, 0x09, 0xf9, 0xb5, 0x57, 0x2f, 0x51, 0x8d, 0xb1, 0x86, 0x28,
0x05, 0xf7, 0x80, 0x29, 0xe6, 0xb9, 0x48, 0x2d, 0x0e, 0xdc, 0x10, 0xd7, 0xfe, 0x17, 0x07, 0xc8,
0x69, 0xc2, 0xd2, 0x6c, 0x24, 0xd4, 0x31, 0x57, 0x4c, 0x83, 0xf4, 0x29, 0x40, 0x20, 0x92, 0xe1,
0xfb, 0x4c, 0x31, 0x95, 0x2b, 0xea, 0xce, 0x14, 0xed, 0x23, 0x73, 0xaa, 0x09, 0x9b, 0xbc, 0x13,
0x14, 0x80, 0x2e, 0x6e, 0x2a, 0x55, 0x74, 0xd9, 0xe2, 0x28, 0x59, 0x0b, 0xac, 0xe8, 0x32, 0x88,
0xff, 0x06, 0xda, 0x85, 0x02, 0x2d, 0x51, 0x2b, 0x30, 0x35, 0xad, 0x44, 0xfa, 0x0c, 0xda, 0xb1,
0x55, 0x66, 0x12, 0x77, 0x77, 0xbc, 0x42, 0xcb, 0x7d, 0xe5, 0x36, 0xef, 0x34, 0xde, 0xff, 0x5a,
0x87, 0xd6, 0x31, 0xcf, 0x32, 0x16, 0x71, 0xba, 0x05, 0xc6, 0x3c, 0xeb, 0xf0, 0x6a, 0x91, 0xc3,
0xd2, 0x73, 0x1e, 0xf7, 0xa1, 0xa6, 0x44, 0xa5, 0x13, 0xdc, 0xeb, 0x36, 0x86, 0x52, 0xdc, 0x6b,
0x43, 0x23, 0xd3, 0x06, 0xdd, 0xb9, 0x3b, 0x59, 0x87, 0xd6, 0xa5, 0x88, 0xcc, 0x85, 0x35, 0x4a,
0x64, 0x01, 0xce, 0x6c, 0x6b, 0xce, 0xdb, 0xb6, 0x05, 0x2d, 0x8e, 0x23, 0x30, 0xe6, 0x99, 0xd7,
0xda, 0xa8, 0x63, 0xef, 0x4b, 0x95, 0xc9, 0x28, 0x52, 0xd9, 0x18, 0xfa, 0x0f, 0x34, 0x03, 0x11,
0xc7, 0x63, 0xe5, 0xb5, 0x4b, 0xb9, 0x2c, 0x46, 0x77, 0xa0, 0x9d, 0x59, 0xc7, 0xbc, 0x8e, 0x71,
0x92, 0xdc, 0x77, 0xb2, 0x70, 0xb0, 0x88, 0xd3, 0x19, 0x25, 0xff, 0xc0, 0x03, 0xe5, 0x01, 0x9e,
0x68, 0x17, 0x19, 0x73, 0x8c, 0xfe, 0x8f, 0xa3, 0x6e, 0x56, 0x87, 0xe3, 0x44, 0x79, 0xdd, 0x52,
0xcd, 0x12, 0xee, 0xbf, 0x83, 0xce, 0x21, 0x93, 0x61, 0x3e, 0x24, 0x85, 0x4f, 0xce, 0x9c, 0x4f,
0xc8, 0x5c, 0x09, 0x1c, 0xb8, 0xca, 0x54, 0x6b, 0xa4, 0xd4, 0x56, 0x7d, 0xbe, 0x2d, 0xff, 0x3f,
0xe8, 0x4c, 0x87, 0x12, 0xaf, 0xad, 0x91, 0x88, 0x10, 0xed, 0x72, 0xd0, 0x2e, 0x77, 0x90, 0x6f,
0xfc, 0x6f, 0x0e, 0x80, 0x8e, 0xd9, 0x1f, 0xb1, 0x24, 0x32, 0x77, 0x7b, 0x74, 0x50, 0x51, 0x50,
0x1b, 0x1f, 0xd0, 0xc7, 0xf6, 0x09, 0xd6, 0xcc, 0x80, 0xfc, 0x5d, 0x1e, 0xf8, 0xfc, 0xdc, 0xdc,
0x8c, 0xa0, 0xae, 0x13, 0xcc, 0x8f, 0xb9, 0x2a, 0xba, 0x12, 0x83, 0x61, 0x3f, 0x2d, 0x3c, 0xab,
0xf8, 0xb5, 0xb2, 0x4f, 0xae, 0x15, 0xe4, 0xdb, 0xcd, 0x27, 0xd0, 0x99, 0x3e, 0x6c, 0xba, 0x0c,
0x5d, 0xb3, 0x39, 0x11, 0x32, 0x66, 0x97, 0x64, 0x81, 0xae, 0xc2, 0xb2, 0x01, 0x66, 0x85, 0x89,
0xb3, 0xf9, 0xbd, 0x06, 0xdd, 0xd2, 0xa8, 0x52, 0x80, 0xe6, 0x71, 0x16, 0x1d, 0x4e, 0x52, 0x3c,
0xd0, 0xc5, 0x21, 0xcf, 0xa2, 0x3d, 0xce, 0x14, 0x71, 0xec, 0xe6, 0xa5, 0x14, 0x29, 0xa9, 0xd9,
0xa8, 0xdd, 0x34, 0x25, 0x75, 0xda, 0x03, 0xc8, 0xd7, 0x03, 0x9e, 0xa5, 0xc4, 0xb5, 0x81, 0xaf,
0xd1, 0x5f, 0xd2, 0xd0, 0x22, 0xec, 0xc6, 0xb0, 0x4d, 0xcb, 0xea, 0xb1, 0x20, 0x2d, 0x4a, 0x60,
0x51, 0x17, 0xe3, 0x4c, 0xaa, 0x0b, 0x5d, 0xa5, 0x8d, 0x0e, 0x92, 0x32, 0x62, 0x0e, 0x75, 0xf0,
0xf9, 0xf6, 0x10, 0x3d, 0x4f, 0x24, 0x67, 0xc1, 0x88, 0x5d, 0x5c, 0x72, 0x02, 0x74, 0x05, 0x96,
0x6c, 0x22, 0x7d, 0x41, 0x93, 0x8c, 0x74, 0x6d, 0xd8, 0xfe, 0x88, 0x07, 0x1f, 0x5f, 0x4d, 0x84,
0x9c, 0xc4, 0x64, 0x91, 0xfe, 0x05, 0x2b, 0x88, 0x9d, 0x49, 0x96, 0x64, 0x43, 0x2e, 0x5f, 0x70,
0x16, 0x72, 0x49, 0x96, 0xec, 0xe9, 0xb3, 0x71, 0xcc, 0xc5, 0x44, 0x9d, 0x88, 0x4f, 0xa4, 0x67,
0xc5, 0x0c, 0x30, 0xc2, 0xfc, 0xe9, 0xc8, 0xb2, 0x15, 0x33, 0x45, 0x8c, 0x18, 0xb2, 0xf9, 0x16,
0x7a, 0xd5, 0xab, 0xd3, 0x35, 0x66, 0xc8, 0x6e, 0x18, 0xea, 0xbb, 0x43, 0xfb, 0x3c, 0xe8, 0xcf,
0xe0, 0x01, 0x8f, 0xc5, 0x15, 0x37, 0x8c, 0x53, 0x65, 0xce, 0x53, 0xfc, 0xa5, 0xe4, 0x4c, 0x6d,
0xaf, 0x7f, 0xfb, 0x6b, 0x7d, 0xe1, 0x0e, 0xbf, 0xdb, 0xdf, 0xeb, 0xce, 0x1d, 0x7e, 0x3f, 0xf1,
0xfb, 0x13, 0x00, 0x00, 0xff, 0xff, 0x16, 0x68, 0x80, 0x04, 0xf8, 0x05, 0x00, 0x00,
// 760 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x64, 0x54, 0xcd, 0x4e, 0xdb, 0x4a,
0x14, 0xc6, 0x89, 0xf3, 0x77, 0x12, 0xc2, 0x30, 0xe4, 0x5e, 0x59, 0xe8, 0x8a, 0xcb, 0xb5, 0xee,
0xa2, 0xa2, 0x82, 0xb6, 0x2c, 0xba, 0xe8, 0x0e, 0x42, 0x25, 0x90, 0x0a, 0x6a, 0x03, 0x74, 0xd1,
0xaa, 0xaa, 0x86, 0x78, 0xe2, 0xa4, 0xc5, 0x1e, 0x6b, 0x3c, 0xa1, 0xb0, 0xa9, 0xfa, 0x00, 0x7d,
0x85, 0x3e, 0x43, 0x5f, 0x83, 0x25, 0x4f, 0x50, 0xb5, 0x7d, 0x92, 0x9e, 0x19, 0x8f, 0x13, 0x9b,
0x2c, 0x2c, 0xcd, 0x7c, 0xdf, 0x99, 0x73, 0xbe, 0xf9, 0xce, 0x19, 0x03, 0x48, 0x36, 0x52, 0x3b,
0x89, 0x14, 0x4a, 0xd0, 0xba, 0x5e, 0x27, 0x17, 0xeb, 0xbd, 0x50, 0x84, 0xc2, 0x40, 0x8f, 0xf4,
0x2a, 0x63, 0xfd, 0xcf, 0x50, 0x7b, 0x1e, 0x2b, 0x79, 0x43, 0x1f, 0x82, 0x7b, 0x76, 0x93, 0x70,
0xcf, 0xd9, 0x74, 0x1e, 0x74, 0x77, 0x57, 0x77, 0xb2, 0x53, 0x3b, 0x86, 0xd4, 0xc4, 0xbe, 0x7b,
0xfb, 0xe3, 0xdf, 0xa5, 0x81, 0xab, 0x70, 0x4d, 0x3d, 0x0c, 0xe6, 0x32, 0xf2, 0x2a, 0x18, 0xec,
0xce, 0x18, 0x44, 0xe8, 0x3a, 0xd4, 0x8e, 0xe2, 0x80, 0x5f, 0x7b, 0xd5, 0x02, 0x55, 0x9b, 0x68,
0x88, 0x52, 0x70, 0x0f, 0x98, 0x62, 0x9e, 0x8b, 0x54, 0x67, 0xe0, 0x06, 0xb8, 0xf6, 0xbf, 0x38,
0x40, 0x4e, 0x63, 0x96, 0xa4, 0x63, 0xa1, 0x8e, 0xb9, 0x62, 0x1a, 0xa4, 0x4f, 0x01, 0x86, 0x22,
0x1e, 0xbd, 0x4f, 0x15, 0x53, 0x99, 0xa2, 0xf6, 0x5c, 0x51, 0x1f, 0x99, 0x53, 0x4d, 0xd8, 0xe4,
0xad, 0x61, 0x0e, 0xe8, 0xe2, 0xa6, 0x52, 0x49, 0x97, 0x2d, 0x8e, 0x92, 0xb5, 0xc0, 0x92, 0x2e,
0x83, 0xf8, 0x6f, 0xa0, 0x99, 0x2b, 0xd0, 0x12, 0xb5, 0x02, 0x53, 0xd3, 0x4a, 0xa4, 0xcf, 0xa0,
0x19, 0x59, 0x65, 0x26, 0x71, 0x7b, 0xd7, 0xcb, 0xb5, 0xdc, 0x57, 0x6e, 0xf3, 0xce, 0xe2, 0xfd,
0x6f, 0x55, 0x68, 0x1c, 0xf3, 0x34, 0x65, 0x21, 0xa7, 0xdb, 0x60, 0xcc, 0xb3, 0x0e, 0xaf, 0xe5,
0x39, 0x2c, 0xbd, 0xe0, 0x71, 0x0f, 0x2a, 0x4a, 0x94, 0x6e, 0x82, 0x7b, 0x7d, 0x8d, 0x91, 0x14,
0xf7, 0xae, 0xa1, 0x91, 0xd9, 0x05, 0xdd, 0x85, 0x9e, 0x6c, 0x40, 0xe3, 0x52, 0x84, 0xa6, 0x61,
0xb5, 0x02, 0x99, 0x83, 0x73, 0xdb, 0xea, 0x8b, 0xb6, 0x6d, 0x43, 0x83, 0xe3, 0x08, 0x4c, 0x78,
0xea, 0x35, 0x36, 0xab, 0x78, 0xf7, 0xe5, 0xd2, 0x64, 0xe4, 0xa9, 0x6c, 0x0c, 0xfd, 0x07, 0xea,
0x43, 0x11, 0x45, 0x13, 0xe5, 0x35, 0x0b, 0xb9, 0x2c, 0x46, 0x77, 0xa1, 0x99, 0x5a, 0xc7, 0xbc,
0x96, 0x71, 0x92, 0xdc, 0x77, 0x32, 0x77, 0x30, 0x8f, 0xd3, 0x19, 0x25, 0xff, 0xc0, 0x87, 0xca,
0x03, 0x3c, 0xd1, 0xcc, 0x33, 0x66, 0x18, 0xfd, 0x1f, 0x47, 0xdd, 0xac, 0x0e, 0x27, 0xb1, 0xf2,
0xda, 0x85, 0x9a, 0x05, 0x1c, 0xad, 0x69, 0xe0, 0x90, 0x28, 0x7e, 0xad, 0xbc, 0x8e, 0x69, 0x6c,
0xbe, 0xf5, 0xdf, 0x41, 0xeb, 0x90, 0xc9, 0x20, 0x1b, 0x9f, 0xdc, 0x41, 0x67, 0xc1, 0x41, 0x64,
0xae, 0x04, 0x8e, 0x62, 0x69, 0xde, 0x35, 0x52, 0xb8, 0x70, 0x75, 0xf1, 0xc2, 0xfe, 0x7f, 0xd0,
0x9a, 0x8d, 0x2b, 0x36, 0xb4, 0x16, 0x8b, 0x00, 0x8d, 0x74, 0xd0, 0x48, 0x77, 0x90, 0x6d, 0xfc,
0xaf, 0x0e, 0x80, 0x8e, 0xe9, 0x8f, 0x59, 0x1c, 0x9a, 0xae, 0x1f, 0x1d, 0x94, 0x14, 0x54, 0x26,
0x07, 0xf4, 0xb1, 0x7d, 0x9c, 0x15, 0x33, 0x3a, 0x7f, 0x17, 0x9f, 0x42, 0x76, 0x6e, 0x61, 0x7a,
0x50, 0xd7, 0x09, 0xe6, 0xc7, 0x5c, 0x25, 0x5d, 0xb1, 0xc1, 0xb4, 0x21, 0x7d, 0x6b, 0x88, 0x5b,
0x32, 0x64, 0xeb, 0x09, 0xb4, 0x66, 0x4f, 0x9e, 0xae, 0x40, 0xdb, 0x6c, 0x4e, 0x84, 0x8c, 0xd8,
0x25, 0x59, 0xa2, 0x6b, 0xb0, 0x62, 0x80, 0x79, 0x61, 0xe2, 0x6c, 0x7d, 0xaf, 0x40, 0xbb, 0x30,
0xc4, 0x14, 0xa0, 0x7e, 0x9c, 0x86, 0x87, 0xd3, 0x04, 0x0f, 0xb4, 0x71, 0xfc, 0xd3, 0x70, 0x9f,
0x33, 0x45, 0x1c, 0xbb, 0x79, 0x29, 0x45, 0x42, 0x2a, 0x36, 0x6a, 0x2f, 0x49, 0x48, 0x95, 0x76,
0x01, 0xb2, 0xf5, 0x80, 0xa7, 0x09, 0x71, 0x6d, 0xe0, 0x6b, 0xf4, 0x97, 0xd4, 0xb4, 0x08, 0xbb,
0x31, 0x6c, 0xdd, 0xb2, 0x7a, 0x60, 0x48, 0x83, 0x12, 0xe8, 0xe8, 0x62, 0x9c, 0x49, 0x75, 0xa1,
0xab, 0x34, 0xd1, 0x41, 0x52, 0x44, 0xcc, 0xa1, 0x16, 0x3e, 0xec, 0x2e, 0xa2, 0xe7, 0xb1, 0xe4,
0x6c, 0x38, 0x66, 0x17, 0x97, 0x9c, 0x00, 0x5d, 0x85, 0x65, 0x9b, 0x48, 0x37, 0x68, 0x9a, 0x92,
0xb6, 0x0d, 0xeb, 0x8f, 0xf9, 0xf0, 0xe3, 0xab, 0xa9, 0x90, 0xd3, 0x88, 0x74, 0xe8, 0x5f, 0xb0,
0x8a, 0xd8, 0x99, 0x64, 0x71, 0x3a, 0xe2, 0xf2, 0x05, 0x67, 0x01, 0x97, 0x64, 0xd9, 0x9e, 0x3e,
0x9b, 0x44, 0x5c, 0x4c, 0xd5, 0x89, 0xf8, 0x44, 0xba, 0x56, 0xcc, 0x00, 0x23, 0xcc, 0x3f, 0x90,
0xac, 0x58, 0x31, 0x33, 0xc4, 0x88, 0x21, 0x5b, 0x6f, 0xa1, 0x5b, 0x6e, 0x9d, 0xae, 0x31, 0x47,
0xf6, 0x82, 0x40, 0xf7, 0x0e, 0xed, 0xf3, 0xa0, 0x37, 0x87, 0x07, 0x3c, 0x12, 0x57, 0xdc, 0x30,
0x4e, 0x99, 0x39, 0x4f, 0xf0, 0x67, 0x93, 0x31, 0x95, 0xfd, 0xde, 0xed, 0xaf, 0x8d, 0xa5, 0x3b,
0xfc, 0x6e, 0x7f, 0x6f, 0x38, 0x77, 0xf8, 0xfd, 0xc4, 0xef, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff,
0x32, 0x70, 0x89, 0x36, 0x12, 0x06, 0x00, 0x00,
}