Browse code

bump gogo/protobuf v1.2.1

full diff: https://github.com/gogo/protobuf/compare/v1.2.0...v1.2.1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 647f31b7d07e251dd835bee527ded36114894b5b)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Sebastiaan van Stijn authored on 2019/04/28 06:53:08
Showing 31 changed files
... ...
@@ -131,7 +131,7 @@ github.com/gogo/googleapis                          08a7655d27152912db7aaf4f9832
131 131
 
132 132
 # cluster
133 133
 github.com/docker/swarmkit                          59163bf75df38489d4a10392265d27156dc473c5
134
-github.com/gogo/protobuf                            4cbf7e384e768b4e01799441fdf2a706a5635ae7 # v1.2.0
134
+github.com/gogo/protobuf                            ba06b47c162d49f2af050fb4c75bcbc86a159d5c # v1.2.1
135 135
 github.com/cloudflare/cfssl                         5d63dbd981b5c408effbb58c442d54761ff94fbd # 1.3.2
136 136
 github.com/fernet/fernet-go                         1b2437bc582b3cfbb341ee5a29f8ef5b42912ff2
137 137
 github.com/google/certificate-transparency-go       37a384cd035e722ea46e55029093e26687138edf # v1.0.20
... ...
@@ -29,11 +29,19 @@ To use this software, you must:
29 29
 	https://golang.org/doc/install
30 30
   for details or, if you are using gccgo, follow the instructions at
31 31
 	https://golang.org/doc/install/gccgo
32
-- Grab the code from the repository and install the proto package.
32
+- Grab the code from the repository and install the `proto` package.
33 33
   The simplest way is to run `go get -u github.com/golang/protobuf/protoc-gen-go`.
34
-  The compiler plugin, protoc-gen-go, will be installed in $GOBIN,
35
-  defaulting to $GOPATH/bin.  It must be in your $PATH for the protocol
36
-  compiler, protoc, to find it.
34
+  The compiler plugin, `protoc-gen-go`, will be installed in `$GOPATH/bin`
35
+  unless `$GOBIN` is set. It must be in your `$PATH` for the protocol
36
+  compiler, `protoc`, to find it.
37
+- If you need a particular version of `protoc-gen-go` (e.g., to match your
38
+  `proto` package version), one option is
39
+  ```shell
40
+  GIT_TAG="v1.2.0" # change as needed
41
+  go get -d -u github.com/golang/protobuf/protoc-gen-go
42
+  git -C "$(go env GOPATH)"/src/github.com/golang/protobuf checkout $GIT_TAG
43
+  go install github.com/golang/protobuf/protoc-gen-go
44
+  ```
37 45
 
38 46
 This software has two parts: a 'protocol compiler plugin' that
39 47
 generates Go source files that, once compiled, can access and manage
... ...
@@ -63,7 +63,7 @@ Please let us know if you are using gogoprotobuf by posting on our <a href="http
63 63
   - <a href="https://jbrandhorst.com/post/gogoproto/">So you want to use GoGo Protobuf - Johan Brandhorst</a>
64 64
   - <a href="https://jbrandhorst.com/post/grpc-errors/">Advanced gRPC Error Usage - Johan Brandhorst</a>
65 65
   - <a href="https://www.udemy.com/grpc-golang/?couponCode=GITHUB10">gRPC Golang Course on Udemy - Stephane Maarek</a>
66
-  
66
+
67 67
 ## Getting Started
68 68
 
69 69
 There are several ways to use gogoprotobuf, but for all you need to install go and protoc.
... ...
@@ -75,11 +75,11 @@ After that you can choose:
75 75
 
76 76
 ### Installation
77 77
 
78
-To install it, you must first have Go (at least version 1.6.3 or 1.9 if you are using gRPC) installed (see [http://golang.org/doc/install](http://golang.org/doc/install)). 
79
-Latest patch versions of 1.9 and 1.10 are continuously tested.
78
+To install it, you must first have Go (at least version 1.6.3 or 1.9 if you are using gRPC) installed (see [http://golang.org/doc/install](http://golang.org/doc/install)).
79
+Latest patch versions of 1.10 and 1.11 are continuously tested.
80 80
 
81 81
 Next, install the standard protocol buffer implementation from [https://github.com/google/protobuf](https://github.com/google/protobuf).
82
-Most versions from 2.3.1 should not give any problems, but 2.6.1, 3.0.2 and 3.5.1 are continuously tested.
82
+Most versions from 2.3.1 should not give any problems, but 2.6.1, 3.0.2 and 3.6.1 are continuously tested.
83 83
 
84 84
 ### Speed
85 85
 
... ...
@@ -156,4 +156,4 @@ See [https://github.com/gogo/grpc-example](https://github.com/gogo/grpc-example)
156 156
 This software is licensed under the 3-Clause BSD License
157 157
 ("BSD License 2.0", "Revised BSD License", "New BSD License", or "Modified BSD License").
158 158
 
159
-  
159
+
... ...
@@ -1,12 +1,14 @@
1 1
 // Code generated by protoc-gen-gogo. DO NOT EDIT.
2 2
 // source: gogo.proto
3 3
 
4
-package gogoproto // import "github.com/gogo/protobuf/gogoproto"
4
+package gogoproto
5 5
 
6
-import proto "github.com/gogo/protobuf/proto"
7
-import fmt "fmt"
8
-import math "math"
9
-import descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
6
+import (
7
+	fmt "fmt"
8
+	proto "github.com/gogo/protobuf/proto"
9
+	descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
10
+	math "math"
11
+)
10 12
 
11 13
 // Reference imports to suppress errors if they are not otherwise used.
12 14
 var _ = proto.Marshal
... ...
@@ -24,7 +26,7 @@ var E_GoprotoEnumPrefix = &proto.ExtensionDesc{
24 24
 	ExtensionType: (*bool)(nil),
25 25
 	Field:         62001,
26 26
 	Name:          "gogoproto.goproto_enum_prefix",
27
-	Tag:           "varint,62001,opt,name=goproto_enum_prefix,json=goprotoEnumPrefix",
27
+	Tag:           "varint,62001,opt,name=goproto_enum_prefix",
28 28
 	Filename:      "gogo.proto",
29 29
 }
30 30
 
... ...
@@ -33,7 +35,7 @@ var E_GoprotoEnumStringer = &proto.ExtensionDesc{
33 33
 	ExtensionType: (*bool)(nil),
34 34
 	Field:         62021,
35 35
 	Name:          "gogoproto.goproto_enum_stringer",
36
-	Tag:           "varint,62021,opt,name=goproto_enum_stringer,json=goprotoEnumStringer",
36
+	Tag:           "varint,62021,opt,name=goproto_enum_stringer",
37 37
 	Filename:      "gogo.proto",
38 38
 }
39 39
 
... ...
@@ -42,7 +44,7 @@ var E_EnumStringer = &proto.ExtensionDesc{
42 42
 	ExtensionType: (*bool)(nil),
43 43
 	Field:         62022,
44 44
 	Name:          "gogoproto.enum_stringer",
45
-	Tag:           "varint,62022,opt,name=enum_stringer,json=enumStringer",
45
+	Tag:           "varint,62022,opt,name=enum_stringer",
46 46
 	Filename:      "gogo.proto",
47 47
 }
48 48
 
... ...
@@ -51,7 +53,7 @@ var E_EnumCustomname = &proto.ExtensionDesc{
51 51
 	ExtensionType: (*string)(nil),
52 52
 	Field:         62023,
53 53
 	Name:          "gogoproto.enum_customname",
54
-	Tag:           "bytes,62023,opt,name=enum_customname,json=enumCustomname",
54
+	Tag:           "bytes,62023,opt,name=enum_customname",
55 55
 	Filename:      "gogo.proto",
56 56
 }
57 57
 
... ...
@@ -69,7 +71,7 @@ var E_EnumvalueCustomname = &proto.ExtensionDesc{
69 69
 	ExtensionType: (*string)(nil),
70 70
 	Field:         66001,
71 71
 	Name:          "gogoproto.enumvalue_customname",
72
-	Tag:           "bytes,66001,opt,name=enumvalue_customname,json=enumvalueCustomname",
72
+	Tag:           "bytes,66001,opt,name=enumvalue_customname",
73 73
 	Filename:      "gogo.proto",
74 74
 }
75 75
 
... ...
@@ -78,7 +80,7 @@ var E_GoprotoGettersAll = &proto.ExtensionDesc{
78 78
 	ExtensionType: (*bool)(nil),
79 79
 	Field:         63001,
80 80
 	Name:          "gogoproto.goproto_getters_all",
81
-	Tag:           "varint,63001,opt,name=goproto_getters_all,json=goprotoGettersAll",
81
+	Tag:           "varint,63001,opt,name=goproto_getters_all",
82 82
 	Filename:      "gogo.proto",
83 83
 }
84 84
 
... ...
@@ -87,7 +89,7 @@ var E_GoprotoEnumPrefixAll = &proto.ExtensionDesc{
87 87
 	ExtensionType: (*bool)(nil),
88 88
 	Field:         63002,
89 89
 	Name:          "gogoproto.goproto_enum_prefix_all",
90
-	Tag:           "varint,63002,opt,name=goproto_enum_prefix_all,json=goprotoEnumPrefixAll",
90
+	Tag:           "varint,63002,opt,name=goproto_enum_prefix_all",
91 91
 	Filename:      "gogo.proto",
92 92
 }
93 93
 
... ...
@@ -96,7 +98,7 @@ var E_GoprotoStringerAll = &proto.ExtensionDesc{
96 96
 	ExtensionType: (*bool)(nil),
97 97
 	Field:         63003,
98 98
 	Name:          "gogoproto.goproto_stringer_all",
99
-	Tag:           "varint,63003,opt,name=goproto_stringer_all,json=goprotoStringerAll",
99
+	Tag:           "varint,63003,opt,name=goproto_stringer_all",
100 100
 	Filename:      "gogo.proto",
101 101
 }
102 102
 
... ...
@@ -105,7 +107,7 @@ var E_VerboseEqualAll = &proto.ExtensionDesc{
105 105
 	ExtensionType: (*bool)(nil),
106 106
 	Field:         63004,
107 107
 	Name:          "gogoproto.verbose_equal_all",
108
-	Tag:           "varint,63004,opt,name=verbose_equal_all,json=verboseEqualAll",
108
+	Tag:           "varint,63004,opt,name=verbose_equal_all",
109 109
 	Filename:      "gogo.proto",
110 110
 }
111 111
 
... ...
@@ -114,7 +116,7 @@ var E_FaceAll = &proto.ExtensionDesc{
114 114
 	ExtensionType: (*bool)(nil),
115 115
 	Field:         63005,
116 116
 	Name:          "gogoproto.face_all",
117
-	Tag:           "varint,63005,opt,name=face_all,json=faceAll",
117
+	Tag:           "varint,63005,opt,name=face_all",
118 118
 	Filename:      "gogo.proto",
119 119
 }
120 120
 
... ...
@@ -123,7 +125,7 @@ var E_GostringAll = &proto.ExtensionDesc{
123 123
 	ExtensionType: (*bool)(nil),
124 124
 	Field:         63006,
125 125
 	Name:          "gogoproto.gostring_all",
126
-	Tag:           "varint,63006,opt,name=gostring_all,json=gostringAll",
126
+	Tag:           "varint,63006,opt,name=gostring_all",
127 127
 	Filename:      "gogo.proto",
128 128
 }
129 129
 
... ...
@@ -132,7 +134,7 @@ var E_PopulateAll = &proto.ExtensionDesc{
132 132
 	ExtensionType: (*bool)(nil),
133 133
 	Field:         63007,
134 134
 	Name:          "gogoproto.populate_all",
135
-	Tag:           "varint,63007,opt,name=populate_all,json=populateAll",
135
+	Tag:           "varint,63007,opt,name=populate_all",
136 136
 	Filename:      "gogo.proto",
137 137
 }
138 138
 
... ...
@@ -141,7 +143,7 @@ var E_StringerAll = &proto.ExtensionDesc{
141 141
 	ExtensionType: (*bool)(nil),
142 142
 	Field:         63008,
143 143
 	Name:          "gogoproto.stringer_all",
144
-	Tag:           "varint,63008,opt,name=stringer_all,json=stringerAll",
144
+	Tag:           "varint,63008,opt,name=stringer_all",
145 145
 	Filename:      "gogo.proto",
146 146
 }
147 147
 
... ...
@@ -150,7 +152,7 @@ var E_OnlyoneAll = &proto.ExtensionDesc{
150 150
 	ExtensionType: (*bool)(nil),
151 151
 	Field:         63009,
152 152
 	Name:          "gogoproto.onlyone_all",
153
-	Tag:           "varint,63009,opt,name=onlyone_all,json=onlyoneAll",
153
+	Tag:           "varint,63009,opt,name=onlyone_all",
154 154
 	Filename:      "gogo.proto",
155 155
 }
156 156
 
... ...
@@ -159,7 +161,7 @@ var E_EqualAll = &proto.ExtensionDesc{
159 159
 	ExtensionType: (*bool)(nil),
160 160
 	Field:         63013,
161 161
 	Name:          "gogoproto.equal_all",
162
-	Tag:           "varint,63013,opt,name=equal_all,json=equalAll",
162
+	Tag:           "varint,63013,opt,name=equal_all",
163 163
 	Filename:      "gogo.proto",
164 164
 }
165 165
 
... ...
@@ -168,7 +170,7 @@ var E_DescriptionAll = &proto.ExtensionDesc{
168 168
 	ExtensionType: (*bool)(nil),
169 169
 	Field:         63014,
170 170
 	Name:          "gogoproto.description_all",
171
-	Tag:           "varint,63014,opt,name=description_all,json=descriptionAll",
171
+	Tag:           "varint,63014,opt,name=description_all",
172 172
 	Filename:      "gogo.proto",
173 173
 }
174 174
 
... ...
@@ -177,7 +179,7 @@ var E_TestgenAll = &proto.ExtensionDesc{
177 177
 	ExtensionType: (*bool)(nil),
178 178
 	Field:         63015,
179 179
 	Name:          "gogoproto.testgen_all",
180
-	Tag:           "varint,63015,opt,name=testgen_all,json=testgenAll",
180
+	Tag:           "varint,63015,opt,name=testgen_all",
181 181
 	Filename:      "gogo.proto",
182 182
 }
183 183
 
... ...
@@ -186,7 +188,7 @@ var E_BenchgenAll = &proto.ExtensionDesc{
186 186
 	ExtensionType: (*bool)(nil),
187 187
 	Field:         63016,
188 188
 	Name:          "gogoproto.benchgen_all",
189
-	Tag:           "varint,63016,opt,name=benchgen_all,json=benchgenAll",
189
+	Tag:           "varint,63016,opt,name=benchgen_all",
190 190
 	Filename:      "gogo.proto",
191 191
 }
192 192
 
... ...
@@ -195,7 +197,7 @@ var E_MarshalerAll = &proto.ExtensionDesc{
195 195
 	ExtensionType: (*bool)(nil),
196 196
 	Field:         63017,
197 197
 	Name:          "gogoproto.marshaler_all",
198
-	Tag:           "varint,63017,opt,name=marshaler_all,json=marshalerAll",
198
+	Tag:           "varint,63017,opt,name=marshaler_all",
199 199
 	Filename:      "gogo.proto",
200 200
 }
201 201
 
... ...
@@ -204,7 +206,7 @@ var E_UnmarshalerAll = &proto.ExtensionDesc{
204 204
 	ExtensionType: (*bool)(nil),
205 205
 	Field:         63018,
206 206
 	Name:          "gogoproto.unmarshaler_all",
207
-	Tag:           "varint,63018,opt,name=unmarshaler_all,json=unmarshalerAll",
207
+	Tag:           "varint,63018,opt,name=unmarshaler_all",
208 208
 	Filename:      "gogo.proto",
209 209
 }
210 210
 
... ...
@@ -213,7 +215,7 @@ var E_StableMarshalerAll = &proto.ExtensionDesc{
213 213
 	ExtensionType: (*bool)(nil),
214 214
 	Field:         63019,
215 215
 	Name:          "gogoproto.stable_marshaler_all",
216
-	Tag:           "varint,63019,opt,name=stable_marshaler_all,json=stableMarshalerAll",
216
+	Tag:           "varint,63019,opt,name=stable_marshaler_all",
217 217
 	Filename:      "gogo.proto",
218 218
 }
219 219
 
... ...
@@ -222,7 +224,7 @@ var E_SizerAll = &proto.ExtensionDesc{
222 222
 	ExtensionType: (*bool)(nil),
223 223
 	Field:         63020,
224 224
 	Name:          "gogoproto.sizer_all",
225
-	Tag:           "varint,63020,opt,name=sizer_all,json=sizerAll",
225
+	Tag:           "varint,63020,opt,name=sizer_all",
226 226
 	Filename:      "gogo.proto",
227 227
 }
228 228
 
... ...
@@ -231,7 +233,7 @@ var E_GoprotoEnumStringerAll = &proto.ExtensionDesc{
231 231
 	ExtensionType: (*bool)(nil),
232 232
 	Field:         63021,
233 233
 	Name:          "gogoproto.goproto_enum_stringer_all",
234
-	Tag:           "varint,63021,opt,name=goproto_enum_stringer_all,json=goprotoEnumStringerAll",
234
+	Tag:           "varint,63021,opt,name=goproto_enum_stringer_all",
235 235
 	Filename:      "gogo.proto",
236 236
 }
237 237
 
... ...
@@ -240,7 +242,7 @@ var E_EnumStringerAll = &proto.ExtensionDesc{
240 240
 	ExtensionType: (*bool)(nil),
241 241
 	Field:         63022,
242 242
 	Name:          "gogoproto.enum_stringer_all",
243
-	Tag:           "varint,63022,opt,name=enum_stringer_all,json=enumStringerAll",
243
+	Tag:           "varint,63022,opt,name=enum_stringer_all",
244 244
 	Filename:      "gogo.proto",
245 245
 }
246 246
 
... ...
@@ -249,7 +251,7 @@ var E_UnsafeMarshalerAll = &proto.ExtensionDesc{
249 249
 	ExtensionType: (*bool)(nil),
250 250
 	Field:         63023,
251 251
 	Name:          "gogoproto.unsafe_marshaler_all",
252
-	Tag:           "varint,63023,opt,name=unsafe_marshaler_all,json=unsafeMarshalerAll",
252
+	Tag:           "varint,63023,opt,name=unsafe_marshaler_all",
253 253
 	Filename:      "gogo.proto",
254 254
 }
255 255
 
... ...
@@ -258,7 +260,7 @@ var E_UnsafeUnmarshalerAll = &proto.ExtensionDesc{
258 258
 	ExtensionType: (*bool)(nil),
259 259
 	Field:         63024,
260 260
 	Name:          "gogoproto.unsafe_unmarshaler_all",
261
-	Tag:           "varint,63024,opt,name=unsafe_unmarshaler_all,json=unsafeUnmarshalerAll",
261
+	Tag:           "varint,63024,opt,name=unsafe_unmarshaler_all",
262 262
 	Filename:      "gogo.proto",
263 263
 }
264 264
 
... ...
@@ -267,7 +269,7 @@ var E_GoprotoExtensionsMapAll = &proto.ExtensionDesc{
267 267
 	ExtensionType: (*bool)(nil),
268 268
 	Field:         63025,
269 269
 	Name:          "gogoproto.goproto_extensions_map_all",
270
-	Tag:           "varint,63025,opt,name=goproto_extensions_map_all,json=goprotoExtensionsMapAll",
270
+	Tag:           "varint,63025,opt,name=goproto_extensions_map_all",
271 271
 	Filename:      "gogo.proto",
272 272
 }
273 273
 
... ...
@@ -276,7 +278,7 @@ var E_GoprotoUnrecognizedAll = &proto.ExtensionDesc{
276 276
 	ExtensionType: (*bool)(nil),
277 277
 	Field:         63026,
278 278
 	Name:          "gogoproto.goproto_unrecognized_all",
279
-	Tag:           "varint,63026,opt,name=goproto_unrecognized_all,json=goprotoUnrecognizedAll",
279
+	Tag:           "varint,63026,opt,name=goproto_unrecognized_all",
280 280
 	Filename:      "gogo.proto",
281 281
 }
282 282
 
... ...
@@ -285,7 +287,7 @@ var E_GogoprotoImport = &proto.ExtensionDesc{
285 285
 	ExtensionType: (*bool)(nil),
286 286
 	Field:         63027,
287 287
 	Name:          "gogoproto.gogoproto_import",
288
-	Tag:           "varint,63027,opt,name=gogoproto_import,json=gogoprotoImport",
288
+	Tag:           "varint,63027,opt,name=gogoproto_import",
289 289
 	Filename:      "gogo.proto",
290 290
 }
291 291
 
... ...
@@ -294,7 +296,7 @@ var E_ProtosizerAll = &proto.ExtensionDesc{
294 294
 	ExtensionType: (*bool)(nil),
295 295
 	Field:         63028,
296 296
 	Name:          "gogoproto.protosizer_all",
297
-	Tag:           "varint,63028,opt,name=protosizer_all,json=protosizerAll",
297
+	Tag:           "varint,63028,opt,name=protosizer_all",
298 298
 	Filename:      "gogo.proto",
299 299
 }
300 300
 
... ...
@@ -303,7 +305,7 @@ var E_CompareAll = &proto.ExtensionDesc{
303 303
 	ExtensionType: (*bool)(nil),
304 304
 	Field:         63029,
305 305
 	Name:          "gogoproto.compare_all",
306
-	Tag:           "varint,63029,opt,name=compare_all,json=compareAll",
306
+	Tag:           "varint,63029,opt,name=compare_all",
307 307
 	Filename:      "gogo.proto",
308 308
 }
309 309
 
... ...
@@ -312,7 +314,7 @@ var E_TypedeclAll = &proto.ExtensionDesc{
312 312
 	ExtensionType: (*bool)(nil),
313 313
 	Field:         63030,
314 314
 	Name:          "gogoproto.typedecl_all",
315
-	Tag:           "varint,63030,opt,name=typedecl_all,json=typedeclAll",
315
+	Tag:           "varint,63030,opt,name=typedecl_all",
316 316
 	Filename:      "gogo.proto",
317 317
 }
318 318
 
... ...
@@ -321,7 +323,7 @@ var E_EnumdeclAll = &proto.ExtensionDesc{
321 321
 	ExtensionType: (*bool)(nil),
322 322
 	Field:         63031,
323 323
 	Name:          "gogoproto.enumdecl_all",
324
-	Tag:           "varint,63031,opt,name=enumdecl_all,json=enumdeclAll",
324
+	Tag:           "varint,63031,opt,name=enumdecl_all",
325 325
 	Filename:      "gogo.proto",
326 326
 }
327 327
 
... ...
@@ -330,7 +332,7 @@ var E_GoprotoRegistration = &proto.ExtensionDesc{
330 330
 	ExtensionType: (*bool)(nil),
331 331
 	Field:         63032,
332 332
 	Name:          "gogoproto.goproto_registration",
333
-	Tag:           "varint,63032,opt,name=goproto_registration,json=goprotoRegistration",
333
+	Tag:           "varint,63032,opt,name=goproto_registration",
334 334
 	Filename:      "gogo.proto",
335 335
 }
336 336
 
... ...
@@ -339,7 +341,7 @@ var E_MessagenameAll = &proto.ExtensionDesc{
339 339
 	ExtensionType: (*bool)(nil),
340 340
 	Field:         63033,
341 341
 	Name:          "gogoproto.messagename_all",
342
-	Tag:           "varint,63033,opt,name=messagename_all,json=messagenameAll",
342
+	Tag:           "varint,63033,opt,name=messagename_all",
343 343
 	Filename:      "gogo.proto",
344 344
 }
345 345
 
... ...
@@ -348,7 +350,7 @@ var E_GoprotoSizecacheAll = &proto.ExtensionDesc{
348 348
 	ExtensionType: (*bool)(nil),
349 349
 	Field:         63034,
350 350
 	Name:          "gogoproto.goproto_sizecache_all",
351
-	Tag:           "varint,63034,opt,name=goproto_sizecache_all,json=goprotoSizecacheAll",
351
+	Tag:           "varint,63034,opt,name=goproto_sizecache_all",
352 352
 	Filename:      "gogo.proto",
353 353
 }
354 354
 
... ...
@@ -357,7 +359,7 @@ var E_GoprotoUnkeyedAll = &proto.ExtensionDesc{
357 357
 	ExtensionType: (*bool)(nil),
358 358
 	Field:         63035,
359 359
 	Name:          "gogoproto.goproto_unkeyed_all",
360
-	Tag:           "varint,63035,opt,name=goproto_unkeyed_all,json=goprotoUnkeyedAll",
360
+	Tag:           "varint,63035,opt,name=goproto_unkeyed_all",
361 361
 	Filename:      "gogo.proto",
362 362
 }
363 363
 
... ...
@@ -366,7 +368,7 @@ var E_GoprotoGetters = &proto.ExtensionDesc{
366 366
 	ExtensionType: (*bool)(nil),
367 367
 	Field:         64001,
368 368
 	Name:          "gogoproto.goproto_getters",
369
-	Tag:           "varint,64001,opt,name=goproto_getters,json=goprotoGetters",
369
+	Tag:           "varint,64001,opt,name=goproto_getters",
370 370
 	Filename:      "gogo.proto",
371 371
 }
372 372
 
... ...
@@ -375,7 +377,7 @@ var E_GoprotoStringer = &proto.ExtensionDesc{
375 375
 	ExtensionType: (*bool)(nil),
376 376
 	Field:         64003,
377 377
 	Name:          "gogoproto.goproto_stringer",
378
-	Tag:           "varint,64003,opt,name=goproto_stringer,json=goprotoStringer",
378
+	Tag:           "varint,64003,opt,name=goproto_stringer",
379 379
 	Filename:      "gogo.proto",
380 380
 }
381 381
 
... ...
@@ -384,7 +386,7 @@ var E_VerboseEqual = &proto.ExtensionDesc{
384 384
 	ExtensionType: (*bool)(nil),
385 385
 	Field:         64004,
386 386
 	Name:          "gogoproto.verbose_equal",
387
-	Tag:           "varint,64004,opt,name=verbose_equal,json=verboseEqual",
387
+	Tag:           "varint,64004,opt,name=verbose_equal",
388 388
 	Filename:      "gogo.proto",
389 389
 }
390 390
 
... ...
@@ -492,7 +494,7 @@ var E_StableMarshaler = &proto.ExtensionDesc{
492 492
 	ExtensionType: (*bool)(nil),
493 493
 	Field:         64019,
494 494
 	Name:          "gogoproto.stable_marshaler",
495
-	Tag:           "varint,64019,opt,name=stable_marshaler,json=stableMarshaler",
495
+	Tag:           "varint,64019,opt,name=stable_marshaler",
496 496
 	Filename:      "gogo.proto",
497 497
 }
498 498
 
... ...
@@ -510,7 +512,7 @@ var E_UnsafeMarshaler = &proto.ExtensionDesc{
510 510
 	ExtensionType: (*bool)(nil),
511 511
 	Field:         64023,
512 512
 	Name:          "gogoproto.unsafe_marshaler",
513
-	Tag:           "varint,64023,opt,name=unsafe_marshaler,json=unsafeMarshaler",
513
+	Tag:           "varint,64023,opt,name=unsafe_marshaler",
514 514
 	Filename:      "gogo.proto",
515 515
 }
516 516
 
... ...
@@ -519,7 +521,7 @@ var E_UnsafeUnmarshaler = &proto.ExtensionDesc{
519 519
 	ExtensionType: (*bool)(nil),
520 520
 	Field:         64024,
521 521
 	Name:          "gogoproto.unsafe_unmarshaler",
522
-	Tag:           "varint,64024,opt,name=unsafe_unmarshaler,json=unsafeUnmarshaler",
522
+	Tag:           "varint,64024,opt,name=unsafe_unmarshaler",
523 523
 	Filename:      "gogo.proto",
524 524
 }
525 525
 
... ...
@@ -528,7 +530,7 @@ var E_GoprotoExtensionsMap = &proto.ExtensionDesc{
528 528
 	ExtensionType: (*bool)(nil),
529 529
 	Field:         64025,
530 530
 	Name:          "gogoproto.goproto_extensions_map",
531
-	Tag:           "varint,64025,opt,name=goproto_extensions_map,json=goprotoExtensionsMap",
531
+	Tag:           "varint,64025,opt,name=goproto_extensions_map",
532 532
 	Filename:      "gogo.proto",
533 533
 }
534 534
 
... ...
@@ -537,7 +539,7 @@ var E_GoprotoUnrecognized = &proto.ExtensionDesc{
537 537
 	ExtensionType: (*bool)(nil),
538 538
 	Field:         64026,
539 539
 	Name:          "gogoproto.goproto_unrecognized",
540
-	Tag:           "varint,64026,opt,name=goproto_unrecognized,json=goprotoUnrecognized",
540
+	Tag:           "varint,64026,opt,name=goproto_unrecognized",
541 541
 	Filename:      "gogo.proto",
542 542
 }
543 543
 
... ...
@@ -582,7 +584,7 @@ var E_GoprotoSizecache = &proto.ExtensionDesc{
582 582
 	ExtensionType: (*bool)(nil),
583 583
 	Field:         64034,
584 584
 	Name:          "gogoproto.goproto_sizecache",
585
-	Tag:           "varint,64034,opt,name=goproto_sizecache,json=goprotoSizecache",
585
+	Tag:           "varint,64034,opt,name=goproto_sizecache",
586 586
 	Filename:      "gogo.proto",
587 587
 }
588 588
 
... ...
@@ -591,7 +593,7 @@ var E_GoprotoUnkeyed = &proto.ExtensionDesc{
591 591
 	ExtensionType: (*bool)(nil),
592 592
 	Field:         64035,
593 593
 	Name:          "gogoproto.goproto_unkeyed",
594
-	Tag:           "varint,64035,opt,name=goproto_unkeyed,json=goprotoUnkeyed",
594
+	Tag:           "varint,64035,opt,name=goproto_unkeyed",
595 595
 	Filename:      "gogo.proto",
596 596
 }
597 597
 
... ...
@@ -782,9 +784,9 @@ func init() {
782 782
 	proto.RegisterExtension(E_Wktpointer)
783 783
 }
784 784
 
785
-func init() { proto.RegisterFile("gogo.proto", fileDescriptor_gogo_b95f77e237336c7c) }
785
+func init() { proto.RegisterFile("gogo.proto", fileDescriptor_592445b5231bc2b9) }
786 786
 
787
-var fileDescriptor_gogo_b95f77e237336c7c = []byte{
787
+var fileDescriptor_592445b5231bc2b9 = []byte{
788 788
 	// 1328 bytes of a gzipped FileDescriptorProto
789 789
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x98, 0x49, 0x6f, 0x1c, 0x45,
790 790
 	0x14, 0x80, 0x85, 0x48, 0x64, 0x4f, 0x79, 0x8b, 0xc7, 0xc6, 0x84, 0x08, 0x44, 0xe0, 0xc4, 0xc9,
... ...
@@ -186,7 +186,6 @@ func (p *Buffer) DecodeVarint() (x uint64, err error) {
186 186
 	if b&0x80 == 0 {
187 187
 		goto done
188 188
 	}
189
-	// x -= 0x80 << 63 // Always zero.
190 189
 
191 190
 	return 0, errOverflow
192 191
 
193 192
new file mode 100644
... ...
@@ -0,0 +1,63 @@
0
+// Go support for Protocol Buffers - Google's data interchange format
1
+//
2
+// Copyright 2018 The Go Authors.  All rights reserved.
3
+// https://github.com/golang/protobuf
4
+//
5
+// Redistribution and use in source and binary forms, with or without
6
+// modification, are permitted provided that the following conditions are
7
+// met:
8
+//
9
+//     * Redistributions of source code must retain the above copyright
10
+// notice, this list of conditions and the following disclaimer.
11
+//     * Redistributions in binary form must reproduce the above
12
+// copyright notice, this list of conditions and the following disclaimer
13
+// in the documentation and/or other materials provided with the
14
+// distribution.
15
+//     * Neither the name of Google Inc. nor the names of its
16
+// contributors may be used to endorse or promote products derived from
17
+// this software without specific prior written permission.
18
+//
19
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
+
31
+package proto
32
+
33
+import "errors"
34
+
35
+// Deprecated: do not use.
36
+type Stats struct{ Emalloc, Dmalloc, Encode, Decode, Chit, Cmiss, Size uint64 }
37
+
38
+// Deprecated: do not use.
39
+func GetStats() Stats { return Stats{} }
40
+
41
+// Deprecated: do not use.
42
+func MarshalMessageSet(interface{}) ([]byte, error) {
43
+	return nil, errors.New("proto: not implemented")
44
+}
45
+
46
+// Deprecated: do not use.
47
+func UnmarshalMessageSet([]byte, interface{}) error {
48
+	return errors.New("proto: not implemented")
49
+}
50
+
51
+// Deprecated: do not use.
52
+func MarshalMessageSetJSON(interface{}) ([]byte, error) {
53
+	return nil, errors.New("proto: not implemented")
54
+}
55
+
56
+// Deprecated: do not use.
57
+func UnmarshalMessageSetJSON([]byte, interface{}) error {
58
+	return errors.New("proto: not implemented")
59
+}
60
+
61
+// Deprecated: do not use.
62
+func RegisterMessageSetType(Message, int32, string) {}
... ...
@@ -544,7 +544,7 @@ func SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error
544 544
 	}
545 545
 	typ := reflect.TypeOf(extension.ExtensionType)
546 546
 	if typ != reflect.TypeOf(value) {
547
-		return errors.New("proto: bad extension value type")
547
+		return fmt.Errorf("proto: bad extension value type. got: %T, want: %T", value, extension.ExtensionType)
548 548
 	}
549 549
 	// nil extension values need to be caught early, because the
550 550
 	// encoder can't distinguish an ErrNil due to a nil extension
... ...
@@ -341,26 +341,6 @@ type Message interface {
341 341
 	ProtoMessage()
342 342
 }
343 343
 
344
-// Stats records allocation details about the protocol buffer encoders
345
-// and decoders.  Useful for tuning the library itself.
346
-type Stats struct {
347
-	Emalloc uint64 // mallocs in encode
348
-	Dmalloc uint64 // mallocs in decode
349
-	Encode  uint64 // number of encodes
350
-	Decode  uint64 // number of decodes
351
-	Chit    uint64 // number of cache hits
352
-	Cmiss   uint64 // number of cache misses
353
-	Size    uint64 // number of sizes
354
-}
355
-
356
-// Set to true to enable stats collection.
357
-const collectStats = false
358
-
359
-var stats Stats
360
-
361
-// GetStats returns a copy of the global Stats structure.
362
-func GetStats() Stats { return stats }
363
-
364 344
 // A Buffer is a buffer manager for marshaling and unmarshaling
365 345
 // protocol buffers.  It may be reused between invocations to
366 346
 // reduce memory usage.  It is not necessary to use a Buffer;
... ...
@@ -36,13 +36,7 @@ package proto
36 36
  */
37 37
 
38 38
 import (
39
-	"bytes"
40
-	"encoding/json"
41 39
 	"errors"
42
-	"fmt"
43
-	"reflect"
44
-	"sort"
45
-	"sync"
46 40
 )
47 41
 
48 42
 // errNoMessageTypeID occurs when a protocol buffer does not have a message type ID.
... ...
@@ -145,46 +139,9 @@ func skipVarint(buf []byte) []byte {
145 145
 	return buf[i+1:]
146 146
 }
147 147
 
148
-// MarshalMessageSet encodes the extension map represented by m in the message set wire format.
149
-// It is called by generated Marshal methods on protocol buffer messages with the message_set_wire_format option.
150
-func MarshalMessageSet(exts interface{}) ([]byte, error) {
151
-	return marshalMessageSet(exts, false)
152
-}
153
-
154
-// marshaMessageSet implements above function, with the opt to turn on / off deterministic during Marshal.
155
-func marshalMessageSet(exts interface{}, deterministic bool) ([]byte, error) {
156
-	switch exts := exts.(type) {
157
-	case *XXX_InternalExtensions:
158
-		var u marshalInfo
159
-		siz := u.sizeMessageSet(exts)
160
-		b := make([]byte, 0, siz)
161
-		return u.appendMessageSet(b, exts, deterministic)
162
-
163
-	case map[int32]Extension:
164
-		// This is an old-style extension map.
165
-		// Wrap it in a new-style XXX_InternalExtensions.
166
-		ie := XXX_InternalExtensions{
167
-			p: &struct {
168
-				mu           sync.Mutex
169
-				extensionMap map[int32]Extension
170
-			}{
171
-				extensionMap: exts,
172
-			},
173
-		}
174
-
175
-		var u marshalInfo
176
-		siz := u.sizeMessageSet(&ie)
177
-		b := make([]byte, 0, siz)
178
-		return u.appendMessageSet(b, &ie, deterministic)
179
-
180
-	default:
181
-		return nil, errors.New("proto: not an extension map")
182
-	}
183
-}
184
-
185
-// UnmarshalMessageSet decodes the extension map encoded in buf in the message set wire format.
148
+// unmarshalMessageSet decodes the extension map encoded in buf in the message set wire format.
186 149
 // It is called by Unmarshal methods on protocol buffer messages with the message_set_wire_format option.
187
-func UnmarshalMessageSet(buf []byte, exts interface{}) error {
150
+func unmarshalMessageSet(buf []byte, exts interface{}) error {
188 151
 	var m map[int32]Extension
189 152
 	switch exts := exts.(type) {
190 153
 	case *XXX_InternalExtensions:
... ...
@@ -222,93 +179,3 @@ func UnmarshalMessageSet(buf []byte, exts interface{}) error {
222 222
 	}
223 223
 	return nil
224 224
 }
225
-
226
-// MarshalMessageSetJSON encodes the extension map represented by m in JSON format.
227
-// It is called by generated MarshalJSON methods on protocol buffer messages with the message_set_wire_format option.
228
-func MarshalMessageSetJSON(exts interface{}) ([]byte, error) {
229
-	var m map[int32]Extension
230
-	switch exts := exts.(type) {
231
-	case *XXX_InternalExtensions:
232
-		var mu sync.Locker
233
-		m, mu = exts.extensionsRead()
234
-		if m != nil {
235
-			// Keep the extensions map locked until we're done marshaling to prevent
236
-			// races between marshaling and unmarshaling the lazily-{en,de}coded
237
-			// values.
238
-			mu.Lock()
239
-			defer mu.Unlock()
240
-		}
241
-	case map[int32]Extension:
242
-		m = exts
243
-	default:
244
-		return nil, errors.New("proto: not an extension map")
245
-	}
246
-	var b bytes.Buffer
247
-	b.WriteByte('{')
248
-
249
-	// Process the map in key order for deterministic output.
250
-	ids := make([]int32, 0, len(m))
251
-	for id := range m {
252
-		ids = append(ids, id)
253
-	}
254
-	sort.Sort(int32Slice(ids)) // int32Slice defined in text.go
255
-
256
-	for i, id := range ids {
257
-		ext := m[id]
258
-		msd, ok := messageSetMap[id]
259
-		if !ok {
260
-			// Unknown type; we can't render it, so skip it.
261
-			continue
262
-		}
263
-
264
-		if i > 0 && b.Len() > 1 {
265
-			b.WriteByte(',')
266
-		}
267
-
268
-		fmt.Fprintf(&b, `"[%s]":`, msd.name)
269
-
270
-		x := ext.value
271
-		if x == nil {
272
-			x = reflect.New(msd.t.Elem()).Interface()
273
-			if err := Unmarshal(ext.enc, x.(Message)); err != nil {
274
-				return nil, err
275
-			}
276
-		}
277
-		d, err := json.Marshal(x)
278
-		if err != nil {
279
-			return nil, err
280
-		}
281
-		b.Write(d)
282
-	}
283
-	b.WriteByte('}')
284
-	return b.Bytes(), nil
285
-}
286
-
287
-// UnmarshalMessageSetJSON decodes the extension map encoded in buf in JSON format.
288
-// It is called by generated UnmarshalJSON methods on protocol buffer messages with the message_set_wire_format option.
289
-func UnmarshalMessageSetJSON(buf []byte, exts interface{}) error {
290
-	// Common-case fast path.
291
-	if len(buf) == 0 || bytes.Equal(buf, []byte("{}")) {
292
-		return nil
293
-	}
294
-
295
-	// This is fairly tricky, and it's not clear that it is needed.
296
-	return errors.New("TODO: UnmarshalMessageSetJSON not yet implemented")
297
-}
298
-
299
-// A global registry of types that can be used in a MessageSet.
300
-
301
-var messageSetMap = make(map[int32]messageSetDesc)
302
-
303
-type messageSetDesc struct {
304
-	t    reflect.Type // pointer to struct
305
-	name string
306
-}
307
-
308
-// RegisterMessageSetType is called from the generated code.
309
-func RegisterMessageSetType(m Message, fieldNum int32, name string) {
310
-	messageSetMap[fieldNum] = messageSetDesc{
311
-		t:    reflect.TypeOf(m),
312
-		name: name,
313
-	}
314
-}
... ...
@@ -391,9 +391,6 @@ func GetProperties(t reflect.Type) *StructProperties {
391 391
 	sprop, ok := propertiesMap[t]
392 392
 	propertiesMu.RUnlock()
393 393
 	if ok {
394
-		if collectStats {
395
-			stats.Chit++
396
-		}
397 394
 		return sprop
398 395
 	}
399 396
 
... ...
@@ -406,14 +403,8 @@ func GetProperties(t reflect.Type) *StructProperties {
406 406
 // getPropertiesLocked requires that propertiesMu is held.
407 407
 func getPropertiesLocked(t reflect.Type) *StructProperties {
408 408
 	if prop, ok := propertiesMap[t]; ok {
409
-		if collectStats {
410
-			stats.Chit++
411
-		}
412 409
 		return prop
413 410
 	}
414
-	if collectStats {
415
-		stats.Cmiss++
416
-	}
417 411
 
418 412
 	prop := new(StructProperties)
419 413
 	// in case of recursive protos, fill this in now.
... ...
@@ -491,7 +491,7 @@ func (fi *marshalFieldInfo) computeMarshalFieldInfo(f *reflect.StructField) {
491 491
 
492 492
 func (fi *marshalFieldInfo) computeOneofFieldInfo(f *reflect.StructField, oneofImplementers []interface{}) {
493 493
 	fi.field = toField(f)
494
-	fi.wiretag = 1<<31 - 1 // Use a large tag number, make oneofs sorted at the end. This tag will not appear on the wire.
494
+	fi.wiretag = math.MaxInt32 // Use a large tag number, make oneofs sorted at the end. This tag will not appear on the wire.
495 495
 	fi.isPointer = true
496 496
 	fi.sizer, fi.marshaler = makeOneOfMarshaler(fi, f)
497 497
 	fi.oneofElems = make(map[reflect.Type]*marshalElemInfo)
... ...
@@ -138,7 +138,7 @@ func (u *unmarshalInfo) unmarshal(m pointer, b []byte) error {
138 138
 		u.computeUnmarshalInfo()
139 139
 	}
140 140
 	if u.isMessageSet {
141
-		return UnmarshalMessageSet(b, m.offset(u.extensions).toExtensions())
141
+		return unmarshalMessageSet(b, m.offset(u.extensions).toExtensions())
142 142
 	}
143 143
 	var reqMask uint64 // bitmask of required fields we've seen.
144 144
 	var errLater error
... ...
@@ -2142,7 +2142,7 @@ func encodeVarint(b []byte, x uint64) []byte {
2142 2142
 // If there is an error, it returns 0,0.
2143 2143
 func decodeVarint(b []byte) (uint64, int) {
2144 2144
 	var x, y uint64
2145
-	if len(b) <= 0 {
2145
+	if len(b) == 0 {
2146 2146
 		goto bad
2147 2147
 	}
2148 2148
 	x = uint64(b[0])
... ...
@@ -121,7 +121,8 @@ option objc_class_prefix = "GPB";
121 121
 //
122 122
 message Any {
123 123
   // A URL/resource name that uniquely identifies the type of the serialized
124
-  // protocol buffer message. The last segment of the URL's path must represent
124
+  // protocol buffer message. This string must contain at least
125
+  // one "/" character. The last segment of the URL's path must represent
125 126
   // the fully qualified name of the type (as in
126 127
   // `path/google.protobuf.Duration`). The name should be in a canonical form
127 128
   // (e.g., leading "." is not accepted).
... ...
@@ -417,6 +417,17 @@ message FileOptions {
417 417
   // determining the namespace.
418 418
   optional string php_namespace = 41;
419 419
 
420
+
421
+  // Use this option to change the namespace of php generated metadata classes.
422
+  // Default is empty. When this option is empty, the proto file name will be used
423
+  // for determining the namespace.
424
+  optional string php_metadata_namespace = 44;
425
+
426
+  // Use this option to change the package of ruby generated classes. Default
427
+  // is empty. When this option is not set, the package name will be used for
428
+  // determining the ruby package.
429
+  optional string ruby_package = 45;
430
+
420 431
   // The parser stores options it doesn't recognize here.
421 432
   // See the documentation for the "Options" section above.
422 433
   repeated UninterpretedOption uninterpreted_option = 999;
... ...
@@ -38,6 +38,7 @@ option java_outer_classname = "FieldMaskProto";
38 38
 option java_multiple_files = true;
39 39
 option objc_class_prefix = "GPB";
40 40
 option go_package = "types";
41
+option cc_enable_arenas = true;
41 42
 
42 43
 // `FieldMask` represents a set of symbolic field paths, for example:
43 44
 //
... ...
@@ -107,57 +108,49 @@ option go_package = "types";
107 107
 // describe the updated values, the API ignores the values of all
108 108
 // fields not covered by the mask.
109 109
 //
110
-// If a repeated field is specified for an update operation, the existing
111
-// repeated values in the target resource will be overwritten by the new values.
112
-// Note that a repeated field is only allowed in the last position of a `paths`
113
-// string.
110
+// If a repeated field is specified for an update operation, new values will
111
+// be appended to the existing repeated field in the target resource. Note that
112
+// a repeated field is only allowed in the last position of a `paths` string.
114 113
 //
115 114
 // If a sub-message is specified in the last position of the field mask for an
116
-// update operation, then the existing sub-message in the target resource is
117
-// overwritten. Given the target message:
115
+// update operation, then new value will be merged into the existing sub-message
116
+// in the target resource.
117
+//
118
+// For example, given the target message:
118 119
 //
119 120
 //     f {
120 121
 //       b {
121
-//         d : 1
122
-//         x : 2
122
+//         d: 1
123
+//         x: 2
123 124
 //       }
124
-//       c : 1
125
+//       c: [1]
125 126
 //     }
126 127
 //
127 128
 // And an update message:
128 129
 //
129 130
 //     f {
130 131
 //       b {
131
-//         d : 10
132
+//         d: 10
132 133
 //       }
134
+//       c: [2]
133 135
 //     }
134 136
 //
135 137
 // then if the field mask is:
136 138
 //
137
-//  paths: "f.b"
139
+//  paths: ["f.b", "f.c"]
138 140
 //
139 141
 // then the result will be:
140 142
 //
141 143
 //     f {
142 144
 //       b {
143
-//         d : 10
145
+//         d: 10
146
+//         x: 2
144 147
 //       }
145
-//       c : 1
148
+//       c: [1, 2]
146 149
 //     }
147 150
 //
148
-// However, if the update mask was:
149
-//
150
-//  paths: "f.b.d"
151
-//
152
-// then the result would be:
153
-//
154
-//     f {
155
-//       b {
156
-//         d : 10
157
-//         x : 2
158
-//       }
159
-//       c : 1
160
-//     }
151
+// An implementation may provide options to override this default behavior for
152
+// repeated and message fields.
161 153
 //
162 154
 // In order to reset a field's value to the default, the field must
163 155
 // be in the mask and set to the default value in the provided resource.
... ...
@@ -243,8 +236,8 @@ option go_package = "types";
243 243
 //
244 244
 // ## Field Mask Verification
245 245
 //
246
-// The implementation of the all the API methods, which have any FieldMask type
247
-// field in the request, should verify the included field paths, and return
246
+// The implementation of any API method which has a FieldMask type field in the
247
+// request should verify the included field paths, and return an
248 248
 // `INVALID_ARGUMENT` error if any path is duplicated or unmappable.
249 249
 message FieldMask {
250 250
   // The set of field mask paths.
... ...
@@ -40,17 +40,19 @@ option java_outer_classname = "TimestampProto";
40 40
 option java_multiple_files = true;
41 41
 option objc_class_prefix = "GPB";
42 42
 
43
-// A Timestamp represents a point in time independent of any time zone
44
-// or calendar, represented as seconds and fractions of seconds at
45
-// nanosecond resolution in UTC Epoch time. It is encoded using the
46
-// Proleptic Gregorian Calendar which extends the Gregorian calendar
47
-// backwards to year one. It is encoded assuming all minutes are 60
48
-// seconds long, i.e. leap seconds are "smeared" so that no leap second
49
-// table is needed for interpretation. Range is from
50
-// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.
51
-// By restricting to that range, we ensure that we can convert to
52
-// and from  RFC 3339 date strings.
53
-// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).
43
+// A Timestamp represents a point in time independent of any time zone or local
44
+// calendar, encoded as a count of seconds and fractions of seconds at
45
+// nanosecond resolution. The count is relative to an epoch at UTC midnight on
46
+// January 1, 1970, in the proleptic Gregorian calendar which extends the
47
+// Gregorian calendar backwards to year one.
48
+//
49
+// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
50
+// second table is needed for interpretation, using a [24-hour linear
51
+// smear](https://developers.google.com/time/smear).
52
+//
53
+// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
54
+// restricting to that range, we ensure that we can convert to and from [RFC
55
+// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
54 56
 //
55 57
 // # Examples
56 58
 //
... ...
@@ -111,12 +113,12 @@ option objc_class_prefix = "GPB";
111 111
 // 01:30 UTC on January 15, 2017.
112 112
 //
113 113
 // In JavaScript, one can convert a Date object to this format using the
114
-// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString]
114
+// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
115 115
 // method. In Python, a standard `datetime.datetime` object can be converted
116 116
 // to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)
117 117
 // with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one
118 118
 // can use the Joda Time's [`ISODateTimeFormat.dateTime()`](
119
-// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--
119
+// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
120 120
 // ) to obtain a formatter capable of generating timestamps in this format.
121 121
 //
122 122
 //
... ...
@@ -32,6 +32,11 @@
32 32
 // for embedding primitives in the `google.protobuf.Any` type and for places
33 33
 // where we need to distinguish between the absence of a primitive
34 34
 // typed field and its default value.
35
+//
36
+// These wrappers have no meaningful use within repeated fields as they lack
37
+// the ability to detect presence on individual elements.
38
+// These wrappers have no meaningful use within a map or a oneof since
39
+// individual entries of a map or fields of a oneof can already detect presence.
35 40
 
36 41
 syntax = "proto3";
37 42
 
... ...
@@ -3,9 +3,11 @@
3 3
 
4 4
 package descriptor
5 5
 
6
-import proto "github.com/gogo/protobuf/proto"
7
-import fmt "fmt"
8
-import math "math"
6
+import (
7
+	fmt "fmt"
8
+	proto "github.com/gogo/protobuf/proto"
9
+	math "math"
10
+)
9 11
 
10 12
 // Reference imports to suppress errors if they are not otherwise used.
11 13
 var _ = proto.Marshal
... ...
@@ -72,6 +74,7 @@ var FieldDescriptorProto_Type_name = map[int32]string{
72 72
 	17: "TYPE_SINT32",
73 73
 	18: "TYPE_SINT64",
74 74
 }
75
+
75 76
 var FieldDescriptorProto_Type_value = map[string]int32{
76 77
 	"TYPE_DOUBLE":   1,
77 78
 	"TYPE_FLOAT":    2,
... ...
@@ -98,9 +101,11 @@ func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {
98 98
 	*p = x
99 99
 	return p
100 100
 }
101
+
101 102
 func (x FieldDescriptorProto_Type) String() string {
102 103
 	return proto.EnumName(FieldDescriptorProto_Type_name, int32(x))
103 104
 }
105
+
104 106
 func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {
105 107
 	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type")
106 108
 	if err != nil {
... ...
@@ -109,8 +114,9 @@ func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {
109 109
 	*x = FieldDescriptorProto_Type(value)
110 110
 	return nil
111 111
 }
112
+
112 113
 func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) {
113
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{4, 0}
114
+	return fileDescriptor_308767df5ffe18af, []int{4, 0}
114 115
 }
115 116
 
116 117
 type FieldDescriptorProto_Label int32
... ...
@@ -127,6 +133,7 @@ var FieldDescriptorProto_Label_name = map[int32]string{
127 127
 	2: "LABEL_REQUIRED",
128 128
 	3: "LABEL_REPEATED",
129 129
 }
130
+
130 131
 var FieldDescriptorProto_Label_value = map[string]int32{
131 132
 	"LABEL_OPTIONAL": 1,
132 133
 	"LABEL_REQUIRED": 2,
... ...
@@ -138,9 +145,11 @@ func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {
138 138
 	*p = x
139 139
 	return p
140 140
 }
141
+
141 142
 func (x FieldDescriptorProto_Label) String() string {
142 143
 	return proto.EnumName(FieldDescriptorProto_Label_name, int32(x))
143 144
 }
145
+
144 146
 func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {
145 147
 	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label")
146 148
 	if err != nil {
... ...
@@ -149,8 +158,9 @@ func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {
149 149
 	*x = FieldDescriptorProto_Label(value)
150 150
 	return nil
151 151
 }
152
+
152 153
 func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {
153
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{4, 1}
154
+	return fileDescriptor_308767df5ffe18af, []int{4, 1}
154 155
 }
155 156
 
156 157
 // Generated classes can be optimized for speed or code size.
... ...
@@ -168,6 +178,7 @@ var FileOptions_OptimizeMode_name = map[int32]string{
168 168
 	2: "CODE_SIZE",
169 169
 	3: "LITE_RUNTIME",
170 170
 }
171
+
171 172
 var FileOptions_OptimizeMode_value = map[string]int32{
172 173
 	"SPEED":        1,
173 174
 	"CODE_SIZE":    2,
... ...
@@ -179,9 +190,11 @@ func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {
179 179
 	*p = x
180 180
 	return p
181 181
 }
182
+
182 183
 func (x FileOptions_OptimizeMode) String() string {
183 184
 	return proto.EnumName(FileOptions_OptimizeMode_name, int32(x))
184 185
 }
186
+
185 187
 func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {
186 188
 	value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode")
187 189
 	if err != nil {
... ...
@@ -190,8 +203,9 @@ func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {
190 190
 	*x = FileOptions_OptimizeMode(value)
191 191
 	return nil
192 192
 }
193
+
193 194
 func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) {
194
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{10, 0}
195
+	return fileDescriptor_308767df5ffe18af, []int{10, 0}
195 196
 }
196 197
 
197 198
 type FieldOptions_CType int32
... ...
@@ -208,6 +222,7 @@ var FieldOptions_CType_name = map[int32]string{
208 208
 	1: "CORD",
209 209
 	2: "STRING_PIECE",
210 210
 }
211
+
211 212
 var FieldOptions_CType_value = map[string]int32{
212 213
 	"STRING":       0,
213 214
 	"CORD":         1,
... ...
@@ -219,9 +234,11 @@ func (x FieldOptions_CType) Enum() *FieldOptions_CType {
219 219
 	*p = x
220 220
 	return p
221 221
 }
222
+
222 223
 func (x FieldOptions_CType) String() string {
223 224
 	return proto.EnumName(FieldOptions_CType_name, int32(x))
224 225
 }
226
+
225 227
 func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {
226 228
 	value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType")
227 229
 	if err != nil {
... ...
@@ -230,8 +247,9 @@ func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {
230 230
 	*x = FieldOptions_CType(value)
231 231
 	return nil
232 232
 }
233
+
233 234
 func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) {
234
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{12, 0}
235
+	return fileDescriptor_308767df5ffe18af, []int{12, 0}
235 236
 }
236 237
 
237 238
 type FieldOptions_JSType int32
... ...
@@ -250,6 +268,7 @@ var FieldOptions_JSType_name = map[int32]string{
250 250
 	1: "JS_STRING",
251 251
 	2: "JS_NUMBER",
252 252
 }
253
+
253 254
 var FieldOptions_JSType_value = map[string]int32{
254 255
 	"JS_NORMAL": 0,
255 256
 	"JS_STRING": 1,
... ...
@@ -261,9 +280,11 @@ func (x FieldOptions_JSType) Enum() *FieldOptions_JSType {
261 261
 	*p = x
262 262
 	return p
263 263
 }
264
+
264 265
 func (x FieldOptions_JSType) String() string {
265 266
 	return proto.EnumName(FieldOptions_JSType_name, int32(x))
266 267
 }
268
+
267 269
 func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {
268 270
 	value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType")
269 271
 	if err != nil {
... ...
@@ -272,8 +293,9 @@ func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {
272 272
 	*x = FieldOptions_JSType(value)
273 273
 	return nil
274 274
 }
275
+
275 276
 func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) {
276
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{12, 1}
277
+	return fileDescriptor_308767df5ffe18af, []int{12, 1}
277 278
 }
278 279
 
279 280
 // Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
... ...
@@ -292,6 +314,7 @@ var MethodOptions_IdempotencyLevel_name = map[int32]string{
292 292
 	1: "NO_SIDE_EFFECTS",
293 293
 	2: "IDEMPOTENT",
294 294
 }
295
+
295 296
 var MethodOptions_IdempotencyLevel_value = map[string]int32{
296 297
 	"IDEMPOTENCY_UNKNOWN": 0,
297 298
 	"NO_SIDE_EFFECTS":     1,
... ...
@@ -303,9 +326,11 @@ func (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel {
303 303
 	*p = x
304 304
 	return p
305 305
 }
306
+
306 307
 func (x MethodOptions_IdempotencyLevel) String() string {
307 308
 	return proto.EnumName(MethodOptions_IdempotencyLevel_name, int32(x))
308 309
 }
310
+
309 311
 func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error {
310 312
 	value, err := proto.UnmarshalJSONEnum(MethodOptions_IdempotencyLevel_value, data, "MethodOptions_IdempotencyLevel")
311 313
 	if err != nil {
... ...
@@ -314,8 +339,9 @@ func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error {
314 314
 	*x = MethodOptions_IdempotencyLevel(value)
315 315
 	return nil
316 316
 }
317
+
317 318
 func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) {
318
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{17, 0}
319
+	return fileDescriptor_308767df5ffe18af, []int{17, 0}
319 320
 }
320 321
 
321 322
 // The protocol compiler can output a FileDescriptorSet containing the .proto
... ...
@@ -331,7 +357,7 @@ func (m *FileDescriptorSet) Reset()         { *m = FileDescriptorSet{} }
331 331
 func (m *FileDescriptorSet) String() string { return proto.CompactTextString(m) }
332 332
 func (*FileDescriptorSet) ProtoMessage()    {}
333 333
 func (*FileDescriptorSet) Descriptor() ([]byte, []int) {
334
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{0}
334
+	return fileDescriptor_308767df5ffe18af, []int{0}
335 335
 }
336 336
 func (m *FileDescriptorSet) XXX_Unmarshal(b []byte) error {
337 337
 	return xxx_messageInfo_FileDescriptorSet.Unmarshal(m, b)
... ...
@@ -339,8 +365,8 @@ func (m *FileDescriptorSet) XXX_Unmarshal(b []byte) error {
339 339
 func (m *FileDescriptorSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
340 340
 	return xxx_messageInfo_FileDescriptorSet.Marshal(b, m, deterministic)
341 341
 }
342
-func (dst *FileDescriptorSet) XXX_Merge(src proto.Message) {
343
-	xxx_messageInfo_FileDescriptorSet.Merge(dst, src)
342
+func (m *FileDescriptorSet) XXX_Merge(src proto.Message) {
343
+	xxx_messageInfo_FileDescriptorSet.Merge(m, src)
344 344
 }
345 345
 func (m *FileDescriptorSet) XXX_Size() int {
346 346
 	return xxx_messageInfo_FileDescriptorSet.Size(m)
... ...
@@ -392,7 +418,7 @@ func (m *FileDescriptorProto) Reset()         { *m = FileDescriptorProto{} }
392 392
 func (m *FileDescriptorProto) String() string { return proto.CompactTextString(m) }
393 393
 func (*FileDescriptorProto) ProtoMessage()    {}
394 394
 func (*FileDescriptorProto) Descriptor() ([]byte, []int) {
395
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{1}
395
+	return fileDescriptor_308767df5ffe18af, []int{1}
396 396
 }
397 397
 func (m *FileDescriptorProto) XXX_Unmarshal(b []byte) error {
398 398
 	return xxx_messageInfo_FileDescriptorProto.Unmarshal(m, b)
... ...
@@ -400,8 +426,8 @@ func (m *FileDescriptorProto) XXX_Unmarshal(b []byte) error {
400 400
 func (m *FileDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
401 401
 	return xxx_messageInfo_FileDescriptorProto.Marshal(b, m, deterministic)
402 402
 }
403
-func (dst *FileDescriptorProto) XXX_Merge(src proto.Message) {
404
-	xxx_messageInfo_FileDescriptorProto.Merge(dst, src)
403
+func (m *FileDescriptorProto) XXX_Merge(src proto.Message) {
404
+	xxx_messageInfo_FileDescriptorProto.Merge(m, src)
405 405
 }
406 406
 func (m *FileDescriptorProto) XXX_Size() int {
407 407
 	return xxx_messageInfo_FileDescriptorProto.Size(m)
... ...
@@ -519,7 +545,7 @@ func (m *DescriptorProto) Reset()         { *m = DescriptorProto{} }
519 519
 func (m *DescriptorProto) String() string { return proto.CompactTextString(m) }
520 520
 func (*DescriptorProto) ProtoMessage()    {}
521 521
 func (*DescriptorProto) Descriptor() ([]byte, []int) {
522
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{2}
522
+	return fileDescriptor_308767df5ffe18af, []int{2}
523 523
 }
524 524
 func (m *DescriptorProto) XXX_Unmarshal(b []byte) error {
525 525
 	return xxx_messageInfo_DescriptorProto.Unmarshal(m, b)
... ...
@@ -527,8 +553,8 @@ func (m *DescriptorProto) XXX_Unmarshal(b []byte) error {
527 527
 func (m *DescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
528 528
 	return xxx_messageInfo_DescriptorProto.Marshal(b, m, deterministic)
529 529
 }
530
-func (dst *DescriptorProto) XXX_Merge(src proto.Message) {
531
-	xxx_messageInfo_DescriptorProto.Merge(dst, src)
530
+func (m *DescriptorProto) XXX_Merge(src proto.Message) {
531
+	xxx_messageInfo_DescriptorProto.Merge(m, src)
532 532
 }
533 533
 func (m *DescriptorProto) XXX_Size() int {
534 534
 	return xxx_messageInfo_DescriptorProto.Size(m)
... ...
@@ -622,7 +648,7 @@ func (m *DescriptorProto_ExtensionRange) Reset()         { *m = DescriptorProto_
622 622
 func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }
623 623
 func (*DescriptorProto_ExtensionRange) ProtoMessage()    {}
624 624
 func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {
625
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{2, 0}
625
+	return fileDescriptor_308767df5ffe18af, []int{2, 0}
626 626
 }
627 627
 func (m *DescriptorProto_ExtensionRange) XXX_Unmarshal(b []byte) error {
628 628
 	return xxx_messageInfo_DescriptorProto_ExtensionRange.Unmarshal(m, b)
... ...
@@ -630,8 +656,8 @@ func (m *DescriptorProto_ExtensionRange) XXX_Unmarshal(b []byte) error {
630 630
 func (m *DescriptorProto_ExtensionRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
631 631
 	return xxx_messageInfo_DescriptorProto_ExtensionRange.Marshal(b, m, deterministic)
632 632
 }
633
-func (dst *DescriptorProto_ExtensionRange) XXX_Merge(src proto.Message) {
634
-	xxx_messageInfo_DescriptorProto_ExtensionRange.Merge(dst, src)
633
+func (m *DescriptorProto_ExtensionRange) XXX_Merge(src proto.Message) {
634
+	xxx_messageInfo_DescriptorProto_ExtensionRange.Merge(m, src)
635 635
 }
636 636
 func (m *DescriptorProto_ExtensionRange) XXX_Size() int {
637 637
 	return xxx_messageInfo_DescriptorProto_ExtensionRange.Size(m)
... ...
@@ -678,7 +704,7 @@ func (m *DescriptorProto_ReservedRange) Reset()         { *m = DescriptorProto_R
678 678
 func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }
679 679
 func (*DescriptorProto_ReservedRange) ProtoMessage()    {}
680 680
 func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {
681
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{2, 1}
681
+	return fileDescriptor_308767df5ffe18af, []int{2, 1}
682 682
 }
683 683
 func (m *DescriptorProto_ReservedRange) XXX_Unmarshal(b []byte) error {
684 684
 	return xxx_messageInfo_DescriptorProto_ReservedRange.Unmarshal(m, b)
... ...
@@ -686,8 +712,8 @@ func (m *DescriptorProto_ReservedRange) XXX_Unmarshal(b []byte) error {
686 686
 func (m *DescriptorProto_ReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
687 687
 	return xxx_messageInfo_DescriptorProto_ReservedRange.Marshal(b, m, deterministic)
688 688
 }
689
-func (dst *DescriptorProto_ReservedRange) XXX_Merge(src proto.Message) {
690
-	xxx_messageInfo_DescriptorProto_ReservedRange.Merge(dst, src)
689
+func (m *DescriptorProto_ReservedRange) XXX_Merge(src proto.Message) {
690
+	xxx_messageInfo_DescriptorProto_ReservedRange.Merge(m, src)
691 691
 }
692 692
 func (m *DescriptorProto_ReservedRange) XXX_Size() int {
693 693
 	return xxx_messageInfo_DescriptorProto_ReservedRange.Size(m)
... ...
@@ -725,7 +751,7 @@ func (m *ExtensionRangeOptions) Reset()         { *m = ExtensionRangeOptions{} }
725 725
 func (m *ExtensionRangeOptions) String() string { return proto.CompactTextString(m) }
726 726
 func (*ExtensionRangeOptions) ProtoMessage()    {}
727 727
 func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) {
728
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{3}
728
+	return fileDescriptor_308767df5ffe18af, []int{3}
729 729
 }
730 730
 
731 731
 var extRange_ExtensionRangeOptions = []proto.ExtensionRange{
... ...
@@ -735,14 +761,15 @@ var extRange_ExtensionRangeOptions = []proto.ExtensionRange{
735 735
 func (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange {
736 736
 	return extRange_ExtensionRangeOptions
737 737
 }
738
+
738 739
 func (m *ExtensionRangeOptions) XXX_Unmarshal(b []byte) error {
739 740
 	return xxx_messageInfo_ExtensionRangeOptions.Unmarshal(m, b)
740 741
 }
741 742
 func (m *ExtensionRangeOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
742 743
 	return xxx_messageInfo_ExtensionRangeOptions.Marshal(b, m, deterministic)
743 744
 }
744
-func (dst *ExtensionRangeOptions) XXX_Merge(src proto.Message) {
745
-	xxx_messageInfo_ExtensionRangeOptions.Merge(dst, src)
745
+func (m *ExtensionRangeOptions) XXX_Merge(src proto.Message) {
746
+	xxx_messageInfo_ExtensionRangeOptions.Merge(m, src)
746 747
 }
747 748
 func (m *ExtensionRangeOptions) XXX_Size() int {
748 749
 	return xxx_messageInfo_ExtensionRangeOptions.Size(m)
... ...
@@ -801,7 +828,7 @@ func (m *FieldDescriptorProto) Reset()         { *m = FieldDescriptorProto{} }
801 801
 func (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) }
802 802
 func (*FieldDescriptorProto) ProtoMessage()    {}
803 803
 func (*FieldDescriptorProto) Descriptor() ([]byte, []int) {
804
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{4}
804
+	return fileDescriptor_308767df5ffe18af, []int{4}
805 805
 }
806 806
 func (m *FieldDescriptorProto) XXX_Unmarshal(b []byte) error {
807 807
 	return xxx_messageInfo_FieldDescriptorProto.Unmarshal(m, b)
... ...
@@ -809,8 +836,8 @@ func (m *FieldDescriptorProto) XXX_Unmarshal(b []byte) error {
809 809
 func (m *FieldDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
810 810
 	return xxx_messageInfo_FieldDescriptorProto.Marshal(b, m, deterministic)
811 811
 }
812
-func (dst *FieldDescriptorProto) XXX_Merge(src proto.Message) {
813
-	xxx_messageInfo_FieldDescriptorProto.Merge(dst, src)
812
+func (m *FieldDescriptorProto) XXX_Merge(src proto.Message) {
813
+	xxx_messageInfo_FieldDescriptorProto.Merge(m, src)
814 814
 }
815 815
 func (m *FieldDescriptorProto) XXX_Size() int {
816 816
 	return xxx_messageInfo_FieldDescriptorProto.Size(m)
... ...
@@ -904,7 +931,7 @@ func (m *OneofDescriptorProto) Reset()         { *m = OneofDescriptorProto{} }
904 904
 func (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) }
905 905
 func (*OneofDescriptorProto) ProtoMessage()    {}
906 906
 func (*OneofDescriptorProto) Descriptor() ([]byte, []int) {
907
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{5}
907
+	return fileDescriptor_308767df5ffe18af, []int{5}
908 908
 }
909 909
 func (m *OneofDescriptorProto) XXX_Unmarshal(b []byte) error {
910 910
 	return xxx_messageInfo_OneofDescriptorProto.Unmarshal(m, b)
... ...
@@ -912,8 +939,8 @@ func (m *OneofDescriptorProto) XXX_Unmarshal(b []byte) error {
912 912
 func (m *OneofDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
913 913
 	return xxx_messageInfo_OneofDescriptorProto.Marshal(b, m, deterministic)
914 914
 }
915
-func (dst *OneofDescriptorProto) XXX_Merge(src proto.Message) {
916
-	xxx_messageInfo_OneofDescriptorProto.Merge(dst, src)
915
+func (m *OneofDescriptorProto) XXX_Merge(src proto.Message) {
916
+	xxx_messageInfo_OneofDescriptorProto.Merge(m, src)
917 917
 }
918 918
 func (m *OneofDescriptorProto) XXX_Size() int {
919 919
 	return xxx_messageInfo_OneofDescriptorProto.Size(m)
... ...
@@ -959,7 +986,7 @@ func (m *EnumDescriptorProto) Reset()         { *m = EnumDescriptorProto{} }
959 959
 func (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) }
960 960
 func (*EnumDescriptorProto) ProtoMessage()    {}
961 961
 func (*EnumDescriptorProto) Descriptor() ([]byte, []int) {
962
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{6}
962
+	return fileDescriptor_308767df5ffe18af, []int{6}
963 963
 }
964 964
 func (m *EnumDescriptorProto) XXX_Unmarshal(b []byte) error {
965 965
 	return xxx_messageInfo_EnumDescriptorProto.Unmarshal(m, b)
... ...
@@ -967,8 +994,8 @@ func (m *EnumDescriptorProto) XXX_Unmarshal(b []byte) error {
967 967
 func (m *EnumDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
968 968
 	return xxx_messageInfo_EnumDescriptorProto.Marshal(b, m, deterministic)
969 969
 }
970
-func (dst *EnumDescriptorProto) XXX_Merge(src proto.Message) {
971
-	xxx_messageInfo_EnumDescriptorProto.Merge(dst, src)
970
+func (m *EnumDescriptorProto) XXX_Merge(src proto.Message) {
971
+	xxx_messageInfo_EnumDescriptorProto.Merge(m, src)
972 972
 }
973 973
 func (m *EnumDescriptorProto) XXX_Size() int {
974 974
 	return xxx_messageInfo_EnumDescriptorProto.Size(m)
... ...
@@ -1032,7 +1059,7 @@ func (m *EnumDescriptorProto_EnumReservedRange) Reset()         { *m = EnumDescr
1032 1032
 func (m *EnumDescriptorProto_EnumReservedRange) String() string { return proto.CompactTextString(m) }
1033 1033
 func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage()    {}
1034 1034
 func (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) {
1035
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{6, 0}
1035
+	return fileDescriptor_308767df5ffe18af, []int{6, 0}
1036 1036
 }
1037 1037
 func (m *EnumDescriptorProto_EnumReservedRange) XXX_Unmarshal(b []byte) error {
1038 1038
 	return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Unmarshal(m, b)
... ...
@@ -1040,8 +1067,8 @@ func (m *EnumDescriptorProto_EnumReservedRange) XXX_Unmarshal(b []byte) error {
1040 1040
 func (m *EnumDescriptorProto_EnumReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1041 1041
 	return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Marshal(b, m, deterministic)
1042 1042
 }
1043
-func (dst *EnumDescriptorProto_EnumReservedRange) XXX_Merge(src proto.Message) {
1044
-	xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Merge(dst, src)
1043
+func (m *EnumDescriptorProto_EnumReservedRange) XXX_Merge(src proto.Message) {
1044
+	xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Merge(m, src)
1045 1045
 }
1046 1046
 func (m *EnumDescriptorProto_EnumReservedRange) XXX_Size() int {
1047 1047
 	return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Size(m)
... ...
@@ -1080,7 +1107,7 @@ func (m *EnumValueDescriptorProto) Reset()         { *m = EnumValueDescriptorPro
1080 1080
 func (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) }
1081 1081
 func (*EnumValueDescriptorProto) ProtoMessage()    {}
1082 1082
 func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) {
1083
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{7}
1083
+	return fileDescriptor_308767df5ffe18af, []int{7}
1084 1084
 }
1085 1085
 func (m *EnumValueDescriptorProto) XXX_Unmarshal(b []byte) error {
1086 1086
 	return xxx_messageInfo_EnumValueDescriptorProto.Unmarshal(m, b)
... ...
@@ -1088,8 +1115,8 @@ func (m *EnumValueDescriptorProto) XXX_Unmarshal(b []byte) error {
1088 1088
 func (m *EnumValueDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1089 1089
 	return xxx_messageInfo_EnumValueDescriptorProto.Marshal(b, m, deterministic)
1090 1090
 }
1091
-func (dst *EnumValueDescriptorProto) XXX_Merge(src proto.Message) {
1092
-	xxx_messageInfo_EnumValueDescriptorProto.Merge(dst, src)
1091
+func (m *EnumValueDescriptorProto) XXX_Merge(src proto.Message) {
1092
+	xxx_messageInfo_EnumValueDescriptorProto.Merge(m, src)
1093 1093
 }
1094 1094
 func (m *EnumValueDescriptorProto) XXX_Size() int {
1095 1095
 	return xxx_messageInfo_EnumValueDescriptorProto.Size(m)
... ...
@@ -1135,7 +1162,7 @@ func (m *ServiceDescriptorProto) Reset()         { *m = ServiceDescriptorProto{}
1135 1135
 func (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) }
1136 1136
 func (*ServiceDescriptorProto) ProtoMessage()    {}
1137 1137
 func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) {
1138
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{8}
1138
+	return fileDescriptor_308767df5ffe18af, []int{8}
1139 1139
 }
1140 1140
 func (m *ServiceDescriptorProto) XXX_Unmarshal(b []byte) error {
1141 1141
 	return xxx_messageInfo_ServiceDescriptorProto.Unmarshal(m, b)
... ...
@@ -1143,8 +1170,8 @@ func (m *ServiceDescriptorProto) XXX_Unmarshal(b []byte) error {
1143 1143
 func (m *ServiceDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1144 1144
 	return xxx_messageInfo_ServiceDescriptorProto.Marshal(b, m, deterministic)
1145 1145
 }
1146
-func (dst *ServiceDescriptorProto) XXX_Merge(src proto.Message) {
1147
-	xxx_messageInfo_ServiceDescriptorProto.Merge(dst, src)
1146
+func (m *ServiceDescriptorProto) XXX_Merge(src proto.Message) {
1147
+	xxx_messageInfo_ServiceDescriptorProto.Merge(m, src)
1148 1148
 }
1149 1149
 func (m *ServiceDescriptorProto) XXX_Size() int {
1150 1150
 	return xxx_messageInfo_ServiceDescriptorProto.Size(m)
... ...
@@ -1197,7 +1224,7 @@ func (m *MethodDescriptorProto) Reset()         { *m = MethodDescriptorProto{} }
1197 1197
 func (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) }
1198 1198
 func (*MethodDescriptorProto) ProtoMessage()    {}
1199 1199
 func (*MethodDescriptorProto) Descriptor() ([]byte, []int) {
1200
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{9}
1200
+	return fileDescriptor_308767df5ffe18af, []int{9}
1201 1201
 }
1202 1202
 func (m *MethodDescriptorProto) XXX_Unmarshal(b []byte) error {
1203 1203
 	return xxx_messageInfo_MethodDescriptorProto.Unmarshal(m, b)
... ...
@@ -1205,8 +1232,8 @@ func (m *MethodDescriptorProto) XXX_Unmarshal(b []byte) error {
1205 1205
 func (m *MethodDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1206 1206
 	return xxx_messageInfo_MethodDescriptorProto.Marshal(b, m, deterministic)
1207 1207
 }
1208
-func (dst *MethodDescriptorProto) XXX_Merge(src proto.Message) {
1209
-	xxx_messageInfo_MethodDescriptorProto.Merge(dst, src)
1208
+func (m *MethodDescriptorProto) XXX_Merge(src proto.Message) {
1209
+	xxx_messageInfo_MethodDescriptorProto.Merge(m, src)
1210 1210
 }
1211 1211
 func (m *MethodDescriptorProto) XXX_Size() int {
1212 1212
 	return xxx_messageInfo_MethodDescriptorProto.Size(m)
... ...
@@ -1336,6 +1363,14 @@ type FileOptions struct {
1336 1336
 	// is empty. When this option is empty, the package name will be used for
1337 1337
 	// determining the namespace.
1338 1338
 	PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"`
1339
+	// Use this option to change the namespace of php generated metadata classes.
1340
+	// Default is empty. When this option is empty, the proto file name will be used
1341
+	// for determining the namespace.
1342
+	PhpMetadataNamespace *string `protobuf:"bytes,44,opt,name=php_metadata_namespace,json=phpMetadataNamespace" json:"php_metadata_namespace,omitempty"`
1343
+	// Use this option to change the package of ruby generated classes. Default
1344
+	// is empty. When this option is not set, the package name will be used for
1345
+	// determining the ruby package.
1346
+	RubyPackage *string `protobuf:"bytes,45,opt,name=ruby_package,json=rubyPackage" json:"ruby_package,omitempty"`
1339 1347
 	// The parser stores options it doesn't recognize here.
1340 1348
 	// See the documentation for the "Options" section above.
1341 1349
 	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
... ...
@@ -1349,7 +1384,7 @@ func (m *FileOptions) Reset()         { *m = FileOptions{} }
1349 1349
 func (m *FileOptions) String() string { return proto.CompactTextString(m) }
1350 1350
 func (*FileOptions) ProtoMessage()    {}
1351 1351
 func (*FileOptions) Descriptor() ([]byte, []int) {
1352
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{10}
1352
+	return fileDescriptor_308767df5ffe18af, []int{10}
1353 1353
 }
1354 1354
 
1355 1355
 var extRange_FileOptions = []proto.ExtensionRange{
... ...
@@ -1359,14 +1394,15 @@ var extRange_FileOptions = []proto.ExtensionRange{
1359 1359
 func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {
1360 1360
 	return extRange_FileOptions
1361 1361
 }
1362
+
1362 1363
 func (m *FileOptions) XXX_Unmarshal(b []byte) error {
1363 1364
 	return xxx_messageInfo_FileOptions.Unmarshal(m, b)
1364 1365
 }
1365 1366
 func (m *FileOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1366 1367
 	return xxx_messageInfo_FileOptions.Marshal(b, m, deterministic)
1367 1368
 }
1368
-func (dst *FileOptions) XXX_Merge(src proto.Message) {
1369
-	xxx_messageInfo_FileOptions.Merge(dst, src)
1369
+func (m *FileOptions) XXX_Merge(src proto.Message) {
1370
+	xxx_messageInfo_FileOptions.Merge(m, src)
1370 1371
 }
1371 1372
 func (m *FileOptions) XXX_Size() int {
1372 1373
 	return xxx_messageInfo_FileOptions.Size(m)
... ...
@@ -1514,6 +1550,20 @@ func (m *FileOptions) GetPhpNamespace() string {
1514 1514
 	return ""
1515 1515
 }
1516 1516
 
1517
+func (m *FileOptions) GetPhpMetadataNamespace() string {
1518
+	if m != nil && m.PhpMetadataNamespace != nil {
1519
+		return *m.PhpMetadataNamespace
1520
+	}
1521
+	return ""
1522
+}
1523
+
1524
+func (m *FileOptions) GetRubyPackage() string {
1525
+	if m != nil && m.RubyPackage != nil {
1526
+		return *m.RubyPackage
1527
+	}
1528
+	return ""
1529
+}
1530
+
1517 1531
 func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {
1518 1532
 	if m != nil {
1519 1533
 		return m.UninterpretedOption
... ...
@@ -1584,7 +1634,7 @@ func (m *MessageOptions) Reset()         { *m = MessageOptions{} }
1584 1584
 func (m *MessageOptions) String() string { return proto.CompactTextString(m) }
1585 1585
 func (*MessageOptions) ProtoMessage()    {}
1586 1586
 func (*MessageOptions) Descriptor() ([]byte, []int) {
1587
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{11}
1587
+	return fileDescriptor_308767df5ffe18af, []int{11}
1588 1588
 }
1589 1589
 
1590 1590
 var extRange_MessageOptions = []proto.ExtensionRange{
... ...
@@ -1594,14 +1644,15 @@ var extRange_MessageOptions = []proto.ExtensionRange{
1594 1594
 func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {
1595 1595
 	return extRange_MessageOptions
1596 1596
 }
1597
+
1597 1598
 func (m *MessageOptions) XXX_Unmarshal(b []byte) error {
1598 1599
 	return xxx_messageInfo_MessageOptions.Unmarshal(m, b)
1599 1600
 }
1600 1601
 func (m *MessageOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1601 1602
 	return xxx_messageInfo_MessageOptions.Marshal(b, m, deterministic)
1602 1603
 }
1603
-func (dst *MessageOptions) XXX_Merge(src proto.Message) {
1604
-	xxx_messageInfo_MessageOptions.Merge(dst, src)
1604
+func (m *MessageOptions) XXX_Merge(src proto.Message) {
1605
+	xxx_messageInfo_MessageOptions.Merge(m, src)
1605 1606
 }
1606 1607
 func (m *MessageOptions) XXX_Size() int {
1607 1608
 	return xxx_messageInfo_MessageOptions.Size(m)
... ...
@@ -1723,7 +1774,7 @@ func (m *FieldOptions) Reset()         { *m = FieldOptions{} }
1723 1723
 func (m *FieldOptions) String() string { return proto.CompactTextString(m) }
1724 1724
 func (*FieldOptions) ProtoMessage()    {}
1725 1725
 func (*FieldOptions) Descriptor() ([]byte, []int) {
1726
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{12}
1726
+	return fileDescriptor_308767df5ffe18af, []int{12}
1727 1727
 }
1728 1728
 
1729 1729
 var extRange_FieldOptions = []proto.ExtensionRange{
... ...
@@ -1733,14 +1784,15 @@ var extRange_FieldOptions = []proto.ExtensionRange{
1733 1733
 func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {
1734 1734
 	return extRange_FieldOptions
1735 1735
 }
1736
+
1736 1737
 func (m *FieldOptions) XXX_Unmarshal(b []byte) error {
1737 1738
 	return xxx_messageInfo_FieldOptions.Unmarshal(m, b)
1738 1739
 }
1739 1740
 func (m *FieldOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1740 1741
 	return xxx_messageInfo_FieldOptions.Marshal(b, m, deterministic)
1741 1742
 }
1742
-func (dst *FieldOptions) XXX_Merge(src proto.Message) {
1743
-	xxx_messageInfo_FieldOptions.Merge(dst, src)
1743
+func (m *FieldOptions) XXX_Merge(src proto.Message) {
1744
+	xxx_messageInfo_FieldOptions.Merge(m, src)
1744 1745
 }
1745 1746
 func (m *FieldOptions) XXX_Size() int {
1746 1747
 	return xxx_messageInfo_FieldOptions.Size(m)
... ...
@@ -1819,7 +1871,7 @@ func (m *OneofOptions) Reset()         { *m = OneofOptions{} }
1819 1819
 func (m *OneofOptions) String() string { return proto.CompactTextString(m) }
1820 1820
 func (*OneofOptions) ProtoMessage()    {}
1821 1821
 func (*OneofOptions) Descriptor() ([]byte, []int) {
1822
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{13}
1822
+	return fileDescriptor_308767df5ffe18af, []int{13}
1823 1823
 }
1824 1824
 
1825 1825
 var extRange_OneofOptions = []proto.ExtensionRange{
... ...
@@ -1829,14 +1881,15 @@ var extRange_OneofOptions = []proto.ExtensionRange{
1829 1829
 func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange {
1830 1830
 	return extRange_OneofOptions
1831 1831
 }
1832
+
1832 1833
 func (m *OneofOptions) XXX_Unmarshal(b []byte) error {
1833 1834
 	return xxx_messageInfo_OneofOptions.Unmarshal(m, b)
1834 1835
 }
1835 1836
 func (m *OneofOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1836 1837
 	return xxx_messageInfo_OneofOptions.Marshal(b, m, deterministic)
1837 1838
 }
1838
-func (dst *OneofOptions) XXX_Merge(src proto.Message) {
1839
-	xxx_messageInfo_OneofOptions.Merge(dst, src)
1839
+func (m *OneofOptions) XXX_Merge(src proto.Message) {
1840
+	xxx_messageInfo_OneofOptions.Merge(m, src)
1840 1841
 }
1841 1842
 func (m *OneofOptions) XXX_Size() int {
1842 1843
 	return xxx_messageInfo_OneofOptions.Size(m)
... ...
@@ -1875,7 +1928,7 @@ func (m *EnumOptions) Reset()         { *m = EnumOptions{} }
1875 1875
 func (m *EnumOptions) String() string { return proto.CompactTextString(m) }
1876 1876
 func (*EnumOptions) ProtoMessage()    {}
1877 1877
 func (*EnumOptions) Descriptor() ([]byte, []int) {
1878
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{14}
1878
+	return fileDescriptor_308767df5ffe18af, []int{14}
1879 1879
 }
1880 1880
 
1881 1881
 var extRange_EnumOptions = []proto.ExtensionRange{
... ...
@@ -1885,14 +1938,15 @@ var extRange_EnumOptions = []proto.ExtensionRange{
1885 1885
 func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {
1886 1886
 	return extRange_EnumOptions
1887 1887
 }
1888
+
1888 1889
 func (m *EnumOptions) XXX_Unmarshal(b []byte) error {
1889 1890
 	return xxx_messageInfo_EnumOptions.Unmarshal(m, b)
1890 1891
 }
1891 1892
 func (m *EnumOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1892 1893
 	return xxx_messageInfo_EnumOptions.Marshal(b, m, deterministic)
1893 1894
 }
1894
-func (dst *EnumOptions) XXX_Merge(src proto.Message) {
1895
-	xxx_messageInfo_EnumOptions.Merge(dst, src)
1895
+func (m *EnumOptions) XXX_Merge(src proto.Message) {
1896
+	xxx_messageInfo_EnumOptions.Merge(m, src)
1896 1897
 }
1897 1898
 func (m *EnumOptions) XXX_Size() int {
1898 1899
 	return xxx_messageInfo_EnumOptions.Size(m)
... ...
@@ -1944,7 +1998,7 @@ func (m *EnumValueOptions) Reset()         { *m = EnumValueOptions{} }
1944 1944
 func (m *EnumValueOptions) String() string { return proto.CompactTextString(m) }
1945 1945
 func (*EnumValueOptions) ProtoMessage()    {}
1946 1946
 func (*EnumValueOptions) Descriptor() ([]byte, []int) {
1947
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{15}
1947
+	return fileDescriptor_308767df5ffe18af, []int{15}
1948 1948
 }
1949 1949
 
1950 1950
 var extRange_EnumValueOptions = []proto.ExtensionRange{
... ...
@@ -1954,14 +2008,15 @@ var extRange_EnumValueOptions = []proto.ExtensionRange{
1954 1954
 func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {
1955 1955
 	return extRange_EnumValueOptions
1956 1956
 }
1957
+
1957 1958
 func (m *EnumValueOptions) XXX_Unmarshal(b []byte) error {
1958 1959
 	return xxx_messageInfo_EnumValueOptions.Unmarshal(m, b)
1959 1960
 }
1960 1961
 func (m *EnumValueOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1961 1962
 	return xxx_messageInfo_EnumValueOptions.Marshal(b, m, deterministic)
1962 1963
 }
1963
-func (dst *EnumValueOptions) XXX_Merge(src proto.Message) {
1964
-	xxx_messageInfo_EnumValueOptions.Merge(dst, src)
1964
+func (m *EnumValueOptions) XXX_Merge(src proto.Message) {
1965
+	xxx_messageInfo_EnumValueOptions.Merge(m, src)
1965 1966
 }
1966 1967
 func (m *EnumValueOptions) XXX_Size() int {
1967 1968
 	return xxx_messageInfo_EnumValueOptions.Size(m)
... ...
@@ -2006,7 +2061,7 @@ func (m *ServiceOptions) Reset()         { *m = ServiceOptions{} }
2006 2006
 func (m *ServiceOptions) String() string { return proto.CompactTextString(m) }
2007 2007
 func (*ServiceOptions) ProtoMessage()    {}
2008 2008
 func (*ServiceOptions) Descriptor() ([]byte, []int) {
2009
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{16}
2009
+	return fileDescriptor_308767df5ffe18af, []int{16}
2010 2010
 }
2011 2011
 
2012 2012
 var extRange_ServiceOptions = []proto.ExtensionRange{
... ...
@@ -2016,14 +2071,15 @@ var extRange_ServiceOptions = []proto.ExtensionRange{
2016 2016
 func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {
2017 2017
 	return extRange_ServiceOptions
2018 2018
 }
2019
+
2019 2020
 func (m *ServiceOptions) XXX_Unmarshal(b []byte) error {
2020 2021
 	return xxx_messageInfo_ServiceOptions.Unmarshal(m, b)
2021 2022
 }
2022 2023
 func (m *ServiceOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2023 2024
 	return xxx_messageInfo_ServiceOptions.Marshal(b, m, deterministic)
2024 2025
 }
2025
-func (dst *ServiceOptions) XXX_Merge(src proto.Message) {
2026
-	xxx_messageInfo_ServiceOptions.Merge(dst, src)
2026
+func (m *ServiceOptions) XXX_Merge(src proto.Message) {
2027
+	xxx_messageInfo_ServiceOptions.Merge(m, src)
2027 2028
 }
2028 2029
 func (m *ServiceOptions) XXX_Size() int {
2029 2030
 	return xxx_messageInfo_ServiceOptions.Size(m)
... ...
@@ -2069,7 +2125,7 @@ func (m *MethodOptions) Reset()         { *m = MethodOptions{} }
2069 2069
 func (m *MethodOptions) String() string { return proto.CompactTextString(m) }
2070 2070
 func (*MethodOptions) ProtoMessage()    {}
2071 2071
 func (*MethodOptions) Descriptor() ([]byte, []int) {
2072
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{17}
2072
+	return fileDescriptor_308767df5ffe18af, []int{17}
2073 2073
 }
2074 2074
 
2075 2075
 var extRange_MethodOptions = []proto.ExtensionRange{
... ...
@@ -2079,14 +2135,15 @@ var extRange_MethodOptions = []proto.ExtensionRange{
2079 2079
 func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {
2080 2080
 	return extRange_MethodOptions
2081 2081
 }
2082
+
2082 2083
 func (m *MethodOptions) XXX_Unmarshal(b []byte) error {
2083 2084
 	return xxx_messageInfo_MethodOptions.Unmarshal(m, b)
2084 2085
 }
2085 2086
 func (m *MethodOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2086 2087
 	return xxx_messageInfo_MethodOptions.Marshal(b, m, deterministic)
2087 2088
 }
2088
-func (dst *MethodOptions) XXX_Merge(src proto.Message) {
2089
-	xxx_messageInfo_MethodOptions.Merge(dst, src)
2089
+func (m *MethodOptions) XXX_Merge(src proto.Message) {
2090
+	xxx_messageInfo_MethodOptions.Merge(m, src)
2090 2091
 }
2091 2092
 func (m *MethodOptions) XXX_Size() int {
2092 2093
 	return xxx_messageInfo_MethodOptions.Size(m)
... ...
@@ -2146,7 +2203,7 @@ func (m *UninterpretedOption) Reset()         { *m = UninterpretedOption{} }
2146 2146
 func (m *UninterpretedOption) String() string { return proto.CompactTextString(m) }
2147 2147
 func (*UninterpretedOption) ProtoMessage()    {}
2148 2148
 func (*UninterpretedOption) Descriptor() ([]byte, []int) {
2149
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{18}
2149
+	return fileDescriptor_308767df5ffe18af, []int{18}
2150 2150
 }
2151 2151
 func (m *UninterpretedOption) XXX_Unmarshal(b []byte) error {
2152 2152
 	return xxx_messageInfo_UninterpretedOption.Unmarshal(m, b)
... ...
@@ -2154,8 +2211,8 @@ func (m *UninterpretedOption) XXX_Unmarshal(b []byte) error {
2154 2154
 func (m *UninterpretedOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2155 2155
 	return xxx_messageInfo_UninterpretedOption.Marshal(b, m, deterministic)
2156 2156
 }
2157
-func (dst *UninterpretedOption) XXX_Merge(src proto.Message) {
2158
-	xxx_messageInfo_UninterpretedOption.Merge(dst, src)
2157
+func (m *UninterpretedOption) XXX_Merge(src proto.Message) {
2158
+	xxx_messageInfo_UninterpretedOption.Merge(m, src)
2159 2159
 }
2160 2160
 func (m *UninterpretedOption) XXX_Size() int {
2161 2161
 	return xxx_messageInfo_UninterpretedOption.Size(m)
... ...
@@ -2232,7 +2289,7 @@ func (m *UninterpretedOption_NamePart) Reset()         { *m = UninterpretedOptio
2232 2232
 func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }
2233 2233
 func (*UninterpretedOption_NamePart) ProtoMessage()    {}
2234 2234
 func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {
2235
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{18, 0}
2235
+	return fileDescriptor_308767df5ffe18af, []int{18, 0}
2236 2236
 }
2237 2237
 func (m *UninterpretedOption_NamePart) XXX_Unmarshal(b []byte) error {
2238 2238
 	return xxx_messageInfo_UninterpretedOption_NamePart.Unmarshal(m, b)
... ...
@@ -2240,8 +2297,8 @@ func (m *UninterpretedOption_NamePart) XXX_Unmarshal(b []byte) error {
2240 2240
 func (m *UninterpretedOption_NamePart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2241 2241
 	return xxx_messageInfo_UninterpretedOption_NamePart.Marshal(b, m, deterministic)
2242 2242
 }
2243
-func (dst *UninterpretedOption_NamePart) XXX_Merge(src proto.Message) {
2244
-	xxx_messageInfo_UninterpretedOption_NamePart.Merge(dst, src)
2243
+func (m *UninterpretedOption_NamePart) XXX_Merge(src proto.Message) {
2244
+	xxx_messageInfo_UninterpretedOption_NamePart.Merge(m, src)
2245 2245
 }
2246 2246
 func (m *UninterpretedOption_NamePart) XXX_Size() int {
2247 2247
 	return xxx_messageInfo_UninterpretedOption_NamePart.Size(m)
... ...
@@ -2322,7 +2379,7 @@ func (m *SourceCodeInfo) Reset()         { *m = SourceCodeInfo{} }
2322 2322
 func (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) }
2323 2323
 func (*SourceCodeInfo) ProtoMessage()    {}
2324 2324
 func (*SourceCodeInfo) Descriptor() ([]byte, []int) {
2325
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{19}
2325
+	return fileDescriptor_308767df5ffe18af, []int{19}
2326 2326
 }
2327 2327
 func (m *SourceCodeInfo) XXX_Unmarshal(b []byte) error {
2328 2328
 	return xxx_messageInfo_SourceCodeInfo.Unmarshal(m, b)
... ...
@@ -2330,8 +2387,8 @@ func (m *SourceCodeInfo) XXX_Unmarshal(b []byte) error {
2330 2330
 func (m *SourceCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2331 2331
 	return xxx_messageInfo_SourceCodeInfo.Marshal(b, m, deterministic)
2332 2332
 }
2333
-func (dst *SourceCodeInfo) XXX_Merge(src proto.Message) {
2334
-	xxx_messageInfo_SourceCodeInfo.Merge(dst, src)
2333
+func (m *SourceCodeInfo) XXX_Merge(src proto.Message) {
2334
+	xxx_messageInfo_SourceCodeInfo.Merge(m, src)
2335 2335
 }
2336 2336
 func (m *SourceCodeInfo) XXX_Size() int {
2337 2337
 	return xxx_messageInfo_SourceCodeInfo.Size(m)
... ...
@@ -2439,7 +2496,7 @@ func (m *SourceCodeInfo_Location) Reset()         { *m = SourceCodeInfo_Location
2439 2439
 func (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) }
2440 2440
 func (*SourceCodeInfo_Location) ProtoMessage()    {}
2441 2441
 func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) {
2442
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{19, 0}
2442
+	return fileDescriptor_308767df5ffe18af, []int{19, 0}
2443 2443
 }
2444 2444
 func (m *SourceCodeInfo_Location) XXX_Unmarshal(b []byte) error {
2445 2445
 	return xxx_messageInfo_SourceCodeInfo_Location.Unmarshal(m, b)
... ...
@@ -2447,8 +2504,8 @@ func (m *SourceCodeInfo_Location) XXX_Unmarshal(b []byte) error {
2447 2447
 func (m *SourceCodeInfo_Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2448 2448
 	return xxx_messageInfo_SourceCodeInfo_Location.Marshal(b, m, deterministic)
2449 2449
 }
2450
-func (dst *SourceCodeInfo_Location) XXX_Merge(src proto.Message) {
2451
-	xxx_messageInfo_SourceCodeInfo_Location.Merge(dst, src)
2450
+func (m *SourceCodeInfo_Location) XXX_Merge(src proto.Message) {
2451
+	xxx_messageInfo_SourceCodeInfo_Location.Merge(m, src)
2452 2452
 }
2453 2453
 func (m *SourceCodeInfo_Location) XXX_Size() int {
2454 2454
 	return xxx_messageInfo_SourceCodeInfo_Location.Size(m)
... ...
@@ -2510,7 +2567,7 @@ func (m *GeneratedCodeInfo) Reset()         { *m = GeneratedCodeInfo{} }
2510 2510
 func (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) }
2511 2511
 func (*GeneratedCodeInfo) ProtoMessage()    {}
2512 2512
 func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) {
2513
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{20}
2513
+	return fileDescriptor_308767df5ffe18af, []int{20}
2514 2514
 }
2515 2515
 func (m *GeneratedCodeInfo) XXX_Unmarshal(b []byte) error {
2516 2516
 	return xxx_messageInfo_GeneratedCodeInfo.Unmarshal(m, b)
... ...
@@ -2518,8 +2575,8 @@ func (m *GeneratedCodeInfo) XXX_Unmarshal(b []byte) error {
2518 2518
 func (m *GeneratedCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2519 2519
 	return xxx_messageInfo_GeneratedCodeInfo.Marshal(b, m, deterministic)
2520 2520
 }
2521
-func (dst *GeneratedCodeInfo) XXX_Merge(src proto.Message) {
2522
-	xxx_messageInfo_GeneratedCodeInfo.Merge(dst, src)
2521
+func (m *GeneratedCodeInfo) XXX_Merge(src proto.Message) {
2522
+	xxx_messageInfo_GeneratedCodeInfo.Merge(m, src)
2523 2523
 }
2524 2524
 func (m *GeneratedCodeInfo) XXX_Size() int {
2525 2525
 	return xxx_messageInfo_GeneratedCodeInfo.Size(m)
... ...
@@ -2559,7 +2616,7 @@ func (m *GeneratedCodeInfo_Annotation) Reset()         { *m = GeneratedCodeInfo_
2559 2559
 func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }
2560 2560
 func (*GeneratedCodeInfo_Annotation) ProtoMessage()    {}
2561 2561
 func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {
2562
-	return fileDescriptor_descriptor_9588782fb9cbecd6, []int{20, 0}
2562
+	return fileDescriptor_308767df5ffe18af, []int{20, 0}
2563 2563
 }
2564 2564
 func (m *GeneratedCodeInfo_Annotation) XXX_Unmarshal(b []byte) error {
2565 2565
 	return xxx_messageInfo_GeneratedCodeInfo_Annotation.Unmarshal(m, b)
... ...
@@ -2567,8 +2624,8 @@ func (m *GeneratedCodeInfo_Annotation) XXX_Unmarshal(b []byte) error {
2567 2567
 func (m *GeneratedCodeInfo_Annotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2568 2568
 	return xxx_messageInfo_GeneratedCodeInfo_Annotation.Marshal(b, m, deterministic)
2569 2569
 }
2570
-func (dst *GeneratedCodeInfo_Annotation) XXX_Merge(src proto.Message) {
2571
-	xxx_messageInfo_GeneratedCodeInfo_Annotation.Merge(dst, src)
2570
+func (m *GeneratedCodeInfo_Annotation) XXX_Merge(src proto.Message) {
2571
+	xxx_messageInfo_GeneratedCodeInfo_Annotation.Merge(m, src)
2572 2572
 }
2573 2573
 func (m *GeneratedCodeInfo_Annotation) XXX_Size() int {
2574 2574
 	return xxx_messageInfo_GeneratedCodeInfo_Annotation.Size(m)
... ...
@@ -2608,6 +2665,12 @@ func (m *GeneratedCodeInfo_Annotation) GetEnd() int32 {
2608 2608
 }
2609 2609
 
2610 2610
 func init() {
2611
+	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
2612
+	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
2613
+	proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
2614
+	proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
2615
+	proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value)
2616
+	proto.RegisterEnum("google.protobuf.MethodOptions_IdempotencyLevel", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value)
2611 2617
 	proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet")
2612 2618
 	proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto")
2613 2619
 	proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto")
... ...
@@ -2635,172 +2698,168 @@ func init() {
2635 2635
 	proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location")
2636 2636
 	proto.RegisterType((*GeneratedCodeInfo)(nil), "google.protobuf.GeneratedCodeInfo")
2637 2637
 	proto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), "google.protobuf.GeneratedCodeInfo.Annotation")
2638
-	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
2639
-	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
2640
-	proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
2641
-	proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
2642
-	proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value)
2643
-	proto.RegisterEnum("google.protobuf.MethodOptions_IdempotencyLevel", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value)
2644 2638
 }
2645 2639
 
2646
-func init() { proto.RegisterFile("descriptor.proto", fileDescriptor_descriptor_9588782fb9cbecd6) }
2640
+func init() { proto.RegisterFile("descriptor.proto", fileDescriptor_308767df5ffe18af) }
2647 2641
 
2648
-var fileDescriptor_descriptor_9588782fb9cbecd6 = []byte{
2649
-	// 2487 bytes of a gzipped FileDescriptorProto
2642
+var fileDescriptor_308767df5ffe18af = []byte{
2643
+	// 2522 bytes of a gzipped FileDescriptorProto
2650 2644
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcd, 0x6f, 0xdb, 0xc8,
2651
-	0x15, 0x5f, 0x7d, 0x5a, 0x7a, 0x92, 0xe5, 0xf1, 0xd8, 0x9b, 0x30, 0xde, 0x8f, 0x38, 0xda, 0x8f,
2652
-	0x38, 0x49, 0xab, 0x2c, 0x9c, 0xc4, 0xc9, 0x3a, 0xc5, 0xb6, 0xb2, 0xc4, 0x78, 0x95, 0xca, 0x92,
2645
+	0x15, 0x5f, 0x7d, 0x5a, 0x7a, 0x92, 0x65, 0x7a, 0xec, 0x75, 0x18, 0xef, 0x47, 0x1c, 0xed, 0x66,
2646
+	0xe3, 0x24, 0xbb, 0xca, 0xc2, 0x49, 0x9c, 0xac, 0x53, 0x6c, 0x2b, 0x4b, 0x8c, 0x57, 0xa9, 0xbe,
2653 2647
 	0x4a, 0xc9, 0xdd, 0x64, 0x8b, 0x82, 0x18, 0x93, 0x23, 0x89, 0x09, 0x45, 0x72, 0x49, 0x2a, 0x89,
2654
-	0x83, 0x1e, 0x02, 0xf4, 0xd4, 0xff, 0xa0, 0x28, 0x8a, 0x1e, 0x7a, 0x59, 0xa0, 0xd7, 0x02, 0x05,
2655
-	0xda, 0x7b, 0xaf, 0x05, 0x7a, 0xef, 0xa1, 0x40, 0x0b, 0xb4, 0x7f, 0x42, 0x8f, 0xc5, 0xcc, 0x90,
2656
-	0x14, 0xf5, 0x95, 0x78, 0x17, 0x48, 0xf6, 0x64, 0xcf, 0xef, 0xfd, 0xde, 0xe3, 0x9b, 0x37, 0x6f,
2657
-	0xde, 0xbc, 0x19, 0x01, 0xd2, 0xa9, 0xa7, 0xb9, 0x86, 0xe3, 0xdb, 0x6e, 0xc5, 0x71, 0x6d, 0xdf,
2658
-	0xc6, 0x6b, 0x03, 0xdb, 0x1e, 0x98, 0x54, 0x8c, 0x4e, 0xc6, 0xfd, 0xf2, 0x11, 0xac, 0xdf, 0x33,
2659
-	0x4c, 0x5a, 0x8f, 0x88, 0x5d, 0xea, 0xe3, 0x3b, 0x90, 0xee, 0x1b, 0x26, 0x95, 0x12, 0xdb, 0xa9,
2660
-	0x9d, 0xc2, 0xee, 0x87, 0x95, 0x19, 0xa5, 0xca, 0xb4, 0x46, 0x87, 0xc1, 0x0a, 0xd7, 0x28, 0xff,
2661
-	0x3b, 0x0d, 0x1b, 0x0b, 0xa4, 0x18, 0x43, 0xda, 0x22, 0x23, 0x66, 0x31, 0xb1, 0x93, 0x57, 0xf8,
2662
-	0xff, 0x58, 0x82, 0x15, 0x87, 0x68, 0x8f, 0xc9, 0x80, 0x4a, 0x49, 0x0e, 0x87, 0x43, 0xfc, 0x3e,
2663
-	0x80, 0x4e, 0x1d, 0x6a, 0xe9, 0xd4, 0xd2, 0x4e, 0xa5, 0xd4, 0x76, 0x6a, 0x27, 0xaf, 0xc4, 0x10,
2664
-	0x7c, 0x0d, 0xd6, 0x9d, 0xf1, 0x89, 0x69, 0x68, 0x6a, 0x8c, 0x06, 0xdb, 0xa9, 0x9d, 0x8c, 0x82,
2665
-	0x84, 0xa0, 0x3e, 0x21, 0x5f, 0x86, 0xb5, 0xa7, 0x94, 0x3c, 0x8e, 0x53, 0x0b, 0x9c, 0x5a, 0x62,
2666
-	0x70, 0x8c, 0x58, 0x83, 0xe2, 0x88, 0x7a, 0x1e, 0x19, 0x50, 0xd5, 0x3f, 0x75, 0xa8, 0x94, 0xe6,
2667
-	0xb3, 0xdf, 0x9e, 0x9b, 0xfd, 0xec, 0xcc, 0x0b, 0x81, 0x56, 0xef, 0xd4, 0xa1, 0xb8, 0x0a, 0x79,
2668
-	0x6a, 0x8d, 0x47, 0xc2, 0x42, 0x66, 0x49, 0xfc, 0x64, 0x6b, 0x3c, 0x9a, 0xb5, 0x92, 0x63, 0x6a,
2669
-	0x81, 0x89, 0x15, 0x8f, 0xba, 0x4f, 0x0c, 0x8d, 0x4a, 0x59, 0x6e, 0xe0, 0xf2, 0x9c, 0x81, 0xae,
2670
-	0x90, 0xcf, 0xda, 0x08, 0xf5, 0x70, 0x0d, 0xf2, 0xf4, 0x99, 0x4f, 0x2d, 0xcf, 0xb0, 0x2d, 0x69,
2671
-	0x85, 0x1b, 0xf9, 0x68, 0xc1, 0x2a, 0x52, 0x53, 0x9f, 0x35, 0x31, 0xd1, 0xc3, 0x7b, 0xb0, 0x62,
2672
-	0x3b, 0xbe, 0x61, 0x5b, 0x9e, 0x94, 0xdb, 0x4e, 0xec, 0x14, 0x76, 0xdf, 0x5d, 0x98, 0x08, 0x6d,
2673
-	0xc1, 0x51, 0x42, 0x32, 0x6e, 0x00, 0xf2, 0xec, 0xb1, 0xab, 0x51, 0x55, 0xb3, 0x75, 0xaa, 0x1a,
2674
-	0x56, 0xdf, 0x96, 0xf2, 0xdc, 0xc0, 0xc5, 0xf9, 0x89, 0x70, 0x62, 0xcd, 0xd6, 0x69, 0xc3, 0xea,
2675
-	0xdb, 0x4a, 0xc9, 0x9b, 0x1a, 0xe3, 0x73, 0x90, 0xf5, 0x4e, 0x2d, 0x9f, 0x3c, 0x93, 0x8a, 0x3c,
2676
-	0x43, 0x82, 0x51, 0xf9, 0xcf, 0x59, 0x58, 0x3b, 0x4b, 0x8a, 0xdd, 0x85, 0x4c, 0x9f, 0xcd, 0x52,
2677
-	0x4a, 0x7e, 0x93, 0x18, 0x08, 0x9d, 0xe9, 0x20, 0x66, 0xbf, 0x65, 0x10, 0xab, 0x50, 0xb0, 0xa8,
2678
-	0xe7, 0x53, 0x5d, 0x64, 0x44, 0xea, 0x8c, 0x39, 0x05, 0x42, 0x69, 0x3e, 0xa5, 0xd2, 0xdf, 0x2a,
2679
-	0xa5, 0x1e, 0xc0, 0x5a, 0xe4, 0x92, 0xea, 0x12, 0x6b, 0x10, 0xe6, 0xe6, 0xf5, 0x57, 0x79, 0x52,
2680
-	0x91, 0x43, 0x3d, 0x85, 0xa9, 0x29, 0x25, 0x3a, 0x35, 0xc6, 0x75, 0x00, 0xdb, 0xa2, 0x76, 0x5f,
2681
-	0xd5, 0xa9, 0x66, 0x4a, 0xb9, 0x25, 0x51, 0x6a, 0x33, 0xca, 0x5c, 0x94, 0x6c, 0x81, 0x6a, 0x26,
2682
-	0xfe, 0x74, 0x92, 0x6a, 0x2b, 0x4b, 0x32, 0xe5, 0x48, 0x6c, 0xb2, 0xb9, 0x6c, 0x3b, 0x86, 0x92,
2683
-	0x4b, 0x59, 0xde, 0x53, 0x3d, 0x98, 0x59, 0x9e, 0x3b, 0x51, 0x79, 0xe5, 0xcc, 0x94, 0x40, 0x4d,
2684
-	0x4c, 0x6c, 0xd5, 0x8d, 0x0f, 0xf1, 0x07, 0x10, 0x01, 0x2a, 0x4f, 0x2b, 0xe0, 0x55, 0xa8, 0x18,
2685
-	0x82, 0x2d, 0x32, 0xa2, 0x5b, 0xcf, 0xa1, 0x34, 0x1d, 0x1e, 0xbc, 0x09, 0x19, 0xcf, 0x27, 0xae,
2686
-	0xcf, 0xb3, 0x30, 0xa3, 0x88, 0x01, 0x46, 0x90, 0xa2, 0x96, 0xce, 0xab, 0x5c, 0x46, 0x61, 0xff,
2687
-	0xe2, 0x1f, 0x4d, 0x26, 0x9c, 0xe2, 0x13, 0xfe, 0x78, 0x7e, 0x45, 0xa7, 0x2c, 0xcf, 0xce, 0x7b,
2688
-	0xeb, 0x36, 0xac, 0x4e, 0x4d, 0xe0, 0xac, 0x9f, 0x2e, 0xff, 0x02, 0xde, 0x5e, 0x68, 0x1a, 0x3f,
2689
-	0x80, 0xcd, 0xb1, 0x65, 0x58, 0x3e, 0x75, 0x1d, 0x97, 0xb2, 0x8c, 0x15, 0x9f, 0x92, 0xfe, 0xb3,
2690
-	0xb2, 0x24, 0xe7, 0x8e, 0xe3, 0x6c, 0x61, 0x45, 0xd9, 0x18, 0xcf, 0x83, 0x57, 0xf3, 0xb9, 0xff,
2691
-	0xae, 0xa0, 0x17, 0x2f, 0x5e, 0xbc, 0x48, 0x96, 0x7f, 0x9d, 0x85, 0xcd, 0x45, 0x7b, 0x66, 0xe1,
2692
-	0xf6, 0x3d, 0x07, 0x59, 0x6b, 0x3c, 0x3a, 0xa1, 0x2e, 0x0f, 0x52, 0x46, 0x09, 0x46, 0xb8, 0x0a,
2693
-	0x19, 0x93, 0x9c, 0x50, 0x53, 0x4a, 0x6f, 0x27, 0x76, 0x4a, 0xbb, 0xd7, 0xce, 0xb4, 0x2b, 0x2b,
2694
-	0x4d, 0xa6, 0xa2, 0x08, 0x4d, 0xfc, 0x19, 0xa4, 0x83, 0x12, 0xcd, 0x2c, 0x5c, 0x3d, 0x9b, 0x05,
2695
-	0xb6, 0x97, 0x14, 0xae, 0x87, 0xdf, 0x81, 0x3c, 0xfb, 0x2b, 0x72, 0x23, 0xcb, 0x7d, 0xce, 0x31,
2696
-	0x80, 0xe5, 0x05, 0xde, 0x82, 0x1c, 0xdf, 0x26, 0x3a, 0x0d, 0x8f, 0xb6, 0x68, 0xcc, 0x12, 0x4b,
2697
-	0xa7, 0x7d, 0x32, 0x36, 0x7d, 0xf5, 0x09, 0x31, 0xc7, 0x94, 0x27, 0x7c, 0x5e, 0x29, 0x06, 0xe0,
2698
-	0x4f, 0x19, 0x86, 0x2f, 0x42, 0x41, 0xec, 0x2a, 0xc3, 0xd2, 0xe9, 0x33, 0x5e, 0x3d, 0x33, 0x8a,
2699
-	0xd8, 0x68, 0x0d, 0x86, 0xb0, 0xcf, 0x3f, 0xf2, 0x6c, 0x2b, 0x4c, 0x4d, 0xfe, 0x09, 0x06, 0xf0,
2700
-	0xcf, 0xdf, 0x9e, 0x2d, 0xdc, 0xef, 0x2d, 0x9e, 0xde, 0x6c, 0x4e, 0x95, 0xff, 0x94, 0x84, 0x34,
2701
-	0xaf, 0x17, 0x6b, 0x50, 0xe8, 0x3d, 0xec, 0xc8, 0x6a, 0xbd, 0x7d, 0x7c, 0xd0, 0x94, 0x51, 0x02,
2702
-	0x97, 0x00, 0x38, 0x70, 0xaf, 0xd9, 0xae, 0xf6, 0x50, 0x32, 0x1a, 0x37, 0x5a, 0xbd, 0xbd, 0x9b,
2703
-	0x28, 0x15, 0x29, 0x1c, 0x0b, 0x20, 0x1d, 0x27, 0xdc, 0xd8, 0x45, 0x19, 0x8c, 0xa0, 0x28, 0x0c,
2704
-	0x34, 0x1e, 0xc8, 0xf5, 0xbd, 0x9b, 0x28, 0x3b, 0x8d, 0xdc, 0xd8, 0x45, 0x2b, 0x78, 0x15, 0xf2,
2705
-	0x1c, 0x39, 0x68, 0xb7, 0x9b, 0x28, 0x17, 0xd9, 0xec, 0xf6, 0x94, 0x46, 0xeb, 0x10, 0xe5, 0x23,
2706
-	0x9b, 0x87, 0x4a, 0xfb, 0xb8, 0x83, 0x20, 0xb2, 0x70, 0x24, 0x77, 0xbb, 0xd5, 0x43, 0x19, 0x15,
2707
-	0x22, 0xc6, 0xc1, 0xc3, 0x9e, 0xdc, 0x45, 0xc5, 0x29, 0xb7, 0x6e, 0xec, 0xa2, 0xd5, 0xe8, 0x13,
2708
-	0x72, 0xeb, 0xf8, 0x08, 0x95, 0xf0, 0x3a, 0xac, 0x8a, 0x4f, 0x84, 0x4e, 0xac, 0xcd, 0x40, 0x7b,
2709
-	0x37, 0x11, 0x9a, 0x38, 0x22, 0xac, 0xac, 0x4f, 0x01, 0x7b, 0x37, 0x11, 0x2e, 0xd7, 0x20, 0xc3,
2710
-	0xb3, 0x0b, 0x63, 0x28, 0x35, 0xab, 0x07, 0x72, 0x53, 0x6d, 0x77, 0x7a, 0x8d, 0x76, 0xab, 0xda,
2711
-	0x44, 0x89, 0x09, 0xa6, 0xc8, 0x3f, 0x39, 0x6e, 0x28, 0x72, 0x1d, 0x25, 0xe3, 0x58, 0x47, 0xae,
2712
-	0xf6, 0xe4, 0x3a, 0x4a, 0x95, 0x35, 0xd8, 0x5c, 0x54, 0x27, 0x17, 0xee, 0x8c, 0xd8, 0x12, 0x27,
2713
-	0x97, 0x2c, 0x31, 0xb7, 0x35, 0xb7, 0xc4, 0xff, 0x4a, 0xc2, 0xc6, 0x82, 0xb3, 0x62, 0xe1, 0x47,
2714
-	0x7e, 0x08, 0x19, 0x91, 0xa2, 0xe2, 0xf4, 0xbc, 0xb2, 0xf0, 0xd0, 0xe1, 0x09, 0x3b, 0x77, 0x82,
2715
-	0x72, 0xbd, 0x78, 0x07, 0x91, 0x5a, 0xd2, 0x41, 0x30, 0x13, 0x73, 0x35, 0xfd, 0xe7, 0x73, 0x35,
2716
-	0x5d, 0x1c, 0x7b, 0x7b, 0x67, 0x39, 0xf6, 0x38, 0xf6, 0xcd, 0x6a, 0x7b, 0x66, 0x41, 0x6d, 0xbf,
2717
-	0x0b, 0xeb, 0x73, 0x86, 0xce, 0x5c, 0x63, 0x7f, 0x99, 0x00, 0x69, 0x59, 0x70, 0x5e, 0x51, 0xe9,
2718
-	0x92, 0x53, 0x95, 0xee, 0xee, 0x6c, 0x04, 0x2f, 0x2d, 0x5f, 0x84, 0xb9, 0xb5, 0xfe, 0x3a, 0x01,
2719
-	0xe7, 0x16, 0x77, 0x8a, 0x0b, 0x7d, 0xf8, 0x0c, 0xb2, 0x23, 0xea, 0x0f, 0xed, 0xb0, 0x5b, 0xfa,
2720
-	0x78, 0xc1, 0x19, 0xcc, 0xc4, 0xb3, 0x8b, 0x1d, 0x68, 0xc5, 0x0f, 0xf1, 0xd4, 0xb2, 0x76, 0x4f,
2721
-	0x78, 0x33, 0xe7, 0xe9, 0xaf, 0x92, 0xf0, 0xf6, 0x42, 0xe3, 0x0b, 0x1d, 0x7d, 0x0f, 0xc0, 0xb0,
2722
-	0x9c, 0xb1, 0x2f, 0x3a, 0x22, 0x51, 0x60, 0xf3, 0x1c, 0xe1, 0xc5, 0x8b, 0x15, 0xcf, 0xb1, 0x1f,
2723
-	0xc9, 0x53, 0x5c, 0x0e, 0x02, 0xe2, 0x84, 0x3b, 0x13, 0x47, 0xd3, 0xdc, 0xd1, 0xf7, 0x97, 0xcc,
2724
-	0x74, 0x2e, 0x31, 0x3f, 0x01, 0xa4, 0x99, 0x06, 0xb5, 0x7c, 0xd5, 0xf3, 0x5d, 0x4a, 0x46, 0x86,
2725
-	0x35, 0xe0, 0x27, 0x48, 0x6e, 0x3f, 0xd3, 0x27, 0xa6, 0x47, 0x95, 0x35, 0x21, 0xee, 0x86, 0x52,
2726
-	0xa6, 0xc1, 0x13, 0xc8, 0x8d, 0x69, 0x64, 0xa7, 0x34, 0x84, 0x38, 0xd2, 0x28, 0xff, 0x31, 0x07,
2727
-	0x85, 0x58, 0x5f, 0x8d, 0x2f, 0x41, 0xf1, 0x11, 0x79, 0x42, 0xd4, 0xf0, 0xae, 0x24, 0x22, 0x51,
2728
-	0x60, 0x58, 0x27, 0xb8, 0x2f, 0x7d, 0x02, 0x9b, 0x9c, 0x62, 0x8f, 0x7d, 0xea, 0xaa, 0x9a, 0x49,
2729
-	0x3c, 0x8f, 0x07, 0x2d, 0xc7, 0xa9, 0x98, 0xc9, 0xda, 0x4c, 0x54, 0x0b, 0x25, 0xf8, 0x16, 0x6c,
2730
-	0x70, 0x8d, 0xd1, 0xd8, 0xf4, 0x0d, 0xc7, 0xa4, 0x2a, 0xbb, 0xbd, 0x79, 0xfc, 0x24, 0x89, 0x3c,
2731
-	0x5b, 0x67, 0x8c, 0xa3, 0x80, 0xc0, 0x3c, 0xf2, 0x70, 0x1d, 0xde, 0xe3, 0x6a, 0x03, 0x6a, 0x51,
2732
-	0x97, 0xf8, 0x54, 0xa5, 0x5f, 0x8d, 0x89, 0xe9, 0xa9, 0xc4, 0xd2, 0xd5, 0x21, 0xf1, 0x86, 0xd2,
2733
-	0x26, 0x33, 0x70, 0x90, 0x94, 0x12, 0xca, 0x05, 0x46, 0x3c, 0x0c, 0x78, 0x32, 0xa7, 0x55, 0x2d,
2734
-	0xfd, 0x73, 0xe2, 0x0d, 0xf1, 0x3e, 0x9c, 0xe3, 0x56, 0x3c, 0xdf, 0x35, 0xac, 0x81, 0xaa, 0x0d,
2735
-	0xa9, 0xf6, 0x58, 0x1d, 0xfb, 0xfd, 0x3b, 0xd2, 0x3b, 0xf1, 0xef, 0x73, 0x0f, 0xbb, 0x9c, 0x53,
2736
-	0x63, 0x94, 0x63, 0xbf, 0x7f, 0x07, 0x77, 0xa1, 0xc8, 0x16, 0x63, 0x64, 0x3c, 0xa7, 0x6a, 0xdf,
2737
-	0x76, 0xf9, 0xd1, 0x58, 0x5a, 0x50, 0x9a, 0x62, 0x11, 0xac, 0xb4, 0x03, 0x85, 0x23, 0x5b, 0xa7,
2738
-	0xfb, 0x99, 0x6e, 0x47, 0x96, 0xeb, 0x4a, 0x21, 0xb4, 0x72, 0xcf, 0x76, 0x59, 0x42, 0x0d, 0xec,
2739
-	0x28, 0xc0, 0x05, 0x91, 0x50, 0x03, 0x3b, 0x0c, 0xef, 0x2d, 0xd8, 0xd0, 0x34, 0x31, 0x67, 0x43,
2740
-	0x53, 0x83, 0x3b, 0x96, 0x27, 0xa1, 0xa9, 0x60, 0x69, 0xda, 0xa1, 0x20, 0x04, 0x39, 0xee, 0xe1,
2741
-	0x4f, 0xe1, 0xed, 0x49, 0xb0, 0xe2, 0x8a, 0xeb, 0x73, 0xb3, 0x9c, 0x55, 0xbd, 0x05, 0x1b, 0xce,
2742
-	0xe9, 0xbc, 0x22, 0x9e, 0xfa, 0xa2, 0x73, 0x3a, 0xab, 0x76, 0x1b, 0x36, 0x9d, 0xa1, 0x33, 0xaf,
2743
-	0x77, 0x35, 0xae, 0x87, 0x9d, 0xa1, 0x33, 0xab, 0xf8, 0x11, 0xbf, 0x70, 0xbb, 0x54, 0x23, 0x3e,
2744
-	0xd5, 0xa5, 0xf3, 0x71, 0x7a, 0x4c, 0x80, 0xaf, 0x03, 0xd2, 0x34, 0x95, 0x5a, 0xe4, 0xc4, 0xa4,
2745
-	0x2a, 0x71, 0xa9, 0x45, 0x3c, 0xe9, 0x62, 0x9c, 0x5c, 0xd2, 0x34, 0x99, 0x4b, 0xab, 0x5c, 0x88,
2746
-	0xaf, 0xc2, 0xba, 0x7d, 0xf2, 0x48, 0x13, 0x29, 0xa9, 0x3a, 0x2e, 0xed, 0x1b, 0xcf, 0xa4, 0x0f,
2747
-	0x79, 0x7c, 0xd7, 0x98, 0x80, 0x27, 0x64, 0x87, 0xc3, 0xf8, 0x0a, 0x20, 0xcd, 0x1b, 0x12, 0xd7,
2748
-	0xe1, 0x35, 0xd9, 0x73, 0x88, 0x46, 0xa5, 0x8f, 0x04, 0x55, 0xe0, 0xad, 0x10, 0x66, 0x5b, 0xc2,
2749
-	0x7b, 0x6a, 0xf4, 0xfd, 0xd0, 0xe2, 0x65, 0xb1, 0x25, 0x38, 0x16, 0x58, 0xdb, 0x01, 0xc4, 0x42,
2750
-	0x31, 0xf5, 0xe1, 0x1d, 0x4e, 0x2b, 0x39, 0x43, 0x27, 0xfe, 0xdd, 0x0f, 0x60, 0x95, 0x31, 0x27,
2751
-	0x1f, 0xbd, 0x22, 0x1a, 0x32, 0x67, 0x18, 0xfb, 0xe2, 0x6b, 0xeb, 0x8d, 0xcb, 0xfb, 0x50, 0x8c,
2752
-	0xe7, 0x27, 0xce, 0x83, 0xc8, 0x50, 0x94, 0x60, 0xcd, 0x4a, 0xad, 0x5d, 0x67, 0x6d, 0xc6, 0x97,
2753
-	0x32, 0x4a, 0xb2, 0x76, 0xa7, 0xd9, 0xe8, 0xc9, 0xaa, 0x72, 0xdc, 0xea, 0x35, 0x8e, 0x64, 0x94,
2754
-	0x8a, 0xf7, 0xd5, 0x7f, 0x4d, 0x42, 0x69, 0xfa, 0x8a, 0x84, 0x7f, 0x00, 0xe7, 0xc3, 0xf7, 0x0c,
2755
-	0x8f, 0xfa, 0xea, 0x53, 0xc3, 0xe5, 0x5b, 0x66, 0x44, 0xc4, 0xf1, 0x15, 0x2d, 0xda, 0x66, 0xc0,
2756
-	0xea, 0x52, 0xff, 0x0b, 0xc3, 0x65, 0x1b, 0x62, 0x44, 0x7c, 0xdc, 0x84, 0x8b, 0x96, 0xad, 0x7a,
2757
-	0x3e, 0xb1, 0x74, 0xe2, 0xea, 0xea, 0xe4, 0x25, 0x49, 0x25, 0x9a, 0x46, 0x3d, 0xcf, 0x16, 0x47,
2758
-	0x55, 0x64, 0xe5, 0x5d, 0xcb, 0xee, 0x06, 0xe4, 0x49, 0x0d, 0xaf, 0x06, 0xd4, 0x99, 0x04, 0x4b,
2759
-	0x2d, 0x4b, 0xb0, 0x77, 0x20, 0x3f, 0x22, 0x8e, 0x4a, 0x2d, 0xdf, 0x3d, 0xe5, 0x8d, 0x71, 0x4e,
2760
-	0xc9, 0x8d, 0x88, 0x23, 0xb3, 0xf1, 0x9b, 0xb9, 0x9f, 0xfc, 0x23, 0x05, 0xc5, 0x78, 0x73, 0xcc,
2761
-	0xee, 0x1a, 0x1a, 0x3f, 0x47, 0x12, 0xbc, 0xd2, 0x7c, 0xf0, 0xd2, 0x56, 0xba, 0x52, 0x63, 0x07,
2762
-	0xcc, 0x7e, 0x56, 0xb4, 0xac, 0x8a, 0xd0, 0x64, 0x87, 0x3b, 0xab, 0x2d, 0x54, 0xb4, 0x08, 0x39,
2763
-	0x25, 0x18, 0xe1, 0x43, 0xc8, 0x3e, 0xf2, 0xb8, 0xed, 0x2c, 0xb7, 0xfd, 0xe1, 0xcb, 0x6d, 0xdf,
2764
-	0xef, 0x72, 0xe3, 0xf9, 0xfb, 0x5d, 0xb5, 0xd5, 0x56, 0x8e, 0xaa, 0x4d, 0x25, 0x50, 0xc7, 0x17,
2765
-	0x20, 0x6d, 0x92, 0xe7, 0xa7, 0xd3, 0x47, 0x11, 0x87, 0xce, 0x1a, 0xf8, 0x0b, 0x90, 0x7e, 0x4a,
2766
-	0xc9, 0xe3, 0xe9, 0x03, 0x80, 0x43, 0xaf, 0x31, 0xf5, 0xaf, 0x43, 0x86, 0xc7, 0x0b, 0x03, 0x04,
2767
-	0x11, 0x43, 0x6f, 0xe1, 0x1c, 0xa4, 0x6b, 0x6d, 0x85, 0xa5, 0x3f, 0x82, 0xa2, 0x40, 0xd5, 0x4e,
2768
-	0x43, 0xae, 0xc9, 0x28, 0x59, 0xbe, 0x05, 0x59, 0x11, 0x04, 0xb6, 0x35, 0xa2, 0x30, 0xa0, 0xb7,
2769
-	0x82, 0x61, 0x60, 0x23, 0x11, 0x4a, 0x8f, 0x8f, 0x0e, 0x64, 0x05, 0x25, 0xe3, 0xcb, 0xeb, 0x41,
2770
-	0x31, 0xde, 0x17, 0xbf, 0x99, 0x9c, 0xfa, 0x4b, 0x02, 0x0a, 0xb1, 0x3e, 0x97, 0x35, 0x28, 0xc4,
2771
-	0x34, 0xed, 0xa7, 0x2a, 0x31, 0x0d, 0xe2, 0x05, 0x49, 0x01, 0x1c, 0xaa, 0x32, 0xe4, 0xac, 0x8b,
2772
-	0xf6, 0x46, 0x9c, 0xff, 0x5d, 0x02, 0xd0, 0x6c, 0x8b, 0x39, 0xe3, 0x60, 0xe2, 0x3b, 0x75, 0xf0,
2773
-	0xb7, 0x09, 0x28, 0x4d, 0xf7, 0x95, 0x33, 0xee, 0x5d, 0xfa, 0x4e, 0xdd, 0xfb, 0x67, 0x12, 0x56,
2774
-	0xa7, 0xba, 0xc9, 0xb3, 0x7a, 0xf7, 0x15, 0xac, 0x1b, 0x3a, 0x1d, 0x39, 0xb6, 0x4f, 0x2d, 0xed,
2775
-	0x54, 0x35, 0xe9, 0x13, 0x6a, 0x4a, 0x65, 0x5e, 0x28, 0xae, 0xbf, 0xbc, 0x5f, 0xad, 0x34, 0x26,
2776
-	0x7a, 0x4d, 0xa6, 0xb6, 0xbf, 0xd1, 0xa8, 0xcb, 0x47, 0x9d, 0x76, 0x4f, 0x6e, 0xd5, 0x1e, 0xaa,
2777
-	0xc7, 0xad, 0x1f, 0xb7, 0xda, 0x5f, 0xb4, 0x14, 0x64, 0xcc, 0xd0, 0x5e, 0xe3, 0x56, 0xef, 0x00,
2778
-	0x9a, 0x75, 0x0a, 0x9f, 0x87, 0x45, 0x6e, 0xa1, 0xb7, 0xf0, 0x06, 0xac, 0xb5, 0xda, 0x6a, 0xb7,
2779
-	0x51, 0x97, 0x55, 0xf9, 0xde, 0x3d, 0xb9, 0xd6, 0xeb, 0x8a, 0x17, 0x88, 0x88, 0xdd, 0x9b, 0xde,
2780
-	0xd4, 0xbf, 0x49, 0xc1, 0xc6, 0x02, 0x4f, 0x70, 0x35, 0xb8, 0x3b, 0x88, 0xeb, 0xcc, 0xf7, 0xcf,
2781
-	0xe2, 0x7d, 0x85, 0x1d, 0xf9, 0x1d, 0xe2, 0xfa, 0xc1, 0x55, 0xe3, 0x0a, 0xb0, 0x28, 0x59, 0xbe,
2782
-	0xd1, 0x37, 0xa8, 0x1b, 0x3c, 0xd8, 0x88, 0x0b, 0xc5, 0xda, 0x04, 0x17, 0x6f, 0x36, 0xdf, 0x03,
2783
-	0xec, 0xd8, 0x9e, 0xe1, 0x1b, 0x4f, 0xa8, 0x6a, 0x58, 0xe1, 0xeb, 0x0e, 0xbb, 0x60, 0xa4, 0x15,
2784
-	0x14, 0x4a, 0x1a, 0x96, 0x1f, 0xb1, 0x2d, 0x3a, 0x20, 0x33, 0x6c, 0x56, 0xc0, 0x53, 0x0a, 0x0a,
2785
-	0x25, 0x11, 0xfb, 0x12, 0x14, 0x75, 0x7b, 0xcc, 0xba, 0x2e, 0xc1, 0x63, 0xe7, 0x45, 0x42, 0x29,
2786
-	0x08, 0x2c, 0xa2, 0x04, 0xfd, 0xf4, 0xe4, 0x59, 0xa9, 0xa8, 0x14, 0x04, 0x26, 0x28, 0x97, 0x61,
2787
-	0x8d, 0x0c, 0x06, 0x2e, 0x33, 0x1e, 0x1a, 0x12, 0x37, 0x84, 0x52, 0x04, 0x73, 0xe2, 0xd6, 0x7d,
2788
-	0xc8, 0x85, 0x71, 0x60, 0x47, 0x32, 0x8b, 0x84, 0xea, 0x88, 0x6b, 0x6f, 0x72, 0x27, 0xaf, 0xe4,
2789
-	0xac, 0x50, 0x78, 0x09, 0x8a, 0x86, 0xa7, 0x4e, 0x5e, 0xc9, 0x93, 0xdb, 0xc9, 0x9d, 0x9c, 0x52,
2790
-	0x30, 0xbc, 0xe8, 0x85, 0xb1, 0xfc, 0x75, 0x12, 0x4a, 0xd3, 0xaf, 0xfc, 0xb8, 0x0e, 0x39, 0xd3,
2791
-	0xd6, 0x08, 0x4f, 0x2d, 0xf1, 0x13, 0xd3, 0xce, 0x2b, 0x7e, 0x18, 0xa8, 0x34, 0x03, 0xbe, 0x12,
2792
-	0x69, 0x6e, 0xfd, 0x2d, 0x01, 0xb9, 0x10, 0xc6, 0xe7, 0x20, 0xed, 0x10, 0x7f, 0xc8, 0xcd, 0x65,
2793
-	0x0e, 0x92, 0x28, 0xa1, 0xf0, 0x31, 0xc3, 0x3d, 0x87, 0x58, 0x3c, 0x05, 0x02, 0x9c, 0x8d, 0xd9,
2794
-	0xba, 0x9a, 0x94, 0xe8, 0xfc, 0xfa, 0x61, 0x8f, 0x46, 0xd4, 0xf2, 0xbd, 0x70, 0x5d, 0x03, 0xbc,
2795
-	0x16, 0xc0, 0xf8, 0x1a, 0xac, 0xfb, 0x2e, 0x31, 0xcc, 0x29, 0x6e, 0x9a, 0x73, 0x51, 0x28, 0x88,
2796
-	0xc8, 0xfb, 0x70, 0x21, 0xb4, 0xab, 0x53, 0x9f, 0x68, 0x43, 0xaa, 0x4f, 0x94, 0xb2, 0xfc, 0x99,
2797
-	0xe1, 0x7c, 0x40, 0xa8, 0x07, 0xf2, 0x50, 0xb7, 0xfc, 0xf7, 0x04, 0xac, 0x87, 0x17, 0x26, 0x3d,
2798
-	0x0a, 0xd6, 0x11, 0x00, 0xb1, 0x2c, 0xdb, 0x8f, 0x87, 0x6b, 0x3e, 0x95, 0xe7, 0xf4, 0x2a, 0xd5,
2799
-	0x48, 0x49, 0x89, 0x19, 0xd8, 0x1a, 0x01, 0x4c, 0x24, 0x4b, 0xc3, 0x76, 0x11, 0x0a, 0xc1, 0x4f,
2800
-	0x38, 0xfc, 0x77, 0x40, 0x71, 0xc5, 0x06, 0x01, 0xb1, 0x9b, 0x15, 0xde, 0x84, 0xcc, 0x09, 0x1d,
2801
-	0x18, 0x56, 0xf0, 0x30, 0x2b, 0x06, 0xe1, 0x43, 0x48, 0x3a, 0x7a, 0x08, 0x39, 0xf8, 0x19, 0x6c,
2802
-	0x68, 0xf6, 0x68, 0xd6, 0xdd, 0x03, 0x34, 0x73, 0xcd, 0xf7, 0x3e, 0x4f, 0x7c, 0x09, 0x93, 0x16,
2803
-	0xf3, 0x7f, 0x89, 0xc4, 0xef, 0x93, 0xa9, 0xc3, 0xce, 0xc1, 0x1f, 0x92, 0x5b, 0x87, 0x42, 0xb5,
2804
-	0x13, 0xce, 0x54, 0xa1, 0x7d, 0x93, 0x6a, 0xcc, 0xfb, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xa3,
2805
-	0x58, 0x22, 0x30, 0xdf, 0x1c, 0x00, 0x00,
2648
+	0x83, 0x1e, 0x02, 0xf4, 0x54, 0xa0, 0x7f, 0x40, 0x51, 0x14, 0x3d, 0xf4, 0xb2, 0x40, 0xff, 0x80,
2649
+	0x02, 0xed, 0xbd, 0xd7, 0x02, 0xbd, 0xf7, 0x50, 0xa0, 0x05, 0xda, 0x3f, 0xa1, 0xc7, 0x62, 0x66,
2650
+	0x48, 0x8a, 0xd4, 0x47, 0xe2, 0x5d, 0x20, 0xd9, 0x93, 0x3d, 0xef, 0xfd, 0xde, 0x9b, 0x37, 0x8f,
2651
+	0xbf, 0x79, 0xf3, 0x66, 0x04, 0x82, 0x46, 0x5c, 0xd5, 0xd1, 0x6d, 0xcf, 0x72, 0x2a, 0xb6, 0x63,
2652
+	0x79, 0x16, 0x5a, 0x1b, 0x5a, 0xd6, 0xd0, 0x20, 0x7c, 0x74, 0x32, 0x19, 0x94, 0x5b, 0xb0, 0x7e,
2653
+	0x4f, 0x37, 0x48, 0x3d, 0x04, 0xf6, 0x88, 0x87, 0xee, 0x40, 0x7a, 0xa0, 0x1b, 0x44, 0x4c, 0xec,
2654
+	0xa4, 0x76, 0x0b, 0x7b, 0x1f, 0x56, 0x66, 0x8c, 0x2a, 0x71, 0x8b, 0x2e, 0x15, 0xcb, 0xcc, 0xa2,
2655
+	0xfc, 0xef, 0x34, 0x6c, 0x2c, 0xd0, 0x22, 0x04, 0x69, 0x13, 0x8f, 0xa9, 0xc7, 0xc4, 0x6e, 0x5e,
2656
+	0x66, 0xff, 0x23, 0x11, 0x56, 0x6c, 0xac, 0x3e, 0xc6, 0x43, 0x22, 0x26, 0x99, 0x38, 0x18, 0xa2,
2657
+	0xf7, 0x01, 0x34, 0x62, 0x13, 0x53, 0x23, 0xa6, 0x7a, 0x2a, 0xa6, 0x76, 0x52, 0xbb, 0x79, 0x39,
2658
+	0x22, 0x41, 0xd7, 0x60, 0xdd, 0x9e, 0x9c, 0x18, 0xba, 0xaa, 0x44, 0x60, 0xb0, 0x93, 0xda, 0xcd,
2659
+	0xc8, 0x02, 0x57, 0xd4, 0xa7, 0xe0, 0xcb, 0xb0, 0xf6, 0x94, 0xe0, 0xc7, 0x51, 0x68, 0x81, 0x41,
2660
+	0x4b, 0x54, 0x1c, 0x01, 0xd6, 0xa0, 0x38, 0x26, 0xae, 0x8b, 0x87, 0x44, 0xf1, 0x4e, 0x6d, 0x22,
2661
+	0xa6, 0xd9, 0xea, 0x77, 0xe6, 0x56, 0x3f, 0xbb, 0xf2, 0x82, 0x6f, 0xd5, 0x3f, 0xb5, 0x09, 0xaa,
2662
+	0x42, 0x9e, 0x98, 0x93, 0x31, 0xf7, 0x90, 0x59, 0x92, 0x3f, 0xc9, 0x9c, 0x8c, 0x67, 0xbd, 0xe4,
2663
+	0xa8, 0x99, 0xef, 0x62, 0xc5, 0x25, 0xce, 0x13, 0x5d, 0x25, 0x62, 0x96, 0x39, 0xb8, 0x3c, 0xe7,
2664
+	0xa0, 0xc7, 0xf5, 0xb3, 0x3e, 0x02, 0x3b, 0x54, 0x83, 0x3c, 0x79, 0xe6, 0x11, 0xd3, 0xd5, 0x2d,
2665
+	0x53, 0x5c, 0x61, 0x4e, 0x2e, 0x2d, 0xf8, 0x8a, 0xc4, 0xd0, 0x66, 0x5d, 0x4c, 0xed, 0xd0, 0x3e,
2666
+	0xac, 0x58, 0xb6, 0xa7, 0x5b, 0xa6, 0x2b, 0xe6, 0x76, 0x12, 0xbb, 0x85, 0xbd, 0x77, 0x17, 0x12,
2667
+	0xa1, 0xc3, 0x31, 0x72, 0x00, 0x46, 0x0d, 0x10, 0x5c, 0x6b, 0xe2, 0xa8, 0x44, 0x51, 0x2d, 0x8d,
2668
+	0x28, 0xba, 0x39, 0xb0, 0xc4, 0x3c, 0x73, 0x70, 0x61, 0x7e, 0x21, 0x0c, 0x58, 0xb3, 0x34, 0xd2,
2669
+	0x30, 0x07, 0x96, 0x5c, 0x72, 0x63, 0x63, 0xb4, 0x05, 0x59, 0xf7, 0xd4, 0xf4, 0xf0, 0x33, 0xb1,
2670
+	0xc8, 0x18, 0xe2, 0x8f, 0xca, 0x7f, 0xce, 0xc2, 0xda, 0x59, 0x28, 0x76, 0x17, 0x32, 0x03, 0xba,
2671
+	0x4a, 0x31, 0xf9, 0x6d, 0x72, 0xc0, 0x6d, 0xe2, 0x49, 0xcc, 0x7e, 0xc7, 0x24, 0x56, 0xa1, 0x60,
2672
+	0x12, 0xd7, 0x23, 0x1a, 0x67, 0x44, 0xea, 0x8c, 0x9c, 0x02, 0x6e, 0x34, 0x4f, 0xa9, 0xf4, 0x77,
2673
+	0xa2, 0xd4, 0x03, 0x58, 0x0b, 0x43, 0x52, 0x1c, 0x6c, 0x0e, 0x03, 0x6e, 0x5e, 0x7f, 0x55, 0x24,
2674
+	0x15, 0x29, 0xb0, 0x93, 0xa9, 0x99, 0x5c, 0x22, 0xb1, 0x31, 0xaa, 0x03, 0x58, 0x26, 0xb1, 0x06,
2675
+	0x8a, 0x46, 0x54, 0x43, 0xcc, 0x2d, 0xc9, 0x52, 0x87, 0x42, 0xe6, 0xb2, 0x64, 0x71, 0xa9, 0x6a,
2676
+	0xa0, 0xcf, 0xa6, 0x54, 0x5b, 0x59, 0xc2, 0x94, 0x16, 0xdf, 0x64, 0x73, 0x6c, 0x3b, 0x86, 0x92,
2677
+	0x43, 0x28, 0xef, 0x89, 0xe6, 0xaf, 0x2c, 0xcf, 0x82, 0xa8, 0xbc, 0x72, 0x65, 0xb2, 0x6f, 0xc6,
2678
+	0x17, 0xb6, 0xea, 0x44, 0x87, 0xe8, 0x03, 0x08, 0x05, 0x0a, 0xa3, 0x15, 0xb0, 0x2a, 0x54, 0x0c,
2679
+	0x84, 0x6d, 0x3c, 0x26, 0xdb, 0xcf, 0xa1, 0x14, 0x4f, 0x0f, 0xda, 0x84, 0x8c, 0xeb, 0x61, 0xc7,
2680
+	0x63, 0x2c, 0xcc, 0xc8, 0x7c, 0x80, 0x04, 0x48, 0x11, 0x53, 0x63, 0x55, 0x2e, 0x23, 0xd3, 0x7f,
2681
+	0xd1, 0x8f, 0xa6, 0x0b, 0x4e, 0xb1, 0x05, 0x7f, 0x34, 0xff, 0x45, 0x63, 0x9e, 0x67, 0xd7, 0xbd,
2682
+	0x7d, 0x1b, 0x56, 0x63, 0x0b, 0x38, 0xeb, 0xd4, 0xe5, 0x5f, 0xc0, 0xdb, 0x0b, 0x5d, 0xa3, 0x07,
2683
+	0xb0, 0x39, 0x31, 0x75, 0xd3, 0x23, 0x8e, 0xed, 0x10, 0xca, 0x58, 0x3e, 0x95, 0xf8, 0x9f, 0x95,
2684
+	0x25, 0x9c, 0x3b, 0x8e, 0xa2, 0xb9, 0x17, 0x79, 0x63, 0x32, 0x2f, 0xbc, 0x9a, 0xcf, 0xfd, 0x77,
2685
+	0x45, 0x78, 0xf1, 0xe2, 0xc5, 0x8b, 0x64, 0xf9, 0x37, 0x59, 0xd8, 0x5c, 0xb4, 0x67, 0x16, 0x6e,
2686
+	0xdf, 0x2d, 0xc8, 0x9a, 0x93, 0xf1, 0x09, 0x71, 0x58, 0x92, 0x32, 0xb2, 0x3f, 0x42, 0x55, 0xc8,
2687
+	0x18, 0xf8, 0x84, 0x18, 0x62, 0x7a, 0x27, 0xb1, 0x5b, 0xda, 0xbb, 0x76, 0xa6, 0x5d, 0x59, 0x69,
2688
+	0x52, 0x13, 0x99, 0x5b, 0xa2, 0xcf, 0x21, 0xed, 0x97, 0x68, 0xea, 0xe1, 0xea, 0xd9, 0x3c, 0xd0,
2689
+	0xbd, 0x24, 0x33, 0x3b, 0xf4, 0x0e, 0xe4, 0xe9, 0x5f, 0xce, 0x8d, 0x2c, 0x8b, 0x39, 0x47, 0x05,
2690
+	0x94, 0x17, 0x68, 0x1b, 0x72, 0x6c, 0x9b, 0x68, 0x24, 0x38, 0xda, 0xc2, 0x31, 0x25, 0x96, 0x46,
2691
+	0x06, 0x78, 0x62, 0x78, 0xca, 0x13, 0x6c, 0x4c, 0x08, 0x23, 0x7c, 0x5e, 0x2e, 0xfa, 0xc2, 0x9f,
2692
+	0x52, 0x19, 0xba, 0x00, 0x05, 0xbe, 0xab, 0x74, 0x53, 0x23, 0xcf, 0x58, 0xf5, 0xcc, 0xc8, 0x7c,
2693
+	0xa3, 0x35, 0xa8, 0x84, 0x4e, 0xff, 0xc8, 0xb5, 0xcc, 0x80, 0x9a, 0x6c, 0x0a, 0x2a, 0x60, 0xd3,
2694
+	0xdf, 0x9e, 0x2d, 0xdc, 0xef, 0x2d, 0x5e, 0xde, 0x2c, 0xa7, 0xca, 0x7f, 0x4a, 0x42, 0x9a, 0xd5,
2695
+	0x8b, 0x35, 0x28, 0xf4, 0x1f, 0x76, 0x25, 0xa5, 0xde, 0x39, 0x3e, 0x6c, 0x4a, 0x42, 0x02, 0x95,
2696
+	0x00, 0x98, 0xe0, 0x5e, 0xb3, 0x53, 0xed, 0x0b, 0xc9, 0x70, 0xdc, 0x68, 0xf7, 0xf7, 0x6f, 0x0a,
2697
+	0xa9, 0xd0, 0xe0, 0x98, 0x0b, 0xd2, 0x51, 0xc0, 0x8d, 0x3d, 0x21, 0x83, 0x04, 0x28, 0x72, 0x07,
2698
+	0x8d, 0x07, 0x52, 0x7d, 0xff, 0xa6, 0x90, 0x8d, 0x4b, 0x6e, 0xec, 0x09, 0x2b, 0x68, 0x15, 0xf2,
2699
+	0x4c, 0x72, 0xd8, 0xe9, 0x34, 0x85, 0x5c, 0xe8, 0xb3, 0xd7, 0x97, 0x1b, 0xed, 0x23, 0x21, 0x1f,
2700
+	0xfa, 0x3c, 0x92, 0x3b, 0xc7, 0x5d, 0x01, 0x42, 0x0f, 0x2d, 0xa9, 0xd7, 0xab, 0x1e, 0x49, 0x42,
2701
+	0x21, 0x44, 0x1c, 0x3e, 0xec, 0x4b, 0x3d, 0xa1, 0x18, 0x0b, 0xeb, 0xc6, 0x9e, 0xb0, 0x1a, 0x4e,
2702
+	0x21, 0xb5, 0x8f, 0x5b, 0x42, 0x09, 0xad, 0xc3, 0x2a, 0x9f, 0x22, 0x08, 0x62, 0x6d, 0x46, 0xb4,
2703
+	0x7f, 0x53, 0x10, 0xa6, 0x81, 0x70, 0x2f, 0xeb, 0x31, 0xc1, 0xfe, 0x4d, 0x01, 0x95, 0x6b, 0x90,
2704
+	0x61, 0xec, 0x42, 0x08, 0x4a, 0xcd, 0xea, 0xa1, 0xd4, 0x54, 0x3a, 0xdd, 0x7e, 0xa3, 0xd3, 0xae,
2705
+	0x36, 0x85, 0xc4, 0x54, 0x26, 0x4b, 0x3f, 0x39, 0x6e, 0xc8, 0x52, 0x5d, 0x48, 0x46, 0x65, 0x5d,
2706
+	0xa9, 0xda, 0x97, 0xea, 0x42, 0xaa, 0xac, 0xc2, 0xe6, 0xa2, 0x3a, 0xb9, 0x70, 0x67, 0x44, 0x3e,
2707
+	0x71, 0x72, 0xc9, 0x27, 0x66, 0xbe, 0xe6, 0x3e, 0xf1, 0xbf, 0x92, 0xb0, 0xb1, 0xe0, 0xac, 0x58,
2708
+	0x38, 0xc9, 0x0f, 0x21, 0xc3, 0x29, 0xca, 0x4f, 0xcf, 0x2b, 0x0b, 0x0f, 0x1d, 0x46, 0xd8, 0xb9,
2709
+	0x13, 0x94, 0xd9, 0x45, 0x3b, 0x88, 0xd4, 0x92, 0x0e, 0x82, 0xba, 0x98, 0xab, 0xe9, 0x3f, 0x9f,
2710
+	0xab, 0xe9, 0xfc, 0xd8, 0xdb, 0x3f, 0xcb, 0xb1, 0xc7, 0x64, 0xdf, 0xae, 0xb6, 0x67, 0x16, 0xd4,
2711
+	0xf6, 0xbb, 0xb0, 0x3e, 0xe7, 0xe8, 0xcc, 0x35, 0xf6, 0x97, 0x09, 0x10, 0x97, 0x25, 0xe7, 0x15,
2712
+	0x95, 0x2e, 0x19, 0xab, 0x74, 0x77, 0x67, 0x33, 0x78, 0x71, 0xf9, 0x47, 0x98, 0xfb, 0xd6, 0xdf,
2713
+	0x24, 0x60, 0x6b, 0x71, 0xa7, 0xb8, 0x30, 0x86, 0xcf, 0x21, 0x3b, 0x26, 0xde, 0xc8, 0x0a, 0xba,
2714
+	0xa5, 0x8f, 0x16, 0x9c, 0xc1, 0x54, 0x3d, 0xfb, 0xb1, 0x7d, 0xab, 0xe8, 0x21, 0x9e, 0x5a, 0xd6,
2715
+	0xee, 0xf1, 0x68, 0xe6, 0x22, 0xfd, 0x55, 0x12, 0xde, 0x5e, 0xe8, 0x7c, 0x61, 0xa0, 0xef, 0x01,
2716
+	0xe8, 0xa6, 0x3d, 0xf1, 0x78, 0x47, 0xc4, 0x0b, 0x6c, 0x9e, 0x49, 0x58, 0xf1, 0xa2, 0xc5, 0x73,
2717
+	0xe2, 0x85, 0xfa, 0x14, 0xd3, 0x03, 0x17, 0x31, 0xc0, 0x9d, 0x69, 0xa0, 0x69, 0x16, 0xe8, 0xfb,
2718
+	0x4b, 0x56, 0x3a, 0x47, 0xcc, 0x4f, 0x41, 0x50, 0x0d, 0x9d, 0x98, 0x9e, 0xe2, 0x7a, 0x0e, 0xc1,
2719
+	0x63, 0xdd, 0x1c, 0xb2, 0x13, 0x24, 0x77, 0x90, 0x19, 0x60, 0xc3, 0x25, 0xf2, 0x1a, 0x57, 0xf7,
2720
+	0x02, 0x2d, 0xb5, 0x60, 0x04, 0x72, 0x22, 0x16, 0xd9, 0x98, 0x05, 0x57, 0x87, 0x16, 0xe5, 0x5f,
2721
+	0xe7, 0xa1, 0x10, 0xe9, 0xab, 0xd1, 0x45, 0x28, 0x3e, 0xc2, 0x4f, 0xb0, 0x12, 0xdc, 0x95, 0x78,
2722
+	0x26, 0x0a, 0x54, 0xd6, 0xf5, 0xef, 0x4b, 0x9f, 0xc2, 0x26, 0x83, 0x58, 0x13, 0x8f, 0x38, 0x8a,
2723
+	0x6a, 0x60, 0xd7, 0x65, 0x49, 0xcb, 0x31, 0x28, 0xa2, 0xba, 0x0e, 0x55, 0xd5, 0x02, 0x0d, 0xba,
2724
+	0x05, 0x1b, 0xcc, 0x62, 0x3c, 0x31, 0x3c, 0xdd, 0x36, 0x88, 0x42, 0x6f, 0x6f, 0x2e, 0x3b, 0x49,
2725
+	0xc2, 0xc8, 0xd6, 0x29, 0xa2, 0xe5, 0x03, 0x68, 0x44, 0x2e, 0xaa, 0xc3, 0x7b, 0xcc, 0x6c, 0x48,
2726
+	0x4c, 0xe2, 0x60, 0x8f, 0x28, 0xe4, 0xeb, 0x09, 0x36, 0x5c, 0x05, 0x9b, 0x9a, 0x32, 0xc2, 0xee,
2727
+	0x48, 0xdc, 0xa4, 0x0e, 0x0e, 0x93, 0x62, 0x42, 0x3e, 0x4f, 0x81, 0x47, 0x3e, 0x4e, 0x62, 0xb0,
2728
+	0xaa, 0xa9, 0x7d, 0x81, 0xdd, 0x11, 0x3a, 0x80, 0x2d, 0xe6, 0xc5, 0xf5, 0x1c, 0xdd, 0x1c, 0x2a,
2729
+	0xea, 0x88, 0xa8, 0x8f, 0x95, 0x89, 0x37, 0xb8, 0x23, 0xbe, 0x13, 0x9d, 0x9f, 0x45, 0xd8, 0x63,
2730
+	0x98, 0x1a, 0x85, 0x1c, 0x7b, 0x83, 0x3b, 0xa8, 0x07, 0x45, 0xfa, 0x31, 0xc6, 0xfa, 0x73, 0xa2,
2731
+	0x0c, 0x2c, 0x87, 0x1d, 0x8d, 0xa5, 0x05, 0xa5, 0x29, 0x92, 0xc1, 0x4a, 0xc7, 0x37, 0x68, 0x59,
2732
+	0x1a, 0x39, 0xc8, 0xf4, 0xba, 0x92, 0x54, 0x97, 0x0b, 0x81, 0x97, 0x7b, 0x96, 0x43, 0x09, 0x35,
2733
+	0xb4, 0xc2, 0x04, 0x17, 0x38, 0xa1, 0x86, 0x56, 0x90, 0xde, 0x5b, 0xb0, 0xa1, 0xaa, 0x7c, 0xcd,
2734
+	0xba, 0xaa, 0xf8, 0x77, 0x2c, 0x57, 0x14, 0x62, 0xc9, 0x52, 0xd5, 0x23, 0x0e, 0xf0, 0x39, 0xee,
2735
+	0xa2, 0xcf, 0xe0, 0xed, 0x69, 0xb2, 0xa2, 0x86, 0xeb, 0x73, 0xab, 0x9c, 0x35, 0xbd, 0x05, 0x1b,
2736
+	0xf6, 0xe9, 0xbc, 0x21, 0x8a, 0xcd, 0x68, 0x9f, 0xce, 0x9a, 0xdd, 0x86, 0x4d, 0x7b, 0x64, 0xcf,
2737
+	0xdb, 0x5d, 0x8d, 0xda, 0x21, 0x7b, 0x64, 0xcf, 0x1a, 0x5e, 0x62, 0x17, 0x6e, 0x87, 0xa8, 0xd8,
2738
+	0x23, 0x9a, 0x78, 0x2e, 0x0a, 0x8f, 0x28, 0xd0, 0x75, 0x10, 0x54, 0x55, 0x21, 0x26, 0x3e, 0x31,
2739
+	0x88, 0x82, 0x1d, 0x62, 0x62, 0x57, 0xbc, 0x10, 0x05, 0x97, 0x54, 0x55, 0x62, 0xda, 0x2a, 0x53,
2740
+	0xa2, 0xab, 0xb0, 0x6e, 0x9d, 0x3c, 0x52, 0x39, 0x25, 0x15, 0xdb, 0x21, 0x03, 0xfd, 0x99, 0xf8,
2741
+	0x21, 0xcb, 0xef, 0x1a, 0x55, 0x30, 0x42, 0x76, 0x99, 0x18, 0x5d, 0x01, 0x41, 0x75, 0x47, 0xd8,
2742
+	0xb1, 0x59, 0x4d, 0x76, 0x6d, 0xac, 0x12, 0xf1, 0x12, 0x87, 0x72, 0x79, 0x3b, 0x10, 0xd3, 0x2d,
2743
+	0xe1, 0x3e, 0xd5, 0x07, 0x5e, 0xe0, 0xf1, 0x32, 0xdf, 0x12, 0x4c, 0xe6, 0x7b, 0xdb, 0x05, 0x81,
2744
+	0xa6, 0x22, 0x36, 0xf1, 0x2e, 0x83, 0x95, 0xec, 0x91, 0x1d, 0x9d, 0xf7, 0x03, 0x58, 0xa5, 0xc8,
2745
+	0xe9, 0xa4, 0x57, 0x78, 0x43, 0x66, 0x8f, 0x22, 0x33, 0xde, 0x84, 0x2d, 0x0a, 0x1a, 0x13, 0x0f,
2746
+	0x6b, 0xd8, 0xc3, 0x11, 0xf4, 0xc7, 0x0c, 0x4d, 0xf3, 0xde, 0xf2, 0x95, 0xb1, 0x38, 0x9d, 0xc9,
2747
+	0xc9, 0x69, 0xc8, 0xac, 0x4f, 0x78, 0x9c, 0x54, 0x16, 0x70, 0xeb, 0xb5, 0x35, 0xdd, 0xe5, 0x03,
2748
+	0x28, 0x46, 0x89, 0x8f, 0xf2, 0xc0, 0xa9, 0x2f, 0x24, 0x68, 0x17, 0x54, 0xeb, 0xd4, 0x69, 0xff,
2749
+	0xf2, 0x95, 0x24, 0x24, 0x69, 0x1f, 0xd5, 0x6c, 0xf4, 0x25, 0x45, 0x3e, 0x6e, 0xf7, 0x1b, 0x2d,
2750
+	0x49, 0x48, 0x45, 0x1b, 0xf6, 0xbf, 0x26, 0xa1, 0x14, 0xbf, 0x7b, 0xa1, 0x1f, 0xc0, 0xb9, 0xe0,
2751
+	0xa1, 0xc4, 0x25, 0x9e, 0xf2, 0x54, 0x77, 0xd8, 0x5e, 0x1c, 0x63, 0x7e, 0x2e, 0x86, 0x6c, 0xd8,
2752
+	0xf4, 0x51, 0x3d, 0xe2, 0x7d, 0xa9, 0x3b, 0x74, 0xa7, 0x8d, 0xb1, 0x87, 0x9a, 0x70, 0xc1, 0xb4,
2753
+	0x14, 0xd7, 0xc3, 0xa6, 0x86, 0x1d, 0x4d, 0x99, 0x3e, 0x51, 0x29, 0x58, 0x55, 0x89, 0xeb, 0x5a,
2754
+	0xfc, 0x0c, 0x0c, 0xbd, 0xbc, 0x6b, 0x5a, 0x3d, 0x1f, 0x3c, 0x3d, 0x1c, 0xaa, 0x3e, 0x74, 0x86,
2755
+	0xb9, 0xa9, 0x65, 0xcc, 0x7d, 0x07, 0xf2, 0x63, 0x6c, 0x2b, 0xc4, 0xf4, 0x9c, 0x53, 0xd6, 0x71,
2756
+	0xe7, 0xe4, 0xdc, 0x18, 0xdb, 0x12, 0x1d, 0xbf, 0x99, 0x8b, 0xcf, 0x3f, 0x52, 0x50, 0x8c, 0x76,
2757
+	0xdd, 0xf4, 0x12, 0xa3, 0xb2, 0x03, 0x2a, 0xc1, 0x4a, 0xd8, 0x07, 0x2f, 0xed, 0xd1, 0x2b, 0x35,
2758
+	0x7a, 0x72, 0x1d, 0x64, 0x79, 0x2f, 0x2c, 0x73, 0x4b, 0xda, 0x35, 0x50, 0x6a, 0x11, 0xde, 0x7b,
2759
+	0xe4, 0x64, 0x7f, 0x84, 0x8e, 0x20, 0xfb, 0xc8, 0x65, 0xbe, 0xb3, 0xcc, 0xf7, 0x87, 0x2f, 0xf7,
2760
+	0x7d, 0xbf, 0xc7, 0x9c, 0xe7, 0xef, 0xf7, 0x94, 0x76, 0x47, 0x6e, 0x55, 0x9b, 0xb2, 0x6f, 0x8e,
2761
+	0xce, 0x43, 0xda, 0xc0, 0xcf, 0x4f, 0xe3, 0x67, 0x1c, 0x13, 0x9d, 0x35, 0xf1, 0xe7, 0x21, 0xfd,
2762
+	0x94, 0xe0, 0xc7, 0xf1, 0x93, 0x85, 0x89, 0x5e, 0x23, 0xf5, 0xaf, 0x43, 0x86, 0xe5, 0x0b, 0x01,
2763
+	0xf8, 0x19, 0x13, 0xde, 0x42, 0x39, 0x48, 0xd7, 0x3a, 0x32, 0xa5, 0xbf, 0x00, 0x45, 0x2e, 0x55,
2764
+	0xba, 0x0d, 0xa9, 0x26, 0x09, 0xc9, 0xf2, 0x2d, 0xc8, 0xf2, 0x24, 0xd0, 0xad, 0x11, 0xa6, 0x41,
2765
+	0x78, 0xcb, 0x1f, 0xfa, 0x3e, 0x12, 0x81, 0xf6, 0xb8, 0x75, 0x28, 0xc9, 0x42, 0x32, 0xfa, 0x79,
2766
+	0x5d, 0x28, 0x46, 0x1b, 0xee, 0x37, 0xc3, 0xa9, 0xbf, 0x24, 0xa0, 0x10, 0x69, 0xa0, 0x69, 0xe7,
2767
+	0x83, 0x0d, 0xc3, 0x7a, 0xaa, 0x60, 0x43, 0xc7, 0xae, 0x4f, 0x0a, 0x60, 0xa2, 0x2a, 0x95, 0x9c,
2768
+	0xf5, 0xa3, 0xbd, 0x91, 0xe0, 0x7f, 0x9f, 0x00, 0x61, 0xb6, 0x77, 0x9d, 0x09, 0x30, 0xf1, 0xbd,
2769
+	0x06, 0xf8, 0xbb, 0x04, 0x94, 0xe2, 0x0d, 0xeb, 0x4c, 0x78, 0x17, 0xbf, 0xd7, 0xf0, 0xfe, 0x99,
2770
+	0x84, 0xd5, 0x58, 0x9b, 0x7a, 0xd6, 0xe8, 0xbe, 0x86, 0x75, 0x5d, 0x23, 0x63, 0xdb, 0xf2, 0x88,
2771
+	0xa9, 0x9e, 0x2a, 0x06, 0x79, 0x42, 0x0c, 0xb1, 0xcc, 0x0a, 0xc5, 0xf5, 0x97, 0x37, 0xc2, 0x95,
2772
+	0xc6, 0xd4, 0xae, 0x49, 0xcd, 0x0e, 0x36, 0x1a, 0x75, 0xa9, 0xd5, 0xed, 0xf4, 0xa5, 0x76, 0xed,
2773
+	0xa1, 0x72, 0xdc, 0xfe, 0x71, 0xbb, 0xf3, 0x65, 0x5b, 0x16, 0xf4, 0x19, 0xd8, 0x6b, 0xdc, 0xea,
2774
+	0x5d, 0x10, 0x66, 0x83, 0x42, 0xe7, 0x60, 0x51, 0x58, 0xc2, 0x5b, 0x68, 0x03, 0xd6, 0xda, 0x1d,
2775
+	0xa5, 0xd7, 0xa8, 0x4b, 0x8a, 0x74, 0xef, 0x9e, 0x54, 0xeb, 0xf7, 0xf8, 0xd3, 0x46, 0x88, 0xee,
2776
+	0xc7, 0x37, 0xf5, 0x6f, 0x53, 0xb0, 0xb1, 0x20, 0x12, 0x54, 0xf5, 0x2f, 0x25, 0xfc, 0x9e, 0xf4,
2777
+	0xc9, 0x59, 0xa2, 0xaf, 0xd0, 0xae, 0xa0, 0x8b, 0x1d, 0xcf, 0xbf, 0xc3, 0x5c, 0x01, 0x9a, 0x25,
2778
+	0xd3, 0xd3, 0x07, 0x3a, 0x71, 0xfc, 0x97, 0x20, 0x7e, 0x53, 0x59, 0x9b, 0xca, 0xf9, 0x63, 0xd0,
2779
+	0xc7, 0x80, 0x6c, 0xcb, 0xd5, 0x3d, 0xfd, 0x09, 0x51, 0x74, 0x33, 0x78, 0x36, 0xa2, 0x37, 0x97,
2780
+	0xb4, 0x2c, 0x04, 0x9a, 0x86, 0xe9, 0x85, 0x68, 0x93, 0x0c, 0xf1, 0x0c, 0x9a, 0x16, 0xf0, 0x94,
2781
+	0x2c, 0x04, 0x9a, 0x10, 0x7d, 0x11, 0x8a, 0x9a, 0x35, 0xa1, 0xed, 0x1c, 0xc7, 0xd1, 0xf3, 0x22,
2782
+	0x21, 0x17, 0xb8, 0x2c, 0x84, 0xf8, 0x8d, 0xfa, 0xf4, 0xbd, 0xaa, 0x28, 0x17, 0xb8, 0x8c, 0x43,
2783
+	0x2e, 0xc3, 0x1a, 0x1e, 0x0e, 0x1d, 0xea, 0x3c, 0x70, 0xc4, 0xaf, 0x1e, 0xa5, 0x50, 0xcc, 0x80,
2784
+	0xdb, 0xf7, 0x21, 0x17, 0xe4, 0x81, 0x1e, 0xc9, 0x34, 0x13, 0x8a, 0xcd, 0xef, 0xd3, 0xc9, 0xdd,
2785
+	0xbc, 0x9c, 0x33, 0x03, 0xe5, 0x45, 0x28, 0xea, 0xae, 0x32, 0x7d, 0x7e, 0x4f, 0xee, 0x24, 0x77,
2786
+	0x73, 0x72, 0x41, 0x77, 0xc3, 0xa7, 0xcb, 0xf2, 0x37, 0x49, 0x28, 0xc5, 0x7f, 0x3e, 0x40, 0x75,
2787
+	0xc8, 0x19, 0x96, 0x8a, 0x19, 0xb5, 0xf8, 0x6f, 0x57, 0xbb, 0xaf, 0xf8, 0xc5, 0xa1, 0xd2, 0xf4,
2788
+	0xf1, 0x72, 0x68, 0xb9, 0xfd, 0xb7, 0x04, 0xe4, 0x02, 0x31, 0xda, 0x82, 0xb4, 0x8d, 0xbd, 0x11,
2789
+	0x73, 0x97, 0x39, 0x4c, 0x0a, 0x09, 0x99, 0x8d, 0xa9, 0xdc, 0xb5, 0xb1, 0xc9, 0x28, 0xe0, 0xcb,
2790
+	0xe9, 0x98, 0x7e, 0x57, 0x83, 0x60, 0x8d, 0xdd, 0x6b, 0xac, 0xf1, 0x98, 0x98, 0x9e, 0x1b, 0x7c,
2791
+	0x57, 0x5f, 0x5e, 0xf3, 0xc5, 0xe8, 0x1a, 0xac, 0x7b, 0x0e, 0xd6, 0x8d, 0x18, 0x36, 0xcd, 0xb0,
2792
+	0x42, 0xa0, 0x08, 0xc1, 0x07, 0x70, 0x3e, 0xf0, 0xab, 0x11, 0x0f, 0xab, 0x23, 0xa2, 0x4d, 0x8d,
2793
+	0xb2, 0xec, 0xfd, 0xe2, 0x9c, 0x0f, 0xa8, 0xfb, 0xfa, 0xc0, 0xb6, 0xfc, 0xf7, 0x04, 0xac, 0x07,
2794
+	0x37, 0x31, 0x2d, 0x4c, 0x56, 0x0b, 0x00, 0x9b, 0xa6, 0xe5, 0x45, 0xd3, 0x35, 0x4f, 0xe5, 0x39,
2795
+	0xbb, 0x4a, 0x35, 0x34, 0x92, 0x23, 0x0e, 0xb6, 0xc7, 0x00, 0x53, 0xcd, 0xd2, 0xb4, 0x5d, 0x80,
2796
+	0x82, 0xff, 0xdb, 0x10, 0xfb, 0x81, 0x91, 0xdf, 0xdd, 0x81, 0x8b, 0xe8, 0x95, 0x0d, 0x6d, 0x42,
2797
+	0xe6, 0x84, 0x0c, 0x75, 0xd3, 0x7f, 0xf1, 0xe5, 0x83, 0xe0, 0x85, 0x25, 0x1d, 0xbe, 0xb0, 0x1c,
2798
+	0xfe, 0x0c, 0x36, 0x54, 0x6b, 0x3c, 0x1b, 0xee, 0xa1, 0x30, 0xf3, 0x7e, 0xe0, 0x7e, 0x91, 0xf8,
2799
+	0x0a, 0xa6, 0x2d, 0xe6, 0xff, 0x12, 0x89, 0x3f, 0x24, 0x53, 0x47, 0xdd, 0xc3, 0x3f, 0x26, 0xb7,
2800
+	0x8f, 0xb8, 0x69, 0x37, 0x58, 0xa9, 0x4c, 0x06, 0x06, 0x51, 0x69, 0xf4, 0xff, 0x0f, 0x00, 0x00,
2801
+	0xff, 0xff, 0x88, 0x17, 0xc1, 0xbe, 0x38, 0x1d, 0x00, 0x00,
2806 2802
 }
... ...
@@ -3,14 +3,16 @@
3 3
 
4 4
 package descriptor
5 5
 
6
-import fmt "fmt"
7
-import strings "strings"
8
-import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
9
-import sort "sort"
10
-import strconv "strconv"
11
-import reflect "reflect"
12
-import proto "github.com/gogo/protobuf/proto"
13
-import math "math"
6
+import (
7
+	fmt "fmt"
8
+	github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
9
+	proto "github.com/gogo/protobuf/proto"
10
+	math "math"
11
+	reflect "reflect"
12
+	sort "sort"
13
+	strconv "strconv"
14
+	strings "strings"
15
+)
14 16
 
15 17
 // Reference imports to suppress errors if they are not otherwise used.
16 18
 var _ = proto.Marshal
... ...
@@ -358,7 +360,7 @@ func (this *FileOptions) GoString() string {
358 358
 	if this == nil {
359 359
 		return "nil"
360 360
 	}
361
-	s := make([]string, 0, 23)
361
+	s := make([]string, 0, 25)
362 362
 	s = append(s, "&descriptor.FileOptions{")
363 363
 	if this.JavaPackage != nil {
364 364
 		s = append(s, "JavaPackage: "+valueToGoStringDescriptor(this.JavaPackage, "string")+",\n")
... ...
@@ -414,6 +416,12 @@ func (this *FileOptions) GoString() string {
414 414
 	if this.PhpNamespace != nil {
415 415
 		s = append(s, "PhpNamespace: "+valueToGoStringDescriptor(this.PhpNamespace, "string")+",\n")
416 416
 	}
417
+	if this.PhpMetadataNamespace != nil {
418
+		s = append(s, "PhpMetadataNamespace: "+valueToGoStringDescriptor(this.PhpMetadataNamespace, "string")+",\n")
419
+	}
420
+	if this.RubyPackage != nil {
421
+		s = append(s, "RubyPackage: "+valueToGoStringDescriptor(this.RubyPackage, "string")+",\n")
422
+	}
417 423
 	if this.UninterpretedOption != nil {
418 424
 		s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n")
419 425
 	}
... ...
@@ -3,16 +3,15 @@
3 3
 
4 4
 package types
5 5
 
6
-import proto "github.com/gogo/protobuf/proto"
7
-import fmt "fmt"
8
-import math "math"
9
-
10
-import bytes "bytes"
11
-
12
-import strings "strings"
13
-import reflect "reflect"
14
-
15
-import io "io"
6
+import (
7
+	bytes "bytes"
8
+	fmt "fmt"
9
+	proto "github.com/gogo/protobuf/proto"
10
+	io "io"
11
+	math "math"
12
+	reflect "reflect"
13
+	strings "strings"
14
+)
16 15
 
17 16
 // Reference imports to suppress errors if they are not otherwise used.
18 17
 var _ = proto.Marshal
... ...
@@ -107,7 +106,8 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
107 107
 //
108 108
 type Any struct {
109 109
 	// A URL/resource name that uniquely identifies the type of the serialized
110
-	// protocol buffer message. The last segment of the URL's path must represent
110
+	// protocol buffer message. This string must contain at least
111
+	// one "/" character. The last segment of the URL's path must represent
111 112
 	// the fully qualified name of the type (as in
112 113
 	// `path/google.protobuf.Duration`). The name should be in a canonical form
113 114
 	// (e.g., leading "." is not accepted).
... ...
@@ -144,7 +144,7 @@ type Any struct {
144 144
 func (m *Any) Reset()      { *m = Any{} }
145 145
 func (*Any) ProtoMessage() {}
146 146
 func (*Any) Descriptor() ([]byte, []int) {
147
-	return fileDescriptor_any_f098d1a3c592d16a, []int{0}
147
+	return fileDescriptor_b53526c13ae22eb4, []int{0}
148 148
 }
149 149
 func (*Any) XXX_WellKnownType() string { return "Any" }
150 150
 func (m *Any) XXX_Unmarshal(b []byte) error {
... ...
@@ -162,8 +162,8 @@ func (m *Any) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
162 162
 		return b[:n], nil
163 163
 	}
164 164
 }
165
-func (dst *Any) XXX_Merge(src proto.Message) {
166
-	xxx_messageInfo_Any.Merge(dst, src)
165
+func (m *Any) XXX_Merge(src proto.Message) {
166
+	xxx_messageInfo_Any.Merge(m, src)
167 167
 }
168 168
 func (m *Any) XXX_Size() int {
169 169
 	return m.Size()
... ...
@@ -194,6 +194,27 @@ func (*Any) XXX_MessageName() string {
194 194
 func init() {
195 195
 	proto.RegisterType((*Any)(nil), "google.protobuf.Any")
196 196
 }
197
+
198
+func init() { proto.RegisterFile("google/protobuf/any.proto", fileDescriptor_b53526c13ae22eb4) }
199
+
200
+var fileDescriptor_b53526c13ae22eb4 = []byte{
201
+	// 211 bytes of a gzipped FileDescriptorProto
202
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f,
203
+	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4,
204
+	0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x25, 0x33, 0x2e, 0x66, 0xc7, 0xbc, 0x4a,
205
+	0x21, 0x49, 0x2e, 0x8e, 0x92, 0xca, 0x82, 0xd4, 0xf8, 0xd2, 0xa2, 0x1c, 0x09, 0x46, 0x05, 0x46,
206
+	0x0d, 0xce, 0x20, 0x76, 0x10, 0x3f, 0xb4, 0x28, 0x47, 0x48, 0x84, 0x8b, 0xb5, 0x2c, 0x31, 0xa7,
207
+	0x34, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0x27, 0x08, 0xc2, 0x71, 0xaa, 0xbf, 0xf1, 0x50, 0x8e,
208
+	0xe1, 0xc3, 0x43, 0x39, 0xc6, 0x1f, 0x0f, 0xe5, 0x18, 0x1b, 0x1e, 0xc9, 0x31, 0xae, 0x78, 0x24,
209
+	0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78,
210
+	0x24, 0xc7, 0xf0, 0x01, 0x24, 0xfe, 0x58, 0x8e, 0xf1, 0xc4, 0x63, 0x39, 0x46, 0x2e, 0xe1, 0xe4,
211
+	0xfc, 0x5c, 0x3d, 0x34, 0xeb, 0x9d, 0x38, 0x1c, 0xf3, 0x2a, 0x03, 0x40, 0x9c, 0x00, 0xc6, 0x28,
212
+	0x56, 0x90, 0x8d, 0xc5, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x94,
213
+	0x06, 0x40, 0x95, 0xea, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x80, 0x94,
214
+	0x25, 0xb1, 0x81, 0xcd, 0x30, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xb7, 0x81, 0x82, 0xd3, 0xed,
215
+	0x00, 0x00, 0x00,
216
+}
217
+
197 218
 func (this *Any) Compare(that interface{}) int {
198 219
 	if that == nil {
199 220
 		if this == nil {
... ...
@@ -481,7 +502,7 @@ func (m *Any) Unmarshal(dAtA []byte) error {
481 481
 			}
482 482
 			b := dAtA[iNdEx]
483 483
 			iNdEx++
484
-			wire |= (uint64(b) & 0x7F) << shift
484
+			wire |= uint64(b&0x7F) << shift
485 485
 			if b < 0x80 {
486 486
 				break
487 487
 			}
... ...
@@ -509,7 +530,7 @@ func (m *Any) Unmarshal(dAtA []byte) error {
509 509
 				}
510 510
 				b := dAtA[iNdEx]
511 511
 				iNdEx++
512
-				stringLen |= (uint64(b) & 0x7F) << shift
512
+				stringLen |= uint64(b&0x7F) << shift
513 513
 				if b < 0x80 {
514 514
 					break
515 515
 				}
... ...
@@ -519,6 +540,9 @@ func (m *Any) Unmarshal(dAtA []byte) error {
519 519
 				return ErrInvalidLengthAny
520 520
 			}
521 521
 			postIndex := iNdEx + intStringLen
522
+			if postIndex < 0 {
523
+				return ErrInvalidLengthAny
524
+			}
522 525
 			if postIndex > l {
523 526
 				return io.ErrUnexpectedEOF
524 527
 			}
... ...
@@ -538,7 +562,7 @@ func (m *Any) Unmarshal(dAtA []byte) error {
538 538
 				}
539 539
 				b := dAtA[iNdEx]
540 540
 				iNdEx++
541
-				byteLen |= (int(b) & 0x7F) << shift
541
+				byteLen |= int(b&0x7F) << shift
542 542
 				if b < 0x80 {
543 543
 					break
544 544
 				}
... ...
@@ -547,6 +571,9 @@ func (m *Any) Unmarshal(dAtA []byte) error {
547 547
 				return ErrInvalidLengthAny
548 548
 			}
549 549
 			postIndex := iNdEx + byteLen
550
+			if postIndex < 0 {
551
+				return ErrInvalidLengthAny
552
+			}
550 553
 			if postIndex > l {
551 554
 				return io.ErrUnexpectedEOF
552 555
 			}
... ...
@@ -564,6 +591,9 @@ func (m *Any) Unmarshal(dAtA []byte) error {
564 564
 			if skippy < 0 {
565 565
 				return ErrInvalidLengthAny
566 566
 			}
567
+			if (iNdEx + skippy) < 0 {
568
+				return ErrInvalidLengthAny
569
+			}
567 570
 			if (iNdEx + skippy) > l {
568 571
 				return io.ErrUnexpectedEOF
569 572
 			}
... ...
@@ -631,10 +661,13 @@ func skipAny(dAtA []byte) (n int, err error) {
631 631
 					break
632 632
 				}
633 633
 			}
634
-			iNdEx += length
635 634
 			if length < 0 {
636 635
 				return 0, ErrInvalidLengthAny
637 636
 			}
637
+			iNdEx += length
638
+			if iNdEx < 0 {
639
+				return 0, ErrInvalidLengthAny
640
+			}
638 641
 			return iNdEx, nil
639 642
 		case 3:
640 643
 			for {
... ...
@@ -663,6 +696,9 @@ func skipAny(dAtA []byte) (n int, err error) {
663 663
 					return 0, err
664 664
 				}
665 665
 				iNdEx = start + next
666
+				if iNdEx < 0 {
667
+					return 0, ErrInvalidLengthAny
668
+				}
666 669
 			}
667 670
 			return iNdEx, nil
668 671
 		case 4:
... ...
@@ -681,23 +717,3 @@ var (
681 681
 	ErrInvalidLengthAny = fmt.Errorf("proto: negative length found during unmarshaling")
682 682
 	ErrIntOverflowAny   = fmt.Errorf("proto: integer overflow")
683 683
 )
684
-
685
-func init() { proto.RegisterFile("google/protobuf/any.proto", fileDescriptor_any_f098d1a3c592d16a) }
686
-
687
-var fileDescriptor_any_f098d1a3c592d16a = []byte{
688
-	// 211 bytes of a gzipped FileDescriptorProto
689
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f,
690
-	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4,
691
-	0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x25, 0x33, 0x2e, 0x66, 0xc7, 0xbc, 0x4a,
692
-	0x21, 0x49, 0x2e, 0x8e, 0x92, 0xca, 0x82, 0xd4, 0xf8, 0xd2, 0xa2, 0x1c, 0x09, 0x46, 0x05, 0x46,
693
-	0x0d, 0xce, 0x20, 0x76, 0x10, 0x3f, 0xb4, 0x28, 0x47, 0x48, 0x84, 0x8b, 0xb5, 0x2c, 0x31, 0xa7,
694
-	0x34, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0x27, 0x08, 0xc2, 0x71, 0xaa, 0xbf, 0xf1, 0x50, 0x8e,
695
-	0xe1, 0xc3, 0x43, 0x39, 0xc6, 0x1f, 0x0f, 0xe5, 0x18, 0x1b, 0x1e, 0xc9, 0x31, 0xae, 0x78, 0x24,
696
-	0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78,
697
-	0x24, 0xc7, 0xf0, 0x01, 0x24, 0xfe, 0x58, 0x8e, 0xf1, 0xc4, 0x63, 0x39, 0x46, 0x2e, 0xe1, 0xe4,
698
-	0xfc, 0x5c, 0x3d, 0x34, 0xeb, 0x9d, 0x38, 0x1c, 0xf3, 0x2a, 0x03, 0x40, 0x9c, 0x00, 0xc6, 0x28,
699
-	0x56, 0x90, 0x8d, 0xc5, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x94,
700
-	0x06, 0x40, 0x95, 0xea, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x80, 0x94,
701
-	0x25, 0xb1, 0x81, 0xcd, 0x30, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xb7, 0x81, 0x82, 0xd3, 0xed,
702
-	0x00, 0x00, 0x00,
703
-}
... ...
@@ -3,16 +3,15 @@
3 3
 
4 4
 package types
5 5
 
6
-import proto "github.com/gogo/protobuf/proto"
7
-import fmt "fmt"
8
-import math "math"
9
-
10
-import bytes "bytes"
11
-
12
-import strings "strings"
13
-import reflect "reflect"
14
-
15
-import io "io"
6
+import (
7
+	bytes "bytes"
8
+	fmt "fmt"
9
+	proto "github.com/gogo/protobuf/proto"
10
+	io "io"
11
+	math "math"
12
+	reflect "reflect"
13
+	strings "strings"
14
+)
16 15
 
17 16
 // Reference imports to suppress errors if they are not otherwise used.
18 17
 var _ = proto.Marshal
... ...
@@ -79,7 +78,7 @@ type Api struct {
79 79
 func (m *Api) Reset()      { *m = Api{} }
80 80
 func (*Api) ProtoMessage() {}
81 81
 func (*Api) Descriptor() ([]byte, []int) {
82
-	return fileDescriptor_api_a4406062c749da1f, []int{0}
82
+	return fileDescriptor_a2ec32096296c143, []int{0}
83 83
 }
84 84
 func (m *Api) XXX_Unmarshal(b []byte) error {
85 85
 	return m.Unmarshal(b)
... ...
@@ -96,8 +95,8 @@ func (m *Api) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
96 96
 		return b[:n], nil
97 97
 	}
98 98
 }
99
-func (dst *Api) XXX_Merge(src proto.Message) {
100
-	xxx_messageInfo_Api.Merge(dst, src)
99
+func (m *Api) XXX_Merge(src proto.Message) {
100
+	xxx_messageInfo_Api.Merge(m, src)
101 101
 }
102 102
 func (m *Api) XXX_Size() int {
103 103
 	return m.Size()
... ...
@@ -185,7 +184,7 @@ type Method struct {
185 185
 func (m *Method) Reset()      { *m = Method{} }
186 186
 func (*Method) ProtoMessage() {}
187 187
 func (*Method) Descriptor() ([]byte, []int) {
188
-	return fileDescriptor_api_a4406062c749da1f, []int{1}
188
+	return fileDescriptor_a2ec32096296c143, []int{1}
189 189
 }
190 190
 func (m *Method) XXX_Unmarshal(b []byte) error {
191 191
 	return m.Unmarshal(b)
... ...
@@ -202,8 +201,8 @@ func (m *Method) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
202 202
 		return b[:n], nil
203 203
 	}
204 204
 }
205
-func (dst *Method) XXX_Merge(src proto.Message) {
206
-	xxx_messageInfo_Method.Merge(dst, src)
205
+func (m *Method) XXX_Merge(src proto.Message) {
206
+	xxx_messageInfo_Method.Merge(m, src)
207 207
 }
208 208
 func (m *Method) XXX_Size() int {
209 209
 	return m.Size()
... ...
@@ -359,7 +358,7 @@ type Mixin struct {
359 359
 func (m *Mixin) Reset()      { *m = Mixin{} }
360 360
 func (*Mixin) ProtoMessage() {}
361 361
 func (*Mixin) Descriptor() ([]byte, []int) {
362
-	return fileDescriptor_api_a4406062c749da1f, []int{2}
362
+	return fileDescriptor_a2ec32096296c143, []int{2}
363 363
 }
364 364
 func (m *Mixin) XXX_Unmarshal(b []byte) error {
365 365
 	return m.Unmarshal(b)
... ...
@@ -376,8 +375,8 @@ func (m *Mixin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
376 376
 		return b[:n], nil
377 377
 	}
378 378
 }
379
-func (dst *Mixin) XXX_Merge(src proto.Message) {
380
-	xxx_messageInfo_Mixin.Merge(dst, src)
379
+func (m *Mixin) XXX_Merge(src proto.Message) {
380
+	xxx_messageInfo_Mixin.Merge(m, src)
381 381
 }
382 382
 func (m *Mixin) XXX_Size() int {
383 383
 	return m.Size()
... ...
@@ -410,6 +409,43 @@ func init() {
410 410
 	proto.RegisterType((*Method)(nil), "google.protobuf.Method")
411 411
 	proto.RegisterType((*Mixin)(nil), "google.protobuf.Mixin")
412 412
 }
413
+
414
+func init() { proto.RegisterFile("google/protobuf/api.proto", fileDescriptor_a2ec32096296c143) }
415
+
416
+var fileDescriptor_a2ec32096296c143 = []byte{
417
+	// 467 bytes of a gzipped FileDescriptorProto
418
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0x31, 0x6f, 0x13, 0x31,
419
+	0x14, 0xc7, 0xeb, 0xbb, 0xe4, 0x52, 0x5c, 0x91, 0x82, 0x91, 0xc0, 0x64, 0xb0, 0x4e, 0x15, 0xc3,
420
+	0x09, 0xc4, 0x45, 0x94, 0x4f, 0xd0, 0x20, 0xd4, 0x01, 0x21, 0xa2, 0x0b, 0x08, 0x89, 0x25, 0x4a,
421
+	0x83, 0x09, 0x96, 0xee, 0x6c, 0x63, 0x3b, 0x90, 0x4c, 0xf0, 0x59, 0x98, 0x10, 0x23, 0xdf, 0x80,
422
+	0xad, 0x23, 0x23, 0x23, 0xb9, 0x2e, 0x8c, 0x1d, 0x19, 0x91, 0x7d, 0xe7, 0xa6, 0x5c, 0x83, 0x04,
423
+	0x9b, 0xdf, 0xfb, 0xff, 0xfc, 0xf7, 0x7b, 0x7f, 0xc3, 0x9b, 0x33, 0x21, 0x66, 0x39, 0xed, 0x4b,
424
+	0x25, 0x8c, 0x38, 0x9a, 0xbf, 0xea, 0x4f, 0x24, 0x4b, 0x5d, 0x81, 0x76, 0x2b, 0x29, 0xf5, 0x52,
425
+	0xef, 0x56, 0x93, 0xd5, 0x62, 0xae, 0xa6, 0x74, 0x3c, 0x15, 0xdc, 0xd0, 0x85, 0xa9, 0xc0, 0x5e,
426
+	0xaf, 0x49, 0x99, 0xa5, 0xac, 0x4d, 0xf6, 0xbe, 0x06, 0x30, 0x3c, 0x90, 0x0c, 0x21, 0xd8, 0xe2,
427
+	0x93, 0x82, 0x62, 0x10, 0x83, 0xe4, 0x52, 0xe6, 0xce, 0xe8, 0x1e, 0xec, 0x14, 0xd4, 0xbc, 0x16,
428
+	0x2f, 0x35, 0x0e, 0xe2, 0x30, 0xd9, 0xd9, 0xbf, 0x91, 0x36, 0x06, 0x48, 0x1f, 0x3b, 0x3d, 0xf3,
429
+	0x9c, 0xbd, 0x22, 0xa4, 0x61, 0x82, 0x6b, 0x1c, 0xfe, 0xe5, 0xca, 0x13, 0xa7, 0x67, 0x9e, 0x43,
430
+	0x18, 0x76, 0xde, 0x52, 0xa5, 0x99, 0xe0, 0xb8, 0xe5, 0x1e, 0xf7, 0x25, 0x7a, 0x08, 0xbb, 0x7f,
431
+	0xee, 0x83, 0xdb, 0x31, 0x48, 0x76, 0xf6, 0xc9, 0x05, 0xcf, 0x91, 0xc3, 0x1e, 0x54, 0x54, 0x76,
432
+	0x59, 0x9f, 0x2f, 0x51, 0x0a, 0xa3, 0x82, 0x2d, 0x18, 0xd7, 0x38, 0x72, 0x23, 0x5d, 0xbf, 0xb8,
433
+	0x85, 0x95, 0xb3, 0x9a, 0x42, 0x7d, 0x18, 0xe9, 0x25, 0x37, 0x93, 0x05, 0xee, 0xc4, 0x20, 0xe9,
434
+	0x6e, 0x58, 0x61, 0xe4, 0xe4, 0xac, 0xc6, 0xf6, 0xbe, 0x04, 0x30, 0xaa, 0x82, 0xd8, 0x18, 0x63,
435
+	0x02, 0xaf, 0x28, 0xfa, 0x66, 0x4e, 0xb5, 0x19, 0xdb, 0xe0, 0xc7, 0x73, 0x95, 0xe3, 0xc0, 0xe9,
436
+	0xdd, 0xba, 0xff, 0x74, 0x29, 0xe9, 0x33, 0x95, 0xa3, 0x3b, 0xf0, 0xaa, 0x27, 0xb5, 0x51, 0x74,
437
+	0x52, 0x30, 0x3e, 0xc3, 0x61, 0x0c, 0x92, 0xed, 0xcc, 0x5b, 0x8c, 0x7c, 0x1f, 0xdd, 0xb6, 0xb0,
438
+	0x96, 0x82, 0x6b, 0xba, 0xf6, 0xad, 0x12, 0xdc, 0xf5, 0x82, 0x37, 0xbe, 0x0b, 0xd1, 0x19, 0xbb,
439
+	0x76, 0x6e, 0x3b, 0xe7, 0x33, 0x97, 0xb5, 0xf5, 0xb9, 0x5f, 0x8c, 0xfe, 0xf1, 0x17, 0xff, 0x3b,
440
+	0xb4, 0x3e, 0x6c, 0xbb, 0xd8, 0x37, 0x46, 0x86, 0x60, 0x4b, 0x09, 0x61, 0xea, 0x98, 0xdc, 0x79,
441
+	0xf0, 0xfe, 0xfb, 0x8a, 0x6c, 0x9d, 0xae, 0x08, 0xf8, 0xb5, 0x22, 0xe0, 0x43, 0x49, 0xc0, 0xa7,
442
+	0x92, 0x80, 0xe3, 0x92, 0x80, 0x6f, 0x25, 0x01, 0x3f, 0x4a, 0x02, 0x7e, 0x96, 0x64, 0xeb, 0xd4,
443
+	0xf6, 0x4f, 0x08, 0x38, 0x3e, 0x21, 0x00, 0x5e, 0x9b, 0x8a, 0xa2, 0x39, 0xc6, 0x60, 0xfb, 0x40,
444
+	0xb2, 0xa1, 0x2d, 0x86, 0xe0, 0x45, 0xdb, 0xe6, 0xa6, 0x3f, 0x06, 0xe1, 0xe1, 0x70, 0xf0, 0x39,
445
+	0x20, 0x87, 0x15, 0x3a, 0xf4, 0x13, 0x3f, 0xa7, 0x79, 0xfe, 0x88, 0x8b, 0x77, 0xdc, 0xc6, 0xa8,
446
+	0x8f, 0x22, 0xe7, 0x71, 0xff, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x64, 0x40, 0x40, 0xa1,
447
+	0x03, 0x00, 0x00,
448
+}
449
+
413 450
 func (this *Api) Compare(that interface{}) int {
414 451
 	if that == nil {
415 452
 		if this == nil {
... ...
@@ -1349,7 +1385,7 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1349 1349
 			}
1350 1350
 			b := dAtA[iNdEx]
1351 1351
 			iNdEx++
1352
-			wire |= (uint64(b) & 0x7F) << shift
1352
+			wire |= uint64(b&0x7F) << shift
1353 1353
 			if b < 0x80 {
1354 1354
 				break
1355 1355
 			}
... ...
@@ -1377,7 +1413,7 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1377 1377
 				}
1378 1378
 				b := dAtA[iNdEx]
1379 1379
 				iNdEx++
1380
-				stringLen |= (uint64(b) & 0x7F) << shift
1380
+				stringLen |= uint64(b&0x7F) << shift
1381 1381
 				if b < 0x80 {
1382 1382
 					break
1383 1383
 				}
... ...
@@ -1387,6 +1423,9 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1387 1387
 				return ErrInvalidLengthApi
1388 1388
 			}
1389 1389
 			postIndex := iNdEx + intStringLen
1390
+			if postIndex < 0 {
1391
+				return ErrInvalidLengthApi
1392
+			}
1390 1393
 			if postIndex > l {
1391 1394
 				return io.ErrUnexpectedEOF
1392 1395
 			}
... ...
@@ -1406,7 +1445,7 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1406 1406
 				}
1407 1407
 				b := dAtA[iNdEx]
1408 1408
 				iNdEx++
1409
-				msglen |= (int(b) & 0x7F) << shift
1409
+				msglen |= int(b&0x7F) << shift
1410 1410
 				if b < 0x80 {
1411 1411
 					break
1412 1412
 				}
... ...
@@ -1415,6 +1454,9 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1415 1415
 				return ErrInvalidLengthApi
1416 1416
 			}
1417 1417
 			postIndex := iNdEx + msglen
1418
+			if postIndex < 0 {
1419
+				return ErrInvalidLengthApi
1420
+			}
1418 1421
 			if postIndex > l {
1419 1422
 				return io.ErrUnexpectedEOF
1420 1423
 			}
... ...
@@ -1437,7 +1479,7 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1437 1437
 				}
1438 1438
 				b := dAtA[iNdEx]
1439 1439
 				iNdEx++
1440
-				msglen |= (int(b) & 0x7F) << shift
1440
+				msglen |= int(b&0x7F) << shift
1441 1441
 				if b < 0x80 {
1442 1442
 					break
1443 1443
 				}
... ...
@@ -1446,6 +1488,9 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1446 1446
 				return ErrInvalidLengthApi
1447 1447
 			}
1448 1448
 			postIndex := iNdEx + msglen
1449
+			if postIndex < 0 {
1450
+				return ErrInvalidLengthApi
1451
+			}
1449 1452
 			if postIndex > l {
1450 1453
 				return io.ErrUnexpectedEOF
1451 1454
 			}
... ...
@@ -1468,7 +1513,7 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1468 1468
 				}
1469 1469
 				b := dAtA[iNdEx]
1470 1470
 				iNdEx++
1471
-				stringLen |= (uint64(b) & 0x7F) << shift
1471
+				stringLen |= uint64(b&0x7F) << shift
1472 1472
 				if b < 0x80 {
1473 1473
 					break
1474 1474
 				}
... ...
@@ -1478,6 +1523,9 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1478 1478
 				return ErrInvalidLengthApi
1479 1479
 			}
1480 1480
 			postIndex := iNdEx + intStringLen
1481
+			if postIndex < 0 {
1482
+				return ErrInvalidLengthApi
1483
+			}
1481 1484
 			if postIndex > l {
1482 1485
 				return io.ErrUnexpectedEOF
1483 1486
 			}
... ...
@@ -1497,7 +1545,7 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1497 1497
 				}
1498 1498
 				b := dAtA[iNdEx]
1499 1499
 				iNdEx++
1500
-				msglen |= (int(b) & 0x7F) << shift
1500
+				msglen |= int(b&0x7F) << shift
1501 1501
 				if b < 0x80 {
1502 1502
 					break
1503 1503
 				}
... ...
@@ -1506,6 +1554,9 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1506 1506
 				return ErrInvalidLengthApi
1507 1507
 			}
1508 1508
 			postIndex := iNdEx + msglen
1509
+			if postIndex < 0 {
1510
+				return ErrInvalidLengthApi
1511
+			}
1509 1512
 			if postIndex > l {
1510 1513
 				return io.ErrUnexpectedEOF
1511 1514
 			}
... ...
@@ -1530,7 +1581,7 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1530 1530
 				}
1531 1531
 				b := dAtA[iNdEx]
1532 1532
 				iNdEx++
1533
-				msglen |= (int(b) & 0x7F) << shift
1533
+				msglen |= int(b&0x7F) << shift
1534 1534
 				if b < 0x80 {
1535 1535
 					break
1536 1536
 				}
... ...
@@ -1539,6 +1590,9 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1539 1539
 				return ErrInvalidLengthApi
1540 1540
 			}
1541 1541
 			postIndex := iNdEx + msglen
1542
+			if postIndex < 0 {
1543
+				return ErrInvalidLengthApi
1544
+			}
1542 1545
 			if postIndex > l {
1543 1546
 				return io.ErrUnexpectedEOF
1544 1547
 			}
... ...
@@ -1561,7 +1615,7 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1561 1561
 				}
1562 1562
 				b := dAtA[iNdEx]
1563 1563
 				iNdEx++
1564
-				m.Syntax |= (Syntax(b) & 0x7F) << shift
1564
+				m.Syntax |= Syntax(b&0x7F) << shift
1565 1565
 				if b < 0x80 {
1566 1566
 					break
1567 1567
 				}
... ...
@@ -1575,6 +1629,9 @@ func (m *Api) Unmarshal(dAtA []byte) error {
1575 1575
 			if skippy < 0 {
1576 1576
 				return ErrInvalidLengthApi
1577 1577
 			}
1578
+			if (iNdEx + skippy) < 0 {
1579
+				return ErrInvalidLengthApi
1580
+			}
1578 1581
 			if (iNdEx + skippy) > l {
1579 1582
 				return io.ErrUnexpectedEOF
1580 1583
 			}
... ...
@@ -1603,7 +1660,7 @@ func (m *Method) Unmarshal(dAtA []byte) error {
1603 1603
 			}
1604 1604
 			b := dAtA[iNdEx]
1605 1605
 			iNdEx++
1606
-			wire |= (uint64(b) & 0x7F) << shift
1606
+			wire |= uint64(b&0x7F) << shift
1607 1607
 			if b < 0x80 {
1608 1608
 				break
1609 1609
 			}
... ...
@@ -1631,7 +1688,7 @@ func (m *Method) Unmarshal(dAtA []byte) error {
1631 1631
 				}
1632 1632
 				b := dAtA[iNdEx]
1633 1633
 				iNdEx++
1634
-				stringLen |= (uint64(b) & 0x7F) << shift
1634
+				stringLen |= uint64(b&0x7F) << shift
1635 1635
 				if b < 0x80 {
1636 1636
 					break
1637 1637
 				}
... ...
@@ -1641,6 +1698,9 @@ func (m *Method) Unmarshal(dAtA []byte) error {
1641 1641
 				return ErrInvalidLengthApi
1642 1642
 			}
1643 1643
 			postIndex := iNdEx + intStringLen
1644
+			if postIndex < 0 {
1645
+				return ErrInvalidLengthApi
1646
+			}
1644 1647
 			if postIndex > l {
1645 1648
 				return io.ErrUnexpectedEOF
1646 1649
 			}
... ...
@@ -1660,7 +1720,7 @@ func (m *Method) Unmarshal(dAtA []byte) error {
1660 1660
 				}
1661 1661
 				b := dAtA[iNdEx]
1662 1662
 				iNdEx++
1663
-				stringLen |= (uint64(b) & 0x7F) << shift
1663
+				stringLen |= uint64(b&0x7F) << shift
1664 1664
 				if b < 0x80 {
1665 1665
 					break
1666 1666
 				}
... ...
@@ -1670,6 +1730,9 @@ func (m *Method) Unmarshal(dAtA []byte) error {
1670 1670
 				return ErrInvalidLengthApi
1671 1671
 			}
1672 1672
 			postIndex := iNdEx + intStringLen
1673
+			if postIndex < 0 {
1674
+				return ErrInvalidLengthApi
1675
+			}
1673 1676
 			if postIndex > l {
1674 1677
 				return io.ErrUnexpectedEOF
1675 1678
 			}
... ...
@@ -1689,7 +1752,7 @@ func (m *Method) Unmarshal(dAtA []byte) error {
1689 1689
 				}
1690 1690
 				b := dAtA[iNdEx]
1691 1691
 				iNdEx++
1692
-				v |= (int(b) & 0x7F) << shift
1692
+				v |= int(b&0x7F) << shift
1693 1693
 				if b < 0x80 {
1694 1694
 					break
1695 1695
 				}
... ...
@@ -1709,7 +1772,7 @@ func (m *Method) Unmarshal(dAtA []byte) error {
1709 1709
 				}
1710 1710
 				b := dAtA[iNdEx]
1711 1711
 				iNdEx++
1712
-				stringLen |= (uint64(b) & 0x7F) << shift
1712
+				stringLen |= uint64(b&0x7F) << shift
1713 1713
 				if b < 0x80 {
1714 1714
 					break
1715 1715
 				}
... ...
@@ -1719,6 +1782,9 @@ func (m *Method) Unmarshal(dAtA []byte) error {
1719 1719
 				return ErrInvalidLengthApi
1720 1720
 			}
1721 1721
 			postIndex := iNdEx + intStringLen
1722
+			if postIndex < 0 {
1723
+				return ErrInvalidLengthApi
1724
+			}
1722 1725
 			if postIndex > l {
1723 1726
 				return io.ErrUnexpectedEOF
1724 1727
 			}
... ...
@@ -1738,7 +1804,7 @@ func (m *Method) Unmarshal(dAtA []byte) error {
1738 1738
 				}
1739 1739
 				b := dAtA[iNdEx]
1740 1740
 				iNdEx++
1741
-				v |= (int(b) & 0x7F) << shift
1741
+				v |= int(b&0x7F) << shift
1742 1742
 				if b < 0x80 {
1743 1743
 					break
1744 1744
 				}
... ...
@@ -1758,7 +1824,7 @@ func (m *Method) Unmarshal(dAtA []byte) error {
1758 1758
 				}
1759 1759
 				b := dAtA[iNdEx]
1760 1760
 				iNdEx++
1761
-				msglen |= (int(b) & 0x7F) << shift
1761
+				msglen |= int(b&0x7F) << shift
1762 1762
 				if b < 0x80 {
1763 1763
 					break
1764 1764
 				}
... ...
@@ -1767,6 +1833,9 @@ func (m *Method) Unmarshal(dAtA []byte) error {
1767 1767
 				return ErrInvalidLengthApi
1768 1768
 			}
1769 1769
 			postIndex := iNdEx + msglen
1770
+			if postIndex < 0 {
1771
+				return ErrInvalidLengthApi
1772
+			}
1770 1773
 			if postIndex > l {
1771 1774
 				return io.ErrUnexpectedEOF
1772 1775
 			}
... ...
@@ -1789,7 +1858,7 @@ func (m *Method) Unmarshal(dAtA []byte) error {
1789 1789
 				}
1790 1790
 				b := dAtA[iNdEx]
1791 1791
 				iNdEx++
1792
-				m.Syntax |= (Syntax(b) & 0x7F) << shift
1792
+				m.Syntax |= Syntax(b&0x7F) << shift
1793 1793
 				if b < 0x80 {
1794 1794
 					break
1795 1795
 				}
... ...
@@ -1803,6 +1872,9 @@ func (m *Method) Unmarshal(dAtA []byte) error {
1803 1803
 			if skippy < 0 {
1804 1804
 				return ErrInvalidLengthApi
1805 1805
 			}
1806
+			if (iNdEx + skippy) < 0 {
1807
+				return ErrInvalidLengthApi
1808
+			}
1806 1809
 			if (iNdEx + skippy) > l {
1807 1810
 				return io.ErrUnexpectedEOF
1808 1811
 			}
... ...
@@ -1831,7 +1903,7 @@ func (m *Mixin) Unmarshal(dAtA []byte) error {
1831 1831
 			}
1832 1832
 			b := dAtA[iNdEx]
1833 1833
 			iNdEx++
1834
-			wire |= (uint64(b) & 0x7F) << shift
1834
+			wire |= uint64(b&0x7F) << shift
1835 1835
 			if b < 0x80 {
1836 1836
 				break
1837 1837
 			}
... ...
@@ -1859,7 +1931,7 @@ func (m *Mixin) Unmarshal(dAtA []byte) error {
1859 1859
 				}
1860 1860
 				b := dAtA[iNdEx]
1861 1861
 				iNdEx++
1862
-				stringLen |= (uint64(b) & 0x7F) << shift
1862
+				stringLen |= uint64(b&0x7F) << shift
1863 1863
 				if b < 0x80 {
1864 1864
 					break
1865 1865
 				}
... ...
@@ -1869,6 +1941,9 @@ func (m *Mixin) Unmarshal(dAtA []byte) error {
1869 1869
 				return ErrInvalidLengthApi
1870 1870
 			}
1871 1871
 			postIndex := iNdEx + intStringLen
1872
+			if postIndex < 0 {
1873
+				return ErrInvalidLengthApi
1874
+			}
1872 1875
 			if postIndex > l {
1873 1876
 				return io.ErrUnexpectedEOF
1874 1877
 			}
... ...
@@ -1888,7 +1963,7 @@ func (m *Mixin) Unmarshal(dAtA []byte) error {
1888 1888
 				}
1889 1889
 				b := dAtA[iNdEx]
1890 1890
 				iNdEx++
1891
-				stringLen |= (uint64(b) & 0x7F) << shift
1891
+				stringLen |= uint64(b&0x7F) << shift
1892 1892
 				if b < 0x80 {
1893 1893
 					break
1894 1894
 				}
... ...
@@ -1898,6 +1973,9 @@ func (m *Mixin) Unmarshal(dAtA []byte) error {
1898 1898
 				return ErrInvalidLengthApi
1899 1899
 			}
1900 1900
 			postIndex := iNdEx + intStringLen
1901
+			if postIndex < 0 {
1902
+				return ErrInvalidLengthApi
1903
+			}
1901 1904
 			if postIndex > l {
1902 1905
 				return io.ErrUnexpectedEOF
1903 1906
 			}
... ...
@@ -1912,6 +1990,9 @@ func (m *Mixin) Unmarshal(dAtA []byte) error {
1912 1912
 			if skippy < 0 {
1913 1913
 				return ErrInvalidLengthApi
1914 1914
 			}
1915
+			if (iNdEx + skippy) < 0 {
1916
+				return ErrInvalidLengthApi
1917
+			}
1915 1918
 			if (iNdEx + skippy) > l {
1916 1919
 				return io.ErrUnexpectedEOF
1917 1920
 			}
... ...
@@ -1979,10 +2060,13 @@ func skipApi(dAtA []byte) (n int, err error) {
1979 1979
 					break
1980 1980
 				}
1981 1981
 			}
1982
-			iNdEx += length
1983 1982
 			if length < 0 {
1984 1983
 				return 0, ErrInvalidLengthApi
1985 1984
 			}
1985
+			iNdEx += length
1986
+			if iNdEx < 0 {
1987
+				return 0, ErrInvalidLengthApi
1988
+			}
1986 1989
 			return iNdEx, nil
1987 1990
 		case 3:
1988 1991
 			for {
... ...
@@ -2011,6 +2095,9 @@ func skipApi(dAtA []byte) (n int, err error) {
2011 2011
 					return 0, err
2012 2012
 				}
2013 2013
 				iNdEx = start + next
2014
+				if iNdEx < 0 {
2015
+					return 0, ErrInvalidLengthApi
2016
+				}
2014 2017
 			}
2015 2018
 			return iNdEx, nil
2016 2019
 		case 4:
... ...
@@ -2029,39 +2116,3 @@ var (
2029 2029
 	ErrInvalidLengthApi = fmt.Errorf("proto: negative length found during unmarshaling")
2030 2030
 	ErrIntOverflowApi   = fmt.Errorf("proto: integer overflow")
2031 2031
 )
2032
-
2033
-func init() { proto.RegisterFile("google/protobuf/api.proto", fileDescriptor_api_a4406062c749da1f) }
2034
-
2035
-var fileDescriptor_api_a4406062c749da1f = []byte{
2036
-	// 467 bytes of a gzipped FileDescriptorProto
2037
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0x31, 0x6f, 0x13, 0x31,
2038
-	0x14, 0xc7, 0xeb, 0xbb, 0xe4, 0x52, 0x5c, 0x91, 0x82, 0x91, 0xc0, 0x64, 0xb0, 0x4e, 0x15, 0xc3,
2039
-	0x09, 0xc4, 0x45, 0x94, 0x4f, 0xd0, 0x20, 0xd4, 0x01, 0x21, 0xa2, 0x0b, 0x08, 0x89, 0x25, 0x4a,
2040
-	0x83, 0x09, 0x96, 0xee, 0x6c, 0x63, 0x3b, 0x90, 0x4c, 0xf0, 0x59, 0x98, 0x10, 0x23, 0xdf, 0x80,
2041
-	0xad, 0x23, 0x23, 0x23, 0xb9, 0x2e, 0x8c, 0x1d, 0x19, 0x91, 0x7d, 0xe7, 0xa6, 0x5c, 0x83, 0x04,
2042
-	0x9b, 0xdf, 0xfb, 0xff, 0xfc, 0xf7, 0x7b, 0x7f, 0xc3, 0x9b, 0x33, 0x21, 0x66, 0x39, 0xed, 0x4b,
2043
-	0x25, 0x8c, 0x38, 0x9a, 0xbf, 0xea, 0x4f, 0x24, 0x4b, 0x5d, 0x81, 0x76, 0x2b, 0x29, 0xf5, 0x52,
2044
-	0xef, 0x56, 0x93, 0xd5, 0x62, 0xae, 0xa6, 0x74, 0x3c, 0x15, 0xdc, 0xd0, 0x85, 0xa9, 0xc0, 0x5e,
2045
-	0xaf, 0x49, 0x99, 0xa5, 0xac, 0x4d, 0xf6, 0xbe, 0x06, 0x30, 0x3c, 0x90, 0x0c, 0x21, 0xd8, 0xe2,
2046
-	0x93, 0x82, 0x62, 0x10, 0x83, 0xe4, 0x52, 0xe6, 0xce, 0xe8, 0x1e, 0xec, 0x14, 0xd4, 0xbc, 0x16,
2047
-	0x2f, 0x35, 0x0e, 0xe2, 0x30, 0xd9, 0xd9, 0xbf, 0x91, 0x36, 0x06, 0x48, 0x1f, 0x3b, 0x3d, 0xf3,
2048
-	0x9c, 0xbd, 0x22, 0xa4, 0x61, 0x82, 0x6b, 0x1c, 0xfe, 0xe5, 0xca, 0x13, 0xa7, 0x67, 0x9e, 0x43,
2049
-	0x18, 0x76, 0xde, 0x52, 0xa5, 0x99, 0xe0, 0xb8, 0xe5, 0x1e, 0xf7, 0x25, 0x7a, 0x08, 0xbb, 0x7f,
2050
-	0xee, 0x83, 0xdb, 0x31, 0x48, 0x76, 0xf6, 0xc9, 0x05, 0xcf, 0x91, 0xc3, 0x1e, 0x54, 0x54, 0x76,
2051
-	0x59, 0x9f, 0x2f, 0x51, 0x0a, 0xa3, 0x82, 0x2d, 0x18, 0xd7, 0x38, 0x72, 0x23, 0x5d, 0xbf, 0xb8,
2052
-	0x85, 0x95, 0xb3, 0x9a, 0x42, 0x7d, 0x18, 0xe9, 0x25, 0x37, 0x93, 0x05, 0xee, 0xc4, 0x20, 0xe9,
2053
-	0x6e, 0x58, 0x61, 0xe4, 0xe4, 0xac, 0xc6, 0xf6, 0xbe, 0x04, 0x30, 0xaa, 0x82, 0xd8, 0x18, 0x63,
2054
-	0x02, 0xaf, 0x28, 0xfa, 0x66, 0x4e, 0xb5, 0x19, 0xdb, 0xe0, 0xc7, 0x73, 0x95, 0xe3, 0xc0, 0xe9,
2055
-	0xdd, 0xba, 0xff, 0x74, 0x29, 0xe9, 0x33, 0x95, 0xa3, 0x3b, 0xf0, 0xaa, 0x27, 0xb5, 0x51, 0x74,
2056
-	0x52, 0x30, 0x3e, 0xc3, 0x61, 0x0c, 0x92, 0xed, 0xcc, 0x5b, 0x8c, 0x7c, 0x1f, 0xdd, 0xb6, 0xb0,
2057
-	0x96, 0x82, 0x6b, 0xba, 0xf6, 0xad, 0x12, 0xdc, 0xf5, 0x82, 0x37, 0xbe, 0x0b, 0xd1, 0x19, 0xbb,
2058
-	0x76, 0x6e, 0x3b, 0xe7, 0x33, 0x97, 0xb5, 0xf5, 0xb9, 0x5f, 0x8c, 0xfe, 0xf1, 0x17, 0xff, 0x3b,
2059
-	0xb4, 0x3e, 0x6c, 0xbb, 0xd8, 0x37, 0x46, 0x86, 0x60, 0x4b, 0x09, 0x61, 0xea, 0x98, 0xdc, 0x79,
2060
-	0xf0, 0xfe, 0xfb, 0x8a, 0x6c, 0x9d, 0xae, 0x08, 0xf8, 0xb5, 0x22, 0xe0, 0x43, 0x49, 0xc0, 0xa7,
2061
-	0x92, 0x80, 0xe3, 0x92, 0x80, 0x6f, 0x25, 0x01, 0x3f, 0x4a, 0x02, 0x7e, 0x96, 0x64, 0xeb, 0xd4,
2062
-	0xf6, 0x4f, 0x08, 0x38, 0x3e, 0x21, 0x00, 0x5e, 0x9b, 0x8a, 0xa2, 0x39, 0xc6, 0x60, 0xfb, 0x40,
2063
-	0xb2, 0xa1, 0x2d, 0x86, 0xe0, 0x45, 0xdb, 0xe6, 0xa6, 0x3f, 0x06, 0xe1, 0xe1, 0x70, 0xf0, 0x39,
2064
-	0x20, 0x87, 0x15, 0x3a, 0xf4, 0x13, 0x3f, 0xa7, 0x79, 0xfe, 0x88, 0x8b, 0x77, 0xdc, 0xc6, 0xa8,
2065
-	0x8f, 0x22, 0xe7, 0x71, 0xff, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x64, 0x40, 0x40, 0xa1,
2066
-	0x03, 0x00, 0x00,
2067
-}
... ...
@@ -80,7 +80,7 @@ func DurationFromProto(p *Duration) (time.Duration, error) {
80 80
 		return 0, fmt.Errorf("duration: %#v is out of range for time.Duration", p)
81 81
 	}
82 82
 	if p.Nanos != 0 {
83
-		d += time.Duration(p.Nanos)
83
+		d += time.Duration(p.Nanos) * time.Nanosecond
84 84
 		if (d < 0) != (p.Nanos < 0) {
85 85
 			return 0, fmt.Errorf("duration: %#v is out of range for time.Duration", p)
86 86
 		}
... ...
@@ -3,16 +3,15 @@
3 3
 
4 4
 package types
5 5
 
6
-import proto "github.com/gogo/protobuf/proto"
7
-import fmt "fmt"
8
-import math "math"
9
-
10
-import bytes "bytes"
11
-
12
-import strings "strings"
13
-import reflect "reflect"
14
-
15
-import io "io"
6
+import (
7
+	bytes "bytes"
8
+	fmt "fmt"
9
+	proto "github.com/gogo/protobuf/proto"
10
+	io "io"
11
+	math "math"
12
+	reflect "reflect"
13
+	strings "strings"
14
+)
16 15
 
17 16
 // Reference imports to suppress errors if they are not otherwise used.
18 17
 var _ = proto.Marshal
... ...
@@ -105,7 +104,7 @@ type Duration struct {
105 105
 func (m *Duration) Reset()      { *m = Duration{} }
106 106
 func (*Duration) ProtoMessage() {}
107 107
 func (*Duration) Descriptor() ([]byte, []int) {
108
-	return fileDescriptor_duration_187e4d5f80a83848, []int{0}
108
+	return fileDescriptor_23597b2ebd7ac6c5, []int{0}
109 109
 }
110 110
 func (*Duration) XXX_WellKnownType() string { return "Duration" }
111 111
 func (m *Duration) XXX_Unmarshal(b []byte) error {
... ...
@@ -123,8 +122,8 @@ func (m *Duration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
123 123
 		return b[:n], nil
124 124
 	}
125 125
 }
126
-func (dst *Duration) XXX_Merge(src proto.Message) {
127
-	xxx_messageInfo_Duration.Merge(dst, src)
126
+func (m *Duration) XXX_Merge(src proto.Message) {
127
+	xxx_messageInfo_Duration.Merge(m, src)
128 128
 }
129 129
 func (m *Duration) XXX_Size() int {
130 130
 	return m.Size()
... ...
@@ -155,6 +154,27 @@ func (*Duration) XXX_MessageName() string {
155 155
 func init() {
156 156
 	proto.RegisterType((*Duration)(nil), "google.protobuf.Duration")
157 157
 }
158
+
159
+func init() { proto.RegisterFile("google/protobuf/duration.proto", fileDescriptor_23597b2ebd7ac6c5) }
160
+
161
+var fileDescriptor_23597b2ebd7ac6c5 = []byte{
162
+	// 209 bytes of a gzipped FileDescriptorProto
163
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f,
164
+	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0x29, 0x2d, 0x4a,
165
+	0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0x56,
166
+	0x5c, 0x1c, 0x2e, 0x50, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0xc9, 0xf9, 0x79, 0x29, 0xc5,
167
+	0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x30, 0xae, 0x90, 0x08, 0x17, 0x6b, 0x5e, 0x62, 0x5e,
168
+	0x7e, 0xb1, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x84, 0xe3, 0x54, 0x7f, 0xe3, 0xa1, 0x1c,
169
+	0xc3, 0x87, 0x87, 0x72, 0x8c, 0x2b, 0x1e, 0xc9, 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91,
170
+	0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x2f, 0x1e, 0xc9, 0x31, 0x7c, 0x78, 0x24, 0xc7, 0xb8, 0xe2,
171
+	0xb1, 0x1c, 0xe3, 0x89, 0xc7, 0x72, 0x8c, 0x5c, 0xc2, 0xc9, 0xf9, 0xb9, 0x7a, 0x68, 0x56, 0x3b,
172
+	0xf1, 0xc2, 0x2c, 0x0e, 0x00, 0x89, 0x04, 0x30, 0x46, 0xb1, 0x96, 0x54, 0x16, 0xa4, 0x16, 0xff,
173
+	0x60, 0x64, 0x5c, 0xc4, 0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0xce, 0x1d, 0xa2, 0x25, 0x00,
174
+	0xaa, 0x45, 0x2f, 0x3c, 0x35, 0x27, 0xc7, 0x3b, 0x2f, 0xbf, 0x3c, 0x2f, 0x04, 0xa4, 0x32, 0x89,
175
+	0x0d, 0x6c, 0x96, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x1c, 0x64, 0x4e, 0xf6, 0x00, 0x00,
176
+	0x00,
177
+}
178
+
158 179
 func (this *Duration) Compare(that interface{}) int {
159 180
 	if that == nil {
160 181
 		if this == nil {
... ...
@@ -335,7 +355,7 @@ func (m *Duration) Unmarshal(dAtA []byte) error {
335 335
 			}
336 336
 			b := dAtA[iNdEx]
337 337
 			iNdEx++
338
-			wire |= (uint64(b) & 0x7F) << shift
338
+			wire |= uint64(b&0x7F) << shift
339 339
 			if b < 0x80 {
340 340
 				break
341 341
 			}
... ...
@@ -363,7 +383,7 @@ func (m *Duration) Unmarshal(dAtA []byte) error {
363 363
 				}
364 364
 				b := dAtA[iNdEx]
365 365
 				iNdEx++
366
-				m.Seconds |= (int64(b) & 0x7F) << shift
366
+				m.Seconds |= int64(b&0x7F) << shift
367 367
 				if b < 0x80 {
368 368
 					break
369 369
 				}
... ...
@@ -382,7 +402,7 @@ func (m *Duration) Unmarshal(dAtA []byte) error {
382 382
 				}
383 383
 				b := dAtA[iNdEx]
384 384
 				iNdEx++
385
-				m.Nanos |= (int32(b) & 0x7F) << shift
385
+				m.Nanos |= int32(b&0x7F) << shift
386 386
 				if b < 0x80 {
387 387
 					break
388 388
 				}
... ...
@@ -396,6 +416,9 @@ func (m *Duration) Unmarshal(dAtA []byte) error {
396 396
 			if skippy < 0 {
397 397
 				return ErrInvalidLengthDuration
398 398
 			}
399
+			if (iNdEx + skippy) < 0 {
400
+				return ErrInvalidLengthDuration
401
+			}
399 402
 			if (iNdEx + skippy) > l {
400 403
 				return io.ErrUnexpectedEOF
401 404
 			}
... ...
@@ -463,10 +486,13 @@ func skipDuration(dAtA []byte) (n int, err error) {
463 463
 					break
464 464
 				}
465 465
 			}
466
-			iNdEx += length
467 466
 			if length < 0 {
468 467
 				return 0, ErrInvalidLengthDuration
469 468
 			}
469
+			iNdEx += length
470
+			if iNdEx < 0 {
471
+				return 0, ErrInvalidLengthDuration
472
+			}
470 473
 			return iNdEx, nil
471 474
 		case 3:
472 475
 			for {
... ...
@@ -495,6 +521,9 @@ func skipDuration(dAtA []byte) (n int, err error) {
495 495
 					return 0, err
496 496
 				}
497 497
 				iNdEx = start + next
498
+				if iNdEx < 0 {
499
+					return 0, ErrInvalidLengthDuration
500
+				}
498 501
 			}
499 502
 			return iNdEx, nil
500 503
 		case 4:
... ...
@@ -513,25 +542,3 @@ var (
513 513
 	ErrInvalidLengthDuration = fmt.Errorf("proto: negative length found during unmarshaling")
514 514
 	ErrIntOverflowDuration   = fmt.Errorf("proto: integer overflow")
515 515
 )
516
-
517
-func init() {
518
-	proto.RegisterFile("google/protobuf/duration.proto", fileDescriptor_duration_187e4d5f80a83848)
519
-}
520
-
521
-var fileDescriptor_duration_187e4d5f80a83848 = []byte{
522
-	// 209 bytes of a gzipped FileDescriptorProto
523
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f,
524
-	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0x29, 0x2d, 0x4a,
525
-	0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0x56,
526
-	0x5c, 0x1c, 0x2e, 0x50, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0xc9, 0xf9, 0x79, 0x29, 0xc5,
527
-	0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x30, 0xae, 0x90, 0x08, 0x17, 0x6b, 0x5e, 0x62, 0x5e,
528
-	0x7e, 0xb1, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x84, 0xe3, 0x54, 0x7f, 0xe3, 0xa1, 0x1c,
529
-	0xc3, 0x87, 0x87, 0x72, 0x8c, 0x2b, 0x1e, 0xc9, 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91,
530
-	0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x2f, 0x1e, 0xc9, 0x31, 0x7c, 0x78, 0x24, 0xc7, 0xb8, 0xe2,
531
-	0xb1, 0x1c, 0xe3, 0x89, 0xc7, 0x72, 0x8c, 0x5c, 0xc2, 0xc9, 0xf9, 0xb9, 0x7a, 0x68, 0x56, 0x3b,
532
-	0xf1, 0xc2, 0x2c, 0x0e, 0x00, 0x89, 0x04, 0x30, 0x46, 0xb1, 0x96, 0x54, 0x16, 0xa4, 0x16, 0xff,
533
-	0x60, 0x64, 0x5c, 0xc4, 0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0xce, 0x1d, 0xa2, 0x25, 0x00,
534
-	0xaa, 0x45, 0x2f, 0x3c, 0x35, 0x27, 0xc7, 0x3b, 0x2f, 0xbf, 0x3c, 0x2f, 0x04, 0xa4, 0x32, 0x89,
535
-	0x0d, 0x6c, 0x96, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x1c, 0x64, 0x4e, 0xf6, 0x00, 0x00,
536
-	0x00,
537
-}
... ...
@@ -3,16 +3,15 @@
3 3
 
4 4
 package types
5 5
 
6
-import proto "github.com/gogo/protobuf/proto"
7
-import fmt "fmt"
8
-import math "math"
9
-
10
-import bytes "bytes"
11
-
12
-import strings "strings"
13
-import reflect "reflect"
14
-
15
-import io "io"
6
+import (
7
+	bytes "bytes"
8
+	fmt "fmt"
9
+	proto "github.com/gogo/protobuf/proto"
10
+	io "io"
11
+	math "math"
12
+	reflect "reflect"
13
+	strings "strings"
14
+)
16 15
 
17 16
 // Reference imports to suppress errors if they are not otherwise used.
18 17
 var _ = proto.Marshal
... ...
@@ -43,7 +42,7 @@ type Empty struct {
43 43
 func (m *Empty) Reset()      { *m = Empty{} }
44 44
 func (*Empty) ProtoMessage() {}
45 45
 func (*Empty) Descriptor() ([]byte, []int) {
46
-	return fileDescriptor_empty_b366a5cbb7c614df, []int{0}
46
+	return fileDescriptor_900544acb223d5b8, []int{0}
47 47
 }
48 48
 func (*Empty) XXX_WellKnownType() string { return "Empty" }
49 49
 func (m *Empty) XXX_Unmarshal(b []byte) error {
... ...
@@ -61,8 +60,8 @@ func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
61 61
 		return b[:n], nil
62 62
 	}
63 63
 }
64
-func (dst *Empty) XXX_Merge(src proto.Message) {
65
-	xxx_messageInfo_Empty.Merge(dst, src)
64
+func (m *Empty) XXX_Merge(src proto.Message) {
65
+	xxx_messageInfo_Empty.Merge(m, src)
66 66
 }
67 67
 func (m *Empty) XXX_Size() int {
68 68
 	return m.Size()
... ...
@@ -79,6 +78,24 @@ func (*Empty) XXX_MessageName() string {
79 79
 func init() {
80 80
 	proto.RegisterType((*Empty)(nil), "google.protobuf.Empty")
81 81
 }
82
+
83
+func init() { proto.RegisterFile("google/protobuf/empty.proto", fileDescriptor_900544acb223d5b8) }
84
+
85
+var fileDescriptor_900544acb223d5b8 = []byte{
86
+	// 176 bytes of a gzipped FileDescriptorProto
87
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0xcf, 0xcf, 0x4f,
88
+	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcd, 0x2d, 0x28,
89
+	0xa9, 0xd4, 0x03, 0x73, 0x85, 0xf8, 0x21, 0x92, 0x7a, 0x30, 0x49, 0x25, 0x76, 0x2e, 0x56, 0x57,
90
+	0x90, 0xbc, 0x53, 0x0b, 0xe3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28,
91
+	0xc7, 0xd8, 0xf0, 0x48, 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c,
92
+	0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x20, 0xf1, 0xc7, 0x72,
93
+	0x8c, 0x27, 0x1e, 0xcb, 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x19, 0xe8, 0xc4, 0x05,
94
+	0x36, 0x2e, 0x00, 0xc4, 0x0d, 0x60, 0x8c, 0x62, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0xfe, 0xc1, 0xc8,
95
+	0xb8, 0x88, 0x89, 0xd9, 0x3d, 0xc0, 0x69, 0x15, 0x93, 0x9c, 0x3b, 0x44, 0x7d, 0x00, 0x54, 0xbd,
96
+	0x5e, 0x78, 0x6a, 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x65, 0x12, 0x1b, 0xd8,
97
+	0x20, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x21, 0xbe, 0xb6, 0x31, 0xc6, 0x00, 0x00, 0x00,
98
+}
99
+
82 100
 func (this *Empty) Compare(that interface{}) int {
83 101
 	if that == nil {
84 102
 		if this == nil {
... ...
@@ -321,7 +338,7 @@ func (m *Empty) Unmarshal(dAtA []byte) error {
321 321
 			}
322 322
 			b := dAtA[iNdEx]
323 323
 			iNdEx++
324
-			wire |= (uint64(b) & 0x7F) << shift
324
+			wire |= uint64(b&0x7F) << shift
325 325
 			if b < 0x80 {
326 326
 				break
327 327
 			}
... ...
@@ -344,6 +361,9 @@ func (m *Empty) Unmarshal(dAtA []byte) error {
344 344
 			if skippy < 0 {
345 345
 				return ErrInvalidLengthEmpty
346 346
 			}
347
+			if (iNdEx + skippy) < 0 {
348
+				return ErrInvalidLengthEmpty
349
+			}
347 350
 			if (iNdEx + skippy) > l {
348 351
 				return io.ErrUnexpectedEOF
349 352
 			}
... ...
@@ -411,10 +431,13 @@ func skipEmpty(dAtA []byte) (n int, err error) {
411 411
 					break
412 412
 				}
413 413
 			}
414
-			iNdEx += length
415 414
 			if length < 0 {
416 415
 				return 0, ErrInvalidLengthEmpty
417 416
 			}
417
+			iNdEx += length
418
+			if iNdEx < 0 {
419
+				return 0, ErrInvalidLengthEmpty
420
+			}
418 421
 			return iNdEx, nil
419 422
 		case 3:
420 423
 			for {
... ...
@@ -443,6 +466,9 @@ func skipEmpty(dAtA []byte) (n int, err error) {
443 443
 					return 0, err
444 444
 				}
445 445
 				iNdEx = start + next
446
+				if iNdEx < 0 {
447
+					return 0, ErrInvalidLengthEmpty
448
+				}
446 449
 			}
447 450
 			return iNdEx, nil
448 451
 		case 4:
... ...
@@ -461,20 +487,3 @@ var (
461 461
 	ErrInvalidLengthEmpty = fmt.Errorf("proto: negative length found during unmarshaling")
462 462
 	ErrIntOverflowEmpty   = fmt.Errorf("proto: integer overflow")
463 463
 )
464
-
465
-func init() { proto.RegisterFile("google/protobuf/empty.proto", fileDescriptor_empty_b366a5cbb7c614df) }
466
-
467
-var fileDescriptor_empty_b366a5cbb7c614df = []byte{
468
-	// 176 bytes of a gzipped FileDescriptorProto
469
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0xcf, 0xcf, 0x4f,
470
-	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcd, 0x2d, 0x28,
471
-	0xa9, 0xd4, 0x03, 0x73, 0x85, 0xf8, 0x21, 0x92, 0x7a, 0x30, 0x49, 0x25, 0x76, 0x2e, 0x56, 0x57,
472
-	0x90, 0xbc, 0x53, 0x0b, 0xe3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28,
473
-	0xc7, 0xd8, 0xf0, 0x48, 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c,
474
-	0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x20, 0xf1, 0xc7, 0x72,
475
-	0x8c, 0x27, 0x1e, 0xcb, 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x19, 0xe8, 0xc4, 0x05,
476
-	0x36, 0x2e, 0x00, 0xc4, 0x0d, 0x60, 0x8c, 0x62, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0xfe, 0xc1, 0xc8,
477
-	0xb8, 0x88, 0x89, 0xd9, 0x3d, 0xc0, 0x69, 0x15, 0x93, 0x9c, 0x3b, 0x44, 0x7d, 0x00, 0x54, 0xbd,
478
-	0x5e, 0x78, 0x6a, 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x65, 0x12, 0x1b, 0xd8,
479
-	0x20, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x21, 0xbe, 0xb6, 0x31, 0xc6, 0x00, 0x00, 0x00,
480
-}
... ...
@@ -3,16 +3,15 @@
3 3
 
4 4
 package types
5 5
 
6
-import proto "github.com/gogo/protobuf/proto"
7
-import fmt "fmt"
8
-import math "math"
9
-
10
-import bytes "bytes"
11
-
12
-import strings "strings"
13
-import reflect "reflect"
14
-
15
-import io "io"
6
+import (
7
+	bytes "bytes"
8
+	fmt "fmt"
9
+	proto "github.com/gogo/protobuf/proto"
10
+	io "io"
11
+	math "math"
12
+	reflect "reflect"
13
+	strings "strings"
14
+)
16 15
 
17 16
 // Reference imports to suppress errors if they are not otherwise used.
18 17
 var _ = proto.Marshal
... ...
@@ -93,57 +92,49 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
93 93
 // describe the updated values, the API ignores the values of all
94 94
 // fields not covered by the mask.
95 95
 //
96
-// If a repeated field is specified for an update operation, the existing
97
-// repeated values in the target resource will be overwritten by the new values.
98
-// Note that a repeated field is only allowed in the last position of a `paths`
99
-// string.
96
+// If a repeated field is specified for an update operation, new values will
97
+// be appended to the existing repeated field in the target resource. Note that
98
+// a repeated field is only allowed in the last position of a `paths` string.
100 99
 //
101 100
 // If a sub-message is specified in the last position of the field mask for an
102
-// update operation, then the existing sub-message in the target resource is
103
-// overwritten. Given the target message:
101
+// update operation, then new value will be merged into the existing sub-message
102
+// in the target resource.
103
+//
104
+// For example, given the target message:
104 105
 //
105 106
 //     f {
106 107
 //       b {
107
-//         d : 1
108
-//         x : 2
108
+//         d: 1
109
+//         x: 2
109 110
 //       }
110
-//       c : 1
111
+//       c: [1]
111 112
 //     }
112 113
 //
113 114
 // And an update message:
114 115
 //
115 116
 //     f {
116 117
 //       b {
117
-//         d : 10
118
+//         d: 10
118 119
 //       }
120
+//       c: [2]
119 121
 //     }
120 122
 //
121 123
 // then if the field mask is:
122 124
 //
123
-//  paths: "f.b"
125
+//  paths: ["f.b", "f.c"]
124 126
 //
125 127
 // then the result will be:
126 128
 //
127 129
 //     f {
128 130
 //       b {
129
-//         d : 10
131
+//         d: 10
132
+//         x: 2
130 133
 //       }
131
-//       c : 1
134
+//       c: [1, 2]
132 135
 //     }
133 136
 //
134
-// However, if the update mask was:
135
-//
136
-//  paths: "f.b.d"
137
-//
138
-// then the result would be:
139
-//
140
-//     f {
141
-//       b {
142
-//         d : 10
143
-//         x : 2
144
-//       }
145
-//       c : 1
146
-//     }
137
+// An implementation may provide options to override this default behavior for
138
+// repeated and message fields.
147 139
 //
148 140
 // In order to reset a field's value to the default, the field must
149 141
 // be in the mask and set to the default value in the provided resource.
... ...
@@ -229,8 +220,8 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
229 229
 //
230 230
 // ## Field Mask Verification
231 231
 //
232
-// The implementation of the all the API methods, which have any FieldMask type
233
-// field in the request, should verify the included field paths, and return
232
+// The implementation of any API method which has a FieldMask type field in the
233
+// request should verify the included field paths, and return an
234 234
 // `INVALID_ARGUMENT` error if any path is duplicated or unmappable.
235 235
 type FieldMask struct {
236 236
 	// The set of field mask paths.
... ...
@@ -243,7 +234,7 @@ type FieldMask struct {
243 243
 func (m *FieldMask) Reset()      { *m = FieldMask{} }
244 244
 func (*FieldMask) ProtoMessage() {}
245 245
 func (*FieldMask) Descriptor() ([]byte, []int) {
246
-	return fileDescriptor_field_mask_f1676d06eb3d88ba, []int{0}
246
+	return fileDescriptor_5158202634f0da48, []int{0}
247 247
 }
248 248
 func (m *FieldMask) XXX_Unmarshal(b []byte) error {
249 249
 	return m.Unmarshal(b)
... ...
@@ -260,8 +251,8 @@ func (m *FieldMask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
260 260
 		return b[:n], nil
261 261
 	}
262 262
 }
263
-func (dst *FieldMask) XXX_Merge(src proto.Message) {
264
-	xxx_messageInfo_FieldMask.Merge(dst, src)
263
+func (m *FieldMask) XXX_Merge(src proto.Message) {
264
+	xxx_messageInfo_FieldMask.Merge(m, src)
265 265
 }
266 266
 func (m *FieldMask) XXX_Size() int {
267 267
 	return m.Size()
... ...
@@ -285,6 +276,26 @@ func (*FieldMask) XXX_MessageName() string {
285 285
 func init() {
286 286
 	proto.RegisterType((*FieldMask)(nil), "google.protobuf.FieldMask")
287 287
 }
288
+
289
+func init() { proto.RegisterFile("google/protobuf/field_mask.proto", fileDescriptor_5158202634f0da48) }
290
+
291
+var fileDescriptor_5158202634f0da48 = []byte{
292
+	// 203 bytes of a gzipped FileDescriptorProto
293
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x48, 0xcf, 0xcf, 0x4f,
294
+	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcb, 0x4c, 0xcd,
295
+	0x49, 0x89, 0xcf, 0x4d, 0x2c, 0xce, 0xd6, 0x03, 0x8b, 0x09, 0xf1, 0x43, 0x54, 0xe8, 0xc1, 0x54,
296
+	0x28, 0x29, 0x72, 0x71, 0xba, 0x81, 0x14, 0xf9, 0x26, 0x16, 0x67, 0x0b, 0x89, 0x70, 0xb1, 0x16,
297
+	0x24, 0x96, 0x64, 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x06, 0x41, 0x38, 0x4e, 0x1d, 0x8c,
298
+	0x37, 0x1e, 0xca, 0x31, 0x7c, 0x78, 0x28, 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39,
299
+	0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23,
300
+	0x39, 0xc6, 0x17, 0x8f, 0xe4, 0x18, 0x3e, 0x80, 0xc4, 0x1f, 0xcb, 0x31, 0x9e, 0x78, 0x2c, 0xc7,
301
+	0xc8, 0x25, 0x9c, 0x9c, 0x9f, 0xab, 0x87, 0x66, 0x95, 0x13, 0x1f, 0xdc, 0xa2, 0x00, 0x90, 0x50,
302
+	0x00, 0x63, 0x14, 0x6b, 0x49, 0x65, 0x41, 0x6a, 0xf1, 0x0f, 0x46, 0xc6, 0x45, 0x4c, 0xcc, 0xee,
303
+	0x01, 0x4e, 0xab, 0x98, 0xe4, 0xdc, 0x21, 0x7a, 0x02, 0xa0, 0x7a, 0xf4, 0xc2, 0x53, 0x73, 0x72,
304
+	0xbc, 0xf3, 0xf2, 0xcb, 0xf3, 0x42, 0x40, 0x2a, 0x93, 0xd8, 0xc0, 0x86, 0x19, 0x03, 0x02, 0x00,
305
+	0x00, 0xff, 0xff, 0x43, 0xa0, 0x83, 0xd0, 0xe9, 0x00, 0x00, 0x00,
306
+}
307
+
288 308
 func (this *FieldMask) Compare(that interface{}) int {
289 309
 	if that == nil {
290 310
 		if this == nil {
... ...
@@ -577,7 +588,7 @@ func (m *FieldMask) Unmarshal(dAtA []byte) error {
577 577
 			}
578 578
 			b := dAtA[iNdEx]
579 579
 			iNdEx++
580
-			wire |= (uint64(b) & 0x7F) << shift
580
+			wire |= uint64(b&0x7F) << shift
581 581
 			if b < 0x80 {
582 582
 				break
583 583
 			}
... ...
@@ -605,7 +616,7 @@ func (m *FieldMask) Unmarshal(dAtA []byte) error {
605 605
 				}
606 606
 				b := dAtA[iNdEx]
607 607
 				iNdEx++
608
-				stringLen |= (uint64(b) & 0x7F) << shift
608
+				stringLen |= uint64(b&0x7F) << shift
609 609
 				if b < 0x80 {
610 610
 					break
611 611
 				}
... ...
@@ -615,6 +626,9 @@ func (m *FieldMask) Unmarshal(dAtA []byte) error {
615 615
 				return ErrInvalidLengthFieldMask
616 616
 			}
617 617
 			postIndex := iNdEx + intStringLen
618
+			if postIndex < 0 {
619
+				return ErrInvalidLengthFieldMask
620
+			}
618 621
 			if postIndex > l {
619 622
 				return io.ErrUnexpectedEOF
620 623
 			}
... ...
@@ -629,6 +643,9 @@ func (m *FieldMask) Unmarshal(dAtA []byte) error {
629 629
 			if skippy < 0 {
630 630
 				return ErrInvalidLengthFieldMask
631 631
 			}
632
+			if (iNdEx + skippy) < 0 {
633
+				return ErrInvalidLengthFieldMask
634
+			}
632 635
 			if (iNdEx + skippy) > l {
633 636
 				return io.ErrUnexpectedEOF
634 637
 			}
... ...
@@ -696,10 +713,13 @@ func skipFieldMask(dAtA []byte) (n int, err error) {
696 696
 					break
697 697
 				}
698 698
 			}
699
-			iNdEx += length
700 699
 			if length < 0 {
701 700
 				return 0, ErrInvalidLengthFieldMask
702 701
 			}
702
+			iNdEx += length
703
+			if iNdEx < 0 {
704
+				return 0, ErrInvalidLengthFieldMask
705
+			}
703 706
 			return iNdEx, nil
704 707
 		case 3:
705 708
 			for {
... ...
@@ -728,6 +748,9 @@ func skipFieldMask(dAtA []byte) (n int, err error) {
728 728
 					return 0, err
729 729
 				}
730 730
 				iNdEx = start + next
731
+				if iNdEx < 0 {
732
+					return 0, ErrInvalidLengthFieldMask
733
+				}
731 734
 			}
732 735
 			return iNdEx, nil
733 736
 		case 4:
... ...
@@ -746,24 +769,3 @@ var (
746 746
 	ErrInvalidLengthFieldMask = fmt.Errorf("proto: negative length found during unmarshaling")
747 747
 	ErrIntOverflowFieldMask   = fmt.Errorf("proto: integer overflow")
748 748
 )
749
-
750
-func init() {
751
-	proto.RegisterFile("google/protobuf/field_mask.proto", fileDescriptor_field_mask_f1676d06eb3d88ba)
752
-}
753
-
754
-var fileDescriptor_field_mask_f1676d06eb3d88ba = []byte{
755
-	// 200 bytes of a gzipped FileDescriptorProto
756
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x48, 0xcf, 0xcf, 0x4f,
757
-	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcb, 0x4c, 0xcd,
758
-	0x49, 0x89, 0xcf, 0x4d, 0x2c, 0xce, 0xd6, 0x03, 0x8b, 0x09, 0xf1, 0x43, 0x54, 0xe8, 0xc1, 0x54,
759
-	0x28, 0x29, 0x72, 0x71, 0xba, 0x81, 0x14, 0xf9, 0x26, 0x16, 0x67, 0x0b, 0x89, 0x70, 0xb1, 0x16,
760
-	0x24, 0x96, 0x64, 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x06, 0x41, 0x38, 0x4e, 0xad, 0x8c,
761
-	0x37, 0x1e, 0xca, 0x31, 0x7c, 0x78, 0x28, 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39,
762
-	0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23,
763
-	0x39, 0xc6, 0x17, 0x8f, 0xe4, 0x18, 0x3e, 0x80, 0xc4, 0x1f, 0xcb, 0x31, 0x9e, 0x78, 0x2c, 0xc7,
764
-	0xc8, 0x25, 0x9c, 0x9c, 0x9f, 0xab, 0x87, 0x66, 0x95, 0x13, 0x1f, 0xdc, 0xa2, 0x00, 0x90, 0x50,
765
-	0x00, 0x63, 0x14, 0x6b, 0x49, 0x65, 0x41, 0x6a, 0xf1, 0x22, 0x26, 0x66, 0xf7, 0x00, 0xa7, 0x55,
766
-	0x4c, 0x72, 0xee, 0x10, 0x0d, 0x01, 0x50, 0x0d, 0x7a, 0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9,
767
-	0xe5, 0x79, 0x21, 0x20, 0x65, 0x49, 0x6c, 0x60, 0x93, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff,
768
-	0xcf, 0xae, 0x5b, 0xec, 0xe6, 0x00, 0x00, 0x00,
769
-}
... ...
@@ -3,16 +3,15 @@
3 3
 
4 4
 package types
5 5
 
6
-import proto "github.com/gogo/protobuf/proto"
7
-import fmt "fmt"
8
-import math "math"
9
-
10
-import bytes "bytes"
11
-
12
-import strings "strings"
13
-import reflect "reflect"
14
-
15
-import io "io"
6
+import (
7
+	bytes "bytes"
8
+	fmt "fmt"
9
+	proto "github.com/gogo/protobuf/proto"
10
+	io "io"
11
+	math "math"
12
+	reflect "reflect"
13
+	strings "strings"
14
+)
16 15
 
17 16
 // Reference imports to suppress errors if they are not otherwise used.
18 17
 var _ = proto.Marshal
... ...
@@ -39,7 +38,7 @@ type SourceContext struct {
39 39
 func (m *SourceContext) Reset()      { *m = SourceContext{} }
40 40
 func (*SourceContext) ProtoMessage() {}
41 41
 func (*SourceContext) Descriptor() ([]byte, []int) {
42
-	return fileDescriptor_source_context_b387e69fb08d10e5, []int{0}
42
+	return fileDescriptor_b686cdb126d509db, []int{0}
43 43
 }
44 44
 func (m *SourceContext) XXX_Unmarshal(b []byte) error {
45 45
 	return m.Unmarshal(b)
... ...
@@ -56,8 +55,8 @@ func (m *SourceContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error
56 56
 		return b[:n], nil
57 57
 	}
58 58
 }
59
-func (dst *SourceContext) XXX_Merge(src proto.Message) {
60
-	xxx_messageInfo_SourceContext.Merge(dst, src)
59
+func (m *SourceContext) XXX_Merge(src proto.Message) {
60
+	xxx_messageInfo_SourceContext.Merge(m, src)
61 61
 }
62 62
 func (m *SourceContext) XXX_Size() int {
63 63
 	return m.Size()
... ...
@@ -81,6 +80,29 @@ func (*SourceContext) XXX_MessageName() string {
81 81
 func init() {
82 82
 	proto.RegisterType((*SourceContext)(nil), "google.protobuf.SourceContext")
83 83
 }
84
+
85
+func init() {
86
+	proto.RegisterFile("google/protobuf/source_context.proto", fileDescriptor_b686cdb126d509db)
87
+}
88
+
89
+var fileDescriptor_b686cdb126d509db = []byte{
90
+	// 212 bytes of a gzipped FileDescriptorProto
91
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x49, 0xcf, 0xcf, 0x4f,
92
+	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xce, 0x2f, 0x2d,
93
+	0x4a, 0x4e, 0x8d, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xad, 0x28, 0xd1, 0x03, 0x8b, 0x0b, 0xf1, 0x43,
94
+	0x54, 0xe9, 0xc1, 0x54, 0x29, 0xe9, 0x70, 0xf1, 0x06, 0x83, 0x15, 0x3a, 0x43, 0xd4, 0x09, 0x49,
95
+	0x73, 0x71, 0xa6, 0x65, 0xe6, 0xa4, 0xc6, 0xe7, 0x25, 0xe6, 0xa6, 0x4a, 0x30, 0x2a, 0x30, 0x6a,
96
+	0x70, 0x06, 0x71, 0x80, 0x04, 0xfc, 0x12, 0x73, 0x53, 0x9d, 0x3a, 0x19, 0x6f, 0x3c, 0x94, 0x63,
97
+	0xf8, 0xf0, 0x50, 0x8e, 0xf1, 0xc7, 0x43, 0x39, 0xc6, 0x86, 0x47, 0x72, 0x8c, 0x2b, 0x1e, 0xc9,
98
+	0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x2f, 0x1e,
99
+	0xc9, 0x31, 0x7c, 0x00, 0x89, 0x3f, 0x96, 0x63, 0x3c, 0xf1, 0x58, 0x8e, 0x91, 0x4b, 0x38, 0x39,
100
+	0x3f, 0x57, 0x0f, 0xcd, 0x56, 0x27, 0x21, 0x14, 0x3b, 0x03, 0x40, 0xc2, 0x01, 0x8c, 0x51, 0xac,
101
+	0x25, 0x95, 0x05, 0xa9, 0xc5, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43,
102
+	0x34, 0x05, 0x40, 0x35, 0xe9, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x80,
103
+	0x94, 0x25, 0xb1, 0x81, 0x4d, 0x33, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x37, 0x2a, 0xa1,
104
+	0xf9, 0x00, 0x00, 0x00,
105
+}
106
+
84 107
 func (this *SourceContext) Compare(that interface{}) int {
85 108
 	if that == nil {
86 109
 		if this == nil {
... ...
@@ -345,7 +367,7 @@ func (m *SourceContext) Unmarshal(dAtA []byte) error {
345 345
 			}
346 346
 			b := dAtA[iNdEx]
347 347
 			iNdEx++
348
-			wire |= (uint64(b) & 0x7F) << shift
348
+			wire |= uint64(b&0x7F) << shift
349 349
 			if b < 0x80 {
350 350
 				break
351 351
 			}
... ...
@@ -373,7 +395,7 @@ func (m *SourceContext) Unmarshal(dAtA []byte) error {
373 373
 				}
374 374
 				b := dAtA[iNdEx]
375 375
 				iNdEx++
376
-				stringLen |= (uint64(b) & 0x7F) << shift
376
+				stringLen |= uint64(b&0x7F) << shift
377 377
 				if b < 0x80 {
378 378
 					break
379 379
 				}
... ...
@@ -383,6 +405,9 @@ func (m *SourceContext) Unmarshal(dAtA []byte) error {
383 383
 				return ErrInvalidLengthSourceContext
384 384
 			}
385 385
 			postIndex := iNdEx + intStringLen
386
+			if postIndex < 0 {
387
+				return ErrInvalidLengthSourceContext
388
+			}
386 389
 			if postIndex > l {
387 390
 				return io.ErrUnexpectedEOF
388 391
 			}
... ...
@@ -397,6 +422,9 @@ func (m *SourceContext) Unmarshal(dAtA []byte) error {
397 397
 			if skippy < 0 {
398 398
 				return ErrInvalidLengthSourceContext
399 399
 			}
400
+			if (iNdEx + skippy) < 0 {
401
+				return ErrInvalidLengthSourceContext
402
+			}
400 403
 			if (iNdEx + skippy) > l {
401 404
 				return io.ErrUnexpectedEOF
402 405
 			}
... ...
@@ -464,10 +492,13 @@ func skipSourceContext(dAtA []byte) (n int, err error) {
464 464
 					break
465 465
 				}
466 466
 			}
467
-			iNdEx += length
468 467
 			if length < 0 {
469 468
 				return 0, ErrInvalidLengthSourceContext
470 469
 			}
470
+			iNdEx += length
471
+			if iNdEx < 0 {
472
+				return 0, ErrInvalidLengthSourceContext
473
+			}
471 474
 			return iNdEx, nil
472 475
 		case 3:
473 476
 			for {
... ...
@@ -496,6 +527,9 @@ func skipSourceContext(dAtA []byte) (n int, err error) {
496 496
 					return 0, err
497 497
 				}
498 498
 				iNdEx = start + next
499
+				if iNdEx < 0 {
500
+					return 0, ErrInvalidLengthSourceContext
501
+				}
499 502
 			}
500 503
 			return iNdEx, nil
501 504
 		case 4:
... ...
@@ -514,25 +548,3 @@ var (
514 514
 	ErrInvalidLengthSourceContext = fmt.Errorf("proto: negative length found during unmarshaling")
515 515
 	ErrIntOverflowSourceContext   = fmt.Errorf("proto: integer overflow")
516 516
 )
517
-
518
-func init() {
519
-	proto.RegisterFile("google/protobuf/source_context.proto", fileDescriptor_source_context_b387e69fb08d10e5)
520
-}
521
-
522
-var fileDescriptor_source_context_b387e69fb08d10e5 = []byte{
523
-	// 212 bytes of a gzipped FileDescriptorProto
524
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x49, 0xcf, 0xcf, 0x4f,
525
-	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xce, 0x2f, 0x2d,
526
-	0x4a, 0x4e, 0x8d, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xad, 0x28, 0xd1, 0x03, 0x8b, 0x0b, 0xf1, 0x43,
527
-	0x54, 0xe9, 0xc1, 0x54, 0x29, 0xe9, 0x70, 0xf1, 0x06, 0x83, 0x15, 0x3a, 0x43, 0xd4, 0x09, 0x49,
528
-	0x73, 0x71, 0xa6, 0x65, 0xe6, 0xa4, 0xc6, 0xe7, 0x25, 0xe6, 0xa6, 0x4a, 0x30, 0x2a, 0x30, 0x6a,
529
-	0x70, 0x06, 0x71, 0x80, 0x04, 0xfc, 0x12, 0x73, 0x53, 0x9d, 0x3a, 0x19, 0x6f, 0x3c, 0x94, 0x63,
530
-	0xf8, 0xf0, 0x50, 0x8e, 0xf1, 0xc7, 0x43, 0x39, 0xc6, 0x86, 0x47, 0x72, 0x8c, 0x2b, 0x1e, 0xc9,
531
-	0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x2f, 0x1e,
532
-	0xc9, 0x31, 0x7c, 0x00, 0x89, 0x3f, 0x96, 0x63, 0x3c, 0xf1, 0x58, 0x8e, 0x91, 0x4b, 0x38, 0x39,
533
-	0x3f, 0x57, 0x0f, 0xcd, 0x56, 0x27, 0x21, 0x14, 0x3b, 0x03, 0x40, 0xc2, 0x01, 0x8c, 0x51, 0xac,
534
-	0x25, 0x95, 0x05, 0xa9, 0xc5, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43,
535
-	0x34, 0x05, 0x40, 0x35, 0xe9, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x80,
536
-	0x94, 0x25, 0xb1, 0x81, 0x4d, 0x33, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x37, 0x2a, 0xa1,
537
-	0xf9, 0x00, 0x00, 0x00,
538
-}
... ...
@@ -3,21 +3,18 @@
3 3
 
4 4
 package types
5 5
 
6
-import proto "github.com/gogo/protobuf/proto"
7
-import fmt "fmt"
8
-import math "math"
9
-
10
-import strconv "strconv"
11
-
12
-import bytes "bytes"
13
-
14
-import strings "strings"
15
-import reflect "reflect"
16
-import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
17
-
18
-import encoding_binary "encoding/binary"
19
-
20
-import io "io"
6
+import (
7
+	bytes "bytes"
8
+	encoding_binary "encoding/binary"
9
+	fmt "fmt"
10
+	proto "github.com/gogo/protobuf/proto"
11
+	github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
12
+	io "io"
13
+	math "math"
14
+	reflect "reflect"
15
+	strconv "strconv"
16
+	strings "strings"
17
+)
21 18
 
22 19
 // Reference imports to suppress errors if they are not otherwise used.
23 20
 var _ = proto.Marshal
... ...
@@ -44,13 +41,15 @@ const (
44 44
 var NullValue_name = map[int32]string{
45 45
 	0: "NULL_VALUE",
46 46
 }
47
+
47 48
 var NullValue_value = map[string]int32{
48 49
 	"NULL_VALUE": 0,
49 50
 }
50 51
 
51 52
 func (NullValue) EnumDescriptor() ([]byte, []int) {
52
-	return fileDescriptor_struct_7f9d36853146434f, []int{0}
53
+	return fileDescriptor_df322afd6c9fb402, []int{0}
53 54
 }
55
+
54 56
 func (NullValue) XXX_WellKnownType() string { return "NullValue" }
55 57
 
56 58
 // `Struct` represents a structured data value, consisting of fields
... ...
@@ -72,7 +71,7 @@ type Struct struct {
72 72
 func (m *Struct) Reset()      { *m = Struct{} }
73 73
 func (*Struct) ProtoMessage() {}
74 74
 func (*Struct) Descriptor() ([]byte, []int) {
75
-	return fileDescriptor_struct_7f9d36853146434f, []int{0}
75
+	return fileDescriptor_df322afd6c9fb402, []int{0}
76 76
 }
77 77
 func (*Struct) XXX_WellKnownType() string { return "Struct" }
78 78
 func (m *Struct) XXX_Unmarshal(b []byte) error {
... ...
@@ -90,8 +89,8 @@ func (m *Struct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
90 90
 		return b[:n], nil
91 91
 	}
92 92
 }
93
-func (dst *Struct) XXX_Merge(src proto.Message) {
94
-	xxx_messageInfo_Struct.Merge(dst, src)
93
+func (m *Struct) XXX_Merge(src proto.Message) {
94
+	xxx_messageInfo_Struct.Merge(m, src)
95 95
 }
96 96
 func (m *Struct) XXX_Size() int {
97 97
 	return m.Size()
... ...
@@ -138,7 +137,7 @@ type Value struct {
138 138
 func (m *Value) Reset()      { *m = Value{} }
139 139
 func (*Value) ProtoMessage() {}
140 140
 func (*Value) Descriptor() ([]byte, []int) {
141
-	return fileDescriptor_struct_7f9d36853146434f, []int{1}
141
+	return fileDescriptor_df322afd6c9fb402, []int{1}
142 142
 }
143 143
 func (*Value) XXX_WellKnownType() string { return "Value" }
144 144
 func (m *Value) XXX_Unmarshal(b []byte) error {
... ...
@@ -156,8 +155,8 @@ func (m *Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
156 156
 		return b[:n], nil
157 157
 	}
158 158
 }
159
-func (dst *Value) XXX_Merge(src proto.Message) {
160
-	xxx_messageInfo_Value.Merge(dst, src)
159
+func (m *Value) XXX_Merge(src proto.Message) {
160
+	xxx_messageInfo_Value.Merge(m, src)
161 161
 }
162 162
 func (m *Value) XXX_Size() int {
163 163
 	return m.Size()
... ...
@@ -403,7 +402,7 @@ type ListValue struct {
403 403
 func (m *ListValue) Reset()      { *m = ListValue{} }
404 404
 func (*ListValue) ProtoMessage() {}
405 405
 func (*ListValue) Descriptor() ([]byte, []int) {
406
-	return fileDescriptor_struct_7f9d36853146434f, []int{2}
406
+	return fileDescriptor_df322afd6c9fb402, []int{2}
407 407
 }
408 408
 func (*ListValue) XXX_WellKnownType() string { return "ListValue" }
409 409
 func (m *ListValue) XXX_Unmarshal(b []byte) error {
... ...
@@ -421,8 +420,8 @@ func (m *ListValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
421 421
 		return b[:n], nil
422 422
 	}
423 423
 }
424
-func (dst *ListValue) XXX_Merge(src proto.Message) {
425
-	xxx_messageInfo_ListValue.Merge(dst, src)
424
+func (m *ListValue) XXX_Merge(src proto.Message) {
425
+	xxx_messageInfo_ListValue.Merge(m, src)
426 426
 }
427 427
 func (m *ListValue) XXX_Size() int {
428 428
 	return m.Size()
... ...
@@ -444,12 +443,47 @@ func (*ListValue) XXX_MessageName() string {
444 444
 	return "google.protobuf.ListValue"
445 445
 }
446 446
 func init() {
447
+	proto.RegisterEnum("google.protobuf.NullValue", NullValue_name, NullValue_value)
447 448
 	proto.RegisterType((*Struct)(nil), "google.protobuf.Struct")
448 449
 	proto.RegisterMapType((map[string]*Value)(nil), "google.protobuf.Struct.FieldsEntry")
449 450
 	proto.RegisterType((*Value)(nil), "google.protobuf.Value")
450 451
 	proto.RegisterType((*ListValue)(nil), "google.protobuf.ListValue")
451
-	proto.RegisterEnum("google.protobuf.NullValue", NullValue_name, NullValue_value)
452 452
 }
453
+
454
+func init() { proto.RegisterFile("google/protobuf/struct.proto", fileDescriptor_df322afd6c9fb402) }
455
+
456
+var fileDescriptor_df322afd6c9fb402 = []byte{
457
+	// 439 bytes of a gzipped FileDescriptorProto
458
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xc1, 0x6b, 0xd4, 0x40,
459
+	0x14, 0xc6, 0xf3, 0xb2, 0xdd, 0xe0, 0xbe, 0x48, 0x2d, 0x23, 0xe8, 0x52, 0x65, 0x5c, 0xb6, 0x97,
460
+	0x45, 0x24, 0x85, 0xf5, 0x22, 0xae, 0x17, 0x17, 0x6a, 0x0b, 0x86, 0x12, 0xa3, 0xad, 0xe0, 0x65,
461
+	0x31, 0x69, 0xba, 0x84, 0x4e, 0x67, 0x4a, 0x32, 0xa3, 0xec, 0x4d, 0xff, 0x0b, 0xcf, 0x9e, 0xc4,
462
+	0xa3, 0x7f, 0x85, 0x47, 0x8f, 0x1e, 0xdd, 0x78, 0xf1, 0xd8, 0x63, 0x8f, 0x32, 0x33, 0x49, 0x94,
463
+	0x2e, 0xbd, 0xe5, 0x7d, 0xf3, 0x7b, 0xdf, 0x7b, 0xdf, 0x0b, 0xde, 0x9d, 0x0b, 0x31, 0x67, 0xd9,
464
+	0xf6, 0x59, 0x21, 0xa4, 0x48, 0xd4, 0xf1, 0x76, 0x29, 0x0b, 0x95, 0xca, 0xc0, 0xd4, 0xe4, 0x86,
465
+	0x7d, 0x0d, 0x9a, 0xd7, 0xe1, 0x27, 0x40, 0xef, 0xa5, 0x21, 0xc8, 0x04, 0xbd, 0xe3, 0x3c, 0x63,
466
+	0x47, 0x65, 0x1f, 0x06, 0x9d, 0x91, 0x3f, 0xde, 0x0a, 0x2e, 0xc1, 0x81, 0x05, 0x83, 0x67, 0x86,
467
+	0xda, 0xe1, 0xb2, 0x58, 0xc4, 0x75, 0xcb, 0xe6, 0x0b, 0xf4, 0xff, 0x93, 0xc9, 0x06, 0x76, 0x4e,
468
+	0xb2, 0x45, 0x1f, 0x06, 0x30, 0xea, 0xc5, 0xfa, 0x93, 0x3c, 0xc0, 0xee, 0xbb, 0xb7, 0x4c, 0x65,
469
+	0x7d, 0x77, 0x00, 0x23, 0x7f, 0x7c, 0x6b, 0xc5, 0xfc, 0x50, 0xbf, 0xc6, 0x16, 0x7a, 0xec, 0x3e,
470
+	0x82, 0xe1, 0x37, 0x17, 0xbb, 0x46, 0x24, 0x13, 0x44, 0xae, 0x18, 0x9b, 0x59, 0x03, 0x6d, 0xba,
471
+	0x3e, 0xde, 0x5c, 0x31, 0xd8, 0x57, 0x8c, 0x19, 0x7e, 0xcf, 0x89, 0x7b, 0xbc, 0x29, 0xc8, 0x16,
472
+	0x5e, 0xe7, 0xea, 0x34, 0xc9, 0x8a, 0xd9, 0xbf, 0xf9, 0xb0, 0xe7, 0xc4, 0xbe, 0x55, 0x5b, 0xa8,
473
+	0x94, 0x45, 0xce, 0xe7, 0x35, 0xd4, 0xd1, 0x8b, 0x6b, 0xc8, 0xaa, 0x16, 0xba, 0x87, 0x98, 0x08,
474
+	0xd1, 0xac, 0xb1, 0x36, 0x80, 0xd1, 0x35, 0x3d, 0x4a, 0x6b, 0x16, 0x78, 0x62, 0x5c, 0x54, 0x2a,
475
+	0x6b, 0xa4, 0x6b, 0xa2, 0xde, 0xbe, 0xe2, 0x8e, 0xb5, 0xbd, 0x4a, 0x65, 0x9b, 0x92, 0xe5, 0x65,
476
+	0xd3, 0xeb, 0x99, 0xde, 0xd5, 0x94, 0x61, 0x5e, 0xca, 0x36, 0x25, 0x6b, 0x8a, 0xa9, 0x87, 0x6b,
477
+	0x27, 0x39, 0x3f, 0x1a, 0x4e, 0xb0, 0xd7, 0x12, 0x24, 0x40, 0xcf, 0x98, 0x35, 0x7f, 0xf4, 0xaa,
478
+	0xa3, 0xd7, 0xd4, 0xfd, 0x3b, 0xd8, 0x6b, 0x8f, 0x48, 0xd6, 0x11, 0xf7, 0x0f, 0xc2, 0x70, 0x76,
479
+	0xf8, 0x34, 0x3c, 0xd8, 0xd9, 0x70, 0xa6, 0x1f, 0xe1, 0xe7, 0x92, 0x3a, 0xe7, 0x4b, 0x0a, 0x17,
480
+	0x4b, 0x0a, 0x1f, 0x2a, 0x0a, 0x5f, 0x2a, 0x0a, 0xdf, 0x2b, 0x0a, 0x3f, 0x2a, 0x0a, 0xbf, 0x2a,
481
+	0x0a, 0x7f, 0x2a, 0xea, 0x9c, 0x6b, 0xed, 0x37, 0x05, 0xbc, 0x99, 0x8a, 0xd3, 0xcb, 0xe3, 0xa6,
482
+	0xbe, 0x4d, 0x1e, 0xe9, 0x3a, 0x82, 0x37, 0x5d, 0xb9, 0x38, 0xcb, 0xca, 0x0b, 0x80, 0xcf, 0x6e,
483
+	0x67, 0x37, 0x9a, 0x7e, 0x75, 0xe9, 0xae, 0x6d, 0x88, 0x9a, 0xfd, 0x5e, 0x67, 0x8c, 0x3d, 0xe7,
484
+	0xe2, 0x3d, 0x7f, 0xa5, 0xc9, 0xc4, 0x33, 0x4e, 0x0f, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xad,
485
+	0x84, 0x08, 0xae, 0xe5, 0x02, 0x00, 0x00,
486
+}
487
+
453 488
 func (x NullValue) String() string {
454 489
 	s, ok := NullValue_name[int32(x)]
455 490
 	if ok {
... ...
@@ -1407,7 +1441,7 @@ func (m *Struct) Unmarshal(dAtA []byte) error {
1407 1407
 			}
1408 1408
 			b := dAtA[iNdEx]
1409 1409
 			iNdEx++
1410
-			wire |= (uint64(b) & 0x7F) << shift
1410
+			wire |= uint64(b&0x7F) << shift
1411 1411
 			if b < 0x80 {
1412 1412
 				break
1413 1413
 			}
... ...
@@ -1435,7 +1469,7 @@ func (m *Struct) Unmarshal(dAtA []byte) error {
1435 1435
 				}
1436 1436
 				b := dAtA[iNdEx]
1437 1437
 				iNdEx++
1438
-				msglen |= (int(b) & 0x7F) << shift
1438
+				msglen |= int(b&0x7F) << shift
1439 1439
 				if b < 0x80 {
1440 1440
 					break
1441 1441
 				}
... ...
@@ -1444,6 +1478,9 @@ func (m *Struct) Unmarshal(dAtA []byte) error {
1444 1444
 				return ErrInvalidLengthStruct
1445 1445
 			}
1446 1446
 			postIndex := iNdEx + msglen
1447
+			if postIndex < 0 {
1448
+				return ErrInvalidLengthStruct
1449
+			}
1447 1450
 			if postIndex > l {
1448 1451
 				return io.ErrUnexpectedEOF
1449 1452
 			}
... ...
@@ -1464,7 +1501,7 @@ func (m *Struct) Unmarshal(dAtA []byte) error {
1464 1464
 					}
1465 1465
 					b := dAtA[iNdEx]
1466 1466
 					iNdEx++
1467
-					wire |= (uint64(b) & 0x7F) << shift
1467
+					wire |= uint64(b&0x7F) << shift
1468 1468
 					if b < 0x80 {
1469 1469
 						break
1470 1470
 					}
... ...
@@ -1481,7 +1518,7 @@ func (m *Struct) Unmarshal(dAtA []byte) error {
1481 1481
 						}
1482 1482
 						b := dAtA[iNdEx]
1483 1483
 						iNdEx++
1484
-						stringLenmapkey |= (uint64(b) & 0x7F) << shift
1484
+						stringLenmapkey |= uint64(b&0x7F) << shift
1485 1485
 						if b < 0x80 {
1486 1486
 							break
1487 1487
 						}
... ...
@@ -1491,6 +1528,9 @@ func (m *Struct) Unmarshal(dAtA []byte) error {
1491 1491
 						return ErrInvalidLengthStruct
1492 1492
 					}
1493 1493
 					postStringIndexmapkey := iNdEx + intStringLenmapkey
1494
+					if postStringIndexmapkey < 0 {
1495
+						return ErrInvalidLengthStruct
1496
+					}
1494 1497
 					if postStringIndexmapkey > l {
1495 1498
 						return io.ErrUnexpectedEOF
1496 1499
 					}
... ...
@@ -1507,7 +1547,7 @@ func (m *Struct) Unmarshal(dAtA []byte) error {
1507 1507
 						}
1508 1508
 						b := dAtA[iNdEx]
1509 1509
 						iNdEx++
1510
-						mapmsglen |= (int(b) & 0x7F) << shift
1510
+						mapmsglen |= int(b&0x7F) << shift
1511 1511
 						if b < 0x80 {
1512 1512
 							break
1513 1513
 						}
... ...
@@ -1516,7 +1556,7 @@ func (m *Struct) Unmarshal(dAtA []byte) error {
1516 1516
 						return ErrInvalidLengthStruct
1517 1517
 					}
1518 1518
 					postmsgIndex := iNdEx + mapmsglen
1519
-					if mapmsglen < 0 {
1519
+					if postmsgIndex < 0 {
1520 1520
 						return ErrInvalidLengthStruct
1521 1521
 					}
1522 1522
 					if postmsgIndex > l {
... ...
@@ -1553,6 +1593,9 @@ func (m *Struct) Unmarshal(dAtA []byte) error {
1553 1553
 			if skippy < 0 {
1554 1554
 				return ErrInvalidLengthStruct
1555 1555
 			}
1556
+			if (iNdEx + skippy) < 0 {
1557
+				return ErrInvalidLengthStruct
1558
+			}
1556 1559
 			if (iNdEx + skippy) > l {
1557 1560
 				return io.ErrUnexpectedEOF
1558 1561
 			}
... ...
@@ -1581,7 +1624,7 @@ func (m *Value) Unmarshal(dAtA []byte) error {
1581 1581
 			}
1582 1582
 			b := dAtA[iNdEx]
1583 1583
 			iNdEx++
1584
-			wire |= (uint64(b) & 0x7F) << shift
1584
+			wire |= uint64(b&0x7F) << shift
1585 1585
 			if b < 0x80 {
1586 1586
 				break
1587 1587
 			}
... ...
@@ -1609,7 +1652,7 @@ func (m *Value) Unmarshal(dAtA []byte) error {
1609 1609
 				}
1610 1610
 				b := dAtA[iNdEx]
1611 1611
 				iNdEx++
1612
-				v |= (NullValue(b) & 0x7F) << shift
1612
+				v |= NullValue(b&0x7F) << shift
1613 1613
 				if b < 0x80 {
1614 1614
 					break
1615 1615
 				}
... ...
@@ -1640,7 +1683,7 @@ func (m *Value) Unmarshal(dAtA []byte) error {
1640 1640
 				}
1641 1641
 				b := dAtA[iNdEx]
1642 1642
 				iNdEx++
1643
-				stringLen |= (uint64(b) & 0x7F) << shift
1643
+				stringLen |= uint64(b&0x7F) << shift
1644 1644
 				if b < 0x80 {
1645 1645
 					break
1646 1646
 				}
... ...
@@ -1650,6 +1693,9 @@ func (m *Value) Unmarshal(dAtA []byte) error {
1650 1650
 				return ErrInvalidLengthStruct
1651 1651
 			}
1652 1652
 			postIndex := iNdEx + intStringLen
1653
+			if postIndex < 0 {
1654
+				return ErrInvalidLengthStruct
1655
+			}
1653 1656
 			if postIndex > l {
1654 1657
 				return io.ErrUnexpectedEOF
1655 1658
 			}
... ...
@@ -1669,7 +1715,7 @@ func (m *Value) Unmarshal(dAtA []byte) error {
1669 1669
 				}
1670 1670
 				b := dAtA[iNdEx]
1671 1671
 				iNdEx++
1672
-				v |= (int(b) & 0x7F) << shift
1672
+				v |= int(b&0x7F) << shift
1673 1673
 				if b < 0x80 {
1674 1674
 					break
1675 1675
 				}
... ...
@@ -1690,7 +1736,7 @@ func (m *Value) Unmarshal(dAtA []byte) error {
1690 1690
 				}
1691 1691
 				b := dAtA[iNdEx]
1692 1692
 				iNdEx++
1693
-				msglen |= (int(b) & 0x7F) << shift
1693
+				msglen |= int(b&0x7F) << shift
1694 1694
 				if b < 0x80 {
1695 1695
 					break
1696 1696
 				}
... ...
@@ -1699,6 +1745,9 @@ func (m *Value) Unmarshal(dAtA []byte) error {
1699 1699
 				return ErrInvalidLengthStruct
1700 1700
 			}
1701 1701
 			postIndex := iNdEx + msglen
1702
+			if postIndex < 0 {
1703
+				return ErrInvalidLengthStruct
1704
+			}
1702 1705
 			if postIndex > l {
1703 1706
 				return io.ErrUnexpectedEOF
1704 1707
 			}
... ...
@@ -1722,7 +1771,7 @@ func (m *Value) Unmarshal(dAtA []byte) error {
1722 1722
 				}
1723 1723
 				b := dAtA[iNdEx]
1724 1724
 				iNdEx++
1725
-				msglen |= (int(b) & 0x7F) << shift
1725
+				msglen |= int(b&0x7F) << shift
1726 1726
 				if b < 0x80 {
1727 1727
 					break
1728 1728
 				}
... ...
@@ -1731,6 +1780,9 @@ func (m *Value) Unmarshal(dAtA []byte) error {
1731 1731
 				return ErrInvalidLengthStruct
1732 1732
 			}
1733 1733
 			postIndex := iNdEx + msglen
1734
+			if postIndex < 0 {
1735
+				return ErrInvalidLengthStruct
1736
+			}
1734 1737
 			if postIndex > l {
1735 1738
 				return io.ErrUnexpectedEOF
1736 1739
 			}
... ...
@@ -1749,6 +1801,9 @@ func (m *Value) Unmarshal(dAtA []byte) error {
1749 1749
 			if skippy < 0 {
1750 1750
 				return ErrInvalidLengthStruct
1751 1751
 			}
1752
+			if (iNdEx + skippy) < 0 {
1753
+				return ErrInvalidLengthStruct
1754
+			}
1752 1755
 			if (iNdEx + skippy) > l {
1753 1756
 				return io.ErrUnexpectedEOF
1754 1757
 			}
... ...
@@ -1777,7 +1832,7 @@ func (m *ListValue) Unmarshal(dAtA []byte) error {
1777 1777
 			}
1778 1778
 			b := dAtA[iNdEx]
1779 1779
 			iNdEx++
1780
-			wire |= (uint64(b) & 0x7F) << shift
1780
+			wire |= uint64(b&0x7F) << shift
1781 1781
 			if b < 0x80 {
1782 1782
 				break
1783 1783
 			}
... ...
@@ -1805,7 +1860,7 @@ func (m *ListValue) Unmarshal(dAtA []byte) error {
1805 1805
 				}
1806 1806
 				b := dAtA[iNdEx]
1807 1807
 				iNdEx++
1808
-				msglen |= (int(b) & 0x7F) << shift
1808
+				msglen |= int(b&0x7F) << shift
1809 1809
 				if b < 0x80 {
1810 1810
 					break
1811 1811
 				}
... ...
@@ -1814,6 +1869,9 @@ func (m *ListValue) Unmarshal(dAtA []byte) error {
1814 1814
 				return ErrInvalidLengthStruct
1815 1815
 			}
1816 1816
 			postIndex := iNdEx + msglen
1817
+			if postIndex < 0 {
1818
+				return ErrInvalidLengthStruct
1819
+			}
1817 1820
 			if postIndex > l {
1818 1821
 				return io.ErrUnexpectedEOF
1819 1822
 			}
... ...
@@ -1831,6 +1889,9 @@ func (m *ListValue) Unmarshal(dAtA []byte) error {
1831 1831
 			if skippy < 0 {
1832 1832
 				return ErrInvalidLengthStruct
1833 1833
 			}
1834
+			if (iNdEx + skippy) < 0 {
1835
+				return ErrInvalidLengthStruct
1836
+			}
1834 1837
 			if (iNdEx + skippy) > l {
1835 1838
 				return io.ErrUnexpectedEOF
1836 1839
 			}
... ...
@@ -1898,10 +1959,13 @@ func skipStruct(dAtA []byte) (n int, err error) {
1898 1898
 					break
1899 1899
 				}
1900 1900
 			}
1901
-			iNdEx += length
1902 1901
 			if length < 0 {
1903 1902
 				return 0, ErrInvalidLengthStruct
1904 1903
 			}
1904
+			iNdEx += length
1905
+			if iNdEx < 0 {
1906
+				return 0, ErrInvalidLengthStruct
1907
+			}
1905 1908
 			return iNdEx, nil
1906 1909
 		case 3:
1907 1910
 			for {
... ...
@@ -1930,6 +1994,9 @@ func skipStruct(dAtA []byte) (n int, err error) {
1930 1930
 					return 0, err
1931 1931
 				}
1932 1932
 				iNdEx = start + next
1933
+				if iNdEx < 0 {
1934
+					return 0, ErrInvalidLengthStruct
1935
+				}
1933 1936
 			}
1934 1937
 			return iNdEx, nil
1935 1938
 		case 4:
... ...
@@ -1948,39 +2015,3 @@ var (
1948 1948
 	ErrInvalidLengthStruct = fmt.Errorf("proto: negative length found during unmarshaling")
1949 1949
 	ErrIntOverflowStruct   = fmt.Errorf("proto: integer overflow")
1950 1950
 )
1951
-
1952
-func init() {
1953
-	proto.RegisterFile("google/protobuf/struct.proto", fileDescriptor_struct_7f9d36853146434f)
1954
-}
1955
-
1956
-var fileDescriptor_struct_7f9d36853146434f = []byte{
1957
-	// 439 bytes of a gzipped FileDescriptorProto
1958
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xc1, 0x6b, 0xd4, 0x40,
1959
-	0x14, 0xc6, 0xf3, 0xb2, 0xdd, 0xe0, 0xbe, 0x48, 0x2d, 0x23, 0xe8, 0x52, 0x65, 0x5c, 0xb6, 0x97,
1960
-	0x45, 0x24, 0x85, 0xf5, 0x22, 0xae, 0x17, 0x17, 0x6a, 0x0b, 0x86, 0x12, 0xa3, 0xad, 0xe0, 0x65,
1961
-	0x31, 0x69, 0xba, 0x84, 0x4e, 0x67, 0x4a, 0x32, 0xa3, 0xec, 0x4d, 0xff, 0x0b, 0xcf, 0x9e, 0xc4,
1962
-	0xa3, 0x7f, 0x85, 0x47, 0x8f, 0x1e, 0xdd, 0x78, 0xf1, 0xd8, 0x63, 0x8f, 0x32, 0x33, 0x49, 0x94,
1963
-	0x2e, 0xbd, 0xe5, 0x7d, 0xf3, 0x7b, 0xdf, 0x7b, 0xdf, 0x0b, 0xde, 0x9d, 0x0b, 0x31, 0x67, 0xd9,
1964
-	0xf6, 0x59, 0x21, 0xa4, 0x48, 0xd4, 0xf1, 0x76, 0x29, 0x0b, 0x95, 0xca, 0xc0, 0xd4, 0xe4, 0x86,
1965
-	0x7d, 0x0d, 0x9a, 0xd7, 0xe1, 0x27, 0x40, 0xef, 0xa5, 0x21, 0xc8, 0x04, 0xbd, 0xe3, 0x3c, 0x63,
1966
-	0x47, 0x65, 0x1f, 0x06, 0x9d, 0x91, 0x3f, 0xde, 0x0a, 0x2e, 0xc1, 0x81, 0x05, 0x83, 0x67, 0x86,
1967
-	0xda, 0xe1, 0xb2, 0x58, 0xc4, 0x75, 0xcb, 0xe6, 0x0b, 0xf4, 0xff, 0x93, 0xc9, 0x06, 0x76, 0x4e,
1968
-	0xb2, 0x45, 0x1f, 0x06, 0x30, 0xea, 0xc5, 0xfa, 0x93, 0x3c, 0xc0, 0xee, 0xbb, 0xb7, 0x4c, 0x65,
1969
-	0x7d, 0x77, 0x00, 0x23, 0x7f, 0x7c, 0x6b, 0xc5, 0xfc, 0x50, 0xbf, 0xc6, 0x16, 0x7a, 0xec, 0x3e,
1970
-	0x82, 0xe1, 0x37, 0x17, 0xbb, 0x46, 0x24, 0x13, 0x44, 0xae, 0x18, 0x9b, 0x59, 0x03, 0x6d, 0xba,
1971
-	0x3e, 0xde, 0x5c, 0x31, 0xd8, 0x57, 0x8c, 0x19, 0x7e, 0xcf, 0x89, 0x7b, 0xbc, 0x29, 0xc8, 0x16,
1972
-	0x5e, 0xe7, 0xea, 0x34, 0xc9, 0x8a, 0xd9, 0xbf, 0xf9, 0xb0, 0xe7, 0xc4, 0xbe, 0x55, 0x5b, 0xa8,
1973
-	0x94, 0x45, 0xce, 0xe7, 0x35, 0xd4, 0xd1, 0x8b, 0x6b, 0xc8, 0xaa, 0x16, 0xba, 0x87, 0x98, 0x08,
1974
-	0xd1, 0xac, 0xb1, 0x36, 0x80, 0xd1, 0x35, 0x3d, 0x4a, 0x6b, 0x16, 0x78, 0x62, 0x5c, 0x54, 0x2a,
1975
-	0x6b, 0xa4, 0x6b, 0xa2, 0xde, 0xbe, 0xe2, 0x8e, 0xb5, 0xbd, 0x4a, 0x65, 0x9b, 0x92, 0xe5, 0x65,
1976
-	0xd3, 0xeb, 0x99, 0xde, 0xd5, 0x94, 0x61, 0x5e, 0xca, 0x36, 0x25, 0x6b, 0x8a, 0xa9, 0x87, 0x6b,
1977
-	0x27, 0x39, 0x3f, 0x1a, 0x4e, 0xb0, 0xd7, 0x12, 0x24, 0x40, 0xcf, 0x98, 0x35, 0x7f, 0xf4, 0xaa,
1978
-	0xa3, 0xd7, 0xd4, 0xfd, 0x3b, 0xd8, 0x6b, 0x8f, 0x48, 0xd6, 0x11, 0xf7, 0x0f, 0xc2, 0x70, 0x76,
1979
-	0xf8, 0x34, 0x3c, 0xd8, 0xd9, 0x70, 0xa6, 0x1f, 0xe1, 0xe7, 0x92, 0x3a, 0xe7, 0x4b, 0x0a, 0x17,
1980
-	0x4b, 0x0a, 0x1f, 0x2a, 0x0a, 0x5f, 0x2a, 0x0a, 0xdf, 0x2b, 0x0a, 0x3f, 0x2a, 0x0a, 0xbf, 0x2a,
1981
-	0x0a, 0x7f, 0x2a, 0xea, 0x9c, 0x6b, 0xed, 0x37, 0x05, 0xbc, 0x99, 0x8a, 0xd3, 0xcb, 0xe3, 0xa6,
1982
-	0xbe, 0x4d, 0x1e, 0xe9, 0x3a, 0x82, 0x37, 0x5d, 0xb9, 0x38, 0xcb, 0xca, 0x0b, 0x80, 0xcf, 0x6e,
1983
-	0x67, 0x37, 0x9a, 0x7e, 0x75, 0xe9, 0xae, 0x6d, 0x88, 0x9a, 0xfd, 0x5e, 0x67, 0x8c, 0x3d, 0xe7,
1984
-	0xe2, 0x3d, 0x7f, 0xa5, 0xc9, 0xc4, 0x33, 0x4e, 0x0f, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xad,
1985
-	0x84, 0x08, 0xae, 0xe5, 0x02, 0x00, 0x00,
1986
-}
... ...
@@ -109,11 +109,9 @@ func TimestampNow() *Timestamp {
109 109
 // TimestampProto converts the time.Time to a google.protobuf.Timestamp proto.
110 110
 // It returns an error if the resulting Timestamp is invalid.
111 111
 func TimestampProto(t time.Time) (*Timestamp, error) {
112
-	seconds := t.Unix()
113
-	nanos := int32(t.Sub(time.Unix(seconds, 0)))
114 112
 	ts := &Timestamp{
115
-		Seconds: seconds,
116
-		Nanos:   nanos,
113
+		Seconds: t.Unix(),
114
+		Nanos:   int32(t.Nanosecond()),
117 115
 	}
118 116
 	if err := validateTimestamp(ts); err != nil {
119 117
 		return nil, err
... ...
@@ -3,16 +3,15 @@
3 3
 
4 4
 package types
5 5
 
6
-import proto "github.com/gogo/protobuf/proto"
7
-import fmt "fmt"
8
-import math "math"
9
-
10
-import bytes "bytes"
11
-
12
-import strings "strings"
13
-import reflect "reflect"
14
-
15
-import io "io"
6
+import (
7
+	bytes "bytes"
8
+	fmt "fmt"
9
+	proto "github.com/gogo/protobuf/proto"
10
+	io "io"
11
+	math "math"
12
+	reflect "reflect"
13
+	strings "strings"
14
+)
16 15
 
17 16
 // Reference imports to suppress errors if they are not otherwise used.
18 17
 var _ = proto.Marshal
... ...
@@ -25,17 +24,19 @@ var _ = math.Inf
25 25
 // proto package needs to be updated.
26 26
 const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
27 27
 
28
-// A Timestamp represents a point in time independent of any time zone
29
-// or calendar, represented as seconds and fractions of seconds at
30
-// nanosecond resolution in UTC Epoch time. It is encoded using the
31
-// Proleptic Gregorian Calendar which extends the Gregorian calendar
32
-// backwards to year one. It is encoded assuming all minutes are 60
33
-// seconds long, i.e. leap seconds are "smeared" so that no leap second
34
-// table is needed for interpretation. Range is from
35
-// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.
36
-// By restricting to that range, we ensure that we can convert to
37
-// and from  RFC 3339 date strings.
38
-// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).
28
+// A Timestamp represents a point in time independent of any time zone or local
29
+// calendar, encoded as a count of seconds and fractions of seconds at
30
+// nanosecond resolution. The count is relative to an epoch at UTC midnight on
31
+// January 1, 1970, in the proleptic Gregorian calendar which extends the
32
+// Gregorian calendar backwards to year one.
33
+//
34
+// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
35
+// second table is needed for interpretation, using a [24-hour linear
36
+// smear](https://developers.google.com/time/smear).
37
+//
38
+// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
39
+// restricting to that range, we ensure that we can convert to and from [RFC
40
+// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
39 41
 //
40 42
 // # Examples
41 43
 //
... ...
@@ -96,12 +97,12 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
96 96
 // 01:30 UTC on January 15, 2017.
97 97
 //
98 98
 // In JavaScript, one can convert a Date object to this format using the
99
-// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString]
99
+// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
100 100
 // method. In Python, a standard `datetime.datetime` object can be converted
101 101
 // to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)
102 102
 // with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one
103 103
 // can use the Joda Time's [`ISODateTimeFormat.dateTime()`](
104
-// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--
104
+// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
105 105
 // ) to obtain a formatter capable of generating timestamps in this format.
106 106
 //
107 107
 //
... ...
@@ -123,7 +124,7 @@ type Timestamp struct {
123 123
 func (m *Timestamp) Reset()      { *m = Timestamp{} }
124 124
 func (*Timestamp) ProtoMessage() {}
125 125
 func (*Timestamp) Descriptor() ([]byte, []int) {
126
-	return fileDescriptor_timestamp_820f61227bd8f1e8, []int{0}
126
+	return fileDescriptor_292007bbfe81227e, []int{0}
127 127
 }
128 128
 func (*Timestamp) XXX_WellKnownType() string { return "Timestamp" }
129 129
 func (m *Timestamp) XXX_Unmarshal(b []byte) error {
... ...
@@ -141,8 +142,8 @@ func (m *Timestamp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
141 141
 		return b[:n], nil
142 142
 	}
143 143
 }
144
-func (dst *Timestamp) XXX_Merge(src proto.Message) {
145
-	xxx_messageInfo_Timestamp.Merge(dst, src)
144
+func (m *Timestamp) XXX_Merge(src proto.Message) {
145
+	xxx_messageInfo_Timestamp.Merge(m, src)
146 146
 }
147 147
 func (m *Timestamp) XXX_Size() int {
148 148
 	return m.Size()
... ...
@@ -173,6 +174,27 @@ func (*Timestamp) XXX_MessageName() string {
173 173
 func init() {
174 174
 	proto.RegisterType((*Timestamp)(nil), "google.protobuf.Timestamp")
175 175
 }
176
+
177
+func init() { proto.RegisterFile("google/protobuf/timestamp.proto", fileDescriptor_292007bbfe81227e) }
178
+
179
+var fileDescriptor_292007bbfe81227e = []byte{
180
+	// 212 bytes of a gzipped FileDescriptorProto
181
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0xcf, 0xcf, 0x4f,
182
+	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xc9, 0xcc, 0x4d,
183
+	0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0xd0, 0x03, 0x0b, 0x09, 0xf1, 0x43, 0x14, 0xe8, 0xc1, 0x14, 0x28,
184
+	0x59, 0x73, 0x71, 0x86, 0xc0, 0xd4, 0x08, 0x49, 0x70, 0xb1, 0x17, 0xa7, 0x26, 0xe7, 0xe7, 0xa5,
185
+	0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0xc1, 0xb8, 0x42, 0x22, 0x5c, 0xac, 0x79, 0x89,
186
+	0x79, 0xf9, 0xc5, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xac, 0x41, 0x10, 0x8e, 0x53, 0x03, 0xe3, 0x8d,
187
+	0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xae, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3,
188
+	0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78, 0x24, 0xc7, 0xf0, 0xe1, 0x91, 0x1c,
189
+	0xe3, 0x8a, 0xc7, 0x72, 0x8c, 0x27, 0x1e, 0xcb, 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1,
190
+	0x59, 0xee, 0xc4, 0x07, 0xb7, 0x3a, 0x00, 0x24, 0x14, 0xc0, 0x18, 0xc5, 0x5a, 0x52, 0x59, 0x90,
191
+	0x5a, 0xfc, 0x83, 0x91, 0x71, 0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88,
192
+	0x9e, 0x00, 0xa8, 0x1e, 0xbd, 0xf0, 0xd4, 0x9c, 0x1c, 0xef, 0xbc, 0xfc, 0xf2, 0xbc, 0x10, 0x90,
193
+	0xca, 0x24, 0x36, 0xb0, 0x61, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x23, 0x83, 0xdd,
194
+	0xfa, 0x00, 0x00, 0x00,
195
+}
196
+
176 197
 func (this *Timestamp) Compare(that interface{}) int {
177 198
 	if that == nil {
178 199
 		if this == nil {
... ...
@@ -353,7 +375,7 @@ func (m *Timestamp) Unmarshal(dAtA []byte) error {
353 353
 			}
354 354
 			b := dAtA[iNdEx]
355 355
 			iNdEx++
356
-			wire |= (uint64(b) & 0x7F) << shift
356
+			wire |= uint64(b&0x7F) << shift
357 357
 			if b < 0x80 {
358 358
 				break
359 359
 			}
... ...
@@ -381,7 +403,7 @@ func (m *Timestamp) Unmarshal(dAtA []byte) error {
381 381
 				}
382 382
 				b := dAtA[iNdEx]
383 383
 				iNdEx++
384
-				m.Seconds |= (int64(b) & 0x7F) << shift
384
+				m.Seconds |= int64(b&0x7F) << shift
385 385
 				if b < 0x80 {
386 386
 					break
387 387
 				}
... ...
@@ -400,7 +422,7 @@ func (m *Timestamp) Unmarshal(dAtA []byte) error {
400 400
 				}
401 401
 				b := dAtA[iNdEx]
402 402
 				iNdEx++
403
-				m.Nanos |= (int32(b) & 0x7F) << shift
403
+				m.Nanos |= int32(b&0x7F) << shift
404 404
 				if b < 0x80 {
405 405
 					break
406 406
 				}
... ...
@@ -414,6 +436,9 @@ func (m *Timestamp) Unmarshal(dAtA []byte) error {
414 414
 			if skippy < 0 {
415 415
 				return ErrInvalidLengthTimestamp
416 416
 			}
417
+			if (iNdEx + skippy) < 0 {
418
+				return ErrInvalidLengthTimestamp
419
+			}
417 420
 			if (iNdEx + skippy) > l {
418 421
 				return io.ErrUnexpectedEOF
419 422
 			}
... ...
@@ -481,10 +506,13 @@ func skipTimestamp(dAtA []byte) (n int, err error) {
481 481
 					break
482 482
 				}
483 483
 			}
484
-			iNdEx += length
485 484
 			if length < 0 {
486 485
 				return 0, ErrInvalidLengthTimestamp
487 486
 			}
487
+			iNdEx += length
488
+			if iNdEx < 0 {
489
+				return 0, ErrInvalidLengthTimestamp
490
+			}
488 491
 			return iNdEx, nil
489 492
 		case 3:
490 493
 			for {
... ...
@@ -513,6 +541,9 @@ func skipTimestamp(dAtA []byte) (n int, err error) {
513 513
 					return 0, err
514 514
 				}
515 515
 				iNdEx = start + next
516
+				if iNdEx < 0 {
517
+					return 0, ErrInvalidLengthTimestamp
518
+				}
516 519
 			}
517 520
 			return iNdEx, nil
518 521
 		case 4:
... ...
@@ -531,25 +562,3 @@ var (
531 531
 	ErrInvalidLengthTimestamp = fmt.Errorf("proto: negative length found during unmarshaling")
532 532
 	ErrIntOverflowTimestamp   = fmt.Errorf("proto: integer overflow")
533 533
 )
534
-
535
-func init() {
536
-	proto.RegisterFile("google/protobuf/timestamp.proto", fileDescriptor_timestamp_820f61227bd8f1e8)
537
-}
538
-
539
-var fileDescriptor_timestamp_820f61227bd8f1e8 = []byte{
540
-	// 212 bytes of a gzipped FileDescriptorProto
541
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0xcf, 0xcf, 0x4f,
542
-	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xc9, 0xcc, 0x4d,
543
-	0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0xd0, 0x03, 0x0b, 0x09, 0xf1, 0x43, 0x14, 0xe8, 0xc1, 0x14, 0x28,
544
-	0x59, 0x73, 0x71, 0x86, 0xc0, 0xd4, 0x08, 0x49, 0x70, 0xb1, 0x17, 0xa7, 0x26, 0xe7, 0xe7, 0xa5,
545
-	0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0xc1, 0xb8, 0x42, 0x22, 0x5c, 0xac, 0x79, 0x89,
546
-	0x79, 0xf9, 0xc5, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xac, 0x41, 0x10, 0x8e, 0x53, 0x03, 0xe3, 0x8d,
547
-	0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xae, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3,
548
-	0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78, 0x24, 0xc7, 0xf0, 0xe1, 0x91, 0x1c,
549
-	0xe3, 0x8a, 0xc7, 0x72, 0x8c, 0x27, 0x1e, 0xcb, 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1,
550
-	0x59, 0xee, 0xc4, 0x07, 0xb7, 0x3a, 0x00, 0x24, 0x14, 0xc0, 0x18, 0xc5, 0x5a, 0x52, 0x59, 0x90,
551
-	0x5a, 0xfc, 0x83, 0x91, 0x71, 0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88,
552
-	0x9e, 0x00, 0xa8, 0x1e, 0xbd, 0xf0, 0xd4, 0x9c, 0x1c, 0xef, 0xbc, 0xfc, 0xf2, 0xbc, 0x10, 0x90,
553
-	0xca, 0x24, 0x36, 0xb0, 0x61, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x23, 0x83, 0xdd,
554
-	0xfa, 0x00, 0x00, 0x00,
555
-}
... ...
@@ -3,18 +3,16 @@
3 3
 
4 4
 package types
5 5
 
6
-import proto "github.com/gogo/protobuf/proto"
7
-import fmt "fmt"
8
-import math "math"
9
-
10
-import bytes "bytes"
11
-
12
-import strconv "strconv"
13
-
14
-import strings "strings"
15
-import reflect "reflect"
16
-
17
-import io "io"
6
+import (
7
+	bytes "bytes"
8
+	fmt "fmt"
9
+	proto "github.com/gogo/protobuf/proto"
10
+	io "io"
11
+	math "math"
12
+	reflect "reflect"
13
+	strconv "strconv"
14
+	strings "strings"
15
+)
18 16
 
19 17
 // Reference imports to suppress errors if they are not otherwise used.
20 18
 var _ = proto.Marshal
... ...
@@ -41,13 +39,14 @@ var Syntax_name = map[int32]string{
41 41
 	0: "SYNTAX_PROTO2",
42 42
 	1: "SYNTAX_PROTO3",
43 43
 }
44
+
44 45
 var Syntax_value = map[string]int32{
45 46
 	"SYNTAX_PROTO2": 0,
46 47
 	"SYNTAX_PROTO3": 1,
47 48
 }
48 49
 
49 50
 func (Syntax) EnumDescriptor() ([]byte, []int) {
50
-	return fileDescriptor_type_0082d870c49329d7, []int{0}
51
+	return fileDescriptor_dd271cc1e348c538, []int{0}
51 52
 }
52 53
 
53 54
 // Basic field types.
... ...
@@ -115,6 +114,7 @@ var Field_Kind_name = map[int32]string{
115 115
 	17: "TYPE_SINT32",
116 116
 	18: "TYPE_SINT64",
117 117
 }
118
+
118 119
 var Field_Kind_value = map[string]int32{
119 120
 	"TYPE_UNKNOWN":  0,
120 121
 	"TYPE_DOUBLE":   1,
... ...
@@ -138,7 +138,7 @@ var Field_Kind_value = map[string]int32{
138 138
 }
139 139
 
140 140
 func (Field_Kind) EnumDescriptor() ([]byte, []int) {
141
-	return fileDescriptor_type_0082d870c49329d7, []int{1, 0}
141
+	return fileDescriptor_dd271cc1e348c538, []int{1, 0}
142 142
 }
143 143
 
144 144
 // Whether a field is optional, required, or repeated.
... ...
@@ -161,6 +161,7 @@ var Field_Cardinality_name = map[int32]string{
161 161
 	2: "CARDINALITY_REQUIRED",
162 162
 	3: "CARDINALITY_REPEATED",
163 163
 }
164
+
164 165
 var Field_Cardinality_value = map[string]int32{
165 166
 	"CARDINALITY_UNKNOWN":  0,
166 167
 	"CARDINALITY_OPTIONAL": 1,
... ...
@@ -169,7 +170,7 @@ var Field_Cardinality_value = map[string]int32{
169 169
 }
170 170
 
171 171
 func (Field_Cardinality) EnumDescriptor() ([]byte, []int) {
172
-	return fileDescriptor_type_0082d870c49329d7, []int{1, 1}
172
+	return fileDescriptor_dd271cc1e348c538, []int{1, 1}
173 173
 }
174 174
 
175 175
 // A protocol buffer message type.
... ...
@@ -194,7 +195,7 @@ type Type struct {
194 194
 func (m *Type) Reset()      { *m = Type{} }
195 195
 func (*Type) ProtoMessage() {}
196 196
 func (*Type) Descriptor() ([]byte, []int) {
197
-	return fileDescriptor_type_0082d870c49329d7, []int{0}
197
+	return fileDescriptor_dd271cc1e348c538, []int{0}
198 198
 }
199 199
 func (m *Type) XXX_Unmarshal(b []byte) error {
200 200
 	return m.Unmarshal(b)
... ...
@@ -211,8 +212,8 @@ func (m *Type) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
211 211
 		return b[:n], nil
212 212
 	}
213 213
 }
214
-func (dst *Type) XXX_Merge(src proto.Message) {
215
-	xxx_messageInfo_Type.Merge(dst, src)
214
+func (m *Type) XXX_Merge(src proto.Message) {
215
+	xxx_messageInfo_Type.Merge(m, src)
216 216
 }
217 217
 func (m *Type) XXX_Size() int {
218 218
 	return m.Size()
... ...
@@ -301,7 +302,7 @@ type Field struct {
301 301
 func (m *Field) Reset()      { *m = Field{} }
302 302
 func (*Field) ProtoMessage() {}
303 303
 func (*Field) Descriptor() ([]byte, []int) {
304
-	return fileDescriptor_type_0082d870c49329d7, []int{1}
304
+	return fileDescriptor_dd271cc1e348c538, []int{1}
305 305
 }
306 306
 func (m *Field) XXX_Unmarshal(b []byte) error {
307 307
 	return m.Unmarshal(b)
... ...
@@ -318,8 +319,8 @@ func (m *Field) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
318 318
 		return b[:n], nil
319 319
 	}
320 320
 }
321
-func (dst *Field) XXX_Merge(src proto.Message) {
322
-	xxx_messageInfo_Field.Merge(dst, src)
321
+func (m *Field) XXX_Merge(src proto.Message) {
322
+	xxx_messageInfo_Field.Merge(m, src)
323 323
 }
324 324
 func (m *Field) XXX_Size() int {
325 325
 	return m.Size()
... ...
@@ -424,7 +425,7 @@ type Enum struct {
424 424
 func (m *Enum) Reset()      { *m = Enum{} }
425 425
 func (*Enum) ProtoMessage() {}
426 426
 func (*Enum) Descriptor() ([]byte, []int) {
427
-	return fileDescriptor_type_0082d870c49329d7, []int{2}
427
+	return fileDescriptor_dd271cc1e348c538, []int{2}
428 428
 }
429 429
 func (m *Enum) XXX_Unmarshal(b []byte) error {
430 430
 	return m.Unmarshal(b)
... ...
@@ -441,8 +442,8 @@ func (m *Enum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
441 441
 		return b[:n], nil
442 442
 	}
443 443
 }
444
-func (dst *Enum) XXX_Merge(src proto.Message) {
445
-	xxx_messageInfo_Enum.Merge(dst, src)
444
+func (m *Enum) XXX_Merge(src proto.Message) {
445
+	xxx_messageInfo_Enum.Merge(m, src)
446 446
 }
447 447
 func (m *Enum) XXX_Size() int {
448 448
 	return m.Size()
... ...
@@ -508,7 +509,7 @@ type EnumValue struct {
508 508
 func (m *EnumValue) Reset()      { *m = EnumValue{} }
509 509
 func (*EnumValue) ProtoMessage() {}
510 510
 func (*EnumValue) Descriptor() ([]byte, []int) {
511
-	return fileDescriptor_type_0082d870c49329d7, []int{3}
511
+	return fileDescriptor_dd271cc1e348c538, []int{3}
512 512
 }
513 513
 func (m *EnumValue) XXX_Unmarshal(b []byte) error {
514 514
 	return m.Unmarshal(b)
... ...
@@ -525,8 +526,8 @@ func (m *EnumValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
525 525
 		return b[:n], nil
526 526
 	}
527 527
 }
528
-func (dst *EnumValue) XXX_Merge(src proto.Message) {
529
-	xxx_messageInfo_EnumValue.Merge(dst, src)
528
+func (m *EnumValue) XXX_Merge(src proto.Message) {
529
+	xxx_messageInfo_EnumValue.Merge(m, src)
530 530
 }
531 531
 func (m *EnumValue) XXX_Size() int {
532 532
 	return m.Size()
... ...
@@ -583,7 +584,7 @@ type Option struct {
583 583
 func (m *Option) Reset()      { *m = Option{} }
584 584
 func (*Option) ProtoMessage() {}
585 585
 func (*Option) Descriptor() ([]byte, []int) {
586
-	return fileDescriptor_type_0082d870c49329d7, []int{4}
586
+	return fileDescriptor_dd271cc1e348c538, []int{4}
587 587
 }
588 588
 func (m *Option) XXX_Unmarshal(b []byte) error {
589 589
 	return m.Unmarshal(b)
... ...
@@ -600,8 +601,8 @@ func (m *Option) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
600 600
 		return b[:n], nil
601 601
 	}
602 602
 }
603
-func (dst *Option) XXX_Merge(src proto.Message) {
604
-	xxx_messageInfo_Option.Merge(dst, src)
603
+func (m *Option) XXX_Merge(src proto.Message) {
604
+	xxx_messageInfo_Option.Merge(m, src)
605 605
 }
606 606
 func (m *Option) XXX_Size() int {
607 607
 	return m.Size()
... ...
@@ -630,15 +631,75 @@ func (*Option) XXX_MessageName() string {
630 630
 	return "google.protobuf.Option"
631 631
 }
632 632
 func init() {
633
+	proto.RegisterEnum("google.protobuf.Syntax", Syntax_name, Syntax_value)
634
+	proto.RegisterEnum("google.protobuf.Field_Kind", Field_Kind_name, Field_Kind_value)
635
+	proto.RegisterEnum("google.protobuf.Field_Cardinality", Field_Cardinality_name, Field_Cardinality_value)
633 636
 	proto.RegisterType((*Type)(nil), "google.protobuf.Type")
634 637
 	proto.RegisterType((*Field)(nil), "google.protobuf.Field")
635 638
 	proto.RegisterType((*Enum)(nil), "google.protobuf.Enum")
636 639
 	proto.RegisterType((*EnumValue)(nil), "google.protobuf.EnumValue")
637 640
 	proto.RegisterType((*Option)(nil), "google.protobuf.Option")
638
-	proto.RegisterEnum("google.protobuf.Syntax", Syntax_name, Syntax_value)
639
-	proto.RegisterEnum("google.protobuf.Field_Kind", Field_Kind_name, Field_Kind_value)
640
-	proto.RegisterEnum("google.protobuf.Field_Cardinality", Field_Cardinality_name, Field_Cardinality_value)
641 641
 }
642
+
643
+func init() { proto.RegisterFile("google/protobuf/type.proto", fileDescriptor_dd271cc1e348c538) }
644
+
645
+var fileDescriptor_dd271cc1e348c538 = []byte{
646
+	// 840 bytes of a gzipped FileDescriptorProto
647
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xcf, 0x73, 0xda, 0x46,
648
+	0x14, 0xf6, 0x0a, 0x21, 0xa3, 0x87, 0xc1, 0x9b, 0x4d, 0x26, 0x51, 0x9c, 0x19, 0x95, 0xa1, 0x3d,
649
+	0x30, 0x39, 0xe0, 0x29, 0x78, 0x3c, 0xbd, 0x82, 0x91, 0x29, 0x63, 0x22, 0xa9, 0x8b, 0x68, 0xe2,
650
+	0x5e, 0x18, 0x0c, 0x72, 0x86, 0x44, 0xac, 0x18, 0x24, 0x5a, 0x73, 0xeb, 0x4c, 0xcf, 0xfd, 0x27,
651
+	0x7a, 0xea, 0xf4, 0xdc, 0x3f, 0xc2, 0xc7, 0x1e, 0x7b, 0xac, 0xc9, 0xa5, 0xc7, 0x1c, 0x73, 0x6b,
652
+	0x67, 0x57, 0x20, 0x8b, 0x1f, 0x9d, 0x49, 0xdb, 0x1b, 0xef, 0xfb, 0xbe, 0xf7, 0x73, 0x9f, 0x1e,
653
+	0x70, 0xf4, 0xda, 0xf7, 0x5f, 0x7b, 0xee, 0xf1, 0x64, 0xea, 0x87, 0xfe, 0xd5, 0xec, 0xfa, 0x38,
654
+	0x9c, 0x4f, 0xdc, 0xb2, 0xb0, 0xc8, 0x61, 0xc4, 0x95, 0x57, 0xdc, 0xd1, 0xd3, 0x4d, 0x71, 0x9f,
655
+	0xcd, 0x23, 0xf6, 0xe8, 0xb3, 0x4d, 0x2a, 0xf0, 0x67, 0xd3, 0x81, 0xdb, 0x1b, 0xf8, 0x2c, 0x74,
656
+	0x6f, 0xc2, 0x48, 0x55, 0xfc, 0x51, 0x02, 0xd9, 0x99, 0x4f, 0x5c, 0x42, 0x40, 0x66, 0xfd, 0xb1,
657
+	0xab, 0xa1, 0x02, 0x2a, 0xa9, 0x54, 0xfc, 0x26, 0x65, 0x50, 0xae, 0x47, 0xae, 0x37, 0x0c, 0x34,
658
+	0xa9, 0x90, 0x2a, 0x65, 0x2b, 0x8f, 0xcb, 0x1b, 0xf9, 0xcb, 0xe7, 0x9c, 0xa6, 0x4b, 0x15, 0x79,
659
+	0x0c, 0x8a, 0xcf, 0x5c, 0xff, 0x3a, 0xd0, 0x52, 0x85, 0x54, 0x49, 0xa5, 0x4b, 0x8b, 0x7c, 0x0e,
660
+	0xfb, 0xfe, 0x24, 0x1c, 0xf9, 0x2c, 0xd0, 0x64, 0x11, 0xe8, 0xc9, 0x56, 0x20, 0x4b, 0xf0, 0x74,
661
+	0xa5, 0x23, 0x06, 0xe4, 0xd7, 0xeb, 0xd5, 0xd2, 0x05, 0x54, 0xca, 0x56, 0xf4, 0x2d, 0xcf, 0x8e,
662
+	0x90, 0x9d, 0x45, 0x2a, 0x9a, 0x0b, 0x92, 0x26, 0x39, 0x06, 0x25, 0x98, 0xb3, 0xb0, 0x7f, 0xa3,
663
+	0x29, 0x05, 0x54, 0xca, 0xef, 0x48, 0xdc, 0x11, 0x34, 0x5d, 0xca, 0x8a, 0xbf, 0x2a, 0x90, 0x16,
664
+	0x4d, 0x91, 0x63, 0x90, 0xdf, 0x8e, 0xd8, 0x50, 0x0c, 0x24, 0x5f, 0x79, 0xb6, 0xbb, 0xf5, 0xf2,
665
+	0xc5, 0x88, 0x0d, 0xa9, 0x10, 0x92, 0x06, 0x64, 0x07, 0xfd, 0xe9, 0x70, 0xc4, 0xfa, 0xde, 0x28,
666
+	0x9c, 0x6b, 0x92, 0xf0, 0x2b, 0xfe, 0x83, 0xdf, 0xd9, 0xbd, 0x92, 0x26, 0xdd, 0xf8, 0x0c, 0xd9,
667
+	0x6c, 0x7c, 0xe5, 0x4e, 0xb5, 0x54, 0x01, 0x95, 0xd2, 0x74, 0x69, 0xc5, 0xef, 0x23, 0x27, 0xde,
668
+	0xe7, 0x29, 0x64, 0xf8, 0x72, 0xf4, 0x66, 0x53, 0x4f, 0xf4, 0xa7, 0xd2, 0x7d, 0x6e, 0x77, 0xa7,
669
+	0x1e, 0xf9, 0x04, 0xb2, 0x62, 0xf8, 0xbd, 0x11, 0x1b, 0xba, 0x37, 0xda, 0xbe, 0x88, 0x05, 0x02,
670
+	0x6a, 0x71, 0x84, 0xe7, 0x99, 0xf4, 0x07, 0x6f, 0xdd, 0xa1, 0x96, 0x29, 0xa0, 0x52, 0x86, 0x2e,
671
+	0xad, 0xe4, 0x5b, 0xa9, 0x1f, 0xf9, 0x56, 0xcf, 0x40, 0x7d, 0x13, 0xf8, 0xac, 0x27, 0xea, 0x03,
672
+	0x51, 0x47, 0x86, 0x03, 0x26, 0xaf, 0xf1, 0x53, 0xc8, 0x0d, 0xdd, 0xeb, 0xfe, 0xcc, 0x0b, 0x7b,
673
+	0xdf, 0xf6, 0xbd, 0x99, 0xab, 0x65, 0x85, 0xe0, 0x60, 0x09, 0x7e, 0xcd, 0xb1, 0xe2, 0xad, 0x04,
674
+	0x32, 0x9f, 0x24, 0xc1, 0x70, 0xe0, 0x5c, 0xda, 0x46, 0xaf, 0x6b, 0x5e, 0x98, 0xd6, 0x4b, 0x13,
675
+	0xef, 0x91, 0x43, 0xc8, 0x0a, 0xa4, 0x61, 0x75, 0xeb, 0x6d, 0x03, 0x23, 0x92, 0x07, 0x10, 0xc0,
676
+	0x79, 0xdb, 0xaa, 0x39, 0x58, 0x8a, 0xed, 0x96, 0xe9, 0x9c, 0x9e, 0xe0, 0x54, 0xec, 0xd0, 0x8d,
677
+	0x00, 0x39, 0x29, 0xa8, 0x56, 0x70, 0x3a, 0xce, 0x71, 0xde, 0x7a, 0x65, 0x34, 0x4e, 0x4f, 0xb0,
678
+	0xb2, 0x8e, 0x54, 0x2b, 0x78, 0x9f, 0xe4, 0x40, 0x15, 0x48, 0xdd, 0xb2, 0xda, 0x38, 0x13, 0xc7,
679
+	0xec, 0x38, 0xb4, 0x65, 0x36, 0xb1, 0x1a, 0xc7, 0x6c, 0x52, 0xab, 0x6b, 0x63, 0x88, 0x23, 0xbc,
680
+	0x30, 0x3a, 0x9d, 0x5a, 0xd3, 0xc0, 0xd9, 0x58, 0x51, 0xbf, 0x74, 0x8c, 0x0e, 0x3e, 0x58, 0x2b,
681
+	0xab, 0x5a, 0xc1, 0xb9, 0x38, 0x85, 0x61, 0x76, 0x5f, 0xe0, 0x3c, 0x79, 0x00, 0xb9, 0x28, 0xc5,
682
+	0xaa, 0x88, 0xc3, 0x0d, 0xe8, 0xf4, 0x04, 0xe3, 0xfb, 0x42, 0xa2, 0x28, 0x0f, 0xd6, 0x80, 0xd3,
683
+	0x13, 0x4c, 0x8a, 0x21, 0x64, 0x13, 0xbb, 0x45, 0x9e, 0xc0, 0xc3, 0xb3, 0x1a, 0x6d, 0xb4, 0xcc,
684
+	0x5a, 0xbb, 0xe5, 0x5c, 0x26, 0xe6, 0xaa, 0xc1, 0xa3, 0x24, 0x61, 0xd9, 0x4e, 0xcb, 0x32, 0x6b,
685
+	0x6d, 0x8c, 0x36, 0x19, 0x6a, 0x7c, 0xd5, 0x6d, 0x51, 0xa3, 0x81, 0xa5, 0x6d, 0xc6, 0x36, 0x6a,
686
+	0x8e, 0xd1, 0xc0, 0xa9, 0xe2, 0x5f, 0x08, 0x64, 0x83, 0xcd, 0xc6, 0x3b, 0xcf, 0xc8, 0x17, 0xa0,
687
+	0xba, 0x6c, 0x36, 0x8e, 0x9e, 0x3f, 0xba, 0x24, 0x47, 0x5b, 0x4b, 0xc5, 0xbd, 0xc5, 0x32, 0xd0,
688
+	0x7b, 0x71, 0x72, 0x19, 0x53, 0xff, 0xf9, 0x70, 0xc8, 0xff, 0xef, 0x70, 0xa4, 0x3f, 0xee, 0x70,
689
+	0xbc, 0x01, 0x35, 0x6e, 0x61, 0xe7, 0x14, 0xee, 0x3f, 0x6c, 0x69, 0xed, 0xc3, 0xfe, 0xf7, 0x3d,
690
+	0x16, 0xbf, 0x04, 0x25, 0x82, 0x76, 0x26, 0x7a, 0x0e, 0xe9, 0xd5, 0xa8, 0x79, 0xe3, 0x8f, 0xb6,
691
+	0xc2, 0xd5, 0xd8, 0x9c, 0x46, 0x92, 0xe7, 0x65, 0x50, 0xa2, 0x3e, 0xf8, 0xb2, 0x75, 0x2e, 0x4d,
692
+	0xa7, 0xf6, 0xaa, 0x67, 0x53, 0xcb, 0xb1, 0x2a, 0x78, 0x6f, 0x13, 0xaa, 0x62, 0x54, 0xff, 0x01,
693
+	0xfd, 0x7e, 0xa7, 0xef, 0xbd, 0xbf, 0xd3, 0xd1, 0x87, 0x3b, 0x1d, 0x7d, 0xbf, 0xd0, 0xd1, 0xcf,
694
+	0x0b, 0x1d, 0xdd, 0x2e, 0x74, 0xf4, 0xdb, 0x42, 0x47, 0x7f, 0x2c, 0x74, 0xf4, 0xe7, 0x42, 0xdf,
695
+	0x7b, 0xcf, 0xf1, 0x77, 0x3a, 0xba, 0x7d, 0xa7, 0x23, 0x78, 0x38, 0xf0, 0xc7, 0x9b, 0x25, 0xd4,
696
+	0x55, 0xfe, 0x9f, 0x63, 0x73, 0xcb, 0x46, 0xdf, 0xa4, 0xf9, 0xd1, 0x0a, 0x3e, 0x20, 0xf4, 0x93,
697
+	0x94, 0x6a, 0xda, 0xf5, 0x5f, 0x24, 0xbd, 0x19, 0xc9, 0xed, 0x55, 0xc5, 0x2f, 0x5d, 0xcf, 0xbb,
698
+	0x60, 0xfe, 0x77, 0x8c, 0xbb, 0x05, 0x57, 0x8a, 0x88, 0x53, 0xfd, 0x3b, 0x00, 0x00, 0xff, 0xff,
699
+	0xbc, 0x2a, 0x5e, 0x82, 0x2b, 0x07, 0x00, 0x00,
700
+}
701
+
642 702
 func (this *Type) Compare(that interface{}) int {
643 703
 	if that == nil {
644 704
 		if this == nil {
... ...
@@ -2139,7 +2200,7 @@ func (m *Type) Unmarshal(dAtA []byte) error {
2139 2139
 			}
2140 2140
 			b := dAtA[iNdEx]
2141 2141
 			iNdEx++
2142
-			wire |= (uint64(b) & 0x7F) << shift
2142
+			wire |= uint64(b&0x7F) << shift
2143 2143
 			if b < 0x80 {
2144 2144
 				break
2145 2145
 			}
... ...
@@ -2167,7 +2228,7 @@ func (m *Type) Unmarshal(dAtA []byte) error {
2167 2167
 				}
2168 2168
 				b := dAtA[iNdEx]
2169 2169
 				iNdEx++
2170
-				stringLen |= (uint64(b) & 0x7F) << shift
2170
+				stringLen |= uint64(b&0x7F) << shift
2171 2171
 				if b < 0x80 {
2172 2172
 					break
2173 2173
 				}
... ...
@@ -2177,6 +2238,9 @@ func (m *Type) Unmarshal(dAtA []byte) error {
2177 2177
 				return ErrInvalidLengthType
2178 2178
 			}
2179 2179
 			postIndex := iNdEx + intStringLen
2180
+			if postIndex < 0 {
2181
+				return ErrInvalidLengthType
2182
+			}
2180 2183
 			if postIndex > l {
2181 2184
 				return io.ErrUnexpectedEOF
2182 2185
 			}
... ...
@@ -2196,7 +2260,7 @@ func (m *Type) Unmarshal(dAtA []byte) error {
2196 2196
 				}
2197 2197
 				b := dAtA[iNdEx]
2198 2198
 				iNdEx++
2199
-				msglen |= (int(b) & 0x7F) << shift
2199
+				msglen |= int(b&0x7F) << shift
2200 2200
 				if b < 0x80 {
2201 2201
 					break
2202 2202
 				}
... ...
@@ -2205,6 +2269,9 @@ func (m *Type) Unmarshal(dAtA []byte) error {
2205 2205
 				return ErrInvalidLengthType
2206 2206
 			}
2207 2207
 			postIndex := iNdEx + msglen
2208
+			if postIndex < 0 {
2209
+				return ErrInvalidLengthType
2210
+			}
2208 2211
 			if postIndex > l {
2209 2212
 				return io.ErrUnexpectedEOF
2210 2213
 			}
... ...
@@ -2227,7 +2294,7 @@ func (m *Type) Unmarshal(dAtA []byte) error {
2227 2227
 				}
2228 2228
 				b := dAtA[iNdEx]
2229 2229
 				iNdEx++
2230
-				stringLen |= (uint64(b) & 0x7F) << shift
2230
+				stringLen |= uint64(b&0x7F) << shift
2231 2231
 				if b < 0x80 {
2232 2232
 					break
2233 2233
 				}
... ...
@@ -2237,6 +2304,9 @@ func (m *Type) Unmarshal(dAtA []byte) error {
2237 2237
 				return ErrInvalidLengthType
2238 2238
 			}
2239 2239
 			postIndex := iNdEx + intStringLen
2240
+			if postIndex < 0 {
2241
+				return ErrInvalidLengthType
2242
+			}
2240 2243
 			if postIndex > l {
2241 2244
 				return io.ErrUnexpectedEOF
2242 2245
 			}
... ...
@@ -2256,7 +2326,7 @@ func (m *Type) Unmarshal(dAtA []byte) error {
2256 2256
 				}
2257 2257
 				b := dAtA[iNdEx]
2258 2258
 				iNdEx++
2259
-				msglen |= (int(b) & 0x7F) << shift
2259
+				msglen |= int(b&0x7F) << shift
2260 2260
 				if b < 0x80 {
2261 2261
 					break
2262 2262
 				}
... ...
@@ -2265,6 +2335,9 @@ func (m *Type) Unmarshal(dAtA []byte) error {
2265 2265
 				return ErrInvalidLengthType
2266 2266
 			}
2267 2267
 			postIndex := iNdEx + msglen
2268
+			if postIndex < 0 {
2269
+				return ErrInvalidLengthType
2270
+			}
2268 2271
 			if postIndex > l {
2269 2272
 				return io.ErrUnexpectedEOF
2270 2273
 			}
... ...
@@ -2287,7 +2360,7 @@ func (m *Type) Unmarshal(dAtA []byte) error {
2287 2287
 				}
2288 2288
 				b := dAtA[iNdEx]
2289 2289
 				iNdEx++
2290
-				msglen |= (int(b) & 0x7F) << shift
2290
+				msglen |= int(b&0x7F) << shift
2291 2291
 				if b < 0x80 {
2292 2292
 					break
2293 2293
 				}
... ...
@@ -2296,6 +2369,9 @@ func (m *Type) Unmarshal(dAtA []byte) error {
2296 2296
 				return ErrInvalidLengthType
2297 2297
 			}
2298 2298
 			postIndex := iNdEx + msglen
2299
+			if postIndex < 0 {
2300
+				return ErrInvalidLengthType
2301
+			}
2299 2302
 			if postIndex > l {
2300 2303
 				return io.ErrUnexpectedEOF
2301 2304
 			}
... ...
@@ -2320,7 +2396,7 @@ func (m *Type) Unmarshal(dAtA []byte) error {
2320 2320
 				}
2321 2321
 				b := dAtA[iNdEx]
2322 2322
 				iNdEx++
2323
-				m.Syntax |= (Syntax(b) & 0x7F) << shift
2323
+				m.Syntax |= Syntax(b&0x7F) << shift
2324 2324
 				if b < 0x80 {
2325 2325
 					break
2326 2326
 				}
... ...
@@ -2334,6 +2410,9 @@ func (m *Type) Unmarshal(dAtA []byte) error {
2334 2334
 			if skippy < 0 {
2335 2335
 				return ErrInvalidLengthType
2336 2336
 			}
2337
+			if (iNdEx + skippy) < 0 {
2338
+				return ErrInvalidLengthType
2339
+			}
2337 2340
 			if (iNdEx + skippy) > l {
2338 2341
 				return io.ErrUnexpectedEOF
2339 2342
 			}
... ...
@@ -2362,7 +2441,7 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2362 2362
 			}
2363 2363
 			b := dAtA[iNdEx]
2364 2364
 			iNdEx++
2365
-			wire |= (uint64(b) & 0x7F) << shift
2365
+			wire |= uint64(b&0x7F) << shift
2366 2366
 			if b < 0x80 {
2367 2367
 				break
2368 2368
 			}
... ...
@@ -2390,7 +2469,7 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2390 2390
 				}
2391 2391
 				b := dAtA[iNdEx]
2392 2392
 				iNdEx++
2393
-				m.Kind |= (Field_Kind(b) & 0x7F) << shift
2393
+				m.Kind |= Field_Kind(b&0x7F) << shift
2394 2394
 				if b < 0x80 {
2395 2395
 					break
2396 2396
 				}
... ...
@@ -2409,7 +2488,7 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2409 2409
 				}
2410 2410
 				b := dAtA[iNdEx]
2411 2411
 				iNdEx++
2412
-				m.Cardinality |= (Field_Cardinality(b) & 0x7F) << shift
2412
+				m.Cardinality |= Field_Cardinality(b&0x7F) << shift
2413 2413
 				if b < 0x80 {
2414 2414
 					break
2415 2415
 				}
... ...
@@ -2428,7 +2507,7 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2428 2428
 				}
2429 2429
 				b := dAtA[iNdEx]
2430 2430
 				iNdEx++
2431
-				m.Number |= (int32(b) & 0x7F) << shift
2431
+				m.Number |= int32(b&0x7F) << shift
2432 2432
 				if b < 0x80 {
2433 2433
 					break
2434 2434
 				}
... ...
@@ -2447,7 +2526,7 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2447 2447
 				}
2448 2448
 				b := dAtA[iNdEx]
2449 2449
 				iNdEx++
2450
-				stringLen |= (uint64(b) & 0x7F) << shift
2450
+				stringLen |= uint64(b&0x7F) << shift
2451 2451
 				if b < 0x80 {
2452 2452
 					break
2453 2453
 				}
... ...
@@ -2457,6 +2536,9 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2457 2457
 				return ErrInvalidLengthType
2458 2458
 			}
2459 2459
 			postIndex := iNdEx + intStringLen
2460
+			if postIndex < 0 {
2461
+				return ErrInvalidLengthType
2462
+			}
2460 2463
 			if postIndex > l {
2461 2464
 				return io.ErrUnexpectedEOF
2462 2465
 			}
... ...
@@ -2476,7 +2558,7 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2476 2476
 				}
2477 2477
 				b := dAtA[iNdEx]
2478 2478
 				iNdEx++
2479
-				stringLen |= (uint64(b) & 0x7F) << shift
2479
+				stringLen |= uint64(b&0x7F) << shift
2480 2480
 				if b < 0x80 {
2481 2481
 					break
2482 2482
 				}
... ...
@@ -2486,6 +2568,9 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2486 2486
 				return ErrInvalidLengthType
2487 2487
 			}
2488 2488
 			postIndex := iNdEx + intStringLen
2489
+			if postIndex < 0 {
2490
+				return ErrInvalidLengthType
2491
+			}
2489 2492
 			if postIndex > l {
2490 2493
 				return io.ErrUnexpectedEOF
2491 2494
 			}
... ...
@@ -2505,7 +2590,7 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2505 2505
 				}
2506 2506
 				b := dAtA[iNdEx]
2507 2507
 				iNdEx++
2508
-				m.OneofIndex |= (int32(b) & 0x7F) << shift
2508
+				m.OneofIndex |= int32(b&0x7F) << shift
2509 2509
 				if b < 0x80 {
2510 2510
 					break
2511 2511
 				}
... ...
@@ -2524,7 +2609,7 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2524 2524
 				}
2525 2525
 				b := dAtA[iNdEx]
2526 2526
 				iNdEx++
2527
-				v |= (int(b) & 0x7F) << shift
2527
+				v |= int(b&0x7F) << shift
2528 2528
 				if b < 0x80 {
2529 2529
 					break
2530 2530
 				}
... ...
@@ -2544,7 +2629,7 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2544 2544
 				}
2545 2545
 				b := dAtA[iNdEx]
2546 2546
 				iNdEx++
2547
-				msglen |= (int(b) & 0x7F) << shift
2547
+				msglen |= int(b&0x7F) << shift
2548 2548
 				if b < 0x80 {
2549 2549
 					break
2550 2550
 				}
... ...
@@ -2553,6 +2638,9 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2553 2553
 				return ErrInvalidLengthType
2554 2554
 			}
2555 2555
 			postIndex := iNdEx + msglen
2556
+			if postIndex < 0 {
2557
+				return ErrInvalidLengthType
2558
+			}
2556 2559
 			if postIndex > l {
2557 2560
 				return io.ErrUnexpectedEOF
2558 2561
 			}
... ...
@@ -2575,7 +2663,7 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2575 2575
 				}
2576 2576
 				b := dAtA[iNdEx]
2577 2577
 				iNdEx++
2578
-				stringLen |= (uint64(b) & 0x7F) << shift
2578
+				stringLen |= uint64(b&0x7F) << shift
2579 2579
 				if b < 0x80 {
2580 2580
 					break
2581 2581
 				}
... ...
@@ -2585,6 +2673,9 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2585 2585
 				return ErrInvalidLengthType
2586 2586
 			}
2587 2587
 			postIndex := iNdEx + intStringLen
2588
+			if postIndex < 0 {
2589
+				return ErrInvalidLengthType
2590
+			}
2588 2591
 			if postIndex > l {
2589 2592
 				return io.ErrUnexpectedEOF
2590 2593
 			}
... ...
@@ -2604,7 +2695,7 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2604 2604
 				}
2605 2605
 				b := dAtA[iNdEx]
2606 2606
 				iNdEx++
2607
-				stringLen |= (uint64(b) & 0x7F) << shift
2607
+				stringLen |= uint64(b&0x7F) << shift
2608 2608
 				if b < 0x80 {
2609 2609
 					break
2610 2610
 				}
... ...
@@ -2614,6 +2705,9 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2614 2614
 				return ErrInvalidLengthType
2615 2615
 			}
2616 2616
 			postIndex := iNdEx + intStringLen
2617
+			if postIndex < 0 {
2618
+				return ErrInvalidLengthType
2619
+			}
2617 2620
 			if postIndex > l {
2618 2621
 				return io.ErrUnexpectedEOF
2619 2622
 			}
... ...
@@ -2628,6 +2722,9 @@ func (m *Field) Unmarshal(dAtA []byte) error {
2628 2628
 			if skippy < 0 {
2629 2629
 				return ErrInvalidLengthType
2630 2630
 			}
2631
+			if (iNdEx + skippy) < 0 {
2632
+				return ErrInvalidLengthType
2633
+			}
2631 2634
 			if (iNdEx + skippy) > l {
2632 2635
 				return io.ErrUnexpectedEOF
2633 2636
 			}
... ...
@@ -2656,7 +2753,7 @@ func (m *Enum) Unmarshal(dAtA []byte) error {
2656 2656
 			}
2657 2657
 			b := dAtA[iNdEx]
2658 2658
 			iNdEx++
2659
-			wire |= (uint64(b) & 0x7F) << shift
2659
+			wire |= uint64(b&0x7F) << shift
2660 2660
 			if b < 0x80 {
2661 2661
 				break
2662 2662
 			}
... ...
@@ -2684,7 +2781,7 @@ func (m *Enum) Unmarshal(dAtA []byte) error {
2684 2684
 				}
2685 2685
 				b := dAtA[iNdEx]
2686 2686
 				iNdEx++
2687
-				stringLen |= (uint64(b) & 0x7F) << shift
2687
+				stringLen |= uint64(b&0x7F) << shift
2688 2688
 				if b < 0x80 {
2689 2689
 					break
2690 2690
 				}
... ...
@@ -2694,6 +2791,9 @@ func (m *Enum) Unmarshal(dAtA []byte) error {
2694 2694
 				return ErrInvalidLengthType
2695 2695
 			}
2696 2696
 			postIndex := iNdEx + intStringLen
2697
+			if postIndex < 0 {
2698
+				return ErrInvalidLengthType
2699
+			}
2697 2700
 			if postIndex > l {
2698 2701
 				return io.ErrUnexpectedEOF
2699 2702
 			}
... ...
@@ -2713,7 +2813,7 @@ func (m *Enum) Unmarshal(dAtA []byte) error {
2713 2713
 				}
2714 2714
 				b := dAtA[iNdEx]
2715 2715
 				iNdEx++
2716
-				msglen |= (int(b) & 0x7F) << shift
2716
+				msglen |= int(b&0x7F) << shift
2717 2717
 				if b < 0x80 {
2718 2718
 					break
2719 2719
 				}
... ...
@@ -2722,6 +2822,9 @@ func (m *Enum) Unmarshal(dAtA []byte) error {
2722 2722
 				return ErrInvalidLengthType
2723 2723
 			}
2724 2724
 			postIndex := iNdEx + msglen
2725
+			if postIndex < 0 {
2726
+				return ErrInvalidLengthType
2727
+			}
2725 2728
 			if postIndex > l {
2726 2729
 				return io.ErrUnexpectedEOF
2727 2730
 			}
... ...
@@ -2744,7 +2847,7 @@ func (m *Enum) Unmarshal(dAtA []byte) error {
2744 2744
 				}
2745 2745
 				b := dAtA[iNdEx]
2746 2746
 				iNdEx++
2747
-				msglen |= (int(b) & 0x7F) << shift
2747
+				msglen |= int(b&0x7F) << shift
2748 2748
 				if b < 0x80 {
2749 2749
 					break
2750 2750
 				}
... ...
@@ -2753,6 +2856,9 @@ func (m *Enum) Unmarshal(dAtA []byte) error {
2753 2753
 				return ErrInvalidLengthType
2754 2754
 			}
2755 2755
 			postIndex := iNdEx + msglen
2756
+			if postIndex < 0 {
2757
+				return ErrInvalidLengthType
2758
+			}
2756 2759
 			if postIndex > l {
2757 2760
 				return io.ErrUnexpectedEOF
2758 2761
 			}
... ...
@@ -2775,7 +2881,7 @@ func (m *Enum) Unmarshal(dAtA []byte) error {
2775 2775
 				}
2776 2776
 				b := dAtA[iNdEx]
2777 2777
 				iNdEx++
2778
-				msglen |= (int(b) & 0x7F) << shift
2778
+				msglen |= int(b&0x7F) << shift
2779 2779
 				if b < 0x80 {
2780 2780
 					break
2781 2781
 				}
... ...
@@ -2784,6 +2890,9 @@ func (m *Enum) Unmarshal(dAtA []byte) error {
2784 2784
 				return ErrInvalidLengthType
2785 2785
 			}
2786 2786
 			postIndex := iNdEx + msglen
2787
+			if postIndex < 0 {
2788
+				return ErrInvalidLengthType
2789
+			}
2787 2790
 			if postIndex > l {
2788 2791
 				return io.ErrUnexpectedEOF
2789 2792
 			}
... ...
@@ -2808,7 +2917,7 @@ func (m *Enum) Unmarshal(dAtA []byte) error {
2808 2808
 				}
2809 2809
 				b := dAtA[iNdEx]
2810 2810
 				iNdEx++
2811
-				m.Syntax |= (Syntax(b) & 0x7F) << shift
2811
+				m.Syntax |= Syntax(b&0x7F) << shift
2812 2812
 				if b < 0x80 {
2813 2813
 					break
2814 2814
 				}
... ...
@@ -2822,6 +2931,9 @@ func (m *Enum) Unmarshal(dAtA []byte) error {
2822 2822
 			if skippy < 0 {
2823 2823
 				return ErrInvalidLengthType
2824 2824
 			}
2825
+			if (iNdEx + skippy) < 0 {
2826
+				return ErrInvalidLengthType
2827
+			}
2825 2828
 			if (iNdEx + skippy) > l {
2826 2829
 				return io.ErrUnexpectedEOF
2827 2830
 			}
... ...
@@ -2850,7 +2962,7 @@ func (m *EnumValue) Unmarshal(dAtA []byte) error {
2850 2850
 			}
2851 2851
 			b := dAtA[iNdEx]
2852 2852
 			iNdEx++
2853
-			wire |= (uint64(b) & 0x7F) << shift
2853
+			wire |= uint64(b&0x7F) << shift
2854 2854
 			if b < 0x80 {
2855 2855
 				break
2856 2856
 			}
... ...
@@ -2878,7 +2990,7 @@ func (m *EnumValue) Unmarshal(dAtA []byte) error {
2878 2878
 				}
2879 2879
 				b := dAtA[iNdEx]
2880 2880
 				iNdEx++
2881
-				stringLen |= (uint64(b) & 0x7F) << shift
2881
+				stringLen |= uint64(b&0x7F) << shift
2882 2882
 				if b < 0x80 {
2883 2883
 					break
2884 2884
 				}
... ...
@@ -2888,6 +3000,9 @@ func (m *EnumValue) Unmarshal(dAtA []byte) error {
2888 2888
 				return ErrInvalidLengthType
2889 2889
 			}
2890 2890
 			postIndex := iNdEx + intStringLen
2891
+			if postIndex < 0 {
2892
+				return ErrInvalidLengthType
2893
+			}
2891 2894
 			if postIndex > l {
2892 2895
 				return io.ErrUnexpectedEOF
2893 2896
 			}
... ...
@@ -2907,7 +3022,7 @@ func (m *EnumValue) Unmarshal(dAtA []byte) error {
2907 2907
 				}
2908 2908
 				b := dAtA[iNdEx]
2909 2909
 				iNdEx++
2910
-				m.Number |= (int32(b) & 0x7F) << shift
2910
+				m.Number |= int32(b&0x7F) << shift
2911 2911
 				if b < 0x80 {
2912 2912
 					break
2913 2913
 				}
... ...
@@ -2926,7 +3041,7 @@ func (m *EnumValue) Unmarshal(dAtA []byte) error {
2926 2926
 				}
2927 2927
 				b := dAtA[iNdEx]
2928 2928
 				iNdEx++
2929
-				msglen |= (int(b) & 0x7F) << shift
2929
+				msglen |= int(b&0x7F) << shift
2930 2930
 				if b < 0x80 {
2931 2931
 					break
2932 2932
 				}
... ...
@@ -2935,6 +3050,9 @@ func (m *EnumValue) Unmarshal(dAtA []byte) error {
2935 2935
 				return ErrInvalidLengthType
2936 2936
 			}
2937 2937
 			postIndex := iNdEx + msglen
2938
+			if postIndex < 0 {
2939
+				return ErrInvalidLengthType
2940
+			}
2938 2941
 			if postIndex > l {
2939 2942
 				return io.ErrUnexpectedEOF
2940 2943
 			}
... ...
@@ -2952,6 +3070,9 @@ func (m *EnumValue) Unmarshal(dAtA []byte) error {
2952 2952
 			if skippy < 0 {
2953 2953
 				return ErrInvalidLengthType
2954 2954
 			}
2955
+			if (iNdEx + skippy) < 0 {
2956
+				return ErrInvalidLengthType
2957
+			}
2955 2958
 			if (iNdEx + skippy) > l {
2956 2959
 				return io.ErrUnexpectedEOF
2957 2960
 			}
... ...
@@ -2980,7 +3101,7 @@ func (m *Option) Unmarshal(dAtA []byte) error {
2980 2980
 			}
2981 2981
 			b := dAtA[iNdEx]
2982 2982
 			iNdEx++
2983
-			wire |= (uint64(b) & 0x7F) << shift
2983
+			wire |= uint64(b&0x7F) << shift
2984 2984
 			if b < 0x80 {
2985 2985
 				break
2986 2986
 			}
... ...
@@ -3008,7 +3129,7 @@ func (m *Option) Unmarshal(dAtA []byte) error {
3008 3008
 				}
3009 3009
 				b := dAtA[iNdEx]
3010 3010
 				iNdEx++
3011
-				stringLen |= (uint64(b) & 0x7F) << shift
3011
+				stringLen |= uint64(b&0x7F) << shift
3012 3012
 				if b < 0x80 {
3013 3013
 					break
3014 3014
 				}
... ...
@@ -3018,6 +3139,9 @@ func (m *Option) Unmarshal(dAtA []byte) error {
3018 3018
 				return ErrInvalidLengthType
3019 3019
 			}
3020 3020
 			postIndex := iNdEx + intStringLen
3021
+			if postIndex < 0 {
3022
+				return ErrInvalidLengthType
3023
+			}
3021 3024
 			if postIndex > l {
3022 3025
 				return io.ErrUnexpectedEOF
3023 3026
 			}
... ...
@@ -3037,7 +3161,7 @@ func (m *Option) Unmarshal(dAtA []byte) error {
3037 3037
 				}
3038 3038
 				b := dAtA[iNdEx]
3039 3039
 				iNdEx++
3040
-				msglen |= (int(b) & 0x7F) << shift
3040
+				msglen |= int(b&0x7F) << shift
3041 3041
 				if b < 0x80 {
3042 3042
 					break
3043 3043
 				}
... ...
@@ -3046,6 +3170,9 @@ func (m *Option) Unmarshal(dAtA []byte) error {
3046 3046
 				return ErrInvalidLengthType
3047 3047
 			}
3048 3048
 			postIndex := iNdEx + msglen
3049
+			if postIndex < 0 {
3050
+				return ErrInvalidLengthType
3051
+			}
3049 3052
 			if postIndex > l {
3050 3053
 				return io.ErrUnexpectedEOF
3051 3054
 			}
... ...
@@ -3065,6 +3192,9 @@ func (m *Option) Unmarshal(dAtA []byte) error {
3065 3065
 			if skippy < 0 {
3066 3066
 				return ErrInvalidLengthType
3067 3067
 			}
3068
+			if (iNdEx + skippy) < 0 {
3069
+				return ErrInvalidLengthType
3070
+			}
3068 3071
 			if (iNdEx + skippy) > l {
3069 3072
 				return io.ErrUnexpectedEOF
3070 3073
 			}
... ...
@@ -3132,10 +3262,13 @@ func skipType(dAtA []byte) (n int, err error) {
3132 3132
 					break
3133 3133
 				}
3134 3134
 			}
3135
-			iNdEx += length
3136 3135
 			if length < 0 {
3137 3136
 				return 0, ErrInvalidLengthType
3138 3137
 			}
3138
+			iNdEx += length
3139
+			if iNdEx < 0 {
3140
+				return 0, ErrInvalidLengthType
3141
+			}
3139 3142
 			return iNdEx, nil
3140 3143
 		case 3:
3141 3144
 			for {
... ...
@@ -3164,6 +3297,9 @@ func skipType(dAtA []byte) (n int, err error) {
3164 3164
 					return 0, err
3165 3165
 				}
3166 3166
 				iNdEx = start + next
3167
+				if iNdEx < 0 {
3168
+					return 0, ErrInvalidLengthType
3169
+				}
3167 3170
 			}
3168 3171
 			return iNdEx, nil
3169 3172
 		case 4:
... ...
@@ -3182,62 +3318,3 @@ var (
3182 3182
 	ErrInvalidLengthType = fmt.Errorf("proto: negative length found during unmarshaling")
3183 3183
 	ErrIntOverflowType   = fmt.Errorf("proto: integer overflow")
3184 3184
 )
3185
-
3186
-func init() { proto.RegisterFile("google/protobuf/type.proto", fileDescriptor_type_0082d870c49329d7) }
3187
-
3188
-var fileDescriptor_type_0082d870c49329d7 = []byte{
3189
-	// 840 bytes of a gzipped FileDescriptorProto
3190
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xcf, 0x73, 0xda, 0x46,
3191
-	0x14, 0xf6, 0x0a, 0x21, 0xa3, 0x87, 0xc1, 0x9b, 0x4d, 0x26, 0x51, 0x9c, 0x19, 0x95, 0xa1, 0x3d,
3192
-	0x30, 0x39, 0xe0, 0x29, 0x78, 0x3c, 0xbd, 0x82, 0x91, 0x29, 0x63, 0x22, 0xa9, 0x8b, 0x68, 0xe2,
3193
-	0x5e, 0x18, 0x0c, 0x72, 0x86, 0x44, 0xac, 0x18, 0x24, 0x5a, 0x73, 0xeb, 0x4c, 0xcf, 0xfd, 0x27,
3194
-	0x7a, 0xea, 0xf4, 0xdc, 0x3f, 0xc2, 0xc7, 0x1e, 0x7b, 0xac, 0xc9, 0xa5, 0xc7, 0x1c, 0x73, 0x6b,
3195
-	0x67, 0x57, 0x20, 0x8b, 0x1f, 0x9d, 0x49, 0xdb, 0x1b, 0xef, 0xfb, 0xbe, 0xf7, 0x73, 0x9f, 0x1e,
3196
-	0x70, 0xf4, 0xda, 0xf7, 0x5f, 0x7b, 0xee, 0xf1, 0x64, 0xea, 0x87, 0xfe, 0xd5, 0xec, 0xfa, 0x38,
3197
-	0x9c, 0x4f, 0xdc, 0xb2, 0xb0, 0xc8, 0x61, 0xc4, 0x95, 0x57, 0xdc, 0xd1, 0xd3, 0x4d, 0x71, 0x9f,
3198
-	0xcd, 0x23, 0xf6, 0xe8, 0xb3, 0x4d, 0x2a, 0xf0, 0x67, 0xd3, 0x81, 0xdb, 0x1b, 0xf8, 0x2c, 0x74,
3199
-	0x6f, 0xc2, 0x48, 0x55, 0xfc, 0x51, 0x02, 0xd9, 0x99, 0x4f, 0x5c, 0x42, 0x40, 0x66, 0xfd, 0xb1,
3200
-	0xab, 0xa1, 0x02, 0x2a, 0xa9, 0x54, 0xfc, 0x26, 0x65, 0x50, 0xae, 0x47, 0xae, 0x37, 0x0c, 0x34,
3201
-	0xa9, 0x90, 0x2a, 0x65, 0x2b, 0x8f, 0xcb, 0x1b, 0xf9, 0xcb, 0xe7, 0x9c, 0xa6, 0x4b, 0x15, 0x79,
3202
-	0x0c, 0x8a, 0xcf, 0x5c, 0xff, 0x3a, 0xd0, 0x52, 0x85, 0x54, 0x49, 0xa5, 0x4b, 0x8b, 0x7c, 0x0e,
3203
-	0xfb, 0xfe, 0x24, 0x1c, 0xf9, 0x2c, 0xd0, 0x64, 0x11, 0xe8, 0xc9, 0x56, 0x20, 0x4b, 0xf0, 0x74,
3204
-	0xa5, 0x23, 0x06, 0xe4, 0xd7, 0xeb, 0xd5, 0xd2, 0x05, 0x54, 0xca, 0x56, 0xf4, 0x2d, 0xcf, 0x8e,
3205
-	0x90, 0x9d, 0x45, 0x2a, 0x9a, 0x0b, 0x92, 0x26, 0x39, 0x06, 0x25, 0x98, 0xb3, 0xb0, 0x7f, 0xa3,
3206
-	0x29, 0x05, 0x54, 0xca, 0xef, 0x48, 0xdc, 0x11, 0x34, 0x5d, 0xca, 0x8a, 0xbf, 0x2a, 0x90, 0x16,
3207
-	0x4d, 0x91, 0x63, 0x90, 0xdf, 0x8e, 0xd8, 0x50, 0x0c, 0x24, 0x5f, 0x79, 0xb6, 0xbb, 0xf5, 0xf2,
3208
-	0xc5, 0x88, 0x0d, 0xa9, 0x10, 0x92, 0x06, 0x64, 0x07, 0xfd, 0xe9, 0x70, 0xc4, 0xfa, 0xde, 0x28,
3209
-	0x9c, 0x6b, 0x92, 0xf0, 0x2b, 0xfe, 0x83, 0xdf, 0xd9, 0xbd, 0x92, 0x26, 0xdd, 0xf8, 0x0c, 0xd9,
3210
-	0x6c, 0x7c, 0xe5, 0x4e, 0xb5, 0x54, 0x01, 0x95, 0xd2, 0x74, 0x69, 0xc5, 0xef, 0x23, 0x27, 0xde,
3211
-	0xe7, 0x29, 0x64, 0xf8, 0x72, 0xf4, 0x66, 0x53, 0x4f, 0xf4, 0xa7, 0xd2, 0x7d, 0x6e, 0x77, 0xa7,
3212
-	0x1e, 0xf9, 0x04, 0xb2, 0x62, 0xf8, 0xbd, 0x11, 0x1b, 0xba, 0x37, 0xda, 0xbe, 0x88, 0x05, 0x02,
3213
-	0x6a, 0x71, 0x84, 0xe7, 0x99, 0xf4, 0x07, 0x6f, 0xdd, 0xa1, 0x96, 0x29, 0xa0, 0x52, 0x86, 0x2e,
3214
-	0xad, 0xe4, 0x5b, 0xa9, 0x1f, 0xf9, 0x56, 0xcf, 0x40, 0x7d, 0x13, 0xf8, 0xac, 0x27, 0xea, 0x03,
3215
-	0x51, 0x47, 0x86, 0x03, 0x26, 0xaf, 0xf1, 0x53, 0xc8, 0x0d, 0xdd, 0xeb, 0xfe, 0xcc, 0x0b, 0x7b,
3216
-	0xdf, 0xf6, 0xbd, 0x99, 0xab, 0x65, 0x85, 0xe0, 0x60, 0x09, 0x7e, 0xcd, 0xb1, 0xe2, 0xad, 0x04,
3217
-	0x32, 0x9f, 0x24, 0xc1, 0x70, 0xe0, 0x5c, 0xda, 0x46, 0xaf, 0x6b, 0x5e, 0x98, 0xd6, 0x4b, 0x13,
3218
-	0xef, 0x91, 0x43, 0xc8, 0x0a, 0xa4, 0x61, 0x75, 0xeb, 0x6d, 0x03, 0x23, 0x92, 0x07, 0x10, 0xc0,
3219
-	0x79, 0xdb, 0xaa, 0x39, 0x58, 0x8a, 0xed, 0x96, 0xe9, 0x9c, 0x9e, 0xe0, 0x54, 0xec, 0xd0, 0x8d,
3220
-	0x00, 0x39, 0x29, 0xa8, 0x56, 0x70, 0x3a, 0xce, 0x71, 0xde, 0x7a, 0x65, 0x34, 0x4e, 0x4f, 0xb0,
3221
-	0xb2, 0x8e, 0x54, 0x2b, 0x78, 0x9f, 0xe4, 0x40, 0x15, 0x48, 0xdd, 0xb2, 0xda, 0x38, 0x13, 0xc7,
3222
-	0xec, 0x38, 0xb4, 0x65, 0x36, 0xb1, 0x1a, 0xc7, 0x6c, 0x52, 0xab, 0x6b, 0x63, 0x88, 0x23, 0xbc,
3223
-	0x30, 0x3a, 0x9d, 0x5a, 0xd3, 0xc0, 0xd9, 0x58, 0x51, 0xbf, 0x74, 0x8c, 0x0e, 0x3e, 0x58, 0x2b,
3224
-	0xab, 0x5a, 0xc1, 0xb9, 0x38, 0x85, 0x61, 0x76, 0x5f, 0xe0, 0x3c, 0x79, 0x00, 0xb9, 0x28, 0xc5,
3225
-	0xaa, 0x88, 0xc3, 0x0d, 0xe8, 0xf4, 0x04, 0xe3, 0xfb, 0x42, 0xa2, 0x28, 0x0f, 0xd6, 0x80, 0xd3,
3226
-	0x13, 0x4c, 0x8a, 0x21, 0x64, 0x13, 0xbb, 0x45, 0x9e, 0xc0, 0xc3, 0xb3, 0x1a, 0x6d, 0xb4, 0xcc,
3227
-	0x5a, 0xbb, 0xe5, 0x5c, 0x26, 0xe6, 0xaa, 0xc1, 0xa3, 0x24, 0x61, 0xd9, 0x4e, 0xcb, 0x32, 0x6b,
3228
-	0x6d, 0x8c, 0x36, 0x19, 0x6a, 0x7c, 0xd5, 0x6d, 0x51, 0xa3, 0x81, 0xa5, 0x6d, 0xc6, 0x36, 0x6a,
3229
-	0x8e, 0xd1, 0xc0, 0xa9, 0xe2, 0x5f, 0x08, 0x64, 0x83, 0xcd, 0xc6, 0x3b, 0xcf, 0xc8, 0x17, 0xa0,
3230
-	0xba, 0x6c, 0x36, 0x8e, 0x9e, 0x3f, 0xba, 0x24, 0x47, 0x5b, 0x4b, 0xc5, 0xbd, 0xc5, 0x32, 0xd0,
3231
-	0x7b, 0x71, 0x72, 0x19, 0x53, 0xff, 0xf9, 0x70, 0xc8, 0xff, 0xef, 0x70, 0xa4, 0x3f, 0xee, 0x70,
3232
-	0xbc, 0x01, 0x35, 0x6e, 0x61, 0xe7, 0x14, 0xee, 0x3f, 0x6c, 0x69, 0xed, 0xc3, 0xfe, 0xf7, 0x3d,
3233
-	0x16, 0xbf, 0x04, 0x25, 0x82, 0x76, 0x26, 0x7a, 0x0e, 0xe9, 0xd5, 0xa8, 0x79, 0xe3, 0x8f, 0xb6,
3234
-	0xc2, 0xd5, 0xd8, 0x9c, 0x46, 0x92, 0xe7, 0x65, 0x50, 0xa2, 0x3e, 0xf8, 0xb2, 0x75, 0x2e, 0x4d,
3235
-	0xa7, 0xf6, 0xaa, 0x67, 0x53, 0xcb, 0xb1, 0x2a, 0x78, 0x6f, 0x13, 0xaa, 0x62, 0x54, 0xff, 0x01,
3236
-	0xfd, 0x7e, 0xa7, 0xef, 0xbd, 0xbf, 0xd3, 0xd1, 0x87, 0x3b, 0x1d, 0x7d, 0xbf, 0xd0, 0xd1, 0xcf,
3237
-	0x0b, 0x1d, 0xdd, 0x2e, 0x74, 0xf4, 0xdb, 0x42, 0x47, 0x7f, 0x2c, 0x74, 0xf4, 0xe7, 0x42, 0xdf,
3238
-	0x7b, 0xcf, 0xf1, 0x77, 0x3a, 0xba, 0x7d, 0xa7, 0x23, 0x78, 0x38, 0xf0, 0xc7, 0x9b, 0x25, 0xd4,
3239
-	0x55, 0xfe, 0x9f, 0x63, 0x73, 0xcb, 0x46, 0xdf, 0xa4, 0xf9, 0xd1, 0x0a, 0x3e, 0x20, 0xf4, 0x93,
3240
-	0x94, 0x6a, 0xda, 0xf5, 0x5f, 0x24, 0xbd, 0x19, 0xc9, 0xed, 0x55, 0xc5, 0x2f, 0x5d, 0xcf, 0xbb,
3241
-	0x60, 0xfe, 0x77, 0x8c, 0xbb, 0x05, 0x57, 0x8a, 0x88, 0x53, 0xfd, 0x3b, 0x00, 0x00, 0xff, 0xff,
3242
-	0xbc, 0x2a, 0x5e, 0x82, 0x2b, 0x07, 0x00, 0x00,
3243
-}
... ...
@@ -3,18 +3,16 @@
3 3
 
4 4
 package types
5 5
 
6
-import proto "github.com/gogo/protobuf/proto"
7
-import fmt "fmt"
8
-import math "math"
9
-
10
-import bytes "bytes"
11
-
12
-import strings "strings"
13
-import reflect "reflect"
14
-
15
-import encoding_binary "encoding/binary"
16
-
17
-import io "io"
6
+import (
7
+	bytes "bytes"
8
+	encoding_binary "encoding/binary"
9
+	fmt "fmt"
10
+	proto "github.com/gogo/protobuf/proto"
11
+	io "io"
12
+	math "math"
13
+	reflect "reflect"
14
+	strings "strings"
15
+)
18 16
 
19 17
 // Reference imports to suppress errors if they are not otherwise used.
20 18
 var _ = proto.Marshal
... ...
@@ -41,7 +39,7 @@ type DoubleValue struct {
41 41
 func (m *DoubleValue) Reset()      { *m = DoubleValue{} }
42 42
 func (*DoubleValue) ProtoMessage() {}
43 43
 func (*DoubleValue) Descriptor() ([]byte, []int) {
44
-	return fileDescriptor_wrappers_c5239a825c7dfb53, []int{0}
44
+	return fileDescriptor_5377b62bda767935, []int{0}
45 45
 }
46 46
 func (*DoubleValue) XXX_WellKnownType() string { return "DoubleValue" }
47 47
 func (m *DoubleValue) XXX_Unmarshal(b []byte) error {
... ...
@@ -59,8 +57,8 @@ func (m *DoubleValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
59 59
 		return b[:n], nil
60 60
 	}
61 61
 }
62
-func (dst *DoubleValue) XXX_Merge(src proto.Message) {
63
-	xxx_messageInfo_DoubleValue.Merge(dst, src)
62
+func (m *DoubleValue) XXX_Merge(src proto.Message) {
63
+	xxx_messageInfo_DoubleValue.Merge(m, src)
64 64
 }
65 65
 func (m *DoubleValue) XXX_Size() int {
66 66
 	return m.Size()
... ...
@@ -96,7 +94,7 @@ type FloatValue struct {
96 96
 func (m *FloatValue) Reset()      { *m = FloatValue{} }
97 97
 func (*FloatValue) ProtoMessage() {}
98 98
 func (*FloatValue) Descriptor() ([]byte, []int) {
99
-	return fileDescriptor_wrappers_c5239a825c7dfb53, []int{1}
99
+	return fileDescriptor_5377b62bda767935, []int{1}
100 100
 }
101 101
 func (*FloatValue) XXX_WellKnownType() string { return "FloatValue" }
102 102
 func (m *FloatValue) XXX_Unmarshal(b []byte) error {
... ...
@@ -114,8 +112,8 @@ func (m *FloatValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
114 114
 		return b[:n], nil
115 115
 	}
116 116
 }
117
-func (dst *FloatValue) XXX_Merge(src proto.Message) {
118
-	xxx_messageInfo_FloatValue.Merge(dst, src)
117
+func (m *FloatValue) XXX_Merge(src proto.Message) {
118
+	xxx_messageInfo_FloatValue.Merge(m, src)
119 119
 }
120 120
 func (m *FloatValue) XXX_Size() int {
121 121
 	return m.Size()
... ...
@@ -151,7 +149,7 @@ type Int64Value struct {
151 151
 func (m *Int64Value) Reset()      { *m = Int64Value{} }
152 152
 func (*Int64Value) ProtoMessage() {}
153 153
 func (*Int64Value) Descriptor() ([]byte, []int) {
154
-	return fileDescriptor_wrappers_c5239a825c7dfb53, []int{2}
154
+	return fileDescriptor_5377b62bda767935, []int{2}
155 155
 }
156 156
 func (*Int64Value) XXX_WellKnownType() string { return "Int64Value" }
157 157
 func (m *Int64Value) XXX_Unmarshal(b []byte) error {
... ...
@@ -169,8 +167,8 @@ func (m *Int64Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
169 169
 		return b[:n], nil
170 170
 	}
171 171
 }
172
-func (dst *Int64Value) XXX_Merge(src proto.Message) {
173
-	xxx_messageInfo_Int64Value.Merge(dst, src)
172
+func (m *Int64Value) XXX_Merge(src proto.Message) {
173
+	xxx_messageInfo_Int64Value.Merge(m, src)
174 174
 }
175 175
 func (m *Int64Value) XXX_Size() int {
176 176
 	return m.Size()
... ...
@@ -206,7 +204,7 @@ type UInt64Value struct {
206 206
 func (m *UInt64Value) Reset()      { *m = UInt64Value{} }
207 207
 func (*UInt64Value) ProtoMessage() {}
208 208
 func (*UInt64Value) Descriptor() ([]byte, []int) {
209
-	return fileDescriptor_wrappers_c5239a825c7dfb53, []int{3}
209
+	return fileDescriptor_5377b62bda767935, []int{3}
210 210
 }
211 211
 func (*UInt64Value) XXX_WellKnownType() string { return "UInt64Value" }
212 212
 func (m *UInt64Value) XXX_Unmarshal(b []byte) error {
... ...
@@ -224,8 +222,8 @@ func (m *UInt64Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
224 224
 		return b[:n], nil
225 225
 	}
226 226
 }
227
-func (dst *UInt64Value) XXX_Merge(src proto.Message) {
228
-	xxx_messageInfo_UInt64Value.Merge(dst, src)
227
+func (m *UInt64Value) XXX_Merge(src proto.Message) {
228
+	xxx_messageInfo_UInt64Value.Merge(m, src)
229 229
 }
230 230
 func (m *UInt64Value) XXX_Size() int {
231 231
 	return m.Size()
... ...
@@ -261,7 +259,7 @@ type Int32Value struct {
261 261
 func (m *Int32Value) Reset()      { *m = Int32Value{} }
262 262
 func (*Int32Value) ProtoMessage() {}
263 263
 func (*Int32Value) Descriptor() ([]byte, []int) {
264
-	return fileDescriptor_wrappers_c5239a825c7dfb53, []int{4}
264
+	return fileDescriptor_5377b62bda767935, []int{4}
265 265
 }
266 266
 func (*Int32Value) XXX_WellKnownType() string { return "Int32Value" }
267 267
 func (m *Int32Value) XXX_Unmarshal(b []byte) error {
... ...
@@ -279,8 +277,8 @@ func (m *Int32Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
279 279
 		return b[:n], nil
280 280
 	}
281 281
 }
282
-func (dst *Int32Value) XXX_Merge(src proto.Message) {
283
-	xxx_messageInfo_Int32Value.Merge(dst, src)
282
+func (m *Int32Value) XXX_Merge(src proto.Message) {
283
+	xxx_messageInfo_Int32Value.Merge(m, src)
284 284
 }
285 285
 func (m *Int32Value) XXX_Size() int {
286 286
 	return m.Size()
... ...
@@ -316,7 +314,7 @@ type UInt32Value struct {
316 316
 func (m *UInt32Value) Reset()      { *m = UInt32Value{} }
317 317
 func (*UInt32Value) ProtoMessage() {}
318 318
 func (*UInt32Value) Descriptor() ([]byte, []int) {
319
-	return fileDescriptor_wrappers_c5239a825c7dfb53, []int{5}
319
+	return fileDescriptor_5377b62bda767935, []int{5}
320 320
 }
321 321
 func (*UInt32Value) XXX_WellKnownType() string { return "UInt32Value" }
322 322
 func (m *UInt32Value) XXX_Unmarshal(b []byte) error {
... ...
@@ -334,8 +332,8 @@ func (m *UInt32Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
334 334
 		return b[:n], nil
335 335
 	}
336 336
 }
337
-func (dst *UInt32Value) XXX_Merge(src proto.Message) {
338
-	xxx_messageInfo_UInt32Value.Merge(dst, src)
337
+func (m *UInt32Value) XXX_Merge(src proto.Message) {
338
+	xxx_messageInfo_UInt32Value.Merge(m, src)
339 339
 }
340 340
 func (m *UInt32Value) XXX_Size() int {
341 341
 	return m.Size()
... ...
@@ -371,7 +369,7 @@ type BoolValue struct {
371 371
 func (m *BoolValue) Reset()      { *m = BoolValue{} }
372 372
 func (*BoolValue) ProtoMessage() {}
373 373
 func (*BoolValue) Descriptor() ([]byte, []int) {
374
-	return fileDescriptor_wrappers_c5239a825c7dfb53, []int{6}
374
+	return fileDescriptor_5377b62bda767935, []int{6}
375 375
 }
376 376
 func (*BoolValue) XXX_WellKnownType() string { return "BoolValue" }
377 377
 func (m *BoolValue) XXX_Unmarshal(b []byte) error {
... ...
@@ -389,8 +387,8 @@ func (m *BoolValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
389 389
 		return b[:n], nil
390 390
 	}
391 391
 }
392
-func (dst *BoolValue) XXX_Merge(src proto.Message) {
393
-	xxx_messageInfo_BoolValue.Merge(dst, src)
392
+func (m *BoolValue) XXX_Merge(src proto.Message) {
393
+	xxx_messageInfo_BoolValue.Merge(m, src)
394 394
 }
395 395
 func (m *BoolValue) XXX_Size() int {
396 396
 	return m.Size()
... ...
@@ -426,7 +424,7 @@ type StringValue struct {
426 426
 func (m *StringValue) Reset()      { *m = StringValue{} }
427 427
 func (*StringValue) ProtoMessage() {}
428 428
 func (*StringValue) Descriptor() ([]byte, []int) {
429
-	return fileDescriptor_wrappers_c5239a825c7dfb53, []int{7}
429
+	return fileDescriptor_5377b62bda767935, []int{7}
430 430
 }
431 431
 func (*StringValue) XXX_WellKnownType() string { return "StringValue" }
432 432
 func (m *StringValue) XXX_Unmarshal(b []byte) error {
... ...
@@ -444,8 +442,8 @@ func (m *StringValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
444 444
 		return b[:n], nil
445 445
 	}
446 446
 }
447
-func (dst *StringValue) XXX_Merge(src proto.Message) {
448
-	xxx_messageInfo_StringValue.Merge(dst, src)
447
+func (m *StringValue) XXX_Merge(src proto.Message) {
448
+	xxx_messageInfo_StringValue.Merge(m, src)
449 449
 }
450 450
 func (m *StringValue) XXX_Size() int {
451 451
 	return m.Size()
... ...
@@ -481,7 +479,7 @@ type BytesValue struct {
481 481
 func (m *BytesValue) Reset()      { *m = BytesValue{} }
482 482
 func (*BytesValue) ProtoMessage() {}
483 483
 func (*BytesValue) Descriptor() ([]byte, []int) {
484
-	return fileDescriptor_wrappers_c5239a825c7dfb53, []int{8}
484
+	return fileDescriptor_5377b62bda767935, []int{8}
485 485
 }
486 486
 func (*BytesValue) XXX_WellKnownType() string { return "BytesValue" }
487 487
 func (m *BytesValue) XXX_Unmarshal(b []byte) error {
... ...
@@ -499,8 +497,8 @@ func (m *BytesValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
499 499
 		return b[:n], nil
500 500
 	}
501 501
 }
502
-func (dst *BytesValue) XXX_Merge(src proto.Message) {
503
-	xxx_messageInfo_BytesValue.Merge(dst, src)
502
+func (m *BytesValue) XXX_Merge(src proto.Message) {
503
+	xxx_messageInfo_BytesValue.Merge(m, src)
504 504
 }
505 505
 func (m *BytesValue) XXX_Size() int {
506 506
 	return m.Size()
... ...
@@ -532,6 +530,31 @@ func init() {
532 532
 	proto.RegisterType((*StringValue)(nil), "google.protobuf.StringValue")
533 533
 	proto.RegisterType((*BytesValue)(nil), "google.protobuf.BytesValue")
534 534
 }
535
+
536
+func init() { proto.RegisterFile("google/protobuf/wrappers.proto", fileDescriptor_5377b62bda767935) }
537
+
538
+var fileDescriptor_5377b62bda767935 = []byte{
539
+	// 285 bytes of a gzipped FileDescriptorProto
540
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f,
541
+	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x2f, 0x4a, 0x2c,
542
+	0x28, 0x48, 0x2d, 0x2a, 0xd6, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0xca,
543
+	0x5c, 0xdc, 0x2e, 0xf9, 0xa5, 0x49, 0x39, 0xa9, 0x61, 0x89, 0x39, 0xa5, 0xa9, 0x42, 0x22, 0x5c,
544
+	0xac, 0x65, 0x20, 0x86, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x63, 0x10, 0x84, 0xa3, 0xa4, 0xc4, 0xc5,
545
+	0xe5, 0x96, 0x93, 0x9f, 0x58, 0x82, 0x45, 0x0d, 0x13, 0x92, 0x1a, 0xcf, 0xbc, 0x12, 0x33, 0x13,
546
+	0x2c, 0x6a, 0x98, 0x61, 0x6a, 0x94, 0xb9, 0xb8, 0x43, 0x71, 0x29, 0x62, 0x41, 0x35, 0xc8, 0xd8,
547
+	0x08, 0x8b, 0x1a, 0x56, 0x34, 0x83, 0xb0, 0x2a, 0xe2, 0x85, 0x29, 0x52, 0xe4, 0xe2, 0x74, 0xca,
548
+	0xcf, 0xcf, 0xc1, 0xa2, 0x84, 0x03, 0xc9, 0x9c, 0xe0, 0x92, 0xa2, 0xcc, 0xbc, 0x74, 0x2c, 0x8a,
549
+	0x38, 0x91, 0x1c, 0xe4, 0x54, 0x59, 0x92, 0x5a, 0x8c, 0x45, 0x0d, 0x0f, 0x54, 0x8d, 0x53, 0x3b,
550
+	0xe3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28, 0xc7, 0xd8, 0xf0, 0x48,
551
+	0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0,
552
+	0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x20, 0xf1, 0xc7, 0x72, 0x8c, 0x27, 0x1e, 0xcb,
553
+	0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x45, 0x87, 0x13, 0x6f, 0x38, 0x34, 0xbe, 0x02,
554
+	0x40, 0x22, 0x01, 0x8c, 0x51, 0xac, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x3f, 0x18, 0x19, 0x17, 0x31,
555
+	0x31, 0xbb, 0x07, 0x38, 0xad, 0x62, 0x92, 0x73, 0x87, 0x68, 0x09, 0x80, 0x6a, 0xd1, 0x0b, 0x4f,
556
+	0xcd, 0xc9, 0xf1, 0xce, 0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0xa9, 0x4c, 0x62, 0x03, 0x9b, 0x65, 0x0c,
557
+	0x08, 0x00, 0x00, 0xff, 0xff, 0x31, 0x55, 0x64, 0x90, 0x0a, 0x02, 0x00, 0x00,
558
+}
559
+
535 560
 func (this *DoubleValue) Compare(that interface{}) int {
536 561
 	if that == nil {
537 562
 		if this == nil {
... ...
@@ -1914,7 +1937,7 @@ func (m *DoubleValue) Unmarshal(dAtA []byte) error {
1914 1914
 			}
1915 1915
 			b := dAtA[iNdEx]
1916 1916
 			iNdEx++
1917
-			wire |= (uint64(b) & 0x7F) << shift
1917
+			wire |= uint64(b&0x7F) << shift
1918 1918
 			if b < 0x80 {
1919 1919
 				break
1920 1920
 			}
... ...
@@ -1948,6 +1971,9 @@ func (m *DoubleValue) Unmarshal(dAtA []byte) error {
1948 1948
 			if skippy < 0 {
1949 1949
 				return ErrInvalidLengthWrappers
1950 1950
 			}
1951
+			if (iNdEx + skippy) < 0 {
1952
+				return ErrInvalidLengthWrappers
1953
+			}
1951 1954
 			if (iNdEx + skippy) > l {
1952 1955
 				return io.ErrUnexpectedEOF
1953 1956
 			}
... ...
@@ -1976,7 +2002,7 @@ func (m *FloatValue) Unmarshal(dAtA []byte) error {
1976 1976
 			}
1977 1977
 			b := dAtA[iNdEx]
1978 1978
 			iNdEx++
1979
-			wire |= (uint64(b) & 0x7F) << shift
1979
+			wire |= uint64(b&0x7F) << shift
1980 1980
 			if b < 0x80 {
1981 1981
 				break
1982 1982
 			}
... ...
@@ -2010,6 +2036,9 @@ func (m *FloatValue) Unmarshal(dAtA []byte) error {
2010 2010
 			if skippy < 0 {
2011 2011
 				return ErrInvalidLengthWrappers
2012 2012
 			}
2013
+			if (iNdEx + skippy) < 0 {
2014
+				return ErrInvalidLengthWrappers
2015
+			}
2013 2016
 			if (iNdEx + skippy) > l {
2014 2017
 				return io.ErrUnexpectedEOF
2015 2018
 			}
... ...
@@ -2038,7 +2067,7 @@ func (m *Int64Value) Unmarshal(dAtA []byte) error {
2038 2038
 			}
2039 2039
 			b := dAtA[iNdEx]
2040 2040
 			iNdEx++
2041
-			wire |= (uint64(b) & 0x7F) << shift
2041
+			wire |= uint64(b&0x7F) << shift
2042 2042
 			if b < 0x80 {
2043 2043
 				break
2044 2044
 			}
... ...
@@ -2066,7 +2095,7 @@ func (m *Int64Value) Unmarshal(dAtA []byte) error {
2066 2066
 				}
2067 2067
 				b := dAtA[iNdEx]
2068 2068
 				iNdEx++
2069
-				m.Value |= (int64(b) & 0x7F) << shift
2069
+				m.Value |= int64(b&0x7F) << shift
2070 2070
 				if b < 0x80 {
2071 2071
 					break
2072 2072
 				}
... ...
@@ -2080,6 +2109,9 @@ func (m *Int64Value) Unmarshal(dAtA []byte) error {
2080 2080
 			if skippy < 0 {
2081 2081
 				return ErrInvalidLengthWrappers
2082 2082
 			}
2083
+			if (iNdEx + skippy) < 0 {
2084
+				return ErrInvalidLengthWrappers
2085
+			}
2083 2086
 			if (iNdEx + skippy) > l {
2084 2087
 				return io.ErrUnexpectedEOF
2085 2088
 			}
... ...
@@ -2108,7 +2140,7 @@ func (m *UInt64Value) Unmarshal(dAtA []byte) error {
2108 2108
 			}
2109 2109
 			b := dAtA[iNdEx]
2110 2110
 			iNdEx++
2111
-			wire |= (uint64(b) & 0x7F) << shift
2111
+			wire |= uint64(b&0x7F) << shift
2112 2112
 			if b < 0x80 {
2113 2113
 				break
2114 2114
 			}
... ...
@@ -2136,7 +2168,7 @@ func (m *UInt64Value) Unmarshal(dAtA []byte) error {
2136 2136
 				}
2137 2137
 				b := dAtA[iNdEx]
2138 2138
 				iNdEx++
2139
-				m.Value |= (uint64(b) & 0x7F) << shift
2139
+				m.Value |= uint64(b&0x7F) << shift
2140 2140
 				if b < 0x80 {
2141 2141
 					break
2142 2142
 				}
... ...
@@ -2150,6 +2182,9 @@ func (m *UInt64Value) Unmarshal(dAtA []byte) error {
2150 2150
 			if skippy < 0 {
2151 2151
 				return ErrInvalidLengthWrappers
2152 2152
 			}
2153
+			if (iNdEx + skippy) < 0 {
2154
+				return ErrInvalidLengthWrappers
2155
+			}
2153 2156
 			if (iNdEx + skippy) > l {
2154 2157
 				return io.ErrUnexpectedEOF
2155 2158
 			}
... ...
@@ -2178,7 +2213,7 @@ func (m *Int32Value) Unmarshal(dAtA []byte) error {
2178 2178
 			}
2179 2179
 			b := dAtA[iNdEx]
2180 2180
 			iNdEx++
2181
-			wire |= (uint64(b) & 0x7F) << shift
2181
+			wire |= uint64(b&0x7F) << shift
2182 2182
 			if b < 0x80 {
2183 2183
 				break
2184 2184
 			}
... ...
@@ -2206,7 +2241,7 @@ func (m *Int32Value) Unmarshal(dAtA []byte) error {
2206 2206
 				}
2207 2207
 				b := dAtA[iNdEx]
2208 2208
 				iNdEx++
2209
-				m.Value |= (int32(b) & 0x7F) << shift
2209
+				m.Value |= int32(b&0x7F) << shift
2210 2210
 				if b < 0x80 {
2211 2211
 					break
2212 2212
 				}
... ...
@@ -2220,6 +2255,9 @@ func (m *Int32Value) Unmarshal(dAtA []byte) error {
2220 2220
 			if skippy < 0 {
2221 2221
 				return ErrInvalidLengthWrappers
2222 2222
 			}
2223
+			if (iNdEx + skippy) < 0 {
2224
+				return ErrInvalidLengthWrappers
2225
+			}
2223 2226
 			if (iNdEx + skippy) > l {
2224 2227
 				return io.ErrUnexpectedEOF
2225 2228
 			}
... ...
@@ -2248,7 +2286,7 @@ func (m *UInt32Value) Unmarshal(dAtA []byte) error {
2248 2248
 			}
2249 2249
 			b := dAtA[iNdEx]
2250 2250
 			iNdEx++
2251
-			wire |= (uint64(b) & 0x7F) << shift
2251
+			wire |= uint64(b&0x7F) << shift
2252 2252
 			if b < 0x80 {
2253 2253
 				break
2254 2254
 			}
... ...
@@ -2276,7 +2314,7 @@ func (m *UInt32Value) Unmarshal(dAtA []byte) error {
2276 2276
 				}
2277 2277
 				b := dAtA[iNdEx]
2278 2278
 				iNdEx++
2279
-				m.Value |= (uint32(b) & 0x7F) << shift
2279
+				m.Value |= uint32(b&0x7F) << shift
2280 2280
 				if b < 0x80 {
2281 2281
 					break
2282 2282
 				}
... ...
@@ -2290,6 +2328,9 @@ func (m *UInt32Value) Unmarshal(dAtA []byte) error {
2290 2290
 			if skippy < 0 {
2291 2291
 				return ErrInvalidLengthWrappers
2292 2292
 			}
2293
+			if (iNdEx + skippy) < 0 {
2294
+				return ErrInvalidLengthWrappers
2295
+			}
2293 2296
 			if (iNdEx + skippy) > l {
2294 2297
 				return io.ErrUnexpectedEOF
2295 2298
 			}
... ...
@@ -2318,7 +2359,7 @@ func (m *BoolValue) Unmarshal(dAtA []byte) error {
2318 2318
 			}
2319 2319
 			b := dAtA[iNdEx]
2320 2320
 			iNdEx++
2321
-			wire |= (uint64(b) & 0x7F) << shift
2321
+			wire |= uint64(b&0x7F) << shift
2322 2322
 			if b < 0x80 {
2323 2323
 				break
2324 2324
 			}
... ...
@@ -2346,7 +2387,7 @@ func (m *BoolValue) Unmarshal(dAtA []byte) error {
2346 2346
 				}
2347 2347
 				b := dAtA[iNdEx]
2348 2348
 				iNdEx++
2349
-				v |= (int(b) & 0x7F) << shift
2349
+				v |= int(b&0x7F) << shift
2350 2350
 				if b < 0x80 {
2351 2351
 					break
2352 2352
 				}
... ...
@@ -2361,6 +2402,9 @@ func (m *BoolValue) Unmarshal(dAtA []byte) error {
2361 2361
 			if skippy < 0 {
2362 2362
 				return ErrInvalidLengthWrappers
2363 2363
 			}
2364
+			if (iNdEx + skippy) < 0 {
2365
+				return ErrInvalidLengthWrappers
2366
+			}
2364 2367
 			if (iNdEx + skippy) > l {
2365 2368
 				return io.ErrUnexpectedEOF
2366 2369
 			}
... ...
@@ -2389,7 +2433,7 @@ func (m *StringValue) Unmarshal(dAtA []byte) error {
2389 2389
 			}
2390 2390
 			b := dAtA[iNdEx]
2391 2391
 			iNdEx++
2392
-			wire |= (uint64(b) & 0x7F) << shift
2392
+			wire |= uint64(b&0x7F) << shift
2393 2393
 			if b < 0x80 {
2394 2394
 				break
2395 2395
 			}
... ...
@@ -2417,7 +2461,7 @@ func (m *StringValue) Unmarshal(dAtA []byte) error {
2417 2417
 				}
2418 2418
 				b := dAtA[iNdEx]
2419 2419
 				iNdEx++
2420
-				stringLen |= (uint64(b) & 0x7F) << shift
2420
+				stringLen |= uint64(b&0x7F) << shift
2421 2421
 				if b < 0x80 {
2422 2422
 					break
2423 2423
 				}
... ...
@@ -2427,6 +2471,9 @@ func (m *StringValue) Unmarshal(dAtA []byte) error {
2427 2427
 				return ErrInvalidLengthWrappers
2428 2428
 			}
2429 2429
 			postIndex := iNdEx + intStringLen
2430
+			if postIndex < 0 {
2431
+				return ErrInvalidLengthWrappers
2432
+			}
2430 2433
 			if postIndex > l {
2431 2434
 				return io.ErrUnexpectedEOF
2432 2435
 			}
... ...
@@ -2441,6 +2488,9 @@ func (m *StringValue) Unmarshal(dAtA []byte) error {
2441 2441
 			if skippy < 0 {
2442 2442
 				return ErrInvalidLengthWrappers
2443 2443
 			}
2444
+			if (iNdEx + skippy) < 0 {
2445
+				return ErrInvalidLengthWrappers
2446
+			}
2444 2447
 			if (iNdEx + skippy) > l {
2445 2448
 				return io.ErrUnexpectedEOF
2446 2449
 			}
... ...
@@ -2469,7 +2519,7 @@ func (m *BytesValue) Unmarshal(dAtA []byte) error {
2469 2469
 			}
2470 2470
 			b := dAtA[iNdEx]
2471 2471
 			iNdEx++
2472
-			wire |= (uint64(b) & 0x7F) << shift
2472
+			wire |= uint64(b&0x7F) << shift
2473 2473
 			if b < 0x80 {
2474 2474
 				break
2475 2475
 			}
... ...
@@ -2497,7 +2547,7 @@ func (m *BytesValue) Unmarshal(dAtA []byte) error {
2497 2497
 				}
2498 2498
 				b := dAtA[iNdEx]
2499 2499
 				iNdEx++
2500
-				byteLen |= (int(b) & 0x7F) << shift
2500
+				byteLen |= int(b&0x7F) << shift
2501 2501
 				if b < 0x80 {
2502 2502
 					break
2503 2503
 				}
... ...
@@ -2506,6 +2556,9 @@ func (m *BytesValue) Unmarshal(dAtA []byte) error {
2506 2506
 				return ErrInvalidLengthWrappers
2507 2507
 			}
2508 2508
 			postIndex := iNdEx + byteLen
2509
+			if postIndex < 0 {
2510
+				return ErrInvalidLengthWrappers
2511
+			}
2509 2512
 			if postIndex > l {
2510 2513
 				return io.ErrUnexpectedEOF
2511 2514
 			}
... ...
@@ -2523,6 +2576,9 @@ func (m *BytesValue) Unmarshal(dAtA []byte) error {
2523 2523
 			if skippy < 0 {
2524 2524
 				return ErrInvalidLengthWrappers
2525 2525
 			}
2526
+			if (iNdEx + skippy) < 0 {
2527
+				return ErrInvalidLengthWrappers
2528
+			}
2526 2529
 			if (iNdEx + skippy) > l {
2527 2530
 				return io.ErrUnexpectedEOF
2528 2531
 			}
... ...
@@ -2590,10 +2646,13 @@ func skipWrappers(dAtA []byte) (n int, err error) {
2590 2590
 					break
2591 2591
 				}
2592 2592
 			}
2593
-			iNdEx += length
2594 2593
 			if length < 0 {
2595 2594
 				return 0, ErrInvalidLengthWrappers
2596 2595
 			}
2596
+			iNdEx += length
2597
+			if iNdEx < 0 {
2598
+				return 0, ErrInvalidLengthWrappers
2599
+			}
2597 2600
 			return iNdEx, nil
2598 2601
 		case 3:
2599 2602
 			for {
... ...
@@ -2622,6 +2681,9 @@ func skipWrappers(dAtA []byte) (n int, err error) {
2622 2622
 					return 0, err
2623 2623
 				}
2624 2624
 				iNdEx = start + next
2625
+				if iNdEx < 0 {
2626
+					return 0, ErrInvalidLengthWrappers
2627
+				}
2625 2628
 			}
2626 2629
 			return iNdEx, nil
2627 2630
 		case 4:
... ...
@@ -2640,29 +2702,3 @@ var (
2640 2640
 	ErrInvalidLengthWrappers = fmt.Errorf("proto: negative length found during unmarshaling")
2641 2641
 	ErrIntOverflowWrappers   = fmt.Errorf("proto: integer overflow")
2642 2642
 )
2643
-
2644
-func init() {
2645
-	proto.RegisterFile("google/protobuf/wrappers.proto", fileDescriptor_wrappers_c5239a825c7dfb53)
2646
-}
2647
-
2648
-var fileDescriptor_wrappers_c5239a825c7dfb53 = []byte{
2649
-	// 285 bytes of a gzipped FileDescriptorProto
2650
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f,
2651
-	0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x2f, 0x4a, 0x2c,
2652
-	0x28, 0x48, 0x2d, 0x2a, 0xd6, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0xca,
2653
-	0x5c, 0xdc, 0x2e, 0xf9, 0xa5, 0x49, 0x39, 0xa9, 0x61, 0x89, 0x39, 0xa5, 0xa9, 0x42, 0x22, 0x5c,
2654
-	0xac, 0x65, 0x20, 0x86, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x63, 0x10, 0x84, 0xa3, 0xa4, 0xc4, 0xc5,
2655
-	0xe5, 0x96, 0x93, 0x9f, 0x58, 0x82, 0x45, 0x0d, 0x13, 0x92, 0x1a, 0xcf, 0xbc, 0x12, 0x33, 0x13,
2656
-	0x2c, 0x6a, 0x98, 0x61, 0x6a, 0x94, 0xb9, 0xb8, 0x43, 0x71, 0x29, 0x62, 0x41, 0x35, 0xc8, 0xd8,
2657
-	0x08, 0x8b, 0x1a, 0x56, 0x34, 0x83, 0xb0, 0x2a, 0xe2, 0x85, 0x29, 0x52, 0xe4, 0xe2, 0x74, 0xca,
2658
-	0xcf, 0xcf, 0xc1, 0xa2, 0x84, 0x03, 0xc9, 0x9c, 0xe0, 0x92, 0xa2, 0xcc, 0xbc, 0x74, 0x2c, 0x8a,
2659
-	0x38, 0x91, 0x1c, 0xe4, 0x54, 0x59, 0x92, 0x5a, 0x8c, 0x45, 0x0d, 0x0f, 0x54, 0x8d, 0x53, 0x3b,
2660
-	0xe3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28, 0xc7, 0xd8, 0xf0, 0x48,
2661
-	0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0,
2662
-	0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x20, 0xf1, 0xc7, 0x72, 0x8c, 0x27, 0x1e, 0xcb,
2663
-	0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x45, 0x87, 0x13, 0x6f, 0x38, 0x34, 0xbe, 0x02,
2664
-	0x40, 0x22, 0x01, 0x8c, 0x51, 0xac, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x3f, 0x18, 0x19, 0x17, 0x31,
2665
-	0x31, 0xbb, 0x07, 0x38, 0xad, 0x62, 0x92, 0x73, 0x87, 0x68, 0x09, 0x80, 0x6a, 0xd1, 0x0b, 0x4f,
2666
-	0xcd, 0xc9, 0xf1, 0xce, 0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0xa9, 0x4c, 0x62, 0x03, 0x9b, 0x65, 0x0c,
2667
-	0x08, 0x00, 0x00, 0xff, 0xff, 0x31, 0x55, 0x64, 0x90, 0x0a, 0x02, 0x00, 0x00,
2668
-}