diff --git a/cmd/crictl/container.go b/cmd/crictl/container.go index 8c37d00009..0c25fc4a64 100644 --- a/cmd/crictl/container.go +++ b/cmd/crictl/container.go @@ -767,7 +767,7 @@ func CreateContainer( // Try to pull the image before container creation ann := config.GetImage().GetAnnotations() - if _, err := PullImageWithSandbox(iClient, image, auth, podConfig, ann, opts.pullOptions.timeout); err != nil { + if _, err := PullImageWithSandbox(iClient, image, auth, podConfig, ann, opts.pullOptions.timeout, false, ""); err != nil { return "", err } } diff --git a/cmd/crictl/image.go b/cmd/crictl/image.go index 869b26b2c4..4afcc18852 100644 --- a/cmd/crictl/image.go +++ b/cmd/crictl/image.go @@ -90,6 +90,16 @@ var pullImageCommand = &cli.Command{ Usage: "Maximum time to be used for pulling the image, disabled if set to 0s", EnvVars: []string{"CRICTL_PULL_TIMEOUT"}, }, + &cli.BoolFlag{ + Name: "mount", + Aliases: []string{"m"}, + Usage: "Mount the OCI object", + }, + &cli.StringFlag{ + Name: "mount-label", + Aliases: []string{"l"}, + Usage: "Mount label for the OCI object", + }, }, ArgsUsage: "NAME[:TAG|@DIGEST]", Action: func(c *cli.Context) error { @@ -127,11 +137,15 @@ var pullImageCommand = &cli.Command{ } } timeout := c.Duration("pull-timeout") - r, err := PullImageWithSandbox(imageClient, imageName, auth, sandbox, ann, timeout) + r, err := PullImageWithSandbox(imageClient, imageName, auth, sandbox, ann, timeout, c.Bool("mount"), c.String("mount-label")) if err != nil { return fmt.Errorf("pulling image: %w", err) } fmt.Printf("Image is up to date for %s\n", r.ImageRef) + + if r.MountRef != "" { + fmt.Printf("Image mounted to: %s\n", r.MountRef) + } return nil }, } @@ -643,11 +657,13 @@ func normalizeRepoDigest(repoDigests []string) (string, string) { // PullImageWithSandbox sends a PullImageRequest to the server, and parses // the returned PullImageResponse. -func PullImageWithSandbox(client internalapi.ImageManagerService, image string, auth *pb.AuthConfig, sandbox *pb.PodSandboxConfig, ann map[string]string, timeout time.Duration) (*pb.PullImageResponse, error) { +func PullImageWithSandbox(client internalapi.ImageManagerService, image string, auth *pb.AuthConfig, sandbox *pb.PodSandboxConfig, ann map[string]string, timeout time.Duration, mount bool, mountLabel string) (*pb.PullImageResponse, error) { request := &pb.PullImageRequest{ Image: &pb.ImageSpec{ Image: image, Annotations: ann, + Mount: mount, + MountLabel: mountLabel, }, } if auth != nil { @@ -671,13 +687,12 @@ func PullImageWithSandbox(client internalapi.ImageManagerService, image string, defer cancel() } - res, err := InterruptableRPC(ctx, func(ctx context.Context) (string, error) { - return client.PullImage(ctx, request.Image, request.Auth, request.SandboxConfig) + resp, err := InterruptableRPC(ctx, func(ctx context.Context) (*pb.PullImageResponse, error) { + return client.PullImageFullResponse(ctx, request.Image, request.Auth, request.SandboxConfig) }) if err != nil { return nil, err } - resp := &pb.PullImageResponse{ImageRef: res} logrus.Debugf("PullImageResponse: %v", resp) return resp, nil } diff --git a/go.mod b/go.mod index 1291970602..d8e67295c0 100644 --- a/go.mod +++ b/go.mod @@ -39,6 +39,12 @@ require ( sigs.k8s.io/yaml v1.4.0 ) +// TODO: Remove when https://github.com/kubernetes/kubernetes/pull/125659 got merged +replace ( + k8s.io/cri-api => github.com/saschagrunert/cri-api v0.0.0-20240626070245-e2da1ebabd88 + k8s.io/cri-client => github.com/saschagrunert/cri-client v0.0.0-20240624095412-86c24439265a +) + require ( github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/Microsoft/go-winio v0.6.0 // indirect diff --git a/go.sum b/go.sum index e64d1897f7..e2505c75b2 100644 --- a/go.sum +++ b/go.sum @@ -129,6 +129,10 @@ github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/saschagrunert/cri-api v0.0.0-20240626070245-e2da1ebabd88 h1:OUoFjVW5j1jThnOcpGQHDcdtZ1l50vFbFjSmDsLuCZQ= +github.com/saschagrunert/cri-api v0.0.0-20240626070245-e2da1ebabd88/go.mod h1:8SzLKTnltnWXG9FMIL4SHWcAnnPGssi5viN/SMMMf4k= +github.com/saschagrunert/cri-client v0.0.0-20240624095412-86c24439265a h1:OnkqJk/OOEn0CUSdshM/jcZza/EqAGJl7ggsmg+KTb8= +github.com/saschagrunert/cri-client v0.0.0-20240624095412-86c24439265a/go.mod h1:jKU9x1FP/k4ktv2mZOA37kJmLjoggWsbJOU9FsOV5RM= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -238,10 +242,6 @@ k8s.io/client-go v0.30.2 h1:sBIVJdojUNPDU/jObC+18tXWcTJVcwyqS9diGdWHk50= k8s.io/client-go v0.30.2/go.mod h1:JglKSWULm9xlJLx4KCkfLLQ7XwtlbflV6uFFSHTMgVs= k8s.io/component-base v0.30.2 h1:pqGBczYoW1sno8q9ObExUqrYSKhtE5rW3y6gX88GZII= k8s.io/component-base v0.30.2/go.mod h1:yQLkQDrkK8J6NtP+MGJOws+/PPeEXNpwFixsUI7h/OE= -k8s.io/cri-api v0.31.0-alpha.0.0.20240528091733-69e407966029 h1:P+TWC7iOMWA2mWiNTLgeCr9z0TKwp22PMHkfF0woFQI= -k8s.io/cri-api v0.31.0-alpha.0.0.20240528091733-69e407966029/go.mod h1:bUzKm5FAhhVPHj344pvpKRIdGJMJ79mBHGrubR3TqZY= -k8s.io/cri-client v0.31.0-alpha.0.0.20240530211015-c9749ee02fc0 h1:A/qaNv8usB/HEZeWRcFe117POP0Sheqc9xnuYrBxYu8= -k8s.io/cri-client v0.31.0-alpha.0.0.20240530211015-c9749ee02fc0/go.mod h1:TarJVY/GTbu+Ht1IqT6eh5QXXxKwMfb2+7TpY/XlAhs= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= diff --git a/pkg/framework/util.go b/pkg/framework/util.go index 991fc8f94a..48ebe4d189 100644 --- a/pkg/framework/util.go +++ b/pkg/framework/util.go @@ -362,9 +362,9 @@ func PullPublicImage(c internalapi.ImageManagerService, imageName string, podCon imageSpec := &runtimeapi.ImageSpec{ Image: imageName, } - id, err := c.PullImage(context.TODO(), imageSpec, nil, podConfig) + res, err := c.PullImage(context.TODO(), imageSpec, nil, podConfig) ExpectNoError(err, "failed to pull image: %v", err) - return id + return res } // LoadYamlFile attempts to load the given YAML file into the given struct. diff --git a/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go b/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go index cb6c725e65..d2ee974a91 100644 --- a/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go +++ b/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go @@ -155,6 +155,40 @@ func (NamespaceMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor_00212fb1f9d3bf1c, []int{2} } +// SupplementalGroupsPolicy defines how supplemental groups +// of the first container processes are calculated. +type SupplementalGroupsPolicy int32 + +const ( + // Merge means that the container's provided SupplementalGroups + // and FsGroup (specified in SecurityContext) will be merged with + // the primary user's groups as defined in the container image + // (in /etc/group). + SupplementalGroupsPolicy_Merge SupplementalGroupsPolicy = 0 + // Strict means that the container's provided SupplementalGroups + // and FsGroup (specified in SecurityContext) will be used instead of + // any groups defined in the container image. + SupplementalGroupsPolicy_Strict SupplementalGroupsPolicy = 1 +) + +var SupplementalGroupsPolicy_name = map[int32]string{ + 0: "Merge", + 1: "Strict", +} + +var SupplementalGroupsPolicy_value = map[string]int32{ + "Merge": 0, + "Strict": 1, +} + +func (x SupplementalGroupsPolicy) String() string { + return proto.EnumName(SupplementalGroupsPolicy_name, int32(x)) +} + +func (SupplementalGroupsPolicy) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_00212fb1f9d3bf1c, []int{3} +} + type PodSandboxState int32 const ( @@ -177,7 +211,7 @@ func (x PodSandboxState) String() string { } func (PodSandboxState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{3} + return fileDescriptor_00212fb1f9d3bf1c, []int{4} } type ContainerState int32 @@ -208,7 +242,7 @@ func (x ContainerState) String() string { } func (ContainerState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{4} + return fileDescriptor_00212fb1f9d3bf1c, []int{5} } type ContainerEventType int32 @@ -243,7 +277,7 @@ func (x ContainerEventType) String() string { } func (ContainerEventType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{5} + return fileDescriptor_00212fb1f9d3bf1c, []int{6} } type MetricType int32 @@ -268,7 +302,7 @@ func (x MetricType) String() string { } func (MetricType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{6} + return fileDescriptor_00212fb1f9d3bf1c, []int{7} } type CgroupDriver int32 @@ -293,7 +327,7 @@ func (x CgroupDriver) String() string { } func (CgroupDriver) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{7} + return fileDescriptor_00212fb1f9d3bf1c, []int{8} } // Available profile types. @@ -615,7 +649,10 @@ type Mount struct { // - nil is just treated as false // - when set to true, readonly must be explicitly set to true, and propagation must be PRIVATE (0). // - (readonly == false && recursive_read_only == false) does not make the mount read-only. - RecursiveReadOnly bool `protobuf:"varint,8,opt,name=recursive_read_only,json=recursiveReadOnly,proto3" json:"recursive_read_only,omitempty"` + RecursiveReadOnly bool `protobuf:"varint,8,opt,name=recursive_read_only,json=recursiveReadOnly,proto3" json:"recursive_read_only,omitempty"` + // Mount an image reference (image ID or digest), which is a special use + // case for OCI volume mounts. + ImageRef string `protobuf:"bytes,9,opt,name=image_ref,json=imageRef,proto3" json:"image_ref,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_sizecache int32 `json:"-"` } @@ -708,6 +745,13 @@ func (m *Mount) GetRecursiveReadOnly() bool { return false } +func (m *Mount) GetImageRef() string { + if m != nil { + return m.ImageRef + } + return "" +} + // IDMapping describes host to container ID mappings for a pod sandbox. type IDMapping struct { // HostId is the id on the host. @@ -1000,13 +1044,14 @@ type LinuxSandboxSecurityContext struct { RunAsGroup *Int64Value `protobuf:"bytes,8,opt,name=run_as_group,json=runAsGroup,proto3" json:"run_as_group,omitempty"` // If set, the root filesystem of the sandbox is read-only. ReadonlyRootfs bool `protobuf:"varint,4,opt,name=readonly_rootfs,json=readonlyRootfs,proto3" json:"readonly_rootfs,omitempty"` - // List of groups applied to the first process run in the sandbox, in - // addition to the sandbox's primary GID, and group memberships defined - // in the container image for the sandbox's primary UID of the container process. - // If the list is empty, no additional groups are added to any container. - // Note that group memberships defined in the container image for the sandbox's primary UID - // of the container process are still effective, even if they are not included in this list. + // List of groups applied to the first process run in each container. + // supplemental_groups_policy can control how groups will be calculated. SupplementalGroups []int64 `protobuf:"varint,5,rep,packed,name=supplemental_groups,json=supplementalGroups,proto3" json:"supplemental_groups,omitempty"` + // supplemental_groups_policy defines how supplemental groups of the first + // container processes are calculated. + // Valid values are "Merge" and "Strict". + // If not specified, "Merge" is used. + SupplementalGroupsPolicy SupplementalGroupsPolicy `protobuf:"varint,11,opt,name=supplemental_groups_policy,json=supplementalGroupsPolicy,proto3,enum=runtime.v1.SupplementalGroupsPolicy" json:"supplemental_groups_policy,omitempty"` // Indicates whether the sandbox will be asked to run a privileged // container. If a privileged container is to be executed within it, this // MUST be true. @@ -1103,6 +1148,13 @@ func (m *LinuxSandboxSecurityContext) GetSupplementalGroups() []int64 { return nil } +func (m *LinuxSandboxSecurityContext) GetSupplementalGroupsPolicy() SupplementalGroupsPolicy { + if m != nil { + return m.SupplementalGroupsPolicy + } + return SupplementalGroupsPolicy_Merge +} + func (m *LinuxSandboxSecurityContext) GetPrivileged() bool { if m != nil { return m.Privileged @@ -3509,7 +3561,12 @@ type ImageSpec struct { // Runtime handler to use for pulling the image. // If the runtime handler is unknown, the request should be rejected. // An empty string would select the default runtime handler. - RuntimeHandler string `protobuf:"bytes,19,opt,name=runtime_handler,json=runtimeHandler,proto3" json:"runtime_handler,omitempty"` + RuntimeHandler string `protobuf:"bytes,19,opt,name=runtime_handler,json=runtimeHandler,proto3" json:"runtime_handler,omitempty"` + // Mount indicates that the OCI object (image or artifact) should be mounted. + // This can be done either as local host path or image ref (id or digest). + Mount bool `protobuf:"varint,20,opt,name=mount,proto3" json:"mount,omitempty"` + // MountLabel is the SELinux label to be used. + MountLabel string `protobuf:"bytes,21,opt,name=mount_label,json=mountLabel,proto3" json:"mount_label,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_sizecache int32 `json:"-"` } @@ -3574,6 +3631,20 @@ func (m *ImageSpec) GetRuntimeHandler() string { return "" } +func (m *ImageSpec) GetMount() bool { + if m != nil { + return m.Mount + } + return false +} + +func (m *ImageSpec) GetMountLabel() string { + if m != nil { + return m.MountLabel + } + return "" +} + type KeyValue struct { Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` @@ -3999,13 +4070,14 @@ type LinuxContainerSecurityContext struct { RunAsUsername string `protobuf:"bytes,6,opt,name=run_as_username,json=runAsUsername,proto3" json:"run_as_username,omitempty"` // If set, the root filesystem of the container is read-only. ReadonlyRootfs bool `protobuf:"varint,7,opt,name=readonly_rootfs,json=readonlyRootfs,proto3" json:"readonly_rootfs,omitempty"` - // List of groups applied to the first process run in the container, in - // addition to the container's primary GID, and group memberships defined - // in the container image for the container's primary UID of the container process. - // If the list is empty, no additional groups are added to any container. - // Note that group memberships defined in the container image for the container's primary UID - // of the container process are still effective, even if they are not included in this list. + // List of groups applied to the first process run in each container. + // supplemental_groups_policy can control how groups will be calculated. SupplementalGroups []int64 `protobuf:"varint,8,rep,packed,name=supplemental_groups,json=supplementalGroups,proto3" json:"supplemental_groups,omitempty"` + // supplemental_groups_policy defines how supplemental groups of the first + // container processes are calculated. + // Valid values are "Merge" and "Strict". + // If not specified, "Merge" is used. + SupplementalGroupsPolicy SupplementalGroupsPolicy `protobuf:"varint,17,opt,name=supplemental_groups_policy,json=supplementalGroupsPolicy,proto3,enum=runtime.v1.SupplementalGroupsPolicy" json:"supplemental_groups_policy,omitempty"` // no_new_privs defines if the flag for no_new_privs should be set on the // container. NoNewPrivs bool `protobuf:"varint,11,opt,name=no_new_privs,json=noNewPrivs,proto3" json:"no_new_privs,omitempty"` @@ -4133,6 +4205,13 @@ func (m *LinuxContainerSecurityContext) GetSupplementalGroups() []int64 { return nil } +func (m *LinuxContainerSecurityContext) GetSupplementalGroupsPolicy() SupplementalGroupsPolicy { + if m != nil { + return m.SupplementalGroupsPolicy + } + return SupplementalGroupsPolicy_Merge +} + func (m *LinuxContainerSecurityContext) GetNoNewPrivs() bool { if m != nil { return m.NoNewPrivs @@ -4241,6 +4320,70 @@ func (m *LinuxContainerConfig) GetSecurityContext() *LinuxContainerSecurityConte return nil } +type LinuxContainerUser struct { + // uid is the primary uid initially attached to the first process in the container + Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` + // gid is the primary gid initially attached to the first process in the container + Gid int64 `protobuf:"varint,2,opt,name=gid,proto3" json:"gid,omitempty"` + // supplemental_groups are the supplemental groups initially attached to the first process in the container + SupplementalGroups []int64 `protobuf:"varint,3,rep,packed,name=supplemental_groups,json=supplementalGroups,proto3" json:"supplemental_groups,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LinuxContainerUser) Reset() { *m = LinuxContainerUser{} } +func (*LinuxContainerUser) ProtoMessage() {} +func (*LinuxContainerUser) Descriptor() ([]byte, []int) { + return fileDescriptor_00212fb1f9d3bf1c, []int{55} +} +func (m *LinuxContainerUser) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *LinuxContainerUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LinuxContainerUser.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *LinuxContainerUser) XXX_Merge(src proto.Message) { + xxx_messageInfo_LinuxContainerUser.Merge(m, src) +} +func (m *LinuxContainerUser) XXX_Size() int { + return m.Size() +} +func (m *LinuxContainerUser) XXX_DiscardUnknown() { + xxx_messageInfo_LinuxContainerUser.DiscardUnknown(m) +} + +var xxx_messageInfo_LinuxContainerUser proto.InternalMessageInfo + +func (m *LinuxContainerUser) GetUid() int64 { + if m != nil { + return m.Uid + } + return 0 +} + +func (m *LinuxContainerUser) GetGid() int64 { + if m != nil { + return m.Gid + } + return 0 +} + +func (m *LinuxContainerUser) GetSupplementalGroups() []int64 { + if m != nil { + return m.SupplementalGroups + } + return nil +} + // WindowsNamespaceOption provides options for Windows namespaces. type WindowsNamespaceOption struct { // Network namespace for this container/sandbox. @@ -4253,7 +4396,7 @@ type WindowsNamespaceOption struct { func (m *WindowsNamespaceOption) Reset() { *m = WindowsNamespaceOption{} } func (*WindowsNamespaceOption) ProtoMessage() {} func (*WindowsNamespaceOption) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{55} + return fileDescriptor_00212fb1f9d3bf1c, []int{56} } func (m *WindowsNamespaceOption) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4310,7 +4453,7 @@ type WindowsSandboxSecurityContext struct { func (m *WindowsSandboxSecurityContext) Reset() { *m = WindowsSandboxSecurityContext{} } func (*WindowsSandboxSecurityContext) ProtoMessage() {} func (*WindowsSandboxSecurityContext) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{56} + return fileDescriptor_00212fb1f9d3bf1c, []int{57} } func (m *WindowsSandboxSecurityContext) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4379,7 +4522,7 @@ type WindowsPodSandboxConfig struct { func (m *WindowsPodSandboxConfig) Reset() { *m = WindowsPodSandboxConfig{} } func (*WindowsPodSandboxConfig) ProtoMessage() {} func (*WindowsPodSandboxConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{57} + return fileDescriptor_00212fb1f9d3bf1c, []int{58} } func (m *WindowsPodSandboxConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4432,7 +4575,7 @@ type WindowsContainerSecurityContext struct { func (m *WindowsContainerSecurityContext) Reset() { *m = WindowsContainerSecurityContext{} } func (*WindowsContainerSecurityContext) ProtoMessage() {} func (*WindowsContainerSecurityContext) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{58} + return fileDescriptor_00212fb1f9d3bf1c, []int{59} } func (m *WindowsContainerSecurityContext) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4496,7 +4639,7 @@ type WindowsContainerConfig struct { func (m *WindowsContainerConfig) Reset() { *m = WindowsContainerConfig{} } func (*WindowsContainerConfig) ProtoMessage() {} func (*WindowsContainerConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{59} + return fileDescriptor_00212fb1f9d3bf1c, []int{60} } func (m *WindowsContainerConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4559,7 +4702,7 @@ type WindowsContainerResources struct { func (m *WindowsContainerResources) Reset() { *m = WindowsContainerResources{} } func (*WindowsContainerResources) ProtoMessage() {} func (*WindowsContainerResources) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{60} + return fileDescriptor_00212fb1f9d3bf1c, []int{61} } func (m *WindowsContainerResources) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4640,7 +4783,7 @@ type ContainerMetadata struct { func (m *ContainerMetadata) Reset() { *m = ContainerMetadata{} } func (*ContainerMetadata) ProtoMessage() {} func (*ContainerMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{61} + return fileDescriptor_00212fb1f9d3bf1c, []int{62} } func (m *ContainerMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4701,7 +4844,7 @@ type Device struct { func (m *Device) Reset() { *m = Device{} } func (*Device) ProtoMessage() {} func (*Device) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{62} + return fileDescriptor_00212fb1f9d3bf1c, []int{63} } func (m *Device) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4765,7 +4908,7 @@ type CDIDevice struct { func (m *CDIDevice) Reset() { *m = CDIDevice{} } func (*CDIDevice) ProtoMessage() {} func (*CDIDevice) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{63} + return fileDescriptor_00212fb1f9d3bf1c, []int{64} } func (m *CDIDevice) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4867,7 +5010,7 @@ type ContainerConfig struct { func (m *ContainerConfig) Reset() { *m = ContainerConfig{} } func (*ContainerConfig) ProtoMessage() {} func (*ContainerConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{64} + return fileDescriptor_00212fb1f9d3bf1c, []int{65} } func (m *ContainerConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5032,7 +5175,7 @@ type CreateContainerRequest struct { func (m *CreateContainerRequest) Reset() { *m = CreateContainerRequest{} } func (*CreateContainerRequest) ProtoMessage() {} func (*CreateContainerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{65} + return fileDescriptor_00212fb1f9d3bf1c, []int{66} } func (m *CreateContainerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5092,7 +5235,7 @@ type CreateContainerResponse struct { func (m *CreateContainerResponse) Reset() { *m = CreateContainerResponse{} } func (*CreateContainerResponse) ProtoMessage() {} func (*CreateContainerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{66} + return fileDescriptor_00212fb1f9d3bf1c, []int{67} } func (m *CreateContainerResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5138,7 +5281,7 @@ type StartContainerRequest struct { func (m *StartContainerRequest) Reset() { *m = StartContainerRequest{} } func (*StartContainerRequest) ProtoMessage() {} func (*StartContainerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{67} + return fileDescriptor_00212fb1f9d3bf1c, []int{68} } func (m *StartContainerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5182,7 +5325,7 @@ type StartContainerResponse struct { func (m *StartContainerResponse) Reset() { *m = StartContainerResponse{} } func (*StartContainerResponse) ProtoMessage() {} func (*StartContainerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{68} + return fileDescriptor_00212fb1f9d3bf1c, []int{69} } func (m *StartContainerResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5224,7 +5367,7 @@ type StopContainerRequest struct { func (m *StopContainerRequest) Reset() { *m = StopContainerRequest{} } func (*StopContainerRequest) ProtoMessage() {} func (*StopContainerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{69} + return fileDescriptor_00212fb1f9d3bf1c, []int{70} } func (m *StopContainerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5275,7 +5418,7 @@ type StopContainerResponse struct { func (m *StopContainerResponse) Reset() { *m = StopContainerResponse{} } func (*StopContainerResponse) ProtoMessage() {} func (*StopContainerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{70} + return fileDescriptor_00212fb1f9d3bf1c, []int{71} } func (m *StopContainerResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5314,7 +5457,7 @@ type RemoveContainerRequest struct { func (m *RemoveContainerRequest) Reset() { *m = RemoveContainerRequest{} } func (*RemoveContainerRequest) ProtoMessage() {} func (*RemoveContainerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{71} + return fileDescriptor_00212fb1f9d3bf1c, []int{72} } func (m *RemoveContainerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5358,7 +5501,7 @@ type RemoveContainerResponse struct { func (m *RemoveContainerResponse) Reset() { *m = RemoveContainerResponse{} } func (*RemoveContainerResponse) ProtoMessage() {} func (*RemoveContainerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{72} + return fileDescriptor_00212fb1f9d3bf1c, []int{73} } func (m *RemoveContainerResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5398,7 +5541,7 @@ type ContainerStateValue struct { func (m *ContainerStateValue) Reset() { *m = ContainerStateValue{} } func (*ContainerStateValue) ProtoMessage() {} func (*ContainerStateValue) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{73} + return fileDescriptor_00212fb1f9d3bf1c, []int{74} } func (m *ContainerStateValue) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5454,7 +5597,7 @@ type ContainerFilter struct { func (m *ContainerFilter) Reset() { *m = ContainerFilter{} } func (*ContainerFilter) ProtoMessage() {} func (*ContainerFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{74} + return fileDescriptor_00212fb1f9d3bf1c, []int{75} } func (m *ContainerFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5520,7 +5663,7 @@ type ListContainersRequest struct { func (m *ListContainersRequest) Reset() { *m = ListContainersRequest{} } func (*ListContainersRequest) ProtoMessage() {} func (*ListContainersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{75} + return fileDescriptor_00212fb1f9d3bf1c, []int{76} } func (m *ListContainersRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5598,7 +5741,7 @@ type Container struct { func (m *Container) Reset() { *m = Container{} } func (*Container) ProtoMessage() {} func (*Container) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{76} + return fileDescriptor_00212fb1f9d3bf1c, []int{77} } func (m *Container) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5707,7 +5850,7 @@ type ListContainersResponse struct { func (m *ListContainersResponse) Reset() { *m = ListContainersResponse{} } func (*ListContainersResponse) ProtoMessage() {} func (*ListContainersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{77} + return fileDescriptor_00212fb1f9d3bf1c, []int{78} } func (m *ListContainersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5755,7 +5898,7 @@ type ContainerStatusRequest struct { func (m *ContainerStatusRequest) Reset() { *m = ContainerStatusRequest{} } func (*ContainerStatusRequest) ProtoMessage() {} func (*ContainerStatusRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{78} + return fileDescriptor_00212fb1f9d3bf1c, []int{79} } func (m *ContainerStatusRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5844,15 +5987,17 @@ type ContainerStatus struct { // runtimes to reference images by digest. To separate and avoid possible // misusage, we now introduce the image_id field, which should always refer // to a unique image identifier on the node. - ImageId string `protobuf:"bytes,17,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_sizecache int32 `json:"-"` + ImageId string `protobuf:"bytes,17,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` + // User identities initially attached to the container + User *ContainerUser `protobuf:"bytes,18,opt,name=user,proto3" json:"user,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ContainerStatus) Reset() { *m = ContainerStatus{} } func (*ContainerStatus) ProtoMessage() {} func (*ContainerStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{79} + return fileDescriptor_00212fb1f9d3bf1c, []int{80} } func (m *ContainerStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6000,6 +6145,13 @@ func (m *ContainerStatus) GetImageId() string { return "" } +func (m *ContainerStatus) GetUser() *ContainerUser { + if m != nil { + return m.User + } + return nil +} + type ContainerStatusResponse struct { // Status of the container. Status *ContainerStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` @@ -6015,7 +6167,7 @@ type ContainerStatusResponse struct { func (m *ContainerStatusResponse) Reset() { *m = ContainerStatusResponse{} } func (*ContainerStatusResponse) ProtoMessage() {} func (*ContainerStatusResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{80} + return fileDescriptor_00212fb1f9d3bf1c, []int{81} } func (m *ContainerStatusResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6071,7 +6223,7 @@ type ContainerResources struct { func (m *ContainerResources) Reset() { *m = ContainerResources{} } func (*ContainerResources) ProtoMessage() {} func (*ContainerResources) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{81} + return fileDescriptor_00212fb1f9d3bf1c, []int{82} } func (m *ContainerResources) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6114,6 +6266,53 @@ func (m *ContainerResources) GetWindows() *WindowsContainerResources { return nil } +type ContainerUser struct { + // User identities initially attached to first process in the Linux container. + // Note that the actual running identity can be changed if the process has enough privilege to do so. + Linux *LinuxContainerUser `protobuf:"bytes,1,opt,name=linux,proto3" json:"linux,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ContainerUser) Reset() { *m = ContainerUser{} } +func (*ContainerUser) ProtoMessage() {} +func (*ContainerUser) Descriptor() ([]byte, []int) { + return fileDescriptor_00212fb1f9d3bf1c, []int{83} +} +func (m *ContainerUser) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ContainerUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ContainerUser.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ContainerUser) XXX_Merge(src proto.Message) { + xxx_messageInfo_ContainerUser.Merge(m, src) +} +func (m *ContainerUser) XXX_Size() int { + return m.Size() +} +func (m *ContainerUser) XXX_DiscardUnknown() { + xxx_messageInfo_ContainerUser.DiscardUnknown(m) +} + +var xxx_messageInfo_ContainerUser proto.InternalMessageInfo + +func (m *ContainerUser) GetLinux() *LinuxContainerUser { + if m != nil { + return m.Linux + } + return nil +} + type UpdateContainerResourcesRequest struct { // ID of the container to update. ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"` @@ -6132,7 +6331,7 @@ type UpdateContainerResourcesRequest struct { func (m *UpdateContainerResourcesRequest) Reset() { *m = UpdateContainerResourcesRequest{} } func (*UpdateContainerResourcesRequest) ProtoMessage() {} func (*UpdateContainerResourcesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{82} + return fileDescriptor_00212fb1f9d3bf1c, []int{84} } func (m *UpdateContainerResourcesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6197,7 +6396,7 @@ type UpdateContainerResourcesResponse struct { func (m *UpdateContainerResourcesResponse) Reset() { *m = UpdateContainerResourcesResponse{} } func (*UpdateContainerResourcesResponse) ProtoMessage() {} func (*UpdateContainerResourcesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{83} + return fileDescriptor_00212fb1f9d3bf1c, []int{85} } func (m *UpdateContainerResourcesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6240,7 +6439,7 @@ type ExecSyncRequest struct { func (m *ExecSyncRequest) Reset() { *m = ExecSyncRequest{} } func (*ExecSyncRequest) ProtoMessage() {} func (*ExecSyncRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{84} + return fileDescriptor_00212fb1f9d3bf1c, []int{86} } func (m *ExecSyncRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6312,7 +6511,7 @@ type ExecSyncResponse struct { func (m *ExecSyncResponse) Reset() { *m = ExecSyncResponse{} } func (*ExecSyncResponse) ProtoMessage() {} func (*ExecSyncResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{85} + return fileDescriptor_00212fb1f9d3bf1c, []int{87} } func (m *ExecSyncResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6388,7 +6587,7 @@ type ExecRequest struct { func (m *ExecRequest) Reset() { *m = ExecRequest{} } func (*ExecRequest) ProtoMessage() {} func (*ExecRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{86} + return fileDescriptor_00212fb1f9d3bf1c, []int{88} } func (m *ExecRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6469,7 +6668,7 @@ type ExecResponse struct { func (m *ExecResponse) Reset() { *m = ExecResponse{} } func (*ExecResponse) ProtoMessage() {} func (*ExecResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{87} + return fileDescriptor_00212fb1f9d3bf1c, []int{89} } func (m *ExecResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6530,7 +6729,7 @@ type AttachRequest struct { func (m *AttachRequest) Reset() { *m = AttachRequest{} } func (*AttachRequest) ProtoMessage() {} func (*AttachRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{88} + return fileDescriptor_00212fb1f9d3bf1c, []int{90} } func (m *AttachRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6604,7 +6803,7 @@ type AttachResponse struct { func (m *AttachResponse) Reset() { *m = AttachResponse{} } func (*AttachResponse) ProtoMessage() {} func (*AttachResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{89} + return fileDescriptor_00212fb1f9d3bf1c, []int{91} } func (m *AttachResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6652,7 +6851,7 @@ type PortForwardRequest struct { func (m *PortForwardRequest) Reset() { *m = PortForwardRequest{} } func (*PortForwardRequest) ProtoMessage() {} func (*PortForwardRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{90} + return fileDescriptor_00212fb1f9d3bf1c, []int{92} } func (m *PortForwardRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6705,7 +6904,7 @@ type PortForwardResponse struct { func (m *PortForwardResponse) Reset() { *m = PortForwardResponse{} } func (*PortForwardResponse) ProtoMessage() {} func (*PortForwardResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{91} + return fileDescriptor_00212fb1f9d3bf1c, []int{93} } func (m *PortForwardResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6751,7 +6950,7 @@ type ImageFilter struct { func (m *ImageFilter) Reset() { *m = ImageFilter{} } func (*ImageFilter) ProtoMessage() {} func (*ImageFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{92} + return fileDescriptor_00212fb1f9d3bf1c, []int{94} } func (m *ImageFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6797,7 +6996,7 @@ type ListImagesRequest struct { func (m *ListImagesRequest) Reset() { *m = ListImagesRequest{} } func (*ListImagesRequest) ProtoMessage() {} func (*ListImagesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{93} + return fileDescriptor_00212fb1f9d3bf1c, []int{95} } func (m *ListImagesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6855,7 +7054,9 @@ type Image struct { // Recommendation on whether this image should be exempt from garbage collection. // It must only be treated as a recommendation -- the client can still request that the image be deleted, // and the runtime must oblige. - Pinned bool `protobuf:"varint,8,opt,name=pinned,proto3" json:"pinned,omitempty"` + Pinned bool `protobuf:"varint,8,opt,name=pinned,proto3" json:"pinned,omitempty"` + // Reference to a local path on disk if mounted. + MountRef string `protobuf:"bytes,9,opt,name=mount_ref,json=mountRef,proto3" json:"mount_ref,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_sizecache int32 `json:"-"` } @@ -6863,7 +7064,7 @@ type Image struct { func (m *Image) Reset() { *m = Image{} } func (*Image) ProtoMessage() {} func (*Image) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{94} + return fileDescriptor_00212fb1f9d3bf1c, []int{96} } func (m *Image) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6948,6 +7149,13 @@ func (m *Image) GetPinned() bool { return false } +func (m *Image) GetMountRef() string { + if m != nil { + return m.MountRef + } + return "" +} + type ListImagesResponse struct { // List of images. Images []*Image `protobuf:"bytes,1,rep,name=images,proto3" json:"images,omitempty"` @@ -6958,7 +7166,7 @@ type ListImagesResponse struct { func (m *ListImagesResponse) Reset() { *m = ListImagesResponse{} } func (*ListImagesResponse) ProtoMessage() {} func (*ListImagesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{95} + return fileDescriptor_00212fb1f9d3bf1c, []int{97} } func (m *ListImagesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7006,7 +7214,7 @@ type ImageStatusRequest struct { func (m *ImageStatusRequest) Reset() { *m = ImageStatusRequest{} } func (*ImageStatusRequest) ProtoMessage() {} func (*ImageStatusRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{96} + return fileDescriptor_00212fb1f9d3bf1c, []int{98} } func (m *ImageStatusRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7064,7 +7272,7 @@ type ImageStatusResponse struct { func (m *ImageStatusResponse) Reset() { *m = ImageStatusResponse{} } func (*ImageStatusResponse) ProtoMessage() {} func (*ImageStatusResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{97} + return fileDescriptor_00212fb1f9d3bf1c, []int{99} } func (m *ImageStatusResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7125,7 +7333,7 @@ type AuthConfig struct { func (m *AuthConfig) Reset() { *m = AuthConfig{} } func (*AuthConfig) ProtoMessage() {} func (*AuthConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{98} + return fileDescriptor_00212fb1f9d3bf1c, []int{100} } func (m *AuthConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7210,7 +7418,7 @@ type PullImageRequest struct { func (m *PullImageRequest) Reset() { *m = PullImageRequest{} } func (*PullImageRequest) ProtoMessage() {} func (*PullImageRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{99} + return fileDescriptor_00212fb1f9d3bf1c, []int{101} } func (m *PullImageRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7263,7 +7471,9 @@ func (m *PullImageRequest) GetSandboxConfig() *PodSandboxConfig { type PullImageResponse struct { // Reference to the image in use. For most runtimes, this should be an // image ID or digest. - ImageRef string `protobuf:"bytes,1,opt,name=image_ref,json=imageRef,proto3" json:"image_ref,omitempty"` + ImageRef string `protobuf:"bytes,1,opt,name=image_ref,json=imageRef,proto3" json:"image_ref,omitempty"` + // Reference to a local path on disk if mounted. + MountRef string `protobuf:"bytes,2,opt,name=mount_ref,json=mountRef,proto3" json:"mount_ref,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_sizecache int32 `json:"-"` } @@ -7271,7 +7481,7 @@ type PullImageResponse struct { func (m *PullImageResponse) Reset() { *m = PullImageResponse{} } func (*PullImageResponse) ProtoMessage() {} func (*PullImageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{100} + return fileDescriptor_00212fb1f9d3bf1c, []int{102} } func (m *PullImageResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7307,6 +7517,13 @@ func (m *PullImageResponse) GetImageRef() string { return "" } +func (m *PullImageResponse) GetMountRef() string { + if m != nil { + return m.MountRef + } + return "" +} + type RemoveImageRequest struct { // Spec of the image to remove. Image *ImageSpec `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"` @@ -7317,7 +7534,7 @@ type RemoveImageRequest struct { func (m *RemoveImageRequest) Reset() { *m = RemoveImageRequest{} } func (*RemoveImageRequest) ProtoMessage() {} func (*RemoveImageRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{101} + return fileDescriptor_00212fb1f9d3bf1c, []int{103} } func (m *RemoveImageRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7361,7 +7578,7 @@ type RemoveImageResponse struct { func (m *RemoveImageResponse) Reset() { *m = RemoveImageResponse{} } func (*RemoveImageResponse) ProtoMessage() {} func (*RemoveImageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{102} + return fileDescriptor_00212fb1f9d3bf1c, []int{104} } func (m *RemoveImageResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7401,7 +7618,7 @@ type NetworkConfig struct { func (m *NetworkConfig) Reset() { *m = NetworkConfig{} } func (*NetworkConfig) ProtoMessage() {} func (*NetworkConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{103} + return fileDescriptor_00212fb1f9d3bf1c, []int{105} } func (m *NetworkConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7446,7 +7663,7 @@ type RuntimeConfig struct { func (m *RuntimeConfig) Reset() { *m = RuntimeConfig{} } func (*RuntimeConfig) ProtoMessage() {} func (*RuntimeConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{104} + return fileDescriptor_00212fb1f9d3bf1c, []int{106} } func (m *RuntimeConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7491,7 +7708,7 @@ type UpdateRuntimeConfigRequest struct { func (m *UpdateRuntimeConfigRequest) Reset() { *m = UpdateRuntimeConfigRequest{} } func (*UpdateRuntimeConfigRequest) ProtoMessage() {} func (*UpdateRuntimeConfigRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{105} + return fileDescriptor_00212fb1f9d3bf1c, []int{107} } func (m *UpdateRuntimeConfigRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7535,7 +7752,7 @@ type UpdateRuntimeConfigResponse struct { func (m *UpdateRuntimeConfigResponse) Reset() { *m = UpdateRuntimeConfigResponse{} } func (*UpdateRuntimeConfigResponse) ProtoMessage() {} func (*UpdateRuntimeConfigResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{106} + return fileDescriptor_00212fb1f9d3bf1c, []int{108} } func (m *UpdateRuntimeConfigResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7594,7 +7811,7 @@ type RuntimeCondition struct { func (m *RuntimeCondition) Reset() { *m = RuntimeCondition{} } func (*RuntimeCondition) ProtoMessage() {} func (*RuntimeCondition) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{107} + return fileDescriptor_00212fb1f9d3bf1c, []int{109} } func (m *RuntimeCondition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7662,7 +7879,7 @@ type RuntimeStatus struct { func (m *RuntimeStatus) Reset() { *m = RuntimeStatus{} } func (*RuntimeStatus) ProtoMessage() {} func (*RuntimeStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{108} + return fileDescriptor_00212fb1f9d3bf1c, []int{110} } func (m *RuntimeStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7708,7 +7925,7 @@ type StatusRequest struct { func (m *StatusRequest) Reset() { *m = StatusRequest{} } func (*StatusRequest) ProtoMessage() {} func (*StatusRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{109} + return fileDescriptor_00212fb1f9d3bf1c, []int{111} } func (m *StatusRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7760,7 +7977,7 @@ type RuntimeHandlerFeatures struct { func (m *RuntimeHandlerFeatures) Reset() { *m = RuntimeHandlerFeatures{} } func (*RuntimeHandlerFeatures) ProtoMessage() {} func (*RuntimeHandlerFeatures) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{110} + return fileDescriptor_00212fb1f9d3bf1c, []int{112} } func (m *RuntimeHandlerFeatures) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7816,7 +8033,7 @@ type RuntimeHandler struct { func (m *RuntimeHandler) Reset() { *m = RuntimeHandler{} } func (*RuntimeHandler) ProtoMessage() {} func (*RuntimeHandler) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{111} + return fileDescriptor_00212fb1f9d3bf1c, []int{113} } func (m *RuntimeHandler) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7876,7 +8093,7 @@ type StatusResponse struct { func (m *StatusResponse) Reset() { *m = StatusResponse{} } func (*StatusResponse) ProtoMessage() {} func (*StatusResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{112} + return fileDescriptor_00212fb1f9d3bf1c, []int{114} } func (m *StatusResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7934,7 +8151,7 @@ type ImageFsInfoRequest struct { func (m *ImageFsInfoRequest) Reset() { *m = ImageFsInfoRequest{} } func (*ImageFsInfoRequest) ProtoMessage() {} func (*ImageFsInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{113} + return fileDescriptor_00212fb1f9d3bf1c, []int{115} } func (m *ImageFsInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7974,7 +8191,7 @@ type UInt64Value struct { func (m *UInt64Value) Reset() { *m = UInt64Value{} } func (*UInt64Value) ProtoMessage() {} func (*UInt64Value) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{114} + return fileDescriptor_00212fb1f9d3bf1c, []int{116} } func (m *UInt64Value) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8021,7 +8238,7 @@ type FilesystemIdentifier struct { func (m *FilesystemIdentifier) Reset() { *m = FilesystemIdentifier{} } func (*FilesystemIdentifier) ProtoMessage() {} func (*FilesystemIdentifier) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{115} + return fileDescriptor_00212fb1f9d3bf1c, []int{117} } func (m *FilesystemIdentifier) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8078,7 +8295,7 @@ type FilesystemUsage struct { func (m *FilesystemUsage) Reset() { *m = FilesystemUsage{} } func (*FilesystemUsage) ProtoMessage() {} func (*FilesystemUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{116} + return fileDescriptor_00212fb1f9d3bf1c, []int{118} } func (m *FilesystemUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8152,7 +8369,7 @@ type WindowsFilesystemUsage struct { func (m *WindowsFilesystemUsage) Reset() { *m = WindowsFilesystemUsage{} } func (*WindowsFilesystemUsage) ProtoMessage() {} func (*WindowsFilesystemUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{117} + return fileDescriptor_00212fb1f9d3bf1c, []int{119} } func (m *WindowsFilesystemUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8217,7 +8434,7 @@ type ImageFsInfoResponse struct { func (m *ImageFsInfoResponse) Reset() { *m = ImageFsInfoResponse{} } func (*ImageFsInfoResponse) ProtoMessage() {} func (*ImageFsInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{118} + return fileDescriptor_00212fb1f9d3bf1c, []int{120} } func (m *ImageFsInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8270,7 +8487,7 @@ type ContainerStatsRequest struct { func (m *ContainerStatsRequest) Reset() { *m = ContainerStatsRequest{} } func (*ContainerStatsRequest) ProtoMessage() {} func (*ContainerStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{119} + return fileDescriptor_00212fb1f9d3bf1c, []int{121} } func (m *ContainerStatsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8316,7 +8533,7 @@ type ContainerStatsResponse struct { func (m *ContainerStatsResponse) Reset() { *m = ContainerStatsResponse{} } func (*ContainerStatsResponse) ProtoMessage() {} func (*ContainerStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{120} + return fileDescriptor_00212fb1f9d3bf1c, []int{122} } func (m *ContainerStatsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8362,7 +8579,7 @@ type ListContainerStatsRequest struct { func (m *ListContainerStatsRequest) Reset() { *m = ListContainerStatsRequest{} } func (*ListContainerStatsRequest) ProtoMessage() {} func (*ListContainerStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{121} + return fileDescriptor_00212fb1f9d3bf1c, []int{123} } func (m *ListContainerStatsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8416,7 +8633,7 @@ type ContainerStatsFilter struct { func (m *ContainerStatsFilter) Reset() { *m = ContainerStatsFilter{} } func (*ContainerStatsFilter) ProtoMessage() {} func (*ContainerStatsFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{122} + return fileDescriptor_00212fb1f9d3bf1c, []int{124} } func (m *ContainerStatsFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8476,7 +8693,7 @@ type ListContainerStatsResponse struct { func (m *ListContainerStatsResponse) Reset() { *m = ListContainerStatsResponse{} } func (*ListContainerStatsResponse) ProtoMessage() {} func (*ListContainerStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{123} + return fileDescriptor_00212fb1f9d3bf1c, []int{125} } func (m *ListContainerStatsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8532,7 +8749,7 @@ type ContainerAttributes struct { func (m *ContainerAttributes) Reset() { *m = ContainerAttributes{} } func (*ContainerAttributes) ProtoMessage() {} func (*ContainerAttributes) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{124} + return fileDescriptor_00212fb1f9d3bf1c, []int{126} } func (m *ContainerAttributes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8608,7 +8825,7 @@ type ContainerStats struct { func (m *ContainerStats) Reset() { *m = ContainerStats{} } func (*ContainerStats) ProtoMessage() {} func (*ContainerStats) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{125} + return fileDescriptor_00212fb1f9d3bf1c, []int{127} } func (m *ContainerStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8689,7 +8906,7 @@ type WindowsContainerStats struct { func (m *WindowsContainerStats) Reset() { *m = WindowsContainerStats{} } func (*WindowsContainerStats) ProtoMessage() {} func (*WindowsContainerStats) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{126} + return fileDescriptor_00212fb1f9d3bf1c, []int{128} } func (m *WindowsContainerStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8762,7 +8979,7 @@ type CpuUsage struct { func (m *CpuUsage) Reset() { *m = CpuUsage{} } func (*CpuUsage) ProtoMessage() {} func (*CpuUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{127} + return fileDescriptor_00212fb1f9d3bf1c, []int{129} } func (m *CpuUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8828,7 +9045,7 @@ type WindowsCpuUsage struct { func (m *WindowsCpuUsage) Reset() { *m = WindowsCpuUsage{} } func (*WindowsCpuUsage) ProtoMessage() {} func (*WindowsCpuUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{128} + return fileDescriptor_00212fb1f9d3bf1c, []int{130} } func (m *WindowsCpuUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8901,7 +9118,7 @@ type MemoryUsage struct { func (m *MemoryUsage) Reset() { *m = MemoryUsage{} } func (*MemoryUsage) ProtoMessage() {} func (*MemoryUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{129} + return fileDescriptor_00212fb1f9d3bf1c, []int{131} } func (m *MemoryUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8993,7 +9210,7 @@ type SwapUsage struct { func (m *SwapUsage) Reset() { *m = SwapUsage{} } func (*SwapUsage) ProtoMessage() {} func (*SwapUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{130} + return fileDescriptor_00212fb1f9d3bf1c, []int{132} } func (m *SwapUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9062,7 +9279,7 @@ type WindowsMemoryUsage struct { func (m *WindowsMemoryUsage) Reset() { *m = WindowsMemoryUsage{} } func (*WindowsMemoryUsage) ProtoMessage() {} func (*WindowsMemoryUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{131} + return fileDescriptor_00212fb1f9d3bf1c, []int{133} } func (m *WindowsMemoryUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9136,7 +9353,7 @@ type ReopenContainerLogRequest struct { func (m *ReopenContainerLogRequest) Reset() { *m = ReopenContainerLogRequest{} } func (*ReopenContainerLogRequest) ProtoMessage() {} func (*ReopenContainerLogRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{132} + return fileDescriptor_00212fb1f9d3bf1c, []int{134} } func (m *ReopenContainerLogRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9180,7 +9397,7 @@ type ReopenContainerLogResponse struct { func (m *ReopenContainerLogResponse) Reset() { *m = ReopenContainerLogResponse{} } func (*ReopenContainerLogResponse) ProtoMessage() {} func (*ReopenContainerLogResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{133} + return fileDescriptor_00212fb1f9d3bf1c, []int{135} } func (m *ReopenContainerLogResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9225,7 +9442,7 @@ type CheckpointContainerRequest struct { func (m *CheckpointContainerRequest) Reset() { *m = CheckpointContainerRequest{} } func (*CheckpointContainerRequest) ProtoMessage() {} func (*CheckpointContainerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{134} + return fileDescriptor_00212fb1f9d3bf1c, []int{136} } func (m *CheckpointContainerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9283,7 +9500,7 @@ type CheckpointContainerResponse struct { func (m *CheckpointContainerResponse) Reset() { *m = CheckpointContainerResponse{} } func (*CheckpointContainerResponse) ProtoMessage() {} func (*CheckpointContainerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{135} + return fileDescriptor_00212fb1f9d3bf1c, []int{137} } func (m *CheckpointContainerResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9320,7 +9537,7 @@ type GetEventsRequest struct { func (m *GetEventsRequest) Reset() { *m = GetEventsRequest{} } func (*GetEventsRequest) ProtoMessage() {} func (*GetEventsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{136} + return fileDescriptor_00212fb1f9d3bf1c, []int{138} } func (m *GetEventsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9367,7 +9584,7 @@ type ContainerEventResponse struct { func (m *ContainerEventResponse) Reset() { *m = ContainerEventResponse{} } func (*ContainerEventResponse) ProtoMessage() {} func (*ContainerEventResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{137} + return fileDescriptor_00212fb1f9d3bf1c, []int{139} } func (m *ContainerEventResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9439,7 +9656,7 @@ type ListMetricDescriptorsRequest struct { func (m *ListMetricDescriptorsRequest) Reset() { *m = ListMetricDescriptorsRequest{} } func (*ListMetricDescriptorsRequest) ProtoMessage() {} func (*ListMetricDescriptorsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{138} + return fileDescriptor_00212fb1f9d3bf1c, []int{140} } func (m *ListMetricDescriptorsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9477,7 +9694,7 @@ type ListMetricDescriptorsResponse struct { func (m *ListMetricDescriptorsResponse) Reset() { *m = ListMetricDescriptorsResponse{} } func (*ListMetricDescriptorsResponse) ProtoMessage() {} func (*ListMetricDescriptorsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{139} + return fileDescriptor_00212fb1f9d3bf1c, []int{141} } func (m *ListMetricDescriptorsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9530,7 +9747,7 @@ type MetricDescriptor struct { func (m *MetricDescriptor) Reset() { *m = MetricDescriptor{} } func (*MetricDescriptor) ProtoMessage() {} func (*MetricDescriptor) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{140} + return fileDescriptor_00212fb1f9d3bf1c, []int{142} } func (m *MetricDescriptor) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9588,7 +9805,7 @@ type ListPodSandboxMetricsRequest struct { func (m *ListPodSandboxMetricsRequest) Reset() { *m = ListPodSandboxMetricsRequest{} } func (*ListPodSandboxMetricsRequest) ProtoMessage() {} func (*ListPodSandboxMetricsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{141} + return fileDescriptor_00212fb1f9d3bf1c, []int{143} } func (m *ListPodSandboxMetricsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9626,7 +9843,7 @@ type ListPodSandboxMetricsResponse struct { func (m *ListPodSandboxMetricsResponse) Reset() { *m = ListPodSandboxMetricsResponse{} } func (*ListPodSandboxMetricsResponse) ProtoMessage() {} func (*ListPodSandboxMetricsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{142} + return fileDescriptor_00212fb1f9d3bf1c, []int{144} } func (m *ListPodSandboxMetricsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9673,7 +9890,7 @@ type PodSandboxMetrics struct { func (m *PodSandboxMetrics) Reset() { *m = PodSandboxMetrics{} } func (*PodSandboxMetrics) ProtoMessage() {} func (*PodSandboxMetrics) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{143} + return fileDescriptor_00212fb1f9d3bf1c, []int{145} } func (m *PodSandboxMetrics) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9733,7 +9950,7 @@ type ContainerMetrics struct { func (m *ContainerMetrics) Reset() { *m = ContainerMetrics{} } func (*ContainerMetrics) ProtoMessage() {} func (*ContainerMetrics) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{144} + return fileDescriptor_00212fb1f9d3bf1c, []int{146} } func (m *ContainerMetrics) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9796,7 +10013,7 @@ type Metric struct { func (m *Metric) Reset() { *m = Metric{} } func (*Metric) ProtoMessage() {} func (*Metric) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{145} + return fileDescriptor_00212fb1f9d3bf1c, []int{147} } func (m *Metric) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9868,7 +10085,7 @@ type RuntimeConfigRequest struct { func (m *RuntimeConfigRequest) Reset() { *m = RuntimeConfigRequest{} } func (*RuntimeConfigRequest) ProtoMessage() {} func (*RuntimeConfigRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{146} + return fileDescriptor_00212fb1f9d3bf1c, []int{148} } func (m *RuntimeConfigRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9909,7 +10126,7 @@ type RuntimeConfigResponse struct { func (m *RuntimeConfigResponse) Reset() { *m = RuntimeConfigResponse{} } func (*RuntimeConfigResponse) ProtoMessage() {} func (*RuntimeConfigResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{147} + return fileDescriptor_00212fb1f9d3bf1c, []int{149} } func (m *RuntimeConfigResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9961,7 +10178,7 @@ type LinuxRuntimeConfiguration struct { func (m *LinuxRuntimeConfiguration) Reset() { *m = LinuxRuntimeConfiguration{} } func (*LinuxRuntimeConfiguration) ProtoMessage() {} func (*LinuxRuntimeConfiguration) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{148} + return fileDescriptor_00212fb1f9d3bf1c, []int{150} } func (m *LinuxRuntimeConfiguration) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10001,6 +10218,7 @@ func init() { proto.RegisterEnum("runtime.v1.Protocol", Protocol_name, Protocol_value) proto.RegisterEnum("runtime.v1.MountPropagation", MountPropagation_name, MountPropagation_value) proto.RegisterEnum("runtime.v1.NamespaceMode", NamespaceMode_name, NamespaceMode_value) + proto.RegisterEnum("runtime.v1.SupplementalGroupsPolicy", SupplementalGroupsPolicy_name, SupplementalGroupsPolicy_value) proto.RegisterEnum("runtime.v1.PodSandboxState", PodSandboxState_name, PodSandboxState_value) proto.RegisterEnum("runtime.v1.ContainerState", ContainerState_name, ContainerState_value) proto.RegisterEnum("runtime.v1.ContainerEventType", ContainerEventType_name, ContainerEventType_value) @@ -10076,6 +10294,7 @@ func init() { proto.RegisterType((*Capability)(nil), "runtime.v1.Capability") proto.RegisterType((*LinuxContainerSecurityContext)(nil), "runtime.v1.LinuxContainerSecurityContext") proto.RegisterType((*LinuxContainerConfig)(nil), "runtime.v1.LinuxContainerConfig") + proto.RegisterType((*LinuxContainerUser)(nil), "runtime.v1.LinuxContainerUser") proto.RegisterType((*WindowsNamespaceOption)(nil), "runtime.v1.WindowsNamespaceOption") proto.RegisterType((*WindowsSandboxSecurityContext)(nil), "runtime.v1.WindowsSandboxSecurityContext") proto.RegisterType((*WindowsPodSandboxConfig)(nil), "runtime.v1.WindowsPodSandboxConfig") @@ -10111,6 +10330,7 @@ func init() { proto.RegisterType((*ContainerStatusResponse)(nil), "runtime.v1.ContainerStatusResponse") proto.RegisterMapType((map[string]string)(nil), "runtime.v1.ContainerStatusResponse.InfoEntry") proto.RegisterType((*ContainerResources)(nil), "runtime.v1.ContainerResources") + proto.RegisterType((*ContainerUser)(nil), "runtime.v1.ContainerUser") proto.RegisterType((*UpdateContainerResourcesRequest)(nil), "runtime.v1.UpdateContainerResourcesRequest") proto.RegisterMapType((map[string]string)(nil), "runtime.v1.UpdateContainerResourcesRequest.AnnotationsEntry") proto.RegisterType((*UpdateContainerResourcesResponse)(nil), "runtime.v1.UpdateContainerResourcesResponse") @@ -10189,443 +10409,453 @@ func init() { func init() { proto.RegisterFile("api.proto", fileDescriptor_00212fb1f9d3bf1c) } var fileDescriptor_00212fb1f9d3bf1c = []byte{ - // 6961 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5d, 0x4b, 0x6c, 0x24, 0x49, - 0x5a, 0x76, 0x56, 0x95, 0xed, 0xaa, 0xbf, 0x5c, 0x76, 0x39, 0xda, 0x6d, 0xbb, 0xab, 0xdf, 0x39, - 0xaf, 0xee, 0x9e, 0xe9, 0xc7, 0xf4, 0xbc, 0xba, 0x7b, 0x5e, 0x5d, 0x6d, 0xbb, 0x7b, 0x6a, 0xb6, - 0xdb, 0xae, 0xcd, 0xb2, 0x67, 0x77, 0x66, 0xd1, 0x26, 0xd9, 0x95, 0xe1, 0x72, 0x4e, 0x57, 0x65, - 0xe6, 0x66, 0x66, 0xb9, 0xdb, 0x7b, 0x40, 0x9c, 0x10, 0xec, 0x69, 0x25, 0x58, 0x21, 0x56, 0x08, - 0xc4, 0x01, 0xc1, 0x0d, 0x76, 0x25, 0x60, 0x11, 0x2f, 0x09, 0xc1, 0x6a, 0x41, 0x42, 0xe2, 0x00, - 0xd2, 0x1e, 0x90, 0xd8, 0x1d, 0x90, 0x90, 0x38, 0xa2, 0x3d, 0x70, 0x81, 0x45, 0xf1, 0xca, 0xcc, - 0xc8, 0x47, 0x55, 0xd9, 0x33, 0xcc, 0xcc, 0x9e, 0x5c, 0x19, 0xf1, 0xff, 0x7f, 0x44, 0xfc, 0xf1, - 0xc7, 0x1f, 0x7f, 0x44, 0x7c, 0x11, 0x86, 0x8a, 0xe1, 0x5a, 0x57, 0x5c, 0xcf, 0x09, 0x1c, 0x04, - 0xde, 0xd0, 0x0e, 0xac, 0x01, 0xbe, 0xb2, 0xff, 0x62, 0xe3, 0x72, 0xcf, 0x0a, 0xf6, 0x86, 0x0f, - 0xaf, 0x74, 0x9d, 0xc1, 0xd5, 0x9e, 0xd3, 0x73, 0xae, 0x52, 0x92, 0x87, 0xc3, 0x5d, 0xfa, 0x45, - 0x3f, 0xe8, 0x2f, 0xc6, 0xaa, 0x5e, 0x82, 0xf9, 0xf7, 0xb0, 0xe7, 0x5b, 0x8e, 0xad, 0xe1, 0xaf, - 0x0d, 0xb1, 0x1f, 0xa0, 0x55, 0x98, 0xdd, 0x67, 0x29, 0xab, 0xca, 0x39, 0xe5, 0x42, 0x45, 0x13, - 0x9f, 0xea, 0xef, 0x29, 0xb0, 0x10, 0x12, 0xfb, 0xae, 0x63, 0xfb, 0x38, 0x9f, 0x1a, 0x9d, 0x87, - 0x39, 0x5e, 0x2d, 0xdd, 0x36, 0x06, 0x78, 0xb5, 0x40, 0xb3, 0xab, 0x3c, 0x6d, 0xd3, 0x18, 0x60, - 0xf4, 0x1c, 0x2c, 0x08, 0x12, 0x21, 0xa4, 0x48, 0xa9, 0xe6, 0x79, 0x32, 0x2f, 0x0d, 0x5d, 0x81, - 0x63, 0x82, 0xd0, 0x70, 0xad, 0x90, 0xb8, 0x44, 0x89, 0x17, 0x79, 0x56, 0xd3, 0xb5, 0x38, 0xbd, - 0xfa, 0x15, 0xa8, 0xac, 0x6f, 0x76, 0xd6, 0x1c, 0x7b, 0xd7, 0xea, 0x91, 0x2a, 0xfa, 0xd8, 0x23, - 0x3c, 0xab, 0xca, 0xb9, 0x22, 0xa9, 0x22, 0xff, 0x44, 0x0d, 0x28, 0xfb, 0xd8, 0xf0, 0xba, 0x7b, - 0xd8, 0x5f, 0x2d, 0xd0, 0xac, 0xf0, 0x9b, 0x70, 0x39, 0x6e, 0x60, 0x39, 0xb6, 0xbf, 0x5a, 0x64, - 0x5c, 0xfc, 0x53, 0xfd, 0x4d, 0x05, 0xaa, 0x6d, 0xc7, 0x0b, 0x1e, 0x18, 0xae, 0x6b, 0xd9, 0x3d, - 0x74, 0x0d, 0xca, 0x54, 0x97, 0x5d, 0xa7, 0x4f, 0x75, 0x30, 0x7f, 0x7d, 0xe9, 0x4a, 0xd4, 0x21, - 0x57, 0xda, 0x3c, 0x4f, 0x0b, 0xa9, 0xd0, 0x33, 0x30, 0xdf, 0x75, 0xec, 0xc0, 0xb0, 0x6c, 0xec, - 0xe9, 0xae, 0xe3, 0x05, 0x54, 0x39, 0xd3, 0x5a, 0x2d, 0x4c, 0x25, 0xf2, 0xd1, 0x49, 0xa8, 0xec, - 0x39, 0x7e, 0xc0, 0x28, 0x8a, 0x94, 0xa2, 0x4c, 0x12, 0x68, 0xe6, 0x0a, 0xcc, 0xd2, 0x4c, 0xcb, - 0xe5, 0x6a, 0x98, 0x21, 0x9f, 0x2d, 0x57, 0xfd, 0xaf, 0x02, 0x4c, 0x3f, 0x70, 0x86, 0x76, 0x90, - 0x28, 0xc6, 0x08, 0xf6, 0x78, 0x17, 0xc5, 0x8a, 0x31, 0x82, 0xbd, 0xa8, 0x18, 0x42, 0xc1, 0x7a, - 0x89, 0x15, 0x43, 0x32, 0x1b, 0x50, 0xf6, 0xb0, 0x61, 0x3a, 0x76, 0xff, 0x80, 0x56, 0xa1, 0xac, - 0x85, 0xdf, 0xa4, 0xfb, 0x7c, 0xdc, 0xb7, 0xec, 0xe1, 0x13, 0xdd, 0xc3, 0x7d, 0xe3, 0x21, 0xee, - 0xd3, 0xaa, 0x94, 0xb5, 0x79, 0x9e, 0xac, 0xb1, 0x54, 0xf4, 0x16, 0x54, 0x5d, 0xcf, 0x71, 0x8d, - 0x9e, 0x41, 0x34, 0xb8, 0x3a, 0x4d, 0x95, 0x74, 0x2a, 0xae, 0x24, 0x5a, 0xe1, 0x76, 0x44, 0xa3, - 0xc5, 0x19, 0xd0, 0x6b, 0x50, 0x1d, 0x5a, 0x26, 0xd7, 0xb7, 0xbf, 0x3a, 0x73, 0xae, 0x78, 0xa1, - 0x7a, 0xfd, 0x78, 0x9c, 0xbf, 0xb5, 0xce, 0x73, 0xb5, 0x38, 0x25, 0x61, 0xec, 0xc5, 0x18, 0x67, - 0x47, 0x32, 0xc6, 0x28, 0xa9, 0xc1, 0xe1, 0xee, 0xd0, 0xf3, 0xad, 0x7d, 0xac, 0x93, 0x06, 0xeb, - 0x54, 0x03, 0x65, 0xda, 0xbc, 0xc5, 0x30, 0x4b, 0xc3, 0x86, 0xb9, 0x65, 0xf7, 0x0f, 0x54, 0x1d, - 0x2a, 0xa1, 0xa4, 0xa8, 0x6b, 0x4c, 0xaa, 0xf0, 0x1a, 0xef, 0x1a, 0x93, 0x0c, 0x89, 0xa8, 0x43, - 0x2c, 0x93, 0x2a, 0xbb, 0xa6, 0x55, 0xc3, 0xb4, 0x96, 0x89, 0x96, 0x61, 0xa6, 0x8f, 0xed, 0x5e, - 0xb0, 0x47, 0xb5, 0x5d, 0xd3, 0xf8, 0x97, 0xfa, 0x6b, 0x0a, 0xd4, 0x76, 0x7c, 0xec, 0x91, 0x71, - 0xe3, 0xbb, 0x46, 0x17, 0xa3, 0xcb, 0x50, 0x1a, 0x38, 0x26, 0xe6, 0x26, 0x77, 0x22, 0xde, 0xa8, - 0x90, 0xe8, 0x81, 0x63, 0x62, 0x8d, 0x92, 0xa1, 0x8b, 0x50, 0x1a, 0x5a, 0x26, 0xb3, 0xf3, 0x5c, - 0x1d, 0x50, 0x12, 0x42, 0xda, 0x23, 0xa4, 0xc5, 0x91, 0xa4, 0x84, 0x44, 0xfd, 0xa9, 0x02, 0x0b, - 0x61, 0x69, 0x5b, 0x74, 0x80, 0xa0, 0x97, 0x60, 0xd6, 0xc6, 0xc1, 0x63, 0xc7, 0x7b, 0x34, 0xbe, - 0x6e, 0x82, 0x12, 0x3d, 0x0f, 0x45, 0x97, 0x6b, 0x64, 0x24, 0x03, 0xa1, 0x22, 0xc4, 0x96, 0xdb, - 0xa5, 0x1a, 0x1a, 0x4d, 0x6c, 0xb9, 0x5d, 0x62, 0xde, 0x81, 0xe1, 0xf5, 0x30, 0xed, 0x0f, 0x36, - 0x54, 0xca, 0x2c, 0xa1, 0x65, 0xa2, 0xdb, 0x30, 0x3f, 0xf4, 0xb1, 0x67, 0xfb, 0xba, 0x18, 0xec, - 0xc4, 0x38, 0xab, 0xb2, 0x50, 0x49, 0xef, 0x5a, 0x8d, 0x31, 0x6c, 0x71, 0x6f, 0xa0, 0x02, 0xb4, - 0xec, 0xe0, 0xd5, 0x97, 0xdf, 0x33, 0xfa, 0x43, 0x8c, 0x96, 0x60, 0x7a, 0x9f, 0xfc, 0xa0, 0x2d, - 0x2f, 0x6a, 0xec, 0x43, 0xfd, 0x8b, 0x12, 0x9c, 0xbc, 0x4f, 0x06, 0x44, 0xc7, 0xb0, 0xcd, 0x87, - 0xce, 0x93, 0x0e, 0xb1, 0x1f, 0x2b, 0x38, 0x58, 0x73, 0xec, 0x00, 0x3f, 0x09, 0xd0, 0x3b, 0xb0, - 0x68, 0x0b, 0xf9, 0x61, 0x45, 0x14, 0x5a, 0x91, 0x93, 0x99, 0xad, 0x63, 0x85, 0x6b, 0x75, 0x5b, - 0x4e, 0xf0, 0xd1, 0x9d, 0x68, 0x48, 0x0a, 0x39, 0x85, 0x74, 0x83, 0x3a, 0x1b, 0xb4, 0x36, 0x5c, - 0x8a, 0x18, 0xad, 0x42, 0xc6, 0xab, 0x40, 0x9c, 0xb4, 0x6e, 0xf8, 0x3a, 0x69, 0x29, 0xd5, 0x72, - 0xf5, 0xfa, 0xb2, 0x64, 0x05, 0x61, 0x83, 0xb5, 0x8a, 0x37, 0xb4, 0x9b, 0x3e, 0xd1, 0x10, 0xba, - 0x41, 0x1d, 0x3e, 0xe1, 0xeb, 0x79, 0xce, 0xd0, 0xa5, 0x83, 0x25, 0x9f, 0x11, 0x28, 0xe3, 0x3d, - 0x42, 0x49, 0xe7, 0x01, 0xee, 0x54, 0x74, 0xcf, 0x71, 0x82, 0x5d, 0x5f, 0x38, 0x12, 0x91, 0xac, - 0xd1, 0x54, 0x74, 0x15, 0x8e, 0xf9, 0x43, 0xd7, 0xed, 0xe3, 0x01, 0xb6, 0x03, 0xa3, 0xcf, 0x0a, - 0x22, 0x7d, 0x56, 0xbc, 0x50, 0xd4, 0x50, 0x3c, 0x8b, 0x0a, 0xf6, 0xd1, 0x19, 0x00, 0xd7, 0xb3, - 0xf6, 0xad, 0x3e, 0xee, 0x61, 0x73, 0x75, 0x86, 0x0a, 0x8d, 0xa5, 0xa0, 0x57, 0xc8, 0xdc, 0xd0, - 0xed, 0x3a, 0x03, 0x77, 0xb5, 0x92, 0xd6, 0xb7, 0xe8, 0xa7, 0xb6, 0xe7, 0xec, 0x5a, 0x7d, 0xac, - 0x09, 0x5a, 0xf4, 0x1a, 0x94, 0x0d, 0xd7, 0x35, 0xbc, 0x81, 0xe3, 0xad, 0xc2, 0x78, 0xbe, 0x90, - 0x18, 0xbd, 0x0c, 0x4b, 0x5c, 0x86, 0xee, 0xb2, 0x4c, 0xe6, 0x76, 0x67, 0x89, 0x5d, 0xde, 0x29, - 0xac, 0x2a, 0x1a, 0xe2, 0xf9, 0x9c, 0x97, 0x38, 0x61, 0xf5, 0x6f, 0x14, 0x58, 0x48, 0xc8, 0x44, - 0xef, 0xc2, 0x9c, 0x90, 0x10, 0x1c, 0xb8, 0xc2, 0x0d, 0x3c, 0x37, 0xa2, 0x1a, 0x57, 0xf8, 0xdf, - 0xed, 0x03, 0x17, 0x53, 0xff, 0x2a, 0x3e, 0xd0, 0x53, 0x50, 0xeb, 0x3b, 0x5d, 0xa3, 0x4f, 0xbd, - 0x96, 0x87, 0x77, 0xf9, 0x2c, 0x30, 0x17, 0x26, 0x6a, 0x78, 0x57, 0xbd, 0x0d, 0xd5, 0x98, 0x00, - 0x84, 0x60, 0x5e, 0x63, 0x45, 0xad, 0xe3, 0x5d, 0x63, 0xd8, 0x0f, 0xea, 0x53, 0x68, 0x1e, 0x60, - 0xc7, 0xee, 0x92, 0x59, 0xd7, 0xc6, 0x66, 0x5d, 0x41, 0x35, 0xa8, 0xdc, 0x17, 0x22, 0xea, 0x05, - 0xf5, 0xdb, 0x45, 0x38, 0x4e, 0x0d, 0xaf, 0xed, 0x98, 0x7c, 0x24, 0xf0, 0x29, 0xfa, 0x29, 0xa8, - 0x75, 0x69, 0x5f, 0xea, 0xae, 0xe1, 0x61, 0x3b, 0xe0, 0x13, 0xd5, 0x1c, 0x4b, 0x6c, 0xd3, 0x34, - 0xa4, 0x41, 0xdd, 0xe7, 0x2d, 0xd2, 0xbb, 0x6c, 0xe4, 0x70, 0xe3, 0x96, 0x5a, 0x3d, 0x62, 0xa0, - 0x69, 0x0b, 0x7e, 0x6a, 0xe4, 0xcd, 0xfa, 0x07, 0x7e, 0x37, 0xe8, 0x0b, 0x6f, 0x77, 0x25, 0x25, - 0x2a, 0x59, 0xd9, 0x2b, 0x1d, 0xc6, 0xb0, 0x61, 0x07, 0xde, 0x81, 0x26, 0xd8, 0xd1, 0xdb, 0x50, - 0x76, 0xf6, 0xb1, 0xb7, 0x87, 0x0d, 0xe6, 0x65, 0xaa, 0xd7, 0x9f, 0x4a, 0x89, 0x5a, 0x13, 0x8e, - 0x5e, 0xc3, 0xbe, 0x33, 0xf4, 0xba, 0xd8, 0xd7, 0x42, 0x26, 0xd4, 0x84, 0x8a, 0x27, 0x92, 0xb9, - 0x17, 0x9a, 0x48, 0x42, 0xc4, 0xd5, 0xb8, 0x05, 0x73, 0xf1, 0xca, 0xa1, 0x3a, 0x14, 0x1f, 0xe1, - 0x03, 0xae, 0x4c, 0xf2, 0x33, 0xf2, 0x4f, 0xac, 0x87, 0xd9, 0xc7, 0xad, 0xc2, 0x0d, 0x45, 0xf5, - 0x00, 0x45, 0x2d, 0x7d, 0x80, 0x03, 0xc3, 0x34, 0x02, 0x03, 0x21, 0x28, 0xd1, 0xe0, 0x8d, 0x89, - 0xa0, 0xbf, 0x89, 0xd4, 0x21, 0x77, 0xd5, 0x15, 0x8d, 0xfc, 0x44, 0xa7, 0xa0, 0x12, 0x7a, 0x22, - 0x1e, 0xc1, 0x45, 0x09, 0x24, 0x92, 0x32, 0x82, 0x00, 0x0f, 0xdc, 0x80, 0x2a, 0xa6, 0xa6, 0x89, - 0x4f, 0xf5, 0x57, 0xa6, 0xa1, 0x9e, 0xb2, 0x85, 0x5b, 0x50, 0x1e, 0xf0, 0xe2, 0xb9, 0x0f, 0x3c, - 0x23, 0x85, 0x53, 0xa9, 0x4a, 0x6a, 0x21, 0x3d, 0x89, 0x56, 0x88, 0xad, 0xc5, 0xe2, 0xcd, 0xf0, - 0x9b, 0x19, 0x79, 0x4f, 0x37, 0x2d, 0x0f, 0x77, 0x03, 0xc7, 0x3b, 0xe0, 0x15, 0x9d, 0xeb, 0x3b, - 0xbd, 0x75, 0x91, 0x86, 0x5e, 0x06, 0x30, 0x6d, 0x5f, 0xa7, 0x36, 0xdc, 0xe3, 0xfd, 0x28, 0x4d, - 0x80, 0x61, 0x58, 0xa9, 0x55, 0x4c, 0xdb, 0xe7, 0x55, 0x7e, 0x03, 0x6a, 0x24, 0x46, 0xd3, 0x07, - 0x22, 0xd0, 0x98, 0xa6, 0xb6, 0xb4, 0x22, 0xd7, 0x3b, 0x8c, 0x18, 0xb5, 0x39, 0x37, 0xfa, 0xf0, - 0xd1, 0x6d, 0x98, 0xa1, 0x61, 0x92, 0x08, 0x6c, 0x2e, 0x64, 0x37, 0x97, 0x5b, 0xdf, 0x7d, 0x4a, - 0xca, 0x8c, 0x8f, 0xf3, 0xa1, 0x2d, 0xa8, 0x1a, 0xb6, 0xed, 0x04, 0x06, 0xf3, 0xf8, 0x2c, 0xcc, - 0xb9, 0x3c, 0x52, 0x4c, 0x33, 0xa2, 0x67, 0xb2, 0xe2, 0x12, 0xd0, 0x6b, 0x30, 0x4d, 0xa7, 0x04, - 0xee, 0xc3, 0xcf, 0x8f, 0x1d, 0x14, 0x1a, 0xa3, 0x47, 0x6f, 0xc2, 0xec, 0x63, 0xcb, 0x36, 0x9d, - 0xc7, 0x3e, 0xf7, 0xa7, 0x92, 0x09, 0x7f, 0x89, 0x65, 0xa5, 0x98, 0x05, 0x4f, 0xe3, 0x26, 0x54, - 0x63, 0xed, 0x3b, 0x8c, 0xfd, 0x36, 0xde, 0x82, 0x7a, 0xb2, 0x4d, 0x87, 0xb2, 0xff, 0x21, 0x2c, - 0x69, 0x43, 0x3b, 0xaa, 0x9a, 0x58, 0x0e, 0xbd, 0x0c, 0x33, 0xdc, 0x1a, 0x98, 0x31, 0x9e, 0x1a, - 0xa5, 0x56, 0x8d, 0xd3, 0xc6, 0x57, 0x36, 0x7b, 0x86, 0x6d, 0xf6, 0xb1, 0xc7, 0x4b, 0x14, 0x2b, - 0x9b, 0x77, 0x58, 0xaa, 0xfa, 0x26, 0x1c, 0x4f, 0x14, 0xcb, 0x17, 0x56, 0x4f, 0xc3, 0xbc, 0xeb, - 0x98, 0xba, 0xcf, 0x92, 0x45, 0x2c, 0x59, 0x21, 0xb6, 0x23, 0x68, 0x5b, 0x26, 0x61, 0xef, 0x04, - 0x8e, 0x9b, 0xae, 0xf6, 0x64, 0xec, 0xab, 0xb0, 0x9c, 0x64, 0x67, 0xc5, 0xab, 0x6f, 0xc3, 0x8a, - 0x86, 0x07, 0xce, 0x3e, 0x3e, 0xaa, 0xe8, 0x06, 0xac, 0xa6, 0x05, 0x70, 0xe1, 0xef, 0xc3, 0x4a, - 0x94, 0xda, 0x09, 0x8c, 0x60, 0xe8, 0x1f, 0x4a, 0x38, 0x5f, 0x75, 0x3e, 0x74, 0x7c, 0xd6, 0x91, - 0x65, 0x4d, 0x7c, 0xaa, 0x2b, 0x30, 0xdd, 0x76, 0xcc, 0x56, 0x1b, 0xcd, 0x43, 0xc1, 0x72, 0x39, - 0x73, 0xc1, 0x72, 0xd5, 0x6e, 0xbc, 0xcc, 0x4d, 0x16, 0x75, 0xb2, 0xa2, 0x93, 0xa4, 0xe8, 0x06, - 0xcc, 0x1b, 0xa6, 0x69, 0x11, 0x43, 0x32, 0xfa, 0xba, 0xe5, 0x8a, 0xa0, 0x79, 0x31, 0xd1, 0xf5, - 0xad, 0xb6, 0x56, 0x8b, 0x08, 0x5b, 0xae, 0xaf, 0xde, 0x81, 0x4a, 0x14, 0xa0, 0xbf, 0x12, 0xad, - 0x20, 0x0b, 0xe3, 0x63, 0xb9, 0x70, 0x79, 0xb9, 0x99, 0x9a, 0x24, 0x79, 0x35, 0x5f, 0x01, 0x08, - 0x9d, 0xaa, 0x08, 0x0f, 0x8f, 0x67, 0x8a, 0xd4, 0x62, 0x84, 0xea, 0xbf, 0x96, 0xe2, 0x4e, 0x36, - 0xd6, 0x64, 0x33, 0x6c, 0xb2, 0x29, 0x39, 0xdd, 0xc2, 0x21, 0x9d, 0xee, 0x8b, 0x30, 0xed, 0x07, - 0x46, 0x80, 0x79, 0x3c, 0x7e, 0x32, 0x9b, 0x91, 0x14, 0x8c, 0x35, 0x46, 0x89, 0x4e, 0x03, 0x74, - 0x3d, 0x6c, 0x04, 0xd8, 0xd4, 0x0d, 0x36, 0x2b, 0x14, 0xb5, 0x0a, 0x4f, 0x69, 0x06, 0xc4, 0x8b, - 0x88, 0x15, 0x44, 0xc6, 0x44, 0x98, 0xd3, 0x8d, 0xd1, 0x5a, 0x22, 0xf4, 0x5e, 0x33, 0x63, 0xbd, - 0x17, 0x67, 0xe5, 0xde, 0x2b, 0xf2, 0xc4, 0xb3, 0xa3, 0x3c, 0x31, 0x63, 0x9a, 0xc4, 0x13, 0x97, - 0x47, 0x79, 0x62, 0x2e, 0x66, 0xb4, 0x27, 0xce, 0x70, 0x24, 0x95, 0x2c, 0x47, 0xf2, 0x59, 0xba, - 0xce, 0x3f, 0x2d, 0xc0, 0x6a, 0x7a, 0x3c, 0x73, 0x3f, 0xf6, 0x32, 0xcc, 0xf8, 0x34, 0x65, 0xb4, - 0xff, 0xe4, 0x5c, 0x9c, 0x16, 0xdd, 0x81, 0x92, 0x65, 0xef, 0x3a, 0x7c, 0xe0, 0x5d, 0x19, 0xc9, - 0xc3, 0x4b, 0xba, 0xd2, 0xb2, 0x77, 0x1d, 0xa6, 0x41, 0xca, 0x8b, 0xee, 0xc3, 0xb1, 0x70, 0x65, - 0xed, 0xeb, 0x4c, 0x30, 0x16, 0x71, 0x9e, 0x64, 0xa5, 0x61, 0x54, 0xc5, 0x25, 0xa2, 0x88, 0xaf, - 0xc3, 0xd9, 0x48, 0x8c, 0x43, 0xc8, 0xfd, 0xc0, 0x18, 0xb8, 0xc2, 0x62, 0xc3, 0x84, 0xc6, 0x6b, - 0x50, 0x09, 0x8b, 0x3f, 0x94, 0xee, 0x5a, 0xb0, 0x94, 0x18, 0x23, 0x6c, 0x21, 0x19, 0x0e, 0x2a, - 0x65, 0xd2, 0x41, 0xa5, 0xfe, 0x44, 0x89, 0x0f, 0xf4, 0xbb, 0x56, 0x3f, 0xc0, 0x5e, 0x6a, 0xa0, - 0xbf, 0x2a, 0xe4, 0xb2, 0x51, 0x7e, 0x6e, 0x84, 0x5c, 0xb6, 0x4e, 0xe3, 0x23, 0xf6, 0x3d, 0x98, - 0xa7, 0x26, 0xae, 0xfb, 0xb8, 0x4f, 0x63, 0x25, 0xae, 0xc7, 0xab, 0xd9, 0x02, 0x58, 0xe9, 0x6c, - 0x88, 0x74, 0x38, 0x07, 0xeb, 0x9b, 0x5a, 0x3f, 0x9e, 0xd6, 0xb8, 0x0d, 0x28, 0x4d, 0x74, 0x28, - 0x0d, 0x3e, 0x20, 0xfe, 0xd2, 0x0f, 0x32, 0x67, 0xee, 0x5d, 0x5a, 0x8d, 0xd1, 0x96, 0xc7, 0xaa, - 0xaa, 0x71, 0x5a, 0xf5, 0x9f, 0x8b, 0x00, 0x51, 0xe6, 0xe7, 0xdc, 0x51, 0xde, 0x0a, 0x1d, 0x16, - 0x8b, 0x38, 0xd5, 0x6c, 0x91, 0x99, 0xae, 0xaa, 0x25, 0xbb, 0x2a, 0x16, 0x7b, 0x3e, 0x97, 0x23, - 0xe0, 0xd0, 0x4e, 0x6a, 0xf6, 0xf3, 0xe6, 0xa4, 0xee, 0xc2, 0x72, 0xd2, 0x4c, 0xb8, 0x87, 0x7a, - 0x01, 0xa6, 0xad, 0x00, 0x0f, 0xd8, 0xee, 0x70, 0x62, 0xc3, 0x22, 0x46, 0xce, 0x88, 0xd4, 0xb7, - 0x60, 0x59, 0xee, 0xab, 0xc3, 0x85, 0x2e, 0xea, 0xfd, 0x64, 0xec, 0x13, 0xb9, 0x4a, 0x6e, 0x1f, - 0x99, 0x5b, 0x3f, 0x49, 0x1e, 0x46, 0xa9, 0x7e, 0x5f, 0x81, 0xe3, 0x89, 0xac, 0x9c, 0x81, 0xff, - 0x95, 0xd4, 0x00, 0x66, 0xbe, 0xf5, 0xe5, 0x11, 0xa5, 0x7c, 0x8a, 0xa3, 0xf8, 0x4b, 0xd0, 0x90, - 0xbb, 0x47, 0x52, 0xed, 0xcd, 0xc4, 0x50, 0x3e, 0x3f, 0xb6, 0xd2, 0xe1, 0x78, 0x6e, 0xc3, 0xc9, - 0x4c, 0xc1, 0x69, 0x9d, 0x17, 0x27, 0xd4, 0xf9, 0x7f, 0x17, 0xe2, 0x3e, 0xbb, 0x19, 0x04, 0x9e, - 0xf5, 0x70, 0x18, 0xe0, 0x4f, 0x36, 0xa8, 0x5a, 0x0f, 0x47, 0x36, 0xf3, 0xb3, 0x2f, 0x64, 0x73, - 0x46, 0xa5, 0x67, 0x8e, 0xf1, 0x8e, 0x3c, 0xc6, 0x4b, 0x54, 0xd4, 0x8b, 0x63, 0x45, 0x8d, 0x1c, - 0xed, 0x9f, 0xe5, 0x20, 0xfe, 0x3b, 0x05, 0x16, 0x12, 0xbd, 0x82, 0x6e, 0x03, 0x18, 0x61, 0xd5, - 0xb9, 0x7d, 0x9c, 0x1b, 0xd7, 0x44, 0x2d, 0xc6, 0x43, 0xe6, 0x44, 0x16, 0x2f, 0x66, 0xcc, 0x89, - 0x19, 0xf1, 0x62, 0x18, 0x2e, 0xbe, 0x11, 0x2d, 0x76, 0xd9, 0x26, 0xa9, 0x3a, 0x72, 0xb1, 0xcb, - 0x78, 0x05, 0x8b, 0xfa, 0xab, 0x05, 0x58, 0xca, 0x92, 0x8e, 0x9e, 0x85, 0x62, 0xd7, 0x1d, 0xf2, - 0x96, 0x48, 0x47, 0x49, 0x6b, 0xee, 0x70, 0xc7, 0x37, 0x7a, 0x58, 0x23, 0x04, 0xe8, 0x2a, 0xcc, - 0x0c, 0xf0, 0xc0, 0xf1, 0x0e, 0x78, 0xbd, 0xa5, 0xed, 0x86, 0x07, 0x34, 0x87, 0x51, 0x73, 0x32, - 0x74, 0x3d, 0x0a, 0xab, 0x59, 0x7d, 0x57, 0xa5, 0xd5, 0x03, 0xcb, 0x62, 0x2c, 0x61, 0x2c, 0x7d, - 0x1d, 0x66, 0x5d, 0xcf, 0xe9, 0x62, 0xdf, 0xe7, 0xbb, 0x21, 0xab, 0x89, 0xb3, 0x2d, 0x92, 0xc5, - 0x79, 0x38, 0x21, 0xba, 0x05, 0x10, 0x05, 0x50, 0x7c, 0x66, 0x6a, 0xe4, 0xc6, 0x5b, 0xbe, 0x16, - 0xa3, 0x56, 0xbf, 0x57, 0x80, 0xe5, 0x6c, 0xcd, 0xa1, 0xcb, 0x71, 0xbd, 0x9c, 0xcc, 0x50, 0xb5, - 0xac, 0x9e, 0x57, 0x13, 0xea, 0x39, 0x93, 0xc1, 0x91, 0xa5, 0xa5, 0x9b, 0x49, 0x2d, 0x9d, 0xcd, - 0x60, 0xcc, 0x56, 0xd6, 0xcd, 0xa4, 0xb2, 0xb2, 0x58, 0xb3, 0x75, 0xd6, 0xcc, 0xd0, 0xd9, 0xf9, - 0xac, 0x36, 0xe6, 0xab, 0xee, 0xaf, 0x14, 0x98, 0x8b, 0xd7, 0x4b, 0x0e, 0x59, 0x95, 0x44, 0xc8, - 0x8a, 0x36, 0x61, 0xd1, 0x64, 0x3b, 0xb7, 0xba, 0x65, 0x07, 0xd8, 0xdb, 0x35, 0xba, 0x22, 0x2a, - 0x3c, 0x9f, 0x61, 0x17, 0x2d, 0x41, 0xc3, 0x2a, 0x5e, 0xe7, 0xbc, 0x61, 0x32, 0x69, 0x41, 0x28, - 0x47, 0x78, 0xad, 0x09, 0x04, 0xc5, 0x98, 0xd4, 0x7f, 0x52, 0xe0, 0x58, 0x86, 0x82, 0xc7, 0x34, - 0x64, 0x27, 0xbf, 0x21, 0x17, 0xf2, 0xbb, 0x6e, 0x6c, 0x7b, 0xde, 0xc9, 0x68, 0xcf, 0xe4, 0xf2, - 0xe2, 0xcd, 0xfa, 0xa9, 0x02, 0xc7, 0x33, 0xa9, 0x32, 0xb7, 0x57, 0xaf, 0x43, 0xd9, 0x7b, 0xa2, - 0x3f, 0x3c, 0x08, 0xb0, 0x9f, 0x35, 0xb0, 0x77, 0x62, 0x67, 0x28, 0xb3, 0xde, 0x93, 0x3b, 0x84, - 0x0e, 0xbd, 0x0c, 0x15, 0xef, 0x89, 0x8e, 0x3d, 0xcf, 0xf1, 0x84, 0x2f, 0xca, 0x65, 0x2a, 0x7b, - 0x4f, 0x36, 0x28, 0x21, 0x29, 0x29, 0x10, 0x25, 0x95, 0xc6, 0x94, 0x14, 0x44, 0x25, 0x05, 0x61, - 0x49, 0xd3, 0x63, 0x4a, 0x0a, 0x78, 0x49, 0xea, 0xef, 0x17, 0xe0, 0xd4, 0x28, 0x75, 0x7d, 0x62, - 0x8a, 0xd8, 0x00, 0xe4, 0x3d, 0xd1, 0x5d, 0xa3, 0xfb, 0x08, 0x07, 0xbe, 0x6e, 0x7a, 0x8e, 0xeb, - 0x62, 0x73, 0x9c, 0x46, 0xea, 0xde, 0x93, 0x36, 0xe3, 0x58, 0x67, 0x0c, 0x47, 0xd2, 0xcc, 0x06, - 0xa0, 0x20, 0x5d, 0xf4, 0x18, 0x15, 0xd5, 0x83, 0x44, 0xd1, 0xea, 0x87, 0x30, 0x17, 0xf7, 0x10, - 0x63, 0x6c, 0xff, 0x0d, 0xa8, 0x71, 0x0f, 0xa2, 0x77, 0x9d, 0xa1, 0x1d, 0x8c, 0x53, 0xd4, 0x1c, - 0xa7, 0x5e, 0x23, 0xc4, 0xea, 0xd7, 0xc2, 0xe1, 0xf6, 0xa9, 0x15, 0xf9, 0x4b, 0x05, 0xa8, 0xb4, - 0x06, 0x46, 0x0f, 0x77, 0x5c, 0xdc, 0x25, 0x33, 0xbd, 0x45, 0x3e, 0x78, 0xbf, 0xb3, 0x0f, 0xf4, - 0x8e, 0x1c, 0xb5, 0xb0, 0x38, 0xf5, 0x59, 0xe9, 0x1c, 0x51, 0x48, 0x18, 0xb3, 0x30, 0xb9, 0x06, - 0x4b, 0x43, 0x1f, 0x7b, 0xba, 0xef, 0xe2, 0xae, 0xb5, 0x6b, 0x61, 0x53, 0x67, 0xc5, 0x21, 0x5a, - 0x1c, 0x22, 0x79, 0x1d, 0x91, 0x45, 0x65, 0x66, 0x2d, 0x65, 0x8e, 0x65, 0x2e, 0x65, 0x3e, 0x6e, - 0x28, 0x73, 0x1d, 0xca, 0x5f, 0xc0, 0x07, 0x6c, 0xb1, 0x3f, 0x21, 0x9f, 0xfa, 0xad, 0x12, 0xac, - 0xe4, 0x1c, 0x03, 0xd1, 0x95, 0xa2, 0x3b, 0xd4, 0x5d, 0xec, 0x59, 0x8e, 0x29, 0x7a, 0xad, 0xeb, - 0x0e, 0xdb, 0x34, 0x01, 0x9d, 0x04, 0xf2, 0xa1, 0x7f, 0x6d, 0xe8, 0xf0, 0x60, 0xb4, 0xa8, 0x95, - 0xbb, 0xee, 0xf0, 0x8b, 0xe4, 0x5b, 0xf0, 0xfa, 0x7b, 0x86, 0x87, 0x99, 0xff, 0x60, 0xbc, 0x1d, - 0x9a, 0x80, 0x5e, 0x84, 0xe3, 0x6c, 0x6e, 0xd4, 0xfb, 0xd6, 0xc0, 0x22, 0x5e, 0x36, 0x36, 0x34, - 0x8a, 0x1a, 0x62, 0x99, 0xf7, 0x49, 0x5e, 0xcb, 0x66, 0x83, 0x41, 0x85, 0x9a, 0xe3, 0x0c, 0x74, - 0xbf, 0xeb, 0x78, 0x58, 0x37, 0xcc, 0x0f, 0xe9, 0x38, 0x28, 0x6a, 0x55, 0xc7, 0x19, 0x74, 0x48, - 0x5a, 0xd3, 0xfc, 0x10, 0x9d, 0x85, 0x6a, 0xd7, 0x1d, 0xfa, 0x38, 0xd0, 0xc9, 0x1f, 0xba, 0x59, - 0x57, 0xd1, 0x80, 0x25, 0xad, 0xb9, 0x43, 0x3f, 0x46, 0x30, 0x20, 0xcb, 0xb3, 0xd9, 0x38, 0xc1, - 0x03, 0x3c, 0xa0, 0xa7, 0xdd, 0x7b, 0xc3, 0x1e, 0x76, 0x8d, 0x1e, 0x66, 0x55, 0x13, 0x3b, 0x6e, - 0xd2, 0x69, 0xf7, 0x3b, 0x9c, 0x84, 0x56, 0x50, 0x9b, 0xdf, 0x8b, 0x7f, 0xfa, 0xe8, 0x5d, 0x98, - 0x1d, 0xda, 0xd4, 0x00, 0x56, 0x2b, 0x94, 0xf7, 0xda, 0x04, 0x87, 0x6e, 0x57, 0x76, 0x18, 0x0b, - 0x3f, 0x03, 0xe4, 0x02, 0xd0, 0x2d, 0x68, 0x70, 0x45, 0xf9, 0x8f, 0x0d, 0x37, 0xa9, 0x2d, 0xa0, - 0x2a, 0x58, 0x66, 0x14, 0x9d, 0xc7, 0x86, 0x1b, 0xd7, 0x58, 0xe3, 0x16, 0xcc, 0xc5, 0x85, 0x1e, - 0xca, 0x96, 0xee, 0x40, 0x4d, 0x6a, 0x24, 0xe9, 0x6d, 0xaa, 0x14, 0xdf, 0xfa, 0xba, 0x18, 0x5b, - 0x65, 0x92, 0xd0, 0xb1, 0xbe, 0x4e, 0x31, 0x0a, 0xb4, 0x66, 0x54, 0x4e, 0x49, 0x63, 0x1f, 0xaa, - 0x01, 0x35, 0x09, 0x16, 0x40, 0x5c, 0x32, 0x3d, 0xff, 0xe7, 0x2e, 0x99, 0xfc, 0x26, 0x69, 0x9e, - 0xd3, 0x17, 0x35, 0xa0, 0xbf, 0x49, 0x1a, 0x3d, 0x80, 0x66, 0xc7, 0x69, 0xf4, 0x37, 0x2d, 0x02, - 0xef, 0x73, 0x3c, 0x50, 0x45, 0x63, 0x1f, 0xea, 0x6f, 0x29, 0x00, 0x6b, 0x86, 0x6b, 0x3c, 0xb4, - 0xfa, 0x56, 0x70, 0x80, 0x2e, 0x42, 0xdd, 0x30, 0x4d, 0xbd, 0x2b, 0x52, 0x2c, 0x2c, 0x00, 0x5a, - 0x0b, 0x86, 0x69, 0xae, 0xc5, 0x92, 0xd1, 0xf3, 0xb0, 0x48, 0x1c, 0xaa, 0x4c, 0xcb, 0x10, 0x5b, - 0x75, 0x92, 0x21, 0x11, 0xdf, 0x80, 0x55, 0x22, 0xd7, 0x18, 0x3c, 0xb4, 0xb0, 0x1d, 0xc8, 0x3c, - 0x0c, 0xca, 0xb5, 0x6c, 0x98, 0x66, 0x93, 0x65, 0xc7, 0x39, 0xd5, 0xbf, 0x9c, 0x81, 0xd3, 0x72, - 0x8f, 0x27, 0x91, 0x1a, 0xb7, 0x60, 0x2e, 0x51, 0xdf, 0x14, 0xc6, 0x21, 0x6a, 0xa1, 0x26, 0xd1, - 0x26, 0xb0, 0x08, 0x85, 0x14, 0x16, 0x21, 0x13, 0x05, 0x52, 0xfc, 0x84, 0x50, 0x20, 0xa5, 0x8f, - 0x89, 0x02, 0x99, 0x3e, 0x2a, 0x0a, 0x64, 0x6e, 0x62, 0x14, 0xc8, 0xb3, 0xd4, 0xf5, 0x8a, 0x12, - 0x69, 0x38, 0xc0, 0x7c, 0x42, 0x2d, 0x94, 0x6e, 0x0b, 0xd4, 0x60, 0x02, 0x2d, 0x32, 0x7b, 0x18, - 0xb4, 0x48, 0x39, 0x17, 0x2d, 0x72, 0x0e, 0xe6, 0x6c, 0x47, 0xb7, 0xf1, 0x63, 0x9d, 0x74, 0x8b, - 0xbf, 0x5a, 0x65, 0x7d, 0x64, 0x3b, 0x9b, 0xf8, 0x71, 0x9b, 0xa4, 0xa0, 0xf3, 0x30, 0x37, 0x30, - 0xfc, 0x47, 0xd8, 0xa4, 0xb0, 0x0d, 0x7f, 0xb5, 0x46, 0xed, 0xa9, 0xca, 0xd2, 0xda, 0x24, 0x09, - 0x3d, 0x03, 0x61, 0x3d, 0x38, 0xd1, 0x3c, 0x25, 0xaa, 0x89, 0x54, 0x46, 0x16, 0x43, 0x9e, 0x2c, - 0x1c, 0x11, 0x79, 0x52, 0x3f, 0x0c, 0xf2, 0xe4, 0x32, 0xd4, 0xc5, 0x6f, 0x01, 0x3d, 0x61, 0x27, - 0x09, 0x14, 0x75, 0xb2, 0x20, 0xf2, 0x04, 0xbc, 0x24, 0x0f, 0xa8, 0x02, 0x23, 0x81, 0x2a, 0x7f, - 0xa0, 0xf0, 0x35, 0x6d, 0x38, 0x80, 0xf8, 0x09, 0xb9, 0x04, 0x6e, 0x50, 0x8e, 0x02, 0x6e, 0x40, - 0xdb, 0xb9, 0xf0, 0x8f, 0x8b, 0xf9, 0x92, 0xc6, 0x01, 0x40, 0xd4, 0x07, 0xe1, 0x72, 0xf3, 0x93, - 0x80, 0xb1, 0xa9, 0xff, 0xae, 0xc0, 0x69, 0x2e, 0x2f, 0x07, 0xeb, 0x95, 0x61, 0xe5, 0x4a, 0x8e, - 0x95, 0x77, 0x3d, 0x6c, 0x62, 0x3b, 0xb0, 0x8c, 0x3e, 0x0d, 0x60, 0xc4, 0x09, 0x72, 0x94, 0x4c, - 0x63, 0xa8, 0xf3, 0x30, 0xc7, 0xe0, 0x9b, 0x7c, 0xe5, 0xc9, 0x50, 0x9a, 0x55, 0x8a, 0xe0, 0xe4, - 0x8b, 0xcb, 0xad, 0x2c, 0xcf, 0x52, 0xca, 0xdd, 0xb2, 0x18, 0xeb, 0x60, 0x54, 0x07, 0x56, 0x72, - 0xce, 0xf2, 0x33, 0xbb, 0x49, 0x49, 0x77, 0xd3, 0x48, 0x25, 0xa5, 0xbb, 0xe9, 0x5b, 0x0a, 0x9c, - 0x4d, 0xad, 0x80, 0x3f, 0x7b, 0xcd, 0xaa, 0x7f, 0xa4, 0x84, 0xf6, 0x93, 0x34, 0xf9, 0xb5, 0xb4, - 0xc9, 0x3f, 0x33, 0x6a, 0x41, 0x9f, 0x69, 0xf4, 0xef, 0xe5, 0x1a, 0xfd, 0xf3, 0x23, 0x37, 0x07, - 0xc6, 0xe9, 0xf3, 0x5f, 0x14, 0x38, 0x91, 0x5b, 0x81, 0x44, 0x3c, 0xa8, 0x24, 0xe3, 0x41, 0x1e, - 0x4b, 0x46, 0xd1, 0x3f, 0x8b, 0x25, 0x69, 0x80, 0xcf, 0x83, 0x36, 0x7d, 0x60, 0x3c, 0xb1, 0x06, - 0xc3, 0x01, 0x0f, 0x26, 0x89, 0xb8, 0x07, 0x2c, 0xe5, 0x28, 0xd1, 0xe4, 0x55, 0x58, 0x62, 0x8e, - 0x9e, 0x06, 0x34, 0x11, 0x07, 0x0b, 0x2a, 0x17, 0x59, 0x1e, 0x89, 0x6d, 0x38, 0x83, 0xda, 0x84, - 0xc5, 0xb0, 0x59, 0x23, 0xb1, 0x4c, 0x31, 0x6c, 0x52, 0x41, 0xc6, 0x26, 0xd9, 0x30, 0xb3, 0x8e, - 0xf7, 0xad, 0x2e, 0xfe, 0x44, 0x60, 0xd4, 0xe7, 0xa0, 0xea, 0x62, 0x6f, 0x60, 0xf9, 0x7e, 0x38, - 0xab, 0x57, 0xb4, 0x78, 0x92, 0x7a, 0x16, 0x2a, 0x6b, 0xeb, 0x2d, 0x5e, 0x64, 0x46, 0x55, 0xd5, - 0xff, 0x98, 0x81, 0x85, 0xa4, 0x8d, 0xdd, 0x4c, 0x61, 0xa5, 0x4e, 0x67, 0xee, 0xb3, 0x65, 0x6c, - 0x30, 0x3f, 0x2f, 0x96, 0x5e, 0x85, 0x34, 0x90, 0x20, 0x5c, 0x5e, 0x89, 0x15, 0xd9, 0x2a, 0xcc, - 0x76, 0x9d, 0xc1, 0xc0, 0xb0, 0x4d, 0x01, 0x86, 0xe7, 0x9f, 0xa4, 0xa6, 0x86, 0xd7, 0x63, 0x5b, - 0xcb, 0x15, 0x8d, 0xfe, 0x26, 0x26, 0x40, 0x9c, 0xa1, 0x65, 0x53, 0xb4, 0x15, 0xed, 0xa5, 0x8a, - 0x06, 0x3c, 0x69, 0xdd, 0xf2, 0xd0, 0x05, 0x28, 0x61, 0x7b, 0x5f, 0x9c, 0x39, 0x49, 0x5b, 0x9c, - 0x62, 0x4d, 0xa4, 0x51, 0x0a, 0x74, 0x11, 0x66, 0x06, 0xc4, 0xac, 0xc4, 0x89, 0xfc, 0x62, 0x0a, - 0x34, 0xae, 0x71, 0x02, 0xf4, 0x02, 0xcc, 0x9a, 0x54, 0x7b, 0x62, 0x11, 0x80, 0x24, 0xdc, 0x16, - 0xcd, 0xd2, 0x04, 0x09, 0x7a, 0x3b, 0xdc, 0x5f, 0xaf, 0xa4, 0x0f, 0xbe, 0x12, 0x6a, 0xce, 0xdc, - 0x5a, 0xdf, 0x94, 0x17, 0xa9, 0x90, 0xde, 0xa5, 0x4f, 0x4a, 0x19, 0xbd, 0x54, 0x3d, 0x01, 0xe5, - 0xbe, 0xd3, 0x63, 0xd6, 0x53, 0x65, 0x37, 0x29, 0xfa, 0x4e, 0x8f, 0x1a, 0xcf, 0x12, 0x4c, 0xfb, - 0x81, 0x69, 0xd9, 0x34, 0x96, 0x2a, 0x6b, 0xec, 0x83, 0x0c, 0x52, 0xfa, 0x43, 0x77, 0xec, 0x2e, - 0x5e, 0xad, 0xd1, 0xac, 0x0a, 0x4d, 0xd9, 0xb2, 0xbb, 0x74, 0x4d, 0x19, 0x04, 0x07, 0xab, 0xf3, - 0x34, 0x9d, 0xfc, 0x8c, 0xb6, 0xb9, 0x17, 0x72, 0xb6, 0xb9, 0x13, 0x15, 0xce, 0xd8, 0xe6, 0xae, - 0xe7, 0xce, 0x19, 0x49, 0x5e, 0xc1, 0x42, 0xe2, 0xc8, 0xb5, 0xf5, 0x96, 0x2e, 0xba, 0x66, 0x31, - 0x8d, 0x29, 0x0f, 0xcd, 0x5e, 0x83, 0xf0, 0xe7, 0x67, 0x7a, 0xca, 0xf0, 0x3d, 0x05, 0x96, 0xd7, - 0xe8, 0x19, 0x6b, 0xcc, 0x37, 0x1e, 0x06, 0x9e, 0xf4, 0x52, 0x88, 0x19, 0xcb, 0x00, 0xfe, 0x24, - 0x35, 0x25, 0x20, 0x63, 0x6b, 0x30, 0x2f, 0xc4, 0x72, 0xe6, 0xe2, 0x04, 0x80, 0xb3, 0x9a, 0x1f, - 0xff, 0x54, 0xdf, 0x80, 0x95, 0x54, 0xcd, 0xf9, 0x49, 0x57, 0xf2, 0xf2, 0x01, 0xab, 0x78, 0xfc, - 0xf2, 0x81, 0x7a, 0x0b, 0x8e, 0x77, 0x02, 0xc3, 0x0b, 0x52, 0xcd, 0x9e, 0x80, 0x97, 0x42, 0xc9, - 0x64, 0x5e, 0x8e, 0xf6, 0xea, 0xc0, 0x52, 0x27, 0x70, 0xdc, 0x23, 0x08, 0x25, 0x7e, 0x87, 0xb4, - 0xdc, 0x19, 0x8a, 0x79, 0x46, 0x7c, 0xaa, 0x2b, 0x0c, 0xf8, 0x96, 0x2e, 0xed, 0x75, 0x58, 0x66, - 0xb8, 0xb3, 0xa3, 0x34, 0xe2, 0x84, 0x40, 0xbd, 0xa5, 0xe5, 0xde, 0x83, 0x63, 0xd2, 0xde, 0x3b, - 0xc7, 0x69, 0x5c, 0x93, 0x71, 0x1a, 0xf9, 0xc7, 0x1c, 0x21, 0x4c, 0xe3, 0xd7, 0x0b, 0x31, 0x3f, - 0x9e, 0x73, 0x58, 0xfb, 0x8a, 0x8c, 0xd2, 0x38, 0x9b, 0x2f, 0x55, 0x02, 0x69, 0xa4, 0xad, 0xb3, - 0x98, 0x61, 0x9d, 0x3b, 0xa9, 0x93, 0xe0, 0x52, 0x1a, 0x65, 0x93, 0xa8, 0xe1, 0xa7, 0x72, 0x06, - 0x7c, 0x9f, 0x21, 0x39, 0xc2, 0xa2, 0xc3, 0xe3, 0xdf, 0x97, 0x12, 0xc7, 0xbf, 0x27, 0x47, 0xd4, - 0x34, 0x3c, 0xf8, 0xfd, 0x6e, 0x09, 0x2a, 0x61, 0x5e, 0x4a, 0xc3, 0x69, 0x55, 0x15, 0x32, 0x54, - 0x15, 0x9f, 0x5f, 0x8b, 0x47, 0x9c, 0x5f, 0x4b, 0x13, 0xcc, 0xaf, 0x27, 0xa1, 0x42, 0x7f, 0x50, - 0xf0, 0x3d, 0x9b, 0x2f, 0xcb, 0x34, 0x41, 0xc3, 0xbb, 0x91, 0x89, 0xcd, 0x4c, 0x68, 0x62, 0x09, - 0xd4, 0xc8, 0x6c, 0x12, 0x35, 0x72, 0x33, 0x9c, 0xfb, 0xca, 0xe9, 0x53, 0x9a, 0x50, 0x62, 0xe6, - 0xac, 0x97, 0xd8, 0x9a, 0xad, 0xa4, 0xb7, 0x66, 0x23, 0xfe, 0xb1, 0xf3, 0x1d, 0x6b, 0xb2, 0x65, - 0xb2, 0x45, 0xa5, 0x36, 0x4b, 0xbf, 0x5b, 0xe6, 0x67, 0xe9, 0xfa, 0xb7, 0x18, 0x4a, 0x24, 0x6e, - 0x82, 0xdc, 0x7d, 0xbe, 0x22, 0x1d, 0xd0, 0x29, 0x19, 0xd3, 0x58, 0xe8, 0x32, 0xe2, 0x87, 0x72, - 0x3b, 0xb0, 0x9c, 0x44, 0x97, 0x1d, 0xca, 0xfd, 0xe5, 0xc0, 0x5c, 0xbf, 0x13, 0x0f, 0x06, 0x73, - 0x30, 0x9d, 0x37, 0x53, 0xf0, 0x83, 0x89, 0x8d, 0xf7, 0x9a, 0x8c, 0x54, 0x3a, 0xb4, 0xc9, 0xa5, - 0x80, 0x4a, 0x34, 0x58, 0x31, 0x3c, 0x9e, 0xcd, 0xe2, 0xf6, 0x0a, 0x4f, 0x69, 0xd2, 0x45, 0xc3, - 0xae, 0x65, 0x5b, 0xfe, 0x1e, 0xcb, 0x9f, 0x61, 0x8b, 0x06, 0x91, 0xd4, 0xa4, 0x1b, 0x9a, 0xf8, - 0x89, 0x15, 0xe8, 0x5d, 0xc7, 0xc4, 0xd4, 0xa0, 0xa7, 0xb5, 0x32, 0x49, 0x58, 0x73, 0x4c, 0x1c, - 0x0d, 0xb5, 0xf2, 0x61, 0x87, 0x5a, 0x25, 0x31, 0xd4, 0x96, 0x61, 0xc6, 0xc3, 0x86, 0xef, 0xd8, - 0xdc, 0x24, 0xf9, 0x17, 0xe9, 0x88, 0x01, 0xf6, 0x7d, 0x52, 0x06, 0x8f, 0xcd, 0xf8, 0x67, 0x2c, - 0x8e, 0x9c, 0x1b, 0x11, 0x47, 0x8e, 0x40, 0x8c, 0x26, 0xe2, 0xc8, 0xda, 0x88, 0x38, 0x72, 0x22, - 0xc0, 0x68, 0x14, 0x31, 0xcf, 0x8f, 0x8b, 0x98, 0xe3, 0x21, 0xe7, 0x82, 0x1c, 0x72, 0xbe, 0x11, - 0x5f, 0xbc, 0xd6, 0xd3, 0xe7, 0xe7, 0xa3, 0x57, 0xad, 0xf1, 0xb1, 0xbd, 0xf8, 0xb9, 0x19, 0xdb, - 0x7f, 0xaf, 0xc0, 0x4a, 0x6a, 0x2c, 0xf2, 0xd1, 0xfd, 0x52, 0x02, 0xa5, 0x3a, 0x12, 0x1e, 0x2a, - 0x40, 0xaa, 0x4d, 0x09, 0xa4, 0x7a, 0x79, 0x14, 0x4b, 0x0e, 0x46, 0xf5, 0xe8, 0xb8, 0xd1, 0x6f, - 0x2a, 0x80, 0x32, 0x56, 0xee, 0x37, 0x45, 0x8c, 0x7f, 0x88, 0x3d, 0x36, 0x1e, 0xe6, 0xbf, 0x1d, - 0x85, 0xf9, 0x85, 0xc3, 0xec, 0x56, 0x84, 0x80, 0x96, 0x1f, 0x15, 0xe0, 0xec, 0x8e, 0x6b, 0x26, - 0x82, 0x4f, 0x4e, 0x35, 0xb9, 0xd3, 0xbb, 0x29, 0xa3, 0x71, 0x8e, 0xd8, 0x84, 0xe2, 0x51, 0x9a, - 0x80, 0xbe, 0x9a, 0x85, 0x97, 0x7a, 0x43, 0x3a, 0xd9, 0x1c, 0xdd, 0xc0, 0x31, 0xd0, 0xa9, 0x8f, - 0x6b, 0xc2, 0x2a, 0x9c, 0xcb, 0xaf, 0x00, 0x0f, 0x54, 0x7f, 0x1e, 0x16, 0x36, 0x9e, 0xe0, 0x6e, - 0xe7, 0xc0, 0xee, 0x1e, 0x42, 0xeb, 0x75, 0x28, 0x76, 0x07, 0x26, 0x3f, 0x53, 0x21, 0x3f, 0xe3, - 0xb1, 0x77, 0x51, 0x8e, 0xbd, 0x75, 0xa8, 0x47, 0x25, 0xf0, 0x01, 0xb4, 0x4c, 0x06, 0x90, 0x49, - 0x88, 0x89, 0xf0, 0x39, 0x8d, 0x7f, 0xf1, 0x74, 0xec, 0xb1, 0xfb, 0x2f, 0x2c, 0x1d, 0x7b, 0x9e, - 0xec, 0xd0, 0x8b, 0xb2, 0x43, 0x57, 0xbf, 0xad, 0x40, 0x95, 0x94, 0xf0, 0xb1, 0xea, 0xcf, 0x17, - 0xc0, 0xc5, 0x68, 0x01, 0x1c, 0xae, 0xa3, 0x4b, 0xf1, 0x75, 0x74, 0x54, 0xf3, 0x69, 0x9a, 0x9c, - 0xae, 0xf9, 0x4c, 0x98, 0x8e, 0x3d, 0x4f, 0x3d, 0x07, 0x73, 0xac, 0x6e, 0xbc, 0xe5, 0x75, 0x28, - 0x0e, 0xbd, 0xbe, 0xe8, 0xbf, 0xa1, 0xd7, 0x57, 0xbf, 0xa1, 0x40, 0xad, 0x19, 0x04, 0x46, 0x77, - 0xef, 0x10, 0x0d, 0x08, 0x2b, 0x57, 0x88, 0x57, 0x2e, 0xdd, 0x88, 0xa8, 0xba, 0xa5, 0x9c, 0xea, - 0x4e, 0x4b, 0xd5, 0x55, 0x61, 0x5e, 0xd4, 0x25, 0xb7, 0xc2, 0x9b, 0x80, 0xda, 0x8e, 0x17, 0xdc, - 0x75, 0xbc, 0xc7, 0x86, 0x67, 0x1e, 0x6e, 0xad, 0x8b, 0xa0, 0xc4, 0x5f, 0x30, 0x28, 0x5e, 0x98, - 0xd6, 0xe8, 0x6f, 0xf5, 0x39, 0x38, 0x26, 0xc9, 0xcb, 0x2d, 0xf8, 0x16, 0x54, 0xe9, 0x04, 0xcd, - 0x97, 0x41, 0xcf, 0xc7, 0xe1, 0x00, 0x63, 0x26, 0x72, 0x75, 0x1d, 0x16, 0x49, 0xa8, 0x46, 0xd3, - 0x43, 0xff, 0x72, 0x35, 0xb1, 0x52, 0x58, 0x49, 0x89, 0x48, 0xac, 0x12, 0x7e, 0xa2, 0xc0, 0x34, - 0x3b, 0xf9, 0x4f, 0x86, 0x4f, 0x27, 0xc9, 0x14, 0xe8, 0x3a, 0x7a, 0x60, 0xf4, 0xc2, 0xd7, 0x21, - 0x48, 0xc2, 0xb6, 0xd1, 0xa3, 0xe7, 0x40, 0x34, 0xd3, 0xb4, 0x7a, 0xd8, 0x0f, 0xc4, 0xb9, 0x62, - 0x95, 0xa4, 0xad, 0xb3, 0x24, 0xa2, 0x18, 0x7a, 0xfc, 0x5a, 0xa2, 0xa7, 0xac, 0xf4, 0x37, 0xba, - 0xc0, 0xae, 0x4e, 0x8e, 0x3e, 0x4c, 0xa3, 0x57, 0x2a, 0x1b, 0x50, 0x4e, 0x9c, 0x82, 0x85, 0xdf, - 0xe8, 0x22, 0x94, 0xe8, 0xae, 0xf5, 0xec, 0x28, 0x2d, 0x51, 0x12, 0x62, 0x15, 0xae, 0x65, 0xdb, - 0xd8, 0xe4, 0x4f, 0x17, 0xf0, 0x2f, 0xf5, 0x6d, 0x40, 0x71, 0xe5, 0xf1, 0x0e, 0xba, 0x08, 0x33, - 0x54, 0xb7, 0x22, 0xbe, 0x5d, 0x4c, 0x89, 0xd6, 0x38, 0x81, 0xfa, 0x15, 0x40, 0xac, 0x2c, 0x29, - 0xa6, 0x3d, 0x4c, 0x07, 0x8e, 0x88, 0x6e, 0xff, 0x58, 0x81, 0x63, 0x92, 0x74, 0x5e, 0xbf, 0xe7, - 0x64, 0xf1, 0x19, 0xd5, 0xe3, 0xa2, 0xdf, 0x94, 0x66, 0xe6, 0x8b, 0xe9, 0x6a, 0xfc, 0x3f, 0xcd, - 0xca, 0xff, 0xa0, 0x00, 0x34, 0x87, 0xc1, 0x1e, 0xdf, 0x9e, 0x8d, 0x77, 0xa2, 0x92, 0xe8, 0xc4, - 0x06, 0x94, 0x5d, 0xc3, 0xf7, 0x1f, 0x3b, 0x9e, 0x58, 0x7a, 0x86, 0xdf, 0x74, 0x53, 0x75, 0xc8, - 0x9f, 0x80, 0xa8, 0x68, 0xf4, 0x37, 0x7a, 0x06, 0xe6, 0xd9, 0xb3, 0x25, 0xba, 0x61, 0x9a, 0x9e, - 0x80, 0x18, 0x56, 0xb4, 0x1a, 0x4b, 0x6d, 0xb2, 0x44, 0x42, 0x66, 0xd1, 0x33, 0x8c, 0xe0, 0x40, - 0x0f, 0x9c, 0x47, 0xd8, 0xe6, 0xcb, 0xc9, 0x9a, 0x48, 0xdd, 0x26, 0x89, 0xec, 0x90, 0xb2, 0x67, - 0xf9, 0x81, 0x27, 0xc8, 0xc4, 0x51, 0x2b, 0x4f, 0xa5, 0x64, 0xea, 0x1f, 0x2a, 0x50, 0x6f, 0x0f, - 0xfb, 0x7d, 0xa6, 0xdc, 0xa3, 0x74, 0xf2, 0x25, 0xde, 0x94, 0x42, 0xda, 0xe4, 0x23, 0x45, 0xf1, - 0x26, 0x7e, 0x22, 0x3b, 0x60, 0xd7, 0x60, 0x31, 0x56, 0x63, 0x6e, 0x38, 0x52, 0xd0, 0xaf, 0xc8, - 0x41, 0xbf, 0xda, 0x04, 0xc4, 0x36, 0x7d, 0x8e, 0xdc, 0x4a, 0xf5, 0x38, 0x1c, 0x93, 0x44, 0xf0, - 0xa9, 0xf8, 0x12, 0xd4, 0x38, 0xdc, 0x8d, 0x1b, 0xc4, 0x09, 0x28, 0x13, 0x97, 0xda, 0xb5, 0x4c, - 0x81, 0xab, 0x98, 0x75, 0x1d, 0x73, 0xcd, 0x32, 0x3d, 0xf5, 0x8b, 0x50, 0xe3, 0xf7, 0xe9, 0x39, - 0xed, 0x6d, 0x98, 0xe7, 0xa7, 0x8a, 0xba, 0x74, 0x01, 0xf5, 0x44, 0x06, 0xa6, 0x52, 0xa8, 0xc2, - 0x8e, 0x7f, 0xaa, 0x5f, 0x85, 0x06, 0x8b, 0x16, 0x24, 0xc1, 0xa2, 0x81, 0xb7, 0x41, 0x40, 0x9a, - 0x46, 0xc8, 0x97, 0x39, 0x6b, 0x5e, 0xfc, 0x53, 0x3d, 0x0d, 0x27, 0x33, 0xe5, 0xf3, 0xd6, 0xbb, - 0x50, 0x8f, 0x32, 0xd8, 0x2d, 0xc9, 0x10, 0x2c, 0xa2, 0xc4, 0xc0, 0x22, 0xcb, 0x61, 0xec, 0x5d, - 0x10, 0x33, 0x17, 0x0d, 0xaf, 0xa3, 0xc5, 0x58, 0x31, 0x6f, 0x31, 0x56, 0x92, 0x16, 0x63, 0xea, - 0x83, 0x50, 0x87, 0x7c, 0x49, 0xfc, 0x06, 0x5d, 0xb4, 0xb3, 0xb2, 0x85, 0x53, 0x3b, 0x95, 0xdd, - 0x3e, 0x46, 0xa4, 0xc5, 0xe8, 0xd5, 0x8b, 0x50, 0x93, 0xdd, 0x5b, 0xcc, 0x63, 0x29, 0xb2, 0xc7, - 0xfa, 0x05, 0x58, 0xd6, 0x24, 0x7c, 0xd8, 0x5d, 0x6c, 0x04, 0x43, 0x0f, 0xfb, 0xe8, 0x75, 0x68, - 0x64, 0xbc, 0x24, 0xa3, 0xf3, 0x35, 0x1a, 0x13, 0xb3, 0x92, 0x7a, 0x50, 0xe6, 0x01, 0x5b, 0xa1, - 0x3d, 0x07, 0x0b, 0x14, 0xbf, 0x16, 0xbb, 0xf7, 0xc9, 0x74, 0x44, 0x5f, 0x2d, 0xd9, 0x8c, 0x2e, - 0x79, 0x9a, 0xe1, 0x6b, 0x0c, 0xbc, 0xfc, 0xcc, 0xd3, 0xae, 0xb7, 0xa0, 0xbc, 0xcb, 0xeb, 0xc5, - 0x07, 0xa4, 0x9a, 0xa1, 0x8c, 0x44, 0x0b, 0xb4, 0x90, 0x47, 0xfd, 0x1f, 0x05, 0xe6, 0x13, 0x2e, - 0xf9, 0xc5, 0xc4, 0xc2, 0x29, 0xcb, 0x7a, 0x12, 0xcb, 0xa6, 0x1b, 0x92, 0x73, 0x7e, 0x5a, 0x82, - 0x2f, 0x8c, 0xbe, 0xd1, 0xb7, 0x01, 0xf5, 0x04, 0x38, 0x4f, 0x00, 0x73, 0x1b, 0xf9, 0xed, 0xd0, - 0x16, 0x64, 0xe4, 0x9e, 0x7f, 0x74, 0xf7, 0xbe, 0xc4, 0x27, 0xbd, 0xbb, 0x3e, 0xe1, 0xe7, 0x56, - 0xa1, 0x3e, 0x05, 0xd5, 0x9d, 0xbc, 0x27, 0x60, 0x4a, 0x02, 0xba, 0xf7, 0x2a, 0x2c, 0xdd, 0xb5, - 0xfa, 0xd8, 0x3f, 0xf0, 0x03, 0x3c, 0x68, 0x51, 0x5f, 0xbc, 0x6b, 0x61, 0x0f, 0x9d, 0x01, 0xa0, - 0xa6, 0xe0, 0x3a, 0x56, 0xf8, 0xec, 0x45, 0x2c, 0x45, 0xfd, 0xa1, 0x02, 0x0b, 0x11, 0xe3, 0x24, - 0xf8, 0xcc, 0x57, 0x60, 0x7a, 0xd7, 0x17, 0x1b, 0x9a, 0x89, 0x63, 0x9e, 0xac, 0x2a, 0x68, 0xa5, - 0x5d, 0xbf, 0x65, 0xa2, 0x57, 0x01, 0x86, 0x3e, 0x36, 0xf9, 0xc9, 0xea, 0x18, 0xc4, 0x6c, 0x85, - 0x90, 0xb2, 0xb3, 0xd9, 0x1b, 0x50, 0xb5, 0x6c, 0xc7, 0xc4, 0xf4, 0xd4, 0xdd, 0x1c, 0x87, 0x96, - 0x05, 0x46, 0xbb, 0xe3, 0x63, 0x53, 0xfd, 0xdd, 0xe8, 0xec, 0xfc, 0xf3, 0xdc, 0x42, 0xf5, 0x3b, - 0x22, 0x1a, 0x11, 0xdd, 0xce, 0x4d, 0xff, 0x1d, 0x58, 0x64, 0x93, 0xca, 0x6e, 0x58, 0x66, 0xe6, - 0x35, 0xa2, 0x44, 0xe3, 0xb4, 0xba, 0xc5, 0xe3, 0x50, 0xc1, 0x84, 0xda, 0x70, 0x3c, 0x5a, 0x1e, - 0xc4, 0xa5, 0x15, 0xc6, 0x4b, 0x5b, 0xea, 0xc6, 0xf6, 0xbf, 0x05, 0xa3, 0x7a, 0x0b, 0x8e, 0x27, - 0x6e, 0x0a, 0x4c, 0x7e, 0x08, 0xf2, 0x6e, 0x62, 0xcb, 0x32, 0x1a, 0xec, 0xd7, 0xe4, 0x0b, 0x6a, - 0xa3, 0xee, 0x74, 0xf0, 0xbb, 0x52, 0x3b, 0x70, 0x42, 0xda, 0x4f, 0x95, 0xea, 0x72, 0x23, 0x11, - 0xac, 0x9f, 0xcb, 0x97, 0x97, 0x88, 0xda, 0xff, 0x53, 0x81, 0xa5, 0x2c, 0x82, 0x23, 0x6e, 0xf3, - 0x7f, 0x90, 0x73, 0xb9, 0xf5, 0xa5, 0x71, 0x15, 0xfa, 0x54, 0x8e, 0x45, 0x36, 0xd9, 0xd5, 0xb8, - 0xf1, 0x7d, 0x52, 0x9c, 0xac, 0x4f, 0x7e, 0x52, 0x88, 0x1d, 0x65, 0x8d, 0xb8, 0xbe, 0xf6, 0x31, - 0xf6, 0x8f, 0xd7, 0x12, 0xb7, 0xd7, 0x9e, 0xcf, 0x64, 0x1c, 0x73, 0x79, 0x4d, 0xcb, 0xda, 0x8c, - 0xb9, 0x36, 0x4e, 0xd2, 0xe7, 0xf6, 0xee, 0xda, 0x6f, 0x14, 0x60, 0x5e, 0xee, 0x10, 0xf4, 0x76, - 0xc6, 0xd5, 0xb5, 0xb3, 0x63, 0x1a, 0x28, 0xdd, 0x5c, 0xe3, 0x57, 0xc5, 0x0a, 0x93, 0x5f, 0x15, - 0x2b, 0x4e, 0x76, 0x55, 0xec, 0x0e, 0xcc, 0x3f, 0xf6, 0xac, 0xc0, 0x78, 0xd8, 0xc7, 0x7a, 0xdf, - 0x38, 0xc0, 0x1e, 0x77, 0xec, 0x23, 0x5d, 0x51, 0x4d, 0xb0, 0xdc, 0x27, 0x1c, 0x74, 0x99, 0xfa, - 0xd8, 0x70, 0xf9, 0x6a, 0x57, 0x0a, 0xa0, 0x3b, 0x8f, 0x0d, 0x97, 0xf1, 0x50, 0x12, 0xf5, 0x1b, - 0x05, 0x38, 0x9e, 0x79, 0xc1, 0xe9, 0xe3, 0xab, 0xe8, 0x72, 0x5c, 0x45, 0x87, 0xb9, 0x35, 0x56, - 0x3c, 0xd4, 0xad, 0xb1, 0x56, 0x8e, 0xc2, 0xb2, 0xb0, 0x12, 0xa3, 0xf5, 0xa6, 0xfe, 0x99, 0x02, - 0x65, 0x51, 0xa9, 0xb1, 0x77, 0xb8, 0x56, 0x86, 0x84, 0x4c, 0xa7, 0x38, 0x7b, 0xdb, 0xb0, 0x1d, - 0xdd, 0xc7, 0x24, 0x82, 0x1d, 0x7b, 0x63, 0x66, 0x89, 0xf2, 0xad, 0x39, 0x1e, 0xde, 0x34, 0x6c, - 0xa7, 0xc3, 0x98, 0x50, 0x13, 0xea, 0x4c, 0x1e, 0x15, 0x45, 0x84, 0x8e, 0x9d, 0x28, 0xe7, 0x29, - 0x03, 0x11, 0x42, 0x84, 0xf9, 0xea, 0x5f, 0x2b, 0xb0, 0x90, 0xd0, 0xec, 0xcf, 0x5e, 0x23, 0x7e, - 0xa7, 0x08, 0xd5, 0x58, 0x2f, 0x8f, 0x69, 0xc0, 0x1a, 0x2c, 0x0a, 0xbc, 0x93, 0x8f, 0x83, 0xc9, - 0x6e, 0x2c, 0x2d, 0x70, 0x8e, 0x0e, 0x0e, 0x58, 0x1c, 0x75, 0x1b, 0x16, 0x8c, 0x7d, 0xc3, 0xea, - 0x53, 0x0b, 0x9a, 0x28, 0x44, 0x99, 0x0f, 0xe9, 0xc3, 0x48, 0x8c, 0xb5, 0x7b, 0xa2, 0x7b, 0x4b, - 0x40, 0x69, 0xa3, 0xeb, 0x63, 0xbe, 0x1f, 0x03, 0xd5, 0x8d, 0xbc, 0x3e, 0xe6, 0xfb, 0x61, 0x79, - 0xf4, 0x92, 0x01, 0xbd, 0x37, 0xe7, 0xf3, 0xc7, 0x56, 0xf2, 0xcb, 0x23, 0xb4, 0x77, 0x29, 0x29, - 0x51, 0xd8, 0xc0, 0xf8, 0xd0, 0xf1, 0xf4, 0x38, 0xff, 0xec, 0x18, 0x85, 0x51, 0x8e, 0x76, 0x28, - 0x44, 0xfd, 0x13, 0x05, 0x2a, 0xa1, 0x1f, 0x19, 0xd3, 0x43, 0x2d, 0x58, 0xa2, 0x37, 0x32, 0x92, - 0x1a, 0x1e, 0xd3, 0x49, 0x88, 0x30, 0x35, 0x65, 0x2d, 0x37, 0xa1, 0x4e, 0x45, 0xc5, 0x55, 0x3d, - 0xae, 0xa3, 0x7c, 0x51, 0x4d, 0x16, 0x50, 0xfe, 0x79, 0x01, 0x50, 0xda, 0x95, 0xfc, 0xcc, 0x18, - 0x59, 0xbc, 0xd3, 0x4a, 0x93, 0x77, 0xfa, 0x3d, 0x38, 0xd6, 0x75, 0x06, 0x03, 0x8b, 0xde, 0xe6, - 0x71, 0xbc, 0x83, 0xc9, 0xcc, 0x6d, 0x91, 0xf1, 0x30, 0x3d, 0x31, 0xf5, 0xbd, 0x05, 0x27, 0x34, - 0xec, 0xb8, 0xd8, 0x0e, 0x5d, 0xff, 0x7d, 0xa7, 0x77, 0x88, 0xf8, 0xf6, 0x14, 0x34, 0xb2, 0xf8, - 0xf9, 0xae, 0xc5, 0x10, 0x1a, 0x6b, 0x7b, 0xb8, 0xfb, 0x88, 0x2e, 0xbf, 0x8e, 0x82, 0x59, 0x6a, - 0x40, 0xb9, 0xef, 0x74, 0xd9, 0x4b, 0xb7, 0x7c, 0x63, 0x4f, 0x7c, 0x8f, 0x38, 0x53, 0x39, 0x0d, - 0x27, 0x33, 0x8b, 0xe5, 0xb5, 0x42, 0x50, 0xbf, 0x87, 0x83, 0x8d, 0x7d, 0x6c, 0x87, 0xe1, 0xb3, - 0xfa, 0xfd, 0x42, 0x2c, 0x50, 0xa7, 0x59, 0x87, 0xc0, 0x7a, 0xa1, 0x36, 0x44, 0x2b, 0x07, 0x1d, - 0x13, 0x6e, 0xf6, 0x8e, 0x24, 0x7b, 0x81, 0x35, 0xfb, 0xb0, 0x97, 0x16, 0x42, 0x9f, 0x8f, 0x8c, - 0x5e, 0xc8, 0x09, 0xd3, 0x12, 0x10, 0x80, 0x62, 0x12, 0x02, 0xf0, 0x2e, 0xa0, 0x78, 0x28, 0xce, - 0x77, 0x0d, 0x4a, 0x13, 0x3c, 0x0a, 0x54, 0x77, 0x93, 0xcf, 0x57, 0xe5, 0x3c, 0xed, 0x33, 0x7d, - 0xa4, 0xa7, 0x7d, 0xd4, 0x33, 0x70, 0x8a, 0x04, 0xd8, 0x0f, 0x70, 0xe0, 0x59, 0xdd, 0x75, 0xec, - 0x77, 0x3d, 0xcb, 0x0d, 0x9c, 0x10, 0x7e, 0xa4, 0xea, 0x70, 0x3a, 0x27, 0x9f, 0xab, 0xfb, 0x2d, - 0xa8, 0x9a, 0x51, 0x72, 0xd6, 0x3e, 0x53, 0x92, 0x57, 0x8b, 0x33, 0xa8, 0xef, 0x43, 0x3d, 0x49, - 0x90, 0xb9, 0x7f, 0x83, 0xa0, 0xb4, 0x87, 0xfb, 0xae, 0xb8, 0x7e, 0x45, 0x7e, 0x13, 0xad, 0xb3, - 0xb5, 0xcb, 0x23, 0x7c, 0x20, 0xce, 0x21, 0x2a, 0x34, 0xe5, 0x0b, 0xf8, 0x20, 0x6c, 0x9b, 0xf4, - 0xd6, 0x84, 0x67, 0x75, 0x93, 0x6d, 0xcb, 0xc8, 0x8f, 0xda, 0x46, 0xba, 0x6d, 0xc0, 0x92, 0x79, - 0xdb, 0x4e, 0xe7, 0xbe, 0x63, 0x41, 0x79, 0xc1, 0x75, 0x4c, 0xfe, 0x5b, 0xfd, 0xae, 0x02, 0x8b, - 0x29, 0x8a, 0x09, 0xcf, 0x96, 0x5e, 0x80, 0x59, 0x51, 0x6e, 0x21, 0x0d, 0xe9, 0x65, 0xb2, 0x34, - 0x41, 0x82, 0x5a, 0xb0, 0x18, 0x59, 0xb4, 0xe0, 0x2b, 0xa6, 0xfb, 0x22, 0xbe, 0x70, 0xa1, 0xd5, - 0xad, 0x77, 0x13, 0x29, 0x6a, 0x17, 0xea, 0x49, 0xaa, 0x49, 0xc6, 0xd4, 0xa1, 0xea, 0xab, 0xfe, - 0xad, 0x02, 0x33, 0x2c, 0x2d, 0xb3, 0xb3, 0xa5, 0xe9, 0xa0, 0x90, 0x9c, 0x0e, 0x5e, 0x83, 0x2a, - 0x93, 0xa3, 0x87, 0x97, 0xef, 0xe6, 0xe5, 0xed, 0x75, 0x26, 0x9a, 0x8e, 0x56, 0x18, 0x84, 0xbf, - 0x49, 0x33, 0x98, 0xbd, 0xd0, 0x95, 0x89, 0x00, 0x6e, 0x57, 0x69, 0x1a, 0x75, 0xb9, 0x24, 0x64, - 0xe6, 0x6b, 0x98, 0x31, 0xbe, 0x99, 0x6f, 0x6d, 0x2d, 0xd3, 0x97, 0x13, 0x53, 0x1b, 0xcc, 0xea, - 0x36, 0x7d, 0xda, 0x30, 0xbd, 0x31, 0x8c, 0x5e, 0x97, 0x41, 0x0a, 0xcf, 0xa4, 0x4e, 0xf8, 0x25, - 0xb6, 0xa1, 0xc7, 0x5e, 0x04, 0x67, 0x3c, 0xea, 0x07, 0x70, 0x22, 0x97, 0x06, 0xbd, 0x19, 0xbe, - 0x23, 0x6b, 0x7a, 0xd6, 0x3e, 0xdf, 0x58, 0x98, 0x97, 0xdf, 0xac, 0x58, 0xa3, 0x04, 0xeb, 0x34, - 0x5f, 0xbc, 0x30, 0xcb, 0xbe, 0x2e, 0x3d, 0x0b, 0x65, 0xf1, 0x5a, 0x3b, 0x9a, 0x85, 0xe2, 0xf6, - 0x5a, 0xbb, 0x3e, 0x45, 0x7e, 0xec, 0xac, 0xb7, 0xeb, 0x0a, 0x2a, 0x43, 0xa9, 0xb3, 0xb6, 0xdd, - 0xae, 0x17, 0x2e, 0x0d, 0xa0, 0x9e, 0x7c, 0xb0, 0x1c, 0xad, 0xc0, 0xb1, 0xb6, 0xb6, 0xd5, 0x6e, - 0xde, 0x6b, 0x6e, 0xb7, 0xb6, 0x36, 0xf5, 0xb6, 0xd6, 0x7a, 0xaf, 0xb9, 0xbd, 0x51, 0x9f, 0x42, - 0xe7, 0xe1, 0x74, 0x3c, 0xe3, 0x9d, 0xad, 0xce, 0xb6, 0xbe, 0xbd, 0xa5, 0xaf, 0x6d, 0x6d, 0x6e, - 0x37, 0x5b, 0x9b, 0x1b, 0x5a, 0x5d, 0x41, 0xa7, 0xe1, 0x44, 0x9c, 0xe4, 0x4e, 0x6b, 0xbd, 0xa5, - 0x6d, 0xac, 0x91, 0xdf, 0xcd, 0xfb, 0xf5, 0xc2, 0xa5, 0x37, 0xa1, 0x26, 0x5d, 0x37, 0x22, 0x55, - 0x6a, 0x6f, 0xad, 0xd7, 0xa7, 0x50, 0x0d, 0x2a, 0x71, 0x39, 0x65, 0x28, 0x6d, 0x6e, 0xad, 0x6f, - 0xd4, 0x0b, 0x08, 0x60, 0x66, 0xbb, 0xa9, 0xdd, 0xdb, 0xd8, 0xae, 0x17, 0x2f, 0xdd, 0x4a, 0xbe, - 0x99, 0x82, 0xd1, 0x22, 0xd4, 0x3a, 0xcd, 0xcd, 0xf5, 0x3b, 0x5b, 0x5f, 0xd6, 0xb5, 0x8d, 0xe6, - 0xfa, 0xfb, 0xf5, 0x29, 0xb4, 0x04, 0x75, 0x91, 0xb4, 0xb9, 0xb5, 0xcd, 0x52, 0x95, 0x4b, 0x8f, - 0x12, 0x6b, 0x56, 0x8c, 0x8e, 0xc3, 0x62, 0x58, 0xa4, 0xbe, 0xa6, 0x6d, 0x34, 0xb7, 0x37, 0x48, - 0x4d, 0xa4, 0x64, 0x6d, 0x67, 0x73, 0xb3, 0xb5, 0x79, 0xaf, 0xae, 0x10, 0xa9, 0x51, 0xf2, 0xc6, - 0x97, 0x5b, 0x84, 0xb8, 0x20, 0x13, 0xef, 0x6c, 0x7e, 0x61, 0x73, 0xeb, 0x4b, 0x9b, 0xf5, 0xe2, - 0xa5, 0x5f, 0x8e, 0x63, 0x5a, 0xa2, 0x79, 0xe5, 0x24, 0xac, 0xa4, 0x4a, 0xd4, 0x37, 0xde, 0xdb, - 0xd8, 0xdc, 0xae, 0x4f, 0xc9, 0x99, 0x9d, 0xed, 0xa6, 0x16, 0x65, 0x2a, 0xc9, 0xcc, 0xad, 0x76, - 0x3b, 0xcc, 0x2c, 0xc8, 0x99, 0xeb, 0x1b, 0xf7, 0x37, 0x22, 0xce, 0xe2, 0xa5, 0xa7, 0x01, 0xa2, - 0xf1, 0x83, 0xaa, 0x30, 0xbb, 0xb6, 0xb5, 0xb3, 0xb9, 0xbd, 0xa1, 0xd5, 0xa7, 0x50, 0x05, 0xa6, - 0xef, 0x35, 0x77, 0xee, 0x6d, 0xd4, 0x95, 0x4b, 0x17, 0x61, 0x2e, 0x6e, 0x4d, 0x84, 0xae, 0xf3, - 0x7e, 0x67, 0x7b, 0xe3, 0x01, 0xd1, 0xc8, 0x1c, 0x94, 0xd7, 0xee, 0x69, 0x5b, 0x3b, 0xed, 0xbb, - 0x9d, 0xba, 0x72, 0xfd, 0x7f, 0x97, 0xc2, 0x1d, 0xfa, 0x0e, 0xf6, 0xe8, 0x25, 0x8f, 0x75, 0x98, - 0x15, 0xff, 0xdf, 0x40, 0xda, 0xb5, 0x91, 0xff, 0x1f, 0x43, 0xe3, 0x64, 0x66, 0x1e, 0x8f, 0x0b, - 0xa6, 0xd0, 0x7b, 0xf4, 0xcc, 0x23, 0xf6, 0x62, 0xd9, 0xb9, 0xc4, 0x56, 0x78, 0xea, 0x61, 0xb4, - 0xc6, 0xf9, 0x11, 0x14, 0xa1, 0xdc, 0xf7, 0x61, 0x5e, 0x7e, 0x1a, 0x14, 0x9d, 0x97, 0x77, 0xea, - 0x33, 0x5e, 0x1d, 0x6d, 0xa8, 0xa3, 0x48, 0x42, 0xd1, 0x3a, 0xd4, 0x93, 0x4f, 0x83, 0x22, 0x09, - 0xe6, 0x93, 0xf3, 0xf2, 0x68, 0xe3, 0xe9, 0xd1, 0x44, 0xf1, 0x02, 0x52, 0x2f, 0x5e, 0x3e, 0x35, - 0xfa, 0x0d, 0xc1, 0x8c, 0x02, 0xf2, 0x1e, 0x1a, 0x64, 0xca, 0x91, 0x67, 0x4d, 0x94, 0x78, 0x64, - 0x32, 0xe3, 0x3d, 0x3a, 0x59, 0x39, 0xd9, 0x6f, 0x91, 0xa9, 0x53, 0xe8, 0xe7, 0x60, 0x21, 0x81, - 0xe0, 0x47, 0x12, 0x63, 0xf6, 0xc5, 0x84, 0xc6, 0x53, 0x23, 0x69, 0xe4, 0x5e, 0x8d, 0xa3, 0xf4, - 0x93, 0xbd, 0x9a, 0x81, 0xfe, 0x4f, 0xf6, 0x6a, 0x26, 0xc8, 0x9f, 0x1a, 0xa2, 0x84, 0xc8, 0x97, - 0x0d, 0x31, 0xeb, 0x06, 0x40, 0xe3, 0xfc, 0x08, 0x8a, 0xb8, 0x42, 0x12, 0x98, 0x7c, 0x59, 0x21, - 0xd9, 0x68, 0xff, 0xc6, 0x53, 0x23, 0x69, 0x92, 0x3d, 0x19, 0x01, 0x7e, 0xd3, 0x3d, 0x99, 0xc2, - 0xa3, 0xa7, 0x7b, 0x32, 0x8d, 0x17, 0xe6, 0x3d, 0x99, 0x80, 0xe8, 0xaa, 0x23, 0x31, 0x82, 0x59, - 0x3d, 0x99, 0x8d, 0x23, 0x54, 0xa7, 0xd0, 0x63, 0x58, 0xcd, 0x83, 0x82, 0xa1, 0xe7, 0x0f, 0x81, - 0x58, 0x6b, 0xbc, 0x30, 0x19, 0x71, 0x58, 0x30, 0x06, 0x94, 0x5e, 0x3e, 0xa1, 0x67, 0x64, 0x75, - 0xe7, 0x2c, 0xcf, 0x1a, 0xcf, 0x8e, 0x23, 0x0b, 0x8b, 0xb9, 0x07, 0x65, 0x01, 0x32, 0x43, 0x92, - 0x0b, 0x4c, 0x80, 0xdb, 0x1a, 0xa7, 0xb2, 0x33, 0x43, 0x41, 0xaf, 0x43, 0x89, 0xa4, 0xa2, 0x95, - 0x24, 0x9d, 0x10, 0xb0, 0x9a, 0xce, 0x08, 0x99, 0x9b, 0x30, 0xc3, 0xd0, 0x53, 0x48, 0x3a, 0xd8, - 0x94, 0xd0, 0x5d, 0x8d, 0x46, 0x56, 0x56, 0x28, 0xa2, 0xcd, 0xfe, 0x5b, 0x0c, 0x07, 0x43, 0xa1, - 0x33, 0xc9, 0x47, 0xc1, 0x65, 0xd4, 0x55, 0xe3, 0x6c, 0x6e, 0x7e, 0xdc, 0x66, 0x13, 0xbb, 0xa4, - 0xe7, 0x47, 0xec, 0xfa, 0x67, 0xd9, 0x6c, 0xf6, 0x59, 0x02, 0xeb, 0xdc, 0xf4, 0x59, 0x03, 0x7a, - 0x26, 0xd7, 0xde, 0xa5, 0x22, 0x9e, 0x1d, 0x47, 0x16, 0x1f, 0x1a, 0xc9, 0xd7, 0xbd, 0xd4, 0x51, - 0x2f, 0xef, 0x65, 0x0d, 0x8d, 0x9c, 0x17, 0xfd, 0xd4, 0x29, 0xb4, 0x07, 0xc7, 0x32, 0x9e, 0xfc, - 0x43, 0xcf, 0xe6, 0xfb, 0x5f, 0xa9, 0x94, 0xe7, 0xc6, 0xd2, 0xc5, 0x4b, 0xca, 0x40, 0x40, 0xc8, - 0x25, 0xe5, 0x43, 0x30, 0xe4, 0x92, 0x46, 0x41, 0x29, 0xa8, 0x21, 0x72, 0x1f, 0x72, 0x22, 0xeb, - 0xc0, 0x3c, 0xc3, 0x10, 0x53, 0x1e, 0x63, 0x0f, 0x8e, 0x65, 0x6c, 0x31, 0xc8, 0x95, 0xcd, 0xdf, - 0xfa, 0x90, 0x2b, 0x3b, 0x6a, 0xaf, 0x62, 0x0a, 0x7d, 0x00, 0xe8, 0x1e, 0x0e, 0xe4, 0x50, 0xce, - 0x47, 0xd2, 0x40, 0x4d, 0xee, 0x66, 0xe4, 0xd8, 0xa7, 0xb4, 0xad, 0xa1, 0x4e, 0x5d, 0x53, 0x90, - 0xcd, 0x2e, 0x09, 0xa5, 0x16, 0xe3, 0xe8, 0x42, 0xb2, 0xdb, 0xf2, 0xd6, 0xf3, 0x8d, 0x8b, 0x13, - 0x50, 0x86, 0x6d, 0xb1, 0x93, 0xcf, 0xcb, 0x8a, 0xf5, 0xe0, 0x85, 0x7c, 0x33, 0x91, 0xd7, 0xd8, - 0xe9, 0xf2, 0x72, 0x57, 0xdb, 0x61, 0x3c, 0x17, 0x33, 0xa6, 0x73, 0xf9, 0x78, 0x9c, 0x9c, 0x78, - 0x2e, 0xcb, 0x80, 0xae, 0xff, 0x76, 0x11, 0xe6, 0x18, 0x6e, 0x89, 0x87, 0x9f, 0x0f, 0x00, 0x22, - 0x08, 0x20, 0x3a, 0x9d, 0xac, 0xa3, 0x84, 0xab, 0x6c, 0x9c, 0xc9, 0xcb, 0x8e, 0xbb, 0xb9, 0x18, - 0xb4, 0x4e, 0x76, 0x73, 0x69, 0xa4, 0xa0, 0xec, 0xe6, 0x32, 0x30, 0x79, 0xea, 0x14, 0x7a, 0x17, - 0x2a, 0x21, 0x92, 0x4b, 0x36, 0x9e, 0x24, 0x24, 0xad, 0x71, 0x3a, 0x27, 0x37, 0x5e, 0xbb, 0x18, - 0x40, 0x4b, 0xae, 0x5d, 0x1a, 0xfc, 0x25, 0xd7, 0x2e, 0x0b, 0xd9, 0x15, 0xb5, 0x97, 0x81, 0x02, - 0x32, 0xda, 0x2b, 0x81, 0x44, 0x32, 0xda, 0x2b, 0xa3, 0x09, 0xd4, 0xa9, 0x3b, 0xb7, 0x7f, 0xf0, - 0xe3, 0x33, 0xca, 0x0f, 0x7f, 0x7c, 0x66, 0xea, 0x17, 0x3f, 0x3a, 0xa3, 0xfc, 0xe0, 0xa3, 0x33, - 0xca, 0x3f, 0x7e, 0x74, 0x46, 0xf9, 0xd1, 0x47, 0x67, 0x94, 0x6f, 0xfe, 0xdb, 0x99, 0xa9, 0x0f, - 0xd4, 0x47, 0x37, 0xfc, 0x2b, 0x96, 0x73, 0xb5, 0xeb, 0x59, 0x97, 0x0d, 0xd7, 0xba, 0xea, 0x3e, - 0xea, 0x5d, 0x35, 0x5c, 0xcb, 0xbf, 0xca, 0xe5, 0x5e, 0xdd, 0x7f, 0xf1, 0xe1, 0x0c, 0xfd, 0x0f, - 0x63, 0x2f, 0xfd, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf6, 0x60, 0x6a, 0x8a, 0x1b, 0x6e, 0x00, - 0x00, + // 7131 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5d, 0x5f, 0x6c, 0x1c, 0x49, + 0x5a, 0x77, 0xcf, 0x8c, 0xed, 0x99, 0xcf, 0x1e, 0x7b, 0x5c, 0x71, 0x6c, 0x67, 0x92, 0x38, 0x49, + 0xef, 0xbf, 0x24, 0xbb, 0xf9, 0xb3, 0xd9, 0xec, 0x6e, 0x92, 0xfd, 0x97, 0x89, 0xed, 0x64, 0x67, + 0x2f, 0xb6, 0xe7, 0x7a, 0xec, 0xbd, 0xdb, 0x3d, 0x74, 0x4d, 0x67, 0xba, 0x3c, 0xee, 0xcd, 0x4c, + 0x77, 0x5f, 0x77, 0x4f, 0x12, 0xdf, 0x03, 0xe2, 0x11, 0xee, 0x85, 0x43, 0x70, 0x42, 0x9c, 0x10, + 0xe8, 0x90, 0x10, 0xbc, 0x01, 0x27, 0x01, 0x87, 0x00, 0x21, 0x21, 0x38, 0x1d, 0x48, 0x48, 0x3c, + 0x80, 0x74, 0x0f, 0x48, 0xdc, 0x2d, 0x48, 0x48, 0x3c, 0xdf, 0x03, 0x2f, 0x70, 0xa8, 0xfe, 0x75, + 0x77, 0xf5, 0x9f, 0x99, 0xb1, 0x37, 0xec, 0xee, 0x3d, 0x79, 0xba, 0xea, 0xfb, 0xbe, 0xaa, 0xfa, + 0xaa, 0xea, 0xab, 0xef, 0xab, 0xfa, 0x55, 0x19, 0x2a, 0x86, 0x6b, 0x5d, 0x76, 0x3d, 0x27, 0x70, + 0x10, 0x78, 0x03, 0x3b, 0xb0, 0xfa, 0xf8, 0xf2, 0xa3, 0x97, 0xeb, 0x97, 0xba, 0x56, 0xb0, 0x3f, + 0x78, 0x70, 0xb9, 0xe3, 0xf4, 0xaf, 0x74, 0x9d, 0xae, 0x73, 0x85, 0x92, 0x3c, 0x18, 0xec, 0xd1, + 0x2f, 0xfa, 0x41, 0x7f, 0x31, 0x56, 0xf5, 0x22, 0xcc, 0xbd, 0x8f, 0x3d, 0xdf, 0x72, 0x6c, 0x0d, + 0x7f, 0x6d, 0x80, 0xfd, 0x00, 0xad, 0xc0, 0xf4, 0x23, 0x96, 0xb2, 0xa2, 0x9c, 0x55, 0xce, 0x57, + 0x34, 0xf1, 0xa9, 0xfe, 0xbe, 0x02, 0xf3, 0x21, 0xb1, 0xef, 0x3a, 0xb6, 0x8f, 0xf3, 0xa9, 0xd1, + 0x39, 0x98, 0xe5, 0xd5, 0xd2, 0x6d, 0xa3, 0x8f, 0x57, 0x0a, 0x34, 0x7b, 0x86, 0xa7, 0x6d, 0x19, + 0x7d, 0x8c, 0x5e, 0x80, 0x79, 0x41, 0x22, 0x84, 0x14, 0x29, 0xd5, 0x1c, 0x4f, 0xe6, 0xa5, 0xa1, + 0xcb, 0x70, 0x4c, 0x10, 0x1a, 0xae, 0x15, 0x12, 0x97, 0x28, 0xf1, 0x02, 0xcf, 0x6a, 0xb8, 0x16, + 0xa7, 0x57, 0xbf, 0x02, 0x95, 0xf5, 0xad, 0xf6, 0x9a, 0x63, 0xef, 0x59, 0x5d, 0x52, 0x45, 0x1f, + 0x7b, 0x84, 0x67, 0x45, 0x39, 0x5b, 0x24, 0x55, 0xe4, 0x9f, 0xa8, 0x0e, 0x65, 0x1f, 0x1b, 0x5e, + 0x67, 0x1f, 0xfb, 0x2b, 0x05, 0x9a, 0x15, 0x7e, 0x13, 0x2e, 0xc7, 0x0d, 0x2c, 0xc7, 0xf6, 0x57, + 0x8a, 0x8c, 0x8b, 0x7f, 0xaa, 0xbf, 0xa5, 0xc0, 0x4c, 0xcb, 0xf1, 0x82, 0x4d, 0xc3, 0x75, 0x2d, + 0xbb, 0x8b, 0xae, 0x42, 0x99, 0xea, 0xb2, 0xe3, 0xf4, 0xa8, 0x0e, 0xe6, 0xae, 0x2d, 0x5e, 0x8e, + 0x3a, 0xe4, 0x72, 0x8b, 0xe7, 0x69, 0x21, 0x15, 0x7a, 0x0e, 0xe6, 0x3a, 0x8e, 0x1d, 0x18, 0x96, + 0x8d, 0x3d, 0xdd, 0x75, 0xbc, 0x80, 0x2a, 0x67, 0x52, 0xab, 0x86, 0xa9, 0x44, 0x3e, 0x3a, 0x09, + 0x95, 0x7d, 0xc7, 0x0f, 0x18, 0x45, 0x91, 0x52, 0x94, 0x49, 0x02, 0xcd, 0x5c, 0x86, 0x69, 0x9a, + 0x69, 0xb9, 0x5c, 0x0d, 0x53, 0xe4, 0xb3, 0xe9, 0xaa, 0xbf, 0x52, 0x84, 0xc9, 0x4d, 0x67, 0x60, + 0x07, 0x89, 0x62, 0x8c, 0x60, 0x9f, 0x77, 0x51, 0xac, 0x18, 0x23, 0xd8, 0x8f, 0x8a, 0x21, 0x14, + 0xac, 0x97, 0x58, 0x31, 0x24, 0xb3, 0x0e, 0x65, 0x0f, 0x1b, 0xa6, 0x63, 0xf7, 0x0e, 0x68, 0x15, + 0xca, 0x5a, 0xf8, 0x4d, 0xba, 0xcf, 0xc7, 0x3d, 0xcb, 0x1e, 0x3c, 0xd1, 0x3d, 0xdc, 0x33, 0x1e, + 0xe0, 0x1e, 0xad, 0x4a, 0x59, 0x9b, 0xe3, 0xc9, 0x1a, 0x4b, 0x45, 0x6f, 0xc3, 0x8c, 0xeb, 0x39, + 0xae, 0xd1, 0x35, 0x88, 0x06, 0x57, 0x26, 0xa9, 0x92, 0x4e, 0xc5, 0x95, 0x44, 0x2b, 0xdc, 0x8a, + 0x68, 0xb4, 0x38, 0x03, 0x7a, 0x1d, 0x66, 0x06, 0x96, 0xc9, 0xf5, 0xed, 0xaf, 0x4c, 0x9d, 0x2d, + 0x9e, 0x9f, 0xb9, 0x76, 0x3c, 0xce, 0xdf, 0x5c, 0xe7, 0xb9, 0x5a, 0x9c, 0x92, 0x30, 0x76, 0x63, + 0x8c, 0xd3, 0x43, 0x19, 0x63, 0x94, 0x74, 0xc0, 0xe1, 0xce, 0xc0, 0xf3, 0xad, 0x47, 0x58, 0x27, + 0x0d, 0xd6, 0xa9, 0x06, 0xca, 0xb4, 0x79, 0x0b, 0x61, 0x96, 0x86, 0x0d, 0x73, 0x9b, 0xa8, 0xe2, + 0x24, 0x54, 0xac, 0xbe, 0xd1, 0x25, 0xb4, 0x7b, 0x2b, 0x15, 0xa6, 0x43, 0x9a, 0xa0, 0xe1, 0x3d, + 0x55, 0x87, 0x4a, 0x58, 0x4c, 0xd4, 0x6f, 0x26, 0xed, 0x8d, 0x2a, 0xef, 0x37, 0x93, 0xcc, 0x97, + 0xa8, 0xb7, 0x2c, 0x93, 0xf6, 0x44, 0x55, 0x9b, 0x09, 0xd3, 0x9a, 0x26, 0x5a, 0x82, 0xa9, 0x1e, + 0xb6, 0xbb, 0xc1, 0x3e, 0xed, 0x8a, 0xaa, 0xc6, 0xbf, 0xd4, 0x5f, 0x57, 0xa0, 0xba, 0xeb, 0x63, + 0x8f, 0x4c, 0x2a, 0xdf, 0x35, 0x3a, 0x18, 0x5d, 0x82, 0x52, 0xdf, 0x31, 0x31, 0x1f, 0x8f, 0x27, + 0xe2, 0x2d, 0x0e, 0x89, 0x36, 0x1d, 0x13, 0x6b, 0x94, 0x0c, 0x5d, 0x80, 0xd2, 0xc0, 0x32, 0xd9, + 0x24, 0xc8, 0x55, 0x10, 0x25, 0x21, 0xa4, 0x5d, 0x42, 0x5a, 0x1c, 0x4a, 0x4a, 0x48, 0xd4, 0x9f, + 0x2a, 0x30, 0x1f, 0x96, 0xb6, 0x4d, 0x67, 0x0f, 0x7a, 0x05, 0xa6, 0x6d, 0x1c, 0x3c, 0x76, 0xbc, + 0x87, 0xa3, 0xeb, 0x26, 0x28, 0xd1, 0x8b, 0x50, 0x74, 0xb9, 0x46, 0x86, 0x32, 0x10, 0x2a, 0x42, + 0x6c, 0xb9, 0x1d, 0xaa, 0xa1, 0xe1, 0xc4, 0x96, 0xdb, 0x21, 0xfd, 0x16, 0x18, 0x5e, 0x17, 0xd3, + 0xfe, 0x60, 0xf3, 0xa8, 0xcc, 0x12, 0x9a, 0x26, 0xba, 0x0d, 0x73, 0x03, 0x1f, 0x7b, 0xb6, 0xaf, + 0x0b, 0x4b, 0x40, 0x46, 0xee, 0x8c, 0x2c, 0x54, 0xd2, 0xbb, 0x56, 0x65, 0x0c, 0xdb, 0xdc, 0x54, + 0xa8, 0x00, 0x4d, 0x3b, 0x78, 0xed, 0xfa, 0xfb, 0x46, 0x6f, 0x80, 0xd1, 0x22, 0x4c, 0x3e, 0x22, + 0x3f, 0x68, 0xcb, 0x8b, 0x1a, 0xfb, 0x50, 0xbf, 0x33, 0x09, 0x27, 0xef, 0x93, 0xd9, 0xd2, 0x36, + 0x6c, 0xf3, 0x81, 0xf3, 0xa4, 0x4d, 0x06, 0x97, 0x15, 0x1c, 0xac, 0x39, 0x76, 0x80, 0x9f, 0x04, + 0xe8, 0x5d, 0x58, 0xb0, 0x85, 0xfc, 0xb0, 0x22, 0x0a, 0xad, 0xc8, 0xc9, 0xcc, 0xd6, 0xb1, 0xc2, + 0xb5, 0x9a, 0x2d, 0x27, 0xf8, 0xe8, 0x4e, 0x34, 0x5f, 0x85, 0x9c, 0x42, 0xba, 0x41, 0xed, 0x0d, + 0x5a, 0x1b, 0x2e, 0x45, 0x4c, 0x65, 0x21, 0xe3, 0x35, 0x20, 0x16, 0x5c, 0x37, 0x7c, 0x9d, 0xb4, + 0x94, 0x6a, 0x79, 0xe6, 0xda, 0x92, 0x34, 0x0a, 0xc2, 0x06, 0x6b, 0x15, 0x6f, 0x60, 0x37, 0x7c, + 0xa2, 0x21, 0x74, 0x83, 0xae, 0x06, 0x84, 0xaf, 0xeb, 0x39, 0x03, 0x97, 0xce, 0xa4, 0x7c, 0x46, + 0xa0, 0x8c, 0xf7, 0x08, 0x25, 0x5d, 0x24, 0xb8, 0xc5, 0xd1, 0x3d, 0xc7, 0x09, 0xf6, 0x7c, 0x61, + 0x65, 0x44, 0xb2, 0x46, 0x53, 0xd1, 0x15, 0x38, 0xe6, 0x0f, 0x5c, 0xb7, 0x87, 0xfb, 0xd8, 0x0e, + 0x8c, 0x1e, 0x2b, 0x88, 0xf4, 0x59, 0xf1, 0x7c, 0x51, 0x43, 0xf1, 0x2c, 0x2a, 0xd8, 0x47, 0x0f, + 0xa0, 0x9e, 0xc1, 0xa0, 0xbb, 0x4e, 0xcf, 0xea, 0x1c, 0xac, 0xcc, 0xd0, 0x01, 0xf4, 0xac, 0xa4, + 0x9a, 0x94, 0x8c, 0x16, 0xa5, 0xd5, 0x56, 0xfc, 0x9c, 0x1c, 0xb4, 0x0a, 0xe0, 0x7a, 0xd6, 0x23, + 0xab, 0x87, 0xbb, 0xd8, 0x5c, 0x99, 0xa2, 0x15, 0x8f, 0xa5, 0xa0, 0x57, 0xc9, 0xe2, 0xd4, 0xe9, + 0x38, 0x7d, 0x97, 0x9a, 0x8d, 0x44, 0x9f, 0x8a, 0xb1, 0xd0, 0xf2, 0x9c, 0x3d, 0xab, 0x87, 0x35, + 0x41, 0x8b, 0x5e, 0x87, 0xb2, 0xe1, 0xba, 0x86, 0xd7, 0x77, 0xbc, 0x15, 0x18, 0xcd, 0x17, 0x12, + 0xa3, 0xeb, 0xb0, 0xc8, 0x65, 0xe8, 0x2e, 0xcb, 0x64, 0x76, 0x7f, 0x9a, 0x8c, 0xfd, 0x3b, 0x85, + 0x15, 0x45, 0x43, 0x3c, 0x9f, 0xf3, 0x92, 0x55, 0x40, 0xfd, 0x5b, 0x05, 0xe6, 0x13, 0x32, 0xd1, + 0x7b, 0x30, 0x2b, 0x24, 0x04, 0x07, 0xae, 0x30, 0x35, 0x2f, 0x0c, 0xa9, 0xc6, 0x65, 0xfe, 0x77, + 0xe7, 0xc0, 0xc5, 0xd4, 0xc0, 0x8b, 0x0f, 0xf4, 0x0c, 0x54, 0x7b, 0x4e, 0xc7, 0xe8, 0x51, 0xcb, + 0x48, 0x4c, 0x28, 0x5b, 0x86, 0x66, 0xc3, 0x44, 0x62, 0x46, 0x6f, 0xc3, 0x4c, 0x4c, 0x00, 0x42, + 0x30, 0xa7, 0xb1, 0xa2, 0xd6, 0xf1, 0x9e, 0x31, 0xe8, 0x05, 0xb5, 0x09, 0x34, 0x07, 0xb0, 0x6b, + 0x77, 0xc8, 0xb2, 0x6f, 0x63, 0xb3, 0xa6, 0xa0, 0x2a, 0x54, 0xee, 0x0b, 0x11, 0xb5, 0x82, 0xfa, + 0xed, 0x22, 0x1c, 0xa7, 0x83, 0xbb, 0xe5, 0x98, 0x7c, 0xb6, 0x71, 0x1f, 0xe1, 0x19, 0xa8, 0x76, + 0x68, 0xf7, 0xeb, 0xae, 0xe1, 0x61, 0x3b, 0xe0, 0x2b, 0xe5, 0x2c, 0x4b, 0x6c, 0xd1, 0x34, 0xa4, + 0x41, 0xcd, 0xe7, 0x2d, 0xd2, 0x3b, 0x6c, 0x76, 0xf2, 0x09, 0x24, 0xb5, 0x7a, 0xc8, 0x64, 0xd6, + 0xe6, 0xfd, 0xd4, 0xec, 0x9e, 0xf6, 0x0f, 0xfc, 0x4e, 0xd0, 0x13, 0x16, 0xf5, 0x72, 0x4a, 0x54, + 0xb2, 0xb2, 0x97, 0xdb, 0x8c, 0x61, 0xc3, 0x0e, 0xbc, 0x03, 0x4d, 0xb0, 0xa3, 0x77, 0xa0, 0xec, + 0x3c, 0xc2, 0xde, 0x3e, 0x36, 0x98, 0x25, 0x9b, 0xb9, 0xf6, 0x4c, 0x4a, 0xd4, 0x9a, 0x58, 0x4c, + 0x34, 0xec, 0x3b, 0x03, 0xaf, 0x83, 0x7d, 0x2d, 0x64, 0x42, 0x0d, 0xa8, 0x78, 0x22, 0x99, 0x5b, + 0xba, 0xb1, 0x24, 0x44, 0x5c, 0xf5, 0x5b, 0x30, 0x1b, 0xaf, 0x1c, 0xaa, 0x41, 0xf1, 0x21, 0x3e, + 0xe0, 0xca, 0x24, 0x3f, 0x23, 0x1b, 0xc8, 0x7a, 0x98, 0x7d, 0xdc, 0x2a, 0xdc, 0x50, 0x54, 0x0f, + 0x50, 0xd4, 0xd2, 0x4d, 0x1c, 0x18, 0xa6, 0x11, 0x18, 0x08, 0x41, 0x89, 0x7a, 0x8f, 0x4c, 0x04, + 0xfd, 0x4d, 0xa4, 0x0e, 0xf8, 0x72, 0x50, 0xd1, 0xc8, 0x4f, 0x74, 0x0a, 0x2a, 0xa1, 0xb5, 0xe3, + 0x2e, 0x64, 0x94, 0x40, 0x5c, 0x39, 0x23, 0x08, 0x70, 0xdf, 0x0d, 0xa8, 0x62, 0xaa, 0x9a, 0xf8, + 0x54, 0x7f, 0x79, 0x12, 0x6a, 0xa9, 0xb1, 0x70, 0x0b, 0xca, 0x7d, 0x5e, 0x3c, 0xb7, 0xb3, 0xab, + 0x92, 0x3f, 0x97, 0xaa, 0xa4, 0x16, 0xd2, 0x13, 0x77, 0x89, 0x8c, 0xb5, 0x98, 0xc3, 0x1b, 0x7e, + 0xb3, 0x41, 0xde, 0xd5, 0x4d, 0xcb, 0xc3, 0x9d, 0xc0, 0xf1, 0x0e, 0x78, 0x45, 0x67, 0x7b, 0x4e, + 0x77, 0x5d, 0xa4, 0xa1, 0xeb, 0x00, 0xa6, 0xed, 0xeb, 0x74, 0x0c, 0x77, 0x79, 0x3f, 0x4a, 0x8b, + 0x6c, 0xe8, 0xd7, 0x6a, 0x15, 0xd3, 0xf6, 0x79, 0x95, 0xdf, 0x84, 0x2a, 0x71, 0x12, 0xf5, 0xbe, + 0xf0, 0x74, 0x26, 0xe9, 0x58, 0x5a, 0x96, 0xeb, 0x1d, 0xba, 0xac, 0xda, 0xac, 0x1b, 0x7d, 0xf8, + 0xe8, 0x36, 0x4c, 0x51, 0x3f, 0x4d, 0x78, 0x56, 0xe7, 0xb3, 0x9b, 0xcb, 0x47, 0xdf, 0x7d, 0x4a, + 0xca, 0x06, 0x1f, 0xe7, 0x43, 0xdb, 0x30, 0x63, 0xd8, 0xb6, 0x13, 0x18, 0x6c, 0x55, 0x61, 0x7e, + 0xd6, 0xa5, 0xa1, 0x62, 0x1a, 0x11, 0x3d, 0x93, 0x15, 0x97, 0x80, 0x5e, 0x87, 0x49, 0xba, 0xec, + 0xf0, 0x75, 0xe2, 0xdc, 0xc8, 0x49, 0xa1, 0x31, 0x7a, 0xf4, 0x16, 0x4c, 0x3f, 0xb6, 0x6c, 0xd3, + 0x79, 0xec, 0x73, 0x7b, 0x2a, 0x0d, 0xe1, 0x2f, 0xb1, 0xac, 0x14, 0xb3, 0xe0, 0xa9, 0xdf, 0x84, + 0x99, 0x58, 0xfb, 0x0e, 0x33, 0x7e, 0xeb, 0x6f, 0x43, 0x2d, 0xd9, 0xa6, 0x43, 0x8d, 0xff, 0x01, + 0x2c, 0x6a, 0x03, 0x3b, 0xaa, 0x9a, 0x88, 0xc7, 0xae, 0xc3, 0x14, 0x1f, 0x0d, 0x6c, 0x30, 0x9e, + 0x1a, 0xa6, 0x56, 0x8d, 0xd3, 0xc6, 0x43, 0xab, 0x7d, 0xc3, 0x36, 0x7b, 0xd8, 0xe3, 0x25, 0x8a, + 0xd0, 0xea, 0x5d, 0x96, 0xaa, 0xbe, 0x05, 0xc7, 0x13, 0xc5, 0xf2, 0xc8, 0xee, 0x59, 0x98, 0x73, + 0x1d, 0x53, 0xf7, 0x59, 0xb2, 0xf0, 0x57, 0x2b, 0x64, 0xec, 0x08, 0xda, 0xa6, 0x49, 0xd8, 0xdb, + 0x81, 0xe3, 0xa6, 0xab, 0x3d, 0x1e, 0xfb, 0x0a, 0x2c, 0x25, 0xd9, 0x59, 0xf1, 0xea, 0x3b, 0xb0, + 0xac, 0xe1, 0xbe, 0xf3, 0x08, 0x1f, 0x55, 0x74, 0x1d, 0x56, 0xd2, 0x02, 0xb8, 0xf0, 0x0f, 0x60, + 0x39, 0x4a, 0x6d, 0x07, 0x46, 0x30, 0xf0, 0x0f, 0x25, 0x9c, 0x87, 0xbd, 0x0f, 0x1c, 0x9f, 0x75, + 0x64, 0x59, 0x13, 0x9f, 0xea, 0x32, 0x4c, 0xb6, 0x1c, 0xb3, 0xd9, 0x42, 0x73, 0x50, 0xb0, 0x5c, + 0xce, 0x5c, 0xb0, 0x5c, 0xb5, 0x13, 0x2f, 0x73, 0x8b, 0x79, 0xb6, 0xac, 0xe8, 0x24, 0x29, 0xba, + 0x01, 0x73, 0x86, 0x69, 0x5a, 0x64, 0x20, 0x19, 0x3d, 0xdd, 0x72, 0x85, 0x63, 0xbe, 0x90, 0xe8, + 0xfa, 0x66, 0x4b, 0xab, 0x46, 0x84, 0x4d, 0xd7, 0x57, 0xef, 0x40, 0x25, 0x0a, 0x02, 0x5e, 0x8d, + 0x42, 0xd8, 0xc2, 0x68, 0x7f, 0x31, 0x8c, 0x6f, 0xb7, 0x52, 0x8b, 0x24, 0xaf, 0xe6, 0xab, 0x00, + 0xa1, 0x51, 0x15, 0x2e, 0xe8, 0xf1, 0x4c, 0x91, 0x5a, 0x8c, 0x50, 0xfd, 0xb7, 0x52, 0xdc, 0xc8, + 0xc6, 0x9a, 0x6c, 0x86, 0x4d, 0x36, 0x25, 0xa3, 0x5b, 0x38, 0xa4, 0xd1, 0x7d, 0x19, 0x26, 0xfd, + 0xc0, 0x08, 0x30, 0xf7, 0xf9, 0x4f, 0x66, 0x33, 0x92, 0x82, 0xb1, 0xc6, 0x28, 0xd1, 0x69, 0x80, + 0x8e, 0x87, 0x8d, 0x00, 0x9b, 0xba, 0xc1, 0x56, 0x85, 0xa2, 0x56, 0xe1, 0x29, 0x8d, 0x80, 0x58, + 0x11, 0x11, 0xa5, 0x64, 0x2c, 0x84, 0x39, 0xdd, 0x18, 0xc5, 0x2b, 0xa1, 0xf5, 0x9a, 0x1a, 0x69, + 0xbd, 0x38, 0x2b, 0xb7, 0x5e, 0x91, 0x25, 0x9e, 0x1e, 0x66, 0x89, 0x19, 0xd3, 0x38, 0x96, 0xb8, + 0x3c, 0xcc, 0x12, 0x73, 0x31, 0xc3, 0x2d, 0x71, 0x86, 0x21, 0xa9, 0x64, 0x19, 0x92, 0xcf, 0xd2, + 0x74, 0xfe, 0x79, 0x01, 0x56, 0xd2, 0xf3, 0x99, 0xdb, 0xb1, 0xeb, 0x30, 0xe5, 0xd3, 0x94, 0xe1, + 0xf6, 0x93, 0x73, 0x71, 0x5a, 0x74, 0x07, 0x4a, 0x96, 0xbd, 0xe7, 0xf0, 0x89, 0x77, 0x79, 0x28, + 0x0f, 0x2f, 0xe9, 0x72, 0xd3, 0xde, 0x73, 0x98, 0x06, 0x29, 0x2f, 0xba, 0x0f, 0xc7, 0xc2, 0xe8, + 0xdd, 0xd7, 0x99, 0x60, 0x2c, 0xfc, 0x3c, 0x69, 0x94, 0x86, 0x5e, 0x15, 0x97, 0x88, 0x22, 0xbe, + 0x36, 0x67, 0x23, 0x3e, 0x0e, 0x21, 0xf7, 0x03, 0xa3, 0xef, 0x8a, 0x11, 0x1b, 0x26, 0xd4, 0x5f, + 0x87, 0x4a, 0x58, 0xfc, 0xa1, 0x74, 0xd7, 0x84, 0xc5, 0xc4, 0x1c, 0x61, 0xc1, 0x6a, 0x38, 0xa9, + 0x94, 0x71, 0x27, 0x95, 0xfa, 0x13, 0x25, 0x3e, 0xd1, 0xef, 0x5a, 0xbd, 0x00, 0x7b, 0xa9, 0x89, + 0xfe, 0x9a, 0x90, 0xcb, 0x66, 0xf9, 0xd9, 0x21, 0x72, 0x59, 0x2c, 0xc8, 0x67, 0xec, 0xfb, 0x30, + 0x47, 0x87, 0xb8, 0xee, 0xe3, 0x1e, 0xf5, 0x95, 0xb8, 0x1e, 0xaf, 0x64, 0x0b, 0x60, 0xa5, 0xb3, + 0x29, 0xd2, 0xe6, 0x1c, 0xac, 0x6f, 0xaa, 0xbd, 0x78, 0x5a, 0xfd, 0x36, 0xa0, 0x34, 0xd1, 0xa1, + 0x34, 0xb8, 0x49, 0xec, 0xa5, 0x1f, 0x64, 0xae, 0xdc, 0x7b, 0xb4, 0x1a, 0xc3, 0x47, 0x1e, 0xab, + 0xaa, 0xc6, 0x69, 0xd5, 0x7f, 0x29, 0x02, 0x44, 0x99, 0x9f, 0x73, 0x43, 0x79, 0x2b, 0x34, 0x58, + 0xcc, 0xe3, 0x54, 0xb3, 0x45, 0x66, 0x9a, 0xaa, 0xa6, 0x6c, 0xaa, 0x98, 0xef, 0xf9, 0x42, 0x8e, + 0x80, 0x43, 0x1b, 0xa9, 0xe9, 0xcf, 0x9b, 0x91, 0xba, 0x0b, 0x4b, 0xc9, 0x61, 0xc2, 0x2d, 0xd4, + 0x4b, 0x30, 0x69, 0x05, 0xb8, 0xcf, 0xb6, 0xa7, 0x13, 0x9b, 0x22, 0x31, 0x72, 0x46, 0xa4, 0xbe, + 0x0d, 0x4b, 0x72, 0x5f, 0x1d, 0xce, 0x75, 0x51, 0xef, 0x27, 0x7d, 0x9f, 0xc8, 0x54, 0xf2, 0xf1, + 0x91, 0xb9, 0xbd, 0x94, 0xe4, 0x61, 0x94, 0xea, 0xf7, 0x15, 0x38, 0x9e, 0xc8, 0xca, 0x99, 0xf8, + 0x5f, 0x49, 0x4d, 0x60, 0x66, 0x5b, 0xaf, 0x0f, 0x29, 0xe5, 0x53, 0x9c, 0xc5, 0x5f, 0x82, 0xba, + 0xdc, 0x3d, 0x92, 0x6a, 0x6f, 0x26, 0xa6, 0xf2, 0xb9, 0x91, 0x95, 0x0e, 0xe7, 0x73, 0x0b, 0x4e, + 0x66, 0x0a, 0x4e, 0xeb, 0xbc, 0x38, 0xa6, 0xce, 0xff, 0xbb, 0x10, 0xb7, 0xd9, 0x8d, 0x20, 0xf0, + 0xac, 0x07, 0x83, 0x00, 0x3f, 0x5d, 0xa7, 0x6a, 0x3d, 0x9c, 0xd9, 0xcc, 0xce, 0xbe, 0x94, 0xcd, + 0x19, 0x95, 0x9e, 0x39, 0xc7, 0xdb, 0xf2, 0x1c, 0x2f, 0x51, 0x51, 0x2f, 0x8f, 0x14, 0x35, 0x74, + 0xb6, 0x7f, 0x96, 0x93, 0xf8, 0xef, 0x15, 0x98, 0x4f, 0xf4, 0x0a, 0xba, 0x0d, 0x60, 0x84, 0x55, + 0xe7, 0xe3, 0xe3, 0xec, 0xa8, 0x26, 0x6a, 0x31, 0x1e, 0xb2, 0x26, 0x32, 0x7f, 0x31, 0x63, 0x4d, + 0xcc, 0xf0, 0x17, 0x43, 0x77, 0xf1, 0xcd, 0x28, 0xd8, 0x65, 0x1b, 0xb1, 0xea, 0xd0, 0x60, 0x97, + 0xf1, 0x0a, 0x16, 0xf5, 0xd7, 0x0a, 0xb0, 0x98, 0x25, 0x1d, 0x3d, 0x0f, 0xc5, 0x8e, 0x3b, 0xe0, + 0x2d, 0x91, 0xce, 0xb2, 0xd6, 0xdc, 0xc1, 0xae, 0x6f, 0x74, 0xb1, 0x46, 0x08, 0xd0, 0x15, 0x98, + 0xea, 0xe3, 0xbe, 0xe3, 0x1d, 0xf0, 0x7a, 0x4b, 0xdb, 0x0d, 0x9b, 0x34, 0x87, 0x51, 0x73, 0x32, + 0x74, 0x2d, 0x72, 0xab, 0x59, 0x7d, 0x57, 0xa4, 0xe8, 0x81, 0x65, 0x31, 0x96, 0xd0, 0x97, 0xbe, + 0x06, 0xd3, 0xae, 0xe7, 0x74, 0xb0, 0xef, 0xf3, 0xdd, 0x90, 0x95, 0xc4, 0xe1, 0x1a, 0xc9, 0xe2, + 0x3c, 0x9c, 0x10, 0xdd, 0x02, 0x88, 0x1c, 0x28, 0xbe, 0x32, 0xd5, 0x73, 0xfd, 0x2d, 0x5f, 0x8b, + 0x51, 0xab, 0xdf, 0x2b, 0xc0, 0x52, 0xb6, 0xe6, 0xd0, 0xa5, 0xb8, 0x5e, 0x4e, 0x66, 0xa8, 0x5a, + 0x56, 0xcf, 0x6b, 0x09, 0xf5, 0xac, 0x66, 0x70, 0x64, 0x69, 0xe9, 0x66, 0x52, 0x4b, 0x67, 0x32, + 0x18, 0xb3, 0x95, 0x75, 0x33, 0xa9, 0xac, 0x2c, 0xd6, 0x6c, 0x9d, 0x35, 0x32, 0x74, 0x76, 0x2e, + 0xab, 0x8d, 0xf9, 0xaa, 0xfb, 0x6b, 0x05, 0x66, 0xe3, 0xf5, 0x92, 0x5d, 0x56, 0x25, 0xe1, 0xb2, + 0xa2, 0x2d, 0x58, 0x30, 0xd9, 0xce, 0xad, 0x6e, 0xd9, 0x01, 0xf6, 0xf6, 0x8c, 0x8e, 0xf0, 0x0a, + 0xcf, 0x65, 0x8c, 0x8b, 0xa6, 0xa0, 0x61, 0x15, 0xaf, 0x71, 0xde, 0x30, 0x99, 0xb4, 0x20, 0x94, + 0x23, 0xac, 0xd6, 0x18, 0x82, 0x62, 0x4c, 0xea, 0x3f, 0x2b, 0x70, 0x2c, 0x43, 0xc1, 0x23, 0x1a, + 0xb2, 0x9b, 0xdf, 0x90, 0xf3, 0xf9, 0x5d, 0x37, 0xb2, 0x3d, 0xef, 0x66, 0xb4, 0x67, 0x7c, 0x79, + 0xf1, 0x66, 0xfd, 0x54, 0x81, 0xe3, 0x99, 0x54, 0x99, 0xdb, 0xab, 0xd7, 0xa0, 0xec, 0x3d, 0xd1, + 0x1f, 0x1c, 0x04, 0xd8, 0xcf, 0x9a, 0xd8, 0xbb, 0xb1, 0x73, 0x9a, 0x69, 0xef, 0xc9, 0x1d, 0x42, + 0x87, 0xae, 0x43, 0xc5, 0x7b, 0xa2, 0x63, 0xcf, 0x73, 0x3c, 0x61, 0x8b, 0x72, 0x99, 0xca, 0xde, + 0x93, 0x0d, 0x4a, 0x48, 0x4a, 0x0a, 0x44, 0x49, 0xa5, 0x11, 0x25, 0x05, 0x51, 0x49, 0x41, 0x58, + 0xd2, 0xe4, 0x88, 0x92, 0x02, 0x5e, 0x92, 0xfa, 0x07, 0x05, 0x38, 0x35, 0x4c, 0x5d, 0x4f, 0x4d, + 0x11, 0x1b, 0x80, 0xbc, 0x27, 0xba, 0x6b, 0x74, 0x1e, 0xe2, 0xc0, 0xd7, 0x4d, 0xcf, 0x71, 0x5d, + 0x6c, 0x8e, 0xd2, 0x48, 0xcd, 0x7b, 0xd2, 0x62, 0x1c, 0xeb, 0x8c, 0xe1, 0x48, 0x9a, 0xd9, 0x00, + 0x14, 0xa4, 0x8b, 0x1e, 0xa1, 0xa2, 0x5a, 0x90, 0x28, 0x5a, 0xfd, 0x08, 0x66, 0xe3, 0x16, 0x62, + 0xc4, 0xd8, 0x7f, 0x13, 0xaa, 0xdc, 0x82, 0xe8, 0x1d, 0x67, 0x60, 0x07, 0xa3, 0x14, 0x35, 0xcb, + 0xa9, 0xd7, 0x08, 0xb1, 0xfa, 0xb5, 0x70, 0xba, 0x7d, 0x6a, 0x45, 0xfe, 0x55, 0x01, 0x2a, 0xcd, + 0xbe, 0xd1, 0xc5, 0x6d, 0x17, 0x77, 0xc8, 0x4a, 0x4f, 0x8f, 0xe9, 0x79, 0xbf, 0xb3, 0x0f, 0xf4, + 0xae, 0xec, 0xb5, 0x30, 0x3f, 0xf5, 0x79, 0xe9, 0xac, 0x52, 0x48, 0x18, 0x11, 0x98, 0x5c, 0x85, + 0xc5, 0x81, 0x8f, 0x3d, 0xdd, 0x77, 0x71, 0xc7, 0xda, 0xb3, 0xb0, 0xa9, 0xb3, 0xe2, 0x10, 0x2d, + 0x0e, 0x91, 0xbc, 0xb6, 0xc8, 0xa2, 0x32, 0xb3, 0x42, 0x99, 0x63, 0x59, 0xa1, 0x0c, 0xa9, 0x7a, + 0x9f, 0x36, 0x7f, 0x91, 0x6e, 0x40, 0xb2, 0x0f, 0x74, 0x06, 0x66, 0xe8, 0x0f, 0x9d, 0xe1, 0x31, + 0x8e, 0x53, 0x56, 0xa0, 0x49, 0xd4, 0x67, 0xfa, 0xc4, 0x1e, 0xd0, 0x35, 0x28, 0x7f, 0x01, 0x1f, + 0xb0, 0x3d, 0x82, 0x31, 0xf9, 0xd4, 0x6f, 0x95, 0x60, 0x39, 0xe7, 0xf4, 0x88, 0x06, 0x98, 0xee, + 0x40, 0x77, 0xb1, 0x67, 0x39, 0xa6, 0xe8, 0xec, 0x8e, 0x3b, 0x68, 0xd1, 0x04, 0x74, 0x12, 0xc8, + 0x87, 0xfe, 0xb5, 0x81, 0xc3, 0x7d, 0xd8, 0xa2, 0x56, 0xee, 0xb8, 0x83, 0x2f, 0x92, 0x6f, 0xc1, + 0xeb, 0xef, 0x1b, 0x1e, 0x66, 0x66, 0x87, 0xf1, 0xb6, 0x69, 0x02, 0x7a, 0x19, 0x8e, 0xb3, 0x25, + 0x55, 0xef, 0x59, 0x7d, 0x8b, 0x18, 0xe7, 0xd8, 0x8c, 0x2a, 0x6a, 0x88, 0x65, 0xde, 0x27, 0x79, + 0x4d, 0x9b, 0xcd, 0x21, 0x15, 0xaa, 0x8e, 0xd3, 0xd7, 0xfd, 0x8e, 0xe3, 0x61, 0xdd, 0x30, 0x3f, + 0xa2, 0xd3, 0xa7, 0xa8, 0xcd, 0x38, 0x4e, 0xbf, 0x4d, 0xd2, 0x1a, 0xe6, 0x47, 0x44, 0xc5, 0x1d, + 0x77, 0xe0, 0xe3, 0x40, 0x27, 0x7f, 0xe8, 0x1e, 0x5f, 0x45, 0x03, 0x96, 0xb4, 0xe6, 0x0e, 0xfc, + 0x18, 0x41, 0x9f, 0x44, 0x75, 0xd3, 0x71, 0x82, 0x4d, 0xdc, 0xa7, 0x07, 0xf1, 0xfb, 0x83, 0x2e, + 0x76, 0x8d, 0x2e, 0x66, 0x55, 0x13, 0x1b, 0x75, 0xd2, 0x41, 0xfc, 0xbb, 0x9c, 0x84, 0x56, 0x50, + 0x9b, 0xdb, 0x8f, 0x7f, 0xfa, 0xe8, 0x3d, 0x98, 0x1e, 0xd8, 0x74, 0xdc, 0xac, 0x54, 0x28, 0xef, + 0xd5, 0x31, 0xce, 0xea, 0x2e, 0xef, 0x32, 0x16, 0x7e, 0x74, 0xc8, 0x05, 0xa0, 0x5b, 0x50, 0xe7, + 0x8a, 0xf2, 0x1f, 0x1b, 0x6e, 0x52, 0x5b, 0x40, 0x55, 0xb0, 0xc4, 0x28, 0xda, 0x8f, 0x0d, 0x37, + 0xae, 0xb1, 0xfa, 0x2d, 0x98, 0x8d, 0x0b, 0x3d, 0xd4, 0x58, 0xba, 0x03, 0x55, 0xa9, 0x91, 0xa4, + 0xb7, 0xa9, 0x52, 0x7c, 0xeb, 0xeb, 0x62, 0x4a, 0x96, 0x49, 0x42, 0xdb, 0xfa, 0x3a, 0x85, 0x4f, + 0xd0, 0x9a, 0x51, 0x39, 0x25, 0x8d, 0x7d, 0xa8, 0x06, 0x54, 0x25, 0xc4, 0x02, 0xb1, 0xe4, 0x14, + 0x9a, 0xc0, 0x2d, 0x39, 0xf9, 0x4d, 0xd2, 0x3c, 0xa7, 0x27, 0x6a, 0x40, 0x7f, 0x93, 0x34, 0x7a, + 0x6e, 0xcd, 0x4e, 0xe1, 0xe8, 0x6f, 0x5a, 0x04, 0x7e, 0xc4, 0x71, 0x4c, 0x15, 0x8d, 0x7d, 0xa8, + 0xbf, 0xad, 0x00, 0xac, 0x19, 0xae, 0xf1, 0xc0, 0xea, 0x59, 0xc1, 0x01, 0xba, 0x00, 0x35, 0xc3, + 0x34, 0xf5, 0x8e, 0x48, 0xb1, 0xb0, 0x00, 0x96, 0xcd, 0x1b, 0xa6, 0xb9, 0x16, 0x4b, 0x46, 0x2f, + 0xc2, 0x02, 0xb1, 0xc3, 0x32, 0x2d, 0x43, 0x9a, 0xd5, 0x48, 0x86, 0x44, 0x7c, 0x03, 0x56, 0x88, + 0x5c, 0xa3, 0xff, 0xc0, 0xc2, 0x76, 0x20, 0xf3, 0x30, 0x08, 0xda, 0x92, 0x61, 0x9a, 0x0d, 0x96, + 0x1d, 0xe7, 0x54, 0x7f, 0x77, 0x1a, 0x4e, 0xcb, 0x3d, 0x9e, 0x04, 0x91, 0xdc, 0x82, 0xd9, 0x44, + 0x7d, 0x53, 0xf0, 0x8b, 0xa8, 0x85, 0x9a, 0x44, 0x9b, 0x80, 0x30, 0x14, 0x52, 0x10, 0x86, 0x4c, + 0x80, 0x4a, 0xf1, 0x29, 0x01, 0x54, 0x4a, 0x9f, 0x10, 0xa0, 0x32, 0x79, 0x54, 0x80, 0xca, 0xec, + 0xd8, 0x00, 0x95, 0xe7, 0xa9, 0xc5, 0x16, 0x25, 0x52, 0x2f, 0x82, 0xd9, 0x84, 0x6a, 0x28, 0xdd, + 0x16, 0x68, 0xc7, 0x04, 0x90, 0x65, 0xfa, 0x30, 0x40, 0x96, 0xf2, 0x11, 0x81, 0x2c, 0x0b, 0x4f, + 0x05, 0xc8, 0x72, 0x16, 0x66, 0x6d, 0x47, 0xb7, 0xf1, 0x63, 0x9d, 0x74, 0xbd, 0x4f, 0xe1, 0x31, + 0x65, 0x0d, 0x6c, 0x67, 0x0b, 0x3f, 0x6e, 0x91, 0x14, 0x74, 0x0e, 0x66, 0xfb, 0x86, 0xff, 0x10, + 0x9b, 0x14, 0x51, 0xe2, 0xaf, 0x54, 0xe9, 0x98, 0x9d, 0x61, 0x69, 0x2d, 0x92, 0x84, 0x9e, 0x83, + 0xb0, 0xad, 0x9c, 0x68, 0x8e, 0x12, 0x55, 0x45, 0x2a, 0x23, 0x8b, 0x81, 0x62, 0xe6, 0x8f, 0x08, + 0x8a, 0xa9, 0x1d, 0x06, 0x14, 0x73, 0x09, 0x6a, 0xe2, 0xb7, 0x40, 0xc5, 0xb0, 0x43, 0x0e, 0x0a, + 0x88, 0x99, 0x17, 0x79, 0x02, 0xf9, 0x92, 0x87, 0xa1, 0x81, 0xa1, 0x18, 0x9a, 0x3f, 0x54, 0x78, + 0xb8, 0x1d, 0x4e, 0x52, 0x7e, 0x78, 0x2f, 0xe1, 0x2e, 0x94, 0xa3, 0xe0, 0x2e, 0xd0, 0x4e, 0x2e, + 0x32, 0xe5, 0x42, 0xbe, 0xa4, 0x51, 0xd8, 0x14, 0xd5, 0x02, 0x24, 0x73, 0xd0, 0x89, 0xc2, 0xd1, + 0x17, 0x6c, 0xa5, 0xa6, 0xe8, 0x8b, 0x1a, 0x14, 0xbb, 0x1c, 0x8f, 0x51, 0xd4, 0xc8, 0xcf, 0xbc, + 0x11, 0x5c, 0xcc, 0x1b, 0xc1, 0xea, 0x66, 0x18, 0x74, 0x3f, 0x0d, 0xc0, 0xa0, 0xfa, 0x1f, 0x0a, + 0x9c, 0xe6, 0xf2, 0x72, 0x50, 0x75, 0x19, 0x93, 0x56, 0xc9, 0x99, 0xb4, 0x1d, 0x0f, 0x9b, 0xd8, + 0x0e, 0x2c, 0xa3, 0x47, 0xdd, 0x38, 0x71, 0x8e, 0x1e, 0x25, 0x53, 0x4f, 0xf2, 0x1c, 0xcc, 0x32, + 0x14, 0x2d, 0x8f, 0xbf, 0x19, 0x58, 0x76, 0x86, 0x02, 0x69, 0x79, 0x88, 0xbd, 0x9d, 0x65, 0x28, + 0x4b, 0xb9, 0x1b, 0x37, 0x23, 0xed, 0xa5, 0xea, 0xc0, 0x72, 0x0e, 0xa2, 0x21, 0x73, 0x44, 0x28, + 0xe9, 0x11, 0x31, 0x54, 0x49, 0xe9, 0x11, 0xf1, 0x2d, 0x05, 0xce, 0xa4, 0xf6, 0x01, 0x3e, 0x7b, + 0xcd, 0xaa, 0x7f, 0xa2, 0x84, 0xe3, 0x27, 0x39, 0xbb, 0xd6, 0xd2, 0xb3, 0xeb, 0xb9, 0x61, 0xdb, + 0x1a, 0x99, 0xf3, 0xeb, 0xfd, 0xdc, 0xf9, 0xf5, 0xe2, 0xd0, 0x2d, 0x92, 0x51, 0xfa, 0xfc, 0x57, + 0x05, 0x4e, 0xe4, 0x56, 0x20, 0xe1, 0xde, 0x2a, 0x49, 0xf7, 0x96, 0xbb, 0xc6, 0x51, 0x0c, 0xc4, + 0x5c, 0xe3, 0x35, 0x11, 0x07, 0x90, 0xcc, 0xbe, 0xf1, 0xc4, 0xea, 0x0f, 0xfa, 0xdc, 0x37, 0x26, + 0xe2, 0x36, 0x59, 0xca, 0x51, 0x9c, 0xe3, 0x2b, 0xb0, 0xc8, 0xd6, 0x2d, 0xea, 0x9f, 0x45, 0x1c, + 0xcc, 0x47, 0x5e, 0x60, 0x79, 0xc4, 0x55, 0xe3, 0x0c, 0x6a, 0x03, 0x16, 0xc2, 0x66, 0x0d, 0x45, + 0x74, 0xc5, 0x10, 0x5a, 0x05, 0x19, 0xa1, 0x65, 0xc3, 0xd4, 0x3a, 0x7e, 0x64, 0x75, 0xf0, 0x53, + 0x41, 0xb3, 0x9f, 0x85, 0x19, 0x17, 0x7b, 0x7d, 0xcb, 0xf7, 0x43, 0x27, 0xa5, 0xa2, 0xc5, 0x93, + 0xd4, 0x33, 0x50, 0x59, 0x5b, 0x6f, 0xf2, 0x22, 0x33, 0xaa, 0xaa, 0xfe, 0xe7, 0x14, 0xcc, 0x27, + 0xc7, 0xd8, 0xcd, 0x14, 0x62, 0xec, 0x74, 0xe6, 0x6e, 0x63, 0xc6, 0x36, 0xfb, 0x8b, 0x22, 0x00, + 0x2d, 0xa4, 0xe1, 0x14, 0x61, 0x90, 0x29, 0xe2, 0xd2, 0x15, 0x98, 0xee, 0x38, 0xfd, 0xbe, 0x61, + 0x9b, 0xe2, 0x4e, 0x02, 0xff, 0x24, 0x35, 0x35, 0xbc, 0x2e, 0xdb, 0x60, 0xaf, 0x68, 0xf4, 0x37, + 0x19, 0x02, 0xc4, 0x18, 0x5a, 0x36, 0xc5, 0x9c, 0xd1, 0x5e, 0xaa, 0x68, 0xc0, 0x93, 0xd6, 0x2d, + 0x0f, 0x9d, 0x87, 0x12, 0xb6, 0x1f, 0x89, 0x93, 0x37, 0x69, 0xa3, 0x57, 0x84, 0x78, 0x1a, 0xa5, + 0x40, 0x17, 0x60, 0x8a, 0x86, 0x90, 0x02, 0x97, 0xb0, 0x90, 0xc2, 0xee, 0x6b, 0x9c, 0x00, 0xbd, + 0x04, 0xd3, 0x26, 0xd5, 0x9e, 0x88, 0x69, 0x90, 0x84, 0x5e, 0xa3, 0x59, 0x9a, 0x20, 0x41, 0xef, + 0x84, 0xa7, 0x0c, 0x95, 0xf4, 0xf1, 0x5f, 0x42, 0xcd, 0x99, 0x07, 0x0c, 0x5b, 0x72, 0xa8, 0x0e, + 0xe9, 0xb3, 0x8a, 0xa4, 0x94, 0xe1, 0x01, 0xfb, 0x09, 0x28, 0xf7, 0x9c, 0x2e, 0x1b, 0x3d, 0x33, + 0xec, 0x42, 0x4b, 0xcf, 0xe9, 0xd2, 0xc1, 0xb3, 0x08, 0x93, 0x7e, 0x60, 0x5a, 0x36, 0x75, 0x0d, + 0xcb, 0x1a, 0xfb, 0x20, 0x93, 0x94, 0xfe, 0xd0, 0x1d, 0xbb, 0x83, 0x57, 0xaa, 0x34, 0xab, 0x42, + 0x53, 0xb6, 0xed, 0x0e, 0x0d, 0x91, 0x83, 0xe0, 0x60, 0x65, 0x8e, 0xa6, 0x93, 0x9f, 0xd1, 0x66, + 0xff, 0x7c, 0xce, 0x66, 0x7f, 0xa2, 0xc2, 0x19, 0x9b, 0xfd, 0xb5, 0xdc, 0x35, 0x23, 0xc9, 0x2b, + 0x58, 0x88, 0x5b, 0xbc, 0xb6, 0xde, 0xd4, 0x45, 0xd7, 0x2c, 0xa4, 0xd1, 0xfb, 0xe1, 0xb0, 0xd7, + 0x20, 0xfc, 0xf9, 0x99, 0x9e, 0xb5, 0x7c, 0x4f, 0x81, 0xa5, 0x35, 0x7a, 0xd2, 0x1c, 0xb3, 0x8d, + 0x87, 0x01, 0x69, 0xbd, 0x12, 0x22, 0xe7, 0x32, 0xe0, 0x4f, 0x49, 0x4d, 0x09, 0xe0, 0xdc, 0x1a, + 0xcc, 0x09, 0xb1, 0x9c, 0xb9, 0x38, 0x06, 0xec, 0xae, 0xea, 0xc7, 0x3f, 0xd5, 0x37, 0x61, 0x39, + 0x55, 0x73, 0x7e, 0xde, 0x97, 0xbc, 0xe6, 0xc1, 0x2a, 0x1e, 0xbf, 0xe6, 0xa1, 0xde, 0x82, 0xe3, + 0xed, 0xc0, 0xf0, 0x82, 0x54, 0xb3, 0xc7, 0xe0, 0xa5, 0x80, 0x3a, 0x99, 0x97, 0x63, 0xde, 0xda, + 0xb0, 0xd8, 0x0e, 0x1c, 0xf7, 0x08, 0x42, 0x89, 0xdd, 0x21, 0x2d, 0x77, 0x06, 0x62, 0x9d, 0x11, + 0x9f, 0xea, 0x32, 0x83, 0xff, 0xa5, 0x4b, 0x7b, 0x03, 0x96, 0x18, 0xfa, 0xee, 0x28, 0x8d, 0x38, + 0x21, 0xb0, 0x7f, 0x69, 0xb9, 0xf7, 0xe0, 0x98, 0x74, 0x02, 0xc1, 0xd1, 0x2a, 0x57, 0x65, 0xb4, + 0x4a, 0xfe, 0x61, 0x4f, 0x08, 0x56, 0xf9, 0x8d, 0x42, 0xcc, 0x8e, 0xe7, 0x1c, 0x59, 0xbf, 0x2a, + 0x63, 0x55, 0xce, 0xe4, 0x4b, 0x95, 0xa0, 0x2a, 0xe9, 0xd1, 0x59, 0xcc, 0x18, 0x9d, 0xbb, 0xa9, + 0xf3, 0xf0, 0x52, 0x1a, 0x6b, 0x94, 0xa8, 0xe1, 0xa7, 0x72, 0x12, 0x7e, 0x9f, 0xe1, 0x59, 0xc2, + 0xa2, 0xc3, 0x43, 0xf0, 0x57, 0x12, 0x87, 0xe0, 0x27, 0x87, 0xd4, 0x34, 0x3c, 0xfe, 0xfe, 0x6e, + 0x09, 0x2a, 0x61, 0x5e, 0x4a, 0xc3, 0x69, 0x55, 0x15, 0x32, 0x54, 0x15, 0x5f, 0x5f, 0x8b, 0x47, + 0x5c, 0x5f, 0x4b, 0x63, 0xac, 0xaf, 0xd2, 0x2d, 0xae, 0x49, 0xf9, 0x16, 0x57, 0x34, 0xc4, 0xa6, + 0xc6, 0x1c, 0x62, 0x09, 0xec, 0xcc, 0x74, 0x12, 0x3b, 0x73, 0x33, 0x5c, 0xfb, 0xca, 0xe9, 0xb3, + 0xaa, 0x50, 0x62, 0xe6, 0xaa, 0x97, 0xd8, 0xa0, 0xae, 0xa4, 0x37, 0xa8, 0x23, 0xfe, 0x91, 0xeb, + 0x1d, 0x6b, 0xb2, 0x65, 0xb2, 0xf8, 0x55, 0x9b, 0xa6, 0xdf, 0x4d, 0xf3, 0xb3, 0x34, 0xfd, 0xdb, + 0x0c, 0x2b, 0x13, 0x1f, 0x82, 0xdc, 0x7c, 0xbe, 0x2a, 0x1d, 0x53, 0x2a, 0x19, 0xcb, 0x58, 0x68, + 0x32, 0xe2, 0x47, 0x93, 0xbb, 0xb0, 0x94, 0xc4, 0xd8, 0x1d, 0xca, 0xfc, 0xe5, 0x80, 0x7d, 0x7f, + 0x14, 0x77, 0x06, 0x73, 0x90, 0xad, 0x37, 0x53, 0x20, 0x8c, 0xb1, 0x07, 0xef, 0x55, 0x19, 0xaf, + 0x75, 0xe8, 0x21, 0x97, 0x82, 0x6b, 0x51, 0x67, 0xc5, 0xf0, 0x78, 0x36, 0xf3, 0xdb, 0x2b, 0x3c, + 0xa5, 0x41, 0x83, 0x86, 0x3d, 0xcb, 0xb6, 0xfc, 0x7d, 0x96, 0x3f, 0xc5, 0x82, 0x06, 0x91, 0xd4, + 0xa0, 0xfb, 0xb3, 0xf8, 0x89, 0x15, 0xe8, 0x1d, 0xc7, 0xc4, 0x74, 0x40, 0x4f, 0x6a, 0x65, 0x92, + 0xb0, 0xe6, 0x98, 0x38, 0x9a, 0x6a, 0xe5, 0xc3, 0x4e, 0xb5, 0xc4, 0x85, 0x49, 0xb4, 0x04, 0x53, + 0x1e, 0x36, 0x7c, 0xc7, 0xe6, 0x43, 0x92, 0x7f, 0x91, 0x8e, 0xe8, 0x63, 0xdf, 0x27, 0x65, 0x70, + 0xdf, 0x8c, 0x7f, 0xc6, 0xfc, 0xc8, 0xd9, 0x21, 0x7e, 0xe4, 0x10, 0xdc, 0x6c, 0xc2, 0x8f, 0xac, + 0x0e, 0xf1, 0x23, 0xc7, 0x82, 0xcd, 0x46, 0x1e, 0xf3, 0xdc, 0x28, 0x8f, 0x39, 0xee, 0x72, 0xce, + 0xcb, 0x2e, 0xe7, 0x9b, 0xf1, 0xe0, 0xb5, 0x96, 0x46, 0x11, 0x0c, 0x8f, 0x5a, 0xe3, 0x73, 0x7b, + 0x41, 0x9a, 0xdb, 0xe8, 0x12, 0xdf, 0x24, 0x47, 0xe9, 0xed, 0x55, 0x69, 0xb7, 0x87, 0xed, 0x9f, + 0x7f, 0x96, 0xa6, 0xe0, 0x1f, 0x14, 0x58, 0x4e, 0x4d, 0x5d, 0x6e, 0x0c, 0x5e, 0x49, 0x40, 0x7b, + 0x87, 0x62, 0x6a, 0x05, 0xb2, 0xb7, 0x21, 0x21, 0x7b, 0x2f, 0x0d, 0x63, 0xc9, 0x01, 0xf6, 0x1e, + 0x1d, 0x6c, 0xfb, 0x4d, 0x05, 0x50, 0x46, 0xa0, 0x7f, 0x53, 0x84, 0x04, 0x87, 0xd8, 0xfd, 0xe3, + 0x51, 0xc1, 0x3b, 0x51, 0x54, 0x50, 0x38, 0xcc, 0xe6, 0x46, 0x88, 0x02, 0xda, 0x80, 0xaa, 0xbc, + 0xbf, 0x77, 0x5d, 0xae, 0xcc, 0x6a, 0x7e, 0x65, 0xe8, 0x00, 0x61, 0xc4, 0xea, 0x8f, 0x0a, 0x70, + 0x66, 0xd7, 0x35, 0x13, 0x2e, 0x2f, 0x2f, 0x6c, 0x7c, 0x53, 0x7b, 0x53, 0x46, 0x42, 0x1d, 0x51, + 0x13, 0xc5, 0xa3, 0x68, 0x02, 0x7d, 0x35, 0x0b, 0xab, 0xf6, 0xa6, 0x74, 0xaa, 0x3c, 0xbc, 0x81, + 0x23, 0x60, 0x6b, 0x9f, 0x74, 0x26, 0xa8, 0x70, 0x36, 0xbf, 0x02, 0xdc, 0x3d, 0xfe, 0x79, 0x98, + 0xdf, 0x78, 0x82, 0x3b, 0xed, 0x03, 0xbb, 0x73, 0x08, 0xad, 0xd7, 0xa0, 0xd8, 0xe9, 0x9b, 0xfc, + 0x60, 0x8a, 0xfc, 0x8c, 0x7b, 0xfc, 0x45, 0xd9, 0xe3, 0xd7, 0xa1, 0x16, 0x95, 0xc0, 0xe7, 0xe1, + 0x12, 0x99, 0x87, 0x26, 0x21, 0x26, 0xc2, 0x67, 0x35, 0xfe, 0xc5, 0xd3, 0xb1, 0xc7, 0xee, 0x1e, + 0xb1, 0x74, 0xec, 0x79, 0xf2, 0x32, 0x52, 0x94, 0x97, 0x11, 0xf5, 0xdb, 0x0a, 0xcc, 0x90, 0x12, + 0x3e, 0x51, 0xfd, 0x79, 0xd8, 0x5d, 0x8c, 0xc2, 0xee, 0x30, 0x7a, 0x2f, 0xc5, 0xa3, 0xf7, 0xa8, + 0xe6, 0x93, 0x34, 0x39, 0x5d, 0xf3, 0xa9, 0x30, 0x1d, 0x7b, 0x9e, 0x7a, 0x16, 0x66, 0x59, 0xdd, + 0x78, 0xcb, 0x6b, 0x50, 0x1c, 0x78, 0x3d, 0xd1, 0x7f, 0x03, 0xaf, 0xa7, 0x7e, 0x43, 0x81, 0x6a, + 0x23, 0x08, 0x8c, 0xce, 0xfe, 0x21, 0x1a, 0x10, 0x56, 0xae, 0x10, 0xaf, 0x5c, 0xba, 0x11, 0x51, + 0x75, 0x4b, 0x39, 0xd5, 0x9d, 0x94, 0xaa, 0xab, 0xc2, 0x9c, 0xa8, 0x4b, 0x6e, 0x85, 0xb7, 0x00, + 0xb5, 0x1c, 0x2f, 0xb8, 0xeb, 0x78, 0x8f, 0x0d, 0xcf, 0x3c, 0x5c, 0x84, 0x8d, 0xa0, 0xc4, 0x9f, + 0xaf, 0x28, 0x9e, 0x9f, 0xd4, 0xe8, 0x6f, 0xf5, 0x05, 0x38, 0x26, 0xc9, 0xcb, 0x2d, 0xf8, 0x16, + 0xcc, 0x50, 0xb7, 0x80, 0x07, 0x5f, 0x2f, 0xc6, 0xa1, 0x18, 0x23, 0xdc, 0x07, 0x75, 0x1d, 0x16, + 0x88, 0x83, 0x48, 0xd3, 0x43, 0xfb, 0x72, 0x25, 0x11, 0x9f, 0x2c, 0xa7, 0x44, 0x24, 0x62, 0x93, + 0x5f, 0x2d, 0xc0, 0x24, 0x43, 0x5d, 0x24, 0x9d, 0xb6, 0x93, 0x64, 0xe1, 0x75, 0x1d, 0x3d, 0x30, + 0xba, 0xe1, 0xd3, 0x20, 0x24, 0x61, 0xc7, 0xe8, 0xd2, 0x83, 0x2e, 0x9a, 0x69, 0x5a, 0x5d, 0xec, + 0x07, 0xe2, 0x70, 0x76, 0x86, 0xa4, 0xad, 0xb3, 0x24, 0xa2, 0x18, 0x7a, 0x86, 0x5d, 0xa2, 0x47, + 0xd5, 0xf4, 0x37, 0x3a, 0xcf, 0x0e, 0x4e, 0x86, 0x9f, 0x48, 0xd2, 0x03, 0x95, 0x3a, 0x94, 0x13, + 0x47, 0x89, 0xe1, 0x37, 0xba, 0x00, 0x25, 0xba, 0x57, 0x3e, 0x3d, 0x4c, 0x4b, 0x94, 0x84, 0x8c, + 0x0a, 0xd7, 0xb2, 0x6d, 0x6c, 0xf2, 0x77, 0x2b, 0xf8, 0x17, 0x69, 0x1c, 0xc3, 0x88, 0xc4, 0x7c, + 0x2f, 0x9a, 0xa0, 0xe1, 0x3d, 0xf5, 0x1d, 0x40, 0x71, 0xcd, 0xf2, 0xde, 0xbb, 0x00, 0x53, 0x54, + 0xf1, 0xc2, 0xe5, 0x5e, 0x48, 0x95, 0xab, 0x71, 0x02, 0xf5, 0x2b, 0x80, 0x58, 0x45, 0x24, 0x37, + 0xfb, 0x30, 0xbd, 0x3b, 0xc4, 0xe1, 0xfe, 0x53, 0x05, 0x8e, 0x49, 0xd2, 0x79, 0xfd, 0x5e, 0x90, + 0xc5, 0x67, 0x54, 0x8f, 0x8b, 0x7e, 0x4b, 0x5a, 0xfd, 0x2f, 0xa4, 0xab, 0xf1, 0xff, 0xb4, 0xf2, + 0xff, 0xa3, 0x02, 0xd0, 0x18, 0x04, 0xfb, 0x7c, 0xc7, 0x38, 0xde, 0xc3, 0x4a, 0xa2, 0x87, 0xeb, + 0x50, 0x76, 0x0d, 0xdf, 0x7f, 0xec, 0x78, 0x22, 0x1a, 0x0e, 0xbf, 0xe9, 0x3e, 0xef, 0x80, 0xbf, + 0xff, 0x51, 0xd1, 0xe8, 0x6f, 0xf4, 0x1c, 0xcc, 0xb1, 0x07, 0x6d, 0x74, 0xc3, 0x34, 0x3d, 0x81, + 0xfd, 0xac, 0x68, 0x55, 0x96, 0xda, 0x60, 0x89, 0x84, 0xcc, 0xa2, 0xc7, 0x2a, 0xc1, 0x81, 0x1e, + 0x38, 0x0f, 0xb1, 0xcd, 0x23, 0xdc, 0xaa, 0x48, 0xdd, 0x21, 0x89, 0xec, 0x88, 0xb6, 0x6b, 0xf9, + 0x81, 0x27, 0xc8, 0xc4, 0x61, 0x36, 0x4f, 0xa5, 0x64, 0xea, 0x1f, 0x29, 0x50, 0x6b, 0x0d, 0x7a, + 0x3d, 0xa6, 0xdc, 0xa3, 0x74, 0xf2, 0x45, 0xde, 0x94, 0x42, 0x7a, 0x3e, 0x44, 0x8a, 0xe2, 0x4d, + 0x7c, 0x2a, 0x9b, 0x72, 0x9b, 0xb0, 0x10, 0xab, 0x31, 0x1f, 0x38, 0x52, 0x1c, 0xa2, 0x24, 0xe2, + 0x10, 0x69, 0xa2, 0x14, 0x12, 0x13, 0xa5, 0x01, 0x88, 0x6d, 0x52, 0x1d, 0x59, 0x05, 0xea, 0x71, + 0x38, 0x26, 0x89, 0xe0, 0x8b, 0xf8, 0x45, 0xa8, 0x72, 0x90, 0x22, 0x1f, 0x2d, 0x27, 0xa0, 0x4c, + 0x8c, 0x71, 0xc7, 0x32, 0x05, 0xac, 0x65, 0xda, 0x75, 0xcc, 0x35, 0xcb, 0xf4, 0xd4, 0x2f, 0x42, + 0x95, 0xbf, 0x82, 0xc0, 0x69, 0x6f, 0xc3, 0x1c, 0x3f, 0x05, 0xd5, 0xa5, 0x6b, 0xc3, 0x27, 0x32, + 0x90, 0xb0, 0x42, 0x4f, 0x76, 0xfc, 0x53, 0xfd, 0x2a, 0xd4, 0x99, 0x9f, 0x21, 0x09, 0x16, 0x0d, + 0xbc, 0x0d, 0x02, 0x88, 0x36, 0x44, 0xbe, 0xcc, 0x59, 0xf5, 0xe2, 0x9f, 0xea, 0x69, 0x38, 0x99, + 0x29, 0x9f, 0xb7, 0xde, 0x85, 0x5a, 0x94, 0xc1, 0xee, 0xb6, 0x86, 0x58, 0x1d, 0x25, 0x86, 0xd5, + 0x59, 0x0a, 0x9d, 0xff, 0x82, 0x58, 0xf3, 0xa8, 0x7f, 0x1f, 0x05, 0x8f, 0xc5, 0xbc, 0xe0, 0xb1, + 0x24, 0x05, 0x8f, 0xea, 0x66, 0xa8, 0x43, 0x1e, 0xc2, 0xbf, 0x49, 0x37, 0x19, 0x58, 0xd9, 0xc2, + 0xe2, 0x9d, 0xca, 0x6e, 0x1f, 0x23, 0xd2, 0x62, 0xf4, 0xea, 0x05, 0xa8, 0xca, 0xb6, 0x2f, 0x66, + 0xce, 0x14, 0xd9, 0x9c, 0xfd, 0x02, 0x2c, 0x69, 0x12, 0xaa, 0xef, 0x2e, 0x36, 0x82, 0x81, 0x87, + 0x7d, 0xf4, 0x06, 0xd4, 0x33, 0x1e, 0x20, 0xd2, 0x79, 0x4c, 0xc9, 0xc4, 0x2c, 0xa7, 0xde, 0x21, + 0xda, 0x64, 0x11, 0xe5, 0x0b, 0x30, 0x4f, 0x51, 0x87, 0xb1, 0xdb, 0xba, 0x4c, 0x47, 0xf4, 0x3d, + 0x9b, 0xad, 0xe8, 0x6a, 0xae, 0x19, 0xbe, 0xa1, 0x21, 0x50, 0x85, 0x59, 0xa7, 0x73, 0x6f, 0x43, + 0x79, 0x8f, 0xd7, 0x8b, 0xcf, 0x56, 0x35, 0x43, 0x19, 0x89, 0x16, 0x68, 0x21, 0x8f, 0xfa, 0x3f, + 0x0a, 0xcc, 0x25, 0xec, 0xf5, 0xcb, 0x89, 0xc8, 0x2d, 0x6b, 0xf4, 0x24, 0xe2, 0xb6, 0x1b, 0x92, + 0xe5, 0x96, 0xe1, 0x2c, 0xc3, 0xef, 0x61, 0x6e, 0x40, 0x2d, 0x01, 0xa9, 0x14, 0x70, 0xea, 0x7a, + 0x7e, 0x3b, 0xb4, 0x79, 0x19, 0x6f, 0xe9, 0x1f, 0xdd, 0xf6, 0x2f, 0xf2, 0x15, 0xf1, 0xae, 0x4f, + 0xf8, 0xf9, 0xa8, 0x50, 0x9f, 0x81, 0x99, 0xdd, 0xbc, 0xc7, 0x81, 0x4a, 0x02, 0x39, 0xf9, 0x1a, + 0x2c, 0xde, 0xb5, 0x7a, 0xd8, 0x3f, 0xf0, 0x03, 0xdc, 0x6f, 0x52, 0x43, 0xbd, 0x67, 0x61, 0x0f, + 0xad, 0x02, 0xc3, 0x74, 0xba, 0x8e, 0x15, 0x3e, 0x56, 0x12, 0x4b, 0x51, 0x7f, 0xa8, 0xc0, 0x7c, + 0xc4, 0x38, 0x0e, 0xaa, 0xf6, 0x55, 0x98, 0xdc, 0xf3, 0xc5, 0x06, 0x6c, 0xe2, 0x58, 0x2a, 0xab, + 0x0a, 0x5a, 0x69, 0xcf, 0x6f, 0x9a, 0xe8, 0x35, 0x80, 0x81, 0x8f, 0x4d, 0x7e, 0x12, 0x3c, 0x02, + 0xe7, 0x5c, 0x21, 0xa4, 0xec, 0x2c, 0xf9, 0x06, 0xcc, 0x58, 0xb6, 0x63, 0x62, 0x8a, 0x12, 0x30, + 0x47, 0x61, 0x9c, 0x81, 0xd1, 0xee, 0xfa, 0xd8, 0x54, 0x7f, 0x2f, 0x3a, 0xeb, 0xff, 0x3c, 0xb7, + 0x50, 0xfd, 0x63, 0xe1, 0xaa, 0x88, 0x6e, 0xe7, 0x43, 0xff, 0x5d, 0x58, 0x60, 0x2b, 0xce, 0x5e, + 0x58, 0x66, 0xe6, 0xe5, 0xaf, 0x44, 0xe3, 0xb4, 0x9a, 0xc5, 0x3d, 0x58, 0xc1, 0x84, 0x5a, 0x70, + 0x3c, 0x0a, 0x2c, 0xe2, 0xd2, 0x0a, 0xa3, 0xa5, 0x2d, 0x76, 0x62, 0xfb, 0xf5, 0x82, 0x51, 0xbd, + 0x05, 0xc7, 0x13, 0xf7, 0x3b, 0xc6, 0x3f, 0xb4, 0x79, 0x2f, 0xb1, 0xc5, 0x1a, 0x4d, 0xf6, 0xab, + 0xf2, 0xb5, 0xc2, 0x61, 0x37, 0x71, 0xf8, 0x0d, 0xb7, 0x5d, 0x38, 0x21, 0xed, 0xff, 0x4a, 0x75, + 0xb9, 0x91, 0x70, 0xf3, 0xcf, 0xe6, 0xcb, 0x4b, 0xf8, 0xfb, 0xff, 0xa5, 0xc0, 0x62, 0x16, 0xc1, + 0x11, 0x8f, 0x25, 0x3e, 0xcc, 0xb9, 0x92, 0xfc, 0xca, 0xa8, 0x0a, 0x7d, 0x2a, 0xc7, 0x38, 0x5b, + 0xec, 0x42, 0xe3, 0xe8, 0x3e, 0x29, 0x8e, 0xd7, 0x27, 0x3f, 0x29, 0xc4, 0x8e, 0xde, 0x86, 0x5c, + 0x3a, 0xfc, 0x04, 0xfb, 0xdd, 0x6b, 0x89, 0x3b, 0x87, 0x2f, 0x66, 0x32, 0x8e, 0xb8, 0x72, 0xa8, + 0x65, 0x6d, 0xe3, 0x5c, 0x1d, 0x25, 0xe9, 0x73, 0x7b, 0xe3, 0xf0, 0x37, 0x0b, 0x30, 0x27, 0x77, + 0x08, 0x7a, 0x27, 0xe3, 0xc2, 0xe1, 0x99, 0x11, 0x0d, 0x94, 0xee, 0x1b, 0xf2, 0x0b, 0x7e, 0x85, + 0xf1, 0x2f, 0xf8, 0x15, 0xc7, 0xbb, 0xe0, 0x77, 0x07, 0xe6, 0x1e, 0x7b, 0x56, 0x60, 0x3c, 0xe8, + 0x61, 0xbd, 0x67, 0x1c, 0x60, 0x8f, 0x1b, 0xf6, 0xa1, 0xa6, 0xa8, 0x2a, 0x58, 0xee, 0x13, 0x0e, + 0x1a, 0xe0, 0x3e, 0x36, 0x5c, 0x1e, 0x27, 0x4b, 0x0e, 0x74, 0xfb, 0xb1, 0xe1, 0x32, 0x1e, 0x4a, + 0xa2, 0x7e, 0xa3, 0x00, 0xc7, 0x33, 0xaf, 0xa5, 0x7d, 0x72, 0x15, 0x5d, 0x8a, 0xab, 0xe8, 0x30, + 0x77, 0xfd, 0x8a, 0x87, 0xba, 0xeb, 0xd7, 0xcc, 0x51, 0x58, 0x16, 0xb6, 0x63, 0xb8, 0xde, 0xd4, + 0xbf, 0x50, 0xa0, 0x2c, 0x2a, 0x35, 0xf2, 0xe6, 0xdd, 0xf2, 0x80, 0x90, 0xe9, 0xf4, 0x9a, 0x83, + 0x6d, 0xd8, 0x8e, 0xee, 0x63, 0xe2, 0xc1, 0x8e, 0xbc, 0xe7, 0xb4, 0x48, 0xf9, 0xd6, 0x1c, 0x0f, + 0x6f, 0x19, 0xb6, 0xd3, 0x66, 0x4c, 0xa8, 0x01, 0x35, 0x26, 0x8f, 0x8a, 0x22, 0x42, 0x47, 0x2e, + 0x94, 0x73, 0x94, 0x81, 0x08, 0x21, 0xc2, 0x7c, 0xf5, 0x6f, 0x14, 0x98, 0x4f, 0x68, 0xf6, 0x67, + 0xaf, 0x11, 0xdf, 0x29, 0xc2, 0x4c, 0xac, 0x97, 0x47, 0x34, 0x60, 0x0d, 0x16, 0x04, 0x3e, 0xcb, + 0xc7, 0xc1, 0x78, 0xf7, 0xcc, 0xe6, 0x39, 0x47, 0x1b, 0x07, 0xcc, 0x8f, 0xba, 0x0d, 0xf3, 0xc6, + 0x23, 0xc3, 0xea, 0xd1, 0x11, 0x34, 0x96, 0x8b, 0x32, 0x17, 0xd2, 0x87, 0x9e, 0x18, 0x6b, 0xf7, + 0x58, 0xb7, 0xcd, 0x80, 0xd2, 0x46, 0x97, 0xfe, 0x7c, 0x3f, 0x06, 0x02, 0x1c, 0x7a, 0xe9, 0xcf, + 0xf7, 0xc3, 0xf2, 0xe8, 0x1d, 0x0f, 0x7a, 0xdb, 0xd1, 0xe7, 0x4f, 0xe4, 0xe4, 0x97, 0x47, 0x68, + 0xef, 0x52, 0x52, 0xa2, 0xb0, 0xbe, 0xf1, 0x91, 0xe3, 0xe9, 0x71, 0xfe, 0xe9, 0x11, 0x0a, 0xa3, + 0x1c, 0xad, 0x50, 0x88, 0xfa, 0x67, 0x0a, 0x54, 0x42, 0x3b, 0x32, 0xa2, 0x87, 0x9a, 0xb0, 0x48, + 0x2f, 0xc4, 0x24, 0x35, 0x3c, 0xa2, 0x93, 0x10, 0x61, 0x6a, 0xc8, 0x5a, 0x6e, 0x40, 0x8d, 0x8a, + 0x8a, 0xab, 0x7a, 0x54, 0x47, 0xf9, 0xa2, 0x9a, 0xcc, 0xa1, 0xfc, 0xcb, 0x02, 0xa0, 0xb4, 0x29, + 0xf9, 0x99, 0x19, 0x64, 0xf1, 0x4e, 0x2b, 0x8d, 0xdf, 0xe9, 0xf7, 0xe0, 0x58, 0xc7, 0xe9, 0xf7, + 0x2d, 0x7a, 0x99, 0xca, 0xf1, 0x0e, 0xc6, 0x1b, 0x6e, 0x0b, 0x8c, 0x87, 0xe9, 0x89, 0xa9, 0xef, + 0x6d, 0x38, 0xa1, 0x61, 0xc7, 0xc5, 0x76, 0x68, 0xfa, 0xef, 0x3b, 0xdd, 0x43, 0xf8, 0xb7, 0xa7, + 0xa0, 0x9e, 0xc5, 0xcf, 0x77, 0x2d, 0x06, 0x50, 0x5f, 0xdb, 0xc7, 0x9d, 0x87, 0x34, 0xfc, 0x3a, + 0x0a, 0xc6, 0xaa, 0x0e, 0xe5, 0x9e, 0xd3, 0x61, 0x0f, 0x24, 0xf3, 0xad, 0x26, 0xf1, 0x3d, 0xe4, + 0x34, 0xe6, 0x34, 0x9c, 0xcc, 0x2c, 0x96, 0xd7, 0x0a, 0x41, 0xed, 0x1e, 0x0e, 0x36, 0x1e, 0x61, + 0x3b, 0x74, 0x9f, 0xd5, 0xef, 0x17, 0x62, 0x8e, 0x3a, 0xcd, 0x3a, 0x04, 0x36, 0x0d, 0xb5, 0x20, + 0x8a, 0x1c, 0x74, 0x4c, 0xb8, 0xd9, 0xeb, 0x9f, 0xec, 0x6d, 0xde, 0xec, 0xc3, 0x69, 0x5a, 0x08, + 0x7d, 0xf4, 0x33, 0x7a, 0xd7, 0x28, 0x4c, 0x4b, 0x40, 0x16, 0x8a, 0x49, 0xc8, 0xc2, 0x7b, 0x80, + 0xe2, 0xae, 0x38, 0xdf, 0x35, 0x28, 0x8d, 0xf1, 0x94, 0x53, 0xcd, 0x4d, 0x3e, 0x3a, 0x96, 0xf3, + 0x20, 0xd3, 0xe4, 0x91, 0x1e, 0x64, 0x52, 0x57, 0xe1, 0x14, 0x71, 0xb0, 0x37, 0x71, 0xe0, 0x59, + 0x9d, 0x75, 0xec, 0x77, 0x3c, 0xcb, 0x0d, 0x9c, 0x10, 0x2e, 0xa5, 0xea, 0x70, 0x3a, 0x27, 0x9f, + 0xab, 0xfb, 0x6d, 0x98, 0x31, 0xa3, 0xe4, 0xac, 0x7d, 0xa6, 0x24, 0xaf, 0x16, 0x67, 0x50, 0x3f, + 0x80, 0x5a, 0x92, 0x20, 0x73, 0xff, 0x06, 0x41, 0x69, 0x1f, 0xf7, 0x5c, 0x71, 0xfb, 0x8d, 0xfc, + 0x26, 0x5a, 0x67, 0xb1, 0xcb, 0x43, 0x7c, 0x20, 0x4e, 0x30, 0x2a, 0x34, 0xe5, 0x0b, 0xf8, 0x20, + 0x6c, 0x9b, 0xf4, 0x42, 0x88, 0x67, 0x75, 0x92, 0x6d, 0xcb, 0xc8, 0x8f, 0xda, 0x46, 0xba, 0xad, + 0xcf, 0x92, 0x79, 0xdb, 0x4e, 0xe7, 0xbe, 0x3e, 0x42, 0x79, 0xc1, 0x75, 0x4c, 0xfe, 0x5b, 0xfd, + 0xae, 0x02, 0x0b, 0x29, 0x8a, 0x31, 0x4f, 0xa5, 0x5e, 0x82, 0x69, 0x51, 0x6e, 0x21, 0x0d, 0x41, + 0x66, 0xb2, 0x34, 0x41, 0x82, 0x9a, 0xb0, 0x10, 0x8d, 0x68, 0xc1, 0x57, 0x4c, 0xf7, 0x45, 0x3c, + 0x70, 0xa1, 0xd5, 0xad, 0x75, 0x12, 0x29, 0x6a, 0x07, 0x6a, 0x49, 0xaa, 0x71, 0xe6, 0xd4, 0xa1, + 0xea, 0xab, 0xfe, 0x9d, 0x02, 0x53, 0x2c, 0x2d, 0xb3, 0xb3, 0xa5, 0xe5, 0xa0, 0x90, 0x5c, 0x0e, + 0x5e, 0x87, 0x19, 0x26, 0x47, 0x0f, 0xef, 0x3e, 0xce, 0xc9, 0x7b, 0xef, 0x4c, 0x34, 0x9d, 0xad, + 0xd0, 0x0f, 0x7f, 0x93, 0x66, 0xb0, 0xf1, 0x42, 0x23, 0x13, 0x01, 0x34, 0x9f, 0xa1, 0x69, 0xd4, + 0xe4, 0x12, 0x97, 0x99, 0xc7, 0x30, 0x23, 0x6c, 0x33, 0xdf, 0xda, 0x5a, 0xa2, 0xef, 0x5d, 0xa6, + 0x36, 0x98, 0xd5, 0x1d, 0xfa, 0x20, 0x65, 0x7a, 0x63, 0x18, 0xbd, 0x21, 0x03, 0x13, 0x9e, 0x4b, + 0x61, 0x03, 0x24, 0xb6, 0x81, 0xc7, 0x1e, 0x92, 0xe7, 0xf8, 0x84, 0x0f, 0xe1, 0x44, 0x2e, 0x0d, + 0x7a, 0x2b, 0x7c, 0xfd, 0xd7, 0xf4, 0xac, 0x47, 0x7c, 0x63, 0x61, 0x4e, 0x7e, 0x69, 0x64, 0x8d, + 0x12, 0xac, 0xd3, 0x7c, 0xf1, 0x2e, 0x30, 0xfb, 0xba, 0xf8, 0x3c, 0x94, 0xc5, 0x23, 0xff, 0x68, + 0x1a, 0x8a, 0x3b, 0x6b, 0xad, 0xda, 0x04, 0xf9, 0xb1, 0xbb, 0xde, 0xaa, 0x29, 0xa8, 0x0c, 0xa5, + 0xf6, 0xda, 0x4e, 0xab, 0x56, 0xb8, 0xd8, 0x87, 0x5a, 0xf2, 0x9d, 0x7b, 0xb4, 0x0c, 0xc7, 0x5a, + 0xda, 0x76, 0xab, 0x71, 0xaf, 0xb1, 0xd3, 0xdc, 0xde, 0xd2, 0x5b, 0x5a, 0xf3, 0xfd, 0xc6, 0xce, + 0x46, 0x6d, 0x02, 0x9d, 0x83, 0xd3, 0xf1, 0x8c, 0x77, 0xb7, 0xdb, 0x3b, 0xfa, 0xce, 0xb6, 0xbe, + 0xb6, 0xbd, 0xb5, 0xd3, 0x68, 0x6e, 0x6d, 0x68, 0x35, 0x05, 0x9d, 0x86, 0x13, 0x71, 0x92, 0x3b, + 0xcd, 0xf5, 0xa6, 0xb6, 0xb1, 0x46, 0x7e, 0x37, 0xee, 0xd7, 0x0a, 0x17, 0xdf, 0x82, 0xaa, 0x74, + 0x3d, 0x8a, 0x54, 0xa9, 0xb5, 0xbd, 0x5e, 0x9b, 0x40, 0x55, 0xa8, 0xc4, 0xe5, 0x94, 0xa1, 0xb4, + 0xb5, 0xbd, 0xbe, 0x51, 0x2b, 0x20, 0x80, 0xa9, 0x9d, 0x86, 0x76, 0x6f, 0x63, 0xa7, 0x56, 0xbc, + 0xf8, 0x32, 0xac, 0xe4, 0x5d, 0x13, 0x44, 0x15, 0x98, 0xdc, 0xc4, 0x5e, 0x17, 0xd7, 0x26, 0x08, + 0x4b, 0x9b, 0x8c, 0x92, 0xa0, 0xa6, 0x5c, 0xbc, 0x95, 0x7c, 0x1c, 0x07, 0xa3, 0x05, 0xa8, 0xb6, + 0x1b, 0x5b, 0xeb, 0x77, 0xb6, 0xbf, 0xac, 0x6b, 0x1b, 0x8d, 0xf5, 0x0f, 0x6a, 0x13, 0x68, 0x11, + 0x6a, 0x22, 0x69, 0x6b, 0x7b, 0x87, 0xa5, 0x2a, 0x17, 0x1f, 0x26, 0xc2, 0x5c, 0x8c, 0x8e, 0xc3, + 0x42, 0x58, 0x4b, 0x7d, 0x4d, 0xdb, 0x68, 0xec, 0x6c, 0x90, 0xca, 0x4b, 0xc9, 0xda, 0xee, 0xd6, + 0x56, 0x73, 0xeb, 0x5e, 0x4d, 0x21, 0x52, 0xa3, 0xe4, 0x8d, 0x2f, 0x37, 0x09, 0x71, 0x41, 0x26, + 0xde, 0xdd, 0xfa, 0xc2, 0xd6, 0xf6, 0x97, 0xb6, 0x6a, 0xc5, 0x8b, 0xbf, 0x14, 0xc7, 0xe1, 0x44, + 0x4b, 0xd1, 0x49, 0x58, 0x4e, 0x95, 0xa8, 0x6f, 0xbc, 0xbf, 0xb1, 0xb5, 0x53, 0x9b, 0x90, 0x33, + 0xdb, 0x3b, 0x0d, 0x2d, 0xca, 0x54, 0x92, 0x99, 0xdb, 0xad, 0x56, 0x98, 0x59, 0x90, 0x33, 0xd7, + 0x37, 0xee, 0x6f, 0x44, 0x9c, 0xc5, 0x8b, 0xcf, 0x02, 0x44, 0x53, 0x0e, 0xcd, 0xc0, 0xf4, 0xda, + 0xf6, 0xee, 0xd6, 0xce, 0x86, 0x56, 0x9b, 0x20, 0x5a, 0xbe, 0xd7, 0xd8, 0xbd, 0xb7, 0x51, 0x53, + 0x2e, 0x5e, 0x80, 0xd9, 0xf8, 0x00, 0x24, 0x74, 0xed, 0x0f, 0xda, 0x3b, 0x1b, 0x9b, 0x44, 0x23, + 0xb3, 0x50, 0x5e, 0xbb, 0xa7, 0x6d, 0xef, 0xb6, 0xee, 0xb6, 0x6b, 0xca, 0xb5, 0xff, 0x5d, 0x0c, + 0x37, 0xf5, 0xdb, 0xd8, 0xa3, 0xf7, 0x58, 0xd6, 0x61, 0x5a, 0xfc, 0x27, 0x0d, 0x69, 0xa3, 0x47, + 0xfe, 0xcf, 0x1f, 0xf5, 0x93, 0x99, 0x79, 0xdc, 0x95, 0x98, 0x40, 0xef, 0xd3, 0x63, 0x92, 0xd8, + 0xd3, 0x74, 0x67, 0x13, 0xbb, 0xe7, 0xa9, 0x17, 0xf0, 0xea, 0xe7, 0x86, 0x50, 0x84, 0x72, 0x3f, + 0x80, 0x39, 0xf9, 0x0d, 0x58, 0x74, 0x4e, 0xde, 0xdc, 0xcf, 0x78, 0x5e, 0xb6, 0xae, 0x0e, 0x23, + 0x09, 0x45, 0xeb, 0x50, 0x4b, 0xbe, 0x01, 0x8b, 0x24, 0x4c, 0x51, 0xce, 0x13, 0xb3, 0xf5, 0x67, + 0x87, 0x13, 0xc5, 0x0b, 0x48, 0x3d, 0x6d, 0xfa, 0xcc, 0xf0, 0xc7, 0x22, 0x33, 0x0a, 0xc8, 0x7b, + 0x51, 0x92, 0x29, 0x47, 0x5e, 0x68, 0x51, 0xe2, 0x35, 0xd1, 0x8c, 0x87, 0x07, 0x65, 0xe5, 0x64, + 0x3f, 0x3a, 0xa7, 0x4e, 0xa0, 0x9f, 0x83, 0xf9, 0xc4, 0x25, 0x05, 0x24, 0x31, 0x66, 0xdf, 0xbd, + 0xa8, 0x3f, 0x33, 0x94, 0x46, 0xee, 0xd5, 0xf8, 0x45, 0x84, 0x64, 0xaf, 0x66, 0x5c, 0x70, 0x48, + 0xf6, 0x6a, 0xe6, 0x3d, 0x06, 0x3a, 0x10, 0xa5, 0x4b, 0x07, 0xf2, 0x40, 0xcc, 0xba, 0xe4, 0x50, + 0x3f, 0x37, 0x84, 0x22, 0xae, 0x90, 0xc4, 0xb5, 0x03, 0x59, 0x21, 0xd9, 0x17, 0x1a, 0xea, 0xcf, + 0x0c, 0xa5, 0x49, 0xf6, 0x64, 0x84, 0x69, 0x4e, 0xf7, 0x64, 0x0a, 0x72, 0x9f, 0xee, 0xc9, 0x34, + 0x24, 0x9a, 0xf7, 0x64, 0x02, 0x85, 0xac, 0x0e, 0xc5, 0x35, 0x66, 0xf5, 0x64, 0x36, 0xf6, 0x51, + 0x9d, 0x40, 0x8f, 0x61, 0x25, 0x0f, 0x77, 0x86, 0x5e, 0x3c, 0x04, 0x3c, 0xae, 0xfe, 0xd2, 0x78, + 0xc4, 0x61, 0xc1, 0x18, 0x50, 0x3a, 0xe2, 0x42, 0xcf, 0xc9, 0xea, 0xce, 0x89, 0xe8, 0xea, 0xcf, + 0x8f, 0x22, 0x0b, 0x8b, 0xb9, 0x07, 0x65, 0x81, 0x68, 0x43, 0x92, 0x09, 0x4c, 0x20, 0xe9, 0xea, + 0xa7, 0xb2, 0x33, 0x43, 0x41, 0x6f, 0x40, 0x89, 0xa4, 0xa2, 0xe5, 0x24, 0x9d, 0x10, 0xb0, 0x92, + 0xce, 0x08, 0x99, 0x1b, 0x30, 0xc5, 0xa0, 0x5a, 0x48, 0x3a, 0x0b, 0x95, 0xa0, 0x64, 0xf5, 0x7a, + 0x56, 0x56, 0x28, 0xa2, 0xc5, 0xfe, 0x2f, 0x11, 0x47, 0x5e, 0xa1, 0xd5, 0xe4, 0xeb, 0xef, 0x32, + 0xc4, 0xab, 0x7e, 0x26, 0x37, 0x3f, 0x3e, 0x66, 0x13, 0x1b, 0xab, 0xe7, 0x86, 0x1c, 0x14, 0x64, + 0x8d, 0xd9, 0xec, 0xe3, 0x07, 0xd6, 0xb9, 0xe9, 0xe3, 0x09, 0xf4, 0x5c, 0xee, 0x78, 0x97, 0x8a, + 0x78, 0x7e, 0x14, 0x59, 0x7c, 0x6a, 0x24, 0x9f, 0x71, 0x53, 0x87, 0x3d, 0xb1, 0x98, 0x35, 0x35, + 0x72, 0x9e, 0x6e, 0x54, 0x27, 0xd0, 0x3e, 0x1c, 0xcb, 0x78, 0xdb, 0x11, 0x3d, 0x9f, 0x6f, 0x7f, + 0xa5, 0x52, 0x5e, 0x18, 0x49, 0x17, 0x2f, 0x29, 0x03, 0x34, 0x21, 0x97, 0x94, 0x8f, 0xda, 0x90, + 0x4b, 0x1a, 0x86, 0xbe, 0xa0, 0x03, 0x91, 0xdb, 0x90, 0x13, 0x59, 0x67, 0xec, 0x19, 0x03, 0x31, + 0x65, 0x31, 0xf6, 0xe1, 0x58, 0xc6, 0xae, 0x84, 0x5c, 0xd9, 0xfc, 0xdd, 0x12, 0xb9, 0xb2, 0xc3, + 0xb6, 0x37, 0x26, 0xd0, 0x87, 0x80, 0xee, 0xe1, 0x40, 0x76, 0xe5, 0x7c, 0x24, 0x4d, 0xd4, 0xe4, + 0x06, 0x48, 0xce, 0xf8, 0x94, 0x76, 0x42, 0xd4, 0x89, 0xab, 0x0a, 0xb2, 0xd9, 0x3d, 0xa8, 0x54, + 0xfc, 0x8e, 0xce, 0x27, 0xbb, 0x2d, 0x6f, 0x0b, 0xa0, 0x7e, 0x61, 0x0c, 0xca, 0xb0, 0x2d, 0x76, + 0xf2, 0x1d, 0x61, 0x11, 0x42, 0x9e, 0xcf, 0x1f, 0x26, 0x72, 0x58, 0x9e, 0x2e, 0x2f, 0x37, 0x40, + 0x0f, 0xfd, 0xb9, 0xd8, 0x60, 0x3a, 0x9b, 0x0f, 0xe1, 0xc9, 0xf1, 0xe7, 0xb2, 0x06, 0xd0, 0xb5, + 0xdf, 0x29, 0xc2, 0x2c, 0x83, 0x3a, 0x71, 0xf7, 0x73, 0x13, 0x20, 0x82, 0x14, 0xa2, 0xd3, 0xc9, + 0x3a, 0x4a, 0x20, 0xce, 0xfa, 0x6a, 0x5e, 0x76, 0xdc, 0xcc, 0xc5, 0xa0, 0x7a, 0xb2, 0x99, 0x4b, + 0x23, 0x0f, 0x65, 0x33, 0x97, 0x81, 0xf1, 0x53, 0x27, 0xd0, 0x7b, 0x50, 0x09, 0x91, 0x61, 0xf2, + 0xe0, 0x49, 0x42, 0xdc, 0xea, 0xa7, 0x73, 0x72, 0xe3, 0xb5, 0x8b, 0x61, 0xba, 0xe4, 0xda, 0xa5, + 0xf1, 0x62, 0x72, 0xed, 0xb2, 0xc0, 0x60, 0x51, 0x7b, 0x19, 0x8e, 0x20, 0xa3, 0xbd, 0x12, 0xae, + 0x24, 0xa3, 0xbd, 0x32, 0x00, 0x41, 0x9d, 0xb8, 0x73, 0xfb, 0x07, 0x3f, 0x5e, 0x55, 0x7e, 0xf8, + 0xe3, 0xd5, 0x89, 0x5f, 0xfc, 0x78, 0x55, 0xf9, 0xc1, 0xc7, 0xab, 0xca, 0x3f, 0x7d, 0xbc, 0xaa, + 0xfc, 0xe8, 0xe3, 0x55, 0xe5, 0x9b, 0xff, 0xbe, 0x3a, 0xf1, 0xa1, 0xfa, 0xf0, 0x86, 0x7f, 0xd9, + 0x72, 0xae, 0x74, 0x3c, 0xeb, 0x92, 0xe1, 0x5a, 0x57, 0xdc, 0x87, 0xdd, 0x2b, 0x86, 0x6b, 0xf9, + 0x57, 0xb8, 0xdc, 0x2b, 0x8f, 0x5e, 0x7e, 0x30, 0x45, 0xff, 0x97, 0xdd, 0x2b, 0xff, 0x17, 0x00, + 0x00, 0xff, 0xff, 0x69, 0x02, 0xcf, 0x67, 0x85, 0x70, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -12308,6 +12538,13 @@ func (m *Mount) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ImageRef) > 0 { + i -= len(m.ImageRef) + copy(dAtA[i:], m.ImageRef) + i = encodeVarintApi(dAtA, i, uint64(len(m.ImageRef))) + i-- + dAtA[i] = 0x4a + } if m.RecursiveReadOnly { i-- if m.RecursiveReadOnly { @@ -12587,6 +12824,11 @@ func (m *LinuxSandboxSecurityContext) MarshalToSizedBuffer(dAtA []byte) (int, er _ = i var l int _ = l + if m.SupplementalGroupsPolicy != 0 { + i = encodeVarintApi(dAtA, i, uint64(m.SupplementalGroupsPolicy)) + i-- + dAtA[i] = 0x58 + } if m.Apparmor != nil { { size, err := m.Apparmor.MarshalToSizedBuffer(dAtA[:i]) @@ -14687,6 +14929,27 @@ func (m *ImageSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.MountLabel) > 0 { + i -= len(m.MountLabel) + copy(dAtA[i:], m.MountLabel) + i = encodeVarintApi(dAtA, i, uint64(len(m.MountLabel))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xaa + } + if m.Mount { + i-- + if m.Mount { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 + } if len(m.RuntimeHandler) > 0 { i -= len(m.RuntimeHandler) copy(dAtA[i:], m.RuntimeHandler) @@ -15027,6 +15290,13 @@ func (m *LinuxContainerSecurityContext) MarshalToSizedBuffer(dAtA []byte) (int, _ = i var l int _ = l + if m.SupplementalGroupsPolicy != 0 { + i = encodeVarintApi(dAtA, i, uint64(m.SupplementalGroupsPolicy)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 + } if m.Apparmor != nil { { size, err := m.Apparmor.MarshalToSizedBuffer(dAtA[:i]) @@ -15251,6 +15521,58 @@ func (m *LinuxContainerConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *LinuxContainerUser) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *LinuxContainerUser) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *LinuxContainerUser) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SupplementalGroups) > 0 { + dAtA65 := make([]byte, len(m.SupplementalGroups)*10) + var j64 int + for _, num1 := range m.SupplementalGroups { + num := uint64(num1) + for num >= 1<<7 { + dAtA65[j64] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j64++ + } + dAtA65[j64] = uint8(num) + j64++ + } + i -= j64 + copy(dAtA[i:], dAtA65[:j64]) + i = encodeVarintApi(dAtA, i, uint64(j64)) + i-- + dAtA[i] = 0x1a + } + if m.Gid != 0 { + i = encodeVarintApi(dAtA, i, uint64(m.Gid)) + i-- + dAtA[i] = 0x10 + } + if m.Uid != 0 { + i = encodeVarintApi(dAtA, i, uint64(m.Uid)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *WindowsNamespaceOption) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -16454,6 +16776,20 @@ func (m *ContainerStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.User != nil { + { + size, err := m.User.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintApi(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } if len(m.ImageId) > 0 { i -= len(m.ImageId) copy(dAtA[i:], m.ImageId) @@ -16717,6 +17053,41 @@ func (m *ContainerResources) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *ContainerUser) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ContainerUser) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ContainerUser) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Linux != nil { + { + size, err := m.Linux.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintApi(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *UpdateContainerResourcesRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -17129,21 +17500,21 @@ func (m *PortForwardRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.Port) > 0 { - dAtA87 := make([]byte, len(m.Port)*10) - var j86 int + dAtA91 := make([]byte, len(m.Port)*10) + var j90 int for _, num1 := range m.Port { num := uint64(num1) for num >= 1<<7 { - dAtA87[j86] = uint8(uint64(num)&0x7f | 0x80) + dAtA91[j90] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j86++ + j90++ } - dAtA87[j86] = uint8(num) - j86++ + dAtA91[j90] = uint8(num) + j90++ } - i -= j86 - copy(dAtA[i:], dAtA87[:j86]) - i = encodeVarintApi(dAtA, i, uint64(j86)) + i -= j90 + copy(dAtA[i:], dAtA91[:j90]) + i = encodeVarintApi(dAtA, i, uint64(j90)) i-- dAtA[i] = 0x12 } @@ -17277,6 +17648,13 @@ func (m *Image) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.MountRef) > 0 { + i -= len(m.MountRef) + copy(dAtA[i:], m.MountRef) + i = encodeVarintApi(dAtA, i, uint64(len(m.MountRef))) + i-- + dAtA[i] = 0x4a + } if m.Pinned { i-- if m.Pinned { @@ -17631,6 +18009,13 @@ func (m *PullImageResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.MountRef) > 0 { + i -= len(m.MountRef) + copy(dAtA[i:], m.MountRef) + i = encodeVarintApi(dAtA, i, uint64(len(m.MountRef))) + i-- + dAtA[i] = 0x12 + } if len(m.ImageRef) > 0 { i -= len(m.ImageRef) copy(dAtA[i:], m.ImageRef) @@ -19864,6 +20249,10 @@ func (m *Mount) Size() (n int) { if m.RecursiveReadOnly { n += 2 } + l = len(m.ImageRef) + if l > 0 { + n += 1 + l + sovApi(uint64(l)) + } return n } @@ -19994,6 +20383,9 @@ func (m *LinuxSandboxSecurityContext) Size() (n int) { l = m.Apparmor.Size() n += 1 + l + sovApi(uint64(l)) } + if m.SupplementalGroupsPolicy != 0 { + n += 1 + sovApi(uint64(m.SupplementalGroupsPolicy)) + } return n } @@ -20813,6 +21205,13 @@ func (m *ImageSpec) Size() (n int) { if l > 0 { n += 2 + l + sovApi(uint64(l)) } + if m.Mount { + n += 3 + } + l = len(m.MountLabel) + if l > 0 { + n += 2 + l + sovApi(uint64(l)) + } return n } @@ -21024,6 +21423,9 @@ func (m *LinuxContainerSecurityContext) Size() (n int) { l = m.Apparmor.Size() n += 2 + l + sovApi(uint64(l)) } + if m.SupplementalGroupsPolicy != 0 { + n += 2 + sovApi(uint64(m.SupplementalGroupsPolicy)) + } return n } @@ -21044,6 +21446,28 @@ func (m *LinuxContainerConfig) Size() (n int) { return n } +func (m *LinuxContainerUser) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Uid != 0 { + n += 1 + sovApi(uint64(m.Uid)) + } + if m.Gid != 0 { + n += 1 + sovApi(uint64(m.Gid)) + } + if len(m.SupplementalGroups) > 0 { + l = 0 + for _, e := range m.SupplementalGroups { + l += sovApi(uint64(e)) + } + n += 1 + sovApi(uint64(l)) + l + } + return n +} + func (m *WindowsNamespaceOption) Size() (n int) { if m == nil { return 0 @@ -21620,6 +22044,10 @@ func (m *ContainerStatus) Size() (n int) { if l > 0 { n += 2 + l + sovApi(uint64(l)) } + if m.User != nil { + l = m.User.Size() + n += 2 + l + sovApi(uint64(l)) + } return n } @@ -21661,6 +22089,19 @@ func (m *ContainerResources) Size() (n int) { return n } +func (m *ContainerUser) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Linux != nil { + l = m.Linux.Size() + n += 1 + l + sovApi(uint64(l)) + } + return n +} + func (m *UpdateContainerResourcesRequest) Size() (n int) { if m == nil { return 0 @@ -21922,6 +22363,10 @@ func (m *Image) Size() (n int) { if m.Pinned { n += 2 } + l = len(m.MountRef) + if l > 0 { + n += 1 + l + sovApi(uint64(l)) + } return n } @@ -22041,6 +22486,10 @@ func (m *PullImageResponse) Size() (n int) { if l > 0 { n += 1 + l + sovApi(uint64(l)) } + l = len(m.MountRef) + if l > 0 { + n += 1 + l + sovApi(uint64(l)) + } return n } @@ -22957,6 +23406,7 @@ func (this *Mount) String() string { `UidMappings:` + repeatedStringForUidMappings + `,`, `GidMappings:` + repeatedStringForGidMappings + `,`, `RecursiveReadOnly:` + fmt.Sprintf("%v", this.RecursiveReadOnly) + `,`, + `ImageRef:` + fmt.Sprintf("%v", this.ImageRef) + `,`, `}`, }, "") return s @@ -23034,6 +23484,7 @@ func (this *LinuxSandboxSecurityContext) String() string { `RunAsGroup:` + strings.Replace(this.RunAsGroup.String(), "Int64Value", "Int64Value", 1) + `,`, `Seccomp:` + strings.Replace(this.Seccomp.String(), "SecurityProfile", "SecurityProfile", 1) + `,`, `Apparmor:` + strings.Replace(this.Apparmor.String(), "SecurityProfile", "SecurityProfile", 1) + `,`, + `SupplementalGroupsPolicy:` + fmt.Sprintf("%v", this.SupplementalGroupsPolicy) + `,`, `}`, }, "") return s @@ -23656,6 +24107,8 @@ func (this *ImageSpec) String() string { `Annotations:` + mapStringForAnnotations + `,`, `UserSpecifiedImage:` + fmt.Sprintf("%v", this.UserSpecifiedImage) + `,`, `RuntimeHandler:` + fmt.Sprintf("%v", this.RuntimeHandler) + `,`, + `Mount:` + fmt.Sprintf("%v", this.Mount) + `,`, + `MountLabel:` + fmt.Sprintf("%v", this.MountLabel) + `,`, `}`, }, "") return s @@ -23762,6 +24215,7 @@ func (this *LinuxContainerSecurityContext) String() string { `ReadonlyPaths:` + fmt.Sprintf("%v", this.ReadonlyPaths) + `,`, `Seccomp:` + strings.Replace(this.Seccomp.String(), "SecurityProfile", "SecurityProfile", 1) + `,`, `Apparmor:` + strings.Replace(this.Apparmor.String(), "SecurityProfile", "SecurityProfile", 1) + `,`, + `SupplementalGroupsPolicy:` + fmt.Sprintf("%v", this.SupplementalGroupsPolicy) + `,`, `}`, }, "") return s @@ -23777,6 +24231,18 @@ func (this *LinuxContainerConfig) String() string { }, "") return s } +func (this *LinuxContainerUser) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&LinuxContainerUser{`, + `Uid:` + fmt.Sprintf("%v", this.Uid) + `,`, + `Gid:` + fmt.Sprintf("%v", this.Gid) + `,`, + `SupplementalGroups:` + fmt.Sprintf("%v", this.SupplementalGroups) + `,`, + `}`, + }, "") + return s +} func (this *WindowsNamespaceOption) String() string { if this == nil { return "nil" @@ -24181,6 +24647,7 @@ func (this *ContainerStatus) String() string { `LogPath:` + fmt.Sprintf("%v", this.LogPath) + `,`, `Resources:` + strings.Replace(this.Resources.String(), "ContainerResources", "ContainerResources", 1) + `,`, `ImageId:` + fmt.Sprintf("%v", this.ImageId) + `,`, + `User:` + strings.Replace(this.User.String(), "ContainerUser", "ContainerUser", 1) + `,`, `}`, }, "") return s @@ -24217,6 +24684,16 @@ func (this *ContainerResources) String() string { }, "") return s } +func (this *ContainerUser) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ContainerUser{`, + `Linux:` + strings.Replace(this.Linux.String(), "LinuxContainerUser", "LinuxContainerUser", 1) + `,`, + `}`, + }, "") + return s +} func (this *UpdateContainerResourcesRequest) String() string { if this == nil { return "nil" @@ -24376,6 +24853,7 @@ func (this *Image) String() string { `Username:` + fmt.Sprintf("%v", this.Username) + `,`, `Spec:` + strings.Replace(this.Spec.String(), "ImageSpec", "ImageSpec", 1) + `,`, `Pinned:` + fmt.Sprintf("%v", this.Pinned) + `,`, + `MountRef:` + fmt.Sprintf("%v", this.MountRef) + `,`, `}`, }, "") return s @@ -24460,6 +24938,7 @@ func (this *PullImageResponse) String() string { } s := strings.Join([]string{`&PullImageResponse{`, `ImageRef:` + fmt.Sprintf("%v", this.ImageRef) + `,`, + `MountRef:` + fmt.Sprintf("%v", this.MountRef) + `,`, `}`, }, "") return s @@ -25879,6 +26358,38 @@ func (m *Mount) Unmarshal(dAtA []byte) error { } } m.RecursiveReadOnly = bool(v != 0) + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageRef", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ImageRef = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) @@ -26781,6 +27292,25 @@ func (m *LinuxSandboxSecurityContext) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SupplementalGroupsPolicy", wireType) + } + m.SupplementalGroupsPolicy = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SupplementalGroupsPolicy |= SupplementalGroupsPolicy(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) @@ -33298,6 +33828,58 @@ func (m *ImageSpec) Unmarshal(dAtA []byte) error { } m.RuntimeHandler = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 20: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Mount", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Mount = bool(v != 0) + case 21: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MountLabel", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MountLabel = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) @@ -34824,6 +35406,25 @@ func (m *LinuxContainerSecurityContext) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SupplementalGroupsPolicy", wireType) + } + m.SupplementalGroupsPolicy = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SupplementalGroupsPolicy |= SupplementalGroupsPolicy(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) @@ -34967,6 +35568,170 @@ func (m *LinuxContainerConfig) Unmarshal(dAtA []byte) error { } return nil } +func (m *LinuxContainerUser) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: LinuxContainerUser: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LinuxContainerUser: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Uid", wireType) + } + m.Uid = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Uid |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Gid", wireType) + } + m.Gid = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Gid |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType == 0 { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SupplementalGroups = append(m.SupplementalGroups, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.SupplementalGroups) == 0 { + m.SupplementalGroups = make([]int64, 0, elementCount) + } + for iNdEx < postIndex { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SupplementalGroups = append(m.SupplementalGroups, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field SupplementalGroups", wireType) + } + default: + iNdEx = preIndex + skippy, err := skipApi(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthApi + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *WindowsNamespaceOption) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -39317,6 +40082,42 @@ func (m *ContainerStatus) Unmarshal(dAtA []byte) error { } m.ImageId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.User == nil { + m.User = &ContainerUser{} + } + if err := m.User.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) @@ -39673,6 +40474,92 @@ func (m *ContainerResources) Unmarshal(dAtA []byte) error { } return nil } +func (m *ContainerUser) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ContainerUser: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ContainerUser: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Linux", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Linux == nil { + m.Linux = &LinuxContainerUser{} + } + if err := m.Linux.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipApi(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthApi + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *UpdateContainerResourcesRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -41474,6 +42361,38 @@ func (m *Image) Unmarshal(dAtA []byte) error { } } m.Pinned = bool(v != 0) + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MountRef", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MountRef = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) @@ -42359,6 +43278,38 @@ func (m *PullImageResponse) Unmarshal(dAtA []byte) error { } m.ImageRef = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MountRef", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MountRef = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) diff --git a/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.proto b/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.proto index d707716cbd..a38e45580d 100644 --- a/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.proto +++ b/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.proto @@ -244,6 +244,9 @@ message Mount { // - when set to true, readonly must be explicitly set to true, and propagation must be PRIVATE (0). // - (readonly == false && recursive_read_only == false) does not make the mount read-only. bool recursive_read_only = 8; + // Mount an image reference (image ID or digest), which is a special use + // case for OCI volume mounts. + string image_ref = 9; } // IDMapping describes host to container ID mappings for a pod sandbox. @@ -321,6 +324,20 @@ message NamespaceOption { UserNamespace userns_options = 5; } +// SupplementalGroupsPolicy defines how supplemental groups +// of the first container processes are calculated. +enum SupplementalGroupsPolicy { + // Merge means that the container's provided SupplementalGroups + // and FsGroup (specified in SecurityContext) will be merged with + // the primary user's groups as defined in the container image + // (in /etc/group). + Merge = 0; + // Strict means that the container's provided SupplementalGroups + // and FsGroup (specified in SecurityContext) will be used instead of + // any groups defined in the container image. + Strict = 1; +} + // Int64Value is the wrapper of int64. message Int64Value { // The value. @@ -345,13 +362,14 @@ message LinuxSandboxSecurityContext { Int64Value run_as_group = 8; // If set, the root filesystem of the sandbox is read-only. bool readonly_rootfs = 4; - // List of groups applied to the first process run in the sandbox, in - // addition to the sandbox's primary GID, and group memberships defined - // in the container image for the sandbox's primary UID of the container process. - // If the list is empty, no additional groups are added to any container. - // Note that group memberships defined in the container image for the sandbox's primary UID - // of the container process are still effective, even if they are not included in this list. + // List of groups applied to the first process run in each container. + // supplemental_groups_policy can control how groups will be calculated. repeated int64 supplemental_groups = 5; + // supplemental_groups_policy defines how supplemental groups of the first + // container processes are calculated. + // Valid values are "Merge" and "Strict". + // If not specified, "Merge" is used. + SupplementalGroupsPolicy supplemental_groups_policy = 11; // Indicates whether the sandbox will be asked to run a privileged // container. If a privileged container is to be executed within it, this // MUST be true. @@ -795,6 +813,11 @@ message ImageSpec { // If the runtime handler is unknown, the request should be rejected. // An empty string would select the default runtime handler. string runtime_handler = 19; + // Mount indicates that the OCI object (image or artifact) should be mounted. + // This can be done either as local host path or image ref (id or digest). + bool mount = 20; + // MountLabel is the SELinux label to be used. + string mount_label = 21; } message KeyValue { @@ -905,13 +928,14 @@ message LinuxContainerSecurityContext { string run_as_username = 6; // If set, the root filesystem of the container is read-only. bool readonly_rootfs = 7; - // List of groups applied to the first process run in the container, in - // addition to the container's primary GID, and group memberships defined - // in the container image for the container's primary UID of the container process. - // If the list is empty, no additional groups are added to any container. - // Note that group memberships defined in the container image for the container's primary UID - // of the container process are still effective, even if they are not included in this list. + // List of groups applied to the first process run in each container. + // supplemental_groups_policy can control how groups will be calculated. repeated int64 supplemental_groups = 8; + // supplemental_groups_policy defines how supplemental groups of the first + // container processes are calculated. + // Valid values are "Merge" and "Strict". + // If not specified, "Merge" is used. + SupplementalGroupsPolicy supplemental_groups_policy = 17; // no_new_privs defines if the flag for no_new_privs should be set on the // container. bool no_new_privs = 11; @@ -950,6 +974,15 @@ message LinuxContainerConfig { LinuxContainerSecurityContext security_context = 2; } +message LinuxContainerUser { + // uid is the primary uid initially attached to the first process in the container + int64 uid = 1; + // gid is the primary gid initially attached to the first process in the container + int64 gid = 2; + // supplemental_groups are the supplemental groups initially attached to the first process in the container + repeated int64 supplemental_groups = 3; +} + // WindowsNamespaceOption provides options for Windows namespaces. message WindowsNamespaceOption { // Network namespace for this container/sandbox. @@ -1286,6 +1319,8 @@ message ContainerStatus { // misusage, we now introduce the image_id field, which should always refer // to a unique image identifier on the node. string image_id = 17; + // User identities initially attached to the container + ContainerUser user = 18; } message ContainerStatusResponse { @@ -1306,6 +1341,17 @@ message ContainerResources { WindowsContainerResources windows = 2; } +message ContainerUser { + // User identities initially attached to first process in the Linux container. + // Note that the actual running identity can be changed if the process has enough privilege to do so. + LinuxContainerUser linux = 1; + + // User identities initially attached to first process in the Windows container + // This is just reserved for future use. + // WindowsContainerUser windows = 2; +} + + message UpdateContainerResourcesRequest { // ID of the container to update. string container_id = 1; @@ -1443,6 +1489,8 @@ message Image { // It must only be treated as a recommendation -- the client can still request that the image be deleted, // and the runtime must oblige. bool pinned = 8; + // Reference to a local path on disk if mounted. + string mount_ref = 9; } message ListImagesResponse { @@ -1493,6 +1541,8 @@ message PullImageResponse { // Reference to the image in use. For most runtimes, this should be an // image ID or digest. string image_ref = 1; + // Reference to a local path on disk if mounted. + string mount_ref = 2; } message RemoveImageRequest { diff --git a/vendor/k8s.io/cri-api/pkg/apis/services.go b/vendor/k8s.io/cri-api/pkg/apis/services.go index e6c0bfebc5..d90d02b089 100644 --- a/vendor/k8s.io/cri-api/pkg/apis/services.go +++ b/vendor/k8s.io/cri-api/pkg/apis/services.go @@ -128,7 +128,10 @@ type ImageManagerService interface { // ImageStatus returns the status of the image. ImageStatus(ctx context.Context, image *runtimeapi.ImageSpec, verbose bool) (*runtimeapi.ImageStatusResponse, error) // PullImage pulls an image with the authentication config. + // Deprecated: Use PullImageResponse instead PullImage(ctx context.Context, image *runtimeapi.ImageSpec, auth *runtimeapi.AuthConfig, podSandboxConfig *runtimeapi.PodSandboxConfig) (string, error) + // PullImageFullResponse pulls an image with the authentication config and returns the full PullImageResponse instead of just the reference. + PullImageFullResponse(ctx context.Context, image *runtimeapi.ImageSpec, auth *runtimeapi.AuthConfig, podSandboxConfig *runtimeapi.PodSandboxConfig) (*runtimeapi.PullImageResponse, error) // RemoveImage removes the image. RemoveImage(ctx context.Context, image *runtimeapi.ImageSpec) error // ImageFsInfo returns information of the filesystem(s) used to store the read-only layers and the writeable layer. diff --git a/vendor/k8s.io/cri-client/pkg/remote_image.go b/vendor/k8s.io/cri-client/pkg/remote_image.go index b067697766..ea9c2bae6e 100644 --- a/vendor/k8s.io/cri-client/pkg/remote_image.go +++ b/vendor/k8s.io/cri-client/pkg/remote_image.go @@ -181,10 +181,22 @@ func (r *remoteImageService) PullImage(ctx context.Context, image *runtimeapi.Im ctx, cancel := context.WithCancel(ctx) defer cancel() + resp, err := r.pullImageV1(ctx, image, auth, podSandboxConfig) + if err != nil { + return "", err + } + return resp.ImageRef, nil +} + +// PullImageFullResponse pulls an image with the authentication config and returns the full PullImageResponse instead of just the reference. +func (r *remoteImageService) PullImageFullResponse(ctx context.Context, image *runtimeapi.ImageSpec, auth *runtimeapi.AuthConfig, podSandboxConfig *runtimeapi.PodSandboxConfig) (*runtimeapi.PullImageResponse, error) { + ctx, cancel := context.WithCancel(ctx) + defer cancel() + return r.pullImageV1(ctx, image, auth, podSandboxConfig) } -func (r *remoteImageService) pullImageV1(ctx context.Context, image *runtimeapi.ImageSpec, auth *runtimeapi.AuthConfig, podSandboxConfig *runtimeapi.PodSandboxConfig) (string, error) { +func (r *remoteImageService) pullImageV1(ctx context.Context, image *runtimeapi.ImageSpec, auth *runtimeapi.AuthConfig, podSandboxConfig *runtimeapi.PodSandboxConfig) (*runtimeapi.PullImageResponse, error) { resp, err := r.imageClient.PullImage(ctx, &runtimeapi.PullImageRequest{ Image: image, Auth: auth, @@ -200,19 +212,19 @@ func (r *remoteImageService) pullImageV1(ctx context.Context, image *runtimeapi. // works in `imageManager.EnsureImageExists` (pkg/kubelet/images/image_manager.go). statusErr, ok := status.FromError(err) if ok && statusErr.Code() == codes.Unknown { - return "", errors.New(statusErr.Message()) + return nil, errors.New(statusErr.Message()) } - return "", err + return nil, err } if resp.ImageRef == "" { r.logErr(errors.New("PullImage failed"), "ImageRef of image is not set", "image", image.Image) errorMessage := fmt.Sprintf("imageRef of image %q is not set", image.Image) - return "", errors.New(errorMessage) + return nil, errors.New(errorMessage) } - return resp.ImageRef, nil + return resp, nil } // RemoveImage removes the image. diff --git a/vendor/modules.txt b/vendor/modules.txt index 62e3e48de1..1962470a8f 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -536,11 +536,11 @@ k8s.io/component-base/metrics/prometheusextension k8s.io/component-base/tracing k8s.io/component-base/tracing/api/v1 k8s.io/component-base/version -# k8s.io/cri-api v0.31.0-alpha.0.0.20240528091733-69e407966029 +# k8s.io/cri-api v0.31.0-alpha.0.0.20240528091733-69e407966029 => github.com/saschagrunert/cri-api v0.0.0-20240626070245-e2da1ebabd88 ## explicit; go 1.22.0 k8s.io/cri-api/pkg/apis k8s.io/cri-api/pkg/apis/runtime/v1 -# k8s.io/cri-client v0.31.0-alpha.0.0.20240530211015-c9749ee02fc0 +# k8s.io/cri-client v0.31.0-alpha.0.0.20240530211015-c9749ee02fc0 => github.com/saschagrunert/cri-client v0.0.0-20240624095412-86c24439265a ## explicit; go 1.22.0 k8s.io/cri-client/pkg k8s.io/cri-client/pkg/internal @@ -582,3 +582,5 @@ sigs.k8s.io/structured-merge-diff/v4/value ## explicit; go 1.12 sigs.k8s.io/yaml sigs.k8s.io/yaml/goyaml.v2 +# k8s.io/cri-api => github.com/saschagrunert/cri-api v0.0.0-20240626070245-e2da1ebabd88 +# k8s.io/cri-client => github.com/saschagrunert/cri-client v0.0.0-20240624095412-86c24439265a