github.com/hyperledger/fabric-protos-go@v0.3.3/common/common.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // source: common/common.proto
     3  
     4  package common
     5  
     6  import (
     7  	fmt "fmt"
     8  	proto "github.com/golang/protobuf/proto"
     9  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    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  // These status codes are intended to resemble selected HTTP status codes
    25  type Status int32
    26  
    27  const (
    28  	Status_UNKNOWN                  Status = 0
    29  	Status_SUCCESS                  Status = 200
    30  	Status_BAD_REQUEST              Status = 400
    31  	Status_FORBIDDEN                Status = 403
    32  	Status_NOT_FOUND                Status = 404
    33  	Status_REQUEST_ENTITY_TOO_LARGE Status = 413
    34  	Status_INTERNAL_SERVER_ERROR    Status = 500
    35  	Status_NOT_IMPLEMENTED          Status = 501
    36  	Status_SERVICE_UNAVAILABLE      Status = 503
    37  )
    38  
    39  var Status_name = map[int32]string{
    40  	0:   "UNKNOWN",
    41  	200: "SUCCESS",
    42  	400: "BAD_REQUEST",
    43  	403: "FORBIDDEN",
    44  	404: "NOT_FOUND",
    45  	413: "REQUEST_ENTITY_TOO_LARGE",
    46  	500: "INTERNAL_SERVER_ERROR",
    47  	501: "NOT_IMPLEMENTED",
    48  	503: "SERVICE_UNAVAILABLE",
    49  }
    50  
    51  var Status_value = map[string]int32{
    52  	"UNKNOWN":                  0,
    53  	"SUCCESS":                  200,
    54  	"BAD_REQUEST":              400,
    55  	"FORBIDDEN":                403,
    56  	"NOT_FOUND":                404,
    57  	"REQUEST_ENTITY_TOO_LARGE": 413,
    58  	"INTERNAL_SERVER_ERROR":    500,
    59  	"NOT_IMPLEMENTED":          501,
    60  	"SERVICE_UNAVAILABLE":      503,
    61  }
    62  
    63  func (x Status) String() string {
    64  	return proto.EnumName(Status_name, int32(x))
    65  }
    66  
    67  func (Status) EnumDescriptor() ([]byte, []int) {
    68  	return fileDescriptor_8f954d82c0b891f6, []int{0}
    69  }
    70  
    71  type HeaderType int32
    72  
    73  const (
    74  	HeaderType_MESSAGE              HeaderType = 0
    75  	HeaderType_CONFIG               HeaderType = 1
    76  	HeaderType_CONFIG_UPDATE        HeaderType = 2
    77  	HeaderType_ENDORSER_TRANSACTION HeaderType = 3
    78  	HeaderType_ORDERER_TRANSACTION  HeaderType = 4 // Deprecated: Do not use.
    79  	HeaderType_DELIVER_SEEK_INFO    HeaderType = 5
    80  	HeaderType_CHAINCODE_PACKAGE    HeaderType = 6
    81  )
    82  
    83  var HeaderType_name = map[int32]string{
    84  	0: "MESSAGE",
    85  	1: "CONFIG",
    86  	2: "CONFIG_UPDATE",
    87  	3: "ENDORSER_TRANSACTION",
    88  	4: "ORDERER_TRANSACTION",
    89  	5: "DELIVER_SEEK_INFO",
    90  	6: "CHAINCODE_PACKAGE",
    91  }
    92  
    93  var HeaderType_value = map[string]int32{
    94  	"MESSAGE":              0,
    95  	"CONFIG":               1,
    96  	"CONFIG_UPDATE":        2,
    97  	"ENDORSER_TRANSACTION": 3,
    98  	"ORDERER_TRANSACTION":  4,
    99  	"DELIVER_SEEK_INFO":    5,
   100  	"CHAINCODE_PACKAGE":    6,
   101  }
   102  
   103  func (x HeaderType) String() string {
   104  	return proto.EnumName(HeaderType_name, int32(x))
   105  }
   106  
   107  func (HeaderType) EnumDescriptor() ([]byte, []int) {
   108  	return fileDescriptor_8f954d82c0b891f6, []int{1}
   109  }
   110  
   111  // This enum enlists indexes of the block metadata array
   112  type BlockMetadataIndex int32
   113  
   114  const (
   115  	BlockMetadataIndex_SIGNATURES          BlockMetadataIndex = 0
   116  	BlockMetadataIndex_LAST_CONFIG         BlockMetadataIndex = 1 // Deprecated: Do not use.
   117  	BlockMetadataIndex_TRANSACTIONS_FILTER BlockMetadataIndex = 2
   118  	BlockMetadataIndex_ORDERER             BlockMetadataIndex = 3 // Deprecated: Do not use.
   119  	BlockMetadataIndex_COMMIT_HASH         BlockMetadataIndex = 4
   120  )
   121  
   122  var BlockMetadataIndex_name = map[int32]string{
   123  	0: "SIGNATURES",
   124  	1: "LAST_CONFIG",
   125  	2: "TRANSACTIONS_FILTER",
   126  	3: "ORDERER",
   127  	4: "COMMIT_HASH",
   128  }
   129  
   130  var BlockMetadataIndex_value = map[string]int32{
   131  	"SIGNATURES":          0,
   132  	"LAST_CONFIG":         1,
   133  	"TRANSACTIONS_FILTER": 2,
   134  	"ORDERER":             3,
   135  	"COMMIT_HASH":         4,
   136  }
   137  
   138  func (x BlockMetadataIndex) String() string {
   139  	return proto.EnumName(BlockMetadataIndex_name, int32(x))
   140  }
   141  
   142  func (BlockMetadataIndex) EnumDescriptor() ([]byte, []int) {
   143  	return fileDescriptor_8f954d82c0b891f6, []int{2}
   144  }
   145  
   146  // LastConfig is the encoded value for the Metadata message which is encoded in the LAST_CONFIGURATION block metadata index
   147  type LastConfig struct {
   148  	Index                uint64   `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
   149  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   150  	XXX_unrecognized     []byte   `json:"-"`
   151  	XXX_sizecache        int32    `json:"-"`
   152  }
   153  
   154  func (m *LastConfig) Reset()         { *m = LastConfig{} }
   155  func (m *LastConfig) String() string { return proto.CompactTextString(m) }
   156  func (*LastConfig) ProtoMessage()    {}
   157  func (*LastConfig) Descriptor() ([]byte, []int) {
   158  	return fileDescriptor_8f954d82c0b891f6, []int{0}
   159  }
   160  
   161  func (m *LastConfig) XXX_Unmarshal(b []byte) error {
   162  	return xxx_messageInfo_LastConfig.Unmarshal(m, b)
   163  }
   164  func (m *LastConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   165  	return xxx_messageInfo_LastConfig.Marshal(b, m, deterministic)
   166  }
   167  func (m *LastConfig) XXX_Merge(src proto.Message) {
   168  	xxx_messageInfo_LastConfig.Merge(m, src)
   169  }
   170  func (m *LastConfig) XXX_Size() int {
   171  	return xxx_messageInfo_LastConfig.Size(m)
   172  }
   173  func (m *LastConfig) XXX_DiscardUnknown() {
   174  	xxx_messageInfo_LastConfig.DiscardUnknown(m)
   175  }
   176  
   177  var xxx_messageInfo_LastConfig proto.InternalMessageInfo
   178  
   179  func (m *LastConfig) GetIndex() uint64 {
   180  	if m != nil {
   181  		return m.Index
   182  	}
   183  	return 0
   184  }
   185  
   186  // Metadata is a common structure to be used to encode block metadata
   187  type Metadata struct {
   188  	Value                []byte               `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
   189  	Signatures           []*MetadataSignature `protobuf:"bytes,2,rep,name=signatures,proto3" json:"signatures,omitempty"`
   190  	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
   191  	XXX_unrecognized     []byte               `json:"-"`
   192  	XXX_sizecache        int32                `json:"-"`
   193  }
   194  
   195  func (m *Metadata) Reset()         { *m = Metadata{} }
   196  func (m *Metadata) String() string { return proto.CompactTextString(m) }
   197  func (*Metadata) ProtoMessage()    {}
   198  func (*Metadata) Descriptor() ([]byte, []int) {
   199  	return fileDescriptor_8f954d82c0b891f6, []int{1}
   200  }
   201  
   202  func (m *Metadata) XXX_Unmarshal(b []byte) error {
   203  	return xxx_messageInfo_Metadata.Unmarshal(m, b)
   204  }
   205  func (m *Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   206  	return xxx_messageInfo_Metadata.Marshal(b, m, deterministic)
   207  }
   208  func (m *Metadata) XXX_Merge(src proto.Message) {
   209  	xxx_messageInfo_Metadata.Merge(m, src)
   210  }
   211  func (m *Metadata) XXX_Size() int {
   212  	return xxx_messageInfo_Metadata.Size(m)
   213  }
   214  func (m *Metadata) XXX_DiscardUnknown() {
   215  	xxx_messageInfo_Metadata.DiscardUnknown(m)
   216  }
   217  
   218  var xxx_messageInfo_Metadata proto.InternalMessageInfo
   219  
   220  func (m *Metadata) GetValue() []byte {
   221  	if m != nil {
   222  		return m.Value
   223  	}
   224  	return nil
   225  }
   226  
   227  func (m *Metadata) GetSignatures() []*MetadataSignature {
   228  	if m != nil {
   229  		return m.Signatures
   230  	}
   231  	return nil
   232  }
   233  
   234  type MetadataSignature struct {
   235  	SignatureHeader      []byte   `protobuf:"bytes,1,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"`
   236  	Signature            []byte   `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
   237  	IdentifierHeader     []byte   `protobuf:"bytes,3,opt,name=identifier_header,json=identifierHeader,proto3" json:"identifier_header,omitempty"`
   238  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   239  	XXX_unrecognized     []byte   `json:"-"`
   240  	XXX_sizecache        int32    `json:"-"`
   241  }
   242  
   243  func (m *MetadataSignature) Reset()         { *m = MetadataSignature{} }
   244  func (m *MetadataSignature) String() string { return proto.CompactTextString(m) }
   245  func (*MetadataSignature) ProtoMessage()    {}
   246  func (*MetadataSignature) Descriptor() ([]byte, []int) {
   247  	return fileDescriptor_8f954d82c0b891f6, []int{2}
   248  }
   249  
   250  func (m *MetadataSignature) XXX_Unmarshal(b []byte) error {
   251  	return xxx_messageInfo_MetadataSignature.Unmarshal(m, b)
   252  }
   253  func (m *MetadataSignature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   254  	return xxx_messageInfo_MetadataSignature.Marshal(b, m, deterministic)
   255  }
   256  func (m *MetadataSignature) XXX_Merge(src proto.Message) {
   257  	xxx_messageInfo_MetadataSignature.Merge(m, src)
   258  }
   259  func (m *MetadataSignature) XXX_Size() int {
   260  	return xxx_messageInfo_MetadataSignature.Size(m)
   261  }
   262  func (m *MetadataSignature) XXX_DiscardUnknown() {
   263  	xxx_messageInfo_MetadataSignature.DiscardUnknown(m)
   264  }
   265  
   266  var xxx_messageInfo_MetadataSignature proto.InternalMessageInfo
   267  
   268  func (m *MetadataSignature) GetSignatureHeader() []byte {
   269  	if m != nil {
   270  		return m.SignatureHeader
   271  	}
   272  	return nil
   273  }
   274  
   275  func (m *MetadataSignature) GetSignature() []byte {
   276  	if m != nil {
   277  		return m.Signature
   278  	}
   279  	return nil
   280  }
   281  
   282  func (m *MetadataSignature) GetIdentifierHeader() []byte {
   283  	if m != nil {
   284  		return m.IdentifierHeader
   285  	}
   286  	return nil
   287  }
   288  
   289  // IdentifierHeader is used as an alternative to a SignatureHeader when the creator can be referenced by id
   290  type IdentifierHeader struct {
   291  	Identifier           uint32   `protobuf:"varint,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
   292  	Nonce                []byte   `protobuf:"bytes,2,opt,name=nonce,proto3" json:"nonce,omitempty"`
   293  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   294  	XXX_unrecognized     []byte   `json:"-"`
   295  	XXX_sizecache        int32    `json:"-"`
   296  }
   297  
   298  func (m *IdentifierHeader) Reset()         { *m = IdentifierHeader{} }
   299  func (m *IdentifierHeader) String() string { return proto.CompactTextString(m) }
   300  func (*IdentifierHeader) ProtoMessage()    {}
   301  func (*IdentifierHeader) Descriptor() ([]byte, []int) {
   302  	return fileDescriptor_8f954d82c0b891f6, []int{3}
   303  }
   304  
   305  func (m *IdentifierHeader) XXX_Unmarshal(b []byte) error {
   306  	return xxx_messageInfo_IdentifierHeader.Unmarshal(m, b)
   307  }
   308  func (m *IdentifierHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   309  	return xxx_messageInfo_IdentifierHeader.Marshal(b, m, deterministic)
   310  }
   311  func (m *IdentifierHeader) XXX_Merge(src proto.Message) {
   312  	xxx_messageInfo_IdentifierHeader.Merge(m, src)
   313  }
   314  func (m *IdentifierHeader) XXX_Size() int {
   315  	return xxx_messageInfo_IdentifierHeader.Size(m)
   316  }
   317  func (m *IdentifierHeader) XXX_DiscardUnknown() {
   318  	xxx_messageInfo_IdentifierHeader.DiscardUnknown(m)
   319  }
   320  
   321  var xxx_messageInfo_IdentifierHeader proto.InternalMessageInfo
   322  
   323  func (m *IdentifierHeader) GetIdentifier() uint32 {
   324  	if m != nil {
   325  		return m.Identifier
   326  	}
   327  	return 0
   328  }
   329  
   330  func (m *IdentifierHeader) GetNonce() []byte {
   331  	if m != nil {
   332  		return m.Nonce
   333  	}
   334  	return nil
   335  }
   336  
   337  type Header struct {
   338  	ChannelHeader        []byte   `protobuf:"bytes,1,opt,name=channel_header,json=channelHeader,proto3" json:"channel_header,omitempty"`
   339  	SignatureHeader      []byte   `protobuf:"bytes,2,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"`
   340  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   341  	XXX_unrecognized     []byte   `json:"-"`
   342  	XXX_sizecache        int32    `json:"-"`
   343  }
   344  
   345  func (m *Header) Reset()         { *m = Header{} }
   346  func (m *Header) String() string { return proto.CompactTextString(m) }
   347  func (*Header) ProtoMessage()    {}
   348  func (*Header) Descriptor() ([]byte, []int) {
   349  	return fileDescriptor_8f954d82c0b891f6, []int{4}
   350  }
   351  
   352  func (m *Header) XXX_Unmarshal(b []byte) error {
   353  	return xxx_messageInfo_Header.Unmarshal(m, b)
   354  }
   355  func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   356  	return xxx_messageInfo_Header.Marshal(b, m, deterministic)
   357  }
   358  func (m *Header) XXX_Merge(src proto.Message) {
   359  	xxx_messageInfo_Header.Merge(m, src)
   360  }
   361  func (m *Header) XXX_Size() int {
   362  	return xxx_messageInfo_Header.Size(m)
   363  }
   364  func (m *Header) XXX_DiscardUnknown() {
   365  	xxx_messageInfo_Header.DiscardUnknown(m)
   366  }
   367  
   368  var xxx_messageInfo_Header proto.InternalMessageInfo
   369  
   370  func (m *Header) GetChannelHeader() []byte {
   371  	if m != nil {
   372  		return m.ChannelHeader
   373  	}
   374  	return nil
   375  }
   376  
   377  func (m *Header) GetSignatureHeader() []byte {
   378  	if m != nil {
   379  		return m.SignatureHeader
   380  	}
   381  	return nil
   382  }
   383  
   384  // Header is a generic replay prevention and identity message to include in a signed payload
   385  type ChannelHeader struct {
   386  	Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
   387  	// Version indicates message protocol version
   388  	Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
   389  	// Timestamp is the local time when the message was created
   390  	// by the sender
   391  	Timestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
   392  	// Identifier of the channel this message is bound for
   393  	ChannelId string `protobuf:"bytes,4,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
   394  	// An unique identifier that is used end-to-end.
   395  	//   - set by higher layers such as end user or SDK
   396  	//   - passed to the endorser (which will check for uniqueness)
   397  	//   - as the header is passed along unchanged, it will be
   398  	//     be retrieved by the committer (uniqueness check here as well)
   399  	//   - to be stored in the ledger
   400  	TxId string `protobuf:"bytes,5,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"`
   401  	// The epoch in which this header was generated, where epoch is defined based on block height
   402  	// Epoch in which the response has been generated. This field identifies a
   403  	// logical window of time. A proposal response is accepted by a peer only if
   404  	// two conditions hold:
   405  	//  1. the epoch specified in the message is the current epoch
   406  	//  2. this message has been only seen once during this epoch (i.e. it hasn't
   407  	//     been replayed)
   408  	Epoch uint64 `protobuf:"varint,6,opt,name=epoch,proto3" json:"epoch,omitempty"`
   409  	// Extension that may be attached based on the header type
   410  	Extension []byte `protobuf:"bytes,7,opt,name=extension,proto3" json:"extension,omitempty"`
   411  	// If mutual TLS is employed, this represents
   412  	// the hash of the client's TLS certificate
   413  	TlsCertHash          []byte   `protobuf:"bytes,8,opt,name=tls_cert_hash,json=tlsCertHash,proto3" json:"tls_cert_hash,omitempty"`
   414  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   415  	XXX_unrecognized     []byte   `json:"-"`
   416  	XXX_sizecache        int32    `json:"-"`
   417  }
   418  
   419  func (m *ChannelHeader) Reset()         { *m = ChannelHeader{} }
   420  func (m *ChannelHeader) String() string { return proto.CompactTextString(m) }
   421  func (*ChannelHeader) ProtoMessage()    {}
   422  func (*ChannelHeader) Descriptor() ([]byte, []int) {
   423  	return fileDescriptor_8f954d82c0b891f6, []int{5}
   424  }
   425  
   426  func (m *ChannelHeader) XXX_Unmarshal(b []byte) error {
   427  	return xxx_messageInfo_ChannelHeader.Unmarshal(m, b)
   428  }
   429  func (m *ChannelHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   430  	return xxx_messageInfo_ChannelHeader.Marshal(b, m, deterministic)
   431  }
   432  func (m *ChannelHeader) XXX_Merge(src proto.Message) {
   433  	xxx_messageInfo_ChannelHeader.Merge(m, src)
   434  }
   435  func (m *ChannelHeader) XXX_Size() int {
   436  	return xxx_messageInfo_ChannelHeader.Size(m)
   437  }
   438  func (m *ChannelHeader) XXX_DiscardUnknown() {
   439  	xxx_messageInfo_ChannelHeader.DiscardUnknown(m)
   440  }
   441  
   442  var xxx_messageInfo_ChannelHeader proto.InternalMessageInfo
   443  
   444  func (m *ChannelHeader) GetType() int32 {
   445  	if m != nil {
   446  		return m.Type
   447  	}
   448  	return 0
   449  }
   450  
   451  func (m *ChannelHeader) GetVersion() int32 {
   452  	if m != nil {
   453  		return m.Version
   454  	}
   455  	return 0
   456  }
   457  
   458  func (m *ChannelHeader) GetTimestamp() *timestamppb.Timestamp {
   459  	if m != nil {
   460  		return m.Timestamp
   461  	}
   462  	return nil
   463  }
   464  
   465  func (m *ChannelHeader) GetChannelId() string {
   466  	if m != nil {
   467  		return m.ChannelId
   468  	}
   469  	return ""
   470  }
   471  
   472  func (m *ChannelHeader) GetTxId() string {
   473  	if m != nil {
   474  		return m.TxId
   475  	}
   476  	return ""
   477  }
   478  
   479  func (m *ChannelHeader) GetEpoch() uint64 {
   480  	if m != nil {
   481  		return m.Epoch
   482  	}
   483  	return 0
   484  }
   485  
   486  func (m *ChannelHeader) GetExtension() []byte {
   487  	if m != nil {
   488  		return m.Extension
   489  	}
   490  	return nil
   491  }
   492  
   493  func (m *ChannelHeader) GetTlsCertHash() []byte {
   494  	if m != nil {
   495  		return m.TlsCertHash
   496  	}
   497  	return nil
   498  }
   499  
   500  type SignatureHeader struct {
   501  	// Creator of the message, a marshaled msp.SerializedIdentity
   502  	Creator []byte `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"`
   503  	// Arbitrary number that may only be used once. Can be used to detect replay attacks.
   504  	Nonce                []byte   `protobuf:"bytes,2,opt,name=nonce,proto3" json:"nonce,omitempty"`
   505  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   506  	XXX_unrecognized     []byte   `json:"-"`
   507  	XXX_sizecache        int32    `json:"-"`
   508  }
   509  
   510  func (m *SignatureHeader) Reset()         { *m = SignatureHeader{} }
   511  func (m *SignatureHeader) String() string { return proto.CompactTextString(m) }
   512  func (*SignatureHeader) ProtoMessage()    {}
   513  func (*SignatureHeader) Descriptor() ([]byte, []int) {
   514  	return fileDescriptor_8f954d82c0b891f6, []int{6}
   515  }
   516  
   517  func (m *SignatureHeader) XXX_Unmarshal(b []byte) error {
   518  	return xxx_messageInfo_SignatureHeader.Unmarshal(m, b)
   519  }
   520  func (m *SignatureHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   521  	return xxx_messageInfo_SignatureHeader.Marshal(b, m, deterministic)
   522  }
   523  func (m *SignatureHeader) XXX_Merge(src proto.Message) {
   524  	xxx_messageInfo_SignatureHeader.Merge(m, src)
   525  }
   526  func (m *SignatureHeader) XXX_Size() int {
   527  	return xxx_messageInfo_SignatureHeader.Size(m)
   528  }
   529  func (m *SignatureHeader) XXX_DiscardUnknown() {
   530  	xxx_messageInfo_SignatureHeader.DiscardUnknown(m)
   531  }
   532  
   533  var xxx_messageInfo_SignatureHeader proto.InternalMessageInfo
   534  
   535  func (m *SignatureHeader) GetCreator() []byte {
   536  	if m != nil {
   537  		return m.Creator
   538  	}
   539  	return nil
   540  }
   541  
   542  func (m *SignatureHeader) GetNonce() []byte {
   543  	if m != nil {
   544  		return m.Nonce
   545  	}
   546  	return nil
   547  }
   548  
   549  // Payload is the message contents (and header to allow for signing)
   550  type Payload struct {
   551  	// Header is included to provide identity and prevent replay
   552  	Header *Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
   553  	// Data, the encoding of which is defined by the type in the header
   554  	Data                 []byte   `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
   555  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   556  	XXX_unrecognized     []byte   `json:"-"`
   557  	XXX_sizecache        int32    `json:"-"`
   558  }
   559  
   560  func (m *Payload) Reset()         { *m = Payload{} }
   561  func (m *Payload) String() string { return proto.CompactTextString(m) }
   562  func (*Payload) ProtoMessage()    {}
   563  func (*Payload) Descriptor() ([]byte, []int) {
   564  	return fileDescriptor_8f954d82c0b891f6, []int{7}
   565  }
   566  
   567  func (m *Payload) XXX_Unmarshal(b []byte) error {
   568  	return xxx_messageInfo_Payload.Unmarshal(m, b)
   569  }
   570  func (m *Payload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   571  	return xxx_messageInfo_Payload.Marshal(b, m, deterministic)
   572  }
   573  func (m *Payload) XXX_Merge(src proto.Message) {
   574  	xxx_messageInfo_Payload.Merge(m, src)
   575  }
   576  func (m *Payload) XXX_Size() int {
   577  	return xxx_messageInfo_Payload.Size(m)
   578  }
   579  func (m *Payload) XXX_DiscardUnknown() {
   580  	xxx_messageInfo_Payload.DiscardUnknown(m)
   581  }
   582  
   583  var xxx_messageInfo_Payload proto.InternalMessageInfo
   584  
   585  func (m *Payload) GetHeader() *Header {
   586  	if m != nil {
   587  		return m.Header
   588  	}
   589  	return nil
   590  }
   591  
   592  func (m *Payload) GetData() []byte {
   593  	if m != nil {
   594  		return m.Data
   595  	}
   596  	return nil
   597  }
   598  
   599  // Envelope wraps a Payload with a signature so that the message may be authenticated
   600  type Envelope struct {
   601  	// A marshaled Payload
   602  	Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
   603  	// A signature by the creator specified in the Payload header
   604  	Signature            []byte   `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
   605  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   606  	XXX_unrecognized     []byte   `json:"-"`
   607  	XXX_sizecache        int32    `json:"-"`
   608  }
   609  
   610  func (m *Envelope) Reset()         { *m = Envelope{} }
   611  func (m *Envelope) String() string { return proto.CompactTextString(m) }
   612  func (*Envelope) ProtoMessage()    {}
   613  func (*Envelope) Descriptor() ([]byte, []int) {
   614  	return fileDescriptor_8f954d82c0b891f6, []int{8}
   615  }
   616  
   617  func (m *Envelope) XXX_Unmarshal(b []byte) error {
   618  	return xxx_messageInfo_Envelope.Unmarshal(m, b)
   619  }
   620  func (m *Envelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   621  	return xxx_messageInfo_Envelope.Marshal(b, m, deterministic)
   622  }
   623  func (m *Envelope) XXX_Merge(src proto.Message) {
   624  	xxx_messageInfo_Envelope.Merge(m, src)
   625  }
   626  func (m *Envelope) XXX_Size() int {
   627  	return xxx_messageInfo_Envelope.Size(m)
   628  }
   629  func (m *Envelope) XXX_DiscardUnknown() {
   630  	xxx_messageInfo_Envelope.DiscardUnknown(m)
   631  }
   632  
   633  var xxx_messageInfo_Envelope proto.InternalMessageInfo
   634  
   635  func (m *Envelope) GetPayload() []byte {
   636  	if m != nil {
   637  		return m.Payload
   638  	}
   639  	return nil
   640  }
   641  
   642  func (m *Envelope) GetSignature() []byte {
   643  	if m != nil {
   644  		return m.Signature
   645  	}
   646  	return nil
   647  }
   648  
   649  // This is finalized block structure to be shared among the orderer and peer
   650  // Note that the BlockHeader chains to the previous BlockHeader, and the BlockData hash is embedded
   651  // in the BlockHeader.  This makes it natural and obvious that the Data is included in the hash, but
   652  // the Metadata is not.
   653  type Block struct {
   654  	Header               *BlockHeader   `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
   655  	Data                 *BlockData     `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
   656  	Metadata             *BlockMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
   657  	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
   658  	XXX_unrecognized     []byte         `json:"-"`
   659  	XXX_sizecache        int32          `json:"-"`
   660  }
   661  
   662  func (m *Block) Reset()         { *m = Block{} }
   663  func (m *Block) String() string { return proto.CompactTextString(m) }
   664  func (*Block) ProtoMessage()    {}
   665  func (*Block) Descriptor() ([]byte, []int) {
   666  	return fileDescriptor_8f954d82c0b891f6, []int{9}
   667  }
   668  
   669  func (m *Block) XXX_Unmarshal(b []byte) error {
   670  	return xxx_messageInfo_Block.Unmarshal(m, b)
   671  }
   672  func (m *Block) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   673  	return xxx_messageInfo_Block.Marshal(b, m, deterministic)
   674  }
   675  func (m *Block) XXX_Merge(src proto.Message) {
   676  	xxx_messageInfo_Block.Merge(m, src)
   677  }
   678  func (m *Block) XXX_Size() int {
   679  	return xxx_messageInfo_Block.Size(m)
   680  }
   681  func (m *Block) XXX_DiscardUnknown() {
   682  	xxx_messageInfo_Block.DiscardUnknown(m)
   683  }
   684  
   685  var xxx_messageInfo_Block proto.InternalMessageInfo
   686  
   687  func (m *Block) GetHeader() *BlockHeader {
   688  	if m != nil {
   689  		return m.Header
   690  	}
   691  	return nil
   692  }
   693  
   694  func (m *Block) GetData() *BlockData {
   695  	if m != nil {
   696  		return m.Data
   697  	}
   698  	return nil
   699  }
   700  
   701  func (m *Block) GetMetadata() *BlockMetadata {
   702  	if m != nil {
   703  		return m.Metadata
   704  	}
   705  	return nil
   706  }
   707  
   708  // BlockHeader is the element of the block which forms the block chain
   709  // The block header is hashed using the configured chain hashing algorithm
   710  // over the ASN.1 encoding of the BlockHeader
   711  type BlockHeader struct {
   712  	Number               uint64   `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
   713  	PreviousHash         []byte   `protobuf:"bytes,2,opt,name=previous_hash,json=previousHash,proto3" json:"previous_hash,omitempty"`
   714  	DataHash             []byte   `protobuf:"bytes,3,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"`
   715  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   716  	XXX_unrecognized     []byte   `json:"-"`
   717  	XXX_sizecache        int32    `json:"-"`
   718  }
   719  
   720  func (m *BlockHeader) Reset()         { *m = BlockHeader{} }
   721  func (m *BlockHeader) String() string { return proto.CompactTextString(m) }
   722  func (*BlockHeader) ProtoMessage()    {}
   723  func (*BlockHeader) Descriptor() ([]byte, []int) {
   724  	return fileDescriptor_8f954d82c0b891f6, []int{10}
   725  }
   726  
   727  func (m *BlockHeader) XXX_Unmarshal(b []byte) error {
   728  	return xxx_messageInfo_BlockHeader.Unmarshal(m, b)
   729  }
   730  func (m *BlockHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   731  	return xxx_messageInfo_BlockHeader.Marshal(b, m, deterministic)
   732  }
   733  func (m *BlockHeader) XXX_Merge(src proto.Message) {
   734  	xxx_messageInfo_BlockHeader.Merge(m, src)
   735  }
   736  func (m *BlockHeader) XXX_Size() int {
   737  	return xxx_messageInfo_BlockHeader.Size(m)
   738  }
   739  func (m *BlockHeader) XXX_DiscardUnknown() {
   740  	xxx_messageInfo_BlockHeader.DiscardUnknown(m)
   741  }
   742  
   743  var xxx_messageInfo_BlockHeader proto.InternalMessageInfo
   744  
   745  func (m *BlockHeader) GetNumber() uint64 {
   746  	if m != nil {
   747  		return m.Number
   748  	}
   749  	return 0
   750  }
   751  
   752  func (m *BlockHeader) GetPreviousHash() []byte {
   753  	if m != nil {
   754  		return m.PreviousHash
   755  	}
   756  	return nil
   757  }
   758  
   759  func (m *BlockHeader) GetDataHash() []byte {
   760  	if m != nil {
   761  		return m.DataHash
   762  	}
   763  	return nil
   764  }
   765  
   766  type BlockData struct {
   767  	Data                 [][]byte `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"`
   768  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   769  	XXX_unrecognized     []byte   `json:"-"`
   770  	XXX_sizecache        int32    `json:"-"`
   771  }
   772  
   773  func (m *BlockData) Reset()         { *m = BlockData{} }
   774  func (m *BlockData) String() string { return proto.CompactTextString(m) }
   775  func (*BlockData) ProtoMessage()    {}
   776  func (*BlockData) Descriptor() ([]byte, []int) {
   777  	return fileDescriptor_8f954d82c0b891f6, []int{11}
   778  }
   779  
   780  func (m *BlockData) XXX_Unmarshal(b []byte) error {
   781  	return xxx_messageInfo_BlockData.Unmarshal(m, b)
   782  }
   783  func (m *BlockData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   784  	return xxx_messageInfo_BlockData.Marshal(b, m, deterministic)
   785  }
   786  func (m *BlockData) XXX_Merge(src proto.Message) {
   787  	xxx_messageInfo_BlockData.Merge(m, src)
   788  }
   789  func (m *BlockData) XXX_Size() int {
   790  	return xxx_messageInfo_BlockData.Size(m)
   791  }
   792  func (m *BlockData) XXX_DiscardUnknown() {
   793  	xxx_messageInfo_BlockData.DiscardUnknown(m)
   794  }
   795  
   796  var xxx_messageInfo_BlockData proto.InternalMessageInfo
   797  
   798  func (m *BlockData) GetData() [][]byte {
   799  	if m != nil {
   800  		return m.Data
   801  	}
   802  	return nil
   803  }
   804  
   805  type BlockMetadata struct {
   806  	Metadata             [][]byte `protobuf:"bytes,1,rep,name=metadata,proto3" json:"metadata,omitempty"`
   807  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   808  	XXX_unrecognized     []byte   `json:"-"`
   809  	XXX_sizecache        int32    `json:"-"`
   810  }
   811  
   812  func (m *BlockMetadata) Reset()         { *m = BlockMetadata{} }
   813  func (m *BlockMetadata) String() string { return proto.CompactTextString(m) }
   814  func (*BlockMetadata) ProtoMessage()    {}
   815  func (*BlockMetadata) Descriptor() ([]byte, []int) {
   816  	return fileDescriptor_8f954d82c0b891f6, []int{12}
   817  }
   818  
   819  func (m *BlockMetadata) XXX_Unmarshal(b []byte) error {
   820  	return xxx_messageInfo_BlockMetadata.Unmarshal(m, b)
   821  }
   822  func (m *BlockMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   823  	return xxx_messageInfo_BlockMetadata.Marshal(b, m, deterministic)
   824  }
   825  func (m *BlockMetadata) XXX_Merge(src proto.Message) {
   826  	xxx_messageInfo_BlockMetadata.Merge(m, src)
   827  }
   828  func (m *BlockMetadata) XXX_Size() int {
   829  	return xxx_messageInfo_BlockMetadata.Size(m)
   830  }
   831  func (m *BlockMetadata) XXX_DiscardUnknown() {
   832  	xxx_messageInfo_BlockMetadata.DiscardUnknown(m)
   833  }
   834  
   835  var xxx_messageInfo_BlockMetadata proto.InternalMessageInfo
   836  
   837  func (m *BlockMetadata) GetMetadata() [][]byte {
   838  	if m != nil {
   839  		return m.Metadata
   840  	}
   841  	return nil
   842  }
   843  
   844  // OrdererBlockMetadata defines metadata that is set by the ordering service.
   845  type OrdererBlockMetadata struct {
   846  	LastConfig           *LastConfig `protobuf:"bytes,1,opt,name=last_config,json=lastConfig,proto3" json:"last_config,omitempty"`
   847  	ConsenterMetadata    []byte      `protobuf:"bytes,2,opt,name=consenter_metadata,json=consenterMetadata,proto3" json:"consenter_metadata,omitempty"`
   848  	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
   849  	XXX_unrecognized     []byte      `json:"-"`
   850  	XXX_sizecache        int32       `json:"-"`
   851  }
   852  
   853  func (m *OrdererBlockMetadata) Reset()         { *m = OrdererBlockMetadata{} }
   854  func (m *OrdererBlockMetadata) String() string { return proto.CompactTextString(m) }
   855  func (*OrdererBlockMetadata) ProtoMessage()    {}
   856  func (*OrdererBlockMetadata) Descriptor() ([]byte, []int) {
   857  	return fileDescriptor_8f954d82c0b891f6, []int{13}
   858  }
   859  
   860  func (m *OrdererBlockMetadata) XXX_Unmarshal(b []byte) error {
   861  	return xxx_messageInfo_OrdererBlockMetadata.Unmarshal(m, b)
   862  }
   863  func (m *OrdererBlockMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   864  	return xxx_messageInfo_OrdererBlockMetadata.Marshal(b, m, deterministic)
   865  }
   866  func (m *OrdererBlockMetadata) XXX_Merge(src proto.Message) {
   867  	xxx_messageInfo_OrdererBlockMetadata.Merge(m, src)
   868  }
   869  func (m *OrdererBlockMetadata) XXX_Size() int {
   870  	return xxx_messageInfo_OrdererBlockMetadata.Size(m)
   871  }
   872  func (m *OrdererBlockMetadata) XXX_DiscardUnknown() {
   873  	xxx_messageInfo_OrdererBlockMetadata.DiscardUnknown(m)
   874  }
   875  
   876  var xxx_messageInfo_OrdererBlockMetadata proto.InternalMessageInfo
   877  
   878  func (m *OrdererBlockMetadata) GetLastConfig() *LastConfig {
   879  	if m != nil {
   880  		return m.LastConfig
   881  	}
   882  	return nil
   883  }
   884  
   885  func (m *OrdererBlockMetadata) GetConsenterMetadata() []byte {
   886  	if m != nil {
   887  		return m.ConsenterMetadata
   888  	}
   889  	return nil
   890  }
   891  
   892  func init() {
   893  	proto.RegisterEnum("common.Status", Status_name, Status_value)
   894  	proto.RegisterEnum("common.HeaderType", HeaderType_name, HeaderType_value)
   895  	proto.RegisterEnum("common.BlockMetadataIndex", BlockMetadataIndex_name, BlockMetadataIndex_value)
   896  	proto.RegisterType((*LastConfig)(nil), "common.LastConfig")
   897  	proto.RegisterType((*Metadata)(nil), "common.Metadata")
   898  	proto.RegisterType((*MetadataSignature)(nil), "common.MetadataSignature")
   899  	proto.RegisterType((*IdentifierHeader)(nil), "common.IdentifierHeader")
   900  	proto.RegisterType((*Header)(nil), "common.Header")
   901  	proto.RegisterType((*ChannelHeader)(nil), "common.ChannelHeader")
   902  	proto.RegisterType((*SignatureHeader)(nil), "common.SignatureHeader")
   903  	proto.RegisterType((*Payload)(nil), "common.Payload")
   904  	proto.RegisterType((*Envelope)(nil), "common.Envelope")
   905  	proto.RegisterType((*Block)(nil), "common.Block")
   906  	proto.RegisterType((*BlockHeader)(nil), "common.BlockHeader")
   907  	proto.RegisterType((*BlockData)(nil), "common.BlockData")
   908  	proto.RegisterType((*BlockMetadata)(nil), "common.BlockMetadata")
   909  	proto.RegisterType((*OrdererBlockMetadata)(nil), "common.OrdererBlockMetadata")
   910  }
   911  
   912  func init() { proto.RegisterFile("common/common.proto", fileDescriptor_8f954d82c0b891f6) }
   913  
   914  var fileDescriptor_8f954d82c0b891f6 = []byte{
   915  	// 1095 bytes of a gzipped FileDescriptorProto
   916  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x55, 0x4d, 0x6f, 0xeb, 0x44,
   917  	0x17, 0x6e, 0xbe, 0x93, 0xe3, 0xa6, 0x9d, 0x4c, 0xda, 0xf7, 0x0d, 0xbd, 0x5c, 0x6e, 0x65, 0xb8,
   918  	0xa8, 0xb4, 0x6a, 0x2a, 0x7a, 0x37, 0xb0, 0x74, 0xec, 0x69, 0x63, 0x35, 0xb1, 0xc3, 0xd8, 0x29,
   919  	0xe2, 0xb2, 0xb0, 0xdc, 0x64, 0x9a, 0x58, 0x24, 0x76, 0x64, 0x4f, 0xaa, 0x96, 0x2d, 0x2b, 0x36,
   920  	0x08, 0x09, 0xb6, 0xfc, 0x17, 0x96, 0xfc, 0x1a, 0x56, 0x20, 0xb6, 0xc8, 0x1e, 0x3b, 0x1f, 0xe5,
   921  	0xc2, 0x2a, 0x3e, 0xcf, 0x79, 0xe6, 0x9c, 0xe7, 0x7c, 0xcc, 0x04, 0x9a, 0xa3, 0x60, 0x3e, 0x0f,
   922  	0xfc, 0x0b, 0xf1, 0xd3, 0x5e, 0x84, 0x01, 0x0f, 0x70, 0x59, 0x58, 0x47, 0xaf, 0x26, 0x41, 0x30,
   923  	0x99, 0xb1, 0x8b, 0x04, 0xbd, 0x5b, 0xde, 0x5f, 0x70, 0x6f, 0xce, 0x22, 0xee, 0xce, 0x17, 0x82,
   924  	0x28, 0xcb, 0x00, 0x3d, 0x37, 0xe2, 0x6a, 0xe0, 0xdf, 0x7b, 0x13, 0x7c, 0x00, 0x25, 0xcf, 0x1f,
   925  	0xb3, 0xc7, 0x56, 0xee, 0x38, 0x77, 0x52, 0xa4, 0xc2, 0x90, 0xbf, 0x86, 0x6a, 0x9f, 0x71, 0x77,
   926  	0xec, 0x72, 0x37, 0x66, 0x3c, 0xb8, 0xb3, 0x25, 0x4b, 0x18, 0xbb, 0x54, 0x18, 0xf8, 0x73, 0x80,
   927  	0xc8, 0x9b, 0xf8, 0x2e, 0x5f, 0x86, 0x2c, 0x6a, 0xe5, 0x8f, 0x0b, 0x27, 0xd2, 0xe5, 0x7b, 0xed,
   928  	0x54, 0x51, 0x76, 0xd6, 0xca, 0x18, 0x74, 0x83, 0x2c, 0x7f, 0x9f, 0x83, 0xc6, 0x3f, 0x18, 0xf8,
   929  	0x13, 0x40, 0x2b, 0x8e, 0x33, 0x65, 0xee, 0x98, 0x85, 0x69, 0xc6, 0xfd, 0x15, 0xde, 0x4d, 0x60,
   930  	0xfc, 0x3e, 0xd4, 0x56, 0x50, 0x2b, 0x9f, 0x70, 0xd6, 0x00, 0x3e, 0x83, 0x86, 0x37, 0x66, 0x3e,
   931  	0xf7, 0xee, 0x3d, 0x16, 0x66, 0x91, 0x0a, 0x09, 0x0b, 0xad, 0x1d, 0x22, 0x94, 0xdc, 0x05, 0xa4,
   932  	0x3f, 0xc3, 0xf0, 0x07, 0x00, 0x6b, 0x5e, 0xa2, 0xa1, 0x4e, 0x37, 0x90, 0xb8, 0x21, 0x7e, 0xe0,
   933  	0x8f, 0xb2, 0xd4, 0xc2, 0x90, 0xdf, 0x42, 0x39, 0x3d, 0xff, 0x1a, 0xf6, 0x46, 0x53, 0xd7, 0xf7,
   934  	0xd9, 0x6c, 0xbb, 0x8e, 0x7a, 0x8a, 0xa6, 0xb4, 0x77, 0x15, 0x9c, 0x7f, 0x67, 0xc1, 0xf2, 0x77,
   935  	0x79, 0xa8, 0xab, 0x5b, 0x87, 0x31, 0x14, 0xf9, 0xd3, 0x42, 0xcc, 0xa4, 0x44, 0x93, 0x6f, 0xdc,
   936  	0x82, 0xca, 0x03, 0x0b, 0x23, 0x2f, 0xf0, 0x93, 0x38, 0x25, 0x9a, 0x99, 0xf8, 0x33, 0xa8, 0xad,
   937  	0xb6, 0x20, 0x69, 0x85, 0x74, 0x79, 0xd4, 0x16, 0x7b, 0xd2, 0xce, 0xf6, 0xa4, 0x6d, 0x67, 0x0c,
   938  	0xba, 0x26, 0xe3, 0x97, 0x00, 0x59, 0x2d, 0xde, 0xb8, 0x55, 0x3c, 0xce, 0x9d, 0xd4, 0x68, 0x2d,
   939  	0x45, 0xf4, 0x31, 0x6e, 0x42, 0x89, 0x3f, 0xc6, 0x9e, 0x52, 0xe2, 0x29, 0xf2, 0x47, 0x7d, 0x1c,
   940  	0xf7, 0x87, 0x2d, 0x82, 0xd1, 0xb4, 0x55, 0x16, 0x2b, 0x95, 0x18, 0xf1, 0xd0, 0xd8, 0x23, 0x67,
   941  	0x7e, 0xa2, 0xaf, 0x22, 0x86, 0xb6, 0x02, 0xb0, 0x0c, 0x75, 0x3e, 0x8b, 0x9c, 0x11, 0x0b, 0xb9,
   942  	0x33, 0x75, 0xa3, 0x69, 0xab, 0x9a, 0x30, 0x24, 0x3e, 0x8b, 0x54, 0x16, 0xf2, 0xae, 0x1b, 0x4d,
   943  	0x65, 0x05, 0xf6, 0xad, 0x67, 0x9b, 0xd0, 0x82, 0xca, 0x28, 0x64, 0x2e, 0x0f, 0xb2, 0x1e, 0x67,
   944  	0xe6, 0xbf, 0x0c, 0x89, 0x40, 0x65, 0xe0, 0x3e, 0xcd, 0x02, 0x77, 0x8c, 0x3f, 0x86, 0xf2, 0xc6,
   945  	0x74, 0xa4, 0xcb, 0xbd, 0x6c, 0x79, 0x45, 0x68, 0x9a, 0x7a, 0xe3, 0x4e, 0xc7, 0x8b, 0x9a, 0xc6,
   946  	0x49, 0xbe, 0xe5, 0x0e, 0x54, 0x89, 0xff, 0xc0, 0x66, 0x81, 0xe8, 0xfa, 0x42, 0x84, 0xcc, 0x24,
   947  	0xa4, 0xe6, 0x7f, 0xaf, 0xa9, 0xfc, 0x43, 0x0e, 0x4a, 0x9d, 0x59, 0x30, 0xfa, 0x06, 0x9f, 0x3d,
   948  	0x53, 0xd2, 0xcc, 0x94, 0x24, 0xee, 0x67, 0x72, 0x5e, 0x6f, 0xc8, 0x91, 0x2e, 0x1b, 0x5b, 0x54,
   949  	0xcd, 0xe5, 0xae, 0x50, 0x88, 0x3f, 0x85, 0xea, 0x3c, 0xbd, 0x62, 0xe9, 0xc0, 0x0f, 0xb7, 0xa8,
   950  	0xd9, 0xfd, 0xa3, 0x2b, 0x9a, 0x3c, 0x01, 0x69, 0x23, 0x21, 0xfe, 0x1f, 0x94, 0xfd, 0xe5, 0xfc,
   951  	0x2e, 0x55, 0x55, 0xa4, 0xa9, 0x85, 0x3f, 0x84, 0xfa, 0x22, 0x64, 0x0f, 0x5e, 0xb0, 0x8c, 0xc4,
   952  	0xa4, 0x44, 0x65, 0xbb, 0x19, 0x18, 0x8f, 0x0a, 0xbf, 0x80, 0x5a, 0x1c, 0x53, 0x10, 0xc4, 0xdd,
   953  	0xab, 0xc6, 0x40, 0x32, 0xc7, 0x57, 0x50, 0x5b, 0xc9, 0x5d, 0xb5, 0x37, 0x77, 0x5c, 0x58, 0xb5,
   954  	0xf7, 0x0c, 0xea, 0x5b, 0x22, 0xf1, 0xd1, 0x46, 0x35, 0x82, 0xb8, 0x96, 0xfd, 0x2d, 0x1c, 0x98,
   955  	0xe1, 0x98, 0x85, 0x2c, 0xdc, 0x3e, 0xf3, 0x06, 0xa4, 0x99, 0x1b, 0x71, 0x67, 0x94, 0xbc, 0x73,
   956  	0x69, 0x6b, 0x71, 0xd6, 0x84, 0xf5, 0x0b, 0x48, 0x61, 0xb6, 0x7e, 0x0d, 0xcf, 0x01, 0x8f, 0x02,
   957  	0x3f, 0x62, 0x3e, 0x67, 0xa1, 0xb3, 0x4a, 0x29, 0x2a, 0x6c, 0xac, 0x3c, 0x59, 0x8e, 0xd3, 0x5f,
   958  	0x73, 0x50, 0xb6, 0xb8, 0xcb, 0x97, 0x11, 0x96, 0xa0, 0x32, 0x34, 0x6e, 0x0c, 0xf3, 0x4b, 0x03,
   959  	0xed, 0xe0, 0x5d, 0xa8, 0x58, 0x43, 0x55, 0x25, 0x96, 0x85, 0x7e, 0xcb, 0x61, 0x04, 0x52, 0x47,
   960  	0xd1, 0x1c, 0x4a, 0xbe, 0x18, 0x12, 0xcb, 0x46, 0x3f, 0x16, 0xf0, 0x1e, 0xd4, 0xae, 0x4c, 0xda,
   961  	0xd1, 0x35, 0x8d, 0x18, 0xe8, 0xa7, 0xc4, 0x36, 0x4c, 0xdb, 0xb9, 0x32, 0x87, 0x86, 0x86, 0x7e,
   962  	0x2e, 0xe0, 0x97, 0xd0, 0x4a, 0xd9, 0x0e, 0x31, 0x6c, 0xdd, 0xfe, 0xca, 0xb1, 0x4d, 0xd3, 0xe9,
   963  	0x29, 0xf4, 0x9a, 0xa0, 0x5f, 0x0a, 0xf8, 0x08, 0x0e, 0x75, 0xc3, 0x26, 0xd4, 0x50, 0x7a, 0x8e,
   964  	0x45, 0xe8, 0x2d, 0xa1, 0x0e, 0xa1, 0xd4, 0xa4, 0xe8, 0x8f, 0x02, 0x3e, 0x80, 0xfd, 0x38, 0x94,
   965  	0xde, 0x1f, 0xf4, 0x48, 0x9f, 0x18, 0x36, 0xd1, 0xd0, 0x9f, 0x05, 0xdc, 0x82, 0x66, 0x4c, 0xd4,
   966  	0x55, 0xe2, 0x0c, 0x0d, 0xe5, 0x56, 0xd1, 0x7b, 0x4a, 0xa7, 0x47, 0xd0, 0x5f, 0x85, 0xd3, 0xdf,
   967  	0x73, 0x00, 0x62, 0xe2, 0x76, 0xfc, 0x86, 0x48, 0x50, 0xe9, 0x13, 0xcb, 0x52, 0xae, 0x09, 0xda,
   968  	0xc1, 0x00, 0x65, 0xd5, 0x34, 0xae, 0xf4, 0x6b, 0x94, 0xc3, 0x0d, 0xa8, 0x8b, 0x6f, 0x67, 0x38,
   969  	0xd0, 0x14, 0x9b, 0xa0, 0x3c, 0x6e, 0xc1, 0x01, 0x31, 0x34, 0x93, 0x5a, 0x84, 0x3a, 0x36, 0x55,
   970  	0x0c, 0x4b, 0x51, 0x6d, 0xdd, 0x34, 0x50, 0x01, 0xbf, 0x80, 0xa6, 0x49, 0x35, 0x42, 0x9f, 0x39,
   971  	0x8a, 0x47, 0xf9, 0x6a, 0x0e, 0x1f, 0x42, 0x43, 0x23, 0x3d, 0x3d, 0x56, 0x6d, 0x11, 0x72, 0xe3,
   972  	0xe8, 0xc6, 0x95, 0x89, 0x4a, 0x31, 0xac, 0x76, 0x15, 0xdd, 0x50, 0x4d, 0x8d, 0x38, 0x03, 0x45,
   973  	0xbd, 0x89, 0x35, 0x94, 0xe5, 0x62, 0xb5, 0x82, 0x2a, 0x72, 0xb1, 0x5a, 0x45, 0x55, 0xb9, 0x58,
   974  	0xad, 0xa1, 0xda, 0xe9, 0xc1, 0x80, 0x10, 0xea, 0x50, 0x62, 0x99, 0x43, 0x1a, 0xd7, 0x93, 0xc8,
   975  	0x49, 0x51, 0x45, 0xeb, 0xeb, 0x86, 0x63, 0x0e, 0x08, 0x55, 0xe2, 0x8c, 0xa7, 0x0d, 0xdb, 0xbc,
   976  	0x21, 0xc6, 0xa6, 0x88, 0x53, 0x0e, 0x78, 0x6b, 0x51, 0xf4, 0xf8, 0x0f, 0x0f, 0xef, 0x01, 0x58,
   977  	0xfa, 0xb5, 0xa1, 0xd8, 0x43, 0x4a, 0x2c, 0xb4, 0x83, 0x9b, 0x20, 0xf5, 0x14, 0xcb, 0x76, 0xb2,
   978  	0xfa, 0x13, 0xe5, 0xff, 0x87, 0xe6, 0x46, 0x24, 0xcb, 0xb9, 0xd2, 0x7b, 0x36, 0xa1, 0x28, 0x8f,
   979  	0xf7, 0xa1, 0x92, 0xd6, 0x8b, 0x0a, 0x09, 0x73, 0x1f, 0x24, 0xd5, 0xec, 0xf7, 0x75, 0xdb, 0xe9,
   980  	0x2a, 0x56, 0x17, 0x15, 0x3b, 0xb7, 0xf0, 0x51, 0x10, 0x4e, 0xda, 0xd3, 0xa7, 0x05, 0x0b, 0x67,
   981  	0x6c, 0x3c, 0x61, 0x61, 0xfb, 0xde, 0xbd, 0x0b, 0xbd, 0x91, 0x78, 0x7f, 0xa3, 0x74, 0x2f, 0xdf,
   982  	0xb6, 0x27, 0x1e, 0x9f, 0x2e, 0xef, 0x62, 0xf3, 0x62, 0x83, 0x7c, 0x21, 0xc8, 0xe7, 0x82, 0x7c,
   983  	0x3e, 0x09, 0xd2, 0xff, 0xfe, 0xbb, 0x72, 0x82, 0xbc, 0xf9, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x2a,
   984  	0xfe, 0x18, 0xa3, 0x13, 0x08, 0x00, 0x00,
   985  }