github.com/ZihuaZhang/fabric-protos-go@v1.0.7/peer/transaction.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // source: peer/transaction.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 math "math" 11 ) 12 13 // Reference imports to suppress errors if they are not otherwise used. 14 var _ = proto.Marshal 15 var _ = fmt.Errorf 16 var _ = math.Inf 17 18 // This is a compile-time assertion to ensure that this generated file 19 // is compatible with the proto package it is being compiled against. 20 // A compilation error at this line likely means your copy of the 21 // proto package needs to be updated. 22 const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 23 24 type TxValidationCode int32 25 26 const ( 27 TxValidationCode_VALID TxValidationCode = 0 28 TxValidationCode_NIL_ENVELOPE TxValidationCode = 1 29 TxValidationCode_BAD_PAYLOAD TxValidationCode = 2 30 TxValidationCode_BAD_COMMON_HEADER TxValidationCode = 3 31 TxValidationCode_BAD_CREATOR_SIGNATURE TxValidationCode = 4 32 TxValidationCode_INVALID_ENDORSER_TRANSACTION TxValidationCode = 5 33 TxValidationCode_INVALID_CONFIG_TRANSACTION TxValidationCode = 6 34 TxValidationCode_UNSUPPORTED_TX_PAYLOAD TxValidationCode = 7 35 TxValidationCode_BAD_PROPOSAL_TXID TxValidationCode = 8 36 TxValidationCode_DUPLICATE_TXID TxValidationCode = 9 37 TxValidationCode_ENDORSEMENT_POLICY_FAILURE TxValidationCode = 10 38 TxValidationCode_MVCC_READ_CONFLICT TxValidationCode = 11 39 TxValidationCode_PHANTOM_READ_CONFLICT TxValidationCode = 12 40 TxValidationCode_UNKNOWN_TX_TYPE TxValidationCode = 13 41 TxValidationCode_TARGET_CHAIN_NOT_FOUND TxValidationCode = 14 42 TxValidationCode_MARSHAL_TX_ERROR TxValidationCode = 15 43 TxValidationCode_NIL_TXACTION TxValidationCode = 16 44 TxValidationCode_EXPIRED_CHAINCODE TxValidationCode = 17 45 TxValidationCode_CHAINCODE_VERSION_CONFLICT TxValidationCode = 18 46 TxValidationCode_BAD_HEADER_EXTENSION TxValidationCode = 19 47 TxValidationCode_BAD_CHANNEL_HEADER TxValidationCode = 20 48 TxValidationCode_BAD_RESPONSE_PAYLOAD TxValidationCode = 21 49 TxValidationCode_BAD_RWSET TxValidationCode = 22 50 TxValidationCode_ILLEGAL_WRITESET TxValidationCode = 23 51 TxValidationCode_INVALID_WRITESET TxValidationCode = 24 52 TxValidationCode_INVALID_CHAINCODE TxValidationCode = 25 53 TxValidationCode_NOT_VALIDATED TxValidationCode = 254 54 TxValidationCode_INVALID_OTHER_REASON TxValidationCode = 255 55 ) 56 57 var TxValidationCode_name = map[int32]string{ 58 0: "VALID", 59 1: "NIL_ENVELOPE", 60 2: "BAD_PAYLOAD", 61 3: "BAD_COMMON_HEADER", 62 4: "BAD_CREATOR_SIGNATURE", 63 5: "INVALID_ENDORSER_TRANSACTION", 64 6: "INVALID_CONFIG_TRANSACTION", 65 7: "UNSUPPORTED_TX_PAYLOAD", 66 8: "BAD_PROPOSAL_TXID", 67 9: "DUPLICATE_TXID", 68 10: "ENDORSEMENT_POLICY_FAILURE", 69 11: "MVCC_READ_CONFLICT", 70 12: "PHANTOM_READ_CONFLICT", 71 13: "UNKNOWN_TX_TYPE", 72 14: "TARGET_CHAIN_NOT_FOUND", 73 15: "MARSHAL_TX_ERROR", 74 16: "NIL_TXACTION", 75 17: "EXPIRED_CHAINCODE", 76 18: "CHAINCODE_VERSION_CONFLICT", 77 19: "BAD_HEADER_EXTENSION", 78 20: "BAD_CHANNEL_HEADER", 79 21: "BAD_RESPONSE_PAYLOAD", 80 22: "BAD_RWSET", 81 23: "ILLEGAL_WRITESET", 82 24: "INVALID_WRITESET", 83 25: "INVALID_CHAINCODE", 84 254: "NOT_VALIDATED", 85 255: "INVALID_OTHER_REASON", 86 } 87 88 var TxValidationCode_value = map[string]int32{ 89 "VALID": 0, 90 "NIL_ENVELOPE": 1, 91 "BAD_PAYLOAD": 2, 92 "BAD_COMMON_HEADER": 3, 93 "BAD_CREATOR_SIGNATURE": 4, 94 "INVALID_ENDORSER_TRANSACTION": 5, 95 "INVALID_CONFIG_TRANSACTION": 6, 96 "UNSUPPORTED_TX_PAYLOAD": 7, 97 "BAD_PROPOSAL_TXID": 8, 98 "DUPLICATE_TXID": 9, 99 "ENDORSEMENT_POLICY_FAILURE": 10, 100 "MVCC_READ_CONFLICT": 11, 101 "PHANTOM_READ_CONFLICT": 12, 102 "UNKNOWN_TX_TYPE": 13, 103 "TARGET_CHAIN_NOT_FOUND": 14, 104 "MARSHAL_TX_ERROR": 15, 105 "NIL_TXACTION": 16, 106 "EXPIRED_CHAINCODE": 17, 107 "CHAINCODE_VERSION_CONFLICT": 18, 108 "BAD_HEADER_EXTENSION": 19, 109 "BAD_CHANNEL_HEADER": 20, 110 "BAD_RESPONSE_PAYLOAD": 21, 111 "BAD_RWSET": 22, 112 "ILLEGAL_WRITESET": 23, 113 "INVALID_WRITESET": 24, 114 "INVALID_CHAINCODE": 25, 115 "NOT_VALIDATED": 254, 116 "INVALID_OTHER_REASON": 255, 117 } 118 119 func (x TxValidationCode) String() string { 120 return proto.EnumName(TxValidationCode_name, int32(x)) 121 } 122 123 func (TxValidationCode) EnumDescriptor() ([]byte, []int) { 124 return fileDescriptor_25804bbfb0752368, []int{0} 125 } 126 127 // Reserved entries in the key-level metadata map 128 type MetaDataKeys int32 129 130 const ( 131 MetaDataKeys_VALIDATION_PARAMETER MetaDataKeys = 0 132 MetaDataKeys_VALIDATION_PARAMETER_V2 MetaDataKeys = 1 133 ) 134 135 var MetaDataKeys_name = map[int32]string{ 136 0: "VALIDATION_PARAMETER", 137 1: "VALIDATION_PARAMETER_V2", 138 } 139 140 var MetaDataKeys_value = map[string]int32{ 141 "VALIDATION_PARAMETER": 0, 142 "VALIDATION_PARAMETER_V2": 1, 143 } 144 145 func (x MetaDataKeys) String() string { 146 return proto.EnumName(MetaDataKeys_name, int32(x)) 147 } 148 149 func (MetaDataKeys) EnumDescriptor() ([]byte, []int) { 150 return fileDescriptor_25804bbfb0752368, []int{1} 151 } 152 153 // ProcessedTransaction wraps an Envelope that includes a transaction along with an indication 154 // of whether the transaction was validated or invalidated by committing peer. 155 // The use case is that GetTransactionByID API needs to retrieve the transaction Envelope 156 // from block storage, and return it to a client, and indicate whether the transaction 157 // was validated or invalidated by committing peer. So that the originally submitted 158 // transaction Envelope is not modified, the ProcessedTransaction wrapper is returned. 159 type ProcessedTransaction struct { 160 // An Envelope which includes a processed transaction 161 TransactionEnvelope *common.Envelope `protobuf:"bytes,1,opt,name=transactionEnvelope,proto3" json:"transactionEnvelope,omitempty"` 162 // An indication of whether the transaction was validated or invalidated by committing peer 163 ValidationCode int32 `protobuf:"varint,2,opt,name=validationCode,proto3" json:"validationCode,omitempty"` 164 XXX_NoUnkeyedLiteral struct{} `json:"-"` 165 XXX_unrecognized []byte `json:"-"` 166 XXX_sizecache int32 `json:"-"` 167 } 168 169 func (m *ProcessedTransaction) Reset() { *m = ProcessedTransaction{} } 170 func (m *ProcessedTransaction) String() string { return proto.CompactTextString(m) } 171 func (*ProcessedTransaction) ProtoMessage() {} 172 func (*ProcessedTransaction) Descriptor() ([]byte, []int) { 173 return fileDescriptor_25804bbfb0752368, []int{0} 174 } 175 176 func (m *ProcessedTransaction) XXX_Unmarshal(b []byte) error { 177 return xxx_messageInfo_ProcessedTransaction.Unmarshal(m, b) 178 } 179 func (m *ProcessedTransaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 180 return xxx_messageInfo_ProcessedTransaction.Marshal(b, m, deterministic) 181 } 182 func (m *ProcessedTransaction) XXX_Merge(src proto.Message) { 183 xxx_messageInfo_ProcessedTransaction.Merge(m, src) 184 } 185 func (m *ProcessedTransaction) XXX_Size() int { 186 return xxx_messageInfo_ProcessedTransaction.Size(m) 187 } 188 func (m *ProcessedTransaction) XXX_DiscardUnknown() { 189 xxx_messageInfo_ProcessedTransaction.DiscardUnknown(m) 190 } 191 192 var xxx_messageInfo_ProcessedTransaction proto.InternalMessageInfo 193 194 func (m *ProcessedTransaction) GetTransactionEnvelope() *common.Envelope { 195 if m != nil { 196 return m.TransactionEnvelope 197 } 198 return nil 199 } 200 201 func (m *ProcessedTransaction) GetValidationCode() int32 { 202 if m != nil { 203 return m.ValidationCode 204 } 205 return 0 206 } 207 208 // The transaction to be sent to the ordering service. A transaction contains 209 // one or more TransactionAction. Each TransactionAction binds a proposal to 210 // potentially multiple actions. The transaction is atomic meaning that either 211 // all actions in the transaction will be committed or none will. Note that 212 // while a Transaction might include more than one Header, the Header.creator 213 // field must be the same in each. 214 // A single client is free to issue a number of independent Proposal, each with 215 // their header (Header) and request payload (ChaincodeProposalPayload). Each 216 // proposal is independently endorsed generating an action 217 // (ProposalResponsePayload) with one signature per Endorser. Any number of 218 // independent proposals (and their action) might be included in a transaction 219 // to ensure that they are treated atomically. 220 type Transaction struct { 221 // The payload is an array of TransactionAction. An array is necessary to 222 // accommodate multiple actions per transaction 223 Actions []*TransactionAction `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` 224 XXX_NoUnkeyedLiteral struct{} `json:"-"` 225 XXX_unrecognized []byte `json:"-"` 226 XXX_sizecache int32 `json:"-"` 227 } 228 229 func (m *Transaction) Reset() { *m = Transaction{} } 230 func (m *Transaction) String() string { return proto.CompactTextString(m) } 231 func (*Transaction) ProtoMessage() {} 232 func (*Transaction) Descriptor() ([]byte, []int) { 233 return fileDescriptor_25804bbfb0752368, []int{1} 234 } 235 236 func (m *Transaction) XXX_Unmarshal(b []byte) error { 237 return xxx_messageInfo_Transaction.Unmarshal(m, b) 238 } 239 func (m *Transaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 240 return xxx_messageInfo_Transaction.Marshal(b, m, deterministic) 241 } 242 func (m *Transaction) XXX_Merge(src proto.Message) { 243 xxx_messageInfo_Transaction.Merge(m, src) 244 } 245 func (m *Transaction) XXX_Size() int { 246 return xxx_messageInfo_Transaction.Size(m) 247 } 248 func (m *Transaction) XXX_DiscardUnknown() { 249 xxx_messageInfo_Transaction.DiscardUnknown(m) 250 } 251 252 var xxx_messageInfo_Transaction proto.InternalMessageInfo 253 254 func (m *Transaction) GetActions() []*TransactionAction { 255 if m != nil { 256 return m.Actions 257 } 258 return nil 259 } 260 261 // TransactionAction binds a proposal to its action. The type field in the 262 // header dictates the type of action to be applied to the ledger. 263 type TransactionAction struct { 264 // The header of the proposal action, which is the proposal header 265 Header []byte `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` 266 // The payload of the action as defined by the type in the header For 267 // chaincode, it's the bytes of ChaincodeActionPayload 268 Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` 269 XXX_NoUnkeyedLiteral struct{} `json:"-"` 270 XXX_unrecognized []byte `json:"-"` 271 XXX_sizecache int32 `json:"-"` 272 } 273 274 func (m *TransactionAction) Reset() { *m = TransactionAction{} } 275 func (m *TransactionAction) String() string { return proto.CompactTextString(m) } 276 func (*TransactionAction) ProtoMessage() {} 277 func (*TransactionAction) Descriptor() ([]byte, []int) { 278 return fileDescriptor_25804bbfb0752368, []int{2} 279 } 280 281 func (m *TransactionAction) XXX_Unmarshal(b []byte) error { 282 return xxx_messageInfo_TransactionAction.Unmarshal(m, b) 283 } 284 func (m *TransactionAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 285 return xxx_messageInfo_TransactionAction.Marshal(b, m, deterministic) 286 } 287 func (m *TransactionAction) XXX_Merge(src proto.Message) { 288 xxx_messageInfo_TransactionAction.Merge(m, src) 289 } 290 func (m *TransactionAction) XXX_Size() int { 291 return xxx_messageInfo_TransactionAction.Size(m) 292 } 293 func (m *TransactionAction) XXX_DiscardUnknown() { 294 xxx_messageInfo_TransactionAction.DiscardUnknown(m) 295 } 296 297 var xxx_messageInfo_TransactionAction proto.InternalMessageInfo 298 299 func (m *TransactionAction) GetHeader() []byte { 300 if m != nil { 301 return m.Header 302 } 303 return nil 304 } 305 306 func (m *TransactionAction) GetPayload() []byte { 307 if m != nil { 308 return m.Payload 309 } 310 return nil 311 } 312 313 // ChaincodeActionPayload is the message to be used for the TransactionAction's 314 // payload when the Header's type is set to CHAINCODE. It carries the 315 // chaincodeProposalPayload and an endorsed action to apply to the ledger. 316 type ChaincodeActionPayload struct { 317 // This field contains the bytes of the ChaincodeProposalPayload message from 318 // the original invocation (essentially the arguments) after the application 319 // of the visibility function. The main visibility modes are "full" (the 320 // entire ChaincodeProposalPayload message is included here), "hash" (only 321 // the hash of the ChaincodeProposalPayload message is included) or 322 // "nothing". This field will be used to check the consistency of 323 // ProposalResponsePayload.proposalHash. For the CHAINCODE type, 324 // ProposalResponsePayload.proposalHash is supposed to be H(ProposalHeader || 325 // f(ChaincodeProposalPayload)) where f is the visibility function. 326 ChaincodeProposalPayload []byte `protobuf:"bytes,1,opt,name=chaincode_proposal_payload,json=chaincodeProposalPayload,proto3" json:"chaincode_proposal_payload,omitempty"` 327 // The list of actions to apply to the ledger 328 Action *ChaincodeEndorsedAction `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` 329 XXX_NoUnkeyedLiteral struct{} `json:"-"` 330 XXX_unrecognized []byte `json:"-"` 331 XXX_sizecache int32 `json:"-"` 332 } 333 334 func (m *ChaincodeActionPayload) Reset() { *m = ChaincodeActionPayload{} } 335 func (m *ChaincodeActionPayload) String() string { return proto.CompactTextString(m) } 336 func (*ChaincodeActionPayload) ProtoMessage() {} 337 func (*ChaincodeActionPayload) Descriptor() ([]byte, []int) { 338 return fileDescriptor_25804bbfb0752368, []int{3} 339 } 340 341 func (m *ChaincodeActionPayload) XXX_Unmarshal(b []byte) error { 342 return xxx_messageInfo_ChaincodeActionPayload.Unmarshal(m, b) 343 } 344 func (m *ChaincodeActionPayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 345 return xxx_messageInfo_ChaincodeActionPayload.Marshal(b, m, deterministic) 346 } 347 func (m *ChaincodeActionPayload) XXX_Merge(src proto.Message) { 348 xxx_messageInfo_ChaincodeActionPayload.Merge(m, src) 349 } 350 func (m *ChaincodeActionPayload) XXX_Size() int { 351 return xxx_messageInfo_ChaincodeActionPayload.Size(m) 352 } 353 func (m *ChaincodeActionPayload) XXX_DiscardUnknown() { 354 xxx_messageInfo_ChaincodeActionPayload.DiscardUnknown(m) 355 } 356 357 var xxx_messageInfo_ChaincodeActionPayload proto.InternalMessageInfo 358 359 func (m *ChaincodeActionPayload) GetChaincodeProposalPayload() []byte { 360 if m != nil { 361 return m.ChaincodeProposalPayload 362 } 363 return nil 364 } 365 366 func (m *ChaincodeActionPayload) GetAction() *ChaincodeEndorsedAction { 367 if m != nil { 368 return m.Action 369 } 370 return nil 371 } 372 373 // ChaincodeEndorsedAction carries information about the endorsement of a 374 // specific proposal 375 type ChaincodeEndorsedAction struct { 376 // This is the bytes of the ProposalResponsePayload message signed by the 377 // endorsers. Recall that for the CHAINCODE type, the 378 // ProposalResponsePayload's extenstion field carries a ChaincodeAction 379 ProposalResponsePayload []byte `protobuf:"bytes,1,opt,name=proposal_response_payload,json=proposalResponsePayload,proto3" json:"proposal_response_payload,omitempty"` 380 // The endorsement of the proposal, basically the endorser's signature over 381 // proposalResponsePayload 382 Endorsements []*Endorsement `protobuf:"bytes,2,rep,name=endorsements,proto3" json:"endorsements,omitempty"` 383 XXX_NoUnkeyedLiteral struct{} `json:"-"` 384 XXX_unrecognized []byte `json:"-"` 385 XXX_sizecache int32 `json:"-"` 386 } 387 388 func (m *ChaincodeEndorsedAction) Reset() { *m = ChaincodeEndorsedAction{} } 389 func (m *ChaincodeEndorsedAction) String() string { return proto.CompactTextString(m) } 390 func (*ChaincodeEndorsedAction) ProtoMessage() {} 391 func (*ChaincodeEndorsedAction) Descriptor() ([]byte, []int) { 392 return fileDescriptor_25804bbfb0752368, []int{4} 393 } 394 395 func (m *ChaincodeEndorsedAction) XXX_Unmarshal(b []byte) error { 396 return xxx_messageInfo_ChaincodeEndorsedAction.Unmarshal(m, b) 397 } 398 func (m *ChaincodeEndorsedAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 399 return xxx_messageInfo_ChaincodeEndorsedAction.Marshal(b, m, deterministic) 400 } 401 func (m *ChaincodeEndorsedAction) XXX_Merge(src proto.Message) { 402 xxx_messageInfo_ChaincodeEndorsedAction.Merge(m, src) 403 } 404 func (m *ChaincodeEndorsedAction) XXX_Size() int { 405 return xxx_messageInfo_ChaincodeEndorsedAction.Size(m) 406 } 407 func (m *ChaincodeEndorsedAction) XXX_DiscardUnknown() { 408 xxx_messageInfo_ChaincodeEndorsedAction.DiscardUnknown(m) 409 } 410 411 var xxx_messageInfo_ChaincodeEndorsedAction proto.InternalMessageInfo 412 413 func (m *ChaincodeEndorsedAction) GetProposalResponsePayload() []byte { 414 if m != nil { 415 return m.ProposalResponsePayload 416 } 417 return nil 418 } 419 420 func (m *ChaincodeEndorsedAction) GetEndorsements() []*Endorsement { 421 if m != nil { 422 return m.Endorsements 423 } 424 return nil 425 } 426 427 func init() { 428 proto.RegisterEnum("protos.TxValidationCode", TxValidationCode_name, TxValidationCode_value) 429 proto.RegisterEnum("protos.MetaDataKeys", MetaDataKeys_name, MetaDataKeys_value) 430 proto.RegisterType((*ProcessedTransaction)(nil), "protos.ProcessedTransaction") 431 proto.RegisterType((*Transaction)(nil), "protos.Transaction") 432 proto.RegisterType((*TransactionAction)(nil), "protos.TransactionAction") 433 proto.RegisterType((*ChaincodeActionPayload)(nil), "protos.ChaincodeActionPayload") 434 proto.RegisterType((*ChaincodeEndorsedAction)(nil), "protos.ChaincodeEndorsedAction") 435 } 436 437 func init() { proto.RegisterFile("peer/transaction.proto", fileDescriptor_25804bbfb0752368) } 438 439 var fileDescriptor_25804bbfb0752368 = []byte{ 440 // 838 bytes of a gzipped FileDescriptorProto 441 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x54, 0x5d, 0x6f, 0x22, 0x37, 442 0x14, 0xdd, 0xc9, 0x36, 0x49, 0x63, 0x48, 0xe2, 0x18, 0x42, 0x80, 0xae, 0xda, 0x88, 0x87, 0x2a, 443 0x5a, 0x75, 0x41, 0xca, 0x3e, 0x54, 0xaa, 0xfa, 0x62, 0x66, 0x6e, 0xc2, 0x68, 0x07, 0x7b, 0xe4, 444 0x31, 0x84, 0xf4, 0xc5, 0x9a, 0x80, 0x97, 0xa0, 0x12, 0x06, 0xcd, 0xd0, 0x55, 0xf3, 0xda, 0x1f, 445 0xd0, 0xfe, 0x90, 0xfe, 0xc7, 0xb6, 0xf2, 0x7c, 0x85, 0x64, 0xb7, 0x2f, 0x18, 0x9f, 0x73, 0xee, 446 0xbd, 0xe7, 0xde, 0xab, 0x31, 0x6a, 0xac, 0xb5, 0x8e, 0x7b, 0x9b, 0x38, 0x5c, 0x25, 0xe1, 0x74, 447 0xb3, 0x88, 0x56, 0xdd, 0x75, 0x1c, 0x6d, 0x22, 0xb2, 0x97, 0x1e, 0x49, 0xfb, 0x4d, 0xca, 0xaf, 448 0xe3, 0x68, 0x1d, 0x25, 0xe1, 0x52, 0xc5, 0x3a, 0x59, 0x47, 0xab, 0x44, 0x67, 0xaa, 0x76, 0x6d, 449 0x1a, 0x3d, 0x3c, 0x44, 0xab, 0x5e, 0x76, 0x64, 0x60, 0xe7, 0x0f, 0x0b, 0xd5, 0xfd, 0x38, 0x9a, 450 0xea, 0x24, 0xd1, 0x33, 0xf9, 0x94, 0x99, 0xf4, 0x51, 0x6d, 0xab, 0x10, 0xac, 0x3e, 0xe9, 0x65, 451 0xb4, 0xd6, 0x4d, 0xeb, 0xdc, 0xba, 0xa8, 0x5c, 0xe2, 0x6e, 0x9e, 0xa4, 0xc0, 0xc5, 0x97, 0xc4, 452 0xe4, 0x7b, 0x74, 0xf4, 0x29, 0x5c, 0x2e, 0x66, 0xa1, 0x41, 0xed, 0x68, 0xa6, 0x9b, 0x3b, 0xe7, 453 0xd6, 0xc5, 0xae, 0x78, 0x81, 0x76, 0xfa, 0xa8, 0xb2, 0x5d, 0xfa, 0x3d, 0xda, 0xcf, 0xfe, 0x25, 454 0x4d, 0xeb, 0xfc, 0xf5, 0x45, 0xe5, 0xb2, 0x95, 0x99, 0x4d, 0xba, 0x5b, 0x2a, 0x9a, 0xfe, 0x8a, 455 0x42, 0xd9, 0x01, 0x74, 0xf2, 0x19, 0x4b, 0x1a, 0x68, 0xef, 0x5e, 0x87, 0x33, 0x1d, 0xa7, 0xbe, 456 0xab, 0x22, 0xbf, 0x91, 0x26, 0xda, 0x5f, 0x87, 0x8f, 0xcb, 0x28, 0x9c, 0xa5, 0x8e, 0xaa, 0xa2, 457 0xb8, 0x76, 0xfe, 0xb2, 0x50, 0xc3, 0xbe, 0x0f, 0x17, 0xab, 0x69, 0x34, 0xd3, 0x59, 0x16, 0x3f, 458 0xa3, 0xc8, 0xcf, 0xa8, 0x3d, 0x2d, 0x18, 0x55, 0x0e, 0xb9, 0xc8, 0x93, 0x15, 0x68, 0x96, 0x0a, 459 0x3f, 0x17, 0x14, 0xd1, 0x3f, 0xa2, 0xbd, 0xcc, 0x5a, 0x5a, 0xb1, 0x72, 0xf9, 0x5d, 0xd1, 0x53, 460 0x59, 0x0d, 0x56, 0xb3, 0x28, 0x4e, 0xf4, 0x2c, 0xef, 0x2c, 0x97, 0x77, 0xfe, 0xb4, 0xd0, 0xd9, 461 0xff, 0x68, 0xc8, 0x4f, 0xa8, 0xf5, 0xd9, 0xb6, 0x5f, 0x38, 0x3a, 0x2b, 0x04, 0x22, 0xe7, 0x9f, 462 0x0c, 0x55, 0x75, 0x96, 0xed, 0x41, 0xaf, 0x36, 0x49, 0x73, 0x27, 0x1d, 0x75, 0xad, 0xb0, 0x05, 463 0x4f, 0x9c, 0x78, 0x26, 0x7c, 0xfb, 0xf7, 0x2e, 0xc2, 0xf2, 0xf7, 0xf1, 0xb3, 0x15, 0x92, 0x03, 464 0xb4, 0x3b, 0xa6, 0x9e, 0xeb, 0xe0, 0x57, 0x04, 0xa3, 0x2a, 0x73, 0x3d, 0x05, 0x6c, 0x0c, 0x1e, 465 0xf7, 0x01, 0x5b, 0xe4, 0x18, 0x55, 0xfa, 0xd4, 0x51, 0x3e, 0xbd, 0xf5, 0x38, 0x75, 0xf0, 0x0e, 466 0x39, 0x45, 0x27, 0x06, 0xb0, 0xf9, 0x70, 0xc8, 0x99, 0x1a, 0x00, 0x75, 0x40, 0xe0, 0xd7, 0xa4, 467 0x85, 0x4e, 0x53, 0x58, 0x00, 0x95, 0x5c, 0xa8, 0xc0, 0xbd, 0x66, 0x54, 0x8e, 0x04, 0xe0, 0xaf, 468 0xc8, 0x39, 0x7a, 0xe3, 0xb2, 0xb4, 0x82, 0x02, 0xe6, 0x70, 0x11, 0x80, 0x50, 0x52, 0x50, 0x16, 469 0x50, 0x5b, 0xba, 0x9c, 0xe1, 0x5d, 0xf2, 0x2d, 0x6a, 0x17, 0x0a, 0x9b, 0xb3, 0x2b, 0xf7, 0xfa, 470 0x19, 0xbf, 0x47, 0xda, 0xa8, 0x31, 0x62, 0xc1, 0xc8, 0xf7, 0xb9, 0x90, 0xe0, 0x28, 0x39, 0x29, 471 0xfd, 0xec, 0x17, 0x7e, 0x7c, 0xc1, 0x7d, 0x1e, 0x50, 0x4f, 0xc9, 0x89, 0xeb, 0xe0, 0xaf, 0x09, 472 0x41, 0x47, 0xce, 0xc8, 0xf7, 0x5c, 0x9b, 0x4a, 0xc8, 0xb0, 0x03, 0x53, 0x26, 0x37, 0x30, 0x04, 473 0x26, 0x95, 0xcf, 0x3d, 0xd7, 0xbe, 0x55, 0x57, 0xd4, 0xf5, 0x8c, 0x51, 0x44, 0x1a, 0x88, 0x0c, 474 0xc7, 0xb6, 0xad, 0x04, 0xd0, 0xcc, 0x88, 0xe7, 0xda, 0x12, 0x57, 0x4c, 0x6f, 0xfe, 0x80, 0x32, 475 0xc9, 0x87, 0x2f, 0xa8, 0x2a, 0xa9, 0xa1, 0xe3, 0x11, 0xfb, 0xc0, 0xf8, 0x0d, 0x33, 0xae, 0xe4, 476 0xad, 0x0f, 0xf8, 0xd0, 0xd8, 0x95, 0x54, 0x5c, 0x83, 0x54, 0xf6, 0x80, 0xba, 0x4c, 0x31, 0x2e, 477 0xd5, 0x15, 0x1f, 0x31, 0x07, 0x1f, 0x91, 0x3a, 0xc2, 0x43, 0x2a, 0x82, 0x41, 0xea, 0x54, 0x81, 478 0x10, 0x5c, 0xe0, 0xe3, 0x62, 0xee, 0x72, 0x92, 0xb7, 0x8c, 0x4d, 0x5b, 0x30, 0xf1, 0x5d, 0x01, 479 0x4e, 0x96, 0xc4, 0xe6, 0x0e, 0xe0, 0x13, 0xd3, 0x42, 0x79, 0x55, 0x63, 0x10, 0x81, 0xcb, 0xd9, 480 0x93, 0x1f, 0x42, 0x9a, 0xa8, 0x6e, 0xa6, 0x91, 0xad, 0x45, 0xc1, 0x44, 0x02, 0x33, 0x12, 0x5c, 481 0x33, 0xcd, 0xa5, 0x0b, 0x1a, 0x50, 0xc6, 0xc0, 0x2b, 0x16, 0x57, 0x2f, 0x22, 0x04, 0x04, 0x3e, 482 0x67, 0x01, 0x94, 0x93, 0x3d, 0x25, 0x87, 0xe8, 0x20, 0x65, 0x6e, 0x02, 0x90, 0xb8, 0x61, 0x9c, 483 0xbb, 0x9e, 0x07, 0xd7, 0xd4, 0x53, 0x37, 0xc2, 0x95, 0x60, 0xd0, 0xb3, 0x14, 0xcd, 0x57, 0x57, 484 0xa2, 0x4d, 0xe3, 0xbe, 0x5c, 0x68, 0xe9, 0xbe, 0x45, 0x08, 0x3a, 0x34, 0xb3, 0x48, 0x09, 0x2a, 485 0xc1, 0xc1, 0xff, 0x58, 0xa4, 0x85, 0xea, 0x85, 0x94, 0xcb, 0x01, 0x08, 0x33, 0xe2, 0x80, 0x33, 486 0xfc, 0xaf, 0xf5, 0x16, 0x50, 0x75, 0xa8, 0x37, 0xa1, 0x13, 0x6e, 0xc2, 0x0f, 0xfa, 0x31, 0x31, 487 0x56, 0xf3, 0x50, 0xd3, 0xb5, 0x4f, 0x05, 0x1d, 0x82, 0x04, 0x81, 0x5f, 0x91, 0x6f, 0xd0, 0xd9, 488 0x97, 0x18, 0x35, 0xbe, 0xc4, 0x56, 0xff, 0x23, 0xea, 0x44, 0xf1, 0xbc, 0x7b, 0xff, 0xb8, 0xd6, 489 0xf1, 0x52, 0xcf, 0xe6, 0x3a, 0xee, 0x7e, 0x0c, 0xef, 0xe2, 0xc5, 0xb4, 0xf8, 0x5e, 0xcc, 0xd3, 490 0xdb, 0x27, 0x5b, 0x4f, 0x90, 0x1f, 0x4e, 0x7f, 0x0d, 0xe7, 0xfa, 0x97, 0x1f, 0xe6, 0x8b, 0xcd, 491 0xfd, 0x6f, 0x77, 0xe6, 0xc5, 0xec, 0x6d, 0x85, 0xf7, 0xb2, 0xf0, 0x77, 0x59, 0xf8, 0xbb, 0x79, 492 0xd4, 0x33, 0x19, 0xee, 0xb2, 0xa7, 0xfc, 0xfd, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa8, 0xb6, 493 0xfa, 0xa9, 0xeb, 0x05, 0x00, 0x00, 494 }