github.com/ZihuaZhang/fabric-protos-go@v1.0.7/peer/proposal_response.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // source: peer/proposal_response.proto 3 4 package peer 5 6 import ( 7 fmt "fmt" 8 proto "github.com/golang/protobuf/proto" 9 common "github.com/ZihuaZhang/fabric-protos-go/common" 10 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 11 math "math" 12 ) 13 14 // Reference imports to suppress errors if they are not otherwise used. 15 var _ = proto.Marshal 16 var _ = fmt.Errorf 17 var _ = math.Inf 18 19 // This is a compile-time assertion to ensure that this generated file 20 // is compatible with the proto package it is being compiled against. 21 // A compilation error at this line likely means your copy of the 22 // proto package needs to be updated. 23 const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 24 25 // A ProposalResponse is returned from an endorser to the proposal submitter. 26 // The idea is that this message contains the endorser's response to the 27 // request of a client to perform an action over a chaincode (or more 28 // generically on the ledger); the response might be success/error (conveyed in 29 // the Response field) together with a description of the action and a 30 // signature over it by that endorser. If a sufficient number of distinct 31 // endorsers agree on the same action and produce signature to that effect, a 32 // transaction can be generated and sent for ordering. 33 type ProposalResponse struct { 34 // Version indicates message protocol version 35 Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` 36 // Timestamp is the time that the message 37 // was created as defined by the sender 38 Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 39 // A response message indicating whether the 40 // endorsement of the action was successful 41 Response *Response `protobuf:"bytes,4,opt,name=response,proto3" json:"response,omitempty"` 42 // The payload of response. It is the bytes of ProposalResponsePayload 43 Payload []byte `protobuf:"bytes,5,opt,name=payload,proto3" json:"payload,omitempty"` 44 // The endorsement of the proposal, basically 45 // the endorser's signature over the payload 46 Endorsement *Endorsement `protobuf:"bytes,6,opt,name=endorsement,proto3" json:"endorsement,omitempty"` 47 // The chaincode interest derived from simulating the proposal. 48 Interest *ChaincodeInterest `protobuf:"bytes,7,opt,name=interest,proto3" json:"interest,omitempty"` 49 XXX_NoUnkeyedLiteral struct{} `json:"-"` 50 XXX_unrecognized []byte `json:"-"` 51 XXX_sizecache int32 `json:"-"` 52 } 53 54 func (m *ProposalResponse) Reset() { *m = ProposalResponse{} } 55 func (m *ProposalResponse) String() string { return proto.CompactTextString(m) } 56 func (*ProposalResponse) ProtoMessage() {} 57 func (*ProposalResponse) Descriptor() ([]byte, []int) { 58 return fileDescriptor_2ed51030656d961a, []int{0} 59 } 60 61 func (m *ProposalResponse) XXX_Unmarshal(b []byte) error { 62 return xxx_messageInfo_ProposalResponse.Unmarshal(m, b) 63 } 64 func (m *ProposalResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 65 return xxx_messageInfo_ProposalResponse.Marshal(b, m, deterministic) 66 } 67 func (m *ProposalResponse) XXX_Merge(src proto.Message) { 68 xxx_messageInfo_ProposalResponse.Merge(m, src) 69 } 70 func (m *ProposalResponse) XXX_Size() int { 71 return xxx_messageInfo_ProposalResponse.Size(m) 72 } 73 func (m *ProposalResponse) XXX_DiscardUnknown() { 74 xxx_messageInfo_ProposalResponse.DiscardUnknown(m) 75 } 76 77 var xxx_messageInfo_ProposalResponse proto.InternalMessageInfo 78 79 func (m *ProposalResponse) GetVersion() int32 { 80 if m != nil { 81 return m.Version 82 } 83 return 0 84 } 85 86 func (m *ProposalResponse) GetTimestamp() *timestamppb.Timestamp { 87 if m != nil { 88 return m.Timestamp 89 } 90 return nil 91 } 92 93 func (m *ProposalResponse) GetResponse() *Response { 94 if m != nil { 95 return m.Response 96 } 97 return nil 98 } 99 100 func (m *ProposalResponse) GetPayload() []byte { 101 if m != nil { 102 return m.Payload 103 } 104 return nil 105 } 106 107 func (m *ProposalResponse) GetEndorsement() *Endorsement { 108 if m != nil { 109 return m.Endorsement 110 } 111 return nil 112 } 113 114 func (m *ProposalResponse) GetInterest() *ChaincodeInterest { 115 if m != nil { 116 return m.Interest 117 } 118 return nil 119 } 120 121 // A response with a representation similar to an HTTP response that can 122 // be used within another message. 123 type Response struct { 124 // A status code that should follow the HTTP status codes. 125 Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` 126 // A message associated with the response code. 127 Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` 128 // A payload that can be used to include metadata with this response. 129 Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` 130 XXX_NoUnkeyedLiteral struct{} `json:"-"` 131 XXX_unrecognized []byte `json:"-"` 132 XXX_sizecache int32 `json:"-"` 133 } 134 135 func (m *Response) Reset() { *m = Response{} } 136 func (m *Response) String() string { return proto.CompactTextString(m) } 137 func (*Response) ProtoMessage() {} 138 func (*Response) Descriptor() ([]byte, []int) { 139 return fileDescriptor_2ed51030656d961a, []int{1} 140 } 141 142 func (m *Response) XXX_Unmarshal(b []byte) error { 143 return xxx_messageInfo_Response.Unmarshal(m, b) 144 } 145 func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 146 return xxx_messageInfo_Response.Marshal(b, m, deterministic) 147 } 148 func (m *Response) XXX_Merge(src proto.Message) { 149 xxx_messageInfo_Response.Merge(m, src) 150 } 151 func (m *Response) XXX_Size() int { 152 return xxx_messageInfo_Response.Size(m) 153 } 154 func (m *Response) XXX_DiscardUnknown() { 155 xxx_messageInfo_Response.DiscardUnknown(m) 156 } 157 158 var xxx_messageInfo_Response proto.InternalMessageInfo 159 160 func (m *Response) GetStatus() int32 { 161 if m != nil { 162 return m.Status 163 } 164 return 0 165 } 166 167 func (m *Response) GetMessage() string { 168 if m != nil { 169 return m.Message 170 } 171 return "" 172 } 173 174 func (m *Response) GetPayload() []byte { 175 if m != nil { 176 return m.Payload 177 } 178 return nil 179 } 180 181 // ProposalResponsePayload is the payload of a proposal response. This message 182 // is the "bridge" between the client's request and the endorser's action in 183 // response to that request. Concretely, for chaincodes, it contains a hashed 184 // representation of the proposal (proposalHash) and a representation of the 185 // chaincode state changes and events inside the extension field. 186 type ProposalResponsePayload struct { 187 // Hash of the proposal that triggered this response. The hash is used to 188 // link a response with its proposal, both for bookeeping purposes on an 189 // asynchronous system and for security reasons (accountability, 190 // non-repudiation). The hash usually covers the entire Proposal message 191 // (byte-by-byte). 192 ProposalHash []byte `protobuf:"bytes,1,opt,name=proposal_hash,json=proposalHash,proto3" json:"proposal_hash,omitempty"` 193 // Extension should be unmarshaled to a type-specific message. The type of 194 // the extension in any proposal response depends on the type of the proposal 195 // that the client selected when the proposal was initially sent out. In 196 // particular, this information is stored in the type field of a Header. For 197 // chaincode, it's a ChaincodeAction message 198 Extension []byte `protobuf:"bytes,2,opt,name=extension,proto3" json:"extension,omitempty"` 199 XXX_NoUnkeyedLiteral struct{} `json:"-"` 200 XXX_unrecognized []byte `json:"-"` 201 XXX_sizecache int32 `json:"-"` 202 } 203 204 func (m *ProposalResponsePayload) Reset() { *m = ProposalResponsePayload{} } 205 func (m *ProposalResponsePayload) String() string { return proto.CompactTextString(m) } 206 func (*ProposalResponsePayload) ProtoMessage() {} 207 func (*ProposalResponsePayload) Descriptor() ([]byte, []int) { 208 return fileDescriptor_2ed51030656d961a, []int{2} 209 } 210 211 func (m *ProposalResponsePayload) XXX_Unmarshal(b []byte) error { 212 return xxx_messageInfo_ProposalResponsePayload.Unmarshal(m, b) 213 } 214 func (m *ProposalResponsePayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 215 return xxx_messageInfo_ProposalResponsePayload.Marshal(b, m, deterministic) 216 } 217 func (m *ProposalResponsePayload) XXX_Merge(src proto.Message) { 218 xxx_messageInfo_ProposalResponsePayload.Merge(m, src) 219 } 220 func (m *ProposalResponsePayload) XXX_Size() int { 221 return xxx_messageInfo_ProposalResponsePayload.Size(m) 222 } 223 func (m *ProposalResponsePayload) XXX_DiscardUnknown() { 224 xxx_messageInfo_ProposalResponsePayload.DiscardUnknown(m) 225 } 226 227 var xxx_messageInfo_ProposalResponsePayload proto.InternalMessageInfo 228 229 func (m *ProposalResponsePayload) GetProposalHash() []byte { 230 if m != nil { 231 return m.ProposalHash 232 } 233 return nil 234 } 235 236 func (m *ProposalResponsePayload) GetExtension() []byte { 237 if m != nil { 238 return m.Extension 239 } 240 return nil 241 } 242 243 // An endorsement is a signature of an endorser over a proposal response. By 244 // producing an endorsement message, an endorser implicitly "approves" that 245 // proposal response and the actions contained therein. When enough 246 // endorsements have been collected, a transaction can be generated out of a 247 // set of proposal responses. Note that this message only contains an identity 248 // and a signature but no signed payload. This is intentional because 249 // endorsements are supposed to be collected in a transaction, and they are all 250 // expected to endorse a single proposal response/action (many endorsements 251 // over a single proposal response) 252 type Endorsement struct { 253 // Identity of the endorser (e.g. its certificate) 254 Endorser []byte `protobuf:"bytes,1,opt,name=endorser,proto3" json:"endorser,omitempty"` 255 // Signature of the payload included in ProposalResponse concatenated with 256 // the endorser's certificate; ie, sign(ProposalResponse.payload + endorser) 257 Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` 258 XXX_NoUnkeyedLiteral struct{} `json:"-"` 259 XXX_unrecognized []byte `json:"-"` 260 XXX_sizecache int32 `json:"-"` 261 } 262 263 func (m *Endorsement) Reset() { *m = Endorsement{} } 264 func (m *Endorsement) String() string { return proto.CompactTextString(m) } 265 func (*Endorsement) ProtoMessage() {} 266 func (*Endorsement) Descriptor() ([]byte, []int) { 267 return fileDescriptor_2ed51030656d961a, []int{3} 268 } 269 270 func (m *Endorsement) XXX_Unmarshal(b []byte) error { 271 return xxx_messageInfo_Endorsement.Unmarshal(m, b) 272 } 273 func (m *Endorsement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 274 return xxx_messageInfo_Endorsement.Marshal(b, m, deterministic) 275 } 276 func (m *Endorsement) XXX_Merge(src proto.Message) { 277 xxx_messageInfo_Endorsement.Merge(m, src) 278 } 279 func (m *Endorsement) XXX_Size() int { 280 return xxx_messageInfo_Endorsement.Size(m) 281 } 282 func (m *Endorsement) XXX_DiscardUnknown() { 283 xxx_messageInfo_Endorsement.DiscardUnknown(m) 284 } 285 286 var xxx_messageInfo_Endorsement proto.InternalMessageInfo 287 288 func (m *Endorsement) GetEndorser() []byte { 289 if m != nil { 290 return m.Endorser 291 } 292 return nil 293 } 294 295 func (m *Endorsement) GetSignature() []byte { 296 if m != nil { 297 return m.Signature 298 } 299 return nil 300 } 301 302 // ChaincodeInterest defines an interest about an endorsement 303 // for a specific single chaincode invocation. 304 // Multiple chaincodes indicate chaincode to chaincode invocations. 305 type ChaincodeInterest struct { 306 Chaincodes []*ChaincodeCall `protobuf:"bytes,1,rep,name=chaincodes,proto3" json:"chaincodes,omitempty"` 307 XXX_NoUnkeyedLiteral struct{} `json:"-"` 308 XXX_unrecognized []byte `json:"-"` 309 XXX_sizecache int32 `json:"-"` 310 } 311 312 func (m *ChaincodeInterest) Reset() { *m = ChaincodeInterest{} } 313 func (m *ChaincodeInterest) String() string { return proto.CompactTextString(m) } 314 func (*ChaincodeInterest) ProtoMessage() {} 315 func (*ChaincodeInterest) Descriptor() ([]byte, []int) { 316 return fileDescriptor_2ed51030656d961a, []int{4} 317 } 318 319 func (m *ChaincodeInterest) XXX_Unmarshal(b []byte) error { 320 return xxx_messageInfo_ChaincodeInterest.Unmarshal(m, b) 321 } 322 func (m *ChaincodeInterest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 323 return xxx_messageInfo_ChaincodeInterest.Marshal(b, m, deterministic) 324 } 325 func (m *ChaincodeInterest) XXX_Merge(src proto.Message) { 326 xxx_messageInfo_ChaincodeInterest.Merge(m, src) 327 } 328 func (m *ChaincodeInterest) XXX_Size() int { 329 return xxx_messageInfo_ChaincodeInterest.Size(m) 330 } 331 func (m *ChaincodeInterest) XXX_DiscardUnknown() { 332 xxx_messageInfo_ChaincodeInterest.DiscardUnknown(m) 333 } 334 335 var xxx_messageInfo_ChaincodeInterest proto.InternalMessageInfo 336 337 func (m *ChaincodeInterest) GetChaincodes() []*ChaincodeCall { 338 if m != nil { 339 return m.Chaincodes 340 } 341 return nil 342 } 343 344 // ChaincodeCall defines a call to a chaincode. 345 // It may have collections that are related to the chaincode 346 type ChaincodeCall struct { 347 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 348 CollectionNames []string `protobuf:"bytes,2,rep,name=collection_names,json=collectionNames,proto3" json:"collection_names,omitempty"` 349 NoPrivateReads bool `protobuf:"varint,3,opt,name=no_private_reads,json=noPrivateReads,proto3" json:"no_private_reads,omitempty"` 350 NoPublicWrites bool `protobuf:"varint,4,opt,name=no_public_writes,json=noPublicWrites,proto3" json:"no_public_writes,omitempty"` 351 // The set of signature policies associated with states in the write-set 352 // that have state-based endorsement policies. 353 KeyPolicies []*common.SignaturePolicyEnvelope `protobuf:"bytes,5,rep,name=key_policies,json=keyPolicies,proto3" json:"key_policies,omitempty"` 354 // Indicates we wish to ignore the namespace endorsement policy 355 DisregardNamespacePolicy bool `protobuf:"varint,6,opt,name=disregard_namespace_policy,json=disregardNamespacePolicy,proto3" json:"disregard_namespace_policy,omitempty"` 356 XXX_NoUnkeyedLiteral struct{} `json:"-"` 357 XXX_unrecognized []byte `json:"-"` 358 XXX_sizecache int32 `json:"-"` 359 } 360 361 func (m *ChaincodeCall) Reset() { *m = ChaincodeCall{} } 362 func (m *ChaincodeCall) String() string { return proto.CompactTextString(m) } 363 func (*ChaincodeCall) ProtoMessage() {} 364 func (*ChaincodeCall) Descriptor() ([]byte, []int) { 365 return fileDescriptor_2ed51030656d961a, []int{5} 366 } 367 368 func (m *ChaincodeCall) XXX_Unmarshal(b []byte) error { 369 return xxx_messageInfo_ChaincodeCall.Unmarshal(m, b) 370 } 371 func (m *ChaincodeCall) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 372 return xxx_messageInfo_ChaincodeCall.Marshal(b, m, deterministic) 373 } 374 func (m *ChaincodeCall) XXX_Merge(src proto.Message) { 375 xxx_messageInfo_ChaincodeCall.Merge(m, src) 376 } 377 func (m *ChaincodeCall) XXX_Size() int { 378 return xxx_messageInfo_ChaincodeCall.Size(m) 379 } 380 func (m *ChaincodeCall) XXX_DiscardUnknown() { 381 xxx_messageInfo_ChaincodeCall.DiscardUnknown(m) 382 } 383 384 var xxx_messageInfo_ChaincodeCall proto.InternalMessageInfo 385 386 func (m *ChaincodeCall) GetName() string { 387 if m != nil { 388 return m.Name 389 } 390 return "" 391 } 392 393 func (m *ChaincodeCall) GetCollectionNames() []string { 394 if m != nil { 395 return m.CollectionNames 396 } 397 return nil 398 } 399 400 func (m *ChaincodeCall) GetNoPrivateReads() bool { 401 if m != nil { 402 return m.NoPrivateReads 403 } 404 return false 405 } 406 407 func (m *ChaincodeCall) GetNoPublicWrites() bool { 408 if m != nil { 409 return m.NoPublicWrites 410 } 411 return false 412 } 413 414 func (m *ChaincodeCall) GetKeyPolicies() []*common.SignaturePolicyEnvelope { 415 if m != nil { 416 return m.KeyPolicies 417 } 418 return nil 419 } 420 421 func (m *ChaincodeCall) GetDisregardNamespacePolicy() bool { 422 if m != nil { 423 return m.DisregardNamespacePolicy 424 } 425 return false 426 } 427 428 func init() { 429 proto.RegisterType((*ProposalResponse)(nil), "protos.ProposalResponse") 430 proto.RegisterType((*Response)(nil), "protos.Response") 431 proto.RegisterType((*ProposalResponsePayload)(nil), "protos.ProposalResponsePayload") 432 proto.RegisterType((*Endorsement)(nil), "protos.Endorsement") 433 proto.RegisterType((*ChaincodeInterest)(nil), "protos.ChaincodeInterest") 434 proto.RegisterType((*ChaincodeCall)(nil), "protos.ChaincodeCall") 435 } 436 437 func init() { proto.RegisterFile("peer/proposal_response.proto", fileDescriptor_2ed51030656d961a) } 438 439 var fileDescriptor_2ed51030656d961a = []byte{ 440 // 591 bytes of a gzipped FileDescriptorProto 441 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x54, 0xdd, 0x6b, 0xdb, 0x3e, 442 0x14, 0x25, 0xe9, 0x57, 0x72, 0x93, 0xfe, 0x7e, 0x99, 0x46, 0x37, 0x2f, 0x14, 0x1a, 0xbc, 0x97, 443 0x0c, 0x5a, 0x1b, 0x3a, 0x0a, 0x7b, 0xd8, 0x53, 0x4b, 0xd9, 0xc7, 0x43, 0x09, 0xda, 0xd8, 0x60, 444 0x0c, 0x82, 0x62, 0xdf, 0x3a, 0x22, 0xb6, 0x64, 0x24, 0x25, 0x9b, 0xff, 0x97, 0x3d, 0xee, 0x0f, 445 0x1d, 0x96, 0x2c, 0x27, 0x5d, 0xf7, 0x64, 0xdf, 0xa3, 0x73, 0xcf, 0xbd, 0xf7, 0xe8, 0x03, 0x4e, 446 0x4b, 0x44, 0x15, 0x97, 0x4a, 0x96, 0x52, 0xb3, 0x7c, 0xae, 0x50, 0x97, 0x52, 0x68, 0x8c, 0x4a, 447 0x25, 0x8d, 0x24, 0x87, 0xf6, 0xa3, 0xc7, 0x67, 0x99, 0x94, 0x59, 0x8e, 0xb1, 0x0d, 0x17, 0xeb, 448 0xfb, 0xd8, 0xf0, 0x02, 0xb5, 0x61, 0x45, 0xe9, 0x88, 0xe3, 0x93, 0x44, 0x16, 0x85, 0x14, 0x71, 449 0x29, 0x73, 0x9e, 0x70, 0xd4, 0x0e, 0x0e, 0x7f, 0x75, 0x61, 0x34, 0x6b, 0xb4, 0x69, 0x23, 0x4d, 450 0x02, 0x38, 0xda, 0xa0, 0xd2, 0x5c, 0x8a, 0xa0, 0x33, 0xe9, 0x4c, 0x0f, 0xa8, 0x0f, 0xc9, 0x1b, 451 0xe8, 0xb7, 0xc2, 0x41, 0x77, 0xd2, 0x99, 0x0e, 0x2e, 0xc7, 0x91, 0x2b, 0x1d, 0xf9, 0xd2, 0xd1, 452 0x67, 0xcf, 0xa0, 0x5b, 0x32, 0x39, 0x87, 0x9e, 0x6f, 0x3d, 0xd8, 0xb7, 0x89, 0x23, 0x97, 0xa1, 453 0x23, 0x5f, 0x97, 0xb6, 0x8c, 0xba, 0x83, 0x92, 0x55, 0xb9, 0x64, 0x69, 0x70, 0x30, 0xe9, 0x4c, 454 0x87, 0xd4, 0x87, 0xe4, 0x0a, 0x06, 0x28, 0x52, 0xa9, 0x34, 0x16, 0x28, 0x4c, 0x70, 0x68, 0xa5, 455 0x9e, 0x7a, 0xa9, 0xdb, 0xed, 0x12, 0xdd, 0xe5, 0x91, 0x2b, 0xe8, 0x71, 0x61, 0x50, 0xa1, 0x36, 456 0xc1, 0x91, 0xcd, 0x79, 0xe1, 0x73, 0x6e, 0x96, 0x8c, 0x8b, 0x44, 0xa6, 0xf8, 0xa1, 0x21, 0xd0, 457 0x96, 0x1a, 0x7e, 0x81, 0x5e, 0xeb, 0xca, 0x33, 0x38, 0xd4, 0x86, 0x99, 0xb5, 0x6e, 0x4c, 0x69, 458 0xa2, 0xba, 0xd7, 0x02, 0xb5, 0x66, 0x19, 0x5a, 0x47, 0xfa, 0xd4, 0x87, 0xbb, 0x53, 0xec, 0x3d, 459 0x98, 0x22, 0xfc, 0x0e, 0xcf, 0xff, 0x76, 0x7d, 0xd6, 0x0c, 0xf8, 0x12, 0x8e, 0xdb, 0xcd, 0x5e, 460 0x32, 0xbd, 0xb4, 0xd5, 0x86, 0x74, 0xe8, 0xc1, 0xf7, 0x4c, 0x2f, 0xc9, 0x29, 0xf4, 0xf1, 0xa7, 461 0x41, 0x61, 0xf7, 0xa8, 0x6b, 0x09, 0x5b, 0x20, 0x7c, 0x07, 0x83, 0x1d, 0x23, 0xc8, 0x18, 0x7a, 462 0x8d, 0x15, 0xaa, 0x11, 0x6b, 0xe3, 0x5a, 0x48, 0xf3, 0x4c, 0x30, 0xb3, 0x56, 0xe8, 0x85, 0x5a, 463 0x20, 0xfc, 0x08, 0x4f, 0x1e, 0xb9, 0x43, 0xae, 0x00, 0x12, 0x0f, 0xd6, 0x5e, 0xec, 0x4d, 0x07, 464 0x97, 0x27, 0x8f, 0xcc, 0xbc, 0x61, 0x79, 0x4e, 0x77, 0x88, 0xe1, 0xef, 0x2e, 0x1c, 0x3f, 0x58, 465 0x25, 0x04, 0xf6, 0x05, 0x2b, 0xd0, 0xf6, 0xd4, 0xa7, 0xf6, 0x9f, 0xbc, 0x82, 0x51, 0x22, 0xf3, 466 0x1c, 0x13, 0xc3, 0xa5, 0x98, 0xd7, 0x90, 0x0e, 0xba, 0x93, 0xbd, 0x69, 0x9f, 0xfe, 0xbf, 0xc5, 467 0xef, 0x6a, 0x98, 0x4c, 0x61, 0x24, 0xe4, 0xbc, 0x54, 0x7c, 0xc3, 0x0c, 0xce, 0x15, 0xb2, 0x54, 468 0x5b, 0x9b, 0x7b, 0xf4, 0x3f, 0x21, 0x67, 0x0e, 0xa6, 0x35, 0xea, 0x99, 0xeb, 0x45, 0xce, 0x93, 469 0xf9, 0x0f, 0xc5, 0x0d, 0x6a, 0x7b, 0x06, 0x1d, 0xd3, 0xc2, 0x5f, 0x2d, 0x4a, 0xae, 0x61, 0xb8, 470 0xc2, 0x6a, 0xee, 0x2f, 0x49, 0x70, 0x60, 0xa7, 0x3b, 0x8b, 0xdc, 0xe5, 0x89, 0x3e, 0x79, 0x67, 471 0x66, 0x35, 0xa1, 0xba, 0x15, 0x1b, 0xcc, 0x65, 0x89, 0x74, 0xb0, 0xc2, 0x6a, 0xd6, 0xe4, 0x90, 472 0xb7, 0x30, 0x4e, 0xb9, 0x56, 0x98, 0x31, 0x95, 0xba, 0x09, 0x4a, 0x96, 0xa0, 0xd3, 0xac, 0xec, 473 0x81, 0xed, 0xd1, 0xa0, 0x65, 0xdc, 0x79, 0x82, 0x93, 0xbc, 0x5e, 0x41, 0x28, 0x55, 0x16, 0x2d, 474 0xab, 0x12, 0x55, 0x8e, 0x69, 0x86, 0x2a, 0xba, 0x67, 0x0b, 0xc5, 0x13, 0xef, 0x70, 0xfd, 0x1c, 475 0x5c, 0xff, 0xe3, 0xf4, 0x24, 0x2b, 0x96, 0xe1, 0xb7, 0xf3, 0x8c, 0x9b, 0xe5, 0x7a, 0x51, 0x37, 476 0x1c, 0xef, 0x68, 0xc4, 0x4e, 0xe3, 0xc2, 0x69, 0x5c, 0x64, 0x32, 0xae, 0x65, 0x16, 0xee, 0xf5, 477 0x78, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, 0x6d, 0x2e, 0xf7, 0xb3, 0x64, 0x04, 0x00, 0x00, 478 }