1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/devtools/containeranalysis/v1beta1/image/image.proto 3 4package image 5 6import ( 7 fmt "fmt" 8 math "math" 9 10 proto "github.com/golang/protobuf/proto" 11) 12 13// Reference imports to suppress errors if they are not otherwise used. 14var _ = proto.Marshal 15var _ = fmt.Errorf 16var _ = 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. 22const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 23 24// Instructions from Dockerfile. 25type Layer_Directive int32 26 27const ( 28 // Default value for unsupported/missing directive. 29 Layer_DIRECTIVE_UNSPECIFIED Layer_Directive = 0 30 // https://docs.docker.com/engine/reference/builder/ 31 Layer_MAINTAINER Layer_Directive = 1 32 // https://docs.docker.com/engine/reference/builder/ 33 Layer_RUN Layer_Directive = 2 34 // https://docs.docker.com/engine/reference/builder/ 35 Layer_CMD Layer_Directive = 3 36 // https://docs.docker.com/engine/reference/builder/ 37 Layer_LABEL Layer_Directive = 4 38 // https://docs.docker.com/engine/reference/builder/ 39 Layer_EXPOSE Layer_Directive = 5 40 // https://docs.docker.com/engine/reference/builder/ 41 Layer_ENV Layer_Directive = 6 42 // https://docs.docker.com/engine/reference/builder/ 43 Layer_ADD Layer_Directive = 7 44 // https://docs.docker.com/engine/reference/builder/ 45 Layer_COPY Layer_Directive = 8 46 // https://docs.docker.com/engine/reference/builder/ 47 Layer_ENTRYPOINT Layer_Directive = 9 48 // https://docs.docker.com/engine/reference/builder/ 49 Layer_VOLUME Layer_Directive = 10 50 // https://docs.docker.com/engine/reference/builder/ 51 Layer_USER Layer_Directive = 11 52 // https://docs.docker.com/engine/reference/builder/ 53 Layer_WORKDIR Layer_Directive = 12 54 // https://docs.docker.com/engine/reference/builder/ 55 Layer_ARG Layer_Directive = 13 56 // https://docs.docker.com/engine/reference/builder/ 57 Layer_ONBUILD Layer_Directive = 14 58 // https://docs.docker.com/engine/reference/builder/ 59 Layer_STOPSIGNAL Layer_Directive = 15 60 // https://docs.docker.com/engine/reference/builder/ 61 Layer_HEALTHCHECK Layer_Directive = 16 62 // https://docs.docker.com/engine/reference/builder/ 63 Layer_SHELL Layer_Directive = 17 64) 65 66var Layer_Directive_name = map[int32]string{ 67 0: "DIRECTIVE_UNSPECIFIED", 68 1: "MAINTAINER", 69 2: "RUN", 70 3: "CMD", 71 4: "LABEL", 72 5: "EXPOSE", 73 6: "ENV", 74 7: "ADD", 75 8: "COPY", 76 9: "ENTRYPOINT", 77 10: "VOLUME", 78 11: "USER", 79 12: "WORKDIR", 80 13: "ARG", 81 14: "ONBUILD", 82 15: "STOPSIGNAL", 83 16: "HEALTHCHECK", 84 17: "SHELL", 85} 86 87var Layer_Directive_value = map[string]int32{ 88 "DIRECTIVE_UNSPECIFIED": 0, 89 "MAINTAINER": 1, 90 "RUN": 2, 91 "CMD": 3, 92 "LABEL": 4, 93 "EXPOSE": 5, 94 "ENV": 6, 95 "ADD": 7, 96 "COPY": 8, 97 "ENTRYPOINT": 9, 98 "VOLUME": 10, 99 "USER": 11, 100 "WORKDIR": 12, 101 "ARG": 13, 102 "ONBUILD": 14, 103 "STOPSIGNAL": 15, 104 "HEALTHCHECK": 16, 105 "SHELL": 17, 106} 107 108func (x Layer_Directive) String() string { 109 return proto.EnumName(Layer_Directive_name, int32(x)) 110} 111 112func (Layer_Directive) EnumDescriptor() ([]byte, []int) { 113 return fileDescriptor_ab0486c83d3ae0f1, []int{0, 0} 114} 115 116// Layer holds metadata specific to a layer of a Docker image. 117type Layer struct { 118 // Required. The recovered Dockerfile directive used to construct this layer. 119 Directive Layer_Directive `protobuf:"varint,1,opt,name=directive,proto3,enum=grafeas.v1beta1.image.Layer_Directive" json:"directive,omitempty"` 120 // The recovered arguments to the Dockerfile directive. 121 Arguments string `protobuf:"bytes,2,opt,name=arguments,proto3" json:"arguments,omitempty"` 122 XXX_NoUnkeyedLiteral struct{} `json:"-"` 123 XXX_unrecognized []byte `json:"-"` 124 XXX_sizecache int32 `json:"-"` 125} 126 127func (m *Layer) Reset() { *m = Layer{} } 128func (m *Layer) String() string { return proto.CompactTextString(m) } 129func (*Layer) ProtoMessage() {} 130func (*Layer) Descriptor() ([]byte, []int) { 131 return fileDescriptor_ab0486c83d3ae0f1, []int{0} 132} 133 134func (m *Layer) XXX_Unmarshal(b []byte) error { 135 return xxx_messageInfo_Layer.Unmarshal(m, b) 136} 137func (m *Layer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 138 return xxx_messageInfo_Layer.Marshal(b, m, deterministic) 139} 140func (m *Layer) XXX_Merge(src proto.Message) { 141 xxx_messageInfo_Layer.Merge(m, src) 142} 143func (m *Layer) XXX_Size() int { 144 return xxx_messageInfo_Layer.Size(m) 145} 146func (m *Layer) XXX_DiscardUnknown() { 147 xxx_messageInfo_Layer.DiscardUnknown(m) 148} 149 150var xxx_messageInfo_Layer proto.InternalMessageInfo 151 152func (m *Layer) GetDirective() Layer_Directive { 153 if m != nil { 154 return m.Directive 155 } 156 return Layer_DIRECTIVE_UNSPECIFIED 157} 158 159func (m *Layer) GetArguments() string { 160 if m != nil { 161 return m.Arguments 162 } 163 return "" 164} 165 166// A set of properties that uniquely identify a given Docker image. 167type Fingerprint struct { 168 // Required. The layer ID of the final layer in the Docker image's v1 169 // representation. 170 V1Name string `protobuf:"bytes,1,opt,name=v1_name,json=v1Name,proto3" json:"v1_name,omitempty"` 171 // Required. The ordered list of v2 blobs that represent a given image. 172 V2Blob []string `protobuf:"bytes,2,rep,name=v2_blob,json=v2Blob,proto3" json:"v2_blob,omitempty"` 173 // Output only. The name of the image's v2 blobs computed via: 174 // [bottom] := v2_blob[bottom] 175 // [N] := sha256(v2_blob[N] + " " + v2_name[N+1]) 176 // Only the name of the final blob is kept. 177 V2Name string `protobuf:"bytes,3,opt,name=v2_name,json=v2Name,proto3" json:"v2_name,omitempty"` 178 XXX_NoUnkeyedLiteral struct{} `json:"-"` 179 XXX_unrecognized []byte `json:"-"` 180 XXX_sizecache int32 `json:"-"` 181} 182 183func (m *Fingerprint) Reset() { *m = Fingerprint{} } 184func (m *Fingerprint) String() string { return proto.CompactTextString(m) } 185func (*Fingerprint) ProtoMessage() {} 186func (*Fingerprint) Descriptor() ([]byte, []int) { 187 return fileDescriptor_ab0486c83d3ae0f1, []int{1} 188} 189 190func (m *Fingerprint) XXX_Unmarshal(b []byte) error { 191 return xxx_messageInfo_Fingerprint.Unmarshal(m, b) 192} 193func (m *Fingerprint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 194 return xxx_messageInfo_Fingerprint.Marshal(b, m, deterministic) 195} 196func (m *Fingerprint) XXX_Merge(src proto.Message) { 197 xxx_messageInfo_Fingerprint.Merge(m, src) 198} 199func (m *Fingerprint) XXX_Size() int { 200 return xxx_messageInfo_Fingerprint.Size(m) 201} 202func (m *Fingerprint) XXX_DiscardUnknown() { 203 xxx_messageInfo_Fingerprint.DiscardUnknown(m) 204} 205 206var xxx_messageInfo_Fingerprint proto.InternalMessageInfo 207 208func (m *Fingerprint) GetV1Name() string { 209 if m != nil { 210 return m.V1Name 211 } 212 return "" 213} 214 215func (m *Fingerprint) GetV2Blob() []string { 216 if m != nil { 217 return m.V2Blob 218 } 219 return nil 220} 221 222func (m *Fingerprint) GetV2Name() string { 223 if m != nil { 224 return m.V2Name 225 } 226 return "" 227} 228 229// Basis describes the base image portion (Note) of the DockerImage 230// relationship. Linked occurrences are derived from this or an 231// equivalent image via: 232// FROM <Basis.resource_url> 233// Or an equivalent reference, e.g. a tag of the resource_url. 234type Basis struct { 235 // Required. Immutable. The resource_url for the resource representing the 236 // basis of associated occurrence images. 237 ResourceUrl string `protobuf:"bytes,1,opt,name=resource_url,json=resourceUrl,proto3" json:"resource_url,omitempty"` 238 // Required. Immutable. The fingerprint of the base image. 239 Fingerprint *Fingerprint `protobuf:"bytes,2,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"` 240 XXX_NoUnkeyedLiteral struct{} `json:"-"` 241 XXX_unrecognized []byte `json:"-"` 242 XXX_sizecache int32 `json:"-"` 243} 244 245func (m *Basis) Reset() { *m = Basis{} } 246func (m *Basis) String() string { return proto.CompactTextString(m) } 247func (*Basis) ProtoMessage() {} 248func (*Basis) Descriptor() ([]byte, []int) { 249 return fileDescriptor_ab0486c83d3ae0f1, []int{2} 250} 251 252func (m *Basis) XXX_Unmarshal(b []byte) error { 253 return xxx_messageInfo_Basis.Unmarshal(m, b) 254} 255func (m *Basis) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 256 return xxx_messageInfo_Basis.Marshal(b, m, deterministic) 257} 258func (m *Basis) XXX_Merge(src proto.Message) { 259 xxx_messageInfo_Basis.Merge(m, src) 260} 261func (m *Basis) XXX_Size() int { 262 return xxx_messageInfo_Basis.Size(m) 263} 264func (m *Basis) XXX_DiscardUnknown() { 265 xxx_messageInfo_Basis.DiscardUnknown(m) 266} 267 268var xxx_messageInfo_Basis proto.InternalMessageInfo 269 270func (m *Basis) GetResourceUrl() string { 271 if m != nil { 272 return m.ResourceUrl 273 } 274 return "" 275} 276 277func (m *Basis) GetFingerprint() *Fingerprint { 278 if m != nil { 279 return m.Fingerprint 280 } 281 return nil 282} 283 284// Details of an image occurrence. 285type Details struct { 286 // Required. Immutable. The child image derived from the base image. 287 DerivedImage *Derived `protobuf:"bytes,1,opt,name=derived_image,json=derivedImage,proto3" json:"derived_image,omitempty"` 288 XXX_NoUnkeyedLiteral struct{} `json:"-"` 289 XXX_unrecognized []byte `json:"-"` 290 XXX_sizecache int32 `json:"-"` 291} 292 293func (m *Details) Reset() { *m = Details{} } 294func (m *Details) String() string { return proto.CompactTextString(m) } 295func (*Details) ProtoMessage() {} 296func (*Details) Descriptor() ([]byte, []int) { 297 return fileDescriptor_ab0486c83d3ae0f1, []int{3} 298} 299 300func (m *Details) XXX_Unmarshal(b []byte) error { 301 return xxx_messageInfo_Details.Unmarshal(m, b) 302} 303func (m *Details) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 304 return xxx_messageInfo_Details.Marshal(b, m, deterministic) 305} 306func (m *Details) XXX_Merge(src proto.Message) { 307 xxx_messageInfo_Details.Merge(m, src) 308} 309func (m *Details) XXX_Size() int { 310 return xxx_messageInfo_Details.Size(m) 311} 312func (m *Details) XXX_DiscardUnknown() { 313 xxx_messageInfo_Details.DiscardUnknown(m) 314} 315 316var xxx_messageInfo_Details proto.InternalMessageInfo 317 318func (m *Details) GetDerivedImage() *Derived { 319 if m != nil { 320 return m.DerivedImage 321 } 322 return nil 323} 324 325// Derived describes the derived image portion (Occurrence) of the DockerImage 326// relationship. This image would be produced from a Dockerfile with FROM 327// <DockerImage.Basis in attached Note>. 328type Derived struct { 329 // Required. The fingerprint of the derived image. 330 Fingerprint *Fingerprint `protobuf:"bytes,1,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"` 331 // Output only. The number of layers by which this image differs from the 332 // associated image basis. 333 Distance int32 `protobuf:"varint,2,opt,name=distance,proto3" json:"distance,omitempty"` 334 // This contains layer-specific metadata, if populated it has length 335 // "distance" and is ordered with [distance] being the layer immediately 336 // following the base image and [1] being the final layer. 337 LayerInfo []*Layer `protobuf:"bytes,3,rep,name=layer_info,json=layerInfo,proto3" json:"layer_info,omitempty"` 338 // Output only. This contains the base image URL for the derived image 339 // occurrence. 340 BaseResourceUrl string `protobuf:"bytes,4,opt,name=base_resource_url,json=baseResourceUrl,proto3" json:"base_resource_url,omitempty"` 341 XXX_NoUnkeyedLiteral struct{} `json:"-"` 342 XXX_unrecognized []byte `json:"-"` 343 XXX_sizecache int32 `json:"-"` 344} 345 346func (m *Derived) Reset() { *m = Derived{} } 347func (m *Derived) String() string { return proto.CompactTextString(m) } 348func (*Derived) ProtoMessage() {} 349func (*Derived) Descriptor() ([]byte, []int) { 350 return fileDescriptor_ab0486c83d3ae0f1, []int{4} 351} 352 353func (m *Derived) XXX_Unmarshal(b []byte) error { 354 return xxx_messageInfo_Derived.Unmarshal(m, b) 355} 356func (m *Derived) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 357 return xxx_messageInfo_Derived.Marshal(b, m, deterministic) 358} 359func (m *Derived) XXX_Merge(src proto.Message) { 360 xxx_messageInfo_Derived.Merge(m, src) 361} 362func (m *Derived) XXX_Size() int { 363 return xxx_messageInfo_Derived.Size(m) 364} 365func (m *Derived) XXX_DiscardUnknown() { 366 xxx_messageInfo_Derived.DiscardUnknown(m) 367} 368 369var xxx_messageInfo_Derived proto.InternalMessageInfo 370 371func (m *Derived) GetFingerprint() *Fingerprint { 372 if m != nil { 373 return m.Fingerprint 374 } 375 return nil 376} 377 378func (m *Derived) GetDistance() int32 { 379 if m != nil { 380 return m.Distance 381 } 382 return 0 383} 384 385func (m *Derived) GetLayerInfo() []*Layer { 386 if m != nil { 387 return m.LayerInfo 388 } 389 return nil 390} 391 392func (m *Derived) GetBaseResourceUrl() string { 393 if m != nil { 394 return m.BaseResourceUrl 395 } 396 return "" 397} 398 399func init() { 400 proto.RegisterEnum("grafeas.v1beta1.image.Layer_Directive", Layer_Directive_name, Layer_Directive_value) 401 proto.RegisterType((*Layer)(nil), "grafeas.v1beta1.image.Layer") 402 proto.RegisterType((*Fingerprint)(nil), "grafeas.v1beta1.image.Fingerprint") 403 proto.RegisterType((*Basis)(nil), "grafeas.v1beta1.image.Basis") 404 proto.RegisterType((*Details)(nil), "grafeas.v1beta1.image.Details") 405 proto.RegisterType((*Derived)(nil), "grafeas.v1beta1.image.Derived") 406} 407 408func init() { 409 proto.RegisterFile("google/devtools/containeranalysis/v1beta1/image/image.proto", fileDescriptor_ab0486c83d3ae0f1) 410} 411 412var fileDescriptor_ab0486c83d3ae0f1 = []byte{ 413 // 613 bytes of a gzipped FileDescriptorProto 414 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0xcf, 0x6e, 0xda, 0x40, 415 0x10, 0xc6, 0x6b, 0x08, 0x10, 0x8f, 0xf3, 0x67, 0xb3, 0x52, 0x54, 0x5a, 0x45, 0x15, 0xe5, 0x50, 416 0x45, 0x3d, 0x18, 0x41, 0x8f, 0x39, 0x01, 0xde, 0x04, 0x2b, 0x8e, 0x8d, 0x16, 0x93, 0x26, 0xbd, 417 0x58, 0x0b, 0x2c, 0xd6, 0x4a, 0xc6, 0x8b, 0xd6, 0x0e, 0x6a, 0x5e, 0xa7, 0xcf, 0xd4, 0x73, 0x9f, 418 0xa1, 0x8f, 0x50, 0x79, 0x21, 0x21, 0xad, 0x92, 0xaa, 0xea, 0x65, 0xb5, 0xcc, 0x37, 0xbf, 0x8f, 419 0xf1, 0xec, 0x0c, 0x9c, 0xc5, 0x52, 0xc6, 0x09, 0x6f, 0xcd, 0xf8, 0x2a, 0x97, 0x32, 0xc9, 0x5a, 420 0x53, 0x99, 0xe6, 0x4c, 0xa4, 0x5c, 0xb1, 0x94, 0x25, 0xf7, 0x99, 0xc8, 0x5a, 0xab, 0xf6, 0x84, 421 0xe7, 0xac, 0xdd, 0x12, 0x0b, 0x16, 0xf3, 0xf5, 0x69, 0x2f, 0x95, 0xcc, 0x25, 0x3e, 0x8e, 0x15, 422 0x9b, 0x73, 0x96, 0xd9, 0x9b, 0x14, 0x5b, 0x8b, 0xcd, 0x1f, 0x25, 0xa8, 0x78, 0xec, 0x9e, 0x2b, 423 0xec, 0x80, 0x39, 0x13, 0x8a, 0x4f, 0x73, 0xb1, 0xe2, 0x75, 0xa3, 0x61, 0x9c, 0x1e, 0x74, 0x3e, 424 0xd8, 0xcf, 0x42, 0xb6, 0x06, 0x6c, 0xe7, 0x21, 0x9b, 0x6e, 0x41, 0x7c, 0x02, 0x26, 0x53, 0xf1, 425 0xdd, 0x82, 0xa7, 0x79, 0x56, 0x2f, 0x35, 0x8c, 0x53, 0x93, 0x6e, 0x03, 0xcd, 0x9f, 0x06, 0x98, 426 0x8f, 0x18, 0x7e, 0x03, 0xc7, 0x8e, 0x4b, 0x49, 0x3f, 0x74, 0xaf, 0x49, 0x34, 0xf6, 0x47, 0x43, 427 0xd2, 0x77, 0xcf, 0x5d, 0xe2, 0xa0, 0x57, 0xf8, 0x00, 0xe0, 0xaa, 0xeb, 0xfa, 0x61, 0xd7, 0xf5, 428 0x09, 0x45, 0x06, 0xae, 0x41, 0x99, 0x8e, 0x7d, 0x54, 0x2a, 0x2e, 0xfd, 0x2b, 0x07, 0x95, 0xb1, 429 0x09, 0x15, 0xaf, 0xdb, 0x23, 0x1e, 0xda, 0xc1, 0x00, 0x55, 0x72, 0x33, 0x0c, 0x46, 0x04, 0x55, 430 0x0a, 0x9d, 0xf8, 0xd7, 0xa8, 0x5a, 0x5c, 0xba, 0x8e, 0x83, 0x6a, 0x78, 0x17, 0x76, 0xfa, 0xc1, 431 0xf0, 0x16, 0xed, 0x16, 0xa6, 0xc4, 0x0f, 0xe9, 0xed, 0x30, 0x70, 0xfd, 0x10, 0x99, 0x05, 0x77, 432 0x1d, 0x78, 0xe3, 0x2b, 0x82, 0xa0, 0xc8, 0x1a, 0x8f, 0x08, 0x45, 0x16, 0xb6, 0xa0, 0xf6, 0x39, 433 0xa0, 0x97, 0x8e, 0x4b, 0xd1, 0x9e, 0x76, 0xa1, 0x17, 0x68, 0xbf, 0x88, 0x06, 0x7e, 0x6f, 0xec, 434 0x7a, 0x0e, 0x3a, 0x28, 0x8c, 0x46, 0x61, 0x30, 0x1c, 0xb9, 0x17, 0x7e, 0xd7, 0x43, 0x87, 0xf8, 435 0x10, 0xac, 0x01, 0xe9, 0x7a, 0xe1, 0xa0, 0x3f, 0x20, 0xfd, 0x4b, 0x84, 0x8a, 0xe2, 0x46, 0x03, 436 0xe2, 0x79, 0xe8, 0xa8, 0x79, 0x03, 0xd6, 0xb9, 0x48, 0x63, 0xae, 0x96, 0x4a, 0xa4, 0x39, 0x7e, 437 0x0d, 0xb5, 0x55, 0x3b, 0x4a, 0xd9, 0x62, 0xdd, 0x63, 0x93, 0x56, 0x57, 0x6d, 0x9f, 0x2d, 0xb8, 438 0x16, 0x3a, 0xd1, 0x24, 0x91, 0x93, 0x7a, 0xa9, 0x51, 0xd6, 0x42, 0xa7, 0x97, 0xc8, 0xc9, 0x46, 439 0xd0, 0x44, 0x79, 0x43, 0x74, 0x0a, 0xa2, 0xb9, 0x84, 0x4a, 0x8f, 0x65, 0x22, 0xc3, 0xef, 0x61, 440 0x4f, 0xf1, 0x4c, 0xde, 0xa9, 0x29, 0x8f, 0xee, 0x54, 0xb2, 0x31, 0xb6, 0x1e, 0x62, 0x63, 0x95, 441 0x60, 0x07, 0xac, 0xf9, 0xb6, 0x0a, 0xfd, 0x30, 0x56, 0xa7, 0xf9, 0xc2, 0xf3, 0x3e, 0xa9, 0x97, 442 0x3e, 0xc5, 0x9a, 0x3e, 0xd4, 0x1c, 0x9e, 0x33, 0x91, 0x64, 0xb8, 0x0f, 0xfb, 0x33, 0xae, 0xc4, 443 0x8a, 0xcf, 0x22, 0x0d, 0xe9, 0x3f, 0xb5, 0x3a, 0xef, 0x5e, 0xb0, 0x74, 0xd6, 0xb9, 0x74, 0x6f, 444 0x03, 0xb9, 0x7a, 0xf8, 0xbe, 0x1b, 0x85, 0xa1, 0x0e, 0xfc, 0x59, 0xa1, 0xf1, 0x5f, 0x15, 0xe2, 445 0xb7, 0xb0, 0x3b, 0x13, 0x59, 0xce, 0xd2, 0x29, 0xd7, 0x1f, 0x59, 0xa1, 0x8f, 0xbf, 0xf1, 0x19, 446 0x40, 0x52, 0x0c, 0x6e, 0x24, 0xd2, 0xb9, 0xac, 0x97, 0x1b, 0xe5, 0x53, 0xab, 0x73, 0xf2, 0xb7, 447 0x09, 0xa7, 0xa6, 0xce, 0x77, 0xd3, 0xb9, 0xc4, 0x1f, 0xe1, 0x68, 0xc2, 0x32, 0x1e, 0xfd, 0xd6, 448 0xe8, 0x1d, 0xdd, 0xe8, 0xc3, 0x42, 0xa0, 0xdb, 0x66, 0xf7, 0xbe, 0x42, 0x5d, 0xc8, 0xe7, 0x8d, 449 0x87, 0xc6, 0x97, 0x70, 0xbd, 0xc5, 0x76, 0x2c, 0x13, 0x96, 0xc6, 0xb6, 0x54, 0x71, 0x2b, 0xe6, 450 0xa9, 0x5e, 0xd2, 0xd6, 0x5a, 0x62, 0x4b, 0x91, 0xfd, 0xf3, 0x92, 0x9f, 0xe9, 0xf3, 0x5b, 0xa9, 451 0x7c, 0x41, 0xbb, 0x93, 0xaa, 0xb6, 0xf9, 0xf4, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xe8, 0x06, 0xe8, 452 0x32, 0x2a, 0x04, 0x00, 0x00, 453} 454